.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8022494C func_8022494C: /* 8022494C 002205AC 3C 80 80 42 */ lis r4, lbl_80423C38@ha /* 80224950 002205B0 38 00 00 00 */ li r0, 0 /* 80224954 002205B4 38 84 3C 38 */ addi r4, r4, lbl_80423C38@l /* 80224958 002205B8 90 03 00 00 */ stw r0, 0(r3) /* 8022495C 002205BC 90 83 00 0C */ stw r4, 0xc(r3) /* 80224960 002205C0 4E 80 00 20 */ blr .global func_80224964 func_80224964: /* 80224964 002205C4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80224968 002205C8 7C 08 02 A6 */ mflr r0 /* 8022496C 002205CC 90 01 00 24 */ stw r0, 0x24(r1) /* 80224970 002205D0 39 61 00 20 */ addi r11, r1, 0x20 /* 80224974 002205D4 4B FA 27 B5 */ bl _savegpr_27 /* 80224978 002205D8 80 C3 00 00 */ lwz r6, 0(r3) /* 8022497C 002205DC 7C 9B 23 78 */ mr r27, r4 /* 80224980 002205E0 7C BC 2B 78 */ mr r28, r5 /* 80224984 002205E4 2C 06 00 00 */ cmpwi r6, 0 /* 80224988 002205E8 40 82 00 0C */ bne lbl_80224994 /* 8022498C 002205EC 38 60 00 00 */ li r3, 0 /* 80224990 002205F0 48 00 00 58 */ b lbl_802249E8 lbl_80224994: /* 80224994 002205F4 83 E3 00 08 */ lwz r31, 8(r3) /* 80224998 002205F8 3B C6 00 10 */ addi r30, r6, 0x10 /* 8022499C 002205FC 3B A0 00 00 */ li r29, 0 /* 802249A0 00220600 48 00 00 3C */ b lbl_802249DC lbl_802249A4: /* 802249A4 00220604 80 1E 00 08 */ lwz r0, 8(r30) /* 802249A8 00220608 7C 00 E0 00 */ cmpw r0, r28 /* 802249AC 0022060C 40 82 00 24 */ bne lbl_802249D0 /* 802249B0 00220610 7F C3 F3 78 */ mr r3, r30 /* 802249B4 00220614 7F 64 DB 78 */ mr r4, r27 /* 802249B8 00220618 38 A0 00 04 */ li r5, 4 /* 802249BC 0022061C 4B FA 59 DD */ bl memcmp /* 802249C0 00220620 2C 03 00 00 */ cmpwi r3, 0 /* 802249C4 00220624 40 82 00 0C */ bne lbl_802249D0 /* 802249C8 00220628 7F C3 F3 78 */ mr r3, r30 /* 802249CC 0022062C 48 00 00 1C */ b lbl_802249E8 lbl_802249D0: /* 802249D0 00220630 80 1E 00 04 */ lwz r0, 4(r30) /* 802249D4 00220634 3B BD 00 01 */ addi r29, r29, 1 /* 802249D8 00220638 7F DE 02 14 */ add r30, r30, r0 lbl_802249DC: /* 802249DC 0022063C 7C 1D F8 00 */ cmpw r29, r31 /* 802249E0 00220640 41 80 FF C4 */ blt lbl_802249A4 /* 802249E4 00220644 38 60 00 00 */ li r3, 0 lbl_802249E8: /* 802249E8 00220648 39 61 00 20 */ addi r11, r1, 0x20 /* 802249EC 0022064C 4B FA 27 89 */ bl _restgpr_27 /* 802249F0 00220650 80 01 00 24 */ lwz r0, 0x24(r1) /* 802249F4 00220654 7C 08 03 A6 */ mtlr r0 /* 802249F8 00220658 38 21 00 20 */ addi r1, r1, 0x20 /* 802249FC 0022065C 4E 80 00 20 */ blr .global func_80224A00 func_80224A00: /* 80224A00 00220660 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80224A04 00220664 7C 08 02 A6 */ mflr r0 /* 80224A08 00220668 2C 04 00 00 */ cmpwi r4, 0 /* 80224A0C 0022066C 90 01 00 14 */ stw r0, 0x14(r1) /* 80224A10 00220670 93 E1 00 0C */ stw r31, 0xc(r1) /* 80224A14 00220674 7C 9F 23 78 */ mr r31, r4 /* 80224A18 00220678 93 C1 00 08 */ stw r30, 8(r1) /* 80224A1C 0022067C 7C 7E 1B 78 */ mr r30, r3 /* 80224A20 00220680 90 83 00 00 */ stw r4, 0(r3) /* 80224A24 00220684 40 82 00 0C */ bne lbl_80224A30 /* 80224A28 00220688 38 60 00 01 */ li r3, 1 /* 80224A2C 0022068C 48 00 00 6C */ b lbl_80224A98 lbl_80224A30: /* 80224A30 00220690 2C 05 00 00 */ cmpwi r5, 0 /* 80224A34 00220694 7F E3 FB 78 */ mr r3, r31 /* 80224A38 00220698 41 82 00 20 */ beq lbl_80224A58 /* 80224A3C 0022069C 7C A4 2B 78 */ mr r4, r5 /* 80224A40 002206A0 38 A0 00 04 */ li r5, 4 /* 80224A44 002206A4 4B FA 59 55 */ bl memcmp /* 80224A48 002206A8 2C 03 00 00 */ cmpwi r3, 0 /* 80224A4C 002206AC 41 82 00 0C */ beq lbl_80224A58 /* 80224A50 002206B0 38 60 00 00 */ li r3, 0 /* 80224A54 002206B4 48 00 00 44 */ b lbl_80224A98 lbl_80224A58: /* 80224A58 002206B8 38 00 00 00 */ li r0, 0 /* 80224A5C 002206BC 80 7E 00 00 */ lwz r3, 0(r30) /* 80224A60 002206C0 90 1E 00 08 */ stw r0, 8(r30) /* 80224A64 002206C4 38 A3 00 10 */ addi r5, r3, 0x10 /* 80224A68 002206C8 80 1F 00 04 */ lwz r0, 4(r31) /* 80224A6C 002206CC 7C C3 02 14 */ add r6, r3, r0 /* 80224A70 002206D0 90 DE 00 04 */ stw r6, 4(r30) /* 80224A74 002206D4 48 00 00 18 */ b lbl_80224A8C lbl_80224A78: /* 80224A78 002206D8 80 7E 00 08 */ lwz r3, 8(r30) /* 80224A7C 002206DC 80 85 00 04 */ lwz r4, 4(r5) /* 80224A80 002206E0 38 03 00 01 */ addi r0, r3, 1 /* 80224A84 002206E4 90 1E 00 08 */ stw r0, 8(r30) /* 80224A88 002206E8 7C A5 22 14 */ add r5, r5, r4 lbl_80224A8C: /* 80224A8C 002206EC 7C 06 28 40 */ cmplw r6, r5 /* 80224A90 002206F0 41 81 FF E8 */ bgt lbl_80224A78 /* 80224A94 002206F4 38 60 00 01 */ li r3, 1 lbl_80224A98: /* 80224A98 002206F8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80224A9C 002206FC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80224AA0 00220700 83 C1 00 08 */ lwz r30, 8(r1) /* 80224AA4 00220704 7C 08 03 A6 */ mtlr r0 /* 80224AA8 00220708 38 21 00 10 */ addi r1, r1, 0x10 /* 80224AAC 0022070C 4E 80 00 20 */ blr /* 80224AB0 00220710 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80224AB4 00220714 7C 08 02 A6 */ mflr r0 /* 80224AB8 00220718 2C 03 00 00 */ cmpwi r3, 0 /* 80224ABC 0022071C 90 01 00 14 */ stw r0, 0x14(r1) /* 80224AC0 00220720 93 E1 00 0C */ stw r31, 0xc(r1) /* 80224AC4 00220724 7C 7F 1B 78 */ mr r31, r3 /* 80224AC8 00220728 41 82 00 10 */ beq lbl_80224AD8 /* 80224ACC 0022072C 2C 04 00 00 */ cmpwi r4, 0 /* 80224AD0 00220730 40 81 00 08 */ ble lbl_80224AD8 /* 80224AD4 00220734 4B FB 5F E5 */ bl __dl__FPv lbl_80224AD8: /* 80224AD8 00220738 7F E3 FB 78 */ mr r3, r31 /* 80224ADC 0022073C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80224AE0 00220740 80 01 00 14 */ lwz r0, 0x14(r1) /* 80224AE4 00220744 7C 08 03 A6 */ mtlr r0 /* 80224AE8 00220748 38 21 00 10 */ addi r1, r1, 0x10 /* 80224AEC 0022074C 4E 80 00 20 */ blr .global func_80224AF0 func_80224AF0: /* 80224AF0 00220750 38 A0 00 01 */ li r5, 1 /* 80224AF4 00220754 38 6D A3 58 */ addi r3, r13, lbl_8063F618-_SDA_BASE_ /* 80224AF8 00220758 38 80 00 04 */ li r4, 4 /* 80224AFC 0022075C 38 00 00 00 */ li r0, 0 /* 80224B00 00220760 98 AD A3 58 */ stb r5, lbl_8063F618-_SDA_BASE_(r13) /* 80224B04 00220764 B0 83 00 02 */ sth r4, 2(r3) /* 80224B08 00220768 98 03 00 04 */ stb r0, 4(r3) /* 80224B0C 0022076C 4E 80 00 20 */ blr