diff options
Diffstat (limited to 'asm/text_8_8.s')
-rw-r--r-- | asm/text_8_8.s | 35740 |
1 files changed, 35740 insertions, 0 deletions
diff --git a/asm/text_8_8.s b/asm/text_8_8.s new file mode 100644 index 0000000..a033b2c --- /dev/null +++ b/asm/text_8_8.s @@ -0,0 +1,35740 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global func_802B38B0 +func_802B38B0: +/* 802B38B0 002AF510 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B38B4 002AF514 7C 08 02 A6 */ mflr r0 +/* 802B38B8 002AF518 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B38BC 002AF51C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B38C0 002AF520 80 0D AE 88 */ lwz r0, lbl_80640148-_SDA_BASE_(r13) +/* 802B38C4 002AF524 2C 00 00 00 */ cmpwi r0, 0 +/* 802B38C8 002AF528 41 82 00 0C */ beq lbl_802B38D4 +/* 802B38CC 002AF52C 38 60 00 01 */ li r3, 1 +/* 802B38D0 002AF530 48 00 00 C8 */ b lbl_802B3998 +lbl_802B38D4: +/* 802B38D4 002AF534 4B FB 4C 59 */ bl OSGetConsoleType +/* 802B38D8 002AF538 54 60 00 C7 */ rlwinm. r0, r3, 0, 3, 3 +/* 802B38DC 002AF53C 40 82 00 14 */ bne lbl_802B38F0 +/* 802B38E0 002AF540 38 00 00 02 */ li r0, 2 +/* 802B38E4 002AF544 38 60 00 00 */ li r3, 0 +/* 802B38E8 002AF548 90 0D AE 8C */ stw r0, lbl_8064014C-_SDA_BASE_(r13) +/* 802B38EC 002AF54C 48 00 00 AC */ b lbl_802B3998 +lbl_802B38F0: +/* 802B38F0 002AF550 4B FB AE 6D */ bl OSDisableInterrupts +/* 802B38F4 002AF554 38 00 00 F2 */ li r0, 0xf2 +/* 802B38F8 002AF558 7C 7F 1B 78 */ mr r31, r3 +/* 802B38FC 002AF55C 98 01 00 08 */ stb r0, 8(r1) +/* 802B3900 002AF560 38 C1 00 08 */ addi r6, r1, 8 +/* 802B3904 002AF564 38 60 00 00 */ li r3, 0 +/* 802B3908 002AF568 38 80 00 01 */ li r4, 1 +/* 802B390C 002AF56C 3C A0 B0 00 */ lis r5, 0xb000 +/* 802B3910 002AF570 38 E0 00 01 */ li r7, 1 +/* 802B3914 002AF574 4B FC 28 0D */ bl EXIWriteReg +/* 802B3918 002AF578 2C 03 00 00 */ cmpwi r3, 0 +/* 802B391C 002AF57C 40 82 00 1C */ bne lbl_802B3938 +/* 802B3920 002AF580 38 00 00 05 */ li r0, 5 +/* 802B3924 002AF584 7F E3 FB 78 */ mr r3, r31 +/* 802B3928 002AF588 90 0D AE 8C */ stw r0, lbl_8064014C-_SDA_BASE_(r13) +/* 802B392C 002AF58C 4B FB AE 59 */ bl OSRestoreInterrupts +/* 802B3930 002AF590 38 60 00 00 */ li r3, 0 +/* 802B3934 002AF594 48 00 00 64 */ b lbl_802B3998 +lbl_802B3938: +/* 802B3938 002AF598 38 00 00 F3 */ li r0, 0xf3 +/* 802B393C 002AF59C 38 C1 00 08 */ addi r6, r1, 8 +/* 802B3940 002AF5A0 98 01 00 08 */ stb r0, 8(r1) +/* 802B3944 002AF5A4 38 60 00 00 */ li r3, 0 +/* 802B3948 002AF5A8 38 80 00 01 */ li r4, 1 +/* 802B394C 002AF5AC 3C A0 B0 00 */ lis r5, 0xb000 +/* 802B3950 002AF5B0 38 E0 00 01 */ li r7, 1 +/* 802B3954 002AF5B4 4B FC 27 CD */ bl EXIWriteReg +/* 802B3958 002AF5B8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B395C 002AF5BC 40 82 00 1C */ bne lbl_802B3978 +/* 802B3960 002AF5C0 38 00 00 05 */ li r0, 5 +/* 802B3964 002AF5C4 7F E3 FB 78 */ mr r3, r31 +/* 802B3968 002AF5C8 90 0D AE 8C */ stw r0, lbl_8064014C-_SDA_BASE_(r13) +/* 802B396C 002AF5CC 4B FB AE 19 */ bl OSRestoreInterrupts +/* 802B3970 002AF5D0 38 60 00 00 */ li r3, 0 +/* 802B3974 002AF5D4 48 00 00 24 */ b lbl_802B3998 +lbl_802B3978: +/* 802B3978 002AF5D8 7F E3 FB 78 */ mr r3, r31 +/* 802B397C 002AF5DC 4B FB AE 09 */ bl OSRestoreInterrupts +/* 802B3980 002AF5E0 38 00 00 00 */ li r0, 0 +/* 802B3984 002AF5E4 38 60 00 01 */ li r3, 1 +/* 802B3988 002AF5E8 90 6D AE 88 */ stw r3, lbl_80640148-_SDA_BASE_(r13) +/* 802B398C 002AF5EC 38 60 00 01 */ li r3, 1 +/* 802B3990 002AF5F0 90 0D AE 8C */ stw r0, lbl_8064014C-_SDA_BASE_(r13) +/* 802B3994 002AF5F4 90 0D AE 90 */ stw r0, lbl_80640150-_SDA_BASE_(r13) +lbl_802B3998: +/* 802B3998 002AF5F8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B399C 002AF5FC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B39A0 002AF600 7C 08 03 A6 */ mtlr r0 +/* 802B39A4 002AF604 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B39A8 002AF608 4E 80 00 20 */ blr + +.global func_802B39AC +func_802B39AC: +/* 802B39AC 002AF60C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B39B0 002AF610 7C 08 02 A6 */ mflr r0 +/* 802B39B4 002AF614 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B39B8 002AF618 4B FB 4B 75 */ bl OSGetConsoleType +/* 802B39BC 002AF61C 54 60 00 C7 */ rlwinm. r0, r3, 0, 3, 3 +/* 802B39C0 002AF620 40 82 00 14 */ bne lbl_802B39D4 +/* 802B39C4 002AF624 38 00 00 00 */ li r0, 0 +/* 802B39C8 002AF628 38 60 00 02 */ li r3, 2 +/* 802B39CC 002AF62C 90 0D AE 94 */ stw r0, lbl_80640154-_SDA_BASE_(r13) +/* 802B39D0 002AF630 48 00 00 14 */ b lbl_802B39E4 +lbl_802B39D4: +/* 802B39D4 002AF634 3C 80 A5 FF */ lis r4, 0xA5FF005A@ha +/* 802B39D8 002AF638 38 60 00 00 */ li r3, 0 +/* 802B39DC 002AF63C 38 04 00 5A */ addi r0, r4, 0xA5FF005A@l +/* 802B39E0 002AF640 90 0D AE 94 */ stw r0, lbl_80640154-_SDA_BASE_(r13) +lbl_802B39E4: +/* 802B39E4 002AF644 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B39E8 002AF648 7C 08 03 A6 */ mtlr r0 +/* 802B39EC 002AF64C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B39F0 002AF650 4E 80 00 20 */ blr + +.global func_802B39F4 +func_802B39F4: +/* 802B39F4 002AF654 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B39F8 002AF658 7C 08 02 A6 */ mflr r0 +/* 802B39FC 002AF65C 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B3A00 002AF660 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B3A04 002AF664 4B F1 37 21 */ bl _savegpr_26 +/* 802B3A08 002AF668 80 AD AE 94 */ lwz r5, lbl_80640154-_SDA_BASE_(r13) +/* 802B3A0C 002AF66C 7C 7E 1B 78 */ mr r30, r3 +/* 802B3A10 002AF670 7C 9F 23 78 */ mr r31, r4 +/* 802B3A14 002AF674 3C 05 5A 01 */ addis r0, r5, 0x5a01 +/* 802B3A18 002AF678 28 00 00 5A */ cmplwi r0, 0x5a +/* 802B3A1C 002AF67C 41 82 00 0C */ beq lbl_802B3A28 +/* 802B3A20 002AF680 38 60 00 02 */ li r3, 2 +/* 802B3A24 002AF684 48 00 01 E4 */ b lbl_802B3C08 +lbl_802B3A28: +/* 802B3A28 002AF688 80 0D AE 88 */ lwz r0, lbl_80640148-_SDA_BASE_(r13) +/* 802B3A2C 002AF68C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B3A30 002AF690 40 82 00 18 */ bne lbl_802B3A48 +/* 802B3A34 002AF694 4B FF FE 7D */ bl func_802B38B0 +/* 802B3A38 002AF698 2C 03 00 00 */ cmpwi r3, 0 +/* 802B3A3C 002AF69C 40 82 00 0C */ bne lbl_802B3A48 +/* 802B3A40 002AF6A0 38 60 00 02 */ li r3, 2 +/* 802B3A44 002AF6A4 48 00 01 C4 */ b lbl_802B3C08 +lbl_802B3A48: +/* 802B3A48 002AF6A8 80 0D AE 88 */ lwz r0, lbl_80640148-_SDA_BASE_(r13) +/* 802B3A4C 002AF6AC 2C 00 00 00 */ cmpwi r0, 0 +/* 802B3A50 002AF6B0 40 82 00 14 */ bne lbl_802B3A64 +/* 802B3A54 002AF6B4 38 00 00 01 */ li r0, 1 +/* 802B3A58 002AF6B8 38 60 00 02 */ li r3, 2 +/* 802B3A5C 002AF6BC 90 0D AE 8C */ stw r0, lbl_8064014C-_SDA_BASE_(r13) +/* 802B3A60 002AF6C0 48 00 01 A8 */ b lbl_802B3C08 +lbl_802B3A64: +/* 802B3A64 002AF6C4 38 60 00 00 */ li r3, 0 +/* 802B3A68 002AF6C8 38 80 00 01 */ li r4, 1 +/* 802B3A6C 002AF6CC 38 A0 00 00 */ li r5, 0 +/* 802B3A70 002AF6D0 4B FC 1D D5 */ bl EXILock +/* 802B3A74 002AF6D4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B3A78 002AF6D8 40 82 00 0C */ bne lbl_802B3A84 +/* 802B3A7C 002AF6DC 38 60 00 00 */ li r3, 0 +/* 802B3A80 002AF6E0 48 00 01 88 */ b lbl_802B3C08 +lbl_802B3A84: +/* 802B3A84 002AF6E4 7F C4 F3 78 */ mr r4, r30 +/* 802B3A88 002AF6E8 38 60 00 0D */ li r3, 0xd +/* 802B3A8C 002AF6EC 48 00 00 18 */ b lbl_802B3AA4 +lbl_802B3A90: +/* 802B3A90 002AF6F0 88 04 00 00 */ lbz r0, 0(r4) +/* 802B3A94 002AF6F4 2C 00 00 0A */ cmpwi r0, 0xa +/* 802B3A98 002AF6F8 40 82 00 08 */ bne lbl_802B3AA0 +/* 802B3A9C 002AF6FC 98 64 00 00 */ stb r3, 0(r4) +lbl_802B3AA0: +/* 802B3AA0 002AF700 38 84 00 01 */ addi r4, r4, 1 +lbl_802B3AA4: +/* 802B3AA4 002AF704 7C 1E 20 50 */ subf r0, r30, r4 +/* 802B3AA8 002AF708 7C 00 F8 40 */ cmplw r0, r31 +/* 802B3AAC 002AF70C 41 80 FF E4 */ blt lbl_802B3A90 +/* 802B3AB0 002AF710 3C 60 B0 00 */ lis r3, 0xB0000100@ha +/* 802B3AB4 002AF714 83 82 A0 68 */ lwz r28, lbl_80642668-_SDA2_BASE_(r2) +/* 802B3AB8 002AF718 38 03 01 00 */ addi r0, r3, 0xB0000100@l +/* 802B3ABC 002AF71C 3B 40 00 00 */ li r26, 0 +/* 802B3AC0 002AF720 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B3AC4 002AF724 3F A0 30 00 */ lis r29, 0x3000 +/* 802B3AC8 002AF728 48 00 01 2C */ b lbl_802B3BF4 +lbl_802B3ACC: +/* 802B3ACC 002AF72C 7F 85 E3 78 */ mr r5, r28 +/* 802B3AD0 002AF730 38 60 00 00 */ li r3, 0 +/* 802B3AD4 002AF734 38 80 00 01 */ li r4, 1 +/* 802B3AD8 002AF738 4B FC 15 D9 */ bl EXISelect +/* 802B3ADC 002AF73C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B3AE0 002AF740 40 82 00 0C */ bne lbl_802B3AEC +/* 802B3AE4 002AF744 3B 60 FF FF */ li r27, -1 +/* 802B3AE8 002AF748 48 00 00 60 */ b lbl_802B3B48 +lbl_802B3AEC: +/* 802B3AEC 002AF74C 38 1D 01 00 */ addi r0, r29, 0x100 +/* 802B3AF0 002AF750 38 81 00 08 */ addi r4, r1, 8 +/* 802B3AF4 002AF754 90 01 00 08 */ stw r0, 8(r1) +/* 802B3AF8 002AF758 38 60 00 00 */ li r3, 0 +/* 802B3AFC 002AF75C 38 A0 00 04 */ li r5, 4 +/* 802B3B00 002AF760 38 C0 00 01 */ li r6, 1 +/* 802B3B04 002AF764 38 E0 00 00 */ li r7, 0 +/* 802B3B08 002AF768 4B FC 0B 41 */ bl EXIImm +/* 802B3B0C 002AF76C 38 60 00 00 */ li r3, 0 +/* 802B3B10 002AF770 4B FC 0F 51 */ bl EXISync +/* 802B3B14 002AF774 38 81 00 0C */ addi r4, r1, 0xc +/* 802B3B18 002AF778 38 60 00 00 */ li r3, 0 +/* 802B3B1C 002AF77C 38 A0 00 04 */ li r5, 4 +/* 802B3B20 002AF780 38 C0 00 00 */ li r6, 0 +/* 802B3B24 002AF784 38 E0 00 00 */ li r7, 0 +/* 802B3B28 002AF788 4B FC 0B 21 */ bl EXIImm +/* 802B3B2C 002AF78C 38 60 00 00 */ li r3, 0 +/* 802B3B30 002AF790 4B FC 0F 31 */ bl EXISync +/* 802B3B34 002AF794 38 60 00 00 */ li r3, 0 +/* 802B3B38 002AF798 4B FC 16 A9 */ bl EXIDeselect +/* 802B3B3C 002AF79C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 802B3B40 002AF7A0 54 00 46 BE */ rlwinm r0, r0, 8, 0x1a, 0x1f +/* 802B3B44 002AF7A4 23 60 00 20 */ subfic r27, r0, 0x20 +lbl_802B3B48: +/* 802B3B48 002AF7A8 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B3B4C 002AF7AC 40 80 00 0C */ bge lbl_802B3B58 +/* 802B3B50 002AF7B0 3B 40 00 03 */ li r26, 3 +/* 802B3B54 002AF7B4 48 00 00 A8 */ b lbl_802B3BFC +lbl_802B3B58: +/* 802B3B58 002AF7B8 2C 1B 00 20 */ cmpwi r27, 0x20 +/* 802B3B5C 002AF7BC 40 82 00 98 */ bne lbl_802B3BF4 +/* 802B3B60 002AF7C0 7F 85 E3 78 */ mr r5, r28 +/* 802B3B64 002AF7C4 38 60 00 00 */ li r3, 0 +/* 802B3B68 002AF7C8 38 80 00 01 */ li r4, 1 +/* 802B3B6C 002AF7CC 4B FC 15 45 */ bl EXISelect +/* 802B3B70 002AF7D0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B3B74 002AF7D4 40 82 00 0C */ bne lbl_802B3B80 +/* 802B3B78 002AF7D8 3B 40 00 03 */ li r26, 3 +/* 802B3B7C 002AF7DC 48 00 00 80 */ b lbl_802B3BFC +lbl_802B3B80: +/* 802B3B80 002AF7E0 38 81 00 14 */ addi r4, r1, 0x14 +/* 802B3B84 002AF7E4 38 60 00 00 */ li r3, 0 +/* 802B3B88 002AF7E8 38 A0 00 04 */ li r5, 4 +/* 802B3B8C 002AF7EC 38 C0 00 01 */ li r6, 1 +/* 802B3B90 002AF7F0 38 E0 00 00 */ li r7, 0 +/* 802B3B94 002AF7F4 4B FC 0A B5 */ bl EXIImm +/* 802B3B98 002AF7F8 38 60 00 00 */ li r3, 0 +/* 802B3B9C 002AF7FC 4B FC 0E C5 */ bl EXISync +/* 802B3BA0 002AF800 48 00 00 3C */ b lbl_802B3BDC +lbl_802B3BA4: +/* 802B3BA4 002AF804 88 1E 00 00 */ lbz r0, 0(r30) +/* 802B3BA8 002AF808 38 81 00 10 */ addi r4, r1, 0x10 +/* 802B3BAC 002AF80C 38 60 00 00 */ li r3, 0 +/* 802B3BB0 002AF810 38 A0 00 04 */ li r5, 4 +/* 802B3BB4 002AF814 54 00 C0 0E */ slwi r0, r0, 0x18 +/* 802B3BB8 002AF818 38 C0 00 01 */ li r6, 1 +/* 802B3BBC 002AF81C 90 01 00 10 */ stw r0, 0x10(r1) +/* 802B3BC0 002AF820 38 E0 00 00 */ li r7, 0 +/* 802B3BC4 002AF824 4B FC 0A 85 */ bl EXIImm +/* 802B3BC8 002AF828 38 60 00 00 */ li r3, 0 +/* 802B3BCC 002AF82C 4B FC 0E 95 */ bl EXISync +/* 802B3BD0 002AF830 3B DE 00 01 */ addi r30, r30, 1 +/* 802B3BD4 002AF834 3B 7B FF FF */ addi r27, r27, -1 +/* 802B3BD8 002AF838 3B FF FF FF */ addi r31, r31, -1 +lbl_802B3BDC: +/* 802B3BDC 002AF83C 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B3BE0 002AF840 40 81 00 0C */ ble lbl_802B3BEC +/* 802B3BE4 002AF844 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B3BE8 002AF848 40 82 FF BC */ bne lbl_802B3BA4 +lbl_802B3BEC: +/* 802B3BEC 002AF84C 38 60 00 00 */ li r3, 0 +/* 802B3BF0 002AF850 4B FC 15 F1 */ bl EXIDeselect +lbl_802B3BF4: +/* 802B3BF4 002AF854 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B3BF8 002AF858 40 82 FE D4 */ bne lbl_802B3ACC +lbl_802B3BFC: +/* 802B3BFC 002AF85C 38 60 00 00 */ li r3, 0 +/* 802B3C00 002AF860 4B FC 1D 41 */ bl EXIUnlock +/* 802B3C04 002AF864 7F 43 D3 78 */ mr r3, r26 +lbl_802B3C08: +/* 802B3C08 002AF868 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B3C0C 002AF86C 4B F1 35 65 */ bl _restgpr_26 +/* 802B3C10 002AF870 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B3C14 002AF874 7C 08 03 A6 */ mtlr r0 +/* 802B3C18 002AF878 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B3C1C 002AF87C 4E 80 00 20 */ blr + +.global func_802B3C20 +func_802B3C20: +/* 802B3C20 002AF880 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 802B3C24 002AF884 7C 08 02 A6 */ mflr r0 +/* 802B3C28 002AF888 90 01 00 84 */ stw r0, 0x84(r1) +/* 802B3C2C 002AF88C 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 802B3C30 002AF890 7C 7F 1B 78 */ mr r31, r3 +/* 802B3C34 002AF894 40 86 00 24 */ bne cr1, lbl_802B3C58 +/* 802B3C38 002AF898 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 802B3C3C 002AF89C D8 41 00 30 */ stfd f2, 0x30(r1) +/* 802B3C40 002AF8A0 D8 61 00 38 */ stfd f3, 0x38(r1) +/* 802B3C44 002AF8A4 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 802B3C48 002AF8A8 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 802B3C4C 002AF8AC D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 802B3C50 002AF8B0 D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 802B3C54 002AF8B4 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_802B3C58: +/* 802B3C58 002AF8B8 88 0D AE A0 */ lbz r0, lbl_80640160-_SDA_BASE_(r13) +/* 802B3C5C 002AF8BC 90 61 00 08 */ stw r3, 8(r1) +/* 802B3C60 002AF8C0 2C 00 00 00 */ cmpwi r0, 0 +/* 802B3C64 002AF8C4 90 81 00 0C */ stw r4, 0xc(r1) +/* 802B3C68 002AF8C8 90 A1 00 10 */ stw r5, 0x10(r1) +/* 802B3C6C 002AF8CC 90 C1 00 14 */ stw r6, 0x14(r1) +/* 802B3C70 002AF8D0 90 E1 00 18 */ stw r7, 0x18(r1) +/* 802B3C74 002AF8D4 91 01 00 1C */ stw r8, 0x1c(r1) +/* 802B3C78 002AF8D8 91 21 00 20 */ stw r9, 0x20(r1) +/* 802B3C7C 002AF8DC 91 41 00 24 */ stw r10, 0x24(r1) +/* 802B3C80 002AF8E0 41 82 00 34 */ beq lbl_802B3CB4 +/* 802B3C84 002AF8E4 38 6D 89 B4 */ addi r3, r13, lbl_8063DC74-_SDA_BASE_ +/* 802B3C88 002AF8E8 4C C6 31 82 */ crclr 6 +/* 802B3C8C 002AF8EC 4B D5 3E 39 */ bl func_80007AC4 +/* 802B3C90 002AF8F0 38 A1 00 88 */ addi r5, r1, 0x88 +/* 802B3C94 002AF8F4 38 01 00 08 */ addi r0, r1, 8 +/* 802B3C98 002AF8F8 3C 60 01 00 */ lis r3, 0x100 +/* 802B3C9C 002AF8FC 90 A1 00 6C */ stw r5, 0x6c(r1) +/* 802B3CA0 002AF900 38 81 00 68 */ addi r4, r1, 0x68 +/* 802B3CA4 002AF904 90 61 00 68 */ stw r3, 0x68(r1) +/* 802B3CA8 002AF908 7F E3 FB 78 */ mr r3, r31 +/* 802B3CAC 002AF90C 90 01 00 70 */ stw r0, 0x70(r1) +/* 802B3CB0 002AF910 4B F1 8C 7D */ bl vprintf +lbl_802B3CB4: +/* 802B3CB4 002AF914 80 01 00 84 */ lwz r0, 0x84(r1) +/* 802B3CB8 002AF918 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 802B3CBC 002AF91C 7C 08 03 A6 */ mtlr r0 +/* 802B3CC0 002AF920 38 21 00 80 */ addi r1, r1, 0x80 +/* 802B3CC4 002AF924 4E 80 00 20 */ blr + +.global func_802B3CC8 +func_802B3CC8: +/* 802B3CC8 002AF928 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 802B3CCC 002AF92C 7C 08 02 A6 */ mflr r0 +/* 802B3CD0 002AF930 90 01 00 84 */ stw r0, 0x84(r1) +/* 802B3CD4 002AF934 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 802B3CD8 002AF938 7C 7F 1B 78 */ mr r31, r3 +/* 802B3CDC 002AF93C 40 86 00 24 */ bne cr1, lbl_802B3D00 +/* 802B3CE0 002AF940 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 802B3CE4 002AF944 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 802B3CE8 002AF948 D8 61 00 38 */ stfd f3, 0x38(r1) +/* 802B3CEC 002AF94C D8 81 00 40 */ stfd f4, 0x40(r1) +/* 802B3CF0 002AF950 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 802B3CF4 002AF954 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 802B3CF8 002AF958 D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 802B3CFC 002AF95C D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_802B3D00: +/* 802B3D00 002AF960 88 0D AE A0 */ lbz r0, lbl_80640160-_SDA_BASE_(r13) +/* 802B3D04 002AF964 90 61 00 08 */ stw r3, 8(r1) +/* 802B3D08 002AF968 2C 00 00 00 */ cmpwi r0, 0 +/* 802B3D0C 002AF96C 90 81 00 0C */ stw r4, 0xc(r1) +/* 802B3D10 002AF970 90 A1 00 10 */ stw r5, 0x10(r1) +/* 802B3D14 002AF974 90 C1 00 14 */ stw r6, 0x14(r1) +/* 802B3D18 002AF978 90 E1 00 18 */ stw r7, 0x18(r1) +/* 802B3D1C 002AF97C 91 01 00 1C */ stw r8, 0x1c(r1) +/* 802B3D20 002AF980 91 21 00 20 */ stw r9, 0x20(r1) +/* 802B3D24 002AF984 91 41 00 24 */ stw r10, 0x24(r1) +/* 802B3D28 002AF988 41 82 00 38 */ beq lbl_802B3D60 +/* 802B3D2C 002AF98C 3C 60 80 44 */ lis r3, lbl_8043DA28@ha +/* 802B3D30 002AF990 38 63 DA 28 */ addi r3, r3, lbl_8043DA28@l +/* 802B3D34 002AF994 4C C6 31 82 */ crclr 6 +/* 802B3D38 002AF998 4B D5 3D 8D */ bl func_80007AC4 +/* 802B3D3C 002AF99C 38 A1 00 88 */ addi r5, r1, 0x88 +/* 802B3D40 002AF9A0 38 01 00 08 */ addi r0, r1, 8 +/* 802B3D44 002AF9A4 3C 60 01 00 */ lis r3, 0x100 +/* 802B3D48 002AF9A8 90 A1 00 6C */ stw r5, 0x6c(r1) +/* 802B3D4C 002AF9AC 38 81 00 68 */ addi r4, r1, 0x68 +/* 802B3D50 002AF9B0 90 61 00 68 */ stw r3, 0x68(r1) +/* 802B3D54 002AF9B4 7F E3 FB 78 */ mr r3, r31 +/* 802B3D58 002AF9B8 90 01 00 70 */ stw r0, 0x70(r1) +/* 802B3D5C 002AF9BC 4B F1 8B D1 */ bl vprintf +lbl_802B3D60: +/* 802B3D60 002AF9C0 80 01 00 84 */ lwz r0, 0x84(r1) +/* 802B3D64 002AF9C4 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 802B3D68 002AF9C8 7C 08 03 A6 */ mtlr r0 +/* 802B3D6C 002AF9CC 38 21 00 80 */ addi r1, r1, 0x80 +/* 802B3D70 002AF9D0 4E 80 00 20 */ blr + +.global func_802B3D74 +func_802B3D74: +/* 802B3D74 002AF9D4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B3D78 002AF9D8 7C 08 02 A6 */ mflr r0 +/* 802B3D7C 002AF9DC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B3D80 002AF9E0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B3D84 002AF9E4 3F E0 80 44 */ lis r31, lbl_8043DA28@ha +/* 802B3D88 002AF9E8 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l +/* 802B3D8C 002AF9EC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B3D90 002AF9F0 3B C0 00 00 */ li r30, 0 +/* 802B3D94 002AF9F4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B3D98 002AF9F8 4B FB A9 C5 */ bl OSDisableInterrupts +/* 802B3D9C 002AF9FC 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B3DA0 002AFA00 7C 7D 1B 78 */ mr r29, r3 +/* 802B3DA4 002AFA04 2C 04 FF FF */ cmpwi r4, -1 +/* 802B3DA8 002AFA08 41 82 00 14 */ beq lbl_802B3DBC +/* 802B3DAC 002AFA0C 38 7F 00 0C */ addi r3, r31, 0xc +/* 802B3DB0 002AFA10 4C C6 31 82 */ crclr 6 +/* 802B3DB4 002AFA14 4B FF FE 6D */ bl func_802B3C20 +/* 802B3DB8 002AFA18 48 00 00 8C */ b lbl_802B3E44 +lbl_802B3DBC: +/* 802B3DBC 002AFA1C 80 0D AE 98 */ lwz r0, lbl_80640158-_SDA_BASE_(r13) +/* 802B3DC0 002AFA20 2C 00 00 00 */ cmpwi r0, 0 +/* 802B3DC4 002AFA24 40 82 00 58 */ bne lbl_802B3E1C +/* 802B3DC8 002AFA28 4B FE EB 2D */ bl IPCGetBufferLo +/* 802B3DCC 002AFA2C 90 6D AE 98 */ stw r3, lbl_80640158-_SDA_BASE_(r13) +/* 802B3DD0 002AFA30 4B FE EB 1D */ bl IPCGetBufferHi +/* 802B3DD4 002AFA34 90 6D AE 9C */ stw r3, lbl_8064015C-_SDA_BASE_(r13) +/* 802B3DD8 002AFA38 7C 66 1B 78 */ mr r6, r3 +/* 802B3DDC 002AFA3C 80 AD AE 98 */ lwz r5, lbl_80640158-_SDA_BASE_(r13) +/* 802B3DE0 002AFA40 38 7F 00 3C */ addi r3, r31, 0x3c +/* 802B3DE4 002AFA44 38 80 00 80 */ li r4, 0x80 +/* 802B3DE8 002AFA48 4C C6 31 82 */ crclr 6 +/* 802B3DEC 002AFA4C 4B FF FE 35 */ bl func_802B3C20 +/* 802B3DF0 002AFA50 80 6D AE 98 */ lwz r3, lbl_80640158-_SDA_BASE_(r13) +/* 802B3DF4 002AFA54 80 0D AE 9C */ lwz r0, lbl_8064015C-_SDA_BASE_(r13) +/* 802B3DF8 002AFA58 38 63 10 00 */ addi r3, r3, 0x1000 +/* 802B3DFC 002AFA5C 7C 03 00 40 */ cmplw r3, r0 +/* 802B3E00 002AFA60 40 81 00 18 */ ble lbl_802B3E18 +/* 802B3E04 002AFA64 38 7F 00 5C */ addi r3, r31, 0x5c +/* 802B3E08 002AFA68 4C C6 31 82 */ crclr 6 +/* 802B3E0C 002AFA6C 4B FF FE BD */ bl func_802B3CC8 +/* 802B3E10 002AFA70 3B C0 FF EA */ li r30, -22 +/* 802B3E14 002AFA74 48 00 00 30 */ b lbl_802B3E44 +lbl_802B3E18: +/* 802B3E18 002AFA78 4B FE EA E5 */ bl IPCSetBufferLo +lbl_802B3E1C: +/* 802B3E1C 002AFA7C 80 6D AE 98 */ lwz r3, lbl_80640158-_SDA_BASE_(r13) +/* 802B3E20 002AFA80 38 80 10 00 */ li r4, 0x1000 +/* 802B3E24 002AFA84 4B FF 01 E1 */ bl func_802A4004 +/* 802B3E28 002AFA88 2C 03 00 00 */ cmpwi r3, 0 +/* 802B3E2C 002AFA8C 90 6D 89 B0 */ stw r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B3E30 002AFA90 40 80 00 14 */ bge lbl_802B3E44 +/* 802B3E34 002AFA94 38 7F 00 74 */ addi r3, r31, 0x74 +/* 802B3E38 002AFA98 4C C6 31 82 */ crclr 6 +/* 802B3E3C 002AFA9C 4B FF FE 8D */ bl func_802B3CC8 +/* 802B3E40 002AFAA0 3B C0 FF EA */ li r30, -22 +lbl_802B3E44: +/* 802B3E44 002AFAA4 7F A3 EB 78 */ mr r3, r29 +/* 802B3E48 002AFAA8 4B FB A9 3D */ bl OSRestoreInterrupts +/* 802B3E4C 002AFAAC 7F C3 F3 78 */ mr r3, r30 +/* 802B3E50 002AFAB0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B3E54 002AFAB4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B3E58 002AFAB8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B3E5C 002AFABC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B3E60 002AFAC0 7C 08 03 A6 */ mtlr r0 +/* 802B3E64 002AFAC4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B3E68 002AFAC8 4E 80 00 20 */ blr + +.global func_802B3E6C +func_802B3E6C: +/* 802B3E6C 002AFACC 38 60 00 00 */ li r3, 0 +/* 802B3E70 002AFAD0 4E 80 00 20 */ blr +lbl_802B3E74: +/* 802B3E74 002AFAD4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B3E78 002AFAD8 7C 08 02 A6 */ mflr r0 +/* 802B3E7C 002AFADC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B3E80 002AFAE0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B3E84 002AFAE4 4B F1 32 A1 */ bl _savegpr_26 +/* 802B3E88 002AFAE8 3F E0 80 44 */ lis r31, lbl_8043DA28@ha +/* 802B3E8C 002AFAEC 7C 7A 1B 78 */ mr r26, r3 +/* 802B3E90 002AFAF0 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l +/* 802B3E94 002AFAF4 7C 9B 23 78 */ mr r27, r4 +/* 802B3E98 002AFAF8 7F 44 D3 78 */ mr r4, r26 +/* 802B3E9C 002AFAFC 38 7F 00 88 */ addi r3, r31, 0x88 +/* 802B3EA0 002AFB00 4C C6 31 82 */ crclr 6 +/* 802B3EA4 002AFB04 4B FF FD 7D */ bl func_802B3C20 +/* 802B3EA8 002AFB08 80 9B 00 2C */ lwz r4, 0x2c(r27) +/* 802B3EAC 002AFB0C 38 7F 00 A8 */ addi r3, r31, 0xa8 +/* 802B3EB0 002AFB10 4C C6 31 82 */ crclr 6 +/* 802B3EB4 002AFB14 4B FF FD 6D */ bl func_802B3C20 +/* 802B3EB8 002AFB18 80 1B 00 2C */ lwz r0, 0x2c(r27) +/* 802B3EBC 002AFB1C 28 00 00 07 */ cmplwi r0, 7 +/* 802B3EC0 002AFB20 41 82 00 24 */ beq lbl_802B3EE4 +/* 802B3EC4 002AFB24 28 00 00 03 */ cmplwi r0, 3 +/* 802B3EC8 002AFB28 41 82 00 1C */ beq lbl_802B3EE4 +/* 802B3ECC 002AFB2C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B3ED0 002AFB30 41 82 00 14 */ beq lbl_802B3EE4 +/* 802B3ED4 002AFB34 38 7F 00 C8 */ addi r3, r31, 0xc8 +/* 802B3ED8 002AFB38 4C C6 31 82 */ crclr 6 +/* 802B3EDC 002AFB3C 4B FF FD ED */ bl func_802B3CC8 +/* 802B3EE0 002AFB40 48 00 00 70 */ b lbl_802B3F50 +lbl_802B3EE4: +/* 802B3EE4 002AFB44 7F 7D DB 78 */ mr r29, r27 +/* 802B3EE8 002AFB48 3B 80 00 00 */ li r28, 0 +/* 802B3EEC 002AFB4C 48 00 00 58 */ b lbl_802B3F44 +lbl_802B3EF0: +/* 802B3EF0 002AFB50 80 BD 00 0C */ lwz r5, 0xc(r29) +/* 802B3EF4 002AFB54 7F 84 E3 78 */ mr r4, r28 +/* 802B3EF8 002AFB58 38 7F 00 F0 */ addi r3, r31, 0xf0 +/* 802B3EFC 002AFB5C 4C C6 31 82 */ crclr 6 +/* 802B3F00 002AFB60 4B FF FD 21 */ bl func_802B3C20 +/* 802B3F04 002AFB64 83 DD 00 0C */ lwz r30, 0xc(r29) +/* 802B3F08 002AFB68 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B3F0C 002AFB6C 41 82 00 30 */ beq lbl_802B3F3C +/* 802B3F10 002AFB70 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B3F14 002AFB74 7F C4 F3 78 */ mr r4, r30 +/* 802B3F18 002AFB78 4B FF 04 25 */ bl func_802A433C +/* 802B3F1C 002AFB7C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B3F20 002AFB80 40 80 00 1C */ bge lbl_802B3F3C +/* 802B3F24 002AFB84 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B3F28 002AFB88 7C 66 1B 78 */ mr r6, r3 +/* 802B3F2C 002AFB8C 7F C5 F3 78 */ mr r5, r30 +/* 802B3F30 002AFB90 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B3F34 002AFB94 4C C6 31 82 */ crclr 6 +/* 802B3F38 002AFB98 4B FF FD 91 */ bl func_802B3CC8 +lbl_802B3F3C: +/* 802B3F3C 002AFB9C 3B BD 00 04 */ addi r29, r29, 4 +/* 802B3F40 002AFBA0 3B 9C 00 01 */ addi r28, r28, 1 +lbl_802B3F44: +/* 802B3F44 002AFBA4 80 1B 00 2C */ lwz r0, 0x2c(r27) +/* 802B3F48 002AFBA8 7C 1C 00 40 */ cmplw r28, r0 +/* 802B3F4C 002AFBAC 41 80 FF A4 */ blt lbl_802B3EF0 +lbl_802B3F50: +/* 802B3F50 002AFBB0 80 9B 00 00 */ lwz r4, 0(r27) +/* 802B3F54 002AFBB4 38 7F 01 28 */ addi r3, r31, 0x128 +/* 802B3F58 002AFBB8 80 BB 00 04 */ lwz r5, 4(r27) +/* 802B3F5C 002AFBBC 4C C6 31 82 */ crclr 6 +/* 802B3F60 002AFBC0 4B FF FC C1 */ bl func_802B3C20 +/* 802B3F64 002AFBC4 81 9B 00 00 */ lwz r12, 0(r27) +/* 802B3F68 002AFBC8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802B3F6C 002AFBCC 41 82 00 14 */ beq lbl_802B3F80 +/* 802B3F70 002AFBD0 7F 43 D3 78 */ mr r3, r26 +/* 802B3F74 002AFBD4 80 9B 00 04 */ lwz r4, 4(r27) +/* 802B3F78 002AFBD8 7D 89 03 A6 */ mtctr r12 +/* 802B3F7C 002AFBDC 4E 80 04 21 */ bctrl +lbl_802B3F80: +/* 802B3F80 002AFBE0 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B3F84 002AFBE4 41 82 00 30 */ beq lbl_802B3FB4 +/* 802B3F88 002AFBE8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B3F8C 002AFBEC 7F 64 DB 78 */ mr r4, r27 +/* 802B3F90 002AFBF0 4B FF 03 AD */ bl func_802A433C +/* 802B3F94 002AFBF4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B3F98 002AFBF8 40 80 00 1C */ bge lbl_802B3FB4 +/* 802B3F9C 002AFBFC 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B3FA0 002AFC00 7C 66 1B 78 */ mr r6, r3 +/* 802B3FA4 002AFC04 7F 65 DB 78 */ mr r5, r27 +/* 802B3FA8 002AFC08 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B3FAC 002AFC0C 4C C6 31 82 */ crclr 6 +/* 802B3FB0 002AFC10 4B FF FD 19 */ bl func_802B3CC8 +lbl_802B3FB4: +/* 802B3FB4 002AFC14 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B3FB8 002AFC18 7F 43 D3 78 */ mr r3, r26 +/* 802B3FBC 002AFC1C 4B F1 31 B5 */ bl _restgpr_26 +/* 802B3FC0 002AFC20 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B3FC4 002AFC24 7C 08 03 A6 */ mtlr r0 +/* 802B3FC8 002AFC28 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B3FCC 002AFC2C 4E 80 00 20 */ blr + +.global func_802B3FD0 +func_802B3FD0: +/* 802B3FD0 002AFC30 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B3FD4 002AFC34 7C 08 02 A6 */ mflr r0 +/* 802B3FD8 002AFC38 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B3FDC 002AFC3C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B3FE0 002AFC40 4B F1 31 45 */ bl _savegpr_26 +/* 802B3FE4 002AFC44 2C 06 00 00 */ cmpwi r6, 0 +/* 802B3FE8 002AFC48 3F E0 80 44 */ lis r31, lbl_8043DA28@ha +/* 802B3FEC 002AFC4C 7C 7A 1B 78 */ mr r26, r3 +/* 802B3FF0 002AFC50 7C 9B 23 78 */ mr r27, r4 +/* 802B3FF4 002AFC54 7C BE 2B 78 */ mr r30, r5 +/* 802B3FF8 002AFC58 7C DC 33 78 */ mr r28, r6 +/* 802B3FFC 002AFC5C 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l +/* 802B4000 002AFC60 3B A0 00 00 */ li r29, 0 +/* 802B4004 002AFC64 40 82 00 0C */ bne lbl_802B4010 +/* 802B4008 002AFC68 3B C0 FF FC */ li r30, -4 +/* 802B400C 002AFC6C 48 00 00 A8 */ b lbl_802B40B4 +lbl_802B4010: +/* 802B4010 002AFC70 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4014 002AFC74 38 80 00 80 */ li r4, 0x80 +/* 802B4018 002AFC78 38 A0 00 20 */ li r5, 0x20 +/* 802B401C 002AFC7C 4B FF 03 1D */ bl func_802A4338 +/* 802B4020 002AFC80 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4024 002AFC84 7C 7D 1B 78 */ mr r29, r3 +/* 802B4028 002AFC88 40 82 00 1C */ bne lbl_802B4044 +/* 802B402C 002AFC8C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4030 002AFC90 7F A6 EB 78 */ mr r6, r29 +/* 802B4034 002AFC94 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B4038 002AFC98 38 A0 00 80 */ li r5, 0x80 +/* 802B403C 002AFC9C 4C C6 31 82 */ crclr 6 +/* 802B4040 002AFCA0 4B FF FC 89 */ bl func_802B3CC8 +lbl_802B4044: +/* 802B4044 002AFCA4 2C 1D 00 00 */ cmpwi r29, 0 +/* 802B4048 002AFCA8 40 82 00 18 */ bne lbl_802B4060 +/* 802B404C 002AFCAC 38 7F 01 60 */ addi r3, r31, 0x160 +/* 802B4050 002AFCB0 4C C6 31 82 */ crclr 6 +/* 802B4054 002AFCB4 4B FF FC 75 */ bl func_802B3CC8 +/* 802B4058 002AFCB8 3B C0 FF EA */ li r30, -22 +/* 802B405C 002AFCBC 48 00 00 58 */ b lbl_802B40B4 +lbl_802B4060: +/* 802B4060 002AFCC0 7F 46 D3 78 */ mr r6, r26 +/* 802B4064 002AFCC4 7F 67 DB 78 */ mr r7, r27 +/* 802B4068 002AFCC8 7F C8 F3 78 */ mr r8, r30 +/* 802B406C 002AFCCC 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802B4070 002AFCD0 38 BF 01 84 */ addi r5, r31, 0x184 +/* 802B4074 002AFCD4 38 80 00 40 */ li r4, 0x40 +/* 802B4078 002AFCD8 4C C6 31 82 */ crclr 6 +/* 802B407C 002AFCDC 4B F1 89 A9 */ bl snprintf +/* 802B4080 002AFCE0 38 7F 01 98 */ addi r3, r31, 0x198 +/* 802B4084 002AFCE4 38 9D 00 40 */ addi r4, r29, 0x40 +/* 802B4088 002AFCE8 4C C6 31 82 */ crclr 6 +/* 802B408C 002AFCEC 4B FF FB 95 */ bl func_802B3C20 +/* 802B4090 002AFCF0 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802B4094 002AFCF4 38 80 00 00 */ li r4, 0 +/* 802B4098 002AFCF8 4B FE F0 C1 */ bl IOS_Open +/* 802B409C 002AFCFC 7C 7E 1B 78 */ mr r30, r3 +/* 802B40A0 002AFD00 38 7F 01 AC */ addi r3, r31, 0x1ac +/* 802B40A4 002AFD04 7F C4 F3 78 */ mr r4, r30 +/* 802B40A8 002AFD08 4C C6 31 82 */ crclr 6 +/* 802B40AC 002AFD0C 4B FF FB 75 */ bl func_802B3C20 +/* 802B40B0 002AFD10 93 DC 00 00 */ stw r30, 0(r28) +lbl_802B40B4: +/* 802B40B4 002AFD14 2C 1D 00 00 */ cmpwi r29, 0 +/* 802B40B8 002AFD18 41 82 00 30 */ beq lbl_802B40E8 +/* 802B40BC 002AFD1C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B40C0 002AFD20 7F A4 EB 78 */ mr r4, r29 +/* 802B40C4 002AFD24 4B FF 02 79 */ bl func_802A433C +/* 802B40C8 002AFD28 2C 03 00 00 */ cmpwi r3, 0 +/* 802B40CC 002AFD2C 40 80 00 1C */ bge lbl_802B40E8 +/* 802B40D0 002AFD30 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B40D4 002AFD34 7C 66 1B 78 */ mr r6, r3 +/* 802B40D8 002AFD38 7F A5 EB 78 */ mr r5, r29 +/* 802B40DC 002AFD3C 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B40E0 002AFD40 4C C6 31 82 */ crclr 6 +/* 802B40E4 002AFD44 4B FF FB E5 */ bl func_802B3CC8 +lbl_802B40E8: +/* 802B40E8 002AFD48 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B40EC 002AFD4C 7F C3 F3 78 */ mr r3, r30 +/* 802B40F0 002AFD50 4B F1 30 81 */ bl _restgpr_26 +/* 802B40F4 002AFD54 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B40F8 002AFD58 7C 08 03 A6 */ mtlr r0 +/* 802B40FC 002AFD5C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B4100 002AFD60 4E 80 00 20 */ blr + +.global func_802B4104 +func_802B4104: +/* 802B4104 002AFD64 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B4108 002AFD68 7C 08 02 A6 */ mflr r0 +/* 802B410C 002AFD6C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B4110 002AFD70 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B4114 002AFD74 4B F1 30 15 */ bl _savegpr_27 +/* 802B4118 002AFD78 3F E0 80 44 */ lis r31, lbl_8043DA28@ha +/* 802B411C 002AFD7C 7C 7B 1B 78 */ mr r27, r3 +/* 802B4120 002AFD80 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l +/* 802B4124 002AFD84 7C 9C 23 78 */ mr r28, r4 +/* 802B4128 002AFD88 7C BD 2B 78 */ mr r29, r5 +/* 802B412C 002AFD8C 38 7F 01 FC */ addi r3, r31, 0x1fc +/* 802B4130 002AFD90 4C C6 31 82 */ crclr 6 +/* 802B4134 002AFD94 4B FF FA ED */ bl func_802B3C20 +/* 802B4138 002AFD98 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B413C 002AFD9C 38 80 00 80 */ li r4, 0x80 +/* 802B4140 002AFDA0 38 A0 00 20 */ li r5, 0x20 +/* 802B4144 002AFDA4 4B FF 01 F5 */ bl func_802A4338 +/* 802B4148 002AFDA8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B414C 002AFDAC 7C 7E 1B 78 */ mr r30, r3 +/* 802B4150 002AFDB0 40 82 00 1C */ bne lbl_802B416C +/* 802B4154 002AFDB4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4158 002AFDB8 7F C6 F3 78 */ mr r6, r30 +/* 802B415C 002AFDBC 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B4160 002AFDC0 38 A0 00 80 */ li r5, 0x80 +/* 802B4164 002AFDC4 4C C6 31 82 */ crclr 6 +/* 802B4168 002AFDC8 4B FF FB 61 */ bl func_802B3CC8 +lbl_802B416C: +/* 802B416C 002AFDCC 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B4170 002AFDD0 40 82 00 18 */ bne lbl_802B4188 +/* 802B4174 002AFDD4 38 7F 02 28 */ addi r3, r31, 0x228 +/* 802B4178 002AFDD8 4C C6 31 82 */ crclr 6 +/* 802B417C 002AFDDC 4B FF FB 4D */ bl func_802B3CC8 +/* 802B4180 002AFDE0 3B A0 FF EA */ li r29, -22 +/* 802B4184 002AFDE4 48 00 00 78 */ b lbl_802B41FC +lbl_802B4188: +/* 802B4188 002AFDE8 93 9E 00 00 */ stw r28, 0(r30) +/* 802B418C 002AFDEC 3C 80 80 2B */ lis r4, lbl_802B3E74@ha +/* 802B4190 002AFDF0 38 00 00 00 */ li r0, 0 +/* 802B4194 002AFDF4 7F 63 DB 78 */ mr r3, r27 +/* 802B4198 002AFDF8 93 BE 00 04 */ stw r29, 4(r30) +/* 802B419C 002AFDFC 7F C5 F3 78 */ mr r5, r30 +/* 802B41A0 002AFE00 38 84 3E 74 */ addi r4, r4, lbl_802B3E74@l +/* 802B41A4 002AFE04 90 1E 00 2C */ stw r0, 0x2c(r30) +/* 802B41A8 002AFE08 4B FE F0 D1 */ bl IOS_CloseAsync +/* 802B41AC 002AFE0C 7C 7D 1B 78 */ mr r29, r3 +/* 802B41B0 002AFE10 38 7F 02 0C */ addi r3, r31, 0x20c +/* 802B41B4 002AFE14 7F A4 EB 78 */ mr r4, r29 +/* 802B41B8 002AFE18 4C C6 31 82 */ crclr 6 +/* 802B41BC 002AFE1C 4B FF FA 65 */ bl func_802B3C20 +/* 802B41C0 002AFE20 2C 1D 00 00 */ cmpwi r29, 0 +/* 802B41C4 002AFE24 40 80 00 38 */ bge lbl_802B41FC +/* 802B41C8 002AFE28 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B41CC 002AFE2C 41 82 00 30 */ beq lbl_802B41FC +/* 802B41D0 002AFE30 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B41D4 002AFE34 7F C4 F3 78 */ mr r4, r30 +/* 802B41D8 002AFE38 4B FF 01 65 */ bl func_802A433C +/* 802B41DC 002AFE3C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B41E0 002AFE40 40 80 00 1C */ bge lbl_802B41FC +/* 802B41E4 002AFE44 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B41E8 002AFE48 7C 66 1B 78 */ mr r6, r3 +/* 802B41EC 002AFE4C 7F C5 F3 78 */ mr r5, r30 +/* 802B41F0 002AFE50 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B41F4 002AFE54 4C C6 31 82 */ crclr 6 +/* 802B41F8 002AFE58 4B FF FA D1 */ bl func_802B3CC8 +lbl_802B41FC: +/* 802B41FC 002AFE5C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B4200 002AFE60 7F A3 EB 78 */ mr r3, r29 +/* 802B4204 002AFE64 4B F1 2F 71 */ bl _restgpr_27 +/* 802B4208 002AFE68 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B420C 002AFE6C 7C 08 03 A6 */ mtlr r0 +/* 802B4210 002AFE70 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B4214 002AFE74 4E 80 00 20 */ blr + +.global func_802B4218 +func_802B4218: +/* 802B4218 002AFE78 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802B421C 002AFE7C 7C 08 02 A6 */ mflr r0 +/* 802B4220 002AFE80 90 01 00 44 */ stw r0, 0x44(r1) +/* 802B4224 002AFE84 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B4228 002AFE88 4B F1 2E E5 */ bl _savegpr_20 +/* 802B422C 002AFE8C 7C 74 1B 78 */ mr r20, r3 +/* 802B4230 002AFE90 3F E0 80 44 */ lis r31, lbl_8043DA28@ha +/* 802B4234 002AFE94 7C 9E 23 78 */ mr r30, r4 +/* 802B4238 002AFE98 7C B5 2B 78 */ mr r21, r5 +/* 802B423C 002AFE9C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4240 002AFEA0 7C D6 33 78 */ mr r22, r6 +/* 802B4244 002AFEA4 7C F7 3B 78 */ mr r23, r7 +/* 802B4248 002AFEA8 7D 18 43 78 */ mr r24, r8 +/* 802B424C 002AFEAC 7D 39 4B 78 */ mr r25, r9 +/* 802B4250 002AFEB0 7D 5D 53 78 */ mr r29, r10 +/* 802B4254 002AFEB4 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l +/* 802B4258 002AFEB8 38 80 00 60 */ li r4, 0x60 +/* 802B425C 002AFEBC 38 A0 00 20 */ li r5, 0x20 +/* 802B4260 002AFEC0 4B FF 00 D9 */ bl func_802A4338 +/* 802B4264 002AFEC4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4268 002AFEC8 7C 7C 1B 78 */ mr r28, r3 +/* 802B426C 002AFECC 40 82 00 1C */ bne lbl_802B4288 +/* 802B4270 002AFED0 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4274 002AFED4 7F 86 E3 78 */ mr r6, r28 +/* 802B4278 002AFED8 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B427C 002AFEDC 38 A0 00 60 */ li r5, 0x60 +/* 802B4280 002AFEE0 4C C6 31 82 */ crclr 6 +/* 802B4284 002AFEE4 4B FF FA 45 */ bl func_802B3CC8 +lbl_802B4288: +/* 802B4288 002AFEE8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B428C 002AFEEC 38 80 00 20 */ li r4, 0x20 +/* 802B4290 002AFEF0 38 A0 00 20 */ li r5, 0x20 +/* 802B4294 002AFEF4 4B FF 00 A5 */ bl func_802A4338 +/* 802B4298 002AFEF8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B429C 002AFEFC 7C 7B 1B 78 */ mr r27, r3 +/* 802B42A0 002AFF00 40 82 00 1C */ bne lbl_802B42BC +/* 802B42A4 002AFF04 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B42A8 002AFF08 7F 66 DB 78 */ mr r6, r27 +/* 802B42AC 002AFF0C 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B42B0 002AFF10 38 A0 00 20 */ li r5, 0x20 +/* 802B42B4 002AFF14 4C C6 31 82 */ crclr 6 +/* 802B42B8 002AFF18 4B FF FA 11 */ bl func_802B3CC8 +lbl_802B42BC: +/* 802B42BC 002AFF1C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B42C0 002AFF20 38 80 00 20 */ li r4, 0x20 +/* 802B42C4 002AFF24 38 A0 00 20 */ li r5, 0x20 +/* 802B42C8 002AFF28 4B FF 00 71 */ bl func_802A4338 +/* 802B42CC 002AFF2C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B42D0 002AFF30 7C 7A 1B 78 */ mr r26, r3 +/* 802B42D4 002AFF34 40 82 00 1C */ bne lbl_802B42F0 +/* 802B42D8 002AFF38 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B42DC 002AFF3C 7F 46 D3 78 */ mr r6, r26 +/* 802B42E0 002AFF40 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B42E4 002AFF44 38 A0 00 20 */ li r5, 0x20 +/* 802B42E8 002AFF48 4C C6 31 82 */ crclr 6 +/* 802B42EC 002AFF4C 4B FF F9 DD */ bl func_802B3CC8 +lbl_802B42F0: +/* 802B42F0 002AFF50 2C 1C 00 00 */ cmpwi r28, 0 +/* 802B42F4 002AFF54 41 82 00 14 */ beq lbl_802B4308 +/* 802B42F8 002AFF58 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B42FC 002AFF5C 41 82 00 0C */ beq lbl_802B4308 +/* 802B4300 002AFF60 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B4304 002AFF64 40 82 00 18 */ bne lbl_802B431C +lbl_802B4308: +/* 802B4308 002AFF68 38 7F 02 94 */ addi r3, r31, 0x294 +/* 802B430C 002AFF6C 4C C6 31 82 */ crclr 6 +/* 802B4310 002AFF70 4B FF F9 B9 */ bl func_802B3CC8 +/* 802B4314 002AFF74 3B A0 FF EA */ li r29, -22 +/* 802B4318 002AFF78 48 00 01 74 */ b lbl_802B448C +lbl_802B431C: +/* 802B431C 002AFF7C 9B DB 00 00 */ stb r30, 0(r27) +/* 802B4320 002AFF80 38 A0 00 01 */ li r5, 1 +/* 802B4324 002AFF84 38 00 00 02 */ li r0, 2 +/* 802B4328 002AFF88 7F 63 DB 78 */ mr r3, r27 +/* 802B432C 002AFF8C B2 BA 00 00 */ sth r21, 0(r26) +/* 802B4330 002AFF90 38 80 00 20 */ li r4, 0x20 +/* 802B4334 002AFF94 93 7C 00 00 */ stw r27, 0(r28) +/* 802B4338 002AFF98 90 BC 00 04 */ stw r5, 4(r28) +/* 802B433C 002AFF9C 93 5C 00 08 */ stw r26, 8(r28) +/* 802B4340 002AFFA0 90 1C 00 0C */ stw r0, 0xc(r28) +/* 802B4344 002AFFA4 92 DC 00 10 */ stw r22, 0x10(r28) +/* 802B4348 002AFFA8 92 BC 00 14 */ stw r21, 0x14(r28) +/* 802B434C 002AFFAC 4B FB 63 09 */ bl DCFlushRange +/* 802B4350 002AFFB0 7F 43 D3 78 */ mr r3, r26 +/* 802B4354 002AFFB4 38 80 00 20 */ li r4, 0x20 +/* 802B4358 002AFFB8 4B FB 62 FD */ bl DCFlushRange +/* 802B435C 002AFFBC 7F 83 E3 78 */ mr r3, r28 +/* 802B4360 002AFFC0 38 80 00 60 */ li r4, 0x60 +/* 802B4364 002AFFC4 4B FB 62 F1 */ bl DCFlushRange +/* 802B4368 002AFFC8 2C 1D 00 00 */ cmpwi r29, 0 +/* 802B436C 002AFFCC 40 82 00 34 */ bne lbl_802B43A0 +/* 802B4370 002AFFD0 7E 83 A3 78 */ mr r3, r20 +/* 802B4374 002AFFD4 7E E4 BB 78 */ mr r4, r23 +/* 802B4378 002AFFD8 7F 87 E3 78 */ mr r7, r28 +/* 802B437C 002AFFDC 38 A0 00 02 */ li r5, 2 +/* 802B4380 002AFFE0 38 C0 00 01 */ li r6, 1 +/* 802B4384 002AFFE4 4B FE FA BD */ bl IOS_Ioctlv +/* 802B4388 002AFFE8 7C 7D 1B 78 */ mr r29, r3 +/* 802B438C 002AFFEC 38 7F 02 B8 */ addi r3, r31, 0x2b8 +/* 802B4390 002AFFF0 7F A4 EB 78 */ mr r4, r29 +/* 802B4394 002AFFF4 4C C6 31 82 */ crclr 6 +/* 802B4398 002AFFF8 4B FF F8 89 */ bl func_802B3C20 +/* 802B439C 002AFFFC 48 00 00 F0 */ b lbl_802B448C +lbl_802B43A0: +/* 802B43A0 002B0000 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B43A4 002B0004 38 80 00 80 */ li r4, 0x80 +/* 802B43A8 002B0008 38 A0 00 20 */ li r5, 0x20 +/* 802B43AC 002B000C 4B FE FF 8D */ bl func_802A4338 +/* 802B43B0 002B0010 2C 03 00 00 */ cmpwi r3, 0 +/* 802B43B4 002B0014 7C 7E 1B 78 */ mr r30, r3 +/* 802B43B8 002B0018 40 82 00 1C */ bne lbl_802B43D4 +/* 802B43BC 002B001C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B43C0 002B0020 7F C6 F3 78 */ mr r6, r30 +/* 802B43C4 002B0024 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B43C8 002B0028 38 A0 00 80 */ li r5, 0x80 +/* 802B43CC 002B002C 4C C6 31 82 */ crclr 6 +/* 802B43D0 002B0030 4B FF F8 F9 */ bl func_802B3CC8 +lbl_802B43D4: +/* 802B43D4 002B0034 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B43D8 002B0038 40 82 00 18 */ bne lbl_802B43F0 +/* 802B43DC 002B003C 38 7F 02 D8 */ addi r3, r31, 0x2d8 +/* 802B43E0 002B0040 4C C6 31 82 */ crclr 6 +/* 802B43E4 002B0044 4B FF F8 E5 */ bl func_802B3CC8 +/* 802B43E8 002B0048 3B A0 FF EA */ li r29, -22 +/* 802B43EC 002B004C 48 00 00 A0 */ b lbl_802B448C +lbl_802B43F0: +/* 802B43F0 002B0050 93 1E 00 00 */ stw r24, 0(r30) +/* 802B43F4 002B0054 7F 04 C3 78 */ mr r4, r24 +/* 802B43F8 002B0058 7F 25 CB 78 */ mr r5, r25 +/* 802B43FC 002B005C 38 7F 03 04 */ addi r3, r31, 0x304 +/* 802B4400 002B0060 93 3E 00 04 */ stw r25, 4(r30) +/* 802B4404 002B0064 4C C6 31 82 */ crclr 6 +/* 802B4408 002B0068 4B FF F8 19 */ bl func_802B3C20 +/* 802B440C 002B006C 38 00 00 03 */ li r0, 3 +/* 802B4410 002B0070 3D 00 80 2B */ lis r8, lbl_802B3E74@ha +/* 802B4414 002B0074 90 1E 00 2C */ stw r0, 0x2c(r30) +/* 802B4418 002B0078 7E 83 A3 78 */ mr r3, r20 +/* 802B441C 002B007C 7E E4 BB 78 */ mr r4, r23 +/* 802B4420 002B0080 7F 87 E3 78 */ mr r7, r28 +/* 802B4424 002B0084 93 7E 00 0C */ stw r27, 0xc(r30) +/* 802B4428 002B0088 7F C9 F3 78 */ mr r9, r30 +/* 802B442C 002B008C 39 08 3E 74 */ addi r8, r8, lbl_802B3E74@l +/* 802B4430 002B0090 38 A0 00 02 */ li r5, 2 +/* 802B4434 002B0094 93 5E 00 10 */ stw r26, 0x10(r30) +/* 802B4438 002B0098 38 C0 00 01 */ li r6, 1 +/* 802B443C 002B009C 93 9E 00 14 */ stw r28, 0x14(r30) +/* 802B4440 002B00A0 92 DE 00 40 */ stw r22, 0x40(r30) +/* 802B4444 002B00A4 B2 BE 00 44 */ sth r21, 0x44(r30) +/* 802B4448 002B00A8 4B FE F9 15 */ bl IOS_IoctlvAsync +/* 802B444C 002B00AC 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4450 002B00B0 7C 7D 1B 78 */ mr r29, r3 +/* 802B4454 002B00B4 40 80 00 D4 */ bge lbl_802B4528 +/* 802B4458 002B00B8 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B445C 002B00BC 41 82 00 30 */ beq lbl_802B448C +/* 802B4460 002B00C0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4464 002B00C4 7F C4 F3 78 */ mr r4, r30 +/* 802B4468 002B00C8 4B FE FE D5 */ bl func_802A433C +/* 802B446C 002B00CC 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4470 002B00D0 40 80 00 1C */ bge lbl_802B448C +/* 802B4474 002B00D4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4478 002B00D8 7C 66 1B 78 */ mr r6, r3 +/* 802B447C 002B00DC 7F C5 F3 78 */ mr r5, r30 +/* 802B4480 002B00E0 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4484 002B00E4 4C C6 31 82 */ crclr 6 +/* 802B4488 002B00E8 4B FF F8 41 */ bl func_802B3CC8 +lbl_802B448C: +/* 802B448C 002B00EC 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B4490 002B00F0 41 82 00 30 */ beq lbl_802B44C0 +/* 802B4494 002B00F4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4498 002B00F8 7F 64 DB 78 */ mr r4, r27 +/* 802B449C 002B00FC 4B FE FE A1 */ bl func_802A433C +/* 802B44A0 002B0100 2C 03 00 00 */ cmpwi r3, 0 +/* 802B44A4 002B0104 40 80 00 1C */ bge lbl_802B44C0 +/* 802B44A8 002B0108 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B44AC 002B010C 7C 66 1B 78 */ mr r6, r3 +/* 802B44B0 002B0110 7F 65 DB 78 */ mr r5, r27 +/* 802B44B4 002B0114 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B44B8 002B0118 4C C6 31 82 */ crclr 6 +/* 802B44BC 002B011C 4B FF F8 0D */ bl func_802B3CC8 +lbl_802B44C0: +/* 802B44C0 002B0120 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B44C4 002B0124 41 82 00 30 */ beq lbl_802B44F4 +/* 802B44C8 002B0128 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B44CC 002B012C 7F 44 D3 78 */ mr r4, r26 +/* 802B44D0 002B0130 4B FE FE 6D */ bl func_802A433C +/* 802B44D4 002B0134 2C 03 00 00 */ cmpwi r3, 0 +/* 802B44D8 002B0138 40 80 00 1C */ bge lbl_802B44F4 +/* 802B44DC 002B013C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B44E0 002B0140 7C 66 1B 78 */ mr r6, r3 +/* 802B44E4 002B0144 7F 45 D3 78 */ mr r5, r26 +/* 802B44E8 002B0148 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B44EC 002B014C 4C C6 31 82 */ crclr 6 +/* 802B44F0 002B0150 4B FF F7 D9 */ bl func_802B3CC8 +lbl_802B44F4: +/* 802B44F4 002B0154 2C 1C 00 00 */ cmpwi r28, 0 +/* 802B44F8 002B0158 41 82 00 30 */ beq lbl_802B4528 +/* 802B44FC 002B015C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4500 002B0160 7F 84 E3 78 */ mr r4, r28 +/* 802B4504 002B0164 4B FE FE 39 */ bl func_802A433C +/* 802B4508 002B0168 2C 03 00 00 */ cmpwi r3, 0 +/* 802B450C 002B016C 40 80 00 1C */ bge lbl_802B4528 +/* 802B4510 002B0170 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4514 002B0174 7C 66 1B 78 */ mr r6, r3 +/* 802B4518 002B0178 7F 85 E3 78 */ mr r5, r28 +/* 802B451C 002B017C 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4520 002B0180 4C C6 31 82 */ crclr 6 +/* 802B4524 002B0184 4B FF F7 A5 */ bl func_802B3CC8 +lbl_802B4528: +/* 802B4528 002B0188 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B452C 002B018C 7F A3 EB 78 */ mr r3, r29 +/* 802B4530 002B0190 4B F1 2C 29 */ bl _restgpr_20 +/* 802B4534 002B0194 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802B4538 002B0198 7C 08 03 A6 */ mtlr r0 +/* 802B453C 002B019C 38 21 00 40 */ addi r1, r1, 0x40 +/* 802B4540 002B01A0 4E 80 00 20 */ blr + +.global func_802B4544 +func_802B4544: +/* 802B4544 002B01A4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B4548 002B01A8 7C 08 02 A6 */ mflr r0 +/* 802B454C 002B01AC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B4550 002B01B0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B4554 002B01B4 4B F1 2B D1 */ bl _savegpr_26 +/* 802B4558 002B01B8 7C BC 2B 78 */ mr r28, r5 +/* 802B455C 002B01BC 7C DD 33 78 */ mr r29, r6 +/* 802B4560 002B01C0 7C 7A 1B 78 */ mr r26, r3 +/* 802B4564 002B01C4 7C 9B 23 78 */ mr r27, r4 +/* 802B4568 002B01C8 7C FE 3B 78 */ mr r30, r7 +/* 802B456C 002B01CC 7D 1F 43 78 */ mr r31, r8 +/* 802B4570 002B01D0 7F A3 EB 78 */ mr r3, r29 +/* 802B4574 002B01D4 7F 84 E3 78 */ mr r4, r28 +/* 802B4578 002B01D8 4B FB 60 B1 */ bl DCInvalidateRange +/* 802B457C 002B01DC 7F 43 D3 78 */ mr r3, r26 +/* 802B4580 002B01E0 7F 64 DB 78 */ mr r4, r27 +/* 802B4584 002B01E4 7F 85 E3 78 */ mr r5, r28 +/* 802B4588 002B01E8 7F A6 EB 78 */ mr r6, r29 +/* 802B458C 002B01EC 7F C8 F3 78 */ mr r8, r30 +/* 802B4590 002B01F0 7F E9 FB 78 */ mr r9, r31 +/* 802B4594 002B01F4 38 E0 00 02 */ li r7, 2 +/* 802B4598 002B01F8 39 40 00 01 */ li r10, 1 +/* 802B459C 002B01FC 4B FF FC 7D */ bl func_802B4218 +/* 802B45A0 002B0200 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B45A4 002B0204 4B F1 2B CD */ bl _restgpr_26 +/* 802B45A8 002B0208 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B45AC 002B020C 7C 08 03 A6 */ mtlr r0 +/* 802B45B0 002B0210 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B45B4 002B0214 4E 80 00 20 */ blr + +.global func_802B45B8 +func_802B45B8: +/* 802B45B8 002B0218 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B45BC 002B021C 7C 08 02 A6 */ mflr r0 +/* 802B45C0 002B0220 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B45C4 002B0224 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B45C8 002B0228 4B F1 2B 5D */ bl _savegpr_26 +/* 802B45CC 002B022C 7C BC 2B 78 */ mr r28, r5 +/* 802B45D0 002B0230 7C DD 33 78 */ mr r29, r6 +/* 802B45D4 002B0234 7C 7A 1B 78 */ mr r26, r3 +/* 802B45D8 002B0238 7C 9B 23 78 */ mr r27, r4 +/* 802B45DC 002B023C 7C FE 3B 78 */ mr r30, r7 +/* 802B45E0 002B0240 7D 1F 43 78 */ mr r31, r8 +/* 802B45E4 002B0244 7F A3 EB 78 */ mr r3, r29 +/* 802B45E8 002B0248 7F 84 E3 78 */ mr r4, r28 +/* 802B45EC 002B024C 4B FB 60 3D */ bl DCInvalidateRange +/* 802B45F0 002B0250 7F 43 D3 78 */ mr r3, r26 +/* 802B45F4 002B0254 7F 64 DB 78 */ mr r4, r27 +/* 802B45F8 002B0258 7F 85 E3 78 */ mr r5, r28 +/* 802B45FC 002B025C 7F A6 EB 78 */ mr r6, r29 +/* 802B4600 002B0260 7F C8 F3 78 */ mr r8, r30 +/* 802B4604 002B0264 7F E9 FB 78 */ mr r9, r31 +/* 802B4608 002B0268 38 E0 00 01 */ li r7, 1 +/* 802B460C 002B026C 39 40 00 01 */ li r10, 1 +/* 802B4610 002B0270 4B FF FC 09 */ bl func_802B4218 +/* 802B4614 002B0274 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B4618 002B0278 4B F1 2B 59 */ bl _restgpr_26 +/* 802B461C 002B027C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B4620 002B0280 7C 08 03 A6 */ mtlr r0 +/* 802B4624 002B0284 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B4628 002B0288 4E 80 00 20 */ blr + +.global func_802B462C +func_802B462C: +/* 802B462C 002B028C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B4630 002B0290 7C 08 02 A6 */ mflr r0 +/* 802B4634 002B0294 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B4638 002B0298 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B463C 002B029C 4B F1 2A E9 */ bl _savegpr_26 +/* 802B4640 002B02A0 7C BC 2B 78 */ mr r28, r5 +/* 802B4644 002B02A4 7C DD 33 78 */ mr r29, r6 +/* 802B4648 002B02A8 7C 7A 1B 78 */ mr r26, r3 +/* 802B464C 002B02AC 7C 9B 23 78 */ mr r27, r4 +/* 802B4650 002B02B0 7C FE 3B 78 */ mr r30, r7 +/* 802B4654 002B02B4 7D 1F 43 78 */ mr r31, r8 +/* 802B4658 002B02B8 7F A3 EB 78 */ mr r3, r29 +/* 802B465C 002B02BC 7F 84 E3 78 */ mr r4, r28 +/* 802B4660 002B02C0 4B FB 5F F5 */ bl DCFlushRange +/* 802B4664 002B02C4 7F 43 D3 78 */ mr r3, r26 +/* 802B4668 002B02C8 7F 64 DB 78 */ mr r4, r27 +/* 802B466C 002B02CC 7F 85 E3 78 */ mr r5, r28 +/* 802B4670 002B02D0 7F A6 EB 78 */ mr r6, r29 +/* 802B4674 002B02D4 7F C8 F3 78 */ mr r8, r30 +/* 802B4678 002B02D8 7F E9 FB 78 */ mr r9, r31 +/* 802B467C 002B02DC 38 E0 00 01 */ li r7, 1 +/* 802B4680 002B02E0 39 40 00 01 */ li r10, 1 +/* 802B4684 002B02E4 4B FF FB 95 */ bl func_802B4218 +/* 802B4688 002B02E8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B468C 002B02EC 4B F1 2A E5 */ bl _restgpr_26 +/* 802B4690 002B02F0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B4694 002B02F4 7C 08 03 A6 */ mtlr r0 +/* 802B4698 002B02F8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B469C 002B02FC 4E 80 00 20 */ blr + +.global func_802B46A0 +func_802B46A0: +/* 802B46A0 002B0300 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 802B46A4 002B0304 7C 08 02 A6 */ mflr r0 +/* 802B46A8 002B0308 90 01 00 54 */ stw r0, 0x54(r1) +/* 802B46AC 002B030C 39 61 00 50 */ addi r11, r1, 0x50 +/* 802B46B0 002B0310 4B F1 2A 45 */ bl __save_gpr +/* 802B46B4 002B0314 2C 09 00 00 */ cmpwi r9, 0 +/* 802B46B8 002B0318 3F E0 80 44 */ lis r31, lbl_8043DA28@ha +/* 802B46BC 002B031C 82 E1 00 58 */ lwz r23, 0x58(r1) +/* 802B46C0 002B0320 7C 6F 1B 78 */ mr r15, r3 +/* 802B46C4 002B0324 89 C1 00 5F */ lbz r14, 0x5f(r1) +/* 802B46C8 002B0328 7C 90 23 78 */ mr r16, r4 +/* 802B46CC 002B032C 7C B1 2B 78 */ mr r17, r5 +/* 802B46D0 002B0330 7C D2 33 78 */ mr r18, r6 +/* 802B46D4 002B0334 7C F3 3B 78 */ mr r19, r7 +/* 802B46D8 002B0338 7D 14 43 78 */ mr r20, r8 +/* 802B46DC 002B033C 7D 35 4B 78 */ mr r21, r9 +/* 802B46E0 002B0340 7D 56 53 78 */ mr r22, r10 +/* 802B46E4 002B0344 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l +/* 802B46E8 002B0348 40 82 00 0C */ bne lbl_802B46F4 +/* 802B46EC 002B034C 2C 08 00 00 */ cmpwi r8, 0 +/* 802B46F0 002B0350 40 82 00 0C */ bne lbl_802B46FC +lbl_802B46F4: +/* 802B46F4 002B0354 55 20 06 FF */ clrlwi. r0, r9, 0x1b +/* 802B46F8 002B0358 41 82 00 18 */ beq lbl_802B4710 +lbl_802B46FC: +/* 802B46FC 002B035C 38 7F 03 28 */ addi r3, r31, 0x328 +/* 802B4700 002B0360 39 E0 FF FC */ li r15, -4 +/* 802B4704 002B0364 4C C6 31 82 */ crclr 6 +/* 802B4708 002B0368 4B FF F5 C1 */ bl func_802B3CC8 +/* 802B470C 002B036C 48 00 05 0C */ b lbl_802B4C18 +lbl_802B4710: +/* 802B4710 002B0370 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4714 002B0374 38 80 00 E0 */ li r4, 0xe0 +/* 802B4718 002B0378 38 A0 00 20 */ li r5, 0x20 +/* 802B471C 002B037C 4B FE FC 1D */ bl func_802A4338 +/* 802B4720 002B0380 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4724 002B0384 7C 7E 1B 78 */ mr r30, r3 +/* 802B4728 002B0388 40 82 00 1C */ bne lbl_802B4744 +/* 802B472C 002B038C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4730 002B0390 7F C6 F3 78 */ mr r6, r30 +/* 802B4734 002B0394 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B4738 002B0398 38 A0 00 E0 */ li r5, 0xe0 +/* 802B473C 002B039C 4C C6 31 82 */ crclr 6 +/* 802B4740 002B03A0 4B FF F5 89 */ bl func_802B3CC8 +lbl_802B4744: +/* 802B4744 002B03A4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4748 002B03A8 38 80 00 20 */ li r4, 0x20 +/* 802B474C 002B03AC 38 A0 00 20 */ li r5, 0x20 +/* 802B4750 002B03B0 4B FE FB E9 */ bl func_802A4338 +/* 802B4754 002B03B4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4758 002B03B8 7C 7D 1B 78 */ mr r29, r3 +/* 802B475C 002B03BC 40 82 00 1C */ bne lbl_802B4778 +/* 802B4760 002B03C0 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4764 002B03C4 7F A6 EB 78 */ mr r6, r29 +/* 802B4768 002B03C8 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B476C 002B03CC 38 A0 00 20 */ li r5, 0x20 +/* 802B4770 002B03D0 4C C6 31 82 */ crclr 6 +/* 802B4774 002B03D4 4B FF F5 55 */ bl func_802B3CC8 +lbl_802B4778: +/* 802B4778 002B03D8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B477C 002B03DC 38 80 00 20 */ li r4, 0x20 +/* 802B4780 002B03E0 38 A0 00 20 */ li r5, 0x20 +/* 802B4784 002B03E4 4B FE FB B5 */ bl func_802A4338 +/* 802B4788 002B03E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B478C 002B03EC 7C 7C 1B 78 */ mr r28, r3 +/* 802B4790 002B03F0 40 82 00 1C */ bne lbl_802B47AC +/* 802B4794 002B03F4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4798 002B03F8 7F 86 E3 78 */ mr r6, r28 +/* 802B479C 002B03FC 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B47A0 002B0400 38 A0 00 20 */ li r5, 0x20 +/* 802B47A4 002B0404 4C C6 31 82 */ crclr 6 +/* 802B47A8 002B0408 4B FF F5 21 */ bl func_802B3CC8 +lbl_802B47AC: +/* 802B47AC 002B040C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B47B0 002B0410 38 80 00 20 */ li r4, 0x20 +/* 802B47B4 002B0414 38 A0 00 20 */ li r5, 0x20 +/* 802B47B8 002B0418 4B FE FB 81 */ bl func_802A4338 +/* 802B47BC 002B041C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B47C0 002B0420 7C 7B 1B 78 */ mr r27, r3 +/* 802B47C4 002B0424 40 82 00 1C */ bne lbl_802B47E0 +/* 802B47C8 002B0428 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B47CC 002B042C 7F 66 DB 78 */ mr r6, r27 +/* 802B47D0 002B0430 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B47D4 002B0434 38 A0 00 20 */ li r5, 0x20 +/* 802B47D8 002B0438 4C C6 31 82 */ crclr 6 +/* 802B47DC 002B043C 4B FF F4 ED */ bl func_802B3CC8 +lbl_802B47E0: +/* 802B47E0 002B0440 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B47E4 002B0444 38 80 00 20 */ li r4, 0x20 +/* 802B47E8 002B0448 38 A0 00 20 */ li r5, 0x20 +/* 802B47EC 002B044C 4B FE FB 4D */ bl func_802A4338 +/* 802B47F0 002B0450 2C 03 00 00 */ cmpwi r3, 0 +/* 802B47F4 002B0454 7C 7A 1B 78 */ mr r26, r3 +/* 802B47F8 002B0458 40 82 00 1C */ bne lbl_802B4814 +/* 802B47FC 002B045C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4800 002B0460 7F 46 D3 78 */ mr r6, r26 +/* 802B4804 002B0464 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B4808 002B0468 38 A0 00 20 */ li r5, 0x20 +/* 802B480C 002B046C 4C C6 31 82 */ crclr 6 +/* 802B4810 002B0470 4B FF F4 B9 */ bl func_802B3CC8 +lbl_802B4814: +/* 802B4814 002B0474 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4818 002B0478 38 80 00 20 */ li r4, 0x20 +/* 802B481C 002B047C 38 A0 00 20 */ li r5, 0x20 +/* 802B4820 002B0480 4B FE FB 19 */ bl func_802A4338 +/* 802B4824 002B0484 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4828 002B0488 7C 79 1B 78 */ mr r25, r3 +/* 802B482C 002B048C 40 82 00 1C */ bne lbl_802B4848 +/* 802B4830 002B0490 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4834 002B0494 7F 26 CB 78 */ mr r6, r25 +/* 802B4838 002B0498 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B483C 002B049C 38 A0 00 20 */ li r5, 0x20 +/* 802B4840 002B04A0 4C C6 31 82 */ crclr 6 +/* 802B4844 002B04A4 4B FF F4 85 */ bl func_802B3CC8 +lbl_802B4848: +/* 802B4848 002B04A8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B484C 002B04AC 38 80 00 20 */ li r4, 0x20 +/* 802B4850 002B04B0 38 A0 00 20 */ li r5, 0x20 +/* 802B4854 002B04B4 4B FE FA E5 */ bl func_802A4338 +/* 802B4858 002B04B8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B485C 002B04BC 7C 78 1B 78 */ mr r24, r3 +/* 802B4860 002B04C0 40 82 00 1C */ bne lbl_802B487C +/* 802B4864 002B04C4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4868 002B04C8 7F 06 C3 78 */ mr r6, r24 +/* 802B486C 002B04CC 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B4870 002B04D0 38 A0 00 20 */ li r5, 0x20 +/* 802B4874 002B04D4 4C C6 31 82 */ crclr 6 +/* 802B4878 002B04D8 4B FF F4 51 */ bl func_802B3CC8 +lbl_802B487C: +/* 802B487C 002B04DC 2C 1D 00 00 */ cmpwi r29, 0 +/* 802B4880 002B04E0 41 82 00 34 */ beq lbl_802B48B4 +/* 802B4884 002B04E4 2C 1C 00 00 */ cmpwi r28, 0 +/* 802B4888 002B04E8 41 82 00 2C */ beq lbl_802B48B4 +/* 802B488C 002B04EC 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B4890 002B04F0 41 82 00 24 */ beq lbl_802B48B4 +/* 802B4894 002B04F4 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B4898 002B04F8 41 82 00 1C */ beq lbl_802B48B4 +/* 802B489C 002B04FC 2C 19 00 00 */ cmpwi r25, 0 +/* 802B48A0 002B0500 41 82 00 14 */ beq lbl_802B48B4 +/* 802B48A4 002B0504 2C 18 00 00 */ cmpwi r24, 0 +/* 802B48A8 002B0508 41 82 00 0C */ beq lbl_802B48B4 +/* 802B48AC 002B050C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B48B0 002B0510 40 82 00 18 */ bne lbl_802B48C8 +lbl_802B48B4: +/* 802B48B4 002B0514 38 7F 03 44 */ addi r3, r31, 0x344 +/* 802B48B8 002B0518 4C C6 31 82 */ crclr 6 +/* 802B48BC 002B051C 4B FF F4 0D */ bl func_802B3CC8 +/* 802B48C0 002B0520 39 E0 FF EA */ li r15, -22 +/* 802B48C4 002B0524 48 00 01 E8 */ b lbl_802B4AAC +lbl_802B48C8: +/* 802B48C8 002B0528 9A 1D 00 00 */ stb r16, 0(r29) +/* 802B48CC 002B052C 38 C0 00 00 */ li r6, 0 +/* 802B48D0 002B0530 38 A0 00 01 */ li r5, 1 +/* 802B48D4 002B0534 38 00 00 02 */ li r0, 2 +/* 802B48D8 002B0538 9A 3C 00 00 */ stb r17, 0(r28) +/* 802B48DC 002B053C 7F A3 EB 78 */ mr r3, r29 +/* 802B48E0 002B0540 38 80 00 20 */ li r4, 0x20 +/* 802B48E4 002B0544 7E 40 D7 2C */ sthbrx r18, 0, r26 +/* 802B48E8 002B0548 7E 60 CF 2C */ sthbrx r19, 0, r25 +/* 802B48EC 002B054C 7E 80 C7 2C */ sthbrx r20, 0, r24 +/* 802B48F0 002B0550 98 DB 00 00 */ stb r6, 0(r27) +/* 802B48F4 002B0554 93 BE 00 00 */ stw r29, 0(r30) +/* 802B48F8 002B0558 90 BE 00 04 */ stw r5, 4(r30) +/* 802B48FC 002B055C 93 9E 00 08 */ stw r28, 8(r30) +/* 802B4900 002B0560 90 BE 00 0C */ stw r5, 0xc(r30) +/* 802B4904 002B0564 93 5E 00 10 */ stw r26, 0x10(r30) +/* 802B4908 002B0568 90 1E 00 14 */ stw r0, 0x14(r30) +/* 802B490C 002B056C 93 3E 00 18 */ stw r25, 0x18(r30) +/* 802B4910 002B0570 90 1E 00 1C */ stw r0, 0x1c(r30) +/* 802B4914 002B0574 93 1E 00 20 */ stw r24, 0x20(r30) +/* 802B4918 002B0578 90 1E 00 24 */ stw r0, 0x24(r30) +/* 802B491C 002B057C 93 7E 00 28 */ stw r27, 0x28(r30) +/* 802B4920 002B0580 90 BE 00 2C */ stw r5, 0x2c(r30) +/* 802B4924 002B0584 92 BE 00 30 */ stw r21, 0x30(r30) +/* 802B4928 002B0588 92 9E 00 34 */ stw r20, 0x34(r30) +/* 802B492C 002B058C 4B FB 5D 29 */ bl DCFlushRange +/* 802B4930 002B0590 7F 83 E3 78 */ mr r3, r28 +/* 802B4934 002B0594 38 80 00 20 */ li r4, 0x20 +/* 802B4938 002B0598 4B FB 5D 1D */ bl DCFlushRange +/* 802B493C 002B059C 7F 63 DB 78 */ mr r3, r27 +/* 802B4940 002B05A0 38 80 00 20 */ li r4, 0x20 +/* 802B4944 002B05A4 4B FB 5D 11 */ bl DCFlushRange +/* 802B4948 002B05A8 7F 43 D3 78 */ mr r3, r26 +/* 802B494C 002B05AC 38 80 00 20 */ li r4, 0x20 +/* 802B4950 002B05B0 4B FB 5D 05 */ bl DCFlushRange +/* 802B4954 002B05B4 7F 23 CB 78 */ mr r3, r25 +/* 802B4958 002B05B8 38 80 00 20 */ li r4, 0x20 +/* 802B495C 002B05BC 4B FB 5C F9 */ bl DCFlushRange +/* 802B4960 002B05C0 7F 03 C3 78 */ mr r3, r24 +/* 802B4964 002B05C4 38 80 00 20 */ li r4, 0x20 +/* 802B4968 002B05C8 4B FB 5C ED */ bl DCFlushRange +/* 802B496C 002B05CC 7F C3 F3 78 */ mr r3, r30 +/* 802B4970 002B05D0 38 80 00 E0 */ li r4, 0xe0 +/* 802B4974 002B05D4 4B FB 5C E1 */ bl DCFlushRange +/* 802B4978 002B05D8 2C 0E 00 00 */ cmpwi r14, 0 +/* 802B497C 002B05DC 40 82 00 24 */ bne lbl_802B49A0 +/* 802B4980 002B05E0 7D E3 7B 78 */ mr r3, r15 +/* 802B4984 002B05E4 7F C7 F3 78 */ mr r7, r30 +/* 802B4988 002B05E8 38 80 00 00 */ li r4, 0 +/* 802B498C 002B05EC 38 A0 00 06 */ li r5, 6 +/* 802B4990 002B05F0 38 C0 00 01 */ li r6, 1 +/* 802B4994 002B05F4 4B FE F4 AD */ bl IOS_Ioctlv +/* 802B4998 002B05F8 7C 6F 1B 78 */ mr r15, r3 +/* 802B499C 002B05FC 48 00 01 10 */ b lbl_802B4AAC +lbl_802B49A0: +/* 802B49A0 002B0600 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B49A4 002B0604 38 80 00 80 */ li r4, 0x80 +/* 802B49A8 002B0608 38 A0 00 20 */ li r5, 0x20 +/* 802B49AC 002B060C 4B FE F9 8D */ bl func_802A4338 +/* 802B49B0 002B0610 2C 03 00 00 */ cmpwi r3, 0 +/* 802B49B4 002B0614 7C 6E 1B 78 */ mr r14, r3 +/* 802B49B8 002B0618 40 82 00 1C */ bne lbl_802B49D4 +/* 802B49BC 002B061C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B49C0 002B0620 7D C6 73 78 */ mr r6, r14 +/* 802B49C4 002B0624 38 7F 01 3C */ addi r3, r31, 0x13c +/* 802B49C8 002B0628 38 A0 00 80 */ li r5, 0x80 +/* 802B49CC 002B062C 4C C6 31 82 */ crclr 6 +/* 802B49D0 002B0630 4B FF F2 F9 */ bl func_802B3CC8 +lbl_802B49D4: +/* 802B49D4 002B0634 2C 0E 00 00 */ cmpwi r14, 0 +/* 802B49D8 002B0638 40 82 00 18 */ bne lbl_802B49F0 +/* 802B49DC 002B063C 38 7F 03 64 */ addi r3, r31, 0x364 +/* 802B49E0 002B0640 4C C6 31 82 */ crclr 6 +/* 802B49E4 002B0644 4B FF F2 E5 */ bl func_802B3CC8 +/* 802B49E8 002B0648 39 E0 FF EA */ li r15, -22 +/* 802B49EC 002B064C 48 00 00 C0 */ b lbl_802B4AAC +lbl_802B49F0: +/* 802B49F0 002B0650 92 CE 00 00 */ stw r22, 0(r14) +/* 802B49F4 002B0654 7E C4 B3 78 */ mr r4, r22 +/* 802B49F8 002B0658 7E E5 BB 78 */ mr r5, r23 +/* 802B49FC 002B065C 38 7F 03 8C */ addi r3, r31, 0x38c +/* 802B4A00 002B0660 92 EE 00 04 */ stw r23, 4(r14) +/* 802B4A04 002B0664 4C C6 31 82 */ crclr 6 +/* 802B4A08 002B0668 4B FF F2 19 */ bl func_802B3C20 +/* 802B4A0C 002B066C 38 00 00 07 */ li r0, 7 +/* 802B4A10 002B0670 3D 00 80 2B */ lis r8, lbl_802B3E74@ha +/* 802B4A14 002B0674 90 0E 00 2C */ stw r0, 0x2c(r14) +/* 802B4A18 002B0678 7D E3 7B 78 */ mr r3, r15 +/* 802B4A1C 002B067C 7F C7 F3 78 */ mr r7, r30 +/* 802B4A20 002B0680 7D C9 73 78 */ mr r9, r14 +/* 802B4A24 002B0684 93 AE 00 0C */ stw r29, 0xc(r14) +/* 802B4A28 002B0688 39 08 3E 74 */ addi r8, r8, lbl_802B3E74@l +/* 802B4A2C 002B068C 38 80 00 00 */ li r4, 0 +/* 802B4A30 002B0690 38 A0 00 06 */ li r5, 6 +/* 802B4A34 002B0694 93 8E 00 10 */ stw r28, 0x10(r14) +/* 802B4A38 002B0698 38 C0 00 01 */ li r6, 1 +/* 802B4A3C 002B069C 93 4E 00 14 */ stw r26, 0x14(r14) +/* 802B4A40 002B06A0 93 2E 00 18 */ stw r25, 0x18(r14) +/* 802B4A44 002B06A4 93 0E 00 1C */ stw r24, 0x1c(r14) +/* 802B4A48 002B06A8 93 6E 00 20 */ stw r27, 0x20(r14) +/* 802B4A4C 002B06AC 93 CE 00 24 */ stw r30, 0x24(r14) +/* 802B4A50 002B06B0 92 AE 00 40 */ stw r21, 0x40(r14) +/* 802B4A54 002B06B4 B2 8E 00 44 */ sth r20, 0x44(r14) +/* 802B4A58 002B06B8 4B FE F3 05 */ bl IOS_IoctlvAsync +/* 802B4A5C 002B06BC 7C 6F 1B 78 */ mr r15, r3 +/* 802B4A60 002B06C0 38 7F 03 B0 */ addi r3, r31, 0x3b0 +/* 802B4A64 002B06C4 7D E4 7B 78 */ mr r4, r15 +/* 802B4A68 002B06C8 4C C6 31 82 */ crclr 6 +/* 802B4A6C 002B06CC 4B FF F1 B5 */ bl func_802B3C20 +/* 802B4A70 002B06D0 2C 0F 00 00 */ cmpwi r15, 0 +/* 802B4A74 002B06D4 40 80 01 A4 */ bge lbl_802B4C18 +/* 802B4A78 002B06D8 2C 0E 00 00 */ cmpwi r14, 0 +/* 802B4A7C 002B06DC 41 82 00 30 */ beq lbl_802B4AAC +/* 802B4A80 002B06E0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4A84 002B06E4 7D C4 73 78 */ mr r4, r14 +/* 802B4A88 002B06E8 4B FE F8 B5 */ bl func_802A433C +/* 802B4A8C 002B06EC 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4A90 002B06F0 40 80 00 1C */ bge lbl_802B4AAC +/* 802B4A94 002B06F4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4A98 002B06F8 7C 66 1B 78 */ mr r6, r3 +/* 802B4A9C 002B06FC 7D C5 73 78 */ mr r5, r14 +/* 802B4AA0 002B0700 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4AA4 002B0704 4C C6 31 82 */ crclr 6 +/* 802B4AA8 002B0708 4B FF F2 21 */ bl func_802B3CC8 +lbl_802B4AAC: +/* 802B4AAC 002B070C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802B4AB0 002B0710 41 82 00 30 */ beq lbl_802B4AE0 +/* 802B4AB4 002B0714 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4AB8 002B0718 7F A4 EB 78 */ mr r4, r29 +/* 802B4ABC 002B071C 4B FE F8 81 */ bl func_802A433C +/* 802B4AC0 002B0720 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4AC4 002B0724 40 80 00 1C */ bge lbl_802B4AE0 +/* 802B4AC8 002B0728 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4ACC 002B072C 7C 66 1B 78 */ mr r6, r3 +/* 802B4AD0 002B0730 7F A5 EB 78 */ mr r5, r29 +/* 802B4AD4 002B0734 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4AD8 002B0738 4C C6 31 82 */ crclr 6 +/* 802B4ADC 002B073C 4B FF F1 ED */ bl func_802B3CC8 +lbl_802B4AE0: +/* 802B4AE0 002B0740 2C 1C 00 00 */ cmpwi r28, 0 +/* 802B4AE4 002B0744 41 82 00 30 */ beq lbl_802B4B14 +/* 802B4AE8 002B0748 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4AEC 002B074C 7F 84 E3 78 */ mr r4, r28 +/* 802B4AF0 002B0750 4B FE F8 4D */ bl func_802A433C +/* 802B4AF4 002B0754 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4AF8 002B0758 40 80 00 1C */ bge lbl_802B4B14 +/* 802B4AFC 002B075C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4B00 002B0760 7C 66 1B 78 */ mr r6, r3 +/* 802B4B04 002B0764 7F 85 E3 78 */ mr r5, r28 +/* 802B4B08 002B0768 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4B0C 002B076C 4C C6 31 82 */ crclr 6 +/* 802B4B10 002B0770 4B FF F1 B9 */ bl func_802B3CC8 +lbl_802B4B14: +/* 802B4B14 002B0774 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B4B18 002B0778 41 82 00 30 */ beq lbl_802B4B48 +/* 802B4B1C 002B077C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4B20 002B0780 7F 44 D3 78 */ mr r4, r26 +/* 802B4B24 002B0784 4B FE F8 19 */ bl func_802A433C +/* 802B4B28 002B0788 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4B2C 002B078C 40 80 00 1C */ bge lbl_802B4B48 +/* 802B4B30 002B0790 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4B34 002B0794 7C 66 1B 78 */ mr r6, r3 +/* 802B4B38 002B0798 7F 45 D3 78 */ mr r5, r26 +/* 802B4B3C 002B079C 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4B40 002B07A0 4C C6 31 82 */ crclr 6 +/* 802B4B44 002B07A4 4B FF F1 85 */ bl func_802B3CC8 +lbl_802B4B48: +/* 802B4B48 002B07A8 2C 19 00 00 */ cmpwi r25, 0 +/* 802B4B4C 002B07AC 41 82 00 30 */ beq lbl_802B4B7C +/* 802B4B50 002B07B0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4B54 002B07B4 7F 24 CB 78 */ mr r4, r25 +/* 802B4B58 002B07B8 4B FE F7 E5 */ bl func_802A433C +/* 802B4B5C 002B07BC 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4B60 002B07C0 40 80 00 1C */ bge lbl_802B4B7C +/* 802B4B64 002B07C4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4B68 002B07C8 7C 66 1B 78 */ mr r6, r3 +/* 802B4B6C 002B07CC 7F 25 CB 78 */ mr r5, r25 +/* 802B4B70 002B07D0 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4B74 002B07D4 4C C6 31 82 */ crclr 6 +/* 802B4B78 002B07D8 4B FF F1 51 */ bl func_802B3CC8 +lbl_802B4B7C: +/* 802B4B7C 002B07DC 2C 18 00 00 */ cmpwi r24, 0 +/* 802B4B80 002B07E0 41 82 00 30 */ beq lbl_802B4BB0 +/* 802B4B84 002B07E4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4B88 002B07E8 7F 04 C3 78 */ mr r4, r24 +/* 802B4B8C 002B07EC 4B FE F7 B1 */ bl func_802A433C +/* 802B4B90 002B07F0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4B94 002B07F4 40 80 00 1C */ bge lbl_802B4BB0 +/* 802B4B98 002B07F8 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4B9C 002B07FC 7C 66 1B 78 */ mr r6, r3 +/* 802B4BA0 002B0800 7F 05 C3 78 */ mr r5, r24 +/* 802B4BA4 002B0804 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4BA8 002B0808 4C C6 31 82 */ crclr 6 +/* 802B4BAC 002B080C 4B FF F1 1D */ bl func_802B3CC8 +lbl_802B4BB0: +/* 802B4BB0 002B0810 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B4BB4 002B0814 41 82 00 30 */ beq lbl_802B4BE4 +/* 802B4BB8 002B0818 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4BBC 002B081C 7F 64 DB 78 */ mr r4, r27 +/* 802B4BC0 002B0820 4B FE F7 7D */ bl func_802A433C +/* 802B4BC4 002B0824 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4BC8 002B0828 40 80 00 1C */ bge lbl_802B4BE4 +/* 802B4BCC 002B082C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4BD0 002B0830 7C 66 1B 78 */ mr r6, r3 +/* 802B4BD4 002B0834 7F 65 DB 78 */ mr r5, r27 +/* 802B4BD8 002B0838 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4BDC 002B083C 4C C6 31 82 */ crclr 6 +/* 802B4BE0 002B0840 4B FF F0 E9 */ bl func_802B3CC8 +lbl_802B4BE4: +/* 802B4BE4 002B0844 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B4BE8 002B0848 41 82 00 30 */ beq lbl_802B4C18 +/* 802B4BEC 002B084C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4BF0 002B0850 7F C4 F3 78 */ mr r4, r30 +/* 802B4BF4 002B0854 4B FE F7 49 */ bl func_802A433C +/* 802B4BF8 002B0858 2C 03 00 00 */ cmpwi r3, 0 +/* 802B4BFC 002B085C 40 80 00 1C */ bge lbl_802B4C18 +/* 802B4C00 002B0860 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13) +/* 802B4C04 002B0864 7C 66 1B 78 */ mr r6, r3 +/* 802B4C08 002B0868 7F C5 F3 78 */ mr r5, r30 +/* 802B4C0C 002B086C 38 7F 01 08 */ addi r3, r31, 0x108 +/* 802B4C10 002B0870 4C C6 31 82 */ crclr 6 +/* 802B4C14 002B0874 4B FF F0 B5 */ bl func_802B3CC8 +lbl_802B4C18: +/* 802B4C18 002B0878 39 61 00 50 */ addi r11, r1, 0x50 +/* 802B4C1C 002B087C 7D E3 7B 78 */ mr r3, r15 +/* 802B4C20 002B0880 4B F1 25 21 */ bl __restore_gpr +/* 802B4C24 002B0884 80 01 00 54 */ lwz r0, 0x54(r1) +/* 802B4C28 002B0888 7C 08 03 A6 */ mtlr r0 +/* 802B4C2C 002B088C 38 21 00 50 */ addi r1, r1, 0x50 +/* 802B4C30 002B0890 4E 80 00 20 */ blr + +.global func_802B4C34 +func_802B4C34: +/* 802B4C34 002B0894 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802B4C38 002B0898 7C 08 02 A6 */ mflr r0 +/* 802B4C3C 002B089C 90 01 00 44 */ stw r0, 0x44(r1) +/* 802B4C40 002B08A0 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B4C44 002B08A4 4B F1 24 D5 */ bl _savegpr_23 +/* 802B4C48 002B08A8 7D 1C 43 78 */ mr r28, r8 +/* 802B4C4C 002B08AC 7D 3D 4B 78 */ mr r29, r9 +/* 802B4C50 002B08B0 7C 77 1B 78 */ mr r23, r3 +/* 802B4C54 002B08B4 7C 98 23 78 */ mr r24, r4 +/* 802B4C58 002B08B8 83 E1 00 48 */ lwz r31, 0x48(r1) +/* 802B4C5C 002B08BC 7C B9 2B 78 */ mr r25, r5 +/* 802B4C60 002B08C0 7C DA 33 78 */ mr r26, r6 +/* 802B4C64 002B08C4 7C FB 3B 78 */ mr r27, r7 +/* 802B4C68 002B08C8 7D 5E 53 78 */ mr r30, r10 +/* 802B4C6C 002B08CC 7F A3 EB 78 */ mr r3, r29 +/* 802B4C70 002B08D0 7F 84 E3 78 */ mr r4, r28 +/* 802B4C74 002B08D4 4B FB 59 E1 */ bl DCFlushRange +/* 802B4C78 002B08D8 93 E1 00 08 */ stw r31, 8(r1) +/* 802B4C7C 002B08DC 38 00 00 01 */ li r0, 1 +/* 802B4C80 002B08E0 7E E3 BB 78 */ mr r3, r23 +/* 802B4C84 002B08E4 7F 04 C3 78 */ mr r4, r24 +/* 802B4C88 002B08E8 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B4C8C 002B08EC 7F 25 CB 78 */ mr r5, r25 +/* 802B4C90 002B08F0 7F 46 D3 78 */ mr r6, r26 +/* 802B4C94 002B08F4 7F 67 DB 78 */ mr r7, r27 +/* 802B4C98 002B08F8 7F 88 E3 78 */ mr r8, r28 +/* 802B4C9C 002B08FC 7F A9 EB 78 */ mr r9, r29 +/* 802B4CA0 002B0900 7F CA F3 78 */ mr r10, r30 +/* 802B4CA4 002B0904 4B FF F9 FD */ bl func_802B46A0 +/* 802B4CA8 002B0908 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B4CAC 002B090C 4B F1 24 B9 */ bl _restgpr_23 +/* 802B4CB0 002B0910 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802B4CB4 002B0914 7C 08 03 A6 */ mtlr r0 +/* 802B4CB8 002B0918 38 21 00 40 */ addi r1, r1, 0x40 +/* 802B4CBC 002B091C 4E 80 00 20 */ blr + +.global func_802B4CC0 +func_802B4CC0: +/* 802B4CC0 002B0920 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B4CC4 002B0924 7C 08 02 A6 */ mflr r0 +/* 802B4CC8 002B0928 3C 80 80 44 */ lis r4, lbl_8043E124@ha +/* 802B4CCC 002B092C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B4CD0 002B0930 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B4CD4 002B0934 7C 7F 1B 78 */ mr r31, r3 +/* 802B4CD8 002B0938 38 64 E1 24 */ addi r3, r4, lbl_8043E124@l +/* 802B4CDC 002B093C 4C C6 31 82 */ crclr 6 +/* 802B4CE0 002B0940 48 00 48 9D */ bl func_802B957C +/* 802B4CE4 002B0944 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B4CE8 002B0948 7F E3 FB 78 */ mr r3, r31 +/* 802B4CEC 002B094C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B4CF0 002B0950 81 84 06 F4 */ lwz r12, 0x6f4(r4) +/* 802B4CF4 002B0954 7D 89 03 A6 */ mtctr r12 +/* 802B4CF8 002B0958 4E 80 04 21 */ bctrl +/* 802B4CFC 002B095C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B4D00 002B0960 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B4D04 002B0964 7C 08 03 A6 */ mtlr r0 +/* 802B4D08 002B0968 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B4D0C 002B096C 4E 80 00 20 */ blr +lbl_802B4D10: +/* 802B4D10 002B0970 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B4D14 002B0974 7C 08 02 A6 */ mflr r0 +/* 802B4D18 002B0978 3C 80 80 44 */ lis r4, lbl_8043E134@ha +/* 802B4D1C 002B097C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B4D20 002B0980 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B4D24 002B0984 7C 7F 1B 78 */ mr r31, r3 +/* 802B4D28 002B0988 38 64 E1 34 */ addi r3, r4, lbl_8043E134@l +/* 802B4D2C 002B098C 4C C6 31 82 */ crclr 6 +/* 802B4D30 002B0990 48 00 48 4D */ bl func_802B957C +/* 802B4D34 002B0994 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B4D38 002B0998 7F E3 FB 78 */ mr r3, r31 +/* 802B4D3C 002B099C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B4D40 002B09A0 81 84 06 F8 */ lwz r12, 0x6f8(r4) +/* 802B4D44 002B09A4 7D 89 03 A6 */ mtctr r12 +/* 802B4D48 002B09A8 4E 80 04 21 */ bctrl +/* 802B4D4C 002B09AC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B4D50 002B09B0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B4D54 002B09B4 7C 08 03 A6 */ mtlr r0 +/* 802B4D58 002B09B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B4D5C 002B09BC 4E 80 00 20 */ blr +lbl_802B4D60: +/* 802B4D60 002B09C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B4D64 002B09C4 7C 08 02 A6 */ mflr r0 +/* 802B4D68 002B09C8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B4D6C 002B09CC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B4D70 002B09D0 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B4D74 002B09D4 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B4D78 002B09D8 93 C1 00 08 */ stw r30, 8(r1) +/* 802B4D7C 002B09DC 7C 7E 1B 78 */ mr r30, r3 +/* 802B4D80 002B09E0 3C 60 80 44 */ lis r3, lbl_8043E144@ha +/* 802B4D84 002B09E4 88 BF 00 0C */ lbz r5, 0xc(r31) +/* 802B4D88 002B09E8 7F C4 F3 78 */ mr r4, r30 +/* 802B4D8C 002B09EC 38 63 E1 44 */ addi r3, r3, lbl_8043E144@l +/* 802B4D90 002B09F0 4C C6 31 82 */ crclr 6 +/* 802B4D94 002B09F4 48 00 47 E9 */ bl func_802B957C +/* 802B4D98 002B09F8 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 802B4D9C 002B09FC 2C 00 00 00 */ cmpwi r0, 0 +/* 802B4DA0 002B0A00 41 82 00 20 */ beq lbl_802B4DC0 +/* 802B4DA4 002B0A04 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B4DA8 002B0A08 40 82 00 10 */ bne lbl_802B4DB8 +/* 802B4DAC 002B0A0C 38 00 00 17 */ li r0, 0x17 +/* 802B4DB0 002B0A10 98 1F 00 0C */ stb r0, 0xc(r31) +/* 802B4DB4 002B0A14 48 00 00 0C */ b lbl_802B4DC0 +lbl_802B4DB8: +/* 802B4DB8 002B0A18 38 00 00 FF */ li r0, 0xff +/* 802B4DBC 002B0A1C 98 1F 00 0C */ stb r0, 0xc(r31) +lbl_802B4DC0: +/* 802B4DC0 002B0A20 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B4DC4 002B0A24 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B4DC8 002B0A28 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B4DCC 002B0A2C 7C 08 03 A6 */ mtlr r0 +/* 802B4DD0 002B0A30 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B4DD4 002B0A34 4E 80 00 20 */ blr +lbl_802B4DD8: +/* 802B4DD8 002B0A38 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B4DDC 002B0A3C 7C 08 02 A6 */ mflr r0 +/* 802B4DE0 002B0A40 3C C0 80 44 */ lis r6, lbl_8043E168@ha +/* 802B4DE4 002B0A44 7C 64 1B 78 */ mr r4, r3 +/* 802B4DE8 002B0A48 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B4DEC 002B0A4C 38 66 E1 68 */ addi r3, r6, lbl_8043E168@l +/* 802B4DF0 002B0A50 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B4DF4 002B0A54 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B4DF8 002B0A58 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B4DFC 002B0A5C 88 BF 00 0D */ lbz r5, 0xd(r31) +/* 802B4E00 002B0A60 4C C6 31 82 */ crclr 6 +/* 802B4E04 002B0A64 48 00 47 79 */ bl func_802B957C +/* 802B4E08 002B0A68 88 1F 00 0D */ lbz r0, 0xd(r31) +/* 802B4E0C 002B0A6C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B4E10 002B0A70 41 82 00 0C */ beq lbl_802B4E1C +/* 802B4E14 002B0A74 38 00 00 08 */ li r0, 8 +/* 802B4E18 002B0A78 98 1F 00 0D */ stb r0, 0xd(r31) +lbl_802B4E1C: +/* 802B4E1C 002B0A7C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B4E20 002B0A80 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B4E24 002B0A84 7C 08 03 A6 */ mtlr r0 +/* 802B4E28 002B0A88 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B4E2C 002B0A8C 4E 80 00 20 */ blr +lbl_802B4E30: +/* 802B4E30 002B0A90 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B4E34 002B0A94 7C 08 02 A6 */ mflr r0 +/* 802B4E38 002B0A98 3C C0 80 44 */ lis r6, lbl_8043E190@ha +/* 802B4E3C 002B0A9C 7C 64 1B 78 */ mr r4, r3 +/* 802B4E40 002B0AA0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B4E44 002B0AA4 38 66 E1 90 */ addi r3, r6, lbl_8043E190@l +/* 802B4E48 002B0AA8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B4E4C 002B0AAC 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B4E50 002B0AB0 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B4E54 002B0AB4 88 BF 00 11 */ lbz r5, 0x11(r31) +/* 802B4E58 002B0AB8 4C C6 31 82 */ crclr 6 +/* 802B4E5C 002B0ABC 48 00 47 21 */ bl func_802B957C +/* 802B4E60 002B0AC0 38 7F 07 10 */ addi r3, r31, 0x710 +/* 802B4E64 002B0AC4 4B FB 4C 15 */ bl OSCancelAlarm +/* 802B4E68 002B0AC8 38 00 00 03 */ li r0, 3 +/* 802B4E6C 002B0ACC 98 1F 00 11 */ stb r0, 0x11(r31) +/* 802B4E70 002B0AD0 48 00 B2 45 */ bl func_802C00B4 +/* 802B4E74 002B0AD4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B4E78 002B0AD8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B4E7C 002B0ADC 7C 08 03 A6 */ mtlr r0 +/* 802B4E80 002B0AE0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B4E84 002B0AE4 4E 80 00 20 */ blr + +.global THPSimpleAudioStop +THPSimpleAudioStop: +/* 802B4E88 002B0AE8 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B4E8C 002B0AEC 38 00 00 01 */ li r0, 1 +/* 802B4E90 002B0AF0 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l +/* 802B4E94 002B0AF4 98 03 00 0C */ stb r0, 0xc(r3) +/* 802B4E98 002B0AF8 4E 80 00 20 */ blr + +.global func_802B4E9C +func_802B4E9C: +/* 802B4E9C 002B0AFC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B4EA0 002B0B00 7C 08 02 A6 */ mflr r0 +/* 802B4EA4 002B0B04 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B4EA8 002B0B08 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B4EAC 002B0B0C 4B F1 22 7D */ bl _savegpr_27 +/* 802B4EB0 002B0B10 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B4EB4 002B0B14 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B4EB8 002B0B18 4B FB 98 A5 */ bl OSDisableInterrupts +/* 802B4EBC 002B0B1C 38 00 00 00 */ li r0, 0 +/* 802B4EC0 002B0B20 98 1F 06 EB */ stb r0, 0x6eb(r31) +/* 802B4EC4 002B0B24 98 1F 06 EA */ stb r0, 0x6ea(r31) +/* 802B4EC8 002B0B28 4B FB 98 BD */ bl OSRestoreInterrupts +/* 802B4ECC 002B0B2C 38 60 00 00 */ li r3, 0 +/* 802B4ED0 002B0B30 38 80 00 00 */ li r4, 0 +/* 802B4ED4 002B0B34 48 00 B2 B5 */ bl func_802C0188 +/* 802B4ED8 002B0B38 88 1F 06 E8 */ lbz r0, 0x6e8(r31) +/* 802B4EDC 002B0B3C 7C 00 07 75 */ extsb. r0, r0 +/* 802B4EE0 002B0B40 40 82 00 0C */ bne lbl_802B4EEC +/* 802B4EE4 002B0B44 38 60 00 0E */ li r3, 0xe +/* 802B4EE8 002B0B48 48 00 00 F4 */ b lbl_802B4FDC +lbl_802B4EEC: +/* 802B4EEC 002B0B4C 4B FB 98 71 */ bl OSDisableInterrupts +/* 802B4EF0 002B0B50 8B DF 06 E5 */ lbz r30, 0x6e5(r31) +/* 802B4EF4 002B0B54 4B FB 98 91 */ bl OSRestoreInterrupts +/* 802B4EF8 002B0B58 28 1E 00 04 */ cmplwi r30, 4 +/* 802B4EFC 002B0B5C 40 82 00 20 */ bne lbl_802B4F1C +/* 802B4F00 002B0B60 4B FB 98 5D */ bl OSDisableInterrupts +/* 802B4F04 002B0B64 8B DF 06 E4 */ lbz r30, 0x6e4(r31) +/* 802B4F08 002B0B68 4B FB 98 7D */ bl OSRestoreInterrupts +/* 802B4F0C 002B0B6C 28 1E 00 04 */ cmplwi r30, 4 +/* 802B4F10 002B0B70 40 82 00 0C */ bne lbl_802B4F1C +/* 802B4F14 002B0B74 38 60 00 0E */ li r3, 0xe +/* 802B4F18 002B0B78 48 00 00 C4 */ b lbl_802B4FDC +lbl_802B4F1C: +/* 802B4F1C 002B0B7C 88 1F 06 E7 */ lbz r0, 0x6e7(r31) +/* 802B4F20 002B0B80 2C 00 00 00 */ cmpwi r0, 0 +/* 802B4F24 002B0B84 41 82 00 A0 */ beq lbl_802B4FC4 +/* 802B4F28 002B0B88 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B4F2C 002B0B8C 3B 60 00 00 */ li r27, 0 +/* 802B4F30 002B0B90 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B4F34 002B0B94 3B 80 00 00 */ li r28, 0 +lbl_802B4F38: +/* 802B4F38 002B0B98 4B FB 98 25 */ bl OSDisableInterrupts +/* 802B4F3C 002B0B9C 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B4F40 002B0BA0 41 80 00 18 */ blt lbl_802B4F58 +/* 802B4F44 002B0BA4 2C 1B 00 0A */ cmpwi r27, 0xa +/* 802B4F48 002B0BA8 40 80 00 10 */ bge lbl_802B4F58 +/* 802B4F4C 002B0BAC 7C 9D E2 14 */ add r4, r29, r28 +/* 802B4F50 002B0BB0 3B C4 00 E4 */ addi r30, r4, 0xe4 +/* 802B4F54 002B0BB4 48 00 00 14 */ b lbl_802B4F68 +lbl_802B4F58: +/* 802B4F58 002B0BB8 38 1B FF F6 */ addi r0, r27, -10 +/* 802B4F5C 002B0BBC 1C 00 00 60 */ mulli r0, r0, 0x60 +/* 802B4F60 002B0BC0 7C 9D 02 14 */ add r4, r29, r0 +/* 802B4F64 002B0BC4 3B C4 04 A4 */ addi r30, r4, 0x4a4 +lbl_802B4F68: +/* 802B4F68 002B0BC8 4B FB 98 1D */ bl OSRestoreInterrupts +/* 802B4F6C 002B0BCC 88 1E 00 59 */ lbz r0, 0x59(r30) +/* 802B4F70 002B0BD0 28 00 00 09 */ cmplwi r0, 9 +/* 802B4F74 002B0BD4 40 82 00 40 */ bne lbl_802B4FB4 +/* 802B4F78 002B0BD8 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B4F7C 002B0BDC 38 C0 00 00 */ li r6, 0 +/* 802B4F80 002B0BE0 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l +/* 802B4F84 002B0BE4 38 00 00 01 */ li r0, 1 +/* 802B4F88 002B0BE8 98 C1 00 10 */ stb r6, 0x10(r1) +/* 802B4F8C 002B0BEC 38 9E 00 40 */ addi r4, r30, 0x40 +/* 802B4F90 002B0BF0 88 63 07 0A */ lbz r3, 0x70a(r3) +/* 802B4F94 002B0BF4 38 A1 00 08 */ addi r5, r1, 8 +/* 802B4F98 002B0BF8 B0 C1 00 08 */ sth r6, 8(r1) +/* 802B4F9C 002B0BFC B0 C1 00 0A */ sth r6, 0xa(r1) +/* 802B4FA0 002B0C00 B0 01 00 0C */ sth r0, 0xc(r1) +/* 802B4FA4 002B0C04 B0 C1 00 0E */ sth r6, 0xe(r1) +/* 802B4FA8 002B0C08 48 01 3F 01 */ bl func_802C8EA8 +/* 802B4FAC 002B0C0C 38 60 00 01 */ li r3, 1 +/* 802B4FB0 002B0C10 48 00 00 2C */ b lbl_802B4FDC +lbl_802B4FB4: +/* 802B4FB4 002B0C14 3B 7B 00 01 */ addi r27, r27, 1 +/* 802B4FB8 002B0C18 3B 9C 00 60 */ addi r28, r28, 0x60 +/* 802B4FBC 002B0C1C 2C 1B 00 10 */ cmpwi r27, 0x10 +/* 802B4FC0 002B0C20 41 80 FF 78 */ blt lbl_802B4F38 +lbl_802B4FC4: +/* 802B4FC4 002B0C24 88 7F 06 E8 */ lbz r3, 0x6e8(r31) +/* 802B4FC8 002B0C28 7C 60 07 75 */ extsb. r0, r3 +/* 802B4FCC 002B0C2C 40 81 00 0C */ ble lbl_802B4FD8 +/* 802B4FD0 002B0C30 38 03 FF FF */ addi r0, r3, -1 +/* 802B4FD4 002B0C34 98 1F 06 E8 */ stb r0, 0x6e8(r31) +lbl_802B4FD8: +/* 802B4FD8 002B0C38 38 60 00 02 */ li r3, 2 +lbl_802B4FDC: +/* 802B4FDC 002B0C3C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B4FE0 002B0C40 4B F1 21 95 */ bl _restgpr_27 +/* 802B4FE4 002B0C44 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B4FE8 002B0C48 7C 08 03 A6 */ mtlr r0 +/* 802B4FEC 002B0C4C 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B4FF0 002B0C50 4E 80 00 20 */ blr + +.global func_802B4FF4 +func_802B4FF4: +/* 802B4FF4 002B0C54 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B4FF8 002B0C58 7C 08 02 A6 */ mflr r0 +/* 802B4FFC 002B0C5C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B5000 002B0C60 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B5004 002B0C64 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B5008 002B0C68 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B500C 002B0C6C 93 81 00 10 */ stw r28, 0x10(r1) +/* 802B5010 002B0C70 48 03 59 DD */ bl func_802EA9EC +/* 802B5014 002B0C74 20 83 00 01 */ subfic r4, r3, 1 +/* 802B5018 002B0C78 38 03 FF FF */ addi r0, r3, -1 +/* 802B501C 002B0C7C 7C 80 03 78 */ or r0, r4, r0 +/* 802B5020 002B0C80 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f +/* 802B5024 002B0C84 40 82 00 0C */ bne lbl_802B5030 +/* 802B5028 002B0C88 38 60 00 16 */ li r3, 0x16 +/* 802B502C 002B0C8C 48 00 00 B4 */ b lbl_802B50E0 +lbl_802B5030: +/* 802B5030 002B0C90 3F A0 80 54 */ lis r29, lbl_8053AC28@ha +/* 802B5034 002B0C94 38 80 00 00 */ li r4, 0 +/* 802B5038 002B0C98 3B DD AC 28 */ addi r30, r29, lbl_8053AC28@l +/* 802B503C 002B0C9C 38 A0 02 BC */ li r5, 0x2bc +/* 802B5040 002B0CA0 38 7E 00 01 */ addi r3, r30, 1 +/* 802B5044 002B0CA4 4B D4 F0 C1 */ bl memset +/* 802B5048 002B0CA8 4B FB 97 15 */ bl OSDisableInterrupts +/* 802B504C 002B0CAC 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B5050 002B0CB0 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B5054 002B0CB4 8B 9F 00 12 */ lbz r28, 0x12(r31) +/* 802B5058 002B0CB8 4B FB 97 2D */ bl OSRestoreInterrupts +/* 802B505C 002B0CBC 9B 9D AC 28 */ stb r28, -0x53d8(r29) +/* 802B5060 002B0CC0 3B A0 00 00 */ li r29, 0 +/* 802B5064 002B0CC4 83 FF 00 64 */ lwz r31, 0x64(r31) +/* 802B5068 002B0CC8 48 00 00 40 */ b lbl_802B50A8 +lbl_802B506C: +/* 802B506C 002B0CCC 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802B5070 002B0CD0 80 7F 00 00 */ lwz r3, 0(r31) +/* 802B5074 002B0CD4 1F 80 00 46 */ mulli r28, r0, 0x46 +/* 802B5078 002B0CD8 38 A0 00 06 */ li r5, 6 +/* 802B507C 002B0CDC 38 83 00 40 */ addi r4, r3, 0x40 +/* 802B5080 002B0CE0 7C 7E E2 14 */ add r3, r30, r28 +/* 802B5084 002B0CE4 38 63 00 01 */ addi r3, r3, 1 +/* 802B5088 002B0CE8 4B D4 EF 79 */ bl memcpy +/* 802B508C 002B0CEC 7C 7E E2 14 */ add r3, r30, r28 +/* 802B5090 002B0CF0 80 9F 00 00 */ lwz r4, 0(r31) +/* 802B5094 002B0CF4 38 63 00 07 */ addi r3, r3, 7 +/* 802B5098 002B0CF8 38 A0 00 40 */ li r5, 0x40 +/* 802B509C 002B0CFC 4B D4 EF 65 */ bl memcpy +/* 802B50A0 002B0D00 83 FF 00 08 */ lwz r31, 8(r31) +/* 802B50A4 002B0D04 3B BD 00 01 */ addi r29, r29, 1 +lbl_802B50A8: +/* 802B50A8 002B0D08 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B50AC 002B0D0C 40 82 FF C0 */ bne lbl_802B506C +/* 802B50B0 002B0D10 3C 60 80 44 */ lis r3, lbl_8043E1B8@ha +/* 802B50B4 002B0D14 57 A4 06 3E */ clrlwi r4, r29, 0x18 +/* 802B50B8 002B0D18 38 63 E1 B8 */ addi r3, r3, lbl_8043E1B8@l +/* 802B50BC 002B0D1C 4C C6 31 82 */ crclr 6 +/* 802B50C0 002B0D20 48 00 44 BD */ bl func_802B957C +/* 802B50C4 002B0D24 3C 60 80 54 */ lis r3, lbl_8053AC28@ha +/* 802B50C8 002B0D28 38 63 AC 28 */ addi r3, r3, lbl_8053AC28@l +/* 802B50CC 002B0D2C 48 03 75 41 */ bl func_802EC60C +/* 802B50D0 002B0D30 2C 03 00 00 */ cmpwi r3, 0 +/* 802B50D4 002B0D34 38 60 00 16 */ li r3, 0x16 +/* 802B50D8 002B0D38 41 82 00 08 */ beq lbl_802B50E0 +/* 802B50DC 002B0D3C 38 60 00 19 */ li r3, 0x19 +lbl_802B50E0: +/* 802B50E0 002B0D40 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B50E4 002B0D44 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B50E8 002B0D48 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B50EC 002B0D4C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B50F0 002B0D50 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802B50F4 002B0D54 7C 08 03 A6 */ mtlr r0 +/* 802B50F8 002B0D58 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B50FC 002B0D5C 4E 80 00 20 */ blr + +.global func_802B5100 +func_802B5100: +/* 802B5100 002B0D60 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B5104 002B0D64 7C 08 02 A6 */ mflr r0 +/* 802B5108 002B0D68 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B510C 002B0D6C 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B5110 002B0D70 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802B5114 002B0D74 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802B5118 002B0D78 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802B511C 002B0D7C 3B A3 A4 E0 */ addi r29, r3, lbl_8053A4E0@l +/* 802B5120 002B0D80 93 81 00 20 */ stw r28, 0x20(r1) +/* 802B5124 002B0D84 88 1D 06 E7 */ lbz r0, 0x6e7(r29) +/* 802B5128 002B0D88 2C 00 00 00 */ cmpwi r0, 0 +/* 802B512C 002B0D8C 41 82 00 A0 */ beq lbl_802B51CC +/* 802B5130 002B0D90 3B 80 00 00 */ li r28, 0 +/* 802B5134 002B0D94 3B C0 00 00 */ li r30, 0 +lbl_802B5138: +/* 802B5138 002B0D98 4B FB 96 25 */ bl OSDisableInterrupts +/* 802B513C 002B0D9C 2C 1C 00 00 */ cmpwi r28, 0 +/* 802B5140 002B0DA0 41 80 00 18 */ blt lbl_802B5158 +/* 802B5144 002B0DA4 2C 1C 00 0A */ cmpwi r28, 0xa +/* 802B5148 002B0DA8 40 80 00 10 */ bge lbl_802B5158 +/* 802B514C 002B0DAC 7C 9D F2 14 */ add r4, r29, r30 +/* 802B5150 002B0DB0 3B E4 00 E4 */ addi r31, r4, 0xe4 +/* 802B5154 002B0DB4 48 00 00 14 */ b lbl_802B5168 +lbl_802B5158: +/* 802B5158 002B0DB8 38 1C FF F6 */ addi r0, r28, -10 +/* 802B515C 002B0DBC 1C 00 00 60 */ mulli r0, r0, 0x60 +/* 802B5160 002B0DC0 7C 9D 02 14 */ add r4, r29, r0 +/* 802B5164 002B0DC4 3B E4 04 A4 */ addi r31, r4, 0x4a4 +lbl_802B5168: +/* 802B5168 002B0DC8 4B FB 96 1D */ bl OSRestoreInterrupts +/* 802B516C 002B0DCC 88 1F 00 59 */ lbz r0, 0x59(r31) +/* 802B5170 002B0DD0 28 00 00 08 */ cmplwi r0, 8 +/* 802B5174 002B0DD4 40 82 00 48 */ bne lbl_802B51BC +/* 802B5178 002B0DD8 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B517C 002B0DDC 38 E0 00 08 */ li r7, 8 +/* 802B5180 002B0DE0 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l +/* 802B5184 002B0DE4 38 80 00 02 */ li r4, 2 +/* 802B5188 002B0DE8 38 C0 00 01 */ li r6, 1 +/* 802B518C 002B0DEC 38 00 00 00 */ li r0, 0 +/* 802B5190 002B0DF0 98 81 00 10 */ stb r4, 0x10(r1) +/* 802B5194 002B0DF4 38 9F 00 40 */ addi r4, r31, 0x40 +/* 802B5198 002B0DF8 88 63 07 0A */ lbz r3, 0x70a(r3) +/* 802B519C 002B0DFC 38 A1 00 08 */ addi r5, r1, 8 +/* 802B51A0 002B0E00 B0 E1 00 08 */ sth r7, 8(r1) +/* 802B51A4 002B0E04 B0 E1 00 0A */ sth r7, 0xa(r1) +/* 802B51A8 002B0E08 B0 C1 00 0C */ sth r6, 0xc(r1) +/* 802B51AC 002B0E0C B0 01 00 0E */ sth r0, 0xe(r1) +/* 802B51B0 002B0E10 48 01 3C F9 */ bl func_802C8EA8 +/* 802B51B4 002B0E14 38 60 00 0E */ li r3, 0xe +/* 802B51B8 002B0E18 48 00 00 8C */ b lbl_802B5244 +lbl_802B51BC: +/* 802B51BC 002B0E1C 3B 9C 00 01 */ addi r28, r28, 1 +/* 802B51C0 002B0E20 3B DE 00 60 */ addi r30, r30, 0x60 +/* 802B51C4 002B0E24 2C 1C 00 10 */ cmpwi r28, 0x10 +/* 802B51C8 002B0E28 41 80 FF 70 */ blt lbl_802B5138 +lbl_802B51CC: +/* 802B51CC 002B0E2C 38 7D 07 10 */ addi r3, r29, 0x710 +/* 802B51D0 002B0E30 4B FB 48 A9 */ bl OSCancelAlarm +/* 802B51D4 002B0E34 4B FB 95 89 */ bl OSDisableInterrupts +/* 802B51D8 002B0E38 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B51DC 002B0E3C 38 A0 00 00 */ li r5, 0 +/* 802B51E0 002B0E40 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B51E4 002B0E44 38 00 00 01 */ li r0, 1 +/* 802B51E8 002B0E48 98 A4 06 EB */ stb r5, 0x6eb(r4) +/* 802B51EC 002B0E4C 98 04 06 EA */ stb r0, 0x6ea(r4) +/* 802B51F0 002B0E50 4B FB 95 95 */ bl OSRestoreInterrupts +/* 802B51F4 002B0E54 38 60 00 00 */ li r3, 0 +/* 802B51F8 002B0E58 38 80 00 01 */ li r4, 1 +/* 802B51FC 002B0E5C 48 00 AF 8D */ bl func_802C0188 +/* 802B5200 002B0E60 88 1D 06 E9 */ lbz r0, 0x6e9(r29) +/* 802B5204 002B0E64 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5208 002B0E68 40 82 00 0C */ bne lbl_802B5214 +/* 802B520C 002B0E6C 81 9D 00 00 */ lwz r12, 0(r29) +/* 802B5210 002B0E70 48 00 00 08 */ b lbl_802B5218 +lbl_802B5214: +/* 802B5214 002B0E74 81 9D 00 04 */ lwz r12, 4(r29) +lbl_802B5218: +/* 802B5218 002B0E78 2C 0C 00 00 */ cmpwi r12, 0 +/* 802B521C 002B0E7C 41 82 00 14 */ beq lbl_802B5230 +/* 802B5220 002B0E80 88 9D 06 E6 */ lbz r4, 0x6e6(r29) +/* 802B5224 002B0E84 38 60 00 01 */ li r3, 1 +/* 802B5228 002B0E88 7D 89 03 A6 */ mtctr r12 +/* 802B522C 002B0E8C 4E 80 04 21 */ bctrl +lbl_802B5230: +/* 802B5230 002B0E90 3C 60 80 44 */ lis r3, lbl_8043E1D8@ha +/* 802B5234 002B0E94 38 63 E1 D8 */ addi r3, r3, lbl_8043E1D8@l +/* 802B5238 002B0E98 4C C6 31 82 */ crclr 6 +/* 802B523C 002B0E9C 48 00 43 41 */ bl func_802B957C +/* 802B5240 002B0EA0 38 60 00 00 */ li r3, 0 +lbl_802B5244: +/* 802B5244 002B0EA4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B5248 002B0EA8 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802B524C 002B0EAC 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802B5250 002B0EB0 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802B5254 002B0EB4 83 81 00 20 */ lwz r28, 0x20(r1) +/* 802B5258 002B0EB8 7C 08 03 A6 */ mtlr r0 +/* 802B525C 002B0EBC 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B5260 002B0EC0 4E 80 00 20 */ blr +lbl_802B5264: +/* 802B5264 002B0EC4 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 802B5268 002B0EC8 7C 08 02 A6 */ mflr r0 +/* 802B526C 002B0ECC 90 01 00 64 */ stw r0, 0x64(r1) +/* 802B5270 002B0ED0 39 61 00 60 */ addi r11, r1, 0x60 +/* 802B5274 002B0ED4 4B F1 1E B1 */ bl _savegpr_26 +/* 802B5278 002B0ED8 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B527C 002B0EDC 3F 60 80 44 */ lis r27, lbl_8043E048@ha +/* 802B5280 002B0EE0 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B5284 002B0EE4 3B BF 00 00 */ addi r29, r31, 0 +/* 802B5288 002B0EE8 3B 7B E0 48 */ addi r27, r27, lbl_8043E048@l +/* 802B528C 002B0EEC 88 1D 00 0C */ lbz r0, 0xc(r29) +/* 802B5290 002B0EF0 2C 00 00 0F */ cmpwi r0, 0xf +/* 802B5294 002B0EF4 41 82 03 C8 */ beq lbl_802B565C +/* 802B5298 002B0EF8 40 80 00 64 */ bge lbl_802B52FC +/* 802B529C 002B0EFC 2C 00 00 07 */ cmpwi r0, 7 +/* 802B52A0 002B0F00 41 82 05 C4 */ beq lbl_802B5864 +/* 802B52A4 002B0F04 40 80 00 30 */ bge lbl_802B52D4 +/* 802B52A8 002B0F08 2C 00 00 03 */ cmpwi r0, 3 +/* 802B52AC 002B0F0C 41 82 07 84 */ beq lbl_802B5A30 +/* 802B52B0 002B0F10 40 80 00 14 */ bge lbl_802B52C4 +/* 802B52B4 002B0F14 2C 00 00 01 */ cmpwi r0, 1 +/* 802B52B8 002B0F18 41 82 00 A0 */ beq lbl_802B5358 +/* 802B52BC 002B0F1C 40 80 00 A8 */ bge lbl_802B5364 +/* 802B52C0 002B0F20 48 00 07 BC */ b lbl_802B5A7C +lbl_802B52C4: +/* 802B52C4 002B0F24 2C 00 00 05 */ cmpwi r0, 5 +/* 802B52C8 002B0F28 41 82 02 60 */ beq lbl_802B5528 +/* 802B52CC 002B0F2C 40 80 07 BC */ bge lbl_802B5A88 +/* 802B52D0 002B0F30 48 00 01 50 */ b lbl_802B5420 +lbl_802B52D4: +/* 802B52D4 002B0F34 2C 00 00 0A */ cmpwi r0, 0xa +/* 802B52D8 002B0F38 41 82 06 C4 */ beq lbl_802B599C +/* 802B52DC 002B0F3C 40 80 00 10 */ bge lbl_802B52EC +/* 802B52E0 002B0F40 2C 00 00 09 */ cmpwi r0, 9 +/* 802B52E4 002B0F44 40 80 07 98 */ bge lbl_802B5A7C +/* 802B52E8 002B0F48 48 00 06 6C */ b lbl_802B5954 +lbl_802B52EC: +/* 802B52EC 002B0F4C 2C 00 00 0D */ cmpwi r0, 0xd +/* 802B52F0 002B0F50 41 82 07 98 */ beq lbl_802B5A88 +/* 802B52F4 002B0F54 40 80 07 30 */ bge lbl_802B5A24 +/* 802B52F8 002B0F58 48 00 07 84 */ b lbl_802B5A7C +lbl_802B52FC: +/* 802B52FC 002B0F5C 2C 00 00 17 */ cmpwi r0, 0x17 +/* 802B5300 002B0F60 41 82 06 C0 */ beq lbl_802B59C0 +/* 802B5304 002B0F64 40 80 00 30 */ bge lbl_802B5334 +/* 802B5308 002B0F68 2C 00 00 13 */ cmpwi r0, 0x13 +/* 802B530C 002B0F6C 41 82 04 08 */ beq lbl_802B5714 +/* 802B5310 002B0F70 40 80 00 14 */ bge lbl_802B5324 +/* 802B5314 002B0F74 2C 00 00 11 */ cmpwi r0, 0x11 +/* 802B5318 002B0F78 41 82 02 E4 */ beq lbl_802B55FC +/* 802B531C 002B0F7C 40 80 03 88 */ bge lbl_802B56A4 +/* 802B5320 002B0F80 48 00 02 38 */ b lbl_802B5558 +lbl_802B5324: +/* 802B5324 002B0F84 2C 00 00 15 */ cmpwi r0, 0x15 +/* 802B5328 002B0F88 41 82 04 BC */ beq lbl_802B57E4 +/* 802B532C 002B0F8C 40 80 06 44 */ bge lbl_802B5970 +/* 802B5330 002B0F90 48 00 04 4C */ b lbl_802B577C +lbl_802B5334: +/* 802B5334 002B0F94 2C 00 00 1A */ cmpwi r0, 0x1a +/* 802B5338 002B0F98 41 82 07 50 */ beq lbl_802B5A88 +/* 802B533C 002B0F9C 40 80 00 10 */ bge lbl_802B534C +/* 802B5340 002B0FA0 2C 00 00 19 */ cmpwi r0, 0x19 +/* 802B5344 002B0FA4 40 80 06 38 */ bge lbl_802B597C +/* 802B5348 002B0FA8 48 00 07 40 */ b lbl_802B5A88 +lbl_802B534C: +/* 802B534C 002B0FAC 2C 00 00 FF */ cmpwi r0, 0xff +/* 802B5350 002B0FB0 41 82 06 A8 */ beq lbl_802B59F8 +/* 802B5354 002B0FB4 48 00 07 28 */ b lbl_802B5A7C +lbl_802B5358: +/* 802B5358 002B0FB8 4B FF FB 45 */ bl func_802B4E9C +/* 802B535C 002B0FBC 98 7D 00 0C */ stb r3, 0xc(r29) +/* 802B5360 002B0FC0 48 00 07 28 */ b lbl_802B5A88 +lbl_802B5364: +/* 802B5364 002B0FC4 88 1D 06 E7 */ lbz r0, 0x6e7(r29) +/* 802B5368 002B0FC8 38 80 00 01 */ li r4, 1 +/* 802B536C 002B0FCC 38 60 00 00 */ li r3, 0 +/* 802B5370 002B0FD0 98 81 00 30 */ stb r4, 0x30(r1) +/* 802B5374 002B0FD4 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5378 002B0FD8 98 81 00 32 */ stb r4, 0x32(r1) +/* 802B537C 002B0FDC 98 61 00 33 */ stb r3, 0x33(r1) +/* 802B5380 002B0FE0 41 82 00 10 */ beq lbl_802B5390 +/* 802B5384 002B0FE4 38 00 00 03 */ li r0, 3 +/* 802B5388 002B0FE8 98 01 00 31 */ stb r0, 0x31(r1) +/* 802B538C 002B0FEC 48 00 00 5C */ b lbl_802B53E8 +lbl_802B5390: +/* 802B5390 002B0FF0 88 1D 06 E9 */ lbz r0, 0x6e9(r29) +/* 802B5394 002B0FF4 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5398 002B0FF8 40 82 00 30 */ bne lbl_802B53C8 +/* 802B539C 002B0FFC 4B FB 93 C1 */ bl OSDisableInterrupts +/* 802B53A0 002B1000 8B 7D 06 E5 */ lbz r27, 0x6e5(r29) +/* 802B53A4 002B1004 4B FB 93 E1 */ bl OSRestoreInterrupts +/* 802B53A8 002B1008 28 1B 00 03 */ cmplwi r27, 3 +/* 802B53AC 002B100C 38 60 00 05 */ li r3, 5 +/* 802B53B0 002B1010 40 82 00 08 */ bne lbl_802B53B8 +/* 802B53B4 002B1014 38 60 00 0A */ li r3, 0xa +lbl_802B53B8: +/* 802B53B8 002B1018 88 1D 06 E8 */ lbz r0, 0x6e8(r29) +/* 802B53BC 002B101C 7C 00 18 50 */ subf r0, r0, r3 +/* 802B53C0 002B1020 98 01 00 31 */ stb r0, 0x31(r1) +/* 802B53C4 002B1024 48 00 00 24 */ b lbl_802B53E8 +lbl_802B53C8: +/* 802B53C8 002B1028 4B FB 93 95 */ bl OSDisableInterrupts +/* 802B53CC 002B102C 8B 7D 06 E5 */ lbz r27, 0x6e5(r29) +/* 802B53D0 002B1030 4B FB 93 B5 */ bl OSRestoreInterrupts +/* 802B53D4 002B1034 28 1B 00 03 */ cmplwi r27, 3 +/* 802B53D8 002B1038 38 00 00 03 */ li r0, 3 +/* 802B53DC 002B103C 40 82 00 08 */ bne lbl_802B53E4 +/* 802B53E0 002B1040 38 00 00 08 */ li r0, 8 +lbl_802B53E4: +/* 802B53E4 002B1044 98 01 00 31 */ stb r0, 0x31(r1) +lbl_802B53E8: +/* 802B53E8 002B1048 38 00 00 00 */ li r0, 0 +/* 802B53EC 002B104C 38 7F 0B B0 */ addi r3, r31, 0xbb0 +/* 802B53F0 002B1050 98 0D AE C1 */ stb r0, lbl_80640181-_SDA_BASE_(r13) +/* 802B53F4 002B1054 38 80 00 00 */ li r4, 0 +/* 802B53F8 002B1058 38 A0 01 08 */ li r5, 0x108 +/* 802B53FC 002B105C 4B D4 ED 09 */ bl memset +/* 802B5400 002B1060 3C A0 80 2C */ lis r5, lbl_802B8594@ha +/* 802B5404 002B1064 38 61 00 30 */ addi r3, r1, 0x30 +/* 802B5408 002B1068 38 A5 85 94 */ addi r5, r5, lbl_802B8594@l +/* 802B540C 002B106C 38 80 00 00 */ li r4, 0 +/* 802B5410 002B1070 48 00 AD D1 */ bl func_802C01E0 +/* 802B5414 002B1074 38 00 00 03 */ li r0, 3 +/* 802B5418 002B1078 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B541C 002B107C 48 00 06 6C */ b lbl_802B5A88 +lbl_802B5420: +/* 802B5420 002B1080 88 0D AE C1 */ lbz r0, lbl_80640181-_SDA_BASE_(r13) +/* 802B5424 002B1084 3B C0 00 01 */ li r30, 1 +/* 802B5428 002B1088 2C 00 00 00 */ cmpwi r0, 0 +/* 802B542C 002B108C 41 82 00 40 */ beq lbl_802B546C +/* 802B5430 002B1090 38 7F 0B B0 */ addi r3, r31, 0xbb0 +/* 802B5434 002B1094 38 9B 01 A0 */ addi r4, r27, 0x1a0 +/* 802B5438 002B1098 38 63 00 06 */ addi r3, r3, 6 +/* 802B543C 002B109C 38 A0 00 10 */ li r5, 0x10 +/* 802B5440 002B10A0 4B F1 4F 59 */ bl memcmp +/* 802B5444 002B10A4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B5448 002B10A8 40 82 00 D8 */ bne lbl_802B5520 +/* 802B544C 002B10AC 88 6D AE C0 */ lbz r3, lbl_80640180-_SDA_BASE_(r13) +/* 802B5450 002B10B0 88 1D 07 0B */ lbz r0, 0x70b(r29) +/* 802B5454 002B10B4 7C 63 07 74 */ extsb r3, r3 +/* 802B5458 002B10B8 7C 00 07 74 */ extsb r0, r0 +/* 802B545C 002B10BC 7C 03 00 00 */ cmpw r3, r0 +/* 802B5460 002B10C0 40 81 00 C0 */ ble lbl_802B5520 +/* 802B5464 002B10C4 3B C0 00 05 */ li r30, 5 +/* 802B5468 002B10C8 48 00 00 B8 */ b lbl_802B5520 +lbl_802B546C: +/* 802B546C 002B10CC 88 1D 06 E9 */ lbz r0, 0x6e9(r29) +/* 802B5470 002B10D0 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5474 002B10D4 40 82 00 AC */ bne lbl_802B5520 +/* 802B5478 002B10D8 3B C0 00 18 */ li r30, 0x18 +/* 802B547C 002B10DC 4B FB 92 E1 */ bl OSDisableInterrupts +/* 802B5480 002B10E0 8B 7D 06 E5 */ lbz r27, 0x6e5(r29) +/* 802B5484 002B10E4 4B FB 93 01 */ bl OSRestoreInterrupts +/* 802B5488 002B10E8 28 1B 00 03 */ cmplwi r27, 3 +/* 802B548C 002B10EC 3B 60 00 02 */ li r27, 2 +/* 802B5490 002B10F0 40 82 00 08 */ bne lbl_802B5498 +/* 802B5494 002B10F4 3B 60 00 04 */ li r27, 4 +lbl_802B5498: +/* 802B5498 002B10F8 4B FB 92 C5 */ bl OSDisableInterrupts +/* 802B549C 002B10FC 3B 9F 00 00 */ addi r28, r31, 0 +/* 802B54A0 002B1100 8B 5C 06 E5 */ lbz r26, 0x6e5(r28) +/* 802B54A4 002B1104 4B FB 92 E1 */ bl OSRestoreInterrupts +/* 802B54A8 002B1108 28 1A 00 04 */ cmplwi r26, 4 +/* 802B54AC 002B110C 40 82 00 20 */ bne lbl_802B54CC +/* 802B54B0 002B1110 4B FB 92 AD */ bl OSDisableInterrupts +/* 802B54B4 002B1114 8B 5C 06 E4 */ lbz r26, 0x6e4(r28) +/* 802B54B8 002B1118 4B FB 92 CD */ bl OSRestoreInterrupts +/* 802B54BC 002B111C 28 1A 00 04 */ cmplwi r26, 4 +/* 802B54C0 002B1120 40 82 00 0C */ bne lbl_802B54CC +/* 802B54C4 002B1124 38 00 00 0E */ li r0, 0xe +/* 802B54C8 002B1128 98 1C 00 0C */ stb r0, 0xc(r28) +lbl_802B54CC: +/* 802B54CC 002B112C 4B FB 92 91 */ bl OSDisableInterrupts +/* 802B54D0 002B1130 38 9F 00 00 */ addi r4, r31, 0 +/* 802B54D4 002B1134 38 A0 00 00 */ li r5, 0 +/* 802B54D8 002B1138 38 00 00 01 */ li r0, 1 +/* 802B54DC 002B113C 98 A4 06 EB */ stb r5, 0x6eb(r4) +/* 802B54E0 002B1140 98 04 06 EA */ stb r0, 0x6ea(r4) +/* 802B54E4 002B1144 4B FB 92 A1 */ bl OSRestoreInterrupts +/* 802B54E8 002B1148 38 60 00 00 */ li r3, 0 +/* 802B54EC 002B114C 38 80 00 01 */ li r4, 1 +/* 802B54F0 002B1150 48 00 AC 99 */ bl func_802C0188 +/* 802B54F4 002B1154 38 7F 0C B8 */ addi r3, r31, 0xcb8 +/* 802B54F8 002B1158 4B FB 42 2D */ bl OSCreateAlarm +/* 802B54FC 002B115C 3C 60 80 00 */ lis r3, 0x800000F8@ha +/* 802B5500 002B1160 3C E0 80 2B */ lis r7, THPSimpleAudioStop@ha +/* 802B5504 002B1164 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3) +/* 802B5508 002B1168 38 7F 0C B8 */ addi r3, r31, 0xcb8 +/* 802B550C 002B116C 38 E7 4E 88 */ addi r7, r7, THPSimpleAudioStop@l +/* 802B5510 002B1170 38 A0 00 00 */ li r5, 0 +/* 802B5514 002B1174 54 00 F0 BE */ srwi r0, r0, 2 +/* 802B5518 002B1178 7C DB 01 D6 */ mullw r6, r27, r0 +/* 802B551C 002B117C 4B FB 44 69 */ bl OSSetAlarm +lbl_802B5520: +/* 802B5520 002B1180 9B DD 00 0C */ stb r30, 0xc(r29) +/* 802B5524 002B1184 48 00 05 64 */ b lbl_802B5A88 +lbl_802B5528: +/* 802B5528 002B1188 38 7F 0B B0 */ addi r3, r31, 0xbb0 +/* 802B552C 002B118C 3B 40 00 11 */ li r26, 0x11 +/* 802B5530 002B1190 48 00 22 35 */ bl func_802B7764 +/* 802B5534 002B1194 2C 03 00 00 */ cmpwi r3, 0 +/* 802B5538 002B1198 41 82 00 18 */ beq lbl_802B5550 +/* 802B553C 002B119C 7C 64 1B 78 */ mr r4, r3 +/* 802B5540 002B11A0 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B5544 002B11A4 38 A0 00 60 */ li r5, 0x60 +/* 802B5548 002B11A8 4B D4 EA B9 */ bl memcpy +/* 802B554C 002B11AC 3B 40 00 10 */ li r26, 0x10 +lbl_802B5550: +/* 802B5550 002B11B0 9B 5D 00 0C */ stb r26, 0xc(r29) +/* 802B5554 002B11B4 48 00 05 34 */ b lbl_802B5A88 +lbl_802B5558: +/* 802B5558 002B11B8 3B 5F 0C E8 */ addi r26, r31, 0xce8 +/* 802B555C 002B11BC 38 60 00 01 */ li r3, 1 +/* 802B5560 002B11C0 88 1A 00 5B */ lbz r0, 0x5b(r26) +/* 802B5564 002B11C4 98 7A 00 59 */ stb r3, 0x59(r26) +/* 802B5568 002B11C8 2C 00 00 02 */ cmpwi r0, 2 +/* 802B556C 002B11CC 41 82 00 2C */ beq lbl_802B5598 +/* 802B5570 002B11D0 40 80 00 14 */ bge lbl_802B5584 +/* 802B5574 002B11D4 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5578 002B11D8 41 82 00 20 */ beq lbl_802B5598 +/* 802B557C 002B11DC 40 80 00 50 */ bge lbl_802B55CC +/* 802B5580 002B11E0 48 00 00 70 */ b lbl_802B55F0 +lbl_802B5584: +/* 802B5584 002B11E4 2C 00 00 06 */ cmpwi r0, 6 +/* 802B5588 002B11E8 40 80 00 68 */ bge lbl_802B55F0 +/* 802B558C 002B11EC 2C 00 00 04 */ cmpwi r0, 4 +/* 802B5590 002B11F0 40 80 00 08 */ bge lbl_802B5598 +/* 802B5594 002B11F4 48 00 00 38 */ b lbl_802B55CC +lbl_802B5598: +/* 802B5598 002B11F8 38 7F 00 00 */ addi r3, r31, 0 +/* 802B559C 002B11FC 88 03 06 E9 */ lbz r0, 0x6e9(r3) +/* 802B55A0 002B1200 2C 00 00 00 */ cmpwi r0, 0 +/* 802B55A4 002B1204 40 82 00 1C */ bne lbl_802B55C0 +/* 802B55A8 002B1208 7F 43 D3 78 */ mr r3, r26 +/* 802B55AC 002B120C 48 00 27 F1 */ bl func_802B7D9C +/* 802B55B0 002B1210 38 7A 00 40 */ addi r3, r26, 0x40 +/* 802B55B4 002B1214 48 00 20 6D */ bl func_802B7620 +/* 802B55B8 002B1218 38 00 00 11 */ li r0, 0x11 +/* 802B55BC 002B121C 48 00 00 38 */ b lbl_802B55F4 +lbl_802B55C0: +/* 802B55C0 002B1220 38 00 00 04 */ li r0, 4 +/* 802B55C4 002B1224 98 1A 00 5B */ stb r0, 0x5b(r26) +/* 802B55C8 002B1228 48 00 00 28 */ b lbl_802B55F0 +lbl_802B55CC: +/* 802B55CC 002B122C 7F 43 D3 78 */ mr r3, r26 +/* 802B55D0 002B1230 48 00 24 45 */ bl func_802B7A14 +/* 802B55D4 002B1234 38 7F 00 00 */ addi r3, r31, 0 +/* 802B55D8 002B1238 80 63 00 18 */ lwz r3, 0x18(r3) +/* 802B55DC 002B123C 80 63 00 00 */ lwz r3, 0(r3) +/* 802B55E0 002B1240 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B55E4 002B1244 48 00 20 3D */ bl func_802B7620 +/* 802B55E8 002B1248 38 00 00 11 */ li r0, 0x11 +/* 802B55EC 002B124C 48 00 00 08 */ b lbl_802B55F4 +lbl_802B55F0: +/* 802B55F0 002B1250 38 00 00 0F */ li r0, 0xf +lbl_802B55F4: +/* 802B55F4 002B1254 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B55F8 002B1258 48 00 04 90 */ b lbl_802B5A88 +lbl_802B55FC: +/* 802B55FC 002B125C 88 7D 06 E9 */ lbz r3, 0x6e9(r29) +/* 802B5600 002B1260 3B 5F 0C E8 */ addi r26, r31, 0xce8 +/* 802B5604 002B1264 38 A0 00 01 */ li r5, 1 +/* 802B5608 002B1268 38 9F 0B B0 */ addi r4, r31, 0xbb0 +/* 802B560C 002B126C 7C 03 00 D0 */ neg r0, r3 +/* 802B5610 002B1270 98 BA 00 59 */ stb r5, 0x59(r26) +/* 802B5614 002B1274 7C 00 1B 78 */ or r0, r0, r3 +/* 802B5618 002B1278 38 7A 00 40 */ addi r3, r26, 0x40 +/* 802B561C 002B127C 54 00 0F FE */ srwi r0, r0, 0x1f +/* 802B5620 002B1280 38 A0 00 06 */ li r5, 6 +/* 802B5624 002B1284 98 1A 00 5B */ stb r0, 0x5b(r26) +/* 802B5628 002B1288 4B D4 E9 D9 */ bl memcpy +/* 802B562C 002B128C 38 9F 0B B0 */ addi r4, r31, 0xbb0 +/* 802B5630 002B1290 7F 43 D3 78 */ mr r3, r26 +/* 802B5634 002B1294 38 84 00 06 */ addi r4, r4, 6 +/* 802B5638 002B1298 38 A0 00 40 */ li r5, 0x40 +/* 802B563C 002B129C 4B D4 E9 C5 */ bl memcpy +/* 802B5640 002B12A0 38 7A 00 46 */ addi r3, r26, 0x46 +/* 802B5644 002B12A4 38 80 00 00 */ li r4, 0 +/* 802B5648 002B12A8 38 A0 00 10 */ li r5, 0x10 +/* 802B564C 002B12AC 4B D4 EA B9 */ bl memset +/* 802B5650 002B12B0 38 00 00 0F */ li r0, 0xf +/* 802B5654 002B12B4 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B5658 002B12B8 48 00 04 30 */ b lbl_802B5A88 +lbl_802B565C: +/* 802B565C 002B12BC 38 7F 0B B0 */ addi r3, r31, 0xbb0 +/* 802B5660 002B12C0 38 9B 01 A0 */ addi r4, r27, 0x1a0 +/* 802B5664 002B12C4 38 63 00 06 */ addi r3, r3, 6 +/* 802B5668 002B12C8 3B 40 00 FF */ li r26, 0xff +/* 802B566C 002B12CC 38 A0 00 10 */ li r5, 0x10 +/* 802B5670 002B12D0 4B F1 4D 29 */ bl memcmp +/* 802B5674 002B12D4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B5678 002B12D8 40 82 00 24 */ bne lbl_802B569C +/* 802B567C 002B12DC 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B5680 002B12E0 38 00 00 02 */ li r0, 2 +/* 802B5684 002B12E4 98 03 00 59 */ stb r0, 0x59(r3) +/* 802B5688 002B12E8 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B568C 002B12EC 38 80 00 00 */ li r4, 0 +/* 802B5690 002B12F0 38 A0 00 12 */ li r5, 0x12 +/* 802B5694 002B12F4 48 00 D1 ED */ bl func_802C2880 +/* 802B5698 002B12F8 3B 40 00 06 */ li r26, 6 +lbl_802B569C: +/* 802B569C 002B12FC 9B 5D 00 0C */ stb r26, 0xc(r29) +/* 802B56A0 002B1300 48 00 03 E8 */ b lbl_802B5A88 +lbl_802B56A4: +/* 802B56A4 002B1304 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B56A8 002B1308 88 03 00 5B */ lbz r0, 0x5b(r3) +/* 802B56AC 002B130C 2C 00 00 03 */ cmpwi r0, 3 +/* 802B56B0 002B1310 41 82 00 48 */ beq lbl_802B56F8 +/* 802B56B4 002B1314 40 80 00 1C */ bge lbl_802B56D0 +/* 802B56B8 002B1318 2C 00 00 01 */ cmpwi r0, 1 +/* 802B56BC 002B131C 41 82 00 24 */ beq lbl_802B56E0 +/* 802B56C0 002B1320 40 80 00 48 */ bge lbl_802B5708 +/* 802B56C4 002B1324 2C 00 00 00 */ cmpwi r0, 0 +/* 802B56C8 002B1328 40 80 00 20 */ bge lbl_802B56E8 +/* 802B56CC 002B132C 48 00 00 40 */ b lbl_802B570C +lbl_802B56D0: +/* 802B56D0 002B1330 2C 00 00 05 */ cmpwi r0, 5 +/* 802B56D4 002B1334 41 82 00 1C */ beq lbl_802B56F0 +/* 802B56D8 002B1338 40 80 00 34 */ bge lbl_802B570C +/* 802B56DC 002B133C 48 00 00 24 */ b lbl_802B5700 +lbl_802B56E0: +/* 802B56E0 002B1340 38 00 00 13 */ li r0, 0x13 +/* 802B56E4 002B1344 48 00 00 28 */ b lbl_802B570C +lbl_802B56E8: +/* 802B56E8 002B1348 38 00 00 14 */ li r0, 0x14 +/* 802B56EC 002B134C 48 00 00 20 */ b lbl_802B570C +lbl_802B56F0: +/* 802B56F0 002B1350 38 00 00 15 */ li r0, 0x15 +/* 802B56F4 002B1354 48 00 00 18 */ b lbl_802B570C +lbl_802B56F8: +/* 802B56F8 002B1358 38 00 00 17 */ li r0, 0x17 +/* 802B56FC 002B135C 48 00 00 10 */ b lbl_802B570C +lbl_802B5700: +/* 802B5700 002B1360 38 00 00 07 */ li r0, 7 +/* 802B5704 002B1364 48 00 00 08 */ b lbl_802B570C +lbl_802B5708: +/* 802B5708 002B1368 38 00 00 07 */ li r0, 7 +lbl_802B570C: +/* 802B570C 002B136C 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B5710 002B1370 48 00 03 78 */ b lbl_802B5A88 +lbl_802B5714: +/* 802B5714 002B1374 4B FB 90 49 */ bl OSDisableInterrupts +/* 802B5718 002B1378 8B 5D 00 13 */ lbz r26, 0x13(r29) +/* 802B571C 002B137C 4B FB 90 69 */ bl OSRestoreInterrupts +/* 802B5720 002B1380 28 1A 00 06 */ cmplwi r26, 6 +/* 802B5724 002B1384 40 82 00 14 */ bne lbl_802B5738 +/* 802B5728 002B1388 80 7D 00 18 */ lwz r3, 0x18(r29) +/* 802B572C 002B138C 80 63 00 00 */ lwz r3, 0(r3) +/* 802B5730 002B1390 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B5734 002B1394 48 00 1E ED */ bl func_802B7620 +lbl_802B5738: +/* 802B5738 002B1398 48 00 21 05 */ bl func_802B783C +/* 802B573C 002B139C 7C 7A 1B 78 */ mr r26, r3 +/* 802B5740 002B13A0 38 9F 0C E8 */ addi r4, r31, 0xce8 +/* 802B5744 002B13A4 38 A0 00 60 */ li r5, 0x60 +/* 802B5748 002B13A8 4B D4 E8 B9 */ bl memcpy +/* 802B574C 002B13AC 38 7A 00 40 */ addi r3, r26, 0x40 +/* 802B5750 002B13B0 48 00 1D B9 */ bl func_802B7508 +/* 802B5754 002B13B4 7F 43 D3 78 */ mr r3, r26 +/* 802B5758 002B13B8 48 00 21 A5 */ bl func_802B78FC +/* 802B575C 002B13BC 88 9A 00 56 */ lbz r4, 0x56(r26) +/* 802B5760 002B13C0 38 00 00 17 */ li r0, 0x17 +/* 802B5764 002B13C4 38 BA 00 40 */ addi r5, r26, 0x40 +/* 802B5768 002B13C8 38 7F 0D 48 */ addi r3, r31, 0xd48 +/* 802B576C 002B13CC 54 84 10 3A */ slwi r4, r4, 2 +/* 802B5770 002B13D0 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B5774 002B13D4 7C A3 21 2E */ stwx r5, r3, r4 +/* 802B5778 002B13D8 48 00 03 10 */ b lbl_802B5A88 +lbl_802B577C: +/* 802B577C 002B13DC 4B FB 8F E1 */ bl OSDisableInterrupts +/* 802B5780 002B13E0 8B 5D 00 12 */ lbz r26, 0x12(r29) +/* 802B5784 002B13E4 4B FB 90 01 */ bl OSRestoreInterrupts +/* 802B5788 002B13E8 28 1A 00 0A */ cmplwi r26, 0xa +/* 802B578C 002B13EC 40 82 00 14 */ bne lbl_802B57A0 +/* 802B5790 002B13F0 80 7D 00 68 */ lwz r3, 0x68(r29) +/* 802B5794 002B13F4 80 63 00 00 */ lwz r3, 0(r3) +/* 802B5798 002B13F8 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B579C 002B13FC 48 00 1E 85 */ bl func_802B7620 +lbl_802B57A0: +/* 802B57A0 002B1400 48 00 20 9D */ bl func_802B783C +/* 802B57A4 002B1404 7C 7A 1B 78 */ mr r26, r3 +/* 802B57A8 002B1408 38 9F 0C E8 */ addi r4, r31, 0xce8 +/* 802B57AC 002B140C 38 A0 00 60 */ li r5, 0x60 +/* 802B57B0 002B1410 4B D4 E8 51 */ bl memcpy +/* 802B57B4 002B1414 38 7A 00 40 */ addi r3, r26, 0x40 +/* 802B57B8 002B1418 48 00 1D 51 */ bl func_802B7508 +/* 802B57BC 002B141C 7F 43 D3 78 */ mr r3, r26 +/* 802B57C0 002B1420 48 00 24 C5 */ bl func_802B7C84 +/* 802B57C4 002B1424 88 9A 00 56 */ lbz r4, 0x56(r26) +/* 802B57C8 002B1428 38 00 00 07 */ li r0, 7 +/* 802B57CC 002B142C 38 BA 00 40 */ addi r5, r26, 0x40 +/* 802B57D0 002B1430 38 7F 0D 48 */ addi r3, r31, 0xd48 +/* 802B57D4 002B1434 54 84 10 3A */ slwi r4, r4, 2 +/* 802B57D8 002B1438 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B57DC 002B143C 7C A3 21 2E */ stwx r5, r3, r4 +/* 802B57E0 002B1440 48 00 02 A8 */ b lbl_802B5A88 +lbl_802B57E4: +/* 802B57E4 002B1444 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B57E8 002B1448 48 00 22 2D */ bl func_802B7A14 +/* 802B57EC 002B144C 80 7D 00 18 */ lwz r3, 0x18(r29) +/* 802B57F0 002B1450 80 63 00 00 */ lwz r3, 0(r3) +/* 802B57F4 002B1454 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B57F8 002B1458 48 00 1E 29 */ bl func_802B7620 +/* 802B57FC 002B145C 4B FB 8F 61 */ bl OSDisableInterrupts +/* 802B5800 002B1460 8B 5D 00 12 */ lbz r26, 0x12(r29) +/* 802B5804 002B1464 4B FB 8F 81 */ bl OSRestoreInterrupts +/* 802B5808 002B1468 28 1A 00 0A */ cmplwi r26, 0xa +/* 802B580C 002B146C 40 82 00 14 */ bne lbl_802B5820 +/* 802B5810 002B1470 80 7D 00 68 */ lwz r3, 0x68(r29) +/* 802B5814 002B1474 80 63 00 00 */ lwz r3, 0(r3) +/* 802B5818 002B1478 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B581C 002B147C 48 00 1E 05 */ bl func_802B7620 +lbl_802B5820: +/* 802B5820 002B1480 48 00 20 1D */ bl func_802B783C +/* 802B5824 002B1484 7C 7A 1B 78 */ mr r26, r3 +/* 802B5828 002B1488 38 9F 0C E8 */ addi r4, r31, 0xce8 +/* 802B582C 002B148C 38 A0 00 60 */ li r5, 0x60 +/* 802B5830 002B1490 4B D4 E7 D1 */ bl memcpy +/* 802B5834 002B1494 38 7A 00 40 */ addi r3, r26, 0x40 +/* 802B5838 002B1498 48 00 1C D1 */ bl func_802B7508 +/* 802B583C 002B149C 7F 43 D3 78 */ mr r3, r26 +/* 802B5840 002B14A0 48 00 24 45 */ bl func_802B7C84 +/* 802B5844 002B14A4 88 9A 00 56 */ lbz r4, 0x56(r26) +/* 802B5848 002B14A8 38 00 00 07 */ li r0, 7 +/* 802B584C 002B14AC 38 BA 00 40 */ addi r5, r26, 0x40 +/* 802B5850 002B14B0 38 7F 0D 48 */ addi r3, r31, 0xd48 +/* 802B5854 002B14B4 54 84 10 3A */ slwi r4, r4, 2 +/* 802B5858 002B14B8 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B585C 002B14BC 7C A3 21 2E */ stwx r5, r3, r4 +/* 802B5860 002B14C0 48 00 02 28 */ b lbl_802B5A88 +lbl_802B5864: +/* 802B5864 002B14C4 88 1D 00 0E */ lbz r0, 0xe(r29) +/* 802B5868 002B14C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802B586C 002B14CC 41 82 00 0C */ beq lbl_802B5878 +/* 802B5870 002B14D0 38 00 00 07 */ li r0, 7 +/* 802B5874 002B14D4 48 00 00 D8 */ b lbl_802B594C +lbl_802B5878: +/* 802B5878 002B14D8 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B587C 002B14DC 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B5880 002B14E0 48 00 1E E5 */ bl func_802B7764 +/* 802B5884 002B14E4 7C 7E 1B 78 */ mr r30, r3 +/* 802B5888 002B14E8 38 7B 01 B4 */ addi r3, r27, 0x1b4 +/* 802B588C 002B14EC 4C C6 31 82 */ crclr 6 +/* 802B5890 002B14F0 48 00 3C ED */ bl func_802B957C +/* 802B5894 002B14F4 88 9E 00 40 */ lbz r4, 0x40(r30) +/* 802B5898 002B14F8 38 7B 01 CC */ addi r3, r27, 0x1cc +/* 802B589C 002B14FC 88 BE 00 41 */ lbz r5, 0x41(r30) +/* 802B58A0 002B1500 88 DE 00 42 */ lbz r6, 0x42(r30) +/* 802B58A4 002B1504 88 FE 00 43 */ lbz r7, 0x43(r30) +/* 802B58A8 002B1508 89 1E 00 44 */ lbz r8, 0x44(r30) +/* 802B58AC 002B150C 89 3E 00 45 */ lbz r9, 0x45(r30) +/* 802B58B0 002B1510 4C C6 31 82 */ crclr 6 +/* 802B58B4 002B1514 48 00 3C C9 */ bl func_802B957C +/* 802B58B8 002B1518 88 1E 00 4D */ lbz r0, 0x4d(r30) +/* 802B58BC 002B151C 38 7B 01 F8 */ addi r3, r27, 0x1f8 +/* 802B58C0 002B1520 90 01 00 08 */ stw r0, 8(r1) +/* 802B58C4 002B1524 88 1E 00 4E */ lbz r0, 0x4e(r30) +/* 802B58C8 002B1528 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B58CC 002B152C 88 1E 00 4F */ lbz r0, 0x4f(r30) +/* 802B58D0 002B1530 90 01 00 10 */ stw r0, 0x10(r1) +/* 802B58D4 002B1534 88 1E 00 50 */ lbz r0, 0x50(r30) +/* 802B58D8 002B1538 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B58DC 002B153C 88 1E 00 51 */ lbz r0, 0x51(r30) +/* 802B58E0 002B1540 90 01 00 18 */ stw r0, 0x18(r1) +/* 802B58E4 002B1544 88 1E 00 52 */ lbz r0, 0x52(r30) +/* 802B58E8 002B1548 90 01 00 1C */ stw r0, 0x1c(r1) +/* 802B58EC 002B154C 88 1E 00 53 */ lbz r0, 0x53(r30) +/* 802B58F0 002B1550 90 01 00 20 */ stw r0, 0x20(r1) +/* 802B58F4 002B1554 88 1E 00 54 */ lbz r0, 0x54(r30) +/* 802B58F8 002B1558 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B58FC 002B155C 88 1E 00 55 */ lbz r0, 0x55(r30) +/* 802B5900 002B1560 90 01 00 28 */ stw r0, 0x28(r1) +/* 802B5904 002B1564 88 9E 00 46 */ lbz r4, 0x46(r30) +/* 802B5908 002B1568 88 BE 00 47 */ lbz r5, 0x47(r30) +/* 802B590C 002B156C 88 DE 00 48 */ lbz r6, 0x48(r30) +/* 802B5910 002B1570 88 FE 00 49 */ lbz r7, 0x49(r30) +/* 802B5914 002B1574 89 1E 00 4A */ lbz r8, 0x4a(r30) +/* 802B5918 002B1578 89 3E 00 4B */ lbz r9, 0x4b(r30) +/* 802B591C 002B157C 89 5E 00 4C */ lbz r10, 0x4c(r30) +/* 802B5920 002B1580 4C C6 31 82 */ crclr 6 +/* 802B5924 002B1584 48 00 3C 59 */ bl func_802B957C +/* 802B5928 002B1588 38 00 00 02 */ li r0, 2 +/* 802B592C 002B158C 3C C0 80 2C */ lis r6, lbl_802B8B08@ha +/* 802B5930 002B1590 98 1D 00 0E */ stb r0, 0xe(r29) +/* 802B5934 002B1594 38 9E 00 40 */ addi r4, r30, 0x40 +/* 802B5938 002B1598 38 BE 00 46 */ addi r5, r30, 0x46 +/* 802B593C 002B159C 38 C6 8B 08 */ addi r6, r6, lbl_802B8B08@l +/* 802B5940 002B15A0 38 60 00 01 */ li r3, 1 +/* 802B5944 002B15A4 48 01 13 F5 */ bl func_802C6D38 +/* 802B5948 002B15A8 38 00 00 08 */ li r0, 8 +lbl_802B594C: +/* 802B594C 002B15AC 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B5950 002B15B0 48 00 01 38 */ b lbl_802B5A88 +lbl_802B5954: +/* 802B5954 002B15B4 88 1D 00 0E */ lbz r0, 0xe(r29) +/* 802B5958 002B15B8 38 60 00 08 */ li r3, 8 +/* 802B595C 002B15BC 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5960 002B15C0 40 82 00 08 */ bne lbl_802B5968 +/* 802B5964 002B15C4 38 60 00 16 */ li r3, 0x16 +lbl_802B5968: +/* 802B5968 002B15C8 98 7D 00 0C */ stb r3, 0xc(r29) +/* 802B596C 002B15CC 48 00 01 1C */ b lbl_802B5A88 +lbl_802B5970: +/* 802B5970 002B15D0 4B FF F6 85 */ bl func_802B4FF4 +/* 802B5974 002B15D4 98 7D 00 0C */ stb r3, 0xc(r29) +/* 802B5978 002B15D8 48 00 01 10 */ b lbl_802B5A88 +lbl_802B597C: +/* 802B597C 002B15DC 4B FB 8D E1 */ bl OSDisableInterrupts +/* 802B5980 002B15E0 38 00 00 0D */ li r0, 0xd +/* 802B5984 002B15E4 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B5988 002B15E8 4B FB 8D FD */ bl OSRestoreInterrupts +/* 802B598C 002B15EC 3C 60 80 2B */ lis r3, lbl_802B4D60@ha +/* 802B5990 002B15F0 38 63 4D 60 */ addi r3, r3, lbl_802B4D60@l +/* 802B5994 002B15F4 48 03 64 39 */ bl func_802EBDCC +/* 802B5998 002B15F8 48 00 00 F0 */ b lbl_802B5A88 +lbl_802B599C: +/* 802B599C 002B15FC 88 1D 00 0E */ lbz r0, 0xe(r29) +/* 802B59A0 002B1600 3B 40 00 0A */ li r26, 0xa +/* 802B59A4 002B1604 2C 00 00 00 */ cmpwi r0, 0 +/* 802B59A8 002B1608 40 82 00 10 */ bne lbl_802B59B8 +/* 802B59AC 002B160C 38 7D 06 FC */ addi r3, r29, 0x6fc +/* 802B59B0 002B1610 3B 40 00 14 */ li r26, 0x14 +/* 802B59B4 002B1614 48 00 1C 6D */ bl func_802B7620 +lbl_802B59B8: +/* 802B59B8 002B1618 9B 5D 00 0C */ stb r26, 0xc(r29) +/* 802B59BC 002B161C 48 00 00 CC */ b lbl_802B5A88 +lbl_802B59C0: +/* 802B59C0 002B1620 88 DD 06 E6 */ lbz r6, 0x6e6(r29) +/* 802B59C4 002B1624 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B59C8 002B1628 38 80 00 00 */ li r4, 0 +/* 802B59CC 002B162C 38 A0 00 60 */ li r5, 0x60 +/* 802B59D0 002B1630 38 06 00 01 */ addi r0, r6, 1 +/* 802B59D4 002B1634 98 1D 06 E6 */ stb r0, 0x6e6(r29) +/* 802B59D8 002B1638 4B D4 E7 2D */ bl memset +/* 802B59DC 002B163C 88 1D 06 E9 */ lbz r0, 0x6e9(r29) +/* 802B59E0 002B1640 38 60 00 01 */ li r3, 1 +/* 802B59E4 002B1644 2C 00 00 00 */ cmpwi r0, 0 +/* 802B59E8 002B1648 40 82 00 08 */ bne lbl_802B59F0 +/* 802B59EC 002B164C 38 60 00 0E */ li r3, 0xe +lbl_802B59F0: +/* 802B59F0 002B1650 98 7D 00 0C */ stb r3, 0xc(r29) +/* 802B59F4 002B1654 48 00 00 94 */ b lbl_802B5A88 +lbl_802B59F8: +/* 802B59F8 002B1658 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B59FC 002B165C 38 80 00 00 */ li r4, 0 +/* 802B5A00 002B1660 38 A0 00 60 */ li r5, 0x60 +/* 802B5A04 002B1664 4B D4 E7 01 */ bl memset +/* 802B5A08 002B1668 88 1D 06 E9 */ lbz r0, 0x6e9(r29) +/* 802B5A0C 002B166C 38 60 00 01 */ li r3, 1 +/* 802B5A10 002B1670 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5A14 002B1674 40 82 00 08 */ bne lbl_802B5A1C +/* 802B5A18 002B1678 38 60 00 0E */ li r3, 0xe +lbl_802B5A1C: +/* 802B5A1C 002B167C 98 7D 00 0C */ stb r3, 0xc(r29) +/* 802B5A20 002B1680 48 00 00 68 */ b lbl_802B5A88 +lbl_802B5A24: +/* 802B5A24 002B1684 4B FF F6 DD */ bl func_802B5100 +/* 802B5A28 002B1688 98 7D 00 0C */ stb r3, 0xc(r29) +/* 802B5A2C 002B168C 48 00 00 5C */ b lbl_802B5A88 +lbl_802B5A30: +/* 802B5A30 002B1690 4B FB 8D 2D */ bl OSDisableInterrupts +/* 802B5A34 002B1694 8B 5D 06 E5 */ lbz r26, 0x6e5(r29) +/* 802B5A38 002B1698 4B FB 8D 4D */ bl OSRestoreInterrupts +/* 802B5A3C 002B169C 28 1A 00 04 */ cmplwi r26, 4 +/* 802B5A40 002B16A0 40 82 00 30 */ bne lbl_802B5A70 +/* 802B5A44 002B16A4 4B FB 8D 19 */ bl OSDisableInterrupts +/* 802B5A48 002B16A8 8B 5D 06 E4 */ lbz r26, 0x6e4(r29) +/* 802B5A4C 002B16AC 4B FB 8D 39 */ bl OSRestoreInterrupts +/* 802B5A50 002B16B0 28 1A 00 04 */ cmplwi r26, 4 +/* 802B5A54 002B16B4 40 82 00 1C */ bne lbl_802B5A70 +/* 802B5A58 002B16B8 38 7B 02 50 */ addi r3, r27, 0x250 +/* 802B5A5C 002B16BC 4C C6 31 82 */ crclr 6 +/* 802B5A60 002B16C0 48 00 3B 1D */ bl func_802B957C +/* 802B5A64 002B16C4 48 00 A8 01 */ bl func_802C0264 +/* 802B5A68 002B16C8 38 00 00 1A */ li r0, 0x1a +/* 802B5A6C 002B16CC 48 00 00 08 */ b lbl_802B5A74 +lbl_802B5A70: +/* 802B5A70 002B16D0 38 00 00 03 */ li r0, 3 +lbl_802B5A74: +/* 802B5A74 002B16D4 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B5A78 002B16D8 48 00 00 10 */ b lbl_802B5A88 +lbl_802B5A7C: +/* 802B5A7C 002B16DC 38 7B 02 80 */ addi r3, r27, 0x280 +/* 802B5A80 002B16E0 4C C6 31 82 */ crclr 6 +/* 802B5A84 002B16E4 48 00 3A F9 */ bl func_802B957C +lbl_802B5A88: +/* 802B5A88 002B16E8 39 61 00 60 */ addi r11, r1, 0x60 +/* 802B5A8C 002B16EC 4B F1 16 E5 */ bl _restgpr_26 +/* 802B5A90 002B16F0 80 01 00 64 */ lwz r0, 0x64(r1) +/* 802B5A94 002B16F4 7C 08 03 A6 */ mtlr r0 +/* 802B5A98 002B16F8 38 21 00 60 */ addi r1, r1, 0x60 +/* 802B5A9C 002B16FC 4E 80 00 20 */ blr +lbl_802B5AA0: +/* 802B5AA0 002B1700 3D 00 80 54 */ lis r8, lbl_8053B280@ha +/* 802B5AA4 002B1704 3C E0 80 2B */ lis r7, lbl_802B5264@ha +/* 802B5AA8 002B1708 39 08 B2 80 */ addi r8, r8, lbl_8053B280@l +/* 802B5AAC 002B170C 38 A0 00 00 */ li r5, 0 +/* 802B5AB0 002B1710 38 E7 52 64 */ addi r7, r7, lbl_802B5264@l +/* 802B5AB4 002B1714 38 C0 00 00 */ li r6, 0 +/* 802B5AB8 002B1718 39 08 10 00 */ addi r8, r8, 0x1000 +/* 802B5ABC 002B171C 4B FB 55 A4 */ b OSSwitchFiberEx + +.global func_802B5AC0 +func_802B5AC0: +/* 802B5AC0 002B1720 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B5AC4 002B1724 7C 08 02 A6 */ mflr r0 +/* 802B5AC8 002B1728 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B5ACC 002B172C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B5AD0 002B1730 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B5AD4 002B1734 3B C0 00 00 */ li r30, 0 +/* 802B5AD8 002B1738 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B5ADC 002B173C 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B5AE0 002B1740 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B5AE4 002B1744 3B FD 00 E4 */ addi r31, r29, 0xe4 +lbl_802B5AE8: +/* 802B5AE8 002B1748 88 1F 00 59 */ lbz r0, 0x59(r31) +/* 802B5AEC 002B174C 28 00 00 01 */ cmplwi r0, 1 +/* 802B5AF0 002B1750 40 81 00 0C */ ble lbl_802B5AFC +/* 802B5AF4 002B1754 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B5AF8 002B1758 48 00 F3 9D */ bl func_802C4E94 +lbl_802B5AFC: +/* 802B5AFC 002B175C 3B DE 00 01 */ addi r30, r30, 1 +/* 802B5B00 002B1760 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802B5B04 002B1764 2C 1E 00 0A */ cmpwi r30, 0xa +/* 802B5B08 002B1768 41 80 FF E0 */ blt lbl_802B5AE8 +/* 802B5B0C 002B176C 3B FD 04 A4 */ addi r31, r29, 0x4a4 +/* 802B5B10 002B1770 3B C0 00 00 */ li r30, 0 +lbl_802B5B14: +/* 802B5B14 002B1774 88 1F 00 59 */ lbz r0, 0x59(r31) +/* 802B5B18 002B1778 28 00 00 01 */ cmplwi r0, 1 +/* 802B5B1C 002B177C 40 81 00 0C */ ble lbl_802B5B28 +/* 802B5B20 002B1780 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B5B24 002B1784 48 00 F3 71 */ bl func_802C4E94 +lbl_802B5B28: +/* 802B5B28 002B1788 3B DE 00 01 */ addi r30, r30, 1 +/* 802B5B2C 002B178C 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802B5B30 002B1790 2C 1E 00 06 */ cmpwi r30, 6 +/* 802B5B34 002B1794 41 80 FF E0 */ blt lbl_802B5B14 +/* 802B5B38 002B1798 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B5B3C 002B179C 38 60 00 03 */ li r3, 3 +/* 802B5B40 002B17A0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B5B44 002B17A4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B5B48 002B17A8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B5B4C 002B17AC 7C 08 03 A6 */ mtlr r0 +/* 802B5B50 002B17B0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B5B54 002B17B4 4E 80 00 20 */ blr + +.global func_802B5B58 +func_802B5B58: +/* 802B5B58 002B17B8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B5B5C 002B17BC 7C 08 02 A6 */ mflr r0 +/* 802B5B60 002B17C0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B5B64 002B17C4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B5B68 002B17C8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B5B6C 002B17CC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B5B70 002B17D0 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B5B74 002B17D4 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B5B78 002B17D8 4B FB 8B E5 */ bl OSDisableInterrupts +/* 802B5B7C 002B17DC 8B FD 06 E5 */ lbz r31, 0x6e5(r29) +/* 802B5B80 002B17E0 4B FB 8C 05 */ bl OSRestoreInterrupts +/* 802B5B84 002B17E4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B5B88 002B17E8 41 82 00 0C */ beq lbl_802B5B94 +/* 802B5B8C 002B17EC 38 60 00 03 */ li r3, 3 +/* 802B5B90 002B17F0 48 00 00 60 */ b lbl_802B5BF0 +lbl_802B5B94: +/* 802B5B94 002B17F4 3B FD 00 E4 */ addi r31, r29, 0xe4 +/* 802B5B98 002B17F8 3B C0 00 00 */ li r30, 0 +lbl_802B5B9C: +/* 802B5B9C 002B17FC 88 1F 00 59 */ lbz r0, 0x59(r31) +/* 802B5BA0 002B1800 28 00 00 01 */ cmplwi r0, 1 +/* 802B5BA4 002B1804 40 82 00 0C */ bne lbl_802B5BB0 +/* 802B5BA8 002B1808 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B5BAC 002B180C 48 00 1A 75 */ bl func_802B7620 +lbl_802B5BB0: +/* 802B5BB0 002B1810 3B DE 00 01 */ addi r30, r30, 1 +/* 802B5BB4 002B1814 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802B5BB8 002B1818 2C 1E 00 0A */ cmpwi r30, 0xa +/* 802B5BBC 002B181C 41 80 FF E0 */ blt lbl_802B5B9C +/* 802B5BC0 002B1820 3B FD 04 A4 */ addi r31, r29, 0x4a4 +/* 802B5BC4 002B1824 3B C0 00 00 */ li r30, 0 +lbl_802B5BC8: +/* 802B5BC8 002B1828 88 1F 00 59 */ lbz r0, 0x59(r31) +/* 802B5BCC 002B182C 28 00 00 01 */ cmplwi r0, 1 +/* 802B5BD0 002B1830 40 82 00 0C */ bne lbl_802B5BDC +/* 802B5BD4 002B1834 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B5BD8 002B1838 48 00 1A 49 */ bl func_802B7620 +lbl_802B5BDC: +/* 802B5BDC 002B183C 3B DE 00 01 */ addi r30, r30, 1 +/* 802B5BE0 002B1840 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802B5BE4 002B1844 2C 1E 00 06 */ cmpwi r30, 6 +/* 802B5BE8 002B1848 41 80 FF E0 */ blt lbl_802B5BC8 +/* 802B5BEC 002B184C 38 60 00 05 */ li r3, 5 +lbl_802B5BF0: +/* 802B5BF0 002B1850 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B5BF4 002B1854 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B5BF8 002B1858 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B5BFC 002B185C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B5C00 002B1860 7C 08 03 A6 */ mtlr r0 +/* 802B5C04 002B1864 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B5C08 002B1868 4E 80 00 20 */ blr +lbl_802B5C0C: +/* 802B5C0C 002B186C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B5C10 002B1870 7C 08 02 A6 */ mflr r0 +/* 802B5C14 002B1874 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B5C18 002B1878 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B5C1C 002B187C 3B E0 00 00 */ li r31, 0 +/* 802B5C20 002B1880 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B5C24 002B1884 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B5C28 002B1888 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B5C2C 002B188C 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B5C30 002B1890 88 1D 00 0D */ lbz r0, 0xd(r29) +/* 802B5C34 002B1894 9B FD 00 0C */ stb r31, 0xc(r29) +/* 802B5C38 002B1898 28 00 00 08 */ cmplwi r0, 8 +/* 802B5C3C 002B189C 41 81 00 E8 */ bgt lbl_802B5D24 +/* 802B5C40 002B18A0 3C 60 80 44 */ lis r3, lbl_8043E2E4@ha +/* 802B5C44 002B18A4 54 00 10 3A */ slwi r0, r0, 2 +/* 802B5C48 002B18A8 38 63 E2 E4 */ addi r3, r3, lbl_8043E2E4@l +/* 802B5C4C 002B18AC 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802B5C50 002B18B0 7C 69 03 A6 */ mtctr r3 +/* 802B5C54 002B18B4 4E 80 04 20 */ bctr +/* 802B5C58 002B18B8 38 60 00 00 */ li r3, 0 +/* 802B5C5C 002B18BC 38 80 00 00 */ li r4, 0 +/* 802B5C60 002B18C0 48 00 A5 29 */ bl func_802C0188 +/* 802B5C64 002B18C4 38 00 00 02 */ li r0, 2 +/* 802B5C68 002B18C8 98 1D 00 0D */ stb r0, 0xd(r29) +/* 802B5C6C 002B18CC 48 00 00 B8 */ b lbl_802B5D24 +/* 802B5C70 002B18D0 4B FF FE 51 */ bl func_802B5AC0 +/* 802B5C74 002B18D4 98 7D 00 0D */ stb r3, 0xd(r29) +/* 802B5C78 002B18D8 48 00 00 AC */ b lbl_802B5D24 +/* 802B5C7C 002B18DC 4B FF FE DD */ bl func_802B5B58 +/* 802B5C80 002B18E0 98 7D 00 0D */ stb r3, 0xd(r29) +/* 802B5C84 002B18E4 48 00 00 A0 */ b lbl_802B5D24 +/* 802B5C88 002B18E8 48 03 4D 65 */ bl func_802EA9EC +/* 802B5C8C 002B18EC 28 03 00 01 */ cmplwi r3, 1 +/* 802B5C90 002B18F0 41 82 00 94 */ beq lbl_802B5D24 +/* 802B5C94 002B18F4 3F E0 80 54 */ lis r31, lbl_8053AC28@ha +/* 802B5C98 002B18F8 38 80 00 00 */ li r4, 0 +/* 802B5C9C 002B18FC 38 7F AC 28 */ addi r3, r31, lbl_8053AC28@l +/* 802B5CA0 002B1900 38 A0 04 61 */ li r5, 0x461 +/* 802B5CA4 002B1904 4B D4 E4 61 */ bl memset +/* 802B5CA8 002B1908 38 7F AC 28 */ addi r3, r31, -21464 +/* 802B5CAC 002B190C 48 03 69 61 */ bl func_802EC60C +/* 802B5CB0 002B1910 2C 03 00 00 */ cmpwi r3, 0 +/* 802B5CB4 002B1914 41 82 00 70 */ beq lbl_802B5D24 +/* 802B5CB8 002B1918 38 00 00 06 */ li r0, 6 +/* 802B5CBC 002B191C 3C 60 80 2B */ lis r3, lbl_802B4DD8@ha +/* 802B5CC0 002B1920 98 1D 00 0D */ stb r0, 0xd(r29) +/* 802B5CC4 002B1924 38 63 4D D8 */ addi r3, r3, lbl_802B4DD8@l +/* 802B5CC8 002B1928 48 03 61 05 */ bl func_802EBDCC +/* 802B5CCC 002B192C 48 00 00 58 */ b lbl_802B5D24 +/* 802B5CD0 002B1930 4B FB 8A 8D */ bl OSDisableInterrupts +/* 802B5CD4 002B1934 8B DD 06 EA */ lbz r30, 0x6ea(r29) +/* 802B5CD8 002B1938 4B FB 8A AD */ bl OSRestoreInterrupts +/* 802B5CDC 002B193C 4B FB 8A 81 */ bl OSDisableInterrupts +/* 802B5CE0 002B1940 9B FD 06 EB */ stb r31, 0x6eb(r29) +/* 802B5CE4 002B1944 9B DD 06 EA */ stb r30, 0x6ea(r29) +/* 802B5CE8 002B1948 4B FB 8A 9D */ bl OSRestoreInterrupts +/* 802B5CEC 002B194C 7F C4 F3 78 */ mr r4, r30 +/* 802B5CF0 002B1950 38 60 00 00 */ li r3, 0 +/* 802B5CF4 002B1954 48 00 A4 95 */ bl func_802C0188 +/* 802B5CF8 002B1958 38 7D 07 10 */ addi r3, r29, 0x710 +/* 802B5CFC 002B195C 4B FB 3D 7D */ bl OSCancelAlarm +/* 802B5D00 002B1960 81 9D 00 08 */ lwz r12, 8(r29) +/* 802B5D04 002B1964 9B FD 00 0D */ stb r31, 0xd(r29) +/* 802B5D08 002B1968 2C 0C 00 00 */ cmpwi r12, 0 +/* 802B5D0C 002B196C 41 82 00 10 */ beq lbl_802B5D1C +/* 802B5D10 002B1970 38 60 00 01 */ li r3, 1 +/* 802B5D14 002B1974 7D 89 03 A6 */ mtctr r12 +/* 802B5D18 002B1978 4E 80 04 21 */ bctrl +lbl_802B5D1C: +/* 802B5D1C 002B197C 38 00 00 00 */ li r0, 0 +/* 802B5D20 002B1980 98 1D 00 0D */ stb r0, 0xd(r29) +lbl_802B5D24: +/* 802B5D24 002B1984 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B5D28 002B1988 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B5D2C 002B198C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B5D30 002B1990 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B5D34 002B1994 7C 08 03 A6 */ mtlr r0 +/* 802B5D38 002B1998 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B5D3C 002B199C 4E 80 00 20 */ blr +lbl_802B5D40: +/* 802B5D40 002B19A0 3D 00 80 54 */ lis r8, lbl_8053B280@ha +/* 802B5D44 002B19A4 3C E0 80 2B */ lis r7, lbl_802B5C0C@ha +/* 802B5D48 002B19A8 39 08 B2 80 */ addi r8, r8, lbl_8053B280@l +/* 802B5D4C 002B19AC 38 A0 00 00 */ li r5, 0 +/* 802B5D50 002B19B0 38 E7 5C 0C */ addi r7, r7, lbl_802B5C0C@l +/* 802B5D54 002B19B4 38 C0 00 00 */ li r6, 0 +/* 802B5D58 002B19B8 39 08 10 00 */ addi r8, r8, 0x1000 +/* 802B5D5C 002B19BC 4B FB 53 04 */ b OSSwitchFiberEx + +.global func_802B5D60 +func_802B5D60: +/* 802B5D60 002B19C0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B5D64 002B19C4 7C 08 02 A6 */ mflr r0 +/* 802B5D68 002B19C8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B5D6C 002B19CC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B5D70 002B19D0 4B F1 13 B9 */ bl _savegpr_27 +/* 802B5D74 002B19D4 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B5D78 002B19D8 3B 83 A4 E0 */ addi r28, r3, lbl_8053A4E0@l +/* 802B5D7C 002B19DC 88 1C 00 0E */ lbz r0, 0xe(r28) +/* 802B5D80 002B19E0 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5D84 002B19E4 40 82 00 D4 */ bne lbl_802B5E58 +/* 802B5D88 002B19E8 3B 60 00 00 */ li r27, 0 +/* 802B5D8C 002B19EC 3B A0 00 00 */ li r29, 0 +lbl_802B5D90: +/* 802B5D90 002B19F0 4B FB 89 CD */ bl OSDisableInterrupts +/* 802B5D94 002B19F4 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B5D98 002B19F8 41 80 00 18 */ blt lbl_802B5DB0 +/* 802B5D9C 002B19FC 2C 1B 00 0A */ cmpwi r27, 0xa +/* 802B5DA0 002B1A00 40 80 00 10 */ bge lbl_802B5DB0 +/* 802B5DA4 002B1A04 7C 9C EA 14 */ add r4, r28, r29 +/* 802B5DA8 002B1A08 3B E4 00 E4 */ addi r31, r4, 0xe4 +/* 802B5DAC 002B1A0C 48 00 00 14 */ b lbl_802B5DC0 +lbl_802B5DB0: +/* 802B5DB0 002B1A10 38 1B FF F6 */ addi r0, r27, -10 +/* 802B5DB4 002B1A14 1C 00 00 60 */ mulli r0, r0, 0x60 +/* 802B5DB8 002B1A18 7C 9C 02 14 */ add r4, r28, r0 +/* 802B5DBC 002B1A1C 3B E4 04 A4 */ addi r31, r4, 0x4a4 +lbl_802B5DC0: +/* 802B5DC0 002B1A20 4B FB 89 C5 */ bl OSRestoreInterrupts +/* 802B5DC4 002B1A24 88 1F 00 59 */ lbz r0, 0x59(r31) +/* 802B5DC8 002B1A28 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5DCC 002B1A2C 41 82 00 74 */ beq lbl_802B5E40 +/* 802B5DD0 002B1A30 88 1F 00 5C */ lbz r0, 0x5c(r31) +/* 802B5DD4 002B1A34 28 00 00 01 */ cmplwi r0, 1 +/* 802B5DD8 002B1A38 40 82 00 2C */ bne lbl_802B5E04 +/* 802B5DDC 002B1A3C 38 00 00 03 */ li r0, 3 +/* 802B5DE0 002B1A40 3C 80 80 2C */ lis r4, lbl_802B8B08@ha +/* 802B5DE4 002B1A44 98 1C 00 0E */ stb r0, 0xe(r28) +/* 802B5DE8 002B1A48 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B5DEC 002B1A4C 38 84 8B 08 */ addi r4, r4, lbl_802B8B08@l +/* 802B5DF0 002B1A50 48 01 10 19 */ bl func_802C6E08 +/* 802B5DF4 002B1A54 38 00 00 00 */ li r0, 0 +/* 802B5DF8 002B1A58 38 60 00 02 */ li r3, 2 +/* 802B5DFC 002B1A5C 98 1F 00 5C */ stb r0, 0x5c(r31) +/* 802B5E00 002B1A60 48 00 00 5C */ b lbl_802B5E5C +lbl_802B5E04: +/* 802B5E04 002B1A64 28 00 00 03 */ cmplwi r0, 3 +/* 802B5E08 002B1A68 41 82 00 38 */ beq lbl_802B5E40 +/* 802B5E0C 002B1A6C 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B5E10 002B1A70 48 00 19 55 */ bl func_802B7764 +/* 802B5E14 002B1A74 2C 03 00 00 */ cmpwi r3, 0 +/* 802B5E18 002B1A78 7C 7E 1B 78 */ mr r30, r3 +/* 802B5E1C 002B1A7C 41 82 00 24 */ beq lbl_802B5E40 +/* 802B5E20 002B1A80 4B FB 89 3D */ bl OSDisableInterrupts +/* 802B5E24 002B1A84 7C 7F 1B 78 */ mr r31, r3 +/* 802B5E28 002B1A88 7F C3 F3 78 */ mr r3, r30 +/* 802B5E2C 002B1A8C 38 80 00 00 */ li r4, 0 +/* 802B5E30 002B1A90 38 A0 00 60 */ li r5, 0x60 +/* 802B5E34 002B1A94 4B D4 E2 D1 */ bl memset +/* 802B5E38 002B1A98 7F E3 FB 78 */ mr r3, r31 +/* 802B5E3C 002B1A9C 4B FB 89 49 */ bl OSRestoreInterrupts +lbl_802B5E40: +/* 802B5E40 002B1AA0 3B 7B 00 01 */ addi r27, r27, 1 +/* 802B5E44 002B1AA4 3B BD 00 60 */ addi r29, r29, 0x60 +/* 802B5E48 002B1AA8 2C 1B 00 10 */ cmpwi r27, 0x10 +/* 802B5E4C 002B1AAC 41 80 FF 44 */ blt lbl_802B5D90 +/* 802B5E50 002B1AB0 38 60 00 03 */ li r3, 3 +/* 802B5E54 002B1AB4 48 00 00 08 */ b lbl_802B5E5C +lbl_802B5E58: +/* 802B5E58 002B1AB8 38 60 00 02 */ li r3, 2 +lbl_802B5E5C: +/* 802B5E5C 002B1ABC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B5E60 002B1AC0 4B F1 13 15 */ bl _restgpr_27 +/* 802B5E64 002B1AC4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B5E68 002B1AC8 7C 08 03 A6 */ mtlr r0 +/* 802B5E6C 002B1ACC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B5E70 002B1AD0 4E 80 00 20 */ blr +lbl_802B5E74: +/* 802B5E74 002B1AD4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B5E78 002B1AD8 7C 08 02 A6 */ mflr r0 +/* 802B5E7C 002B1ADC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B5E80 002B1AE0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B5E84 002B1AE4 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B5E88 002B1AE8 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B5E8C 002B1AEC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B5E90 002B1AF0 3F C0 80 44 */ lis r30, lbl_8043E048@ha +/* 802B5E94 002B1AF4 3B DE E0 48 */ addi r30, r30, lbl_8043E048@l +/* 802B5E98 002B1AF8 88 1F 00 0F */ lbz r0, 0xf(r31) +/* 802B5E9C 002B1AFC 2C 00 00 02 */ cmpwi r0, 2 +/* 802B5EA0 002B1B00 41 82 00 50 */ beq lbl_802B5EF0 +/* 802B5EA4 002B1B04 40 80 00 10 */ bge lbl_802B5EB4 +/* 802B5EA8 002B1B08 2C 00 00 01 */ cmpwi r0, 1 +/* 802B5EAC 002B1B0C 40 80 00 14 */ bge lbl_802B5EC0 +/* 802B5EB0 002B1B10 48 00 01 80 */ b lbl_802B6030 +lbl_802B5EB4: +/* 802B5EB4 002B1B14 2C 00 00 04 */ cmpwi r0, 4 +/* 802B5EB8 002B1B18 40 80 01 78 */ bge lbl_802B6030 +/* 802B5EBC 002B1B1C 48 00 00 40 */ b lbl_802B5EFC +lbl_802B5EC0: +/* 802B5EC0 002B1B20 80 1F 07 40 */ lwz r0, 0x740(r31) +/* 802B5EC4 002B1B24 28 00 00 01 */ cmplwi r0, 1 +/* 802B5EC8 002B1B28 40 82 00 1C */ bne lbl_802B5EE4 +/* 802B5ECC 002B1B2C 38 00 00 01 */ li r0, 1 +/* 802B5ED0 002B1B30 3C 80 80 2C */ lis r4, lbl_802B8B08@ha +/* 802B5ED4 002B1B34 98 1F 00 0E */ stb r0, 0xe(r31) +/* 802B5ED8 002B1B38 38 84 8B 08 */ addi r4, r4, lbl_802B8B08@l +/* 802B5EDC 002B1B3C 38 60 00 00 */ li r3, 0 +/* 802B5EE0 002B1B40 48 01 0D 81 */ bl func_802C6C60 +lbl_802B5EE4: +/* 802B5EE4 002B1B44 38 00 00 02 */ li r0, 2 +/* 802B5EE8 002B1B48 98 1F 00 0F */ stb r0, 0xf(r31) +/* 802B5EEC 002B1B4C 48 00 01 44 */ b lbl_802B6030 +lbl_802B5EF0: +/* 802B5EF0 002B1B50 4B FF FE 71 */ bl func_802B5D60 +/* 802B5EF4 002B1B54 98 7F 00 0F */ stb r3, 0xf(r31) +/* 802B5EF8 002B1B58 48 00 01 38 */ b lbl_802B6030 +lbl_802B5EFC: +/* 802B5EFC 002B1B5C 88 1F 00 0E */ lbz r0, 0xe(r31) +/* 802B5F00 002B1B60 2C 00 00 00 */ cmpwi r0, 0 +/* 802B5F04 002B1B64 40 82 01 24 */ bne lbl_802B6028 +/* 802B5F08 002B1B68 38 7F 07 10 */ addi r3, r31, 0x710 +/* 802B5F0C 002B1B6C 4B FB 3B 6D */ bl OSCancelAlarm +/* 802B5F10 002B1B70 38 61 00 08 */ addi r3, r1, 8 +/* 802B5F14 002B1B74 48 01 09 71 */ bl func_802C6884 +/* 802B5F18 002B1B78 88 81 00 08 */ lbz r4, 8(r1) +/* 802B5F1C 002B1B7C 38 7E 02 C0 */ addi r3, r30, 0x2c0 +/* 802B5F20 002B1B80 4C C6 31 82 */ crclr 6 +/* 802B5F24 002B1B84 48 00 36 59 */ bl func_802B957C +/* 802B5F28 002B1B88 A0 81 00 0A */ lhz r4, 0xa(r1) +/* 802B5F2C 002B1B8C 38 7E 02 D8 */ addi r3, r30, 0x2d8 +/* 802B5F30 002B1B90 4C C6 31 82 */ crclr 6 +/* 802B5F34 002B1B94 48 00 36 49 */ bl func_802B957C +/* 802B5F38 002B1B98 88 81 00 0C */ lbz r4, 0xc(r1) +/* 802B5F3C 002B1B9C 38 7E 02 F0 */ addi r3, r30, 0x2f0 +/* 802B5F40 002B1BA0 4C C6 31 82 */ crclr 6 +/* 802B5F44 002B1BA4 48 00 36 39 */ bl func_802B957C +/* 802B5F48 002B1BA8 A0 81 00 10 */ lhz r4, 0x10(r1) +/* 802B5F4C 002B1BAC 38 7E 03 08 */ addi r3, r30, 0x308 +/* 802B5F50 002B1BB0 4C C6 31 82 */ crclr 6 +/* 802B5F54 002B1BB4 48 00 36 29 */ bl func_802B957C +/* 802B5F58 002B1BB8 A0 81 00 0E */ lhz r4, 0xe(r1) +/* 802B5F5C 002B1BBC 38 7E 03 20 */ addi r3, r30, 0x320 +/* 802B5F60 002B1BC0 4C C6 31 82 */ crclr 6 +/* 802B5F64 002B1BC4 48 00 36 19 */ bl func_802B957C +/* 802B5F68 002B1BC8 A0 01 00 0A */ lhz r0, 0xa(r1) +/* 802B5F6C 002B1BCC 38 7E 03 38 */ addi r3, r30, 0x338 +/* 802B5F70 002B1BD0 54 04 05 3E */ clrlwi r4, r0, 0x14 +/* 802B5F74 002B1BD4 4C C6 31 82 */ crclr 6 +/* 802B5F78 002B1BD8 48 00 36 05 */ bl func_802B957C +/* 802B5F7C 002B1BDC A0 01 00 0A */ lhz r0, 0xa(r1) +/* 802B5F80 002B1BE0 54 00 05 3E */ clrlwi r0, r0, 0x14 +/* 802B5F84 002B1BE4 2C 00 00 A7 */ cmpwi r0, 0xa7 +/* 802B5F88 002B1BE8 40 82 00 94 */ bne lbl_802B601C +/* 802B5F8C 002B1BEC 38 7E 03 60 */ addi r3, r30, 0x360 +/* 802B5F90 002B1BF0 4C C6 31 82 */ crclr 6 +/* 802B5F94 002B1BF4 48 00 35 E9 */ bl func_802B957C +/* 802B5F98 002B1BF8 3D 00 80 44 */ lis r8, lbl_8043E54C@ha +/* 802B5F9C 002B1BFC 3C 60 00 01 */ lis r3, 0x0000FC4F@ha +/* 802B5FA0 002B1C00 39 48 E5 4C */ addi r10, r8, lbl_8043E54C@l +/* 802B5FA4 002B1C04 3C C0 80 2B */ lis r6, lbl_802B6F34@ha +/* 802B5FA8 002B1C08 88 EA 00 03 */ lbz r7, 3(r10) +/* 802B5FAC 002B1C0C 38 03 FC 4F */ addi r0, r3, 0x0000FC4F@l +/* 802B5FB0 002B1C10 88 8A 00 07 */ lbz r4, 7(r10) +/* 802B5FB4 002B1C14 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B5FB8 002B1C18 88 AA 00 02 */ lbz r5, 2(r10) +/* 802B5FBC 002B1C1C 54 E7 40 2E */ slwi r7, r7, 8 +/* 802B5FC0 002B1C20 88 0A 00 06 */ lbz r0, 6(r10) +/* 802B5FC4 002B1C24 54 84 40 2E */ slwi r4, r4, 8 +/* 802B5FC8 002B1C28 7C A7 2A 14 */ add r5, r7, r5 +/* 802B5FCC 002B1C2C 88 EA 00 01 */ lbz r7, 1(r10) +/* 802B5FD0 002B1C30 7C 04 02 14 */ add r0, r4, r0 +/* 802B5FD4 002B1C34 88 8A 00 05 */ lbz r4, 5(r10) +/* 802B5FD8 002B1C38 54 A9 40 2E */ slwi r9, r5, 8 +/* 802B5FDC 002B1C3C 89 08 E5 4C */ lbz r8, -0x1ab4(r8) +/* 802B5FE0 002B1C40 54 05 40 2E */ slwi r5, r0, 8 +/* 802B5FE4 002B1C44 88 0A 00 04 */ lbz r0, 4(r10) +/* 802B5FE8 002B1C48 7D 29 3A 14 */ add r9, r9, r7 +/* 802B5FEC 002B1C4C 38 C6 6F 34 */ addi r6, r6, lbl_802B6F34@l +/* 802B5FF0 002B1C50 7C E5 22 14 */ add r7, r5, r4 +/* 802B5FF4 002B1C54 38 80 00 01 */ li r4, 1 +/* 802B5FF8 002B1C58 55 29 40 2E */ slwi r9, r9, 8 +/* 802B5FFC 002B1C5C 38 AD AE B0 */ addi r5, r13, lbl_80640170-_SDA_BASE_ +/* 802B6000 002B1C60 54 E7 40 2E */ slwi r7, r7, 8 +/* 802B6004 002B1C64 7D 09 42 14 */ add r8, r9, r8 +/* 802B6008 002B1C68 7C 07 02 14 */ add r0, r7, r0 +/* 802B600C 002B1C6C 91 0D AE B4 */ stw r8, lbl_80640174-_SDA_BASE_(r13) +/* 802B6010 002B1C70 90 0D AE BC */ stw r0, lbl_8064017C-_SDA_BASE_(r13) +/* 802B6014 002B1C74 48 01 09 75 */ bl func_802C6988 +/* 802B6018 002B1C78 48 00 00 08 */ b lbl_802B6020 +lbl_802B601C: +/* 802B601C 002B1C7C 48 00 13 95 */ bl func_802B73B0 +lbl_802B6020: +/* 802B6020 002B1C80 38 00 00 04 */ li r0, 4 +/* 802B6024 002B1C84 48 00 00 08 */ b lbl_802B602C +lbl_802B6028: +/* 802B6028 002B1C88 38 00 00 02 */ li r0, 2 +lbl_802B602C: +/* 802B602C 002B1C8C 98 1F 00 0F */ stb r0, 0xf(r31) +lbl_802B6030: +/* 802B6030 002B1C90 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B6034 002B1C94 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B6038 002B1C98 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B603C 002B1C9C 7C 08 03 A6 */ mtlr r0 +/* 802B6040 002B1CA0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B6044 002B1CA4 4E 80 00 20 */ blr +lbl_802B6048: +/* 802B6048 002B1CA8 3D 00 80 54 */ lis r8, lbl_8053B280@ha +/* 802B604C 002B1CAC 3C E0 80 2B */ lis r7, lbl_802B5E74@ha +/* 802B6050 002B1CB0 39 08 B2 80 */ addi r8, r8, lbl_8053B280@l +/* 802B6054 002B1CB4 38 A0 00 00 */ li r5, 0 +/* 802B6058 002B1CB8 38 E7 5E 74 */ addi r7, r7, lbl_802B5E74@l +/* 802B605C 002B1CBC 38 C0 00 00 */ li r6, 0 +/* 802B6060 002B1CC0 39 08 10 00 */ addi r8, r8, 0x1000 +/* 802B6064 002B1CC4 4B FB 4F FC */ b OSSwitchFiberEx + +.global func_802B6068 +func_802B6068: +/* 802B6068 002B1CC8 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802B606C 002B1CCC 7C 08 02 A6 */ mflr r0 +/* 802B6070 002B1CD0 90 01 00 44 */ stw r0, 0x44(r1) +/* 802B6074 002B1CD4 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B6078 002B1CD8 4B F1 10 99 */ bl _savegpr_21 +/* 802B607C 002B1CDC 3F 20 80 44 */ lis r25, lbl_8043E048@ha +/* 802B6080 002B1CE0 3F 40 80 54 */ lis r26, lbl_8053AC28@ha +/* 802B6084 002B1CE4 3B 39 E0 48 */ addi r25, r25, lbl_8043E048@l +/* 802B6088 002B1CE8 38 80 00 00 */ li r4, 0 +/* 802B608C 002B1CEC 38 7A AC 28 */ addi r3, r26, lbl_8053AC28@l +/* 802B6090 002B1CF0 38 A0 04 61 */ li r5, 0x461 +/* 802B6094 002B1CF4 4B D4 E0 71 */ bl memset +/* 802B6098 002B1CF8 38 7A AC 28 */ addi r3, r26, -21464 +/* 802B609C 002B1CFC 48 03 65 65 */ bl func_802EC600 +/* 802B60A0 002B1D00 38 7A AC 28 */ addi r3, r26, -21464 +/* 802B60A4 002B1D04 3A C0 00 00 */ li r22, 0 +/* 802B60A8 002B1D08 3B 03 00 01 */ addi r24, r3, 1 +/* 802B60AC 002B1D0C 3B 60 00 01 */ li r27, 1 +/* 802B60B0 002B1D10 3A E3 00 07 */ addi r23, r3, 7 +/* 802B60B4 002B1D14 3B 80 00 00 */ li r28, 0 +/* 802B60B8 002B1D18 3B A0 00 02 */ li r29, 2 +/* 802B60BC 002B1D1C 3F C0 00 01 */ lis r30, 1 +/* 802B60C0 002B1D20 3B E0 00 03 */ li r31, 3 +/* 802B60C4 002B1D24 48 00 00 A0 */ b lbl_802B6164 +lbl_802B60C8: +/* 802B60C8 002B1D28 48 00 17 75 */ bl func_802B783C +/* 802B60CC 002B1D2C 7C 75 1B 78 */ mr r21, r3 +/* 802B60D0 002B1D30 7F 04 C3 78 */ mr r4, r24 +/* 802B60D4 002B1D34 38 A0 00 06 */ li r5, 6 +/* 802B60D8 002B1D38 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B60DC 002B1D3C 4B D4 DF 25 */ bl memcpy +/* 802B60E0 002B1D40 7E A3 AB 78 */ mr r3, r21 +/* 802B60E4 002B1D44 7E E4 BB 78 */ mr r4, r23 +/* 802B60E8 002B1D48 38 A0 00 40 */ li r5, 0x40 +/* 802B60EC 002B1D4C 4B D4 DF 15 */ bl memcpy +/* 802B60F0 002B1D50 9B 75 00 59 */ stb r27, 0x59(r21) +/* 802B60F4 002B1D54 7E A3 AB 78 */ mr r3, r21 +/* 802B60F8 002B1D58 38 99 03 7C */ addi r4, r25, 0x37c +/* 802B60FC 002B1D5C 38 A0 00 13 */ li r5, 0x13 +/* 802B6100 002B1D60 9B 95 00 5B */ stb r28, 0x5b(r21) +/* 802B6104 002B1D64 9B B5 00 5C */ stb r29, 0x5c(r21) +/* 802B6108 002B1D68 4B F1 42 91 */ bl memcmp +/* 802B610C 002B1D6C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B6110 002B1D70 40 82 00 14 */ bne lbl_802B6124 +/* 802B6114 002B1D74 9B B5 00 57 */ stb r29, 0x57(r21) +/* 802B6118 002B1D78 38 1E 80 74 */ addi r0, r30, -32652 +/* 802B611C 002B1D7C B0 15 00 5E */ sth r0, 0x5e(r21) +/* 802B6120 002B1D80 9B F5 00 58 */ stb r31, 0x58(r21) +lbl_802B6124: +/* 802B6124 002B1D84 88 95 00 40 */ lbz r4, 0x40(r21) +/* 802B6128 002B1D88 38 79 01 CC */ addi r3, r25, 0x1cc +/* 802B612C 002B1D8C 88 B5 00 41 */ lbz r5, 0x41(r21) +/* 802B6130 002B1D90 88 D5 00 42 */ lbz r6, 0x42(r21) +/* 802B6134 002B1D94 88 F5 00 43 */ lbz r7, 0x43(r21) +/* 802B6138 002B1D98 89 15 00 44 */ lbz r8, 0x44(r21) +/* 802B613C 002B1D9C 89 35 00 45 */ lbz r9, 0x45(r21) +/* 802B6140 002B1DA0 4C C6 31 82 */ crclr 6 +/* 802B6144 002B1DA4 48 00 34 39 */ bl func_802B957C +/* 802B6148 002B1DA8 7E A4 AB 78 */ mr r4, r21 +/* 802B614C 002B1DAC 38 79 03 90 */ addi r3, r25, 0x390 +/* 802B6150 002B1DB0 4C C6 31 82 */ crclr 6 +/* 802B6154 002B1DB4 48 00 34 29 */ bl func_802B957C +/* 802B6158 002B1DB8 3B 18 00 46 */ addi r24, r24, 0x46 +/* 802B615C 002B1DBC 3A F7 00 46 */ addi r23, r23, 0x46 +/* 802B6160 002B1DC0 3A D6 00 01 */ addi r22, r22, 1 +lbl_802B6164: +/* 802B6164 002B1DC4 88 1A AC 28 */ lbz r0, -0x53d8(r26) +/* 802B6168 002B1DC8 7C 16 00 00 */ cmpw r22, r0 +/* 802B616C 002B1DCC 41 80 FF 5C */ blt lbl_802B60C8 +/* 802B6170 002B1DD0 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B6174 002B1DD4 38 60 00 03 */ li r3, 3 +/* 802B6178 002B1DD8 4B F1 0F E5 */ bl _restgpr_21 +/* 802B617C 002B1DDC 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802B6180 002B1DE0 7C 08 03 A6 */ mtlr r0 +/* 802B6184 002B1DE4 38 21 00 40 */ addi r1, r1, 0x40 +/* 802B6188 002B1DE8 4E 80 00 20 */ blr +lbl_802B618C: +/* 802B618C 002B1DEC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6190 002B1DF0 7C 08 02 A6 */ mflr r0 +/* 802B6194 002B1DF4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B6198 002B1DF8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B619C 002B1DFC 93 C1 00 08 */ stw r30, 8(r1) +/* 802B61A0 002B1E00 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B61A4 002B1E04 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B61A8 002B1E08 88 1E 00 10 */ lbz r0, 0x10(r30) +/* 802B61AC 002B1E0C 2C 00 00 02 */ cmpwi r0, 2 +/* 802B61B0 002B1E10 41 82 00 78 */ beq lbl_802B6228 +/* 802B61B4 002B1E14 40 80 00 10 */ bge lbl_802B61C4 +/* 802B61B8 002B1E18 2C 00 00 01 */ cmpwi r0, 1 +/* 802B61BC 002B1E1C 40 80 00 14 */ bge lbl_802B61D0 +/* 802B61C0 002B1E20 48 00 00 98 */ b lbl_802B6258 +lbl_802B61C4: +/* 802B61C4 002B1E24 2C 00 00 04 */ cmpwi r0, 4 +/* 802B61C8 002B1E28 40 80 00 90 */ bge lbl_802B6258 +/* 802B61CC 002B1E2C 48 00 00 68 */ b lbl_802B6234 +lbl_802B61D0: +/* 802B61D0 002B1E30 3B E0 00 01 */ li r31, 1 +/* 802B61D4 002B1E34 4B FB C6 05 */ bl __OSGetSystemTime +/* 802B61D8 002B1E38 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 802B61DC 002B1E3C 3C 60 10 62 */ lis r3, 0x10624DD3@ha +/* 802B61E0 002B1E40 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 802B61E4 002B1E44 38 63 4D D3 */ addi r3, r3, 0x10624DD3@l +/* 802B61E8 002B1E48 80 AD A7 AC */ lwz r5, lbl_8063FA6C-_SDA_BASE_(r13) +/* 802B61EC 002B1E4C 54 00 F0 BE */ srwi r0, r0, 2 +/* 802B61F0 002B1E50 7C 03 00 16 */ mulhwu r0, r3, r0 +/* 802B61F4 002B1E54 7C 65 20 50 */ subf r3, r5, r4 +/* 802B61F8 002B1E58 54 00 D1 BE */ srwi r0, r0, 6 +/* 802B61FC 002B1E5C 7C 03 03 96 */ divwu r0, r3, r0 +/* 802B6200 002B1E60 20 00 01 F4 */ subfic r0, r0, 0x1f4 +/* 802B6204 002B1E64 2C 00 00 00 */ cmpwi r0, 0 +/* 802B6208 002B1E68 40 80 00 18 */ bge lbl_802B6220 +/* 802B620C 002B1E6C 48 03 47 E1 */ bl func_802EA9EC +/* 802B6210 002B1E70 28 03 00 01 */ cmplwi r3, 1 +/* 802B6214 002B1E74 41 82 00 0C */ beq lbl_802B6220 +/* 802B6218 002B1E78 48 00 01 1D */ bl func_802B6334 +/* 802B621C 002B1E7C 3B E0 00 02 */ li r31, 2 +lbl_802B6220: +/* 802B6220 002B1E80 9B FE 00 10 */ stb r31, 0x10(r30) +/* 802B6224 002B1E84 48 00 00 34 */ b lbl_802B6258 +lbl_802B6228: +/* 802B6228 002B1E88 4B FF FE 41 */ bl func_802B6068 +/* 802B622C 002B1E8C 98 7E 00 10 */ stb r3, 0x10(r30) +/* 802B6230 002B1E90 48 00 00 28 */ b lbl_802B6258 +lbl_802B6234: +/* 802B6234 002B1E94 38 7E 07 10 */ addi r3, r30, 0x710 +/* 802B6238 002B1E98 4B FB 38 41 */ bl OSCancelAlarm +/* 802B623C 002B1E9C 38 00 00 01 */ li r0, 1 +/* 802B6240 002B1EA0 3C 60 80 2C */ lis r3, lbl_802B8040@ha +/* 802B6244 002B1EA4 98 1E 07 08 */ stb r0, 0x708(r30) +/* 802B6248 002B1EA8 38 63 80 40 */ addi r3, r3, lbl_802B8040@l +/* 802B624C 002B1EAC 48 00 9D E1 */ bl func_802C002C +/* 802B6250 002B1EB0 38 00 00 04 */ li r0, 4 +/* 802B6254 002B1EB4 98 1E 00 10 */ stb r0, 0x10(r30) +lbl_802B6258: +/* 802B6258 002B1EB8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B625C 002B1EBC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6260 002B1EC0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B6264 002B1EC4 7C 08 03 A6 */ mtlr r0 +/* 802B6268 002B1EC8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B626C 002B1ECC 4E 80 00 20 */ blr +lbl_802B6270: +/* 802B6270 002B1ED0 3D 00 80 54 */ lis r8, lbl_8053B280@ha +/* 802B6274 002B1ED4 3C E0 80 2B */ lis r7, lbl_802B618C@ha +/* 802B6278 002B1ED8 39 08 B2 80 */ addi r8, r8, lbl_8053B280@l +/* 802B627C 002B1EDC 38 A0 00 00 */ li r5, 0 +/* 802B6280 002B1EE0 38 E7 61 8C */ addi r7, r7, lbl_802B618C@l +/* 802B6284 002B1EE4 38 C0 00 00 */ li r6, 0 +/* 802B6288 002B1EE8 39 08 10 00 */ addi r8, r8, 0x1000 +/* 802B628C 002B1EEC 4B FB 4D D4 */ b OSSwitchFiberEx +lbl_802B6290: +/* 802B6290 002B1EF0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6294 002B1EF4 7C 08 02 A6 */ mflr r0 +/* 802B6298 002B1EF8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B629C 002B1EFC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B62A0 002B1F00 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B62A4 002B1F04 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B62A8 002B1F08 88 1F 00 11 */ lbz r0, 0x11(r31) +/* 802B62AC 002B1F0C 2C 00 00 02 */ cmpwi r0, 2 +/* 802B62B0 002B1F10 41 82 00 50 */ beq lbl_802B6300 +/* 802B62B4 002B1F14 40 80 00 4C */ bge lbl_802B6300 +/* 802B62B8 002B1F18 2C 00 00 01 */ cmpwi r0, 1 +/* 802B62BC 002B1F1C 40 80 00 08 */ bge lbl_802B62C4 +/* 802B62C0 002B1F20 48 00 00 40 */ b lbl_802B6300 +lbl_802B62C4: +/* 802B62C4 002B1F24 48 03 47 29 */ bl func_802EA9EC +/* 802B62C8 002B1F28 28 03 00 01 */ cmplwi r3, 1 +/* 802B62CC 002B1F2C 41 82 00 2C */ beq lbl_802B62F8 +/* 802B62D0 002B1F30 3C 60 80 54 */ lis r3, lbl_8053AC28@ha +/* 802B62D4 002B1F34 38 63 AC 28 */ addi r3, r3, lbl_8053AC28@l +/* 802B62D8 002B1F38 48 03 63 35 */ bl func_802EC60C +/* 802B62DC 002B1F3C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B62E0 002B1F40 41 82 00 18 */ beq lbl_802B62F8 +/* 802B62E4 002B1F44 3C 60 80 2B */ lis r3, lbl_802B4E30@ha +/* 802B62E8 002B1F48 38 63 4E 30 */ addi r3, r3, lbl_802B4E30@l +/* 802B62EC 002B1F4C 48 03 5A E1 */ bl func_802EBDCC +/* 802B62F0 002B1F50 38 00 00 02 */ li r0, 2 +/* 802B62F4 002B1F54 48 00 00 08 */ b lbl_802B62FC +lbl_802B62F8: +/* 802B62F8 002B1F58 38 00 00 01 */ li r0, 1 +lbl_802B62FC: +/* 802B62FC 002B1F5C 98 1F 00 11 */ stb r0, 0x11(r31) +lbl_802B6300: +/* 802B6300 002B1F60 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B6304 002B1F64 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6308 002B1F68 7C 08 03 A6 */ mtlr r0 +/* 802B630C 002B1F6C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6310 002B1F70 4E 80 00 20 */ blr +lbl_802B6314: +/* 802B6314 002B1F74 3D 00 80 54 */ lis r8, lbl_8053B280@ha +/* 802B6318 002B1F78 3C E0 80 2B */ lis r7, lbl_802B6290@ha +/* 802B631C 002B1F7C 39 08 B2 80 */ addi r8, r8, lbl_8053B280@l +/* 802B6320 002B1F80 38 A0 00 00 */ li r5, 0 +/* 802B6324 002B1F84 38 E7 62 90 */ addi r7, r7, lbl_802B6290@l +/* 802B6328 002B1F88 38 C0 00 00 */ li r6, 0 +/* 802B632C 002B1F8C 39 08 10 00 */ addi r8, r8, 0x1000 +/* 802B6330 002B1F90 4B FB 4D 30 */ b OSSwitchFiberEx + +.global func_802B6334 +func_802B6334: +/* 802B6334 002B1F94 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B6338 002B1F98 7C 08 02 A6 */ mflr r0 +/* 802B633C 002B1F9C 3C 60 80 44 */ lis r3, lbl_8043E3E4@ha +/* 802B6340 002B1FA0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B6344 002B1FA4 38 63 E3 E4 */ addi r3, r3, lbl_8043E3E4@l +/* 802B6348 002B1FA8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B634C 002B1FAC 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B6350 002B1FB0 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B6354 002B1FB4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B6358 002B1FB8 3B DF 00 00 */ addi r30, r31, 0 +/* 802B635C 002B1FBC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B6360 002B1FC0 4C C6 31 82 */ crclr 6 +/* 802B6364 002B1FC4 48 00 32 19 */ bl func_802B957C +/* 802B6368 002B1FC8 38 DF 0D 48 */ addi r6, r31, 0xd48 +/* 802B636C 002B1FCC 39 40 00 00 */ li r10, 0 +/* 802B6370 002B1FD0 91 46 00 00 */ stw r10, 0(r6) +/* 802B6374 002B1FD4 38 FF 1D A0 */ addi r7, r31, 0x1da0 +/* 802B6378 002B1FD8 39 1F 1D C0 */ addi r8, r31, 0x1dc0 +/* 802B637C 002B1FDC 38 9E 00 58 */ addi r4, r30, 0x58 +/* 802B6380 002B1FE0 B1 47 00 00 */ sth r10, 0(r7) +/* 802B6384 002B1FE4 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802B6388 002B1FE8 38 00 00 03 */ li r0, 3 +/* 802B638C 002B1FEC 7F C5 F3 78 */ mr r5, r30 +/* 802B6390 002B1FF0 B1 48 00 00 */ sth r10, 0(r8) +/* 802B6394 002B1FF4 39 20 00 00 */ li r9, 0 +/* 802B6398 002B1FF8 91 46 00 04 */ stw r10, 4(r6) +/* 802B639C 002B1FFC B1 47 00 02 */ sth r10, 2(r7) +/* 802B63A0 002B2000 B1 48 00 02 */ sth r10, 2(r8) +/* 802B63A4 002B2004 91 46 00 08 */ stw r10, 8(r6) +/* 802B63A8 002B2008 B1 47 00 04 */ sth r10, 4(r7) +/* 802B63AC 002B200C B1 48 00 04 */ sth r10, 4(r8) +/* 802B63B0 002B2010 91 46 00 0C */ stw r10, 0xc(r6) +/* 802B63B4 002B2014 B1 47 00 06 */ sth r10, 6(r7) +/* 802B63B8 002B2018 B1 48 00 06 */ sth r10, 6(r8) +/* 802B63BC 002B201C 91 46 00 10 */ stw r10, 0x10(r6) +/* 802B63C0 002B2020 B1 47 00 08 */ sth r10, 8(r7) +/* 802B63C4 002B2024 B1 48 00 08 */ sth r10, 8(r8) +/* 802B63C8 002B2028 91 46 00 14 */ stw r10, 0x14(r6) +/* 802B63CC 002B202C B1 47 00 0A */ sth r10, 0xa(r7) +/* 802B63D0 002B2030 B1 48 00 0A */ sth r10, 0xa(r8) +/* 802B63D4 002B2034 91 46 00 18 */ stw r10, 0x18(r6) +/* 802B63D8 002B2038 B1 47 00 0C */ sth r10, 0xc(r7) +/* 802B63DC 002B203C B1 48 00 0C */ sth r10, 0xc(r8) +/* 802B63E0 002B2040 91 46 00 1C */ stw r10, 0x1c(r6) +/* 802B63E4 002B2044 B1 47 00 0E */ sth r10, 0xe(r7) +/* 802B63E8 002B2048 B1 48 00 0E */ sth r10, 0xe(r8) +/* 802B63EC 002B204C 91 46 00 20 */ stw r10, 0x20(r6) +/* 802B63F0 002B2050 B1 47 00 10 */ sth r10, 0x10(r7) +/* 802B63F4 002B2054 B1 48 00 10 */ sth r10, 0x10(r8) +/* 802B63F8 002B2058 91 46 00 24 */ stw r10, 0x24(r6) +/* 802B63FC 002B205C B1 47 00 12 */ sth r10, 0x12(r7) +/* 802B6400 002B2060 B1 48 00 12 */ sth r10, 0x12(r8) +/* 802B6404 002B2064 91 46 00 28 */ stw r10, 0x28(r6) +/* 802B6408 002B2068 B1 47 00 14 */ sth r10, 0x14(r7) +/* 802B640C 002B206C B1 48 00 14 */ sth r10, 0x14(r8) +/* 802B6410 002B2070 91 46 00 2C */ stw r10, 0x2c(r6) +/* 802B6414 002B2074 B1 47 00 16 */ sth r10, 0x16(r7) +/* 802B6418 002B2078 B1 48 00 16 */ sth r10, 0x16(r8) +/* 802B641C 002B207C 91 46 00 30 */ stw r10, 0x30(r6) +/* 802B6420 002B2080 B1 47 00 18 */ sth r10, 0x18(r7) +/* 802B6424 002B2084 B1 48 00 18 */ sth r10, 0x18(r8) +/* 802B6428 002B2088 91 46 00 34 */ stw r10, 0x34(r6) +/* 802B642C 002B208C B1 47 00 1A */ sth r10, 0x1a(r7) +/* 802B6430 002B2090 B1 48 00 1A */ sth r10, 0x1a(r8) +/* 802B6434 002B2094 91 46 00 38 */ stw r10, 0x38(r6) +/* 802B6438 002B2098 B1 47 00 1C */ sth r10, 0x1c(r7) +/* 802B643C 002B209C B1 48 00 1C */ sth r10, 0x1c(r8) +/* 802B6440 002B20A0 91 46 00 3C */ stw r10, 0x3c(r6) +/* 802B6444 002B20A4 B1 47 00 1E */ sth r10, 0x1e(r7) +/* 802B6448 002B20A8 B1 48 00 1E */ sth r10, 0x1e(r8) +/* 802B644C 002B20AC 90 9E 00 18 */ stw r4, 0x18(r30) +/* 802B6450 002B20B0 90 7E 00 14 */ stw r3, 0x14(r30) +/* 802B6454 002B20B4 7C 09 03 A6 */ mtctr r0 +lbl_802B6458: +/* 802B6458 002B20B8 20 09 00 05 */ subfic r0, r9, 5 +/* 802B645C 002B20BC 2C 09 00 00 */ cmpwi r9, 0 +/* 802B6460 002B20C0 1C 00 00 60 */ mulli r0, r0, 0x60 +/* 802B6464 002B20C4 7C 7E 02 14 */ add r3, r30, r0 +/* 802B6468 002B20C8 38 03 04 A4 */ addi r0, r3, 0x4a4 +/* 802B646C 002B20CC 90 05 00 1C */ stw r0, 0x1c(r5) +/* 802B6470 002B20D0 40 82 00 0C */ bne lbl_802B647C +/* 802B6474 002B20D4 38 00 00 00 */ li r0, 0 +/* 802B6478 002B20D8 48 00 00 14 */ b lbl_802B648C +lbl_802B647C: +/* 802B647C 002B20DC 38 09 FF FF */ addi r0, r9, -1 +/* 802B6480 002B20E0 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B6484 002B20E4 7C 7E 02 14 */ add r3, r30, r0 +/* 802B6488 002B20E8 38 03 00 1C */ addi r0, r3, 0x1c +lbl_802B648C: +/* 802B648C 002B20EC 2C 09 00 05 */ cmpwi r9, 5 +/* 802B6490 002B20F0 90 05 00 20 */ stw r0, 0x20(r5) +/* 802B6494 002B20F4 40 82 00 0C */ bne lbl_802B64A0 +/* 802B6498 002B20F8 38 00 00 00 */ li r0, 0 +/* 802B649C 002B20FC 48 00 00 14 */ b lbl_802B64B0 +lbl_802B64A0: +/* 802B64A0 002B2100 38 09 00 01 */ addi r0, r9, 1 +/* 802B64A4 002B2104 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B64A8 002B2108 7C 7E 02 14 */ add r3, r30, r0 +/* 802B64AC 002B210C 38 03 00 1C */ addi r0, r3, 0x1c +lbl_802B64B0: +/* 802B64B0 002B2110 35 29 00 01 */ addic. r9, r9, 1 +/* 802B64B4 002B2114 90 05 00 24 */ stw r0, 0x24(r5) +/* 802B64B8 002B2118 20 09 00 05 */ subfic r0, r9, 5 +/* 802B64BC 002B211C 1C 00 00 60 */ mulli r0, r0, 0x60 +/* 802B64C0 002B2120 7C 7E 02 14 */ add r3, r30, r0 +/* 802B64C4 002B2124 38 03 04 A4 */ addi r0, r3, 0x4a4 +/* 802B64C8 002B2128 90 05 00 28 */ stw r0, 0x28(r5) +/* 802B64CC 002B212C 40 82 00 0C */ bne lbl_802B64D8 +/* 802B64D0 002B2130 38 00 00 00 */ li r0, 0 +/* 802B64D4 002B2134 48 00 00 14 */ b lbl_802B64E8 +lbl_802B64D8: +/* 802B64D8 002B2138 38 09 FF FF */ addi r0, r9, -1 +/* 802B64DC 002B213C 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B64E0 002B2140 7C 7E 02 14 */ add r3, r30, r0 +/* 802B64E4 002B2144 38 03 00 1C */ addi r0, r3, 0x1c +lbl_802B64E8: +/* 802B64E8 002B2148 2C 09 00 05 */ cmpwi r9, 5 +/* 802B64EC 002B214C 90 05 00 2C */ stw r0, 0x2c(r5) +/* 802B64F0 002B2150 40 82 00 0C */ bne lbl_802B64FC +/* 802B64F4 002B2154 38 00 00 00 */ li r0, 0 +/* 802B64F8 002B2158 48 00 00 14 */ b lbl_802B650C +lbl_802B64FC: +/* 802B64FC 002B215C 38 09 00 01 */ addi r0, r9, 1 +/* 802B6500 002B2160 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B6504 002B2164 7C 7E 02 14 */ add r3, r30, r0 +/* 802B6508 002B2168 38 03 00 1C */ addi r0, r3, 0x1c +lbl_802B650C: +/* 802B650C 002B216C 90 05 00 30 */ stw r0, 0x30(r5) +/* 802B6510 002B2170 38 A5 00 18 */ addi r5, r5, 0x18 +/* 802B6514 002B2174 39 29 00 01 */ addi r9, r9, 1 +/* 802B6518 002B2178 42 00 FF 40 */ bdnz lbl_802B6458 +/* 802B651C 002B217C 38 9E 00 D8 */ addi r4, r30, 0xd8 +/* 802B6520 002B2180 38 7E 00 6C */ addi r3, r30, 0x6c +/* 802B6524 002B2184 90 9E 00 68 */ stw r4, 0x68(r30) +/* 802B6528 002B2188 38 00 00 05 */ li r0, 5 +/* 802B652C 002B218C 7F C5 F3 78 */ mr r5, r30 +/* 802B6530 002B2190 38 9E 00 E4 */ addi r4, r30, 0xe4 +/* 802B6534 002B2194 38 C0 00 00 */ li r6, 0 +/* 802B6538 002B2198 90 7E 00 64 */ stw r3, 0x64(r30) +/* 802B653C 002B219C 7C 09 03 A6 */ mtctr r0 +lbl_802B6540: +/* 802B6540 002B21A0 2C 06 00 00 */ cmpwi r6, 0 +/* 802B6544 002B21A4 90 85 00 6C */ stw r4, 0x6c(r5) +/* 802B6548 002B21A8 40 82 00 0C */ bne lbl_802B6554 +/* 802B654C 002B21AC 38 00 00 00 */ li r0, 0 +/* 802B6550 002B21B0 48 00 00 14 */ b lbl_802B6564 +lbl_802B6554: +/* 802B6554 002B21B4 38 06 FF FF */ addi r0, r6, -1 +/* 802B6558 002B21B8 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B655C 002B21BC 7C 7E 02 14 */ add r3, r30, r0 +/* 802B6560 002B21C0 38 03 00 6C */ addi r0, r3, 0x6c +lbl_802B6564: +/* 802B6564 002B21C4 2C 06 00 09 */ cmpwi r6, 9 +/* 802B6568 002B21C8 90 05 00 70 */ stw r0, 0x70(r5) +/* 802B656C 002B21CC 40 82 00 0C */ bne lbl_802B6578 +/* 802B6570 002B21D0 38 00 00 00 */ li r0, 0 +/* 802B6574 002B21D4 48 00 00 14 */ b lbl_802B6588 +lbl_802B6578: +/* 802B6578 002B21D8 38 06 00 01 */ addi r0, r6, 1 +/* 802B657C 002B21DC 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B6580 002B21E0 7C 7E 02 14 */ add r3, r30, r0 +/* 802B6584 002B21E4 38 03 00 6C */ addi r0, r3, 0x6c +lbl_802B6588: +/* 802B6588 002B21E8 90 05 00 74 */ stw r0, 0x74(r5) +/* 802B658C 002B21EC 38 84 00 60 */ addi r4, r4, 0x60 +/* 802B6590 002B21F0 34 C6 00 01 */ addic. r6, r6, 1 +/* 802B6594 002B21F4 90 85 00 78 */ stw r4, 0x78(r5) +/* 802B6598 002B21F8 40 82 00 0C */ bne lbl_802B65A4 +/* 802B659C 002B21FC 38 00 00 00 */ li r0, 0 +/* 802B65A0 002B2200 48 00 00 14 */ b lbl_802B65B4 +lbl_802B65A4: +/* 802B65A4 002B2204 38 06 FF FF */ addi r0, r6, -1 +/* 802B65A8 002B2208 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B65AC 002B220C 7C 7E 02 14 */ add r3, r30, r0 +/* 802B65B0 002B2210 38 03 00 6C */ addi r0, r3, 0x6c +lbl_802B65B4: +/* 802B65B4 002B2214 2C 06 00 09 */ cmpwi r6, 9 +/* 802B65B8 002B2218 90 05 00 7C */ stw r0, 0x7c(r5) +/* 802B65BC 002B221C 40 82 00 0C */ bne lbl_802B65C8 +/* 802B65C0 002B2220 38 00 00 00 */ li r0, 0 +/* 802B65C4 002B2224 48 00 00 14 */ b lbl_802B65D8 +lbl_802B65C8: +/* 802B65C8 002B2228 38 06 00 01 */ addi r0, r6, 1 +/* 802B65CC 002B222C 1C 00 00 0C */ mulli r0, r0, 0xc +/* 802B65D0 002B2230 7C 7E 02 14 */ add r3, r30, r0 +/* 802B65D4 002B2234 38 03 00 6C */ addi r0, r3, 0x6c +lbl_802B65D8: +/* 802B65D8 002B2238 90 05 00 80 */ stw r0, 0x80(r5) +/* 802B65DC 002B223C 38 84 00 60 */ addi r4, r4, 0x60 +/* 802B65E0 002B2240 38 A5 00 18 */ addi r5, r5, 0x18 +/* 802B65E4 002B2244 38 C6 00 01 */ addi r6, r6, 1 +/* 802B65E8 002B2248 42 00 FF 58 */ bdnz lbl_802B6540 +/* 802B65EC 002B224C 3B A0 00 00 */ li r29, 0 +/* 802B65F0 002B2250 38 C0 00 01 */ li r6, 1 +/* 802B65F4 002B2254 38 00 FF BF */ li r0, -65 +/* 802B65F8 002B2258 9B BE 00 0C */ stb r29, 0xc(r30) +/* 802B65FC 002B225C 38 7E 07 02 */ addi r3, r30, 0x702 +/* 802B6600 002B2260 38 80 00 00 */ li r4, 0 +/* 802B6604 002B2264 9B BE 00 0E */ stb r29, 0xe(r30) +/* 802B6608 002B2268 38 A0 00 06 */ li r5, 6 +/* 802B660C 002B226C 9B BE 00 0D */ stb r29, 0xd(r30) +/* 802B6610 002B2270 9B BE 00 0F */ stb r29, 0xf(r30) +/* 802B6614 002B2274 9B BE 00 10 */ stb r29, 0x10(r30) +/* 802B6618 002B2278 9B BE 00 11 */ stb r29, 0x11(r30) +/* 802B661C 002B227C 9B BE 06 E7 */ stb r29, 0x6e7(r30) +/* 802B6620 002B2280 9B BE 06 E9 */ stb r29, 0x6e9(r30) +/* 802B6624 002B2284 98 DE 06 E8 */ stb r6, 0x6e8(r30) +/* 802B6628 002B2288 9B BE 06 EA */ stb r29, 0x6ea(r30) +/* 802B662C 002B228C 9B BE 06 EB */ stb r29, 0x6eb(r30) +/* 802B6630 002B2290 9B BE 07 08 */ stb r29, 0x708(r30) +/* 802B6634 002B2294 9B BE 07 0A */ stb r29, 0x70a(r30) +/* 802B6638 002B2298 98 1E 07 0B */ stb r0, 0x70b(r30) +/* 802B663C 002B229C 4B D4 DA C9 */ bl memset +/* 802B6640 002B22A0 38 7E 06 FC */ addi r3, r30, 0x6fc +/* 802B6644 002B22A4 38 80 00 00 */ li r4, 0 +/* 802B6648 002B22A8 38 A0 00 06 */ li r5, 6 +/* 802B664C 002B22AC 4B D4 DA B9 */ bl memset +/* 802B6650 002B22B0 38 00 00 0A */ li r0, 0xa +/* 802B6654 002B22B4 B3 BE 07 44 */ sth r29, 0x744(r30) +/* 802B6658 002B22B8 B0 1E 07 46 */ sth r0, 0x746(r30) +/* 802B665C 002B22BC 4B FB 81 01 */ bl OSDisableInterrupts +/* 802B6660 002B22C0 3B DF 00 00 */ addi r30, r31, 0 +/* 802B6664 002B22C4 7C 7F 1B 78 */ mr r31, r3 +/* 802B6668 002B22C8 38 7E 00 E4 */ addi r3, r30, 0xe4 +/* 802B666C 002B22CC 38 80 00 00 */ li r4, 0 +/* 802B6670 002B22D0 38 A0 03 C0 */ li r5, 0x3c0 +/* 802B6674 002B22D4 4B D4 DA 91 */ bl memset +/* 802B6678 002B22D8 38 7E 04 A4 */ addi r3, r30, 0x4a4 +/* 802B667C 002B22DC 38 80 00 00 */ li r4, 0 +/* 802B6680 002B22E0 38 A0 02 40 */ li r5, 0x240 +/* 802B6684 002B22E4 4B D4 DA 81 */ bl memset +/* 802B6688 002B22E8 9B BE 00 12 */ stb r29, 0x12(r30) +/* 802B668C 002B22EC 7F E3 FB 78 */ mr r3, r31 +/* 802B6690 002B22F0 9B BE 00 13 */ stb r29, 0x13(r30) +/* 802B6694 002B22F4 9B BE 06 E4 */ stb r29, 0x6e4(r30) +/* 802B6698 002B22F8 9B BE 06 E5 */ stb r29, 0x6e5(r30) +/* 802B669C 002B22FC 9B BE 06 E6 */ stb r29, 0x6e6(r30) +/* 802B66A0 002B2300 4B FB 80 E5 */ bl OSRestoreInterrupts +/* 802B66A4 002B2304 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B66A8 002B2308 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B66AC 002B230C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B66B0 002B2310 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B66B4 002B2314 7C 08 03 A6 */ mtlr r0 +/* 802B66B8 002B2318 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B66BC 002B231C 4E 80 00 20 */ blr + +.global func_802B66C0 +func_802B66C0: +/* 802B66C0 002B2320 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B66C4 002B2324 7C 08 02 A6 */ mflr r0 +/* 802B66C8 002B2328 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B66CC 002B232C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B66D0 002B2330 93 C1 00 08 */ stw r30, 8(r1) +/* 802B66D4 002B2334 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B66D8 002B2338 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B66DC 002B233C 80 0D AE A8 */ lwz r0, lbl_80640168-_SDA_BASE_(r13) +/* 802B66E0 002B2340 2C 00 00 00 */ cmpwi r0, 0 +/* 802B66E4 002B2344 41 82 00 0C */ beq lbl_802B66F0 +/* 802B66E8 002B2348 38 60 00 00 */ li r3, 0 +/* 802B66EC 002B234C 48 00 00 B4 */ b lbl_802B67A0 +lbl_802B66F0: +/* 802B66F0 002B2350 3C 60 80 44 */ lis r3, lbl_8043E3F0@ha +/* 802B66F4 002B2354 38 63 E3 F0 */ addi r3, r3, lbl_8043E3F0@l +/* 802B66F8 002B2358 4C C6 31 82 */ crclr 6 +/* 802B66FC 002B235C 48 00 2E 81 */ bl func_802B957C +/* 802B6700 002B2360 48 00 68 D1 */ bl func_802BCFD0 +/* 802B6704 002B2364 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13) +/* 802B6708 002B2368 48 00 73 BD */ bl func_802BDAC4 +/* 802B670C 002B236C 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13) +/* 802B6710 002B2370 48 01 FC CD */ bl func_802D63DC +/* 802B6714 002B2374 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13) +/* 802B6718 002B2378 48 02 C5 15 */ bl func_802E2C2C +/* 802B671C 002B237C 3C 60 80 44 */ lis r3, lbl_8043E408@ha +/* 802B6720 002B2380 38 63 E4 08 */ addi r3, r3, lbl_8043E408@l +/* 802B6724 002B2384 4C C6 31 82 */ crclr 6 +/* 802B6728 002B2388 48 00 2E 55 */ bl func_802B957C +/* 802B672C 002B238C 38 00 00 00 */ li r0, 0 +/* 802B6730 002B2390 3B E0 00 01 */ li r31, 1 +/* 802B6734 002B2394 90 1E 00 00 */ stw r0, 0(r30) +/* 802B6738 002B2398 90 1E 00 04 */ stw r0, 4(r30) +/* 802B673C 002B239C 90 1E 00 08 */ stw r0, 8(r30) +/* 802B6740 002B23A0 90 1E 06 F0 */ stw r0, 0x6f0(r30) +/* 802B6744 002B23A4 90 1E 06 EC */ stw r0, 0x6ec(r30) +/* 802B6748 002B23A8 9B FE 00 10 */ stb r31, 0x10(r30) +/* 802B674C 002B23AC 48 03 42 01 */ bl func_802EA94C +/* 802B6750 002B23B0 38 7E 07 10 */ addi r3, r30, 0x710 +/* 802B6754 002B23B4 4B FB 2F D1 */ bl OSCreateAlarm +/* 802B6758 002B23B8 4B FB C0 61 */ bl OSGetTime +/* 802B675C 002B23BC 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 802B6760 002B23C0 3D 20 80 2B */ lis r9, lbl_802B6270@ha +/* 802B6764 002B23C4 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 802B6768 002B23C8 3C C0 10 62 */ lis r6, 0x10624DD3@ha +/* 802B676C 002B23CC 7C 65 1B 78 */ mr r5, r3 +/* 802B6770 002B23D0 39 29 62 70 */ addi r9, r9, lbl_802B6270@l +/* 802B6774 002B23D4 38 66 4D D3 */ addi r3, r6, 0x10624DD3@l +/* 802B6778 002B23D8 54 00 F0 BE */ srwi r0, r0, 2 +/* 802B677C 002B23DC 7C 03 00 16 */ mulhwu r0, r3, r0 +/* 802B6780 002B23E0 7C 86 23 78 */ mr r6, r4 +/* 802B6784 002B23E4 38 7E 07 10 */ addi r3, r30, 0x710 +/* 802B6788 002B23E8 38 E0 00 00 */ li r7, 0 +/* 802B678C 002B23EC 54 00 D1 BE */ srwi r0, r0, 6 +/* 802B6790 002B23F0 1D 00 00 0A */ mulli r8, r0, 0xa +/* 802B6794 002B23F4 4B FB 32 61 */ bl OSSetPeriodicAlarm +/* 802B6798 002B23F8 93 ED AE A8 */ stw r31, lbl_80640168-_SDA_BASE_(r13) +/* 802B679C 002B23FC 38 60 00 01 */ li r3, 1 +lbl_802B67A0: +/* 802B67A0 002B2400 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B67A4 002B2404 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B67A8 002B2408 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B67AC 002B240C 7C 08 03 A6 */ mtlr r0 +/* 802B67B0 002B2410 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B67B4 002B2414 4E 80 00 20 */ blr + +.global func_802B67B8 +func_802B67B8: +/* 802B67B8 002B2418 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B67BC 002B241C 7C 08 02 A6 */ mflr r0 +/* 802B67C0 002B2420 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B67C4 002B2424 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B67C8 002B2428 7C 9F 23 78 */ mr r31, r4 +/* 802B67CC 002B242C 93 C1 00 08 */ stw r30, 8(r1) +/* 802B67D0 002B2430 7C 7E 1B 78 */ mr r30, r3 +/* 802B67D4 002B2434 4B FB 7F 89 */ bl OSDisableInterrupts +/* 802B67D8 002B2438 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B67DC 002B243C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B67E0 002B2440 93 C4 06 F4 */ stw r30, 0x6f4(r4) +/* 802B67E4 002B2444 93 E4 06 F8 */ stw r31, 0x6f8(r4) +/* 802B67E8 002B2448 4B FB 7F 9D */ bl OSRestoreInterrupts +/* 802B67EC 002B244C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B67F0 002B2450 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B67F4 002B2454 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B67F8 002B2458 7C 08 03 A6 */ mtlr r0 +/* 802B67FC 002B245C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6800 002B2460 4E 80 00 20 */ blr + +.global func_802B6804 +func_802B6804: +/* 802B6804 002B2464 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B6808 002B2468 7C 08 02 A6 */ mflr r0 +/* 802B680C 002B246C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B6810 002B2470 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B6814 002B2474 4B F1 09 15 */ bl _savegpr_27 +/* 802B6818 002B2478 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B681C 002B247C 3C 60 80 44 */ lis r3, lbl_8043E41C@ha +/* 802B6820 002B2480 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B6824 002B2484 38 63 E4 1C */ addi r3, r3, lbl_8043E41C@l +/* 802B6828 002B2488 4C C6 31 82 */ crclr 6 +/* 802B682C 002B248C 48 00 2D 51 */ bl func_802B957C +/* 802B6830 002B2490 4B FB 7F 2D */ bl OSDisableInterrupts +/* 802B6834 002B2494 38 00 00 00 */ li r0, 0 +/* 802B6838 002B2498 98 1F 06 EB */ stb r0, 0x6eb(r31) +/* 802B683C 002B249C 98 1F 06 EA */ stb r0, 0x6ea(r31) +/* 802B6840 002B24A0 4B FB 7F 45 */ bl OSRestoreInterrupts +/* 802B6844 002B24A4 38 60 00 00 */ li r3, 0 +/* 802B6848 002B24A8 38 80 00 00 */ li r4, 0 +/* 802B684C 002B24AC 48 00 99 3D */ bl func_802C0188 +/* 802B6850 002B24B0 4B FB 7F 0D */ bl OSDisableInterrupts +/* 802B6854 002B24B4 7C 7E 1B 78 */ mr r30, r3 +/* 802B6858 002B24B8 4B FB 7F 05 */ bl OSDisableInterrupts +/* 802B685C 002B24BC 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 802B6860 002B24C0 2C 00 00 00 */ cmpwi r0, 0 +/* 802B6864 002B24C4 40 82 00 34 */ bne lbl_802B6898 +/* 802B6868 002B24C8 88 1F 00 0D */ lbz r0, 0xd(r31) +/* 802B686C 002B24CC 2C 00 00 00 */ cmpwi r0, 0 +/* 802B6870 002B24D0 40 82 00 28 */ bne lbl_802B6898 +/* 802B6874 002B24D4 88 1F 00 0F */ lbz r0, 0xf(r31) +/* 802B6878 002B24D8 28 00 00 04 */ cmplwi r0, 4 +/* 802B687C 002B24DC 40 82 00 1C */ bne lbl_802B6898 +/* 802B6880 002B24E0 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 802B6884 002B24E4 28 00 00 04 */ cmplwi r0, 4 +/* 802B6888 002B24E8 40 82 00 10 */ bne lbl_802B6898 +/* 802B688C 002B24EC 4B FB 7E F9 */ bl OSRestoreInterrupts +/* 802B6890 002B24F0 38 00 00 00 */ li r0, 0 +/* 802B6894 002B24F4 48 00 00 0C */ b lbl_802B68A0 +lbl_802B6898: +/* 802B6898 002B24F8 4B FB 7E ED */ bl OSRestoreInterrupts +/* 802B689C 002B24FC 38 00 00 01 */ li r0, 1 +lbl_802B68A0: +/* 802B68A0 002B2500 2C 00 00 00 */ cmpwi r0, 0 +/* 802B68A4 002B2504 41 82 00 0C */ beq lbl_802B68B0 +/* 802B68A8 002B2508 38 7F 07 10 */ addi r3, r31, 0x710 +/* 802B68AC 002B250C 4B FB 31 CD */ bl OSCancelAlarm +lbl_802B68B0: +/* 802B68B0 002B2510 3F A0 80 54 */ lis r29, lbl_8053AC28@ha +/* 802B68B4 002B2514 38 80 00 00 */ li r4, 0 +/* 802B68B8 002B2518 3B BD AC 28 */ addi r29, r29, lbl_8053AC28@l +/* 802B68BC 002B251C 38 A0 02 BC */ li r5, 0x2bc +/* 802B68C0 002B2520 38 7D 00 01 */ addi r3, r29, 1 +/* 802B68C4 002B2524 4B D4 D8 41 */ bl memset +/* 802B68C8 002B2528 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B68CC 002B252C 3B 9D 00 01 */ addi r28, r29, 1 +/* 802B68D0 002B2530 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l +/* 802B68D4 002B2534 3B BD 00 07 */ addi r29, r29, 7 +/* 802B68D8 002B2538 83 63 00 64 */ lwz r27, 0x64(r3) +/* 802B68DC 002B253C 48 00 00 34 */ b lbl_802B6910 +lbl_802B68E0: +/* 802B68E0 002B2540 80 9B 00 00 */ lwz r4, 0(r27) +/* 802B68E4 002B2544 7F 83 E3 78 */ mr r3, r28 +/* 802B68E8 002B2548 38 A0 00 06 */ li r5, 6 +/* 802B68EC 002B254C 38 84 00 40 */ addi r4, r4, 0x40 +/* 802B68F0 002B2550 4B D4 D7 11 */ bl memcpy +/* 802B68F4 002B2554 80 9B 00 00 */ lwz r4, 0(r27) +/* 802B68F8 002B2558 7F A3 EB 78 */ mr r3, r29 +/* 802B68FC 002B255C 38 A0 00 40 */ li r5, 0x40 +/* 802B6900 002B2560 4B D4 D7 01 */ bl memcpy +/* 802B6904 002B2564 83 7B 00 08 */ lwz r27, 8(r27) +/* 802B6908 002B2568 3B 9C 00 46 */ addi r28, r28, 0x46 +/* 802B690C 002B256C 3B BD 00 46 */ addi r29, r29, 0x46 +lbl_802B6910: +/* 802B6910 002B2570 2C 1B 00 00 */ cmpwi r27, 0 +/* 802B6914 002B2574 40 82 FF CC */ bne lbl_802B68E0 +/* 802B6918 002B2578 38 00 00 01 */ li r0, 1 +/* 802B691C 002B257C 38 7F 07 10 */ addi r3, r31, 0x710 +/* 802B6920 002B2580 98 1F 00 11 */ stb r0, 0x11(r31) +/* 802B6924 002B2584 4B FB 2E 01 */ bl OSCreateAlarm +/* 802B6928 002B2588 4B FB BE 91 */ bl OSGetTime +/* 802B692C 002B258C 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 802B6930 002B2590 3D 20 80 2B */ lis r9, lbl_802B6314@ha +/* 802B6934 002B2594 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 802B6938 002B2598 3C C0 10 62 */ lis r6, 0x10624DD3@ha +/* 802B693C 002B259C 7C 65 1B 78 */ mr r5, r3 +/* 802B6940 002B25A0 39 29 63 14 */ addi r9, r9, lbl_802B6314@l +/* 802B6944 002B25A4 38 66 4D D3 */ addi r3, r6, 0x10624DD3@l +/* 802B6948 002B25A8 54 00 F0 BE */ srwi r0, r0, 2 +/* 802B694C 002B25AC 7C 03 00 16 */ mulhwu r0, r3, r0 +/* 802B6950 002B25B0 7C 86 23 78 */ mr r6, r4 +/* 802B6954 002B25B4 38 7F 07 10 */ addi r3, r31, 0x710 +/* 802B6958 002B25B8 38 E0 00 00 */ li r7, 0 +/* 802B695C 002B25BC 54 00 D1 BE */ srwi r0, r0, 6 +/* 802B6960 002B25C0 1D 00 00 0A */ mulli r8, r0, 0xa +/* 802B6964 002B25C4 4B FB 30 91 */ bl OSSetPeriodicAlarm +/* 802B6968 002B25C8 38 00 00 04 */ li r0, 4 +/* 802B696C 002B25CC 7F C3 F3 78 */ mr r3, r30 +/* 802B6970 002B25D0 98 1F 07 08 */ stb r0, 0x708(r31) +/* 802B6974 002B25D4 4B FB 7E 11 */ bl OSRestoreInterrupts +/* 802B6978 002B25D8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B697C 002B25DC 4B F1 07 F9 */ bl _restgpr_27 +/* 802B6980 002B25E0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B6984 002B25E4 7C 08 03 A6 */ mtlr r0 +/* 802B6988 002B25E8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B698C 002B25EC 4E 80 00 20 */ blr + +.global func_802B6990 +func_802B6990: +/* 802B6990 002B25F0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6994 002B25F4 7C 08 02 A6 */ mflr r0 +/* 802B6998 002B25F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B699C 002B25FC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B69A0 002B2600 4B FB 7D BD */ bl OSDisableInterrupts +/* 802B69A4 002B2604 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B69A8 002B2608 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B69AC 002B260C 8B E4 07 08 */ lbz r31, 0x708(r4) +/* 802B69B0 002B2610 4B FB 7D D5 */ bl OSRestoreInterrupts +/* 802B69B4 002B2614 7F E3 07 74 */ extsb r3, r31 +/* 802B69B8 002B2618 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B69BC 002B261C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B69C0 002B2620 7C 08 03 A6 */ mtlr r0 +/* 802B69C4 002B2624 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B69C8 002B2628 4E 80 00 20 */ blr + +.global func_802B69CC +func_802B69CC: +/* 802B69CC 002B262C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B69D0 002B2630 7C 08 02 A6 */ mflr r0 +/* 802B69D4 002B2634 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B69D8 002B2638 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B69DC 002B263C 4B FB 7D 81 */ bl OSDisableInterrupts +/* 802B69E0 002B2640 3C A0 80 54 */ lis r5, lbl_8053A4E0@ha +/* 802B69E4 002B2644 38 A5 A4 E0 */ addi r5, r5, lbl_8053A4E0@l +/* 802B69E8 002B2648 A0 85 07 44 */ lhz r4, 0x744(r5) +/* 802B69EC 002B264C A0 05 07 46 */ lhz r0, 0x746(r5) +/* 802B69F0 002B2650 7C 04 00 50 */ subf r0, r4, r0 +/* 802B69F4 002B2654 54 1F 06 3E */ clrlwi r31, r0, 0x18 +/* 802B69F8 002B2658 4B FB 7D 8D */ bl OSRestoreInterrupts +/* 802B69FC 002B265C 7F E3 FB 78 */ mr r3, r31 +/* 802B6A00 002B2660 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6A04 002B2664 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B6A08 002B2668 7C 08 03 A6 */ mtlr r0 +/* 802B6A0C 002B266C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6A10 002B2670 4E 80 00 20 */ blr + +.global func_802B6A14 +func_802B6A14: +/* 802B6A14 002B2674 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B6A18 002B2678 7C 08 02 A6 */ mflr r0 +/* 802B6A1C 002B267C 2C 04 00 00 */ cmpwi r4, 0 +/* 802B6A20 002B2680 3C E0 80 54 */ lis r7, lbl_8053A4E0@ha +/* 802B6A24 002B2684 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B6A28 002B2688 7C 68 1B 78 */ mr r8, r3 +/* 802B6A2C 002B268C 38 E7 A4 E0 */ addi r7, r7, lbl_8053A4E0@l +/* 802B6A30 002B2690 40 81 00 10 */ ble lbl_802B6A40 +/* 802B6A34 002B2694 38 00 00 02 */ li r0, 2 +/* 802B6A38 002B2698 98 01 00 10 */ stb r0, 0x10(r1) +/* 802B6A3C 002B269C 48 00 00 0C */ b lbl_802B6A48 +lbl_802B6A40: +/* 802B6A40 002B26A0 38 00 00 00 */ li r0, 0 +/* 802B6A44 002B26A4 98 01 00 10 */ stb r0, 0x10(r1) +lbl_802B6A48: +/* 802B6A48 002B26A8 38 C0 00 01 */ li r6, 1 +/* 802B6A4C 002B26AC 38 00 00 00 */ li r0, 0 +/* 802B6A50 002B26B0 B0 81 00 08 */ sth r4, 8(r1) +/* 802B6A54 002B26B4 38 A1 00 08 */ addi r5, r1, 8 +/* 802B6A58 002B26B8 88 67 07 0A */ lbz r3, 0x70a(r7) +/* 802B6A5C 002B26BC B0 81 00 0A */ sth r4, 0xa(r1) +/* 802B6A60 002B26C0 7D 04 43 78 */ mr r4, r8 +/* 802B6A64 002B26C4 B0 C1 00 0C */ sth r6, 0xc(r1) +/* 802B6A68 002B26C8 B0 01 00 0E */ sth r0, 0xe(r1) +/* 802B6A6C 002B26CC 48 01 24 3D */ bl func_802C8EA8 +/* 802B6A70 002B26D0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B6A74 002B26D4 7C 08 03 A6 */ mtlr r0 +/* 802B6A78 002B26D8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B6A7C 002B26DC 4E 80 00 20 */ blr + +.global lbl_802B6A80 +lbl_802B6A80: +/* 802B6A80 002B26E0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6A84 002B26E4 7C 08 02 A6 */ mflr r0 +/* 802B6A88 002B26E8 3C 80 80 44 */ lis r4, lbl_8043E42C@ha +/* 802B6A8C 002B26EC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B6A90 002B26F0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B6A94 002B26F4 93 C1 00 08 */ stw r30, 8(r1) +/* 802B6A98 002B26F8 7C 7E 1B 78 */ mr r30, r3 +/* 802B6A9C 002B26FC 38 64 E4 2C */ addi r3, r4, lbl_8043E42C@l +/* 802B6AA0 002B2700 4C C6 31 82 */ crclr 6 +/* 802B6AA4 002B2704 48 00 2A D9 */ bl func_802B957C +/* 802B6AA8 002B2708 4B FB 7C B5 */ bl OSDisableInterrupts +/* 802B6AAC 002B270C 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B6AB0 002B2710 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B6AB4 002B2714 83 E4 00 04 */ lwz r31, 4(r4) +/* 802B6AB8 002B2718 93 C4 00 04 */ stw r30, 4(r4) +/* 802B6ABC 002B271C 4B FB 7C C9 */ bl OSRestoreInterrupts +/* 802B6AC0 002B2720 7F E3 FB 78 */ mr r3, r31 +/* 802B6AC4 002B2724 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6AC8 002B2728 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B6ACC 002B272C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B6AD0 002B2730 7C 08 03 A6 */ mtlr r0 +/* 802B6AD4 002B2734 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6AD8 002B2738 4E 80 00 20 */ blr + +.global func_802B6ADC +func_802B6ADC: +/* 802B6ADC 002B273C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B6AE0 002B2740 7C 08 02 A6 */ mflr r0 +/* 802B6AE4 002B2744 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B6AE8 002B2748 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B6AEC 002B274C 4B F1 06 39 */ bl _savegpr_26 +/* 802B6AF0 002B2750 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B6AF4 002B2754 7C 7A 1B 78 */ mr r26, r3 +/* 802B6AF8 002B2758 7C 9B 23 78 */ mr r27, r4 +/* 802B6AFC 002B275C 7C BC 2B 78 */ mr r28, r5 +/* 802B6B00 002B2760 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B6B04 002B2764 3B C0 00 00 */ li r30, 0 +/* 802B6B08 002B2768 4B FB 7C 55 */ bl OSDisableInterrupts +/* 802B6B0C 002B276C 8B BF 07 08 */ lbz r29, 0x708(r31) +/* 802B6B10 002B2770 7F BD 07 74 */ extsb r29, r29 +/* 802B6B14 002B2774 4B FB 7C 71 */ bl OSRestoreInterrupts +/* 802B6B18 002B2778 28 1D 00 03 */ cmplwi r29, 3 +/* 802B6B1C 002B277C 40 82 00 D8 */ bne lbl_802B6BF4 +/* 802B6B20 002B2780 4B FB 7C 3D */ bl OSDisableInterrupts +/* 802B6B24 002B2784 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 802B6B28 002B2788 2C 00 00 00 */ cmpwi r0, 0 +/* 802B6B2C 002B278C 40 82 00 34 */ bne lbl_802B6B60 +/* 802B6B30 002B2790 88 1F 00 0D */ lbz r0, 0xd(r31) +/* 802B6B34 002B2794 2C 00 00 00 */ cmpwi r0, 0 +/* 802B6B38 002B2798 40 82 00 28 */ bne lbl_802B6B60 +/* 802B6B3C 002B279C 88 1F 00 0F */ lbz r0, 0xf(r31) +/* 802B6B40 002B27A0 28 00 00 04 */ cmplwi r0, 4 +/* 802B6B44 002B27A4 40 82 00 1C */ bne lbl_802B6B60 +/* 802B6B48 002B27A8 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 802B6B4C 002B27AC 28 00 00 04 */ cmplwi r0, 4 +/* 802B6B50 002B27B0 40 82 00 10 */ bne lbl_802B6B60 +/* 802B6B54 002B27B4 4B FB 7C 31 */ bl OSRestoreInterrupts +/* 802B6B58 002B27B8 38 00 00 00 */ li r0, 0 +/* 802B6B5C 002B27BC 48 00 00 0C */ b lbl_802B6B68 +lbl_802B6B60: +/* 802B6B60 002B27C0 4B FB 7C 25 */ bl OSRestoreInterrupts +/* 802B6B64 002B27C4 38 00 00 01 */ li r0, 1 +lbl_802B6B68: +/* 802B6B68 002B27C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802B6B6C 002B27CC 40 82 00 88 */ bne lbl_802B6BF4 +/* 802B6B70 002B27D0 4B FB 7B ED */ bl OSDisableInterrupts +/* 802B6B74 002B27D4 7C 1C 00 D0 */ neg r0, r28 +/* 802B6B78 002B27D8 38 A0 00 01 */ li r5, 1 +/* 802B6B7C 002B27DC 7C 04 E3 78 */ or r4, r0, r28 +/* 802B6B80 002B27E0 7C 7E 1B 78 */ mr r30, r3 +/* 802B6B84 002B27E4 38 00 00 00 */ li r0, 0 +/* 802B6B88 002B27E8 98 BF 00 0C */ stb r5, 0xc(r31) +/* 802B6B8C 002B27EC 54 84 0F FE */ srwi r4, r4, 0x1f +/* 802B6B90 002B27F0 38 7F 07 10 */ addi r3, r31, 0x710 +/* 802B6B94 002B27F4 9B 7F 06 E8 */ stb r27, 0x6e8(r31) +/* 802B6B98 002B27F8 9B 5F 06 E9 */ stb r26, 0x6e9(r31) +/* 802B6B9C 002B27FC 98 9F 06 E7 */ stb r4, 0x6e7(r31) +/* 802B6BA0 002B2800 98 1F 06 E6 */ stb r0, 0x6e6(r31) +/* 802B6BA4 002B2804 4B FB 2B 81 */ bl OSCreateAlarm +/* 802B6BA8 002B2808 4B FB BC 11 */ bl OSGetTime +/* 802B6BAC 002B280C 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 802B6BB0 002B2810 3D 20 80 2B */ lis r9, lbl_802B5AA0@ha +/* 802B6BB4 002B2814 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 802B6BB8 002B2818 3C C0 10 62 */ lis r6, 0x10624DD3@ha +/* 802B6BBC 002B281C 7C 65 1B 78 */ mr r5, r3 +/* 802B6BC0 002B2820 39 29 5A A0 */ addi r9, r9, lbl_802B5AA0@l +/* 802B6BC4 002B2824 38 66 4D D3 */ addi r3, r6, 0x10624DD3@l +/* 802B6BC8 002B2828 54 00 F0 BE */ srwi r0, r0, 2 +/* 802B6BCC 002B282C 7C 03 00 16 */ mulhwu r0, r3, r0 +/* 802B6BD0 002B2830 7C 86 23 78 */ mr r6, r4 +/* 802B6BD4 002B2834 38 7F 07 10 */ addi r3, r31, 0x710 +/* 802B6BD8 002B2838 38 E0 00 00 */ li r7, 0 +/* 802B6BDC 002B283C 54 00 D1 BE */ srwi r0, r0, 6 +/* 802B6BE0 002B2840 1D 00 00 14 */ mulli r8, r0, 0x14 +/* 802B6BE4 002B2844 4B FB 2E 11 */ bl OSSetPeriodicAlarm +/* 802B6BE8 002B2848 7F C3 F3 78 */ mr r3, r30 +/* 802B6BEC 002B284C 4B FB 7B 99 */ bl OSRestoreInterrupts +/* 802B6BF0 002B2850 3B C0 00 01 */ li r30, 1 +lbl_802B6BF4: +/* 802B6BF4 002B2854 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B6BF8 002B2858 7F C3 F3 78 */ mr r3, r30 +/* 802B6BFC 002B285C 4B F1 05 75 */ bl _restgpr_26 +/* 802B6C00 002B2860 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B6C04 002B2864 7C 08 03 A6 */ mtlr r0 +/* 802B6C08 002B2868 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B6C0C 002B286C 4E 80 00 20 */ blr + +.global lbl_802B6C10 +lbl_802B6C10: +/* 802B6C10 002B2870 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6C14 002B2874 7C 08 02 A6 */ mflr r0 +/* 802B6C18 002B2878 3C 60 80 44 */ lis r3, lbl_8043E47C@ha +/* 802B6C1C 002B287C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B6C20 002B2880 38 63 E4 7C */ addi r3, r3, lbl_8043E47C@l +/* 802B6C24 002B2884 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B6C28 002B2888 93 C1 00 08 */ stw r30, 8(r1) +/* 802B6C2C 002B288C 4C C6 31 82 */ crclr 6 +/* 802B6C30 002B2890 48 00 29 4D */ bl func_802B957C +/* 802B6C34 002B2894 38 60 00 01 */ li r3, 1 +/* 802B6C38 002B2898 38 80 FF FF */ li r4, -1 +/* 802B6C3C 002B289C 38 A0 00 01 */ li r5, 1 +/* 802B6C40 002B28A0 4B FF FE 9D */ bl func_802B6ADC +/* 802B6C44 002B28A4 7C 7F 1B 78 */ mr r31, r3 +/* 802B6C48 002B28A8 4B FB 7B 15 */ bl OSDisableInterrupts +/* 802B6C4C 002B28AC 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B6C50 002B28B0 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B6C54 002B28B4 83 C4 00 04 */ lwz r30, 4(r4) +/* 802B6C58 002B28B8 4B FB 7B 2D */ bl OSRestoreInterrupts +/* 802B6C5C 002B28BC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B6C60 002B28C0 40 82 00 20 */ bne lbl_802B6C80 +/* 802B6C64 002B28C4 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B6C68 002B28C8 41 82 00 18 */ beq lbl_802B6C80 +/* 802B6C6C 002B28CC 7F CC F3 78 */ mr r12, r30 +/* 802B6C70 002B28D0 38 60 FF FF */ li r3, -1 +/* 802B6C74 002B28D4 38 80 00 00 */ li r4, 0 +/* 802B6C78 002B28D8 7D 89 03 A6 */ mtctr r12 +/* 802B6C7C 002B28DC 4E 80 04 21 */ bctrl +lbl_802B6C80: +/* 802B6C80 002B28E0 7F E3 FB 78 */ mr r3, r31 +/* 802B6C84 002B28E4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6C88 002B28E8 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B6C8C 002B28EC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B6C90 002B28F0 7C 08 03 A6 */ mtlr r0 +/* 802B6C94 002B28F4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6C98 002B28F8 4E 80 00 20 */ blr + +.global func_802B6C9C +func_802B6C9C: +/* 802B6C9C 002B28FC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B6CA0 002B2900 7C 08 02 A6 */ mflr r0 +/* 802B6CA4 002B2904 3C 60 80 44 */ lis r3, lbl_8043E4AC@ha +/* 802B6CA8 002B2908 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B6CAC 002B290C 38 63 E4 AC */ addi r3, r3, lbl_8043E4AC@l +/* 802B6CB0 002B2910 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B6CB4 002B2914 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B6CB8 002B2918 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B6CBC 002B291C 4C C6 31 82 */ crclr 6 +/* 802B6CC0 002B2920 48 00 28 BD */ bl func_802B957C +/* 802B6CC4 002B2924 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B6CC8 002B2928 3B C0 00 00 */ li r30, 0 +/* 802B6CCC 002B292C 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B6CD0 002B2930 4B FB 7A 8D */ bl OSDisableInterrupts +/* 802B6CD4 002B2934 88 1D 07 08 */ lbz r0, 0x708(r29) +/* 802B6CD8 002B2938 7C 7F 1B 78 */ mr r31, r3 +/* 802B6CDC 002B293C 2C 00 00 03 */ cmpwi r0, 3 +/* 802B6CE0 002B2940 40 82 00 2C */ bne lbl_802B6D0C +/* 802B6CE4 002B2944 88 1D 06 E8 */ lbz r0, 0x6e8(r29) +/* 802B6CE8 002B2948 7C 00 07 75 */ extsb. r0, r0 +/* 802B6CEC 002B294C 41 82 00 1C */ beq lbl_802B6D08 +/* 802B6CF0 002B2950 88 1D 00 0C */ lbz r0, 0xc(r29) +/* 802B6CF4 002B2954 28 00 00 03 */ cmplwi r0, 3 +/* 802B6CF8 002B2958 40 82 00 08 */ bne lbl_802B6D00 +/* 802B6CFC 002B295C 48 00 95 69 */ bl func_802C0264 +lbl_802B6D00: +/* 802B6D00 002B2960 38 00 00 00 */ li r0, 0 +/* 802B6D04 002B2964 98 1D 06 E8 */ stb r0, 0x6e8(r29) +lbl_802B6D08: +/* 802B6D08 002B2968 3B C0 00 01 */ li r30, 1 +lbl_802B6D0C: +/* 802B6D0C 002B296C 7F E3 FB 78 */ mr r3, r31 +/* 802B6D10 002B2970 4B FB 7A 75 */ bl OSRestoreInterrupts +/* 802B6D14 002B2974 7F C3 F3 78 */ mr r3, r30 +/* 802B6D18 002B2978 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B6D1C 002B297C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B6D20 002B2980 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B6D24 002B2984 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B6D28 002B2988 7C 08 03 A6 */ mtlr r0 +/* 802B6D2C 002B298C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B6D30 002B2990 4E 80 00 20 */ blr + +.global func_802B6D34 +func_802B6D34: +/* 802B6D34 002B2994 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B6D38 002B2998 7C 08 02 A6 */ mflr r0 +/* 802B6D3C 002B299C 3C 80 80 44 */ lis r4, lbl_8043E4E0@ha +/* 802B6D40 002B29A0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B6D44 002B29A4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B6D48 002B29A8 3B E0 00 00 */ li r31, 0 +/* 802B6D4C 002B29AC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B6D50 002B29B0 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B6D54 002B29B4 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B6D58 002B29B8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B6D5C 002B29BC 7C 7D 1B 78 */ mr r29, r3 +/* 802B6D60 002B29C0 38 64 E4 E0 */ addi r3, r4, lbl_8043E4E0@l +/* 802B6D64 002B29C4 4C C6 31 82 */ crclr 6 +/* 802B6D68 002B29C8 48 00 28 15 */ bl func_802B957C +/* 802B6D6C 002B29CC 7F A0 07 75 */ extsb. r0, r29 +/* 802B6D70 002B29D0 41 80 00 0C */ blt lbl_802B6D7C +/* 802B6D74 002B29D4 2C 00 00 0D */ cmpwi r0, 0xd +/* 802B6D78 002B29D8 40 81 00 0C */ ble lbl_802B6D84 +lbl_802B6D7C: +/* 802B6D7C 002B29DC 38 60 00 00 */ li r3, 0 +/* 802B6D80 002B29E0 48 00 00 84 */ b lbl_802B6E04 +lbl_802B6D84: +/* 802B6D84 002B29E4 4B FB 79 D9 */ bl OSDisableInterrupts +/* 802B6D88 002B29E8 8B DE 07 08 */ lbz r30, 0x708(r30) +/* 802B6D8C 002B29EC 7F DE 07 74 */ extsb r30, r30 +/* 802B6D90 002B29F0 4B FB 79 F5 */ bl OSRestoreInterrupts +/* 802B6D94 002B29F4 28 1E 00 03 */ cmplwi r30, 3 +/* 802B6D98 002B29F8 40 82 00 68 */ bne lbl_802B6E00 +/* 802B6D9C 002B29FC 7F A3 07 75 */ extsb. r3, r29 +/* 802B6DA0 002B2A00 40 82 00 10 */ bne lbl_802B6DB0 +/* 802B6DA4 002B2A04 38 00 00 FF */ li r0, 0xff +/* 802B6DA8 002B2A08 38 80 00 FF */ li r4, 0xff +/* 802B6DAC 002B2A0C 48 00 00 2C */ b lbl_802B6DD8 +lbl_802B6DB0: +/* 802B6DB0 002B2A10 38 63 00 01 */ addi r3, r3, 1 +/* 802B6DB4 002B2A14 54 60 10 3A */ slwi r0, r3, 2 +/* 802B6DB8 002B2A18 7C 60 1A 14 */ add r3, r0, r3 +/* 802B6DBC 002B2A1C 34 03 FF F2 */ addic. r0, r3, -14 +/* 802B6DC0 002B2A20 38 83 00 0E */ addi r4, r3, 0xe +/* 802B6DC4 002B2A24 40 80 00 08 */ bge lbl_802B6DCC +/* 802B6DC8 002B2A28 38 00 00 00 */ li r0, 0 +lbl_802B6DCC: +/* 802B6DCC 002B2A2C 2C 04 00 4E */ cmpwi r4, 0x4e +/* 802B6DD0 002B2A30 40 81 00 08 */ ble lbl_802B6DD8 +/* 802B6DD4 002B2A34 38 80 00 4E */ li r4, 0x4e +lbl_802B6DD8: +/* 802B6DD8 002B2A38 54 03 06 3E */ clrlwi r3, r0, 0x18 +/* 802B6DDC 002B2A3C 54 84 06 3E */ clrlwi r4, r4, 0x18 +/* 802B6DE0 002B2A40 48 00 ED 0D */ bl func_802C5AEC +/* 802B6DE4 002B2A44 7C 60 1B 78 */ mr r0, r3 +/* 802B6DE8 002B2A48 3C 60 80 44 */ lis r3, lbl_8043E4F8@ha +/* 802B6DEC 002B2A4C 38 63 E4 F8 */ addi r3, r3, lbl_8043E4F8@l +/* 802B6DF0 002B2A50 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802B6DF4 002B2A54 4C C6 31 82 */ crclr 6 +/* 802B6DF8 002B2A58 48 00 27 85 */ bl func_802B957C +/* 802B6DFC 002B2A5C 3B E0 00 01 */ li r31, 1 +lbl_802B6E00: +/* 802B6E00 002B2A60 7F E3 FB 78 */ mr r3, r31 +lbl_802B6E04: +/* 802B6E04 002B2A64 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B6E08 002B2A68 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B6E0C 002B2A6C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B6E10 002B2A70 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B6E14 002B2A74 7C 08 03 A6 */ mtlr r0 +/* 802B6E18 002B2A78 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B6E1C 002B2A7C 4E 80 00 20 */ blr + +.global func_802B6E20 +func_802B6E20: +/* 802B6E20 002B2A80 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6E24 002B2A84 7C 08 02 A6 */ mflr r0 +/* 802B6E28 002B2A88 3C 80 80 44 */ lis r4, lbl_8043E514@ha +/* 802B6E2C 002B2A8C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B6E30 002B2A90 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B6E34 002B2A94 93 C1 00 08 */ stw r30, 8(r1) +/* 802B6E38 002B2A98 7C 7E 1B 78 */ mr r30, r3 +/* 802B6E3C 002B2A9C 38 64 E5 14 */ addi r3, r4, lbl_8043E514@l +/* 802B6E40 002B2AA0 4C C6 31 82 */ crclr 6 +/* 802B6E44 002B2AA4 48 00 27 39 */ bl func_802B957C +/* 802B6E48 002B2AA8 4B FB 79 15 */ bl OSDisableInterrupts +/* 802B6E4C 002B2AAC 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B6E50 002B2AB0 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B6E54 002B2AB4 83 E4 06 EC */ lwz r31, 0x6ec(r4) +/* 802B6E58 002B2AB8 93 C4 06 EC */ stw r30, 0x6ec(r4) +/* 802B6E5C 002B2ABC 4B FB 79 29 */ bl OSRestoreInterrupts +/* 802B6E60 002B2AC0 7F E3 FB 78 */ mr r3, r31 +/* 802B6E64 002B2AC4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6E68 002B2AC8 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B6E6C 002B2ACC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B6E70 002B2AD0 7C 08 03 A6 */ mtlr r0 +/* 802B6E74 002B2AD4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6E78 002B2AD8 4E 80 00 20 */ blr + +.global func_802B6E7C +func_802B6E7C: +/* 802B6E7C 002B2ADC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6E80 002B2AE0 7C 08 02 A6 */ mflr r0 +/* 802B6E84 002B2AE4 3C 80 80 44 */ lis r4, lbl_8043E530@ha +/* 802B6E88 002B2AE8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B6E8C 002B2AEC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B6E90 002B2AF0 93 C1 00 08 */ stw r30, 8(r1) +/* 802B6E94 002B2AF4 7C 7E 1B 78 */ mr r30, r3 +/* 802B6E98 002B2AF8 38 64 E5 30 */ addi r3, r4, lbl_8043E530@l +/* 802B6E9C 002B2AFC 4C C6 31 82 */ crclr 6 +/* 802B6EA0 002B2B00 48 00 26 DD */ bl func_802B957C +/* 802B6EA4 002B2B04 4B FB 78 B9 */ bl OSDisableInterrupts +/* 802B6EA8 002B2B08 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B6EAC 002B2B0C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B6EB0 002B2B10 83 E4 06 F0 */ lwz r31, 0x6f0(r4) +/* 802B6EB4 002B2B14 93 C4 06 F0 */ stw r30, 0x6f0(r4) +/* 802B6EB8 002B2B18 4B FB 78 CD */ bl OSRestoreInterrupts +/* 802B6EBC 002B2B1C 7F E3 FB 78 */ mr r3, r31 +/* 802B6EC0 002B2B20 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6EC4 002B2B24 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B6EC8 002B2B28 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B6ECC 002B2B2C 7C 08 03 A6 */ mtlr r0 +/* 802B6ED0 002B2B30 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6ED4 002B2B34 4E 80 00 20 */ blr + +.global func_802B6ED8 +func_802B6ED8: +/* 802B6ED8 002B2B38 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B6EDC 002B2B3C 7C 08 02 A6 */ mflr r0 +/* 802B6EE0 002B2B40 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B6EE4 002B2B44 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B6EE8 002B2B48 7C 9F 23 78 */ mr r31, r4 +/* 802B6EEC 002B2B4C 93 C1 00 08 */ stw r30, 8(r1) +/* 802B6EF0 002B2B50 7C 7E 1B 78 */ mr r30, r3 +/* 802B6EF4 002B2B54 4B FB 78 69 */ bl OSDisableInterrupts +/* 802B6EF8 002B2B58 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B6EFC 002B2B5C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B6F00 002B2B60 9B C4 06 EB */ stb r30, 0x6eb(r4) +/* 802B6F04 002B2B64 9B E4 06 EA */ stb r31, 0x6ea(r4) +/* 802B6F08 002B2B68 4B FB 78 7D */ bl OSRestoreInterrupts +/* 802B6F0C 002B2B6C 7F C3 F3 78 */ mr r3, r30 +/* 802B6F10 002B2B70 7F E4 FB 78 */ mr r4, r31 +/* 802B6F14 002B2B74 48 00 92 75 */ bl func_802C0188 +/* 802B6F18 002B2B78 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B6F1C 002B2B7C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B6F20 002B2B80 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B6F24 002B2B84 7C 08 03 A6 */ mtlr r0 +/* 802B6F28 002B2B88 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B6F2C 002B2B8C 4E 80 00 20 */ blr +lbl_802B6F30: +/* 802B6F30 002B2B90 48 00 04 80 */ b func_802B73B0 +lbl_802B6F34: +/* 802B6F34 002B2B94 94 21 FE F0 */ stwu r1, -0x110(r1) +/* 802B6F38 002B2B98 7C 08 02 A6 */ mflr r0 +/* 802B6F3C 002B2B9C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B6F40 002B2BA0 90 01 01 14 */ stw r0, 0x114(r1) +/* 802B6F44 002B2BA4 40 82 00 14 */ bne lbl_802B6F58 +/* 802B6F48 002B2BA8 3C 60 80 2B */ lis r3, lbl_802B6F30@ha +/* 802B6F4C 002B2BAC 38 63 6F 30 */ addi r3, r3, lbl_802B6F30@l +/* 802B6F50 002B2BB0 48 00 EA 3D */ bl func_802C598C +/* 802B6F54 002B2BB4 48 00 01 48 */ b lbl_802B709C +lbl_802B6F58: +/* 802B6F58 002B2BB8 80 6D AE BC */ lwz r3, lbl_8064017C-_SDA_BASE_(r13) +/* 802B6F5C 002B2BBC 38 00 00 FB */ li r0, 0xfb +/* 802B6F60 002B2BC0 28 03 00 FB */ cmplwi r3, 0xfb +/* 802B6F64 002B2BC4 40 80 00 08 */ bge lbl_802B6F6C +/* 802B6F68 002B2BC8 7C 60 1B 78 */ mr r0, r3 +lbl_802B6F6C: +/* 802B6F6C 002B2BCC 80 AD AE B4 */ lwz r5, lbl_80640174-_SDA_BASE_(r13) +/* 802B6F70 002B2BD0 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 802B6F74 002B2BD4 2C 87 00 00 */ cmpwi cr1, r7, 0 +/* 802B6F78 002B2BD8 38 C0 00 00 */ li r6, 0 +/* 802B6F7C 002B2BDC 54 A4 C6 3E */ rlwinm r4, r5, 0x18, 0x18, 0x1f +/* 802B6F80 002B2BE0 54 A3 86 3E */ rlwinm r3, r5, 0x10, 0x18, 0x1f +/* 802B6F84 002B2BE4 54 A0 46 3E */ srwi r0, r5, 0x18 +/* 802B6F88 002B2BE8 98 A1 00 08 */ stb r5, 8(r1) +/* 802B6F8C 002B2BEC 98 81 00 09 */ stb r4, 9(r1) +/* 802B6F90 002B2BF0 98 61 00 0A */ stb r3, 0xa(r1) +/* 802B6F94 002B2BF4 98 01 00 0B */ stb r0, 0xb(r1) +/* 802B6F98 002B2BF8 40 85 00 DC */ ble cr1, lbl_802B7074 +/* 802B6F9C 002B2BFC 2C 07 00 08 */ cmpwi r7, 8 +/* 802B6FA0 002B2C00 38 87 FF F8 */ addi r4, r7, -8 +/* 802B6FA4 002B2C04 40 81 00 98 */ ble lbl_802B703C +/* 802B6FA8 002B2C08 38 A0 00 00 */ li r5, 0 +/* 802B6FAC 002B2C0C 41 84 00 18 */ blt cr1, lbl_802B6FC4 +/* 802B6FB0 002B2C10 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha +/* 802B6FB4 002B2C14 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l +/* 802B6FB8 002B2C18 7C 07 00 00 */ cmpw r7, r0 +/* 802B6FBC 002B2C1C 41 81 00 08 */ bgt lbl_802B6FC4 +/* 802B6FC0 002B2C20 38 A0 00 01 */ li r5, 1 +lbl_802B6FC4: +/* 802B6FC4 002B2C24 2C 05 00 00 */ cmpwi r5, 0 +/* 802B6FC8 002B2C28 41 82 00 74 */ beq lbl_802B703C +/* 802B6FCC 002B2C2C 38 04 00 07 */ addi r0, r4, 7 +/* 802B6FD0 002B2C30 3C A0 80 44 */ lis r5, lbl_8043E54C@ha +/* 802B6FD4 002B2C34 54 00 E8 FE */ srwi r0, r0, 3 +/* 802B6FD8 002B2C38 39 01 00 08 */ addi r8, r1, 8 +/* 802B6FDC 002B2C3C 38 A5 E5 4C */ addi r5, r5, lbl_8043E54C@l +/* 802B6FE0 002B2C40 7C 09 03 A6 */ mtctr r0 +/* 802B6FE4 002B2C44 2C 04 00 00 */ cmpwi r4, 0 +/* 802B6FE8 002B2C48 40 81 00 54 */ ble lbl_802B703C +lbl_802B6FEC: +/* 802B6FEC 002B2C4C 7C 85 32 14 */ add r4, r5, r6 +/* 802B6FF0 002B2C50 38 C6 00 08 */ addi r6, r6, 8 +/* 802B6FF4 002B2C54 88 64 00 08 */ lbz r3, 8(r4) +/* 802B6FF8 002B2C58 88 04 00 09 */ lbz r0, 9(r4) +/* 802B6FFC 002B2C5C 98 68 00 04 */ stb r3, 4(r8) +/* 802B7000 002B2C60 88 64 00 0A */ lbz r3, 0xa(r4) +/* 802B7004 002B2C64 98 08 00 05 */ stb r0, 5(r8) +/* 802B7008 002B2C68 88 04 00 0B */ lbz r0, 0xb(r4) +/* 802B700C 002B2C6C 98 68 00 06 */ stb r3, 6(r8) +/* 802B7010 002B2C70 88 64 00 0C */ lbz r3, 0xc(r4) +/* 802B7014 002B2C74 98 08 00 07 */ stb r0, 7(r8) +/* 802B7018 002B2C78 88 04 00 0D */ lbz r0, 0xd(r4) +/* 802B701C 002B2C7C 98 68 00 08 */ stb r3, 8(r8) +/* 802B7020 002B2C80 88 64 00 0E */ lbz r3, 0xe(r4) +/* 802B7024 002B2C84 98 08 00 09 */ stb r0, 9(r8) +/* 802B7028 002B2C88 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802B702C 002B2C8C 98 68 00 0A */ stb r3, 0xa(r8) +/* 802B7030 002B2C90 98 08 00 0B */ stb r0, 0xb(r8) +/* 802B7034 002B2C94 39 08 00 08 */ addi r8, r8, 8 +/* 802B7038 002B2C98 42 00 FF B4 */ bdnz lbl_802B6FEC +lbl_802B703C: +/* 802B703C 002B2C9C 38 A1 00 08 */ addi r5, r1, 8 +/* 802B7040 002B2CA0 3C 80 80 44 */ lis r4, lbl_8043E54C@ha +/* 802B7044 002B2CA4 7C 06 38 50 */ subf r0, r6, r7 +/* 802B7048 002B2CA8 7C A5 32 14 */ add r5, r5, r6 +/* 802B704C 002B2CAC 38 84 E5 4C */ addi r4, r4, lbl_8043E54C@l +/* 802B7050 002B2CB0 7C 09 03 A6 */ mtctr r0 +/* 802B7054 002B2CB4 7C 06 38 00 */ cmpw r6, r7 +/* 802B7058 002B2CB8 40 80 00 1C */ bge lbl_802B7074 +lbl_802B705C: +/* 802B705C 002B2CBC 7C 64 32 14 */ add r3, r4, r6 +/* 802B7060 002B2CC0 38 C6 00 01 */ addi r6, r6, 1 +/* 802B7064 002B2CC4 88 03 00 08 */ lbz r0, 8(r3) +/* 802B7068 002B2CC8 98 05 00 04 */ stb r0, 4(r5) +/* 802B706C 002B2CCC 38 A5 00 01 */ addi r5, r5, 1 +/* 802B7070 002B2CD0 42 00 FF EC */ bdnz lbl_802B705C +lbl_802B7074: +/* 802B7074 002B2CD4 3C 60 00 01 */ lis r3, 0x0000FC4C@ha +/* 802B7078 002B2CD8 38 07 00 04 */ addi r0, r7, 4 +/* 802B707C 002B2CDC 38 63 FC 4C */ addi r3, r3, 0x0000FC4C@l +/* 802B7080 002B2CE0 3C C0 80 2B */ lis r6, lbl_802B70AC@ha +/* 802B7084 002B2CE4 90 ED AE B8 */ stw r7, lbl_80640178-_SDA_BASE_(r13) +/* 802B7088 002B2CE8 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 802B708C 002B2CEC 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802B7090 002B2CF0 38 A1 00 08 */ addi r5, r1, 8 +/* 802B7094 002B2CF4 38 C6 70 AC */ addi r6, r6, lbl_802B70AC@l +/* 802B7098 002B2CF8 48 00 F8 F1 */ bl func_802C6988 +lbl_802B709C: +/* 802B709C 002B2CFC 80 01 01 14 */ lwz r0, 0x114(r1) +/* 802B70A0 002B2D00 7C 08 03 A6 */ mtlr r0 +/* 802B70A4 002B2D04 38 21 01 10 */ addi r1, r1, 0x110 +/* 802B70A8 002B2D08 4E 80 00 20 */ blr +lbl_802B70AC: +/* 802B70AC 002B2D0C 94 21 FD F0 */ stwu r1, -0x210(r1) +/* 802B70B0 002B2D10 7C 08 02 A6 */ mflr r0 +/* 802B70B4 002B2D14 2C 03 00 00 */ cmpwi r3, 0 +/* 802B70B8 002B2D18 90 01 02 14 */ stw r0, 0x214(r1) +/* 802B70BC 002B2D1C 93 E1 02 0C */ stw r31, 0x20c(r1) +/* 802B70C0 002B2D20 93 C1 02 08 */ stw r30, 0x208(r1) +/* 802B70C4 002B2D24 41 82 01 F4 */ beq lbl_802B72B8 +/* 802B70C8 002B2D28 80 8D AE B8 */ lwz r4, lbl_80640178-_SDA_BASE_(r13) +/* 802B70CC 002B2D2C 80 0D AE BC */ lwz r0, lbl_8064017C-_SDA_BASE_(r13) +/* 802B70D0 002B2D30 7C 00 20 40 */ cmplw r0, r4 +/* 802B70D4 002B2D34 40 82 00 80 */ bne lbl_802B7154 +/* 802B70D8 002B2D38 3C 60 80 44 */ lis r3, lbl_8043E608@ha +/* 802B70DC 002B2D3C 38 80 00 00 */ li r4, 0 +/* 802B70E0 002B2D40 88 63 E6 08 */ lbz r3, lbl_8043E608@l(r3) +/* 802B70E4 002B2D44 38 00 00 13 */ li r0, 0x13 +/* 802B70E8 002B2D48 98 8D AE B1 */ stb r4, lbl_80640171-_SDA_BASE_(r13) +/* 802B70EC 002B2D4C 2C 03 00 13 */ cmpwi r3, 0x13 +/* 802B70F0 002B2D50 98 6D AE B2 */ stb r3, lbl_80640172-_SDA_BASE_(r13) +/* 802B70F4 002B2D54 40 80 00 08 */ bge lbl_802B70FC +/* 802B70F8 002B2D58 7C 60 1B 78 */ mr r0, r3 +lbl_802B70FC: +/* 802B70FC 002B2D5C 54 1F 06 3E */ clrlwi r31, r0, 0x18 +/* 802B7100 002B2D60 3C 80 80 44 */ lis r4, lbl_8043E608@ha +/* 802B7104 002B2D64 1F DF 00 0D */ mulli r30, r31, 0xd +/* 802B7108 002B2D68 98 01 01 08 */ stb r0, 0x108(r1) +/* 802B710C 002B2D6C 38 84 E6 08 */ addi r4, r4, lbl_8043E608@l +/* 802B7110 002B2D70 38 61 01 09 */ addi r3, r1, 0x109 +/* 802B7114 002B2D74 7F C5 F3 78 */ mr r5, r30 +/* 802B7118 002B2D78 38 84 00 01 */ addi r4, r4, 1 +/* 802B711C 002B2D7C 4B D4 CE E5 */ bl memcpy +/* 802B7120 002B2D80 88 8D AE B1 */ lbz r4, lbl_80640171-_SDA_BASE_(r13) +/* 802B7124 002B2D84 3C 60 00 01 */ lis r3, 0x0000FC4F@ha +/* 802B7128 002B2D88 38 63 FC 4F */ addi r3, r3, 0x0000FC4F@l +/* 802B712C 002B2D8C 3C C0 80 2B */ lis r6, lbl_802B72DC@ha +/* 802B7130 002B2D90 7C 84 FA 14 */ add r4, r4, r31 +/* 802B7134 002B2D94 38 1E 00 01 */ addi r0, r30, 1 +/* 802B7138 002B2D98 98 8D AE B1 */ stb r4, lbl_80640171-_SDA_BASE_(r13) +/* 802B713C 002B2D9C 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 802B7140 002B2DA0 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802B7144 002B2DA4 38 A1 01 08 */ addi r5, r1, 0x108 +/* 802B7148 002B2DA8 38 C6 72 DC */ addi r6, r6, lbl_802B72DC@l +/* 802B714C 002B2DAC 48 00 F8 3D */ bl func_802C6988 +/* 802B7150 002B2DB0 48 00 01 74 */ b lbl_802B72C4 +lbl_802B7154: +/* 802B7154 002B2DB4 7C 04 00 50 */ subf r0, r4, r0 +/* 802B7158 002B2DB8 38 60 00 FB */ li r3, 0xfb +/* 802B715C 002B2DBC 28 00 00 FB */ cmplwi r0, 0xfb +/* 802B7160 002B2DC0 40 80 00 08 */ bge lbl_802B7168 +/* 802B7164 002B2DC4 7C 03 03 78 */ mr r3, r0 +lbl_802B7168: +/* 802B7168 002B2DC8 80 0D AE B4 */ lwz r0, lbl_80640174-_SDA_BASE_(r13) +/* 802B716C 002B2DCC 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 802B7170 002B2DD0 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 802B7174 002B2DD4 38 C0 00 00 */ li r6, 0 +/* 802B7178 002B2DD8 7C 00 22 14 */ add r0, r0, r4 +/* 802B717C 002B2DDC 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f +/* 802B7180 002B2DE0 98 01 00 08 */ stb r0, 8(r1) +/* 802B7184 002B2DE4 54 04 86 3E */ rlwinm r4, r0, 0x10, 0x18, 0x1f +/* 802B7188 002B2DE8 54 00 46 3E */ srwi r0, r0, 0x18 +/* 802B718C 002B2DEC 98 A1 00 09 */ stb r5, 9(r1) +/* 802B7190 002B2DF0 98 81 00 0A */ stb r4, 0xa(r1) +/* 802B7194 002B2DF4 98 01 00 0B */ stb r0, 0xb(r1) +/* 802B7198 002B2DF8 40 85 00 EC */ ble cr1, lbl_802B7284 +/* 802B719C 002B2DFC 2C 03 00 08 */ cmpwi r3, 8 +/* 802B71A0 002B2E00 38 E3 FF F8 */ addi r7, r3, -8 +/* 802B71A4 002B2E04 40 81 00 A0 */ ble lbl_802B7244 +/* 802B71A8 002B2E08 38 A0 00 00 */ li r5, 0 +/* 802B71AC 002B2E0C 41 84 00 18 */ blt cr1, lbl_802B71C4 +/* 802B71B0 002B2E10 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha +/* 802B71B4 002B2E14 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l +/* 802B71B8 002B2E18 7C 03 00 00 */ cmpw r3, r0 +/* 802B71BC 002B2E1C 41 81 00 08 */ bgt lbl_802B71C4 +/* 802B71C0 002B2E20 38 A0 00 01 */ li r5, 1 +lbl_802B71C4: +/* 802B71C4 002B2E24 2C 05 00 00 */ cmpwi r5, 0 +/* 802B71C8 002B2E28 41 82 00 7C */ beq lbl_802B7244 +/* 802B71CC 002B2E2C 38 07 00 07 */ addi r0, r7, 7 +/* 802B71D0 002B2E30 3C 80 80 44 */ lis r4, lbl_8043E54C@ha +/* 802B71D4 002B2E34 80 AD AE B8 */ lwz r5, lbl_80640178-_SDA_BASE_(r13) +/* 802B71D8 002B2E38 38 84 E5 4C */ addi r4, r4, lbl_8043E54C@l +/* 802B71DC 002B2E3C 54 00 E8 FE */ srwi r0, r0, 3 +/* 802B71E0 002B2E40 39 01 00 08 */ addi r8, r1, 8 +/* 802B71E4 002B2E44 7D 24 2A 14 */ add r9, r4, r5 +/* 802B71E8 002B2E48 7C 09 03 A6 */ mtctr r0 +/* 802B71EC 002B2E4C 2C 07 00 00 */ cmpwi r7, 0 +/* 802B71F0 002B2E50 40 81 00 54 */ ble lbl_802B7244 +lbl_802B71F4: +/* 802B71F4 002B2E54 7C A9 32 14 */ add r5, r9, r6 +/* 802B71F8 002B2E58 38 C6 00 08 */ addi r6, r6, 8 +/* 802B71FC 002B2E5C 88 85 00 08 */ lbz r4, 8(r5) +/* 802B7200 002B2E60 88 05 00 09 */ lbz r0, 9(r5) +/* 802B7204 002B2E64 98 88 00 04 */ stb r4, 4(r8) +/* 802B7208 002B2E68 88 85 00 0A */ lbz r4, 0xa(r5) +/* 802B720C 002B2E6C 98 08 00 05 */ stb r0, 5(r8) +/* 802B7210 002B2E70 88 05 00 0B */ lbz r0, 0xb(r5) +/* 802B7214 002B2E74 98 88 00 06 */ stb r4, 6(r8) +/* 802B7218 002B2E78 88 85 00 0C */ lbz r4, 0xc(r5) +/* 802B721C 002B2E7C 98 08 00 07 */ stb r0, 7(r8) +/* 802B7220 002B2E80 88 05 00 0D */ lbz r0, 0xd(r5) +/* 802B7224 002B2E84 98 88 00 08 */ stb r4, 8(r8) +/* 802B7228 002B2E88 88 85 00 0E */ lbz r4, 0xe(r5) +/* 802B722C 002B2E8C 98 08 00 09 */ stb r0, 9(r8) +/* 802B7230 002B2E90 88 05 00 0F */ lbz r0, 0xf(r5) +/* 802B7234 002B2E94 98 88 00 0A */ stb r4, 0xa(r8) +/* 802B7238 002B2E98 98 08 00 0B */ stb r0, 0xb(r8) +/* 802B723C 002B2E9C 39 08 00 08 */ addi r8, r8, 8 +/* 802B7240 002B2EA0 42 00 FF B4 */ bdnz lbl_802B71F4 +lbl_802B7244: +/* 802B7244 002B2EA4 3C 80 80 44 */ lis r4, lbl_8043E54C@ha +/* 802B7248 002B2EA8 80 AD AE B8 */ lwz r5, lbl_80640178-_SDA_BASE_(r13) +/* 802B724C 002B2EAC 38 E1 00 08 */ addi r7, r1, 8 +/* 802B7250 002B2EB0 7C 06 18 50 */ subf r0, r6, r3 +/* 802B7254 002B2EB4 38 84 E5 4C */ addi r4, r4, lbl_8043E54C@l +/* 802B7258 002B2EB8 7C E7 32 14 */ add r7, r7, r6 +/* 802B725C 002B2EBC 7C A4 2A 14 */ add r5, r4, r5 +/* 802B7260 002B2EC0 7C 09 03 A6 */ mtctr r0 +/* 802B7264 002B2EC4 7C 06 18 00 */ cmpw r6, r3 +/* 802B7268 002B2EC8 40 80 00 1C */ bge lbl_802B7284 +lbl_802B726C: +/* 802B726C 002B2ECC 7C 85 32 14 */ add r4, r5, r6 +/* 802B7270 002B2ED0 38 C6 00 01 */ addi r6, r6, 1 +/* 802B7274 002B2ED4 88 04 00 08 */ lbz r0, 8(r4) +/* 802B7278 002B2ED8 98 07 00 04 */ stb r0, 4(r7) +/* 802B727C 002B2EDC 38 E7 00 01 */ addi r7, r7, 1 +/* 802B7280 002B2EE0 42 00 FF EC */ bdnz lbl_802B726C +lbl_802B7284: +/* 802B7284 002B2EE4 80 AD AE B8 */ lwz r5, lbl_80640178-_SDA_BASE_(r13) +/* 802B7288 002B2EE8 3C 80 00 01 */ lis r4, 0x0000FC4C@ha +/* 802B728C 002B2EEC 38 03 00 04 */ addi r0, r3, 4 +/* 802B7290 002B2EF0 3C C0 80 2B */ lis r6, lbl_802B70AC@ha +/* 802B7294 002B2EF4 7C 65 1A 14 */ add r3, r5, r3 +/* 802B7298 002B2EF8 38 84 FC 4C */ addi r4, r4, 0x0000FC4C@l +/* 802B729C 002B2EFC 90 6D AE B8 */ stw r3, lbl_80640178-_SDA_BASE_(r13) +/* 802B72A0 002B2F00 54 83 04 3E */ clrlwi r3, r4, 0x10 +/* 802B72A4 002B2F04 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802B72A8 002B2F08 38 A1 00 08 */ addi r5, r1, 8 +/* 802B72AC 002B2F0C 38 C6 70 AC */ addi r6, r6, lbl_802B70AC@l +/* 802B72B0 002B2F10 48 00 F6 D9 */ bl func_802C6988 +/* 802B72B4 002B2F14 48 00 00 10 */ b lbl_802B72C4 +lbl_802B72B8: +/* 802B72B8 002B2F18 3C 60 80 2B */ lis r3, lbl_802B6F30@ha +/* 802B72BC 002B2F1C 38 63 6F 30 */ addi r3, r3, lbl_802B6F30@l +/* 802B72C0 002B2F20 48 00 E6 CD */ bl func_802C598C +lbl_802B72C4: +/* 802B72C4 002B2F24 80 01 02 14 */ lwz r0, 0x214(r1) +/* 802B72C8 002B2F28 83 E1 02 0C */ lwz r31, 0x20c(r1) +/* 802B72CC 002B2F2C 83 C1 02 08 */ lwz r30, 0x208(r1) +/* 802B72D0 002B2F30 7C 08 03 A6 */ mtlr r0 +/* 802B72D4 002B2F34 38 21 02 10 */ addi r1, r1, 0x210 +/* 802B72D8 002B2F38 4E 80 00 20 */ blr +lbl_802B72DC: +/* 802B72DC 002B2F3C 94 21 FE F0 */ stwu r1, -0x110(r1) +/* 802B72E0 002B2F40 7C 08 02 A6 */ mflr r0 +/* 802B72E4 002B2F44 2C 03 00 00 */ cmpwi r3, 0 +/* 802B72E8 002B2F48 90 01 01 14 */ stw r0, 0x114(r1) +/* 802B72EC 002B2F4C 93 E1 01 0C */ stw r31, 0x10c(r1) +/* 802B72F0 002B2F50 93 C1 01 08 */ stw r30, 0x108(r1) +/* 802B72F4 002B2F54 41 82 00 98 */ beq lbl_802B738C +/* 802B72F8 002B2F58 88 AD AE B1 */ lbz r5, lbl_80640171-_SDA_BASE_(r13) +/* 802B72FC 002B2F5C 88 0D AE B2 */ lbz r0, lbl_80640172-_SDA_BASE_(r13) +/* 802B7300 002B2F60 7C 00 28 40 */ cmplw r0, r5 +/* 802B7304 002B2F64 40 82 00 14 */ bne lbl_802B7318 +/* 802B7308 002B2F68 3C 60 80 2B */ lis r3, lbl_802B6F30@ha +/* 802B730C 002B2F6C 38 63 6F 30 */ addi r3, r3, lbl_802B6F30@l +/* 802B7310 002B2F70 48 00 E6 7D */ bl func_802C598C +/* 802B7314 002B2F74 48 00 00 84 */ b lbl_802B7398 +lbl_802B7318: +/* 802B7318 002B2F78 7C 65 00 50 */ subf r3, r5, r0 +/* 802B731C 002B2F7C 38 00 00 13 */ li r0, 0x13 +/* 802B7320 002B2F80 2C 03 00 13 */ cmpwi r3, 0x13 +/* 802B7324 002B2F84 40 80 00 08 */ bge lbl_802B732C +/* 802B7328 002B2F88 7C 60 1B 78 */ mr r0, r3 +lbl_802B732C: +/* 802B732C 002B2F8C 54 1F 06 3E */ clrlwi r31, r0, 0x18 +/* 802B7330 002B2F90 98 01 00 08 */ stb r0, 8(r1) +/* 802B7334 002B2F94 3C 80 80 44 */ lis r4, lbl_8043E608@ha +/* 802B7338 002B2F98 38 61 00 09 */ addi r3, r1, 9 +/* 802B733C 002B2F9C 1C 05 00 0D */ mulli r0, r5, 0xd +/* 802B7340 002B2FA0 38 84 E6 08 */ addi r4, r4, lbl_8043E608@l +/* 802B7344 002B2FA4 1F DF 00 0D */ mulli r30, r31, 0xd +/* 802B7348 002B2FA8 7C 84 02 14 */ add r4, r4, r0 +/* 802B734C 002B2FAC 7F C5 F3 78 */ mr r5, r30 +/* 802B7350 002B2FB0 38 84 00 01 */ addi r4, r4, 1 +/* 802B7354 002B2FB4 4B D4 CC AD */ bl memcpy +/* 802B7358 002B2FB8 88 8D AE B1 */ lbz r4, lbl_80640171-_SDA_BASE_(r13) +/* 802B735C 002B2FBC 3C 60 00 01 */ lis r3, 0x0000FC4F@ha +/* 802B7360 002B2FC0 38 63 FC 4F */ addi r3, r3, 0x0000FC4F@l +/* 802B7364 002B2FC4 3C C0 80 2B */ lis r6, lbl_802B72DC@ha +/* 802B7368 002B2FC8 7C 84 FA 14 */ add r4, r4, r31 +/* 802B736C 002B2FCC 38 1E 00 01 */ addi r0, r30, 1 +/* 802B7370 002B2FD0 98 8D AE B1 */ stb r4, lbl_80640171-_SDA_BASE_(r13) +/* 802B7374 002B2FD4 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 802B7378 002B2FD8 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802B737C 002B2FDC 38 A1 00 08 */ addi r5, r1, 8 +/* 802B7380 002B2FE0 38 C6 72 DC */ addi r6, r6, lbl_802B72DC@l +/* 802B7384 002B2FE4 48 00 F6 05 */ bl func_802C6988 +/* 802B7388 002B2FE8 48 00 00 10 */ b lbl_802B7398 +lbl_802B738C: +/* 802B738C 002B2FEC 3C 60 80 2B */ lis r3, lbl_802B6F30@ha +/* 802B7390 002B2FF0 38 63 6F 30 */ addi r3, r3, lbl_802B6F30@l +/* 802B7394 002B2FF4 48 00 E5 F9 */ bl func_802C598C +lbl_802B7398: +/* 802B7398 002B2FF8 80 01 01 14 */ lwz r0, 0x114(r1) +/* 802B739C 002B2FFC 83 E1 01 0C */ lwz r31, 0x10c(r1) +/* 802B73A0 002B3000 83 C1 01 08 */ lwz r30, 0x108(r1) +/* 802B73A4 002B3004 7C 08 03 A6 */ mtlr r0 +/* 802B73A8 002B3008 38 21 01 10 */ addi r1, r1, 0x110 +/* 802B73AC 002B300C 4E 80 00 20 */ blr + +.global func_802B73B0 +func_802B73B0: +/* 802B73B0 002B3010 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B73B4 002B3014 7C 08 02 A6 */ mflr r0 +/* 802B73B8 002B3018 3C 60 80 44 */ lis r3, lbl_8043E664@ha +/* 802B73BC 002B301C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B73C0 002B3020 38 63 E6 64 */ addi r3, r3, lbl_8043E664@l +/* 802B73C4 002B3024 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B73C8 002B3028 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B73CC 002B302C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B73D0 002B3030 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B73D4 002B3034 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B73D8 002B3038 93 81 00 10 */ stw r28, 0x10(r1) +/* 802B73DC 002B303C 89 22 A4 30 */ lbz r9, lbl_80642A30-_SDA2_BASE_(r2) +/* 802B73E0 002B3040 89 02 A4 31 */ lbz r8, lbl_80642A31-_SDA2_BASE_(r2) +/* 802B73E4 002B3044 88 E2 A4 32 */ lbz r7, lbl_80642A32-_SDA2_BASE_(r2) +/* 802B73E8 002B3048 88 C2 A4 33 */ lbz r6, lbl_80642A33-_SDA2_BASE_(r2) +/* 802B73EC 002B304C 88 A2 A4 34 */ lbz r5, lbl_80642A34-_SDA2_BASE_(r2) +/* 802B73F0 002B3050 88 82 A4 35 */ lbz r4, lbl_80642A35-_SDA2_BASE_(r2) +/* 802B73F4 002B3054 88 02 A4 36 */ lbz r0, lbl_80642A36-_SDA2_BASE_(r2) +/* 802B73F8 002B3058 99 21 00 0C */ stb r9, 0xc(r1) +/* 802B73FC 002B305C 99 01 00 0D */ stb r8, 0xd(r1) +/* 802B7400 002B3060 98 E1 00 0E */ stb r7, 0xe(r1) +/* 802B7404 002B3064 98 C1 00 0F */ stb r6, 0xf(r1) +/* 802B7408 002B3068 98 A1 00 08 */ stb r5, 8(r1) +/* 802B740C 002B306C 98 81 00 09 */ stb r4, 9(r1) +/* 802B7410 002B3070 98 01 00 0A */ stb r0, 0xa(r1) +/* 802B7414 002B3074 4C C6 31 82 */ crclr 6 +/* 802B7418 002B3078 48 00 21 65 */ bl func_802B957C +/* 802B741C 002B307C 38 61 00 0C */ addi r3, r1, 0xc +/* 802B7420 002B3080 48 00 8D 05 */ bl func_802C0124 +/* 802B7424 002B3084 38 61 00 08 */ addi r3, r1, 8 +/* 802B7428 002B3088 48 00 F4 A9 */ bl func_802C68D0 +/* 802B742C 002B308C 3C 60 80 2C */ lis r3, lbl_802B8780@ha +/* 802B7430 002B3090 38 63 87 80 */ addi r3, r3, lbl_802B8780@l +/* 802B7434 002B3094 48 00 F6 BD */ bl func_802C6AF0 +/* 802B7438 002B3098 3C 60 80 2C */ lis r3, lbl_802B8AB8@ha +/* 802B743C 002B309C 38 63 8A B8 */ addi r3, r3, lbl_802B8AB8@l +/* 802B7440 002B30A0 48 00 F5 31 */ bl func_802C6970 +/* 802B7444 002B30A4 3C A0 80 2C */ lis r5, lbl_802B8DF4@ha +/* 802B7448 002B30A8 38 9D 07 0A */ addi r4, r29, 0x70a +/* 802B744C 002B30AC 38 A5 8D F4 */ addi r5, r5, lbl_802B8DF4@l +/* 802B7450 002B30B0 38 60 00 03 */ li r3, 3 +/* 802B7454 002B30B4 48 01 19 99 */ bl func_802C8DEC +/* 802B7458 002B30B8 3C 60 00 01 */ lis r3, 0x00008000@ha +/* 802B745C 002B30BC 38 03 80 00 */ addi r0, r3, 0x00008000@l +/* 802B7460 002B30C0 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B7464 002B30C4 48 00 F7 5D */ bl func_802C6BC0 +/* 802B7468 002B30C8 38 60 00 05 */ li r3, 5 +/* 802B746C 002B30CC 48 00 CA 19 */ bl func_802C3E84 +/* 802B7470 002B30D0 38 60 06 40 */ li r3, 0x640 +/* 802B7474 002B30D4 48 00 CD DD */ bl func_802C4250 +/* 802B7478 002B30D8 7F BF EB 78 */ mr r31, r29 +/* 802B747C 002B30DC 3B DD 01 24 */ addi r30, r29, 0x124 +/* 802B7480 002B30E0 3B 80 00 00 */ li r28, 0 +lbl_802B7484: +/* 802B7484 002B30E4 88 1F 01 3D */ lbz r0, 0x13d(r31) +/* 802B7488 002B30E8 28 00 00 01 */ cmplwi r0, 1 +/* 802B748C 002B30EC 40 82 00 0C */ bne lbl_802B7498 +/* 802B7490 002B30F0 7F C3 F3 78 */ mr r3, r30 +/* 802B7494 002B30F4 48 00 00 75 */ bl func_802B7508 +lbl_802B7498: +/* 802B7498 002B30F8 3B 9C 00 01 */ addi r28, r28, 1 +/* 802B749C 002B30FC 3B DE 00 60 */ addi r30, r30, 0x60 +/* 802B74A0 002B3100 2C 1C 00 0A */ cmpwi r28, 0xa +/* 802B74A4 002B3104 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802B74A8 002B3108 41 80 FF DC */ blt lbl_802B7484 +/* 802B74AC 002B310C 4B FB 72 B1 */ bl OSDisableInterrupts +/* 802B74B0 002B3110 38 00 00 03 */ li r0, 3 +/* 802B74B4 002B3114 98 1D 07 08 */ stb r0, 0x708(r29) +/* 802B74B8 002B3118 4B FB 72 CD */ bl OSRestoreInterrupts +/* 802B74BC 002B311C 4B FB 72 A1 */ bl OSDisableInterrupts +/* 802B74C0 002B3120 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B74C4 002B3124 38 A0 00 00 */ li r5, 0 +/* 802B74C8 002B3128 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B74CC 002B312C 38 00 00 01 */ li r0, 1 +/* 802B74D0 002B3130 98 A4 06 EB */ stb r5, 0x6eb(r4) +/* 802B74D4 002B3134 98 04 06 EA */ stb r0, 0x6ea(r4) +/* 802B74D8 002B3138 4B FB 72 AD */ bl OSRestoreInterrupts +/* 802B74DC 002B313C 38 60 00 00 */ li r3, 0 +/* 802B74E0 002B3140 38 80 00 01 */ li r4, 1 +/* 802B74E4 002B3144 48 00 8C A5 */ bl func_802C0188 +/* 802B74E8 002B3148 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B74EC 002B314C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B74F0 002B3150 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B74F4 002B3154 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B74F8 002B3158 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802B74FC 002B315C 7C 08 03 A6 */ mtlr r0 +/* 802B7500 002B3160 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B7504 002B3164 4E 80 00 20 */ blr + +.global func_802B7508 +func_802B7508: +/* 802B7508 002B3168 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B750C 002B316C 7C 08 02 A6 */ mflr r0 +/* 802B7510 002B3170 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B7514 002B3174 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802B7518 002B3178 3F E0 80 44 */ lis r31, lbl_8043E048@ha +/* 802B751C 002B317C 3B FF E0 48 */ addi r31, r31, lbl_8043E048@l +/* 802B7520 002B3180 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802B7524 002B3184 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B7528 002B3188 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B752C 002B318C 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802B7530 002B3190 48 00 02 35 */ bl func_802B7764 +/* 802B7534 002B3194 7C 7D 1B 78 */ mr r29, r3 +/* 802B7538 002B3198 38 83 00 46 */ addi r4, r3, 0x46 +/* 802B753C 002B319C 38 A0 00 00 */ li r5, 0 +/* 802B7540 002B31A0 38 C0 00 00 */ li r6, 0 +/* 802B7544 002B31A4 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7548 002B31A8 48 00 8D E1 */ bl func_802C0328 +/* 802B754C 002B31AC 7C 60 1B 78 */ mr r0, r3 +/* 802B7550 002B31B0 38 7F 06 78 */ addi r3, r31, 0x678 +/* 802B7554 002B31B4 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802B7558 002B31B8 4C C6 31 82 */ crclr 6 +/* 802B755C 002B31BC 48 00 20 21 */ bl func_802B957C +/* 802B7560 002B31C0 7F A3 EB 78 */ mr r3, r29 +/* 802B7564 002B31C4 38 9F 01 A0 */ addi r4, r31, 0x1a0 +/* 802B7568 002B31C8 38 A0 00 10 */ li r5, 0x10 +/* 802B756C 002B31CC 4B F1 2E 2D */ bl memcmp +/* 802B7570 002B31D0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7574 002B31D4 40 82 00 48 */ bne lbl_802B75BC +/* 802B7578 002B31D8 38 1F 00 00 */ addi r0, r31, 0 +/* 802B757C 002B31DC 38 60 00 D9 */ li r3, 0xd9 +/* 802B7580 002B31E0 B0 61 00 10 */ sth r3, 0x10(r1) +/* 802B7584 002B31E4 38 7F 06 90 */ addi r3, r31, 0x690 +/* 802B7588 002B31E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B758C 002B31EC 4C C6 31 82 */ crclr 6 +/* 802B7590 002B31F0 48 00 1F ED */ bl func_802B957C +/* 802B7594 002B31F4 80 81 00 10 */ lwz r4, 0x10(r1) +/* 802B7598 002B31F8 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802B759C 002B31FC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B75A0 002B3200 38 E1 00 08 */ addi r7, r1, 8 +/* 802B75A4 002B3204 90 81 00 08 */ stw r4, 8(r1) +/* 802B75A8 002B3208 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B75AC 002B320C A0 9D 00 5E */ lhz r4, 0x5e(r29) +/* 802B75B0 002B3210 88 BD 00 57 */ lbz r5, 0x57(r29) +/* 802B75B4 002B3214 88 DD 00 58 */ lbz r6, 0x58(r29) +/* 802B75B8 002B3218 48 00 B4 0D */ bl func_802C29C4 +lbl_802B75BC: +/* 802B75BC 002B321C 4B FB 71 A1 */ bl OSDisableInterrupts +/* 802B75C0 002B3220 88 1D 00 5B */ lbz r0, 0x5b(r29) +/* 802B75C4 002B3224 2C 00 00 00 */ cmpwi r0, 0 +/* 802B75C8 002B3228 41 82 00 1C */ beq lbl_802B75E4 +/* 802B75CC 002B322C 28 00 00 04 */ cmplwi r0, 4 +/* 802B75D0 002B3230 41 82 00 14 */ beq lbl_802B75E4 +/* 802B75D4 002B3234 28 00 00 02 */ cmplwi r0, 2 +/* 802B75D8 002B3238 41 82 00 0C */ beq lbl_802B75E4 +/* 802B75DC 002B323C 28 00 00 05 */ cmplwi r0, 5 +/* 802B75E0 002B3240 40 82 00 14 */ bne lbl_802B75F4 +lbl_802B75E4: +/* 802B75E4 002B3244 88 9E 00 12 */ lbz r4, 0x12(r30) +/* 802B75E8 002B3248 38 04 00 01 */ addi r0, r4, 1 +/* 802B75EC 002B324C 98 1E 00 12 */ stb r0, 0x12(r30) +/* 802B75F0 002B3250 48 00 00 10 */ b lbl_802B7600 +lbl_802B75F4: +/* 802B75F4 002B3254 88 9E 00 13 */ lbz r4, 0x13(r30) +/* 802B75F8 002B3258 38 04 00 01 */ addi r0, r4, 1 +/* 802B75FC 002B325C 98 1E 00 13 */ stb r0, 0x13(r30) +lbl_802B7600: +/* 802B7600 002B3260 4B FB 71 85 */ bl OSRestoreInterrupts +/* 802B7604 002B3264 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B7608 002B3268 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802B760C 002B326C 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802B7610 002B3270 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802B7614 002B3274 7C 08 03 A6 */ mtlr r0 +/* 802B7618 002B3278 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B761C 002B327C 4E 80 00 20 */ blr + +.global func_802B7620 +func_802B7620: +/* 802B7620 002B3280 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B7624 002B3284 7C 08 02 A6 */ mflr r0 +/* 802B7628 002B3288 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B762C 002B328C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B7630 002B3290 3F E0 80 44 */ lis r31, lbl_8043E048@ha +/* 802B7634 002B3294 3B FF E0 48 */ addi r31, r31, lbl_8043E048@l +/* 802B7638 002B3298 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B763C 002B329C 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B7640 002B32A0 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B7644 002B32A4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B7648 002B32A8 7C 7D 1B 78 */ mr r29, r3 +/* 802B764C 002B32AC 93 81 00 10 */ stw r28, 0x10(r1) +/* 802B7650 002B32B0 4B FB 71 0D */ bl OSDisableInterrupts +/* 802B7654 002B32B4 7C 7C 1B 78 */ mr r28, r3 +/* 802B7658 002B32B8 38 7F 06 A0 */ addi r3, r31, 0x6a0 +/* 802B765C 002B32BC 4C C6 31 82 */ crclr 6 +/* 802B7660 002B32C0 48 00 1F 1D */ bl func_802B957C +/* 802B7664 002B32C4 7F A3 EB 78 */ mr r3, r29 +/* 802B7668 002B32C8 48 00 00 FD */ bl func_802B7764 +/* 802B766C 002B32CC 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7670 002B32D0 7C 7D 1B 78 */ mr r29, r3 +/* 802B7674 002B32D4 41 82 00 C8 */ beq lbl_802B773C +/* 802B7678 002B32D8 88 9D 00 56 */ lbz r4, 0x56(r29) +/* 802B767C 002B32DC 38 7F 06 B8 */ addi r3, r31, 0x6b8 +/* 802B7680 002B32E0 88 BD 00 40 */ lbz r5, 0x40(r29) +/* 802B7684 002B32E4 88 DD 00 41 */ lbz r6, 0x41(r29) +/* 802B7688 002B32E8 88 FD 00 42 */ lbz r7, 0x42(r29) +/* 802B768C 002B32EC 89 1D 00 43 */ lbz r8, 0x43(r29) +/* 802B7690 002B32F0 89 3D 00 44 */ lbz r9, 0x44(r29) +/* 802B7694 002B32F4 89 5D 00 45 */ lbz r10, 0x45(r29) +/* 802B7698 002B32F8 4C C6 31 82 */ crclr 6 +/* 802B769C 002B32FC 48 00 1E E1 */ bl func_802B957C +/* 802B76A0 002B3300 38 7F 06 F0 */ addi r3, r31, 0x6f0 +/* 802B76A4 002B3304 4C C6 31 82 */ crclr 6 +/* 802B76A8 002B3308 48 00 1E D5 */ bl func_802B957C +/* 802B76AC 002B330C 7F A3 EB 78 */ mr r3, r29 +/* 802B76B0 002B3310 38 9F 01 A0 */ addi r4, r31, 0x1a0 +/* 802B76B4 002B3314 38 A0 00 10 */ li r5, 0x10 +/* 802B76B8 002B3318 4B F1 2C E1 */ bl memcmp +/* 802B76BC 002B331C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B76C0 002B3320 40 82 00 28 */ bne lbl_802B76E8 +/* 802B76C4 002B3324 38 7F 07 14 */ addi r3, r31, 0x714 +/* 802B76C8 002B3328 4C C6 31 82 */ crclr 6 +/* 802B76CC 002B332C 48 00 1E B1 */ bl func_802B957C +/* 802B76D0 002B3330 88 9D 00 56 */ lbz r4, 0x56(r29) +/* 802B76D4 002B3334 38 7F 07 28 */ addi r3, r31, 0x728 +/* 802B76D8 002B3338 4C C6 31 82 */ crclr 6 +/* 802B76DC 002B333C 48 00 1E A1 */ bl func_802B957C +/* 802B76E0 002B3340 88 7D 00 56 */ lbz r3, 0x56(r29) +/* 802B76E4 002B3344 48 00 B3 89 */ bl func_802C2A6C +lbl_802B76E8: +/* 802B76E8 002B3348 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802B76EC 002B334C 48 00 8D 2D */ bl func_802C0418 +/* 802B76F0 002B3350 7C 60 1B 78 */ mr r0, r3 +/* 802B76F4 002B3354 38 7F 07 38 */ addi r3, r31, 0x738 +/* 802B76F8 002B3358 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802B76FC 002B335C 4C C6 31 82 */ crclr 6 +/* 802B7700 002B3360 48 00 1E 7D */ bl func_802B957C +/* 802B7704 002B3364 88 1D 00 5B */ lbz r0, 0x5b(r29) +/* 802B7708 002B3368 2C 00 00 00 */ cmpwi r0, 0 +/* 802B770C 002B336C 40 82 00 14 */ bne lbl_802B7720 +/* 802B7710 002B3370 88 7E 00 12 */ lbz r3, 0x12(r30) +/* 802B7714 002B3374 38 03 FF FF */ addi r0, r3, -1 +/* 802B7718 002B3378 98 1E 00 12 */ stb r0, 0x12(r30) +/* 802B771C 002B337C 48 00 00 10 */ b lbl_802B772C +lbl_802B7720: +/* 802B7720 002B3380 88 7E 00 13 */ lbz r3, 0x13(r30) +/* 802B7724 002B3384 38 03 FF FF */ addi r0, r3, -1 +/* 802B7728 002B3388 98 1E 00 13 */ stb r0, 0x13(r30) +lbl_802B772C: +/* 802B772C 002B338C 7F A3 EB 78 */ mr r3, r29 +/* 802B7730 002B3390 38 80 00 00 */ li r4, 0 +/* 802B7734 002B3394 38 A0 00 60 */ li r5, 0x60 +/* 802B7738 002B3398 4B D4 C9 CD */ bl memset +lbl_802B773C: +/* 802B773C 002B339C 7F 83 E3 78 */ mr r3, r28 +/* 802B7740 002B33A0 4B FB 70 45 */ bl OSRestoreInterrupts +/* 802B7744 002B33A4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B7748 002B33A8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B774C 002B33AC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B7750 002B33B0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B7754 002B33B4 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802B7758 002B33B8 7C 08 03 A6 */ mtlr r0 +/* 802B775C 002B33BC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B7760 002B33C0 4E 80 00 20 */ blr + +.global func_802B7764 +func_802B7764: +/* 802B7764 002B33C4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B7768 002B33C8 7C 08 02 A6 */ mflr r0 +/* 802B776C 002B33CC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B7770 002B33D0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7774 002B33D4 4B F0 F9 B1 */ bl _savegpr_26 +/* 802B7778 002B33D8 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B777C 002B33DC 7C 7A 1B 78 */ mr r26, r3 +/* 802B7780 002B33E0 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B7784 002B33E4 3B 80 00 00 */ li r28, 0 +/* 802B7788 002B33E8 4B FB 6F D5 */ bl OSDisableInterrupts +/* 802B778C 002B33EC 7C 7B 1B 78 */ mr r27, r3 +/* 802B7790 002B33F0 3B FD 01 24 */ addi r31, r29, 0x124 +/* 802B7794 002B33F4 3B C0 00 00 */ li r30, 0 +lbl_802B7798: +/* 802B7798 002B33F8 7F E3 FB 78 */ mr r3, r31 +/* 802B779C 002B33FC 7F 44 D3 78 */ mr r4, r26 +/* 802B77A0 002B3400 38 A0 00 06 */ li r5, 6 +/* 802B77A4 002B3404 4B F1 2B F5 */ bl memcmp +/* 802B77A8 002B3408 2C 03 00 00 */ cmpwi r3, 0 +/* 802B77AC 002B340C 40 82 00 14 */ bne lbl_802B77C0 +/* 802B77B0 002B3410 1C 1E 00 60 */ mulli r0, r30, 0x60 +/* 802B77B4 002B3414 7C 7D 02 14 */ add r3, r29, r0 +/* 802B77B8 002B3418 3B 83 00 E4 */ addi r28, r3, 0xe4 +/* 802B77BC 002B341C 48 00 00 14 */ b lbl_802B77D0 +lbl_802B77C0: +/* 802B77C0 002B3420 3B DE 00 01 */ addi r30, r30, 1 +/* 802B77C4 002B3424 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802B77C8 002B3428 2C 1E 00 0A */ cmpwi r30, 0xa +/* 802B77CC 002B342C 41 80 FF CC */ blt lbl_802B7798 +lbl_802B77D0: +/* 802B77D0 002B3430 2C 1C 00 00 */ cmpwi r28, 0 +/* 802B77D4 002B3434 40 82 00 44 */ bne lbl_802B7818 +/* 802B77D8 002B3438 3B FD 04 E4 */ addi r31, r29, 0x4e4 +/* 802B77DC 002B343C 3B C0 00 00 */ li r30, 0 +lbl_802B77E0: +/* 802B77E0 002B3440 7F E3 FB 78 */ mr r3, r31 +/* 802B77E4 002B3444 7F 44 D3 78 */ mr r4, r26 +/* 802B77E8 002B3448 38 A0 00 06 */ li r5, 6 +/* 802B77EC 002B344C 4B F1 2B AD */ bl memcmp +/* 802B77F0 002B3450 2C 03 00 00 */ cmpwi r3, 0 +/* 802B77F4 002B3454 40 82 00 14 */ bne lbl_802B7808 +/* 802B77F8 002B3458 1C 1E 00 60 */ mulli r0, r30, 0x60 +/* 802B77FC 002B345C 7C 7D 02 14 */ add r3, r29, r0 +/* 802B7800 002B3460 3B 83 04 A4 */ addi r28, r3, 0x4a4 +/* 802B7804 002B3464 48 00 00 14 */ b lbl_802B7818 +lbl_802B7808: +/* 802B7808 002B3468 3B DE 00 01 */ addi r30, r30, 1 +/* 802B780C 002B346C 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802B7810 002B3470 2C 1E 00 06 */ cmpwi r30, 6 +/* 802B7814 002B3474 41 80 FF CC */ blt lbl_802B77E0 +lbl_802B7818: +/* 802B7818 002B3478 7F 63 DB 78 */ mr r3, r27 +/* 802B781C 002B347C 4B FB 6F 69 */ bl OSRestoreInterrupts +/* 802B7820 002B3480 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7824 002B3484 7F 83 E3 78 */ mr r3, r28 +/* 802B7828 002B3488 4B F0 F9 49 */ bl _restgpr_26 +/* 802B782C 002B348C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B7830 002B3490 7C 08 03 A6 */ mtlr r0 +/* 802B7834 002B3494 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B7838 002B3498 4E 80 00 20 */ blr + +.global func_802B783C +func_802B783C: +/* 802B783C 002B349C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B7840 002B34A0 7C 08 02 A6 */ mflr r0 +/* 802B7844 002B34A4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B7848 002B34A8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B784C 002B34AC 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B7850 002B34B0 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B7854 002B34B4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B7858 002B34B8 3B C0 00 00 */ li r30, 0 +/* 802B785C 002B34BC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B7860 002B34C0 93 81 00 10 */ stw r28, 0x10(r1) +/* 802B7864 002B34C4 4B FB 6E F9 */ bl OSDisableInterrupts +/* 802B7868 002B34C8 88 1F 06 E9 */ lbz r0, 0x6e9(r31) +/* 802B786C 002B34CC 7C 7D 1B 78 */ mr r29, r3 +/* 802B7870 002B34D0 2C 00 00 00 */ cmpwi r0, 0 +/* 802B7874 002B34D4 40 82 00 54 */ bne lbl_802B78C8 +/* 802B7878 002B34D8 38 00 00 0A */ li r0, 0xa +/* 802B787C 002B34DC 7F E3 FB 78 */ mr r3, r31 +/* 802B7880 002B34E0 3B 80 00 00 */ li r28, 0 +/* 802B7884 002B34E4 7C 09 03 A6 */ mtctr r0 +lbl_802B7888: +/* 802B7888 002B34E8 88 03 01 3D */ lbz r0, 0x13d(r3) +/* 802B788C 002B34EC 2C 00 00 00 */ cmpwi r0, 0 +/* 802B7890 002B34F0 40 82 00 28 */ bne lbl_802B78B8 +/* 802B7894 002B34F4 3C 60 80 44 */ lis r3, lbl_8043E79C@ha +/* 802B7898 002B34F8 7F 84 E3 78 */ mr r4, r28 +/* 802B789C 002B34FC 38 63 E7 9C */ addi r3, r3, lbl_8043E79C@l +/* 802B78A0 002B3500 4C C6 31 82 */ crclr 6 +/* 802B78A4 002B3504 48 00 1C D9 */ bl func_802B957C +/* 802B78A8 002B3508 1C 1C 00 60 */ mulli r0, r28, 0x60 +/* 802B78AC 002B350C 7C 7F 02 14 */ add r3, r31, r0 +/* 802B78B0 002B3510 3B C3 00 E4 */ addi r30, r3, 0xe4 +/* 802B78B4 002B3514 48 00 00 1C */ b lbl_802B78D0 +lbl_802B78B8: +/* 802B78B8 002B3518 38 63 00 60 */ addi r3, r3, 0x60 +/* 802B78BC 002B351C 3B 9C 00 01 */ addi r28, r28, 1 +/* 802B78C0 002B3520 42 00 FF C8 */ bdnz lbl_802B7888 +/* 802B78C4 002B3524 48 00 00 0C */ b lbl_802B78D0 +lbl_802B78C8: +/* 802B78C8 002B3528 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 802B78CC 002B352C 83 C3 00 00 */ lwz r30, 0(r3) +lbl_802B78D0: +/* 802B78D0 002B3530 7F A3 EB 78 */ mr r3, r29 +/* 802B78D4 002B3534 4B FB 6E B1 */ bl OSRestoreInterrupts +/* 802B78D8 002B3538 7F C3 F3 78 */ mr r3, r30 +/* 802B78DC 002B353C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B78E0 002B3540 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B78E4 002B3544 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B78E8 002B3548 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802B78EC 002B354C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B78F0 002B3550 7C 08 03 A6 */ mtlr r0 +/* 802B78F4 002B3554 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B78F8 002B3558 4E 80 00 20 */ blr + +.global func_802B78FC +func_802B78FC: +/* 802B78FC 002B355C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B7900 002B3560 7C 08 02 A6 */ mflr r0 +/* 802B7904 002B3564 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B7908 002B3568 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B790C 002B356C 4B F0 F8 1D */ bl _savegpr_27 +/* 802B7910 002B3570 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B7914 002B3574 7C 7B 1B 78 */ mr r27, r3 +/* 802B7918 002B3578 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B791C 002B357C 4B FB 6E 41 */ bl OSDisableInterrupts +/* 802B7920 002B3580 7C 7D 1B 78 */ mr r29, r3 +/* 802B7924 002B3584 7F DC F3 78 */ mr r28, r30 +/* 802B7928 002B3588 3B E0 00 00 */ li r31, 0 +lbl_802B792C: +/* 802B792C 002B358C 80 7C 00 1C */ lwz r3, 0x1c(r28) +/* 802B7930 002B3590 38 9B 00 40 */ addi r4, r27, 0x40 +/* 802B7934 002B3594 38 A0 00 06 */ li r5, 6 +/* 802B7938 002B3598 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B793C 002B359C 4B F1 2A 5D */ bl memcmp +/* 802B7940 002B35A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7944 002B35A4 40 82 00 A0 */ bne lbl_802B79E4 +/* 802B7948 002B35A8 1F 9F 00 0C */ mulli r28, r31, 0xc +/* 802B794C 002B35AC 80 7E 00 14 */ lwz r3, 0x14(r30) +/* 802B7950 002B35B0 38 A0 00 06 */ li r5, 6 +/* 802B7954 002B35B4 80 63 00 00 */ lwz r3, 0(r3) +/* 802B7958 002B35B8 7C 9E E2 14 */ add r4, r30, r28 +/* 802B795C 002B35BC 3B E4 00 1C */ addi r31, r4, 0x1c +/* 802B7960 002B35C0 80 84 00 1C */ lwz r4, 0x1c(r4) +/* 802B7964 002B35C4 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7968 002B35C8 38 84 00 40 */ addi r4, r4, 0x40 +/* 802B796C 002B35CC 4B F1 2A 2D */ bl memcmp +/* 802B7970 002B35D0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7974 002B35D4 41 82 00 80 */ beq lbl_802B79F4 +/* 802B7978 002B35D8 7F 9E E2 14 */ add r28, r30, r28 +/* 802B797C 002B35DC 38 A0 00 06 */ li r5, 6 +/* 802B7980 002B35E0 80 1C 00 24 */ lwz r0, 0x24(r28) +/* 802B7984 002B35E4 80 7C 00 20 */ lwz r3, 0x20(r28) +/* 802B7988 002B35E8 90 03 00 08 */ stw r0, 8(r3) +/* 802B798C 002B35EC 80 9E 00 18 */ lwz r4, 0x18(r30) +/* 802B7990 002B35F0 80 7F 00 00 */ lwz r3, 0(r31) +/* 802B7994 002B35F4 80 C4 00 00 */ lwz r6, 0(r4) +/* 802B7998 002B35F8 38 83 00 40 */ addi r4, r3, 0x40 +/* 802B799C 002B35FC 38 66 00 40 */ addi r3, r6, 0x40 +/* 802B79A0 002B3600 4B F1 29 F9 */ bl memcmp +/* 802B79A4 002B3604 2C 03 00 00 */ cmpwi r3, 0 +/* 802B79A8 002B3608 40 82 00 10 */ bne lbl_802B79B8 +/* 802B79AC 002B360C 80 1C 00 20 */ lwz r0, 0x20(r28) +/* 802B79B0 002B3610 90 1E 00 18 */ stw r0, 0x18(r30) +/* 802B79B4 002B3614 48 00 00 10 */ b lbl_802B79C4 +lbl_802B79B8: +/* 802B79B8 002B3618 80 1C 00 20 */ lwz r0, 0x20(r28) +/* 802B79BC 002B361C 80 7C 00 24 */ lwz r3, 0x24(r28) +/* 802B79C0 002B3620 90 03 00 04 */ stw r0, 4(r3) +lbl_802B79C4: +/* 802B79C4 002B3624 80 7E 00 14 */ lwz r3, 0x14(r30) +/* 802B79C8 002B3628 38 00 00 00 */ li r0, 0 +/* 802B79CC 002B362C 90 7C 00 24 */ stw r3, 0x24(r28) +/* 802B79D0 002B3630 80 7E 00 14 */ lwz r3, 0x14(r30) +/* 802B79D4 002B3634 93 E3 00 04 */ stw r31, 4(r3) +/* 802B79D8 002B3638 93 FE 00 14 */ stw r31, 0x14(r30) +/* 802B79DC 002B363C 90 1C 00 20 */ stw r0, 0x20(r28) +/* 802B79E0 002B3640 48 00 00 14 */ b lbl_802B79F4 +lbl_802B79E4: +/* 802B79E4 002B3644 3B FF 00 01 */ addi r31, r31, 1 +/* 802B79E8 002B3648 3B 9C 00 0C */ addi r28, r28, 0xc +/* 802B79EC 002B364C 2C 1F 00 06 */ cmpwi r31, 6 +/* 802B79F0 002B3650 41 80 FF 3C */ blt lbl_802B792C +lbl_802B79F4: +/* 802B79F4 002B3654 7F A3 EB 78 */ mr r3, r29 +/* 802B79F8 002B3658 4B FB 6D 8D */ bl OSRestoreInterrupts +/* 802B79FC 002B365C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7A00 002B3660 4B F0 F7 75 */ bl _restgpr_27 +/* 802B7A04 002B3664 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B7A08 002B3668 7C 08 03 A6 */ mtlr r0 +/* 802B7A0C 002B366C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B7A10 002B3670 4E 80 00 20 */ blr + +.global func_802B7A14 +func_802B7A14: +/* 802B7A14 002B3674 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B7A18 002B3678 7C 08 02 A6 */ mflr r0 +/* 802B7A1C 002B367C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B7A20 002B3680 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7A24 002B3684 4B F0 F7 05 */ bl _savegpr_27 +/* 802B7A28 002B3688 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B7A2C 002B368C 7C 7B 1B 78 */ mr r27, r3 +/* 802B7A30 002B3690 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B7A34 002B3694 4B FB 6D 29 */ bl OSDisableInterrupts +/* 802B7A38 002B3698 7C 7D 1B 78 */ mr r29, r3 +/* 802B7A3C 002B369C 7F DC F3 78 */ mr r28, r30 +/* 802B7A40 002B36A0 3B E0 00 00 */ li r31, 0 +lbl_802B7A44: +/* 802B7A44 002B36A4 80 7C 00 1C */ lwz r3, 0x1c(r28) +/* 802B7A48 002B36A8 38 9B 00 40 */ addi r4, r27, 0x40 +/* 802B7A4C 002B36AC 38 A0 00 06 */ li r5, 6 +/* 802B7A50 002B36B0 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7A54 002B36B4 4B F1 29 45 */ bl memcmp +/* 802B7A58 002B36B8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7A5C 002B36BC 40 82 00 A0 */ bne lbl_802B7AFC +/* 802B7A60 002B36C0 1F 9F 00 0C */ mulli r28, r31, 0xc +/* 802B7A64 002B36C4 80 7E 00 18 */ lwz r3, 0x18(r30) +/* 802B7A68 002B36C8 38 A0 00 06 */ li r5, 6 +/* 802B7A6C 002B36CC 80 63 00 00 */ lwz r3, 0(r3) +/* 802B7A70 002B36D0 7C 9E E2 14 */ add r4, r30, r28 +/* 802B7A74 002B36D4 3B E4 00 1C */ addi r31, r4, 0x1c +/* 802B7A78 002B36D8 80 84 00 1C */ lwz r4, 0x1c(r4) +/* 802B7A7C 002B36DC 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7A80 002B36E0 38 84 00 40 */ addi r4, r4, 0x40 +/* 802B7A84 002B36E4 4B F1 29 15 */ bl memcmp +/* 802B7A88 002B36E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7A8C 002B36EC 41 82 00 80 */ beq lbl_802B7B0C +/* 802B7A90 002B36F0 7F 9E E2 14 */ add r28, r30, r28 +/* 802B7A94 002B36F4 38 A0 00 06 */ li r5, 6 +/* 802B7A98 002B36F8 80 1C 00 20 */ lwz r0, 0x20(r28) +/* 802B7A9C 002B36FC 80 7C 00 24 */ lwz r3, 0x24(r28) +/* 802B7AA0 002B3700 90 03 00 04 */ stw r0, 4(r3) +/* 802B7AA4 002B3704 80 9E 00 14 */ lwz r4, 0x14(r30) +/* 802B7AA8 002B3708 80 7F 00 00 */ lwz r3, 0(r31) +/* 802B7AAC 002B370C 80 C4 00 00 */ lwz r6, 0(r4) +/* 802B7AB0 002B3710 38 83 00 40 */ addi r4, r3, 0x40 +/* 802B7AB4 002B3714 38 66 00 40 */ addi r3, r6, 0x40 +/* 802B7AB8 002B3718 4B F1 28 E1 */ bl memcmp +/* 802B7ABC 002B371C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7AC0 002B3720 40 82 00 10 */ bne lbl_802B7AD0 +/* 802B7AC4 002B3724 80 1C 00 24 */ lwz r0, 0x24(r28) +/* 802B7AC8 002B3728 90 1E 00 14 */ stw r0, 0x14(r30) +/* 802B7ACC 002B372C 48 00 00 10 */ b lbl_802B7ADC +lbl_802B7AD0: +/* 802B7AD0 002B3730 80 1C 00 24 */ lwz r0, 0x24(r28) +/* 802B7AD4 002B3734 80 7C 00 20 */ lwz r3, 0x20(r28) +/* 802B7AD8 002B3738 90 03 00 08 */ stw r0, 8(r3) +lbl_802B7ADC: +/* 802B7ADC 002B373C 80 7E 00 18 */ lwz r3, 0x18(r30) +/* 802B7AE0 002B3740 38 00 00 00 */ li r0, 0 +/* 802B7AE4 002B3744 90 7C 00 20 */ stw r3, 0x20(r28) +/* 802B7AE8 002B3748 80 7E 00 18 */ lwz r3, 0x18(r30) +/* 802B7AEC 002B374C 93 E3 00 08 */ stw r31, 8(r3) +/* 802B7AF0 002B3750 93 FE 00 18 */ stw r31, 0x18(r30) +/* 802B7AF4 002B3754 90 1C 00 24 */ stw r0, 0x24(r28) +/* 802B7AF8 002B3758 48 00 00 14 */ b lbl_802B7B0C +lbl_802B7AFC: +/* 802B7AFC 002B375C 3B FF 00 01 */ addi r31, r31, 1 +/* 802B7B00 002B3760 3B 9C 00 0C */ addi r28, r28, 0xc +/* 802B7B04 002B3764 2C 1F 00 06 */ cmpwi r31, 6 +/* 802B7B08 002B3768 41 80 FF 3C */ blt lbl_802B7A44 +lbl_802B7B0C: +/* 802B7B0C 002B376C 7F A3 EB 78 */ mr r3, r29 +/* 802B7B10 002B3770 4B FB 6C 75 */ bl OSRestoreInterrupts +/* 802B7B14 002B3774 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7B18 002B3778 4B F0 F6 5D */ bl _restgpr_27 +/* 802B7B1C 002B377C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B7B20 002B3780 7C 08 03 A6 */ mtlr r0 +/* 802B7B24 002B3784 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B7B28 002B3788 4E 80 00 20 */ blr + +.global func_802B7B2C +func_802B7B2C: +/* 802B7B2C 002B378C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B7B30 002B3790 7C 08 02 A6 */ mflr r0 +/* 802B7B34 002B3794 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B7B38 002B3798 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B7B3C 002B379C 4B F0 F5 D9 */ bl _savegpr_22 +/* 802B7B40 002B37A0 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B7B44 002B37A4 7C 79 1B 78 */ mr r25, r3 +/* 802B7B48 002B37A8 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B7B4C 002B37AC 4B FB 6C 11 */ bl OSDisableInterrupts +/* 802B7B50 002B37B0 7C 7B 1B 78 */ mr r27, r3 +/* 802B7B54 002B37B4 7F BF EB 78 */ mr r31, r29 +/* 802B7B58 002B37B8 3B DD 00 1C */ addi r30, r29, 0x1c +/* 802B7B5C 002B37BC 3B 80 00 00 */ li r28, 0 +lbl_802B7B60: +/* 802B7B60 002B37C0 80 7F 00 1C */ lwz r3, 0x1c(r31) +/* 802B7B64 002B37C4 38 99 00 40 */ addi r4, r25, 0x40 +/* 802B7B68 002B37C8 38 A0 00 06 */ li r5, 6 +/* 802B7B6C 002B37CC 3A E3 00 40 */ addi r23, r3, 0x40 +/* 802B7B70 002B37D0 7E E3 BB 78 */ mr r3, r23 +/* 802B7B74 002B37D4 4B F1 28 25 */ bl memcmp +/* 802B7B78 002B37D8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7B7C 002B37DC 40 82 00 D4 */ bne lbl_802B7C50 +/* 802B7B80 002B37E0 82 DD 00 14 */ lwz r22, 0x14(r29) +/* 802B7B84 002B37E4 7E DA B3 78 */ mr r26, r22 +/* 802B7B88 002B37E8 48 00 00 C0 */ b lbl_802B7C48 +lbl_802B7B8C: +/* 802B7B8C 002B37EC 83 1A 00 00 */ lwz r24, 0(r26) +/* 802B7B90 002B37F0 38 99 00 40 */ addi r4, r25, 0x40 +/* 802B7B94 002B37F4 38 A0 00 06 */ li r5, 6 +/* 802B7B98 002B37F8 38 78 00 40 */ addi r3, r24, 0x40 +/* 802B7B9C 002B37FC 4B F1 27 FD */ bl memcmp +/* 802B7BA0 002B3800 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7BA4 002B3804 41 82 00 A0 */ beq lbl_802B7C44 +/* 802B7BA8 002B3808 88 18 00 59 */ lbz r0, 0x59(r24) +/* 802B7BAC 002B380C 28 00 00 01 */ cmplwi r0, 1 +/* 802B7BB0 002B3810 41 81 00 94 */ bgt lbl_802B7C44 +/* 802B7BB4 002B3814 80 76 00 00 */ lwz r3, 0(r22) +/* 802B7BB8 002B3818 7E E4 BB 78 */ mr r4, r23 +/* 802B7BBC 002B381C 38 A0 00 06 */ li r5, 6 +/* 802B7BC0 002B3820 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7BC4 002B3824 4B F1 27 D5 */ bl memcmp +/* 802B7BC8 002B3828 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7BCC 002B382C 40 82 00 1C */ bne lbl_802B7BE8 +/* 802B7BD0 002B3830 80 16 00 08 */ lwz r0, 8(r22) +/* 802B7BD4 002B3834 7C 1A 00 40 */ cmplw r26, r0 +/* 802B7BD8 002B3838 41 82 00 78 */ beq lbl_802B7C50 +/* 802B7BDC 002B383C 80 1F 00 24 */ lwz r0, 0x24(r31) +/* 802B7BE0 002B3840 90 1D 00 14 */ stw r0, 0x14(r29) +/* 802B7BE4 002B3844 48 00 00 10 */ b lbl_802B7BF4 +lbl_802B7BE8: +/* 802B7BE8 002B3848 80 1F 00 24 */ lwz r0, 0x24(r31) +/* 802B7BEC 002B384C 80 7F 00 20 */ lwz r3, 0x20(r31) +/* 802B7BF0 002B3850 90 03 00 08 */ stw r0, 8(r3) +lbl_802B7BF4: +/* 802B7BF4 002B3854 80 1F 00 20 */ lwz r0, 0x20(r31) +/* 802B7BF8 002B3858 80 7F 00 24 */ lwz r3, 0x24(r31) +/* 802B7BFC 002B385C 90 03 00 04 */ stw r0, 4(r3) +/* 802B7C00 002B3860 80 1D 00 14 */ lwz r0, 0x14(r29) +/* 802B7C04 002B3864 7C 1A 00 40 */ cmplw r26, r0 +/* 802B7C08 002B3868 41 82 00 20 */ beq lbl_802B7C28 +/* 802B7C0C 002B386C 80 1A 00 04 */ lwz r0, 4(r26) +/* 802B7C10 002B3870 90 1F 00 20 */ stw r0, 0x20(r31) +/* 802B7C14 002B3874 93 5F 00 24 */ stw r26, 0x24(r31) +/* 802B7C18 002B3878 80 7A 00 04 */ lwz r3, 4(r26) +/* 802B7C1C 002B387C 93 C3 00 08 */ stw r30, 8(r3) +/* 802B7C20 002B3880 93 DA 00 04 */ stw r30, 4(r26) +/* 802B7C24 002B3884 48 00 00 2C */ b lbl_802B7C50 +lbl_802B7C28: +/* 802B7C28 002B3888 93 5F 00 20 */ stw r26, 0x20(r31) +/* 802B7C2C 002B388C 80 1A 00 08 */ lwz r0, 8(r26) +/* 802B7C30 002B3890 90 1F 00 24 */ stw r0, 0x24(r31) +/* 802B7C34 002B3894 80 7A 00 08 */ lwz r3, 8(r26) +/* 802B7C38 002B3898 93 C3 00 04 */ stw r30, 4(r3) +/* 802B7C3C 002B389C 93 DA 00 08 */ stw r30, 8(r26) +/* 802B7C40 002B38A0 48 00 00 10 */ b lbl_802B7C50 +lbl_802B7C44: +/* 802B7C44 002B38A4 83 5A 00 08 */ lwz r26, 8(r26) +lbl_802B7C48: +/* 802B7C48 002B38A8 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B7C4C 002B38AC 40 82 FF 40 */ bne lbl_802B7B8C +lbl_802B7C50: +/* 802B7C50 002B38B0 3B 9C 00 01 */ addi r28, r28, 1 +/* 802B7C54 002B38B4 3B DE 00 0C */ addi r30, r30, 0xc +/* 802B7C58 002B38B8 2C 1C 00 06 */ cmpwi r28, 6 +/* 802B7C5C 002B38BC 3B FF 00 0C */ addi r31, r31, 0xc +/* 802B7C60 002B38C0 41 80 FF 00 */ blt lbl_802B7B60 +/* 802B7C64 002B38C4 7F 63 DB 78 */ mr r3, r27 +/* 802B7C68 002B38C8 4B FB 6B 1D */ bl OSRestoreInterrupts +/* 802B7C6C 002B38CC 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B7C70 002B38D0 4B F0 F4 F1 */ bl _restgpr_22 +/* 802B7C74 002B38D4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B7C78 002B38D8 7C 08 03 A6 */ mtlr r0 +/* 802B7C7C 002B38DC 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B7C80 002B38E0 4E 80 00 20 */ blr + +.global func_802B7C84 +func_802B7C84: +/* 802B7C84 002B38E4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B7C88 002B38E8 7C 08 02 A6 */ mflr r0 +/* 802B7C8C 002B38EC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B7C90 002B38F0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7C94 002B38F4 4B F0 F4 95 */ bl _savegpr_27 +/* 802B7C98 002B38F8 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B7C9C 002B38FC 7C 7B 1B 78 */ mr r27, r3 +/* 802B7CA0 002B3900 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B7CA4 002B3904 4B FB 6A B9 */ bl OSDisableInterrupts +/* 802B7CA8 002B3908 7C 7D 1B 78 */ mr r29, r3 +/* 802B7CAC 002B390C 7F DC F3 78 */ mr r28, r30 +/* 802B7CB0 002B3910 3B E0 00 00 */ li r31, 0 +lbl_802B7CB4: +/* 802B7CB4 002B3914 80 7C 00 6C */ lwz r3, 0x6c(r28) +/* 802B7CB8 002B3918 38 9B 00 40 */ addi r4, r27, 0x40 +/* 802B7CBC 002B391C 38 A0 00 06 */ li r5, 6 +/* 802B7CC0 002B3920 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7CC4 002B3924 4B F1 26 D5 */ bl memcmp +/* 802B7CC8 002B3928 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7CCC 002B392C 40 82 00 A0 */ bne lbl_802B7D6C +/* 802B7CD0 002B3930 1F 9F 00 0C */ mulli r28, r31, 0xc +/* 802B7CD4 002B3934 80 7E 00 64 */ lwz r3, 0x64(r30) +/* 802B7CD8 002B3938 38 A0 00 06 */ li r5, 6 +/* 802B7CDC 002B393C 80 63 00 00 */ lwz r3, 0(r3) +/* 802B7CE0 002B3940 7C 9E E2 14 */ add r4, r30, r28 +/* 802B7CE4 002B3944 3B E4 00 6C */ addi r31, r4, 0x6c +/* 802B7CE8 002B3948 80 84 00 6C */ lwz r4, 0x6c(r4) +/* 802B7CEC 002B394C 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7CF0 002B3950 38 84 00 40 */ addi r4, r4, 0x40 +/* 802B7CF4 002B3954 4B F1 26 A5 */ bl memcmp +/* 802B7CF8 002B3958 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7CFC 002B395C 41 82 00 80 */ beq lbl_802B7D7C +/* 802B7D00 002B3960 7F 9E E2 14 */ add r28, r30, r28 +/* 802B7D04 002B3964 38 A0 00 06 */ li r5, 6 +/* 802B7D08 002B3968 80 1C 00 74 */ lwz r0, 0x74(r28) +/* 802B7D0C 002B396C 80 7C 00 70 */ lwz r3, 0x70(r28) +/* 802B7D10 002B3970 90 03 00 08 */ stw r0, 8(r3) +/* 802B7D14 002B3974 80 9E 00 68 */ lwz r4, 0x68(r30) +/* 802B7D18 002B3978 80 7F 00 00 */ lwz r3, 0(r31) +/* 802B7D1C 002B397C 80 C4 00 00 */ lwz r6, 0(r4) +/* 802B7D20 002B3980 38 83 00 40 */ addi r4, r3, 0x40 +/* 802B7D24 002B3984 38 66 00 40 */ addi r3, r6, 0x40 +/* 802B7D28 002B3988 4B F1 26 71 */ bl memcmp +/* 802B7D2C 002B398C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7D30 002B3990 40 82 00 10 */ bne lbl_802B7D40 +/* 802B7D34 002B3994 80 1C 00 70 */ lwz r0, 0x70(r28) +/* 802B7D38 002B3998 90 1E 00 68 */ stw r0, 0x68(r30) +/* 802B7D3C 002B399C 48 00 00 10 */ b lbl_802B7D4C +lbl_802B7D40: +/* 802B7D40 002B39A0 80 1C 00 70 */ lwz r0, 0x70(r28) +/* 802B7D44 002B39A4 80 7C 00 74 */ lwz r3, 0x74(r28) +/* 802B7D48 002B39A8 90 03 00 04 */ stw r0, 4(r3) +lbl_802B7D4C: +/* 802B7D4C 002B39AC 80 7E 00 64 */ lwz r3, 0x64(r30) +/* 802B7D50 002B39B0 38 00 00 00 */ li r0, 0 +/* 802B7D54 002B39B4 90 7C 00 74 */ stw r3, 0x74(r28) +/* 802B7D58 002B39B8 80 7E 00 64 */ lwz r3, 0x64(r30) +/* 802B7D5C 002B39BC 93 E3 00 04 */ stw r31, 4(r3) +/* 802B7D60 002B39C0 93 FE 00 64 */ stw r31, 0x64(r30) +/* 802B7D64 002B39C4 90 1C 00 70 */ stw r0, 0x70(r28) +/* 802B7D68 002B39C8 48 00 00 14 */ b lbl_802B7D7C +lbl_802B7D6C: +/* 802B7D6C 002B39CC 3B FF 00 01 */ addi r31, r31, 1 +/* 802B7D70 002B39D0 3B 9C 00 0C */ addi r28, r28, 0xc +/* 802B7D74 002B39D4 2C 1F 00 0A */ cmpwi r31, 0xa +/* 802B7D78 002B39D8 41 80 FF 3C */ blt lbl_802B7CB4 +lbl_802B7D7C: +/* 802B7D7C 002B39DC 7F A3 EB 78 */ mr r3, r29 +/* 802B7D80 002B39E0 4B FB 6A 05 */ bl OSRestoreInterrupts +/* 802B7D84 002B39E4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7D88 002B39E8 4B F0 F3 ED */ bl _restgpr_27 +/* 802B7D8C 002B39EC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B7D90 002B39F0 7C 08 03 A6 */ mtlr r0 +/* 802B7D94 002B39F4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B7D98 002B39F8 4E 80 00 20 */ blr + +.global func_802B7D9C +func_802B7D9C: +/* 802B7D9C 002B39FC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B7DA0 002B3A00 7C 08 02 A6 */ mflr r0 +/* 802B7DA4 002B3A04 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B7DA8 002B3A08 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7DAC 002B3A0C 4B F0 F3 7D */ bl _savegpr_27 +/* 802B7DB0 002B3A10 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B7DB4 002B3A14 7C 7B 1B 78 */ mr r27, r3 +/* 802B7DB8 002B3A18 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B7DBC 002B3A1C 4B FB 69 A1 */ bl OSDisableInterrupts +/* 802B7DC0 002B3A20 7C 7D 1B 78 */ mr r29, r3 +/* 802B7DC4 002B3A24 7F DC F3 78 */ mr r28, r30 +/* 802B7DC8 002B3A28 3B E0 00 00 */ li r31, 0 +lbl_802B7DCC: +/* 802B7DCC 002B3A2C 80 7C 00 6C */ lwz r3, 0x6c(r28) +/* 802B7DD0 002B3A30 38 9B 00 40 */ addi r4, r27, 0x40 +/* 802B7DD4 002B3A34 38 A0 00 06 */ li r5, 6 +/* 802B7DD8 002B3A38 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7DDC 002B3A3C 4B F1 25 BD */ bl memcmp +/* 802B7DE0 002B3A40 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7DE4 002B3A44 40 82 00 A0 */ bne lbl_802B7E84 +/* 802B7DE8 002B3A48 1F 9F 00 0C */ mulli r28, r31, 0xc +/* 802B7DEC 002B3A4C 80 7E 00 68 */ lwz r3, 0x68(r30) +/* 802B7DF0 002B3A50 38 A0 00 06 */ li r5, 6 +/* 802B7DF4 002B3A54 80 63 00 00 */ lwz r3, 0(r3) +/* 802B7DF8 002B3A58 7C 9E E2 14 */ add r4, r30, r28 +/* 802B7DFC 002B3A5C 3B E4 00 6C */ addi r31, r4, 0x6c +/* 802B7E00 002B3A60 80 84 00 6C */ lwz r4, 0x6c(r4) +/* 802B7E04 002B3A64 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7E08 002B3A68 38 84 00 40 */ addi r4, r4, 0x40 +/* 802B7E0C 002B3A6C 4B F1 25 8D */ bl memcmp +/* 802B7E10 002B3A70 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7E14 002B3A74 41 82 00 80 */ beq lbl_802B7E94 +/* 802B7E18 002B3A78 7F 9E E2 14 */ add r28, r30, r28 +/* 802B7E1C 002B3A7C 38 A0 00 06 */ li r5, 6 +/* 802B7E20 002B3A80 80 1C 00 70 */ lwz r0, 0x70(r28) +/* 802B7E24 002B3A84 80 7C 00 74 */ lwz r3, 0x74(r28) +/* 802B7E28 002B3A88 90 03 00 04 */ stw r0, 4(r3) +/* 802B7E2C 002B3A8C 80 9E 00 64 */ lwz r4, 0x64(r30) +/* 802B7E30 002B3A90 80 7F 00 00 */ lwz r3, 0(r31) +/* 802B7E34 002B3A94 80 C4 00 00 */ lwz r6, 0(r4) +/* 802B7E38 002B3A98 38 83 00 40 */ addi r4, r3, 0x40 +/* 802B7E3C 002B3A9C 38 66 00 40 */ addi r3, r6, 0x40 +/* 802B7E40 002B3AA0 4B F1 25 59 */ bl memcmp +/* 802B7E44 002B3AA4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7E48 002B3AA8 40 82 00 10 */ bne lbl_802B7E58 +/* 802B7E4C 002B3AAC 80 1C 00 74 */ lwz r0, 0x74(r28) +/* 802B7E50 002B3AB0 90 1E 00 64 */ stw r0, 0x64(r30) +/* 802B7E54 002B3AB4 48 00 00 10 */ b lbl_802B7E64 +lbl_802B7E58: +/* 802B7E58 002B3AB8 80 1C 00 74 */ lwz r0, 0x74(r28) +/* 802B7E5C 002B3ABC 80 7C 00 70 */ lwz r3, 0x70(r28) +/* 802B7E60 002B3AC0 90 03 00 08 */ stw r0, 8(r3) +lbl_802B7E64: +/* 802B7E64 002B3AC4 80 7E 00 68 */ lwz r3, 0x68(r30) +/* 802B7E68 002B3AC8 38 00 00 00 */ li r0, 0 +/* 802B7E6C 002B3ACC 90 7C 00 70 */ stw r3, 0x70(r28) +/* 802B7E70 002B3AD0 80 7E 00 68 */ lwz r3, 0x68(r30) +/* 802B7E74 002B3AD4 93 E3 00 08 */ stw r31, 8(r3) +/* 802B7E78 002B3AD8 93 FE 00 68 */ stw r31, 0x68(r30) +/* 802B7E7C 002B3ADC 90 1C 00 74 */ stw r0, 0x74(r28) +/* 802B7E80 002B3AE0 48 00 00 14 */ b lbl_802B7E94 +lbl_802B7E84: +/* 802B7E84 002B3AE4 3B FF 00 01 */ addi r31, r31, 1 +/* 802B7E88 002B3AE8 3B 9C 00 0C */ addi r28, r28, 0xc +/* 802B7E8C 002B3AEC 2C 1F 00 0A */ cmpwi r31, 0xa +/* 802B7E90 002B3AF0 41 80 FF 3C */ blt lbl_802B7DCC +lbl_802B7E94: +/* 802B7E94 002B3AF4 7F A3 EB 78 */ mr r3, r29 +/* 802B7E98 002B3AF8 4B FB 68 ED */ bl OSRestoreInterrupts +/* 802B7E9C 002B3AFC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B7EA0 002B3B00 4B F0 F2 D5 */ bl _restgpr_27 +/* 802B7EA4 002B3B04 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B7EA8 002B3B08 7C 08 03 A6 */ mtlr r0 +/* 802B7EAC 002B3B0C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B7EB0 002B3B10 4E 80 00 20 */ blr + +.global func_802B7EB4 +func_802B7EB4: +/* 802B7EB4 002B3B14 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B7EB8 002B3B18 7C 08 02 A6 */ mflr r0 +/* 802B7EBC 002B3B1C 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B7EC0 002B3B20 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B7EC4 002B3B24 4B F0 F2 51 */ bl _savegpr_22 +/* 802B7EC8 002B3B28 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B7ECC 002B3B2C 7C 79 1B 78 */ mr r25, r3 +/* 802B7ED0 002B3B30 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B7ED4 002B3B34 4B FB 68 89 */ bl OSDisableInterrupts +/* 802B7ED8 002B3B38 7C 7B 1B 78 */ mr r27, r3 +/* 802B7EDC 002B3B3C 7F BF EB 78 */ mr r31, r29 +/* 802B7EE0 002B3B40 3B DD 00 6C */ addi r30, r29, 0x6c +/* 802B7EE4 002B3B44 3B 80 00 00 */ li r28, 0 +lbl_802B7EE8: +/* 802B7EE8 002B3B48 80 7F 00 6C */ lwz r3, 0x6c(r31) +/* 802B7EEC 002B3B4C 38 99 00 40 */ addi r4, r25, 0x40 +/* 802B7EF0 002B3B50 38 A0 00 06 */ li r5, 6 +/* 802B7EF4 002B3B54 3A E3 00 40 */ addi r23, r3, 0x40 +/* 802B7EF8 002B3B58 7E E3 BB 78 */ mr r3, r23 +/* 802B7EFC 002B3B5C 4B F1 24 9D */ bl memcmp +/* 802B7F00 002B3B60 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7F04 002B3B64 40 82 00 D4 */ bne lbl_802B7FD8 +/* 802B7F08 002B3B68 82 DD 00 64 */ lwz r22, 0x64(r29) +/* 802B7F0C 002B3B6C 7E DA B3 78 */ mr r26, r22 +/* 802B7F10 002B3B70 48 00 00 C0 */ b lbl_802B7FD0 +lbl_802B7F14: +/* 802B7F14 002B3B74 83 1A 00 00 */ lwz r24, 0(r26) +/* 802B7F18 002B3B78 38 99 00 40 */ addi r4, r25, 0x40 +/* 802B7F1C 002B3B7C 38 A0 00 06 */ li r5, 6 +/* 802B7F20 002B3B80 38 78 00 40 */ addi r3, r24, 0x40 +/* 802B7F24 002B3B84 4B F1 24 75 */ bl memcmp +/* 802B7F28 002B3B88 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7F2C 002B3B8C 41 82 00 A0 */ beq lbl_802B7FCC +/* 802B7F30 002B3B90 88 18 00 59 */ lbz r0, 0x59(r24) +/* 802B7F34 002B3B94 28 00 00 01 */ cmplwi r0, 1 +/* 802B7F38 002B3B98 41 81 00 94 */ bgt lbl_802B7FCC +/* 802B7F3C 002B3B9C 80 76 00 00 */ lwz r3, 0(r22) +/* 802B7F40 002B3BA0 7E E4 BB 78 */ mr r4, r23 +/* 802B7F44 002B3BA4 38 A0 00 06 */ li r5, 6 +/* 802B7F48 002B3BA8 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B7F4C 002B3BAC 4B F1 24 4D */ bl memcmp +/* 802B7F50 002B3BB0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B7F54 002B3BB4 40 82 00 1C */ bne lbl_802B7F70 +/* 802B7F58 002B3BB8 80 16 00 08 */ lwz r0, 8(r22) +/* 802B7F5C 002B3BBC 7C 1A 00 40 */ cmplw r26, r0 +/* 802B7F60 002B3BC0 41 82 00 78 */ beq lbl_802B7FD8 +/* 802B7F64 002B3BC4 80 1F 00 74 */ lwz r0, 0x74(r31) +/* 802B7F68 002B3BC8 90 1D 00 64 */ stw r0, 0x64(r29) +/* 802B7F6C 002B3BCC 48 00 00 10 */ b lbl_802B7F7C +lbl_802B7F70: +/* 802B7F70 002B3BD0 80 1F 00 74 */ lwz r0, 0x74(r31) +/* 802B7F74 002B3BD4 80 7F 00 70 */ lwz r3, 0x70(r31) +/* 802B7F78 002B3BD8 90 03 00 08 */ stw r0, 8(r3) +lbl_802B7F7C: +/* 802B7F7C 002B3BDC 80 1F 00 70 */ lwz r0, 0x70(r31) +/* 802B7F80 002B3BE0 80 7F 00 74 */ lwz r3, 0x74(r31) +/* 802B7F84 002B3BE4 90 03 00 04 */ stw r0, 4(r3) +/* 802B7F88 002B3BE8 80 1D 00 64 */ lwz r0, 0x64(r29) +/* 802B7F8C 002B3BEC 7C 1A 00 40 */ cmplw r26, r0 +/* 802B7F90 002B3BF0 41 82 00 20 */ beq lbl_802B7FB0 +/* 802B7F94 002B3BF4 80 1A 00 04 */ lwz r0, 4(r26) +/* 802B7F98 002B3BF8 90 1F 00 70 */ stw r0, 0x70(r31) +/* 802B7F9C 002B3BFC 93 5F 00 74 */ stw r26, 0x74(r31) +/* 802B7FA0 002B3C00 80 7A 00 04 */ lwz r3, 4(r26) +/* 802B7FA4 002B3C04 93 C3 00 08 */ stw r30, 8(r3) +/* 802B7FA8 002B3C08 93 DA 00 04 */ stw r30, 4(r26) +/* 802B7FAC 002B3C0C 48 00 00 2C */ b lbl_802B7FD8 +lbl_802B7FB0: +/* 802B7FB0 002B3C10 93 5F 00 70 */ stw r26, 0x70(r31) +/* 802B7FB4 002B3C14 80 1A 00 08 */ lwz r0, 8(r26) +/* 802B7FB8 002B3C18 90 1F 00 74 */ stw r0, 0x74(r31) +/* 802B7FBC 002B3C1C 80 7A 00 08 */ lwz r3, 8(r26) +/* 802B7FC0 002B3C20 93 C3 00 04 */ stw r30, 4(r3) +/* 802B7FC4 002B3C24 93 DA 00 08 */ stw r30, 8(r26) +/* 802B7FC8 002B3C28 48 00 00 10 */ b lbl_802B7FD8 +lbl_802B7FCC: +/* 802B7FCC 002B3C2C 83 5A 00 08 */ lwz r26, 8(r26) +lbl_802B7FD0: +/* 802B7FD0 002B3C30 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B7FD4 002B3C34 40 82 FF 40 */ bne lbl_802B7F14 +lbl_802B7FD8: +/* 802B7FD8 002B3C38 3B 9C 00 01 */ addi r28, r28, 1 +/* 802B7FDC 002B3C3C 3B DE 00 0C */ addi r30, r30, 0xc +/* 802B7FE0 002B3C40 2C 1C 00 0A */ cmpwi r28, 0xa +/* 802B7FE4 002B3C44 3B FF 00 0C */ addi r31, r31, 0xc +/* 802B7FE8 002B3C48 41 80 FF 00 */ blt lbl_802B7EE8 +/* 802B7FEC 002B3C4C 7F 63 DB 78 */ mr r3, r27 +/* 802B7FF0 002B3C50 4B FB 67 95 */ bl OSRestoreInterrupts +/* 802B7FF4 002B3C54 39 61 00 30 */ addi r11, r1, 0x30 +/* 802B7FF8 002B3C58 4B F0 F1 69 */ bl _restgpr_22 +/* 802B7FFC 002B3C5C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B8000 002B3C60 7C 08 03 A6 */ mtlr r0 +/* 802B8004 002B3C64 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B8008 002B3C68 4E 80 00 20 */ blr +lbl_802B800C: +/* 802B800C 002B3C6C 2C 03 00 00 */ cmpwi r3, 0 +/* 802B8010 002B3C70 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B8014 002B3C74 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l +/* 802B8018 002B3C78 40 82 00 14 */ bne lbl_802B802C +/* 802B801C 002B3C7C 38 00 00 00 */ li r0, 0 +/* 802B8020 002B3C80 90 0D AE A8 */ stw r0, lbl_80640168-_SDA_BASE_(r13) +/* 802B8024 002B3C84 98 03 07 08 */ stb r0, 0x708(r3) +/* 802B8028 002B3C88 4E 80 00 20 */ blr +lbl_802B802C: +/* 802B802C 002B3C8C 3C 60 80 44 */ lis r3, lbl_8043E7B4@ha +/* 802B8030 002B3C90 38 63 E7 B4 */ addi r3, r3, lbl_8043E7B4@l +/* 802B8034 002B3C94 4C C6 31 82 */ crclr 6 +/* 802B8038 002B3C98 48 00 15 44 */ b func_802B957C +/* 802B803C 002B3C9C 4E 80 00 20 */ blr +lbl_802B8040: +/* 802B8040 002B3CA0 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 802B8044 002B3CA4 7C 08 02 A6 */ mflr r0 +/* 802B8048 002B3CA8 90 01 00 64 */ stw r0, 0x64(r1) +/* 802B804C 002B3CAC 39 61 00 60 */ addi r11, r1, 0x60 +/* 802B8050 002B3CB0 4B F0 F0 D1 */ bl _savegpr_25 +/* 802B8054 002B3CB4 3F C0 80 44 */ lis r30, lbl_8043E048@ha +/* 802B8058 002B3CB8 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B805C 002B3CBC 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B8060 002B3CC0 7C 79 1B 78 */ mr r25, r3 +/* 802B8064 002B3CC4 3B DE E0 48 */ addi r30, r30, lbl_8043E048@l +/* 802B8068 002B3CC8 7C 9C 23 78 */ mr r28, r4 +/* 802B806C 002B3CCC 3B BF 00 00 */ addi r29, r31, 0 +/* 802B8070 002B3CD0 38 7E 07 8C */ addi r3, r30, 0x78c +/* 802B8074 002B3CD4 4C C6 31 82 */ crclr 6 +/* 802B8078 002B3CD8 48 00 15 05 */ bl func_802B957C +/* 802B807C 002B3CDC 28 19 00 08 */ cmplwi r25, 8 +/* 802B8080 002B3CE0 41 81 04 FC */ bgt lbl_802B857C +/* 802B8084 002B3CE4 3C 60 80 44 */ lis r3, lbl_8043EA30@ha +/* 802B8088 002B3CE8 57 20 10 3A */ slwi r0, r25, 2 +/* 802B808C 002B3CEC 38 63 EA 30 */ addi r3, r3, lbl_8043EA30@l +/* 802B8090 002B3CF0 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802B8094 002B3CF4 7C 69 03 A6 */ mtctr r3 +/* 802B8098 002B3CF8 4E 80 04 20 */ bctr +/* 802B809C 002B3CFC 7F 84 E3 78 */ mr r4, r28 +/* 802B80A0 002B3D00 38 7D 07 02 */ addi r3, r29, 0x702 +/* 802B80A4 002B3D04 38 A0 00 06 */ li r5, 6 +/* 802B80A8 002B3D08 4B D4 BF 59 */ bl memcpy +/* 802B80AC 002B3D0C 38 7E 07 A8 */ addi r3, r30, 0x7a8 +/* 802B80B0 002B3D10 4C C6 31 82 */ crclr 6 +/* 802B80B4 002B3D14 48 00 14 C9 */ bl func_802B957C +/* 802B80B8 002B3D18 88 9D 07 02 */ lbz r4, 0x702(r29) +/* 802B80BC 002B3D1C 38 7E 07 B8 */ addi r3, r30, 0x7b8 +/* 802B80C0 002B3D20 88 BD 07 03 */ lbz r5, 0x703(r29) +/* 802B80C4 002B3D24 88 DD 07 04 */ lbz r6, 0x704(r29) +/* 802B80C8 002B3D28 88 FD 07 05 */ lbz r7, 0x705(r29) +/* 802B80CC 002B3D2C 89 1D 07 06 */ lbz r8, 0x706(r29) +/* 802B80D0 002B3D30 89 3D 07 07 */ lbz r9, 0x707(r29) +/* 802B80D4 002B3D34 4C C6 31 82 */ crclr 6 +/* 802B80D8 002B3D38 48 00 14 A5 */ bl func_802B957C +/* 802B80DC 002B3D3C 3C 80 80 2C */ lis r4, lbl_802B9030@ha +/* 802B80E0 002B3D40 38 60 00 12 */ li r3, 0x12 +/* 802B80E4 002B3D44 38 84 90 30 */ addi r4, r4, lbl_802B9030@l +/* 802B80E8 002B3D48 48 00 A6 75 */ bl func_802C275C +/* 802B80EC 002B3D4C 38 00 00 01 */ li r0, 1 +/* 802B80F0 002B3D50 38 7D 07 10 */ addi r3, r29, 0x710 +/* 802B80F4 002B3D54 98 1D 00 0F */ stb r0, 0xf(r29) +/* 802B80F8 002B3D58 4B FB 16 2D */ bl OSCreateAlarm +/* 802B80FC 002B3D5C 4B FB A6 BD */ bl OSGetTime +/* 802B8100 002B3D60 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 802B8104 002B3D64 3D 20 80 2B */ lis r9, lbl_802B6048@ha +/* 802B8108 002B3D68 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 802B810C 002B3D6C 3C C0 10 62 */ lis r6, 0x10624DD3@ha +/* 802B8110 002B3D70 7C 65 1B 78 */ mr r5, r3 +/* 802B8114 002B3D74 39 29 60 48 */ addi r9, r9, lbl_802B6048@l +/* 802B8118 002B3D78 38 66 4D D3 */ addi r3, r6, 0x10624DD3@l +/* 802B811C 002B3D7C 54 00 F0 BE */ srwi r0, r0, 2 +/* 802B8120 002B3D80 7C 03 00 16 */ mulhwu r0, r3, r0 +/* 802B8124 002B3D84 7C 86 23 78 */ mr r6, r4 +/* 802B8128 002B3D88 38 7D 07 10 */ addi r3, r29, 0x710 +/* 802B812C 002B3D8C 38 E0 00 00 */ li r7, 0 +/* 802B8130 002B3D90 54 00 D1 BE */ srwi r0, r0, 6 +/* 802B8134 002B3D94 1D 00 00 0A */ mulli r8, r0, 0xa +/* 802B8138 002B3D98 4B FB 18 BD */ bl OSSetPeriodicAlarm +/* 802B813C 002B3D9C 38 00 00 02 */ li r0, 2 +/* 802B8140 002B3DA0 98 1D 07 08 */ stb r0, 0x708(r29) +/* 802B8144 002B3DA4 48 00 04 38 */ b lbl_802B857C +/* 802B8148 002B3DA8 38 7E 07 E0 */ addi r3, r30, 0x7e0 +/* 802B814C 002B3DAC 4C C6 31 82 */ crclr 6 +/* 802B8150 002B3DB0 48 00 14 2D */ bl func_802B957C +/* 802B8154 002B3DB4 3C 60 80 2C */ lis r3, lbl_802B800C@ha +/* 802B8158 002B3DB8 38 63 80 0C */ addi r3, r3, lbl_802B800C@l +/* 802B815C 002B3DBC 48 00 4F 51 */ bl func_802BD0AC +/* 802B8160 002B3DC0 48 00 04 1C */ b lbl_802B857C +/* 802B8164 002B3DC4 38 7E 07 F4 */ addi r3, r30, 0x7f4 +/* 802B8168 002B3DC8 4C C6 31 82 */ crclr 6 +/* 802B816C 002B3DCC 48 00 14 11 */ bl func_802B957C +/* 802B8170 002B3DD0 88 1D 06 E9 */ lbz r0, 0x6e9(r29) +/* 802B8174 002B3DD4 2C 00 00 00 */ cmpwi r0, 0 +/* 802B8178 002B3DD8 40 82 00 0C */ bne lbl_802B8184 +/* 802B817C 002B3DDC 3B BD 07 02 */ addi r29, r29, 0x702 +/* 802B8180 002B3DE0 48 00 00 08 */ b lbl_802B8188 +lbl_802B8184: +/* 802B8184 002B3DE4 7F 9D E3 78 */ mr r29, r28 +lbl_802B8188: +/* 802B8188 002B3DE8 3B 7F 0C E8 */ addi r27, r31, 0xce8 +/* 802B818C 002B3DEC 88 1B 00 5B */ lbz r0, 0x5b(r27) +/* 802B8190 002B3DF0 28 00 00 04 */ cmplwi r0, 4 +/* 802B8194 002B3DF4 40 82 00 14 */ bne lbl_802B81A8 +/* 802B8198 002B3DF8 38 7B 00 40 */ addi r3, r27, 0x40 +/* 802B819C 002B3DFC 4B FF F4 85 */ bl func_802B7620 +/* 802B81A0 002B3E00 38 7B 00 40 */ addi r3, r27, 0x40 +/* 802B81A4 002B3E04 48 00 CC F1 */ bl func_802C4E94 +lbl_802B81A8: +/* 802B81A8 002B3E08 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B81AC 002B3E0C 38 00 00 01 */ li r0, 1 +/* 802B81B0 002B3E10 98 03 00 5A */ stb r0, 0x5a(r3) +/* 802B81B4 002B3E14 4B FB 65 A9 */ bl OSDisableInterrupts +/* 802B81B8 002B3E18 88 1D 00 05 */ lbz r0, 5(r29) +/* 802B81BC 002B3E1C 98 01 00 30 */ stb r0, 0x30(r1) +/* 802B81C0 002B3E20 88 1D 00 04 */ lbz r0, 4(r29) +/* 802B81C4 002B3E24 98 01 00 31 */ stb r0, 0x31(r1) +/* 802B81C8 002B3E28 88 1D 00 03 */ lbz r0, 3(r29) +/* 802B81CC 002B3E2C 98 01 00 32 */ stb r0, 0x32(r1) +/* 802B81D0 002B3E30 88 1D 00 02 */ lbz r0, 2(r29) +/* 802B81D4 002B3E34 98 01 00 33 */ stb r0, 0x33(r1) +/* 802B81D8 002B3E38 88 1D 00 01 */ lbz r0, 1(r29) +/* 802B81DC 002B3E3C 98 01 00 34 */ stb r0, 0x34(r1) +/* 802B81E0 002B3E40 88 1D 00 00 */ lbz r0, 0(r29) +/* 802B81E4 002B3E44 98 01 00 35 */ stb r0, 0x35(r1) +/* 802B81E8 002B3E48 4B FB 65 9D */ bl OSRestoreInterrupts +/* 802B81EC 002B3E4C 7F 83 E3 78 */ mr r3, r28 +/* 802B81F0 002B3E50 38 C1 00 30 */ addi r6, r1, 0x30 +/* 802B81F4 002B3E54 38 80 00 01 */ li r4, 1 +/* 802B81F8 002B3E58 38 A0 00 06 */ li r5, 6 +/* 802B81FC 002B3E5C 48 00 80 A1 */ bl func_802C029C +/* 802B8200 002B3E60 48 00 03 7C */ b lbl_802B857C +/* 802B8204 002B3E64 38 7E 08 08 */ addi r3, r30, 0x808 +/* 802B8208 002B3E68 4C C6 31 82 */ crclr 6 +/* 802B820C 002B3E6C 48 00 13 71 */ bl func_802B957C +/* 802B8210 002B3E70 88 9C 00 00 */ lbz r4, 0(r28) +/* 802B8214 002B3E74 38 7E 08 20 */ addi r3, r30, 0x820 +/* 802B8218 002B3E78 88 BC 00 01 */ lbz r5, 1(r28) +/* 802B821C 002B3E7C 88 DC 00 02 */ lbz r6, 2(r28) +/* 802B8220 002B3E80 88 FC 00 03 */ lbz r7, 3(r28) +/* 802B8224 002B3E84 89 1C 00 04 */ lbz r8, 4(r28) +/* 802B8228 002B3E88 89 3C 00 05 */ lbz r9, 5(r28) +/* 802B822C 002B3E8C 4C C6 31 82 */ crclr 6 +/* 802B8230 002B3E90 48 00 13 4D */ bl func_802B957C +/* 802B8234 002B3E94 88 1C 01 06 */ lbz r0, 0x106(r28) +/* 802B8238 002B3E98 38 7E 08 48 */ addi r3, r30, 0x848 +/* 802B823C 002B3E9C 90 01 00 08 */ stw r0, 8(r1) +/* 802B8240 002B3EA0 88 1C 01 07 */ lbz r0, 0x107(r28) +/* 802B8244 002B3EA4 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B8248 002B3EA8 88 1C 01 08 */ lbz r0, 0x108(r28) +/* 802B824C 002B3EAC 90 01 00 10 */ stw r0, 0x10(r1) +/* 802B8250 002B3EB0 88 1C 01 09 */ lbz r0, 0x109(r28) +/* 802B8254 002B3EB4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B8258 002B3EB8 88 1C 01 0A */ lbz r0, 0x10a(r28) +/* 802B825C 002B3EBC 90 01 00 18 */ stw r0, 0x18(r1) +/* 802B8260 002B3EC0 88 1C 01 0B */ lbz r0, 0x10b(r28) +/* 802B8264 002B3EC4 90 01 00 1C */ stw r0, 0x1c(r1) +/* 802B8268 002B3EC8 88 1C 01 0C */ lbz r0, 0x10c(r28) +/* 802B826C 002B3ECC 90 01 00 20 */ stw r0, 0x20(r1) +/* 802B8270 002B3ED0 88 1C 01 0D */ lbz r0, 0x10d(r28) +/* 802B8274 002B3ED4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B8278 002B3ED8 88 1C 01 0E */ lbz r0, 0x10e(r28) +/* 802B827C 002B3EDC 90 01 00 28 */ stw r0, 0x28(r1) +/* 802B8280 002B3EE0 88 9C 00 FF */ lbz r4, 0xff(r28) +/* 802B8284 002B3EE4 88 BC 01 00 */ lbz r5, 0x100(r28) +/* 802B8288 002B3EE8 88 DC 01 01 */ lbz r6, 0x101(r28) +/* 802B828C 002B3EEC 88 FC 01 02 */ lbz r7, 0x102(r28) +/* 802B8290 002B3EF0 89 1C 01 03 */ lbz r8, 0x103(r28) +/* 802B8294 002B3EF4 89 3C 01 04 */ lbz r9, 0x104(r28) +/* 802B8298 002B3EF8 89 5C 01 05 */ lbz r10, 0x105(r28) +/* 802B829C 002B3EFC 4C C6 31 82 */ crclr 6 +/* 802B82A0 002B3F00 48 00 12 DD */ bl func_802B957C +/* 802B82A4 002B3F04 88 9C 01 0F */ lbz r4, 0x10f(r28) +/* 802B82A8 002B3F08 38 7E 08 A4 */ addi r3, r30, 0x8a4 +/* 802B82AC 002B3F0C 4C C6 31 82 */ crclr 6 +/* 802B82B0 002B3F10 48 00 12 CD */ bl func_802B957C +/* 802B82B4 002B3F14 88 1C 01 0F */ lbz r0, 0x10f(r28) +/* 802B82B8 002B3F18 2C 00 00 00 */ cmpwi r0, 0 +/* 802B82BC 002B3F1C 41 82 02 C0 */ beq lbl_802B857C +/* 802B82C0 002B3F20 7F 83 E3 78 */ mr r3, r28 +/* 802B82C4 002B3F24 4B FF F4 A1 */ bl func_802B7764 +/* 802B82C8 002B3F28 3B 7F 0C E8 */ addi r27, r31, 0xce8 +/* 802B82CC 002B3F2C 7C 7A 1B 78 */ mr r26, r3 +/* 802B82D0 002B3F30 7F 84 E3 78 */ mr r4, r28 +/* 802B82D4 002B3F34 38 A0 00 06 */ li r5, 6 +/* 802B82D8 002B3F38 38 7B 00 40 */ addi r3, r27, 0x40 +/* 802B82DC 002B3F3C 4B F1 20 BD */ bl memcmp +/* 802B82E0 002B3F40 2C 03 00 00 */ cmpwi r3, 0 +/* 802B82E4 002B3F44 40 82 00 18 */ bne lbl_802B82FC +/* 802B82E8 002B3F48 38 00 00 0C */ li r0, 0xc +/* 802B82EC 002B3F4C 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B82F0 002B3F50 98 1B 00 59 */ stb r0, 0x59(r27) +/* 802B82F4 002B3F54 40 82 00 08 */ bne lbl_802B82FC +/* 802B82F8 002B3F58 7F 7A DB 78 */ mr r26, r27 +lbl_802B82FC: +/* 802B82FC 002B3F5C 38 7A 00 46 */ addi r3, r26, 0x46 +/* 802B8300 002B3F60 38 9C 00 FF */ addi r4, r28, 0xff +/* 802B8304 002B3F64 38 A0 00 10 */ li r5, 0x10 +/* 802B8308 002B3F68 4B D4 BC F9 */ bl memcpy +/* 802B830C 002B3F6C 48 00 02 70 */ b lbl_802B857C +/* 802B8310 002B3F70 38 7E 08 B4 */ addi r3, r30, 0x8b4 +/* 802B8314 002B3F74 4C C6 31 82 */ crclr 6 +/* 802B8318 002B3F78 48 00 12 65 */ bl func_802B957C +/* 802B831C 002B3F7C 48 00 02 60 */ b lbl_802B857C +/* 802B8320 002B3F80 38 7E 08 CC */ addi r3, r30, 0x8cc +/* 802B8324 002B3F84 4C C6 31 82 */ crclr 6 +/* 802B8328 002B3F88 48 00 12 55 */ bl func_802B957C +/* 802B832C 002B3F8C 88 9C 00 00 */ lbz r4, 0(r28) +/* 802B8330 002B3F90 38 7E 08 E0 */ addi r3, r30, 0x8e0 +/* 802B8334 002B3F94 88 BC 00 01 */ lbz r5, 1(r28) +/* 802B8338 002B3F98 88 DC 00 02 */ lbz r6, 2(r28) +/* 802B833C 002B3F9C 88 FC 00 03 */ lbz r7, 3(r28) +/* 802B8340 002B3FA0 89 1C 00 04 */ lbz r8, 4(r28) +/* 802B8344 002B3FA4 89 3C 00 05 */ lbz r9, 5(r28) +/* 802B8348 002B3FA8 4C C6 31 82 */ crclr 6 +/* 802B834C 002B3FAC 48 00 12 31 */ bl func_802B957C +/* 802B8350 002B3FB0 7F 83 E3 78 */ mr r3, r28 +/* 802B8354 002B3FB4 4B FF F4 11 */ bl func_802B7764 +/* 802B8358 002B3FB8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B835C 002B3FBC 7C 7A 1B 78 */ mr r26, r3 +/* 802B8360 002B3FC0 40 82 00 24 */ bne lbl_802B8384 +/* 802B8364 002B3FC4 3B 7F 0C E8 */ addi r27, r31, 0xce8 +/* 802B8368 002B3FC8 7F 83 E3 78 */ mr r3, r28 +/* 802B836C 002B3FCC 38 9B 00 40 */ addi r4, r27, 0x40 +/* 802B8370 002B3FD0 38 A0 00 06 */ li r5, 6 +/* 802B8374 002B3FD4 4B F1 20 25 */ bl memcmp +/* 802B8378 002B3FD8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B837C 002B3FDC 40 82 00 08 */ bne lbl_802B8384 +/* 802B8380 002B3FE0 7F 7A DB 78 */ mr r26, r27 +lbl_802B8384: +/* 802B8384 002B3FE4 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B8388 002B3FE8 41 82 00 1C */ beq lbl_802B83A4 +/* 802B838C 002B3FEC 4B FB 63 D1 */ bl OSDisableInterrupts +/* 802B8390 002B3FF0 38 9F 00 00 */ addi r4, r31, 0 +/* 802B8394 002B3FF4 8B 64 06 E5 */ lbz r27, 0x6e5(r4) +/* 802B8398 002B3FF8 4B FB 63 ED */ bl OSRestoreInterrupts +/* 802B839C 002B3FFC 28 1B 00 04 */ cmplwi r27, 4 +/* 802B83A0 002B4000 40 82 00 44 */ bne lbl_802B83E4 +lbl_802B83A4: +/* 802B83A4 002B4004 7F 83 E3 78 */ mr r3, r28 +/* 802B83A8 002B4008 48 00 CA ED */ bl func_802C4E94 +/* 802B83AC 002B400C 2C 1A 00 00 */ cmpwi r26, 0 +/* 802B83B0 002B4010 38 7E 09 0C */ addi r3, r30, 0x90c +/* 802B83B4 002B4014 38 9E 09 40 */ addi r4, r30, 0x940 +/* 802B83B8 002B4018 40 82 00 08 */ bne lbl_802B83C0 +/* 802B83BC 002B401C 38 9E 09 34 */ addi r4, r30, 0x934 +lbl_802B83C0: +/* 802B83C0 002B4020 88 BC 00 00 */ lbz r5, 0(r28) +/* 802B83C4 002B4024 88 DC 00 01 */ lbz r6, 1(r28) +/* 802B83C8 002B4028 88 FC 00 02 */ lbz r7, 2(r28) +/* 802B83CC 002B402C 89 1C 00 03 */ lbz r8, 3(r28) +/* 802B83D0 002B4030 89 3C 00 04 */ lbz r9, 4(r28) +/* 802B83D4 002B4034 89 5C 00 05 */ lbz r10, 5(r28) +/* 802B83D8 002B4038 4C C6 31 82 */ crclr 6 +/* 802B83DC 002B403C 48 00 11 A1 */ bl func_802B957C +/* 802B83E0 002B4040 48 00 01 9C */ b lbl_802B857C +lbl_802B83E4: +/* 802B83E4 002B4044 88 1A 00 59 */ lbz r0, 0x59(r26) +/* 802B83E8 002B4048 38 60 00 03 */ li r3, 3 +/* 802B83EC 002B404C 28 00 00 02 */ cmplwi r0, 2 +/* 802B83F0 002B4050 40 82 00 08 */ bne lbl_802B83F8 +/* 802B83F4 002B4054 38 60 00 0C */ li r3, 0xc +lbl_802B83F8: +/* 802B83F8 002B4058 98 7A 00 59 */ stb r3, 0x59(r26) +/* 802B83FC 002B405C 88 7D 06 E5 */ lbz r3, 0x6e5(r29) +/* 802B8400 002B4060 38 03 00 01 */ addi r0, r3, 1 +/* 802B8404 002B4064 98 1D 06 E5 */ stb r0, 0x6e5(r29) +/* 802B8408 002B4068 48 00 01 74 */ b lbl_802B857C +/* 802B840C 002B406C 38 7E 09 50 */ addi r3, r30, 0x950 +/* 802B8410 002B4070 4C C6 31 82 */ crclr 6 +/* 802B8414 002B4074 48 00 11 69 */ bl func_802B957C +/* 802B8418 002B4078 88 9C 00 00 */ lbz r4, 0(r28) +/* 802B841C 002B407C 38 7E 08 E0 */ addi r3, r30, 0x8e0 +/* 802B8420 002B4080 88 BC 00 01 */ lbz r5, 1(r28) +/* 802B8424 002B4084 88 DC 00 02 */ lbz r6, 2(r28) +/* 802B8428 002B4088 88 FC 00 03 */ lbz r7, 3(r28) +/* 802B842C 002B408C 89 1C 00 04 */ lbz r8, 4(r28) +/* 802B8430 002B4090 89 3C 00 05 */ lbz r9, 5(r28) +/* 802B8434 002B4094 4C C6 31 82 */ crclr 6 +/* 802B8438 002B4098 48 00 11 45 */ bl func_802B957C +/* 802B843C 002B409C 88 9C 00 06 */ lbz r4, 6(r28) +/* 802B8440 002B40A0 38 7E 09 68 */ addi r3, r30, 0x968 +/* 802B8444 002B40A4 4C C6 31 82 */ crclr 6 +/* 802B8448 002B40A8 48 00 11 35 */ bl func_802B957C +/* 802B844C 002B40AC 7F 83 E3 78 */ mr r3, r28 +/* 802B8450 002B40B0 4B FF F3 15 */ bl func_802B7764 +/* 802B8454 002B40B4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B8458 002B40B8 41 82 00 A4 */ beq lbl_802B84FC +/* 802B845C 002B40BC 38 00 00 01 */ li r0, 1 +/* 802B8460 002B40C0 38 BF 0C E8 */ addi r5, r31, 0xce8 +/* 802B8464 002B40C4 98 03 00 59 */ stb r0, 0x59(r3) +/* 802B8468 002B40C8 38 65 00 40 */ addi r3, r5, 0x40 +/* 802B846C 002B40CC 7F 84 E3 78 */ mr r4, r28 +/* 802B8470 002B40D0 38 A0 00 06 */ li r5, 6 +/* 802B8474 002B40D4 88 DD 06 E5 */ lbz r6, 0x6e5(r29) +/* 802B8478 002B40D8 38 06 FF FF */ addi r0, r6, -1 +/* 802B847C 002B40DC 98 1D 06 E5 */ stb r0, 0x6e5(r29) +/* 802B8480 002B40E0 4B F1 1F 19 */ bl memcmp +/* 802B8484 002B40E4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B8488 002B40E8 40 82 00 0C */ bne lbl_802B8494 +/* 802B848C 002B40EC 38 00 00 FF */ li r0, 0xff +/* 802B8490 002B40F0 98 1D 00 0C */ stb r0, 0xc(r29) +lbl_802B8494: +/* 802B8494 002B40F4 88 1C 00 06 */ lbz r0, 6(r28) +/* 802B8498 002B40F8 28 00 00 15 */ cmplwi r0, 0x15 +/* 802B849C 002B40FC 40 82 00 A0 */ bne lbl_802B853C +/* 802B84A0 002B4100 3B 7F 07 48 */ addi r27, r31, 0x748 +/* 802B84A4 002B4104 3B 20 00 00 */ li r25, 0 +/* 802B84A8 002B4108 3B E0 00 01 */ li r31, 1 +lbl_802B84AC: +/* 802B84AC 002B410C 57 23 06 3E */ clrlwi r3, r25, 0x18 +/* 802B84B0 002B4110 7F 84 E3 78 */ mr r4, r28 +/* 802B84B4 002B4114 38 03 00 0A */ addi r0, r3, 0xa +/* 802B84B8 002B4118 38 A0 00 06 */ li r5, 6 +/* 802B84BC 002B411C 1C 00 00 46 */ mulli r0, r0, 0x46 +/* 802B84C0 002B4120 7C 7B 02 14 */ add r3, r27, r0 +/* 802B84C4 002B4124 3B 43 00 01 */ addi r26, r3, 1 +/* 802B84C8 002B4128 7F 43 D3 78 */ mr r3, r26 +/* 802B84CC 002B412C 4B F1 1E CD */ bl memcmp +/* 802B84D0 002B4130 2C 03 00 00 */ cmpwi r3, 0 +/* 802B84D4 002B4134 40 82 00 18 */ bne lbl_802B84EC +/* 802B84D8 002B4138 7F 43 D3 78 */ mr r3, r26 +/* 802B84DC 002B413C 38 80 00 00 */ li r4, 0 +/* 802B84E0 002B4140 38 A0 00 46 */ li r5, 0x46 +/* 802B84E4 002B4144 4B D4 BC 21 */ bl memset +/* 802B84E8 002B4148 9B ED AE 59 */ stb r31, lbl_80640119-_SDA_BASE_(r13) +lbl_802B84EC: +/* 802B84EC 002B414C 3B 39 00 01 */ addi r25, r25, 1 +/* 802B84F0 002B4150 28 19 00 04 */ cmplwi r25, 4 +/* 802B84F4 002B4154 41 80 FF B8 */ blt lbl_802B84AC +/* 802B84F8 002B4158 48 00 00 44 */ b lbl_802B853C +lbl_802B84FC: +/* 802B84FC 002B415C 38 7F 0C E8 */ addi r3, r31, 0xce8 +/* 802B8500 002B4160 7F 84 E3 78 */ mr r4, r28 +/* 802B8504 002B4164 38 63 00 40 */ addi r3, r3, 0x40 +/* 802B8508 002B4168 38 A0 00 06 */ li r5, 6 +/* 802B850C 002B416C 4B F1 1E 8D */ bl memcmp +/* 802B8510 002B4170 2C 03 00 00 */ cmpwi r3, 0 +/* 802B8514 002B4174 40 82 00 1C */ bne lbl_802B8530 +/* 802B8518 002B4178 88 7D 06 E5 */ lbz r3, 0x6e5(r29) +/* 802B851C 002B417C 38 00 00 FF */ li r0, 0xff +/* 802B8520 002B4180 98 1D 00 0C */ stb r0, 0xc(r29) +/* 802B8524 002B4184 38 03 FF FF */ addi r0, r3, -1 +/* 802B8528 002B4188 98 1D 06 E5 */ stb r0, 0x6e5(r29) +/* 802B852C 002B418C 48 00 00 10 */ b lbl_802B853C +lbl_802B8530: +/* 802B8530 002B4190 38 7E 09 74 */ addi r3, r30, 0x974 +/* 802B8534 002B4194 4C C6 31 82 */ crclr 6 +/* 802B8538 002B4198 48 00 10 45 */ bl func_802B957C +lbl_802B853C: +/* 802B853C 002B419C 88 1D 06 E5 */ lbz r0, 0x6e5(r29) +/* 802B8540 002B41A0 28 00 00 FA */ cmplwi r0, 0xfa +/* 802B8544 002B41A4 41 80 00 38 */ blt lbl_802B857C +/* 802B8548 002B41A8 38 7E 09 90 */ addi r3, r30, 0x990 +/* 802B854C 002B41AC 4C C6 31 82 */ crclr 6 +/* 802B8550 002B41B0 4B D4 F5 75 */ bl func_80007AC4 +/* 802B8554 002B41B4 38 00 00 00 */ li r0, 0 +/* 802B8558 002B41B8 98 1D 06 E5 */ stb r0, 0x6e5(r29) +/* 802B855C 002B41BC 48 00 00 20 */ b lbl_802B857C +/* 802B8560 002B41C0 38 7E 09 B4 */ addi r3, r30, 0x9b4 +/* 802B8564 002B41C4 4C C6 31 82 */ crclr 6 +/* 802B8568 002B41C8 48 00 10 15 */ bl func_802B957C +/* 802B856C 002B41CC 48 00 00 10 */ b lbl_802B857C +/* 802B8570 002B41D0 38 7E 09 D0 */ addi r3, r30, 0x9d0 +/* 802B8574 002B41D4 4C C6 31 82 */ crclr 6 +/* 802B8578 002B41D8 48 00 10 05 */ bl func_802B957C +lbl_802B857C: +/* 802B857C 002B41DC 39 61 00 60 */ addi r11, r1, 0x60 +/* 802B8580 002B41E0 4B F0 EB ED */ bl _restgpr_25 +/* 802B8584 002B41E4 80 01 00 64 */ lwz r0, 0x64(r1) +/* 802B8588 002B41E8 7C 08 03 A6 */ mtlr r0 +/* 802B858C 002B41EC 38 21 00 60 */ addi r1, r1, 0x60 +/* 802B8590 002B41F0 4E 80 00 20 */ blr +lbl_802B8594: +/* 802B8594 002B41F4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802B8598 002B41F8 7C 08 02 A6 */ mflr r0 +/* 802B859C 002B41FC 2C 03 00 02 */ cmpwi r3, 2 +/* 802B85A0 002B4200 90 01 00 34 */ stw r0, 0x34(r1) +/* 802B85A4 002B4204 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802B85A8 002B4208 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802B85AC 002B420C 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802B85B0 002B4210 3F A0 80 44 */ lis r29, lbl_8043E048@ha +/* 802B85B4 002B4214 3B BD E0 48 */ addi r29, r29, lbl_8043E048@l +/* 802B85B8 002B4218 93 81 00 20 */ stw r28, 0x20(r1) +/* 802B85BC 002B421C 7C 9C 23 78 */ mr r28, r4 +/* 802B85C0 002B4220 41 82 00 D0 */ beq lbl_802B8690 +/* 802B85C4 002B4224 40 80 00 14 */ bge lbl_802B85D8 +/* 802B85C8 002B4228 2C 03 00 00 */ cmpwi r3, 0 +/* 802B85CC 002B422C 41 82 00 1C */ beq lbl_802B85E8 +/* 802B85D0 002B4230 40 80 00 B0 */ bge lbl_802B8680 +/* 802B85D4 002B4234 48 00 01 80 */ b lbl_802B8754 +lbl_802B85D8: +/* 802B85D8 002B4238 2C 03 00 04 */ cmpwi r3, 4 +/* 802B85DC 002B423C 41 82 01 3C */ beq lbl_802B8718 +/* 802B85E0 002B4240 40 80 01 74 */ bge lbl_802B8754 +/* 802B85E4 002B4244 48 00 01 14 */ b lbl_802B86F8 +lbl_802B85E8: +/* 802B85E8 002B4248 88 04 00 07 */ lbz r0, 7(r4) +/* 802B85EC 002B424C 38 7D 0A 0C */ addi r3, r29, 0xa0c +/* 802B85F0 002B4250 90 01 00 08 */ stw r0, 8(r1) +/* 802B85F4 002B4254 88 04 00 08 */ lbz r0, 8(r4) +/* 802B85F8 002B4258 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B85FC 002B425C 88 04 00 09 */ lbz r0, 9(r4) +/* 802B8600 002B4260 7C 00 07 74 */ extsb r0, r0 +/* 802B8604 002B4264 90 01 00 10 */ stw r0, 0x10(r1) +/* 802B8608 002B4268 88 84 00 00 */ lbz r4, 0(r4) +/* 802B860C 002B426C 88 BC 00 01 */ lbz r5, 1(r28) +/* 802B8610 002B4270 88 DC 00 02 */ lbz r6, 2(r28) +/* 802B8614 002B4274 88 FC 00 03 */ lbz r7, 3(r28) +/* 802B8618 002B4278 89 1C 00 04 */ lbz r8, 4(r28) +/* 802B861C 002B427C 89 3C 00 05 */ lbz r9, 5(r28) +/* 802B8620 002B4280 89 5C 00 06 */ lbz r10, 6(r28) +/* 802B8624 002B4284 4C C6 31 82 */ crclr 6 +/* 802B8628 002B4288 48 00 0F 55 */ bl func_802B957C +/* 802B862C 002B428C 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha +/* 802B8630 002B4290 88 1C 00 09 */ lbz r0, 9(r28) +/* 802B8634 002B4294 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l +/* 802B8638 002B4298 88 7E 06 E7 */ lbz r3, 0x6e7(r30) +/* 802B863C 002B429C 98 0D AE C0 */ stb r0, lbl_80640180-_SDA_BASE_(r13) +/* 802B8640 002B42A0 28 03 00 01 */ cmplwi r3, 1 +/* 802B8644 002B42A4 41 82 00 20 */ beq lbl_802B8664 +/* 802B8648 002B42A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B864C 002B42AC 40 82 00 20 */ bne lbl_802B866C +/* 802B8650 002B42B0 4B FB 61 0D */ bl OSDisableInterrupts +/* 802B8654 002B42B4 8B BE 06 E5 */ lbz r29, 0x6e5(r30) +/* 802B8658 002B42B8 4B FB 61 2D */ bl OSRestoreInterrupts +/* 802B865C 002B42BC 28 1D 00 03 */ cmplwi r29, 3 +/* 802B8660 002B42C0 40 80 00 0C */ bge lbl_802B866C +lbl_802B8664: +/* 802B8664 002B42C4 38 00 12 C0 */ li r0, 0x12c0 +/* 802B8668 002B42C8 48 00 00 0C */ b lbl_802B8674 +lbl_802B866C: +/* 802B866C 002B42CC 3C 60 00 01 */ lis r3, 0x00008000@ha +/* 802B8670 002B42D0 38 03 80 00 */ addi r0, r3, 0x00008000@l +lbl_802B8674: +/* 802B8674 002B42D4 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B8678 002B42D8 48 00 E5 49 */ bl func_802C6BC0 +/* 802B867C 002B42DC 48 00 00 E4 */ b lbl_802B8760 +lbl_802B8680: +/* 802B8680 002B42E0 38 7D 0A 50 */ addi r3, r29, 0xa50 +/* 802B8684 002B42E4 4C C6 31 82 */ crclr 6 +/* 802B8688 002B42E8 48 00 0E F5 */ bl func_802B957C +/* 802B868C 002B42EC 48 00 00 D4 */ b lbl_802B8760 +lbl_802B8690: +/* 802B8690 002B42F0 3F C0 80 54 */ lis r30, lbl_8053B090@ha +/* 802B8694 002B42F4 38 A0 00 06 */ li r5, 6 +/* 802B8698 002B42F8 38 7E B0 90 */ addi r3, r30, lbl_8053B090@l +/* 802B869C 002B42FC 4B D4 B9 65 */ bl memcpy +/* 802B86A0 002B4300 3B FE B0 90 */ addi r31, r30, -20336 +/* 802B86A4 002B4304 38 9C 00 06 */ addi r4, r28, 6 +/* 802B86A8 002B4308 38 7F 00 06 */ addi r3, r31, 6 +/* 802B86AC 002B430C 38 A0 00 40 */ li r5, 0x40 +/* 802B86B0 002B4310 4B D4 B9 51 */ bl memcpy +/* 802B86B4 002B4314 88 8D AE C1 */ lbz r4, lbl_80640181-_SDA_BASE_(r13) +/* 802B86B8 002B4318 38 7D 0A 64 */ addi r3, r29, 0xa64 +/* 802B86BC 002B431C 80 BC 01 00 */ lwz r5, 0x100(r28) +/* 802B86C0 002B4320 39 5F 00 06 */ addi r10, r31, 6 +/* 802B86C4 002B4324 38 04 00 01 */ addi r0, r4, 1 +/* 802B86C8 002B4328 90 BF 01 00 */ stw r5, 0x100(r31) +/* 802B86CC 002B432C 98 0D AE C1 */ stb r0, lbl_80640181-_SDA_BASE_(r13) +/* 802B86D0 002B4330 90 A1 00 08 */ stw r5, 8(r1) +/* 802B86D4 002B4334 88 9E B0 90 */ lbz r4, -0x4f70(r30) +/* 802B86D8 002B4338 88 BF 00 01 */ lbz r5, 1(r31) +/* 802B86DC 002B433C 88 DF 00 02 */ lbz r6, 2(r31) +/* 802B86E0 002B4340 88 FF 00 03 */ lbz r7, 3(r31) +/* 802B86E4 002B4344 89 1F 00 04 */ lbz r8, 4(r31) +/* 802B86E8 002B4348 89 3F 00 05 */ lbz r9, 5(r31) +/* 802B86EC 002B434C 4C C6 31 82 */ crclr 6 +/* 802B86F0 002B4350 48 00 0E 8D */ bl func_802B957C +/* 802B86F4 002B4354 48 00 00 6C */ b lbl_802B8760 +lbl_802B86F8: +/* 802B86F8 002B4358 38 7D 0A A4 */ addi r3, r29, 0xaa4 +/* 802B86FC 002B435C 4C C6 31 82 */ crclr 6 +/* 802B8700 002B4360 48 00 0E 7D */ bl func_802B957C +/* 802B8704 002B4364 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B8708 002B4368 38 00 00 04 */ li r0, 4 +/* 802B870C 002B436C 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l +/* 802B8710 002B4370 98 03 00 0C */ stb r0, 0xc(r3) +/* 802B8714 002B4374 48 00 00 4C */ b lbl_802B8760 +lbl_802B8718: +/* 802B8718 002B4378 38 7D 0A B8 */ addi r3, r29, 0xab8 +/* 802B871C 002B437C 4C C6 31 82 */ crclr 6 +/* 802B8720 002B4380 48 00 0E 5D */ bl func_802B957C +/* 802B8724 002B4384 38 00 00 00 */ li r0, 0 +/* 802B8728 002B4388 3C 60 80 54 */ lis r3, lbl_8053B090@ha +/* 802B872C 002B438C 98 0D AE C1 */ stb r0, lbl_80640181-_SDA_BASE_(r13) +/* 802B8730 002B4390 38 63 B0 90 */ addi r3, r3, lbl_8053B090@l +/* 802B8734 002B4394 38 80 00 00 */ li r4, 0 +/* 802B8738 002B4398 38 A0 01 08 */ li r5, 0x108 +/* 802B873C 002B439C 4B D4 B9 C9 */ bl memset +/* 802B8740 002B43A0 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha +/* 802B8744 002B43A4 38 00 00 04 */ li r0, 4 +/* 802B8748 002B43A8 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l +/* 802B874C 002B43AC 98 03 00 0C */ stb r0, 0xc(r3) +/* 802B8750 002B43B0 48 00 00 10 */ b lbl_802B8760 +lbl_802B8754: +/* 802B8754 002B43B4 38 7D 0A C8 */ addi r3, r29, 0xac8 +/* 802B8758 002B43B8 4C C6 31 82 */ crclr 6 +/* 802B875C 002B43BC 48 00 0E 21 */ bl func_802B957C +lbl_802B8760: +/* 802B8760 002B43C0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802B8764 002B43C4 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802B8768 002B43C8 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802B876C 002B43CC 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802B8770 002B43D0 83 81 00 20 */ lwz r28, 0x20(r1) +/* 802B8774 002B43D4 7C 08 03 A6 */ mtlr r0 +/* 802B8778 002B43D8 38 21 00 30 */ addi r1, r1, 0x30 +/* 802B877C 002B43DC 4E 80 00 20 */ blr +lbl_802B8780: +/* 802B8780 002B43E0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B8784 002B43E4 7C 08 02 A6 */ mflr r0 +/* 802B8788 002B43E8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B878C 002B43EC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B8790 002B43F0 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B8794 002B43F4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B8798 002B43F8 3F C0 80 44 */ lis r30, lbl_8043E048@ha +/* 802B879C 002B43FC 3B DE E0 48 */ addi r30, r30, lbl_8043E048@l +/* 802B87A0 002B4400 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B87A4 002B4404 7C 9D 23 78 */ mr r29, r4 +/* 802B87A8 002B4408 93 81 00 10 */ stw r28, 0x10(r1) +/* 802B87AC 002B440C 3B 9F A4 E0 */ addi r28, r31, lbl_8053A4E0@l +/* 802B87B0 002B4410 88 04 00 00 */ lbz r0, 0(r4) +/* 802B87B4 002B4414 2C 00 00 0A */ cmpwi r0, 0xa +/* 802B87B8 002B4418 41 82 02 A0 */ beq lbl_802B8A58 +/* 802B87BC 002B441C 40 80 00 14 */ bge lbl_802B87D0 +/* 802B87C0 002B4420 2C 00 00 08 */ cmpwi r0, 8 +/* 802B87C4 002B4424 41 82 00 18 */ beq lbl_802B87DC +/* 802B87C8 002B4428 40 80 01 10 */ bge lbl_802B88D8 +/* 802B87CC 002B442C 48 00 02 CC */ b lbl_802B8A98 +lbl_802B87D0: +/* 802B87D0 002B4430 2C 00 00 10 */ cmpwi r0, 0x10 +/* 802B87D4 002B4434 41 82 02 A0 */ beq lbl_802B8A74 +/* 802B87D8 002B4438 48 00 02 C0 */ b lbl_802B8A98 +lbl_802B87DC: +/* 802B87DC 002B443C 38 7E 0A F8 */ addi r3, r30, 0xaf8 +/* 802B87E0 002B4440 4C C6 31 82 */ crclr 6 +/* 802B87E4 002B4444 48 00 0D 99 */ bl func_802B957C +/* 802B87E8 002B4448 38 7E 06 38 */ addi r3, r30, 0x638 +/* 802B87EC 002B444C 4C C6 31 82 */ crclr 6 +/* 802B87F0 002B4450 48 00 0D 8D */ bl func_802B957C +/* 802B87F4 002B4454 4B FB 5F 69 */ bl OSDisableInterrupts +/* 802B87F8 002B4458 83 BF A4 E0 */ lwz r29, -0x5b20(r31) +/* 802B87FC 002B445C 7C 7F 1B 78 */ mr r31, r3 +/* 802B8800 002B4460 4B FB 5F 5D */ bl OSDisableInterrupts +/* 802B8804 002B4464 88 1C 00 0C */ lbz r0, 0xc(r28) +/* 802B8808 002B4468 2C 00 00 00 */ cmpwi r0, 0 +/* 802B880C 002B446C 40 82 00 34 */ bne lbl_802B8840 +/* 802B8810 002B4470 88 1C 00 0D */ lbz r0, 0xd(r28) +/* 802B8814 002B4474 2C 00 00 00 */ cmpwi r0, 0 +/* 802B8818 002B4478 40 82 00 28 */ bne lbl_802B8840 +/* 802B881C 002B447C 88 1C 00 0F */ lbz r0, 0xf(r28) +/* 802B8820 002B4480 28 00 00 04 */ cmplwi r0, 4 +/* 802B8824 002B4484 40 82 00 1C */ bne lbl_802B8840 +/* 802B8828 002B4488 88 1C 00 10 */ lbz r0, 0x10(r28) +/* 802B882C 002B448C 28 00 00 04 */ cmplwi r0, 4 +/* 802B8830 002B4490 40 82 00 10 */ bne lbl_802B8840 +/* 802B8834 002B4494 4B FB 5F 51 */ bl OSRestoreInterrupts +/* 802B8838 002B4498 38 80 00 00 */ li r4, 0 +/* 802B883C 002B449C 48 00 00 0C */ b lbl_802B8848 +lbl_802B8840: +/* 802B8840 002B44A0 4B FB 5F 45 */ bl OSRestoreInterrupts +/* 802B8844 002B44A4 38 80 00 01 */ li r4, 1 +lbl_802B8848: +/* 802B8848 002B44A8 7C 04 00 D0 */ neg r0, r4 +/* 802B884C 002B44AC 7F E3 FB 78 */ mr r3, r31 +/* 802B8850 002B44B0 7C 00 23 78 */ or r0, r0, r4 +/* 802B8854 002B44B4 54 00 0F FE */ srwi r0, r0, 0x1f +/* 802B8858 002B44B8 7F E0 00 D0 */ neg r31, r0 +/* 802B885C 002B44BC 4B FB 5F 29 */ bl OSRestoreInterrupts +/* 802B8860 002B44C0 2C 1D 00 00 */ cmpwi r29, 0 +/* 802B8864 002B44C4 41 82 00 1C */ beq lbl_802B8880 +/* 802B8868 002B44C8 7F AC EB 78 */ mr r12, r29 +/* 802B886C 002B44CC 7F E3 FB 78 */ mr r3, r31 +/* 802B8870 002B44D0 38 80 00 00 */ li r4, 0 +/* 802B8874 002B44D4 7D 89 03 A6 */ mtctr r12 +/* 802B8878 002B44D8 4E 80 04 21 */ bctrl +/* 802B887C 002B44DC 48 00 02 1C */ b lbl_802B8A98 +lbl_802B8880: +/* 802B8880 002B44E0 38 7E 04 1C */ addi r3, r30, 0x41c +/* 802B8884 002B44E4 4C C6 31 82 */ crclr 6 +/* 802B8888 002B44E8 48 00 0C F5 */ bl func_802B957C +/* 802B888C 002B44EC 38 60 00 00 */ li r3, 0 +/* 802B8890 002B44F0 38 80 00 03 */ li r4, 3 +/* 802B8894 002B44F4 38 A0 00 00 */ li r5, 0 +/* 802B8898 002B44F8 4B FF E2 45 */ bl func_802B6ADC +/* 802B889C 002B44FC 7C 7F 1B 78 */ mr r31, r3 +/* 802B88A0 002B4500 4B FB 5E BD */ bl OSDisableInterrupts +/* 802B88A4 002B4504 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B88A8 002B4508 83 C4 A4 E0 */ lwz r30, lbl_8053A4E0@l(r4) +/* 802B88AC 002B450C 4B FB 5E D9 */ bl OSRestoreInterrupts +/* 802B88B0 002B4510 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B88B4 002B4514 40 82 01 E4 */ bne lbl_802B8A98 +/* 802B88B8 002B4518 2C 1E 00 00 */ cmpwi r30, 0 +/* 802B88BC 002B451C 41 82 01 DC */ beq lbl_802B8A98 +/* 802B88C0 002B4520 7F CC F3 78 */ mr r12, r30 +/* 802B88C4 002B4524 38 60 FF FF */ li r3, -1 +/* 802B88C8 002B4528 38 80 00 00 */ li r4, 0 +/* 802B88CC 002B452C 7D 89 03 A6 */ mtctr r12 +/* 802B88D0 002B4530 4E 80 04 21 */ bctrl +/* 802B88D4 002B4534 48 00 01 C4 */ b lbl_802B8A98 +lbl_802B88D8: +/* 802B88D8 002B4538 38 7E 0B 10 */ addi r3, r30, 0xb10 +/* 802B88DC 002B453C 4C C6 31 82 */ crclr 6 +/* 802B88E0 002B4540 48 00 0C 9D */ bl func_802B957C +/* 802B88E4 002B4544 38 7E 06 5C */ addi r3, r30, 0x65c +/* 802B88E8 002B4548 4C C6 31 82 */ crclr 6 +/* 802B88EC 002B454C 48 00 0C 91 */ bl func_802B957C +/* 802B88F0 002B4550 4B FB 5E 6D */ bl OSDisableInterrupts +/* 802B88F4 002B4554 83 FC 00 08 */ lwz r31, 8(r28) +/* 802B88F8 002B4558 7C 7D 1B 78 */ mr r29, r3 +/* 802B88FC 002B455C 4B FB 5E 61 */ bl OSDisableInterrupts +/* 802B8900 002B4560 88 1C 00 0C */ lbz r0, 0xc(r28) +/* 802B8904 002B4564 2C 00 00 00 */ cmpwi r0, 0 +/* 802B8908 002B4568 40 82 00 34 */ bne lbl_802B893C +/* 802B890C 002B456C 88 1C 00 0D */ lbz r0, 0xd(r28) +/* 802B8910 002B4570 2C 00 00 00 */ cmpwi r0, 0 +/* 802B8914 002B4574 40 82 00 28 */ bne lbl_802B893C +/* 802B8918 002B4578 88 1C 00 0F */ lbz r0, 0xf(r28) +/* 802B891C 002B457C 28 00 00 04 */ cmplwi r0, 4 +/* 802B8920 002B4580 40 82 00 1C */ bne lbl_802B893C +/* 802B8924 002B4584 88 1C 00 10 */ lbz r0, 0x10(r28) +/* 802B8928 002B4588 28 00 00 04 */ cmplwi r0, 4 +/* 802B892C 002B458C 40 82 00 10 */ bne lbl_802B893C +/* 802B8930 002B4590 4B FB 5E 55 */ bl OSRestoreInterrupts +/* 802B8934 002B4594 38 80 00 00 */ li r4, 0 +/* 802B8938 002B4598 48 00 00 0C */ b lbl_802B8944 +lbl_802B893C: +/* 802B893C 002B459C 4B FB 5E 49 */ bl OSRestoreInterrupts +/* 802B8940 002B45A0 38 80 00 01 */ li r4, 1 +lbl_802B8944: +/* 802B8944 002B45A4 7C 04 00 D0 */ neg r0, r4 +/* 802B8948 002B45A8 7F A3 EB 78 */ mr r3, r29 +/* 802B894C 002B45AC 7C 00 23 78 */ or r0, r0, r4 +/* 802B8950 002B45B0 54 00 0F FE */ srwi r0, r0, 0x1f +/* 802B8954 002B45B4 7F A0 00 D0 */ neg r29, r0 +/* 802B8958 002B45B8 4B FB 5E 2D */ bl OSRestoreInterrupts +/* 802B895C 002B45BC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B8960 002B45C0 41 82 00 18 */ beq lbl_802B8978 +/* 802B8964 002B45C4 7F EC FB 78 */ mr r12, r31 +/* 802B8968 002B45C8 7F A3 EB 78 */ mr r3, r29 +/* 802B896C 002B45CC 7D 89 03 A6 */ mtctr r12 +/* 802B8970 002B45D0 4E 80 04 21 */ bctrl +/* 802B8974 002B45D4 48 00 01 24 */ b lbl_802B8A98 +lbl_802B8978: +/* 802B8978 002B45D8 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha +/* 802B897C 002B45DC 38 7E 04 7C */ addi r3, r30, 0x47c +/* 802B8980 002B45E0 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l +/* 802B8984 002B45E4 4C C6 31 82 */ crclr 6 +/* 802B8988 002B45E8 48 00 0B F5 */ bl func_802B957C +/* 802B898C 002B45EC 4B FB 5D D1 */ bl OSDisableInterrupts +/* 802B8990 002B45F0 8B DD 07 08 */ lbz r30, 0x708(r29) +/* 802B8994 002B45F4 7F DE 07 74 */ extsb r30, r30 +/* 802B8998 002B45F8 4B FB 5D ED */ bl OSRestoreInterrupts +/* 802B899C 002B45FC 28 1E 00 03 */ cmplwi r30, 3 +/* 802B89A0 002B4600 40 82 00 F8 */ bne lbl_802B8A98 +/* 802B89A4 002B4604 4B FB 5D B9 */ bl OSDisableInterrupts +/* 802B89A8 002B4608 88 1D 00 0C */ lbz r0, 0xc(r29) +/* 802B89AC 002B460C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B89B0 002B4610 40 82 00 34 */ bne lbl_802B89E4 +/* 802B89B4 002B4614 88 1D 00 0D */ lbz r0, 0xd(r29) +/* 802B89B8 002B4618 2C 00 00 00 */ cmpwi r0, 0 +/* 802B89BC 002B461C 40 82 00 28 */ bne lbl_802B89E4 +/* 802B89C0 002B4620 88 1D 00 0F */ lbz r0, 0xf(r29) +/* 802B89C4 002B4624 28 00 00 04 */ cmplwi r0, 4 +/* 802B89C8 002B4628 40 82 00 1C */ bne lbl_802B89E4 +/* 802B89CC 002B462C 88 1D 00 10 */ lbz r0, 0x10(r29) +/* 802B89D0 002B4630 28 00 00 04 */ cmplwi r0, 4 +/* 802B89D4 002B4634 40 82 00 10 */ bne lbl_802B89E4 +/* 802B89D8 002B4638 4B FB 5D AD */ bl OSRestoreInterrupts +/* 802B89DC 002B463C 38 00 00 00 */ li r0, 0 +/* 802B89E0 002B4640 48 00 00 0C */ b lbl_802B89EC +lbl_802B89E4: +/* 802B89E4 002B4644 4B FB 5D A1 */ bl OSRestoreInterrupts +/* 802B89E8 002B4648 38 00 00 01 */ li r0, 1 +lbl_802B89EC: +/* 802B89EC 002B464C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B89F0 002B4650 40 82 00 A8 */ bne lbl_802B8A98 +/* 802B89F4 002B4654 4B FB 5D 69 */ bl OSDisableInterrupts +/* 802B89F8 002B4658 38 00 00 01 */ li r0, 1 +/* 802B89FC 002B465C 7C 7E 1B 78 */ mr r30, r3 +/* 802B8A00 002B4660 98 1D 00 0D */ stb r0, 0xd(r29) +/* 802B8A04 002B4664 38 7D 07 10 */ addi r3, r29, 0x710 +/* 802B8A08 002B4668 4B FB 0D 1D */ bl OSCreateAlarm +/* 802B8A0C 002B466C 4B FB 9D AD */ bl OSGetTime +/* 802B8A10 002B4670 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 802B8A14 002B4674 3D 20 80 2B */ lis r9, lbl_802B5D40@ha +/* 802B8A18 002B4678 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 802B8A1C 002B467C 3C C0 10 62 */ lis r6, 0x10624DD3@ha +/* 802B8A20 002B4680 7C 65 1B 78 */ mr r5, r3 +/* 802B8A24 002B4684 39 29 5D 40 */ addi r9, r9, lbl_802B5D40@l +/* 802B8A28 002B4688 38 66 4D D3 */ addi r3, r6, 0x10624DD3@l +/* 802B8A2C 002B468C 54 00 F0 BE */ srwi r0, r0, 2 +/* 802B8A30 002B4690 7C 03 00 16 */ mulhwu r0, r3, r0 +/* 802B8A34 002B4694 7C 86 23 78 */ mr r6, r4 +/* 802B8A38 002B4698 38 7D 07 10 */ addi r3, r29, 0x710 +/* 802B8A3C 002B469C 38 E0 00 00 */ li r7, 0 +/* 802B8A40 002B46A0 54 00 D1 BE */ srwi r0, r0, 6 +/* 802B8A44 002B46A4 1D 00 00 14 */ mulli r8, r0, 0x14 +/* 802B8A48 002B46A8 4B FB 0F AD */ bl OSSetPeriodicAlarm +/* 802B8A4C 002B46AC 7F C3 F3 78 */ mr r3, r30 +/* 802B8A50 002B46B0 4B FB 5D 35 */ bl OSRestoreInterrupts +/* 802B8A54 002B46B4 48 00 00 44 */ b lbl_802B8A98 +lbl_802B8A58: +/* 802B8A58 002B46B8 88 84 00 01 */ lbz r4, 1(r4) +/* 802B8A5C 002B46BC 38 7E 0B 28 */ addi r3, r30, 0xb28 +/* 802B8A60 002B46C0 4C C6 31 82 */ crclr 6 +/* 802B8A64 002B46C4 48 00 0B 19 */ bl func_802B957C +/* 802B8A68 002B46C8 88 1D 00 01 */ lbz r0, 1(r29) +/* 802B8A6C 002B46CC 98 1C 07 09 */ stb r0, 0x709(r28) +/* 802B8A70 002B46D0 48 00 00 28 */ b lbl_802B8A98 +lbl_802B8A74: +/* 802B8A74 002B46D4 88 84 00 01 */ lbz r4, 1(r4) +/* 802B8A78 002B46D8 38 7E 0B 4C */ addi r3, r30, 0xb4c +/* 802B8A7C 002B46DC 4C C6 31 82 */ crclr 6 +/* 802B8A80 002B46E0 48 00 0A FD */ bl func_802B957C +/* 802B8A84 002B46E4 38 BE 0B 74 */ addi r5, r30, 0xb74 +/* 802B8A88 002B46E8 38 6D 89 C0 */ addi r3, r13, lbl_8063DC80-_SDA_BASE_ +/* 802B8A8C 002B46EC 38 80 0F 25 */ li r4, 0xf25 +/* 802B8A90 002B46F0 4C C6 31 82 */ crclr 6 +/* 802B8A94 002B46F4 4B FB 2A 09 */ bl OSPanic +lbl_802B8A98: +/* 802B8A98 002B46F8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B8A9C 002B46FC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B8AA0 002B4700 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B8AA4 002B4704 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B8AA8 002B4708 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802B8AAC 002B470C 7C 08 03 A6 */ mtlr r0 +/* 802B8AB0 002B4710 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B8AB4 002B4714 4E 80 00 20 */ blr +lbl_802B8AB8: +/* 802B8AB8 002B4718 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B8ABC 002B471C 7C 08 02 A6 */ mflr r0 +/* 802B8AC0 002B4720 3C 80 80 44 */ lis r4, lbl_8043EBD0@ha +/* 802B8AC4 002B4724 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B8AC8 002B4728 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B8ACC 002B472C 7C 7F 1B 78 */ mr r31, r3 +/* 802B8AD0 002B4730 38 64 EB D0 */ addi r3, r4, lbl_8043EBD0@l +/* 802B8AD4 002B4734 4C C6 31 82 */ crclr 6 +/* 802B8AD8 002B4738 48 00 0A A5 */ bl func_802B957C +/* 802B8ADC 002B473C 28 1F 00 02 */ cmplwi r31, 2 +/* 802B8AE0 002B4740 40 82 00 14 */ bne lbl_802B8AF4 +/* 802B8AE4 002B4744 3C 60 80 44 */ lis r3, lbl_8043EBEC@ha +/* 802B8AE8 002B4748 38 63 EB EC */ addi r3, r3, lbl_8043EBEC@l +/* 802B8AEC 002B474C 4C C6 31 82 */ crclr 6 +/* 802B8AF0 002B4750 4B D4 EF D5 */ bl func_80007AC4 +lbl_802B8AF4: +/* 802B8AF4 002B4754 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B8AF8 002B4758 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B8AFC 002B475C 7C 08 03 A6 */ mtlr r0 +/* 802B8B00 002B4760 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B8B04 002B4764 4E 80 00 20 */ blr +lbl_802B8B08: +/* 802B8B08 002B4768 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 802B8B0C 002B476C 7C 08 02 A6 */ mflr r0 +/* 802B8B10 002B4770 90 01 00 64 */ stw r0, 0x64(r1) +/* 802B8B14 002B4774 39 61 00 60 */ addi r11, r1, 0x60 +/* 802B8B18 002B4778 4B F0 E6 01 */ bl _savegpr_23 +/* 802B8B1C 002B477C 88 03 00 00 */ lbz r0, 0(r3) +/* 802B8B20 002B4780 3F C0 80 44 */ lis r30, lbl_8043E048@ha +/* 802B8B24 002B4784 3F 80 80 54 */ lis r28, lbl_8053A4E0@ha +/* 802B8B28 002B4788 7C 7A 1B 78 */ mr r26, r3 +/* 802B8B2C 002B478C 2C 00 00 03 */ cmpwi r0, 3 +/* 802B8B30 002B4790 3B DE E0 48 */ addi r30, r30, lbl_8043E048@l +/* 802B8B34 002B4794 3B 9C A4 E0 */ addi r28, r28, lbl_8053A4E0@l +/* 802B8B38 002B4798 41 82 02 20 */ beq lbl_802B8D58 +/* 802B8B3C 002B479C 40 80 00 14 */ bge lbl_802B8B50 +/* 802B8B40 002B47A0 2C 00 00 01 */ cmpwi r0, 1 +/* 802B8B44 002B47A4 41 82 00 18 */ beq lbl_802B8B5C +/* 802B8B48 002B47A8 40 80 01 E0 */ bge lbl_802B8D28 +/* 802B8B4C 002B47AC 48 00 02 7C */ b lbl_802B8DC8 +lbl_802B8B50: +/* 802B8B50 002B47B0 2C 00 00 05 */ cmpwi r0, 5 +/* 802B8B54 002B47B4 40 80 02 74 */ bge lbl_802B8DC8 +/* 802B8B58 002B47B8 48 00 02 2C */ b lbl_802B8D84 +lbl_802B8B5C: +/* 802B8B5C 002B47BC 38 7E 0B CC */ addi r3, r30, 0xbcc +/* 802B8B60 002B47C0 4C C6 31 82 */ crclr 6 +/* 802B8B64 002B47C4 48 00 0A 19 */ bl func_802B957C +/* 802B8B68 002B47C8 3B BA 00 02 */ addi r29, r26, 2 +/* 802B8B6C 002B47CC 3B 60 00 00 */ li r27, 0 +/* 802B8B70 002B47D0 3A E0 00 01 */ li r23, 1 +/* 802B8B74 002B47D4 3B 00 00 03 */ li r24, 3 +/* 802B8B78 002B47D8 3B 20 00 06 */ li r25, 6 +/* 802B8B7C 002B47DC 48 00 01 9C */ b lbl_802B8D18 +lbl_802B8B80: +/* 802B8B80 002B47E0 7F A3 EB 78 */ mr r3, r29 +/* 802B8B84 002B47E4 4B FF EB E1 */ bl func_802B7764 +/* 802B8B88 002B47E8 88 9D 00 00 */ lbz r4, 0(r29) +/* 802B8B8C 002B47EC 7C 7F 1B 78 */ mr r31, r3 +/* 802B8B90 002B47F0 88 BD 00 01 */ lbz r5, 1(r29) +/* 802B8B94 002B47F4 38 7E 0B EC */ addi r3, r30, 0xbec +/* 802B8B98 002B47F8 88 DD 00 02 */ lbz r6, 2(r29) +/* 802B8B9C 002B47FC 88 FD 00 03 */ lbz r7, 3(r29) +/* 802B8BA0 002B4800 89 1D 00 04 */ lbz r8, 4(r29) +/* 802B8BA4 002B4804 89 3D 00 05 */ lbz r9, 5(r29) +/* 802B8BA8 002B4808 4C C6 31 82 */ crclr 6 +/* 802B8BAC 002B480C 48 00 09 D1 */ bl func_802B957C +/* 802B8BB0 002B4810 88 1D 00 0D */ lbz r0, 0xd(r29) +/* 802B8BB4 002B4814 38 7E 0C 18 */ addi r3, r30, 0xc18 +/* 802B8BB8 002B4818 90 01 00 08 */ stw r0, 8(r1) +/* 802B8BBC 002B481C 88 1D 00 0E */ lbz r0, 0xe(r29) +/* 802B8BC0 002B4820 90 01 00 0C */ stw r0, 0xc(r1) +/* 802B8BC4 002B4824 88 1D 00 0F */ lbz r0, 0xf(r29) +/* 802B8BC8 002B4828 90 01 00 10 */ stw r0, 0x10(r1) +/* 802B8BCC 002B482C 88 1D 00 10 */ lbz r0, 0x10(r29) +/* 802B8BD0 002B4830 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B8BD4 002B4834 88 1D 00 11 */ lbz r0, 0x11(r29) +/* 802B8BD8 002B4838 90 01 00 18 */ stw r0, 0x18(r1) +/* 802B8BDC 002B483C 88 1D 00 12 */ lbz r0, 0x12(r29) +/* 802B8BE0 002B4840 90 01 00 1C */ stw r0, 0x1c(r1) +/* 802B8BE4 002B4844 88 1D 00 13 */ lbz r0, 0x13(r29) +/* 802B8BE8 002B4848 90 01 00 20 */ stw r0, 0x20(r1) +/* 802B8BEC 002B484C 88 1D 00 14 */ lbz r0, 0x14(r29) +/* 802B8BF0 002B4850 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B8BF4 002B4854 88 1D 00 15 */ lbz r0, 0x15(r29) +/* 802B8BF8 002B4858 90 01 00 28 */ stw r0, 0x28(r1) +/* 802B8BFC 002B485C 88 9D 00 06 */ lbz r4, 6(r29) +/* 802B8C00 002B4860 88 BD 00 07 */ lbz r5, 7(r29) +/* 802B8C04 002B4864 88 DD 00 08 */ lbz r6, 8(r29) +/* 802B8C08 002B4868 88 FD 00 09 */ lbz r7, 9(r29) +/* 802B8C0C 002B486C 89 1D 00 0A */ lbz r8, 0xa(r29) +/* 802B8C10 002B4870 89 3D 00 0B */ lbz r9, 0xb(r29) +/* 802B8C14 002B4874 89 5D 00 0C */ lbz r10, 0xc(r29) +/* 802B8C18 002B4878 4C C6 31 82 */ crclr 6 +/* 802B8C1C 002B487C 48 00 09 61 */ bl func_802B957C +/* 802B8C20 002B4880 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B8C24 002B4884 40 82 00 88 */ bne lbl_802B8CAC +/* 802B8C28 002B4888 38 7E 0C 74 */ addi r3, r30, 0xc74 +/* 802B8C2C 002B488C 4C C6 31 82 */ crclr 6 +/* 802B8C30 002B4890 48 00 09 4D */ bl func_802B957C +/* 802B8C34 002B4894 4B FF EC 09 */ bl func_802B783C +/* 802B8C38 002B4898 2C 03 00 00 */ cmpwi r3, 0 +/* 802B8C3C 002B489C 7C 7F 1B 78 */ mr r31, r3 +/* 802B8C40 002B48A0 40 82 00 38 */ bne lbl_802B8C78 +/* 802B8C44 002B48A4 7F 83 E3 78 */ mr r3, r28 +/* 802B8C48 002B48A8 3B 60 00 00 */ li r27, 0 +/* 802B8C4C 002B48AC 7F 29 03 A6 */ mtctr r25 +lbl_802B8C50: +/* 802B8C50 002B48B0 88 03 04 FD */ lbz r0, 0x4fd(r3) +/* 802B8C54 002B48B4 2C 00 00 00 */ cmpwi r0, 0 +/* 802B8C58 002B48B8 40 82 00 14 */ bne lbl_802B8C6C +/* 802B8C5C 002B48BC 1C 1B 00 60 */ mulli r0, r27, 0x60 +/* 802B8C60 002B48C0 7C 7C 02 14 */ add r3, r28, r0 +/* 802B8C64 002B48C4 3B E3 04 A4 */ addi r31, r3, 0x4a4 +/* 802B8C68 002B48C8 48 00 00 10 */ b lbl_802B8C78 +lbl_802B8C6C: +/* 802B8C6C 002B48CC 38 63 00 60 */ addi r3, r3, 0x60 +/* 802B8C70 002B48D0 3B 7B 00 01 */ addi r27, r27, 1 +/* 802B8C74 002B48D4 42 00 FF DC */ bdnz lbl_802B8C50 +lbl_802B8C78: +/* 802B8C78 002B48D8 2C 1F 00 00 */ cmpwi r31, 0 +/* 802B8C7C 002B48DC 41 82 00 94 */ beq lbl_802B8D10 +/* 802B8C80 002B48E0 9A FF 00 5C */ stb r23, 0x5c(r31) +/* 802B8C84 002B48E4 7F A4 EB 78 */ mr r4, r29 +/* 802B8C88 002B48E8 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B8C8C 002B48EC 38 A0 00 06 */ li r5, 6 +/* 802B8C90 002B48F0 9A FF 00 59 */ stb r23, 0x59(r31) +/* 802B8C94 002B48F4 4B D4 B3 6D */ bl memcpy +/* 802B8C98 002B48F8 38 7F 00 46 */ addi r3, r31, 0x46 +/* 802B8C9C 002B48FC 38 9D 00 06 */ addi r4, r29, 6 +/* 802B8CA0 002B4900 38 A0 00 10 */ li r5, 0x10 +/* 802B8CA4 002B4904 4B D4 B3 5D */ bl memcpy +/* 802B8CA8 002B4908 48 00 00 68 */ b lbl_802B8D10 +lbl_802B8CAC: +/* 802B8CAC 002B490C 7F A4 EB 78 */ mr r4, r29 +/* 802B8CB0 002B4910 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B8CB4 002B4914 38 A0 00 06 */ li r5, 6 +/* 802B8CB8 002B4918 4B D4 B3 49 */ bl memcpy +/* 802B8CBC 002B491C 38 7F 00 46 */ addi r3, r31, 0x46 +/* 802B8CC0 002B4920 38 9D 00 06 */ addi r4, r29, 6 +/* 802B8CC4 002B4924 38 A0 00 10 */ li r5, 0x10 +/* 802B8CC8 002B4928 4B D4 B3 39 */ bl memcpy +/* 802B8CCC 002B492C 88 1F 00 5C */ lbz r0, 0x5c(r31) +/* 802B8CD0 002B4930 28 00 00 02 */ cmplwi r0, 2 +/* 802B8CD4 002B4934 40 82 00 08 */ bne lbl_802B8CDC +/* 802B8CD8 002B4938 9B 1F 00 5C */ stb r24, 0x5c(r31) +lbl_802B8CDC: +/* 802B8CDC 002B493C 7F A4 EB 78 */ mr r4, r29 +/* 802B8CE0 002B4940 38 7C 06 FC */ addi r3, r28, 0x6fc +/* 802B8CE4 002B4944 38 A0 00 06 */ li r5, 6 +/* 802B8CE8 002B4948 4B D4 B3 19 */ bl memcpy +/* 802B8CEC 002B494C 88 9C 06 FC */ lbz r4, 0x6fc(r28) +/* 802B8CF0 002B4950 38 7E 0C 98 */ addi r3, r30, 0xc98 +/* 802B8CF4 002B4954 88 BC 06 FD */ lbz r5, 0x6fd(r28) +/* 802B8CF8 002B4958 88 DC 06 FE */ lbz r6, 0x6fe(r28) +/* 802B8CFC 002B495C 88 FC 06 FF */ lbz r7, 0x6ff(r28) +/* 802B8D00 002B4960 89 1C 07 00 */ lbz r8, 0x700(r28) +/* 802B8D04 002B4964 89 3C 07 01 */ lbz r9, 0x701(r28) +/* 802B8D08 002B4968 4C C6 31 82 */ crclr 6 +/* 802B8D0C 002B496C 48 00 08 71 */ bl func_802B957C +lbl_802B8D10: +/* 802B8D10 002B4970 3B BD 00 16 */ addi r29, r29, 0x16 +/* 802B8D14 002B4974 3B 7B 00 01 */ addi r27, r27, 1 +lbl_802B8D18: +/* 802B8D18 002B4978 88 1A 00 01 */ lbz r0, 1(r26) +/* 802B8D1C 002B497C 7C 1B 00 00 */ cmpw r27, r0 +/* 802B8D20 002B4980 41 80 FE 60 */ blt lbl_802B8B80 +/* 802B8D24 002B4984 48 00 00 B8 */ b lbl_802B8DDC +lbl_802B8D28: +/* 802B8D28 002B4988 38 7E 0C C0 */ addi r3, r30, 0xcc0 +/* 802B8D2C 002B498C 4C C6 31 82 */ crclr 6 +/* 802B8D30 002B4990 48 00 08 4D */ bl func_802B957C +/* 802B8D34 002B4994 88 9A 00 01 */ lbz r4, 1(r26) +/* 802B8D38 002B4998 38 7E 0C E4 */ addi r3, r30, 0xce4 +/* 802B8D3C 002B499C A0 BA 00 02 */ lhz r5, 2(r26) +/* 802B8D40 002B49A0 A0 DA 00 04 */ lhz r6, 4(r26) +/* 802B8D44 002B49A4 4C C6 31 82 */ crclr 6 +/* 802B8D48 002B49A8 48 00 08 35 */ bl func_802B957C +/* 802B8D4C 002B49AC 38 00 00 00 */ li r0, 0 +/* 802B8D50 002B49B0 98 1C 00 0E */ stb r0, 0xe(r28) +/* 802B8D54 002B49B4 48 00 00 88 */ b lbl_802B8DDC +lbl_802B8D58: +/* 802B8D58 002B49B8 38 7E 0D 10 */ addi r3, r30, 0xd10 +/* 802B8D5C 002B49BC 4C C6 31 82 */ crclr 6 +/* 802B8D60 002B49C0 48 00 08 1D */ bl func_802B957C +/* 802B8D64 002B49C4 88 9A 00 01 */ lbz r4, 1(r26) +/* 802B8D68 002B49C8 38 7E 0D 34 */ addi r3, r30, 0xd34 +/* 802B8D6C 002B49CC 88 BA 00 02 */ lbz r5, 2(r26) +/* 802B8D70 002B49D0 4C C6 31 82 */ crclr 6 +/* 802B8D74 002B49D4 48 00 08 09 */ bl func_802B957C +/* 802B8D78 002B49D8 38 00 00 00 */ li r0, 0 +/* 802B8D7C 002B49DC 98 1C 00 0E */ stb r0, 0xe(r28) +/* 802B8D80 002B49E0 48 00 00 5C */ b lbl_802B8DDC +lbl_802B8D84: +/* 802B8D84 002B49E4 38 7E 0D 50 */ addi r3, r30, 0xd50 +/* 802B8D88 002B49E8 4C C6 31 82 */ crclr 6 +/* 802B8D8C 002B49EC 48 00 07 F1 */ bl func_802B957C +/* 802B8D90 002B49F0 88 9A 00 01 */ lbz r4, 1(r26) +/* 802B8D94 002B49F4 38 7E 0D 34 */ addi r3, r30, 0xd34 +/* 802B8D98 002B49F8 A0 BA 00 02 */ lhz r5, 2(r26) +/* 802B8D9C 002B49FC 4C C6 31 82 */ crclr 6 +/* 802B8DA0 002B4A00 48 00 07 DD */ bl func_802B957C +/* 802B8DA4 002B4A04 A0 1A 00 02 */ lhz r0, 2(r26) +/* 802B8DA8 002B4A08 2C 00 00 00 */ cmpwi r0, 0 +/* 802B8DAC 002B4A0C 40 82 00 10 */ bne lbl_802B8DBC +/* 802B8DB0 002B4A10 38 7E 0D 74 */ addi r3, r30, 0xd74 +/* 802B8DB4 002B4A14 4C C6 31 82 */ crclr 6 +/* 802B8DB8 002B4A18 48 00 07 C5 */ bl func_802B957C +lbl_802B8DBC: +/* 802B8DBC 002B4A1C 38 00 00 00 */ li r0, 0 +/* 802B8DC0 002B4A20 98 1C 00 0E */ stb r0, 0xe(r28) +/* 802B8DC4 002B4A24 48 00 00 18 */ b lbl_802B8DDC +lbl_802B8DC8: +/* 802B8DC8 002B4A28 38 BE 0D 94 */ addi r5, r30, 0xd94 +/* 802B8DCC 002B4A2C 38 6D 89 C0 */ addi r3, r13, lbl_8063DC80-_SDA_BASE_ +/* 802B8DD0 002B4A30 38 80 0F BD */ li r4, 0xfbd +/* 802B8DD4 002B4A34 4C C6 31 82 */ crclr 6 +/* 802B8DD8 002B4A38 4B FB 26 C5 */ bl OSPanic +lbl_802B8DDC: +/* 802B8DDC 002B4A3C 39 61 00 60 */ addi r11, r1, 0x60 +/* 802B8DE0 002B4A40 4B F0 E3 85 */ bl _restgpr_23 +/* 802B8DE4 002B4A44 80 01 00 64 */ lwz r0, 0x64(r1) +/* 802B8DE8 002B4A48 7C 08 03 A6 */ mtlr r0 +/* 802B8DEC 002B4A4C 38 21 00 60 */ addi r1, r1, 0x60 +/* 802B8DF0 002B4A50 4E 80 00 20 */ blr +lbl_802B8DF4: +/* 802B8DF4 002B4A54 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B8DF8 002B4A58 7C 08 02 A6 */ mflr r0 +/* 802B8DFC 002B4A5C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B8E00 002B4A60 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B8E04 002B4A64 4B F0 E3 25 */ bl _savegpr_27 +/* 802B8E08 002B4A68 3F C0 80 44 */ lis r30, lbl_8043E048@ha +/* 802B8E0C 002B4A6C 7C 7B 1B 78 */ mr r27, r3 +/* 802B8E10 002B4A70 3B DE E0 48 */ addi r30, r30, lbl_8043E048@l +/* 802B8E14 002B4A74 7C 9C 23 78 */ mr r28, r4 +/* 802B8E18 002B4A78 7C DD 33 78 */ mr r29, r6 +/* 802B8E1C 002B4A7C 38 7E 0D A4 */ addi r3, r30, 0xda4 +/* 802B8E20 002B4A80 4C C6 31 82 */ crclr 6 +/* 802B8E24 002B4A84 48 00 07 59 */ bl func_802B957C +/* 802B8E28 002B4A88 7F A4 EB 78 */ mr r4, r29 +/* 802B8E2C 002B4A8C 38 7E 0D C0 */ addi r3, r30, 0xdc0 +/* 802B8E30 002B4A90 4C C6 31 82 */ crclr 6 +/* 802B8E34 002B4A94 48 00 07 49 */ bl func_802B957C +/* 802B8E38 002B4A98 7F 63 DB 78 */ mr r3, r27 +/* 802B8E3C 002B4A9C 4B FF E9 29 */ bl func_802B7764 +/* 802B8E40 002B4AA0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B8E44 002B4AA4 7C 7D 1B 78 */ mr r29, r3 +/* 802B8E48 002B4AA8 40 82 00 28 */ bne lbl_802B8E70 +/* 802B8E4C 002B4AAC 3F E0 80 54 */ lis r31, lbl_8053B1C8@ha +/* 802B8E50 002B4AB0 7F 64 DB 78 */ mr r4, r27 +/* 802B8E54 002B4AB4 3B FF B1 C8 */ addi r31, r31, lbl_8053B1C8@l +/* 802B8E58 002B4AB8 38 A0 00 06 */ li r5, 6 +/* 802B8E5C 002B4ABC 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802B8E60 002B4AC0 4B F1 15 39 */ bl memcmp +/* 802B8E64 002B4AC4 2C 03 00 00 */ cmpwi r3, 0 +/* 802B8E68 002B4AC8 40 82 00 08 */ bne lbl_802B8E70 +/* 802B8E6C 002B4ACC 7F FD FB 78 */ mr r29, r31 +lbl_802B8E70: +/* 802B8E70 002B4AD0 2C 1C 00 01 */ cmpwi r28, 1 +/* 802B8E74 002B4AD4 41 82 00 34 */ beq lbl_802B8EA8 +/* 802B8E78 002B4AD8 40 80 00 10 */ bge lbl_802B8E88 +/* 802B8E7C 002B4ADC 2C 1C 00 00 */ cmpwi r28, 0 +/* 802B8E80 002B4AE0 40 80 00 14 */ bge lbl_802B8E94 +/* 802B8E84 002B4AE4 48 00 00 24 */ b lbl_802B8EA8 +lbl_802B8E88: +/* 802B8E88 002B4AE8 2C 1C 00 03 */ cmpwi r28, 3 +/* 802B8E8C 002B4AEC 40 80 00 1C */ bge lbl_802B8EA8 +/* 802B8E90 002B4AF0 48 00 00 10 */ b lbl_802B8EA0 +lbl_802B8E94: +/* 802B8E94 002B4AF4 38 00 00 08 */ li r0, 8 +/* 802B8E98 002B4AF8 98 1D 00 59 */ stb r0, 0x59(r29) +/* 802B8E9C 002B4AFC 48 00 00 0C */ b lbl_802B8EA8 +lbl_802B8EA0: +/* 802B8EA0 002B4B00 38 00 00 09 */ li r0, 9 +/* 802B8EA4 002B4B04 98 1D 00 59 */ stb r0, 0x59(r29) +lbl_802B8EA8: +/* 802B8EA8 002B4B08 88 9D 00 40 */ lbz r4, 0x40(r29) +/* 802B8EAC 002B4B0C 38 7E 0D D0 */ addi r3, r30, 0xdd0 +/* 802B8EB0 002B4B10 88 BD 00 41 */ lbz r5, 0x41(r29) +/* 802B8EB4 002B4B14 88 DD 00 42 */ lbz r6, 0x42(r29) +/* 802B8EB8 002B4B18 88 FD 00 43 */ lbz r7, 0x43(r29) +/* 802B8EBC 002B4B1C 89 1D 00 44 */ lbz r8, 0x44(r29) +/* 802B8EC0 002B4B20 89 3D 00 45 */ lbz r9, 0x45(r29) +/* 802B8EC4 002B4B24 89 5D 00 59 */ lbz r10, 0x59(r29) +/* 802B8EC8 002B4B28 4C C6 31 82 */ crclr 6 +/* 802B8ECC 002B4B2C 48 00 06 B1 */ bl func_802B957C +/* 802B8ED0 002B4B30 39 61 00 20 */ addi r11, r1, 0x20 +/* 802B8ED4 002B4B34 4B F0 E2 A1 */ bl _restgpr_27 +/* 802B8ED8 002B4B38 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B8EDC 002B4B3C 7C 08 03 A6 */ mtlr r0 +/* 802B8EE0 002B4B40 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B8EE4 002B4B44 4E 80 00 20 */ blr + +.global func_802B8EE8 +func_802B8EE8: +/* 802B8EE8 002B4B48 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B8EEC 002B4B4C 7C 08 02 A6 */ mflr r0 +/* 802B8EF0 002B4B50 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B8EF4 002B4B54 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B8EF8 002B4B58 7C 7F 1B 78 */ mr r31, r3 +/* 802B8EFC 002B4B5C 4B FB 58 61 */ bl OSDisableInterrupts +/* 802B8F00 002B4B60 28 1F 00 10 */ cmplwi r31, 0x10 +/* 802B8F04 002B4B64 40 80 00 18 */ bge lbl_802B8F1C +/* 802B8F08 002B4B68 3C 80 80 54 */ lis r4, lbl_8053B228@ha +/* 802B8F0C 002B4B6C 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d +/* 802B8F10 002B4B70 38 84 B2 28 */ addi r4, r4, lbl_8053B228@l +/* 802B8F14 002B4B74 7F E4 00 2E */ lwzx r31, r4, r0 +/* 802B8F18 002B4B78 48 00 00 08 */ b lbl_802B8F20 +lbl_802B8F1C: +/* 802B8F1C 002B4B7C 3B E0 00 00 */ li r31, 0 +lbl_802B8F20: +/* 802B8F20 002B4B80 4B FB 58 65 */ bl OSRestoreInterrupts +/* 802B8F24 002B4B84 7F E3 FB 78 */ mr r3, r31 +/* 802B8F28 002B4B88 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B8F2C 002B4B8C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B8F30 002B4B90 7C 08 03 A6 */ mtlr r0 +/* 802B8F34 002B4B94 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B8F38 002B4B98 4E 80 00 20 */ blr + +.global func_802B8F3C +func_802B8F3C: +/* 802B8F3C 002B4B9C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B8F40 002B4BA0 7C 08 02 A6 */ mflr r0 +/* 802B8F44 002B4BA4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B8F48 002B4BA8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B8F4C 002B4BAC 7C 7F 1B 78 */ mr r31, r3 +/* 802B8F50 002B4BB0 4B FB 58 0D */ bl OSDisableInterrupts +/* 802B8F54 002B4BB4 7F E0 07 75 */ extsb. r0, r31 +/* 802B8F58 002B4BB8 41 80 00 20 */ blt lbl_802B8F78 +/* 802B8F5C 002B4BBC 2C 00 00 10 */ cmpwi r0, 0x10 +/* 802B8F60 002B4BC0 40 80 00 18 */ bge lbl_802B8F78 +/* 802B8F64 002B4BC4 3C 80 80 54 */ lis r4, lbl_8053C280@ha +/* 802B8F68 002B4BC8 54 00 08 3C */ slwi r0, r0, 1 +/* 802B8F6C 002B4BCC 38 84 C2 80 */ addi r4, r4, lbl_8053C280@l +/* 802B8F70 002B4BD0 7F E4 02 2E */ lhzx r31, r4, r0 +/* 802B8F74 002B4BD4 48 00 00 08 */ b lbl_802B8F7C +lbl_802B8F78: +/* 802B8F78 002B4BD8 3B E0 00 00 */ li r31, 0 +lbl_802B8F7C: +/* 802B8F7C 002B4BDC 4B FB 58 09 */ bl OSRestoreInterrupts +/* 802B8F80 002B4BE0 7F E3 FB 78 */ mr r3, r31 +/* 802B8F84 002B4BE4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B8F88 002B4BE8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B8F8C 002B4BEC 7C 08 03 A6 */ mtlr r0 +/* 802B8F90 002B4BF0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B8F94 002B4BF4 4E 80 00 20 */ blr + +.global func_802B8F98 +func_802B8F98: +/* 802B8F98 002B4BF8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B8F9C 002B4BFC 7C 08 02 A6 */ mflr r0 +/* 802B8FA0 002B4C00 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B8FA4 002B4C04 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B8FA8 002B4C08 7C 7F 1B 78 */ mr r31, r3 +/* 802B8FAC 002B4C0C 4B FB 57 B1 */ bl OSDisableInterrupts +/* 802B8FB0 002B4C10 7F E0 07 75 */ extsb. r0, r31 +/* 802B8FB4 002B4C14 41 80 00 20 */ blt lbl_802B8FD4 +/* 802B8FB8 002B4C18 2C 00 00 10 */ cmpwi r0, 0x10 +/* 802B8FBC 002B4C1C 40 80 00 18 */ bge lbl_802B8FD4 +/* 802B8FC0 002B4C20 3C 80 80 54 */ lis r4, lbl_8053C2A0@ha +/* 802B8FC4 002B4C24 54 00 08 3C */ slwi r0, r0, 1 +/* 802B8FC8 002B4C28 38 84 C2 A0 */ addi r4, r4, lbl_8053C2A0@l +/* 802B8FCC 002B4C2C 7F E4 02 2E */ lhzx r31, r4, r0 +/* 802B8FD0 002B4C30 48 00 00 08 */ b lbl_802B8FD8 +lbl_802B8FD4: +/* 802B8FD4 002B4C34 3B E0 00 00 */ li r31, 0 +lbl_802B8FD8: +/* 802B8FD8 002B4C38 4B FB 57 AD */ bl OSRestoreInterrupts +/* 802B8FDC 002B4C3C 7F E3 FB 78 */ mr r3, r31 +/* 802B8FE0 002B4C40 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B8FE4 002B4C44 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B8FE8 002B4C48 7C 08 03 A6 */ mtlr r0 +/* 802B8FEC 002B4C4C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B8FF0 002B4C50 4E 80 00 20 */ blr + +.global func_802B8FF4 +func_802B8FF4: +/* 802B8FF4 002B4C54 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B8FF8 002B4C58 7C 08 02 A6 */ mflr r0 +/* 802B8FFC 002B4C5C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B9000 002B4C60 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B9004 002B4C64 4B FB 57 59 */ bl OSDisableInterrupts +/* 802B9008 002B4C68 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha +/* 802B900C 002B4C6C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l +/* 802B9010 002B4C70 8B E4 06 E5 */ lbz r31, 0x6e5(r4) +/* 802B9014 002B4C74 4B FB 57 71 */ bl OSRestoreInterrupts +/* 802B9018 002B4C78 7F E3 FB 78 */ mr r3, r31 +/* 802B901C 002B4C7C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B9020 002B4C80 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B9024 002B4C84 7C 08 03 A6 */ mtlr r0 +/* 802B9028 002B4C88 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B902C 002B4C8C 4E 80 00 20 */ blr +lbl_802B9030: +/* 802B9030 002B4C90 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B9034 002B4C94 7C 08 02 A6 */ mflr r0 +/* 802B9038 002B4C98 28 03 00 0F */ cmplwi r3, 0xf +/* 802B903C 002B4C9C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B9040 002B4CA0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B9044 002B4CA4 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha +/* 802B9048 002B4CA8 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l +/* 802B904C 002B4CAC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B9050 002B4CB0 7C 9E 23 78 */ mr r30, r4 +/* 802B9054 002B4CB4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B9058 002B4CB8 3F A0 80 44 */ lis r29, lbl_8043EEB0@ha +/* 802B905C 002B4CBC 3B BD EE B0 */ addi r29, r29, lbl_8043EEB0@l +/* 802B9060 002B4CC0 41 81 04 9C */ bgt lbl_802B94FC +/* 802B9064 002B4CC4 3C A0 80 44 */ lis r5, lbl_8043F0B0@ha +/* 802B9068 002B4CC8 54 60 10 3A */ slwi r0, r3, 2 +/* 802B906C 002B4CCC 38 A5 F0 B0 */ addi r5, r5, lbl_8043F0B0@l +/* 802B9070 002B4CD0 7C A5 00 2E */ lwzx r5, r5, r0 +/* 802B9074 002B4CD4 7C A9 03 A6 */ mtctr r5 +/* 802B9078 002B4CD8 4E 80 04 20 */ bctr +/* 802B907C 002B4CDC 38 7D 00 00 */ addi r3, r29, 0 +/* 802B9080 002B4CE0 4C C6 31 82 */ crclr 6 +/* 802B9084 002B4CE4 48 00 04 F9 */ bl func_802B957C +/* 802B9088 002B4CE8 80 1F 07 40 */ lwz r0, 0x740(r31) +/* 802B908C 002B4CEC 60 00 00 01 */ ori r0, r0, 1 +/* 802B9090 002B4CF0 90 1F 07 40 */ stw r0, 0x740(r31) +/* 802B9094 002B4CF4 48 00 04 68 */ b lbl_802B94FC +/* 802B9098 002B4CF8 38 7D 00 14 */ addi r3, r29, 0x14 +/* 802B909C 002B4CFC 4C C6 31 82 */ crclr 6 +/* 802B90A0 002B4D00 48 00 04 DD */ bl func_802B957C +/* 802B90A4 002B4D04 48 00 04 58 */ b lbl_802B94FC +/* 802B90A8 002B4D08 38 7D 00 28 */ addi r3, r29, 0x28 +/* 802B90AC 002B4D0C 4C C6 31 82 */ crclr 6 +/* 802B90B0 002B4D10 48 00 04 CD */ bl func_802B957C +/* 802B90B4 002B4D14 88 9E 00 07 */ lbz r4, 7(r30) +/* 802B90B8 002B4D18 38 7D 00 3C */ addi r3, r29, 0x3c +/* 802B90BC 002B4D1C 88 BE 00 00 */ lbz r5, 0(r30) +/* 802B90C0 002B4D20 88 DE 00 01 */ lbz r6, 1(r30) +/* 802B90C4 002B4D24 88 FE 00 02 */ lbz r7, 2(r30) +/* 802B90C8 002B4D28 89 1E 00 03 */ lbz r8, 3(r30) +/* 802B90CC 002B4D2C 89 3E 00 04 */ lbz r9, 4(r30) +/* 802B90D0 002B4D30 89 5E 00 05 */ lbz r10, 5(r30) +/* 802B90D4 002B4D34 4C C6 31 82 */ crclr 6 +/* 802B90D8 002B4D38 48 00 04 A5 */ bl func_802B957C +/* 802B90DC 002B4D3C 88 9E 00 06 */ lbz r4, 6(r30) +/* 802B90E0 002B4D40 2C 04 00 00 */ cmpwi r4, 0 +/* 802B90E4 002B4D44 40 82 01 30 */ bne lbl_802B9214 +/* 802B90E8 002B4D48 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha +/* 802B90EC 002B4D4C 7F C4 F3 78 */ mr r4, r30 +/* 802B90F0 002B4D50 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l +/* 802B90F4 002B4D54 38 A0 00 06 */ li r5, 6 +/* 802B90F8 002B4D58 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802B90FC 002B4D5C 4B F1 12 9D */ bl memcmp +/* 802B9100 002B4D60 2C 03 00 00 */ cmpwi r3, 0 +/* 802B9104 002B4D64 41 82 00 10 */ beq lbl_802B9114 +/* 802B9108 002B4D68 7F C3 F3 78 */ mr r3, r30 +/* 802B910C 002B4D6C 4B FF E6 59 */ bl func_802B7764 +/* 802B9110 002B4D70 7C 7D 1B 78 */ mr r29, r3 +lbl_802B9114: +/* 802B9114 002B4D74 88 1D 00 59 */ lbz r0, 0x59(r29) +/* 802B9118 002B4D78 2C 00 00 0C */ cmpwi r0, 0xc +/* 802B911C 002B4D7C 41 82 00 14 */ beq lbl_802B9130 +/* 802B9120 002B4D80 40 80 00 24 */ bge lbl_802B9144 +/* 802B9124 002B4D84 2C 00 00 02 */ cmpwi r0, 2 +/* 802B9128 002B4D88 41 82 00 14 */ beq lbl_802B913C +/* 802B912C 002B4D8C 48 00 00 18 */ b lbl_802B9144 +lbl_802B9130: +/* 802B9130 002B4D90 38 00 00 12 */ li r0, 0x12 +/* 802B9134 002B4D94 98 1F 00 0C */ stb r0, 0xc(r31) +/* 802B9138 002B4D98 48 00 00 0C */ b lbl_802B9144 +lbl_802B913C: +/* 802B913C 002B4D9C 38 00 00 17 */ li r0, 0x17 +/* 802B9140 002B4DA0 98 1F 00 0C */ stb r0, 0xc(r31) +lbl_802B9144: +/* 802B9144 002B4DA4 38 00 00 08 */ li r0, 8 +/* 802B9148 002B4DA8 7F C3 F3 78 */ mr r3, r30 +/* 802B914C 002B4DAC 98 1D 00 59 */ stb r0, 0x59(r29) +/* 802B9150 002B4DB0 88 1E 00 07 */ lbz r0, 7(r30) +/* 802B9154 002B4DB4 98 1D 00 56 */ stb r0, 0x56(r29) +/* 802B9158 002B4DB8 88 9F 06 E4 */ lbz r4, 0x6e4(r31) +/* 802B915C 002B4DBC 38 04 00 01 */ addi r0, r4, 1 +/* 802B9160 002B4DC0 98 1F 06 E4 */ stb r0, 0x6e4(r31) +/* 802B9164 002B4DC4 4B FF E6 01 */ bl func_802B7764 +/* 802B9168 002B4DC8 2C 03 00 00 */ cmpwi r3, 0 +/* 802B916C 002B4DCC 7C 7D 1B 78 */ mr r29, r3 +/* 802B9170 002B4DD0 40 82 00 0C */ bne lbl_802B917C +/* 802B9174 002B4DD4 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha +/* 802B9178 002B4DD8 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l +lbl_802B917C: +/* 802B917C 002B4DDC 88 1E 00 07 */ lbz r0, 7(r30) +/* 802B9180 002B4DE0 3C A0 80 54 */ lis r5, lbl_8053B228@ha +/* 802B9184 002B4DE4 3C 80 80 54 */ lis r4, lbl_8053C280@ha +/* 802B9188 002B4DE8 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha +/* 802B918C 002B4DEC 38 DD 00 40 */ addi r6, r29, 0x40 +/* 802B9190 002B4DF0 54 00 10 3A */ slwi r0, r0, 2 +/* 802B9194 002B4DF4 38 A5 B2 28 */ addi r5, r5, lbl_8053B228@l +/* 802B9198 002B4DF8 38 84 C2 80 */ addi r4, r4, lbl_8053C280@l +/* 802B919C 002B4DFC 7C C5 01 2E */ stwx r6, r5, r0 +/* 802B91A0 002B4E00 38 A0 00 00 */ li r5, 0 +/* 802B91A4 002B4E04 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l +/* 802B91A8 002B4E08 88 1E 00 07 */ lbz r0, 7(r30) +/* 802B91AC 002B4E0C 54 00 08 3C */ slwi r0, r0, 1 +/* 802B91B0 002B4E10 7C A4 03 2E */ sthx r5, r4, r0 +/* 802B91B4 002B4E14 88 1E 00 07 */ lbz r0, 7(r30) +/* 802B91B8 002B4E18 54 00 08 3C */ slwi r0, r0, 1 +/* 802B91BC 002B4E1C 7C A3 03 2E */ sthx r5, r3, r0 +/* 802B91C0 002B4E20 88 1D 00 5B */ lbz r0, 0x5b(r29) +/* 802B91C4 002B4E24 28 00 00 03 */ cmplwi r0, 3 +/* 802B91C8 002B4E28 41 82 00 0C */ beq lbl_802B91D4 +/* 802B91CC 002B4E2C 28 00 00 01 */ cmplwi r0, 1 +/* 802B91D0 002B4E30 40 82 00 10 */ bne lbl_802B91E0 +lbl_802B91D4: +/* 802B91D4 002B4E34 7F A3 EB 78 */ mr r3, r29 +/* 802B91D8 002B4E38 4B FF E7 25 */ bl func_802B78FC +/* 802B91DC 002B4E3C 48 00 00 0C */ b lbl_802B91E8 +lbl_802B91E0: +/* 802B91E0 002B4E40 7F A3 EB 78 */ mr r3, r29 +/* 802B91E4 002B4E44 4B FF EA A1 */ bl func_802B7C84 +lbl_802B91E8: +/* 802B91E8 002B4E48 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802B91EC 002B4E4C 38 80 00 08 */ li r4, 8 +/* 802B91F0 002B4E50 4B FF D8 25 */ bl func_802B6A14 +/* 802B91F4 002B4E54 81 9F 06 F0 */ lwz r12, 0x6f0(r31) +/* 802B91F8 002B4E58 2C 0C 00 00 */ cmpwi r12, 0 +/* 802B91FC 002B4E5C 41 82 03 00 */ beq lbl_802B94FC +/* 802B9200 002B4E60 88 7E 00 07 */ lbz r3, 7(r30) +/* 802B9204 002B4E64 38 80 00 01 */ li r4, 1 +/* 802B9208 002B4E68 7D 89 03 A6 */ mtctr r12 +/* 802B920C 002B4E6C 4E 80 04 21 */ bctrl +/* 802B9210 002B4E70 48 00 02 EC */ b lbl_802B94FC +lbl_802B9214: +/* 802B9214 002B4E74 38 7D 00 70 */ addi r3, r29, 0x70 +/* 802B9218 002B4E78 4C C6 31 82 */ crclr 6 +/* 802B921C 002B4E7C 48 00 03 61 */ bl func_802B957C +/* 802B9220 002B4E80 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha +/* 802B9224 002B4E84 7F C3 F3 78 */ mr r3, r30 +/* 802B9228 002B4E88 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l +/* 802B922C 002B4E8C 38 A0 00 06 */ li r5, 6 +/* 802B9230 002B4E90 38 9D 00 40 */ addi r4, r29, 0x40 +/* 802B9234 002B4E94 4B F1 11 65 */ bl memcmp +/* 802B9238 002B4E98 2C 03 00 00 */ cmpwi r3, 0 +/* 802B923C 002B4E9C 40 82 02 C0 */ bne lbl_802B94FC +/* 802B9240 002B4EA0 88 1F 00 0C */ lbz r0, 0xc(r31) +/* 802B9244 002B4EA4 2C 00 00 00 */ cmpwi r0, 0 +/* 802B9248 002B4EA8 41 82 02 B4 */ beq lbl_802B94FC +/* 802B924C 002B4EAC 88 1D 00 59 */ lbz r0, 0x59(r29) +/* 802B9250 002B4EB0 28 00 00 02 */ cmplwi r0, 2 +/* 802B9254 002B4EB4 40 82 02 A8 */ bne lbl_802B94FC +/* 802B9258 002B4EB8 7F C3 F3 78 */ mr r3, r30 +/* 802B925C 002B4EBC 4B FF E5 09 */ bl func_802B7764 +/* 802B9260 002B4EC0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B9264 002B4EC4 41 82 00 24 */ beq lbl_802B9288 +/* 802B9268 002B4EC8 88 1E 00 06 */ lbz r0, 6(r30) +/* 802B926C 002B4ECC 28 00 00 0C */ cmplwi r0, 0xc +/* 802B9270 002B4ED0 40 82 00 18 */ bne lbl_802B9288 +/* 802B9274 002B4ED4 7F C3 F3 78 */ mr r3, r30 +/* 802B9278 002B4ED8 4B FF E3 A9 */ bl func_802B7620 +/* 802B927C 002B4EDC 88 7F 06 E5 */ lbz r3, 0x6e5(r31) +/* 802B9280 002B4EE0 38 03 FF FF */ addi r0, r3, -1 +/* 802B9284 002B4EE4 98 1F 06 E5 */ stb r0, 0x6e5(r31) +lbl_802B9288: +/* 802B9288 002B4EE8 38 00 00 FF */ li r0, 0xff +/* 802B928C 002B4EEC 98 1F 00 0C */ stb r0, 0xc(r31) +/* 802B9290 002B4EF0 48 00 02 6C */ b lbl_802B94FC +/* 802B9294 002B4EF4 38 7D 00 80 */ addi r3, r29, 0x80 +/* 802B9298 002B4EF8 4C C6 31 82 */ crclr 6 +/* 802B929C 002B4EFC 48 00 02 E1 */ bl func_802B957C +/* 802B92A0 002B4F00 88 9F 06 E4 */ lbz r4, 0x6e4(r31) +/* 802B92A4 002B4F04 38 7D 00 94 */ addi r3, r29, 0x94 +/* 802B92A8 002B4F08 38 04 FF FF */ addi r0, r4, -1 +/* 802B92AC 002B4F0C 98 1F 06 E4 */ stb r0, 0x6e4(r31) +/* 802B92B0 002B4F10 88 9E 00 01 */ lbz r4, 1(r30) +/* 802B92B4 002B4F14 88 BE 00 00 */ lbz r5, 0(r30) +/* 802B92B8 002B4F18 4C C6 31 82 */ crclr 6 +/* 802B92BC 002B4F1C 48 00 02 C1 */ bl func_802B957C +/* 802B92C0 002B4F20 88 1E 00 01 */ lbz r0, 1(r30) +/* 802B92C4 002B4F24 3C 60 80 54 */ lis r3, lbl_8053B228@ha +/* 802B92C8 002B4F28 38 63 B2 28 */ addi r3, r3, lbl_8053B228@l +/* 802B92CC 002B4F2C 54 00 10 3A */ slwi r0, r0, 2 +/* 802B92D0 002B4F30 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802B92D4 002B4F34 4B FF E4 91 */ bl func_802B7764 +/* 802B92D8 002B4F38 2C 03 00 00 */ cmpwi r3, 0 +/* 802B92DC 002B4F3C 41 82 00 24 */ beq lbl_802B9300 +/* 802B92E0 002B4F40 88 03 00 5B */ lbz r0, 0x5b(r3) +/* 802B92E4 002B4F44 28 00 00 03 */ cmplwi r0, 3 +/* 802B92E8 002B4F48 41 82 00 0C */ beq lbl_802B92F4 +/* 802B92EC 002B4F4C 28 00 00 01 */ cmplwi r0, 1 +/* 802B92F0 002B4F50 40 82 00 0C */ bne lbl_802B92FC +lbl_802B92F4: +/* 802B92F4 002B4F54 4B FF E8 39 */ bl func_802B7B2C +/* 802B92F8 002B4F58 48 00 00 08 */ b lbl_802B9300 +lbl_802B92FC: +/* 802B92FC 002B4F5C 4B FF EB B9 */ bl func_802B7EB4 +lbl_802B9300: +/* 802B9300 002B4F60 88 1E 00 01 */ lbz r0, 1(r30) +/* 802B9304 002B4F64 3C A0 80 54 */ lis r5, lbl_8053B228@ha +/* 802B9308 002B4F68 3C 80 80 54 */ lis r4, lbl_8053C280@ha +/* 802B930C 002B4F6C 81 9F 06 F0 */ lwz r12, 0x6f0(r31) +/* 802B9310 002B4F70 54 00 10 3A */ slwi r0, r0, 2 +/* 802B9314 002B4F74 38 A5 B2 28 */ addi r5, r5, lbl_8053B228@l +/* 802B9318 002B4F78 38 C0 00 00 */ li r6, 0 +/* 802B931C 002B4F7C 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha +/* 802B9320 002B4F80 7C C5 01 2E */ stwx r6, r5, r0 +/* 802B9324 002B4F84 38 84 C2 80 */ addi r4, r4, lbl_8053C280@l +/* 802B9328 002B4F88 2C 0C 00 00 */ cmpwi r12, 0 +/* 802B932C 002B4F8C 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l +/* 802B9330 002B4F90 88 1E 00 01 */ lbz r0, 1(r30) +/* 802B9334 002B4F94 54 00 08 3C */ slwi r0, r0, 1 +/* 802B9338 002B4F98 7C C4 03 2E */ sthx r6, r4, r0 +/* 802B933C 002B4F9C 88 1E 00 01 */ lbz r0, 1(r30) +/* 802B9340 002B4FA0 54 00 08 3C */ slwi r0, r0, 1 +/* 802B9344 002B4FA4 7C C3 03 2E */ sthx r6, r3, r0 +/* 802B9348 002B4FA8 41 82 01 B4 */ beq lbl_802B94FC +/* 802B934C 002B4FAC 88 7E 00 01 */ lbz r3, 1(r30) +/* 802B9350 002B4FB0 38 80 00 00 */ li r4, 0 +/* 802B9354 002B4FB4 7D 89 03 A6 */ mtctr r12 +/* 802B9358 002B4FB8 4E 80 04 21 */ bctrl +/* 802B935C 002B4FBC 48 00 01 A0 */ b lbl_802B94FC +/* 802B9360 002B4FC0 38 7D 00 B8 */ addi r3, r29, 0xb8 +/* 802B9364 002B4FC4 4C C6 31 82 */ crclr 6 +/* 802B9368 002B4FC8 48 00 02 15 */ bl func_802B957C +/* 802B936C 002B4FCC 48 00 01 90 */ b lbl_802B94FC +/* 802B9370 002B4FD0 38 7D 00 CC */ addi r3, r29, 0xcc +/* 802B9374 002B4FD4 4C C6 31 82 */ crclr 6 +/* 802B9378 002B4FD8 48 00 02 05 */ bl func_802B957C +/* 802B937C 002B4FDC 48 00 01 80 */ b lbl_802B94FC +/* 802B9380 002B4FE0 38 7D 00 E0 */ addi r3, r29, 0xe0 +/* 802B9384 002B4FE4 4C C6 31 82 */ crclr 6 +/* 802B9388 002B4FE8 48 00 01 F5 */ bl func_802B957C +/* 802B938C 002B4FEC 48 00 01 70 */ b lbl_802B94FC +/* 802B9390 002B4FF0 38 7D 00 F8 */ addi r3, r29, 0xf8 +/* 802B9394 002B4FF4 4C C6 31 82 */ crclr 6 +/* 802B9398 002B4FF8 48 00 01 E5 */ bl func_802B957C +/* 802B939C 002B4FFC 48 00 01 60 */ b lbl_802B94FC +/* 802B93A0 002B5000 38 7D 01 10 */ addi r3, r29, 0x110 +/* 802B93A4 002B5004 4C C6 31 82 */ crclr 6 +/* 802B93A8 002B5008 48 00 01 D5 */ bl func_802B957C +/* 802B93AC 002B500C 48 00 01 50 */ b lbl_802B94FC +/* 802B93B0 002B5010 38 7D 01 28 */ addi r3, r29, 0x128 +/* 802B93B4 002B5014 4C C6 31 82 */ crclr 6 +/* 802B93B8 002B5018 48 00 01 C5 */ bl func_802B957C +/* 802B93BC 002B501C 48 00 01 40 */ b lbl_802B94FC +/* 802B93C0 002B5020 38 7D 01 40 */ addi r3, r29, 0x140 +/* 802B93C4 002B5024 4C C6 31 82 */ crclr 6 +/* 802B93C8 002B5028 48 00 01 B5 */ bl func_802B957C +/* 802B93CC 002B502C 48 00 01 30 */ b lbl_802B94FC +/* 802B93D0 002B5030 38 7D 01 58 */ addi r3, r29, 0x158 +/* 802B93D4 002B5034 4C C6 31 82 */ crclr 6 +/* 802B93D8 002B5038 48 00 01 A5 */ bl func_802B957C +/* 802B93DC 002B503C 88 1E 00 05 */ lbz r0, 5(r30) +/* 802B93E0 002B5040 38 7D 01 6C */ addi r3, r29, 0x16c +/* 802B93E4 002B5044 90 01 00 08 */ stw r0, 8(r1) +/* 802B93E8 002B5048 88 9E 00 06 */ lbz r4, 6(r30) +/* 802B93EC 002B504C 88 BE 00 07 */ lbz r5, 7(r30) +/* 802B93F0 002B5050 88 DE 00 00 */ lbz r6, 0(r30) +/* 802B93F4 002B5054 88 FE 00 01 */ lbz r7, 1(r30) +/* 802B93F8 002B5058 89 1E 00 02 */ lbz r8, 2(r30) +/* 802B93FC 002B505C 89 3E 00 03 */ lbz r9, 3(r30) +/* 802B9400 002B5060 89 5E 00 04 */ lbz r10, 4(r30) +/* 802B9404 002B5064 4C C6 31 82 */ crclr 6 +/* 802B9408 002B5068 48 00 01 75 */ bl func_802B957C +/* 802B940C 002B506C 7F C3 F3 78 */ mr r3, r30 +/* 802B9410 002B5070 4B FF E3 55 */ bl func_802B7764 +/* 802B9414 002B5074 88 1E 00 07 */ lbz r0, 7(r30) +/* 802B9418 002B5078 98 03 00 56 */ stb r0, 0x56(r3) +/* 802B941C 002B507C 48 00 00 E0 */ b lbl_802B94FC +/* 802B9420 002B5080 38 7D 01 AC */ addi r3, r29, 0x1ac +/* 802B9424 002B5084 4C C6 31 82 */ crclr 6 +/* 802B9428 002B5088 48 00 01 55 */ bl func_802B957C +/* 802B942C 002B508C 88 1E 00 05 */ lbz r0, 5(r30) +/* 802B9430 002B5090 38 7D 01 6C */ addi r3, r29, 0x16c +/* 802B9434 002B5094 90 01 00 08 */ stw r0, 8(r1) +/* 802B9438 002B5098 88 9E 00 06 */ lbz r4, 6(r30) +/* 802B943C 002B509C 88 BE 00 07 */ lbz r5, 7(r30) +/* 802B9440 002B50A0 88 DE 00 00 */ lbz r6, 0(r30) +/* 802B9444 002B50A4 88 FE 00 01 */ lbz r7, 1(r30) +/* 802B9448 002B50A8 89 1E 00 02 */ lbz r8, 2(r30) +/* 802B944C 002B50AC 89 3E 00 03 */ lbz r9, 3(r30) +/* 802B9450 002B50B0 89 5E 00 04 */ lbz r10, 4(r30) +/* 802B9454 002B50B4 4C C6 31 82 */ crclr 6 +/* 802B9458 002B50B8 48 00 01 25 */ bl func_802B957C +/* 802B945C 002B50BC 48 00 00 A0 */ b lbl_802B94FC +/* 802B9460 002B50C0 38 7D 01 C0 */ addi r3, r29, 0x1c0 +/* 802B9464 002B50C4 4C C6 31 82 */ crclr 6 +/* 802B9468 002B50C8 48 00 01 15 */ bl func_802B957C +/* 802B946C 002B50CC 48 00 00 90 */ b lbl_802B94FC +/* 802B9470 002B50D0 A0 04 00 00 */ lhz r0, 0(r4) +/* 802B9474 002B50D4 88 7F 06 E5 */ lbz r3, 0x6e5(r31) +/* 802B9478 002B50D8 B0 1F 07 44 */ sth r0, 0x744(r31) +/* 802B947C 002B50DC A0 04 00 02 */ lhz r0, 2(r4) +/* 802B9480 002B50E0 B0 1F 07 46 */ sth r0, 0x746(r31) +/* 802B9484 002B50E4 A0 04 00 04 */ lhz r0, 4(r4) +/* 802B9488 002B50E8 7C 03 00 00 */ cmpw r3, r0 +/* 802B948C 002B50EC 40 80 00 18 */ bge lbl_802B94A4 +/* 802B9490 002B50F0 38 7D 01 D8 */ addi r3, r29, 0x1d8 +/* 802B9494 002B50F4 4C C6 31 82 */ crclr 6 +/* 802B9498 002B50F8 4B D4 E6 2D */ bl func_80007AC4 +/* 802B949C 002B50FC A0 1E 00 04 */ lhz r0, 4(r30) +/* 802B94A0 002B5100 98 1F 06 E5 */ stb r0, 0x6e5(r31) +lbl_802B94A4: +/* 802B94A4 002B5104 3C A0 80 54 */ lis r5, lbl_8053C280@ha +/* 802B94A8 002B5108 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha +/* 802B94AC 002B510C 7F C6 F3 78 */ mr r6, r30 +/* 802B94B0 002B5110 38 E0 00 00 */ li r7, 0 +/* 802B94B4 002B5114 38 A5 C2 80 */ addi r5, r5, lbl_8053C280@l +/* 802B94B8 002B5118 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l +/* 802B94BC 002B511C 48 00 00 34 */ b lbl_802B94F0 +lbl_802B94C0: +/* 802B94C0 002B5120 88 06 00 06 */ lbz r0, 6(r6) +/* 802B94C4 002B5124 28 00 00 10 */ cmplwi r0, 0x10 +/* 802B94C8 002B5128 40 80 00 20 */ bge lbl_802B94E8 +/* 802B94CC 002B512C A0 86 00 08 */ lhz r4, 8(r6) +/* 802B94D0 002B5130 54 00 0D FC */ rlwinm r0, r0, 1, 0x17, 0x1e +/* 802B94D4 002B5134 7C 85 03 2E */ sthx r4, r5, r0 +/* 802B94D8 002B5138 88 06 00 06 */ lbz r0, 6(r6) +/* 802B94DC 002B513C A0 86 00 0A */ lhz r4, 0xa(r6) +/* 802B94E0 002B5140 54 00 08 3C */ slwi r0, r0, 1 +/* 802B94E4 002B5144 7C 83 03 2E */ sthx r4, r3, r0 +lbl_802B94E8: +/* 802B94E8 002B5148 38 C6 00 06 */ addi r6, r6, 6 +/* 802B94EC 002B514C 38 E7 00 01 */ addi r7, r7, 1 +lbl_802B94F0: +/* 802B94F0 002B5150 A0 1E 00 04 */ lhz r0, 4(r30) +/* 802B94F4 002B5154 7C 07 00 00 */ cmpw r7, r0 +/* 802B94F8 002B5158 41 80 FF C8 */ blt lbl_802B94C0 +lbl_802B94FC: +/* 802B94FC 002B515C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802B9500 002B5160 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802B9504 002B5164 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802B9508 002B5168 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802B950C 002B516C 7C 08 03 A6 */ mtlr r0 +/* 802B9510 002B5170 38 21 00 20 */ addi r1, r1, 0x20 +/* 802B9514 002B5174 4E 80 00 20 */ blr + +.global func_802B9518 +func_802B9518: +/* 802B9518 002B5178 28 08 00 03 */ cmplwi r8, 3 +/* 802B951C 002B517C 3C C0 80 54 */ lis r6, lbl_8053A4E0@ha +/* 802B9520 002B5180 38 C6 A4 E0 */ addi r6, r6, lbl_8053A4E0@l +/* 802B9524 002B5184 40 82 00 18 */ bne lbl_802B953C +/* 802B9528 002B5188 81 86 06 EC */ lwz r12, 0x6ec(r6) +/* 802B952C 002B518C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802B9530 002B5190 4D 82 00 20 */ beqlr +/* 802B9534 002B5194 7D 89 03 A6 */ mtctr r12 +/* 802B9538 002B5198 4E 80 04 20 */ bctr +lbl_802B953C: +/* 802B953C 002B519C 3C 60 80 44 */ lis r3, lbl_8043F0F0@ha +/* 802B9540 002B51A0 7D 04 43 78 */ mr r4, r8 +/* 802B9544 002B51A4 38 63 F0 F0 */ addi r3, r3, lbl_8043F0F0@l +/* 802B9548 002B51A8 4C C6 31 82 */ crclr 6 +/* 802B954C 002B51AC 48 00 00 30 */ b func_802B957C +/* 802B9550 002B51B0 4E 80 00 20 */ blr + +.global func_802B9554 +func_802B9554: +/* 802B9554 002B51B4 3C 60 80 44 */ lis r3, lbl_8043F108@ha +/* 802B9558 002B51B8 38 63 F1 08 */ addi r3, r3, lbl_8043F108@l +/* 802B955C 002B51BC 4C C6 31 82 */ crclr 6 +/* 802B9560 002B51C0 48 00 00 1C */ b func_802B957C + +.global func_802B9564 +func_802B9564: +/* 802B9564 002B51C4 3C 60 80 44 */ lis r3, lbl_8043F11C@ha +/* 802B9568 002B51C8 38 63 F1 1C */ addi r3, r3, lbl_8043F11C@l +/* 802B956C 002B51CC 4C C6 31 82 */ crclr 6 +/* 802B9570 002B51D0 48 00 00 0C */ b func_802B957C + +.global func_802B9574 +func_802B9574: +/* 802B9574 002B51D4 38 60 00 00 */ li r3, 0 +/* 802B9578 002B51D8 4E 80 00 20 */ blr + +.global func_802B957C +func_802B957C: +/* 802B957C 002B51DC 94 21 FF 90 */ stwu r1, -0x70(r1) +/* 802B9580 002B51E0 40 86 00 24 */ bne cr1, lbl_802B95A4 +/* 802B9584 002B51E4 D8 21 00 28 */ stfd f1, 0x28(r1) +/* 802B9588 002B51E8 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 802B958C 002B51EC D8 61 00 38 */ stfd f3, 0x38(r1) +/* 802B9590 002B51F0 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 802B9594 002B51F4 D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 802B9598 002B51F8 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 802B959C 002B51FC D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 802B95A0 002B5200 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_802B95A4: +/* 802B95A4 002B5204 90 61 00 08 */ stw r3, 8(r1) +/* 802B95A8 002B5208 90 81 00 0C */ stw r4, 0xc(r1) +/* 802B95AC 002B520C 90 A1 00 10 */ stw r5, 0x10(r1) +/* 802B95B0 002B5210 90 C1 00 14 */ stw r6, 0x14(r1) +/* 802B95B4 002B5214 90 E1 00 18 */ stw r7, 0x18(r1) +/* 802B95B8 002B5218 91 01 00 1C */ stw r8, 0x1c(r1) +/* 802B95BC 002B521C 91 21 00 20 */ stw r9, 0x20(r1) +/* 802B95C0 002B5220 91 41 00 24 */ stw r10, 0x24(r1) +/* 802B95C4 002B5224 38 21 00 70 */ addi r1, r1, 0x70 +/* 802B95C8 002B5228 4E 80 00 20 */ blr + +.global func_802B95CC +func_802B95CC: +/* 802B95CC 002B522C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802B95D0 002B5230 7C 08 02 A6 */ mflr r0 +/* 802B95D4 002B5234 90 01 00 44 */ stw r0, 0x44(r1) +/* 802B95D8 002B5238 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B95DC 002B523C 4B F0 DB 29 */ bl _savegpr_18 +/* 802B95E0 002B5240 39 84 00 03 */ addi r12, r4, 3 +/* 802B95E4 002B5244 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha +/* 802B95E8 002B5248 55 89 00 3A */ rlwinm r9, r12, 0, 0, 0x1d +/* 802B95EC 002B524C 54 6B 15 BA */ rlwinm r11, r3, 2, 0x16, 0x1d +/* 802B95F0 002B5250 3B 49 00 0C */ addi r26, r9, 0xc +/* 802B95F4 002B5254 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l +/* 802B95F8 002B5258 57 48 04 3E */ clrlwi r8, r26, 0x10 +/* 802B95FC 002B525C 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b +/* 802B9600 002B5260 7C E8 29 D6 */ mullw r7, r8, r5 +/* 802B9604 002B5264 39 44 00 54 */ addi r10, r4, 0x54 +/* 802B9608 002B5268 54 64 0D FC */ rlwinm r4, r3, 1, 0x17, 0x1e +/* 802B960C 002B526C 3F 2A 00 03 */ addis r25, r10, 3 +/* 802B9610 002B5270 55 8C 04 3A */ rlwinm r12, r12, 0, 0x10, 0x1d +/* 802B9614 002B5274 7F 19 5A 14 */ add r24, r25, r11 +/* 802B9618 002B5278 7D 66 3A 14 */ add r11, r6, r7 +/* 802B961C 002B527C 90 D8 8A 1C */ stw r6, -0x75e4(r24) +/* 802B9620 002B5280 7C F9 22 14 */ add r7, r25, r4 +/* 802B9624 002B5284 38 80 00 00 */ li r4, 0 +/* 802B9628 002B5288 91 78 8A 40 */ stw r11, -0x75c0(r24) +/* 802B962C 002B528C 7D 79 02 14 */ add r11, r25, r0 +/* 802B9630 002B5290 2C 05 00 00 */ cmpwi r5, 0 +/* 802B9634 002B5294 B3 47 8A 64 */ sth r26, -0x759c(r7) +/* 802B9638 002B5298 38 E0 00 00 */ li r7, 0 +/* 802B963C 002B529C B1 8B 89 94 */ sth r12, -0x766c(r11) +/* 802B9640 002B52A0 B0 AB 89 96 */ sth r5, -0x766a(r11) +/* 802B9644 002B52A4 B0 8B 89 98 */ sth r4, -0x7668(r11) +/* 802B9648 002B52A8 B0 8B 89 9A */ sth r4, -0x7666(r11) +/* 802B964C 002B52AC 90 CB 89 8C */ stw r6, -0x7674(r11) +/* 802B9650 002B52B0 41 82 01 70 */ beq lbl_802B97C0 +/* 802B9654 002B52B4 28 05 00 08 */ cmplwi r5, 8 +/* 802B9658 002B52B8 3D 65 00 01 */ addis r11, r5, 1 +/* 802B965C 002B52BC 39 6B FF F8 */ addi r11, r11, -8 +/* 802B9660 002B52C0 40 81 01 14 */ ble lbl_802B9774 +/* 802B9664 002B52C4 55 6C 04 3E */ clrlwi r12, r11, 0x10 +/* 802B9668 002B52C8 3F 60 DD BB */ lis r27, 0xDDBADDBA@ha +/* 802B966C 002B52CC 39 6C 00 07 */ addi r11, r12, 7 +/* 802B9670 002B52D0 3B 00 00 F0 */ li r24, 0xf0 +/* 802B9674 002B52D4 55 6B E8 FE */ srwi r11, r11, 3 +/* 802B9678 002B52D8 3B 5B DD BA */ addi r26, r27, 0xDDBADDBA@l +/* 802B967C 002B52DC 3B 20 00 00 */ li r25, 0 +/* 802B9680 002B52E0 7D 69 03 A6 */ mtctr r11 +/* 802B9684 002B52E4 28 0C 00 00 */ cmplwi r12, 0 +/* 802B9688 002B52E8 40 81 00 EC */ ble lbl_802B9774 +lbl_802B968C: +/* 802B968C 002B52EC 9B 06 00 05 */ stb r24, 5(r6) +/* 802B9690 002B52F0 7E 46 42 14 */ add r18, r6, r8 +/* 802B9694 002B52F4 7E 72 42 14 */ add r19, r18, r8 +/* 802B9698 002B52F8 7C 86 4A 14 */ add r4, r6, r9 +/* 802B969C 002B52FC 98 66 00 04 */ stb r3, 4(r6) +/* 802B96A0 002B5300 7E 93 42 14 */ add r20, r19, r8 +/* 802B96A4 002B5304 7E B4 42 14 */ add r21, r20, r8 +/* 802B96A8 002B5308 7F 72 4A 14 */ add r27, r18, r9 +/* 802B96AC 002B530C 9B 26 00 06 */ stb r25, 6(r6) +/* 802B96B0 002B5310 7E D5 42 14 */ add r22, r21, r8 +/* 802B96B4 002B5314 7E F6 42 14 */ add r23, r22, r8 +/* 802B96B8 002B5318 7F 93 4A 14 */ add r28, r19, r9 +/* 802B96BC 002B531C 93 44 00 08 */ stw r26, 8(r4) +/* 802B96C0 002B5320 7C 97 42 14 */ add r4, r23, r8 +/* 802B96C4 002B5324 7F F4 4A 14 */ add r31, r20, r9 +/* 802B96C8 002B5328 7F D5 4A 14 */ add r30, r21, r9 +/* 802B96CC 002B532C 92 46 00 00 */ stw r18, 0(r6) +/* 802B96D0 002B5330 7F B6 4A 14 */ add r29, r22, r9 +/* 802B96D4 002B5334 7D 97 4A 14 */ add r12, r23, r9 +/* 802B96D8 002B5338 7D 64 4A 14 */ add r11, r4, r9 +/* 802B96DC 002B533C 9B 12 00 05 */ stb r24, 5(r18) +/* 802B96E0 002B5340 7C C4 42 14 */ add r6, r4, r8 +/* 802B96E4 002B5344 38 E7 00 08 */ addi r7, r7, 8 +/* 802B96E8 002B5348 98 72 00 04 */ stb r3, 4(r18) +/* 802B96EC 002B534C 9B 32 00 06 */ stb r25, 6(r18) +/* 802B96F0 002B5350 93 5B 00 08 */ stw r26, 8(r27) +/* 802B96F4 002B5354 92 72 00 00 */ stw r19, 0(r18) +/* 802B96F8 002B5358 9B 13 00 05 */ stb r24, 5(r19) +/* 802B96FC 002B535C 98 73 00 04 */ stb r3, 4(r19) +/* 802B9700 002B5360 9B 33 00 06 */ stb r25, 6(r19) +/* 802B9704 002B5364 93 5C 00 08 */ stw r26, 8(r28) +/* 802B9708 002B5368 7E 92 41 2E */ stwx r20, r18, r8 +/* 802B970C 002B536C 9B 14 00 05 */ stb r24, 5(r20) +/* 802B9710 002B5370 98 74 00 04 */ stb r3, 4(r20) +/* 802B9714 002B5374 9B 34 00 06 */ stb r25, 6(r20) +/* 802B9718 002B5378 93 5F 00 08 */ stw r26, 8(r31) +/* 802B971C 002B537C 7E B3 41 2E */ stwx r21, r19, r8 +/* 802B9720 002B5380 9B 15 00 05 */ stb r24, 5(r21) +/* 802B9724 002B5384 98 75 00 04 */ stb r3, 4(r21) +/* 802B9728 002B5388 9B 35 00 06 */ stb r25, 6(r21) +/* 802B972C 002B538C 93 5E 00 08 */ stw r26, 8(r30) +/* 802B9730 002B5390 7E D4 41 2E */ stwx r22, r20, r8 +/* 802B9734 002B5394 9B 16 00 05 */ stb r24, 5(r22) +/* 802B9738 002B5398 98 76 00 04 */ stb r3, 4(r22) +/* 802B973C 002B539C 9B 36 00 06 */ stb r25, 6(r22) +/* 802B9740 002B53A0 93 5D 00 08 */ stw r26, 8(r29) +/* 802B9744 002B53A4 7E F5 41 2E */ stwx r23, r21, r8 +/* 802B9748 002B53A8 9B 17 00 05 */ stb r24, 5(r23) +/* 802B974C 002B53AC 98 77 00 04 */ stb r3, 4(r23) +/* 802B9750 002B53B0 9B 37 00 06 */ stb r25, 6(r23) +/* 802B9754 002B53B4 93 4C 00 08 */ stw r26, 8(r12) +/* 802B9758 002B53B8 7C 96 41 2E */ stwx r4, r22, r8 +/* 802B975C 002B53BC 9B 04 00 05 */ stb r24, 5(r4) +/* 802B9760 002B53C0 98 64 00 04 */ stb r3, 4(r4) +/* 802B9764 002B53C4 9B 24 00 06 */ stb r25, 6(r4) +/* 802B9768 002B53C8 93 4B 00 08 */ stw r26, 8(r11) +/* 802B976C 002B53CC 7C D7 41 2E */ stwx r6, r23, r8 +/* 802B9770 002B53D0 42 00 FF 1C */ bdnz lbl_802B968C +lbl_802B9774: +/* 802B9774 002B53D4 54 EC 04 3E */ clrlwi r12, r7, 0x10 +/* 802B9778 002B53D8 3F E0 DD BB */ lis r31, 0xDDBADDBA@ha +/* 802B977C 002B53DC 7D 6C 28 50 */ subf r11, r12, r5 +/* 802B9780 002B53E0 3B A0 00 F0 */ li r29, 0xf0 +/* 802B9784 002B53E4 3B FF DD BA */ addi r31, r31, 0xDDBADDBA@l +/* 802B9788 002B53E8 3B C0 00 00 */ li r30, 0 +/* 802B978C 002B53EC 7D 69 03 A6 */ mtctr r11 +/* 802B9790 002B53F0 7C 0C 28 40 */ cmplw r12, r5 +/* 802B9794 002B53F4 40 80 00 2C */ bge lbl_802B97C0 +lbl_802B9798: +/* 802B9798 002B53F8 9B A6 00 05 */ stb r29, 5(r6) +/* 802B979C 002B53FC 7C A6 4A 14 */ add r5, r6, r9 +/* 802B97A0 002B5400 7C C4 33 78 */ mr r4, r6 +/* 802B97A4 002B5404 38 E7 00 01 */ addi r7, r7, 1 +/* 802B97A8 002B5408 98 66 00 04 */ stb r3, 4(r6) +/* 802B97AC 002B540C 9B C6 00 06 */ stb r30, 6(r6) +/* 802B97B0 002B5410 7C C6 42 14 */ add r6, r6, r8 +/* 802B97B4 002B5414 93 E5 00 08 */ stw r31, 8(r5) +/* 802B97B8 002B5418 90 C4 00 00 */ stw r6, 0(r4) +/* 802B97BC 002B541C 42 00 FF DC */ bdnz lbl_802B9798 +lbl_802B97C0: +/* 802B97C0 002B5420 38 A0 00 00 */ li r5, 0 +/* 802B97C4 002B5424 3C 6A 00 03 */ addis r3, r10, 3 +/* 802B97C8 002B5428 90 A4 00 00 */ stw r5, 0(r4) +/* 802B97CC 002B542C 7C 63 02 14 */ add r3, r3, r0 +/* 802B97D0 002B5430 39 61 00 40 */ addi r11, r1, 0x40 +/* 802B97D4 002B5434 90 83 89 90 */ stw r4, -0x7670(r3) +/* 802B97D8 002B5438 4B F0 D9 79 */ bl _restgpr_18 +/* 802B97DC 002B543C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802B97E0 002B5440 7C 08 03 A6 */ mtlr r0 +/* 802B97E4 002B5444 38 21 00 40 */ addi r1, r1, 0x40 +/* 802B97E8 002B5448 4E 80 00 20 */ blr + +.global func_802B97EC +func_802B97EC: +/* 802B97EC 002B544C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B97F0 002B5450 7C 08 02 A6 */ mflr r0 +/* 802B97F4 002B5454 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802B97F8 002B5458 38 C0 00 00 */ li r6, 0 +/* 802B97FC 002B545C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B9800 002B5460 38 00 00 02 */ li r0, 2 +/* 802B9804 002B5464 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802B9808 002B5468 38 80 00 00 */ li r4, 0 +/* 802B980C 002B546C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B9810 002B5470 3B E3 00 54 */ addi r31, r3, 0x54 +/* 802B9814 002B5474 7C 09 03 A6 */ mtctr r0 +lbl_802B9818: +/* 802B9818 002B5478 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b +/* 802B981C 002B547C 38 C6 00 01 */ addi r6, r6, 1 +/* 802B9820 002B5480 7C BF 02 14 */ add r5, r31, r0 +/* 802B9824 002B5484 3C 65 00 03 */ addis r3, r5, 3 +/* 802B9828 002B5488 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b +/* 802B982C 002B548C 90 83 88 8C */ stw r4, -0x7774(r3) +/* 802B9830 002B5490 7C BF 02 14 */ add r5, r31, r0 +/* 802B9834 002B5494 38 C6 00 01 */ addi r6, r6, 1 +/* 802B9838 002B5498 90 83 89 0C */ stw r4, -0x76f4(r3) +/* 802B983C 002B549C 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b +/* 802B9840 002B54A0 38 C6 00 01 */ addi r6, r6, 1 +/* 802B9844 002B54A4 90 83 88 90 */ stw r4, -0x7770(r3) +/* 802B9848 002B54A8 90 83 89 10 */ stw r4, -0x76f0(r3) +/* 802B984C 002B54AC 90 83 88 94 */ stw r4, -0x776c(r3) +/* 802B9850 002B54B0 90 83 89 14 */ stw r4, -0x76ec(r3) +/* 802B9854 002B54B4 90 83 88 98 */ stw r4, -0x7768(r3) +/* 802B9858 002B54B8 90 83 89 18 */ stw r4, -0x76e8(r3) +/* 802B985C 002B54BC 3C 65 00 03 */ addis r3, r5, 3 +/* 802B9860 002B54C0 7C BF 02 14 */ add r5, r31, r0 +/* 802B9864 002B54C4 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b +/* 802B9868 002B54C8 90 83 88 8C */ stw r4, -0x7774(r3) +/* 802B986C 002B54CC 38 C6 00 01 */ addi r6, r6, 1 +/* 802B9870 002B54D0 90 83 89 0C */ stw r4, -0x76f4(r3) +/* 802B9874 002B54D4 90 83 88 90 */ stw r4, -0x7770(r3) +/* 802B9878 002B54D8 90 83 89 10 */ stw r4, -0x76f0(r3) +/* 802B987C 002B54DC 90 83 88 94 */ stw r4, -0x776c(r3) +/* 802B9880 002B54E0 90 83 89 14 */ stw r4, -0x76ec(r3) +/* 802B9884 002B54E4 90 83 88 98 */ stw r4, -0x7768(r3) +/* 802B9888 002B54E8 90 83 89 18 */ stw r4, -0x76e8(r3) +/* 802B988C 002B54EC 3C 65 00 03 */ addis r3, r5, 3 +/* 802B9890 002B54F0 7C BF 02 14 */ add r5, r31, r0 +/* 802B9894 002B54F4 90 83 88 8C */ stw r4, -0x7774(r3) +/* 802B9898 002B54F8 90 83 89 0C */ stw r4, -0x76f4(r3) +/* 802B989C 002B54FC 90 83 88 90 */ stw r4, -0x7770(r3) +/* 802B98A0 002B5500 90 83 89 10 */ stw r4, -0x76f0(r3) +/* 802B98A4 002B5504 90 83 88 94 */ stw r4, -0x776c(r3) +/* 802B98A8 002B5508 90 83 89 14 */ stw r4, -0x76ec(r3) +/* 802B98AC 002B550C 90 83 88 98 */ stw r4, -0x7768(r3) +/* 802B98B0 002B5510 90 83 89 18 */ stw r4, -0x76e8(r3) +/* 802B98B4 002B5514 3C 65 00 03 */ addis r3, r5, 3 +/* 802B98B8 002B5518 90 83 88 8C */ stw r4, -0x7774(r3) +/* 802B98BC 002B551C 90 83 89 0C */ stw r4, -0x76f4(r3) +/* 802B98C0 002B5520 90 83 88 90 */ stw r4, -0x7770(r3) +/* 802B98C4 002B5524 90 83 89 10 */ stw r4, -0x76f0(r3) +/* 802B98C8 002B5528 90 83 88 94 */ stw r4, -0x776c(r3) +/* 802B98CC 002B552C 90 83 89 14 */ stw r4, -0x76ec(r3) +/* 802B98D0 002B5530 90 83 88 98 */ stw r4, -0x7768(r3) +/* 802B98D4 002B5534 90 83 89 18 */ stw r4, -0x76e8(r3) +/* 802B98D8 002B5538 42 00 FF 40 */ bdnz lbl_802B9818 +/* 802B98DC 002B553C 38 00 00 03 */ li r0, 3 +/* 802B98E0 002B5540 39 40 00 00 */ li r10, 0 +/* 802B98E4 002B5544 38 E0 00 00 */ li r7, 0 +/* 802B98E8 002B5548 7C 09 03 A6 */ mtctr r0 +lbl_802B98EC: +/* 802B98EC 002B554C 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d +/* 802B98F0 002B5550 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e +/* 802B98F4 002B5554 7D 1F 02 14 */ add r8, r31, r0 +/* 802B98F8 002B5558 3C C8 00 03 */ addis r6, r8, 3 +/* 802B98FC 002B555C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b +/* 802B9900 002B5560 90 E6 8A 1C */ stw r7, -0x75e4(r6) +/* 802B9904 002B5564 3C 84 00 03 */ addis r4, r4, 3 +/* 802B9908 002B5568 7D 3F 02 14 */ add r9, r31, r0 +/* 802B990C 002B556C 39 4A 00 01 */ addi r10, r10, 1 +/* 802B9910 002B5570 90 E6 8A 40 */ stw r7, -0x75c0(r6) +/* 802B9914 002B5574 38 A4 8A 64 */ addi r5, r4, -30108 +/* 802B9918 002B5578 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d +/* 802B991C 002B557C 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e +/* 802B9920 002B5580 7C FF 2B 2E */ sthx r7, r31, r5 +/* 802B9924 002B5584 7D 1F 02 14 */ add r8, r31, r0 +/* 802B9928 002B5588 3C 69 00 03 */ addis r3, r9, 3 +/* 802B992C 002B558C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b +/* 802B9930 002B5590 90 E3 89 8C */ stw r7, -0x7674(r3) +/* 802B9934 002B5594 3C 84 00 03 */ addis r4, r4, 3 +/* 802B9938 002B5598 3C C8 00 03 */ addis r6, r8, 3 +/* 802B993C 002B559C 7D 3F 02 14 */ add r9, r31, r0 +/* 802B9940 002B55A0 90 E3 89 90 */ stw r7, -0x7670(r3) +/* 802B9944 002B55A4 39 4A 00 01 */ addi r10, r10, 1 +/* 802B9948 002B55A8 38 A4 8A 64 */ addi r5, r4, -30108 +/* 802B994C 002B55AC B0 E3 89 94 */ sth r7, -0x766c(r3) +/* 802B9950 002B55B0 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d +/* 802B9954 002B55B4 7D 1F 02 14 */ add r8, r31, r0 +/* 802B9958 002B55B8 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e +/* 802B995C 002B55BC B0 E3 89 96 */ sth r7, -0x766a(r3) +/* 802B9960 002B55C0 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b +/* 802B9964 002B55C4 3C 84 00 03 */ addis r4, r4, 3 +/* 802B9968 002B55C8 39 4A 00 01 */ addi r10, r10, 1 +/* 802B996C 002B55CC B0 E3 89 98 */ sth r7, -0x7668(r3) +/* 802B9970 002B55D0 B0 E3 89 9A */ sth r7, -0x7666(r3) +/* 802B9974 002B55D4 3C 69 00 03 */ addis r3, r9, 3 +/* 802B9978 002B55D8 7D 3F 02 14 */ add r9, r31, r0 +/* 802B997C 002B55DC 90 E6 8A 1C */ stw r7, -0x75e4(r6) +/* 802B9980 002B55E0 90 E6 8A 40 */ stw r7, -0x75c0(r6) +/* 802B9984 002B55E4 3C C8 00 03 */ addis r6, r8, 3 +/* 802B9988 002B55E8 7C FF 2B 2E */ sthx r7, r31, r5 +/* 802B998C 002B55EC 38 A4 8A 64 */ addi r5, r4, -30108 +/* 802B9990 002B55F0 90 E3 89 8C */ stw r7, -0x7674(r3) +/* 802B9994 002B55F4 90 E3 89 90 */ stw r7, -0x7670(r3) +/* 802B9998 002B55F8 B0 E3 89 94 */ sth r7, -0x766c(r3) +/* 802B999C 002B55FC B0 E3 89 96 */ sth r7, -0x766a(r3) +/* 802B99A0 002B5600 B0 E3 89 98 */ sth r7, -0x7668(r3) +/* 802B99A4 002B5604 B0 E3 89 9A */ sth r7, -0x7666(r3) +/* 802B99A8 002B5608 3C 69 00 03 */ addis r3, r9, 3 +/* 802B99AC 002B560C 90 E6 8A 1C */ stw r7, -0x75e4(r6) +/* 802B99B0 002B5610 90 E6 8A 40 */ stw r7, -0x75c0(r6) +/* 802B99B4 002B5614 7C FF 2B 2E */ sthx r7, r31, r5 +/* 802B99B8 002B5618 90 E3 89 8C */ stw r7, -0x7674(r3) +/* 802B99BC 002B561C 90 E3 89 90 */ stw r7, -0x7670(r3) +/* 802B99C0 002B5620 B0 E3 89 94 */ sth r7, -0x766c(r3) +/* 802B99C4 002B5624 B0 E3 89 96 */ sth r7, -0x766a(r3) +/* 802B99C8 002B5628 B0 E3 89 98 */ sth r7, -0x7668(r3) +/* 802B99CC 002B562C B0 E3 89 9A */ sth r7, -0x7666(r3) +/* 802B99D0 002B5630 42 00 FF 1C */ bdnz lbl_802B98EC +/* 802B99D4 002B5634 3C 80 00 01 */ lis r4, 0x0000FFF0@ha +/* 802B99D8 002B5638 3C 7F 00 03 */ addis r3, r31, 3 +/* 802B99DC 002B563C 38 04 FF F0 */ addi r0, r4, 0x0000FFF0@l +/* 802B99E0 002B5640 7F E6 FB 78 */ mr r6, r31 +/* 802B99E4 002B5644 B0 03 8A 7C */ sth r0, -0x7584(r3) +/* 802B99E8 002B5648 38 60 00 00 */ li r3, 0 +/* 802B99EC 002B564C 38 80 00 40 */ li r4, 0x40 +/* 802B99F0 002B5650 38 A0 00 30 */ li r5, 0x30 +/* 802B99F4 002B5654 4B FF FB D9 */ bl func_802B95CC +/* 802B99F8 002B5658 38 DF 0E 40 */ addi r6, r31, 0xe40 +/* 802B99FC 002B565C 38 60 00 01 */ li r3, 1 +/* 802B9A00 002B5660 38 80 00 80 */ li r4, 0x80 +/* 802B9A04 002B5664 38 A0 00 1A */ li r5, 0x1a +/* 802B9A08 002B5668 4B FF FB C5 */ bl func_802B95CC +/* 802B9A0C 002B566C 38 DF 1C 78 */ addi r6, r31, 0x1c78 +/* 802B9A10 002B5670 38 60 00 02 */ li r3, 2 +/* 802B9A14 002B5674 38 80 02 94 */ li r4, 0x294 +/* 802B9A18 002B5678 38 A0 00 2D */ li r5, 0x2d +/* 802B9A1C 002B567C 4B FF FB B1 */ bl func_802B95CC +/* 802B9A20 002B5680 3C DF 00 01 */ addis r6, r31, 1 +/* 802B9A24 002B5684 38 60 00 03 */ li r3, 3 +/* 802B9A28 002B5688 38 80 07 08 */ li r4, 0x708 +/* 802B9A2C 002B568C 38 A0 00 1E */ li r5, 0x1e +/* 802B9A30 002B5690 38 C6 92 98 */ addi r6, r6, -28008 +/* 802B9A34 002B5694 4B FF FB 99 */ bl func_802B95CC +/* 802B9A38 002B5698 3C DF 00 01 */ addis r6, r31, 1 +/* 802B9A3C 002B569C 38 60 00 04 */ li r3, 4 +/* 802B9A40 002B56A0 38 80 20 00 */ li r4, 0x2000 +/* 802B9A44 002B56A4 38 A0 00 09 */ li r5, 9 +/* 802B9A48 002B56A8 38 C6 66 F0 */ addi r6, r6, 0x66f0 +/* 802B9A4C 002B56AC 4B FF FB 81 */ bl func_802B95CC +/* 802B9A50 002B56B0 3C DF 00 03 */ addis r6, r31, 3 +/* 802B9A54 002B56B4 38 00 00 00 */ li r0, 0 +/* 802B9A58 002B56B8 98 06 8A 7E */ stb r0, -0x7582(r6) +/* 802B9A5C 002B56BC 38 00 00 01 */ li r0, 1 +/* 802B9A60 002B56C0 38 A0 00 02 */ li r5, 2 +/* 802B9A64 002B56C4 38 80 00 03 */ li r4, 3 +/* 802B9A68 002B56C8 98 06 8A 7F */ stb r0, -0x7581(r6) +/* 802B9A6C 002B56CC 38 60 00 04 */ li r3, 4 +/* 802B9A70 002B56D0 38 00 00 05 */ li r0, 5 +/* 802B9A74 002B56D4 98 A6 8A 80 */ stb r5, -0x7580(r6) +/* 802B9A78 002B56D8 98 86 8A 81 */ stb r4, -0x757f(r6) +/* 802B9A7C 002B56DC 98 66 8A 82 */ stb r3, -0x757e(r6) +/* 802B9A80 002B56E0 98 06 8A 87 */ stb r0, -0x7579(r6) +/* 802B9A84 002B56E4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B9A88 002B56E8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B9A8C 002B56EC 7C 08 03 A6 */ mtlr r0 +/* 802B9A90 002B56F0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B9A94 002B56F4 4E 80 00 20 */ blr + +.global func_802B9A98 +func_802B9A98: +/* 802B9A98 002B56F8 38 00 00 00 */ li r0, 0 +/* 802B9A9C 002B56FC 90 03 00 04 */ stw r0, 4(r3) +/* 802B9AA0 002B5700 90 03 00 00 */ stw r0, 0(r3) +/* 802B9AA4 002B5704 B0 03 00 08 */ sth r0, 8(r3) +/* 802B9AA8 002B5708 4E 80 00 20 */ blr + +.global func_802B9AAC +func_802B9AAC: +/* 802B9AAC 002B570C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B9AB0 002B5710 7C 08 02 A6 */ mflr r0 +/* 802B9AB4 002B5714 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha +/* 802B9AB8 002B5718 2C 03 00 00 */ cmpwi r3, 0 +/* 802B9ABC 002B571C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B9AC0 002B5720 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l +/* 802B9AC4 002B5724 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B9AC8 002B5728 93 C1 00 08 */ stw r30, 8(r1) +/* 802B9ACC 002B572C 3B C4 00 54 */ addi r30, r4, 0x54 +/* 802B9AD0 002B5730 40 82 00 24 */ bne lbl_802B9AF4 +/* 802B9AD4 002B5734 3C 60 00 01 */ lis r3, 0x0000FFF6@ha +/* 802B9AD8 002B5738 3C 80 80 44 */ lis r4, lbl_8043F130@ha +/* 802B9ADC 002B573C 38 03 FF F6 */ addi r0, r3, 0x0000FFF6@l +/* 802B9AE0 002B5740 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9AE4 002B5744 38 84 F1 30 */ addi r4, r4, lbl_8043F130@l +/* 802B9AE8 002B5748 48 00 16 DD */ bl func_802BB1C4 +/* 802B9AEC 002B574C 38 60 00 00 */ li r3, 0 +/* 802B9AF0 002B5750 48 00 01 44 */ b lbl_802B9C34 +lbl_802B9AF4: +/* 802B9AF4 002B5754 3C 9E 00 03 */ addis r4, r30, 3 +/* 802B9AF8 002B5758 3B E0 00 00 */ li r31, 0 +/* 802B9AFC 002B575C 88 A4 8A 87 */ lbz r5, -0x7579(r4) +/* 802B9B00 002B5760 48 00 00 30 */ b lbl_802B9B30 +lbl_802B9B04: +/* 802B9B04 002B5764 57 E4 06 3E */ clrlwi r4, r31, 0x18 +/* 802B9B08 002B5768 3C 84 00 03 */ addis r4, r4, 3 +/* 802B9B0C 002B576C 38 04 8A 7E */ addi r0, r4, -30082 +/* 802B9B10 002B5770 7C 1E 00 AE */ lbzx r0, r30, r0 +/* 802B9B14 002B5774 54 04 20 36 */ slwi r4, r0, 4 +/* 802B9B18 002B5778 3C 84 00 03 */ addis r4, r4, 3 +/* 802B9B1C 002B577C 38 04 89 94 */ addi r0, r4, -30316 +/* 802B9B20 002B5780 7C 1E 02 2E */ lhzx r0, r30, r0 +/* 802B9B24 002B5784 7C 03 00 40 */ cmplw r3, r0 +/* 802B9B28 002B5788 40 81 00 14 */ ble lbl_802B9B3C +/* 802B9B2C 002B578C 3B FF 00 01 */ addi r31, r31, 1 +lbl_802B9B30: +/* 802B9B30 002B5790 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802B9B34 002B5794 7C 00 28 40 */ cmplw r0, r5 +/* 802B9B38 002B5798 41 80 FF CC */ blt lbl_802B9B04 +lbl_802B9B3C: +/* 802B9B3C 002B579C 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802B9B40 002B57A0 7C 00 28 40 */ cmplw r0, r5 +/* 802B9B44 002B57A4 40 82 00 24 */ bne lbl_802B9B68 +/* 802B9B48 002B57A8 3C 60 00 01 */ lis r3, 0x0000FFF7@ha +/* 802B9B4C 002B57AC 3C 80 80 44 */ lis r4, lbl_8043F148@ha +/* 802B9B50 002B57B0 38 03 FF F7 */ addi r0, r3, 0x0000FFF7@l +/* 802B9B54 002B57B4 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9B58 002B57B8 38 84 F1 48 */ addi r4, r4, lbl_8043F148@l +/* 802B9B5C 002B57BC 48 00 16 69 */ bl func_802BB1C4 +/* 802B9B60 002B57C0 38 60 00 00 */ li r3, 0 +/* 802B9B64 002B57C4 48 00 00 D0 */ b lbl_802B9C34 +lbl_802B9B68: +/* 802B9B68 002B57C8 48 00 16 19 */ bl func_802BB180 +/* 802B9B6C 002B57CC 3C DE 00 03 */ addis r6, r30, 3 +/* 802B9B70 002B57D0 38 A0 00 01 */ li r5, 1 +/* 802B9B74 002B57D4 88 E6 8A 87 */ lbz r7, -0x7579(r6) +/* 802B9B78 002B57D8 48 00 00 A8 */ b lbl_802B9C20 +lbl_802B9B7C: +/* 802B9B7C 002B57DC 57 E4 06 3E */ clrlwi r4, r31, 0x18 +/* 802B9B80 002B57E0 A0 66 8A 7C */ lhz r3, -0x7584(r6) +/* 802B9B84 002B57E4 3C 84 00 03 */ addis r4, r4, 3 +/* 802B9B88 002B57E8 38 04 8A 7E */ addi r0, r4, -30082 +/* 802B9B8C 002B57EC 7C 9E 00 AE */ lbzx r4, r30, r0 +/* 802B9B90 002B57F0 7C A0 20 30 */ slw r0, r5, r4 +/* 802B9B94 002B57F4 7C 60 00 39 */ and. r0, r3, r0 +/* 802B9B98 002B57F8 40 82 00 84 */ bne lbl_802B9C1C +/* 802B9B9C 002B57FC 54 80 25 36 */ rlwinm r0, r4, 4, 0x14, 0x1b +/* 802B9BA0 002B5800 7C 86 02 14 */ add r4, r6, r0 +/* 802B9BA4 002B5804 A0 64 89 98 */ lhz r3, -0x7668(r4) +/* 802B9BA8 002B5808 A0 04 89 96 */ lhz r0, -0x766a(r4) +/* 802B9BAC 002B580C 7C 03 00 40 */ cmplw r3, r0 +/* 802B9BB0 002B5810 40 80 00 6C */ bge lbl_802B9C1C +/* 802B9BB4 002B5814 83 C4 89 8C */ lwz r30, -0x7674(r4) +/* 802B9BB8 002B5818 80 1E 00 00 */ lwz r0, 0(r30) +/* 802B9BBC 002B581C 2C 00 00 00 */ cmpwi r0, 0 +/* 802B9BC0 002B5820 90 04 89 8C */ stw r0, -0x7674(r4) +/* 802B9BC4 002B5824 40 82 00 0C */ bne lbl_802B9BD0 +/* 802B9BC8 002B5828 38 00 00 00 */ li r0, 0 +/* 802B9BCC 002B582C 90 04 89 90 */ stw r0, -0x7670(r4) +lbl_802B9BD0: +/* 802B9BD0 002B5830 A0 64 89 98 */ lhz r3, -0x7668(r4) +/* 802B9BD4 002B5834 38 03 00 01 */ addi r0, r3, 1 +/* 802B9BD8 002B5838 B0 04 89 98 */ sth r0, -0x7668(r4) +/* 802B9BDC 002B583C 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9BE0 002B5840 A0 04 89 9A */ lhz r0, -0x7666(r4) +/* 802B9BE4 002B5844 7C 03 00 40 */ cmplw r3, r0 +/* 802B9BE8 002B5848 40 81 00 0C */ ble lbl_802B9BF4 +/* 802B9BEC 002B584C A0 04 89 98 */ lhz r0, -0x7668(r4) +/* 802B9BF0 002B5850 B0 04 89 9A */ sth r0, -0x7666(r4) +lbl_802B9BF4: +/* 802B9BF4 002B5854 48 00 15 69 */ bl func_802BB15C +/* 802B9BF8 002B5858 48 00 15 5D */ bl func_802BB154 +/* 802B9BFC 002B585C 98 7E 00 05 */ stb r3, 5(r30) +/* 802B9C00 002B5860 38 80 00 01 */ li r4, 1 +/* 802B9C04 002B5864 38 00 00 00 */ li r0, 0 +/* 802B9C08 002B5868 38 7E 00 08 */ addi r3, r30, 8 +/* 802B9C0C 002B586C 98 9E 00 06 */ stb r4, 6(r30) +/* 802B9C10 002B5870 90 1E 00 00 */ stw r0, 0(r30) +/* 802B9C14 002B5874 98 1E 00 07 */ stb r0, 7(r30) +/* 802B9C18 002B5878 48 00 00 1C */ b lbl_802B9C34 +lbl_802B9C1C: +/* 802B9C1C 002B587C 3B FF 00 01 */ addi r31, r31, 1 +lbl_802B9C20: +/* 802B9C20 002B5880 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802B9C24 002B5884 7C 00 38 40 */ cmplw r0, r7 +/* 802B9C28 002B5888 41 80 FF 54 */ blt lbl_802B9B7C +/* 802B9C2C 002B588C 48 00 15 31 */ bl func_802BB15C +/* 802B9C30 002B5890 38 60 00 00 */ li r3, 0 +lbl_802B9C34: +/* 802B9C34 002B5894 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B9C38 002B5898 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B9C3C 002B589C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B9C40 002B58A0 7C 08 03 A6 */ mtlr r0 +/* 802B9C44 002B58A4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B9C48 002B58A8 4E 80 00 20 */ blr + +.global func_802B9C4C +func_802B9C4C: +/* 802B9C4C 002B58AC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B9C50 002B58B0 7C 08 02 A6 */ mflr r0 +/* 802B9C54 002B58B4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha +/* 802B9C58 002B58B8 28 03 00 09 */ cmplwi r3, 9 +/* 802B9C5C 002B58BC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B9C60 002B58C0 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l +/* 802B9C64 002B58C4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B9C68 002B58C8 7C 7F 1B 78 */ mr r31, r3 +/* 802B9C6C 002B58CC 93 C1 00 08 */ stw r30, 8(r1) +/* 802B9C70 002B58D0 3B C4 00 54 */ addi r30, r4, 0x54 +/* 802B9C74 002B58D4 41 80 00 0C */ blt lbl_802B9C80 +/* 802B9C78 002B58D8 38 60 00 00 */ li r3, 0 +/* 802B9C7C 002B58DC 48 00 00 A0 */ b lbl_802B9D1C +lbl_802B9C80: +/* 802B9C80 002B58E0 48 00 15 01 */ bl func_802BB180 +/* 802B9C84 002B58E4 57 FF 25 36 */ rlwinm r31, r31, 4, 0x14, 0x1b +/* 802B9C88 002B58E8 3C 1E 00 03 */ addis r0, r30, 3 +/* 802B9C8C 002B58EC 7C 80 FA 14 */ add r4, r0, r31 +/* 802B9C90 002B58F0 A0 64 89 98 */ lhz r3, -0x7668(r4) +/* 802B9C94 002B58F4 A0 04 89 96 */ lhz r0, -0x766a(r4) +/* 802B9C98 002B58F8 7C 03 00 40 */ cmplw r3, r0 +/* 802B9C9C 002B58FC 40 80 00 6C */ bge lbl_802B9D08 +/* 802B9CA0 002B5900 83 E4 89 8C */ lwz r31, -0x7674(r4) +/* 802B9CA4 002B5904 80 1F 00 00 */ lwz r0, 0(r31) +/* 802B9CA8 002B5908 2C 00 00 00 */ cmpwi r0, 0 +/* 802B9CAC 002B590C 90 04 89 8C */ stw r0, -0x7674(r4) +/* 802B9CB0 002B5910 40 82 00 0C */ bne lbl_802B9CBC +/* 802B9CB4 002B5914 38 00 00 00 */ li r0, 0 +/* 802B9CB8 002B5918 90 04 89 90 */ stw r0, -0x7670(r4) +lbl_802B9CBC: +/* 802B9CBC 002B591C A0 64 89 98 */ lhz r3, -0x7668(r4) +/* 802B9CC0 002B5920 38 03 00 01 */ addi r0, r3, 1 +/* 802B9CC4 002B5924 B0 04 89 98 */ sth r0, -0x7668(r4) +/* 802B9CC8 002B5928 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9CCC 002B592C A0 04 89 9A */ lhz r0, -0x7666(r4) +/* 802B9CD0 002B5930 7C 03 00 40 */ cmplw r3, r0 +/* 802B9CD4 002B5934 40 81 00 0C */ ble lbl_802B9CE0 +/* 802B9CD8 002B5938 A0 04 89 98 */ lhz r0, -0x7668(r4) +/* 802B9CDC 002B593C B0 04 89 9A */ sth r0, -0x7666(r4) +lbl_802B9CE0: +/* 802B9CE0 002B5940 48 00 14 7D */ bl func_802BB15C +/* 802B9CE4 002B5944 48 00 14 71 */ bl func_802BB154 +/* 802B9CE8 002B5948 98 7F 00 05 */ stb r3, 5(r31) +/* 802B9CEC 002B594C 38 80 00 01 */ li r4, 1 +/* 802B9CF0 002B5950 38 00 00 00 */ li r0, 0 +/* 802B9CF4 002B5954 38 7F 00 08 */ addi r3, r31, 8 +/* 802B9CF8 002B5958 98 9F 00 06 */ stb r4, 6(r31) +/* 802B9CFC 002B595C 90 1F 00 00 */ stw r0, 0(r31) +/* 802B9D00 002B5960 98 1F 00 07 */ stb r0, 7(r31) +/* 802B9D04 002B5964 48 00 00 18 */ b lbl_802B9D1C +lbl_802B9D08: +/* 802B9D08 002B5968 48 00 14 55 */ bl func_802BB15C +/* 802B9D0C 002B596C 3C 1E 00 03 */ addis r0, r30, 3 +/* 802B9D10 002B5970 7C 60 FA 14 */ add r3, r0, r31 +/* 802B9D14 002B5974 A0 63 89 94 */ lhz r3, -0x766c(r3) +/* 802B9D18 002B5978 4B FF FD 95 */ bl func_802B9AAC +lbl_802B9D1C: +/* 802B9D1C 002B597C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B9D20 002B5980 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B9D24 002B5984 83 C1 00 08 */ lwz r30, 8(r1) +/* 802B9D28 002B5988 7C 08 03 A6 */ mtlr r0 +/* 802B9D2C 002B598C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B9D30 002B5990 4E 80 00 20 */ blr + +.global func_802B9D34 +func_802B9D34: +/* 802B9D34 002B5994 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802B9D38 002B5998 7C 08 02 A6 */ mflr r0 +/* 802B9D3C 002B599C 3C A0 80 44 */ lis r5, lbl_8043F130@ha +/* 802B9D40 002B59A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802B9D44 002B59A4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802B9D48 002B59A8 38 A5 F1 30 */ addi r5, r5, lbl_8043F130@l +/* 802B9D4C 002B59AC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802B9D50 002B59B0 41 82 00 7C */ beq lbl_802B9DCC +/* 802B9D54 002B59B4 3B E3 FF F8 */ addi r31, r3, -8 +/* 802B9D58 002B59B8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f +/* 802B9D5C 002B59BC 41 82 00 0C */ beq lbl_802B9D68 +/* 802B9D60 002B59C0 38 00 00 00 */ li r0, 0 +/* 802B9D64 002B59C4 48 00 00 30 */ b lbl_802B9D94 +lbl_802B9D68: +/* 802B9D68 002B59C8 88 1F 00 04 */ lbz r0, 4(r31) +/* 802B9D6C 002B59CC 28 00 00 09 */ cmplwi r0, 9 +/* 802B9D70 002B59D0 40 80 00 20 */ bge lbl_802B9D90 +/* 802B9D74 002B59D4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha +/* 802B9D78 002B59D8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b +/* 802B9D7C 002B59DC 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l +/* 802B9D80 002B59E0 3C 84 00 03 */ addis r4, r4, 3 +/* 802B9D84 002B59E4 7C 84 02 14 */ add r4, r4, r0 +/* 802B9D88 002B59E8 A0 04 89 E8 */ lhz r0, -0x7618(r4) +/* 802B9D8C 002B59EC 48 00 00 08 */ b lbl_802B9D94 +lbl_802B9D90: +/* 802B9D90 002B59F0 38 00 00 00 */ li r0, 0 +lbl_802B9D94: +/* 802B9D94 002B59F4 7C 83 02 14 */ add r4, r3, r0 +/* 802B9D98 002B59F8 54 80 07 FF */ clrlwi. r0, r4, 0x1f +/* 802B9D9C 002B59FC 41 82 00 0C */ beq lbl_802B9DA8 +/* 802B9DA0 002B5A00 38 00 00 01 */ li r0, 1 +/* 802B9DA4 002B5A04 48 00 00 20 */ b lbl_802B9DC4 +lbl_802B9DA8: +/* 802B9DA8 002B5A08 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha +/* 802B9DAC 002B5A0C 80 84 00 00 */ lwz r4, 0(r4) +/* 802B9DB0 002B5A10 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l +/* 802B9DB4 002B5A14 7C 64 00 50 */ subf r3, r4, r0 +/* 802B9DB8 002B5A18 7C 00 20 50 */ subf r0, r0, r4 +/* 802B9DBC 002B5A1C 7C 60 03 78 */ or r0, r3, r0 +/* 802B9DC0 002B5A20 54 00 0F FE */ srwi r0, r0, 0x1f +lbl_802B9DC4: +/* 802B9DC4 002B5A24 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 802B9DC8 002B5A28 41 82 00 1C */ beq lbl_802B9DE4 +lbl_802B9DCC: +/* 802B9DCC 002B5A2C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802B9DD0 002B5A30 38 85 00 30 */ addi r4, r5, 0x30 +/* 802B9DD4 002B5A34 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l +/* 802B9DD8 002B5A38 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9DDC 002B5A3C 48 00 13 E9 */ bl func_802BB1C4 +/* 802B9DE0 002B5A40 48 00 00 B0 */ b lbl_802B9E90 +lbl_802B9DE4: +/* 802B9DE4 002B5A44 88 1F 00 06 */ lbz r0, 6(r31) +/* 802B9DE8 002B5A48 28 00 00 01 */ cmplwi r0, 1 +/* 802B9DEC 002B5A4C 41 82 00 1C */ beq lbl_802B9E08 +/* 802B9DF0 002B5A50 3C 60 00 01 */ lis r3, 0x0000FFFC@ha +/* 802B9DF4 002B5A54 38 85 00 48 */ addi r4, r5, 0x48 +/* 802B9DF8 002B5A58 38 03 FF FC */ addi r0, r3, 0x0000FFFC@l +/* 802B9DFC 002B5A5C 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9E00 002B5A60 48 00 13 C5 */ bl func_802BB1C4 +/* 802B9E04 002B5A64 48 00 00 8C */ b lbl_802B9E90 +lbl_802B9E08: +/* 802B9E08 002B5A68 88 1F 00 04 */ lbz r0, 4(r31) +/* 802B9E0C 002B5A6C 28 00 00 09 */ cmplwi r0, 9 +/* 802B9E10 002B5A70 41 80 00 1C */ blt lbl_802B9E2C +/* 802B9E14 002B5A74 3C 60 00 01 */ lis r3, 0x0000FFFD@ha +/* 802B9E18 002B5A78 38 85 00 5C */ addi r4, r5, 0x5c +/* 802B9E1C 002B5A7C 38 03 FF FD */ addi r0, r3, 0x0000FFFD@l +/* 802B9E20 002B5A80 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9E24 002B5A84 48 00 13 A1 */ bl func_802BB1C4 +/* 802B9E28 002B5A88 48 00 00 68 */ b lbl_802B9E90 +lbl_802B9E2C: +/* 802B9E2C 002B5A8C 48 00 13 55 */ bl func_802BB180 +/* 802B9E30 002B5A90 88 1F 00 04 */ lbz r0, 4(r31) +/* 802B9E34 002B5A94 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802B9E38 002B5A98 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802B9E3C 002B5A9C 3C 63 00 03 */ addis r3, r3, 3 +/* 802B9E40 002B5AA0 54 00 20 36 */ slwi r0, r0, 4 +/* 802B9E44 002B5AA4 7C 83 02 14 */ add r4, r3, r0 +/* 802B9E48 002B5AA8 80 64 89 E4 */ lwz r3, -0x761c(r4) +/* 802B9E4C 002B5AAC 2C 03 00 00 */ cmpwi r3, 0 +/* 802B9E50 002B5AB0 41 82 00 0C */ beq lbl_802B9E5C +/* 802B9E54 002B5AB4 93 E3 00 00 */ stw r31, 0(r3) +/* 802B9E58 002B5AB8 48 00 00 08 */ b lbl_802B9E60 +lbl_802B9E5C: +/* 802B9E5C 002B5ABC 93 E4 89 E0 */ stw r31, -0x7620(r4) +lbl_802B9E60: +/* 802B9E60 002B5AC0 93 E4 89 E4 */ stw r31, -0x761c(r4) +/* 802B9E64 002B5AC4 38 60 00 00 */ li r3, 0 +/* 802B9E68 002B5AC8 38 00 00 F0 */ li r0, 0xf0 +/* 802B9E6C 002B5ACC 90 7F 00 00 */ stw r3, 0(r31) +/* 802B9E70 002B5AD0 98 7F 00 06 */ stb r3, 6(r31) +/* 802B9E74 002B5AD4 98 1F 00 05 */ stb r0, 5(r31) +/* 802B9E78 002B5AD8 A0 64 89 EC */ lhz r3, -0x7614(r4) +/* 802B9E7C 002B5ADC 2C 03 00 00 */ cmpwi r3, 0 +/* 802B9E80 002B5AE0 41 82 00 0C */ beq lbl_802B9E8C +/* 802B9E84 002B5AE4 38 03 FF FF */ addi r0, r3, -1 +/* 802B9E88 002B5AE8 B0 04 89 EC */ sth r0, -0x7614(r4) +lbl_802B9E8C: +/* 802B9E8C 002B5AEC 48 00 12 D1 */ bl func_802BB15C +lbl_802B9E90: +/* 802B9E90 002B5AF0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802B9E94 002B5AF4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802B9E98 002B5AF8 7C 08 03 A6 */ mtlr r0 +/* 802B9E9C 002B5AFC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802B9EA0 002B5B00 4E 80 00 20 */ blr + +.global func_802B9EA4 +func_802B9EA4: +/* 802B9EA4 002B5B04 38 63 FF F8 */ addi r3, r3, -8 +/* 802B9EA8 002B5B08 54 60 07 FF */ clrlwi. r0, r3, 0x1f +/* 802B9EAC 002B5B0C 41 82 00 0C */ beq lbl_802B9EB8 +/* 802B9EB0 002B5B10 38 60 00 00 */ li r3, 0 +/* 802B9EB4 002B5B14 4E 80 00 20 */ blr +lbl_802B9EB8: +/* 802B9EB8 002B5B18 88 03 00 04 */ lbz r0, 4(r3) +/* 802B9EBC 002B5B1C 28 00 00 09 */ cmplwi r0, 9 +/* 802B9EC0 002B5B20 40 80 00 20 */ bge lbl_802B9EE0 +/* 802B9EC4 002B5B24 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802B9EC8 002B5B28 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b +/* 802B9ECC 002B5B2C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802B9ED0 002B5B30 3C 63 00 03 */ addis r3, r3, 3 +/* 802B9ED4 002B5B34 7C 63 02 14 */ add r3, r3, r0 +/* 802B9ED8 002B5B38 A0 63 89 E8 */ lhz r3, -0x7618(r3) +/* 802B9EDC 002B5B3C 4E 80 00 20 */ blr +lbl_802B9EE0: +/* 802B9EE0 002B5B40 38 60 00 00 */ li r3, 0 +/* 802B9EE4 002B5B44 4E 80 00 20 */ blr + +.global func_802B9EE8 +func_802B9EE8: +/* 802B9EE8 002B5B48 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802B9EEC 002B5B4C 7C 08 02 A6 */ mflr r0 +/* 802B9EF0 002B5B50 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha +/* 802B9EF4 002B5B54 3C C0 80 44 */ lis r6, lbl_8043F130@ha +/* 802B9EF8 002B5B58 90 01 00 24 */ stw r0, 0x24(r1) +/* 802B9EFC 002B5B5C 28 03 00 08 */ cmplwi r3, 8 +/* 802B9F00 002B5B60 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l +/* 802B9F04 002B5B64 38 C6 F1 30 */ addi r6, r6, lbl_8043F130@l +/* 802B9F08 002B5B68 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802B9F0C 002B5B6C 7C BF 2B 78 */ mr r31, r5 +/* 802B9F10 002B5B70 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802B9F14 002B5B74 3B C7 00 54 */ addi r30, r7, 0x54 +/* 802B9F18 002B5B78 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802B9F1C 002B5B7C 7C 9D 23 78 */ mr r29, r4 +/* 802B9F20 002B5B80 93 81 00 10 */ stw r28, 0x10(r1) +/* 802B9F24 002B5B84 7C 7C 1B 78 */ mr r28, r3 +/* 802B9F28 002B5B88 40 80 00 20 */ bge lbl_802B9F48 +/* 802B9F2C 002B5B8C 28 04 00 04 */ cmplwi r4, 4 +/* 802B9F30 002B5B90 40 80 00 18 */ bge lbl_802B9F48 +/* 802B9F34 002B5B94 3C 1E 00 03 */ addis r0, r30, 3 +/* 802B9F38 002B5B98 7C 60 1A 14 */ add r3, r0, r3 +/* 802B9F3C 002B5B9C 88 03 87 AC */ lbz r0, -0x7854(r3) +/* 802B9F40 002B5BA0 2C 00 00 00 */ cmpwi r0, 0 +/* 802B9F44 002B5BA4 40 82 00 24 */ bne lbl_802B9F68 +lbl_802B9F48: +/* 802B9F48 002B5BA8 3C 60 00 01 */ lis r3, 0x0000FFFB@ha +/* 802B9F4C 002B5BAC 38 86 00 68 */ addi r4, r6, 0x68 +/* 802B9F50 002B5BB0 38 03 FF FB */ addi r0, r3, 0x0000FFFB@l +/* 802B9F54 002B5BB4 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9F58 002B5BB8 48 00 12 6D */ bl func_802BB1C4 +/* 802B9F5C 002B5BBC 7F E3 FB 78 */ mr r3, r31 +/* 802B9F60 002B5BC0 4B FF FD D5 */ bl func_802B9D34 +/* 802B9F64 002B5BC4 48 00 01 20 */ b lbl_802BA084 +lbl_802B9F68: +/* 802B9F68 002B5BC8 3B E5 FF F8 */ addi r31, r5, -8 +/* 802B9F6C 002B5BCC 57 E0 07 FF */ clrlwi. r0, r31, 0x1f +/* 802B9F70 002B5BD0 41 82 00 0C */ beq lbl_802B9F7C +/* 802B9F74 002B5BD4 38 00 00 00 */ li r0, 0 +/* 802B9F78 002B5BD8 48 00 00 28 */ b lbl_802B9FA0 +lbl_802B9F7C: +/* 802B9F7C 002B5BDC 88 1F 00 04 */ lbz r0, 4(r31) +/* 802B9F80 002B5BE0 28 00 00 09 */ cmplwi r0, 9 +/* 802B9F84 002B5BE4 40 80 00 18 */ bge lbl_802B9F9C +/* 802B9F88 002B5BE8 3C 67 00 03 */ addis r3, r7, 3 +/* 802B9F8C 002B5BEC 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b +/* 802B9F90 002B5BF0 7C 63 02 14 */ add r3, r3, r0 +/* 802B9F94 002B5BF4 A0 03 89 E8 */ lhz r0, -0x7618(r3) +/* 802B9F98 002B5BF8 48 00 00 08 */ b lbl_802B9FA0 +lbl_802B9F9C: +/* 802B9F9C 002B5BFC 38 00 00 00 */ li r0, 0 +lbl_802B9FA0: +/* 802B9FA0 002B5C00 7C 85 02 14 */ add r4, r5, r0 +/* 802B9FA4 002B5C04 54 80 07 FF */ clrlwi. r0, r4, 0x1f +/* 802B9FA8 002B5C08 41 82 00 0C */ beq lbl_802B9FB4 +/* 802B9FAC 002B5C0C 38 00 00 01 */ li r0, 1 +/* 802B9FB0 002B5C10 48 00 00 20 */ b lbl_802B9FD0 +lbl_802B9FB4: +/* 802B9FB4 002B5C14 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha +/* 802B9FB8 002B5C18 80 84 00 00 */ lwz r4, 0(r4) +/* 802B9FBC 002B5C1C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l +/* 802B9FC0 002B5C20 7C 64 00 50 */ subf r3, r4, r0 +/* 802B9FC4 002B5C24 7C 00 20 50 */ subf r0, r0, r4 +/* 802B9FC8 002B5C28 7C 60 03 78 */ or r0, r3, r0 +/* 802B9FCC 002B5C2C 54 00 0F FE */ srwi r0, r0, 0x1f +lbl_802B9FD0: +/* 802B9FD0 002B5C30 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 802B9FD4 002B5C34 41 82 00 1C */ beq lbl_802B9FF0 +/* 802B9FD8 002B5C38 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802B9FDC 002B5C3C 38 86 00 80 */ addi r4, r6, 0x80 +/* 802B9FE0 002B5C40 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l +/* 802B9FE4 002B5C44 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802B9FE8 002B5C48 48 00 11 DD */ bl func_802BB1C4 +/* 802B9FEC 002B5C4C 48 00 00 98 */ b lbl_802BA084 +lbl_802B9FF0: +/* 802B9FF0 002B5C50 88 1F 00 06 */ lbz r0, 6(r31) +/* 802B9FF4 002B5C54 28 00 00 01 */ cmplwi r0, 1 +/* 802B9FF8 002B5C58 41 82 00 1C */ beq lbl_802BA014 +/* 802B9FFC 002B5C5C 3C 60 00 01 */ lis r3, 0x0000FFFA@ha +/* 802BA000 002B5C60 38 86 00 98 */ addi r4, r6, 0x98 +/* 802BA004 002B5C64 38 03 FF FA */ addi r0, r3, 0x0000FFFA@l +/* 802BA008 002B5C68 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802BA00C 002B5C6C 48 00 11 B9 */ bl func_802BB1C4 +/* 802BA010 002B5C70 48 00 00 74 */ b lbl_802BA084 +lbl_802BA014: +/* 802BA014 002B5C74 48 00 11 6D */ bl func_802BB180 +/* 802BA018 002B5C78 57 84 25 36 */ rlwinm r4, r28, 4, 0x14, 0x1b +/* 802BA01C 002B5C7C 3C 1E 00 03 */ addis r0, r30, 3 +/* 802BA020 002B5C80 57 A5 15 BA */ rlwinm r5, r29, 2, 0x16, 0x1d +/* 802BA024 002B5C84 7C 00 22 14 */ add r0, r0, r4 +/* 802BA028 002B5C88 7C 60 2A 14 */ add r3, r0, r5 +/* 802BA02C 002B5C8C 80 03 88 8C */ lwz r0, -0x7774(r3) +/* 802BA030 002B5C90 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA034 002B5C94 41 82 00 10 */ beq lbl_802BA044 +/* 802BA038 002B5C98 80 63 89 0C */ lwz r3, -0x76f4(r3) +/* 802BA03C 002B5C9C 93 E3 00 00 */ stw r31, 0(r3) +/* 802BA040 002B5CA0 48 00 00 08 */ b lbl_802BA048 +lbl_802BA044: +/* 802BA044 002B5CA4 93 E3 88 8C */ stw r31, -0x7774(r3) +lbl_802BA048: +/* 802BA048 002B5CA8 3C 1E 00 03 */ addis r0, r30, 3 +/* 802BA04C 002B5CAC 38 60 00 00 */ li r3, 0 +/* 802BA050 002B5CB0 7C 80 22 14 */ add r4, r0, r4 +/* 802BA054 002B5CB4 7C 84 2A 14 */ add r4, r4, r5 +/* 802BA058 002B5CB8 38 00 00 02 */ li r0, 2 +/* 802BA05C 002B5CBC 93 E4 89 0C */ stw r31, -0x76f4(r4) +/* 802BA060 002B5CC0 90 7F 00 00 */ stw r3, 0(r31) +/* 802BA064 002B5CC4 98 1F 00 06 */ stb r0, 6(r31) +/* 802BA068 002B5CC8 9B 9F 00 05 */ stb r28, 5(r31) +/* 802BA06C 002B5CCC 48 00 10 F1 */ bl func_802BB15C +/* 802BA070 002B5CD0 38 00 00 01 */ li r0, 1 +/* 802BA074 002B5CD4 7F 83 E3 78 */ mr r3, r28 +/* 802BA078 002B5CD8 7C 00 E8 30 */ slw r0, r0, r29 +/* 802BA07C 002B5CDC 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802BA080 002B5CE0 48 00 10 31 */ bl func_802BB0B0 +lbl_802BA084: +/* 802BA084 002B5CE4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BA088 002B5CE8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BA08C 002B5CEC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BA090 002B5CF0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BA094 002B5CF4 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802BA098 002B5CF8 7C 08 03 A6 */ mtlr r0 +/* 802BA09C 002B5CFC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BA0A0 002B5D00 4E 80 00 20 */ blr + +.global func_802BA0A4 +func_802BA0A4: +/* 802BA0A4 002B5D04 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BA0A8 002B5D08 7C 08 02 A6 */ mflr r0 +/* 802BA0AC 002B5D0C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BA0B0 002B5D10 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BA0B4 002B5D14 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BA0B8 002B5D18 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BA0BC 002B5D1C 7C 7D 1B 78 */ mr r29, r3 +/* 802BA0C0 002B5D20 48 00 10 95 */ bl func_802BB154 +/* 802BA0C4 002B5D24 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802BA0C8 002B5D28 7C 7F 1B 78 */ mr r31, r3 +/* 802BA0CC 002B5D2C 28 00 00 08 */ cmplwi r0, 8 +/* 802BA0D0 002B5D30 3B C0 00 00 */ li r30, 0 +/* 802BA0D4 002B5D34 40 80 00 0C */ bge lbl_802BA0E0 +/* 802BA0D8 002B5D38 28 1D 00 04 */ cmplwi r29, 4 +/* 802BA0DC 002B5D3C 41 80 00 0C */ blt lbl_802BA0E8 +lbl_802BA0E0: +/* 802BA0E0 002B5D40 38 60 00 00 */ li r3, 0 +/* 802BA0E4 002B5D44 48 00 00 54 */ b lbl_802BA138 +lbl_802BA0E8: +/* 802BA0E8 002B5D48 48 00 10 99 */ bl func_802BB180 +/* 802BA0EC 002B5D4C 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BA0F0 002B5D50 57 E4 25 36 */ rlwinm r4, r31, 4, 0x14, 0x1b +/* 802BA0F4 002B5D54 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BA0F8 002B5D58 57 A6 15 BA */ rlwinm r6, r29, 2, 0x16, 0x1d +/* 802BA0FC 002B5D5C 3C 03 00 03 */ addis r0, r3, 3 +/* 802BA100 002B5D60 7C 60 22 14 */ add r3, r0, r4 +/* 802BA104 002B5D64 38 E3 88 E0 */ addi r7, r3, -30496 +/* 802BA108 002B5D68 7C A7 30 2E */ lwzx r5, r7, r6 +/* 802BA10C 002B5D6C 2C 05 00 00 */ cmpwi r5, 0 +/* 802BA110 002B5D70 41 82 00 20 */ beq lbl_802BA130 +/* 802BA114 002B5D74 80 85 00 00 */ lwz r4, 0(r5) +/* 802BA118 002B5D78 38 60 00 00 */ li r3, 0 +/* 802BA11C 002B5D7C 38 00 00 01 */ li r0, 1 +/* 802BA120 002B5D80 3B C5 00 08 */ addi r30, r5, 8 +/* 802BA124 002B5D84 7C 87 31 2E */ stwx r4, r7, r6 +/* 802BA128 002B5D88 90 65 00 00 */ stw r3, 0(r5) +/* 802BA12C 002B5D8C 98 05 00 06 */ stb r0, 6(r5) +lbl_802BA130: +/* 802BA130 002B5D90 48 00 10 2D */ bl func_802BB15C +/* 802BA134 002B5D94 7F C3 F3 78 */ mr r3, r30 +lbl_802BA138: +/* 802BA138 002B5D98 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BA13C 002B5D9C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BA140 002B5DA0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BA144 002B5DA4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BA148 002B5DA8 7C 08 03 A6 */ mtlr r0 +/* 802BA14C 002B5DAC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BA150 002B5DB0 4E 80 00 20 */ blr + +.global func_802BA154 +func_802BA154: +/* 802BA154 002B5DB4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BA158 002B5DB8 7C 08 02 A6 */ mflr r0 +/* 802BA15C 002B5DBC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BA160 002B5DC0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BA164 002B5DC4 3B E4 FF F8 */ addi r31, r4, -8 +/* 802BA168 002B5DC8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f +/* 802BA16C 002B5DCC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BA170 002B5DD0 7C 9E 23 78 */ mr r30, r4 +/* 802BA174 002B5DD4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BA178 002B5DD8 7C 7D 1B 78 */ mr r29, r3 +/* 802BA17C 002B5DDC 41 82 00 0C */ beq lbl_802BA188 +/* 802BA180 002B5DE0 38 00 00 00 */ li r0, 0 +/* 802BA184 002B5DE4 48 00 00 30 */ b lbl_802BA1B4 +lbl_802BA188: +/* 802BA188 002B5DE8 88 1F 00 04 */ lbz r0, 4(r31) +/* 802BA18C 002B5DEC 28 00 00 09 */ cmplwi r0, 9 +/* 802BA190 002B5DF0 40 80 00 20 */ bge lbl_802BA1B0 +/* 802BA194 002B5DF4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BA198 002B5DF8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b +/* 802BA19C 002B5DFC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BA1A0 002B5E00 3C 63 00 03 */ addis r3, r3, 3 +/* 802BA1A4 002B5E04 7C 63 02 14 */ add r3, r3, r0 +/* 802BA1A8 002B5E08 A0 03 89 E8 */ lhz r0, -0x7618(r3) +/* 802BA1AC 002B5E0C 48 00 00 08 */ b lbl_802BA1B4 +lbl_802BA1B0: +/* 802BA1B0 002B5E10 38 00 00 00 */ li r0, 0 +lbl_802BA1B4: +/* 802BA1B4 002B5E14 7C 84 02 14 */ add r4, r4, r0 +/* 802BA1B8 002B5E18 54 80 07 FF */ clrlwi. r0, r4, 0x1f +/* 802BA1BC 002B5E1C 41 82 00 0C */ beq lbl_802BA1C8 +/* 802BA1C0 002B5E20 38 00 00 01 */ li r0, 1 +/* 802BA1C4 002B5E24 48 00 00 20 */ b lbl_802BA1E4 +lbl_802BA1C8: +/* 802BA1C8 002B5E28 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha +/* 802BA1CC 002B5E2C 80 84 00 00 */ lwz r4, 0(r4) +/* 802BA1D0 002B5E30 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l +/* 802BA1D4 002B5E34 7C 64 00 50 */ subf r3, r4, r0 +/* 802BA1D8 002B5E38 7C 00 20 50 */ subf r0, r0, r4 +/* 802BA1DC 002B5E3C 7C 60 03 78 */ or r0, r3, r0 +/* 802BA1E0 002B5E40 54 00 0F FE */ srwi r0, r0, 0x1f +lbl_802BA1E4: +/* 802BA1E4 002B5E44 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 802BA1E8 002B5E48 41 82 00 20 */ beq lbl_802BA208 +/* 802BA1EC 002B5E4C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802BA1F0 002B5E50 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha +/* 802BA1F4 002B5E54 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l +/* 802BA1F8 002B5E58 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802BA1FC 002B5E5C 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l +/* 802BA200 002B5E60 48 00 0F C5 */ bl func_802BB1C4 +/* 802BA204 002B5E64 48 00 00 70 */ b lbl_802BA274 +lbl_802BA208: +/* 802BA208 002B5E68 88 1F 00 06 */ lbz r0, 6(r31) +/* 802BA20C 002B5E6C 28 00 00 01 */ cmplwi r0, 1 +/* 802BA210 002B5E70 41 82 00 20 */ beq lbl_802BA230 +/* 802BA214 002B5E74 3C 60 00 01 */ lis r3, 0x0000FFF9@ha +/* 802BA218 002B5E78 3C 80 80 44 */ lis r4, lbl_8043F1FC@ha +/* 802BA21C 002B5E7C 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l +/* 802BA220 002B5E80 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802BA224 002B5E84 38 84 F1 FC */ addi r4, r4, lbl_8043F1FC@l +/* 802BA228 002B5E88 48 00 0F 9D */ bl func_802BB1C4 +/* 802BA22C 002B5E8C 48 00 00 48 */ b lbl_802BA274 +lbl_802BA230: +/* 802BA230 002B5E90 48 00 0F 51 */ bl func_802BB180 +/* 802BA234 002B5E94 80 1D 00 00 */ lwz r0, 0(r29) +/* 802BA238 002B5E98 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA23C 002B5E9C 41 82 00 10 */ beq lbl_802BA24C +/* 802BA240 002B5EA0 80 7D 00 04 */ lwz r3, 4(r29) +/* 802BA244 002B5EA4 93 E3 FF F8 */ stw r31, -8(r3) +/* 802BA248 002B5EA8 48 00 00 08 */ b lbl_802BA250 +lbl_802BA24C: +/* 802BA24C 002B5EAC 93 DD 00 00 */ stw r30, 0(r29) +lbl_802BA250: +/* 802BA250 002B5EB0 A0 9D 00 08 */ lhz r4, 8(r29) +/* 802BA254 002B5EB4 38 60 00 00 */ li r3, 0 +/* 802BA258 002B5EB8 93 DD 00 04 */ stw r30, 4(r29) +/* 802BA25C 002B5EBC 38 00 00 02 */ li r0, 2 +/* 802BA260 002B5EC0 38 84 00 01 */ addi r4, r4, 1 +/* 802BA264 002B5EC4 B0 9D 00 08 */ sth r4, 8(r29) +/* 802BA268 002B5EC8 90 7F 00 00 */ stw r3, 0(r31) +/* 802BA26C 002B5ECC 98 1F 00 06 */ stb r0, 6(r31) +/* 802BA270 002B5ED0 48 00 0E ED */ bl func_802BB15C +lbl_802BA274: +/* 802BA274 002B5ED4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BA278 002B5ED8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BA27C 002B5EDC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BA280 002B5EE0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BA284 002B5EE4 7C 08 03 A6 */ mtlr r0 +/* 802BA288 002B5EE8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BA28C 002B5EEC 4E 80 00 20 */ blr + +.global func_802BA290 +func_802BA290: +/* 802BA290 002B5EF0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BA294 002B5EF4 7C 08 02 A6 */ mflr r0 +/* 802BA298 002B5EF8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BA29C 002B5EFC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BA2A0 002B5F00 3B E4 FF F8 */ addi r31, r4, -8 +/* 802BA2A4 002B5F04 57 E0 07 FF */ clrlwi. r0, r31, 0x1f +/* 802BA2A8 002B5F08 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BA2AC 002B5F0C 7C 9E 23 78 */ mr r30, r4 +/* 802BA2B0 002B5F10 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BA2B4 002B5F14 7C 7D 1B 78 */ mr r29, r3 +/* 802BA2B8 002B5F18 41 82 00 0C */ beq lbl_802BA2C4 +/* 802BA2BC 002B5F1C 38 00 00 00 */ li r0, 0 +/* 802BA2C0 002B5F20 48 00 00 30 */ b lbl_802BA2F0 +lbl_802BA2C4: +/* 802BA2C4 002B5F24 88 1F 00 04 */ lbz r0, 4(r31) +/* 802BA2C8 002B5F28 28 00 00 09 */ cmplwi r0, 9 +/* 802BA2CC 002B5F2C 40 80 00 20 */ bge lbl_802BA2EC +/* 802BA2D0 002B5F30 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BA2D4 002B5F34 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b +/* 802BA2D8 002B5F38 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BA2DC 002B5F3C 3C 63 00 03 */ addis r3, r3, 3 +/* 802BA2E0 002B5F40 7C 63 02 14 */ add r3, r3, r0 +/* 802BA2E4 002B5F44 A0 03 89 E8 */ lhz r0, -0x7618(r3) +/* 802BA2E8 002B5F48 48 00 00 08 */ b lbl_802BA2F0 +lbl_802BA2EC: +/* 802BA2EC 002B5F4C 38 00 00 00 */ li r0, 0 +lbl_802BA2F0: +/* 802BA2F0 002B5F50 7C 84 02 14 */ add r4, r4, r0 +/* 802BA2F4 002B5F54 54 80 07 FF */ clrlwi. r0, r4, 0x1f +/* 802BA2F8 002B5F58 41 82 00 0C */ beq lbl_802BA304 +/* 802BA2FC 002B5F5C 38 00 00 01 */ li r0, 1 +/* 802BA300 002B5F60 48 00 00 20 */ b lbl_802BA320 +lbl_802BA304: +/* 802BA304 002B5F64 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha +/* 802BA308 002B5F68 80 84 00 00 */ lwz r4, 0(r4) +/* 802BA30C 002B5F6C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l +/* 802BA310 002B5F70 7C 64 00 50 */ subf r3, r4, r0 +/* 802BA314 002B5F74 7C 00 20 50 */ subf r0, r0, r4 +/* 802BA318 002B5F78 7C 60 03 78 */ or r0, r3, r0 +/* 802BA31C 002B5F7C 54 00 0F FE */ srwi r0, r0, 0x1f +lbl_802BA320: +/* 802BA320 002B5F80 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 802BA324 002B5F84 41 82 00 20 */ beq lbl_802BA344 +/* 802BA328 002B5F88 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802BA32C 002B5F8C 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha +/* 802BA330 002B5F90 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l +/* 802BA334 002B5F94 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802BA338 002B5F98 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l +/* 802BA33C 002B5F9C 48 00 0E 89 */ bl func_802BB1C4 +/* 802BA340 002B5FA0 48 00 00 74 */ b lbl_802BA3B4 +lbl_802BA344: +/* 802BA344 002B5FA4 88 1F 00 06 */ lbz r0, 6(r31) +/* 802BA348 002B5FA8 28 00 00 01 */ cmplwi r0, 1 +/* 802BA34C 002B5FAC 41 82 00 20 */ beq lbl_802BA36C +/* 802BA350 002B5FB0 3C 60 00 01 */ lis r3, 0x0000FFF9@ha +/* 802BA354 002B5FB4 3C 80 80 44 */ lis r4, lbl_8043F21C@ha +/* 802BA358 002B5FB8 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l +/* 802BA35C 002B5FBC 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802BA360 002B5FC0 38 84 F2 1C */ addi r4, r4, lbl_8043F21C@l +/* 802BA364 002B5FC4 48 00 0E 61 */ bl func_802BB1C4 +/* 802BA368 002B5FC8 48 00 00 4C */ b lbl_802BA3B4 +lbl_802BA36C: +/* 802BA36C 002B5FCC 48 00 0E 15 */ bl func_802BB180 +/* 802BA370 002B5FD0 80 7D 00 00 */ lwz r3, 0(r29) +/* 802BA374 002B5FD4 2C 03 00 00 */ cmpwi r3, 0 +/* 802BA378 002B5FD8 41 82 00 14 */ beq lbl_802BA38C +/* 802BA37C 002B5FDC 38 03 FF F8 */ addi r0, r3, -8 +/* 802BA380 002B5FE0 90 1F 00 00 */ stw r0, 0(r31) +/* 802BA384 002B5FE4 93 DD 00 00 */ stw r30, 0(r29) +/* 802BA388 002B5FE8 48 00 00 14 */ b lbl_802BA39C +lbl_802BA38C: +/* 802BA38C 002B5FEC 93 DD 00 00 */ stw r30, 0(r29) +/* 802BA390 002B5FF0 38 00 00 00 */ li r0, 0 +/* 802BA394 002B5FF4 93 DD 00 04 */ stw r30, 4(r29) +/* 802BA398 002B5FF8 90 1F 00 00 */ stw r0, 0(r31) +lbl_802BA39C: +/* 802BA39C 002B5FFC A0 7D 00 08 */ lhz r3, 8(r29) +/* 802BA3A0 002B6000 38 00 00 02 */ li r0, 2 +/* 802BA3A4 002B6004 38 63 00 01 */ addi r3, r3, 1 +/* 802BA3A8 002B6008 B0 7D 00 08 */ sth r3, 8(r29) +/* 802BA3AC 002B600C 98 1F 00 06 */ stb r0, 6(r31) +/* 802BA3B0 002B6010 48 00 0D AD */ bl func_802BB15C +lbl_802BA3B4: +/* 802BA3B4 002B6014 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BA3B8 002B6018 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BA3BC 002B601C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BA3C0 002B6020 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BA3C4 002B6024 7C 08 03 A6 */ mtlr r0 +/* 802BA3C8 002B6028 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BA3CC 002B602C 4E 80 00 20 */ blr + +.global func_802BA3D0 +func_802BA3D0: +/* 802BA3D0 002B6030 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BA3D4 002B6034 7C 08 02 A6 */ mflr r0 +/* 802BA3D8 002B6038 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BA3DC 002B603C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BA3E0 002B6040 93 C1 00 08 */ stw r30, 8(r1) +/* 802BA3E4 002B6044 7C 7E 1B 78 */ mr r30, r3 +/* 802BA3E8 002B6048 48 00 0D 99 */ bl func_802BB180 +/* 802BA3EC 002B604C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802BA3F0 002B6050 41 82 00 10 */ beq lbl_802BA400 +/* 802BA3F4 002B6054 A0 1E 00 08 */ lhz r0, 8(r30) +/* 802BA3F8 002B6058 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA3FC 002B605C 40 82 00 10 */ bne lbl_802BA40C +lbl_802BA400: +/* 802BA400 002B6060 48 00 0D 5D */ bl func_802BB15C +/* 802BA404 002B6064 38 60 00 00 */ li r3, 0 +/* 802BA408 002B6068 48 00 00 50 */ b lbl_802BA458 +lbl_802BA40C: +/* 802BA40C 002B606C 83 FE 00 00 */ lwz r31, 0(r30) +/* 802BA410 002B6070 80 7F FF F8 */ lwz r3, -8(r31) +/* 802BA414 002B6074 2C 03 00 00 */ cmpwi r3, 0 +/* 802BA418 002B6078 41 82 00 10 */ beq lbl_802BA428 +/* 802BA41C 002B607C 38 03 00 08 */ addi r0, r3, 8 +/* 802BA420 002B6080 90 1E 00 00 */ stw r0, 0(r30) +/* 802BA424 002B6084 48 00 00 10 */ b lbl_802BA434 +lbl_802BA428: +/* 802BA428 002B6088 38 00 00 00 */ li r0, 0 +/* 802BA42C 002B608C 90 1E 00 00 */ stw r0, 0(r30) +/* 802BA430 002B6090 90 1E 00 04 */ stw r0, 4(r30) +lbl_802BA434: +/* 802BA434 002B6094 A0 9E 00 08 */ lhz r4, 8(r30) +/* 802BA438 002B6098 38 60 00 00 */ li r3, 0 +/* 802BA43C 002B609C 38 00 00 01 */ li r0, 1 +/* 802BA440 002B60A0 38 84 FF FF */ addi r4, r4, -1 +/* 802BA444 002B60A4 B0 9E 00 08 */ sth r4, 8(r30) +/* 802BA448 002B60A8 90 7F FF F8 */ stw r3, -8(r31) +/* 802BA44C 002B60AC 98 1F FF FE */ stb r0, -2(r31) +/* 802BA450 002B60B0 48 00 0D 0D */ bl func_802BB15C +/* 802BA454 002B60B4 7F E3 FB 78 */ mr r3, r31 +lbl_802BA458: +/* 802BA458 002B60B8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BA45C 002B60BC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BA460 002B60C0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BA464 002B60C4 7C 08 03 A6 */ mtlr r0 +/* 802BA468 002B60C8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BA46C 002B60CC 4E 80 00 20 */ blr + +.global func_802BA470 +func_802BA470: +/* 802BA470 002B60D0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BA474 002B60D4 7C 08 02 A6 */ mflr r0 +/* 802BA478 002B60D8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BA47C 002B60DC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BA480 002B60E0 7C 9F 23 78 */ mr r31, r4 +/* 802BA484 002B60E4 93 C1 00 08 */ stw r30, 8(r1) +/* 802BA488 002B60E8 7C 7E 1B 78 */ mr r30, r3 +/* 802BA48C 002B60EC 48 00 0C F5 */ bl func_802BB180 +/* 802BA490 002B60F0 80 7E 00 00 */ lwz r3, 0(r30) +/* 802BA494 002B60F4 7C 1F 18 40 */ cmplw r31, r3 +/* 802BA498 002B60F8 40 82 00 14 */ bne lbl_802BA4AC +/* 802BA49C 002B60FC 48 00 0C C1 */ bl func_802BB15C +/* 802BA4A0 002B6100 7F C3 F3 78 */ mr r3, r30 +/* 802BA4A4 002B6104 4B FF FF 2D */ bl func_802BA3D0 +/* 802BA4A8 002B6108 48 00 00 74 */ b lbl_802BA51C +lbl_802BA4AC: +/* 802BA4AC 002B610C 38 BF FF F8 */ addi r5, r31, -8 +/* 802BA4B0 002B6110 38 63 FF F8 */ addi r3, r3, -8 +/* 802BA4B4 002B6114 48 00 00 58 */ b lbl_802BA50C +lbl_802BA4B8: +/* 802BA4B8 002B6118 80 03 00 00 */ lwz r0, 0(r3) +/* 802BA4BC 002B611C 7C 00 28 40 */ cmplw r0, r5 +/* 802BA4C0 002B6120 40 82 00 48 */ bne lbl_802BA508 +/* 802BA4C4 002B6124 80 05 00 00 */ lwz r0, 0(r5) +/* 802BA4C8 002B6128 90 03 00 00 */ stw r0, 0(r3) +/* 802BA4CC 002B612C 80 1E 00 04 */ lwz r0, 4(r30) +/* 802BA4D0 002B6130 7C 1F 00 40 */ cmplw r31, r0 +/* 802BA4D4 002B6134 40 82 00 0C */ bne lbl_802BA4E0 +/* 802BA4D8 002B6138 38 03 00 08 */ addi r0, r3, 8 +/* 802BA4DC 002B613C 90 1E 00 04 */ stw r0, 4(r30) +lbl_802BA4E0: +/* 802BA4E0 002B6140 A0 9E 00 08 */ lhz r4, 8(r30) +/* 802BA4E4 002B6144 38 60 00 00 */ li r3, 0 +/* 802BA4E8 002B6148 38 00 00 01 */ li r0, 1 +/* 802BA4EC 002B614C 38 84 FF FF */ addi r4, r4, -1 +/* 802BA4F0 002B6150 B0 9E 00 08 */ sth r4, 8(r30) +/* 802BA4F4 002B6154 90 65 00 00 */ stw r3, 0(r5) +/* 802BA4F8 002B6158 98 05 00 06 */ stb r0, 6(r5) +/* 802BA4FC 002B615C 48 00 0C 61 */ bl func_802BB15C +/* 802BA500 002B6160 7F E3 FB 78 */ mr r3, r31 +/* 802BA504 002B6164 48 00 00 18 */ b lbl_802BA51C +lbl_802BA508: +/* 802BA508 002B6168 7C 03 03 78 */ mr r3, r0 +lbl_802BA50C: +/* 802BA50C 002B616C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BA510 002B6170 40 82 FF A8 */ bne lbl_802BA4B8 +/* 802BA514 002B6174 48 00 0C 49 */ bl func_802BB15C +/* 802BA518 002B6178 38 60 00 00 */ li r3, 0 +lbl_802BA51C: +/* 802BA51C 002B617C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BA520 002B6180 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BA524 002B6184 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BA528 002B6188 7C 08 03 A6 */ mtlr r0 +/* 802BA52C 002B618C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BA530 002B6190 4E 80 00 20 */ blr + +.global func_802BA534 +func_802BA534: +/* 802BA534 002B6194 80 63 00 00 */ lwz r3, 0(r3) +/* 802BA538 002B6198 4E 80 00 20 */ blr + +.global func_802BA53C +func_802BA53C: +/* 802BA53C 002B619C 80 63 FF F8 */ lwz r3, -8(r3) +/* 802BA540 002B61A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BA544 002B61A4 41 82 00 0C */ beq lbl_802BA550 +/* 802BA548 002B61A8 38 63 00 08 */ addi r3, r3, 8 +/* 802BA54C 002B61AC 4E 80 00 20 */ blr +lbl_802BA550: +/* 802BA550 002B61B0 38 60 00 00 */ li r3, 0 +/* 802BA554 002B61B4 4E 80 00 20 */ blr + +.global func_802BA558 +func_802BA558: +/* 802BA558 002B61B8 A0 03 00 08 */ lhz r0, 8(r3) +/* 802BA55C 002B61BC 7C 00 00 34 */ cntlzw r0, r0 +/* 802BA560 002B61C0 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802BA564 002B61C4 4E 80 00 20 */ blr + +.global func_802BA568 +func_802BA568: +/* 802BA568 002B61C8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BA56C 002B61CC 7C 08 02 A6 */ mflr r0 +/* 802BA570 002B61D0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BA574 002B61D4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BA578 002B61D8 4B F0 CB B1 */ bl _savegpr_27 +/* 802BA57C 002B61DC 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha +/* 802BA580 002B61E0 28 03 FF F3 */ cmplwi r3, 0xfff3 +/* 802BA584 002B61E4 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l +/* 802BA588 002B61E8 7C 7B 1B 78 */ mr r27, r3 +/* 802BA58C 002B61EC 7C 9C 23 78 */ mr r28, r4 +/* 802BA590 002B61F0 7C BD 2B 78 */ mr r29, r5 +/* 802BA594 002B61F4 3B C7 00 54 */ addi r30, r7, 0x54 +/* 802BA598 002B61F8 40 81 00 0C */ ble lbl_802BA5A4 +/* 802BA59C 002B61FC 38 60 00 FF */ li r3, 0xff +/* 802BA5A0 002B6200 48 00 02 F8 */ b lbl_802BA898 +lbl_802BA5A4: +/* 802BA5A4 002B6204 38 00 00 03 */ li r0, 3 +/* 802BA5A8 002B6208 3B E0 00 00 */ li r31, 0 +/* 802BA5AC 002B620C 7C 09 03 A6 */ mtctr r0 +lbl_802BA5B0: +/* 802BA5B0 002B6210 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d +/* 802BA5B4 002B6214 3C A5 00 03 */ addis r5, r5, 3 +/* 802BA5B8 002B6218 38 05 8A 1C */ addi r0, r5, -30180 +/* 802BA5BC 002B621C 7C 1E 00 2E */ lwzx r0, r30, r0 +/* 802BA5C0 002B6220 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA5C4 002B6224 41 82 00 44 */ beq lbl_802BA608 +/* 802BA5C8 002B6228 3B FF 00 01 */ addi r31, r31, 1 +/* 802BA5CC 002B622C 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d +/* 802BA5D0 002B6230 3C A5 00 03 */ addis r5, r5, 3 +/* 802BA5D4 002B6234 38 05 8A 1C */ addi r0, r5, -30180 +/* 802BA5D8 002B6238 7C 1E 00 2E */ lwzx r0, r30, r0 +/* 802BA5DC 002B623C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA5E0 002B6240 41 82 00 28 */ beq lbl_802BA608 +/* 802BA5E4 002B6244 3B FF 00 01 */ addi r31, r31, 1 +/* 802BA5E8 002B6248 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d +/* 802BA5EC 002B624C 3C A5 00 03 */ addis r5, r5, 3 +/* 802BA5F0 002B6250 38 05 8A 1C */ addi r0, r5, -30180 +/* 802BA5F4 002B6254 7C 1E 00 2E */ lwzx r0, r30, r0 +/* 802BA5F8 002B6258 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA5FC 002B625C 41 82 00 0C */ beq lbl_802BA608 +/* 802BA600 002B6260 3B FF 00 01 */ addi r31, r31, 1 +/* 802BA604 002B6264 42 00 FF AC */ bdnz lbl_802BA5B0 +lbl_802BA608: +/* 802BA608 002B6268 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802BA60C 002B626C 28 00 00 09 */ cmplwi r0, 9 +/* 802BA610 002B6270 40 82 00 0C */ bne lbl_802BA61C +/* 802BA614 002B6274 38 60 00 FF */ li r3, 0xff +/* 802BA618 002B6278 48 00 02 80 */ b lbl_802BA898 +lbl_802BA61C: +/* 802BA61C 002B627C 38 03 00 03 */ addi r0, r3, 3 +/* 802BA620 002B6280 2C 06 00 00 */ cmpwi r6, 0 +/* 802BA624 002B6284 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d +/* 802BA628 002B6288 38 03 00 0C */ addi r0, r3, 0xc +/* 802BA62C 002B628C 7C 60 21 D6 */ mullw r3, r0, r4 +/* 802BA630 002B6290 40 82 00 0C */ bne lbl_802BA63C +/* 802BA634 002B6294 48 00 0B 95 */ bl func_802BB1C8 +/* 802BA638 002B6298 7C 66 1B 78 */ mr r6, r3 +lbl_802BA63C: +/* 802BA63C 002B629C 2C 06 00 00 */ cmpwi r6, 0 +/* 802BA640 002B62A0 41 82 02 54 */ beq lbl_802BA894 +/* 802BA644 002B62A4 7F 64 DB 78 */ mr r4, r27 +/* 802BA648 002B62A8 7F 85 E3 78 */ mr r5, r28 +/* 802BA64C 002B62AC 57 E3 06 3E */ clrlwi r3, r31, 0x18 +/* 802BA650 002B62B0 4B FF EF 7D */ bl func_802B95CC +/* 802BA654 002B62B4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BA658 002B62B8 57 E5 25 36 */ rlwinm r5, r31, 4, 0x14, 0x1b +/* 802BA65C 002B62BC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BA660 002B62C0 38 80 00 00 */ li r4, 0 +/* 802BA664 002B62C4 38 63 00 54 */ addi r3, r3, 0x54 +/* 802BA668 002B62C8 3C C5 00 03 */ addis r6, r5, 3 +/* 802BA66C 002B62CC 3C A3 00 03 */ addis r5, r3, 3 +/* 802BA670 002B62D0 88 A5 8A 87 */ lbz r5, -0x7579(r5) +/* 802BA674 002B62D4 38 06 89 94 */ addi r0, r6, -30316 +/* 802BA678 002B62D8 7C E3 02 2E */ lhzx r7, r3, r0 +/* 802BA67C 002B62DC 7C A9 03 A6 */ mtctr r5 +/* 802BA680 002B62E0 2C 05 00 00 */ cmpwi r5, 0 +/* 802BA684 002B62E4 40 81 00 30 */ ble lbl_802BA6B4 +lbl_802BA688: +/* 802BA688 002B62E8 3C C4 00 03 */ addis r6, r4, 3 +/* 802BA68C 002B62EC 38 06 8A 7E */ addi r0, r6, -30082 +/* 802BA690 002B62F0 7C 03 00 AE */ lbzx r0, r3, r0 +/* 802BA694 002B62F4 54 06 20 36 */ slwi r6, r0, 4 +/* 802BA698 002B62F8 3C C6 00 03 */ addis r6, r6, 3 +/* 802BA69C 002B62FC 38 06 89 94 */ addi r0, r6, -30316 +/* 802BA6A0 002B6300 7C 03 02 2E */ lhzx r0, r3, r0 +/* 802BA6A4 002B6304 7C 07 00 40 */ cmplw r7, r0 +/* 802BA6A8 002B6308 40 81 00 0C */ ble lbl_802BA6B4 +/* 802BA6AC 002B630C 38 84 00 01 */ addi r4, r4, 1 +/* 802BA6B0 002B6310 42 00 FF D8 */ bdnz lbl_802BA688 +lbl_802BA6B4: +/* 802BA6B4 002B6314 7C 05 20 00 */ cmpw r5, r4 +/* 802BA6B8 002B6318 40 81 01 64 */ ble lbl_802BA81C +/* 802BA6BC 002B631C 7C 04 28 50 */ subf r0, r4, r5 +/* 802BA6C0 002B6320 39 04 00 08 */ addi r8, r4, 8 +/* 802BA6C4 002B6324 2C 00 00 08 */ cmpwi r0, 8 +/* 802BA6C8 002B6328 40 81 01 2C */ ble lbl_802BA7F4 +/* 802BA6CC 002B632C 3C C3 00 03 */ addis r6, r3, 3 +/* 802BA6D0 002B6330 39 20 00 00 */ li r9, 0 +/* 802BA6D4 002B6334 88 06 8A 87 */ lbz r0, -0x7579(r6) +/* 802BA6D8 002B6338 39 40 00 00 */ li r10, 0 +/* 802BA6DC 002B633C 39 60 00 00 */ li r11, 0 +/* 802BA6E0 002B6340 38 E0 00 00 */ li r7, 0 +/* 802BA6E4 002B6344 7C 00 20 00 */ cmpw r0, r4 +/* 802BA6E8 002B6348 41 80 00 18 */ blt lbl_802BA700 +/* 802BA6EC 002B634C 3C C0 80 00 */ lis r6, 0x80000001@ha +/* 802BA6F0 002B6350 38 06 00 01 */ addi r0, r6, 0x80000001@l +/* 802BA6F4 002B6354 7C 04 00 00 */ cmpw r4, r0 +/* 802BA6F8 002B6358 41 80 00 08 */ blt lbl_802BA700 +/* 802BA6FC 002B635C 38 E0 00 01 */ li r7, 1 +lbl_802BA700: +/* 802BA700 002B6360 2C 07 00 00 */ cmpwi r7, 0 +/* 802BA704 002B6364 41 82 00 20 */ beq lbl_802BA724 +/* 802BA708 002B6368 3C E3 00 03 */ addis r7, r3, 3 +/* 802BA70C 002B636C 3C C0 80 00 */ lis r6, 0x80000001@ha +/* 802BA710 002B6370 88 E7 8A 87 */ lbz r7, -0x7579(r7) +/* 802BA714 002B6374 38 06 00 01 */ addi r0, r6, 0x80000001@l +/* 802BA718 002B6378 7C 07 00 00 */ cmpw r7, r0 +/* 802BA71C 002B637C 41 80 00 08 */ blt lbl_802BA724 +/* 802BA720 002B6380 39 60 00 01 */ li r11, 1 +lbl_802BA724: +/* 802BA724 002B6384 2C 0B 00 00 */ cmpwi r11, 0 +/* 802BA728 002B6388 41 82 00 14 */ beq lbl_802BA73C +/* 802BA72C 002B638C 3C 04 80 00 */ addis r0, r4, 0x8000 +/* 802BA730 002B6390 28 00 00 00 */ cmplwi r0, 0 +/* 802BA734 002B6394 41 82 00 08 */ beq lbl_802BA73C +/* 802BA738 002B6398 39 40 00 01 */ li r10, 1 +lbl_802BA73C: +/* 802BA73C 002B639C 2C 0A 00 00 */ cmpwi r10, 0 +/* 802BA740 002B63A0 41 82 00 44 */ beq lbl_802BA784 +/* 802BA744 002B63A4 3C C3 00 03 */ addis r6, r3, 3 +/* 802BA748 002B63A8 7C 04 00 D0 */ neg r0, r4 +/* 802BA74C 002B63AC 89 46 8A 87 */ lbz r10, -0x7579(r6) +/* 802BA750 002B63B0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 +/* 802BA754 002B63B4 38 C0 00 01 */ li r6, 1 +/* 802BA758 002B63B8 55 47 00 00 */ rlwinm r7, r10, 0, 0, 0 +/* 802BA75C 002B63BC 7C 07 00 00 */ cmpw r7, r0 +/* 802BA760 002B63C0 40 82 00 18 */ bne lbl_802BA778 +/* 802BA764 002B63C4 7C 04 50 50 */ subf r0, r4, r10 +/* 802BA768 002B63C8 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 +/* 802BA76C 002B63CC 7C 07 00 00 */ cmpw r7, r0 +/* 802BA770 002B63D0 41 82 00 08 */ beq lbl_802BA778 +/* 802BA774 002B63D4 38 C0 00 00 */ li r6, 0 +lbl_802BA778: +/* 802BA778 002B63D8 2C 06 00 00 */ cmpwi r6, 0 +/* 802BA77C 002B63DC 41 82 00 08 */ beq lbl_802BA784 +/* 802BA780 002B63E0 39 20 00 01 */ li r9, 1 +lbl_802BA784: +/* 802BA784 002B63E4 2C 09 00 00 */ cmpwi r9, 0 +/* 802BA788 002B63E8 41 82 00 6C */ beq lbl_802BA7F4 +/* 802BA78C 002B63EC 38 05 00 07 */ addi r0, r5, 7 +/* 802BA790 002B63F0 7C 08 00 50 */ subf r0, r8, r0 +/* 802BA794 002B63F4 54 00 E8 FE */ srwi r0, r0, 3 +/* 802BA798 002B63F8 7C 09 03 A6 */ mtctr r0 +/* 802BA79C 002B63FC 7C 05 40 00 */ cmpw r5, r8 +/* 802BA7A0 002B6400 40 81 00 54 */ ble lbl_802BA7F4 +lbl_802BA7A4: +/* 802BA7A4 002B6404 7C C3 2A 14 */ add r6, r3, r5 +/* 802BA7A8 002B6408 38 A5 FF F8 */ addi r5, r5, -8 +/* 802BA7AC 002B640C 3C C6 00 03 */ addis r6, r6, 3 +/* 802BA7B0 002B6410 88 06 8A 7D */ lbz r0, -0x7583(r6) +/* 802BA7B4 002B6414 98 06 8A 7E */ stb r0, -0x7582(r6) +/* 802BA7B8 002B6418 88 06 8A 7C */ lbz r0, -0x7584(r6) +/* 802BA7BC 002B641C 98 06 8A 7D */ stb r0, -0x7583(r6) +/* 802BA7C0 002B6420 88 06 8A 7B */ lbz r0, -0x7585(r6) +/* 802BA7C4 002B6424 98 06 8A 7C */ stb r0, -0x7584(r6) +/* 802BA7C8 002B6428 88 06 8A 7A */ lbz r0, -0x7586(r6) +/* 802BA7CC 002B642C 98 06 8A 7B */ stb r0, -0x7585(r6) +/* 802BA7D0 002B6430 88 06 8A 79 */ lbz r0, -0x7587(r6) +/* 802BA7D4 002B6434 98 06 8A 7A */ stb r0, -0x7586(r6) +/* 802BA7D8 002B6438 88 06 8A 78 */ lbz r0, -0x7588(r6) +/* 802BA7DC 002B643C 98 06 8A 79 */ stb r0, -0x7587(r6) +/* 802BA7E0 002B6440 88 06 8A 77 */ lbz r0, -0x7589(r6) +/* 802BA7E4 002B6444 98 06 8A 78 */ stb r0, -0x7588(r6) +/* 802BA7E8 002B6448 88 06 8A 76 */ lbz r0, -0x758a(r6) +/* 802BA7EC 002B644C 98 06 8A 77 */ stb r0, -0x7589(r6) +/* 802BA7F0 002B6450 42 00 FF B4 */ bdnz lbl_802BA7A4 +lbl_802BA7F4: +/* 802BA7F4 002B6454 7C 04 28 50 */ subf r0, r4, r5 +/* 802BA7F8 002B6458 7C 09 03 A6 */ mtctr r0 +/* 802BA7FC 002B645C 7C 05 20 00 */ cmpw r5, r4 +/* 802BA800 002B6460 40 81 00 1C */ ble lbl_802BA81C +lbl_802BA804: +/* 802BA804 002B6464 7C C3 2A 14 */ add r6, r3, r5 +/* 802BA808 002B6468 38 A5 FF FF */ addi r5, r5, -1 +/* 802BA80C 002B646C 3C C6 00 03 */ addis r6, r6, 3 +/* 802BA810 002B6470 88 06 8A 7D */ lbz r0, -0x7583(r6) +/* 802BA814 002B6474 98 06 8A 7E */ stb r0, -0x7582(r6) +/* 802BA818 002B6478 42 00 FF EC */ bdnz lbl_802BA804 +lbl_802BA81C: +/* 802BA81C 002B647C 3C 03 00 03 */ addis r0, r3, 3 +/* 802BA820 002B6480 57 E5 06 3E */ clrlwi r5, r31, 0x18 +/* 802BA824 002B6484 7C 80 22 14 */ add r4, r0, r4 +/* 802BA828 002B6488 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BA82C 002B648C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BA830 002B6490 28 05 00 09 */ cmplwi r5, 9 +/* 802BA834 002B6494 9B E4 8A 7E */ stb r31, -0x7582(r4) +/* 802BA838 002B6498 38 63 00 54 */ addi r3, r3, 0x54 +/* 802BA83C 002B649C 40 80 00 40 */ bge lbl_802BA87C +/* 802BA840 002B64A0 28 1D 00 01 */ cmplwi r29, 1 +/* 802BA844 002B64A4 40 82 00 20 */ bne lbl_802BA864 +/* 802BA848 002B64A8 3C 83 00 03 */ addis r4, r3, 3 +/* 802BA84C 002B64AC 38 00 00 01 */ li r0, 1 +/* 802BA850 002B64B0 A0 64 8A 7C */ lhz r3, -0x7584(r4) +/* 802BA854 002B64B4 7C 00 28 30 */ slw r0, r0, r5 +/* 802BA858 002B64B8 7C 60 03 78 */ or r0, r3, r0 +/* 802BA85C 002B64BC B0 04 8A 7C */ sth r0, -0x7584(r4) +/* 802BA860 002B64C0 48 00 00 1C */ b lbl_802BA87C +lbl_802BA864: +/* 802BA864 002B64C4 3C 83 00 03 */ addis r4, r3, 3 +/* 802BA868 002B64C8 38 00 00 01 */ li r0, 1 +/* 802BA86C 002B64CC A0 64 8A 7C */ lhz r3, -0x7584(r4) +/* 802BA870 002B64D0 7C 00 28 30 */ slw r0, r0, r5 +/* 802BA874 002B64D4 7C 60 00 78 */ andc r0, r3, r0 +/* 802BA878 002B64D8 B0 04 8A 7C */ sth r0, -0x7584(r4) +lbl_802BA87C: +/* 802BA87C 002B64DC 3C BE 00 03 */ addis r5, r30, 3 +/* 802BA880 002B64E0 7F E3 FB 78 */ mr r3, r31 +/* 802BA884 002B64E4 88 85 8A 87 */ lbz r4, -0x7579(r5) +/* 802BA888 002B64E8 38 04 00 01 */ addi r0, r4, 1 +/* 802BA88C 002B64EC 98 05 8A 87 */ stb r0, -0x7579(r5) +/* 802BA890 002B64F0 48 00 00 08 */ b lbl_802BA898 +lbl_802BA894: +/* 802BA894 002B64F4 38 60 00 FF */ li r3, 0xff +lbl_802BA898: +/* 802BA898 002B64F8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BA89C 002B64FC 4B F0 C8 D9 */ bl _restgpr_27 +/* 802BA8A0 002B6500 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BA8A4 002B6504 7C 08 03 A6 */ mtlr r0 +/* 802BA8A8 002B6508 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BA8AC 002B650C 4E 80 00 20 */ blr + +.global func_802BA8B0 +func_802BA8B0: +/* 802BA8B0 002B6510 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BA8B4 002B6514 7C 08 02 A6 */ mflr r0 +/* 802BA8B8 002B6518 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BA8BC 002B651C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BA8C0 002B6520 4B F0 C8 65 */ bl _savegpr_26 +/* 802BA8C4 002B6524 3F 60 80 54 */ lis r27, lbl_8053C2C0@ha +/* 802BA8C8 002B6528 28 03 00 09 */ cmplwi r3, 9 +/* 802BA8CC 002B652C 3B 7B C2 C0 */ addi r27, r27, lbl_8053C2C0@l +/* 802BA8D0 002B6530 7C 7E 1B 78 */ mr r30, r3 +/* 802BA8D4 002B6534 3B FB 00 54 */ addi r31, r27, 0x54 +/* 802BA8D8 002B6538 40 80 01 20 */ bge lbl_802BA9F8 +/* 802BA8DC 002B653C 54 7A 15 BA */ rlwinm r26, r3, 2, 0x16, 0x1d +/* 802BA8E0 002B6540 3C 1F 00 03 */ addis r0, r31, 3 +/* 802BA8E4 002B6544 7C 60 D2 14 */ add r3, r0, r26 +/* 802BA8E8 002B6548 80 03 8A 1C */ lwz r0, -0x75e4(r3) +/* 802BA8EC 002B654C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA8F0 002B6550 40 82 00 08 */ bne lbl_802BA8F8 +/* 802BA8F4 002B6554 48 00 01 04 */ b lbl_802BA9F8 +lbl_802BA8F8: +/* 802BA8F8 002B6558 48 00 08 89 */ bl func_802BB180 +/* 802BA8FC 002B655C 3C 9F 00 03 */ addis r4, r31, 3 +/* 802BA900 002B6560 57 C0 25 36 */ rlwinm r0, r30, 4, 0x14, 0x1b +/* 802BA904 002B6564 7C 64 02 14 */ add r3, r4, r0 +/* 802BA908 002B6568 A0 03 89 98 */ lhz r0, -0x7668(r3) +/* 802BA90C 002B656C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BA910 002B6570 40 82 00 CC */ bne lbl_802BA9DC +/* 802BA914 002B6574 3B 80 00 00 */ li r28, 0 +/* 802BA918 002B6578 7F A4 D2 14 */ add r29, r4, r26 +/* 802BA91C 002B657C B3 83 89 94 */ sth r28, -0x766c(r3) +/* 802BA920 002B6580 B3 83 89 96 */ sth r28, -0x766a(r3) +/* 802BA924 002B6584 B3 83 89 98 */ sth r28, -0x7668(r3) +/* 802BA928 002B6588 B3 83 89 9A */ sth r28, -0x7666(r3) +/* 802BA92C 002B658C 93 83 89 8C */ stw r28, -0x7674(r3) +/* 802BA930 002B6590 93 83 89 90 */ stw r28, -0x7670(r3) +/* 802BA934 002B6594 80 7D 8A 1C */ lwz r3, -0x75e4(r29) +/* 802BA938 002B6598 48 00 08 BD */ bl func_802BB1F4 +/* 802BA93C 002B659C 3C 9F 00 03 */ addis r4, r31, 3 +/* 802BA940 002B65A0 93 9D 8A 1C */ stw r28, -0x75e4(r29) +/* 802BA944 002B65A4 7C 64 D2 14 */ add r3, r4, r26 +/* 802BA948 002B65A8 57 C0 0D FC */ rlwinm r0, r30, 1, 0x17, 0x1e +/* 802BA94C 002B65AC 93 83 8A 40 */ stw r28, -0x75c0(r3) +/* 802BA950 002B65B0 7C 64 02 14 */ add r3, r4, r0 +/* 802BA954 002B65B4 7F E7 FB 78 */ mr r7, r31 +/* 802BA958 002B65B8 38 C0 00 00 */ li r6, 0 +/* 802BA95C 002B65BC B3 83 8A 64 */ sth r28, -0x759c(r3) +/* 802BA960 002B65C0 88 84 8A 87 */ lbz r4, -0x7579(r4) +/* 802BA964 002B65C4 48 00 00 20 */ b lbl_802BA984 +lbl_802BA968: +/* 802BA968 002B65C8 54 C3 06 3E */ clrlwi r3, r6, 0x18 +/* 802BA96C 002B65CC 3C 63 00 03 */ addis r3, r3, 3 +/* 802BA970 002B65D0 38 03 8A 7E */ addi r0, r3, -30082 +/* 802BA974 002B65D4 7C 07 00 AE */ lbzx r0, r7, r0 +/* 802BA978 002B65D8 7C 1E 00 40 */ cmplw r30, r0 +/* 802BA97C 002B65DC 41 82 00 14 */ beq lbl_802BA990 +/* 802BA980 002B65E0 38 C6 00 01 */ addi r6, r6, 1 +lbl_802BA984: +/* 802BA984 002B65E4 54 C0 06 3E */ clrlwi r0, r6, 0x18 +/* 802BA988 002B65E8 7C 00 20 40 */ cmplw r0, r4 +/* 802BA98C 002B65EC 41 80 FF DC */ blt lbl_802BA968 +lbl_802BA990: +/* 802BA990 002B65F0 3C 87 00 03 */ addis r4, r7, 3 +/* 802BA994 002B65F4 48 00 00 20 */ b lbl_802BA9B4 +lbl_802BA998: +/* 802BA998 002B65F8 54 C3 06 3E */ clrlwi r3, r6, 0x18 +/* 802BA99C 002B65FC 38 C6 00 01 */ addi r6, r6, 1 +/* 802BA9A0 002B6600 3C 63 00 03 */ addis r3, r3, 3 +/* 802BA9A4 002B6604 38 63 8A 7E */ addi r3, r3, -30082 +/* 802BA9A8 002B6608 7C 67 1A 14 */ add r3, r7, r3 +/* 802BA9AC 002B660C 88 03 00 01 */ lbz r0, 1(r3) +/* 802BA9B0 002B6610 98 03 00 00 */ stb r0, 0(r3) +lbl_802BA9B4: +/* 802BA9B4 002B6614 88 64 8A 87 */ lbz r3, -0x7579(r4) +/* 802BA9B8 002B6618 54 C5 06 3E */ clrlwi r5, r6, 0x18 +/* 802BA9BC 002B661C 38 03 FF FF */ addi r0, r3, -1 +/* 802BA9C0 002B6620 7C 05 00 00 */ cmpw r5, r0 +/* 802BA9C4 002B6624 41 80 FF D4 */ blt lbl_802BA998 +/* 802BA9C8 002B6628 3C 9F 00 03 */ addis r4, r31, 3 +/* 802BA9CC 002B662C 88 64 8A 87 */ lbz r3, -0x7579(r4) +/* 802BA9D0 002B6630 38 03 FF FF */ addi r0, r3, -1 +/* 802BA9D4 002B6634 98 04 8A 87 */ stb r0, -0x7579(r4) +/* 802BA9D8 002B6638 48 00 00 1C */ b lbl_802BA9F4 +lbl_802BA9DC: +/* 802BA9DC 002B663C 3C 60 00 01 */ lis r3, 0x0000FFF8@ha +/* 802BA9E0 002B6640 3C 80 80 44 */ lis r4, lbl_8043F260@ha +/* 802BA9E4 002B6644 38 03 FF F8 */ addi r0, r3, 0x0000FFF8@l +/* 802BA9E8 002B6648 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802BA9EC 002B664C 38 84 F2 60 */ addi r4, r4, lbl_8043F260@l +/* 802BA9F0 002B6650 48 00 07 D5 */ bl func_802BB1C4 +lbl_802BA9F4: +/* 802BA9F4 002B6654 48 00 07 69 */ bl func_802BB15C +lbl_802BA9F8: +/* 802BA9F8 002B6658 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BA9FC 002B665C 4B F0 C7 75 */ bl _restgpr_26 +/* 802BAA00 002B6660 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BAA04 002B6664 7C 08 03 A6 */ mtlr r0 +/* 802BAA08 002B6668 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BAA0C 002B666C 4E 80 00 20 */ blr + +.global func_802BAA10 +func_802BAA10: +/* 802BAA10 002B6670 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BAA14 002B6674 38 00 00 00 */ li r0, 0 +/* 802BAA18 002B6678 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BAA1C 002B667C 3C 63 00 03 */ addis r3, r3, 3 +/* 802BAA20 002B6680 90 03 88 38 */ stw r0, -0x77c8(r3) +/* 802BAA24 002B6684 90 03 88 3C */ stw r0, -0x77c4(r3) +/* 802BAA28 002B6688 90 03 88 40 */ stw r0, -0x77c0(r3) +/* 802BAA2C 002B668C 90 03 88 60 */ stw r0, -0x77a0(r3) +/* 802BAA30 002B6690 90 03 88 80 */ stw r0, -0x7780(r3) +/* 802BAA34 002B6694 90 03 88 A0 */ stw r0, -0x7760(r3) +/* 802BAA38 002B6698 90 03 88 C0 */ stw r0, -0x7740(r3) +/* 802BAA3C 002B669C 90 03 88 44 */ stw r0, -0x77bc(r3) +/* 802BAA40 002B66A0 90 03 88 64 */ stw r0, -0x779c(r3) +/* 802BAA44 002B66A4 90 03 88 84 */ stw r0, -0x777c(r3) +/* 802BAA48 002B66A8 90 03 88 A4 */ stw r0, -0x775c(r3) +/* 802BAA4C 002B66AC 90 03 88 C4 */ stw r0, -0x773c(r3) +/* 802BAA50 002B66B0 90 03 88 48 */ stw r0, -0x77b8(r3) +/* 802BAA54 002B66B4 90 03 88 68 */ stw r0, -0x7798(r3) +/* 802BAA58 002B66B8 90 03 88 88 */ stw r0, -0x7778(r3) +/* 802BAA5C 002B66BC 90 03 88 A8 */ stw r0, -0x7758(r3) +/* 802BAA60 002B66C0 90 03 88 C8 */ stw r0, -0x7738(r3) +/* 802BAA64 002B66C4 90 03 88 4C */ stw r0, -0x77b4(r3) +/* 802BAA68 002B66C8 90 03 88 6C */ stw r0, -0x7794(r3) +/* 802BAA6C 002B66CC 90 03 88 8C */ stw r0, -0x7774(r3) +/* 802BAA70 002B66D0 90 03 88 AC */ stw r0, -0x7754(r3) +/* 802BAA74 002B66D4 90 03 88 CC */ stw r0, -0x7734(r3) +/* 802BAA78 002B66D8 90 03 88 50 */ stw r0, -0x77b0(r3) +/* 802BAA7C 002B66DC 90 03 88 70 */ stw r0, -0x7790(r3) +/* 802BAA80 002B66E0 90 03 88 90 */ stw r0, -0x7770(r3) +/* 802BAA84 002B66E4 90 03 88 B0 */ stw r0, -0x7750(r3) +/* 802BAA88 002B66E8 90 03 88 D0 */ stw r0, -0x7730(r3) +/* 802BAA8C 002B66EC 90 03 88 54 */ stw r0, -0x77ac(r3) +/* 802BAA90 002B66F0 90 03 88 74 */ stw r0, -0x778c(r3) +/* 802BAA94 002B66F4 90 03 88 94 */ stw r0, -0x776c(r3) +/* 802BAA98 002B66F8 90 03 88 B4 */ stw r0, -0x774c(r3) +/* 802BAA9C 002B66FC 90 03 88 D4 */ stw r0, -0x772c(r3) +/* 802BAAA0 002B6700 90 03 88 58 */ stw r0, -0x77a8(r3) +/* 802BAAA4 002B6704 90 03 88 78 */ stw r0, -0x7788(r3) +/* 802BAAA8 002B6708 90 03 88 98 */ stw r0, -0x7768(r3) +/* 802BAAAC 002B670C 90 03 88 B8 */ stw r0, -0x7748(r3) +/* 802BAAB0 002B6710 90 03 88 D8 */ stw r0, -0x7728(r3) +/* 802BAAB4 002B6714 90 03 88 5C */ stw r0, -0x77a4(r3) +/* 802BAAB8 002B6718 90 03 88 7C */ stw r0, -0x7784(r3) +/* 802BAABC 002B671C 90 03 88 9C */ stw r0, -0x7764(r3) +/* 802BAAC0 002B6720 90 03 88 BC */ stw r0, -0x7744(r3) +/* 802BAAC4 002B6724 90 03 88 DC */ stw r0, -0x7724(r3) +/* 802BAAC8 002B6728 4E 80 00 20 */ blr + +.global func_802BAACC +func_802BAACC: +/* 802BAACC 002B672C 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BAAD0 002B6730 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BAAD4 002B6734 3C 63 00 03 */ addis r3, r3, 3 +/* 802BAAD8 002B6738 80 63 88 28 */ lwz r3, -0x77d8(r3) +/* 802BAADC 002B673C 4E 80 00 20 */ blr + +.global func_802BAAE0 +func_802BAAE0: +/* 802BAAE0 002B6740 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BAAE4 002B6744 7C 08 02 A6 */ mflr r0 +/* 802BAAE8 002B6748 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BAAEC 002B674C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BAAF0 002B6750 4B F0 C6 39 */ bl _savegpr_27 +/* 802BAAF4 002B6754 7C 7B 1B 78 */ mr r27, r3 +/* 802BAAF8 002B6758 7C 9D 23 78 */ mr r29, r4 +/* 802BAAFC 002B675C 7C BF 2B 78 */ mr r31, r5 +/* 802BAB00 002B6760 48 00 06 55 */ bl func_802BB154 +/* 802BAB04 002B6764 2C 1D 00 00 */ cmpwi r29, 0 +/* 802BAB08 002B6768 7C 7C 1B 78 */ mr r28, r3 +/* 802BAB0C 002B676C 3B C0 00 00 */ li r30, 0 +/* 802BAB10 002B6770 41 81 00 08 */ bgt lbl_802BAB18 +/* 802BAB14 002B6774 3B A0 00 01 */ li r29, 1 +lbl_802BAB18: +/* 802BAB18 002B6778 7C 1F 00 D0 */ neg r0, r31 +/* 802BAB1C 002B677C 7C 00 FB 78 */ or r0, r0, r31 +/* 802BAB20 002B6780 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 802BAB24 002B6784 7F BF 00 38 */ and r31, r29, r0 +/* 802BAB28 002B6788 48 00 06 59 */ bl func_802BB180 +/* 802BAB2C 002B678C 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha +/* 802BAB30 002B6790 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha +/* 802BAB34 002B6794 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l +/* 802BAB38 002B6798 3C A4 00 03 */ addis r5, r4, 3 +/* 802BAB3C 002B679C 38 83 FF FF */ addi r4, r3, 0x7FFFFFFF@l +/* 802BAB40 002B67A0 80 65 88 38 */ lwz r3, -0x77c8(r5) +/* 802BAB44 002B67A4 80 05 88 3C */ lwz r0, -0x77c4(r5) +/* 802BAB48 002B67A8 7C 63 00 50 */ subf r3, r3, r0 +/* 802BAB4C 002B67AC 7C 03 20 50 */ subf r0, r3, r4 +/* 802BAB50 002B67B0 7C 00 E8 00 */ cmpw r0, r29 +/* 802BAB54 002B67B4 40 81 00 08 */ ble lbl_802BAB5C +/* 802BAB58 002B67B8 7C 9D 1A 14 */ add r4, r29, r3 +lbl_802BAB5C: +/* 802BAB5C 002B67BC 2C 1B 00 01 */ cmpwi r27, 1 +/* 802BAB60 002B67C0 41 82 00 34 */ beq lbl_802BAB94 +/* 802BAB64 002B67C4 40 80 00 50 */ bge lbl_802BABB4 +/* 802BAB68 002B67C8 2C 1B 00 00 */ cmpwi r27, 0 +/* 802BAB6C 002B67CC 40 80 00 08 */ bge lbl_802BAB74 +/* 802BAB70 002B67D0 48 00 00 44 */ b lbl_802BABB4 +lbl_802BAB74: +/* 802BAB74 002B67D4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BAB78 002B67D8 57 85 15 BA */ rlwinm r5, r28, 2, 0x16, 0x1d +/* 802BAB7C 002B67DC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BAB80 002B67E0 3C 03 00 03 */ addis r0, r3, 3 +/* 802BAB84 002B67E4 7C 60 2A 14 */ add r3, r0, r5 +/* 802BAB88 002B67E8 93 E3 88 80 */ stw r31, -0x7780(r3) +/* 802BAB8C 002B67EC 90 83 88 60 */ stw r4, -0x77a0(r3) +/* 802BAB90 002B67F0 48 00 00 28 */ b lbl_802BABB8 +lbl_802BAB94: +/* 802BAB94 002B67F4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BAB98 002B67F8 57 85 15 BA */ rlwinm r5, r28, 2, 0x16, 0x1d +/* 802BAB9C 002B67FC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BABA0 002B6800 3C 03 00 03 */ addis r0, r3, 3 +/* 802BABA4 002B6804 7C 60 2A 14 */ add r3, r0, r5 +/* 802BABA8 002B6808 93 E3 88 C0 */ stw r31, -0x7740(r3) +/* 802BABAC 002B680C 90 83 88 A0 */ stw r4, -0x7760(r3) +/* 802BABB0 002B6810 48 00 00 08 */ b lbl_802BABB8 +lbl_802BABB4: +/* 802BABB4 002B6814 3B C0 00 01 */ li r30, 1 +lbl_802BABB8: +/* 802BABB8 002B6818 2C 1E 00 00 */ cmpwi r30, 0 +/* 802BABBC 002B681C 40 82 00 58 */ bne lbl_802BAC14 +/* 802BABC0 002B6820 2C 1D 00 00 */ cmpwi r29, 0 +/* 802BABC4 002B6824 40 81 00 50 */ ble lbl_802BAC14 +/* 802BABC8 002B6828 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BABCC 002B682C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BABD0 002B6830 3C 63 00 03 */ addis r3, r3, 3 +/* 802BABD4 002B6834 80 83 88 3C */ lwz r4, -0x77c4(r3) +/* 802BABD8 002B6838 2C 04 00 00 */ cmpwi r4, 0 +/* 802BABDC 002B683C 41 82 00 18 */ beq lbl_802BABF4 +/* 802BABE0 002B6840 80 03 88 38 */ lwz r0, -0x77c8(r3) +/* 802BABE4 002B6844 7C 1D 00 00 */ cmpw r29, r0 +/* 802BABE8 002B6848 40 80 00 2C */ bge lbl_802BAC14 +/* 802BABEC 002B684C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BABF0 002B6850 40 81 00 24 */ ble lbl_802BAC14 +lbl_802BABF4: +/* 802BABF4 002B6854 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha +/* 802BABF8 002B6858 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l +/* 802BABFC 002B685C 3C 63 00 03 */ addis r3, r3, 3 +/* 802BAC00 002B6860 80 03 88 38 */ lwz r0, -0x77c8(r3) +/* 802BAC04 002B6864 7C 00 20 50 */ subf r0, r0, r4 +/* 802BAC08 002B6868 7C 1D 02 14 */ add r0, r29, r0 +/* 802BAC0C 002B686C 90 03 88 3C */ stw r0, -0x77c4(r3) +/* 802BAC10 002B6870 93 A3 88 38 */ stw r29, -0x77c8(r3) +lbl_802BAC14: +/* 802BAC14 002B6874 48 00 05 49 */ bl func_802BB15C +/* 802BAC18 002B6878 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BAC1C 002B687C 4B F0 C5 59 */ bl _restgpr_27 +/* 802BAC20 002B6880 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BAC24 002B6884 7C 08 03 A6 */ mtlr r0 +/* 802BAC28 002B6888 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BAC2C 002B688C 4E 80 00 20 */ blr + +.global func_802BAC30 +func_802BAC30: +/* 802BAC30 002B6890 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BAC34 002B6894 7C 08 02 A6 */ mflr r0 +/* 802BAC38 002B6898 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BAC3C 002B689C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BAC40 002B68A0 7C 7F 1B 78 */ mr r31, r3 +/* 802BAC44 002B68A4 48 00 05 11 */ bl func_802BB154 +/* 802BAC48 002B68A8 2C 1F 00 01 */ cmpwi r31, 1 +/* 802BAC4C 002B68AC 41 82 00 38 */ beq lbl_802BAC84 +/* 802BAC50 002B68B0 40 80 00 54 */ bge lbl_802BACA4 +/* 802BAC54 002B68B4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802BAC58 002B68B8 40 80 00 08 */ bge lbl_802BAC60 +/* 802BAC5C 002B68BC 48 00 00 48 */ b lbl_802BACA4 +lbl_802BAC60: +/* 802BAC60 002B68C0 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha +/* 802BAC64 002B68C4 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d +/* 802BAC68 002B68C8 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l +/* 802BAC6C 002B68CC 38 A0 00 00 */ li r5, 0 +/* 802BAC70 002B68D0 3C 04 00 03 */ addis r0, r4, 3 +/* 802BAC74 002B68D4 7C 60 1A 14 */ add r3, r0, r3 +/* 802BAC78 002B68D8 90 A3 88 80 */ stw r5, -0x7780(r3) +/* 802BAC7C 002B68DC 90 A3 88 60 */ stw r5, -0x77a0(r3) +/* 802BAC80 002B68E0 48 00 00 24 */ b lbl_802BACA4 +lbl_802BAC84: +/* 802BAC84 002B68E4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha +/* 802BAC88 002B68E8 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d +/* 802BAC8C 002B68EC 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l +/* 802BAC90 002B68F0 38 A0 00 00 */ li r5, 0 +/* 802BAC94 002B68F4 3C 04 00 03 */ addis r0, r4, 3 +/* 802BAC98 002B68F8 7C 60 1A 14 */ add r3, r0, r3 +/* 802BAC9C 002B68FC 90 A3 88 C0 */ stw r5, -0x7740(r3) +/* 802BACA0 002B6900 90 A3 88 A0 */ stw r5, -0x7760(r3) +lbl_802BACA4: +/* 802BACA4 002B6904 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BACA8 002B6908 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BACAC 002B690C 7C 08 03 A6 */ mtlr r0 +/* 802BACB0 002B6910 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BACB4 002B6914 4E 80 00 20 */ blr + +.global func_802BACB8 +func_802BACB8: +/* 802BACB8 002B6918 38 00 00 00 */ li r0, 0 +/* 802BACBC 002B691C 90 03 00 00 */ stw r0, 0(r3) +/* 802BACC0 002B6920 90 03 00 04 */ stw r0, 4(r3) +/* 802BACC4 002B6924 90 03 00 08 */ stw r0, 8(r3) +/* 802BACC8 002B6928 4E 80 00 20 */ blr + +.global func_802BACCC +func_802BACCC: +/* 802BACCC 002B692C 80 C3 00 00 */ lwz r6, 0(r3) +/* 802BACD0 002B6930 38 E0 00 00 */ li r7, 0 +/* 802BACD4 002B6934 48 00 00 0C */ b lbl_802BACE0 +lbl_802BACD8: +/* 802BACD8 002B6938 80 C6 00 00 */ lwz r6, 0(r6) +/* 802BACDC 002B693C 38 E7 00 01 */ addi r7, r7, 1 +lbl_802BACE0: +/* 802BACE0 002B6940 2C 06 00 00 */ cmpwi r6, 0 +/* 802BACE4 002B6944 41 82 00 10 */ beq lbl_802BACF4 +/* 802BACE8 002B6948 80 06 00 0C */ lwz r0, 0xc(r6) +/* 802BACEC 002B694C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BACF0 002B6950 40 81 FF E8 */ ble lbl_802BACD8 +lbl_802BACF4: +/* 802BACF4 002B6954 7C 88 23 78 */ mr r8, r4 +/* 802BACF8 002B6958 38 00 00 00 */ li r0, 0 +/* 802BACFC 002B695C 48 00 00 24 */ b lbl_802BAD20 +lbl_802BAD00: +/* 802BAD00 002B6960 81 26 00 0C */ lwz r9, 0xc(r6) +/* 802BAD04 002B6964 7C A8 48 51 */ subf. r5, r8, r9 +/* 802BAD08 002B6968 90 A6 00 0C */ stw r5, 0xc(r6) +/* 802BAD0C 002B696C 41 81 00 0C */ bgt lbl_802BAD18 +/* 802BAD10 002B6970 90 06 00 0C */ stw r0, 0xc(r6) +/* 802BAD14 002B6974 38 E7 00 01 */ addi r7, r7, 1 +lbl_802BAD18: +/* 802BAD18 002B6978 7D 09 40 50 */ subf r8, r9, r8 +/* 802BAD1C 002B697C 80 C6 00 00 */ lwz r6, 0(r6) +lbl_802BAD20: +/* 802BAD20 002B6980 2C 06 00 00 */ cmpwi r6, 0 +/* 802BAD24 002B6984 41 82 00 0C */ beq lbl_802BAD30 +/* 802BAD28 002B6988 2C 08 00 00 */ cmpwi r8, 0 +/* 802BAD2C 002B698C 41 81 FF D4 */ bgt lbl_802BAD00 +lbl_802BAD30: +/* 802BAD30 002B6990 80 03 00 08 */ lwz r0, 8(r3) +/* 802BAD34 002B6994 2C 00 00 00 */ cmpwi r0, 0 +/* 802BAD38 002B6998 40 81 00 18 */ ble lbl_802BAD50 +/* 802BAD3C 002B699C 7C 04 00 51 */ subf. r0, r4, r0 +/* 802BAD40 002B69A0 90 03 00 08 */ stw r0, 8(r3) +/* 802BAD44 002B69A4 40 80 00 0C */ bge lbl_802BAD50 +/* 802BAD48 002B69A8 38 00 00 00 */ li r0, 0 +/* 802BAD4C 002B69AC 90 03 00 08 */ stw r0, 8(r3) +lbl_802BAD50: +/* 802BAD50 002B69B0 7C E3 3B 78 */ mr r3, r7 +/* 802BAD54 002B69B4 4E 80 00 20 */ blr + +.global func_802BAD58 +func_802BAD58: +/* 802BAD58 002B69B8 80 A4 00 0C */ lwz r5, 0xc(r4) +/* 802BAD5C 002B69BC 2C 05 00 00 */ cmpwi r5, 0 +/* 802BAD60 002B69C0 4D 80 00 20 */ bltlr +/* 802BAD64 002B69C4 80 03 00 08 */ lwz r0, 8(r3) +/* 802BAD68 002B69C8 7C 05 00 00 */ cmpw r5, r0 +/* 802BAD6C 002B69CC 41 80 00 54 */ blt lbl_802BADC0 +/* 802BAD70 002B69D0 80 03 00 00 */ lwz r0, 0(r3) +/* 802BAD74 002B69D4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BAD78 002B69D8 40 82 00 0C */ bne lbl_802BAD84 +/* 802BAD7C 002B69DC 90 83 00 00 */ stw r4, 0(r3) +/* 802BAD80 002B69E0 48 00 00 1C */ b lbl_802BAD9C +lbl_802BAD84: +/* 802BAD84 002B69E4 80 A3 00 04 */ lwz r5, 4(r3) +/* 802BAD88 002B69E8 2C 05 00 00 */ cmpwi r5, 0 +/* 802BAD8C 002B69EC 41 82 00 08 */ beq lbl_802BAD94 +/* 802BAD90 002B69F0 90 85 00 00 */ stw r4, 0(r5) +lbl_802BAD94: +/* 802BAD94 002B69F4 80 03 00 04 */ lwz r0, 4(r3) +/* 802BAD98 002B69F8 90 04 00 04 */ stw r0, 4(r4) +lbl_802BAD9C: +/* 802BAD9C 002B69FC 38 00 00 00 */ li r0, 0 +/* 802BADA0 002B6A00 90 04 00 00 */ stw r0, 0(r4) +/* 802BADA4 002B6A04 90 83 00 04 */ stw r4, 4(r3) +/* 802BADA8 002B6A08 80 03 00 08 */ lwz r0, 8(r3) +/* 802BADAC 002B6A0C 80 A4 00 0C */ lwz r5, 0xc(r4) +/* 802BADB0 002B6A10 7C 00 28 50 */ subf r0, r0, r5 +/* 802BADB4 002B6A14 90 04 00 0C */ stw r0, 0xc(r4) +/* 802BADB8 002B6A18 90 A3 00 08 */ stw r5, 8(r3) +/* 802BADBC 002B6A1C 48 00 00 7C */ b lbl_802BAE38 +lbl_802BADC0: +/* 802BADC0 002B6A20 80 C3 00 00 */ lwz r6, 0(r3) +/* 802BADC4 002B6A24 48 00 00 1C */ b lbl_802BADE0 +lbl_802BADC8: +/* 802BADC8 002B6A28 2C 05 00 00 */ cmpwi r5, 0 +/* 802BADCC 002B6A2C 40 81 00 10 */ ble lbl_802BADDC +/* 802BADD0 002B6A30 80 04 00 0C */ lwz r0, 0xc(r4) +/* 802BADD4 002B6A34 7C 05 00 50 */ subf r0, r5, r0 +/* 802BADD8 002B6A38 90 04 00 0C */ stw r0, 0xc(r4) +lbl_802BADDC: +/* 802BADDC 002B6A3C 80 C6 00 00 */ lwz r6, 0(r6) +lbl_802BADE0: +/* 802BADE0 002B6A40 80 A6 00 0C */ lwz r5, 0xc(r6) +/* 802BADE4 002B6A44 80 04 00 0C */ lwz r0, 0xc(r4) +/* 802BADE8 002B6A48 7C 00 28 00 */ cmpw r0, r5 +/* 802BADEC 002B6A4C 41 81 FF DC */ bgt lbl_802BADC8 +/* 802BADF0 002B6A50 80 03 00 00 */ lwz r0, 0(r3) +/* 802BADF4 002B6A54 7C 06 00 40 */ cmplw r6, r0 +/* 802BADF8 002B6A58 40 82 00 18 */ bne lbl_802BAE10 +/* 802BADFC 002B6A5C 90 04 00 00 */ stw r0, 0(r4) +/* 802BAE00 002B6A60 80 A3 00 00 */ lwz r5, 0(r3) +/* 802BAE04 002B6A64 90 85 00 04 */ stw r4, 4(r5) +/* 802BAE08 002B6A68 90 83 00 00 */ stw r4, 0(r3) +/* 802BAE0C 002B6A6C 48 00 00 1C */ b lbl_802BAE28 +lbl_802BAE10: +/* 802BAE10 002B6A70 80 66 00 04 */ lwz r3, 4(r6) +/* 802BAE14 002B6A74 90 83 00 00 */ stw r4, 0(r3) +/* 802BAE18 002B6A78 80 06 00 04 */ lwz r0, 4(r6) +/* 802BAE1C 002B6A7C 90 04 00 04 */ stw r0, 4(r4) +/* 802BAE20 002B6A80 90 86 00 04 */ stw r4, 4(r6) +/* 802BAE24 002B6A84 90 C4 00 00 */ stw r6, 0(r4) +lbl_802BAE28: +/* 802BAE28 002B6A88 80 64 00 0C */ lwz r3, 0xc(r4) +/* 802BAE2C 002B6A8C 80 06 00 0C */ lwz r0, 0xc(r6) +/* 802BAE30 002B6A90 7C 03 00 50 */ subf r0, r3, r0 +/* 802BAE34 002B6A94 90 06 00 0C */ stw r0, 0xc(r6) +lbl_802BAE38: +/* 802BAE38 002B6A98 38 00 00 01 */ li r0, 1 +/* 802BAE3C 002B6A9C 98 04 00 16 */ stb r0, 0x16(r4) +/* 802BAE40 002B6AA0 4E 80 00 20 */ blr + +.global func_802BAE44 +func_802BAE44: +/* 802BAE44 002B6AA4 2C 04 00 00 */ cmpwi r4, 0 +/* 802BAE48 002B6AA8 4D 82 00 20 */ beqlr +/* 802BAE4C 002B6AAC 88 04 00 16 */ lbz r0, 0x16(r4) +/* 802BAE50 002B6AB0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BAE54 002B6AB4 4D 82 00 20 */ beqlr +/* 802BAE58 002B6AB8 80 03 00 00 */ lwz r0, 0(r3) +/* 802BAE5C 002B6ABC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BAE60 002B6AC0 40 82 00 08 */ bne lbl_802BAE68 +/* 802BAE64 002B6AC4 4E 80 00 20 */ blr +lbl_802BAE68: +/* 802BAE68 002B6AC8 80 C4 00 00 */ lwz r6, 0(r4) +/* 802BAE6C 002B6ACC 2C 06 00 00 */ cmpwi r6, 0 +/* 802BAE70 002B6AD0 41 82 00 18 */ beq lbl_802BAE88 +/* 802BAE74 002B6AD4 80 A6 00 0C */ lwz r5, 0xc(r6) +/* 802BAE78 002B6AD8 80 04 00 0C */ lwz r0, 0xc(r4) +/* 802BAE7C 002B6ADC 7C 05 02 14 */ add r0, r5, r0 +/* 802BAE80 002B6AE0 90 06 00 0C */ stw r0, 0xc(r6) +/* 802BAE84 002B6AE4 48 00 00 14 */ b lbl_802BAE98 +lbl_802BAE88: +/* 802BAE88 002B6AE8 80 A4 00 0C */ lwz r5, 0xc(r4) +/* 802BAE8C 002B6AEC 80 03 00 08 */ lwz r0, 8(r3) +/* 802BAE90 002B6AF0 7C 05 00 50 */ subf r0, r5, r0 +/* 802BAE94 002B6AF4 90 03 00 08 */ stw r0, 8(r3) +lbl_802BAE98: +/* 802BAE98 002B6AF8 80 03 00 00 */ lwz r0, 0(r3) +/* 802BAE9C 002B6AFC 7C 00 20 40 */ cmplw r0, r4 +/* 802BAEA0 002B6B00 40 82 00 34 */ bne lbl_802BAED4 +/* 802BAEA4 002B6B04 80 A4 00 00 */ lwz r5, 0(r4) +/* 802BAEA8 002B6B08 2C 05 00 00 */ cmpwi r5, 0 +/* 802BAEAC 002B6B0C 90 A3 00 00 */ stw r5, 0(r3) +/* 802BAEB0 002B6B10 41 82 00 0C */ beq lbl_802BAEBC +/* 802BAEB4 002B6B14 38 00 00 00 */ li r0, 0 +/* 802BAEB8 002B6B18 90 05 00 04 */ stw r0, 4(r5) +lbl_802BAEBC: +/* 802BAEBC 002B6B1C 80 03 00 04 */ lwz r0, 4(r3) +/* 802BAEC0 002B6B20 7C 00 20 40 */ cmplw r0, r4 +/* 802BAEC4 002B6B24 40 82 00 88 */ bne lbl_802BAF4C +/* 802BAEC8 002B6B28 38 00 00 00 */ li r0, 0 +/* 802BAECC 002B6B2C 90 03 00 04 */ stw r0, 4(r3) +/* 802BAED0 002B6B30 48 00 00 7C */ b lbl_802BAF4C +lbl_802BAED4: +/* 802BAED4 002B6B34 80 03 00 04 */ lwz r0, 4(r3) +/* 802BAED8 002B6B38 7C 00 20 40 */ cmplw r0, r4 +/* 802BAEDC 002B6B3C 40 82 00 20 */ bne lbl_802BAEFC +/* 802BAEE0 002B6B40 80 A4 00 04 */ lwz r5, 4(r4) +/* 802BAEE4 002B6B44 2C 05 00 00 */ cmpwi r5, 0 +/* 802BAEE8 002B6B48 90 A3 00 04 */ stw r5, 4(r3) +/* 802BAEEC 002B6B4C 41 82 00 60 */ beq lbl_802BAF4C +/* 802BAEF0 002B6B50 38 00 00 00 */ li r0, 0 +/* 802BAEF4 002B6B54 90 05 00 00 */ stw r0, 0(r5) +/* 802BAEF8 002B6B58 48 00 00 54 */ b lbl_802BAF4C +lbl_802BAEFC: +/* 802BAEFC 002B6B5C 80 64 00 00 */ lwz r3, 0(r4) +/* 802BAF00 002B6B60 2C 03 00 00 */ cmpwi r3, 0 +/* 802BAF04 002B6B64 4D 82 00 20 */ beqlr +/* 802BAF08 002B6B68 80 03 00 04 */ lwz r0, 4(r3) +/* 802BAF0C 002B6B6C 7C 00 20 40 */ cmplw r0, r4 +/* 802BAF10 002B6B70 4C 82 00 20 */ bnelr +/* 802BAF14 002B6B74 80 04 00 04 */ lwz r0, 4(r4) +/* 802BAF18 002B6B78 90 03 00 04 */ stw r0, 4(r3) +/* 802BAF1C 002B6B7C 48 00 00 08 */ b lbl_802BAF24 +/* 802BAF20 002B6B80 4E 80 00 20 */ blr +lbl_802BAF24: +/* 802BAF24 002B6B84 80 64 00 04 */ lwz r3, 4(r4) +/* 802BAF28 002B6B88 2C 03 00 00 */ cmpwi r3, 0 +/* 802BAF2C 002B6B8C 4D 82 00 20 */ beqlr +/* 802BAF30 002B6B90 80 03 00 00 */ lwz r0, 0(r3) +/* 802BAF34 002B6B94 7C 00 20 40 */ cmplw r0, r4 +/* 802BAF38 002B6B98 4C 82 00 20 */ bnelr +/* 802BAF3C 002B6B9C 80 04 00 00 */ lwz r0, 0(r4) +/* 802BAF40 002B6BA0 90 03 00 00 */ stw r0, 0(r3) +/* 802BAF44 002B6BA4 48 00 00 08 */ b lbl_802BAF4C +/* 802BAF48 002B6BA8 4E 80 00 20 */ blr +lbl_802BAF4C: +/* 802BAF4C 002B6BAC 38 60 00 00 */ li r3, 0 +/* 802BAF50 002B6BB0 3C 00 80 00 */ lis r0, 0x8000 +/* 802BAF54 002B6BB4 90 64 00 04 */ stw r3, 4(r4) +/* 802BAF58 002B6BB8 90 64 00 00 */ stw r3, 0(r4) +/* 802BAF5C 002B6BBC 90 04 00 0C */ stw r0, 0xc(r4) +/* 802BAF60 002B6BC0 98 64 00 16 */ stb r3, 0x16(r4) +/* 802BAF64 002B6BC4 4E 80 00 20 */ blr + +.global func_802BAF68 +func_802BAF68: +/* 802BAF68 002B6BC8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BAF6C 002B6BCC 7C 08 02 A6 */ mflr r0 +/* 802BAF70 002B6BD0 3C A0 00 03 */ lis r5, 0x00028AE0@ha +/* 802BAF74 002B6BD4 38 80 00 00 */ li r4, 0 +/* 802BAF78 002B6BD8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BAF7C 002B6BDC 38 A5 8A E0 */ addi r5, r5, 0x00028AE0@l +/* 802BAF80 002B6BE0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BAF84 002B6BE4 93 C1 00 08 */ stw r30, 8(r1) +/* 802BAF88 002B6BE8 3F C0 80 54 */ lis r30, lbl_8053C2C0@ha +/* 802BAF8C 002B6BEC 38 7E C2 C0 */ addi r3, r30, lbl_8053C2C0@l +/* 802BAF90 002B6BF0 4B D4 91 75 */ bl memset +/* 802BAF94 002B6BF4 4B FF E8 59 */ bl func_802B97EC +/* 802BAF98 002B6BF8 4B FF FA 79 */ bl func_802BAA10 +/* 802BAF9C 002B6BFC 3B FE C2 C0 */ addi r31, r30, -15680 +/* 802BAFA0 002B6C00 38 80 00 01 */ li r4, 1 +/* 802BAFA4 002B6C04 3C 7F 00 03 */ addis r3, r31, 3 +/* 802BAFA8 002B6C08 38 00 00 00 */ li r0, 0 +/* 802BAFAC 002B6C0C 98 83 88 02 */ stb r4, -0x77fe(r3) +/* 802BAFB0 002B6C10 90 03 87 E8 */ stw r0, -0x7818(r3) +/* 802BAFB4 002B6C14 90 03 88 48 */ stw r0, -0x77b8(r3) +/* 802BAFB8 002B6C18 B0 03 88 0C */ sth r0, -0x77f4(r3) +/* 802BAFBC 002B6C1C 98 1E C2 C0 */ stb r0, -0x3d40(r30) +/* 802BAFC0 002B6C20 4B FB 37 B1 */ bl OSEnableInterrupts +/* 802BAFC4 002B6C24 88 1E C2 C0 */ lbz r0, -0x3d40(r30) +/* 802BAFC8 002B6C28 54 00 10 3A */ slwi r0, r0, 2 +/* 802BAFCC 002B6C2C 7C 9F 02 14 */ add r4, r31, r0 +/* 802BAFD0 002B6C30 90 64 00 04 */ stw r3, 4(r4) +/* 802BAFD4 002B6C34 88 7E C2 C0 */ lbz r3, -0x3d40(r30) +/* 802BAFD8 002B6C38 38 03 00 01 */ addi r0, r3, 1 +/* 802BAFDC 002B6C3C 98 1E C2 C0 */ stb r0, -0x3d40(r30) +/* 802BAFE0 002B6C40 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BAFE4 002B6C44 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BAFE8 002B6C48 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BAFEC 002B6C4C 7C 08 03 A6 */ mtlr r0 +/* 802BAFF0 002B6C50 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BAFF4 002B6C54 4E 80 00 20 */ blr + +.global func_802BAFF8 +func_802BAFF8: +/* 802BAFF8 002B6C58 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BAFFC 002B6C5C 7C 08 02 A6 */ mflr r0 +/* 802BB000 002B6C60 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BB004 002B6C64 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BB008 002B6C68 93 C1 00 08 */ stw r30, 8(r1) +/* 802BB00C 002B6C6C 4B FB 37 51 */ bl OSDisableInterrupts +/* 802BB010 002B6C70 3F C0 80 54 */ lis r30, lbl_8053C2C0@ha +/* 802BB014 002B6C74 38 00 00 00 */ li r0, 0 +/* 802BB018 002B6C78 88 BE C2 C0 */ lbz r5, lbl_8053C2C0@l(r30) +/* 802BB01C 002B6C7C 3B FE C2 C0 */ addi r31, r30, -15680 +/* 802BB020 002B6C80 3C 9F 00 03 */ addis r4, r31, 3 +/* 802BB024 002B6C84 54 A5 10 3A */ slwi r5, r5, 2 +/* 802BB028 002B6C88 7C BF 2A 14 */ add r5, r31, r5 +/* 802BB02C 002B6C8C 90 65 00 04 */ stw r3, 4(r5) +/* 802BB030 002B6C90 88 7E C2 C0 */ lbz r3, -0x3d40(r30) +/* 802BB034 002B6C94 38 63 00 01 */ addi r3, r3, 1 +/* 802BB038 002B6C98 98 7E C2 C0 */ stb r3, -0x3d40(r30) +/* 802BB03C 002B6C9C 98 04 88 02 */ stb r0, -0x77fe(r4) +/* 802BB040 002B6CA0 88 7E C2 C0 */ lbz r3, -0x3d40(r30) +/* 802BB044 002B6CA4 38 63 FF FF */ addi r3, r3, -1 +/* 802BB048 002B6CA8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d +/* 802BB04C 002B6CAC 98 7E C2 C0 */ stb r3, -0x3d40(r30) +/* 802BB050 002B6CB0 7C 7F 02 14 */ add r3, r31, r0 +/* 802BB054 002B6CB4 80 63 00 04 */ lwz r3, 4(r3) +/* 802BB058 002B6CB8 4B FB 37 2D */ bl OSRestoreInterrupts +/* 802BB05C 002B6CBC 48 00 00 20 */ b lbl_802BB07C +lbl_802BB060: +/* 802BB060 002B6CC0 88 7E C2 C0 */ lbz r3, -0x3d40(r30) +/* 802BB064 002B6CC4 38 63 FF FF */ addi r3, r3, -1 +/* 802BB068 002B6CC8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d +/* 802BB06C 002B6CCC 98 7E C2 C0 */ stb r3, -0x3d40(r30) +/* 802BB070 002B6CD0 7C 7F 02 14 */ add r3, r31, r0 +/* 802BB074 002B6CD4 80 63 00 04 */ lwz r3, 4(r3) +/* 802BB078 002B6CD8 4B FB 37 0D */ bl OSRestoreInterrupts +lbl_802BB07C: +/* 802BB07C 002B6CDC 88 1E C2 C0 */ lbz r0, -0x3d40(r30) +/* 802BB080 002B6CE0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BB084 002B6CE4 40 82 FF DC */ bne lbl_802BB060 +/* 802BB088 002B6CE8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BB08C 002B6CEC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BB090 002B6CF0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BB094 002B6CF4 7C 08 03 A6 */ mtlr r0 +/* 802BB098 002B6CF8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BB09C 002B6CFC 4E 80 00 20 */ blr + +.global func_802BB0A0 +func_802BB0A0: +/* 802BB0A0 002B6D00 4E 80 00 20 */ blr + +.global func_802BB0A4 +func_802BB0A4: +/* 802BB0A4 002B6D04 4E 80 00 20 */ blr + +.global func_802BB0A8 +func_802BB0A8: +/* 802BB0A8 002B6D08 4E 80 00 20 */ blr + +.global func_802BB0AC +func_802BB0AC: +/* 802BB0AC 002B6D0C 4E 80 00 20 */ blr + +.global func_802BB0B0 +func_802BB0B0: +/* 802BB0B0 002B6D10 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BB0B4 002B6D14 7C 08 02 A6 */ mflr r0 +/* 802BB0B8 002B6D18 28 03 00 08 */ cmplwi r3, 8 +/* 802BB0BC 002B6D1C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BB0C0 002B6D20 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BB0C4 002B6D24 7C 9F 23 78 */ mr r31, r4 +/* 802BB0C8 002B6D28 93 C1 00 08 */ stw r30, 8(r1) +/* 802BB0CC 002B6D2C 7C 7E 1B 78 */ mr r30, r3 +/* 802BB0D0 002B6D30 41 80 00 0C */ blt lbl_802BB0DC +/* 802BB0D4 002B6D34 38 60 00 01 */ li r3, 1 +/* 802BB0D8 002B6D38 48 00 00 64 */ b lbl_802BB13C +lbl_802BB0DC: +/* 802BB0DC 002B6D3C 4B FB 36 81 */ bl OSDisableInterrupts +/* 802BB0E0 002B6D40 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha +/* 802BB0E4 002B6D44 57 C0 0D FC */ rlwinm r0, r30, 1, 0x17, 0x1e +/* 802BB0E8 002B6D48 88 A7 C2 C0 */ lbz r5, lbl_8053C2C0@l(r7) +/* 802BB0EC 002B6D4C 38 C7 C2 C0 */ addi r6, r7, -15680 +/* 802BB0F0 002B6D50 3C 86 00 03 */ addis r4, r6, 3 +/* 802BB0F4 002B6D54 54 A5 10 3A */ slwi r5, r5, 2 +/* 802BB0F8 002B6D58 7C A6 2A 14 */ add r5, r6, r5 +/* 802BB0FC 002B6D5C 7C 84 02 14 */ add r4, r4, r0 +/* 802BB100 002B6D60 90 65 00 04 */ stw r3, 4(r5) +/* 802BB104 002B6D64 88 67 C2 C0 */ lbz r3, -0x3d40(r7) +/* 802BB108 002B6D68 38 03 00 01 */ addi r0, r3, 1 +/* 802BB10C 002B6D6C 98 07 C2 C0 */ stb r0, -0x3d40(r7) +/* 802BB110 002B6D70 A0 04 88 08 */ lhz r0, -0x77f8(r4) +/* 802BB114 002B6D74 7C 00 FB 78 */ or r0, r0, r31 +/* 802BB118 002B6D78 B0 04 88 08 */ sth r0, -0x77f8(r4) +/* 802BB11C 002B6D7C 88 67 C2 C0 */ lbz r3, -0x3d40(r7) +/* 802BB120 002B6D80 38 63 FF FF */ addi r3, r3, -1 +/* 802BB124 002B6D84 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d +/* 802BB128 002B6D88 98 67 C2 C0 */ stb r3, -0x3d40(r7) +/* 802BB12C 002B6D8C 7C 66 02 14 */ add r3, r6, r0 +/* 802BB130 002B6D90 80 63 00 04 */ lwz r3, 4(r3) +/* 802BB134 002B6D94 4B FB 36 51 */ bl OSRestoreInterrupts +/* 802BB138 002B6D98 38 60 00 00 */ li r3, 0 +lbl_802BB13C: +/* 802BB13C 002B6D9C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BB140 002B6DA0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BB144 002B6DA4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BB148 002B6DA8 7C 08 03 A6 */ mtlr r0 +/* 802BB14C 002B6DAC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BB150 002B6DB0 4E 80 00 20 */ blr + +.global func_802BB154 +func_802BB154: +/* 802BB154 002B6DB4 38 60 00 02 */ li r3, 2 +/* 802BB158 002B6DB8 4E 80 00 20 */ blr + +.global func_802BB15C +func_802BB15C: +/* 802BB15C 002B6DBC 3C A0 80 54 */ lis r5, lbl_8053C2C0@ha +/* 802BB160 002B6DC0 88 85 C2 C0 */ lbz r4, lbl_8053C2C0@l(r5) +/* 802BB164 002B6DC4 38 65 C2 C0 */ addi r3, r5, -15680 +/* 802BB168 002B6DC8 38 84 FF FF */ addi r4, r4, -1 +/* 802BB16C 002B6DCC 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d +/* 802BB170 002B6DD0 98 85 C2 C0 */ stb r4, -0x3d40(r5) +/* 802BB174 002B6DD4 7C 63 02 14 */ add r3, r3, r0 +/* 802BB178 002B6DD8 80 63 00 04 */ lwz r3, 4(r3) +/* 802BB17C 002B6DDC 4B FB 36 08 */ b OSRestoreInterrupts + +.global func_802BB180 +func_802BB180: +/* 802BB180 002B6DE0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BB184 002B6DE4 7C 08 02 A6 */ mflr r0 +/* 802BB188 002B6DE8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BB18C 002B6DEC 4B FB 35 D1 */ bl OSDisableInterrupts +/* 802BB190 002B6DF0 3C A0 80 54 */ lis r5, lbl_8053C2C0@ha +/* 802BB194 002B6DF4 88 05 C2 C0 */ lbz r0, lbl_8053C2C0@l(r5) +/* 802BB198 002B6DF8 38 85 C2 C0 */ addi r4, r5, -15680 +/* 802BB19C 002B6DFC 54 00 10 3A */ slwi r0, r0, 2 +/* 802BB1A0 002B6E00 7C 84 02 14 */ add r4, r4, r0 +/* 802BB1A4 002B6E04 90 64 00 04 */ stw r3, 4(r4) +/* 802BB1A8 002B6E08 88 65 C2 C0 */ lbz r3, -0x3d40(r5) +/* 802BB1AC 002B6E0C 38 03 00 01 */ addi r0, r3, 1 +/* 802BB1B0 002B6E10 98 05 C2 C0 */ stb r0, -0x3d40(r5) +/* 802BB1B4 002B6E14 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BB1B8 002B6E18 7C 08 03 A6 */ mtlr r0 +/* 802BB1BC 002B6E1C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BB1C0 002B6E20 4E 80 00 20 */ blr + +.global func_802BB1C4 +func_802BB1C4: +/* 802BB1C4 002B6E24 4E 80 00 20 */ blr + +.global func_802BB1C8 +func_802BB1C8: +/* 802BB1C8 002B6E28 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BB1CC 002B6E2C 7C 08 02 A6 */ mflr r0 +/* 802BB1D0 002B6E30 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BB1D4 002B6E34 4B FF 9A ED */ bl func_802B4CC0 +/* 802BB1D8 002B6E38 2C 03 00 00 */ cmpwi r3, 0 +/* 802BB1DC 002B6E3C 40 82 00 08 */ bne lbl_802BB1E4 +/* 802BB1E0 002B6E40 38 60 00 00 */ li r3, 0 +lbl_802BB1E4: +/* 802BB1E4 002B6E44 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BB1E8 002B6E48 7C 08 03 A6 */ mtlr r0 +/* 802BB1EC 002B6E4C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BB1F0 002B6E50 4E 80 00 20 */ blr + +.global func_802BB1F4 +func_802BB1F4: +/* 802BB1F4 002B6E54 4B FF 9B 1C */ b lbl_802B4D10 +lbl_802BB1F8: +/* 802BB1F8 002B6E58 2C 03 00 04 */ cmpwi r3, 4 +/* 802BB1FC 002B6E5C 41 82 00 14 */ beq lbl_802BB210 +/* 802BB200 002B6E60 4C 80 00 20 */ bgelr +/* 802BB204 002B6E64 2C 03 00 00 */ cmpwi r3, 0 +/* 802BB208 002B6E68 4D 82 00 20 */ beqlr +/* 802BB20C 002B6E6C 4E 80 00 20 */ blr +lbl_802BB210: +/* 802BB210 002B6E70 7C 83 07 74 */ extsb r3, r4 +/* 802BB214 002B6E74 48 00 1E CC */ b lbl_802BD0E0 +/* 802BB218 002B6E78 4E 80 00 20 */ blr + +.global func_802BB21C +func_802BB21C: +/* 802BB21C 002B6E7C 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 802BB220 002B6E80 7C 08 02 A6 */ mflr r0 +/* 802BB224 002B6E84 90 01 00 64 */ stw r0, 0x64(r1) +/* 802BB228 002B6E88 39 61 00 60 */ addi r11, r1, 0x60 +/* 802BB22C 002B6E8C 4B F0 BE C9 */ bl __save_gpr +/* 802BB230 002B6E90 88 04 00 1E */ lbz r0, 0x1e(r4) +/* 802BB234 002B6E94 7C 8F 23 78 */ mr r15, r4 +/* 802BB238 002B6E98 3A 60 00 00 */ li r19, 0 +/* 802BB23C 002B6E9C 28 00 00 02 */ cmplwi r0, 2 +/* 802BB240 002B6EA0 41 82 00 0C */ beq lbl_802BB24C +/* 802BB244 002B6EA4 38 60 00 00 */ li r3, 0 +/* 802BB248 002B6EA8 48 00 03 54 */ b lbl_802BB59C +lbl_802BB24C: +/* 802BB24C 002B6EAC 3A 83 00 01 */ addi r20, r3, 1 +/* 802BB250 002B6EB0 54 60 0B FC */ rlwinm r0, r3, 1, 0xf, 0x1e +/* 802BB254 002B6EB4 3F E0 80 56 */ lis r31, lbl_80564DA0@ha +/* 802BB258 002B6EB8 7E C4 1A 14 */ add r22, r4, r3 +/* 802BB25C 002B6EBC 56 90 04 3E */ clrlwi r16, r20, 0x10 +/* 802BB260 002B6EC0 54 77 13 BA */ rlwinm r23, r3, 2, 0xe, 0x1d +/* 802BB264 002B6EC4 7E A4 02 14 */ add r21, r4, r0 +/* 802BB268 002B6EC8 3B FF 4D A0 */ addi r31, r31, lbl_80564DA0@l +/* 802BB26C 002B6ECC 3B A0 00 00 */ li r29, 0 +/* 802BB270 002B6ED0 3B C0 00 04 */ li r30, 4 +/* 802BB274 002B6ED4 3B 82 A4 38 */ addi r28, r2, lbl_80642A38-_SDA2_BASE_ +/* 802BB278 002B6ED8 3B 20 00 03 */ li r25, 3 +/* 802BB27C 002B6EDC 3B 00 00 02 */ li r24, 2 +/* 802BB280 002B6EE0 3D C0 80 44 */ lis r14, 0x8044 +/* 802BB284 002B6EE4 3B 42 A4 40 */ addi r26, r2, lbl_80642A40-_SDA2_BASE_ +/* 802BB288 002B6EE8 3B 60 00 01 */ li r27, 1 +lbl_802BB28C: +/* 802BB28C 002B6EEC 56 03 06 3E */ clrlwi r3, r16, 0x18 +/* 802BB290 002B6EF0 38 81 00 08 */ addi r4, r1, 8 +/* 802BB294 002B6EF4 38 A0 00 01 */ li r5, 1 +/* 802BB298 002B6EF8 48 00 14 59 */ bl func_802BC6F0 +/* 802BB29C 002B6EFC 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BB2A0 002B6F00 41 82 02 F8 */ beq lbl_802BB598 +/* 802BB2A4 002B6F04 88 16 00 1A */ lbz r0, 0x1a(r22) +/* 802BB2A8 002B6F08 3A 20 00 00 */ li r17, 0 +/* 802BB2AC 002B6F0C 3A 73 00 01 */ addi r19, r19, 1 +/* 802BB2B0 002B6F10 2C 00 00 02 */ cmpwi r0, 2 +/* 802BB2B4 002B6F14 41 82 01 C8 */ beq lbl_802BB47C +/* 802BB2B8 002B6F18 40 80 00 14 */ bge lbl_802BB2CC +/* 802BB2BC 002B6F1C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BB2C0 002B6F20 41 82 00 1C */ beq lbl_802BB2DC +/* 802BB2C4 002B6F24 40 80 00 C0 */ bge lbl_802BB384 +/* 802BB2C8 002B6F28 48 00 02 B0 */ b lbl_802BB578 +lbl_802BB2CC: +/* 802BB2CC 002B6F2C 2C 00 00 04 */ cmpwi r0, 4 +/* 802BB2D0 002B6F30 41 82 02 90 */ beq lbl_802BB560 +/* 802BB2D4 002B6F34 40 80 02 A4 */ bge lbl_802BB578 +/* 802BB2D8 002B6F38 48 00 01 F0 */ b lbl_802BB4C8 +lbl_802BB2DC: +/* 802BB2DC 002B6F3C 28 10 00 01 */ cmplwi r16, 1 +/* 802BB2E0 002B6F40 40 82 00 18 */ bne lbl_802BB2F8 +/* 802BB2E4 002B6F44 38 60 00 02 */ li r3, 2 +/* 802BB2E8 002B6F48 4B FF E9 65 */ bl func_802B9C4C +/* 802BB2EC 002B6F4C 7C 6F B9 2E */ stwx r3, r15, r23 +/* 802BB2F0 002B6F50 9B D6 00 14 */ stb r30, 0x14(r22) +/* 802BB2F4 002B6F54 48 00 00 38 */ b lbl_802BB32C +lbl_802BB2F8: +/* 802BB2F8 002B6F58 28 10 00 02 */ cmplwi r16, 2 +/* 802BB2FC 002B6F5C 40 82 00 18 */ bne lbl_802BB314 +/* 802BB300 002B6F60 38 60 00 03 */ li r3, 3 +/* 802BB304 002B6F64 4B FF E9 49 */ bl func_802B9C4C +/* 802BB308 002B6F68 7C 6F B9 2E */ stwx r3, r15, r23 +/* 802BB30C 002B6F6C 9B 16 00 14 */ stb r24, 0x14(r22) +/* 802BB310 002B6F70 48 00 00 1C */ b lbl_802BB32C +lbl_802BB314: +/* 802BB314 002B6F74 28 10 00 03 */ cmplwi r16, 3 +/* 802BB318 002B6F78 40 82 02 60 */ bne lbl_802BB578 +/* 802BB31C 002B6F7C 38 60 00 01 */ li r3, 1 +/* 802BB320 002B6F80 4B FF E9 2D */ bl func_802B9C4C +/* 802BB324 002B6F84 7C 6F B9 2E */ stwx r3, r15, r23 +/* 802BB328 002B6F88 9B 36 00 14 */ stb r25, 0x14(r22) +lbl_802BB32C: +/* 802BB32C 002B6F8C 7C 6F B8 2E */ lwzx r3, r15, r23 +/* 802BB330 002B6F90 2C 03 00 00 */ cmpwi r3, 0 +/* 802BB334 002B6F94 41 82 00 30 */ beq lbl_802BB364 +/* 802BB338 002B6F98 B3 A3 00 02 */ sth r29, 2(r3) +/* 802BB33C 002B6F9C 88 16 00 14 */ lbz r0, 0x14(r22) +/* 802BB340 002B6FA0 7C 6F B8 2E */ lwzx r3, r15, r23 +/* 802BB344 002B6FA4 54 00 08 3C */ slwi r0, r0, 1 +/* 802BB348 002B6FA8 7C 9A 02 14 */ add r4, r26, r0 +/* 802BB34C 002B6FAC A0 04 FF FE */ lhz r0, -2(r4) +/* 802BB350 002B6FB0 B0 03 00 00 */ sth r0, 0(r3) +/* 802BB354 002B6FB4 7C 6F B8 2E */ lwzx r3, r15, r23 +/* 802BB358 002B6FB8 B3 A3 00 04 */ sth r29, 4(r3) +/* 802BB35C 002B6FBC 9B 76 00 1A */ stb r27, 0x1a(r22) +/* 802BB360 002B6FC0 48 00 00 14 */ b lbl_802BB374 +lbl_802BB364: +/* 802BB364 002B6FC4 38 8E F2 78 */ addi r4, r14, -3464 +/* 802BB368 002B6FC8 3C 60 00 07 */ lis r3, 7 +/* 802BB36C 002B6FCC 48 00 1B A5 */ bl func_802BCF10 +/* 802BB370 002B6FD0 9B 16 00 1A */ stb r24, 0x1a(r22) +lbl_802BB374: +/* 802BB374 002B6FD4 88 16 00 14 */ lbz r0, 0x14(r22) +/* 802BB378 002B6FD8 7C 7C 02 14 */ add r3, r28, r0 +/* 802BB37C 002B6FDC 88 03 FF FF */ lbz r0, -1(r3) +/* 802BB380 002B6FE0 B0 15 00 0C */ sth r0, 0xc(r21) +lbl_802BB384: +/* 802BB384 002B6FE4 7C CF B8 2E */ lwzx r6, r15, r23 +/* 802BB388 002B6FE8 88 A1 00 08 */ lbz r5, 8(r1) +/* 802BB38C 002B6FEC A0 86 00 02 */ lhz r4, 2(r6) +/* 802BB390 002B6FF0 7C 66 22 14 */ add r3, r6, r4 +/* 802BB394 002B6FF4 38 04 00 01 */ addi r0, r4, 1 +/* 802BB398 002B6FF8 98 A3 00 08 */ stb r5, 8(r3) +/* 802BB39C 002B6FFC B0 06 00 02 */ sth r0, 2(r6) +/* 802BB3A0 002B7000 A0 75 00 0C */ lhz r3, 0xc(r21) +/* 802BB3A4 002B7004 38 63 FF FF */ addi r3, r3, -1 +/* 802BB3A8 002B7008 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BB3AC 002B700C B0 75 00 0C */ sth r3, 0xc(r21) +/* 802BB3B0 002B7010 40 82 00 C0 */ bne lbl_802BB470 +/* 802BB3B4 002B7014 88 16 00 14 */ lbz r0, 0x14(r22) +/* 802BB3B8 002B7018 8A 41 00 08 */ lbz r18, 8(r1) +/* 802BB3BC 002B701C 28 00 00 02 */ cmplwi r0, 2 +/* 802BB3C0 002B7020 40 82 00 44 */ bne lbl_802BB404 +/* 802BB3C4 002B7024 88 16 00 17 */ lbz r0, 0x17(r22) +/* 802BB3C8 002B7028 56 44 42 2E */ rlwinm r4, r18, 8, 8, 0x17 +/* 802BB3CC 002B702C 7C 6F B8 2E */ lwzx r3, r15, r23 +/* 802BB3D0 002B7030 7C 04 02 14 */ add r0, r4, r0 +/* 802BB3D4 002B7034 54 12 04 3E */ clrlwi r18, r0, 0x10 +/* 802BB3D8 002B7038 48 01 D2 45 */ bl func_802D861C +/* 802BB3DC 002B703C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BB3E0 002B7040 7C 6F B9 2E */ stwx r3, r15, r23 +/* 802BB3E4 002B7044 40 82 00 20 */ bne lbl_802BB404 +/* 802BB3E8 002B7048 2C 12 00 00 */ cmpwi r18, 0 +/* 802BB3EC 002B704C B2 55 00 0C */ sth r18, 0xc(r21) +/* 802BB3F0 002B7050 40 82 00 0C */ bne lbl_802BB3FC +/* 802BB3F4 002B7054 9B B6 00 1A */ stb r29, 0x1a(r22) +/* 802BB3F8 002B7058 48 00 01 80 */ b lbl_802BB578 +lbl_802BB3FC: +/* 802BB3FC 002B705C 9B D6 00 1A */ stb r30, 0x1a(r22) +/* 802BB400 002B7060 48 00 01 78 */ b lbl_802BB578 +lbl_802BB404: +/* 802BB404 002B7064 B2 55 00 0C */ sth r18, 0xc(r21) +/* 802BB408 002B7068 7C 6F B8 2E */ lwzx r3, r15, r23 +/* 802BB40C 002B706C 4B FF EA 99 */ bl func_802B9EA4 +/* 802BB410 002B7070 88 16 00 14 */ lbz r0, 0x14(r22) +/* 802BB414 002B7074 54 64 04 3E */ clrlwi r4, r3, 0x10 +/* 802BB418 002B7078 7C 7C 02 14 */ add r3, r28, r0 +/* 802BB41C 002B707C 88 03 FF FF */ lbz r0, -1(r3) +/* 802BB420 002B7080 7C 72 02 14 */ add r3, r18, r0 +/* 802BB424 002B7084 38 03 00 08 */ addi r0, r3, 8 +/* 802BB428 002B7088 7C 00 20 40 */ cmplw r0, r4 +/* 802BB42C 002B708C 40 81 00 28 */ ble lbl_802BB454 +/* 802BB430 002B7090 7C 6F B8 2E */ lwzx r3, r15, r23 +/* 802BB434 002B7094 4B FF E9 01 */ bl func_802B9D34 +/* 802BB438 002B7098 7F AF B9 2E */ stwx r29, r15, r23 +/* 802BB43C 002B709C 3C 60 80 44 */ lis r3, lbl_8043F2B4@ha +/* 802BB440 002B70A0 38 83 F2 B4 */ addi r4, r3, lbl_8043F2B4@l +/* 802BB444 002B70A4 9B D6 00 1A */ stb r30, 0x1a(r22) +/* 802BB448 002B70A8 3C 60 00 07 */ lis r3, 7 +/* 802BB44C 002B70AC 48 00 1A C5 */ bl func_802BCF10 +/* 802BB450 002B70B0 48 00 01 28 */ b lbl_802BB578 +lbl_802BB454: +/* 802BB454 002B70B4 2C 12 00 00 */ cmpwi r18, 0 +/* 802BB458 002B70B8 41 82 00 0C */ beq lbl_802BB464 +/* 802BB45C 002B70BC 9B 36 00 1A */ stb r25, 0x1a(r22) +/* 802BB460 002B70C0 48 00 01 18 */ b lbl_802BB578 +lbl_802BB464: +/* 802BB464 002B70C4 9B B6 00 1A */ stb r29, 0x1a(r22) +/* 802BB468 002B70C8 3A 20 00 01 */ li r17, 1 +/* 802BB46C 002B70CC 48 00 01 0C */ b lbl_802BB578 +lbl_802BB470: +/* 802BB470 002B70D0 88 01 00 08 */ lbz r0, 8(r1) +/* 802BB474 002B70D4 98 16 00 17 */ stb r0, 0x17(r22) +/* 802BB478 002B70D8 48 00 01 00 */ b lbl_802BB578 +lbl_802BB47C: +/* 802BB47C 002B70DC A0 75 00 0C */ lhz r3, 0xc(r21) +/* 802BB480 002B70E0 38 63 FF FF */ addi r3, r3, -1 +/* 802BB484 002B70E4 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BB488 002B70E8 B0 75 00 0C */ sth r3, 0xc(r21) +/* 802BB48C 002B70EC 40 82 00 30 */ bne lbl_802BB4BC +/* 802BB490 002B70F0 88 16 00 14 */ lbz r0, 0x14(r22) +/* 802BB494 002B70F4 88 61 00 08 */ lbz r3, 8(r1) +/* 802BB498 002B70F8 28 00 00 02 */ cmplwi r0, 2 +/* 802BB49C 002B70FC 40 82 00 14 */ bne lbl_802BB4B0 +/* 802BB4A0 002B7100 88 16 00 17 */ lbz r0, 0x17(r22) +/* 802BB4A4 002B7104 54 63 42 2E */ rlwinm r3, r3, 8, 8, 0x17 +/* 802BB4A8 002B7108 7C 03 02 14 */ add r0, r3, r0 +/* 802BB4AC 002B710C 54 03 04 3E */ clrlwi r3, r0, 0x10 +lbl_802BB4B0: +/* 802BB4B0 002B7110 B0 75 00 0C */ sth r3, 0xc(r21) +/* 802BB4B4 002B7114 9B D6 00 1A */ stb r30, 0x1a(r22) +/* 802BB4B8 002B7118 48 00 00 C0 */ b lbl_802BB578 +lbl_802BB4BC: +/* 802BB4BC 002B711C 88 01 00 08 */ lbz r0, 8(r1) +/* 802BB4C0 002B7120 98 16 00 17 */ stb r0, 0x17(r22) +/* 802BB4C4 002B7124 48 00 00 B4 */ b lbl_802BB578 +lbl_802BB4C8: +/* 802BB4C8 002B7128 7C EF B8 2E */ lwzx r7, r15, r23 +/* 802BB4CC 002B712C 56 83 06 3E */ clrlwi r3, r20, 0x18 +/* 802BB4D0 002B7130 88 C1 00 08 */ lbz r6, 8(r1) +/* 802BB4D4 002B7134 A0 A7 00 02 */ lhz r5, 2(r7) +/* 802BB4D8 002B7138 7C 87 2A 14 */ add r4, r7, r5 +/* 802BB4DC 002B713C 38 05 00 01 */ addi r0, r5, 1 +/* 802BB4E0 002B7140 98 C4 00 08 */ stb r6, 8(r4) +/* 802BB4E4 002B7144 B0 07 00 02 */ sth r0, 2(r7) +/* 802BB4E8 002B7148 A0 95 00 0C */ lhz r4, 0xc(r21) +/* 802BB4EC 002B714C 38 04 FF FF */ addi r0, r4, -1 +/* 802BB4F0 002B7150 B0 15 00 0C */ sth r0, 0xc(r21) +/* 802BB4F4 002B7154 54 05 04 3E */ clrlwi r5, r0, 0x10 +/* 802BB4F8 002B7158 7C 8F B8 2E */ lwzx r4, r15, r23 +/* 802BB4FC 002B715C A0 04 00 02 */ lhz r0, 2(r4) +/* 802BB500 002B7160 7C 84 02 14 */ add r4, r4, r0 +/* 802BB504 002B7164 38 84 00 08 */ addi r4, r4, 8 +/* 802BB508 002B7168 48 00 11 E9 */ bl func_802BC6F0 +/* 802BB50C 002B716C 7C 8F B8 2E */ lwzx r4, r15, r23 +/* 802BB510 002B7170 7E 73 1A 14 */ add r19, r19, r3 +/* 802BB514 002B7174 A0 04 00 02 */ lhz r0, 2(r4) +/* 802BB518 002B7178 7C 00 1A 14 */ add r0, r0, r3 +/* 802BB51C 002B717C B0 04 00 02 */ sth r0, 2(r4) +/* 802BB520 002B7180 A0 15 00 0C */ lhz r0, 0xc(r21) +/* 802BB524 002B7184 7C 63 00 50 */ subf r3, r3, r0 +/* 802BB528 002B7188 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BB52C 002B718C B0 75 00 0C */ sth r3, 0xc(r21) +/* 802BB530 002B7190 40 82 00 48 */ bne lbl_802BB578 +/* 802BB534 002B7194 88 16 00 14 */ lbz r0, 0x14(r22) +/* 802BB538 002B7198 28 00 00 02 */ cmplwi r0, 2 +/* 802BB53C 002B719C 40 82 00 18 */ bne lbl_802BB554 +/* 802BB540 002B71A0 48 01 D2 AD */ bl func_802D87EC +/* 802BB544 002B71A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802BB548 002B71A8 40 82 00 0C */ bne lbl_802BB554 +/* 802BB54C 002B71AC 9B B6 00 1A */ stb r29, 0x1a(r22) +/* 802BB550 002B71B0 48 00 00 28 */ b lbl_802BB578 +lbl_802BB554: +/* 802BB554 002B71B4 9B B6 00 1A */ stb r29, 0x1a(r22) +/* 802BB558 002B71B8 3A 20 00 01 */ li r17, 1 +/* 802BB55C 002B71BC 48 00 00 1C */ b lbl_802BB578 +lbl_802BB560: +/* 802BB560 002B71C0 A0 75 00 0C */ lhz r3, 0xc(r21) +/* 802BB564 002B71C4 38 63 FF FF */ addi r3, r3, -1 +/* 802BB568 002B71C8 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BB56C 002B71CC B0 75 00 0C */ sth r3, 0xc(r21) +/* 802BB570 002B71D0 40 82 00 08 */ bne lbl_802BB578 +/* 802BB574 002B71D4 9B B6 00 1A */ stb r29, 0x1a(r22) +lbl_802BB578: +/* 802BB578 002B71D8 2C 11 00 00 */ cmpwi r17, 0 +/* 802BB57C 002B71DC 41 82 FD 10 */ beq lbl_802BB28C +/* 802BB580 002B71E0 88 7F 00 1F */ lbz r3, 0x1f(r31) +/* 802BB584 002B71E4 38 80 00 00 */ li r4, 0 +/* 802BB588 002B71E8 7C AF B8 2E */ lwzx r5, r15, r23 +/* 802BB58C 002B71EC 4B FF E9 5D */ bl func_802B9EE8 +/* 802BB590 002B71F0 7F AF B9 2E */ stwx r29, r15, r23 +/* 802BB594 002B71F4 4B FF FC F8 */ b lbl_802BB28C +lbl_802BB598: +/* 802BB598 002B71F8 7E 63 9B 78 */ mr r3, r19 +lbl_802BB59C: +/* 802BB59C 002B71FC 39 61 00 60 */ addi r11, r1, 0x60 +/* 802BB5A0 002B7200 4B F0 BB A1 */ bl __restore_gpr +/* 802BB5A4 002B7204 80 01 00 64 */ lwz r0, 0x64(r1) +/* 802BB5A8 002B7208 7C 08 03 A6 */ mtlr r0 +/* 802BB5AC 002B720C 38 21 00 60 */ addi r1, r1, 0x60 +/* 802BB5B0 002B7210 4E 80 00 20 */ blr + +.global func_802BB5B4 +func_802BB5B4: +/* 802BB5B4 002B7214 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BB5B8 002B7218 7C 08 02 A6 */ mflr r0 +/* 802BB5BC 002B721C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BB5C0 002B7220 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BB5C4 002B7224 4B F0 BB 65 */ bl _savegpr_27 +/* 802BB5C8 002B7228 A0 A4 00 00 */ lhz r5, 0(r4) +/* 802BB5CC 002B722C 7C 9B 23 78 */ mr r27, r4 +/* 802BB5D0 002B7230 A0 04 00 04 */ lhz r0, 4(r4) +/* 802BB5D4 002B7234 28 05 21 00 */ cmplwi r5, 0x2100 +/* 802BB5D8 002B7238 7C 64 02 14 */ add r3, r4, r0 +/* 802BB5DC 002B723C 38 C3 00 08 */ addi r6, r3, 8 +/* 802BB5E0 002B7240 40 82 00 0C */ bne lbl_802BB5EC +/* 802BB5E4 002B7244 3B 80 00 02 */ li r28, 2 +/* 802BB5E8 002B7248 48 00 00 20 */ b lbl_802BB608 +lbl_802BB5EC: +/* 802BB5EC 002B724C 28 05 22 00 */ cmplwi r5, 0x2200 +/* 802BB5F0 002B7250 40 82 00 0C */ bne lbl_802BB5FC +/* 802BB5F4 002B7254 3B 80 00 03 */ li r28, 3 +/* 802BB5F8 002B7258 48 00 00 10 */ b lbl_802BB608 +lbl_802BB5FC: +/* 802BB5FC 002B725C 28 05 20 00 */ cmplwi r5, 0x2000 +/* 802BB600 002B7260 40 82 00 08 */ bne lbl_802BB608 +/* 802BB604 002B7264 3B 80 00 00 */ li r28, 0 +lbl_802BB608: +/* 802BB608 002B7268 28 05 21 00 */ cmplwi r5, 0x2100 +/* 802BB60C 002B726C 40 82 01 20 */ bne lbl_802BB72C +/* 802BB610 002B7270 3C 60 80 57 */ lis r3, lbl_80568650@ha +/* 802BB614 002B7274 A0 84 00 02 */ lhz r4, 2(r4) +/* 802BB618 002B7278 3B C3 86 50 */ addi r30, r3, lbl_80568650@l +/* 802BB61C 002B727C A0 1E 00 7E */ lhz r0, 0x7e(r30) +/* 802BB620 002B7280 7C 04 00 40 */ cmplw r4, r0 +/* 802BB624 002B7284 40 81 01 08 */ ble lbl_802BB72C +/* 802BB628 002B7288 88 06 00 01 */ lbz r0, 1(r6) +/* 802BB62C 002B728C 88 66 00 00 */ lbz r3, 0(r6) +/* 802BB630 002B7290 38 C6 00 02 */ addi r6, r6, 2 +/* 802BB634 002B7294 54 00 44 2E */ rlwinm r0, r0, 8, 0x10, 0x17 +/* 802BB638 002B7298 7C 03 02 14 */ add r0, r3, r0 +/* 802BB63C 002B729C 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 802BB640 002B72A0 70 00 CF FF */ andi. r0, r0, 0xcfff +/* 802BB644 002B72A4 60 1F 10 00 */ ori r31, r0, 0x1000 +/* 802BB648 002B72A8 7F FD 46 70 */ srawi r29, r31, 8 +/* 802BB64C 002B72AC 48 00 00 D0 */ b lbl_802BB71C +lbl_802BB650: +/* 802BB650 002B72B0 7C C4 33 78 */ mr r4, r6 +/* 802BB654 002B72B4 7F 83 E3 78 */ mr r3, r28 +/* 802BB658 002B72B8 7F 66 DB 78 */ mr r6, r27 +/* 802BB65C 002B72BC 48 00 10 9D */ bl func_802BC6F8 +/* 802BB660 002B72C0 A0 7B 00 04 */ lhz r3, 4(r27) +/* 802BB664 002B72C4 A0 1E 00 7C */ lhz r0, 0x7c(r30) +/* 802BB668 002B72C8 A0 9B 00 02 */ lhz r4, 2(r27) +/* 802BB66C 002B72CC 7C 03 02 14 */ add r0, r3, r0 +/* 802BB670 002B72D0 B0 1B 00 04 */ sth r0, 4(r27) +/* 802BB674 002B72D4 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 802BB678 002B72D8 7C 7B 02 14 */ add r3, r27, r0 +/* 802BB67C 002B72DC A0 1E 00 7C */ lhz r0, 0x7c(r30) +/* 802BB680 002B72E0 38 C3 00 0A */ addi r6, r3, 0xa +/* 802BB684 002B72E4 7C 00 20 50 */ subf r0, r0, r4 +/* 802BB688 002B72E8 B0 1B 00 02 */ sth r0, 2(r27) +/* 802BB68C 002B72EC 9B E3 00 08 */ stb r31, 8(r3) +/* 802BB690 002B72F0 9B A3 00 09 */ stb r29, 9(r3) +/* 802BB694 002B72F4 A0 7B 00 02 */ lhz r3, 2(r27) +/* 802BB698 002B72F8 A0 1E 00 7E */ lhz r0, 0x7e(r30) +/* 802BB69C 002B72FC 7C 03 00 40 */ cmplw r3, r0 +/* 802BB6A0 002B7300 40 81 00 20 */ ble lbl_802BB6C0 +/* 802BB6A4 002B7304 A0 1E 00 7C */ lhz r0, 0x7c(r30) +/* 802BB6A8 002B7308 98 06 00 00 */ stb r0, 0(r6) +/* 802BB6AC 002B730C A0 1E 00 7C */ lhz r0, 0x7c(r30) +/* 802BB6B0 002B7310 7C 00 46 70 */ srawi r0, r0, 8 +/* 802BB6B4 002B7314 98 06 00 01 */ stb r0, 1(r6) +/* 802BB6B8 002B7318 38 C6 00 02 */ addi r6, r6, 2 +/* 802BB6BC 002B731C 48 00 00 20 */ b lbl_802BB6DC +lbl_802BB6C0: +/* 802BB6C0 002B7320 38 03 FF FC */ addi r0, r3, -4 +/* 802BB6C4 002B7324 98 06 00 00 */ stb r0, 0(r6) +/* 802BB6C8 002B7328 A0 7B 00 02 */ lhz r3, 2(r27) +/* 802BB6CC 002B732C 38 03 FF FC */ addi r0, r3, -4 +/* 802BB6D0 002B7330 7C 00 46 70 */ srawi r0, r0, 8 +/* 802BB6D4 002B7334 98 06 00 01 */ stb r0, 1(r6) +/* 802BB6D8 002B7338 38 C6 00 02 */ addi r6, r6, 2 +lbl_802BB6DC: +/* 802BB6DC 002B733C A0 7B 00 06 */ lhz r3, 6(r27) +/* 802BB6E0 002B7340 2C 03 00 00 */ cmpwi r3, 0 +/* 802BB6E4 002B7344 41 82 00 38 */ beq lbl_802BB71C +/* 802BB6E8 002B7348 38 63 FF FF */ addi r3, r3, -1 +/* 802BB6EC 002B734C 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BB6F0 002B7350 B0 7B 00 06 */ sth r3, 6(r27) +/* 802BB6F4 002B7354 40 82 00 28 */ bne lbl_802BB71C +/* 802BB6F8 002B7358 38 00 19 00 */ li r0, 0x1900 +/* 802BB6FC 002B735C 3C 60 80 56 */ lis r3, lbl_80564DA0@ha +/* 802BB700 002B7360 B0 1B 00 00 */ sth r0, 0(r27) +/* 802BB704 002B7364 38 63 4D A0 */ addi r3, r3, lbl_80564DA0@l +/* 802BB708 002B7368 7F 65 DB 78 */ mr r5, r27 +/* 802BB70C 002B736C 38 80 00 00 */ li r4, 0 +/* 802BB710 002B7370 88 63 00 1F */ lbz r3, 0x1f(r3) +/* 802BB714 002B7374 4B FF E7 D5 */ bl func_802B9EE8 +/* 802BB718 002B7378 48 00 00 30 */ b lbl_802BB748 +lbl_802BB71C: +/* 802BB71C 002B737C A0 BE 00 7E */ lhz r5, 0x7e(r30) +/* 802BB720 002B7380 A0 1B 00 02 */ lhz r0, 2(r27) +/* 802BB724 002B7384 7C 00 28 40 */ cmplw r0, r5 +/* 802BB728 002B7388 41 81 FF 28 */ bgt lbl_802BB650 +lbl_802BB72C: +/* 802BB72C 002B738C A0 BB 00 02 */ lhz r5, 2(r27) +/* 802BB730 002B7390 7C C4 33 78 */ mr r4, r6 +/* 802BB734 002B7394 7F 83 E3 78 */ mr r3, r28 +/* 802BB738 002B7398 7F 66 DB 78 */ mr r6, r27 +/* 802BB73C 002B739C 48 00 0F BD */ bl func_802BC6F8 +/* 802BB740 002B73A0 7F 63 DB 78 */ mr r3, r27 +/* 802BB744 002B73A4 4B FF E5 F1 */ bl func_802B9D34 +lbl_802BB748: +/* 802BB748 002B73A8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BB74C 002B73AC 4B F0 BA 29 */ bl _restgpr_27 +/* 802BB750 002B73B0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BB754 002B73B4 7C 08 03 A6 */ mtlr r0 +/* 802BB758 002B73B8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BB75C 002B73BC 4E 80 00 20 */ blr +/* 802BB760 002B73C0 3C C0 80 56 */ lis r6, lbl_80564DA0@ha +/* 802BB764 002B73C4 38 00 00 00 */ li r0, 0 +/* 802BB768 002B73C8 38 C6 4D A0 */ addi r6, r6, lbl_80564DA0@l +/* 802BB76C 002B73CC 98 06 00 1E */ stb r0, 0x1e(r6) +/* 802BB770 002B73D0 98 06 00 1A */ stb r0, 0x1a(r6) +/* 802BB774 002B73D4 98 06 00 1B */ stb r0, 0x1b(r6) +/* 802BB778 002B73D8 98 06 00 1C */ stb r0, 0x1c(r6) +/* 802BB77C 002B73DC 98 66 00 1F */ stb r3, 0x1f(r6) +/* 802BB780 002B73E0 98 86 00 20 */ stb r4, 0x20(r6) +/* 802BB784 002B73E4 B0 A6 00 12 */ sth r5, 0x12(r6) +/* 802BB788 002B73E8 4E 80 00 20 */ blr +/* 802BB78C 002B73EC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BB790 002B73F0 7C 08 02 A6 */ mflr r0 +/* 802BB794 002B73F4 3C A0 80 56 */ lis r5, lbl_80564DA0@ha +/* 802BB798 002B73F8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BB79C 002B73FC 38 00 00 00 */ li r0, 0 +/* 802BB7A0 002B7400 38 A5 4D A0 */ addi r5, r5, lbl_80564DA0@l +/* 802BB7A4 002B7404 98 01 00 13 */ stb r0, 0x13(r1) +/* 802BB7A8 002B7408 38 00 00 02 */ li r0, 2 +/* 802BB7AC 002B740C 88 85 00 1F */ lbz r4, 0x1f(r5) +/* 802BB7B0 002B7410 A0 C3 00 00 */ lhz r6, 0(r3) +/* 802BB7B4 002B7414 B0 C1 00 0C */ sth r6, 0xc(r1) +/* 802BB7B8 002B7418 A0 C3 00 02 */ lhz r6, 2(r3) +/* 802BB7BC 002B741C 38 61 00 08 */ addi r3, r1, 8 +/* 802BB7C0 002B7420 B0 C1 00 0E */ sth r6, 0xe(r1) +/* 802BB7C4 002B7424 B0 81 00 10 */ sth r4, 0x10(r1) +/* 802BB7C8 002B7428 98 05 00 1E */ stb r0, 0x1e(r5) +/* 802BB7CC 002B742C 48 00 0B A1 */ bl func_802BC36C +/* 802BB7D0 002B7430 3C 80 80 2C */ lis r4, lbl_802BB1F8@ha +/* 802BB7D4 002B7434 38 61 00 08 */ addi r3, r1, 8 +/* 802BB7D8 002B7438 38 84 B1 F8 */ addi r4, r4, lbl_802BB1F8@l +/* 802BB7DC 002B743C 48 00 0D FD */ bl func_802BC5D8 +/* 802BB7E0 002B7440 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BB7E4 002B7444 38 60 00 01 */ li r3, 1 +/* 802BB7E8 002B7448 7C 08 03 A6 */ mtlr r0 +/* 802BB7EC 002B744C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BB7F0 002B7450 4E 80 00 20 */ blr +/* 802BB7F4 002B7454 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BB7F8 002B7458 7C 08 02 A6 */ mflr r0 +/* 802BB7FC 002B745C 3C 60 80 56 */ lis r3, lbl_80564DA0@ha +/* 802BB800 002B7460 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BB804 002B7464 38 00 00 00 */ li r0, 0 +/* 802BB808 002B7468 38 63 4D A0 */ addi r3, r3, lbl_80564DA0@l +/* 802BB80C 002B746C 98 03 00 1E */ stb r0, 0x1e(r3) +/* 802BB810 002B7470 48 00 14 71 */ bl func_802BCC80 +/* 802BB814 002B7474 48 00 15 19 */ bl func_802BCD2C +/* 802BB818 002B7478 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BB81C 002B747C 7C 08 03 A6 */ mtlr r0 +/* 802BB820 002B7480 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BB824 002B7484 4E 80 00 20 */ blr +/* 802BB828 002B7488 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BB82C 002B748C 7C 08 02 A6 */ mflr r0 +/* 802BB830 002B7490 3C A0 80 56 */ lis r5, lbl_80564DA0@ha +/* 802BB834 002B7494 7C 64 1B 78 */ mr r4, r3 +/* 802BB838 002B7498 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BB83C 002B749C 38 65 4D A0 */ addi r3, r5, lbl_80564DA0@l +/* 802BB840 002B74A0 4B FF FD 75 */ bl func_802BB5B4 +/* 802BB844 002B74A4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BB848 002B74A8 38 60 00 01 */ li r3, 1 +/* 802BB84C 002B74AC 7C 08 03 A6 */ mtlr r0 +/* 802BB850 002B74B0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BB854 002B74B4 4E 80 00 20 */ blr +/* 802BB858 002B74B8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BB85C 002B74BC 7C 08 02 A6 */ mflr r0 +/* 802BB860 002B74C0 3C 80 80 56 */ lis r4, lbl_80564DA0@ha +/* 802BB864 002B74C4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BB868 002B74C8 38 84 4D A0 */ addi r4, r4, lbl_80564DA0@l +/* 802BB86C 002B74CC 38 03 FF F8 */ addi r0, r3, -8 +/* 802BB870 002B74D0 A0 64 00 12 */ lhz r3, 0x12(r4) +/* 802BB874 002B74D4 7C 03 00 50 */ subf r0, r3, r0 +/* 802BB878 002B74D8 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802BB87C 002B74DC 4B FF F9 A1 */ bl func_802BB21C +/* 802BB880 002B74E0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BB884 002B74E4 38 60 00 00 */ li r3, 0 +/* 802BB888 002B74E8 7C 08 03 A6 */ mtlr r0 +/* 802BB88C 002B74EC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BB890 002B74F0 4E 80 00 20 */ blr +lbl_802BB894: +/* 802BB894 002B74F4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BB898 002B74F8 7C 08 02 A6 */ mflr r0 +/* 802BB89C 002B74FC 3C 80 80 56 */ lis r4, lbl_80564DE0@ha +/* 802BB8A0 002B7500 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BB8A4 002B7504 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BB8A8 002B7508 3B E4 4D E0 */ addi r31, r4, lbl_80564DE0@l +/* 802BB8AC 002B750C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BB8B0 002B7510 3B C0 00 00 */ li r30, 0 +/* 802BB8B4 002B7514 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BB8B8 002B7518 7C 7D 1B 78 */ mr r29, r3 +/* 802BB8BC 002B751C 93 C4 4D E0 */ stw r30, 0x4de0(r4) +/* 802BB8C0 002B7520 9B DF 00 10 */ stb r30, 0x10(r31) +/* 802BB8C4 002B7524 9B DF 00 11 */ stb r30, 0x11(r31) +/* 802BB8C8 002B7528 9B DF 00 12 */ stb r30, 0x12(r31) +/* 802BB8CC 002B752C 9B DF 00 13 */ stb r30, 0x13(r31) +/* 802BB8D0 002B7530 9B CD AE C8 */ stb r30, lbl_80640188-_SDA_BASE_(r13) +/* 802BB8D4 002B7534 4B FF 85 99 */ bl func_802B3E6C +/* 802BB8D8 002B7538 4B FF F8 A9 */ bl func_802BB180 +/* 802BB8DC 002B753C 38 00 00 05 */ li r0, 5 +/* 802BB8E0 002B7540 9B DF 00 28 */ stb r30, 0x28(r31) +/* 802BB8E4 002B7544 98 1F 00 29 */ stb r0, 0x29(r31) +/* 802BB8E8 002B7548 9B CD AE C9 */ stb r30, lbl_80640189-_SDA_BASE_(r13) +/* 802BB8EC 002B754C 4B FF F8 71 */ bl func_802BB15C +/* 802BB8F0 002B7550 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802BB8F4 002B7554 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BB8F8 002B7558 41 82 00 14 */ beq lbl_802BB90C +/* 802BB8FC 002B755C 7F A4 07 74 */ extsb r4, r29 +/* 802BB900 002B7560 38 60 00 04 */ li r3, 4 +/* 802BB904 002B7564 7D 89 03 A6 */ mtctr r12 +/* 802BB908 002B7568 4E 80 04 21 */ bctrl +lbl_802BB90C: +/* 802BB90C 002B756C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BB910 002B7570 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BB914 002B7574 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BB918 002B7578 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BB91C 002B757C 7C 08 03 A6 */ mtlr r0 +/* 802BB920 002B7580 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BB924 002B7584 4E 80 00 20 */ blr +lbl_802BB928: +/* 802BB928 002B7588 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BB92C 002B758C 7C 08 02 A6 */ mflr r0 +/* 802BB930 002B7590 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BB934 002B7594 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BB938 002B7598 4B F0 B7 ED */ bl _savegpr_26 +/* 802BB93C 002B759C 3C A0 80 56 */ lis r5, lbl_80564DE0@ha +/* 802BB940 002B75A0 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha +/* 802BB944 002B75A4 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l +/* 802BB948 002B75A8 7C 7C 1B 78 */ mr r28, r3 +/* 802BB94C 002B75AC 88 05 00 28 */ lbz r0, 0x28(r5) +/* 802BB950 002B75B0 7C 9D 23 78 */ mr r29, r4 +/* 802BB954 002B75B4 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l +/* 802BB958 002B75B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BB95C 002B75BC 41 82 00 10 */ beq lbl_802BB96C +/* 802BB960 002B75C0 38 7F 00 00 */ addi r3, r31, 0 +/* 802BB964 002B75C4 4C C6 31 82 */ crclr 6 +/* 802BB968 002B75C8 4B D4 C1 5D */ bl func_80007AC4 +lbl_802BB96C: +/* 802BB96C 002B75CC 3F 60 80 56 */ lis r27, lbl_80564DE0@ha +/* 802BB970 002B75D0 38 60 00 00 */ li r3, 0 +/* 802BB974 002B75D4 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l +/* 802BB978 002B75D8 88 1B 00 29 */ lbz r0, 0x29(r27) +/* 802BB97C 002B75DC 98 7B 00 2B */ stb r3, 0x2b(r27) +/* 802BB980 002B75E0 28 00 00 02 */ cmplwi r0, 2 +/* 802BB984 002B75E4 41 82 00 60 */ beq lbl_802BB9E4 +/* 802BB988 002B75E8 88 1B 00 28 */ lbz r0, 0x28(r27) +/* 802BB98C 002B75EC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BB990 002B75F0 41 82 00 10 */ beq lbl_802BB9A0 +/* 802BB994 002B75F4 38 7F 00 28 */ addi r3, r31, 0x28 +/* 802BB998 002B75F8 4C C6 31 82 */ crclr 6 +/* 802BB99C 002B75FC 4B D4 C1 29 */ bl func_80007AC4 +lbl_802BB9A0: +/* 802BB9A0 002B7600 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BB9A4 002B7604 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BB9A8 002B7608 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BB9AC 002B760C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BB9B0 002B7610 41 82 00 10 */ beq lbl_802BB9C0 +/* 802BB9B4 002B7614 38 7F 00 6C */ addi r3, r31, 0x6c +/* 802BB9B8 002B7618 4C C6 31 82 */ crclr 6 +/* 802BB9BC 002B761C 4B D4 C1 09 */ bl func_80007AC4 +lbl_802BB9C0: +/* 802BB9C0 002B7620 7F A3 EB 78 */ mr r3, r29 +/* 802BB9C4 002B7624 4B FF E3 71 */ bl func_802B9D34 +/* 802BB9C8 002B7628 3F 60 80 56 */ lis r27, lbl_80564DE0@ha +/* 802BB9CC 002B762C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l +/* 802BB9D0 002B7630 88 7B 00 1C */ lbz r3, 0x1c(r27) +/* 802BB9D4 002B7634 4B FF EE DD */ bl func_802BA8B0 +/* 802BB9D8 002B7638 38 00 00 FF */ li r0, 0xff +/* 802BB9DC 002B763C 98 1B 00 1C */ stb r0, 0x1c(r27) +/* 802BB9E0 002B7640 48 00 01 4C */ b lbl_802BBB2C +lbl_802BB9E4: +/* 802BB9E4 002B7644 7C 1D 18 40 */ cmplw r29, r3 +/* 802BB9E8 002B7648 41 82 01 40 */ beq lbl_802BBB28 +/* 802BB9EC 002B764C 2C 1C 00 00 */ cmpwi r28, 0 +/* 802BB9F0 002B7650 41 81 00 2C */ bgt lbl_802BBA1C +/* 802BB9F4 002B7654 88 1B 00 28 */ lbz r0, 0x28(r27) +/* 802BB9F8 002B7658 2C 00 00 00 */ cmpwi r0, 0 +/* 802BB9FC 002B765C 41 82 00 14 */ beq lbl_802BBA10 +/* 802BBA00 002B7660 7F 84 E3 78 */ mr r4, r28 +/* 802BBA04 002B7664 38 7F 00 DC */ addi r3, r31, 0xdc +/* 802BBA08 002B7668 4C C6 31 82 */ crclr 6 +/* 802BBA0C 002B766C 4B D4 C0 B9 */ bl func_80007AC4 +lbl_802BBA10: +/* 802BBA10 002B7670 7F A3 EB 78 */ mr r3, r29 +/* 802BBA14 002B7674 4B FF E3 21 */ bl func_802B9D34 +/* 802BBA18 002B7678 48 00 01 10 */ b lbl_802BBB28 +lbl_802BBA1C: +/* 802BBA1C 002B767C 38 60 00 02 */ li r3, 2 +/* 802BBA20 002B7680 4B FF E2 2D */ bl func_802B9C4C +/* 802BBA24 002B7684 2C 03 00 00 */ cmpwi r3, 0 +/* 802BBA28 002B7688 7C 7E 1B 78 */ mr r30, r3 +/* 802BBA2C 002B768C 40 82 00 10 */ bne lbl_802BBA3C +/* 802BBA30 002B7690 7F A3 EB 78 */ mr r3, r29 +/* 802BBA34 002B7694 4B FF E3 01 */ bl func_802B9D34 +/* 802BBA38 002B7698 48 00 00 F0 */ b lbl_802BBB28 +lbl_802BBA3C: +/* 802BBA3C 002B769C A0 1D 00 04 */ lhz r0, 4(r29) +/* 802BBA40 002B76A0 57 84 04 3E */ clrlwi r4, r28, 0x10 +/* 802BBA44 002B76A4 38 C0 10 00 */ li r6, 0x1000 +/* 802BBA48 002B76A8 B3 9D 00 02 */ sth r28, 2(r29) +/* 802BBA4C 002B76AC 7C A4 02 14 */ add r5, r4, r0 +/* 802BBA50 002B76B0 7F A4 EB 78 */ mr r4, r29 +/* 802BBA54 002B76B4 3B 45 00 08 */ addi r26, r5, 8 +/* 802BBA58 002B76B8 B0 DD 00 00 */ sth r6, 0(r29) +/* 802BBA5C 002B76BC 57 45 00 3A */ rlwinm r5, r26, 0, 0, 0x1d +/* 802BBA60 002B76C0 3B 45 00 04 */ addi r26, r5, 4 +/* 802BBA64 002B76C4 7F 45 D3 78 */ mr r5, r26 +/* 802BBA68 002B76C8 4B D4 85 99 */ bl memcpy +/* 802BBA6C 002B76CC 88 1B 00 28 */ lbz r0, 0x28(r27) +/* 802BBA70 002B76D0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBA74 002B76D4 41 82 00 1C */ beq lbl_802BBA90 +/* 802BBA78 002B76D8 A0 9E 00 02 */ lhz r4, 2(r30) +/* 802BBA7C 002B76DC 7F 46 D3 78 */ mr r6, r26 +/* 802BBA80 002B76E0 A0 BE 00 04 */ lhz r5, 4(r30) +/* 802BBA84 002B76E4 38 7F 01 14 */ addi r3, r31, 0x114 +/* 802BBA88 002B76E8 4C C6 31 82 */ crclr 6 +/* 802BBA8C 002B76EC 4B D4 C0 39 */ bl func_80007AC4 +lbl_802BBA90: +/* 802BBA90 002B76F0 A0 1E 00 04 */ lhz r0, 4(r30) +/* 802BBA94 002B76F4 3F 60 80 56 */ lis r27, lbl_80564DE0@ha +/* 802BBA98 002B76F8 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l +/* 802BBA9C 002B76FC 3B 40 00 00 */ li r26, 0 +/* 802BBAA0 002B7700 7C 7E 02 14 */ add r3, r30, r0 +/* 802BBAA4 002B7704 3B E3 00 08 */ addi r31, r3, 8 +/* 802BBAA8 002B7708 48 00 00 28 */ b lbl_802BBAD0 +lbl_802BBAAC: +/* 802BBAAC 002B770C 88 1B 00 28 */ lbz r0, 0x28(r27) +/* 802BBAB0 002B7710 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBAB4 002B7714 41 82 00 14 */ beq lbl_802BBAC8 +/* 802BBAB8 002B7718 88 9F 00 00 */ lbz r4, 0(r31) +/* 802BBABC 002B771C 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_ +/* 802BBAC0 002B7720 4C C6 31 82 */ crclr 6 +/* 802BBAC4 002B7724 4B D4 C0 01 */ bl func_80007AC4 +lbl_802BBAC8: +/* 802BBAC8 002B7728 3B 5A 00 01 */ addi r26, r26, 1 +/* 802BBACC 002B772C 3B FF 00 01 */ addi r31, r31, 1 +lbl_802BBAD0: +/* 802BBAD0 002B7730 7C 1A E0 00 */ cmpw r26, r28 +/* 802BBAD4 002B7734 41 80 FF D8 */ blt lbl_802BBAAC +/* 802BBAD8 002B7738 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BBADC 002B773C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BBAE0 002B7740 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BBAE4 002B7744 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBAE8 002B7748 41 82 00 10 */ beq lbl_802BBAF8 +/* 802BBAEC 002B774C 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_ +/* 802BBAF0 002B7750 4C C6 31 82 */ crclr 6 +/* 802BBAF4 002B7754 4B D4 BF D1 */ bl func_80007AC4 +lbl_802BBAF8: +/* 802BBAF8 002B7758 3C A0 80 56 */ lis r5, lbl_80564E40@ha +/* 802BBAFC 002B775C 3C E0 80 2C */ lis r7, lbl_802BCE18@ha +/* 802BBB00 002B7760 38 A5 4E 40 */ addi r5, r5, lbl_80564E40@l +/* 802BBB04 002B7764 7F C3 F3 78 */ mr r3, r30 +/* 802BBB08 002B7768 39 05 10 00 */ addi r8, r5, 0x1000 +/* 802BBB0C 002B776C 38 E7 CE 18 */ addi r7, r7, lbl_802BCE18@l +/* 802BBB10 002B7770 38 80 00 00 */ li r4, 0 +/* 802BBB14 002B7774 38 A0 00 00 */ li r5, 0 +/* 802BBB18 002B7778 38 C0 00 00 */ li r6, 0 +/* 802BBB1C 002B777C 4B FA F5 45 */ bl OSSwitchFiberEx +/* 802BBB20 002B7780 7F A3 EB 78 */ mr r3, r29 +/* 802BBB24 002B7784 4B FF E2 11 */ bl func_802B9D34 +lbl_802BBB28: +/* 802BBB28 002B7788 48 00 03 39 */ bl func_802BBE60 +lbl_802BBB2C: +/* 802BBB2C 002B778C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BBB30 002B7790 4B F0 B6 41 */ bl _restgpr_26 +/* 802BBB34 002B7794 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BBB38 002B7798 7C 08 03 A6 */ mtlr r0 +/* 802BBB3C 002B779C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BBB40 002B77A0 4E 80 00 20 */ blr +lbl_802BBB44: +/* 802BBB44 002B77A4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BBB48 002B77A8 7C 08 02 A6 */ mflr r0 +/* 802BBB4C 002B77AC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BBB50 002B77B0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BBB54 002B77B4 4B F0 B5 D5 */ bl _savegpr_27 +/* 802BBB58 002B77B8 3F 80 80 56 */ lis r28, lbl_80564DE0@ha +/* 802BBB5C 002B77BC 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha +/* 802BBB60 002B77C0 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l +/* 802BBB64 002B77C4 7C 9E 23 78 */ mr r30, r4 +/* 802BBB68 002B77C8 88 1C 00 29 */ lbz r0, 0x29(r28) +/* 802BBB6C 002B77CC 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l +/* 802BBB70 002B77D0 28 00 00 02 */ cmplwi r0, 2 +/* 802BBB74 002B77D4 41 82 00 60 */ beq lbl_802BBBD4 +/* 802BBB78 002B77D8 88 1C 00 28 */ lbz r0, 0x28(r28) +/* 802BBB7C 002B77DC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBB80 002B77E0 41 82 00 10 */ beq lbl_802BBB90 +/* 802BBB84 002B77E4 38 7D 01 5C */ addi r3, r29, 0x15c +/* 802BBB88 002B77E8 4C C6 31 82 */ crclr 6 +/* 802BBB8C 002B77EC 4B D4 BF 39 */ bl func_80007AC4 +lbl_802BBB90: +/* 802BBB90 002B77F0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BBB94 002B77F4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BBB98 002B77F8 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BBB9C 002B77FC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBBA0 002B7800 41 82 00 10 */ beq lbl_802BBBB0 +/* 802BBBA4 002B7804 38 7D 01 A0 */ addi r3, r29, 0x1a0 +/* 802BBBA8 002B7808 4C C6 31 82 */ crclr 6 +/* 802BBBAC 002B780C 4B D4 BF 19 */ bl func_80007AC4 +lbl_802BBBB0: +/* 802BBBB0 002B7810 7F C3 F3 78 */ mr r3, r30 +/* 802BBBB4 002B7814 4B FF E1 81 */ bl func_802B9D34 +/* 802BBBB8 002B7818 3F 80 80 56 */ lis r28, lbl_80564DE0@ha +/* 802BBBBC 002B781C 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l +/* 802BBBC0 002B7820 88 7C 00 1D */ lbz r3, 0x1d(r28) +/* 802BBBC4 002B7824 4B FF EC ED */ bl func_802BA8B0 +/* 802BBBC8 002B7828 38 00 00 FF */ li r0, 0xff +/* 802BBBCC 002B782C 98 1C 00 1D */ stb r0, 0x1d(r28) +/* 802BBBD0 002B7830 48 00 01 64 */ b lbl_802BBD34 +lbl_802BBBD4: +/* 802BBBD4 002B7834 2C 03 00 00 */ cmpwi r3, 0 +/* 802BBBD8 002B7838 41 81 00 2C */ bgt lbl_802BBC04 +/* 802BBBDC 002B783C 88 1C 00 28 */ lbz r0, 0x28(r28) +/* 802BBBE0 002B7840 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBBE4 002B7844 41 82 00 14 */ beq lbl_802BBBF8 +/* 802BBBE8 002B7848 7C 64 1B 78 */ mr r4, r3 +/* 802BBBEC 002B784C 38 7D 02 00 */ addi r3, r29, 0x200 +/* 802BBBF0 002B7850 4C C6 31 82 */ crclr 6 +/* 802BBBF4 002B7854 4B D4 BE D1 */ bl func_80007AC4 +lbl_802BBBF8: +/* 802BBBF8 002B7858 7F C3 F3 78 */ mr r3, r30 +/* 802BBBFC 002B785C 4B FF E1 39 */ bl func_802B9D34 +/* 802BBC00 002B7860 48 00 01 30 */ b lbl_802BBD30 +lbl_802BBC04: +/* 802BBC04 002B7864 B0 64 00 02 */ sth r3, 2(r4) +/* 802BBC08 002B7868 38 60 00 03 */ li r3, 3 +/* 802BBC0C 002B786C 4B FF E0 41 */ bl func_802B9C4C +/* 802BBC10 002B7870 2C 03 00 00 */ cmpwi r3, 0 +/* 802BBC14 002B7874 7C 7F 1B 78 */ mr r31, r3 +/* 802BBC18 002B7878 40 82 00 10 */ bne lbl_802BBC28 +/* 802BBC1C 002B787C 7F C3 F3 78 */ mr r3, r30 +/* 802BBC20 002B7880 4B FF E1 15 */ bl func_802B9D34 +/* 802BBC24 002B7884 48 00 01 0C */ b lbl_802BBD30 +lbl_802BBC28: +/* 802BBC28 002B7888 A0 BE 00 02 */ lhz r5, 2(r30) +/* 802BBC2C 002B788C 7F C4 F3 78 */ mr r4, r30 +/* 802BBC30 002B7890 A0 1E 00 04 */ lhz r0, 4(r30) +/* 802BBC34 002B7894 7C A5 02 14 */ add r5, r5, r0 +/* 802BBC38 002B7898 3B 65 00 08 */ addi r27, r5, 8 +/* 802BBC3C 002B789C 57 65 00 3A */ rlwinm r5, r27, 0, 0, 0x1d +/* 802BBC40 002B78A0 3B 65 00 04 */ addi r27, r5, 4 +/* 802BBC44 002B78A4 7F 65 DB 78 */ mr r5, r27 +/* 802BBC48 002B78A8 4B D4 83 B9 */ bl memcpy +/* 802BBC4C 002B78AC 88 1C 00 28 */ lbz r0, 0x28(r28) +/* 802BBC50 002B78B0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBC54 002B78B4 41 82 00 1C */ beq lbl_802BBC70 +/* 802BBC58 002B78B8 A0 9F 00 02 */ lhz r4, 2(r31) +/* 802BBC5C 002B78BC 7F 66 DB 78 */ mr r6, r27 +/* 802BBC60 002B78C0 A0 BF 00 04 */ lhz r5, 4(r31) +/* 802BBC64 002B78C4 38 7D 02 38 */ addi r3, r29, 0x238 +/* 802BBC68 002B78C8 4C C6 31 82 */ crclr 6 +/* 802BBC6C 002B78CC 4B D4 BE 59 */ bl func_80007AC4 +lbl_802BBC70: +/* 802BBC70 002B78D0 A0 1F 00 04 */ lhz r0, 4(r31) +/* 802BBC74 002B78D4 3F 80 80 56 */ lis r28, lbl_80564DE0@ha +/* 802BBC78 002B78D8 3B 9C 4D E0 */ addi r28, r28, lbl_80564DE0@l +/* 802BBC7C 002B78DC 3B 60 00 00 */ li r27, 0 +/* 802BBC80 002B78E0 7C 7F 02 14 */ add r3, r31, r0 +/* 802BBC84 002B78E4 3B A3 00 08 */ addi r29, r3, 8 +/* 802BBC88 002B78E8 48 00 00 28 */ b lbl_802BBCB0 +lbl_802BBC8C: +/* 802BBC8C 002B78EC 88 1C 00 28 */ lbz r0, 0x28(r28) +/* 802BBC90 002B78F0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBC94 002B78F4 41 82 00 14 */ beq lbl_802BBCA8 +/* 802BBC98 002B78F8 88 9D 00 00 */ lbz r4, 0(r29) +/* 802BBC9C 002B78FC 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_ +/* 802BBCA0 002B7900 4C C6 31 82 */ crclr 6 +/* 802BBCA4 002B7904 4B D4 BE 21 */ bl func_80007AC4 +lbl_802BBCA8: +/* 802BBCA8 002B7908 3B 7B 00 01 */ addi r27, r27, 1 +/* 802BBCAC 002B790C 3B BD 00 01 */ addi r29, r29, 1 +lbl_802BBCB0: +/* 802BBCB0 002B7910 A0 1F 00 02 */ lhz r0, 2(r31) +/* 802BBCB4 002B7914 7C 1B 00 00 */ cmpw r27, r0 +/* 802BBCB8 002B7918 41 80 FF D4 */ blt lbl_802BBC8C +/* 802BBCBC 002B791C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BBCC0 002B7920 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BBCC4 002B7924 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BBCC8 002B7928 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBCCC 002B792C 41 82 00 10 */ beq lbl_802BBCDC +/* 802BBCD0 002B7930 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_ +/* 802BBCD4 002B7934 4C C6 31 82 */ crclr 6 +/* 802BBCD8 002B7938 4B D4 BD ED */ bl func_80007AC4 +lbl_802BBCDC: +/* 802BBCDC 002B793C 7F E3 FB 78 */ mr r3, r31 +/* 802BBCE0 002B7940 48 01 C9 3D */ bl func_802D861C +/* 802BBCE4 002B7944 38 00 00 00 */ li r0, 0 +/* 802BBCE8 002B7948 7C 7F 1B 78 */ mr r31, r3 +/* 802BBCEC 002B794C 7C 03 00 40 */ cmplw r3, r0 +/* 802BBCF0 002B7950 41 82 00 38 */ beq lbl_802BBD28 +/* 802BBCF4 002B7954 48 01 CA F9 */ bl func_802D87EC +/* 802BBCF8 002B7958 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802BBCFC 002B795C 41 82 00 2C */ beq lbl_802BBD28 +/* 802BBD00 002B7960 3C A0 80 56 */ lis r5, lbl_80565E40@ha +/* 802BBD04 002B7964 3C E0 80 2C */ lis r7, lbl_802BCE18@ha +/* 802BBD08 002B7968 38 A5 5E 40 */ addi r5, r5, lbl_80565E40@l +/* 802BBD0C 002B796C 7F E3 FB 78 */ mr r3, r31 +/* 802BBD10 002B7970 39 05 10 00 */ addi r8, r5, 0x1000 +/* 802BBD14 002B7974 38 E7 CE 18 */ addi r7, r7, lbl_802BCE18@l +/* 802BBD18 002B7978 38 80 00 00 */ li r4, 0 +/* 802BBD1C 002B797C 38 A0 00 00 */ li r5, 0 +/* 802BBD20 002B7980 38 C0 00 00 */ li r6, 0 +/* 802BBD24 002B7984 4B FA F3 3D */ bl OSSwitchFiberEx +lbl_802BBD28: +/* 802BBD28 002B7988 7F C3 F3 78 */ mr r3, r30 +/* 802BBD2C 002B798C 4B FF E0 09 */ bl func_802B9D34 +lbl_802BBD30: +/* 802BBD30 002B7990 48 00 00 1D */ bl func_802BBD4C +lbl_802BBD34: +/* 802BBD34 002B7994 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BBD38 002B7998 4B F0 B4 3D */ bl _restgpr_27 +/* 802BBD3C 002B799C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BBD40 002B79A0 7C 08 03 A6 */ mtlr r0 +/* 802BBD44 002B79A4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BBD48 002B79A8 4E 80 00 20 */ blr + +.global func_802BBD4C +func_802BBD4C: +/* 802BBD4C 002B79AC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BBD50 002B79B0 7C 08 02 A6 */ mflr r0 +/* 802BBD54 002B79B4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BBD58 002B79B8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BBD5C 002B79BC 4B F0 B3 CD */ bl _savegpr_27 +/* 802BBD60 002B79C0 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha +/* 802BBD64 002B79C4 3F C0 80 56 */ lis r30, lbl_80564DE0@ha +/* 802BBD68 002B79C8 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l +/* 802BBD6C 002B79CC 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l +lbl_802BBD70: +/* 802BBD70 002B79D0 88 7F 00 1D */ lbz r3, 0x1d(r31) +/* 802BBD74 002B79D4 4B FF DE D9 */ bl func_802B9C4C +/* 802BBD78 002B79D8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BBD7C 002B79DC 7C 7C 1B 78 */ mr r28, r3 +/* 802BBD80 002B79E0 40 82 00 20 */ bne lbl_802BBDA0 +/* 802BBD84 002B79E4 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802BBD88 002B79E8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBD8C 002B79EC 41 82 FF E4 */ beq lbl_802BBD70 +/* 802BBD90 002B79F0 38 7D 02 80 */ addi r3, r29, 0x280 +/* 802BBD94 002B79F4 4C C6 31 82 */ crclr 6 +/* 802BBD98 002B79F8 4B D4 BD 2D */ bl func_80007AC4 +/* 802BBD9C 002B79FC 4B FF FF D4 */ b lbl_802BBD70 +lbl_802BBDA0: +/* 802BBDA0 002B7A00 38 80 11 00 */ li r4, 0x1100 +/* 802BBDA4 002B7A04 38 03 00 27 */ addi r0, r3, 0x27 +/* 802BBDA8 002B7A08 B0 83 00 00 */ sth r4, 0(r3) +/* 802BBDAC 002B7A0C 38 80 00 00 */ li r4, 0 +/* 802BBDB0 002B7A10 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a +/* 802BBDB4 002B7A14 38 03 00 08 */ addi r0, r3, 8 +/* 802BBDB8 002B7A18 B0 83 00 02 */ sth r4, 2(r3) +/* 802BBDBC 002B7A1C 7C 00 D8 50 */ subf r0, r0, r27 +/* 802BBDC0 002B7A20 B0 03 00 04 */ sth r0, 4(r3) +/* 802BBDC4 002B7A24 4B FF E0 E1 */ bl func_802B9EA4 +/* 802BBDC8 002B7A28 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 802BBDCC 002B7A2C A0 1C 00 04 */ lhz r0, 4(r28) +/* 802BBDD0 002B7A30 38 A3 FF D8 */ addi r5, r3, -40 +/* 802BBDD4 002B7A34 3C E0 80 2C */ lis r7, lbl_802BBB44@ha +/* 802BBDD8 002B7A38 80 7E 4D E0 */ lwz r3, 0x4de0(r30) +/* 802BBDDC 002B7A3C 7F 66 DB 78 */ mr r6, r27 +/* 802BBDE0 002B7A40 88 9F 00 11 */ lbz r4, 0x11(r31) +/* 802BBDE4 002B7A44 7F 88 E3 78 */ mr r8, r28 +/* 802BBDE8 002B7A48 7C A0 28 50 */ subf r5, r0, r5 +/* 802BBDEC 002B7A4C 38 E7 BB 44 */ addi r7, r7, lbl_802BBB44@l +/* 802BBDF0 002B7A50 4B FF 87 C9 */ bl func_802B45B8 +/* 802BBDF4 002B7A54 2C 03 00 00 */ cmpwi r3, 0 +/* 802BBDF8 002B7A58 7C 7B 1B 78 */ mr r27, r3 +/* 802BBDFC 002B7A5C 41 82 00 4C */ beq lbl_802BBE48 +/* 802BBE00 002B7A60 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802BBE04 002B7A64 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBE08 002B7A68 41 82 00 14 */ beq lbl_802BBE1C +/* 802BBE0C 002B7A6C 7F 64 DB 78 */ mr r4, r27 +/* 802BBE10 002B7A70 38 7D 02 D4 */ addi r3, r29, 0x2d4 +/* 802BBE14 002B7A74 4C C6 31 82 */ crclr 6 +/* 802BBE18 002B7A78 4B D4 BC AD */ bl func_80007AC4 +lbl_802BBE1C: +/* 802BBE1C 002B7A7C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BBE20 002B7A80 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BBE24 002B7A84 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BBE28 002B7A88 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBE2C 002B7A8C 41 82 00 14 */ beq lbl_802BBE40 +/* 802BBE30 002B7A90 7F 64 DB 78 */ mr r4, r27 +/* 802BBE34 002B7A94 38 7D 03 20 */ addi r3, r29, 0x320 +/* 802BBE38 002B7A98 4C C6 31 82 */ crclr 6 +/* 802BBE3C 002B7A9C 4B D4 BC 89 */ bl func_80007AC4 +lbl_802BBE40: +/* 802BBE40 002B7AA0 7F 83 E3 78 */ mr r3, r28 +/* 802BBE44 002B7AA4 4B FF DE F1 */ bl func_802B9D34 +lbl_802BBE48: +/* 802BBE48 002B7AA8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BBE4C 002B7AAC 4B F0 B3 29 */ bl _restgpr_27 +/* 802BBE50 002B7AB0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BBE54 002B7AB4 7C 08 03 A6 */ mtlr r0 +/* 802BBE58 002B7AB8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BBE5C 002B7ABC 4E 80 00 20 */ blr + +.global func_802BBE60 +func_802BBE60: +/* 802BBE60 002B7AC0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BBE64 002B7AC4 7C 08 02 A6 */ mflr r0 +/* 802BBE68 002B7AC8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BBE6C 002B7ACC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BBE70 002B7AD0 4B F0 B2 B9 */ bl _savegpr_27 +/* 802BBE74 002B7AD4 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha +/* 802BBE78 002B7AD8 3F C0 80 56 */ lis r30, lbl_80564DE0@ha +/* 802BBE7C 002B7ADC 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l +/* 802BBE80 002B7AE0 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l +lbl_802BBE84: +/* 802BBE84 002B7AE4 88 7F 00 1C */ lbz r3, 0x1c(r31) +/* 802BBE88 002B7AE8 4B FF DD C5 */ bl func_802B9C4C +/* 802BBE8C 002B7AEC 2C 03 00 00 */ cmpwi r3, 0 +/* 802BBE90 002B7AF0 7C 7C 1B 78 */ mr r28, r3 +/* 802BBE94 002B7AF4 40 82 00 20 */ bne lbl_802BBEB4 +/* 802BBE98 002B7AF8 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802BBE9C 002B7AFC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBEA0 002B7B00 41 82 FF E4 */ beq lbl_802BBE84 +/* 802BBEA4 002B7B04 38 7D 03 78 */ addi r3, r29, 0x378 +/* 802BBEA8 002B7B08 4C C6 31 82 */ crclr 6 +/* 802BBEAC 002B7B0C 4B D4 BC 19 */ bl func_80007AC4 +/* 802BBEB0 002B7B10 4B FF FF D4 */ b lbl_802BBE84 +lbl_802BBEB4: +/* 802BBEB4 002B7B14 38 80 10 00 */ li r4, 0x1000 +/* 802BBEB8 002B7B18 38 03 00 27 */ addi r0, r3, 0x27 +/* 802BBEBC 002B7B1C B0 83 00 00 */ sth r4, 0(r3) +/* 802BBEC0 002B7B20 38 80 00 00 */ li r4, 0 +/* 802BBEC4 002B7B24 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a +/* 802BBEC8 002B7B28 38 03 00 08 */ addi r0, r3, 8 +/* 802BBECC 002B7B2C B0 83 00 02 */ sth r4, 2(r3) +/* 802BBED0 002B7B30 7C 00 D8 50 */ subf r0, r0, r27 +/* 802BBED4 002B7B34 B0 03 00 04 */ sth r0, 4(r3) +/* 802BBED8 002B7B38 4B FF DF CD */ bl func_802B9EA4 +/* 802BBEDC 002B7B3C 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 802BBEE0 002B7B40 A0 1C 00 04 */ lhz r0, 4(r28) +/* 802BBEE4 002B7B44 38 A3 FF D8 */ addi r5, r3, -40 +/* 802BBEE8 002B7B48 3C E0 80 2C */ lis r7, lbl_802BB928@ha +/* 802BBEEC 002B7B4C 80 7E 4D E0 */ lwz r3, 0x4de0(r30) +/* 802BBEF0 002B7B50 7F 66 DB 78 */ mr r6, r27 +/* 802BBEF4 002B7B54 88 9F 00 12 */ lbz r4, 0x12(r31) +/* 802BBEF8 002B7B58 7F 88 E3 78 */ mr r8, r28 +/* 802BBEFC 002B7B5C 7C A0 28 50 */ subf r5, r0, r5 +/* 802BBF00 002B7B60 38 E7 B9 28 */ addi r7, r7, lbl_802BB928@l +/* 802BBF04 002B7B64 4B FF 86 41 */ bl func_802B4544 +/* 802BBF08 002B7B68 2C 03 00 00 */ cmpwi r3, 0 +/* 802BBF0C 002B7B6C 7C 7B 1B 78 */ mr r27, r3 +/* 802BBF10 002B7B70 41 82 00 4C */ beq lbl_802BBF5C +/* 802BBF14 002B7B74 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802BBF18 002B7B78 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBF1C 002B7B7C 41 82 00 14 */ beq lbl_802BBF30 +/* 802BBF20 002B7B80 7F 64 DB 78 */ mr r4, r27 +/* 802BBF24 002B7B84 38 7D 03 CC */ addi r3, r29, 0x3cc +/* 802BBF28 002B7B88 4C C6 31 82 */ crclr 6 +/* 802BBF2C 002B7B8C 4B D4 BB 99 */ bl func_80007AC4 +lbl_802BBF30: +/* 802BBF30 002B7B90 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BBF34 002B7B94 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BBF38 002B7B98 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BBF3C 002B7B9C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBF40 002B7BA0 41 82 00 14 */ beq lbl_802BBF54 +/* 802BBF44 002B7BA4 7F 64 DB 78 */ mr r4, r27 +/* 802BBF48 002B7BA8 38 7D 04 04 */ addi r3, r29, 0x404 +/* 802BBF4C 002B7BAC 4C C6 31 82 */ crclr 6 +/* 802BBF50 002B7BB0 4B D4 BB 75 */ bl func_80007AC4 +lbl_802BBF54: +/* 802BBF54 002B7BB4 7F 83 E3 78 */ mr r3, r28 +/* 802BBF58 002B7BB8 4B FF DD DD */ bl func_802B9D34 +lbl_802BBF5C: +/* 802BBF5C 002B7BBC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BBF60 002B7BC0 38 00 00 01 */ li r0, 1 +/* 802BBF64 002B7BC4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BBF68 002B7BC8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BBF6C 002B7BCC 98 03 00 2B */ stb r0, 0x2b(r3) +/* 802BBF70 002B7BD0 4B F0 B2 05 */ bl _restgpr_27 +/* 802BBF74 002B7BD4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BBF78 002B7BD8 7C 08 03 A6 */ mtlr r0 +/* 802BBF7C 002B7BDC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BBF80 002B7BE0 4E 80 00 20 */ blr +lbl_802BBF84: +/* 802BBF84 002B7BE4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BBF88 002B7BE8 7C 08 02 A6 */ mflr r0 +/* 802BBF8C 002B7BEC 3C A0 80 56 */ lis r5, lbl_80564DE0@ha +/* 802BBF90 002B7BF0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BBF94 002B7BF4 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l +/* 802BBF98 002B7BF8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BBF9C 002B7BFC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BBFA0 002B7C00 7C 7E 1B 78 */ mr r30, r3 +/* 802BBFA4 002B7C04 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BBFA8 002B7C08 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha +/* 802BBFAC 002B7C0C 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l +/* 802BBFB0 002B7C10 93 81 00 10 */ stw r28, 0x10(r1) +/* 802BBFB4 002B7C14 7C 9C 23 78 */ mr r28, r4 +/* 802BBFB8 002B7C18 88 05 00 28 */ lbz r0, 0x28(r5) +/* 802BBFBC 002B7C1C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBFC0 002B7C20 41 82 00 14 */ beq lbl_802BBFD4 +/* 802BBFC4 002B7C24 7F C4 F3 78 */ mr r4, r30 +/* 802BBFC8 002B7C28 38 7D 04 60 */ addi r3, r29, 0x460 +/* 802BBFCC 002B7C2C 4C C6 31 82 */ crclr 6 +/* 802BBFD0 002B7C30 4B D4 BA F5 */ bl func_80007AC4 +lbl_802BBFD4: +/* 802BBFD4 002B7C34 2C 1E 00 00 */ cmpwi r30, 0 +/* 802BBFD8 002B7C38 40 80 00 28 */ bge lbl_802BC000 +/* 802BBFDC 002B7C3C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BBFE0 002B7C40 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BBFE4 002B7C44 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BBFE8 002B7C48 2C 00 00 00 */ cmpwi r0, 0 +/* 802BBFEC 002B7C4C 41 82 00 14 */ beq lbl_802BC000 +/* 802BBFF0 002B7C50 7F C4 F3 78 */ mr r4, r30 +/* 802BBFF4 002B7C54 38 7D 04 98 */ addi r3, r29, 0x498 +/* 802BBFF8 002B7C58 4C C6 31 82 */ crclr 6 +/* 802BBFFC 002B7C5C 4B D4 BA C9 */ bl func_80007AC4 +lbl_802BC000: +/* 802BC000 002B7C60 2C 1C 00 00 */ cmpwi r28, 0 +/* 802BC004 002B7C64 41 82 00 28 */ beq lbl_802BC02C +/* 802BC008 002B7C68 7F 83 E3 78 */ mr r3, r28 +/* 802BC00C 002B7C6C 4B FF DD 29 */ bl func_802B9D34 +/* 802BC010 002B7C70 4B FF F1 71 */ bl func_802BB180 +/* 802BC014 002B7C74 3C 80 80 56 */ lis r4, lbl_80564DE0@ha +/* 802BC018 002B7C78 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l +/* 802BC01C 002B7C7C 88 64 00 48 */ lbz r3, 0x48(r4) +/* 802BC020 002B7C80 38 03 FF FF */ addi r0, r3, -1 +/* 802BC024 002B7C84 98 04 00 48 */ stb r0, 0x48(r4) +/* 802BC028 002B7C88 4B FF F1 35 */ bl func_802BB15C +lbl_802BC02C: +/* 802BC02C 002B7C8C 3F C0 80 56 */ lis r30, lbl_80564DE0@ha +/* 802BC030 002B7C90 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l +/* 802BC034 002B7C94 88 1F 00 48 */ lbz r0, 0x48(r31) +/* 802BC038 002B7C98 28 00 00 05 */ cmplwi r0, 5 +/* 802BC03C 002B7C9C 40 80 00 9C */ bge lbl_802BC0D8 +/* 802BC040 002B7CA0 A0 1F 00 44 */ lhz r0, 0x44(r31) +/* 802BC044 002B7CA4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC048 002B7CA8 41 82 00 90 */ beq lbl_802BC0D8 +/* 802BC04C 002B7CAC 38 7F 00 3C */ addi r3, r31, 0x3c +/* 802BC050 002B7CB0 4B FF E3 81 */ bl func_802BA3D0 +/* 802BC054 002B7CB4 90 61 00 08 */ stw r3, 8(r1) +/* 802BC058 002B7CB8 7C 7C 1B 78 */ mr r28, r3 +/* 802BC05C 002B7CBC 3D 40 80 2C */ lis r10, lbl_802BBF84@ha +/* 802BC060 002B7CC0 38 80 00 20 */ li r4, 0x20 +/* 802BC064 002B7CC4 A0 03 00 04 */ lhz r0, 4(r3) +/* 802BC068 002B7CC8 39 4A BF 84 */ addi r10, r10, lbl_802BBF84@l +/* 802BC06C 002B7CCC 80 7E 4D E0 */ lwz r3, 0x4de0(r30) +/* 802BC070 002B7CD0 38 A0 00 00 */ li r5, 0 +/* 802BC074 002B7CD4 7C DC 02 14 */ add r6, r28, r0 +/* 802BC078 002B7CD8 A1 1C 00 02 */ lhz r8, 2(r28) +/* 802BC07C 002B7CDC 39 26 00 08 */ addi r9, r6, 8 +/* 802BC080 002B7CE0 38 E0 00 00 */ li r7, 0 +/* 802BC084 002B7CE4 38 C0 00 00 */ li r6, 0 +/* 802BC088 002B7CE8 4B FF 8B AD */ bl func_802B4C34 +/* 802BC08C 002B7CEC 2C 03 00 00 */ cmpwi r3, 0 +/* 802BC090 002B7CF0 40 80 00 34 */ bge lbl_802BC0C4 +/* 802BC094 002B7CF4 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802BC098 002B7CF8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC09C 002B7CFC 41 82 00 10 */ beq lbl_802BC0AC +/* 802BC0A0 002B7D00 38 7D 04 D0 */ addi r3, r29, 0x4d0 +/* 802BC0A4 002B7D04 4C C6 31 82 */ crclr 6 +/* 802BC0A8 002B7D08 4B D4 BA 1D */ bl func_80007AC4 +lbl_802BC0AC: +/* 802BC0AC 002B7D0C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC0B0 002B7D10 7F 84 E3 78 */ mr r4, r28 +/* 802BC0B4 002B7D14 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC0B8 002B7D18 38 63 00 3C */ addi r3, r3, 0x3c +/* 802BC0BC 002B7D1C 4B FF E1 D5 */ bl func_802BA290 +/* 802BC0C0 002B7D20 48 00 00 18 */ b lbl_802BC0D8 +lbl_802BC0C4: +/* 802BC0C4 002B7D24 4B FF F0 BD */ bl func_802BB180 +/* 802BC0C8 002B7D28 88 7F 00 48 */ lbz r3, 0x48(r31) +/* 802BC0CC 002B7D2C 38 03 00 01 */ addi r0, r3, 1 +/* 802BC0D0 002B7D30 98 1F 00 48 */ stb r0, 0x48(r31) +/* 802BC0D4 002B7D34 4B FF F0 89 */ bl func_802BB15C +lbl_802BC0D8: +/* 802BC0D8 002B7D38 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BC0DC 002B7D3C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BC0E0 002B7D40 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BC0E4 002B7D44 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BC0E8 002B7D48 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802BC0EC 002B7D4C 7C 08 03 A6 */ mtlr r0 +/* 802BC0F0 002B7D50 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BC0F4 002B7D54 4E 80 00 20 */ blr +lbl_802BC0F8: +/* 802BC0F8 002B7D58 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BC0FC 002B7D5C 7C 08 02 A6 */ mflr r0 +/* 802BC100 002B7D60 3C A0 80 56 */ lis r5, lbl_80564DE0@ha +/* 802BC104 002B7D64 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BC108 002B7D68 38 A5 4D E0 */ addi r5, r5, lbl_80564DE0@l +/* 802BC10C 002B7D6C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BC110 002B7D70 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BC114 002B7D74 7C 7E 1B 78 */ mr r30, r3 +/* 802BC118 002B7D78 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BC11C 002B7D7C 3F A0 80 44 */ lis r29, lbl_8043F2E8@ha +/* 802BC120 002B7D80 3B BD F2 E8 */ addi r29, r29, lbl_8043F2E8@l +/* 802BC124 002B7D84 93 81 00 10 */ stw r28, 0x10(r1) +/* 802BC128 002B7D88 7C 9C 23 78 */ mr r28, r4 +/* 802BC12C 002B7D8C 88 05 00 28 */ lbz r0, 0x28(r5) +/* 802BC130 002B7D90 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC134 002B7D94 41 82 00 14 */ beq lbl_802BC148 +/* 802BC138 002B7D98 7F C4 F3 78 */ mr r4, r30 +/* 802BC13C 002B7D9C 38 7D 05 18 */ addi r3, r29, 0x518 +/* 802BC140 002B7DA0 4C C6 31 82 */ crclr 6 +/* 802BC144 002B7DA4 4B D4 B9 81 */ bl func_80007AC4 +lbl_802BC148: +/* 802BC148 002B7DA8 2C 1E 00 00 */ cmpwi r30, 0 +/* 802BC14C 002B7DAC 40 80 00 28 */ bge lbl_802BC174 +/* 802BC150 002B7DB0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC154 002B7DB4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC158 002B7DB8 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC15C 002B7DBC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC160 002B7DC0 41 82 00 14 */ beq lbl_802BC174 +/* 802BC164 002B7DC4 7F C4 F3 78 */ mr r4, r30 +/* 802BC168 002B7DC8 38 7D 05 50 */ addi r3, r29, 0x550 +/* 802BC16C 002B7DCC 4C C6 31 82 */ crclr 6 +/* 802BC170 002B7DD0 4B D4 B9 55 */ bl func_80007AC4 +lbl_802BC174: +/* 802BC174 002B7DD4 2C 1C 00 00 */ cmpwi r28, 0 +/* 802BC178 002B7DD8 41 82 00 28 */ beq lbl_802BC1A0 +/* 802BC17C 002B7DDC 7F 83 E3 78 */ mr r3, r28 +/* 802BC180 002B7DE0 4B FF DB B5 */ bl func_802B9D34 +/* 802BC184 002B7DE4 4B FF EF FD */ bl func_802BB180 +/* 802BC188 002B7DE8 3C 80 80 56 */ lis r4, lbl_80564DE0@ha +/* 802BC18C 002B7DEC 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l +/* 802BC190 002B7DF0 88 64 00 38 */ lbz r3, 0x38(r4) +/* 802BC194 002B7DF4 38 03 FF FF */ addi r0, r3, -1 +/* 802BC198 002B7DF8 98 04 00 38 */ stb r0, 0x38(r4) +/* 802BC19C 002B7DFC 4B FF EF C1 */ bl func_802BB15C +lbl_802BC1A0: +/* 802BC1A0 002B7E00 3F C0 80 56 */ lis r30, lbl_80564DE0@ha +/* 802BC1A4 002B7E04 3B FE 4D E0 */ addi r31, r30, lbl_80564DE0@l +/* 802BC1A8 002B7E08 88 1F 00 38 */ lbz r0, 0x38(r31) +/* 802BC1AC 002B7E0C 28 00 00 05 */ cmplwi r0, 5 +/* 802BC1B0 002B7E10 40 80 00 90 */ bge lbl_802BC240 +/* 802BC1B4 002B7E14 A0 1F 00 34 */ lhz r0, 0x34(r31) +/* 802BC1B8 002B7E18 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC1BC 002B7E1C 41 82 00 84 */ beq lbl_802BC240 +/* 802BC1C0 002B7E20 38 7F 00 2C */ addi r3, r31, 0x2c +/* 802BC1C4 002B7E24 4B FF E2 0D */ bl func_802BA3D0 +/* 802BC1C8 002B7E28 A0 03 00 04 */ lhz r0, 4(r3) +/* 802BC1CC 002B7E2C 7C 7C 1B 78 */ mr r28, r3 +/* 802BC1D0 002B7E30 3C E0 80 2C */ lis r7, lbl_802BC0F8@ha +/* 802BC1D4 002B7E34 80 7E 4D E0 */ lwz r3, 0x4de0(r30) +/* 802BC1D8 002B7E38 7C DC 02 14 */ add r6, r28, r0 +/* 802BC1DC 002B7E3C 88 9F 00 10 */ lbz r4, 0x10(r31) +/* 802BC1E0 002B7E40 A0 BC 00 02 */ lhz r5, 2(r28) +/* 802BC1E4 002B7E44 7F 88 E3 78 */ mr r8, r28 +/* 802BC1E8 002B7E48 38 E7 C0 F8 */ addi r7, r7, lbl_802BC0F8@l +/* 802BC1EC 002B7E4C 38 C6 00 08 */ addi r6, r6, 8 +/* 802BC1F0 002B7E50 4B FF 84 3D */ bl func_802B462C +/* 802BC1F4 002B7E54 2C 03 00 00 */ cmpwi r3, 0 +/* 802BC1F8 002B7E58 40 80 00 34 */ bge lbl_802BC22C +/* 802BC1FC 002B7E5C 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802BC200 002B7E60 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC204 002B7E64 41 82 00 10 */ beq lbl_802BC214 +/* 802BC208 002B7E68 38 7D 05 88 */ addi r3, r29, 0x588 +/* 802BC20C 002B7E6C 4C C6 31 82 */ crclr 6 +/* 802BC210 002B7E70 4B D4 B8 B5 */ bl func_80007AC4 +lbl_802BC214: +/* 802BC214 002B7E74 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC218 002B7E78 7F 84 E3 78 */ mr r4, r28 +/* 802BC21C 002B7E7C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC220 002B7E80 38 63 00 2C */ addi r3, r3, 0x2c +/* 802BC224 002B7E84 4B FF E0 6D */ bl func_802BA290 +/* 802BC228 002B7E88 48 00 00 18 */ b lbl_802BC240 +lbl_802BC22C: +/* 802BC22C 002B7E8C 4B FF EF 55 */ bl func_802BB180 +/* 802BC230 002B7E90 88 7F 00 38 */ lbz r3, 0x38(r31) +/* 802BC234 002B7E94 38 03 00 01 */ addi r0, r3, 1 +/* 802BC238 002B7E98 98 1F 00 38 */ stb r0, 0x38(r31) +/* 802BC23C 002B7E9C 4B FF EF 21 */ bl func_802BB15C +lbl_802BC240: +/* 802BC240 002B7EA0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BC244 002B7EA4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BC248 002B7EA8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BC24C 002B7EAC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BC250 002B7EB0 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802BC254 002B7EB4 7C 08 03 A6 */ mtlr r0 +/* 802BC258 002B7EB8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BC25C 002B7EBC 4E 80 00 20 */ blr + +.global func_802BC260 +func_802BC260: +/* 802BC260 002B7EC0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BC264 002B7EC4 7C 08 02 A6 */ mflr r0 +/* 802BC268 002B7EC8 7C 85 23 78 */ mr r5, r4 +/* 802BC26C 002B7ECC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BC270 002B7ED0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BC274 002B7ED4 80 0D AE D0 */ lwz r0, lbl_80640190-_SDA_BASE_(r13) +/* 802BC278 002B7ED8 28 00 00 01 */ cmplwi r0, 1 +/* 802BC27C 002B7EDC 40 82 00 58 */ bne lbl_802BC2D4 +/* 802BC280 002B7EE0 80 0D AE CC */ lwz r0, lbl_8064018C-_SDA_BASE_(r13) +/* 802BC284 002B7EE4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC288 002B7EE8 40 82 00 24 */ bne lbl_802BC2AC +/* 802BC28C 002B7EEC 3C C0 80 56 */ lis r6, lbl_80564DE0@ha +/* 802BC290 002B7EF0 54 64 04 3E */ clrlwi r4, r3, 0x10 +/* 802BC294 002B7EF4 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 802BC298 002B7EF8 38 6D 89 DC */ addi r3, r13, lbl_8063DC9C-_SDA_BASE_ +/* 802BC29C 002B7EFC 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l +/* 802BC2A0 002B7F00 4B FF 7D 31 */ bl func_802B3FD0 +/* 802BC2A4 002B7F04 7C 7F 1B 78 */ mr r31, r3 +/* 802BC2A8 002B7F08 48 00 00 48 */ b lbl_802BC2F0 +lbl_802BC2AC: +/* 802BC2AC 002B7F0C 28 00 00 01 */ cmplwi r0, 1 +/* 802BC2B0 002B7F10 40 82 00 40 */ bne lbl_802BC2F0 +/* 802BC2B4 002B7F14 3C C0 80 56 */ lis r6, lbl_80564DE0@ha +/* 802BC2B8 002B7F18 54 64 04 3E */ clrlwi r4, r3, 0x10 +/* 802BC2BC 002B7F1C 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 802BC2C0 002B7F20 38 6D 89 E0 */ addi r3, r13, lbl_8063DCA0-_SDA_BASE_ +/* 802BC2C4 002B7F24 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l +/* 802BC2C8 002B7F28 4B FF 7D 09 */ bl func_802B3FD0 +/* 802BC2CC 002B7F2C 7C 7F 1B 78 */ mr r31, r3 +/* 802BC2D0 002B7F30 48 00 00 20 */ b lbl_802BC2F0 +lbl_802BC2D4: +/* 802BC2D4 002B7F34 3C C0 80 56 */ lis r6, lbl_80564DE0@ha +/* 802BC2D8 002B7F38 54 64 04 3E */ clrlwi r4, r3, 0x10 +/* 802BC2DC 002B7F3C 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 802BC2E0 002B7F40 38 6D 89 E0 */ addi r3, r13, lbl_8063DCA0-_SDA_BASE_ +/* 802BC2E4 002B7F44 38 C6 4D E0 */ addi r6, r6, lbl_80564DE0@l +/* 802BC2E8 002B7F48 4B FF 7C E9 */ bl func_802B3FD0 +/* 802BC2EC 002B7F4C 7C 7F 1B 78 */ mr r31, r3 +lbl_802BC2F0: +/* 802BC2F0 002B7F50 2C 1F 00 00 */ cmpwi r31, 0 +/* 802BC2F4 002B7F54 40 80 00 5C */ bge lbl_802BC350 +/* 802BC2F8 002B7F58 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC2FC 002B7F5C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC300 002B7F60 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC304 002B7F64 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC308 002B7F68 41 82 00 20 */ beq lbl_802BC328 +/* 802BC30C 002B7F6C 3C 60 80 44 */ lis r3, lbl_8043F8B8@ha +/* 802BC310 002B7F70 7F E4 FB 78 */ mr r4, r31 +/* 802BC314 002B7F74 38 63 F8 B8 */ addi r3, r3, lbl_8043F8B8@l +/* 802BC318 002B7F78 38 A0 05 7E */ li r5, 0x57e +/* 802BC31C 002B7F7C 38 C0 03 05 */ li r6, 0x305 +/* 802BC320 002B7F80 4C C6 31 82 */ crclr 6 +/* 802BC324 002B7F84 4B D4 B7 A1 */ bl func_80007AC4 +lbl_802BC328: +/* 802BC328 002B7F88 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC32C 002B7F8C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC330 002B7F90 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC334 002B7F94 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC338 002B7F98 41 82 00 1C */ beq lbl_802BC354 +/* 802BC33C 002B7F9C 3C 60 80 44 */ lis r3, lbl_8043F918@ha +/* 802BC340 002B7FA0 38 63 F9 18 */ addi r3, r3, lbl_8043F918@l +/* 802BC344 002B7FA4 4C C6 31 82 */ crclr 6 +/* 802BC348 002B7FA8 4B D4 B7 7D */ bl func_80007AC4 +/* 802BC34C 002B7FAC 48 00 00 08 */ b lbl_802BC354 +lbl_802BC350: +/* 802BC350 002B7FB0 93 ED 89 CC */ stw r31, lbl_8063DC8C-_SDA_BASE_(r13) +lbl_802BC354: +/* 802BC354 002B7FB4 7F E3 FB 78 */ mr r3, r31 +/* 802BC358 002B7FB8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BC35C 002B7FBC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BC360 002B7FC0 7C 08 03 A6 */ mtlr r0 +/* 802BC364 002B7FC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BC368 002B7FC8 4E 80 00 20 */ blr + +.global func_802BC36C +func_802BC36C: +/* 802BC36C 002B7FCC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BC370 002B7FD0 7C 08 02 A6 */ mflr r0 +/* 802BC374 002B7FD4 38 80 00 00 */ li r4, 0 +/* 802BC378 002B7FD8 38 A0 00 4C */ li r5, 0x4c +/* 802BC37C 002B7FDC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BC380 002B7FE0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BC384 002B7FE4 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha +/* 802BC388 002B7FE8 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l +/* 802BC38C 002B7FEC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BC390 002B7FF0 7C 7E 1B 78 */ mr r30, r3 +/* 802BC394 002B7FF4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BC398 002B7FF8 3F A0 80 56 */ lis r29, lbl_80564DE0@ha +/* 802BC39C 002B7FFC 38 7D 4D E0 */ addi r3, r29, lbl_80564DE0@l +/* 802BC3A0 002B8000 4B D4 7D 65 */ bl memset +/* 802BC3A4 002B8004 4B FF ED DD */ bl func_802BB180 +/* 802BC3A8 002B8008 3B BD 4D E0 */ addi r29, r29, 0x4de0 +/* 802BC3AC 002B800C 38 00 00 05 */ li r0, 5 +/* 802BC3B0 002B8010 98 1D 00 29 */ stb r0, 0x29(r29) +/* 802BC3B4 002B8014 4B FF ED A9 */ bl func_802BB15C +/* 802BC3B8 002B8018 88 0D AE C9 */ lbz r0, lbl_80640189-_SDA_BASE_(r13) +/* 802BC3BC 002B801C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC3C0 002B8020 40 82 00 14 */ bne lbl_802BC3D4 +/* 802BC3C4 002B8024 38 60 00 00 */ li r3, 0 +/* 802BC3C8 002B8028 38 00 00 01 */ li r0, 1 +/* 802BC3CC 002B802C 98 7D 00 28 */ stb r3, 0x28(r29) +/* 802BC3D0 002B8030 98 0D AE C9 */ stb r0, lbl_80640189-_SDA_BASE_(r13) +lbl_802BC3D4: +/* 802BC3D4 002B8034 4B FE 69 6D */ bl IPCCltInit +/* 802BC3D8 002B8038 2C 03 00 00 */ cmpwi r3, 0 +/* 802BC3DC 002B803C 41 82 00 28 */ beq lbl_802BC404 +/* 802BC3E0 002B8040 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC3E4 002B8044 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC3E8 002B8048 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC3EC 002B804C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC3F0 002B8050 41 82 01 CC */ beq lbl_802BC5BC +/* 802BC3F4 002B8054 38 7F 06 70 */ addi r3, r31, 0x670 +/* 802BC3F8 002B8058 4C C6 31 82 */ crclr 6 +/* 802BC3FC 002B805C 4B D4 B6 C9 */ bl func_80007AC4 +/* 802BC400 002B8060 48 00 01 BC */ b lbl_802BC5BC +lbl_802BC404: +/* 802BC404 002B8064 4B FF 79 71 */ bl func_802B3D74 +/* 802BC408 002B8068 2C 03 00 00 */ cmpwi r3, 0 +/* 802BC40C 002B806C 41 82 00 28 */ beq lbl_802BC434 +/* 802BC410 002B8070 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC414 002B8074 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC418 002B8078 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC41C 002B807C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC420 002B8080 41 82 01 9C */ beq lbl_802BC5BC +/* 802BC424 002B8084 38 7F 06 A8 */ addi r3, r31, 0x6a8 +/* 802BC428 002B8088 4C C6 31 82 */ crclr 6 +/* 802BC42C 002B808C 4B D4 B6 99 */ bl func_80007AC4 +/* 802BC430 002B8090 48 00 01 8C */ b lbl_802BC5BC +lbl_802BC434: +/* 802BC434 002B8094 88 0D AE D4 */ lbz r0, lbl_80640194-_SDA_BASE_(r13) +/* 802BC438 002B8098 3C 80 80 56 */ lis r4, lbl_80564DE0@ha +/* 802BC43C 002B809C 38 84 4D E0 */ addi r4, r4, lbl_80564DE0@l +/* 802BC440 002B80A0 28 00 00 01 */ cmplwi r0, 1 +/* 802BC444 002B80A4 93 C4 00 24 */ stw r30, 0x24(r4) +/* 802BC448 002B80A8 40 82 00 18 */ bne lbl_802BC460 +/* 802BC44C 002B80AC 80 6D AE D8 */ lwz r3, lbl_80640198-_SDA_BASE_(r13) +/* 802BC450 002B80B0 80 0D AE DC */ lwz r0, lbl_8064019C-_SDA_BASE_(r13) +/* 802BC454 002B80B4 90 64 00 14 */ stw r3, 0x14(r4) +/* 802BC458 002B80B8 90 04 00 18 */ stw r0, 0x18(r4) +/* 802BC45C 002B80BC 48 00 00 14 */ b lbl_802BC470 +lbl_802BC460: +/* 802BC460 002B80C0 38 60 05 7E */ li r3, 0x57e +/* 802BC464 002B80C4 38 00 03 05 */ li r0, 0x305 +/* 802BC468 002B80C8 90 64 00 14 */ stw r3, 0x14(r4) +/* 802BC46C 002B80CC 90 04 00 18 */ stw r0, 0x18(r4) +lbl_802BC470: +/* 802BC470 002B80D0 3F C0 80 56 */ lis r30, lbl_80564DE0@ha +/* 802BC474 002B80D4 38 00 00 00 */ li r0, 0 +/* 802BC478 002B80D8 3B BE 4D E0 */ addi r29, r30, lbl_80564DE0@l +/* 802BC47C 002B80DC 98 1D 00 10 */ stb r0, 0x10(r29) +/* 802BC480 002B80E0 80 7D 00 14 */ lwz r3, 0x14(r29) +/* 802BC484 002B80E4 98 1D 00 11 */ stb r0, 0x11(r29) +/* 802BC488 002B80E8 80 9D 00 18 */ lwz r4, 0x18(r29) +/* 802BC48C 002B80EC 98 1D 00 12 */ stb r0, 0x12(r29) +/* 802BC490 002B80F0 98 1D 00 13 */ stb r0, 0x13(r29) +/* 802BC494 002B80F4 4B FF FD CD */ bl func_802BC260 +/* 802BC498 002B80F8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BC49C 002B80FC 40 80 00 20 */ bge lbl_802BC4BC +/* 802BC4A0 002B8100 88 1D 00 28 */ lbz r0, 0x28(r29) +/* 802BC4A4 002B8104 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC4A8 002B8108 41 82 01 14 */ beq lbl_802BC5BC +/* 802BC4AC 002B810C 38 7F 06 E0 */ addi r3, r31, 0x6e0 +/* 802BC4B0 002B8110 4C C6 31 82 */ crclr 6 +/* 802BC4B4 002B8114 4B D4 B6 11 */ bl func_80007AC4 +/* 802BC4B8 002B8118 48 00 01 04 */ b lbl_802BC5BC +lbl_802BC4BC: +/* 802BC4BC 002B811C 88 1D 00 28 */ lbz r0, 0x28(r29) +/* 802BC4C0 002B8120 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC4C4 002B8124 41 82 00 14 */ beq lbl_802BC4D8 +/* 802BC4C8 002B8128 80 9E 4D E0 */ lwz r4, 0x4de0(r30) +/* 802BC4CC 002B812C 38 7F 07 20 */ addi r3, r31, 0x720 +/* 802BC4D0 002B8130 4C C6 31 82 */ crclr 6 +/* 802BC4D4 002B8134 4B D4 B5 F1 */ bl func_80007AC4 +lbl_802BC4D8: +/* 802BC4D8 002B8138 3F A0 80 56 */ lis r29, lbl_80564DE0@ha +/* 802BC4DC 002B813C 38 60 00 02 */ li r3, 2 +/* 802BC4E0 002B8140 3B BD 4D E0 */ addi r29, r29, lbl_80564DE0@l +/* 802BC4E4 002B8144 38 80 00 82 */ li r4, 0x82 +/* 802BC4E8 002B8148 38 00 00 81 */ li r0, 0x81 +/* 802BC4EC 002B814C 3B C0 00 00 */ li r30, 0 +/* 802BC4F0 002B8150 98 7D 00 10 */ stb r3, 0x10(r29) +/* 802BC4F4 002B8154 38 7D 00 2C */ addi r3, r29, 0x2c +/* 802BC4F8 002B8158 98 9D 00 11 */ stb r4, 0x11(r29) +/* 802BC4FC 002B815C 98 1D 00 12 */ stb r0, 0x12(r29) +/* 802BC500 002B8160 9B DD 00 13 */ stb r30, 0x13(r29) +/* 802BC504 002B8164 4B FF D5 95 */ bl func_802B9A98 +/* 802BC508 002B8168 9B DD 00 38 */ stb r30, 0x38(r29) +/* 802BC50C 002B816C 38 7D 00 3C */ addi r3, r29, 0x3c +/* 802BC510 002B8170 4B FF D5 89 */ bl func_802B9A98 +/* 802BC514 002B8174 9B DD 00 48 */ stb r30, 0x48(r29) +/* 802BC518 002B8178 38 60 02 94 */ li r3, 0x294 +/* 802BC51C 002B817C 38 80 00 2D */ li r4, 0x2d +/* 802BC520 002B8180 38 A0 00 01 */ li r5, 1 +/* 802BC524 002B8184 38 C0 00 00 */ li r6, 0 +/* 802BC528 002B8188 4B FF E0 41 */ bl func_802BA568 +/* 802BC52C 002B818C 98 7D 00 1C */ stb r3, 0x1c(r29) +/* 802BC530 002B8190 38 60 07 08 */ li r3, 0x708 +/* 802BC534 002B8194 38 80 00 1E */ li r4, 0x1e +/* 802BC538 002B8198 38 A0 00 01 */ li r5, 1 +/* 802BC53C 002B819C 38 C0 00 00 */ li r6, 0 +/* 802BC540 002B81A0 4B FF E0 29 */ bl func_802BA568 +/* 802BC544 002B81A4 88 9D 00 1C */ lbz r4, 0x1c(r29) +/* 802BC548 002B81A8 98 7D 00 1D */ stb r3, 0x1d(r29) +/* 802BC54C 002B81AC 28 04 00 FF */ cmplwi r4, 0xff +/* 802BC550 002B81B0 41 82 00 10 */ beq lbl_802BC560 +/* 802BC554 002B81B4 54 65 06 3E */ clrlwi r5, r3, 0x18 +/* 802BC558 002B81B8 28 05 00 FF */ cmplwi r5, 0xff +/* 802BC55C 002B81BC 40 82 00 28 */ bne lbl_802BC584 +lbl_802BC560: +/* 802BC560 002B81C0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC564 002B81C4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC568 002B81C8 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC56C 002B81CC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC570 002B81D0 41 82 00 4C */ beq lbl_802BC5BC +/* 802BC574 002B81D4 38 7F 07 68 */ addi r3, r31, 0x768 +/* 802BC578 002B81D8 4C C6 31 82 */ crclr 6 +/* 802BC57C 002B81DC 4B D4 B5 49 */ bl func_80007AC4 +/* 802BC580 002B81E0 48 00 00 3C */ b lbl_802BC5BC +lbl_802BC584: +/* 802BC584 002B81E4 88 1D 00 28 */ lbz r0, 0x28(r29) +/* 802BC588 002B81E8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC58C 002B81EC 41 82 00 10 */ beq lbl_802BC59C +/* 802BC590 002B81F0 38 7F 07 A4 */ addi r3, r31, 0x7a4 +/* 802BC594 002B81F4 4C C6 31 82 */ crclr 6 +/* 802BC598 002B81F8 4B D4 B5 2D */ bl func_80007AC4 +lbl_802BC59C: +/* 802BC59C 002B81FC 4B FF EB E5 */ bl func_802BB180 +/* 802BC5A0 002B8200 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC5A4 002B8204 38 00 00 04 */ li r0, 4 +/* 802BC5A8 002B8208 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC5AC 002B820C 98 03 00 29 */ stb r0, 0x29(r3) +/* 802BC5B0 002B8210 4B FF EB AD */ bl func_802BB15C +/* 802BC5B4 002B8214 38 00 00 01 */ li r0, 1 +/* 802BC5B8 002B8218 90 0D 89 C8 */ stw r0, lbl_8063DC88-_SDA_BASE_(r13) +lbl_802BC5BC: +/* 802BC5BC 002B821C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BC5C0 002B8220 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BC5C4 002B8224 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BC5C8 002B8228 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BC5CC 002B822C 7C 08 03 A6 */ mtlr r0 +/* 802BC5D0 002B8230 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BC5D4 002B8234 4E 80 00 20 */ blr + +.global func_802BC5D8 +func_802BC5D8: +/* 802BC5D8 002B8238 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BC5DC 002B823C 7C 08 02 A6 */ mflr r0 +/* 802BC5E0 002B8240 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BC5E4 002B8244 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BC5E8 002B8248 3F E0 80 56 */ lis r31, lbl_80564DE0@ha +/* 802BC5EC 002B824C 3B FF 4D E0 */ addi r31, r31, lbl_80564DE0@l +/* 802BC5F0 002B8250 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BC5F4 002B8254 3F C0 80 44 */ lis r30, lbl_8043F2E8@ha +/* 802BC5F8 002B8258 3B DE F2 E8 */ addi r30, r30, lbl_8043F2E8@l +/* 802BC5FC 002B825C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BC600 002B8260 7C 9D 23 78 */ mr r29, r4 +/* 802BC604 002B8264 88 1F 00 29 */ lbz r0, 0x29(r31) +/* 802BC608 002B8268 28 00 00 04 */ cmplwi r0, 4 +/* 802BC60C 002B826C 41 82 00 20 */ beq lbl_802BC62C +/* 802BC610 002B8270 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802BC614 002B8274 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC618 002B8278 41 82 00 BC */ beq lbl_802BC6D4 +/* 802BC61C 002B827C 38 7E 07 F0 */ addi r3, r30, 0x7f0 +/* 802BC620 002B8280 4C C6 31 82 */ crclr 6 +/* 802BC624 002B8284 4B D4 B4 A1 */ bl func_80007AC4 +/* 802BC628 002B8288 48 00 00 AC */ b lbl_802BC6D4 +lbl_802BC62C: +/* 802BC62C 002B828C 88 1F 00 1C */ lbz r0, 0x1c(r31) +/* 802BC630 002B8290 28 00 00 FF */ cmplwi r0, 0xff +/* 802BC634 002B8294 41 82 00 10 */ beq lbl_802BC644 +/* 802BC638 002B8298 88 1F 00 1D */ lbz r0, 0x1d(r31) +/* 802BC63C 002B829C 28 00 00 FF */ cmplwi r0, 0xff +/* 802BC640 002B82A0 40 82 00 70 */ bne lbl_802BC6B0 +lbl_802BC644: +/* 802BC644 002B82A4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC648 002B82A8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC64C 002B82AC 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC650 002B82B0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC654 002B82B4 41 82 00 10 */ beq lbl_802BC664 +/* 802BC658 002B82B8 38 7E 08 38 */ addi r3, r30, 0x838 +/* 802BC65C 002B82BC 4C C6 31 82 */ crclr 6 +/* 802BC660 002B82C0 4B D4 B4 65 */ bl func_80007AC4 +lbl_802BC664: +/* 802BC664 002B82C4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC668 002B82C8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC66C 002B82CC 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC670 002B82D0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC674 002B82D4 41 82 00 14 */ beq lbl_802BC688 +/* 802BC678 002B82D8 88 83 00 1C */ lbz r4, 0x1c(r3) +/* 802BC67C 002B82DC 38 7E 08 70 */ addi r3, r30, 0x870 +/* 802BC680 002B82E0 4C C6 31 82 */ crclr 6 +/* 802BC684 002B82E4 4B D4 B4 41 */ bl func_80007AC4 +lbl_802BC688: +/* 802BC688 002B82E8 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC68C 002B82EC 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC690 002B82F0 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC694 002B82F4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC698 002B82F8 41 82 00 3C */ beq lbl_802BC6D4 +/* 802BC69C 002B82FC 88 83 00 1D */ lbz r4, 0x1d(r3) +/* 802BC6A0 002B8300 38 7E 08 A0 */ addi r3, r30, 0x8a0 +/* 802BC6A4 002B8304 4C C6 31 82 */ crclr 6 +/* 802BC6A8 002B8308 4B D4 B4 1D */ bl func_80007AC4 +/* 802BC6AC 002B830C 48 00 00 28 */ b lbl_802BC6D4 +lbl_802BC6B0: +/* 802BC6B0 002B8310 4B FF EA D1 */ bl func_802BB180 +/* 802BC6B4 002B8314 38 00 00 02 */ li r0, 2 +/* 802BC6B8 002B8318 93 BF 00 20 */ stw r29, 0x20(r31) +/* 802BC6BC 002B831C 98 1F 00 29 */ stb r0, 0x29(r31) +/* 802BC6C0 002B8320 4B FF EA 9D */ bl func_802BB15C +/* 802BC6C4 002B8324 4B FF F7 9D */ bl func_802BBE60 +/* 802BC6C8 002B8328 4B FF F6 85 */ bl func_802BBD4C +/* 802BC6CC 002B832C 38 00 00 00 */ li r0, 0 +/* 802BC6D0 002B8330 90 0D 89 C8 */ stw r0, lbl_8063DC88-_SDA_BASE_(r13) +lbl_802BC6D4: +/* 802BC6D4 002B8334 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BC6D8 002B8338 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BC6DC 002B833C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BC6E0 002B8340 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BC6E4 002B8344 7C 08 03 A6 */ mtlr r0 +/* 802BC6E8 002B8348 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BC6EC 002B834C 4E 80 00 20 */ blr + +.global func_802BC6F0 +func_802BC6F0: +/* 802BC6F0 002B8350 38 60 00 00 */ li r3, 0 +/* 802BC6F4 002B8354 4E 80 00 20 */ blr + +.global func_802BC6F8 +func_802BC6F8: +/* 802BC6F8 002B8358 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802BC6FC 002B835C 7C 08 02 A6 */ mflr r0 +/* 802BC700 002B8360 90 01 00 34 */ stw r0, 0x34(r1) +/* 802BC704 002B8364 39 61 00 30 */ addi r11, r1, 0x30 +/* 802BC708 002B8368 4B F0 AA 19 */ bl _savegpr_25 +/* 802BC70C 002B836C 3C E0 80 56 */ lis r7, lbl_80564DE0@ha +/* 802BC710 002B8370 3F E0 80 44 */ lis r31, lbl_8043F2E8@ha +/* 802BC714 002B8374 38 E7 4D E0 */ addi r7, r7, lbl_80564DE0@l +/* 802BC718 002B8378 7C 7E 1B 78 */ mr r30, r3 +/* 802BC71C 002B837C 88 07 00 29 */ lbz r0, 0x29(r7) +/* 802BC720 002B8380 7C 9B 23 78 */ mr r27, r4 +/* 802BC724 002B8384 7C BC 2B 78 */ mr r28, r5 +/* 802BC728 002B8388 3B FF F2 E8 */ addi r31, r31, lbl_8043F2E8@l +/* 802BC72C 002B838C 28 00 00 02 */ cmplwi r0, 2 +/* 802BC730 002B8390 3B A0 00 00 */ li r29, 0 +/* 802BC734 002B8394 41 82 00 24 */ beq lbl_802BC758 +/* 802BC738 002B8398 88 07 00 28 */ lbz r0, 0x28(r7) +/* 802BC73C 002B839C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC740 002B83A0 41 82 00 10 */ beq lbl_802BC750 +/* 802BC744 002B83A4 38 7F 08 D0 */ addi r3, r31, 0x8d0 +/* 802BC748 002B83A8 4C C6 31 82 */ crclr 6 +/* 802BC74C 002B83AC 4B D4 B3 79 */ bl func_80007AC4 +lbl_802BC750: +/* 802BC750 002B83B0 38 60 00 00 */ li r3, 0 +/* 802BC754 002B83B4 48 00 05 14 */ b lbl_802BCC68 +lbl_802BC758: +/* 802BC758 002B83B8 88 07 00 28 */ lbz r0, 0x28(r7) +/* 802BC75C 002B83BC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC760 002B83C0 41 82 00 20 */ beq lbl_802BC780 +/* 802BC764 002B83C4 7C C3 33 78 */ mr r3, r6 +/* 802BC768 002B83C8 4B FF D7 3D */ bl func_802B9EA4 +/* 802BC76C 002B83CC 54 64 04 3E */ clrlwi r4, r3, 0x10 +/* 802BC770 002B83D0 38 7F 09 08 */ addi r3, r31, 0x908 +/* 802BC774 002B83D4 38 84 FF F8 */ addi r4, r4, -8 +/* 802BC778 002B83D8 4C C6 31 82 */ crclr 6 +/* 802BC77C 002B83DC 4B D4 B3 49 */ bl func_80007AC4 +lbl_802BC780: +/* 802BC780 002B83E0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC784 002B83E4 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC788 002B83E8 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC78C 002B83EC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC790 002B83F0 41 82 00 18 */ beq lbl_802BC7A8 +/* 802BC794 002B83F4 7F C4 F3 78 */ mr r4, r30 +/* 802BC798 002B83F8 7F 85 E3 78 */ mr r5, r28 +/* 802BC79C 002B83FC 38 7F 09 28 */ addi r3, r31, 0x928 +/* 802BC7A0 002B8400 4C C6 31 82 */ crclr 6 +/* 802BC7A4 002B8404 4B D4 B3 21 */ bl func_80007AC4 +lbl_802BC7A8: +/* 802BC7A8 002B8408 3F 40 80 56 */ lis r26, lbl_80564DE0@ha +/* 802BC7AC 002B840C 3B 20 00 00 */ li r25, 0 +/* 802BC7B0 002B8410 3B 5A 4D E0 */ addi r26, r26, lbl_80564DE0@l +/* 802BC7B4 002B8414 48 00 00 28 */ b lbl_802BC7DC +lbl_802BC7B8: +/* 802BC7B8 002B8418 88 1A 00 28 */ lbz r0, 0x28(r26) +/* 802BC7BC 002B841C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC7C0 002B8420 41 82 00 18 */ beq lbl_802BC7D8 +/* 802BC7C4 002B8424 57 20 04 3E */ clrlwi r0, r25, 0x10 +/* 802BC7C8 002B8428 38 6D 89 D0 */ addi r3, r13, lbl_8063DC90-_SDA_BASE_ +/* 802BC7CC 002B842C 7C 9B 00 AE */ lbzx r4, r27, r0 +/* 802BC7D0 002B8430 4C C6 31 82 */ crclr 6 +/* 802BC7D4 002B8434 4B D4 B2 F1 */ bl func_80007AC4 +lbl_802BC7D8: +/* 802BC7D8 002B8438 3B 39 00 01 */ addi r25, r25, 1 +lbl_802BC7DC: +/* 802BC7DC 002B843C 57 20 04 3E */ clrlwi r0, r25, 0x10 +/* 802BC7E0 002B8440 7C 00 E0 40 */ cmplw r0, r28 +/* 802BC7E4 002B8444 41 80 FF D4 */ blt lbl_802BC7B8 +/* 802BC7E8 002B8448 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC7EC 002B844C 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC7F0 002B8450 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC7F4 002B8454 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC7F8 002B8458 41 82 00 10 */ beq lbl_802BC808 +/* 802BC7FC 002B845C 38 6D 89 D8 */ addi r3, r13, lbl_8063DC98-_SDA_BASE_ +/* 802BC800 002B8460 4C C6 31 82 */ crclr 6 +/* 802BC804 002B8464 4B D4 B2 C1 */ bl func_80007AC4 +lbl_802BC808: +/* 802BC808 002B8468 2C 1E 00 02 */ cmpwi r30, 2 +/* 802BC80C 002B846C 41 82 02 2C */ beq lbl_802BCA38 +/* 802BC810 002B8470 40 80 04 54 */ bge lbl_802BCC64 +/* 802BC814 002B8474 2C 1E 00 00 */ cmpwi r30, 0 +/* 802BC818 002B8478 41 82 00 0C */ beq lbl_802BC824 +/* 802BC81C 002B847C 48 00 04 48 */ b lbl_802BCC64 +/* 802BC820 002B8480 48 00 04 44 */ b lbl_802BCC64 +lbl_802BC824: +/* 802BC824 002B8484 3F A0 80 56 */ lis r29, lbl_80564DE0@ha +/* 802BC828 002B8488 3B 5D 4D E0 */ addi r26, r29, lbl_80564DE0@l +/* 802BC82C 002B848C 88 7A 00 1C */ lbz r3, 0x1c(r26) +/* 802BC830 002B8490 4B FF D4 1D */ bl func_802B9C4C +/* 802BC834 002B8494 2C 03 00 00 */ cmpwi r3, 0 +/* 802BC838 002B8498 7C 7E 1B 78 */ mr r30, r3 +/* 802BC83C 002B849C 40 82 00 24 */ bne lbl_802BC860 +/* 802BC840 002B84A0 88 1A 00 28 */ lbz r0, 0x28(r26) +/* 802BC844 002B84A4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC848 002B84A8 41 82 00 10 */ beq lbl_802BC858 +/* 802BC84C 002B84AC 38 7F 09 58 */ addi r3, r31, 0x958 +/* 802BC850 002B84B0 4C C6 31 82 */ crclr 6 +/* 802BC854 002B84B4 4B D4 B2 71 */ bl func_80007AC4 +lbl_802BC858: +/* 802BC858 002B84B8 38 60 00 00 */ li r3, 0 +/* 802BC85C 002B84BC 48 00 04 0C */ b lbl_802BCC68 +lbl_802BC860: +/* 802BC860 002B84C0 38 03 00 27 */ addi r0, r3, 0x27 +/* 802BC864 002B84C4 B3 83 00 02 */ sth r28, 2(r3) +/* 802BC868 002B84C8 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a +/* 802BC86C 002B84CC 7F 64 DB 78 */ mr r4, r27 +/* 802BC870 002B84D0 38 03 00 08 */ addi r0, r3, 8 +/* 802BC874 002B84D4 7F 85 E3 78 */ mr r5, r28 +/* 802BC878 002B84D8 7C 00 C8 50 */ subf r0, r0, r25 +/* 802BC87C 002B84DC B0 03 00 04 */ sth r0, 4(r3) +/* 802BC880 002B84E0 7F 23 CB 78 */ mr r3, r25 +/* 802BC884 002B84E4 4B D4 77 7D */ bl memcpy +/* 802BC888 002B84E8 88 1A 00 48 */ lbz r0, 0x48(r26) +/* 802BC88C 002B84EC 28 00 00 05 */ cmplwi r0, 5 +/* 802BC890 002B84F0 40 80 00 44 */ bge lbl_802BC8D4 +/* 802BC894 002B84F4 A0 1A 00 44 */ lhz r0, 0x44(r26) +/* 802BC898 002B84F8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC89C 002B84FC 40 82 00 38 */ bne lbl_802BC8D4 +/* 802BC8A0 002B8500 93 C1 00 08 */ stw r30, 8(r1) +/* 802BC8A4 002B8504 3D 40 80 2C */ lis r10, lbl_802BBF84@ha +/* 802BC8A8 002B8508 7F 88 E3 78 */ mr r8, r28 +/* 802BC8AC 002B850C 7F 29 CB 78 */ mr r9, r25 +/* 802BC8B0 002B8510 80 7D 4D E0 */ lwz r3, 0x4de0(r29) +/* 802BC8B4 002B8514 39 4A BF 84 */ addi r10, r10, lbl_802BBF84@l +/* 802BC8B8 002B8518 38 80 00 20 */ li r4, 0x20 +/* 802BC8BC 002B851C 38 A0 00 00 */ li r5, 0 +/* 802BC8C0 002B8520 38 C0 00 00 */ li r6, 0 +/* 802BC8C4 002B8524 38 E0 00 00 */ li r7, 0 +/* 802BC8C8 002B8528 4B FF 83 6D */ bl func_802B4C34 +/* 802BC8CC 002B852C 7C 7D 1B 78 */ mr r29, r3 +/* 802BC8D0 002B8530 48 00 00 3C */ b lbl_802BC90C +lbl_802BC8D4: +/* 802BC8D4 002B8534 3F 60 80 56 */ lis r27, lbl_80564DE0@ha +/* 802BC8D8 002B8538 7F C4 F3 78 */ mr r4, r30 +/* 802BC8DC 002B853C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l +/* 802BC8E0 002B8540 38 7B 00 3C */ addi r3, r27, 0x3c +/* 802BC8E4 002B8544 4B FF D8 71 */ bl func_802BA154 +/* 802BC8E8 002B8548 88 1B 00 28 */ lbz r0, 0x28(r27) +/* 802BC8EC 002B854C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC8F0 002B8550 41 82 00 14 */ beq lbl_802BC904 +/* 802BC8F4 002B8554 A0 9B 00 44 */ lhz r4, 0x44(r27) +/* 802BC8F8 002B8558 38 7F 09 9C */ addi r3, r31, 0x99c +/* 802BC8FC 002B855C 4C C6 31 82 */ crclr 6 +/* 802BC900 002B8560 4B D4 B1 C5 */ bl func_80007AC4 +lbl_802BC904: +/* 802BC904 002B8564 38 60 00 00 */ li r3, 0 +/* 802BC908 002B8568 48 00 03 60 */ b lbl_802BCC68 +lbl_802BC90C: +/* 802BC90C 002B856C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BC910 002B8570 41 82 01 10 */ beq lbl_802BCA20 +/* 802BC914 002B8574 88 1A 00 28 */ lbz r0, 0x28(r26) +/* 802BC918 002B8578 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC91C 002B857C 41 82 00 10 */ beq lbl_802BC92C +/* 802BC920 002B8580 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BC924 002B8584 4C C6 31 82 */ crclr 6 +/* 802BC928 002B8588 4B D4 B1 9D */ bl func_80007AC4 +lbl_802BC92C: +/* 802BC92C 002B858C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC930 002B8590 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC934 002B8594 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC938 002B8598 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC93C 002B859C 41 82 00 10 */ beq lbl_802BC94C +/* 802BC940 002B85A0 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BC944 002B85A4 4C C6 31 82 */ crclr 6 +/* 802BC948 002B85A8 4B D4 B1 7D */ bl func_80007AC4 +lbl_802BC94C: +/* 802BC94C 002B85AC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC950 002B85B0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC954 002B85B4 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC958 002B85B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC95C 002B85BC 41 82 00 18 */ beq lbl_802BC974 +/* 802BC960 002B85C0 88 A3 00 48 */ lbz r5, 0x48(r3) +/* 802BC964 002B85C4 7F A4 EB 78 */ mr r4, r29 +/* 802BC968 002B85C8 38 7F 0A 34 */ addi r3, r31, 0xa34 +/* 802BC96C 002B85CC 4C C6 31 82 */ crclr 6 +/* 802BC970 002B85D0 4B D4 B1 55 */ bl func_80007AC4 +lbl_802BC974: +/* 802BC974 002B85D4 2C 1D FF EA */ cmpwi r29, -22 +/* 802BC978 002B85D8 41 82 00 2C */ beq lbl_802BC9A4 +/* 802BC97C 002B85DC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC980 002B85E0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC984 002B85E4 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC988 002B85E8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC98C 002B85EC 41 82 00 18 */ beq lbl_802BC9A4 +/* 802BC990 002B85F0 88 A3 00 38 */ lbz r5, 0x38(r3) +/* 802BC994 002B85F4 7F A4 EB 78 */ mr r4, r29 +/* 802BC998 002B85F8 38 7F 0A 90 */ addi r3, r31, 0xa90 +/* 802BC99C 002B85FC 4C C6 31 82 */ crclr 6 +/* 802BC9A0 002B8600 4B D4 B1 25 */ bl func_80007AC4 +lbl_802BC9A4: +/* 802BC9A4 002B8604 2C 1D FF F8 */ cmpwi r29, -8 +/* 802BC9A8 002B8608 40 82 00 2C */ bne lbl_802BC9D4 +/* 802BC9AC 002B860C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC9B0 002B8610 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC9B4 002B8614 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC9B8 002B8618 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC9BC 002B861C 41 82 00 18 */ beq lbl_802BC9D4 +/* 802BC9C0 002B8620 88 A3 00 38 */ lbz r5, 0x38(r3) +/* 802BC9C4 002B8624 7F A4 EB 78 */ mr r4, r29 +/* 802BC9C8 002B8628 38 7F 0B 00 */ addi r3, r31, 0xb00 +/* 802BC9CC 002B862C 4C C6 31 82 */ crclr 6 +/* 802BC9D0 002B8630 4B D4 B0 F5 */ bl func_80007AC4 +lbl_802BC9D4: +/* 802BC9D4 002B8634 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC9D8 002B8638 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC9DC 002B863C 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BC9E0 002B8640 2C 00 00 00 */ cmpwi r0, 0 +/* 802BC9E4 002B8644 41 82 00 10 */ beq lbl_802BC9F4 +/* 802BC9E8 002B8648 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BC9EC 002B864C 4C C6 31 82 */ crclr 6 +/* 802BC9F0 002B8650 4B D4 B0 D5 */ bl func_80007AC4 +lbl_802BC9F4: +/* 802BC9F4 002B8654 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BC9F8 002B8658 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BC9FC 002B865C 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BCA00 002B8660 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCA04 002B8664 41 82 00 10 */ beq lbl_802BCA14 +/* 802BCA08 002B8668 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BCA0C 002B866C 4C C6 31 82 */ crclr 6 +/* 802BCA10 002B8670 4B D4 B0 B5 */ bl func_80007AC4 +lbl_802BCA14: +/* 802BCA14 002B8674 7F C3 F3 78 */ mr r3, r30 +/* 802BCA18 002B8678 4B FF D3 1D */ bl func_802B9D34 +/* 802BCA1C 002B867C 48 00 02 48 */ b lbl_802BCC64 +lbl_802BCA20: +/* 802BCA20 002B8680 4B FF E7 61 */ bl func_802BB180 +/* 802BCA24 002B8684 88 7A 00 48 */ lbz r3, 0x48(r26) +/* 802BCA28 002B8688 38 03 00 01 */ addi r0, r3, 1 +/* 802BCA2C 002B868C 98 1A 00 48 */ stb r0, 0x48(r26) +/* 802BCA30 002B8690 4B FF E7 2D */ bl func_802BB15C +/* 802BCA34 002B8694 48 00 02 30 */ b lbl_802BCC64 +lbl_802BCA38: +/* 802BCA38 002B8698 3F A0 80 56 */ lis r29, lbl_80564DE0@ha +/* 802BCA3C 002B869C 3B BD 4D E0 */ addi r29, r29, lbl_80564DE0@l +/* 802BCA40 002B86A0 88 7D 00 1D */ lbz r3, 0x1d(r29) +/* 802BCA44 002B86A4 4B FF D2 09 */ bl func_802B9C4C +/* 802BCA48 002B86A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BCA4C 002B86AC 7C 7E 1B 78 */ mr r30, r3 +/* 802BCA50 002B86B0 40 82 00 24 */ bne lbl_802BCA74 +/* 802BCA54 002B86B4 88 1D 00 28 */ lbz r0, 0x28(r29) +/* 802BCA58 002B86B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCA5C 002B86BC 41 82 00 10 */ beq lbl_802BCA6C +/* 802BCA60 002B86C0 38 7F 0B 6C */ addi r3, r31, 0xb6c +/* 802BCA64 002B86C4 4C C6 31 82 */ crclr 6 +/* 802BCA68 002B86C8 4B D4 B0 5D */ bl func_80007AC4 +lbl_802BCA6C: +/* 802BCA6C 002B86CC 38 60 00 00 */ li r3, 0 +/* 802BCA70 002B86D0 48 00 01 F8 */ b lbl_802BCC68 +lbl_802BCA74: +/* 802BCA74 002B86D4 38 03 00 27 */ addi r0, r3, 0x27 +/* 802BCA78 002B86D8 B3 83 00 02 */ sth r28, 2(r3) +/* 802BCA7C 002B86DC 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a +/* 802BCA80 002B86E0 7F 64 DB 78 */ mr r4, r27 +/* 802BCA84 002B86E4 38 03 00 08 */ addi r0, r3, 8 +/* 802BCA88 002B86E8 7F 85 E3 78 */ mr r5, r28 +/* 802BCA8C 002B86EC 7C 00 D0 50 */ subf r0, r0, r26 +/* 802BCA90 002B86F0 B0 03 00 04 */ sth r0, 4(r3) +/* 802BCA94 002B86F4 7F 43 D3 78 */ mr r3, r26 +/* 802BCA98 002B86F8 4B D4 75 69 */ bl memcpy +/* 802BCA9C 002B86FC 28 1C 00 BE */ cmplwi r28, 0xbe +/* 802BCAA0 002B8700 40 81 00 1C */ ble lbl_802BCABC +/* 802BCAA4 002B8704 88 1D 00 28 */ lbz r0, 0x28(r29) +/* 802BCAA8 002B8708 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCAAC 002B870C 41 82 00 10 */ beq lbl_802BCABC +/* 802BCAB0 002B8710 38 7F 0B B0 */ addi r3, r31, 0xbb0 +/* 802BCAB4 002B8714 4C C6 31 82 */ crclr 6 +/* 802BCAB8 002B8718 4B D4 B0 0D */ bl func_80007AC4 +lbl_802BCABC: +/* 802BCABC 002B871C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCAC0 002B8720 3B 63 4D E0 */ addi r27, r3, lbl_80564DE0@l +/* 802BCAC4 002B8724 88 1B 00 38 */ lbz r0, 0x38(r27) +/* 802BCAC8 002B8728 28 00 00 05 */ cmplwi r0, 5 +/* 802BCACC 002B872C 40 80 00 38 */ bge lbl_802BCB04 +/* 802BCAD0 002B8730 A0 1B 00 34 */ lhz r0, 0x34(r27) +/* 802BCAD4 002B8734 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCAD8 002B8738 40 82 00 2C */ bne lbl_802BCB04 +/* 802BCADC 002B873C 3C E0 80 2C */ lis r7, lbl_802BC0F8@ha +/* 802BCAE0 002B8740 80 63 4D E0 */ lwz r3, 0x4de0(r3) +/* 802BCAE4 002B8744 88 9B 00 10 */ lbz r4, 0x10(r27) +/* 802BCAE8 002B8748 7F 85 E3 78 */ mr r5, r28 +/* 802BCAEC 002B874C 7F 46 D3 78 */ mr r6, r26 +/* 802BCAF0 002B8750 7F C8 F3 78 */ mr r8, r30 +/* 802BCAF4 002B8754 38 E7 C0 F8 */ addi r7, r7, lbl_802BC0F8@l +/* 802BCAF8 002B8758 4B FF 7B 35 */ bl func_802B462C +/* 802BCAFC 002B875C 7C 7D 1B 78 */ mr r29, r3 +/* 802BCB00 002B8760 48 00 00 3C */ b lbl_802BCB3C +lbl_802BCB04: +/* 802BCB04 002B8764 3F 60 80 56 */ lis r27, lbl_80564DE0@ha +/* 802BCB08 002B8768 7F C4 F3 78 */ mr r4, r30 +/* 802BCB0C 002B876C 3B 7B 4D E0 */ addi r27, r27, lbl_80564DE0@l +/* 802BCB10 002B8770 38 7B 00 2C */ addi r3, r27, 0x2c +/* 802BCB14 002B8774 4B FF D6 41 */ bl func_802BA154 +/* 802BCB18 002B8778 88 1B 00 28 */ lbz r0, 0x28(r27) +/* 802BCB1C 002B877C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCB20 002B8780 41 82 00 14 */ beq lbl_802BCB34 +/* 802BCB24 002B8784 A0 9B 00 34 */ lhz r4, 0x34(r27) +/* 802BCB28 002B8788 38 7F 0B DC */ addi r3, r31, 0xbdc +/* 802BCB2C 002B878C 4C C6 31 82 */ crclr 6 +/* 802BCB30 002B8790 4B D4 AF 95 */ bl func_80007AC4 +lbl_802BCB34: +/* 802BCB34 002B8794 38 60 00 00 */ li r3, 0 +/* 802BCB38 002B8798 48 00 01 30 */ b lbl_802BCC68 +lbl_802BCB3C: +/* 802BCB3C 002B879C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BCB40 002B87A0 41 82 01 10 */ beq lbl_802BCC50 +/* 802BCB44 002B87A4 88 1B 00 28 */ lbz r0, 0x28(r27) +/* 802BCB48 002B87A8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCB4C 002B87AC 41 82 00 10 */ beq lbl_802BCB5C +/* 802BCB50 002B87B0 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BCB54 002B87B4 4C C6 31 82 */ crclr 6 +/* 802BCB58 002B87B8 4B D4 AF 6D */ bl func_80007AC4 +lbl_802BCB5C: +/* 802BCB5C 002B87BC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCB60 002B87C0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BCB64 002B87C4 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BCB68 002B87C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCB6C 002B87CC 41 82 00 10 */ beq lbl_802BCB7C +/* 802BCB70 002B87D0 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BCB74 002B87D4 4C C6 31 82 */ crclr 6 +/* 802BCB78 002B87D8 4B D4 AF 4D */ bl func_80007AC4 +lbl_802BCB7C: +/* 802BCB7C 002B87DC 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCB80 002B87E0 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BCB84 002B87E4 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BCB88 002B87E8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCB8C 002B87EC 41 82 00 18 */ beq lbl_802BCBA4 +/* 802BCB90 002B87F0 88 A3 00 38 */ lbz r5, 0x38(r3) +/* 802BCB94 002B87F4 7F A4 EB 78 */ mr r4, r29 +/* 802BCB98 002B87F8 38 7F 0C 10 */ addi r3, r31, 0xc10 +/* 802BCB9C 002B87FC 4C C6 31 82 */ crclr 6 +/* 802BCBA0 002B8800 4B D4 AF 25 */ bl func_80007AC4 +lbl_802BCBA4: +/* 802BCBA4 002B8804 2C 1D FF EA */ cmpwi r29, -22 +/* 802BCBA8 002B8808 41 82 00 2C */ beq lbl_802BCBD4 +/* 802BCBAC 002B880C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCBB0 002B8810 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BCBB4 002B8814 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BCBB8 002B8818 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCBBC 002B881C 41 82 00 18 */ beq lbl_802BCBD4 +/* 802BCBC0 002B8820 88 A3 00 38 */ lbz r5, 0x38(r3) +/* 802BCBC4 002B8824 7F A4 EB 78 */ mr r4, r29 +/* 802BCBC8 002B8828 38 7F 0C 6C */ addi r3, r31, 0xc6c +/* 802BCBCC 002B882C 4C C6 31 82 */ crclr 6 +/* 802BCBD0 002B8830 4B D4 AE F5 */ bl func_80007AC4 +lbl_802BCBD4: +/* 802BCBD4 002B8834 2C 1D FF F8 */ cmpwi r29, -8 +/* 802BCBD8 002B8838 40 82 00 2C */ bne lbl_802BCC04 +/* 802BCBDC 002B883C 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCBE0 002B8840 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BCBE4 002B8844 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BCBE8 002B8848 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCBEC 002B884C 41 82 00 18 */ beq lbl_802BCC04 +/* 802BCBF0 002B8850 88 A3 00 38 */ lbz r5, 0x38(r3) +/* 802BCBF4 002B8854 7F A4 EB 78 */ mr r4, r29 +/* 802BCBF8 002B8858 38 7F 0C DC */ addi r3, r31, 0xcdc +/* 802BCBFC 002B885C 4C C6 31 82 */ crclr 6 +/* 802BCC00 002B8860 4B D4 AE C5 */ bl func_80007AC4 +lbl_802BCC04: +/* 802BCC04 002B8864 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCC08 002B8868 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BCC0C 002B886C 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BCC10 002B8870 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCC14 002B8874 41 82 00 10 */ beq lbl_802BCC24 +/* 802BCC18 002B8878 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BCC1C 002B887C 4C C6 31 82 */ crclr 6 +/* 802BCC20 002B8880 4B D4 AE A5 */ bl func_80007AC4 +lbl_802BCC24: +/* 802BCC24 002B8884 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCC28 002B8888 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BCC2C 002B888C 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802BCC30 002B8890 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCC34 002B8894 41 82 00 10 */ beq lbl_802BCC44 +/* 802BCC38 002B8898 38 7F 09 D0 */ addi r3, r31, 0x9d0 +/* 802BCC3C 002B889C 4C C6 31 82 */ crclr 6 +/* 802BCC40 002B88A0 4B D4 AE 85 */ bl func_80007AC4 +lbl_802BCC44: +/* 802BCC44 002B88A4 7F C3 F3 78 */ mr r3, r30 +/* 802BCC48 002B88A8 4B FF D0 ED */ bl func_802B9D34 +/* 802BCC4C 002B88AC 48 00 00 18 */ b lbl_802BCC64 +lbl_802BCC50: +/* 802BCC50 002B88B0 4B FF E5 31 */ bl func_802BB180 +/* 802BCC54 002B88B4 88 7B 00 38 */ lbz r3, 0x38(r27) +/* 802BCC58 002B88B8 38 03 00 01 */ addi r0, r3, 1 +/* 802BCC5C 002B88BC 98 1B 00 38 */ stb r0, 0x38(r27) +/* 802BCC60 002B88C0 4B FF E4 FD */ bl func_802BB15C +lbl_802BCC64: +/* 802BCC64 002B88C4 57 A3 04 3E */ clrlwi r3, r29, 0x10 +lbl_802BCC68: +/* 802BCC68 002B88C8 39 61 00 30 */ addi r11, r1, 0x30 +/* 802BCC6C 002B88CC 4B F0 A5 01 */ bl _restgpr_25 +/* 802BCC70 002B88D0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802BCC74 002B88D4 7C 08 03 A6 */ mtlr r0 +/* 802BCC78 002B88D8 38 21 00 30 */ addi r1, r1, 0x30 +/* 802BCC7C 002B88DC 4E 80 00 20 */ blr + +.global func_802BCC80 +func_802BCC80: +/* 802BCC80 002B88E0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BCC84 002B88E4 7C 08 02 A6 */ mflr r0 +/* 802BCC88 002B88E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BCC8C 002B88EC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BCC90 002B88F0 4B FF E4 F1 */ bl func_802BB180 +/* 802BCC94 002B88F4 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCC98 002B88F8 38 00 00 00 */ li r0, 0 +/* 802BCC9C 002B88FC 3B E3 4D E0 */ addi r31, r3, lbl_80564DE0@l +/* 802BCCA0 002B8900 98 1F 00 29 */ stb r0, 0x29(r31) +/* 802BCCA4 002B8904 4B FF E4 B9 */ bl func_802BB15C +/* 802BCCA8 002B8908 A0 1F 00 34 */ lhz r0, 0x34(r31) +/* 802BCCAC 002B890C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCCB0 002B8910 41 82 00 20 */ beq lbl_802BCCD0 +/* 802BCCB4 002B8914 48 00 00 10 */ b lbl_802BCCC4 +lbl_802BCCB8: +/* 802BCCB8 002B8918 38 7F 00 2C */ addi r3, r31, 0x2c +/* 802BCCBC 002B891C 4B FF D7 15 */ bl func_802BA3D0 +/* 802BCCC0 002B8920 4B FF D0 75 */ bl func_802B9D34 +lbl_802BCCC4: +/* 802BCCC4 002B8924 A0 1F 00 34 */ lhz r0, 0x34(r31) +/* 802BCCC8 002B8928 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCCCC 002B892C 40 82 FF EC */ bne lbl_802BCCB8 +lbl_802BCCD0: +/* 802BCCD0 002B8930 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCCD4 002B8934 3B E3 4D E0 */ addi r31, r3, lbl_80564DE0@l +/* 802BCCD8 002B8938 A0 1F 00 44 */ lhz r0, 0x44(r31) +/* 802BCCDC 002B893C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCCE0 002B8940 41 82 00 20 */ beq lbl_802BCD00 +/* 802BCCE4 002B8944 48 00 00 10 */ b lbl_802BCCF4 +lbl_802BCCE8: +/* 802BCCE8 002B8948 38 7F 00 3C */ addi r3, r31, 0x3c +/* 802BCCEC 002B894C 4B FF D6 E5 */ bl func_802BA3D0 +/* 802BCCF0 002B8950 4B FF D0 45 */ bl func_802B9D34 +lbl_802BCCF4: +/* 802BCCF4 002B8954 A0 1F 00 44 */ lhz r0, 0x44(r31) +/* 802BCCF8 002B8958 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCCFC 002B895C 40 82 FF EC */ bne lbl_802BCCE8 +lbl_802BCD00: +/* 802BCD00 002B8960 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCD04 002B8964 3C 80 80 2C */ lis r4, lbl_802BB894@ha +/* 802BCD08 002B8968 80 63 4D E0 */ lwz r3, lbl_80564DE0@l(r3) +/* 802BCD0C 002B896C 38 84 B8 94 */ addi r4, r4, lbl_802BB894@l +/* 802BCD10 002B8970 38 A0 00 00 */ li r5, 0 +/* 802BCD14 002B8974 4B FF 73 F1 */ bl func_802B4104 +/* 802BCD18 002B8978 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BCD1C 002B897C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BCD20 002B8980 7C 08 03 A6 */ mtlr r0 +/* 802BCD24 002B8984 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BCD28 002B8988 4E 80 00 20 */ blr + +.global func_802BCD2C +func_802BCD2C: +/* 802BCD2C 002B898C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BCD30 002B8990 7C 08 02 A6 */ mflr r0 +/* 802BCD34 002B8994 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BCD38 002B8998 4B FF 71 35 */ bl func_802B3E6C +/* 802BCD3C 002B899C 4B FF E4 45 */ bl func_802BB180 +/* 802BCD40 002B89A0 3C 60 80 56 */ lis r3, lbl_80564DE0@ha +/* 802BCD44 002B89A4 38 00 00 00 */ li r0, 0 +/* 802BCD48 002B89A8 38 63 4D E0 */ addi r3, r3, lbl_80564DE0@l +/* 802BCD4C 002B89AC 38 80 00 05 */ li r4, 5 +/* 802BCD50 002B89B0 98 83 00 29 */ stb r4, 0x29(r3) +/* 802BCD54 002B89B4 98 03 00 28 */ stb r0, 0x28(r3) +/* 802BCD58 002B89B8 98 0D AE C9 */ stb r0, lbl_80640189-_SDA_BASE_(r13) +/* 802BCD5C 002B89BC 4B FF E4 01 */ bl func_802BB15C +/* 802BCD60 002B89C0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BCD64 002B89C4 7C 08 03 A6 */ mtlr r0 +/* 802BCD68 002B89C8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BCD6C 002B89CC 4E 80 00 20 */ blr + +.global func_802BCD70 +func_802BCD70: +/* 802BCD70 002B89D0 B0 83 00 00 */ sth r4, 0(r3) +/* 802BCD74 002B89D4 80 8D AE E0 */ lwz r4, lbl_806401A0-_SDA_BASE_(r13) +/* 802BCD78 002B89D8 2C 04 00 00 */ cmpwi r4, 0 +/* 802BCD7C 002B89DC 41 82 00 10 */ beq lbl_802BCD8C +/* 802BCD80 002B89E0 81 84 00 0C */ lwz r12, 0xc(r4) +/* 802BCD84 002B89E4 7D 89 03 A6 */ mtctr r12 +/* 802BCD88 002B89E8 4E 80 04 20 */ bctr +lbl_802BCD8C: +/* 802BCD8C 002B89EC 4B FF CF A8 */ b func_802B9D34 + +.global func_802BCD90 +func_802BCD90: +/* 802BCD90 002B89F0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BCD94 002B89F4 7C 08 02 A6 */ mflr r0 +/* 802BCD98 002B89F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BCD9C 002B89FC 80 6D AE E0 */ lwz r3, lbl_806401A0-_SDA_BASE_(r13) +/* 802BCDA0 002B8A00 2C 03 00 00 */ cmpwi r3, 0 +/* 802BCDA4 002B8A04 41 82 00 40 */ beq lbl_802BCDE4 +/* 802BCDA8 002B8A08 81 83 00 00 */ lwz r12, 0(r3) +/* 802BCDAC 002B8A0C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BCDB0 002B8A10 41 82 00 18 */ beq lbl_802BCDC8 +/* 802BCDB4 002B8A14 38 60 00 02 */ li r3, 2 +/* 802BCDB8 002B8A18 38 80 00 01 */ li r4, 1 +/* 802BCDBC 002B8A1C 38 A0 08 00 */ li r5, 0x800 +/* 802BCDC0 002B8A20 7D 89 03 A6 */ mtctr r12 +/* 802BCDC4 002B8A24 4E 80 04 21 */ bctrl +lbl_802BCDC8: +/* 802BCDC8 002B8A28 80 6D AE E0 */ lwz r3, lbl_806401A0-_SDA_BASE_(r13) +/* 802BCDCC 002B8A2C 81 83 00 04 */ lwz r12, 4(r3) +/* 802BCDD0 002B8A30 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BCDD4 002B8A34 41 82 00 10 */ beq lbl_802BCDE4 +/* 802BCDD8 002B8A38 80 6D AE E4 */ lwz r3, lbl_806401A4-_SDA_BASE_(r13) +/* 802BCDDC 002B8A3C 7D 89 03 A6 */ mtctr r12 +/* 802BCDE0 002B8A40 4E 80 04 21 */ bctrl +lbl_802BCDE4: +/* 802BCDE4 002B8A44 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BCDE8 002B8A48 7C 08 03 A6 */ mtlr r0 +/* 802BCDEC 002B8A4C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BCDF0 002B8A50 4E 80 00 20 */ blr + +.global func_802BCDF4 +func_802BCDF4: +/* 802BCDF4 002B8A54 80 6D AE E0 */ lwz r3, lbl_806401A0-_SDA_BASE_(r13) +/* 802BCDF8 002B8A58 2C 03 00 00 */ cmpwi r3, 0 +/* 802BCDFC 002B8A5C 4D 82 00 20 */ beqlr +/* 802BCE00 002B8A60 81 83 00 08 */ lwz r12, 8(r3) +/* 802BCE04 002B8A64 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BCE08 002B8A68 4D 82 00 20 */ beqlr +/* 802BCE0C 002B8A6C 7D 89 03 A6 */ mtctr r12 +/* 802BCE10 002B8A70 4E 80 04 20 */ bctr +/* 802BCE14 002B8A74 4E 80 00 20 */ blr +lbl_802BCE18: +/* 802BCE18 002B8A78 7C 65 1B 78 */ mr r5, r3 +/* 802BCE1C 002B8A7C 38 60 00 02 */ li r3, 2 +/* 802BCE20 002B8A80 38 80 00 00 */ li r4, 0 +/* 802BCE24 002B8A84 4B FF D0 C4 */ b func_802B9EE8 + +.global func_802BCE28 +func_802BCE28: +/* 802BCE28 002B8A88 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BCE2C 002B8A8C 7C 08 02 A6 */ mflr r0 +/* 802BCE30 002B8A90 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BCE34 002B8A94 48 01 EB 25 */ bl func_802DB958 +/* 802BCE38 002B8A98 48 01 1D F9 */ bl func_802CEC30 +/* 802BCE3C 002B8A9C 48 01 56 C9 */ bl func_802D2504 +/* 802BCE40 002B8AA0 48 01 61 49 */ bl func_802D2F88 +/* 802BCE44 002B8AA4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BCE48 002B8AA8 7C 08 03 A6 */ mtlr r0 +/* 802BCE4C 002B8AAC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BCE50 002B8AB0 4E 80 00 20 */ blr +lbl_802BCE54: +/* 802BCE54 002B8AB4 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 802BCE58 002B8AB8 7C 08 02 A6 */ mflr r0 +/* 802BCE5C 002B8ABC 90 01 00 84 */ stw r0, 0x84(r1) +/* 802BCE60 002B8AC0 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 802BCE64 002B8AC4 93 C1 00 78 */ stw r30, 0x78(r1) +/* 802BCE68 002B8AC8 40 86 00 24 */ bne cr1, lbl_802BCE8C +/* 802BCE6C 002B8ACC D8 21 00 28 */ stfd f1, 0x28(r1) +/* 802BCE70 002B8AD0 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 802BCE74 002B8AD4 D8 61 00 38 */ stfd f3, 0x38(r1) +/* 802BCE78 002B8AD8 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 802BCE7C 002B8ADC D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 802BCE80 002B8AE0 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 802BCE84 002B8AE4 D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 802BCE88 002B8AE8 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_802BCE8C: +/* 802BCE8C 002B8AEC 39 61 00 88 */ addi r11, r1, 0x88 +/* 802BCE90 002B8AF0 38 01 00 08 */ addi r0, r1, 8 +/* 802BCE94 002B8AF4 3D 80 02 00 */ lis r12, 0x200 +/* 802BCE98 002B8AF8 90 81 00 0C */ stw r4, 0xc(r1) +/* 802BCE9C 002B8AFC 3B C1 00 68 */ addi r30, r1, 0x68 +/* 802BCEA0 002B8B00 3F E0 80 56 */ lis r31, lbl_80566E40@ha +/* 802BCEA4 002B8B04 90 61 00 08 */ stw r3, 8(r1) +/* 802BCEA8 002B8B08 38 7F 6E 40 */ addi r3, r31, lbl_80566E40@l +/* 802BCEAC 002B8B0C 90 A1 00 10 */ stw r5, 0x10(r1) +/* 802BCEB0 002B8B10 7F C5 F3 78 */ mr r5, r30 +/* 802BCEB4 002B8B14 90 C1 00 14 */ stw r6, 0x14(r1) +/* 802BCEB8 002B8B18 90 E1 00 18 */ stw r7, 0x18(r1) +/* 802BCEBC 002B8B1C 91 01 00 1C */ stw r8, 0x1c(r1) +/* 802BCEC0 002B8B20 91 21 00 20 */ stw r9, 0x20(r1) +/* 802BCEC4 002B8B24 91 41 00 24 */ stw r10, 0x24(r1) +/* 802BCEC8 002B8B28 91 81 00 68 */ stw r12, 0x68(r1) +/* 802BCECC 002B8B2C 91 61 00 6C */ stw r11, 0x6c(r1) +/* 802BCED0 002B8B30 90 01 00 70 */ stw r0, 0x70(r1) +/* 802BCED4 002B8B34 4B F0 FA D1 */ bl vsprintf +/* 802BCED8 002B8B38 38 7F 6E 40 */ addi r3, r31, 0x6e40 +/* 802BCEDC 002B8B3C 38 8D 8A 18 */ addi r4, r13, lbl_8063DCD8-_SDA_BASE_ +/* 802BCEE0 002B8B40 7C 65 1B 78 */ mr r5, r3 +/* 802BCEE4 002B8B44 4C C6 31 82 */ crclr 6 +/* 802BCEE8 002B8B48 4B F0 FC 15 */ bl sprintf +/* 802BCEEC 002B8B4C 38 7F 6E 40 */ addi r3, r31, 0x6e40 +/* 802BCEF0 002B8B50 4C C6 31 82 */ crclr 6 +/* 802BCEF4 002B8B54 4B D4 AB D1 */ bl func_80007AC4 +/* 802BCEF8 002B8B58 80 01 00 84 */ lwz r0, 0x84(r1) +/* 802BCEFC 002B8B5C 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 802BCF00 002B8B60 83 C1 00 78 */ lwz r30, 0x78(r1) +/* 802BCF04 002B8B64 7C 08 03 A6 */ mtlr r0 +/* 802BCF08 002B8B68 38 21 00 80 */ addi r1, r1, 0x80 +/* 802BCF0C 002B8B6C 4E 80 00 20 */ blr + +.global func_802BCF10 +func_802BCF10: +/* 802BCF10 002B8B70 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13) +/* 802BCF14 002B8B74 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCF18 002B8B78 4C 82 00 20 */ bnelr +/* 802BCF1C 002B8B7C 4C C6 31 82 */ crclr 6 +/* 802BCF20 002B8B80 4B FF FF 34 */ b lbl_802BCE54 +/* 802BCF24 002B8B84 4E 80 00 20 */ blr + +.global func_802BCF28 +func_802BCF28: +/* 802BCF28 002B8B88 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13) +/* 802BCF2C 002B8B8C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCF30 002B8B90 4C 82 00 20 */ bnelr +/* 802BCF34 002B8B94 4C C6 31 82 */ crclr 6 +/* 802BCF38 002B8B98 4B FF FF 1C */ b lbl_802BCE54 +/* 802BCF3C 002B8B9C 4E 80 00 20 */ blr + +.global func_802BCF40 +func_802BCF40: +/* 802BCF40 002B8BA0 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13) +/* 802BCF44 002B8BA4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCF48 002B8BA8 4C 82 00 20 */ bnelr +/* 802BCF4C 002B8BAC 4C C6 31 82 */ crclr 6 +/* 802BCF50 002B8BB0 4B FF FF 04 */ b lbl_802BCE54 +/* 802BCF54 002B8BB4 4E 80 00 20 */ blr + +.global func_802BCF58 +func_802BCF58: +/* 802BCF58 002B8BB8 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13) +/* 802BCF5C 002B8BBC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCF60 002B8BC0 4C 82 00 20 */ bnelr +/* 802BCF64 002B8BC4 4C C6 31 82 */ crclr 6 +/* 802BCF68 002B8BC8 4B FF FE EC */ b lbl_802BCE54 +/* 802BCF6C 002B8BCC 4E 80 00 20 */ blr + +.global func_802BCF70 +func_802BCF70: +/* 802BCF70 002B8BD0 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13) +/* 802BCF74 002B8BD4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCF78 002B8BD8 4C 82 00 20 */ bnelr +/* 802BCF7C 002B8BDC 4C C6 31 82 */ crclr 6 +/* 802BCF80 002B8BE0 4B FF FE D4 */ b lbl_802BCE54 +/* 802BCF84 002B8BE4 4E 80 00 20 */ blr + +.global func_802BCF88 +func_802BCF88: +/* 802BCF88 002B8BE8 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13) +/* 802BCF8C 002B8BEC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCF90 002B8BF0 4C 82 00 20 */ bnelr +/* 802BCF94 002B8BF4 4C C6 31 82 */ crclr 6 +/* 802BCF98 002B8BF8 4B FF FE BC */ b lbl_802BCE54 +/* 802BCF9C 002B8BFC 4E 80 00 20 */ blr + +.global func_802BCFA0 +func_802BCFA0: +/* 802BCFA0 002B8C00 88 0D AE E8 */ lbz r0, lbl_806401A8-_SDA_BASE_(r13) +/* 802BCFA4 002B8C04 2C 00 00 00 */ cmpwi r0, 0 +/* 802BCFA8 002B8C08 4C 82 00 20 */ bnelr +/* 802BCFAC 002B8C0C 4C C6 31 82 */ crclr 6 +/* 802BCFB0 002B8C10 4B FF FE A4 */ b lbl_802BCE54 +/* 802BCFB4 002B8C14 4E 80 00 20 */ blr +lbl_802BCFB8: +/* 802BCFB8 002B8C18 3C 80 80 56 */ lis r4, lbl_80567620@ha +/* 802BCFBC 002B8C1C 3C 60 80 2C */ lis r3, lbl_802BD150@ha +/* 802BCFC0 002B8C20 38 84 76 20 */ addi r4, r4, lbl_80567620@l +/* 802BCFC4 002B8C24 38 63 D1 50 */ addi r3, r3, lbl_802BD150@l +/* 802BCFC8 002B8C28 38 84 10 00 */ addi r4, r4, 0x1000 +/* 802BCFCC 002B8C2C 4B FA E0 64 */ b OSSwitchFiber + +.global func_802BCFD0 +func_802BCFD0: +/* 802BCFD0 002B8C30 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BCFD4 002B8C34 7C 08 02 A6 */ mflr r0 +/* 802BCFD8 002B8C38 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BCFDC 002B8C3C 38 00 00 00 */ li r0, 0 +/* 802BCFE0 002B8C40 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BCFE4 002B8C44 90 0D AE EC */ stw r0, lbl_806401AC-_SDA_BASE_(r13) +/* 802BCFE8 002B8C48 4B FF DF 81 */ bl func_802BAF68 +/* 802BCFEC 002B8C4C 4B FF E1 71 */ bl func_802BB15C +/* 802BCFF0 002B8C50 48 01 1B 15 */ bl func_802CEB04 +/* 802BCFF4 002B8C54 3C 80 80 40 */ lis r4, lbl_803FDAA8@ha +/* 802BCFF8 002B8C58 38 0D 8A 20 */ addi r0, r13, lbl_8063DCE0-_SDA_BASE_ +/* 802BCFFC 002B8C5C 38 84 DA A8 */ addi r4, r4, lbl_803FDAA8@l +/* 802BD000 002B8C60 90 0D AE E4 */ stw r0, lbl_806401A4-_SDA_BASE_(r13) +/* 802BD004 002B8C64 38 60 00 00 */ li r3, 0 +/* 802BD008 002B8C68 90 8D AE E0 */ stw r4, lbl_806401A0-_SDA_BASE_(r13) +/* 802BD00C 002B8C6C 4B FF FD 85 */ bl func_802BCD90 +/* 802BD010 002B8C70 48 00 00 0C */ b lbl_802BD01C +lbl_802BD014: +/* 802BD014 002B8C74 38 60 00 64 */ li r3, 0x64 +/* 802BD018 002B8C78 4B FF E0 95 */ bl func_802BB0AC +lbl_802BD01C: +/* 802BD01C 002B8C7C 80 0D 89 C8 */ lwz r0, lbl_8063DC88-_SDA_BASE_(r13) +/* 802BD020 002B8C80 2C 00 00 00 */ cmpwi r0, 0 +/* 802BD024 002B8C84 40 82 FF F0 */ bne lbl_802BD014 +/* 802BD028 002B8C88 48 00 00 E9 */ bl func_802BD110 +/* 802BD02C 002B8C8C 3F E0 80 57 */ lis r31, lbl_80568620@ha +/* 802BD030 002B8C90 38 7F 86 20 */ addi r3, r31, lbl_80568620@l +/* 802BD034 002B8C94 4B FA C6 F1 */ bl OSCreateAlarm +/* 802BD038 002B8C98 4B FB 57 81 */ bl OSGetTime +/* 802BD03C 002B8C9C 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 802BD040 002B8CA0 3D 20 80 2C */ lis r9, lbl_802BCFB8@ha +/* 802BD044 002B8CA4 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 802BD048 002B8CA8 3C C0 10 62 */ lis r6, 0x10624DD3@ha +/* 802BD04C 002B8CAC 7C 65 1B 78 */ mr r5, r3 +/* 802BD050 002B8CB0 39 29 CF B8 */ addi r9, r9, lbl_802BCFB8@l +/* 802BD054 002B8CB4 38 66 4D D3 */ addi r3, r6, 0x10624DD3@l +/* 802BD058 002B8CB8 54 00 F0 BE */ srwi r0, r0, 2 +/* 802BD05C 002B8CBC 7C 03 00 16 */ mulhwu r0, r3, r0 +/* 802BD060 002B8CC0 7C 86 23 78 */ mr r6, r4 +/* 802BD064 002B8CC4 38 7F 86 20 */ addi r3, r31, -31200 +/* 802BD068 002B8CC8 38 E0 00 00 */ li r7, 0 +/* 802BD06C 002B8CCC 54 08 D9 7C */ rlwinm r8, r0, 0x1b, 5, 0x1e +/* 802BD070 002B8CD0 4B FA C9 85 */ bl OSSetPeriodicAlarm +/* 802BD074 002B8CD4 38 60 00 00 */ li r3, 0 +/* 802BD078 002B8CD8 4B FF E0 29 */ bl func_802BB0A0 +/* 802BD07C 002B8CDC 48 00 00 0C */ b lbl_802BD088 +lbl_802BD080: +/* 802BD080 002B8CE0 38 60 07 D0 */ li r3, 0x7d0 +/* 802BD084 002B8CE4 4B FF E0 29 */ bl func_802BB0AC +lbl_802BD088: +/* 802BD088 002B8CE8 48 00 30 65 */ bl func_802C00EC +/* 802BD08C 002B8CEC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802BD090 002B8CF0 41 82 FF F0 */ beq lbl_802BD080 +/* 802BD094 002B8CF4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BD098 002B8CF8 38 60 00 00 */ li r3, 0 +/* 802BD09C 002B8CFC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BD0A0 002B8D00 7C 08 03 A6 */ mtlr r0 +/* 802BD0A4 002B8D04 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BD0A8 002B8D08 4E 80 00 20 */ blr + +.global func_802BD0AC +func_802BD0AC: +/* 802BD0AC 002B8D0C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BD0B0 002B8D10 7C 08 02 A6 */ mflr r0 +/* 802BD0B4 002B8D14 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BD0B8 002B8D18 90 6D AE EC */ stw r3, lbl_806401AC-_SDA_BASE_(r13) +/* 802BD0BC 002B8D1C 3C 60 80 57 */ lis r3, lbl_80568620@ha +/* 802BD0C0 002B8D20 38 63 86 20 */ addi r3, r3, lbl_80568620@l +/* 802BD0C4 002B8D24 4B FA C9 B5 */ bl OSCancelAlarm +/* 802BD0C8 002B8D28 4B FF FD 2D */ bl func_802BCDF4 +/* 802BD0CC 002B8D2C 4B FF DF 2D */ bl func_802BAFF8 +/* 802BD0D0 002B8D30 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BD0D4 002B8D34 7C 08 03 A6 */ mtlr r0 +/* 802BD0D8 002B8D38 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BD0DC 002B8D3C 4E 80 00 20 */ blr +lbl_802BD0E0: +/* 802BD0E0 002B8D40 81 8D AE EC */ lwz r12, lbl_806401AC-_SDA_BASE_(r13) +/* 802BD0E4 002B8D44 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD0E8 002B8D48 4D 82 00 20 */ beqlr +/* 802BD0EC 002B8D4C 7C 60 07 75 */ extsb. r0, r3 +/* 802BD0F0 002B8D50 41 80 00 10 */ blt lbl_802BD100 +/* 802BD0F4 002B8D54 38 60 00 00 */ li r3, 0 +/* 802BD0F8 002B8D58 7D 89 03 A6 */ mtctr r12 +/* 802BD0FC 002B8D5C 4E 80 04 20 */ bctr +lbl_802BD100: +/* 802BD100 002B8D60 38 60 00 01 */ li r3, 1 +/* 802BD104 002B8D64 7D 89 03 A6 */ mtctr r12 +/* 802BD108 002B8D68 4E 80 04 20 */ bctr +/* 802BD10C 002B8D6C 4E 80 00 20 */ blr + +.global func_802BD110 +func_802BD110: +/* 802BD110 002B8D70 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BD114 002B8D74 7C 08 02 A6 */ mflr r0 +/* 802BD118 002B8D78 38 60 00 01 */ li r3, 1 +/* 802BD11C 002B8D7C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BD120 002B8D80 38 00 00 00 */ li r0, 0 +/* 802BD124 002B8D84 98 6D 8A 28 */ stb r3, lbl_8063DCE8-_SDA_BASE_(r13) +/* 802BD128 002B8D88 90 6D 8A 2C */ stw r3, lbl_8063DCEC-_SDA_BASE_(r13) +/* 802BD12C 002B8D8C 90 0D AE F0 */ stw r0, lbl_806401B0-_SDA_BASE_(r13) +/* 802BD130 002B8D90 90 0D AE F4 */ stw r0, lbl_806401B4-_SDA_BASE_(r13) +/* 802BD134 002B8D94 48 01 19 A5 */ bl func_802CEAD8 +/* 802BD138 002B8D98 4B FF FC F1 */ bl func_802BCE28 +/* 802BD13C 002B8D9C 48 00 07 4D */ bl func_802BD888 +/* 802BD140 002B8DA0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BD144 002B8DA4 7C 08 03 A6 */ mtlr r0 +/* 802BD148 002B8DA8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BD14C 002B8DAC 4E 80 00 20 */ blr +lbl_802BD150: +/* 802BD150 002B8DB0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BD154 002B8DB4 7C 08 02 A6 */ mflr r0 +/* 802BD158 002B8DB8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BD15C 002B8DBC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BD160 002B8DC0 4B F0 9F C5 */ bl _savegpr_26 +/* 802BD164 002B8DC4 3B C0 00 00 */ li r30, 0 +/* 802BD168 002B8DC8 4B FB 56 51 */ bl OSGetTime +/* 802BD16C 002B8DCC 80 6D AE F0 */ lwz r3, lbl_806401B0-_SDA_BASE_(r13) +/* 802BD170 002B8DD0 38 03 00 01 */ addi r0, r3, 1 +/* 802BD174 002B8DD4 90 0D AE F0 */ stw r0, lbl_806401B0-_SDA_BASE_(r13) +/* 802BD178 002B8DD8 4B FF E0 09 */ bl func_802BB180 +/* 802BD17C 002B8DDC 80 0D 8A 2C */ lwz r0, lbl_8063DCEC-_SDA_BASE_(r13) +/* 802BD180 002B8DE0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BD184 002B8DE4 41 82 00 18 */ beq lbl_802BD19C +/* 802BD188 002B8DE8 38 60 00 00 */ li r3, 0 +/* 802BD18C 002B8DEC 38 00 00 01 */ li r0, 1 +/* 802BD190 002B8DF0 90 6D 8A 2C */ stw r3, lbl_8063DCEC-_SDA_BASE_(r13) +/* 802BD194 002B8DF4 98 0D 8A 28 */ stb r0, lbl_8063DCE8-_SDA_BASE_(r13) +/* 802BD198 002B8DF8 48 00 00 18 */ b lbl_802BD1B0 +lbl_802BD19C: +/* 802BD19C 002B8DFC 88 6D 8A 28 */ lbz r3, lbl_8063DCE8-_SDA_BASE_(r13) +/* 802BD1A0 002B8E00 38 03 00 01 */ addi r0, r3, 1 +/* 802BD1A4 002B8E04 98 0D 8A 28 */ stb r0, lbl_8063DCE8-_SDA_BASE_(r13) +/* 802BD1A8 002B8E08 4B FF DF B5 */ bl func_802BB15C +/* 802BD1AC 002B8E0C 48 00 03 18 */ b lbl_802BD4C4 +lbl_802BD1B0: +/* 802BD1B0 002B8E10 4B FF DF AD */ bl func_802BB15C +/* 802BD1B4 002B8E14 80 6D AE F4 */ lwz r3, lbl_806401B4-_SDA_BASE_(r13) +/* 802BD1B8 002B8E18 3B E0 00 05 */ li r31, 5 +/* 802BD1BC 002B8E1C 80 8D AE F0 */ lwz r4, lbl_806401B0-_SDA_BASE_(r13) +/* 802BD1C0 002B8E20 38 03 01 F4 */ addi r0, r3, 0x1f4 +/* 802BD1C4 002B8E24 7C 04 00 40 */ cmplw r4, r0 +/* 802BD1C8 002B8E28 40 81 00 0C */ ble lbl_802BD1D4 +/* 802BD1CC 002B8E2C 90 8D AE F4 */ stw r4, lbl_806401B4-_SDA_BASE_(r13) +/* 802BD1D0 002B8E30 63 FF 00 30 */ ori r31, r31, 0x30 +lbl_802BD1D4: +/* 802BD1D4 002B8E34 3C 60 80 57 */ lis r3, lbl_80568650@ha +/* 802BD1D8 002B8E38 3B A3 86 50 */ addi r29, r3, lbl_80568650@l +/* 802BD1DC 002B8E3C 48 00 02 D8 */ b lbl_802BD4B4 +lbl_802BD1E0: +/* 802BD1E0 002B8E40 57 E0 07 FF */ clrlwi. r0, r31, 0x1f +/* 802BD1E4 002B8E44 3B C0 00 01 */ li r30, 1 +/* 802BD1E8 002B8E48 41 82 01 10 */ beq lbl_802BD2F8 +/* 802BD1EC 002B8E4C 48 00 00 F8 */ b lbl_802BD2E4 +lbl_802BD1F0: +/* 802BD1F0 002B8E50 A0 03 00 00 */ lhz r0, 0(r3) +/* 802BD1F4 002B8E54 3B C0 00 00 */ li r30, 0 +/* 802BD1F8 002B8E58 54 1C 04 2E */ rlwinm r28, r0, 0, 0x10, 0x17 +/* 802BD1FC 002B8E5C 2C 1C 12 00 */ cmpwi r28, 0x1200 +/* 802BD200 002B8E60 41 82 00 50 */ beq lbl_802BD250 +/* 802BD204 002B8E64 40 80 00 1C */ bge lbl_802BD220 +/* 802BD208 002B8E68 2C 1C 11 00 */ cmpwi r28, 0x1100 +/* 802BD20C 002B8E6C 41 82 00 2C */ beq lbl_802BD238 +/* 802BD210 002B8E70 40 80 00 6C */ bge lbl_802BD27C +/* 802BD214 002B8E74 2C 1C 10 00 */ cmpwi r28, 0x1000 +/* 802BD218 002B8E78 41 82 00 44 */ beq lbl_802BD25C +/* 802BD21C 002B8E7C 48 00 00 60 */ b lbl_802BD27C +lbl_802BD220: +/* 802BD220 002B8E80 2C 1C 19 00 */ cmpwi r28, 0x1900 +/* 802BD224 002B8E84 41 82 00 20 */ beq lbl_802BD244 +/* 802BD228 002B8E88 40 80 00 54 */ bge lbl_802BD27C +/* 802BD22C 002B8E8C 2C 1C 16 00 */ cmpwi r28, 0x1600 +/* 802BD230 002B8E90 41 82 00 40 */ beq lbl_802BD270 +/* 802BD234 002B8E94 48 00 00 48 */ b lbl_802BD27C +lbl_802BD238: +/* 802BD238 002B8E98 7F 63 DB 78 */ mr r3, r27 +/* 802BD23C 002B8E9C 48 01 B9 3D */ bl func_802D8B78 +/* 802BD240 002B8EA0 48 00 00 A4 */ b lbl_802BD2E4 +lbl_802BD244: +/* 802BD244 002B8EA4 7F 63 DB 78 */ mr r3, r27 +/* 802BD248 002B8EA8 48 01 B6 FD */ bl func_802D8944 +/* 802BD24C 002B8EAC 48 00 00 98 */ b lbl_802BD2E4 +lbl_802BD250: +/* 802BD250 002B8EB0 7F 63 DB 78 */ mr r3, r27 +/* 802BD254 002B8EB4 48 00 D2 5D */ bl func_802CA4B0 +/* 802BD258 002B8EB8 48 00 00 8C */ b lbl_802BD2E4 +lbl_802BD25C: +/* 802BD25C 002B8EBC 7F 63 DB 78 */ mr r3, r27 +/* 802BD260 002B8EC0 48 01 06 1D */ bl func_802CD87C +/* 802BD264 002B8EC4 7F 63 DB 78 */ mr r3, r27 +/* 802BD268 002B8EC8 4B FF CA CD */ bl func_802B9D34 +/* 802BD26C 002B8ECC 48 00 00 78 */ b lbl_802BD2E4 +lbl_802BD270: +/* 802BD270 002B8ED0 7F 63 DB 78 */ mr r3, r27 +/* 802BD274 002B8ED4 48 01 0B C1 */ bl func_802CDE34 +/* 802BD278 002B8ED8 48 00 00 6C */ b lbl_802BD2E4 +lbl_802BD27C: +/* 802BD27C 002B8EDC 3B 40 00 00 */ li r26, 0 +/* 802BD280 002B8EE0 38 80 00 00 */ li r4, 0 +/* 802BD284 002B8EE4 48 00 00 3C */ b lbl_802BD2C0 +lbl_802BD288: +/* 802BD288 002B8EE8 57 40 1D 78 */ rlwinm r0, r26, 3, 0x15, 0x1c +/* 802BD28C 002B8EEC 7C 7D 02 14 */ add r3, r29, r0 +/* 802BD290 002B8EF0 81 83 00 14 */ lwz r12, 0x14(r3) +/* 802BD294 002B8EF4 2C 8C 00 00 */ cmpwi cr1, r12, 0 +/* 802BD298 002B8EF8 41 86 00 24 */ beq cr1, lbl_802BD2BC +/* 802BD29C 002B8EFC A0 03 00 10 */ lhz r0, 0x10(r3) +/* 802BD2A0 002B8F00 7C 1C 00 40 */ cmplw r28, r0 +/* 802BD2A4 002B8F04 40 82 00 18 */ bne lbl_802BD2BC +/* 802BD2A8 002B8F08 41 86 00 14 */ beq cr1, lbl_802BD2BC +/* 802BD2AC 002B8F0C 7F 63 DB 78 */ mr r3, r27 +/* 802BD2B0 002B8F10 7D 89 03 A6 */ mtctr r12 +/* 802BD2B4 002B8F14 4E 80 04 21 */ bctrl +/* 802BD2B8 002B8F18 38 80 00 01 */ li r4, 1 +lbl_802BD2BC: +/* 802BD2BC 002B8F1C 3B 5A 00 01 */ addi r26, r26, 1 +lbl_802BD2C0: +/* 802BD2C0 002B8F20 2C 04 00 00 */ cmpwi r4, 0 +/* 802BD2C4 002B8F24 40 82 00 10 */ bne lbl_802BD2D4 +/* 802BD2C8 002B8F28 57 40 06 3E */ clrlwi r0, r26, 0x18 +/* 802BD2CC 002B8F2C 28 00 00 06 */ cmplwi r0, 6 +/* 802BD2D0 002B8F30 41 80 FF B8 */ blt lbl_802BD288 +lbl_802BD2D4: +/* 802BD2D4 002B8F34 2C 04 00 00 */ cmpwi r4, 0 +/* 802BD2D8 002B8F38 40 82 00 0C */ bne lbl_802BD2E4 +/* 802BD2DC 002B8F3C 7F 63 DB 78 */ mr r3, r27 +/* 802BD2E0 002B8F40 4B FF CA 55 */ bl func_802B9D34 +lbl_802BD2E4: +/* 802BD2E4 002B8F44 38 60 00 00 */ li r3, 0 +/* 802BD2E8 002B8F48 4B FF CD BD */ bl func_802BA0A4 +/* 802BD2EC 002B8F4C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BD2F0 002B8F50 7C 7B 1B 78 */ mr r27, r3 +/* 802BD2F4 002B8F54 40 82 FE FC */ bne lbl_802BD1F0 +lbl_802BD2F8: +/* 802BD2F8 002B8F58 57 E0 06 F7 */ rlwinm. r0, r31, 0, 0x1b, 0x1b +/* 802BD2FC 002B8F5C 41 82 01 78 */ beq lbl_802BD474 +/* 802BD300 002B8F60 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802BD304 002B8F64 38 80 00 01 */ li r4, 1 +/* 802BD308 002B8F68 4B FF D9 C5 */ bl func_802BACCC +/* 802BD30C 002B8F6C 57 E0 07 34 */ rlwinm r0, r31, 0, 0x1c, 0x1a +/* 802BD310 002B8F70 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 802BD314 002B8F74 48 00 01 48 */ b lbl_802BD45C +lbl_802BD318: +/* 802BD318 002B8F78 7F 84 E3 78 */ mr r4, r28 +/* 802BD31C 002B8F7C 38 7D 00 40 */ addi r3, r29, 0x40 +/* 802BD320 002B8F80 3B C0 00 00 */ li r30, 0 +/* 802BD324 002B8F84 4B FF DB 21 */ bl func_802BAE44 +/* 802BD328 002B8F88 A0 1C 00 14 */ lhz r0, 0x14(r28) +/* 802BD32C 002B8F8C 2C 00 00 0A */ cmpwi r0, 0xa +/* 802BD330 002B8F90 41 82 00 94 */ beq lbl_802BD3C4 +/* 802BD334 002B8F94 40 80 00 30 */ bge lbl_802BD364 +/* 802BD338 002B8F98 2C 00 00 05 */ cmpwi r0, 5 +/* 802BD33C 002B8F9C 41 82 00 7C */ beq lbl_802BD3B8 +/* 802BD340 002B8FA0 40 80 00 14 */ bge lbl_802BD354 +/* 802BD344 002B8FA4 2C 00 00 01 */ cmpwi r0, 1 +/* 802BD348 002B8FA8 41 82 00 4C */ beq lbl_802BD394 +/* 802BD34C 002B8FAC 40 80 00 60 */ bge lbl_802BD3AC +/* 802BD350 002B8FB0 48 00 00 B8 */ b lbl_802BD408 +lbl_802BD354: +/* 802BD354 002B8FB4 2C 00 00 08 */ cmpwi r0, 8 +/* 802BD358 002B8FB8 41 82 00 74 */ beq lbl_802BD3CC +/* 802BD35C 002B8FBC 40 80 00 44 */ bge lbl_802BD3A0 +/* 802BD360 002B8FC0 48 00 00 A8 */ b lbl_802BD408 +lbl_802BD364: +/* 802BD364 002B8FC4 2C 00 00 3C */ cmpwi r0, 0x3c +/* 802BD368 002B8FC8 41 82 00 78 */ beq lbl_802BD3E0 +/* 802BD36C 002B8FCC 40 80 00 1C */ bge lbl_802BD388 +/* 802BD370 002B8FD0 2C 00 00 16 */ cmpwi r0, 0x16 +/* 802BD374 002B8FD4 41 82 00 80 */ beq lbl_802BD3F4 +/* 802BD378 002B8FD8 40 80 00 90 */ bge lbl_802BD408 +/* 802BD37C 002B8FDC 2C 00 00 0D */ cmpwi r0, 0xd +/* 802BD380 002B8FE0 40 80 00 88 */ bge lbl_802BD408 +/* 802BD384 002B8FE4 48 00 00 50 */ b lbl_802BD3D4 +lbl_802BD388: +/* 802BD388 002B8FE8 2C 00 00 42 */ cmpwi r0, 0x42 +/* 802BD38C 002B8FEC 41 82 00 5C */ beq lbl_802BD3E8 +/* 802BD390 002B8FF0 48 00 00 78 */ b lbl_802BD408 +lbl_802BD394: +/* 802BD394 002B8FF4 7F 83 E3 78 */ mr r3, r28 +/* 802BD398 002B8FF8 48 00 88 45 */ bl func_802C5BDC +/* 802BD39C 002B8FFC 48 00 00 C0 */ b lbl_802BD45C +lbl_802BD3A0: +/* 802BD3A0 002B9000 7F 83 E3 78 */ mr r3, r28 +/* 802BD3A4 002B9004 48 00 73 2D */ bl func_802C46D0 +/* 802BD3A8 002B9008 48 00 00 B4 */ b lbl_802BD45C +lbl_802BD3AC: +/* 802BD3AC 002B900C 7F 83 E3 78 */ mr r3, r28 +/* 802BD3B0 002B9010 48 01 C5 69 */ bl func_802D9918 +/* 802BD3B4 002B9014 48 00 00 A8 */ b lbl_802BD45C +lbl_802BD3B8: +/* 802BD3B8 002B9018 80 7C 00 10 */ lwz r3, 0x10(r28) +/* 802BD3BC 002B901C 48 02 82 BD */ bl func_802E5678 +/* 802BD3C0 002B9020 48 00 00 9C */ b lbl_802BD45C +lbl_802BD3C4: +/* 802BD3C4 002B9024 48 00 B9 8D */ bl func_802C8D50 +/* 802BD3C8 002B9028 48 00 00 94 */ b lbl_802BD45C +lbl_802BD3CC: +/* 802BD3CC 002B902C 48 00 9F 29 */ bl func_802C72F4 +/* 802BD3D0 002B9030 48 00 00 8C */ b lbl_802BD45C +lbl_802BD3D4: +/* 802BD3D4 002B9034 7F 83 E3 78 */ mr r3, r28 +/* 802BD3D8 002B9038 48 02 46 FD */ bl func_802E1AD4 +/* 802BD3DC 002B903C 48 00 00 80 */ b lbl_802BD45C +lbl_802BD3E0: +/* 802BD3E0 002B9040 48 01 14 C1 */ bl func_802CE8A0 +/* 802BD3E4 002B9044 48 00 00 78 */ b lbl_802BD45C +lbl_802BD3E8: +/* 802BD3E8 002B9048 7F 83 E3 78 */ mr r3, r28 +/* 802BD3EC 002B904C 48 01 69 89 */ bl func_802D3D74 +/* 802BD3F0 002B9050 48 00 00 6C */ b lbl_802BD45C +lbl_802BD3F4: +/* 802BD3F4 002B9054 81 9C 00 10 */ lwz r12, 0x10(r28) +/* 802BD3F8 002B9058 7F 83 E3 78 */ mr r3, r28 +/* 802BD3FC 002B905C 7D 89 03 A6 */ mtctr r12 +/* 802BD400 002B9060 4E 80 04 21 */ bctrl +/* 802BD404 002B9064 48 00 00 58 */ b lbl_802BD45C +lbl_802BD408: +/* 802BD408 002B9068 3B 60 00 00 */ li r27, 0 +/* 802BD40C 002B906C 38 80 00 00 */ li r4, 0 +/* 802BD410 002B9070 48 00 00 38 */ b lbl_802BD448 +lbl_802BD414: +/* 802BD414 002B9074 57 60 1D 78 */ rlwinm r0, r27, 3, 0x15, 0x1c +/* 802BD418 002B9078 7C 7D 02 14 */ add r3, r29, r0 +/* 802BD41C 002B907C 81 83 00 04 */ lwz r12, 4(r3) +/* 802BD420 002B9080 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD424 002B9084 41 82 00 20 */ beq lbl_802BD444 +/* 802BD428 002B9088 80 03 00 00 */ lwz r0, 0(r3) +/* 802BD42C 002B908C 7C 00 E0 40 */ cmplw r0, r28 +/* 802BD430 002B9090 40 82 00 14 */ bne lbl_802BD444 +/* 802BD434 002B9094 7F 83 E3 78 */ mr r3, r28 +/* 802BD438 002B9098 7D 89 03 A6 */ mtctr r12 +/* 802BD43C 002B909C 4E 80 04 21 */ bctrl +/* 802BD440 002B90A0 38 80 00 01 */ li r4, 1 +lbl_802BD444: +/* 802BD444 002B90A4 3B 7B 00 01 */ addi r27, r27, 1 +lbl_802BD448: +/* 802BD448 002B90A8 2C 04 00 00 */ cmpwi r4, 0 +/* 802BD44C 002B90AC 40 82 00 10 */ bne lbl_802BD45C +/* 802BD450 002B90B0 57 60 06 3E */ clrlwi r0, r27, 0x18 +/* 802BD454 002B90B4 28 00 00 02 */ cmplwi r0, 2 +/* 802BD458 002B90B8 41 80 FF BC */ blt lbl_802BD414 +lbl_802BD45C: +/* 802BD45C 002B90BC 83 9D 00 40 */ lwz r28, 0x40(r29) +/* 802BD460 002B90C0 2C 1C 00 00 */ cmpwi r28, 0 +/* 802BD464 002B90C4 41 82 00 10 */ beq lbl_802BD474 +/* 802BD468 002B90C8 80 1C 00 0C */ lwz r0, 0xc(r28) +/* 802BD46C 002B90CC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BD470 002B90D0 41 82 FE A8 */ beq lbl_802BD318 +lbl_802BD474: +/* 802BD474 002B90D4 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d +/* 802BD478 002B90D8 41 82 00 20 */ beq lbl_802BD498 +/* 802BD47C 002B90DC 48 00 00 0C */ b lbl_802BD488 +lbl_802BD480: +/* 802BD480 002B90E0 3B C0 00 00 */ li r30, 0 +/* 802BD484 002B90E4 48 00 04 69 */ bl func_802BD8EC +lbl_802BD488: +/* 802BD488 002B90E8 38 60 00 02 */ li r3, 2 +/* 802BD48C 002B90EC 4B FF CC 19 */ bl func_802BA0A4 +/* 802BD490 002B90F0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BD494 002B90F4 40 82 FF EC */ bne lbl_802BD480 +lbl_802BD498: +/* 802BD498 002B90F8 57 E0 06 B5 */ rlwinm. r0, r31, 0, 0x1a, 0x1a +/* 802BD49C 002B90FC 41 82 00 10 */ beq lbl_802BD4AC +/* 802BD4A0 002B9100 57 E0 06 F2 */ rlwinm r0, r31, 0, 0x1b, 0x19 +/* 802BD4A4 002B9104 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 802BD4A8 002B9108 48 00 05 31 */ bl func_802BD9D8 +lbl_802BD4AC: +/* 802BD4AC 002B910C 57 E0 04 21 */ rlwinm. r0, r31, 0, 0x10, 0x10 +/* 802BD4B0 002B9110 40 82 00 0C */ bne lbl_802BD4BC +lbl_802BD4B4: +/* 802BD4B4 002B9114 2C 1E 00 00 */ cmpwi r30, 0 +/* 802BD4B8 002B9118 41 82 FD 28 */ beq lbl_802BD1E0 +lbl_802BD4BC: +/* 802BD4BC 002B911C 38 00 00 01 */ li r0, 1 +/* 802BD4C0 002B9120 90 0D 8A 2C */ stw r0, lbl_8063DCEC-_SDA_BASE_(r13) +lbl_802BD4C4: +/* 802BD4C4 002B9124 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BD4C8 002B9128 4B F0 9C A9 */ bl _restgpr_26 +/* 802BD4CC 002B912C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BD4D0 002B9130 7C 08 03 A6 */ mtlr r0 +/* 802BD4D4 002B9134 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BD4D8 002B9138 4E 80 00 20 */ blr + +.global func_802BD4DC +func_802BD4DC: +/* 802BD4DC 002B913C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BD4E0 002B9140 7C 08 02 A6 */ mflr r0 +/* 802BD4E4 002B9144 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BD4E8 002B9148 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BD4EC 002B914C 3F E0 80 57 */ lis r31, lbl_80568650@ha +/* 802BD4F0 002B9150 3B FF 86 50 */ addi r31, r31, lbl_80568650@l +/* 802BD4F4 002B9154 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BD4F8 002B9158 7C BE 2B 78 */ mr r30, r5 +/* 802BD4FC 002B915C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BD500 002B9160 7C 9D 23 78 */ mr r29, r4 +/* 802BD504 002B9164 93 81 00 10 */ stw r28, 0x10(r1) +/* 802BD508 002B9168 7C 7C 1B 78 */ mr r28, r3 +/* 802BD50C 002B916C 7F 84 E3 78 */ mr r4, r28 +/* 802BD510 002B9170 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802BD514 002B9174 4B FF D9 31 */ bl func_802BAE44 +/* 802BD518 002B9178 B3 BC 00 14 */ sth r29, 0x14(r28) +/* 802BD51C 002B917C 7F 84 E3 78 */ mr r4, r28 +/* 802BD520 002B9180 38 7F 00 40 */ addi r3, r31, 0x40 +/* 802BD524 002B9184 93 DC 00 0C */ stw r30, 0xc(r28) +/* 802BD528 002B9188 4B FF D8 31 */ bl func_802BAD58 +/* 802BD52C 002B918C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BD530 002B9190 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BD534 002B9194 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BD538 002B9198 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BD53C 002B919C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802BD540 002B91A0 7C 08 03 A6 */ mtlr r0 +/* 802BD544 002B91A4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BD548 002B91A8 4E 80 00 20 */ blr + +.global func_802BD54C +func_802BD54C: +/* 802BD54C 002B91AC 3C A0 80 57 */ lis r5, lbl_80568650@ha +/* 802BD550 002B91B0 7C 64 1B 78 */ mr r4, r3 +/* 802BD554 002B91B4 38 A5 86 50 */ addi r5, r5, lbl_80568650@l +/* 802BD558 002B91B8 38 65 00 40 */ addi r3, r5, 0x40 +/* 802BD55C 002B91BC 4B FF D8 E8 */ b func_802BAE44 + +.global func_802BD560 +func_802BD560: +/* 802BD560 002B91C0 89 24 00 00 */ lbz r9, 0(r4) +/* 802BD564 002B91C4 89 04 00 01 */ lbz r8, 1(r4) +/* 802BD568 002B91C8 88 E4 00 02 */ lbz r7, 2(r4) +/* 802BD56C 002B91CC 88 C4 00 03 */ lbz r6, 3(r4) +/* 802BD570 002B91D0 88 A4 00 04 */ lbz r5, 4(r4) +/* 802BD574 002B91D4 88 04 00 05 */ lbz r0, 5(r4) +/* 802BD578 002B91D8 99 23 00 00 */ stb r9, 0(r3) +/* 802BD57C 002B91DC 99 03 00 01 */ stb r8, 1(r3) +/* 802BD580 002B91E0 98 E3 00 02 */ stb r7, 2(r3) +/* 802BD584 002B91E4 98 C3 00 03 */ stb r6, 3(r3) +/* 802BD588 002B91E8 98 A3 00 04 */ stb r5, 4(r3) +/* 802BD58C 002B91EC 98 03 00 05 */ stb r0, 5(r3) +/* 802BD590 002B91F0 4E 80 00 20 */ blr + +.global func_802BD594 +func_802BD594: +/* 802BD594 002B91F4 88 A3 00 00 */ lbz r5, 0(r3) +/* 802BD598 002B91F8 88 04 00 00 */ lbz r0, 0(r4) +/* 802BD59C 002B91FC 7C 05 00 40 */ cmplw r5, r0 +/* 802BD5A0 002B9200 41 82 00 0C */ beq lbl_802BD5AC +/* 802BD5A4 002B9204 38 60 FF FF */ li r3, -1 +/* 802BD5A8 002B9208 4E 80 00 20 */ blr +lbl_802BD5AC: +/* 802BD5AC 002B920C 88 A3 00 01 */ lbz r5, 1(r3) +/* 802BD5B0 002B9210 38 C3 00 02 */ addi r6, r3, 2 +/* 802BD5B4 002B9214 88 04 00 01 */ lbz r0, 1(r4) +/* 802BD5B8 002B9218 38 64 00 02 */ addi r3, r4, 2 +/* 802BD5BC 002B921C 7C 05 00 40 */ cmplw r5, r0 +/* 802BD5C0 002B9220 41 82 00 0C */ beq lbl_802BD5CC +/* 802BD5C4 002B9224 38 60 FF FF */ li r3, -1 +/* 802BD5C8 002B9228 4E 80 00 20 */ blr +lbl_802BD5CC: +/* 802BD5CC 002B922C 88 A6 00 00 */ lbz r5, 0(r6) +/* 802BD5D0 002B9230 88 03 00 00 */ lbz r0, 0(r3) +/* 802BD5D4 002B9234 7C 05 00 40 */ cmplw r5, r0 +/* 802BD5D8 002B9238 41 82 00 0C */ beq lbl_802BD5E4 +/* 802BD5DC 002B923C 38 60 FF FF */ li r3, -1 +/* 802BD5E0 002B9240 4E 80 00 20 */ blr +lbl_802BD5E4: +/* 802BD5E4 002B9244 88 A6 00 01 */ lbz r5, 1(r6) +/* 802BD5E8 002B9248 88 03 00 01 */ lbz r0, 1(r3) +/* 802BD5EC 002B924C 7C 05 00 40 */ cmplw r5, r0 +/* 802BD5F0 002B9250 41 82 00 0C */ beq lbl_802BD5FC +/* 802BD5F4 002B9254 38 60 FF FF */ li r3, -1 +/* 802BD5F8 002B9258 4E 80 00 20 */ blr +lbl_802BD5FC: +/* 802BD5FC 002B925C 88 A6 00 02 */ lbz r5, 2(r6) +/* 802BD600 002B9260 88 03 00 02 */ lbz r0, 2(r3) +/* 802BD604 002B9264 7C 05 00 40 */ cmplw r5, r0 +/* 802BD608 002B9268 41 82 00 0C */ beq lbl_802BD614 +/* 802BD60C 002B926C 38 60 FF FF */ li r3, -1 +/* 802BD610 002B9270 4E 80 00 20 */ blr +lbl_802BD614: +/* 802BD614 002B9274 88 A6 00 03 */ lbz r5, 3(r6) +/* 802BD618 002B9278 88 03 00 03 */ lbz r0, 3(r3) +/* 802BD61C 002B927C 7C 05 00 40 */ cmplw r5, r0 +/* 802BD620 002B9280 41 82 00 0C */ beq lbl_802BD62C +/* 802BD624 002B9284 38 60 FF FF */ li r3, -1 +/* 802BD628 002B9288 4E 80 00 20 */ blr +lbl_802BD62C: +/* 802BD62C 002B928C 38 60 00 00 */ li r3, 0 +/* 802BD630 002B9290 4E 80 00 20 */ blr + +.global func_802BD634 +func_802BD634: +/* 802BD634 002B9294 3C 80 80 57 */ lis r4, lbl_805686D8@ha +/* 802BD638 002B9298 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l +/* 802BD63C 002B929C 90 64 00 80 */ stw r3, 0x80(r4) +/* 802BD640 002B92A0 4E 80 00 20 */ blr + +.global func_802BD644 +func_802BD644: +/* 802BD644 002B92A4 3C 80 80 57 */ lis r4, lbl_805686D8@ha +/* 802BD648 002B92A8 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l +/* 802BD64C 002B92AC 90 64 00 88 */ stw r3, 0x88(r4) +/* 802BD650 002B92B0 4E 80 00 20 */ blr + +.global func_802BD654 +func_802BD654: +/* 802BD654 002B92B4 3C 80 80 57 */ lis r4, lbl_805686D8@ha +/* 802BD658 002B92B8 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l +/* 802BD65C 002B92BC 90 64 00 84 */ stw r3, 0x84(r4) +/* 802BD660 002B92C0 4E 80 00 20 */ blr + +.global func_802BD664 +func_802BD664: +/* 802BD664 002B92C4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BD668 002B92C8 7C 08 02 A6 */ mflr r0 +/* 802BD66C 002B92CC 3C C0 80 57 */ lis r6, lbl_805686D8@ha +/* 802BD670 002B92D0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BD674 002B92D4 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l +/* 802BD678 002B92D8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BD67C 002B92DC 7C BF 2B 78 */ mr r31, r5 +/* 802BD680 002B92E0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BD684 002B92E4 7C 9E 23 78 */ mr r30, r4 +/* 802BD688 002B92E8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BD68C 002B92EC 7C 7D 1B 78 */ mr r29, r3 +/* 802BD690 002B92F0 81 86 00 80 */ lwz r12, 0x80(r6) +/* 802BD694 002B92F4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD698 002B92F8 41 82 00 1C */ beq lbl_802BD6B4 +/* 802BD69C 002B92FC 7F A4 EB 78 */ mr r4, r29 +/* 802BD6A0 002B9300 7F C5 F3 78 */ mr r5, r30 +/* 802BD6A4 002B9304 7F E6 FB 78 */ mr r6, r31 +/* 802BD6A8 002B9308 38 60 00 00 */ li r3, 0 +/* 802BD6AC 002B930C 7D 89 03 A6 */ mtctr r12 +/* 802BD6B0 002B9310 4E 80 04 21 */ bctrl +lbl_802BD6B4: +/* 802BD6B4 002B9314 3C 60 80 57 */ lis r3, lbl_805686D8@ha +/* 802BD6B8 002B9318 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l +/* 802BD6BC 002B931C 81 83 00 84 */ lwz r12, 0x84(r3) +/* 802BD6C0 002B9320 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD6C4 002B9324 41 82 00 1C */ beq lbl_802BD6E0 +/* 802BD6C8 002B9328 7F A4 EB 78 */ mr r4, r29 +/* 802BD6CC 002B932C 7F C5 F3 78 */ mr r5, r30 +/* 802BD6D0 002B9330 7F E6 FB 78 */ mr r6, r31 +/* 802BD6D4 002B9334 38 60 00 00 */ li r3, 0 +/* 802BD6D8 002B9338 7D 89 03 A6 */ mtctr r12 +/* 802BD6DC 002B933C 4E 80 04 21 */ bctrl +lbl_802BD6E0: +/* 802BD6E0 002B9340 3C 60 80 57 */ lis r3, lbl_805686D8@ha +/* 802BD6E4 002B9344 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l +/* 802BD6E8 002B9348 81 83 00 88 */ lwz r12, 0x88(r3) +/* 802BD6EC 002B934C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD6F0 002B9350 41 82 00 1C */ beq lbl_802BD70C +/* 802BD6F4 002B9354 7F A4 EB 78 */ mr r4, r29 +/* 802BD6F8 002B9358 7F C5 F3 78 */ mr r5, r30 +/* 802BD6FC 002B935C 7F E6 FB 78 */ mr r6, r31 +/* 802BD700 002B9360 38 60 00 00 */ li r3, 0 +/* 802BD704 002B9364 7D 89 03 A6 */ mtctr r12 +/* 802BD708 002B9368 4E 80 04 21 */ bctrl +lbl_802BD70C: +/* 802BD70C 002B936C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BD710 002B9370 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BD714 002B9374 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BD718 002B9378 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BD71C 002B937C 7C 08 03 A6 */ mtlr r0 +/* 802BD720 002B9380 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BD724 002B9384 4E 80 00 20 */ blr + +.global func_802BD728 +func_802BD728: +/* 802BD728 002B9388 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BD72C 002B938C 7C 08 02 A6 */ mflr r0 +/* 802BD730 002B9390 3C C0 80 57 */ lis r6, lbl_805686D8@ha +/* 802BD734 002B9394 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BD738 002B9398 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l +/* 802BD73C 002B939C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BD740 002B93A0 7C BF 2B 78 */ mr r31, r5 +/* 802BD744 002B93A4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BD748 002B93A8 7C 9E 23 78 */ mr r30, r4 +/* 802BD74C 002B93AC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BD750 002B93B0 7C 7D 1B 78 */ mr r29, r3 +/* 802BD754 002B93B4 81 86 00 80 */ lwz r12, 0x80(r6) +/* 802BD758 002B93B8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD75C 002B93BC 41 82 00 1C */ beq lbl_802BD778 +/* 802BD760 002B93C0 7F A4 EB 78 */ mr r4, r29 +/* 802BD764 002B93C4 7F C5 F3 78 */ mr r5, r30 +/* 802BD768 002B93C8 7F E6 FB 78 */ mr r6, r31 +/* 802BD76C 002B93CC 38 60 00 01 */ li r3, 1 +/* 802BD770 002B93D0 7D 89 03 A6 */ mtctr r12 +/* 802BD774 002B93D4 4E 80 04 21 */ bctrl +lbl_802BD778: +/* 802BD778 002B93D8 3C 60 80 57 */ lis r3, lbl_805686D8@ha +/* 802BD77C 002B93DC 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l +/* 802BD780 002B93E0 81 83 00 84 */ lwz r12, 0x84(r3) +/* 802BD784 002B93E4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD788 002B93E8 41 82 00 1C */ beq lbl_802BD7A4 +/* 802BD78C 002B93EC 7F A4 EB 78 */ mr r4, r29 +/* 802BD790 002B93F0 7F C5 F3 78 */ mr r5, r30 +/* 802BD794 002B93F4 7F E6 FB 78 */ mr r6, r31 +/* 802BD798 002B93F8 38 60 00 01 */ li r3, 1 +/* 802BD79C 002B93FC 7D 89 03 A6 */ mtctr r12 +/* 802BD7A0 002B9400 4E 80 04 21 */ bctrl +lbl_802BD7A4: +/* 802BD7A4 002B9404 3C 60 80 57 */ lis r3, lbl_805686D8@ha +/* 802BD7A8 002B9408 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l +/* 802BD7AC 002B940C 81 83 00 88 */ lwz r12, 0x88(r3) +/* 802BD7B0 002B9410 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD7B4 002B9414 41 82 00 1C */ beq lbl_802BD7D0 +/* 802BD7B8 002B9418 7F A4 EB 78 */ mr r4, r29 +/* 802BD7BC 002B941C 7F C5 F3 78 */ mr r5, r30 +/* 802BD7C0 002B9420 7F E6 FB 78 */ mr r6, r31 +/* 802BD7C4 002B9424 38 60 00 01 */ li r3, 1 +/* 802BD7C8 002B9428 7D 89 03 A6 */ mtctr r12 +/* 802BD7CC 002B942C 4E 80 04 21 */ bctrl +lbl_802BD7D0: +/* 802BD7D0 002B9430 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BD7D4 002B9434 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BD7D8 002B9438 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BD7DC 002B943C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BD7E0 002B9440 7C 08 03 A6 */ mtlr r0 +/* 802BD7E4 002B9444 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BD7E8 002B9448 4E 80 00 20 */ blr + +.global func_802BD7EC +func_802BD7EC: +/* 802BD7EC 002B944C 3C C0 80 57 */ lis r6, lbl_805686D8@ha +/* 802BD7F0 002B9450 7C 80 23 78 */ mr r0, r4 +/* 802BD7F4 002B9454 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l +/* 802BD7F8 002B9458 81 86 00 84 */ lwz r12, 0x84(r6) +/* 802BD7FC 002B945C 7C A6 2B 78 */ mr r6, r5 +/* 802BD800 002B9460 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD804 002B9464 4D 82 00 20 */ beqlr +/* 802BD808 002B9468 7C 64 1B 78 */ mr r4, r3 +/* 802BD80C 002B946C 7C 05 03 78 */ mr r5, r0 +/* 802BD810 002B9470 38 60 00 05 */ li r3, 5 +/* 802BD814 002B9474 7D 89 03 A6 */ mtctr r12 +/* 802BD818 002B9478 4E 80 04 20 */ bctr +/* 802BD81C 002B947C 4E 80 00 20 */ blr + +.global func_802BD820 +func_802BD820: +/* 802BD820 002B9480 3C C0 80 57 */ lis r6, lbl_805686D8@ha +/* 802BD824 002B9484 7C 80 23 78 */ mr r0, r4 +/* 802BD828 002B9488 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l +/* 802BD82C 002B948C 81 86 00 84 */ lwz r12, 0x84(r6) +/* 802BD830 002B9490 7C A6 2B 78 */ mr r6, r5 +/* 802BD834 002B9494 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD838 002B9498 4D 82 00 20 */ beqlr +/* 802BD83C 002B949C 7C 64 1B 78 */ mr r4, r3 +/* 802BD840 002B94A0 7C 05 03 78 */ mr r5, r0 +/* 802BD844 002B94A4 38 60 00 06 */ li r3, 6 +/* 802BD848 002B94A8 7D 89 03 A6 */ mtctr r12 +/* 802BD84C 002B94AC 4E 80 04 20 */ bctr +/* 802BD850 002B94B0 4E 80 00 20 */ blr + +.global func_802BD854 +func_802BD854: +/* 802BD854 002B94B4 3C C0 80 57 */ lis r6, lbl_805686D8@ha +/* 802BD858 002B94B8 7C 80 23 78 */ mr r0, r4 +/* 802BD85C 002B94BC 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l +/* 802BD860 002B94C0 81 86 00 84 */ lwz r12, 0x84(r6) +/* 802BD864 002B94C4 7C A6 2B 78 */ mr r6, r5 +/* 802BD868 002B94C8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BD86C 002B94CC 4D 82 00 20 */ beqlr +/* 802BD870 002B94D0 7C 64 1B 78 */ mr r4, r3 +/* 802BD874 002B94D4 7C 05 03 78 */ mr r5, r0 +/* 802BD878 002B94D8 38 60 00 07 */ li r3, 7 +/* 802BD87C 002B94DC 7D 89 03 A6 */ mtctr r12 +/* 802BD880 002B94E0 4E 80 04 20 */ bctr +/* 802BD884 002B94E4 4E 80 00 20 */ blr + +.global func_802BD888 +func_802BD888: +/* 802BD888 002B94E8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BD88C 002B94EC 7C 08 02 A6 */ mflr r0 +/* 802BD890 002B94F0 38 80 00 00 */ li r4, 0 +/* 802BD894 002B94F4 38 A0 00 8C */ li r5, 0x8c +/* 802BD898 002B94F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BD89C 002B94FC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BD8A0 002B9500 3F E0 80 57 */ lis r31, lbl_805686D8@ha +/* 802BD8A4 002B9504 38 7F 86 D8 */ addi r3, r31, lbl_805686D8@l +/* 802BD8A8 002B9508 4B D4 68 5D */ bl memset +/* 802BD8AC 002B950C 80 AD 8A 10 */ lwz r5, lbl_8063DCD0-_SDA_BASE_(r13) +/* 802BD8B0 002B9510 3B FF 86 D8 */ addi r31, r31, -31016 +/* 802BD8B4 002B9514 38 7F 00 68 */ addi r3, r31, 0x68 +/* 802BD8B8 002B9518 38 80 03 E8 */ li r4, 0x3e8 +/* 802BD8BC 002B951C 88 A5 00 03 */ lbz r5, 3(r5) +/* 802BD8C0 002B9520 48 00 02 0D */ bl func_802BDACC +/* 802BD8C4 002B9524 4B FF D8 91 */ bl func_802BB154 +/* 802BD8C8 002B9528 98 7F 00 7D */ stb r3, 0x7d(r31) +/* 802BD8CC 002B952C 80 6D 8A 10 */ lwz r3, lbl_8063DCD0-_SDA_BASE_(r13) +/* 802BD8D0 002B9530 88 03 00 04 */ lbz r0, 4(r3) +/* 802BD8D4 002B9534 98 0D AE F8 */ stb r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BD8D8 002B9538 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BD8DC 002B953C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BD8E0 002B9540 7C 08 03 A6 */ mtlr r0 +/* 802BD8E4 002B9544 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BD8E8 002B9548 4E 80 00 20 */ blr + +.global func_802BD8EC +func_802BD8EC: +/* 802BD8EC 002B954C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BD8F0 002B9550 7C 08 02 A6 */ mflr r0 +/* 802BD8F4 002B9554 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BD8F8 002B9558 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BD8FC 002B955C 3B E0 00 01 */ li r31, 1 +/* 802BD900 002B9560 93 C1 00 08 */ stw r30, 8(r1) +/* 802BD904 002B9564 7C 7E 1B 78 */ mr r30, r3 +/* 802BD908 002B9568 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BD90C 002B956C 28 00 00 04 */ cmplwi r0, 4 +/* 802BD910 002B9570 41 80 00 18 */ blt lbl_802BD928 +/* 802BD914 002B9574 3C 80 80 44 */ lis r4, lbl_80440030@ha +/* 802BD918 002B9578 A0 BE 00 00 */ lhz r5, 0(r30) +/* 802BD91C 002B957C 38 84 00 30 */ addi r4, r4, lbl_80440030@l +/* 802BD920 002B9580 38 60 05 03 */ li r3, 0x503 +/* 802BD924 002B9584 4B FF F6 05 */ bl func_802BCF28 +lbl_802BD928: +/* 802BD928 002B9588 3C 60 80 57 */ lis r3, lbl_805686D8@ha +/* 802BD92C 002B958C A0 9E 00 00 */ lhz r4, 0(r30) +/* 802BD930 002B9590 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l +/* 802BD934 002B9594 88 03 00 7E */ lbz r0, 0x7e(r3) +/* 802BD938 002B9598 7C 85 46 70 */ srawi r5, r4, 8 +/* 802BD93C 002B959C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BD940 002B95A0 41 82 00 1C */ beq lbl_802BD95C +/* 802BD944 002B95A4 28 04 01 01 */ cmplwi r4, 0x101 +/* 802BD948 002B95A8 40 82 00 08 */ bne lbl_802BD950 +/* 802BD94C 002B95AC 48 00 26 71 */ bl func_802BFFBC +lbl_802BD950: +/* 802BD950 002B95B0 7F C3 F3 78 */ mr r3, r30 +/* 802BD954 002B95B4 4B FF C3 E1 */ bl func_802B9D34 +/* 802BD958 002B95B8 48 00 00 68 */ b lbl_802BD9C0 +lbl_802BD95C: +/* 802BD95C 002B95BC 54 A0 06 3E */ clrlwi r0, r5, 0x18 +/* 802BD960 002B95C0 28 00 00 1A */ cmplwi r0, 0x1a +/* 802BD964 002B95C4 40 80 00 2C */ bge lbl_802BD990 +/* 802BD968 002B95C8 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d +/* 802BD96C 002B95CC 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802BD970 002B95D0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BD974 002B95D4 41 82 00 1C */ beq lbl_802BD990 +/* 802BD978 002B95D8 81 83 00 00 */ lwz r12, 0(r3) +/* 802BD97C 002B95DC 7F C3 F3 78 */ mr r3, r30 +/* 802BD980 002B95E0 7D 89 03 A6 */ mtctr r12 +/* 802BD984 002B95E4 4E 80 04 21 */ bctrl +/* 802BD988 002B95E8 7C 7F 1B 78 */ mr r31, r3 +/* 802BD98C 002B95EC 48 00 00 24 */ b lbl_802BD9B0 +lbl_802BD990: +/* 802BD990 002B95F0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BD994 002B95F4 28 00 00 02 */ cmplwi r0, 2 +/* 802BD998 002B95F8 41 80 00 18 */ blt lbl_802BD9B0 +/* 802BD99C 002B95FC 3C 80 80 44 */ lis r4, lbl_80440044@ha +/* 802BD9A0 002B9600 54 A5 06 3E */ clrlwi r5, r5, 0x18 +/* 802BD9A4 002B9604 38 84 00 44 */ addi r4, r4, lbl_80440044@l +/* 802BD9A8 002B9608 38 60 05 01 */ li r3, 0x501 +/* 802BD9AC 002B960C 4B FF F5 7D */ bl func_802BCF28 +lbl_802BD9B0: +/* 802BD9B0 002B9610 57 E0 06 3F */ clrlwi. r0, r31, 0x18 +/* 802BD9B4 002B9614 41 82 00 0C */ beq lbl_802BD9C0 +/* 802BD9B8 002B9618 7F C3 F3 78 */ mr r3, r30 +/* 802BD9BC 002B961C 4B FF C3 79 */ bl func_802B9D34 +lbl_802BD9C0: +/* 802BD9C0 002B9620 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BD9C4 002B9624 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BD9C8 002B9628 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BD9CC 002B962C 7C 08 03 A6 */ mtlr r0 +/* 802BD9D0 002B9630 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BD9D4 002B9634 4E 80 00 20 */ blr + +.global func_802BD9D8 +func_802BD9D8: +/* 802BD9D8 002B9638 3C 60 80 57 */ lis r3, lbl_805686D8@ha +/* 802BD9DC 002B963C 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l +/* 802BD9E0 002B9640 88 03 00 7C */ lbz r0, 0x7c(r3) +/* 802BD9E4 002B9644 2C 00 00 00 */ cmpwi r0, 0 +/* 802BD9E8 002B9648 4C 82 00 20 */ bnelr +/* 802BD9EC 002B964C 38 63 00 68 */ addi r3, r3, 0x68 +/* 802BD9F0 002B9650 48 00 01 28 */ b lbl_802BDB18 +/* 802BD9F4 002B9654 4E 80 00 20 */ blr + +.global func_802BD9F8 +func_802BD9F8: +/* 802BD9F8 002B9658 3C A0 80 57 */ lis r5, lbl_805686D8@ha +/* 802BD9FC 002B965C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d +/* 802BDA00 002B9660 38 A5 86 D8 */ addi r5, r5, lbl_805686D8@l +/* 802BDA04 002B9664 7C 85 01 2E */ stwx r4, r5, r0 +/* 802BDA08 002B9668 4E 80 00 20 */ blr + +.global func_802BDA0C +func_802BDA0C: +/* 802BDA0C 002B966C 80 8D 8A 10 */ lwz r4, lbl_8063DCD0-_SDA_BASE_(r13) +/* 802BDA10 002B9670 3C C0 80 57 */ lis r6, lbl_805686D8@ha +/* 802BDA14 002B9674 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l +/* 802BDA18 002B9678 7C 65 1B 78 */ mr r5, r3 +/* 802BDA1C 002B967C 88 66 00 7D */ lbz r3, 0x7d(r6) +/* 802BDA20 002B9680 88 84 00 02 */ lbz r4, 2(r4) +/* 802BDA24 002B9684 4B FF C4 C4 */ b func_802B9EE8 + +.global func_802BDA28 +func_802BDA28: +/* 802BDA28 002B9688 3C E0 80 57 */ lis r7, lbl_805686D8@ha +/* 802BDA2C 002B968C 7C 80 23 78 */ mr r0, r4 +/* 802BDA30 002B9690 38 E7 86 D8 */ addi r7, r7, lbl_805686D8@l +/* 802BDA34 002B9694 7C A6 2B 78 */ mr r6, r5 +/* 802BDA38 002B9698 7C 64 1B 78 */ mr r4, r3 +/* 802BDA3C 002B969C 7C 05 03 78 */ mr r5, r0 +/* 802BDA40 002B96A0 38 67 00 68 */ addi r3, r7, 0x68 +/* 802BDA44 002B96A4 48 00 01 88 */ b lbl_802BDBCC + +.global func_802BDA48 +func_802BDA48: +/* 802BDA48 002B96A8 3C A0 80 57 */ lis r5, lbl_805686D8@ha +/* 802BDA4C 002B96AC 7C 64 1B 78 */ mr r4, r3 +/* 802BDA50 002B96B0 38 A5 86 D8 */ addi r5, r5, lbl_805686D8@l +/* 802BDA54 002B96B4 38 65 00 68 */ addi r3, r5, 0x68 +/* 802BDA58 002B96B8 48 00 02 14 */ b lbl_802BDC6C + +.global func_802BDA5C +func_802BDA5C: +/* 802BDA5C 002B96BC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BDA60 002B96C0 7C 08 02 A6 */ mflr r0 +/* 802BDA64 002B96C4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BDA68 002B96C8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BDA6C 002B96CC 3F E0 80 57 */ lis r31, lbl_805686D8@ha +/* 802BDA70 002B96D0 3B FF 86 D8 */ addi r31, r31, lbl_805686D8@l +/* 802BDA74 002B96D4 93 C1 00 08 */ stw r30, 8(r1) +/* 802BDA78 002B96D8 3B C0 00 00 */ li r30, 0 +lbl_802BDA7C: +/* 802BDA7C 002B96DC 80 7F 00 00 */ lwz r3, 0(r31) +/* 802BDA80 002B96E0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BDA84 002B96E4 41 82 00 18 */ beq lbl_802BDA9C +/* 802BDA88 002B96E8 81 83 00 04 */ lwz r12, 4(r3) +/* 802BDA8C 002B96EC 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BDA90 002B96F0 41 82 00 0C */ beq lbl_802BDA9C +/* 802BDA94 002B96F4 7D 89 03 A6 */ mtctr r12 +/* 802BDA98 002B96F8 4E 80 04 21 */ bctrl +lbl_802BDA9C: +/* 802BDA9C 002B96FC 3B DE 00 01 */ addi r30, r30, 1 +/* 802BDAA0 002B9700 3B FF 00 04 */ addi r31, r31, 4 +/* 802BDAA4 002B9704 2C 1E 00 1A */ cmpwi r30, 0x1a +/* 802BDAA8 002B9708 41 80 FF D4 */ blt lbl_802BDA7C +/* 802BDAAC 002B970C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BDAB0 002B9710 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BDAB4 002B9714 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BDAB8 002B9718 7C 08 03 A6 */ mtlr r0 +/* 802BDABC 002B971C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BDAC0 002B9720 4E 80 00 20 */ blr + +.global func_802BDAC4 +func_802BDAC4: +/* 802BDAC4 002B9724 98 6D AE F8 */ stb r3, lbl_806401B8-_SDA_BASE_(r13) +/* 802BDAC8 002B9728 4E 80 00 20 */ blr + +.global func_802BDACC +func_802BDACC: +/* 802BDACC 002B972C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BDAD0 002B9730 7C 08 02 A6 */ mflr r0 +/* 802BDAD4 002B9734 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BDAD8 002B9738 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BDADC 002B973C 7C BF 2B 78 */ mr r31, r5 +/* 802BDAE0 002B9740 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BDAE4 002B9744 7C 9E 23 78 */ mr r30, r4 +/* 802BDAE8 002B9748 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BDAEC 002B974C 7C 7D 1B 78 */ mr r29, r3 +/* 802BDAF0 002B9750 4B FF D1 C9 */ bl func_802BACB8 +/* 802BDAF4 002B9754 93 DD 00 0C */ stw r30, 0xc(r29) +/* 802BDAF8 002B9758 9B FD 00 10 */ stb r31, 0x10(r29) +/* 802BDAFC 002B975C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BDB00 002B9760 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BDB04 002B9764 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BDB08 002B9768 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BDB0C 002B976C 7C 08 03 A6 */ mtlr r0 +/* 802BDB10 002B9770 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BDB14 002B9774 4E 80 00 20 */ blr +lbl_802BDB18: +/* 802BDB18 002B9778 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BDB1C 002B977C 7C 08 02 A6 */ mflr r0 +/* 802BDB20 002B9780 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BDB24 002B9784 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BDB28 002B9788 93 C1 00 08 */ stw r30, 8(r1) +/* 802BDB2C 002B978C 7C 7E 1B 78 */ mr r30, r3 +/* 802BDB30 002B9790 80 83 00 0C */ lwz r4, 0xc(r3) +/* 802BDB34 002B9794 4B FF D1 99 */ bl func_802BACCC +/* 802BDB38 002B9798 48 00 00 54 */ b lbl_802BDB8C +lbl_802BDB3C: +/* 802BDB3C 002B979C 7F C3 F3 78 */ mr r3, r30 +/* 802BDB40 002B97A0 7F E4 FB 78 */ mr r4, r31 +/* 802BDB44 002B97A4 4B FF D3 01 */ bl func_802BAE44 +/* 802BDB48 002B97A8 81 9F 00 08 */ lwz r12, 8(r31) +/* 802BDB4C 002B97AC 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BDB50 002B97B0 41 82 00 14 */ beq lbl_802BDB64 +/* 802BDB54 002B97B4 7F E3 FB 78 */ mr r3, r31 +/* 802BDB58 002B97B8 7D 89 03 A6 */ mtctr r12 +/* 802BDB5C 002B97BC 4E 80 04 21 */ bctrl +/* 802BDB60 002B97C0 48 00 00 2C */ b lbl_802BDB8C +lbl_802BDB64: +/* 802BDB64 002B97C4 A0 1F 00 14 */ lhz r0, 0x14(r31) +/* 802BDB68 002B97C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BDB6C 002B97CC 41 82 00 20 */ beq lbl_802BDB8C +/* 802BDB70 002B97D0 38 60 00 08 */ li r3, 8 +/* 802BDB74 002B97D4 4B FF BF 39 */ bl func_802B9AAC +/* 802BDB78 002B97D8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BDB7C 002B97DC 41 82 00 10 */ beq lbl_802BDB8C +/* 802BDB80 002B97E0 A0 1F 00 14 */ lhz r0, 0x14(r31) +/* 802BDB84 002B97E4 B0 03 00 00 */ sth r0, 0(r3) +/* 802BDB88 002B97E8 4B FF FE 85 */ bl func_802BDA0C +lbl_802BDB8C: +/* 802BDB8C 002B97EC 83 FE 00 00 */ lwz r31, 0(r30) +/* 802BDB90 002B97F0 2C 1F 00 00 */ cmpwi r31, 0 +/* 802BDB94 002B97F4 41 82 00 10 */ beq lbl_802BDBA4 +/* 802BDB98 002B97F8 80 1F 00 0C */ lwz r0, 0xc(r31) +/* 802BDB9C 002B97FC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BDBA0 002B9800 40 81 FF 9C */ ble lbl_802BDB3C +lbl_802BDBA4: +/* 802BDBA4 002B9804 2C 1F 00 00 */ cmpwi r31, 0 +/* 802BDBA8 002B9808 40 82 00 0C */ bne lbl_802BDBB4 +/* 802BDBAC 002B980C 88 7E 00 10 */ lbz r3, 0x10(r30) +/* 802BDBB0 002B9810 4B FF D0 81 */ bl func_802BAC30 +lbl_802BDBB4: +/* 802BDBB4 002B9814 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BDBB8 002B9818 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BDBBC 002B981C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BDBC0 002B9820 7C 08 03 A6 */ mtlr r0 +/* 802BDBC4 002B9824 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BDBC8 002B9828 4E 80 00 20 */ blr +lbl_802BDBCC: +/* 802BDBCC 002B982C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BDBD0 002B9830 7C 08 02 A6 */ mflr r0 +/* 802BDBD4 002B9834 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BDBD8 002B9838 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BDBDC 002B983C 7C DF 33 78 */ mr r31, r6 +/* 802BDBE0 002B9840 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BDBE4 002B9844 7C BE 2B 78 */ mr r30, r5 +/* 802BDBE8 002B9848 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BDBEC 002B984C 7C 9D 23 78 */ mr r29, r4 +/* 802BDBF0 002B9850 93 81 00 10 */ stw r28, 0x10(r1) +/* 802BDBF4 002B9854 7C 7C 1B 78 */ mr r28, r3 +/* 802BDBF8 002B9858 80 03 00 00 */ lwz r0, 0(r3) +/* 802BDBFC 002B985C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BDC00 002B9860 40 82 00 2C */ bne lbl_802BDC2C +/* 802BDC04 002B9864 3C 80 66 66 */ lis r4, 0x66666667@ha +/* 802BDC08 002B9868 80 1C 00 0C */ lwz r0, 0xc(r28) +/* 802BDC0C 002B986C 38 84 66 67 */ addi r4, r4, 0x66666667@l +/* 802BDC10 002B9870 88 63 00 10 */ lbz r3, 0x10(r3) +/* 802BDC14 002B9874 7C 04 00 96 */ mulhw r0, r4, r0 +/* 802BDC18 002B9878 38 A0 00 01 */ li r5, 1 +/* 802BDC1C 002B987C 7C 00 16 70 */ srawi r0, r0, 2 +/* 802BDC20 002B9880 54 04 0F FE */ srwi r4, r0, 0x1f +/* 802BDC24 002B9884 7C 80 22 14 */ add r4, r0, r4 +/* 802BDC28 002B9888 4B FF CE B9 */ bl func_802BAAE0 +lbl_802BDC2C: +/* 802BDC2C 002B988C 7F 83 E3 78 */ mr r3, r28 +/* 802BDC30 002B9890 7F A4 EB 78 */ mr r4, r29 +/* 802BDC34 002B9894 4B FF D2 11 */ bl func_802BAE44 +/* 802BDC38 002B9898 B3 DD 00 14 */ sth r30, 0x14(r29) +/* 802BDC3C 002B989C 7F 83 E3 78 */ mr r3, r28 +/* 802BDC40 002B98A0 7F A4 EB 78 */ mr r4, r29 +/* 802BDC44 002B98A4 93 FD 00 0C */ stw r31, 0xc(r29) +/* 802BDC48 002B98A8 4B FF D1 11 */ bl func_802BAD58 +/* 802BDC4C 002B98AC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BDC50 002B98B0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BDC54 002B98B4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BDC58 002B98B8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BDC5C 002B98BC 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802BDC60 002B98C0 7C 08 03 A6 */ mtlr r0 +/* 802BDC64 002B98C4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BDC68 002B98C8 4E 80 00 20 */ blr +lbl_802BDC6C: +/* 802BDC6C 002B98CC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BDC70 002B98D0 7C 08 02 A6 */ mflr r0 +/* 802BDC74 002B98D4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BDC78 002B98D8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BDC7C 002B98DC 7C 7F 1B 78 */ mr r31, r3 +/* 802BDC80 002B98E0 4B FF D1 C5 */ bl func_802BAE44 +/* 802BDC84 002B98E4 80 1F 00 00 */ lwz r0, 0(r31) +/* 802BDC88 002B98E8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BDC8C 002B98EC 40 82 00 0C */ bne lbl_802BDC98 +/* 802BDC90 002B98F0 88 7F 00 10 */ lbz r3, 0x10(r31) +/* 802BDC94 002B98F4 4B FF CF 9D */ bl func_802BAC30 +lbl_802BDC98: +/* 802BDC98 002B98F8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BDC9C 002B98FC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BDCA0 002B9900 7C 08 03 A6 */ mtlr r0 +/* 802BDCA4 002B9904 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BDCA8 002B9908 4E 80 00 20 */ blr + +.global func_802BDCAC +func_802BDCAC: +/* 802BDCAC 002B990C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BDCB0 002B9910 7C 08 02 A6 */ mflr r0 +/* 802BDCB4 002B9914 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BDCB8 002B9918 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BDCBC 002B991C 7C 7F 1B 78 */ mr r31, r3 +/* 802BDCC0 002B9920 80 03 00 00 */ lwz r0, 0(r3) +/* 802BDCC4 002B9924 2C 00 00 00 */ cmpwi r0, 0 +/* 802BDCC8 002B9928 41 82 00 14 */ beq lbl_802BDCDC +/* 802BDCCC 002B992C 7C 03 03 78 */ mr r3, r0 +/* 802BDCD0 002B9930 4B FF C0 65 */ bl func_802B9D34 +/* 802BDCD4 002B9934 38 00 00 00 */ li r0, 0 +/* 802BDCD8 002B9938 90 1F 00 00 */ stw r0, 0(r31) +lbl_802BDCDC: +/* 802BDCDC 002B993C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BDCE0 002B9940 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BDCE4 002B9944 7C 08 03 A6 */ mtlr r0 +/* 802BDCE8 002B9948 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BDCEC 002B994C 4E 80 00 20 */ blr +/* 802BDCF0 002B9950 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BDCF4 002B9954 7C 08 02 A6 */ mflr r0 +/* 802BDCF8 002B9958 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BDCFC 002B995C 38 A0 00 7C */ li r5, 0x7c +/* 802BDD00 002B9960 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BDD04 002B9964 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BDD08 002B9968 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BDD0C 002B996C 7C 7E 1B 78 */ mr r30, r3 +/* 802BDD10 002B9970 38 64 87 98 */ addi r3, r4, lbl_80568798@l +/* 802BDD14 002B9974 38 80 00 00 */ li r4, 0 +/* 802BDD18 002B9978 4B D4 63 ED */ bl memset +/* 802BDD1C 002B997C 3C 60 80 57 */ lis r3, lbl_80568918@ha +/* 802BDD20 002B9980 38 80 00 00 */ li r4, 0 +/* 802BDD24 002B9984 38 63 89 18 */ addi r3, r3, lbl_80568918@l +/* 802BDD28 002B9988 38 A0 00 2E */ li r5, 0x2e +/* 802BDD2C 002B998C 4B D4 63 D9 */ bl memset +/* 802BDD30 002B9990 3F E0 80 40 */ lis r31, lbl_803FDAC0@ha +/* 802BDD34 002B9994 38 61 00 08 */ addi r3, r1, 8 +/* 802BDD38 002B9998 38 9F DA C0 */ addi r4, r31, lbl_803FDAC0@l +/* 802BDD3C 002B999C 38 A0 00 03 */ li r5, 3 +/* 802BDD40 002B99A0 4B D4 62 C1 */ bl memcpy +/* 802BDD44 002B99A4 38 61 00 08 */ addi r3, r1, 8 +/* 802BDD48 002B99A8 48 00 8B 89 */ bl func_802C68D0 +/* 802BDD4C 002B99AC 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802BDD50 002B99B0 80 1E 00 08 */ lwz r0, 8(r30) +/* 802BDD54 002B99B4 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802BDD58 002B99B8 3C 60 80 40 */ lis r3, lbl_803FDBF0@ha +/* 802BDD5C 002B99BC 90 04 00 50 */ stw r0, 0x50(r4) +/* 802BDD60 002B99C0 38 63 DB F0 */ addi r3, r3, lbl_803FDBF0@l +/* 802BDD64 002B99C4 48 00 CB 55 */ bl func_802CA8B8 +/* 802BDD68 002B99C8 3B FF DA C0 */ addi r31, r31, -9536 +/* 802BDD6C 002B99CC A0 7F 00 08 */ lhz r3, 8(r31) +/* 802BDD70 002B99D0 48 00 64 E1 */ bl func_802C4250 +/* 802BDD74 002B99D4 A0 7F 00 06 */ lhz r3, 6(r31) +/* 802BDD78 002B99D8 48 00 8E 49 */ bl func_802C6BC0 +/* 802BDD7C 002B99DC A0 7F 00 04 */ lhz r3, 4(r31) +/* 802BDD80 002B99E0 48 00 61 05 */ bl func_802C3E84 +/* 802BDD84 002B99E4 3C 60 80 2C */ lis r3, lbl_802BF730@ha +/* 802BDD88 002B99E8 38 63 F7 30 */ addi r3, r3, lbl_802BF730@l +/* 802BDD8C 002B99EC 48 00 6B 41 */ bl func_802C48CC +/* 802BDD90 002B99F0 3C 60 80 2C */ lis r3, lbl_802BF5D8@ha +/* 802BDD94 002B99F4 38 63 F5 D8 */ addi r3, r3, lbl_802BF5D8@l +/* 802BDD98 002B99F8 48 00 8A 65 */ bl func_802C67FC +/* 802BDD9C 002B99FC 3C 60 80 2C */ lis r3, lbl_802BFE30@ha +/* 802BDDA0 002B9A00 38 63 FE 30 */ addi r3, r3, lbl_802BFE30@l +/* 802BDDA4 002B9A04 4B FF F8 91 */ bl func_802BD634 +/* 802BDDA8 002B9A08 3F E0 80 2C */ lis r31, lbl_802BFBF8@ha +/* 802BDDAC 002B9A0C 38 7F FB F8 */ addi r3, r31, lbl_802BFBF8@l +/* 802BDDB0 002B9A10 4B FF F8 95 */ bl func_802BD644 +/* 802BDDB4 002B9A14 48 00 28 45 */ bl func_802C05F8 +/* 802BDDB8 002B9A18 3C 60 80 57 */ lis r3, lbl_80568768@ha +/* 802BDDBC 002B9A1C 38 80 00 00 */ li r4, 0 +/* 802BDDC0 002B9A20 38 63 87 68 */ addi r3, r3, lbl_80568768@l +/* 802BDDC4 002B9A24 38 A0 00 2D */ li r5, 0x2d +/* 802BDDC8 002B9A28 4B D4 63 3D */ bl memset +/* 802BDDCC 002B9A2C 38 7F FB F8 */ addi r3, r31, -1032 +/* 802BDDD0 002B9A30 4B FF F8 75 */ bl func_802BD644 +/* 802BDDD4 002B9A34 3C 60 80 2C */ lis r3, lbl_802BFB14@ha +/* 802BDDD8 002B9A38 38 80 00 00 */ li r4, 0 +/* 802BDDDC 002B9A3C 38 63 FB 14 */ addi r3, r3, lbl_802BFB14@l +/* 802BDDE0 002B9A40 48 01 86 19 */ bl func_802D63F8 +/* 802BDDE4 002B9A44 48 01 0D 6D */ bl func_802CEB50 +/* 802BDDE8 002B9A48 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BDDEC 002B9A4C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BDDF0 002B9A50 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BDDF4 002B9A54 7C 08 03 A6 */ mtlr r0 +/* 802BDDF8 002B9A58 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BDDFC 002B9A5C 4E 80 00 20 */ blr +/* 802BDE00 002B9A60 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BDE04 002B9A64 7C 08 02 A6 */ mflr r0 +/* 802BDE08 002B9A68 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_ +/* 802BDE0C 002B9A6C 38 80 00 00 */ li r4, 0 +/* 802BDE10 002B9A70 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BDE14 002B9A74 48 01 84 C9 */ bl func_802D62DC +/* 802BDE18 002B9A78 4B FF FC 45 */ bl func_802BDA5C +/* 802BDE1C 002B9A7C 38 60 00 00 */ li r3, 0 +/* 802BDE20 002B9A80 38 80 00 00 */ li r4, 0 +/* 802BDE24 002B9A84 38 A0 00 00 */ li r5, 0 +/* 802BDE28 002B9A88 48 00 94 D1 */ bl func_802C72F8 +/* 802BDE2C 002B9A8C 38 60 00 00 */ li r3, 0 +/* 802BDE30 002B9A90 38 80 00 00 */ li r4, 0 +/* 802BDE34 002B9A94 38 A0 00 00 */ li r5, 0 +/* 802BDE38 002B9A98 48 00 99 3D */ bl func_802C7774 +/* 802BDE3C 002B9A9C 48 00 28 25 */ bl func_802C0660 +/* 802BDE40 002B9AA0 48 00 64 F9 */ bl func_802C4338 +/* 802BDE44 002B9AA4 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BDE48 002B9AA8 40 82 00 2C */ bne lbl_802BDE74 +/* 802BDE4C 002B9AAC 3C C0 80 2C */ lis r6, lbl_802BFA20@ha +/* 802BDE50 002B9AB0 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BDE54 002B9AB4 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BDE58 002B9AB8 38 80 00 00 */ li r4, 0 +/* 802BDE5C 002B9ABC 38 C6 FA 20 */ addi r6, r6, lbl_802BFA20@l +/* 802BDE60 002B9AC0 38 A0 03 E8 */ li r5, 0x3e8 +/* 802BDE64 002B9AC4 90 C3 00 7C */ stw r6, 0x7c(r3) +/* 802BDE68 002B9AC8 38 63 00 74 */ addi r3, r3, 0x74 +/* 802BDE6C 002B9ACC 4B FF FB BD */ bl func_802BDA28 +/* 802BDE70 002B9AD0 48 00 00 30 */ b lbl_802BDEA0 +lbl_802BDE74: +/* 802BDE74 002B9AD4 3C C0 80 57 */ lis r6, lbl_80568814@ha +/* 802BDE78 002B9AD8 3C A0 80 2C */ lis r5, lbl_802BDEB0@ha +/* 802BDE7C 002B9ADC 38 C6 88 14 */ addi r6, r6, lbl_80568814@l +/* 802BDE80 002B9AE0 38 00 00 01 */ li r0, 1 +/* 802BDE84 002B9AE4 38 A5 DE B0 */ addi r5, r5, lbl_802BDEB0@l +/* 802BDE88 002B9AE8 98 06 00 72 */ stb r0, 0x72(r6) +/* 802BDE8C 002B9AEC 38 66 00 74 */ addi r3, r6, 0x74 +/* 802BDE90 002B9AF0 38 80 00 00 */ li r4, 0 +/* 802BDE94 002B9AF4 90 A6 00 7C */ stw r5, 0x7c(r6) +/* 802BDE98 002B9AF8 38 A0 13 88 */ li r5, 0x1388 +/* 802BDE9C 002B9AFC 4B FF FB 8D */ bl func_802BDA28 +lbl_802BDEA0: +/* 802BDEA0 002B9B00 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BDEA4 002B9B04 7C 08 03 A6 */ mtlr r0 +/* 802BDEA8 002B9B08 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BDEAC 002B9B0C 4E 80 00 20 */ blr +lbl_802BDEB0: +/* 802BDEB0 002B9B10 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BDEB4 002B9B14 7C 08 02 A6 */ mflr r0 +/* 802BDEB8 002B9B18 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BDEBC 002B9B1C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BDEC0 002B9B20 93 C1 00 08 */ stw r30, 8(r1) +/* 802BDEC4 002B9B24 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BDEC8 002B9B28 28 00 00 04 */ cmplwi r0, 4 +/* 802BDECC 002B9B2C 41 80 00 14 */ blt lbl_802BDEE0 +/* 802BDED0 002B9B30 3C 80 80 44 */ lis r4, lbl_80440068@ha +/* 802BDED4 002B9B34 38 60 05 03 */ li r3, 0x503 +/* 802BDED8 002B9B38 38 84 00 68 */ addi r4, r4, lbl_80440068@l +/* 802BDEDC 002B9B3C 4B FF F0 35 */ bl func_802BCF10 +lbl_802BDEE0: +/* 802BDEE0 002B9B40 48 00 64 59 */ bl func_802C4338 +/* 802BDEE4 002B9B44 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BDEE8 002B9B48 41 82 00 48 */ beq lbl_802BDF30 +/* 802BDEEC 002B9B4C 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BDEF0 002B9B50 3B E3 88 14 */ addi r31, r3, lbl_80568814@l +/* 802BDEF4 002B9B54 88 1F 01 01 */ lbz r0, 0x101(r31) +/* 802BDEF8 002B9B58 2C 00 00 00 */ cmpwi r0, 0 +/* 802BDEFC 002B9B5C 40 82 00 34 */ bne lbl_802BDF30 +/* 802BDF00 002B9B60 3B C0 00 00 */ li r30, 0 +/* 802BDF04 002B9B64 48 00 00 18 */ b lbl_802BDF1C +lbl_802BDF08: +/* 802BDF08 002B9B68 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 802BDF0C 002B9B6C 1C 00 00 0B */ mulli r0, r0, 0xb +/* 802BDF10 002B9B70 7C 7F 02 14 */ add r3, r31, r0 +/* 802BDF14 002B9B74 48 00 6F 81 */ bl func_802C4E94 +/* 802BDF18 002B9B78 3B DE 00 01 */ addi r30, r30, 1 +lbl_802BDF1C: +/* 802BDF1C 002B9B7C 88 1F 00 4D */ lbz r0, 0x4d(r31) +/* 802BDF20 002B9B80 57 C3 06 3E */ clrlwi r3, r30, 0x18 +/* 802BDF24 002B9B84 7C 03 00 40 */ cmplw r3, r0 +/* 802BDF28 002B9B88 41 80 FF E0 */ blt lbl_802BDF08 +/* 802BDF2C 002B9B8C 48 00 00 28 */ b lbl_802BDF54 +lbl_802BDF30: +/* 802BDF30 002B9B90 3C A0 80 57 */ lis r5, lbl_80568814@ha +/* 802BDF34 002B9B94 38 00 00 00 */ li r0, 0 +/* 802BDF38 002B9B98 38 A5 88 14 */ addi r5, r5, lbl_80568814@l +/* 802BDF3C 002B9B9C 38 60 00 01 */ li r3, 1 +/* 802BDF40 002B9BA0 81 85 00 50 */ lwz r12, 0x50(r5) +/* 802BDF44 002B9BA4 38 80 00 00 */ li r4, 0 +/* 802BDF48 002B9BA8 98 05 00 72 */ stb r0, 0x72(r5) +/* 802BDF4C 002B9BAC 7D 89 03 A6 */ mtctr r12 +/* 802BDF50 002B9BB0 4E 80 04 21 */ bctrl +lbl_802BDF54: +/* 802BDF54 002B9BB4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BDF58 002B9BB8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BDF5C 002B9BBC 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BDF60 002B9BC0 7C 08 03 A6 */ mtlr r0 +/* 802BDF64 002B9BC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BDF68 002B9BC8 4E 80 00 20 */ blr +/* 802BDF6C 002B9BCC 38 63 00 08 */ addi r3, r3, 8 +/* 802BDF70 002B9BD0 48 00 87 48 */ b lbl_802C66B8 +/* 802BDF74 002B9BD4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BDF78 002B9BD8 7C 08 02 A6 */ mflr r0 +/* 802BDF7C 002B9BDC 38 80 00 00 */ li r4, 0 +/* 802BDF80 002B9BE0 38 A0 00 00 */ li r5, 0 +/* 802BDF84 002B9BE4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BDF88 002B9BE8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BDF8C 002B9BEC 7C 7F 1B 78 */ mr r31, r3 +/* 802BDF90 002B9BF0 88 63 00 08 */ lbz r3, 8(r3) +/* 802BDF94 002B9BF4 48 00 93 65 */ bl func_802C72F8 +/* 802BDF98 002B9BF8 88 7F 00 09 */ lbz r3, 9(r31) +/* 802BDF9C 002B9BFC 38 80 00 00 */ li r4, 0 +/* 802BDFA0 002B9C00 38 A0 00 00 */ li r5, 0 +/* 802BDFA4 002B9C04 48 00 97 D1 */ bl func_802C7774 +/* 802BDFA8 002B9C08 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BDFAC 002B9C0C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BDFB0 002B9C10 7C 08 03 A6 */ mtlr r0 +/* 802BDFB4 002B9C14 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BDFB8 002B9C18 4E 80 00 20 */ blr +/* 802BDFBC 002B9C1C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BDFC0 002B9C20 7C 08 02 A6 */ mflr r0 +/* 802BDFC4 002B9C24 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BDFC8 002B9C28 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BDFCC 002B9C2C 7C 7F 1B 78 */ mr r31, r3 +/* 802BDFD0 002B9C30 38 63 00 08 */ addi r3, r3, 8 +/* 802BDFD4 002B9C34 48 00 F8 75 */ bl func_802CD848 +/* 802BDFD8 002B9C38 2C 03 00 00 */ cmpwi r3, 0 +/* 802BDFDC 002B9C3C 41 82 00 18 */ beq lbl_802BDFF4 +/* 802BDFE0 002B9C40 7C 64 1B 78 */ mr r4, r3 +/* 802BDFE4 002B9C44 38 61 00 08 */ addi r3, r1, 8 +/* 802BDFE8 002B9C48 38 A0 00 08 */ li r5, 8 +/* 802BDFEC 002B9C4C 4B D4 60 15 */ bl memcpy +/* 802BDFF0 002B9C50 48 00 00 14 */ b lbl_802BE004 +lbl_802BDFF4: +/* 802BDFF4 002B9C54 38 61 00 08 */ addi r3, r1, 8 +/* 802BDFF8 002B9C58 38 80 00 00 */ li r4, 0 +/* 802BDFFC 002B9C5C 38 A0 00 08 */ li r5, 8 +/* 802BE000 002B9C60 4B D4 61 05 */ bl memset +lbl_802BE004: +/* 802BE004 002B9C64 88 9F 00 0E */ lbz r4, 0xe(r31) +/* 802BE008 002B9C68 38 7F 00 08 */ addi r3, r31, 8 +/* 802BE00C 002B9C6C 38 BF 00 0F */ addi r5, r31, 0xf +/* 802BE010 002B9C70 38 C1 00 08 */ addi r6, r1, 8 +/* 802BE014 002B9C74 48 00 CF 39 */ bl func_802CAF4C +/* 802BE018 002B9C78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BE01C 002B9C7C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BE020 002B9C80 7C 08 03 A6 */ mtlr r0 +/* 802BE024 002B9C84 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BE028 002B9C88 4E 80 00 20 */ blr +/* 802BE02C 002B9C8C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BE030 002B9C90 7C 08 02 A6 */ mflr r0 +/* 802BE034 002B9C94 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BE038 002B9C98 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BE03C 002B9C9C 7C 7F 1B 78 */ mr r31, r3 +/* 802BE040 002B9CA0 38 63 00 08 */ addi r3, r3, 8 +/* 802BE044 002B9CA4 48 00 F8 05 */ bl func_802CD848 +/* 802BE048 002B9CA8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE04C 002B9CAC 41 82 00 18 */ beq lbl_802BE064 +/* 802BE050 002B9CB0 7C 64 1B 78 */ mr r4, r3 +/* 802BE054 002B9CB4 38 61 00 08 */ addi r3, r1, 8 +/* 802BE058 002B9CB8 38 A0 00 08 */ li r5, 8 +/* 802BE05C 002B9CBC 4B D4 5F A5 */ bl memcpy +/* 802BE060 002B9CC0 48 00 00 14 */ b lbl_802BE074 +lbl_802BE064: +/* 802BE064 002B9CC4 38 61 00 08 */ addi r3, r1, 8 +/* 802BE068 002B9CC8 38 80 00 00 */ li r4, 0 +/* 802BE06C 002B9CCC 38 A0 00 08 */ li r5, 8 +/* 802BE070 002B9CD0 4B D4 60 95 */ bl memset +lbl_802BE074: +/* 802BE074 002B9CD4 88 1F 00 0E */ lbz r0, 0xe(r31) +/* 802BE078 002B9CD8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE07C 002B9CDC 41 82 00 20 */ beq lbl_802BE09C +/* 802BE080 002B9CE0 88 BF 00 0F */ lbz r5, 0xf(r31) +/* 802BE084 002B9CE4 38 7F 00 08 */ addi r3, r31, 8 +/* 802BE088 002B9CE8 38 DF 00 10 */ addi r6, r31, 0x10 +/* 802BE08C 002B9CEC 38 E1 00 08 */ addi r7, r1, 8 +/* 802BE090 002B9CF0 38 80 00 00 */ li r4, 0 +/* 802BE094 002B9CF4 48 00 CC 19 */ bl func_802CACAC +/* 802BE098 002B9CF8 48 00 00 1C */ b lbl_802BE0B4 +lbl_802BE09C: +/* 802BE09C 002B9CFC 38 7F 00 08 */ addi r3, r31, 8 +/* 802BE0A0 002B9D00 38 E1 00 08 */ addi r7, r1, 8 +/* 802BE0A4 002B9D04 38 80 00 0B */ li r4, 0xb +/* 802BE0A8 002B9D08 38 A0 00 00 */ li r5, 0 +/* 802BE0AC 002B9D0C 38 C0 00 00 */ li r6, 0 +/* 802BE0B0 002B9D10 48 00 CB FD */ bl func_802CACAC +lbl_802BE0B4: +/* 802BE0B4 002B9D14 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BE0B8 002B9D18 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BE0BC 002B9D1C 7C 08 03 A6 */ mtlr r0 +/* 802BE0C0 002B9D20 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BE0C4 002B9D24 4E 80 00 20 */ blr +/* 802BE0C8 002B9D28 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BE0CC 002B9D2C 7C 08 02 A6 */ mflr r0 +/* 802BE0D0 002B9D30 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BE0D4 002B9D34 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BE0D8 002B9D38 7C 7F 1B 78 */ mr r31, r3 +/* 802BE0DC 002B9D3C 38 63 00 08 */ addi r3, r3, 8 +/* 802BE0E0 002B9D40 48 00 F7 69 */ bl func_802CD848 +/* 802BE0E4 002B9D44 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE0E8 002B9D48 41 82 00 18 */ beq lbl_802BE100 +/* 802BE0EC 002B9D4C 7C 64 1B 78 */ mr r4, r3 +/* 802BE0F0 002B9D50 38 61 00 08 */ addi r3, r1, 8 +/* 802BE0F4 002B9D54 38 A0 00 08 */ li r5, 8 +/* 802BE0F8 002B9D58 4B D4 5F 09 */ bl memcpy +/* 802BE0FC 002B9D5C 48 00 00 14 */ b lbl_802BE110 +lbl_802BE100: +/* 802BE100 002B9D60 38 61 00 08 */ addi r3, r1, 8 +/* 802BE104 002B9D64 38 80 00 00 */ li r4, 0 +/* 802BE108 002B9D68 38 A0 00 08 */ li r5, 8 +/* 802BE10C 002B9D6C 4B D4 5F F9 */ bl memset +lbl_802BE110: +/* 802BE110 002B9D70 88 1F 00 0F */ lbz r0, 0xf(r31) +/* 802BE114 002B9D74 28 00 00 02 */ cmplwi r0, 2 +/* 802BE118 002B9D78 41 82 00 60 */ beq lbl_802BE178 +/* 802BE11C 002B9D7C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE120 002B9D80 40 82 00 44 */ bne lbl_802BE164 +/* 802BE124 002B9D84 88 1F 00 0E */ lbz r0, 0xe(r31) +/* 802BE128 002B9D88 28 00 00 17 */ cmplwi r0, 0x17 +/* 802BE12C 002B9D8C 41 81 00 38 */ bgt lbl_802BE164 +/* 802BE130 002B9D90 3C 60 80 40 */ lis r3, lbl_803FDB90@ha +/* 802BE134 002B9D94 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d +/* 802BE138 002B9D98 38 63 DB 90 */ addi r3, r3, lbl_803FDB90@l +/* 802BE13C 002B9D9C 38 A1 00 08 */ addi r5, r1, 8 +/* 802BE140 002B9DA0 7C 83 00 2E */ lwzx r4, r3, r0 +/* 802BE144 002B9DA4 38 60 00 01 */ li r3, 1 +/* 802BE148 002B9DA8 54 80 04 F4 */ rlwinm r0, r4, 0, 0x13, 0x1a +/* 802BE14C 002B9DAC 54 86 ED BA */ rlwinm r6, r4, 0x1d, 0x16, 0x1d +/* 802BE150 002B9DB0 7C 00 20 50 */ subf r0, r0, r4 +/* 802BE154 002B9DB4 7C 85 30 2E */ lwzx r4, r5, r6 +/* 802BE158 002B9DB8 7C 60 00 30 */ slw r0, r3, r0 +/* 802BE15C 002B9DBC 7C 80 03 78 */ or r0, r4, r0 +/* 802BE160 002B9DC0 7C 05 31 2E */ stwx r0, r5, r6 +lbl_802BE164: +/* 802BE164 002B9DC4 38 7F 00 08 */ addi r3, r31, 8 +/* 802BE168 002B9DC8 38 A1 00 08 */ addi r5, r1, 8 +/* 802BE16C 002B9DCC 38 80 00 00 */ li r4, 0 +/* 802BE170 002B9DD0 48 00 CC 01 */ bl func_802CAD70 +/* 802BE174 002B9DD4 48 00 00 14 */ b lbl_802BE188 +lbl_802BE178: +/* 802BE178 002B9DD8 38 7F 00 08 */ addi r3, r31, 8 +/* 802BE17C 002B9DDC 38 A1 00 08 */ addi r5, r1, 8 +/* 802BE180 002B9DE0 38 80 00 0B */ li r4, 0xb +/* 802BE184 002B9DE4 48 00 CB ED */ bl func_802CAD70 +lbl_802BE188: +/* 802BE188 002B9DE8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BE18C 002B9DEC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BE190 002B9DF0 7C 08 03 A6 */ mtlr r0 +/* 802BE194 002B9DF4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BE198 002B9DF8 4E 80 00 20 */ blr +/* 802BE19C 002B9DFC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BE1A0 002B9E00 7C 08 02 A6 */ mflr r0 +/* 802BE1A4 002B9E04 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BE1A8 002B9E08 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BE1AC 002B9E0C 7C 7F 1B 78 */ mr r31, r3 +/* 802BE1B0 002B9E10 38 60 00 00 */ li r3, 0 +/* 802BE1B4 002B9E14 48 00 9E 29 */ bl func_802C7FDC +/* 802BE1B8 002B9E18 80 1F 00 18 */ lwz r0, 0x18(r31) +/* 802BE1BC 002B9E1C 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BE1C0 002B9E20 3C 80 80 2C */ lis r4, lbl_802BEFC4@ha +/* 802BE1C4 002B9E24 3C A0 80 2C */ lis r5, lbl_802BF054@ha +/* 802BE1C8 002B9E28 90 03 87 98 */ stw r0, lbl_80568798@l(r3) +/* 802BE1CC 002B9E2C 38 C3 87 98 */ addi r6, r3, -30824 +/* 802BE1D0 002B9E30 38 7F 00 08 */ addi r3, r31, 8 +/* 802BE1D4 002B9E34 38 84 EF C4 */ addi r4, r4, lbl_802BEFC4@l +/* 802BE1D8 002B9E38 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 802BE1DC 002B9E3C 38 A5 F0 54 */ addi r5, r5, lbl_802BF054@l +/* 802BE1E0 002B9E40 90 06 00 08 */ stw r0, 8(r6) +/* 802BE1E4 002B9E44 48 00 98 31 */ bl func_802C7A14 +/* 802BE1E8 002B9E48 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BE1EC 002B9E4C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BE1F0 002B9E50 7C 08 03 A6 */ mtlr r0 +/* 802BE1F4 002B9E54 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BE1F8 002B9E58 4E 80 00 20 */ blr +/* 802BE1FC 002B9E5C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BE200 002B9E60 7C 08 02 A6 */ mflr r0 +/* 802BE204 002B9E64 38 60 00 00 */ li r3, 0 +/* 802BE208 002B9E68 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BE20C 002B9E6C 48 00 9D D1 */ bl func_802C7FDC +/* 802BE210 002B9E70 48 00 96 ED */ bl func_802C78FC +/* 802BE214 002B9E74 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BE218 002B9E78 41 82 00 40 */ beq lbl_802BE258 +/* 802BE21C 002B9E7C 48 00 96 F1 */ bl func_802C790C +/* 802BE220 002B9E80 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BE224 002B9E84 38 60 00 04 */ li r3, 4 +/* 802BE228 002B9E88 81 84 87 98 */ lwz r12, lbl_80568798@l(r4) +/* 802BE22C 002B9E8C 38 80 00 00 */ li r4, 0 +/* 802BE230 002B9E90 7D 89 03 A6 */ mtctr r12 +/* 802BE234 002B9E94 4E 80 04 21 */ bctrl +/* 802BE238 002B9E98 38 60 01 10 */ li r3, 0x110 +/* 802BE23C 002B9E9C 4B FF B8 71 */ bl func_802B9AAC +/* 802BE240 002B9EA0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE244 002B9EA4 41 82 00 2C */ beq lbl_802BE270 +/* 802BE248 002B9EA8 38 00 02 07 */ li r0, 0x207 +/* 802BE24C 002B9EAC B0 03 00 00 */ sth r0, 0(r3) +/* 802BE250 002B9EB0 4B FF F7 BD */ bl func_802BDA0C +/* 802BE254 002B9EB4 48 00 00 1C */ b lbl_802BE270 +lbl_802BE258: +/* 802BE258 002B9EB8 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BE25C 002B9EBC 38 63 87 98 */ addi r3, r3, lbl_80568798@l +/* 802BE260 002B9EC0 80 03 00 08 */ lwz r0, 8(r3) +/* 802BE264 002B9EC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE268 002B9EC8 40 82 00 08 */ bne lbl_802BE270 +/* 802BE26C 002B9ECC 48 00 9A 45 */ bl func_802C7CB0 +lbl_802BE270: +/* 802BE270 002B9ED0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BE274 002B9ED4 7C 08 03 A6 */ mtlr r0 +/* 802BE278 002B9ED8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BE27C 002B9EDC 4E 80 00 20 */ blr +/* 802BE280 002B9EE0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BE284 002B9EE4 7C 08 02 A6 */ mflr r0 +/* 802BE288 002B9EE8 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BE28C 002B9EEC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BE290 002B9EF0 38 00 00 00 */ li r0, 0 +/* 802BE294 002B9EF4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BE298 002B9EF8 3B E4 87 98 */ addi r31, r4, lbl_80568798@l +/* 802BE29C 002B9EFC 93 C1 00 08 */ stw r30, 8(r1) +/* 802BE2A0 002B9F00 7C 7E 1B 78 */ mr r30, r3 +/* 802BE2A4 002B9F04 80 A3 00 14 */ lwz r5, 0x14(r3) +/* 802BE2A8 002B9F08 90 A4 87 98 */ stw r5, -0x7868(r4) +/* 802BE2AC 002B9F0C 3C 80 80 2C */ lis r4, lbl_802BF0A0@ha +/* 802BE2B0 002B9F10 80 A3 00 10 */ lwz r5, 0x10(r3) +/* 802BE2B4 002B9F14 38 64 F0 A0 */ addi r3, r4, lbl_802BF0A0@l +/* 802BE2B8 002B9F18 90 BF 00 08 */ stw r5, 8(r31) +/* 802BE2BC 002B9F1C 90 BF 00 0C */ stw r5, 0xc(r31) +/* 802BE2C0 002B9F20 98 1F 00 70 */ stb r0, 0x70(r31) +/* 802BE2C4 002B9F24 90 1F 00 10 */ stw r0, 0x10(r31) +/* 802BE2C8 002B9F28 98 1F 00 20 */ stb r0, 0x20(r31) +/* 802BE2CC 002B9F2C 48 00 C6 65 */ bl func_802CA930 +/* 802BE2D0 002B9F30 38 7F 00 1A */ addi r3, r31, 0x1a +/* 802BE2D4 002B9F34 38 9E 00 08 */ addi r4, r30, 8 +/* 802BE2D8 002B9F38 4B FF F2 89 */ bl func_802BD560 +/* 802BE2DC 002B9F3C 80 1F 00 08 */ lwz r0, 8(r31) +/* 802BE2E0 002B9F40 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE2E4 002B9F44 41 82 00 10 */ beq lbl_802BE2F4 +/* 802BE2E8 002B9F48 38 7F 00 1A */ addi r3, r31, 0x1a +/* 802BE2EC 002B9F4C 48 00 0A 11 */ bl func_802BECFC +/* 802BE2F0 002B9F50 48 00 00 8C */ b lbl_802BE37C +lbl_802BE2F4: +/* 802BE2F4 002B9F54 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802BE2F8 002B9F58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802BE2FC 002B9F5C A0 83 06 4C */ lhz r4, 0x64c(r3) +/* 802BE300 002B9F60 28 04 75 30 */ cmplwi r4, 0x7530 +/* 802BE304 002B9F64 40 80 00 14 */ bge lbl_802BE318 +/* 802BE308 002B9F68 38 A4 00 64 */ addi r5, r4, 0x64 +/* 802BE30C 002B9F6C 38 7F 00 58 */ addi r3, r31, 0x58 +/* 802BE310 002B9F70 38 80 02 05 */ li r4, 0x205 +/* 802BE314 002B9F74 4B FF F7 15 */ bl func_802BDA28 +lbl_802BE318: +/* 802BE318 002B9F78 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BE31C 002B9F7C 3C 80 80 2C */ lis r4, lbl_802BF16C@ha +/* 802BE320 002B9F80 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BE324 002B9F84 38 7F 00 1A */ addi r3, r31, 0x1a +/* 802BE328 002B9F88 38 84 F1 6C */ addi r4, r4, lbl_802BF16C@l +/* 802BE32C 002B9F8C 48 00 98 9D */ bl func_802C7BC8 +/* 802BE330 002B9F90 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802BE334 002B9F94 28 00 00 01 */ cmplwi r0, 1 +/* 802BE338 002B9F98 41 82 00 44 */ beq lbl_802BE37C +/* 802BE33C 002B9F9C 38 7F 00 58 */ addi r3, r31, 0x58 +/* 802BE340 002B9FA0 4B FF F7 09 */ bl func_802BDA48 +/* 802BE344 002B9FA4 38 60 01 10 */ li r3, 0x110 +/* 802BE348 002B9FA8 4B FF B7 65 */ bl func_802B9AAC +/* 802BE34C 002B9FAC 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE350 002B9FB0 7C 7E 1B 78 */ mr r30, r3 +/* 802BE354 002B9FB4 41 82 00 28 */ beq lbl_802BE37C +/* 802BE358 002B9FB8 38 63 00 08 */ addi r3, r3, 8 +/* 802BE35C 002B9FBC 38 9F 00 1A */ addi r4, r31, 0x1a +/* 802BE360 002B9FC0 4B FF F2 01 */ bl func_802BD560 +/* 802BE364 002B9FC4 38 60 00 00 */ li r3, 0 +/* 802BE368 002B9FC8 38 00 02 04 */ li r0, 0x204 +/* 802BE36C 002B9FCC 98 7E 00 0E */ stb r3, 0xe(r30) +/* 802BE370 002B9FD0 7F C3 F3 78 */ mr r3, r30 +/* 802BE374 002B9FD4 B0 1E 00 00 */ sth r0, 0(r30) +/* 802BE378 002B9FD8 4B FF F6 95 */ bl func_802BDA0C +lbl_802BE37C: +/* 802BE37C 002B9FDC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BE380 002B9FE0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BE384 002B9FE4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BE388 002B9FE8 7C 08 03 A6 */ mtlr r0 +/* 802BE38C 002B9FEC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BE390 002B9FF0 4E 80 00 20 */ blr +/* 802BE394 002B9FF4 94 21 FD D0 */ stwu r1, -0x230(r1) +/* 802BE398 002B9FF8 7C 08 02 A6 */ mflr r0 +/* 802BE39C 002B9FFC 90 01 02 34 */ stw r0, 0x234(r1) +/* 802BE3A0 002BA000 39 61 02 30 */ addi r11, r1, 0x230 +/* 802BE3A4 002BA004 4B F0 8D 85 */ bl _savegpr_27 +/* 802BE3A8 002BA008 7C 7F 1B 78 */ mr r31, r3 +/* 802BE3AC 002BA00C 3B 60 00 01 */ li r27, 1 +/* 802BE3B0 002BA010 48 00 9A 39 */ bl func_802C7DE8 +/* 802BE3B4 002BA014 3F 80 80 57 */ lis r28, lbl_80568798@ha +/* 802BE3B8 002BA018 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE3BC 002BA01C 3B BC 87 98 */ addi r29, r28, lbl_80568798@l +/* 802BE3C0 002BA020 90 7D 00 04 */ stw r3, 4(r29) +/* 802BE3C4 002BA024 41 82 01 88 */ beq lbl_802BE54C +/* 802BE3C8 002BA028 80 1D 00 08 */ lwz r0, 8(r29) +/* 802BE3CC 002BA02C 3B 60 00 00 */ li r27, 0 +/* 802BE3D0 002BA030 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE3D4 002BA034 41 82 00 78 */ beq lbl_802BE44C +/* 802BE3D8 002BA038 38 63 00 02 */ addi r3, r3, 2 +/* 802BE3DC 002BA03C 48 00 5E 85 */ bl func_802C4260 +/* 802BE3E0 002BA040 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802BE3E4 002BA044 41 82 00 10 */ beq lbl_802BE3F4 +/* 802BE3E8 002BA048 38 00 00 00 */ li r0, 0 +/* 802BE3EC 002BA04C 98 1D 00 78 */ stb r0, 0x78(r29) +/* 802BE3F0 002BA050 48 00 00 0C */ b lbl_802BE3FC +lbl_802BE3F4: +/* 802BE3F4 002BA054 38 00 00 01 */ li r0, 1 +/* 802BE3F8 002BA058 98 1D 00 78 */ stb r0, 0x78(r29) +lbl_802BE3FC: +/* 802BE3FC 002BA05C 3F C0 80 57 */ lis r30, lbl_80568798@ha +/* 802BE400 002BA060 3C 60 80 2C */ lis r3, lbl_802BF0A0@ha +/* 802BE404 002BA064 3B DE 87 98 */ addi r30, r30, lbl_80568798@l +/* 802BE408 002BA068 3B A0 00 00 */ li r29, 0 +/* 802BE40C 002BA06C 9B BE 00 79 */ stb r29, 0x79(r30) +/* 802BE410 002BA070 38 63 F0 A0 */ addi r3, r3, lbl_802BF0A0@l +/* 802BE414 002BA074 48 00 C5 1D */ bl func_802CA930 +/* 802BE418 002BA078 80 1E 00 08 */ lwz r0, 8(r30) +/* 802BE41C 002BA07C 38 7E 00 1A */ addi r3, r30, 0x1a +/* 802BE420 002BA080 80 9E 00 04 */ lwz r4, 4(r30) +/* 802BE424 002BA084 9B BE 00 70 */ stb r29, 0x70(r30) +/* 802BE428 002BA088 38 84 00 02 */ addi r4, r4, 2 +/* 802BE42C 002BA08C 93 BE 00 10 */ stw r29, 0x10(r30) +/* 802BE430 002BA090 90 1E 00 0C */ stw r0, 0xc(r30) +/* 802BE434 002BA094 9B BE 00 20 */ stb r29, 0x20(r30) +/* 802BE438 002BA098 4B FF F1 29 */ bl func_802BD560 +/* 802BE43C 002BA09C 80 7E 00 04 */ lwz r3, 4(r30) +/* 802BE440 002BA0A0 38 63 00 02 */ addi r3, r3, 2 +/* 802BE444 002BA0A4 48 00 08 B9 */ bl func_802BECFC +/* 802BE448 002BA0A8 48 00 01 04 */ b lbl_802BE54C +lbl_802BE44C: +/* 802BE44C 002BA0AC 3B 60 00 01 */ li r27, 1 +/* 802BE450 002BA0B0 3B C0 00 00 */ li r30, 0 +/* 802BE454 002BA0B4 48 00 00 EC */ b lbl_802BE540 +lbl_802BE458: +/* 802BE458 002BA0B8 88 04 00 10 */ lbz r0, 0x10(r4) +/* 802BE45C 002BA0BC 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE460 002BA0C0 41 82 00 30 */ beq lbl_802BE490 +/* 802BE464 002BA0C4 38 61 00 08 */ addi r3, r1, 8 +/* 802BE468 002BA0C8 38 84 00 02 */ addi r4, r4, 2 +/* 802BE46C 002BA0CC 4B FF F0 F5 */ bl func_802BD560 +/* 802BE470 002BA0D0 81 9C 87 98 */ lwz r12, -0x7868(r28) +/* 802BE474 002BA0D4 38 81 00 08 */ addi r4, r1, 8 +/* 802BE478 002BA0D8 9B C1 00 0E */ stb r30, 0xe(r1) +/* 802BE47C 002BA0DC 38 60 00 02 */ li r3, 2 +/* 802BE480 002BA0E0 93 C1 01 08 */ stw r30, 0x108(r1) +/* 802BE484 002BA0E4 7D 89 03 A6 */ mtctr r12 +/* 802BE488 002BA0E8 4E 80 04 21 */ bctrl +/* 802BE48C 002BA0EC 48 00 00 A8 */ b lbl_802BE534 +lbl_802BE490: +/* 802BE490 002BA0F0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802BE494 002BA0F4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802BE498 002BA0F8 A0 83 06 4C */ lhz r4, 0x64c(r3) +/* 802BE49C 002BA0FC 28 04 75 30 */ cmplwi r4, 0x7530 +/* 802BE4A0 002BA100 40 80 00 1C */ bge lbl_802BE4BC +/* 802BE4A4 002BA104 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BE4A8 002BA108 38 A4 00 64 */ addi r5, r4, 0x64 +/* 802BE4AC 002BA10C 38 63 87 98 */ addi r3, r3, lbl_80568798@l +/* 802BE4B0 002BA110 38 80 02 05 */ li r4, 0x205 +/* 802BE4B4 002BA114 38 63 00 58 */ addi r3, r3, 0x58 +/* 802BE4B8 002BA118 4B FF F5 71 */ bl func_802BDA28 +lbl_802BE4BC: +/* 802BE4BC 002BA11C 3F C0 80 57 */ lis r30, lbl_80568798@ha +/* 802BE4C0 002BA120 3C 80 80 2C */ lis r4, lbl_802BF0E0@ha +/* 802BE4C4 002BA124 3B DE 87 98 */ addi r30, r30, lbl_80568798@l +/* 802BE4C8 002BA128 80 7E 00 04 */ lwz r3, 4(r30) +/* 802BE4CC 002BA12C 38 84 F0 E0 */ addi r4, r4, lbl_802BF0E0@l +/* 802BE4D0 002BA130 38 63 00 02 */ addi r3, r3, 2 +/* 802BE4D4 002BA134 48 00 96 F5 */ bl func_802C7BC8 +/* 802BE4D8 002BA138 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802BE4DC 002BA13C 28 00 00 01 */ cmplwi r0, 1 +/* 802BE4E0 002BA140 41 82 00 4C */ beq lbl_802BE52C +/* 802BE4E4 002BA144 38 7E 00 58 */ addi r3, r30, 0x58 +/* 802BE4E8 002BA148 4B FF F5 61 */ bl func_802BDA48 +/* 802BE4EC 002BA14C 80 9E 00 04 */ lwz r4, 4(r30) +/* 802BE4F0 002BA150 38 60 01 10 */ li r3, 0x110 +/* 802BE4F4 002BA154 3B 84 00 02 */ addi r28, r4, 2 +/* 802BE4F8 002BA158 4B FF B5 B5 */ bl func_802B9AAC +/* 802BE4FC 002BA15C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE500 002BA160 7C 7D 1B 78 */ mr r29, r3 +/* 802BE504 002BA164 41 82 00 28 */ beq lbl_802BE52C +/* 802BE508 002BA168 7F 84 E3 78 */ mr r4, r28 +/* 802BE50C 002BA16C 38 63 00 08 */ addi r3, r3, 8 +/* 802BE510 002BA170 4B FF F0 51 */ bl func_802BD560 +/* 802BE514 002BA174 38 60 00 00 */ li r3, 0 +/* 802BE518 002BA178 38 00 02 04 */ li r0, 0x204 +/* 802BE51C 002BA17C 98 7D 00 0E */ stb r3, 0xe(r29) +/* 802BE520 002BA180 7F A3 EB 78 */ mr r3, r29 +/* 802BE524 002BA184 B0 1D 00 00 */ sth r0, 0(r29) +/* 802BE528 002BA188 4B FF F4 E5 */ bl func_802BDA0C +lbl_802BE52C: +/* 802BE52C 002BA18C 3B 60 00 00 */ li r27, 0 +/* 802BE530 002BA190 48 00 00 1C */ b lbl_802BE54C +lbl_802BE534: +/* 802BE534 002BA194 80 7D 00 04 */ lwz r3, 4(r29) +/* 802BE538 002BA198 48 00 99 69 */ bl func_802C7EA0 +/* 802BE53C 002BA19C 90 7D 00 04 */ stw r3, 4(r29) +lbl_802BE540: +/* 802BE540 002BA1A0 80 9D 00 04 */ lwz r4, 4(r29) +/* 802BE544 002BA1A4 2C 04 00 00 */ cmpwi r4, 0 +/* 802BE548 002BA1A8 40 82 FF 10 */ bne lbl_802BE458 +lbl_802BE54C: +/* 802BE54C 002BA1AC 2C 1B 00 00 */ cmpwi r27, 0 +/* 802BE550 002BA1B0 41 82 00 30 */ beq lbl_802BE580 +/* 802BE554 002BA1B4 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BE558 002BA1B8 38 00 00 00 */ li r0, 0 +/* 802BE55C 002BA1BC 38 84 87 98 */ addi r4, r4, lbl_80568798@l +/* 802BE560 002BA1C0 38 60 01 10 */ li r3, 0x110 +/* 802BE564 002BA1C4 90 04 00 08 */ stw r0, 8(r4) +/* 802BE568 002BA1C8 4B FF B5 45 */ bl func_802B9AAC +/* 802BE56C 002BA1CC 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE570 002BA1D0 41 82 00 10 */ beq lbl_802BE580 +/* 802BE574 002BA1D4 38 00 02 07 */ li r0, 0x207 +/* 802BE578 002BA1D8 B0 03 00 00 */ sth r0, 0(r3) +/* 802BE57C 002BA1DC 4B FF F4 91 */ bl func_802BDA0C +lbl_802BE580: +/* 802BE580 002BA1E0 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BE584 002BA1E4 88 1F 00 08 */ lbz r0, 8(r31) +/* 802BE588 002BA1E8 81 83 87 98 */ lwz r12, lbl_80568798@l(r3) +/* 802BE58C 002BA1EC 38 81 01 10 */ addi r4, r1, 0x110 +/* 802BE590 002BA1F0 98 01 01 10 */ stb r0, 0x110(r1) +/* 802BE594 002BA1F4 38 60 00 01 */ li r3, 1 +/* 802BE598 002BA1F8 7D 89 03 A6 */ mtctr r12 +/* 802BE59C 002BA1FC 4E 80 04 21 */ bctrl +/* 802BE5A0 002BA200 39 61 02 30 */ addi r11, r1, 0x230 +/* 802BE5A4 002BA204 4B F0 8B D1 */ bl _restgpr_27 +/* 802BE5A8 002BA208 80 01 02 34 */ lwz r0, 0x234(r1) +/* 802BE5AC 002BA20C 7C 08 03 A6 */ mtlr r0 +/* 802BE5B0 002BA210 38 21 02 30 */ addi r1, r1, 0x230 +/* 802BE5B4 002BA214 4E 80 00 20 */ blr +/* 802BE5B8 002BA218 94 21 FE D0 */ stwu r1, -0x130(r1) +/* 802BE5BC 002BA21C 7C 08 02 A6 */ mflr r0 +/* 802BE5C0 002BA220 90 01 01 34 */ stw r0, 0x134(r1) +/* 802BE5C4 002BA224 39 61 01 30 */ addi r11, r1, 0x130 +/* 802BE5C8 002BA228 4B F0 8B 61 */ bl _savegpr_27 +/* 802BE5CC 002BA22C 3F 80 80 57 */ lis r28, lbl_80568798@ha +/* 802BE5D0 002BA230 7C 7F 1B 78 */ mr r31, r3 +/* 802BE5D4 002BA234 3B 60 00 01 */ li r27, 1 +/* 802BE5D8 002BA238 3B C0 00 00 */ li r30, 0 +/* 802BE5DC 002BA23C 3B BC 87 98 */ addi r29, r28, lbl_80568798@l +/* 802BE5E0 002BA240 48 00 00 DC */ b lbl_802BE6BC +lbl_802BE5E4: +/* 802BE5E4 002BA244 80 9D 00 04 */ lwz r4, 4(r29) +/* 802BE5E8 002BA248 88 04 00 10 */ lbz r0, 0x10(r4) +/* 802BE5EC 002BA24C 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE5F0 002BA250 41 82 00 30 */ beq lbl_802BE620 +/* 802BE5F4 002BA254 38 61 00 08 */ addi r3, r1, 8 +/* 802BE5F8 002BA258 38 84 00 02 */ addi r4, r4, 2 +/* 802BE5FC 002BA25C 4B FF EF 65 */ bl func_802BD560 +/* 802BE600 002BA260 81 9C 87 98 */ lwz r12, -0x7868(r28) +/* 802BE604 002BA264 38 81 00 08 */ addi r4, r1, 8 +/* 802BE608 002BA268 9B C1 00 0E */ stb r30, 0xe(r1) +/* 802BE60C 002BA26C 38 60 00 02 */ li r3, 2 +/* 802BE610 002BA270 93 C1 01 08 */ stw r30, 0x108(r1) +/* 802BE614 002BA274 7D 89 03 A6 */ mtctr r12 +/* 802BE618 002BA278 4E 80 04 21 */ bctrl +/* 802BE61C 002BA27C 48 00 00 A0 */ b lbl_802BE6BC +lbl_802BE620: +/* 802BE620 002BA280 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802BE624 002BA284 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802BE628 002BA288 A0 83 06 4C */ lhz r4, 0x64c(r3) +/* 802BE62C 002BA28C 28 04 75 30 */ cmplwi r4, 0x7530 +/* 802BE630 002BA290 40 80 00 14 */ bge lbl_802BE644 +/* 802BE634 002BA294 38 A4 00 64 */ addi r5, r4, 0x64 +/* 802BE638 002BA298 38 7D 00 58 */ addi r3, r29, 0x58 +/* 802BE63C 002BA29C 38 80 02 05 */ li r4, 0x205 +/* 802BE640 002BA2A0 4B FF F3 E9 */ bl func_802BDA28 +lbl_802BE644: +/* 802BE644 002BA2A4 3F C0 80 57 */ lis r30, lbl_80568798@ha +/* 802BE648 002BA2A8 3C 80 80 2C */ lis r4, lbl_802BF0E0@ha +/* 802BE64C 002BA2AC 3B DE 87 98 */ addi r30, r30, lbl_80568798@l +/* 802BE650 002BA2B0 80 7E 00 04 */ lwz r3, 4(r30) +/* 802BE654 002BA2B4 38 84 F0 E0 */ addi r4, r4, lbl_802BF0E0@l +/* 802BE658 002BA2B8 38 63 00 02 */ addi r3, r3, 2 +/* 802BE65C 002BA2BC 48 00 95 6D */ bl func_802C7BC8 +/* 802BE660 002BA2C0 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802BE664 002BA2C4 28 00 00 01 */ cmplwi r0, 1 +/* 802BE668 002BA2C8 41 82 00 4C */ beq lbl_802BE6B4 +/* 802BE66C 002BA2CC 38 7E 00 58 */ addi r3, r30, 0x58 +/* 802BE670 002BA2D0 4B FF F3 D9 */ bl func_802BDA48 +/* 802BE674 002BA2D4 80 9E 00 04 */ lwz r4, 4(r30) +/* 802BE678 002BA2D8 38 60 01 10 */ li r3, 0x110 +/* 802BE67C 002BA2DC 3B 84 00 02 */ addi r28, r4, 2 +/* 802BE680 002BA2E0 4B FF B4 2D */ bl func_802B9AAC +/* 802BE684 002BA2E4 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE688 002BA2E8 7C 7D 1B 78 */ mr r29, r3 +/* 802BE68C 002BA2EC 41 82 00 28 */ beq lbl_802BE6B4 +/* 802BE690 002BA2F0 7F 84 E3 78 */ mr r4, r28 +/* 802BE694 002BA2F4 38 63 00 08 */ addi r3, r3, 8 +/* 802BE698 002BA2F8 4B FF EE C9 */ bl func_802BD560 +/* 802BE69C 002BA2FC 38 60 00 00 */ li r3, 0 +/* 802BE6A0 002BA300 38 00 02 04 */ li r0, 0x204 +/* 802BE6A4 002BA304 98 7D 00 0E */ stb r3, 0xe(r29) +/* 802BE6A8 002BA308 7F A3 EB 78 */ mr r3, r29 +/* 802BE6AC 002BA30C B0 1D 00 00 */ sth r0, 0(r29) +/* 802BE6B0 002BA310 4B FF F3 5D */ bl func_802BDA0C +lbl_802BE6B4: +/* 802BE6B4 002BA314 3B 60 00 00 */ li r27, 0 +/* 802BE6B8 002BA318 48 00 00 18 */ b lbl_802BE6D0 +lbl_802BE6BC: +/* 802BE6BC 002BA31C 80 7D 00 04 */ lwz r3, 4(r29) +/* 802BE6C0 002BA320 48 00 97 E1 */ bl func_802C7EA0 +/* 802BE6C4 002BA324 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE6C8 002BA328 90 7D 00 04 */ stw r3, 4(r29) +/* 802BE6CC 002BA32C 40 82 FF 18 */ bne lbl_802BE5E4 +lbl_802BE6D0: +/* 802BE6D0 002BA330 2C 1B 00 00 */ cmpwi r27, 0 +/* 802BE6D4 002BA334 41 82 00 20 */ beq lbl_802BE6F4 +/* 802BE6D8 002BA338 38 60 01 10 */ li r3, 0x110 +/* 802BE6DC 002BA33C 4B FF B3 D1 */ bl func_802B9AAC +/* 802BE6E0 002BA340 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE6E4 002BA344 41 82 00 10 */ beq lbl_802BE6F4 +/* 802BE6E8 002BA348 38 00 02 07 */ li r0, 0x207 +/* 802BE6EC 002BA34C B0 03 00 00 */ sth r0, 0(r3) +/* 802BE6F0 002BA350 4B FF F3 1D */ bl func_802BDA0C +lbl_802BE6F4: +/* 802BE6F4 002BA354 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BE6F8 002BA358 38 9F 00 08 */ addi r4, r31, 8 +/* 802BE6FC 002BA35C 81 83 87 98 */ lwz r12, lbl_80568798@l(r3) +/* 802BE700 002BA360 38 60 00 02 */ li r3, 2 +/* 802BE704 002BA364 7D 89 03 A6 */ mtctr r12 +/* 802BE708 002BA368 4E 80 04 21 */ bctrl +/* 802BE70C 002BA36C 39 61 01 30 */ addi r11, r1, 0x130 +/* 802BE710 002BA370 4B F0 8A 65 */ bl _restgpr_27 +/* 802BE714 002BA374 80 01 01 34 */ lwz r0, 0x134(r1) +/* 802BE718 002BA378 7C 08 03 A6 */ mtlr r0 +/* 802BE71C 002BA37C 38 21 01 30 */ addi r1, r1, 0x130 +/* 802BE720 002BA380 4E 80 00 20 */ blr +/* 802BE724 002BA384 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BE728 002BA388 7C 08 02 A6 */ mflr r0 +/* 802BE72C 002BA38C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BE730 002BA390 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BE734 002BA394 7C 7F 1B 78 */ mr r31, r3 +/* 802BE738 002BA398 38 60 01 10 */ li r3, 0x110 +/* 802BE73C 002BA39C 4B FF B3 71 */ bl func_802B9AAC +/* 802BE740 002BA3A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE744 002BA3A4 41 82 00 10 */ beq lbl_802BE754 +/* 802BE748 002BA3A8 38 00 02 07 */ li r0, 0x207 +/* 802BE74C 002BA3AC B0 03 00 00 */ sth r0, 0(r3) +/* 802BE750 002BA3B0 4B FF F2 BD */ bl func_802BDA0C +lbl_802BE754: +/* 802BE754 002BA3B4 38 00 00 00 */ li r0, 0 +/* 802BE758 002BA3B8 3C A0 80 57 */ lis r5, lbl_80568798@ha +/* 802BE75C 002BA3BC 90 1F 01 08 */ stw r0, 0x108(r31) +/* 802BE760 002BA3C0 38 9F 00 08 */ addi r4, r31, 8 +/* 802BE764 002BA3C4 38 60 00 02 */ li r3, 2 +/* 802BE768 002BA3C8 81 85 87 98 */ lwz r12, lbl_80568798@l(r5) +/* 802BE76C 002BA3CC 7D 89 03 A6 */ mtctr r12 +/* 802BE770 002BA3D0 4E 80 04 21 */ bctrl +/* 802BE774 002BA3D4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BE778 002BA3D8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BE77C 002BA3DC 7C 08 03 A6 */ mtlr r0 +/* 802BE780 002BA3E0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BE784 002BA3E4 4E 80 00 20 */ blr +/* 802BE788 002BA3E8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BE78C 002BA3EC 7C 08 02 A6 */ mflr r0 +/* 802BE790 002BA3F0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BE794 002BA3F4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BE798 002BA3F8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BE79C 002BA3FC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BE7A0 002BA400 3B A0 00 00 */ li r29, 0 +/* 802BE7A4 002BA404 A0 A3 00 08 */ lhz r5, 8(r3) +/* 802BE7A8 002BA408 38 60 00 00 */ li r3, 0 +/* 802BE7AC 002BA40C 2C 05 00 00 */ cmpwi r5, 0 +/* 802BE7B0 002BA410 41 82 00 14 */ beq lbl_802BE7C4 +/* 802BE7B4 002BA414 28 05 FF F0 */ cmplwi r5, 0xfff0 +/* 802BE7B8 002BA418 41 82 00 0C */ beq lbl_802BE7C4 +/* 802BE7BC 002BA41C 28 05 FF F4 */ cmplwi r5, 0xfff4 +/* 802BE7C0 002BA420 40 82 01 54 */ bne lbl_802BE914 +lbl_802BE7C4: +/* 802BE7C4 002BA424 3C C0 80 57 */ lis r6, lbl_80568798@ha +/* 802BE7C8 002BA428 3C 80 80 40 */ lis r4, lbl_803FDB60@ha +/* 802BE7CC 002BA42C 38 C6 87 98 */ addi r6, r6, lbl_80568798@l +/* 802BE7D0 002BA430 28 05 FF F4 */ cmplwi r5, 0xfff4 +/* 802BE7D4 002BA434 88 A6 00 70 */ lbz r5, 0x70(r6) +/* 802BE7D8 002BA438 38 84 DB 60 */ addi r4, r4, lbl_803FDB60@l +/* 802BE7DC 002BA43C 38 05 FF FF */ addi r0, r5, -1 +/* 802BE7E0 002BA440 54 00 08 3C */ slwi r0, r0, 1 +/* 802BE7E4 002BA444 7F C4 02 2E */ lhzx r30, r4, r0 +/* 802BE7E8 002BA448 41 82 00 1C */ beq lbl_802BE804 +/* 802BE7EC 002BA44C 80 66 00 14 */ lwz r3, 0x14(r6) +/* 802BE7F0 002BA450 7F C4 F3 78 */ mr r4, r30 +/* 802BE7F4 002BA454 38 A0 00 00 */ li r5, 0 +/* 802BE7F8 002BA458 48 02 3A 51 */ bl func_802E2248 +/* 802BE7FC 002BA45C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE800 002BA460 41 82 00 64 */ beq lbl_802BE864 +lbl_802BE804: +/* 802BE804 002BA464 28 1E 12 00 */ cmplwi r30, 0x1200 +/* 802BE808 002BA468 40 82 00 2C */ bne lbl_802BE834 +/* 802BE80C 002BA46C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE810 002BA470 41 82 00 28 */ beq lbl_802BE838 +/* 802BE814 002BA474 3C 80 00 01 */ lis r4, 0x00008001@ha +/* 802BE818 002BA478 38 04 80 01 */ addi r0, r4, 0x00008001@l +/* 802BE81C 002BA47C 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802BE820 002BA480 48 02 3A 01 */ bl func_802E2220 +/* 802BE824 002BA484 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE828 002BA488 41 82 00 10 */ beq lbl_802BE838 +/* 802BE82C 002BA48C 3B A0 00 01 */ li r29, 1 +/* 802BE830 002BA490 48 00 00 08 */ b lbl_802BE838 +lbl_802BE834: +/* 802BE834 002BA494 3B A0 00 01 */ li r29, 1 +lbl_802BE838: +/* 802BE838 002BA498 2C 1D 00 00 */ cmpwi r29, 0 +/* 802BE83C 002BA49C 41 82 00 28 */ beq lbl_802BE864 +/* 802BE840 002BA4A0 3C C0 80 57 */ lis r6, lbl_80568798@ha +/* 802BE844 002BA4A4 38 80 00 01 */ li r4, 1 +/* 802BE848 002BA4A8 38 C6 87 98 */ addi r6, r6, lbl_80568798@l +/* 802BE84C 002BA4AC 88 66 00 70 */ lbz r3, 0x70(r6) +/* 802BE850 002BA4B0 80 A6 00 10 */ lwz r5, 0x10(r6) +/* 802BE854 002BA4B4 38 03 FF FF */ addi r0, r3, -1 +/* 802BE858 002BA4B8 7C 80 00 30 */ slw r0, r4, r0 +/* 802BE85C 002BA4BC 7C A0 03 78 */ or r0, r5, r0 +/* 802BE860 002BA4C0 90 06 00 10 */ stw r0, 0x10(r6) +lbl_802BE864: +/* 802BE864 002BA4C4 3F C0 80 57 */ lis r30, lbl_80568798@ha +/* 802BE868 002BA4C8 3B DE 87 98 */ addi r30, r30, lbl_80568798@l +/* 802BE86C 002BA4CC 80 7E 00 14 */ lwz r3, 0x14(r30) +/* 802BE870 002BA4D0 4B FF B4 C5 */ bl func_802B9D34 +/* 802BE874 002BA4D4 80 1E 00 0C */ lwz r0, 0xc(r30) +/* 802BE878 002BA4D8 3B E0 00 00 */ li r31, 0 +/* 802BE87C 002BA4DC 93 FE 00 14 */ stw r31, 0x14(r30) +/* 802BE880 002BA4E0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BE884 002BA4E4 41 82 00 10 */ beq lbl_802BE894 +/* 802BE888 002BA4E8 38 7E 00 1A */ addi r3, r30, 0x1a +/* 802BE88C 002BA4EC 48 00 04 71 */ bl func_802BECFC +/* 802BE890 002BA4F0 48 00 01 44 */ b lbl_802BE9D4 +lbl_802BE894: +/* 802BE894 002BA4F4 3C 60 80 2C */ lis r3, lbl_802BF0A0@ha +/* 802BE898 002BA4F8 38 63 F0 A0 */ addi r3, r3, lbl_802BF0A0@l +/* 802BE89C 002BA4FC 48 00 C0 E5 */ bl func_802CA980 +/* 802BE8A0 002BA500 38 60 01 10 */ li r3, 0x110 +/* 802BE8A4 002BA504 4B FF B2 09 */ bl func_802B9AAC +/* 802BE8A8 002BA508 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE8AC 002BA50C 7C 7D 1B 78 */ mr r29, r3 +/* 802BE8B0 002BA510 41 82 01 24 */ beq lbl_802BE9D4 +/* 802BE8B4 002BA514 38 00 02 08 */ li r0, 0x208 +/* 802BE8B8 002BA518 38 9E 00 1A */ addi r4, r30, 0x1a +/* 802BE8BC 002BA51C B0 03 00 00 */ sth r0, 0(r3) +/* 802BE8C0 002BA520 9B E3 01 0C */ stb r31, 0x10c(r3) +/* 802BE8C4 002BA524 80 1E 00 10 */ lwz r0, 0x10(r30) +/* 802BE8C8 002BA528 90 03 01 08 */ stw r0, 0x108(r3) +/* 802BE8CC 002BA52C 38 63 00 08 */ addi r3, r3, 8 +/* 802BE8D0 002BA530 4B FF EC 91 */ bl func_802BD560 +/* 802BE8D4 002BA534 88 1E 00 20 */ lbz r0, 0x20(r30) +/* 802BE8D8 002BA538 3B FE 00 20 */ addi r31, r30, 0x20 +/* 802BE8DC 002BA53C 7C 00 07 75 */ extsb. r0, r0 +/* 802BE8E0 002BA540 40 82 00 18 */ bne lbl_802BE8F8 +/* 802BE8E4 002BA544 38 7E 00 1A */ addi r3, r30, 0x1a +/* 802BE8E8 002BA548 48 00 6A BD */ bl func_802C53A4 +/* 802BE8EC 002BA54C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE8F0 002BA550 41 82 00 08 */ beq lbl_802BE8F8 +/* 802BE8F4 002BA554 7C 7F 1B 78 */ mr r31, r3 +lbl_802BE8F8: +/* 802BE8F8 002BA558 7F E4 FB 78 */ mr r4, r31 +/* 802BE8FC 002BA55C 38 7D 00 0E */ addi r3, r29, 0xe +/* 802BE900 002BA560 38 A0 00 20 */ li r5, 0x20 +/* 802BE904 002BA564 4B F0 FA 8D */ bl strncpy +/* 802BE908 002BA568 7F A3 EB 78 */ mr r3, r29 +/* 802BE90C 002BA56C 4B FF F1 01 */ bl func_802BDA0C +/* 802BE910 002BA570 48 00 00 C4 */ b lbl_802BE9D4 +lbl_802BE914: +/* 802BE914 002BA574 28 05 FF F1 */ cmplwi r5, 0xfff1 +/* 802BE918 002BA578 41 82 00 14 */ beq lbl_802BE92C +/* 802BE91C 002BA57C 38 05 00 0A */ addi r0, r5, 0xa +/* 802BE920 002BA580 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 802BE924 002BA584 28 00 00 01 */ cmplwi r0, 1 +/* 802BE928 002BA588 41 81 00 14 */ bgt lbl_802BE93C +lbl_802BE92C: +/* 802BE92C 002BA58C 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BE930 002BA590 38 00 00 00 */ li r0, 0 +/* 802BE934 002BA594 38 63 87 98 */ addi r3, r3, lbl_80568798@l +/* 802BE938 002BA598 98 03 00 78 */ stb r0, 0x78(r3) +lbl_802BE93C: +/* 802BE93C 002BA59C 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BE940 002BA5A0 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BE944 002BA5A4 80 7F 00 14 */ lwz r3, 0x14(r31) +/* 802BE948 002BA5A8 4B FF B3 ED */ bl func_802B9D34 +/* 802BE94C 002BA5AC 38 00 00 00 */ li r0, 0 +/* 802BE950 002BA5B0 3C 60 80 2C */ lis r3, lbl_802BF0A0@ha +/* 802BE954 002BA5B4 90 1F 00 14 */ stw r0, 0x14(r31) +/* 802BE958 002BA5B8 38 63 F0 A0 */ addi r3, r3, lbl_802BF0A0@l +/* 802BE95C 002BA5BC 48 00 C0 25 */ bl func_802CA980 +/* 802BE960 002BA5C0 38 60 01 10 */ li r3, 0x110 +/* 802BE964 002BA5C4 4B FF B1 49 */ bl func_802B9AAC +/* 802BE968 002BA5C8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE96C 002BA5CC 7C 7D 1B 78 */ mr r29, r3 +/* 802BE970 002BA5D0 41 82 00 64 */ beq lbl_802BE9D4 +/* 802BE974 002BA5D4 38 80 02 08 */ li r4, 0x208 +/* 802BE978 002BA5D8 38 00 00 01 */ li r0, 1 +/* 802BE97C 002BA5DC B0 83 00 00 */ sth r4, 0(r3) +/* 802BE980 002BA5E0 38 9F 00 1A */ addi r4, r31, 0x1a +/* 802BE984 002BA5E4 98 03 01 0C */ stb r0, 0x10c(r3) +/* 802BE988 002BA5E8 80 1F 00 10 */ lwz r0, 0x10(r31) +/* 802BE98C 002BA5EC 90 03 01 08 */ stw r0, 0x108(r3) +/* 802BE990 002BA5F0 38 63 00 08 */ addi r3, r3, 8 +/* 802BE994 002BA5F4 4B FF EB CD */ bl func_802BD560 +/* 802BE998 002BA5F8 88 1F 00 20 */ lbz r0, 0x20(r31) +/* 802BE99C 002BA5FC 3B DF 00 20 */ addi r30, r31, 0x20 +/* 802BE9A0 002BA600 7C 00 07 75 */ extsb. r0, r0 +/* 802BE9A4 002BA604 40 82 00 18 */ bne lbl_802BE9BC +/* 802BE9A8 002BA608 38 7F 00 1A */ addi r3, r31, 0x1a +/* 802BE9AC 002BA60C 48 00 69 F9 */ bl func_802C53A4 +/* 802BE9B0 002BA610 2C 03 00 00 */ cmpwi r3, 0 +/* 802BE9B4 002BA614 41 82 00 08 */ beq lbl_802BE9BC +/* 802BE9B8 002BA618 7C 7E 1B 78 */ mr r30, r3 +lbl_802BE9BC: +/* 802BE9BC 002BA61C 7F C4 F3 78 */ mr r4, r30 +/* 802BE9C0 002BA620 38 7D 00 0E */ addi r3, r29, 0xe +/* 802BE9C4 002BA624 38 A0 00 20 */ li r5, 0x20 +/* 802BE9C8 002BA628 4B F0 F9 C9 */ bl strncpy +/* 802BE9CC 002BA62C 7F A3 EB 78 */ mr r3, r29 +/* 802BE9D0 002BA630 4B FF F0 3D */ bl func_802BDA0C +lbl_802BE9D4: +/* 802BE9D4 002BA634 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BE9D8 002BA638 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BE9DC 002BA63C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BE9E0 002BA640 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BE9E4 002BA644 7C 08 03 A6 */ mtlr r0 +/* 802BE9E8 002BA648 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BE9EC 002BA64C 4E 80 00 20 */ blr +/* 802BE9F0 002BA650 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BE9F4 002BA654 38 60 00 03 */ li r3, 3 +/* 802BE9F8 002BA658 81 84 87 98 */ lwz r12, lbl_80568798@l(r4) +/* 802BE9FC 002BA65C 38 80 00 00 */ li r4, 0 +/* 802BEA00 002BA660 7D 89 03 A6 */ mtctr r12 +/* 802BEA04 002BA664 4E 80 04 20 */ bctr +/* 802BEA08 002BA668 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEA0C 002BA66C 7C 08 02 A6 */ mflr r0 +/* 802BEA10 002BA670 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BEA14 002BA674 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEA18 002BA678 81 84 87 98 */ lwz r12, lbl_80568798@l(r4) +/* 802BEA1C 002BA67C 38 83 00 08 */ addi r4, r3, 8 +/* 802BEA20 002BA680 38 60 00 02 */ li r3, 2 +/* 802BEA24 002BA684 7D 89 03 A6 */ mtctr r12 +/* 802BEA28 002BA688 4E 80 04 21 */ bctrl +/* 802BEA2C 002BA68C 38 60 01 10 */ li r3, 0x110 +/* 802BEA30 002BA690 4B FF B0 7D */ bl func_802B9AAC +/* 802BEA34 002BA694 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEA38 002BA698 41 82 00 10 */ beq lbl_802BEA48 +/* 802BEA3C 002BA69C 38 00 02 07 */ li r0, 0x207 +/* 802BEA40 002BA6A0 B0 03 00 00 */ sth r0, 0(r3) +/* 802BEA44 002BA6A4 4B FF EF C9 */ bl func_802BDA0C +lbl_802BEA48: +/* 802BEA48 002BA6A8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEA4C 002BA6AC 7C 08 03 A6 */ mtlr r0 +/* 802BEA50 002BA6B0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEA54 002BA6B4 4E 80 00 20 */ blr +/* 802BEA58 002BA6B8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEA5C 002BA6BC 7C 08 02 A6 */ mflr r0 +/* 802BEA60 002BA6C0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEA64 002BA6C4 80 03 01 08 */ lwz r0, 0x108(r3) +/* 802BEA68 002BA6C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802BEA6C 002BA6CC 41 82 00 1C */ beq lbl_802BEA88 +/* 802BEA70 002BA6D0 3C A0 80 57 */ lis r5, lbl_80568798@ha +/* 802BEA74 002BA6D4 38 83 00 08 */ addi r4, r3, 8 +/* 802BEA78 002BA6D8 81 85 87 98 */ lwz r12, lbl_80568798@l(r5) +/* 802BEA7C 002BA6DC 38 60 00 02 */ li r3, 2 +/* 802BEA80 002BA6E0 7D 89 03 A6 */ mtctr r12 +/* 802BEA84 002BA6E4 4E 80 04 21 */ bctrl +lbl_802BEA88: +/* 802BEA88 002BA6E8 3C C0 80 57 */ lis r6, lbl_80568798@ha +/* 802BEA8C 002BA6EC 38 C6 87 98 */ addi r6, r6, lbl_80568798@l +/* 802BEA90 002BA6F0 88 06 00 78 */ lbz r0, 0x78(r6) +/* 802BEA94 002BA6F4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BEA98 002BA6F8 40 82 00 14 */ bne lbl_802BEAAC +/* 802BEA9C 002BA6FC 38 00 00 00 */ li r0, 0 +/* 802BEAA0 002BA700 98 06 00 78 */ stb r0, 0x78(r6) +/* 802BEAA4 002BA704 48 00 03 F9 */ bl func_802BEE9C +/* 802BEAA8 002BA708 48 00 00 28 */ b lbl_802BEAD0 +lbl_802BEAAC: +/* 802BEAAC 002BA70C 3C A0 80 2C */ lis r5, lbl_802BEAE0@ha +/* 802BEAB0 002BA710 38 00 00 01 */ li r0, 1 +/* 802BEAB4 002BA714 38 A5 EA E0 */ addi r5, r5, lbl_802BEAE0@l +/* 802BEAB8 002BA718 98 06 00 79 */ stb r0, 0x79(r6) +/* 802BEABC 002BA71C 38 66 00 40 */ addi r3, r6, 0x40 +/* 802BEAC0 002BA720 38 80 00 00 */ li r4, 0 +/* 802BEAC4 002BA724 90 A6 00 48 */ stw r5, 0x48(r6) +/* 802BEAC8 002BA728 38 A0 0B B8 */ li r5, 0xbb8 +/* 802BEACC 002BA72C 4B FF EF 5D */ bl func_802BDA28 +lbl_802BEAD0: +/* 802BEAD0 002BA730 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEAD4 002BA734 7C 08 03 A6 */ mtlr r0 +/* 802BEAD8 002BA738 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEADC 002BA73C 4E 80 00 20 */ blr +lbl_802BEAE0: +/* 802BEAE0 002BA740 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEAE4 002BA744 7C 08 02 A6 */ mflr r0 +/* 802BEAE8 002BA748 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEAEC 002BA74C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BEAF0 002BA750 28 00 00 04 */ cmplwi r0, 4 +/* 802BEAF4 002BA754 41 80 00 14 */ blt lbl_802BEB08 +/* 802BEAF8 002BA758 3C 80 80 44 */ lis r4, lbl_80440088@ha +/* 802BEAFC 002BA75C 38 60 05 03 */ li r3, 0x503 +/* 802BEB00 002BA760 38 84 00 88 */ addi r4, r4, lbl_80440088@l +/* 802BEB04 002BA764 4B FF E4 0D */ bl func_802BCF10 +lbl_802BEB08: +/* 802BEB08 002BA768 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BEB0C 002BA76C 38 00 00 00 */ li r0, 0 +/* 802BEB10 002BA770 38 63 87 98 */ addi r3, r3, lbl_80568798@l +/* 802BEB14 002BA774 98 03 00 78 */ stb r0, 0x78(r3) +/* 802BEB18 002BA778 48 00 03 85 */ bl func_802BEE9C +/* 802BEB1C 002BA77C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEB20 002BA780 7C 08 03 A6 */ mtlr r0 +/* 802BEB24 002BA784 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEB28 002BA788 4E 80 00 20 */ blr +/* 802BEB2C 002BA78C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEB30 002BA790 7C 08 02 A6 */ mflr r0 +/* 802BEB34 002BA794 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEB38 002BA798 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEB3C 002BA79C 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BEB40 002BA7A0 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BEB44 002BA7A4 80 7F 00 14 */ lwz r3, 0x14(r31) +/* 802BEB48 002BA7A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEB4C 002BA7AC 41 82 00 10 */ beq lbl_802BEB5C +/* 802BEB50 002BA7B0 4B FF B1 E5 */ bl func_802B9D34 +/* 802BEB54 002BA7B4 38 00 00 00 */ li r0, 0 +/* 802BEB58 002BA7B8 90 1F 00 14 */ stw r0, 0x14(r31) +lbl_802BEB5C: +/* 802BEB5C 002BA7BC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEB60 002BA7C0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BEB64 002BA7C4 7C 08 03 A6 */ mtlr r0 +/* 802BEB68 002BA7C8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEB6C 002BA7CC 4E 80 00 20 */ blr +/* 802BEB70 002BA7D0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEB74 002BA7D4 7C 08 02 A6 */ mflr r0 +/* 802BEB78 002BA7D8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEB7C 002BA7DC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEB80 002BA7E0 7C 7F 1B 78 */ mr r31, r3 +/* 802BEB84 002BA7E4 38 60 00 1C */ li r3, 0x1c +/* 802BEB88 002BA7E8 4B FF AF 25 */ bl func_802B9AAC +/* 802BEB8C 002BA7EC 3C C0 80 57 */ lis r6, lbl_80568798@ha +/* 802BEB90 002BA7F0 7F E4 FB 78 */ mr r4, r31 +/* 802BEB94 002BA7F4 38 C6 87 98 */ addi r6, r6, lbl_80568798@l +/* 802BEB98 002BA7F8 38 A0 00 1C */ li r5, 0x1c +/* 802BEB9C 002BA7FC 90 66 00 74 */ stw r3, 0x74(r6) +/* 802BEBA0 002BA800 4B D4 54 61 */ bl memcpy +/* 802BEBA4 002BA804 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEBA8 002BA808 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BEBAC 002BA80C 7C 08 03 A6 */ mtlr r0 +/* 802BEBB0 002BA810 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEBB4 002BA814 4E 80 00 20 */ blr +/* 802BEBB8 002BA818 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEBBC 002BA81C 7C 08 02 A6 */ mflr r0 +/* 802BEBC0 002BA820 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEBC4 002BA824 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEBC8 002BA828 7C 7F 1B 78 */ mr r31, r3 +/* 802BEBCC 002BA82C 38 60 00 18 */ li r3, 0x18 +/* 802BEBD0 002BA830 4B FF AE DD */ bl func_802B9AAC +/* 802BEBD4 002BA834 3C C0 80 57 */ lis r6, lbl_80568798@ha +/* 802BEBD8 002BA838 7F E4 FB 78 */ mr r4, r31 +/* 802BEBDC 002BA83C 38 C6 87 98 */ addi r6, r6, lbl_80568798@l +/* 802BEBE0 002BA840 38 A0 00 18 */ li r5, 0x18 +/* 802BEBE4 002BA844 90 66 00 74 */ stw r3, 0x74(r6) +/* 802BEBE8 002BA848 4B D4 54 19 */ bl memcpy +/* 802BEBEC 002BA84C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEBF0 002BA850 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BEBF4 002BA854 7C 08 03 A6 */ mtlr r0 +/* 802BEBF8 002BA858 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEBFC 002BA85C 4E 80 00 20 */ blr +/* 802BEC00 002BA860 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEC04 002BA864 7C 08 02 A6 */ mflr r0 +/* 802BEC08 002BA868 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEC0C 002BA86C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEC10 002BA870 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BEC14 002BA874 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BEC18 002BA878 80 7F 00 74 */ lwz r3, 0x74(r31) +/* 802BEC1C 002BA87C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEC20 002BA880 41 82 00 10 */ beq lbl_802BEC30 +/* 802BEC24 002BA884 4B FF B1 11 */ bl func_802B9D34 +/* 802BEC28 002BA888 38 00 00 00 */ li r0, 0 +/* 802BEC2C 002BA88C 90 1F 00 74 */ stw r0, 0x74(r31) +lbl_802BEC30: +/* 802BEC30 002BA890 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEC34 002BA894 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BEC38 002BA898 7C 08 03 A6 */ mtlr r0 +/* 802BEC3C 002BA89C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEC40 002BA8A0 4E 80 00 20 */ blr +/* 802BEC44 002BA8A4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEC48 002BA8A8 7C 08 02 A6 */ mflr r0 +/* 802BEC4C 002BA8AC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEC50 002BA8B0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEC54 002BA8B4 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BEC58 002BA8B8 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BEC5C 002BA8BC 80 7F 00 74 */ lwz r3, 0x74(r31) +/* 802BEC60 002BA8C0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEC64 002BA8C4 41 82 00 10 */ beq lbl_802BEC74 +/* 802BEC68 002BA8C8 4B FF ED A5 */ bl func_802BDA0C +/* 802BEC6C 002BA8CC 38 00 00 00 */ li r0, 0 +/* 802BEC70 002BA8D0 90 1F 00 74 */ stw r0, 0x74(r31) +lbl_802BEC74: +/* 802BEC74 002BA8D4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEC78 002BA8D8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BEC7C 002BA8DC 7C 08 03 A6 */ mtlr r0 +/* 802BEC80 002BA8E0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEC84 002BA8E4 4E 80 00 20 */ blr +/* 802BEC88 002BA8E8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEC8C 002BA8EC 7C 08 02 A6 */ mflr r0 +/* 802BEC90 002BA8F0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEC94 002BA8F4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEC98 002BA8F8 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BEC9C 002BA8FC 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BECA0 002BA900 80 7F 00 14 */ lwz r3, 0x14(r31) +/* 802BECA4 002BA904 2C 03 00 00 */ cmpwi r3, 0 +/* 802BECA8 002BA908 41 82 00 10 */ beq lbl_802BECB8 +/* 802BECAC 002BA90C 4B FF B0 89 */ bl func_802B9D34 +/* 802BECB0 002BA910 38 00 00 00 */ li r0, 0 +/* 802BECB4 002BA914 90 1F 00 14 */ stw r0, 0x14(r31) +lbl_802BECB8: +/* 802BECB8 002BA918 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BECBC 002BA91C 38 60 00 04 */ li r3, 4 +/* 802BECC0 002BA920 81 84 87 98 */ lwz r12, lbl_80568798@l(r4) +/* 802BECC4 002BA924 38 80 00 00 */ li r4, 0 +/* 802BECC8 002BA928 7D 89 03 A6 */ mtctr r12 +/* 802BECCC 002BA92C 4E 80 04 21 */ bctrl +/* 802BECD0 002BA930 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BECD4 002BA934 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BECD8 002BA938 7C 08 03 A6 */ mtlr r0 +/* 802BECDC 002BA93C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BECE0 002BA940 4E 80 00 20 */ blr +/* 802BECE4 002BA944 3C 80 80 57 */ lis r4, lbl_80568798@ha +/* 802BECE8 002BA948 38 60 00 04 */ li r3, 4 +/* 802BECEC 002BA94C 81 84 87 98 */ lwz r12, lbl_80568798@l(r4) +/* 802BECF0 002BA950 38 80 00 00 */ li r4, 0 +/* 802BECF4 002BA954 7D 89 03 A6 */ mtctr r12 +/* 802BECF8 002BA958 4E 80 04 20 */ bctr + +.global func_802BECFC +func_802BECFC: +/* 802BECFC 002BA95C 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 802BED00 002BA960 7C 08 02 A6 */ mflr r0 +/* 802BED04 002BA964 90 01 00 54 */ stw r0, 0x54(r1) +/* 802BED08 002BA968 39 61 00 50 */ addi r11, r1, 0x50 +/* 802BED0C 002BA96C 4B F0 84 0D */ bl _savegpr_23 +/* 802BED10 002BA970 A0 82 A4 50 */ lhz r4, lbl_80642A50-_SDA2_BASE_(r2) +/* 802BED14 002BA974 3F 40 80 57 */ lis r26, lbl_80568798@ha +/* 802BED18 002BA978 A0 02 A4 52 */ lhz r0, lbl_80642A52-_SDA2_BASE_(r2) +/* 802BED1C 002BA97C 3F 20 80 40 */ lis r25, lbl_803FDB60@ha +/* 802BED20 002BA980 B0 81 00 08 */ sth r4, 8(r1) +/* 802BED24 002BA984 7C 7E 1B 78 */ mr r30, r3 +/* 802BED28 002BA988 3B 39 DB 60 */ addi r25, r25, lbl_803FDB60@l +/* 802BED2C 002BA98C 3B 5A 87 98 */ addi r26, r26, lbl_80568798@l +/* 802BED30 002BA990 B0 01 00 0A */ sth r0, 0xa(r1) +/* 802BED34 002BA994 3B E0 00 01 */ li r31, 1 +/* 802BED38 002BA998 3A E0 00 01 */ li r23, 1 +/* 802BED3C 002BA99C 3B 00 00 02 */ li r24, 2 +/* 802BED40 002BA9A0 3F 60 80 2C */ lis r27, 0x802c +/* 802BED44 002BA9A4 3B 80 00 00 */ li r28, 0 +/* 802BED48 002BA9A8 3B A0 00 17 */ li r29, 0x17 +/* 802BED4C 002BA9AC 48 00 00 BC */ b lbl_802BEE08 +lbl_802BED50: +/* 802BED50 002BA9B0 80 7A 00 0C */ lwz r3, 0xc(r26) +/* 802BED54 002BA9B4 7E E0 00 30 */ slw r0, r23, r0 +/* 802BED58 002BA9B8 7C 60 00 39 */ and. r0, r3, r0 +/* 802BED5C 002BA9BC 41 82 00 A0 */ beq lbl_802BEDFC +/* 802BED60 002BA9C0 38 60 00 FA */ li r3, 0xfa +/* 802BED64 002BA9C4 4B FF AD 49 */ bl func_802B9AAC +/* 802BED68 002BA9C8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BED6C 002BA9CC 90 7A 00 14 */ stw r3, 0x14(r26) +/* 802BED70 002BA9D0 41 82 00 8C */ beq lbl_802BEDFC +/* 802BED74 002BA9D4 88 7A 00 70 */ lbz r3, 0x70(r26) +/* 802BED78 002BA9D8 80 9A 00 0C */ lwz r4, 0xc(r26) +/* 802BED7C 002BA9DC 54 60 08 3C */ slwi r0, r3, 1 +/* 802BED80 002BA9E0 7E E3 18 30 */ slw r3, r23, r3 +/* 802BED84 002BA9E4 7C 19 02 2E */ lhzx r0, r25, r0 +/* 802BED88 002BA9E8 7C 83 18 78 */ andc r3, r4, r3 +/* 802BED8C 002BA9EC 90 7A 00 0C */ stw r3, 0xc(r26) +/* 802BED90 002BA9F0 28 00 12 00 */ cmplwi r0, 0x1200 +/* 802BED94 002BA9F4 B3 01 00 0C */ sth r24, 0xc(r1) +/* 802BED98 002BA9F8 B0 01 00 10 */ sth r0, 0x10(r1) +/* 802BED9C 002BA9FC 40 82 00 08 */ bne lbl_802BEDA4 +/* 802BEDA0 002BAA00 3B E0 00 02 */ li r31, 2 +lbl_802BEDA4: +/* 802BEDA4 002BAA04 80 7A 00 14 */ lwz r3, 0x14(r26) +/* 802BEDA8 002BAA08 7F E7 FB 78 */ mr r7, r31 +/* 802BEDAC 002BAA0C 38 C1 00 0C */ addi r6, r1, 0xc +/* 802BEDB0 002BAA10 39 01 00 08 */ addi r8, r1, 8 +/* 802BEDB4 002BAA14 38 80 00 FA */ li r4, 0xfa +/* 802BEDB8 002BAA18 38 A0 00 01 */ li r5, 1 +/* 802BEDBC 002BAA1C 48 02 30 2D */ bl func_802E1DE8 +/* 802BEDC0 002BAA20 80 9A 00 14 */ lwz r4, 0x14(r26) +/* 802BEDC4 002BAA24 7F C3 F3 78 */ mr r3, r30 +/* 802BEDC8 002BAA28 38 BB EF 7C */ addi r5, r27, -4228 +/* 802BEDCC 002BAA2C 48 02 33 F1 */ bl func_802E21BC +/* 802BEDD0 002BAA30 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802BEDD4 002BAA34 40 82 00 18 */ bne lbl_802BEDEC +/* 802BEDD8 002BAA38 80 7A 00 14 */ lwz r3, 0x14(r26) +/* 802BEDDC 002BAA3C 4B FF AF 59 */ bl func_802B9D34 +/* 802BEDE0 002BAA40 93 9A 00 14 */ stw r28, 0x14(r26) +/* 802BEDE4 002BAA44 9B BA 00 70 */ stb r29, 0x70(r26) +/* 802BEDE8 002BAA48 48 00 00 14 */ b lbl_802BEDFC +lbl_802BEDEC: +/* 802BEDEC 002BAA4C 88 7A 00 70 */ lbz r3, 0x70(r26) +/* 802BEDF0 002BAA50 38 03 00 01 */ addi r0, r3, 1 +/* 802BEDF4 002BAA54 98 1A 00 70 */ stb r0, 0x70(r26) +/* 802BEDF8 002BAA58 48 00 00 8C */ b lbl_802BEE84 +lbl_802BEDFC: +/* 802BEDFC 002BAA5C 88 7A 00 70 */ lbz r3, 0x70(r26) +/* 802BEE00 002BAA60 38 03 00 01 */ addi r0, r3, 1 +/* 802BEE04 002BAA64 98 1A 00 70 */ stb r0, 0x70(r26) +lbl_802BEE08: +/* 802BEE08 002BAA68 88 1A 00 70 */ lbz r0, 0x70(r26) +/* 802BEE0C 002BAA6C 28 00 00 17 */ cmplwi r0, 0x17 +/* 802BEE10 002BAA70 41 80 FF 40 */ blt lbl_802BED50 +/* 802BEE14 002BAA74 41 80 00 70 */ blt lbl_802BEE84 +/* 802BEE18 002BAA78 38 60 01 10 */ li r3, 0x110 +/* 802BEE1C 002BAA7C 4B FF AC 91 */ bl func_802B9AAC +/* 802BEE20 002BAA80 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEE24 002BAA84 7C 78 1B 78 */ mr r24, r3 +/* 802BEE28 002BAA88 41 82 00 5C */ beq lbl_802BEE84 +/* 802BEE2C 002BAA8C 38 00 02 08 */ li r0, 0x208 +/* 802BEE30 002BAA90 38 9A 00 1A */ addi r4, r26, 0x1a +/* 802BEE34 002BAA94 B0 03 00 00 */ sth r0, 0(r3) +/* 802BEE38 002BAA98 80 1A 00 10 */ lwz r0, 0x10(r26) +/* 802BEE3C 002BAA9C 90 03 01 08 */ stw r0, 0x108(r3) +/* 802BEE40 002BAAA0 38 63 00 08 */ addi r3, r3, 8 +/* 802BEE44 002BAAA4 4B FF E7 1D */ bl func_802BD560 +/* 802BEE48 002BAAA8 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 802BEE4C 002BAAAC 3A FA 00 20 */ addi r23, r26, 0x20 +/* 802BEE50 002BAAB0 7C 00 07 75 */ extsb. r0, r0 +/* 802BEE54 002BAAB4 40 82 00 18 */ bne lbl_802BEE6C +/* 802BEE58 002BAAB8 38 7A 00 1A */ addi r3, r26, 0x1a +/* 802BEE5C 002BAABC 48 00 65 49 */ bl func_802C53A4 +/* 802BEE60 002BAAC0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEE64 002BAAC4 41 82 00 08 */ beq lbl_802BEE6C +/* 802BEE68 002BAAC8 7C 77 1B 78 */ mr r23, r3 +lbl_802BEE6C: +/* 802BEE6C 002BAACC 7E E4 BB 78 */ mr r4, r23 +/* 802BEE70 002BAAD0 38 78 00 0E */ addi r3, r24, 0xe +/* 802BEE74 002BAAD4 38 A0 00 20 */ li r5, 0x20 +/* 802BEE78 002BAAD8 4B F0 F5 19 */ bl strncpy +/* 802BEE7C 002BAADC 7F 03 C3 78 */ mr r3, r24 +/* 802BEE80 002BAAE0 4B FF EB 8D */ bl func_802BDA0C +lbl_802BEE84: +/* 802BEE84 002BAAE4 39 61 00 50 */ addi r11, r1, 0x50 +/* 802BEE88 002BAAE8 4B F0 82 DD */ bl _restgpr_23 +/* 802BEE8C 002BAAEC 80 01 00 54 */ lwz r0, 0x54(r1) +/* 802BEE90 002BAAF0 7C 08 03 A6 */ mtlr r0 +/* 802BEE94 002BAAF4 38 21 00 50 */ addi r1, r1, 0x50 +/* 802BEE98 002BAAF8 4E 80 00 20 */ blr + +.global func_802BEE9C +func_802BEE9C: +/* 802BEE9C 002BAAFC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEEA0 002BAB00 7C 08 02 A6 */ mflr r0 +/* 802BEEA4 002BAB04 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEEA8 002BAB08 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEEAC 002BAB0C 93 C1 00 08 */ stw r30, 8(r1) +/* 802BEEB0 002BAB10 3F C0 80 57 */ lis r30, lbl_80568798@ha +/* 802BEEB4 002BAB14 3B DE 87 98 */ addi r30, r30, lbl_80568798@l +/* 802BEEB8 002BAB18 80 7E 00 04 */ lwz r3, 4(r30) +/* 802BEEBC 002BAB1C 48 00 8F E5 */ bl func_802C7EA0 +/* 802BEEC0 002BAB20 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEEC4 002BAB24 90 7E 00 04 */ stw r3, 4(r30) +/* 802BEEC8 002BAB28 41 82 00 78 */ beq lbl_802BEF40 +/* 802BEECC 002BAB2C 38 63 00 02 */ addi r3, r3, 2 +/* 802BEED0 002BAB30 48 00 53 91 */ bl func_802C4260 +/* 802BEED4 002BAB34 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802BEED8 002BAB38 41 82 00 10 */ beq lbl_802BEEE8 +/* 802BEEDC 002BAB3C 38 00 00 00 */ li r0, 0 +/* 802BEEE0 002BAB40 98 1E 00 78 */ stb r0, 0x78(r30) +/* 802BEEE4 002BAB44 48 00 00 0C */ b lbl_802BEEF0 +lbl_802BEEE8: +/* 802BEEE8 002BAB48 38 00 00 01 */ li r0, 1 +/* 802BEEEC 002BAB4C 98 1E 00 78 */ stb r0, 0x78(r30) +lbl_802BEEF0: +/* 802BEEF0 002BAB50 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BEEF4 002BAB54 3C 60 80 2C */ lis r3, lbl_802BF0A0@ha +/* 802BEEF8 002BAB58 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BEEFC 002BAB5C 3B C0 00 00 */ li r30, 0 +/* 802BEF00 002BAB60 9B DF 00 79 */ stb r30, 0x79(r31) +/* 802BEF04 002BAB64 38 63 F0 A0 */ addi r3, r3, lbl_802BF0A0@l +/* 802BEF08 002BAB68 48 00 BA 29 */ bl func_802CA930 +/* 802BEF0C 002BAB6C 80 1F 00 08 */ lwz r0, 8(r31) +/* 802BEF10 002BAB70 38 7F 00 1A */ addi r3, r31, 0x1a +/* 802BEF14 002BAB74 80 9F 00 04 */ lwz r4, 4(r31) +/* 802BEF18 002BAB78 9B DF 00 70 */ stb r30, 0x70(r31) +/* 802BEF1C 002BAB7C 38 84 00 02 */ addi r4, r4, 2 +/* 802BEF20 002BAB80 93 DF 00 10 */ stw r30, 0x10(r31) +/* 802BEF24 002BAB84 9B DF 00 20 */ stb r30, 0x20(r31) +/* 802BEF28 002BAB88 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802BEF2C 002BAB8C 4B FF E6 35 */ bl func_802BD560 +/* 802BEF30 002BAB90 80 7F 00 04 */ lwz r3, 4(r31) +/* 802BEF34 002BAB94 38 63 00 02 */ addi r3, r3, 2 +/* 802BEF38 002BAB98 4B FF FD C5 */ bl func_802BECFC +/* 802BEF3C 002BAB9C 48 00 00 28 */ b lbl_802BEF64 +lbl_802BEF40: +/* 802BEF40 002BABA0 38 00 00 00 */ li r0, 0 +/* 802BEF44 002BABA4 38 60 01 10 */ li r3, 0x110 +/* 802BEF48 002BABA8 90 1E 00 08 */ stw r0, 8(r30) +/* 802BEF4C 002BABAC 4B FF AB 61 */ bl func_802B9AAC +/* 802BEF50 002BABB0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEF54 002BABB4 41 82 00 10 */ beq lbl_802BEF64 +/* 802BEF58 002BABB8 38 00 02 07 */ li r0, 0x207 +/* 802BEF5C 002BABBC B0 03 00 00 */ sth r0, 0(r3) +/* 802BEF60 002BABC0 4B FF EA AD */ bl func_802BDA0C +lbl_802BEF64: +/* 802BEF64 002BABC4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEF68 002BABC8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BEF6C 002BABCC 83 C1 00 08 */ lwz r30, 8(r1) +/* 802BEF70 002BABD0 7C 08 03 A6 */ mtlr r0 +/* 802BEF74 002BABD4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEF78 002BABD8 4E 80 00 20 */ blr +/* 802BEF7C 002BABDC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BEF80 002BABE0 7C 08 02 A6 */ mflr r0 +/* 802BEF84 002BABE4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BEF88 002BABE8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BEF8C 002BABEC 7C 7F 1B 78 */ mr r31, r3 +/* 802BEF90 002BABF0 38 60 00 0A */ li r3, 0xa +/* 802BEF94 002BABF4 4B FF AB 19 */ bl func_802B9AAC +/* 802BEF98 002BABF8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BEF9C 002BABFC 41 82 00 14 */ beq lbl_802BEFB0 +/* 802BEFA0 002BAC00 38 00 02 06 */ li r0, 0x206 +/* 802BEFA4 002BAC04 B0 03 00 00 */ sth r0, 0(r3) +/* 802BEFA8 002BAC08 B3 E3 00 08 */ sth r31, 8(r3) +/* 802BEFAC 002BAC0C 4B FF EA 61 */ bl func_802BDA0C +lbl_802BEFB0: +/* 802BEFB0 002BAC10 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BEFB4 002BAC14 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BEFB8 002BAC18 7C 08 03 A6 */ mtlr r0 +/* 802BEFBC 002BAC1C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BEFC0 002BAC20 4E 80 00 20 */ blr +lbl_802BEFC4: +/* 802BEFC4 002BAC24 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802BEFC8 002BAC28 7C 08 02 A6 */ mflr r0 +/* 802BEFCC 002BAC2C 90 01 01 24 */ stw r0, 0x124(r1) +/* 802BEFD0 002BAC30 93 E1 01 1C */ stw r31, 0x11c(r1) +/* 802BEFD4 002BAC34 7C 7F 1B 78 */ mr r31, r3 +/* 802BEFD8 002BAC38 38 61 00 08 */ addi r3, r1, 8 +/* 802BEFDC 002BAC3C 38 9F 00 02 */ addi r4, r31, 2 +/* 802BEFE0 002BAC40 4B FF E5 81 */ bl func_802BD560 +/* 802BEFE4 002BAC44 38 61 00 0E */ addi r3, r1, 0xe +/* 802BEFE8 002BAC48 38 9F 00 08 */ addi r4, r31, 8 +/* 802BEFEC 002BAC4C 38 A0 00 03 */ li r5, 3 +/* 802BEFF0 002BAC50 4B D4 50 11 */ bl memcpy +/* 802BEFF4 002BAC54 88 1F 00 0E */ lbz r0, 0xe(r31) +/* 802BEFF8 002BAC58 38 7F 00 02 */ addi r3, r31, 2 +/* 802BEFFC 002BAC5C 98 01 00 11 */ stb r0, 0x11(r1) +/* 802BF000 002BAC60 48 00 8D 29 */ bl func_802C7D28 +/* 802BF004 002BAC64 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF008 002BAC68 7C 7F 1B 78 */ mr r31, r3 +/* 802BF00C 002BAC6C 41 82 00 0C */ beq lbl_802BF018 +/* 802BF010 002BAC70 38 00 00 00 */ li r0, 0 +/* 802BF014 002BAC74 98 01 00 12 */ stb r0, 0x12(r1) +lbl_802BF018: +/* 802BF018 002BAC78 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BF01C 002BAC7C 38 81 00 08 */ addi r4, r1, 8 +/* 802BF020 002BAC80 81 83 87 98 */ lwz r12, lbl_80568798@l(r3) +/* 802BF024 002BAC84 38 60 00 00 */ li r3, 0 +/* 802BF028 002BAC88 7D 89 03 A6 */ mtctr r12 +/* 802BF02C 002BAC8C 4E 80 04 21 */ bctrl +/* 802BF030 002BAC90 2C 1F 00 00 */ cmpwi r31, 0 +/* 802BF034 002BAC94 41 82 00 0C */ beq lbl_802BF040 +/* 802BF038 002BAC98 88 01 00 12 */ lbz r0, 0x12(r1) +/* 802BF03C 002BAC9C 98 1F 00 10 */ stb r0, 0x10(r31) +lbl_802BF040: +/* 802BF040 002BACA0 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802BF044 002BACA4 83 E1 01 1C */ lwz r31, 0x11c(r1) +/* 802BF048 002BACA8 7C 08 03 A6 */ mtlr r0 +/* 802BF04C 002BACAC 38 21 01 20 */ addi r1, r1, 0x120 +/* 802BF050 002BACB0 4E 80 00 20 */ blr +lbl_802BF054: +/* 802BF054 002BACB4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BF058 002BACB8 7C 08 02 A6 */ mflr r0 +/* 802BF05C 002BACBC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BF060 002BACC0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BF064 002BACC4 7C 7F 1B 78 */ mr r31, r3 +/* 802BF068 002BACC8 38 60 01 10 */ li r3, 0x110 +/* 802BF06C 002BACCC 4B FF AA 41 */ bl func_802B9AAC +/* 802BF070 002BACD0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF074 002BACD4 41 82 00 18 */ beq lbl_802BF08C +/* 802BF078 002BACD8 38 00 02 03 */ li r0, 0x203 +/* 802BF07C 002BACDC B0 03 00 00 */ sth r0, 0(r3) +/* 802BF080 002BACE0 88 1F 00 01 */ lbz r0, 1(r31) +/* 802BF084 002BACE4 98 03 00 08 */ stb r0, 8(r3) +/* 802BF088 002BACE8 4B FF E9 85 */ bl func_802BDA0C +lbl_802BF08C: +/* 802BF08C 002BACEC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BF090 002BACF0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BF094 002BACF4 7C 08 03 A6 */ mtlr r0 +/* 802BF098 002BACF8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BF09C 002BACFC 4E 80 00 20 */ blr +lbl_802BF0A0: +/* 802BF0A0 002BAD00 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BF0A4 002BAD04 7C 08 02 A6 */ mflr r0 +/* 802BF0A8 002BAD08 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BF0AC 002BAD0C 7C A4 2B 78 */ mr r4, r5 +/* 802BF0B0 002BAD10 38 63 87 98 */ addi r3, r3, lbl_80568798@l +/* 802BF0B4 002BAD14 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BF0B8 002BAD18 38 A0 00 1F */ li r5, 0x1f +/* 802BF0BC 002BAD1C 38 63 00 20 */ addi r3, r3, 0x20 +/* 802BF0C0 002BAD20 4B F0 F2 D1 */ bl strncpy +/* 802BF0C4 002BAD24 3C 60 80 2C */ lis r3, lbl_802BF0A0@ha +/* 802BF0C8 002BAD28 38 63 F0 A0 */ addi r3, r3, lbl_802BF0A0@l +/* 802BF0CC 002BAD2C 48 00 B8 B5 */ bl func_802CA980 +/* 802BF0D0 002BAD30 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BF0D4 002BAD34 7C 08 03 A6 */ mtlr r0 +/* 802BF0D8 002BAD38 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BF0DC 002BAD3C 4E 80 00 20 */ blr +lbl_802BF0E0: +/* 802BF0E0 002BAD40 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BF0E4 002BAD44 7C 08 02 A6 */ mflr r0 +/* 802BF0E8 002BAD48 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BF0EC 002BAD4C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BF0F0 002BAD50 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BF0F4 002BAD54 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BF0F8 002BAD58 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BF0FC 002BAD5C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BF100 002BAD60 7C 7D 1B 78 */ mr r29, r3 +/* 802BF104 002BAD64 38 7F 00 58 */ addi r3, r31, 0x58 +/* 802BF108 002BAD68 4B FF E9 41 */ bl func_802BDA48 +/* 802BF10C 002BAD6C 38 60 01 10 */ li r3, 0x110 +/* 802BF110 002BAD70 4B FF A9 9D */ bl func_802B9AAC +/* 802BF114 002BAD74 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF118 002BAD78 7C 7E 1B 78 */ mr r30, r3 +/* 802BF11C 002BAD7C 41 82 00 34 */ beq lbl_802BF150 +/* 802BF120 002BAD80 80 9F 00 04 */ lwz r4, 4(r31) +/* 802BF124 002BAD84 38 63 00 08 */ addi r3, r3, 8 +/* 802BF128 002BAD88 38 84 00 02 */ addi r4, r4, 2 +/* 802BF12C 002BAD8C 4B FF E4 35 */ bl func_802BD560 +/* 802BF130 002BAD90 38 7E 00 0E */ addi r3, r30, 0xe +/* 802BF134 002BAD94 38 9D 00 04 */ addi r4, r29, 4 +/* 802BF138 002BAD98 38 A0 00 20 */ li r5, 0x20 +/* 802BF13C 002BAD9C 4B F0 F2 55 */ bl strncpy +/* 802BF140 002BADA0 38 00 02 04 */ li r0, 0x204 +/* 802BF144 002BADA4 7F C3 F3 78 */ mr r3, r30 +/* 802BF148 002BADA8 B0 1E 00 00 */ sth r0, 0(r30) +/* 802BF14C 002BADAC 4B FF E8 C1 */ bl func_802BDA0C +lbl_802BF150: +/* 802BF150 002BADB0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BF154 002BADB4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BF158 002BADB8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BF15C 002BADBC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BF160 002BADC0 7C 08 03 A6 */ mtlr r0 +/* 802BF164 002BADC4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BF168 002BADC8 4E 80 00 20 */ blr +lbl_802BF16C: +/* 802BF16C 002BADCC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BF170 002BADD0 7C 08 02 A6 */ mflr r0 +/* 802BF174 002BADD4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BF178 002BADD8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BF17C 002BADDC 3F E0 80 57 */ lis r31, lbl_80568798@ha +/* 802BF180 002BADE0 3B FF 87 98 */ addi r31, r31, lbl_80568798@l +/* 802BF184 002BADE4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BF188 002BADE8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BF18C 002BADEC 7C 7D 1B 78 */ mr r29, r3 +/* 802BF190 002BADF0 38 7F 00 58 */ addi r3, r31, 0x58 +/* 802BF194 002BADF4 4B FF E8 B5 */ bl func_802BDA48 +/* 802BF198 002BADF8 38 60 01 10 */ li r3, 0x110 +/* 802BF19C 002BADFC 4B FF A9 11 */ bl func_802B9AAC +/* 802BF1A0 002BAE00 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF1A4 002BAE04 7C 7E 1B 78 */ mr r30, r3 +/* 802BF1A8 002BAE08 41 82 00 30 */ beq lbl_802BF1D8 +/* 802BF1AC 002BAE0C 38 63 00 08 */ addi r3, r3, 8 +/* 802BF1B0 002BAE10 38 9F 00 1A */ addi r4, r31, 0x1a +/* 802BF1B4 002BAE14 4B FF E3 AD */ bl func_802BD560 +/* 802BF1B8 002BAE18 38 7E 00 0E */ addi r3, r30, 0xe +/* 802BF1BC 002BAE1C 38 9D 00 04 */ addi r4, r29, 4 +/* 802BF1C0 002BAE20 38 A0 00 20 */ li r5, 0x20 +/* 802BF1C4 002BAE24 4B F0 F1 CD */ bl strncpy +/* 802BF1C8 002BAE28 38 00 02 04 */ li r0, 0x204 +/* 802BF1CC 002BAE2C 7F C3 F3 78 */ mr r3, r30 +/* 802BF1D0 002BAE30 B0 1E 00 00 */ sth r0, 0(r30) +/* 802BF1D4 002BAE34 4B FF E8 39 */ bl func_802BDA0C +lbl_802BF1D8: +/* 802BF1D8 002BAE38 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BF1DC 002BAE3C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BF1E0 002BAE40 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BF1E4 002BAE44 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BF1E8 002BAE48 7C 08 03 A6 */ mtlr r0 +/* 802BF1EC 002BAE4C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BF1F0 002BAE50 4E 80 00 20 */ blr +/* 802BF1F4 002BAE54 48 00 8A BC */ b func_802C7CB0 +/* 802BF1F8 002BAE58 94 21 FE D0 */ stwu r1, -0x130(r1) +/* 802BF1FC 002BAE5C 7C 08 02 A6 */ mflr r0 +/* 802BF200 002BAE60 7C 64 1B 78 */ mr r4, r3 +/* 802BF204 002BAE64 90 01 01 34 */ stw r0, 0x134(r1) +/* 802BF208 002BAE68 38 61 00 08 */ addi r3, r1, 8 +/* 802BF20C 002BAE6C 93 E1 01 2C */ stw r31, 0x12c(r1) +/* 802BF210 002BAE70 3B E0 00 01 */ li r31, 1 +/* 802BF214 002BAE74 93 C1 01 28 */ stw r30, 0x128(r1) +/* 802BF218 002BAE78 7C FE 3B 78 */ mr r30, r7 +/* 802BF21C 002BAE7C 93 A1 01 24 */ stw r29, 0x124(r1) +/* 802BF220 002BAE80 7C BD 2B 78 */ mr r29, r5 +/* 802BF224 002BAE84 4B FF E3 3D */ bl func_802BD560 +/* 802BF228 002BAE88 7F A4 EB 78 */ mr r4, r29 +/* 802BF22C 002BAE8C 38 61 00 0E */ addi r3, r1, 0xe +/* 802BF230 002BAE90 38 A0 00 20 */ li r5, 0x20 +/* 802BF234 002BAE94 4B F0 F1 5D */ bl strncpy +/* 802BF238 002BAE98 3C 60 80 40 */ lis r3, lbl_803FDB90@ha +/* 802BF23C 002BAE9C 38 00 00 17 */ li r0, 0x17 +/* 802BF240 002BAEA0 38 63 DB 90 */ addi r3, r3, lbl_803FDB90@l +/* 802BF244 002BAEA4 7C 09 03 A6 */ mtctr r0 +lbl_802BF248: +/* 802BF248 002BAEA8 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d +/* 802BF24C 002BAEAC 7C 03 00 2E */ lwzx r0, r3, r0 +/* 802BF250 002BAEB0 7C 1E 00 40 */ cmplw r30, r0 +/* 802BF254 002BAEB4 40 82 00 0C */ bne lbl_802BF260 +/* 802BF258 002BAEB8 9B E1 01 06 */ stb r31, 0x106(r1) +/* 802BF25C 002BAEBC 48 00 00 0C */ b lbl_802BF268 +lbl_802BF260: +/* 802BF260 002BAEC0 3B FF 00 01 */ addi r31, r31, 1 +/* 802BF264 002BAEC4 42 00 FF E4 */ bdnz lbl_802BF248 +lbl_802BF268: +/* 802BF268 002BAEC8 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF26C 002BAECC 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BF270 002BAED0 81 83 00 50 */ lwz r12, 0x50(r3) +/* 802BF274 002BAED4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BF278 002BAED8 41 82 00 28 */ beq lbl_802BF2A0 +/* 802BF27C 002BAEDC 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802BF280 002BAEE0 28 00 00 17 */ cmplwi r0, 0x17 +/* 802BF284 002BAEE4 41 81 00 1C */ bgt lbl_802BF2A0 +/* 802BF288 002BAEE8 38 81 00 08 */ addi r4, r1, 8 +/* 802BF28C 002BAEEC 38 60 00 04 */ li r3, 4 +/* 802BF290 002BAEF0 7D 89 03 A6 */ mtctr r12 +/* 802BF294 002BAEF4 4E 80 04 21 */ bctrl +/* 802BF298 002BAEF8 38 60 00 01 */ li r3, 1 +/* 802BF29C 002BAEFC 48 00 00 08 */ b lbl_802BF2A4 +lbl_802BF2A0: +/* 802BF2A0 002BAF00 38 60 00 0B */ li r3, 0xb +lbl_802BF2A4: +/* 802BF2A4 002BAF04 80 01 01 34 */ lwz r0, 0x134(r1) +/* 802BF2A8 002BAF08 83 E1 01 2C */ lwz r31, 0x12c(r1) +/* 802BF2AC 002BAF0C 83 C1 01 28 */ lwz r30, 0x128(r1) +/* 802BF2B0 002BAF10 83 A1 01 24 */ lwz r29, 0x124(r1) +/* 802BF2B4 002BAF14 7C 08 03 A6 */ mtlr r0 +/* 802BF2B8 002BAF18 38 21 01 30 */ addi r1, r1, 0x130 +/* 802BF2BC 002BAF1C 4E 80 00 20 */ blr +lbl_802BF2C0: +/* 802BF2C0 002BAF20 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802BF2C4 002BAF24 7C 08 02 A6 */ mflr r0 +/* 802BF2C8 002BAF28 90 01 01 24 */ stw r0, 0x124(r1) +/* 802BF2CC 002BAF2C 93 E1 01 1C */ stw r31, 0x11c(r1) +/* 802BF2D0 002BAF30 3F E0 80 57 */ lis r31, lbl_80568814@ha +/* 802BF2D4 002BAF34 3B FF 88 14 */ addi r31, r31, lbl_80568814@l +/* 802BF2D8 002BAF38 93 C1 01 18 */ stw r30, 0x118(r1) +/* 802BF2DC 002BAF3C 7C 7E 1B 78 */ mr r30, r3 +/* 802BF2E0 002BAF40 38 61 00 08 */ addi r3, r1, 8 +/* 802BF2E4 002BAF44 38 9F 00 F8 */ addi r4, r31, 0xf8 +/* 802BF2E8 002BAF48 4B FF E2 79 */ bl func_802BD560 +/* 802BF2EC 002BAF4C 88 9F 00 FE */ lbz r4, 0xfe(r31) +/* 802BF2F0 002BAF50 2C 1E 00 00 */ cmpwi r30, 0 +/* 802BF2F4 002BAF54 88 7F 00 FF */ lbz r3, 0xff(r31) +/* 802BF2F8 002BAF58 88 1F 01 00 */ lbz r0, 0x100(r31) +/* 802BF2FC 002BAF5C 98 81 01 06 */ stb r4, 0x106(r1) +/* 802BF300 002BAF60 98 61 01 07 */ stb r3, 0x107(r1) +/* 802BF304 002BAF64 98 01 01 08 */ stb r0, 0x108(r1) +/* 802BF308 002BAF68 41 82 00 3C */ beq lbl_802BF344 +/* 802BF30C 002BAF6C A0 1E 00 00 */ lhz r0, 0(r30) +/* 802BF310 002BAF70 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF314 002BAF74 40 82 00 30 */ bne lbl_802BF344 +/* 802BF318 002BAF78 A0 1E 00 02 */ lhz r0, 2(r30) +/* 802BF31C 002BAF7C 38 61 00 0E */ addi r3, r1, 0xe +/* 802BF320 002BAF80 38 9E 00 04 */ addi r4, r30, 4 +/* 802BF324 002BAF84 38 A0 00 20 */ li r5, 0x20 +/* 802BF328 002BAF88 28 00 00 20 */ cmplwi r0, 0x20 +/* 802BF32C 002BAF8C 40 80 00 08 */ bge lbl_802BF334 +/* 802BF330 002BAF90 7C 05 03 78 */ mr r5, r0 +lbl_802BF334: +/* 802BF334 002BAF94 4B D4 4C CD */ bl memcpy +/* 802BF338 002BAF98 38 00 00 00 */ li r0, 0 +/* 802BF33C 002BAF9C 98 01 00 2E */ stb r0, 0x2e(r1) +/* 802BF340 002BAFA0 48 00 00 0C */ b lbl_802BF34C +lbl_802BF344: +/* 802BF344 002BAFA4 38 00 00 00 */ li r0, 0 +/* 802BF348 002BAFA8 98 01 00 0E */ stb r0, 0xe(r1) +lbl_802BF34C: +/* 802BF34C 002BAFAC 3C A0 80 57 */ lis r5, lbl_80568814@ha +/* 802BF350 002BAFB0 38 81 00 08 */ addi r4, r1, 8 +/* 802BF354 002BAFB4 38 A5 88 14 */ addi r5, r5, lbl_80568814@l +/* 802BF358 002BAFB8 38 60 00 02 */ li r3, 2 +/* 802BF35C 002BAFBC 81 85 00 50 */ lwz r12, 0x50(r5) +/* 802BF360 002BAFC0 7D 89 03 A6 */ mtctr r12 +/* 802BF364 002BAFC4 4E 80 04 21 */ bctrl +/* 802BF368 002BAFC8 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802BF36C 002BAFCC 83 E1 01 1C */ lwz r31, 0x11c(r1) +/* 802BF370 002BAFD0 83 C1 01 18 */ lwz r30, 0x118(r1) +/* 802BF374 002BAFD4 7C 08 03 A6 */ mtlr r0 +/* 802BF378 002BAFD8 38 21 01 20 */ addi r1, r1, 0x120 +/* 802BF37C 002BAFDC 4E 80 00 20 */ blr +/* 802BF380 002BAFE0 94 21 FE D0 */ stwu r1, -0x130(r1) +/* 802BF384 002BAFE4 7C 08 02 A6 */ mflr r0 +/* 802BF388 002BAFE8 90 01 01 34 */ stw r0, 0x134(r1) +/* 802BF38C 002BAFEC 93 E1 01 2C */ stw r31, 0x12c(r1) +/* 802BF390 002BAFF0 3F E0 80 57 */ lis r31, lbl_80568814@ha +/* 802BF394 002BAFF4 3B FF 88 14 */ addi r31, r31, lbl_80568814@l +/* 802BF398 002BAFF8 93 C1 01 28 */ stw r30, 0x128(r1) +/* 802BF39C 002BAFFC 7C BE 2B 78 */ mr r30, r5 +/* 802BF3A0 002BB000 93 A1 01 24 */ stw r29, 0x124(r1) +/* 802BF3A4 002BB004 7C 9D 23 78 */ mr r29, r4 +/* 802BF3A8 002BB008 93 81 01 20 */ stw r28, 0x120(r1) +/* 802BF3AC 002BB00C 7C 7C 1B 78 */ mr r28, r3 +/* 802BF3B0 002BB010 80 1F 00 50 */ lwz r0, 0x50(r31) +/* 802BF3B4 002BB014 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF3B8 002BB018 40 82 00 0C */ bne lbl_802BF3C4 +/* 802BF3BC 002BB01C 38 60 00 0B */ li r3, 0xb +/* 802BF3C0 002BB020 48 00 00 D0 */ b lbl_802BF490 +lbl_802BF3C4: +/* 802BF3C4 002BB024 88 05 00 00 */ lbz r0, 0(r5) +/* 802BF3C8 002BB028 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF3CC 002BB02C 40 82 00 68 */ bne lbl_802BF434 +/* 802BF3D0 002BB030 7F 84 E3 78 */ mr r4, r28 +/* 802BF3D4 002BB034 38 7F 00 F8 */ addi r3, r31, 0xf8 +/* 802BF3D8 002BB038 4B FF E1 89 */ bl func_802BD560 +/* 802BF3DC 002BB03C 88 1D 00 00 */ lbz r0, 0(r29) +/* 802BF3E0 002BB040 3C 80 80 2C */ lis r4, lbl_802BF2C0@ha +/* 802BF3E4 002BB044 7F 83 E3 78 */ mr r3, r28 +/* 802BF3E8 002BB048 98 1F 00 FE */ stb r0, 0xfe(r31) +/* 802BF3EC 002BB04C 38 84 F2 C0 */ addi r4, r4, lbl_802BF2C0@l +/* 802BF3F0 002BB050 88 1D 00 01 */ lbz r0, 1(r29) +/* 802BF3F4 002BB054 98 1F 00 FF */ stb r0, 0xff(r31) +/* 802BF3F8 002BB058 88 1D 00 02 */ lbz r0, 2(r29) +/* 802BF3FC 002BB05C 98 1F 01 00 */ stb r0, 0x100(r31) +/* 802BF400 002BB060 48 00 87 C9 */ bl func_802C7BC8 +/* 802BF404 002BB064 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802BF408 002BB068 28 00 00 01 */ cmplwi r0, 1 +/* 802BF40C 002BB06C 40 82 00 0C */ bne lbl_802BF418 +/* 802BF410 002BB070 38 60 00 01 */ li r3, 1 +/* 802BF414 002BB074 48 00 00 7C */ b lbl_802BF490 +lbl_802BF418: +/* 802BF418 002BB078 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BF41C 002BB07C 28 00 00 02 */ cmplwi r0, 2 +/* 802BF420 002BB080 41 80 00 14 */ blt lbl_802BF434 +/* 802BF424 002BB084 3C 80 80 44 */ lis r4, lbl_804400A8@ha +/* 802BF428 002BB088 38 60 05 01 */ li r3, 0x501 +/* 802BF42C 002BB08C 38 84 00 A8 */ addi r4, r4, lbl_804400A8@l +/* 802BF430 002BB090 4B FF DA E1 */ bl func_802BCF10 +lbl_802BF434: +/* 802BF434 002BB094 7F 84 E3 78 */ mr r4, r28 +/* 802BF438 002BB098 38 61 00 08 */ addi r3, r1, 8 +/* 802BF43C 002BB09C 4B FF E1 25 */ bl func_802BD560 +/* 802BF440 002BB0A0 88 1D 00 00 */ lbz r0, 0(r29) +/* 802BF444 002BB0A4 7F C4 F3 78 */ mr r4, r30 +/* 802BF448 002BB0A8 38 61 00 0E */ addi r3, r1, 0xe +/* 802BF44C 002BB0AC 38 A0 00 20 */ li r5, 0x20 +/* 802BF450 002BB0B0 98 01 01 06 */ stb r0, 0x106(r1) +/* 802BF454 002BB0B4 88 1D 00 01 */ lbz r0, 1(r29) +/* 802BF458 002BB0B8 98 01 01 07 */ stb r0, 0x107(r1) +/* 802BF45C 002BB0BC 88 1D 00 02 */ lbz r0, 2(r29) +/* 802BF460 002BB0C0 98 01 01 08 */ stb r0, 0x108(r1) +/* 802BF464 002BB0C4 4B F0 EF 2D */ bl strncpy +/* 802BF468 002BB0C8 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF46C 002BB0CC 38 00 00 00 */ li r0, 0 +/* 802BF470 002BB0D0 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BF474 002BB0D4 98 01 00 2E */ stb r0, 0x2e(r1) +/* 802BF478 002BB0D8 81 83 00 50 */ lwz r12, 0x50(r3) +/* 802BF47C 002BB0DC 38 81 00 08 */ addi r4, r1, 8 +/* 802BF480 002BB0E0 38 60 00 02 */ li r3, 2 +/* 802BF484 002BB0E4 7D 89 03 A6 */ mtctr r12 +/* 802BF488 002BB0E8 4E 80 04 21 */ bctrl +/* 802BF48C 002BB0EC 38 60 00 01 */ li r3, 1 +lbl_802BF490: +/* 802BF490 002BB0F0 80 01 01 34 */ lwz r0, 0x134(r1) +/* 802BF494 002BB0F4 83 E1 01 2C */ lwz r31, 0x12c(r1) +/* 802BF498 002BB0F8 83 C1 01 28 */ lwz r30, 0x128(r1) +/* 802BF49C 002BB0FC 83 A1 01 24 */ lwz r29, 0x124(r1) +/* 802BF4A0 002BB100 83 81 01 20 */ lwz r28, 0x120(r1) +/* 802BF4A4 002BB104 7C 08 03 A6 */ mtlr r0 +/* 802BF4A8 002BB108 38 21 01 30 */ addi r1, r1, 0x130 +/* 802BF4AC 002BB10C 4E 80 00 20 */ blr +/* 802BF4B0 002BB110 38 60 00 0B */ li r3, 0xb +/* 802BF4B4 002BB114 4E 80 00 20 */ blr +/* 802BF4B8 002BB118 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802BF4BC 002BB11C 7C 08 02 A6 */ mflr r0 +/* 802BF4C0 002BB120 7C 64 1B 78 */ mr r4, r3 +/* 802BF4C4 002BB124 90 01 01 24 */ stw r0, 0x124(r1) +/* 802BF4C8 002BB128 38 61 00 08 */ addi r3, r1, 8 +/* 802BF4CC 002BB12C 93 E1 01 1C */ stw r31, 0x11c(r1) +/* 802BF4D0 002BB130 7C DF 33 78 */ mr r31, r6 +/* 802BF4D4 002BB134 93 C1 01 18 */ stw r30, 0x118(r1) +/* 802BF4D8 002BB138 7C BE 2B 78 */ mr r30, r5 +/* 802BF4DC 002BB13C 4B FF E0 85 */ bl func_802BD560 +/* 802BF4E0 002BB140 7F C4 F3 78 */ mr r4, r30 +/* 802BF4E4 002BB144 38 61 00 0E */ addi r3, r1, 0xe +/* 802BF4E8 002BB148 38 A0 00 1F */ li r5, 0x1f +/* 802BF4EC 002BB14C 4B D4 4B 15 */ bl memcpy +/* 802BF4F0 002BB150 38 00 00 00 */ li r0, 0 +/* 802BF4F4 002BB154 7F E4 FB 78 */ mr r4, r31 +/* 802BF4F8 002BB158 98 01 00 2D */ stb r0, 0x2d(r1) +/* 802BF4FC 002BB15C 38 61 01 07 */ addi r3, r1, 0x107 +/* 802BF500 002BB160 38 A0 00 10 */ li r5, 0x10 +/* 802BF504 002BB164 4B D4 4A FD */ bl memcpy +/* 802BF508 002BB168 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF50C 002BB16C 38 00 00 01 */ li r0, 1 +/* 802BF510 002BB170 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BF514 002BB174 98 01 01 06 */ stb r0, 0x106(r1) +/* 802BF518 002BB178 81 83 00 50 */ lwz r12, 0x50(r3) +/* 802BF51C 002BB17C 98 01 01 17 */ stb r0, 0x117(r1) +/* 802BF520 002BB180 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BF524 002BB184 41 82 00 14 */ beq lbl_802BF538 +/* 802BF528 002BB188 38 81 00 08 */ addi r4, r1, 8 +/* 802BF52C 002BB18C 38 60 00 03 */ li r3, 3 +/* 802BF530 002BB190 7D 89 03 A6 */ mtctr r12 +/* 802BF534 002BB194 4E 80 04 21 */ bctrl +lbl_802BF538: +/* 802BF538 002BB198 83 E1 01 1C */ lwz r31, 0x11c(r1) +/* 802BF53C 002BB19C 38 60 00 01 */ li r3, 1 +/* 802BF540 002BB1A0 83 C1 01 18 */ lwz r30, 0x118(r1) +/* 802BF544 002BB1A4 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802BF548 002BB1A8 7C 08 03 A6 */ mtlr r0 +/* 802BF54C 002BB1AC 38 21 01 20 */ addi r1, r1, 0x120 +/* 802BF550 002BB1B0 4E 80 00 20 */ blr +/* 802BF554 002BB1B4 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802BF558 002BB1B8 7C 08 02 A6 */ mflr r0 +/* 802BF55C 002BB1BC 2C 06 00 00 */ cmpwi r6, 0 +/* 802BF560 002BB1C0 90 01 01 24 */ stw r0, 0x124(r1) +/* 802BF564 002BB1C4 93 E1 01 1C */ stw r31, 0x11c(r1) +/* 802BF568 002BB1C8 7C BF 2B 78 */ mr r31, r5 +/* 802BF56C 002BB1CC 41 82 00 54 */ beq lbl_802BF5C0 +/* 802BF570 002BB1D0 7C 64 1B 78 */ mr r4, r3 +/* 802BF574 002BB1D4 38 61 00 08 */ addi r3, r1, 8 +/* 802BF578 002BB1D8 4B FF DF E9 */ bl func_802BD560 +/* 802BF57C 002BB1DC 7F E4 FB 78 */ mr r4, r31 +/* 802BF580 002BB1E0 38 61 00 0E */ addi r3, r1, 0xe +/* 802BF584 002BB1E4 38 A0 00 1F */ li r5, 0x1f +/* 802BF588 002BB1E8 4B D4 4A 79 */ bl memcpy +/* 802BF58C 002BB1EC 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF590 002BB1F0 38 00 00 00 */ li r0, 0 +/* 802BF594 002BB1F4 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BF598 002BB1F8 98 01 00 2D */ stb r0, 0x2d(r1) +/* 802BF59C 002BB1FC 81 83 00 50 */ lwz r12, 0x50(r3) +/* 802BF5A0 002BB200 98 01 01 17 */ stb r0, 0x117(r1) +/* 802BF5A4 002BB204 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BF5A8 002BB208 98 01 01 06 */ stb r0, 0x106(r1) +/* 802BF5AC 002BB20C 41 82 00 14 */ beq lbl_802BF5C0 +/* 802BF5B0 002BB210 38 81 00 08 */ addi r4, r1, 8 +/* 802BF5B4 002BB214 38 60 00 03 */ li r3, 3 +/* 802BF5B8 002BB218 7D 89 03 A6 */ mtctr r12 +/* 802BF5BC 002BB21C 4E 80 04 21 */ bctrl +lbl_802BF5C0: +/* 802BF5C0 002BB220 83 E1 01 1C */ lwz r31, 0x11c(r1) +/* 802BF5C4 002BB224 38 60 00 00 */ li r3, 0 +/* 802BF5C8 002BB228 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802BF5CC 002BB22C 7C 08 03 A6 */ mtlr r0 +/* 802BF5D0 002BB230 38 21 01 20 */ addi r1, r1, 0x120 +/* 802BF5D4 002BB234 4E 80 00 20 */ blr +lbl_802BF5D8: +/* 802BF5D8 002BB238 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802BF5DC 002BB23C 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802BF5E0 002BB240 81 84 00 50 */ lwz r12, 0x50(r4) +/* 802BF5E4 002BB244 2C 0C 00 00 */ cmpwi r12, 0 +/* 802BF5E8 002BB248 4D 82 00 20 */ beqlr +/* 802BF5EC 002BB24C 7C 64 1B 78 */ mr r4, r3 +/* 802BF5F0 002BB250 38 60 00 00 */ li r3, 0 +/* 802BF5F4 002BB254 7D 89 03 A6 */ mtctr r12 +/* 802BF5F8 002BB258 4E 80 04 20 */ bctr +/* 802BF5FC 002BB25C 4E 80 00 20 */ blr +/* 802BF600 002BB260 88 03 00 0C */ lbz r0, 0xc(r3) +/* 802BF604 002BB264 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF608 002BB268 41 82 00 24 */ beq lbl_802BF62C +/* 802BF60C 002BB26C 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802BF610 002BB270 88 03 00 08 */ lbz r0, 8(r3) +/* 802BF614 002BB274 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802BF618 002BB278 98 04 00 6C */ stb r0, 0x6c(r4) +/* 802BF61C 002BB27C A0 03 00 0A */ lhz r0, 0xa(r3) +/* 802BF620 002BB280 38 60 00 00 */ li r3, 0 +/* 802BF624 002BB284 B0 04 00 70 */ sth r0, 0x70(r4) +/* 802BF628 002BB288 48 00 00 14 */ b lbl_802BF63C +lbl_802BF62C: +/* 802BF62C 002BB28C 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF630 002BB290 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BF634 002BB294 38 63 00 54 */ addi r3, r3, 0x54 +/* 802BF638 002BB298 4B FF E4 10 */ b func_802BDA48 +lbl_802BF63C: +/* 802BF63C 002BB29C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BF640 002BB2A0 7C 08 02 A6 */ mflr r0 +/* 802BF644 002BB2A4 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF648 002BB2A8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BF64C 002BB2AC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BF650 002BB2B0 3B E3 88 14 */ addi r31, r3, lbl_80568814@l +/* 802BF654 002BB2B4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BF658 002BB2B8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BF65C 002BB2BC 88 1F 00 6C */ lbz r0, 0x6c(r31) +/* 802BF660 002BB2C0 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802BF664 002BB2C4 41 82 00 38 */ beq lbl_802BF69C +/* 802BF668 002BB2C8 3B A0 00 00 */ li r29, 0 +/* 802BF66C 002BB2CC 3F C0 80 2C */ lis r30, 0x802c +/* 802BF670 002BB2D0 48 00 00 1C */ b lbl_802BF68C +lbl_802BF674: +/* 802BF674 002BB2D4 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802BF678 002BB2D8 38 9E FA 3C */ addi r4, r30, -1476 +/* 802BF67C 002BB2DC 1C 00 00 0B */ mulli r0, r0, 0xb +/* 802BF680 002BB2E0 7C 7F 02 14 */ add r3, r31, r0 +/* 802BF684 002BB2E4 48 00 53 65 */ bl func_802C49E8 +/* 802BF688 002BB2E8 3B BD 00 01 */ addi r29, r29, 1 +lbl_802BF68C: +/* 802BF68C 002BB2EC 88 1F 00 4D */ lbz r0, 0x4d(r31) +/* 802BF690 002BB2F0 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802BF694 002BB2F4 7C 03 00 40 */ cmplw r3, r0 +/* 802BF698 002BB2F8 41 80 FF DC */ blt lbl_802BF674 +lbl_802BF69C: +/* 802BF69C 002BB2FC 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF6A0 002BB300 3B C3 88 14 */ addi r30, r3, lbl_80568814@l +/* 802BF6A4 002BB304 88 1E 00 6C */ lbz r0, 0x6c(r30) +/* 802BF6A8 002BB308 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802BF6AC 002BB30C 41 82 00 38 */ beq lbl_802BF6E4 +/* 802BF6B0 002BB310 3B A0 00 00 */ li r29, 0 +/* 802BF6B4 002BB314 3F E0 80 2C */ lis r31, 0x802c +/* 802BF6B8 002BB318 48 00 00 1C */ b lbl_802BF6D4 +lbl_802BF6BC: +/* 802BF6BC 002BB31C 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802BF6C0 002BB320 38 9F FA A8 */ addi r4, r31, -1368 +/* 802BF6C4 002BB324 1C 00 00 0B */ mulli r0, r0, 0xb +/* 802BF6C8 002BB328 7C 7E 02 14 */ add r3, r30, r0 +/* 802BF6CC 002BB32C 48 00 54 59 */ bl func_802C4B24 +/* 802BF6D0 002BB330 3B BD 00 01 */ addi r29, r29, 1 +lbl_802BF6D4: +/* 802BF6D4 002BB334 88 1E 00 4D */ lbz r0, 0x4d(r30) +/* 802BF6D8 002BB338 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802BF6DC 002BB33C 7C 03 00 40 */ cmplw r3, r0 +/* 802BF6E0 002BB340 41 80 FF DC */ blt lbl_802BF6BC +lbl_802BF6E4: +/* 802BF6E4 002BB344 3C E0 80 57 */ lis r7, lbl_80568814@ha +/* 802BF6E8 002BB348 38 E7 88 14 */ addi r7, r7, lbl_80568814@l +/* 802BF6EC 002BB34C A0 07 00 70 */ lhz r0, 0x70(r7) +/* 802BF6F0 002BB350 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF6F4 002BB354 41 82 00 20 */ beq lbl_802BF714 +/* 802BF6F8 002BB358 3C C0 80 2C */ lis r6, lbl_802BF63C@ha +/* 802BF6FC 002BB35C 38 67 00 54 */ addi r3, r7, 0x54 +/* 802BF700 002BB360 38 C6 F6 3C */ addi r6, r6, lbl_802BF63C@l +/* 802BF704 002BB364 38 80 00 00 */ li r4, 0 +/* 802BF708 002BB368 1C A0 03 E8 */ mulli r5, r0, 0x3e8 +/* 802BF70C 002BB36C 90 C7 00 5C */ stw r6, 0x5c(r7) +/* 802BF710 002BB370 4B FF E3 19 */ bl func_802BDA28 +lbl_802BF714: +/* 802BF714 002BB374 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BF718 002BB378 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BF71C 002BB37C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BF720 002BB380 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BF724 002BB384 7C 08 03 A6 */ mtlr r0 +/* 802BF728 002BB388 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BF72C 002BB38C 4E 80 00 20 */ blr +lbl_802BF730: +/* 802BF730 002BB390 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BF734 002BB394 7C 08 02 A6 */ mflr r0 +/* 802BF738 002BB398 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BF73C 002BB39C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BF740 002BB3A0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BF744 002BB3A4 7C FE 3B 78 */ mr r30, r7 +/* 802BF748 002BB3A8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BF74C 002BB3AC 7C 7D 1B 78 */ mr r29, r3 +/* 802BF750 002BB3B0 38 60 00 12 */ li r3, 0x12 +/* 802BF754 002BB3B4 4B FF A3 59 */ bl func_802B9AAC +/* 802BF758 002BB3B8 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF75C 002BB3BC 7C 7F 1B 78 */ mr r31, r3 +/* 802BF760 002BB3C0 41 82 00 24 */ beq lbl_802BF784 +/* 802BF764 002BB3C4 7F A4 EB 78 */ mr r4, r29 +/* 802BF768 002BB3C8 38 63 00 0B */ addi r3, r3, 0xb +/* 802BF76C 002BB3CC 4B FF DD F5 */ bl func_802BD560 +/* 802BF770 002BB3D0 9B DF 00 0A */ stb r30, 0xa(r31) +/* 802BF774 002BB3D4 38 00 01 05 */ li r0, 0x105 +/* 802BF778 002BB3D8 7F E3 FB 78 */ mr r3, r31 +/* 802BF77C 002BB3DC B0 1F 00 00 */ sth r0, 0(r31) +/* 802BF780 002BB3E0 4B FF E2 8D */ bl func_802BDA0C +lbl_802BF784: +/* 802BF784 002BB3E4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BF788 002BB3E8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BF78C 002BB3EC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BF790 002BB3F0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BF794 002BB3F4 7C 08 03 A6 */ mtlr r0 +/* 802BF798 002BB3F8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BF79C 002BB3FC 4E 80 00 20 */ blr +/* 802BF7A0 002BB400 94 21 FE D0 */ stwu r1, -0x130(r1) +/* 802BF7A4 002BB404 7C 08 02 A6 */ mflr r0 +/* 802BF7A8 002BB408 90 01 01 34 */ stw r0, 0x134(r1) +/* 802BF7AC 002BB40C 93 E1 01 2C */ stw r31, 0x12c(r1) +/* 802BF7B0 002BB410 3B E3 00 0B */ addi r31, r3, 0xb +/* 802BF7B4 002BB414 93 C1 01 28 */ stw r30, 0x128(r1) +/* 802BF7B8 002BB418 93 A1 01 24 */ stw r29, 0x124(r1) +/* 802BF7BC 002BB41C 88 03 00 0A */ lbz r0, 0xa(r3) +/* 802BF7C0 002BB420 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF7C4 002BB424 41 82 00 C0 */ beq lbl_802BF884 +/* 802BF7C8 002BB428 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF7CC 002BB42C 3B A0 00 00 */ li r29, 0 +/* 802BF7D0 002BB430 3B C3 88 14 */ addi r30, r3, lbl_80568814@l +/* 802BF7D4 002BB434 48 00 00 24 */ b lbl_802BF7F8 +lbl_802BF7D8: +/* 802BF7D8 002BB438 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802BF7DC 002BB43C 7F E4 FB 78 */ mr r4, r31 +/* 802BF7E0 002BB440 1C 00 00 0B */ mulli r0, r0, 0xb +/* 802BF7E4 002BB444 7C 7E 02 14 */ add r3, r30, r0 +/* 802BF7E8 002BB448 4B FF DD AD */ bl func_802BD594 +/* 802BF7EC 002BB44C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF7F0 002BB450 41 82 00 18 */ beq lbl_802BF808 +/* 802BF7F4 002BB454 3B BD 00 01 */ addi r29, r29, 1 +lbl_802BF7F8: +/* 802BF7F8 002BB458 88 1E 00 4D */ lbz r0, 0x4d(r30) +/* 802BF7FC 002BB45C 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802BF800 002BB460 7C 03 00 40 */ cmplw r3, r0 +/* 802BF804 002BB464 41 80 FF D4 */ blt lbl_802BF7D8 +lbl_802BF808: +/* 802BF808 002BB468 3F C0 80 57 */ lis r30, lbl_80568814@ha +/* 802BF80C 002BB46C 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802BF810 002BB470 3B DE 88 14 */ addi r30, r30, lbl_80568814@l +/* 802BF814 002BB474 88 7E 00 4D */ lbz r3, 0x4d(r30) +/* 802BF818 002BB478 7C 00 18 40 */ cmplw r0, r3 +/* 802BF81C 002BB47C 40 82 00 20 */ bne lbl_802BF83C +/* 802BF820 002BB480 1C 03 00 0B */ mulli r0, r3, 0xb +/* 802BF824 002BB484 7F E4 FB 78 */ mr r4, r31 +/* 802BF828 002BB488 7C 7E 02 14 */ add r3, r30, r0 +/* 802BF82C 002BB48C 4B FF DD 35 */ bl func_802BD560 +/* 802BF830 002BB490 88 7E 00 4D */ lbz r3, 0x4d(r30) +/* 802BF834 002BB494 38 03 00 01 */ addi r0, r3, 1 +/* 802BF838 002BB498 98 1E 00 4D */ stb r0, 0x4d(r30) +lbl_802BF83C: +/* 802BF83C 002BB49C 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802BF840 002BB4A0 3F C0 80 57 */ lis r30, lbl_80568814@ha +/* 802BF844 002BB4A4 1C 80 00 0B */ mulli r4, r0, 0xb +/* 802BF848 002BB4A8 38 60 00 01 */ li r3, 1 +/* 802BF84C 002BB4AC 3B DE 88 14 */ addi r30, r30, lbl_80568814@l +/* 802BF850 002BB4B0 38 00 00 00 */ li r0, 0 +/* 802BF854 002BB4B4 7C BE 22 14 */ add r5, r30, r4 +/* 802BF858 002BB4B8 98 65 00 06 */ stb r3, 6(r5) +/* 802BF85C 002BB4BC 7F E4 FB 78 */ mr r4, r31 +/* 802BF860 002BB4C0 38 61 00 08 */ addi r3, r1, 8 +/* 802BF864 002BB4C4 98 05 00 07 */ stb r0, 7(r5) +/* 802BF868 002BB4C8 4B FF DC F9 */ bl func_802BD560 +/* 802BF86C 002BB4CC 81 9E 00 50 */ lwz r12, 0x50(r30) +/* 802BF870 002BB4D0 38 81 00 08 */ addi r4, r1, 8 +/* 802BF874 002BB4D4 38 60 00 05 */ li r3, 5 +/* 802BF878 002BB4D8 7D 89 03 A6 */ mtctr r12 +/* 802BF87C 002BB4DC 4E 80 04 21 */ bctrl +/* 802BF880 002BB4E0 48 00 01 84 */ b lbl_802BFA04 +lbl_802BF884: +/* 802BF884 002BB4E4 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF888 002BB4E8 3B A0 00 00 */ li r29, 0 +/* 802BF88C 002BB4EC 3B C3 88 14 */ addi r30, r3, lbl_80568814@l +/* 802BF890 002BB4F0 48 00 00 68 */ b lbl_802BF8F8 +lbl_802BF894: +/* 802BF894 002BB4F4 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802BF898 002BB4F8 7F E4 FB 78 */ mr r4, r31 +/* 802BF89C 002BB4FC 1C 00 00 0B */ mulli r0, r0, 0xb +/* 802BF8A0 002BB500 7C 7E 02 14 */ add r3, r30, r0 +/* 802BF8A4 002BB504 4B FF DC F1 */ bl func_802BD594 +/* 802BF8A8 002BB508 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF8AC 002BB50C 40 82 00 48 */ bne lbl_802BF8F4 +/* 802BF8B0 002BB510 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BF8B4 002BB514 3B C3 88 14 */ addi r30, r3, lbl_80568814@l +/* 802BF8B8 002BB518 48 00 00 28 */ b lbl_802BF8E0 +lbl_802BF8BC: +/* 802BF8BC 002BB51C 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802BF8C0 002BB520 38 A0 00 0B */ li r5, 0xb +/* 802BF8C4 002BB524 38 03 00 01 */ addi r0, r3, 1 +/* 802BF8C8 002BB528 1C 63 00 0B */ mulli r3, r3, 0xb +/* 802BF8CC 002BB52C 1C 00 00 0B */ mulli r0, r0, 0xb +/* 802BF8D0 002BB530 7C 7E 1A 14 */ add r3, r30, r3 +/* 802BF8D4 002BB534 7C 9E 02 14 */ add r4, r30, r0 +/* 802BF8D8 002BB538 4B D4 47 29 */ bl memcpy +/* 802BF8DC 002BB53C 3B BD 00 01 */ addi r29, r29, 1 +lbl_802BF8E0: +/* 802BF8E0 002BB540 88 1E 00 4D */ lbz r0, 0x4d(r30) +/* 802BF8E4 002BB544 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802BF8E8 002BB548 7C 03 00 40 */ cmplw r3, r0 +/* 802BF8EC 002BB54C 41 80 FF D0 */ blt lbl_802BF8BC +/* 802BF8F0 002BB550 48 00 00 18 */ b lbl_802BF908 +lbl_802BF8F4: +/* 802BF8F4 002BB554 3B BD 00 01 */ addi r29, r29, 1 +lbl_802BF8F8: +/* 802BF8F8 002BB558 88 1E 00 4D */ lbz r0, 0x4d(r30) +/* 802BF8FC 002BB55C 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802BF900 002BB560 7C 03 00 40 */ cmplw r3, r0 +/* 802BF904 002BB564 41 80 FF 90 */ blt lbl_802BF894 +lbl_802BF908: +/* 802BF908 002BB568 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802BF90C 002BB56C 3F C0 80 57 */ lis r30, lbl_80568798@ha +/* 802BF910 002BB570 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802BF914 002BB574 3B DE 87 98 */ addi r30, r30, lbl_80568798@l +/* 802BF918 002BB578 88 64 00 4D */ lbz r3, 0x4d(r4) +/* 802BF91C 002BB57C 88 1E 00 78 */ lbz r0, 0x78(r30) +/* 802BF920 002BB580 38 63 FF FF */ addi r3, r3, -1 +/* 802BF924 002BB584 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF928 002BB588 98 64 00 4D */ stb r3, 0x4d(r4) +/* 802BF92C 002BB58C 41 82 00 5C */ beq lbl_802BF988 +/* 802BF930 002BB590 7F E4 FB 78 */ mr r4, r31 +/* 802BF934 002BB594 38 7E 00 1A */ addi r3, r30, 0x1a +/* 802BF938 002BB598 4B FF DC 5D */ bl func_802BD594 +/* 802BF93C 002BB59C 2C 03 00 00 */ cmpwi r3, 0 +/* 802BF940 002BB5A0 40 82 00 48 */ bne lbl_802BF988 +/* 802BF944 002BB5A4 88 1E 00 79 */ lbz r0, 0x79(r30) +/* 802BF948 002BB5A8 38 60 00 00 */ li r3, 0 +/* 802BF94C 002BB5AC 98 7E 00 78 */ stb r3, 0x78(r30) +/* 802BF950 002BB5B0 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF954 002BB5B4 41 82 00 34 */ beq lbl_802BF988 +/* 802BF958 002BB5B8 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BF95C 002BB5BC 28 00 00 04 */ cmplwi r0, 4 +/* 802BF960 002BB5C0 41 80 00 14 */ blt lbl_802BF974 +/* 802BF964 002BB5C4 3C 80 80 44 */ lis r4, lbl_804400E8@ha +/* 802BF968 002BB5C8 38 60 05 03 */ li r3, 0x503 +/* 802BF96C 002BB5CC 38 84 00 E8 */ addi r4, r4, lbl_804400E8@l +/* 802BF970 002BB5D0 4B FF D5 A1 */ bl func_802BCF10 +lbl_802BF974: +/* 802BF974 002BB5D4 3C 60 80 57 */ lis r3, lbl_80568798@ha +/* 802BF978 002BB5D8 38 63 87 98 */ addi r3, r3, lbl_80568798@l +/* 802BF97C 002BB5DC 38 63 00 40 */ addi r3, r3, 0x40 +/* 802BF980 002BB5E0 4B FF E0 C9 */ bl func_802BDA48 +/* 802BF984 002BB5E4 4B FF F5 19 */ bl func_802BEE9C +lbl_802BF988: +/* 802BF988 002BB5E8 3F C0 80 57 */ lis r30, lbl_80568814@ha +/* 802BF98C 002BB5EC 3B DE 88 14 */ addi r30, r30, lbl_80568814@l +/* 802BF990 002BB5F0 88 1E 00 72 */ lbz r0, 0x72(r30) +/* 802BF994 002BB5F4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BF998 002BB5F8 41 82 00 3C */ beq lbl_802BF9D4 +/* 802BF99C 002BB5FC 48 00 49 9D */ bl func_802C4338 +/* 802BF9A0 002BB600 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802BF9A4 002BB604 40 82 00 30 */ bne lbl_802BF9D4 +/* 802BF9A8 002BB608 38 00 00 00 */ li r0, 0 +/* 802BF9AC 002BB60C 38 7E 00 74 */ addi r3, r30, 0x74 +/* 802BF9B0 002BB610 98 1E 00 72 */ stb r0, 0x72(r30) +/* 802BF9B4 002BB614 4B FF E0 95 */ bl func_802BDA48 +/* 802BF9B8 002BB618 3C A0 80 2C */ lis r5, lbl_802BFA20@ha +/* 802BF9BC 002BB61C 38 7E 00 74 */ addi r3, r30, 0x74 +/* 802BF9C0 002BB620 38 A5 FA 20 */ addi r5, r5, lbl_802BFA20@l +/* 802BF9C4 002BB624 38 80 00 00 */ li r4, 0 +/* 802BF9C8 002BB628 90 BE 00 7C */ stw r5, 0x7c(r30) +/* 802BF9CC 002BB62C 38 A0 03 E8 */ li r5, 0x3e8 +/* 802BF9D0 002BB630 4B FF E0 59 */ bl func_802BDA28 +lbl_802BF9D4: +/* 802BF9D4 002BB634 7F E4 FB 78 */ mr r4, r31 +/* 802BF9D8 002BB638 38 61 00 08 */ addi r3, r1, 8 +/* 802BF9DC 002BB63C 4B FF DB 85 */ bl func_802BD560 +/* 802BF9E0 002BB640 48 00 49 B5 */ bl func_802C4394 +/* 802BF9E4 002BB644 3C A0 80 57 */ lis r5, lbl_80568814@ha +/* 802BF9E8 002BB648 98 61 00 0E */ stb r3, 0xe(r1) +/* 802BF9EC 002BB64C 38 A5 88 14 */ addi r5, r5, lbl_80568814@l +/* 802BF9F0 002BB650 38 81 00 08 */ addi r4, r1, 8 +/* 802BF9F4 002BB654 81 85 00 50 */ lwz r12, 0x50(r5) +/* 802BF9F8 002BB658 38 60 00 06 */ li r3, 6 +/* 802BF9FC 002BB65C 7D 89 03 A6 */ mtctr r12 +/* 802BFA00 002BB660 4E 80 04 21 */ bctrl +lbl_802BFA04: +/* 802BFA04 002BB664 80 01 01 34 */ lwz r0, 0x134(r1) +/* 802BFA08 002BB668 83 E1 01 2C */ lwz r31, 0x12c(r1) +/* 802BFA0C 002BB66C 83 C1 01 28 */ lwz r30, 0x128(r1) +/* 802BFA10 002BB670 83 A1 01 24 */ lwz r29, 0x124(r1) +/* 802BFA14 002BB674 7C 08 03 A6 */ mtlr r0 +/* 802BFA18 002BB678 38 21 01 30 */ addi r1, r1, 0x130 +/* 802BFA1C 002BB67C 4E 80 00 20 */ blr +lbl_802BFA20: +/* 802BFA20 002BB680 3C A0 80 57 */ lis r5, lbl_80568814@ha +/* 802BFA24 002BB684 38 60 00 01 */ li r3, 1 +/* 802BFA28 002BB688 38 A5 88 14 */ addi r5, r5, lbl_80568814@l +/* 802BFA2C 002BB68C 38 80 00 00 */ li r4, 0 +/* 802BFA30 002BB690 81 85 00 50 */ lwz r12, 0x50(r5) +/* 802BFA34 002BB694 7D 89 03 A6 */ mtctr r12 +/* 802BFA38 002BB698 4E 80 04 20 */ bctr +/* 802BFA3C 002BB69C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BFA40 002BB6A0 7C 08 02 A6 */ mflr r0 +/* 802BFA44 002BB6A4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BFA48 002BB6A8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BFA4C 002BB6AC 7C 7F 1B 78 */ mr r31, r3 +/* 802BFA50 002BB6B0 88 03 00 00 */ lbz r0, 0(r3) +/* 802BFA54 002BB6B4 2C 00 00 00 */ cmpwi r0, 0 +/* 802BFA58 002BB6B8 40 82 00 3C */ bne lbl_802BFA94 +/* 802BFA5C 002BB6BC 38 61 00 08 */ addi r3, r1, 8 +/* 802BFA60 002BB6C0 38 9F 00 03 */ addi r4, r31, 3 +/* 802BFA64 002BB6C4 4B FF DA FD */ bl func_802BD560 +/* 802BFA68 002BB6C8 38 00 00 01 */ li r0, 1 +/* 802BFA6C 002BB6CC 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BFA70 002BB6D0 98 01 00 0E */ stb r0, 0xe(r1) +/* 802BFA74 002BB6D4 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BFA78 002BB6D8 81 83 00 50 */ lwz r12, 0x50(r3) +/* 802BFA7C 002BB6DC 38 81 00 08 */ addi r4, r1, 8 +/* 802BFA80 002BB6E0 88 1F 00 02 */ lbz r0, 2(r31) +/* 802BFA84 002BB6E4 38 60 00 07 */ li r3, 7 +/* 802BFA88 002BB6E8 98 01 00 0F */ stb r0, 0xf(r1) +/* 802BFA8C 002BB6EC 7D 89 03 A6 */ mtctr r12 +/* 802BFA90 002BB6F0 4E 80 04 21 */ bctrl +lbl_802BFA94: +/* 802BFA94 002BB6F4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BFA98 002BB6F8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BFA9C 002BB6FC 7C 08 03 A6 */ mtlr r0 +/* 802BFAA0 002BB700 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BFAA4 002BB704 4E 80 00 20 */ blr +/* 802BFAA8 002BB708 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BFAAC 002BB70C 7C 08 02 A6 */ mflr r0 +/* 802BFAB0 002BB710 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BFAB4 002BB714 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BFAB8 002BB718 7C 7F 1B 78 */ mr r31, r3 +/* 802BFABC 002BB71C 88 03 00 00 */ lbz r0, 0(r3) +/* 802BFAC0 002BB720 2C 00 00 00 */ cmpwi r0, 0 +/* 802BFAC4 002BB724 40 82 00 3C */ bne lbl_802BFB00 +/* 802BFAC8 002BB728 38 61 00 08 */ addi r3, r1, 8 +/* 802BFACC 002BB72C 38 9F 00 03 */ addi r4, r31, 3 +/* 802BFAD0 002BB730 4B FF DA 91 */ bl func_802BD560 +/* 802BFAD4 002BB734 38 00 00 02 */ li r0, 2 +/* 802BFAD8 002BB738 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BFADC 002BB73C 98 01 00 0E */ stb r0, 0xe(r1) +/* 802BFAE0 002BB740 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BFAE4 002BB744 81 83 00 50 */ lwz r12, 0x50(r3) +/* 802BFAE8 002BB748 38 81 00 08 */ addi r4, r1, 8 +/* 802BFAEC 002BB74C 88 1F 00 02 */ lbz r0, 2(r31) +/* 802BFAF0 002BB750 38 60 00 07 */ li r3, 7 +/* 802BFAF4 002BB754 98 01 00 10 */ stb r0, 0x10(r1) +/* 802BFAF8 002BB758 7D 89 03 A6 */ mtctr r12 +/* 802BFAFC 002BB75C 4E 80 04 21 */ bctrl +lbl_802BFB00: +/* 802BFB00 002BB760 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BFB04 002BB764 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BFB08 002BB768 7C 08 03 A6 */ mtlr r0 +/* 802BFB0C 002BB76C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BFB10 002BB770 4E 80 00 20 */ blr +lbl_802BFB14: +/* 802BFB14 002BB774 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802BFB18 002BB778 7C 08 02 A6 */ mflr r0 +/* 802BFB1C 002BB77C 90 01 00 34 */ stw r0, 0x34(r1) +/* 802BFB20 002BB780 39 61 00 30 */ addi r11, r1, 0x30 +/* 802BFB24 002BB784 4B F0 75 FD */ bl _savegpr_25 +/* 802BFB28 002BB788 3F E0 80 57 */ lis r31, lbl_80568768@ha +/* 802BFB2C 002BB78C 83 61 00 38 */ lwz r27, 0x38(r1) +/* 802BFB30 002BB790 3B FF 87 68 */ addi r31, r31, lbl_80568768@l +/* 802BFB34 002BB794 7C 79 1B 78 */ mr r25, r3 +/* 802BFB38 002BB798 7D 5A 53 78 */ mr r26, r10 +/* 802BFB3C 002BB79C 3B A0 00 00 */ li r29, 0 +/* 802BFB40 002BB7A0 7F FE FB 78 */ mr r30, r31 +/* 802BFB44 002BB7A4 3B 80 00 00 */ li r28, 0 +lbl_802BFB48: +/* 802BFB48 002BB7A8 88 1F 00 08 */ lbz r0, 8(r31) +/* 802BFB4C 002BB7AC 28 00 00 01 */ cmplwi r0, 1 +/* 802BFB50 002BB7B0 40 82 00 78 */ bne lbl_802BFBC8 +/* 802BFB54 002BB7B4 7F C3 F3 78 */ mr r3, r30 +/* 802BFB58 002BB7B8 7F 24 CB 78 */ mr r4, r25 +/* 802BFB5C 002BB7BC 4B FF DA 39 */ bl func_802BD594 +/* 802BFB60 002BB7C0 2C 03 00 00 */ cmpwi r3, 0 +/* 802BFB64 002BB7C4 40 82 00 64 */ bne lbl_802BFBC8 +/* 802BFB68 002BB7C8 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BFB6C 002BB7CC 28 00 00 04 */ cmplwi r0, 4 +/* 802BFB70 002BB7D0 41 80 00 2C */ blt lbl_802BFB9C +/* 802BFB74 002BB7D4 57 80 18 38 */ slwi r0, r28, 3 +/* 802BFB78 002BB7D8 3C A0 80 57 */ lis r5, lbl_80568768@ha +/* 802BFB7C 002BB7DC 38 A5 87 68 */ addi r5, r5, lbl_80568768@l +/* 802BFB80 002BB7E0 3C 80 80 44 */ lis r4, lbl_804400FC@ha +/* 802BFB84 002BB7E4 7C 00 E2 14 */ add r0, r0, r28 +/* 802BFB88 002BB7E8 38 60 05 03 */ li r3, 0x503 +/* 802BFB8C 002BB7EC 7C A5 02 14 */ add r5, r5, r0 +/* 802BFB90 002BB7F0 38 84 00 FC */ addi r4, r4, lbl_804400FC@l +/* 802BFB94 002BB7F4 88 A5 00 06 */ lbz r5, 6(r5) +/* 802BFB98 002BB7F8 4B FF D3 91 */ bl func_802BCF28 +lbl_802BFB9C: +/* 802BFB9C 002BB7FC 57 80 18 38 */ slwi r0, r28, 3 +/* 802BFBA0 002BB800 3C 60 80 57 */ lis r3, lbl_80568768@ha +/* 802BFBA4 002BB804 38 63 87 68 */ addi r3, r3, lbl_80568768@l +/* 802BFBA8 002BB808 7F 44 D3 78 */ mr r4, r26 +/* 802BFBAC 002BB80C 7C 00 E2 14 */ add r0, r0, r28 +/* 802BFBB0 002BB810 7F 65 DB 78 */ mr r5, r27 +/* 802BFBB4 002BB814 7C 63 02 14 */ add r3, r3, r0 +/* 802BFBB8 002BB818 88 63 00 06 */ lbz r3, 6(r3) +/* 802BFBBC 002BB81C 4B FF 99 B9 */ bl func_802B9574 +/* 802BFBC0 002BB820 7C 7D 1B 78 */ mr r29, r3 +/* 802BFBC4 002BB824 48 00 00 18 */ b lbl_802BFBDC +lbl_802BFBC8: +/* 802BFBC8 002BB828 3B 9C 00 01 */ addi r28, r28, 1 +/* 802BFBCC 002BB82C 3B DE 00 09 */ addi r30, r30, 9 +/* 802BFBD0 002BB830 2C 1C 00 05 */ cmpwi r28, 5 +/* 802BFBD4 002BB834 3B FF 00 09 */ addi r31, r31, 9 +/* 802BFBD8 002BB838 41 80 FF 70 */ blt lbl_802BFB48 +lbl_802BFBDC: +/* 802BFBDC 002BB83C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802BFBE0 002BB840 7F A3 EB 78 */ mr r3, r29 +/* 802BFBE4 002BB844 4B F0 75 89 */ bl _restgpr_25 +/* 802BFBE8 002BB848 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802BFBEC 002BB84C 7C 08 03 A6 */ mtlr r0 +/* 802BFBF0 002BB850 38 21 00 30 */ addi r1, r1, 0x30 +/* 802BFBF4 002BB854 4E 80 00 20 */ blr +lbl_802BFBF8: +/* 802BFBF8 002BB858 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BFBFC 002BB85C 7C 08 02 A6 */ mflr r0 +/* 802BFC00 002BB860 2C 03 00 00 */ cmpwi r3, 0 +/* 802BFC04 002BB864 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BFC08 002BB868 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802BFC0C 002BB86C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802BFC10 002BB870 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802BFC14 002BB874 40 82 01 58 */ bne lbl_802BFD6C +/* 802BFC18 002BB878 80 6D 89 EC */ lwz r3, lbl_8063DCAC-_SDA_BASE_(r13) +/* 802BFC1C 002BB87C 38 E0 00 01 */ li r7, 1 +/* 802BFC20 002BB880 89 23 00 01 */ lbz r9, 1(r3) +/* 802BFC24 002BB884 48 00 01 38 */ b lbl_802BFD5C +lbl_802BFC28: +/* 802BFC28 002BB888 54 E8 06 3E */ clrlwi r8, r7, 0x18 +/* 802BFC2C 002BB88C 54 E0 15 BA */ rlwinm r0, r7, 2, 0x16, 0x1d +/* 802BFC30 002BB890 7C 08 00 50 */ subf r0, r8, r0 +/* 802BFC34 002BB894 7D 03 02 14 */ add r8, r3, r0 +/* 802BFC38 002BB898 88 08 00 01 */ lbz r0, 1(r8) +/* 802BFC3C 002BB89C 7C 05 00 40 */ cmplw r5, r0 +/* 802BFC40 002BB8A0 41 82 00 0C */ beq lbl_802BFC4C +/* 802BFC44 002BB8A4 28 00 00 FF */ cmplwi r0, 0xff +/* 802BFC48 002BB8A8 40 82 01 10 */ bne lbl_802BFD58 +lbl_802BFC4C: +/* 802BFC4C 002BB8AC 88 08 00 00 */ lbz r0, 0(r8) +/* 802BFC50 002BB8B0 7C 04 00 40 */ cmplw r4, r0 +/* 802BFC54 002BB8B4 40 82 01 04 */ bne lbl_802BFD58 +/* 802BFC58 002BB8B8 88 08 00 02 */ lbz r0, 2(r8) +/* 802BFC5C 002BB8BC 28 00 00 01 */ cmplwi r0, 1 +/* 802BFC60 002BB8C0 40 82 00 F8 */ bne lbl_802BFD58 +/* 802BFC64 002BB8C4 3D 00 80 57 */ lis r8, lbl_80568918@ha +/* 802BFC68 002BB8C8 89 63 00 01 */ lbz r11, 1(r3) +/* 802BFC6C 002BB8CC 89 48 89 18 */ lbz r10, lbl_80568918@l(r8) +/* 802BFC70 002BB8D0 39 28 89 18 */ addi r9, r8, -30440 +/* 802BFC74 002BB8D4 3B E0 00 00 */ li r31, 0 +/* 802BFC78 002BB8D8 3B A0 00 01 */ li r29, 1 +/* 802BFC7C 002BB8DC 48 00 00 60 */ b lbl_802BFCDC +lbl_802BFC80: +/* 802BFC80 002BB8E0 57 A8 06 3E */ clrlwi r8, r29, 0x18 +/* 802BFC84 002BB8E4 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d +/* 802BFC88 002BB8E8 7C 08 00 50 */ subf r0, r8, r0 +/* 802BFC8C 002BB8EC 7D 83 02 14 */ add r12, r3, r0 +/* 802BFC90 002BB8F0 88 0C 00 02 */ lbz r0, 2(r12) +/* 802BFC94 002BB8F4 28 00 00 02 */ cmplwi r0, 2 +/* 802BFC98 002BB8F8 40 82 00 40 */ bne lbl_802BFCD8 +/* 802BFC9C 002BB8FC 3B C0 00 00 */ li r30, 0 +/* 802BFCA0 002BB900 48 00 00 2C */ b lbl_802BFCCC +lbl_802BFCA4: +/* 802BFCA4 002BB904 57 C8 06 3E */ clrlwi r8, r30, 0x18 +/* 802BFCA8 002BB908 57 C0 1D 78 */ rlwinm r0, r30, 3, 0x15, 0x1c +/* 802BFCAC 002BB90C 7D 00 42 14 */ add r8, r0, r8 +/* 802BFCB0 002BB910 88 0C 00 00 */ lbz r0, 0(r12) +/* 802BFCB4 002BB914 7D 09 42 14 */ add r8, r9, r8 +/* 802BFCB8 002BB918 89 08 00 07 */ lbz r8, 7(r8) +/* 802BFCBC 002BB91C 7C 08 00 40 */ cmplw r8, r0 +/* 802BFCC0 002BB920 40 82 00 08 */ bne lbl_802BFCC8 +/* 802BFCC4 002BB924 3B E0 00 01 */ li r31, 1 +lbl_802BFCC8: +/* 802BFCC8 002BB928 3B DE 00 01 */ addi r30, r30, 1 +lbl_802BFCCC: +/* 802BFCCC 002BB92C 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 802BFCD0 002BB930 7C 00 50 40 */ cmplw r0, r10 +/* 802BFCD4 002BB934 41 80 FF D0 */ blt lbl_802BFCA4 +lbl_802BFCD8: +/* 802BFCD8 002BB938 3B BD 00 01 */ addi r29, r29, 1 +lbl_802BFCDC: +/* 802BFCDC 002BB93C 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802BFCE0 002BB940 7C 00 58 40 */ cmplw r0, r11 +/* 802BFCE4 002BB944 40 81 FF 9C */ ble lbl_802BFC80 +/* 802BFCE8 002BB948 2C 1F 00 00 */ cmpwi r31, 0 +/* 802BFCEC 002BB94C 40 82 01 28 */ bne lbl_802BFE14 +/* 802BFCF0 002BB950 54 E3 06 3E */ clrlwi r3, r7, 0x18 +/* 802BFCF4 002BB954 3F C0 80 57 */ lis r30, lbl_80568768@ha +/* 802BFCF8 002BB958 38 63 FF FF */ addi r3, r3, -1 +/* 802BFCFC 002BB95C 54 60 18 38 */ slwi r0, r3, 3 +/* 802BFD00 002BB960 3B DE 87 68 */ addi r30, r30, lbl_80568768@l +/* 802BFD04 002BB964 7F A0 1A 14 */ add r29, r0, r3 +/* 802BFD08 002BB968 7F FE EA 14 */ add r31, r30, r29 +/* 802BFD0C 002BB96C 98 BF 00 07 */ stb r5, 7(r31) +/* 802BFD10 002BB970 7F E3 FB 78 */ mr r3, r31 +/* 802BFD14 002BB974 98 9F 00 06 */ stb r4, 6(r31) +/* 802BFD18 002BB978 7C C4 33 78 */ mr r4, r6 +/* 802BFD1C 002BB97C 4B FF D8 45 */ bl func_802BD560 +/* 802BFD20 002BB980 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BFD24 002BB984 38 60 00 01 */ li r3, 1 +/* 802BFD28 002BB988 98 7F 00 08 */ stb r3, 8(r31) +/* 802BFD2C 002BB98C 7F E7 FB 78 */ mr r7, r31 +/* 802BFD30 002BB990 28 00 00 04 */ cmplwi r0, 4 +/* 802BFD34 002BB994 41 80 00 E0 */ blt lbl_802BFE14 +/* 802BFD38 002BB998 3C 80 80 44 */ lis r4, lbl_8044012C@ha +/* 802BFD3C 002BB99C 88 BF 00 07 */ lbz r5, 7(r31) +/* 802BFD40 002BB9A0 88 DF 00 06 */ lbz r6, 6(r31) +/* 802BFD44 002BB9A4 38 84 01 2C */ addi r4, r4, lbl_8044012C@l +/* 802BFD48 002BB9A8 88 E7 00 08 */ lbz r7, 8(r7) +/* 802BFD4C 002BB9AC 38 60 05 03 */ li r3, 0x503 +/* 802BFD50 002BB9B0 4B FF D2 09 */ bl func_802BCF58 +/* 802BFD54 002BB9B4 48 00 00 C0 */ b lbl_802BFE14 +lbl_802BFD58: +/* 802BFD58 002BB9B8 38 E7 00 01 */ addi r7, r7, 1 +lbl_802BFD5C: +/* 802BFD5C 002BB9BC 54 E0 06 3E */ clrlwi r0, r7, 0x18 +/* 802BFD60 002BB9C0 7C 00 48 40 */ cmplw r0, r9 +/* 802BFD64 002BB9C4 40 81 FE C4 */ ble lbl_802BFC28 +/* 802BFD68 002BB9C8 48 00 00 AC */ b lbl_802BFE14 +lbl_802BFD6C: +/* 802BFD6C 002BB9CC 28 03 00 01 */ cmplwi r3, 1 +/* 802BFD70 002BB9D0 40 82 00 A4 */ bne lbl_802BFE14 +/* 802BFD74 002BB9D4 80 ED 89 EC */ lwz r7, lbl_8063DCAC-_SDA_BASE_(r13) +/* 802BFD78 002BB9D8 39 00 00 01 */ li r8, 1 +/* 802BFD7C 002BB9DC 88 C7 00 01 */ lbz r6, 1(r7) +/* 802BFD80 002BB9E0 48 00 00 88 */ b lbl_802BFE08 +lbl_802BFD84: +/* 802BFD84 002BB9E4 55 03 06 3E */ clrlwi r3, r8, 0x18 +/* 802BFD88 002BB9E8 55 00 15 BA */ rlwinm r0, r8, 2, 0x16, 0x1d +/* 802BFD8C 002BB9EC 7C 03 00 50 */ subf r0, r3, r0 +/* 802BFD90 002BB9F0 7C 67 02 14 */ add r3, r7, r0 +/* 802BFD94 002BB9F4 88 03 00 01 */ lbz r0, 1(r3) +/* 802BFD98 002BB9F8 7C 05 00 40 */ cmplw r5, r0 +/* 802BFD9C 002BB9FC 41 82 00 0C */ beq lbl_802BFDA8 +/* 802BFDA0 002BBA00 28 00 00 FF */ cmplwi r0, 0xff +/* 802BFDA4 002BBA04 40 82 00 60 */ bne lbl_802BFE04 +lbl_802BFDA8: +/* 802BFDA8 002BBA08 88 03 00 00 */ lbz r0, 0(r3) +/* 802BFDAC 002BBA0C 7C 04 00 40 */ cmplw r4, r0 +/* 802BFDB0 002BBA10 40 82 00 54 */ bne lbl_802BFE04 +/* 802BFDB4 002BBA14 55 03 06 3E */ clrlwi r3, r8, 0x18 +/* 802BFDB8 002BBA18 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802BFDBC 002BBA1C 38 A3 FF FF */ addi r5, r3, -1 +/* 802BFDC0 002BBA20 3C 60 80 57 */ lis r3, lbl_80568768@ha +/* 802BFDC4 002BBA24 28 00 00 04 */ cmplwi r0, 4 +/* 802BFDC8 002BBA28 54 A4 18 38 */ slwi r4, r5, 3 +/* 802BFDCC 002BBA2C 7C 04 2A 14 */ add r0, r4, r5 +/* 802BFDD0 002BBA30 38 63 87 68 */ addi r3, r3, lbl_80568768@l +/* 802BFDD4 002BBA34 7C 63 02 14 */ add r3, r3, r0 +/* 802BFDD8 002BBA38 38 00 00 00 */ li r0, 0 +/* 802BFDDC 002BBA3C 98 03 00 08 */ stb r0, 8(r3) +/* 802BFDE0 002BBA40 41 80 00 34 */ blt lbl_802BFE14 +/* 802BFDE4 002BBA44 3C 80 80 44 */ lis r4, lbl_80440168@ha +/* 802BFDE8 002BBA48 88 A3 00 07 */ lbz r5, 7(r3) +/* 802BFDEC 002BBA4C 88 C3 00 06 */ lbz r6, 6(r3) +/* 802BFDF0 002BBA50 38 84 01 68 */ addi r4, r4, lbl_80440168@l +/* 802BFDF4 002BBA54 88 E3 00 08 */ lbz r7, 8(r3) +/* 802BFDF8 002BBA58 38 60 05 03 */ li r3, 0x503 +/* 802BFDFC 002BBA5C 4B FF D1 5D */ bl func_802BCF58 +/* 802BFE00 002BBA60 48 00 00 14 */ b lbl_802BFE14 +lbl_802BFE04: +/* 802BFE04 002BBA64 39 08 00 01 */ addi r8, r8, 1 +lbl_802BFE08: +/* 802BFE08 002BBA68 55 00 06 3E */ clrlwi r0, r8, 0x18 +/* 802BFE0C 002BBA6C 7C 00 30 40 */ cmplw r0, r6 +/* 802BFE10 002BBA70 40 81 FF 74 */ ble lbl_802BFD84 +lbl_802BFE14: +/* 802BFE14 002BBA74 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BFE18 002BBA78 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802BFE1C 002BBA7C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802BFE20 002BBA80 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802BFE24 002BBA84 7C 08 03 A6 */ mtlr r0 +/* 802BFE28 002BBA88 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BFE2C 002BBA8C 4E 80 00 20 */ blr +lbl_802BFE30: +/* 802BFE30 002BBA90 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802BFE34 002BBA94 7C 08 02 A6 */ mflr r0 +/* 802BFE38 002BBA98 90 01 00 24 */ stw r0, 0x24(r1) +/* 802BFE3C 002BBA9C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BFE40 002BBAA0 4B F0 72 E5 */ bl _savegpr_26 +/* 802BFE44 002BBAA4 2C 03 00 00 */ cmpwi r3, 0 +/* 802BFE48 002BBAA8 7C 9E 23 78 */ mr r30, r4 +/* 802BFE4C 002BBAAC 7C BF 2B 78 */ mr r31, r5 +/* 802BFE50 002BBAB0 7C DA 33 78 */ mr r26, r6 +/* 802BFE54 002BBAB4 40 82 00 CC */ bne lbl_802BFF20 +/* 802BFE58 002BBAB8 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BFE5C 002BBABC 3B 60 00 00 */ li r27, 0 +/* 802BFE60 002BBAC0 3B A3 88 14 */ addi r29, r3, lbl_80568814@l +/* 802BFE64 002BBAC4 48 00 00 AC */ b lbl_802BFF10 +lbl_802BFE68: +/* 802BFE68 002BBAC8 57 60 06 3E */ clrlwi r0, r27, 0x18 +/* 802BFE6C 002BBACC 7F 44 D3 78 */ mr r4, r26 +/* 802BFE70 002BBAD0 1F 80 00 0B */ mulli r28, r0, 0xb +/* 802BFE74 002BBAD4 7C 7D E2 14 */ add r3, r29, r28 +/* 802BFE78 002BBAD8 4B FF D7 1D */ bl func_802BD594 +/* 802BFE7C 002BBADC 2C 03 00 00 */ cmpwi r3, 0 +/* 802BFE80 002BBAE0 40 82 00 8C */ bne lbl_802BFF0C +/* 802BFE84 002BBAE4 7C 7D E2 14 */ add r3, r29, r28 +/* 802BFE88 002BBAE8 38 00 00 01 */ li r0, 1 +/* 802BFE8C 002BBAEC 98 03 00 06 */ stb r0, 6(r3) +/* 802BFE90 002BBAF0 38 E0 00 01 */ li r7, 1 +/* 802BFE94 002BBAF4 80 CD 89 E8 */ lwz r6, lbl_8063DCA8-_SDA_BASE_(r13) +/* 802BFE98 002BBAF8 88 86 00 01 */ lbz r4, 1(r6) +/* 802BFE9C 002BBAFC 48 00 00 60 */ b lbl_802BFEFC +lbl_802BFEA0: +/* 802BFEA0 002BBB00 54 E3 06 3E */ clrlwi r3, r7, 0x18 +/* 802BFEA4 002BBB04 54 E0 15 BA */ rlwinm r0, r7, 2, 0x16, 0x1d +/* 802BFEA8 002BBB08 7C A3 00 50 */ subf r5, r3, r0 +/* 802BFEAC 002BBB0C 7C 66 2A 14 */ add r3, r6, r5 +/* 802BFEB0 002BBB10 88 03 00 01 */ lbz r0, 1(r3) +/* 802BFEB4 002BBB14 7C 1F 00 40 */ cmplw r31, r0 +/* 802BFEB8 002BBB18 41 82 00 0C */ beq lbl_802BFEC4 +/* 802BFEBC 002BBB1C 28 00 00 FF */ cmplwi r0, 0xff +/* 802BFEC0 002BBB20 40 82 00 38 */ bne lbl_802BFEF8 +lbl_802BFEC4: +/* 802BFEC4 002BBB24 88 03 00 00 */ lbz r0, 0(r3) +/* 802BFEC8 002BBB28 7C 1E 00 40 */ cmplw r30, r0 +/* 802BFECC 002BBB2C 40 82 00 2C */ bne lbl_802BFEF8 +/* 802BFED0 002BBB30 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BFED4 002BBB34 7C 86 2A 14 */ add r4, r6, r5 +/* 802BFED8 002BBB38 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BFEDC 002BBB3C 88 84 00 02 */ lbz r4, 2(r4) +/* 802BFEE0 002BBB40 7C 63 E2 14 */ add r3, r3, r28 +/* 802BFEE4 002BBB44 88 03 00 07 */ lbz r0, 7(r3) +/* 802BFEE8 002BBB48 7C 04 00 40 */ cmplw r4, r0 +/* 802BFEEC 002BBB4C 40 81 00 34 */ ble lbl_802BFF20 +/* 802BFEF0 002BBB50 98 83 00 07 */ stb r4, 7(r3) +/* 802BFEF4 002BBB54 48 00 00 2C */ b lbl_802BFF20 +lbl_802BFEF8: +/* 802BFEF8 002BBB58 38 E7 00 01 */ addi r7, r7, 1 +lbl_802BFEFC: +/* 802BFEFC 002BBB5C 54 E0 06 3E */ clrlwi r0, r7, 0x18 +/* 802BFF00 002BBB60 7C 00 20 40 */ cmplw r0, r4 +/* 802BFF04 002BBB64 40 81 FF 9C */ ble lbl_802BFEA0 +/* 802BFF08 002BBB68 48 00 00 18 */ b lbl_802BFF20 +lbl_802BFF0C: +/* 802BFF0C 002BBB6C 3B 7B 00 01 */ addi r27, r27, 1 +lbl_802BFF10: +/* 802BFF10 002BBB70 88 1D 00 4D */ lbz r0, 0x4d(r29) +/* 802BFF14 002BBB74 57 63 06 3E */ clrlwi r3, r27, 0x18 +/* 802BFF18 002BBB78 7C 03 00 40 */ cmplw r3, r0 +/* 802BFF1C 002BBB7C 41 80 FF 4C */ blt lbl_802BFE68 +lbl_802BFF20: +/* 802BFF20 002BBB80 39 61 00 20 */ addi r11, r1, 0x20 +/* 802BFF24 002BBB84 4B F0 72 4D */ bl _restgpr_26 +/* 802BFF28 002BBB88 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802BFF2C 002BBB8C 7C 08 03 A6 */ mtlr r0 +/* 802BFF30 002BBB90 38 21 00 20 */ addi r1, r1, 0x20 +/* 802BFF34 002BBB94 4E 80 00 20 */ blr +/* 802BFF38 002BBB98 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BFF3C 002BBB9C 7C 08 02 A6 */ mflr r0 +/* 802BFF40 002BBBA0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BFF44 002BBBA4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802BFF48 002BBBA8 A0 83 00 06 */ lhz r4, 6(r3) +/* 802BFF4C 002BBBAC 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802BFF50 002BBBB0 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802BFF54 002BBBB4 54 80 06 3F */ clrlwi. r0, r4, 0x18 +/* 802BFF58 002BBBB8 98 83 01 01 */ stb r4, 0x101(r3) +/* 802BFF5C 002BBBBC 41 82 00 30 */ beq lbl_802BFF8C +/* 802BFF60 002BBBC0 3F E0 00 01 */ lis r31, 0x0000FFFF@ha +/* 802BFF64 002BBBC4 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_ +/* 802BFF68 002BBBC8 38 1F FF FF */ addi r0, r31, 0x0000FFFF@l +/* 802BFF6C 002BBBCC 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802BFF70 002BBBD0 48 01 63 6D */ bl func_802D62DC +/* 802BFF74 002BBBD4 38 1F FF FF */ addi r0, r31, -1 +/* 802BFF78 002BBBD8 38 60 00 00 */ li r3, 0 +/* 802BFF7C 002BBBDC 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802BFF80 002BBBE0 38 A0 00 01 */ li r5, 1 +/* 802BFF84 002BBBE4 48 01 62 91 */ bl func_802D6214 +/* 802BFF88 002BBBE8 48 00 00 20 */ b lbl_802BFFA8 +lbl_802BFF8C: +/* 802BFF8C 002BBBEC 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_ +/* 802BFF90 002BBBF0 38 80 00 02 */ li r4, 2 +/* 802BFF94 002BBBF4 48 01 63 49 */ bl func_802D62DC +/* 802BFF98 002BBBF8 38 60 00 00 */ li r3, 0 +/* 802BFF9C 002BBBFC 38 80 00 02 */ li r4, 2 +/* 802BFFA0 002BBC00 38 A0 00 01 */ li r5, 1 +/* 802BFFA4 002BBC04 48 01 62 71 */ bl func_802D6214 +lbl_802BFFA8: +/* 802BFFA8 002BBC08 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802BFFAC 002BBC0C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802BFFB0 002BBC10 7C 08 03 A6 */ mtlr r0 +/* 802BFFB4 002BBC14 38 21 00 10 */ addi r1, r1, 0x10 +/* 802BFFB8 002BBC18 4E 80 00 20 */ blr + +.global func_802BFFBC +func_802BFFBC: +/* 802BFFBC 002BBC1C 3C A0 80 57 */ lis r5, lbl_80568814@ha +/* 802BFFC0 002BBC20 38 60 00 01 */ li r3, 1 +/* 802BFFC4 002BBC24 38 A5 88 14 */ addi r5, r5, lbl_80568814@l +/* 802BFFC8 002BBC28 38 80 00 00 */ li r4, 0 +/* 802BFFCC 002BBC2C 81 85 00 50 */ lwz r12, 0x50(r5) +/* 802BFFD0 002BBC30 7D 89 03 A6 */ mtctr r12 +/* 802BFFD4 002BBC34 4E 80 04 20 */ bctr +lbl_802BFFD8: +/* 802BFFD8 002BBC38 4E 80 00 20 */ blr +/* 802BFFDC 002BBC3C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802BFFE0 002BBC40 7C 08 02 A6 */ mflr r0 +/* 802BFFE4 002BBC44 3C 80 80 57 */ lis r4, lbl_805686D8@ha +/* 802BFFE8 002BBC48 38 60 00 02 */ li r3, 2 +/* 802BFFEC 002BBC4C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802BFFF0 002BBC50 38 00 00 01 */ li r0, 1 +/* 802BFFF4 002BBC54 38 84 86 D8 */ addi r4, r4, lbl_805686D8@l +/* 802BFFF8 002BBC58 98 04 00 7E */ stb r0, 0x7e(r4) +/* 802BFFFC 002BBC5C 4B FF 9C 51 */ bl func_802B9C4C +/* 802C0000 002BBC60 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0004 002BBC64 41 82 00 0C */ beq lbl_802C0010 +/* 802C0008 002BBC68 38 80 00 00 */ li r4, 0 +/* 802C000C 002BBC6C 48 01 19 35 */ bl func_802D1940 +lbl_802C0010: +/* 802C0010 002BBC70 3C 60 80 2C */ lis r3, lbl_802BFFD8@ha +/* 802C0014 002BBC74 38 63 FF D8 */ addi r3, r3, lbl_802BFFD8@l +/* 802C0018 002BBC78 48 00 5A 11 */ bl func_802C5A28 +/* 802C001C 002BBC7C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C0020 002BBC80 7C 08 03 A6 */ mtlr r0 +/* 802C0024 002BBC84 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C0028 002BBC88 4E 80 00 20 */ blr + +.global func_802C002C +func_802C002C: +/* 802C002C 002BBC8C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C0030 002BBC90 7C 08 02 A6 */ mflr r0 +/* 802C0034 002BBC94 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802C0038 002BBC98 38 A0 01 04 */ li r5, 0x104 +/* 802C003C 002BBC9C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C0040 002BBCA0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C0044 002BBCA4 7C 7F 1B 78 */ mr r31, r3 +/* 802C0048 002BBCA8 38 64 88 14 */ addi r3, r4, lbl_80568814@l +/* 802C004C 002BBCAC 38 80 00 00 */ li r4, 0 +/* 802C0050 002BBCB0 4B D4 40 B5 */ bl memset +/* 802C0054 002BBCB4 4B FF B0 51 */ bl func_802BB0A4 +/* 802C0058 002BBCB8 38 60 00 01 */ li r3, 1 +/* 802C005C 002BBCBC 38 82 A4 58 */ addi r4, r2, lbl_80642A58-_SDA2_BASE_ +/* 802C0060 002BBCC0 4B FF D9 99 */ bl func_802BD9F8 +/* 802C0064 002BBCC4 38 60 00 02 */ li r3, 2 +/* 802C0068 002BBCC8 38 82 A4 60 */ addi r4, r2, lbl_80642A60-_SDA2_BASE_ +/* 802C006C 002BBCCC 4B FF D9 8D */ bl func_802BD9F8 +/* 802C0070 002BBCD0 4B FF B0 39 */ bl func_802BB0A8 +/* 802C0074 002BBCD4 38 60 00 0C */ li r3, 0xc +/* 802C0078 002BBCD8 4B FF 9A 35 */ bl func_802B9AAC +/* 802C007C 002BBCDC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0080 002BBCE0 41 82 00 1C */ beq lbl_802C009C +/* 802C0084 002BBCE4 38 00 01 00 */ li r0, 0x100 +/* 802C0088 002BBCE8 B0 03 00 00 */ sth r0, 0(r3) +/* 802C008C 002BBCEC 93 E3 00 08 */ stw r31, 8(r3) +/* 802C0090 002BBCF0 4B FF D9 7D */ bl func_802BDA0C +/* 802C0094 002BBCF4 38 60 00 00 */ li r3, 0 +/* 802C0098 002BBCF8 48 00 00 08 */ b lbl_802C00A0 +lbl_802C009C: +/* 802C009C 002BBCFC 38 60 00 01 */ li r3, 1 +lbl_802C00A0: +/* 802C00A0 002BBD00 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C00A4 002BBD04 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C00A8 002BBD08 7C 08 03 A6 */ mtlr r0 +/* 802C00AC 002BBD0C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C00B0 002BBD10 4E 80 00 20 */ blr + +.global func_802C00B4 +func_802C00B4: +/* 802C00B4 002BBD14 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C00B8 002BBD18 7C 08 02 A6 */ mflr r0 +/* 802C00BC 002BBD1C 38 60 00 08 */ li r3, 8 +/* 802C00C0 002BBD20 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C00C4 002BBD24 4B FF 99 E9 */ bl func_802B9AAC +/* 802C00C8 002BBD28 2C 03 00 00 */ cmpwi r3, 0 +/* 802C00CC 002BBD2C 41 82 00 10 */ beq lbl_802C00DC +/* 802C00D0 002BBD30 38 00 01 01 */ li r0, 0x101 +/* 802C00D4 002BBD34 B0 03 00 00 */ sth r0, 0(r3) +/* 802C00D8 002BBD38 4B FF D9 35 */ bl func_802BDA0C +lbl_802C00DC: +/* 802C00DC 002BBD3C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C00E0 002BBD40 7C 08 03 A6 */ mtlr r0 +/* 802C00E4 002BBD44 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C00E8 002BBD48 4E 80 00 20 */ blr + +.global func_802C00EC +func_802C00EC: +/* 802C00EC 002BBD4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C00F0 002BBD50 7C 08 02 A6 */ mflr r0 +/* 802C00F4 002BBD54 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C00F8 002BBD58 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C00FC 002BBD5C 4B FF AF A9 */ bl func_802BB0A4 +/* 802C0100 002BBD60 48 00 59 D1 */ bl func_802C5AD0 +/* 802C0104 002BBD64 7C 7F 1B 78 */ mr r31, r3 +/* 802C0108 002BBD68 4B FF AF A1 */ bl func_802BB0A8 +/* 802C010C 002BBD6C 7F E3 FB 78 */ mr r3, r31 +/* 802C0110 002BBD70 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C0114 002BBD74 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C0118 002BBD78 7C 08 03 A6 */ mtlr r0 +/* 802C011C 002BBD7C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C0120 002BBD80 4E 80 00 20 */ blr + +.global func_802C0124 +func_802C0124: +/* 802C0124 002BBD84 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C0128 002BBD88 7C 08 02 A6 */ mflr r0 +/* 802C012C 002BBD8C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C0130 002BBD90 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C0134 002BBD94 93 C1 00 08 */ stw r30, 8(r1) +/* 802C0138 002BBD98 7C 7E 1B 78 */ mr r30, r3 +/* 802C013C 002BBD9C 38 60 00 28 */ li r3, 0x28 +/* 802C0140 002BBDA0 4B FF 99 6D */ bl func_802B9AAC +/* 802C0144 002BBDA4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0148 002BBDA8 7C 7F 1B 78 */ mr r31, r3 +/* 802C014C 002BBDAC 41 82 00 24 */ beq lbl_802C0170 +/* 802C0150 002BBDB0 38 00 01 02 */ li r0, 0x102 +/* 802C0154 002BBDB4 7F C4 F3 78 */ mr r4, r30 +/* 802C0158 002BBDB8 B0 03 00 00 */ sth r0, 0(r3) +/* 802C015C 002BBDBC 38 A0 00 20 */ li r5, 0x20 +/* 802C0160 002BBDC0 38 63 00 08 */ addi r3, r3, 8 +/* 802C0164 002BBDC4 4B F0 E2 2D */ bl strncpy +/* 802C0168 002BBDC8 7F E3 FB 78 */ mr r3, r31 +/* 802C016C 002BBDCC 4B FF D8 A1 */ bl func_802BDA0C +lbl_802C0170: +/* 802C0170 002BBDD0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C0174 002BBDD4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C0178 002BBDD8 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C017C 002BBDDC 7C 08 03 A6 */ mtlr r0 +/* 802C0180 002BBDE0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C0184 002BBDE4 4E 80 00 20 */ blr + +.global func_802C0188 +func_802C0188: +/* 802C0188 002BBDE8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C018C 002BBDEC 7C 08 02 A6 */ mflr r0 +/* 802C0190 002BBDF0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C0194 002BBDF4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C0198 002BBDF8 7C 9F 23 78 */ mr r31, r4 +/* 802C019C 002BBDFC 93 C1 00 08 */ stw r30, 8(r1) +/* 802C01A0 002BBE00 7C 7E 1B 78 */ mr r30, r3 +/* 802C01A4 002BBE04 38 60 01 10 */ li r3, 0x110 +/* 802C01A8 002BBE08 4B FF 99 05 */ bl func_802B9AAC +/* 802C01AC 002BBE0C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C01B0 002BBE10 41 82 00 18 */ beq lbl_802C01C8 +/* 802C01B4 002BBE14 38 00 01 03 */ li r0, 0x103 +/* 802C01B8 002BBE18 B0 03 00 00 */ sth r0, 0(r3) +/* 802C01BC 002BBE1C 9B C3 00 08 */ stb r30, 8(r3) +/* 802C01C0 002BBE20 9B E3 00 09 */ stb r31, 9(r3) +/* 802C01C4 002BBE24 4B FF D8 49 */ bl func_802BDA0C +lbl_802C01C8: +/* 802C01C8 002BBE28 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C01CC 002BBE2C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C01D0 002BBE30 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C01D4 002BBE34 7C 08 03 A6 */ mtlr r0 +/* 802C01D8 002BBE38 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C01DC 002BBE3C 4E 80 00 20 */ blr + +.global func_802C01E0 +func_802C01E0: +/* 802C01E0 002BBE40 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C01E4 002BBE44 7C 08 02 A6 */ mflr r0 +/* 802C01E8 002BBE48 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C01EC 002BBE4C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C01F0 002BBE50 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C01F4 002BBE54 7C BE 2B 78 */ mr r30, r5 +/* 802C01F8 002BBE58 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C01FC 002BBE5C 7C 9D 23 78 */ mr r29, r4 +/* 802C0200 002BBE60 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C0204 002BBE64 7C 7C 1B 78 */ mr r28, r3 +/* 802C0208 002BBE68 38 60 00 1C */ li r3, 0x1c +/* 802C020C 002BBE6C 4B FF 98 A1 */ bl func_802B9AAC +/* 802C0210 002BBE70 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0214 002BBE74 7C 7F 1B 78 */ mr r31, r3 +/* 802C0218 002BBE78 41 82 00 2C */ beq lbl_802C0244 +/* 802C021C 002BBE7C 38 00 02 00 */ li r0, 0x200 +/* 802C0220 002BBE80 7F 84 E3 78 */ mr r4, r28 +/* 802C0224 002BBE84 B0 03 00 00 */ sth r0, 0(r3) +/* 802C0228 002BBE88 38 A0 00 0A */ li r5, 0xa +/* 802C022C 002BBE8C 38 63 00 08 */ addi r3, r3, 8 +/* 802C0230 002BBE90 4B D4 3D D1 */ bl memcpy +/* 802C0234 002BBE94 93 BF 00 14 */ stw r29, 0x14(r31) +/* 802C0238 002BBE98 7F E3 FB 78 */ mr r3, r31 +/* 802C023C 002BBE9C 93 DF 00 18 */ stw r30, 0x18(r31) +/* 802C0240 002BBEA0 4B FF D7 CD */ bl func_802BDA0C +lbl_802C0244: +/* 802C0244 002BBEA4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C0248 002BBEA8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C024C 002BBEAC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C0250 002BBEB0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C0254 002BBEB4 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C0258 002BBEB8 7C 08 03 A6 */ mtlr r0 +/* 802C025C 002BBEBC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C0260 002BBEC0 4E 80 00 20 */ blr + +.global func_802C0264 +func_802C0264: +/* 802C0264 002BBEC4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C0268 002BBEC8 7C 08 02 A6 */ mflr r0 +/* 802C026C 002BBECC 38 60 00 08 */ li r3, 8 +/* 802C0270 002BBED0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C0274 002BBED4 4B FF 98 39 */ bl func_802B9AAC +/* 802C0278 002BBED8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C027C 002BBEDC 41 82 00 10 */ beq lbl_802C028C +/* 802C0280 002BBEE0 38 00 02 01 */ li r0, 0x201 +/* 802C0284 002BBEE4 B0 03 00 00 */ sth r0, 0(r3) +/* 802C0288 002BBEE8 4B FF D7 85 */ bl func_802BDA0C +lbl_802C028C: +/* 802C028C 002BBEEC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C0290 002BBEF0 7C 08 03 A6 */ mtlr r0 +/* 802C0294 002BBEF4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C0298 002BBEF8 4E 80 00 20 */ blr + +.global func_802C029C +func_802C029C: +/* 802C029C 002BBEFC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C02A0 002BBF00 7C 08 02 A6 */ mflr r0 +/* 802C02A4 002BBF04 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C02A8 002BBF08 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C02AC 002BBF0C 4B F0 6E 7D */ bl _savegpr_27 +/* 802C02B0 002BBF10 7C 7B 1B 78 */ mr r27, r3 +/* 802C02B4 002BBF14 7C 9C 23 78 */ mr r28, r4 +/* 802C02B8 002BBF18 7C BD 2B 78 */ mr r29, r5 +/* 802C02BC 002BBF1C 7C DE 33 78 */ mr r30, r6 +/* 802C02C0 002BBF20 38 60 00 20 */ li r3, 0x20 +/* 802C02C4 002BBF24 4B FF 97 E9 */ bl func_802B9AAC +/* 802C02C8 002BBF28 2C 03 00 00 */ cmpwi r3, 0 +/* 802C02CC 002BBF2C 7C 7F 1B 78 */ mr r31, r3 +/* 802C02D0 002BBF30 41 82 00 40 */ beq lbl_802C0310 +/* 802C02D4 002BBF34 38 00 01 07 */ li r0, 0x107 +/* 802C02D8 002BBF38 7F 64 DB 78 */ mr r4, r27 +/* 802C02DC 002BBF3C B0 03 00 00 */ sth r0, 0(r3) +/* 802C02E0 002BBF40 38 63 00 08 */ addi r3, r3, 8 +/* 802C02E4 002BBF44 4B FF D2 7D */ bl func_802BD560 +/* 802C02E8 002BBF48 2C 1C 00 00 */ cmpwi r28, 0 +/* 802C02EC 002BBF4C 9B 9F 00 0E */ stb r28, 0xe(r31) +/* 802C02F0 002BBF50 41 82 00 18 */ beq lbl_802C0308 +/* 802C02F4 002BBF54 9B BF 00 0F */ stb r29, 0xf(r31) +/* 802C02F8 002BBF58 7F C4 F3 78 */ mr r4, r30 +/* 802C02FC 002BBF5C 7F A5 EB 78 */ mr r5, r29 +/* 802C0300 002BBF60 38 7F 00 10 */ addi r3, r31, 0x10 +/* 802C0304 002BBF64 4B D4 3C FD */ bl memcpy +lbl_802C0308: +/* 802C0308 002BBF68 7F E3 FB 78 */ mr r3, r31 +/* 802C030C 002BBF6C 4B FF D7 01 */ bl func_802BDA0C +lbl_802C0310: +/* 802C0310 002BBF70 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C0314 002BBF74 4B F0 6E 61 */ bl _restgpr_27 +/* 802C0318 002BBF78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C031C 002BBF7C 7C 08 03 A6 */ mtlr r0 +/* 802C0320 002BBF80 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C0324 002BBF84 4E 80 00 20 */ blr + +.global func_802C0328 +func_802C0328: +/* 802C0328 002BBF88 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C032C 002BBF8C 7C 08 02 A6 */ mflr r0 +/* 802C0330 002BBF90 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C0334 002BBF94 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C0338 002BBF98 4B F0 6D F1 */ bl _savegpr_27 +/* 802C033C 002BBF9C 7C 7C 1B 78 */ mr r28, r3 +/* 802C0340 002BBFA0 7C 9D 23 78 */ mr r29, r4 +/* 802C0344 002BBFA4 7C BE 2B 78 */ mr r30, r5 +/* 802C0348 002BBFA8 7C DB 33 78 */ mr r27, r6 +/* 802C034C 002BBFAC 38 61 00 08 */ addi r3, r1, 8 +/* 802C0350 002BBFB0 3B E0 00 00 */ li r31, 0 +/* 802C0354 002BBFB4 38 80 00 00 */ li r4, 0 +/* 802C0358 002BBFB8 38 A0 00 08 */ li r5, 8 +/* 802C035C 002BBFBC 4B D4 3D A9 */ bl memset +/* 802C0360 002BBFC0 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C0364 002BBFC4 41 82 00 68 */ beq lbl_802C03CC +/* 802C0368 002BBFC8 3C E0 80 40 */ lis r7, lbl_803FDB90@ha +/* 802C036C 002BBFCC 38 A1 00 08 */ addi r5, r1, 8 +/* 802C0370 002BBFD0 38 E7 DB 90 */ addi r7, r7, lbl_803FDB90@l +/* 802C0374 002BBFD4 38 60 00 01 */ li r3, 1 +/* 802C0378 002BBFD8 48 00 00 40 */ b lbl_802C03B8 +lbl_802C037C: +/* 802C037C 002BBFDC 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802C0380 002BBFE0 7C 64 00 30 */ slw r4, r3, r0 +/* 802C0384 002BBFE4 7F C0 20 39 */ and. r0, r30, r4 +/* 802C0388 002BBFE8 41 82 00 2C */ beq lbl_802C03B4 +/* 802C038C 002BBFEC 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d +/* 802C0390 002BBFF0 7F DE 20 78 */ andc r30, r30, r4 +/* 802C0394 002BBFF4 7C 87 00 2E */ lwzx r4, r7, r0 +/* 802C0398 002BBFF8 54 80 04 F4 */ rlwinm r0, r4, 0, 0x13, 0x1a +/* 802C039C 002BBFFC 54 86 ED BA */ rlwinm r6, r4, 0x1d, 0x16, 0x1d +/* 802C03A0 002BC000 7C 00 20 50 */ subf r0, r0, r4 +/* 802C03A4 002BC004 7C 85 30 2E */ lwzx r4, r5, r6 +/* 802C03A8 002BC008 7C 60 00 30 */ slw r0, r3, r0 +/* 802C03AC 002BC00C 7C 80 03 78 */ or r0, r4, r0 +/* 802C03B0 002BC010 7C 05 31 2E */ stwx r0, r5, r6 +lbl_802C03B4: +/* 802C03B4 002BC014 3B FF 00 01 */ addi r31, r31, 1 +lbl_802C03B8: +/* 802C03B8 002BC018 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C03BC 002BC01C 41 82 00 10 */ beq lbl_802C03CC +/* 802C03C0 002BC020 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802C03C4 002BC024 28 00 00 17 */ cmplwi r0, 0x17 +/* 802C03C8 002BC028 41 80 FF B4 */ blt lbl_802C037C +lbl_802C03CC: +/* 802C03CC 002BC02C 4B FF AC D9 */ bl func_802BB0A4 +/* 802C03D0 002BC030 7F 83 E3 78 */ mr r3, r28 +/* 802C03D4 002BC034 7F A8 EB 78 */ mr r8, r29 +/* 802C03D8 002BC038 38 E1 00 08 */ addi r7, r1, 8 +/* 802C03DC 002BC03C 38 80 00 00 */ li r4, 0 +/* 802C03E0 002BC040 38 A0 00 00 */ li r5, 0 +/* 802C03E4 002BC044 38 C0 00 00 */ li r6, 0 +/* 802C03E8 002BC048 48 00 4D 89 */ bl func_802C5170 +/* 802C03EC 002BC04C 7C 7C 1B 78 */ mr r28, r3 +/* 802C03F0 002BC050 4B FF AC B9 */ bl func_802BB0A8 +/* 802C03F4 002BC054 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 802C03F8 002BC058 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C03FC 002BC05C 7C 00 00 34 */ cntlzw r0, r0 +/* 802C0400 002BC060 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802C0404 002BC064 4B F0 6D 71 */ bl _restgpr_27 +/* 802C0408 002BC068 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C040C 002BC06C 7C 08 03 A6 */ mtlr r0 +/* 802C0410 002BC070 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C0414 002BC074 4E 80 00 20 */ blr + +.global func_802C0418 +func_802C0418: +/* 802C0418 002BC078 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C041C 002BC07C 7C 08 02 A6 */ mflr r0 +/* 802C0420 002BC080 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C0424 002BC084 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C0428 002BC088 7C 7F 1B 78 */ mr r31, r3 +/* 802C042C 002BC08C 4B FF AC 79 */ bl func_802BB0A4 +/* 802C0430 002BC090 7F E3 FB 78 */ mr r3, r31 +/* 802C0434 002BC094 48 00 4E C5 */ bl func_802C52F8 +/* 802C0438 002BC098 7C 7F 1B 78 */ mr r31, r3 +/* 802C043C 002BC09C 4B FF AC 6D */ bl func_802BB0A8 +/* 802C0440 002BC0A0 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802C0444 002BC0A4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C0448 002BC0A8 7C 00 00 34 */ cntlzw r0, r0 +/* 802C044C 002BC0AC 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802C0450 002BC0B0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C0454 002BC0B4 7C 08 03 A6 */ mtlr r0 +/* 802C0458 002BC0B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C045C 002BC0BC 4E 80 00 20 */ blr + +.global func_802C0460 +func_802C0460: +/* 802C0460 002BC0C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C0464 002BC0C4 7C 08 02 A6 */ mflr r0 +/* 802C0468 002BC0C8 38 60 00 08 */ li r3, 8 +/* 802C046C 002BC0CC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C0470 002BC0D0 4B FF 96 3D */ bl func_802B9AAC +/* 802C0474 002BC0D4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0478 002BC0D8 41 82 00 10 */ beq lbl_802C0488 +/* 802C047C 002BC0DC 38 00 01 0C */ li r0, 0x10c +/* 802C0480 002BC0E0 B0 03 00 00 */ sth r0, 0(r3) +/* 802C0484 002BC0E4 4B FF D5 89 */ bl func_802BDA0C +lbl_802C0488: +/* 802C0488 002BC0E8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C048C 002BC0EC 7C 08 03 A6 */ mtlr r0 +/* 802C0490 002BC0F0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C0494 002BC0F4 4E 80 00 20 */ blr +/* 802C0498 002BC0F8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C049C 002BC0FC 7C 08 02 A6 */ mflr r0 +/* 802C04A0 002BC100 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C04A4 002BC104 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C04A8 002BC108 3F E0 80 40 */ lis r31, lbl_803FDC08@ha +/* 802C04AC 002BC10C 3B FF DC 08 */ addi r31, r31, lbl_803FDC08@l +/* 802C04B0 002BC110 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C04B4 002BC114 3F C0 80 40 */ lis r30, lbl_803FDC3C@ha +/* 802C04B8 002BC118 3B DE DC 3C */ addi r30, r30, lbl_803FDC3C@l +/* 802C04BC 002BC11C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C04C0 002BC120 3B A0 00 00 */ li r29, 0 +/* 802C04C4 002BC124 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C04C8 002BC128 7C 7C 1B 78 */ mr r28, r3 +lbl_802C04CC: +/* 802C04CC 002BC12C A0 7C 00 00 */ lhz r3, 0(r28) +/* 802C04D0 002BC130 7C 1D F2 14 */ add r0, r29, r30 +/* 802C04D4 002BC134 54 64 06 3E */ clrlwi r4, r3, 0x18 +/* 802C04D8 002BC138 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d +/* 802C04DC 002BC13C 7C 64 18 50 */ subf r3, r4, r3 +/* 802C04E0 002BC140 7C 03 00 AE */ lbzx r0, r3, r0 +/* 802C04E4 002BC144 28 00 00 0D */ cmplwi r0, 0xd +/* 802C04E8 002BC148 41 82 00 24 */ beq lbl_802C050C +/* 802C04EC 002BC14C 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d +/* 802C04F0 002BC150 7F 83 E3 78 */ mr r3, r28 +/* 802C04F4 002BC154 7D 9F 00 2E */ lwzx r12, r31, r0 +/* 802C04F8 002BC158 7D 89 03 A6 */ mtctr r12 +/* 802C04FC 002BC15C 4E 80 04 21 */ bctrl +/* 802C0500 002BC160 3B BD 00 01 */ addi r29, r29, 1 +/* 802C0504 002BC164 2C 1D 00 02 */ cmpwi r29, 2 +/* 802C0508 002BC168 41 80 FF C4 */ blt lbl_802C04CC +lbl_802C050C: +/* 802C050C 002BC16C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C0510 002BC170 38 60 00 01 */ li r3, 1 +/* 802C0514 002BC174 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C0518 002BC178 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C051C 002BC17C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C0520 002BC180 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C0524 002BC184 7C 08 03 A6 */ mtlr r0 +/* 802C0528 002BC188 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C052C 002BC18C 4E 80 00 20 */ blr +/* 802C0530 002BC190 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C0534 002BC194 7C 08 02 A6 */ mflr r0 +/* 802C0538 002BC198 3C E0 80 57 */ lis r7, lbl_80568798@ha +/* 802C053C 002BC19C 3C A0 80 40 */ lis r5, lbl_803FDD20@ha +/* 802C0540 002BC1A0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C0544 002BC1A4 38 E7 87 98 */ addi r7, r7, lbl_80568798@l +/* 802C0548 002BC1A8 38 A5 DD 20 */ addi r5, r5, lbl_803FDD20@l +/* 802C054C 002BC1AC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C0550 002BC1B0 3F E0 80 40 */ lis r31, lbl_803FDC68@ha +/* 802C0554 002BC1B4 3B FF DC 68 */ addi r31, r31, lbl_803FDC68@l +/* 802C0558 002BC1B8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C055C 002BC1BC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C0560 002BC1C0 3B A0 00 00 */ li r29, 0 +/* 802C0564 002BC1C4 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C0568 002BC1C8 7C 7C 1B 78 */ mr r28, r3 +/* 802C056C 002BC1CC A0 C7 00 18 */ lhz r6, 0x18(r7) +/* 802C0570 002BC1D0 A0 03 00 00 */ lhz r0, 0(r3) +/* 802C0574 002BC1D4 54 C6 10 3A */ slwi r6, r6, 2 +/* 802C0578 002BC1D8 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 802C057C 002BC1DC 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d +/* 802C0580 002BC1E0 7F C5 30 2E */ lwzx r30, r5, r6 +/* 802C0584 002BC1E4 7C 04 00 50 */ subf r0, r4, r0 +/* 802C0588 002BC1E8 7C 7E 02 14 */ add r3, r30, r0 +/* 802C058C 002BC1EC 88 03 00 02 */ lbz r0, 2(r3) +/* 802C0590 002BC1F0 B0 07 00 18 */ sth r0, 0x18(r7) +lbl_802C0594: +/* 802C0594 002BC1F4 A0 7C 00 00 */ lhz r3, 0(r28) +/* 802C0598 002BC1F8 7C 1D F2 14 */ add r0, r29, r30 +/* 802C059C 002BC1FC 54 64 06 3E */ clrlwi r4, r3, 0x18 +/* 802C05A0 002BC200 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d +/* 802C05A4 002BC204 7C 64 18 50 */ subf r3, r4, r3 +/* 802C05A8 002BC208 7C 03 00 AE */ lbzx r0, r3, r0 +/* 802C05AC 002BC20C 28 00 00 12 */ cmplwi r0, 0x12 +/* 802C05B0 002BC210 41 82 00 24 */ beq lbl_802C05D4 +/* 802C05B4 002BC214 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d +/* 802C05B8 002BC218 7F 83 E3 78 */ mr r3, r28 +/* 802C05BC 002BC21C 7D 9F 00 2E */ lwzx r12, r31, r0 +/* 802C05C0 002BC220 7D 89 03 A6 */ mtctr r12 +/* 802C05C4 002BC224 4E 80 04 21 */ bctrl +/* 802C05C8 002BC228 3B BD 00 01 */ addi r29, r29, 1 +/* 802C05CC 002BC22C 2C 1D 00 02 */ cmpwi r29, 2 +/* 802C05D0 002BC230 41 80 FF C4 */ blt lbl_802C0594 +lbl_802C05D4: +/* 802C05D4 002BC234 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C05D8 002BC238 38 60 00 01 */ li r3, 1 +/* 802C05DC 002BC23C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C05E0 002BC240 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C05E4 002BC244 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C05E8 002BC248 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C05EC 002BC24C 7C 08 03 A6 */ mtlr r0 +/* 802C05F0 002BC250 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C05F4 002BC254 4E 80 00 20 */ blr + +.global func_802C05F8 +func_802C05F8: +/* 802C05F8 002BC258 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C05FC 002BC25C 7C 08 02 A6 */ mflr r0 +/* 802C0600 002BC260 3C 60 80 57 */ lis r3, lbl_80568918@ha +/* 802C0604 002BC264 38 80 00 00 */ li r4, 0 +/* 802C0608 002BC268 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C060C 002BC26C 38 63 89 18 */ addi r3, r3, lbl_80568918@l +/* 802C0610 002BC270 38 A0 00 2E */ li r5, 0x2e +/* 802C0614 002BC274 4B D4 3A F1 */ bl memset +/* 802C0618 002BC278 80 6D 89 F0 */ lwz r3, lbl_8063DCB0-_SDA_BASE_(r13) +/* 802C061C 002BC27C 88 03 00 01 */ lbz r0, 1(r3) +/* 802C0620 002BC280 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0624 002BC284 41 82 00 2C */ beq lbl_802C0650 +/* 802C0628 002BC288 3C 60 80 2C */ lis r3, lbl_802C0678@ha +/* 802C062C 002BC28C 38 63 06 78 */ addi r3, r3, lbl_802C0678@l +/* 802C0630 002BC290 4B FF D0 25 */ bl func_802BD654 +/* 802C0634 002BC294 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802C0638 002BC298 3C A0 80 2C */ lis r5, lbl_802C0D78@ha +/* 802C063C 002BC29C 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802C0640 002BC2A0 38 60 00 03 */ li r3, 3 +/* 802C0644 002BC2A4 38 84 00 95 */ addi r4, r4, 0x95 +/* 802C0648 002BC2A8 38 A5 0D 78 */ addi r5, r5, lbl_802C0D78@l +/* 802C064C 002BC2AC 48 00 87 A1 */ bl func_802C8DEC +lbl_802C0650: +/* 802C0650 002BC2B0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C0654 002BC2B4 7C 08 03 A6 */ mtlr r0 +/* 802C0658 002BC2B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C065C 002BC2BC 4E 80 00 20 */ blr + +.global func_802C0660 +func_802C0660: +/* 802C0660 002BC2C0 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802C0664 002BC2C4 38 60 00 04 */ li r3, 4 +/* 802C0668 002BC2C8 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802C066C 002BC2CC 38 A0 00 00 */ li r5, 0 +/* 802C0670 002BC2D0 38 84 00 95 */ addi r4, r4, 0x95 +/* 802C0674 002BC2D4 48 00 87 78 */ b func_802C8DEC +lbl_802C0678: +/* 802C0678 002BC2D8 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802C067C 002BC2DC 7C 08 02 A6 */ mflr r0 +/* 802C0680 002BC2E0 90 01 00 44 */ stw r0, 0x44(r1) +/* 802C0684 002BC2E4 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C0688 002BC2E8 4B F0 6A 91 */ bl _savegpr_23 +/* 802C068C 002BC2EC 7C 79 1B 78 */ mr r25, r3 +/* 802C0690 002BC2F0 7C 9A 23 78 */ mr r26, r4 +/* 802C0694 002BC2F4 7C BB 2B 78 */ mr r27, r5 +/* 802C0698 002BC2F8 7C DC 33 78 */ mr r28, r6 +/* 802C069C 002BC2FC 38 61 00 0C */ addi r3, r1, 0xc +/* 802C06A0 002BC300 48 00 61 E5 */ bl func_802C6884 +/* 802C06A4 002BC304 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C06A8 002BC308 40 82 00 6C */ bne lbl_802C0714 +/* 802C06AC 002BC30C A0 01 00 12 */ lhz r0, 0x12(r1) +/* 802C06B0 002BC310 28 00 00 0F */ cmplwi r0, 0xf +/* 802C06B4 002BC314 40 82 00 60 */ bne lbl_802C0714 +/* 802C06B8 002BC318 88 01 00 0C */ lbz r0, 0xc(r1) +/* 802C06BC 002BC31C 28 00 00 03 */ cmplwi r0, 3 +/* 802C06C0 002BC320 40 80 00 54 */ bge lbl_802C0714 +/* 802C06C4 002BC324 28 19 00 04 */ cmplwi r25, 4 +/* 802C06C8 002BC328 40 82 00 28 */ bne lbl_802C06F0 +/* 802C06CC 002BC32C 3C A0 80 40 */ lis r5, lbl_803FDAC0@ha +/* 802C06D0 002BC330 7F 83 E3 78 */ mr r3, r28 +/* 802C06D4 002BC334 38 A5 DA C0 */ addi r5, r5, lbl_803FDAC0@l +/* 802C06D8 002BC338 38 81 00 08 */ addi r4, r1, 8 +/* 802C06DC 002BC33C A0 05 00 04 */ lhz r0, 4(r5) +/* 802C06E0 002BC340 70 00 00 0B */ andi. r0, r0, 0xb +/* 802C06E4 002BC344 B0 01 00 08 */ sth r0, 8(r1) +/* 802C06E8 002BC348 48 00 35 AD */ bl func_802C3C94 +/* 802C06EC 002BC34C 48 00 00 28 */ b lbl_802C0714 +lbl_802C06F0: +/* 802C06F0 002BC350 28 19 00 05 */ cmplwi r25, 5 +/* 802C06F4 002BC354 40 82 00 20 */ bne lbl_802C0714 +/* 802C06F8 002BC358 3C A0 80 40 */ lis r5, lbl_803FDAC0@ha +/* 802C06FC 002BC35C 7F 83 E3 78 */ mr r3, r28 +/* 802C0700 002BC360 38 A5 DA C0 */ addi r5, r5, lbl_803FDAC0@l +/* 802C0704 002BC364 38 81 00 08 */ addi r4, r1, 8 +/* 802C0708 002BC368 A0 05 00 04 */ lhz r0, 4(r5) +/* 802C070C 002BC36C B0 01 00 08 */ sth r0, 8(r1) +/* 802C0710 002BC370 48 00 35 85 */ bl func_802C3C94 +lbl_802C0714: +/* 802C0714 002BC374 80 AD 89 F0 */ lwz r5, lbl_8063DCB0-_SDA_BASE_(r13) +/* 802C0718 002BC378 3B C0 00 01 */ li r30, 1 +/* 802C071C 002BC37C 88 85 00 01 */ lbz r4, 1(r5) +/* 802C0720 002BC380 48 00 00 38 */ b lbl_802C0758 +lbl_802C0724: +/* 802C0724 002BC384 57 C3 06 3E */ clrlwi r3, r30, 0x18 +/* 802C0728 002BC388 57 C0 15 BA */ rlwinm r0, r30, 2, 0x16, 0x1d +/* 802C072C 002BC38C 7C 03 00 50 */ subf r0, r3, r0 +/* 802C0730 002BC390 7C 65 02 14 */ add r3, r5, r0 +/* 802C0734 002BC394 7C 05 00 AE */ lbzx r0, r5, r0 +/* 802C0738 002BC398 7C 1A 00 40 */ cmplw r26, r0 +/* 802C073C 002BC39C 40 82 00 18 */ bne lbl_802C0754 +/* 802C0740 002BC3A0 88 03 00 01 */ lbz r0, 1(r3) +/* 802C0744 002BC3A4 28 00 00 FF */ cmplwi r0, 0xff +/* 802C0748 002BC3A8 41 82 00 1C */ beq lbl_802C0764 +/* 802C074C 002BC3AC 7C 1B 00 40 */ cmplw r27, r0 +/* 802C0750 002BC3B0 41 82 00 14 */ beq lbl_802C0764 +lbl_802C0754: +/* 802C0754 002BC3B4 3B DE 00 01 */ addi r30, r30, 1 +lbl_802C0758: +/* 802C0758 002BC3B8 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 802C075C 002BC3BC 7C 00 20 40 */ cmplw r0, r4 +/* 802C0760 002BC3C0 40 81 FF C4 */ ble lbl_802C0724 +lbl_802C0764: +/* 802C0764 002BC3C4 88 05 00 01 */ lbz r0, 1(r5) +/* 802C0768 002BC3C8 57 C3 06 3E */ clrlwi r3, r30, 0x18 +/* 802C076C 002BC3CC 7C 03 00 40 */ cmplw r3, r0 +/* 802C0770 002BC3D0 41 81 02 70 */ bgt lbl_802C09E0 +/* 802C0774 002BC3D4 3E E0 80 57 */ lis r23, lbl_80568814@ha +/* 802C0778 002BC3D8 3B E0 00 00 */ li r31, 0 +/* 802C077C 002BC3DC 3A F7 88 14 */ addi r23, r23, lbl_80568814@l +lbl_802C0780: +/* 802C0780 002BC3E0 57 FD 2C F4 */ rlwinm r29, r31, 5, 0x13, 0x1a +/* 802C0784 002BC3E4 7F 17 EA 14 */ add r24, r23, r29 +/* 802C0788 002BC3E8 88 18 00 B6 */ lbz r0, 0xb6(r24) +/* 802C078C 002BC3EC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0790 002BC3F0 41 82 00 30 */ beq lbl_802C07C0 +/* 802C0794 002BC3F4 7F 84 E3 78 */ mr r4, r28 +/* 802C0798 002BC3F8 38 78 00 B0 */ addi r3, r24, 0xb0 +/* 802C079C 002BC3FC 4B FF CD F9 */ bl func_802BD594 +/* 802C07A0 002BC400 2C 03 00 00 */ cmpwi r3, 0 +/* 802C07A4 002BC404 40 82 00 1C */ bne lbl_802C07C0 +/* 802C07A8 002BC408 7F 03 C3 78 */ mr r3, r24 +/* 802C07AC 002BC40C 38 63 00 98 */ addi r3, r3, 0x98 +/* 802C07B0 002BC410 4B FF D2 99 */ bl func_802BDA48 +/* 802C07B4 002BC414 38 00 00 00 */ li r0, 0 +/* 802C07B8 002BC418 98 18 00 B6 */ stb r0, 0xb6(r24) +/* 802C07BC 002BC41C 48 00 00 10 */ b lbl_802C07CC +lbl_802C07C0: +/* 802C07C0 002BC420 3B FF 00 01 */ addi r31, r31, 1 +/* 802C07C4 002BC424 28 1F 00 03 */ cmplwi r31, 3 +/* 802C07C8 002BC428 41 80 FF B8 */ blt lbl_802C0780 +lbl_802C07CC: +/* 802C07CC 002BC42C 57 C4 06 3E */ clrlwi r4, r30, 0x18 +/* 802C07D0 002BC430 57 C3 15 BA */ rlwinm r3, r30, 2, 0x16, 0x1d +/* 802C07D4 002BC434 7F C4 18 50 */ subf r30, r4, r3 +/* 802C07D8 002BC438 80 0D 89 F0 */ lwz r0, lbl_8063DCB0-_SDA_BASE_(r13) +/* 802C07DC 002BC43C 80 8D 89 F4 */ lwz r4, lbl_8063DCB4-_SDA_BASE_(r13) +/* 802C07E0 002BC440 57 3F 1D 78 */ rlwinm r31, r25, 3, 0x15, 0x1c +/* 802C07E4 002BC444 7C 60 F2 14 */ add r3, r0, r30 +/* 802C07E8 002BC448 88 03 00 02 */ lbz r0, 2(r3) +/* 802C07EC 002BC44C 1C 00 00 4A */ mulli r0, r0, 0x4a +/* 802C07F0 002BC450 7C 04 02 14 */ add r0, r4, r0 +/* 802C07F4 002BC454 7C 60 FA 14 */ add r3, r0, r31 +/* 802C07F8 002BC458 88 03 00 02 */ lbz r0, 2(r3) +/* 802C07FC 002BC45C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0800 002BC460 41 82 01 E0 */ beq lbl_802C09E0 +/* 802C0804 002BC464 3E E0 80 57 */ lis r23, lbl_80568918@ha +/* 802C0808 002BC468 3B A0 00 00 */ li r29, 0 +/* 802C080C 002BC46C 3B 17 89 18 */ addi r24, r23, lbl_80568918@l +/* 802C0810 002BC470 48 00 00 44 */ b lbl_802C0854 +lbl_802C0814: +/* 802C0814 002BC474 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802C0818 002BC478 57 A0 1D 78 */ rlwinm r0, r29, 3, 0x15, 0x1c +/* 802C081C 002BC47C 7C 00 1A 14 */ add r0, r0, r3 +/* 802C0820 002BC480 7C 78 02 14 */ add r3, r24, r0 +/* 802C0824 002BC484 88 03 00 07 */ lbz r0, 7(r3) +/* 802C0828 002BC488 7C 1A 00 40 */ cmplw r26, r0 +/* 802C082C 002BC48C 40 82 00 24 */ bne lbl_802C0850 +/* 802C0830 002BC490 88 03 00 08 */ lbz r0, 8(r3) +/* 802C0834 002BC494 7C 1B 00 40 */ cmplw r27, r0 +/* 802C0838 002BC498 40 82 00 18 */ bne lbl_802C0850 +/* 802C083C 002BC49C 7F 84 E3 78 */ mr r4, r28 +/* 802C0840 002BC4A0 38 63 00 01 */ addi r3, r3, 1 +/* 802C0844 002BC4A4 4B FF CD 51 */ bl func_802BD594 +/* 802C0848 002BC4A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C084C 002BC4AC 41 82 00 18 */ beq lbl_802C0864 +lbl_802C0850: +/* 802C0850 002BC4B0 3B BD 00 01 */ addi r29, r29, 1 +lbl_802C0854: +/* 802C0854 002BC4B4 88 17 89 18 */ lbz r0, -0x76e8(r23) +/* 802C0858 002BC4B8 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802C085C 002BC4BC 7C 03 00 40 */ cmplw r3, r0 +/* 802C0860 002BC4C0 41 80 FF B4 */ blt lbl_802C0814 +lbl_802C0864: +/* 802C0864 002BC4C4 80 0D 89 F0 */ lwz r0, lbl_8063DCB0-_SDA_BASE_(r13) +/* 802C0868 002BC4C8 80 8D 89 F4 */ lwz r4, lbl_8063DCB4-_SDA_BASE_(r13) +/* 802C086C 002BC4CC 7C 60 F2 14 */ add r3, r0, r30 +/* 802C0870 002BC4D0 88 03 00 02 */ lbz r0, 2(r3) +/* 802C0874 002BC4D4 1C 00 00 4A */ mulli r0, r0, 0x4a +/* 802C0878 002BC4D8 7C 04 02 14 */ add r0, r4, r0 +/* 802C087C 002BC4DC 7C 60 FA 14 */ add r3, r0, r31 +/* 802C0880 002BC4E0 88 03 00 02 */ lbz r0, 2(r3) +/* 802C0884 002BC4E4 28 00 00 10 */ cmplwi r0, 0x10 +/* 802C0888 002BC4E8 40 82 00 70 */ bne lbl_802C08F8 +/* 802C088C 002BC4EC 3F 60 80 57 */ lis r27, lbl_80568918@ha +/* 802C0890 002BC4F0 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802C0894 002BC4F4 88 1B 89 18 */ lbz r0, lbl_80568918@l(r27) +/* 802C0898 002BC4F8 7C 03 00 40 */ cmplw r3, r0 +/* 802C089C 002BC4FC 41 82 00 C8 */ beq lbl_802C0964 +/* 802C08A0 002BC500 3B 5B 89 18 */ addi r26, r27, -30440 +/* 802C08A4 002BC504 48 00 00 38 */ b lbl_802C08DC +lbl_802C08A8: +/* 802C08A8 002BC508 57 A6 06 3E */ clrlwi r6, r29, 0x18 +/* 802C08AC 002BC50C 57 A4 1D 78 */ rlwinm r4, r29, 3, 0x15, 0x1c +/* 802C08B0 002BC510 38 66 00 01 */ addi r3, r6, 1 +/* 802C08B4 002BC514 38 A0 00 09 */ li r5, 9 +/* 802C08B8 002BC518 54 60 18 38 */ slwi r0, r3, 3 +/* 802C08BC 002BC51C 7C 84 32 14 */ add r4, r4, r6 +/* 802C08C0 002BC520 7C 00 1A 14 */ add r0, r0, r3 +/* 802C08C4 002BC524 7C 7A 22 14 */ add r3, r26, r4 +/* 802C08C8 002BC528 7C 9A 02 14 */ add r4, r26, r0 +/* 802C08CC 002BC52C 38 63 00 01 */ addi r3, r3, 1 +/* 802C08D0 002BC530 38 84 00 01 */ addi r4, r4, 1 +/* 802C08D4 002BC534 4B D4 37 2D */ bl memcpy +/* 802C08D8 002BC538 3B BD 00 01 */ addi r29, r29, 1 +lbl_802C08DC: +/* 802C08DC 002BC53C 88 7B 89 18 */ lbz r3, -0x76e8(r27) +/* 802C08E0 002BC540 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802C08E4 002BC544 7C 00 18 40 */ cmplw r0, r3 +/* 802C08E8 002BC548 41 80 FF C0 */ blt lbl_802C08A8 +/* 802C08EC 002BC54C 38 03 FF FF */ addi r0, r3, -1 +/* 802C08F0 002BC550 98 1B 89 18 */ stb r0, -0x76e8(r27) +/* 802C08F4 002BC554 48 00 00 70 */ b lbl_802C0964 +lbl_802C08F8: +/* 802C08F8 002BC558 3F C0 80 57 */ lis r30, lbl_80568918@ha +/* 802C08FC 002BC55C 57 A4 06 3E */ clrlwi r4, r29, 0x18 +/* 802C0900 002BC560 88 1E 89 18 */ lbz r0, lbl_80568918@l(r30) +/* 802C0904 002BC564 7C 04 00 40 */ cmplw r4, r0 +/* 802C0908 002BC568 40 82 00 5C */ bne lbl_802C0964 +/* 802C090C 002BC56C 28 00 00 05 */ cmplwi r0, 5 +/* 802C0910 002BC570 40 82 00 24 */ bne lbl_802C0934 +/* 802C0914 002BC574 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C0918 002BC578 28 00 00 02 */ cmplwi r0, 2 +/* 802C091C 002BC57C 41 80 00 C4 */ blt lbl_802C09E0 +/* 802C0920 002BC580 3C 80 80 44 */ lis r4, lbl_804401A8@ha +/* 802C0924 002BC584 38 60 05 01 */ li r3, 0x501 +/* 802C0928 002BC588 38 84 01 A8 */ addi r4, r4, lbl_804401A8@l +/* 802C092C 002BC58C 4B FF C5 E5 */ bl func_802BCF10 +/* 802C0930 002BC590 48 00 00 B0 */ b lbl_802C09E0 +lbl_802C0934: +/* 802C0934 002BC594 57 A3 1D 78 */ rlwinm r3, r29, 3, 0x15, 0x1c +/* 802C0938 002BC598 38 1E 89 18 */ addi r0, r30, -30440 +/* 802C093C 002BC59C 7C 63 22 14 */ add r3, r3, r4 +/* 802C0940 002BC5A0 7F 84 E3 78 */ mr r4, r28 +/* 802C0944 002BC5A4 7C A0 1A 14 */ add r5, r0, r3 +/* 802C0948 002BC5A8 9B 45 00 07 */ stb r26, 7(r5) +/* 802C094C 002BC5AC 38 65 00 01 */ addi r3, r5, 1 +/* 802C0950 002BC5B0 9B 65 00 08 */ stb r27, 8(r5) +/* 802C0954 002BC5B4 4B FF CC 0D */ bl func_802BD560 +/* 802C0958 002BC5B8 88 7E 89 18 */ lbz r3, -0x76e8(r30) +/* 802C095C 002BC5BC 38 03 00 01 */ addi r0, r3, 1 +/* 802C0960 002BC5C0 98 1E 89 18 */ stb r0, -0x76e8(r30) +lbl_802C0964: +/* 802C0964 002BC5C4 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802C0968 002BC5C8 3B 00 00 00 */ li r24, 0 +/* 802C096C 002BC5CC 3B 43 88 14 */ addi r26, r3, lbl_80568814@l +/* 802C0970 002BC5D0 48 00 00 38 */ b lbl_802C09A8 +lbl_802C0974: +/* 802C0974 002BC5D4 57 00 06 3E */ clrlwi r0, r24, 0x18 +/* 802C0978 002BC5D8 7F 84 E3 78 */ mr r4, r28 +/* 802C097C 002BC5DC 1E E0 00 0B */ mulli r23, r0, 0xb +/* 802C0980 002BC5E0 7C 7A BA 14 */ add r3, r26, r23 +/* 802C0984 002BC5E4 4B FF CC 11 */ bl func_802BD594 +/* 802C0988 002BC5E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C098C 002BC5EC 40 82 00 18 */ bne lbl_802C09A4 +/* 802C0990 002BC5F0 7C 7A BA 14 */ add r3, r26, r23 +/* 802C0994 002BC5F4 38 00 00 00 */ li r0, 0 +/* 802C0998 002BC5F8 98 03 00 09 */ stb r0, 9(r3) +/* 802C099C 002BC5FC 98 03 00 0A */ stb r0, 0xa(r3) +/* 802C09A0 002BC600 48 00 00 18 */ b lbl_802C09B8 +lbl_802C09A4: +/* 802C09A4 002BC604 3B 18 00 01 */ addi r24, r24, 1 +lbl_802C09A8: +/* 802C09A8 002BC608 88 1A 00 4D */ lbz r0, 0x4d(r26) +/* 802C09AC 002BC60C 57 03 06 3E */ clrlwi r3, r24, 0x18 +/* 802C09B0 002BC610 7C 03 00 40 */ cmplw r3, r0 +/* 802C09B4 002BC614 41 80 FF C0 */ blt lbl_802C0974 +lbl_802C09B8: +/* 802C09B8 002BC618 3C C0 80 57 */ lis r6, lbl_80568918@ha +/* 802C09BC 002BC61C 57 A5 06 3E */ clrlwi r5, r29, 0x18 +/* 802C09C0 002BC620 57 A0 1D 78 */ rlwinm r0, r29, 3, 0x15, 0x1c +/* 802C09C4 002BC624 7F 83 E3 78 */ mr r3, r28 +/* 802C09C8 002BC628 38 C6 89 18 */ addi r6, r6, lbl_80568918@l +/* 802C09CC 002BC62C 38 80 00 00 */ li r4, 0 +/* 802C09D0 002BC630 7C 00 2A 14 */ add r0, r0, r5 +/* 802C09D4 002BC634 7C A6 02 14 */ add r5, r6, r0 +/* 802C09D8 002BC638 9B 25 00 09 */ stb r25, 9(r5) +/* 802C09DC 002BC63C 48 00 00 1D */ bl func_802C09F8 +lbl_802C09E0: +/* 802C09E0 002BC640 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C09E4 002BC644 4B F0 67 81 */ bl _restgpr_23 +/* 802C09E8 002BC648 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802C09EC 002BC64C 7C 08 03 A6 */ mtlr r0 +/* 802C09F0 002BC650 38 21 00 40 */ addi r1, r1, 0x40 +/* 802C09F4 002BC654 4E 80 00 20 */ blr + +.global func_802C09F8 +func_802C09F8: +/* 802C09F8 002BC658 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 802C09FC 002BC65C 7C 08 02 A6 */ mflr r0 +/* 802C0A00 002BC660 90 01 00 54 */ stw r0, 0x54(r1) +/* 802C0A04 002BC664 39 61 00 50 */ addi r11, r1, 0x50 +/* 802C0A08 002BC668 4B F0 67 05 */ bl _savegpr_20 +/* 802C0A0C 002BC66C 3C A0 80 57 */ lis r5, lbl_80568814@ha +/* 802C0A10 002BC670 7C 74 1B 78 */ mr r20, r3 +/* 802C0A14 002BC674 3B 85 88 14 */ addi r28, r5, lbl_80568814@l +/* 802C0A18 002BC678 7C 95 23 78 */ mr r21, r4 +/* 802C0A1C 002BC67C 88 1C 00 4D */ lbz r0, 0x4d(r28) +/* 802C0A20 002BC680 3B 60 00 00 */ li r27, 0 +/* 802C0A24 002BC684 3B 40 00 00 */ li r26, 0 +/* 802C0A28 002BC688 3B 20 00 00 */ li r25, 0 +/* 802C0A2C 002BC68C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0A30 002BC690 3B 00 00 00 */ li r24, 0 +/* 802C0A34 002BC694 3A E0 00 00 */ li r23, 0 +/* 802C0A38 002BC698 3A C0 00 00 */ li r22, 0 +/* 802C0A3C 002BC69C 41 82 03 24 */ beq lbl_802C0D60 +/* 802C0A40 002BC6A0 3B C0 00 00 */ li r30, 0 +/* 802C0A44 002BC6A4 48 00 00 30 */ b lbl_802C0A74 +lbl_802C0A48: +/* 802C0A48 002BC6A8 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 802C0A4C 002BC6AC 7E 84 A3 78 */ mr r4, r20 +/* 802C0A50 002BC6B0 1F A0 00 0B */ mulli r29, r0, 0xb +/* 802C0A54 002BC6B4 7C 7C EA 14 */ add r3, r28, r29 +/* 802C0A58 002BC6B8 4B FF CB 3D */ bl func_802BD594 +/* 802C0A5C 002BC6BC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0A60 002BC6C0 40 82 00 10 */ bne lbl_802C0A70 +/* 802C0A64 002BC6C4 7F 1C EA 14 */ add r24, r28, r29 +/* 802C0A68 002BC6C8 8B 38 00 0A */ lbz r25, 0xa(r24) +/* 802C0A6C 002BC6CC 48 00 00 18 */ b lbl_802C0A84 +lbl_802C0A70: +/* 802C0A70 002BC6D0 3B DE 00 01 */ addi r30, r30, 1 +lbl_802C0A74: +/* 802C0A74 002BC6D4 88 1C 00 4D */ lbz r0, 0x4d(r28) +/* 802C0A78 002BC6D8 57 C3 06 3E */ clrlwi r3, r30, 0x18 +/* 802C0A7C 002BC6DC 7C 03 00 40 */ cmplw r3, r0 +/* 802C0A80 002BC6E0 41 80 FF C8 */ blt lbl_802C0A48 +lbl_802C0A84: +/* 802C0A84 002BC6E4 2C 18 00 00 */ cmpwi r24, 0 +/* 802C0A88 002BC6E8 41 82 02 D8 */ beq lbl_802C0D60 +/* 802C0A8C 002BC6EC 3F C0 80 57 */ lis r30, lbl_80568918@ha +/* 802C0A90 002BC6F0 3B 80 00 00 */ li r28, 0 +/* 802C0A94 002BC6F4 3B FE 89 18 */ addi r31, r30, lbl_80568918@l +/* 802C0A98 002BC6F8 48 00 01 30 */ b lbl_802C0BC8 +lbl_802C0A9C: +/* 802C0A9C 002BC6FC 57 83 06 3E */ clrlwi r3, r28, 0x18 +/* 802C0AA0 002BC700 57 80 1D 78 */ rlwinm r0, r28, 3, 0x15, 0x1c +/* 802C0AA4 002BC704 7F A0 1A 14 */ add r29, r0, r3 +/* 802C0AA8 002BC708 7E 84 A3 78 */ mr r4, r20 +/* 802C0AAC 002BC70C 7C 7F EA 14 */ add r3, r31, r29 +/* 802C0AB0 002BC710 38 63 00 01 */ addi r3, r3, 1 +/* 802C0AB4 002BC714 4B FF CA E1 */ bl func_802BD594 +/* 802C0AB8 002BC718 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0ABC 002BC71C 40 82 01 08 */ bne lbl_802C0BC4 +/* 802C0AC0 002BC720 80 ED 89 F0 */ lwz r7, lbl_8063DCB0-_SDA_BASE_(r13) +/* 802C0AC4 002BC724 7D 1F EA 14 */ add r8, r31, r29 +/* 802C0AC8 002BC728 88 68 00 08 */ lbz r3, 8(r8) +/* 802C0ACC 002BC72C 39 20 00 01 */ li r9, 1 +/* 802C0AD0 002BC730 88 C7 00 01 */ lbz r6, 1(r7) +/* 802C0AD4 002BC734 88 88 00 07 */ lbz r4, 7(r8) +/* 802C0AD8 002BC738 48 00 00 38 */ b lbl_802C0B10 +lbl_802C0ADC: +/* 802C0ADC 002BC73C 55 25 06 3E */ clrlwi r5, r9, 0x18 +/* 802C0AE0 002BC740 55 20 15 BA */ rlwinm r0, r9, 2, 0x16, 0x1d +/* 802C0AE4 002BC744 7C 05 00 50 */ subf r0, r5, r0 +/* 802C0AE8 002BC748 7C A7 02 14 */ add r5, r7, r0 +/* 802C0AEC 002BC74C 7C 07 00 AE */ lbzx r0, r7, r0 +/* 802C0AF0 002BC750 7C 00 20 40 */ cmplw r0, r4 +/* 802C0AF4 002BC754 40 82 00 18 */ bne lbl_802C0B0C +/* 802C0AF8 002BC758 88 05 00 01 */ lbz r0, 1(r5) +/* 802C0AFC 002BC75C 28 00 00 FF */ cmplwi r0, 0xff +/* 802C0B00 002BC760 41 82 00 1C */ beq lbl_802C0B1C +/* 802C0B04 002BC764 7C 00 18 40 */ cmplw r0, r3 +/* 802C0B08 002BC768 41 82 00 14 */ beq lbl_802C0B1C +lbl_802C0B0C: +/* 802C0B0C 002BC76C 39 29 00 01 */ addi r9, r9, 1 +lbl_802C0B10: +/* 802C0B10 002BC770 55 20 06 3E */ clrlwi r0, r9, 0x18 +/* 802C0B14 002BC774 7C 00 30 40 */ cmplw r0, r6 +/* 802C0B18 002BC778 40 81 FF C4 */ ble lbl_802C0ADC +lbl_802C0B1C: +/* 802C0B1C 002BC77C 55 23 06 3E */ clrlwi r3, r9, 0x18 +/* 802C0B20 002BC780 55 20 15 BA */ rlwinm r0, r9, 2, 0x16, 0x1d +/* 802C0B24 002BC784 7C 63 00 50 */ subf r3, r3, r0 +/* 802C0B28 002BC788 88 08 00 09 */ lbz r0, 9(r8) +/* 802C0B2C 002BC78C 7C 87 1A 14 */ add r4, r7, r3 +/* 802C0B30 002BC790 80 6D 89 F4 */ lwz r3, lbl_8063DCB4-_SDA_BASE_(r13) +/* 802C0B34 002BC794 88 84 00 02 */ lbz r4, 2(r4) +/* 802C0B38 002BC798 54 00 18 38 */ slwi r0, r0, 3 +/* 802C0B3C 002BC79C 1C 84 00 4A */ mulli r4, r4, 0x4a +/* 802C0B40 002BC7A0 7C A3 22 14 */ add r5, r3, r4 +/* 802C0B44 002BC7A4 7C 65 02 14 */ add r3, r5, r0 +/* 802C0B48 002BC7A8 88 05 00 00 */ lbz r0, 0(r5) +/* 802C0B4C 002BC7AC 88 83 00 02 */ lbz r4, 2(r3) +/* 802C0B50 002BC7B0 7E F7 03 78 */ or r23, r23, r0 +/* 802C0B54 002BC7B4 7F 20 20 39 */ and. r0, r25, r4 +/* 802C0B58 002BC7B8 40 82 00 34 */ bne lbl_802C0B8C +/* 802C0B5C 002BC7BC 7C 7F EA 14 */ add r3, r31, r29 +/* 802C0B60 002BC7C0 57 60 06 3E */ clrlwi r0, r27, 0x18 +/* 802C0B64 002BC7C4 88 63 00 09 */ lbz r3, 9(r3) +/* 802C0B68 002BC7C8 54 63 18 38 */ slwi r3, r3, 3 +/* 802C0B6C 002BC7CC 7C A5 1A 14 */ add r5, r5, r3 +/* 802C0B70 002BC7D0 88 65 00 02 */ lbz r3, 2(r5) +/* 802C0B74 002BC7D4 7C 03 00 40 */ cmplw r3, r0 +/* 802C0B78 002BC7D8 7E D6 1B 78 */ or r22, r22, r3 +/* 802C0B7C 002BC7DC 40 81 00 48 */ ble lbl_802C0BC4 +/* 802C0B80 002BC7E0 A3 45 00 04 */ lhz r26, 4(r5) +/* 802C0B84 002BC7E4 7C 9B 23 78 */ mr r27, r4 +/* 802C0B88 002BC7E8 48 00 00 3C */ b lbl_802C0BC4 +lbl_802C0B8C: +/* 802C0B8C 002BC7EC 88 63 00 06 */ lbz r3, 6(r3) +/* 802C0B90 002BC7F0 7F 20 18 39 */ and. r0, r25, r3 +/* 802C0B94 002BC7F4 40 82 00 30 */ bne lbl_802C0BC4 +/* 802C0B98 002BC7F8 7C 9F EA 14 */ add r4, r31, r29 +/* 802C0B9C 002BC7FC 57 60 06 3E */ clrlwi r0, r27, 0x18 +/* 802C0BA0 002BC800 88 84 00 09 */ lbz r4, 9(r4) +/* 802C0BA4 002BC804 54 84 18 38 */ slwi r4, r4, 3 +/* 802C0BA8 002BC808 7C A5 22 14 */ add r5, r5, r4 +/* 802C0BAC 002BC80C 88 85 00 06 */ lbz r4, 6(r5) +/* 802C0BB0 002BC810 7C 04 00 40 */ cmplw r4, r0 +/* 802C0BB4 002BC814 7E D6 23 78 */ or r22, r22, r4 +/* 802C0BB8 002BC818 40 81 00 0C */ ble lbl_802C0BC4 +/* 802C0BBC 002BC81C 7C 7B 1B 78 */ mr r27, r3 +/* 802C0BC0 002BC820 A3 45 00 08 */ lhz r26, 8(r5) +lbl_802C0BC4: +/* 802C0BC4 002BC824 3B 9C 00 01 */ addi r28, r28, 1 +lbl_802C0BC8: +/* 802C0BC8 002BC828 88 1E 89 18 */ lbz r0, -0x76e8(r30) +/* 802C0BCC 002BC82C 57 83 06 3E */ clrlwi r3, r28, 0x18 +/* 802C0BD0 002BC830 7C 03 00 40 */ cmplw r3, r0 +/* 802C0BD4 002BC834 41 80 FE C8 */ blt lbl_802C0A9C +/* 802C0BD8 002BC838 57 60 07 BF */ clrlwi. r0, r27, 0x1e +/* 802C0BDC 002BC83C 41 82 00 24 */ beq lbl_802C0C00 +/* 802C0BE0 002BC840 56 E3 06 3E */ clrlwi r3, r23, 0x18 +/* 802C0BE4 002BC844 57 60 06 3E */ clrlwi r0, r27, 0x18 +/* 802C0BE8 002BC848 7C 60 00 39 */ and. r0, r3, r0 +/* 802C0BEC 002BC84C 40 82 00 14 */ bne lbl_802C0C00 +/* 802C0BF0 002BC850 7E E0 B0 38 */ and r0, r23, r22 +/* 802C0BF4 002BC854 54 1B 07 BF */ clrlwi. r27, r0, 0x1e +/* 802C0BF8 002BC858 40 82 00 08 */ bne lbl_802C0C00 +/* 802C0BFC 002BC85C 3B 40 00 00 */ li r26, 0 +lbl_802C0C00: +/* 802C0C00 002BC860 2C 15 00 00 */ cmpwi r21, 0 +/* 802C0C04 002BC864 40 82 00 A0 */ bne lbl_802C0CA4 +/* 802C0C08 002BC868 2C 1A 00 00 */ cmpwi r26, 0 +/* 802C0C0C 002BC86C 41 82 00 98 */ beq lbl_802C0CA4 +/* 802C0C10 002BC870 3E A0 80 57 */ lis r21, lbl_80568814@ha +/* 802C0C14 002BC874 38 00 00 03 */ li r0, 3 +/* 802C0C18 002BC878 3A B5 88 14 */ addi r21, r21, lbl_80568814@l +/* 802C0C1C 002BC87C 38 80 00 00 */ li r4, 0 +/* 802C0C20 002BC880 7C 09 03 A6 */ mtctr r0 +lbl_802C0C24: +/* 802C0C24 002BC884 54 96 2C F4 */ rlwinm r22, r4, 5, 0x13, 0x1a +/* 802C0C28 002BC888 7C 75 B2 14 */ add r3, r21, r22 +/* 802C0C2C 002BC88C 88 03 00 B6 */ lbz r0, 0xb6(r3) +/* 802C0C30 002BC890 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0C34 002BC894 40 82 00 3C */ bne lbl_802C0C70 +/* 802C0C38 002BC898 38 00 00 01 */ li r0, 1 +/* 802C0C3C 002BC89C 7E 84 A3 78 */ mr r4, r20 +/* 802C0C40 002BC8A0 98 03 00 B6 */ stb r0, 0xb6(r3) +/* 802C0C44 002BC8A4 38 63 00 B0 */ addi r3, r3, 0xb0 +/* 802C0C48 002BC8A8 4B FF C9 19 */ bl func_802BD560 +/* 802C0C4C 002BC8AC 3C 80 80 2C */ lis r4, lbl_802C0DF0@ha +/* 802C0C50 002BC8B0 7C 75 B2 14 */ add r3, r21, r22 +/* 802C0C54 002BC8B4 38 84 0D F0 */ addi r4, r4, lbl_802C0DF0@l +/* 802C0C58 002BC8B8 7F 45 D3 78 */ mr r5, r26 +/* 802C0C5C 002BC8BC 90 83 00 A0 */ stw r4, 0xa0(r3) +/* 802C0C60 002BC8C0 38 63 00 98 */ addi r3, r3, 0x98 +/* 802C0C64 002BC8C4 38 80 00 00 */ li r4, 0 +/* 802C0C68 002BC8C8 4B FF CD C1 */ bl func_802BDA28 +/* 802C0C6C 002BC8CC 48 00 00 F4 */ b lbl_802C0D60 +lbl_802C0C70: +/* 802C0C70 002BC8D0 38 84 00 01 */ addi r4, r4, 1 +/* 802C0C74 002BC8D4 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 802C0C78 002BC8D8 42 00 FF AC */ bdnz lbl_802C0C24 +/* 802C0C7C 002BC8DC 28 00 00 03 */ cmplwi r0, 3 +/* 802C0C80 002BC8E0 40 82 00 24 */ bne lbl_802C0CA4 +/* 802C0C84 002BC8E4 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C0C88 002BC8E8 28 00 00 02 */ cmplwi r0, 2 +/* 802C0C8C 002BC8EC 41 80 00 D4 */ blt lbl_802C0D60 +/* 802C0C90 002BC8F0 3C 80 80 44 */ lis r4, lbl_804401D4@ha +/* 802C0C94 002BC8F4 38 60 05 01 */ li r3, 0x501 +/* 802C0C98 002BC8F8 38 84 01 D4 */ addi r4, r4, lbl_804401D4@l +/* 802C0C9C 002BC8FC 4B FF C2 75 */ bl func_802BCF10 +/* 802C0CA0 002BC900 48 00 00 C0 */ b lbl_802C0D60 +lbl_802C0CA4: +/* 802C0CA4 002BC904 57 60 06 3F */ clrlwi. r0, r27, 0x18 +/* 802C0CA8 002BC908 41 82 00 B8 */ beq lbl_802C0D60 +/* 802C0CAC 002BC90C 28 00 00 01 */ cmplwi r0, 1 +/* 802C0CB0 002BC910 40 82 00 44 */ bne lbl_802C0CF4 +/* 802C0CB4 002BC914 38 00 00 01 */ li r0, 1 +/* 802C0CB8 002BC918 7E 83 A3 78 */ mr r3, r20 +/* 802C0CBC 002BC91C 98 18 00 09 */ stb r0, 9(r24) +/* 802C0CC0 002BC920 38 81 00 09 */ addi r4, r1, 9 +/* 802C0CC4 002BC924 48 00 83 B5 */ bl func_802C9078 +/* 802C0CC8 002BC928 88 01 00 09 */ lbz r0, 9(r1) +/* 802C0CCC 002BC92C 28 00 00 03 */ cmplwi r0, 3 +/* 802C0CD0 002BC930 41 82 00 90 */ beq lbl_802C0D60 +/* 802C0CD4 002BC934 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802C0CD8 002BC938 80 AD 89 F8 */ lwz r5, lbl_8063DCB8-_SDA_BASE_(r13) +/* 802C0CDC 002BC93C 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802C0CE0 002BC940 7E 84 A3 78 */ mr r4, r20 +/* 802C0CE4 002BC944 88 63 00 95 */ lbz r3, 0x95(r3) +/* 802C0CE8 002BC948 38 A5 00 0A */ addi r5, r5, 0xa +/* 802C0CEC 002BC94C 48 00 81 BD */ bl func_802C8EA8 +/* 802C0CF0 002BC950 48 00 00 70 */ b lbl_802C0D60 +lbl_802C0CF4: +/* 802C0CF4 002BC954 28 00 00 02 */ cmplwi r0, 2 +/* 802C0CF8 002BC958 40 82 00 40 */ bne lbl_802C0D38 +/* 802C0CFC 002BC95C 38 00 00 02 */ li r0, 2 +/* 802C0D00 002BC960 7E 83 A3 78 */ mr r3, r20 +/* 802C0D04 002BC964 98 18 00 09 */ stb r0, 9(r24) +/* 802C0D08 002BC968 38 81 00 08 */ addi r4, r1, 8 +/* 802C0D0C 002BC96C 48 00 83 6D */ bl func_802C9078 +/* 802C0D10 002BC970 88 01 00 08 */ lbz r0, 8(r1) +/* 802C0D14 002BC974 28 00 00 02 */ cmplwi r0, 2 +/* 802C0D18 002BC978 41 82 00 48 */ beq lbl_802C0D60 +/* 802C0D1C 002BC97C 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802C0D20 002BC980 80 AD 89 F8 */ lwz r5, lbl_8063DCB8-_SDA_BASE_(r13) +/* 802C0D24 002BC984 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802C0D28 002BC988 7E 84 A3 78 */ mr r4, r20 +/* 802C0D2C 002BC98C 88 63 00 95 */ lbz r3, 0x95(r3) +/* 802C0D30 002BC990 48 00 81 79 */ bl func_802C8EA8 +/* 802C0D34 002BC994 48 00 00 2C */ b lbl_802C0D60 +lbl_802C0D38: +/* 802C0D38 002BC998 28 00 00 04 */ cmplwi r0, 4 +/* 802C0D3C 002BC99C 40 82 00 24 */ bne lbl_802C0D60 +/* 802C0D40 002BC9A0 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802C0D44 002BC9A4 38 00 00 00 */ li r0, 0 +/* 802C0D48 002BC9A8 38 63 88 14 */ addi r3, r3, lbl_80568814@l +/* 802C0D4C 002BC9AC 98 01 00 14 */ stb r0, 0x14(r1) +/* 802C0D50 002BC9B0 88 63 00 95 */ lbz r3, 0x95(r3) +/* 802C0D54 002BC9B4 7E 84 A3 78 */ mr r4, r20 +/* 802C0D58 002BC9B8 38 A1 00 0C */ addi r5, r1, 0xc +/* 802C0D5C 002BC9BC 48 00 81 4D */ bl func_802C8EA8 +lbl_802C0D60: +/* 802C0D60 002BC9C0 39 61 00 50 */ addi r11, r1, 0x50 +/* 802C0D64 002BC9C4 4B F0 63 F5 */ bl _restgpr_20 +/* 802C0D68 002BC9C8 80 01 00 54 */ lwz r0, 0x54(r1) +/* 802C0D6C 002BC9CC 7C 08 03 A6 */ mtlr r0 +/* 802C0D70 002BC9D0 38 21 00 50 */ addi r1, r1, 0x50 +/* 802C0D74 002BC9D4 4E 80 00 20 */ blr +lbl_802C0D78: +/* 802C0D78 002BC9D8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C0D7C 002BC9DC 7C 08 02 A6 */ mflr r0 +/* 802C0D80 002BC9E0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C0D84 002BC9E4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C0D88 002BC9E8 4B F0 63 A1 */ bl _savegpr_27 +/* 802C0D8C 002BC9EC 7C 7B 1B 78 */ mr r27, r3 +/* 802C0D90 002BC9F0 7C 9C 23 78 */ mr r28, r4 +/* 802C0D94 002BC9F4 7C BD 2B 78 */ mr r29, r5 +/* 802C0D98 002BC9F8 7C DE 33 78 */ mr r30, r6 +/* 802C0D9C 002BC9FC 38 60 00 14 */ li r3, 0x14 +/* 802C0DA0 002BCA00 4B FF 8D 0D */ bl func_802B9AAC +/* 802C0DA4 002BCA04 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0DA8 002BCA08 7C 7F 1B 78 */ mr r31, r3 +/* 802C0DAC 002BCA0C 41 82 00 2C */ beq lbl_802C0DD8 +/* 802C0DB0 002BCA10 38 00 01 09 */ li r0, 0x109 +/* 802C0DB4 002BCA14 7F 64 DB 78 */ mr r4, r27 +/* 802C0DB8 002BCA18 B0 03 00 00 */ sth r0, 0(r3) +/* 802C0DBC 002BCA1C 9B 83 00 0E */ stb r28, 0xe(r3) +/* 802C0DC0 002BCA20 B3 A3 00 10 */ sth r29, 0x10(r3) +/* 802C0DC4 002BCA24 9B C3 00 12 */ stb r30, 0x12(r3) +/* 802C0DC8 002BCA28 38 63 00 08 */ addi r3, r3, 8 +/* 802C0DCC 002BCA2C 4B FF C7 95 */ bl func_802BD560 +/* 802C0DD0 002BCA30 7F E3 FB 78 */ mr r3, r31 +/* 802C0DD4 002BCA34 4B FF CC 39 */ bl func_802BDA0C +lbl_802C0DD8: +/* 802C0DD8 002BCA38 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C0DDC 002BCA3C 4B F0 63 99 */ bl _restgpr_27 +/* 802C0DE0 002BCA40 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C0DE4 002BCA44 7C 08 03 A6 */ mtlr r0 +/* 802C0DE8 002BCA48 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C0DEC 002BCA4C 4E 80 00 20 */ blr +lbl_802C0DF0: +/* 802C0DF0 002BCA50 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C0DF4 002BCA54 7C 08 02 A6 */ mflr r0 +/* 802C0DF8 002BCA58 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802C0DFC 002BCA5C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C0E00 002BCA60 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802C0E04 002BCA64 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C0E08 002BCA68 93 C1 00 08 */ stw r30, 8(r1) +/* 802C0E0C 002BCA6C 3B C0 00 00 */ li r30, 0 +/* 802C0E10 002BCA70 88 04 00 B6 */ lbz r0, 0xb6(r4) +/* 802C0E14 002BCA74 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0E18 002BCA78 41 82 00 1C */ beq lbl_802C0E34 +/* 802C0E1C 002BCA7C 38 04 00 98 */ addi r0, r4, 0x98 +/* 802C0E20 002BCA80 7C 00 18 40 */ cmplw r0, r3 +/* 802C0E24 002BCA84 40 82 00 10 */ bne lbl_802C0E34 +/* 802C0E28 002BCA88 38 00 00 00 */ li r0, 0 +/* 802C0E2C 002BCA8C 98 04 00 B6 */ stb r0, 0xb6(r4) +/* 802C0E30 002BCA90 48 00 00 58 */ b lbl_802C0E88 +lbl_802C0E34: +/* 802C0E34 002BCA94 88 04 00 D6 */ lbz r0, 0xd6(r4) +/* 802C0E38 002BCA98 3B C0 00 01 */ li r30, 1 +/* 802C0E3C 002BCA9C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0E40 002BCAA0 41 82 00 1C */ beq lbl_802C0E5C +/* 802C0E44 002BCAA4 38 04 00 B8 */ addi r0, r4, 0xb8 +/* 802C0E48 002BCAA8 7C 00 18 40 */ cmplw r0, r3 +/* 802C0E4C 002BCAAC 40 82 00 10 */ bne lbl_802C0E5C +/* 802C0E50 002BCAB0 38 00 00 00 */ li r0, 0 +/* 802C0E54 002BCAB4 98 04 00 D6 */ stb r0, 0xd6(r4) +/* 802C0E58 002BCAB8 48 00 00 30 */ b lbl_802C0E88 +lbl_802C0E5C: +/* 802C0E5C 002BCABC 88 04 00 F6 */ lbz r0, 0xf6(r4) +/* 802C0E60 002BCAC0 3B C0 00 02 */ li r30, 2 +/* 802C0E64 002BCAC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0E68 002BCAC8 41 82 00 1C */ beq lbl_802C0E84 +/* 802C0E6C 002BCACC 38 04 00 D8 */ addi r0, r4, 0xd8 +/* 802C0E70 002BCAD0 7C 00 18 40 */ cmplw r0, r3 +/* 802C0E74 002BCAD4 40 82 00 10 */ bne lbl_802C0E84 +/* 802C0E78 002BCAD8 38 00 00 00 */ li r0, 0 +/* 802C0E7C 002BCADC 98 04 00 F6 */ stb r0, 0xf6(r4) +/* 802C0E80 002BCAE0 48 00 00 08 */ b lbl_802C0E88 +lbl_802C0E84: +/* 802C0E84 002BCAE4 3B C0 00 03 */ li r30, 3 +lbl_802C0E88: +/* 802C0E88 002BCAE8 28 1E 00 03 */ cmplwi r30, 3 +/* 802C0E8C 002BCAEC 41 82 00 44 */ beq lbl_802C0ED0 +/* 802C0E90 002BCAF0 38 60 00 0E */ li r3, 0xe +/* 802C0E94 002BCAF4 4B FF 8C 19 */ bl func_802B9AAC +/* 802C0E98 002BCAF8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0E9C 002BCAFC 7C 7F 1B 78 */ mr r31, r3 +/* 802C0EA0 002BCB00 41 82 00 30 */ beq lbl_802C0ED0 +/* 802C0EA4 002BCB04 3C 80 80 57 */ lis r4, lbl_80568814@ha +/* 802C0EA8 002BCB08 38 A0 01 0A */ li r5, 0x10a +/* 802C0EAC 002BCB0C 38 84 88 14 */ addi r4, r4, lbl_80568814@l +/* 802C0EB0 002BCB10 57 C0 2C F4 */ rlwinm r0, r30, 5, 0x13, 0x1a +/* 802C0EB4 002BCB14 B0 A3 00 00 */ sth r5, 0(r3) +/* 802C0EB8 002BCB18 7C 84 02 14 */ add r4, r4, r0 +/* 802C0EBC 002BCB1C 38 84 00 B0 */ addi r4, r4, 0xb0 +/* 802C0EC0 002BCB20 38 63 00 08 */ addi r3, r3, 8 +/* 802C0EC4 002BCB24 4B FF C6 9D */ bl func_802BD560 +/* 802C0EC8 002BCB28 7F E3 FB 78 */ mr r3, r31 +/* 802C0ECC 002BCB2C 4B FF CB 41 */ bl func_802BDA0C +lbl_802C0ED0: +/* 802C0ED0 002BCB30 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C0ED4 002BCB34 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C0ED8 002BCB38 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C0EDC 002BCB3C 7C 08 03 A6 */ mtlr r0 +/* 802C0EE0 002BCB40 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C0EE4 002BCB44 4E 80 00 20 */ blr +/* 802C0EE8 002BCB48 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C0EEC 002BCB4C 7C 08 02 A6 */ mflr r0 +/* 802C0EF0 002BCB50 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C0EF4 002BCB54 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C0EF8 002BCB58 4B F0 62 31 */ bl _savegpr_27 +/* 802C0EFC 002BCB5C 3F C0 80 57 */ lis r30, lbl_80568814@ha +/* 802C0F00 002BCB60 7C 7F 1B 78 */ mr r31, r3 +/* 802C0F04 002BCB64 3B DE 88 14 */ addi r30, r30, lbl_80568814@l +/* 802C0F08 002BCB68 3B 60 00 00 */ li r27, 0 +lbl_802C0F0C: +/* 802C0F0C 002BCB6C 57 7C 2C F4 */ rlwinm r28, r27, 5, 0x13, 0x1a +/* 802C0F10 002BCB70 7F BE E2 14 */ add r29, r30, r28 +/* 802C0F14 002BCB74 88 1D 00 B6 */ lbz r0, 0xb6(r29) +/* 802C0F18 002BCB78 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0F1C 002BCB7C 41 82 00 30 */ beq lbl_802C0F4C +/* 802C0F20 002BCB80 38 7D 00 B0 */ addi r3, r29, 0xb0 +/* 802C0F24 002BCB84 38 9F 00 08 */ addi r4, r31, 8 +/* 802C0F28 002BCB88 4B FF C6 6D */ bl func_802BD594 +/* 802C0F2C 002BCB8C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0F30 002BCB90 40 82 00 1C */ bne lbl_802C0F4C +/* 802C0F34 002BCB94 7F A3 EB 78 */ mr r3, r29 +/* 802C0F38 002BCB98 38 63 00 98 */ addi r3, r3, 0x98 +/* 802C0F3C 002BCB9C 4B FF CB 0D */ bl func_802BDA48 +/* 802C0F40 002BCBA0 38 00 00 00 */ li r0, 0 +/* 802C0F44 002BCBA4 98 1D 00 B6 */ stb r0, 0xb6(r29) +/* 802C0F48 002BCBA8 48 00 00 10 */ b lbl_802C0F58 +lbl_802C0F4C: +/* 802C0F4C 002BCBAC 3B 7B 00 01 */ addi r27, r27, 1 +/* 802C0F50 002BCBB0 28 1B 00 03 */ cmplwi r27, 3 +/* 802C0F54 002BCBB4 41 80 FF B8 */ blt lbl_802C0F0C +lbl_802C0F58: +/* 802C0F58 002BCBB8 88 1F 00 0E */ lbz r0, 0xe(r31) +/* 802C0F5C 002BCBBC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0F60 002BCBC0 41 82 00 08 */ beq lbl_802C0F68 +/* 802C0F64 002BCBC4 48 00 00 8C */ b lbl_802C0FF0 +lbl_802C0F68: +/* 802C0F68 002BCBC8 88 1F 00 12 */ lbz r0, 0x12(r31) +/* 802C0F6C 002BCBCC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C0F70 002BCBD0 41 82 00 74 */ beq lbl_802C0FE4 +/* 802C0F74 002BCBD4 3C 60 80 57 */ lis r3, lbl_80568814@ha +/* 802C0F78 002BCBD8 3B A0 00 00 */ li r29, 0 +/* 802C0F7C 002BCBDC 3B C3 88 14 */ addi r30, r3, lbl_80568814@l +/* 802C0F80 002BCBE0 48 00 00 50 */ b lbl_802C0FD0 +lbl_802C0F84: +/* 802C0F84 002BCBE4 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802C0F88 002BCBE8 38 9F 00 08 */ addi r4, r31, 8 +/* 802C0F8C 002BCBEC 1F 80 00 0B */ mulli r28, r0, 0xb +/* 802C0F90 002BCBF0 7C 7E E2 14 */ add r3, r30, r28 +/* 802C0F94 002BCBF4 4B FF C6 01 */ bl func_802BD594 +/* 802C0F98 002BCBF8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C0F9C 002BCBFC 40 82 00 30 */ bne lbl_802C0FCC +/* 802C0FA0 002BCC00 7C BE E2 14 */ add r5, r30, r28 +/* 802C0FA4 002BCC04 88 05 00 09 */ lbz r0, 9(r5) +/* 802C0FA8 002BCC08 54 06 07 BF */ clrlwi. r6, r0, 0x1e +/* 802C0FAC 002BCC0C 41 82 00 44 */ beq lbl_802C0FF0 +/* 802C0FB0 002BCC10 88 05 00 0A */ lbz r0, 0xa(r5) +/* 802C0FB4 002BCC14 38 7F 00 08 */ addi r3, r31, 8 +/* 802C0FB8 002BCC18 38 80 00 00 */ li r4, 0 +/* 802C0FBC 002BCC1C 7C 00 33 78 */ or r0, r0, r6 +/* 802C0FC0 002BCC20 98 05 00 0A */ stb r0, 0xa(r5) +/* 802C0FC4 002BCC24 4B FF FA 35 */ bl func_802C09F8 +/* 802C0FC8 002BCC28 48 00 00 28 */ b lbl_802C0FF0 +lbl_802C0FCC: +/* 802C0FCC 002BCC2C 3B BD 00 01 */ addi r29, r29, 1 +lbl_802C0FD0: +/* 802C0FD0 002BCC30 88 1E 00 4D */ lbz r0, 0x4d(r30) +/* 802C0FD4 002BCC34 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 802C0FD8 002BCC38 7C 03 00 40 */ cmplw r3, r0 +/* 802C0FDC 002BCC3C 41 80 FF A8 */ blt lbl_802C0F84 +/* 802C0FE0 002BCC40 48 00 00 10 */ b lbl_802C0FF0 +lbl_802C0FE4: +/* 802C0FE4 002BCC44 38 7F 00 08 */ addi r3, r31, 8 +/* 802C0FE8 002BCC48 38 80 00 00 */ li r4, 0 +/* 802C0FEC 002BCC4C 4B FF FA 0D */ bl func_802C09F8 +lbl_802C0FF0: +/* 802C0FF0 002BCC50 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C0FF4 002BCC54 4B F0 61 81 */ bl _restgpr_27 +/* 802C0FF8 002BCC58 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C0FFC 002BCC5C 7C 08 03 A6 */ mtlr r0 +/* 802C1000 002BCC60 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C1004 002BCC64 4E 80 00 20 */ blr +/* 802C1008 002BCC68 38 80 00 01 */ li r4, 1 +/* 802C100C 002BCC6C 38 63 00 08 */ addi r3, r3, 8 +/* 802C1010 002BCC70 4B FF F9 E8 */ b func_802C09F8 + +.global func_802C1014 +func_802C1014: +/* 802C1014 002BCC74 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C1018 002BCC78 7C 08 02 A6 */ mflr r0 +/* 802C101C 002BCC7C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1020 002BCC80 38 00 00 06 */ li r0, 6 +/* 802C1024 002BCC84 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C1028 002BCC88 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C102C 002BCC8C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C1030 002BCC90 7C 7D 1B 78 */ mr r29, r3 +/* 802C1034 002BCC94 98 01 00 08 */ stb r0, 8(r1) +/* 802C1038 002BCC98 48 01 1F 51 */ bl func_802D2F88 +/* 802C103C 002BCC9C 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C1040 002BCCA0 38 80 00 00 */ li r4, 0 +/* 802C1044 002BCCA4 38 7F 89 48 */ addi r3, r31, lbl_80568948@l +/* 802C1048 002BCCA8 38 A0 02 30 */ li r5, 0x230 +/* 802C104C 002BCCAC 4B D4 30 B9 */ bl memset +/* 802C1050 002BCCB0 88 9D 00 08 */ lbz r4, 8(r29) +/* 802C1054 002BCCB4 38 6D 8A 30 */ addi r3, r13, lbl_8063DCF0-_SDA_BASE_ +/* 802C1058 002BCCB8 48 01 25 71 */ bl func_802D35C8 +/* 802C105C 002BCCBC 3C 60 80 2C */ lis r3, lbl_802C24C4@ha +/* 802C1060 002BCCC0 38 63 24 C4 */ addi r3, r3, lbl_802C24C4@l +/* 802C1064 002BCCC4 48 01 1F 69 */ bl func_802D2FCC +/* 802C1068 002BCCC8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C106C 002BCCCC 40 82 00 E4 */ bne lbl_802C1150 +/* 802C1070 002BCCD0 80 9D 00 30 */ lwz r4, 0x30(r29) +/* 802C1074 002BCCD4 39 9F 89 48 */ addi r12, r31, -30392 +/* 802C1078 002BCCD8 38 60 00 00 */ li r3, 0 +/* 802C107C 002BCCDC 38 00 00 02 */ li r0, 2 +/* 802C1080 002BCCE0 90 8C 02 24 */ stw r4, 0x224(r12) +/* 802C1084 002BCCE4 3B A0 00 00 */ li r29, 0 +/* 802C1088 002BCCE8 39 60 00 01 */ li r11, 1 +/* 802C108C 002BCCEC 39 40 00 FF */ li r10, 0xff +/* 802C1090 002BCCF0 98 61 00 08 */ stb r3, 8(r1) +/* 802C1094 002BCCF4 39 20 00 10 */ li r9, 0x10 +/* 802C1098 002BCCF8 7C 09 03 A6 */ mtctr r0 +lbl_802C109C: +/* 802C109C 002BCCFC 57 A3 2C F4 */ rlwinm r3, r29, 5, 0x13, 0x1a +/* 802C10A0 002BCD00 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 802C10A4 002BCD04 7F EC 1A 14 */ add r31, r12, r3 +/* 802C10A8 002BCD08 39 1D 00 01 */ addi r8, r29, 1 +/* 802C10AC 002BCD0C 99 7F 00 2C */ stb r11, 0x2c(r31) +/* 802C10B0 002BCD10 7F CC 02 14 */ add r30, r12, r0 +/* 802C10B4 002BCD14 38 FD 00 02 */ addi r7, r29, 2 +/* 802C10B8 002BCD18 38 DD 00 03 */ addi r6, r29, 3 +/* 802C10BC 002BCD1C 99 5F 00 26 */ stb r10, 0x26(r31) +/* 802C10C0 002BCD20 38 BD 00 04 */ addi r5, r29, 4 +/* 802C10C4 002BCD24 38 9D 00 05 */ addi r4, r29, 5 +/* 802C10C8 002BCD28 38 7D 00 06 */ addi r3, r29, 6 +/* 802C10CC 002BCD2C 9B BF 00 22 */ stb r29, 0x22(r31) +/* 802C10D0 002BCD30 38 1D 00 07 */ addi r0, r29, 7 +/* 802C10D4 002BCD34 3B BD 00 08 */ addi r29, r29, 8 +/* 802C10D8 002BCD38 99 3E 02 14 */ stb r9, 0x214(r30) +/* 802C10DC 002BCD3C 99 7F 00 4C */ stb r11, 0x4c(r31) +/* 802C10E0 002BCD40 99 5F 00 46 */ stb r10, 0x46(r31) +/* 802C10E4 002BCD44 99 1F 00 42 */ stb r8, 0x42(r31) +/* 802C10E8 002BCD48 99 3E 02 15 */ stb r9, 0x215(r30) +/* 802C10EC 002BCD4C 99 7F 00 6C */ stb r11, 0x6c(r31) +/* 802C10F0 002BCD50 99 5F 00 66 */ stb r10, 0x66(r31) +/* 802C10F4 002BCD54 98 FF 00 62 */ stb r7, 0x62(r31) +/* 802C10F8 002BCD58 99 3E 02 16 */ stb r9, 0x216(r30) +/* 802C10FC 002BCD5C 99 7F 00 8C */ stb r11, 0x8c(r31) +/* 802C1100 002BCD60 99 5F 00 86 */ stb r10, 0x86(r31) +/* 802C1104 002BCD64 98 DF 00 82 */ stb r6, 0x82(r31) +/* 802C1108 002BCD68 99 3E 02 17 */ stb r9, 0x217(r30) +/* 802C110C 002BCD6C 99 7F 00 AC */ stb r11, 0xac(r31) +/* 802C1110 002BCD70 99 5F 00 A6 */ stb r10, 0xa6(r31) +/* 802C1114 002BCD74 98 BF 00 A2 */ stb r5, 0xa2(r31) +/* 802C1118 002BCD78 99 3E 02 18 */ stb r9, 0x218(r30) +/* 802C111C 002BCD7C 99 7F 00 CC */ stb r11, 0xcc(r31) +/* 802C1120 002BCD80 99 5F 00 C6 */ stb r10, 0xc6(r31) +/* 802C1124 002BCD84 98 9F 00 C2 */ stb r4, 0xc2(r31) +/* 802C1128 002BCD88 99 3E 02 19 */ stb r9, 0x219(r30) +/* 802C112C 002BCD8C 99 7F 00 EC */ stb r11, 0xec(r31) +/* 802C1130 002BCD90 99 5F 00 E6 */ stb r10, 0xe6(r31) +/* 802C1134 002BCD94 98 7F 00 E2 */ stb r3, 0xe2(r31) +/* 802C1138 002BCD98 99 3E 02 1A */ stb r9, 0x21a(r30) +/* 802C113C 002BCD9C 99 7F 01 0C */ stb r11, 0x10c(r31) +/* 802C1140 002BCDA0 99 5F 01 06 */ stb r10, 0x106(r31) +/* 802C1144 002BCDA4 98 1F 01 02 */ stb r0, 0x102(r31) +/* 802C1148 002BCDA8 99 3E 02 1B */ stb r9, 0x21b(r30) +/* 802C114C 002BCDAC 42 00 FF 50 */ bdnz lbl_802C109C +lbl_802C1150: +/* 802C1150 002BCDB0 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C1154 002BCDB4 38 81 00 08 */ addi r4, r1, 8 +/* 802C1158 002BCDB8 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C115C 002BCDBC 38 60 00 00 */ li r3, 0 +/* 802C1160 002BCDC0 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C1164 002BCDC4 7D 89 03 A6 */ mtctr r12 +/* 802C1168 002BCDC8 4E 80 04 21 */ bctrl +/* 802C116C 002BCDCC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C1170 002BCDD0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C1174 002BCDD4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C1178 002BCDD8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C117C 002BCDDC 7C 08 03 A6 */ mtlr r0 +/* 802C1180 002BCDE0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C1184 002BCDE4 4E 80 00 20 */ blr + +.global func_802C1188 +func_802C1188: +/* 802C1188 002BCDE8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C118C 002BCDEC 7C 08 02 A6 */ mflr r0 +/* 802C1190 002BCDF0 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C1194 002BCDF4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1198 002BCDF8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C119C 002BCDFC 3B E3 89 48 */ addi r31, r3, lbl_80568948@l +/* 802C11A0 002BCE00 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C11A4 002BCE04 80 1F 02 24 */ lwz r0, 0x224(r31) +/* 802C11A8 002BCE08 2C 00 00 00 */ cmpwi r0, 0 +/* 802C11AC 002BCE0C 41 82 00 C8 */ beq lbl_802C1274 +/* 802C11B0 002BCE10 88 1F 02 2D */ lbz r0, 0x22d(r31) +/* 802C11B4 002BCE14 2C 00 00 00 */ cmpwi r0, 0 +/* 802C11B8 002BCE18 40 82 00 80 */ bne lbl_802C1238 +/* 802C11BC 002BCE1C 38 00 00 00 */ li r0, 0 +/* 802C11C0 002BCE20 98 01 00 08 */ stb r0, 8(r1) +/* 802C11C4 002BCE24 48 01 1E 85 */ bl func_802D3048 +/* 802C11C8 002BCE28 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C11CC 002BCE2C 41 82 00 0C */ beq lbl_802C11D8 +/* 802C11D0 002BCE30 38 00 00 06 */ li r0, 6 +/* 802C11D4 002BCE34 98 01 00 08 */ stb r0, 8(r1) +lbl_802C11D8: +/* 802C11D8 002BCE38 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C11DC 002BCE3C 3B C0 00 00 */ li r30, 0 +/* 802C11E0 002BCE40 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +lbl_802C11E4: +/* 802C11E4 002BCE44 57 C0 2C F4 */ rlwinm r0, r30, 5, 0x13, 0x1a +/* 802C11E8 002BCE48 7C 7F 02 14 */ add r3, r31, r0 +/* 802C11EC 002BCE4C 38 63 00 14 */ addi r3, r3, 0x14 +/* 802C11F0 002BCE50 4B FF CA BD */ bl func_802BDCAC +/* 802C11F4 002BCE54 3B DE 00 01 */ addi r30, r30, 1 +/* 802C11F8 002BCE58 28 1E 00 10 */ cmplwi r30, 0x10 +/* 802C11FC 002BCE5C 41 80 FF E8 */ blt lbl_802C11E4 +/* 802C1200 002BCE60 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C1204 002BCE64 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +/* 802C1208 002BCE68 38 7F 02 28 */ addi r3, r31, 0x228 +/* 802C120C 002BCE6C 4B FF CA A1 */ bl func_802BDCAC +/* 802C1210 002BCE70 81 9F 02 24 */ lwz r12, 0x224(r31) +/* 802C1214 002BCE74 38 81 00 08 */ addi r4, r1, 8 +/* 802C1218 002BCE78 38 60 00 01 */ li r3, 1 +/* 802C121C 002BCE7C 7D 89 03 A6 */ mtctr r12 +/* 802C1220 002BCE80 4E 80 04 21 */ bctrl +/* 802C1224 002BCE84 7F E3 FB 78 */ mr r3, r31 +/* 802C1228 002BCE88 38 80 00 00 */ li r4, 0 +/* 802C122C 002BCE8C 38 A0 02 30 */ li r5, 0x230 +/* 802C1230 002BCE90 4B D4 2E D5 */ bl memset +/* 802C1234 002BCE94 48 00 00 40 */ b lbl_802C1274 +lbl_802C1238: +/* 802C1238 002BCE98 38 00 00 01 */ li r0, 1 +/* 802C123C 002BCE9C 3B C0 00 00 */ li r30, 0 +/* 802C1240 002BCEA0 98 1F 02 2E */ stb r0, 0x22e(r31) +lbl_802C1244: +/* 802C1244 002BCEA4 57 C0 2C F4 */ rlwinm r0, r30, 5, 0x13, 0x1a +/* 802C1248 002BCEA8 7C 7F 02 14 */ add r3, r31, r0 +/* 802C124C 002BCEAC 88 03 00 2C */ lbz r0, 0x2c(r3) +/* 802C1250 002BCEB0 28 00 00 03 */ cmplwi r0, 3 +/* 802C1254 002BCEB4 40 82 00 14 */ bne lbl_802C1268 +/* 802C1258 002BCEB8 38 63 00 10 */ addi r3, r3, 0x10 +/* 802C125C 002BCEBC 38 80 17 01 */ li r4, 0x1701 +/* 802C1260 002BCEC0 38 A0 00 00 */ li r5, 0 +/* 802C1264 002BCEC4 48 00 18 C9 */ bl func_802C2B2C +lbl_802C1268: +/* 802C1268 002BCEC8 3B DE 00 01 */ addi r30, r30, 1 +/* 802C126C 002BCECC 28 1E 00 10 */ cmplwi r30, 0x10 +/* 802C1270 002BCED0 41 80 FF D4 */ blt lbl_802C1244 +lbl_802C1274: +/* 802C1274 002BCED4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C1278 002BCED8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C127C 002BCEDC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C1280 002BCEE0 7C 08 03 A6 */ mtlr r0 +/* 802C1284 002BCEE4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C1288 002BCEE8 4E 80 00 20 */ blr + +.global func_802C128C +func_802C128C: +/* 802C128C 002BCEEC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C1290 002BCEF0 7C 08 02 A6 */ mflr r0 +/* 802C1294 002BCEF4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1298 002BCEF8 38 00 00 00 */ li r0, 0 +/* 802C129C 002BCEFC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C12A0 002BCF00 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C12A4 002BCF04 98 01 00 08 */ stb r0, 8(r1) +/* 802C12A8 002BCF08 48 01 1D A1 */ bl func_802D3048 +/* 802C12AC 002BCF0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C12B0 002BCF10 41 82 00 0C */ beq lbl_802C12BC +/* 802C12B4 002BCF14 38 00 00 06 */ li r0, 6 +/* 802C12B8 002BCF18 98 01 00 08 */ stb r0, 8(r1) +lbl_802C12BC: +/* 802C12BC 002BCF1C 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C12C0 002BCF20 3B C0 00 00 */ li r30, 0 +/* 802C12C4 002BCF24 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +lbl_802C12C8: +/* 802C12C8 002BCF28 57 C0 2C F4 */ rlwinm r0, r30, 5, 0x13, 0x1a +/* 802C12CC 002BCF2C 7C 7F 02 14 */ add r3, r31, r0 +/* 802C12D0 002BCF30 38 63 00 14 */ addi r3, r3, 0x14 +/* 802C12D4 002BCF34 4B FF C9 D9 */ bl func_802BDCAC +/* 802C12D8 002BCF38 3B DE 00 01 */ addi r30, r30, 1 +/* 802C12DC 002BCF3C 28 1E 00 10 */ cmplwi r30, 0x10 +/* 802C12E0 002BCF40 41 80 FF E8 */ blt lbl_802C12C8 +/* 802C12E4 002BCF44 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C12E8 002BCF48 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +/* 802C12EC 002BCF4C 38 7F 02 28 */ addi r3, r31, 0x228 +/* 802C12F0 002BCF50 4B FF C9 BD */ bl func_802BDCAC +/* 802C12F4 002BCF54 81 9F 02 24 */ lwz r12, 0x224(r31) +/* 802C12F8 002BCF58 38 81 00 08 */ addi r4, r1, 8 +/* 802C12FC 002BCF5C 38 60 00 01 */ li r3, 1 +/* 802C1300 002BCF60 7D 89 03 A6 */ mtctr r12 +/* 802C1304 002BCF64 4E 80 04 21 */ bctrl +/* 802C1308 002BCF68 7F E3 FB 78 */ mr r3, r31 +/* 802C130C 002BCF6C 38 80 00 00 */ li r4, 0 +/* 802C1310 002BCF70 38 A0 02 30 */ li r5, 0x230 +/* 802C1314 002BCF74 4B D4 2D F1 */ bl memset +/* 802C1318 002BCF78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C131C 002BCF7C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C1320 002BCF80 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C1324 002BCF84 7C 08 03 A6 */ mtlr r0 +/* 802C1328 002BCF88 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C132C 002BCF8C 4E 80 00 20 */ blr +lbl_802C1330: +/* 802C1330 002BCF90 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C1334 002BCF94 7C 08 02 A6 */ mflr r0 +/* 802C1338 002BCF98 3C C0 80 57 */ lis r6, lbl_80568948@ha +/* 802C133C 002BCF9C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C1340 002BCFA0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1344 002BCFA4 38 00 00 10 */ li r0, 0x10 +/* 802C1348 002BCFA8 38 C6 89 48 */ addi r6, r6, lbl_80568948@l +/* 802C134C 002BCFAC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C1350 002BCFB0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C1354 002BCFB4 7C BE 2B 78 */ mr r30, r5 +/* 802C1358 002BCFB8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C135C 002BCFBC 7C 9D 23 78 */ mr r29, r4 +/* 802C1360 002BCFC0 98 01 00 08 */ stb r0, 8(r1) +/* 802C1364 002BCFC4 83 E6 02 10 */ lwz r31, 0x210(r6) +/* 802C1368 002BCFC8 40 82 00 C0 */ bne lbl_802C1428 +/* 802C136C 002BCFCC 88 1F 00 14 */ lbz r0, 0x14(r31) +/* 802C1370 002BCFD0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1374 002BCFD4 41 82 00 08 */ beq lbl_802C137C +/* 802C1378 002BCFD8 60 9D 80 00 */ ori r29, r4, 0x8000 +lbl_802C137C: +/* 802C137C 002BCFDC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1380 002BCFE0 28 00 00 04 */ cmplwi r0, 4 +/* 802C1384 002BCFE4 41 80 00 20 */ blt lbl_802C13A4 +/* 802C1388 002BCFE8 3C 80 80 44 */ lis r4, lbl_804401F8@ha +/* 802C138C 002BCFEC 7C 66 1B 78 */ mr r6, r3 +/* 802C1390 002BCFF0 7F E5 FB 78 */ mr r5, r31 +/* 802C1394 002BCFF4 57 A7 04 3E */ clrlwi r7, r29, 0x10 +/* 802C1398 002BCFF8 38 84 01 F8 */ addi r4, r4, lbl_804401F8@l +/* 802C139C 002BCFFC 38 60 05 03 */ li r3, 0x503 +/* 802C13A0 002BD000 4B FF BB B9 */ bl func_802BCF58 +lbl_802C13A4: +/* 802C13A4 002BD004 88 9E 00 64 */ lbz r4, 0x64(r30) +/* 802C13A8 002BD008 7F E3 FB 78 */ mr r3, r31 +/* 802C13AC 002BD00C 48 00 1F 4D */ bl func_802C32F8 +/* 802C13B0 002BD010 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C13B4 002BD014 41 82 00 6C */ beq lbl_802C1420 +/* 802C13B8 002BD018 88 1F 00 16 */ lbz r0, 0x16(r31) +/* 802C13BC 002BD01C 28 00 00 FF */ cmplwi r0, 0xff +/* 802C13C0 002BD020 40 82 00 68 */ bne lbl_802C1428 +/* 802C13C4 002BD024 38 7F 00 08 */ addi r3, r31, 8 +/* 802C13C8 002BD028 57 A4 04 3E */ clrlwi r4, r29, 0x10 +/* 802C13CC 002BD02C 38 A1 00 09 */ addi r5, r1, 9 +/* 802C13D0 002BD030 48 01 1D 5D */ bl func_802D312C +/* 802C13D4 002BD034 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C13D8 002BD038 98 61 00 08 */ stb r3, 8(r1) +/* 802C13DC 002BD03C 40 82 00 38 */ bne lbl_802C1414 +/* 802C13E0 002BD040 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C13E4 002BD044 88 81 00 09 */ lbz r4, 9(r1) +/* 802C13E8 002BD048 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C13EC 002BD04C 88 1F 00 12 */ lbz r0, 0x12(r31) +/* 802C13F0 002BD050 7C A3 22 14 */ add r5, r3, r4 +/* 802C13F4 002BD054 38 DE 00 68 */ addi r6, r30, 0x68 +/* 802C13F8 002BD058 98 05 02 14 */ stb r0, 0x214(r5) +/* 802C13FC 002BD05C 7F E3 FB 78 */ mr r3, r31 +/* 802C1400 002BD060 57 A5 04 3E */ clrlwi r5, r29, 0x10 +/* 802C1404 002BD064 88 FE 00 64 */ lbz r7, 0x64(r30) +/* 802C1408 002BD068 89 1F 00 15 */ lbz r8, 0x15(r31) +/* 802C140C 002BD06C 48 00 1E 31 */ bl func_802C323C +/* 802C1410 002BD070 48 00 00 18 */ b lbl_802C1428 +lbl_802C1414: +/* 802C1414 002BD074 38 00 00 00 */ li r0, 0 +/* 802C1418 002BD078 98 1F 00 15 */ stb r0, 0x15(r31) +/* 802C141C 002BD07C 48 00 00 0C */ b lbl_802C1428 +lbl_802C1420: +/* 802C1420 002BD080 38 00 00 FF */ li r0, 0xff +/* 802C1424 002BD084 98 01 00 08 */ stb r0, 8(r1) +lbl_802C1428: +/* 802C1428 002BD088 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C142C 002BD08C 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C1430 002BD090 38 63 02 28 */ addi r3, r3, 0x228 +/* 802C1434 002BD094 4B FF C8 79 */ bl func_802BDCAC +/* 802C1438 002BD098 7F E3 FB 78 */ mr r3, r31 +/* 802C143C 002BD09C 38 A1 00 08 */ addi r5, r1, 8 +/* 802C1440 002BD0A0 38 80 17 07 */ li r4, 0x1707 +/* 802C1444 002BD0A4 48 00 16 E9 */ bl func_802C2B2C +/* 802C1448 002BD0A8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C144C 002BD0AC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C1450 002BD0B0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C1454 002BD0B4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C1458 002BD0B8 7C 08 03 A6 */ mtlr r0 +/* 802C145C 002BD0BC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C1460 002BD0C0 4E 80 00 20 */ blr + +.global func_802C1464 +func_802C1464: +/* 802C1464 002BD0C4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C1468 002BD0C8 7C 08 02 A6 */ mflr r0 +/* 802C146C 002BD0CC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1470 002BD0D0 38 00 00 10 */ li r0, 0x10 +/* 802C1474 002BD0D4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C1478 002BD0D8 7C 7F 1B 78 */ mr r31, r3 +/* 802C147C 002BD0DC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C1480 002BD0E0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C1484 002BD0E4 7C 9D 23 78 */ mr r29, r4 +/* 802C1488 002BD0E8 98 01 00 09 */ stb r0, 9(r1) +/* 802C148C 002BD0EC 88 A4 00 0E */ lbz r5, 0xe(r4) +/* 802C1490 002BD0F0 88 03 00 15 */ lbz r0, 0x15(r3) +/* 802C1494 002BD0F4 98 A3 00 14 */ stb r5, 0x14(r3) +/* 802C1498 002BD0F8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C149C 002BD0FC 88 04 00 0F */ lbz r0, 0xf(r4) +/* 802C14A0 002BD100 98 03 00 1B */ stb r0, 0x1b(r3) +/* 802C14A4 002BD104 41 82 00 98 */ beq lbl_802C153C +/* 802C14A8 002BD108 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C14AC 002BD10C 38 60 00 00 */ li r3, 0 +/* 802C14B0 002BD110 98 61 00 09 */ stb r3, 9(r1) +/* 802C14B4 002BD114 28 00 00 05 */ cmplwi r0, 5 +/* 802C14B8 002BD118 41 80 00 14 */ blt lbl_802C14CC +/* 802C14BC 002BD11C 3C 80 80 44 */ lis r4, lbl_80440250@ha +/* 802C14C0 002BD120 38 60 05 04 */ li r3, 0x504 +/* 802C14C4 002BD124 38 84 02 50 */ addi r4, r4, lbl_80440250@l +/* 802C14C8 002BD128 4B FF BA 49 */ bl func_802BCF10 +lbl_802C14CC: +/* 802C14CC 002BD12C 88 1F 00 16 */ lbz r0, 0x16(r31) +/* 802C14D0 002BD130 28 00 00 FF */ cmplwi r0, 0xff +/* 802C14D4 002BD134 40 82 00 54 */ bne lbl_802C1528 +/* 802C14D8 002BD138 A0 9F 00 0E */ lhz r4, 0xe(r31) +/* 802C14DC 002BD13C 38 7F 00 08 */ addi r3, r31, 8 +/* 802C14E0 002BD140 38 A1 00 08 */ addi r5, r1, 8 +/* 802C14E4 002BD144 48 01 1C 49 */ bl func_802D312C +/* 802C14E8 002BD148 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C14EC 002BD14C 98 61 00 09 */ stb r3, 9(r1) +/* 802C14F0 002BD150 40 82 00 38 */ bne lbl_802C1528 +/* 802C14F4 002BD154 88 81 00 08 */ lbz r4, 8(r1) +/* 802C14F8 002BD158 7F E3 FB 78 */ mr r3, r31 +/* 802C14FC 002BD15C A0 BF 00 0E */ lhz r5, 0xe(r31) +/* 802C1500 002BD160 38 C0 00 00 */ li r6, 0 +/* 802C1504 002BD164 88 FF 00 13 */ lbz r7, 0x13(r31) +/* 802C1508 002BD168 89 1F 00 15 */ lbz r8, 0x15(r31) +/* 802C150C 002BD16C 48 00 1D 31 */ bl func_802C323C +/* 802C1510 002BD170 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C1514 002BD174 88 01 00 08 */ lbz r0, 8(r1) +/* 802C1518 002BD178 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C151C 002BD17C 88 9F 00 12 */ lbz r4, 0x12(r31) +/* 802C1520 002BD180 7C 63 02 14 */ add r3, r3, r0 +/* 802C1524 002BD184 98 83 02 14 */ stb r4, 0x214(r3) +lbl_802C1528: +/* 802C1528 002BD188 7F E3 FB 78 */ mr r3, r31 +/* 802C152C 002BD18C 38 A1 00 09 */ addi r5, r1, 9 +/* 802C1530 002BD190 38 80 17 07 */ li r4, 0x1707 +/* 802C1534 002BD194 48 00 15 F9 */ bl func_802C2B2C +/* 802C1538 002BD198 48 00 00 A4 */ b lbl_802C15DC +lbl_802C153C: +/* 802C153C 002BD19C 3F C0 80 57 */ lis r30, lbl_80568948@ha +/* 802C1540 002BD1A0 3B DE 89 48 */ addi r30, r30, lbl_80568948@l +/* 802C1544 002BD1A4 80 1E 02 28 */ lwz r0, 0x228(r30) +/* 802C1548 002BD1A8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C154C 002BD1AC 40 82 00 74 */ bne lbl_802C15C0 +/* 802C1550 002BD1B0 80 6D 8A 08 */ lwz r3, lbl_8063DCC8-_SDA_BASE_(r13) +/* 802C1554 002BD1B4 A0 63 00 08 */ lhz r3, 8(r3) +/* 802C1558 002BD1B8 4B FF 85 55 */ bl func_802B9AAC +/* 802C155C 002BD1BC 90 7E 02 28 */ stw r3, 0x228(r30) +/* 802C1560 002BD1C0 3C C0 80 2C */ lis r6, lbl_802C1330@ha +/* 802C1564 002BD1C4 80 AD 8A 08 */ lwz r5, lbl_8063DCC8-_SDA_BASE_(r13) +/* 802C1568 002BD1C8 7C 64 1B 78 */ mr r4, r3 +/* 802C156C 002BD1CC 93 FE 02 10 */ stw r31, 0x210(r30) +/* 802C1570 002BD1D0 38 7D 00 08 */ addi r3, r29, 8 +/* 802C1574 002BD1D4 38 C6 13 30 */ addi r6, r6, lbl_802C1330@l +/* 802C1578 002BD1D8 A0 A5 00 08 */ lhz r5, 8(r5) +/* 802C157C 002BD1DC 48 01 14 F5 */ bl func_802D2A70 +/* 802C1580 002BD1E0 54 65 06 3F */ clrlwi. r5, r3, 0x18 +/* 802C1584 002BD1E4 98 61 00 09 */ stb r3, 9(r1) +/* 802C1588 002BD1E8 41 82 00 38 */ beq lbl_802C15C0 +/* 802C158C 002BD1EC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1590 002BD1F0 28 00 00 05 */ cmplwi r0, 5 +/* 802C1594 002BD1F4 41 80 00 14 */ blt lbl_802C15A8 +/* 802C1598 002BD1F8 3C 80 80 44 */ lis r4, lbl_80440280@ha +/* 802C159C 002BD1FC 38 60 05 04 */ li r3, 0x504 +/* 802C15A0 002BD200 38 84 02 80 */ addi r4, r4, lbl_80440280@l +/* 802C15A4 002BD204 4B FF B9 85 */ bl func_802BCF28 +lbl_802C15A8: +/* 802C15A8 002BD208 38 00 00 07 */ li r0, 7 +/* 802C15AC 002BD20C 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C15B0 002BD210 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C15B4 002BD214 98 01 00 09 */ stb r0, 9(r1) +/* 802C15B8 002BD218 38 63 02 28 */ addi r3, r3, 0x228 +/* 802C15BC 002BD21C 4B FF C6 F1 */ bl func_802BDCAC +lbl_802C15C0: +/* 802C15C0 002BD220 88 01 00 09 */ lbz r0, 9(r1) +/* 802C15C4 002BD224 2C 00 00 00 */ cmpwi r0, 0 +/* 802C15C8 002BD228 41 82 00 14 */ beq lbl_802C15DC +/* 802C15CC 002BD22C 7F E3 FB 78 */ mr r3, r31 +/* 802C15D0 002BD230 38 A1 00 09 */ addi r5, r1, 9 +/* 802C15D4 002BD234 38 80 17 07 */ li r4, 0x1707 +/* 802C15D8 002BD238 48 00 15 55 */ bl func_802C2B2C +lbl_802C15DC: +/* 802C15DC 002BD23C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C15E0 002BD240 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C15E4 002BD244 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C15E8 002BD248 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C15EC 002BD24C 7C 08 03 A6 */ mtlr r0 +/* 802C15F0 002BD250 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C15F4 002BD254 4E 80 00 20 */ blr +/* 802C15F8 002BD258 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C15FC 002BD25C 7C 08 02 A6 */ mflr r0 +/* 802C1600 002BD260 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1604 002BD264 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C1608 002BD268 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C160C 002BD26C 7C 9E 23 78 */ mr r30, r4 +/* 802C1610 002BD270 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C1614 002BD274 7C 7D 1B 78 */ mr r29, r3 +/* 802C1618 002BD278 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C161C 002BD27C 28 00 00 05 */ cmplwi r0, 5 +/* 802C1620 002BD280 41 80 00 18 */ blt lbl_802C1638 +/* 802C1624 002BD284 3C 80 80 44 */ lis r4, lbl_804402D0@ha +/* 802C1628 002BD288 88 BE 00 00 */ lbz r5, 0(r30) +/* 802C162C 002BD28C 38 84 02 D0 */ addi r4, r4, lbl_804402D0@l +/* 802C1630 002BD290 38 60 05 04 */ li r3, 0x504 +/* 802C1634 002BD294 4B FF B8 F5 */ bl func_802BCF28 +lbl_802C1638: +/* 802C1638 002BD298 38 61 00 08 */ addi r3, r1, 8 +/* 802C163C 002BD29C 38 80 00 00 */ li r4, 0 +/* 802C1640 002BD2A0 38 A0 00 08 */ li r5, 8 +/* 802C1644 002BD2A4 4B D4 2A C1 */ bl memset +/* 802C1648 002BD2A8 88 1D 00 16 */ lbz r0, 0x16(r29) +/* 802C164C 002BD2AC 38 61 00 08 */ addi r3, r1, 8 +/* 802C1650 002BD2B0 38 9D 00 08 */ addi r4, r29, 8 +/* 802C1654 002BD2B4 98 01 00 0F */ stb r0, 0xf(r1) +/* 802C1658 002BD2B8 4B FF BF 09 */ bl func_802BD560 +/* 802C165C 002BD2BC 8B FE 00 00 */ lbz r31, 0(r30) +/* 802C1660 002BD2C0 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C1664 002BD2C4 40 82 00 68 */ bne lbl_802C16CC +/* 802C1668 002BD2C8 88 1D 00 19 */ lbz r0, 0x19(r29) +/* 802C166C 002BD2CC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1670 002BD2D0 40 82 00 4C */ bne lbl_802C16BC +/* 802C1674 002BD2D4 88 9D 00 14 */ lbz r4, 0x14(r29) +/* 802C1678 002BD2D8 38 6D 8A 30 */ addi r3, r13, lbl_8063DCF0-_SDA_BASE_ +/* 802C167C 002BD2DC 48 01 1F 4D */ bl func_802D35C8 +/* 802C1680 002BD2E0 88 7D 00 16 */ lbz r3, 0x16(r29) +/* 802C1684 002BD2E4 48 01 1D 01 */ bl func_802D3384 +/* 802C1688 002BD2E8 54 65 06 3F */ clrlwi. r5, r3, 0x18 +/* 802C168C 002BD2EC 7C 7F 1B 78 */ mr r31, r3 +/* 802C1690 002BD2F0 41 82 00 3C */ beq lbl_802C16CC +/* 802C1694 002BD2F4 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1698 002BD2F8 28 00 00 05 */ cmplwi r0, 5 +/* 802C169C 002BD2FC 41 80 00 14 */ blt lbl_802C16B0 +/* 802C16A0 002BD300 3C 80 80 44 */ lis r4, lbl_804402F0@ha +/* 802C16A4 002BD304 38 60 05 04 */ li r3, 0x504 +/* 802C16A8 002BD308 38 84 02 F0 */ addi r4, r4, lbl_804402F0@l +/* 802C16AC 002BD30C 4B FF B8 7D */ bl func_802BCF28 +lbl_802C16B0: +/* 802C16B0 002BD310 88 7D 00 16 */ lbz r3, 0x16(r29) +/* 802C16B4 002BD314 48 01 1C 09 */ bl func_802D32BC +/* 802C16B8 002BD318 48 00 00 14 */ b lbl_802C16CC +lbl_802C16BC: +/* 802C16BC 002BD31C 7F A3 EB 78 */ mr r3, r29 +/* 802C16C0 002BD320 38 80 17 0B */ li r4, 0x170b +/* 802C16C4 002BD324 38 A0 00 00 */ li r5, 0 +/* 802C16C8 002BD328 48 00 14 65 */ bl func_802C2B2C +lbl_802C16CC: +/* 802C16CC 002BD32C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 +/* 802C16D0 002BD330 41 82 00 74 */ beq lbl_802C1744 +/* 802C16D4 002BD334 88 1E 00 00 */ lbz r0, 0(r30) +/* 802C16D8 002BD338 28 00 00 FF */ cmplwi r0, 0xff +/* 802C16DC 002BD33C 40 82 00 10 */ bne lbl_802C16EC +/* 802C16E0 002BD340 38 00 00 0A */ li r0, 0xa +/* 802C16E4 002BD344 98 01 00 0E */ stb r0, 0xe(r1) +/* 802C16E8 002BD348 48 00 00 0C */ b lbl_802C16F4 +lbl_802C16EC: +/* 802C16EC 002BD34C 38 00 00 07 */ li r0, 7 +/* 802C16F0 002BD350 98 01 00 0E */ stb r0, 0xe(r1) +lbl_802C16F4: +/* 802C16F4 002BD354 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C16F8 002BD358 38 81 00 08 */ addi r4, r1, 8 +/* 802C16FC 002BD35C 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C1700 002BD360 38 60 00 02 */ li r3, 2 +/* 802C1704 002BD364 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C1708 002BD368 7D 89 03 A6 */ mtctr r12 +/* 802C170C 002BD36C 4E 80 04 21 */ bctrl +/* 802C1710 002BD370 7F A3 EB 78 */ mr r3, r29 +/* 802C1714 002BD374 38 80 17 01 */ li r4, 0x1701 +/* 802C1718 002BD378 38 A0 00 00 */ li r5, 0 +/* 802C171C 002BD37C 48 00 14 11 */ bl func_802C2B2C +/* 802C1720 002BD380 88 1D 00 15 */ lbz r0, 0x15(r29) +/* 802C1724 002BD384 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1728 002BD388 40 82 00 18 */ bne lbl_802C1740 +/* 802C172C 002BD38C 88 1D 00 19 */ lbz r0, 0x19(r29) +/* 802C1730 002BD390 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1734 002BD394 40 82 00 0C */ bne lbl_802C1740 +/* 802C1738 002BD398 7F A3 EB 78 */ mr r3, r29 +/* 802C173C 002BD39C 48 00 1A 81 */ bl func_802C31BC +lbl_802C1740: +/* 802C1740 002BD3A0 48 00 1C 0D */ bl func_802C334C +lbl_802C1744: +/* 802C1744 002BD3A4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C1748 002BD3A8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C174C 002BD3AC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C1750 002BD3B0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C1754 002BD3B4 7C 08 03 A6 */ mtlr r0 +/* 802C1758 002BD3B8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C175C 002BD3BC 4E 80 00 20 */ blr +/* 802C1760 002BD3C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C1764 002BD3C4 7C 08 02 A6 */ mflr r0 +/* 802C1768 002BD3C8 2C 04 00 00 */ cmpwi r4, 0 +/* 802C176C 002BD3CC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C1770 002BD3D0 41 82 00 10 */ beq lbl_802C1780 +/* 802C1774 002BD3D4 A0 04 00 06 */ lhz r0, 6(r4) +/* 802C1778 002BD3D8 54 03 06 3E */ clrlwi r3, r0, 0x18 +/* 802C177C 002BD3DC 48 00 00 08 */ b lbl_802C1784 +lbl_802C1780: +/* 802C1780 002BD3E0 88 63 00 16 */ lbz r3, 0x16(r3) +lbl_802C1784: +/* 802C1784 002BD3E4 38 00 00 06 */ li r0, 6 +/* 802C1788 002BD3E8 98 61 00 09 */ stb r3, 9(r1) +/* 802C178C 002BD3EC 98 01 00 08 */ stb r0, 8(r1) +/* 802C1790 002BD3F0 48 01 1D 99 */ bl func_802D3528 +/* 802C1794 002BD3F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C1798 002BD3F8 41 82 00 20 */ beq lbl_802C17B8 +/* 802C179C 002BD3FC 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C17A0 002BD400 38 81 00 08 */ addi r4, r1, 8 +/* 802C17A4 002BD404 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C17A8 002BD408 38 60 00 03 */ li r3, 3 +/* 802C17AC 002BD40C 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C17B0 002BD410 7D 89 03 A6 */ mtctr r12 +/* 802C17B4 002BD414 4E 80 04 21 */ bctrl +lbl_802C17B8: +/* 802C17B8 002BD418 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C17BC 002BD41C 7C 08 03 A6 */ mtlr r0 +/* 802C17C0 002BD420 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C17C4 002BD424 4E 80 00 20 */ blr +/* 802C17C8 002BD428 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C17CC 002BD42C 7C 08 02 A6 */ mflr r0 +/* 802C17D0 002BD430 2C 04 00 00 */ cmpwi r4, 0 +/* 802C17D4 002BD434 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C17D8 002BD438 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C17DC 002BD43C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C17E0 002BD440 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C17E4 002BD444 7C 7D 1B 78 */ mr r29, r3 +/* 802C17E8 002BD448 41 82 00 10 */ beq lbl_802C17F8 +/* 802C17EC 002BD44C A0 04 00 06 */ lhz r0, 6(r4) +/* 802C17F0 002BD450 54 1E 06 3E */ clrlwi r30, r0, 0x18 +/* 802C17F4 002BD454 48 00 00 08 */ b lbl_802C17FC +lbl_802C17F8: +/* 802C17F8 002BD458 8B C3 00 16 */ lbz r30, 0x16(r3) +lbl_802C17FC: +/* 802C17FC 002BD45C 38 61 00 08 */ addi r3, r1, 8 +/* 802C1800 002BD460 38 80 00 00 */ li r4, 0 +/* 802C1804 002BD464 38 A0 00 08 */ li r5, 8 +/* 802C1808 002BD468 4B D4 28 FD */ bl memset +/* 802C180C 002BD46C 9B C1 00 0F */ stb r30, 0xf(r1) +/* 802C1810 002BD470 38 61 00 08 */ addi r3, r1, 8 +/* 802C1814 002BD474 38 9D 00 08 */ addi r4, r29, 8 +/* 802C1818 002BD478 4B FF BD 49 */ bl func_802BD560 +/* 802C181C 002BD47C 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C1820 002BD480 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +/* 802C1824 002BD484 88 7F 02 2D */ lbz r3, 0x22d(r31) +/* 802C1828 002BD488 38 03 00 01 */ addi r0, r3, 1 +/* 802C182C 002BD48C 98 1F 02 2D */ stb r0, 0x22d(r31) +/* 802C1830 002BD490 88 7D 00 16 */ lbz r3, 0x16(r29) +/* 802C1834 002BD494 88 9D 00 13 */ lbz r4, 0x13(r29) +/* 802C1838 002BD498 A0 BD 00 0E */ lhz r5, 0xe(r29) +/* 802C183C 002BD49C 88 DD 00 15 */ lbz r6, 0x15(r29) +/* 802C1840 002BD4A0 4B FF 7D 15 */ bl func_802B9554 +/* 802C1844 002BD4A4 88 9D 00 15 */ lbz r4, 0x15(r29) +/* 802C1848 002BD4A8 38 BD 00 08 */ addi r5, r29, 8 +/* 802C184C 002BD4AC 38 60 00 17 */ li r3, 0x17 +/* 802C1850 002BD4B0 4B FF BE 15 */ bl func_802BD664 +/* 802C1854 002BD4B4 88 BD 00 1B */ lbz r5, 0x1b(r29) +/* 802C1858 002BD4B8 2C 05 00 00 */ cmpwi r5, 0 +/* 802C185C 002BD4BC 41 82 00 54 */ beq lbl_802C18B0 +/* 802C1860 002BD4C0 7F C3 F3 78 */ mr r3, r30 +/* 802C1864 002BD4C4 38 80 00 07 */ li r4, 7 +/* 802C1868 002BD4C8 38 C0 00 00 */ li r6, 0 +/* 802C186C 002BD4CC 38 E0 00 00 */ li r7, 0 +/* 802C1870 002BD4D0 39 00 00 00 */ li r8, 0 +/* 802C1874 002BD4D4 48 01 1B 75 */ bl func_802D33E8 +/* 802C1878 002BD4D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C187C 002BD4DC 98 61 00 0E */ stb r3, 0xe(r1) +/* 802C1880 002BD4E0 41 82 00 24 */ beq lbl_802C18A4 +/* 802C1884 002BD4E4 81 9F 02 24 */ lwz r12, 0x224(r31) +/* 802C1888 002BD4E8 38 00 00 08 */ li r0, 8 +/* 802C188C 002BD4EC 98 01 00 0E */ stb r0, 0xe(r1) +/* 802C1890 002BD4F0 38 81 00 08 */ addi r4, r1, 8 +/* 802C1894 002BD4F4 38 60 00 02 */ li r3, 2 +/* 802C1898 002BD4F8 7D 89 03 A6 */ mtctr r12 +/* 802C189C 002BD4FC 4E 80 04 21 */ bctrl +/* 802C18A0 002BD500 48 00 00 2C */ b lbl_802C18CC +lbl_802C18A4: +/* 802C18A4 002BD504 38 00 00 02 */ li r0, 2 +/* 802C18A8 002BD508 B0 1D 00 10 */ sth r0, 0x10(r29) +/* 802C18AC 002BD50C 48 00 00 20 */ b lbl_802C18CC +lbl_802C18B0: +/* 802C18B0 002BD510 38 00 00 01 */ li r0, 1 +/* 802C18B4 002BD514 38 81 00 08 */ addi r4, r1, 8 +/* 802C18B8 002BD518 98 1D 00 1A */ stb r0, 0x1a(r29) +/* 802C18BC 002BD51C 38 60 00 02 */ li r3, 2 +/* 802C18C0 002BD520 81 9F 02 24 */ lwz r12, 0x224(r31) +/* 802C18C4 002BD524 7D 89 03 A6 */ mtctr r12 +/* 802C18C8 002BD528 4E 80 04 21 */ bctrl +lbl_802C18CC: +/* 802C18CC 002BD52C 38 00 00 00 */ li r0, 0 +/* 802C18D0 002BD530 98 1D 00 19 */ stb r0, 0x19(r29) +/* 802C18D4 002BD534 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C18D8 002BD538 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C18DC 002BD53C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C18E0 002BD540 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C18E4 002BD544 7C 08 03 A6 */ mtlr r0 +/* 802C18E8 002BD548 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C18EC 002BD54C 4E 80 00 20 */ blr +/* 802C18F0 002BD550 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C18F4 002BD554 7C 08 02 A6 */ mflr r0 +/* 802C18F8 002BD558 2C 04 00 00 */ cmpwi r4, 0 +/* 802C18FC 002BD55C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1900 002BD560 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C1904 002BD564 7C 9F 23 78 */ mr r31, r4 +/* 802C1908 002BD568 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C190C 002BD56C 7C 7E 1B 78 */ mr r30, r3 +/* 802C1910 002BD570 41 82 00 10 */ beq lbl_802C1920 +/* 802C1914 002BD574 A0 04 00 06 */ lhz r0, 6(r4) +/* 802C1918 002BD578 54 05 06 3E */ clrlwi r5, r0, 0x18 +/* 802C191C 002BD57C 48 00 00 08 */ b lbl_802C1924 +lbl_802C1920: +/* 802C1920 002BD580 88 A3 00 16 */ lbz r5, 0x16(r3) +lbl_802C1924: +/* 802C1924 002BD584 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1928 002BD588 28 00 00 04 */ cmplwi r0, 4 +/* 802C192C 002BD58C 41 80 00 14 */ blt lbl_802C1940 +/* 802C1930 002BD590 3C 80 80 44 */ lis r4, lbl_8044033C@ha +/* 802C1934 002BD594 38 60 05 03 */ li r3, 0x503 +/* 802C1938 002BD598 38 84 03 3C */ addi r4, r4, lbl_8044033C@l +/* 802C193C 002BD59C 4B FF B5 ED */ bl func_802BCF28 +lbl_802C1940: +/* 802C1940 002BD5A0 88 1E 00 15 */ lbz r0, 0x15(r30) +/* 802C1944 002BD5A4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1948 002BD5A8 41 82 00 18 */ beq lbl_802C1960 +/* 802C194C 002BD5AC 7F C3 F3 78 */ mr r3, r30 +/* 802C1950 002BD5B0 7F E5 FB 78 */ mr r5, r31 +/* 802C1954 002BD5B4 38 80 17 0B */ li r4, 0x170b +/* 802C1958 002BD5B8 48 00 11 D5 */ bl func_802C2B2C +/* 802C195C 002BD5BC 48 00 00 34 */ b lbl_802C1990 +lbl_802C1960: +/* 802C1960 002BD5C0 38 00 00 01 */ li r0, 1 +/* 802C1964 002BD5C4 38 61 00 08 */ addi r3, r1, 8 +/* 802C1968 002BD5C8 98 1E 00 19 */ stb r0, 0x19(r30) +/* 802C196C 002BD5CC 38 80 00 00 */ li r4, 0 +/* 802C1970 002BD5D0 38 A0 00 10 */ li r5, 0x10 +/* 802C1974 002BD5D4 4B D4 27 91 */ bl memset +/* 802C1978 002BD5D8 38 61 00 10 */ addi r3, r1, 0x10 +/* 802C197C 002BD5DC 38 9E 00 08 */ addi r4, r30, 8 +/* 802C1980 002BD5E0 4B FF BB E1 */ bl func_802BD560 +/* 802C1984 002BD5E4 7F C3 F3 78 */ mr r3, r30 +/* 802C1988 002BD5E8 38 81 00 08 */ addi r4, r1, 8 +/* 802C198C 002BD5EC 4B FF FA D9 */ bl func_802C1464 +lbl_802C1990: +/* 802C1990 002BD5F0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C1994 002BD5F4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C1998 002BD5F8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C199C 002BD5FC 7C 08 03 A6 */ mtlr r0 +/* 802C19A0 002BD600 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C19A4 002BD604 4E 80 00 20 */ blr +/* 802C19A8 002BD608 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C19AC 002BD60C 7C 08 02 A6 */ mflr r0 +/* 802C19B0 002BD610 7C 68 1B 78 */ mr r8, r3 +/* 802C19B4 002BD614 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C19B8 002BD618 80 A4 00 0C */ lwz r5, 0xc(r4) +/* 802C19BC 002BD61C 90 A1 00 08 */ stw r5, 8(r1) +/* 802C19C0 002BD620 A0 05 00 04 */ lhz r0, 4(r5) +/* 802C19C4 002BD624 A0 64 00 06 */ lhz r3, 6(r4) +/* 802C19C8 002BD628 7C 85 02 14 */ add r4, r5, r0 +/* 802C19CC 002BD62C A0 A5 00 02 */ lhz r5, 2(r5) +/* 802C19D0 002BD630 88 C8 00 1B */ lbz r6, 0x1b(r8) +/* 802C19D4 002BD634 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 802C19D8 002BD638 88 E8 00 13 */ lbz r7, 0x13(r8) +/* 802C19DC 002BD63C 38 84 00 08 */ addi r4, r4, 8 +/* 802C19E0 002BD640 89 08 00 15 */ lbz r8, 0x15(r8) +/* 802C19E4 002BD644 4B FF 7B 35 */ bl func_802B9518 +/* 802C19E8 002BD648 38 61 00 08 */ addi r3, r1, 8 +/* 802C19EC 002BD64C 4B FF C2 C1 */ bl func_802BDCAC +/* 802C19F0 002BD650 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C19F4 002BD654 7C 08 03 A6 */ mtlr r0 +/* 802C19F8 002BD658 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C19FC 002BD65C 4E 80 00 20 */ blr +/* 802C1A00 002BD660 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802C1A04 002BD664 7C 08 02 A6 */ mflr r0 +/* 802C1A08 002BD668 90 01 00 44 */ stw r0, 0x44(r1) +/* 802C1A0C 002BD66C 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 802C1A10 002BD670 7C 7F 1B 78 */ mr r31, r3 +/* 802C1A14 002BD674 93 C1 00 38 */ stw r30, 0x38(r1) +/* 802C1A18 002BD678 3F C0 80 44 */ lis r30, lbl_804401F8@ha +/* 802C1A1C 002BD67C 3B DE 01 F8 */ addi r30, r30, lbl_804401F8@l +/* 802C1A20 002BD680 93 A1 00 34 */ stw r29, 0x34(r1) +/* 802C1A24 002BD684 7C 9D 23 78 */ mr r29, r4 +/* 802C1A28 002BD688 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1A2C 002BD68C 28 00 00 05 */ cmplwi r0, 5 +/* 802C1A30 002BD690 41 80 00 74 */ blt lbl_802C1AA4 +/* 802C1A34 002BD694 A0 03 00 10 */ lhz r0, 0x10(r3) +/* 802C1A38 002BD698 28 00 00 09 */ cmplwi r0, 9 +/* 802C1A3C 002BD69C 41 81 00 54 */ bgt lbl_802C1A90 +/* 802C1A40 002BD6A0 3C 60 80 44 */ lis r3, lbl_80440478@ha +/* 802C1A44 002BD6A4 54 00 10 3A */ slwi r0, r0, 2 +/* 802C1A48 002BD6A8 38 63 04 78 */ addi r3, r3, lbl_80440478@l +/* 802C1A4C 002BD6AC 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802C1A50 002BD6B0 7C 69 03 A6 */ mtctr r3 +/* 802C1A54 002BD6B4 4E 80 04 20 */ bctr +/* 802C1A58 002BD6B8 38 BE 01 6C */ addi r5, r30, 0x16c +/* 802C1A5C 002BD6BC 48 00 00 38 */ b lbl_802C1A94 +/* 802C1A60 002BD6C0 38 BE 01 80 */ addi r5, r30, 0x180 +/* 802C1A64 002BD6C4 48 00 00 30 */ b lbl_802C1A94 +/* 802C1A68 002BD6C8 38 BE 01 94 */ addi r5, r30, 0x194 +/* 802C1A6C 002BD6CC 48 00 00 28 */ b lbl_802C1A94 +/* 802C1A70 002BD6D0 38 BE 01 AC */ addi r5, r30, 0x1ac +/* 802C1A74 002BD6D4 48 00 00 20 */ b lbl_802C1A94 +/* 802C1A78 002BD6D8 38 BE 01 C4 */ addi r5, r30, 0x1c4 +/* 802C1A7C 002BD6DC 48 00 00 18 */ b lbl_802C1A94 +/* 802C1A80 002BD6E0 38 BE 01 D8 */ addi r5, r30, 0x1d8 +/* 802C1A84 002BD6E4 48 00 00 10 */ b lbl_802C1A94 +/* 802C1A88 002BD6E8 38 BE 01 F0 */ addi r5, r30, 0x1f0 +/* 802C1A8C 002BD6EC 48 00 00 08 */ b lbl_802C1A94 +lbl_802C1A90: +/* 802C1A90 002BD6F0 38 BE 02 00 */ addi r5, r30, 0x200 +lbl_802C1A94: +/* 802C1A94 002BD6F4 80 DD 00 08 */ lwz r6, 8(r29) +/* 802C1A98 002BD6F8 38 9E 02 10 */ addi r4, r30, 0x210 +/* 802C1A9C 002BD6FC 38 60 05 04 */ li r3, 0x504 +/* 802C1AA0 002BD700 4B FF B4 A1 */ bl func_802BCF40 +lbl_802C1AA4: +/* 802C1AA4 002BD704 A0 1F 00 10 */ lhz r0, 0x10(r31) +/* 802C1AA8 002BD708 28 00 00 09 */ cmplwi r0, 9 +/* 802C1AAC 002BD70C 41 81 01 78 */ bgt lbl_802C1C24 +/* 802C1AB0 002BD710 3C 60 80 44 */ lis r3, lbl_80440450@ha +/* 802C1AB4 002BD714 54 00 10 3A */ slwi r0, r0, 2 +/* 802C1AB8 002BD718 38 63 04 50 */ addi r3, r3, lbl_80440450@l +/* 802C1ABC 002BD71C 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802C1AC0 002BD720 7C 69 03 A6 */ mtctr r3 +/* 802C1AC4 002BD724 4E 80 04 20 */ bctr +/* 802C1AC8 002BD728 38 61 00 18 */ addi r3, r1, 0x18 +/* 802C1ACC 002BD72C 38 80 00 00 */ li r4, 0 +/* 802C1AD0 002BD730 38 A0 00 0A */ li r5, 0xa +/* 802C1AD4 002BD734 4B D4 26 31 */ bl memset +/* 802C1AD8 002BD738 88 1F 00 16 */ lbz r0, 0x16(r31) +/* 802C1ADC 002BD73C 98 01 00 19 */ stb r0, 0x19(r1) +/* 802C1AE0 002BD740 80 1D 00 08 */ lwz r0, 8(r29) +/* 802C1AE4 002BD744 2C 00 00 05 */ cmpwi r0, 5 +/* 802C1AE8 002BD748 40 80 00 14 */ bge lbl_802C1AFC +/* 802C1AEC 002BD74C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1AF0 002BD750 41 82 00 18 */ beq lbl_802C1B08 +/* 802C1AF4 002BD754 40 80 00 1C */ bge lbl_802C1B10 +/* 802C1AF8 002BD758 48 00 00 20 */ b lbl_802C1B18 +lbl_802C1AFC: +/* 802C1AFC 002BD75C 2C 00 00 10 */ cmpwi r0, 0x10 +/* 802C1B00 002BD760 40 80 00 18 */ bge lbl_802C1B18 +/* 802C1B04 002BD764 48 00 00 14 */ b lbl_802C1B18 +lbl_802C1B08: +/* 802C1B08 002BD768 38 00 00 00 */ li r0, 0 +/* 802C1B0C 002BD76C 48 00 00 10 */ b lbl_802C1B1C +lbl_802C1B10: +/* 802C1B10 002BD770 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802C1B14 002BD774 48 00 00 08 */ b lbl_802C1B1C +lbl_802C1B18: +/* 802C1B18 002BD778 38 00 00 05 */ li r0, 5 +lbl_802C1B1C: +/* 802C1B1C 002BD77C 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C1B20 002BD780 98 01 00 18 */ stb r0, 0x18(r1) +/* 802C1B24 002BD784 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C1B28 002BD788 38 81 00 18 */ addi r4, r1, 0x18 +/* 802C1B2C 002BD78C 81 83 02 24 */ lwz r12, 0x224(r3) +/* 802C1B30 002BD790 A0 7F 00 10 */ lhz r3, 0x10(r31) +/* 802C1B34 002BD794 7D 89 03 A6 */ mtctr r12 +/* 802C1B38 002BD798 4E 80 04 21 */ bctrl +/* 802C1B3C 002BD79C 38 00 00 00 */ li r0, 0 +/* 802C1B40 002BD7A0 B0 1F 00 10 */ sth r0, 0x10(r31) +/* 802C1B44 002BD7A4 48 00 00 F8 */ b lbl_802C1C3C +/* 802C1B48 002BD7A8 88 1F 00 16 */ lbz r0, 0x16(r31) +/* 802C1B4C 002BD7AC 98 01 00 09 */ stb r0, 9(r1) +/* 802C1B50 002BD7B0 80 1D 00 08 */ lwz r0, 8(r29) +/* 802C1B54 002BD7B4 2C 00 00 05 */ cmpwi r0, 5 +/* 802C1B58 002BD7B8 40 80 00 14 */ bge lbl_802C1B6C +/* 802C1B5C 002BD7BC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1B60 002BD7C0 41 82 00 18 */ beq lbl_802C1B78 +/* 802C1B64 002BD7C4 40 80 00 1C */ bge lbl_802C1B80 +/* 802C1B68 002BD7C8 48 00 00 20 */ b lbl_802C1B88 +lbl_802C1B6C: +/* 802C1B6C 002BD7CC 2C 00 00 10 */ cmpwi r0, 0x10 +/* 802C1B70 002BD7D0 40 80 00 18 */ bge lbl_802C1B88 +/* 802C1B74 002BD7D4 48 00 00 14 */ b lbl_802C1B88 +lbl_802C1B78: +/* 802C1B78 002BD7D8 38 00 00 00 */ li r0, 0 +/* 802C1B7C 002BD7DC 48 00 00 10 */ b lbl_802C1B8C +lbl_802C1B80: +/* 802C1B80 002BD7E0 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802C1B84 002BD7E4 48 00 00 08 */ b lbl_802C1B8C +lbl_802C1B88: +/* 802C1B88 002BD7E8 38 00 00 05 */ li r0, 5 +lbl_802C1B8C: +/* 802C1B8C 002BD7EC 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C1B90 002BD7F0 98 01 00 08 */ stb r0, 8(r1) +/* 802C1B94 002BD7F4 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C1B98 002BD7F8 38 81 00 08 */ addi r4, r1, 8 +/* 802C1B9C 002BD7FC 81 83 02 24 */ lwz r12, 0x224(r3) +/* 802C1BA0 002BD800 A0 7F 00 10 */ lhz r3, 0x10(r31) +/* 802C1BA4 002BD804 7D 89 03 A6 */ mtctr r12 +/* 802C1BA8 002BD808 4E 80 04 21 */ bctrl +/* 802C1BAC 002BD80C 38 00 00 00 */ li r0, 0 +/* 802C1BB0 002BD810 B0 1F 00 10 */ sth r0, 0x10(r31) +/* 802C1BB4 002BD814 48 00 00 88 */ b lbl_802C1C3C +/* 802C1BB8 002BD818 80 1D 00 08 */ lwz r0, 8(r29) +/* 802C1BBC 002BD81C 38 60 00 00 */ li r3, 0 +/* 802C1BC0 002BD820 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1BC4 002BD824 41 82 00 08 */ beq lbl_802C1BCC +/* 802C1BC8 002BD828 38 60 00 08 */ li r3, 8 +lbl_802C1BCC: +/* 802C1BCC 002BD82C 98 61 00 16 */ stb r3, 0x16(r1) +/* 802C1BD0 002BD830 38 61 00 10 */ addi r3, r1, 0x10 +/* 802C1BD4 002BD834 38 9F 00 08 */ addi r4, r31, 8 +/* 802C1BD8 002BD838 88 1F 00 16 */ lbz r0, 0x16(r31) +/* 802C1BDC 002BD83C 98 01 00 17 */ stb r0, 0x17(r1) +/* 802C1BE0 002BD840 4B FF B9 81 */ bl func_802BD560 +/* 802C1BE4 002BD844 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C1BE8 002BD848 38 81 00 10 */ addi r4, r1, 0x10 +/* 802C1BEC 002BD84C 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C1BF0 002BD850 A0 7F 00 10 */ lhz r3, 0x10(r31) +/* 802C1BF4 002BD854 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C1BF8 002BD858 7D 89 03 A6 */ mtctr r12 +/* 802C1BFC 002BD85C 4E 80 04 21 */ bctrl +/* 802C1C00 002BD860 48 00 17 4D */ bl func_802C334C +/* 802C1C04 002BD864 38 00 00 00 */ li r0, 0 +/* 802C1C08 002BD868 B0 1F 00 10 */ sth r0, 0x10(r31) +/* 802C1C0C 002BD86C 88 01 00 16 */ lbz r0, 0x16(r1) +/* 802C1C10 002BD870 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1C14 002BD874 40 82 00 28 */ bne lbl_802C1C3C +/* 802C1C18 002BD878 38 00 00 01 */ li r0, 1 +/* 802C1C1C 002BD87C 98 1F 00 1A */ stb r0, 0x1a(r31) +/* 802C1C20 002BD880 48 00 00 1C */ b lbl_802C1C3C +lbl_802C1C24: +/* 802C1C24 002BD884 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1C28 002BD888 28 00 00 05 */ cmplwi r0, 5 +/* 802C1C2C 002BD88C 41 80 00 10 */ blt lbl_802C1C3C +/* 802C1C30 002BD890 38 9E 02 3C */ addi r4, r30, 0x23c +/* 802C1C34 002BD894 38 60 05 04 */ li r3, 0x504 +/* 802C1C38 002BD898 4B FF B2 D9 */ bl func_802BCF10 +lbl_802C1C3C: +/* 802C1C3C 002BD89C 88 9F 00 15 */ lbz r4, 0x15(r31) +/* 802C1C40 002BD8A0 38 BF 00 08 */ addi r5, r31, 8 +/* 802C1C44 002BD8A4 38 60 00 17 */ li r3, 0x17 +/* 802C1C48 002BD8A8 4B FF BB D9 */ bl func_802BD820 +/* 802C1C4C 002BD8AC 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802C1C50 002BD8B0 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 802C1C54 002BD8B4 83 C1 00 38 */ lwz r30, 0x38(r1) +/* 802C1C58 002BD8B8 83 A1 00 34 */ lwz r29, 0x34(r1) +/* 802C1C5C 002BD8BC 7C 08 03 A6 */ mtlr r0 +/* 802C1C60 002BD8C0 38 21 00 40 */ addi r1, r1, 0x40 +/* 802C1C64 002BD8C4 4E 80 00 20 */ blr +/* 802C1C68 002BD8C8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C1C6C 002BD8CC 7C 08 02 A6 */ mflr r0 +/* 802C1C70 002BD8D0 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C1C74 002BD8D4 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802C1C78 002BD8D8 7C 7F 1B 78 */ mr r31, r3 +/* 802C1C7C 002BD8DC 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802C1C80 002BD8E0 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802C1C84 002BD8E4 3F A0 80 44 */ lis r29, lbl_804401F8@ha +/* 802C1C88 002BD8E8 3B BD 01 F8 */ addi r29, r29, lbl_804401F8@l +/* 802C1C8C 002BD8EC 80 84 00 0C */ lwz r4, 0xc(r4) +/* 802C1C90 002BD8F0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1C94 002BD8F4 90 81 00 08 */ stw r4, 8(r1) +/* 802C1C98 002BD8F8 28 00 00 05 */ cmplwi r0, 5 +/* 802C1C9C 002BD8FC A0 04 00 04 */ lhz r0, 4(r4) +/* 802C1CA0 002BD900 7F C4 02 14 */ add r30, r4, r0 +/* 802C1CA4 002BD904 41 80 00 70 */ blt lbl_802C1D14 +/* 802C1CA8 002BD908 A0 03 00 10 */ lhz r0, 0x10(r3) +/* 802C1CAC 002BD90C 28 00 00 09 */ cmplwi r0, 9 +/* 802C1CB0 002BD910 41 81 00 54 */ bgt lbl_802C1D04 +/* 802C1CB4 002BD914 3C 60 80 44 */ lis r3, lbl_80440524@ha +/* 802C1CB8 002BD918 54 00 10 3A */ slwi r0, r0, 2 +/* 802C1CBC 002BD91C 38 63 05 24 */ addi r3, r3, lbl_80440524@l +/* 802C1CC0 002BD920 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802C1CC4 002BD924 7C 69 03 A6 */ mtctr r3 +/* 802C1CC8 002BD928 4E 80 04 20 */ bctr +/* 802C1CCC 002BD92C 38 BD 01 6C */ addi r5, r29, 0x16c +/* 802C1CD0 002BD930 48 00 00 38 */ b lbl_802C1D08 +/* 802C1CD4 002BD934 38 BD 01 80 */ addi r5, r29, 0x180 +/* 802C1CD8 002BD938 48 00 00 30 */ b lbl_802C1D08 +/* 802C1CDC 002BD93C 38 BD 01 94 */ addi r5, r29, 0x194 +/* 802C1CE0 002BD940 48 00 00 28 */ b lbl_802C1D08 +/* 802C1CE4 002BD944 38 BD 01 AC */ addi r5, r29, 0x1ac +/* 802C1CE8 002BD948 48 00 00 20 */ b lbl_802C1D08 +/* 802C1CEC 002BD94C 38 BD 01 C4 */ addi r5, r29, 0x1c4 +/* 802C1CF0 002BD950 48 00 00 18 */ b lbl_802C1D08 +/* 802C1CF4 002BD954 38 BD 01 D8 */ addi r5, r29, 0x1d8 +/* 802C1CF8 002BD958 48 00 00 10 */ b lbl_802C1D08 +/* 802C1CFC 002BD95C 38 BD 01 F0 */ addi r5, r29, 0x1f0 +/* 802C1D00 002BD960 48 00 00 08 */ b lbl_802C1D08 +lbl_802C1D04: +/* 802C1D04 002BD964 38 BD 02 00 */ addi r5, r29, 0x200 +lbl_802C1D08: +/* 802C1D08 002BD968 38 9D 02 A8 */ addi r4, r29, 0x2a8 +/* 802C1D0C 002BD96C 38 60 05 04 */ li r3, 0x504 +/* 802C1D10 002BD970 4B FF B2 19 */ bl func_802BCF28 +lbl_802C1D14: +/* 802C1D14 002BD974 38 00 00 00 */ li r0, 0 +/* 802C1D18 002BD978 98 01 00 0C */ stb r0, 0xc(r1) +/* 802C1D1C 002BD97C 88 1F 00 16 */ lbz r0, 0x16(r31) +/* 802C1D20 002BD980 98 01 00 0D */ stb r0, 0xd(r1) +/* 802C1D24 002BD984 A0 9F 00 10 */ lhz r4, 0x10(r31) +/* 802C1D28 002BD988 2C 04 00 07 */ cmpwi r4, 7 +/* 802C1D2C 002BD98C 41 82 00 58 */ beq lbl_802C1D84 +/* 802C1D30 002BD990 40 80 00 1C */ bge lbl_802C1D4C +/* 802C1D34 002BD994 2C 04 00 05 */ cmpwi r4, 5 +/* 802C1D38 002BD998 41 82 00 4C */ beq lbl_802C1D84 +/* 802C1D3C 002BD99C 40 80 00 3C */ bge lbl_802C1D78 +/* 802C1D40 002BD9A0 2C 04 00 04 */ cmpwi r4, 4 +/* 802C1D44 002BD9A4 40 80 00 20 */ bge lbl_802C1D64 +/* 802C1D48 002BD9A8 48 00 00 3C */ b lbl_802C1D84 +lbl_802C1D4C: +/* 802C1D4C 002BD9AC 2C 04 00 09 */ cmpwi r4, 9 +/* 802C1D50 002BD9B0 41 82 00 34 */ beq lbl_802C1D84 +/* 802C1D54 002BD9B4 40 80 00 30 */ bge lbl_802C1D84 +/* 802C1D58 002BD9B8 88 1E 00 08 */ lbz r0, 8(r30) +/* 802C1D5C 002BD9BC 98 01 00 0E */ stb r0, 0xe(r1) +/* 802C1D60 002BD9C0 48 00 00 98 */ b lbl_802C1DF8 +lbl_802C1D64: +/* 802C1D64 002BD9C4 80 81 00 08 */ lwz r4, 8(r1) +/* 802C1D68 002BD9C8 38 61 00 0E */ addi r3, r1, 0xe +/* 802C1D6C 002BD9CC 38 A0 00 08 */ li r5, 8 +/* 802C1D70 002BD9D0 4B D4 22 91 */ bl memcpy +/* 802C1D74 002BD9D4 48 00 00 84 */ b lbl_802C1DF8 +lbl_802C1D78: +/* 802C1D78 002BD9D8 88 1E 00 08 */ lbz r0, 8(r30) +/* 802C1D7C 002BD9DC 98 01 00 0E */ stb r0, 0xe(r1) +/* 802C1D80 002BD9E0 48 00 00 78 */ b lbl_802C1DF8 +lbl_802C1D84: +/* 802C1D84 002BD9E4 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C1D88 002BD9E8 28 00 00 05 */ cmplwi r0, 5 +/* 802C1D8C 002BD9EC 41 80 00 6C */ blt lbl_802C1DF8 +/* 802C1D90 002BD9F0 28 04 00 09 */ cmplwi r4, 9 +/* 802C1D94 002BD9F4 41 81 00 54 */ bgt lbl_802C1DE8 +/* 802C1D98 002BD9F8 3C 60 80 44 */ lis r3, lbl_804404FC@ha +/* 802C1D9C 002BD9FC 54 80 10 3A */ slwi r0, r4, 2 +/* 802C1DA0 002BDA00 38 63 04 FC */ addi r3, r3, lbl_804404FC@l +/* 802C1DA4 002BDA04 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802C1DA8 002BDA08 7C 69 03 A6 */ mtctr r3 +/* 802C1DAC 002BDA0C 4E 80 04 20 */ bctr +/* 802C1DB0 002BDA10 38 BD 01 6C */ addi r5, r29, 0x16c +/* 802C1DB4 002BDA14 48 00 00 38 */ b lbl_802C1DEC +/* 802C1DB8 002BDA18 38 BD 01 80 */ addi r5, r29, 0x180 +/* 802C1DBC 002BDA1C 48 00 00 30 */ b lbl_802C1DEC +/* 802C1DC0 002BDA20 38 BD 01 94 */ addi r5, r29, 0x194 +/* 802C1DC4 002BDA24 48 00 00 28 */ b lbl_802C1DEC +/* 802C1DC8 002BDA28 38 BD 01 AC */ addi r5, r29, 0x1ac +/* 802C1DCC 002BDA2C 48 00 00 20 */ b lbl_802C1DEC +/* 802C1DD0 002BDA30 38 BD 01 C4 */ addi r5, r29, 0x1c4 +/* 802C1DD4 002BDA34 48 00 00 18 */ b lbl_802C1DEC +/* 802C1DD8 002BDA38 38 BD 01 D8 */ addi r5, r29, 0x1d8 +/* 802C1DDC 002BDA3C 48 00 00 10 */ b lbl_802C1DEC +/* 802C1DE0 002BDA40 38 BD 01 F0 */ addi r5, r29, 0x1f0 +/* 802C1DE4 002BDA44 48 00 00 08 */ b lbl_802C1DEC +lbl_802C1DE8: +/* 802C1DE8 002BDA48 38 BD 02 00 */ addi r5, r29, 0x200 +lbl_802C1DEC: +/* 802C1DEC 002BDA4C 38 9D 02 CC */ addi r4, r29, 0x2cc +/* 802C1DF0 002BDA50 38 60 05 04 */ li r3, 0x504 +/* 802C1DF4 002BDA54 4B FF B1 35 */ bl func_802BCF28 +lbl_802C1DF8: +/* 802C1DF8 002BDA58 88 9F 00 15 */ lbz r4, 0x15(r31) +/* 802C1DFC 002BDA5C 38 BF 00 08 */ addi r5, r31, 8 +/* 802C1E00 002BDA60 38 60 00 17 */ li r3, 0x17 +/* 802C1E04 002BDA64 4B FF BA 51 */ bl func_802BD854 +/* 802C1E08 002BDA68 88 9F 00 15 */ lbz r4, 0x15(r31) +/* 802C1E0C 002BDA6C 38 BF 00 08 */ addi r5, r31, 8 +/* 802C1E10 002BDA70 38 60 00 17 */ li r3, 0x17 +/* 802C1E14 002BDA74 4B FF BA 0D */ bl func_802BD820 +/* 802C1E18 002BDA78 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C1E1C 002BDA7C 38 81 00 0C */ addi r4, r1, 0xc +/* 802C1E20 002BDA80 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C1E24 002BDA84 A0 7F 00 10 */ lhz r3, 0x10(r31) +/* 802C1E28 002BDA88 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C1E2C 002BDA8C 7D 89 03 A6 */ mtctr r12 +/* 802C1E30 002BDA90 4E 80 04 21 */ bctrl +/* 802C1E34 002BDA94 38 00 00 00 */ li r0, 0 +/* 802C1E38 002BDA98 38 61 00 08 */ addi r3, r1, 8 +/* 802C1E3C 002BDA9C B0 1F 00 10 */ sth r0, 0x10(r31) +/* 802C1E40 002BDAA0 4B FF BE 6D */ bl func_802BDCAC +/* 802C1E44 002BDAA4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C1E48 002BDAA8 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802C1E4C 002BDAAC 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802C1E50 002BDAB0 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802C1E54 002BDAB4 7C 08 03 A6 */ mtlr r0 +/* 802C1E58 002BDAB8 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C1E5C 002BDABC 4E 80 00 20 */ blr +/* 802C1E60 002BDAC0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C1E64 002BDAC4 7C 08 02 A6 */ mflr r0 +/* 802C1E68 002BDAC8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C1E6C 002BDACC 38 00 00 00 */ li r0, 0 +/* 802C1E70 002BDAD0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C1E74 002BDAD4 7C 7F 1B 78 */ mr r31, r3 +/* 802C1E78 002BDAD8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C1E7C 002BDADC 3B C0 00 03 */ li r30, 3 +/* 802C1E80 002BDAE0 B0 01 00 0C */ sth r0, 0xc(r1) +/* 802C1E84 002BDAE4 88 03 00 17 */ lbz r0, 0x17(r3) +/* 802C1E88 002BDAE8 80 C4 00 08 */ lwz r6, 8(r4) +/* 802C1E8C 002BDAEC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1E90 002BDAF0 41 82 00 08 */ beq lbl_802C1E98 +/* 802C1E94 002BDAF4 3B C0 00 0D */ li r30, 0xd +lbl_802C1E98: +/* 802C1E98 002BDAF8 88 A3 00 16 */ lbz r5, 0x16(r3) +/* 802C1E9C 002BDAFC 54 C0 05 6F */ rlwinm. r0, r6, 0, 0x15, 0x17 +/* 802C1EA0 002BDB00 98 A1 00 0D */ stb r5, 0xd(r1) +/* 802C1EA4 002BDB04 80 04 00 08 */ lwz r0, 8(r4) +/* 802C1EA8 002BDB08 98 01 00 0C */ stb r0, 0xc(r1) +/* 802C1EAC 002BDB0C 40 82 00 20 */ bne lbl_802C1ECC +/* 802C1EB0 002BDB10 28 06 00 0F */ cmplwi r6, 0xf +/* 802C1EB4 002BDB14 41 82 00 18 */ beq lbl_802C1ECC +/* 802C1EB8 002BDB18 28 06 00 0E */ cmplwi r6, 0xe +/* 802C1EBC 002BDB1C 41 82 00 10 */ beq lbl_802C1ECC +/* 802C1EC0 002BDB20 88 03 00 1A */ lbz r0, 0x1a(r3) +/* 802C1EC4 002BDB24 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1EC8 002BDB28 40 82 00 58 */ bne lbl_802C1F20 +lbl_802C1ECC: +/* 802C1ECC 002BDB2C 88 63 00 16 */ lbz r3, 0x16(r3) +/* 802C1ED0 002BDB30 28 06 00 0F */ cmplwi r6, 0xf +/* 802C1ED4 002BDB34 38 00 00 06 */ li r0, 6 +/* 802C1ED8 002BDB38 98 61 00 17 */ stb r3, 0x17(r1) +/* 802C1EDC 002BDB3C 40 82 00 08 */ bne lbl_802C1EE4 +/* 802C1EE0 002BDB40 38 00 00 0C */ li r0, 0xc +lbl_802C1EE4: +/* 802C1EE4 002BDB44 98 01 00 16 */ stb r0, 0x16(r1) +/* 802C1EE8 002BDB48 38 61 00 10 */ addi r3, r1, 0x10 +/* 802C1EEC 002BDB4C 38 9F 00 08 */ addi r4, r31, 8 +/* 802C1EF0 002BDB50 4B FF B6 71 */ bl func_802BD560 +/* 802C1EF4 002BDB54 88 7F 00 16 */ lbz r3, 0x16(r31) +/* 802C1EF8 002BDB58 48 01 16 31 */ bl func_802D3528 +/* 802C1EFC 002BDB5C 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C1F00 002BDB60 38 81 00 10 */ addi r4, r1, 0x10 +/* 802C1F04 002BDB64 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C1F08 002BDB68 38 60 00 02 */ li r3, 2 +/* 802C1F0C 002BDB6C 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C1F10 002BDB70 7D 89 03 A6 */ mtctr r12 +/* 802C1F14 002BDB74 4E 80 04 21 */ bctrl +/* 802C1F18 002BDB78 48 00 14 35 */ bl func_802C334C +/* 802C1F1C 002BDB7C 48 00 01 2C */ b lbl_802C2048 +lbl_802C1F20: +/* 802C1F20 002BDB80 88 63 00 16 */ lbz r3, 0x16(r3) +/* 802C1F24 002BDB84 88 9F 00 15 */ lbz r4, 0x15(r31) +/* 802C1F28 002BDB88 4B FF 76 3D */ bl func_802B9564 +/* 802C1F2C 002BDB8C 88 9F 00 15 */ lbz r4, 0x15(r31) +/* 802C1F30 002BDB90 38 BF 00 08 */ addi r5, r31, 8 +/* 802C1F34 002BDB94 38 60 00 17 */ li r3, 0x17 +/* 802C1F38 002BDB98 4B FF B7 F1 */ bl func_802BD728 +/* 802C1F3C 002BDB9C 3C 80 80 57 */ lis r4, lbl_80568948@ha +/* 802C1F40 002BDBA0 38 00 00 00 */ li r0, 0 +/* 802C1F44 002BDBA4 38 84 89 48 */ addi r4, r4, lbl_80568948@l +/* 802C1F48 002BDBA8 88 64 02 2D */ lbz r3, 0x22d(r4) +/* 802C1F4C 002BDBAC 38 63 FF FF */ addi r3, r3, -1 +/* 802C1F50 002BDBB0 98 64 02 2D */ stb r3, 0x22d(r4) +/* 802C1F54 002BDBB4 98 1F 00 1A */ stb r0, 0x1a(r31) +/* 802C1F58 002BDBB8 88 01 00 0C */ lbz r0, 0xc(r1) +/* 802C1F5C 002BDBBC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1F60 002BDBC0 41 82 00 0C */ beq lbl_802C1F6C +/* 802C1F64 002BDBC4 38 00 00 06 */ li r0, 6 +/* 802C1F68 002BDBC8 98 01 00 0C */ stb r0, 0xc(r1) +lbl_802C1F6C: +/* 802C1F6C 002BDBCC 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C1F70 002BDBD0 7F C3 F3 78 */ mr r3, r30 +/* 802C1F74 002BDBD4 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C1F78 002BDBD8 38 81 00 0C */ addi r4, r1, 0xc +/* 802C1F7C 002BDBDC 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C1F80 002BDBE0 7D 89 03 A6 */ mtctr r12 +/* 802C1F84 002BDBE4 4E 80 04 21 */ bctrl +/* 802C1F88 002BDBE8 88 1F 00 17 */ lbz r0, 0x17(r31) +/* 802C1F8C 002BDBEC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1F90 002BDBF0 41 82 00 14 */ beq lbl_802C1FA4 +/* 802C1F94 002BDBF4 88 7F 00 16 */ lbz r3, 0x16(r31) +/* 802C1F98 002BDBF8 48 01 13 25 */ bl func_802D32BC +/* 802C1F9C 002BDBFC 7F E3 FB 78 */ mr r3, r31 +/* 802C1FA0 002BDC00 48 00 12 1D */ bl func_802C31BC +lbl_802C1FA4: +/* 802C1FA4 002BDC04 48 00 13 A9 */ bl func_802C334C +/* 802C1FA8 002BDC08 38 80 00 00 */ li r4, 0 +/* 802C1FAC 002BDC0C 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C1FB0 002BDC10 98 9F 00 17 */ stb r4, 0x17(r31) +/* 802C1FB4 002BDC14 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C1FB8 002BDC18 B0 9F 00 10 */ sth r4, 0x10(r31) +/* 802C1FBC 002BDC1C 88 03 02 2D */ lbz r0, 0x22d(r3) +/* 802C1FC0 002BDC20 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1FC4 002BDC24 40 82 00 84 */ bne lbl_802C2048 +/* 802C1FC8 002BDC28 88 03 02 2E */ lbz r0, 0x22e(r3) +/* 802C1FCC 002BDC2C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C1FD0 002BDC30 41 82 00 78 */ beq lbl_802C2048 +/* 802C1FD4 002BDC34 98 81 00 08 */ stb r4, 8(r1) +/* 802C1FD8 002BDC38 48 01 10 71 */ bl func_802D3048 +/* 802C1FDC 002BDC3C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C1FE0 002BDC40 41 82 00 0C */ beq lbl_802C1FEC +/* 802C1FE4 002BDC44 38 00 00 06 */ li r0, 6 +/* 802C1FE8 002BDC48 98 01 00 08 */ stb r0, 8(r1) +lbl_802C1FEC: +/* 802C1FEC 002BDC4C 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C1FF0 002BDC50 3B C0 00 00 */ li r30, 0 +/* 802C1FF4 002BDC54 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +lbl_802C1FF8: +/* 802C1FF8 002BDC58 57 C0 2C F4 */ rlwinm r0, r30, 5, 0x13, 0x1a +/* 802C1FFC 002BDC5C 7C 7F 02 14 */ add r3, r31, r0 +/* 802C2000 002BDC60 38 63 00 14 */ addi r3, r3, 0x14 +/* 802C2004 002BDC64 4B FF BC A9 */ bl func_802BDCAC +/* 802C2008 002BDC68 3B DE 00 01 */ addi r30, r30, 1 +/* 802C200C 002BDC6C 28 1E 00 10 */ cmplwi r30, 0x10 +/* 802C2010 002BDC70 41 80 FF E8 */ blt lbl_802C1FF8 +/* 802C2014 002BDC74 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C2018 002BDC78 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +/* 802C201C 002BDC7C 38 7F 02 28 */ addi r3, r31, 0x228 +/* 802C2020 002BDC80 4B FF BC 8D */ bl func_802BDCAC +/* 802C2024 002BDC84 81 9F 02 24 */ lwz r12, 0x224(r31) +/* 802C2028 002BDC88 38 81 00 08 */ addi r4, r1, 8 +/* 802C202C 002BDC8C 38 60 00 01 */ li r3, 1 +/* 802C2030 002BDC90 7D 89 03 A6 */ mtctr r12 +/* 802C2034 002BDC94 4E 80 04 21 */ bctrl +/* 802C2038 002BDC98 7F E3 FB 78 */ mr r3, r31 +/* 802C203C 002BDC9C 38 80 00 00 */ li r4, 0 +/* 802C2040 002BDCA0 38 A0 02 30 */ li r5, 0x230 +/* 802C2044 002BDCA4 4B D4 20 C1 */ bl memset +lbl_802C2048: +/* 802C2048 002BDCA8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C204C 002BDCAC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C2050 002BDCB0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C2054 002BDCB4 7C 08 03 A6 */ mtlr r0 +/* 802C2058 002BDCB8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C205C 002BDCBC 4E 80 00 20 */ blr +/* 802C2060 002BDCC0 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C2064 002BDCC4 7C 64 1B 78 */ mr r4, r3 +/* 802C2068 002BDCC8 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C206C 002BDCCC 38 60 00 0A */ li r3, 0xa +/* 802C2070 002BDCD0 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C2074 002BDCD4 7D 89 03 A6 */ mtctr r12 +/* 802C2078 002BDCD8 4E 80 04 20 */ bctr +/* 802C207C 002BDCDC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C2080 002BDCE0 7C 08 02 A6 */ mflr r0 +/* 802C2084 002BDCE4 38 A0 00 06 */ li r5, 6 +/* 802C2088 002BDCE8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C208C 002BDCEC 38 00 00 FF */ li r0, 0xff +/* 802C2090 002BDCF0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C2094 002BDCF4 7C 9F 23 78 */ mr r31, r4 +/* 802C2098 002BDCF8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C209C 002BDCFC 7C 7E 1B 78 */ mr r30, r3 +/* 802C20A0 002BDD00 98 A1 00 16 */ stb r5, 0x16(r1) +/* 802C20A4 002BDD04 98 01 00 17 */ stb r0, 0x17(r1) +/* 802C20A8 002BDD08 A0 04 00 10 */ lhz r0, 0x10(r4) +/* 802C20AC 002BDD0C 2C 00 00 0C */ cmpwi r0, 0xc +/* 802C20B0 002BDD10 41 82 00 9C */ beq lbl_802C214C +/* 802C20B4 002BDD14 40 80 00 DC */ bge lbl_802C2190 +/* 802C20B8 002BDD18 2C 00 00 0B */ cmpwi r0, 0xb +/* 802C20BC 002BDD1C 40 80 00 08 */ bge lbl_802C20C4 +/* 802C20C0 002BDD20 48 00 00 D0 */ b lbl_802C2190 +lbl_802C20C4: +/* 802C20C4 002BDD24 38 61 00 10 */ addi r3, r1, 0x10 +/* 802C20C8 002BDD28 38 84 00 08 */ addi r4, r4, 8 +/* 802C20CC 002BDD2C 4B FF B4 95 */ bl func_802BD560 +/* 802C20D0 002BDD30 88 7E 00 16 */ lbz r3, 0x16(r30) +/* 802C20D4 002BDD34 28 03 00 FF */ cmplwi r3, 0xff +/* 802C20D8 002BDD38 40 82 00 60 */ bne lbl_802C2138 +/* 802C20DC 002BDD3C A0 9F 00 0E */ lhz r4, 0xe(r31) +/* 802C20E0 002BDD40 38 7F 00 08 */ addi r3, r31, 8 +/* 802C20E4 002BDD44 38 A1 00 08 */ addi r5, r1, 8 +/* 802C20E8 002BDD48 48 01 10 45 */ bl func_802D312C +/* 802C20EC 002BDD4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C20F0 002BDD50 40 82 00 54 */ bne lbl_802C2144 +/* 802C20F4 002BDD54 88 81 00 08 */ lbz r4, 8(r1) +/* 802C20F8 002BDD58 38 00 00 00 */ li r0, 0 +/* 802C20FC 002BDD5C 98 01 00 16 */ stb r0, 0x16(r1) +/* 802C2100 002BDD60 7F C3 F3 78 */ mr r3, r30 +/* 802C2104 002BDD64 38 C0 00 00 */ li r6, 0 +/* 802C2108 002BDD68 98 81 00 17 */ stb r4, 0x17(r1) +/* 802C210C 002BDD6C A0 BF 00 0E */ lhz r5, 0xe(r31) +/* 802C2110 002BDD70 88 FF 00 12 */ lbz r7, 0x12(r31) +/* 802C2114 002BDD74 89 1F 00 13 */ lbz r8, 0x13(r31) +/* 802C2118 002BDD78 48 00 11 25 */ bl func_802C323C +/* 802C211C 002BDD7C 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C2120 002BDD80 88 01 00 08 */ lbz r0, 8(r1) +/* 802C2124 002BDD84 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C2128 002BDD88 88 9E 00 12 */ lbz r4, 0x12(r30) +/* 802C212C 002BDD8C 7C 63 02 14 */ add r3, r3, r0 +/* 802C2130 002BDD90 98 83 02 14 */ stb r4, 0x214(r3) +/* 802C2134 002BDD94 48 00 00 10 */ b lbl_802C2144 +lbl_802C2138: +/* 802C2138 002BDD98 38 00 00 00 */ li r0, 0 +/* 802C213C 002BDD9C 98 61 00 17 */ stb r3, 0x17(r1) +/* 802C2140 002BDDA0 98 01 00 16 */ stb r0, 0x16(r1) +lbl_802C2144: +/* 802C2144 002BDDA4 48 00 12 09 */ bl func_802C334C +/* 802C2148 002BDDA8 48 00 00 64 */ b lbl_802C21AC +lbl_802C214C: +/* 802C214C 002BDDAC A0 04 00 06 */ lhz r0, 6(r4) +/* 802C2150 002BDDB0 38 61 00 10 */ addi r3, r1, 0x10 +/* 802C2154 002BDDB4 38 9E 00 08 */ addi r4, r30, 8 +/* 802C2158 002BDDB8 98 01 00 17 */ stb r0, 0x17(r1) +/* 802C215C 002BDDBC 4B FF B4 05 */ bl func_802BD560 +/* 802C2160 002BDDC0 88 1E 00 1C */ lbz r0, 0x1c(r30) +/* 802C2164 002BDDC4 28 00 00 03 */ cmplwi r0, 3 +/* 802C2168 002BDDC8 41 82 00 44 */ beq lbl_802C21AC +/* 802C216C 002BDDCC 88 61 00 17 */ lbz r3, 0x17(r1) +/* 802C2170 002BDDD0 48 01 11 4D */ bl func_802D32BC +/* 802C2174 002BDDD4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C2178 002BDDD8 40 82 00 34 */ bne lbl_802C21AC +/* 802C217C 002BDDDC 38 00 00 00 */ li r0, 0 +/* 802C2180 002BDDE0 7F C3 F3 78 */ mr r3, r30 +/* 802C2184 002BDDE4 98 01 00 16 */ stb r0, 0x16(r1) +/* 802C2188 002BDDE8 48 00 10 35 */ bl func_802C31BC +/* 802C218C 002BDDEC 48 00 00 20 */ b lbl_802C21AC +lbl_802C2190: +/* 802C2190 002BDDF0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C2194 002BDDF4 28 00 00 05 */ cmplwi r0, 5 +/* 802C2198 002BDDF8 41 80 00 14 */ blt lbl_802C21AC +/* 802C219C 002BDDFC 3C 80 80 44 */ lis r4, lbl_80440550@ha +/* 802C21A0 002BDE00 38 60 05 04 */ li r3, 0x504 +/* 802C21A4 002BDE04 38 84 05 50 */ addi r4, r4, lbl_80440550@l +/* 802C21A8 002BDE08 4B FF AD 69 */ bl func_802BCF10 +lbl_802C21AC: +/* 802C21AC 002BDE0C 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C21B0 002BDE10 38 81 00 10 */ addi r4, r1, 0x10 +/* 802C21B4 002BDE14 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C21B8 002BDE18 A0 7F 00 10 */ lhz r3, 0x10(r31) +/* 802C21BC 002BDE1C 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C21C0 002BDE20 7D 89 03 A6 */ mtctr r12 +/* 802C21C4 002BDE24 4E 80 04 21 */ bctrl +/* 802C21C8 002BDE28 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C21CC 002BDE2C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C21D0 002BDE30 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C21D4 002BDE34 7C 08 03 A6 */ mtlr r0 +/* 802C21D8 002BDE38 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C21DC 002BDE3C 4E 80 00 20 */ blr + +.global func_802C21E0 +func_802C21E0: +/* 802C21E0 002BDE40 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802C21E4 002BDE44 7C 08 02 A6 */ mflr r0 +/* 802C21E8 002BDE48 90 01 00 44 */ stw r0, 0x44(r1) +/* 802C21EC 002BDE4C 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C21F0 002BDE50 4B F0 4F 39 */ bl _savegpr_27 +/* 802C21F4 002BDE54 38 61 00 08 */ addi r3, r1, 8 +/* 802C21F8 002BDE58 3B E0 00 00 */ li r31, 0 +/* 802C21FC 002BDE5C 38 80 00 00 */ li r4, 0 +/* 802C2200 002BDE60 38 A0 00 1E */ li r5, 0x1e +/* 802C2204 002BDE64 4B D4 1F 01 */ bl memset +/* 802C2208 002BDE68 3F C0 80 57 */ lis r30, lbl_8056B838@ha +/* 802C220C 002BDE6C 3F A0 80 57 */ lis r29, lbl_80568948@ha +/* 802C2210 002BDE70 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l +/* 802C2214 002BDE74 3B 60 00 00 */ li r27, 0 +/* 802C2218 002BDE78 3B BD 89 48 */ addi r29, r29, lbl_80568948@l +lbl_802C221C: +/* 802C221C 002BDE7C 57 60 2C F4 */ rlwinm r0, r27, 5, 0x13, 0x1a +/* 802C2220 002BDE80 7C 7D 02 14 */ add r3, r29, r0 +/* 802C2224 002BDE84 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802C2228 002BDE88 2C 00 00 00 */ cmpwi r0, 0 +/* 802C222C 002BDE8C 41 82 00 70 */ beq lbl_802C229C +/* 802C2230 002BDE90 88 03 00 2C */ lbz r0, 0x2c(r3) +/* 802C2234 002BDE94 28 00 00 03 */ cmplwi r0, 3 +/* 802C2238 002BDE98 40 82 00 64 */ bne lbl_802C229C +/* 802C223C 002BDE9C 88 83 00 26 */ lbz r4, 0x26(r3) +/* 802C2240 002BDEA0 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802C2244 002BDEA4 1C A0 00 06 */ mulli r5, r0, 6 +/* 802C2248 002BDEA8 3B 81 00 08 */ addi r28, r1, 8 +/* 802C224C 002BDEAC 38 60 00 00 */ li r3, 0 +/* 802C2250 002BDEB0 7F 9C 2A 14 */ add r28, r28, r5 +/* 802C2254 002BDEB4 1C 04 00 34 */ mulli r0, r4, 0x34 +/* 802C2258 002BDEB8 98 9C 00 06 */ stb r4, 6(r28) +/* 802C225C 002BDEBC 7C 9E 02 14 */ add r4, r30, r0 +/* 802C2260 002BDEC0 A0 84 00 16 */ lhz r4, 0x16(r4) +/* 802C2264 002BDEC4 48 01 8E E1 */ bl func_802DB144 +/* 802C2268 002BDEC8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C226C 002BDECC 41 82 00 2C */ beq lbl_802C2298 +/* 802C2270 002BDED0 80 63 00 10 */ lwz r3, 0x10(r3) +/* 802C2274 002BDED4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C2278 002BDED8 41 82 00 20 */ beq lbl_802C2298 +/* 802C227C 002BDEDC 88 03 00 00 */ lbz r0, 0(r3) +/* 802C2280 002BDEE0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C2284 002BDEE4 41 82 00 14 */ beq lbl_802C2298 +/* 802C2288 002BDEE8 A0 03 00 4C */ lhz r0, 0x4c(r3) +/* 802C228C 002BDEEC B0 1C 00 08 */ sth r0, 8(r28) +/* 802C2290 002BDEF0 A0 03 00 38 */ lhz r0, 0x38(r3) +/* 802C2294 002BDEF4 B0 1C 00 0A */ sth r0, 0xa(r28) +lbl_802C2298: +/* 802C2298 002BDEF8 3B FF 00 01 */ addi r31, r31, 1 +lbl_802C229C: +/* 802C229C 002BDEFC 3B 7B 00 01 */ addi r27, r27, 1 +/* 802C22A0 002BDF00 28 1B 00 10 */ cmplwi r27, 0x10 +/* 802C22A4 002BDF04 41 80 FF 78 */ blt lbl_802C221C +/* 802C22A8 002BDF08 3C 80 80 57 */ lis r4, lbl_8056BC40@ha +/* 802C22AC 002BDF0C 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C22B0 002BDF10 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l +/* 802C22B4 002BDF14 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802C22B8 002BDF18 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C22BC 002BDF1C A0 C4 00 04 */ lhz r6, 4(r4) +/* 802C22C0 002BDF20 A0 A4 00 02 */ lhz r5, 2(r4) +/* 802C22C4 002BDF24 38 81 00 08 */ addi r4, r1, 8 +/* 802C22C8 002BDF28 81 83 02 24 */ lwz r12, 0x224(r3) +/* 802C22CC 002BDF2C 38 60 00 0F */ li r3, 0xf +/* 802C22D0 002BDF30 B0 C1 00 08 */ sth r6, 8(r1) +/* 802C22D4 002BDF34 B0 A1 00 0A */ sth r5, 0xa(r1) +/* 802C22D8 002BDF38 B0 01 00 0C */ sth r0, 0xc(r1) +/* 802C22DC 002BDF3C 7D 89 03 A6 */ mtctr r12 +/* 802C22E0 002BDF40 4E 80 04 21 */ bctrl +/* 802C22E4 002BDF44 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C22E8 002BDF48 4B F0 4E 8D */ bl _restgpr_27 +/* 802C22EC 002BDF4C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802C22F0 002BDF50 7C 08 03 A6 */ mtlr r0 +/* 802C22F4 002BDF54 38 21 00 40 */ addi r1, r1, 0x40 +/* 802C22F8 002BDF58 4E 80 00 20 */ blr +/* 802C22FC 002BDF5C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C2300 002BDF60 7C 08 02 A6 */ mflr r0 +/* 802C2304 002BDF64 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C2308 002BDF68 38 00 00 00 */ li r0, 0 +/* 802C230C 002BDF6C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C2310 002BDF70 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C2314 002BDF74 7C 9E 23 78 */ mr r30, r4 +/* 802C2318 002BDF78 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C231C 002BDF7C 7C 7D 1B 78 */ mr r29, r3 +/* 802C2320 002BDF80 B0 01 00 08 */ sth r0, 8(r1) +/* 802C2324 002BDF84 8B E4 00 08 */ lbz r31, 8(r4) +/* 802C2328 002BDF88 88 03 00 16 */ lbz r0, 0x16(r3) +/* 802C232C 002BDF8C 98 01 00 09 */ stb r0, 9(r1) +/* 802C2330 002BDF90 88 63 00 16 */ lbz r3, 0x16(r3) +/* 802C2334 002BDF94 88 84 00 08 */ lbz r4, 8(r4) +/* 802C2338 002BDF98 88 BE 00 09 */ lbz r5, 9(r30) +/* 802C233C 002BDF9C A0 DE 00 0C */ lhz r6, 0xc(r30) +/* 802C2340 002BDFA0 88 FE 00 0A */ lbz r7, 0xa(r30) +/* 802C2344 002BDFA4 81 1E 00 10 */ lwz r8, 0x10(r30) +/* 802C2348 002BDFA8 48 01 10 A1 */ bl func_802D33E8 +/* 802C234C 002BDFAC 54 65 06 3F */ clrlwi. r5, r3, 0x18 +/* 802C2350 002BDFB0 41 82 00 88 */ beq lbl_802C23D8 +/* 802C2354 002BDFB4 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C2358 002BDFB8 28 00 00 01 */ cmplwi r0, 1 +/* 802C235C 002BDFBC 41 80 00 14 */ blt lbl_802C2370 +/* 802C2360 002BDFC0 3C 80 80 44 */ lis r4, lbl_80440560@ha +/* 802C2364 002BDFC4 38 60 05 00 */ li r3, 0x500 +/* 802C2368 002BDFC8 38 84 05 60 */ addi r4, r4, lbl_80440560@l +/* 802C236C 002BDFCC 4B FF AB BD */ bl func_802BCF28 +lbl_802C2370: +/* 802C2370 002BDFD0 38 00 00 06 */ li r0, 6 +/* 802C2374 002BDFD4 98 01 00 08 */ stb r0, 8(r1) +/* 802C2378 002BDFD8 88 1E 00 08 */ lbz r0, 8(r30) +/* 802C237C 002BDFDC 28 00 00 01 */ cmplwi r0, 1 +/* 802C2380 002BDFE0 41 82 00 2C */ beq lbl_802C23AC +/* 802C2384 002BDFE4 28 00 00 0A */ cmplwi r0, 0xa +/* 802C2388 002BDFE8 41 82 00 24 */ beq lbl_802C23AC +/* 802C238C 002BDFEC 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C2390 002BDFF0 7F E3 FB 78 */ mr r3, r31 +/* 802C2394 002BDFF4 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C2398 002BDFF8 38 81 00 08 */ addi r4, r1, 8 +/* 802C239C 002BDFFC 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C23A0 002BE000 7D 89 03 A6 */ mtctr r12 +/* 802C23A4 002BE004 4E 80 04 21 */ bctrl +/* 802C23A8 002BE008 48 00 01 00 */ b lbl_802C24A8 +lbl_802C23AC: +/* 802C23AC 002BE00C 88 1E 00 09 */ lbz r0, 9(r30) +/* 802C23B0 002BE010 28 00 00 05 */ cmplwi r0, 5 +/* 802C23B4 002BE014 40 82 00 F4 */ bne lbl_802C24A8 +/* 802C23B8 002BE018 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C23BC 002BE01C 38 81 00 08 */ addi r4, r1, 8 +/* 802C23C0 002BE020 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C23C4 002BE024 38 60 00 0D */ li r3, 0xd +/* 802C23C8 002BE028 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C23CC 002BE02C 7D 89 03 A6 */ mtctr r12 +/* 802C23D0 002BE030 4E 80 04 21 */ bctrl +/* 802C23D4 002BE034 48 00 00 D4 */ b lbl_802C24A8 +lbl_802C23D8: +/* 802C23D8 002BE038 88 BE 00 08 */ lbz r5, 8(r30) +/* 802C23DC 002BE03C 2C 05 00 0A */ cmpwi r5, 0xa +/* 802C23E0 002BE040 41 82 00 2C */ beq lbl_802C240C +/* 802C23E4 002BE044 40 80 00 40 */ bge lbl_802C2424 +/* 802C23E8 002BE048 2C 05 00 01 */ cmpwi r5, 1 +/* 802C23EC 002BE04C 41 82 00 20 */ beq lbl_802C240C +/* 802C23F0 002BE050 41 80 00 34 */ blt lbl_802C2424 +/* 802C23F4 002BE054 2C 05 00 04 */ cmpwi r5, 4 +/* 802C23F8 002BE058 40 80 00 0C */ bge lbl_802C2404 +/* 802C23FC 002BE05C 48 00 00 28 */ b lbl_802C2424 +/* 802C2400 002BE060 48 00 00 24 */ b lbl_802C2424 +lbl_802C2404: +/* 802C2404 002BE064 B3 FD 00 10 */ sth r31, 0x10(r29) +/* 802C2408 002BE068 48 00 00 38 */ b lbl_802C2440 +lbl_802C240C: +/* 802C240C 002BE06C 88 1E 00 09 */ lbz r0, 9(r30) +/* 802C2410 002BE070 28 00 00 05 */ cmplwi r0, 5 +/* 802C2414 002BE074 40 82 00 2C */ bne lbl_802C2440 +/* 802C2418 002BE078 38 00 00 01 */ li r0, 1 +/* 802C241C 002BE07C 98 1D 00 17 */ stb r0, 0x17(r29) +/* 802C2420 002BE080 48 00 00 20 */ b lbl_802C2440 +lbl_802C2424: +/* 802C2424 002BE084 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C2428 002BE088 28 00 00 05 */ cmplwi r0, 5 +/* 802C242C 002BE08C 41 80 00 14 */ blt lbl_802C2440 +/* 802C2430 002BE090 3C 80 80 44 */ lis r4, lbl_8044057C@ha +/* 802C2434 002BE094 38 60 05 04 */ li r3, 0x504 +/* 802C2438 002BE098 38 84 05 7C */ addi r4, r4, lbl_8044057C@l +/* 802C243C 002BE09C 4B FF AA ED */ bl func_802BCF28 +lbl_802C2440: +/* 802C2440 002BE0A0 88 1E 00 08 */ lbz r0, 8(r30) +/* 802C2444 002BE0A4 28 00 00 01 */ cmplwi r0, 1 +/* 802C2448 002BE0A8 41 82 00 28 */ beq lbl_802C2470 +/* 802C244C 002BE0AC 88 9D 00 15 */ lbz r4, 0x15(r29) +/* 802C2450 002BE0B0 38 BD 00 08 */ addi r5, r29, 8 +/* 802C2454 002BE0B4 38 60 00 17 */ li r3, 0x17 +/* 802C2458 002BE0B8 4B FF B3 FD */ bl func_802BD854 +/* 802C245C 002BE0BC 88 9D 00 15 */ lbz r4, 0x15(r29) +/* 802C2460 002BE0C0 38 BD 00 08 */ addi r5, r29, 8 +/* 802C2464 002BE0C4 38 60 00 17 */ li r3, 0x17 +/* 802C2468 002BE0C8 4B FF B3 B9 */ bl func_802BD820 +/* 802C246C 002BE0CC 48 00 00 3C */ b lbl_802C24A8 +lbl_802C2470: +/* 802C2470 002BE0D0 88 1E 00 09 */ lbz r0, 9(r30) +/* 802C2474 002BE0D4 28 00 00 03 */ cmplwi r0, 3 +/* 802C2478 002BE0D8 40 82 00 18 */ bne lbl_802C2490 +/* 802C247C 002BE0DC 88 9D 00 15 */ lbz r4, 0x15(r29) +/* 802C2480 002BE0E0 38 BD 00 08 */ addi r5, r29, 8 +/* 802C2484 002BE0E4 38 60 00 17 */ li r3, 0x17 +/* 802C2488 002BE0E8 4B FF B3 65 */ bl func_802BD7EC +/* 802C248C 002BE0EC 48 00 00 1C */ b lbl_802C24A8 +lbl_802C2490: +/* 802C2490 002BE0F0 28 00 00 04 */ cmplwi r0, 4 +/* 802C2494 002BE0F4 40 82 00 14 */ bne lbl_802C24A8 +/* 802C2498 002BE0F8 88 9D 00 15 */ lbz r4, 0x15(r29) +/* 802C249C 002BE0FC 38 BD 00 08 */ addi r5, r29, 8 +/* 802C24A0 002BE100 38 60 00 17 */ li r3, 0x17 +/* 802C24A4 002BE104 4B FF B3 B1 */ bl func_802BD854 +lbl_802C24A8: +/* 802C24A8 002BE108 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C24AC 002BE10C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C24B0 002BE110 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C24B4 002BE114 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C24B8 002BE118 7C 08 03 A6 */ mtlr r0 +/* 802C24BC 002BE11C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C24C0 002BE120 4E 80 00 20 */ blr +lbl_802C24C4: +/* 802C24C4 002BE124 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C24C8 002BE128 7C 08 02 A6 */ mflr r0 +/* 802C24CC 002BE12C 3C E0 80 44 */ lis r7, lbl_804401F8@ha +/* 802C24D0 002BE130 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C24D4 002BE134 38 E7 01 F8 */ addi r7, r7, lbl_804401F8@l +/* 802C24D8 002BE138 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C24DC 002BE13C 3B E0 17 10 */ li r31, 0x1710 +/* 802C24E0 002BE140 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C24E4 002BE144 7C BE 2B 78 */ mr r30, r5 +/* 802C24E8 002BE148 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C24EC 002BE14C 7C 9D 23 78 */ mr r29, r4 +/* 802C24F0 002BE150 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C24F4 002BE154 7C 7C 1B 78 */ mr r28, r3 +/* 802C24F8 002BE158 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C24FC 002BE15C 90 C1 00 08 */ stw r6, 8(r1) +/* 802C2500 002BE160 28 00 00 05 */ cmplwi r0, 5 +/* 802C2504 002BE164 41 80 00 7C */ blt lbl_802C2580 +/* 802C2508 002BE168 28 04 00 08 */ cmplwi r4, 8 +/* 802C250C 002BE16C 41 81 00 64 */ bgt lbl_802C2570 +/* 802C2510 002BE170 3C 60 80 44 */ lis r3, lbl_804406CC@ha +/* 802C2514 002BE174 54 80 10 3A */ slwi r0, r4, 2 +/* 802C2518 002BE178 38 63 06 CC */ addi r3, r3, lbl_804406CC@l +/* 802C251C 002BE17C 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802C2520 002BE180 7C 69 03 A6 */ mtctr r3 +/* 802C2524 002BE184 4E 80 04 20 */ bctr +/* 802C2528 002BE188 38 A7 03 AC */ addi r5, r7, 0x3ac +/* 802C252C 002BE18C 48 00 00 48 */ b lbl_802C2574 +/* 802C2530 002BE190 38 A7 03 C0 */ addi r5, r7, 0x3c0 +/* 802C2534 002BE194 48 00 00 40 */ b lbl_802C2574 +/* 802C2538 002BE198 38 A7 03 D4 */ addi r5, r7, 0x3d4 +/* 802C253C 002BE19C 48 00 00 38 */ b lbl_802C2574 +/* 802C2540 002BE1A0 38 A7 03 EC */ addi r5, r7, 0x3ec +/* 802C2544 002BE1A4 48 00 00 30 */ b lbl_802C2574 +/* 802C2548 002BE1A8 38 A7 04 04 */ addi r5, r7, 0x404 +/* 802C254C 002BE1AC 48 00 00 28 */ b lbl_802C2574 +/* 802C2550 002BE1B0 38 A7 04 1C */ addi r5, r7, 0x41c +/* 802C2554 002BE1B4 48 00 00 20 */ b lbl_802C2574 +/* 802C2558 002BE1B8 38 A7 04 34 */ addi r5, r7, 0x434 +/* 802C255C 002BE1BC 48 00 00 18 */ b lbl_802C2574 +/* 802C2560 002BE1C0 38 A7 04 4C */ addi r5, r7, 0x44c +/* 802C2564 002BE1C4 48 00 00 10 */ b lbl_802C2574 +/* 802C2568 002BE1C8 38 A7 04 64 */ addi r5, r7, 0x464 +/* 802C256C 002BE1CC 48 00 00 08 */ b lbl_802C2574 +lbl_802C2570: +/* 802C2570 002BE1D0 38 A7 04 7C */ addi r5, r7, 0x47c +lbl_802C2574: +/* 802C2574 002BE1D4 38 87 04 90 */ addi r4, r7, 0x490 +/* 802C2578 002BE1D8 38 60 05 04 */ li r3, 0x504 +/* 802C257C 002BE1DC 4B FF A9 AD */ bl func_802BCF28 +lbl_802C2580: +/* 802C2580 002BE1E0 28 1D 00 08 */ cmplwi r29, 8 +/* 802C2584 002BE1E4 41 81 01 88 */ bgt lbl_802C270C +/* 802C2588 002BE1E8 3C 60 80 44 */ lis r3, lbl_804406A8@ha +/* 802C258C 002BE1EC 57 A0 10 3A */ slwi r0, r29, 2 +/* 802C2590 002BE1F0 38 63 06 A8 */ addi r3, r3, lbl_804406A8@l +/* 802C2594 002BE1F4 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802C2598 002BE1F8 7C 69 03 A6 */ mtctr r3 +/* 802C259C 002BE1FC 4E 80 04 20 */ bctr +/* 802C25A0 002BE200 3B E0 17 02 */ li r31, 0x1702 +/* 802C25A4 002BE204 48 00 01 68 */ b lbl_802C270C +/* 802C25A8 002BE208 3B E0 17 03 */ li r31, 0x1703 +/* 802C25AC 002BE20C 48 00 01 60 */ b lbl_802C270C +/* 802C25B0 002BE210 3B E0 17 04 */ li r31, 0x1704 +/* 802C25B4 002BE214 48 00 01 58 */ b lbl_802C270C +/* 802C25B8 002BE218 3B E0 17 06 */ li r31, 0x1706 +/* 802C25BC 002BE21C 48 00 01 50 */ b lbl_802C270C +/* 802C25C0 002BE220 3B E0 17 05 */ li r31, 0x1705 +/* 802C25C4 002BE224 48 00 01 48 */ b lbl_802C270C +/* 802C25C8 002BE228 38 61 00 08 */ addi r3, r1, 8 +/* 802C25CC 002BE22C 4B FF B6 E1 */ bl func_802BDCAC +/* 802C25D0 002BE230 48 00 01 3C */ b lbl_802C270C +/* 802C25D4 002BE234 3C 80 80 57 */ lis r4, lbl_80568948@ha +/* 802C25D8 002BE238 38 00 00 02 */ li r0, 2 +/* 802C25DC 002BE23C 38 84 89 48 */ addi r4, r4, lbl_80568948@l +/* 802C25E0 002BE240 38 A0 00 00 */ li r5, 0 +/* 802C25E4 002BE244 7C 09 03 A6 */ mtctr r0 +lbl_802C25E8: +/* 802C25E8 002BE248 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C25EC 002BE24C 7C 64 02 14 */ add r3, r4, r0 +/* 802C25F0 002BE250 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C25F4 002BE254 7C 1C 00 40 */ cmplw r28, r0 +/* 802C25F8 002BE258 40 82 00 10 */ bne lbl_802C2608 +/* 802C25FC 002BE25C 38 00 00 01 */ li r0, 1 +/* 802C2600 002BE260 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C2604 002BE264 48 00 01 08 */ b lbl_802C270C +lbl_802C2608: +/* 802C2608 002BE268 38 A5 00 01 */ addi r5, r5, 1 +/* 802C260C 002BE26C 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C2610 002BE270 7C 64 02 14 */ add r3, r4, r0 +/* 802C2614 002BE274 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C2618 002BE278 7C 1C 00 40 */ cmplw r28, r0 +/* 802C261C 002BE27C 40 82 00 10 */ bne lbl_802C262C +/* 802C2620 002BE280 38 00 00 01 */ li r0, 1 +/* 802C2624 002BE284 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C2628 002BE288 48 00 00 E4 */ b lbl_802C270C +lbl_802C262C: +/* 802C262C 002BE28C 38 A5 00 01 */ addi r5, r5, 1 +/* 802C2630 002BE290 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C2634 002BE294 7C 64 02 14 */ add r3, r4, r0 +/* 802C2638 002BE298 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C263C 002BE29C 7C 1C 00 40 */ cmplw r28, r0 +/* 802C2640 002BE2A0 40 82 00 10 */ bne lbl_802C2650 +/* 802C2644 002BE2A4 38 00 00 01 */ li r0, 1 +/* 802C2648 002BE2A8 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C264C 002BE2AC 48 00 00 C0 */ b lbl_802C270C +lbl_802C2650: +/* 802C2650 002BE2B0 38 A5 00 01 */ addi r5, r5, 1 +/* 802C2654 002BE2B4 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C2658 002BE2B8 7C 64 02 14 */ add r3, r4, r0 +/* 802C265C 002BE2BC 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C2660 002BE2C0 7C 1C 00 40 */ cmplw r28, r0 +/* 802C2664 002BE2C4 40 82 00 10 */ bne lbl_802C2674 +/* 802C2668 002BE2C8 38 00 00 01 */ li r0, 1 +/* 802C266C 002BE2CC 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C2670 002BE2D0 48 00 00 9C */ b lbl_802C270C +lbl_802C2674: +/* 802C2674 002BE2D4 38 A5 00 01 */ addi r5, r5, 1 +/* 802C2678 002BE2D8 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C267C 002BE2DC 7C 64 02 14 */ add r3, r4, r0 +/* 802C2680 002BE2E0 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C2684 002BE2E4 7C 1C 00 40 */ cmplw r28, r0 +/* 802C2688 002BE2E8 40 82 00 10 */ bne lbl_802C2698 +/* 802C268C 002BE2EC 38 00 00 01 */ li r0, 1 +/* 802C2690 002BE2F0 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C2694 002BE2F4 48 00 00 78 */ b lbl_802C270C +lbl_802C2698: +/* 802C2698 002BE2F8 38 A5 00 01 */ addi r5, r5, 1 +/* 802C269C 002BE2FC 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C26A0 002BE300 7C 64 02 14 */ add r3, r4, r0 +/* 802C26A4 002BE304 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C26A8 002BE308 7C 1C 00 40 */ cmplw r28, r0 +/* 802C26AC 002BE30C 40 82 00 10 */ bne lbl_802C26BC +/* 802C26B0 002BE310 38 00 00 01 */ li r0, 1 +/* 802C26B4 002BE314 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C26B8 002BE318 48 00 00 54 */ b lbl_802C270C +lbl_802C26BC: +/* 802C26BC 002BE31C 38 A5 00 01 */ addi r5, r5, 1 +/* 802C26C0 002BE320 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C26C4 002BE324 7C 64 02 14 */ add r3, r4, r0 +/* 802C26C8 002BE328 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C26CC 002BE32C 7C 1C 00 40 */ cmplw r28, r0 +/* 802C26D0 002BE330 40 82 00 10 */ bne lbl_802C26E0 +/* 802C26D4 002BE334 38 00 00 01 */ li r0, 1 +/* 802C26D8 002BE338 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C26DC 002BE33C 48 00 00 30 */ b lbl_802C270C +lbl_802C26E0: +/* 802C26E0 002BE340 38 A5 00 01 */ addi r5, r5, 1 +/* 802C26E4 002BE344 54 A0 2C F4 */ rlwinm r0, r5, 5, 0x13, 0x1a +/* 802C26E8 002BE348 7C 64 02 14 */ add r3, r4, r0 +/* 802C26EC 002BE34C 88 03 00 26 */ lbz r0, 0x26(r3) +/* 802C26F0 002BE350 7C 1C 00 40 */ cmplw r28, r0 +/* 802C26F4 002BE354 40 82 00 10 */ bne lbl_802C2704 +/* 802C26F8 002BE358 38 00 00 01 */ li r0, 1 +/* 802C26FC 002BE35C 98 03 00 27 */ stb r0, 0x27(r3) +/* 802C2700 002BE360 48 00 00 0C */ b lbl_802C270C +lbl_802C2704: +/* 802C2704 002BE364 38 A5 00 01 */ addi r5, r5, 1 +/* 802C2708 002BE368 42 00 FE E0 */ bdnz lbl_802C25E8 +lbl_802C270C: +/* 802C270C 002BE36C 28 1F 17 10 */ cmplwi r31, 0x1710 +/* 802C2710 002BE370 41 82 00 2C */ beq lbl_802C273C +/* 802C2714 002BE374 38 60 00 18 */ li r3, 0x18 +/* 802C2718 002BE378 4B FF 73 95 */ bl func_802B9AAC +/* 802C271C 002BE37C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C2720 002BE380 41 82 00 1C */ beq lbl_802C273C +/* 802C2724 002BE384 B3 E3 00 00 */ sth r31, 0(r3) +/* 802C2728 002BE388 B3 83 00 06 */ sth r28, 6(r3) +/* 802C272C 002BE38C 93 C3 00 08 */ stw r30, 8(r3) +/* 802C2730 002BE390 80 01 00 08 */ lwz r0, 8(r1) +/* 802C2734 002BE394 90 03 00 0C */ stw r0, 0xc(r3) +/* 802C2738 002BE398 4B FF B2 D5 */ bl func_802BDA0C +lbl_802C273C: +/* 802C273C 002BE39C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C2740 002BE3A0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C2744 002BE3A4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C2748 002BE3A8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C274C 002BE3AC 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C2750 002BE3B0 7C 08 03 A6 */ mtlr r0 +/* 802C2754 002BE3B4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C2758 002BE3B8 4E 80 00 20 */ blr + +.global func_802C275C +func_802C275C: +/* 802C275C 002BE3BC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C2760 002BE3C0 7C 08 02 A6 */ mflr r0 +/* 802C2764 002BE3C4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C2768 002BE3C8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C276C 002BE3CC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C2770 002BE3D0 7C 9E 23 78 */ mr r30, r4 +/* 802C2774 002BE3D4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C2778 002BE3D8 7C 7D 1B 78 */ mr r29, r3 +/* 802C277C 002BE3DC 4B FF 89 29 */ bl func_802BB0A4 +/* 802C2780 002BE3E0 38 60 00 17 */ li r3, 0x17 +/* 802C2784 002BE3E4 38 82 A4 68 */ addi r4, r2, lbl_80642A68-_SDA2_BASE_ +/* 802C2788 002BE3E8 4B FF B2 71 */ bl func_802BD9F8 +/* 802C278C 002BE3EC 4B FF 89 1D */ bl func_802BB0A8 +/* 802C2790 002BE3F0 38 60 00 34 */ li r3, 0x34 +/* 802C2794 002BE3F4 4B FF 73 19 */ bl func_802B9AAC +/* 802C2798 002BE3F8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C279C 002BE3FC 7C 7F 1B 78 */ mr r31, r3 +/* 802C27A0 002BE400 41 82 00 28 */ beq lbl_802C27C8 +/* 802C27A4 002BE404 38 80 00 00 */ li r4, 0 +/* 802C27A8 002BE408 38 A0 00 34 */ li r5, 0x34 +/* 802C27AC 002BE40C 4B D4 19 59 */ bl memset +/* 802C27B0 002BE410 38 00 17 0C */ li r0, 0x170c +/* 802C27B4 002BE414 7F E3 FB 78 */ mr r3, r31 +/* 802C27B8 002BE418 B0 1F 00 00 */ sth r0, 0(r31) +/* 802C27BC 002BE41C 93 DF 00 30 */ stw r30, 0x30(r31) +/* 802C27C0 002BE420 9B BF 00 08 */ stb r29, 8(r31) +/* 802C27C4 002BE424 4B FF B2 49 */ bl func_802BDA0C +lbl_802C27C8: +/* 802C27C8 002BE428 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C27CC 002BE42C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C27D0 002BE430 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C27D4 002BE434 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C27D8 002BE438 7C 08 03 A6 */ mtlr r0 +/* 802C27DC 002BE43C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C27E0 002BE440 4E 80 00 20 */ blr +/* 802C27E4 002BE444 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C27E8 002BE448 7C 08 02 A6 */ mflr r0 +/* 802C27EC 002BE44C 38 60 00 08 */ li r3, 8 +/* 802C27F0 002BE450 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C27F4 002BE454 4B FF 72 B9 */ bl func_802B9AAC +/* 802C27F8 002BE458 2C 03 00 00 */ cmpwi r3, 0 +/* 802C27FC 002BE45C 41 82 00 10 */ beq lbl_802C280C +/* 802C2800 002BE460 38 00 17 0D */ li r0, 0x170d +/* 802C2804 002BE464 B0 03 00 00 */ sth r0, 0(r3) +/* 802C2808 002BE468 4B FF B2 05 */ bl func_802BDA0C +lbl_802C280C: +/* 802C280C 002BE46C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C2810 002BE470 7C 08 03 A6 */ mtlr r0 +/* 802C2814 002BE474 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C2818 002BE478 4E 80 00 20 */ blr + +.global lbl_802C281C +lbl_802C281C: +/* 802C281C 002BE47C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C2820 002BE480 7C 08 02 A6 */ mflr r0 +/* 802C2824 002BE484 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C2828 002BE488 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C282C 002BE48C 93 C1 00 08 */ stw r30, 8(r1) +/* 802C2830 002BE490 7C 7E 1B 78 */ mr r30, r3 +/* 802C2834 002BE494 38 60 00 08 */ li r3, 8 +/* 802C2838 002BE498 4B FF 72 75 */ bl func_802B9AAC +/* 802C283C 002BE49C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C2840 002BE4A0 7C 7F 1B 78 */ mr r31, r3 +/* 802C2844 002BE4A4 41 82 00 24 */ beq lbl_802C2868 +/* 802C2848 002BE4A8 38 80 00 00 */ li r4, 0 +/* 802C284C 002BE4AC 38 A0 00 08 */ li r5, 8 +/* 802C2850 002BE4B0 4B D4 18 B5 */ bl memset +/* 802C2854 002BE4B4 38 00 17 01 */ li r0, 0x1701 +/* 802C2858 002BE4B8 7F E3 FB 78 */ mr r3, r31 +/* 802C285C 002BE4BC B0 1F 00 00 */ sth r0, 0(r31) +/* 802C2860 002BE4C0 B3 DF 00 06 */ sth r30, 6(r31) +/* 802C2864 002BE4C4 4B FF B1 A9 */ bl func_802BDA0C +lbl_802C2868: +/* 802C2868 002BE4C8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C286C 002BE4CC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C2870 002BE4D0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C2874 002BE4D4 7C 08 03 A6 */ mtlr r0 +/* 802C2878 002BE4D8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C287C 002BE4DC 4E 80 00 20 */ blr + +.global func_802C2880 +func_802C2880: +/* 802C2880 002BE4E0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C2884 002BE4E4 7C 08 02 A6 */ mflr r0 +/* 802C2888 002BE4E8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C288C 002BE4EC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C2890 002BE4F0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C2894 002BE4F4 7C BE 2B 78 */ mr r30, r5 +/* 802C2898 002BE4F8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C289C 002BE4FC 7C 9D 23 78 */ mr r29, r4 +/* 802C28A0 002BE500 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C28A4 002BE504 7C 7C 1B 78 */ mr r28, r3 +/* 802C28A8 002BE508 38 60 00 10 */ li r3, 0x10 +/* 802C28AC 002BE50C 4B FF 72 01 */ bl func_802B9AAC +/* 802C28B0 002BE510 2C 03 00 00 */ cmpwi r3, 0 +/* 802C28B4 002BE514 7C 7F 1B 78 */ mr r31, r3 +/* 802C28B8 002BE518 41 82 00 40 */ beq lbl_802C28F8 +/* 802C28BC 002BE51C 38 80 00 00 */ li r4, 0 +/* 802C28C0 002BE520 38 A0 00 10 */ li r5, 0x10 +/* 802C28C4 002BE524 4B D4 18 41 */ bl memset +/* 802C28C8 002BE528 38 60 17 00 */ li r3, 0x1700 +/* 802C28CC 002BE52C 38 00 00 FF */ li r0, 0xff +/* 802C28D0 002BE530 B0 7F 00 00 */ sth r3, 0(r31) +/* 802C28D4 002BE534 7F 84 E3 78 */ mr r4, r28 +/* 802C28D8 002BE538 38 7F 00 08 */ addi r3, r31, 8 +/* 802C28DC 002BE53C B0 1F 00 06 */ sth r0, 6(r31) +/* 802C28E0 002BE540 9B DF 00 0E */ stb r30, 0xe(r31) +/* 802C28E4 002BE544 9B BF 00 0F */ stb r29, 0xf(r31) +/* 802C28E8 002BE548 4B FF AC 79 */ bl func_802BD560 +/* 802C28EC 002BE54C 7F E3 FB 78 */ mr r3, r31 +/* 802C28F0 002BE550 4B FF B1 1D */ bl func_802BDA0C +/* 802C28F4 002BE554 48 00 00 20 */ b lbl_802C2914 +lbl_802C28F8: +/* 802C28F8 002BE558 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C28FC 002BE55C 28 00 00 01 */ cmplwi r0, 1 +/* 802C2900 002BE560 41 80 00 14 */ blt lbl_802C2914 +/* 802C2904 002BE564 3C 80 80 44 */ lis r4, lbl_804406F0@ha +/* 802C2908 002BE568 38 60 05 00 */ li r3, 0x500 +/* 802C290C 002BE56C 38 84 06 F0 */ addi r4, r4, lbl_804406F0@l +/* 802C2910 002BE570 4B FF A6 01 */ bl func_802BCF10 +lbl_802C2914: +/* 802C2914 002BE574 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C2918 002BE578 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C291C 002BE57C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C2920 002BE580 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C2924 002BE584 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C2928 002BE588 7C 08 03 A6 */ mtlr r0 +/* 802C292C 002BE58C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C2930 002BE590 4E 80 00 20 */ blr + +.global func_802C2934 +func_802C2934: +/* 802C2934 002BE594 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C2938 002BE598 7C 08 02 A6 */ mflr r0 +/* 802C293C 002BE59C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C2940 002BE5A0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C2944 002BE5A4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C2948 002BE5A8 7C 9E 23 78 */ mr r30, r4 +/* 802C294C 002BE5AC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C2950 002BE5B0 7C 7D 1B 78 */ mr r29, r3 +/* 802C2954 002BE5B4 38 60 00 14 */ li r3, 0x14 +/* 802C2958 002BE5B8 4B FF 71 55 */ bl func_802B9AAC +/* 802C295C 002BE5BC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C2960 002BE5C0 7C 7F 1B 78 */ mr r31, r3 +/* 802C2964 002BE5C4 41 82 00 44 */ beq lbl_802C29A8 +/* 802C2968 002BE5C8 38 80 00 00 */ li r4, 0 +/* 802C296C 002BE5CC 38 A0 00 14 */ li r5, 0x14 +/* 802C2970 002BE5D0 4B D4 17 95 */ bl memset +/* 802C2974 002BE5D4 38 00 17 08 */ li r0, 0x1708 +/* 802C2978 002BE5D8 38 A0 00 0A */ li r5, 0xa +/* 802C297C 002BE5DC B0 1F 00 00 */ sth r0, 0(r31) +/* 802C2980 002BE5E0 38 80 00 00 */ li r4, 0 +/* 802C2984 002BE5E4 38 00 00 02 */ li r0, 2 +/* 802C2988 002BE5E8 7F E3 FB 78 */ mr r3, r31 +/* 802C298C 002BE5EC B3 BF 00 06 */ sth r29, 6(r31) +/* 802C2990 002BE5F0 98 BF 00 08 */ stb r5, 8(r31) +/* 802C2994 002BE5F4 B0 9F 00 0C */ sth r4, 0xc(r31) +/* 802C2998 002BE5F8 98 1F 00 09 */ stb r0, 9(r31) +/* 802C299C 002BE5FC 93 DF 00 10 */ stw r30, 0x10(r31) +/* 802C29A0 002BE600 98 9F 00 0A */ stb r4, 0xa(r31) +/* 802C29A4 002BE604 4B FF B0 69 */ bl func_802BDA0C +lbl_802C29A8: +/* 802C29A8 002BE608 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C29AC 002BE60C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C29B0 002BE610 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C29B4 002BE614 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C29B8 002BE618 7C 08 03 A6 */ mtlr r0 +/* 802C29BC 002BE61C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C29C0 002BE620 4E 80 00 20 */ blr + +.global func_802C29C4 +func_802C29C4: +/* 802C29C4 002BE624 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C29C8 002BE628 7C 08 02 A6 */ mflr r0 +/* 802C29CC 002BE62C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C29D0 002BE630 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C29D4 002BE634 4B F0 47 51 */ bl _savegpr_26 +/* 802C29D8 002BE638 7C 7A 1B 78 */ mr r26, r3 +/* 802C29DC 002BE63C 7C 9B 23 78 */ mr r27, r4 +/* 802C29E0 002BE640 7C BC 2B 78 */ mr r28, r5 +/* 802C29E4 002BE644 7C DD 33 78 */ mr r29, r6 +/* 802C29E8 002BE648 7C FE 3B 78 */ mr r30, r7 +/* 802C29EC 002BE64C 38 60 00 1C */ li r3, 0x1c +/* 802C29F0 002BE650 4B FF 70 BD */ bl func_802B9AAC +/* 802C29F4 002BE654 2C 03 00 00 */ cmpwi r3, 0 +/* 802C29F8 002BE658 7C 7F 1B 78 */ mr r31, r3 +/* 802C29FC 002BE65C 41 82 00 58 */ beq lbl_802C2A54 +/* 802C2A00 002BE660 38 80 00 00 */ li r4, 0 +/* 802C2A04 002BE664 38 A0 00 1C */ li r5, 0x1c +/* 802C2A08 002BE668 4B D4 16 FD */ bl memset +/* 802C2A0C 002BE66C 38 00 17 0A */ li r0, 0x170a +/* 802C2A10 002BE670 38 A0 00 0B */ li r5, 0xb +/* 802C2A14 002BE674 B0 1F 00 00 */ sth r0, 0(r31) +/* 802C2A18 002BE678 38 00 00 FF */ li r0, 0xff +/* 802C2A1C 002BE67C 7F C4 F3 78 */ mr r4, r30 +/* 802C2A20 002BE680 38 7F 00 14 */ addi r3, r31, 0x14 +/* 802C2A24 002BE684 B0 BF 00 10 */ sth r5, 0x10(r31) +/* 802C2A28 002BE688 38 A0 00 08 */ li r5, 8 +/* 802C2A2C 002BE68C B0 1F 00 06 */ sth r0, 6(r31) +/* 802C2A30 002BE690 B3 7F 00 0E */ sth r27, 0xe(r31) +/* 802C2A34 002BE694 9B 9F 00 12 */ stb r28, 0x12(r31) +/* 802C2A38 002BE698 9B BF 00 13 */ stb r29, 0x13(r31) +/* 802C2A3C 002BE69C 4B D4 15 C5 */ bl memcpy +/* 802C2A40 002BE6A0 7F 44 D3 78 */ mr r4, r26 +/* 802C2A44 002BE6A4 38 7F 00 08 */ addi r3, r31, 8 +/* 802C2A48 002BE6A8 4B FF AB 19 */ bl func_802BD560 +/* 802C2A4C 002BE6AC 7F E3 FB 78 */ mr r3, r31 +/* 802C2A50 002BE6B0 4B FF AF BD */ bl func_802BDA0C +lbl_802C2A54: +/* 802C2A54 002BE6B4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C2A58 002BE6B8 4B F0 47 19 */ bl _restgpr_26 +/* 802C2A5C 002BE6BC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C2A60 002BE6C0 7C 08 03 A6 */ mtlr r0 +/* 802C2A64 002BE6C4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C2A68 002BE6C8 4E 80 00 20 */ blr + +.global func_802C2A6C +func_802C2A6C: +/* 802C2A6C 002BE6CC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C2A70 002BE6D0 7C 08 02 A6 */ mflr r0 +/* 802C2A74 002BE6D4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C2A78 002BE6D8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C2A7C 002BE6DC 93 C1 00 08 */ stw r30, 8(r1) +/* 802C2A80 002BE6E0 7C 7E 1B 78 */ mr r30, r3 +/* 802C2A84 002BE6E4 38 60 00 1C */ li r3, 0x1c +/* 802C2A88 002BE6E8 4B FF 70 25 */ bl func_802B9AAC +/* 802C2A8C 002BE6EC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C2A90 002BE6F0 7C 7F 1B 78 */ mr r31, r3 +/* 802C2A94 002BE6F4 41 82 00 2C */ beq lbl_802C2AC0 +/* 802C2A98 002BE6F8 38 80 00 00 */ li r4, 0 +/* 802C2A9C 002BE6FC 38 A0 00 1C */ li r5, 0x1c +/* 802C2AA0 002BE700 4B D4 16 65 */ bl memset +/* 802C2AA4 002BE704 38 60 17 0A */ li r3, 0x170a +/* 802C2AA8 002BE708 38 00 00 0C */ li r0, 0xc +/* 802C2AAC 002BE70C B0 7F 00 00 */ sth r3, 0(r31) +/* 802C2AB0 002BE710 7F E3 FB 78 */ mr r3, r31 +/* 802C2AB4 002BE714 B0 1F 00 10 */ sth r0, 0x10(r31) +/* 802C2AB8 002BE718 B3 DF 00 06 */ sth r30, 6(r31) +/* 802C2ABC 002BE71C 4B FF AF 51 */ bl func_802BDA0C +lbl_802C2AC0: +/* 802C2AC0 002BE720 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C2AC4 002BE724 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C2AC8 002BE728 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C2ACC 002BE72C 7C 08 03 A6 */ mtlr r0 +/* 802C2AD0 002BE730 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C2AD4 002BE734 4E 80 00 20 */ blr + +.global func_802C2AD8 +func_802C2AD8: +/* 802C2AD8 002BE738 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C2ADC 002BE73C 7C 08 02 A6 */ mflr r0 +/* 802C2AE0 002BE740 38 60 00 08 */ li r3, 8 +/* 802C2AE4 002BE744 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C2AE8 002BE748 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C2AEC 002BE74C 4B FF 6F C1 */ bl func_802B9AAC +/* 802C2AF0 002BE750 2C 03 00 00 */ cmpwi r3, 0 +/* 802C2AF4 002BE754 7C 7F 1B 78 */ mr r31, r3 +/* 802C2AF8 002BE758 41 82 00 20 */ beq lbl_802C2B18 +/* 802C2AFC 002BE75C 38 80 00 00 */ li r4, 0 +/* 802C2B00 002BE760 38 A0 00 08 */ li r5, 8 +/* 802C2B04 002BE764 4B D4 16 01 */ bl memset +/* 802C2B08 002BE768 38 00 17 0E */ li r0, 0x170e +/* 802C2B0C 002BE76C 7F E3 FB 78 */ mr r3, r31 +/* 802C2B10 002BE770 B0 1F 00 00 */ sth r0, 0(r31) +/* 802C2B14 002BE774 4B FF AE F9 */ bl func_802BDA0C +lbl_802C2B18: +/* 802C2B18 002BE778 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C2B1C 002BE77C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C2B20 002BE780 7C 08 03 A6 */ mtlr r0 +/* 802C2B24 002BE784 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C2B28 002BE788 4E 80 00 20 */ blr + +.global func_802C2B2C +func_802C2B2C: +/* 802C2B2C 002BE78C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802C2B30 002BE790 7C 08 02 A6 */ mflr r0 +/* 802C2B34 002BE794 90 01 00 44 */ stw r0, 0x44(r1) +/* 802C2B38 002BE798 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C2B3C 002BE79C 4B F0 45 E9 */ bl _savegpr_26 +/* 802C2B40 002BE7A0 3F E0 80 44 */ lis r31, lbl_80440720@ha +/* 802C2B44 002BE7A4 7C 7B 1B 78 */ mr r27, r3 +/* 802C2B48 002BE7A8 7C 9C 23 78 */ mr r28, r4 +/* 802C2B4C 002BE7AC 7C BD 2B 78 */ mr r29, r5 +/* 802C2B50 002BE7B0 3B FF 07 20 */ addi r31, r31, lbl_80440720@l +/* 802C2B54 002BE7B4 38 61 00 08 */ addi r3, r1, 8 +/* 802C2B58 002BE7B8 3B C0 00 00 */ li r30, 0 +/* 802C2B5C 002BE7BC 38 80 00 00 */ li r4, 0 +/* 802C2B60 002BE7C0 38 A0 00 20 */ li r5, 0x20 +/* 802C2B64 002BE7C4 4B D4 15 A1 */ bl memset +/* 802C2B68 002BE7C8 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C2B6C 002BE7CC 40 82 01 58 */ bne lbl_802C2CC4 +/* 802C2B70 002BE7D0 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C2B74 002BE7D4 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C2B78 002BE7D8 80 03 02 24 */ lwz r0, 0x224(r3) +/* 802C2B7C 002BE7DC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C2B80 002BE7E0 41 82 02 E8 */ beq lbl_802C2E68 +/* 802C2B84 002BE7E4 2C 1C 17 08 */ cmpwi r28, 0x1708 +/* 802C2B88 002BE7E8 41 82 00 90 */ beq lbl_802C2C18 +/* 802C2B8C 002BE7EC 40 80 00 1C */ bge lbl_802C2BA8 +/* 802C2B90 002BE7F0 2C 1C 17 01 */ cmpwi r28, 0x1701 +/* 802C2B94 002BE7F4 41 82 00 D8 */ beq lbl_802C2C6C +/* 802C2B98 002BE7F8 40 80 00 EC */ bge lbl_802C2C84 +/* 802C2B9C 002BE7FC 2C 1C 17 00 */ cmpwi r28, 0x1700 +/* 802C2BA0 002BE800 40 80 00 14 */ bge lbl_802C2BB4 +/* 802C2BA4 002BE804 48 00 00 E0 */ b lbl_802C2C84 +lbl_802C2BA8: +/* 802C2BA8 002BE808 2C 1C 17 0A */ cmpwi r28, 0x170a +/* 802C2BAC 002BE80C 41 82 00 2C */ beq lbl_802C2BD8 +/* 802C2BB0 002BE810 48 00 00 D4 */ b lbl_802C2C84 +lbl_802C2BB4: +/* 802C2BB4 002BE814 38 61 00 08 */ addi r3, r1, 8 +/* 802C2BB8 002BE818 38 9D 00 08 */ addi r4, r29, 8 +/* 802C2BBC 002BE81C 3B C0 00 02 */ li r30, 2 +/* 802C2BC0 002BE820 4B FF A9 A1 */ bl func_802BD560 +/* 802C2BC4 002BE824 38 60 00 09 */ li r3, 9 +/* 802C2BC8 002BE828 38 00 00 FF */ li r0, 0xff +/* 802C2BCC 002BE82C 98 61 00 0E */ stb r3, 0xe(r1) +/* 802C2BD0 002BE830 98 01 00 0F */ stb r0, 0xf(r1) +/* 802C2BD4 002BE834 48 00 00 CC */ b lbl_802C2CA0 +lbl_802C2BD8: +/* 802C2BD8 002BE838 A3 DD 00 10 */ lhz r30, 0x10(r29) +/* 802C2BDC 002BE83C 28 1E 00 0B */ cmplwi r30, 0xb +/* 802C2BE0 002BE840 40 82 00 24 */ bne lbl_802C2C04 +/* 802C2BE4 002BE844 38 61 00 08 */ addi r3, r1, 8 +/* 802C2BE8 002BE848 38 9D 00 08 */ addi r4, r29, 8 +/* 802C2BEC 002BE84C 4B FF A9 75 */ bl func_802BD560 +/* 802C2BF0 002BE850 38 60 00 09 */ li r3, 9 +/* 802C2BF4 002BE854 38 00 00 FF */ li r0, 0xff +/* 802C2BF8 002BE858 98 61 00 0E */ stb r3, 0xe(r1) +/* 802C2BFC 002BE85C 98 01 00 0F */ stb r0, 0xf(r1) +/* 802C2C00 002BE860 48 00 00 A0 */ b lbl_802C2CA0 +lbl_802C2C04: +/* 802C2C04 002BE864 38 00 00 0D */ li r0, 0xd +/* 802C2C08 002BE868 98 01 00 0E */ stb r0, 0xe(r1) +/* 802C2C0C 002BE86C A0 1D 00 06 */ lhz r0, 6(r29) +/* 802C2C10 002BE870 98 01 00 0F */ stb r0, 0xf(r1) +/* 802C2C14 002BE874 48 00 00 8C */ b lbl_802C2CA0 +lbl_802C2C18: +/* 802C2C18 002BE878 8B DD 00 08 */ lbz r30, 8(r29) +/* 802C2C1C 002BE87C 28 1E 00 07 */ cmplwi r30, 7 +/* 802C2C20 002BE880 41 82 00 14 */ beq lbl_802C2C34 +/* 802C2C24 002BE884 28 1E 00 05 */ cmplwi r30, 5 +/* 802C2C28 002BE888 41 82 00 0C */ beq lbl_802C2C34 +/* 802C2C2C 002BE88C 28 1E 00 09 */ cmplwi r30, 9 +/* 802C2C30 002BE890 40 82 00 18 */ bne lbl_802C2C48 +lbl_802C2C34: +/* 802C2C34 002BE894 38 00 00 0D */ li r0, 0xd +/* 802C2C38 002BE898 98 01 00 08 */ stb r0, 8(r1) +/* 802C2C3C 002BE89C A0 1D 00 06 */ lhz r0, 6(r29) +/* 802C2C40 002BE8A0 98 01 00 09 */ stb r0, 9(r1) +/* 802C2C44 002BE8A4 48 00 00 5C */ b lbl_802C2CA0 +lbl_802C2C48: +/* 802C2C48 002BE8A8 28 1E 00 0A */ cmplwi r30, 0xa +/* 802C2C4C 002BE8AC 41 82 00 54 */ beq lbl_802C2CA0 +/* 802C2C50 002BE8B0 28 1E 00 01 */ cmplwi r30, 1 +/* 802C2C54 002BE8B4 41 82 00 4C */ beq lbl_802C2CA0 +/* 802C2C58 002BE8B8 A0 7D 00 06 */ lhz r3, 6(r29) +/* 802C2C5C 002BE8BC 38 00 00 0D */ li r0, 0xd +/* 802C2C60 002BE8C0 98 61 00 09 */ stb r3, 9(r1) +/* 802C2C64 002BE8C4 98 01 00 08 */ stb r0, 8(r1) +/* 802C2C68 002BE8C8 48 00 00 38 */ b lbl_802C2CA0 +lbl_802C2C6C: +/* 802C2C6C 002BE8CC 38 00 00 0D */ li r0, 0xd +/* 802C2C70 002BE8D0 3B C0 00 03 */ li r30, 3 +/* 802C2C74 002BE8D4 98 01 00 08 */ stb r0, 8(r1) +/* 802C2C78 002BE8D8 A0 1D 00 06 */ lhz r0, 6(r29) +/* 802C2C7C 002BE8DC 98 01 00 09 */ stb r0, 9(r1) +/* 802C2C80 002BE8E0 48 00 00 20 */ b lbl_802C2CA0 +lbl_802C2C84: +/* 802C2C84 002BE8E4 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C2C88 002BE8E8 28 00 00 01 */ cmplwi r0, 1 +/* 802C2C8C 002BE8EC 41 80 00 14 */ blt lbl_802C2CA0 +/* 802C2C90 002BE8F0 A0 BD 00 06 */ lhz r5, 6(r29) +/* 802C2C94 002BE8F4 38 9F 00 00 */ addi r4, r31, 0 +/* 802C2C98 002BE8F8 38 60 05 00 */ li r3, 0x500 +/* 802C2C9C 002BE8FC 4B FF A2 8D */ bl func_802BCF28 +lbl_802C2CA0: +/* 802C2CA0 002BE900 57 C3 04 3F */ clrlwi. r3, r30, 0x10 +/* 802C2CA4 002BE904 41 82 01 C4 */ beq lbl_802C2E68 +/* 802C2CA8 002BE908 3C A0 80 57 */ lis r5, lbl_80568948@ha +/* 802C2CAC 002BE90C 38 81 00 08 */ addi r4, r1, 8 +/* 802C2CB0 002BE910 38 A5 89 48 */ addi r5, r5, lbl_80568948@l +/* 802C2CB4 002BE914 81 85 02 24 */ lwz r12, 0x224(r5) +/* 802C2CB8 002BE918 7D 89 03 A6 */ mtctr r12 +/* 802C2CBC 002BE91C 4E 80 04 21 */ bctrl +/* 802C2CC0 002BE920 48 00 01 A8 */ b lbl_802C2E68 +lbl_802C2CC4: +/* 802C2CC4 002BE924 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C2CC8 002BE928 8B DB 00 1C */ lbz r30, 0x1c(r27) +/* 802C2CCC 002BE92C 28 00 00 04 */ cmplwi r0, 4 +/* 802C2CD0 002BE930 41 80 00 70 */ blt lbl_802C2D40 +/* 802C2CD4 002BE934 2C 1E 00 02 */ cmpwi r30, 2 +/* 802C2CD8 002BE938 41 82 00 34 */ beq lbl_802C2D0C +/* 802C2CDC 002BE93C 40 80 00 14 */ bge lbl_802C2CF0 +/* 802C2CE0 002BE940 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C2CE4 002BE944 41 82 00 18 */ beq lbl_802C2CFC +/* 802C2CE8 002BE948 40 80 00 1C */ bge lbl_802C2D04 +/* 802C2CEC 002BE94C 48 00 00 30 */ b lbl_802C2D1C +lbl_802C2CF0: +/* 802C2CF0 002BE950 2C 1E 00 04 */ cmpwi r30, 4 +/* 802C2CF4 002BE954 40 80 00 28 */ bge lbl_802C2D1C +/* 802C2CF8 002BE958 48 00 00 1C */ b lbl_802C2D14 +lbl_802C2CFC: +/* 802C2CFC 002BE95C 3B 5F 00 1C */ addi r26, r31, 0x1c +/* 802C2D00 002BE960 48 00 00 20 */ b lbl_802C2D20 +lbl_802C2D04: +/* 802C2D04 002BE964 3B 5F 00 2C */ addi r26, r31, 0x2c +/* 802C2D08 002BE968 48 00 00 18 */ b lbl_802C2D20 +lbl_802C2D0C: +/* 802C2D0C 002BE96C 3B 5F 00 3C */ addi r26, r31, 0x3c +/* 802C2D10 002BE970 48 00 00 10 */ b lbl_802C2D20 +lbl_802C2D14: +/* 802C2D14 002BE974 3B 5F 00 50 */ addi r26, r31, 0x50 +/* 802C2D18 002BE978 48 00 00 08 */ b lbl_802C2D20 +lbl_802C2D1C: +/* 802C2D1C 002BE97C 3B 5F 00 60 */ addi r26, r31, 0x60 +lbl_802C2D20: +/* 802C2D20 002BE980 7F 83 E3 78 */ mr r3, r28 +/* 802C2D24 002BE984 48 00 02 A9 */ bl func_802C2FCC +/* 802C2D28 002BE988 7C 67 1B 78 */ mr r7, r3 +/* 802C2D2C 002BE98C 7F C5 F3 78 */ mr r5, r30 +/* 802C2D30 002BE990 7F 46 D3 78 */ mr r6, r26 +/* 802C2D34 002BE994 38 9F 00 78 */ addi r4, r31, 0x78 +/* 802C2D38 002BE998 38 60 05 03 */ li r3, 0x503 +/* 802C2D3C 002BE99C 4B FF A2 1D */ bl func_802BCF58 +lbl_802C2D40: +/* 802C2D40 002BE9A0 88 9B 00 1C */ lbz r4, 0x1c(r27) +/* 802C2D44 002BE9A4 3C 60 80 40 */ lis r3, lbl_803FDDA8@ha +/* 802C2D48 002BE9A8 38 63 DD A8 */ addi r3, r3, lbl_803FDDA8@l +/* 802C2D4C 002BE9AC 57 9C 06 3E */ clrlwi r28, r28, 0x18 +/* 802C2D50 002BE9B0 38 04 FF FF */ addi r0, r4, -1 +/* 802C2D54 002BE9B4 54 00 10 3A */ slwi r0, r0, 2 +/* 802C2D58 002BE9B8 57 84 08 3C */ slwi r4, r28, 1 +/* 802C2D5C 002BE9BC 7C A3 00 2E */ lwzx r5, r3, r0 +/* 802C2D60 002BE9C0 7C 65 22 14 */ add r3, r5, r4 +/* 802C2D64 002BE9C4 88 03 00 01 */ lbz r0, 1(r3) +/* 802C2D68 002BE9C8 98 1B 00 1C */ stb r0, 0x1c(r27) +/* 802C2D6C 002BE9CC 7C 05 20 AE */ lbzx r0, r5, r4 +/* 802C2D70 002BE9D0 28 00 00 0C */ cmplwi r0, 0xc +/* 802C2D74 002BE9D4 41 82 00 24 */ beq lbl_802C2D98 +/* 802C2D78 002BE9D8 3C 80 80 40 */ lis r4, lbl_803FDD30@ha +/* 802C2D7C 002BE9DC 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d +/* 802C2D80 002BE9E0 38 84 DD 30 */ addi r4, r4, lbl_803FDD30@l +/* 802C2D84 002BE9E4 7F 63 DB 78 */ mr r3, r27 +/* 802C2D88 002BE9E8 7D 84 00 2E */ lwzx r12, r4, r0 +/* 802C2D8C 002BE9EC 7F A4 EB 78 */ mr r4, r29 +/* 802C2D90 002BE9F0 7D 89 03 A6 */ mtctr r12 +/* 802C2D94 002BE9F4 4E 80 04 21 */ bctrl +lbl_802C2D98: +/* 802C2D98 002BE9F8 88 7B 00 1C */ lbz r3, 0x1c(r27) +/* 802C2D9C 002BE9FC 7C 1E 18 40 */ cmplw r30, r3 +/* 802C2DA0 002BEA00 41 82 00 C8 */ beq lbl_802C2E68 +/* 802C2DA4 002BEA04 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C2DA8 002BEA08 28 00 00 05 */ cmplwi r0, 5 +/* 802C2DAC 002BEA0C 41 80 00 BC */ blt lbl_802C2E68 +/* 802C2DB0 002BEA10 2C 1E 00 02 */ cmpwi r30, 2 +/* 802C2DB4 002BEA14 41 82 00 34 */ beq lbl_802C2DE8 +/* 802C2DB8 002BEA18 40 80 00 14 */ bge lbl_802C2DCC +/* 802C2DBC 002BEA1C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C2DC0 002BEA20 41 82 00 18 */ beq lbl_802C2DD8 +/* 802C2DC4 002BEA24 40 80 00 1C */ bge lbl_802C2DE0 +/* 802C2DC8 002BEA28 48 00 00 30 */ b lbl_802C2DF8 +lbl_802C2DCC: +/* 802C2DCC 002BEA2C 2C 1E 00 04 */ cmpwi r30, 4 +/* 802C2DD0 002BEA30 40 80 00 28 */ bge lbl_802C2DF8 +/* 802C2DD4 002BEA34 48 00 00 1C */ b lbl_802C2DF0 +lbl_802C2DD8: +/* 802C2DD8 002BEA38 3B 5F 00 1C */ addi r26, r31, 0x1c +/* 802C2DDC 002BEA3C 48 00 00 20 */ b lbl_802C2DFC +lbl_802C2DE0: +/* 802C2DE0 002BEA40 3B 5F 00 2C */ addi r26, r31, 0x2c +/* 802C2DE4 002BEA44 48 00 00 18 */ b lbl_802C2DFC +lbl_802C2DE8: +/* 802C2DE8 002BEA48 3B 5F 00 3C */ addi r26, r31, 0x3c +/* 802C2DEC 002BEA4C 48 00 00 10 */ b lbl_802C2DFC +lbl_802C2DF0: +/* 802C2DF0 002BEA50 3B 5F 00 50 */ addi r26, r31, 0x50 +/* 802C2DF4 002BEA54 48 00 00 08 */ b lbl_802C2DFC +lbl_802C2DF8: +/* 802C2DF8 002BEA58 3B 5F 00 60 */ addi r26, r31, 0x60 +lbl_802C2DFC: +/* 802C2DFC 002BEA5C 2C 03 00 02 */ cmpwi r3, 2 +/* 802C2E00 002BEA60 41 82 00 34 */ beq lbl_802C2E34 +/* 802C2E04 002BEA64 40 80 00 14 */ bge lbl_802C2E18 +/* 802C2E08 002BEA68 2C 03 00 00 */ cmpwi r3, 0 +/* 802C2E0C 002BEA6C 41 82 00 18 */ beq lbl_802C2E24 +/* 802C2E10 002BEA70 40 80 00 1C */ bge lbl_802C2E2C +/* 802C2E14 002BEA74 48 00 00 30 */ b lbl_802C2E44 +lbl_802C2E18: +/* 802C2E18 002BEA78 2C 03 00 04 */ cmpwi r3, 4 +/* 802C2E1C 002BEA7C 40 80 00 28 */ bge lbl_802C2E44 +/* 802C2E20 002BEA80 48 00 00 1C */ b lbl_802C2E3C +lbl_802C2E24: +/* 802C2E24 002BEA84 3B 7F 00 1C */ addi r27, r31, 0x1c +/* 802C2E28 002BEA88 48 00 00 20 */ b lbl_802C2E48 +lbl_802C2E2C: +/* 802C2E2C 002BEA8C 3B 7F 00 2C */ addi r27, r31, 0x2c +/* 802C2E30 002BEA90 48 00 00 18 */ b lbl_802C2E48 +lbl_802C2E34: +/* 802C2E34 002BEA94 3B 7F 00 3C */ addi r27, r31, 0x3c +/* 802C2E38 002BEA98 48 00 00 10 */ b lbl_802C2E48 +lbl_802C2E3C: +/* 802C2E3C 002BEA9C 3B 7F 00 50 */ addi r27, r31, 0x50 +/* 802C2E40 002BEAA0 48 00 00 08 */ b lbl_802C2E48 +lbl_802C2E44: +/* 802C2E44 002BEAA4 3B 7F 00 60 */ addi r27, r31, 0x60 +lbl_802C2E48: +/* 802C2E48 002BEAA8 7F 83 E3 78 */ mr r3, r28 +/* 802C2E4C 002BEAAC 48 00 01 81 */ bl func_802C2FCC +/* 802C2E50 002BEAB0 7C 67 1B 78 */ mr r7, r3 +/* 802C2E54 002BEAB4 7F 45 D3 78 */ mr r5, r26 +/* 802C2E58 002BEAB8 7F 66 DB 78 */ mr r6, r27 +/* 802C2E5C 002BEABC 38 9F 00 AC */ addi r4, r31, 0xac +/* 802C2E60 002BEAC0 38 60 05 04 */ li r3, 0x504 +/* 802C2E64 002BEAC4 4B FF A0 F5 */ bl func_802BCF58 +lbl_802C2E68: +/* 802C2E68 002BEAC8 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C2E6C 002BEACC 4B F0 43 05 */ bl _restgpr_26 +/* 802C2E70 002BEAD0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802C2E74 002BEAD4 7C 08 03 A6 */ mtlr r0 +/* 802C2E78 002BEAD8 38 21 00 40 */ addi r1, r1, 0x40 +/* 802C2E7C 002BEADC 4E 80 00 20 */ blr +/* 802C2E80 002BEAE0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C2E84 002BEAE4 7C 08 02 A6 */ mflr r0 +/* 802C2E88 002BEAE8 38 C0 00 10 */ li r6, 0x10 +/* 802C2E8C 002BEAEC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C2E90 002BEAF0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C2E94 002BEAF4 3B E0 00 00 */ li r31, 0 +/* 802C2E98 002BEAF8 93 C1 00 08 */ stw r30, 8(r1) +/* 802C2E9C 002BEAFC 7C 7E 1B 78 */ mr r30, r3 +/* 802C2EA0 002BEB00 A0 03 00 00 */ lhz r0, 0(r3) +/* 802C2EA4 002BEB04 2C 00 17 0E */ cmpwi r0, 0x170e +/* 802C2EA8 002BEB08 41 82 00 3C */ beq lbl_802C2EE4 +/* 802C2EAC 002BEB0C 40 80 00 14 */ bge lbl_802C2EC0 +/* 802C2EB0 002BEB10 2C 00 17 0C */ cmpwi r0, 0x170c +/* 802C2EB4 002BEB14 41 82 00 18 */ beq lbl_802C2ECC +/* 802C2EB8 002BEB18 40 80 00 1C */ bge lbl_802C2ED4 +/* 802C2EBC 002BEB1C 48 00 00 30 */ b lbl_802C2EEC +lbl_802C2EC0: +/* 802C2EC0 002BEB20 2C 00 17 10 */ cmpwi r0, 0x1710 +/* 802C2EC4 002BEB24 40 80 00 28 */ bge lbl_802C2EEC +/* 802C2EC8 002BEB28 48 00 00 14 */ b lbl_802C2EDC +lbl_802C2ECC: +/* 802C2ECC 002BEB2C 4B FF E1 49 */ bl func_802C1014 +/* 802C2ED0 002BEB30 48 00 00 E0 */ b lbl_802C2FB0 +lbl_802C2ED4: +/* 802C2ED4 002BEB34 4B FF E2 B5 */ bl func_802C1188 +/* 802C2ED8 002BEB38 48 00 00 D8 */ b lbl_802C2FB0 +lbl_802C2EDC: +/* 802C2EDC 002BEB3C 4B FF E3 B1 */ bl func_802C128C +/* 802C2EE0 002BEB40 48 00 00 D0 */ b lbl_802C2FB0 +lbl_802C2EE4: +/* 802C2EE4 002BEB44 4B FF F2 FD */ bl func_802C21E0 +/* 802C2EE8 002BEB48 48 00 00 C8 */ b lbl_802C2FB0 +lbl_802C2EEC: +/* 802C2EEC 002BEB4C 28 00 17 00 */ cmplwi r0, 0x1700 +/* 802C2EF0 002BEB50 40 82 00 14 */ bne lbl_802C2F04 +/* 802C2EF4 002BEB54 38 63 00 08 */ addi r3, r3, 8 +/* 802C2EF8 002BEB58 48 00 01 89 */ bl func_802C3080 +/* 802C2EFC 002BEB5C 7C 66 1B 78 */ mr r6, r3 +/* 802C2F00 002BEB60 48 00 00 5C */ b lbl_802C2F5C +lbl_802C2F04: +/* 802C2F04 002BEB64 28 00 17 0A */ cmplwi r0, 0x170a +/* 802C2F08 002BEB68 40 82 00 38 */ bne lbl_802C2F40 +/* 802C2F0C 002BEB6C A0 03 00 10 */ lhz r0, 0x10(r3) +/* 802C2F10 002BEB70 28 00 00 0B */ cmplwi r0, 0xb +/* 802C2F14 002BEB74 40 82 00 14 */ bne lbl_802C2F28 +/* 802C2F18 002BEB78 38 63 00 08 */ addi r3, r3, 8 +/* 802C2F1C 002BEB7C 48 00 01 65 */ bl func_802C3080 +/* 802C2F20 002BEB80 7C 66 1B 78 */ mr r6, r3 +/* 802C2F24 002BEB84 48 00 00 38 */ b lbl_802C2F5C +lbl_802C2F28: +/* 802C2F28 002BEB88 3C 80 80 57 */ lis r4, lbl_80568948@ha +/* 802C2F2C 002BEB8C A0 03 00 06 */ lhz r0, 6(r3) +/* 802C2F30 002BEB90 38 84 89 48 */ addi r4, r4, lbl_80568948@l +/* 802C2F34 002BEB94 7C 64 02 14 */ add r3, r4, r0 +/* 802C2F38 002BEB98 88 C3 02 14 */ lbz r6, 0x214(r3) +/* 802C2F3C 002BEB9C 48 00 00 20 */ b lbl_802C2F5C +lbl_802C2F40: +/* 802C2F40 002BEBA0 A0 03 00 06 */ lhz r0, 6(r3) +/* 802C2F44 002BEBA4 28 00 00 10 */ cmplwi r0, 0x10 +/* 802C2F48 002BEBA8 40 80 00 14 */ bge lbl_802C2F5C +/* 802C2F4C 002BEBAC 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C2F50 002BEBB0 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C2F54 002BEBB4 7C 63 02 14 */ add r3, r3, r0 +/* 802C2F58 002BEBB8 88 C3 02 14 */ lbz r6, 0x214(r3) +lbl_802C2F5C: +/* 802C2F5C 002BEBBC 54 C0 06 3E */ clrlwi r0, r6, 0x18 +/* 802C2F60 002BEBC0 28 00 00 10 */ cmplwi r0, 0x10 +/* 802C2F64 002BEBC4 41 82 00 18 */ beq lbl_802C2F7C +/* 802C2F68 002BEBC8 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C2F6C 002BEBCC 54 C0 2C F4 */ rlwinm r0, r6, 5, 0x13, 0x1a +/* 802C2F70 002BEBD0 38 63 89 48 */ addi r3, r3, lbl_80568948@l +/* 802C2F74 002BEBD4 7C 63 02 14 */ add r3, r3, r0 +/* 802C2F78 002BEBD8 3B E3 00 10 */ addi r31, r3, 0x10 +lbl_802C2F7C: +/* 802C2F7C 002BEBDC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C2F80 002BEBE0 28 00 00 05 */ cmplwi r0, 5 +/* 802C2F84 002BEBE4 41 80 00 1C */ blt lbl_802C2FA0 +/* 802C2F88 002BEBE8 3C 80 80 44 */ lis r4, lbl_804407FC@ha +/* 802C2F8C 002BEBEC A0 BE 00 06 */ lhz r5, 6(r30) +/* 802C2F90 002BEBF0 38 84 07 FC */ addi r4, r4, lbl_804407FC@l +/* 802C2F94 002BEBF4 54 C6 06 3E */ clrlwi r6, r6, 0x18 +/* 802C2F98 002BEBF8 38 60 05 04 */ li r3, 0x504 +/* 802C2F9C 002BEBFC 4B FF 9F A5 */ bl func_802BCF40 +lbl_802C2FA0: +/* 802C2FA0 002BEC00 A0 9E 00 00 */ lhz r4, 0(r30) +/* 802C2FA4 002BEC04 7F E3 FB 78 */ mr r3, r31 +/* 802C2FA8 002BEC08 7F C5 F3 78 */ mr r5, r30 +/* 802C2FAC 002BEC0C 4B FF FB 81 */ bl func_802C2B2C +lbl_802C2FB0: +/* 802C2FB0 002BEC10 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C2FB4 002BEC14 38 60 00 01 */ li r3, 1 +/* 802C2FB8 002BEC18 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C2FBC 002BEC1C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C2FC0 002BEC20 7C 08 03 A6 */ mtlr r0 +/* 802C2FC4 002BEC24 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C2FC8 002BEC28 4E 80 00 20 */ blr + +.global func_802C2FCC +func_802C2FCC: +/* 802C2FCC 002BEC2C 38 03 E9 00 */ addi r0, r3, -5888 +/* 802C2FD0 002BEC30 3C 80 80 44 */ lis r4, lbl_80440720@ha +/* 802C2FD4 002BEC34 28 00 00 0F */ cmplwi r0, 0xf +/* 802C2FD8 002BEC38 38 84 07 20 */ addi r4, r4, lbl_80440720@l +/* 802C2FDC 002BEC3C 41 81 00 9C */ bgt lbl_802C3078 +/* 802C2FE0 002BEC40 3C 60 80 44 */ lis r3, lbl_804409C0@ha +/* 802C2FE4 002BEC44 54 00 10 3A */ slwi r0, r0, 2 +/* 802C2FE8 002BEC48 38 63 09 C0 */ addi r3, r3, lbl_804409C0@l +/* 802C2FEC 002BEC4C 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802C2FF0 002BEC50 7C 69 03 A6 */ mtctr r3 +/* 802C2FF4 002BEC54 4E 80 04 20 */ bctr +/* 802C2FF8 002BEC58 38 64 01 08 */ addi r3, r4, 0x108 +/* 802C2FFC 002BEC5C 4E 80 00 20 */ blr +/* 802C3000 002BEC60 38 64 01 20 */ addi r3, r4, 0x120 +/* 802C3004 002BEC64 4E 80 00 20 */ blr +/* 802C3008 002BEC68 38 64 01 38 */ addi r3, r4, 0x138 +/* 802C300C 002BEC6C 4E 80 00 20 */ blr +/* 802C3010 002BEC70 38 64 01 4C */ addi r3, r4, 0x14c +/* 802C3014 002BEC74 4E 80 00 20 */ blr +/* 802C3018 002BEC78 38 64 01 64 */ addi r3, r4, 0x164 +/* 802C301C 002BEC7C 4E 80 00 20 */ blr +/* 802C3020 002BEC80 38 64 01 78 */ addi r3, r4, 0x178 +/* 802C3024 002BEC84 4E 80 00 20 */ blr +/* 802C3028 002BEC88 38 64 01 90 */ addi r3, r4, 0x190 +/* 802C302C 002BEC8C 4E 80 00 20 */ blr +/* 802C3030 002BEC90 38 64 01 A8 */ addi r3, r4, 0x1a8 +/* 802C3034 002BEC94 4E 80 00 20 */ blr +/* 802C3038 002BEC98 38 64 01 BC */ addi r3, r4, 0x1bc +/* 802C303C 002BEC9C 4E 80 00 20 */ blr +/* 802C3040 002BECA0 38 64 01 D4 */ addi r3, r4, 0x1d4 +/* 802C3044 002BECA4 4E 80 00 20 */ blr +/* 802C3048 002BECA8 38 64 01 F0 */ addi r3, r4, 0x1f0 +/* 802C304C 002BECAC 4E 80 00 20 */ blr +/* 802C3050 002BECB0 38 64 02 04 */ addi r3, r4, 0x204 +/* 802C3054 002BECB4 4E 80 00 20 */ blr +/* 802C3058 002BECB8 38 64 02 1C */ addi r3, r4, 0x21c +/* 802C305C 002BECBC 4E 80 00 20 */ blr +/* 802C3060 002BECC0 38 64 02 38 */ addi r3, r4, 0x238 +/* 802C3064 002BECC4 4E 80 00 20 */ blr +/* 802C3068 002BECC8 38 64 02 50 */ addi r3, r4, 0x250 +/* 802C306C 002BECCC 4E 80 00 20 */ blr +/* 802C3070 002BECD0 38 64 02 68 */ addi r3, r4, 0x268 +/* 802C3074 002BECD4 4E 80 00 20 */ blr +lbl_802C3078: +/* 802C3078 002BECD8 38 64 02 84 */ addi r3, r4, 0x284 +/* 802C307C 002BECDC 4E 80 00 20 */ blr + +.global func_802C3080 +func_802C3080: +/* 802C3080 002BECE0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C3084 002BECE4 7C 08 02 A6 */ mflr r0 +/* 802C3088 002BECE8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C308C 002BECEC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C3090 002BECF0 4B F0 40 99 */ bl _savegpr_27 +/* 802C3094 002BECF4 3F E0 80 57 */ lis r31, lbl_80568948@ha +/* 802C3098 002BECF8 3F C0 80 44 */ lis r30, lbl_80440A00@ha +/* 802C309C 002BECFC 7C 7B 1B 78 */ mr r27, r3 +/* 802C30A0 002BED00 3B 80 00 00 */ li r28, 0 +/* 802C30A4 002BED04 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l +/* 802C30A8 002BED08 3B FF 89 48 */ addi r31, r31, lbl_80568948@l +lbl_802C30AC: +/* 802C30AC 002BED0C 57 9D 2C F4 */ rlwinm r29, r28, 5, 0x13, 0x1a +/* 802C30B0 002BED10 7F 63 DB 78 */ mr r3, r27 +/* 802C30B4 002BED14 7C 9F EA 14 */ add r4, r31, r29 +/* 802C30B8 002BED18 38 84 00 18 */ addi r4, r4, 0x18 +/* 802C30BC 002BED1C 4B FF A4 D9 */ bl func_802BD594 +/* 802C30C0 002BED20 2C 03 00 00 */ cmpwi r3, 0 +/* 802C30C4 002BED24 40 82 00 44 */ bne lbl_802C3108 +/* 802C30C8 002BED28 7F 63 DB 78 */ mr r3, r27 +/* 802C30CC 002BED2C 38 82 AA 28 */ addi r4, r2, lbl_80643028-_SDA2_BASE_ +/* 802C30D0 002BED30 4B FF A4 C5 */ bl func_802BD594 +/* 802C30D4 002BED34 2C 03 00 00 */ cmpwi r3, 0 +/* 802C30D8 002BED38 41 82 00 30 */ beq lbl_802C3108 +/* 802C30DC 002BED3C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C30E0 002BED40 28 00 00 05 */ cmplwi r0, 5 +/* 802C30E4 002BED44 41 80 00 1C */ blt lbl_802C3100 +/* 802C30E8 002BED48 7C 7F EA 14 */ add r3, r31, r29 +/* 802C30EC 002BED4C 38 9E 00 00 */ addi r4, r30, 0 +/* 802C30F0 002BED50 88 C3 00 26 */ lbz r6, 0x26(r3) +/* 802C30F4 002BED54 57 85 06 3E */ clrlwi r5, r28, 0x18 +/* 802C30F8 002BED58 38 60 05 04 */ li r3, 0x504 +/* 802C30FC 002BED5C 4B FF 9E 45 */ bl func_802BCF40 +lbl_802C3100: +/* 802C3100 002BED60 7F 83 E3 78 */ mr r3, r28 +/* 802C3104 002BED64 48 00 00 A0 */ b lbl_802C31A4 +lbl_802C3108: +/* 802C3108 002BED68 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C310C 002BED6C 28 00 00 05 */ cmplwi r0, 5 +/* 802C3110 002BED70 41 80 00 24 */ blt lbl_802C3134 +/* 802C3114 002BED74 7D 1F EA 14 */ add r8, r31, r29 +/* 802C3118 002BED78 38 9E 00 24 */ addi r4, r30, 0x24 +/* 802C311C 002BED7C 88 A8 00 28 */ lbz r5, 0x28(r8) +/* 802C3120 002BED80 57 86 06 3E */ clrlwi r6, r28, 0x18 +/* 802C3124 002BED84 88 E8 00 26 */ lbz r7, 0x26(r8) +/* 802C3128 002BED88 38 60 05 04 */ li r3, 0x504 +/* 802C312C 002BED8C 89 08 00 2C */ lbz r8, 0x2c(r8) +/* 802C3130 002BED90 4B FF 9E 41 */ bl func_802BCF70 +lbl_802C3134: +/* 802C3134 002BED94 3B 9C 00 01 */ addi r28, r28, 1 +/* 802C3138 002BED98 28 1C 00 10 */ cmplwi r28, 0x10 +/* 802C313C 002BED9C 41 80 FF 70 */ blt lbl_802C30AC +/* 802C3140 002BEDA0 3C 80 80 57 */ lis r4, lbl_80568948@ha +/* 802C3144 002BEDA4 38 00 00 10 */ li r0, 0x10 +/* 802C3148 002BEDA8 38 84 89 48 */ addi r4, r4, lbl_80568948@l +/* 802C314C 002BEDAC 3B A0 00 00 */ li r29, 0 +/* 802C3150 002BEDB0 7C 09 03 A6 */ mtctr r0 +lbl_802C3154: +/* 802C3154 002BEDB4 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a +/* 802C3158 002BEDB8 7C 64 02 14 */ add r3, r4, r0 +/* 802C315C 002BEDBC 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802C3160 002BEDC0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3164 002BEDC4 40 82 00 14 */ bne lbl_802C3178 +/* 802C3168 002BEDC8 7F 64 DB 78 */ mr r4, r27 +/* 802C316C 002BEDCC 38 63 00 18 */ addi r3, r3, 0x18 +/* 802C3170 002BEDD0 4B FF A3 F1 */ bl func_802BD560 +/* 802C3174 002BEDD4 48 00 00 0C */ b lbl_802C3180 +lbl_802C3178: +/* 802C3178 002BEDD8 3B BD 00 01 */ addi r29, r29, 1 +/* 802C317C 002BEDDC 42 00 FF D8 */ bdnz lbl_802C3154 +lbl_802C3180: +/* 802C3180 002BEDE0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C3184 002BEDE4 28 00 00 05 */ cmplwi r0, 5 +/* 802C3188 002BEDE8 41 80 00 18 */ blt lbl_802C31A0 +/* 802C318C 002BEDEC 38 9E 00 58 */ addi r4, r30, 0x58 +/* 802C3190 002BEDF0 57 A5 06 3E */ clrlwi r5, r29, 0x18 +/* 802C3194 002BEDF4 38 60 05 04 */ li r3, 0x504 +/* 802C3198 002BEDF8 38 C0 00 10 */ li r6, 0x10 +/* 802C319C 002BEDFC 4B FF 9D A5 */ bl func_802BCF40 +lbl_802C31A0: +/* 802C31A0 002BEE00 7F A3 EB 78 */ mr r3, r29 +lbl_802C31A4: +/* 802C31A4 002BEE04 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C31A8 002BEE08 4B F0 3F CD */ bl _restgpr_27 +/* 802C31AC 002BEE0C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C31B0 002BEE10 7C 08 03 A6 */ mtlr r0 +/* 802C31B4 002BEE14 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C31B8 002BEE18 4E 80 00 20 */ blr + +.global func_802C31BC +func_802C31BC: +/* 802C31BC 002BEE1C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C31C0 002BEE20 7C 08 02 A6 */ mflr r0 +/* 802C31C4 002BEE24 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C31C8 002BEE28 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C31CC 002BEE2C 93 C1 00 08 */ stw r30, 8(r1) +/* 802C31D0 002BEE30 7C 7E 1B 78 */ mr r30, r3 +/* 802C31D4 002BEE34 88 A3 00 16 */ lbz r5, 0x16(r3) +/* 802C31D8 002BEE38 28 05 00 FF */ cmplwi r5, 0xff +/* 802C31DC 002BEE3C 41 82 00 18 */ beq lbl_802C31F4 +/* 802C31E0 002BEE40 3C 80 80 57 */ lis r4, lbl_80568948@ha +/* 802C31E4 002BEE44 38 00 00 10 */ li r0, 0x10 +/* 802C31E8 002BEE48 38 84 89 48 */ addi r4, r4, lbl_80568948@l +/* 802C31EC 002BEE4C 7C 84 2A 14 */ add r4, r4, r5 +/* 802C31F0 002BEE50 98 04 02 14 */ stb r0, 0x214(r4) +lbl_802C31F4: +/* 802C31F4 002BEE54 8B E3 00 12 */ lbz r31, 0x12(r3) +/* 802C31F8 002BEE58 38 63 00 04 */ addi r3, r3, 4 +/* 802C31FC 002BEE5C 4B FF AA B1 */ bl func_802BDCAC +/* 802C3200 002BEE60 7F C3 F3 78 */ mr r3, r30 +/* 802C3204 002BEE64 38 80 00 00 */ li r4, 0 +/* 802C3208 002BEE68 38 A0 00 20 */ li r5, 0x20 +/* 802C320C 002BEE6C 4B D4 0E F9 */ bl memset +/* 802C3210 002BEE70 38 60 00 01 */ li r3, 1 +/* 802C3214 002BEE74 38 00 00 FF */ li r0, 0xff +/* 802C3218 002BEE78 9B FE 00 12 */ stb r31, 0x12(r30) +/* 802C321C 002BEE7C 98 7E 00 1C */ stb r3, 0x1c(r30) +/* 802C3220 002BEE80 98 1E 00 16 */ stb r0, 0x16(r30) +/* 802C3224 002BEE84 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C3228 002BEE88 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C322C 002BEE8C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C3230 002BEE90 7C 08 03 A6 */ mtlr r0 +/* 802C3234 002BEE94 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C3238 002BEE98 4E 80 00 20 */ blr + +.global func_802C323C +func_802C323C: +/* 802C323C 002BEE9C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C3240 002BEEA0 7C 08 02 A6 */ mflr r0 +/* 802C3244 002BEEA4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C3248 002BEEA8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C324C 002BEEAC 4B F0 3E D9 */ bl _savegpr_26 +/* 802C3250 002BEEB0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C3254 002BEEB4 7C 7A 1B 78 */ mr r26, r3 +/* 802C3258 002BEEB8 7C 9B 23 78 */ mr r27, r4 +/* 802C325C 002BEEBC 7C BC 2B 78 */ mr r28, r5 +/* 802C3260 002BEEC0 28 00 00 05 */ cmplwi r0, 5 +/* 802C3264 002BEEC4 7C DD 33 78 */ mr r29, r6 +/* 802C3268 002BEEC8 7C FE 3B 78 */ mr r30, r7 +/* 802C326C 002BEECC 7D 1F 43 78 */ mr r31, r8 +/* 802C3270 002BEED0 41 80 00 18 */ blt lbl_802C3288 +/* 802C3274 002BEED4 3C 80 80 44 */ lis r4, lbl_80440A84@ha +/* 802C3278 002BEED8 7F C5 F3 78 */ mr r5, r30 +/* 802C327C 002BEEDC 38 84 0A 84 */ addi r4, r4, lbl_80440A84@l +/* 802C3280 002BEEE0 38 60 05 04 */ li r3, 0x504 +/* 802C3284 002BEEE4 4B FF 9C A5 */ bl func_802BCF28 +lbl_802C3288: +/* 802C3288 002BEEE8 38 00 00 01 */ li r0, 1 +/* 802C328C 002BEEEC 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C3290 002BEEF0 9B 7A 00 16 */ stb r27, 0x16(r26) +/* 802C3294 002BEEF4 98 1A 00 18 */ stb r0, 0x18(r26) +/* 802C3298 002BEEF8 B3 9A 00 0E */ sth r28, 0xe(r26) +/* 802C329C 002BEEFC 9B DA 00 13 */ stb r30, 0x13(r26) +/* 802C32A0 002BEF00 9B FA 00 15 */ stb r31, 0x15(r26) +/* 802C32A4 002BEF04 41 82 00 3C */ beq lbl_802C32E0 +/* 802C32A8 002BEF08 38 7A 00 04 */ addi r3, r26, 4 +/* 802C32AC 002BEF0C 4B FF AA 01 */ bl func_802BDCAC +/* 802C32B0 002BEF10 A0 7D 00 00 */ lhz r3, 0(r29) +/* 802C32B4 002BEF14 2C 03 00 00 */ cmpwi r3, 0 +/* 802C32B8 002BEF18 41 82 00 28 */ beq lbl_802C32E0 +/* 802C32BC 002BEF1C 4B FF 67 F1 */ bl func_802B9AAC +/* 802C32C0 002BEF20 2C 03 00 00 */ cmpwi r3, 0 +/* 802C32C4 002BEF24 90 7A 00 04 */ stw r3, 4(r26) +/* 802C32C8 002BEF28 41 82 00 18 */ beq lbl_802C32E0 +/* 802C32CC 002BEF2C A0 1D 00 00 */ lhz r0, 0(r29) +/* 802C32D0 002BEF30 B0 1A 00 00 */ sth r0, 0(r26) +/* 802C32D4 002BEF34 80 9D 00 04 */ lwz r4, 4(r29) +/* 802C32D8 002BEF38 A0 BD 00 00 */ lhz r5, 0(r29) +/* 802C32DC 002BEF3C 4B D4 0D 25 */ bl memcpy +lbl_802C32E0: +/* 802C32E0 002BEF40 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C32E4 002BEF44 4B F0 3E 8D */ bl _restgpr_26 +/* 802C32E8 002BEF48 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C32EC 002BEF4C 7C 08 03 A6 */ mtlr r0 +/* 802C32F0 002BEF50 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C32F4 002BEF54 4E 80 00 20 */ blr + +.global func_802C32F8 +func_802C32F8: +/* 802C32F8 002BEF58 80 ED 8A 08 */ lwz r7, lbl_8063DCC8-_SDA_BASE_(r13) +/* 802C32FC 002BEF5C 54 89 F6 BE */ rlwinm r9, r4, 0x1e, 0x1a, 0x1f +/* 802C3300 002BEF60 39 00 00 00 */ li r8, 0 +/* 802C3304 002BEF64 88 A7 00 00 */ lbz r5, 0(r7) +/* 802C3308 002BEF68 48 00 00 30 */ b lbl_802C3338 +lbl_802C330C: +/* 802C330C 002BEF6C 80 87 00 04 */ lwz r4, 4(r7) +/* 802C3310 002BEF70 55 06 0D FC */ rlwinm r6, r8, 1, 0x17, 0x1e +/* 802C3314 002BEF74 7C 04 30 AE */ lbzx r0, r4, r6 +/* 802C3318 002BEF78 7C 09 00 40 */ cmplw r9, r0 +/* 802C331C 002BEF7C 40 82 00 18 */ bne lbl_802C3334 +/* 802C3320 002BEF80 7C 84 32 14 */ add r4, r4, r6 +/* 802C3324 002BEF84 88 04 00 01 */ lbz r0, 1(r4) +/* 802C3328 002BEF88 98 03 00 15 */ stb r0, 0x15(r3) +/* 802C332C 002BEF8C 38 60 00 01 */ li r3, 1 +/* 802C3330 002BEF90 4E 80 00 20 */ blr +lbl_802C3334: +/* 802C3334 002BEF94 39 08 00 01 */ addi r8, r8, 1 +lbl_802C3338: +/* 802C3338 002BEF98 55 00 06 3E */ clrlwi r0, r8, 0x18 +/* 802C333C 002BEF9C 7C 00 28 40 */ cmplw r0, r5 +/* 802C3340 002BEFA0 41 80 FF CC */ blt lbl_802C330C +/* 802C3344 002BEFA4 38 60 00 00 */ li r3, 0 +/* 802C3348 002BEFA8 4E 80 00 20 */ blr + +.global func_802C334C +func_802C334C: +/* 802C334C 002BEFAC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C3350 002BEFB0 7C 08 02 A6 */ mflr r0 +/* 802C3354 002BEFB4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C3358 002BEFB8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C335C 002BEFBC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C3360 002BEFC0 3F C0 80 44 */ lis r30, lbl_80440A00@ha +/* 802C3364 002BEFC4 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l +/* 802C3368 002BEFC8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C336C 002BEFCC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C3370 002BEFD0 28 00 00 05 */ cmplwi r0, 5 +/* 802C3374 002BEFD4 41 80 00 10 */ blt lbl_802C3384 +/* 802C3378 002BEFD8 38 9E 01 E4 */ addi r4, r30, 0x1e4 +/* 802C337C 002BEFDC 38 60 05 04 */ li r3, 0x504 +/* 802C3380 002BEFE0 4B FF 9B 91 */ bl func_802BCF10 +lbl_802C3384: +/* 802C3384 002BEFE4 3C 60 80 57 */ lis r3, lbl_80568948@ha +/* 802C3388 002BEFE8 3B A0 00 00 */ li r29, 0 +/* 802C338C 002BEFEC 3B E3 89 48 */ addi r31, r3, lbl_80568948@l +lbl_802C3390: +/* 802C3390 002BEFF0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C3394 002BEFF4 28 00 00 05 */ cmplwi r0, 5 +/* 802C3398 002BEFF8 41 80 00 24 */ blt lbl_802C33BC +/* 802C339C 002BEFFC 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a +/* 802C33A0 002BF000 38 9E 02 20 */ addi r4, r30, 0x220 +/* 802C33A4 002BF004 7C FF 02 14 */ add r7, r31, r0 +/* 802C33A8 002BF008 57 A5 06 3E */ clrlwi r5, r29, 0x18 +/* 802C33AC 002BF00C 88 C7 00 28 */ lbz r6, 0x28(r7) +/* 802C33B0 002BF010 38 60 05 04 */ li r3, 0x504 +/* 802C33B4 002BF014 88 E7 00 26 */ lbz r7, 0x26(r7) +/* 802C33B8 002BF018 4B FF 9B A1 */ bl func_802BCF58 +lbl_802C33BC: +/* 802C33BC 002BF01C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C33C0 002BF020 28 00 00 05 */ cmplwi r0, 5 +/* 802C33C4 002BF024 41 80 00 28 */ blt lbl_802C33EC +/* 802C33C8 002BF028 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a +/* 802C33CC 002BF02C 38 9E 02 44 */ addi r4, r30, 0x244 +/* 802C33D0 002BF030 7D 1F 02 14 */ add r8, r31, r0 +/* 802C33D4 002BF034 38 60 05 04 */ li r3, 0x504 +/* 802C33D8 002BF038 A0 A8 00 1E */ lhz r5, 0x1e(r8) +/* 802C33DC 002BF03C 88 C8 00 2C */ lbz r6, 0x2c(r8) +/* 802C33E0 002BF040 88 E8 00 23 */ lbz r7, 0x23(r8) +/* 802C33E4 002BF044 89 08 00 22 */ lbz r8, 0x22(r8) +/* 802C33E8 002BF048 4B FF 9B 89 */ bl func_802BCF70 +lbl_802C33EC: +/* 802C33EC 002BF04C 3B BD 00 01 */ addi r29, r29, 1 +/* 802C33F0 002BF050 28 1D 00 10 */ cmplwi r29, 0x10 +/* 802C33F4 002BF054 41 80 FF 9C */ blt lbl_802C3390 +/* 802C33F8 002BF058 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) +/* 802C33FC 002BF05C 28 00 00 05 */ cmplwi r0, 5 +/* 802C3400 002BF060 41 80 00 10 */ blt lbl_802C3410 +/* 802C3404 002BF064 38 9E 02 80 */ addi r4, r30, 0x280 +/* 802C3408 002BF068 38 60 05 04 */ li r3, 0x504 +/* 802C340C 002BF06C 4B FF 9B 05 */ bl func_802BCF10 +lbl_802C3410: +/* 802C3410 002BF070 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C3414 002BF074 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C3418 002BF078 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C341C 002BF07C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C3420 002BF080 7C 08 03 A6 */ mtlr r0 +/* 802C3424 002BF084 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C3428 002BF088 4E 80 00 20 */ blr + +.global func_802C342C +func_802C342C: +/* 802C342C 002BF08C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3430 002BF090 38 80 7D 00 */ li r4, 0x7d00 +/* 802C3434 002BF094 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3438 002BF098 38 00 00 FF */ li r0, 0xff +/* 802C343C 002BF09C B0 83 04 C6 */ sth r4, 0x4c6(r3) +/* 802C3440 002BF0A0 98 03 27 BF */ stb r0, 0x27bf(r3) +/* 802C3444 002BF0A4 4E 80 00 20 */ blr + +.global func_802C3448 +func_802C3448: +/* 802C3448 002BF0A8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C344C 002BF0AC 38 A0 00 00 */ li r5, 0 +/* 802C3450 002BF0B0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C3454 002BF0B4 88 04 01 4D */ lbz r0, 0x14d(r4) +/* 802C3458 002BF0B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C345C 002BF0BC 41 82 00 10 */ beq lbl_802C346C +/* 802C3460 002BF0C0 A0 04 00 34 */ lhz r0, 0x34(r4) +/* 802C3464 002BF0C4 7C 00 18 40 */ cmplw r0, r3 +/* 802C3468 002BF0C8 41 82 00 5C */ beq lbl_802C34C4 +lbl_802C346C: +/* 802C346C 002BF0CC 88 04 02 69 */ lbz r0, 0x269(r4) +/* 802C3470 002BF0D0 38 A0 00 01 */ li r5, 1 +/* 802C3474 002BF0D4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3478 002BF0D8 41 82 00 10 */ beq lbl_802C3488 +/* 802C347C 002BF0DC A0 04 01 50 */ lhz r0, 0x150(r4) +/* 802C3480 002BF0E0 7C 00 18 40 */ cmplw r0, r3 +/* 802C3484 002BF0E4 41 82 00 40 */ beq lbl_802C34C4 +lbl_802C3488: +/* 802C3488 002BF0E8 88 04 03 85 */ lbz r0, 0x385(r4) +/* 802C348C 002BF0EC 38 A0 00 02 */ li r5, 2 +/* 802C3490 002BF0F0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3494 002BF0F4 41 82 00 10 */ beq lbl_802C34A4 +/* 802C3498 002BF0F8 A0 04 02 6C */ lhz r0, 0x26c(r4) +/* 802C349C 002BF0FC 7C 00 18 40 */ cmplw r0, r3 +/* 802C34A0 002BF100 41 82 00 24 */ beq lbl_802C34C4 +lbl_802C34A4: +/* 802C34A4 002BF104 88 04 04 A1 */ lbz r0, 0x4a1(r4) +/* 802C34A8 002BF108 38 A0 00 03 */ li r5, 3 +/* 802C34AC 002BF10C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C34B0 002BF110 41 82 00 10 */ beq lbl_802C34C0 +/* 802C34B4 002BF114 A0 04 03 88 */ lhz r0, 0x388(r4) +/* 802C34B8 002BF118 7C 00 18 40 */ cmplw r0, r3 +/* 802C34BC 002BF11C 41 82 00 08 */ beq lbl_802C34C4 +lbl_802C34C0: +/* 802C34C0 002BF120 38 A0 00 04 */ li r5, 4 +lbl_802C34C4: +/* 802C34C4 002BF124 7C A3 2B 78 */ mr r3, r5 +/* 802C34C8 002BF128 4E 80 00 20 */ blr + +.global func_802C34CC +func_802C34CC: +/* 802C34CC 002BF12C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C34D0 002BF130 7C 08 02 A6 */ mflr r0 +/* 802C34D4 002BF134 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C34D8 002BF138 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C34DC 002BF13C 4B F0 3C 45 */ bl _savegpr_25 +/* 802C34E0 002BF140 3D 00 80 57 */ lis r8, lbl_80568B78@ha +/* 802C34E4 002BF144 7C 7E 1B 78 */ mr r30, r3 +/* 802C34E8 002BF148 39 08 8B 78 */ addi r8, r8, lbl_80568B78@l +/* 802C34EC 002BF14C 7C 99 23 78 */ mr r25, r4 +/* 802C34F0 002BF150 7C BA 2B 78 */ mr r26, r5 +/* 802C34F4 002BF154 7C DB 33 78 */ mr r27, r6 +/* 802C34F8 002BF158 7C FC 3B 78 */ mr r28, r7 +/* 802C34FC 002BF15C 3B A8 00 34 */ addi r29, r8, 0x34 +/* 802C3500 002BF160 3B E0 00 00 */ li r31, 0 +lbl_802C3504: +/* 802C3504 002BF164 88 1D 01 19 */ lbz r0, 0x119(r29) +/* 802C3508 002BF168 2C 00 00 00 */ cmpwi r0, 0 +/* 802C350C 002BF16C 41 82 00 20 */ beq lbl_802C352C +/* 802C3510 002BF170 7F C4 F3 78 */ mr r4, r30 +/* 802C3514 002BF174 38 7D 00 08 */ addi r3, r29, 8 +/* 802C3518 002BF178 38 A0 00 06 */ li r5, 6 +/* 802C351C 002BF17C 4B F0 6E 7D */ bl memcmp +/* 802C3520 002BF180 2C 03 00 00 */ cmpwi r3, 0 +/* 802C3524 002BF184 40 82 00 08 */ bne lbl_802C352C +/* 802C3528 002BF188 48 00 00 18 */ b lbl_802C3540 +lbl_802C352C: +/* 802C352C 002BF18C 3B FF 00 01 */ addi r31, r31, 1 +/* 802C3530 002BF190 3B BD 01 1C */ addi r29, r29, 0x11c +/* 802C3534 002BF194 28 1F 00 04 */ cmplwi r31, 4 +/* 802C3538 002BF198 41 80 FF CC */ blt lbl_802C3504 +/* 802C353C 002BF19C 3B A0 00 00 */ li r29, 0 +lbl_802C3540: +/* 802C3540 002BF1A0 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C3544 002BF1A4 41 82 00 50 */ beq lbl_802C3594 +/* 802C3548 002BF1A8 B3 7D 00 00 */ sth r27, 0(r29) +/* 802C354C 002BF1AC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3550 002BF1B0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3554 002BF1B4 9B 9D 01 1A */ stb r28, 0x11a(r29) +/* 802C3558 002BF1B8 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C355C 002BF1BC 28 00 00 04 */ cmplwi r0, 4 +/* 802C3560 002BF1C0 41 80 02 68 */ blt lbl_802C37C8 +/* 802C3564 002BF1C4 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C3568 002BF1C8 3C 80 80 44 */ lis r4, lbl_80440CC0@ha +/* 802C356C 002BF1CC 88 BE 00 00 */ lbz r5, 0(r30) +/* 802C3570 002BF1D0 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C3574 002BF1D4 88 DE 00 01 */ lbz r6, 1(r30) +/* 802C3578 002BF1D8 38 84 0C C0 */ addi r4, r4, lbl_80440CC0@l +/* 802C357C 002BF1DC 88 FE 00 02 */ lbz r7, 2(r30) +/* 802C3580 002BF1E0 89 1E 00 03 */ lbz r8, 3(r30) +/* 802C3584 002BF1E4 89 3E 00 04 */ lbz r9, 4(r30) +/* 802C3588 002BF1E8 89 5E 00 05 */ lbz r10, 5(r30) +/* 802C358C 002BF1EC 4B FF 9A 15 */ bl func_802BCFA0 +/* 802C3590 002BF1F0 48 00 02 38 */ b lbl_802C37C8 +lbl_802C3594: +/* 802C3594 002BF1F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3598 002BF1F8 38 00 00 04 */ li r0, 4 +/* 802C359C 002BF1FC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C35A0 002BF200 38 80 00 00 */ li r4, 0 +/* 802C35A4 002BF204 3B E3 00 34 */ addi r31, r3, 0x34 +/* 802C35A8 002BF208 7C 09 03 A6 */ mtctr r0 +lbl_802C35AC: +/* 802C35AC 002BF20C 88 1F 01 19 */ lbz r0, 0x119(r31) +/* 802C35B0 002BF210 2C 00 00 00 */ cmpwi r0, 0 +/* 802C35B4 002BF214 40 82 02 08 */ bne lbl_802C37BC +/* 802C35B8 002BF218 38 60 00 01 */ li r3, 1 +/* 802C35BC 002BF21C 38 00 00 00 */ li r0, 0 +/* 802C35C0 002BF220 98 7F 01 19 */ stb r3, 0x119(r31) +/* 802C35C4 002BF224 54 83 06 3E */ clrlwi r3, r4, 0x18 +/* 802C35C8 002BF228 B3 7F 00 00 */ sth r27, 0(r31) +/* 802C35CC 002BF22C 9B 9F 01 1A */ stb r28, 0x11a(r31) +/* 802C35D0 002BF230 B0 1F 00 04 */ sth r0, 4(r31) +/* 802C35D4 002BF234 48 00 5B D5 */ bl func_802C91A8 +/* 802C35D8 002BF238 7F C4 F3 78 */ mr r4, r30 +/* 802C35DC 002BF23C 38 7F 00 08 */ addi r3, r31, 8 +/* 802C35E0 002BF240 38 A0 00 06 */ li r5, 6 +/* 802C35E4 002BF244 4B D4 0A 1D */ bl memcpy +/* 802C35E8 002BF248 2C 19 00 00 */ cmpwi r25, 0 +/* 802C35EC 002BF24C 41 82 00 14 */ beq lbl_802C3600 +/* 802C35F0 002BF250 7F 24 CB 78 */ mr r4, r25 +/* 802C35F4 002BF254 38 7F 00 0E */ addi r3, r31, 0xe +/* 802C35F8 002BF258 38 A0 00 03 */ li r5, 3 +/* 802C35FC 002BF25C 4B D4 0A 05 */ bl memcpy +lbl_802C3600: +/* 802C3600 002BF260 2C 1A 00 00 */ cmpwi r26, 0 +/* 802C3604 002BF264 41 82 00 14 */ beq lbl_802C3618 +/* 802C3608 002BF268 7F 44 D3 78 */ mr r4, r26 +/* 802C360C 002BF26C 38 7F 00 11 */ addi r3, r31, 0x11 +/* 802C3610 002BF270 38 A0 00 F8 */ li r5, 0xf8 +/* 802C3614 002BF274 4B D4 09 ED */ bl memcpy +lbl_802C3618: +/* 802C3618 002BF278 A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C361C 002BF27C 48 00 D5 11 */ bl func_802D0B2C +/* 802C3620 002BF280 A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C3624 002BF284 48 00 D4 8D */ bl func_802D0AB0 +/* 802C3628 002BF288 7F 63 DB 78 */ mr r3, r27 +/* 802C362C 002BF28C 48 00 1F 39 */ bl func_802C5564 +/* 802C3630 002BF290 2C 03 00 00 */ cmpwi r3, 0 +/* 802C3634 002BF294 7C 65 1B 78 */ mr r5, r3 +/* 802C3638 002BF298 41 82 01 78 */ beq lbl_802C37B0 +/* 802C363C 002BF29C 38 00 00 08 */ li r0, 8 +/* 802C3640 002BF2A0 38 C0 00 00 */ li r6, 0 +/* 802C3644 002BF2A4 7C 09 03 A6 */ mtctr r0 +lbl_802C3648: +/* 802C3648 002BF2A8 54 C0 06 3E */ clrlwi r0, r6, 0x18 +/* 802C364C 002BF2AC 7C 83 02 14 */ add r4, r3, r0 +/* 802C3650 002BF2B0 88 04 00 77 */ lbz r0, 0x77(r4) +/* 802C3654 002BF2B4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3658 002BF2B8 41 82 01 50 */ beq lbl_802C37A8 +/* 802C365C 002BF2BC 38 85 00 77 */ addi r4, r5, 0x77 +/* 802C3660 002BF2C0 38 7F 01 10 */ addi r3, r31, 0x110 +/* 802C3664 002BF2C4 38 A0 00 08 */ li r5, 8 +/* 802C3668 002BF2C8 4B D4 09 99 */ bl memcpy +/* 802C366C 002BF2CC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3670 002BF2D0 38 00 CC F9 */ li r0, -13063 +/* 802C3674 002BF2D4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3678 002BF2D8 A0 A3 06 54 */ lhz r5, 0x654(r3) +/* 802C367C 002BF2DC 88 63 06 36 */ lbz r3, 0x636(r3) +/* 802C3680 002BF2E0 70 A4 CC 18 */ andi. r4, r5, 0xcc18 +/* 802C3684 002BF2E4 28 03 00 03 */ cmplwi r3, 3 +/* 802C3688 002BF2E8 7C 9E 00 38 */ and r30, r4, r0 +/* 802C368C 002BF2EC 41 80 00 10 */ blt lbl_802C369C +/* 802C3690 002BF2F0 70 A0 33 06 */ andi. r0, r5, 0x3306 +/* 802C3694 002BF2F4 7C 80 03 78 */ or r0, r4, r0 +/* 802C3698 002BF2F8 54 1E 04 3E */ clrlwi r30, r0, 0x10 +lbl_802C369C: +/* 802C369C 002BF2FC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C36A0 002BF300 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C36A4 002BF304 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C36A8 002BF308 28 00 00 04 */ cmplwi r0, 4 +/* 802C36AC 002BF30C 41 80 00 1C */ blt lbl_802C36C8 +/* 802C36B0 002BF310 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C36B4 002BF314 3C 80 80 44 */ lis r4, lbl_80440D00@ha +/* 802C36B8 002BF318 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C36BC 002BF31C 57 C5 04 3E */ clrlwi r5, r30, 0x10 +/* 802C36C0 002BF320 38 84 0D 00 */ addi r4, r4, lbl_80440D00@l +/* 802C36C4 002BF324 4B FF 98 65 */ bl func_802BCF28 +lbl_802C36C8: +/* 802C36C8 002BF328 A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C36CC 002BF32C 57 C4 04 3E */ clrlwi r4, r30, 0x10 +/* 802C36D0 002BF330 48 00 D0 55 */ bl func_802D0724 +/* 802C36D4 002BF334 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C36D8 002BF338 41 82 00 08 */ beq lbl_802C36E0 +/* 802C36DC 002BF33C B3 DF 00 02 */ sth r30, 2(r31) +lbl_802C36E0: +/* 802C36E0 002BF340 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C36E4 002BF344 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C36E8 002BF348 A0 04 04 C4 */ lhz r0, 0x4c4(r4) +/* 802C36EC 002BF34C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C36F0 002BF350 41 82 00 10 */ beq lbl_802C3700 +/* 802C36F4 002BF354 38 7F 00 08 */ addi r3, r31, 8 +/* 802C36F8 002BF358 38 84 04 C4 */ addi r4, r4, 0x4c4 +/* 802C36FC 002BF35C 48 00 05 99 */ bl func_802C3C94 +lbl_802C3700: +/* 802C3700 002BF360 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3704 002BF364 3B A0 00 00 */ li r29, 0 +/* 802C3708 002BF368 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C370C 002BF36C A3 83 04 C6 */ lhz r28, 0x4c6(r3) +/* 802C3710 002BF370 3B C3 00 34 */ addi r30, r3, 0x34 +lbl_802C3714: +/* 802C3714 002BF374 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C3718 002BF378 2C 00 00 00 */ cmpwi r0, 0 +/* 802C371C 002BF37C 41 82 00 20 */ beq lbl_802C373C +/* 802C3720 002BF380 38 7E 00 08 */ addi r3, r30, 8 +/* 802C3724 002BF384 38 9F 00 08 */ addi r4, r31, 8 +/* 802C3728 002BF388 38 A0 00 06 */ li r5, 6 +/* 802C372C 002BF38C 4B F0 6C 6D */ bl memcmp +/* 802C3730 002BF390 2C 03 00 00 */ cmpwi r3, 0 +/* 802C3734 002BF394 40 82 00 08 */ bne lbl_802C373C +/* 802C3738 002BF398 48 00 00 18 */ b lbl_802C3750 +lbl_802C373C: +/* 802C373C 002BF39C 3B BD 00 01 */ addi r29, r29, 1 +/* 802C3740 002BF3A0 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C3744 002BF3A4 28 1D 00 04 */ cmplwi r29, 4 +/* 802C3748 002BF3A8 41 80 FF CC */ blt lbl_802C3714 +/* 802C374C 002BF3AC 3B C0 00 00 */ li r30, 0 +lbl_802C3750: +/* 802C3750 002BF3B0 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C3754 002BF3B4 41 82 00 20 */ beq lbl_802C3774 +/* 802C3758 002BF3B8 B3 9E 01 0E */ sth r28, 0x10e(r30) +/* 802C375C 002BF3BC 88 1E 01 1A */ lbz r0, 0x11a(r30) +/* 802C3760 002BF3C0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3764 002BF3C4 40 82 00 10 */ bne lbl_802C3774 +/* 802C3768 002BF3C8 A0 7E 00 00 */ lhz r3, 0(r30) +/* 802C376C 002BF3CC 7F 84 E3 78 */ mr r4, r28 +/* 802C3770 002BF3D0 48 00 E4 B5 */ bl func_802D1C24 +lbl_802C3774: +/* 802C3774 002BF3D4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3778 002BF3D8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C377C 002BF3DC 81 83 04 C8 */ lwz r12, 0x4c8(r3) +/* 802C3780 002BF3E0 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C3784 002BF3E4 41 82 00 44 */ beq lbl_802C37C8 +/* 802C3788 002BF3E8 38 7F 00 08 */ addi r3, r31, 8 +/* 802C378C 002BF3EC 38 9F 00 0E */ addi r4, r31, 0xe +/* 802C3790 002BF3F0 38 BF 00 11 */ addi r5, r31, 0x11 +/* 802C3794 002BF3F4 38 DF 01 10 */ addi r6, r31, 0x110 +/* 802C3798 002BF3F8 38 E0 00 01 */ li r7, 1 +/* 802C379C 002BF3FC 7D 89 03 A6 */ mtctr r12 +/* 802C37A0 002BF400 4E 80 04 21 */ bctrl +/* 802C37A4 002BF404 48 00 00 24 */ b lbl_802C37C8 +lbl_802C37A8: +/* 802C37A8 002BF408 38 C6 00 01 */ addi r6, r6, 1 +/* 802C37AC 002BF40C 42 00 FE 9C */ bdnz lbl_802C3648 +lbl_802C37B0: +/* 802C37B0 002BF410 A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C37B4 002BF414 48 00 D2 81 */ bl func_802D0A34 +/* 802C37B8 002BF418 48 00 00 10 */ b lbl_802C37C8 +lbl_802C37BC: +/* 802C37BC 002BF41C 38 84 00 01 */ addi r4, r4, 1 +/* 802C37C0 002BF420 3B FF 01 1C */ addi r31, r31, 0x11c +/* 802C37C4 002BF424 42 00 FD E8 */ bdnz lbl_802C35AC +lbl_802C37C8: +/* 802C37C8 002BF428 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C37CC 002BF42C 4B F0 39 A1 */ bl _restgpr_25 +/* 802C37D0 002BF430 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C37D4 002BF434 7C 08 03 A6 */ mtlr r0 +/* 802C37D8 002BF438 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C37DC 002BF43C 4E 80 00 20 */ blr + +.global func_802C37E0 +func_802C37E0: +/* 802C37E0 002BF440 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C37E4 002BF444 7C 08 02 A6 */ mflr r0 +/* 802C37E8 002BF448 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C37EC 002BF44C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C37F0 002BF450 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C37F4 002BF454 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C37F8 002BF458 3B E0 00 00 */ li r31, 0 +/* 802C37FC 002BF45C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C3800 002BF460 3B C4 00 34 */ addi r30, r4, 0x34 +/* 802C3804 002BF464 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C3808 002BF468 7C 7D 1B 78 */ mr r29, r3 +lbl_802C380C: +/* 802C380C 002BF46C 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C3810 002BF470 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3814 002BF474 41 82 00 20 */ beq lbl_802C3834 +/* 802C3818 002BF478 7F A4 EB 78 */ mr r4, r29 +/* 802C381C 002BF47C 38 7E 00 08 */ addi r3, r30, 8 +/* 802C3820 002BF480 38 A0 00 06 */ li r5, 6 +/* 802C3824 002BF484 4B F0 6B 75 */ bl memcmp +/* 802C3828 002BF488 2C 03 00 00 */ cmpwi r3, 0 +/* 802C382C 002BF48C 40 82 00 08 */ bne lbl_802C3834 +/* 802C3830 002BF490 48 00 00 18 */ b lbl_802C3848 +lbl_802C3834: +/* 802C3834 002BF494 3B FF 00 01 */ addi r31, r31, 1 +/* 802C3838 002BF498 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C383C 002BF49C 28 1F 00 04 */ cmplwi r31, 4 +/* 802C3840 002BF4A0 41 80 FF CC */ blt lbl_802C380C +/* 802C3844 002BF4A4 3B C0 00 00 */ li r30, 0 +lbl_802C3848: +/* 802C3848 002BF4A8 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C384C 002BF4AC 41 82 00 3C */ beq lbl_802C3888 +/* 802C3850 002BF4B0 38 00 00 00 */ li r0, 0 +/* 802C3854 002BF4B4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3858 002BF4B8 98 1E 01 19 */ stb r0, 0x119(r30) +/* 802C385C 002BF4BC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3860 002BF4C0 81 83 04 C8 */ lwz r12, 0x4c8(r3) +/* 802C3864 002BF4C4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C3868 002BF4C8 41 82 00 20 */ beq lbl_802C3888 +/* 802C386C 002BF4CC 7F A3 EB 78 */ mr r3, r29 +/* 802C3870 002BF4D0 38 80 00 00 */ li r4, 0 +/* 802C3874 002BF4D4 38 A0 00 00 */ li r5, 0 +/* 802C3878 002BF4D8 38 C0 00 00 */ li r6, 0 +/* 802C387C 002BF4DC 38 E0 00 00 */ li r7, 0 +/* 802C3880 002BF4E0 7D 89 03 A6 */ mtctr r12 +/* 802C3884 002BF4E4 4E 80 04 21 */ bctrl +lbl_802C3888: +/* 802C3888 002BF4E8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C388C 002BF4EC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C3890 002BF4F0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C3894 002BF4F4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C3898 002BF4F8 7C 08 03 A6 */ mtlr r0 +/* 802C389C 002BF4FC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C38A0 002BF500 4E 80 00 20 */ blr + +.global func_802C38A4 +func_802C38A4: +/* 802C38A4 002BF504 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C38A8 002BF508 7C 08 02 A6 */ mflr r0 +/* 802C38AC 002BF50C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C38B0 002BF510 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C38B4 002BF514 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C38B8 002BF518 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C38BC 002BF51C 3B E3 00 34 */ addi r31, r3, 0x34 +/* 802C38C0 002BF520 93 C1 00 08 */ stw r30, 8(r1) +/* 802C38C4 002BF524 3B C0 00 00 */ li r30, 0 +lbl_802C38C8: +/* 802C38C8 002BF528 88 1F 01 19 */ lbz r0, 0x119(r31) +/* 802C38CC 002BF52C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C38D0 002BF530 41 82 00 10 */ beq lbl_802C38E0 +/* 802C38D4 002BF534 A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C38D8 002BF538 38 80 00 03 */ li r4, 3 +/* 802C38DC 002BF53C 48 01 44 3D */ bl func_802D7D18 +lbl_802C38E0: +/* 802C38E0 002BF540 3B DE 00 01 */ addi r30, r30, 1 +/* 802C38E4 002BF544 3B FF 01 1C */ addi r31, r31, 0x11c +/* 802C38E8 002BF548 28 1E 00 04 */ cmplwi r30, 4 +/* 802C38EC 002BF54C 41 80 FF DC */ blt lbl_802C38C8 +/* 802C38F0 002BF550 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C38F4 002BF554 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C38F8 002BF558 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C38FC 002BF55C 7C 08 03 A6 */ mtlr r0 +/* 802C3900 002BF560 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C3904 002BF564 4E 80 00 20 */ blr + +.global func_802C3908 +func_802C3908: +/* 802C3908 002BF568 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C390C 002BF56C 7C 08 02 A6 */ mflr r0 +/* 802C3910 002BF570 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C3914 002BF574 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C3918 002BF578 4B F0 38 11 */ bl _savegpr_27 +/* 802C391C 002BF57C 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C3920 002BF580 7C 7C 1B 78 */ mr r28, r3 +/* 802C3924 002BF584 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C3928 002BF588 7C 9D 23 78 */ mr r29, r4 +/* 802C392C 002BF58C 88 06 06 40 */ lbz r0, 0x640(r6) +/* 802C3930 002BF590 7C BE 2B 78 */ mr r30, r5 +/* 802C3934 002BF594 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a +/* 802C3938 002BF598 40 82 00 0C */ bne lbl_802C3944 +/* 802C393C 002BF59C 38 60 00 04 */ li r3, 4 +/* 802C3940 002BF5A0 48 00 01 CC */ b lbl_802C3B0C +lbl_802C3944: +/* 802C3944 002BF5A4 3B E6 00 34 */ addi r31, r6, 0x34 +/* 802C3948 002BF5A8 3B 60 00 00 */ li r27, 0 +lbl_802C394C: +/* 802C394C 002BF5AC 88 1F 01 19 */ lbz r0, 0x119(r31) +/* 802C3950 002BF5B0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3954 002BF5B4 41 82 00 20 */ beq lbl_802C3974 +/* 802C3958 002BF5B8 7F 84 E3 78 */ mr r4, r28 +/* 802C395C 002BF5BC 38 7F 00 08 */ addi r3, r31, 8 +/* 802C3960 002BF5C0 38 A0 00 06 */ li r5, 6 +/* 802C3964 002BF5C4 4B F0 6A 35 */ bl memcmp +/* 802C3968 002BF5C8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C396C 002BF5CC 40 82 00 08 */ bne lbl_802C3974 +/* 802C3970 002BF5D0 48 00 00 18 */ b lbl_802C3988 +lbl_802C3974: +/* 802C3974 002BF5D4 3B 7B 00 01 */ addi r27, r27, 1 +/* 802C3978 002BF5D8 3B FF 01 1C */ addi r31, r31, 0x11c +/* 802C397C 002BF5DC 28 1B 00 04 */ cmplwi r27, 4 +/* 802C3980 002BF5E0 41 80 FF CC */ blt lbl_802C394C +/* 802C3984 002BF5E4 3B E0 00 00 */ li r31, 0 +lbl_802C3988: +/* 802C3988 002BF5E8 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C398C 002BF5EC 40 82 00 0C */ bne lbl_802C3998 +/* 802C3990 002BF5F0 38 60 00 07 */ li r3, 7 +/* 802C3994 002BF5F4 48 00 01 78 */ b lbl_802C3B0C +lbl_802C3998: +/* 802C3998 002BF5F8 88 1F 01 1A */ lbz r0, 0x11a(r31) +/* 802C399C 002BF5FC 7C 00 E8 40 */ cmplw r0, r29 +/* 802C39A0 002BF600 40 82 00 0C */ bne lbl_802C39AC +/* 802C39A4 002BF604 38 60 00 00 */ li r3, 0 +/* 802C39A8 002BF608 48 00 01 64 */ b lbl_802C3B0C +lbl_802C39AC: +/* 802C39AC 002BF60C 7F 83 E3 78 */ mr r3, r28 +/* 802C39B0 002BF610 48 00 6E 81 */ bl func_802CA830 +/* 802C39B4 002BF614 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802C39B8 002BF618 28 00 00 01 */ cmplwi r0, 1 +/* 802C39BC 002BF61C 40 82 00 0C */ bne lbl_802C39C8 +/* 802C39C0 002BF620 38 60 00 03 */ li r3, 3 +/* 802C39C4 002BF624 48 00 01 48 */ b lbl_802C3B0C +lbl_802C39C8: +/* 802C39C8 002BF628 88 1F 01 1B */ lbz r0, 0x11b(r31) +/* 802C39CC 002BF62C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C39D0 002BF630 41 82 00 34 */ beq lbl_802C3A04 +/* 802C39D4 002BF634 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C39D8 002BF638 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C39DC 002BF63C 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C39E0 002BF640 28 00 00 05 */ cmplwi r0, 5 +/* 802C39E4 002BF644 41 80 00 18 */ blt lbl_802C39FC +/* 802C39E8 002BF648 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802C39EC 002BF64C 3C 80 80 44 */ lis r4, lbl_80440D20@ha +/* 802C39F0 002BF650 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802C39F4 002BF654 38 84 0D 20 */ addi r4, r4, lbl_80440D20@l +/* 802C39F8 002BF658 4B FF 95 19 */ bl func_802BCF10 +lbl_802C39FC: +/* 802C39FC 002BF65C 38 60 00 02 */ li r3, 2 +/* 802C3A00 002BF660 48 00 01 0C */ b lbl_802C3B0C +lbl_802C3A04: +/* 802C3A04 002BF664 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3A08 002BF668 38 80 00 00 */ li r4, 0 +/* 802C3A0C 002BF66C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3A10 002BF670 38 A0 00 08 */ li r5, 8 +/* 802C3A14 002BF674 38 63 06 24 */ addi r3, r3, 0x624 +/* 802C3A18 002BF678 4B D4 06 ED */ bl memset +/* 802C3A1C 002BF67C 38 7F 00 08 */ addi r3, r31, 8 +/* 802C3A20 002BF680 38 81 00 08 */ addi r4, r1, 8 +/* 802C3A24 002BF684 48 00 56 55 */ bl func_802C9078 +/* 802C3A28 002BF688 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C3A2C 002BF68C 41 82 00 08 */ beq lbl_802C3A34 +/* 802C3A30 002BF690 48 00 00 DC */ b lbl_802C3B0C +lbl_802C3A34: +/* 802C3A34 002BF694 88 61 00 08 */ lbz r3, 8(r1) +/* 802C3A38 002BF698 38 03 00 FE */ addi r0, r3, 0xfe +/* 802C3A3C 002BF69C 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802C3A40 002BF6A0 28 00 00 01 */ cmplwi r0, 1 +/* 802C3A44 002BF6A4 41 81 00 3C */ bgt lbl_802C3A80 +/* 802C3A48 002BF6A8 38 00 00 00 */ li r0, 0 +/* 802C3A4C 002BF6AC 38 9F 00 08 */ addi r4, r31, 8 +/* 802C3A50 002BF6B0 98 01 00 14 */ stb r0, 0x14(r1) +/* 802C3A54 002BF6B4 38 A1 00 0C */ addi r5, r1, 0xc +/* 802C3A58 002BF6B8 38 60 00 80 */ li r3, 0x80 +/* 802C3A5C 002BF6BC 48 00 54 4D */ bl func_802C8EA8 +/* 802C3A60 002BF6C0 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802C3A64 002BF6C4 28 00 00 01 */ cmplwi r0, 1 +/* 802C3A68 002BF6C8 41 82 00 0C */ beq lbl_802C3A74 +/* 802C3A6C 002BF6CC 38 60 00 06 */ li r3, 6 +/* 802C3A70 002BF6D0 48 00 00 9C */ b lbl_802C3B0C +lbl_802C3A74: +/* 802C3A74 002BF6D4 38 00 00 01 */ li r0, 1 +/* 802C3A78 002BF6D8 98 1F 01 1B */ stb r0, 0x11b(r31) +/* 802C3A7C 002BF6DC 48 00 00 6C */ b lbl_802C3AE8 +lbl_802C3A80: +/* 802C3A80 002BF6E0 7F 83 E3 78 */ mr r3, r28 +/* 802C3A84 002BF6E4 48 00 1B 99 */ bl func_802C561C +/* 802C3A88 002BF6E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C3A8C 002BF6EC 41 82 00 38 */ beq lbl_802C3AC4 +/* 802C3A90 002BF6F0 88 03 00 76 */ lbz r0, 0x76(r3) +/* 802C3A94 002BF6F4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802C3A98 002BF6F8 41 82 00 2C */ beq lbl_802C3AC4 +/* 802C3A9C 002BF6FC A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C3AA0 002BF700 38 80 00 00 */ li r4, 0 +/* 802C3AA4 002BF704 48 00 CD 8D */ bl func_802D0830 +/* 802C3AA8 002BF708 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C3AAC 002BF70C 40 82 00 0C */ bne lbl_802C3AB8 +/* 802C3AB0 002BF710 38 60 00 03 */ li r3, 3 +/* 802C3AB4 002BF714 48 00 00 58 */ b lbl_802C3B0C +lbl_802C3AB8: +/* 802C3AB8 002BF718 38 00 00 02 */ li r0, 2 +/* 802C3ABC 002BF71C 98 1F 01 1B */ stb r0, 0x11b(r31) +/* 802C3AC0 002BF720 48 00 00 28 */ b lbl_802C3AE8 +lbl_802C3AC4: +/* 802C3AC4 002BF724 7F 83 E3 78 */ mr r3, r28 +/* 802C3AC8 002BF728 7F A4 EB 78 */ mr r4, r29 +/* 802C3ACC 002BF72C 48 00 D6 5D */ bl func_802D1128 +/* 802C3AD0 002BF730 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C3AD4 002BF734 40 82 00 0C */ bne lbl_802C3AE0 +/* 802C3AD8 002BF738 38 60 00 03 */ li r3, 3 +/* 802C3ADC 002BF73C 48 00 00 30 */ b lbl_802C3B0C +lbl_802C3AE0: +/* 802C3AE0 002BF740 38 00 00 05 */ li r0, 5 +/* 802C3AE4 002BF744 98 1F 01 1B */ stb r0, 0x11b(r31) +lbl_802C3AE8: +/* 802C3AE8 002BF748 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C3AEC 002BF74C 7F 84 E3 78 */ mr r4, r28 +/* 802C3AF0 002BF750 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C3AF4 002BF754 38 A0 00 06 */ li r5, 6 +/* 802C3AF8 002BF758 38 7F 06 26 */ addi r3, r31, 0x626 +/* 802C3AFC 002BF75C 4B D4 05 05 */ bl memcpy +/* 802C3B00 002BF760 9B BF 06 25 */ stb r29, 0x625(r31) +/* 802C3B04 002BF764 38 60 00 01 */ li r3, 1 +/* 802C3B08 002BF768 93 DF 06 2C */ stw r30, 0x62c(r31) +lbl_802C3B0C: +/* 802C3B0C 002BF76C 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C3B10 002BF770 4B F0 36 65 */ bl _restgpr_27 +/* 802C3B14 002BF774 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C3B18 002BF778 7C 08 03 A6 */ mtlr r0 +/* 802C3B1C 002BF77C 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C3B20 002BF780 4E 80 00 20 */ blr + +.global func_802C3B24 +func_802C3B24: +/* 802C3B24 002BF784 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C3B28 002BF788 7C 08 02 A6 */ mflr r0 +/* 802C3B2C 002BF78C 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C3B30 002BF790 38 C0 00 00 */ li r6, 0 +/* 802C3B34 002BF794 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C3B38 002BF798 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C3B3C 002BF79C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C3B40 002BF7A0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C3B44 002BF7A4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C3B48 002BF7A8 88 04 01 4D */ lbz r0, 0x14d(r4) +/* 802C3B4C 002BF7AC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3B50 002BF7B0 41 82 00 10 */ beq lbl_802C3B60 +/* 802C3B54 002BF7B4 A0 04 00 34 */ lhz r0, 0x34(r4) +/* 802C3B58 002BF7B8 7C 00 18 40 */ cmplw r0, r3 +/* 802C3B5C 002BF7BC 41 82 00 5C */ beq lbl_802C3BB8 +lbl_802C3B60: +/* 802C3B60 002BF7C0 88 04 02 69 */ lbz r0, 0x269(r4) +/* 802C3B64 002BF7C4 38 C0 00 01 */ li r6, 1 +/* 802C3B68 002BF7C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3B6C 002BF7CC 41 82 00 10 */ beq lbl_802C3B7C +/* 802C3B70 002BF7D0 A0 04 01 50 */ lhz r0, 0x150(r4) +/* 802C3B74 002BF7D4 7C 00 18 40 */ cmplw r0, r3 +/* 802C3B78 002BF7D8 41 82 00 40 */ beq lbl_802C3BB8 +lbl_802C3B7C: +/* 802C3B7C 002BF7DC 88 04 03 85 */ lbz r0, 0x385(r4) +/* 802C3B80 002BF7E0 38 C0 00 02 */ li r6, 2 +/* 802C3B84 002BF7E4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3B88 002BF7E8 41 82 00 10 */ beq lbl_802C3B98 +/* 802C3B8C 002BF7EC A0 04 02 6C */ lhz r0, 0x26c(r4) +/* 802C3B90 002BF7F0 7C 00 18 40 */ cmplw r0, r3 +/* 802C3B94 002BF7F4 41 82 00 24 */ beq lbl_802C3BB8 +lbl_802C3B98: +/* 802C3B98 002BF7F8 88 04 04 A1 */ lbz r0, 0x4a1(r4) +/* 802C3B9C 002BF7FC 38 C0 00 03 */ li r6, 3 +/* 802C3BA0 002BF800 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3BA4 002BF804 41 82 00 10 */ beq lbl_802C3BB4 +/* 802C3BA8 002BF808 A0 04 03 88 */ lhz r0, 0x388(r4) +/* 802C3BAC 002BF80C 7C 00 18 40 */ cmplw r0, r3 +/* 802C3BB0 002BF810 41 82 00 08 */ beq lbl_802C3BB8 +lbl_802C3BB4: +/* 802C3BB4 002BF814 38 C0 00 04 */ li r6, 4 +lbl_802C3BB8: +/* 802C3BB8 002BF818 28 06 00 04 */ cmplwi r6, 4 +/* 802C3BBC 002BF81C 40 80 00 BC */ bge lbl_802C3C78 +/* 802C3BC0 002BF820 1C 06 01 1C */ mulli r0, r6, 0x11c +/* 802C3BC4 002BF824 3F C0 80 57 */ lis r30, lbl_80568B78@ha +/* 802C3BC8 002BF828 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l +/* 802C3BCC 002BF82C 7F BE 02 14 */ add r29, r30, r0 +/* 802C3BD0 002BF830 48 00 00 08 */ b lbl_802C3BD8 +/* 802C3BD4 002BF834 48 00 00 A4 */ b lbl_802C3C78 +lbl_802C3BD8: +/* 802C3BD8 002BF838 88 1D 01 4F */ lbz r0, 0x14f(r29) +/* 802C3BDC 002BF83C 28 00 00 02 */ cmplwi r0, 2 +/* 802C3BE0 002BF840 40 82 00 6C */ bne lbl_802C3C4C +/* 802C3BE4 002BF844 2C 05 00 00 */ cmpwi r5, 0 +/* 802C3BE8 002BF848 41 82 00 10 */ beq lbl_802C3BF8 +/* 802C3BEC 002BF84C 38 00 00 00 */ li r0, 0 +/* 802C3BF0 002BF850 98 1D 01 4F */ stb r0, 0x14f(r29) +/* 802C3BF4 002BF854 48 00 00 0C */ b lbl_802C3C00 +lbl_802C3BF8: +/* 802C3BF8 002BF858 38 00 00 03 */ li r0, 3 +/* 802C3BFC 002BF85C 98 1D 01 4F */ stb r0, 0x14f(r29) +lbl_802C3C00: +/* 802C3C00 002BF860 88 1D 01 4E */ lbz r0, 0x14e(r29) +/* 802C3C04 002BF864 38 7D 00 3C */ addi r3, r29, 0x3c +/* 802C3C08 002BF868 7C 00 00 34 */ cntlzw r0, r0 +/* 802C3C0C 002BF86C 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f +/* 802C3C10 002BF870 48 00 D5 19 */ bl func_802D1128 +/* 802C3C14 002BF874 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C3C18 002BF878 40 82 00 60 */ bne lbl_802C3C78 +/* 802C3C1C 002BF87C 3B C0 00 00 */ li r30, 0 +/* 802C3C20 002BF880 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C3C24 002BF884 9B DD 01 4F */ stb r30, 0x14f(r29) +/* 802C3C28 002BF888 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C3C2C 002BF88C 81 9F 06 2C */ lwz r12, 0x62c(r31) +/* 802C3C30 002BF890 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C3C34 002BF894 41 82 00 44 */ beq lbl_802C3C78 +/* 802C3C38 002BF898 38 7F 06 24 */ addi r3, r31, 0x624 +/* 802C3C3C 002BF89C 7D 89 03 A6 */ mtctr r12 +/* 802C3C40 002BF8A0 4E 80 04 21 */ bctrl +/* 802C3C44 002BF8A4 93 DF 06 2C */ stw r30, 0x62c(r31) +/* 802C3C48 002BF8A8 48 00 00 30 */ b lbl_802C3C78 +lbl_802C3C4C: +/* 802C3C4C 002BF8AC 28 00 00 04 */ cmplwi r0, 4 +/* 802C3C50 002BF8B0 40 82 00 28 */ bne lbl_802C3C78 +/* 802C3C54 002BF8B4 3B E0 00 00 */ li r31, 0 +/* 802C3C58 002BF8B8 9B FD 01 4F */ stb r31, 0x14f(r29) +/* 802C3C5C 002BF8BC 81 9E 06 2C */ lwz r12, 0x62c(r30) +/* 802C3C60 002BF8C0 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C3C64 002BF8C4 41 82 00 14 */ beq lbl_802C3C78 +/* 802C3C68 002BF8C8 38 7E 06 24 */ addi r3, r30, 0x624 +/* 802C3C6C 002BF8CC 7D 89 03 A6 */ mtctr r12 +/* 802C3C70 002BF8D0 4E 80 04 21 */ bctrl +/* 802C3C74 002BF8D4 93 FE 06 2C */ stw r31, 0x62c(r30) +lbl_802C3C78: +/* 802C3C78 002BF8D8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C3C7C 002BF8DC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C3C80 002BF8E0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C3C84 002BF8E4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C3C88 002BF8E8 7C 08 03 A6 */ mtlr r0 +/* 802C3C8C 002BF8EC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C3C90 002BF8F0 4E 80 00 20 */ blr + +.global func_802C3C94 +func_802C3C94: +/* 802C3C94 002BF8F4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C3C98 002BF8F8 7C 08 02 A6 */ mflr r0 +/* 802C3C9C 002BF8FC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C3CA0 002BF900 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C3CA4 002BF904 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C3CA8 002BF908 3F C0 80 44 */ lis r30, lbl_80440CC0@ha +/* 802C3CAC 002BF90C 3B DE 0C C0 */ addi r30, r30, lbl_80440CC0@l +/* 802C3CB0 002BF910 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C3CB4 002BF914 7C 9D 23 78 */ mr r29, r4 +/* 802C3CB8 002BF918 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C3CBC 002BF91C 7C 7C 1B 78 */ mr r28, r3 +/* 802C3CC0 002BF920 48 00 2C A1 */ bl func_802C6960 +/* 802C3CC4 002BF924 A0 9D 00 00 */ lhz r4, 0(r29) +/* 802C3CC8 002BF928 7C 7F 1B 78 */ mr r31, r3 +/* 802C3CCC 002BF92C 2C 04 00 00 */ cmpwi r4, 0 +/* 802C3CD0 002BF930 41 82 01 1C */ beq lbl_802C3DEC +/* 802C3CD4 002BF934 54 80 07 FF */ clrlwi. r0, r4, 0x1f +/* 802C3CD8 002BF938 41 82 00 3C */ beq lbl_802C3D14 +/* 802C3CDC 002BF93C 88 03 00 00 */ lbz r0, 0(r3) +/* 802C3CE0 002BF940 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a +/* 802C3CE4 002BF944 40 82 00 30 */ bne lbl_802C3D14 +/* 802C3CE8 002BF948 54 85 04 3C */ rlwinm r5, r4, 0, 0x10, 0x1e +/* 802C3CEC 002BF94C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3CF0 002BF950 B0 BD 00 00 */ sth r5, 0(r29) +/* 802C3CF4 002BF954 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3CF8 002BF958 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C3CFC 002BF95C 28 00 00 03 */ cmplwi r0, 3 +/* 802C3D00 002BF960 41 80 00 14 */ blt lbl_802C3D14 +/* 802C3D04 002BF964 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C3D08 002BF968 38 9E 00 BC */ addi r4, r30, 0xbc +/* 802C3D0C 002BF96C 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C3D10 002BF970 4B FF 92 19 */ bl func_802BCF28 +lbl_802C3D14: +/* 802C3D14 002BF974 A0 7D 00 00 */ lhz r3, 0(r29) +/* 802C3D18 002BF978 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e +/* 802C3D1C 002BF97C 41 82 00 40 */ beq lbl_802C3D5C +/* 802C3D20 002BF980 88 1F 00 00 */ lbz r0, 0(r31) +/* 802C3D24 002BF984 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802C3D28 002BF988 40 82 00 34 */ bne lbl_802C3D5C +/* 802C3D2C 002BF98C 54 65 07 FA */ rlwinm r5, r3, 0, 0x1f, 0x1d +/* 802C3D30 002BF990 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3D34 002BF994 B0 BD 00 00 */ sth r5, 0(r29) +/* 802C3D38 002BF998 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3D3C 002BF99C 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C3D40 002BF9A0 28 00 00 03 */ cmplwi r0, 3 +/* 802C3D44 002BF9A4 41 80 00 18 */ blt lbl_802C3D5C +/* 802C3D48 002BF9A8 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C3D4C 002BF9AC 38 9E 00 F8 */ addi r4, r30, 0xf8 +/* 802C3D50 002BF9B0 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C3D54 002BF9B4 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 802C3D58 002BF9B8 4B FF 91 D1 */ bl func_802BCF28 +lbl_802C3D5C: +/* 802C3D5C 002BF9BC A0 7D 00 00 */ lhz r3, 0(r29) +/* 802C3D60 002BF9C0 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d +/* 802C3D64 002BF9C4 41 82 00 40 */ beq lbl_802C3DA4 +/* 802C3D68 002BF9C8 88 1F 00 00 */ lbz r0, 0(r31) +/* 802C3D6C 002BF9CC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C3D70 002BF9D0 40 82 00 34 */ bne lbl_802C3DA4 +/* 802C3D74 002BF9D4 54 65 07 B8 */ rlwinm r5, r3, 0, 0x1e, 0x1c +/* 802C3D78 002BF9D8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3D7C 002BF9DC B0 BD 00 00 */ sth r5, 0(r29) +/* 802C3D80 002BF9E0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3D84 002BF9E4 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C3D88 002BF9E8 28 00 00 03 */ cmplwi r0, 3 +/* 802C3D8C 002BF9EC 41 80 00 18 */ blt lbl_802C3DA4 +/* 802C3D90 002BF9F0 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C3D94 002BF9F4 38 9E 01 30 */ addi r4, r30, 0x130 +/* 802C3D98 002BF9F8 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C3D9C 002BF9FC 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 802C3DA0 002BFA00 4B FF 91 89 */ bl func_802BCF28 +lbl_802C3DA4: +/* 802C3DA4 002BFA04 A0 7D 00 00 */ lhz r3, 0(r29) +/* 802C3DA8 002BFA08 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c +/* 802C3DAC 002BFA0C 41 82 00 40 */ beq lbl_802C3DEC +/* 802C3DB0 002BFA10 88 1F 00 01 */ lbz r0, 1(r31) +/* 802C3DB4 002BFA14 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C3DB8 002BFA18 40 82 00 34 */ bne lbl_802C3DEC +/* 802C3DBC 002BFA1C 54 65 07 76 */ rlwinm r5, r3, 0, 0x1d, 0x1b +/* 802C3DC0 002BFA20 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3DC4 002BFA24 B0 BD 00 00 */ sth r5, 0(r29) +/* 802C3DC8 002BFA28 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3DCC 002BFA2C 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C3DD0 002BFA30 28 00 00 03 */ cmplwi r0, 3 +/* 802C3DD4 002BFA34 41 80 00 18 */ blt lbl_802C3DEC +/* 802C3DD8 002BFA38 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C3DDC 002BFA3C 38 9E 01 70 */ addi r4, r30, 0x170 +/* 802C3DE0 002BFA40 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C3DE4 002BFA44 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 802C3DE8 002BFA48 4B FF 91 41 */ bl func_802BCF28 +lbl_802C3DEC: +/* 802C3DEC 002BFA4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C3DF0 002BFA50 3B C0 00 00 */ li r30, 0 +/* 802C3DF4 002BFA54 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C3DF8 002BFA58 3B E3 00 34 */ addi r31, r3, 0x34 +lbl_802C3DFC: +/* 802C3DFC 002BFA5C 88 1F 01 19 */ lbz r0, 0x119(r31) +/* 802C3E00 002BFA60 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3E04 002BFA64 41 82 00 20 */ beq lbl_802C3E24 +/* 802C3E08 002BFA68 7F 84 E3 78 */ mr r4, r28 +/* 802C3E0C 002BFA6C 38 7F 00 08 */ addi r3, r31, 8 +/* 802C3E10 002BFA70 38 A0 00 06 */ li r5, 6 +/* 802C3E14 002BFA74 4B F0 65 85 */ bl memcmp +/* 802C3E18 002BFA78 2C 03 00 00 */ cmpwi r3, 0 +/* 802C3E1C 002BFA7C 40 82 00 08 */ bne lbl_802C3E24 +/* 802C3E20 002BFA80 48 00 00 18 */ b lbl_802C3E38 +lbl_802C3E24: +/* 802C3E24 002BFA84 3B DE 00 01 */ addi r30, r30, 1 +/* 802C3E28 002BFA88 3B FF 01 1C */ addi r31, r31, 0x11c +/* 802C3E2C 002BFA8C 28 1E 00 04 */ cmplwi r30, 4 +/* 802C3E30 002BFA90 41 80 FF CC */ blt lbl_802C3DFC +/* 802C3E34 002BFA94 3B E0 00 00 */ li r31, 0 +lbl_802C3E38: +/* 802C3E38 002BFA98 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C3E3C 002BFA9C 41 82 00 24 */ beq lbl_802C3E60 +/* 802C3E40 002BFAA0 A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C3E44 002BFAA4 A0 9D 00 00 */ lhz r4, 0(r29) +/* 802C3E48 002BFAA8 48 00 D3 91 */ bl func_802D11D8 +/* 802C3E4C 002BFAAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C3E50 002BFAB0 38 60 00 03 */ li r3, 3 +/* 802C3E54 002BFAB4 41 82 00 10 */ beq lbl_802C3E64 +/* 802C3E58 002BFAB8 38 60 00 01 */ li r3, 1 +/* 802C3E5C 002BFABC 48 00 00 08 */ b lbl_802C3E64 +lbl_802C3E60: +/* 802C3E60 002BFAC0 38 60 00 07 */ li r3, 7 +lbl_802C3E64: +/* 802C3E64 002BFAC4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C3E68 002BFAC8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C3E6C 002BFACC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C3E70 002BFAD0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C3E74 002BFAD4 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C3E78 002BFAD8 7C 08 03 A6 */ mtlr r0 +/* 802C3E7C 002BFADC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C3E80 002BFAE0 4E 80 00 20 */ blr + +.global func_802C3E84 +func_802C3E84: +/* 802C3E84 002BFAE4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C3E88 002BFAE8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C3E8C 002BFAEC B0 64 04 C4 */ sth r3, 0x4c4(r4) +/* 802C3E90 002BFAF0 4E 80 00 20 */ blr +lbl_802C3E94: +/* 802C3E94 002BFAF4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C3E98 002BFAF8 7C 08 02 A6 */ mflr r0 +/* 802C3E9C 002BFAFC 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C3EA0 002BFB00 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802C3EA4 002BFB04 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C3EA8 002BFB08 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C3EAC 002BFB0C 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802C3EB0 002BFB10 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802C3EB4 002BFB14 3B BF 00 34 */ addi r29, r31, 0x34 +/* 802C3EB8 002BFB18 93 81 00 20 */ stw r28, 0x20(r1) +/* 802C3EBC 002BFB1C 7C 7C 1B 78 */ mr r28, r3 +/* 802C3EC0 002BFB20 38 7F 05 AC */ addi r3, r31, 0x5ac +/* 802C3EC4 002BFB24 83 DF 05 C4 */ lwz r30, 0x5c4(r31) +/* 802C3EC8 002BFB28 4B FF 96 85 */ bl func_802BD54C +/* 802C3ECC 002BFB2C 38 60 00 00 */ li r3, 0 +/* 802C3ED0 002BFB30 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C3ED4 002BFB34 90 7F 05 C4 */ stw r3, 0x5c4(r31) +/* 802C3ED8 002BFB38 41 82 00 A0 */ beq lbl_802C3F78 +/* 802C3EDC 002BFB3C 88 1C 00 00 */ lbz r0, 0(r28) +/* 802C3EE0 002BFB40 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3EE4 002BFB44 98 01 00 09 */ stb r0, 9(r1) +/* 802C3EE8 002BFB48 40 82 00 78 */ bne lbl_802C3F60 +/* 802C3EEC 002BFB4C 98 61 00 08 */ stb r3, 8(r1) +/* 802C3EF0 002BFB50 38 00 00 04 */ li r0, 4 +/* 802C3EF4 002BFB54 38 E0 00 00 */ li r7, 0 +/* 802C3EF8 002BFB58 88 9C 00 02 */ lbz r4, 2(r28) +/* 802C3EFC 002BFB5C 88 7C 00 04 */ lbz r3, 4(r28) +/* 802C3F00 002BFB60 54 85 40 2E */ slwi r5, r4, 8 +/* 802C3F04 002BFB64 88 DC 00 01 */ lbz r6, 1(r28) +/* 802C3F08 002BFB68 88 9C 00 03 */ lbz r4, 3(r28) +/* 802C3F0C 002BFB6C 54 63 40 2E */ slwi r3, r3, 8 +/* 802C3F10 002BFB70 7C A6 2A 14 */ add r5, r6, r5 +/* 802C3F14 002BFB74 7C 64 1A 14 */ add r3, r4, r3 +/* 802C3F18 002BFB78 B0 61 00 10 */ sth r3, 0x10(r1) +/* 802C3F1C 002BFB7C 54 A3 04 3E */ clrlwi r3, r5, 0x10 +/* 802C3F20 002BFB80 7C 09 03 A6 */ mtctr r0 +lbl_802C3F24: +/* 802C3F24 002BFB84 88 1D 01 19 */ lbz r0, 0x119(r29) +/* 802C3F28 002BFB88 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3F2C 002BFB8C 41 82 00 24 */ beq lbl_802C3F50 +/* 802C3F30 002BFB90 A0 1D 00 00 */ lhz r0, 0(r29) +/* 802C3F34 002BFB94 7C 03 00 40 */ cmplw r3, r0 +/* 802C3F38 002BFB98 40 82 00 18 */ bne lbl_802C3F50 +/* 802C3F3C 002BFB9C 38 61 00 0A */ addi r3, r1, 0xa +/* 802C3F40 002BFBA0 38 9D 00 08 */ addi r4, r29, 8 +/* 802C3F44 002BFBA4 38 A0 00 06 */ li r5, 6 +/* 802C3F48 002BFBA8 4B D4 00 B9 */ bl memcpy +/* 802C3F4C 002BFBAC 48 00 00 1C */ b lbl_802C3F68 +lbl_802C3F50: +/* 802C3F50 002BFBB0 38 E7 00 01 */ addi r7, r7, 1 +/* 802C3F54 002BFBB4 3B BD 01 1C */ addi r29, r29, 0x11c +/* 802C3F58 002BFBB8 42 00 FF CC */ bdnz lbl_802C3F24 +/* 802C3F5C 002BFBBC 48 00 00 0C */ b lbl_802C3F68 +lbl_802C3F60: +/* 802C3F60 002BFBC0 38 00 00 0A */ li r0, 0xa +/* 802C3F64 002BFBC4 98 01 00 08 */ stb r0, 8(r1) +lbl_802C3F68: +/* 802C3F68 002BFBC8 7F CC F3 78 */ mr r12, r30 +/* 802C3F6C 002BFBCC 38 61 00 08 */ addi r3, r1, 8 +/* 802C3F70 002BFBD0 7D 89 03 A6 */ mtctr r12 +/* 802C3F74 002BFBD4 4E 80 04 21 */ bctrl +lbl_802C3F78: +/* 802C3F78 002BFBD8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C3F7C 002BFBDC 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802C3F80 002BFBE0 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802C3F84 002BFBE4 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802C3F88 002BFBE8 83 81 00 20 */ lwz r28, 0x20(r1) +/* 802C3F8C 002BFBEC 7C 08 03 A6 */ mtlr r0 +/* 802C3F90 002BFBF0 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C3F94 002BFBF4 4E 80 00 20 */ blr + +.global func_802C3F98 +func_802C3F98: +/* 802C3F98 002BFBF8 88 03 00 00 */ lbz r0, 0(r3) +/* 802C3F9C 002BFBFC 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C3FA0 002BFC00 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C3FA4 002BFC04 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3FA8 002BFC08 38 C4 00 34 */ addi r6, r4, 0x34 +/* 802C3FAC 002BFC0C 4C 82 00 20 */ bnelr +/* 802C3FB0 002BFC10 88 83 00 02 */ lbz r4, 2(r3) +/* 802C3FB4 002BFC14 38 00 00 04 */ li r0, 4 +/* 802C3FB8 002BFC18 88 A3 00 01 */ lbz r5, 1(r3) +/* 802C3FBC 002BFC1C 54 84 40 2E */ slwi r4, r4, 8 +/* 802C3FC0 002BFC20 7C 85 22 14 */ add r4, r5, r4 +/* 802C3FC4 002BFC24 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 802C3FC8 002BFC28 7C 09 03 A6 */ mtctr r0 +lbl_802C3FCC: +/* 802C3FCC 002BFC2C 88 06 01 19 */ lbz r0, 0x119(r6) +/* 802C3FD0 002BFC30 2C 00 00 00 */ cmpwi r0, 0 +/* 802C3FD4 002BFC34 41 82 00 44 */ beq lbl_802C4018 +/* 802C3FD8 002BFC38 A0 06 00 00 */ lhz r0, 0(r6) +/* 802C3FDC 002BFC3C 7C 00 20 40 */ cmplw r0, r4 +/* 802C3FE0 002BFC40 40 82 00 38 */ bne lbl_802C4018 +/* 802C3FE4 002BFC44 88 03 00 03 */ lbz r0, 3(r3) +/* 802C3FE8 002BFC48 98 06 01 18 */ stb r0, 0x118(r6) +/* 802C3FEC 002BFC4C 88 03 00 05 */ lbz r0, 5(r3) +/* 802C3FF0 002BFC50 88 83 00 04 */ lbz r4, 4(r3) +/* 802C3FF4 002BFC54 54 00 40 2E */ slwi r0, r0, 8 +/* 802C3FF8 002BFC58 7C 04 02 14 */ add r0, r4, r0 +/* 802C3FFC 002BFC5C B0 06 01 0A */ sth r0, 0x10a(r6) +/* 802C4000 002BFC60 88 03 00 07 */ lbz r0, 7(r3) +/* 802C4004 002BFC64 88 63 00 06 */ lbz r3, 6(r3) +/* 802C4008 002BFC68 54 00 40 2E */ slwi r0, r0, 8 +/* 802C400C 002BFC6C 7C 03 02 14 */ add r0, r3, r0 +/* 802C4010 002BFC70 B0 06 01 0C */ sth r0, 0x10c(r6) +/* 802C4014 002BFC74 4E 80 00 20 */ blr +lbl_802C4018: +/* 802C4018 002BFC78 38 C6 01 1C */ addi r6, r6, 0x11c +/* 802C401C 002BFC7C 42 00 FF B0 */ bdnz lbl_802C3FCC +/* 802C4020 002BFC80 4E 80 00 20 */ blr + +.global func_802C4024 +func_802C4024: +/* 802C4024 002BFC84 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C4028 002BFC88 7C 08 02 A6 */ mflr r0 +/* 802C402C 002BFC8C 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C4030 002BFC90 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C4034 002BFC94 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C4038 002BFC98 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C403C 002BFC9C 3B E4 00 34 */ addi r31, r4, 0x34 +/* 802C4040 002BFCA0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C4044 002BFCA4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C4048 002BFCA8 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C404C 002BFCAC 88 03 00 00 */ lbz r0, 0(r3) +/* 802C4050 002BFCB0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4054 002BFCB4 40 82 01 DC */ bne lbl_802C4230 +/* 802C4058 002BFCB8 88 83 00 02 */ lbz r4, 2(r3) +/* 802C405C 002BFCBC 38 00 00 04 */ li r0, 4 +/* 802C4060 002BFCC0 88 A3 00 01 */ lbz r5, 1(r3) +/* 802C4064 002BFCC4 54 84 40 2E */ slwi r4, r4, 8 +/* 802C4068 002BFCC8 7C 85 22 14 */ add r4, r5, r4 +/* 802C406C 002BFCCC 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 802C4070 002BFCD0 7C 09 03 A6 */ mtctr r0 +lbl_802C4074: +/* 802C4074 002BFCD4 88 1F 01 19 */ lbz r0, 0x119(r31) +/* 802C4078 002BFCD8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C407C 002BFCDC 41 82 01 AC */ beq lbl_802C4228 +/* 802C4080 002BFCE0 A0 1F 00 00 */ lhz r0, 0(r31) +/* 802C4084 002BFCE4 7C 00 20 40 */ cmplw r0, r4 +/* 802C4088 002BFCE8 40 82 01 A0 */ bne lbl_802C4228 +/* 802C408C 002BFCEC 88 03 00 03 */ lbz r0, 3(r3) +/* 802C4090 002BFCF0 98 1F 01 10 */ stb r0, 0x110(r31) +/* 802C4094 002BFCF4 88 03 00 04 */ lbz r0, 4(r3) +/* 802C4098 002BFCF8 98 1F 01 11 */ stb r0, 0x111(r31) +/* 802C409C 002BFCFC 88 03 00 05 */ lbz r0, 5(r3) +/* 802C40A0 002BFD00 98 1F 01 12 */ stb r0, 0x112(r31) +/* 802C40A4 002BFD04 88 03 00 06 */ lbz r0, 6(r3) +/* 802C40A8 002BFD08 98 1F 01 13 */ stb r0, 0x113(r31) +/* 802C40AC 002BFD0C 88 03 00 07 */ lbz r0, 7(r3) +/* 802C40B0 002BFD10 98 1F 01 14 */ stb r0, 0x114(r31) +/* 802C40B4 002BFD14 88 03 00 08 */ lbz r0, 8(r3) +/* 802C40B8 002BFD18 98 1F 01 15 */ stb r0, 0x115(r31) +/* 802C40BC 002BFD1C 88 03 00 09 */ lbz r0, 9(r3) +/* 802C40C0 002BFD20 98 1F 01 16 */ stb r0, 0x116(r31) +/* 802C40C4 002BFD24 88 03 00 0A */ lbz r0, 0xa(r3) +/* 802C40C8 002BFD28 7C 83 23 78 */ mr r3, r4 +/* 802C40CC 002BFD2C 98 1F 01 17 */ stb r0, 0x117(r31) +/* 802C40D0 002BFD30 48 00 14 95 */ bl func_802C5564 +/* 802C40D4 002BFD34 2C 03 00 00 */ cmpwi r3, 0 +/* 802C40D8 002BFD38 41 82 00 14 */ beq lbl_802C40EC +/* 802C40DC 002BFD3C 38 9F 01 10 */ addi r4, r31, 0x110 +/* 802C40E0 002BFD40 38 A0 00 08 */ li r5, 8 +/* 802C40E4 002BFD44 38 63 00 77 */ addi r3, r3, 0x77 +/* 802C40E8 002BFD48 4B D3 FF 19 */ bl memcpy +lbl_802C40EC: +/* 802C40EC 002BFD4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C40F0 002BFD50 38 00 CC F9 */ li r0, -13063 +/* 802C40F4 002BFD54 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C40F8 002BFD58 A0 A3 06 54 */ lhz r5, 0x654(r3) +/* 802C40FC 002BFD5C 88 63 06 36 */ lbz r3, 0x636(r3) +/* 802C4100 002BFD60 70 A4 CC 18 */ andi. r4, r5, 0xcc18 +/* 802C4104 002BFD64 28 03 00 03 */ cmplwi r3, 3 +/* 802C4108 002BFD68 7C 9E 00 38 */ and r30, r4, r0 +/* 802C410C 002BFD6C 41 80 00 10 */ blt lbl_802C411C +/* 802C4110 002BFD70 70 A0 33 06 */ andi. r0, r5, 0x3306 +/* 802C4114 002BFD74 7C 80 03 78 */ or r0, r4, r0 +/* 802C4118 002BFD78 54 1E 04 3E */ clrlwi r30, r0, 0x10 +lbl_802C411C: +/* 802C411C 002BFD7C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4120 002BFD80 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C4124 002BFD84 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C4128 002BFD88 28 00 00 04 */ cmplwi r0, 4 +/* 802C412C 002BFD8C 41 80 00 1C */ blt lbl_802C4148 +/* 802C4130 002BFD90 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C4134 002BFD94 3C 80 80 44 */ lis r4, lbl_80440D00@ha +/* 802C4138 002BFD98 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C413C 002BFD9C 57 C5 04 3E */ clrlwi r5, r30, 0x10 +/* 802C4140 002BFDA0 38 84 0D 00 */ addi r4, r4, lbl_80440D00@l +/* 802C4144 002BFDA4 4B FF 8D E5 */ bl func_802BCF28 +lbl_802C4148: +/* 802C4148 002BFDA8 A0 7F 00 00 */ lhz r3, 0(r31) +/* 802C414C 002BFDAC 57 C4 04 3E */ clrlwi r4, r30, 0x10 +/* 802C4150 002BFDB0 48 00 C5 D5 */ bl func_802D0724 +/* 802C4154 002BFDB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C4158 002BFDB8 41 82 00 08 */ beq lbl_802C4160 +/* 802C415C 002BFDBC B3 DF 00 02 */ sth r30, 2(r31) +lbl_802C4160: +/* 802C4160 002BFDC0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C4164 002BFDC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C4168 002BFDC8 A0 04 04 C4 */ lhz r0, 0x4c4(r4) +/* 802C416C 002BFDCC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4170 002BFDD0 41 82 00 10 */ beq lbl_802C4180 +/* 802C4174 002BFDD4 38 7F 00 08 */ addi r3, r31, 8 +/* 802C4178 002BFDD8 38 84 04 C4 */ addi r4, r4, 0x4c4 +/* 802C417C 002BFDDC 4B FF FB 19 */ bl func_802C3C94 +lbl_802C4180: +/* 802C4180 002BFDE0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4184 002BFDE4 3B C0 00 00 */ li r30, 0 +/* 802C4188 002BFDE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C418C 002BFDEC A3 83 04 C6 */ lhz r28, 0x4c6(r3) +/* 802C4190 002BFDF0 3B A3 00 34 */ addi r29, r3, 0x34 +lbl_802C4194: +/* 802C4194 002BFDF4 88 1D 01 19 */ lbz r0, 0x119(r29) +/* 802C4198 002BFDF8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C419C 002BFDFC 41 82 00 20 */ beq lbl_802C41BC +/* 802C41A0 002BFE00 38 7D 00 08 */ addi r3, r29, 8 +/* 802C41A4 002BFE04 38 9F 00 08 */ addi r4, r31, 8 +/* 802C41A8 002BFE08 38 A0 00 06 */ li r5, 6 +/* 802C41AC 002BFE0C 4B F0 61 ED */ bl memcmp +/* 802C41B0 002BFE10 2C 03 00 00 */ cmpwi r3, 0 +/* 802C41B4 002BFE14 40 82 00 08 */ bne lbl_802C41BC +/* 802C41B8 002BFE18 48 00 00 18 */ b lbl_802C41D0 +lbl_802C41BC: +/* 802C41BC 002BFE1C 3B DE 00 01 */ addi r30, r30, 1 +/* 802C41C0 002BFE20 3B BD 01 1C */ addi r29, r29, 0x11c +/* 802C41C4 002BFE24 28 1E 00 04 */ cmplwi r30, 4 +/* 802C41C8 002BFE28 41 80 FF CC */ blt lbl_802C4194 +/* 802C41CC 002BFE2C 3B A0 00 00 */ li r29, 0 +lbl_802C41D0: +/* 802C41D0 002BFE30 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C41D4 002BFE34 41 82 00 20 */ beq lbl_802C41F4 +/* 802C41D8 002BFE38 B3 9D 01 0E */ sth r28, 0x10e(r29) +/* 802C41DC 002BFE3C 88 1D 01 1A */ lbz r0, 0x11a(r29) +/* 802C41E0 002BFE40 2C 00 00 00 */ cmpwi r0, 0 +/* 802C41E4 002BFE44 40 82 00 10 */ bne lbl_802C41F4 +/* 802C41E8 002BFE48 A0 7D 00 00 */ lhz r3, 0(r29) +/* 802C41EC 002BFE4C 7F 84 E3 78 */ mr r4, r28 +/* 802C41F0 002BFE50 48 00 DA 35 */ bl func_802D1C24 +lbl_802C41F4: +/* 802C41F4 002BFE54 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C41F8 002BFE58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C41FC 002BFE5C 81 83 04 C8 */ lwz r12, 0x4c8(r3) +/* 802C4200 002BFE60 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C4204 002BFE64 41 82 00 2C */ beq lbl_802C4230 +/* 802C4208 002BFE68 38 7F 00 08 */ addi r3, r31, 8 +/* 802C420C 002BFE6C 38 9F 00 0E */ addi r4, r31, 0xe +/* 802C4210 002BFE70 38 BF 00 11 */ addi r5, r31, 0x11 +/* 802C4214 002BFE74 38 DF 01 10 */ addi r6, r31, 0x110 +/* 802C4218 002BFE78 38 E0 00 01 */ li r7, 1 +/* 802C421C 002BFE7C 7D 89 03 A6 */ mtctr r12 +/* 802C4220 002BFE80 4E 80 04 21 */ bctrl +/* 802C4224 002BFE84 48 00 00 0C */ b lbl_802C4230 +lbl_802C4228: +/* 802C4228 002BFE88 3B FF 01 1C */ addi r31, r31, 0x11c +/* 802C422C 002BFE8C 42 00 FE 48 */ bdnz lbl_802C4074 +lbl_802C4230: +/* 802C4230 002BFE90 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C4234 002BFE94 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C4238 002BFE98 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C423C 002BFE9C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C4240 002BFEA0 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C4244 002BFEA4 7C 08 03 A6 */ mtlr r0 +/* 802C4248 002BFEA8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C424C 002BFEAC 4E 80 00 20 */ blr + +.global func_802C4250 +func_802C4250: +/* 802C4250 002BFEB0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C4254 002BFEB4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C4258 002BFEB8 B0 64 04 C6 */ sth r3, 0x4c6(r4) +/* 802C425C 002BFEBC 4E 80 00 20 */ blr + +.global func_802C4260 +func_802C4260: +/* 802C4260 002BFEC0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C4264 002BFEC4 7C 08 02 A6 */ mflr r0 +/* 802C4268 002BFEC8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C426C 002BFECC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C4270 002BFED0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C4274 002BFED4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C4278 002BFED8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C427C 002BFEDC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C4280 002BFEE0 7C 7D 1B 78 */ mr r29, r3 +/* 802C4284 002BFEE4 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802C4288 002BFEE8 28 00 00 03 */ cmplwi r0, 3 +/* 802C428C 002BFEEC 41 80 00 30 */ blt lbl_802C42BC +/* 802C4290 002BFEF0 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C4294 002BFEF4 3C 80 80 44 */ lis r4, lbl_80440EA0@ha +/* 802C4298 002BFEF8 88 BD 00 00 */ lbz r5, 0(r29) +/* 802C429C 002BFEFC 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C42A0 002BFF00 88 DD 00 01 */ lbz r6, 1(r29) +/* 802C42A4 002BFF04 38 84 0E A0 */ addi r4, r4, lbl_80440EA0@l +/* 802C42A8 002BFF08 88 FD 00 02 */ lbz r7, 2(r29) +/* 802C42AC 002BFF0C 89 1D 00 03 */ lbz r8, 3(r29) +/* 802C42B0 002BFF10 89 3D 00 04 */ lbz r9, 4(r29) +/* 802C42B4 002BFF14 89 5D 00 05 */ lbz r10, 5(r29) +/* 802C42B8 002BFF18 4B FF 8C E9 */ bl func_802BCFA0 +lbl_802C42BC: +/* 802C42BC 002BFF1C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C42C0 002BFF20 3B E0 00 00 */ li r31, 0 +/* 802C42C4 002BFF24 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C42C8 002BFF28 3B C3 00 34 */ addi r30, r3, 0x34 +lbl_802C42CC: +/* 802C42CC 002BFF2C 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C42D0 002BFF30 2C 00 00 00 */ cmpwi r0, 0 +/* 802C42D4 002BFF34 41 82 00 20 */ beq lbl_802C42F4 +/* 802C42D8 002BFF38 7F A4 EB 78 */ mr r4, r29 +/* 802C42DC 002BFF3C 38 7E 00 08 */ addi r3, r30, 8 +/* 802C42E0 002BFF40 38 A0 00 06 */ li r5, 6 +/* 802C42E4 002BFF44 4B F0 60 B5 */ bl memcmp +/* 802C42E8 002BFF48 2C 03 00 00 */ cmpwi r3, 0 +/* 802C42EC 002BFF4C 40 82 00 08 */ bne lbl_802C42F4 +/* 802C42F0 002BFF50 48 00 00 18 */ b lbl_802C4308 +lbl_802C42F4: +/* 802C42F4 002BFF54 3B FF 00 01 */ addi r31, r31, 1 +/* 802C42F8 002BFF58 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C42FC 002BFF5C 28 1F 00 04 */ cmplwi r31, 4 +/* 802C4300 002BFF60 41 80 FF CC */ blt lbl_802C42CC +/* 802C4304 002BFF64 3B C0 00 00 */ li r30, 0 +lbl_802C4308: +/* 802C4308 002BFF68 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C430C 002BFF6C 41 82 00 0C */ beq lbl_802C4318 +/* 802C4310 002BFF70 38 60 00 01 */ li r3, 1 +/* 802C4314 002BFF74 48 00 00 08 */ b lbl_802C431C +lbl_802C4318: +/* 802C4318 002BFF78 38 60 00 00 */ li r3, 0 +lbl_802C431C: +/* 802C431C 002BFF7C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C4320 002BFF80 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C4324 002BFF84 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C4328 002BFF88 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C432C 002BFF8C 7C 08 03 A6 */ mtlr r0 +/* 802C4330 002BFF90 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C4334 002BFF94 4E 80 00 20 */ blr + +.global func_802C4338 +func_802C4338: +/* 802C4338 002BFF98 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C433C 002BFF9C 38 60 00 00 */ li r3, 0 +/* 802C4340 002BFFA0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C4344 002BFFA4 88 04 01 4D */ lbz r0, 0x14d(r4) +/* 802C4348 002BFFA8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C434C 002BFFAC 41 82 00 08 */ beq lbl_802C4354 +/* 802C4350 002BFFB0 38 60 00 01 */ li r3, 1 +lbl_802C4354: +/* 802C4354 002BFFB4 88 04 02 69 */ lbz r0, 0x269(r4) +/* 802C4358 002BFFB8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C435C 002BFFBC 41 82 00 0C */ beq lbl_802C4368 +/* 802C4360 002BFFC0 38 03 00 01 */ addi r0, r3, 1 +/* 802C4364 002BFFC4 54 03 04 3E */ clrlwi r3, r0, 0x10 +lbl_802C4368: +/* 802C4368 002BFFC8 88 04 03 85 */ lbz r0, 0x385(r4) +/* 802C436C 002BFFCC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4370 002BFFD0 41 82 00 0C */ beq lbl_802C437C +/* 802C4374 002BFFD4 38 03 00 01 */ addi r0, r3, 1 +/* 802C4378 002BFFD8 54 03 04 3E */ clrlwi r3, r0, 0x10 +lbl_802C437C: +/* 802C437C 002BFFDC 88 04 04 A1 */ lbz r0, 0x4a1(r4) +/* 802C4380 002BFFE0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4384 002BFFE4 4D 82 00 20 */ beqlr +/* 802C4388 002BFFE8 38 03 00 01 */ addi r0, r3, 1 +/* 802C438C 002BFFEC 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802C4390 002BFFF0 4E 80 00 20 */ blr + +.global func_802C4394 +func_802C4394: +/* 802C4394 002BFFF4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4398 002BFFF8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C439C 002BFFFC 88 63 27 BF */ lbz r3, 0x27bf(r3) +/* 802C43A0 002C0000 4E 80 00 20 */ blr + +.global func_802C43A4 +func_802C43A4: +/* 802C43A4 002C0004 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C43A8 002C0008 7C 08 02 A6 */ mflr r0 +/* 802C43AC 002C000C 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C43B0 002C0010 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C43B4 002C0014 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C43B8 002C0018 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C43BC 002C001C 3B E0 00 00 */ li r31, 0 +/* 802C43C0 002C0020 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C43C4 002C0024 3B C4 00 34 */ addi r30, r4, 0x34 +/* 802C43C8 002C0028 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C43CC 002C002C 7C 7D 1B 78 */ mr r29, r3 +lbl_802C43D0: +/* 802C43D0 002C0030 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C43D4 002C0034 2C 00 00 00 */ cmpwi r0, 0 +/* 802C43D8 002C0038 41 82 00 20 */ beq lbl_802C43F8 +/* 802C43DC 002C003C 7F A4 EB 78 */ mr r4, r29 +/* 802C43E0 002C0040 38 7E 00 08 */ addi r3, r30, 8 +/* 802C43E4 002C0044 38 A0 00 06 */ li r5, 6 +/* 802C43E8 002C0048 4B F0 5F B1 */ bl memcmp +/* 802C43EC 002C004C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C43F0 002C0050 40 82 00 08 */ bne lbl_802C43F8 +/* 802C43F4 002C0054 48 00 00 18 */ b lbl_802C440C +lbl_802C43F8: +/* 802C43F8 002C0058 3B FF 00 01 */ addi r31, r31, 1 +/* 802C43FC 002C005C 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C4400 002C0060 28 1F 00 04 */ cmplwi r31, 4 +/* 802C4404 002C0064 41 80 FF CC */ blt lbl_802C43D0 +/* 802C4408 002C0068 3B C0 00 00 */ li r30, 0 +lbl_802C440C: +/* 802C440C 002C006C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C4410 002C0070 41 82 00 0C */ beq lbl_802C441C +/* 802C4414 002C0074 A0 7E 00 00 */ lhz r3, 0(r30) +/* 802C4418 002C0078 48 00 00 0C */ b lbl_802C4424 +lbl_802C441C: +/* 802C441C 002C007C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802C4420 002C0080 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l +lbl_802C4424: +/* 802C4424 002C0084 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C4428 002C0088 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C442C 002C008C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C4430 002C0090 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C4434 002C0094 7C 08 03 A6 */ mtlr r0 +/* 802C4438 002C0098 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C443C 002C009C 4E 80 00 20 */ blr + +.global func_802C4440 +func_802C4440: +/* 802C4440 002C00A0 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C4444 002C00A4 38 C0 00 00 */ li r6, 0 +/* 802C4448 002C00A8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C444C 002C00AC 88 05 01 4D */ lbz r0, 0x14d(r5) +/* 802C4450 002C00B0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4454 002C00B4 41 82 00 10 */ beq lbl_802C4464 +/* 802C4458 002C00B8 A0 05 00 34 */ lhz r0, 0x34(r5) +/* 802C445C 002C00BC 7C 00 18 40 */ cmplw r0, r3 +/* 802C4460 002C00C0 41 82 00 5C */ beq lbl_802C44BC +lbl_802C4464: +/* 802C4464 002C00C4 88 05 02 69 */ lbz r0, 0x269(r5) +/* 802C4468 002C00C8 38 C0 00 01 */ li r6, 1 +/* 802C446C 002C00CC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4470 002C00D0 41 82 00 10 */ beq lbl_802C4480 +/* 802C4474 002C00D4 A0 05 01 50 */ lhz r0, 0x150(r5) +/* 802C4478 002C00D8 7C 00 18 40 */ cmplw r0, r3 +/* 802C447C 002C00DC 41 82 00 40 */ beq lbl_802C44BC +lbl_802C4480: +/* 802C4480 002C00E0 88 05 03 85 */ lbz r0, 0x385(r5) +/* 802C4484 002C00E4 38 C0 00 02 */ li r6, 2 +/* 802C4488 002C00E8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C448C 002C00EC 41 82 00 10 */ beq lbl_802C449C +/* 802C4490 002C00F0 A0 05 02 6C */ lhz r0, 0x26c(r5) +/* 802C4494 002C00F4 7C 00 18 40 */ cmplw r0, r3 +/* 802C4498 002C00F8 41 82 00 24 */ beq lbl_802C44BC +lbl_802C449C: +/* 802C449C 002C00FC 88 05 04 A1 */ lbz r0, 0x4a1(r5) +/* 802C44A0 002C0100 38 C0 00 03 */ li r6, 3 +/* 802C44A4 002C0104 2C 00 00 00 */ cmpwi r0, 0 +/* 802C44A8 002C0108 41 82 00 10 */ beq lbl_802C44B8 +/* 802C44AC 002C010C A0 05 03 88 */ lhz r0, 0x388(r5) +/* 802C44B0 002C0110 7C 00 18 40 */ cmplw r0, r3 +/* 802C44B4 002C0114 41 82 00 08 */ beq lbl_802C44BC +lbl_802C44B8: +/* 802C44B8 002C0118 38 C0 00 04 */ li r6, 4 +lbl_802C44BC: +/* 802C44BC 002C011C 28 06 00 04 */ cmplwi r6, 4 +/* 802C44C0 002C0120 4C 80 00 20 */ bgelr +/* 802C44C4 002C0124 1C 06 01 1C */ mulli r0, r6, 0x11c +/* 802C44C8 002C0128 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C44CC 002C012C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C44D0 002C0130 7C 63 02 14 */ add r3, r3, r0 +/* 802C44D4 002C0134 B0 83 00 3A */ sth r4, 0x3a(r3) +/* 802C44D8 002C0138 4E 80 00 20 */ blr + +.global func_802C44DC +func_802C44DC: +/* 802C44DC 002C013C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C44E0 002C0140 7C 08 02 A6 */ mflr r0 +/* 802C44E4 002C0144 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C44E8 002C0148 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C44EC 002C014C 4B F0 2C 35 */ bl _savegpr_25 +/* 802C44F0 002C0150 2C 04 00 00 */ cmpwi r4, 0 +/* 802C44F4 002C0154 7C 79 1B 78 */ mr r25, r3 +/* 802C44F8 002C0158 7C 9A 23 78 */ mr r26, r4 +/* 802C44FC 002C015C 7C BC 2B 78 */ mr r28, r5 +/* 802C4500 002C0160 41 82 00 0C */ beq lbl_802C450C +/* 802C4504 002C0164 7F 5B D3 78 */ mr r27, r26 +/* 802C4508 002C0168 48 00 00 10 */ b lbl_802C4518 +lbl_802C450C: +/* 802C450C 002C016C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4510 002C0170 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C4514 002C0174 3B 63 27 B4 */ addi r27, r3, 0x27b4 +lbl_802C4518: +/* 802C4518 002C0178 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C451C 002C017C 3B C0 00 00 */ li r30, 0 +/* 802C4520 002C0180 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C4524 002C0184 3B A3 00 34 */ addi r29, r3, 0x34 +lbl_802C4528: +/* 802C4528 002C0188 88 1D 01 19 */ lbz r0, 0x119(r29) +/* 802C452C 002C018C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4530 002C0190 41 82 00 20 */ beq lbl_802C4550 +/* 802C4534 002C0194 7F 64 DB 78 */ mr r4, r27 +/* 802C4538 002C0198 38 7D 00 08 */ addi r3, r29, 8 +/* 802C453C 002C019C 38 A0 00 06 */ li r5, 6 +/* 802C4540 002C01A0 4B F0 5E 59 */ bl memcmp +/* 802C4544 002C01A4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C4548 002C01A8 40 82 00 08 */ bne lbl_802C4550 +/* 802C454C 002C01AC 48 00 00 18 */ b lbl_802C4564 +lbl_802C4550: +/* 802C4550 002C01B0 3B DE 00 01 */ addi r30, r30, 1 +/* 802C4554 002C01B4 3B BD 01 1C */ addi r29, r29, 0x11c +/* 802C4558 002C01B8 28 1E 00 04 */ cmplwi r30, 4 +/* 802C455C 002C01BC 41 80 FF CC */ blt lbl_802C4528 +/* 802C4560 002C01C0 3B A0 00 00 */ li r29, 0 +lbl_802C4564: +/* 802C4564 002C01C4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4568 002C01C8 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C456C 002C01CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C4570 002C01D0 3B E3 06 24 */ addi r31, r3, 0x624 +/* 802C4574 002C01D4 41 82 01 44 */ beq lbl_802C46B8 +/* 802C4578 002C01D8 2C 19 00 00 */ cmpwi r25, 0 +/* 802C457C 002C01DC 9B 3F 00 00 */ stb r25, 0(r31) +/* 802C4580 002C01E0 40 82 00 1C */ bne lbl_802C459C +/* 802C4584 002C01E4 9B 9F 00 01 */ stb r28, 1(r31) +/* 802C4588 002C01E8 7F 64 DB 78 */ mr r4, r27 +/* 802C458C 002C01EC 38 7F 00 02 */ addi r3, r31, 2 +/* 802C4590 002C01F0 38 A0 00 06 */ li r5, 6 +/* 802C4594 002C01F4 4B D3 FA 6D */ bl memcpy +/* 802C4598 002C01F8 9B 9D 01 1A */ stb r28, 0x11a(r29) +lbl_802C459C: +/* 802C459C 002C01FC 2C 1A 00 00 */ cmpwi r26, 0 +/* 802C45A0 002C0200 41 82 00 78 */ beq lbl_802C4618 +/* 802C45A4 002C0204 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C45A8 002C0208 A3 DD 01 0E */ lhz r30, 0x10e(r29) +/* 802C45AC 002C020C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C45B0 002C0210 3B 80 00 00 */ li r28, 0 +/* 802C45B4 002C0214 3B 63 00 34 */ addi r27, r3, 0x34 +lbl_802C45B8: +/* 802C45B8 002C0218 88 1B 01 19 */ lbz r0, 0x119(r27) +/* 802C45BC 002C021C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C45C0 002C0220 41 82 00 20 */ beq lbl_802C45E0 +/* 802C45C4 002C0224 38 7B 00 08 */ addi r3, r27, 8 +/* 802C45C8 002C0228 38 9D 00 08 */ addi r4, r29, 8 +/* 802C45CC 002C022C 38 A0 00 06 */ li r5, 6 +/* 802C45D0 002C0230 4B F0 5D C9 */ bl memcmp +/* 802C45D4 002C0234 2C 03 00 00 */ cmpwi r3, 0 +/* 802C45D8 002C0238 40 82 00 08 */ bne lbl_802C45E0 +/* 802C45DC 002C023C 48 00 00 18 */ b lbl_802C45F4 +lbl_802C45E0: +/* 802C45E0 002C0240 3B 9C 00 01 */ addi r28, r28, 1 +/* 802C45E4 002C0244 3B 7B 01 1C */ addi r27, r27, 0x11c +/* 802C45E8 002C0248 28 1C 00 04 */ cmplwi r28, 4 +/* 802C45EC 002C024C 41 80 FF CC */ blt lbl_802C45B8 +/* 802C45F0 002C0250 3B 60 00 00 */ li r27, 0 +lbl_802C45F4: +/* 802C45F4 002C0254 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C45F8 002C0258 41 82 00 20 */ beq lbl_802C4618 +/* 802C45FC 002C025C B3 DB 01 0E */ sth r30, 0x10e(r27) +/* 802C4600 002C0260 88 1B 01 1A */ lbz r0, 0x11a(r27) +/* 802C4604 002C0264 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4608 002C0268 40 82 00 10 */ bne lbl_802C4618 +/* 802C460C 002C026C A0 7B 00 00 */ lhz r3, 0(r27) +/* 802C4610 002C0270 7F C4 F3 78 */ mr r4, r30 +/* 802C4614 002C0274 48 00 D6 11 */ bl func_802D1C24 +lbl_802C4618: +/* 802C4618 002C0278 88 1D 01 1B */ lbz r0, 0x11b(r29) +/* 802C461C 002C027C 28 00 00 03 */ cmplwi r0, 3 +/* 802C4620 002C0280 40 82 00 24 */ bne lbl_802C4644 +/* 802C4624 002C0284 A0 7D 00 00 */ lhz r3, 0(r29) +/* 802C4628 002C0288 38 80 00 01 */ li r4, 1 +/* 802C462C 002C028C 48 00 C2 05 */ bl func_802D0830 +/* 802C4630 002C0290 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C4634 002C0294 41 82 00 10 */ beq lbl_802C4644 +/* 802C4638 002C0298 38 00 00 04 */ li r0, 4 +/* 802C463C 002C029C 98 1D 01 1B */ stb r0, 0x11b(r29) +/* 802C4640 002C02A0 48 00 00 78 */ b lbl_802C46B8 +lbl_802C4644: +/* 802C4644 002C02A4 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C4648 002C02A8 41 82 00 18 */ beq lbl_802C4660 +/* 802C464C 002C02AC 88 1D 01 1B */ lbz r0, 0x11b(r29) +/* 802C4650 002C02B0 28 00 00 05 */ cmplwi r0, 5 +/* 802C4654 002C02B4 40 82 00 0C */ bne lbl_802C4660 +/* 802C4658 002C02B8 38 00 00 00 */ li r0, 0 +/* 802C465C 002C02BC 98 1D 01 1B */ stb r0, 0x11b(r29) +lbl_802C4660: +/* 802C4660 002C02C0 3F C0 80 57 */ lis r30, lbl_80568B78@ha +/* 802C4664 002C02C4 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l +/* 802C4668 002C02C8 81 9E 06 2C */ lwz r12, 0x62c(r30) +/* 802C466C 002C02CC 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C4670 002C02D0 41 82 00 18 */ beq lbl_802C4688 +/* 802C4674 002C02D4 7F E3 FB 78 */ mr r3, r31 +/* 802C4678 002C02D8 7D 89 03 A6 */ mtctr r12 +/* 802C467C 002C02DC 4E 80 04 21 */ bctrl +/* 802C4680 002C02E0 38 00 00 00 */ li r0, 0 +/* 802C4684 002C02E4 90 1E 06 2C */ stw r0, 0x62c(r30) +lbl_802C4688: +/* 802C4688 002C02E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C468C 002C02EC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C4690 002C02F0 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C4694 002C02F4 28 00 00 04 */ cmplwi r0, 4 +/* 802C4698 002C02F8 41 80 00 20 */ blt lbl_802C46B8 +/* 802C469C 002C02FC 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C46A0 002C0300 3C 80 80 44 */ lis r4, lbl_80440EDC@ha +/* 802C46A4 002C0304 88 BF 00 01 */ lbz r5, 1(r31) +/* 802C46A8 002C0308 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C46AC 002C030C 88 DF 00 00 */ lbz r6, 0(r31) +/* 802C46B0 002C0310 38 84 0E DC */ addi r4, r4, lbl_80440EDC@l +/* 802C46B4 002C0314 4B FF 88 8D */ bl func_802BCF40 +lbl_802C46B8: +/* 802C46B8 002C0318 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C46BC 002C031C 4B F0 2A B1 */ bl _restgpr_25 +/* 802C46C0 002C0320 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C46C4 002C0324 7C 08 03 A6 */ mtlr r0 +/* 802C46C8 002C0328 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C46CC 002C032C 4E 80 00 20 */ blr + +.global func_802C46D0 +func_802C46D0: +/* 802C46D0 002C0330 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C46D4 002C0334 7C 08 02 A6 */ mflr r0 +/* 802C46D8 002C0338 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C46DC 002C033C 80 03 00 10 */ lwz r0, 0x10(r3) +/* 802C46E0 002C0340 28 00 00 04 */ cmplwi r0, 4 +/* 802C46E4 002C0344 40 82 00 38 */ bne lbl_802C471C +/* 802C46E8 002C0348 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C46EC 002C034C 38 60 00 0A */ li r3, 0xa +/* 802C46F0 002C0350 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C46F4 002C0354 38 00 00 00 */ li r0, 0 +/* 802C46F8 002C0358 81 84 05 C4 */ lwz r12, 0x5c4(r4) +/* 802C46FC 002C035C 98 61 00 08 */ stb r3, 8(r1) +/* 802C4700 002C0360 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C4704 002C0364 B0 01 00 10 */ sth r0, 0x10(r1) +/* 802C4708 002C0368 90 04 05 C4 */ stw r0, 0x5c4(r4) +/* 802C470C 002C036C 41 82 00 10 */ beq lbl_802C471C +/* 802C4710 002C0370 38 61 00 08 */ addi r3, r1, 8 +/* 802C4714 002C0374 7D 89 03 A6 */ mtctr r12 +/* 802C4718 002C0378 4E 80 04 21 */ bctrl +lbl_802C471C: +/* 802C471C 002C037C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C4720 002C0380 7C 08 03 A6 */ mtlr r0 +/* 802C4724 002C0384 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C4728 002C0388 4E 80 00 20 */ blr + +.global func_802C472C +func_802C472C: +/* 802C472C 002C038C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C4730 002C0390 7C 08 02 A6 */ mflr r0 +/* 802C4734 002C0394 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C4738 002C0398 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C473C 002C039C 4B F0 29 ED */ bl _savegpr_27 +/* 802C4740 002C03A0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C4744 002C03A4 7C 7B 1B 78 */ mr r27, r3 +/* 802C4748 002C03A8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C474C 002C03AC 3B C0 00 00 */ li r30, 0 +/* 802C4750 002C03B0 3B A4 00 34 */ addi r29, r4, 0x34 +lbl_802C4754: +/* 802C4754 002C03B4 88 1D 01 19 */ lbz r0, 0x119(r29) +/* 802C4758 002C03B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C475C 002C03BC 41 82 00 20 */ beq lbl_802C477C +/* 802C4760 002C03C0 7F 64 DB 78 */ mr r4, r27 +/* 802C4764 002C03C4 38 7D 00 08 */ addi r3, r29, 8 +/* 802C4768 002C03C8 38 A0 00 06 */ li r5, 6 +/* 802C476C 002C03CC 4B F0 5C 2D */ bl memcmp +/* 802C4770 002C03D0 2C 03 00 00 */ cmpwi r3, 0 +/* 802C4774 002C03D4 40 82 00 08 */ bne lbl_802C477C +/* 802C4778 002C03D8 48 00 00 18 */ b lbl_802C4790 +lbl_802C477C: +/* 802C477C 002C03DC 3B DE 00 01 */ addi r30, r30, 1 +/* 802C4780 002C03E0 3B BD 01 1C */ addi r29, r29, 0x11c +/* 802C4784 002C03E4 28 1E 00 04 */ cmplwi r30, 4 +/* 802C4788 002C03E8 41 80 FF CC */ blt lbl_802C4754 +/* 802C478C 002C03EC 3B A0 00 00 */ li r29, 0 +lbl_802C4790: +/* 802C4790 002C03F0 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C4794 002C03F4 3B 80 00 00 */ li r28, 0 +/* 802C4798 002C03F8 3B E0 00 00 */ li r31, 0 +/* 802C479C 002C03FC 41 82 00 0C */ beq lbl_802C47A8 +/* 802C47A0 002C0400 A3 9D 00 02 */ lhz r28, 2(r29) +/* 802C47A4 002C0404 48 00 00 28 */ b lbl_802C47CC +lbl_802C47A8: +/* 802C47A8 002C0408 3F C0 80 57 */ lis r30, lbl_80568B78@ha +/* 802C47AC 002C040C 7F 64 DB 78 */ mr r4, r27 +/* 802C47B0 002C0410 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l +/* 802C47B4 002C0414 38 A0 00 06 */ li r5, 6 +/* 802C47B8 002C0418 38 7E 06 30 */ addi r3, r30, 0x630 +/* 802C47BC 002C041C 4B F0 5B DD */ bl memcmp +/* 802C47C0 002C0420 2C 03 00 00 */ cmpwi r3, 0 +/* 802C47C4 002C0424 40 82 00 08 */ bne lbl_802C47CC +/* 802C47C8 002C0428 A3 9E 06 54 */ lhz r28, 0x654(r30) +lbl_802C47CC: +/* 802C47CC 002C042C 2C 1C 00 00 */ cmpwi r28, 0 +/* 802C47D0 002C0430 41 82 00 C0 */ beq lbl_802C4890 +/* 802C47D4 002C0434 57 80 04 A5 */ rlwinm. r0, r28, 0, 0x12, 0x12 +/* 802C47D8 002C0438 40 82 00 0C */ bne lbl_802C47E4 +/* 802C47DC 002C043C 3B E0 03 FD */ li r31, 0x3fd +/* 802C47E0 002C0440 48 00 00 B0 */ b lbl_802C4890 +lbl_802C47E4: +/* 802C47E4 002C0444 57 80 04 E7 */ rlwinm. r0, r28, 0, 0x13, 0x13 +/* 802C47E8 002C0448 40 82 00 0C */ bne lbl_802C47F4 +/* 802C47EC 002C044C 3B E0 02 A7 */ li r31, 0x2a7 +/* 802C47F0 002C0450 48 00 00 A0 */ b lbl_802C4890 +lbl_802C47F4: +/* 802C47F4 002C0454 57 80 05 AD */ rlwinm. r0, r28, 0, 0x16, 0x16 +/* 802C47F8 002C0458 40 82 00 0C */ bne lbl_802C4804 +/* 802C47FC 002C045C 3B E0 02 28 */ li r31, 0x228 +/* 802C4800 002C0460 48 00 00 90 */ b lbl_802C4890 +lbl_802C4804: +/* 802C4804 002C0464 57 80 04 21 */ rlwinm. r0, r28, 0, 0x10, 0x10 +/* 802C4808 002C0468 41 82 00 0C */ beq lbl_802C4814 +/* 802C480C 002C046C 3B E0 01 53 */ li r31, 0x153 +/* 802C4810 002C0470 48 00 00 80 */ b lbl_802C4890 +lbl_802C4814: +/* 802C4814 002C0474 57 80 05 EF */ rlwinm. r0, r28, 0, 0x17, 0x17 +/* 802C4818 002C0478 40 82 00 0C */ bne lbl_802C4824 +/* 802C481C 002C047C 3B E0 01 6F */ li r31, 0x16f +/* 802C4820 002C0480 48 00 00 70 */ b lbl_802C4890 +lbl_802C4824: +/* 802C4824 002C0484 57 80 04 63 */ rlwinm. r0, r28, 0, 0x11, 0x11 +/* 802C4828 002C0488 41 82 00 0C */ beq lbl_802C4834 +/* 802C482C 002C048C 3B E0 00 E0 */ li r31, 0xe0 +/* 802C4830 002C0490 48 00 00 60 */ b lbl_802C4890 +lbl_802C4834: +/* 802C4834 002C0494 57 80 05 29 */ rlwinm. r0, r28, 0, 0x14, 0x14 +/* 802C4838 002C0498 41 82 00 0C */ beq lbl_802C4844 +/* 802C483C 002C049C 3B E0 00 B7 */ li r31, 0xb7 +/* 802C4840 002C04A0 48 00 00 50 */ b lbl_802C4890 +lbl_802C4844: +/* 802C4844 002C04A4 57 80 05 6B */ rlwinm. r0, r28, 0, 0x15, 0x15 +/* 802C4848 002C04A8 41 82 00 0C */ beq lbl_802C4854 +/* 802C484C 002C04AC 3B E0 00 79 */ li r31, 0x79 +/* 802C4850 002C04B0 48 00 00 40 */ b lbl_802C4890 +lbl_802C4854: +/* 802C4854 002C04B4 57 80 07 7B */ rlwinm. r0, r28, 0, 0x1d, 0x1d +/* 802C4858 002C04B8 40 82 00 0C */ bne lbl_802C4864 +/* 802C485C 002C04BC 3B E0 00 53 */ li r31, 0x53 +/* 802C4860 002C04C0 48 00 00 30 */ b lbl_802C4890 +lbl_802C4864: +/* 802C4864 002C04C4 57 80 07 BD */ rlwinm. r0, r28, 0, 0x1e, 0x1e +/* 802C4868 002C04C8 40 82 00 0C */ bne lbl_802C4874 +/* 802C486C 002C04CC 3B E0 00 36 */ li r31, 0x36 +/* 802C4870 002C04D0 48 00 00 20 */ b lbl_802C4890 +lbl_802C4874: +/* 802C4874 002C04D4 57 80 06 F7 */ rlwinm. r0, r28, 0, 0x1b, 0x1b +/* 802C4878 002C04D8 41 82 00 0C */ beq lbl_802C4884 +/* 802C487C 002C04DC 3B E0 00 1B */ li r31, 0x1b +/* 802C4880 002C04E0 48 00 00 10 */ b lbl_802C4890 +lbl_802C4884: +/* 802C4884 002C04E4 57 80 07 39 */ rlwinm. r0, r28, 0, 0x1c, 0x1c +/* 802C4888 002C04E8 41 82 00 08 */ beq lbl_802C4890 +/* 802C488C 002C04EC 3B E0 00 11 */ li r31, 0x11 +lbl_802C4890: +/* 802C4890 002C04F0 28 1F 03 FD */ cmplwi r31, 0x3fd +/* 802C4894 002C04F4 40 82 00 1C */ bne lbl_802C48B0 +/* 802C4898 002C04F8 3C 60 80 57 */ lis r3, lbl_80568650@ha +/* 802C489C 002C04FC 38 63 86 50 */ addi r3, r3, lbl_80568650@l +/* 802C48A0 002C0500 A0 03 00 7C */ lhz r0, 0x7c(r3) +/* 802C48A4 002C0504 28 00 03 F9 */ cmplwi r0, 0x3f9 +/* 802C48A8 002C0508 40 82 00 08 */ bne lbl_802C48B0 +/* 802C48AC 002C050C 3B E0 03 F9 */ li r31, 0x3f9 +lbl_802C48B0: +/* 802C48B0 002C0510 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C48B4 002C0514 7F E3 FB 78 */ mr r3, r31 +/* 802C48B8 002C0518 4B F0 28 BD */ bl _restgpr_27 +/* 802C48BC 002C051C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C48C0 002C0520 7C 08 03 A6 */ mtlr r0 +/* 802C48C4 002C0524 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C48C8 002C0528 4E 80 00 20 */ blr + +.global func_802C48CC +func_802C48CC: +/* 802C48CC 002C052C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C48D0 002C0530 40 82 00 18 */ bne lbl_802C48E8 +/* 802C48D4 002C0534 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C48D8 002C0538 38 00 00 00 */ li r0, 0 +/* 802C48DC 002C053C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C48E0 002C0540 90 03 04 C8 */ stw r0, 0x4c8(r3) +/* 802C48E4 002C0544 48 00 00 24 */ b lbl_802C4908 +lbl_802C48E8: +/* 802C48E8 002C0548 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C48EC 002C054C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C48F0 002C0550 80 04 04 C8 */ lwz r0, 0x4c8(r4) +/* 802C48F4 002C0554 2C 00 00 00 */ cmpwi r0, 0 +/* 802C48F8 002C0558 41 82 00 0C */ beq lbl_802C4904 +/* 802C48FC 002C055C 38 60 00 02 */ li r3, 2 +/* 802C4900 002C0560 4E 80 00 20 */ blr +lbl_802C4904: +/* 802C4904 002C0564 90 64 04 C8 */ stw r3, 0x4c8(r4) +lbl_802C4908: +/* 802C4908 002C0568 38 60 00 00 */ li r3, 0 +/* 802C490C 002C056C 4E 80 00 20 */ blr + +.global func_802C4910 +func_802C4910: +/* 802C4910 002C0570 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802C4914 002C0574 7C 08 02 A6 */ mflr r0 +/* 802C4918 002C0578 90 01 00 44 */ stw r0, 0x44(r1) +/* 802C491C 002C057C 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C4920 002C0580 4B F0 28 09 */ bl _savegpr_27 +/* 802C4924 002C0584 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C4928 002C0588 7C 7B 1B 78 */ mr r27, r3 +/* 802C492C 002C058C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C4930 002C0590 7C 9C 23 78 */ mr r28, r4 +/* 802C4934 002C0594 83 DF 06 18 */ lwz r30, 0x618(r31) +/* 802C4938 002C0598 7C BD 2B 78 */ mr r29, r5 +/* 802C493C 002C059C 38 7F 06 00 */ addi r3, r31, 0x600 +/* 802C4940 002C05A0 4B FF 8C 0D */ bl func_802BD54C +/* 802C4944 002C05A4 38 00 00 00 */ li r0, 0 +/* 802C4948 002C05A8 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C494C 002C05AC 90 1F 06 18 */ stw r0, 0x618(r31) +/* 802C4950 002C05B0 41 82 00 80 */ beq lbl_802C49D0 +/* 802C4954 002C05B4 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C4958 002C05B8 9B 61 00 22 */ stb r27, 0x22(r1) +/* 802C495C 002C05BC B3 81 00 20 */ sth r28, 0x20(r1) +/* 802C4960 002C05C0 41 82 00 34 */ beq lbl_802C4994 +/* 802C4964 002C05C4 88 1D 00 00 */ lbz r0, 0(r29) +/* 802C4968 002C05C8 98 01 00 08 */ stb r0, 8(r1) +/* 802C496C 002C05CC 88 1D 00 01 */ lbz r0, 1(r29) +/* 802C4970 002C05D0 98 01 00 09 */ stb r0, 9(r1) +/* 802C4974 002C05D4 80 1D 00 04 */ lwz r0, 4(r29) +/* 802C4978 002C05D8 90 01 00 0C */ stw r0, 0xc(r1) +/* 802C497C 002C05DC 80 1D 00 0C */ lwz r0, 0xc(r29) +/* 802C4980 002C05E0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C4984 002C05E4 80 1D 00 10 */ lwz r0, 0x10(r29) +/* 802C4988 002C05E8 90 01 00 18 */ stw r0, 0x18(r1) +/* 802C498C 002C05EC 80 1D 00 14 */ lwz r0, 0x14(r29) +/* 802C4990 002C05F0 90 01 00 1C */ stw r0, 0x1c(r1) +lbl_802C4994: +/* 802C4994 002C05F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4998 002C05F8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C499C 002C05FC 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C49A0 002C0600 28 00 00 05 */ cmplwi r0, 5 +/* 802C49A4 002C0604 41 80 00 1C */ blt lbl_802C49C0 +/* 802C49A8 002C0608 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802C49AC 002C060C 3C 80 80 44 */ lis r4, lbl_80440F44@ha +/* 802C49B0 002C0610 80 BD 00 14 */ lwz r5, 0x14(r29) +/* 802C49B4 002C0614 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802C49B8 002C0618 38 84 0F 44 */ addi r4, r4, lbl_80440F44@l +/* 802C49BC 002C061C 4B FF 85 6D */ bl func_802BCF28 +lbl_802C49C0: +/* 802C49C0 002C0620 7F CC F3 78 */ mr r12, r30 +/* 802C49C4 002C0624 38 61 00 08 */ addi r3, r1, 8 +/* 802C49C8 002C0628 7D 89 03 A6 */ mtctr r12 +/* 802C49CC 002C062C 4E 80 04 21 */ bctrl +lbl_802C49D0: +/* 802C49D0 002C0630 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C49D4 002C0634 4B F0 27 A1 */ bl _restgpr_27 +/* 802C49D8 002C0638 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802C49DC 002C063C 7C 08 03 A6 */ mtlr r0 +/* 802C49E0 002C0640 38 21 00 40 */ addi r1, r1, 0x40 +/* 802C49E4 002C0644 4E 80 00 20 */ blr + +.global func_802C49E8 +func_802C49E8: +/* 802C49E8 002C0648 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C49EC 002C064C 7C 08 02 A6 */ mflr r0 +/* 802C49F0 002C0650 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C49F4 002C0654 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C49F8 002C0658 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C49FC 002C065C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C4A00 002C0660 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C4A04 002C0664 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C4A08 002C0668 7C 9D 23 78 */ mr r29, r4 +/* 802C4A0C 002C066C 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C4A10 002C0670 7C 7C 1B 78 */ mr r28, r3 +/* 802C4A14 002C0674 88 05 27 C0 */ lbz r0, 0x27c0(r5) +/* 802C4A18 002C0678 28 00 00 03 */ cmplwi r0, 3 +/* 802C4A1C 002C067C 41 80 00 30 */ blt lbl_802C4A4C +/* 802C4A20 002C0680 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C4A24 002C0684 3C 80 80 44 */ lis r4, lbl_80440F6C@ha +/* 802C4A28 002C0688 88 BC 00 00 */ lbz r5, 0(r28) +/* 802C4A2C 002C068C 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C4A30 002C0690 88 DC 00 01 */ lbz r6, 1(r28) +/* 802C4A34 002C0694 38 84 0F 6C */ addi r4, r4, lbl_80440F6C@l +/* 802C4A38 002C0698 88 FC 00 02 */ lbz r7, 2(r28) +/* 802C4A3C 002C069C 89 1C 00 03 */ lbz r8, 3(r28) +/* 802C4A40 002C06A0 89 3C 00 04 */ lbz r9, 4(r28) +/* 802C4A44 002C06A4 89 5C 00 05 */ lbz r10, 5(r28) +/* 802C4A48 002C06A8 4B FF 85 59 */ bl func_802BCFA0 +lbl_802C4A4C: +/* 802C4A4C 002C06AC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4A50 002C06B0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C4A54 002C06B4 80 03 05 E0 */ lwz r0, 0x5e0(r3) +/* 802C4A58 002C06B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4A5C 002C06BC 41 82 00 0C */ beq lbl_802C4A68 +/* 802C4A60 002C06C0 38 60 00 02 */ li r3, 2 +/* 802C4A64 002C06C4 48 00 00 A0 */ b lbl_802C4B04 +lbl_802C4A68: +/* 802C4A68 002C06C8 3B C3 00 34 */ addi r30, r3, 0x34 +/* 802C4A6C 002C06CC 3B E0 00 00 */ li r31, 0 +lbl_802C4A70: +/* 802C4A70 002C06D0 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C4A74 002C06D4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4A78 002C06D8 41 82 00 20 */ beq lbl_802C4A98 +/* 802C4A7C 002C06DC 7F 84 E3 78 */ mr r4, r28 +/* 802C4A80 002C06E0 38 7E 00 08 */ addi r3, r30, 8 +/* 802C4A84 002C06E4 38 A0 00 06 */ li r5, 6 +/* 802C4A88 002C06E8 4B F0 59 11 */ bl memcmp +/* 802C4A8C 002C06EC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C4A90 002C06F0 40 82 00 08 */ bne lbl_802C4A98 +/* 802C4A94 002C06F4 48 00 00 18 */ b lbl_802C4AAC +lbl_802C4A98: +/* 802C4A98 002C06F8 3B FF 00 01 */ addi r31, r31, 1 +/* 802C4A9C 002C06FC 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C4AA0 002C0700 28 1F 00 04 */ cmplwi r31, 4 +/* 802C4AA4 002C0704 41 80 FF CC */ blt lbl_802C4A70 +/* 802C4AA8 002C0708 3B C0 00 00 */ li r30, 0 +lbl_802C4AAC: +/* 802C4AAC 002C070C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C4AB0 002C0710 41 82 00 50 */ beq lbl_802C4B00 +/* 802C4AB4 002C0714 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C4AB8 002C0718 38 80 00 09 */ li r4, 9 +/* 802C4ABC 002C071C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C4AC0 002C0720 38 A0 00 03 */ li r5, 3 +/* 802C4AC4 002C0724 38 7F 05 C8 */ addi r3, r31, 0x5c8 +/* 802C4AC8 002C0728 4B FF 8A 15 */ bl func_802BD4DC +/* 802C4ACC 002C072C 93 BF 05 E0 */ stw r29, 0x5e0(r31) +/* 802C4AD0 002C0730 A0 7E 00 00 */ lhz r3, 0(r30) +/* 802C4AD4 002C0734 48 00 D4 15 */ bl func_802D1EE8 +/* 802C4AD8 002C0738 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C4ADC 002C073C 40 82 00 1C */ bne lbl_802C4AF8 +/* 802C4AE0 002C0740 38 00 00 00 */ li r0, 0 +/* 802C4AE4 002C0744 38 7F 05 C8 */ addi r3, r31, 0x5c8 +/* 802C4AE8 002C0748 90 1F 05 E0 */ stw r0, 0x5e0(r31) +/* 802C4AEC 002C074C 4B FF 8A 61 */ bl func_802BD54C +/* 802C4AF0 002C0750 38 60 00 03 */ li r3, 3 +/* 802C4AF4 002C0754 48 00 00 10 */ b lbl_802C4B04 +lbl_802C4AF8: +/* 802C4AF8 002C0758 38 60 00 01 */ li r3, 1 +/* 802C4AFC 002C075C 48 00 00 08 */ b lbl_802C4B04 +lbl_802C4B00: +/* 802C4B00 002C0760 38 60 00 07 */ li r3, 7 +lbl_802C4B04: +/* 802C4B04 002C0764 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C4B08 002C0768 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C4B0C 002C076C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C4B10 002C0770 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C4B14 002C0774 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C4B18 002C0778 7C 08 03 A6 */ mtlr r0 +/* 802C4B1C 002C077C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C4B20 002C0780 4E 80 00 20 */ blr + +.global func_802C4B24 +func_802C4B24: +/* 802C4B24 002C0784 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C4B28 002C0788 7C 08 02 A6 */ mflr r0 +/* 802C4B2C 002C078C 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C4B30 002C0790 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C4B34 002C0794 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C4B38 002C0798 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C4B3C 002C079C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C4B40 002C07A0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C4B44 002C07A4 7C 9D 23 78 */ mr r29, r4 +/* 802C4B48 002C07A8 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C4B4C 002C07AC 7C 7C 1B 78 */ mr r28, r3 +/* 802C4B50 002C07B0 88 05 27 C0 */ lbz r0, 0x27c0(r5) +/* 802C4B54 002C07B4 28 00 00 03 */ cmplwi r0, 3 +/* 802C4B58 002C07B8 41 80 00 30 */ blt lbl_802C4B88 +/* 802C4B5C 002C07BC 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C4B60 002C07C0 3C 80 80 44 */ lis r4, lbl_80440FA0@ha +/* 802C4B64 002C07C4 88 BC 00 00 */ lbz r5, 0(r28) +/* 802C4B68 002C07C8 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C4B6C 002C07CC 88 DC 00 01 */ lbz r6, 1(r28) +/* 802C4B70 002C07D0 38 84 0F A0 */ addi r4, r4, lbl_80440FA0@l +/* 802C4B74 002C07D4 88 FC 00 02 */ lbz r7, 2(r28) +/* 802C4B78 002C07D8 89 1C 00 03 */ lbz r8, 3(r28) +/* 802C4B7C 002C07DC 89 3C 00 04 */ lbz r9, 4(r28) +/* 802C4B80 002C07E0 89 5C 00 05 */ lbz r10, 5(r28) +/* 802C4B84 002C07E4 4B FF 84 1D */ bl func_802BCFA0 +lbl_802C4B88: +/* 802C4B88 002C07E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C4B8C 002C07EC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C4B90 002C07F0 80 03 05 FC */ lwz r0, 0x5fc(r3) +/* 802C4B94 002C07F4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4B98 002C07F8 41 82 00 0C */ beq lbl_802C4BA4 +/* 802C4B9C 002C07FC 38 60 00 02 */ li r3, 2 +/* 802C4BA0 002C0800 48 00 00 A0 */ b lbl_802C4C40 +lbl_802C4BA4: +/* 802C4BA4 002C0804 3B C3 00 34 */ addi r30, r3, 0x34 +/* 802C4BA8 002C0808 3B E0 00 00 */ li r31, 0 +lbl_802C4BAC: +/* 802C4BAC 002C080C 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C4BB0 002C0810 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4BB4 002C0814 41 82 00 20 */ beq lbl_802C4BD4 +/* 802C4BB8 002C0818 7F 84 E3 78 */ mr r4, r28 +/* 802C4BBC 002C081C 38 7E 00 08 */ addi r3, r30, 8 +/* 802C4BC0 002C0820 38 A0 00 06 */ li r5, 6 +/* 802C4BC4 002C0824 4B F0 57 D5 */ bl memcmp +/* 802C4BC8 002C0828 2C 03 00 00 */ cmpwi r3, 0 +/* 802C4BCC 002C082C 40 82 00 08 */ bne lbl_802C4BD4 +/* 802C4BD0 002C0830 48 00 00 18 */ b lbl_802C4BE8 +lbl_802C4BD4: +/* 802C4BD4 002C0834 3B FF 00 01 */ addi r31, r31, 1 +/* 802C4BD8 002C0838 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C4BDC 002C083C 28 1F 00 04 */ cmplwi r31, 4 +/* 802C4BE0 002C0840 41 80 FF CC */ blt lbl_802C4BAC +/* 802C4BE4 002C0844 3B C0 00 00 */ li r30, 0 +lbl_802C4BE8: +/* 802C4BE8 002C0848 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C4BEC 002C084C 41 82 00 50 */ beq lbl_802C4C3C +/* 802C4BF0 002C0850 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C4BF4 002C0854 38 80 00 09 */ li r4, 9 +/* 802C4BF8 002C0858 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C4BFC 002C085C 38 A0 00 03 */ li r5, 3 +/* 802C4C00 002C0860 38 7F 05 E4 */ addi r3, r31, 0x5e4 +/* 802C4C04 002C0864 4B FF 88 D9 */ bl func_802BD4DC +/* 802C4C08 002C0868 93 BF 05 FC */ stw r29, 0x5fc(r31) +/* 802C4C0C 002C086C A0 7E 00 00 */ lhz r3, 0(r30) +/* 802C4C10 002C0870 48 00 D2 5D */ bl func_802D1E6C +/* 802C4C14 002C0874 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C4C18 002C0878 40 82 00 1C */ bne lbl_802C4C34 +/* 802C4C1C 002C087C 38 7F 05 E4 */ addi r3, r31, 0x5e4 +/* 802C4C20 002C0880 4B FF 89 2D */ bl func_802BD54C +/* 802C4C24 002C0884 38 00 00 00 */ li r0, 0 +/* 802C4C28 002C0888 38 60 00 03 */ li r3, 3 +/* 802C4C2C 002C088C 90 1F 05 FC */ stw r0, 0x5fc(r31) +/* 802C4C30 002C0890 48 00 00 10 */ b lbl_802C4C40 +lbl_802C4C34: +/* 802C4C34 002C0894 38 60 00 01 */ li r3, 1 +/* 802C4C38 002C0898 48 00 00 08 */ b lbl_802C4C40 +lbl_802C4C3C: +/* 802C4C3C 002C089C 38 60 00 07 */ li r3, 7 +lbl_802C4C40: +/* 802C4C40 002C08A0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C4C44 002C08A4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C4C48 002C08A8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C4C4C 002C08AC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C4C50 002C08B0 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C4C54 002C08B4 7C 08 03 A6 */ mtlr r0 +/* 802C4C58 002C08B8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C4C5C 002C08BC 4E 80 00 20 */ blr +lbl_802C4C60: +/* 802C4C60 002C08C0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C4C64 002C08C4 7C 08 02 A6 */ mflr r0 +/* 802C4C68 002C08C8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C4C6C 002C08CC 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802C4C70 002C08D0 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C4C74 002C08D4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C4C78 002C08D8 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802C4C7C 002C08DC 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802C4C80 002C08E0 3B BF 00 34 */ addi r29, r31, 0x34 +/* 802C4C84 002C08E4 93 81 00 20 */ stw r28, 0x20(r1) +/* 802C4C88 002C08E8 7C 7C 1B 78 */ mr r28, r3 +/* 802C4C8C 002C08EC 38 7F 05 C8 */ addi r3, r31, 0x5c8 +/* 802C4C90 002C08F0 83 DF 05 E0 */ lwz r30, 0x5e0(r31) +/* 802C4C94 002C08F4 4B FF 88 B9 */ bl func_802BD54C +/* 802C4C98 002C08F8 38 00 00 00 */ li r0, 0 +/* 802C4C9C 002C08FC 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C4CA0 002C0900 90 1F 05 E0 */ stw r0, 0x5e0(r31) +/* 802C4CA4 002C0904 41 82 00 B8 */ beq lbl_802C4D5C +/* 802C4CA8 002C0908 88 DC 00 00 */ lbz r6, 0(r28) +/* 802C4CAC 002C090C 2C 06 00 00 */ cmpwi r6, 0 +/* 802C4CB0 002C0910 98 C1 00 09 */ stb r6, 9(r1) +/* 802C4CB4 002C0914 40 82 00 90 */ bne lbl_802C4D44 +/* 802C4CB8 002C0918 98 01 00 08 */ stb r0, 8(r1) +/* 802C4CBC 002C091C 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C4CC0 002C0920 88 7C 00 02 */ lbz r3, 2(r28) +/* 802C4CC4 002C0924 88 9C 00 01 */ lbz r4, 1(r28) +/* 802C4CC8 002C0928 28 00 00 04 */ cmplwi r0, 4 +/* 802C4CCC 002C092C 88 BC 00 03 */ lbz r5, 3(r28) +/* 802C4CD0 002C0930 54 60 40 2E */ slwi r0, r3, 8 +/* 802C4CD4 002C0934 7C 04 02 14 */ add r0, r4, r0 +/* 802C4CD8 002C0938 98 A1 00 0A */ stb r5, 0xa(r1) +/* 802C4CDC 002C093C 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 802C4CE0 002C0940 41 80 00 1C */ blt lbl_802C4CFC +/* 802C4CE4 002C0944 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C4CE8 002C0948 3C 80 80 44 */ lis r4, lbl_80440FDC@ha +/* 802C4CEC 002C094C 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C4CF0 002C0950 7C A5 07 74 */ extsb r5, r5 +/* 802C4CF4 002C0954 38 84 0F DC */ addi r4, r4, lbl_80440FDC@l +/* 802C4CF8 002C0958 4B FF 82 49 */ bl func_802BCF40 +lbl_802C4CFC: +/* 802C4CFC 002C095C 38 00 00 04 */ li r0, 4 +/* 802C4D00 002C0960 38 60 00 00 */ li r3, 0 +/* 802C4D04 002C0964 7C 09 03 A6 */ mtctr r0 +lbl_802C4D08: +/* 802C4D08 002C0968 88 1D 01 19 */ lbz r0, 0x119(r29) +/* 802C4D0C 002C096C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4D10 002C0970 41 82 00 24 */ beq lbl_802C4D34 +/* 802C4D14 002C0974 A0 1D 00 00 */ lhz r0, 0(r29) +/* 802C4D18 002C0978 7C 1F 00 40 */ cmplw r31, r0 +/* 802C4D1C 002C097C 40 82 00 18 */ bne lbl_802C4D34 +/* 802C4D20 002C0980 38 61 00 0B */ addi r3, r1, 0xb +/* 802C4D24 002C0984 38 9D 00 08 */ addi r4, r29, 8 +/* 802C4D28 002C0988 38 A0 00 06 */ li r5, 6 +/* 802C4D2C 002C098C 4B D3 F2 D5 */ bl memcpy +/* 802C4D30 002C0990 48 00 00 1C */ b lbl_802C4D4C +lbl_802C4D34: +/* 802C4D34 002C0994 38 63 00 01 */ addi r3, r3, 1 +/* 802C4D38 002C0998 3B BD 01 1C */ addi r29, r29, 0x11c +/* 802C4D3C 002C099C 42 00 FF CC */ bdnz lbl_802C4D08 +/* 802C4D40 002C09A0 48 00 00 0C */ b lbl_802C4D4C +lbl_802C4D44: +/* 802C4D44 002C09A4 38 00 00 0A */ li r0, 0xa +/* 802C4D48 002C09A8 98 01 00 08 */ stb r0, 8(r1) +lbl_802C4D4C: +/* 802C4D4C 002C09AC 7F CC F3 78 */ mr r12, r30 +/* 802C4D50 002C09B0 38 61 00 08 */ addi r3, r1, 8 +/* 802C4D54 002C09B4 7D 89 03 A6 */ mtctr r12 +/* 802C4D58 002C09B8 4E 80 04 21 */ bctrl +lbl_802C4D5C: +/* 802C4D5C 002C09BC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C4D60 002C09C0 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802C4D64 002C09C4 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802C4D68 002C09C8 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802C4D6C 002C09CC 83 81 00 20 */ lwz r28, 0x20(r1) +/* 802C4D70 002C09D0 7C 08 03 A6 */ mtlr r0 +/* 802C4D74 002C09D4 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C4D78 002C09D8 4E 80 00 20 */ blr +lbl_802C4D7C: +/* 802C4D7C 002C09DC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C4D80 002C09E0 7C 08 02 A6 */ mflr r0 +/* 802C4D84 002C09E4 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C4D88 002C09E8 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802C4D8C 002C09EC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C4D90 002C09F0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C4D94 002C09F4 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802C4D98 002C09F8 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802C4D9C 002C09FC 3B BF 00 34 */ addi r29, r31, 0x34 +/* 802C4DA0 002C0A00 93 81 00 20 */ stw r28, 0x20(r1) +/* 802C4DA4 002C0A04 7C 7C 1B 78 */ mr r28, r3 +/* 802C4DA8 002C0A08 38 7F 05 C8 */ addi r3, r31, 0x5c8 +/* 802C4DAC 002C0A0C 83 DF 05 FC */ lwz r30, 0x5fc(r31) +/* 802C4DB0 002C0A10 4B FF 87 9D */ bl func_802BD54C +/* 802C4DB4 002C0A14 38 00 00 00 */ li r0, 0 +/* 802C4DB8 002C0A18 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C4DBC 002C0A1C 90 1F 05 FC */ stw r0, 0x5fc(r31) +/* 802C4DC0 002C0A20 41 82 00 B4 */ beq lbl_802C4E74 +/* 802C4DC4 002C0A24 88 DC 00 00 */ lbz r6, 0(r28) +/* 802C4DC8 002C0A28 2C 06 00 00 */ cmpwi r6, 0 +/* 802C4DCC 002C0A2C 98 C1 00 09 */ stb r6, 9(r1) +/* 802C4DD0 002C0A30 40 82 00 8C */ bne lbl_802C4E5C +/* 802C4DD4 002C0A34 98 01 00 08 */ stb r0, 8(r1) +/* 802C4DD8 002C0A38 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C4DDC 002C0A3C 88 7C 00 02 */ lbz r3, 2(r28) +/* 802C4DE0 002C0A40 88 9C 00 01 */ lbz r4, 1(r28) +/* 802C4DE4 002C0A44 28 00 00 04 */ cmplwi r0, 4 +/* 802C4DE8 002C0A48 88 BC 00 03 */ lbz r5, 3(r28) +/* 802C4DEC 002C0A4C 54 60 40 2E */ slwi r0, r3, 8 +/* 802C4DF0 002C0A50 7C 04 02 14 */ add r0, r4, r0 +/* 802C4DF4 002C0A54 98 A1 00 0A */ stb r5, 0xa(r1) +/* 802C4DF8 002C0A58 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 802C4DFC 002C0A5C 41 80 00 18 */ blt lbl_802C4E14 +/* 802C4E00 002C0A60 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C4E04 002C0A64 3C 80 80 44 */ lis r4, lbl_8044100C@ha +/* 802C4E08 002C0A68 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C4E0C 002C0A6C 38 84 10 0C */ addi r4, r4, lbl_8044100C@l +/* 802C4E10 002C0A70 4B FF 81 31 */ bl func_802BCF40 +lbl_802C4E14: +/* 802C4E14 002C0A74 38 00 00 04 */ li r0, 4 +/* 802C4E18 002C0A78 38 60 00 00 */ li r3, 0 +/* 802C4E1C 002C0A7C 7C 09 03 A6 */ mtctr r0 +lbl_802C4E20: +/* 802C4E20 002C0A80 88 1D 01 19 */ lbz r0, 0x119(r29) +/* 802C4E24 002C0A84 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4E28 002C0A88 41 82 00 24 */ beq lbl_802C4E4C +/* 802C4E2C 002C0A8C A0 1D 00 00 */ lhz r0, 0(r29) +/* 802C4E30 002C0A90 7C 1F 00 40 */ cmplw r31, r0 +/* 802C4E34 002C0A94 40 82 00 18 */ bne lbl_802C4E4C +/* 802C4E38 002C0A98 38 61 00 0B */ addi r3, r1, 0xb +/* 802C4E3C 002C0A9C 38 9D 00 08 */ addi r4, r29, 8 +/* 802C4E40 002C0AA0 38 A0 00 06 */ li r5, 6 +/* 802C4E44 002C0AA4 4B D3 F1 BD */ bl memcpy +/* 802C4E48 002C0AA8 48 00 00 1C */ b lbl_802C4E64 +lbl_802C4E4C: +/* 802C4E4C 002C0AAC 38 63 00 01 */ addi r3, r3, 1 +/* 802C4E50 002C0AB0 3B BD 01 1C */ addi r29, r29, 0x11c +/* 802C4E54 002C0AB4 42 00 FF CC */ bdnz lbl_802C4E20 +/* 802C4E58 002C0AB8 48 00 00 0C */ b lbl_802C4E64 +lbl_802C4E5C: +/* 802C4E5C 002C0ABC 38 00 00 0A */ li r0, 0xa +/* 802C4E60 002C0AC0 98 01 00 08 */ stb r0, 8(r1) +lbl_802C4E64: +/* 802C4E64 002C0AC4 7F CC F3 78 */ mr r12, r30 +/* 802C4E68 002C0AC8 38 61 00 08 */ addi r3, r1, 8 +/* 802C4E6C 002C0ACC 7D 89 03 A6 */ mtctr r12 +/* 802C4E70 002C0AD0 4E 80 04 21 */ bctrl +lbl_802C4E74: +/* 802C4E74 002C0AD4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C4E78 002C0AD8 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802C4E7C 002C0ADC 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802C4E80 002C0AE0 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802C4E84 002C0AE4 83 81 00 20 */ lwz r28, 0x20(r1) +/* 802C4E88 002C0AE8 7C 08 03 A6 */ mtlr r0 +/* 802C4E8C 002C0AEC 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C4E90 002C0AF0 4E 80 00 20 */ blr + +.global func_802C4E94 +func_802C4E94: +/* 802C4E94 002C0AF4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C4E98 002C0AF8 7C 08 02 A6 */ mflr r0 +/* 802C4E9C 002C0AFC 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C4EA0 002C0B00 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C4EA4 002C0B04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C4EA8 002C0B08 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C4EAC 002C0B0C 3B E0 00 00 */ li r31, 0 +/* 802C4EB0 002C0B10 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C4EB4 002C0B14 3B C4 00 34 */ addi r30, r4, 0x34 +/* 802C4EB8 002C0B18 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C4EBC 002C0B1C 7C 7D 1B 78 */ mr r29, r3 +lbl_802C4EC0: +/* 802C4EC0 002C0B20 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C4EC4 002C0B24 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4EC8 002C0B28 41 82 00 20 */ beq lbl_802C4EE8 +/* 802C4ECC 002C0B2C 7F A4 EB 78 */ mr r4, r29 +/* 802C4ED0 002C0B30 38 7E 00 08 */ addi r3, r30, 8 +/* 802C4ED4 002C0B34 38 A0 00 06 */ li r5, 6 +/* 802C4ED8 002C0B38 4B F0 54 C1 */ bl memcmp +/* 802C4EDC 002C0B3C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C4EE0 002C0B40 40 82 00 08 */ bne lbl_802C4EE8 +/* 802C4EE4 002C0B44 48 00 00 18 */ b lbl_802C4EFC +lbl_802C4EE8: +/* 802C4EE8 002C0B48 3B FF 00 01 */ addi r31, r31, 1 +/* 802C4EEC 002C0B4C 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C4EF0 002C0B50 28 1F 00 04 */ cmplwi r31, 4 +/* 802C4EF4 002C0B54 41 80 FF CC */ blt lbl_802C4EC0 +/* 802C4EF8 002C0B58 3B C0 00 00 */ li r30, 0 +lbl_802C4EFC: +/* 802C4EFC 002C0B5C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C4F00 002C0B60 41 82 00 0C */ beq lbl_802C4F0C +/* 802C4F04 002C0B64 A0 7E 00 00 */ lhz r3, 0(r30) +/* 802C4F08 002C0B68 48 00 00 0C */ b lbl_802C4F14 +lbl_802C4F0C: +/* 802C4F0C 002C0B6C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802C4F10 002C0B70 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l +lbl_802C4F14: +/* 802C4F14 002C0B74 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 802C4F18 002C0B78 38 80 00 13 */ li r4, 0x13 +/* 802C4F1C 002C0B7C 48 00 B1 75 */ bl func_802D0090 +/* 802C4F20 002C0B80 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C4F24 002C0B84 40 82 00 0C */ bne lbl_802C4F30 +/* 802C4F28 002C0B88 38 60 00 03 */ li r3, 3 +/* 802C4F2C 002C0B8C 48 00 00 08 */ b lbl_802C4F34 +lbl_802C4F30: +/* 802C4F30 002C0B90 38 60 00 00 */ li r3, 0 +lbl_802C4F34: +/* 802C4F34 002C0B94 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C4F38 002C0B98 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C4F3C 002C0B9C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C4F40 002C0BA0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C4F44 002C0BA4 7C 08 03 A6 */ mtlr r0 +/* 802C4F48 002C0BA8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C4F4C 002C0BAC 4E 80 00 20 */ blr + +.global func_802C4F50 +func_802C4F50: +/* 802C4F50 002C0BB0 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802C4F54 002C0BB4 7C 08 02 A6 */ mflr r0 +/* 802C4F58 002C0BB8 90 01 00 44 */ stw r0, 0x44(r1) +/* 802C4F5C 002C0BBC 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C4F60 002C0BC0 4B F0 21 BD */ bl _savegpr_24 +/* 802C4F64 002C0BC4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C4F68 002C0BC8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C4F6C 002C0BCC 3B E4 8B 78 */ addi r31, r4, lbl_80568B78@l +/* 802C4F70 002C0BD0 3F C0 80 44 */ lis r30, lbl_80440CC0@ha +/* 802C4F74 002C0BD4 3B DE 0C C0 */ addi r30, r30, lbl_80440CC0@l +/* 802C4F78 002C0BD8 3B 9F 00 34 */ addi r28, r31, 0x34 +/* 802C4F7C 002C0BDC 41 82 00 C8 */ beq lbl_802C5044 +/* 802C4F80 002C0BE0 3B A0 00 00 */ li r29, 0 +/* 802C4F84 002C0BE4 3F 40 00 0D */ lis r26, 0xd +/* 802C4F88 002C0BE8 3B 00 CC F9 */ li r24, -13063 +lbl_802C4F8C: +/* 802C4F8C 002C0BEC 88 1C 01 19 */ lbz r0, 0x119(r28) +/* 802C4F90 002C0BF0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C4F94 002C0BF4 41 82 00 9C */ beq lbl_802C5030 +/* 802C4F98 002C0BF8 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C4F9C 002C0BFC 28 00 00 05 */ cmplwi r0, 5 +/* 802C4FA0 002C0C00 41 80 00 14 */ blt lbl_802C4FB4 +/* 802C4FA4 002C0C04 A0 BC 00 00 */ lhz r5, 0(r28) +/* 802C4FA8 002C0C08 38 7A 00 04 */ addi r3, r26, 4 +/* 802C4FAC 002C0C0C 38 9E 03 8C */ addi r4, r30, 0x38c +/* 802C4FB0 002C0C10 4B FF 7F 79 */ bl func_802BCF28 +lbl_802C4FB4: +/* 802C4FB4 002C0C14 A0 1C 00 02 */ lhz r0, 2(r28) +/* 802C4FB8 002C0C18 38 A0 00 18 */ li r5, 0x18 +/* 802C4FBC 002C0C1C B0 1C 00 04 */ sth r0, 4(r28) +/* 802C4FC0 002C0C20 88 7F 06 36 */ lbz r3, 0x636(r31) +/* 802C4FC4 002C0C24 28 03 00 03 */ cmplwi r3, 3 +/* 802C4FC8 002C0C28 41 80 00 0C */ blt lbl_802C4FD4 +/* 802C4FCC 002C0C2C 60 A0 33 00 */ ori r0, r5, 0x3300 +/* 802C4FD0 002C0C30 54 05 04 3E */ clrlwi r5, r0, 0x10 +lbl_802C4FD4: +/* 802C4FD4 002C0C34 A0 9F 06 54 */ lhz r4, 0x654(r31) +/* 802C4FD8 002C0C38 28 83 00 03 */ cmplwi cr1, r3, 3 +/* 802C4FDC 002C0C3C 7C A0 20 38 */ and r0, r5, r4 +/* 802C4FE0 002C0C40 70 03 CC 18 */ andi. r3, r0, 0xcc18 +/* 802C4FE4 002C0C44 7C 79 C0 38 */ and r25, r3, r24 +/* 802C4FE8 002C0C48 41 84 00 14 */ blt cr1, lbl_802C4FFC +/* 802C4FEC 002C0C4C 7C A0 23 78 */ or r0, r5, r4 +/* 802C4FF0 002C0C50 70 00 33 06 */ andi. r0, r0, 0x3306 +/* 802C4FF4 002C0C54 7C 60 03 78 */ or r0, r3, r0 +/* 802C4FF8 002C0C58 54 19 04 3E */ clrlwi r25, r0, 0x10 +lbl_802C4FFC: +/* 802C4FFC 002C0C5C 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C5000 002C0C60 28 00 00 04 */ cmplwi r0, 4 +/* 802C5004 002C0C64 41 80 00 14 */ blt lbl_802C5018 +/* 802C5008 002C0C68 38 7A 00 03 */ addi r3, r26, 3 +/* 802C500C 002C0C6C 38 9E 00 40 */ addi r4, r30, 0x40 +/* 802C5010 002C0C70 57 25 04 3E */ clrlwi r5, r25, 0x10 +/* 802C5014 002C0C74 4B FF 7F 15 */ bl func_802BCF28 +lbl_802C5018: +/* 802C5018 002C0C78 A0 7C 00 00 */ lhz r3, 0(r28) +/* 802C501C 002C0C7C 57 24 04 3E */ clrlwi r4, r25, 0x10 +/* 802C5020 002C0C80 48 00 B7 05 */ bl func_802D0724 +/* 802C5024 002C0C84 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C5028 002C0C88 41 82 00 08 */ beq lbl_802C5030 +/* 802C502C 002C0C8C B3 3C 00 02 */ sth r25, 2(r28) +lbl_802C5030: +/* 802C5030 002C0C90 3B BD 00 01 */ addi r29, r29, 1 +/* 802C5034 002C0C94 3B 9C 01 1C */ addi r28, r28, 0x11c +/* 802C5038 002C0C98 28 1D 00 04 */ cmplwi r29, 4 +/* 802C503C 002C0C9C 41 80 FF 50 */ blt lbl_802C4F8C +/* 802C5040 002C0CA0 48 00 01 18 */ b lbl_802C5158 +lbl_802C5044: +/* 802C5044 002C0CA4 3B A0 00 00 */ li r29, 0 +/* 802C5048 002C0CA8 3F 00 00 0D */ lis r24, 0xd +/* 802C504C 002C0CAC 3B 20 00 00 */ li r25, 0 +/* 802C5050 002C0CB0 3B 60 CC F9 */ li r27, -13063 +lbl_802C5054: +/* 802C5054 002C0CB4 88 1C 01 19 */ lbz r0, 0x119(r28) +/* 802C5058 002C0CB8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C505C 002C0CBC 41 82 00 EC */ beq lbl_802C5148 +/* 802C5060 002C0CC0 A0 1C 00 04 */ lhz r0, 4(r28) +/* 802C5064 002C0CC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5068 002C0CC8 41 82 00 E0 */ beq lbl_802C5148 +/* 802C506C 002C0CCC 38 7C 00 08 */ addi r3, r28, 8 +/* 802C5070 002C0CD0 38 81 00 08 */ addi r4, r1, 8 +/* 802C5074 002C0CD4 48 00 40 05 */ bl func_802C9078 +/* 802C5078 002C0CD8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C507C 002C0CDC 40 82 00 CC */ bne lbl_802C5148 +/* 802C5080 002C0CE0 88 01 00 08 */ lbz r0, 8(r1) +/* 802C5084 002C0CE4 28 00 00 02 */ cmplwi r0, 2 +/* 802C5088 002C0CE8 40 82 00 38 */ bne lbl_802C50C0 +/* 802C508C 002C0CEC 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C5090 002C0CF0 28 00 00 05 */ cmplwi r0, 5 +/* 802C5094 002C0CF4 41 80 00 14 */ blt lbl_802C50A8 +/* 802C5098 002C0CF8 A0 BC 00 00 */ lhz r5, 0(r28) +/* 802C509C 002C0CFC 38 78 00 04 */ addi r3, r24, 4 +/* 802C50A0 002C0D00 38 9E 03 BC */ addi r4, r30, 0x3bc +/* 802C50A4 002C0D04 4B FF 7E 85 */ bl func_802BCF28 +lbl_802C50A8: +/* 802C50A8 002C0D08 9B 21 00 14 */ stb r25, 0x14(r1) +/* 802C50AC 002C0D0C 38 9C 00 08 */ addi r4, r28, 8 +/* 802C50B0 002C0D10 38 A1 00 0C */ addi r5, r1, 0xc +/* 802C50B4 002C0D14 38 60 00 80 */ li r3, 0x80 +/* 802C50B8 002C0D18 48 00 3D F1 */ bl func_802C8EA8 +/* 802C50BC 002C0D1C 48 00 00 8C */ b lbl_802C5148 +lbl_802C50C0: +/* 802C50C0 002C0D20 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C50C4 002C0D24 28 00 00 05 */ cmplwi r0, 5 +/* 802C50C8 002C0D28 41 80 00 18 */ blt lbl_802C50E0 +/* 802C50CC 002C0D2C A0 BC 00 00 */ lhz r5, 0(r28) +/* 802C50D0 002C0D30 38 78 00 04 */ addi r3, r24, 4 +/* 802C50D4 002C0D34 A0 DC 00 02 */ lhz r6, 2(r28) +/* 802C50D8 002C0D38 38 9E 03 EC */ addi r4, r30, 0x3ec +/* 802C50DC 002C0D3C 4B FF 7E 65 */ bl func_802BCF40 +lbl_802C50E0: +/* 802C50E0 002C0D40 A0 9C 00 04 */ lhz r4, 4(r28) +/* 802C50E4 002C0D44 A0 BF 06 54 */ lhz r5, 0x654(r31) +/* 802C50E8 002C0D48 88 1F 06 36 */ lbz r0, 0x636(r31) +/* 802C50EC 002C0D4C 7C 83 28 38 */ and r3, r4, r5 +/* 802C50F0 002C0D50 70 63 CC 18 */ andi. r3, r3, 0xcc18 +/* 802C50F4 002C0D54 28 00 00 03 */ cmplwi r0, 3 +/* 802C50F8 002C0D58 7C 7A D8 38 */ and r26, r3, r27 +/* 802C50FC 002C0D5C 41 80 00 14 */ blt lbl_802C5110 +/* 802C5100 002C0D60 7C 80 2B 78 */ or r0, r4, r5 +/* 802C5104 002C0D64 70 00 33 06 */ andi. r0, r0, 0x3306 +/* 802C5108 002C0D68 7C 60 03 78 */ or r0, r3, r0 +/* 802C510C 002C0D6C 54 1A 04 3E */ clrlwi r26, r0, 0x10 +lbl_802C5110: +/* 802C5110 002C0D70 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C5114 002C0D74 28 00 00 04 */ cmplwi r0, 4 +/* 802C5118 002C0D78 41 80 00 14 */ blt lbl_802C512C +/* 802C511C 002C0D7C 38 78 00 03 */ addi r3, r24, 3 +/* 802C5120 002C0D80 38 9E 00 40 */ addi r4, r30, 0x40 +/* 802C5124 002C0D84 57 45 04 3E */ clrlwi r5, r26, 0x10 +/* 802C5128 002C0D88 4B FF 7E 01 */ bl func_802BCF28 +lbl_802C512C: +/* 802C512C 002C0D8C A0 7C 00 00 */ lhz r3, 0(r28) +/* 802C5130 002C0D90 57 44 04 3E */ clrlwi r4, r26, 0x10 +/* 802C5134 002C0D94 48 00 B5 F1 */ bl func_802D0724 +/* 802C5138 002C0D98 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C513C 002C0D9C 41 82 00 08 */ beq lbl_802C5144 +/* 802C5140 002C0DA0 B3 5C 00 02 */ sth r26, 2(r28) +lbl_802C5144: +/* 802C5144 002C0DA4 B3 3C 00 04 */ sth r25, 4(r28) +lbl_802C5148: +/* 802C5148 002C0DA8 3B BD 00 01 */ addi r29, r29, 1 +/* 802C514C 002C0DAC 3B 9C 01 1C */ addi r28, r28, 0x11c +/* 802C5150 002C0DB0 28 1D 00 04 */ cmplwi r29, 4 +/* 802C5154 002C0DB4 41 80 FF 00 */ blt lbl_802C5054 +lbl_802C5158: +/* 802C5158 002C0DB8 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C515C 002C0DBC 4B F0 20 0D */ bl _restgpr_24 +/* 802C5160 002C0DC0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802C5164 002C0DC4 7C 08 03 A6 */ mtlr r0 +/* 802C5168 002C0DC8 38 21 00 40 */ addi r1, r1, 0x40 +/* 802C516C 002C0DCC 4E 80 00 20 */ blr + +.global func_802C5170 +func_802C5170: +/* 802C5170 002C0DD0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C5174 002C0DD4 7C 08 02 A6 */ mflr r0 +/* 802C5178 002C0DD8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C517C 002C0DDC 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C5180 002C0DE0 4B F0 1F 9D */ bl _savegpr_24 +/* 802C5184 002C0DE4 3D 20 80 57 */ lis r9, lbl_80568B78@ha +/* 802C5188 002C0DE8 7C 78 1B 78 */ mr r24, r3 +/* 802C518C 002C0DEC 39 29 8B 78 */ addi r9, r9, lbl_80568B78@l +/* 802C5190 002C0DF0 7C 99 23 78 */ mr r25, r4 +/* 802C5194 002C0DF4 7C BA 2B 78 */ mr r26, r5 +/* 802C5198 002C0DF8 7C DB 33 78 */ mr r27, r6 +/* 802C519C 002C0DFC 7C FC 3B 78 */ mr r28, r7 +/* 802C51A0 002C0E00 7D 1D 43 78 */ mr r29, r8 +/* 802C51A4 002C0E04 3B C9 1F 30 */ addi r30, r9, 0x1f30 +/* 802C51A8 002C0E08 3B E0 00 00 */ li r31, 0 +lbl_802C51AC: +/* 802C51AC 002C0E0C 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802C51B0 002C0E10 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C51B4 002C0E14 41 82 00 20 */ beq lbl_802C51D4 +/* 802C51B8 002C0E18 7F 04 C3 78 */ mr r4, r24 +/* 802C51BC 002C0E1C 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802C51C0 002C0E20 38 A0 00 06 */ li r5, 6 +/* 802C51C4 002C0E24 4B F0 51 D5 */ bl memcmp +/* 802C51C8 002C0E28 2C 03 00 00 */ cmpwi r3, 0 +/* 802C51CC 002C0E2C 40 82 00 08 */ bne lbl_802C51D4 +/* 802C51D0 002C0E30 48 00 00 18 */ b lbl_802C51E8 +lbl_802C51D4: +/* 802C51D4 002C0E34 3B FF 00 01 */ addi r31, r31, 1 +/* 802C51D8 002C0E38 3B DE 00 88 */ addi r30, r30, 0x88 +/* 802C51DC 002C0E3C 2C 1F 00 10 */ cmpwi r31, 0x10 +/* 802C51E0 002C0E40 41 80 FF CC */ blt lbl_802C51AC +/* 802C51E4 002C0E44 3B C0 00 00 */ li r30, 0 +lbl_802C51E8: +/* 802C51E8 002C0E48 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C51EC 002C0E4C 40 82 00 20 */ bne lbl_802C520C +/* 802C51F0 002C0E50 7F 03 C3 78 */ mr r3, r24 +/* 802C51F4 002C0E54 48 00 02 51 */ bl func_802C5444 +/* 802C51F8 002C0E58 2C 03 00 00 */ cmpwi r3, 0 +/* 802C51FC 002C0E5C 7C 7E 1B 78 */ mr r30, r3 +/* 802C5200 002C0E60 40 82 00 24 */ bne lbl_802C5224 +/* 802C5204 002C0E64 38 60 00 00 */ li r3, 0 +/* 802C5208 002C0E68 48 00 00 D8 */ b lbl_802C52E0 +lbl_802C520C: +/* 802C520C 002C0E6C 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5210 002C0E70 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C5214 002C0E74 80 64 19 74 */ lwz r3, 0x1974(r4) +/* 802C5218 002C0E78 90 7E 00 0C */ stw r3, 0xc(r30) +/* 802C521C 002C0E7C 38 03 00 01 */ addi r0, r3, 1 +/* 802C5220 002C0E80 90 04 19 74 */ stw r0, 0x1974(r4) +lbl_802C5224: +/* 802C5224 002C0E84 2C 19 00 00 */ cmpwi r25, 0 +/* 802C5228 002C0E88 41 82 00 14 */ beq lbl_802C523C +/* 802C522C 002C0E8C 7F 24 CB 78 */ mr r4, r25 +/* 802C5230 002C0E90 38 7E 00 22 */ addi r3, r30, 0x22 +/* 802C5234 002C0E94 38 A0 00 03 */ li r5, 3 +/* 802C5238 002C0E98 4B D3 ED C9 */ bl memcpy +lbl_802C523C: +/* 802C523C 002C0E9C 38 7E 00 35 */ addi r3, r30, 0x35 +/* 802C5240 002C0EA0 38 80 00 00 */ li r4, 0 +/* 802C5244 002C0EA4 38 A0 00 41 */ li r5, 0x41 +/* 802C5248 002C0EA8 4B D3 EE BD */ bl memset +/* 802C524C 002C0EAC 2C 1A 00 00 */ cmpwi r26, 0 +/* 802C5250 002C0EB0 41 82 00 2C */ beq lbl_802C527C +/* 802C5254 002C0EB4 88 1A 00 00 */ lbz r0, 0(r26) +/* 802C5258 002C0EB8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C525C 002C0EBC 41 82 00 20 */ beq lbl_802C527C +/* 802C5260 002C0EC0 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802C5264 002C0EC4 7F 44 D3 78 */ mr r4, r26 +/* 802C5268 002C0EC8 38 7E 00 35 */ addi r3, r30, 0x35 +/* 802C526C 002C0ECC 38 A0 00 40 */ li r5, 0x40 +/* 802C5270 002C0ED0 60 00 00 08 */ ori r0, r0, 8 +/* 802C5274 002C0ED4 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802C5278 002C0ED8 4B F0 91 19 */ bl strncpy +lbl_802C527C: +/* 802C527C 002C0EDC 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C5280 002C0EE0 41 82 00 18 */ beq lbl_802C5298 +/* 802C5284 002C0EE4 7F 64 DB 78 */ mr r4, r27 +/* 802C5288 002C0EE8 38 7E 00 77 */ addi r3, r30, 0x77 +/* 802C528C 002C0EEC 38 A0 00 08 */ li r5, 8 +/* 802C5290 002C0EF0 4B D3 ED 71 */ bl memcpy +/* 802C5294 002C0EF4 48 00 00 14 */ b lbl_802C52A8 +lbl_802C5298: +/* 802C5298 002C0EF8 38 7E 00 77 */ addi r3, r30, 0x77 +/* 802C529C 002C0EFC 38 80 00 00 */ li r4, 0 +/* 802C52A0 002C0F00 38 A0 00 08 */ li r5, 8 +/* 802C52A4 002C0F04 4B D3 EE 61 */ bl memset +lbl_802C52A8: +/* 802C52A8 002C0F08 80 1C 00 00 */ lwz r0, 0(r28) +/* 802C52AC 002C0F0C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C52B0 002C0F10 90 1E 00 10 */ stw r0, 0x10(r30) +/* 802C52B4 002C0F14 80 1C 00 04 */ lwz r0, 4(r28) +/* 802C52B8 002C0F18 90 1E 00 14 */ stw r0, 0x14(r30) +/* 802C52BC 002C0F1C 41 82 00 20 */ beq lbl_802C52DC +/* 802C52C0 002C0F20 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802C52C4 002C0F24 7F A4 EB 78 */ mr r4, r29 +/* 802C52C8 002C0F28 38 7E 00 25 */ addi r3, r30, 0x25 +/* 802C52CC 002C0F2C 38 A0 00 10 */ li r5, 0x10 +/* 802C52D0 002C0F30 60 00 00 10 */ ori r0, r0, 0x10 +/* 802C52D4 002C0F34 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802C52D8 002C0F38 4B D3 ED 29 */ bl memcpy +lbl_802C52DC: +/* 802C52DC 002C0F3C 38 60 00 01 */ li r3, 1 +lbl_802C52E0: +/* 802C52E0 002C0F40 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C52E4 002C0F44 4B F0 1E 85 */ bl _restgpr_24 +/* 802C52E8 002C0F48 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C52EC 002C0F4C 7C 08 03 A6 */ mtlr r0 +/* 802C52F0 002C0F50 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C52F4 002C0F54 4E 80 00 20 */ blr + +.global func_802C52F8 +func_802C52F8: +/* 802C52F8 002C0F58 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C52FC 002C0F5C 7C 08 02 A6 */ mflr r0 +/* 802C5300 002C0F60 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5304 002C0F64 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C5308 002C0F68 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C530C 002C0F6C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C5310 002C0F70 3B E0 00 00 */ li r31, 0 +/* 802C5314 002C0F74 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C5318 002C0F78 3B C4 1F 30 */ addi r30, r4, 0x1f30 +/* 802C531C 002C0F7C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C5320 002C0F80 7C 7D 1B 78 */ mr r29, r3 +lbl_802C5324: +/* 802C5324 002C0F84 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802C5328 002C0F88 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C532C 002C0F8C 41 82 00 20 */ beq lbl_802C534C +/* 802C5330 002C0F90 7F A4 EB 78 */ mr r4, r29 +/* 802C5334 002C0F94 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802C5338 002C0F98 38 A0 00 06 */ li r5, 6 +/* 802C533C 002C0F9C 4B F0 50 5D */ bl memcmp +/* 802C5340 002C0FA0 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5344 002C0FA4 40 82 00 08 */ bne lbl_802C534C +/* 802C5348 002C0FA8 48 00 00 18 */ b lbl_802C5360 +lbl_802C534C: +/* 802C534C 002C0FAC 3B FF 00 01 */ addi r31, r31, 1 +/* 802C5350 002C0FB0 3B DE 00 88 */ addi r30, r30, 0x88 +/* 802C5354 002C0FB4 2C 1F 00 10 */ cmpwi r31, 0x10 +/* 802C5358 002C0FB8 41 80 FF CC */ blt lbl_802C5324 +/* 802C535C 002C0FBC 3B C0 00 00 */ li r30, 0 +lbl_802C5360: +/* 802C5360 002C0FC0 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C5364 002C0FC4 40 82 00 0C */ bne lbl_802C5370 +/* 802C5368 002C0FC8 38 60 00 00 */ li r3, 0 +/* 802C536C 002C0FCC 48 00 00 1C */ b lbl_802C5388 +lbl_802C5370: +/* 802C5370 002C0FD0 38 00 00 00 */ li r0, 0 +/* 802C5374 002C0FD4 7F A3 EB 78 */ mr r3, r29 +/* 802C5378 002C0FD8 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802C537C 002C0FDC 38 80 00 00 */ li r4, 0 +/* 802C5380 002C0FE0 48 00 1A 89 */ bl func_802C6E08 +/* 802C5384 002C0FE4 38 60 00 01 */ li r3, 1 +lbl_802C5388: +/* 802C5388 002C0FE8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C538C 002C0FEC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C5390 002C0FF0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C5394 002C0FF4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C5398 002C0FF8 7C 08 03 A6 */ mtlr r0 +/* 802C539C 002C0FFC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C53A0 002C1000 4E 80 00 20 */ blr + +.global func_802C53A4 +func_802C53A4: +/* 802C53A4 002C1004 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C53A8 002C1008 7C 08 02 A6 */ mflr r0 +/* 802C53AC 002C100C 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C53B0 002C1010 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C53B4 002C1014 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C53B8 002C1018 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C53BC 002C101C 3B E0 00 00 */ li r31, 0 +/* 802C53C0 002C1020 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C53C4 002C1024 3B C4 1F 30 */ addi r30, r4, 0x1f30 +/* 802C53C8 002C1028 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C53CC 002C102C 3B A0 00 00 */ li r29, 0 +/* 802C53D0 002C1030 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C53D4 002C1034 7C 7C 1B 78 */ mr r28, r3 +lbl_802C53D8: +/* 802C53D8 002C1038 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802C53DC 002C103C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C53E0 002C1040 41 82 00 20 */ beq lbl_802C5400 +/* 802C53E4 002C1044 7F 84 E3 78 */ mr r4, r28 +/* 802C53E8 002C1048 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802C53EC 002C104C 38 A0 00 06 */ li r5, 6 +/* 802C53F0 002C1050 4B F0 4F A9 */ bl memcmp +/* 802C53F4 002C1054 2C 03 00 00 */ cmpwi r3, 0 +/* 802C53F8 002C1058 40 82 00 08 */ bne lbl_802C5400 +/* 802C53FC 002C105C 48 00 00 18 */ b lbl_802C5414 +lbl_802C5400: +/* 802C5400 002C1060 3B FF 00 01 */ addi r31, r31, 1 +/* 802C5404 002C1064 3B DE 00 88 */ addi r30, r30, 0x88 +/* 802C5408 002C1068 2C 1F 00 10 */ cmpwi r31, 0x10 +/* 802C540C 002C106C 41 80 FF CC */ blt lbl_802C53D8 +/* 802C5410 002C1070 3B C0 00 00 */ li r30, 0 +lbl_802C5414: +/* 802C5414 002C1074 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C5418 002C1078 41 82 00 08 */ beq lbl_802C5420 +/* 802C541C 002C107C 3B BE 00 35 */ addi r29, r30, 0x35 +lbl_802C5420: +/* 802C5420 002C1080 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C5424 002C1084 7F A3 EB 78 */ mr r3, r29 +/* 802C5428 002C1088 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C542C 002C108C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C5430 002C1090 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C5434 002C1094 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C5438 002C1098 7C 08 03 A6 */ mtlr r0 +/* 802C543C 002C109C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C5440 002C10A0 4E 80 00 20 */ blr + +.global func_802C5444 +func_802C5444: +/* 802C5444 002C10A4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C5448 002C10A8 7C 08 02 A6 */ mflr r0 +/* 802C544C 002C10AC 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5450 002C10B0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C5454 002C10B4 38 00 00 10 */ li r0, 0x10 +/* 802C5458 002C10B8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C545C 002C10BC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C5460 002C10C0 3B E0 00 00 */ li r31, 0 +/* 802C5464 002C10C4 93 C1 00 08 */ stw r30, 8(r1) +/* 802C5468 002C10C8 7C 7E 1B 78 */ mr r30, r3 +/* 802C546C 002C10CC 38 60 00 00 */ li r3, 0 +/* 802C5470 002C10D0 7C 09 03 A6 */ mtctr r0 +lbl_802C5474: +/* 802C5474 002C10D4 88 04 1F A6 */ lbz r0, 0x1fa6(r4) +/* 802C5478 002C10D8 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C547C 002C10DC 40 82 00 1C */ bne lbl_802C5498 +/* 802C5480 002C10E0 1C 03 00 88 */ mulli r0, r3, 0x88 +/* 802C5484 002C10E4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5488 002C10E8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C548C 002C10EC 7C 63 02 14 */ add r3, r3, r0 +/* 802C5490 002C10F0 3B E3 1F 30 */ addi r31, r3, 0x1f30 +/* 802C5494 002C10F4 48 00 00 10 */ b lbl_802C54A4 +lbl_802C5498: +/* 802C5498 002C10F8 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C549C 002C10FC 38 63 00 01 */ addi r3, r3, 1 +/* 802C54A0 002C1100 42 00 FF D4 */ bdnz lbl_802C5474 +lbl_802C54A4: +/* 802C54A4 002C1104 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C54A8 002C1108 40 82 00 0C */ bne lbl_802C54B4 +/* 802C54AC 002C110C 48 00 01 F9 */ bl func_802C56A4 +/* 802C54B0 002C1110 7C 7F 1B 78 */ mr r31, r3 +lbl_802C54B4: +/* 802C54B4 002C1114 7F E3 FB 78 */ mr r3, r31 +/* 802C54B8 002C1118 38 80 00 00 */ li r4, 0 +/* 802C54BC 002C111C 38 A0 00 88 */ li r5, 0x88 +/* 802C54C0 002C1120 4B D3 EC 45 */ bl memset +/* 802C54C4 002C1124 38 60 00 80 */ li r3, 0x80 +/* 802C54C8 002C1128 38 00 00 00 */ li r0, 0 +/* 802C54CC 002C112C 98 7F 00 76 */ stb r3, 0x76(r31) +/* 802C54D0 002C1130 7F C3 F3 78 */ mr r3, r30 +/* 802C54D4 002C1134 98 1F 00 85 */ stb r0, 0x85(r31) +/* 802C54D8 002C1138 48 00 28 51 */ bl func_802C7D28 +/* 802C54DC 002C113C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C54E0 002C1140 7C 64 1B 78 */ mr r4, r3 +/* 802C54E4 002C1144 41 82 00 18 */ beq lbl_802C54FC +/* 802C54E8 002C1148 38 7F 00 22 */ addi r3, r31, 0x22 +/* 802C54EC 002C114C 38 84 00 08 */ addi r4, r4, 8 +/* 802C54F0 002C1150 38 A0 00 03 */ li r5, 3 +/* 802C54F4 002C1154 4B D3 EB 0D */ bl memcpy +/* 802C54F8 002C1158 48 00 00 1C */ b lbl_802C5514 +lbl_802C54FC: +/* 802C54FC 002C115C 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5500 002C1160 38 7F 00 22 */ addi r3, r31, 0x22 +/* 802C5504 002C1164 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C5508 002C1168 38 A0 00 03 */ li r5, 3 +/* 802C550C 002C116C 38 84 27 BA */ addi r4, r4, 0x27ba +/* 802C5510 002C1170 4B D3 EA F1 */ bl memcpy +lbl_802C5514: +/* 802C5514 002C1174 7F C4 F3 78 */ mr r4, r30 +/* 802C5518 002C1178 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802C551C 002C117C 38 A0 00 06 */ li r5, 6 +/* 802C5520 002C1180 4B D3 EA E1 */ bl memcpy +/* 802C5524 002C1184 7F C3 F3 78 */ mr r3, r30 +/* 802C5528 002C1188 4B FF EE 7D */ bl func_802C43A4 +/* 802C552C 002C118C B0 7F 00 18 */ sth r3, 0x18(r31) +/* 802C5530 002C1190 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C5534 002C1194 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C5538 002C1198 7F E3 FB 78 */ mr r3, r31 +/* 802C553C 002C119C 80 85 19 74 */ lwz r4, 0x1974(r5) +/* 802C5540 002C11A0 90 9F 00 0C */ stw r4, 0xc(r31) +/* 802C5544 002C11A4 38 04 00 01 */ addi r0, r4, 1 +/* 802C5548 002C11A8 90 05 19 74 */ stw r0, 0x1974(r5) +/* 802C554C 002C11AC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C5550 002C11B0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C5554 002C11B4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C5558 002C11B8 7C 08 03 A6 */ mtlr r0 +/* 802C555C 002C11BC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C5560 002C11C0 4E 80 00 20 */ blr + +.global func_802C5564 +func_802C5564: +/* 802C5564 002C11C4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5568 002C11C8 38 00 00 04 */ li r0, 4 +/* 802C556C 002C11CC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C5570 002C11D0 38 A0 00 00 */ li r5, 0 +/* 802C5574 002C11D4 38 84 1F 30 */ addi r4, r4, 0x1f30 +/* 802C5578 002C11D8 7C 09 03 A6 */ mtctr r0 +lbl_802C557C: +/* 802C557C 002C11DC 88 04 00 76 */ lbz r0, 0x76(r4) +/* 802C5580 002C11E0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C5584 002C11E4 41 82 00 18 */ beq lbl_802C559C +/* 802C5588 002C11E8 A0 04 00 18 */ lhz r0, 0x18(r4) +/* 802C558C 002C11EC 7C 00 18 40 */ cmplw r0, r3 +/* 802C5590 002C11F0 40 82 00 0C */ bne lbl_802C559C +/* 802C5594 002C11F4 7C 83 23 78 */ mr r3, r4 +/* 802C5598 002C11F8 4E 80 00 20 */ blr +lbl_802C559C: +/* 802C559C 002C11FC 88 04 00 FE */ lbz r0, 0xfe(r4) +/* 802C55A0 002C1200 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C55A4 002C1204 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C55A8 002C1208 41 82 00 18 */ beq lbl_802C55C0 +/* 802C55AC 002C120C A0 04 00 18 */ lhz r0, 0x18(r4) +/* 802C55B0 002C1210 7C 00 18 40 */ cmplw r0, r3 +/* 802C55B4 002C1214 40 82 00 0C */ bne lbl_802C55C0 +/* 802C55B8 002C1218 7C 83 23 78 */ mr r3, r4 +/* 802C55BC 002C121C 4E 80 00 20 */ blr +lbl_802C55C0: +/* 802C55C0 002C1220 88 04 00 FE */ lbz r0, 0xfe(r4) +/* 802C55C4 002C1224 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C55C8 002C1228 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C55CC 002C122C 41 82 00 18 */ beq lbl_802C55E4 +/* 802C55D0 002C1230 A0 04 00 18 */ lhz r0, 0x18(r4) +/* 802C55D4 002C1234 7C 00 18 40 */ cmplw r0, r3 +/* 802C55D8 002C1238 40 82 00 0C */ bne lbl_802C55E4 +/* 802C55DC 002C123C 7C 83 23 78 */ mr r3, r4 +/* 802C55E0 002C1240 4E 80 00 20 */ blr +lbl_802C55E4: +/* 802C55E4 002C1244 88 04 00 FE */ lbz r0, 0xfe(r4) +/* 802C55E8 002C1248 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C55EC 002C124C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C55F0 002C1250 41 82 00 18 */ beq lbl_802C5608 +/* 802C55F4 002C1254 A0 04 00 18 */ lhz r0, 0x18(r4) +/* 802C55F8 002C1258 7C 00 18 40 */ cmplw r0, r3 +/* 802C55FC 002C125C 40 82 00 0C */ bne lbl_802C5608 +/* 802C5600 002C1260 7C 83 23 78 */ mr r3, r4 +/* 802C5604 002C1264 4E 80 00 20 */ blr +lbl_802C5608: +/* 802C5608 002C1268 38 A5 00 03 */ addi r5, r5, 3 +/* 802C560C 002C126C 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C5610 002C1270 42 00 FF 6C */ bdnz lbl_802C557C +/* 802C5614 002C1274 38 60 00 00 */ li r3, 0 +/* 802C5618 002C1278 4E 80 00 20 */ blr + +.global func_802C561C +func_802C561C: +/* 802C561C 002C127C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C5620 002C1280 7C 08 02 A6 */ mflr r0 +/* 802C5624 002C1284 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5628 002C1288 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C562C 002C128C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C5630 002C1290 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C5634 002C1294 3B E4 1F 30 */ addi r31, r4, 0x1f30 +/* 802C5638 002C1298 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C563C 002C129C 3B C0 00 00 */ li r30, 0 +/* 802C5640 002C12A0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C5644 002C12A4 7C 7D 1B 78 */ mr r29, r3 +lbl_802C5648: +/* 802C5648 002C12A8 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802C564C 002C12AC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C5650 002C12B0 41 82 00 24 */ beq lbl_802C5674 +/* 802C5654 002C12B4 7F A4 EB 78 */ mr r4, r29 +/* 802C5658 002C12B8 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802C565C 002C12BC 38 A0 00 06 */ li r5, 6 +/* 802C5660 002C12C0 4B F0 4D 39 */ bl memcmp +/* 802C5664 002C12C4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5668 002C12C8 40 82 00 0C */ bne lbl_802C5674 +/* 802C566C 002C12CC 7F E3 FB 78 */ mr r3, r31 +/* 802C5670 002C12D0 48 00 00 18 */ b lbl_802C5688 +lbl_802C5674: +/* 802C5674 002C12D4 3B DE 00 01 */ addi r30, r30, 1 +/* 802C5678 002C12D8 3B FF 00 88 */ addi r31, r31, 0x88 +/* 802C567C 002C12DC 2C 1E 00 10 */ cmpwi r30, 0x10 +/* 802C5680 002C12E0 41 80 FF C8 */ blt lbl_802C5648 +/* 802C5684 002C12E4 38 60 00 00 */ li r3, 0 +lbl_802C5688: +/* 802C5688 002C12E8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C568C 002C12EC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C5690 002C12F0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C5694 002C12F4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C5698 002C12F8 7C 08 03 A6 */ mtlr r0 +/* 802C569C 002C12FC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C56A0 002C1300 4E 80 00 20 */ blr + +.global func_802C56A4 +func_802C56A4: +/* 802C56A4 002C1304 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C56A8 002C1308 38 00 00 04 */ li r0, 4 +/* 802C56AC 002C130C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C56B0 002C1310 38 C0 FF FF */ li r6, -1 +/* 802C56B4 002C1314 38 A3 1F 30 */ addi r5, r3, 0x1f30 +/* 802C56B8 002C1318 38 E0 00 00 */ li r7, 0 +/* 802C56BC 002C131C 7C A3 2B 78 */ mr r3, r5 +/* 802C56C0 002C1320 7C 09 03 A6 */ mtctr r0 +lbl_802C56C4: +/* 802C56C4 002C1324 88 85 00 76 */ lbz r4, 0x76(r5) +/* 802C56C8 002C1328 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 +/* 802C56CC 002C132C 41 82 00 20 */ beq lbl_802C56EC +/* 802C56D0 002C1330 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b +/* 802C56D4 002C1334 40 82 00 18 */ bne lbl_802C56EC +/* 802C56D8 002C1338 80 05 00 0C */ lwz r0, 0xc(r5) +/* 802C56DC 002C133C 7C 00 30 40 */ cmplw r0, r6 +/* 802C56E0 002C1340 40 80 00 0C */ bge lbl_802C56EC +/* 802C56E4 002C1344 7C A3 2B 78 */ mr r3, r5 +/* 802C56E8 002C1348 7C 06 03 78 */ mr r6, r0 +lbl_802C56EC: +/* 802C56EC 002C134C 88 85 00 FE */ lbz r4, 0xfe(r5) +/* 802C56F0 002C1350 38 A5 00 88 */ addi r5, r5, 0x88 +/* 802C56F4 002C1354 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 +/* 802C56F8 002C1358 41 82 00 20 */ beq lbl_802C5718 +/* 802C56FC 002C135C 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b +/* 802C5700 002C1360 40 82 00 18 */ bne lbl_802C5718 +/* 802C5704 002C1364 80 05 00 0C */ lwz r0, 0xc(r5) +/* 802C5708 002C1368 7C 00 30 40 */ cmplw r0, r6 +/* 802C570C 002C136C 40 80 00 0C */ bge lbl_802C5718 +/* 802C5710 002C1370 7C A3 2B 78 */ mr r3, r5 +/* 802C5714 002C1374 7C 06 03 78 */ mr r6, r0 +lbl_802C5718: +/* 802C5718 002C1378 88 85 00 FE */ lbz r4, 0xfe(r5) +/* 802C571C 002C137C 38 A5 00 88 */ addi r5, r5, 0x88 +/* 802C5720 002C1380 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 +/* 802C5724 002C1384 41 82 00 20 */ beq lbl_802C5744 +/* 802C5728 002C1388 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b +/* 802C572C 002C138C 40 82 00 18 */ bne lbl_802C5744 +/* 802C5730 002C1390 80 05 00 0C */ lwz r0, 0xc(r5) +/* 802C5734 002C1394 7C 00 30 40 */ cmplw r0, r6 +/* 802C5738 002C1398 40 80 00 0C */ bge lbl_802C5744 +/* 802C573C 002C139C 7C A3 2B 78 */ mr r3, r5 +/* 802C5740 002C13A0 7C 06 03 78 */ mr r6, r0 +lbl_802C5744: +/* 802C5744 002C13A4 88 85 00 FE */ lbz r4, 0xfe(r5) +/* 802C5748 002C13A8 38 A5 00 88 */ addi r5, r5, 0x88 +/* 802C574C 002C13AC 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 +/* 802C5750 002C13B0 41 82 00 20 */ beq lbl_802C5770 +/* 802C5754 002C13B4 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b +/* 802C5758 002C13B8 40 82 00 18 */ bne lbl_802C5770 +/* 802C575C 002C13BC 80 05 00 0C */ lwz r0, 0xc(r5) +/* 802C5760 002C13C0 7C 00 30 40 */ cmplw r0, r6 +/* 802C5764 002C13C4 40 80 00 0C */ bge lbl_802C5770 +/* 802C5768 002C13C8 7C A3 2B 78 */ mr r3, r5 +/* 802C576C 002C13CC 7C 06 03 78 */ mr r6, r0 +lbl_802C5770: +/* 802C5770 002C13D0 38 E7 00 03 */ addi r7, r7, 3 +/* 802C5774 002C13D4 38 A5 00 88 */ addi r5, r5, 0x88 +/* 802C5778 002C13D8 42 00 FF 4C */ bdnz lbl_802C56C4 +/* 802C577C 002C13DC 3C 06 00 01 */ addis r0, r6, 1 +/* 802C5780 002C13E0 28 00 FF FF */ cmplwi r0, 0xffff +/* 802C5784 002C13E4 4C 82 00 20 */ bnelr +/* 802C5788 002C13E8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C578C 002C13EC 38 00 00 04 */ li r0, 4 +/* 802C5790 002C13F0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C5794 002C13F4 38 A0 00 00 */ li r5, 0 +/* 802C5798 002C13F8 38 84 1F 30 */ addi r4, r4, 0x1f30 +/* 802C579C 002C13FC 7C 09 03 A6 */ mtctr r0 +lbl_802C57A0: +/* 802C57A0 002C1400 88 04 00 76 */ lbz r0, 0x76(r4) +/* 802C57A4 002C1404 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C57A8 002C1408 41 82 00 18 */ beq lbl_802C57C0 +/* 802C57AC 002C140C 80 04 00 0C */ lwz r0, 0xc(r4) +/* 802C57B0 002C1410 7C 00 30 40 */ cmplw r0, r6 +/* 802C57B4 002C1414 40 80 00 0C */ bge lbl_802C57C0 +/* 802C57B8 002C1418 7C 83 23 78 */ mr r3, r4 +/* 802C57BC 002C141C 7C 06 03 78 */ mr r6, r0 +lbl_802C57C0: +/* 802C57C0 002C1420 88 04 00 FE */ lbz r0, 0xfe(r4) +/* 802C57C4 002C1424 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C57C8 002C1428 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C57CC 002C142C 41 82 00 18 */ beq lbl_802C57E4 +/* 802C57D0 002C1430 80 04 00 0C */ lwz r0, 0xc(r4) +/* 802C57D4 002C1434 7C 00 30 40 */ cmplw r0, r6 +/* 802C57D8 002C1438 40 80 00 0C */ bge lbl_802C57E4 +/* 802C57DC 002C143C 7C 83 23 78 */ mr r3, r4 +/* 802C57E0 002C1440 7C 06 03 78 */ mr r6, r0 +lbl_802C57E4: +/* 802C57E4 002C1444 88 04 00 FE */ lbz r0, 0xfe(r4) +/* 802C57E8 002C1448 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C57EC 002C144C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C57F0 002C1450 41 82 00 18 */ beq lbl_802C5808 +/* 802C57F4 002C1454 80 04 00 0C */ lwz r0, 0xc(r4) +/* 802C57F8 002C1458 7C 00 30 40 */ cmplw r0, r6 +/* 802C57FC 002C145C 40 80 00 0C */ bge lbl_802C5808 +/* 802C5800 002C1460 7C 83 23 78 */ mr r3, r4 +/* 802C5804 002C1464 7C 06 03 78 */ mr r6, r0 +lbl_802C5808: +/* 802C5808 002C1468 88 04 00 FE */ lbz r0, 0xfe(r4) +/* 802C580C 002C146C 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C5810 002C1470 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C5814 002C1474 41 82 00 18 */ beq lbl_802C582C +/* 802C5818 002C1478 80 04 00 0C */ lwz r0, 0xc(r4) +/* 802C581C 002C147C 7C 00 30 40 */ cmplw r0, r6 +/* 802C5820 002C1480 40 80 00 0C */ bge lbl_802C582C +/* 802C5824 002C1484 7C 83 23 78 */ mr r3, r4 +/* 802C5828 002C1488 7C 06 03 78 */ mr r6, r0 +lbl_802C582C: +/* 802C582C 002C148C 38 A5 00 03 */ addi r5, r5, 3 +/* 802C5830 002C1490 38 84 00 88 */ addi r4, r4, 0x88 +/* 802C5834 002C1494 42 00 FF 6C */ bdnz lbl_802C57A0 +/* 802C5838 002C1498 4E 80 00 20 */ blr + +.global func_802C583C +func_802C583C: +/* 802C583C 002C149C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C5840 002C14A0 7C 08 02 A6 */ mflr r0 +/* 802C5844 002C14A4 38 8D 8A 38 */ addi r4, r13, lbl_8063DCF8-_SDA_BASE_ +/* 802C5848 002C14A8 38 A0 00 03 */ li r5, 3 +/* 802C584C 002C14AC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C5850 002C14B0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C5854 002C14B4 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C5858 002C14B8 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C585C 002C14BC 38 7F 06 48 */ addi r3, r31, 0x648 +/* 802C5860 002C14C0 4B D3 E7 A1 */ bl memcpy +/* 802C5864 002C14C4 3C 60 00 01 */ lis r3, 0x0000CC18@ha +/* 802C5868 002C14C8 38 E0 00 FF */ li r7, 0xff +/* 802C586C 002C14CC 39 23 CC 18 */ addi r9, r3, 0x0000CC18@l +/* 802C5870 002C14D0 39 80 00 01 */ li r12, 1 +/* 802C5874 002C14D4 38 60 14 00 */ li r3, 0x1400 +/* 802C5878 002C14D8 39 60 00 02 */ li r11, 2 +/* 802C587C 002C14DC 39 40 00 04 */ li r10, 4 +/* 802C5880 002C14E0 39 00 00 3F */ li r8, 0x3f +/* 802C5884 002C14E4 38 C0 00 00 */ li r6, 0 +/* 802C5888 002C14E8 38 00 00 05 */ li r0, 5 +/* 802C588C 002C14EC B0 7F 06 4C */ sth r3, 0x64c(r31) +/* 802C5890 002C14F0 38 7F 05 74 */ addi r3, r31, 0x574 +/* 802C5894 002C14F4 38 80 00 01 */ li r4, 1 +/* 802C5898 002C14F8 38 A0 00 04 */ li r5, 4 +/* 802C589C 002C14FC 91 9F 05 84 */ stw r12, 0x584(r31) +/* 802C58A0 002C1500 91 7F 05 A0 */ stw r11, 0x5a0(r31) +/* 802C58A4 002C1504 91 5F 05 BC */ stw r10, 0x5bc(r31) +/* 802C58A8 002C1508 B1 3F 06 54 */ sth r9, 0x654(r31) +/* 802C58AC 002C150C B1 1F 06 56 */ sth r8, 0x656(r31) +/* 802C58B0 002C1510 98 FF 27 BD */ stb r7, 0x27bd(r31) +/* 802C58B4 002C1514 98 FF 27 BE */ stb r7, 0x27be(r31) +/* 802C58B8 002C1518 98 DF 06 4E */ stb r6, 0x64e(r31) +/* 802C58BC 002C151C 98 1F 06 4F */ stb r0, 0x64f(r31) +/* 802C58C0 002C1520 4B FF 7C 1D */ bl func_802BD4DC +/* 802C58C4 002C1524 48 00 B9 A9 */ bl func_802D126C +/* 802C58C8 002C1528 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C58CC 002C152C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C58D0 002C1530 7C 08 03 A6 */ mtlr r0 +/* 802C58D4 002C1534 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C58D8 002C1538 4E 80 00 20 */ blr + +.global func_802C58DC +func_802C58DC: +/* 802C58DC 002C153C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C58E0 002C1540 7C 08 02 A6 */ mflr r0 +/* 802C58E4 002C1544 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C58E8 002C1548 38 00 00 0C */ li r0, 0xc +/* 802C58EC 002C154C 98 01 00 08 */ stb r0, 8(r1) +/* 802C58F0 002C1550 48 00 27 BD */ bl func_802C80AC +/* 802C58F4 002C1554 48 00 19 49 */ bl func_802C723C +/* 802C58F8 002C1558 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C58FC 002C155C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5900 002C1560 81 83 05 A8 */ lwz r12, 0x5a8(r3) +/* 802C5904 002C1564 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C5908 002C1568 41 82 00 1C */ beq lbl_802C5924 +/* 802C590C 002C156C 38 00 00 00 */ li r0, 0 +/* 802C5910 002C1570 90 03 05 A8 */ stw r0, 0x5a8(r3) +/* 802C5914 002C1574 41 82 00 10 */ beq lbl_802C5924 +/* 802C5918 002C1578 38 60 00 00 */ li r3, 0 +/* 802C591C 002C157C 7D 89 03 A6 */ mtctr r12 +/* 802C5920 002C1580 4E 80 04 21 */ bctrl +lbl_802C5924: +/* 802C5924 002C1584 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5928 002C1588 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C592C 002C158C 81 83 05 C4 */ lwz r12, 0x5c4(r3) +/* 802C5930 002C1590 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C5934 002C1594 41 82 00 1C */ beq lbl_802C5950 +/* 802C5938 002C1598 38 00 00 00 */ li r0, 0 +/* 802C593C 002C159C 90 03 05 C4 */ stw r0, 0x5c4(r3) +/* 802C5940 002C15A0 41 82 00 10 */ beq lbl_802C5950 +/* 802C5944 002C15A4 38 61 00 08 */ addi r3, r1, 8 +/* 802C5948 002C15A8 7D 89 03 A6 */ mtctr r12 +/* 802C594C 002C15AC 4E 80 04 21 */ bctrl +lbl_802C5950: +/* 802C5950 002C15B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5954 002C15B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5958 002C15B8 81 83 05 E0 */ lwz r12, 0x5e0(r3) +/* 802C595C 002C15BC 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C5960 002C15C0 41 82 00 1C */ beq lbl_802C597C +/* 802C5964 002C15C4 38 00 00 00 */ li r0, 0 +/* 802C5968 002C15C8 90 03 05 E0 */ stw r0, 0x5e0(r3) +/* 802C596C 002C15CC 41 82 00 10 */ beq lbl_802C597C +/* 802C5970 002C15D0 38 61 00 08 */ addi r3, r1, 8 +/* 802C5974 002C15D4 7D 89 03 A6 */ mtctr r12 +/* 802C5978 002C15D8 4E 80 04 21 */ bctrl +lbl_802C597C: +/* 802C597C 002C15DC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C5980 002C15E0 7C 08 03 A6 */ mtlr r0 +/* 802C5984 002C15E4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C5988 002C15E8 4E 80 00 20 */ blr + +.global func_802C598C +func_802C598C: +/* 802C598C 002C15EC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C5990 002C15F0 7C 08 02 A6 */ mflr r0 +/* 802C5994 002C15F4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5998 002C15F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C599C 002C15FC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C59A0 002C1600 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C59A4 002C1604 93 C1 00 08 */ stw r30, 8(r1) +/* 802C59A8 002C1608 7C 7E 1B 78 */ mr r30, r3 +/* 802C59AC 002C160C 80 04 05 8C */ lwz r0, 0x58c(r4) +/* 802C59B0 002C1610 2C 00 00 00 */ cmpwi r0, 0 +/* 802C59B4 002C1614 41 82 00 0C */ beq lbl_802C59C0 +/* 802C59B8 002C1618 7C 00 18 40 */ cmplw r0, r3 +/* 802C59BC 002C161C 40 82 00 54 */ bne lbl_802C5A10 +lbl_802C59C0: +/* 802C59C0 002C1620 4B FF DE E5 */ bl func_802C38A4 +/* 802C59C4 002C1624 4B FF FF 19 */ bl func_802C58DC +/* 802C59C8 002C1628 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C59CC 002C162C 38 C0 00 00 */ li r6, 0 +/* 802C59D0 002C1630 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C59D4 002C1634 38 00 00 05 */ li r0, 5 +/* 802C59D8 002C1638 93 DF 05 8C */ stw r30, 0x58c(r31) +/* 802C59DC 002C163C 38 7F 05 74 */ addi r3, r31, 0x574 +/* 802C59E0 002C1640 38 80 00 01 */ li r4, 1 +/* 802C59E4 002C1644 38 A0 00 04 */ li r5, 4 +/* 802C59E8 002C1648 98 DF 06 4E */ stb r6, 0x64e(r31) +/* 802C59EC 002C164C 98 1F 06 4F */ stb r0, 0x64f(r31) +/* 802C59F0 002C1650 4B FF 7A ED */ bl func_802BD4DC +/* 802C59F4 002C1654 48 00 B8 79 */ bl func_802D126C +/* 802C59F8 002C1658 81 9F 05 68 */ lwz r12, 0x568(r31) +/* 802C59FC 002C165C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C5A00 002C1660 41 82 00 10 */ beq lbl_802C5A10 +/* 802C5A04 002C1664 38 60 00 01 */ li r3, 1 +/* 802C5A08 002C1668 7D 89 03 A6 */ mtctr r12 +/* 802C5A0C 002C166C 4E 80 04 21 */ bctrl +lbl_802C5A10: +/* 802C5A10 002C1670 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C5A14 002C1674 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C5A18 002C1678 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C5A1C 002C167C 7C 08 03 A6 */ mtlr r0 +/* 802C5A20 002C1680 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C5A24 002C1684 4E 80 00 20 */ blr + +.global func_802C5A28 +func_802C5A28: +/* 802C5A28 002C1688 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C5A2C 002C168C 7C 08 02 A6 */ mflr r0 +/* 802C5A30 002C1690 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C5A34 002C1694 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C5A38 002C1698 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C5A3C 002C169C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C5A40 002C16A0 93 C1 00 08 */ stw r30, 8(r1) +/* 802C5A44 002C16A4 7C 7E 1B 78 */ mr r30, r3 +/* 802C5A48 002C16A8 80 04 05 8C */ lwz r0, 0x58c(r4) +/* 802C5A4C 002C16AC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5A50 002C16B0 41 82 00 18 */ beq lbl_802C5A68 +/* 802C5A54 002C16B4 7C 00 18 40 */ cmplw r0, r3 +/* 802C5A58 002C16B8 41 82 00 10 */ beq lbl_802C5A68 +/* 802C5A5C 002C16BC 80 04 06 20 */ lwz r0, 0x620(r4) +/* 802C5A60 002C16C0 7C 00 18 40 */ cmplw r0, r3 +/* 802C5A64 002C16C4 40 82 00 54 */ bne lbl_802C5AB8 +lbl_802C5A68: +/* 802C5A68 002C16C8 4B FF DE 3D */ bl func_802C38A4 +/* 802C5A6C 002C16CC 4B FF FE 71 */ bl func_802C58DC +/* 802C5A70 002C16D0 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C5A74 002C16D4 38 C0 00 00 */ li r6, 0 +/* 802C5A78 002C16D8 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C5A7C 002C16DC 38 00 00 05 */ li r0, 5 +/* 802C5A80 002C16E0 93 DF 06 20 */ stw r30, 0x620(r31) +/* 802C5A84 002C16E4 38 7F 05 74 */ addi r3, r31, 0x574 +/* 802C5A88 002C16E8 38 80 00 01 */ li r4, 1 +/* 802C5A8C 002C16EC 38 A0 00 04 */ li r5, 4 +/* 802C5A90 002C16F0 98 DF 06 4E */ stb r6, 0x64e(r31) +/* 802C5A94 002C16F4 98 1F 06 4F */ stb r0, 0x64f(r31) +/* 802C5A98 002C16F8 4B FF 7A 45 */ bl func_802BD4DC +/* 802C5A9C 002C16FC 48 00 B7 D1 */ bl func_802D126C +/* 802C5AA0 002C1700 81 9F 05 68 */ lwz r12, 0x568(r31) +/* 802C5AA4 002C1704 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C5AA8 002C1708 41 82 00 10 */ beq lbl_802C5AB8 +/* 802C5AAC 002C170C 38 60 00 01 */ li r3, 1 +/* 802C5AB0 002C1710 7D 89 03 A6 */ mtctr r12 +/* 802C5AB4 002C1714 4E 80 04 21 */ bctrl +lbl_802C5AB8: +/* 802C5AB8 002C1718 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C5ABC 002C171C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C5AC0 002C1720 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C5AC4 002C1724 7C 08 03 A6 */ mtlr r0 +/* 802C5AC8 002C1728 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C5ACC 002C172C 4E 80 00 20 */ blr + +.global func_802C5AD0 +func_802C5AD0: +/* 802C5AD0 002C1730 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5AD4 002C1734 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5AD8 002C1738 88 63 06 4E */ lbz r3, 0x64e(r3) +/* 802C5ADC 002C173C 38 03 FF FB */ addi r0, r3, -5 +/* 802C5AE0 002C1740 7C 00 00 34 */ cntlzw r0, r0 +/* 802C5AE4 002C1744 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802C5AE8 002C1748 4E 80 00 20 */ blr + +.global func_802C5AEC +func_802C5AEC: +/* 802C5AEC 002C174C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C5AF0 002C1750 7C 08 02 A6 */ mflr r0 +/* 802C5AF4 002C1754 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802C5AF8 002C1758 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C5AFC 002C175C 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802C5B00 002C1760 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C5B04 002C1764 7C 9F 23 78 */ mr r31, r4 +/* 802C5B08 002C1768 93 C1 00 08 */ stw r30, 8(r1) +/* 802C5B0C 002C176C 7C 7E 1B 78 */ mr r30, r3 +/* 802C5B10 002C1770 88 07 27 C0 */ lbz r0, 0x27c0(r7) +/* 802C5B14 002C1774 28 00 00 03 */ cmplwi r0, 3 +/* 802C5B18 002C1778 41 80 00 28 */ blt lbl_802C5B40 +/* 802C5B1C 002C177C 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C5B20 002C1780 3C 80 80 44 */ lis r4, lbl_804410E0@ha +/* 802C5B24 002C1784 88 C7 27 BD */ lbz r6, 0x27bd(r7) +/* 802C5B28 002C1788 7F C5 F3 78 */ mr r5, r30 +/* 802C5B2C 002C178C 89 07 27 BE */ lbz r8, 0x27be(r7) +/* 802C5B30 002C1790 7F E7 FB 78 */ mr r7, r31 +/* 802C5B34 002C1794 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C5B38 002C1798 38 84 10 E0 */ addi r4, r4, lbl_804410E0@l +/* 802C5B3C 002C179C 4B FF 74 35 */ bl func_802BCF70 +lbl_802C5B40: +/* 802C5B40 002C17A0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5B44 002C17A4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5B48 002C17A8 88 83 06 45 */ lbz r4, 0x645(r3) +/* 802C5B4C 002C17AC 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c +/* 802C5B50 002C17B0 40 82 00 20 */ bne lbl_802C5B70 +/* 802C5B54 002C17B4 88 03 06 44 */ lbz r0, 0x644(r3) +/* 802C5B58 002C17B8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 802C5B5C 002C17BC 40 82 00 14 */ bne lbl_802C5B70 +/* 802C5B60 002C17C0 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b +/* 802C5B64 002C17C4 40 82 00 0C */ bne lbl_802C5B70 +/* 802C5B68 002C17C8 38 60 00 04 */ li r3, 4 +/* 802C5B6C 002C17CC 48 00 00 58 */ b lbl_802C5BC4 +lbl_802C5B70: +/* 802C5B70 002C17D0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5B74 002C17D4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5B78 002C17D8 88 03 27 BD */ lbz r0, 0x27bd(r3) +/* 802C5B7C 002C17DC 7C 00 F0 40 */ cmplw r0, r30 +/* 802C5B80 002C17E0 40 82 00 10 */ bne lbl_802C5B90 +/* 802C5B84 002C17E4 88 03 27 BE */ lbz r0, 0x27be(r3) +/* 802C5B88 002C17E8 7C 00 F8 40 */ cmplw r0, r31 +/* 802C5B8C 002C17EC 41 82 00 34 */ beq lbl_802C5BC0 +lbl_802C5B90: +/* 802C5B90 002C17F0 7F C3 F3 78 */ mr r3, r30 +/* 802C5B94 002C17F4 7F E4 FB 78 */ mr r4, r31 +/* 802C5B98 002C17F8 48 00 C3 C9 */ bl func_802D1F60 +/* 802C5B9C 002C17FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C5BA0 002C1800 41 82 00 18 */ beq lbl_802C5BB8 +/* 802C5BA4 002C1804 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5BA8 002C1808 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5BAC 002C180C 9B C3 27 BD */ stb r30, 0x27bd(r3) +/* 802C5BB0 002C1810 9B E3 27 BE */ stb r31, 0x27be(r3) +/* 802C5BB4 002C1814 48 00 00 0C */ b lbl_802C5BC0 +lbl_802C5BB8: +/* 802C5BB8 002C1818 38 60 00 03 */ li r3, 3 +/* 802C5BBC 002C181C 48 00 00 08 */ b lbl_802C5BC4 +lbl_802C5BC0: +/* 802C5BC0 002C1820 38 60 00 00 */ li r3, 0 +lbl_802C5BC4: +/* 802C5BC4 002C1824 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C5BC8 002C1828 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C5BCC 002C182C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C5BD0 002C1830 7C 08 03 A6 */ mtlr r0 +/* 802C5BD4 002C1834 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C5BD8 002C1838 4E 80 00 20 */ blr + +.global func_802C5BDC +func_802C5BDC: +/* 802C5BDC 002C183C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C5BE0 002C1840 7C 08 02 A6 */ mflr r0 +/* 802C5BE4 002C1844 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C5BE8 002C1848 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C5BEC 002C184C 93 C1 00 08 */ stw r30, 8(r1) +/* 802C5BF0 002C1850 80 03 00 10 */ lwz r0, 0x10(r3) +/* 802C5BF4 002C1854 28 00 00 01 */ cmplwi r0, 1 +/* 802C5BF8 002C1858 40 82 02 34 */ bne lbl_802C5E2C +/* 802C5BFC 002C185C 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C5C00 002C1860 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C5C04 002C1864 88 06 06 4E */ lbz r0, 0x64e(r6) +/* 802C5C08 002C1868 2C 00 00 02 */ cmpwi r0, 2 +/* 802C5C0C 002C186C 41 82 01 60 */ beq lbl_802C5D6C +/* 802C5C10 002C1870 40 80 00 14 */ bge lbl_802C5C24 +/* 802C5C14 002C1874 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5C18 002C1878 41 82 00 18 */ beq lbl_802C5C30 +/* 802C5C1C 002C187C 40 80 00 3C */ bge lbl_802C5C58 +/* 802C5C20 002C1880 48 00 02 3C */ b lbl_802C5E5C +lbl_802C5C24: +/* 802C5C24 002C1884 2C 00 00 04 */ cmpwi r0, 4 +/* 802C5C28 002C1888 40 80 02 34 */ bge lbl_802C5E5C +/* 802C5C2C 002C188C 48 00 01 A4 */ b lbl_802C5DD0 +lbl_802C5C30: +/* 802C5C30 002C1890 38 60 00 00 */ li r3, 0 +/* 802C5C34 002C1894 38 00 00 05 */ li r0, 5 +/* 802C5C38 002C1898 98 66 06 4E */ stb r3, 0x64e(r6) +/* 802C5C3C 002C189C 38 66 05 74 */ addi r3, r6, 0x574 +/* 802C5C40 002C18A0 38 80 00 01 */ li r4, 1 +/* 802C5C44 002C18A4 38 A0 00 04 */ li r5, 4 +/* 802C5C48 002C18A8 98 06 06 4F */ stb r0, 0x64f(r6) +/* 802C5C4C 002C18AC 4B FF 78 91 */ bl func_802BD4DC +/* 802C5C50 002C18B0 48 00 B6 1D */ bl func_802D126C +/* 802C5C54 002C18B4 48 00 02 08 */ b lbl_802C5E5C +lbl_802C5C58: +/* 802C5C58 002C18B8 38 00 00 04 */ li r0, 4 +/* 802C5C5C 002C18BC 38 60 00 02 */ li r3, 2 +/* 802C5C60 002C18C0 98 66 06 4E */ stb r3, 0x64e(r6) +/* 802C5C64 002C18C4 98 06 06 4F */ stb r0, 0x64f(r6) +/* 802C5C68 002C18C8 48 00 00 18 */ b lbl_802C5C80 +/* 802C5C6C 002C18CC 98 06 06 4F */ stb r0, 0x64f(r6) +/* 802C5C70 002C18D0 98 06 06 4E */ stb r0, 0x64e(r6) +/* 802C5C74 002C18D4 4B FF 78 69 */ bl func_802BD4DC +/* 802C5C78 002C18D8 48 00 B5 F5 */ bl func_802D126C +/* 802C5C7C 002C18DC 48 00 00 28 */ b lbl_802C5CA4 +lbl_802C5C80: +/* 802C5C80 002C18E0 38 66 05 74 */ addi r3, r6, 0x574 +/* 802C5C84 002C18E4 38 80 00 01 */ li r4, 1 +/* 802C5C88 002C18E8 38 A0 00 01 */ li r5, 1 +/* 802C5C8C 002C18EC 4B FF 78 51 */ bl func_802BD4DC +/* 802C5C90 002C18F0 38 60 00 02 */ li r3, 2 +/* 802C5C94 002C18F4 4B FF 3F B9 */ bl func_802B9C4C +/* 802C5C98 002C18F8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5C9C 002C18FC 41 82 00 08 */ beq lbl_802C5CA4 +/* 802C5CA0 002C1900 48 00 C1 45 */ bl func_802D1DE4 +lbl_802C5CA4: +/* 802C5CA4 002C1904 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C5CA8 002C1908 38 A0 00 03 */ li r5, 3 +/* 802C5CAC 002C190C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C5CB0 002C1910 38 7F 06 48 */ addi r3, r31, 0x648 +/* 802C5CB4 002C1914 7C 64 1B 78 */ mr r4, r3 +/* 802C5CB8 002C1918 4B D3 E3 49 */ bl memcpy +/* 802C5CBC 002C191C 88 1F 06 4E */ lbz r0, 0x64e(r31) +/* 802C5CC0 002C1920 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5CC4 002C1924 41 82 00 24 */ beq lbl_802C5CE8 +/* 802C5CC8 002C1928 28 00 00 01 */ cmplwi r0, 1 +/* 802C5CCC 002C192C 41 82 00 1C */ beq lbl_802C5CE8 +/* 802C5CD0 002C1930 38 60 00 02 */ li r3, 2 +/* 802C5CD4 002C1934 4B FF 3F 79 */ bl func_802B9C4C +/* 802C5CD8 002C1938 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5CDC 002C193C 41 82 00 0C */ beq lbl_802C5CE8 +/* 802C5CE0 002C1940 38 9F 06 48 */ addi r4, r31, 0x648 +/* 802C5CE4 002C1944 48 00 BD FD */ bl func_802D1AE0 +lbl_802C5CE8: +/* 802C5CE8 002C1948 3C 00 80 57 */ lis r0, 0x8057 +/* 802C5CEC 002C194C 37 E0 8B 78 */ addic. r31, r0, -29832 +/* 802C5CF0 002C1950 41 82 00 60 */ beq lbl_802C5D50 +/* 802C5CF4 002C1954 88 1F 06 4E */ lbz r0, 0x64e(r31) +/* 802C5CF8 002C1958 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5CFC 002C195C 41 82 00 54 */ beq lbl_802C5D50 +/* 802C5D00 002C1960 28 00 00 01 */ cmplwi r0, 1 +/* 802C5D04 002C1964 41 82 00 4C */ beq lbl_802C5D50 +/* 802C5D08 002C1968 38 60 00 02 */ li r3, 2 +/* 802C5D0C 002C196C 4B FF 3F 41 */ bl func_802B9C4C +/* 802C5D10 002C1970 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5D14 002C1974 7C 7E 1B 78 */ mr r30, r3 +/* 802C5D18 002C1978 41 82 00 38 */ beq lbl_802C5D50 +/* 802C5D1C 002C197C 7C 1F F8 40 */ cmplw r31, r31 +/* 802C5D20 002C1980 41 82 00 24 */ beq lbl_802C5D44 +/* 802C5D24 002C1984 7F E3 FB 78 */ mr r3, r31 +/* 802C5D28 002C1988 38 80 00 00 */ li r4, 0 +/* 802C5D2C 002C198C 38 A0 00 20 */ li r5, 0x20 +/* 802C5D30 002C1990 4B D3 E3 D5 */ bl memset +/* 802C5D34 002C1994 7F E3 FB 78 */ mr r3, r31 +/* 802C5D38 002C1998 7F E4 FB 78 */ mr r4, r31 +/* 802C5D3C 002C199C 38 A0 00 1F */ li r5, 0x1f +/* 802C5D40 002C19A0 4B F0 86 51 */ bl strncpy +lbl_802C5D44: +/* 802C5D44 002C19A4 7F C3 F3 78 */ mr r3, r30 +/* 802C5D48 002C19A8 7F E4 FB 78 */ mr r4, r31 +/* 802C5D4C 002C19AC 48 00 BA 7D */ bl func_802D17C8 +lbl_802C5D50: +/* 802C5D50 002C19B0 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C5D54 002C19B4 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C5D58 002C19B8 88 65 00 20 */ lbz r3, 0x20(r5) +/* 802C5D5C 002C19BC 38 85 00 22 */ addi r4, r5, 0x22 +/* 802C5D60 002C19C0 88 A5 00 21 */ lbz r5, 0x21(r5) +/* 802C5D64 002C19C4 48 00 4C 71 */ bl func_802CA9D4 +/* 802C5D68 002C19C8 48 00 00 F4 */ b lbl_802C5E5C +lbl_802C5D6C: +/* 802C5D6C 002C19CC 88 66 06 4F */ lbz r3, 0x64f(r6) +/* 802C5D70 002C19D0 38 63 FF FF */ addi r3, r3, -1 +/* 802C5D74 002C19D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C5D78 002C19D8 98 66 06 4F */ stb r3, 0x64f(r6) +/* 802C5D7C 002C19DC 40 82 00 2C */ bne lbl_802C5DA8 +/* 802C5D80 002C19E0 38 60 00 00 */ li r3, 0 +/* 802C5D84 002C19E4 38 00 00 05 */ li r0, 5 +/* 802C5D88 002C19E8 98 66 06 4E */ stb r3, 0x64e(r6) +/* 802C5D8C 002C19EC 38 66 05 74 */ addi r3, r6, 0x574 +/* 802C5D90 002C19F0 38 80 00 01 */ li r4, 1 +/* 802C5D94 002C19F4 38 A0 00 04 */ li r5, 4 +/* 802C5D98 002C19F8 98 06 06 4F */ stb r0, 0x64f(r6) +/* 802C5D9C 002C19FC 4B FF 77 41 */ bl func_802BD4DC +/* 802C5DA0 002C1A00 48 00 B4 CD */ bl func_802D126C +/* 802C5DA4 002C1A04 48 00 00 B8 */ b lbl_802C5E5C +lbl_802C5DA8: +/* 802C5DA8 002C1A08 38 66 05 74 */ addi r3, r6, 0x574 +/* 802C5DAC 002C1A0C 38 80 00 01 */ li r4, 1 +/* 802C5DB0 002C1A10 38 A0 00 01 */ li r5, 1 +/* 802C5DB4 002C1A14 4B FF 77 29 */ bl func_802BD4DC +/* 802C5DB8 002C1A18 38 60 00 02 */ li r3, 2 +/* 802C5DBC 002C1A1C 4B FF 3E 91 */ bl func_802B9C4C +/* 802C5DC0 002C1A20 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5DC4 002C1A24 41 82 00 98 */ beq lbl_802C5E5C +/* 802C5DC8 002C1A28 48 00 C0 1D */ bl func_802D1DE4 +/* 802C5DCC 002C1A2C 48 00 00 90 */ b lbl_802C5E5C +lbl_802C5DD0: +/* 802C5DD0 002C1A30 88 66 06 4F */ lbz r3, 0x64f(r6) +/* 802C5DD4 002C1A34 38 63 FF FF */ addi r3, r3, -1 +/* 802C5DD8 002C1A38 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C5DDC 002C1A3C 98 66 06 4F */ stb r3, 0x64f(r6) +/* 802C5DE0 002C1A40 40 82 00 2C */ bne lbl_802C5E0C +/* 802C5DE4 002C1A44 38 60 00 00 */ li r3, 0 +/* 802C5DE8 002C1A48 38 00 00 05 */ li r0, 5 +/* 802C5DEC 002C1A4C 98 66 06 4E */ stb r3, 0x64e(r6) +/* 802C5DF0 002C1A50 38 66 05 74 */ addi r3, r6, 0x574 +/* 802C5DF4 002C1A54 38 80 00 01 */ li r4, 1 +/* 802C5DF8 002C1A58 38 A0 00 04 */ li r5, 4 +/* 802C5DFC 002C1A5C 98 06 06 4F */ stb r0, 0x64f(r6) +/* 802C5E00 002C1A60 4B FF 76 DD */ bl func_802BD4DC +/* 802C5E04 002C1A64 48 00 B4 69 */ bl func_802D126C +/* 802C5E08 002C1A68 48 00 00 54 */ b lbl_802C5E5C +lbl_802C5E0C: +/* 802C5E0C 002C1A6C 38 66 05 74 */ addi r3, r6, 0x574 +/* 802C5E10 002C1A70 38 80 00 01 */ li r4, 1 +/* 802C5E14 002C1A74 38 A0 00 01 */ li r5, 1 +/* 802C5E18 002C1A78 4B FF 76 C5 */ bl func_802BD4DC +/* 802C5E1C 002C1A7C 48 00 BF 0D */ bl func_802D1D28 +/* 802C5E20 002C1A80 48 00 BF ED */ bl func_802D1E0C +/* 802C5E24 002C1A84 48 00 33 0D */ bl func_802C9130 +/* 802C5E28 002C1A88 48 00 00 34 */ b lbl_802C5E5C +lbl_802C5E2C: +/* 802C5E2C 002C1A8C 28 00 00 02 */ cmplwi r0, 2 +/* 802C5E30 002C1A90 40 82 00 2C */ bne lbl_802C5E5C +/* 802C5E34 002C1A94 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5E38 002C1A98 38 00 00 00 */ li r0, 0 +/* 802C5E3C 002C1A9C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5E40 002C1AA0 81 83 05 A8 */ lwz r12, 0x5a8(r3) +/* 802C5E44 002C1AA4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C5E48 002C1AA8 90 03 05 A8 */ stw r0, 0x5a8(r3) +/* 802C5E4C 002C1AAC 41 82 00 10 */ beq lbl_802C5E5C +/* 802C5E50 002C1AB0 38 60 00 00 */ li r3, 0 +/* 802C5E54 002C1AB4 7D 89 03 A6 */ mtctr r12 +/* 802C5E58 002C1AB8 4E 80 04 21 */ bctrl +lbl_802C5E5C: +/* 802C5E5C 002C1ABC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C5E60 002C1AC0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C5E64 002C1AC4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C5E68 002C1AC8 7C 08 03 A6 */ mtlr r0 +/* 802C5E6C 002C1ACC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C5E70 002C1AD0 4E 80 00 20 */ blr +lbl_802C5E74: +/* 802C5E74 002C1AD4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C5E78 002C1AD8 7C 08 02 A6 */ mflr r0 +/* 802C5E7C 002C1ADC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C5E80 002C1AE0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C5E84 002C1AE4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C5E88 002C1AE8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C5E8C 002C1AEC 93 C1 00 08 */ stw r30, 8(r1) +/* 802C5E90 002C1AF0 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C5E94 002C1AF4 28 00 00 04 */ cmplwi r0, 4 +/* 802C5E98 002C1AF8 41 80 00 18 */ blt lbl_802C5EB0 +/* 802C5E9C 002C1AFC 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C5EA0 002C1B00 3C 80 80 44 */ lis r4, lbl_80441110@ha +/* 802C5EA4 002C1B04 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C5EA8 002C1B08 38 84 11 10 */ addi r4, r4, lbl_80441110@l +/* 802C5EAC 002C1B0C 4B FF 70 65 */ bl func_802BCF10 +lbl_802C5EB0: +/* 802C5EB0 002C1B10 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C5EB4 002C1B14 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C5EB8 002C1B18 81 9F 06 20 */ lwz r12, 0x620(r31) +/* 802C5EBC 002C1B1C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C5EC0 002C1B20 41 82 00 1C */ beq lbl_802C5EDC +/* 802C5EC4 002C1B24 38 00 00 00 */ li r0, 0 +/* 802C5EC8 002C1B28 38 60 00 00 */ li r3, 0 +/* 802C5ECC 002C1B2C 90 1F 06 20 */ stw r0, 0x620(r31) +/* 802C5ED0 002C1B30 7D 89 03 A6 */ mtctr r12 +/* 802C5ED4 002C1B34 4E 80 04 21 */ bctrl +/* 802C5ED8 002C1B38 48 00 01 48 */ b lbl_802C6020 +lbl_802C5EDC: +/* 802C5EDC 002C1B3C 88 1F 06 4E */ lbz r0, 0x64e(r31) +/* 802C5EE0 002C1B40 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5EE4 002C1B44 40 82 01 3C */ bne lbl_802C6020 +/* 802C5EE8 002C1B48 48 01 56 A5 */ bl func_802DB58C +/* 802C5EEC 002C1B4C 38 C0 00 12 */ li r6, 0x12 +/* 802C5EF0 002C1B50 38 A0 08 00 */ li r5, 0x800 +/* 802C5EF4 002C1B54 38 80 00 00 */ li r4, 0 +/* 802C5EF8 002C1B58 38 00 00 04 */ li r0, 4 +/* 802C5EFC 002C1B5C 38 60 00 02 */ li r3, 2 +/* 802C5F00 002C1B60 B0 DF 16 A0 */ sth r6, 0x16a0(r31) +/* 802C5F04 002C1B64 B0 BF 16 A2 */ sth r5, 0x16a2(r31) +/* 802C5F08 002C1B68 B0 9F 16 A4 */ sth r4, 0x16a4(r31) +/* 802C5F0C 002C1B6C B0 DF 16 9C */ sth r6, 0x169c(r31) +/* 802C5F10 002C1B70 B0 BF 16 9E */ sth r5, 0x169e(r31) +/* 802C5F14 002C1B74 B0 9F 16 A6 */ sth r4, 0x16a6(r31) +/* 802C5F18 002C1B78 98 7F 06 4E */ stb r3, 0x64e(r31) +/* 802C5F1C 002C1B7C 98 1F 06 4F */ stb r0, 0x64f(r31) +/* 802C5F20 002C1B80 48 00 00 18 */ b lbl_802C5F38 +/* 802C5F24 002C1B84 98 9F 06 4E */ stb r4, 0x64e(r31) +/* 802C5F28 002C1B88 98 1F 06 4F */ stb r0, 0x64f(r31) +/* 802C5F2C 002C1B8C 4B FF 75 B1 */ bl func_802BD4DC +/* 802C5F30 002C1B90 48 00 B3 3D */ bl func_802D126C +/* 802C5F34 002C1B94 48 00 00 28 */ b lbl_802C5F5C +lbl_802C5F38: +/* 802C5F38 002C1B98 38 7F 05 74 */ addi r3, r31, 0x574 +/* 802C5F3C 002C1B9C 38 80 00 01 */ li r4, 1 +/* 802C5F40 002C1BA0 38 A0 00 01 */ li r5, 1 +/* 802C5F44 002C1BA4 4B FF 75 99 */ bl func_802BD4DC +/* 802C5F48 002C1BA8 38 60 00 02 */ li r3, 2 +/* 802C5F4C 002C1BAC 4B FF 3D 01 */ bl func_802B9C4C +/* 802C5F50 002C1BB0 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5F54 002C1BB4 41 82 00 08 */ beq lbl_802C5F5C +/* 802C5F58 002C1BB8 48 00 BE 8D */ bl func_802D1DE4 +lbl_802C5F5C: +/* 802C5F5C 002C1BBC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C5F60 002C1BC0 38 A0 00 03 */ li r5, 3 +/* 802C5F64 002C1BC4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C5F68 002C1BC8 38 7F 06 48 */ addi r3, r31, 0x648 +/* 802C5F6C 002C1BCC 7C 64 1B 78 */ mr r4, r3 +/* 802C5F70 002C1BD0 4B D3 E0 91 */ bl memcpy +/* 802C5F74 002C1BD4 88 1F 06 4E */ lbz r0, 0x64e(r31) +/* 802C5F78 002C1BD8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5F7C 002C1BDC 41 82 00 24 */ beq lbl_802C5FA0 +/* 802C5F80 002C1BE0 28 00 00 01 */ cmplwi r0, 1 +/* 802C5F84 002C1BE4 41 82 00 1C */ beq lbl_802C5FA0 +/* 802C5F88 002C1BE8 38 60 00 02 */ li r3, 2 +/* 802C5F8C 002C1BEC 4B FF 3C C1 */ bl func_802B9C4C +/* 802C5F90 002C1BF0 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5F94 002C1BF4 41 82 00 0C */ beq lbl_802C5FA0 +/* 802C5F98 002C1BF8 38 9F 06 48 */ addi r4, r31, 0x648 +/* 802C5F9C 002C1BFC 48 00 BB 45 */ bl func_802D1AE0 +lbl_802C5FA0: +/* 802C5FA0 002C1C00 3C 00 80 57 */ lis r0, 0x8057 +/* 802C5FA4 002C1C04 37 E0 8B 78 */ addic. r31, r0, -29832 +/* 802C5FA8 002C1C08 41 82 00 60 */ beq lbl_802C6008 +/* 802C5FAC 002C1C0C 88 1F 06 4E */ lbz r0, 0x64e(r31) +/* 802C5FB0 002C1C10 2C 00 00 00 */ cmpwi r0, 0 +/* 802C5FB4 002C1C14 41 82 00 54 */ beq lbl_802C6008 +/* 802C5FB8 002C1C18 28 00 00 01 */ cmplwi r0, 1 +/* 802C5FBC 002C1C1C 41 82 00 4C */ beq lbl_802C6008 +/* 802C5FC0 002C1C20 38 60 00 02 */ li r3, 2 +/* 802C5FC4 002C1C24 4B FF 3C 89 */ bl func_802B9C4C +/* 802C5FC8 002C1C28 2C 03 00 00 */ cmpwi r3, 0 +/* 802C5FCC 002C1C2C 7C 7E 1B 78 */ mr r30, r3 +/* 802C5FD0 002C1C30 41 82 00 38 */ beq lbl_802C6008 +/* 802C5FD4 002C1C34 7C 1F F8 40 */ cmplw r31, r31 +/* 802C5FD8 002C1C38 41 82 00 24 */ beq lbl_802C5FFC +/* 802C5FDC 002C1C3C 7F E3 FB 78 */ mr r3, r31 +/* 802C5FE0 002C1C40 38 80 00 00 */ li r4, 0 +/* 802C5FE4 002C1C44 38 A0 00 20 */ li r5, 0x20 +/* 802C5FE8 002C1C48 4B D3 E1 1D */ bl memset +/* 802C5FEC 002C1C4C 7F E3 FB 78 */ mr r3, r31 +/* 802C5FF0 002C1C50 7F E4 FB 78 */ mr r4, r31 +/* 802C5FF4 002C1C54 38 A0 00 1F */ li r5, 0x1f +/* 802C5FF8 002C1C58 4B F0 83 99 */ bl strncpy +lbl_802C5FFC: +/* 802C5FFC 002C1C5C 7F C3 F3 78 */ mr r3, r30 +/* 802C6000 002C1C60 7F E4 FB 78 */ mr r4, r31 +/* 802C6004 002C1C64 48 00 B7 C5 */ bl func_802D17C8 +lbl_802C6008: +/* 802C6008 002C1C68 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C600C 002C1C6C 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C6010 002C1C70 88 65 00 20 */ lbz r3, 0x20(r5) +/* 802C6014 002C1C74 38 85 00 22 */ addi r4, r5, 0x22 +/* 802C6018 002C1C78 88 A5 00 21 */ lbz r5, 0x21(r5) +/* 802C601C 002C1C7C 48 00 49 B9 */ bl func_802CA9D4 +lbl_802C6020: +/* 802C6020 002C1C80 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C6024 002C1C84 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C6028 002C1C88 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C602C 002C1C8C 7C 08 03 A6 */ mtlr r0 +/* 802C6030 002C1C90 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C6034 002C1C94 4E 80 00 20 */ blr +lbl_802C6038: +/* 802C6038 002C1C98 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C603C 002C1C9C 7C 08 02 A6 */ mflr r0 +/* 802C6040 002C1CA0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C6044 002C1CA4 88 03 00 00 */ lbz r0, 0(r3) +/* 802C6048 002C1CA8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C604C 002C1CAC 40 82 00 58 */ bne lbl_802C60A4 +/* 802C6050 002C1CB0 88 03 00 02 */ lbz r0, 2(r3) +/* 802C6054 002C1CB4 3C C0 80 57 */ lis r6, lbl_80568650@ha +/* 802C6058 002C1CB8 88 83 00 01 */ lbz r4, 1(r3) +/* 802C605C 002C1CBC 38 C6 86 50 */ addi r6, r6, lbl_80568650@l +/* 802C6060 002C1CC0 54 00 40 2E */ slwi r0, r0, 8 +/* 802C6064 002C1CC4 7C 04 02 14 */ add r0, r4, r0 +/* 802C6068 002C1CC8 B0 06 00 7C */ sth r0, 0x7c(r6) +/* 802C606C 002C1CCC 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802C6070 002C1CD0 38 04 00 04 */ addi r0, r4, 4 +/* 802C6074 002C1CD4 88 83 00 05 */ lbz r4, 5(r3) +/* 802C6078 002C1CD8 88 A3 00 04 */ lbz r5, 4(r3) +/* 802C607C 002C1CDC 54 83 40 2E */ slwi r3, r4, 8 +/* 802C6080 002C1CE0 7C 65 1A 14 */ add r3, r5, r3 +/* 802C6084 002C1CE4 B0 06 00 7E */ sth r0, 0x7e(r6) +/* 802C6088 002C1CE8 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 802C608C 002C1CEC 48 01 25 7D */ bl func_802D8608 +/* 802C6090 002C1CF0 38 60 06 9B */ li r3, 0x69b +/* 802C6094 002C1CF4 38 80 00 1E */ li r4, 0x1e +/* 802C6098 002C1CF8 38 A0 00 14 */ li r5, 0x14 +/* 802C609C 002C1CFC 38 C0 00 0A */ li r6, 0xa +/* 802C60A0 002C1D00 48 00 BA C9 */ bl func_802D1B68 +lbl_802C60A4: +/* 802C60A4 002C1D04 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C60A8 002C1D08 38 00 00 04 */ li r0, 4 +/* 802C60AC 002C1D0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C60B0 002C1D10 38 80 00 03 */ li r4, 3 +/* 802C60B4 002C1D14 98 83 06 4E */ stb r4, 0x64e(r3) +/* 802C60B8 002C1D18 98 03 06 4F */ stb r0, 0x64f(r3) +/* 802C60BC 002C1D1C 48 00 00 18 */ b lbl_802C60D4 +/* 802C60C0 002C1D20 98 03 06 4F */ stb r0, 0x64f(r3) +/* 802C60C4 002C1D24 98 03 06 4E */ stb r0, 0x64e(r3) +/* 802C60C8 002C1D28 4B FF 74 15 */ bl func_802BD4DC +/* 802C60CC 002C1D2C 48 00 B1 A1 */ bl func_802D126C +/* 802C60D0 002C1D30 48 00 00 20 */ b lbl_802C60F0 +lbl_802C60D4: +/* 802C60D4 002C1D34 38 63 05 74 */ addi r3, r3, 0x574 +/* 802C60D8 002C1D38 38 80 00 01 */ li r4, 1 +/* 802C60DC 002C1D3C 38 A0 00 01 */ li r5, 1 +/* 802C60E0 002C1D40 4B FF 73 FD */ bl func_802BD4DC +/* 802C60E4 002C1D44 48 00 BC 45 */ bl func_802D1D28 +/* 802C60E8 002C1D48 48 00 BD 25 */ bl func_802D1E0C +/* 802C60EC 002C1D4C 48 00 30 45 */ bl func_802C9130 +lbl_802C60F0: +/* 802C60F0 002C1D50 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C60F4 002C1D54 7C 08 03 A6 */ mtlr r0 +/* 802C60F8 002C1D58 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C60FC 002C1D5C 4E 80 00 20 */ blr +lbl_802C6100: +/* 802C6100 002C1D60 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C6104 002C1D64 7C 08 02 A6 */ mflr r0 +/* 802C6108 002C1D68 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C610C 002C1D6C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C6110 002C1D70 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C6114 002C1D74 88 03 00 00 */ lbz r0, 0(r3) +/* 802C6118 002C1D78 2C 00 00 00 */ cmpwi r0, 0 +/* 802C611C 002C1D7C 40 82 00 50 */ bne lbl_802C616C +/* 802C6120 002C1D80 88 03 00 01 */ lbz r0, 1(r3) +/* 802C6124 002C1D84 98 05 06 36 */ stb r0, 0x636(r5) +/* 802C6128 002C1D88 88 03 00 03 */ lbz r0, 3(r3) +/* 802C612C 002C1D8C 88 83 00 02 */ lbz r4, 2(r3) +/* 802C6130 002C1D90 54 00 40 2E */ slwi r0, r0, 8 +/* 802C6134 002C1D94 7C 04 02 14 */ add r0, r4, r0 +/* 802C6138 002C1D98 B0 05 06 38 */ sth r0, 0x638(r5) +/* 802C613C 002C1D9C 88 03 00 04 */ lbz r0, 4(r3) +/* 802C6140 002C1DA0 98 05 06 3A */ stb r0, 0x63a(r5) +/* 802C6144 002C1DA4 88 03 00 06 */ lbz r0, 6(r3) +/* 802C6148 002C1DA8 88 83 00 05 */ lbz r4, 5(r3) +/* 802C614C 002C1DAC 54 00 40 2E */ slwi r0, r0, 8 +/* 802C6150 002C1DB0 7C 04 02 14 */ add r0, r4, r0 +/* 802C6154 002C1DB4 B0 05 06 3C */ sth r0, 0x63c(r5) +/* 802C6158 002C1DB8 88 03 00 08 */ lbz r0, 8(r3) +/* 802C615C 002C1DBC 88 63 00 07 */ lbz r3, 7(r3) +/* 802C6160 002C1DC0 54 00 40 2E */ slwi r0, r0, 8 +/* 802C6164 002C1DC4 7C 03 02 14 */ add r0, r3, r0 +/* 802C6168 002C1DC8 B0 05 06 3E */ sth r0, 0x63e(r5) +lbl_802C616C: +/* 802C616C 002C1DCC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6170 002C1DD0 38 00 00 04 */ li r0, 4 +/* 802C6174 002C1DD4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6178 002C1DD8 98 03 06 4E */ stb r0, 0x64e(r3) +/* 802C617C 002C1DDC 98 03 06 4F */ stb r0, 0x64f(r3) +/* 802C6180 002C1DE0 48 00 00 18 */ b lbl_802C6198 +/* 802C6184 002C1DE4 98 03 06 4F */ stb r0, 0x64f(r3) +/* 802C6188 002C1DE8 98 03 06 4E */ stb r0, 0x64e(r3) +/* 802C618C 002C1DEC 4B FF 73 51 */ bl func_802BD4DC +/* 802C6190 002C1DF0 48 00 B0 DD */ bl func_802D126C +/* 802C6194 002C1DF4 48 00 00 18 */ b lbl_802C61AC +lbl_802C6198: +/* 802C6198 002C1DF8 38 63 05 74 */ addi r3, r3, 0x574 +/* 802C619C 002C1DFC 38 80 00 01 */ li r4, 1 +/* 802C61A0 002C1E00 38 A0 00 01 */ li r5, 1 +/* 802C61A4 002C1E04 4B FF 73 39 */ bl func_802BD4DC +/* 802C61A8 002C1E08 48 00 BB E1 */ bl func_802D1D88 +lbl_802C61AC: +/* 802C61AC 002C1E0C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C61B0 002C1E10 7C 08 03 A6 */ mtlr r0 +/* 802C61B4 002C1E14 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C61B8 002C1E18 4E 80 00 20 */ blr +lbl_802C61BC: +/* 802C61BC 002C1E1C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C61C0 002C1E20 7C 08 02 A6 */ mflr r0 +/* 802C61C4 002C1E24 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C61C8 002C1E28 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C61CC 002C1E2C 4B F0 0F 5D */ bl _savegpr_27 +/* 802C61D0 002C1E30 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C61D4 002C1E34 3F C0 80 44 */ lis r30, lbl_804410E0@ha +/* 802C61D8 002C1E38 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C61DC 002C1E3C 38 00 00 00 */ li r0, 0 +/* 802C61E0 002C1E40 83 9F 05 8C */ lwz r28, 0x58c(r31) +/* 802C61E4 002C1E44 3B DE 10 E0 */ addi r30, r30, lbl_804410E0@l +/* 802C61E8 002C1E48 90 1F 05 8C */ stw r0, 0x58c(r31) +/* 802C61EC 002C1E4C 88 03 00 00 */ lbz r0, 0(r3) +/* 802C61F0 002C1E50 2C 00 00 00 */ cmpwi r0, 0 +/* 802C61F4 002C1E54 40 82 04 AC */ bne lbl_802C66A0 +/* 802C61F8 002C1E58 38 00 00 05 */ li r0, 5 +/* 802C61FC 002C1E5C 38 80 00 18 */ li r4, 0x18 +/* 802C6200 002C1E60 98 1F 06 4E */ stb r0, 0x64e(r31) +/* 802C6204 002C1E64 88 03 00 01 */ lbz r0, 1(r3) +/* 802C6208 002C1E68 98 1F 06 40 */ stb r0, 0x640(r31) +/* 802C620C 002C1E6C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C6210 002C1E70 88 03 00 02 */ lbz r0, 2(r3) +/* 802C6214 002C1E74 98 1F 06 41 */ stb r0, 0x641(r31) +/* 802C6218 002C1E78 88 03 00 03 */ lbz r0, 3(r3) +/* 802C621C 002C1E7C 98 1F 06 42 */ stb r0, 0x642(r31) +/* 802C6220 002C1E80 88 03 00 04 */ lbz r0, 4(r3) +/* 802C6224 002C1E84 98 1F 06 43 */ stb r0, 0x643(r31) +/* 802C6228 002C1E88 88 03 00 05 */ lbz r0, 5(r3) +/* 802C622C 002C1E8C 98 1F 06 44 */ stb r0, 0x644(r31) +/* 802C6230 002C1E90 88 03 00 06 */ lbz r0, 6(r3) +/* 802C6234 002C1E94 98 1F 06 45 */ stb r0, 0x645(r31) +/* 802C6238 002C1E98 88 03 00 07 */ lbz r0, 7(r3) +/* 802C623C 002C1E9C 98 1F 06 46 */ stb r0, 0x646(r31) +/* 802C6240 002C1EA0 88 03 00 08 */ lbz r0, 8(r3) +/* 802C6244 002C1EA4 98 1F 06 47 */ stb r0, 0x647(r31) +/* 802C6248 002C1EA8 B0 9F 06 54 */ sth r4, 0x654(r31) +/* 802C624C 002C1EAC 41 82 00 0C */ beq lbl_802C6258 +/* 802C6250 002C1EB0 60 80 0C 00 */ ori r0, r4, 0xc00 +/* 802C6254 002C1EB4 B0 1F 06 54 */ sth r0, 0x654(r31) +lbl_802C6258: +/* 802C6258 002C1EB8 88 1F 06 40 */ lbz r0, 0x640(r31) +/* 802C625C 002C1EBC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802C6260 002C1EC0 41 82 00 18 */ beq lbl_802C6278 +/* 802C6264 002C1EC4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6268 002C1EC8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C626C 002C1ECC A0 03 06 54 */ lhz r0, 0x654(r3) +/* 802C6270 002C1ED0 60 00 C0 00 */ ori r0, r0, 0xc000 +/* 802C6274 002C1ED4 B0 03 06 54 */ sth r0, 0x654(r3) +lbl_802C6278: +/* 802C6278 002C1ED8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C627C 002C1EDC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6280 002C1EE0 88 03 06 36 */ lbz r0, 0x636(r3) +/* 802C6284 002C1EE4 28 00 00 03 */ cmplwi r0, 3 +/* 802C6288 002C1EE8 41 80 00 90 */ blt lbl_802C6318 +/* 802C628C 002C1EEC 88 1F 06 43 */ lbz r0, 0x643(r31) +/* 802C6290 002C1EF0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802C6294 002C1EF4 40 82 00 10 */ bne lbl_802C62A4 +/* 802C6298 002C1EF8 A0 03 06 54 */ lhz r0, 0x654(r3) +/* 802C629C 002C1EFC 60 00 11 02 */ ori r0, r0, 0x1102 +/* 802C62A0 002C1F00 B0 03 06 54 */ sth r0, 0x654(r3) +lbl_802C62A4: +/* 802C62A4 002C1F04 88 1F 06 43 */ lbz r0, 0x643(r31) +/* 802C62A8 002C1F08 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802C62AC 002C1F0C 40 82 00 18 */ bne lbl_802C62C4 +/* 802C62B0 002C1F10 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C62B4 002C1F14 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C62B8 002C1F18 A0 03 06 54 */ lhz r0, 0x654(r3) +/* 802C62BC 002C1F1C 60 00 22 04 */ ori r0, r0, 0x2204 +/* 802C62C0 002C1F20 B0 03 06 54 */ sth r0, 0x654(r3) +lbl_802C62C4: +/* 802C62C4 002C1F24 88 7F 06 43 */ lbz r3, 0x643(r31) +/* 802C62C8 002C1F28 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e +/* 802C62CC 002C1F2C 40 82 00 0C */ bne lbl_802C62D8 +/* 802C62D0 002C1F30 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d +/* 802C62D4 002C1F34 41 82 00 44 */ beq lbl_802C6318 +lbl_802C62D8: +/* 802C62D8 002C1F38 88 1F 06 44 */ lbz r0, 0x644(r31) +/* 802C62DC 002C1F3C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C62E0 002C1F40 40 82 00 18 */ bne lbl_802C62F8 +/* 802C62E4 002C1F44 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C62E8 002C1F48 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C62EC 002C1F4C A0 03 06 54 */ lhz r0, 0x654(r3) +/* 802C62F0 002C1F50 60 00 03 00 */ ori r0, r0, 0x300 +/* 802C62F4 002C1F54 B0 03 06 54 */ sth r0, 0x654(r3) +lbl_802C62F8: +/* 802C62F8 002C1F58 88 1F 06 45 */ lbz r0, 0x645(r31) +/* 802C62FC 002C1F5C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C6300 002C1F60 40 82 00 18 */ bne lbl_802C6318 +/* 802C6304 002C1F64 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6308 002C1F68 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C630C 002C1F6C A0 03 06 54 */ lhz r0, 0x654(r3) +/* 802C6310 002C1F70 60 00 30 00 */ ori r0, r0, 0x3000 +/* 802C6314 002C1F74 B0 03 06 54 */ sth r0, 0x654(r3) +lbl_802C6318: +/* 802C6318 002C1F78 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C631C 002C1F7C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6320 002C1F80 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802C6324 002C1F84 28 00 00 05 */ cmplwi r0, 5 +/* 802C6328 002C1F88 41 80 00 18 */ blt lbl_802C6340 +/* 802C632C 002C1F8C 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802C6330 002C1F90 A0 A4 06 54 */ lhz r5, 0x654(r4) +/* 802C6334 002C1F94 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802C6338 002C1F98 38 9E 00 44 */ addi r4, r30, 0x44 +/* 802C633C 002C1F9C 4B FF 6B ED */ bl func_802BCF28 +lbl_802C6340: +/* 802C6340 002C1FA0 88 7F 06 41 */ lbz r3, 0x641(r31) +/* 802C6344 002C1FA4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6348 002C1FA8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C634C 002C1FAC 38 A0 00 00 */ li r5, 0 +/* 802C6350 002C1FB0 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c +/* 802C6354 002C1FB4 B0 A4 06 56 */ sth r5, 0x656(r4) +/* 802C6358 002C1FB8 98 A4 19 08 */ stb r5, 0x1908(r4) +/* 802C635C 002C1FBC 41 82 00 3C */ beq lbl_802C6398 +/* 802C6360 002C1FC0 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b +/* 802C6364 002C1FC4 38 00 00 01 */ li r0, 1 +/* 802C6368 002C1FC8 B0 04 06 56 */ sth r0, 0x656(r4) +/* 802C636C 002C1FCC 41 82 00 0C */ beq lbl_802C6378 +/* 802C6370 002C1FD0 60 00 00 02 */ ori r0, r0, 2 +/* 802C6374 002C1FD4 B0 04 06 56 */ sth r0, 0x656(r4) +lbl_802C6378: +/* 802C6378 002C1FD8 88 1F 06 41 */ lbz r0, 0x641(r31) +/* 802C637C 002C1FDC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a +/* 802C6380 002C1FE0 41 82 00 18 */ beq lbl_802C6398 +/* 802C6384 002C1FE4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6388 002C1FE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C638C 002C1FEC A0 03 06 56 */ lhz r0, 0x656(r3) +/* 802C6390 002C1FF0 60 00 00 04 */ ori r0, r0, 4 +/* 802C6394 002C1FF4 B0 03 06 56 */ sth r0, 0x656(r3) +lbl_802C6398: +/* 802C6398 002C1FF8 88 1F 06 43 */ lbz r0, 0x643(r31) +/* 802C639C 002C1FFC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C63A0 002C2000 41 82 00 18 */ beq lbl_802C63B8 +/* 802C63A4 002C2004 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C63A8 002C2008 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C63AC 002C200C A0 03 06 56 */ lhz r0, 0x656(r3) +/* 802C63B0 002C2010 60 00 00 08 */ ori r0, r0, 8 +/* 802C63B4 002C2014 B0 03 06 56 */ sth r0, 0x656(r3) +lbl_802C63B8: +/* 802C63B8 002C2018 88 1F 06 44 */ lbz r0, 0x644(r31) +/* 802C63BC 002C201C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C63C0 002C2020 41 82 00 18 */ beq lbl_802C63D8 +/* 802C63C4 002C2024 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C63C8 002C2028 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C63CC 002C202C A0 03 06 56 */ lhz r0, 0x656(r3) +/* 802C63D0 002C2030 60 00 00 10 */ ori r0, r0, 0x10 +/* 802C63D4 002C2034 B0 03 06 56 */ sth r0, 0x656(r3) +lbl_802C63D8: +/* 802C63D8 002C2038 88 1F 06 44 */ lbz r0, 0x644(r31) +/* 802C63DC 002C203C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802C63E0 002C2040 41 82 00 18 */ beq lbl_802C63F8 +/* 802C63E4 002C2044 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C63E8 002C2048 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C63EC 002C204C A0 03 06 56 */ lhz r0, 0x656(r3) +/* 802C63F0 002C2050 60 00 00 20 */ ori r0, r0, 0x20 +/* 802C63F4 002C2054 B0 03 06 56 */ sth r0, 0x656(r3) +lbl_802C63F8: +/* 802C63F8 002C2058 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C63FC 002C205C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6400 002C2060 A0 64 06 56 */ lhz r3, 0x656(r4) +/* 802C6404 002C2064 54 60 06 B9 */ rlwinm. r0, r3, 0, 0x1a, 0x1c +/* 802C6408 002C2068 41 82 00 74 */ beq lbl_802C647C +/* 802C640C 002C206C 88 BF 06 45 */ lbz r5, 0x645(r31) +/* 802C6410 002C2070 38 00 00 01 */ li r0, 1 +/* 802C6414 002C2074 98 04 19 08 */ stb r0, 0x1908(r4) +/* 802C6418 002C2078 54 A0 06 B5 */ rlwinm. r0, r5, 0, 0x1a, 0x1a +/* 802C641C 002C207C 41 82 00 18 */ beq lbl_802C6434 +/* 802C6420 002C2080 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 +/* 802C6424 002C2084 40 82 00 18 */ bne lbl_802C643C +/* 802C6428 002C2088 60 60 01 00 */ ori r0, r3, 0x100 +/* 802C642C 002C208C B0 04 06 56 */ sth r0, 0x656(r4) +/* 802C6430 002C2090 48 00 00 0C */ b lbl_802C643C +lbl_802C6434: +/* 802C6434 002C2094 60 60 01 40 */ ori r0, r3, 0x140 +/* 802C6438 002C2098 B0 04 06 56 */ sth r0, 0x656(r4) +lbl_802C643C: +/* 802C643C 002C209C 88 7F 06 45 */ lbz r3, 0x645(r31) +/* 802C6440 002C20A0 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 +/* 802C6444 002C20A4 41 82 00 24 */ beq lbl_802C6468 +/* 802C6448 002C20A8 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 +/* 802C644C 002C20AC 40 82 00 30 */ bne lbl_802C647C +/* 802C6450 002C20B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6454 002C20B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6458 002C20B8 A0 03 06 56 */ lhz r0, 0x656(r3) +/* 802C645C 002C20BC 60 00 02 00 */ ori r0, r0, 0x200 +/* 802C6460 002C20C0 B0 03 06 56 */ sth r0, 0x656(r3) +/* 802C6464 002C20C4 48 00 00 18 */ b lbl_802C647C +lbl_802C6468: +/* 802C6468 002C20C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C646C 002C20CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6470 002C20D0 A0 03 06 56 */ lhz r0, 0x656(r3) +/* 802C6474 002C20D4 60 00 02 80 */ ori r0, r0, 0x280 +/* 802C6478 002C20D8 B0 03 06 56 */ sth r0, 0x656(r3) +lbl_802C647C: +/* 802C647C 002C20DC 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6480 002C20E0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6484 002C20E4 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802C6488 002C20E8 28 00 00 05 */ cmplwi r0, 5 +/* 802C648C 002C20EC 41 80 00 18 */ blt lbl_802C64A4 +/* 802C6490 002C20F0 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802C6494 002C20F4 A0 A4 06 56 */ lhz r5, 0x656(r4) +/* 802C6498 002C20F8 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802C649C 002C20FC 38 9E 00 70 */ addi r4, r30, 0x70 +/* 802C64A0 002C2100 4B FF 6A 89 */ bl func_802BCF28 +lbl_802C64A4: +/* 802C64A4 002C2104 88 1F 06 40 */ lbz r0, 0x640(r31) +/* 802C64A8 002C2108 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a +/* 802C64AC 002C210C 41 82 00 1C */ beq lbl_802C64C8 +/* 802C64B0 002C2110 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C64B4 002C2114 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C64B8 002C2118 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C64BC 002C211C 60 00 00 01 */ ori r0, r0, 1 +/* 802C64C0 002C2120 B0 03 04 C4 */ sth r0, 0x4c4(r3) +/* 802C64C4 002C2124 48 00 00 18 */ b lbl_802C64DC +lbl_802C64C8: +/* 802C64C8 002C2128 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C64CC 002C212C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C64D0 002C2130 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C64D4 002C2134 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e +/* 802C64D8 002C2138 B0 03 04 C4 */ sth r0, 0x4c4(r3) +lbl_802C64DC: +/* 802C64DC 002C213C 88 1F 06 40 */ lbz r0, 0x640(r31) +/* 802C64E0 002C2140 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802C64E4 002C2144 41 82 00 1C */ beq lbl_802C6500 +/* 802C64E8 002C2148 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C64EC 002C214C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C64F0 002C2150 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C64F4 002C2154 60 00 00 02 */ ori r0, r0, 2 +/* 802C64F8 002C2158 B0 03 04 C4 */ sth r0, 0x4c4(r3) +/* 802C64FC 002C215C 48 00 00 18 */ b lbl_802C6514 +lbl_802C6500: +/* 802C6500 002C2160 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6504 002C2164 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6508 002C2168 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C650C 002C216C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 802C6510 002C2170 B0 03 04 C4 */ sth r0, 0x4c4(r3) +lbl_802C6514: +/* 802C6514 002C2174 88 1F 06 40 */ lbz r0, 0x640(r31) +/* 802C6518 002C2178 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802C651C 002C217C 41 82 00 1C */ beq lbl_802C6538 +/* 802C6520 002C2180 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6524 002C2184 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6528 002C2188 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C652C 002C218C 60 00 00 04 */ ori r0, r0, 4 +/* 802C6530 002C2190 B0 03 04 C4 */ sth r0, 0x4c4(r3) +/* 802C6534 002C2194 48 00 00 18 */ b lbl_802C654C +lbl_802C6538: +/* 802C6538 002C2198 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C653C 002C219C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6540 002C21A0 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C6544 002C21A4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c +/* 802C6548 002C21A8 B0 03 04 C4 */ sth r0, 0x4c4(r3) +lbl_802C654C: +/* 802C654C 002C21AC 88 1F 06 41 */ lbz r0, 0x641(r31) +/* 802C6550 002C21B0 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C6554 002C21B4 41 82 00 1C */ beq lbl_802C6570 +/* 802C6558 002C21B8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C655C 002C21BC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6560 002C21C0 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C6564 002C21C4 60 00 00 08 */ ori r0, r0, 8 +/* 802C6568 002C21C8 B0 03 04 C4 */ sth r0, 0x4c4(r3) +/* 802C656C 002C21CC 48 00 00 18 */ b lbl_802C6584 +lbl_802C6570: +/* 802C6570 002C21D0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6574 002C21D4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6578 002C21D8 A0 03 04 C4 */ lhz r0, 0x4c4(r3) +/* 802C657C 002C21DC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b +/* 802C6580 002C21E0 B0 03 04 C4 */ sth r0, 0x4c4(r3) +lbl_802C6584: +/* 802C6584 002C21E4 48 00 55 DD */ bl func_802CBB60 +/* 802C6588 002C21E8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C658C 002C21EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6590 002C21F0 8B A4 27 BE */ lbz r29, 0x27be(r4) +/* 802C6594 002C21F4 28 1D 00 FF */ cmplwi r29, 0xff +/* 802C6598 002C21F8 41 82 00 AC */ beq lbl_802C6644 +/* 802C659C 002C21FC 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802C65A0 002C2200 38 60 00 FF */ li r3, 0xff +/* 802C65A4 002C2204 8B 64 27 BD */ lbz r27, 0x27bd(r4) +/* 802C65A8 002C2208 28 00 00 03 */ cmplwi r0, 3 +/* 802C65AC 002C220C 98 64 27 BE */ stb r3, 0x27be(r4) +/* 802C65B0 002C2210 98 64 27 BD */ stb r3, 0x27bd(r4) +/* 802C65B4 002C2214 41 80 00 24 */ blt lbl_802C65D8 +/* 802C65B8 002C2218 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C65BC 002C221C 7F 65 DB 78 */ mr r5, r27 +/* 802C65C0 002C2220 7F A7 EB 78 */ mr r7, r29 +/* 802C65C4 002C2224 38 9E 00 00 */ addi r4, r30, 0 +/* 802C65C8 002C2228 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C65CC 002C222C 38 C0 00 FF */ li r6, 0xff +/* 802C65D0 002C2230 39 00 00 FF */ li r8, 0xff +/* 802C65D4 002C2234 4B FF 69 9D */ bl func_802BCF70 +lbl_802C65D8: +/* 802C65D8 002C2238 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C65DC 002C223C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C65E0 002C2240 88 83 06 45 */ lbz r4, 0x645(r3) +/* 802C65E4 002C2244 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c +/* 802C65E8 002C2248 40 82 00 18 */ bne lbl_802C6600 +/* 802C65EC 002C224C 88 03 06 44 */ lbz r0, 0x644(r3) +/* 802C65F0 002C2250 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 802C65F4 002C2254 40 82 00 0C */ bne lbl_802C6600 +/* 802C65F8 002C2258 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b +/* 802C65FC 002C225C 41 82 00 48 */ beq lbl_802C6644 +lbl_802C6600: +/* 802C6600 002C2260 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6604 002C2264 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6608 002C2268 88 03 27 BD */ lbz r0, 0x27bd(r3) +/* 802C660C 002C226C 7C 00 D8 40 */ cmplw r0, r27 +/* 802C6610 002C2270 40 82 00 10 */ bne lbl_802C6620 +/* 802C6614 002C2274 88 03 27 BE */ lbz r0, 0x27be(r3) +/* 802C6618 002C2278 7C 00 E8 40 */ cmplw r0, r29 +/* 802C661C 002C227C 41 82 00 28 */ beq lbl_802C6644 +lbl_802C6620: +/* 802C6620 002C2280 7F 63 DB 78 */ mr r3, r27 +/* 802C6624 002C2284 7F A4 EB 78 */ mr r4, r29 +/* 802C6628 002C2288 48 00 B9 39 */ bl func_802D1F60 +/* 802C662C 002C228C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C6630 002C2290 41 82 00 14 */ beq lbl_802C6644 +/* 802C6634 002C2294 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6638 002C2298 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C663C 002C229C 9B 63 27 BD */ stb r27, 0x27bd(r3) +/* 802C6640 002C22A0 9B A3 27 BE */ stb r29, 0x27be(r3) +lbl_802C6644: +/* 802C6644 002C22A4 88 1F 06 43 */ lbz r0, 0x643(r31) +/* 802C6648 002C22A8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802C664C 002C22AC 41 82 00 0C */ beq lbl_802C6658 +/* 802C6650 002C22B0 38 60 00 01 */ li r3, 1 +/* 802C6654 002C22B4 48 00 10 89 */ bl func_802C76DC +lbl_802C6658: +/* 802C6658 002C22B8 38 60 00 01 */ li r3, 1 +/* 802C665C 002C22BC 48 00 0F D1 */ bl func_802C762C +/* 802C6660 002C22C0 38 60 00 01 */ li r3, 1 +/* 802C6664 002C22C4 48 00 0F 19 */ bl func_802C757C +/* 802C6668 002C22C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C666C 002C22CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6670 002C22D0 81 83 05 68 */ lwz r12, 0x568(r3) +/* 802C6674 002C22D4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C6678 002C22D8 41 82 00 10 */ beq lbl_802C6688 +/* 802C667C 002C22DC 38 60 00 00 */ li r3, 0 +/* 802C6680 002C22E0 7D 89 03 A6 */ mtctr r12 +/* 802C6684 002C22E4 4E 80 04 21 */ bctrl +lbl_802C6688: +/* 802C6688 002C22E8 2C 1C 00 00 */ cmpwi r28, 0 +/* 802C668C 002C22EC 41 82 00 14 */ beq lbl_802C66A0 +/* 802C6690 002C22F0 7F 8C E3 78 */ mr r12, r28 +/* 802C6694 002C22F4 38 60 00 00 */ li r3, 0 +/* 802C6698 002C22F8 7D 89 03 A6 */ mtctr r12 +/* 802C669C 002C22FC 4E 80 04 21 */ bctrl +lbl_802C66A0: +/* 802C66A0 002C2300 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C66A4 002C2304 4B F0 0A D1 */ bl _restgpr_27 +/* 802C66A8 002C2308 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C66AC 002C230C 7C 08 03 A6 */ mtlr r0 +/* 802C66B0 002C2310 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C66B4 002C2314 4E 80 00 20 */ blr +lbl_802C66B8: +/* 802C66B8 002C2318 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C66BC 002C231C 7C 08 02 A6 */ mflr r0 +/* 802C66C0 002C2320 2C 03 00 00 */ cmpwi r3, 0 +/* 802C66C4 002C2324 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C66C8 002C2328 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C66CC 002C232C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C66D0 002C2330 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C66D4 002C2334 7C 7D 1B 78 */ mr r29, r3 +/* 802C66D8 002C2338 40 82 00 0C */ bne lbl_802C66E4 +/* 802C66DC 002C233C 38 60 00 05 */ li r3, 5 +/* 802C66E0 002C2340 48 00 00 74 */ b lbl_802C6754 +lbl_802C66E4: +/* 802C66E4 002C2344 3F C0 80 57 */ lis r30, lbl_80568B78@ha +/* 802C66E8 002C2348 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l +/* 802C66EC 002C234C 88 1E 06 4E */ lbz r0, 0x64e(r30) +/* 802C66F0 002C2350 28 00 00 01 */ cmplwi r0, 1 +/* 802C66F4 002C2354 41 81 00 0C */ bgt lbl_802C6700 +/* 802C66F8 002C2358 38 60 00 0C */ li r3, 0xc +/* 802C66FC 002C235C 48 00 00 58 */ b lbl_802C6754 +lbl_802C6700: +/* 802C6700 002C2360 38 60 00 02 */ li r3, 2 +/* 802C6704 002C2364 4B FF 35 49 */ bl func_802B9C4C +/* 802C6708 002C2368 2C 03 00 00 */ cmpwi r3, 0 +/* 802C670C 002C236C 7C 7F 1B 78 */ mr r31, r3 +/* 802C6710 002C2370 41 82 00 40 */ beq lbl_802C6750 +/* 802C6714 002C2374 7C 1E E8 40 */ cmplw r30, r29 +/* 802C6718 002C2378 41 82 00 24 */ beq lbl_802C673C +/* 802C671C 002C237C 7F C3 F3 78 */ mr r3, r30 +/* 802C6720 002C2380 38 80 00 00 */ li r4, 0 +/* 802C6724 002C2384 38 A0 00 20 */ li r5, 0x20 +/* 802C6728 002C2388 4B D3 D9 DD */ bl memset +/* 802C672C 002C238C 7F C3 F3 78 */ mr r3, r30 +/* 802C6730 002C2390 7F A4 EB 78 */ mr r4, r29 +/* 802C6734 002C2394 38 A0 00 1F */ li r5, 0x1f +/* 802C6738 002C2398 4B F0 7C 59 */ bl strncpy +lbl_802C673C: +/* 802C673C 002C239C 7F E3 FB 78 */ mr r3, r31 +/* 802C6740 002C23A0 7F C4 F3 78 */ mr r4, r30 +/* 802C6744 002C23A4 48 00 B0 85 */ bl func_802D17C8 +/* 802C6748 002C23A8 38 60 00 01 */ li r3, 1 +/* 802C674C 002C23AC 48 00 00 08 */ b lbl_802C6754 +lbl_802C6750: +/* 802C6750 002C23B0 38 60 00 03 */ li r3, 3 +lbl_802C6754: +/* 802C6754 002C23B4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C6758 002C23B8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C675C 002C23BC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C6760 002C23C0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C6764 002C23C4 7C 08 03 A6 */ mtlr r0 +/* 802C6768 002C23C8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C676C 002C23CC 4E 80 00 20 */ blr +lbl_802C6770: +/* 802C6770 002C23D0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C6774 002C23D4 7C 08 02 A6 */ mflr r0 +/* 802C6778 002C23D8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C677C 002C23DC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C6780 002C23E0 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C6784 002C23E4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C6788 002C23E8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C678C 002C23EC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C6790 002C23F0 7C 7D 1B 78 */ mr r29, r3 +/* 802C6794 002C23F4 38 7F 05 90 */ addi r3, r31, 0x590 +/* 802C6798 002C23F8 83 DF 05 A8 */ lwz r30, 0x5a8(r31) +/* 802C679C 002C23FC 4B FF 6D B1 */ bl func_802BD54C +/* 802C67A0 002C2400 38 00 00 00 */ li r0, 0 +/* 802C67A4 002C2404 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C67A8 002C2408 90 1F 05 A8 */ stw r0, 0x5a8(r31) +/* 802C67AC 002C240C 41 82 00 34 */ beq lbl_802C67E0 +/* 802C67B0 002C2410 88 1D 00 00 */ lbz r0, 0(r29) +/* 802C67B4 002C2414 2C 00 00 00 */ cmpwi r0, 0 +/* 802C67B8 002C2418 40 82 00 18 */ bne lbl_802C67D0 +/* 802C67BC 002C241C 7F CC F3 78 */ mr r12, r30 +/* 802C67C0 002C2420 38 7D 00 01 */ addi r3, r29, 1 +/* 802C67C4 002C2424 7D 89 03 A6 */ mtctr r12 +/* 802C67C8 002C2428 4E 80 04 21 */ bctrl +/* 802C67CC 002C242C 48 00 00 14 */ b lbl_802C67E0 +lbl_802C67D0: +/* 802C67D0 002C2430 7F CC F3 78 */ mr r12, r30 +/* 802C67D4 002C2434 38 60 00 00 */ li r3, 0 +/* 802C67D8 002C2438 7D 89 03 A6 */ mtctr r12 +/* 802C67DC 002C243C 4E 80 04 21 */ bctrl +lbl_802C67E0: +/* 802C67E0 002C2440 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C67E4 002C2444 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C67E8 002C2448 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C67EC 002C244C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C67F0 002C2450 7C 08 03 A6 */ mtlr r0 +/* 802C67F4 002C2454 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C67F8 002C2458 4E 80 00 20 */ blr + +.global func_802C67FC +func_802C67FC: +/* 802C67FC 002C245C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C6800 002C2460 7C 08 02 A6 */ mflr r0 +/* 802C6804 002C2464 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6808 002C2468 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C680C 002C246C 41 82 00 1C */ beq lbl_802C6828 +/* 802C6810 002C2470 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6814 002C2474 7C 6C 1B 78 */ mr r12, r3 +/* 802C6818 002C2478 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C681C 002C247C 38 64 06 30 */ addi r3, r4, 0x630 +/* 802C6820 002C2480 7D 89 03 A6 */ mtctr r12 +/* 802C6824 002C2484 4E 80 04 21 */ bctrl +lbl_802C6828: +/* 802C6828 002C2488 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C682C 002C248C 38 60 00 00 */ li r3, 0 +/* 802C6830 002C2490 7C 08 03 A6 */ mtlr r0 +/* 802C6834 002C2494 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C6838 002C2498 4E 80 00 20 */ blr +lbl_802C683C: +/* 802C683C 002C249C 88 03 00 00 */ lbz r0, 0(r3) +/* 802C6840 002C24A0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C6844 002C24A4 4C 82 00 20 */ bnelr +/* 802C6848 002C24A8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C684C 002C24AC 88 03 00 01 */ lbz r0, 1(r3) +/* 802C6850 002C24B0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6854 002C24B4 98 04 06 35 */ stb r0, 0x635(r4) +/* 802C6858 002C24B8 88 03 00 02 */ lbz r0, 2(r3) +/* 802C685C 002C24BC 98 04 06 34 */ stb r0, 0x634(r4) +/* 802C6860 002C24C0 88 03 00 03 */ lbz r0, 3(r3) +/* 802C6864 002C24C4 98 04 06 33 */ stb r0, 0x633(r4) +/* 802C6868 002C24C8 88 03 00 04 */ lbz r0, 4(r3) +/* 802C686C 002C24CC 98 04 06 32 */ stb r0, 0x632(r4) +/* 802C6870 002C24D0 88 03 00 05 */ lbz r0, 5(r3) +/* 802C6874 002C24D4 98 04 06 31 */ stb r0, 0x631(r4) +/* 802C6878 002C24D8 88 03 00 06 */ lbz r0, 6(r3) +/* 802C687C 002C24DC 98 04 06 30 */ stb r0, 0x630(r4) +/* 802C6880 002C24E0 4E 80 00 20 */ blr + +.global func_802C6884 +func_802C6884: +/* 802C6884 002C24E4 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C6888 002C24E8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C688C 002C24EC 88 05 06 4E */ lbz r0, 0x64e(r5) +/* 802C6890 002C24F0 28 00 00 04 */ cmplwi r0, 4 +/* 802C6894 002C24F4 40 80 00 0C */ bge lbl_802C68A0 +/* 802C6898 002C24F8 38 60 00 0C */ li r3, 0xc +/* 802C689C 002C24FC 4E 80 00 20 */ blr +lbl_802C68A0: +/* 802C68A0 002C2500 A0 85 06 36 */ lhz r4, 0x636(r5) +/* 802C68A4 002C2504 A0 05 06 38 */ lhz r0, 0x638(r5) +/* 802C68A8 002C2508 B0 83 00 00 */ sth r4, 0(r3) +/* 802C68AC 002C250C B0 03 00 02 */ sth r0, 2(r3) +/* 802C68B0 002C2510 A0 85 06 3A */ lhz r4, 0x63a(r5) +/* 802C68B4 002C2514 A0 05 06 3C */ lhz r0, 0x63c(r5) +/* 802C68B8 002C2518 B0 83 00 04 */ sth r4, 4(r3) +/* 802C68BC 002C251C B0 03 00 06 */ sth r0, 6(r3) +/* 802C68C0 002C2520 A0 05 06 3E */ lhz r0, 0x63e(r5) +/* 802C68C4 002C2524 B0 03 00 08 */ sth r0, 8(r3) +/* 802C68C8 002C2528 38 60 00 00 */ li r3, 0 +/* 802C68CC 002C252C 4E 80 00 20 */ blr + +.global func_802C68D0 +func_802C68D0: +/* 802C68D0 002C2530 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C68D4 002C2534 7C 08 02 A6 */ mflr r0 +/* 802C68D8 002C2538 38 A0 00 03 */ li r5, 3 +/* 802C68DC 002C253C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C68E0 002C2540 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C68E4 002C2544 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C68E8 002C2548 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C68EC 002C254C 93 C1 00 08 */ stw r30, 8(r1) +/* 802C68F0 002C2550 7C 7E 1B 78 */ mr r30, r3 +/* 802C68F4 002C2554 7F C4 F3 78 */ mr r4, r30 +/* 802C68F8 002C2558 38 7F 06 48 */ addi r3, r31, 0x648 +/* 802C68FC 002C255C 4B D3 D7 05 */ bl memcpy +/* 802C6900 002C2560 88 1F 06 4E */ lbz r0, 0x64e(r31) +/* 802C6904 002C2564 28 00 00 01 */ cmplwi r0, 1 +/* 802C6908 002C2568 41 81 00 0C */ bgt lbl_802C6914 +/* 802C690C 002C256C 38 60 00 0C */ li r3, 0xc +/* 802C6910 002C2570 48 00 00 28 */ b lbl_802C6938 +lbl_802C6914: +/* 802C6914 002C2574 38 60 00 02 */ li r3, 2 +/* 802C6918 002C2578 4B FF 33 35 */ bl func_802B9C4C +/* 802C691C 002C257C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6920 002C2580 41 82 00 14 */ beq lbl_802C6934 +/* 802C6924 002C2584 7F C4 F3 78 */ mr r4, r30 +/* 802C6928 002C2588 48 00 B1 B9 */ bl func_802D1AE0 +/* 802C692C 002C258C 38 60 00 00 */ li r3, 0 +/* 802C6930 002C2590 48 00 00 08 */ b lbl_802C6938 +lbl_802C6934: +/* 802C6934 002C2594 38 60 00 03 */ li r3, 3 +lbl_802C6938: +/* 802C6938 002C2598 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C693C 002C259C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C6940 002C25A0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C6944 002C25A4 7C 08 03 A6 */ mtlr r0 +/* 802C6948 002C25A8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C694C 002C25AC 4E 80 00 20 */ blr + +.global dataARAMDefaultGetInfo +dataARAMDefaultGetInfo: +/* 802C6950 002C25B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6954 002C25B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6958 002C25B8 38 63 06 48 */ addi r3, r3, 0x648 +/* 802C695C 002C25BC 4E 80 00 20 */ blr + +.global func_802C6960 +func_802C6960: +/* 802C6960 002C25C0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6964 002C25C4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6968 002C25C8 38 63 06 40 */ addi r3, r3, 0x640 +/* 802C696C 002C25CC 4E 80 00 20 */ blr + +.global func_802C6970 +func_802C6970: +/* 802C6970 002C25D0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6974 002C25D4 7C 60 1B 78 */ mr r0, r3 +/* 802C6978 002C25D8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C697C 002C25DC 80 64 05 68 */ lwz r3, 0x568(r4) +/* 802C6980 002C25E0 90 04 05 68 */ stw r0, 0x568(r4) +/* 802C6984 002C25E4 4E 80 00 20 */ blr + +.global func_802C6988 +func_802C6988: +/* 802C6988 002C25E8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C698C 002C25EC 7C 08 02 A6 */ mflr r0 +/* 802C6990 002C25F0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C6994 002C25F4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C6998 002C25F8 4B F0 07 91 */ bl _savegpr_27 +/* 802C699C 002C25FC 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802C69A0 002C2600 7C 7B 1B 78 */ mr r27, r3 +/* 802C69A4 002C2604 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802C69A8 002C2608 7C 9C 23 78 */ mr r28, r4 +/* 802C69AC 002C260C 88 07 27 C0 */ lbz r0, 0x27c0(r7) +/* 802C69B0 002C2610 7C BD 2B 78 */ mr r29, r5 +/* 802C69B4 002C2614 7C DE 33 78 */ mr r30, r6 +/* 802C69B8 002C2618 28 00 00 04 */ cmplwi r0, 4 +/* 802C69BC 002C261C 41 80 00 20 */ blt lbl_802C69DC +/* 802C69C0 002C2620 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C69C4 002C2624 3C 80 80 44 */ lis r4, lbl_8044117C@ha +/* 802C69C8 002C2628 7F 65 DB 78 */ mr r5, r27 +/* 802C69CC 002C262C 7F 86 E3 78 */ mr r6, r28 +/* 802C69D0 002C2630 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C69D4 002C2634 38 84 11 7C */ addi r4, r4, lbl_8044117C@l +/* 802C69D8 002C2638 4B FF 65 69 */ bl func_802BCF40 +lbl_802C69DC: +/* 802C69DC 002C263C 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C69E0 002C2640 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C69E4 002C2644 88 1F 06 50 */ lbz r0, 0x650(r31) +/* 802C69E8 002C2648 2C 00 00 00 */ cmpwi r0, 0 +/* 802C69EC 002C264C 41 82 00 2C */ beq lbl_802C6A18 +/* 802C69F0 002C2650 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C69F4 002C2654 28 00 00 04 */ cmplwi r0, 4 +/* 802C69F8 002C2658 41 80 00 18 */ blt lbl_802C6A10 +/* 802C69FC 002C265C 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C6A00 002C2660 3C 80 80 44 */ lis r4, lbl_804411BC@ha +/* 802C6A04 002C2664 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C6A08 002C2668 38 84 11 BC */ addi r4, r4, lbl_804411BC@l +/* 802C6A0C 002C266C 4B FF 65 05 */ bl func_802BCF10 +lbl_802C6A10: +/* 802C6A10 002C2670 38 60 00 02 */ li r3, 2 +/* 802C6A14 002C2674 48 00 00 58 */ b lbl_802C6A6C +lbl_802C6A18: +/* 802C6A18 002C2678 38 1C 00 0B */ addi r0, r28, 0xb +/* 802C6A1C 002C267C 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802C6A20 002C2680 4B FF 30 8D */ bl func_802B9AAC +/* 802C6A24 002C2684 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6A28 002C2688 41 82 00 40 */ beq lbl_802C6A68 +/* 802C6A2C 002C268C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C6A30 002C2690 93 DF 06 1C */ stw r30, 0x61c(r31) +/* 802C6A34 002C2694 41 82 00 0C */ beq lbl_802C6A40 +/* 802C6A38 002C2698 38 00 00 01 */ li r0, 1 +/* 802C6A3C 002C269C 98 1F 06 50 */ stb r0, 0x650(r31) +lbl_802C6A40: +/* 802C6A40 002C26A0 7F 64 DB 78 */ mr r4, r27 +/* 802C6A44 002C26A4 7F 85 E3 78 */ mr r5, r28 +/* 802C6A48 002C26A8 7F A6 EB 78 */ mr r6, r29 +/* 802C6A4C 002C26AC 48 00 B9 C5 */ bl func_802D2410 +/* 802C6A50 002C26B0 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C6A54 002C26B4 41 82 00 0C */ beq lbl_802C6A60 +/* 802C6A58 002C26B8 38 60 00 01 */ li r3, 1 +/* 802C6A5C 002C26BC 48 00 00 10 */ b lbl_802C6A6C +lbl_802C6A60: +/* 802C6A60 002C26C0 38 60 00 00 */ li r3, 0 +/* 802C6A64 002C26C4 48 00 00 08 */ b lbl_802C6A6C +lbl_802C6A68: +/* 802C6A68 002C26C8 38 60 00 03 */ li r3, 3 +lbl_802C6A6C: +/* 802C6A6C 002C26CC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C6A70 002C26D0 4B F0 07 05 */ bl _restgpr_27 +/* 802C6A74 002C26D4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C6A78 002C26D8 7C 08 03 A6 */ mtlr r0 +/* 802C6A7C 002C26DC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C6A80 002C26E0 4E 80 00 20 */ blr + +.global func_802C6A84 +func_802C6A84: +/* 802C6A84 002C26E4 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802C6A88 002C26E8 7C 08 02 A6 */ mflr r0 +/* 802C6A8C 002C26EC 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C6A90 002C26F0 7C 67 1B 78 */ mr r7, r3 +/* 802C6A94 002C26F4 90 01 01 24 */ stw r0, 0x124(r1) +/* 802C6A98 002C26F8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C6A9C 002C26FC 38 00 00 00 */ li r0, 0 +/* 802C6AA0 002C2700 38 61 00 0C */ addi r3, r1, 0xc +/* 802C6AA4 002C2704 93 E1 01 1C */ stw r31, 0x11c(r1) +/* 802C6AA8 002C2708 83 E6 06 1C */ lwz r31, 0x61c(r6) +/* 802C6AAC 002C270C 98 06 06 50 */ stb r0, 0x650(r6) +/* 802C6AB0 002C2710 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C6AB4 002C2714 90 06 06 1C */ stw r0, 0x61c(r6) +/* 802C6AB8 002C2718 41 82 00 24 */ beq lbl_802C6ADC +/* 802C6ABC 002C271C B0 81 00 08 */ sth r4, 8(r1) +/* 802C6AC0 002C2720 7C E4 3B 78 */ mr r4, r7 +/* 802C6AC4 002C2724 B0 A1 00 0A */ sth r5, 0xa(r1) +/* 802C6AC8 002C2728 4B D3 D5 39 */ bl memcpy +/* 802C6ACC 002C272C 7F EC FB 78 */ mr r12, r31 +/* 802C6AD0 002C2730 38 61 00 08 */ addi r3, r1, 8 +/* 802C6AD4 002C2734 7D 89 03 A6 */ mtctr r12 +/* 802C6AD8 002C2738 4E 80 04 21 */ bctrl +lbl_802C6ADC: +/* 802C6ADC 002C273C 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802C6AE0 002C2740 83 E1 01 1C */ lwz r31, 0x11c(r1) +/* 802C6AE4 002C2744 7C 08 03 A6 */ mtlr r0 +/* 802C6AE8 002C2748 38 21 01 20 */ addi r1, r1, 0x120 +/* 802C6AEC 002C274C 4E 80 00 20 */ blr + +.global func_802C6AF0 +func_802C6AF0: +/* 802C6AF0 002C2750 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6AF4 002C2754 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6AF8 002C2758 80 04 05 6C */ lwz r0, 0x56c(r4) +/* 802C6AFC 002C275C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C6B00 002C2760 41 82 00 14 */ beq lbl_802C6B14 +/* 802C6B04 002C2764 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6B08 002C2768 41 82 00 0C */ beq lbl_802C6B14 +/* 802C6B0C 002C276C 38 60 00 02 */ li r3, 2 +/* 802C6B10 002C2770 4E 80 00 20 */ blr +lbl_802C6B14: +/* 802C6B14 002C2774 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6B18 002C2778 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6B1C 002C277C 90 64 05 6C */ stw r3, 0x56c(r4) +/* 802C6B20 002C2780 38 60 00 00 */ li r3, 0 +/* 802C6B24 002C2784 4E 80 00 20 */ blr + +.global func_802C6B28 +func_802C6B28: +/* 802C6B28 002C2788 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C6B2C 002C278C 7C 08 02 A6 */ mflr r0 +/* 802C6B30 002C2790 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C6B34 002C2794 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C6B38 002C2798 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C6B3C 002C279C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C6B40 002C27A0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C6B44 002C27A4 7C 9E 23 78 */ mr r30, r4 +/* 802C6B48 002C27A8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C6B4C 002C27AC 7C 7D 1B 78 */ mr r29, r3 +/* 802C6B50 002C27B0 A0 1F 06 3C */ lhz r0, 0x63c(r31) +/* 802C6B54 002C27B4 28 00 00 12 */ cmplwi r0, 0x12 +/* 802C6B58 002C27B8 41 82 00 24 */ beq lbl_802C6B7C +/* 802C6B5C 002C27BC 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C6B60 002C27C0 28 00 00 04 */ cmplwi r0, 4 +/* 802C6B64 002C27C4 41 80 00 18 */ blt lbl_802C6B7C +/* 802C6B68 002C27C8 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C6B6C 002C27CC 3C 80 80 44 */ lis r4, lbl_80441200@ha +/* 802C6B70 002C27D0 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C6B74 002C27D4 38 84 12 00 */ addi r4, r4, lbl_80441200@l +/* 802C6B78 002C27D8 4B FF 63 99 */ bl func_802BCF10 +lbl_802C6B7C: +/* 802C6B7C 002C27DC 81 9F 05 6C */ lwz r12, 0x56c(r31) +/* 802C6B80 002C27E0 38 00 00 00 */ li r0, 0 +/* 802C6B84 002C27E4 90 1F 06 1C */ stw r0, 0x61c(r31) +/* 802C6B88 002C27E8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C6B8C 002C27EC 98 1F 06 50 */ stb r0, 0x650(r31) +/* 802C6B90 002C27F0 41 82 00 14 */ beq lbl_802C6BA4 +/* 802C6B94 002C27F4 7F C3 F3 78 */ mr r3, r30 +/* 802C6B98 002C27F8 7F A4 EB 78 */ mr r4, r29 +/* 802C6B9C 002C27FC 7D 89 03 A6 */ mtctr r12 +/* 802C6BA0 002C2800 4E 80 04 21 */ bctrl +lbl_802C6BA4: +/* 802C6BA4 002C2804 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C6BA8 002C2808 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C6BAC 002C280C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C6BB0 002C2810 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C6BB4 002C2814 7C 08 03 A6 */ mtlr r0 +/* 802C6BB8 002C2818 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C6BBC 002C281C 4E 80 00 20 */ blr + +.global func_802C6BC0 +func_802C6BC0: +/* 802C6BC0 002C2820 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C6BC4 002C2824 7C 08 02 A6 */ mflr r0 +/* 802C6BC8 002C2828 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6BCC 002C282C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C6BD0 002C2830 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6BD4 002C2834 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C6BD8 002C2838 7C 7F 1B 78 */ mr r31, r3 +/* 802C6BDC 002C283C 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802C6BE0 002C2840 28 00 00 04 */ cmplwi r0, 4 +/* 802C6BE4 002C2844 41 80 00 1C */ blt lbl_802C6C00 +/* 802C6BE8 002C2848 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C6BEC 002C284C 3C 80 80 44 */ lis r4, lbl_80441240@ha +/* 802C6BF0 002C2850 7F E5 FB 78 */ mr r5, r31 +/* 802C6BF4 002C2854 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C6BF8 002C2858 38 84 12 40 */ addi r4, r4, lbl_80441240@l +/* 802C6BFC 002C285C 4B FF 63 2D */ bl func_802BCF28 +lbl_802C6C00: +/* 802C6C00 002C2860 1C 1F 02 71 */ mulli r0, r31, 0x271 +/* 802C6C04 002C2864 3C 60 10 62 */ lis r3, 0x10624DD3@ha +/* 802C6C08 002C2868 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6C0C 002C286C 38 63 4D D3 */ addi r3, r3, 0x10624DD3@l +/* 802C6C10 002C2870 7C 03 00 96 */ mulhw r0, r3, r0 +/* 802C6C14 002C2874 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6C18 002C2878 38 60 00 02 */ li r3, 2 +/* 802C6C1C 002C287C 7C 00 36 70 */ srawi r0, r0, 6 +/* 802C6C20 002C2880 54 05 0F FE */ srwi r5, r0, 0x1f +/* 802C6C24 002C2884 7C 00 2A 14 */ add r0, r0, r5 +/* 802C6C28 002C2888 B0 04 06 4C */ sth r0, 0x64c(r4) +/* 802C6C2C 002C288C 4B FF 30 21 */ bl func_802B9C4C +/* 802C6C30 002C2890 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6C34 002C2894 41 82 00 14 */ beq lbl_802C6C48 +/* 802C6C38 002C2898 7F E4 FB 78 */ mr r4, r31 +/* 802C6C3C 002C289C 48 00 AC CD */ bl func_802D1908 +/* 802C6C40 002C28A0 38 60 00 00 */ li r3, 0 +/* 802C6C44 002C28A4 48 00 00 08 */ b lbl_802C6C4C +lbl_802C6C48: +/* 802C6C48 002C28A8 38 60 00 03 */ li r3, 3 +lbl_802C6C4C: +/* 802C6C4C 002C28AC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C6C50 002C28B0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C6C54 002C28B4 7C 08 03 A6 */ mtlr r0 +/* 802C6C58 002C28B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C6C5C 002C28BC 4E 80 00 20 */ blr + +.global func_802C6C60 +func_802C6C60: +/* 802C6C60 002C28C0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C6C64 002C28C4 7C 08 02 A6 */ mflr r0 +/* 802C6C68 002C28C8 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C6C6C 002C28CC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C6C70 002C28D0 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C6C74 002C28D4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C6C78 002C28D8 3B E0 00 00 */ li r31, 0 +/* 802C6C7C 002C28DC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C6C80 002C28E0 7C 9E 23 78 */ mr r30, r4 +/* 802C6C84 002C28E4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C6C88 002C28E8 7C 7D 1B 78 */ mr r29, r3 +/* 802C6C8C 002C28EC 80 05 05 70 */ lwz r0, 0x570(r5) +/* 802C6C90 002C28F0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C6C94 002C28F4 41 82 00 0C */ beq lbl_802C6CA0 +/* 802C6C98 002C28F8 38 60 00 02 */ li r3, 2 +/* 802C6C9C 002C28FC 48 00 00 80 */ b lbl_802C6D1C +lbl_802C6CA0: +/* 802C6CA0 002C2900 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6CA4 002C2904 40 82 00 0C */ bne lbl_802C6CB0 +/* 802C6CA8 002C2908 3B E0 00 01 */ li r31, 1 +/* 802C6CAC 002C290C 3B A1 00 08 */ addi r29, r1, 8 +lbl_802C6CB0: +/* 802C6CB0 002C2910 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6CB4 002C2914 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6CB8 002C2918 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C6CBC 002C291C 28 00 00 04 */ cmplwi r0, 4 +/* 802C6CC0 002C2920 41 80 00 28 */ blt lbl_802C6CE8 +/* 802C6CC4 002C2924 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C6CC8 002C2928 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C6CCC 002C292C 3C 80 80 44 */ lis r4, lbl_804412B0@ha +/* 802C6CD0 002C2930 38 AD 8A 44 */ addi r5, r13, lbl_8063DD04-_SDA_BASE_ +/* 802C6CD4 002C2934 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C6CD8 002C2938 38 84 12 B0 */ addi r4, r4, lbl_804412B0@l +/* 802C6CDC 002C293C 41 82 00 08 */ beq lbl_802C6CE4 +/* 802C6CE0 002C2940 38 AD 8A 3C */ addi r5, r13, lbl_8063DCFC-_SDA_BASE_ +lbl_802C6CE4: +/* 802C6CE4 002C2944 4B FF 62 45 */ bl func_802BCF28 +lbl_802C6CE8: +/* 802C6CE8 002C2948 38 60 00 02 */ li r3, 2 +/* 802C6CEC 002C294C 4B FF 2F 61 */ bl func_802B9C4C +/* 802C6CF0 002C2950 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6CF4 002C2954 41 82 00 24 */ beq lbl_802C6D18 +/* 802C6CF8 002C2958 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C6CFC 002C295C 7F A4 EB 78 */ mr r4, r29 +/* 802C6D00 002C2960 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C6D04 002C2964 7F E5 FB 78 */ mr r5, r31 +/* 802C6D08 002C2968 93 C6 05 70 */ stw r30, 0x570(r6) +/* 802C6D0C 002C296C 48 00 A7 ED */ bl func_802D14F8 +/* 802C6D10 002C2970 38 60 00 00 */ li r3, 0 +/* 802C6D14 002C2974 48 00 00 08 */ b lbl_802C6D1C +lbl_802C6D18: +/* 802C6D18 002C2978 38 60 00 03 */ li r3, 3 +lbl_802C6D1C: +/* 802C6D1C 002C297C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C6D20 002C2980 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C6D24 002C2984 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C6D28 002C2988 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C6D2C 002C298C 7C 08 03 A6 */ mtlr r0 +/* 802C6D30 002C2990 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C6D34 002C2994 4E 80 00 20 */ blr + +.global func_802C6D38 +func_802C6D38: +/* 802C6D38 002C2998 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C6D3C 002C299C 7C 08 02 A6 */ mflr r0 +/* 802C6D40 002C29A0 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802C6D44 002C29A4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C6D48 002C29A8 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802C6D4C 002C29AC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C6D50 002C29B0 7C DF 33 78 */ mr r31, r6 +/* 802C6D54 002C29B4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C6D58 002C29B8 7C BE 2B 78 */ mr r30, r5 +/* 802C6D5C 002C29BC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C6D60 002C29C0 7C 9D 23 78 */ mr r29, r4 +/* 802C6D64 002C29C4 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C6D68 002C29C8 7C 7C 1B 78 */ mr r28, r3 +/* 802C6D6C 002C29CC 80 07 05 70 */ lwz r0, 0x570(r7) +/* 802C6D70 002C29D0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C6D74 002C29D4 41 82 00 0C */ beq lbl_802C6D80 +/* 802C6D78 002C29D8 38 60 00 02 */ li r3, 2 +/* 802C6D7C 002C29DC 48 00 00 6C */ b lbl_802C6DE8 +lbl_802C6D80: +/* 802C6D80 002C29E0 88 07 27 C0 */ lbz r0, 0x27c0(r7) +/* 802C6D84 002C29E4 28 00 00 04 */ cmplwi r0, 4 +/* 802C6D88 002C29E8 41 80 00 1C */ blt lbl_802C6DA4 +/* 802C6D8C 002C29EC 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C6D90 002C29F0 3C 80 80 44 */ lis r4, lbl_804412DC@ha +/* 802C6D94 002C29F4 7F 85 E3 78 */ mr r5, r28 +/* 802C6D98 002C29F8 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C6D9C 002C29FC 38 84 12 DC */ addi r4, r4, lbl_804412DC@l +/* 802C6DA0 002C2A00 4B FF 61 89 */ bl func_802BCF28 +lbl_802C6DA4: +/* 802C6DA4 002C2A04 28 1C 00 0B */ cmplwi r28, 0xb +/* 802C6DA8 002C2A08 40 81 00 08 */ ble lbl_802C6DB0 +/* 802C6DAC 002C2A0C 3B 80 00 0B */ li r28, 0xb +lbl_802C6DB0: +/* 802C6DB0 002C2A10 38 60 00 02 */ li r3, 2 +/* 802C6DB4 002C2A14 4B FF 2E 99 */ bl func_802B9C4C +/* 802C6DB8 002C2A18 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6DBC 002C2A1C 41 82 00 28 */ beq lbl_802C6DE4 +/* 802C6DC0 002C2A20 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C6DC4 002C2A24 7F 84 E3 78 */ mr r4, r28 +/* 802C6DC8 002C2A28 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C6DCC 002C2A2C 7F A5 EB 78 */ mr r5, r29 +/* 802C6DD0 002C2A30 93 E6 05 70 */ stw r31, 0x570(r6) +/* 802C6DD4 002C2A34 7F C6 F3 78 */ mr r6, r30 +/* 802C6DD8 002C2A38 48 00 A7 81 */ bl func_802D1558 +/* 802C6DDC 002C2A3C 38 60 00 00 */ li r3, 0 +/* 802C6DE0 002C2A40 48 00 00 08 */ b lbl_802C6DE8 +lbl_802C6DE4: +/* 802C6DE4 002C2A44 38 60 00 03 */ li r3, 3 +lbl_802C6DE8: +/* 802C6DE8 002C2A48 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C6DEC 002C2A4C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C6DF0 002C2A50 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C6DF4 002C2A54 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C6DF8 002C2A58 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C6DFC 002C2A5C 7C 08 03 A6 */ mtlr r0 +/* 802C6E00 002C2A60 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C6E04 002C2A64 4E 80 00 20 */ blr + +.global func_802C6E08 +func_802C6E08: +/* 802C6E08 002C2A68 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C6E0C 002C2A6C 7C 08 02 A6 */ mflr r0 +/* 802C6E10 002C2A70 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C6E14 002C2A74 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C6E18 002C2A78 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C6E1C 002C2A7C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C6E20 002C2A80 3B E0 00 00 */ li r31, 0 +/* 802C6E24 002C2A84 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C6E28 002C2A88 7C 9E 23 78 */ mr r30, r4 +/* 802C6E2C 002C2A8C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C6E30 002C2A90 7C 7D 1B 78 */ mr r29, r3 +/* 802C6E34 002C2A94 80 05 05 70 */ lwz r0, 0x570(r5) +/* 802C6E38 002C2A98 2C 00 00 00 */ cmpwi r0, 0 +/* 802C6E3C 002C2A9C 41 82 00 0C */ beq lbl_802C6E48 +/* 802C6E40 002C2AA0 38 60 00 02 */ li r3, 2 +/* 802C6E44 002C2AA4 48 00 00 78 */ b lbl_802C6EBC +lbl_802C6E48: +/* 802C6E48 002C2AA8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C6E4C 002C2AAC 40 82 00 0C */ bne lbl_802C6E58 +/* 802C6E50 002C2AB0 3B E0 00 01 */ li r31, 1 +/* 802C6E54 002C2AB4 3B A1 00 08 */ addi r29, r1, 8 +lbl_802C6E58: +/* 802C6E58 002C2AB8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C6E5C 002C2ABC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C6E60 002C2AC0 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C6E64 002C2AC4 28 00 00 04 */ cmplwi r0, 4 +/* 802C6E68 002C2AC8 41 80 00 28 */ blt lbl_802C6E90 +/* 802C6E6C 002C2ACC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C6E70 002C2AD0 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802C6E74 002C2AD4 3C 80 80 44 */ lis r4, lbl_80441308@ha +/* 802C6E78 002C2AD8 38 AD 8A 44 */ addi r5, r13, lbl_8063DD04-_SDA_BASE_ +/* 802C6E7C 002C2ADC 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802C6E80 002C2AE0 38 84 13 08 */ addi r4, r4, lbl_80441308@l +/* 802C6E84 002C2AE4 41 82 00 08 */ beq lbl_802C6E8C +/* 802C6E88 002C2AE8 38 AD 8A 3C */ addi r5, r13, lbl_8063DCFC-_SDA_BASE_ +lbl_802C6E8C: +/* 802C6E8C 002C2AEC 4B FF 60 9D */ bl func_802BCF28 +lbl_802C6E90: +/* 802C6E90 002C2AF0 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C6E94 002C2AF4 7F A3 EB 78 */ mr r3, r29 +/* 802C6E98 002C2AF8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C6E9C 002C2AFC 7F E4 FB 78 */ mr r4, r31 +/* 802C6EA0 002C2B00 93 C5 05 70 */ stw r30, 0x570(r5) +/* 802C6EA4 002C2B04 48 00 A8 75 */ bl func_802D1718 +/* 802C6EA8 002C2B08 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C6EAC 002C2B0C 40 82 00 0C */ bne lbl_802C6EB8 +/* 802C6EB0 002C2B10 38 60 00 03 */ li r3, 3 +/* 802C6EB4 002C2B14 48 00 00 08 */ b lbl_802C6EBC +lbl_802C6EB8: +/* 802C6EB8 002C2B18 38 60 00 00 */ li r3, 0 +lbl_802C6EBC: +/* 802C6EBC 002C2B1C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C6EC0 002C2B20 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C6EC4 002C2B24 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C6EC8 002C2B28 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C6ECC 002C2B2C 7C 08 03 A6 */ mtlr r0 +/* 802C6ED0 002C2B30 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C6ED4 002C2B34 4E 80 00 20 */ blr +lbl_802C6ED8: +/* 802C6ED8 002C2B38 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C6EDC 002C2B3C 7C 08 02 A6 */ mflr r0 +/* 802C6EE0 002C2B40 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6EE4 002C2B44 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C6EE8 002C2B48 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6EEC 002C2B4C 38 00 00 00 */ li r0, 0 +/* 802C6EF0 002C2B50 81 84 05 70 */ lwz r12, 0x570(r4) +/* 802C6EF4 002C2B54 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C6EF8 002C2B58 90 04 05 70 */ stw r0, 0x570(r4) +/* 802C6EFC 002C2B5C 41 82 00 48 */ beq lbl_802C6F44 +/* 802C6F00 002C2B60 38 00 00 02 */ li r0, 2 +/* 802C6F04 002C2B64 98 01 00 08 */ stb r0, 8(r1) +/* 802C6F08 002C2B68 88 03 00 00 */ lbz r0, 0(r3) +/* 802C6F0C 002C2B6C 98 01 00 09 */ stb r0, 9(r1) +/* 802C6F10 002C2B70 88 03 00 02 */ lbz r0, 2(r3) +/* 802C6F14 002C2B74 88 83 00 01 */ lbz r4, 1(r3) +/* 802C6F18 002C2B78 54 00 40 2E */ slwi r0, r0, 8 +/* 802C6F1C 002C2B7C 7C 04 02 14 */ add r0, r4, r0 +/* 802C6F20 002C2B80 B0 01 00 0A */ sth r0, 0xa(r1) +/* 802C6F24 002C2B84 88 03 00 04 */ lbz r0, 4(r3) +/* 802C6F28 002C2B88 88 83 00 03 */ lbz r4, 3(r3) +/* 802C6F2C 002C2B8C 38 61 00 08 */ addi r3, r1, 8 +/* 802C6F30 002C2B90 54 00 40 2E */ slwi r0, r0, 8 +/* 802C6F34 002C2B94 7C 04 02 14 */ add r0, r4, r0 +/* 802C6F38 002C2B98 B0 01 00 0C */ sth r0, 0xc(r1) +/* 802C6F3C 002C2B9C 7D 89 03 A6 */ mtctr r12 +/* 802C6F40 002C2BA0 4E 80 04 21 */ bctrl +lbl_802C6F44: +/* 802C6F44 002C2BA4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C6F48 002C2BA8 7C 08 03 A6 */ mtlr r0 +/* 802C6F4C 002C2BAC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C6F50 002C2BB0 4E 80 00 20 */ blr +lbl_802C6F54: +/* 802C6F54 002C2BB4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C6F58 002C2BB8 7C 08 02 A6 */ mflr r0 +/* 802C6F5C 002C2BBC 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6F60 002C2BC0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C6F64 002C2BC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6F68 002C2BC8 38 00 00 00 */ li r0, 0 +/* 802C6F6C 002C2BCC 81 84 05 70 */ lwz r12, 0x570(r4) +/* 802C6F70 002C2BD0 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C6F74 002C2BD4 90 04 05 70 */ stw r0, 0x570(r4) +/* 802C6F78 002C2BD8 41 82 00 28 */ beq lbl_802C6FA0 +/* 802C6F7C 002C2BDC 38 00 00 03 */ li r0, 3 +/* 802C6F80 002C2BE0 98 01 00 08 */ stb r0, 8(r1) +/* 802C6F84 002C2BE4 88 03 00 00 */ lbz r0, 0(r3) +/* 802C6F88 002C2BE8 98 01 00 09 */ stb r0, 9(r1) +/* 802C6F8C 002C2BEC 88 03 00 01 */ lbz r0, 1(r3) +/* 802C6F90 002C2BF0 38 61 00 08 */ addi r3, r1, 8 +/* 802C6F94 002C2BF4 98 01 00 0A */ stb r0, 0xa(r1) +/* 802C6F98 002C2BF8 7D 89 03 A6 */ mtctr r12 +/* 802C6F9C 002C2BFC 4E 80 04 21 */ bctrl +lbl_802C6FA0: +/* 802C6FA0 002C2C00 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C6FA4 002C2C04 7C 08 03 A6 */ mtlr r0 +/* 802C6FA8 002C2C08 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C6FAC 002C2C0C 4E 80 00 20 */ blr +lbl_802C6FB0: +/* 802C6FB0 002C2C10 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C6FB4 002C2C14 7C 08 02 A6 */ mflr r0 +/* 802C6FB8 002C2C18 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C6FBC 002C2C1C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C6FC0 002C2C20 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C6FC4 002C2C24 38 00 00 00 */ li r0, 0 +/* 802C6FC8 002C2C28 81 84 05 70 */ lwz r12, 0x570(r4) +/* 802C6FCC 002C2C2C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C6FD0 002C2C30 90 04 05 70 */ stw r0, 0x570(r4) +/* 802C6FD4 002C2C34 41 82 00 34 */ beq lbl_802C7008 +/* 802C6FD8 002C2C38 38 00 00 04 */ li r0, 4 +/* 802C6FDC 002C2C3C 98 01 00 08 */ stb r0, 8(r1) +/* 802C6FE0 002C2C40 88 03 00 00 */ lbz r0, 0(r3) +/* 802C6FE4 002C2C44 98 01 00 09 */ stb r0, 9(r1) +/* 802C6FE8 002C2C48 88 03 00 02 */ lbz r0, 2(r3) +/* 802C6FEC 002C2C4C 88 83 00 01 */ lbz r4, 1(r3) +/* 802C6FF0 002C2C50 38 61 00 08 */ addi r3, r1, 8 +/* 802C6FF4 002C2C54 54 00 40 2E */ slwi r0, r0, 8 +/* 802C6FF8 002C2C58 7C 04 02 14 */ add r0, r4, r0 +/* 802C6FFC 002C2C5C B0 01 00 0A */ sth r0, 0xa(r1) +/* 802C7000 002C2C60 7D 89 03 A6 */ mtctr r12 +/* 802C7004 002C2C64 4E 80 04 21 */ bctrl +lbl_802C7008: +/* 802C7008 002C2C68 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C700C 002C2C6C 7C 08 03 A6 */ mtlr r0 +/* 802C7010 002C2C70 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C7014 002C2C74 4E 80 00 20 */ blr + +.global func_802C7018 +func_802C7018: +/* 802C7018 002C2C78 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C701C 002C2C7C 7C 08 02 A6 */ mflr r0 +/* 802C7020 002C2C80 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C7024 002C2C84 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C7028 002C2C88 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C702C 002C2C8C 81 84 05 70 */ lwz r12, 0x570(r4) +/* 802C7030 002C2C90 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C7034 002C2C94 41 82 01 60 */ beq lbl_802C7194 +/* 802C7038 002C2C98 38 A3 00 02 */ addi r5, r3, 2 +/* 802C703C 002C2C9C 38 80 00 00 */ li r4, 0 +/* 802C7040 002C2CA0 48 00 01 3C */ b lbl_802C717C +lbl_802C7044: +/* 802C7044 002C2CA4 89 65 00 00 */ lbz r11, 0(r5) +/* 802C7048 002C2CA8 38 84 00 01 */ addi r4, r4, 1 +/* 802C704C 002C2CAC 89 45 00 01 */ lbz r10, 1(r5) +/* 802C7050 002C2CB0 89 25 00 02 */ lbz r9, 2(r5) +/* 802C7054 002C2CB4 89 05 00 03 */ lbz r8, 3(r5) +/* 802C7058 002C2CB8 88 E5 00 04 */ lbz r7, 4(r5) +/* 802C705C 002C2CBC 88 C5 00 05 */ lbz r6, 5(r5) +/* 802C7060 002C2CC0 88 05 00 06 */ lbz r0, 6(r5) +/* 802C7064 002C2CC4 98 01 00 17 */ stb r0, 0x17(r1) +/* 802C7068 002C2CC8 88 05 00 07 */ lbz r0, 7(r5) +/* 802C706C 002C2CCC 98 01 00 16 */ stb r0, 0x16(r1) +/* 802C7070 002C2CD0 88 05 00 08 */ lbz r0, 8(r5) +/* 802C7074 002C2CD4 98 01 00 15 */ stb r0, 0x15(r1) +/* 802C7078 002C2CD8 88 05 00 09 */ lbz r0, 9(r5) +/* 802C707C 002C2CDC 98 01 00 14 */ stb r0, 0x14(r1) +/* 802C7080 002C2CE0 88 05 00 0A */ lbz r0, 0xa(r5) +/* 802C7084 002C2CE4 98 01 00 13 */ stb r0, 0x13(r1) +/* 802C7088 002C2CE8 88 05 00 0B */ lbz r0, 0xb(r5) +/* 802C708C 002C2CEC 98 01 00 12 */ stb r0, 0x12(r1) +/* 802C7090 002C2CF0 88 05 00 0C */ lbz r0, 0xc(r5) +/* 802C7094 002C2CF4 98 01 00 11 */ stb r0, 0x11(r1) +/* 802C7098 002C2CF8 88 05 00 0D */ lbz r0, 0xd(r5) +/* 802C709C 002C2CFC 98 01 00 10 */ stb r0, 0x10(r1) +/* 802C70A0 002C2D00 88 05 00 0E */ lbz r0, 0xe(r5) +/* 802C70A4 002C2D04 98 01 00 0F */ stb r0, 0xf(r1) +/* 802C70A8 002C2D08 88 05 00 0F */ lbz r0, 0xf(r5) +/* 802C70AC 002C2D0C 98 01 00 0E */ stb r0, 0xe(r1) +/* 802C70B0 002C2D10 88 05 00 10 */ lbz r0, 0x10(r5) +/* 802C70B4 002C2D14 98 01 00 0D */ stb r0, 0xd(r1) +/* 802C70B8 002C2D18 88 05 00 11 */ lbz r0, 0x11(r5) +/* 802C70BC 002C2D1C 98 01 00 0C */ stb r0, 0xc(r1) +/* 802C70C0 002C2D20 88 05 00 12 */ lbz r0, 0x12(r5) +/* 802C70C4 002C2D24 98 01 00 0B */ stb r0, 0xb(r1) +/* 802C70C8 002C2D28 88 05 00 13 */ lbz r0, 0x13(r5) +/* 802C70CC 002C2D2C 98 01 00 0A */ stb r0, 0xa(r1) +/* 802C70D0 002C2D30 88 05 00 14 */ lbz r0, 0x14(r5) +/* 802C70D4 002C2D34 98 01 00 09 */ stb r0, 9(r1) +/* 802C70D8 002C2D38 88 05 00 15 */ lbz r0, 0x15(r5) +/* 802C70DC 002C2D3C 98 01 00 08 */ stb r0, 8(r1) +/* 802C70E0 002C2D40 98 C5 00 00 */ stb r6, 0(r5) +/* 802C70E4 002C2D44 98 E5 00 01 */ stb r7, 1(r5) +/* 802C70E8 002C2D48 99 05 00 02 */ stb r8, 2(r5) +/* 802C70EC 002C2D4C 99 25 00 03 */ stb r9, 3(r5) +/* 802C70F0 002C2D50 99 45 00 04 */ stb r10, 4(r5) +/* 802C70F4 002C2D54 99 65 00 05 */ stb r11, 5(r5) +/* 802C70F8 002C2D58 88 01 00 08 */ lbz r0, 8(r1) +/* 802C70FC 002C2D5C 98 05 00 06 */ stb r0, 6(r5) +/* 802C7100 002C2D60 88 01 00 09 */ lbz r0, 9(r1) +/* 802C7104 002C2D64 98 05 00 07 */ stb r0, 7(r5) +/* 802C7108 002C2D68 88 01 00 0A */ lbz r0, 0xa(r1) +/* 802C710C 002C2D6C 98 05 00 08 */ stb r0, 8(r5) +/* 802C7110 002C2D70 88 01 00 0B */ lbz r0, 0xb(r1) +/* 802C7114 002C2D74 98 05 00 09 */ stb r0, 9(r5) +/* 802C7118 002C2D78 88 01 00 0C */ lbz r0, 0xc(r1) +/* 802C711C 002C2D7C 98 05 00 0A */ stb r0, 0xa(r5) +/* 802C7120 002C2D80 88 01 00 0D */ lbz r0, 0xd(r1) +/* 802C7124 002C2D84 98 05 00 0B */ stb r0, 0xb(r5) +/* 802C7128 002C2D88 88 01 00 0E */ lbz r0, 0xe(r1) +/* 802C712C 002C2D8C 98 05 00 0C */ stb r0, 0xc(r5) +/* 802C7130 002C2D90 88 01 00 0F */ lbz r0, 0xf(r1) +/* 802C7134 002C2D94 98 05 00 0D */ stb r0, 0xd(r5) +/* 802C7138 002C2D98 88 01 00 10 */ lbz r0, 0x10(r1) +/* 802C713C 002C2D9C 98 05 00 0E */ stb r0, 0xe(r5) +/* 802C7140 002C2DA0 88 01 00 11 */ lbz r0, 0x11(r1) +/* 802C7144 002C2DA4 98 05 00 0F */ stb r0, 0xf(r5) +/* 802C7148 002C2DA8 88 01 00 12 */ lbz r0, 0x12(r1) +/* 802C714C 002C2DAC 98 05 00 10 */ stb r0, 0x10(r5) +/* 802C7150 002C2DB0 88 01 00 13 */ lbz r0, 0x13(r1) +/* 802C7154 002C2DB4 98 05 00 11 */ stb r0, 0x11(r5) +/* 802C7158 002C2DB8 88 01 00 14 */ lbz r0, 0x14(r1) +/* 802C715C 002C2DBC 98 05 00 12 */ stb r0, 0x12(r5) +/* 802C7160 002C2DC0 88 01 00 15 */ lbz r0, 0x15(r1) +/* 802C7164 002C2DC4 98 05 00 13 */ stb r0, 0x13(r5) +/* 802C7168 002C2DC8 88 01 00 16 */ lbz r0, 0x16(r1) +/* 802C716C 002C2DCC 98 05 00 14 */ stb r0, 0x14(r5) +/* 802C7170 002C2DD0 88 01 00 17 */ lbz r0, 0x17(r1) +/* 802C7174 002C2DD4 98 05 00 15 */ stb r0, 0x15(r5) +/* 802C7178 002C2DD8 38 A5 00 16 */ addi r5, r5, 0x16 +lbl_802C717C: +/* 802C717C 002C2DDC 88 03 00 01 */ lbz r0, 1(r3) +/* 802C7180 002C2DE0 54 86 06 3E */ clrlwi r6, r4, 0x18 +/* 802C7184 002C2DE4 7C 06 00 40 */ cmplw r6, r0 +/* 802C7188 002C2DE8 41 80 FE BC */ blt lbl_802C7044 +/* 802C718C 002C2DEC 7D 89 03 A6 */ mtctr r12 +/* 802C7190 002C2DF0 4E 80 04 21 */ bctrl +lbl_802C7194: +/* 802C7194 002C2DF4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C7198 002C2DF8 7C 08 03 A6 */ mtlr r0 +/* 802C719C 002C2DFC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C71A0 002C2E00 4E 80 00 20 */ blr + +.global func_802C71A4 +func_802C71A4: +/* 802C71A4 002C2E04 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C71A8 002C2E08 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C71AC 002C2E0C 81 84 05 68 */ lwz r12, 0x568(r4) +/* 802C71B0 002C2E10 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C71B4 002C2E14 4D 82 00 20 */ beqlr +/* 802C71B8 002C2E18 7D 89 03 A6 */ mtctr r12 +/* 802C71BC 002C2E1C 4E 80 04 20 */ bctr +/* 802C71C0 002C2E20 4E 80 00 20 */ blr + +.global func_802C71C4 +func_802C71C4: +/* 802C71C4 002C2E24 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C71C8 002C2E28 7C 08 02 A6 */ mflr r0 +/* 802C71CC 002C2E2C 38 80 00 00 */ li r4, 0 +/* 802C71D0 002C2E30 38 A0 10 20 */ li r5, 0x1020 +/* 802C71D4 002C2E34 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C71D8 002C2E38 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C71DC 002C2E3C 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C71E0 002C2E40 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C71E4 002C2E44 38 1F 06 D4 */ addi r0, r31, 0x6d4 +/* 802C71E8 002C2E48 90 1F 16 78 */ stw r0, 0x1678(r31) +/* 802C71EC 002C2E4C 38 7F 06 58 */ addi r3, r31, 0x658 +/* 802C71F0 002C2E50 4B D3 CF 15 */ bl memset +/* 802C71F4 002C2E54 38 60 00 01 */ li r3, 1 +/* 802C71F8 002C2E58 38 80 00 02 */ li r4, 2 +/* 802C71FC 002C2E5C 38 00 10 02 */ li r0, 0x1002 +/* 802C7200 002C2E60 B0 7F 06 70 */ sth r3, 0x670(r31) +/* 802C7204 002C2E64 80 7F 16 78 */ lwz r3, 0x1678(r31) +/* 802C7208 002C2E68 38 DF 06 74 */ addi r6, r31, 0x674 +/* 802C720C 002C2E6C B0 9F 06 74 */ sth r4, 0x674(r31) +/* 802C7210 002C2E70 38 80 0F A0 */ li r4, 0xfa0 +/* 802C7214 002C2E74 38 A0 00 01 */ li r5, 1 +/* 802C7218 002C2E78 38 E0 00 00 */ li r7, 0 +/* 802C721C 002C2E7C B0 1F 06 78 */ sth r0, 0x678(r31) +/* 802C7220 002C2E80 39 00 00 00 */ li r8, 0 +/* 802C7224 002C2E84 48 01 AB C5 */ bl func_802E1DE8 +/* 802C7228 002C2E88 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C722C 002C2E8C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C7230 002C2E90 7C 08 03 A6 */ mtlr r0 +/* 802C7234 002C2E94 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C7238 002C2E98 4E 80 00 20 */ blr + +.global func_802C723C +func_802C723C: +/* 802C723C 002C2E9C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C7240 002C2EA0 7C 08 02 A6 */ mflr r0 +/* 802C7244 002C2EA4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C7248 002C2EA8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C724C 002C2EAC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C7250 002C2EB0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C7254 002C2EB4 38 7F 06 58 */ addi r3, r31, 0x658 +/* 802C7258 002C2EB8 4B FF 62 F5 */ bl func_802BD54C +/* 802C725C 002C2EBC 88 1F 16 74 */ lbz r0, 0x1674(r31) +/* 802C7260 002C2EC0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7264 002C2EC4 41 82 00 28 */ beq lbl_802C728C +/* 802C7268 002C2EC8 81 9F 06 D0 */ lwz r12, 0x6d0(r31) +/* 802C726C 002C2ECC 38 00 00 00 */ li r0, 0 +/* 802C7270 002C2ED0 98 1F 16 74 */ stb r0, 0x1674(r31) +/* 802C7274 002C2ED4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C7278 002C2ED8 90 1F 06 D0 */ stw r0, 0x6d0(r31) +/* 802C727C 002C2EDC 41 82 00 10 */ beq lbl_802C728C +/* 802C7280 002C2EE0 38 60 00 00 */ li r3, 0 +/* 802C7284 002C2EE4 7D 89 03 A6 */ mtctr r12 +/* 802C7288 002C2EE8 4E 80 04 21 */ bctrl +lbl_802C728C: +/* 802C728C 002C2EEC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C7290 002C2EF0 38 80 00 00 */ li r4, 0 +/* 802C7294 002C2EF4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C7298 002C2EF8 38 A0 10 20 */ li r5, 0x1020 +/* 802C729C 002C2EFC 38 1F 06 D4 */ addi r0, r31, 0x6d4 +/* 802C72A0 002C2F00 90 1F 16 78 */ stw r0, 0x1678(r31) +/* 802C72A4 002C2F04 38 7F 06 58 */ addi r3, r31, 0x658 +/* 802C72A8 002C2F08 4B D3 CE 5D */ bl memset +/* 802C72AC 002C2F0C 38 60 00 01 */ li r3, 1 +/* 802C72B0 002C2F10 38 80 00 02 */ li r4, 2 +/* 802C72B4 002C2F14 38 00 10 02 */ li r0, 0x1002 +/* 802C72B8 002C2F18 B0 7F 06 70 */ sth r3, 0x670(r31) +/* 802C72BC 002C2F1C 80 7F 16 78 */ lwz r3, 0x1678(r31) +/* 802C72C0 002C2F20 38 DF 06 74 */ addi r6, r31, 0x674 +/* 802C72C4 002C2F24 B0 9F 06 74 */ sth r4, 0x674(r31) +/* 802C72C8 002C2F28 38 80 0F A0 */ li r4, 0xfa0 +/* 802C72CC 002C2F2C 38 A0 00 01 */ li r5, 1 +/* 802C72D0 002C2F30 38 E0 00 00 */ li r7, 0 +/* 802C72D4 002C2F34 B0 1F 06 78 */ sth r0, 0x678(r31) +/* 802C72D8 002C2F38 39 00 00 00 */ li r8, 0 +/* 802C72DC 002C2F3C 48 01 AB 0D */ bl func_802E1DE8 +/* 802C72E0 002C2F40 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C72E4 002C2F44 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C72E8 002C2F48 7C 08 03 A6 */ mtlr r0 +/* 802C72EC 002C2F4C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C72F0 002C2F50 4E 80 00 20 */ blr + +.global func_802C72F4 +func_802C72F4: +/* 802C72F4 002C2F54 4E 80 00 20 */ blr + +.global func_802C72F8 +func_802C72F8: +/* 802C72F8 002C2F58 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C72FC 002C2F5C 7C 08 02 A6 */ mflr r0 +/* 802C7300 002C2F60 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C7304 002C2F64 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C7308 002C2F68 4B EF FE 21 */ bl _savegpr_27 +/* 802C730C 002C2F6C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7310 002C2F70 7C 7F 1B 78 */ mr r31, r3 +/* 802C7314 002C2F74 7C 9B 23 78 */ mr r27, r4 +/* 802C7318 002C2F78 7C BC 2B 78 */ mr r28, r5 +/* 802C731C 002C2F7C 3B C0 00 00 */ li r30, 0 +/* 802C7320 002C2F80 41 82 00 1C */ beq lbl_802C733C +/* 802C7324 002C2F84 28 03 00 01 */ cmplwi r3, 1 +/* 802C7328 002C2F88 41 82 00 14 */ beq lbl_802C733C +/* 802C732C 002C2F8C 28 03 00 02 */ cmplwi r3, 2 +/* 802C7330 002C2F90 41 82 00 0C */ beq lbl_802C733C +/* 802C7334 002C2F94 38 60 00 05 */ li r3, 5 +/* 802C7338 002C2F98 48 00 02 2C */ b lbl_802C7564 +lbl_802C733C: +/* 802C733C 002C2F9C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C7340 002C2FA0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7344 002C2FA4 88 03 06 4E */ lbz r0, 0x64e(r3) +/* 802C7348 002C2FA8 28 00 00 03 */ cmplwi r0, 3 +/* 802C734C 002C2FAC 40 80 00 0C */ bge lbl_802C7358 +/* 802C7350 002C2FB0 38 60 00 0C */ li r3, 0xc +/* 802C7354 002C2FB4 48 00 02 10 */ b lbl_802C7564 +lbl_802C7358: +/* 802C7358 002C2FB8 2C 04 00 00 */ cmpwi r4, 0 +/* 802C735C 002C2FBC 40 82 00 08 */ bne lbl_802C7364 +/* 802C7360 002C2FC0 3B 60 00 12 */ li r27, 0x12 +lbl_802C7364: +/* 802C7364 002C2FC4 2C 05 00 00 */ cmpwi r5, 0 +/* 802C7368 002C2FC8 40 82 00 08 */ bne lbl_802C7370 +/* 802C736C 002C2FCC 3B 80 08 00 */ li r28, 0x800 +lbl_802C7370: +/* 802C7370 002C2FD0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C7374 002C2FD4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7378 002C2FD8 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C737C 002C2FDC 28 00 00 03 */ cmplwi r0, 3 +/* 802C7380 002C2FE0 41 80 00 24 */ blt lbl_802C73A4 +/* 802C7384 002C2FE4 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C7388 002C2FE8 3C 80 80 44 */ lis r4, lbl_80441340@ha +/* 802C738C 002C2FEC 7F E5 FB 78 */ mr r5, r31 +/* 802C7390 002C2FF0 7F 66 DB 78 */ mr r6, r27 +/* 802C7394 002C2FF4 7F 87 E3 78 */ mr r7, r28 +/* 802C7398 002C2FF8 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C739C 002C2FFC 38 84 13 40 */ addi r4, r4, lbl_80441340@l +/* 802C73A0 002C3000 4B FF 5B B9 */ bl func_802BCF58 +lbl_802C73A4: +/* 802C73A4 002C3004 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C73A8 002C3008 41 82 00 34 */ beq lbl_802C73DC +/* 802C73AC 002C300C 28 1B 00 12 */ cmplwi r27, 0x12 +/* 802C73B0 002C3010 41 80 00 24 */ blt lbl_802C73D4 +/* 802C73B4 002C3014 28 1B 10 00 */ cmplwi r27, 0x1000 +/* 802C73B8 002C3018 41 81 00 1C */ bgt lbl_802C73D4 +/* 802C73BC 002C301C 28 1C 00 12 */ cmplwi r28, 0x12 +/* 802C73C0 002C3020 41 80 00 14 */ blt lbl_802C73D4 +/* 802C73C4 002C3024 28 1C 10 00 */ cmplwi r28, 0x1000 +/* 802C73C8 002C3028 41 81 00 0C */ bgt lbl_802C73D4 +/* 802C73CC 002C302C 7C 1B E0 40 */ cmplw r27, r28 +/* 802C73D0 002C3030 40 81 00 0C */ ble lbl_802C73DC +lbl_802C73D4: +/* 802C73D4 002C3034 38 60 00 05 */ li r3, 5 +/* 802C73D8 002C3038 48 00 01 8C */ b lbl_802C7564 +lbl_802C73DC: +/* 802C73DC 002C303C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C73E0 002C3040 41 82 00 70 */ beq lbl_802C7450 +/* 802C73E4 002C3044 38 60 00 02 */ li r3, 2 +/* 802C73E8 002C3048 4B FF 28 65 */ bl func_802B9C4C +/* 802C73EC 002C304C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C73F0 002C3050 7C 7D 1B 78 */ mr r29, r3 +/* 802C73F4 002C3054 41 82 00 54 */ beq lbl_802C7448 +/* 802C73F8 002C3058 57 E0 07 FF */ clrlwi. r0, r31, 0x1f +/* 802C73FC 002C305C 41 82 00 38 */ beq lbl_802C7434 +/* 802C7400 002C3060 38 61 00 0C */ addi r3, r1, 0xc +/* 802C7404 002C3064 38 82 A4 74 */ addi r4, r2, lbl_80642A74-_SDA2_BASE_ +/* 802C7408 002C3068 38 A0 00 03 */ li r5, 3 +/* 802C740C 002C306C 4B D3 CB F5 */ bl memcpy +/* 802C7410 002C3070 38 61 00 0F */ addi r3, r1, 0xf +/* 802C7414 002C3074 38 82 A4 70 */ addi r4, r2, lbl_80642A70-_SDA2_BASE_ +/* 802C7418 002C3078 38 A0 00 03 */ li r5, 3 +/* 802C741C 002C307C 4B D3 CB E5 */ bl memcpy +/* 802C7420 002C3080 7F A3 EB 78 */ mr r3, r29 +/* 802C7424 002C3084 38 A1 00 0C */ addi r5, r1, 0xc +/* 802C7428 002C3088 38 80 00 02 */ li r4, 2 +/* 802C742C 002C308C 48 00 A8 8D */ bl func_802D1CB8 +/* 802C7430 002C3090 48 00 00 10 */ b lbl_802C7440 +lbl_802C7434: +/* 802C7434 002C3094 38 80 00 01 */ li r4, 1 +/* 802C7438 002C3098 38 A2 A4 70 */ addi r5, r2, lbl_80642A70-_SDA2_BASE_ +/* 802C743C 002C309C 48 00 A8 7D */ bl func_802D1CB8 +lbl_802C7440: +/* 802C7440 002C30A0 63 DE 00 01 */ ori r30, r30, 1 +/* 802C7444 002C30A4 48 00 00 0C */ b lbl_802C7450 +lbl_802C7448: +/* 802C7448 002C30A8 38 60 00 03 */ li r3, 3 +/* 802C744C 002C30AC 48 00 01 18 */ b lbl_802C7564 +lbl_802C7450: +/* 802C7450 002C30B0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C7454 002C30B4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7458 002C30B8 A0 03 16 A0 */ lhz r0, 0x16a0(r3) +/* 802C745C 002C30BC 7C 1B 00 40 */ cmplw r27, r0 +/* 802C7460 002C30C0 40 82 00 10 */ bne lbl_802C7470 +/* 802C7464 002C30C4 A0 03 16 A2 */ lhz r0, 0x16a2(r3) +/* 802C7468 002C30C8 7C 1C 00 40 */ cmplw r28, r0 +/* 802C746C 002C30CC 41 82 00 3C */ beq lbl_802C74A8 +lbl_802C7470: +/* 802C7470 002C30D0 38 60 00 02 */ li r3, 2 +/* 802C7474 002C30D4 4B FF 27 D9 */ bl func_802B9C4C +/* 802C7478 002C30D8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C747C 002C30DC 41 82 00 24 */ beq lbl_802C74A0 +/* 802C7480 002C30E0 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C7484 002C30E4 7F 84 E3 78 */ mr r4, r28 +/* 802C7488 002C30E8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C748C 002C30EC 7F 65 DB 78 */ mr r5, r27 +/* 802C7490 002C30F0 B3 66 16 A0 */ sth r27, 0x16a0(r6) +/* 802C7494 002C30F4 B3 86 16 A2 */ sth r28, 0x16a2(r6) +/* 802C7498 002C30F8 48 00 A5 1D */ bl func_802D19B4 +/* 802C749C 002C30FC 48 00 00 0C */ b lbl_802C74A8 +lbl_802C74A0: +/* 802C74A0 002C3100 38 60 00 03 */ li r3, 3 +/* 802C74A4 002C3104 48 00 00 C0 */ b lbl_802C7564 +lbl_802C74A8: +/* 802C74A8 002C3108 38 60 00 02 */ li r3, 2 +/* 802C74AC 002C310C 4B FF 27 A1 */ bl func_802B9C4C +/* 802C74B0 002C3110 2C 03 00 00 */ cmpwi r3, 0 +/* 802C74B4 002C3114 41 82 00 38 */ beq lbl_802C74EC +/* 802C74B8 002C3118 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C74BC 002C311C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C74C0 002C3120 A0 04 16 9A */ lhz r0, 0x169a(r4) +/* 802C74C4 002C3124 2C 00 00 00 */ cmpwi r0, 0 +/* 802C74C8 002C3128 41 82 00 0C */ beq lbl_802C74D4 +/* 802C74CC 002C312C 63 C0 00 02 */ ori r0, r30, 2 +/* 802C74D0 002C3130 54 1E 06 3E */ clrlwi r30, r0, 0x18 +lbl_802C74D4: +/* 802C74D4 002C3134 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C74D8 002C3138 57 C4 06 3E */ clrlwi r4, r30, 0x18 +/* 802C74DC 002C313C 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C74E0 002C3140 B3 E5 16 98 */ sth r31, 0x1698(r5) +/* 802C74E4 002C3144 48 00 A4 5D */ bl func_802D1940 +/* 802C74E8 002C3148 48 00 00 0C */ b lbl_802C74F4 +lbl_802C74EC: +/* 802C74EC 002C314C 38 60 00 03 */ li r3, 3 +/* 802C74F0 002C3150 48 00 00 74 */ b lbl_802C7564 +lbl_802C74F4: +/* 802C74F4 002C3154 4B FF F4 5D */ bl dataARAMDefaultGetInfo +/* 802C74F8 002C3158 88 83 00 00 */ lbz r4, 0(r3) +/* 802C74FC 002C315C 57 E6 07 FE */ clrlwi r6, r31, 0x1f +/* 802C7500 002C3160 88 A3 00 01 */ lbz r5, 1(r3) +/* 802C7504 002C3164 54 84 44 2E */ rlwinm r4, r4, 8, 0x10, 0x17 +/* 802C7508 002C3168 54 A0 06 34 */ rlwinm r0, r5, 0, 0x18, 0x1a +/* 802C750C 002C316C 7C 84 02 14 */ add r4, r4, r0 +/* 802C7510 002C3170 54 80 DF FE */ rlwinm r0, r4, 0x1b, 0x1f, 0x1f +/* 802C7514 002C3174 7C C0 02 79 */ xor. r0, r6, r0 +/* 802C7518 002C3178 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 802C751C 002C317C 41 82 00 44 */ beq lbl_802C7560 +/* 802C7520 002C3180 88 63 00 02 */ lbz r3, 2(r3) +/* 802C7524 002C3184 2C 06 00 00 */ cmpwi r6, 0 +/* 802C7528 002C3188 54 80 06 F2 */ rlwinm r0, r4, 0, 0x1b, 0x19 +/* 802C752C 002C318C 54 A5 06 FE */ clrlwi r5, r5, 0x1b +/* 802C7530 002C3190 54 66 06 3A */ rlwinm r6, r3, 0, 0x18, 0x1d +/* 802C7534 002C3194 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 802C7538 002C3198 41 82 00 08 */ beq lbl_802C7540 +/* 802C753C 002C319C 60 80 00 20 */ ori r0, r4, 0x20 +lbl_802C7540: +/* 802C7540 002C31A0 54 03 06 34 */ rlwinm r3, r0, 0, 0x18, 0x1a +/* 802C7544 002C31A4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f +/* 802C7548 002C31A8 7C 85 1A 14 */ add r4, r5, r3 +/* 802C754C 002C31AC 98 C1 00 0A */ stb r6, 0xa(r1) +/* 802C7550 002C31B0 38 61 00 08 */ addi r3, r1, 8 +/* 802C7554 002C31B4 98 81 00 09 */ stb r4, 9(r1) +/* 802C7558 002C31B8 98 01 00 08 */ stb r0, 8(r1) +/* 802C755C 002C31BC 4B FF F3 75 */ bl func_802C68D0 +lbl_802C7560: +/* 802C7560 002C31C0 38 60 00 00 */ li r3, 0 +lbl_802C7564: +/* 802C7564 002C31C4 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C7568 002C31C8 4B EF FC 0D */ bl _restgpr_27 +/* 802C756C 002C31CC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C7570 002C31D0 7C 08 03 A6 */ mtlr r0 +/* 802C7574 002C31D4 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C7578 002C31D8 4E 80 00 20 */ blr + +.global func_802C757C +func_802C757C: +/* 802C757C 002C31DC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C7580 002C31E0 7C 08 02 A6 */ mflr r0 +/* 802C7584 002C31E4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7588 002C31E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C758C 002C31EC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C7590 002C31F0 93 C1 00 08 */ stw r30, 8(r1) +/* 802C7594 002C31F4 7C 7E 1B 78 */ mr r30, r3 +/* 802C7598 002C31F8 41 82 00 14 */ beq lbl_802C75AC +/* 802C759C 002C31FC 28 03 00 01 */ cmplwi r3, 1 +/* 802C75A0 002C3200 41 82 00 0C */ beq lbl_802C75AC +/* 802C75A4 002C3204 38 60 00 05 */ li r3, 5 +/* 802C75A8 002C3208 48 00 00 6C */ b lbl_802C7614 +lbl_802C75AC: +/* 802C75AC 002C320C 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C75B0 002C3210 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C75B4 002C3214 88 1F 06 43 */ lbz r0, 0x643(r31) +/* 802C75B8 002C3218 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 802C75BC 002C321C 40 82 00 0C */ bne lbl_802C75C8 +/* 802C75C0 002C3220 38 60 00 04 */ li r3, 4 +/* 802C75C4 002C3224 48 00 00 50 */ b lbl_802C7614 +lbl_802C75C8: +/* 802C75C8 002C3228 A0 1F 16 A4 */ lhz r0, 0x16a4(r31) +/* 802C75CC 002C322C 7C 03 00 40 */ cmplw r3, r0 +/* 802C75D0 002C3230 41 82 00 40 */ beq lbl_802C7610 +/* 802C75D4 002C3234 4B FF E4 FD */ bl func_802C5AD0 +/* 802C75D8 002C3238 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C75DC 002C323C 41 82 00 2C */ beq lbl_802C7608 +/* 802C75E0 002C3240 38 60 00 02 */ li r3, 2 +/* 802C75E4 002C3244 4B FF 26 69 */ bl func_802B9C4C +/* 802C75E8 002C3248 2C 03 00 00 */ cmpwi r3, 0 +/* 802C75EC 002C324C 41 82 00 14 */ beq lbl_802C7600 +/* 802C75F0 002C3250 57 C4 06 3E */ clrlwi r4, r30, 0x18 +/* 802C75F4 002C3254 48 00 AD 8D */ bl func_802D2380 +/* 802C75F8 002C3258 B3 DF 16 A4 */ sth r30, 0x16a4(r31) +/* 802C75FC 002C325C 48 00 00 14 */ b lbl_802C7610 +lbl_802C7600: +/* 802C7600 002C3260 38 60 00 03 */ li r3, 3 +/* 802C7604 002C3264 48 00 00 10 */ b lbl_802C7614 +lbl_802C7608: +/* 802C7608 002C3268 38 60 00 06 */ li r3, 6 +/* 802C760C 002C326C 48 00 00 08 */ b lbl_802C7614 +lbl_802C7610: +/* 802C7610 002C3270 38 60 00 00 */ li r3, 0 +lbl_802C7614: +/* 802C7614 002C3274 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C7618 002C3278 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C761C 002C327C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C7620 002C3280 7C 08 03 A6 */ mtlr r0 +/* 802C7624 002C3284 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C7628 002C3288 4E 80 00 20 */ blr + +.global func_802C762C +func_802C762C: +/* 802C762C 002C328C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C7630 002C3290 7C 08 02 A6 */ mflr r0 +/* 802C7634 002C3294 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7638 002C3298 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C763C 002C329C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C7640 002C32A0 93 C1 00 08 */ stw r30, 8(r1) +/* 802C7644 002C32A4 7C 7E 1B 78 */ mr r30, r3 +/* 802C7648 002C32A8 41 82 00 14 */ beq lbl_802C765C +/* 802C764C 002C32AC 28 03 00 01 */ cmplwi r3, 1 +/* 802C7650 002C32B0 41 82 00 0C */ beq lbl_802C765C +/* 802C7654 002C32B4 38 60 00 05 */ li r3, 5 +/* 802C7658 002C32B8 48 00 00 6C */ b lbl_802C76C4 +lbl_802C765C: +/* 802C765C 002C32BC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C7660 002C32C0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C7664 002C32C4 88 1F 06 43 */ lbz r0, 0x643(r31) +/* 802C7668 002C32C8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a +/* 802C766C 002C32CC 40 82 00 0C */ bne lbl_802C7678 +/* 802C7670 002C32D0 38 60 00 04 */ li r3, 4 +/* 802C7674 002C32D4 48 00 00 50 */ b lbl_802C76C4 +lbl_802C7678: +/* 802C7678 002C32D8 A0 1F 16 A6 */ lhz r0, 0x16a6(r31) +/* 802C767C 002C32DC 7C 03 00 40 */ cmplw r3, r0 +/* 802C7680 002C32E0 41 82 00 40 */ beq lbl_802C76C0 +/* 802C7684 002C32E4 4B FF E4 4D */ bl func_802C5AD0 +/* 802C7688 002C32E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C768C 002C32EC 41 82 00 2C */ beq lbl_802C76B8 +/* 802C7690 002C32F0 38 60 00 02 */ li r3, 2 +/* 802C7694 002C32F4 4B FF 25 B9 */ bl func_802B9C4C +/* 802C7698 002C32F8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C769C 002C32FC 41 82 00 14 */ beq lbl_802C76B0 +/* 802C76A0 002C3300 57 C4 06 3E */ clrlwi r4, r30, 0x18 +/* 802C76A4 002C3304 48 00 AD 3D */ bl func_802D23E0 +/* 802C76A8 002C3308 B3 DF 16 A6 */ sth r30, 0x16a6(r31) +/* 802C76AC 002C330C 48 00 00 14 */ b lbl_802C76C0 +lbl_802C76B0: +/* 802C76B0 002C3310 38 60 00 03 */ li r3, 3 +/* 802C76B4 002C3314 48 00 00 10 */ b lbl_802C76C4 +lbl_802C76B8: +/* 802C76B8 002C3318 38 60 00 06 */ li r3, 6 +/* 802C76BC 002C331C 48 00 00 08 */ b lbl_802C76C4 +lbl_802C76C0: +/* 802C76C0 002C3320 38 60 00 00 */ li r3, 0 +lbl_802C76C4: +/* 802C76C4 002C3324 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C76C8 002C3328 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C76CC 002C332C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802C76D0 002C3330 7C 08 03 A6 */ mtlr r0 +/* 802C76D4 002C3334 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C76D8 002C3338 4E 80 00 20 */ blr + +.global func_802C76DC +func_802C76DC: +/* 802C76DC 002C333C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C76E0 002C3340 7C 08 02 A6 */ mflr r0 +/* 802C76E4 002C3344 2C 03 00 00 */ cmpwi r3, 0 +/* 802C76E8 002C3348 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C76EC 002C334C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C76F0 002C3350 7C 7F 1B 78 */ mr r31, r3 +/* 802C76F4 002C3354 41 82 00 14 */ beq lbl_802C7708 +/* 802C76F8 002C3358 28 03 00 01 */ cmplwi r3, 1 +/* 802C76FC 002C335C 41 82 00 0C */ beq lbl_802C7708 +/* 802C7700 002C3360 38 60 00 05 */ li r3, 5 +/* 802C7704 002C3364 48 00 00 5C */ b lbl_802C7760 +lbl_802C7708: +/* 802C7708 002C3368 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C770C 002C336C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7710 002C3370 88 03 06 43 */ lbz r0, 0x643(r3) +/* 802C7714 002C3374 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802C7718 002C3378 40 82 00 0C */ bne lbl_802C7724 +/* 802C771C 002C337C 38 60 00 04 */ li r3, 4 +/* 802C7720 002C3380 48 00 00 40 */ b lbl_802C7760 +lbl_802C7724: +/* 802C7724 002C3384 4B FF E3 AD */ bl func_802C5AD0 +/* 802C7728 002C3388 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C772C 002C338C 40 82 00 0C */ bne lbl_802C7738 +/* 802C7730 002C3390 38 60 00 06 */ li r3, 6 +/* 802C7734 002C3394 48 00 00 2C */ b lbl_802C7760 +lbl_802C7738: +/* 802C7738 002C3398 38 60 00 02 */ li r3, 2 +/* 802C773C 002C339C 4B FF 25 11 */ bl func_802B9C4C +/* 802C7740 002C33A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7744 002C33A4 41 82 00 10 */ beq lbl_802C7754 +/* 802C7748 002C33A8 7F E4 FB 78 */ mr r4, r31 +/* 802C774C 002C33AC 48 00 AC 65 */ bl func_802D23B0 +/* 802C7750 002C33B0 48 00 00 0C */ b lbl_802C775C +lbl_802C7754: +/* 802C7754 002C33B4 38 60 00 03 */ li r3, 3 +/* 802C7758 002C33B8 48 00 00 08 */ b lbl_802C7760 +lbl_802C775C: +/* 802C775C 002C33BC 38 60 00 00 */ li r3, 0 +lbl_802C7760: +/* 802C7760 002C33C0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C7764 002C33C4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C7768 002C33C8 7C 08 03 A6 */ mtlr r0 +/* 802C776C 002C33CC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C7770 002C33D0 4E 80 00 20 */ blr + +.global func_802C7774 +func_802C7774: +/* 802C7774 002C33D4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C7778 002C33D8 7C 08 02 A6 */ mflr r0 +/* 802C777C 002C33DC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C7780 002C33E0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C7784 002C33E4 4B EF F9 A5 */ bl _savegpr_27 +/* 802C7788 002C33E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C778C 002C33EC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C7790 002C33F0 7C 7B 1B 78 */ mr r27, r3 +/* 802C7794 002C33F4 7C 9C 23 78 */ mr r28, r4 +/* 802C7798 002C33F8 7C BD 2B 78 */ mr r29, r5 +/* 802C779C 002C33FC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C77A0 002C3400 3B C0 00 00 */ li r30, 0 +/* 802C77A4 002C3404 41 82 00 14 */ beq lbl_802C77B8 +/* 802C77A8 002C3408 28 03 00 01 */ cmplwi r3, 1 +/* 802C77AC 002C340C 41 82 00 0C */ beq lbl_802C77B8 +/* 802C77B0 002C3410 38 60 00 05 */ li r3, 5 +/* 802C77B4 002C3414 48 00 01 30 */ b lbl_802C78E4 +lbl_802C77B8: +/* 802C77B8 002C3418 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C77BC 002C341C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C77C0 002C3420 88 03 06 4E */ lbz r0, 0x64e(r3) +/* 802C77C4 002C3424 28 00 00 03 */ cmplwi r0, 3 +/* 802C77C8 002C3428 40 80 00 0C */ bge lbl_802C77D4 +/* 802C77CC 002C342C 38 60 00 0C */ li r3, 0xc +/* 802C77D0 002C3430 48 00 01 14 */ b lbl_802C78E4 +lbl_802C77D4: +/* 802C77D4 002C3434 2C 04 00 00 */ cmpwi r4, 0 +/* 802C77D8 002C3438 40 82 00 08 */ bne lbl_802C77E0 +/* 802C77DC 002C343C 3B 80 00 12 */ li r28, 0x12 +lbl_802C77E0: +/* 802C77E0 002C3440 2C 05 00 00 */ cmpwi r5, 0 +/* 802C77E4 002C3444 40 82 00 08 */ bne lbl_802C77EC +/* 802C77E8 002C3448 3B A0 08 00 */ li r29, 0x800 +lbl_802C77EC: +/* 802C77EC 002C344C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C77F0 002C3450 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C77F4 002C3454 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C77F8 002C3458 28 00 00 03 */ cmplwi r0, 3 +/* 802C77FC 002C345C 41 80 00 24 */ blt lbl_802C7820 +/* 802C7800 002C3460 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C7804 002C3464 3C 80 80 44 */ lis r4, lbl_8044139C@ha +/* 802C7808 002C3468 7F 65 DB 78 */ mr r5, r27 +/* 802C780C 002C346C 7F 86 E3 78 */ mr r6, r28 +/* 802C7810 002C3470 7F A7 EB 78 */ mr r7, r29 +/* 802C7814 002C3474 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C7818 002C3478 38 84 13 9C */ addi r4, r4, lbl_8044139C@l +/* 802C781C 002C347C 4B FF 57 3D */ bl func_802BCF58 +lbl_802C7820: +/* 802C7820 002C3480 28 1B 00 01 */ cmplwi r27, 1 +/* 802C7824 002C3484 40 82 00 38 */ bne lbl_802C785C +/* 802C7828 002C3488 28 1C 00 12 */ cmplwi r28, 0x12 +/* 802C782C 002C348C 41 80 00 24 */ blt lbl_802C7850 +/* 802C7830 002C3490 28 1C 10 00 */ cmplwi r28, 0x1000 +/* 802C7834 002C3494 41 81 00 1C */ bgt lbl_802C7850 +/* 802C7838 002C3498 28 1D 00 12 */ cmplwi r29, 0x12 +/* 802C783C 002C349C 41 80 00 14 */ blt lbl_802C7850 +/* 802C7840 002C34A0 28 1D 10 00 */ cmplwi r29, 0x1000 +/* 802C7844 002C34A4 41 81 00 0C */ bgt lbl_802C7850 +/* 802C7848 002C34A8 7C 1C E8 40 */ cmplw r28, r29 +/* 802C784C 002C34AC 40 81 00 0C */ ble lbl_802C7858 +lbl_802C7850: +/* 802C7850 002C34B0 38 60 00 05 */ li r3, 5 +/* 802C7854 002C34B4 48 00 00 90 */ b lbl_802C78E4 +lbl_802C7858: +/* 802C7858 002C34B8 63 DE 00 02 */ ori r30, r30, 2 +lbl_802C785C: +/* 802C785C 002C34BC A0 1F 16 9C */ lhz r0, 0x169c(r31) +/* 802C7860 002C34C0 7C 1C 00 40 */ cmplw r28, r0 +/* 802C7864 002C34C4 40 82 00 10 */ bne lbl_802C7874 +/* 802C7868 002C34C8 A0 1F 16 9E */ lhz r0, 0x169e(r31) +/* 802C786C 002C34CC 7C 1D 00 40 */ cmplw r29, r0 +/* 802C7870 002C34D0 41 82 00 34 */ beq lbl_802C78A4 +lbl_802C7874: +/* 802C7874 002C34D4 38 60 00 02 */ li r3, 2 +/* 802C7878 002C34D8 4B FF 23 D5 */ bl func_802B9C4C +/* 802C787C 002C34DC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7880 002C34E0 41 82 00 1C */ beq lbl_802C789C +/* 802C7884 002C34E4 B3 9F 16 9C */ sth r28, 0x169c(r31) +/* 802C7888 002C34E8 7F A4 EB 78 */ mr r4, r29 +/* 802C788C 002C34EC 7F 85 E3 78 */ mr r5, r28 +/* 802C7890 002C34F0 B3 BF 16 9E */ sth r29, 0x169e(r31) +/* 802C7894 002C34F4 48 00 A0 DD */ bl func_802D1970 +/* 802C7898 002C34F8 48 00 00 0C */ b lbl_802C78A4 +lbl_802C789C: +/* 802C789C 002C34FC 38 60 00 03 */ li r3, 3 +/* 802C78A0 002C3500 48 00 00 44 */ b lbl_802C78E4 +lbl_802C78A4: +/* 802C78A4 002C3504 38 60 00 02 */ li r3, 2 +/* 802C78A8 002C3508 4B FF 23 A5 */ bl func_802B9C4C +/* 802C78AC 002C350C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C78B0 002C3510 41 82 00 28 */ beq lbl_802C78D8 +/* 802C78B4 002C3514 A0 1F 16 98 */ lhz r0, 0x1698(r31) +/* 802C78B8 002C3518 2C 00 00 00 */ cmpwi r0, 0 +/* 802C78BC 002C351C 41 82 00 0C */ beq lbl_802C78C8 +/* 802C78C0 002C3520 63 C0 00 01 */ ori r0, r30, 1 +/* 802C78C4 002C3524 54 1E 06 3E */ clrlwi r30, r0, 0x18 +lbl_802C78C8: +/* 802C78C8 002C3528 B3 7F 16 9A */ sth r27, 0x169a(r31) +/* 802C78CC 002C352C 57 C4 06 3E */ clrlwi r4, r30, 0x18 +/* 802C78D0 002C3530 48 00 A0 71 */ bl func_802D1940 +/* 802C78D4 002C3534 48 00 00 0C */ b lbl_802C78E0 +lbl_802C78D8: +/* 802C78D8 002C3538 38 60 00 03 */ li r3, 3 +/* 802C78DC 002C353C 48 00 00 08 */ b lbl_802C78E4 +lbl_802C78E0: +/* 802C78E0 002C3540 38 60 00 00 */ li r3, 0 +lbl_802C78E4: +/* 802C78E4 002C3544 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C78E8 002C3548 4B EF F8 8D */ bl _restgpr_27 +/* 802C78EC 002C354C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C78F0 002C3550 7C 08 03 A6 */ mtlr r0 +/* 802C78F4 002C3554 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C78F8 002C3558 4E 80 00 20 */ blr + +.global func_802C78FC +func_802C78FC: +/* 802C78FC 002C355C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C7900 002C3560 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7904 002C3564 88 63 18 48 */ lbz r3, 0x1848(r3) +/* 802C7908 002C3568 4E 80 00 20 */ blr + +.global func_802C790C +func_802C790C: +/* 802C790C 002C356C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C7910 002C3570 7C 08 02 A6 */ mflr r0 +/* 802C7914 002C3574 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C7918 002C3578 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C791C 002C357C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C7920 002C3580 3F C0 80 57 */ lis r30, lbl_80568B78@ha +/* 802C7924 002C3584 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l +/* 802C7928 002C3588 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C792C 002C358C 3B A0 00 00 */ li r29, 0 +/* 802C7930 002C3590 88 1E 27 C0 */ lbz r0, 0x27c0(r30) +/* 802C7934 002C3594 28 00 00 03 */ cmplwi r0, 3 +/* 802C7938 002C3598 41 80 00 18 */ blt lbl_802C7950 +/* 802C793C 002C359C 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C7940 002C35A0 3C 80 80 44 */ lis r4, lbl_804413F0@ha +/* 802C7944 002C35A4 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C7948 002C35A8 38 84 13 F0 */ addi r4, r4, lbl_804413F0@l +/* 802C794C 002C35AC 4B FF 55 C5 */ bl func_802BCF10 +lbl_802C7950: +/* 802C7950 002C35B0 4B FF E1 81 */ bl func_802C5AD0 +/* 802C7954 002C35B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C7958 002C35B8 40 82 00 0C */ bne lbl_802C7964 +/* 802C795C 002C35BC 38 60 00 06 */ li r3, 6 +/* 802C7960 002C35C0 48 00 00 98 */ b lbl_802C79F8 +lbl_802C7964: +/* 802C7964 002C35C4 88 1E 18 48 */ lbz r0, 0x1848(r30) +/* 802C7968 002C35C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C796C 002C35CC 41 82 00 88 */ beq lbl_802C79F4 +/* 802C7970 002C35D0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802C7974 002C35D4 40 82 00 80 */ bne lbl_802C79F4 +/* 802C7978 002C35D8 88 1E 18 44 */ lbz r0, 0x1844(r30) +/* 802C797C 002C35DC 38 80 00 00 */ li r4, 0 +/* 802C7980 002C35E0 98 9E 18 48 */ stb r4, 0x1848(r30) +/* 802C7984 002C35E4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7988 002C35E8 98 9E 18 47 */ stb r4, 0x1847(r30) +/* 802C798C 002C35EC 90 9E 16 B4 */ stw r4, 0x16b4(r30) +/* 802C7990 002C35F0 90 9E 16 B0 */ stw r4, 0x16b0(r30) +/* 802C7994 002C35F4 41 82 00 18 */ beq lbl_802C79AC +/* 802C7998 002C35F8 88 7E 18 45 */ lbz r3, 0x1845(r30) +/* 802C799C 002C35FC 98 9E 18 44 */ stb r4, 0x1844(r30) +/* 802C79A0 002C3600 38 03 00 01 */ addi r0, r3, 1 +/* 802C79A4 002C3604 98 1E 18 45 */ stb r0, 0x1845(r30) +/* 802C79A8 002C3608 48 00 00 14 */ b lbl_802C79BC +lbl_802C79AC: +/* 802C79AC 002C360C 48 00 84 E5 */ bl func_802CFE90 +/* 802C79B0 002C3610 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C79B4 002C3614 40 82 00 08 */ bne lbl_802C79BC +/* 802C79B8 002C3618 3B A0 00 03 */ li r29, 3 +lbl_802C79BC: +/* 802C79BC 002C361C 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C79C0 002C3620 80 9E 16 C0 */ lwz r4, 0x16c0(r30) +/* 802C79C4 002C3624 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C79C8 002C3628 80 7F 16 DC */ lwz r3, 0x16dc(r31) +/* 802C79CC 002C362C 38 04 00 01 */ addi r0, r4, 1 +/* 802C79D0 002C3630 90 1E 16 C0 */ stw r0, 0x16c0(r30) +/* 802C79D4 002C3634 2C 03 00 00 */ cmpwi r3, 0 +/* 802C79D8 002C3638 41 82 00 10 */ beq lbl_802C79E8 +/* 802C79DC 002C363C 4B FF 23 59 */ bl func_802B9D34 +/* 802C79E0 002C3640 38 00 00 00 */ li r0, 0 +/* 802C79E4 002C3644 90 1F 16 DC */ stw r0, 0x16dc(r31) +lbl_802C79E8: +/* 802C79E8 002C3648 38 00 00 00 */ li r0, 0 +/* 802C79EC 002C364C B0 1F 16 E0 */ sth r0, 0x16e0(r31) +/* 802C79F0 002C3650 B0 1F 16 E2 */ sth r0, 0x16e2(r31) +lbl_802C79F4: +/* 802C79F4 002C3654 7F A3 EB 78 */ mr r3, r29 +lbl_802C79F8: +/* 802C79F8 002C3658 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C79FC 002C365C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C7A00 002C3660 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C7A04 002C3664 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C7A08 002C3668 7C 08 03 A6 */ mtlr r0 +/* 802C7A0C 002C366C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C7A10 002C3670 4E 80 00 20 */ blr + +.global func_802C7A14 +func_802C7A14: +/* 802C7A14 002C3674 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C7A18 002C3678 7C 08 02 A6 */ mflr r0 +/* 802C7A1C 002C367C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C7A20 002C3680 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C7A24 002C3684 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C7A28 002C3688 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C7A2C 002C368C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C7A30 002C3690 7C BE 2B 78 */ mr r30, r5 +/* 802C7A34 002C3694 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C7A38 002C3698 7C 9D 23 78 */ mr r29, r4 +/* 802C7A3C 002C369C 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C7A40 002C36A0 7C 7C 1B 78 */ mr r28, r3 +/* 802C7A44 002C36A4 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C7A48 002C36A8 28 00 00 03 */ cmplwi r0, 3 +/* 802C7A4C 002C36AC 41 80 00 28 */ blt lbl_802C7A74 +/* 802C7A50 002C36B0 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C7A54 002C36B4 3C 80 80 44 */ lis r4, lbl_8044140C@ha +/* 802C7A58 002C36B8 88 BC 00 00 */ lbz r5, 0(r28) +/* 802C7A5C 002C36BC 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C7A60 002C36C0 88 DC 00 01 */ lbz r6, 1(r28) +/* 802C7A64 002C36C4 38 84 14 0C */ addi r4, r4, lbl_8044140C@l +/* 802C7A68 002C36C8 88 FC 00 02 */ lbz r7, 2(r28) +/* 802C7A6C 002C36CC 89 1C 00 03 */ lbz r8, 3(r28) +/* 802C7A70 002C36D0 4B FF 55 01 */ bl func_802BCF70 +lbl_802C7A74: +/* 802C7A74 002C36D4 88 1F 18 48 */ lbz r0, 0x1848(r31) +/* 802C7A78 002C36D8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7A7C 002C36DC 40 82 00 10 */ bne lbl_802C7A8C +/* 802C7A80 002C36E0 88 1F 18 44 */ lbz r0, 0x1844(r31) +/* 802C7A84 002C36E4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7A88 002C36E8 41 82 00 0C */ beq lbl_802C7A94 +lbl_802C7A8C: +/* 802C7A8C 002C36EC 38 60 00 02 */ li r3, 2 +/* 802C7A90 002C36F0 48 00 01 18 */ b lbl_802C7BA8 +lbl_802C7A94: +/* 802C7A94 002C36F4 88 1C 00 00 */ lbz r0, 0(r28) +/* 802C7A98 002C36F8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7A9C 002C36FC 41 82 00 14 */ beq lbl_802C7AB0 +/* 802C7AA0 002C3700 28 00 00 01 */ cmplwi r0, 1 +/* 802C7AA4 002C3704 41 82 00 0C */ beq lbl_802C7AB0 +/* 802C7AA8 002C3708 38 60 00 05 */ li r3, 5 +/* 802C7AAC 002C370C 48 00 00 FC */ b lbl_802C7BA8 +lbl_802C7AB0: +/* 802C7AB0 002C3710 4B FF E0 21 */ bl func_802C5AD0 +/* 802C7AB4 002C3714 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C7AB8 002C3718 40 82 00 0C */ bne lbl_802C7AC4 +/* 802C7ABC 002C371C 38 60 00 06 */ li r3, 6 +/* 802C7AC0 002C3720 48 00 00 E8 */ b lbl_802C7BA8 +lbl_802C7AC4: +/* 802C7AC4 002C3724 88 BC 00 00 */ lbz r5, 0(r28) +/* 802C7AC8 002C3728 38 00 00 03 */ li r0, 3 +/* 802C7ACC 002C372C 88 7C 00 01 */ lbz r3, 1(r28) +/* 802C7AD0 002C3730 38 C0 00 00 */ li r6, 0 +/* 802C7AD4 002C3734 38 80 00 01 */ li r4, 1 +/* 802C7AD8 002C3738 98 BF 18 34 */ stb r5, 0x1834(r31) +/* 802C7ADC 002C373C 98 7F 18 35 */ stb r3, 0x1835(r31) +/* 802C7AE0 002C3740 88 BC 00 02 */ lbz r5, 2(r28) +/* 802C7AE4 002C3744 88 7C 00 03 */ lbz r3, 3(r28) +/* 802C7AE8 002C3748 98 BF 18 36 */ stb r5, 0x1836(r31) +/* 802C7AEC 002C374C 98 7F 18 37 */ stb r3, 0x1837(r31) +/* 802C7AF0 002C3750 88 BC 00 04 */ lbz r5, 4(r28) +/* 802C7AF4 002C3754 88 7C 00 05 */ lbz r3, 5(r28) +/* 802C7AF8 002C3758 98 BF 18 38 */ stb r5, 0x1838(r31) +/* 802C7AFC 002C375C 98 7F 18 39 */ stb r3, 0x1839(r31) +/* 802C7B00 002C3760 88 BC 00 06 */ lbz r5, 6(r28) +/* 802C7B04 002C3764 88 7C 00 07 */ lbz r3, 7(r28) +/* 802C7B08 002C3768 98 BF 18 3A */ stb r5, 0x183a(r31) +/* 802C7B0C 002C376C 98 7F 18 3B */ stb r3, 0x183b(r31) +/* 802C7B10 002C3770 88 7C 00 08 */ lbz r3, 8(r28) +/* 802C7B14 002C3774 98 7F 18 3C */ stb r3, 0x183c(r31) +/* 802C7B18 002C3778 88 7C 00 09 */ lbz r3, 9(r28) +/* 802C7B1C 002C377C 98 7F 18 3D */ stb r3, 0x183d(r31) +/* 802C7B20 002C3780 98 1F 18 47 */ stb r0, 0x1847(r31) +/* 802C7B24 002C3784 93 DF 16 B0 */ stw r30, 0x16b0(r31) +/* 802C7B28 002C3788 93 BF 16 B4 */ stw r29, 0x16b4(r31) +/* 802C7B2C 002C378C 98 DF 18 3F */ stb r6, 0x183f(r31) +/* 802C7B30 002C3790 88 BC 00 00 */ lbz r5, 0(r28) +/* 802C7B34 002C3794 38 65 FF FF */ addi r3, r5, -1 +/* 802C7B38 002C3798 20 05 00 01 */ subfic r0, r5, 1 +/* 802C7B3C 002C379C 7C 60 00 F8 */ nor r0, r3, r0 +/* 802C7B40 002C37A0 7C 03 FE 70 */ srawi r3, r0, 0x1f +/* 802C7B44 002C37A4 38 03 00 02 */ addi r0, r3, 2 +/* 802C7B48 002C37A8 98 1F 18 48 */ stb r0, 0x1848(r31) +/* 802C7B4C 002C37AC 88 1C 00 03 */ lbz r0, 3(r28) +/* 802C7B50 002C37B0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7B54 002C37B4 41 82 00 14 */ beq lbl_802C7B68 +/* 802C7B58 002C37B8 41 80 00 28 */ blt lbl_802C7B80 +/* 802C7B5C 002C37BC 2C 00 00 03 */ cmpwi r0, 3 +/* 802C7B60 002C37C0 40 80 00 20 */ bge lbl_802C7B80 +/* 802C7B64 002C37C4 48 00 00 10 */ b lbl_802C7B74 +lbl_802C7B68: +/* 802C7B68 002C37C8 38 00 00 02 */ li r0, 2 +/* 802C7B6C 002C37CC 98 1F 18 47 */ stb r0, 0x1847(r31) +/* 802C7B70 002C37D0 48 00 00 18 */ b lbl_802C7B88 +lbl_802C7B74: +/* 802C7B74 002C37D4 98 9F 18 47 */ stb r4, 0x1847(r31) +/* 802C7B78 002C37D8 98 DC 00 03 */ stb r6, 3(r28) +/* 802C7B7C 002C37DC 48 00 00 0C */ b lbl_802C7B88 +lbl_802C7B80: +/* 802C7B80 002C37E0 38 60 00 05 */ li r3, 5 +/* 802C7B84 002C37E4 48 00 00 24 */ b lbl_802C7BA8 +lbl_802C7B88: +/* 802C7B88 002C37E8 88 7C 00 03 */ lbz r3, 3(r28) +/* 802C7B8C 002C37EC 38 9C 00 04 */ addi r4, r28, 4 +/* 802C7B90 002C37F0 48 00 08 99 */ bl func_802C8428 +/* 802C7B94 002C37F4 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802C7B98 002C37F8 28 00 00 01 */ cmplwi r0, 1 +/* 802C7B9C 002C37FC 41 82 00 0C */ beq lbl_802C7BA8 +/* 802C7BA0 002C3800 38 00 00 00 */ li r0, 0 +/* 802C7BA4 002C3804 98 1F 18 47 */ stb r0, 0x1847(r31) +lbl_802C7BA8: +/* 802C7BA8 002C3808 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C7BAC 002C380C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C7BB0 002C3810 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C7BB4 002C3814 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C7BB8 002C3818 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C7BBC 002C381C 7C 08 03 A6 */ mtlr r0 +/* 802C7BC0 002C3820 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C7BC4 002C3824 4E 80 00 20 */ blr + +.global func_802C7BC8 +func_802C7BC8: +/* 802C7BC8 002C3828 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C7BCC 002C382C 7C 08 02 A6 */ mflr r0 +/* 802C7BD0 002C3830 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C7BD4 002C3834 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C7BD8 002C3838 4B EF F5 51 */ bl _savegpr_27 +/* 802C7BDC 002C383C 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C7BE0 002C3840 7C 7B 1B 78 */ mr r27, r3 +/* 802C7BE4 002C3844 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C7BE8 002C3848 7C 9C 23 78 */ mr r28, r4 +/* 802C7BEC 002C384C 88 05 27 C0 */ lbz r0, 0x27c0(r5) +/* 802C7BF0 002C3850 3B A0 00 00 */ li r29, 0 +/* 802C7BF4 002C3854 28 00 00 03 */ cmplwi r0, 3 +/* 802C7BF8 002C3858 41 80 00 30 */ blt lbl_802C7C28 +/* 802C7BFC 002C385C 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C7C00 002C3860 3C 80 80 44 */ lis r4, lbl_80441444@ha +/* 802C7C04 002C3864 88 BB 00 00 */ lbz r5, 0(r27) +/* 802C7C08 002C3868 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C7C0C 002C386C 88 DB 00 01 */ lbz r6, 1(r27) +/* 802C7C10 002C3870 38 84 14 44 */ addi r4, r4, lbl_80441444@l +/* 802C7C14 002C3874 88 FB 00 02 */ lbz r7, 2(r27) +/* 802C7C18 002C3878 89 1B 00 03 */ lbz r8, 3(r27) +/* 802C7C1C 002C387C 89 3B 00 04 */ lbz r9, 4(r27) +/* 802C7C20 002C3880 89 5B 00 05 */ lbz r10, 5(r27) +/* 802C7C24 002C3884 4B FF 53 7D */ bl func_802BCFA0 +lbl_802C7C28: +/* 802C7C28 002C3888 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C7C2C 002C388C 3B C0 00 00 */ li r30, 0 +/* 802C7C30 002C3890 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7C34 002C3894 3B E3 16 E4 */ addi r31, r3, 0x16e4 +lbl_802C7C38: +/* 802C7C38 002C3898 88 1F 00 1A */ lbz r0, 0x1a(r31) +/* 802C7C3C 002C389C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7C40 002C38A0 41 82 00 20 */ beq lbl_802C7C60 +/* 802C7C44 002C38A4 7F 64 DB 78 */ mr r4, r27 +/* 802C7C48 002C38A8 38 7F 00 0A */ addi r3, r31, 0xa +/* 802C7C4C 002C38AC 38 A0 00 06 */ li r5, 6 +/* 802C7C50 002C38B0 4B F0 27 49 */ bl memcmp +/* 802C7C54 002C38B4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7C58 002C38B8 40 82 00 08 */ bne lbl_802C7C60 +/* 802C7C5C 002C38BC 48 00 00 18 */ b lbl_802C7C74 +lbl_802C7C60: +/* 802C7C60 002C38C0 3B DE 00 01 */ addi r30, r30, 1 +/* 802C7C64 002C38C4 3B FF 00 1C */ addi r31, r31, 0x1c +/* 802C7C68 002C38C8 28 1E 00 0C */ cmplwi r30, 0xc +/* 802C7C6C 002C38CC 41 80 FF CC */ blt lbl_802C7C38 +/* 802C7C70 002C38D0 3B E0 00 00 */ li r31, 0 +lbl_802C7C74: +/* 802C7C74 002C38D4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C7C78 002C38D8 41 82 00 08 */ beq lbl_802C7C80 +/* 802C7C7C 002C38DC 3B BF 00 08 */ addi r29, r31, 8 +lbl_802C7C80: +/* 802C7C80 002C38E0 7F 63 DB 78 */ mr r3, r27 +/* 802C7C84 002C38E4 7F A4 EB 78 */ mr r4, r29 +/* 802C7C88 002C38E8 7F 87 E3 78 */ mr r7, r28 +/* 802C7C8C 002C38EC 38 A0 00 01 */ li r5, 1 +/* 802C7C90 002C38F0 38 C0 00 28 */ li r6, 0x28 +/* 802C7C94 002C38F4 48 00 0E 15 */ bl func_802C8AA8 +/* 802C7C98 002C38F8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C7C9C 002C38FC 4B EF F4 D9 */ bl _restgpr_27 +/* 802C7CA0 002C3900 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C7CA4 002C3904 7C 08 03 A6 */ mtlr r0 +/* 802C7CA8 002C3908 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C7CAC 002C390C 4E 80 00 20 */ blr + +.global func_802C7CB0 +func_802C7CB0: +/* 802C7CB0 002C3910 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C7CB4 002C3914 7C 08 02 A6 */ mflr r0 +/* 802C7CB8 002C3918 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C7CBC 002C391C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C7CC0 002C3920 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C7CC4 002C3924 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C7CC8 002C3928 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C7CCC 002C392C 28 00 00 03 */ cmplwi r0, 3 +/* 802C7CD0 002C3930 41 80 00 18 */ blt lbl_802C7CE8 +/* 802C7CD4 002C3934 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C7CD8 002C3938 3C 80 80 44 */ lis r4, lbl_80441484@ha +/* 802C7CDC 002C393C 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C7CE0 002C3940 38 84 14 84 */ addi r4, r4, lbl_80441484@l +/* 802C7CE4 002C3944 4B FF 52 2D */ bl func_802BCF10 +lbl_802C7CE8: +/* 802C7CE8 002C3948 88 1F 16 AE */ lbz r0, 0x16ae(r31) +/* 802C7CEC 002C394C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C7CF0 002C3950 41 82 00 20 */ beq lbl_802C7D10 +/* 802C7CF4 002C3954 38 7F 16 A8 */ addi r3, r31, 0x16a8 +/* 802C7CF8 002C3958 48 00 8C 9D */ bl func_802D0994 +/* 802C7CFC 002C395C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C7D00 002C3960 38 60 00 03 */ li r3, 3 +/* 802C7D04 002C3964 41 82 00 10 */ beq lbl_802C7D14 +/* 802C7D08 002C3968 38 60 00 01 */ li r3, 1 +/* 802C7D0C 002C396C 48 00 00 08 */ b lbl_802C7D14 +lbl_802C7D10: +/* 802C7D10 002C3970 38 60 00 06 */ li r3, 6 +lbl_802C7D14: +/* 802C7D14 002C3974 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C7D18 002C3978 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C7D1C 002C397C 7C 08 03 A6 */ mtlr r0 +/* 802C7D20 002C3980 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C7D24 002C3984 4E 80 00 20 */ blr + +.global func_802C7D28 +func_802C7D28: +/* 802C7D28 002C3988 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C7D2C 002C398C 7C 08 02 A6 */ mflr r0 +/* 802C7D30 002C3990 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C7D34 002C3994 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C7D38 002C3998 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C7D3C 002C399C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C7D40 002C39A0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C7D44 002C39A4 3B C4 16 E4 */ addi r30, r4, 0x16e4 +/* 802C7D48 002C39A8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C7D4C 002C39AC 7C 7D 1B 78 */ mr r29, r3 +/* 802C7D50 002C39B0 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802C7D54 002C39B4 28 00 00 03 */ cmplwi r0, 3 +/* 802C7D58 002C39B8 41 80 00 30 */ blt lbl_802C7D88 +/* 802C7D5C 002C39BC 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802C7D60 002C39C0 3C 80 80 44 */ lis r4, lbl_804414A4@ha +/* 802C7D64 002C39C4 88 BD 00 00 */ lbz r5, 0(r29) +/* 802C7D68 002C39C8 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802C7D6C 002C39CC 88 DD 00 01 */ lbz r6, 1(r29) +/* 802C7D70 002C39D0 38 84 14 A4 */ addi r4, r4, lbl_804414A4@l +/* 802C7D74 002C39D4 88 FD 00 02 */ lbz r7, 2(r29) +/* 802C7D78 002C39D8 89 1D 00 03 */ lbz r8, 3(r29) +/* 802C7D7C 002C39DC 89 3D 00 04 */ lbz r9, 4(r29) +/* 802C7D80 002C39E0 89 5D 00 05 */ lbz r10, 5(r29) +/* 802C7D84 002C39E4 4B FF 52 1D */ bl func_802BCFA0 +lbl_802C7D88: +/* 802C7D88 002C39E8 3B E0 00 00 */ li r31, 0 +lbl_802C7D8C: +/* 802C7D8C 002C39EC 88 1E 00 1A */ lbz r0, 0x1a(r30) +/* 802C7D90 002C39F0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7D94 002C39F4 41 82 00 24 */ beq lbl_802C7DB8 +/* 802C7D98 002C39F8 7F A4 EB 78 */ mr r4, r29 +/* 802C7D9C 002C39FC 38 7E 00 0A */ addi r3, r30, 0xa +/* 802C7DA0 002C3A00 38 A0 00 06 */ li r5, 6 +/* 802C7DA4 002C3A04 4B F0 25 F5 */ bl memcmp +/* 802C7DA8 002C3A08 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7DAC 002C3A0C 40 82 00 0C */ bne lbl_802C7DB8 +/* 802C7DB0 002C3A10 38 7E 00 08 */ addi r3, r30, 8 +/* 802C7DB4 002C3A14 48 00 00 18 */ b lbl_802C7DCC +lbl_802C7DB8: +/* 802C7DB8 002C3A18 3B FF 00 01 */ addi r31, r31, 1 +/* 802C7DBC 002C3A1C 3B DE 00 1C */ addi r30, r30, 0x1c +/* 802C7DC0 002C3A20 28 1F 00 0C */ cmplwi r31, 0xc +/* 802C7DC4 002C3A24 41 80 FF C8 */ blt lbl_802C7D8C +/* 802C7DC8 002C3A28 38 60 00 00 */ li r3, 0 +lbl_802C7DCC: +/* 802C7DCC 002C3A2C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C7DD0 002C3A30 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C7DD4 002C3A34 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C7DD8 002C3A38 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C7DDC 002C3A3C 7C 08 03 A6 */ mtlr r0 +/* 802C7DE0 002C3A40 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C7DE4 002C3A44 4E 80 00 20 */ blr + +.global func_802C7DE8 +func_802C7DE8: +/* 802C7DE8 002C3A48 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C7DEC 002C3A4C 38 00 00 02 */ li r0, 2 +/* 802C7DF0 002C3A50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7DF4 002C3A54 38 80 00 00 */ li r4, 0 +/* 802C7DF8 002C3A58 38 63 16 E4 */ addi r3, r3, 0x16e4 +/* 802C7DFC 002C3A5C 7C 09 03 A6 */ mtctr r0 +lbl_802C7E00: +/* 802C7E00 002C3A60 88 03 00 1A */ lbz r0, 0x1a(r3) +/* 802C7E04 002C3A64 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7E08 002C3A68 41 82 00 0C */ beq lbl_802C7E14 +/* 802C7E0C 002C3A6C 38 63 00 08 */ addi r3, r3, 8 +/* 802C7E10 002C3A70 4E 80 00 20 */ blr +lbl_802C7E14: +/* 802C7E14 002C3A74 88 03 00 36 */ lbz r0, 0x36(r3) +/* 802C7E18 002C3A78 38 84 00 01 */ addi r4, r4, 1 +/* 802C7E1C 002C3A7C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7E20 002C3A80 41 82 00 0C */ beq lbl_802C7E2C +/* 802C7E24 002C3A84 38 63 00 24 */ addi r3, r3, 0x24 +/* 802C7E28 002C3A88 4E 80 00 20 */ blr +lbl_802C7E2C: +/* 802C7E2C 002C3A8C 88 03 00 52 */ lbz r0, 0x52(r3) +/* 802C7E30 002C3A90 38 84 00 01 */ addi r4, r4, 1 +/* 802C7E34 002C3A94 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7E38 002C3A98 41 82 00 0C */ beq lbl_802C7E44 +/* 802C7E3C 002C3A9C 38 63 00 40 */ addi r3, r3, 0x40 +/* 802C7E40 002C3AA0 4E 80 00 20 */ blr +lbl_802C7E44: +/* 802C7E44 002C3AA4 88 03 00 6E */ lbz r0, 0x6e(r3) +/* 802C7E48 002C3AA8 38 84 00 01 */ addi r4, r4, 1 +/* 802C7E4C 002C3AAC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7E50 002C3AB0 41 82 00 0C */ beq lbl_802C7E5C +/* 802C7E54 002C3AB4 38 63 00 5C */ addi r3, r3, 0x5c +/* 802C7E58 002C3AB8 4E 80 00 20 */ blr +lbl_802C7E5C: +/* 802C7E5C 002C3ABC 88 03 00 8A */ lbz r0, 0x8a(r3) +/* 802C7E60 002C3AC0 38 84 00 01 */ addi r4, r4, 1 +/* 802C7E64 002C3AC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7E68 002C3AC8 41 82 00 0C */ beq lbl_802C7E74 +/* 802C7E6C 002C3ACC 38 63 00 78 */ addi r3, r3, 0x78 +/* 802C7E70 002C3AD0 4E 80 00 20 */ blr +lbl_802C7E74: +/* 802C7E74 002C3AD4 88 03 00 A6 */ lbz r0, 0xa6(r3) +/* 802C7E78 002C3AD8 38 84 00 01 */ addi r4, r4, 1 +/* 802C7E7C 002C3ADC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7E80 002C3AE0 41 82 00 0C */ beq lbl_802C7E8C +/* 802C7E84 002C3AE4 38 63 00 94 */ addi r3, r3, 0x94 +/* 802C7E88 002C3AE8 4E 80 00 20 */ blr +lbl_802C7E8C: +/* 802C7E8C 002C3AEC 38 84 00 01 */ addi r4, r4, 1 +/* 802C7E90 002C3AF0 38 63 00 A8 */ addi r3, r3, 0xa8 +/* 802C7E94 002C3AF4 42 00 FF 6C */ bdnz lbl_802C7E00 +/* 802C7E98 002C3AF8 38 60 00 00 */ li r3, 0 +/* 802C7E9C 002C3AFC 4E 80 00 20 */ blr + +.global func_802C7EA0 +func_802C7EA0: +/* 802C7EA0 002C3B00 2C 03 00 00 */ cmpwi r3, 0 +/* 802C7EA4 002C3B04 41 82 00 80 */ beq lbl_802C7F24 +/* 802C7EA8 002C3B08 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C7EAC 002C3B0C 3C 80 92 49 */ lis r4, 0x92492493@ha +/* 802C7EB0 002C3B10 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C7EB4 002C3B14 38 03 FF F8 */ addi r0, r3, -8 +/* 802C7EB8 002C3B18 38 65 16 E4 */ addi r3, r5, 0x16e4 +/* 802C7EBC 002C3B1C 38 84 24 93 */ addi r4, r4, 0x92492493@l +/* 802C7EC0 002C3B20 7C 03 00 50 */ subf r0, r3, r0 +/* 802C7EC4 002C3B24 7C 64 00 96 */ mulhw r3, r4, r0 +/* 802C7EC8 002C3B28 7C 03 02 14 */ add r0, r3, r0 +/* 802C7ECC 002C3B2C 7C 00 26 70 */ srawi r0, r0, 4 +/* 802C7ED0 002C3B30 54 03 0F FE */ srwi r3, r0, 0x1f +/* 802C7ED4 002C3B34 7C 60 1A 14 */ add r3, r0, r3 +/* 802C7ED8 002C3B38 38 03 00 01 */ addi r0, r3, 1 +/* 802C7EDC 002C3B3C 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802C7EE0 002C3B40 1C 64 00 1C */ mulli r3, r4, 0x1c +/* 802C7EE4 002C3B44 20 04 00 0C */ subfic r0, r4, 0xc +/* 802C7EE8 002C3B48 7C 65 1A 14 */ add r3, r5, r3 +/* 802C7EEC 002C3B4C 38 63 16 E4 */ addi r3, r3, 0x16e4 +/* 802C7EF0 002C3B50 7C 09 03 A6 */ mtctr r0 +/* 802C7EF4 002C3B54 28 04 00 0C */ cmplwi r4, 0xc +/* 802C7EF8 002C3B58 40 80 00 24 */ bge lbl_802C7F1C +lbl_802C7EFC: +/* 802C7EFC 002C3B5C 88 03 00 1A */ lbz r0, 0x1a(r3) +/* 802C7F00 002C3B60 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7F04 002C3B64 41 82 00 0C */ beq lbl_802C7F10 +/* 802C7F08 002C3B68 38 63 00 08 */ addi r3, r3, 8 +/* 802C7F0C 002C3B6C 4E 80 00 20 */ blr +lbl_802C7F10: +/* 802C7F10 002C3B70 38 84 00 01 */ addi r4, r4, 1 +/* 802C7F14 002C3B74 38 63 00 1C */ addi r3, r3, 0x1c +/* 802C7F18 002C3B78 42 00 FF E4 */ bdnz lbl_802C7EFC +lbl_802C7F1C: +/* 802C7F1C 002C3B7C 38 60 00 00 */ li r3, 0 +/* 802C7F20 002C3B80 4E 80 00 20 */ blr +lbl_802C7F24: +/* 802C7F24 002C3B84 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C7F28 002C3B88 38 00 00 02 */ li r0, 2 +/* 802C7F2C 002C3B8C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C7F30 002C3B90 38 80 00 00 */ li r4, 0 +/* 802C7F34 002C3B94 38 63 16 E4 */ addi r3, r3, 0x16e4 +/* 802C7F38 002C3B98 7C 09 03 A6 */ mtctr r0 +lbl_802C7F3C: +/* 802C7F3C 002C3B9C 88 03 00 1A */ lbz r0, 0x1a(r3) +/* 802C7F40 002C3BA0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7F44 002C3BA4 41 82 00 0C */ beq lbl_802C7F50 +/* 802C7F48 002C3BA8 38 63 00 08 */ addi r3, r3, 8 +/* 802C7F4C 002C3BAC 4E 80 00 20 */ blr +lbl_802C7F50: +/* 802C7F50 002C3BB0 88 03 00 36 */ lbz r0, 0x36(r3) +/* 802C7F54 002C3BB4 38 84 00 01 */ addi r4, r4, 1 +/* 802C7F58 002C3BB8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7F5C 002C3BBC 41 82 00 0C */ beq lbl_802C7F68 +/* 802C7F60 002C3BC0 38 63 00 24 */ addi r3, r3, 0x24 +/* 802C7F64 002C3BC4 4E 80 00 20 */ blr +lbl_802C7F68: +/* 802C7F68 002C3BC8 88 03 00 52 */ lbz r0, 0x52(r3) +/* 802C7F6C 002C3BCC 38 84 00 01 */ addi r4, r4, 1 +/* 802C7F70 002C3BD0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7F74 002C3BD4 41 82 00 0C */ beq lbl_802C7F80 +/* 802C7F78 002C3BD8 38 63 00 40 */ addi r3, r3, 0x40 +/* 802C7F7C 002C3BDC 4E 80 00 20 */ blr +lbl_802C7F80: +/* 802C7F80 002C3BE0 88 03 00 6E */ lbz r0, 0x6e(r3) +/* 802C7F84 002C3BE4 38 84 00 01 */ addi r4, r4, 1 +/* 802C7F88 002C3BE8 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7F8C 002C3BEC 41 82 00 0C */ beq lbl_802C7F98 +/* 802C7F90 002C3BF0 38 63 00 5C */ addi r3, r3, 0x5c +/* 802C7F94 002C3BF4 4E 80 00 20 */ blr +lbl_802C7F98: +/* 802C7F98 002C3BF8 88 03 00 8A */ lbz r0, 0x8a(r3) +/* 802C7F9C 002C3BFC 38 84 00 01 */ addi r4, r4, 1 +/* 802C7FA0 002C3C00 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7FA4 002C3C04 41 82 00 0C */ beq lbl_802C7FB0 +/* 802C7FA8 002C3C08 38 63 00 78 */ addi r3, r3, 0x78 +/* 802C7FAC 002C3C0C 4E 80 00 20 */ blr +lbl_802C7FB0: +/* 802C7FB0 002C3C10 88 03 00 A6 */ lbz r0, 0xa6(r3) +/* 802C7FB4 002C3C14 38 84 00 01 */ addi r4, r4, 1 +/* 802C7FB8 002C3C18 2C 00 00 00 */ cmpwi r0, 0 +/* 802C7FBC 002C3C1C 41 82 00 0C */ beq lbl_802C7FC8 +/* 802C7FC0 002C3C20 38 63 00 94 */ addi r3, r3, 0x94 +/* 802C7FC4 002C3C24 4E 80 00 20 */ blr +lbl_802C7FC8: +/* 802C7FC8 002C3C28 38 84 00 01 */ addi r4, r4, 1 +/* 802C7FCC 002C3C2C 38 63 00 A8 */ addi r3, r3, 0xa8 +/* 802C7FD0 002C3C30 42 00 FF 6C */ bdnz lbl_802C7F3C +/* 802C7FD4 002C3C34 38 60 00 00 */ li r3, 0 +/* 802C7FD8 002C3C38 4E 80 00 20 */ blr + +.global func_802C7FDC +func_802C7FDC: +/* 802C7FDC 002C3C3C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C7FE0 002C3C40 7C 08 02 A6 */ mflr r0 +/* 802C7FE4 002C3C44 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C7FE8 002C3C48 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C7FEC 002C3C4C 4B EF F1 3D */ bl _savegpr_27 +/* 802C7FF0 002C3C50 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C7FF4 002C3C54 7C 7B 1B 78 */ mr r27, r3 +/* 802C7FF8 002C3C58 3B C4 8B 78 */ addi r30, r4, lbl_80568B78@l +/* 802C7FFC 002C3C5C 88 1E 18 48 */ lbz r0, 0x1848(r30) +/* 802C8000 002C3C60 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8004 002C3C64 40 82 00 1C */ bne lbl_802C8020 +/* 802C8008 002C3C68 88 1E 16 AE */ lbz r0, 0x16ae(r30) +/* 802C800C 002C3C6C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8010 002C3C70 40 82 00 10 */ bne lbl_802C8020 +/* 802C8014 002C3C74 88 1E 18 44 */ lbz r0, 0x1844(r30) +/* 802C8018 002C3C78 2C 00 00 00 */ cmpwi r0, 0 +/* 802C801C 002C3C7C 41 82 00 0C */ beq lbl_802C8028 +lbl_802C8020: +/* 802C8020 002C3C80 38 60 00 02 */ li r3, 2 +/* 802C8024 002C3C84 48 00 00 70 */ b lbl_802C8094 +lbl_802C8028: +/* 802C8028 002C3C88 3B 9E 16 E4 */ addi r28, r30, 0x16e4 +/* 802C802C 002C3C8C 3B A0 00 00 */ li r29, 0 +/* 802C8030 002C3C90 3B E0 00 00 */ li r31, 0 +lbl_802C8034: +/* 802C8034 002C3C94 88 1C 00 1A */ lbz r0, 0x1a(r28) +/* 802C8038 002C3C98 2C 00 00 00 */ cmpwi r0, 0 +/* 802C803C 002C3C9C 41 82 00 44 */ beq lbl_802C8080 +/* 802C8040 002C3CA0 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C8044 002C3CA4 41 82 00 1C */ beq lbl_802C8060 +/* 802C8048 002C3CA8 7F 64 DB 78 */ mr r4, r27 +/* 802C804C 002C3CAC 38 7C 00 0A */ addi r3, r28, 0xa +/* 802C8050 002C3CB0 38 A0 00 06 */ li r5, 6 +/* 802C8054 002C3CB4 4B F0 23 45 */ bl memcmp +/* 802C8058 002C3CB8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C805C 002C3CBC 40 82 00 24 */ bne lbl_802C8080 +lbl_802C8060: +/* 802C8060 002C3CC0 9B FC 00 1A */ stb r31, 0x1a(r28) +/* 802C8064 002C3CC4 81 9E 16 BC */ lwz r12, 0x16bc(r30) +/* 802C8068 002C3CC8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C806C 002C3CCC 41 82 00 14 */ beq lbl_802C8080 +/* 802C8070 002C3CD0 38 7C 00 08 */ addi r3, r28, 8 +/* 802C8074 002C3CD4 38 80 00 00 */ li r4, 0 +/* 802C8078 002C3CD8 7D 89 03 A6 */ mtctr r12 +/* 802C807C 002C3CDC 4E 80 04 21 */ bctrl +lbl_802C8080: +/* 802C8080 002C3CE0 3B BD 00 01 */ addi r29, r29, 1 +/* 802C8084 002C3CE4 3B 9C 00 1C */ addi r28, r28, 0x1c +/* 802C8088 002C3CE8 28 1D 00 0C */ cmplwi r29, 0xc +/* 802C808C 002C3CEC 41 80 FF A8 */ blt lbl_802C8034 +/* 802C8090 002C3CF0 38 60 00 00 */ li r3, 0 +lbl_802C8094: +/* 802C8094 002C3CF4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C8098 002C3CF8 4B EF F0 DD */ bl _restgpr_27 +/* 802C809C 002C3CFC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C80A0 002C3D00 7C 08 03 A6 */ mtlr r0 +/* 802C80A4 002C3D04 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C80A8 002C3D08 4E 80 00 20 */ blr + +.global func_802C80AC +func_802C80AC: +/* 802C80AC 002C3D0C 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802C80B0 002C3D10 7C 08 02 A6 */ mflr r0 +/* 802C80B4 002C3D14 90 01 01 24 */ stw r0, 0x124(r1) +/* 802C80B8 002C3D18 39 61 01 20 */ addi r11, r1, 0x120 +/* 802C80BC 002C3D1C 4B EF F0 6D */ bl _savegpr_27 +/* 802C80C0 002C3D20 3F A0 80 57 */ lis r29, lbl_80568B78@ha +/* 802C80C4 002C3D24 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l +/* 802C80C8 002C3D28 38 7D 16 C4 */ addi r3, r29, 0x16c4 +/* 802C80CC 002C3D2C 4B FF 54 81 */ bl func_802BD54C +/* 802C80D0 002C3D30 88 7D 18 48 */ lbz r3, 0x1848(r29) +/* 802C80D4 002C3D34 2C 03 00 00 */ cmpwi r3, 0 +/* 802C80D8 002C3D38 41 82 00 38 */ beq lbl_802C8110 +/* 802C80DC 002C3D3C 38 03 00 FF */ addi r0, r3, 0xff +/* 802C80E0 002C3D40 38 60 00 00 */ li r3, 0 +/* 802C80E4 002C3D44 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802C80E8 002C3D48 98 7D 18 48 */ stb r3, 0x1848(r29) +/* 802C80EC 002C3D4C 28 00 00 01 */ cmplwi r0, 1 +/* 802C80F0 002C3D50 41 81 00 20 */ bgt lbl_802C8110 +/* 802C80F4 002C3D54 81 9D 16 B0 */ lwz r12, 0x16b0(r29) +/* 802C80F8 002C3D58 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C80FC 002C3D5C 41 82 00 14 */ beq lbl_802C8110 +/* 802C8100 002C3D60 98 61 00 09 */ stb r3, 9(r1) +/* 802C8104 002C3D64 38 61 00 09 */ addi r3, r1, 9 +/* 802C8108 002C3D68 7D 89 03 A6 */ mtctr r12 +/* 802C810C 002C3D6C 4E 80 04 21 */ bctrl +lbl_802C8110: +/* 802C8110 002C3D70 88 1D 16 AE */ lbz r0, 0x16ae(r29) +/* 802C8114 002C3D74 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C8118 002C3D78 41 82 00 48 */ beq lbl_802C8160 +/* 802C811C 002C3D7C 38 7D 16 80 */ addi r3, r29, 0x1680 +/* 802C8120 002C3D80 4B FF 54 2D */ bl func_802BD54C +/* 802C8124 002C3D84 3B C0 00 00 */ li r30, 0 +/* 802C8128 002C3D88 38 7D 16 A8 */ addi r3, r29, 0x16a8 +/* 802C812C 002C3D8C 9B DD 16 AE */ stb r30, 0x16ae(r29) +/* 802C8130 002C3D90 38 80 00 00 */ li r4, 0 +/* 802C8134 002C3D94 38 A0 00 06 */ li r5, 6 +/* 802C8138 002C3D98 4B D3 BF CD */ bl memset +/* 802C813C 002C3D9C 81 9D 16 7C */ lwz r12, 0x167c(r29) +/* 802C8140 002C3DA0 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C8144 002C3DA4 41 82 00 1C */ beq lbl_802C8160 +/* 802C8148 002C3DA8 38 00 00 0C */ li r0, 0xc +/* 802C814C 002C3DAC 38 61 00 0C */ addi r3, r1, 0xc +/* 802C8150 002C3DB0 B0 01 00 0C */ sth r0, 0xc(r1) +/* 802C8154 002C3DB4 7D 89 03 A6 */ mtctr r12 +/* 802C8158 002C3DB8 4E 80 04 21 */ bctrl +/* 802C815C 002C3DBC 93 DD 16 7C */ stw r30, 0x167c(r29) +lbl_802C8160: +/* 802C8160 002C3DC0 88 1D 18 44 */ lbz r0, 0x1844(r29) +/* 802C8164 002C3DC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8168 002C3DC8 41 82 00 2C */ beq lbl_802C8194 +/* 802C816C 002C3DCC 81 9D 16 B8 */ lwz r12, 0x16b8(r29) +/* 802C8170 002C3DD0 38 00 00 00 */ li r0, 0 +/* 802C8174 002C3DD4 98 1D 18 44 */ stb r0, 0x1844(r29) +/* 802C8178 002C3DD8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C817C 002C3DDC 41 82 00 18 */ beq lbl_802C8194 +/* 802C8180 002C3DE0 38 00 00 0C */ li r0, 0xc +/* 802C8184 002C3DE4 38 61 00 08 */ addi r3, r1, 8 +/* 802C8188 002C3DE8 98 01 00 08 */ stb r0, 8(r1) +/* 802C818C 002C3DEC 7D 89 03 A6 */ mtctr r12 +/* 802C8190 002C3DF0 4E 80 04 21 */ bctrl +lbl_802C8194: +/* 802C8194 002C3DF4 3B C0 00 00 */ li r30, 0 +/* 802C8198 002C3DF8 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C819C 002C3DFC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C81A0 002C3E00 9B DD 18 47 */ stb r30, 0x1847(r29) +/* 802C81A4 002C3E04 3B 80 00 00 */ li r28, 0 +/* 802C81A8 002C3E08 9B DD 18 45 */ stb r30, 0x1845(r29) +/* 802C81AC 002C3E0C 3B 7F 16 E4 */ addi r27, r31, 0x16e4 +/* 802C81B0 002C3E10 93 DD 16 B4 */ stw r30, 0x16b4(r29) +lbl_802C81B4: +/* 802C81B4 002C3E14 88 1B 00 1A */ lbz r0, 0x1a(r27) +/* 802C81B8 002C3E18 2C 00 00 00 */ cmpwi r0, 0 +/* 802C81BC 002C3E1C 41 82 00 24 */ beq lbl_802C81E0 +/* 802C81C0 002C3E20 9B DB 00 1A */ stb r30, 0x1a(r27) +/* 802C81C4 002C3E24 81 9F 16 BC */ lwz r12, 0x16bc(r31) +/* 802C81C8 002C3E28 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C81CC 002C3E2C 41 82 00 14 */ beq lbl_802C81E0 +/* 802C81D0 002C3E30 38 7B 00 08 */ addi r3, r27, 8 +/* 802C81D4 002C3E34 38 80 00 00 */ li r4, 0 +/* 802C81D8 002C3E38 7D 89 03 A6 */ mtctr r12 +/* 802C81DC 002C3E3C 4E 80 04 21 */ bctrl +lbl_802C81E0: +/* 802C81E0 002C3E40 3B 9C 00 01 */ addi r28, r28, 1 +/* 802C81E4 002C3E44 3B 7B 00 1C */ addi r27, r27, 0x1c +/* 802C81E8 002C3E48 28 1C 00 0C */ cmplwi r28, 0xc +/* 802C81EC 002C3E4C 41 80 FF C8 */ blt lbl_802C81B4 +/* 802C81F0 002C3E50 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C81F4 002C3E54 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C81F8 002C3E58 80 7F 16 DC */ lwz r3, 0x16dc(r31) +/* 802C81FC 002C3E5C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8200 002C3E60 41 82 00 10 */ beq lbl_802C8210 +/* 802C8204 002C3E64 4B FF 1B 31 */ bl func_802B9D34 +/* 802C8208 002C3E68 38 00 00 00 */ li r0, 0 +/* 802C820C 002C3E6C 90 1F 16 DC */ stw r0, 0x16dc(r31) +lbl_802C8210: +/* 802C8210 002C3E70 38 00 00 00 */ li r0, 0 +/* 802C8214 002C3E74 39 61 01 20 */ addi r11, r1, 0x120 +/* 802C8218 002C3E78 B0 1F 16 E0 */ sth r0, 0x16e0(r31) +/* 802C821C 002C3E7C B0 1F 16 E2 */ sth r0, 0x16e2(r31) +/* 802C8220 002C3E80 B0 1D 16 98 */ sth r0, 0x1698(r29) +/* 802C8224 002C3E84 B0 1D 16 9A */ sth r0, 0x169a(r29) +/* 802C8228 002C3E88 B0 1D 16 A6 */ sth r0, 0x16a6(r29) +/* 802C822C 002C3E8C B0 1D 16 A4 */ sth r0, 0x16a4(r29) +/* 802C8230 002C3E90 4B EF EF 45 */ bl _restgpr_27 +/* 802C8234 002C3E94 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802C8238 002C3E98 7C 08 03 A6 */ mtlr r0 +/* 802C823C 002C3E9C 38 21 01 20 */ addi r1, r1, 0x120 +/* 802C8240 002C3EA0 4E 80 00 20 */ blr + +.global func_802C8244 +func_802C8244: +/* 802C8244 002C3EA4 4E 80 00 20 */ blr + +.global func_802C8248 +func_802C8248: +/* 802C8248 002C3EA8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C824C 002C3EAC 7C 08 02 A6 */ mflr r0 +/* 802C8250 002C3EB0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C8254 002C3EB4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C8258 002C3EB8 4B EF EE D1 */ bl _savegpr_27 +/* 802C825C 002C3EBC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C8260 002C3EC0 7C 7B 1B 78 */ mr r27, r3 +/* 802C8264 002C3EC4 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C8268 002C3EC8 88 1F 18 48 */ lbz r0, 0x1848(r31) +/* 802C826C 002C3ECC 83 BF 16 DC */ lwz r29, 0x16dc(r31) +/* 802C8270 002C3ED0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802C8274 002C3ED4 40 82 00 0C */ bne lbl_802C8280 +/* 802C8278 002C3ED8 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C827C 002C3EDC 40 82 00 0C */ bne lbl_802C8288 +lbl_802C8280: +/* 802C8280 002C3EE0 38 60 00 00 */ li r3, 0 +/* 802C8284 002C3EE4 48 00 00 88 */ b lbl_802C830C +lbl_802C8288: +/* 802C8288 002C3EE8 A3 DF 16 E0 */ lhz r30, 0x16e0(r31) +/* 802C828C 002C3EEC 3B 80 00 00 */ li r28, 0 +/* 802C8290 002C3EF0 48 00 00 3C */ b lbl_802C82CC +lbl_802C8294: +/* 802C8294 002C3EF4 7F 64 DB 78 */ mr r4, r27 +/* 802C8298 002C3EF8 38 7D 00 04 */ addi r3, r29, 4 +/* 802C829C 002C3EFC 38 A0 00 06 */ li r5, 6 +/* 802C82A0 002C3F00 4B F0 20 F9 */ bl memcmp +/* 802C82A4 002C3F04 2C 03 00 00 */ cmpwi r3, 0 +/* 802C82A8 002C3F08 40 82 00 1C */ bne lbl_802C82C4 +/* 802C82AC 002C3F0C 80 7D 00 00 */ lwz r3, 0(r29) +/* 802C82B0 002C3F10 80 1F 16 C0 */ lwz r0, 0x16c0(r31) +/* 802C82B4 002C3F14 7C 03 00 40 */ cmplw r3, r0 +/* 802C82B8 002C3F18 40 82 00 0C */ bne lbl_802C82C4 +/* 802C82BC 002C3F1C 38 60 00 01 */ li r3, 1 +/* 802C82C0 002C3F20 48 00 00 4C */ b lbl_802C830C +lbl_802C82C4: +/* 802C82C4 002C3F24 3B 9C 00 01 */ addi r28, r28, 1 +/* 802C82C8 002C3F28 3B BD 00 0C */ addi r29, r29, 0xc +lbl_802C82CC: +/* 802C82CC 002C3F2C 57 83 04 3E */ clrlwi r3, r28, 0x10 +/* 802C82D0 002C3F30 7C 03 F0 40 */ cmplw r3, r30 +/* 802C82D4 002C3F34 41 80 FF C0 */ blt lbl_802C8294 +/* 802C82D8 002C3F38 A0 1F 16 E2 */ lhz r0, 0x16e2(r31) +/* 802C82DC 002C3F3C 7C 03 00 40 */ cmplw r3, r0 +/* 802C82E0 002C3F40 40 80 00 28 */ bge lbl_802C8308 +/* 802C82E4 002C3F44 80 1F 16 C0 */ lwz r0, 0x16c0(r31) +/* 802C82E8 002C3F48 7F 64 DB 78 */ mr r4, r27 +/* 802C82EC 002C3F4C 38 7D 00 04 */ addi r3, r29, 4 +/* 802C82F0 002C3F50 38 A0 00 06 */ li r5, 6 +/* 802C82F4 002C3F54 90 1D 00 00 */ stw r0, 0(r29) +/* 802C82F8 002C3F58 4B D3 BD 09 */ bl memcpy +/* 802C82FC 002C3F5C A0 7F 16 E0 */ lhz r3, 0x16e0(r31) +/* 802C8300 002C3F60 38 03 00 01 */ addi r0, r3, 1 +/* 802C8304 002C3F64 B0 1F 16 E0 */ sth r0, 0x16e0(r31) +lbl_802C8308: +/* 802C8308 002C3F68 38 60 00 00 */ li r3, 0 +lbl_802C830C: +/* 802C830C 002C3F6C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C8310 002C3F70 4B EF EE 65 */ bl _restgpr_27 +/* 802C8314 002C3F74 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C8318 002C3F78 7C 08 03 A6 */ mtlr r0 +/* 802C831C 002C3F7C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C8320 002C3F80 4E 80 00 20 */ blr + +.global func_802C8324 +func_802C8324: +/* 802C8324 002C3F84 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C8328 002C3F88 7C 08 02 A6 */ mflr r0 +/* 802C832C 002C3F8C 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C8330 002C3F90 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C8334 002C3F94 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C8338 002C3F98 38 00 00 0C */ li r0, 0xc +/* 802C833C 002C3F9C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C8340 002C3FA0 3B E4 16 E4 */ addi r31, r4, 0x16e4 +/* 802C8344 002C3FA4 38 80 FF FF */ li r4, -1 +/* 802C8348 002C3FA8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C834C 002C3FAC 7F FE FB 78 */ mr r30, r31 +/* 802C8350 002C3FB0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C8354 002C3FB4 7C 7D 1B 78 */ mr r29, r3 +/* 802C8358 002C3FB8 38 60 00 00 */ li r3, 0 +/* 802C835C 002C3FBC 7C 09 03 A6 */ mtctr r0 +lbl_802C8360: +/* 802C8360 002C3FC0 88 1F 00 1A */ lbz r0, 0x1a(r31) +/* 802C8364 002C3FC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8368 002C3FC8 40 82 00 34 */ bne lbl_802C839C +/* 802C836C 002C3FCC 7F E3 FB 78 */ mr r3, r31 +/* 802C8370 002C3FD0 38 80 00 00 */ li r4, 0 +/* 802C8374 002C3FD4 38 A0 00 1C */ li r5, 0x1c +/* 802C8378 002C3FD8 4B D3 BD 8D */ bl memset +/* 802C837C 002C3FDC 7F A4 EB 78 */ mr r4, r29 +/* 802C8380 002C3FE0 38 7F 00 0A */ addi r3, r31, 0xa +/* 802C8384 002C3FE4 38 A0 00 06 */ li r5, 6 +/* 802C8388 002C3FE8 4B D3 BC 79 */ bl memcpy +/* 802C838C 002C3FEC 38 00 00 01 */ li r0, 1 +/* 802C8390 002C3FF0 7F E3 FB 78 */ mr r3, r31 +/* 802C8394 002C3FF4 98 1F 00 1A */ stb r0, 0x1a(r31) +/* 802C8398 002C3FF8 48 00 00 74 */ b lbl_802C840C +lbl_802C839C: +/* 802C839C 002C3FFC 80 1F 00 00 */ lwz r0, 0(r31) +/* 802C83A0 002C4000 7C 00 20 40 */ cmplw r0, r4 +/* 802C83A4 002C4004 40 80 00 0C */ bge lbl_802C83B0 +/* 802C83A8 002C4008 7F FE FB 78 */ mr r30, r31 +/* 802C83AC 002C400C 7C 04 03 78 */ mr r4, r0 +lbl_802C83B0: +/* 802C83B0 002C4010 38 63 00 01 */ addi r3, r3, 1 +/* 802C83B4 002C4014 3B FF 00 1C */ addi r31, r31, 0x1c +/* 802C83B8 002C4018 42 00 FF A8 */ bdnz lbl_802C8360 +/* 802C83BC 002C401C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C83C0 002C4020 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C83C4 002C4024 81 83 16 BC */ lwz r12, 0x16bc(r3) +/* 802C83C8 002C4028 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C83CC 002C402C 41 82 00 14 */ beq lbl_802C83E0 +/* 802C83D0 002C4030 38 7E 00 08 */ addi r3, r30, 8 +/* 802C83D4 002C4034 38 80 00 00 */ li r4, 0 +/* 802C83D8 002C4038 7D 89 03 A6 */ mtctr r12 +/* 802C83DC 002C403C 4E 80 04 21 */ bctrl +lbl_802C83E0: +/* 802C83E0 002C4040 7F C3 F3 78 */ mr r3, r30 +/* 802C83E4 002C4044 38 80 00 00 */ li r4, 0 +/* 802C83E8 002C4048 38 A0 00 1C */ li r5, 0x1c +/* 802C83EC 002C404C 4B D3 BD 19 */ bl memset +/* 802C83F0 002C4050 7F A4 EB 78 */ mr r4, r29 +/* 802C83F4 002C4054 38 7E 00 0A */ addi r3, r30, 0xa +/* 802C83F8 002C4058 38 A0 00 06 */ li r5, 6 +/* 802C83FC 002C405C 4B D3 BC 05 */ bl memcpy +/* 802C8400 002C4060 38 00 00 01 */ li r0, 1 +/* 802C8404 002C4064 7F C3 F3 78 */ mr r3, r30 +/* 802C8408 002C4068 98 1E 00 1A */ stb r0, 0x1a(r30) +lbl_802C840C: +/* 802C840C 002C406C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C8410 002C4070 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C8414 002C4074 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C8418 002C4078 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C841C 002C407C 7C 08 03 A6 */ mtlr r0 +/* 802C8420 002C4080 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C8424 002C4084 4E 80 00 20 */ blr + +.global func_802C8428 +func_802C8428: +/* 802C8428 002C4088 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C842C 002C408C 7C 08 02 A6 */ mflr r0 +/* 802C8430 002C4090 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C8434 002C4094 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C8438 002C4098 4B EF EC F1 */ bl _savegpr_27 +/* 802C843C 002C409C 7C 7B 1B 78 */ mr r27, r3 +/* 802C8440 002C40A0 7C 9C 23 78 */ mr r28, r4 +/* 802C8444 002C40A4 3B A1 00 08 */ addi r29, r1, 8 +/* 802C8448 002C40A8 3B C0 00 06 */ li r30, 6 +/* 802C844C 002C40AC 38 60 00 02 */ li r3, 2 +/* 802C8450 002C40B0 4B FF 17 FD */ bl func_802B9C4C +/* 802C8454 002C40B4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8458 002C40B8 7C 7F 1B 78 */ mr r31, r3 +/* 802C845C 002C40BC 41 82 00 94 */ beq lbl_802C84F0 +/* 802C8460 002C40C0 2C 1B 00 01 */ cmpwi r27, 1 +/* 802C8464 002C40C4 41 82 00 20 */ beq lbl_802C8484 +/* 802C8468 002C40C8 40 80 00 10 */ bge lbl_802C8478 +/* 802C846C 002C40CC 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C8470 002C40D0 40 80 00 40 */ bge lbl_802C84B0 +/* 802C8474 002C40D4 48 00 00 44 */ b lbl_802C84B8 +lbl_802C8478: +/* 802C8478 002C40D8 2C 1B 00 03 */ cmpwi r27, 3 +/* 802C847C 002C40DC 40 80 00 3C */ bge lbl_802C84B8 +/* 802C8480 002C40E0 48 00 00 28 */ b lbl_802C84A8 +lbl_802C8484: +/* 802C8484 002C40E4 7F A3 EB 78 */ mr r3, r29 +/* 802C8488 002C40E8 7F 84 E3 78 */ mr r4, r28 +/* 802C848C 002C40EC 38 A0 00 03 */ li r5, 3 +/* 802C8490 002C40F0 4B D3 BB 71 */ bl memcpy +/* 802C8494 002C40F4 38 61 00 0B */ addi r3, r1, 0xb +/* 802C8498 002C40F8 38 9C 00 03 */ addi r4, r28, 3 +/* 802C849C 002C40FC 38 A0 00 03 */ li r5, 3 +/* 802C84A0 002C4100 4B D3 BB 61 */ bl memcpy +/* 802C84A4 002C4104 48 00 00 1C */ b lbl_802C84C0 +lbl_802C84A8: +/* 802C84A8 002C4108 7F 9D E3 78 */ mr r29, r28 +/* 802C84AC 002C410C 48 00 00 14 */ b lbl_802C84C0 +lbl_802C84B0: +/* 802C84B0 002C4110 3B C0 00 00 */ li r30, 0 +/* 802C84B4 002C4114 48 00 00 0C */ b lbl_802C84C0 +lbl_802C84B8: +/* 802C84B8 002C4118 38 60 00 05 */ li r3, 5 +/* 802C84BC 002C411C 48 00 00 38 */ b lbl_802C84F4 +lbl_802C84C0: +/* 802C84C0 002C4120 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C84C4 002C4124 38 00 00 01 */ li r0, 1 +/* 802C84C8 002C4128 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C84CC 002C412C 7F E3 FB 78 */ mr r3, r31 +/* 802C84D0 002C4130 98 04 18 44 */ stb r0, 0x1844(r4) +/* 802C84D4 002C4134 7F 65 DB 78 */ mr r5, r27 +/* 802C84D8 002C4138 7F A6 EB 78 */ mr r6, r29 +/* 802C84DC 002C413C 7F C7 F3 78 */ mr r7, r30 +/* 802C84E0 002C4140 38 80 00 01 */ li r4, 1 +/* 802C84E4 002C4144 48 00 8D E5 */ bl func_802D12C8 +/* 802C84E8 002C4148 38 60 00 01 */ li r3, 1 +/* 802C84EC 002C414C 48 00 00 08 */ b lbl_802C84F4 +lbl_802C84F0: +/* 802C84F0 002C4150 38 60 00 03 */ li r3, 3 +lbl_802C84F4: +/* 802C84F4 002C4154 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C84F8 002C4158 4B EF EC 7D */ bl _restgpr_27 +/* 802C84FC 002C415C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C8500 002C4160 7C 08 03 A6 */ mtlr r0 +/* 802C8504 002C4164 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C8508 002C4168 4E 80 00 20 */ blr +lbl_802C850C: +/* 802C850C 002C416C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C8510 002C4170 7C 08 02 A6 */ mflr r0 +/* 802C8514 002C4174 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C8518 002C4178 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C851C 002C417C 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C8520 002C4180 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C8524 002C4184 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C8528 002C4188 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C852C 002C418C 88 9F 18 45 */ lbz r4, 0x1845(r31) +/* 802C8530 002C4190 83 BF 16 B8 */ lwz r29, 0x16b8(r31) +/* 802C8534 002C4194 2C 04 00 00 */ cmpwi r4, 0 +/* 802C8538 002C4198 41 82 00 10 */ beq lbl_802C8548 +/* 802C853C 002C419C 38 04 FF FF */ addi r0, r4, -1 +/* 802C8540 002C41A0 98 1F 18 45 */ stb r0, 0x1845(r31) +/* 802C8544 002C41A4 48 00 01 CC */ b lbl_802C8710 +lbl_802C8548: +/* 802C8548 002C41A8 88 1F 18 44 */ lbz r0, 0x1844(r31) +/* 802C854C 002C41AC 28 00 00 01 */ cmplwi r0, 1 +/* 802C8550 002C41B0 40 82 01 C0 */ bne lbl_802C8710 +/* 802C8554 002C41B4 88 A3 00 00 */ lbz r5, 0(r3) +/* 802C8558 002C41B8 2C 05 00 00 */ cmpwi r5, 0 +/* 802C855C 002C41BC 41 82 00 30 */ beq lbl_802C858C +/* 802C8560 002C41C0 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802C8564 002C41C4 28 00 00 02 */ cmplwi r0, 2 +/* 802C8568 002C41C8 41 80 00 18 */ blt lbl_802C8580 +/* 802C856C 002C41CC 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802C8570 002C41D0 3C 80 80 44 */ lis r4, lbl_804414D8@ha +/* 802C8574 002C41D4 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802C8578 002C41D8 38 84 14 D8 */ addi r4, r4, lbl_804414D8@l +/* 802C857C 002C41DC 4B FF 49 AD */ bl func_802BCF28 +lbl_802C8580: +/* 802C8580 002C41E0 38 00 00 0A */ li r0, 0xa +/* 802C8584 002C41E4 98 01 00 08 */ stb r0, 8(r1) +/* 802C8588 002C41E8 48 00 00 0C */ b lbl_802C8594 +lbl_802C858C: +/* 802C858C 002C41EC 38 00 00 00 */ li r0, 0 +/* 802C8590 002C41F0 98 01 00 08 */ stb r0, 8(r1) +lbl_802C8594: +/* 802C8594 002C41F4 88 7F 18 47 */ lbz r3, 0x1847(r31) +/* 802C8598 002C41F8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C859C 002C41FC 40 82 00 28 */ bne lbl_802C85C4 +/* 802C85A0 002C4200 38 00 00 00 */ li r0, 0 +/* 802C85A4 002C4204 2C 1D 00 00 */ cmpwi r29, 0 +/* 802C85A8 002C4208 98 1F 18 44 */ stb r0, 0x1844(r31) +/* 802C85AC 002C420C 41 82 01 64 */ beq lbl_802C8710 +/* 802C85B0 002C4210 7F AC EB 78 */ mr r12, r29 +/* 802C85B4 002C4214 38 61 00 08 */ addi r3, r1, 8 +/* 802C85B8 002C4218 7D 89 03 A6 */ mtctr r12 +/* 802C85BC 002C421C 4E 80 04 21 */ bctrl +/* 802C85C0 002C4220 48 00 01 50 */ b lbl_802C8710 +lbl_802C85C4: +/* 802C85C4 002C4224 2C 00 00 00 */ cmpwi r0, 0 +/* 802C85C8 002C4228 41 82 00 20 */ beq lbl_802C85E8 +/* 802C85CC 002C422C 38 60 00 0A */ li r3, 0xa +/* 802C85D0 002C4230 48 00 03 D5 */ bl func_802C89A4 +/* 802C85D4 002C4234 38 00 00 00 */ li r0, 0 +/* 802C85D8 002C4238 98 1F 18 44 */ stb r0, 0x1844(r31) +/* 802C85DC 002C423C 98 1F 18 48 */ stb r0, 0x1848(r31) +/* 802C85E0 002C4240 98 1F 18 47 */ stb r0, 0x1847(r31) +/* 802C85E4 002C4244 48 00 01 2C */ b lbl_802C8710 +lbl_802C85E8: +/* 802C85E8 002C4248 28 03 00 01 */ cmplwi r3, 1 +/* 802C85EC 002C424C 40 82 00 40 */ bne lbl_802C862C +/* 802C85F0 002C4250 88 7F 18 37 */ lbz r3, 0x1837(r31) +/* 802C85F4 002C4254 38 9F 18 38 */ addi r4, r31, 0x1838 +/* 802C85F8 002C4258 4B FF FE 31 */ bl func_802C8428 +/* 802C85FC 002C425C 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802C8600 002C4260 98 61 00 08 */ stb r3, 8(r1) +/* 802C8604 002C4264 28 00 00 01 */ cmplwi r0, 1 +/* 802C8608 002C4268 40 82 00 10 */ bne lbl_802C8618 +/* 802C860C 002C426C 38 00 00 02 */ li r0, 2 +/* 802C8610 002C4270 98 1F 18 47 */ stb r0, 0x1847(r31) +/* 802C8614 002C4274 48 00 00 FC */ b lbl_802C8710 +lbl_802C8618: +/* 802C8618 002C4278 38 00 00 00 */ li r0, 0 +/* 802C861C 002C427C 38 60 00 0A */ li r3, 0xa +/* 802C8620 002C4280 98 1F 18 44 */ stb r0, 0x1844(r31) +/* 802C8624 002C4284 48 00 03 81 */ bl func_802C89A4 +/* 802C8628 002C4288 48 00 00 E8 */ b lbl_802C8710 +lbl_802C862C: +/* 802C862C 002C428C 88 9F 18 36 */ lbz r4, 0x1836(r31) +/* 802C8630 002C4290 38 00 00 03 */ li r0, 3 +/* 802C8634 002C4294 38 60 00 00 */ li r3, 0 +/* 802C8638 002C4298 98 1F 18 47 */ stb r0, 0x1847(r31) +/* 802C863C 002C429C 28 04 00 0C */ cmplwi r4, 0xc +/* 802C8640 002C42A0 38 00 00 0C */ li r0, 0xc +/* 802C8644 002C42A4 98 7F 18 44 */ stb r3, 0x1844(r31) +/* 802C8648 002C42A8 41 81 00 08 */ bgt lbl_802C8650 +/* 802C864C 002C42AC 7C 80 23 78 */ mr r0, r4 +lbl_802C8650: +/* 802C8650 002C42B0 88 7F 18 48 */ lbz r3, 0x1848(r31) +/* 802C8654 002C42B4 3B A2 A4 70 */ addi r29, r2, lbl_80642A70-_SDA2_BASE_ +/* 802C8658 002C42B8 98 1F 18 36 */ stb r0, 0x1836(r31) +/* 802C865C 002C42BC 54 60 07 FF */ clrlwi. r0, r3, 0x1f +/* 802C8660 002C42C0 41 82 00 08 */ beq lbl_802C8668 +/* 802C8664 002C42C4 3B A2 A4 74 */ addi r29, r2, lbl_80642A74-_SDA2_BASE_ +lbl_802C8668: +/* 802C8668 002C42C8 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d +/* 802C866C 002C42CC 41 82 00 30 */ beq lbl_802C869C +/* 802C8670 002C42D0 A0 7F 18 42 */ lhz r3, 0x1842(r31) +/* 802C8674 002C42D4 7F A5 EB 78 */ mr r5, r29 +/* 802C8678 002C42D8 A0 9F 18 40 */ lhz r4, 0x1840(r31) +/* 802C867C 002C42DC 88 DF 18 35 */ lbz r6, 0x1835(r31) +/* 802C8680 002C42E0 88 FF 18 36 */ lbz r7, 0x1836(r31) +/* 802C8684 002C42E4 48 00 78 6D */ bl func_802CFEF0 +/* 802C8688 002C42E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C868C 002C42EC 40 82 00 84 */ bne lbl_802C8710 +/* 802C8690 002C42F0 38 60 00 03 */ li r3, 3 +/* 802C8694 002C42F4 48 00 03 11 */ bl func_802C89A4 +/* 802C8698 002C42F8 48 00 00 78 */ b lbl_802C8710 +lbl_802C869C: +/* 802C869C 002C42FC 3F C0 80 57 */ lis r30, lbl_80568B78@ha +/* 802C86A0 002C4300 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l +/* 802C86A4 002C4304 80 7E 16 DC */ lwz r3, 0x16dc(r30) +/* 802C86A8 002C4308 2C 03 00 00 */ cmpwi r3, 0 +/* 802C86AC 002C430C 41 82 00 10 */ beq lbl_802C86BC +/* 802C86B0 002C4310 4B FF 16 85 */ bl func_802B9D34 +/* 802C86B4 002C4314 38 00 00 00 */ li r0, 0 +/* 802C86B8 002C4318 90 1E 16 DC */ stw r0, 0x16dc(r30) +lbl_802C86BC: +/* 802C86BC 002C431C 38 00 00 00 */ li r0, 0 +/* 802C86C0 002C4320 38 60 07 08 */ li r3, 0x708 +/* 802C86C4 002C4324 B0 1E 16 E0 */ sth r0, 0x16e0(r30) +/* 802C86C8 002C4328 B0 1E 16 E2 */ sth r0, 0x16e2(r30) +/* 802C86CC 002C432C 4B FF 13 E1 */ bl func_802B9AAC +/* 802C86D0 002C4330 2C 03 00 00 */ cmpwi r3, 0 +/* 802C86D4 002C4334 90 7F 16 DC */ stw r3, 0x16dc(r31) +/* 802C86D8 002C4338 41 82 00 18 */ beq lbl_802C86F0 +/* 802C86DC 002C433C 38 00 00 96 */ li r0, 0x96 +/* 802C86E0 002C4340 38 80 00 00 */ li r4, 0 +/* 802C86E4 002C4344 B0 1F 16 E2 */ sth r0, 0x16e2(r31) +/* 802C86E8 002C4348 38 A0 07 08 */ li r5, 0x708 +/* 802C86EC 002C434C 4B D3 BA 19 */ bl memset +lbl_802C86F0: +/* 802C86F0 002C4350 88 9F 18 35 */ lbz r4, 0x1835(r31) +/* 802C86F4 002C4354 7F A3 EB 78 */ mr r3, r29 +/* 802C86F8 002C4358 38 A0 00 00 */ li r5, 0 +/* 802C86FC 002C435C 48 00 76 ED */ bl func_802CFDE8 +/* 802C8700 002C4360 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C8704 002C4364 40 82 00 0C */ bne lbl_802C8710 +/* 802C8708 002C4368 38 60 00 03 */ li r3, 3 +/* 802C870C 002C436C 48 00 02 99 */ bl func_802C89A4 +lbl_802C8710: +/* 802C8710 002C4370 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C8714 002C4374 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C8718 002C4378 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C871C 002C437C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C8720 002C4380 7C 08 03 A6 */ mtlr r0 +/* 802C8724 002C4384 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C8728 002C4388 4E 80 00 20 */ blr + +.global func_802C872C +func_802C872C: +/* 802C872C 002C438C 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 802C8730 002C4390 7C 08 02 A6 */ mflr r0 +/* 802C8734 002C4394 90 01 00 64 */ stw r0, 0x64(r1) +/* 802C8738 002C4398 39 61 00 60 */ addi r11, r1, 0x60 +/* 802C873C 002C439C 4B EF E9 C1 */ bl _savegpr_16 +/* 802C8740 002C43A0 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C8744 002C43A4 7C 92 23 78 */ mr r18, r4 +/* 802C8748 002C43A8 3B 65 8B 78 */ addi r27, r5, lbl_80568B78@l +/* 802C874C 002C43AC 3A E0 00 01 */ li r23, 1 +/* 802C8750 002C43B0 88 1B 18 48 */ lbz r0, 0x1848(r27) +/* 802C8754 002C43B4 3A A0 00 00 */ li r21, 0 +/* 802C8758 002C43B8 82 DB 16 B4 */ lwz r22, 0x16b4(r27) +/* 802C875C 002C43BC 3A 80 00 00 */ li r20, 0 +/* 802C8760 002C43C0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8764 002C43C4 41 82 02 28 */ beq lbl_802C898C +/* 802C8768 002C43C8 8B 83 00 00 */ lbz r28, 0(r3) +/* 802C876C 002C43CC 3A 23 00 01 */ addi r17, r3, 1 +/* 802C8770 002C43D0 3B 40 00 00 */ li r26, 0 +/* 802C8774 002C43D4 3B E0 00 7F */ li r31, 0x7f +/* 802C8778 002C43D8 3A 00 00 00 */ li r16, 0 +/* 802C877C 002C43DC 48 00 02 04 */ b lbl_802C8980 +lbl_802C8780: +/* 802C8780 002C43E0 88 11 00 00 */ lbz r0, 0(r17) +/* 802C8784 002C43E4 2C 12 00 00 */ cmpwi r18, 0 +/* 802C8788 002C43E8 98 01 00 11 */ stb r0, 0x11(r1) +/* 802C878C 002C43EC 88 11 00 01 */ lbz r0, 1(r17) +/* 802C8790 002C43F0 98 01 00 10 */ stb r0, 0x10(r1) +/* 802C8794 002C43F4 88 11 00 02 */ lbz r0, 2(r17) +/* 802C8798 002C43F8 98 01 00 0F */ stb r0, 0xf(r1) +/* 802C879C 002C43FC 88 11 00 03 */ lbz r0, 3(r17) +/* 802C87A0 002C4400 98 01 00 0E */ stb r0, 0xe(r1) +/* 802C87A4 002C4404 88 11 00 04 */ lbz r0, 4(r17) +/* 802C87A8 002C4408 98 01 00 0D */ stb r0, 0xd(r1) +/* 802C87AC 002C440C 88 11 00 05 */ lbz r0, 5(r17) +/* 802C87B0 002C4410 98 01 00 0C */ stb r0, 0xc(r1) +/* 802C87B4 002C4414 8B B1 00 06 */ lbz r29, 6(r17) +/* 802C87B8 002C4418 8B D1 00 07 */ lbz r30, 7(r17) +/* 802C87BC 002C441C 3A 31 00 08 */ addi r17, r17, 8 +/* 802C87C0 002C4420 40 82 00 0C */ bne lbl_802C87CC +/* 802C87C4 002C4424 8A B1 00 00 */ lbz r21, 0(r17) +/* 802C87C8 002C4428 3A 31 00 01 */ addi r17, r17, 1 +lbl_802C87CC: +/* 802C87CC 002C442C 88 11 00 00 */ lbz r0, 0(r17) +/* 802C87D0 002C4430 2C 12 00 00 */ cmpwi r18, 0 +/* 802C87D4 002C4434 98 01 00 0A */ stb r0, 0xa(r1) +/* 802C87D8 002C4438 88 11 00 01 */ lbz r0, 1(r17) +/* 802C87DC 002C443C 98 01 00 09 */ stb r0, 9(r1) +/* 802C87E0 002C4440 88 11 00 02 */ lbz r0, 2(r17) +/* 802C87E4 002C4444 98 01 00 08 */ stb r0, 8(r1) +/* 802C87E8 002C4448 88 11 00 04 */ lbz r0, 4(r17) +/* 802C87EC 002C444C 88 71 00 03 */ lbz r3, 3(r17) +/* 802C87F0 002C4450 3A 31 00 05 */ addi r17, r17, 5 +/* 802C87F4 002C4454 54 00 40 2E */ slwi r0, r0, 8 +/* 802C87F8 002C4458 7C 03 02 14 */ add r0, r3, r0 +/* 802C87FC 002C445C 54 13 04 3E */ clrlwi r19, r0, 0x10 +/* 802C8800 002C4460 41 82 00 0C */ beq lbl_802C880C +/* 802C8804 002C4464 8A 91 00 00 */ lbz r20, 0(r17) +/* 802C8808 002C4468 3A 31 00 01 */ addi r17, r17, 1 +lbl_802C880C: +/* 802C880C 002C446C 38 61 00 0C */ addi r3, r1, 0xc +/* 802C8810 002C4470 4B FF FA 39 */ bl func_802C8248 +/* 802C8814 002C4474 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C8818 002C4478 40 82 01 64 */ bne lbl_802C897C +/* 802C881C 002C447C 81 9B 18 4C */ lwz r12, 0x184c(r27) +/* 802C8820 002C4480 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C8824 002C4484 41 82 00 1C */ beq lbl_802C8840 +/* 802C8828 002C4488 38 61 00 0C */ addi r3, r1, 0xc +/* 802C882C 002C448C 38 81 00 08 */ addi r4, r1, 8 +/* 802C8830 002C4490 7D 89 03 A6 */ mtctr r12 +/* 802C8834 002C4494 4E 80 04 21 */ bctrl +/* 802C8838 002C4498 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C883C 002C449C 41 82 01 40 */ beq lbl_802C897C +lbl_802C8840: +/* 802C8840 002C44A0 3B 3B 16 E4 */ addi r25, r27, 0x16e4 +/* 802C8844 002C44A4 3B 00 00 00 */ li r24, 0 +lbl_802C8848: +/* 802C8848 002C44A8 88 19 00 1A */ lbz r0, 0x1a(r25) +/* 802C884C 002C44AC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8850 002C44B0 41 82 00 20 */ beq lbl_802C8870 +/* 802C8854 002C44B4 38 79 00 0A */ addi r3, r25, 0xa +/* 802C8858 002C44B8 38 81 00 0C */ addi r4, r1, 0xc +/* 802C885C 002C44BC 38 A0 00 06 */ li r5, 6 +/* 802C8860 002C44C0 4B F0 1B 39 */ bl memcmp +/* 802C8864 002C44C4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8868 002C44C8 40 82 00 08 */ bne lbl_802C8870 +/* 802C886C 002C44CC 48 00 00 18 */ b lbl_802C8884 +lbl_802C8870: +/* 802C8870 002C44D0 3B 18 00 01 */ addi r24, r24, 1 +/* 802C8874 002C44D4 3B 39 00 1C */ addi r25, r25, 0x1c +/* 802C8878 002C44D8 28 18 00 0C */ cmplwi r24, 0xc +/* 802C887C 002C44DC 41 80 FF CC */ blt lbl_802C8848 +/* 802C8880 002C44E0 3B 20 00 00 */ li r25, 0 +lbl_802C8884: +/* 802C8884 002C44E4 2C 19 00 00 */ cmpwi r25, 0 +/* 802C8888 002C44E8 40 82 00 18 */ bne lbl_802C88A0 +/* 802C888C 002C44EC 38 61 00 0C */ addi r3, r1, 0xc +/* 802C8890 002C44F0 4B FF FA 95 */ bl func_802C8324 +/* 802C8894 002C44F4 7C 79 1B 78 */ mr r25, r3 +/* 802C8898 002C44F8 3A E0 00 01 */ li r23, 1 +/* 802C889C 002C44FC 48 00 00 18 */ b lbl_802C88B4 +lbl_802C88A0: +/* 802C88A0 002C4500 80 79 00 04 */ lwz r3, 4(r25) +/* 802C88A4 002C4504 80 1B 16 C0 */ lwz r0, 0x16c0(r27) +/* 802C88A8 002C4508 7C 03 00 40 */ cmplw r3, r0 +/* 802C88AC 002C450C 40 82 00 08 */ bne lbl_802C88B4 +/* 802C88B0 002C4510 3A E0 00 00 */ li r23, 0 +lbl_802C88B4: +/* 802C88B4 002C4514 28 17 00 01 */ cmplwi r23, 1 +/* 802C88B8 002C4518 40 82 00 C4 */ bne lbl_802C897C +/* 802C88BC 002C451C 9B B9 00 13 */ stb r29, 0x13(r25) +/* 802C88C0 002C4520 2C 12 00 00 */ cmpwi r18, 0 +/* 802C88C4 002C4524 88 A1 00 08 */ lbz r5, 8(r1) +/* 802C88C8 002C4528 62 60 80 00 */ ori r0, r19, 0x8000 +/* 802C88CC 002C452C 9B D9 00 14 */ stb r30, 0x14(r25) +/* 802C88D0 002C4530 3B 19 00 08 */ addi r24, r25, 8 +/* 802C88D4 002C4534 88 81 00 09 */ lbz r4, 9(r1) +/* 802C88D8 002C4538 9A B9 00 15 */ stb r21, 0x15(r25) +/* 802C88DC 002C453C 88 61 00 0A */ lbz r3, 0xa(r1) +/* 802C88E0 002C4540 98 B9 00 10 */ stb r5, 0x10(r25) +/* 802C88E4 002C4544 98 99 00 11 */ stb r4, 0x11(r25) +/* 802C88E8 002C4548 98 79 00 12 */ stb r3, 0x12(r25) +/* 802C88EC 002C454C B0 19 00 08 */ sth r0, 8(r25) +/* 802C88F0 002C4550 41 82 00 0C */ beq lbl_802C88FC +/* 802C88F4 002C4554 9A 98 00 0E */ stb r20, 0xe(r24) +/* 802C88F8 002C4558 48 00 00 08 */ b lbl_802C8900 +lbl_802C88FC: +/* 802C88FC 002C455C 9B F8 00 0E */ stb r31, 0xe(r24) +lbl_802C8900: +/* 802C8900 002C4560 4B FF 21 CD */ bl func_802BAACC +/* 802C8904 002C4564 90 79 00 00 */ stw r3, 0(r25) +/* 802C8908 002C4568 80 1B 16 C0 */ lwz r0, 0x16c0(r27) +/* 802C890C 002C456C 90 19 00 04 */ stw r0, 4(r25) +/* 802C8910 002C4570 88 1B 18 48 */ lbz r0, 0x1848(r27) +/* 802C8914 002C4574 88 7B 18 3F */ lbz r3, 0x183f(r27) +/* 802C8918 002C4578 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802C891C 002C457C 38 03 00 01 */ addi r0, r3, 1 +/* 802C8920 002C4580 98 1B 18 3F */ stb r0, 0x183f(r27) +/* 802C8924 002C4584 40 82 00 20 */ bne lbl_802C8944 +/* 802C8928 002C4588 88 7B 18 36 */ lbz r3, 0x1836(r27) +/* 802C892C 002C458C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8930 002C4590 41 82 00 14 */ beq lbl_802C8944 +/* 802C8934 002C4594 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802C8938 002C4598 7C 00 18 40 */ cmplw r0, r3 +/* 802C893C 002C459C 40 82 00 08 */ bne lbl_802C8944 +/* 802C8940 002C45A0 48 00 75 51 */ bl func_802CFE90 +lbl_802C8944: +/* 802C8944 002C45A4 2C 16 00 00 */ cmpwi r22, 0 +/* 802C8948 002C45A8 9A 19 00 18 */ stb r16, 0x18(r25) +/* 802C894C 002C45AC 41 82 00 14 */ beq lbl_802C8960 +/* 802C8950 002C45B0 7E CC B3 78 */ mr r12, r22 +/* 802C8954 002C45B4 7F 03 C3 78 */ mr r3, r24 +/* 802C8958 002C45B8 7D 89 03 A6 */ mtctr r12 +/* 802C895C 002C45BC 4E 80 04 21 */ bctrl +lbl_802C8960: +/* 802C8960 002C45C0 81 9B 16 BC */ lwz r12, 0x16bc(r27) +/* 802C8964 002C45C4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C8968 002C45C8 41 82 00 14 */ beq lbl_802C897C +/* 802C896C 002C45CC 38 79 00 08 */ addi r3, r25, 8 +/* 802C8970 002C45D0 38 80 00 01 */ li r4, 1 +/* 802C8974 002C45D4 7D 89 03 A6 */ mtctr r12 +/* 802C8978 002C45D8 4E 80 04 21 */ bctrl +lbl_802C897C: +/* 802C897C 002C45DC 3B 5A 00 01 */ addi r26, r26, 1 +lbl_802C8980: +/* 802C8980 002C45E0 57 40 06 3E */ clrlwi r0, r26, 0x18 +/* 802C8984 002C45E4 7C 00 E0 40 */ cmplw r0, r28 +/* 802C8988 002C45E8 41 80 FD F8 */ blt lbl_802C8780 +lbl_802C898C: +/* 802C898C 002C45EC 39 61 00 60 */ addi r11, r1, 0x60 +/* 802C8990 002C45F0 4B EF E7 B9 */ bl _restgpr_16 +/* 802C8994 002C45F4 80 01 00 64 */ lwz r0, 0x64(r1) +/* 802C8998 002C45F8 7C 08 03 A6 */ mtlr r0 +/* 802C899C 002C45FC 38 21 00 60 */ addi r1, r1, 0x60 +/* 802C89A0 002C4600 4E 80 00 20 */ blr + +.global func_802C89A4 +func_802C89A4: +/* 802C89A4 002C4604 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C89A8 002C4608 7C 08 02 A6 */ mflr r0 +/* 802C89AC 002C460C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C89B0 002C4610 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C89B4 002C4614 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C89B8 002C4618 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C89BC 002C461C 3F A0 80 57 */ lis r29, lbl_80568B78@ha +/* 802C89C0 002C4620 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l +/* 802C89C4 002C4624 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C89C8 002C4628 88 1D 18 48 */ lbz r0, 0x1848(r29) +/* 802C89CC 002C462C 83 9D 16 B0 */ lwz r28, 0x16b0(r29) +/* 802C89D0 002C4630 2C 00 00 00 */ cmpwi r0, 0 +/* 802C89D4 002C4634 41 82 00 B4 */ beq lbl_802C8A88 +/* 802C89D8 002C4638 80 9D 16 C0 */ lwz r4, 0x16c0(r29) +/* 802C89DC 002C463C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C89E0 002C4640 38 60 00 0A */ li r3, 0xa +/* 802C89E4 002C4644 38 04 00 01 */ addi r0, r4, 1 +/* 802C89E8 002C4648 90 1D 16 C0 */ stw r0, 0x16c0(r29) +/* 802C89EC 002C464C 40 82 00 08 */ bne lbl_802C89F4 +/* 802C89F0 002C4650 38 60 00 00 */ li r3, 0 +lbl_802C89F4: +/* 802C89F4 002C4654 88 1D 18 48 */ lbz r0, 0x1848(r29) +/* 802C89F8 002C4658 98 7D 18 3E */ stb r3, 0x183e(r29) +/* 802C89FC 002C465C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802C8A00 002C4660 40 82 00 88 */ bne lbl_802C8A88 +/* 802C8A04 002C4664 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C8A08 002C4668 3B C0 00 00 */ li r30, 0 +/* 802C8A0C 002C466C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C8A10 002C4670 93 DD 16 B4 */ stw r30, 0x16b4(r29) +/* 802C8A14 002C4674 80 7F 16 DC */ lwz r3, 0x16dc(r31) +/* 802C8A18 002C4678 9B DD 18 48 */ stb r30, 0x1848(r29) +/* 802C8A1C 002C467C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8A20 002C4680 9B DD 18 47 */ stb r30, 0x1847(r29) +/* 802C8A24 002C4684 93 DD 16 B0 */ stw r30, 0x16b0(r29) +/* 802C8A28 002C4688 41 82 00 0C */ beq lbl_802C8A34 +/* 802C8A2C 002C468C 4B FF 13 09 */ bl func_802B9D34 +/* 802C8A30 002C4690 93 DF 16 DC */ stw r30, 0x16dc(r31) +lbl_802C8A34: +/* 802C8A34 002C4694 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C8A38 002C4698 38 80 00 00 */ li r4, 0 +/* 802C8A3C 002C469C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C8A40 002C46A0 B0 9F 16 E0 */ sth r4, 0x16e0(r31) +/* 802C8A44 002C46A4 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C8A48 002C46A8 B0 9F 16 E2 */ sth r4, 0x16e2(r31) +/* 802C8A4C 002C46AC 28 00 00 05 */ cmplwi r0, 5 +/* 802C8A50 002C46B0 41 80 00 20 */ blt lbl_802C8A70 +/* 802C8A54 002C46B4 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802C8A58 002C46B8 3C 80 80 44 */ lis r4, lbl_80441514@ha +/* 802C8A5C 002C46BC 88 BD 18 3E */ lbz r5, 0x183e(r29) +/* 802C8A60 002C46C0 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802C8A64 002C46C4 88 DD 18 3F */ lbz r6, 0x183f(r29) +/* 802C8A68 002C46C8 38 84 15 14 */ addi r4, r4, lbl_80441514@l +/* 802C8A6C 002C46CC 4B FF 44 D5 */ bl func_802BCF40 +lbl_802C8A70: +/* 802C8A70 002C46D0 2C 1C 00 00 */ cmpwi r28, 0 +/* 802C8A74 002C46D4 41 82 00 14 */ beq lbl_802C8A88 +/* 802C8A78 002C46D8 7F 8C E3 78 */ mr r12, r28 +/* 802C8A7C 002C46DC 38 7D 18 3E */ addi r3, r29, 0x183e +/* 802C8A80 002C46E0 7D 89 03 A6 */ mtctr r12 +/* 802C8A84 002C46E4 4E 80 04 21 */ bctrl +lbl_802C8A88: +/* 802C8A88 002C46E8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C8A8C 002C46EC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C8A90 002C46F0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C8A94 002C46F4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C8A98 002C46F8 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C8A9C 002C46FC 7C 08 03 A6 */ mtlr r0 +/* 802C8AA0 002C4700 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C8AA4 002C4704 4E 80 00 20 */ blr + +.global func_802C8AA8 +func_802C8AA8: +/* 802C8AA8 002C4708 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C8AAC 002C470C 7C 08 02 A6 */ mflr r0 +/* 802C8AB0 002C4710 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C8AB4 002C4714 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C8AB8 002C4718 4B EF E6 61 */ bl _savegpr_23 +/* 802C8ABC 002C471C 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C8AC0 002C4720 7C 77 1B 78 */ mr r23, r3 +/* 802C8AC4 002C4724 7C 98 23 78 */ mr r24, r4 +/* 802C8AC8 002C4728 7C B9 2B 78 */ mr r25, r5 +/* 802C8ACC 002C472C 7C DA 33 78 */ mr r26, r6 +/* 802C8AD0 002C4730 7C FB 3B 78 */ mr r27, r7 +/* 802C8AD4 002C4734 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C8AD8 002C4738 3B C0 00 01 */ li r30, 1 +/* 802C8ADC 002C473C 3B A0 00 01 */ li r29, 1 +/* 802C8AE0 002C4740 3B 80 00 01 */ li r28, 1 +/* 802C8AE4 002C4744 4B FF CF ED */ bl func_802C5AD0 +/* 802C8AE8 002C4748 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C8AEC 002C474C 40 82 00 0C */ bne lbl_802C8AF8 +/* 802C8AF0 002C4750 38 60 00 06 */ li r3, 6 +/* 802C8AF4 002C4754 48 00 00 EC */ b lbl_802C8BE0 +lbl_802C8AF8: +/* 802C8AF8 002C4758 88 7F 16 AE */ lbz r3, 0x16ae(r31) +/* 802C8AFC 002C475C 7C 60 C8 39 */ and. r0, r3, r25 +/* 802C8B00 002C4760 40 82 00 D8 */ bne lbl_802C8BD8 +/* 802C8B04 002C4764 28 19 00 01 */ cmplwi r25, 1 +/* 802C8B08 002C4768 40 82 00 3C */ bne lbl_802C8B44 +/* 802C8B0C 002C476C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8B10 002C4770 41 82 00 2C */ beq lbl_802C8B3C +/* 802C8B14 002C4774 7E E3 BB 78 */ mr r3, r23 +/* 802C8B18 002C4778 38 9F 16 A8 */ addi r4, r31, 0x16a8 +/* 802C8B1C 002C477C 38 A0 00 06 */ li r5, 6 +/* 802C8B20 002C4780 4B F0 18 79 */ bl memcmp +/* 802C8B24 002C4784 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8B28 002C4788 40 82 00 0C */ bne lbl_802C8B34 +/* 802C8B2C 002C478C 3B C0 00 00 */ li r30, 0 +/* 802C8B30 002C4790 48 00 00 0C */ b lbl_802C8B3C +lbl_802C8B34: +/* 802C8B34 002C4794 38 60 00 02 */ li r3, 2 +/* 802C8B38 002C4798 48 00 00 A8 */ b lbl_802C8BE0 +lbl_802C8B3C: +/* 802C8B3C 002C479C 93 7F 16 7C */ stw r27, 0x167c(r31) +/* 802C8B40 002C47A0 48 00 00 14 */ b lbl_802C8B54 +lbl_802C8B44: +/* 802C8B44 002C47A4 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8B48 002C47A8 41 82 00 0C */ beq lbl_802C8B54 +/* 802C8B4C 002C47AC 38 60 00 02 */ li r3, 2 +/* 802C8B50 002C47B0 48 00 00 90 */ b lbl_802C8BE0 +lbl_802C8B54: +/* 802C8B54 002C47B4 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C8B58 002C47B8 41 82 00 60 */ beq lbl_802C8BB8 +/* 802C8B5C 002C47BC 7E E4 BB 78 */ mr r4, r23 +/* 802C8B60 002C47C0 38 7F 16 A8 */ addi r3, r31, 0x16a8 +/* 802C8B64 002C47C4 38 A0 00 06 */ li r5, 6 +/* 802C8B68 002C47C8 4B D3 B4 99 */ bl memcpy +/* 802C8B6C 002C47CC 7F 45 D3 78 */ mr r5, r26 +/* 802C8B70 002C47D0 38 7F 16 80 */ addi r3, r31, 0x1680 +/* 802C8B74 002C47D4 38 80 00 0A */ li r4, 0xa +/* 802C8B78 002C47D8 4B FF 49 65 */ bl func_802BD4DC +/* 802C8B7C 002C47DC 2C 18 00 00 */ cmpwi r24, 0 +/* 802C8B80 002C47E0 41 82 00 20 */ beq lbl_802C8BA0 +/* 802C8B84 002C47E4 A0 18 00 00 */ lhz r0, 0(r24) +/* 802C8B88 002C47E8 7E E3 BB 78 */ mr r3, r23 +/* 802C8B8C 002C47EC 88 98 00 0B */ lbz r4, 0xb(r24) +/* 802C8B90 002C47F0 88 B8 00 0D */ lbz r5, 0xd(r24) +/* 802C8B94 002C47F4 60 06 80 00 */ ori r6, r0, 0x8000 +/* 802C8B98 002C47F8 48 00 7D 25 */ bl func_802D08BC +/* 802C8B9C 002C47FC 48 00 00 18 */ b lbl_802C8BB4 +lbl_802C8BA0: +/* 802C8BA0 002C4800 7E E3 BB 78 */ mr r3, r23 +/* 802C8BA4 002C4804 38 80 00 01 */ li r4, 1 +/* 802C8BA8 002C4808 38 A0 00 00 */ li r5, 0 +/* 802C8BAC 002C480C 38 C0 00 00 */ li r6, 0 +/* 802C8BB0 002C4810 48 00 7D 0D */ bl func_802D08BC +lbl_802C8BB4: +/* 802C8BB4 002C4814 7C 7D 1B 78 */ mr r29, r3 +lbl_802C8BB8: +/* 802C8BB8 002C4818 57 A0 06 3F */ clrlwi. r0, r29, 0x18 +/* 802C8BBC 002C481C 41 82 00 14 */ beq lbl_802C8BD0 +/* 802C8BC0 002C4820 88 1F 16 AE */ lbz r0, 0x16ae(r31) +/* 802C8BC4 002C4824 7C 00 CB 78 */ or r0, r0, r25 +/* 802C8BC8 002C4828 98 1F 16 AE */ stb r0, 0x16ae(r31) +/* 802C8BCC 002C482C 48 00 00 10 */ b lbl_802C8BDC +lbl_802C8BD0: +/* 802C8BD0 002C4830 3B 80 00 03 */ li r28, 3 +/* 802C8BD4 002C4834 48 00 00 08 */ b lbl_802C8BDC +lbl_802C8BD8: +/* 802C8BD8 002C4838 3B 80 00 02 */ li r28, 2 +lbl_802C8BDC: +/* 802C8BDC 002C483C 7F 83 E3 78 */ mr r3, r28 +lbl_802C8BE0: +/* 802C8BE0 002C4840 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C8BE4 002C4844 4B EF E5 81 */ bl _restgpr_23 +/* 802C8BE8 002C4848 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C8BEC 002C484C 7C 08 03 A6 */ mtlr r0 +/* 802C8BF0 002C4850 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C8BF4 002C4854 4E 80 00 20 */ blr + +.global func_802C8BF8 +func_802C8BF8: +/* 802C8BF8 002C4858 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802C8BFC 002C485C 7C 08 02 A6 */ mflr r0 +/* 802C8C00 002C4860 90 01 01 24 */ stw r0, 0x124(r1) +/* 802C8C04 002C4864 39 61 01 20 */ addi r11, r1, 0x120 +/* 802C8C08 002C4868 4B EF E5 1D */ bl _savegpr_26 +/* 802C8C0C 002C486C 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C8C10 002C4870 7C 9A 23 78 */ mr r26, r4 +/* 802C8C14 002C4874 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C8C18 002C4878 7C BB 2B 78 */ mr r27, r5 +/* 802C8C1C 002C487C 83 DF 16 7C */ lwz r30, 0x167c(r31) +/* 802C8C20 002C4880 7C DC 33 78 */ mr r28, r6 +/* 802C8C24 002C4884 8B BF 16 AE */ lbz r29, 0x16ae(r31) +/* 802C8C28 002C4888 38 7F 16 80 */ addi r3, r31, 0x1680 +/* 802C8C2C 002C488C 4B FF 49 21 */ bl func_802BD54C +/* 802C8C30 002C4890 38 60 00 00 */ li r3, 0 +/* 802C8C34 002C4894 2C 1C 00 00 */ cmpwi r28, 0 +/* 802C8C38 002C4898 98 7F 16 AE */ stb r3, 0x16ae(r31) +/* 802C8C3C 002C489C 40 82 00 B4 */ bne lbl_802C8CF0 +/* 802C8C40 002C48A0 28 1B 00 F8 */ cmplwi r27, 0xf8 +/* 802C8C44 002C48A4 38 81 00 0C */ addi r4, r1, 0xc +/* 802C8C48 002C48A8 38 60 00 F8 */ li r3, 0xf8 +/* 802C8C4C 002C48AC 40 80 00 08 */ bge lbl_802C8C54 +/* 802C8C50 002C48B0 7F 63 DB 78 */ mr r3, r27 +lbl_802C8C54: +/* 802C8C54 002C48B4 54 65 04 3F */ clrlwi. r5, r3, 0x10 +/* 802C8C58 002C48B8 38 00 00 00 */ li r0, 0 +/* 802C8C5C 002C48BC B0 61 00 0A */ sth r3, 0xa(r1) +/* 802C8C60 002C48C0 B0 01 00 08 */ sth r0, 8(r1) +/* 802C8C64 002C48C4 7C A3 2B 78 */ mr r3, r5 +/* 802C8C68 002C48C8 41 82 00 98 */ beq lbl_802C8D00 +/* 802C8C6C 002C48CC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f +/* 802C8C70 002C48D0 7C 09 03 A6 */ mtctr r0 +/* 802C8C74 002C48D4 41 82 00 5C */ beq lbl_802C8CD0 +lbl_802C8C78: +/* 802C8C78 002C48D8 88 1A 00 00 */ lbz r0, 0(r26) +/* 802C8C7C 002C48DC 38 A5 FF F8 */ addi r5, r5, -8 +/* 802C8C80 002C48E0 98 04 00 00 */ stb r0, 0(r4) +/* 802C8C84 002C48E4 88 1A 00 01 */ lbz r0, 1(r26) +/* 802C8C88 002C48E8 98 04 00 01 */ stb r0, 1(r4) +/* 802C8C8C 002C48EC 88 1A 00 02 */ lbz r0, 2(r26) +/* 802C8C90 002C48F0 98 04 00 02 */ stb r0, 2(r4) +/* 802C8C94 002C48F4 88 1A 00 03 */ lbz r0, 3(r26) +/* 802C8C98 002C48F8 98 04 00 03 */ stb r0, 3(r4) +/* 802C8C9C 002C48FC 88 1A 00 04 */ lbz r0, 4(r26) +/* 802C8CA0 002C4900 98 04 00 04 */ stb r0, 4(r4) +/* 802C8CA4 002C4904 88 1A 00 05 */ lbz r0, 5(r26) +/* 802C8CA8 002C4908 98 04 00 05 */ stb r0, 5(r4) +/* 802C8CAC 002C490C 88 1A 00 06 */ lbz r0, 6(r26) +/* 802C8CB0 002C4910 98 04 00 06 */ stb r0, 6(r4) +/* 802C8CB4 002C4914 88 1A 00 07 */ lbz r0, 7(r26) +/* 802C8CB8 002C4918 3B 5A 00 08 */ addi r26, r26, 8 +/* 802C8CBC 002C491C 98 04 00 07 */ stb r0, 7(r4) +/* 802C8CC0 002C4920 38 84 00 08 */ addi r4, r4, 8 +/* 802C8CC4 002C4924 42 00 FF B4 */ bdnz lbl_802C8C78 +/* 802C8CC8 002C4928 70 63 00 07 */ andi. r3, r3, 7 +/* 802C8CCC 002C492C 41 82 00 34 */ beq lbl_802C8D00 +lbl_802C8CD0: +/* 802C8CD0 002C4930 7C 69 03 A6 */ mtctr r3 +lbl_802C8CD4: +/* 802C8CD4 002C4934 88 1A 00 00 */ lbz r0, 0(r26) +/* 802C8CD8 002C4938 38 A5 FF FF */ addi r5, r5, -1 +/* 802C8CDC 002C493C 3B 5A 00 01 */ addi r26, r26, 1 +/* 802C8CE0 002C4940 98 04 00 00 */ stb r0, 0(r4) +/* 802C8CE4 002C4944 38 84 00 01 */ addi r4, r4, 1 +/* 802C8CE8 002C4948 42 00 FF EC */ bdnz lbl_802C8CD4 +/* 802C8CEC 002C494C 48 00 00 14 */ b lbl_802C8D00 +lbl_802C8CF0: +/* 802C8CF0 002C4950 38 00 00 09 */ li r0, 9 +/* 802C8CF4 002C4954 B0 61 00 0A */ sth r3, 0xa(r1) +/* 802C8CF8 002C4958 B0 01 00 08 */ sth r0, 8(r1) +/* 802C8CFC 002C495C 98 61 00 0C */ stb r3, 0xc(r1) +lbl_802C8D00: +/* 802C8D00 002C4960 38 7F 16 A8 */ addi r3, r31, 0x16a8 +/* 802C8D04 002C4964 38 80 00 00 */ li r4, 0 +/* 802C8D08 002C4968 38 A0 00 06 */ li r5, 6 +/* 802C8D0C 002C496C 4B D3 B3 F9 */ bl memset +/* 802C8D10 002C4970 57 A0 07 FF */ clrlwi. r0, r29, 0x1f +/* 802C8D14 002C4974 41 82 00 24 */ beq lbl_802C8D38 +/* 802C8D18 002C4978 38 00 00 00 */ li r0, 0 +/* 802C8D1C 002C497C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802C8D20 002C4980 90 1F 16 7C */ stw r0, 0x167c(r31) +/* 802C8D24 002C4984 41 82 00 14 */ beq lbl_802C8D38 +/* 802C8D28 002C4988 7F CC F3 78 */ mr r12, r30 +/* 802C8D2C 002C498C 38 61 00 08 */ addi r3, r1, 8 +/* 802C8D30 002C4990 7D 89 03 A6 */ mtctr r12 +/* 802C8D34 002C4994 4E 80 04 21 */ bctrl +lbl_802C8D38: +/* 802C8D38 002C4998 39 61 01 20 */ addi r11, r1, 0x120 +/* 802C8D3C 002C499C 4B EF E4 35 */ bl _restgpr_26 +/* 802C8D40 002C49A0 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802C8D44 002C49A4 7C 08 03 A6 */ mtlr r0 +/* 802C8D48 002C49A8 38 21 01 20 */ addi r1, r1, 0x120 +/* 802C8D4C 002C49AC 4E 80 00 20 */ blr + +.global func_802C8D50 +func_802C8D50: +/* 802C8D50 002C49B0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C8D54 002C49B4 7C 08 02 A6 */ mflr r0 +/* 802C8D58 002C49B8 38 60 00 00 */ li r3, 0 +/* 802C8D5C 002C49BC 38 80 00 00 */ li r4, 0 +/* 802C8D60 002C49C0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C8D64 002C49C4 38 A0 00 00 */ li r5, 0 +/* 802C8D68 002C49C8 38 C0 00 1F */ li r6, 0x1f +/* 802C8D6C 002C49CC 4B FF FE 8D */ bl func_802C8BF8 +/* 802C8D70 002C49D0 38 60 00 00 */ li r3, 0 +/* 802C8D74 002C49D4 38 80 00 00 */ li r4, 0 +/* 802C8D78 002C49D8 38 A0 00 1F */ li r5, 0x1f +/* 802C8D7C 002C49DC 48 00 2E D9 */ bl func_802CBC54 +/* 802C8D80 002C49E0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C8D84 002C49E4 7C 08 03 A6 */ mtlr r0 +/* 802C8D88 002C49E8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C8D8C 002C49EC 4E 80 00 20 */ blr + +.global func_802C8D90 +func_802C8D90: +/* 802C8D90 002C49F0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C8D94 002C49F4 7C 08 02 A6 */ mflr r0 +/* 802C8D98 002C49F8 38 80 00 00 */ li r4, 0 +/* 802C8D9C 002C49FC 38 A0 27 C4 */ li r5, 0x27c4 +/* 802C8DA0 002C4A00 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C8DA4 002C4A04 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C8DA8 002C4A08 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C8DAC 002C4A0C 38 7F 8B 78 */ addi r3, r31, lbl_80568B78@l +/* 802C8DB0 002C4A10 4B D3 B3 55 */ bl memset +/* 802C8DB4 002C4A14 38 7F 8B 78 */ addi r3, r31, -29832 +/* 802C8DB8 002C4A18 38 00 00 00 */ li r0, 0 +/* 802C8DBC 002C4A1C 98 03 27 C0 */ stb r0, 0x27c0(r3) +/* 802C8DC0 002C4A20 4B FF F4 85 */ bl func_802C8244 +/* 802C8DC4 002C4A24 4B FF A6 69 */ bl func_802C342C +/* 802C8DC8 002C4A28 38 60 00 02 */ li r3, 2 +/* 802C8DCC 002C4A2C 48 00 2D 79 */ bl func_802CBB44 +/* 802C8DD0 002C4A30 48 00 0C B1 */ bl func_802C9A80 +/* 802C8DD4 002C4A34 4B FF CA 69 */ bl func_802C583C +/* 802C8DD8 002C4A38 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C8DDC 002C4A3C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C8DE0 002C4A40 7C 08 03 A6 */ mtlr r0 +/* 802C8DE4 002C4A44 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C8DE8 002C4A48 4E 80 00 20 */ blr + +.global func_802C8DEC +func_802C8DEC: +/* 802C8DEC 002C4A4C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d +/* 802C8DF0 002C4A50 41 82 00 38 */ beq lbl_802C8E28 +/* 802C8DF4 002C4A54 88 04 00 00 */ lbz r0, 0(r4) +/* 802C8DF8 002C4A58 28 00 00 02 */ cmplwi r0, 2 +/* 802C8DFC 002C4A5C 41 80 00 0C */ blt lbl_802C8E08 +/* 802C8E00 002C4A60 38 60 00 05 */ li r3, 5 +/* 802C8E04 002C4A64 4E 80 00 20 */ blr +lbl_802C8E08: +/* 802C8E08 002C4A68 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C8E0C 002C4A6C 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c +/* 802C8E10 002C4A70 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C8E14 002C4A74 38 A0 00 00 */ li r5, 0 +/* 802C8E18 002C4A78 7C 83 02 14 */ add r4, r3, r0 +/* 802C8E1C 002C4A7C 98 A4 05 58 */ stb r5, 0x558(r4) +/* 802C8E20 002C4A80 38 60 00 00 */ li r3, 0 +/* 802C8E24 002C4A84 4E 80 00 20 */ blr +lbl_802C8E28: +/* 802C8E28 002C4A88 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C8E2C 002C4A8C 38 00 00 02 */ li r0, 2 +/* 802C8E30 002C4A90 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C8E34 002C4A94 38 E0 00 00 */ li r7, 0 +/* 802C8E38 002C4A98 7C 09 03 A6 */ mtctr r0 +lbl_802C8E3C: +/* 802C8E3C 002C4A9C 88 06 05 58 */ lbz r0, 0x558(r6) +/* 802C8E40 002C4AA0 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8E44 002C4AA4 40 82 00 50 */ bne lbl_802C8E94 +/* 802C8E48 002C4AA8 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e +/* 802C8E4C 002C4AAC 41 82 00 28 */ beq lbl_802C8E74 +/* 802C8E50 002C4AB0 2C 05 00 00 */ cmpwi r5, 0 +/* 802C8E54 002C4AB4 40 82 00 0C */ bne lbl_802C8E60 +/* 802C8E58 002C4AB8 38 60 00 05 */ li r3, 5 +/* 802C8E5C 002C4ABC 4E 80 00 20 */ blr +lbl_802C8E60: +/* 802C8E60 002C4AC0 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C8E64 002C4AC4 54 E0 18 38 */ slwi r0, r7, 3 +/* 802C8E68 002C4AC8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C8E6C 002C4ACC 7C C6 02 14 */ add r6, r6, r0 +/* 802C8E70 002C4AD0 90 A6 05 54 */ stw r5, 0x554(r6) +lbl_802C8E74: +/* 802C8E74 002C4AD4 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C8E78 002C4AD8 54 E0 18 38 */ slwi r0, r7, 3 +/* 802C8E7C 002C4ADC 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C8E80 002C4AE0 7C A5 02 14 */ add r5, r5, r0 +/* 802C8E84 002C4AE4 98 65 05 58 */ stb r3, 0x558(r5) +/* 802C8E88 002C4AE8 38 60 00 00 */ li r3, 0 +/* 802C8E8C 002C4AEC 98 E4 00 00 */ stb r7, 0(r4) +/* 802C8E90 002C4AF0 4E 80 00 20 */ blr +lbl_802C8E94: +/* 802C8E94 002C4AF4 38 C6 00 08 */ addi r6, r6, 8 +/* 802C8E98 002C4AF8 38 E7 00 01 */ addi r7, r7, 1 +/* 802C8E9C 002C4AFC 42 00 FF A0 */ bdnz lbl_802C8E3C +/* 802C8EA0 002C4B00 38 60 00 03 */ li r3, 3 +/* 802C8EA4 002C4B04 4E 80 00 20 */ blr + +.global func_802C8EA8 +func_802C8EA8: +/* 802C8EA8 002C4B08 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C8EAC 002C4B0C 7C 08 02 A6 */ mflr r0 +/* 802C8EB0 002C4B10 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C8EB4 002C4B14 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C8EB8 002C4B18 4B EF E2 6D */ bl _savegpr_26 +/* 802C8EBC 002C4B1C 28 03 00 02 */ cmplwi r3, 2 +/* 802C8EC0 002C4B20 7C 7B 1B 78 */ mr r27, r3 +/* 802C8EC4 002C4B24 7C 9A 23 78 */ mr r26, r4 +/* 802C8EC8 002C4B28 7C BC 2B 78 */ mr r28, r5 +/* 802C8ECC 002C4B2C 41 80 00 08 */ blt lbl_802C8ED4 +/* 802C8ED0 002C4B30 3B 60 00 80 */ li r27, 0x80 +lbl_802C8ED4: +/* 802C8ED4 002C4B34 2C 05 00 00 */ cmpwi r5, 0 +/* 802C8ED8 002C4B38 40 82 00 0C */ bne lbl_802C8EE4 +/* 802C8EDC 002C4B3C 38 60 00 05 */ li r3, 5 +/* 802C8EE0 002C4B40 48 00 01 80 */ b lbl_802C9060 +lbl_802C8EE4: +/* 802C8EE4 002C4B44 88 05 00 08 */ lbz r0, 8(r5) +/* 802C8EE8 002C4B48 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C8EEC 002C4B4C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C8EF0 002C4B50 3B A0 00 00 */ li r29, 0 +/* 802C8EF4 002C4B54 54 1F 07 34 */ rlwinm r31, r0, 0, 0x1c, 0x1a +/* 802C8EF8 002C4B58 3B C3 00 34 */ addi r30, r3, 0x34 +lbl_802C8EFC: +/* 802C8EFC 002C4B5C 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C8F00 002C4B60 2C 00 00 00 */ cmpwi r0, 0 +/* 802C8F04 002C4B64 41 82 00 1C */ beq lbl_802C8F20 +/* 802C8F08 002C4B68 7F 44 D3 78 */ mr r4, r26 +/* 802C8F0C 002C4B6C 38 7E 00 08 */ addi r3, r30, 8 +/* 802C8F10 002C4B70 38 A0 00 06 */ li r5, 6 +/* 802C8F14 002C4B74 4B F0 14 85 */ bl memcmp +/* 802C8F18 002C4B78 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8F1C 002C4B7C 41 82 00 14 */ beq lbl_802C8F30 +lbl_802C8F20: +/* 802C8F20 002C4B80 3B BD 00 01 */ addi r29, r29, 1 +/* 802C8F24 002C4B84 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C8F28 002C4B88 28 1D 00 04 */ cmplwi r29, 4 +/* 802C8F2C 002C4B8C 41 80 FF D0 */ blt lbl_802C8EFC +lbl_802C8F30: +/* 802C8F30 002C4B90 57 BE 06 3E */ clrlwi r30, r29, 0x18 +/* 802C8F34 002C4B94 2C 1E 00 04 */ cmpwi r30, 4 +/* 802C8F38 002C4B98 40 82 00 0C */ bne lbl_802C8F44 +/* 802C8F3C 002C4B9C 38 60 00 07 */ li r3, 7 +/* 802C8F40 002C4BA0 48 00 01 20 */ b lbl_802C9060 +lbl_802C8F44: +/* 802C8F44 002C4BA4 1C 1E 00 22 */ mulli r0, r30, 0x22 +/* 802C8F48 002C4BA8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C8F4C 002C4BAC 57 E3 06 3F */ clrlwi. r3, r31, 0x18 +/* 802C8F50 002C4BB0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C8F54 002C4BB4 7C 84 02 14 */ add r4, r4, r0 +/* 802C8F58 002C4BB8 3B A4 04 CC */ addi r29, r4, 0x4cc +/* 802C8F5C 002C4BBC 41 82 00 30 */ beq lbl_802C8F8C +/* 802C8F60 002C4BC0 3B 43 FF FF */ addi r26, r3, -1 +/* 802C8F64 002C4BC4 4B FF D9 FD */ bl func_802C6960 +/* 802C8F68 002C4BC8 38 82 A4 78 */ addi r4, r2, lbl_80642A78-_SDA2_BASE_ +/* 802C8F6C 002C4BCC 38 A2 A4 7C */ addi r5, r2, lbl_80642A7C-_SDA2_BASE_ +/* 802C8F70 002C4BD0 7C 04 D0 AE */ lbzx r0, r4, r26 +/* 802C8F74 002C4BD4 7C 85 D0 AE */ lbzx r4, r5, r26 +/* 802C8F78 002C4BD8 7C 03 00 AE */ lbzx r0, r3, r0 +/* 802C8F7C 002C4BDC 7C 80 00 39 */ and. r0, r4, r0 +/* 802C8F80 002C4BE0 40 82 00 0C */ bne lbl_802C8F8C +/* 802C8F84 002C4BE4 38 60 00 04 */ li r3, 4 +/* 802C8F88 002C4BE8 48 00 00 D8 */ b lbl_802C9060 +lbl_802C8F8C: +/* 802C8F8C 002C4BEC 88 1D 00 20 */ lbz r0, 0x20(r29) +/* 802C8F90 002C4BF0 57 E3 06 3E */ clrlwi r3, r31, 0x18 +/* 802C8F94 002C4BF4 7C 03 00 40 */ cmplw r3, r0 +/* 802C8F98 002C4BF8 40 82 00 30 */ bne lbl_802C8FC8 +/* 802C8F9C 002C4BFC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C8FA0 002C4C00 41 82 00 20 */ beq lbl_802C8FC0 +/* 802C8FA4 002C4C04 A0 7D 00 1E */ lhz r3, 0x1e(r29) +/* 802C8FA8 002C4C08 A0 1C 00 00 */ lhz r0, 0(r28) +/* 802C8FAC 002C4C0C 7C 00 18 40 */ cmplw r0, r3 +/* 802C8FB0 002C4C10 41 80 00 18 */ blt lbl_802C8FC8 +/* 802C8FB4 002C4C14 A0 1C 00 02 */ lhz r0, 2(r28) +/* 802C8FB8 002C4C18 7C 00 18 40 */ cmplw r0, r3 +/* 802C8FBC 002C4C1C 41 81 00 0C */ bgt lbl_802C8FC8 +lbl_802C8FC0: +/* 802C8FC0 002C4C20 38 60 00 00 */ li r3, 0 +/* 802C8FC4 002C4C24 48 00 00 9C */ b lbl_802C9060 +lbl_802C8FC8: +/* 802C8FC8 002C4C28 28 1B 00 80 */ cmplwi r27, 0x80 +/* 802C8FCC 002C4C2C 41 82 00 54 */ beq lbl_802C9020 +/* 802C8FD0 002C4C30 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C8FD4 002C4C34 57 60 1D 78 */ rlwinm r0, r27, 3, 0x15, 0x1c +/* 802C8FD8 002C4C38 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C8FDC 002C4C3C 7C 63 02 14 */ add r3, r3, r0 +/* 802C8FE0 002C4C40 88 03 05 58 */ lbz r0, 0x558(r3) +/* 802C8FE4 002C4C44 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C8FE8 002C4C48 41 82 00 38 */ beq lbl_802C9020 +/* 802C8FEC 002C4C4C A0 9C 00 00 */ lhz r4, 0(r28) +/* 802C8FF0 002C4C50 1C BB 00 0A */ mulli r5, r27, 0xa +/* 802C8FF4 002C4C54 A0 7C 00 02 */ lhz r3, 2(r28) +/* 802C8FF8 002C4C58 38 00 00 01 */ li r0, 1 +/* 802C8FFC 002C4C5C 7C 85 EB 6E */ sthux r4, r5, r29 +/* 802C9000 002C4C60 B0 65 00 02 */ sth r3, 2(r5) +/* 802C9004 002C4C64 A0 9C 00 04 */ lhz r4, 4(r28) +/* 802C9008 002C4C68 A0 7C 00 06 */ lhz r3, 6(r28) +/* 802C900C 002C4C6C B0 85 00 04 */ sth r4, 4(r5) +/* 802C9010 002C4C70 B0 65 00 06 */ sth r3, 6(r5) +/* 802C9014 002C4C74 A0 7C 00 08 */ lhz r3, 8(r28) +/* 802C9018 002C4C78 B0 65 00 08 */ sth r3, 8(r5) +/* 802C901C 002C4C7C 98 1D 00 21 */ stb r0, 0x21(r29) +lbl_802C9020: +/* 802C9020 002C4C80 88 1D 00 20 */ lbz r0, 0x20(r29) +/* 802C9024 002C4C84 28 00 00 01 */ cmplwi r0, 1 +/* 802C9028 002C4C88 41 82 00 20 */ beq lbl_802C9048 +/* 802C902C 002C4C8C 28 00 00 04 */ cmplwi r0, 4 +/* 802C9030 002C4C90 41 82 00 18 */ beq lbl_802C9048 +/* 802C9034 002C4C94 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9038 002C4C98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C903C 002C4C9C 88 03 05 64 */ lbz r0, 0x564(r3) +/* 802C9040 002C4CA0 28 00 00 04 */ cmplwi r0, 4 +/* 802C9044 002C4CA4 41 82 00 0C */ beq lbl_802C9050 +lbl_802C9048: +/* 802C9048 002C4CA8 38 60 00 0D */ li r3, 0xd +/* 802C904C 002C4CAC 48 00 00 14 */ b lbl_802C9060 +lbl_802C9050: +/* 802C9050 002C4CB0 7F 63 DB 78 */ mr r3, r27 +/* 802C9054 002C4CB4 7F C4 F3 78 */ mr r4, r30 +/* 802C9058 002C4CB8 7F 85 E3 78 */ mr r5, r28 +/* 802C905C 002C4CBC 48 00 05 19 */ bl func_802C9574 +lbl_802C9060: +/* 802C9060 002C4CC0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C9064 002C4CC4 4B EF E1 0D */ bl _restgpr_26 +/* 802C9068 002C4CC8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C906C 002C4CCC 7C 08 03 A6 */ mtlr r0 +/* 802C9070 002C4CD0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C9074 002C4CD4 4E 80 00 20 */ blr + +.global func_802C9078 +func_802C9078: +/* 802C9078 002C4CD8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C907C 002C4CDC 7C 08 02 A6 */ mflr r0 +/* 802C9080 002C4CE0 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802C9084 002C4CE4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C9088 002C4CE8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802C908C 002C4CEC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802C9090 002C4CF0 3B E0 00 00 */ li r31, 0 +/* 802C9094 002C4CF4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802C9098 002C4CF8 3B C5 00 34 */ addi r30, r5, 0x34 +/* 802C909C 002C4CFC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802C90A0 002C4D00 7C 9D 23 78 */ mr r29, r4 +/* 802C90A4 002C4D04 93 81 00 10 */ stw r28, 0x10(r1) +/* 802C90A8 002C4D08 7C 7C 1B 78 */ mr r28, r3 +lbl_802C90AC: +/* 802C90AC 002C4D0C 88 1E 01 19 */ lbz r0, 0x119(r30) +/* 802C90B0 002C4D10 2C 00 00 00 */ cmpwi r0, 0 +/* 802C90B4 002C4D14 41 82 00 1C */ beq lbl_802C90D0 +/* 802C90B8 002C4D18 7F 84 E3 78 */ mr r4, r28 +/* 802C90BC 002C4D1C 38 7E 00 08 */ addi r3, r30, 8 +/* 802C90C0 002C4D20 38 A0 00 06 */ li r5, 6 +/* 802C90C4 002C4D24 4B F0 12 D5 */ bl memcmp +/* 802C90C8 002C4D28 2C 03 00 00 */ cmpwi r3, 0 +/* 802C90CC 002C4D2C 41 82 00 14 */ beq lbl_802C90E0 +lbl_802C90D0: +/* 802C90D0 002C4D30 3B FF 00 01 */ addi r31, r31, 1 +/* 802C90D4 002C4D34 3B DE 01 1C */ addi r30, r30, 0x11c +/* 802C90D8 002C4D38 28 1F 00 04 */ cmplwi r31, 4 +/* 802C90DC 002C4D3C 41 80 FF D0 */ blt lbl_802C90AC +lbl_802C90E0: +/* 802C90E0 002C4D40 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 802C90E4 002C4D44 2C 00 00 04 */ cmpwi r0, 4 +/* 802C90E8 002C4D48 40 82 00 0C */ bne lbl_802C90F4 +/* 802C90EC 002C4D4C 38 60 00 07 */ li r3, 7 +/* 802C90F0 002C4D50 48 00 00 20 */ b lbl_802C9110 +lbl_802C90F4: +/* 802C90F4 002C4D54 1C 00 00 22 */ mulli r0, r0, 0x22 +/* 802C90F8 002C4D58 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C90FC 002C4D5C 38 60 00 00 */ li r3, 0 +/* 802C9100 002C4D60 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C9104 002C4D64 7C 84 02 14 */ add r4, r4, r0 +/* 802C9108 002C4D68 88 04 04 EC */ lbz r0, 0x4ec(r4) +/* 802C910C 002C4D6C 98 1D 00 00 */ stb r0, 0(r29) +lbl_802C9110: +/* 802C9110 002C4D70 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C9114 002C4D74 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802C9118 002C4D78 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802C911C 002C4D7C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802C9120 002C4D80 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802C9124 002C4D84 7C 08 03 A6 */ mtlr r0 +/* 802C9128 002C4D88 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C912C 002C4D8C 4E 80 00 20 */ blr + +.global func_802C9130 +func_802C9130: +/* 802C9130 002C4D90 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9134 002C4D94 39 80 00 00 */ li r12, 0 +/* 802C9138 002C4D98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C913C 002C4D9C 88 03 05 65 */ lbz r0, 0x565(r3) +/* 802C9140 002C4DA0 28 00 00 80 */ cmplwi r0, 0x80 +/* 802C9144 002C4DA4 41 82 00 1C */ beq lbl_802C9160 +/* 802C9148 002C4DA8 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c +/* 802C914C 002C4DAC 7C 63 02 14 */ add r3, r3, r0 +/* 802C9150 002C4DB0 88 03 05 58 */ lbz r0, 0x558(r3) +/* 802C9154 002C4DB4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802C9158 002C4DB8 41 82 00 08 */ beq lbl_802C9160 +/* 802C915C 002C4DBC 81 83 05 54 */ lwz r12, 0x554(r3) +lbl_802C9160: +/* 802C9160 002C4DC0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9164 002C4DC4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C9168 002C4DC8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C916C 002C4DCC 38 00 00 00 */ li r0, 0 +/* 802C9170 002C4DD0 38 80 00 04 */ li r4, 4 +/* 802C9174 002C4DD4 98 03 05 58 */ stb r0, 0x558(r3) +/* 802C9178 002C4DD8 98 83 05 64 */ stb r4, 0x564(r3) +/* 802C917C 002C4DDC 98 03 05 60 */ stb r0, 0x560(r3) +/* 802C9180 002C4DE0 4D 82 00 20 */ beqlr +/* 802C9184 002C4DE4 1C 04 01 1C */ mulli r0, r4, 0x11c +/* 802C9188 002C4DE8 38 80 00 05 */ li r4, 5 +/* 802C918C 002C4DEC 38 A0 00 0C */ li r5, 0xc +/* 802C9190 002C4DF0 38 C0 00 00 */ li r6, 0 +/* 802C9194 002C4DF4 7C 63 02 14 */ add r3, r3, r0 +/* 802C9198 002C4DF8 38 63 00 3C */ addi r3, r3, 0x3c +/* 802C919C 002C4DFC 7D 89 03 A6 */ mtctr r12 +/* 802C91A0 002C4E00 4E 80 04 20 */ bctr +/* 802C91A4 002C4E04 4E 80 00 20 */ blr + +.global func_802C91A8 +func_802C91A8: +/* 802C91A8 002C4E08 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C91AC 002C4E0C 7C 08 02 A6 */ mflr r0 +/* 802C91B0 002C4E10 38 80 00 00 */ li r4, 0 +/* 802C91B4 002C4E14 38 A0 00 22 */ li r5, 0x22 +/* 802C91B8 002C4E18 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C91BC 002C4E1C 1C 03 00 22 */ mulli r0, r3, 0x22 +/* 802C91C0 002C4E20 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C91C4 002C4E24 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802C91C8 002C4E28 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C91CC 002C4E2C 7C 63 02 14 */ add r3, r3, r0 +/* 802C91D0 002C4E30 3B E3 04 CC */ addi r31, r3, 0x4cc +/* 802C91D4 002C4E34 7F E3 FB 78 */ mr r3, r31 +/* 802C91D8 002C4E38 4B D3 AF 2D */ bl memset +/* 802C91DC 002C4E3C 38 00 00 00 */ li r0, 0 +/* 802C91E0 002C4E40 98 1F 00 20 */ stb r0, 0x20(r31) +/* 802C91E4 002C4E44 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802C91E8 002C4E48 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C91EC 002C4E4C 7C 08 03 A6 */ mtlr r0 +/* 802C91F0 002C4E50 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C91F4 002C4E54 4E 80 00 20 */ blr + +.global func_802C91F8 +func_802C91F8: +/* 802C91F8 002C4E58 2C 03 00 00 */ cmpwi r3, 0 +/* 802C91FC 002C4E5C 40 82 00 34 */ bne lbl_802C9230 +/* 802C9200 002C4E60 A0 C4 00 00 */ lhz r6, 0(r4) +/* 802C9204 002C4E64 7C 83 23 78 */ mr r3, r4 +/* 802C9208 002C4E68 A0 04 00 02 */ lhz r0, 2(r4) +/* 802C920C 002C4E6C B0 C5 00 00 */ sth r6, 0(r5) +/* 802C9210 002C4E70 B0 05 00 02 */ sth r0, 2(r5) +/* 802C9214 002C4E74 A0 C4 00 04 */ lhz r6, 4(r4) +/* 802C9218 002C4E78 A0 04 00 06 */ lhz r0, 6(r4) +/* 802C921C 002C4E7C B0 C5 00 04 */ sth r6, 4(r5) +/* 802C9220 002C4E80 B0 05 00 06 */ sth r0, 6(r5) +/* 802C9224 002C4E84 A0 04 00 08 */ lhz r0, 8(r4) +/* 802C9228 002C4E88 B0 05 00 08 */ sth r0, 8(r5) +/* 802C922C 002C4E8C 4E 80 00 20 */ blr +lbl_802C9230: +/* 802C9230 002C4E90 89 24 00 08 */ lbz r9, 8(r4) +/* 802C9234 002C4E94 2C 09 00 00 */ cmpwi r9, 0 +/* 802C9238 002C4E98 41 82 00 10 */ beq lbl_802C9248 +/* 802C923C 002C4E9C 89 03 00 08 */ lbz r8, 8(r3) +/* 802C9240 002C4EA0 2C 08 00 00 */ cmpwi r8, 0 +/* 802C9244 002C4EA4 40 82 00 0C */ bne lbl_802C9250 +lbl_802C9248: +/* 802C9248 002C4EA8 38 60 00 00 */ li r3, 0 +/* 802C924C 002C4EAC 4E 80 00 20 */ blr +lbl_802C9250: +/* 802C9250 002C4EB0 55 00 06 F7 */ rlwinm. r0, r8, 0, 0x1b, 0x1b +/* 802C9254 002C4EB4 41 82 00 40 */ beq lbl_802C9294 +/* 802C9258 002C4EB8 A0 83 00 00 */ lhz r4, 0(r3) +/* 802C925C 002C4EBC A0 03 00 02 */ lhz r0, 2(r3) +/* 802C9260 002C4EC0 B0 85 00 00 */ sth r4, 0(r5) +/* 802C9264 002C4EC4 B0 05 00 02 */ sth r0, 2(r5) +/* 802C9268 002C4EC8 A0 83 00 04 */ lhz r4, 4(r3) +/* 802C926C 002C4ECC A0 03 00 06 */ lhz r0, 6(r3) +/* 802C9270 002C4ED0 B0 85 00 04 */ sth r4, 4(r5) +/* 802C9274 002C4ED4 B0 05 00 06 */ sth r0, 6(r5) +/* 802C9278 002C4ED8 A0 03 00 08 */ lhz r0, 8(r3) +/* 802C927C 002C4EDC 7C A3 2B 78 */ mr r3, r5 +/* 802C9280 002C4EE0 B0 05 00 08 */ sth r0, 8(r5) +/* 802C9284 002C4EE4 88 05 00 08 */ lbz r0, 8(r5) +/* 802C9288 002C4EE8 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a +/* 802C928C 002C4EEC 98 05 00 08 */ stb r0, 8(r5) +/* 802C9290 002C4EF0 4E 80 00 20 */ blr +lbl_802C9294: +/* 802C9294 002C4EF4 55 20 06 F7 */ rlwinm. r0, r9, 0, 0x1b, 0x1b +/* 802C9298 002C4EF8 41 82 00 40 */ beq lbl_802C92D8 +/* 802C929C 002C4EFC A0 C4 00 00 */ lhz r6, 0(r4) +/* 802C92A0 002C4F00 7C A3 2B 78 */ mr r3, r5 +/* 802C92A4 002C4F04 A0 04 00 02 */ lhz r0, 2(r4) +/* 802C92A8 002C4F08 B0 C5 00 00 */ sth r6, 0(r5) +/* 802C92AC 002C4F0C B0 05 00 02 */ sth r0, 2(r5) +/* 802C92B0 002C4F10 A0 C4 00 04 */ lhz r6, 4(r4) +/* 802C92B4 002C4F14 A0 04 00 06 */ lhz r0, 6(r4) +/* 802C92B8 002C4F18 B0 C5 00 04 */ sth r6, 4(r5) +/* 802C92BC 002C4F1C B0 05 00 06 */ sth r0, 6(r5) +/* 802C92C0 002C4F20 A0 04 00 08 */ lhz r0, 8(r4) +/* 802C92C4 002C4F24 B0 05 00 08 */ sth r0, 8(r5) +/* 802C92C8 002C4F28 88 05 00 08 */ lbz r0, 8(r5) +/* 802C92CC 002C4F2C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a +/* 802C92D0 002C4F30 98 05 00 08 */ stb r0, 8(r5) +/* 802C92D4 002C4F34 4E 80 00 20 */ blr +lbl_802C92D8: +/* 802C92D8 002C4F38 38 E8 FF FF */ addi r7, r8, -1 +/* 802C92DC 002C4F3C 3C C0 80 40 */ lis r6, lbl_803FDDB8@ha +/* 802C92E0 002C4F40 54 E0 10 3A */ slwi r0, r7, 2 +/* 802C92E4 002C4F44 7C 07 00 50 */ subf r0, r7, r0 +/* 802C92E8 002C4F48 38 C6 DD B8 */ addi r6, r6, lbl_803FDDB8@l +/* 802C92EC 002C4F4C 7C E9 02 14 */ add r7, r9, r0 +/* 802C92F0 002C4F50 38 07 FF FF */ addi r0, r7, -1 +/* 802C92F4 002C4F54 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802C92F8 002C4F58 7C 06 00 AE */ lbzx r0, r6, r0 +/* 802C92FC 002C4F5C 2C 00 00 02 */ cmpwi r0, 2 +/* 802C9300 002C4F60 41 82 00 4C */ beq lbl_802C934C +/* 802C9304 002C4F64 40 80 00 10 */ bge lbl_802C9314 +/* 802C9308 002C4F68 2C 00 00 01 */ cmpwi r0, 1 +/* 802C930C 002C4F6C 40 80 00 14 */ bge lbl_802C9320 +/* 802C9310 002C4F70 48 00 00 FC */ b lbl_802C940C +lbl_802C9314: +/* 802C9314 002C4F74 2C 00 00 04 */ cmpwi r0, 4 +/* 802C9318 002C4F78 40 80 00 F4 */ bge lbl_802C940C +/* 802C931C 002C4F7C 48 00 00 60 */ b lbl_802C937C +lbl_802C9320: +/* 802C9320 002C4F80 A0 83 00 00 */ lhz r4, 0(r3) +/* 802C9324 002C4F84 A0 03 00 02 */ lhz r0, 2(r3) +/* 802C9328 002C4F88 B0 85 00 00 */ sth r4, 0(r5) +/* 802C932C 002C4F8C B0 05 00 02 */ sth r0, 2(r5) +/* 802C9330 002C4F90 A0 83 00 04 */ lhz r4, 4(r3) +/* 802C9334 002C4F94 A0 03 00 06 */ lhz r0, 6(r3) +/* 802C9338 002C4F98 B0 85 00 04 */ sth r4, 4(r5) +/* 802C933C 002C4F9C B0 05 00 06 */ sth r0, 6(r5) +/* 802C9340 002C4FA0 A0 03 00 08 */ lhz r0, 8(r3) +/* 802C9344 002C4FA4 B0 05 00 08 */ sth r0, 8(r5) +/* 802C9348 002C4FA8 4E 80 00 20 */ blr +lbl_802C934C: +/* 802C934C 002C4FAC A0 C4 00 00 */ lhz r6, 0(r4) +/* 802C9350 002C4FB0 7C 83 23 78 */ mr r3, r4 +/* 802C9354 002C4FB4 A0 04 00 02 */ lhz r0, 2(r4) +/* 802C9358 002C4FB8 B0 C5 00 00 */ sth r6, 0(r5) +/* 802C935C 002C4FBC B0 05 00 02 */ sth r0, 2(r5) +/* 802C9360 002C4FC0 A0 C4 00 04 */ lhz r6, 4(r4) +/* 802C9364 002C4FC4 A0 04 00 06 */ lhz r0, 6(r4) +/* 802C9368 002C4FC8 B0 C5 00 04 */ sth r6, 4(r5) +/* 802C936C 002C4FCC B0 05 00 06 */ sth r0, 6(r5) +/* 802C9370 002C4FD0 A0 04 00 08 */ lhz r0, 8(r4) +/* 802C9374 002C4FD4 B0 05 00 08 */ sth r0, 8(r5) +/* 802C9378 002C4FD8 4E 80 00 20 */ blr +lbl_802C937C: +/* 802C937C 002C4FDC 99 05 00 08 */ stb r8, 8(r5) +/* 802C9380 002C4FE0 A0 C4 00 00 */ lhz r6, 0(r4) +/* 802C9384 002C4FE4 A0 03 00 00 */ lhz r0, 0(r3) +/* 802C9388 002C4FE8 7C 00 30 40 */ cmplw r0, r6 +/* 802C938C 002C4FEC 40 80 00 08 */ bge lbl_802C9394 +/* 802C9390 002C4FF0 7C 06 03 78 */ mr r6, r0 +lbl_802C9394: +/* 802C9394 002C4FF4 B0 C5 00 00 */ sth r6, 0(r5) +/* 802C9398 002C4FF8 A0 E4 00 02 */ lhz r7, 2(r4) +/* 802C939C 002C4FFC A0 03 00 02 */ lhz r0, 2(r3) +/* 802C93A0 002C5000 7C 00 38 40 */ cmplw r0, r7 +/* 802C93A4 002C5004 40 81 00 08 */ ble lbl_802C93AC +/* 802C93A8 002C5008 7C 07 03 78 */ mr r7, r0 +lbl_802C93AC: +/* 802C93AC 002C500C A0 C5 00 00 */ lhz r6, 0(r5) +/* 802C93B0 002C5010 54 E0 04 3E */ clrlwi r0, r7, 0x10 +/* 802C93B4 002C5014 B0 E5 00 02 */ sth r7, 2(r5) +/* 802C93B8 002C5018 7C 06 00 40 */ cmplw r6, r0 +/* 802C93BC 002C501C 40 80 00 0C */ bge lbl_802C93C8 +/* 802C93C0 002C5020 38 60 00 00 */ li r3, 0 +/* 802C93C4 002C5024 4E 80 00 20 */ blr +lbl_802C93C8: +/* 802C93C8 002C5028 88 05 00 08 */ lbz r0, 8(r5) +/* 802C93CC 002C502C 28 00 00 02 */ cmplwi r0, 2 +/* 802C93D0 002C5030 40 82 00 34 */ bne lbl_802C9404 +/* 802C93D4 002C5034 A0 C4 00 04 */ lhz r6, 4(r4) +/* 802C93D8 002C5038 A0 03 00 04 */ lhz r0, 4(r3) +/* 802C93DC 002C503C 7C 00 30 40 */ cmplw r0, r6 +/* 802C93E0 002C5040 40 81 00 08 */ ble lbl_802C93E8 +/* 802C93E4 002C5044 7C 06 03 78 */ mr r6, r0 +lbl_802C93E8: +/* 802C93E8 002C5048 B0 C5 00 04 */ sth r6, 4(r5) +/* 802C93EC 002C504C A0 84 00 06 */ lhz r4, 6(r4) +/* 802C93F0 002C5050 A0 03 00 06 */ lhz r0, 6(r3) +/* 802C93F4 002C5054 7C 00 20 40 */ cmplw r0, r4 +/* 802C93F8 002C5058 40 81 00 08 */ ble lbl_802C9400 +/* 802C93FC 002C505C 7C 04 03 78 */ mr r4, r0 +lbl_802C9400: +/* 802C9400 002C5060 B0 85 00 06 */ sth r4, 6(r5) +lbl_802C9404: +/* 802C9404 002C5064 7C A3 2B 78 */ mr r3, r5 +/* 802C9408 002C5068 4E 80 00 20 */ blr +lbl_802C940C: +/* 802C940C 002C506C 38 60 00 00 */ li r3, 0 +/* 802C9410 002C5070 4E 80 00 20 */ blr + +.global func_802C9414 +func_802C9414: +/* 802C9414 002C5074 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C9418 002C5078 7C 08 02 A6 */ mflr r0 +/* 802C941C 002C507C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C9420 002C5080 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C9424 002C5084 4B EF DD 01 */ bl _savegpr_26 +/* 802C9428 002C5088 2C 05 00 00 */ cmpwi r5, 0 +/* 802C942C 002C508C 7C 7A 1B 78 */ mr r26, r3 +/* 802C9430 002C5090 7C BB 2B 78 */ mr r27, r5 +/* 802C9434 002C5094 7C DC 33 78 */ mr r28, r6 +/* 802C9438 002C5098 38 E0 00 00 */ li r7, 0 +/* 802C943C 002C509C 41 82 00 48 */ beq lbl_802C9484 +/* 802C9440 002C50A0 88 05 00 08 */ lbz r0, 8(r5) +/* 802C9444 002C50A4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 802C9448 002C50A8 41 82 00 3C */ beq lbl_802C9484 +/* 802C944C 002C50AC A0 65 00 00 */ lhz r3, 0(r5) +/* 802C9450 002C50B0 A0 05 00 02 */ lhz r0, 2(r5) +/* 802C9454 002C50B4 B0 66 00 00 */ sth r3, 0(r6) +/* 802C9458 002C50B8 B0 06 00 02 */ sth r0, 2(r6) +/* 802C945C 002C50BC A0 65 00 04 */ lhz r3, 4(r5) +/* 802C9460 002C50C0 A0 05 00 06 */ lhz r0, 6(r5) +/* 802C9464 002C50C4 B0 66 00 04 */ sth r3, 4(r6) +/* 802C9468 002C50C8 B0 06 00 06 */ sth r0, 6(r6) +/* 802C946C 002C50CC A0 05 00 08 */ lhz r0, 8(r5) +/* 802C9470 002C50D0 B0 06 00 08 */ sth r0, 8(r6) +/* 802C9474 002C50D4 88 06 00 08 */ lbz r0, 8(r6) +/* 802C9478 002C50D8 54 03 07 34 */ rlwinm r3, r0, 0, 0x1c, 0x1a +/* 802C947C 002C50DC 98 66 00 08 */ stb r3, 8(r6) +/* 802C9480 002C50E0 48 00 00 DC */ b lbl_802C955C +lbl_802C9484: +/* 802C9484 002C50E4 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802C9488 002C50E8 7C 9E 23 78 */ mr r30, r4 +/* 802C948C 002C50EC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802C9490 002C50F0 3B A0 00 00 */ li r29, 0 +lbl_802C9494: +/* 802C9494 002C50F4 88 1F 05 58 */ lbz r0, 0x558(r31) +/* 802C9498 002C50F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802C949C 002C50FC 41 82 00 3C */ beq lbl_802C94D8 +/* 802C94A0 002C5100 88 1E 00 08 */ lbz r0, 8(r30) +/* 802C94A4 002C5104 2C 00 00 00 */ cmpwi r0, 0 +/* 802C94A8 002C5108 40 82 00 0C */ bne lbl_802C94B4 +/* 802C94AC 002C510C 38 60 00 00 */ li r3, 0 +/* 802C94B0 002C5110 48 00 00 AC */ b lbl_802C955C +lbl_802C94B4: +/* 802C94B4 002C5114 7C E3 3B 78 */ mr r3, r7 +/* 802C94B8 002C5118 7F C4 F3 78 */ mr r4, r30 +/* 802C94BC 002C511C 7F 85 E3 78 */ mr r5, r28 +/* 802C94C0 002C5120 4B FF FD 39 */ bl func_802C91F8 +/* 802C94C4 002C5124 2C 03 00 00 */ cmpwi r3, 0 +/* 802C94C8 002C5128 40 82 00 0C */ bne lbl_802C94D4 +/* 802C94CC 002C512C 38 60 00 00 */ li r3, 0 +/* 802C94D0 002C5130 48 00 00 8C */ b lbl_802C955C +lbl_802C94D4: +/* 802C94D4 002C5134 7F 87 E3 78 */ mr r7, r28 +lbl_802C94D8: +/* 802C94D8 002C5138 3B BD 00 01 */ addi r29, r29, 1 +/* 802C94DC 002C513C 3B DE 00 0A */ addi r30, r30, 0xa +/* 802C94E0 002C5140 2C 1D 00 02 */ cmpwi r29, 2 +/* 802C94E4 002C5144 3B FF 00 08 */ addi r31, r31, 8 +/* 802C94E8 002C5148 41 80 FF AC */ blt lbl_802C9494 +/* 802C94EC 002C514C 2C 07 00 00 */ cmpwi r7, 0 +/* 802C94F0 002C5150 40 82 00 40 */ bne lbl_802C9530 +/* 802C94F4 002C5154 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C94F8 002C5158 41 82 00 30 */ beq lbl_802C9528 +/* 802C94FC 002C515C A0 7B 00 00 */ lhz r3, 0(r27) +/* 802C9500 002C5160 A0 1B 00 02 */ lhz r0, 2(r27) +/* 802C9504 002C5164 B0 7C 00 00 */ sth r3, 0(r28) +/* 802C9508 002C5168 B0 1C 00 02 */ sth r0, 2(r28) +/* 802C950C 002C516C A0 7B 00 04 */ lhz r3, 4(r27) +/* 802C9510 002C5170 A0 1B 00 06 */ lhz r0, 6(r27) +/* 802C9514 002C5174 B0 7C 00 04 */ sth r3, 4(r28) +/* 802C9518 002C5178 B0 1C 00 06 */ sth r0, 6(r28) +/* 802C951C 002C517C A0 1B 00 08 */ lhz r0, 8(r27) +/* 802C9520 002C5180 B0 1C 00 08 */ sth r0, 8(r28) +/* 802C9524 002C5184 48 00 00 34 */ b lbl_802C9558 +lbl_802C9528: +/* 802C9528 002C5188 38 60 00 00 */ li r3, 0 +/* 802C952C 002C518C 48 00 00 30 */ b lbl_802C955C +lbl_802C9530: +/* 802C9530 002C5190 28 1A 00 80 */ cmplwi r26, 0x80 +/* 802C9534 002C5194 40 82 00 24 */ bne lbl_802C9558 +/* 802C9538 002C5198 7F 63 DB 78 */ mr r3, r27 +/* 802C953C 002C519C 7C E4 3B 78 */ mr r4, r7 +/* 802C9540 002C51A0 7F 85 E3 78 */ mr r5, r28 +/* 802C9544 002C51A4 4B FF FC B5 */ bl func_802C91F8 +/* 802C9548 002C51A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802C954C 002C51AC 40 82 00 0C */ bne lbl_802C9558 +/* 802C9550 002C51B0 38 60 00 00 */ li r3, 0 +/* 802C9554 002C51B4 48 00 00 08 */ b lbl_802C955C +lbl_802C9558: +/* 802C9558 002C51B8 88 7C 00 08 */ lbz r3, 8(r28) +lbl_802C955C: +/* 802C955C 002C51BC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C9560 002C51C0 4B EF DC 11 */ bl _restgpr_26 +/* 802C9564 002C51C4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C9568 002C51C8 7C 08 03 A6 */ mtlr r0 +/* 802C956C 002C51CC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C9570 002C51D0 4E 80 00 20 */ blr + +.global func_802C9574 +func_802C9574: +/* 802C9574 002C51D4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C9578 002C51D8 7C 08 02 A6 */ mflr r0 +/* 802C957C 002C51DC 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C9580 002C51E0 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C9584 002C51E4 1C 04 00 22 */ mulli r0, r4, 0x22 +/* 802C9588 002C51E8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C958C 002C51EC 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802C9590 002C51F0 3B E0 00 00 */ li r31, 0 +/* 802C9594 002C51F4 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802C9598 002C51F8 7C 9E 23 78 */ mr r30, r4 +/* 802C959C 002C51FC 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802C95A0 002C5200 7C 7D 1B 78 */ mr r29, r3 +/* 802C95A4 002C5204 7C 66 02 14 */ add r3, r6, r0 +/* 802C95A8 002C5208 38 C1 00 08 */ addi r6, r1, 8 +/* 802C95AC 002C520C 93 81 00 20 */ stw r28, 0x20(r1) +/* 802C95B0 002C5210 3B 83 04 CC */ addi r28, r3, 0x4cc +/* 802C95B4 002C5214 7F A3 EB 78 */ mr r3, r29 +/* 802C95B8 002C5218 7F 84 E3 78 */ mr r4, r28 +/* 802C95BC 002C521C 4B FF FE 59 */ bl func_802C9414 +/* 802C95C0 002C5220 88 9C 00 20 */ lbz r4, 0x20(r28) +/* 802C95C4 002C5224 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802C95C8 002C5228 98 61 00 10 */ stb r3, 0x10(r1) +/* 802C95CC 002C522C 7C 04 00 40 */ cmplw r4, r0 +/* 802C95D0 002C5230 40 82 00 34 */ bne lbl_802C9604 +/* 802C95D4 002C5234 2C 00 00 00 */ cmpwi r0, 0 +/* 802C95D8 002C5238 41 82 00 20 */ beq lbl_802C95F8 +/* 802C95DC 002C523C A0 9C 00 1E */ lhz r4, 0x1e(r28) +/* 802C95E0 002C5240 A0 01 00 08 */ lhz r0, 8(r1) +/* 802C95E4 002C5244 7C 00 20 40 */ cmplw r0, r4 +/* 802C95E8 002C5248 41 80 00 18 */ blt lbl_802C9600 +/* 802C95EC 002C524C A0 01 00 0A */ lhz r0, 0xa(r1) +/* 802C95F0 002C5250 7C 00 20 40 */ cmplw r0, r4 +/* 802C95F4 002C5254 41 81 00 0C */ bgt lbl_802C9600 +lbl_802C95F8: +/* 802C95F8 002C5258 38 60 00 0D */ li r3, 0xd +/* 802C95FC 002C525C 48 00 01 8C */ b lbl_802C9788 +lbl_802C9600: +/* 802C9600 002C5260 3B E0 00 01 */ li r31, 1 +lbl_802C9604: +/* 802C9604 002C5264 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C9608 002C5268 9B FC 00 21 */ stb r31, 0x21(r28) +/* 802C960C 002C526C 41 82 00 18 */ beq lbl_802C9624 +/* 802C9610 002C5270 88 1C 00 20 */ lbz r0, 0x20(r28) +/* 802C9614 002C5274 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9618 002C5278 41 82 00 0C */ beq lbl_802C9624 +/* 802C961C 002C527C 38 00 00 01 */ li r0, 1 +/* 802C9620 002C5280 98 1C 00 21 */ stb r0, 0x21(r28) +lbl_802C9624: +/* 802C9624 002C5284 38 60 00 02 */ li r3, 2 +/* 802C9628 002C5288 4B FF 06 25 */ bl func_802B9C4C +/* 802C962C 002C528C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C9630 002C5290 7C 7F 1B 78 */ mr r31, r3 +/* 802C9634 002C5294 40 82 00 0C */ bne lbl_802C9640 +/* 802C9638 002C5298 38 60 00 03 */ li r3, 3 +/* 802C963C 002C529C 48 00 01 4C */ b lbl_802C9788 +lbl_802C9640: +/* 802C9640 002C52A0 88 1C 00 21 */ lbz r0, 0x21(r28) +/* 802C9644 002C52A4 28 00 00 01 */ cmplwi r0, 1 +/* 802C9648 002C52A8 40 82 00 0C */ bne lbl_802C9654 +/* 802C964C 002C52AC 38 00 00 00 */ li r0, 0 +/* 802C9650 002C52B0 98 01 00 10 */ stb r0, 0x10(r1) +lbl_802C9654: +/* 802C9654 002C52B4 88 01 00 10 */ lbz r0, 0x10(r1) +/* 802C9658 002C52B8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C965C 002C52BC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C9660 002C52C0 2C 00 00 02 */ cmpwi r0, 2 +/* 802C9664 002C52C4 9B C4 05 64 */ stb r30, 0x564(r4) +/* 802C9668 002C52C8 9B A4 05 65 */ stb r29, 0x565(r4) +/* 802C966C 002C52CC 41 82 00 A4 */ beq lbl_802C9710 +/* 802C9670 002C52D0 40 80 00 14 */ bge lbl_802C9684 +/* 802C9674 002C52D4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9678 002C52D8 41 82 00 18 */ beq lbl_802C9690 +/* 802C967C 002C52DC 40 80 00 74 */ bge lbl_802C96F0 +/* 802C9680 002C52E0 48 00 00 D8 */ b lbl_802C9758 +lbl_802C9684: +/* 802C9684 002C52E4 2C 00 00 04 */ cmpwi r0, 4 +/* 802C9688 002C52E8 40 80 00 D0 */ bge lbl_802C9758 +/* 802C968C 002C52EC 48 00 00 AC */ b lbl_802C9738 +lbl_802C9690: +/* 802C9690 002C52F0 88 1C 00 20 */ lbz r0, 0x20(r28) +/* 802C9694 002C52F4 2C 00 00 03 */ cmpwi r0, 3 +/* 802C9698 002C52F8 41 82 00 2C */ beq lbl_802C96C4 +/* 802C969C 002C52FC 40 80 00 40 */ bge lbl_802C96DC +/* 802C96A0 002C5300 2C 00 00 02 */ cmpwi r0, 2 +/* 802C96A4 002C5304 40 80 00 08 */ bge lbl_802C96AC +/* 802C96A8 002C5308 48 00 00 34 */ b lbl_802C96DC +lbl_802C96AC: +/* 802C96AC 002C530C 1C 1E 01 1C */ mulli r0, r30, 0x11c +/* 802C96B0 002C5310 7F E3 FB 78 */ mr r3, r31 +/* 802C96B4 002C5314 7C 84 02 14 */ add r4, r4, r0 +/* 802C96B8 002C5318 A0 84 00 34 */ lhz r4, 0x34(r4) +/* 802C96BC 002C531C 48 00 78 B1 */ bl func_802D0F6C +/* 802C96C0 002C5320 48 00 00 A8 */ b lbl_802C9768 +lbl_802C96C4: +/* 802C96C4 002C5324 1C 1E 01 1C */ mulli r0, r30, 0x11c +/* 802C96C8 002C5328 7F E3 FB 78 */ mr r3, r31 +/* 802C96CC 002C532C 7C 84 02 14 */ add r4, r4, r0 +/* 802C96D0 002C5330 A0 84 00 34 */ lhz r4, 0x34(r4) +/* 802C96D4 002C5334 48 00 79 D1 */ bl func_802D10A4 +/* 802C96D8 002C5338 48 00 00 90 */ b lbl_802C9768 +lbl_802C96DC: +/* 802C96DC 002C533C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C96E0 002C5340 38 00 00 04 */ li r0, 4 +/* 802C96E4 002C5344 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C96E8 002C5348 98 03 05 64 */ stb r0, 0x564(r3) +/* 802C96EC 002C534C 48 00 00 7C */ b lbl_802C9768 +lbl_802C96F0: +/* 802C96F0 002C5350 1C 1E 01 1C */ mulli r0, r30, 0x11c +/* 802C96F4 002C5354 A0 A1 00 08 */ lhz r5, 8(r1) +/* 802C96F8 002C5358 A0 C1 00 0A */ lhz r6, 0xa(r1) +/* 802C96FC 002C535C 7F E3 FB 78 */ mr r3, r31 +/* 802C9700 002C5360 7C 84 02 14 */ add r4, r4, r0 +/* 802C9704 002C5364 A0 84 00 34 */ lhz r4, 0x34(r4) +/* 802C9708 002C5368 48 00 76 E5 */ bl func_802D0DEC +/* 802C970C 002C536C 48 00 00 5C */ b lbl_802C9768 +lbl_802C9710: +/* 802C9710 002C5370 1C 1E 01 1C */ mulli r0, r30, 0x11c +/* 802C9714 002C5374 A0 A1 00 08 */ lhz r5, 8(r1) +/* 802C9718 002C5378 A0 C1 00 0A */ lhz r6, 0xa(r1) +/* 802C971C 002C537C 7F E3 FB 78 */ mr r3, r31 +/* 802C9720 002C5380 A0 E1 00 0C */ lhz r7, 0xc(r1) +/* 802C9724 002C5384 7C 84 02 14 */ add r4, r4, r0 +/* 802C9728 002C5388 A0 84 00 34 */ lhz r4, 0x34(r4) +/* 802C972C 002C538C A1 01 00 0E */ lhz r8, 0xe(r1) +/* 802C9730 002C5390 48 00 77 71 */ bl func_802D0EA0 +/* 802C9734 002C5394 48 00 00 34 */ b lbl_802C9768 +lbl_802C9738: +/* 802C9738 002C5398 1C 1E 01 1C */ mulli r0, r30, 0x11c +/* 802C973C 002C539C A0 A1 00 08 */ lhz r5, 8(r1) +/* 802C9740 002C53A0 A0 C1 00 0A */ lhz r6, 0xa(r1) +/* 802C9744 002C53A4 7F E3 FB 78 */ mr r3, r31 +/* 802C9748 002C53A8 7C 84 02 14 */ add r4, r4, r0 +/* 802C974C 002C53AC A0 84 00 34 */ lhz r4, 0x34(r4) +/* 802C9750 002C53B0 48 00 78 A1 */ bl func_802D0FF0 +/* 802C9754 002C53B4 48 00 00 14 */ b lbl_802C9768 +lbl_802C9758: +/* 802C9758 002C53B8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C975C 002C53BC 38 00 00 04 */ li r0, 4 +/* 802C9760 002C53C0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9764 002C53C4 98 03 05 64 */ stb r0, 0x564(r3) +lbl_802C9768: +/* 802C9768 002C53C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C976C 002C53CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9770 002C53D0 88 03 05 64 */ lbz r0, 0x564(r3) +/* 802C9774 002C53D4 28 00 00 04 */ cmplwi r0, 4 +/* 802C9778 002C53D8 40 82 00 0C */ bne lbl_802C9784 +/* 802C977C 002C53DC 7F E3 FB 78 */ mr r3, r31 +/* 802C9780 002C53E0 4B FF 05 B5 */ bl func_802B9D34 +lbl_802C9784: +/* 802C9784 002C53E4 38 60 00 01 */ li r3, 1 +lbl_802C9788: +/* 802C9788 002C53E8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C978C 002C53EC 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802C9790 002C53F0 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802C9794 002C53F4 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802C9798 002C53F8 83 81 00 20 */ lwz r28, 0x20(r1) +/* 802C979C 002C53FC 7C 08 03 A6 */ mtlr r0 +/* 802C97A0 002C5400 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C97A4 002C5404 4E 80 00 20 */ blr + +.global func_802C97A8 +func_802C97A8: +/* 802C97A8 002C5408 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802C97AC 002C540C 7C 08 02 A6 */ mflr r0 +/* 802C97B0 002C5410 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C97B4 002C5414 90 01 00 14 */ stw r0, 0x14(r1) +/* 802C97B8 002C5418 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C97BC 002C541C 88 04 05 64 */ lbz r0, 0x564(r4) +/* 802C97C0 002C5420 28 00 00 04 */ cmplwi r0, 4 +/* 802C97C4 002C5424 40 80 00 84 */ bge lbl_802C9848 +/* 802C97C8 002C5428 1C 00 00 22 */ mulli r0, r0, 0x22 +/* 802C97CC 002C542C 2C 03 00 00 */ cmpwi r3, 0 +/* 802C97D0 002C5430 7C A4 02 14 */ add r5, r4, r0 +/* 802C97D4 002C5434 40 82 00 14 */ bne lbl_802C97E8 +/* 802C97D8 002C5438 38 00 00 04 */ li r0, 4 +/* 802C97DC 002C543C 38 80 00 04 */ li r4, 4 +/* 802C97E0 002C5440 98 05 04 EC */ stb r0, 0x4ec(r5) +/* 802C97E4 002C5444 48 00 00 08 */ b lbl_802C97EC +lbl_802C97E8: +/* 802C97E8 002C5448 38 80 00 05 */ li r4, 5 +lbl_802C97EC: +/* 802C97EC 002C544C 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802C97F0 002C5450 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802C97F4 002C5454 88 07 05 65 */ lbz r0, 0x565(r7) +/* 802C97F8 002C5458 28 00 00 80 */ cmplwi r0, 0x80 +/* 802C97FC 002C545C 41 82 00 3C */ beq lbl_802C9838 +/* 802C9800 002C5460 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c +/* 802C9804 002C5464 7C A7 02 14 */ add r5, r7, r0 +/* 802C9808 002C5468 88 05 05 58 */ lbz r0, 0x558(r5) +/* 802C980C 002C546C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802C9810 002C5470 41 82 00 28 */ beq lbl_802C9838 +/* 802C9814 002C5474 88 07 05 64 */ lbz r0, 0x564(r7) +/* 802C9818 002C5478 7C 66 1B 78 */ mr r6, r3 +/* 802C981C 002C547C 81 85 05 54 */ lwz r12, 0x554(r5) +/* 802C9820 002C5480 38 A0 00 00 */ li r5, 0 +/* 802C9824 002C5484 1C 00 01 1C */ mulli r0, r0, 0x11c +/* 802C9828 002C5488 7C 67 02 14 */ add r3, r7, r0 +/* 802C982C 002C548C 38 63 00 3C */ addi r3, r3, 0x3c +/* 802C9830 002C5490 7D 89 03 A6 */ mtctr r12 +/* 802C9834 002C5494 4E 80 04 21 */ bctrl +lbl_802C9838: +/* 802C9838 002C5498 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C983C 002C549C 38 00 00 04 */ li r0, 4 +/* 802C9840 002C54A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9844 002C54A4 98 03 05 64 */ stb r0, 0x564(r3) +lbl_802C9848: +/* 802C9848 002C54A8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802C984C 002C54AC 7C 08 03 A6 */ mtlr r0 +/* 802C9850 002C54B0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802C9854 002C54B4 4E 80 00 20 */ blr + +.global func_802C9858 +func_802C9858: +/* 802C9858 002C54B8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C985C 002C54BC 7C 08 02 A6 */ mflr r0 +/* 802C9860 002C54C0 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C9864 002C54C4 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C9868 002C54C8 4B EF D8 B5 */ bl _savegpr_24 +/* 802C986C 002C54CC 7C 9A 23 78 */ mr r26, r4 +/* 802C9870 002C54D0 7C 79 1B 78 */ mr r25, r3 +/* 802C9874 002C54D4 7C BB 2B 78 */ mr r27, r5 +/* 802C9878 002C54D8 7C DC 33 78 */ mr r28, r6 +/* 802C987C 002C54DC 7F 43 D3 78 */ mr r3, r26 +/* 802C9880 002C54E0 4B FF 9B C9 */ bl func_802C3448 +/* 802C9884 002C54E4 54 7D 06 3E */ clrlwi r29, r3, 0x18 +/* 802C9888 002C54E8 2C 1D 00 04 */ cmpwi r29, 4 +/* 802C988C 002C54EC 40 80 01 DC */ bge lbl_802C9A68 +/* 802C9890 002C54F0 1F DD 01 1C */ mulli r30, r29, 0x11c +/* 802C9894 002C54F4 3F 00 80 57 */ lis r24, lbl_80568B78@ha +/* 802C9898 002C54F8 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C989C 002C54FC 3B 18 8B 78 */ addi r24, r24, lbl_80568B78@l +/* 802C98A0 002C5500 7F F8 F2 14 */ add r31, r24, r30 +/* 802C98A4 002C5504 40 82 00 58 */ bne lbl_802C98FC +/* 802C98A8 002C5508 A0 1F 00 38 */ lhz r0, 0x38(r31) +/* 802C98AC 002C550C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C98B0 002C5510 41 82 00 4C */ beq lbl_802C98FC +/* 802C98B4 002C5514 48 00 0F 1D */ bl func_802CA7D0 +/* 802C98B8 002C5518 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C98BC 002C551C 40 82 00 40 */ bne lbl_802C98FC +/* 802C98C0 002C5520 38 00 00 00 */ li r0, 0 +/* 802C98C4 002C5524 B0 1F 00 38 */ sth r0, 0x38(r31) +/* 802C98C8 002C5528 88 18 27 C0 */ lbz r0, 0x27c0(r24) +/* 802C98CC 002C552C 28 00 00 05 */ cmplwi r0, 5 +/* 802C98D0 002C5530 41 80 00 20 */ blt lbl_802C98F0 +/* 802C98D4 002C5534 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802C98D8 002C5538 3C 80 80 44 */ lis r4, lbl_80441550@ha +/* 802C98DC 002C553C A0 DF 00 36 */ lhz r6, 0x36(r31) +/* 802C98E0 002C5540 7F 45 D3 78 */ mr r5, r26 +/* 802C98E4 002C5544 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802C98E8 002C5548 38 84 15 50 */ addi r4, r4, lbl_80441550@l +/* 802C98EC 002C554C 4B FF 36 55 */ bl func_802BCF40 +lbl_802C98F0: +/* 802C98F0 002C5550 A0 7F 00 34 */ lhz r3, 0x34(r31) +/* 802C98F4 002C5554 A0 9F 00 36 */ lhz r4, 0x36(r31) +/* 802C98F8 002C5558 48 00 6E 2D */ bl func_802D0724 +lbl_802C98FC: +/* 802C98FC 002C555C 1C 1D 00 22 */ mulli r0, r29, 0x22 +/* 802C9900 002C5560 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9904 002C5564 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C9908 002C5568 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C990C 002C556C 7C 83 02 14 */ add r4, r3, r0 +/* 802C9910 002C5570 9B 64 04 EC */ stb r27, 0x4ec(r4) +/* 802C9914 002C5574 38 00 00 00 */ li r0, 0 +/* 802C9918 002C5578 B3 84 04 EA */ sth r28, 0x4ea(r4) +/* 802C991C 002C557C 40 82 00 14 */ bne lbl_802C9930 +/* 802C9920 002C5580 88 64 04 D4 */ lbz r3, 0x4d4(r4) +/* 802C9924 002C5584 28 03 00 01 */ cmplwi r3, 1 +/* 802C9928 002C5588 40 82 00 08 */ bne lbl_802C9930 +/* 802C992C 002C558C 98 04 04 D4 */ stb r0, 0x4d4(r4) +lbl_802C9930: +/* 802C9930 002C5590 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C9934 002C5594 38 A4 04 D6 */ addi r5, r4, 0x4d6 +/* 802C9938 002C5598 40 82 00 14 */ bne lbl_802C994C +/* 802C993C 002C559C 88 65 00 08 */ lbz r3, 8(r5) +/* 802C9940 002C55A0 28 03 00 01 */ cmplwi r3, 1 +/* 802C9944 002C55A4 40 82 00 08 */ bne lbl_802C994C +/* 802C9948 002C55A8 98 05 00 08 */ stb r0, 8(r5) +lbl_802C994C: +/* 802C994C 002C55AC 88 04 04 ED */ lbz r0, 0x4ed(r4) +/* 802C9950 002C55B0 28 00 00 01 */ cmplwi r0, 1 +/* 802C9954 002C55B4 40 82 00 14 */ bne lbl_802C9968 +/* 802C9958 002C55B8 7F A4 EB 78 */ mr r4, r29 +/* 802C995C 002C55BC 38 60 00 80 */ li r3, 0x80 +/* 802C9960 002C55C0 38 A0 00 00 */ li r5, 0 +/* 802C9964 002C55C4 4B FF FC 11 */ bl func_802C9574 +lbl_802C9968: +/* 802C9968 002C55C8 3F 00 80 57 */ lis r24, lbl_80568B78@ha +/* 802C996C 002C55CC 3B A0 00 00 */ li r29, 0 +/* 802C9970 002C55D0 3B 18 8B 78 */ addi r24, r24, lbl_80568B78@l +lbl_802C9974: +/* 802C9974 002C55D4 88 18 05 58 */ lbz r0, 0x558(r24) +/* 802C9978 002C55D8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802C997C 002C55DC 41 82 00 20 */ beq lbl_802C999C +/* 802C9980 002C55E0 81 98 05 54 */ lwz r12, 0x554(r24) +/* 802C9984 002C55E4 7F 64 DB 78 */ mr r4, r27 +/* 802C9988 002C55E8 7F 85 E3 78 */ mr r5, r28 +/* 802C998C 002C55EC 7F 26 CB 78 */ mr r6, r25 +/* 802C9990 002C55F0 38 7F 00 3C */ addi r3, r31, 0x3c +/* 802C9994 002C55F4 7D 89 03 A6 */ mtctr r12 +/* 802C9998 002C55F8 4E 80 04 21 */ bctrl +lbl_802C999C: +/* 802C999C 002C55FC 3B BD 00 01 */ addi r29, r29, 1 +/* 802C99A0 002C5600 3B 18 00 08 */ addi r24, r24, 8 +/* 802C99A4 002C5604 2C 1D 00 02 */ cmpwi r29, 2 +/* 802C99A8 002C5608 41 80 FF CC */ blt lbl_802C9974 +/* 802C99AC 002C560C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C99B0 002C5610 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C99B4 002C5614 7F 83 F2 14 */ add r28, r3, r30 +/* 802C99B8 002C5618 88 1C 01 4F */ lbz r0, 0x14f(r28) +/* 802C99BC 002C561C 28 00 00 01 */ cmplwi r0, 1 +/* 802C99C0 002C5620 40 82 00 A8 */ bne lbl_802C9A68 +/* 802C99C4 002C5624 3B 1C 00 3C */ addi r24, r28, 0x3c +/* 802C99C8 002C5628 7F 03 C3 78 */ mr r3, r24 +/* 802C99CC 002C562C 4B FF BC 51 */ bl func_802C561C +/* 802C99D0 002C5630 2C 03 00 00 */ cmpwi r3, 0 +/* 802C99D4 002C5634 41 82 00 30 */ beq lbl_802C9A04 +/* 802C99D8 002C5638 88 03 00 76 */ lbz r0, 0x76(r3) +/* 802C99DC 002C563C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802C99E0 002C5640 41 82 00 24 */ beq lbl_802C9A04 +/* 802C99E4 002C5644 7F 43 D3 78 */ mr r3, r26 +/* 802C99E8 002C5648 38 80 00 00 */ li r4, 0 +/* 802C99EC 002C564C 48 00 6E 45 */ bl func_802D0830 +/* 802C99F0 002C5650 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C99F4 002C5654 41 82 00 44 */ beq lbl_802C9A38 +/* 802C99F8 002C5658 38 00 00 02 */ li r0, 2 +/* 802C99FC 002C565C 98 1C 01 4F */ stb r0, 0x14f(r28) +/* 802C9A00 002C5660 48 00 00 68 */ b lbl_802C9A68 +lbl_802C9A04: +/* 802C9A04 002C5664 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C9A08 002C5668 7F 03 C3 78 */ mr r3, r24 +/* 802C9A0C 002C566C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C9A10 002C5670 7C 84 F2 14 */ add r4, r4, r30 +/* 802C9A14 002C5674 88 04 01 4E */ lbz r0, 0x14e(r4) +/* 802C9A18 002C5678 7C 00 00 34 */ cntlzw r0, r0 +/* 802C9A1C 002C567C 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f +/* 802C9A20 002C5680 48 00 77 09 */ bl func_802D1128 +/* 802C9A24 002C5684 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C9A28 002C5688 41 82 00 10 */ beq lbl_802C9A38 +/* 802C9A2C 002C568C 38 00 00 00 */ li r0, 0 +/* 802C9A30 002C5690 98 1C 01 4F */ stb r0, 0x14f(r28) +/* 802C9A34 002C5694 48 00 00 34 */ b lbl_802C9A68 +lbl_802C9A38: +/* 802C9A38 002C5698 3B 60 00 00 */ li r27, 0 +/* 802C9A3C 002C569C 3F 40 80 57 */ lis r26, lbl_80568B78@ha +/* 802C9A40 002C56A0 9B 7C 01 4F */ stb r27, 0x14f(r28) +/* 802C9A44 002C56A4 3B 5A 8B 78 */ addi r26, r26, lbl_80568B78@l +/* 802C9A48 002C56A8 81 9A 06 2C */ lwz r12, 0x62c(r26) +/* 802C9A4C 002C56AC 2C 0C 00 00 */ cmpwi r12, 0 +/* 802C9A50 002C56B0 41 82 00 18 */ beq lbl_802C9A68 +/* 802C9A54 002C56B4 9B 3A 06 24 */ stb r25, 0x624(r26) +/* 802C9A58 002C56B8 38 7A 06 24 */ addi r3, r26, 0x624 +/* 802C9A5C 002C56BC 7D 89 03 A6 */ mtctr r12 +/* 802C9A60 002C56C0 4E 80 04 21 */ bctrl +/* 802C9A64 002C56C4 93 7A 06 2C */ stw r27, 0x62c(r26) +lbl_802C9A68: +/* 802C9A68 002C56C8 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C9A6C 002C56CC 4B EF D6 FD */ bl _restgpr_24 +/* 802C9A70 002C56D0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802C9A74 002C56D4 7C 08 03 A6 */ mtlr r0 +/* 802C9A78 002C56D8 38 21 00 30 */ addi r1, r1, 0x30 +/* 802C9A7C 002C56DC 4E 80 00 20 */ blr + +.global func_802C9A80 +func_802C9A80: +/* 802C9A80 002C56E0 3C 60 80 40 */ lis r3, lbl_80400004@ha +/* 802C9A84 002C56E4 84 C3 DD C8 */ lwzu r6, -0x2238(r3) +/* 802C9A88 002C56E8 3C 80 00 01 */ lis r4, 0x0000FFFF@ha +/* 802C9A8C 002C56EC 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802C9A90 002C56F0 39 04 FF FF */ addi r8, r4, 0x0000FFFF@l +/* 802C9A94 002C56F4 80 A3 00 04 */ lwz r5, lbl_80400004@l(r3) +/* 802C9A98 002C56F8 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802C9A9C 002C56FC 80 83 00 08 */ lwz r4, 8(r3) +/* 802C9AA0 002C5700 80 63 00 0C */ lwz r3, 0xc(r3) +/* 802C9AA4 002C5704 38 00 00 02 */ li r0, 2 +/* 802C9AA8 002C5708 B1 07 18 F6 */ sth r8, 0x18f6(r7) +/* 802C9AAC 002C570C 90 C7 18 F8 */ stw r6, 0x18f8(r7) +/* 802C9AB0 002C5710 90 A7 18 FC */ stw r5, 0x18fc(r7) +/* 802C9AB4 002C5714 90 87 19 00 */ stw r4, 0x1900(r7) +/* 802C9AB8 002C5718 90 67 19 04 */ stw r3, 0x1904(r7) +/* 802C9ABC 002C571C 98 07 19 09 */ stb r0, 0x1909(r7) +/* 802C9AC0 002C5720 4E 80 00 20 */ blr + +.global func_802C9AC4 +func_802C9AC4: +/* 802C9AC4 002C5724 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802C9AC8 002C5728 7C 08 02 A6 */ mflr r0 +/* 802C9ACC 002C572C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802C9AD0 002C5730 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C9AD4 002C5734 4B EF D6 51 */ bl _savegpr_26 +/* 802C9AD8 002C5738 7C 7A 1B 78 */ mr r26, r3 +/* 802C9ADC 002C573C 7C 9B 23 78 */ mr r27, r4 +/* 802C9AE0 002C5740 7C BD 2B 78 */ mr r29, r5 +/* 802C9AE4 002C5744 7C DC 33 78 */ mr r28, r6 +/* 802C9AE8 002C5748 3B E0 00 00 */ li r31, 0 +/* 802C9AEC 002C574C 38 60 00 02 */ li r3, 2 +/* 802C9AF0 002C5750 4B FF 01 5D */ bl func_802B9C4C +/* 802C9AF4 002C5754 2C 03 00 00 */ cmpwi r3, 0 +/* 802C9AF8 002C5758 7C 7E 1B 78 */ mr r30, r3 +/* 802C9AFC 002C575C 40 82 00 2C */ bne lbl_802C9B28 +/* 802C9B00 002C5760 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9B04 002C5764 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9B08 002C5768 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C9B0C 002C576C 28 00 00 01 */ cmplwi r0, 1 +/* 802C9B10 002C5770 41 80 01 78 */ blt lbl_802C9C88 +/* 802C9B14 002C5774 3C 80 80 44 */ lis r4, lbl_80441590@ha +/* 802C9B18 002C5778 3C 60 00 0D */ lis r3, 0xd +/* 802C9B1C 002C577C 38 84 15 90 */ addi r4, r4, lbl_80441590@l +/* 802C9B20 002C5780 4B FF 33 F1 */ bl func_802BCF10 +/* 802C9B24 002C5784 48 00 01 64 */ b lbl_802C9C88 +lbl_802C9B28: +/* 802C9B28 002C5788 28 1A 00 03 */ cmplwi r26, 3 +/* 802C9B2C 002C578C 40 80 00 18 */ bge lbl_802C9B44 +/* 802C9B30 002C5790 1C 1A 00 34 */ mulli r0, r26, 0x34 +/* 802C9B34 002C5794 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9B38 002C5798 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9B3C 002C579C 7C 63 02 14 */ add r3, r3, r0 +/* 802C9B40 002C57A0 3B E3 18 54 */ addi r31, r3, 0x1854 +lbl_802C9B44: +/* 802C9B44 002C57A4 2C 1B 00 00 */ cmpwi r27, 0 +/* 802C9B48 002C57A8 41 82 00 5C */ beq lbl_802C9BA4 +/* 802C9B4C 002C57AC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802C9B50 002C57B0 41 82 00 18 */ beq lbl_802C9B68 +/* 802C9B54 002C57B4 A0 7F 00 08 */ lhz r3, 8(r31) +/* 802C9B58 002C57B8 38 03 FF FE */ addi r0, r3, -2 +/* 802C9B5C 002C57BC 7C 00 00 34 */ cntlzw r0, r0 +/* 802C9B60 002C57C0 54 00 DC 3E */ rlwinm r0, r0, 0x1b, 0x10, 0x1f +/* 802C9B64 002C57C4 B0 1F 00 08 */ sth r0, 8(r31) +lbl_802C9B68: +/* 802C9B68 002C57C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9B6C 002C57CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9B70 002C57D0 88 03 19 08 */ lbz r0, 0x1908(r3) +/* 802C9B74 002C57D4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9B78 002C57D8 40 82 00 18 */ bne lbl_802C9B90 +/* 802C9B7C 002C57DC 7F C3 F3 78 */ mr r3, r30 +/* 802C9B80 002C57E0 7F A4 EB 78 */ mr r4, r29 +/* 802C9B84 002C57E4 7F 65 DB 78 */ mr r5, r27 +/* 802C9B88 002C57E8 48 00 66 7D */ bl func_802D0204 +/* 802C9B8C 002C57EC 48 00 00 FC */ b lbl_802C9C88 +lbl_802C9B90: +/* 802C9B90 002C57F0 7F C3 F3 78 */ mr r3, r30 +/* 802C9B94 002C57F4 7F A4 EB 78 */ mr r4, r29 +/* 802C9B98 002C57F8 7F 65 DB 78 */ mr r5, r27 +/* 802C9B9C 002C57FC 48 00 71 F1 */ bl func_802D0D8C +/* 802C9BA0 002C5800 48 00 00 E8 */ b lbl_802C9C88 +lbl_802C9BA4: +/* 802C9BA4 002C5804 38 60 00 01 */ li r3, 1 +/* 802C9BA8 002C5808 4B FF B3 A9 */ bl func_802C4F50 +/* 802C9BAC 002C580C 38 00 00 03 */ li r0, 3 +/* 802C9BB0 002C5810 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9BB4 002C5814 B0 1F 00 08 */ sth r0, 8(r31) +/* 802C9BB8 002C5818 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9BBC 002C581C 88 03 19 08 */ lbz r0, 0x1908(r3) +/* 802C9BC0 002C5820 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9BC4 002C5824 41 82 00 B4 */ beq lbl_802C9C78 +/* 802C9BC8 002C5828 88 1F 00 2E */ lbz r0, 0x2e(r31) +/* 802C9BCC 002C582C 28 00 00 02 */ cmplwi r0, 2 +/* 802C9BD0 002C5830 40 82 00 A8 */ bne lbl_802C9C78 +/* 802C9BD4 002C5834 2C 1C 00 00 */ cmpwi r28, 0 +/* 802C9BD8 002C5838 41 82 00 24 */ beq lbl_802C9BFC +/* 802C9BDC 002C583C 80 7C 00 00 */ lwz r3, 0(r28) +/* 802C9BE0 002C5840 80 1C 00 04 */ lwz r0, 4(r28) +/* 802C9BE4 002C5844 90 7F 00 14 */ stw r3, 0x14(r31) +/* 802C9BE8 002C5848 90 1F 00 18 */ stw r0, 0x18(r31) +/* 802C9BEC 002C584C 80 7C 00 08 */ lwz r3, 8(r28) +/* 802C9BF0 002C5850 80 1C 00 0C */ lwz r0, 0xc(r28) +/* 802C9BF4 002C5854 90 7F 00 1C */ stw r3, 0x1c(r31) +/* 802C9BF8 002C5858 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_802C9BFC: +/* 802C9BFC 002C585C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9C00 002C5860 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9C04 002C5864 A0 83 19 04 */ lhz r4, 0x1904(r3) +/* 802C9C08 002C5868 B0 9F 00 20 */ sth r4, 0x20(r31) +/* 802C9C0C 002C586C A0 A3 06 56 */ lhz r5, 0x656(r3) +/* 802C9C10 002C5870 7C 83 28 38 */ and r3, r4, r5 +/* 802C9C14 002C5874 54 60 06 B9 */ rlwinm. r0, r3, 0, 0x1a, 0x1c +/* 802C9C18 002C5878 54 7C 06 BE */ clrlwi r28, r3, 0x1a +/* 802C9C1C 002C587C 40 82 00 0C */ bne lbl_802C9C28 +/* 802C9C20 002C5880 63 80 00 08 */ ori r0, r28, 8 +/* 802C9C24 002C5884 54 1C 04 3E */ clrlwi r28, r0, 0x10 +lbl_802C9C28: +/* 802C9C28 002C5888 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9C2C 002C588C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9C30 002C5890 88 03 06 36 */ lbz r0, 0x636(r3) +/* 802C9C34 002C5894 28 00 00 03 */ cmplwi r0, 3 +/* 802C9C38 002C5898 41 80 00 14 */ blt lbl_802C9C4C +/* 802C9C3C 002C589C 7C 80 2B 78 */ or r0, r4, r5 +/* 802C9C40 002C58A0 54 00 05 B2 */ rlwinm r0, r0, 0, 0x16, 0x19 +/* 802C9C44 002C58A4 7F 80 03 78 */ or r0, r28, r0 +/* 802C9C48 002C58A8 54 1C 04 3E */ clrlwi r28, r0, 0x10 +lbl_802C9C4C: +/* 802C9C4C 002C58AC 80 BF 00 14 */ lwz r5, 0x14(r31) +/* 802C9C50 002C58B0 7F C3 F3 78 */ mr r3, r30 +/* 802C9C54 002C58B4 80 DF 00 18 */ lwz r6, 0x18(r31) +/* 802C9C58 002C58B8 7F A4 EB 78 */ mr r4, r29 +/* 802C9C5C 002C58BC A0 FF 00 1C */ lhz r7, 0x1c(r31) +/* 802C9C60 002C58C0 57 8A 04 3E */ clrlwi r10, r28, 0x10 +/* 802C9C64 002C58C4 A1 1F 00 1E */ lhz r8, 0x1e(r31) +/* 802C9C68 002C58C8 89 3F 00 22 */ lbz r9, 0x22(r31) +/* 802C9C6C 002C58CC 48 00 70 39 */ bl func_802D0CA4 +/* 802C9C70 002C58D0 B3 9F 00 20 */ sth r28, 0x20(r31) +/* 802C9C74 002C58D4 48 00 00 14 */ b lbl_802C9C88 +lbl_802C9C78: +/* 802C9C78 002C58D8 7F C3 F3 78 */ mr r3, r30 +/* 802C9C7C 002C58DC 7F A4 EB 78 */ mr r4, r29 +/* 802C9C80 002C58E0 38 A0 00 00 */ li r5, 0 +/* 802C9C84 002C58E4 48 00 65 21 */ bl func_802D01A4 +lbl_802C9C88: +/* 802C9C88 002C58E8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802C9C8C 002C58EC 4B EF D4 E5 */ bl _restgpr_26 +/* 802C9C90 002C58F0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802C9C94 002C58F4 7C 08 03 A6 */ mtlr r0 +/* 802C9C98 002C58F8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802C9C9C 002C58FC 4E 80 00 20 */ blr + +.global func_802C9CA0 +func_802C9CA0: +/* 802C9CA0 002C5900 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802C9CA4 002C5904 7C 08 02 A6 */ mflr r0 +/* 802C9CA8 002C5908 90 01 00 44 */ stw r0, 0x44(r1) +/* 802C9CAC 002C590C 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C9CB0 002C5910 4B EF D4 5D */ bl _savegpr_20 +/* 802C9CB4 002C5914 3F 80 80 57 */ lis r28, lbl_80568B78@ha +/* 802C9CB8 002C5918 7C 77 1B 78 */ mr r23, r3 +/* 802C9CBC 002C591C 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l +/* 802C9CC0 002C5920 7C 98 23 78 */ mr r24, r4 +/* 802C9CC4 002C5924 7C B9 2B 78 */ mr r25, r5 +/* 802C9CC8 002C5928 3B 60 00 00 */ li r27, 0 +/* 802C9CCC 002C592C 3B 5C 18 54 */ addi r26, r28, 0x1854 +/* 802C9CD0 002C5930 3F C0 00 0D */ lis r30, 0xd +/* 802C9CD4 002C5934 3F E0 80 44 */ lis r31, 0x8044 +/* 802C9CD8 002C5938 3E A0 80 44 */ lis r21, 0x8044 +/* 802C9CDC 002C593C 3A C0 00 03 */ li r22, 3 +lbl_802C9CE0: +/* 802C9CE0 002C5940 A0 1A 00 08 */ lhz r0, 8(r26) +/* 802C9CE4 002C5944 28 00 00 06 */ cmplwi r0, 6 +/* 802C9CE8 002C5948 40 82 01 1C */ bne lbl_802C9E04 +/* 802C9CEC 002C594C 2C 19 00 00 */ cmpwi r25, 0 +/* 802C9CF0 002C5950 40 82 01 14 */ bne lbl_802C9E04 +/* 802C9CF4 002C5954 2C 17 00 00 */ cmpwi r23, 0 +/* 802C9CF8 002C5958 40 82 01 0C */ bne lbl_802C9E04 +/* 802C9CFC 002C595C 38 7A 00 28 */ addi r3, r26, 0x28 +/* 802C9D00 002C5960 4B FF A6 A5 */ bl func_802C43A4 +/* 802C9D04 002C5964 54 65 04 3E */ clrlwi r5, r3, 0x10 +/* 802C9D08 002C5968 7C 7D 1B 78 */ mr r29, r3 +/* 802C9D0C 002C596C 7C 18 28 40 */ cmplw r24, r5 +/* 802C9D10 002C5970 40 82 00 F4 */ bne lbl_802C9E04 +/* 802C9D14 002C5974 88 1C 27 C0 */ lbz r0, 0x27c0(r28) +/* 802C9D18 002C5978 28 00 00 03 */ cmplwi r0, 3 +/* 802C9D1C 002C597C 41 80 00 14 */ blt lbl_802C9D30 +/* 802C9D20 002C5980 88 DC 19 09 */ lbz r6, 0x1909(r28) +/* 802C9D24 002C5984 38 7E 00 02 */ addi r3, r30, 2 +/* 802C9D28 002C5988 38 9F 16 6C */ addi r4, r31, 0x166c +/* 802C9D2C 002C598C 4B FF 32 15 */ bl func_802BCF40 +lbl_802C9D30: +/* 802C9D30 002C5990 38 60 00 01 */ li r3, 1 +/* 802C9D34 002C5994 4B FF B2 1D */ bl func_802C4F50 +/* 802C9D38 002C5998 88 1C 19 08 */ lbz r0, 0x1908(r28) +/* 802C9D3C 002C599C 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9D40 002C59A0 40 82 00 24 */ bne lbl_802C9D64 +/* 802C9D44 002C59A4 A0 1A 00 20 */ lhz r0, 0x20(r26) +/* 802C9D48 002C59A8 57 A3 04 3E */ clrlwi r3, r29, 0x10 +/* 802C9D4C 002C59AC 54 04 2E 34 */ rlwinm r4, r0, 5, 0x18, 0x1a +/* 802C9D50 002C59B0 48 00 63 C9 */ bl func_802D0118 +/* 802C9D54 002C59B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C9D58 002C59B8 40 82 00 9C */ bne lbl_802C9DF4 +/* 802C9D5C 002C59BC 38 00 00 03 */ li r0, 3 +/* 802C9D60 002C59C0 48 00 00 98 */ b lbl_802C9DF8 +lbl_802C9D64: +/* 802C9D64 002C59C4 88 1C 06 36 */ lbz r0, 0x636(r28) +/* 802C9D68 002C59C8 A0 7C 06 56 */ lhz r3, 0x656(r28) +/* 802C9D6C 002C59CC A0 9A 00 20 */ lhz r4, 0x20(r26) +/* 802C9D70 002C59D0 28 00 00 03 */ cmplwi r0, 3 +/* 802C9D74 002C59D4 7C 80 18 38 */ and r0, r4, r3 +/* 802C9D78 002C59D8 54 14 06 BE */ clrlwi r20, r0, 0x1a +/* 802C9D7C 002C59DC 41 80 00 14 */ blt lbl_802C9D90 +/* 802C9D80 002C59E0 7C 80 1B 78 */ or r0, r4, r3 +/* 802C9D84 002C59E4 54 00 05 B2 */ rlwinm r0, r0, 0, 0x16, 0x19 +/* 802C9D88 002C59E8 7E 80 03 78 */ or r0, r20, r0 +/* 802C9D8C 002C59EC 54 14 04 3E */ clrlwi r20, r0, 0x10 +lbl_802C9D90: +/* 802C9D90 002C59F0 88 1C 27 C0 */ lbz r0, 0x27c0(r28) +/* 802C9D94 002C59F4 28 00 00 03 */ cmplwi r0, 3 +/* 802C9D98 002C59F8 41 80 00 28 */ blt lbl_802C9DC0 +/* 802C9D9C 002C59FC 80 BA 00 14 */ lwz r5, 0x14(r26) +/* 802C9DA0 002C5A00 38 7E 00 02 */ addi r3, r30, 2 +/* 802C9DA4 002C5A04 80 DA 00 18 */ lwz r6, 0x18(r26) +/* 802C9DA8 002C5A08 38 95 16 1C */ addi r4, r21, 0x161c +/* 802C9DAC 002C5A0C A0 FA 00 1C */ lhz r7, 0x1c(r26) +/* 802C9DB0 002C5A10 56 8A 04 3E */ clrlwi r10, r20, 0x10 +/* 802C9DB4 002C5A14 A1 1A 00 1E */ lhz r8, 0x1e(r26) +/* 802C9DB8 002C5A18 89 3A 00 22 */ lbz r9, 0x22(r26) +/* 802C9DBC 002C5A1C 4B FF 31 E5 */ bl func_802BCFA0 +lbl_802C9DC0: +/* 802C9DC0 002C5A20 80 9A 00 14 */ lwz r4, 0x14(r26) +/* 802C9DC4 002C5A24 57 A3 04 3E */ clrlwi r3, r29, 0x10 +/* 802C9DC8 002C5A28 80 BA 00 18 */ lwz r5, 0x18(r26) +/* 802C9DCC 002C5A2C 56 89 04 3E */ clrlwi r9, r20, 0x10 +/* 802C9DD0 002C5A30 A0 DA 00 1C */ lhz r6, 0x1c(r26) +/* 802C9DD4 002C5A34 A0 FA 00 1E */ lhz r7, 0x1e(r26) +/* 802C9DD8 002C5A38 89 1A 00 22 */ lbz r8, 0x22(r26) +/* 802C9DDC 002C5A3C 48 00 6D CD */ bl func_802D0BA8 +/* 802C9DE0 002C5A40 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802C9DE4 002C5A44 40 82 00 0C */ bne lbl_802C9DF0 +/* 802C9DE8 002C5A48 38 00 00 03 */ li r0, 3 +/* 802C9DEC 002C5A4C 48 00 00 0C */ b lbl_802C9DF8 +lbl_802C9DF0: +/* 802C9DF0 002C5A50 B2 9A 00 20 */ sth r20, 0x20(r26) +lbl_802C9DF4: +/* 802C9DF4 002C5A54 38 00 00 01 */ li r0, 1 +lbl_802C9DF8: +/* 802C9DF8 002C5A58 28 00 00 01 */ cmplwi r0, 1 +/* 802C9DFC 002C5A5C 40 82 00 08 */ bne lbl_802C9E04 +/* 802C9E00 002C5A60 B2 DA 00 08 */ sth r22, 8(r26) +lbl_802C9E04: +/* 802C9E04 002C5A64 3B 7B 00 01 */ addi r27, r27, 1 +/* 802C9E08 002C5A68 3B 5A 00 34 */ addi r26, r26, 0x34 +/* 802C9E0C 002C5A6C 28 1B 00 03 */ cmplwi r27, 3 +/* 802C9E10 002C5A70 41 80 FE D0 */ blt lbl_802C9CE0 +/* 802C9E14 002C5A74 39 61 00 40 */ addi r11, r1, 0x40 +/* 802C9E18 002C5A78 4B EF D3 41 */ bl _restgpr_20 +/* 802C9E1C 002C5A7C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802C9E20 002C5A80 7C 08 03 A6 */ mtlr r0 +/* 802C9E24 002C5A84 38 21 00 40 */ addi r1, r1, 0x40 +/* 802C9E28 002C5A88 4E 80 00 20 */ blr + +.global func_802C9E2C +func_802C9E2C: +/* 802C9E2C 002C5A8C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802C9E30 002C5A90 7C 08 02 A6 */ mflr r0 +/* 802C9E34 002C5A94 90 01 00 34 */ stw r0, 0x34(r1) +/* 802C9E38 002C5A98 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C9E3C 002C5A9C 4B EF D2 ED */ bl _savegpr_27 +/* 802C9E40 002C5AA0 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802C9E44 002C5AA4 7C 7E 1B 78 */ mr r30, r3 +/* 802C9E48 002C5AA8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802C9E4C 002C5AAC 7C 9D 23 78 */ mr r29, r4 +/* 802C9E50 002C5AB0 7C BF 2B 78 */ mr r31, r5 +/* 802C9E54 002C5AB4 3B 80 00 00 */ li r28, 0 +/* 802C9E58 002C5AB8 3B 66 18 54 */ addi r27, r6, 0x1854 +lbl_802C9E5C: +/* 802C9E5C 002C5ABC A0 7B 00 08 */ lhz r3, 8(r27) +/* 802C9E60 002C5AC0 28 03 00 01 */ cmplwi r3, 1 +/* 802C9E64 002C5AC4 40 82 00 10 */ bne lbl_802C9E74 +/* 802C9E68 002C5AC8 88 1B 00 0D */ lbz r0, 0xd(r27) +/* 802C9E6C 002C5ACC 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9E70 002C5AD0 40 82 00 0C */ bne lbl_802C9E7C +lbl_802C9E74: +/* 802C9E74 002C5AD4 28 03 00 03 */ cmplwi r3, 3 +/* 802C9E78 002C5AD8 40 82 00 A4 */ bne lbl_802C9F1C +lbl_802C9E7C: +/* 802C9E7C 002C5ADC 7F C4 F3 78 */ mr r4, r30 +/* 802C9E80 002C5AE0 38 7B 00 28 */ addi r3, r27, 0x28 +/* 802C9E84 002C5AE4 38 A0 00 06 */ li r5, 6 +/* 802C9E88 002C5AE8 4B F0 05 11 */ bl memcmp +/* 802C9E8C 002C5AEC 2C 03 00 00 */ cmpwi r3, 0 +/* 802C9E90 002C5AF0 40 82 00 8C */ bne lbl_802C9F1C +/* 802C9E94 002C5AF4 38 00 00 01 */ li r0, 1 +/* 802C9E98 002C5AF8 7F C4 F3 78 */ mr r4, r30 +/* 802C9E9C 002C5AFC 98 1B 00 0D */ stb r0, 0xd(r27) +/* 802C9EA0 002C5B00 38 7B 00 28 */ addi r3, r27, 0x28 +/* 802C9EA4 002C5B04 38 A0 00 06 */ li r5, 6 +/* 802C9EA8 002C5B08 9B FB 00 2E */ stb r31, 0x2e(r27) +/* 802C9EAC 002C5B0C 4B D3 A1 55 */ bl memcpy +/* 802C9EB0 002C5B10 80 1B 00 10 */ lwz r0, 0x10(r27) +/* 802C9EB4 002C5B14 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9EB8 002C5B18 40 82 00 1C */ bne lbl_802C9ED4 +/* 802C9EBC 002C5B1C 7F C5 F3 78 */ mr r5, r30 +/* 802C9EC0 002C5B20 57 83 04 3E */ clrlwi r3, r28, 0x10 +/* 802C9EC4 002C5B24 38 80 00 00 */ li r4, 0 +/* 802C9EC8 002C5B28 38 C0 00 00 */ li r6, 0 +/* 802C9ECC 002C5B2C 4B FF FB F9 */ bl func_802C9AC4 +/* 802C9ED0 002C5B30 48 00 01 24 */ b lbl_802C9FF4 +lbl_802C9ED4: +/* 802C9ED4 002C5B34 7F C4 F3 78 */ mr r4, r30 +/* 802C9ED8 002C5B38 38 61 00 0A */ addi r3, r1, 0xa +/* 802C9EDC 002C5B3C 38 A0 00 06 */ li r5, 6 +/* 802C9EE0 002C5B40 4B D3 A1 21 */ bl memcpy +/* 802C9EE4 002C5B44 7F A4 EB 78 */ mr r4, r29 +/* 802C9EE8 002C5B48 38 61 00 10 */ addi r3, r1, 0x10 +/* 802C9EEC 002C5B4C 38 A0 00 03 */ li r5, 3 +/* 802C9EF0 002C5B50 4B D3 A1 11 */ bl memcpy +/* 802C9EF4 002C5B54 38 00 00 02 */ li r0, 2 +/* 802C9EF8 002C5B58 9B E1 00 13 */ stb r31, 0x13(r1) +/* 802C9EFC 002C5B5C 38 81 00 08 */ addi r4, r1, 8 +/* 802C9F00 002C5B60 38 60 00 02 */ li r3, 2 +/* 802C9F04 002C5B64 B0 1B 00 08 */ sth r0, 8(r27) +/* 802C9F08 002C5B68 81 9B 00 10 */ lwz r12, 0x10(r27) +/* 802C9F0C 002C5B6C B3 81 00 08 */ sth r28, 8(r1) +/* 802C9F10 002C5B70 7D 89 03 A6 */ mtctr r12 +/* 802C9F14 002C5B74 4E 80 04 21 */ bctrl +/* 802C9F18 002C5B78 48 00 00 DC */ b lbl_802C9FF4 +lbl_802C9F1C: +/* 802C9F1C 002C5B7C 3B 9C 00 01 */ addi r28, r28, 1 +/* 802C9F20 002C5B80 3B 7B 00 34 */ addi r27, r27, 0x34 +/* 802C9F24 002C5B84 28 1C 00 03 */ cmplwi r28, 3 +/* 802C9F28 002C5B88 41 80 FF 34 */ blt lbl_802C9E5C +/* 802C9F2C 002C5B8C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9F30 002C5B90 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9F34 002C5B94 80 03 18 50 */ lwz r0, 0x1850(r3) +/* 802C9F38 002C5B98 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9F3C 002C5B9C 41 82 00 7C */ beq lbl_802C9FB8 +/* 802C9F40 002C5BA0 38 00 00 03 */ li r0, 3 +/* 802C9F44 002C5BA4 3B 83 18 54 */ addi r28, r3, 0x1854 +/* 802C9F48 002C5BA8 3B 60 00 00 */ li r27, 0 +/* 802C9F4C 002C5BAC 7C 09 03 A6 */ mtctr r0 +lbl_802C9F50: +/* 802C9F50 002C5BB0 A0 1C 00 08 */ lhz r0, 8(r28) +/* 802C9F54 002C5BB4 2C 00 00 00 */ cmpwi r0, 0 +/* 802C9F58 002C5BB8 40 82 00 30 */ bne lbl_802C9F88 +/* 802C9F5C 002C5BBC 38 00 00 00 */ li r0, 0 +/* 802C9F60 002C5BC0 3B A0 00 01 */ li r29, 1 +/* 802C9F64 002C5BC4 98 1C 00 0C */ stb r0, 0xc(r28) +/* 802C9F68 002C5BC8 7F C4 F3 78 */ mr r4, r30 +/* 802C9F6C 002C5BCC 38 7C 00 28 */ addi r3, r28, 0x28 +/* 802C9F70 002C5BD0 38 A0 00 06 */ li r5, 6 +/* 802C9F74 002C5BD4 B3 BC 00 08 */ sth r29, 8(r28) +/* 802C9F78 002C5BD8 9B FC 00 2E */ stb r31, 0x2e(r28) +/* 802C9F7C 002C5BDC 4B D3 A0 85 */ bl memcpy +/* 802C9F80 002C5BE0 9B BC 00 0D */ stb r29, 0xd(r28) +/* 802C9F84 002C5BE4 48 00 00 10 */ b lbl_802C9F94 +lbl_802C9F88: +/* 802C9F88 002C5BE8 3B 7B 00 01 */ addi r27, r27, 1 +/* 802C9F8C 002C5BEC 3B 9C 00 34 */ addi r28, r28, 0x34 +/* 802C9F90 002C5BF0 42 00 FF C0 */ bdnz lbl_802C9F50 +lbl_802C9F94: +/* 802C9F94 002C5BF4 57 63 04 3E */ clrlwi r3, r27, 0x10 +/* 802C9F98 002C5BF8 28 03 00 03 */ cmplwi r3, 3 +/* 802C9F9C 002C5BFC 40 80 00 1C */ bge lbl_802C9FB8 +/* 802C9FA0 002C5C00 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802C9FA4 002C5C04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802C9FA8 002C5C08 81 84 18 50 */ lwz r12, 0x1850(r4) +/* 802C9FAC 002C5C0C 7D 89 03 A6 */ mtctr r12 +/* 802C9FB0 002C5C10 4E 80 04 21 */ bctrl +/* 802C9FB4 002C5C14 48 00 00 40 */ b lbl_802C9FF4 +lbl_802C9FB8: +/* 802C9FB8 002C5C18 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802C9FBC 002C5C1C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802C9FC0 002C5C20 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802C9FC4 002C5C24 28 00 00 02 */ cmplwi r0, 2 +/* 802C9FC8 002C5C28 41 80 00 18 */ blt lbl_802C9FE0 +/* 802C9FCC 002C5C2C 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802C9FD0 002C5C30 3C 80 80 44 */ lis r4, lbl_804416BC@ha +/* 802C9FD4 002C5C34 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802C9FD8 002C5C38 38 84 16 BC */ addi r4, r4, lbl_804416BC@l +/* 802C9FDC 002C5C3C 4B FF 2F 35 */ bl func_802BCF10 +lbl_802C9FE0: +/* 802C9FE0 002C5C40 7F C5 F3 78 */ mr r5, r30 +/* 802C9FE4 002C5C44 38 60 00 03 */ li r3, 3 +/* 802C9FE8 002C5C48 38 80 00 0D */ li r4, 0xd +/* 802C9FEC 002C5C4C 38 C0 00 00 */ li r6, 0 +/* 802C9FF0 002C5C50 4B FF FA D5 */ bl func_802C9AC4 +lbl_802C9FF4: +/* 802C9FF4 002C5C54 39 61 00 30 */ addi r11, r1, 0x30 +/* 802C9FF8 002C5C58 4B EF D1 7D */ bl _restgpr_27 +/* 802C9FFC 002C5C5C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CA000 002C5C60 7C 08 03 A6 */ mtlr r0 +/* 802CA004 002C5C64 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CA008 002C5C68 4E 80 00 20 */ blr + +.global func_802CA00C +func_802CA00C: +/* 802CA00C 002C5C6C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CA010 002C5C70 7C 08 02 A6 */ mflr r0 +/* 802CA014 002C5C74 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CA018 002C5C78 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CA01C 002C5C7C 4B EF D1 01 */ bl _savegpr_24 +/* 802CA020 002C5C80 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802CA024 002C5C84 7C 78 1B 78 */ mr r24, r3 +/* 802CA028 002C5C88 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802CA02C 002C5C8C 7C 99 23 78 */ mr r25, r4 +/* 802CA030 002C5C90 B0 67 18 F6 */ sth r3, 0x18f6(r7) +/* 802CA034 002C5C94 7C BA 2B 78 */ mr r26, r5 +/* 802CA038 002C5C98 7C DD 33 78 */ mr r29, r6 +/* 802CA03C 002C5C9C 3B E7 18 54 */ addi r31, r7, 0x1854 +/* 802CA040 002C5CA0 3B 60 00 00 */ li r27, 0 +/* 802CA044 002C5CA4 3B C0 00 00 */ li r30, 0 +lbl_802CA048: +/* 802CA048 002C5CA8 A3 9F 00 08 */ lhz r28, 8(r31) +/* 802CA04C 002C5CAC 3C 7C 00 01 */ addis r3, r28, 1 +/* 802CA050 002C5CB0 38 03 FF FF */ addi r0, r3, -1 +/* 802CA054 002C5CB4 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 802CA058 002C5CB8 28 00 00 02 */ cmplwi r0, 2 +/* 802CA05C 002C5CBC 41 81 01 28 */ bgt lbl_802CA184 +/* 802CA060 002C5CC0 88 1F 00 0D */ lbz r0, 0xd(r31) +/* 802CA064 002C5CC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA068 002C5CC8 41 82 01 1C */ beq lbl_802CA184 +/* 802CA06C 002C5CCC 2C 19 00 00 */ cmpwi r25, 0 +/* 802CA070 002C5CD0 41 82 00 1C */ beq lbl_802CA08C +/* 802CA074 002C5CD4 7F 24 CB 78 */ mr r4, r25 +/* 802CA078 002C5CD8 38 7F 00 28 */ addi r3, r31, 0x28 +/* 802CA07C 002C5CDC 38 A0 00 06 */ li r5, 6 +/* 802CA080 002C5CE0 4B F0 03 19 */ bl memcmp +/* 802CA084 002C5CE4 2C 03 00 00 */ cmpwi r3, 0 +/* 802CA088 002C5CE8 40 82 00 FC */ bne lbl_802CA184 +lbl_802CA08C: +/* 802CA08C 002C5CEC 2C 18 00 00 */ cmpwi r24, 0 +/* 802CA090 002C5CF0 41 82 00 3C */ beq lbl_802CA0CC +/* 802CA094 002C5CF4 28 1C 00 03 */ cmplwi r28, 3 +/* 802CA098 002C5CF8 40 82 00 28 */ bne lbl_802CA0C0 +/* 802CA09C 002C5CFC 28 18 00 23 */ cmplwi r24, 0x23 +/* 802CA0A0 002C5D00 41 82 00 F4 */ beq lbl_802CA194 +/* 802CA0A4 002C5D04 38 00 00 00 */ li r0, 0 +/* 802CA0A8 002C5D08 57 C3 04 3E */ clrlwi r3, r30, 0x10 +/* 802CA0AC 002C5D0C B0 1F 00 08 */ sth r0, 8(r31) +/* 802CA0B0 002C5D10 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CA0B4 002C5D14 7D 89 03 A6 */ mtctr r12 +/* 802CA0B8 002C5D18 4E 80 04 21 */ bctrl +/* 802CA0BC 002C5D1C 48 00 00 D8 */ b lbl_802CA194 +lbl_802CA0C0: +/* 802CA0C0 002C5D20 38 00 00 01 */ li r0, 1 +/* 802CA0C4 002C5D24 B0 1F 00 08 */ sth r0, 8(r31) +/* 802CA0C8 002C5D28 48 00 00 CC */ b lbl_802CA194 +lbl_802CA0CC: +/* 802CA0CC 002C5D2C 28 1C 00 01 */ cmplwi r28, 1 +/* 802CA0D0 002C5D30 40 82 00 08 */ bne lbl_802CA0D8 +/* 802CA0D4 002C5D34 3B 60 00 01 */ li r27, 1 +lbl_802CA0D8: +/* 802CA0D8 002C5D38 38 00 00 04 */ li r0, 4 +/* 802CA0DC 002C5D3C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CA0E0 002C5D40 B0 1F 00 08 */ sth r0, 8(r31) +/* 802CA0E4 002C5D44 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CA0E8 002C5D48 B3 5F 00 0A */ sth r26, 0xa(r31) +/* 802CA0EC 002C5D4C 88 03 19 08 */ lbz r0, 0x1908(r3) +/* 802CA0F0 002C5D50 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA0F4 002C5D54 40 82 00 3C */ bne lbl_802CA130 +/* 802CA0F8 002C5D58 38 00 00 00 */ li r0, 0 +/* 802CA0FC 002C5D5C 2C 1B 00 00 */ cmpwi r27, 0 +/* 802CA100 002C5D60 98 1F 00 2E */ stb r0, 0x2e(r31) +/* 802CA104 002C5D64 41 82 00 6C */ beq lbl_802CA170 +/* 802CA108 002C5D68 A0 DF 00 20 */ lhz r6, 0x20(r31) +/* 802CA10C 002C5D6C 57 C3 04 3E */ clrlwi r3, r30, 0x10 +/* 802CA110 002C5D70 A0 BF 00 1C */ lhz r5, 0x1c(r31) +/* 802CA114 002C5D74 38 81 00 08 */ addi r4, r1, 8 +/* 802CA118 002C5D78 88 1F 00 22 */ lbz r0, 0x22(r31) +/* 802CA11C 002C5D7C B0 C1 00 0A */ sth r6, 0xa(r1) +/* 802CA120 002C5D80 B0 A1 00 08 */ sth r5, 8(r1) +/* 802CA124 002C5D84 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CA128 002C5D88 48 00 03 8D */ bl func_802CA4B4 +/* 802CA12C 002C5D8C 48 00 00 44 */ b lbl_802CA170 +lbl_802CA130: +/* 802CA130 002C5D90 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CA134 002C5D94 41 82 00 3C */ beq lbl_802CA170 +/* 802CA138 002C5D98 A0 7D 00 00 */ lhz r3, 0(r29) +/* 802CA13C 002C5D9C A0 1D 00 02 */ lhz r0, 2(r29) +/* 802CA140 002C5DA0 B0 7F 00 24 */ sth r3, 0x24(r31) +/* 802CA144 002C5DA4 B0 1F 00 26 */ sth r0, 0x26(r31) +/* 802CA148 002C5DA8 A0 7D 00 04 */ lhz r3, 4(r29) +/* 802CA14C 002C5DAC A0 1D 00 06 */ lhz r0, 6(r29) +/* 802CA150 002C5DB0 B0 7F 00 28 */ sth r3, 0x28(r31) +/* 802CA154 002C5DB4 B0 1F 00 2A */ sth r0, 0x2a(r31) +/* 802CA158 002C5DB8 A0 1D 00 08 */ lhz r0, 8(r29) +/* 802CA15C 002C5DBC B0 1F 00 2C */ sth r0, 0x2c(r31) +/* 802CA160 002C5DC0 A0 1D 00 0A */ lhz r0, 0xa(r29) +/* 802CA164 002C5DC4 B0 1F 00 2E */ sth r0, 0x2e(r31) +/* 802CA168 002C5DC8 A0 1D 00 0C */ lhz r0, 0xc(r29) +/* 802CA16C 002C5DCC B0 1F 00 30 */ sth r0, 0x30(r31) +lbl_802CA170: +/* 802CA170 002C5DD0 81 9F 00 00 */ lwz r12, 0(r31) +/* 802CA174 002C5DD4 57 C3 04 3E */ clrlwi r3, r30, 0x10 +/* 802CA178 002C5DD8 7D 89 03 A6 */ mtctr r12 +/* 802CA17C 002C5DDC 4E 80 04 21 */ bctrl +/* 802CA180 002C5DE0 48 00 00 14 */ b lbl_802CA194 +lbl_802CA184: +/* 802CA184 002C5DE4 3B DE 00 01 */ addi r30, r30, 1 +/* 802CA188 002C5DE8 3B FF 00 34 */ addi r31, r31, 0x34 +/* 802CA18C 002C5DEC 28 1E 00 03 */ cmplwi r30, 3 +/* 802CA190 002C5DF0 41 80 FE B8 */ blt lbl_802CA048 +lbl_802CA194: +/* 802CA194 002C5DF4 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CA198 002C5DF8 4B EF CF D1 */ bl _restgpr_24 +/* 802CA19C 002C5DFC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CA1A0 002C5E00 7C 08 03 A6 */ mtlr r0 +/* 802CA1A4 002C5E04 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CA1A8 002C5E08 4E 80 00 20 */ blr + +.global func_802CA1AC +func_802CA1AC: +/* 802CA1AC 002C5E0C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CA1B0 002C5E10 7C 08 02 A6 */ mflr r0 +/* 802CA1B4 002C5E14 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA1B8 002C5E18 28 03 00 03 */ cmplwi r3, 3 +/* 802CA1BC 002C5E1C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CA1C0 002C5E20 1C 03 00 34 */ mulli r0, r3, 0x34 +/* 802CA1C4 002C5E24 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA1C8 002C5E28 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CA1CC 002C5E2C 7F E4 02 14 */ add r31, r4, r0 +/* 802CA1D0 002C5E30 93 C1 00 08 */ stw r30, 8(r1) +/* 802CA1D4 002C5E34 40 80 00 10 */ bge lbl_802CA1E4 +/* 802CA1D8 002C5E38 A3 DF 18 5C */ lhz r30, 0x185c(r31) +/* 802CA1DC 002C5E3C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CA1E0 002C5E40 40 82 00 0C */ bne lbl_802CA1EC +lbl_802CA1E4: +/* 802CA1E4 002C5E44 38 60 00 07 */ li r3, 7 +/* 802CA1E8 002C5E48 48 00 00 64 */ b lbl_802CA24C +lbl_802CA1EC: +/* 802CA1EC 002C5E4C A0 1F 18 5E */ lhz r0, 0x185e(r31) +/* 802CA1F0 002C5E50 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CA1F4 002C5E54 41 82 00 0C */ beq lbl_802CA200 +/* 802CA1F8 002C5E58 28 1E 00 06 */ cmplwi r30, 6 +/* 802CA1FC 002C5E5C 40 82 00 24 */ bne lbl_802CA220 +lbl_802CA200: +/* 802CA200 002C5E60 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802CA204 002C5E64 38 00 00 00 */ li r0, 0 +/* 802CA208 002C5E68 38 83 FF FF */ addi r4, r3, 0x0000FFFF@l +/* 802CA20C 002C5E6C B0 9F 18 5E */ sth r4, 0x185e(r31) +/* 802CA210 002C5E70 38 60 00 00 */ li r3, 0 +/* 802CA214 002C5E74 B0 1F 18 5C */ sth r0, 0x185c(r31) +/* 802CA218 002C5E78 90 1F 18 64 */ stw r0, 0x1864(r31) +/* 802CA21C 002C5E7C 48 00 00 30 */ b lbl_802CA24C +lbl_802CA220: +/* 802CA220 002C5E80 38 00 00 05 */ li r0, 5 +/* 802CA224 002C5E84 38 80 00 13 */ li r4, 0x13 +/* 802CA228 002C5E88 B0 1F 18 5C */ sth r0, 0x185c(r31) +/* 802CA22C 002C5E8C A0 7F 18 5E */ lhz r3, 0x185e(r31) +/* 802CA230 002C5E90 48 00 5E 61 */ bl func_802D0090 +/* 802CA234 002C5E94 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CA238 002C5E98 40 82 00 10 */ bne lbl_802CA248 +/* 802CA23C 002C5E9C B3 DF 18 5C */ sth r30, 0x185c(r31) +/* 802CA240 002C5EA0 38 60 00 03 */ li r3, 3 +/* 802CA244 002C5EA4 48 00 00 08 */ b lbl_802CA24C +lbl_802CA248: +/* 802CA248 002C5EA8 38 60 00 01 */ li r3, 1 +lbl_802CA24C: +/* 802CA24C 002C5EAC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CA250 002C5EB0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CA254 002C5EB4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CA258 002C5EB8 7C 08 03 A6 */ mtlr r0 +/* 802CA25C 002C5EBC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CA260 002C5EC0 4E 80 00 20 */ blr + +.global func_802CA264 +func_802CA264: +/* 802CA264 002C5EC4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CA268 002C5EC8 7C 08 02 A6 */ mflr r0 +/* 802CA26C 002C5ECC 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA270 002C5ED0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CA274 002C5ED4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA278 002C5ED8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CA27C 002C5EDC 3B E4 18 54 */ addi r31, r4, 0x1854 +/* 802CA280 002C5EE0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CA284 002C5EE4 3B C0 00 00 */ li r30, 0 +/* 802CA288 002C5EE8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CA28C 002C5EEC 7C 7D 1B 78 */ mr r29, r3 +lbl_802CA290: +/* 802CA290 002C5EF0 88 1F 00 0D */ lbz r0, 0xd(r31) +/* 802CA294 002C5EF4 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA298 002C5EF8 41 82 00 24 */ beq lbl_802CA2BC +/* 802CA29C 002C5EFC 7F A4 EB 78 */ mr r4, r29 +/* 802CA2A0 002C5F00 38 7F 00 28 */ addi r3, r31, 0x28 +/* 802CA2A4 002C5F04 38 A0 00 06 */ li r5, 6 +/* 802CA2A8 002C5F08 4B F0 00 F1 */ bl memcmp +/* 802CA2AC 002C5F0C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CA2B0 002C5F10 40 82 00 0C */ bne lbl_802CA2BC +/* 802CA2B4 002C5F14 57 C3 04 3E */ clrlwi r3, r30, 0x10 +/* 802CA2B8 002C5F18 4B FF FE F5 */ bl func_802CA1AC +lbl_802CA2BC: +/* 802CA2BC 002C5F1C 3B DE 00 01 */ addi r30, r30, 1 +/* 802CA2C0 002C5F20 3B FF 00 34 */ addi r31, r31, 0x34 +/* 802CA2C4 002C5F24 28 1E 00 03 */ cmplwi r30, 3 +/* 802CA2C8 002C5F28 41 80 FF C8 */ blt lbl_802CA290 +/* 802CA2CC 002C5F2C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CA2D0 002C5F30 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CA2D4 002C5F34 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CA2D8 002C5F38 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CA2DC 002C5F3C 7C 08 03 A6 */ mtlr r0 +/* 802CA2E0 002C5F40 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CA2E4 002C5F44 4E 80 00 20 */ blr + +.global func_802CA2E8 +func_802CA2E8: +/* 802CA2E8 002C5F48 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CA2EC 002C5F4C 7C 08 02 A6 */ mflr r0 +/* 802CA2F0 002C5F50 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802CA2F4 002C5F54 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CA2F8 002C5F58 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802CA2FC 002C5F5C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CA300 002C5F60 7C 7F 1B 78 */ mr r31, r3 +/* 802CA304 002C5F64 38 60 00 00 */ li r3, 0 +/* 802CA308 002C5F68 B0 85 18 F6 */ sth r4, 0x18f6(r5) +/* 802CA30C 002C5F6C A0 05 18 5C */ lhz r0, 0x185c(r5) +/* 802CA310 002C5F70 2C 00 00 07 */ cmpwi r0, 7 +/* 802CA314 002C5F74 40 80 00 14 */ bge lbl_802CA328 +/* 802CA318 002C5F78 2C 00 00 02 */ cmpwi r0, 2 +/* 802CA31C 002C5F7C 40 80 00 08 */ bge lbl_802CA324 +/* 802CA320 002C5F80 48 00 00 08 */ b lbl_802CA328 +lbl_802CA324: +/* 802CA324 002C5F84 38 60 00 01 */ li r3, 1 +lbl_802CA328: +/* 802CA328 002C5F88 A0 05 18 90 */ lhz r0, 0x1890(r5) +/* 802CA32C 002C5F8C 2C 00 00 07 */ cmpwi r0, 7 +/* 802CA330 002C5F90 40 80 00 14 */ bge lbl_802CA344 +/* 802CA334 002C5F94 2C 00 00 02 */ cmpwi r0, 2 +/* 802CA338 002C5F98 40 80 00 08 */ bge lbl_802CA340 +/* 802CA33C 002C5F9C 48 00 00 08 */ b lbl_802CA344 +lbl_802CA340: +/* 802CA340 002C5FA0 38 63 00 01 */ addi r3, r3, 1 +lbl_802CA344: +/* 802CA344 002C5FA4 A0 05 18 C4 */ lhz r0, 0x18c4(r5) +/* 802CA348 002C5FA8 2C 00 00 07 */ cmpwi r0, 7 +/* 802CA34C 002C5FAC 40 80 00 14 */ bge lbl_802CA360 +/* 802CA350 002C5FB0 2C 00 00 02 */ cmpwi r0, 2 +/* 802CA354 002C5FB4 40 80 00 08 */ bge lbl_802CA35C +/* 802CA358 002C5FB8 48 00 00 08 */ b lbl_802CA360 +lbl_802CA35C: +/* 802CA35C 002C5FBC 38 63 00 01 */ addi r3, r3, 1 +lbl_802CA360: +/* 802CA360 002C5FC0 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CA364 002C5FC4 28 00 00 01 */ cmplwi r0, 1 +/* 802CA368 002C5FC8 41 81 00 0C */ bgt lbl_802CA374 +/* 802CA36C 002C5FCC 38 60 00 00 */ li r3, 0 +/* 802CA370 002C5FD0 4B FF AB E1 */ bl func_802C4F50 +lbl_802CA374: +/* 802CA374 002C5FD4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CA378 002C5FD8 38 00 00 03 */ li r0, 3 +/* 802CA37C 002C5FDC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CA380 002C5FE0 38 C0 00 00 */ li r6, 0 +/* 802CA384 002C5FE4 38 A3 18 54 */ addi r5, r3, 0x1854 +/* 802CA388 002C5FE8 7C 09 03 A6 */ mtctr r0 +lbl_802CA38C: +/* 802CA38C 002C5FEC A0 05 00 08 */ lhz r0, 8(r5) +/* 802CA390 002C5FF0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA394 002C5FF4 41 82 00 48 */ beq lbl_802CA3DC +/* 802CA398 002C5FF8 28 00 00 01 */ cmplwi r0, 1 +/* 802CA39C 002C5FFC 41 82 00 40 */ beq lbl_802CA3DC +/* 802CA3A0 002C6000 A0 05 00 0A */ lhz r0, 0xa(r5) +/* 802CA3A4 002C6004 7C 00 F8 40 */ cmplw r0, r31 +/* 802CA3A8 002C6008 40 82 00 34 */ bne lbl_802CA3DC +/* 802CA3AC 002C600C 38 80 00 00 */ li r4, 0 +/* 802CA3B0 002C6010 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 802CA3B4 002C6014 B0 85 00 08 */ sth r4, 8(r5) +/* 802CA3B8 002C6018 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l +/* 802CA3BC 002C601C 54 C3 04 3E */ clrlwi r3, r6, 0x10 +/* 802CA3C0 002C6020 B0 05 00 0A */ sth r0, 0xa(r5) +/* 802CA3C4 002C6024 98 85 00 0D */ stb r4, 0xd(r5) +/* 802CA3C8 002C6028 90 85 00 10 */ stw r4, 0x10(r5) +/* 802CA3CC 002C602C 81 85 00 04 */ lwz r12, 4(r5) +/* 802CA3D0 002C6030 7D 89 03 A6 */ mtctr r12 +/* 802CA3D4 002C6034 4E 80 04 21 */ bctrl +/* 802CA3D8 002C6038 48 00 00 10 */ b lbl_802CA3E8 +lbl_802CA3DC: +/* 802CA3DC 002C603C 38 C6 00 01 */ addi r6, r6, 1 +/* 802CA3E0 002C6040 38 A5 00 34 */ addi r5, r5, 0x34 +/* 802CA3E4 002C6044 42 00 FF A8 */ bdnz lbl_802CA38C +lbl_802CA3E8: +/* 802CA3E8 002C6048 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CA3EC 002C604C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CA3F0 002C6050 7C 08 03 A6 */ mtlr r0 +/* 802CA3F4 002C6054 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CA3F8 002C6058 4E 80 00 20 */ blr + +.global func_802CA3FC +func_802CA3FC: +/* 802CA3FC 002C605C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CA400 002C6060 7C 08 02 A6 */ mflr r0 +/* 802CA404 002C6064 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA408 002C6068 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CA40C 002C606C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA410 002C6070 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CA414 002C6074 3B E0 00 00 */ li r31, 0 +/* 802CA418 002C6078 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CA41C 002C607C 3B C4 18 54 */ addi r30, r4, 0x1854 +/* 802CA420 002C6080 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CA424 002C6084 3B A0 00 00 */ li r29, 0 +/* 802CA428 002C6088 93 81 00 10 */ stw r28, 0x10(r1) +/* 802CA42C 002C608C 7C 7C 1B 78 */ mr r28, r3 +lbl_802CA430: +/* 802CA430 002C6090 A0 1E 00 08 */ lhz r0, 8(r30) +/* 802CA434 002C6094 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA438 002C6098 41 82 00 48 */ beq lbl_802CA480 +/* 802CA43C 002C609C 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CA440 002C60A0 41 82 00 28 */ beq lbl_802CA468 +/* 802CA444 002C60A4 7F 84 E3 78 */ mr r4, r28 +/* 802CA448 002C60A8 38 7E 00 28 */ addi r3, r30, 0x28 +/* 802CA44C 002C60AC 38 A0 00 06 */ li r5, 6 +/* 802CA450 002C60B0 4B EF FF 49 */ bl memcmp +/* 802CA454 002C60B4 2C 03 00 00 */ cmpwi r3, 0 +/* 802CA458 002C60B8 40 82 00 28 */ bne lbl_802CA480 +/* 802CA45C 002C60BC 88 1E 00 0D */ lbz r0, 0xd(r30) +/* 802CA460 002C60C0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA464 002C60C4 41 82 00 1C */ beq lbl_802CA480 +lbl_802CA468: +/* 802CA468 002C60C8 B3 FE 00 08 */ sth r31, 8(r30) +/* 802CA46C 002C60CC 57 A3 04 3E */ clrlwi r3, r29, 0x10 +/* 802CA470 002C60D0 93 FE 00 10 */ stw r31, 0x10(r30) +/* 802CA474 002C60D4 81 9E 00 04 */ lwz r12, 4(r30) +/* 802CA478 002C60D8 7D 89 03 A6 */ mtctr r12 +/* 802CA47C 002C60DC 4E 80 04 21 */ bctrl +lbl_802CA480: +/* 802CA480 002C60E0 3B BD 00 01 */ addi r29, r29, 1 +/* 802CA484 002C60E4 3B DE 00 34 */ addi r30, r30, 0x34 +/* 802CA488 002C60E8 28 1D 00 03 */ cmplwi r29, 3 +/* 802CA48C 002C60EC 41 80 FF A4 */ blt lbl_802CA430 +/* 802CA490 002C60F0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CA494 002C60F4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CA498 002C60F8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CA49C 002C60FC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CA4A0 002C6100 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802CA4A4 002C6104 7C 08 03 A6 */ mtlr r0 +/* 802CA4A8 002C6108 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CA4AC 002C610C 4E 80 00 20 */ blr + +.global func_802CA4B0 +func_802CA4B0: +/* 802CA4B0 002C6110 4B FE F8 84 */ b func_802B9D34 + +.global func_802CA4B4 +func_802CA4B4: +/* 802CA4B4 002C6114 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CA4B8 002C6118 7C 08 02 A6 */ mflr r0 +/* 802CA4BC 002C611C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CA4C0 002C6120 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CA4C4 002C6124 4B EF CC 65 */ bl _savegpr_27 +/* 802CA4C8 002C6128 28 03 00 03 */ cmplwi r3, 3 +/* 802CA4CC 002C612C 3F C0 80 44 */ lis r30, lbl_80441590@ha +/* 802CA4D0 002C6130 7C 9C 23 78 */ mr r28, r4 +/* 802CA4D4 002C6134 3B DE 15 90 */ addi r30, r30, lbl_80441590@l +/* 802CA4D8 002C6138 40 80 00 20 */ bge lbl_802CA4F8 +/* 802CA4DC 002C613C 1C 03 00 34 */ mulli r0, r3, 0x34 +/* 802CA4E0 002C6140 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CA4E4 002C6144 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CA4E8 002C6148 7F E3 02 14 */ add r31, r3, r0 +/* 802CA4EC 002C614C A0 1F 18 5C */ lhz r0, 0x185c(r31) +/* 802CA4F0 002C6150 28 00 00 04 */ cmplwi r0, 4 +/* 802CA4F4 002C6154 41 82 00 0C */ beq lbl_802CA500 +lbl_802CA4F8: +/* 802CA4F8 002C6158 38 60 00 06 */ li r3, 6 +/* 802CA4FC 002C615C 48 00 01 48 */ b lbl_802CA644 +lbl_802CA500: +/* 802CA500 002C6160 88 1F 18 82 */ lbz r0, 0x1882(r31) +/* 802CA504 002C6164 3B BF 18 68 */ addi r29, r31, 0x1868 +/* 802CA508 002C6168 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA50C 002C616C 41 82 00 10 */ beq lbl_802CA51C +/* 802CA510 002C6170 88 03 19 08 */ lbz r0, 0x1908(r3) +/* 802CA514 002C6174 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA518 002C6178 40 82 00 64 */ bne lbl_802CA57C +lbl_802CA51C: +/* 802CA51C 002C617C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CA520 002C6180 A0 84 00 02 */ lhz r4, 2(r4) +/* 802CA524 002C6184 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CA528 002C6188 A0 03 06 56 */ lhz r0, 0x656(r3) +/* 802CA52C 002C618C 54 00 07 7E */ clrlwi r0, r0, 0x1d +/* 802CA530 002C6190 7C 80 00 38 */ and r0, r4, r0 +/* 802CA534 002C6194 B0 1D 00 0C */ sth r0, 0xc(r29) +/* 802CA538 002C6198 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CA53C 002C619C 28 00 00 03 */ cmplwi r0, 3 +/* 802CA540 002C61A0 41 80 00 1C */ blt lbl_802CA55C +/* 802CA544 002C61A4 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802CA548 002C61A8 A0 BF 18 5E */ lhz r5, 0x185e(r31) +/* 802CA54C 002C61AC A0 DD 00 0C */ lhz r6, 0xc(r29) +/* 802CA550 002C61B0 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802CA554 002C61B4 38 9E 02 48 */ addi r4, r30, 0x248 +/* 802CA558 002C61B8 4B FF 29 E9 */ bl func_802BCF40 +lbl_802CA55C: +/* 802CA55C 002C61BC A0 1D 00 0C */ lhz r0, 0xc(r29) +/* 802CA560 002C61C0 A0 7F 18 5E */ lhz r3, 0x185e(r31) +/* 802CA564 002C61C4 54 04 2E 34 */ rlwinm r4, r0, 5, 0x18, 0x1a +/* 802CA568 002C61C8 48 00 61 BD */ bl func_802D0724 +/* 802CA56C 002C61CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CA570 002C61D0 40 82 00 D0 */ bne lbl_802CA640 +/* 802CA574 002C61D4 38 60 00 03 */ li r3, 3 +/* 802CA578 002C61D8 48 00 00 CC */ b lbl_802CA644 +lbl_802CA57C: +/* 802CA57C 002C61DC 88 03 06 36 */ lbz r0, 0x636(r3) +/* 802CA580 002C61E0 A0 63 06 56 */ lhz r3, 0x656(r3) +/* 802CA584 002C61E4 A0 84 00 02 */ lhz r4, 2(r4) +/* 802CA588 002C61E8 28 00 00 03 */ cmplwi r0, 3 +/* 802CA58C 002C61EC 7C 80 18 38 */ and r0, r4, r3 +/* 802CA590 002C61F0 54 1B 06 BE */ clrlwi r27, r0, 0x1a +/* 802CA594 002C61F4 41 80 00 14 */ blt lbl_802CA5A8 +/* 802CA598 002C61F8 7C 80 1B 78 */ or r0, r4, r3 +/* 802CA59C 002C61FC 54 00 05 B2 */ rlwinm r0, r0, 0, 0x16, 0x19 +/* 802CA5A0 002C6200 7F 60 03 78 */ or r0, r27, r0 +/* 802CA5A4 002C6204 54 1B 04 3E */ clrlwi r27, r0, 0x10 +lbl_802CA5A8: +/* 802CA5A8 002C6208 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CA5AC 002C620C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CA5B0 002C6210 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CA5B4 002C6214 28 00 00 03 */ cmplwi r0, 3 +/* 802CA5B8 002C6218 41 80 00 18 */ blt lbl_802CA5D0 +/* 802CA5BC 002C621C 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802CA5C0 002C6220 A0 BF 18 5E */ lhz r5, 0x185e(r31) +/* 802CA5C4 002C6224 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802CA5C8 002C6228 38 9E 02 8C */ addi r4, r30, 0x28c +/* 802CA5CC 002C622C 4B FF 29 5D */ bl func_802BCF28 +lbl_802CA5D0: +/* 802CA5D0 002C6230 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CA5D4 002C6234 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CA5D8 002C6238 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CA5DC 002C623C 28 00 00 03 */ cmplwi r0, 3 +/* 802CA5E0 002C6240 41 80 00 2C */ blt lbl_802CA60C +/* 802CA5E4 002C6244 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802CA5E8 002C6248 80 BD 00 00 */ lwz r5, 0(r29) +/* 802CA5EC 002C624C 80 DD 00 04 */ lwz r6, 4(r29) +/* 802CA5F0 002C6250 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802CA5F4 002C6254 A0 FC 00 00 */ lhz r7, 0(r28) +/* 802CA5F8 002C6258 38 9E 00 8C */ addi r4, r30, 0x8c +/* 802CA5FC 002C625C A1 1D 00 0A */ lhz r8, 0xa(r29) +/* 802CA600 002C6260 57 6A 04 3E */ clrlwi r10, r27, 0x10 +/* 802CA604 002C6264 89 3C 00 04 */ lbz r9, 4(r28) +/* 802CA608 002C6268 4B FF 29 99 */ bl func_802BCFA0 +lbl_802CA60C: +/* 802CA60C 002C626C A0 7F 18 5E */ lhz r3, 0x185e(r31) +/* 802CA610 002C6270 57 69 04 3E */ clrlwi r9, r27, 0x10 +/* 802CA614 002C6274 80 9D 00 00 */ lwz r4, 0(r29) +/* 802CA618 002C6278 80 BD 00 04 */ lwz r5, 4(r29) +/* 802CA61C 002C627C A0 DC 00 00 */ lhz r6, 0(r28) +/* 802CA620 002C6280 A0 FD 00 0A */ lhz r7, 0xa(r29) +/* 802CA624 002C6284 89 1C 00 04 */ lbz r8, 4(r28) +/* 802CA628 002C6288 48 00 65 81 */ bl func_802D0BA8 +/* 802CA62C 002C628C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CA630 002C6290 40 82 00 0C */ bne lbl_802CA63C +/* 802CA634 002C6294 38 60 00 03 */ li r3, 3 +/* 802CA638 002C6298 48 00 00 0C */ b lbl_802CA644 +lbl_802CA63C: +/* 802CA63C 002C629C B3 7C 00 02 */ sth r27, 2(r28) +lbl_802CA640: +/* 802CA640 002C62A0 38 60 00 01 */ li r3, 1 +lbl_802CA644: +/* 802CA644 002C62A4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CA648 002C62A8 4B EF CB 2D */ bl _restgpr_27 +/* 802CA64C 002C62AC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CA650 002C62B0 7C 08 03 A6 */ mtlr r0 +/* 802CA654 002C62B4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CA658 002C62B8 4E 80 00 20 */ blr + +.global func_802CA65C +func_802CA65C: +/* 802CA65C 002C62BC 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802CA660 002C62C0 7C 08 02 A6 */ mflr r0 +/* 802CA664 002C62C4 90 01 00 44 */ stw r0, 0x44(r1) +/* 802CA668 002C62C8 39 61 00 40 */ addi r11, r1, 0x40 +/* 802CA66C 002C62CC 4B EF CA B1 */ bl _savegpr_24 +/* 802CA670 002C62D0 3D 20 80 57 */ lis r9, lbl_80568B78@ha +/* 802CA674 002C62D4 7C 78 1B 78 */ mr r24, r3 +/* 802CA678 002C62D8 39 29 8B 78 */ addi r9, r9, lbl_80568B78@l +/* 802CA67C 002C62DC 7C 99 23 78 */ mr r25, r4 +/* 802CA680 002C62E0 88 09 27 C0 */ lbz r0, 0x27c0(r9) +/* 802CA684 002C62E4 7C BA 2B 78 */ mr r26, r5 +/* 802CA688 002C62E8 7C DB 33 78 */ mr r27, r6 +/* 802CA68C 002C62EC 7C FC 3B 78 */ mr r28, r7 +/* 802CA690 002C62F0 28 00 00 04 */ cmplwi r0, 4 +/* 802CA694 002C62F4 7D 1D 43 78 */ mr r29, r8 +/* 802CA698 002C62F8 3B E9 18 54 */ addi r31, r9, 0x1854 +/* 802CA69C 002C62FC 41 80 00 20 */ blt lbl_802CA6BC +/* 802CA6A0 002C6300 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CA6A4 002C6304 3C 80 80 44 */ lis r4, lbl_80441854@ha +/* 802CA6A8 002C6308 7F 25 CB 78 */ mr r5, r25 +/* 802CA6AC 002C630C 7F 06 C3 78 */ mr r6, r24 +/* 802CA6B0 002C6310 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CA6B4 002C6314 38 84 18 54 */ addi r4, r4, lbl_80441854@l +/* 802CA6B8 002C6318 4B FF 28 89 */ bl func_802BCF40 +lbl_802CA6BC: +/* 802CA6BC 002C631C 38 00 00 03 */ li r0, 3 +/* 802CA6C0 002C6320 3B C0 00 00 */ li r30, 0 +/* 802CA6C4 002C6324 7C 09 03 A6 */ mtctr r0 +lbl_802CA6C8: +/* 802CA6C8 002C6328 A0 1F 00 08 */ lhz r0, 8(r31) +/* 802CA6CC 002C632C 28 00 00 04 */ cmplwi r0, 4 +/* 802CA6D0 002C6330 40 82 00 6C */ bne lbl_802CA73C +/* 802CA6D4 002C6334 A0 1F 00 0A */ lhz r0, 0xa(r31) +/* 802CA6D8 002C6338 7C 19 00 40 */ cmplw r25, r0 +/* 802CA6DC 002C633C 40 82 00 60 */ bne lbl_802CA73C +/* 802CA6E0 002C6340 80 1F 00 10 */ lwz r0, 0x10(r31) +/* 802CA6E4 002C6344 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA6E8 002C6348 41 82 00 60 */ beq lbl_802CA748 +/* 802CA6EC 002C634C 38 61 00 0E */ addi r3, r1, 0xe +/* 802CA6F0 002C6350 38 9F 00 28 */ addi r4, r31, 0x28 +/* 802CA6F4 002C6354 38 A0 00 06 */ li r5, 6 +/* 802CA6F8 002C6358 4B D3 99 09 */ bl memcpy +/* 802CA6FC 002C635C B3 9F 00 24 */ sth r28, 0x24(r31) +/* 802CA700 002C6360 38 81 00 08 */ addi r4, r1, 8 +/* 802CA704 002C6364 38 60 00 01 */ li r3, 1 +/* 802CA708 002C6368 B3 BF 00 26 */ sth r29, 0x26(r31) +/* 802CA70C 002C636C 9B 5F 00 2F */ stb r26, 0x2f(r31) +/* 802CA710 002C6370 9B 7F 00 30 */ stb r27, 0x30(r31) +/* 802CA714 002C6374 81 9F 00 10 */ lwz r12, 0x10(r31) +/* 802CA718 002C6378 9B 01 00 14 */ stb r24, 0x14(r1) +/* 802CA71C 002C637C B3 C1 00 08 */ sth r30, 8(r1) +/* 802CA720 002C6380 B3 81 00 0A */ sth r28, 0xa(r1) +/* 802CA724 002C6384 B3 A1 00 0C */ sth r29, 0xc(r1) +/* 802CA728 002C6388 9B 41 00 15 */ stb r26, 0x15(r1) +/* 802CA72C 002C638C 9B 61 00 16 */ stb r27, 0x16(r1) +/* 802CA730 002C6390 7D 89 03 A6 */ mtctr r12 +/* 802CA734 002C6394 4E 80 04 21 */ bctrl +/* 802CA738 002C6398 48 00 00 10 */ b lbl_802CA748 +lbl_802CA73C: +/* 802CA73C 002C639C 3B DE 00 01 */ addi r30, r30, 1 +/* 802CA740 002C63A0 3B FF 00 34 */ addi r31, r31, 0x34 +/* 802CA744 002C63A4 42 00 FF 84 */ bdnz lbl_802CA6C8 +lbl_802CA748: +/* 802CA748 002C63A8 39 61 00 40 */ addi r11, r1, 0x40 +/* 802CA74C 002C63AC 4B EF CA 1D */ bl _restgpr_24 +/* 802CA750 002C63B0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802CA754 002C63B4 7C 08 03 A6 */ mtlr r0 +/* 802CA758 002C63B8 38 21 00 40 */ addi r1, r1, 0x40 +/* 802CA75C 002C63BC 4E 80 00 20 */ blr + +.global func_802CA760 +func_802CA760: +/* 802CA760 002C63C0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA764 002C63C4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA768 002C63C8 A0 04 18 5E */ lhz r0, 0x185e(r4) +/* 802CA76C 002C63CC 7C 03 00 40 */ cmplw r3, r0 +/* 802CA770 002C63D0 40 82 00 18 */ bne lbl_802CA788 +/* 802CA774 002C63D4 A0 04 18 5C */ lhz r0, 0x185c(r4) +/* 802CA778 002C63D8 28 00 00 04 */ cmplwi r0, 4 +/* 802CA77C 002C63DC 40 82 00 0C */ bne lbl_802CA788 +/* 802CA780 002C63E0 38 60 00 01 */ li r3, 1 +/* 802CA784 002C63E4 4E 80 00 20 */ blr +lbl_802CA788: +/* 802CA788 002C63E8 A0 04 18 92 */ lhz r0, 0x1892(r4) +/* 802CA78C 002C63EC 7C 03 00 40 */ cmplw r3, r0 +/* 802CA790 002C63F0 40 82 00 18 */ bne lbl_802CA7A8 +/* 802CA794 002C63F4 A0 04 18 90 */ lhz r0, 0x1890(r4) +/* 802CA798 002C63F8 28 00 00 04 */ cmplwi r0, 4 +/* 802CA79C 002C63FC 40 82 00 0C */ bne lbl_802CA7A8 +/* 802CA7A0 002C6400 38 60 00 01 */ li r3, 1 +/* 802CA7A4 002C6404 4E 80 00 20 */ blr +lbl_802CA7A8: +/* 802CA7A8 002C6408 A0 04 18 C6 */ lhz r0, 0x18c6(r4) +/* 802CA7AC 002C640C 7C 03 00 40 */ cmplw r3, r0 +/* 802CA7B0 002C6410 40 82 00 18 */ bne lbl_802CA7C8 +/* 802CA7B4 002C6414 A0 04 18 C4 */ lhz r0, 0x18c4(r4) +/* 802CA7B8 002C6418 28 00 00 04 */ cmplwi r0, 4 +/* 802CA7BC 002C641C 40 82 00 0C */ bne lbl_802CA7C8 +/* 802CA7C0 002C6420 38 60 00 01 */ li r3, 1 +/* 802CA7C4 002C6424 4E 80 00 20 */ blr +lbl_802CA7C8: +/* 802CA7C8 002C6428 38 60 00 00 */ li r3, 0 +/* 802CA7CC 002C642C 4E 80 00 20 */ blr + +.global func_802CA7D0 +func_802CA7D0: +/* 802CA7D0 002C6430 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA7D4 002C6434 38 60 00 00 */ li r3, 0 +/* 802CA7D8 002C6438 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA7DC 002C643C A0 04 18 5C */ lhz r0, 0x185c(r4) +/* 802CA7E0 002C6440 2C 00 00 07 */ cmpwi r0, 7 +/* 802CA7E4 002C6444 40 80 00 14 */ bge lbl_802CA7F8 +/* 802CA7E8 002C6448 2C 00 00 02 */ cmpwi r0, 2 +/* 802CA7EC 002C644C 40 80 00 08 */ bge lbl_802CA7F4 +/* 802CA7F0 002C6450 48 00 00 08 */ b lbl_802CA7F8 +lbl_802CA7F4: +/* 802CA7F4 002C6454 38 60 00 01 */ li r3, 1 +lbl_802CA7F8: +/* 802CA7F8 002C6458 A0 04 18 90 */ lhz r0, 0x1890(r4) +/* 802CA7FC 002C645C 2C 00 00 07 */ cmpwi r0, 7 +/* 802CA800 002C6460 40 80 00 14 */ bge lbl_802CA814 +/* 802CA804 002C6464 2C 00 00 02 */ cmpwi r0, 2 +/* 802CA808 002C6468 40 80 00 08 */ bge lbl_802CA810 +/* 802CA80C 002C646C 48 00 00 08 */ b lbl_802CA814 +lbl_802CA810: +/* 802CA810 002C6470 38 63 00 01 */ addi r3, r3, 1 +lbl_802CA814: +/* 802CA814 002C6474 A0 04 18 C4 */ lhz r0, 0x18c4(r4) +/* 802CA818 002C6478 2C 00 00 07 */ cmpwi r0, 7 +/* 802CA81C 002C647C 4C 80 00 20 */ bgelr +/* 802CA820 002C6480 2C 00 00 02 */ cmpwi r0, 2 +/* 802CA824 002C6484 4D 80 00 20 */ bltlr +/* 802CA828 002C6488 38 63 00 01 */ addi r3, r3, 1 +/* 802CA82C 002C648C 4E 80 00 20 */ blr + +.global func_802CA830 +func_802CA830: +/* 802CA830 002C6490 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CA834 002C6494 7C 08 02 A6 */ mflr r0 +/* 802CA838 002C6498 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA83C 002C649C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CA840 002C64A0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA844 002C64A4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CA848 002C64A8 3B E0 00 00 */ li r31, 0 +/* 802CA84C 002C64AC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CA850 002C64B0 3B C4 18 54 */ addi r30, r4, 0x1854 +/* 802CA854 002C64B4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CA858 002C64B8 7C 7D 1B 78 */ mr r29, r3 +lbl_802CA85C: +/* 802CA85C 002C64BC 7F A4 EB 78 */ mr r4, r29 +/* 802CA860 002C64C0 38 7E 00 28 */ addi r3, r30, 0x28 +/* 802CA864 002C64C4 38 A0 00 06 */ li r5, 6 +/* 802CA868 002C64C8 4B EF FB 31 */ bl memcmp +/* 802CA86C 002C64CC 2C 03 00 00 */ cmpwi r3, 0 +/* 802CA870 002C64D0 40 82 00 18 */ bne lbl_802CA888 +/* 802CA874 002C64D4 A0 1E 00 08 */ lhz r0, 8(r30) +/* 802CA878 002C64D8 28 00 00 04 */ cmplwi r0, 4 +/* 802CA87C 002C64DC 40 82 00 0C */ bne lbl_802CA888 +/* 802CA880 002C64E0 38 60 00 01 */ li r3, 1 +/* 802CA884 002C64E4 48 00 00 18 */ b lbl_802CA89C +lbl_802CA888: +/* 802CA888 002C64E8 3B FF 00 01 */ addi r31, r31, 1 +/* 802CA88C 002C64EC 3B DE 00 34 */ addi r30, r30, 0x34 +/* 802CA890 002C64F0 28 1F 00 03 */ cmplwi r31, 3 +/* 802CA894 002C64F4 41 80 FF C8 */ blt lbl_802CA85C +/* 802CA898 002C64F8 38 60 00 00 */ li r3, 0 +lbl_802CA89C: +/* 802CA89C 002C64FC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CA8A0 002C6500 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CA8A4 002C6504 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CA8A8 002C6508 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CA8AC 002C650C 7C 08 03 A6 */ mtlr r0 +/* 802CA8B0 002C6510 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CA8B4 002C6514 4E 80 00 20 */ blr + +.global func_802CA8B8 +func_802CA8B8: +/* 802CA8B8 002C6518 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CA8BC 002C651C 7C 08 02 A6 */ mflr r0 +/* 802CA8C0 002C6520 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802CA8C4 002C6524 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CA8C8 002C6528 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802CA8CC 002C652C 80 A3 00 00 */ lwz r5, 0(r3) +/* 802CA8D0 002C6530 80 83 00 04 */ lwz r4, 4(r3) +/* 802CA8D4 002C6534 88 06 27 C0 */ lbz r0, 0x27c0(r6) +/* 802CA8D8 002C6538 90 A6 19 0C */ stw r5, 0x190c(r6) +/* 802CA8DC 002C653C 28 00 00 04 */ cmplwi r0, 4 +/* 802CA8E0 002C6540 90 86 19 10 */ stw r4, 0x1910(r6) +/* 802CA8E4 002C6544 80 83 00 08 */ lwz r4, 8(r3) +/* 802CA8E8 002C6548 80 03 00 0C */ lwz r0, 0xc(r3) +/* 802CA8EC 002C654C 90 86 19 14 */ stw r4, 0x1914(r6) +/* 802CA8F0 002C6550 90 06 19 18 */ stw r0, 0x1918(r6) +/* 802CA8F4 002C6554 80 83 00 10 */ lwz r4, 0x10(r3) +/* 802CA8F8 002C6558 80 03 00 14 */ lwz r0, 0x14(r3) +/* 802CA8FC 002C655C 90 86 19 1C */ stw r4, 0x191c(r6) +/* 802CA900 002C6560 90 06 19 20 */ stw r0, 0x1920(r6) +/* 802CA904 002C6564 41 80 00 18 */ blt lbl_802CA91C +/* 802CA908 002C6568 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CA90C 002C656C 3C 80 80 44 */ lis r4, lbl_80441890@ha +/* 802CA910 002C6570 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CA914 002C6574 38 84 18 90 */ addi r4, r4, lbl_80441890@l +/* 802CA918 002C6578 4B FF 25 F9 */ bl func_802BCF10 +lbl_802CA91C: +/* 802CA91C 002C657C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CA920 002C6580 38 60 00 01 */ li r3, 1 +/* 802CA924 002C6584 7C 08 03 A6 */ mtlr r0 +/* 802CA928 002C6588 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CA92C 002C658C 4E 80 00 20 */ blr + +.global func_802CA930 +func_802CA930: +/* 802CA930 002C6590 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA934 002C6594 38 00 00 02 */ li r0, 2 +/* 802CA938 002C6598 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA93C 002C659C 38 A0 00 00 */ li r5, 0 +/* 802CA940 002C65A0 7C 09 03 A6 */ mtctr r0 +lbl_802CA944: +/* 802CA944 002C65A4 80 04 19 2C */ lwz r0, 0x192c(r4) +/* 802CA948 002C65A8 2C 00 00 00 */ cmpwi r0, 0 +/* 802CA94C 002C65AC 40 82 00 20 */ bne lbl_802CA96C +/* 802CA950 002C65B0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA954 002C65B4 54 A0 10 3A */ slwi r0, r5, 2 +/* 802CA958 002C65B8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA95C 002C65BC 7C 84 02 14 */ add r4, r4, r0 +/* 802CA960 002C65C0 90 64 19 2C */ stw r3, 0x192c(r4) +/* 802CA964 002C65C4 38 60 00 01 */ li r3, 1 +/* 802CA968 002C65C8 4E 80 00 20 */ blr +lbl_802CA96C: +/* 802CA96C 002C65CC 38 84 00 04 */ addi r4, r4, 4 +/* 802CA970 002C65D0 38 A5 00 01 */ addi r5, r5, 1 +/* 802CA974 002C65D4 42 00 FF D0 */ bdnz lbl_802CA944 +/* 802CA978 002C65D8 38 60 00 00 */ li r3, 0 +/* 802CA97C 002C65DC 4E 80 00 20 */ blr + +.global func_802CA980 +func_802CA980: +/* 802CA980 002C65E0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CA984 002C65E4 38 00 00 02 */ li r0, 2 +/* 802CA988 002C65E8 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CA98C 002C65EC 38 A0 00 00 */ li r5, 0 +/* 802CA990 002C65F0 7C 09 03 A6 */ mtctr r0 +lbl_802CA994: +/* 802CA994 002C65F4 80 04 19 2C */ lwz r0, 0x192c(r4) +/* 802CA998 002C65F8 7C 00 18 40 */ cmplw r0, r3 +/* 802CA99C 002C65FC 40 82 00 24 */ bne lbl_802CA9C0 +/* 802CA9A0 002C6600 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CA9A4 002C6604 54 A0 10 3A */ slwi r0, r5, 2 +/* 802CA9A8 002C6608 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CA9AC 002C660C 38 A0 00 00 */ li r5, 0 +/* 802CA9B0 002C6610 7C 83 02 14 */ add r4, r3, r0 +/* 802CA9B4 002C6614 90 A4 19 2C */ stw r5, 0x192c(r4) +/* 802CA9B8 002C6618 38 60 00 01 */ li r3, 1 +/* 802CA9BC 002C661C 4E 80 00 20 */ blr +lbl_802CA9C0: +/* 802CA9C0 002C6620 38 84 00 04 */ addi r4, r4, 4 +/* 802CA9C4 002C6624 38 A5 00 01 */ addi r5, r5, 1 +/* 802CA9C8 002C6628 42 00 FF CC */ bdnz lbl_802CA994 +/* 802CA9CC 002C662C 38 60 00 00 */ li r3, 0 +/* 802CA9D0 002C6630 4E 80 00 20 */ blr + +.global func_802CA9D4 +func_802CA9D4: +/* 802CA9D4 002C6634 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CA9D8 002C6638 7C 08 02 A6 */ mflr r0 +/* 802CA9DC 002C663C 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802CA9E0 002C6640 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CA9E4 002C6644 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802CA9E8 002C6648 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CA9EC 002C664C 7C BF 2B 78 */ mr r31, r5 +/* 802CA9F0 002C6650 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CA9F4 002C6654 7C 9E 23 78 */ mr r30, r4 +/* 802CA9F8 002C6658 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CA9FC 002C665C 7C 7D 1B 78 */ mr r29, r3 +/* 802CAA00 002C6660 88 06 27 C0 */ lbz r0, 0x27c0(r6) +/* 802CAA04 002C6664 28 00 00 03 */ cmplwi r0, 3 +/* 802CAA08 002C6668 41 80 00 24 */ blt lbl_802CAA2C +/* 802CAA0C 002C666C 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802CAA10 002C6670 3C 80 80 44 */ lis r4, lbl_80441928@ha +/* 802CAA14 002C6674 7F A5 EB 78 */ mr r5, r29 +/* 802CAA18 002C6678 7F C6 F3 78 */ mr r6, r30 +/* 802CAA1C 002C667C 7F E7 FB 78 */ mr r7, r31 +/* 802CAA20 002C6680 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802CAA24 002C6684 38 84 19 28 */ addi r4, r4, lbl_80441928@l +/* 802CAA28 002C6688 4B FF 25 31 */ bl func_802BCF58 +lbl_802CAA2C: +/* 802CAA2C 002C668C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CAA30 002C6690 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CAA34 002C6694 88 03 06 4E */ lbz r0, 0x64e(r3) +/* 802CAA38 002C6698 28 00 00 01 */ cmplwi r0, 1 +/* 802CAA3C 002C669C 40 81 00 0C */ ble lbl_802CAA48 +/* 802CAA40 002C66A0 7F A3 EB 78 */ mr r3, r29 +/* 802CAA44 002C66A4 48 00 6A 41 */ bl func_802D1484 +lbl_802CAA48: +/* 802CAA48 002C66A8 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802CAA4C 002C66AC 7F C4 F3 78 */ mr r4, r30 +/* 802CAA50 002C66B0 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802CAA54 002C66B4 7F E5 FB 78 */ mr r5, r31 +/* 802CAA58 002C66B8 9B A6 00 20 */ stb r29, 0x20(r6) +/* 802CAA5C 002C66BC 38 66 00 22 */ addi r3, r6, 0x22 +/* 802CAA60 002C66C0 9B E6 00 21 */ stb r31, 0x21(r6) +/* 802CAA64 002C66C4 4B D3 95 9D */ bl memcpy +/* 802CAA68 002C66C8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CAA6C 002C66CC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CAA70 002C66D0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CAA74 002C66D4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CAA78 002C66D8 7C 08 03 A6 */ mtlr r0 +/* 802CAA7C 002C66DC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CAA80 002C66E0 4E 80 00 20 */ blr + +.global func_802CAA84 +func_802CAA84: +/* 802CAA84 002C66E4 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802CAA88 002C66E8 7C 08 02 A6 */ mflr r0 +/* 802CAA8C 002C66EC 90 01 00 44 */ stw r0, 0x44(r1) +/* 802CAA90 002C66F0 39 61 00 40 */ addi r11, r1, 0x40 +/* 802CAA94 002C66F4 4B EF C6 79 */ bl _savegpr_20 +/* 802CAA98 002C66F8 3D 40 80 57 */ lis r10, lbl_80568B78@ha +/* 802CAA9C 002C66FC 3F E0 80 44 */ lis r31, lbl_80441890@ha +/* 802CAAA0 002C6700 39 4A 8B 78 */ addi r10, r10, lbl_80568B78@l +/* 802CAAA4 002C6704 3D 60 00 01 */ lis r11, 0x0000FFFF@ha +/* 802CAAA8 002C6708 7C 74 1B 78 */ mr r20, r3 +/* 802CAAAC 002C670C 7C 95 23 78 */ mr r21, r4 +/* 802CAAB0 002C6710 7C B6 2B 78 */ mr r22, r5 +/* 802CAAB4 002C6714 7C D7 33 78 */ mr r23, r6 +/* 802CAAB8 002C6718 7C F8 3B 78 */ mr r24, r7 +/* 802CAABC 002C671C 7D 19 43 78 */ mr r25, r8 +/* 802CAAC0 002C6720 7D 3A 4B 78 */ mr r26, r9 +/* 802CAAC4 002C6724 3B FF 18 90 */ addi r31, r31, lbl_80441890@l +/* 802CAAC8 002C6728 3B 8B FF FF */ addi r28, r11, 0x0000FFFF@l +/* 802CAACC 002C672C 3B CA 19 90 */ addi r30, r10, 0x1990 +/* 802CAAD0 002C6730 3B 60 00 00 */ li r27, 0 +/* 802CAAD4 002C6734 3B A0 00 00 */ li r29, 0 +lbl_802CAAD8: +/* 802CAAD8 002C6738 88 1E 00 0E */ lbz r0, 0xe(r30) +/* 802CAADC 002C673C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CAAE0 002C6740 41 82 00 60 */ beq lbl_802CAB40 +/* 802CAAE4 002C6744 A0 1E 00 0C */ lhz r0, 0xc(r30) +/* 802CAAE8 002C6748 7C 00 C0 40 */ cmplw r0, r24 +/* 802CAAEC 002C674C 40 82 00 64 */ bne lbl_802CAB50 +/* 802CAAF0 002C6750 80 1E 00 00 */ lwz r0, 0(r30) +/* 802CAAF4 002C6754 7C 00 C8 40 */ cmplw r0, r25 +/* 802CAAF8 002C6758 40 82 00 58 */ bne lbl_802CAB50 +/* 802CAAFC 002C675C 88 1E 00 0F */ lbz r0, 0xf(r30) +/* 802CAB00 002C6760 7C 16 00 40 */ cmplw r22, r0 +/* 802CAB04 002C6764 40 82 00 4C */ bne lbl_802CAB50 +/* 802CAB08 002C6768 7E A3 AB 78 */ mr r3, r21 +/* 802CAB0C 002C676C 38 9E 00 10 */ addi r4, r30, 0x10 +/* 802CAB10 002C6770 38 A0 00 15 */ li r5, 0x15 +/* 802CAB14 002C6774 4B F0 3A 55 */ bl strncmp +/* 802CAB18 002C6778 2C 03 00 00 */ cmpwi r3, 0 +/* 802CAB1C 002C677C 41 82 00 1C */ beq lbl_802CAB38 +/* 802CAB20 002C6780 7E A3 AB 78 */ mr r3, r21 +/* 802CAB24 002C6784 38 9E 00 26 */ addi r4, r30, 0x26 +/* 802CAB28 002C6788 38 A0 00 15 */ li r5, 0x15 +/* 802CAB2C 002C678C 4B F0 3A 3D */ bl strncmp +/* 802CAB30 002C6790 2C 03 00 00 */ cmpwi r3, 0 +/* 802CAB34 002C6794 40 82 00 1C */ bne lbl_802CAB50 +lbl_802CAB38: +/* 802CAB38 002C6798 3B 60 00 01 */ li r27, 1 +/* 802CAB3C 002C679C 48 00 00 24 */ b lbl_802CAB60 +lbl_802CAB40: +/* 802CAB40 002C67A0 2C 1B 00 00 */ cmpwi r27, 0 +/* 802CAB44 002C67A4 40 82 00 0C */ bne lbl_802CAB50 +/* 802CAB48 002C67A8 3B 60 00 01 */ li r27, 1 +/* 802CAB4C 002C67AC 7F BC EB 78 */ mr r28, r29 +lbl_802CAB50: +/* 802CAB50 002C67B0 3B BD 00 01 */ addi r29, r29, 1 +/* 802CAB54 002C67B4 3B DE 00 3C */ addi r30, r30, 0x3c +/* 802CAB58 002C67B8 28 1D 00 18 */ cmplwi r29, 0x18 +/* 802CAB5C 002C67BC 41 80 FF 7C */ blt lbl_802CAAD8 +lbl_802CAB60: +/* 802CAB60 002C67C0 2C 1B 00 00 */ cmpwi r27, 0 +/* 802CAB64 002C67C4 41 82 01 04 */ beq lbl_802CAC68 +/* 802CAB68 002C67C8 57 A0 04 3E */ clrlwi r0, r29, 0x10 +/* 802CAB6C 002C67CC 28 00 00 18 */ cmplwi r0, 0x18 +/* 802CAB70 002C67D0 41 80 00 20 */ blt lbl_802CAB90 +/* 802CAB74 002C67D4 57 80 04 3E */ clrlwi r0, r28, 0x10 +/* 802CAB78 002C67D8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CAB7C 002C67DC 1C 00 00 3C */ mulli r0, r0, 0x3c +/* 802CAB80 002C67E0 7F 9D E3 78 */ mr r29, r28 +/* 802CAB84 002C67E4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CAB88 002C67E8 7C 63 02 14 */ add r3, r3, r0 +/* 802CAB8C 002C67EC 3B C3 19 90 */ addi r30, r3, 0x1990 +lbl_802CAB90: +/* 802CAB90 002C67F0 B3 1E 00 0C */ sth r24, 0xc(r30) +/* 802CAB94 002C67F4 2C 14 00 00 */ cmpwi r20, 0 +/* 802CAB98 002C67F8 9A DE 00 0F */ stb r22, 0xf(r30) +/* 802CAB9C 002C67FC 93 3E 00 00 */ stw r25, 0(r30) +/* 802CABA0 002C6800 41 82 00 28 */ beq lbl_802CABC8 +/* 802CABA4 002C6804 93 5E 00 04 */ stw r26, 4(r30) +/* 802CABA8 002C6808 7E A4 AB 78 */ mr r4, r21 +/* 802CABAC 002C680C 38 7E 00 10 */ addi r3, r30, 0x10 +/* 802CABB0 002C6810 38 A0 00 15 */ li r5, 0x15 +/* 802CABB4 002C6814 88 1E 00 0E */ lbz r0, 0xe(r30) +/* 802CABB8 002C6818 54 00 07 72 */ rlwinm r0, r0, 0, 0x1d, 0x19 +/* 802CABBC 002C681C 98 1E 00 0E */ stb r0, 0xe(r30) +/* 802CABC0 002C6820 4B F0 37 D1 */ bl strncpy +/* 802CABC4 002C6824 48 00 00 24 */ b lbl_802CABE8 +lbl_802CABC8: +/* 802CABC8 002C6828 93 5E 00 08 */ stw r26, 8(r30) +/* 802CABCC 002C682C 7E A4 AB 78 */ mr r4, r21 +/* 802CABD0 002C6830 38 7E 00 26 */ addi r3, r30, 0x26 +/* 802CABD4 002C6834 38 A0 00 15 */ li r5, 0x15 +/* 802CABD8 002C6838 88 1E 00 0E */ lbz r0, 0xe(r30) +/* 802CABDC 002C683C 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c +/* 802CABE0 002C6840 98 1E 00 0E */ stb r0, 0xe(r30) +/* 802CABE4 002C6844 4B F0 37 AD */ bl strncpy +lbl_802CABE8: +/* 802CABE8 002C6848 88 9E 00 0E */ lbz r4, 0xe(r30) +/* 802CABEC 002C684C 62 E0 00 80 */ ori r0, r23, 0x80 +/* 802CABF0 002C6850 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CABF4 002C6854 7C 80 03 78 */ or r0, r4, r0 +/* 802CABF8 002C6858 98 1E 00 0E */ stb r0, 0xe(r30) +/* 802CABFC 002C685C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CAC00 002C6860 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CAC04 002C6864 28 00 00 03 */ cmplwi r0, 3 +/* 802CAC08 002C6868 41 80 00 2C */ blt lbl_802CAC34 +/* 802CAC0C 002C686C 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802CAC10 002C6870 7E C6 B3 78 */ mr r6, r22 +/* 802CAC14 002C6874 7E 87 A3 78 */ mr r7, r20 +/* 802CAC18 002C6878 7F 08 C3 78 */ mr r8, r24 +/* 802CAC1C 002C687C 7F 29 CB 78 */ mr r9, r25 +/* 802CAC20 002C6880 7F 4A D3 78 */ mr r10, r26 +/* 802CAC24 002C6884 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802CAC28 002C6888 38 9F 00 E0 */ addi r4, r31, 0xe0 +/* 802CAC2C 002C688C 57 A5 04 3E */ clrlwi r5, r29, 0x10 +/* 802CAC30 002C6890 4B FF 23 71 */ bl func_802BCFA0 +lbl_802CAC34: +/* 802CAC34 002C6894 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CAC38 002C6898 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CAC3C 002C689C 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CAC40 002C68A0 28 00 00 03 */ cmplwi r0, 3 +/* 802CAC44 002C68A4 41 80 00 4C */ blt lbl_802CAC90 +/* 802CAC48 002C68A8 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802CAC4C 002C68AC 88 BE 00 0E */ lbz r5, 0xe(r30) +/* 802CAC50 002C68B0 7E A6 AB 78 */ mr r6, r21 +/* 802CAC54 002C68B4 38 9F 01 28 */ addi r4, r31, 0x128 +/* 802CAC58 002C68B8 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802CAC5C 002C68BC 38 E0 00 15 */ li r7, 0x15 +/* 802CAC60 002C68C0 4B FF 22 F9 */ bl func_802BCF58 +/* 802CAC64 002C68C4 48 00 00 2C */ b lbl_802CAC90 +lbl_802CAC68: +/* 802CAC68 002C68C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CAC6C 002C68CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CAC70 002C68D0 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CAC74 002C68D4 28 00 00 02 */ cmplwi r0, 2 +/* 802CAC78 002C68D8 41 80 00 18 */ blt lbl_802CAC90 +/* 802CAC7C 002C68DC 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802CAC80 002C68E0 38 9F 01 70 */ addi r4, r31, 0x170 +/* 802CAC84 002C68E4 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802CAC88 002C68E8 38 A0 00 18 */ li r5, 0x18 +/* 802CAC8C 002C68EC 4B FF 22 9D */ bl func_802BCF28 +lbl_802CAC90: +/* 802CAC90 002C68F0 39 61 00 40 */ addi r11, r1, 0x40 +/* 802CAC94 002C68F4 7F 63 DB 78 */ mr r3, r27 +/* 802CAC98 002C68F8 4B EF C4 C1 */ bl _restgpr_20 +/* 802CAC9C 002C68FC 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802CACA0 002C6900 7C 08 03 A6 */ mtlr r0 +/* 802CACA4 002C6904 38 21 00 40 */ addi r1, r1, 0x40 +/* 802CACA8 002C6908 4E 80 00 20 */ blr + +.global func_802CACAC +func_802CACAC: +/* 802CACAC 002C690C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CACB0 002C6910 7C 08 02 A6 */ mflr r0 +/* 802CACB4 002C6914 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CACB8 002C6918 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CACBC 002C691C 4B EF C4 65 */ bl _savegpr_25 +/* 802CACC0 002C6920 3F C0 80 57 */ lis r30, lbl_80568B78@ha +/* 802CACC4 002C6924 7C 79 1B 78 */ mr r25, r3 +/* 802CACC8 002C6928 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l +/* 802CACCC 002C692C 7C 9A 23 78 */ mr r26, r4 +/* 802CACD0 002C6930 80 1E 19 4C */ lwz r0, 0x194c(r30) +/* 802CACD4 002C6934 7C BB 2B 78 */ mr r27, r5 +/* 802CACD8 002C6938 7C DC 33 78 */ mr r28, r6 +/* 802CACDC 002C693C 7C FD 3B 78 */ mr r29, r7 +/* 802CACE0 002C6940 2C 00 00 00 */ cmpwi r0, 0 +/* 802CACE4 002C6944 41 82 00 74 */ beq lbl_802CAD58 +/* 802CACE8 002C6948 38 7E 19 3C */ addi r3, r30, 0x193c +/* 802CACEC 002C694C 4B FF 28 61 */ bl func_802BD54C +/* 802CACF0 002C6950 3B E0 00 00 */ li r31, 0 +/* 802CACF4 002C6954 38 7E 19 54 */ addi r3, r30, 0x1954 +/* 802CACF8 002C6958 93 FE 19 4C */ stw r31, 0x194c(r30) +/* 802CACFC 002C695C 38 80 00 FF */ li r4, 0xff +/* 802CAD00 002C6960 38 A0 00 06 */ li r5, 6 +/* 802CAD04 002C6964 4B D3 94 01 */ bl memset +/* 802CAD08 002C6968 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CAD0C 002C696C 41 82 00 18 */ beq lbl_802CAD24 +/* 802CAD10 002C6970 38 00 00 0E */ li r0, 0xe +/* 802CAD14 002C6974 7F 23 CB 78 */ mr r3, r25 +/* 802CAD18 002C6978 98 1E 27 BF */ stb r0, 0x27bf(r30) +/* 802CAD1C 002C697C 48 00 59 69 */ bl func_802D0684 +/* 802CAD20 002C6980 48 00 00 38 */ b lbl_802CAD58 +lbl_802CAD24: +/* 802CAD24 002C6984 9B FE 27 BF */ stb r31, 0x27bf(r30) +/* 802CAD28 002C6988 7F 23 CB 78 */ mr r3, r25 +/* 802CAD2C 002C698C 7F 64 DB 78 */ mr r4, r27 +/* 802CAD30 002C6990 7F 85 E3 78 */ mr r5, r28 +/* 802CAD34 002C6994 48 00 57 6D */ bl func_802D04A0 +/* 802CAD38 002C6998 7F 23 CB 78 */ mr r3, r25 +/* 802CAD3C 002C699C 4B FF A8 E1 */ bl func_802C561C +/* 802CAD40 002C69A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802CAD44 002C69A4 41 82 00 14 */ beq lbl_802CAD58 +/* 802CAD48 002C69A8 80 1D 00 00 */ lwz r0, 0(r29) +/* 802CAD4C 002C69AC 90 03 00 10 */ stw r0, 0x10(r3) +/* 802CAD50 002C69B0 80 1D 00 04 */ lwz r0, 4(r29) +/* 802CAD54 002C69B4 90 03 00 14 */ stw r0, 0x14(r3) +lbl_802CAD58: +/* 802CAD58 002C69B8 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CAD5C 002C69BC 4B EF C4 11 */ bl _restgpr_25 +/* 802CAD60 002C69C0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CAD64 002C69C4 7C 08 03 A6 */ mtlr r0 +/* 802CAD68 002C69C8 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CAD6C 002C69CC 4E 80 00 20 */ blr + +.global func_802CAD70 +func_802CAD70: +/* 802CAD70 002C69D0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CAD74 002C69D4 7C 08 02 A6 */ mflr r0 +/* 802CAD78 002C69D8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CAD7C 002C69DC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CAD80 002C69E0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CAD84 002C69E4 7C 7E 1B 78 */ mr r30, r3 +/* 802CAD88 002C69E8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CAD8C 002C69EC 7C BD 2B 78 */ mr r29, r5 +/* 802CAD90 002C69F0 93 81 00 10 */ stw r28, 0x10(r1) +/* 802CAD94 002C69F4 7C 9C 23 78 */ mr r28, r4 +/* 802CAD98 002C69F8 4B FF A8 85 */ bl func_802C561C +/* 802CAD9C 002C69FC 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 802CADA0 002C6A00 7C 7F 1B 78 */ mr r31, r3 +/* 802CADA4 002C6A04 40 86 00 48 */ bne cr1, lbl_802CADEC +/* 802CADA8 002C6A08 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CADAC 002C6A0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CADB0 002C6A10 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CADB4 002C6A14 28 00 00 02 */ cmplwi r0, 2 +/* 802CADB8 002C6A18 41 80 01 74 */ blt lbl_802CAF2C +/* 802CADBC 002C6A1C 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802CADC0 002C6A20 3C 80 80 44 */ lis r4, lbl_80441A30@ha +/* 802CADC4 002C6A24 88 BE 00 00 */ lbz r5, 0(r30) +/* 802CADC8 002C6A28 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802CADCC 002C6A2C 88 DE 00 01 */ lbz r6, 1(r30) +/* 802CADD0 002C6A30 38 84 1A 30 */ addi r4, r4, lbl_80441A30@l +/* 802CADD4 002C6A34 88 FE 00 02 */ lbz r7, 2(r30) +/* 802CADD8 002C6A38 89 1E 00 03 */ lbz r8, 3(r30) +/* 802CADDC 002C6A3C 89 3E 00 04 */ lbz r9, 4(r30) +/* 802CADE0 002C6A40 89 5E 00 05 */ lbz r10, 5(r30) +/* 802CADE4 002C6A44 4B FF 21 BD */ bl func_802BCFA0 +/* 802CADE8 002C6A48 48 00 01 44 */ b lbl_802CAF2C +lbl_802CADEC: +/* 802CADEC 002C6A4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CADF0 002C6A50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CADF4 002C6A54 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CADF8 002C6A58 28 00 00 04 */ cmplwi r0, 4 +/* 802CADFC 002C6A5C 41 80 00 2C */ blt lbl_802CAE28 +/* 802CAE00 002C6A60 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CAE04 002C6A64 3C 80 80 44 */ lis r4, lbl_80441A90@ha +/* 802CAE08 002C6A68 7F 85 E3 78 */ mr r5, r28 +/* 802CAE0C 002C6A6C 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CAE10 002C6A70 38 84 1A 90 */ addi r4, r4, lbl_80441A90@l +/* 802CAE14 002C6A74 41 86 00 0C */ beq cr1, lbl_802CAE20 +/* 802CAE18 002C6A78 88 DF 00 7F */ lbz r6, 0x7f(r31) +/* 802CAE1C 002C6A7C 48 00 00 08 */ b lbl_802CAE24 +lbl_802CAE20: +/* 802CAE20 002C6A80 38 C0 00 00 */ li r6, 0 +lbl_802CAE24: +/* 802CAE24 002C6A84 4B FF 21 1D */ bl func_802BCF40 +lbl_802CAE28: +/* 802CAE28 002C6A88 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CAE2C 002C6A8C 40 82 00 20 */ bne lbl_802CAE4C +/* 802CAE30 002C6A90 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CAE34 002C6A94 60 00 00 01 */ ori r0, r0, 1 +/* 802CAE38 002C6A98 98 1F 00 76 */ stb r0, 0x76(r31) +/* 802CAE3C 002C6A9C 80 1D 00 00 */ lwz r0, 0(r29) +/* 802CAE40 002C6AA0 90 1F 00 10 */ stw r0, 0x10(r31) +/* 802CAE44 002C6AA4 80 1D 00 04 */ lwz r0, 4(r29) +/* 802CAE48 002C6AA8 90 1F 00 14 */ stw r0, 0x14(r31) +lbl_802CAE4C: +/* 802CAE4C 002C6AAC 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CAE50 002C6AB0 28 00 00 04 */ cmplwi r0, 4 +/* 802CAE54 002C6AB4 40 82 00 D8 */ bne lbl_802CAF2C +/* 802CAE58 002C6AB8 3B A0 00 00 */ li r29, 0 +/* 802CAE5C 002C6ABC 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CAE60 002C6AC0 9B BF 00 7F */ stb r29, 0x7f(r31) +/* 802CAE64 002C6AC4 41 82 00 5C */ beq lbl_802CAEC0 +/* 802CAE68 002C6AC8 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CAE6C 002C6ACC 2C 00 00 00 */ cmpwi r0, 0 +/* 802CAE70 002C6AD0 41 82 00 BC */ beq lbl_802CAF2C +/* 802CAE74 002C6AD4 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CAE78 002C6AD8 2C 00 00 00 */ cmpwi r0, 0 +/* 802CAE7C 002C6ADC 41 82 00 20 */ beq lbl_802CAE9C +/* 802CAE80 002C6AE0 80 7F 00 00 */ lwz r3, 0(r31) +/* 802CAE84 002C6AE4 2C 03 00 00 */ cmpwi r3, 0 +/* 802CAE88 002C6AE8 41 82 00 14 */ beq lbl_802CAE9C +/* 802CAE8C 002C6AEC 80 03 00 00 */ lwz r0, 0(r3) +/* 802CAE90 002C6AF0 28 00 00 03 */ cmplwi r0, 3 +/* 802CAE94 002C6AF4 40 82 00 08 */ bne lbl_802CAE9C +/* 802CAE98 002C6AF8 93 A3 00 04 */ stw r29, 4(r3) +lbl_802CAE9C: +/* 802CAE9C 002C6AFC 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CAEA0 002C6B00 7F C3 F3 78 */ mr r3, r30 +/* 802CAEA4 002C6B04 7F 85 E3 78 */ mr r5, r28 +/* 802CAEA8 002C6B08 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CAEAC 002C6B0C 7D 89 03 A6 */ mtctr r12 +/* 802CAEB0 002C6B10 4E 80 04 21 */ bctrl +/* 802CAEB4 002C6B14 38 00 00 00 */ li r0, 0 +/* 802CAEB8 002C6B18 90 1F 00 04 */ stw r0, 4(r31) +/* 802CAEBC 002C6B1C 48 00 00 70 */ b lbl_802CAF2C +lbl_802CAEC0: +/* 802CAEC0 002C6B20 7F E3 FB 78 */ mr r3, r31 +/* 802CAEC4 002C6B24 48 00 23 A9 */ bl func_802CD26C +/* 802CAEC8 002C6B28 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CAECC 002C6B2C 7C 64 1B 78 */ mr r4, r3 +/* 802CAED0 002C6B30 28 00 00 01 */ cmplwi r0, 1 +/* 802CAED4 002C6B34 41 82 00 58 */ beq lbl_802CAF2C +/* 802CAED8 002C6B38 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CAEDC 002C6B3C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CAEE0 002C6B40 41 82 00 4C */ beq lbl_802CAF2C +/* 802CAEE4 002C6B44 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CAEE8 002C6B48 2C 00 00 00 */ cmpwi r0, 0 +/* 802CAEEC 002C6B4C 41 82 00 20 */ beq lbl_802CAF0C +/* 802CAEF0 002C6B50 80 7F 00 00 */ lwz r3, 0(r31) +/* 802CAEF4 002C6B54 2C 03 00 00 */ cmpwi r3, 0 +/* 802CAEF8 002C6B58 41 82 00 14 */ beq lbl_802CAF0C +/* 802CAEFC 002C6B5C 80 03 00 00 */ lwz r0, 0(r3) +/* 802CAF00 002C6B60 28 00 00 03 */ cmplwi r0, 3 +/* 802CAF04 002C6B64 40 82 00 08 */ bne lbl_802CAF0C +/* 802CAF08 002C6B68 93 A3 00 04 */ stw r29, 4(r3) +lbl_802CAF0C: +/* 802CAF0C 002C6B6C 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CAF10 002C6B70 54 85 06 3E */ clrlwi r5, r4, 0x18 +/* 802CAF14 002C6B74 7F C3 F3 78 */ mr r3, r30 +/* 802CAF18 002C6B78 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CAF1C 002C6B7C 7D 89 03 A6 */ mtctr r12 +/* 802CAF20 002C6B80 4E 80 04 21 */ bctrl +/* 802CAF24 002C6B84 38 00 00 00 */ li r0, 0 +/* 802CAF28 002C6B88 90 1F 00 04 */ stw r0, 4(r31) +lbl_802CAF2C: +/* 802CAF2C 002C6B8C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CAF30 002C6B90 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CAF34 002C6B94 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CAF38 002C6B98 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CAF3C 002C6B9C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802CAF40 002C6BA0 7C 08 03 A6 */ mtlr r0 +/* 802CAF44 002C6BA4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CAF48 002C6BA8 4E 80 00 20 */ blr + +.global func_802CAF4C +func_802CAF4C: +/* 802CAF4C 002C6BAC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CAF50 002C6BB0 7C 08 02 A6 */ mflr r0 +/* 802CAF54 002C6BB4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CAF58 002C6BB8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CAF5C 002C6BBC 4B EF C1 C9 */ bl _savegpr_26 +/* 802CAF60 002C6BC0 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802CAF64 002C6BC4 3F E0 80 44 */ lis r31, lbl_80441890@ha +/* 802CAF68 002C6BC8 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802CAF6C 002C6BCC 7C 7C 1B 78 */ mr r28, r3 +/* 802CAF70 002C6BD0 88 07 27 C0 */ lbz r0, 0x27c0(r7) +/* 802CAF74 002C6BD4 7C 9D 23 78 */ mr r29, r4 +/* 802CAF78 002C6BD8 7C BA 2B 78 */ mr r26, r5 +/* 802CAF7C 002C6BDC 7C DB 33 78 */ mr r27, r6 +/* 802CAF80 002C6BE0 28 00 00 03 */ cmplwi r0, 3 +/* 802CAF84 002C6BE4 3B FF 18 90 */ addi r31, r31, lbl_80441890@l +/* 802CAF88 002C6BE8 41 80 00 2C */ blt lbl_802CAFB4 +/* 802CAF8C 002C6BEC 3C 60 00 0D */ lis r3, 0x000D0002@ha +/* 802CAF90 002C6BF0 88 BC 00 00 */ lbz r5, 0(r28) +/* 802CAF94 002C6BF4 88 DC 00 01 */ lbz r6, 1(r28) +/* 802CAF98 002C6BF8 38 63 00 02 */ addi r3, r3, 0x000D0002@l +/* 802CAF9C 002C6BFC 88 FC 00 02 */ lbz r7, 2(r28) +/* 802CAFA0 002C6C00 38 9F 02 30 */ addi r4, r31, 0x230 +/* 802CAFA4 002C6C04 89 1C 00 03 */ lbz r8, 3(r28) +/* 802CAFA8 002C6C08 89 3C 00 04 */ lbz r9, 4(r28) +/* 802CAFAC 002C6C0C 89 5C 00 05 */ lbz r10, 5(r28) +/* 802CAFB0 002C6C10 4B FF 1F F1 */ bl func_802BCFA0 +lbl_802CAFB4: +/* 802CAFB4 002C6C14 28 1D 00 10 */ cmplwi r29, 0x10 +/* 802CAFB8 002C6C18 40 81 00 30 */ ble lbl_802CAFE8 +/* 802CAFBC 002C6C1C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CAFC0 002C6C20 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CAFC4 002C6C24 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CAFC8 002C6C28 28 00 00 01 */ cmplwi r0, 1 +/* 802CAFCC 002C6C2C 41 80 00 14 */ blt lbl_802CAFE0 +/* 802CAFD0 002C6C30 7F A5 EB 78 */ mr r5, r29 +/* 802CAFD4 002C6C34 38 9F 02 60 */ addi r4, r31, 0x260 +/* 802CAFD8 002C6C38 3C 60 00 0D */ lis r3, 0xd +/* 802CAFDC 002C6C3C 4B FF 1F 4D */ bl func_802BCF28 +lbl_802CAFE0: +/* 802CAFE0 002C6C40 38 60 00 05 */ li r3, 5 +/* 802CAFE4 002C6C44 48 00 03 1C */ b lbl_802CB300 +lbl_802CAFE8: +/* 802CAFE8 002C6C48 7F 83 E3 78 */ mr r3, r28 +/* 802CAFEC 002C6C4C 4B FF A6 31 */ bl func_802C561C +/* 802CAFF0 002C6C50 2C 03 00 00 */ cmpwi r3, 0 +/* 802CAFF4 002C6C54 7C 7E 1B 78 */ mr r30, r3 +/* 802CAFF8 002C6C58 40 82 00 40 */ bne lbl_802CB038 +/* 802CAFFC 002C6C5C 7F 83 E3 78 */ mr r3, r28 +/* 802CB000 002C6C60 4B FF A4 45 */ bl func_802C5444 +/* 802CB004 002C6C64 2C 03 00 00 */ cmpwi r3, 0 +/* 802CB008 002C6C68 7C 7E 1B 78 */ mr r30, r3 +/* 802CB00C 002C6C6C 40 82 00 2C */ bne lbl_802CB038 +/* 802CB010 002C6C70 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB014 002C6C74 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB018 002C6C78 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB01C 002C6C7C 28 00 00 01 */ cmplwi r0, 1 +/* 802CB020 002C6C80 41 80 00 10 */ blt lbl_802CB030 +/* 802CB024 002C6C84 38 9F 02 80 */ addi r4, r31, 0x280 +/* 802CB028 002C6C88 3C 60 00 0D */ lis r3, 0xd +/* 802CB02C 002C6C8C 4B FF 1E E5 */ bl func_802BCF10 +lbl_802CB030: +/* 802CB030 002C6C90 38 60 00 03 */ li r3, 3 +/* 802CB034 002C6C94 48 00 02 CC */ b lbl_802CB300 +lbl_802CB038: +/* 802CB038 002C6C98 A0 1E 00 18 */ lhz r0, 0x18(r30) +/* 802CB03C 002C6C9C 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CB040 002C6CA0 41 82 00 3C */ beq lbl_802CB07C +/* 802CB044 002C6CA4 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802CB048 002C6CA8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802CB04C 002C6CAC 41 82 00 30 */ beq lbl_802CB07C +/* 802CB050 002C6CB0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB054 002C6CB4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB058 002C6CB8 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB05C 002C6CBC 28 00 00 02 */ cmplwi r0, 2 +/* 802CB060 002C6CC0 41 80 00 14 */ blt lbl_802CB074 +/* 802CB064 002C6CC4 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802CB068 002C6CC8 38 9F 02 A0 */ addi r4, r31, 0x2a0 +/* 802CB06C 002C6CCC 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802CB070 002C6CD0 4B FF 1E A1 */ bl func_802BCF10 +lbl_802CB074: +/* 802CB074 002C6CD4 38 60 00 00 */ li r3, 0 +/* 802CB078 002C6CD8 48 00 02 88 */ b lbl_802CB300 +lbl_802CB07C: +/* 802CB07C 002C6CDC 7F 83 E3 78 */ mr r3, r28 +/* 802CB080 002C6CE0 38 80 00 00 */ li r4, 0 +/* 802CB084 002C6CE4 4B FF BD 85 */ bl func_802C6E08 +/* 802CB088 002C6CE8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CB08C 002C6CEC 41 82 00 0C */ beq lbl_802CB098 +/* 802CB090 002C6CF0 38 60 00 03 */ li r3, 3 +/* 802CB094 002C6CF4 48 00 02 6C */ b lbl_802CB300 +lbl_802CB098: +/* 802CB098 002C6CF8 38 00 00 50 */ li r0, 0x50 +/* 802CB09C 002C6CFC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB0A0 002C6D00 98 1E 00 81 */ stb r0, 0x81(r30) +/* 802CB0A4 002C6D04 38 00 00 01 */ li r0, 1 +/* 802CB0A8 002C6D08 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CB0AC 002C6D0C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB0B0 002C6D10 98 1E 00 80 */ stb r0, 0x80(r30) +/* 802CB0B4 002C6D14 80 1B 00 00 */ lwz r0, 0(r27) +/* 802CB0B8 002C6D18 90 1E 00 10 */ stw r0, 0x10(r30) +/* 802CB0BC 002C6D1C 80 1B 00 04 */ lwz r0, 4(r27) +/* 802CB0C0 002C6D20 90 1E 00 14 */ stw r0, 0x14(r30) +/* 802CB0C4 002C6D24 9B A3 19 7F */ stb r29, 0x197f(r3) +/* 802CB0C8 002C6D28 41 82 00 14 */ beq lbl_802CB0DC +/* 802CB0CC 002C6D2C 7F 44 D3 78 */ mr r4, r26 +/* 802CB0D0 002C6D30 7F A5 EB 78 */ mr r5, r29 +/* 802CB0D4 002C6D34 38 63 19 80 */ addi r3, r3, 0x1980 +/* 802CB0D8 002C6D38 4B D3 8F 29 */ bl memcpy +lbl_802CB0DC: +/* 802CB0DC 002C6D3C 88 7E 00 76 */ lbz r3, 0x76(r30) +/* 802CB0E0 002C6D40 38 00 FF E9 */ li r0, -23 +/* 802CB0E4 002C6D44 7C 60 00 38 */ and r0, r3, r0 +/* 802CB0E8 002C6D48 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802CB0EC 002C6D4C 88 1E 00 23 */ lbz r0, 0x23(r30) +/* 802CB0F0 002C6D50 54 00 06 FE */ clrlwi r0, r0, 0x1b +/* 802CB0F4 002C6D54 2C 00 00 05 */ cmpwi r0, 5 +/* 802CB0F8 002C6D58 40 82 00 34 */ bne lbl_802CB12C +/* 802CB0FC 002C6D5C 88 1E 00 24 */ lbz r0, 0x24(r30) +/* 802CB100 002C6D60 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CB104 002C6D64 41 82 00 28 */ beq lbl_802CB12C +/* 802CB108 002C6D68 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CB10C 002C6D6C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CB110 002C6D70 88 04 00 20 */ lbz r0, 0x20(r4) +/* 802CB114 002C6D74 28 00 00 01 */ cmplwi r0, 1 +/* 802CB118 002C6D78 41 82 00 14 */ beq lbl_802CB12C +/* 802CB11C 002C6D7C 38 00 00 01 */ li r0, 1 +/* 802CB120 002C6D80 38 60 00 01 */ li r3, 1 +/* 802CB124 002C6D84 98 04 19 7C */ stb r0, 0x197c(r4) +/* 802CB128 002C6D88 48 00 63 5D */ bl func_802D1484 +lbl_802CB12C: +/* 802CB12C 002C6D8C 3F A0 80 57 */ lis r29, lbl_80568B78@ha +/* 802CB130 002C6D90 3B 60 00 00 */ li r27, 0 +/* 802CB134 002C6D94 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l +/* 802CB138 002C6D98 9B 7D 19 7E */ stb r27, 0x197e(r29) +/* 802CB13C 002C6D9C A0 1E 00 18 */ lhz r0, 0x18(r30) +/* 802CB140 002C6DA0 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CB144 002C6DA4 41 82 00 3C */ beq lbl_802CB180 +/* 802CB148 002C6DA8 88 7E 00 76 */ lbz r3, 0x76(r30) +/* 802CB14C 002C6DAC 38 00 00 01 */ li r0, 1 +/* 802CB150 002C6DB0 54 63 07 34 */ rlwinm r3, r3, 0, 0x1c, 0x1a +/* 802CB154 002C6DB4 98 7E 00 76 */ stb r3, 0x76(r30) +/* 802CB158 002C6DB8 98 1E 00 7F */ stb r0, 0x7f(r30) +/* 802CB15C 002C6DBC A0 7E 00 18 */ lhz r3, 0x18(r30) +/* 802CB160 002C6DC0 48 00 56 55 */ bl func_802D07B4 +/* 802CB164 002C6DC4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CB168 002C6DC8 40 82 00 0C */ bne lbl_802CB174 +/* 802CB16C 002C6DCC 38 60 00 03 */ li r3, 3 +/* 802CB170 002C6DD0 48 00 01 90 */ b lbl_802CB300 +lbl_802CB174: +/* 802CB174 002C6DD4 9B 7D 19 7D */ stb r27, 0x197d(r29) +/* 802CB178 002C6DD8 38 60 00 01 */ li r3, 1 +/* 802CB17C 002C6DDC 48 00 01 84 */ b lbl_802CB300 +lbl_802CB180: +/* 802CB180 002C6DE0 88 1D 19 78 */ lbz r0, 0x1978(r29) +/* 802CB184 002C6DE4 28 00 00 03 */ cmplwi r0, 3 +/* 802CB188 002C6DE8 41 82 00 68 */ beq lbl_802CB1F0 +/* 802CB18C 002C6DEC 88 1D 27 C0 */ lbz r0, 0x27c0(r29) +/* 802CB190 002C6DF0 28 00 00 05 */ cmplwi r0, 5 +/* 802CB194 002C6DF4 41 80 00 14 */ blt lbl_802CB1A8 +/* 802CB198 002C6DF8 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802CB19C 002C6DFC 38 9F 02 C0 */ addi r4, r31, 0x2c0 +/* 802CB1A0 002C6E00 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802CB1A4 002C6E04 4B FF 1D 6D */ bl func_802BCF10 +lbl_802CB1A8: +/* 802CB1A8 002C6E08 38 60 00 01 */ li r3, 1 +/* 802CB1AC 002C6E0C 48 00 68 4D */ bl func_802D19F8 +/* 802CB1B0 002C6E10 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CB1B4 002C6E14 40 82 00 2C */ bne lbl_802CB1E0 +/* 802CB1B8 002C6E18 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB1BC 002C6E1C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB1C0 002C6E20 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB1C4 002C6E24 28 00 00 01 */ cmplwi r0, 1 +/* 802CB1C8 002C6E28 41 80 00 10 */ blt lbl_802CB1D8 +/* 802CB1CC 002C6E2C 38 9F 02 E4 */ addi r4, r31, 0x2e4 +/* 802CB1D0 002C6E30 3C 60 00 0D */ lis r3, 0xd +/* 802CB1D4 002C6E34 4B FF 1D 3D */ bl func_802BCF10 +lbl_802CB1D8: +/* 802CB1D8 002C6E38 38 60 00 03 */ li r3, 3 +/* 802CB1DC 002C6E3C 48 00 01 24 */ b lbl_802CB300 +lbl_802CB1E0: +/* 802CB1E0 002C6E40 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB1E4 002C6E44 38 00 00 01 */ li r0, 1 +/* 802CB1E8 002C6E48 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB1EC 002C6E4C 98 03 19 7B */ stb r0, 0x197b(r3) +lbl_802CB1F0: +/* 802CB1F0 002C6E50 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB1F4 002C6E54 38 00 00 01 */ li r0, 1 +/* 802CB1F8 002C6E58 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB1FC 002C6E5C 98 03 19 7D */ stb r0, 0x197d(r3) +/* 802CB200 002C6E60 4B FF B7 61 */ bl func_802C6960 +/* 802CB204 002C6E64 88 83 00 00 */ lbz r4, 0(r3) +/* 802CB208 002C6E68 38 00 00 00 */ li r0, 0 +/* 802CB20C 002C6E6C 7F 83 E3 78 */ mr r3, r28 +/* 802CB210 002C6E70 98 1E 00 85 */ stb r0, 0x85(r30) +/* 802CB214 002C6E74 54 9B DF FE */ rlwinm r27, r4, 0x1b, 0x1f, 0x1f +/* 802CB218 002C6E78 4B FF CB 11 */ bl func_802C7D28 +/* 802CB21C 002C6E7C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CB220 002C6E80 7C 64 1B 78 */ mr r4, r3 +/* 802CB224 002C6E84 41 82 00 28 */ beq lbl_802CB24C +/* 802CB228 002C6E88 A0 04 00 00 */ lhz r0, 0(r4) +/* 802CB22C 002C6E8C 7F 83 E3 78 */ mr r3, r28 +/* 802CB230 002C6E90 88 A4 00 0B */ lbz r5, 0xb(r4) +/* 802CB234 002C6E94 7F 68 DB 78 */ mr r8, r27 +/* 802CB238 002C6E98 88 C4 00 0D */ lbz r6, 0xd(r4) +/* 802CB23C 002C6E9C 60 07 80 00 */ ori r7, r0, 0x8000 +/* 802CB240 002C6EA0 38 80 00 18 */ li r4, 0x18 +/* 802CB244 002C6EA4 48 00 4D 6D */ bl func_802CFFB0 +/* 802CB248 002C6EA8 48 00 00 20 */ b lbl_802CB268 +lbl_802CB24C: +/* 802CB24C 002C6EAC A0 FE 00 1A */ lhz r7, 0x1a(r30) +/* 802CB250 002C6EB0 7F 83 E3 78 */ mr r3, r28 +/* 802CB254 002C6EB4 7F 68 DB 78 */ mr r8, r27 +/* 802CB258 002C6EB8 38 80 00 18 */ li r4, 0x18 +/* 802CB25C 002C6EBC 38 A0 00 01 */ li r5, 1 +/* 802CB260 002C6EC0 38 C0 00 00 */ li r6, 0 +/* 802CB264 002C6EC4 48 00 4D 4D */ bl func_802CFFB0 +lbl_802CB268: +/* 802CB268 002C6EC8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CB26C 002C6ECC 41 82 00 0C */ beq lbl_802CB278 +/* 802CB270 002C6ED0 38 60 00 01 */ li r3, 1 +/* 802CB274 002C6ED4 48 00 00 8C */ b lbl_802CB300 +lbl_802CB278: +/* 802CB278 002C6ED8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB27C 002C6EDC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB280 002C6EE0 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB284 002C6EE4 28 00 00 01 */ cmplwi r0, 1 +/* 802CB288 002C6EE8 41 80 00 10 */ blt lbl_802CB298 +/* 802CB28C 002C6EEC 38 9F 02 E4 */ addi r4, r31, 0x2e4 +/* 802CB290 002C6EF0 3C 60 00 0D */ lis r3, 0xd +/* 802CB294 002C6EF4 4B FF 1C 7D */ bl func_802BCF10 +lbl_802CB298: +/* 802CB298 002C6EF8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CB29C 002C6EFC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CB2A0 002C6F00 88 04 19 7B */ lbz r0, 0x197b(r4) +/* 802CB2A4 002C6F04 2C 00 00 00 */ cmpwi r0, 0 +/* 802CB2A8 002C6F08 41 82 00 54 */ beq lbl_802CB2FC +/* 802CB2AC 002C6F0C 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CB2B0 002C6F10 38 60 00 00 */ li r3, 0 +/* 802CB2B4 002C6F14 98 64 19 7B */ stb r3, 0x197b(r4) +/* 802CB2B8 002C6F18 28 00 00 05 */ cmplwi r0, 5 +/* 802CB2BC 002C6F1C 41 80 00 24 */ blt lbl_802CB2E0 +/* 802CB2C0 002C6F20 88 A4 19 78 */ lbz r5, 0x1978(r4) +/* 802CB2C4 002C6F24 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802CB2C8 002C6F28 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802CB2CC 002C6F2C 38 9F 02 FC */ addi r4, r31, 0x2fc +/* 802CB2D0 002C6F30 38 05 FF FD */ addi r0, r5, -3 +/* 802CB2D4 002C6F34 7C 00 00 34 */ cntlzw r0, r0 +/* 802CB2D8 002C6F38 54 05 D9 7E */ srwi r5, r0, 5 +/* 802CB2DC 002C6F3C 4B FF 1C 4D */ bl func_802BCF28 +lbl_802CB2E0: +/* 802CB2E0 002C6F40 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB2E4 002C6F44 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB2E8 002C6F48 88 63 19 78 */ lbz r3, 0x1978(r3) +/* 802CB2EC 002C6F4C 38 03 FF FD */ addi r0, r3, -3 +/* 802CB2F0 002C6F50 7C 00 00 34 */ cntlzw r0, r0 +/* 802CB2F4 002C6F54 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802CB2F8 002C6F58 48 00 67 01 */ bl func_802D19F8 +lbl_802CB2FC: +/* 802CB2FC 002C6F5C 38 60 00 03 */ li r3, 3 +lbl_802CB300: +/* 802CB300 002C6F60 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CB304 002C6F64 4B EF BE 6D */ bl _restgpr_26 +/* 802CB308 002C6F68 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CB30C 002C6F6C 7C 08 03 A6 */ mtlr r0 +/* 802CB310 002C6F70 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CB314 002C6F74 4E 80 00 20 */ blr + +.global func_802CB318 +func_802CB318: +/* 802CB318 002C6F78 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CB31C 002C6F7C 7C 08 02 A6 */ mflr r0 +/* 802CB320 002C6F80 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CB324 002C6F84 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CB328 002C6F88 4B EF BD F5 */ bl _savegpr_24 +/* 802CB32C 002C6F8C 3F E0 80 44 */ lis r31, lbl_80441890@ha +/* 802CB330 002C6F90 7C 78 1B 78 */ mr r24, r3 +/* 802CB334 002C6F94 7C 99 23 78 */ mr r25, r4 +/* 802CB338 002C6F98 7C BA 2B 78 */ mr r26, r5 +/* 802CB33C 002C6F9C 7C DB 33 78 */ mr r27, r6 +/* 802CB340 002C6FA0 7C FC 3B 78 */ mr r28, r7 +/* 802CB344 002C6FA4 3B FF 18 90 */ addi r31, r31, lbl_80441890@l +/* 802CB348 002C6FA8 4B FF A2 D5 */ bl func_802C561C +/* 802CB34C 002C6FAC 2C 03 00 00 */ cmpwi r3, 0 +/* 802CB350 002C6FB0 7C 7E 1B 78 */ mr r30, r3 +/* 802CB354 002C6FB4 40 82 00 68 */ bne lbl_802CB3BC +/* 802CB358 002C6FB8 7F 03 C3 78 */ mr r3, r24 +/* 802CB35C 002C6FBC 4B FF A0 E9 */ bl func_802C5444 +/* 802CB360 002C6FC0 2C 03 00 00 */ cmpwi r3, 0 +/* 802CB364 002C6FC4 7C 7E 1B 78 */ mr r30, r3 +/* 802CB368 002C6FC8 40 82 00 54 */ bne lbl_802CB3BC +/* 802CB36C 002C6FCC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB370 002C6FD0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB374 002C6FD4 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB378 002C6FD8 28 00 00 02 */ cmplwi r0, 2 +/* 802CB37C 002C6FDC 41 80 00 18 */ blt lbl_802CB394 +/* 802CB380 002C6FE0 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802CB384 002C6FE4 7F 25 CB 78 */ mr r5, r25 +/* 802CB388 002C6FE8 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802CB38C 002C6FEC 38 9F 04 10 */ addi r4, r31, 0x410 +/* 802CB390 002C6FF0 4B FF 1B 99 */ bl func_802BCF28 +lbl_802CB394: +/* 802CB394 002C6FF4 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CB398 002C6FF8 41 82 00 1C */ beq lbl_802CB3B4 +/* 802CB39C 002C6FFC 7F 8C E3 78 */ mr r12, r28 +/* 802CB3A0 002C7000 7F 03 C3 78 */ mr r3, r24 +/* 802CB3A4 002C7004 38 80 00 00 */ li r4, 0 +/* 802CB3A8 002C7008 38 A0 00 03 */ li r5, 3 +/* 802CB3AC 002C700C 7D 89 03 A6 */ mtctr r12 +/* 802CB3B0 002C7010 4E 80 04 21 */ bctrl +lbl_802CB3B4: +/* 802CB3B4 002C7014 38 60 00 03 */ li r3, 3 +/* 802CB3B8 002C7018 48 00 03 AC */ b lbl_802CB764 +lbl_802CB3BC: +/* 802CB3BC 002C701C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB3C0 002C7020 38 00 00 04 */ li r0, 4 +/* 802CB3C4 002C7024 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB3C8 002C7028 B3 5E 00 18 */ sth r26, 0x18(r30) +/* 802CB3CC 002C702C 38 83 19 90 */ addi r4, r3, 0x1990 +/* 802CB3D0 002C7030 38 60 00 00 */ li r3, 0 +/* 802CB3D4 002C7034 7C 09 03 A6 */ mtctr r0 +lbl_802CB3D8: +/* 802CB3D8 002C7038 88 04 00 0E */ lbz r0, 0xe(r4) +/* 802CB3DC 002C703C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB3E0 002C7040 41 82 00 14 */ beq lbl_802CB3F4 +/* 802CB3E4 002C7044 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB3E8 002C7048 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB3EC 002C704C 40 82 00 08 */ bne lbl_802CB3F4 +/* 802CB3F0 002C7050 48 00 00 B4 */ b lbl_802CB4A4 +lbl_802CB3F4: +/* 802CB3F4 002C7054 88 04 00 4A */ lbz r0, 0x4a(r4) +/* 802CB3F8 002C7058 38 84 00 3C */ addi r4, r4, 0x3c +/* 802CB3FC 002C705C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB400 002C7060 41 82 00 14 */ beq lbl_802CB414 +/* 802CB404 002C7064 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB408 002C7068 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB40C 002C706C 40 82 00 08 */ bne lbl_802CB414 +/* 802CB410 002C7070 48 00 00 94 */ b lbl_802CB4A4 +lbl_802CB414: +/* 802CB414 002C7074 88 04 00 4A */ lbz r0, 0x4a(r4) +/* 802CB418 002C7078 38 84 00 3C */ addi r4, r4, 0x3c +/* 802CB41C 002C707C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB420 002C7080 41 82 00 14 */ beq lbl_802CB434 +/* 802CB424 002C7084 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB428 002C7088 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB42C 002C708C 40 82 00 08 */ bne lbl_802CB434 +/* 802CB430 002C7090 48 00 00 74 */ b lbl_802CB4A4 +lbl_802CB434: +/* 802CB434 002C7094 88 04 00 4A */ lbz r0, 0x4a(r4) +/* 802CB438 002C7098 38 84 00 3C */ addi r4, r4, 0x3c +/* 802CB43C 002C709C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB440 002C70A0 41 82 00 14 */ beq lbl_802CB454 +/* 802CB444 002C70A4 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB448 002C70A8 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB44C 002C70AC 40 82 00 08 */ bne lbl_802CB454 +/* 802CB450 002C70B0 48 00 00 54 */ b lbl_802CB4A4 +lbl_802CB454: +/* 802CB454 002C70B4 88 04 00 4A */ lbz r0, 0x4a(r4) +/* 802CB458 002C70B8 38 84 00 3C */ addi r4, r4, 0x3c +/* 802CB45C 002C70BC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB460 002C70C0 41 82 00 14 */ beq lbl_802CB474 +/* 802CB464 002C70C4 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB468 002C70C8 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB46C 002C70CC 40 82 00 08 */ bne lbl_802CB474 +/* 802CB470 002C70D0 48 00 00 34 */ b lbl_802CB4A4 +lbl_802CB474: +/* 802CB474 002C70D4 88 04 00 4A */ lbz r0, 0x4a(r4) +/* 802CB478 002C70D8 38 84 00 3C */ addi r4, r4, 0x3c +/* 802CB47C 002C70DC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB480 002C70E0 41 82 00 14 */ beq lbl_802CB494 +/* 802CB484 002C70E4 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB488 002C70E8 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB48C 002C70EC 40 82 00 08 */ bne lbl_802CB494 +/* 802CB490 002C70F0 48 00 00 14 */ b lbl_802CB4A4 +lbl_802CB494: +/* 802CB494 002C70F4 38 63 00 05 */ addi r3, r3, 5 +/* 802CB498 002C70F8 38 84 00 3C */ addi r4, r4, 0x3c +/* 802CB49C 002C70FC 42 00 FF 3C */ bdnz lbl_802CB3D8 +/* 802CB4A0 002C7100 38 80 00 00 */ li r4, 0 +lbl_802CB4A4: +/* 802CB4A4 002C7104 2C 04 00 00 */ cmpwi r4, 0 +/* 802CB4A8 002C7108 40 82 00 54 */ bne lbl_802CB4FC +/* 802CB4AC 002C710C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB4B0 002C7110 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB4B4 002C7114 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB4B8 002C7118 28 00 00 02 */ cmplwi r0, 2 +/* 802CB4BC 002C711C 41 80 00 18 */ blt lbl_802CB4D4 +/* 802CB4C0 002C7120 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802CB4C4 002C7124 7F 25 CB 78 */ mr r5, r25 +/* 802CB4C8 002C7128 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802CB4CC 002C712C 38 9F 04 48 */ addi r4, r31, 0x448 +/* 802CB4D0 002C7130 4B FF 1A 59 */ bl func_802BCF28 +lbl_802CB4D4: +/* 802CB4D4 002C7134 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CB4D8 002C7138 41 82 00 1C */ beq lbl_802CB4F4 +/* 802CB4DC 002C713C 7F 8C E3 78 */ mr r12, r28 +/* 802CB4E0 002C7140 7F 03 C3 78 */ mr r3, r24 +/* 802CB4E4 002C7144 38 80 00 00 */ li r4, 0 +/* 802CB4E8 002C7148 38 A0 00 04 */ li r5, 4 +/* 802CB4EC 002C714C 7D 89 03 A6 */ mtctr r12 +/* 802CB4F0 002C7150 4E 80 04 21 */ bctrl +lbl_802CB4F4: +/* 802CB4F4 002C7154 38 60 00 04 */ li r3, 4 +/* 802CB4F8 002C7158 48 00 02 6C */ b lbl_802CB764 +lbl_802CB4FC: +/* 802CB4FC 002C715C 2C 1B 00 00 */ cmpwi r27, 0 +/* 802CB500 002C7160 41 82 00 14 */ beq lbl_802CB514 +/* 802CB504 002C7164 41 82 00 14 */ beq lbl_802CB518 +/* 802CB508 002C7168 80 1E 00 00 */ lwz r0, 0(r30) +/* 802CB50C 002C716C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CB510 002C7170 40 82 00 08 */ bne lbl_802CB518 +lbl_802CB514: +/* 802CB514 002C7174 90 9E 00 00 */ stw r4, 0(r30) +lbl_802CB518: +/* 802CB518 002C7178 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB51C 002C717C 38 00 00 06 */ li r0, 6 +/* 802CB520 002C7180 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB524 002C7184 8B A4 00 0E */ lbz r29, 0xe(r4) +/* 802CB528 002C7188 38 E3 19 90 */ addi r7, r3, 0x1990 +/* 802CB52C 002C718C 38 C0 00 00 */ li r6, 0 +/* 802CB530 002C7190 38 A0 00 00 */ li r5, 0 +/* 802CB534 002C7194 7C 09 03 A6 */ mtctr r0 +lbl_802CB538: +/* 802CB538 002C7198 88 07 00 0E */ lbz r0, 0xe(r7) +/* 802CB53C 002C719C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB540 002C71A0 41 82 00 30 */ beq lbl_802CB570 +/* 802CB544 002C71A4 A0 67 00 0C */ lhz r3, 0xc(r7) +/* 802CB548 002C71A8 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB54C 002C71AC 7C 03 00 40 */ cmplw r3, r0 +/* 802CB550 002C71B0 40 82 00 20 */ bne lbl_802CB570 +/* 802CB554 002C71B4 2C 06 00 00 */ cmpwi r6, 0 +/* 802CB558 002C71B8 40 82 00 DC */ bne lbl_802CB634 +/* 802CB55C 002C71BC 7C 04 38 40 */ cmplw r4, r7 +/* 802CB560 002C71C0 40 82 00 10 */ bne lbl_802CB570 +/* 802CB564 002C71C4 38 C0 00 01 */ li r6, 1 +/* 802CB568 002C71C8 48 00 00 08 */ b lbl_802CB570 +/* 802CB56C 002C71CC 48 00 00 C8 */ b lbl_802CB634 +lbl_802CB570: +/* 802CB570 002C71D0 88 07 00 4A */ lbz r0, 0x4a(r7) +/* 802CB574 002C71D4 38 E7 00 3C */ addi r7, r7, 0x3c +/* 802CB578 002C71D8 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB57C 002C71DC 41 82 00 30 */ beq lbl_802CB5AC +/* 802CB580 002C71E0 A0 67 00 0C */ lhz r3, 0xc(r7) +/* 802CB584 002C71E4 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB588 002C71E8 7C 03 00 40 */ cmplw r3, r0 +/* 802CB58C 002C71EC 40 82 00 20 */ bne lbl_802CB5AC +/* 802CB590 002C71F0 2C 06 00 00 */ cmpwi r6, 0 +/* 802CB594 002C71F4 40 82 00 A0 */ bne lbl_802CB634 +/* 802CB598 002C71F8 7C 04 38 40 */ cmplw r4, r7 +/* 802CB59C 002C71FC 40 82 00 10 */ bne lbl_802CB5AC +/* 802CB5A0 002C7200 38 C0 00 01 */ li r6, 1 +/* 802CB5A4 002C7204 48 00 00 08 */ b lbl_802CB5AC +/* 802CB5A8 002C7208 48 00 00 8C */ b lbl_802CB634 +lbl_802CB5AC: +/* 802CB5AC 002C720C 88 07 00 4A */ lbz r0, 0x4a(r7) +/* 802CB5B0 002C7210 38 E7 00 3C */ addi r7, r7, 0x3c +/* 802CB5B4 002C7214 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB5B8 002C7218 41 82 00 30 */ beq lbl_802CB5E8 +/* 802CB5BC 002C721C A0 67 00 0C */ lhz r3, 0xc(r7) +/* 802CB5C0 002C7220 A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB5C4 002C7224 7C 03 00 40 */ cmplw r3, r0 +/* 802CB5C8 002C7228 40 82 00 20 */ bne lbl_802CB5E8 +/* 802CB5CC 002C722C 2C 06 00 00 */ cmpwi r6, 0 +/* 802CB5D0 002C7230 40 82 00 64 */ bne lbl_802CB634 +/* 802CB5D4 002C7234 7C 04 38 40 */ cmplw r4, r7 +/* 802CB5D8 002C7238 40 82 00 10 */ bne lbl_802CB5E8 +/* 802CB5DC 002C723C 38 C0 00 01 */ li r6, 1 +/* 802CB5E0 002C7240 48 00 00 08 */ b lbl_802CB5E8 +/* 802CB5E4 002C7244 48 00 00 50 */ b lbl_802CB634 +lbl_802CB5E8: +/* 802CB5E8 002C7248 88 07 00 4A */ lbz r0, 0x4a(r7) +/* 802CB5EC 002C724C 38 E7 00 3C */ addi r7, r7, 0x3c +/* 802CB5F0 002C7250 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB5F4 002C7254 41 82 00 30 */ beq lbl_802CB624 +/* 802CB5F8 002C7258 A0 67 00 0C */ lhz r3, 0xc(r7) +/* 802CB5FC 002C725C A0 04 00 0C */ lhz r0, 0xc(r4) +/* 802CB600 002C7260 7C 03 00 40 */ cmplw r3, r0 +/* 802CB604 002C7264 40 82 00 20 */ bne lbl_802CB624 +/* 802CB608 002C7268 2C 06 00 00 */ cmpwi r6, 0 +/* 802CB60C 002C726C 40 82 00 28 */ bne lbl_802CB634 +/* 802CB610 002C7270 7C 04 38 40 */ cmplw r4, r7 +/* 802CB614 002C7274 40 82 00 10 */ bne lbl_802CB624 +/* 802CB618 002C7278 38 C0 00 01 */ li r6, 1 +/* 802CB61C 002C727C 48 00 00 08 */ b lbl_802CB624 +/* 802CB620 002C7280 48 00 00 14 */ b lbl_802CB634 +lbl_802CB624: +/* 802CB624 002C7284 38 A5 00 03 */ addi r5, r5, 3 +/* 802CB628 002C7288 38 E7 00 3C */ addi r7, r7, 0x3c +/* 802CB62C 002C728C 42 00 FF 0C */ bdnz lbl_802CB538 +/* 802CB630 002C7290 38 E0 00 00 */ li r7, 0 +lbl_802CB634: +/* 802CB634 002C7294 2C 07 00 00 */ cmpwi r7, 0 +/* 802CB638 002C7298 41 82 00 54 */ beq lbl_802CB68C +/* 802CB63C 002C729C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB640 002C72A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB644 002C72A4 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB648 002C72A8 28 00 00 04 */ cmplwi r0, 4 +/* 802CB64C 002C72AC 41 80 00 18 */ blt lbl_802CB664 +/* 802CB650 002C72B0 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CB654 002C72B4 7F 25 CB 78 */ mr r5, r25 +/* 802CB658 002C72B8 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CB65C 002C72BC 38 9F 04 8C */ addi r4, r31, 0x48c +/* 802CB660 002C72C0 4B FF 18 C9 */ bl func_802BCF28 +lbl_802CB664: +/* 802CB664 002C72C4 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CB668 002C72C8 41 82 00 1C */ beq lbl_802CB684 +/* 802CB66C 002C72CC 7F 8C E3 78 */ mr r12, r28 +/* 802CB670 002C72D0 7F 03 C3 78 */ mr r3, r24 +/* 802CB674 002C72D4 38 80 00 00 */ li r4, 0 +/* 802CB678 002C72D8 38 A0 00 00 */ li r5, 0 +/* 802CB67C 002C72DC 7D 89 03 A6 */ mtctr r12 +/* 802CB680 002C72E0 4E 80 04 21 */ bctrl +lbl_802CB684: +/* 802CB684 002C72E4 38 60 00 00 */ li r3, 0 +/* 802CB688 002C72E8 48 00 00 DC */ b lbl_802CB764 +lbl_802CB68C: +/* 802CB68C 002C72EC 93 9E 00 04 */ stw r28, 4(r30) +/* 802CB690 002C72F0 38 00 00 00 */ li r0, 0 +/* 802CB694 002C72F4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB698 002C72F8 90 1E 00 08 */ stw r0, 8(r30) +/* 802CB69C 002C72FC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB6A0 002C7300 9B BE 00 81 */ stb r29, 0x81(r30) +/* 802CB6A4 002C7304 9B 7E 00 80 */ stb r27, 0x80(r30) +/* 802CB6A8 002C7308 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB6AC 002C730C 28 00 00 04 */ cmplwi r0, 4 +/* 802CB6B0 002C7310 41 80 00 28 */ blt lbl_802CB6D8 +/* 802CB6B4 002C7314 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CB6B8 002C7318 88 FE 00 7F */ lbz r7, 0x7f(r30) +/* 802CB6BC 002C731C 89 1E 00 76 */ lbz r8, 0x76(r30) +/* 802CB6C0 002C7320 7F 25 CB 78 */ mr r5, r25 +/* 802CB6C4 002C7324 7F 46 D3 78 */ mr r6, r26 +/* 802CB6C8 002C7328 7F A9 EB 78 */ mr r9, r29 +/* 802CB6CC 002C732C 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CB6D0 002C7330 38 9F 04 D0 */ addi r4, r31, 0x4d0 +/* 802CB6D4 002C7334 4B FF 18 B5 */ bl func_802BCF88 +lbl_802CB6D8: +/* 802CB6D8 002C7338 2C 1B 00 00 */ cmpwi r27, 0 +/* 802CB6DC 002C733C 40 82 00 48 */ bne lbl_802CB724 +/* 802CB6E0 002C7340 57 A0 07 FF */ clrlwi. r0, r29, 0x1f +/* 802CB6E4 002C7344 41 82 00 40 */ beq lbl_802CB724 +/* 802CB6E8 002C7348 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802CB6EC 002C734C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB6F0 002C7350 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB6F4 002C7354 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e +/* 802CB6F8 002C7358 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802CB6FC 002C735C 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB700 002C7360 28 00 00 04 */ cmplwi r0, 4 +/* 802CB704 002C7364 41 80 00 20 */ blt lbl_802CB724 +/* 802CB708 002C7368 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CB70C 002C736C 80 BE 00 14 */ lwz r5, 0x14(r30) +/* 802CB710 002C7370 80 DE 00 10 */ lwz r6, 0x10(r30) +/* 802CB714 002C7374 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CB718 002C7378 88 FE 00 76 */ lbz r7, 0x76(r30) +/* 802CB71C 002C737C 38 9F 05 28 */ addi r4, r31, 0x528 +/* 802CB720 002C7380 4B FF 18 39 */ bl func_802BCF58 +lbl_802CB724: +/* 802CB724 002C7384 7F C3 F3 78 */ mr r3, r30 +/* 802CB728 002C7388 48 00 1B 45 */ bl func_802CD26C +/* 802CB72C 002C738C 54 65 06 3E */ clrlwi r5, r3, 0x18 +/* 802CB730 002C7390 7C 79 1B 78 */ mr r25, r3 +/* 802CB734 002C7394 28 05 00 01 */ cmplwi r5, 1 +/* 802CB738 002C7398 41 82 00 28 */ beq lbl_802CB760 +/* 802CB73C 002C739C 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CB740 002C73A0 41 82 00 20 */ beq lbl_802CB760 +/* 802CB744 002C73A4 7F 8C E3 78 */ mr r12, r28 +/* 802CB748 002C73A8 7F 03 C3 78 */ mr r3, r24 +/* 802CB74C 002C73AC 80 9E 00 08 */ lwz r4, 8(r30) +/* 802CB750 002C73B0 7D 89 03 A6 */ mtctr r12 +/* 802CB754 002C73B4 4E 80 04 21 */ bctrl +/* 802CB758 002C73B8 38 00 00 00 */ li r0, 0 +/* 802CB75C 002C73BC 90 1E 00 04 */ stw r0, 4(r30) +lbl_802CB760: +/* 802CB760 002C73C0 7F 23 CB 78 */ mr r3, r25 +lbl_802CB764: +/* 802CB764 002C73C4 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CB768 002C73C8 4B EF BA 01 */ bl _restgpr_24 +/* 802CB76C 002C73CC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CB770 002C73D0 7C 08 03 A6 */ mtlr r0 +/* 802CB774 002C73D4 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CB778 002C73D8 4E 80 00 20 */ blr + +.global func_802CB77C +func_802CB77C: +/* 802CB77C 002C73DC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CB780 002C73E0 7C 08 02 A6 */ mflr r0 +/* 802CB784 002C73E4 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CB788 002C73E8 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CB78C 002C73EC 4B EF B9 91 */ bl _savegpr_24 +/* 802CB790 002C73F0 7C 78 1B 78 */ mr r24, r3 +/* 802CB794 002C73F4 7C 99 23 78 */ mr r25, r4 +/* 802CB798 002C73F8 7C BA 2B 78 */ mr r26, r5 +/* 802CB79C 002C73FC 7C DB 33 78 */ mr r27, r6 +/* 802CB7A0 002C7400 7C FC 3B 78 */ mr r28, r7 +/* 802CB7A4 002C7404 7D 1D 43 78 */ mr r29, r8 +/* 802CB7A8 002C7408 7D 3E 4B 78 */ mr r30, r9 +/* 802CB7AC 002C740C 4B FF 9E 71 */ bl func_802C561C +/* 802CB7B0 002C7410 2C 03 00 00 */ cmpwi r3, 0 +/* 802CB7B4 002C7414 7C 7F 1B 78 */ mr r31, r3 +/* 802CB7B8 002C7418 40 82 00 3C */ bne lbl_802CB7F4 +/* 802CB7BC 002C741C 7F 03 C3 78 */ mr r3, r24 +/* 802CB7C0 002C7420 4B FF 9C 85 */ bl func_802C5444 +/* 802CB7C4 002C7424 2C 03 00 00 */ cmpwi r3, 0 +/* 802CB7C8 002C7428 7C 7F 1B 78 */ mr r31, r3 +/* 802CB7CC 002C742C 40 82 00 28 */ bne lbl_802CB7F4 +/* 802CB7D0 002C7430 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CB7D4 002C7434 41 82 02 2C */ beq lbl_802CBA00 +/* 802CB7D8 002C7438 7F AC EB 78 */ mr r12, r29 +/* 802CB7DC 002C743C 7F 03 C3 78 */ mr r3, r24 +/* 802CB7E0 002C7440 7F C4 F3 78 */ mr r4, r30 +/* 802CB7E4 002C7444 38 A0 00 03 */ li r5, 3 +/* 802CB7E8 002C7448 7D 89 03 A6 */ mtctr r12 +/* 802CB7EC 002C744C 4E 80 04 21 */ bctrl +/* 802CB7F0 002C7450 48 00 02 10 */ b lbl_802CBA00 +lbl_802CB7F4: +/* 802CB7F4 002C7454 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB7F8 002C7458 38 00 00 08 */ li r0, 8 +/* 802CB7FC 002C745C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB800 002C7460 38 80 00 00 */ li r4, 0 +/* 802CB804 002C7464 38 A3 19 90 */ addi r5, r3, 0x1990 +/* 802CB808 002C7468 7C 09 03 A6 */ mtctr r0 +lbl_802CB80C: +/* 802CB80C 002C746C 88 05 00 0E */ lbz r0, 0xe(r5) +/* 802CB810 002C7470 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB814 002C7474 41 82 00 48 */ beq lbl_802CB85C +/* 802CB818 002C7478 A0 05 00 0C */ lhz r0, 0xc(r5) +/* 802CB81C 002C747C 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB820 002C7480 40 82 00 3C */ bne lbl_802CB85C +/* 802CB824 002C7484 80 05 00 00 */ lwz r0, 0(r5) +/* 802CB828 002C7488 7C 00 D8 40 */ cmplw r0, r27 +/* 802CB82C 002C748C 40 82 00 30 */ bne lbl_802CB85C +/* 802CB830 002C7490 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CB834 002C7494 41 82 00 10 */ beq lbl_802CB844 +/* 802CB838 002C7498 80 05 00 04 */ lwz r0, 4(r5) +/* 802CB83C 002C749C 7C 00 E0 40 */ cmplw r0, r28 +/* 802CB840 002C74A0 41 82 00 D4 */ beq lbl_802CB914 +lbl_802CB844: +/* 802CB844 002C74A4 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CB848 002C74A8 40 82 00 14 */ bne lbl_802CB85C +/* 802CB84C 002C74AC 80 05 00 08 */ lwz r0, 8(r5) +/* 802CB850 002C74B0 7C 00 E0 40 */ cmplw r0, r28 +/* 802CB854 002C74B4 40 82 00 08 */ bne lbl_802CB85C +/* 802CB858 002C74B8 48 00 00 BC */ b lbl_802CB914 +lbl_802CB85C: +/* 802CB85C 002C74BC 88 05 00 4A */ lbz r0, 0x4a(r5) +/* 802CB860 002C74C0 38 A5 00 3C */ addi r5, r5, 0x3c +/* 802CB864 002C74C4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB868 002C74C8 41 82 00 48 */ beq lbl_802CB8B0 +/* 802CB86C 002C74CC A0 05 00 0C */ lhz r0, 0xc(r5) +/* 802CB870 002C74D0 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB874 002C74D4 40 82 00 3C */ bne lbl_802CB8B0 +/* 802CB878 002C74D8 80 05 00 00 */ lwz r0, 0(r5) +/* 802CB87C 002C74DC 7C 00 D8 40 */ cmplw r0, r27 +/* 802CB880 002C74E0 40 82 00 30 */ bne lbl_802CB8B0 +/* 802CB884 002C74E4 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CB888 002C74E8 41 82 00 10 */ beq lbl_802CB898 +/* 802CB88C 002C74EC 80 05 00 04 */ lwz r0, 4(r5) +/* 802CB890 002C74F0 7C 00 E0 40 */ cmplw r0, r28 +/* 802CB894 002C74F4 41 82 00 80 */ beq lbl_802CB914 +lbl_802CB898: +/* 802CB898 002C74F8 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CB89C 002C74FC 40 82 00 14 */ bne lbl_802CB8B0 +/* 802CB8A0 002C7500 80 05 00 08 */ lwz r0, 8(r5) +/* 802CB8A4 002C7504 7C 00 E0 40 */ cmplw r0, r28 +/* 802CB8A8 002C7508 40 82 00 08 */ bne lbl_802CB8B0 +/* 802CB8AC 002C750C 48 00 00 68 */ b lbl_802CB914 +lbl_802CB8B0: +/* 802CB8B0 002C7510 88 05 00 4A */ lbz r0, 0x4a(r5) +/* 802CB8B4 002C7514 38 A5 00 3C */ addi r5, r5, 0x3c +/* 802CB8B8 002C7518 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CB8BC 002C751C 41 82 00 48 */ beq lbl_802CB904 +/* 802CB8C0 002C7520 A0 05 00 0C */ lhz r0, 0xc(r5) +/* 802CB8C4 002C7524 7C 00 C8 40 */ cmplw r0, r25 +/* 802CB8C8 002C7528 40 82 00 3C */ bne lbl_802CB904 +/* 802CB8CC 002C752C 80 05 00 00 */ lwz r0, 0(r5) +/* 802CB8D0 002C7530 7C 00 D8 40 */ cmplw r0, r27 +/* 802CB8D4 002C7534 40 82 00 30 */ bne lbl_802CB904 +/* 802CB8D8 002C7538 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CB8DC 002C753C 41 82 00 10 */ beq lbl_802CB8EC +/* 802CB8E0 002C7540 80 05 00 04 */ lwz r0, 4(r5) +/* 802CB8E4 002C7544 7C 00 E0 40 */ cmplw r0, r28 +/* 802CB8E8 002C7548 41 82 00 2C */ beq lbl_802CB914 +lbl_802CB8EC: +/* 802CB8EC 002C754C 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CB8F0 002C7550 40 82 00 14 */ bne lbl_802CB904 +/* 802CB8F4 002C7554 80 05 00 08 */ lwz r0, 8(r5) +/* 802CB8F8 002C7558 7C 00 E0 40 */ cmplw r0, r28 +/* 802CB8FC 002C755C 40 82 00 08 */ bne lbl_802CB904 +/* 802CB900 002C7560 48 00 00 14 */ b lbl_802CB914 +lbl_802CB904: +/* 802CB904 002C7564 38 84 00 02 */ addi r4, r4, 2 +/* 802CB908 002C7568 38 A5 00 3C */ addi r5, r5, 0x3c +/* 802CB90C 002C756C 42 00 FF 00 */ bdnz lbl_802CB80C +/* 802CB910 002C7570 38 A0 00 00 */ li r5, 0 +lbl_802CB914: +/* 802CB914 002C7574 2C 05 00 00 */ cmpwi r5, 0 +/* 802CB918 002C7578 40 82 00 58 */ bne lbl_802CB970 +/* 802CB91C 002C757C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CB920 002C7580 41 82 00 1C */ beq lbl_802CB93C +/* 802CB924 002C7584 7F AC EB 78 */ mr r12, r29 +/* 802CB928 002C7588 7F 03 C3 78 */ mr r3, r24 +/* 802CB92C 002C758C 7F C4 F3 78 */ mr r4, r30 +/* 802CB930 002C7590 38 A0 00 04 */ li r5, 4 +/* 802CB934 002C7594 7D 89 03 A6 */ mtctr r12 +/* 802CB938 002C7598 4E 80 04 21 */ bctrl +lbl_802CB93C: +/* 802CB93C 002C759C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CB940 002C75A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CB944 002C75A4 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CB948 002C75A8 28 00 00 01 */ cmplwi r0, 1 +/* 802CB94C 002C75AC 41 80 00 B4 */ blt lbl_802CBA00 +/* 802CB950 002C75B0 3C 80 80 44 */ lis r4, lbl_80441DE8@ha +/* 802CB954 002C75B4 7F 25 CB 78 */ mr r5, r25 +/* 802CB958 002C75B8 7F 66 DB 78 */ mr r6, r27 +/* 802CB95C 002C75BC 7F 87 E3 78 */ mr r7, r28 +/* 802CB960 002C75C0 38 84 1D E8 */ addi r4, r4, lbl_80441DE8@l +/* 802CB964 002C75C4 3C 60 00 0D */ lis r3, 0xd +/* 802CB968 002C75C8 4B FF 15 F1 */ bl func_802BCF58 +/* 802CB96C 002C75CC 48 00 00 94 */ b lbl_802CBA00 +lbl_802CB970: +/* 802CB970 002C75D0 90 BF 00 00 */ stw r5, 0(r31) +/* 802CB974 002C75D4 7F E3 FB 78 */ mr r3, r31 +/* 802CB978 002C75D8 88 05 00 0E */ lbz r0, 0xe(r5) +/* 802CB97C 002C75DC 98 1F 00 81 */ stb r0, 0x81(r31) +/* 802CB980 002C75E0 9B 5F 00 80 */ stb r26, 0x80(r31) +/* 802CB984 002C75E4 93 BF 00 04 */ stw r29, 4(r31) +/* 802CB988 002C75E8 93 DF 00 08 */ stw r30, 8(r31) +/* 802CB98C 002C75EC 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CB990 002C75F0 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e +/* 802CB994 002C75F4 98 1F 00 76 */ stb r0, 0x76(r31) +/* 802CB998 002C75F8 48 00 18 D5 */ bl func_802CD26C +/* 802CB99C 002C75FC 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CB9A0 002C7600 7C 65 1B 78 */ mr r5, r3 +/* 802CB9A4 002C7604 28 00 00 01 */ cmplwi r0, 1 +/* 802CB9A8 002C7608 41 82 00 58 */ beq lbl_802CBA00 +/* 802CB9AC 002C760C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CB9B0 002C7610 41 82 00 50 */ beq lbl_802CBA00 +/* 802CB9B4 002C7614 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CB9B8 002C7618 2C 00 00 00 */ cmpwi r0, 0 +/* 802CB9BC 002C761C 41 82 00 24 */ beq lbl_802CB9E0 +/* 802CB9C0 002C7620 80 7F 00 00 */ lwz r3, 0(r31) +/* 802CB9C4 002C7624 2C 03 00 00 */ cmpwi r3, 0 +/* 802CB9C8 002C7628 41 82 00 18 */ beq lbl_802CB9E0 +/* 802CB9CC 002C762C 80 03 00 00 */ lwz r0, 0(r3) +/* 802CB9D0 002C7630 28 00 00 03 */ cmplwi r0, 3 +/* 802CB9D4 002C7634 40 82 00 0C */ bne lbl_802CB9E0 +/* 802CB9D8 002C7638 38 00 00 00 */ li r0, 0 +/* 802CB9DC 002C763C 90 03 00 04 */ stw r0, 4(r3) +lbl_802CB9E0: +/* 802CB9E0 002C7640 7F AC EB 78 */ mr r12, r29 +/* 802CB9E4 002C7644 7F 03 C3 78 */ mr r3, r24 +/* 802CB9E8 002C7648 7F C4 F3 78 */ mr r4, r30 +/* 802CB9EC 002C764C 54 A5 06 3E */ clrlwi r5, r5, 0x18 +/* 802CB9F0 002C7650 7D 89 03 A6 */ mtctr r12 +/* 802CB9F4 002C7654 4E 80 04 21 */ bctrl +/* 802CB9F8 002C7658 38 00 00 00 */ li r0, 0 +/* 802CB9FC 002C765C 90 1F 00 04 */ stw r0, 4(r31) +lbl_802CBA00: +/* 802CBA00 002C7660 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CBA04 002C7664 4B EF B7 65 */ bl _restgpr_24 +/* 802CBA08 002C7668 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CBA0C 002C766C 7C 08 03 A6 */ mtlr r0 +/* 802CBA10 002C7670 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CBA14 002C7674 4E 80 00 20 */ blr + +.global func_802CBA18 +func_802CBA18: +/* 802CBA18 002C7678 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CBA1C 002C767C 7C 08 02 A6 */ mflr r0 +/* 802CBA20 002C7680 3C A0 80 57 */ lis r5, lbl_80568B78@ha +/* 802CBA24 002C7684 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CBA28 002C7688 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l +/* 802CBA2C 002C768C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CBA30 002C7690 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CBA34 002C7694 7C 9E 23 78 */ mr r30, r4 +/* 802CBA38 002C7698 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CBA3C 002C769C 7C 7D 1B 78 */ mr r29, r3 +/* 802CBA40 002C76A0 88 05 19 7A */ lbz r0, 0x197a(r5) +/* 802CBA44 002C76A4 2C 00 00 00 */ cmpwi r0, 0 +/* 802CBA48 002C76A8 41 82 00 64 */ beq lbl_802CBAAC +/* 802CBA4C 002C76AC 4B FF 9B D1 */ bl func_802C561C +/* 802CBA50 002C76B0 2C 03 00 00 */ cmpwi r3, 0 +/* 802CBA54 002C76B4 41 82 00 10 */ beq lbl_802CBA64 +/* 802CBA58 002C76B8 88 03 00 76 */ lbz r0, 0x76(r3) +/* 802CBA5C 002C76BC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 802CBA60 002C76C0 40 82 00 4C */ bne lbl_802CBAAC +lbl_802CBA64: +/* 802CBA64 002C76C4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBA68 002C76C8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBA6C 002C76CC 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CBA70 002C76D0 28 00 00 04 */ cmplwi r0, 4 +/* 802CBA74 002C76D4 41 80 00 18 */ blt lbl_802CBA8C +/* 802CBA78 002C76D8 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CBA7C 002C76DC 3C 80 80 44 */ lis r4, lbl_80441E28@ha +/* 802CBA80 002C76E0 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CBA84 002C76E4 38 84 1E 28 */ addi r4, r4, lbl_80441E28@l +/* 802CBA88 002C76E8 4B FF 14 89 */ bl func_802BCF10 +lbl_802CBA8C: +/* 802CBA8C 002C76EC 38 60 00 02 */ li r3, 2 +/* 802CBA90 002C76F0 4B FE E1 BD */ bl func_802B9C4C +/* 802CBA94 002C76F4 2C 03 00 00 */ cmpwi r3, 0 +/* 802CBA98 002C76F8 41 82 00 90 */ beq lbl_802CBB28 +/* 802CBA9C 002C76FC 7F A4 EB 78 */ mr r4, r29 +/* 802CBAA0 002C7700 38 A0 00 0F */ li r5, 0xf +/* 802CBAA4 002C7704 48 00 47 61 */ bl func_802D0204 +/* 802CBAA8 002C7708 48 00 00 80 */ b lbl_802CBB28 +lbl_802CBAAC: +/* 802CBAAC 002C770C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBAB0 002C7710 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBAB4 002C7714 81 83 19 34 */ lwz r12, 0x1934(r3) +/* 802CBAB8 002C7718 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CBABC 002C771C 41 82 00 3C */ beq lbl_802CBAF8 +/* 802CBAC0 002C7720 7F A3 EB 78 */ mr r3, r29 +/* 802CBAC4 002C7724 7F C4 F3 78 */ mr r4, r30 +/* 802CBAC8 002C7728 7D 89 03 A6 */ mtctr r12 +/* 802CBACC 002C772C 4E 80 04 21 */ bctrl +/* 802CBAD0 002C7730 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CBAD4 002C7734 40 82 00 24 */ bne lbl_802CBAF8 +/* 802CBAD8 002C7738 38 60 00 02 */ li r3, 2 +/* 802CBADC 002C773C 4B FE E1 71 */ bl func_802B9C4C +/* 802CBAE0 002C7740 2C 03 00 00 */ cmpwi r3, 0 +/* 802CBAE4 002C7744 41 82 00 44 */ beq lbl_802CBB28 +/* 802CBAE8 002C7748 7F A4 EB 78 */ mr r4, r29 +/* 802CBAEC 002C774C 38 A0 00 0F */ li r5, 0xf +/* 802CBAF0 002C7750 48 00 47 15 */ bl func_802D0204 +/* 802CBAF4 002C7754 48 00 00 34 */ b lbl_802CBB28 +lbl_802CBAF8: +/* 802CBAF8 002C7758 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802CBAFC 002C775C 7F A4 EB 78 */ mr r4, r29 +/* 802CBB00 002C7760 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802CBB04 002C7764 38 A0 00 06 */ li r5, 6 +/* 802CBB08 002C7768 38 7F 27 B4 */ addi r3, r31, 0x27b4 +/* 802CBB0C 002C776C 4B D3 84 F5 */ bl memcpy +/* 802CBB10 002C7770 7F C4 F3 78 */ mr r4, r30 +/* 802CBB14 002C7774 38 7F 27 BA */ addi r3, r31, 0x27ba +/* 802CBB18 002C7778 38 A0 00 03 */ li r5, 3 +/* 802CBB1C 002C777C 4B D3 84 E5 */ bl memcpy +/* 802CBB20 002C7780 7F A3 EB 78 */ mr r3, r29 +/* 802CBB24 002C7784 48 00 BD B5 */ bl func_802D78D8 +lbl_802CBB28: +/* 802CBB28 002C7788 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CBB2C 002C778C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CBB30 002C7790 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CBB34 002C7794 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CBB38 002C7798 7C 08 03 A6 */ mtlr r0 +/* 802CBB3C 002C779C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CBB40 002C77A0 4E 80 00 20 */ blr + +.global func_802CBB44 +func_802CBB44: +/* 802CBB44 002C77A4 3C C0 80 57 */ lis r6, lbl_80568B78@ha +/* 802CBB48 002C77A8 38 80 00 FF */ li r4, 0xff +/* 802CBB4C 002C77AC 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l +/* 802CBB50 002C77B0 38 A0 00 06 */ li r5, 6 +/* 802CBB54 002C77B4 98 66 19 78 */ stb r3, 0x1978(r6) +/* 802CBB58 002C77B8 38 66 19 54 */ addi r3, r6, 0x1954 +/* 802CBB5C 002C77BC 4B D3 85 A8 */ b memset + +.global func_802CBB60 +func_802CBB60: +/* 802CBB60 002C77C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CBB64 002C77C4 7C 08 02 A6 */ mflr r0 +/* 802CBB68 002C77C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBB6C 002C77CC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CBB70 002C77D0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBB74 002C77D4 88 03 19 78 */ lbz r0, 0x1978(r3) +/* 802CBB78 002C77D8 28 00 00 03 */ cmplwi r0, 3 +/* 802CBB7C 002C77DC 40 82 00 14 */ bne lbl_802CBB90 +/* 802CBB80 002C77E0 38 60 00 01 */ li r3, 1 +/* 802CBB84 002C77E4 48 00 5E 75 */ bl func_802D19F8 +/* 802CBB88 002C77E8 38 60 00 01 */ li r3, 1 +/* 802CBB8C 002C77EC 48 00 5E E1 */ bl func_802D1A6C +lbl_802CBB90: +/* 802CBB90 002C77F0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CBB94 002C77F4 7C 08 03 A6 */ mtlr r0 +/* 802CBB98 002C77F8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CBB9C 002C77FC 4E 80 00 20 */ blr + +.global func_802CBBA0 +func_802CBBA0: +/* 802CBBA0 002C7800 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CBBA4 002C7804 7C 08 02 A6 */ mflr r0 +/* 802CBBA8 002C7808 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CBBAC 002C780C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CBBB0 002C7810 93 C1 00 08 */ stw r30, 8(r1) +/* 802CBBB4 002C7814 7C 7E 1B 78 */ mr r30, r3 +/* 802CBBB8 002C7818 4B FF 9A 65 */ bl func_802C561C +/* 802CBBBC 002C781C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CBBC0 002C7820 7C 7F 1B 78 */ mr r31, r3 +/* 802CBBC4 002C7824 41 82 00 78 */ beq lbl_802CBC3C +/* 802CBBC8 002C7828 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBBCC 002C782C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBBD0 002C7830 81 83 19 20 */ lwz r12, 0x1920(r3) +/* 802CBBD4 002C7834 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CBBD8 002C7838 41 82 00 18 */ beq lbl_802CBBF0 +/* 802CBBDC 002C783C 7F C3 F3 78 */ mr r3, r30 +/* 802CBBE0 002C7840 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CBBE4 002C7844 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CBBE8 002C7848 7D 89 03 A6 */ mtctr r12 +/* 802CBBEC 002C784C 4E 80 04 21 */ bctrl +lbl_802CBBF0: +/* 802CBBF0 002C7850 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CBBF4 002C7854 28 00 00 04 */ cmplwi r0, 4 +/* 802CBBF8 002C7858 41 82 00 0C */ beq lbl_802CBC04 +/* 802CBBFC 002C785C 28 00 00 01 */ cmplwi r0, 1 +/* 802CBC00 002C7860 40 82 00 3C */ bne lbl_802CBC3C +lbl_802CBC04: +/* 802CBC04 002C7864 38 60 00 00 */ li r3, 0 +/* 802CBC08 002C7868 98 7F 00 7F */ stb r3, 0x7f(r31) +/* 802CBC0C 002C786C 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CBC10 002C7870 2C 00 00 00 */ cmpwi r0, 0 +/* 802CBC14 002C7874 41 82 00 20 */ beq lbl_802CBC34 +/* 802CBC18 002C7878 80 9F 00 00 */ lwz r4, 0(r31) +/* 802CBC1C 002C787C 2C 04 00 00 */ cmpwi r4, 0 +/* 802CBC20 002C7880 41 82 00 14 */ beq lbl_802CBC34 +/* 802CBC24 002C7884 80 04 00 00 */ lwz r0, 0(r4) +/* 802CBC28 002C7888 28 00 00 03 */ cmplwi r0, 3 +/* 802CBC2C 002C788C 40 82 00 08 */ bne lbl_802CBC34 +/* 802CBC30 002C7890 90 64 00 04 */ stw r3, 4(r4) +lbl_802CBC34: +/* 802CBC34 002C7894 38 00 00 00 */ li r0, 0 +/* 802CBC38 002C7898 90 1F 00 04 */ stw r0, 4(r31) +lbl_802CBC3C: +/* 802CBC3C 002C789C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CBC40 002C78A0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CBC44 002C78A4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CBC48 002C78A8 7C 08 03 A6 */ mtlr r0 +/* 802CBC4C 002C78AC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CBC50 002C78B0 4E 80 00 20 */ blr + +.global func_802CBC54 +func_802CBC54: +/* 802CBC54 002C78B4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CBC58 002C78B8 7C 08 02 A6 */ mflr r0 +/* 802CBC5C 002C78BC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CBC60 002C78C0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CBC64 002C78C4 4B EF B4 C5 */ bl _savegpr_27 +/* 802CBC68 002C78C8 2C 03 00 00 */ cmpwi r3, 0 +/* 802CBC6C 002C78CC 7C 7B 1B 78 */ mr r27, r3 +/* 802CBC70 002C78D0 7C 9C 23 78 */ mr r28, r4 +/* 802CBC74 002C78D4 7C BE 2B 78 */ mr r30, r5 +/* 802CBC78 002C78D8 41 82 00 10 */ beq lbl_802CBC88 +/* 802CBC7C 002C78DC 4B FF 99 A1 */ bl func_802C561C +/* 802CBC80 002C78E0 7C 7F 1B 78 */ mr r31, r3 +/* 802CBC84 002C78E4 48 00 00 AC */ b lbl_802CBD30 +lbl_802CBC88: +/* 802CBC88 002C78E8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBC8C 002C78EC 38 00 00 04 */ li r0, 4 +/* 802CBC90 002C78F0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBC94 002C78F4 38 80 00 00 */ li r4, 0 +/* 802CBC98 002C78F8 3B E3 1F 30 */ addi r31, r3, 0x1f30 +/* 802CBC9C 002C78FC 7C 09 03 A6 */ mtctr r0 +lbl_802CBCA0: +/* 802CBCA0 002C7900 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CBCA4 002C7904 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CBCA8 002C7908 41 82 00 10 */ beq lbl_802CBCB8 +/* 802CBCAC 002C790C 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CBCB0 002C7910 28 00 00 03 */ cmplwi r0, 3 +/* 802CBCB4 002C7914 41 82 00 70 */ beq lbl_802CBD24 +lbl_802CBCB8: +/* 802CBCB8 002C7918 88 1F 00 FE */ lbz r0, 0xfe(r31) +/* 802CBCBC 002C791C 38 84 00 01 */ addi r4, r4, 1 +/* 802CBCC0 002C7920 3B FF 00 88 */ addi r31, r31, 0x88 +/* 802CBCC4 002C7924 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CBCC8 002C7928 41 82 00 10 */ beq lbl_802CBCD8 +/* 802CBCCC 002C792C 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CBCD0 002C7930 28 00 00 03 */ cmplwi r0, 3 +/* 802CBCD4 002C7934 41 82 00 50 */ beq lbl_802CBD24 +lbl_802CBCD8: +/* 802CBCD8 002C7938 88 1F 00 FE */ lbz r0, 0xfe(r31) +/* 802CBCDC 002C793C 38 84 00 01 */ addi r4, r4, 1 +/* 802CBCE0 002C7940 3B FF 00 88 */ addi r31, r31, 0x88 +/* 802CBCE4 002C7944 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CBCE8 002C7948 41 82 00 10 */ beq lbl_802CBCF8 +/* 802CBCEC 002C794C 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CBCF0 002C7950 28 00 00 03 */ cmplwi r0, 3 +/* 802CBCF4 002C7954 41 82 00 30 */ beq lbl_802CBD24 +lbl_802CBCF8: +/* 802CBCF8 002C7958 88 1F 00 FE */ lbz r0, 0xfe(r31) +/* 802CBCFC 002C795C 38 84 00 01 */ addi r4, r4, 1 +/* 802CBD00 002C7960 3B FF 00 88 */ addi r31, r31, 0x88 +/* 802CBD04 002C7964 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CBD08 002C7968 41 82 00 10 */ beq lbl_802CBD18 +/* 802CBD0C 002C796C 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CBD10 002C7970 28 00 00 03 */ cmplwi r0, 3 +/* 802CBD14 002C7974 41 82 00 10 */ beq lbl_802CBD24 +lbl_802CBD18: +/* 802CBD18 002C7978 38 84 00 01 */ addi r4, r4, 1 +/* 802CBD1C 002C797C 3B FF 00 88 */ addi r31, r31, 0x88 +/* 802CBD20 002C7980 42 00 FF 80 */ bdnz lbl_802CBCA0 +lbl_802CBD24: +/* 802CBD24 002C7984 2C 04 00 10 */ cmpwi r4, 0x10 +/* 802CBD28 002C7988 40 82 00 08 */ bne lbl_802CBD30 +/* 802CBD2C 002C798C 3B E0 00 00 */ li r31, 0 +lbl_802CBD30: +/* 802CBD30 002C7990 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBD34 002C7994 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBD38 002C7998 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CBD3C 002C799C 28 00 00 04 */ cmplwi r0, 4 +/* 802CBD40 002C79A0 41 80 00 30 */ blt lbl_802CBD70 +/* 802CBD44 002C79A4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CBD48 002C79A8 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CBD4C 002C79AC 3C 80 80 44 */ lis r4, lbl_80441E64@ha +/* 802CBD50 002C79B0 7F C5 F3 78 */ mr r5, r30 +/* 802CBD54 002C79B4 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CBD58 002C79B8 38 84 1E 64 */ addi r4, r4, lbl_80441E64@l +/* 802CBD5C 002C79BC 41 82 00 0C */ beq lbl_802CBD68 +/* 802CBD60 002C79C0 88 DF 00 7F */ lbz r6, 0x7f(r31) +/* 802CBD64 002C79C4 48 00 00 08 */ b lbl_802CBD6C +lbl_802CBD68: +/* 802CBD68 002C79C8 38 C0 00 00 */ li r6, 0 +lbl_802CBD6C: +/* 802CBD6C 002C79CC 4B FF 11 D5 */ bl func_802BCF40 +lbl_802CBD70: +/* 802CBD70 002C79D0 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CBD74 002C79D4 41 82 01 B0 */ beq lbl_802CBF24 +/* 802CBD78 002C79D8 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CBD7C 002C79DC 40 82 00 5C */ bne lbl_802CBDD8 +/* 802CBD80 002C79E0 7F 84 E3 78 */ mr r4, r28 +/* 802CBD84 002C79E4 38 7F 00 35 */ addi r3, r31, 0x35 +/* 802CBD88 002C79E8 38 A0 00 40 */ li r5, 0x40 +/* 802CBD8C 002C79EC 4B D3 82 75 */ bl memcpy +/* 802CBD90 002C79F0 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CBD94 002C79F4 3F A0 80 57 */ lis r29, lbl_80568B78@ha +/* 802CBD98 002C79F8 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l +/* 802CBD9C 002C79FC 3B 80 00 00 */ li r28, 0 +/* 802CBDA0 002C7A00 60 00 00 08 */ ori r0, r0, 8 +/* 802CBDA4 002C7A04 98 1F 00 76 */ stb r0, 0x76(r31) +lbl_802CBDA8: +/* 802CBDA8 002C7A08 81 9D 19 2C */ lwz r12, 0x192c(r29) +/* 802CBDAC 002C7A0C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CBDB0 002C7A10 41 82 00 18 */ beq lbl_802CBDC8 +/* 802CBDB4 002C7A14 7F 63 DB 78 */ mr r3, r27 +/* 802CBDB8 002C7A18 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CBDBC 002C7A1C 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CBDC0 002C7A20 7D 89 03 A6 */ mtctr r12 +/* 802CBDC4 002C7A24 4E 80 04 21 */ bctrl +lbl_802CBDC8: +/* 802CBDC8 002C7A28 3B 9C 00 01 */ addi r28, r28, 1 +/* 802CBDCC 002C7A2C 3B BD 00 04 */ addi r29, r29, 4 +/* 802CBDD0 002C7A30 2C 1C 00 02 */ cmpwi r28, 2 +/* 802CBDD4 002C7A34 41 80 FF D4 */ blt lbl_802CBDA8 +lbl_802CBDD8: +/* 802CBDD8 002C7A38 88 1F 00 82 */ lbz r0, 0x82(r31) +/* 802CBDDC 002C7A3C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CBDE0 002C7A40 41 82 00 98 */ beq lbl_802CBE78 +/* 802CBDE4 002C7A44 88 1F 00 81 */ lbz r0, 0x81(r31) +/* 802CBDE8 002C7A48 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CBDEC 002C7A4C 41 82 00 10 */ beq lbl_802CBDFC +/* 802CBDF0 002C7A50 88 1F 00 85 */ lbz r0, 0x85(r31) +/* 802CBDF4 002C7A54 2C 00 00 00 */ cmpwi r0, 0 +/* 802CBDF8 002C7A58 41 82 01 2C */ beq lbl_802CBF24 +lbl_802CBDFC: +/* 802CBDFC 002C7A5C 38 00 00 00 */ li r0, 0 +/* 802CBE00 002C7A60 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBE04 002C7A64 98 1F 00 82 */ stb r0, 0x82(r31) +/* 802CBE08 002C7A68 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBE0C 002C7A6C 81 83 19 14 */ lwz r12, 0x1914(r3) +/* 802CBE10 002C7A70 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CBE14 002C7A74 41 82 00 20 */ beq lbl_802CBE34 +/* 802CBE18 002C7A78 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CBE1C 002C7A7C 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CBE20 002C7A80 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CBE24 002C7A84 38 DF 00 25 */ addi r6, r31, 0x25 +/* 802CBE28 002C7A88 88 FF 00 83 */ lbz r7, 0x83(r31) +/* 802CBE2C 002C7A8C 7D 89 03 A6 */ mtctr r12 +/* 802CBE30 002C7A90 4E 80 04 21 */ bctrl +lbl_802CBE34: +/* 802CBE34 002C7A94 3F A0 80 57 */ lis r29, lbl_80568B78@ha +/* 802CBE38 002C7A98 3B 80 00 00 */ li r28, 0 +/* 802CBE3C 002C7A9C 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l +lbl_802CBE40: +/* 802CBE40 002C7AA0 81 9D 19 24 */ lwz r12, 0x1924(r29) +/* 802CBE44 002C7AA4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CBE48 002C7AA8 41 82 00 20 */ beq lbl_802CBE68 +/* 802CBE4C 002C7AAC 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CBE50 002C7AB0 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CBE54 002C7AB4 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CBE58 002C7AB8 38 DF 00 25 */ addi r6, r31, 0x25 +/* 802CBE5C 002C7ABC 88 FF 00 83 */ lbz r7, 0x83(r31) +/* 802CBE60 002C7AC0 7D 89 03 A6 */ mtctr r12 +/* 802CBE64 002C7AC4 4E 80 04 21 */ bctrl +lbl_802CBE68: +/* 802CBE68 002C7AC8 3B 9C 00 01 */ addi r28, r28, 1 +/* 802CBE6C 002C7ACC 3B BD 00 04 */ addi r29, r29, 4 +/* 802CBE70 002C7AD0 2C 1C 00 02 */ cmpwi r28, 2 +/* 802CBE74 002C7AD4 41 80 FF CC */ blt lbl_802CBE40 +lbl_802CBE78: +/* 802CBE78 002C7AD8 88 7F 00 81 */ lbz r3, 0x81(r31) +/* 802CBE7C 002C7ADC 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 +/* 802CBE80 002C7AE0 41 82 00 2C */ beq lbl_802CBEAC +/* 802CBE84 002C7AE4 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CBE88 002C7AE8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802CBE8C 002C7AEC 41 82 00 20 */ beq lbl_802CBEAC +/* 802CBE90 002C7AF0 38 00 FF AF */ li r0, -81 +/* 802CBE94 002C7AF4 38 80 00 13 */ li r4, 0x13 +/* 802CBE98 002C7AF8 7C 60 00 38 */ and r0, r3, r0 +/* 802CBE9C 002C7AFC 98 1F 00 81 */ stb r0, 0x81(r31) +/* 802CBEA0 002C7B00 A0 7F 00 18 */ lhz r3, 0x18(r31) +/* 802CBEA4 002C7B04 48 00 41 ED */ bl func_802D0090 +/* 802CBEA8 002C7B08 48 00 00 7C */ b lbl_802CBF24 +lbl_802CBEAC: +/* 802CBEAC 002C7B0C 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CBEB0 002C7B10 28 00 00 03 */ cmplwi r0, 3 +/* 802CBEB4 002C7B14 40 82 00 70 */ bne lbl_802CBF24 +/* 802CBEB8 002C7B18 3B A0 00 00 */ li r29, 0 +/* 802CBEBC 002C7B1C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CBEC0 002C7B20 9B BF 00 7F */ stb r29, 0x7f(r31) +/* 802CBEC4 002C7B24 41 82 00 2C */ beq lbl_802CBEF0 +/* 802CBEC8 002C7B28 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CBECC 002C7B2C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CBED0 002C7B30 41 82 00 54 */ beq lbl_802CBF24 +/* 802CBED4 002C7B34 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CBED8 002C7B38 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CBEDC 002C7B3C 38 A0 00 0A */ li r5, 0xa +/* 802CBEE0 002C7B40 7D 89 03 A6 */ mtctr r12 +/* 802CBEE4 002C7B44 4E 80 04 21 */ bctrl +/* 802CBEE8 002C7B48 93 BF 00 04 */ stw r29, 4(r31) +/* 802CBEEC 002C7B4C 48 00 00 38 */ b lbl_802CBF24 +lbl_802CBEF0: +/* 802CBEF0 002C7B50 7F E3 FB 78 */ mr r3, r31 +/* 802CBEF4 002C7B54 48 00 13 79 */ bl func_802CD26C +/* 802CBEF8 002C7B58 54 65 06 3E */ clrlwi r5, r3, 0x18 +/* 802CBEFC 002C7B5C 28 05 00 01 */ cmplwi r5, 1 +/* 802CBF00 002C7B60 41 82 00 24 */ beq lbl_802CBF24 +/* 802CBF04 002C7B64 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CBF08 002C7B68 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CBF0C 002C7B6C 41 82 00 18 */ beq lbl_802CBF24 +/* 802CBF10 002C7B70 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CBF14 002C7B74 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CBF18 002C7B78 7D 89 03 A6 */ mtctr r12 +/* 802CBF1C 002C7B7C 4E 80 04 21 */ bctrl +/* 802CBF20 002C7B80 93 BF 00 04 */ stw r29, 4(r31) +lbl_802CBF24: +/* 802CBF24 002C7B84 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CBF28 002C7B88 4B EF B2 4D */ bl _restgpr_27 +/* 802CBF2C 002C7B8C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CBF30 002C7B90 7C 08 03 A6 */ mtlr r0 +/* 802CBF34 002C7B94 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CBF38 002C7B98 4E 80 00 20 */ blr + +.global func_802CBF3C +func_802CBF3C: +/* 802CBF3C 002C7B9C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CBF40 002C7BA0 7C 08 02 A6 */ mflr r0 +/* 802CBF44 002C7BA4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CBF48 002C7BA8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CBF4C 002C7BAC 4B EF B1 D9 */ bl _savegpr_26 +/* 802CBF50 002C7BB0 7C 7D 1B 78 */ mr r29, r3 +/* 802CBF54 002C7BB4 7C 9E 23 78 */ mr r30, r4 +/* 802CBF58 002C7BB8 4B FF 96 0D */ bl func_802C5564 +/* 802CBF5C 002C7BBC 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CBF60 002C7BC0 7C 7F 1B 78 */ mr r31, r3 +/* 802CBF64 002C7BC4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CBF68 002C7BC8 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CBF6C 002C7BCC 28 00 00 04 */ cmplwi r0, 4 +/* 802CBF70 002C7BD0 41 80 00 30 */ blt lbl_802CBFA0 +/* 802CBF74 002C7BD4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CBF78 002C7BD8 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CBF7C 002C7BDC 3C 80 80 44 */ lis r4, lbl_80441E9C@ha +/* 802CBF80 002C7BE0 7F C5 F3 78 */ mr r5, r30 +/* 802CBF84 002C7BE4 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CBF88 002C7BE8 38 84 1E 9C */ addi r4, r4, lbl_80441E9C@l +/* 802CBF8C 002C7BEC 41 82 00 0C */ beq lbl_802CBF98 +/* 802CBF90 002C7BF0 88 DF 00 7F */ lbz r6, 0x7f(r31) +/* 802CBF94 002C7BF4 48 00 00 08 */ b lbl_802CBF9C +lbl_802CBF98: +/* 802CBF98 002C7BF8 38 C0 00 00 */ li r6, 0 +lbl_802CBF9C: +/* 802CBF9C 002C7BFC 4B FF 0F A5 */ bl func_802BCF40 +lbl_802CBFA0: +/* 802CBFA0 002C7C00 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CBFA4 002C7C04 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CBFA8 002C7C08 88 04 19 7B */ lbz r0, 0x197b(r4) +/* 802CBFAC 002C7C0C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CBFB0 002C7C10 41 82 00 58 */ beq lbl_802CC008 +/* 802CBFB4 002C7C14 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CBFB8 002C7C18 38 60 00 00 */ li r3, 0 +/* 802CBFBC 002C7C1C 98 64 19 7B */ stb r3, 0x197b(r4) +/* 802CBFC0 002C7C20 28 00 00 05 */ cmplwi r0, 5 +/* 802CBFC4 002C7C24 41 80 00 28 */ blt lbl_802CBFEC +/* 802CBFC8 002C7C28 88 64 19 78 */ lbz r3, 0x1978(r4) +/* 802CBFCC 002C7C2C 3C 80 80 44 */ lis r4, lbl_80441B8C@ha +/* 802CBFD0 002C7C30 3C A0 00 0D */ lis r5, 0x000D0004@ha +/* 802CBFD4 002C7C34 38 03 FF FD */ addi r0, r3, -3 +/* 802CBFD8 002C7C38 38 84 1B 8C */ addi r4, r4, lbl_80441B8C@l +/* 802CBFDC 002C7C3C 7C 00 00 34 */ cntlzw r0, r0 +/* 802CBFE0 002C7C40 38 65 00 04 */ addi r3, r5, 0x000D0004@l +/* 802CBFE4 002C7C44 54 05 D9 7E */ srwi r5, r0, 5 +/* 802CBFE8 002C7C48 4B FF 0F 41 */ bl func_802BCF28 +lbl_802CBFEC: +/* 802CBFEC 002C7C4C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CBFF0 002C7C50 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CBFF4 002C7C54 88 63 19 78 */ lbz r3, 0x1978(r3) +/* 802CBFF8 002C7C58 38 03 FF FD */ addi r0, r3, -3 +/* 802CBFFC 002C7C5C 7C 00 00 34 */ cntlzw r0, r0 +/* 802CC000 002C7C60 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802CC004 002C7C64 48 00 59 F5 */ bl func_802D19F8 +lbl_802CC008: +/* 802CC008 002C7C68 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC00C 002C7C6C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC010 002C7C70 88 04 19 7C */ lbz r0, 0x197c(r4) +/* 802CC014 002C7C74 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC018 002C7C78 41 82 00 14 */ beq lbl_802CC02C +/* 802CC01C 002C7C7C 38 00 00 00 */ li r0, 0 +/* 802CC020 002C7C80 88 64 00 20 */ lbz r3, 0x20(r4) +/* 802CC024 002C7C84 98 04 19 7C */ stb r0, 0x197c(r4) +/* 802CC028 002C7C88 48 00 54 5D */ bl func_802D1484 +lbl_802CC02C: +/* 802CC02C 002C7C8C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CC030 002C7C90 41 82 00 90 */ beq lbl_802CC0C0 +/* 802CC034 002C7C94 88 7F 00 81 */ lbz r3, 0x81(r31) +/* 802CC038 002C7C98 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 +/* 802CC03C 002C7C9C 41 82 00 84 */ beq lbl_802CC0C0 +/* 802CC040 002C7CA0 3F 60 80 57 */ lis r27, lbl_80568B78@ha +/* 802CC044 002C7CA4 3B 7B 8B 78 */ addi r27, r27, lbl_80568B78@l +/* 802CC048 002C7CA8 88 1B 19 7D */ lbz r0, 0x197d(r27) +/* 802CC04C 002C7CAC 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC050 002C7CB0 40 82 00 70 */ bne lbl_802CC0C0 +/* 802CC054 002C7CB4 38 00 FF AF */ li r0, -81 +/* 802CC058 002C7CB8 7C 60 00 38 */ and r0, r3, r0 +/* 802CC05C 002C7CBC 98 1F 00 81 */ stb r0, 0x81(r31) +/* 802CC060 002C7CC0 8B 5B 19 7E */ lbz r26, 0x197e(r27) +/* 802CC064 002C7CC4 2C 1A 00 00 */ cmpwi r26, 0 +/* 802CC068 002C7CC8 41 82 00 58 */ beq lbl_802CC0C0 +/* 802CC06C 002C7CCC 7F A3 EB 78 */ mr r3, r29 +/* 802CC070 002C7CD0 4B FF 94 F5 */ bl func_802C5564 +/* 802CC074 002C7CD4 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC078 002C7CD8 7C 7C 1B 78 */ mr r28, r3 +/* 802CC07C 002C7CDC 41 82 00 44 */ beq lbl_802CC0C0 +/* 802CC080 002C7CE0 88 03 00 81 */ lbz r0, 0x81(r3) +/* 802CC084 002C7CE4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CC088 002C7CE8 41 82 00 0C */ beq lbl_802CC094 +/* 802CC08C 002C7CEC 9B 5B 19 7E */ stb r26, 0x197e(r27) +/* 802CC090 002C7CF0 48 00 00 30 */ b lbl_802CC0C0 +lbl_802CC094: +/* 802CC094 002C7CF4 8B 63 00 7F */ lbz r27, 0x7f(r3) +/* 802CC098 002C7CF8 28 1B 00 05 */ cmplwi r27, 5 +/* 802CC09C 002C7CFC 41 82 00 24 */ beq lbl_802CC0C0 +/* 802CC0A0 002C7D00 38 00 00 05 */ li r0, 5 +/* 802CC0A4 002C7D04 7F 44 D3 78 */ mr r4, r26 +/* 802CC0A8 002C7D08 98 03 00 7F */ stb r0, 0x7f(r3) +/* 802CC0AC 002C7D0C 7F A3 EB 78 */ mr r3, r29 +/* 802CC0B0 002C7D10 48 00 3F E1 */ bl func_802D0090 +/* 802CC0B4 002C7D14 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CC0B8 002C7D18 40 82 00 08 */ bne lbl_802CC0C0 +/* 802CC0BC 002C7D1C 9B 7C 00 7F */ stb r27, 0x7f(r28) +lbl_802CC0C0: +/* 802CC0C0 002C7D20 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CC0C4 002C7D24 41 82 01 A4 */ beq lbl_802CC268 +/* 802CC0C8 002C7D28 88 1F 00 7F */ lbz r0, 0x7f(r31) +/* 802CC0CC 002C7D2C 28 00 00 01 */ cmplwi r0, 1 +/* 802CC0D0 002C7D30 41 82 00 3C */ beq lbl_802CC10C +/* 802CC0D4 002C7D34 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC0D8 002C7D38 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC0DC 002C7D3C 81 83 19 1C */ lwz r12, 0x191c(r3) +/* 802CC0E0 002C7D40 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC0E4 002C7D44 41 82 01 84 */ beq lbl_802CC268 +/* 802CC0E8 002C7D48 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CC0EC 002C7D4C 41 82 01 7C */ beq lbl_802CC268 +/* 802CC0F0 002C7D50 7F C6 F3 78 */ mr r6, r30 +/* 802CC0F4 002C7D54 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC0F8 002C7D58 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CC0FC 002C7D5C 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CC100 002C7D60 7D 89 03 A6 */ mtctr r12 +/* 802CC104 002C7D64 4E 80 04 21 */ bctrl +/* 802CC108 002C7D68 48 00 01 60 */ b lbl_802CC268 +lbl_802CC10C: +/* 802CC10C 002C7D6C 28 1E 00 0C */ cmplwi r30, 0xc +/* 802CC110 002C7D70 40 82 00 18 */ bne lbl_802CC128 +/* 802CC114 002C7D74 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CC118 002C7D78 54 00 07 7C */ rlwinm r0, r0, 0, 0x1d, 0x1e +/* 802CC11C 002C7D7C 2C 00 00 06 */ cmpwi r0, 6 +/* 802CC120 002C7D80 40 82 00 08 */ bne lbl_802CC128 +/* 802CC124 002C7D84 3B C0 00 00 */ li r30, 0 +lbl_802CC128: +/* 802CC128 002C7D88 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC12C 002C7D8C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC130 002C7D90 81 83 19 1C */ lwz r12, 0x191c(r3) +/* 802CC134 002C7D94 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC138 002C7D98 41 82 00 1C */ beq lbl_802CC154 +/* 802CC13C 002C7D9C 7F C6 F3 78 */ mr r6, r30 +/* 802CC140 002C7DA0 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC144 002C7DA4 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CC148 002C7DA8 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CC14C 002C7DAC 7D 89 03 A6 */ mtctr r12 +/* 802CC150 002C7DB0 4E 80 04 21 */ bctrl +lbl_802CC154: +/* 802CC154 002C7DB4 3B A0 00 00 */ li r29, 0 +/* 802CC158 002C7DB8 9B BF 00 7F */ stb r29, 0x7f(r31) +/* 802CC15C 002C7DBC 88 7F 00 81 */ lbz r3, 0x81(r31) +/* 802CC160 002C7DC0 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 +/* 802CC164 002C7DC4 41 82 00 20 */ beq lbl_802CC184 +/* 802CC168 002C7DC8 38 00 FF AF */ li r0, -81 +/* 802CC16C 002C7DCC 38 80 00 13 */ li r4, 0x13 +/* 802CC170 002C7DD0 7C 60 00 38 */ and r0, r3, r0 +/* 802CC174 002C7DD4 98 1F 00 81 */ stb r0, 0x81(r31) +/* 802CC178 002C7DD8 A0 7F 00 18 */ lhz r3, 0x18(r31) +/* 802CC17C 002C7DDC 48 00 3F 15 */ bl func_802D0090 +/* 802CC180 002C7DE0 48 00 00 E8 */ b lbl_802CC268 +lbl_802CC184: +/* 802CC184 002C7DE4 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CC188 002C7DE8 41 82 00 68 */ beq lbl_802CC1F0 +/* 802CC18C 002C7DEC 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CC190 002C7DF0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC194 002C7DF4 41 82 00 4C */ beq lbl_802CC1E0 +/* 802CC198 002C7DF8 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CC19C 002C7DFC 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC1A0 002C7E00 41 82 00 20 */ beq lbl_802CC1C0 +/* 802CC1A4 002C7E04 80 7F 00 00 */ lwz r3, 0(r31) +/* 802CC1A8 002C7E08 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC1AC 002C7E0C 41 82 00 14 */ beq lbl_802CC1C0 +/* 802CC1B0 002C7E10 80 03 00 00 */ lwz r0, 0(r3) +/* 802CC1B4 002C7E14 28 00 00 03 */ cmplwi r0, 3 +/* 802CC1B8 002C7E18 40 82 00 08 */ bne lbl_802CC1C0 +/* 802CC1BC 002C7E1C 93 A3 00 04 */ stw r29, 4(r3) +lbl_802CC1C0: +/* 802CC1C0 002C7E20 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CC1C4 002C7E24 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC1C8 002C7E28 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CC1CC 002C7E2C 38 A0 00 0A */ li r5, 0xa +/* 802CC1D0 002C7E30 7D 89 03 A6 */ mtctr r12 +/* 802CC1D4 002C7E34 4E 80 04 21 */ bctrl +/* 802CC1D8 002C7E38 38 00 00 00 */ li r0, 0 +/* 802CC1DC 002C7E3C 90 1F 00 04 */ stw r0, 4(r31) +lbl_802CC1E0: +/* 802CC1E0 002C7E40 A0 7F 00 18 */ lhz r3, 0x18(r31) +/* 802CC1E4 002C7E44 38 80 00 05 */ li r4, 5 +/* 802CC1E8 002C7E48 48 00 3E A9 */ bl func_802D0090 +/* 802CC1EC 002C7E4C 48 00 00 7C */ b lbl_802CC268 +lbl_802CC1F0: +/* 802CC1F0 002C7E50 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CC1F4 002C7E54 7F E3 FB 78 */ mr r3, r31 +/* 802CC1F8 002C7E58 60 00 00 02 */ ori r0, r0, 2 +/* 802CC1FC 002C7E5C 98 1F 00 76 */ stb r0, 0x76(r31) +/* 802CC200 002C7E60 48 00 10 6D */ bl func_802CD26C +/* 802CC204 002C7E64 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CC208 002C7E68 7C 64 1B 78 */ mr r4, r3 +/* 802CC20C 002C7E6C 28 00 00 01 */ cmplwi r0, 1 +/* 802CC210 002C7E70 41 82 00 58 */ beq lbl_802CC268 +/* 802CC214 002C7E74 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CC218 002C7E78 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC21C 002C7E7C 41 82 00 4C */ beq lbl_802CC268 +/* 802CC220 002C7E80 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CC224 002C7E84 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC228 002C7E88 41 82 00 20 */ beq lbl_802CC248 +/* 802CC22C 002C7E8C 80 7F 00 00 */ lwz r3, 0(r31) +/* 802CC230 002C7E90 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC234 002C7E94 41 82 00 14 */ beq lbl_802CC248 +/* 802CC238 002C7E98 80 03 00 00 */ lwz r0, 0(r3) +/* 802CC23C 002C7E9C 28 00 00 03 */ cmplwi r0, 3 +/* 802CC240 002C7EA0 40 82 00 08 */ bne lbl_802CC248 +/* 802CC244 002C7EA4 93 A3 00 04 */ stw r29, 4(r3) +lbl_802CC248: +/* 802CC248 002C7EA8 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CC24C 002C7EAC 54 85 06 3E */ clrlwi r5, r4, 0x18 +/* 802CC250 002C7EB0 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC254 002C7EB4 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CC258 002C7EB8 7D 89 03 A6 */ mtctr r12 +/* 802CC25C 002C7EBC 4E 80 04 21 */ bctrl +/* 802CC260 002C7EC0 38 00 00 00 */ li r0, 0 +/* 802CC264 002C7EC4 90 1F 00 04 */ stw r0, 4(r31) +lbl_802CC268: +/* 802CC268 002C7EC8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CC26C 002C7ECC 4B EF AF 05 */ bl _restgpr_26 +/* 802CC270 002C7ED0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CC274 002C7ED4 7C 08 03 A6 */ mtlr r0 +/* 802CC278 002C7ED8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CC27C 002C7EDC 4E 80 00 20 */ blr + +.global func_802CC280 +func_802CC280: +/* 802CC280 002C7EE0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CC284 002C7EE4 7C 08 02 A6 */ mflr r0 +/* 802CC288 002C7EE8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CC28C 002C7EEC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CC290 002C7EF0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CC294 002C7EF4 7C BE 2B 78 */ mr r30, r5 +/* 802CC298 002C7EF8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CC29C 002C7EFC 7C 9D 23 78 */ mr r29, r4 +/* 802CC2A0 002C7F00 4B FF 92 C5 */ bl func_802C5564 +/* 802CC2A4 002C7F04 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC2A8 002C7F08 88 E2 A4 80 */ lbz r7, lbl_80642A80-_SDA2_BASE_(r2) +/* 802CC2AC 002C7F0C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC2B0 002C7F10 88 C2 A4 81 */ lbz r6, lbl_80642A81-_SDA2_BASE_(r2) +/* 802CC2B4 002C7F14 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CC2B8 002C7F18 7C 7F 1B 78 */ mr r31, r3 +/* 802CC2BC 002C7F1C 88 A2 A4 82 */ lbz r5, lbl_80642A82-_SDA2_BASE_(r2) +/* 802CC2C0 002C7F20 88 82 A4 83 */ lbz r4, lbl_80642A83-_SDA2_BASE_(r2) +/* 802CC2C4 002C7F24 28 00 00 04 */ cmplwi r0, 4 +/* 802CC2C8 002C7F28 88 62 A4 84 */ lbz r3, lbl_80642A84-_SDA2_BASE_(r2) +/* 802CC2CC 002C7F2C 88 02 A4 85 */ lbz r0, lbl_80642A85-_SDA2_BASE_(r2) +/* 802CC2D0 002C7F30 98 E1 00 08 */ stb r7, 8(r1) +/* 802CC2D4 002C7F34 98 C1 00 09 */ stb r6, 9(r1) +/* 802CC2D8 002C7F38 98 A1 00 0A */ stb r5, 0xa(r1) +/* 802CC2DC 002C7F3C 98 81 00 0B */ stb r4, 0xb(r1) +/* 802CC2E0 002C7F40 98 61 00 0C */ stb r3, 0xc(r1) +/* 802CC2E4 002C7F44 98 01 00 0D */ stb r0, 0xd(r1) +/* 802CC2E8 002C7F48 41 80 00 30 */ blt lbl_802CC318 +/* 802CC2EC 002C7F4C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CC2F0 002C7F50 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CC2F4 002C7F54 3C 80 80 44 */ lis r4, lbl_80441ED0@ha +/* 802CC2F8 002C7F58 7F A5 EB 78 */ mr r5, r29 +/* 802CC2FC 002C7F5C 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CC300 002C7F60 38 84 1E D0 */ addi r4, r4, lbl_80441ED0@l +/* 802CC304 002C7F64 41 82 00 0C */ beq lbl_802CC310 +/* 802CC308 002C7F68 88 DF 00 7F */ lbz r6, 0x7f(r31) +/* 802CC30C 002C7F6C 48 00 00 08 */ b lbl_802CC314 +lbl_802CC310: +/* 802CC310 002C7F70 38 C0 00 00 */ li r6, 0 +lbl_802CC314: +/* 802CC314 002C7F74 4B FF 0C 2D */ bl func_802BCF40 +lbl_802CC318: +/* 802CC318 002C7F78 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC31C 002C7F7C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC320 002C7F80 81 83 27 B0 */ lwz r12, 0x27b0(r3) +/* 802CC324 002C7F84 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC328 002C7F88 41 82 00 38 */ beq lbl_802CC360 +/* 802CC32C 002C7F8C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CC330 002C7F90 40 82 00 1C */ bne lbl_802CC34C +/* 802CC334 002C7F94 7F A4 EB 78 */ mr r4, r29 +/* 802CC338 002C7F98 7F C5 F3 78 */ mr r5, r30 +/* 802CC33C 002C7F9C 38 61 00 08 */ addi r3, r1, 8 +/* 802CC340 002C7FA0 7D 89 03 A6 */ mtctr r12 +/* 802CC344 002C7FA4 4E 80 04 21 */ bctrl +/* 802CC348 002C7FA8 48 00 00 18 */ b lbl_802CC360 +lbl_802CC34C: +/* 802CC34C 002C7FAC 7F A4 EB 78 */ mr r4, r29 +/* 802CC350 002C7FB0 7F C5 F3 78 */ mr r5, r30 +/* 802CC354 002C7FB4 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC358 002C7FB8 7D 89 03 A6 */ mtctr r12 +/* 802CC35C 002C7FBC 4E 80 04 21 */ bctrl +lbl_802CC360: +/* 802CC360 002C7FC0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CC364 002C7FC4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CC368 002C7FC8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CC36C 002C7FCC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CC370 002C7FD0 7C 08 03 A6 */ mtlr r0 +/* 802CC374 002C7FD4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CC378 002C7FD8 4E 80 00 20 */ blr + +.global func_802CC37C +func_802CC37C: +/* 802CC37C 002C7FDC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CC380 002C7FE0 7C 08 02 A6 */ mflr r0 +/* 802CC384 002C7FE4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CC388 002C7FE8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CC38C 002C7FEC 7C 9F 23 78 */ mr r31, r4 +/* 802CC390 002C7FF0 93 C1 00 08 */ stw r30, 8(r1) +/* 802CC394 002C7FF4 4B FF 91 D1 */ bl func_802C5564 +/* 802CC398 002C7FF8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC39C 002C7FFC 7C 7E 1B 78 */ mr r30, r3 +/* 802CC3A0 002C8000 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC3A4 002C8004 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CC3A8 002C8008 28 00 00 04 */ cmplwi r0, 4 +/* 802CC3AC 002C800C 41 80 00 30 */ blt lbl_802CC3DC +/* 802CC3B0 002C8010 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CC3B4 002C8014 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CC3B8 002C8018 3C 80 80 44 */ lis r4, lbl_80441F00@ha +/* 802CC3BC 002C801C 7F E5 FB 78 */ mr r5, r31 +/* 802CC3C0 002C8020 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CC3C4 002C8024 38 84 1F 00 */ addi r4, r4, lbl_80441F00@l +/* 802CC3C8 002C8028 41 82 00 0C */ beq lbl_802CC3D4 +/* 802CC3CC 002C802C 88 DE 00 7F */ lbz r6, 0x7f(r30) +/* 802CC3D0 002C8030 48 00 00 08 */ b lbl_802CC3D8 +lbl_802CC3D4: +/* 802CC3D4 002C8034 38 C0 00 00 */ li r6, 0 +lbl_802CC3D8: +/* 802CC3D8 002C8038 4B FF 0B 69 */ bl func_802BCF40 +lbl_802CC3DC: +/* 802CC3DC 002C803C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CC3E0 002C8040 41 82 00 C0 */ beq lbl_802CC4A0 +/* 802CC3E4 002C8044 28 1F 00 23 */ cmplwi r31, 0x23 +/* 802CC3E8 002C8048 40 82 00 30 */ bne lbl_802CC418 +/* 802CC3EC 002C804C 3C E0 80 57 */ lis r7, lbl_80568B78@ha +/* 802CC3F0 002C8050 3C C0 80 2D */ lis r6, lbl_802CD768@ha +/* 802CC3F4 002C8054 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l +/* 802CC3F8 002C8058 38 80 00 16 */ li r4, 0x16 +/* 802CC3FC 002C805C 38 C6 D7 68 */ addi r6, r6, lbl_802CD768@l +/* 802CC400 002C8060 93 C7 19 38 */ stw r30, 0x1938(r7) +/* 802CC404 002C8064 38 67 19 5C */ addi r3, r7, 0x195c +/* 802CC408 002C8068 38 A0 00 01 */ li r5, 1 +/* 802CC40C 002C806C 90 C7 19 6C */ stw r6, 0x196c(r7) +/* 802CC410 002C8070 4B FF 10 CD */ bl func_802BD4DC +/* 802CC414 002C8074 48 00 00 8C */ b lbl_802CC4A0 +lbl_802CC418: +/* 802CC418 002C8078 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CC41C 002C807C 41 82 00 30 */ beq lbl_802CC44C +/* 802CC420 002C8080 81 9E 00 04 */ lwz r12, 4(r30) +/* 802CC424 002C8084 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC428 002C8088 41 82 00 78 */ beq lbl_802CC4A0 +/* 802CC42C 002C808C 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802CC430 002C8090 80 9E 00 08 */ lwz r4, 8(r30) +/* 802CC434 002C8094 38 A0 00 0A */ li r5, 0xa +/* 802CC438 002C8098 7D 89 03 A6 */ mtctr r12 +/* 802CC43C 002C809C 4E 80 04 21 */ bctrl +/* 802CC440 002C80A0 38 00 00 00 */ li r0, 0 +/* 802CC444 002C80A4 90 1E 00 04 */ stw r0, 4(r30) +/* 802CC448 002C80A8 48 00 00 58 */ b lbl_802CC4A0 +lbl_802CC44C: +/* 802CC44C 002C80AC 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802CC450 002C80B0 60 00 00 06 */ ori r0, r0, 6 +/* 802CC454 002C80B4 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802CC458 002C80B8 88 1E 00 7F */ lbz r0, 0x7f(r30) +/* 802CC45C 002C80BC 28 00 00 02 */ cmplwi r0, 2 +/* 802CC460 002C80C0 40 82 00 40 */ bne lbl_802CC4A0 +/* 802CC464 002C80C4 3B E0 00 00 */ li r31, 0 +/* 802CC468 002C80C8 7F C3 F3 78 */ mr r3, r30 +/* 802CC46C 002C80CC 9B FE 00 7F */ stb r31, 0x7f(r30) +/* 802CC470 002C80D0 48 00 0D FD */ bl func_802CD26C +/* 802CC474 002C80D4 54 65 06 3E */ clrlwi r5, r3, 0x18 +/* 802CC478 002C80D8 28 05 00 01 */ cmplwi r5, 1 +/* 802CC47C 002C80DC 41 82 00 24 */ beq lbl_802CC4A0 +/* 802CC480 002C80E0 81 9E 00 04 */ lwz r12, 4(r30) +/* 802CC484 002C80E4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC488 002C80E8 41 82 00 18 */ beq lbl_802CC4A0 +/* 802CC48C 002C80EC 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802CC490 002C80F0 80 9E 00 08 */ lwz r4, 8(r30) +/* 802CC494 002C80F4 7D 89 03 A6 */ mtctr r12 +/* 802CC498 002C80F8 4E 80 04 21 */ bctrl +/* 802CC49C 002C80FC 93 FE 00 04 */ stw r31, 4(r30) +lbl_802CC4A0: +/* 802CC4A0 002C8100 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CC4A4 002C8104 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CC4A8 002C8108 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CC4AC 002C810C 7C 08 03 A6 */ mtlr r0 +/* 802CC4B0 002C8110 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CC4B4 002C8114 4E 80 00 20 */ blr + +.global func_802CC4B8 +func_802CC4B8: +/* 802CC4B8 002C8118 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CC4BC 002C811C 7C 08 02 A6 */ mflr r0 +/* 802CC4C0 002C8120 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CC4C4 002C8124 4B FF 90 A1 */ bl func_802C5564 +/* 802CC4C8 002C8128 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC4CC 002C812C 41 82 00 18 */ beq lbl_802CC4E4 +/* 802CC4D0 002C8130 88 03 00 81 */ lbz r0, 0x81(r3) +/* 802CC4D4 002C8134 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CC4D8 002C8138 41 82 00 0C */ beq lbl_802CC4E4 +/* 802CC4DC 002C813C 38 60 00 01 */ li r3, 1 +/* 802CC4E0 002C8140 48 00 00 08 */ b lbl_802CC4E8 +lbl_802CC4E4: +/* 802CC4E4 002C8144 38 60 00 00 */ li r3, 0 +lbl_802CC4E8: +/* 802CC4E8 002C8148 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CC4EC 002C814C 7C 08 03 A6 */ mtlr r0 +/* 802CC4F0 002C8150 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CC4F4 002C8154 4E 80 00 20 */ blr + +.global func_802CC4F8 +func_802CC4F8: +/* 802CC4F8 002C8158 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CC4FC 002C815C 7C 08 02 A6 */ mflr r0 +/* 802CC500 002C8160 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CC504 002C8164 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CC508 002C8168 4B EF AC 21 */ bl _savegpr_27 +/* 802CC50C 002C816C 7C 7B 1B 78 */ mr r27, r3 +/* 802CC510 002C8170 7C 9C 23 78 */ mr r28, r4 +/* 802CC514 002C8174 7C BD 2B 78 */ mr r29, r5 +/* 802CC518 002C8178 7C DE 33 78 */ mr r30, r6 +/* 802CC51C 002C817C 4B FF 91 01 */ bl func_802C561C +/* 802CC520 002C8180 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC524 002C8184 7C 7F 1B 78 */ mr r31, r3 +/* 802CC528 002C8188 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC52C 002C818C 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CC530 002C8190 28 00 00 04 */ cmplwi r0, 4 +/* 802CC534 002C8194 41 80 00 24 */ blt lbl_802CC558 +/* 802CC538 002C8198 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CC53C 002C819C 3C 80 80 44 */ lis r4, lbl_80441F34@ha +/* 802CC540 002C81A0 7F 85 E3 78 */ mr r5, r28 +/* 802CC544 002C81A4 7F A6 EB 78 */ mr r6, r29 +/* 802CC548 002C81A8 7F C7 F3 78 */ mr r7, r30 +/* 802CC54C 002C81AC 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CC550 002C81B0 38 84 1F 34 */ addi r4, r4, lbl_80441F34@l +/* 802CC554 002C81B4 4B FF 0A 05 */ bl func_802BCF58 +lbl_802CC558: +/* 802CC558 002C81B8 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CC55C 002C81BC 40 82 00 28 */ bne lbl_802CC584 +/* 802CC560 002C81C0 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CC564 002C81C4 40 82 03 FC */ bne lbl_802CC960 +/* 802CC568 002C81C8 7F 63 DB 78 */ mr r3, r27 +/* 802CC56C 002C81CC 4B FF 8E D9 */ bl func_802C5444 +/* 802CC570 002C81D0 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC574 002C81D4 7C 7F 1B 78 */ mr r31, r3 +/* 802CC578 002C81D8 40 82 00 2C */ bne lbl_802CC5A4 +/* 802CC57C 002C81DC 48 00 03 E4 */ b lbl_802CC960 +/* 802CC580 002C81E0 48 00 03 E0 */ b lbl_802CC960 +lbl_802CC584: +/* 802CC584 002C81E4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC588 002C81E8 38 00 00 01 */ li r0, 1 +/* 802CC58C 002C81EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC590 002C81F0 80 64 19 74 */ lwz r3, 0x1974(r4) +/* 802CC594 002C81F4 90 7F 00 0C */ stw r3, 0xc(r31) +/* 802CC598 002C81F8 38 63 00 01 */ addi r3, r3, 1 +/* 802CC59C 002C81FC 90 64 19 74 */ stw r3, 0x1974(r4) +/* 802CC5A0 002C8200 98 1F 00 85 */ stb r0, 0x85(r31) +lbl_802CC5A4: +/* 802CC5A4 002C8204 88 1F 00 81 */ lbz r0, 0x81(r31) +/* 802CC5A8 002C8208 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CC5AC 002C820C 41 82 00 90 */ beq lbl_802CC63C +/* 802CC5B0 002C8210 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC5B4 002C8214 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC5B8 002C8218 88 04 19 7B */ lbz r0, 0x197b(r4) +/* 802CC5BC 002C821C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC5C0 002C8220 41 82 00 58 */ beq lbl_802CC618 +/* 802CC5C4 002C8224 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CC5C8 002C8228 38 60 00 00 */ li r3, 0 +/* 802CC5CC 002C822C 98 64 19 7B */ stb r3, 0x197b(r4) +/* 802CC5D0 002C8230 28 00 00 05 */ cmplwi r0, 5 +/* 802CC5D4 002C8234 41 80 00 28 */ blt lbl_802CC5FC +/* 802CC5D8 002C8238 88 64 19 78 */ lbz r3, 0x1978(r4) +/* 802CC5DC 002C823C 3C 80 80 44 */ lis r4, lbl_80441B8C@ha +/* 802CC5E0 002C8240 3C A0 00 0D */ lis r5, 0x000D0004@ha +/* 802CC5E4 002C8244 38 03 FF FD */ addi r0, r3, -3 +/* 802CC5E8 002C8248 38 84 1B 8C */ addi r4, r4, lbl_80441B8C@l +/* 802CC5EC 002C824C 7C 00 00 34 */ cntlzw r0, r0 +/* 802CC5F0 002C8250 38 65 00 04 */ addi r3, r5, 0x000D0004@l +/* 802CC5F4 002C8254 54 05 D9 7E */ srwi r5, r0, 5 +/* 802CC5F8 002C8258 4B FF 09 31 */ bl func_802BCF28 +lbl_802CC5FC: +/* 802CC5FC 002C825C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC600 002C8260 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC604 002C8264 88 63 19 78 */ lbz r3, 0x1978(r3) +/* 802CC608 002C8268 38 03 FF FD */ addi r0, r3, -3 +/* 802CC60C 002C826C 7C 00 00 34 */ cntlzw r0, r0 +/* 802CC610 002C8270 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802CC614 002C8274 48 00 53 E5 */ bl func_802D19F8 +lbl_802CC618: +/* 802CC618 002C8278 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC61C 002C827C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC620 002C8280 88 04 19 7C */ lbz r0, 0x197c(r4) +/* 802CC624 002C8284 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC628 002C8288 41 82 00 14 */ beq lbl_802CC63C +/* 802CC62C 002C828C 38 00 00 00 */ li r0, 0 +/* 802CC630 002C8290 88 64 00 20 */ lbz r3, 0x20(r4) +/* 802CC634 002C8294 98 04 19 7C */ stb r0, 0x197c(r4) +/* 802CC638 002C8298 48 00 4E 4D */ bl func_802D1484 +lbl_802CC63C: +/* 802CC63C 002C829C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CC640 002C82A0 41 82 01 6C */ beq lbl_802CC7AC +/* 802CC644 002C82A4 28 1D 00 05 */ cmplwi r29, 5 +/* 802CC648 002C82A8 41 82 00 50 */ beq lbl_802CC698 +/* 802CC64C 002C82AC 28 1D 00 06 */ cmplwi r29, 6 +/* 802CC650 002C82B0 41 82 00 48 */ beq lbl_802CC698 +/* 802CC654 002C82B4 28 1D 00 0E */ cmplwi r29, 0xe +/* 802CC658 002C82B8 41 82 00 40 */ beq lbl_802CC698 +/* 802CC65C 002C82BC 28 1D 00 18 */ cmplwi r29, 0x18 +/* 802CC660 002C82C0 41 82 00 38 */ beq lbl_802CC698 +/* 802CC664 002C82C4 28 1D 00 26 */ cmplwi r29, 0x26 +/* 802CC668 002C82C8 41 82 00 30 */ beq lbl_802CC698 +/* 802CC66C 002C82CC 28 1D 00 29 */ cmplwi r29, 0x29 +/* 802CC670 002C82D0 41 82 00 28 */ beq lbl_802CC698 +/* 802CC674 002C82D4 28 1D 00 25 */ cmplwi r29, 0x25 +/* 802CC678 002C82D8 41 82 00 20 */ beq lbl_802CC698 +/* 802CC67C 002C82DC 28 1D 00 17 */ cmplwi r29, 0x17 +/* 802CC680 002C82E0 41 82 00 18 */ beq lbl_802CC698 +/* 802CC684 002C82E4 28 1D 00 22 */ cmplwi r29, 0x22 +/* 802CC688 002C82E8 41 82 00 10 */ beq lbl_802CC698 +/* 802CC68C 002C82EC 88 1F 00 81 */ lbz r0, 0x81(r31) +/* 802CC690 002C82F0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CC694 002C82F4 41 82 00 90 */ beq lbl_802CC724 +lbl_802CC698: +/* 802CC698 002C82F8 88 7F 00 81 */ lbz r3, 0x81(r31) +/* 802CC69C 002C82FC 38 00 FF AF */ li r0, -81 +/* 802CC6A0 002C8300 3F 80 80 57 */ lis r28, lbl_80568B78@ha +/* 802CC6A4 002C8304 7C 60 00 38 */ and r0, r3, r0 +/* 802CC6A8 002C8308 98 1F 00 81 */ stb r0, 0x81(r31) +/* 802CC6AC 002C830C 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l +/* 802CC6B0 002C8310 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CC6B4 002C8314 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a +/* 802CC6B8 002C8318 98 1F 00 76 */ stb r0, 0x76(r31) +/* 802CC6BC 002C831C 80 1C 19 4C */ lwz r0, 0x194c(r28) +/* 802CC6C0 002C8320 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC6C4 002C8324 41 82 00 18 */ beq lbl_802CC6DC +/* 802CC6C8 002C8328 38 7C 19 3C */ addi r3, r28, 0x193c +/* 802CC6CC 002C832C 4B FF 0E 81 */ bl func_802BD54C +/* 802CC6D0 002C8330 38 00 00 00 */ li r0, 0 +/* 802CC6D4 002C8334 3B A0 00 0E */ li r29, 0xe +/* 802CC6D8 002C8338 90 1C 19 4C */ stw r0, 0x194c(r28) +lbl_802CC6DC: +/* 802CC6DC 002C833C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC6E0 002C8340 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC6E4 002C8344 88 03 27 BF */ lbz r0, 0x27bf(r3) +/* 802CC6E8 002C8348 28 00 00 0E */ cmplwi r0, 0xe +/* 802CC6EC 002C834C 40 82 00 08 */ bne lbl_802CC6F4 +/* 802CC6F0 002C8350 3B A0 00 0E */ li r29, 0xe +lbl_802CC6F4: +/* 802CC6F4 002C8354 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC6F8 002C8358 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC6FC 002C835C 81 83 19 1C */ lwz r12, 0x191c(r3) +/* 802CC700 002C8360 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC704 002C8364 41 82 02 5C */ beq lbl_802CC960 +/* 802CC708 002C8368 7F A6 EB 78 */ mr r6, r29 +/* 802CC70C 002C836C 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC710 002C8370 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CC714 002C8374 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CC718 002C8378 7D 89 03 A6 */ mtctr r12 +/* 802CC71C 002C837C 4E 80 04 21 */ bctrl +/* 802CC720 002C8380 48 00 02 40 */ b lbl_802CC960 +lbl_802CC724: +/* 802CC724 002C8384 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CC728 002C8388 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC72C 002C838C 41 82 02 34 */ beq lbl_802CC960 +/* 802CC730 002C8390 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CC734 002C8394 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC738 002C8398 41 82 00 24 */ beq lbl_802CC75C +/* 802CC73C 002C839C 80 7F 00 00 */ lwz r3, 0(r31) +/* 802CC740 002C83A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC744 002C83A4 41 82 00 18 */ beq lbl_802CC75C +/* 802CC748 002C83A8 80 03 00 00 */ lwz r0, 0(r3) +/* 802CC74C 002C83AC 28 00 00 03 */ cmplwi r0, 3 +/* 802CC750 002C83B0 40 82 00 0C */ bne lbl_802CC75C +/* 802CC754 002C83B4 38 00 00 00 */ li r0, 0 +/* 802CC758 002C83B8 90 03 00 04 */ stw r0, 4(r3) +lbl_802CC75C: +/* 802CC75C 002C83BC 28 1D 00 08 */ cmplwi r29, 8 +/* 802CC760 002C83C0 41 82 00 14 */ beq lbl_802CC774 +/* 802CC764 002C83C4 28 1D 00 1F */ cmplwi r29, 0x1f +/* 802CC768 002C83C8 41 82 00 0C */ beq lbl_802CC774 +/* 802CC76C 002C83CC 28 1D 00 04 */ cmplwi r29, 4 +/* 802CC770 002C83D0 40 82 00 20 */ bne lbl_802CC790 +lbl_802CC774: +/* 802CC774 002C83D4 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CC778 002C83D8 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC77C 002C83DC 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CC780 002C83E0 38 A0 00 08 */ li r5, 8 +/* 802CC784 002C83E4 7D 89 03 A6 */ mtctr r12 +/* 802CC788 002C83E8 4E 80 04 21 */ bctrl +/* 802CC78C 002C83EC 48 00 01 D4 */ b lbl_802CC960 +lbl_802CC790: +/* 802CC790 002C83F0 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CC794 002C83F4 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC798 002C83F8 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CC79C 002C83FC 38 A0 00 0A */ li r5, 0xa +/* 802CC7A0 002C8400 7D 89 03 A6 */ mtctr r12 +/* 802CC7A4 002C8404 4E 80 04 21 */ bctrl +/* 802CC7A8 002C8408 48 00 01 B8 */ b lbl_802CC960 +lbl_802CC7AC: +/* 802CC7AC 002C840C 88 1F 00 81 */ lbz r0, 0x81(r31) +/* 802CC7B0 002C8410 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CC7B4 002C8414 41 82 00 D8 */ beq lbl_802CC88C +/* 802CC7B8 002C8418 88 1F 00 82 */ lbz r0, 0x82(r31) +/* 802CC7BC 002C841C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC7C0 002C8420 41 82 00 CC */ beq lbl_802CC88C +/* 802CC7C4 002C8424 38 00 00 00 */ li r0, 0 +/* 802CC7C8 002C8428 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC7CC 002C842C 98 1F 00 82 */ stb r0, 0x82(r31) +/* 802CC7D0 002C8430 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC7D4 002C8434 81 83 19 14 */ lwz r12, 0x1914(r3) +/* 802CC7D8 002C8438 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC7DC 002C843C 41 82 00 20 */ beq lbl_802CC7FC +/* 802CC7E0 002C8440 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC7E4 002C8444 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CC7E8 002C8448 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CC7EC 002C844C 38 DF 00 25 */ addi r6, r31, 0x25 +/* 802CC7F0 002C8450 88 FF 00 83 */ lbz r7, 0x83(r31) +/* 802CC7F4 002C8454 7D 89 03 A6 */ mtctr r12 +/* 802CC7F8 002C8458 4E 80 04 21 */ bctrl +lbl_802CC7FC: +/* 802CC7FC 002C845C 3F A0 80 57 */ lis r29, lbl_80568B78@ha +/* 802CC800 002C8460 3B C0 00 00 */ li r30, 0 +/* 802CC804 002C8464 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l +lbl_802CC808: +/* 802CC808 002C8468 81 9D 19 24 */ lwz r12, 0x1924(r29) +/* 802CC80C 002C846C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC810 002C8470 41 82 00 20 */ beq lbl_802CC830 +/* 802CC814 002C8474 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC818 002C8478 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CC81C 002C847C 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CC820 002C8480 38 DF 00 25 */ addi r6, r31, 0x25 +/* 802CC824 002C8484 88 FF 00 83 */ lbz r7, 0x83(r31) +/* 802CC828 002C8488 7D 89 03 A6 */ mtctr r12 +/* 802CC82C 002C848C 4E 80 04 21 */ bctrl +lbl_802CC830: +/* 802CC830 002C8490 3B DE 00 01 */ addi r30, r30, 1 +/* 802CC834 002C8494 3B BD 00 04 */ addi r29, r29, 4 +/* 802CC838 002C8498 2C 1E 00 02 */ cmpwi r30, 2 +/* 802CC83C 002C849C 41 80 FF CC */ blt lbl_802CC808 +/* 802CC840 002C84A0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC844 002C84A4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC848 002C84A8 81 83 19 1C */ lwz r12, 0x191c(r3) +/* 802CC84C 002C84AC 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CC850 002C84B0 41 82 00 1C */ beq lbl_802CC86C +/* 802CC854 002C84B4 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC858 002C84B8 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CC85C 002C84BC 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CC860 002C84C0 38 C0 00 00 */ li r6, 0 +/* 802CC864 002C84C4 7D 89 03 A6 */ mtctr r12 +/* 802CC868 002C84C8 4E 80 04 21 */ bctrl +lbl_802CC86C: +/* 802CC86C 002C84CC 88 BF 00 81 */ lbz r5, 0x81(r31) +/* 802CC870 002C84D0 38 00 FF AF */ li r0, -81 +/* 802CC874 002C84D4 7F 83 E3 78 */ mr r3, r28 +/* 802CC878 002C84D8 38 80 00 13 */ li r4, 0x13 +/* 802CC87C 002C84DC 7C A0 00 38 */ and r0, r5, r0 +/* 802CC880 002C84E0 98 1F 00 81 */ stb r0, 0x81(r31) +/* 802CC884 002C84E4 48 00 38 0D */ bl func_802D0090 +/* 802CC888 002C84E8 48 00 00 D8 */ b lbl_802CC960 +lbl_802CC88C: +/* 802CC88C 002C84EC B3 9F 00 18 */ sth r28, 0x18(r31) +/* 802CC890 002C84F0 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CC894 002C84F4 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CC898 002C84F8 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c +/* 802CC89C 002C84FC 98 1F 00 76 */ stb r0, 0x76(r31) +/* 802CC8A0 002C8500 41 82 00 10 */ beq lbl_802CC8B0 +/* 802CC8A4 002C8504 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CC8A8 002C8508 60 00 00 06 */ ori r0, r0, 6 +/* 802CC8AC 002C850C 98 1F 00 76 */ stb r0, 0x76(r31) +lbl_802CC8B0: +/* 802CC8B0 002C8510 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CC8B4 002C8514 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CC8B8 002C8518 88 03 19 78 */ lbz r0, 0x1978(r3) +/* 802CC8BC 002C851C 28 00 00 03 */ cmplwi r0, 3 +/* 802CC8C0 002C8520 40 82 00 10 */ bne lbl_802CC8D0 +/* 802CC8C4 002C8524 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CC8C8 002C8528 60 00 00 02 */ ori r0, r0, 2 +/* 802CC8CC 002C852C 98 1F 00 76 */ stb r0, 0x76(r31) +lbl_802CC8D0: +/* 802CC8D0 002C8530 38 00 00 00 */ li r0, 0 +/* 802CC8D4 002C8534 98 1F 00 84 */ stb r0, 0x84(r31) +/* 802CC8D8 002C8538 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CC8DC 002C853C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 802CC8E0 002C8540 41 82 00 10 */ beq lbl_802CC8F0 +/* 802CC8E4 002C8544 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CC8E8 002C8548 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC8EC 002C854C 41 82 00 74 */ beq lbl_802CC960 +lbl_802CC8F0: +/* 802CC8F0 002C8550 7F E3 FB 78 */ mr r3, r31 +/* 802CC8F4 002C8554 48 00 09 79 */ bl func_802CD26C +/* 802CC8F8 002C8558 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CC8FC 002C855C 7C 64 1B 78 */ mr r4, r3 +/* 802CC900 002C8560 28 00 00 01 */ cmplwi r0, 1 +/* 802CC904 002C8564 41 82 00 5C */ beq lbl_802CC960 +/* 802CC908 002C8568 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CC90C 002C856C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC910 002C8570 41 82 00 50 */ beq lbl_802CC960 +/* 802CC914 002C8574 88 1F 00 80 */ lbz r0, 0x80(r31) +/* 802CC918 002C8578 2C 00 00 00 */ cmpwi r0, 0 +/* 802CC91C 002C857C 41 82 00 24 */ beq lbl_802CC940 +/* 802CC920 002C8580 80 7F 00 00 */ lwz r3, 0(r31) +/* 802CC924 002C8584 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC928 002C8588 41 82 00 18 */ beq lbl_802CC940 +/* 802CC92C 002C858C 80 03 00 00 */ lwz r0, 0(r3) +/* 802CC930 002C8590 28 00 00 03 */ cmplwi r0, 3 +/* 802CC934 002C8594 40 82 00 0C */ bne lbl_802CC940 +/* 802CC938 002C8598 38 00 00 00 */ li r0, 0 +/* 802CC93C 002C859C 90 03 00 04 */ stw r0, 4(r3) +lbl_802CC940: +/* 802CC940 002C85A0 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CC944 002C85A4 54 85 06 3E */ clrlwi r5, r4, 0x18 +/* 802CC948 002C85A8 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802CC94C 002C85AC 80 9F 00 08 */ lwz r4, 8(r31) +/* 802CC950 002C85B0 7D 89 03 A6 */ mtctr r12 +/* 802CC954 002C85B4 4E 80 04 21 */ bctrl +/* 802CC958 002C85B8 38 00 00 00 */ li r0, 0 +/* 802CC95C 002C85BC 90 1F 00 04 */ stw r0, 4(r31) +lbl_802CC960: +/* 802CC960 002C85C0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CC964 002C85C4 4B EF A8 11 */ bl _restgpr_27 +/* 802CC968 002C85C8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CC96C 002C85CC 7C 08 03 A6 */ mtlr r0 +/* 802CC970 002C85D0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CC974 002C85D4 4E 80 00 20 */ blr + +.global func_802CC978 +func_802CC978: +/* 802CC978 002C85D8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CC97C 002C85DC 7C 08 02 A6 */ mflr r0 +/* 802CC980 002C85E0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CC984 002C85E4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CC988 002C85E8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CC98C 002C85EC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CC990 002C85F0 7C 9D 23 78 */ mr r29, r4 +/* 802CC994 002C85F4 93 81 00 10 */ stw r28, 0x10(r1) +/* 802CC998 002C85F8 7C 7C 1B 78 */ mr r28, r3 +/* 802CC99C 002C85FC 4B FF 8B C9 */ bl func_802C5564 +/* 802CC9A0 002C8600 2C 03 00 00 */ cmpwi r3, 0 +/* 802CC9A4 002C8604 7C 7F 1B 78 */ mr r31, r3 +/* 802CC9A8 002C8608 40 82 00 0C */ bne lbl_802CC9B4 +/* 802CC9AC 002C860C 38 60 00 05 */ li r3, 5 +/* 802CC9B0 002C8610 48 00 00 64 */ b lbl_802CCA14 +lbl_802CC9B4: +/* 802CC9B4 002C8614 88 03 00 81 */ lbz r0, 0x81(r3) +/* 802CC9B8 002C8618 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CC9BC 002C861C 41 82 00 18 */ beq lbl_802CC9D4 +/* 802CC9C0 002C8620 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CC9C4 002C8624 38 60 00 00 */ li r3, 0 +/* 802CC9C8 002C8628 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CC9CC 002C862C 9B A4 19 7E */ stb r29, 0x197e(r4) +/* 802CC9D0 002C8630 48 00 00 44 */ b lbl_802CCA14 +lbl_802CC9D4: +/* 802CC9D4 002C8634 8B C3 00 7F */ lbz r30, 0x7f(r3) +/* 802CC9D8 002C8638 28 1E 00 05 */ cmplwi r30, 5 +/* 802CC9DC 002C863C 40 82 00 0C */ bne lbl_802CC9E8 +/* 802CC9E0 002C8640 38 60 00 01 */ li r3, 1 +/* 802CC9E4 002C8644 48 00 00 30 */ b lbl_802CCA14 +lbl_802CC9E8: +/* 802CC9E8 002C8648 38 00 00 05 */ li r0, 5 +/* 802CC9EC 002C864C 7F A4 EB 78 */ mr r4, r29 +/* 802CC9F0 002C8650 98 03 00 7F */ stb r0, 0x7f(r3) +/* 802CC9F4 002C8654 7F 83 E3 78 */ mr r3, r28 +/* 802CC9F8 002C8658 48 00 36 99 */ bl func_802D0090 +/* 802CC9FC 002C865C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CCA00 002C8660 41 82 00 0C */ beq lbl_802CCA0C +/* 802CCA04 002C8664 38 60 00 01 */ li r3, 1 +/* 802CCA08 002C8668 48 00 00 0C */ b lbl_802CCA14 +lbl_802CCA0C: +/* 802CCA0C 002C866C 9B DF 00 7F */ stb r30, 0x7f(r31) +/* 802CCA10 002C8670 38 60 00 03 */ li r3, 3 +lbl_802CCA14: +/* 802CCA14 002C8674 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CCA18 002C8678 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CCA1C 002C867C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CCA20 002C8680 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CCA24 002C8684 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802CCA28 002C8688 7C 08 03 A6 */ mtlr r0 +/* 802CCA2C 002C868C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CCA30 002C8690 4E 80 00 20 */ blr + +.global func_802CCA34 +func_802CCA34: +/* 802CCA34 002C8694 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CCA38 002C8698 7C 08 02 A6 */ mflr r0 +/* 802CCA3C 002C869C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CCA40 002C86A0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CCA44 002C86A4 7C 9F 23 78 */ mr r31, r4 +/* 802CCA48 002C86A8 93 C1 00 08 */ stw r30, 8(r1) +/* 802CCA4C 002C86AC 4B FF 8B 19 */ bl func_802C5564 +/* 802CCA50 002C86B0 2C 03 00 00 */ cmpwi r3, 0 +/* 802CCA54 002C86B4 7C 7E 1B 78 */ mr r30, r3 +/* 802CCA58 002C86B8 41 82 01 00 */ beq lbl_802CCB58 +/* 802CCA5C 002C86BC 88 03 00 81 */ lbz r0, 0x81(r3) +/* 802CCA60 002C86C0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CCA64 002C86C4 41 82 00 54 */ beq lbl_802CCAB8 +/* 802CCA68 002C86C8 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CCA6C 002C86CC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CCA70 002C86D0 81 84 19 1C */ lwz r12, 0x191c(r4) +/* 802CCA74 002C86D4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CCA78 002C86D8 41 82 00 40 */ beq lbl_802CCAB8 +/* 802CCA7C 002C86DC 28 1F 00 17 */ cmplwi r31, 0x17 +/* 802CCA80 002C86E0 40 82 00 20 */ bne lbl_802CCAA0 +/* 802CCA84 002C86E4 38 83 00 22 */ addi r4, r3, 0x22 +/* 802CCA88 002C86E8 38 A3 00 35 */ addi r5, r3, 0x35 +/* 802CCA8C 002C86EC 38 C0 00 17 */ li r6, 0x17 +/* 802CCA90 002C86F0 7D 89 03 A6 */ mtctr r12 +/* 802CCA94 002C86F4 38 63 00 1C */ addi r3, r3, 0x1c +/* 802CCA98 002C86F8 4E 80 04 21 */ bctrl +/* 802CCA9C 002C86FC 48 00 00 1C */ b lbl_802CCAB8 +lbl_802CCAA0: +/* 802CCAA0 002C8700 38 83 00 22 */ addi r4, r3, 0x22 +/* 802CCAA4 002C8704 38 A3 00 35 */ addi r5, r3, 0x35 +/* 802CCAA8 002C8708 38 C0 00 05 */ li r6, 5 +/* 802CCAAC 002C870C 7D 89 03 A6 */ mtctr r12 +/* 802CCAB0 002C8710 38 63 00 1C */ addi r3, r3, 0x1c +/* 802CCAB4 002C8714 4E 80 04 21 */ bctrl +lbl_802CCAB8: +/* 802CCAB8 002C8718 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802CCABC 002C871C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802CCAC0 002C8720 80 1F 19 4C */ lwz r0, 0x194c(r31) +/* 802CCAC4 002C8724 2C 00 00 00 */ cmpwi r0, 0 +/* 802CCAC8 002C8728 41 82 00 60 */ beq lbl_802CCB28 +/* 802CCACC 002C872C 38 7F 19 54 */ addi r3, r31, 0x1954 +/* 802CCAD0 002C8730 38 9E 00 1C */ addi r4, r30, 0x1c +/* 802CCAD4 002C8734 38 A0 00 06 */ li r5, 6 +/* 802CCAD8 002C8738 4B EF D8 C1 */ bl memcmp +/* 802CCADC 002C873C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CCAE0 002C8740 40 82 00 48 */ bne lbl_802CCB28 +/* 802CCAE4 002C8744 38 7F 19 3C */ addi r3, r31, 0x193c +/* 802CCAE8 002C8748 4B FF 0A 65 */ bl func_802BD54C +/* 802CCAEC 002C874C 38 00 00 00 */ li r0, 0 +/* 802CCAF0 002C8750 38 7F 19 54 */ addi r3, r31, 0x1954 +/* 802CCAF4 002C8754 90 1F 19 4C */ stw r0, 0x194c(r31) +/* 802CCAF8 002C8758 38 80 00 FF */ li r4, 0xff +/* 802CCAFC 002C875C 38 A0 00 06 */ li r5, 6 +/* 802CCB00 002C8760 4B D3 76 05 */ bl memset +/* 802CCB04 002C8764 81 9F 19 1C */ lwz r12, 0x191c(r31) +/* 802CCB08 002C8768 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CCB0C 002C876C 41 82 00 1C */ beq lbl_802CCB28 +/* 802CCB10 002C8770 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802CCB14 002C8774 38 9E 00 22 */ addi r4, r30, 0x22 +/* 802CCB18 002C8778 38 BE 00 35 */ addi r5, r30, 0x35 +/* 802CCB1C 002C877C 38 C0 00 0E */ li r6, 0xe +/* 802CCB20 002C8780 7D 89 03 A6 */ mtctr r12 +/* 802CCB24 002C8784 4E 80 04 21 */ bctrl +lbl_802CCB28: +/* 802CCB28 002C8788 3C 80 00 01 */ lis r4, 0x0000FFFF@ha +/* 802CCB2C 002C878C 38 60 00 00 */ li r3, 0 +/* 802CCB30 002C8790 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l +/* 802CCB34 002C8794 B0 1E 00 18 */ sth r0, 0x18(r30) +/* 802CCB38 002C8798 98 7E 00 7F */ stb r3, 0x7f(r30) +/* 802CCB3C 002C879C 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802CCB40 002C87A0 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c +/* 802CCB44 002C87A4 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802CCB48 002C87A8 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CCB4C 002C87AC 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18 +/* 802CCB50 002C87B0 98 1E 00 81 */ stb r0, 0x81(r30) +/* 802CCB54 002C87B4 90 7E 00 04 */ stw r3, 4(r30) +lbl_802CCB58: +/* 802CCB58 002C87B8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CCB5C 002C87BC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CCB60 002C87C0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CCB64 002C87C4 7C 08 03 A6 */ mtlr r0 +/* 802CCB68 002C87C8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CCB6C 002C87CC 4E 80 00 20 */ blr + +.global func_802CCB70 +func_802CCB70: +/* 802CCB70 002C87D0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CCB74 002C87D4 7C 08 02 A6 */ mflr r0 +/* 802CCB78 002C87D8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CCB7C 002C87DC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CCB80 002C87E0 4B EF A5 A9 */ bl _savegpr_27 +/* 802CCB84 002C87E4 7C 7D 1B 78 */ mr r29, r3 +/* 802CCB88 002C87E8 7C 9E 23 78 */ mr r30, r4 +/* 802CCB8C 002C87EC 7C BB 2B 78 */ mr r27, r5 +/* 802CCB90 002C87F0 4B FF 8A 8D */ bl func_802C561C +/* 802CCB94 002C87F4 2C 03 00 00 */ cmpwi r3, 0 +/* 802CCB98 002C87F8 7C 7F 1B 78 */ mr r31, r3 +/* 802CCB9C 002C87FC 40 82 00 18 */ bne lbl_802CCBB4 +/* 802CCBA0 002C8800 7F A3 EB 78 */ mr r3, r29 +/* 802CCBA4 002C8804 4B FF 88 A1 */ bl func_802C5444 +/* 802CCBA8 002C8808 2C 03 00 00 */ cmpwi r3, 0 +/* 802CCBAC 002C880C 7C 7F 1B 78 */ mr r31, r3 +/* 802CCBB0 002C8810 41 82 01 54 */ beq lbl_802CCD04 +lbl_802CCBB4: +/* 802CCBB4 002C8814 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CCBB8 002C8818 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CCBBC 002C881C 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CCBC0 002C8820 28 00 00 04 */ cmplwi r0, 4 +/* 802CCBC4 002C8824 41 80 00 30 */ blt lbl_802CCBF4 +/* 802CCBC8 002C8828 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CCBCC 002C882C 3C 80 80 44 */ lis r4, lbl_80441F78@ha +/* 802CCBD0 002C8830 88 BD 00 00 */ lbz r5, 0(r29) +/* 802CCBD4 002C8834 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CCBD8 002C8838 88 DD 00 01 */ lbz r6, 1(r29) +/* 802CCBDC 002C883C 38 84 1F 78 */ addi r4, r4, lbl_80441F78@l +/* 802CCBE0 002C8840 88 FD 00 02 */ lbz r7, 2(r29) +/* 802CCBE4 002C8844 89 1D 00 03 */ lbz r8, 3(r29) +/* 802CCBE8 002C8848 89 3D 00 04 */ lbz r9, 4(r29) +/* 802CCBEC 002C884C 89 5D 00 05 */ lbz r10, 5(r29) +/* 802CCBF0 002C8850 4B FF 03 B1 */ bl func_802BCFA0 +lbl_802CCBF4: +/* 802CCBF4 002C8854 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CCBF8 002C8858 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CCBFC 002C885C 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CCC00 002C8860 28 00 00 04 */ cmplwi r0, 4 +/* 802CCC04 002C8864 41 80 00 1C */ blt lbl_802CCC20 +/* 802CCC08 002C8868 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CCC0C 002C886C 3C 80 80 44 */ lis r4, lbl_80441FBC@ha +/* 802CCC10 002C8870 7F 65 DB 78 */ mr r5, r27 +/* 802CCC14 002C8874 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CCC18 002C8878 38 84 1F BC */ addi r4, r4, lbl_80441FBC@l +/* 802CCC1C 002C887C 4B FF 03 0D */ bl func_802BCF28 +lbl_802CCC20: +/* 802CCC20 002C8880 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CCC24 002C8884 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CCC28 002C8888 88 03 06 36 */ lbz r0, 0x636(r3) +/* 802CCC2C 002C888C 28 00 00 01 */ cmplwi r0, 1 +/* 802CCC30 002C8890 40 80 00 10 */ bge lbl_802CCC40 +/* 802CCC34 002C8894 38 00 00 FF */ li r0, 0xff +/* 802CCC38 002C8898 98 1F 00 83 */ stb r0, 0x83(r31) +/* 802CCC3C 002C889C 48 00 00 08 */ b lbl_802CCC44 +lbl_802CCC40: +/* 802CCC40 002C88A0 9B 7F 00 83 */ stb r27, 0x83(r31) +lbl_802CCC44: +/* 802CCC44 002C88A4 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CCC48 002C88A8 7F C4 F3 78 */ mr r4, r30 +/* 802CCC4C 002C88AC 38 7F 00 25 */ addi r3, r31, 0x25 +/* 802CCC50 002C88B0 38 A0 00 10 */ li r5, 0x10 +/* 802CCC54 002C88B4 60 00 00 10 */ ori r0, r0, 0x10 +/* 802CCC58 002C88B8 98 1F 00 76 */ stb r0, 0x76(r31) +/* 802CCC5C 002C88BC 4B D3 73 A5 */ bl memcpy +/* 802CCC60 002C88C0 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CCC64 002C88C4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 802CCC68 002C88C8 41 82 00 1C */ beq lbl_802CCC84 +/* 802CCC6C 002C88CC 88 1F 00 81 */ lbz r0, 0x81(r31) +/* 802CCC70 002C88D0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CCC74 002C88D4 41 82 00 1C */ beq lbl_802CCC90 +/* 802CCC78 002C88D8 88 1F 00 85 */ lbz r0, 0x85(r31) +/* 802CCC7C 002C88DC 2C 00 00 00 */ cmpwi r0, 0 +/* 802CCC80 002C88E0 40 82 00 10 */ bne lbl_802CCC90 +lbl_802CCC84: +/* 802CCC84 002C88E4 38 00 00 01 */ li r0, 1 +/* 802CCC88 002C88E8 98 1F 00 82 */ stb r0, 0x82(r31) +/* 802CCC8C 002C88EC 48 00 00 78 */ b lbl_802CCD04 +lbl_802CCC90: +/* 802CCC90 002C88F0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CCC94 002C88F4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CCC98 002C88F8 81 83 19 14 */ lwz r12, 0x1914(r3) +/* 802CCC9C 002C88FC 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CCCA0 002C8900 41 82 00 20 */ beq lbl_802CCCC0 +/* 802CCCA4 002C8904 7F A3 EB 78 */ mr r3, r29 +/* 802CCCA8 002C8908 7F C6 F3 78 */ mr r6, r30 +/* 802CCCAC 002C890C 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CCCB0 002C8910 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CCCB4 002C8914 88 FF 00 83 */ lbz r7, 0x83(r31) +/* 802CCCB8 002C8918 7D 89 03 A6 */ mtctr r12 +/* 802CCCBC 002C891C 4E 80 04 21 */ bctrl +lbl_802CCCC0: +/* 802CCCC0 002C8920 3F 80 80 57 */ lis r28, lbl_80568B78@ha +/* 802CCCC4 002C8924 3B 60 00 00 */ li r27, 0 +/* 802CCCC8 002C8928 3B 9C 8B 78 */ addi r28, r28, lbl_80568B78@l +lbl_802CCCCC: +/* 802CCCCC 002C892C 81 9C 19 24 */ lwz r12, 0x1924(r28) +/* 802CCCD0 002C8930 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CCCD4 002C8934 41 82 00 20 */ beq lbl_802CCCF4 +/* 802CCCD8 002C8938 7F A3 EB 78 */ mr r3, r29 +/* 802CCCDC 002C893C 7F C6 F3 78 */ mr r6, r30 +/* 802CCCE0 002C8940 38 9F 00 22 */ addi r4, r31, 0x22 +/* 802CCCE4 002C8944 38 BF 00 35 */ addi r5, r31, 0x35 +/* 802CCCE8 002C8948 88 FF 00 83 */ lbz r7, 0x83(r31) +/* 802CCCEC 002C894C 7D 89 03 A6 */ mtctr r12 +/* 802CCCF0 002C8950 4E 80 04 21 */ bctrl +lbl_802CCCF4: +/* 802CCCF4 002C8954 3B 7B 00 01 */ addi r27, r27, 1 +/* 802CCCF8 002C8958 3B 9C 00 04 */ addi r28, r28, 4 +/* 802CCCFC 002C895C 2C 1B 00 02 */ cmpwi r27, 2 +/* 802CCD00 002C8960 41 80 FF CC */ blt lbl_802CCCCC +lbl_802CCD04: +/* 802CCD04 002C8964 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CCD08 002C8968 4B EF A4 6D */ bl _restgpr_27 +/* 802CCD0C 002C896C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CCD10 002C8970 7C 08 03 A6 */ mtlr r0 +/* 802CCD14 002C8974 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CCD18 002C8978 4E 80 00 20 */ blr + +.global func_802CCD1C +func_802CCD1C: +/* 802CCD1C 002C897C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CCD20 002C8980 7C 08 02 A6 */ mflr r0 +/* 802CCD24 002C8984 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CCD28 002C8988 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CCD2C 002C898C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CCD30 002C8990 7C 7E 1B 78 */ mr r30, r3 +/* 802CCD34 002C8994 4B FF 88 E9 */ bl func_802C561C +/* 802CCD38 002C8998 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CCD3C 002C899C 7C 7F 1B 78 */ mr r31, r3 +/* 802CCD40 002C89A0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CCD44 002C89A4 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CCD48 002C89A8 28 00 00 04 */ cmplwi r0, 4 +/* 802CCD4C 002C89AC 41 80 00 30 */ blt lbl_802CCD7C +/* 802CCD50 002C89B0 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CCD54 002C89B4 3C 80 80 44 */ lis r4, lbl_80441FE8@ha +/* 802CCD58 002C89B8 88 BE 00 00 */ lbz r5, 0(r30) +/* 802CCD5C 002C89BC 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CCD60 002C89C0 88 DE 00 01 */ lbz r6, 1(r30) +/* 802CCD64 002C89C4 38 84 1F E8 */ addi r4, r4, lbl_80441FE8@l +/* 802CCD68 002C89C8 88 FE 00 02 */ lbz r7, 2(r30) +/* 802CCD6C 002C89CC 89 1E 00 03 */ lbz r8, 3(r30) +/* 802CCD70 002C89D0 89 3E 00 04 */ lbz r9, 4(r30) +/* 802CCD74 002C89D4 89 5E 00 05 */ lbz r10, 5(r30) +/* 802CCD78 002C89D8 4B FF 02 29 */ bl func_802BCFA0 +lbl_802CCD7C: +/* 802CCD7C 002C89DC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CCD80 002C89E0 41 82 00 20 */ beq lbl_802CCDA0 +/* 802CCD84 002C89E4 88 1F 00 76 */ lbz r0, 0x76(r31) +/* 802CCD88 002C89E8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 802CCD8C 002C89EC 41 82 00 14 */ beq lbl_802CCDA0 +/* 802CCD90 002C89F0 7F C3 F3 78 */ mr r3, r30 +/* 802CCD94 002C89F4 38 9F 00 25 */ addi r4, r31, 0x25 +/* 802CCD98 002C89F8 48 00 34 C9 */ bl func_802D0260 +/* 802CCD9C 002C89FC 48 00 00 98 */ b lbl_802CCE34 +lbl_802CCDA0: +/* 802CCDA0 002C8A00 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CCDA4 002C8A04 40 82 00 10 */ bne lbl_802CCDB4 +/* 802CCDA8 002C8A08 7F C3 F3 78 */ mr r3, r30 +/* 802CCDAC 002C8A0C 4B FF 86 99 */ bl func_802C5444 +/* 802CCDB0 002C8A10 7C 7F 1B 78 */ mr r31, r3 +lbl_802CCDB4: +/* 802CCDB4 002C8A14 88 1F 00 81 */ lbz r0, 0x81(r31) +/* 802CCDB8 002C8A18 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CCDBC 002C8A1C 40 82 00 70 */ bne lbl_802CCE2C +/* 802CCDC0 002C8A20 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CCDC4 002C8A24 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CCDC8 002C8A28 81 83 19 18 */ lwz r12, 0x1918(r3) +/* 802CCDCC 002C8A2C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CCDD0 002C8A30 41 82 00 5C */ beq lbl_802CCE2C +/* 802CCDD4 002C8A34 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CCDD8 002C8A38 41 82 00 2C */ beq lbl_802CCE04 +/* 802CCDDC 002C8A3C 7F C3 F3 78 */ mr r3, r30 +/* 802CCDE0 002C8A40 38 9F 00 25 */ addi r4, r31, 0x25 +/* 802CCDE4 002C8A44 7D 89 03 A6 */ mtctr r12 +/* 802CCDE8 002C8A48 4E 80 04 21 */ bctrl +/* 802CCDEC 002C8A4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CCDF0 002C8A50 40 82 00 3C */ bne lbl_802CCE2C +/* 802CCDF4 002C8A54 7F C3 F3 78 */ mr r3, r30 +/* 802CCDF8 002C8A58 38 9F 00 25 */ addi r4, r31, 0x25 +/* 802CCDFC 002C8A5C 48 00 34 65 */ bl func_802D0260 +/* 802CCE00 002C8A60 48 00 00 34 */ b lbl_802CCE34 +lbl_802CCE04: +/* 802CCE04 002C8A64 7F C3 F3 78 */ mr r3, r30 +/* 802CCE08 002C8A68 38 81 00 08 */ addi r4, r1, 8 +/* 802CCE0C 002C8A6C 7D 89 03 A6 */ mtctr r12 +/* 802CCE10 002C8A70 4E 80 04 21 */ bctrl +/* 802CCE14 002C8A74 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CCE18 002C8A78 40 82 00 14 */ bne lbl_802CCE2C +/* 802CCE1C 002C8A7C 7F C3 F3 78 */ mr r3, r30 +/* 802CCE20 002C8A80 38 81 00 08 */ addi r4, r1, 8 +/* 802CCE24 002C8A84 48 00 34 3D */ bl func_802D0260 +/* 802CCE28 002C8A88 48 00 00 0C */ b lbl_802CCE34 +lbl_802CCE2C: +/* 802CCE2C 002C8A8C 7F C3 F3 78 */ mr r3, r30 +/* 802CCE30 002C8A90 48 00 35 D1 */ bl func_802D0400 +lbl_802CCE34: +/* 802CCE34 002C8A94 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CCE38 002C8A98 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CCE3C 002C8A9C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CCE40 002C8AA0 7C 08 03 A6 */ mtlr r0 +/* 802CCE44 002C8AA4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CCE48 002C8AA8 4E 80 00 20 */ blr +lbl_802CCE4C: +/* 802CCE4C 002C8AAC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CCE50 002C8AB0 7C 08 02 A6 */ mflr r0 +/* 802CCE54 002C8AB4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CCE58 002C8AB8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CCE5C 002C8ABC 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802CCE60 002C8AC0 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802CCE64 002C8AC4 88 1F 27 C0 */ lbz r0, 0x27c0(r31) +/* 802CCE68 002C8AC8 28 00 00 04 */ cmplwi r0, 4 +/* 802CCE6C 002C8ACC 41 80 00 18 */ blt lbl_802CCE84 +/* 802CCE70 002C8AD0 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CCE74 002C8AD4 3C 80 80 44 */ lis r4, lbl_80442028@ha +/* 802CCE78 002C8AD8 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CCE7C 002C8ADC 38 84 20 28 */ addi r4, r4, lbl_80442028@l +/* 802CCE80 002C8AE0 4B FF 00 91 */ bl func_802BCF10 +lbl_802CCE84: +/* 802CCE84 002C8AE4 38 00 00 00 */ li r0, 0 +/* 802CCE88 002C8AE8 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CCE8C 002C8AEC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CCE90 002C8AF0 90 1F 19 4C */ stw r0, 0x194c(r31) +/* 802CCE94 002C8AF4 38 63 19 54 */ addi r3, r3, 0x1954 +/* 802CCE98 002C8AF8 38 80 00 FF */ li r4, 0xff +/* 802CCE9C 002C8AFC 38 A0 00 06 */ li r5, 6 +/* 802CCEA0 002C8B00 4B D3 72 65 */ bl memset +/* 802CCEA4 002C8B04 38 7F 27 B4 */ addi r3, r31, 0x27b4 +/* 802CCEA8 002C8B08 48 00 37 DD */ bl func_802D0684 +/* 802CCEAC 002C8B0C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CCEB0 002C8B10 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CCEB4 002C8B14 7C 08 03 A6 */ mtlr r0 +/* 802CCEB8 002C8B18 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CCEBC 002C8B1C 4E 80 00 20 */ blr + +.global func_802CCEC0 +func_802CCEC0: +/* 802CCEC0 002C8B20 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CCEC4 002C8B24 7C 08 02 A6 */ mflr r0 +/* 802CCEC8 002C8B28 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CCECC 002C8B2C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CCED0 002C8B30 4B EF A2 59 */ bl _savegpr_27 +/* 802CCED4 002C8B34 3F A0 80 57 */ lis r29, lbl_80568B78@ha +/* 802CCED8 002C8B38 3F E0 80 44 */ lis r31, lbl_80441890@ha +/* 802CCEDC 002C8B3C 3B BD 8B 78 */ addi r29, r29, lbl_80568B78@l +/* 802CCEE0 002C8B40 7C 7B 1B 78 */ mr r27, r3 +/* 802CCEE4 002C8B44 88 1D 27 C0 */ lbz r0, 0x27c0(r29) +/* 802CCEE8 002C8B48 3B FF 18 90 */ addi r31, r31, lbl_80441890@l +/* 802CCEEC 002C8B4C 3B 80 00 00 */ li r28, 0 +/* 802CCEF0 002C8B50 3B C0 00 00 */ li r30, 0 +/* 802CCEF4 002C8B54 28 00 00 04 */ cmplwi r0, 4 +/* 802CCEF8 002C8B58 41 80 00 2C */ blt lbl_802CCF24 +/* 802CCEFC 002C8B5C 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CCF00 002C8B60 88 BB 00 00 */ lbz r5, 0(r27) +/* 802CCF04 002C8B64 88 DB 00 01 */ lbz r6, 1(r27) +/* 802CCF08 002C8B68 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CCF0C 002C8B6C 88 FB 00 02 */ lbz r7, 2(r27) +/* 802CCF10 002C8B70 38 9F 07 BC */ addi r4, r31, 0x7bc +/* 802CCF14 002C8B74 89 1B 00 03 */ lbz r8, 3(r27) +/* 802CCF18 002C8B78 89 3B 00 04 */ lbz r9, 4(r27) +/* 802CCF1C 002C8B7C 89 5B 00 05 */ lbz r10, 5(r27) +/* 802CCF20 002C8B80 4B FF 00 81 */ bl func_802BCFA0 +lbl_802CCF24: +/* 802CCF24 002C8B84 88 1D 19 79 */ lbz r0, 0x1979(r29) +/* 802CCF28 002C8B88 2C 00 00 00 */ cmpwi r0, 0 +/* 802CCF2C 002C8B8C 40 82 00 E4 */ bne lbl_802CD010 +/* 802CCF30 002C8B90 88 1D 00 20 */ lbz r0, 0x20(r29) +/* 802CCF34 002C8B94 28 00 00 01 */ cmplwi r0, 1 +/* 802CCF38 002C8B98 40 82 00 D8 */ bne lbl_802CD010 +/* 802CCF3C 002C8B9C 7F 63 DB 78 */ mr r3, r27 +/* 802CCF40 002C8BA0 4B FF 86 DD */ bl func_802C561C +/* 802CCF44 002C8BA4 2C 03 00 00 */ cmpwi r3, 0 +/* 802CCF48 002C8BA8 40 82 00 A0 */ bne lbl_802CCFE8 +/* 802CCF4C 002C8BAC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CCF50 002C8BB0 38 00 00 02 */ li r0, 2 +/* 802CCF54 002C8BB4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CCF58 002C8BB8 38 63 1F 30 */ addi r3, r3, 0x1f30 +/* 802CCF5C 002C8BBC 7C 09 03 A6 */ mtctr r0 +lbl_802CCF60: +/* 802CCF60 002C8BC0 88 03 00 76 */ lbz r0, 0x76(r3) +/* 802CCF64 002C8BC4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCF68 002C8BC8 41 82 00 80 */ beq lbl_802CCFE8 +/* 802CCF6C 002C8BCC 88 03 00 FE */ lbz r0, 0xfe(r3) +/* 802CCF70 002C8BD0 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCF74 002C8BD4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCF78 002C8BD8 41 82 00 70 */ beq lbl_802CCFE8 +/* 802CCF7C 002C8BDC 88 03 01 86 */ lbz r0, 0x186(r3) +/* 802CCF80 002C8BE0 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCF84 002C8BE4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCF88 002C8BE8 41 82 00 60 */ beq lbl_802CCFE8 +/* 802CCF8C 002C8BEC 88 03 02 0E */ lbz r0, 0x20e(r3) +/* 802CCF90 002C8BF0 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCF94 002C8BF4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCF98 002C8BF8 41 82 00 50 */ beq lbl_802CCFE8 +/* 802CCF9C 002C8BFC 88 03 02 96 */ lbz r0, 0x296(r3) +/* 802CCFA0 002C8C00 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCFA4 002C8C04 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCFA8 002C8C08 41 82 00 40 */ beq lbl_802CCFE8 +/* 802CCFAC 002C8C0C 88 03 03 1E */ lbz r0, 0x31e(r3) +/* 802CCFB0 002C8C10 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCFB4 002C8C14 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCFB8 002C8C18 41 82 00 30 */ beq lbl_802CCFE8 +/* 802CCFBC 002C8C1C 88 03 03 A6 */ lbz r0, 0x3a6(r3) +/* 802CCFC0 002C8C20 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCFC4 002C8C24 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCFC8 002C8C28 41 82 00 20 */ beq lbl_802CCFE8 +/* 802CCFCC 002C8C2C 88 03 04 2E */ lbz r0, 0x42e(r3) +/* 802CCFD0 002C8C30 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCFD4 002C8C34 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CCFD8 002C8C38 41 82 00 10 */ beq lbl_802CCFE8 +/* 802CCFDC 002C8C3C 3B DE 00 01 */ addi r30, r30, 1 +/* 802CCFE0 002C8C40 38 63 04 40 */ addi r3, r3, 0x440 +/* 802CCFE4 002C8C44 42 00 FF 7C */ bdnz lbl_802CCF60 +lbl_802CCFE8: +/* 802CCFE8 002C8C48 2C 1E 00 10 */ cmpwi r30, 0x10 +/* 802CCFEC 002C8C4C 41 80 00 10 */ blt lbl_802CCFFC +/* 802CCFF0 002C8C50 7F 63 DB 78 */ mr r3, r27 +/* 802CCFF4 002C8C54 48 00 36 91 */ bl func_802D0684 +/* 802CCFF8 002C8C58 48 00 02 0C */ b lbl_802CD204 +lbl_802CCFFC: +/* 802CCFFC 002C8C5C 88 9D 00 21 */ lbz r4, 0x21(r29) +/* 802CD000 002C8C60 7F 63 DB 78 */ mr r3, r27 +/* 802CD004 002C8C64 38 BD 00 22 */ addi r5, r29, 0x22 +/* 802CD008 002C8C68 48 00 34 99 */ bl func_802D04A0 +/* 802CD00C 002C8C6C 48 00 01 F8 */ b lbl_802CD204 +lbl_802CD010: +/* 802CD010 002C8C70 7F 63 DB 78 */ mr r3, r27 +/* 802CD014 002C8C74 4B FF 86 09 */ bl func_802C561C +/* 802CD018 002C8C78 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD01C 002C8C7C 7C 7E 1B 78 */ mr r30, r3 +/* 802CD020 002C8C80 40 82 00 10 */ bne lbl_802CD030 +/* 802CD024 002C8C84 7F 63 DB 78 */ mr r3, r27 +/* 802CD028 002C8C88 4B FF 84 1D */ bl func_802C5444 +/* 802CD02C 002C8C8C 7C 7E 1B 78 */ mr r30, r3 +lbl_802CD030: +/* 802CD030 002C8C90 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD034 002C8C94 7F 64 DB 78 */ mr r4, r27 +/* 802CD038 002C8C98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD03C 002C8C9C 38 A0 00 06 */ li r5, 6 +/* 802CD040 002C8CA0 38 63 19 54 */ addi r3, r3, 0x1954 +/* 802CD044 002C8CA4 4B D3 6F BD */ bl memcpy +/* 802CD048 002C8CA8 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CD04C 002C8CAC 41 82 01 74 */ beq lbl_802CD1C0 +/* 802CD050 002C8CB0 7F 63 DB 78 */ mr r3, r27 +/* 802CD054 002C8CB4 38 9D 27 B4 */ addi r4, r29, 0x27b4 +/* 802CD058 002C8CB8 38 A0 00 06 */ li r5, 6 +/* 802CD05C 002C8CBC 4B EF D3 3D */ bl memcmp +/* 802CD060 002C8CC0 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD064 002C8CC4 40 82 00 14 */ bne lbl_802CD078 +/* 802CD068 002C8CC8 38 7E 00 22 */ addi r3, r30, 0x22 +/* 802CD06C 002C8CCC 38 9D 27 BA */ addi r4, r29, 0x27ba +/* 802CD070 002C8CD0 38 A0 00 03 */ li r5, 3 +/* 802CD074 002C8CD4 4B D3 6F 8D */ bl memcpy +lbl_802CD078: +/* 802CD078 002C8CD8 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD07C 002C8CDC 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CD080 002C8CE0 41 82 00 A0 */ beq lbl_802CD120 +/* 802CD084 002C8CE4 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD088 002C8CE8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD08C 002C8CEC 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD090 002C8CF0 28 00 00 04 */ cmplwi r0, 4 +/* 802CD094 002C8CF4 41 80 00 14 */ blt lbl_802CD0A8 +/* 802CD098 002C8CF8 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD09C 002C8CFC 38 9F 07 FC */ addi r4, r31, 0x7fc +/* 802CD0A0 002C8D00 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD0A4 002C8D04 4B FE FE 6D */ bl func_802BCF10 +lbl_802CD0A8: +/* 802CD0A8 002C8D08 88 9D 19 7F */ lbz r4, 0x197f(r29) +/* 802CD0AC 002C8D0C 7F 63 DB 78 */ mr r3, r27 +/* 802CD0B0 002C8D10 38 BD 19 80 */ addi r5, r29, 0x1980 +/* 802CD0B4 002C8D14 48 00 33 ED */ bl func_802D04A0 +/* 802CD0B8 002C8D18 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CD0BC 002C8D1C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CD0C0 002C8D20 88 04 19 7B */ lbz r0, 0x197b(r4) +/* 802CD0C4 002C8D24 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD0C8 002C8D28 41 82 00 FC */ beq lbl_802CD1C4 +/* 802CD0CC 002C8D2C 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CD0D0 002C8D30 38 60 00 00 */ li r3, 0 +/* 802CD0D4 002C8D34 98 64 19 7B */ stb r3, 0x197b(r4) +/* 802CD0D8 002C8D38 28 00 00 05 */ cmplwi r0, 5 +/* 802CD0DC 002C8D3C 41 80 00 24 */ blt lbl_802CD100 +/* 802CD0E0 002C8D40 88 A4 19 78 */ lbz r5, 0x1978(r4) +/* 802CD0E4 002C8D44 3C 60 00 0D */ lis r3, 0x000D0004@ha +/* 802CD0E8 002C8D48 38 63 00 04 */ addi r3, r3, 0x000D0004@l +/* 802CD0EC 002C8D4C 38 9F 08 2C */ addi r4, r31, 0x82c +/* 802CD0F0 002C8D50 38 05 FF FD */ addi r0, r5, -3 +/* 802CD0F4 002C8D54 7C 00 00 34 */ cntlzw r0, r0 +/* 802CD0F8 002C8D58 54 05 D9 7E */ srwi r5, r0, 5 +/* 802CD0FC 002C8D5C 4B FE FE 2D */ bl func_802BCF28 +lbl_802CD100: +/* 802CD100 002C8D60 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD104 002C8D64 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD108 002C8D68 88 63 19 78 */ lbz r3, 0x1978(r3) +/* 802CD10C 002C8D6C 38 03 FF FD */ addi r0, r3, -3 +/* 802CD110 002C8D70 7C 00 00 34 */ cntlzw r0, r0 +/* 802CD114 002C8D74 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +/* 802CD118 002C8D78 48 00 48 E1 */ bl func_802D19F8 +/* 802CD11C 002C8D7C 48 00 00 A8 */ b lbl_802CD1C4 +lbl_802CD120: +/* 802CD120 002C8D80 88 1D 19 79 */ lbz r0, 0x1979(r29) +/* 802CD124 002C8D84 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD128 002C8D88 40 82 00 38 */ bne lbl_802CD160 +/* 802CD12C 002C8D8C 80 1D 19 10 */ lwz r0, 0x1910(r29) +/* 802CD130 002C8D90 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD134 002C8D94 41 82 00 2C */ beq lbl_802CD160 +/* 802CD138 002C8D98 88 1E 00 80 */ lbz r0, 0x80(r30) +/* 802CD13C 002C8D9C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD140 002C8DA0 40 82 00 28 */ bne lbl_802CD168 +/* 802CD144 002C8DA4 88 1E 00 23 */ lbz r0, 0x23(r30) +/* 802CD148 002C8DA8 54 00 06 FE */ clrlwi r0, r0, 0x1b +/* 802CD14C 002C8DAC 2C 00 00 05 */ cmpwi r0, 5 +/* 802CD150 002C8DB0 40 82 00 18 */ bne lbl_802CD168 +/* 802CD154 002C8DB4 88 1E 00 24 */ lbz r0, 0x24(r30) +/* 802CD158 002C8DB8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 802CD15C 002C8DBC 41 82 00 0C */ beq lbl_802CD168 +lbl_802CD160: +/* 802CD160 002C8DC0 3B 80 00 01 */ li r28, 1 +/* 802CD164 002C8DC4 48 00 00 60 */ b lbl_802CD1C4 +lbl_802CD168: +/* 802CD168 002C8DC8 7F 64 DB 78 */ mr r4, r27 +/* 802CD16C 002C8DCC 38 7D 27 B4 */ addi r3, r29, 0x27b4 +/* 802CD170 002C8DD0 38 A0 00 06 */ li r5, 6 +/* 802CD174 002C8DD4 4B D3 6E 8D */ bl memcpy +/* 802CD178 002C8DD8 38 7D 27 BA */ addi r3, r29, 0x27ba +/* 802CD17C 002C8DDC 38 9E 00 22 */ addi r4, r30, 0x22 +/* 802CD180 002C8DE0 38 A0 00 03 */ li r5, 3 +/* 802CD184 002C8DE4 4B D3 6E 7D */ bl memcpy +/* 802CD188 002C8DE8 3C A0 80 2D */ lis r5, lbl_802CCE4C@ha +/* 802CD18C 002C8DEC 38 7D 19 3C */ addi r3, r29, 0x193c +/* 802CD190 002C8DF0 38 A5 CE 4C */ addi r5, r5, lbl_802CCE4C@l +/* 802CD194 002C8DF4 38 80 00 16 */ li r4, 0x16 +/* 802CD198 002C8DF8 90 BD 19 4C */ stw r5, 0x194c(r29) +/* 802CD19C 002C8DFC 38 A0 00 3C */ li r5, 0x3c +/* 802CD1A0 002C8E00 4B FF 03 3D */ bl func_802BD4DC +/* 802CD1A4 002C8E04 81 9D 19 10 */ lwz r12, 0x1910(r29) +/* 802CD1A8 002C8E08 7F 63 DB 78 */ mr r3, r27 +/* 802CD1AC 002C8E0C 38 9E 00 22 */ addi r4, r30, 0x22 +/* 802CD1B0 002C8E10 38 BE 00 35 */ addi r5, r30, 0x35 +/* 802CD1B4 002C8E14 7D 89 03 A6 */ mtctr r12 +/* 802CD1B8 002C8E18 4E 80 04 21 */ bctrl +/* 802CD1BC 002C8E1C 48 00 00 08 */ b lbl_802CD1C4 +lbl_802CD1C0: +/* 802CD1C0 002C8E20 3B 80 00 01 */ li r28, 1 +lbl_802CD1C4: +/* 802CD1C4 002C8E24 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CD1C8 002C8E28 41 82 00 3C */ beq lbl_802CD204 +/* 802CD1CC 002C8E2C 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD1D0 002C8E30 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD1D4 002C8E34 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD1D8 002C8E38 28 00 00 02 */ cmplwi r0, 2 +/* 802CD1DC 002C8E3C 41 80 00 20 */ blt lbl_802CD1FC +/* 802CD1E0 002C8E40 3C 60 00 0D */ lis r3, 0x000D0001@ha +/* 802CD1E4 002C8E44 88 BD 19 79 */ lbz r5, 0x1979(r29) +/* 802CD1E8 002C8E48 80 DD 19 10 */ lwz r6, 0x1910(r29) +/* 802CD1EC 002C8E4C 7F C7 F3 78 */ mr r7, r30 +/* 802CD1F0 002C8E50 38 63 00 01 */ addi r3, r3, 0x000D0001@l +/* 802CD1F4 002C8E54 38 9F 08 5C */ addi r4, r31, 0x85c +/* 802CD1F8 002C8E58 4B FE FD 61 */ bl func_802BCF58 +lbl_802CD1FC: +/* 802CD1FC 002C8E5C 7F 63 DB 78 */ mr r3, r27 +/* 802CD200 002C8E60 48 00 34 85 */ bl func_802D0684 +lbl_802CD204: +/* 802CD204 002C8E64 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CD208 002C8E68 4B EF 9F 6D */ bl _restgpr_27 +/* 802CD20C 002C8E6C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CD210 002C8E70 7C 08 03 A6 */ mtlr r0 +/* 802CD214 002C8E74 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CD218 002C8E78 4E 80 00 20 */ blr + +.global func_802CD21C +func_802CD21C: +/* 802CD21C 002C8E7C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CD220 002C8E80 7C 08 02 A6 */ mflr r0 +/* 802CD224 002C8E84 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CD228 002C8E88 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CD22C 002C8E8C 7C 9F 23 78 */ mr r31, r4 +/* 802CD230 002C8E90 4B FF 83 35 */ bl func_802C5564 +/* 802CD234 002C8E94 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD238 002C8E98 41 82 00 20 */ beq lbl_802CD258 +/* 802CD23C 002C8E9C 63 FF 80 00 */ ori r31, r31, 0x8000 +/* 802CD240 002C8EA0 B3 E3 00 1A */ sth r31, 0x1a(r3) +/* 802CD244 002C8EA4 38 63 00 1C */ addi r3, r3, 0x1c +/* 802CD248 002C8EA8 4B FF AA E1 */ bl func_802C7D28 +/* 802CD24C 002C8EAC 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD250 002C8EB0 41 82 00 08 */ beq lbl_802CD258 +/* 802CD254 002C8EB4 B3 E3 00 00 */ sth r31, 0(r3) +lbl_802CD258: +/* 802CD258 002C8EB8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CD25C 002C8EBC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CD260 002C8EC0 7C 08 03 A6 */ mtlr r0 +/* 802CD264 002C8EC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CD268 002C8EC8 4E 80 00 20 */ blr + +.global func_802CD26C +func_802CD26C: +/* 802CD26C 002C8ECC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CD270 002C8ED0 7C 08 02 A6 */ mflr r0 +/* 802CD274 002C8ED4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CD278 002C8ED8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CD27C 002C8EDC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CD280 002C8EE0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CD284 002C8EE4 3F E0 80 44 */ lis r31, lbl_80441890@ha +/* 802CD288 002C8EE8 3B FF 18 90 */ addi r31, r31, lbl_80441890@l +/* 802CD28C 002C8EEC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CD290 002C8EF0 7C 7E 1B 78 */ mr r30, r3 +/* 802CD294 002C8EF4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CD298 002C8EF8 88 04 27 C0 */ lbz r0, 0x27c0(r4) +/* 802CD29C 002C8EFC 28 00 00 04 */ cmplwi r0, 4 +/* 802CD2A0 002C8F00 41 80 00 20 */ blt lbl_802CD2C0 +/* 802CD2A4 002C8F04 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD2A8 002C8F08 88 BE 00 81 */ lbz r5, 0x81(r30) +/* 802CD2AC 002C8F0C 88 DE 00 76 */ lbz r6, 0x76(r30) +/* 802CD2B0 002C8F10 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD2B4 002C8F14 88 FE 00 7F */ lbz r7, 0x7f(r30) +/* 802CD2B8 002C8F18 38 9F 08 AC */ addi r4, r31, 0x8ac +/* 802CD2BC 002C8F1C 4B FE FC 9D */ bl func_802BCF58 +lbl_802CD2C0: +/* 802CD2C0 002C8F20 88 1E 00 7F */ lbz r0, 0x7f(r30) +/* 802CD2C4 002C8F24 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD2C8 002C8F28 41 82 00 0C */ beq lbl_802CD2D4 +/* 802CD2CC 002C8F2C 38 60 00 01 */ li r3, 1 +/* 802CD2D0 002C8F30 48 00 03 60 */ b lbl_802CD630 +lbl_802CD2D4: +/* 802CD2D4 002C8F34 A0 1E 00 18 */ lhz r0, 0x18(r30) +/* 802CD2D8 002C8F38 28 80 FF FF */ cmplwi cr1, r0, 0xffff +/* 802CD2DC 002C8F3C 40 86 00 60 */ bne cr1, lbl_802CD33C +/* 802CD2E0 002C8F40 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802CD2E4 002C8F44 48 00 C7 B1 */ bl func_802D9A94 +/* 802CD2E8 002C8F48 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD2EC 002C8F4C 40 82 00 2C */ bne lbl_802CD318 +/* 802CD2F0 002C8F50 3C 60 80 57 */ lis r3, lbl_8056BC40@ha +/* 802CD2F4 002C8F54 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) +/* 802CD2F8 002C8F58 28 00 00 02 */ cmplwi r0, 2 +/* 802CD2FC 002C8F5C 41 80 00 14 */ blt lbl_802CD310 +/* 802CD300 002C8F60 3C 60 00 08 */ lis r3, 0x00080001@ha +/* 802CD304 002C8F64 38 9F 08 EC */ addi r4, r31, 0x8ec +/* 802CD308 002C8F68 38 63 00 01 */ addi r3, r3, 0x00080001@l +/* 802CD30C 002C8F6C 4B FE FC 05 */ bl func_802BCF10 +lbl_802CD310: +/* 802CD310 002C8F70 38 60 00 03 */ li r3, 3 +/* 802CD314 002C8F74 48 00 03 1C */ b lbl_802CD630 +lbl_802CD318: +/* 802CD318 002C8F78 48 00 E2 E1 */ bl func_802DB5F8 +/* 802CD31C 002C8F7C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CD320 002C8F80 40 82 00 0C */ bne lbl_802CD32C +/* 802CD324 002C8F84 38 60 00 03 */ li r3, 3 +/* 802CD328 002C8F88 48 00 03 08 */ b lbl_802CD630 +lbl_802CD32C: +/* 802CD32C 002C8F8C 38 00 00 01 */ li r0, 1 +/* 802CD330 002C8F90 38 60 00 01 */ li r3, 1 +/* 802CD334 002C8F94 98 1E 00 80 */ stb r0, 0x80(r30) +/* 802CD338 002C8F98 48 00 02 F8 */ b lbl_802CD630 +lbl_802CD33C: +/* 802CD33C 002C8F9C 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802CD340 002C8FA0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 802CD344 002C8FA4 40 82 00 88 */ bne lbl_802CD3CC +/* 802CD348 002C8FA8 41 86 00 84 */ beq cr1, lbl_802CD3CC +/* 802CD34C 002C8FAC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD350 002C8FB0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD354 002C8FB4 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD358 002C8FB8 28 00 00 04 */ cmplwi r0, 4 +/* 802CD35C 002C8FBC 41 80 00 14 */ blt lbl_802CD370 +/* 802CD360 002C8FC0 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD364 002C8FC4 38 9F 09 10 */ addi r4, r31, 0x910 +/* 802CD368 002C8FC8 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD36C 002C8FCC 4B FE FB A5 */ bl func_802BCF10 +lbl_802CD370: +/* 802CD370 002C8FD0 8B BE 00 7F */ lbz r29, 0x7f(r30) +/* 802CD374 002C8FD4 38 00 00 03 */ li r0, 3 +/* 802CD378 002C8FD8 38 7E 00 1C */ addi r3, r30, 0x1c +/* 802CD37C 002C8FDC 38 80 00 00 */ li r4, 0 +/* 802CD380 002C8FE0 98 1E 00 7F */ stb r0, 0x7f(r30) +/* 802CD384 002C8FE4 38 A0 00 02 */ li r5, 2 +/* 802CD388 002C8FE8 38 C0 00 1E */ li r6, 0x1e +/* 802CD38C 002C8FEC 38 E0 00 00 */ li r7, 0 +/* 802CD390 002C8FF0 4B FF B7 19 */ bl func_802C8AA8 +/* 802CD394 002C8FF4 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CD398 002C8FF8 28 00 00 01 */ cmplwi r0, 1 +/* 802CD39C 002C8FFC 41 82 00 10 */ beq lbl_802CD3AC +/* 802CD3A0 002C9000 9B BE 00 7F */ stb r29, 0x7f(r30) +/* 802CD3A4 002C9004 38 00 00 00 */ li r0, 0 +/* 802CD3A8 002C9008 48 00 00 08 */ b lbl_802CD3B0 +lbl_802CD3AC: +/* 802CD3AC 002C900C 38 00 00 01 */ li r0, 1 +lbl_802CD3B0: +/* 802CD3B0 002C9010 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD3B4 002C9014 41 82 00 0C */ beq lbl_802CD3C0 +/* 802CD3B8 002C9018 38 60 00 01 */ li r3, 1 +/* 802CD3BC 002C901C 48 00 02 74 */ b lbl_802CD630 +lbl_802CD3C0: +/* 802CD3C0 002C9020 88 1E 00 76 */ lbz r0, 0x76(r30) +/* 802CD3C4 002C9024 60 00 00 08 */ ori r0, r0, 8 +/* 802CD3C8 002C9028 98 1E 00 76 */ stb r0, 0x76(r30) +lbl_802CD3CC: +/* 802CD3CC 002C902C 88 9E 00 76 */ lbz r4, 0x76(r30) +/* 802CD3D0 002C9030 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e +/* 802CD3D4 002C9034 40 82 00 88 */ bne lbl_802CD45C +/* 802CD3D8 002C9038 88 7E 00 80 */ lbz r3, 0x80(r30) +/* 802CD3DC 002C903C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD3E0 002C9040 41 82 00 10 */ beq lbl_802CD3F0 +/* 802CD3E4 002C9044 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD3E8 002C9048 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 802CD3EC 002C904C 40 82 00 18 */ bne lbl_802CD404 +lbl_802CD3F0: +/* 802CD3F0 002C9050 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD3F4 002C9054 40 82 00 68 */ bne lbl_802CD45C +/* 802CD3F8 002C9058 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD3FC 002C905C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 802CD400 002C9060 41 82 00 5C */ beq lbl_802CD45C +lbl_802CD404: +/* 802CD404 002C9064 A0 1E 00 18 */ lhz r0, 0x18(r30) +/* 802CD408 002C9068 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CD40C 002C906C 41 82 00 50 */ beq lbl_802CD45C +/* 802CD410 002C9070 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD414 002C9074 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD418 002C9078 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD41C 002C907C 28 00 00 04 */ cmplwi r0, 4 +/* 802CD420 002C9080 41 80 00 14 */ blt lbl_802CD434 +/* 802CD424 002C9084 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD428 002C9088 38 9F 09 34 */ addi r4, r31, 0x934 +/* 802CD42C 002C908C 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD430 002C9090 4B FE FA E1 */ bl func_802BCF10 +lbl_802CD434: +/* 802CD434 002C9094 38 00 00 01 */ li r0, 1 +/* 802CD438 002C9098 A0 7E 00 18 */ lhz r3, 0x18(r30) +/* 802CD43C 002C909C 98 1E 00 7F */ stb r0, 0x7f(r30) +/* 802CD440 002C90A0 48 00 33 75 */ bl func_802D07B4 +/* 802CD444 002C90A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CD448 002C90A8 40 82 00 0C */ bne lbl_802CD454 +/* 802CD44C 002C90AC 38 60 00 03 */ li r3, 3 +/* 802CD450 002C90B0 48 00 01 E0 */ b lbl_802CD630 +lbl_802CD454: +/* 802CD454 002C90B4 38 60 00 01 */ li r3, 1 +/* 802CD458 002C90B8 48 00 01 D8 */ b lbl_802CD630 +lbl_802CD45C: +/* 802CD45C 002C90BC 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d +/* 802CD460 002C90C0 40 82 00 A0 */ bne lbl_802CD500 +/* 802CD464 002C90C4 88 7E 00 80 */ lbz r3, 0x80(r30) +/* 802CD468 002C90C8 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD46C 002C90CC 41 82 00 10 */ beq lbl_802CD47C +/* 802CD470 002C90D0 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD474 002C90D4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a +/* 802CD478 002C90D8 40 82 00 18 */ bne lbl_802CD490 +lbl_802CD47C: +/* 802CD47C 002C90DC 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD480 002C90E0 40 82 00 80 */ bne lbl_802CD500 +/* 802CD484 002C90E4 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD488 002C90E8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 802CD48C 002C90EC 41 82 00 74 */ beq lbl_802CD500 +lbl_802CD490: +/* 802CD490 002C90F0 A0 1E 00 18 */ lhz r0, 0x18(r30) +/* 802CD494 002C90F4 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CD498 002C90F8 41 82 00 68 */ beq lbl_802CD500 +/* 802CD49C 002C90FC 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD4A0 002C9100 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD4A4 002C9104 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD4A8 002C9108 28 00 00 04 */ cmplwi r0, 4 +/* 802CD4AC 002C910C 41 80 00 14 */ blt lbl_802CD4C0 +/* 802CD4B0 002C9110 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD4B4 002C9114 38 9F 09 5C */ addi r4, r31, 0x95c +/* 802CD4B8 002C9118 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD4BC 002C911C 4B FE FA 55 */ bl func_802BCF10 +lbl_802CD4C0: +/* 802CD4C0 002C9120 A0 7E 00 18 */ lhz r3, 0x18(r30) +/* 802CD4C4 002C9124 38 80 00 01 */ li r4, 1 +/* 802CD4C8 002C9128 48 00 33 69 */ bl func_802D0830 +/* 802CD4CC 002C912C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CD4D0 002C9130 40 82 00 0C */ bne lbl_802CD4DC +/* 802CD4D4 002C9134 38 60 00 00 */ li r3, 0 +/* 802CD4D8 002C9138 48 00 00 10 */ b lbl_802CD4E8 +lbl_802CD4DC: +/* 802CD4DC 002C913C 38 00 00 02 */ li r0, 2 +/* 802CD4E0 002C9140 38 60 00 01 */ li r3, 1 +/* 802CD4E4 002C9144 98 1E 00 7F */ stb r0, 0x7f(r30) +lbl_802CD4E8: +/* 802CD4E8 002C9148 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD4EC 002C914C 40 82 00 0C */ bne lbl_802CD4F8 +/* 802CD4F0 002C9150 38 60 00 03 */ li r3, 3 +/* 802CD4F4 002C9154 48 00 01 3C */ b lbl_802CD630 +lbl_802CD4F8: +/* 802CD4F8 002C9158 38 60 00 01 */ li r3, 1 +/* 802CD4FC 002C915C 48 00 01 34 */ b lbl_802CD630 +lbl_802CD500: +/* 802CD500 002C9160 54 80 07 FF */ clrlwi. r0, r4, 0x1f +/* 802CD504 002C9164 40 82 00 CC */ bne lbl_802CD5D0 +/* 802CD508 002C9168 88 7E 00 80 */ lbz r3, 0x80(r30) +/* 802CD50C 002C916C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD510 002C9170 41 82 00 10 */ beq lbl_802CD520 +/* 802CD514 002C9174 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD518 002C9178 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 802CD51C 002C917C 40 82 00 18 */ bne lbl_802CD534 +lbl_802CD520: +/* 802CD520 002C9180 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD524 002C9184 40 82 00 AC */ bne lbl_802CD5D0 +/* 802CD528 002C9188 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD52C 002C918C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 802CD530 002C9190 41 82 00 A0 */ beq lbl_802CD5D0 +lbl_802CD534: +/* 802CD534 002C9194 80 7E 00 10 */ lwz r3, 0x10(r30) +/* 802CD538 002C9198 3C 03 00 01 */ addis r0, r3, 1 +/* 802CD53C 002C919C 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CD540 002C91A0 41 82 00 0C */ beq lbl_802CD54C +/* 802CD544 002C91A4 38 00 00 00 */ li r0, 0 +/* 802CD548 002C91A8 48 00 00 20 */ b lbl_802CD568 +lbl_802CD54C: +/* 802CD54C 002C91AC 80 7E 00 14 */ lwz r3, 0x14(r30) +/* 802CD550 002C91B0 3C 03 00 01 */ addis r0, r3, 1 +/* 802CD554 002C91B4 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CD558 002C91B8 41 82 00 0C */ beq lbl_802CD564 +/* 802CD55C 002C91BC 38 00 00 00 */ li r0, 0 +/* 802CD560 002C91C0 48 00 00 08 */ b lbl_802CD568 +lbl_802CD564: +/* 802CD564 002C91C4 38 00 00 01 */ li r0, 1 +lbl_802CD568: +/* 802CD568 002C91C8 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD56C 002C91CC 40 82 00 64 */ bne lbl_802CD5D0 +/* 802CD570 002C91D0 80 7E 00 00 */ lwz r3, 0(r30) +/* 802CD574 002C91D4 88 63 00 0F */ lbz r3, 0xf(r3) +/* 802CD578 002C91D8 28 03 00 2E */ cmplwi r3, 0x2e +/* 802CD57C 002C91DC 40 80 00 54 */ bge lbl_802CD5D0 +/* 802CD580 002C91E0 54 60 EE FA */ rlwinm r0, r3, 0x1d, 0x1b, 0x1d +/* 802CD584 002C91E4 54 64 06 FE */ clrlwi r4, r3, 0x1b +/* 802CD588 002C91E8 7C 7E 02 14 */ add r3, r30, r0 +/* 802CD58C 002C91EC 38 A0 00 01 */ li r5, 1 +/* 802CD590 002C91F0 80 03 00 10 */ lwz r0, 0x10(r3) +/* 802CD594 002C91F4 7C A3 20 30 */ slw r3, r5, r4 +/* 802CD598 002C91F8 7C 60 00 39 */ and. r0, r3, r0 +/* 802CD59C 002C91FC 40 82 00 34 */ bne lbl_802CD5D0 +/* 802CD5A0 002C9200 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD5A4 002C9204 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD5A8 002C9208 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD5AC 002C920C 28 00 00 04 */ cmplwi r0, 4 +/* 802CD5B0 002C9210 41 80 00 14 */ blt lbl_802CD5C4 +/* 802CD5B4 002C9214 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD5B8 002C9218 38 9F 09 80 */ addi r4, r31, 0x980 +/* 802CD5BC 002C921C 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD5C0 002C9220 4B FE F9 51 */ bl func_802BCF10 +lbl_802CD5C4: +/* 802CD5C4 002C9224 7F C3 F3 78 */ mr r3, r30 +/* 802CD5C8 002C9228 48 00 00 85 */ bl func_802CD64C +/* 802CD5CC 002C922C 48 00 00 64 */ b lbl_802CD630 +lbl_802CD5D0: +/* 802CD5D0 002C9230 88 1E 00 81 */ lbz r0, 0x81(r30) +/* 802CD5D4 002C9234 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD5D8 002C9238 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD5DC 002C923C 54 00 06 32 */ rlwinm r0, r0, 0, 0x18, 0x19 +/* 802CD5E0 002C9240 98 1E 00 81 */ stb r0, 0x81(r30) +/* 802CD5E4 002C9244 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD5E8 002C9248 28 00 00 04 */ cmplwi r0, 4 +/* 802CD5EC 002C924C 41 80 00 1C */ blt lbl_802CD608 +/* 802CD5F0 002C9250 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD5F4 002C9254 80 BE 00 14 */ lwz r5, 0x14(r30) +/* 802CD5F8 002C9258 80 DE 00 10 */ lwz r6, 0x10(r30) +/* 802CD5FC 002C925C 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD600 002C9260 38 9F 09 A8 */ addi r4, r31, 0x9a8 +/* 802CD604 002C9264 4B FE F9 3D */ bl func_802BCF40 +lbl_802CD608: +/* 802CD608 002C9268 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD60C 002C926C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD610 002C9270 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD614 002C9274 28 00 00 04 */ cmplwi r0, 4 +/* 802CD618 002C9278 41 80 00 14 */ blt lbl_802CD62C +/* 802CD61C 002C927C 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD620 002C9280 38 9F 09 D0 */ addi r4, r31, 0x9d0 +/* 802CD624 002C9284 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD628 002C9288 4B FE F8 E9 */ bl func_802BCF10 +lbl_802CD62C: +/* 802CD62C 002C928C 38 60 00 00 */ li r3, 0 +lbl_802CD630: +/* 802CD630 002C9290 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CD634 002C9294 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CD638 002C9298 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CD63C 002C929C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CD640 002C92A0 7C 08 03 A6 */ mtlr r0 +/* 802CD644 002C92A4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CD648 002C92A8 4E 80 00 20 */ blr + +.global func_802CD64C +func_802CD64C: +/* 802CD64C 002C92AC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CD650 002C92B0 7C 08 02 A6 */ mflr r0 +/* 802CD654 002C92B4 38 C0 00 00 */ li r6, 0 +/* 802CD658 002C92B8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CD65C 002C92BC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CD660 002C92C0 93 C1 00 08 */ stw r30, 8(r1) +/* 802CD664 002C92C4 7C 7E 1B 78 */ mr r30, r3 +/* 802CD668 002C92C8 88 03 00 76 */ lbz r0, 0x76(r3) +/* 802CD66C 002C92CC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 802CD670 002C92D0 40 82 00 10 */ bne lbl_802CD680 +/* 802CD674 002C92D4 A0 03 00 18 */ lhz r0, 0x18(r3) +/* 802CD678 002C92D8 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CD67C 002C92DC 40 82 00 9C */ bne lbl_802CD718 +lbl_802CD680: +/* 802CD680 002C92E0 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CD684 002C92E4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CD688 002C92E8 80 04 19 0C */ lwz r0, 0x190c(r4) +/* 802CD68C 002C92EC 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD690 002C92F0 40 82 00 0C */ bne lbl_802CD69C +/* 802CD694 002C92F4 38 60 00 04 */ li r3, 4 +/* 802CD698 002C92F8 48 00 00 B8 */ b lbl_802CD750 +lbl_802CD69C: +/* 802CD69C 002C92FC 80 83 00 00 */ lwz r4, 0(r3) +/* 802CD6A0 002C9300 2C 04 00 00 */ cmpwi r4, 0 +/* 802CD6A4 002C9304 41 82 00 24 */ beq lbl_802CD6C8 +/* 802CD6A8 002C9308 88 03 00 80 */ lbz r0, 0x80(r3) +/* 802CD6AC 002C930C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD6B0 002C9310 41 82 00 0C */ beq lbl_802CD6BC +/* 802CD6B4 002C9314 38 C4 00 10 */ addi r6, r4, 0x10 +/* 802CD6B8 002C9318 48 00 00 08 */ b lbl_802CD6C0 +lbl_802CD6BC: +/* 802CD6BC 002C931C 38 C4 00 26 */ addi r6, r4, 0x26 +lbl_802CD6C0: +/* 802CD6C0 002C9320 88 E4 00 0F */ lbz r7, 0xf(r4) +/* 802CD6C4 002C9324 48 00 00 08 */ b lbl_802CD6CC +lbl_802CD6C8: +/* 802CD6C8 002C9328 38 E0 00 00 */ li r7, 0 +lbl_802CD6CC: +/* 802CD6CC 002C932C 38 00 00 04 */ li r0, 4 +/* 802CD6D0 002C9330 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CD6D4 002C9334 98 03 00 7F */ stb r0, 0x7f(r3) +/* 802CD6D8 002C9338 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CD6DC 002C933C 38 A3 00 35 */ addi r5, r3, 0x35 +/* 802CD6E0 002C9340 89 03 00 80 */ lbz r8, 0x80(r3) +/* 802CD6E4 002C9344 81 84 19 0C */ lwz r12, 0x190c(r4) +/* 802CD6E8 002C9348 38 83 00 22 */ addi r4, r3, 0x22 +/* 802CD6EC 002C934C 7D 89 03 A6 */ mtctr r12 +/* 802CD6F0 002C9350 38 63 00 1C */ addi r3, r3, 0x1c +/* 802CD6F4 002C9354 4E 80 04 21 */ bctrl +/* 802CD6F8 002C9358 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CD6FC 002C935C 40 82 00 54 */ bne lbl_802CD750 +/* 802CD700 002C9360 88 9E 00 76 */ lbz r4, 0x76(r30) +/* 802CD704 002C9364 38 00 00 00 */ li r0, 0 +/* 802CD708 002C9368 98 1E 00 7F */ stb r0, 0x7f(r30) +/* 802CD70C 002C936C 60 80 00 01 */ ori r0, r4, 1 +/* 802CD710 002C9370 98 1E 00 76 */ stb r0, 0x76(r30) +/* 802CD714 002C9374 48 00 00 3C */ b lbl_802CD750 +lbl_802CD718: +/* 802CD718 002C9378 8B E3 00 7F */ lbz r31, 0x7f(r3) +/* 802CD71C 002C937C 38 00 00 03 */ li r0, 3 +/* 802CD720 002C9380 38 80 00 00 */ li r4, 0 +/* 802CD724 002C9384 38 A0 00 02 */ li r5, 2 +/* 802CD728 002C9388 98 03 00 7F */ stb r0, 0x7f(r3) +/* 802CD72C 002C938C 38 C0 00 1E */ li r6, 0x1e +/* 802CD730 002C9390 38 E0 00 00 */ li r7, 0 +/* 802CD734 002C9394 38 63 00 1C */ addi r3, r3, 0x1c +/* 802CD738 002C9398 4B FF B3 71 */ bl func_802C8AA8 +/* 802CD73C 002C939C 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CD740 002C93A0 28 00 00 01 */ cmplwi r0, 1 +/* 802CD744 002C93A4 41 82 00 08 */ beq lbl_802CD74C +/* 802CD748 002C93A8 9B FE 00 7F */ stb r31, 0x7f(r30) +lbl_802CD74C: +/* 802CD74C 002C93AC 38 60 00 01 */ li r3, 1 +lbl_802CD750: +/* 802CD750 002C93B0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CD754 002C93B4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CD758 002C93B8 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CD75C 002C93BC 7C 08 03 A6 */ mtlr r0 +/* 802CD760 002C93C0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CD764 002C93C4 4E 80 00 20 */ blr +lbl_802CD768: +/* 802CD768 002C93C8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CD76C 002C93CC 7C 08 02 A6 */ mflr r0 +/* 802CD770 002C93D0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CD774 002C93D4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CD778 002C93D8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CD77C 002C93DC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CD780 002C93E0 93 C1 00 08 */ stw r30, 8(r1) +/* 802CD784 002C93E4 88 03 27 C0 */ lbz r0, 0x27c0(r3) +/* 802CD788 002C93E8 28 00 00 04 */ cmplwi r0, 4 +/* 802CD78C 002C93EC 41 80 00 18 */ blt lbl_802CD7A4 +/* 802CD790 002C93F0 3C 60 00 0D */ lis r3, 0x000D0003@ha +/* 802CD794 002C93F4 3C 80 80 44 */ lis r4, lbl_80442284@ha +/* 802CD798 002C93F8 38 63 00 03 */ addi r3, r3, 0x000D0003@l +/* 802CD79C 002C93FC 38 84 22 84 */ addi r4, r4, lbl_80442284@l +/* 802CD7A0 002C9400 4B FE F7 71 */ bl func_802BCF10 +lbl_802CD7A4: +/* 802CD7A4 002C9404 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802CD7A8 002C9408 3B C0 00 00 */ li r30, 0 +/* 802CD7AC 002C940C 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802CD7B0 002C9410 93 DF 19 6C */ stw r30, 0x196c(r31) +/* 802CD7B4 002C9414 80 7F 19 38 */ lwz r3, 0x1938(r31) +/* 802CD7B8 002C9418 4B FF FA B5 */ bl func_802CD26C +/* 802CD7BC 002C941C 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CD7C0 002C9420 28 00 00 01 */ cmplwi r0, 1 +/* 802CD7C4 002C9424 41 82 00 6C */ beq lbl_802CD830 +/* 802CD7C8 002C9428 80 9F 19 38 */ lwz r4, 0x1938(r31) +/* 802CD7CC 002C942C 80 04 00 04 */ lwz r0, 4(r4) +/* 802CD7D0 002C9430 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD7D4 002C9434 41 82 00 5C */ beq lbl_802CD830 +/* 802CD7D8 002C9438 88 04 00 80 */ lbz r0, 0x80(r4) +/* 802CD7DC 002C943C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD7E0 002C9440 41 82 00 20 */ beq lbl_802CD800 +/* 802CD7E4 002C9444 80 84 00 00 */ lwz r4, 0(r4) +/* 802CD7E8 002C9448 2C 04 00 00 */ cmpwi r4, 0 +/* 802CD7EC 002C944C 41 82 00 14 */ beq lbl_802CD800 +/* 802CD7F0 002C9450 80 04 00 00 */ lwz r0, 0(r4) +/* 802CD7F4 002C9454 28 00 00 03 */ cmplwi r0, 3 +/* 802CD7F8 002C9458 40 82 00 08 */ bne lbl_802CD800 +/* 802CD7FC 002C945C 93 C4 00 04 */ stw r30, 4(r4) +lbl_802CD800: +/* 802CD800 002C9460 3F E0 80 57 */ lis r31, lbl_80568B78@ha +/* 802CD804 002C9464 54 65 06 3E */ clrlwi r5, r3, 0x18 +/* 802CD808 002C9468 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l +/* 802CD80C 002C946C 80 9F 19 38 */ lwz r4, 0x1938(r31) +/* 802CD810 002C9470 81 84 00 04 */ lwz r12, 4(r4) +/* 802CD814 002C9474 38 64 00 1C */ addi r3, r4, 0x1c +/* 802CD818 002C9478 80 84 00 08 */ lwz r4, 8(r4) +/* 802CD81C 002C947C 7D 89 03 A6 */ mtctr r12 +/* 802CD820 002C9480 4E 80 04 21 */ bctrl +/* 802CD824 002C9484 80 7F 19 38 */ lwz r3, 0x1938(r31) +/* 802CD828 002C9488 38 00 00 00 */ li r0, 0 +/* 802CD82C 002C948C 90 03 00 04 */ stw r0, 4(r3) +lbl_802CD830: +/* 802CD830 002C9490 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CD834 002C9494 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CD838 002C9498 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CD83C 002C949C 7C 08 03 A6 */ mtlr r0 +/* 802CD840 002C94A0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CD844 002C94A4 4E 80 00 20 */ blr + +.global func_802CD848 +func_802CD848: +/* 802CD848 002C94A8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CD84C 002C94AC 7C 08 02 A6 */ mflr r0 +/* 802CD850 002C94B0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CD854 002C94B4 4B FF 7D C9 */ bl func_802C561C +/* 802CD858 002C94B8 2C 03 00 00 */ cmpwi r3, 0 +/* 802CD85C 002C94BC 41 82 00 0C */ beq lbl_802CD868 +/* 802CD860 002C94C0 38 63 00 10 */ addi r3, r3, 0x10 +/* 802CD864 002C94C4 48 00 00 08 */ b lbl_802CD86C +lbl_802CD868: +/* 802CD868 002C94C8 38 60 00 00 */ li r3, 0 +lbl_802CD86C: +/* 802CD86C 002C94CC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CD870 002C94D0 7C 08 03 A6 */ mtlr r0 +/* 802CD874 002C94D4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CD878 002C94D8 4E 80 00 20 */ blr + +.global func_802CD87C +func_802CD87C: +/* 802CD87C 002C94DC 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802CD880 002C94E0 7C 08 02 A6 */ mflr r0 +/* 802CD884 002C94E4 3C 80 80 57 */ lis r4, lbl_80568B78@ha +/* 802CD888 002C94E8 90 01 00 44 */ stw r0, 0x44(r1) +/* 802CD88C 002C94EC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l +/* 802CD890 002C94F0 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 802CD894 002C94F4 93 C1 00 38 */ stw r30, 0x38(r1) +/* 802CD898 002C94F8 93 A1 00 34 */ stw r29, 0x34(r1) +/* 802CD89C 002C94FC 93 81 00 30 */ stw r28, 0x30(r1) +/* 802CD8A0 002C9500 A0 A3 00 04 */ lhz r5, 4(r3) +/* 802CD8A4 002C9504 88 04 06 4E */ lbz r0, 0x64e(r4) +/* 802CD8A8 002C9508 7C E3 2A 14 */ add r7, r3, r5 +/* 802CD8AC 002C950C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CD8B0 002C9510 88 67 00 08 */ lbz r3, 8(r7) +/* 802CD8B4 002C9514 88 87 00 09 */ lbz r4, 9(r7) +/* 802CD8B8 002C9518 40 82 00 14 */ bne lbl_802CD8CC +/* 802CD8BC 002C951C 28 03 00 0E */ cmplwi r3, 0xe +/* 802CD8C0 002C9520 41 82 00 0C */ beq lbl_802CD8CC +/* 802CD8C4 002C9524 28 03 00 0F */ cmplwi r3, 0xf +/* 802CD8C8 002C9528 40 82 05 4C */ bne lbl_802CDE14 +lbl_802CD8CC: +/* 802CD8CC 002C952C 2C 03 00 14 */ cmpwi r3, 0x14 +/* 802CD8D0 002C9530 41 82 03 60 */ beq lbl_802CDC30 +/* 802CD8D4 002C9534 40 80 00 94 */ bge lbl_802CD968 +/* 802CD8D8 002C9538 2C 03 00 0A */ cmpwi r3, 0xa +/* 802CD8DC 002C953C 41 82 02 60 */ beq lbl_802CDB3C +/* 802CD8E0 002C9540 40 80 00 4C */ bge lbl_802CD92C +/* 802CD8E4 002C9544 2C 03 00 05 */ cmpwi r3, 5 +/* 802CD8E8 002C9548 41 82 01 48 */ beq lbl_802CDA30 +/* 802CD8EC 002C954C 40 80 00 28 */ bge lbl_802CD914 +/* 802CD8F0 002C9550 2C 03 00 02 */ cmpwi r3, 2 +/* 802CD8F4 002C9554 41 82 01 04 */ beq lbl_802CD9F8 +/* 802CD8F8 002C9558 40 80 00 10 */ bge lbl_802CD908 +/* 802CD8FC 002C955C 2C 03 00 01 */ cmpwi r3, 1 +/* 802CD900 002C9560 40 80 00 EC */ bge lbl_802CD9EC +/* 802CD904 002C9564 48 00 05 10 */ b lbl_802CDE14 +lbl_802CD908: +/* 802CD908 002C9568 2C 03 00 04 */ cmpwi r3, 4 +/* 802CD90C 002C956C 40 80 01 18 */ bge lbl_802CDA24 +/* 802CD910 002C9570 48 00 01 08 */ b lbl_802CDA18 +lbl_802CD914: +/* 802CD914 002C9574 2C 03 00 08 */ cmpwi r3, 8 +/* 802CD918 002C9578 41 82 01 E4 */ beq lbl_802CDAFC +/* 802CD91C 002C957C 40 80 04 F8 */ bge lbl_802CDE14 +/* 802CD920 002C9580 2C 03 00 07 */ cmpwi r3, 7 +/* 802CD924 002C9584 40 80 01 74 */ bge lbl_802CDA98 +/* 802CD928 002C9588 48 00 01 50 */ b lbl_802CDA78 +lbl_802CD92C: +/* 802CD92C 002C958C 2C 03 00 0F */ cmpwi r3, 0xf +/* 802CD930 002C9590 41 82 02 60 */ beq lbl_802CDB90 +/* 802CD934 002C9594 40 80 00 1C */ bge lbl_802CD950 +/* 802CD938 002C9598 2C 03 00 0D */ cmpwi r3, 0xd +/* 802CD93C 002C959C 41 82 02 3C */ beq lbl_802CDB78 +/* 802CD940 002C95A0 40 80 02 44 */ bge lbl_802CDB84 +/* 802CD944 002C95A4 2C 03 00 0C */ cmpwi r3, 0xc +/* 802CD948 002C95A8 40 80 02 24 */ bge lbl_802CDB6C +/* 802CD94C 002C95AC 48 00 02 14 */ b lbl_802CDB60 +lbl_802CD950: +/* 802CD950 002C95B0 2C 03 00 12 */ cmpwi r3, 0x12 +/* 802CD954 002C95B4 41 82 02 70 */ beq lbl_802CDBC4 +/* 802CD958 002C95B8 40 80 02 CC */ bge lbl_802CDC24 +/* 802CD95C 002C95BC 2C 03 00 11 */ cmpwi r3, 0x11 +/* 802CD960 002C95C0 40 80 04 B4 */ bge lbl_802CDE14 +/* 802CD964 002C95C4 48 00 02 38 */ b lbl_802CDB9C +lbl_802CD968: +/* 802CD968 002C95C8 2C 03 00 21 */ cmpwi r3, 0x21 +/* 802CD96C 002C95CC 41 82 04 A8 */ beq lbl_802CDE14 +/* 802CD970 002C95D0 40 80 00 40 */ bge lbl_802CD9B0 +/* 802CD974 002C95D4 2C 03 00 1C */ cmpwi r3, 0x1c +/* 802CD978 002C95D8 41 82 03 CC */ beq lbl_802CDD44 +/* 802CD97C 002C95DC 40 80 00 28 */ bge lbl_802CD9A4 +/* 802CD980 002C95E0 2C 03 00 17 */ cmpwi r3, 0x17 +/* 802CD984 002C95E4 41 82 03 78 */ beq lbl_802CDCFC +/* 802CD988 002C95E8 40 80 00 10 */ bge lbl_802CD998 +/* 802CD98C 002C95EC 2C 03 00 16 */ cmpwi r3, 0x16 +/* 802CD990 002C95F0 40 80 03 28 */ bge lbl_802CDCB8 +/* 802CD994 002C95F4 48 00 03 04 */ b lbl_802CDC98 +lbl_802CD998: +/* 802CD998 002C95F8 2C 03 00 19 */ cmpwi r3, 0x19 +/* 802CD99C 002C95FC 40 80 04 78 */ bge lbl_802CDE14 +/* 802CD9A0 002C9600 48 00 03 98 */ b lbl_802CDD38 +lbl_802CD9A4: +/* 802CD9A4 002C9604 2C 03 00 1E */ cmpwi r3, 0x1e +/* 802CD9A8 002C9608 41 82 03 EC */ beq lbl_802CDD94 +/* 802CD9AC 002C960C 48 00 04 68 */ b lbl_802CDE14 +lbl_802CD9B0: +/* 802CD9B0 002C9610 2C 03 00 EF */ cmpwi r3, 0xef +/* 802CD9B4 002C9614 41 82 04 58 */ beq lbl_802CDE0C +/* 802CD9B8 002C9618 40 80 00 28 */ bge lbl_802CD9E0 +/* 802CD9BC 002C961C 2C 03 00 2C */ cmpwi r3, 0x2c +/* 802CD9C0 002C9620 41 82 03 F0 */ beq lbl_802CDDB0 +/* 802CD9C4 002C9624 40 80 00 10 */ bge lbl_802CD9D4 +/* 802CD9C8 002C9628 2C 03 00 23 */ cmpwi r3, 0x23 +/* 802CD9CC 002C962C 40 80 04 48 */ bge lbl_802CDE14 +/* 802CD9D0 002C9630 48 00 00 38 */ b lbl_802CDA08 +lbl_802CD9D4: +/* 802CD9D4 002C9634 2C 03 00 2E */ cmpwi r3, 0x2e +/* 802CD9D8 002C9638 40 80 04 3C */ bge lbl_802CDE14 +/* 802CD9DC 002C963C 48 00 03 E0 */ b lbl_802CDDBC +lbl_802CD9E0: +/* 802CD9E0 002C9640 2C 03 00 FF */ cmpwi r3, 0xff +/* 802CD9E4 002C9644 41 82 04 28 */ beq lbl_802CDE0C +/* 802CD9E8 002C9648 48 00 04 2C */ b lbl_802CDE14 +lbl_802CD9EC: +/* 802CD9EC 002C964C 88 67 00 0A */ lbz r3, 0xa(r7) +/* 802CD9F0 002C9650 4B FF AF B5 */ bl func_802C89A4 +/* 802CD9F4 002C9654 48 00 04 20 */ b lbl_802CDE14 +lbl_802CD9F8: +/* 802CD9F8 002C9658 38 67 00 0A */ addi r3, r7, 0xa +/* 802CD9FC 002C965C 38 80 00 00 */ li r4, 0 +/* 802CDA00 002C9660 4B FF AD 2D */ bl func_802C872C +/* 802CDA04 002C9664 48 00 04 10 */ b lbl_802CDE14 +lbl_802CDA08: +/* 802CDA08 002C9668 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDA0C 002C966C 38 80 00 01 */ li r4, 1 +/* 802CDA10 002C9670 4B FF AD 1D */ bl func_802C872C +/* 802CDA14 002C9674 48 00 04 00 */ b lbl_802CDE14 +lbl_802CDA18: +/* 802CDA18 002C9678 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDA1C 002C967C 48 00 05 A5 */ bl func_802CDFC0 +/* 802CDA20 002C9680 48 00 03 F4 */ b lbl_802CDE14 +lbl_802CDA24: +/* 802CDA24 002C9684 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDA28 002C9688 48 00 06 75 */ bl func_802CE09C +/* 802CDA2C 002C968C 48 00 03 E8 */ b lbl_802CDE14 +lbl_802CDA30: +/* 802CDA30 002C9690 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDA34 002C9694 88 67 00 0B */ lbz r3, 0xb(r7) +/* 802CDA38 002C9698 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDA3C 002C969C 8B E7 00 0D */ lbz r31, 0xd(r7) +/* 802CDA40 002C96A0 7C 03 02 14 */ add r0, r3, r0 +/* 802CDA44 002C96A4 54 1C 05 3E */ clrlwi r28, r0, 0x14 +/* 802CDA48 002C96A8 7F E4 FB 78 */ mr r4, r31 +/* 802CDA4C 002C96AC 7F 83 E3 78 */ mr r3, r28 +/* 802CDA50 002C96B0 48 00 A2 C9 */ bl func_802D7D18 +/* 802CDA54 002C96B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CDA58 002C96B8 40 82 00 10 */ bne lbl_802CDA68 +/* 802CDA5C 002C96BC 7F 83 E3 78 */ mr r3, r28 +/* 802CDA60 002C96C0 7F E4 FB 78 */ mr r4, r31 +/* 802CDA64 002C96C4 4B FF C8 85 */ bl func_802CA2E8 +lbl_802CDA68: +/* 802CDA68 002C96C8 7F 83 E3 78 */ mr r3, r28 +/* 802CDA6C 002C96CC 7F E4 FB 78 */ mr r4, r31 +/* 802CDA70 002C96D0 4B FF EF C5 */ bl func_802CCA34 +/* 802CDA74 002C96D4 48 00 03 A0 */ b lbl_802CDE14 +lbl_802CDA78: +/* 802CDA78 002C96D8 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDA7C 002C96DC 88 67 00 0B */ lbz r3, 0xb(r7) +/* 802CDA80 002C96E0 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDA84 002C96E4 88 87 00 0A */ lbz r4, 0xa(r7) +/* 802CDA88 002C96E8 7C 03 02 14 */ add r0, r3, r0 +/* 802CDA8C 002C96EC 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802CDA90 002C96F0 4B FF E4 AD */ bl func_802CBF3C +/* 802CDA94 002C96F4 48 00 03 80 */ b lbl_802CDE14 +lbl_802CDA98: +/* 802CDA98 002C96F8 8B C7 00 0A */ lbz r30, 0xa(r7) +/* 802CDA9C 002C96FC 38 04 FF F9 */ addi r0, r4, -7 +/* 802CDAA0 002C9700 88 67 00 0B */ lbz r3, 0xb(r7) +/* 802CDAA4 002C9704 3B E7 00 11 */ addi r31, r7, 0x11 +/* 802CDAA8 002C9708 54 05 04 3E */ clrlwi r5, r0, 0x10 +/* 802CDAAC 002C970C 7F C6 F3 78 */ mr r6, r30 +/* 802CDAB0 002C9710 98 61 00 25 */ stb r3, 0x25(r1) +/* 802CDAB4 002C9714 7F E4 FB 78 */ mr r4, r31 +/* 802CDAB8 002C9718 38 61 00 20 */ addi r3, r1, 0x20 +/* 802CDABC 002C971C 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDAC0 002C9720 98 01 00 24 */ stb r0, 0x24(r1) +/* 802CDAC4 002C9724 88 07 00 0D */ lbz r0, 0xd(r7) +/* 802CDAC8 002C9728 98 01 00 23 */ stb r0, 0x23(r1) +/* 802CDACC 002C972C 88 07 00 0E */ lbz r0, 0xe(r7) +/* 802CDAD0 002C9730 98 01 00 22 */ stb r0, 0x22(r1) +/* 802CDAD4 002C9734 88 07 00 0F */ lbz r0, 0xf(r7) +/* 802CDAD8 002C9738 98 01 00 21 */ stb r0, 0x21(r1) +/* 802CDADC 002C973C 88 07 00 10 */ lbz r0, 0x10(r7) +/* 802CDAE0 002C9740 98 01 00 20 */ stb r0, 0x20(r1) +/* 802CDAE4 002C9744 4B FF B1 15 */ bl func_802C8BF8 +/* 802CDAE8 002C9748 7F E4 FB 78 */ mr r4, r31 +/* 802CDAEC 002C974C 7F C5 F3 78 */ mr r5, r30 +/* 802CDAF0 002C9750 38 61 00 20 */ addi r3, r1, 0x20 +/* 802CDAF4 002C9754 4B FF E1 61 */ bl func_802CBC54 +/* 802CDAF8 002C9758 48 00 03 1C */ b lbl_802CDE14 +lbl_802CDAFC: +/* 802CDAFC 002C975C 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDB00 002C9760 88 67 00 0B */ lbz r3, 0xb(r7) +/* 802CDB04 002C9764 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDB08 002C9768 8B A7 00 0A */ lbz r29, 0xa(r7) +/* 802CDB0C 002C976C 7C 03 02 14 */ add r0, r3, r0 +/* 802CDB10 002C9770 8B C7 00 0D */ lbz r30, 0xd(r7) +/* 802CDB14 002C9774 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 802CDB18 002C9778 7F A4 EB 78 */ mr r4, r29 +/* 802CDB1C 002C977C 7F E3 FB 78 */ mr r3, r31 +/* 802CDB20 002C9780 7F C5 F3 78 */ mr r5, r30 +/* 802CDB24 002C9784 4B FF 60 01 */ bl func_802C3B24 +/* 802CDB28 002C9788 7F E3 FB 78 */ mr r3, r31 +/* 802CDB2C 002C978C 7F A4 EB 78 */ mr r4, r29 +/* 802CDB30 002C9790 7F C5 F3 78 */ mr r5, r30 +/* 802CDB34 002C9794 4B FF E8 49 */ bl func_802CC37C +/* 802CDB38 002C9798 48 00 02 DC */ b lbl_802CDE14 +lbl_802CDB3C: +/* 802CDB3C 002C979C 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDB40 002C97A0 88 67 00 0B */ lbz r3, 0xb(r7) +/* 802CDB44 002C97A4 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDB48 002C97A8 88 87 00 0A */ lbz r4, 0xa(r7) +/* 802CDB4C 002C97AC 7C 03 02 14 */ add r0, r3, r0 +/* 802CDB50 002C97B0 88 A7 00 0D */ lbz r5, 0xd(r7) +/* 802CDB54 002C97B4 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 802CDB58 002C97B8 4B FF E7 29 */ bl func_802CC280 +/* 802CDB5C 002C97BC 48 00 02 B8 */ b lbl_802CDE14 +lbl_802CDB60: +/* 802CDB60 002C97C0 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDB64 002C97C4 4B FF 64 C1 */ bl func_802C4024 +/* 802CDB68 002C97C8 48 00 02 AC */ b lbl_802CDE14 +lbl_802CDB6C: +/* 802CDB6C 002C97CC 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDB70 002C97D0 4B FF 64 29 */ bl func_802C3F98 +/* 802CDB74 002C97D4 48 00 02 A0 */ b lbl_802CDE14 +lbl_802CDB78: +/* 802CDB78 002C97D8 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDB7C 002C97DC 48 00 05 AD */ bl func_802CE128 +/* 802CDB80 002C97E0 48 00 02 94 */ b lbl_802CDE14 +lbl_802CDB84: +/* 802CDB84 002C97E4 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDB88 002C97E8 48 00 08 D9 */ bl func_802CE460 +/* 802CDB8C 002C97EC 48 00 02 88 */ b lbl_802CDE14 +lbl_802CDB90: +/* 802CDB90 002C97F0 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDB94 002C97F4 48 00 0B E5 */ bl func_802CE778 +/* 802CDB98 002C97F8 48 00 02 7C */ b lbl_802CDE14 +lbl_802CDB9C: +/* 802CDB9C 002C97FC 3C 80 80 44 */ lis r4, lbl_804422A0@ha +/* 802CDBA0 002C9800 3C 60 00 07 */ lis r3, 7 +/* 802CDBA4 002C9804 38 84 22 A0 */ addi r4, r4, lbl_804422A0@l +/* 802CDBA8 002C9808 4B FE F3 69 */ bl func_802BCF10 +/* 802CDBAC 002C980C 4B FF 7F 25 */ bl func_802C5AD0 +/* 802CDBB0 002C9810 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CDBB4 002C9814 41 82 02 60 */ beq lbl_802CDE14 +/* 802CDBB8 002C9818 38 60 00 00 */ li r3, 0 +/* 802CDBBC 002C981C 4B FF 7D D1 */ bl func_802C598C +/* 802CDBC0 002C9820 48 00 02 54 */ b lbl_802CDE14 +lbl_802CDBC4: +/* 802CDBC4 002C9824 8B A7 00 0A */ lbz r29, 0xa(r7) +/* 802CDBC8 002C9828 88 07 00 0B */ lbz r0, 0xb(r7) +/* 802CDBCC 002C982C 2C 1D 00 00 */ cmpwi r29, 0 +/* 802CDBD0 002C9830 98 01 00 1D */ stb r0, 0x1d(r1) +/* 802CDBD4 002C9834 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDBD8 002C9838 98 01 00 1C */ stb r0, 0x1c(r1) +/* 802CDBDC 002C983C 88 07 00 0D */ lbz r0, 0xd(r7) +/* 802CDBE0 002C9840 98 01 00 1B */ stb r0, 0x1b(r1) +/* 802CDBE4 002C9844 88 07 00 0E */ lbz r0, 0xe(r7) +/* 802CDBE8 002C9848 98 01 00 1A */ stb r0, 0x1a(r1) +/* 802CDBEC 002C984C 88 07 00 0F */ lbz r0, 0xf(r7) +/* 802CDBF0 002C9850 98 01 00 19 */ stb r0, 0x19(r1) +/* 802CDBF4 002C9854 88 07 00 10 */ lbz r0, 0x10(r7) +/* 802CDBF8 002C9858 98 01 00 18 */ stb r0, 0x18(r1) +/* 802CDBFC 002C985C 8B E7 00 11 */ lbz r31, 0x11(r7) +/* 802CDC00 002C9860 40 82 00 10 */ bne lbl_802CDC10 +/* 802CDC04 002C9864 7F E4 FB 78 */ mr r4, r31 +/* 802CDC08 002C9868 38 61 00 18 */ addi r3, r1, 0x18 +/* 802CDC0C 002C986C 48 00 AC 4D */ bl func_802D8858 +lbl_802CDC10: +/* 802CDC10 002C9870 7F A3 EB 78 */ mr r3, r29 +/* 802CDC14 002C9874 7F E5 FB 78 */ mr r5, r31 +/* 802CDC18 002C9878 38 81 00 18 */ addi r4, r1, 0x18 +/* 802CDC1C 002C987C 4B FF 68 C1 */ bl func_802C44DC +/* 802CDC20 002C9880 48 00 01 F4 */ b lbl_802CDE14 +lbl_802CDC24: +/* 802CDC24 002C9884 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDC28 002C9888 48 00 A8 FD */ bl func_802D8524 +/* 802CDC2C 002C988C 48 00 01 E8 */ b lbl_802CDE14 +lbl_802CDC30: +/* 802CDC30 002C9890 88 67 00 0C */ lbz r3, 0xc(r7) +/* 802CDC34 002C9894 88 07 00 0F */ lbz r0, 0xf(r7) +/* 802CDC38 002C9898 54 64 40 2E */ slwi r4, r3, 8 +/* 802CDC3C 002C989C 88 A7 00 0B */ lbz r5, 0xb(r7) +/* 802CDC40 002C98A0 88 67 00 0E */ lbz r3, 0xe(r7) +/* 802CDC44 002C98A4 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDC48 002C98A8 7C 85 22 14 */ add r4, r5, r4 +/* 802CDC4C 002C98AC 8B C7 00 0D */ lbz r30, 0xd(r7) +/* 802CDC50 002C98B0 54 9F 04 3E */ clrlwi r31, r4, 0x10 +/* 802CDC54 002C98B4 7C 03 02 14 */ add r0, r3, r0 +/* 802CDC58 002C98B8 8B 87 00 0A */ lbz r28, 0xa(r7) +/* 802CDC5C 002C98BC 7F E4 FB 78 */ mr r4, r31 +/* 802CDC60 002C98C0 7F C5 F3 78 */ mr r5, r30 +/* 802CDC64 002C98C4 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 802CDC68 002C98C8 7F 83 E3 78 */ mr r3, r28 +/* 802CDC6C 002C98CC 4B FF C0 35 */ bl func_802C9CA0 +/* 802CDC70 002C98D0 7F 83 E3 78 */ mr r3, r28 +/* 802CDC74 002C98D4 7F E4 FB 78 */ mr r4, r31 +/* 802CDC78 002C98D8 7F C5 F3 78 */ mr r5, r30 +/* 802CDC7C 002C98DC 7F A6 EB 78 */ mr r6, r29 +/* 802CDC80 002C98E0 4B FF BB D9 */ bl func_802C9858 +/* 802CDC84 002C98E4 7F 83 E3 78 */ mr r3, r28 +/* 802CDC88 002C98E8 7F C4 F3 78 */ mr r4, r30 +/* 802CDC8C 002C98EC 7F A5 EB 78 */ mr r5, r29 +/* 802CDC90 002C98F0 48 00 4C 3D */ bl func_802D28CC +/* 802CDC94 002C98F4 48 00 01 80 */ b lbl_802CDE14 +lbl_802CDC98: +/* 802CDC98 002C98F8 88 07 00 0A */ lbz r0, 0xa(r7) +/* 802CDC9C 002C98FC 2C 00 00 00 */ cmpwi r0, 0 +/* 802CDCA0 002C9900 41 82 01 74 */ beq lbl_802CDE14 +/* 802CDCA4 002C9904 38 00 00 01 */ li r0, 1 +/* 802CDCA8 002C9908 38 67 00 09 */ addi r3, r7, 9 +/* 802CDCAC 002C990C 98 07 00 09 */ stb r0, 9(r7) +/* 802CDCB0 002C9910 4B FF 93 69 */ bl func_802C7018 +/* 802CDCB4 002C9914 48 00 01 60 */ b lbl_802CDE14 +lbl_802CDCB8: +/* 802CDCB8 002C9918 88 07 00 0A */ lbz r0, 0xa(r7) +/* 802CDCBC 002C991C 38 61 00 10 */ addi r3, r1, 0x10 +/* 802CDCC0 002C9920 98 01 00 15 */ stb r0, 0x15(r1) +/* 802CDCC4 002C9924 88 07 00 0B */ lbz r0, 0xb(r7) +/* 802CDCC8 002C9928 98 01 00 14 */ stb r0, 0x14(r1) +/* 802CDCCC 002C992C 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDCD0 002C9930 98 01 00 13 */ stb r0, 0x13(r1) +/* 802CDCD4 002C9934 88 07 00 0D */ lbz r0, 0xd(r7) +/* 802CDCD8 002C9938 98 01 00 12 */ stb r0, 0x12(r1) +/* 802CDCDC 002C993C 88 07 00 0E */ lbz r0, 0xe(r7) +/* 802CDCE0 002C9940 98 01 00 11 */ stb r0, 0x11(r1) +/* 802CDCE4 002C9944 88 07 00 0F */ lbz r0, 0xf(r7) +/* 802CDCE8 002C9948 98 01 00 10 */ stb r0, 0x10(r1) +/* 802CDCEC 002C994C 48 00 AD 35 */ bl func_802D8A20 +/* 802CDCF0 002C9950 38 61 00 10 */ addi r3, r1, 0x10 +/* 802CDCF4 002C9954 4B FF F1 CD */ bl func_802CCEC0 +/* 802CDCF8 002C9958 48 00 01 1C */ b lbl_802CDE14 +lbl_802CDCFC: +/* 802CDCFC 002C995C 88 07 00 0A */ lbz r0, 0xa(r7) +/* 802CDD00 002C9960 38 61 00 08 */ addi r3, r1, 8 +/* 802CDD04 002C9964 98 01 00 0D */ stb r0, 0xd(r1) +/* 802CDD08 002C9968 88 07 00 0B */ lbz r0, 0xb(r7) +/* 802CDD0C 002C996C 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CDD10 002C9970 88 07 00 0C */ lbz r0, 0xc(r7) +/* 802CDD14 002C9974 98 01 00 0B */ stb r0, 0xb(r1) +/* 802CDD18 002C9978 88 07 00 0D */ lbz r0, 0xd(r7) +/* 802CDD1C 002C997C 98 01 00 0A */ stb r0, 0xa(r1) +/* 802CDD20 002C9980 88 07 00 0E */ lbz r0, 0xe(r7) +/* 802CDD24 002C9984 98 01 00 09 */ stb r0, 9(r1) +/* 802CDD28 002C9988 88 07 00 0F */ lbz r0, 0xf(r7) +/* 802CDD2C 002C998C 98 01 00 08 */ stb r0, 8(r1) +/* 802CDD30 002C9990 4B FF EF ED */ bl func_802CCD1C +/* 802CDD34 002C9994 48 00 00 E0 */ b lbl_802CDE14 +lbl_802CDD38: +/* 802CDD38 002C9998 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDD3C 002C999C 48 00 0C BD */ bl func_802CE9F8 +/* 802CDD40 002C99A0 48 00 00 D4 */ b lbl_802CDE14 +lbl_802CDD44: +/* 802CDD44 002C99A4 88 07 00 0A */ lbz r0, 0xa(r7) +/* 802CDD48 002C99A8 2C 00 00 00 */ cmpwi r0, 0 +/* 802CDD4C 002C99AC 40 82 00 C8 */ bne lbl_802CDE14 +/* 802CDD50 002C99B0 88 67 00 0C */ lbz r3, 0xc(r7) +/* 802CDD54 002C99B4 88 07 00 0E */ lbz r0, 0xe(r7) +/* 802CDD58 002C99B8 54 64 40 2E */ slwi r4, r3, 8 +/* 802CDD5C 002C99BC 88 A7 00 0B */ lbz r5, 0xb(r7) +/* 802CDD60 002C99C0 88 67 00 0D */ lbz r3, 0xd(r7) +/* 802CDD64 002C99C4 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDD68 002C99C8 7C 85 22 14 */ add r4, r5, r4 +/* 802CDD6C 002C99CC 7C 03 02 14 */ add r0, r3, r0 +/* 802CDD70 002C99D0 54 9D 05 3E */ clrlwi r29, r4, 0x14 +/* 802CDD74 002C99D4 54 1C 04 3E */ clrlwi r28, r0, 0x10 +/* 802CDD78 002C99D8 7F A3 EB 78 */ mr r3, r29 +/* 802CDD7C 002C99DC 7F 84 E3 78 */ mr r4, r28 +/* 802CDD80 002C99E0 4B FF 66 C1 */ bl func_802C4440 +/* 802CDD84 002C99E4 7F A3 EB 78 */ mr r3, r29 +/* 802CDD88 002C99E8 7F 84 E3 78 */ mr r4, r28 +/* 802CDD8C 002C99EC 4B FF F4 91 */ bl func_802CD21C +/* 802CDD90 002C99F0 48 00 00 84 */ b lbl_802CDE14 +lbl_802CDD94: +/* 802CDD94 002C99F4 88 07 00 0B */ lbz r0, 0xb(r7) +/* 802CDD98 002C99F8 88 67 00 0A */ lbz r3, 0xa(r7) +/* 802CDD9C 002C99FC 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDDA0 002C9A00 7C 03 02 14 */ add r0, r3, r0 +/* 802CDDA4 002C9A04 54 03 05 3E */ clrlwi r3, r0, 0x14 +/* 802CDDA8 002C9A08 48 00 A0 2D */ bl func_802D7DD4 +/* 802CDDAC 002C9A0C 48 00 00 68 */ b lbl_802CDE14 +lbl_802CDDB0: +/* 802CDDB0 002C9A10 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDDB4 002C9A14 48 00 04 75 */ bl func_802CE228 +/* 802CDDB8 002C9A18 48 00 00 5C */ b lbl_802CDE14 +lbl_802CDDBC: +/* 802CDDBC 002C9A1C 88 87 00 0C */ lbz r4, 0xc(r7) +/* 802CDDC0 002C9A20 88 67 00 10 */ lbz r3, 0x10(r7) +/* 802CDDC4 002C9A24 88 07 00 12 */ lbz r0, 0x12(r7) +/* 802CDDC8 002C9A28 54 86 40 2E */ slwi r6, r4, 8 +/* 802CDDCC 002C9A2C 89 07 00 0B */ lbz r8, 0xb(r7) +/* 802CDDD0 002C9A30 54 63 40 2E */ slwi r3, r3, 8 +/* 802CDDD4 002C9A34 88 A7 00 0F */ lbz r5, 0xf(r7) +/* 802CDDD8 002C9A38 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDDDC 002C9A3C 7D 28 32 14 */ add r9, r8, r6 +/* 802CDDE0 002C9A40 88 87 00 11 */ lbz r4, 0x11(r7) +/* 802CDDE4 002C9A44 7D 05 1A 14 */ add r8, r5, r3 +/* 802CDDE8 002C9A48 88 67 00 0A */ lbz r3, 0xa(r7) +/* 802CDDEC 002C9A4C 7C 04 02 14 */ add r0, r4, r0 +/* 802CDDF0 002C9A50 88 A7 00 0D */ lbz r5, 0xd(r7) +/* 802CDDF4 002C9A54 88 C7 00 0E */ lbz r6, 0xe(r7) +/* 802CDDF8 002C9A58 55 07 04 3E */ clrlwi r7, r8, 0x10 +/* 802CDDFC 002C9A5C 55 24 04 3E */ clrlwi r4, r9, 0x10 +/* 802CDE00 002C9A60 54 08 04 3E */ clrlwi r8, r0, 0x10 +/* 802CDE04 002C9A64 4B FF C8 59 */ bl func_802CA65C +/* 802CDE08 002C9A68 48 00 00 0C */ b lbl_802CDE14 +lbl_802CDE0C: +/* 802CDE0C 002C9A6C 38 67 00 0A */ addi r3, r7, 0xa +/* 802CDE10 002C9A70 4B FF 8D 19 */ bl func_802C6B28 +lbl_802CDE14: +/* 802CDE14 002C9A74 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802CDE18 002C9A78 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 802CDE1C 002C9A7C 83 C1 00 38 */ lwz r30, 0x38(r1) +/* 802CDE20 002C9A80 83 A1 00 34 */ lwz r29, 0x34(r1) +/* 802CDE24 002C9A84 83 81 00 30 */ lwz r28, 0x30(r1) +/* 802CDE28 002C9A88 7C 08 03 A6 */ mtlr r0 +/* 802CDE2C 002C9A8C 38 21 00 40 */ addi r1, r1, 0x40 +/* 802CDE30 002C9A90 4E 80 00 20 */ blr + +.global func_802CDE34 +func_802CDE34: +/* 802CDE34 002C9A94 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CDE38 002C9A98 7C 08 02 A6 */ mflr r0 +/* 802CDE3C 002C9A9C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CDE40 002C9AA0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CDE44 002C9AA4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CDE48 002C9AA8 7C 7F 1B 78 */ mr r31, r3 +/* 802CDE4C 002C9AAC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CDE50 002C9AB0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CDE54 002C9AB4 41 82 00 28 */ beq lbl_802CDE7C +/* 802CDE58 002C9AB8 3C 60 80 57 */ lis r3, lbl_80568650@ha +/* 802CDE5C 002C9ABC 38 63 86 50 */ addi r3, r3, lbl_80568650@l +/* 802CDE60 002C9AC0 A0 03 00 6C */ lhz r0, 0x6c(r3) +/* 802CDE64 002C9AC4 2C 00 00 00 */ cmpwi r0, 0 +/* 802CDE68 002C9AC8 41 82 00 14 */ beq lbl_802CDE7C +/* 802CDE6C 002C9ACC 7F E4 FB 78 */ mr r4, r31 +/* 802CDE70 002C9AD0 38 63 00 64 */ addi r3, r3, 0x64 +/* 802CDE74 002C9AD4 4B FE C2 E1 */ bl func_802BA154 +/* 802CDE78 002C9AD8 3B E0 00 00 */ li r31, 0 +lbl_802CDE7C: +/* 802CDE7C 002C9ADC 3C 80 80 57 */ lis r4, lbl_80568650@ha +/* 802CDE80 002C9AE0 38 84 86 50 */ addi r4, r4, lbl_80568650@l +/* 802CDE84 002C9AE4 A0 04 00 80 */ lhz r0, 0x80(r4) +/* 802CDE88 002C9AE8 2C 00 00 00 */ cmpwi r0, 0 +/* 802CDE8C 002C9AEC 40 82 00 24 */ bne lbl_802CDEB0 +/* 802CDE90 002C9AF0 3C 60 80 57 */ lis r3, lbl_80568B78@ha +/* 802CDE94 002C9AF4 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l +/* 802CDE98 002C9AF8 88 03 06 4E */ lbz r0, 0x64e(r3) +/* 802CDE9C 002C9AFC 2C 00 00 00 */ cmpwi r0, 0 +/* 802CDEA0 002C9B00 40 82 00 10 */ bne lbl_802CDEB0 +/* 802CDEA4 002C9B04 A0 64 00 6C */ lhz r3, 0x6c(r4) +/* 802CDEA8 002C9B08 38 03 00 01 */ addi r0, r3, 1 +/* 802CDEAC 002C9B0C B0 04 00 80 */ sth r0, 0x80(r4) +lbl_802CDEB0: +/* 802CDEB0 002C9B10 3C 60 80 57 */ lis r3, lbl_80568650@ha +/* 802CDEB4 002C9B14 3B C3 86 50 */ addi r30, r3, lbl_80568650@l +/* 802CDEB8 002C9B18 48 00 00 C4 */ b lbl_802CDF7C +lbl_802CDEBC: +/* 802CDEBC 002C9B1C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CDEC0 002C9B20 40 82 00 10 */ bne lbl_802CDED0 +/* 802CDEC4 002C9B24 38 7E 00 64 */ addi r3, r30, 0x64 +/* 802CDEC8 002C9B28 4B FE C5 09 */ bl func_802BA3D0 +/* 802CDECC 002C9B2C 7C 7F 1B 78 */ mr r31, r3 +lbl_802CDED0: +/* 802CDED0 002C9B30 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CDED4 002C9B34 41 82 00 B4 */ beq lbl_802CDF88 +/* 802CDED8 002C9B38 A0 1F 00 04 */ lhz r0, 4(r31) +/* 802CDEDC 002C9B3C 7C 7F 02 14 */ add r3, r31, r0 +/* 802CDEE0 002C9B40 88 03 00 09 */ lbz r0, 9(r3) +/* 802CDEE4 002C9B44 88 63 00 08 */ lbz r3, 8(r3) +/* 802CDEE8 002C9B48 54 00 40 2E */ slwi r0, r0, 8 +/* 802CDEEC 002C9B4C 7C 03 02 14 */ add r0, r3, r0 +/* 802CDEF0 002C9B50 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 802CDEF4 002C9B54 28 00 0C 03 */ cmplwi r0, 0xc03 +/* 802CDEF8 002C9B58 41 82 00 68 */ beq lbl_802CDF60 +/* 802CDEFC 002C9B5C 28 00 0C 35 */ cmplwi r0, 0xc35 +/* 802CDF00 002C9B60 41 82 00 60 */ beq lbl_802CDF60 +/* 802CDF04 002C9B64 38 60 00 02 */ li r3, 2 +/* 802CDF08 002C9B68 4B FE BD 45 */ bl func_802B9C4C +/* 802CDF0C 002C9B6C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CDF10 002C9B70 7C 7D 1B 78 */ mr r29, r3 +/* 802CDF14 002C9B74 41 82 00 4C */ beq lbl_802CDF60 +/* 802CDF18 002C9B78 7F E4 FB 78 */ mr r4, r31 +/* 802CDF1C 002C9B7C 38 A0 00 08 */ li r5, 8 +/* 802CDF20 002C9B80 4B D3 60 E1 */ bl memcpy +/* 802CDF24 002C9B84 A0 7D 00 04 */ lhz r3, 4(r29) +/* 802CDF28 002C9B88 A0 1F 00 04 */ lhz r0, 4(r31) +/* 802CDF2C 002C9B8C 7C 7D 1A 14 */ add r3, r29, r3 +/* 802CDF30 002C9B90 A0 BF 00 02 */ lhz r5, 2(r31) +/* 802CDF34 002C9B94 7C 9F 02 14 */ add r4, r31, r0 +/* 802CDF38 002C9B98 38 63 00 08 */ addi r3, r3, 8 +/* 802CDF3C 002C9B9C 38 84 00 08 */ addi r4, r4, 8 +/* 802CDF40 002C9BA0 4B D3 60 C1 */ bl memcpy +/* 802CDF44 002C9BA4 7F A4 EB 78 */ mr r4, r29 +/* 802CDF48 002C9BA8 38 7E 00 70 */ addi r3, r30, 0x70 +/* 802CDF4C 002C9BAC 4B FE C2 09 */ bl func_802BA154 +/* 802CDF50 002C9BB0 38 7E 00 4C */ addi r3, r30, 0x4c +/* 802CDF54 002C9BB4 38 80 00 3C */ li r4, 0x3c +/* 802CDF58 002C9BB8 38 A0 00 08 */ li r5, 8 +/* 802CDF5C 002C9BBC 4B FE F5 81 */ bl func_802BD4DC +lbl_802CDF60: +/* 802CDF60 002C9BC0 A0 BE 00 80 */ lhz r5, 0x80(r30) +/* 802CDF64 002C9BC4 7F E3 FB 78 */ mr r3, r31 +/* 802CDF68 002C9BC8 38 80 20 00 */ li r4, 0x2000 +/* 802CDF6C 002C9BCC 38 05 FF FF */ addi r0, r5, -1 +/* 802CDF70 002C9BD0 B0 1E 00 80 */ sth r0, 0x80(r30) +/* 802CDF74 002C9BD4 4B FE ED FD */ bl func_802BCD70 +/* 802CDF78 002C9BD8 3B E0 00 00 */ li r31, 0 +lbl_802CDF7C: +/* 802CDF7C 002C9BDC A0 1E 00 80 */ lhz r0, 0x80(r30) +/* 802CDF80 002C9BE0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CDF84 002C9BE4 40 82 FF 38 */ bne lbl_802CDEBC +lbl_802CDF88: +/* 802CDF88 002C9BE8 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CDF8C 002C9BEC 41 82 00 18 */ beq lbl_802CDFA4 +/* 802CDF90 002C9BF0 3C 60 80 57 */ lis r3, lbl_80568650@ha +/* 802CDF94 002C9BF4 7F E4 FB 78 */ mr r4, r31 +/* 802CDF98 002C9BF8 38 63 86 50 */ addi r3, r3, lbl_80568650@l +/* 802CDF9C 002C9BFC 38 63 00 64 */ addi r3, r3, 0x64 +/* 802CDFA0 002C9C00 4B FE C1 B5 */ bl func_802BA154 +lbl_802CDFA4: +/* 802CDFA4 002C9C04 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CDFA8 002C9C08 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CDFAC 002C9C0C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CDFB0 002C9C10 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CDFB4 002C9C14 7C 08 03 A6 */ mtlr r0 +/* 802CDFB8 002C9C18 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CDFBC 002C9C1C 4E 80 00 20 */ blr + +.global func_802CDFC0 +func_802CDFC0: +/* 802CDFC0 002C9C20 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CDFC4 002C9C24 7C 08 02 A6 */ mflr r0 +/* 802CDFC8 002C9C28 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CDFCC 002C9C2C 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802CDFD0 002C9C30 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802CDFD4 002C9C34 88 03 00 02 */ lbz r0, 2(r3) +/* 802CDFD8 002C9C38 8B E3 00 00 */ lbz r31, 0(r3) +/* 802CDFDC 002C9C3C 54 04 40 2E */ slwi r4, r0, 8 +/* 802CDFE0 002C9C40 88 A3 00 01 */ lbz r5, 1(r3) +/* 802CDFE4 002C9C44 88 03 00 03 */ lbz r0, 3(r3) +/* 802CDFE8 002C9C48 7C 85 22 14 */ add r4, r5, r4 +/* 802CDFEC 002C9C4C 98 01 00 0D */ stb r0, 0xd(r1) +/* 802CDFF0 002C9C50 54 9E 05 3E */ clrlwi r30, r4, 0x14 +/* 802CDFF4 002C9C54 88 03 00 04 */ lbz r0, 4(r3) +/* 802CDFF8 002C9C58 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CDFFC 002C9C5C 88 03 00 05 */ lbz r0, 5(r3) +/* 802CE000 002C9C60 98 01 00 0B */ stb r0, 0xb(r1) +/* 802CE004 002C9C64 88 03 00 06 */ lbz r0, 6(r3) +/* 802CE008 002C9C68 98 01 00 0A */ stb r0, 0xa(r1) +/* 802CE00C 002C9C6C 88 03 00 07 */ lbz r0, 7(r3) +/* 802CE010 002C9C70 98 01 00 09 */ stb r0, 9(r1) +/* 802CE014 002C9C74 88 03 00 08 */ lbz r0, 8(r3) +/* 802CE018 002C9C78 98 01 00 08 */ stb r0, 8(r1) +/* 802CE01C 002C9C7C 88 03 00 09 */ lbz r0, 9(r3) +/* 802CE020 002C9C80 88 C3 00 0A */ lbz r6, 0xa(r3) +/* 802CE024 002C9C84 28 00 00 01 */ cmplwi r0, 1 +/* 802CE028 002C9C88 40 82 00 28 */ bne lbl_802CE050 +/* 802CE02C 002C9C8C 7F C4 F3 78 */ mr r4, r30 +/* 802CE030 002C9C90 7F E5 FB 78 */ mr r5, r31 +/* 802CE034 002C9C94 38 61 00 08 */ addi r3, r1, 8 +/* 802CE038 002C9C98 4B FF E4 C1 */ bl func_802CC4F8 +/* 802CE03C 002C9C9C 7F E3 FB 78 */ mr r3, r31 +/* 802CE040 002C9CA0 7F C4 F3 78 */ mr r4, r30 +/* 802CE044 002C9CA4 38 A1 00 08 */ addi r5, r1, 8 +/* 802CE048 002C9CA8 48 00 99 E5 */ bl func_802D7A2C +/* 802CE04C 002C9CAC 48 00 00 38 */ b lbl_802CE084 +lbl_802CE050: +/* 802CE050 002C9CB0 38 61 00 10 */ addi r3, r1, 0x10 +/* 802CE054 002C9CB4 38 80 00 00 */ li r4, 0 +/* 802CE058 002C9CB8 38 A0 00 0E */ li r5, 0xe +/* 802CE05C 002C9CBC 4B D3 60 A9 */ bl memset +/* 802CE060 002C9CC0 38 61 00 14 */ addi r3, r1, 0x14 +/* 802CE064 002C9CC4 38 81 00 08 */ addi r4, r1, 8 +/* 802CE068 002C9CC8 38 A0 00 06 */ li r5, 6 +/* 802CE06C 002C9CCC 4B D3 5F 95 */ bl memcpy +/* 802CE070 002C9CD0 7F E3 FB 78 */ mr r3, r31 +/* 802CE074 002C9CD4 7F C5 F3 78 */ mr r5, r30 +/* 802CE078 002C9CD8 38 81 00 08 */ addi r4, r1, 8 +/* 802CE07C 002C9CDC 38 C1 00 10 */ addi r6, r1, 0x10 +/* 802CE080 002C9CE0 4B FF BF 8D */ bl func_802CA00C +lbl_802CE084: +/* 802CE084 002C9CE4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CE088 002C9CE8 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802CE08C 002C9CEC 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802CE090 002C9CF0 7C 08 03 A6 */ mtlr r0 +/* 802CE094 002C9CF4 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CE098 002C9CF8 4E 80 00 20 */ blr + +.global func_802CE09C +func_802CE09C: +/* 802CE09C 002C9CFC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CE0A0 002C9D00 7C 08 02 A6 */ mflr r0 +/* 802CE0A4 002C9D04 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CE0A8 002C9D08 88 03 00 00 */ lbz r0, 0(r3) +/* 802CE0AC 002C9D0C 98 01 00 11 */ stb r0, 0x11(r1) +/* 802CE0B0 002C9D10 88 03 00 01 */ lbz r0, 1(r3) +/* 802CE0B4 002C9D14 98 01 00 10 */ stb r0, 0x10(r1) +/* 802CE0B8 002C9D18 88 03 00 02 */ lbz r0, 2(r3) +/* 802CE0BC 002C9D1C 98 01 00 0F */ stb r0, 0xf(r1) +/* 802CE0C0 002C9D20 88 03 00 03 */ lbz r0, 3(r3) +/* 802CE0C4 002C9D24 98 01 00 0E */ stb r0, 0xe(r1) +/* 802CE0C8 002C9D28 88 03 00 04 */ lbz r0, 4(r3) +/* 802CE0CC 002C9D2C 98 01 00 0D */ stb r0, 0xd(r1) +/* 802CE0D0 002C9D30 88 03 00 05 */ lbz r0, 5(r3) +/* 802CE0D4 002C9D34 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CE0D8 002C9D38 88 03 00 06 */ lbz r0, 6(r3) +/* 802CE0DC 002C9D3C 98 01 00 0A */ stb r0, 0xa(r1) +/* 802CE0E0 002C9D40 88 03 00 07 */ lbz r0, 7(r3) +/* 802CE0E4 002C9D44 98 01 00 09 */ stb r0, 9(r1) +/* 802CE0E8 002C9D48 88 03 00 08 */ lbz r0, 8(r3) +/* 802CE0EC 002C9D4C 98 01 00 08 */ stb r0, 8(r1) +/* 802CE0F0 002C9D50 88 A3 00 09 */ lbz r5, 9(r3) +/* 802CE0F4 002C9D54 28 05 00 01 */ cmplwi r5, 1 +/* 802CE0F8 002C9D58 40 82 00 14 */ bne lbl_802CE10C +/* 802CE0FC 002C9D5C 38 61 00 0C */ addi r3, r1, 0xc +/* 802CE100 002C9D60 38 81 00 08 */ addi r4, r1, 8 +/* 802CE104 002C9D64 4B FF D9 15 */ bl func_802CBA18 +/* 802CE108 002C9D68 48 00 00 10 */ b lbl_802CE118 +lbl_802CE10C: +/* 802CE10C 002C9D6C 38 61 00 0C */ addi r3, r1, 0xc +/* 802CE110 002C9D70 38 81 00 08 */ addi r4, r1, 8 +/* 802CE114 002C9D74 4B FF BD 19 */ bl func_802C9E2C +lbl_802CE118: +/* 802CE118 002C9D78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CE11C 002C9D7C 7C 08 03 A6 */ mtlr r0 +/* 802CE120 002C9D80 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CE124 002C9D84 4E 80 00 20 */ blr + +.global func_802CE128 +func_802CE128: +/* 802CE128 002C9D88 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CE12C 002C9D8C 7C 08 02 A6 */ mflr r0 +/* 802CE130 002C9D90 7C 66 1B 78 */ mr r6, r3 +/* 802CE134 002C9D94 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CE138 002C9D98 38 A1 00 08 */ addi r5, r1, 8 +/* 802CE13C 002C9D9C 88 86 00 02 */ lbz r4, 2(r6) +/* 802CE140 002C9DA0 88 63 00 00 */ lbz r3, 0(r3) +/* 802CE144 002C9DA4 88 E6 00 01 */ lbz r7, 1(r6) +/* 802CE148 002C9DA8 54 84 40 2E */ slwi r4, r4, 8 +/* 802CE14C 002C9DAC 88 06 00 03 */ lbz r0, 3(r6) +/* 802CE150 002C9DB0 7C 87 22 14 */ add r4, r7, r4 +/* 802CE154 002C9DB4 98 01 00 08 */ stb r0, 8(r1) +/* 802CE158 002C9DB8 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 802CE15C 002C9DBC 88 06 00 04 */ lbz r0, 4(r6) +/* 802CE160 002C9DC0 98 01 00 09 */ stb r0, 9(r1) +/* 802CE164 002C9DC4 88 E6 00 08 */ lbz r7, 8(r6) +/* 802CE168 002C9DC8 89 06 00 07 */ lbz r8, 7(r6) +/* 802CE16C 002C9DCC 88 06 00 06 */ lbz r0, 6(r6) +/* 802CE170 002C9DD0 54 E9 C0 0E */ slwi r9, r7, 0x18 +/* 802CE174 002C9DD4 88 E6 00 05 */ lbz r7, 5(r6) +/* 802CE178 002C9DD8 55 08 80 1E */ slwi r8, r8, 0x10 +/* 802CE17C 002C9DDC 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE180 002C9DE0 7C E8 3A 14 */ add r7, r8, r7 +/* 802CE184 002C9DE4 7C 09 02 14 */ add r0, r9, r0 +/* 802CE188 002C9DE8 7C 07 02 14 */ add r0, r7, r0 +/* 802CE18C 002C9DEC 90 01 00 0C */ stw r0, 0xc(r1) +/* 802CE190 002C9DF0 88 E6 00 0C */ lbz r7, 0xc(r6) +/* 802CE194 002C9DF4 89 06 00 0B */ lbz r8, 0xb(r6) +/* 802CE198 002C9DF8 88 06 00 0A */ lbz r0, 0xa(r6) +/* 802CE19C 002C9DFC 54 E9 C0 0E */ slwi r9, r7, 0x18 +/* 802CE1A0 002C9E00 88 E6 00 09 */ lbz r7, 9(r6) +/* 802CE1A4 002C9E04 55 08 80 1E */ slwi r8, r8, 0x10 +/* 802CE1A8 002C9E08 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE1AC 002C9E0C 7C E8 3A 14 */ add r7, r8, r7 +/* 802CE1B0 002C9E10 7C 09 02 14 */ add r0, r9, r0 +/* 802CE1B4 002C9E14 7C 07 02 14 */ add r0, r7, r0 +/* 802CE1B8 002C9E18 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CE1BC 002C9E1C 88 E6 00 10 */ lbz r7, 0x10(r6) +/* 802CE1C0 002C9E20 89 06 00 0F */ lbz r8, 0xf(r6) +/* 802CE1C4 002C9E24 88 06 00 0E */ lbz r0, 0xe(r6) +/* 802CE1C8 002C9E28 54 E9 C0 0E */ slwi r9, r7, 0x18 +/* 802CE1CC 002C9E2C 88 E6 00 0D */ lbz r7, 0xd(r6) +/* 802CE1D0 002C9E30 55 08 80 1E */ slwi r8, r8, 0x10 +/* 802CE1D4 002C9E34 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE1D8 002C9E38 7C E8 3A 14 */ add r7, r8, r7 +/* 802CE1DC 002C9E3C 7C 09 02 14 */ add r0, r9, r0 +/* 802CE1E0 002C9E40 7C 07 02 14 */ add r0, r7, r0 +/* 802CE1E4 002C9E44 90 01 00 18 */ stw r0, 0x18(r1) +/* 802CE1E8 002C9E48 89 06 00 14 */ lbz r8, 0x14(r6) +/* 802CE1EC 002C9E4C 88 E6 00 13 */ lbz r7, 0x13(r6) +/* 802CE1F0 002C9E50 88 06 00 12 */ lbz r0, 0x12(r6) +/* 802CE1F4 002C9E54 55 08 C0 0E */ slwi r8, r8, 0x18 +/* 802CE1F8 002C9E58 88 C6 00 11 */ lbz r6, 0x11(r6) +/* 802CE1FC 002C9E5C 54 E7 80 1E */ slwi r7, r7, 0x10 +/* 802CE200 002C9E60 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE204 002C9E64 7C C7 32 14 */ add r6, r7, r6 +/* 802CE208 002C9E68 7C 08 02 14 */ add r0, r8, r0 +/* 802CE20C 002C9E6C 7C 06 02 14 */ add r0, r6, r0 +/* 802CE210 002C9E70 90 01 00 1C */ stw r0, 0x1c(r1) +/* 802CE214 002C9E74 4B FF 66 FD */ bl func_802C4910 +/* 802CE218 002C9E78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CE21C 002C9E7C 7C 08 03 A6 */ mtlr r0 +/* 802CE220 002C9E80 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CE224 002C9E84 4E 80 00 20 */ blr + +.global func_802CE228 +func_802CE228: +/* 802CE228 002C9E88 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CE22C 002C9E8C 7C 08 02 A6 */ mflr r0 +/* 802CE230 002C9E90 38 A0 00 06 */ li r5, 6 +/* 802CE234 002C9E94 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CE238 002C9E98 38 81 00 08 */ addi r4, r1, 8 +/* 802CE23C 002C9E9C 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802CE240 002C9EA0 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802CE244 002C9EA4 88 03 00 02 */ lbz r0, 2(r3) +/* 802CE248 002C9EA8 8B E3 00 00 */ lbz r31, 0(r3) +/* 802CE24C 002C9EAC 54 06 40 2E */ slwi r6, r0, 8 +/* 802CE250 002C9EB0 88 E3 00 01 */ lbz r7, 1(r3) +/* 802CE254 002C9EB4 88 03 00 03 */ lbz r0, 3(r3) +/* 802CE258 002C9EB8 7C C7 32 14 */ add r6, r7, r6 +/* 802CE25C 002C9EBC 98 01 00 0D */ stb r0, 0xd(r1) +/* 802CE260 002C9EC0 54 DE 04 3E */ clrlwi r30, r6, 0x10 +/* 802CE264 002C9EC4 88 03 00 04 */ lbz r0, 4(r3) +/* 802CE268 002C9EC8 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CE26C 002C9ECC 88 03 00 05 */ lbz r0, 5(r3) +/* 802CE270 002C9ED0 98 01 00 0B */ stb r0, 0xb(r1) +/* 802CE274 002C9ED4 88 03 00 06 */ lbz r0, 6(r3) +/* 802CE278 002C9ED8 98 01 00 0A */ stb r0, 0xa(r1) +/* 802CE27C 002C9EDC 88 03 00 07 */ lbz r0, 7(r3) +/* 802CE280 002C9EE0 98 01 00 09 */ stb r0, 9(r1) +/* 802CE284 002C9EE4 88 03 00 08 */ lbz r0, 8(r3) +/* 802CE288 002C9EE8 98 01 00 08 */ stb r0, 8(r1) +/* 802CE28C 002C9EEC 88 03 00 09 */ lbz r0, 9(r3) +/* 802CE290 002C9EF0 98 01 00 1A */ stb r0, 0x1a(r1) +/* 802CE294 002C9EF4 88 03 00 0A */ lbz r0, 0xa(r3) +/* 802CE298 002C9EF8 98 01 00 1B */ stb r0, 0x1b(r1) +/* 802CE29C 002C9EFC 88 03 00 0B */ lbz r0, 0xb(r3) +/* 802CE2A0 002C9F00 98 01 00 1C */ stb r0, 0x1c(r1) +/* 802CE2A4 002C9F04 88 03 00 0D */ lbz r0, 0xd(r3) +/* 802CE2A8 002C9F08 88 C3 00 0C */ lbz r6, 0xc(r3) +/* 802CE2AC 002C9F0C 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE2B0 002C9F10 7C 06 02 14 */ add r0, r6, r0 +/* 802CE2B4 002C9F14 B0 01 00 10 */ sth r0, 0x10(r1) +/* 802CE2B8 002C9F18 88 03 00 0F */ lbz r0, 0xf(r3) +/* 802CE2BC 002C9F1C 88 C3 00 0E */ lbz r6, 0xe(r3) +/* 802CE2C0 002C9F20 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE2C4 002C9F24 7C 06 02 14 */ add r0, r6, r0 +/* 802CE2C8 002C9F28 B0 01 00 12 */ sth r0, 0x12(r1) +/* 802CE2CC 002C9F2C 88 03 00 10 */ lbz r0, 0x10(r3) +/* 802CE2D0 002C9F30 38 61 00 14 */ addi r3, r1, 0x14 +/* 802CE2D4 002C9F34 98 01 00 1D */ stb r0, 0x1d(r1) +/* 802CE2D8 002C9F38 4B D3 5D 29 */ bl memcpy +/* 802CE2DC 002C9F3C 7F E3 FB 78 */ mr r3, r31 +/* 802CE2E0 002C9F40 7F C5 F3 78 */ mr r5, r30 +/* 802CE2E4 002C9F44 38 81 00 08 */ addi r4, r1, 8 +/* 802CE2E8 002C9F48 38 C1 00 10 */ addi r6, r1, 0x10 +/* 802CE2EC 002C9F4C 4B FF BD 21 */ bl func_802CA00C +/* 802CE2F0 002C9F50 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CE2F4 002C9F54 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802CE2F8 002C9F58 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802CE2FC 002C9F5C 7C 08 03 A6 */ mtlr r0 +/* 802CE300 002C9F60 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CE304 002C9F64 4E 80 00 20 */ blr + +.global func_802CE308 +func_802CE308: +/* 802CE308 002C9F68 2C 03 0C 14 */ cmpwi r3, 0xc14 +/* 802CE30C 002C9F6C 7C 66 1B 78 */ mr r6, r3 +/* 802CE310 002C9F70 41 82 01 08 */ beq lbl_802CE418 +/* 802CE314 002C9F74 40 80 00 58 */ bge lbl_802CE36C +/* 802CE318 002C9F78 2C 03 0C 05 */ cmpwi r3, 0xc05 +/* 802CE31C 002C9F7C 41 82 00 B0 */ beq lbl_802CE3CC +/* 802CE320 002C9F80 40 80 00 28 */ bge lbl_802CE348 +/* 802CE324 002C9F84 2C 03 08 0C */ cmpwi r3, 0x80c +/* 802CE328 002C9F88 41 82 00 D0 */ beq lbl_802CE3F8 +/* 802CE32C 002C9F8C 40 80 00 10 */ bge lbl_802CE33C +/* 802CE330 002C9F90 2C 03 04 02 */ cmpwi r3, 0x402 +/* 802CE334 002C9F94 41 82 00 90 */ beq lbl_802CE3C4 +/* 802CE338 002C9F98 48 00 01 08 */ b lbl_802CE440 +lbl_802CE33C: +/* 802CE33C 002C9F9C 2C 03 0C 03 */ cmpwi r3, 0xc03 +/* 802CE340 002C9FA0 41 82 00 80 */ beq lbl_802CE3C0 +/* 802CE344 002C9FA4 48 00 00 FC */ b lbl_802CE440 +lbl_802CE348: +/* 802CE348 002C9FA8 2C 03 0C 11 */ cmpwi r3, 0xc11 +/* 802CE34C 002C9FAC 41 82 00 90 */ beq lbl_802CE3DC +/* 802CE350 002C9FB0 40 80 00 10 */ bge lbl_802CE360 +/* 802CE354 002C9FB4 2C 03 0C 0D */ cmpwi r3, 0xc0d +/* 802CE358 002C9FB8 41 82 00 7C */ beq lbl_802CE3D4 +/* 802CE35C 002C9FBC 48 00 00 E4 */ b lbl_802CE440 +lbl_802CE360: +/* 802CE360 002C9FC0 2C 03 0C 13 */ cmpwi r3, 0xc13 +/* 802CE364 002C9FC4 40 80 00 DC */ bge lbl_802CE440 +/* 802CE368 002C9FC8 48 00 00 7C */ b lbl_802CE3E4 +lbl_802CE36C: +/* 802CE36C 002C9FCC 2C 03 10 09 */ cmpwi r3, 0x1009 +/* 802CE370 002C9FD0 41 82 00 B4 */ beq lbl_802CE424 +/* 802CE374 002C9FD4 40 80 00 28 */ bge lbl_802CE39C +/* 802CE378 002C9FD8 2C 03 10 03 */ cmpwi r3, 0x1003 +/* 802CE37C 002C9FDC 41 82 00 90 */ beq lbl_802CE40C +/* 802CE380 002C9FE0 40 80 00 10 */ bge lbl_802CE390 +/* 802CE384 002C9FE4 2C 03 10 01 */ cmpwi r3, 0x1001 +/* 802CE388 002C9FE8 41 82 00 64 */ beq lbl_802CE3EC +/* 802CE38C 002C9FEC 48 00 00 B4 */ b lbl_802CE440 +lbl_802CE390: +/* 802CE390 002C9FF0 2C 03 10 05 */ cmpwi r3, 0x1005 +/* 802CE394 002C9FF4 41 82 00 6C */ beq lbl_802CE400 +/* 802CE398 002C9FF8 48 00 00 A8 */ b lbl_802CE440 +lbl_802CE39C: +/* 802CE39C 002C9FFC 2C 03 14 04 */ cmpwi r3, 0x1404 +/* 802CE3A0 002CA000 41 82 00 A0 */ beq lbl_802CE440 +/* 802CE3A4 002CA004 40 80 00 10 */ bge lbl_802CE3B4 +/* 802CE3A8 002CA008 2C 03 14 03 */ cmpwi r3, 0x1403 +/* 802CE3AC 002CA00C 40 80 00 84 */ bge lbl_802CE430 +/* 802CE3B0 002CA010 48 00 00 90 */ b lbl_802CE440 +lbl_802CE3B4: +/* 802CE3B4 002CA014 2C 03 14 06 */ cmpwi r3, 0x1406 +/* 802CE3B8 002CA018 40 80 00 88 */ bge lbl_802CE440 +/* 802CE3BC 002CA01C 48 00 00 7C */ b lbl_802CE438 +lbl_802CE3C0: +/* 802CE3C0 002CA020 4B FF 7A B4 */ b lbl_802C5E74 +lbl_802CE3C4: +/* 802CE3C4 002CA024 38 60 00 00 */ li r3, 0 +/* 802CE3C8 002CA028 4B FF A5 DC */ b func_802C89A4 +lbl_802CE3CC: +/* 802CE3CC 002CA02C 7C 83 23 78 */ mr r3, r4 +/* 802CE3D0 002CA030 4B FF A1 3C */ b lbl_802C850C +lbl_802CE3D4: +/* 802CE3D4 002CA034 7C 83 23 78 */ mr r3, r4 +/* 802CE3D8 002CA038 4B FF 8B 00 */ b lbl_802C6ED8 +lbl_802CE3DC: +/* 802CE3DC 002CA03C 7C 83 23 78 */ mr r3, r4 +/* 802CE3E0 002CA040 4B FF 8B 74 */ b lbl_802C6F54 +lbl_802CE3E4: +/* 802CE3E4 002CA044 7C 83 23 78 */ mr r3, r4 +/* 802CE3E8 002CA048 4B FF 8B C8 */ b lbl_802C6FB0 +lbl_802CE3EC: +/* 802CE3EC 002CA04C 7C 83 23 78 */ mr r3, r4 +/* 802CE3F0 002CA050 7C A4 2B 78 */ mr r4, r5 +/* 802CE3F4 002CA054 4B FF 7D 0C */ b lbl_802C6100 +lbl_802CE3F8: +/* 802CE3F8 002CA058 7C 83 23 78 */ mr r3, r4 +/* 802CE3FC 002CA05C 4B FF 5A 98 */ b lbl_802C3E94 +lbl_802CE400: +/* 802CE400 002CA060 7C 83 23 78 */ mr r3, r4 +/* 802CE404 002CA064 7C A4 2B 78 */ mr r4, r5 +/* 802CE408 002CA068 4B FF 7C 30 */ b lbl_802C6038 +lbl_802CE40C: +/* 802CE40C 002CA06C 7C 83 23 78 */ mr r3, r4 +/* 802CE410 002CA070 7C A4 2B 78 */ mr r4, r5 +/* 802CE414 002CA074 4B FF 7D A8 */ b lbl_802C61BC +lbl_802CE418: +/* 802CE418 002CA078 7C 83 23 78 */ mr r3, r4 +/* 802CE41C 002CA07C 7C A4 2B 78 */ mr r4, r5 +/* 802CE420 002CA080 4B FF 83 50 */ b lbl_802C6770 +lbl_802CE424: +/* 802CE424 002CA084 7C 83 23 78 */ mr r3, r4 +/* 802CE428 002CA088 7C A4 2B 78 */ mr r4, r5 +/* 802CE42C 002CA08C 4B FF 84 10 */ b lbl_802C683C +lbl_802CE430: +/* 802CE430 002CA090 7C 83 23 78 */ mr r3, r4 +/* 802CE434 002CA094 4B FF 69 48 */ b lbl_802C4D7C +lbl_802CE438: +/* 802CE438 002CA098 7C 83 23 78 */ mr r3, r4 +/* 802CE43C 002CA09C 4B FF 68 24 */ b lbl_802C4C60 +lbl_802CE440: +/* 802CE440 002CA0A0 54 63 04 2A */ rlwinm r3, r3, 0, 0x10, 0x15 +/* 802CE444 002CA0A4 3C 03 00 00 */ addis r0, r3, 0 +/* 802CE448 002CA0A8 28 00 FC 00 */ cmplwi r0, 0xfc00 +/* 802CE44C 002CA0AC 4C 82 00 20 */ bnelr +/* 802CE450 002CA0B0 7C 83 23 78 */ mr r3, r4 +/* 802CE454 002CA0B4 7C C4 33 78 */ mr r4, r6 +/* 802CE458 002CA0B8 4B FF 86 2C */ b func_802C6A84 +/* 802CE45C 002CA0BC 4E 80 00 20 */ blr + +.global func_802CE460 +func_802CE460: +/* 802CE460 002CA0C0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CE464 002CA0C4 7C 08 02 A6 */ mflr r0 +/* 802CE468 002CA0C8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CE46C 002CA0CC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CE470 002CA0D0 3F E0 80 57 */ lis r31, lbl_80568650@ha +/* 802CE474 002CA0D4 3B FF 86 50 */ addi r31, r31, lbl_80568650@l +/* 802CE478 002CA0D8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CE47C 002CA0DC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CE480 002CA0E0 7C 9D 23 78 */ mr r29, r4 +/* 802CE484 002CA0E4 93 81 00 10 */ stw r28, 0x10(r1) +/* 802CE488 002CA0E8 7C 7C 1B 78 */ mr r28, r3 +/* 802CE48C 002CA0EC 88 03 00 00 */ lbz r0, 0(r3) +/* 802CE490 002CA0F0 B0 1F 00 80 */ sth r0, 0x80(r31) +/* 802CE494 002CA0F4 88 03 00 02 */ lbz r0, 2(r3) +/* 802CE498 002CA0F8 88 63 00 01 */ lbz r3, 1(r3) +/* 802CE49C 002CA0FC 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE4A0 002CA100 7C 03 02 14 */ add r0, r3, r0 +/* 802CE4A4 002CA104 54 1E 04 3E */ clrlwi r30, r0, 0x10 +/* 802CE4A8 002CA108 28 1E 0C 03 */ cmplwi r30, 0xc03 +/* 802CE4AC 002CA10C 41 82 00 90 */ beq lbl_802CE53C +/* 802CE4B0 002CA110 28 1E 0C 35 */ cmplwi r30, 0xc35 +/* 802CE4B4 002CA114 41 82 00 88 */ beq lbl_802CE53C +/* 802CE4B8 002CA118 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CE4BC 002CA11C 41 82 00 80 */ beq lbl_802CE53C +/* 802CE4C0 002CA120 38 7F 00 70 */ addi r3, r31, 0x70 +/* 802CE4C4 002CA124 4B FE BF 0D */ bl func_802BA3D0 +/* 802CE4C8 002CA128 2C 03 00 00 */ cmpwi r3, 0 +/* 802CE4CC 002CA12C 41 82 00 3C */ beq lbl_802CE508 +/* 802CE4D0 002CA130 88 03 00 09 */ lbz r0, 9(r3) +/* 802CE4D4 002CA134 28 1E FC 4C */ cmplwi r30, 0xfc4c +/* 802CE4D8 002CA138 88 83 00 08 */ lbz r4, 8(r3) +/* 802CE4DC 002CA13C 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE4E0 002CA140 7C 04 02 14 */ add r0, r4, r0 +/* 802CE4E4 002CA144 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 802CE4E8 002CA148 40 82 00 1C */ bne lbl_802CE504 +/* 802CE4EC 002CA14C 7C 00 F0 40 */ cmplw r0, r30 +/* 802CE4F0 002CA150 41 82 00 14 */ beq lbl_802CE504 +/* 802CE4F4 002CA154 7C 64 1B 78 */ mr r4, r3 +/* 802CE4F8 002CA158 38 7F 00 70 */ addi r3, r31, 0x70 +/* 802CE4FC 002CA15C 4B FE BD 95 */ bl func_802BA290 +/* 802CE500 002CA160 48 00 00 58 */ b lbl_802CE558 +lbl_802CE504: +/* 802CE504 002CA164 4B FE B8 31 */ bl func_802B9D34 +lbl_802CE508: +/* 802CE508 002CA168 3F E0 80 57 */ lis r31, lbl_80568650@ha +/* 802CE50C 002CA16C 3B FF 86 50 */ addi r31, r31, lbl_80568650@l +/* 802CE510 002CA170 38 7F 00 70 */ addi r3, r31, 0x70 +/* 802CE514 002CA174 4B FE C0 45 */ bl func_802BA558 +/* 802CE518 002CA178 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CE51C 002CA17C 40 82 00 18 */ bne lbl_802CE534 +/* 802CE520 002CA180 38 7F 00 4C */ addi r3, r31, 0x4c +/* 802CE524 002CA184 38 80 00 3C */ li r4, 0x3c +/* 802CE528 002CA188 38 A0 00 08 */ li r5, 8 +/* 802CE52C 002CA18C 4B FE EF B1 */ bl func_802BD4DC +/* 802CE530 002CA190 48 00 00 0C */ b lbl_802CE53C +lbl_802CE534: +/* 802CE534 002CA194 38 7F 00 4C */ addi r3, r31, 0x4c +/* 802CE538 002CA198 4B FE F0 15 */ bl func_802BD54C +lbl_802CE53C: +/* 802CE53C 002CA19C 38 1D FF FD */ addi r0, r29, -3 +/* 802CE540 002CA1A0 7F C3 F3 78 */ mr r3, r30 +/* 802CE544 002CA1A4 38 9C 00 03 */ addi r4, r28, 3 +/* 802CE548 002CA1A8 54 05 04 3E */ clrlwi r5, r0, 0x10 +/* 802CE54C 002CA1AC 4B FF FD BD */ bl func_802CE308 +/* 802CE550 002CA1B0 38 60 00 00 */ li r3, 0 +/* 802CE554 002CA1B4 4B FF F8 E1 */ bl func_802CDE34 +lbl_802CE558: +/* 802CE558 002CA1B8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CE55C 002CA1BC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CE560 002CA1C0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CE564 002CA1C4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CE568 002CA1C8 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802CE56C 002CA1CC 7C 08 03 A6 */ mtlr r0 +/* 802CE570 002CA1D0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CE574 002CA1D4 4E 80 00 20 */ blr + +.global func_802CE578 +func_802CE578: +/* 802CE578 002CA1D8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CE57C 002CA1DC 7C 08 02 A6 */ mflr r0 +/* 802CE580 002CA1E0 2C 03 08 02 */ cmpwi r3, 0x802 +/* 802CE584 002CA1E4 7C 66 1B 78 */ mr r6, r3 +/* 802CE588 002CA1E8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CE58C 002CA1EC 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802CE590 002CA1F0 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802CE594 002CA1F4 7C 9E 23 78 */ mr r30, r4 +/* 802CE598 002CA1F8 41 82 00 28 */ beq lbl_802CE5C0 +/* 802CE59C 002CA1FC 40 80 00 10 */ bge lbl_802CE5AC +/* 802CE5A0 002CA200 2C 03 08 01 */ cmpwi r3, 0x801 +/* 802CE5A4 002CA204 40 80 00 10 */ bge lbl_802CE5B4 +/* 802CE5A8 002CA208 48 00 00 18 */ b lbl_802CE5C0 +lbl_802CE5AC: +/* 802CE5AC 002CA20C 2C 03 08 07 */ cmpwi r3, 0x807 +/* 802CE5B0 002CA210 40 80 00 10 */ bge lbl_802CE5C0 +lbl_802CE5B4: +/* 802CE5B4 002CA214 7F C3 F3 78 */ mr r3, r30 +/* 802CE5B8 002CA218 4B FF B1 F1 */ bl func_802C97A8 +/* 802CE5BC 002CA21C 48 00 01 A4 */ b lbl_802CE760 +lbl_802CE5C0: +/* 802CE5C0 002CA220 2C 04 00 00 */ cmpwi r4, 0 +/* 802CE5C4 002CA224 41 82 01 9C */ beq lbl_802CE760 +/* 802CE5C8 002CA228 2C 03 04 19 */ cmpwi r3, 0x419 +/* 802CE5CC 002CA22C 41 82 00 50 */ beq lbl_802CE61C +/* 802CE5D0 002CA230 40 80 00 28 */ bge lbl_802CE5F8 +/* 802CE5D4 002CA234 2C 03 04 01 */ cmpwi r3, 0x401 +/* 802CE5D8 002CA238 41 82 00 38 */ beq lbl_802CE610 +/* 802CE5DC 002CA23C 40 80 00 10 */ bge lbl_802CE5EC +/* 802CE5E0 002CA240 2C 03 00 0D */ cmpwi r3, 0xd +/* 802CE5E4 002CA244 41 82 00 60 */ beq lbl_802CE644 +/* 802CE5E8 002CA248 48 00 01 58 */ b lbl_802CE740 +lbl_802CE5EC: +/* 802CE5EC 002CA24C 2C 03 04 05 */ cmpwi r3, 0x405 +/* 802CE5F0 002CA250 41 82 00 80 */ beq lbl_802CE670 +/* 802CE5F4 002CA254 48 00 01 4C */ b lbl_802CE740 +lbl_802CE5F8: +/* 802CE5F8 002CA258 2C 03 08 0B */ cmpwi r3, 0x80b +/* 802CE5FC 002CA25C 41 82 00 5C */ beq lbl_802CE658 +/* 802CE600 002CA260 40 80 01 40 */ bge lbl_802CE740 +/* 802CE604 002CA264 2C 03 04 28 */ cmpwi r3, 0x428 +/* 802CE608 002CA268 41 82 00 D4 */ beq lbl_802CE6DC +/* 802CE60C 002CA26C 48 00 01 34 */ b lbl_802CE740 +lbl_802CE610: +/* 802CE610 002CA270 7F C3 F3 78 */ mr r3, r30 +/* 802CE614 002CA274 4B FF A3 91 */ bl func_802C89A4 +/* 802CE618 002CA278 48 00 01 48 */ b lbl_802CE760 +lbl_802CE61C: +/* 802CE61C 002CA27C 7F C6 F3 78 */ mr r6, r30 +/* 802CE620 002CA280 38 60 00 00 */ li r3, 0 +/* 802CE624 002CA284 38 80 00 00 */ li r4, 0 +/* 802CE628 002CA288 38 A0 00 00 */ li r5, 0 +/* 802CE62C 002CA28C 4B FF A5 CD */ bl func_802C8BF8 +/* 802CE630 002CA290 7F C5 F3 78 */ mr r5, r30 +/* 802CE634 002CA294 38 60 00 00 */ li r3, 0 +/* 802CE638 002CA298 38 80 00 00 */ li r4, 0 +/* 802CE63C 002CA29C 4B FF D6 19 */ bl func_802CBC54 +/* 802CE640 002CA2A0 48 00 01 20 */ b lbl_802CE760 +lbl_802CE644: +/* 802CE644 002CA2A4 7F C3 F3 78 */ mr r3, r30 +/* 802CE648 002CA2A8 38 80 00 00 */ li r4, 0 +/* 802CE64C 002CA2AC 38 A0 00 00 */ li r5, 0 +/* 802CE650 002CA2B0 4B FF 62 C1 */ bl func_802C4910 +/* 802CE654 002CA2B4 48 00 01 0C */ b lbl_802CE760 +lbl_802CE658: +/* 802CE658 002CA2B8 7F C3 F3 78 */ mr r3, r30 +/* 802CE65C 002CA2BC 38 80 00 00 */ li r4, 0 +/* 802CE660 002CA2C0 38 A0 00 FF */ li r5, 0xff +/* 802CE664 002CA2C4 4B FF 5E 79 */ bl func_802C44DC +/* 802CE668 002CA2C8 48 00 A2 71 */ bl func_802D88D8 +/* 802CE66C 002CA2CC 48 00 00 F4 */ b lbl_802CE760 +lbl_802CE670: +/* 802CE670 002CA2D0 2C 05 00 00 */ cmpwi r5, 0 +/* 802CE674 002CA2D4 41 82 00 EC */ beq lbl_802CE760 +/* 802CE678 002CA2D8 88 85 00 01 */ lbz r4, 1(r5) +/* 802CE67C 002CA2DC 3F E0 00 01 */ lis r31, 0x0000FFFF@ha +/* 802CE680 002CA2E0 38 1F FF FF */ addi r0, r31, 0x0000FFFF@l +/* 802CE684 002CA2E4 38 61 00 08 */ addi r3, r1, 8 +/* 802CE688 002CA2E8 98 81 00 0D */ stb r4, 0xd(r1) +/* 802CE68C 002CA2EC 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802CE690 002CA2F0 38 C0 00 00 */ li r6, 0 +/* 802CE694 002CA2F4 88 05 00 02 */ lbz r0, 2(r5) +/* 802CE698 002CA2F8 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CE69C 002CA2FC 88 05 00 03 */ lbz r0, 3(r5) +/* 802CE6A0 002CA300 98 01 00 0B */ stb r0, 0xb(r1) +/* 802CE6A4 002CA304 88 05 00 04 */ lbz r0, 4(r5) +/* 802CE6A8 002CA308 98 01 00 0A */ stb r0, 0xa(r1) +/* 802CE6AC 002CA30C 88 05 00 05 */ lbz r0, 5(r5) +/* 802CE6B0 002CA310 98 01 00 09 */ stb r0, 9(r1) +/* 802CE6B4 002CA314 88 05 00 06 */ lbz r0, 6(r5) +/* 802CE6B8 002CA318 7F C5 F3 78 */ mr r5, r30 +/* 802CE6BC 002CA31C 98 01 00 08 */ stb r0, 8(r1) +/* 802CE6C0 002CA320 4B FF DE 39 */ bl func_802CC4F8 +/* 802CE6C4 002CA324 38 1F FF FF */ addi r0, r31, -1 +/* 802CE6C8 002CA328 7F C3 F3 78 */ mr r3, r30 +/* 802CE6CC 002CA32C 38 A1 00 08 */ addi r5, r1, 8 +/* 802CE6D0 002CA330 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802CE6D4 002CA334 48 00 93 59 */ bl func_802D7A2C +/* 802CE6D8 002CA338 48 00 00 88 */ b lbl_802CE760 +lbl_802CE6DC: +/* 802CE6DC 002CA33C 2C 05 00 00 */ cmpwi r5, 0 +/* 802CE6E0 002CA340 41 82 00 80 */ beq lbl_802CE760 +/* 802CE6E4 002CA344 88 05 00 02 */ lbz r0, 2(r5) +/* 802CE6E8 002CA348 88 65 00 01 */ lbz r3, 1(r5) +/* 802CE6EC 002CA34C 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE6F0 002CA350 7C 03 02 14 */ add r0, r3, r0 +/* 802CE6F4 002CA354 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 802CE6F8 002CA358 7F E3 FB 78 */ mr r3, r31 +/* 802CE6FC 002CA35C 4B FF C0 65 */ bl func_802CA760 +/* 802CE700 002CA360 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CE704 002CA364 41 82 00 24 */ beq lbl_802CE728 +/* 802CE708 002CA368 7F C3 F3 78 */ mr r3, r30 +/* 802CE70C 002CA36C 7F E4 FB 78 */ mr r4, r31 +/* 802CE710 002CA370 38 A0 00 00 */ li r5, 0 +/* 802CE714 002CA374 38 C0 00 00 */ li r6, 0 +/* 802CE718 002CA378 38 E0 00 00 */ li r7, 0 +/* 802CE71C 002CA37C 39 00 00 00 */ li r8, 0 +/* 802CE720 002CA380 4B FF BF 3D */ bl func_802CA65C +/* 802CE724 002CA384 48 00 00 3C */ b lbl_802CE760 +lbl_802CE728: +/* 802CE728 002CA388 7F C3 F3 78 */ mr r3, r30 +/* 802CE72C 002CA38C 7F E5 FB 78 */ mr r5, r31 +/* 802CE730 002CA390 38 C1 00 10 */ addi r6, r1, 0x10 +/* 802CE734 002CA394 38 80 00 00 */ li r4, 0 +/* 802CE738 002CA398 4B FF B8 D5 */ bl func_802CA00C +/* 802CE73C 002CA39C 48 00 00 24 */ b lbl_802CE760 +lbl_802CE740: +/* 802CE740 002CA3A0 54 63 04 2A */ rlwinm r3, r3, 0, 0x10, 0x15 +/* 802CE744 002CA3A4 3C 03 00 00 */ addis r0, r3, 0 +/* 802CE748 002CA3A8 28 00 FC 00 */ cmplwi r0, 0xfc00 +/* 802CE74C 002CA3AC 40 82 00 14 */ bne lbl_802CE760 +/* 802CE750 002CA3B0 7C A3 2B 78 */ mr r3, r5 +/* 802CE754 002CA3B4 7C C4 33 78 */ mr r4, r6 +/* 802CE758 002CA3B8 38 A0 00 01 */ li r5, 1 +/* 802CE75C 002CA3BC 4B FF 83 29 */ bl func_802C6A84 +lbl_802CE760: +/* 802CE760 002CA3C0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CE764 002CA3C4 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802CE768 002CA3C8 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802CE76C 002CA3CC 7C 08 03 A6 */ mtlr r0 +/* 802CE770 002CA3D0 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CE774 002CA3D4 4E 80 00 20 */ blr + +.global func_802CE778 +func_802CE778: +/* 802CE778 002CA3D8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CE77C 002CA3DC 7C 08 02 A6 */ mflr r0 +/* 802CE780 002CA3E0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CE784 002CA3E4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CE788 002CA3E8 4B EF 89 A1 */ bl _savegpr_27 +/* 802CE78C 002CA3EC 3C 80 80 57 */ lis r4, lbl_80568650@ha +/* 802CE790 002CA3F0 8B A3 00 00 */ lbz r29, 0(r3) +/* 802CE794 002CA3F4 88 03 00 01 */ lbz r0, 1(r3) +/* 802CE798 002CA3F8 38 84 86 50 */ addi r4, r4, lbl_80568650@l +/* 802CE79C 002CA3FC 3B E0 00 00 */ li r31, 0 +/* 802CE7A0 002CA400 3B 60 00 00 */ li r27, 0 +/* 802CE7A4 002CA404 B0 04 00 80 */ sth r0, 0x80(r4) +/* 802CE7A8 002CA408 88 03 00 03 */ lbz r0, 3(r3) +/* 802CE7AC 002CA40C 88 63 00 02 */ lbz r3, 2(r3) +/* 802CE7B0 002CA410 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE7B4 002CA414 7C 03 02 14 */ add r0, r3, r0 +/* 802CE7B8 002CA418 54 1C 04 3E */ clrlwi r28, r0, 0x10 +/* 802CE7BC 002CA41C 28 1C 0C 03 */ cmplwi r28, 0xc03 +/* 802CE7C0 002CA420 41 82 00 A0 */ beq lbl_802CE860 +/* 802CE7C4 002CA424 28 1C 0C 35 */ cmplwi r28, 0xc35 +/* 802CE7C8 002CA428 41 82 00 98 */ beq lbl_802CE860 +/* 802CE7CC 002CA42C 2C 1C 00 00 */ cmpwi r28, 0 +/* 802CE7D0 002CA430 41 82 00 90 */ beq lbl_802CE860 +/* 802CE7D4 002CA434 38 64 00 70 */ addi r3, r4, 0x70 +/* 802CE7D8 002CA438 4B FE BB F9 */ bl func_802BA3D0 +/* 802CE7DC 002CA43C 2C 03 00 00 */ cmpwi r3, 0 +/* 802CE7E0 002CA440 7C 7F 1B 78 */ mr r31, r3 +/* 802CE7E4 002CA444 41 82 00 48 */ beq lbl_802CE82C +/* 802CE7E8 002CA448 A0 03 00 04 */ lhz r0, 4(r3) +/* 802CE7EC 002CA44C 7C 63 02 14 */ add r3, r3, r0 +/* 802CE7F0 002CA450 88 03 00 09 */ lbz r0, 9(r3) +/* 802CE7F4 002CA454 3B 63 00 0A */ addi r27, r3, 0xa +/* 802CE7F8 002CA458 88 63 00 08 */ lbz r3, 8(r3) +/* 802CE7FC 002CA45C 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE800 002CA460 7C 03 02 14 */ add r0, r3, r0 +/* 802CE804 002CA464 54 06 04 3E */ clrlwi r6, r0, 0x10 +/* 802CE808 002CA468 7C 06 E0 40 */ cmplw r6, r28 +/* 802CE80C 002CA46C 41 82 00 20 */ beq lbl_802CE82C +/* 802CE810 002CA470 3C 60 00 07 */ lis r3, 0x00070001@ha +/* 802CE814 002CA474 3C 80 80 44 */ lis r4, lbl_804422B8@ha +/* 802CE818 002CA478 7F 85 E3 78 */ mr r5, r28 +/* 802CE81C 002CA47C 3B 60 00 00 */ li r27, 0 +/* 802CE820 002CA480 38 63 00 01 */ addi r3, r3, 0x00070001@l +/* 802CE824 002CA484 38 84 22 B8 */ addi r4, r4, lbl_804422B8@l +/* 802CE828 002CA488 4B FE E7 19 */ bl func_802BCF40 +lbl_802CE82C: +/* 802CE82C 002CA48C 3F C0 80 57 */ lis r30, lbl_80568650@ha +/* 802CE830 002CA490 3B DE 86 50 */ addi r30, r30, lbl_80568650@l +/* 802CE834 002CA494 38 7E 00 70 */ addi r3, r30, 0x70 +/* 802CE838 002CA498 4B FE BD 21 */ bl func_802BA558 +/* 802CE83C 002CA49C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CE840 002CA4A0 40 82 00 18 */ bne lbl_802CE858 +/* 802CE844 002CA4A4 38 7E 00 4C */ addi r3, r30, 0x4c +/* 802CE848 002CA4A8 38 80 00 3C */ li r4, 0x3c +/* 802CE84C 002CA4AC 38 A0 00 08 */ li r5, 8 +/* 802CE850 002CA4B0 4B FE EC 8D */ bl func_802BD4DC +/* 802CE854 002CA4B4 48 00 00 0C */ b lbl_802CE860 +lbl_802CE858: +/* 802CE858 002CA4B8 38 7E 00 4C */ addi r3, r30, 0x4c +/* 802CE85C 002CA4BC 4B FE EC F1 */ bl func_802BD54C +lbl_802CE860: +/* 802CE860 002CA4C0 7F 83 E3 78 */ mr r3, r28 +/* 802CE864 002CA4C4 7F A4 EB 78 */ mr r4, r29 +/* 802CE868 002CA4C8 7F 65 DB 78 */ mr r5, r27 +/* 802CE86C 002CA4CC 4B FF FD 0D */ bl func_802CE578 +/* 802CE870 002CA4D0 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CE874 002CA4D4 41 82 00 0C */ beq lbl_802CE880 +/* 802CE878 002CA4D8 7F E3 FB 78 */ mr r3, r31 +/* 802CE87C 002CA4DC 4B FE B4 B9 */ bl func_802B9D34 +lbl_802CE880: +/* 802CE880 002CA4E0 38 60 00 00 */ li r3, 0 +/* 802CE884 002CA4E4 4B FF F5 B1 */ bl func_802CDE34 +/* 802CE888 002CA4E8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CE88C 002CA4EC 4B EF 88 E9 */ bl _restgpr_27 +/* 802CE890 002CA4F0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CE894 002CA4F4 7C 08 03 A6 */ mtlr r0 +/* 802CE898 002CA4F8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CE89C 002CA4FC 4E 80 00 20 */ blr + +.global func_802CE8A0 +func_802CE8A0: +/* 802CE8A0 002CA500 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CE8A4 002CA504 7C 08 02 A6 */ mflr r0 +/* 802CE8A8 002CA508 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CE8AC 002CA50C 38 00 00 01 */ li r0, 1 +/* 802CE8B0 002CA510 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CE8B4 002CA514 3F E0 80 57 */ lis r31, lbl_80568650@ha +/* 802CE8B8 002CA518 3B FF 86 50 */ addi r31, r31, lbl_80568650@l +/* 802CE8BC 002CA51C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CE8C0 002CA520 38 7F 00 70 */ addi r3, r31, 0x70 +/* 802CE8C4 002CA524 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CE8C8 002CA528 B0 1F 00 80 */ sth r0, 0x80(r31) +/* 802CE8CC 002CA52C 4B FE BB 05 */ bl func_802BA3D0 +/* 802CE8D0 002CA530 2C 03 00 00 */ cmpwi r3, 0 +/* 802CE8D4 002CA534 7C 7E 1B 78 */ mr r30, r3 +/* 802CE8D8 002CA538 40 82 00 1C */ bne lbl_802CE8F4 +/* 802CE8DC 002CA53C 3C 60 00 07 */ lis r3, 0x00070001@ha +/* 802CE8E0 002CA540 3C 80 80 44 */ lis r4, lbl_804422E0@ha +/* 802CE8E4 002CA544 38 63 00 01 */ addi r3, r3, 0x00070001@l +/* 802CE8E8 002CA548 38 84 22 E0 */ addi r4, r4, lbl_804422E0@l +/* 802CE8EC 002CA54C 4B FE E6 25 */ bl func_802BCF10 +/* 802CE8F0 002CA550 48 00 00 EC */ b lbl_802CE9DC +lbl_802CE8F4: +/* 802CE8F4 002CA554 38 7F 00 70 */ addi r3, r31, 0x70 +/* 802CE8F8 002CA558 4B FE BC 61 */ bl func_802BA558 +/* 802CE8FC 002CA55C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802CE900 002CA560 40 82 00 14 */ bne lbl_802CE914 +/* 802CE904 002CA564 38 7F 00 4C */ addi r3, r31, 0x4c +/* 802CE908 002CA568 38 80 00 3C */ li r4, 0x3c +/* 802CE90C 002CA56C 38 A0 00 08 */ li r5, 8 +/* 802CE910 002CA570 4B FE EB CD */ bl func_802BD4DC +lbl_802CE914: +/* 802CE914 002CA574 A0 1E 00 04 */ lhz r0, 4(r30) +/* 802CE918 002CA578 3C 60 00 07 */ lis r3, 0x00070001@ha +/* 802CE91C 002CA57C 3C 80 80 44 */ lis r4, lbl_80442300@ha +/* 802CE920 002CA580 7F FE 02 14 */ add r31, r30, r0 +/* 802CE924 002CA584 38 63 00 01 */ addi r3, r3, 0x00070001@l +/* 802CE928 002CA588 88 1F 00 09 */ lbz r0, 9(r31) +/* 802CE92C 002CA58C 38 84 23 00 */ addi r4, r4, lbl_80442300@l +/* 802CE930 002CA590 88 BF 00 08 */ lbz r5, 8(r31) +/* 802CE934 002CA594 54 00 40 2E */ slwi r0, r0, 8 +/* 802CE938 002CA598 7C 05 02 14 */ add r0, r5, r0 +/* 802CE93C 002CA59C 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 802CE940 002CA5A0 7F A5 EB 78 */ mr r5, r29 +/* 802CE944 002CA5A4 4B FE E5 E5 */ bl func_802BCF28 +/* 802CE948 002CA5A8 2C 1D 04 19 */ cmpwi r29, 0x419 +/* 802CE94C 002CA5AC 41 82 00 4C */ beq lbl_802CE998 +/* 802CE950 002CA5B0 40 80 00 28 */ bge lbl_802CE978 +/* 802CE954 002CA5B4 2C 1D 04 01 */ cmpwi r29, 0x401 +/* 802CE958 002CA5B8 41 82 00 40 */ beq lbl_802CE998 +/* 802CE95C 002CA5BC 40 80 00 10 */ bge lbl_802CE96C +/* 802CE960 002CA5C0 2C 1D 00 0D */ cmpwi r29, 0xd +/* 802CE964 002CA5C4 41 82 00 34 */ beq lbl_802CE998 +/* 802CE968 002CA5C8 48 00 00 44 */ b lbl_802CE9AC +lbl_802CE96C: +/* 802CE96C 002CA5CC 2C 1D 04 05 */ cmpwi r29, 0x405 +/* 802CE970 002CA5D0 41 82 00 28 */ beq lbl_802CE998 +/* 802CE974 002CA5D4 48 00 00 38 */ b lbl_802CE9AC +lbl_802CE978: +/* 802CE978 002CA5D8 2C 1D 08 02 */ cmpwi r29, 0x802 +/* 802CE97C 002CA5DC 41 82 00 30 */ beq lbl_802CE9AC +/* 802CE980 002CA5E0 40 80 00 10 */ bge lbl_802CE990 +/* 802CE984 002CA5E4 2C 1D 08 01 */ cmpwi r29, 0x801 +/* 802CE988 002CA5E8 40 80 00 10 */ bge lbl_802CE998 +/* 802CE98C 002CA5EC 48 00 00 20 */ b lbl_802CE9AC +lbl_802CE990: +/* 802CE990 002CA5F0 2C 1D 08 07 */ cmpwi r29, 0x807 +/* 802CE994 002CA5F4 40 80 00 18 */ bge lbl_802CE9AC +lbl_802CE998: +/* 802CE998 002CA5F8 7F A3 EB 78 */ mr r3, r29 +/* 802CE99C 002CA5FC 38 BF 00 0A */ addi r5, r31, 0xa +/* 802CE9A0 002CA600 38 80 00 1F */ li r4, 0x1f +/* 802CE9A4 002CA604 4B FF FB D5 */ bl func_802CE578 +/* 802CE9A8 002CA608 48 00 00 1C */ b lbl_802CE9C4 +lbl_802CE9AC: +/* 802CE9AC 002CA60C 38 00 00 1F */ li r0, 0x1f +/* 802CE9B0 002CA610 7F A3 EB 78 */ mr r3, r29 +/* 802CE9B4 002CA614 98 01 00 08 */ stb r0, 8(r1) +/* 802CE9B8 002CA618 38 81 00 08 */ addi r4, r1, 8 +/* 802CE9BC 002CA61C 38 A0 00 01 */ li r5, 1 +/* 802CE9C0 002CA620 4B FF F9 49 */ bl func_802CE308 +lbl_802CE9C4: +/* 802CE9C4 002CA624 7F C3 F3 78 */ mr r3, r30 +/* 802CE9C8 002CA628 4B FE B3 6D */ bl func_802B9D34 +/* 802CE9CC 002CA62C 38 60 00 02 */ li r3, 2 +/* 802CE9D0 002CA630 4B FF 87 D5 */ bl func_802C71A4 +/* 802CE9D4 002CA634 38 60 00 00 */ li r3, 0 +/* 802CE9D8 002CA638 4B FF F4 5D */ bl func_802CDE34 +lbl_802CE9DC: +/* 802CE9DC 002CA63C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CE9E0 002CA640 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CE9E4 002CA644 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CE9E8 002CA648 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CE9EC 002CA64C 7C 08 03 A6 */ mtlr r0 +/* 802CE9F0 002CA650 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CE9F4 002CA654 4E 80 00 20 */ blr + +.global func_802CE9F8 +func_802CE9F8: +/* 802CE9F8 002CA658 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CE9FC 002CA65C 7C 08 02 A6 */ mflr r0 +/* 802CEA00 002CA660 38 A3 00 16 */ addi r5, r3, 0x16 +/* 802CEA04 002CA664 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CEA08 002CA668 38 81 00 10 */ addi r4, r1, 0x10 +/* 802CEA0C 002CA66C 88 03 00 00 */ lbz r0, 0(r3) +/* 802CEA10 002CA670 98 01 00 0D */ stb r0, 0xd(r1) +/* 802CEA14 002CA674 88 03 00 01 */ lbz r0, 1(r3) +/* 802CEA18 002CA678 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CEA1C 002CA67C 88 03 00 02 */ lbz r0, 2(r3) +/* 802CEA20 002CA680 98 01 00 0B */ stb r0, 0xb(r1) +/* 802CEA24 002CA684 88 03 00 03 */ lbz r0, 3(r3) +/* 802CEA28 002CA688 98 01 00 0A */ stb r0, 0xa(r1) +/* 802CEA2C 002CA68C 88 03 00 04 */ lbz r0, 4(r3) +/* 802CEA30 002CA690 98 01 00 09 */ stb r0, 9(r1) +/* 802CEA34 002CA694 88 03 00 05 */ lbz r0, 5(r3) +/* 802CEA38 002CA698 98 01 00 08 */ stb r0, 8(r1) +/* 802CEA3C 002CA69C 88 03 00 06 */ lbz r0, 6(r3) +/* 802CEA40 002CA6A0 98 01 00 1F */ stb r0, 0x1f(r1) +/* 802CEA44 002CA6A4 88 03 00 07 */ lbz r0, 7(r3) +/* 802CEA48 002CA6A8 98 01 00 1E */ stb r0, 0x1e(r1) +/* 802CEA4C 002CA6AC 88 03 00 08 */ lbz r0, 8(r3) +/* 802CEA50 002CA6B0 98 01 00 1D */ stb r0, 0x1d(r1) +/* 802CEA54 002CA6B4 88 03 00 09 */ lbz r0, 9(r3) +/* 802CEA58 002CA6B8 98 01 00 1C */ stb r0, 0x1c(r1) +/* 802CEA5C 002CA6BC 88 03 00 0A */ lbz r0, 0xa(r3) +/* 802CEA60 002CA6C0 98 01 00 1B */ stb r0, 0x1b(r1) +/* 802CEA64 002CA6C4 88 03 00 0B */ lbz r0, 0xb(r3) +/* 802CEA68 002CA6C8 98 01 00 1A */ stb r0, 0x1a(r1) +/* 802CEA6C 002CA6CC 88 03 00 0C */ lbz r0, 0xc(r3) +/* 802CEA70 002CA6D0 98 01 00 19 */ stb r0, 0x19(r1) +/* 802CEA74 002CA6D4 88 03 00 0D */ lbz r0, 0xd(r3) +/* 802CEA78 002CA6D8 98 01 00 18 */ stb r0, 0x18(r1) +/* 802CEA7C 002CA6DC 88 03 00 0E */ lbz r0, 0xe(r3) +/* 802CEA80 002CA6E0 98 01 00 17 */ stb r0, 0x17(r1) +/* 802CEA84 002CA6E4 88 03 00 0F */ lbz r0, 0xf(r3) +/* 802CEA88 002CA6E8 98 01 00 16 */ stb r0, 0x16(r1) +/* 802CEA8C 002CA6EC 88 03 00 10 */ lbz r0, 0x10(r3) +/* 802CEA90 002CA6F0 98 01 00 15 */ stb r0, 0x15(r1) +/* 802CEA94 002CA6F4 88 03 00 11 */ lbz r0, 0x11(r3) +/* 802CEA98 002CA6F8 98 01 00 14 */ stb r0, 0x14(r1) +/* 802CEA9C 002CA6FC 88 03 00 12 */ lbz r0, 0x12(r3) +/* 802CEAA0 002CA700 98 01 00 13 */ stb r0, 0x13(r1) +/* 802CEAA4 002CA704 88 03 00 13 */ lbz r0, 0x13(r3) +/* 802CEAA8 002CA708 98 01 00 12 */ stb r0, 0x12(r1) +/* 802CEAAC 002CA70C 88 03 00 14 */ lbz r0, 0x14(r3) +/* 802CEAB0 002CA710 98 01 00 11 */ stb r0, 0x11(r1) +/* 802CEAB4 002CA714 88 03 00 15 */ lbz r0, 0x15(r3) +/* 802CEAB8 002CA718 38 61 00 08 */ addi r3, r1, 8 +/* 802CEABC 002CA71C 98 01 00 10 */ stb r0, 0x10(r1) +/* 802CEAC0 002CA720 88 A5 00 00 */ lbz r5, 0(r5) +/* 802CEAC4 002CA724 4B FF E0 AD */ bl func_802CCB70 +/* 802CEAC8 002CA728 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CEACC 002CA72C 7C 08 03 A6 */ mtlr r0 +/* 802CEAD0 002CA730 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CEAD4 002CA734 4E 80 00 20 */ blr + +.global func_802CEAD8 +func_802CEAD8: +/* 802CEAD8 002CA738 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CEADC 002CA73C 7C 08 02 A6 */ mflr r0 +/* 802CEAE0 002CA740 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CEAE4 002CA744 4B FF A2 AD */ bl func_802C8D90 +/* 802CEAE8 002CA748 48 00 9F 7D */ bl func_802D8A64 +/* 802CEAEC 002CA74C 48 01 60 A9 */ bl func_802E4B94 +/* 802CEAF0 002CA750 4B FF 86 D5 */ bl func_802C71C4 +/* 802CEAF4 002CA754 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CEAF8 002CA758 7C 08 03 A6 */ mtlr r0 +/* 802CEAFC 002CA75C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CEB00 002CA760 4E 80 00 20 */ blr + +.global func_802CEB04 +func_802CEB04: +/* 802CEB04 002CA764 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CEB08 002CA768 7C 08 02 A6 */ mflr r0 +/* 802CEB0C 002CA76C 38 80 00 00 */ li r4, 0 +/* 802CEB10 002CA770 38 A0 00 84 */ li r5, 0x84 +/* 802CEB14 002CA774 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CEB18 002CA778 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CEB1C 002CA77C 3F E0 80 57 */ lis r31, lbl_80568650@ha +/* 802CEB20 002CA780 38 7F 86 50 */ addi r3, r31, lbl_80568650@l +/* 802CEB24 002CA784 4B D3 55 E1 */ bl memset +/* 802CEB28 002CA788 38 7F 86 50 */ addi r3, r31, -31152 +/* 802CEB2C 002CA78C 38 80 02 A4 */ li r4, 0x2a4 +/* 802CEB30 002CA790 38 00 00 01 */ li r0, 1 +/* 802CEB34 002CA794 B0 83 00 7E */ sth r4, 0x7e(r3) +/* 802CEB38 002CA798 B0 03 00 80 */ sth r0, 0x80(r3) +/* 802CEB3C 002CA79C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CEB40 002CA7A0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CEB44 002CA7A4 7C 08 03 A6 */ mtlr r0 +/* 802CEB48 002CA7A8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CEB4C 002CA7AC 4E 80 00 20 */ blr + +.global func_802CEB50 +func_802CEB50: +/* 802CEB50 002CA7B0 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802CEB54 002CA7B4 7C 08 02 A6 */ mflr r0 +/* 802CEB58 002CA7B8 90 01 01 24 */ stw r0, 0x124(r1) +/* 802CEB5C 002CA7BC 38 00 10 02 */ li r0, 0x1002 +/* 802CEB60 002CA7C0 38 61 00 14 */ addi r3, r1, 0x14 +/* 802CEB64 002CA7C4 38 81 00 10 */ addi r4, r1, 0x10 +/* 802CEB68 002CA7C8 93 E1 01 1C */ stw r31, 0x11c(r1) +/* 802CEB6C 002CA7CC 3B E0 00 00 */ li r31, 0 +/* 802CEB70 002CA7D0 93 C1 01 18 */ stw r30, 0x118(r1) +/* 802CEB74 002CA7D4 93 E1 00 10 */ stw r31, 0x10(r1) +/* 802CEB78 002CA7D8 B0 01 00 08 */ sth r0, 8(r1) +/* 802CEB7C 002CA7DC 48 01 3C 01 */ bl func_802E277C +/* 802CEB80 002CA7E0 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802CEB84 002CA7E4 41 82 00 4C */ beq lbl_802CEBD0 +/* 802CEB88 002CA7E8 3B C1 00 16 */ addi r30, r1, 0x16 +/* 802CEB8C 002CA7EC 38 80 00 00 */ li r4, 0 +/* 802CEB90 002CA7F0 7F C3 F3 78 */ mr r3, r30 +/* 802CEB94 002CA7F4 38 A0 00 FA */ li r5, 0xfa +/* 802CEB98 002CA7F8 4B D3 55 6D */ bl memset +/* 802CEB9C 002CA7FC 38 00 00 01 */ li r0, 1 +/* 802CEBA0 002CA800 38 60 00 0F */ li r3, 0xf +/* 802CEBA4 002CA804 B0 61 00 16 */ sth r3, 0x16(r1) +/* 802CEBA8 002CA808 7F C3 F3 78 */ mr r3, r30 +/* 802CEBAC 002CA80C 38 81 00 10 */ addi r4, r1, 0x10 +/* 802CEBB0 002CA810 B0 01 00 18 */ sth r0, 0x18(r1) +/* 802CEBB4 002CA814 98 01 00 1E */ stb r0, 0x1e(r1) +/* 802CEBB8 002CA818 48 01 38 65 */ bl func_802E241C +/* 802CEBBC 002CA81C 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802CEBC0 002CA820 41 82 00 10 */ beq lbl_802CEBD0 +/* 802CEBC4 002CA824 93 E1 00 10 */ stw r31, 0x10(r1) +/* 802CEBC8 002CA828 38 60 00 00 */ li r3, 0 +/* 802CEBCC 002CA82C 48 00 00 4C */ b lbl_802CEC18 +lbl_802CEBD0: +/* 802CEBD0 002CA830 80 61 00 10 */ lwz r3, 0x10(r1) +/* 802CEBD4 002CA834 38 C1 00 08 */ addi r6, r1, 8 +/* 802CEBD8 002CA838 38 80 00 05 */ li r4, 5 +/* 802CEBDC 002CA83C 38 A0 00 01 */ li r5, 1 +/* 802CEBE0 002CA840 48 01 48 AD */ bl func_802E348C +/* 802CEBE4 002CA844 38 00 00 00 */ li r0, 0 +/* 802CEBE8 002CA848 38 80 00 01 */ li r4, 1 +/* 802CEBEC 002CA84C 3C 60 00 01 */ lis r3, 0x00008001@ha +/* 802CEBF0 002CA850 98 01 00 0C */ stb r0, 0xc(r1) +/* 802CEBF4 002CA854 38 03 80 01 */ addi r0, r3, 0x00008001@l +/* 802CEBF8 002CA858 80 61 00 10 */ lwz r3, 0x10(r1) +/* 802CEBFC 002CA85C 98 81 00 0D */ stb r4, 0xd(r1) +/* 802CEC00 002CA860 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802CEC04 002CA864 38 E1 00 0C */ addi r7, r1, 0xc +/* 802CEC08 002CA868 38 A0 00 01 */ li r5, 1 +/* 802CEC0C 002CA86C 38 C0 00 02 */ li r6, 2 +/* 802CEC10 002CA870 48 01 44 E5 */ bl func_802E30F4 +/* 802CEC14 002CA874 38 60 00 01 */ li r3, 1 +lbl_802CEC18: +/* 802CEC18 002CA878 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802CEC1C 002CA87C 83 E1 01 1C */ lwz r31, 0x11c(r1) +/* 802CEC20 002CA880 83 C1 01 18 */ lwz r30, 0x118(r1) +/* 802CEC24 002CA884 7C 08 03 A6 */ mtlr r0 +/* 802CEC28 002CA888 38 21 01 20 */ addi r1, r1, 0x120 +/* 802CEC2C 002CA88C 4E 80 00 20 */ blr + +.global func_802CEC30 +func_802CEC30: +/* 802CEC30 002CA890 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CEC34 002CA894 7C 08 02 A6 */ mflr r0 +/* 802CEC38 002CA898 38 80 00 00 */ li r4, 0 +/* 802CEC3C 002CA89C 38 A0 03 AC */ li r5, 0x3ac +/* 802CEC40 002CA8A0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CEC44 002CA8A4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CEC48 002CA8A8 3F E0 80 57 */ lis r31, lbl_8056B340@ha +/* 802CEC4C 002CA8AC 38 7F B3 40 */ addi r3, r31, lbl_8056B340@l +/* 802CEC50 002CA8B0 4B D3 54 B5 */ bl memset +/* 802CEC54 002CA8B4 3C A0 80 2D */ lis r5, lbl_802CF9A4@ha +/* 802CEC58 002CA8B8 3C 60 80 2D */ lis r3, lbl_802CF9B0@ha +/* 802CEC5C 002CA8BC 38 A5 F9 A4 */ addi r5, r5, lbl_802CF9A4@l +/* 802CEC60 002CA8C0 38 9F B3 40 */ addi r4, r31, -19648 +/* 802CEC64 002CA8C4 38 63 F9 B0 */ addi r3, r3, lbl_802CF9B0@l +/* 802CEC68 002CA8C8 38 00 00 05 */ li r0, 5 +/* 802CEC6C 002CA8CC 90 A4 00 20 */ stw r5, 0x20(r4) +/* 802CEC70 002CA8D0 90 64 00 24 */ stw r3, 0x24(r4) +/* 802CEC74 002CA8D4 98 04 00 28 */ stb r0, 0x28(r4) +/* 802CEC78 002CA8D8 48 00 00 19 */ bl func_802CEC90 +/* 802CEC7C 002CA8DC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CEC80 002CA8E0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CEC84 002CA8E4 7C 08 03 A6 */ mtlr r0 +/* 802CEC88 002CA8E8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CEC8C 002CA8EC 4E 80 00 20 */ blr + +.global func_802CEC90 +func_802CEC90: +/* 802CEC90 002CA8F0 3D 40 80 2D */ lis r10, lbl_802CED00@ha +/* 802CEC94 002CA8F4 3D 20 80 57 */ lis r9, lbl_8056B340@ha +/* 802CEC98 002CA8F8 3D 00 80 2D */ lis r8, lbl_802CEE8C@ha +/* 802CEC9C 002CA8FC 3C E0 80 2D */ lis r7, lbl_802CF068@ha +/* 802CECA0 002CA900 3C C0 80 2D */ lis r6, lbl_802CF1A4@ha +/* 802CECA4 002CA904 3C A0 80 2D */ lis r5, lbl_802CF390@ha +/* 802CECA8 002CA908 3C 80 80 2D */ lis r4, lbl_802CF588@ha +/* 802CECAC 002CA90C 3C 60 80 2D */ lis r3, lbl_802CF698@ha +/* 802CECB0 002CA910 39 4A ED 00 */ addi r10, r10, lbl_802CED00@l +/* 802CECB4 002CA914 39 29 B3 40 */ addi r9, r9, lbl_8056B340@l +/* 802CECB8 002CA918 38 00 00 00 */ li r0, 0 +/* 802CECBC 002CA91C 39 08 EE 8C */ addi r8, r8, lbl_802CEE8C@l +/* 802CECC0 002CA920 38 E7 F0 68 */ addi r7, r7, lbl_802CF068@l +/* 802CECC4 002CA924 38 C6 F1 A4 */ addi r6, r6, lbl_802CF1A4@l +/* 802CECC8 002CA928 38 A5 F3 90 */ addi r5, r5, lbl_802CF390@l +/* 802CECCC 002CA92C 38 84 F5 88 */ addi r4, r4, lbl_802CF588@l +/* 802CECD0 002CA930 38 63 F6 98 */ addi r3, r3, lbl_802CF698@l +/* 802CECD4 002CA934 91 49 00 84 */ stw r10, 0x84(r9) +/* 802CECD8 002CA938 91 09 00 88 */ stw r8, 0x88(r9) +/* 802CECDC 002CA93C 90 09 00 8C */ stw r0, 0x8c(r9) +/* 802CECE0 002CA940 90 E9 00 90 */ stw r7, 0x90(r9) +/* 802CECE4 002CA944 90 C9 00 94 */ stw r6, 0x94(r9) +/* 802CECE8 002CA948 90 A9 00 98 */ stw r5, 0x98(r9) +/* 802CECEC 002CA94C 90 09 00 9C */ stw r0, 0x9c(r9) +/* 802CECF0 002CA950 90 09 00 A0 */ stw r0, 0xa0(r9) +/* 802CECF4 002CA954 90 89 00 A4 */ stw r4, 0xa4(r9) +/* 802CECF8 002CA958 90 69 00 A8 */ stw r3, 0xa8(r9) +/* 802CECFC 002CA95C 4E 80 00 20 */ blr +lbl_802CED00: +/* 802CED00 002CA960 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CED04 002CA964 7C 08 02 A6 */ mflr r0 +/* 802CED08 002CA968 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CED0C 002CA96C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CED10 002CA970 4B EF 84 15 */ bl _savegpr_26 +/* 802CED14 002CA974 3C E0 80 57 */ lis r7, lbl_8056B340@ha +/* 802CED18 002CA978 7C 7A 1B 78 */ mr r26, r3 +/* 802CED1C 002CA97C 38 E7 B3 40 */ addi r7, r7, lbl_8056B340@l +/* 802CED20 002CA980 7C 9F 23 78 */ mr r31, r4 +/* 802CED24 002CA984 7C BB 2B 78 */ mr r27, r5 +/* 802CED28 002CA988 7C DC 33 78 */ mr r28, r6 +/* 802CED2C 002CA98C 3B A7 00 AC */ addi r29, r7, 0xac +/* 802CED30 002CA990 3B C0 00 00 */ li r30, 0 +lbl_802CED34: +/* 802CED34 002CA994 88 1D 00 00 */ lbz r0, 0(r29) +/* 802CED38 002CA998 28 00 00 01 */ cmplwi r0, 1 +/* 802CED3C 002CA99C 40 82 00 34 */ bne lbl_802CED70 +/* 802CED40 002CA9A0 A0 1D 00 10 */ lhz r0, 0x10(r29) +/* 802CED44 002CA9A4 7C 00 D8 40 */ cmplw r0, r27 +/* 802CED48 002CA9A8 40 82 00 28 */ bne lbl_802CED70 +/* 802CED4C 002CA9AC 88 1D 00 08 */ lbz r0, 8(r29) +/* 802CED50 002CA9B0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CED54 002CA9B4 41 82 00 2C */ beq lbl_802CED80 +/* 802CED58 002CA9B8 7F 43 D3 78 */ mr r3, r26 +/* 802CED5C 002CA9BC 38 9D 00 09 */ addi r4, r29, 9 +/* 802CED60 002CA9C0 38 A0 00 06 */ li r5, 6 +/* 802CED64 002CA9C4 4B EF B6 35 */ bl memcmp +/* 802CED68 002CA9C8 2C 03 00 00 */ cmpwi r3, 0 +/* 802CED6C 002CA9CC 41 82 00 14 */ beq lbl_802CED80 +lbl_802CED70: +/* 802CED70 002CA9D0 3B DE 00 01 */ addi r30, r30, 1 +/* 802CED74 002CA9D4 3B BD 00 60 */ addi r29, r29, 0x60 +/* 802CED78 002CA9D8 28 1E 00 08 */ cmplwi r30, 8 +/* 802CED7C 002CA9DC 41 80 FF B8 */ blt lbl_802CED34 +lbl_802CED80: +/* 802CED80 002CA9E0 57 C0 04 3E */ clrlwi r0, r30, 0x10 +/* 802CED84 002CA9E4 28 00 00 08 */ cmplwi r0, 8 +/* 802CED88 002CA9E8 40 82 00 80 */ bne lbl_802CEE08 +/* 802CED8C 002CA9EC 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CED90 002CA9F0 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CED94 002CA9F4 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802CED98 002CA9F8 28 00 00 02 */ cmplwi r0, 2 +/* 802CED9C 002CA9FC 41 80 00 14 */ blt lbl_802CEDB0 +/* 802CEDA0 002CAA00 3C 60 00 0E */ lis r3, 0x000E0001@ha +/* 802CEDA4 002CAA04 38 8D 8A 50 */ addi r4, r13, lbl_8063DD10-_SDA_BASE_ +/* 802CEDA8 002CAA08 38 63 00 01 */ addi r3, r3, 0x000E0001@l +/* 802CEDAC 002CAA0C 4B FE E1 65 */ bl func_802BCF10 +lbl_802CEDB0: +/* 802CEDB0 002CAA10 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CEDB4 002CAA14 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CEDB8 002CAA18 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802CEDBC 002CAA1C 28 00 00 02 */ cmplwi r0, 2 +/* 802CEDC0 002CAA20 41 80 00 18 */ blt lbl_802CEDD8 +/* 802CEDC4 002CAA24 3C 60 00 0E */ lis r3, 0x000E0001@ha +/* 802CEDC8 002CAA28 3C 80 80 44 */ lis r4, lbl_80442330@ha +/* 802CEDCC 002CAA2C 38 63 00 01 */ addi r3, r3, 0x000E0001@l +/* 802CEDD0 002CAA30 38 84 23 30 */ addi r4, r4, lbl_80442330@l +/* 802CEDD4 002CAA34 4B FE E1 3D */ bl func_802BCF10 +lbl_802CEDD8: +/* 802CEDD8 002CAA38 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CEDDC 002CAA3C 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CEDE0 002CAA40 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802CEDE4 002CAA44 28 00 00 02 */ cmplwi r0, 2 +/* 802CEDE8 002CAA48 41 80 00 14 */ blt lbl_802CEDFC +/* 802CEDEC 002CAA4C 3C 60 00 0E */ lis r3, 0x000E0001@ha +/* 802CEDF0 002CAA50 38 8D 8A 50 */ addi r4, r13, lbl_8063DD10-_SDA_BASE_ +/* 802CEDF4 002CAA54 38 63 00 01 */ addi r3, r3, 0x000E0001@l +/* 802CEDF8 002CAA58 4B FE E1 19 */ bl func_802BCF10 +lbl_802CEDFC: +/* 802CEDFC 002CAA5C 7F E3 FB 78 */ mr r3, r31 +/* 802CEE00 002CAA60 48 00 71 A9 */ bl func_802D5FA8 +/* 802CEE04 002CAA64 48 00 00 70 */ b lbl_802CEE74 +lbl_802CEE08: +/* 802CEE08 002CAA68 38 00 00 03 */ li r0, 3 +/* 802CEE0C 002CAA6C 7F 44 D3 78 */ mr r4, r26 +/* 802CEE10 002CAA70 98 1D 00 00 */ stb r0, 0(r29) +/* 802CEE14 002CAA74 38 7D 00 09 */ addi r3, r29, 9 +/* 802CEE18 002CAA78 38 A0 00 06 */ li r5, 6 +/* 802CEE1C 002CAA7C 4B D3 51 E5 */ bl memcpy +/* 802CEE20 002CAA80 B3 FD 00 06 */ sth r31, 6(r29) +/* 802CEE24 002CAA84 7F 43 D3 78 */ mr r3, r26 +/* 802CEE28 002CAA88 7F 84 E3 78 */ mr r4, r28 +/* 802CEE2C 002CAA8C 7F E5 FB 78 */ mr r5, r31 +/* 802CEE30 002CAA90 38 C0 00 00 */ li r6, 0 +/* 802CEE34 002CAA94 38 E0 00 00 */ li r7, 0 +/* 802CEE38 002CAA98 48 00 6E 59 */ bl func_802D5C90 +/* 802CEE3C 002CAA9C 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CEE40 002CAAA0 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CEE44 002CAAA4 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802CEE48 002CAAA8 28 00 00 04 */ cmplwi r0, 4 +/* 802CEE4C 002CAAAC 41 80 00 1C */ blt lbl_802CEE68 +/* 802CEE50 002CAAB0 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CEE54 002CAAB4 3C 80 80 44 */ lis r4, lbl_80442374@ha +/* 802CEE58 002CAAB8 A0 BD 00 06 */ lhz r5, 6(r29) +/* 802CEE5C 002CAABC 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CEE60 002CAAC0 38 84 23 74 */ addi r4, r4, lbl_80442374@l +/* 802CEE64 002CAAC4 4B FE E0 C5 */ bl func_802BCF28 +lbl_802CEE68: +/* 802CEE68 002CAAC8 7F E3 FB 78 */ mr r3, r31 +/* 802CEE6C 002CAACC 38 9D 00 24 */ addi r4, r29, 0x24 +/* 802CEE70 002CAAD0 48 00 6F B1 */ bl func_802D5E20 +lbl_802CEE74: +/* 802CEE74 002CAAD4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CEE78 002CAAD8 4B EF 82 F9 */ bl _restgpr_26 +/* 802CEE7C 002CAADC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CEE80 002CAAE0 7C 08 03 A6 */ mtlr r0 +/* 802CEE84 002CAAE4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CEE88 002CAAE8 4E 80 00 20 */ blr +lbl_802CEE8C: +/* 802CEE8C 002CAAEC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CEE90 002CAAF0 7C 08 02 A6 */ mflr r0 +/* 802CEE94 002CAAF4 3C A0 80 57 */ lis r5, lbl_8056B340@ha +/* 802CEE98 002CAAF8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CEE9C 002CAAFC 38 00 00 02 */ li r0, 2 +/* 802CEEA0 002CAB00 38 A5 B3 40 */ addi r5, r5, lbl_8056B340@l +/* 802CEEA4 002CAB04 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CEEA8 002CAB08 3B E5 00 AC */ addi r31, r5, 0xac +/* 802CEEAC 002CAB0C 38 A0 00 00 */ li r5, 0 +/* 802CEEB0 002CAB10 93 C1 00 08 */ stw r30, 8(r1) +/* 802CEEB4 002CAB14 7C 09 03 A6 */ mtctr r0 +lbl_802CEEB8: +/* 802CEEB8 002CAB18 88 1F 00 00 */ lbz r0, 0(r31) +/* 802CEEBC 002CAB1C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CEEC0 002CAB20 41 82 00 14 */ beq lbl_802CEED4 +/* 802CEEC4 002CAB24 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CEEC8 002CAB28 7C 00 18 40 */ cmplw r0, r3 +/* 802CEECC 002CAB2C 40 82 00 08 */ bne lbl_802CEED4 +/* 802CEED0 002CAB30 48 00 00 74 */ b lbl_802CEF44 +lbl_802CEED4: +/* 802CEED4 002CAB34 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CEED8 002CAB38 38 A5 00 01 */ addi r5, r5, 1 +/* 802CEEDC 002CAB3C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CEEE0 002CAB40 41 82 00 14 */ beq lbl_802CEEF4 +/* 802CEEE4 002CAB44 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CEEE8 002CAB48 7C 00 18 40 */ cmplw r0, r3 +/* 802CEEEC 002CAB4C 40 82 00 08 */ bne lbl_802CEEF4 +/* 802CEEF0 002CAB50 48 00 00 54 */ b lbl_802CEF44 +lbl_802CEEF4: +/* 802CEEF4 002CAB54 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CEEF8 002CAB58 38 A5 00 01 */ addi r5, r5, 1 +/* 802CEEFC 002CAB5C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CEF00 002CAB60 41 82 00 14 */ beq lbl_802CEF14 +/* 802CEF04 002CAB64 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CEF08 002CAB68 7C 00 18 40 */ cmplw r0, r3 +/* 802CEF0C 002CAB6C 40 82 00 08 */ bne lbl_802CEF14 +/* 802CEF10 002CAB70 48 00 00 34 */ b lbl_802CEF44 +lbl_802CEF14: +/* 802CEF14 002CAB74 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CEF18 002CAB78 38 A5 00 01 */ addi r5, r5, 1 +/* 802CEF1C 002CAB7C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CEF20 002CAB80 41 82 00 14 */ beq lbl_802CEF34 +/* 802CEF24 002CAB84 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CEF28 002CAB88 7C 00 18 40 */ cmplw r0, r3 +/* 802CEF2C 002CAB8C 40 82 00 08 */ bne lbl_802CEF34 +/* 802CEF30 002CAB90 48 00 00 14 */ b lbl_802CEF44 +lbl_802CEF34: +/* 802CEF34 002CAB94 38 A5 00 01 */ addi r5, r5, 1 +/* 802CEF38 002CAB98 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802CEF3C 002CAB9C 42 00 FF 7C */ bdnz lbl_802CEEB8 +/* 802CEF40 002CABA0 3B E0 00 00 */ li r31, 0 +lbl_802CEF44: +/* 802CEF44 002CABA4 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CEF48 002CABA8 41 82 01 08 */ beq lbl_802CF050 +/* 802CEF4C 002CABAC 2C 04 00 00 */ cmpwi r4, 0 +/* 802CEF50 002CABB0 40 82 00 24 */ bne lbl_802CEF74 +/* 802CEF54 002CABB4 88 1F 00 00 */ lbz r0, 0(r31) +/* 802CEF58 002CABB8 28 00 00 02 */ cmplwi r0, 2 +/* 802CEF5C 002CABBC 40 82 00 18 */ bne lbl_802CEF74 +/* 802CEF60 002CABC0 38 00 00 03 */ li r0, 3 +/* 802CEF64 002CABC4 38 9F 00 24 */ addi r4, r31, 0x24 +/* 802CEF68 002CABC8 98 1F 00 00 */ stb r0, 0(r31) +/* 802CEF6C 002CABCC 48 00 6E B5 */ bl func_802D5E20 +/* 802CEF70 002CABD0 48 00 00 E0 */ b lbl_802CF050 +lbl_802CEF74: +/* 802CEF74 002CABD4 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802CEF78 002CABD8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CEF7C 002CABDC 41 82 00 14 */ beq lbl_802CEF90 +/* 802CEF80 002CABE0 A0 7F 00 04 */ lhz r3, 4(r31) +/* 802CEF84 002CABE4 38 80 01 01 */ li r4, 0x101 +/* 802CEF88 002CABE8 7D 89 03 A6 */ mtctr r12 +/* 802CEF8C 002CABEC 4E 80 04 21 */ bctrl +lbl_802CEF90: +/* 802CEF90 002CABF0 A3 DF 00 10 */ lhz r30, 0x10(r31) +/* 802CEF94 002CABF4 48 00 00 10 */ b lbl_802CEFA4 +lbl_802CEF98: +/* 802CEF98 002CABF8 38 7F 00 14 */ addi r3, r31, 0x14 +/* 802CEF9C 002CABFC 4B FE B4 35 */ bl func_802BA3D0 +/* 802CEFA0 002CAC00 4B FE AD 95 */ bl func_802B9D34 +lbl_802CEFA4: +/* 802CEFA4 002CAC04 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 802CEFA8 002CAC08 2C 00 00 00 */ cmpwi r0, 0 +/* 802CEFAC 002CAC0C 40 82 FF EC */ bne lbl_802CEF98 +/* 802CEFB0 002CAC10 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CEFB4 002CAC14 38 80 00 00 */ li r4, 0 +/* 802CEFB8 002CAC18 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CEFBC 002CAC1C 38 00 00 02 */ li r0, 2 +/* 802CEFC0 002CAC20 98 9F 00 00 */ stb r4, 0(r31) +/* 802CEFC4 002CAC24 38 83 00 AC */ addi r4, r3, 0xac +/* 802CEFC8 002CAC28 38 60 00 00 */ li r3, 0 +/* 802CEFCC 002CAC2C 7C 09 03 A6 */ mtctr r0 +lbl_802CEFD0: +/* 802CEFD0 002CAC30 88 04 00 00 */ lbz r0, 0(r4) +/* 802CEFD4 002CAC34 2C 00 00 00 */ cmpwi r0, 0 +/* 802CEFD8 002CAC38 41 82 00 10 */ beq lbl_802CEFE8 +/* 802CEFDC 002CAC3C A0 04 00 10 */ lhz r0, 0x10(r4) +/* 802CEFE0 002CAC40 7C 00 F0 40 */ cmplw r0, r30 +/* 802CEFE4 002CAC44 41 82 00 6C */ beq lbl_802CF050 +lbl_802CEFE8: +/* 802CEFE8 002CAC48 88 04 00 60 */ lbz r0, 0x60(r4) +/* 802CEFEC 002CAC4C 38 63 00 01 */ addi r3, r3, 1 +/* 802CEFF0 002CAC50 2C 00 00 00 */ cmpwi r0, 0 +/* 802CEFF4 002CAC54 41 82 00 10 */ beq lbl_802CF004 +/* 802CEFF8 002CAC58 A0 04 00 70 */ lhz r0, 0x70(r4) +/* 802CEFFC 002CAC5C 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF000 002CAC60 41 82 00 50 */ beq lbl_802CF050 +lbl_802CF004: +/* 802CF004 002CAC64 88 04 00 C0 */ lbz r0, 0xc0(r4) +/* 802CF008 002CAC68 38 63 00 01 */ addi r3, r3, 1 +/* 802CF00C 002CAC6C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF010 002CAC70 41 82 00 10 */ beq lbl_802CF020 +/* 802CF014 002CAC74 A0 04 00 D0 */ lhz r0, 0xd0(r4) +/* 802CF018 002CAC78 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF01C 002CAC7C 41 82 00 34 */ beq lbl_802CF050 +lbl_802CF020: +/* 802CF020 002CAC80 88 04 01 20 */ lbz r0, 0x120(r4) +/* 802CF024 002CAC84 38 63 00 01 */ addi r3, r3, 1 +/* 802CF028 002CAC88 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF02C 002CAC8C 41 82 00 10 */ beq lbl_802CF03C +/* 802CF030 002CAC90 A0 04 01 30 */ lhz r0, 0x130(r4) +/* 802CF034 002CAC94 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF038 002CAC98 41 82 00 18 */ beq lbl_802CF050 +lbl_802CF03C: +/* 802CF03C 002CAC9C 38 63 00 01 */ addi r3, r3, 1 +/* 802CF040 002CACA0 38 84 01 80 */ addi r4, r4, 0x180 +/* 802CF044 002CACA4 42 00 FF 8C */ bdnz lbl_802CEFD0 +/* 802CF048 002CACA8 7F C3 F3 78 */ mr r3, r30 +/* 802CF04C 002CACAC 48 00 69 81 */ bl func_802D59CC +lbl_802CF050: +/* 802CF050 002CACB0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF054 002CACB4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF058 002CACB8 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CF05C 002CACBC 7C 08 03 A6 */ mtlr r0 +/* 802CF060 002CACC0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF064 002CACC4 4E 80 00 20 */ blr +lbl_802CF068: +/* 802CF068 002CACC8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF06C 002CACCC 7C 08 02 A6 */ mflr r0 +/* 802CF070 002CACD0 3C A0 80 57 */ lis r5, lbl_8056B340@ha +/* 802CF074 002CACD4 38 C0 00 00 */ li r6, 0 +/* 802CF078 002CACD8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF07C 002CACDC 38 00 00 02 */ li r0, 2 +/* 802CF080 002CACE0 38 A5 B3 40 */ addi r5, r5, lbl_8056B340@l +/* 802CF084 002CACE4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF088 002CACE8 3B E5 00 AC */ addi r31, r5, 0xac +/* 802CF08C 002CACEC 7C 09 03 A6 */ mtctr r0 +lbl_802CF090: +/* 802CF090 002CACF0 88 1F 00 00 */ lbz r0, 0(r31) +/* 802CF094 002CACF4 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF098 002CACF8 41 82 00 14 */ beq lbl_802CF0AC +/* 802CF09C 002CACFC A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF0A0 002CAD00 7C 00 18 40 */ cmplw r0, r3 +/* 802CF0A4 002CAD04 40 82 00 08 */ bne lbl_802CF0AC +/* 802CF0A8 002CAD08 48 00 00 74 */ b lbl_802CF11C +lbl_802CF0AC: +/* 802CF0AC 002CAD0C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF0B0 002CAD10 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF0B4 002CAD14 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF0B8 002CAD18 41 82 00 14 */ beq lbl_802CF0CC +/* 802CF0BC 002CAD1C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF0C0 002CAD20 7C 00 18 40 */ cmplw r0, r3 +/* 802CF0C4 002CAD24 40 82 00 08 */ bne lbl_802CF0CC +/* 802CF0C8 002CAD28 48 00 00 54 */ b lbl_802CF11C +lbl_802CF0CC: +/* 802CF0CC 002CAD2C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF0D0 002CAD30 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF0D4 002CAD34 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF0D8 002CAD38 41 82 00 14 */ beq lbl_802CF0EC +/* 802CF0DC 002CAD3C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF0E0 002CAD40 7C 00 18 40 */ cmplw r0, r3 +/* 802CF0E4 002CAD44 40 82 00 08 */ bne lbl_802CF0EC +/* 802CF0E8 002CAD48 48 00 00 34 */ b lbl_802CF11C +lbl_802CF0EC: +/* 802CF0EC 002CAD4C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF0F0 002CAD50 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF0F4 002CAD54 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF0F8 002CAD58 41 82 00 14 */ beq lbl_802CF10C +/* 802CF0FC 002CAD5C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF100 002CAD60 7C 00 18 40 */ cmplw r0, r3 +/* 802CF104 002CAD64 40 82 00 08 */ bne lbl_802CF10C +/* 802CF108 002CAD68 48 00 00 14 */ b lbl_802CF11C +lbl_802CF10C: +/* 802CF10C 002CAD6C 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF110 002CAD70 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802CF114 002CAD74 42 00 FF 7C */ bdnz lbl_802CF090 +/* 802CF118 002CAD78 3B E0 00 00 */ li r31, 0 +lbl_802CF11C: +/* 802CF11C 002CAD7C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CF120 002CAD80 41 82 00 70 */ beq lbl_802CF190 +/* 802CF124 002CAD84 88 04 00 02 */ lbz r0, 2(r4) +/* 802CF128 002CAD88 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF12C 002CAD8C 41 82 00 10 */ beq lbl_802CF13C +/* 802CF130 002CAD90 A0 04 00 04 */ lhz r0, 4(r4) +/* 802CF134 002CAD94 28 00 06 9B */ cmplwi r0, 0x69b +/* 802CF138 002CAD98 40 81 00 10 */ ble lbl_802CF148 +lbl_802CF13C: +/* 802CF13C 002CAD9C 38 00 06 9B */ li r0, 0x69b +/* 802CF140 002CADA0 B0 1F 00 12 */ sth r0, 0x12(r31) +/* 802CF144 002CADA4 48 00 00 08 */ b lbl_802CF14C +lbl_802CF148: +/* 802CF148 002CADA8 B0 1F 00 12 */ sth r0, 0x12(r31) +lbl_802CF14C: +/* 802CF14C 002CADAC 38 00 00 00 */ li r0, 0 +/* 802CF150 002CADB0 98 04 00 20 */ stb r0, 0x20(r4) +/* 802CF154 002CADB4 98 04 00 02 */ stb r0, 2(r4) +/* 802CF158 002CADB8 B0 04 00 00 */ sth r0, 0(r4) +/* 802CF15C 002CADBC 48 00 6D 7D */ bl func_802D5ED8 +/* 802CF160 002CADC0 88 1F 00 01 */ lbz r0, 1(r31) +/* 802CF164 002CADC4 60 03 00 02 */ ori r3, r0, 2 +/* 802CF168 002CADC8 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d +/* 802CF16C 002CADCC 98 7F 00 01 */ stb r3, 1(r31) +/* 802CF170 002CADD0 41 82 00 20 */ beq lbl_802CF190 +/* 802CF174 002CADD4 38 00 00 04 */ li r0, 4 +/* 802CF178 002CADD8 38 80 01 00 */ li r4, 0x100 +/* 802CF17C 002CADDC 98 1F 00 00 */ stb r0, 0(r31) +/* 802CF180 002CADE0 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802CF184 002CADE4 A0 7F 00 04 */ lhz r3, 4(r31) +/* 802CF188 002CADE8 7D 89 03 A6 */ mtctr r12 +/* 802CF18C 002CADEC 4E 80 04 21 */ bctrl +lbl_802CF190: +/* 802CF190 002CADF0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF194 002CADF4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF198 002CADF8 7C 08 03 A6 */ mtlr r0 +/* 802CF19C 002CADFC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF1A0 002CAE00 4E 80 00 20 */ blr +lbl_802CF1A4: +/* 802CF1A4 002CAE04 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF1A8 002CAE08 7C 08 02 A6 */ mflr r0 +/* 802CF1AC 002CAE0C 3C A0 80 57 */ lis r5, lbl_8056B340@ha +/* 802CF1B0 002CAE10 38 C0 00 00 */ li r6, 0 +/* 802CF1B4 002CAE14 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF1B8 002CAE18 38 00 00 02 */ li r0, 2 +/* 802CF1BC 002CAE1C 38 A5 B3 40 */ addi r5, r5, lbl_8056B340@l +/* 802CF1C0 002CAE20 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF1C4 002CAE24 3B E5 00 AC */ addi r31, r5, 0xac +/* 802CF1C8 002CAE28 93 C1 00 08 */ stw r30, 8(r1) +/* 802CF1CC 002CAE2C 7C 09 03 A6 */ mtctr r0 +lbl_802CF1D0: +/* 802CF1D0 002CAE30 88 1F 00 00 */ lbz r0, 0(r31) +/* 802CF1D4 002CAE34 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF1D8 002CAE38 41 82 00 14 */ beq lbl_802CF1EC +/* 802CF1DC 002CAE3C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF1E0 002CAE40 7C 00 18 40 */ cmplw r0, r3 +/* 802CF1E4 002CAE44 40 82 00 08 */ bne lbl_802CF1EC +/* 802CF1E8 002CAE48 48 00 00 74 */ b lbl_802CF25C +lbl_802CF1EC: +/* 802CF1EC 002CAE4C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF1F0 002CAE50 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF1F4 002CAE54 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF1F8 002CAE58 41 82 00 14 */ beq lbl_802CF20C +/* 802CF1FC 002CAE5C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF200 002CAE60 7C 00 18 40 */ cmplw r0, r3 +/* 802CF204 002CAE64 40 82 00 08 */ bne lbl_802CF20C +/* 802CF208 002CAE68 48 00 00 54 */ b lbl_802CF25C +lbl_802CF20C: +/* 802CF20C 002CAE6C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF210 002CAE70 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF214 002CAE74 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF218 002CAE78 41 82 00 14 */ beq lbl_802CF22C +/* 802CF21C 002CAE7C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF220 002CAE80 7C 00 18 40 */ cmplw r0, r3 +/* 802CF224 002CAE84 40 82 00 08 */ bne lbl_802CF22C +/* 802CF228 002CAE88 48 00 00 34 */ b lbl_802CF25C +lbl_802CF22C: +/* 802CF22C 002CAE8C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF230 002CAE90 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF234 002CAE94 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF238 002CAE98 41 82 00 14 */ beq lbl_802CF24C +/* 802CF23C 002CAE9C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF240 002CAEA0 7C 00 18 40 */ cmplw r0, r3 +/* 802CF244 002CAEA4 40 82 00 08 */ bne lbl_802CF24C +/* 802CF248 002CAEA8 48 00 00 14 */ b lbl_802CF25C +lbl_802CF24C: +/* 802CF24C 002CAEAC 38 C6 00 01 */ addi r6, r6, 1 +/* 802CF250 002CAEB0 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802CF254 002CAEB4 42 00 FF 7C */ bdnz lbl_802CF1D0 +/* 802CF258 002CAEB8 3B E0 00 00 */ li r31, 0 +lbl_802CF25C: +/* 802CF25C 002CAEBC 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CF260 002CAEC0 41 82 01 18 */ beq lbl_802CF378 +/* 802CF264 002CAEC4 A0 04 00 00 */ lhz r0, 0(r4) +/* 802CF268 002CAEC8 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF26C 002CAECC 40 82 00 38 */ bne lbl_802CF2A4 +/* 802CF270 002CAED0 88 1F 00 01 */ lbz r0, 1(r31) +/* 802CF274 002CAED4 60 03 00 04 */ ori r3, r0, 4 +/* 802CF278 002CAED8 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e +/* 802CF27C 002CAEDC 98 7F 00 01 */ stb r3, 1(r31) +/* 802CF280 002CAEE0 41 82 00 F8 */ beq lbl_802CF378 +/* 802CF284 002CAEE4 38 00 00 04 */ li r0, 4 +/* 802CF288 002CAEE8 38 80 01 00 */ li r4, 0x100 +/* 802CF28C 002CAEEC 98 1F 00 00 */ stb r0, 0(r31) +/* 802CF290 002CAEF0 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802CF294 002CAEF4 A0 7F 00 04 */ lhz r3, 4(r31) +/* 802CF298 002CAEF8 7D 89 03 A6 */ mtctr r12 +/* 802CF29C 002CAEFC 4E 80 04 21 */ bctrl +/* 802CF2A0 002CAF00 48 00 00 D8 */ b lbl_802CF378 +lbl_802CF2A4: +/* 802CF2A4 002CAF04 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802CF2A8 002CAF08 38 80 01 01 */ li r4, 0x101 +/* 802CF2AC 002CAF0C A0 7F 00 04 */ lhz r3, 4(r31) +/* 802CF2B0 002CAF10 7D 89 03 A6 */ mtctr r12 +/* 802CF2B4 002CAF14 4E 80 04 21 */ bctrl +/* 802CF2B8 002CAF18 A3 DF 00 10 */ lhz r30, 0x10(r31) +/* 802CF2BC 002CAF1C 48 00 00 10 */ b lbl_802CF2CC +lbl_802CF2C0: +/* 802CF2C0 002CAF20 38 7F 00 14 */ addi r3, r31, 0x14 +/* 802CF2C4 002CAF24 4B FE B1 0D */ bl func_802BA3D0 +/* 802CF2C8 002CAF28 4B FE AA 6D */ bl func_802B9D34 +lbl_802CF2CC: +/* 802CF2CC 002CAF2C 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 802CF2D0 002CAF30 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF2D4 002CAF34 40 82 FF EC */ bne lbl_802CF2C0 +/* 802CF2D8 002CAF38 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CF2DC 002CAF3C 38 80 00 00 */ li r4, 0 +/* 802CF2E0 002CAF40 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CF2E4 002CAF44 38 00 00 02 */ li r0, 2 +/* 802CF2E8 002CAF48 98 9F 00 00 */ stb r4, 0(r31) +/* 802CF2EC 002CAF4C 38 83 00 AC */ addi r4, r3, 0xac +/* 802CF2F0 002CAF50 38 60 00 00 */ li r3, 0 +/* 802CF2F4 002CAF54 7C 09 03 A6 */ mtctr r0 +lbl_802CF2F8: +/* 802CF2F8 002CAF58 88 04 00 00 */ lbz r0, 0(r4) +/* 802CF2FC 002CAF5C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF300 002CAF60 41 82 00 10 */ beq lbl_802CF310 +/* 802CF304 002CAF64 A0 04 00 10 */ lhz r0, 0x10(r4) +/* 802CF308 002CAF68 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF30C 002CAF6C 41 82 00 6C */ beq lbl_802CF378 +lbl_802CF310: +/* 802CF310 002CAF70 88 04 00 60 */ lbz r0, 0x60(r4) +/* 802CF314 002CAF74 38 63 00 01 */ addi r3, r3, 1 +/* 802CF318 002CAF78 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF31C 002CAF7C 41 82 00 10 */ beq lbl_802CF32C +/* 802CF320 002CAF80 A0 04 00 70 */ lhz r0, 0x70(r4) +/* 802CF324 002CAF84 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF328 002CAF88 41 82 00 50 */ beq lbl_802CF378 +lbl_802CF32C: +/* 802CF32C 002CAF8C 88 04 00 C0 */ lbz r0, 0xc0(r4) +/* 802CF330 002CAF90 38 63 00 01 */ addi r3, r3, 1 +/* 802CF334 002CAF94 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF338 002CAF98 41 82 00 10 */ beq lbl_802CF348 +/* 802CF33C 002CAF9C A0 04 00 D0 */ lhz r0, 0xd0(r4) +/* 802CF340 002CAFA0 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF344 002CAFA4 41 82 00 34 */ beq lbl_802CF378 +lbl_802CF348: +/* 802CF348 002CAFA8 88 04 01 20 */ lbz r0, 0x120(r4) +/* 802CF34C 002CAFAC 38 63 00 01 */ addi r3, r3, 1 +/* 802CF350 002CAFB0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF354 002CAFB4 41 82 00 10 */ beq lbl_802CF364 +/* 802CF358 002CAFB8 A0 04 01 30 */ lhz r0, 0x130(r4) +/* 802CF35C 002CAFBC 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF360 002CAFC0 41 82 00 18 */ beq lbl_802CF378 +lbl_802CF364: +/* 802CF364 002CAFC4 38 63 00 01 */ addi r3, r3, 1 +/* 802CF368 002CAFC8 38 84 01 80 */ addi r4, r4, 0x180 +/* 802CF36C 002CAFCC 42 00 FF 8C */ bdnz lbl_802CF2F8 +/* 802CF370 002CAFD0 7F C3 F3 78 */ mr r3, r30 +/* 802CF374 002CAFD4 48 00 66 59 */ bl func_802D59CC +lbl_802CF378: +/* 802CF378 002CAFD8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF37C 002CAFDC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF380 002CAFE0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CF384 002CAFE4 7C 08 03 A6 */ mtlr r0 +/* 802CF388 002CAFE8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF38C 002CAFEC 4E 80 00 20 */ blr +lbl_802CF390: +/* 802CF390 002CAFF0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF394 002CAFF4 7C 08 02 A6 */ mflr r0 +/* 802CF398 002CAFF8 3C A0 80 57 */ lis r5, lbl_8056B340@ha +/* 802CF39C 002CAFFC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF3A0 002CB000 38 A5 B3 40 */ addi r5, r5, lbl_8056B340@l +/* 802CF3A4 002CB004 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CF3A8 002CB008 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CF3AC 002CB00C 7C 9E 23 78 */ mr r30, r4 +/* 802CF3B0 002CB010 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CF3B4 002CB014 7C 7D 1B 78 */ mr r29, r3 +/* 802CF3B8 002CB018 88 05 00 28 */ lbz r0, 0x28(r5) +/* 802CF3BC 002CB01C 28 00 00 04 */ cmplwi r0, 4 +/* 802CF3C0 002CB020 41 80 00 1C */ blt lbl_802CF3DC +/* 802CF3C4 002CB024 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CF3C8 002CB028 3C 80 80 44 */ lis r4, lbl_804423A0@ha +/* 802CF3CC 002CB02C 7F A5 EB 78 */ mr r5, r29 +/* 802CF3D0 002CB030 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CF3D4 002CB034 38 84 23 A0 */ addi r4, r4, lbl_804423A0@l +/* 802CF3D8 002CB038 4B FE DB 51 */ bl func_802BCF28 +lbl_802CF3DC: +/* 802CF3DC 002CB03C 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CF3E0 002CB040 38 00 00 02 */ li r0, 2 +/* 802CF3E4 002CB044 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CF3E8 002CB048 38 80 00 00 */ li r4, 0 +/* 802CF3EC 002CB04C 3B E3 00 AC */ addi r31, r3, 0xac +/* 802CF3F0 002CB050 7C 09 03 A6 */ mtctr r0 +lbl_802CF3F4: +/* 802CF3F4 002CB054 88 1F 00 00 */ lbz r0, 0(r31) +/* 802CF3F8 002CB058 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF3FC 002CB05C 41 82 00 14 */ beq lbl_802CF410 +/* 802CF400 002CB060 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF404 002CB064 7C 00 E8 40 */ cmplw r0, r29 +/* 802CF408 002CB068 40 82 00 08 */ bne lbl_802CF410 +/* 802CF40C 002CB06C 48 00 00 74 */ b lbl_802CF480 +lbl_802CF410: +/* 802CF410 002CB070 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF414 002CB074 38 84 00 01 */ addi r4, r4, 1 +/* 802CF418 002CB078 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF41C 002CB07C 41 82 00 14 */ beq lbl_802CF430 +/* 802CF420 002CB080 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF424 002CB084 7C 00 E8 40 */ cmplw r0, r29 +/* 802CF428 002CB088 40 82 00 08 */ bne lbl_802CF430 +/* 802CF42C 002CB08C 48 00 00 54 */ b lbl_802CF480 +lbl_802CF430: +/* 802CF430 002CB090 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF434 002CB094 38 84 00 01 */ addi r4, r4, 1 +/* 802CF438 002CB098 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF43C 002CB09C 41 82 00 14 */ beq lbl_802CF450 +/* 802CF440 002CB0A0 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF444 002CB0A4 7C 00 E8 40 */ cmplw r0, r29 +/* 802CF448 002CB0A8 40 82 00 08 */ bne lbl_802CF450 +/* 802CF44C 002CB0AC 48 00 00 34 */ b lbl_802CF480 +lbl_802CF450: +/* 802CF450 002CB0B0 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF454 002CB0B4 38 84 00 01 */ addi r4, r4, 1 +/* 802CF458 002CB0B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF45C 002CB0BC 41 82 00 14 */ beq lbl_802CF470 +/* 802CF460 002CB0C0 A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF464 002CB0C4 7C 00 E8 40 */ cmplw r0, r29 +/* 802CF468 002CB0C8 40 82 00 08 */ bne lbl_802CF470 +/* 802CF46C 002CB0CC 48 00 00 14 */ b lbl_802CF480 +lbl_802CF470: +/* 802CF470 002CB0D0 38 84 00 01 */ addi r4, r4, 1 +/* 802CF474 002CB0D4 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802CF478 002CB0D8 42 00 FF 7C */ bdnz lbl_802CF3F4 +/* 802CF47C 002CB0DC 3B E0 00 00 */ li r31, 0 +lbl_802CF480: +/* 802CF480 002CB0E0 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CF484 002CB0E4 41 82 00 E8 */ beq lbl_802CF56C +/* 802CF488 002CB0E8 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CF48C 002CB0EC 41 82 00 0C */ beq lbl_802CF498 +/* 802CF490 002CB0F0 7F A3 EB 78 */ mr r3, r29 +/* 802CF494 002CB0F4 48 00 6B B9 */ bl func_802D604C +lbl_802CF498: +/* 802CF498 002CB0F8 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802CF49C 002CB0FC 38 80 01 01 */ li r4, 0x101 +/* 802CF4A0 002CB100 A0 7F 00 04 */ lhz r3, 4(r31) +/* 802CF4A4 002CB104 7D 89 03 A6 */ mtctr r12 +/* 802CF4A8 002CB108 4E 80 04 21 */ bctrl +/* 802CF4AC 002CB10C A3 DF 00 10 */ lhz r30, 0x10(r31) +/* 802CF4B0 002CB110 48 00 00 10 */ b lbl_802CF4C0 +lbl_802CF4B4: +/* 802CF4B4 002CB114 38 7F 00 14 */ addi r3, r31, 0x14 +/* 802CF4B8 002CB118 4B FE AF 19 */ bl func_802BA3D0 +/* 802CF4BC 002CB11C 4B FE A8 79 */ bl func_802B9D34 +lbl_802CF4C0: +/* 802CF4C0 002CB120 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 802CF4C4 002CB124 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF4C8 002CB128 40 82 FF EC */ bne lbl_802CF4B4 +/* 802CF4CC 002CB12C 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CF4D0 002CB130 38 80 00 00 */ li r4, 0 +/* 802CF4D4 002CB134 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CF4D8 002CB138 38 00 00 02 */ li r0, 2 +/* 802CF4DC 002CB13C 98 9F 00 00 */ stb r4, 0(r31) +/* 802CF4E0 002CB140 38 83 00 AC */ addi r4, r3, 0xac +/* 802CF4E4 002CB144 38 60 00 00 */ li r3, 0 +/* 802CF4E8 002CB148 7C 09 03 A6 */ mtctr r0 +lbl_802CF4EC: +/* 802CF4EC 002CB14C 88 04 00 00 */ lbz r0, 0(r4) +/* 802CF4F0 002CB150 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF4F4 002CB154 41 82 00 10 */ beq lbl_802CF504 +/* 802CF4F8 002CB158 A0 04 00 10 */ lhz r0, 0x10(r4) +/* 802CF4FC 002CB15C 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF500 002CB160 41 82 00 6C */ beq lbl_802CF56C +lbl_802CF504: +/* 802CF504 002CB164 88 04 00 60 */ lbz r0, 0x60(r4) +/* 802CF508 002CB168 38 63 00 01 */ addi r3, r3, 1 +/* 802CF50C 002CB16C 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF510 002CB170 41 82 00 10 */ beq lbl_802CF520 +/* 802CF514 002CB174 A0 04 00 70 */ lhz r0, 0x70(r4) +/* 802CF518 002CB178 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF51C 002CB17C 41 82 00 50 */ beq lbl_802CF56C +lbl_802CF520: +/* 802CF520 002CB180 88 04 00 C0 */ lbz r0, 0xc0(r4) +/* 802CF524 002CB184 38 63 00 01 */ addi r3, r3, 1 +/* 802CF528 002CB188 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF52C 002CB18C 41 82 00 10 */ beq lbl_802CF53C +/* 802CF530 002CB190 A0 04 00 D0 */ lhz r0, 0xd0(r4) +/* 802CF534 002CB194 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF538 002CB198 41 82 00 34 */ beq lbl_802CF56C +lbl_802CF53C: +/* 802CF53C 002CB19C 88 04 01 20 */ lbz r0, 0x120(r4) +/* 802CF540 002CB1A0 38 63 00 01 */ addi r3, r3, 1 +/* 802CF544 002CB1A4 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF548 002CB1A8 41 82 00 10 */ beq lbl_802CF558 +/* 802CF54C 002CB1AC A0 04 01 30 */ lhz r0, 0x130(r4) +/* 802CF550 002CB1B0 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF554 002CB1B4 41 82 00 18 */ beq lbl_802CF56C +lbl_802CF558: +/* 802CF558 002CB1B8 38 63 00 01 */ addi r3, r3, 1 +/* 802CF55C 002CB1BC 38 84 01 80 */ addi r4, r4, 0x180 +/* 802CF560 002CB1C0 42 00 FF 8C */ bdnz lbl_802CF4EC +/* 802CF564 002CB1C4 7F C3 F3 78 */ mr r3, r30 +/* 802CF568 002CB1C8 48 00 64 65 */ bl func_802D59CC +lbl_802CF56C: +/* 802CF56C 002CB1CC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF570 002CB1D0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CF574 002CB1D4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CF578 002CB1D8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CF57C 002CB1DC 7C 08 03 A6 */ mtlr r0 +/* 802CF580 002CB1E0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF584 002CB1E4 4E 80 00 20 */ blr +lbl_802CF588: +/* 802CF588 002CB1E8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF58C 002CB1EC 7C 08 02 A6 */ mflr r0 +/* 802CF590 002CB1F0 3C A0 80 57 */ lis r5, lbl_8056B340@ha +/* 802CF594 002CB1F4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF598 002CB1F8 38 00 00 02 */ li r0, 2 +/* 802CF59C 002CB1FC 38 A5 B3 40 */ addi r5, r5, lbl_8056B340@l +/* 802CF5A0 002CB200 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF5A4 002CB204 3B E5 00 AC */ addi r31, r5, 0xac +/* 802CF5A8 002CB208 38 A0 00 00 */ li r5, 0 +/* 802CF5AC 002CB20C 7C 09 03 A6 */ mtctr r0 +lbl_802CF5B0: +/* 802CF5B0 002CB210 88 1F 00 00 */ lbz r0, 0(r31) +/* 802CF5B4 002CB214 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF5B8 002CB218 41 82 00 14 */ beq lbl_802CF5CC +/* 802CF5BC 002CB21C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF5C0 002CB220 7C 00 18 40 */ cmplw r0, r3 +/* 802CF5C4 002CB224 40 82 00 08 */ bne lbl_802CF5CC +/* 802CF5C8 002CB228 48 00 00 74 */ b lbl_802CF63C +lbl_802CF5CC: +/* 802CF5CC 002CB22C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF5D0 002CB230 38 A5 00 01 */ addi r5, r5, 1 +/* 802CF5D4 002CB234 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF5D8 002CB238 41 82 00 14 */ beq lbl_802CF5EC +/* 802CF5DC 002CB23C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF5E0 002CB240 7C 00 18 40 */ cmplw r0, r3 +/* 802CF5E4 002CB244 40 82 00 08 */ bne lbl_802CF5EC +/* 802CF5E8 002CB248 48 00 00 54 */ b lbl_802CF63C +lbl_802CF5EC: +/* 802CF5EC 002CB24C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF5F0 002CB250 38 A5 00 01 */ addi r5, r5, 1 +/* 802CF5F4 002CB254 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF5F8 002CB258 41 82 00 14 */ beq lbl_802CF60C +/* 802CF5FC 002CB25C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF600 002CB260 7C 00 18 40 */ cmplw r0, r3 +/* 802CF604 002CB264 40 82 00 08 */ bne lbl_802CF60C +/* 802CF608 002CB268 48 00 00 34 */ b lbl_802CF63C +lbl_802CF60C: +/* 802CF60C 002CB26C 8C 1F 00 60 */ lbzu r0, 0x60(r31) +/* 802CF610 002CB270 38 A5 00 01 */ addi r5, r5, 1 +/* 802CF614 002CB274 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF618 002CB278 41 82 00 14 */ beq lbl_802CF62C +/* 802CF61C 002CB27C A0 1F 00 06 */ lhz r0, 6(r31) +/* 802CF620 002CB280 7C 00 18 40 */ cmplw r0, r3 +/* 802CF624 002CB284 40 82 00 08 */ bne lbl_802CF62C +/* 802CF628 002CB288 48 00 00 14 */ b lbl_802CF63C +lbl_802CF62C: +/* 802CF62C 002CB28C 38 A5 00 01 */ addi r5, r5, 1 +/* 802CF630 002CB290 3B FF 00 60 */ addi r31, r31, 0x60 +/* 802CF634 002CB294 42 00 FF 7C */ bdnz lbl_802CF5B0 +/* 802CF638 002CB298 3B E0 00 00 */ li r31, 0 +lbl_802CF63C: +/* 802CF63C 002CB29C 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CF640 002CB2A0 40 82 00 10 */ bne lbl_802CF650 +/* 802CF644 002CB2A4 7C 83 23 78 */ mr r3, r4 +/* 802CF648 002CB2A8 4B FE A6 ED */ bl func_802B9D34 +/* 802CF64C 002CB2AC 48 00 00 38 */ b lbl_802CF684 +lbl_802CF650: +/* 802CF650 002CB2B0 88 1F 00 00 */ lbz r0, 0(r31) +/* 802CF654 002CB2B4 28 00 00 04 */ cmplwi r0, 4 +/* 802CF658 002CB2B8 40 82 00 24 */ bne lbl_802CF67C +/* 802CF65C 002CB2BC 38 7F 00 14 */ addi r3, r31, 0x14 +/* 802CF660 002CB2C0 4B FE AA F5 */ bl func_802BA154 +/* 802CF664 002CB2C4 81 9F 00 20 */ lwz r12, 0x20(r31) +/* 802CF668 002CB2C8 38 80 01 02 */ li r4, 0x102 +/* 802CF66C 002CB2CC A0 7F 00 04 */ lhz r3, 4(r31) +/* 802CF670 002CB2D0 7D 89 03 A6 */ mtctr r12 +/* 802CF674 002CB2D4 4E 80 04 21 */ bctrl +/* 802CF678 002CB2D8 48 00 00 0C */ b lbl_802CF684 +lbl_802CF67C: +/* 802CF67C 002CB2DC 7C 83 23 78 */ mr r3, r4 +/* 802CF680 002CB2E0 4B FE A6 B5 */ bl func_802B9D34 +lbl_802CF684: +/* 802CF684 002CB2E4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF688 002CB2E8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF68C 002CB2EC 7C 08 03 A6 */ mtlr r0 +/* 802CF690 002CB2F0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF694 002CB2F4 4E 80 00 20 */ blr +lbl_802CF698: +/* 802CF698 002CB2F8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF69C 002CB2FC 7C 08 02 A6 */ mflr r0 +/* 802CF6A0 002CB300 3C A0 80 57 */ lis r5, lbl_8056B340@ha +/* 802CF6A4 002CB304 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF6A8 002CB308 38 A5 B3 40 */ addi r5, r5, lbl_8056B340@l +/* 802CF6AC 002CB30C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF6B0 002CB310 7C 9F 23 78 */ mr r31, r4 +/* 802CF6B4 002CB314 93 C1 00 08 */ stw r30, 8(r1) +/* 802CF6B8 002CB318 7C 7E 1B 78 */ mr r30, r3 +/* 802CF6BC 002CB31C 88 05 00 28 */ lbz r0, 0x28(r5) +/* 802CF6C0 002CB320 28 00 00 04 */ cmplwi r0, 4 +/* 802CF6C4 002CB324 41 80 00 20 */ blt lbl_802CF6E4 +/* 802CF6C8 002CB328 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CF6CC 002CB32C 3C 80 80 44 */ lis r4, lbl_804423C8@ha +/* 802CF6D0 002CB330 7F E5 FB 78 */ mr r5, r31 +/* 802CF6D4 002CB334 7F C6 F3 78 */ mr r6, r30 +/* 802CF6D8 002CB338 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CF6DC 002CB33C 38 84 23 C8 */ addi r4, r4, lbl_804423C8@l +/* 802CF6E0 002CB340 4B FE D8 61 */ bl func_802BCF40 +lbl_802CF6E4: +/* 802CF6E4 002CB344 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CF6E8 002CB348 38 00 00 02 */ li r0, 2 +/* 802CF6EC 002CB34C 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CF6F0 002CB350 38 80 00 00 */ li r4, 0 +/* 802CF6F4 002CB354 38 63 00 AC */ addi r3, r3, 0xac +/* 802CF6F8 002CB358 7C 09 03 A6 */ mtctr r0 +lbl_802CF6FC: +/* 802CF6FC 002CB35C 88 03 00 00 */ lbz r0, 0(r3) +/* 802CF700 002CB360 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF704 002CB364 41 82 00 14 */ beq lbl_802CF718 +/* 802CF708 002CB368 A0 03 00 06 */ lhz r0, 6(r3) +/* 802CF70C 002CB36C 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF710 002CB370 40 82 00 08 */ bne lbl_802CF718 +/* 802CF714 002CB374 48 00 00 74 */ b lbl_802CF788 +lbl_802CF718: +/* 802CF718 002CB378 8C 03 00 60 */ lbzu r0, 0x60(r3) +/* 802CF71C 002CB37C 38 84 00 01 */ addi r4, r4, 1 +/* 802CF720 002CB380 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF724 002CB384 41 82 00 14 */ beq lbl_802CF738 +/* 802CF728 002CB388 A0 03 00 06 */ lhz r0, 6(r3) +/* 802CF72C 002CB38C 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF730 002CB390 40 82 00 08 */ bne lbl_802CF738 +/* 802CF734 002CB394 48 00 00 54 */ b lbl_802CF788 +lbl_802CF738: +/* 802CF738 002CB398 8C 03 00 60 */ lbzu r0, 0x60(r3) +/* 802CF73C 002CB39C 38 84 00 01 */ addi r4, r4, 1 +/* 802CF740 002CB3A0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF744 002CB3A4 41 82 00 14 */ beq lbl_802CF758 +/* 802CF748 002CB3A8 A0 03 00 06 */ lhz r0, 6(r3) +/* 802CF74C 002CB3AC 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF750 002CB3B0 40 82 00 08 */ bne lbl_802CF758 +/* 802CF754 002CB3B4 48 00 00 34 */ b lbl_802CF788 +lbl_802CF758: +/* 802CF758 002CB3B8 8C 03 00 60 */ lbzu r0, 0x60(r3) +/* 802CF75C 002CB3BC 38 84 00 01 */ addi r4, r4, 1 +/* 802CF760 002CB3C0 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF764 002CB3C4 41 82 00 14 */ beq lbl_802CF778 +/* 802CF768 002CB3C8 A0 03 00 06 */ lhz r0, 6(r3) +/* 802CF76C 002CB3CC 7C 00 F0 40 */ cmplw r0, r30 +/* 802CF770 002CB3D0 40 82 00 08 */ bne lbl_802CF778 +/* 802CF774 002CB3D4 48 00 00 14 */ b lbl_802CF788 +lbl_802CF778: +/* 802CF778 002CB3D8 38 84 00 01 */ addi r4, r4, 1 +/* 802CF77C 002CB3DC 38 63 00 60 */ addi r3, r3, 0x60 +/* 802CF780 002CB3E0 42 00 FF 7C */ bdnz lbl_802CF6FC +/* 802CF784 002CB3E4 38 60 00 00 */ li r3, 0 +lbl_802CF788: +/* 802CF788 002CB3E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802CF78C 002CB3EC 41 82 00 28 */ beq lbl_802CF7B4 +/* 802CF790 002CB3F0 7C 1F 00 D0 */ neg r0, r31 +/* 802CF794 002CB3F4 81 83 00 20 */ lwz r12, 0x20(r3) +/* 802CF798 002CB3F8 7C 00 FB 78 */ or r0, r0, r31 +/* 802CF79C 002CB3FC A0 63 00 04 */ lhz r3, 4(r3) +/* 802CF7A0 002CB400 7C 04 FE 70 */ srawi r4, r0, 0x1f +/* 802CF7A4 002CB404 38 04 01 04 */ addi r0, r4, 0x104 +/* 802CF7A8 002CB408 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 802CF7AC 002CB40C 7D 89 03 A6 */ mtctr r12 +/* 802CF7B0 002CB410 4E 80 04 21 */ bctrl +lbl_802CF7B4: +/* 802CF7B4 002CB414 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF7B8 002CB418 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF7BC 002CB41C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CF7C0 002CB420 7C 08 03 A6 */ mtlr r0 +/* 802CF7C4 002CB424 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF7C8 002CB428 4E 80 00 20 */ blr +lbl_802CF7CC: +/* 802CF7CC 002CB42C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF7D0 002CB430 7C 08 02 A6 */ mflr r0 +/* 802CF7D4 002CB434 3C E0 80 44 */ lis r7, lbl_80442400@ha +/* 802CF7D8 002CB438 28 03 00 02 */ cmplwi r3, 2 +/* 802CF7DC 002CB43C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF7E0 002CB440 38 E7 24 00 */ addi r7, r7, lbl_80442400@l +/* 802CF7E4 002CB444 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CF7E8 002CB448 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CF7EC 002CB44C 7C 9E 23 78 */ mr r30, r4 +/* 802CF7F0 002CB450 40 80 01 9C */ bge lbl_802CF98C +/* 802CF7F4 002CB454 3D 00 80 57 */ lis r8, lbl_8056B340@ha +/* 802CF7F8 002CB458 54 60 23 36 */ rlwinm r0, r3, 4, 0xc, 0x1b +/* 802CF7FC 002CB45C 39 08 B3 40 */ addi r8, r8, lbl_8056B340@l +/* 802CF800 002CB460 7F E8 02 14 */ add r31, r8, r0 +/* 802CF804 002CB464 88 1F 00 0F */ lbz r0, 0xf(r31) +/* 802CF808 002CB468 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF80C 002CB46C 41 82 01 80 */ beq lbl_802CF98C +/* 802CF810 002CB470 A0 1F 00 0C */ lhz r0, 0xc(r31) +/* 802CF814 002CB474 2C 00 00 03 */ cmpwi r0, 3 +/* 802CF818 002CB478 41 82 00 6C */ beq lbl_802CF884 +/* 802CF81C 002CB47C 40 80 00 10 */ bge lbl_802CF82C +/* 802CF820 002CB480 2C 00 00 02 */ cmpwi r0, 2 +/* 802CF824 002CB484 40 80 00 14 */ bge lbl_802CF838 +/* 802CF828 002CB488 48 00 01 34 */ b lbl_802CF95C +lbl_802CF82C: +/* 802CF82C 002CB48C 2C 00 00 05 */ cmpwi r0, 5 +/* 802CF830 002CB490 40 80 01 2C */ bge lbl_802CF95C +/* 802CF834 002CB494 48 00 00 9C */ b lbl_802CF8D0 +lbl_802CF838: +/* 802CF838 002CB498 88 C4 00 01 */ lbz r6, 1(r4) +/* 802CF83C 002CB49C 38 60 01 14 */ li r3, 0x114 +/* 802CF840 002CB4A0 88 08 00 28 */ lbz r0, 0x28(r8) +/* 802CF844 002CB4A4 3B C1 00 08 */ addi r30, r1, 8 +/* 802CF848 002CB4A8 98 C1 00 0A */ stb r6, 0xa(r1) +/* 802CF84C 002CB4AC 28 00 00 04 */ cmplwi r0, 4 +/* 802CF850 002CB4B0 88 04 00 00 */ lbz r0, 0(r4) +/* 802CF854 002CB4B4 7C 00 00 34 */ cntlzw r0, r0 +/* 802CF858 002CB4B8 54 00 DF FE */ rlwinm r0, r0, 0x1b, 0x1f, 0x1f +/* 802CF85C 002CB4BC 7C 00 00 D0 */ neg r0, r0 +/* 802CF860 002CB4C0 7C 60 00 78 */ andc r0, r3, r0 +/* 802CF864 002CB4C4 B0 01 00 08 */ sth r0, 8(r1) +/* 802CF868 002CB4C8 41 80 00 F4 */ blt lbl_802CF95C +/* 802CF86C 002CB4CC 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CF870 002CB4D0 38 87 00 00 */ addi r4, r7, 0 +/* 802CF874 002CB4D4 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CF878 002CB4D8 54 05 04 3E */ clrlwi r5, r0, 0x10 +/* 802CF87C 002CB4DC 4B FE D6 C5 */ bl func_802BCF40 +/* 802CF880 002CB4E0 48 00 00 DC */ b lbl_802CF95C +lbl_802CF884: +/* 802CF884 002CB4E4 A0 A4 00 00 */ lhz r5, 0(r4) +/* 802CF888 002CB4E8 2C 05 00 00 */ cmpwi r5, 0 +/* 802CF88C 002CB4EC 41 82 00 24 */ beq lbl_802CF8B0 +/* 802CF890 002CB4F0 88 08 00 28 */ lbz r0, 0x28(r8) +/* 802CF894 002CB4F4 28 00 00 04 */ cmplwi r0, 4 +/* 802CF898 002CB4F8 41 80 00 C4 */ blt lbl_802CF95C +/* 802CF89C 002CB4FC 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CF8A0 002CB500 38 87 00 3C */ addi r4, r7, 0x3c +/* 802CF8A4 002CB504 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CF8A8 002CB508 4B FE D6 81 */ bl func_802BCF28 +/* 802CF8AC 002CB50C 48 00 00 B0 */ b lbl_802CF95C +lbl_802CF8B0: +/* 802CF8B0 002CB510 88 08 00 28 */ lbz r0, 0x28(r8) +/* 802CF8B4 002CB514 28 00 00 04 */ cmplwi r0, 4 +/* 802CF8B8 002CB518 41 80 00 A4 */ blt lbl_802CF95C +/* 802CF8BC 002CB51C 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CF8C0 002CB520 38 87 00 70 */ addi r4, r7, 0x70 +/* 802CF8C4 002CB524 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CF8C8 002CB528 4B FE D6 49 */ bl func_802BCF10 +/* 802CF8CC 002CB52C 48 00 00 90 */ b lbl_802CF95C +lbl_802CF8D0: +/* 802CF8D0 002CB530 A0 04 00 00 */ lhz r0, 0(r4) +/* 802CF8D4 002CB534 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802CF8D8 002CB538 28 00 00 08 */ cmplwi r0, 8 +/* 802CF8DC 002CB53C 41 81 00 54 */ bgt lbl_802CF930 +/* 802CF8E0 002CB540 3C 60 80 44 */ lis r3, lbl_804424CC@ha +/* 802CF8E4 002CB544 54 00 10 3A */ slwi r0, r0, 2 +/* 802CF8E8 002CB548 38 63 24 CC */ addi r3, r3, lbl_804424CC@l +/* 802CF8EC 002CB54C 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802CF8F0 002CB550 7C 69 03 A6 */ mtctr r3 +/* 802CF8F4 002CB554 4E 80 04 20 */ bctr +/* 802CF8F8 002CB558 38 A0 00 00 */ li r5, 0 +/* 802CF8FC 002CB55C 48 00 00 38 */ b lbl_802CF934 +/* 802CF900 002CB560 38 A0 01 0B */ li r5, 0x10b +/* 802CF904 002CB564 48 00 00 30 */ b lbl_802CF934 +/* 802CF908 002CB568 38 A0 01 03 */ li r5, 0x103 +/* 802CF90C 002CB56C 48 00 00 28 */ b lbl_802CF934 +/* 802CF910 002CB570 38 A0 01 09 */ li r5, 0x109 +/* 802CF914 002CB574 48 00 00 20 */ b lbl_802CF934 +/* 802CF918 002CB578 38 A0 01 0C */ li r5, 0x10c +/* 802CF91C 002CB57C 48 00 00 18 */ b lbl_802CF934 +/* 802CF920 002CB580 38 A0 01 0D */ li r5, 0x10d +/* 802CF924 002CB584 48 00 00 10 */ b lbl_802CF934 +/* 802CF928 002CB588 38 A0 01 15 */ li r5, 0x115 +/* 802CF92C 002CB58C 48 00 00 08 */ b lbl_802CF934 +lbl_802CF930: +/* 802CF930 002CB590 38 A0 01 14 */ li r5, 0x114 +lbl_802CF934: +/* 802CF934 002CB594 3C 60 80 57 */ lis r3, lbl_8056B340@ha +/* 802CF938 002CB598 B0 A4 00 00 */ sth r5, 0(r4) +/* 802CF93C 002CB59C 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l +/* 802CF940 002CB5A0 88 03 00 28 */ lbz r0, 0x28(r3) +/* 802CF944 002CB5A4 28 00 00 04 */ cmplwi r0, 4 +/* 802CF948 002CB5A8 41 80 00 14 */ blt lbl_802CF95C +/* 802CF94C 002CB5AC 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CF950 002CB5B0 38 87 00 98 */ addi r4, r7, 0x98 +/* 802CF954 002CB5B4 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CF958 002CB5B8 4B FE D5 D1 */ bl func_802BCF28 +lbl_802CF95C: +/* 802CF95C 002CB5BC 81 9F 00 04 */ lwz r12, 4(r31) +/* 802CF960 002CB5C0 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CF964 002CB5C4 41 82 00 14 */ beq lbl_802CF978 +/* 802CF968 002CB5C8 7F C4 F3 78 */ mr r4, r30 +/* 802CF96C 002CB5CC A0 7F 00 0C */ lhz r3, 0xc(r31) +/* 802CF970 002CB5D0 7D 89 03 A6 */ mtctr r12 +/* 802CF974 002CB5D4 4E 80 04 21 */ bctrl +lbl_802CF978: +/* 802CF978 002CB5D8 2C 1F 00 00 */ cmpwi r31, 0 +/* 802CF97C 002CB5DC 41 82 00 10 */ beq lbl_802CF98C +/* 802CF980 002CB5E0 38 00 00 00 */ li r0, 0 +/* 802CF984 002CB5E4 90 1F 00 04 */ stw r0, 4(r31) +/* 802CF988 002CB5E8 98 1F 00 0F */ stb r0, 0xf(r31) +lbl_802CF98C: +/* 802CF98C 002CB5EC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF990 002CB5F0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CF994 002CB5F4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CF998 002CB5F8 7C 08 03 A6 */ mtlr r0 +/* 802CF99C 002CB5FC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF9A0 002CB600 4E 80 00 20 */ blr +lbl_802CF9A4: +/* 802CF9A4 002CB604 7C 64 1B 78 */ mr r4, r3 +/* 802CF9A8 002CB608 38 60 00 00 */ li r3, 0 +/* 802CF9AC 002CB60C 4B FF FE 20 */ b lbl_802CF7CC +lbl_802CF9B0: +/* 802CF9B0 002CB610 7C 64 1B 78 */ mr r4, r3 +/* 802CF9B4 002CB614 38 60 00 01 */ li r3, 1 +/* 802CF9B8 002CB618 4B FF FE 14 */ b lbl_802CF7CC +lbl_802CF9BC: +/* 802CF9BC 002CB61C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF9C0 002CB620 7C 08 02 A6 */ mflr r0 +/* 802CF9C4 002CB624 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF9C8 002CB628 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CF9CC 002CB62C 3F E0 80 57 */ lis r31, lbl_8056B340@ha +/* 802CF9D0 002CB630 3B FF B3 40 */ addi r31, r31, lbl_8056B340@l +/* 802CF9D4 002CB634 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CF9D8 002CB638 3B DF 00 34 */ addi r30, r31, 0x34 +/* 802CF9DC 002CB63C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CF9E0 002CB640 7C 7D 1B 78 */ mr r29, r3 +/* 802CF9E4 002CB644 88 1F 00 7E */ lbz r0, 0x7e(r31) +/* 802CF9E8 002CB648 2C 00 00 00 */ cmpwi r0, 0 +/* 802CF9EC 002CB64C 41 82 01 CC */ beq lbl_802CFBB8 +/* 802CF9F0 002CB650 A0 A3 00 00 */ lhz r5, 0(r3) +/* 802CF9F4 002CB654 2C 05 00 00 */ cmpwi r5, 0 +/* 802CF9F8 002CB658 40 82 01 10 */ bne lbl_802CFB08 +/* 802CF9FC 002CB65C 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802CFA00 002CB660 28 00 00 04 */ cmplwi r0, 4 +/* 802CFA04 002CB664 41 80 00 1C */ blt lbl_802CFA20 +/* 802CFA08 002CB668 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CFA0C 002CB66C 3C 80 80 44 */ lis r4, lbl_80442578@ha +/* 802CFA10 002CB670 38 DD 00 04 */ addi r6, r29, 4 +/* 802CFA14 002CB674 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CFA18 002CB678 38 84 25 78 */ addi r4, r4, lbl_80442578@l +/* 802CFA1C 002CB67C 4B FE D5 25 */ bl func_802BCF40 +lbl_802CFA20: +/* 802CFA20 002CB680 38 7E 00 08 */ addi r3, r30, 8 +/* 802CFA24 002CB684 4B EF 71 41 */ bl strlen +/* 802CFA28 002CB688 7C 65 1B 78 */ mr r5, r3 +/* 802CFA2C 002CB68C 38 7E 00 08 */ addi r3, r30, 8 +/* 802CFA30 002CB690 38 9D 00 04 */ addi r4, r29, 4 +/* 802CFA34 002CB694 4B EF EB 35 */ bl strncmp +/* 802CFA38 002CB698 2C 03 00 00 */ cmpwi r3, 0 +/* 802CFA3C 002CB69C 40 82 00 24 */ bne lbl_802CFA60 +/* 802CFA40 002CB6A0 80 9F 00 30 */ lwz r4, 0x30(r31) +/* 802CFA44 002CB6A4 38 7E 00 02 */ addi r3, r30, 2 +/* 802CFA48 002CB6A8 38 A0 00 06 */ li r5, 6 +/* 802CFA4C 002CB6AC 38 84 00 02 */ addi r4, r4, 2 +/* 802CFA50 002CB6B0 4B D3 45 B1 */ bl memcpy +/* 802CFA54 002CB6B4 38 00 00 00 */ li r0, 0 +/* 802CFA58 002CB6B8 B0 1E 00 00 */ sth r0, 0(r30) +/* 802CFA5C 002CB6BC 48 00 01 34 */ b lbl_802CFB90 +lbl_802CFA60: +/* 802CFA60 002CB6C0 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 802CFA64 002CB6C4 4B FF 84 3D */ bl func_802C7EA0 +/* 802CFA68 002CB6C8 2C 03 00 00 */ cmpwi r3, 0 +/* 802CFA6C 002CB6CC 90 7F 00 30 */ stw r3, 0x30(r31) +/* 802CFA70 002CB6D0 41 82 00 8C */ beq lbl_802CFAFC +/* 802CFA74 002CB6D4 3C 80 80 2D */ lis r4, lbl_802CF9BC@ha +/* 802CFA78 002CB6D8 38 63 00 02 */ addi r3, r3, 2 +/* 802CFA7C 002CB6DC 38 84 F9 BC */ addi r4, r4, lbl_802CF9BC@l +/* 802CFA80 002CB6E0 4B FF 81 49 */ bl func_802C7BC8 +/* 802CFA84 002CB6E4 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CFA88 002CB6E8 28 00 00 01 */ cmplwi r0, 1 +/* 802CFA8C 002CB6EC 41 82 01 2C */ beq lbl_802CFBB8 +/* 802CFA90 002CB6F0 A0 1D 00 00 */ lhz r0, 0(r29) +/* 802CFA94 002CB6F4 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802CFA98 002CB6F8 28 00 00 08 */ cmplwi r0, 8 +/* 802CFA9C 002CB6FC 41 81 00 54 */ bgt lbl_802CFAF0 +/* 802CFAA0 002CB700 3C 60 80 44 */ lis r3, lbl_8044261C@ha +/* 802CFAA4 002CB704 54 00 10 3A */ slwi r0, r0, 2 +/* 802CFAA8 002CB708 38 63 26 1C */ addi r3, r3, lbl_8044261C@l +/* 802CFAAC 002CB70C 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802CFAB0 002CB710 7C 69 03 A6 */ mtctr r3 +/* 802CFAB4 002CB714 4E 80 04 20 */ bctr +/* 802CFAB8 002CB718 38 00 00 00 */ li r0, 0 +/* 802CFABC 002CB71C 48 00 00 38 */ b lbl_802CFAF4 +/* 802CFAC0 002CB720 38 00 01 0B */ li r0, 0x10b +/* 802CFAC4 002CB724 48 00 00 30 */ b lbl_802CFAF4 +/* 802CFAC8 002CB728 38 00 01 03 */ li r0, 0x103 +/* 802CFACC 002CB72C 48 00 00 28 */ b lbl_802CFAF4 +/* 802CFAD0 002CB730 38 00 01 09 */ li r0, 0x109 +/* 802CFAD4 002CB734 48 00 00 20 */ b lbl_802CFAF4 +/* 802CFAD8 002CB738 38 00 01 0C */ li r0, 0x10c +/* 802CFADC 002CB73C 48 00 00 18 */ b lbl_802CFAF4 +/* 802CFAE0 002CB740 38 00 01 0D */ li r0, 0x10d +/* 802CFAE4 002CB744 48 00 00 10 */ b lbl_802CFAF4 +/* 802CFAE8 002CB748 38 00 01 15 */ li r0, 0x115 +/* 802CFAEC 002CB74C 48 00 00 08 */ b lbl_802CFAF4 +lbl_802CFAF0: +/* 802CFAF0 002CB750 38 00 01 14 */ li r0, 0x114 +lbl_802CFAF4: +/* 802CFAF4 002CB754 B0 1E 00 00 */ sth r0, 0(r30) +/* 802CFAF8 002CB758 48 00 00 98 */ b lbl_802CFB90 +lbl_802CFAFC: +/* 802CFAFC 002CB75C 38 00 01 02 */ li r0, 0x102 +/* 802CFB00 002CB760 B0 1E 00 00 */ sth r0, 0(r30) +/* 802CFB04 002CB764 48 00 00 8C */ b lbl_802CFB90 +lbl_802CFB08: +/* 802CFB08 002CB768 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802CFB0C 002CB76C 28 00 00 04 */ cmplwi r0, 4 +/* 802CFB10 002CB770 41 80 00 18 */ blt lbl_802CFB28 +/* 802CFB14 002CB774 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CFB18 002CB778 3C 80 80 44 */ lis r4, lbl_804425BC@ha +/* 802CFB1C 002CB77C 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CFB20 002CB780 38 84 25 BC */ addi r4, r4, lbl_804425BC@l +/* 802CFB24 002CB784 4B FE D4 05 */ bl func_802BCF28 +lbl_802CFB28: +/* 802CFB28 002CB788 A0 1D 00 00 */ lhz r0, 0(r29) +/* 802CFB2C 002CB78C 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802CFB30 002CB790 28 00 00 08 */ cmplwi r0, 8 +/* 802CFB34 002CB794 41 81 00 54 */ bgt lbl_802CFB88 +/* 802CFB38 002CB798 3C 60 80 44 */ lis r3, lbl_804425F8@ha +/* 802CFB3C 002CB79C 54 00 10 3A */ slwi r0, r0, 2 +/* 802CFB40 002CB7A0 38 63 25 F8 */ addi r3, r3, lbl_804425F8@l +/* 802CFB44 002CB7A4 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802CFB48 002CB7A8 7C 69 03 A6 */ mtctr r3 +/* 802CFB4C 002CB7AC 4E 80 04 20 */ bctr +/* 802CFB50 002CB7B0 38 00 00 00 */ li r0, 0 +/* 802CFB54 002CB7B4 48 00 00 38 */ b lbl_802CFB8C +/* 802CFB58 002CB7B8 38 00 01 0B */ li r0, 0x10b +/* 802CFB5C 002CB7BC 48 00 00 30 */ b lbl_802CFB8C +/* 802CFB60 002CB7C0 38 00 01 03 */ li r0, 0x103 +/* 802CFB64 002CB7C4 48 00 00 28 */ b lbl_802CFB8C +/* 802CFB68 002CB7C8 38 00 01 09 */ li r0, 0x109 +/* 802CFB6C 002CB7CC 48 00 00 20 */ b lbl_802CFB8C +/* 802CFB70 002CB7D0 38 00 01 0C */ li r0, 0x10c +/* 802CFB74 002CB7D4 48 00 00 18 */ b lbl_802CFB8C +/* 802CFB78 002CB7D8 38 00 01 0D */ li r0, 0x10d +/* 802CFB7C 002CB7DC 48 00 00 10 */ b lbl_802CFB8C +/* 802CFB80 002CB7E0 38 00 01 15 */ li r0, 0x115 +/* 802CFB84 002CB7E4 48 00 00 08 */ b lbl_802CFB8C +lbl_802CFB88: +/* 802CFB88 002CB7E8 38 00 01 14 */ li r0, 0x114 +lbl_802CFB8C: +/* 802CFB8C 002CB7EC B0 1E 00 00 */ sth r0, 0(r30) +lbl_802CFB90: +/* 802CFB90 002CB7F0 81 9F 00 2C */ lwz r12, 0x2c(r31) +/* 802CFB94 002CB7F4 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CFB98 002CB7F8 41 82 00 14 */ beq lbl_802CFBAC +/* 802CFB9C 002CB7FC 7F C4 F3 78 */ mr r4, r30 +/* 802CFBA0 002CB800 38 60 00 05 */ li r3, 5 +/* 802CFBA4 002CB804 7D 89 03 A6 */ mtctr r12 +/* 802CFBA8 002CB808 4E 80 04 21 */ bctrl +lbl_802CFBAC: +/* 802CFBAC 002CB80C 38 00 00 00 */ li r0, 0 +/* 802CFBB0 002CB810 98 1F 00 7E */ stb r0, 0x7e(r31) +/* 802CFBB4 002CB814 90 1F 00 2C */ stw r0, 0x2c(r31) +lbl_802CFBB8: +/* 802CFBB8 002CB818 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CFBBC 002CB81C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CFBC0 002CB820 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CFBC4 002CB824 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CFBC8 002CB828 7C 08 03 A6 */ mtlr r0 +/* 802CFBCC 002CB82C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CFBD0 002CB830 4E 80 00 20 */ blr +/* 802CFBD4 002CB834 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CFBD8 002CB838 7C 08 02 A6 */ mflr r0 +/* 802CFBDC 002CB83C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CFBE0 002CB840 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CFBE4 002CB844 3F E0 80 57 */ lis r31, lbl_8056B340@ha +/* 802CFBE8 002CB848 3B FF B3 40 */ addi r31, r31, lbl_8056B340@l +/* 802CFBEC 002CB84C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CFBF0 002CB850 3B DF 00 34 */ addi r30, r31, 0x34 +/* 802CFBF4 002CB854 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CFBF8 002CB858 7C 7D 1B 78 */ mr r29, r3 +/* 802CFBFC 002CB85C 88 1F 00 7E */ lbz r0, 0x7e(r31) +/* 802CFC00 002CB860 2C 00 00 00 */ cmpwi r0, 0 +/* 802CFC04 002CB864 41 82 01 68 */ beq lbl_802CFD6C +/* 802CFC08 002CB868 88 1F 00 28 */ lbz r0, 0x28(r31) +/* 802CFC0C 002CB86C 28 00 00 04 */ cmplwi r0, 4 +/* 802CFC10 002CB870 41 80 00 20 */ blt lbl_802CFC30 +/* 802CFC14 002CB874 3C 60 00 0E */ lis r3, 0x000E0003@ha +/* 802CFC18 002CB878 3C 80 80 44 */ lis r4, lbl_80442640@ha +/* 802CFC1C 002CB87C 88 BD 00 00 */ lbz r5, 0(r29) +/* 802CFC20 002CB880 38 63 00 03 */ addi r3, r3, 0x000E0003@l +/* 802CFC24 002CB884 88 DD 00 01 */ lbz r6, 1(r29) +/* 802CFC28 002CB888 38 84 26 40 */ addi r4, r4, lbl_80442640@l +/* 802CFC2C 002CB88C 4B FE D3 15 */ bl func_802BCF40 +lbl_802CFC30: +/* 802CFC30 002CB890 88 1D 00 00 */ lbz r0, 0(r29) +/* 802CFC34 002CB894 2C 00 00 00 */ cmpwi r0, 0 +/* 802CFC38 002CB898 40 82 00 AC */ bne lbl_802CFCE4 +/* 802CFC3C 002CB89C 38 00 01 11 */ li r0, 0x111 +/* 802CFC40 002CB8A0 B0 1E 00 00 */ sth r0, 0(r30) +/* 802CFC44 002CB8A4 4B FF 81 A5 */ bl func_802C7DE8 +/* 802CFC48 002CB8A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802CFC4C 002CB8AC 90 7F 00 30 */ stw r3, 0x30(r31) +/* 802CFC50 002CB8B0 41 82 00 88 */ beq lbl_802CFCD8 +/* 802CFC54 002CB8B4 3C 80 80 2D */ lis r4, lbl_802CF9BC@ha +/* 802CFC58 002CB8B8 38 63 00 02 */ addi r3, r3, 2 +/* 802CFC5C 002CB8BC 38 84 F9 BC */ addi r4, r4, lbl_802CF9BC@l +/* 802CFC60 002CB8C0 4B FF 7F 69 */ bl func_802C7BC8 +/* 802CFC64 002CB8C4 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 802CFC68 002CB8C8 28 00 00 01 */ cmplwi r0, 1 +/* 802CFC6C 002CB8CC 41 82 01 00 */ beq lbl_802CFD6C +/* 802CFC70 002CB8D0 88 1D 00 00 */ lbz r0, 0(r29) +/* 802CFC74 002CB8D4 28 00 00 08 */ cmplwi r0, 8 +/* 802CFC78 002CB8D8 41 81 00 54 */ bgt lbl_802CFCCC +/* 802CFC7C 002CB8DC 3C 60 80 44 */ lis r3, lbl_804426A8@ha +/* 802CFC80 002CB8E0 54 00 10 3A */ slwi r0, r0, 2 +/* 802CFC84 002CB8E4 38 63 26 A8 */ addi r3, r3, lbl_804426A8@l +/* 802CFC88 002CB8E8 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802CFC8C 002CB8EC 7C 69 03 A6 */ mtctr r3 +/* 802CFC90 002CB8F0 4E 80 04 20 */ bctr +/* 802CFC94 002CB8F4 38 00 00 00 */ li r0, 0 +/* 802CFC98 002CB8F8 48 00 00 38 */ b lbl_802CFCD0 +/* 802CFC9C 002CB8FC 38 00 01 0B */ li r0, 0x10b +/* 802CFCA0 002CB900 48 00 00 30 */ b lbl_802CFCD0 +/* 802CFCA4 002CB904 38 00 01 03 */ li r0, 0x103 +/* 802CFCA8 002CB908 48 00 00 28 */ b lbl_802CFCD0 +/* 802CFCAC 002CB90C 38 00 01 09 */ li r0, 0x109 +/* 802CFCB0 002CB910 48 00 00 20 */ b lbl_802CFCD0 +/* 802CFCB4 002CB914 38 00 01 0C */ li r0, 0x10c +/* 802CFCB8 002CB918 48 00 00 18 */ b lbl_802CFCD0 +/* 802CFCBC 002CB91C 38 00 01 0D */ li r0, 0x10d +/* 802CFCC0 002CB920 48 00 00 10 */ b lbl_802CFCD0 +/* 802CFCC4 002CB924 38 00 01 15 */ li r0, 0x115 +/* 802CFCC8 002CB928 48 00 00 08 */ b lbl_802CFCD0 +lbl_802CFCCC: +/* 802CFCCC 002CB92C 38 00 01 14 */ li r0, 0x114 +lbl_802CFCD0: +/* 802CFCD0 002CB930 B0 1E 00 00 */ sth r0, 0(r30) +/* 802CFCD4 002CB934 48 00 00 70 */ b lbl_802CFD44 +lbl_802CFCD8: +/* 802CFCD8 002CB938 38 00 01 02 */ li r0, 0x102 +/* 802CFCDC 002CB93C B0 1E 00 00 */ sth r0, 0(r30) +/* 802CFCE0 002CB940 48 00 00 64 */ b lbl_802CFD44 +lbl_802CFCE4: +/* 802CFCE4 002CB944 28 00 00 08 */ cmplwi r0, 8 +/* 802CFCE8 002CB948 41 81 00 54 */ bgt lbl_802CFD3C +/* 802CFCEC 002CB94C 3C 60 80 44 */ lis r3, lbl_80442684@ha +/* 802CFCF0 002CB950 54 00 10 3A */ slwi r0, r0, 2 +/* 802CFCF4 002CB954 38 63 26 84 */ addi r3, r3, lbl_80442684@l +/* 802CFCF8 002CB958 7C 63 00 2E */ lwzx r3, r3, r0 +/* 802CFCFC 002CB95C 7C 69 03 A6 */ mtctr r3 +/* 802CFD00 002CB960 4E 80 04 20 */ bctr +/* 802CFD04 002CB964 38 00 00 00 */ li r0, 0 +/* 802CFD08 002CB968 48 00 00 38 */ b lbl_802CFD40 +/* 802CFD0C 002CB96C 38 00 01 0B */ li r0, 0x10b +/* 802CFD10 002CB970 48 00 00 30 */ b lbl_802CFD40 +/* 802CFD14 002CB974 38 00 01 03 */ li r0, 0x103 +/* 802CFD18 002CB978 48 00 00 28 */ b lbl_802CFD40 +/* 802CFD1C 002CB97C 38 00 01 09 */ li r0, 0x109 +/* 802CFD20 002CB980 48 00 00 20 */ b lbl_802CFD40 +/* 802CFD24 002CB984 38 00 01 0C */ li r0, 0x10c +/* 802CFD28 002CB988 48 00 00 18 */ b lbl_802CFD40 +/* 802CFD2C 002CB98C 38 00 01 0D */ li r0, 0x10d +/* 802CFD30 002CB990 48 00 00 10 */ b lbl_802CFD40 +/* 802CFD34 002CB994 38 00 01 15 */ li r0, 0x115 +/* 802CFD38 002CB998 48 00 00 08 */ b lbl_802CFD40 +lbl_802CFD3C: +/* 802CFD3C 002CB99C 38 00 01 14 */ li r0, 0x114 +lbl_802CFD40: +/* 802CFD40 002CB9A0 B0 1E 00 00 */ sth r0, 0(r30) +lbl_802CFD44: +/* 802CFD44 002CB9A4 81 9F 00 2C */ lwz r12, 0x2c(r31) +/* 802CFD48 002CB9A8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802CFD4C 002CB9AC 41 82 00 14 */ beq lbl_802CFD60 +/* 802CFD50 002CB9B0 7F C4 F3 78 */ mr r4, r30 +/* 802CFD54 002CB9B4 38 60 00 05 */ li r3, 5 +/* 802CFD58 002CB9B8 7D 89 03 A6 */ mtctr r12 +/* 802CFD5C 002CB9BC 4E 80 04 21 */ bctrl +lbl_802CFD60: +/* 802CFD60 002CB9C0 38 00 00 00 */ li r0, 0 +/* 802CFD64 002CB9C4 98 1F 00 7E */ stb r0, 0x7e(r31) +/* 802CFD68 002CB9C8 90 1F 00 2C */ stw r0, 0x2c(r31) +lbl_802CFD6C: +/* 802CFD6C 002CB9CC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CFD70 002CB9D0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CFD74 002CB9D4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CFD78 002CB9D8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CFD7C 002CB9DC 7C 08 03 A6 */ mtlr r0 +/* 802CFD80 002CB9E0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CFD84 002CB9E4 4E 80 00 20 */ blr +/* 802CFD88 002CB9E8 28 03 00 08 */ cmplwi r3, 8 +/* 802CFD8C 002CB9EC 41 81 00 54 */ bgt lbl_802CFDE0 +/* 802CFD90 002CB9F0 3C 80 80 44 */ lis r4, lbl_804426CC@ha +/* 802CFD94 002CB9F4 54 60 10 3A */ slwi r0, r3, 2 +/* 802CFD98 002CB9F8 38 84 26 CC */ addi r4, r4, lbl_804426CC@l +/* 802CFD9C 002CB9FC 7C 84 00 2E */ lwzx r4, r4, r0 +/* 802CFDA0 002CBA00 7C 89 03 A6 */ mtctr r4 +/* 802CFDA4 002CBA04 4E 80 04 20 */ bctr +/* 802CFDA8 002CBA08 38 60 00 00 */ li r3, 0 +/* 802CFDAC 002CBA0C 4E 80 00 20 */ blr +/* 802CFDB0 002CBA10 38 60 01 0B */ li r3, 0x10b +/* 802CFDB4 002CBA14 4E 80 00 20 */ blr +/* 802CFDB8 002CBA18 38 60 01 03 */ li r3, 0x103 +/* 802CFDBC 002CBA1C 4E 80 00 20 */ blr +/* 802CFDC0 002CBA20 38 60 01 09 */ li r3, 0x109 +/* 802CFDC4 002CBA24 4E 80 00 20 */ blr +/* 802CFDC8 002CBA28 38 60 01 0C */ li r3, 0x10c +/* 802CFDCC 002CBA2C 4E 80 00 20 */ blr +/* 802CFDD0 002CBA30 38 60 01 0D */ li r3, 0x10d +/* 802CFDD4 002CBA34 4E 80 00 20 */ blr +/* 802CFDD8 002CBA38 38 60 01 15 */ li r3, 0x115 +/* 802CFDDC 002CBA3C 4E 80 00 20 */ blr +lbl_802CFDE0: +/* 802CFDE0 002CBA40 38 60 01 14 */ li r3, 0x114 +/* 802CFDE4 002CBA44 4E 80 00 20 */ blr + +.global func_802CFDE8 +func_802CFDE8: +/* 802CFDE8 002CBA48 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CFDEC 002CBA4C 7C 08 02 A6 */ mflr r0 +/* 802CFDF0 002CBA50 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CFDF4 002CBA54 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CFDF8 002CBA58 7C BF 2B 78 */ mr r31, r5 +/* 802CFDFC 002CBA5C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802CFE00 002CBA60 7C 9E 23 78 */ mr r30, r4 +/* 802CFE04 002CBA64 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802CFE08 002CBA68 7C 7D 1B 78 */ mr r29, r3 +/* 802CFE0C 002CBA6C 38 60 00 02 */ li r3, 2 +/* 802CFE10 002CBA70 4B FE 9E 3D */ bl func_802B9C4C +/* 802CFE14 002CBA74 2C 03 00 00 */ cmpwi r3, 0 +/* 802CFE18 002CBA78 40 82 00 0C */ bne lbl_802CFE24 +/* 802CFE1C 002CBA7C 38 60 00 00 */ li r3, 0 +/* 802CFE20 002CBA80 48 00 00 54 */ b lbl_802CFE74 +lbl_802CFE24: +/* 802CFE24 002CBA84 38 00 00 08 */ li r0, 8 +/* 802CFE28 002CBA88 38 A0 00 00 */ li r5, 0 +/* 802CFE2C 002CBA8C B0 03 00 02 */ sth r0, 2(r3) +/* 802CFE30 002CBA90 38 80 00 01 */ li r4, 1 +/* 802CFE34 002CBA94 38 00 00 04 */ li r0, 4 +/* 802CFE38 002CBA98 38 C0 00 05 */ li r6, 5 +/* 802CFE3C 002CBA9C B0 A3 00 04 */ sth r5, 4(r3) +/* 802CFE40 002CBAA0 88 BD 00 02 */ lbz r5, 2(r29) +/* 802CFE44 002CBAA4 98 83 00 08 */ stb r4, 8(r3) +/* 802CFE48 002CBAA8 88 9D 00 01 */ lbz r4, 1(r29) +/* 802CFE4C 002CBAAC 98 03 00 09 */ stb r0, 9(r3) +/* 802CFE50 002CBAB0 88 1D 00 00 */ lbz r0, 0(r29) +/* 802CFE54 002CBAB4 98 C3 00 0A */ stb r6, 0xa(r3) +/* 802CFE58 002CBAB8 98 A3 00 0B */ stb r5, 0xb(r3) +/* 802CFE5C 002CBABC 98 83 00 0C */ stb r4, 0xc(r3) +/* 802CFE60 002CBAC0 98 03 00 0D */ stb r0, 0xd(r3) +/* 802CFE64 002CBAC4 9B C3 00 0E */ stb r30, 0xe(r3) +/* 802CFE68 002CBAC8 9B E3 00 0F */ stb r31, 0xf(r3) +/* 802CFE6C 002CBACC 4B FF DF C9 */ bl func_802CDE34 +/* 802CFE70 002CBAD0 38 60 00 01 */ li r3, 1 +lbl_802CFE74: +/* 802CFE74 002CBAD4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CFE78 002CBAD8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CFE7C 002CBADC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802CFE80 002CBAE0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802CFE84 002CBAE4 7C 08 03 A6 */ mtlr r0 +/* 802CFE88 002CBAE8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CFE8C 002CBAEC 4E 80 00 20 */ blr + +.global func_802CFE90 +func_802CFE90: +/* 802CFE90 002CBAF0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CFE94 002CBAF4 7C 08 02 A6 */ mflr r0 +/* 802CFE98 002CBAF8 38 60 00 02 */ li r3, 2 +/* 802CFE9C 002CBAFC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CFEA0 002CBB00 4B FE 9D AD */ bl func_802B9C4C +/* 802CFEA4 002CBB04 2C 03 00 00 */ cmpwi r3, 0 +/* 802CFEA8 002CBB08 40 82 00 0C */ bne lbl_802CFEB4 +/* 802CFEAC 002CBB0C 38 60 00 00 */ li r3, 0 +/* 802CFEB0 002CBB10 48 00 00 30 */ b lbl_802CFEE0 +lbl_802CFEB4: +/* 802CFEB4 002CBB14 38 00 00 03 */ li r0, 3 +/* 802CFEB8 002CBB18 38 A0 00 00 */ li r5, 0 +/* 802CFEBC 002CBB1C B0 03 00 02 */ sth r0, 2(r3) +/* 802CFEC0 002CBB20 38 80 00 02 */ li r4, 2 +/* 802CFEC4 002CBB24 38 00 00 04 */ li r0, 4 +/* 802CFEC8 002CBB28 B0 A3 00 04 */ sth r5, 4(r3) +/* 802CFECC 002CBB2C 98 83 00 08 */ stb r4, 8(r3) +/* 802CFED0 002CBB30 98 03 00 09 */ stb r0, 9(r3) +/* 802CFED4 002CBB34 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802CFED8 002CBB38 4B FF DF 5D */ bl func_802CDE34 +/* 802CFEDC 002CBB3C 38 60 00 01 */ li r3, 1 +lbl_802CFEE0: +/* 802CFEE0 002CBB40 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CFEE4 002CBB44 7C 08 03 A6 */ mtlr r0 +/* 802CFEE8 002CBB48 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CFEEC 002CBB4C 4E 80 00 20 */ blr + +.global func_802CFEF0 +func_802CFEF0: +/* 802CFEF0 002CBB50 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CFEF4 002CBB54 7C 08 02 A6 */ mflr r0 +/* 802CFEF8 002CBB58 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CFEFC 002CBB5C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFF00 002CBB60 4B EF 72 29 */ bl _savegpr_27 +/* 802CFF04 002CBB64 7C 7B 1B 78 */ mr r27, r3 +/* 802CFF08 002CBB68 7C 9C 23 78 */ mr r28, r4 +/* 802CFF0C 002CBB6C 7C BD 2B 78 */ mr r29, r5 +/* 802CFF10 002CBB70 7C DE 33 78 */ mr r30, r6 +/* 802CFF14 002CBB74 7C FF 3B 78 */ mr r31, r7 +/* 802CFF18 002CBB78 38 60 00 02 */ li r3, 2 +/* 802CFF1C 002CBB7C 4B FE 9D 31 */ bl func_802B9C4C +/* 802CFF20 002CBB80 2C 03 00 00 */ cmpwi r3, 0 +/* 802CFF24 002CBB84 40 82 00 0C */ bne lbl_802CFF30 +/* 802CFF28 002CBB88 38 60 00 00 */ li r3, 0 +/* 802CFF2C 002CBB8C 48 00 00 6C */ b lbl_802CFF98 +lbl_802CFF30: +/* 802CFF30 002CBB90 38 00 00 0C */ li r0, 0xc +/* 802CFF34 002CBB94 38 A0 00 00 */ li r5, 0 +/* 802CFF38 002CBB98 B0 03 00 02 */ sth r0, 2(r3) +/* 802CFF3C 002CBB9C 38 80 00 03 */ li r4, 3 +/* 802CFF40 002CBBA0 38 00 00 04 */ li r0, 4 +/* 802CFF44 002CBBA4 39 00 00 09 */ li r8, 9 +/* 802CFF48 002CBBA8 B0 A3 00 04 */ sth r5, 4(r3) +/* 802CFF4C 002CBBAC 7F 67 46 70 */ srawi r7, r27, 8 +/* 802CFF50 002CBBB0 57 86 C6 3E */ rlwinm r6, r28, 0x18, 0x18, 0x1f +/* 802CFF54 002CBBB4 88 BD 00 02 */ lbz r5, 2(r29) +/* 802CFF58 002CBBB8 98 83 00 08 */ stb r4, 8(r3) +/* 802CFF5C 002CBBBC 88 9D 00 01 */ lbz r4, 1(r29) +/* 802CFF60 002CBBC0 98 03 00 09 */ stb r0, 9(r3) +/* 802CFF64 002CBBC4 88 1D 00 00 */ lbz r0, 0(r29) +/* 802CFF68 002CBBC8 99 03 00 0A */ stb r8, 0xa(r3) +/* 802CFF6C 002CBBCC 9B 63 00 0B */ stb r27, 0xb(r3) +/* 802CFF70 002CBBD0 98 E3 00 0C */ stb r7, 0xc(r3) +/* 802CFF74 002CBBD4 9B 83 00 0D */ stb r28, 0xd(r3) +/* 802CFF78 002CBBD8 98 C3 00 0E */ stb r6, 0xe(r3) +/* 802CFF7C 002CBBDC 98 A3 00 0F */ stb r5, 0xf(r3) +/* 802CFF80 002CBBE0 98 83 00 10 */ stb r4, 0x10(r3) +/* 802CFF84 002CBBE4 98 03 00 11 */ stb r0, 0x11(r3) +/* 802CFF88 002CBBE8 9B C3 00 12 */ stb r30, 0x12(r3) +/* 802CFF8C 002CBBEC 9B E3 00 13 */ stb r31, 0x13(r3) +/* 802CFF90 002CBBF0 4B FF DE A5 */ bl func_802CDE34 +/* 802CFF94 002CBBF4 38 60 00 01 */ li r3, 1 +lbl_802CFF98: +/* 802CFF98 002CBBF8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFF9C 002CBBFC 4B EF 71 D9 */ bl _restgpr_27 +/* 802CFFA0 002CBC00 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CFFA4 002CBC04 7C 08 03 A6 */ mtlr r0 +/* 802CFFA8 002CBC08 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CFFAC 002CBC0C 4E 80 00 20 */ blr + +.global func_802CFFB0 +func_802CFFB0: +/* 802CFFB0 002CBC10 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CFFB4 002CBC14 7C 08 02 A6 */ mflr r0 +/* 802CFFB8 002CBC18 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CFFBC 002CBC1C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFFC0 002CBC20 4B EF 71 65 */ bl _savegpr_26 +/* 802CFFC4 002CBC24 7C 7A 1B 78 */ mr r26, r3 +/* 802CFFC8 002CBC28 7C 9B 23 78 */ mr r27, r4 +/* 802CFFCC 002CBC2C 7C BC 2B 78 */ mr r28, r5 +/* 802CFFD0 002CBC30 7C DD 33 78 */ mr r29, r6 +/* 802CFFD4 002CBC34 7C FE 3B 78 */ mr r30, r7 +/* 802CFFD8 002CBC38 7D 1F 43 78 */ mr r31, r8 +/* 802CFFDC 002CBC3C 38 60 00 02 */ li r3, 2 +/* 802CFFE0 002CBC40 4B FE 9C 6D */ bl func_802B9C4C +/* 802CFFE4 002CBC44 2C 03 00 00 */ cmpwi r3, 0 +/* 802CFFE8 002CBC48 40 82 00 0C */ bne lbl_802CFFF4 +/* 802CFFEC 002CBC4C 38 60 00 00 */ li r3, 0 +/* 802CFFF0 002CBC50 48 00 00 88 */ b lbl_802D0078 +lbl_802CFFF4: +/* 802CFFF4 002CBC54 38 80 00 10 */ li r4, 0x10 +/* 802CFFF8 002CBC58 38 00 00 00 */ li r0, 0 +/* 802CFFFC 002CBC5C B0 83 00 02 */ sth r4, 2(r3) +/* 802D0000 002CBC60 38 E0 00 05 */ li r7, 5 +/* 802D0004 002CBC64 38 C0 00 04 */ li r6, 4 +/* 802D0008 002CBC68 38 A0 00 0D */ li r5, 0xd +/* 802D000C 002CBC6C B0 03 00 04 */ sth r0, 4(r3) +/* 802D0010 002CBC70 7F 64 46 70 */ srawi r4, r27, 8 +/* 802D0014 002CBC74 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f +/* 802D0018 002CBC78 98 E3 00 08 */ stb r7, 8(r3) +/* 802D001C 002CBC7C 98 C3 00 09 */ stb r6, 9(r3) +/* 802D0020 002CBC80 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D0024 002CBC84 88 BA 00 05 */ lbz r5, 5(r26) +/* 802D0028 002CBC88 98 A3 00 0B */ stb r5, 0xb(r3) +/* 802D002C 002CBC8C 88 BA 00 04 */ lbz r5, 4(r26) +/* 802D0030 002CBC90 98 A3 00 0C */ stb r5, 0xc(r3) +/* 802D0034 002CBC94 88 BA 00 03 */ lbz r5, 3(r26) +/* 802D0038 002CBC98 98 A3 00 0D */ stb r5, 0xd(r3) +/* 802D003C 002CBC9C 88 BA 00 02 */ lbz r5, 2(r26) +/* 802D0040 002CBCA0 98 A3 00 0E */ stb r5, 0xe(r3) +/* 802D0044 002CBCA4 88 BA 00 01 */ lbz r5, 1(r26) +/* 802D0048 002CBCA8 98 A3 00 0F */ stb r5, 0xf(r3) +/* 802D004C 002CBCAC 88 BA 00 00 */ lbz r5, 0(r26) +/* 802D0050 002CBCB0 98 A3 00 10 */ stb r5, 0x10(r3) +/* 802D0054 002CBCB4 9B 63 00 11 */ stb r27, 0x11(r3) +/* 802D0058 002CBCB8 98 83 00 12 */ stb r4, 0x12(r3) +/* 802D005C 002CBCBC 9B 83 00 13 */ stb r28, 0x13(r3) +/* 802D0060 002CBCC0 9B A3 00 14 */ stb r29, 0x14(r3) +/* 802D0064 002CBCC4 9B C3 00 15 */ stb r30, 0x15(r3) +/* 802D0068 002CBCC8 98 03 00 16 */ stb r0, 0x16(r3) +/* 802D006C 002CBCCC 9B E3 00 17 */ stb r31, 0x17(r3) +/* 802D0070 002CBCD0 4B FF DD C5 */ bl func_802CDE34 +/* 802D0074 002CBCD4 38 60 00 01 */ li r3, 1 +lbl_802D0078: +/* 802D0078 002CBCD8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D007C 002CBCDC 4B EF 70 F5 */ bl _restgpr_26 +/* 802D0080 002CBCE0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0084 002CBCE4 7C 08 03 A6 */ mtlr r0 +/* 802D0088 002CBCE8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D008C 002CBCEC 4E 80 00 20 */ blr + +.global func_802D0090 +func_802D0090: +/* 802D0090 002CBCF0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0094 002CBCF4 7C 08 02 A6 */ mflr r0 +/* 802D0098 002CBCF8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D009C 002CBCFC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D00A0 002CBD00 7C 9F 23 78 */ mr r31, r4 +/* 802D00A4 002CBD04 93 C1 00 08 */ stw r30, 8(r1) +/* 802D00A8 002CBD08 7C 7E 1B 78 */ mr r30, r3 +/* 802D00AC 002CBD0C 38 60 00 02 */ li r3, 2 +/* 802D00B0 002CBD10 4B FE 9B 9D */ bl func_802B9C4C +/* 802D00B4 002CBD14 2C 03 00 00 */ cmpwi r3, 0 +/* 802D00B8 002CBD18 40 82 00 0C */ bne lbl_802D00C4 +/* 802D00BC 002CBD1C 38 60 00 00 */ li r3, 0 +/* 802D00C0 002CBD20 48 00 00 40 */ b lbl_802D0100 +lbl_802D00C4: +/* 802D00C4 002CBD24 38 E0 00 06 */ li r7, 6 +/* 802D00C8 002CBD28 38 C0 00 00 */ li r6, 0 +/* 802D00CC 002CBD2C B0 E3 00 02 */ sth r7, 2(r3) +/* 802D00D0 002CBD30 38 A0 00 04 */ li r5, 4 +/* 802D00D4 002CBD34 38 80 00 03 */ li r4, 3 +/* 802D00D8 002CBD38 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f +/* 802D00DC 002CBD3C B0 C3 00 04 */ sth r6, 4(r3) +/* 802D00E0 002CBD40 98 E3 00 08 */ stb r7, 8(r3) +/* 802D00E4 002CBD44 98 A3 00 09 */ stb r5, 9(r3) +/* 802D00E8 002CBD48 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D00EC 002CBD4C 9B C3 00 0B */ stb r30, 0xb(r3) +/* 802D00F0 002CBD50 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D00F4 002CBD54 9B E3 00 0D */ stb r31, 0xd(r3) +/* 802D00F8 002CBD58 4B FF DD 3D */ bl func_802CDE34 +/* 802D00FC 002CBD5C 38 60 00 01 */ li r3, 1 +lbl_802D0100: +/* 802D0100 002CBD60 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0104 002CBD64 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0108 002CBD68 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D010C 002CBD6C 7C 08 03 A6 */ mtlr r0 +/* 802D0110 002CBD70 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0114 002CBD74 4E 80 00 20 */ blr + +.global func_802D0118 +func_802D0118: +/* 802D0118 002CBD78 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D011C 002CBD7C 7C 08 02 A6 */ mflr r0 +/* 802D0120 002CBD80 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0124 002CBD84 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0128 002CBD88 7C 9F 23 78 */ mr r31, r4 +/* 802D012C 002CBD8C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D0130 002CBD90 7C 7E 1B 78 */ mr r30, r3 +/* 802D0134 002CBD94 38 60 00 02 */ li r3, 2 +/* 802D0138 002CBD98 4B FE 9B 15 */ bl func_802B9C4C +/* 802D013C 002CBD9C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0140 002CBDA0 40 82 00 0C */ bne lbl_802D014C +/* 802D0144 002CBDA4 38 60 00 00 */ li r3, 0 +/* 802D0148 002CBDA8 48 00 00 44 */ b lbl_802D018C +lbl_802D014C: +/* 802D014C 002CBDAC 38 E0 00 07 */ li r7, 7 +/* 802D0150 002CBDB0 38 C0 00 00 */ li r6, 0 +/* 802D0154 002CBDB4 B0 E3 00 02 */ sth r7, 2(r3) +/* 802D0158 002CBDB8 38 A0 00 04 */ li r5, 4 +/* 802D015C 002CBDBC 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D0160 002CBDC0 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0164 002CBDC4 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D0168 002CBDC8 98 E3 00 08 */ stb r7, 8(r3) +/* 802D016C 002CBDCC 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0170 002CBDD0 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D0174 002CBDD4 9B C3 00 0B */ stb r30, 0xb(r3) +/* 802D0178 002CBDD8 98 83 00 0C */ stb r4, 0xc(r3) +/* 802D017C 002CBDDC 9B E3 00 0D */ stb r31, 0xd(r3) +/* 802D0180 002CBDE0 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D0184 002CBDE4 4B FF DC B1 */ bl func_802CDE34 +/* 802D0188 002CBDE8 38 60 00 01 */ li r3, 1 +lbl_802D018C: +/* 802D018C 002CBDEC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0190 002CBDF0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0194 002CBDF4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D0198 002CBDF8 7C 08 03 A6 */ mtlr r0 +/* 802D019C 002CBDFC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D01A0 002CBE00 4E 80 00 20 */ blr + +.global func_802D01A4 +func_802D01A4: +/* 802D01A4 002CBE04 39 20 00 0A */ li r9, 0xa +/* 802D01A8 002CBE08 39 00 00 00 */ li r8, 0 +/* 802D01AC 002CBE0C 38 E0 00 09 */ li r7, 9 +/* 802D01B0 002CBE10 38 C0 00 04 */ li r6, 4 +/* 802D01B4 002CBE14 38 00 00 07 */ li r0, 7 +/* 802D01B8 002CBE18 B1 23 00 02 */ sth r9, 2(r3) +/* 802D01BC 002CBE1C B1 03 00 04 */ sth r8, 4(r3) +/* 802D01C0 002CBE20 98 E3 00 08 */ stb r7, 8(r3) +/* 802D01C4 002CBE24 98 C3 00 09 */ stb r6, 9(r3) +/* 802D01C8 002CBE28 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D01CC 002CBE2C 88 04 00 05 */ lbz r0, 5(r4) +/* 802D01D0 002CBE30 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D01D4 002CBE34 88 04 00 04 */ lbz r0, 4(r4) +/* 802D01D8 002CBE38 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D01DC 002CBE3C 88 04 00 03 */ lbz r0, 3(r4) +/* 802D01E0 002CBE40 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D01E4 002CBE44 88 04 00 02 */ lbz r0, 2(r4) +/* 802D01E8 002CBE48 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D01EC 002CBE4C 88 04 00 01 */ lbz r0, 1(r4) +/* 802D01F0 002CBE50 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D01F4 002CBE54 88 04 00 00 */ lbz r0, 0(r4) +/* 802D01F8 002CBE58 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D01FC 002CBE5C 98 A3 00 11 */ stb r5, 0x11(r3) +/* 802D0200 002CBE60 4B FF DC 34 */ b func_802CDE34 + +.global func_802D0204 +func_802D0204: +/* 802D0204 002CBE64 39 00 00 0A */ li r8, 0xa +/* 802D0208 002CBE68 38 E0 00 00 */ li r7, 0 +/* 802D020C 002CBE6C 38 C0 00 04 */ li r6, 4 +/* 802D0210 002CBE70 38 00 00 07 */ li r0, 7 +/* 802D0214 002CBE74 B1 03 00 02 */ sth r8, 2(r3) +/* 802D0218 002CBE78 B0 E3 00 04 */ sth r7, 4(r3) +/* 802D021C 002CBE7C 99 03 00 08 */ stb r8, 8(r3) +/* 802D0220 002CBE80 98 C3 00 09 */ stb r6, 9(r3) +/* 802D0224 002CBE84 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D0228 002CBE88 88 04 00 05 */ lbz r0, 5(r4) +/* 802D022C 002CBE8C 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D0230 002CBE90 88 04 00 04 */ lbz r0, 4(r4) +/* 802D0234 002CBE94 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0238 002CBE98 88 04 00 03 */ lbz r0, 3(r4) +/* 802D023C 002CBE9C 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D0240 002CBEA0 88 04 00 02 */ lbz r0, 2(r4) +/* 802D0244 002CBEA4 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D0248 002CBEA8 88 04 00 01 */ lbz r0, 1(r4) +/* 802D024C 002CBEAC 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D0250 002CBEB0 88 04 00 00 */ lbz r0, 0(r4) +/* 802D0254 002CBEB4 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D0258 002CBEB8 98 A3 00 11 */ stb r5, 0x11(r3) +/* 802D025C 002CBEBC 4B FF DB D8 */ b func_802CDE34 + +.global func_802D0260 +func_802D0260: +/* 802D0260 002CBEC0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802D0264 002CBEC4 7C 08 02 A6 */ mflr r0 +/* 802D0268 002CBEC8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802D026C 002CBECC 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D0270 002CBED0 4B EF 6E A9 */ bl _savegpr_23 +/* 802D0274 002CBED4 7C 7E 1B 78 */ mr r30, r3 +/* 802D0278 002CBED8 7C 9F 23 78 */ mr r31, r4 +/* 802D027C 002CBEDC 38 60 00 02 */ li r3, 2 +/* 802D0280 002CBEE0 4B FE 99 CD */ bl func_802B9C4C +/* 802D0284 002CBEE4 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0288 002CBEE8 40 82 00 0C */ bne lbl_802D0294 +/* 802D028C 002CBEEC 38 60 00 00 */ li r3, 0 +/* 802D0290 002CBEF0 48 00 01 58 */ b lbl_802D03E8 +lbl_802D0294: +/* 802D0294 002CBEF4 38 00 00 19 */ li r0, 0x19 +/* 802D0298 002CBEF8 38 80 00 00 */ li r4, 0 +/* 802D029C 002CBEFC B0 03 00 02 */ sth r0, 2(r3) +/* 802D02A0 002CBF00 38 00 00 0B */ li r0, 0xb +/* 802D02A4 002CBF04 38 C0 00 04 */ li r6, 4 +/* 802D02A8 002CBF08 38 A0 00 16 */ li r5, 0x16 +/* 802D02AC 002CBF0C B0 83 00 04 */ sth r4, 4(r3) +/* 802D02B0 002CBF10 23 04 00 0F */ subfic r24, r4, 0xf +/* 802D02B4 002CBF14 3B 20 00 01 */ li r25, 1 +/* 802D02B8 002CBF18 3B 60 00 02 */ li r27, 2 +/* 802D02BC 002CBF1C 98 03 00 08 */ stb r0, 8(r3) +/* 802D02C0 002CBF20 23 59 00 0F */ subfic r26, r25, 0xf +/* 802D02C4 002CBF24 23 9B 00 0F */ subfic r28, r27, 0xf +/* 802D02C8 002CBF28 38 80 00 03 */ li r4, 3 +/* 802D02CC 002CBF2C 98 C3 00 09 */ stb r6, 9(r3) +/* 802D02D0 002CBF30 23 A4 00 0F */ subfic r29, r4, 0xf +/* 802D02D4 002CBF34 39 20 00 05 */ li r9, 5 +/* 802D02D8 002CBF38 21 46 00 0F */ subfic r10, r6, 0xf +/* 802D02DC 002CBF3C 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D02E0 002CBF40 21 09 00 0F */ subfic r8, r9, 0xf +/* 802D02E4 002CBF44 38 E0 00 06 */ li r7, 6 +/* 802D02E8 002CBF48 38 A0 00 07 */ li r5, 7 +/* 802D02EC 002CBF4C 88 9E 00 05 */ lbz r4, 5(r30) +/* 802D02F0 002CBF50 20 C7 00 0F */ subfic r6, r7, 0xf +/* 802D02F4 002CBF54 3A E0 00 08 */ li r23, 8 +/* 802D02F8 002CBF58 3B 20 00 09 */ li r25, 9 +/* 802D02FC 002CBF5C 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D0300 002CBF60 20 85 00 0F */ subfic r4, r5, 0xf +/* 802D0304 002CBF64 3B 60 00 0A */ li r27, 0xa +/* 802D0308 002CBF68 39 60 00 0C */ li r11, 0xc +/* 802D030C 002CBF6C 88 BE 00 04 */ lbz r5, 4(r30) +/* 802D0310 002CBF70 39 20 00 0D */ li r9, 0xd +/* 802D0314 002CBF74 38 E0 00 0E */ li r7, 0xe +/* 802D0318 002CBF78 98 A3 00 0C */ stb r5, 0xc(r3) +/* 802D031C 002CBF7C 38 A0 00 0F */ li r5, 0xf +/* 802D0320 002CBF80 89 9E 00 03 */ lbz r12, 3(r30) +/* 802D0324 002CBF84 99 83 00 0D */ stb r12, 0xd(r3) +/* 802D0328 002CBF88 89 9E 00 02 */ lbz r12, 2(r30) +/* 802D032C 002CBF8C 99 83 00 0E */ stb r12, 0xe(r3) +/* 802D0330 002CBF90 89 9E 00 01 */ lbz r12, 1(r30) +/* 802D0334 002CBF94 99 83 00 0F */ stb r12, 0xf(r3) +/* 802D0338 002CBF98 89 9E 00 00 */ lbz r12, 0(r30) +/* 802D033C 002CBF9C 99 83 00 10 */ stb r12, 0x10(r3) +/* 802D0340 002CBFA0 7D 9F C0 AE */ lbzx r12, r31, r24 +/* 802D0344 002CBFA4 23 17 00 0F */ subfic r24, r23, 0xf +/* 802D0348 002CBFA8 99 83 00 11 */ stb r12, 0x11(r3) +/* 802D034C 002CBFAC 7D 9F D0 AE */ lbzx r12, r31, r26 +/* 802D0350 002CBFB0 23 59 00 0F */ subfic r26, r25, 0xf +/* 802D0354 002CBFB4 99 83 00 12 */ stb r12, 0x12(r3) +/* 802D0358 002CBFB8 7D 9F E0 AE */ lbzx r12, r31, r28 +/* 802D035C 002CBFBC 23 9B 00 0F */ subfic r28, r27, 0xf +/* 802D0360 002CBFC0 99 83 00 13 */ stb r12, 0x13(r3) +/* 802D0364 002CBFC4 7D 9F E8 AE */ lbzx r12, r31, r29 +/* 802D0368 002CBFC8 23 A0 00 0F */ subfic r29, r0, 0xf +/* 802D036C 002CBFCC 99 83 00 14 */ stb r12, 0x14(r3) +/* 802D0370 002CBFD0 7C 1F 50 AE */ lbzx r0, r31, r10 +/* 802D0374 002CBFD4 21 4B 00 0F */ subfic r10, r11, 0xf +/* 802D0378 002CBFD8 98 03 00 15 */ stb r0, 0x15(r3) +/* 802D037C 002CBFDC 7C 1F 40 AE */ lbzx r0, r31, r8 +/* 802D0380 002CBFE0 21 09 00 0F */ subfic r8, r9, 0xf +/* 802D0384 002CBFE4 98 03 00 16 */ stb r0, 0x16(r3) +/* 802D0388 002CBFE8 7C 1F 30 AE */ lbzx r0, r31, r6 +/* 802D038C 002CBFEC 20 C7 00 0F */ subfic r6, r7, 0xf +/* 802D0390 002CBFF0 98 03 00 17 */ stb r0, 0x17(r3) +/* 802D0394 002CBFF4 7C 1F 20 AE */ lbzx r0, r31, r4 +/* 802D0398 002CBFF8 20 85 00 0F */ subfic r4, r5, 0xf +/* 802D039C 002CBFFC 98 03 00 18 */ stb r0, 0x18(r3) +/* 802D03A0 002CC000 7D 9F C0 AE */ lbzx r12, r31, r24 +/* 802D03A4 002CC004 99 83 00 19 */ stb r12, 0x19(r3) +/* 802D03A8 002CC008 7D 9F D0 AE */ lbzx r12, r31, r26 +/* 802D03AC 002CC00C 99 83 00 1A */ stb r12, 0x1a(r3) +/* 802D03B0 002CC010 7D 9F E0 AE */ lbzx r12, r31, r28 +/* 802D03B4 002CC014 99 83 00 1B */ stb r12, 0x1b(r3) +/* 802D03B8 002CC018 7D 9F E8 AE */ lbzx r12, r31, r29 +/* 802D03BC 002CC01C 99 83 00 1C */ stb r12, 0x1c(r3) +/* 802D03C0 002CC020 7C 1F 50 AE */ lbzx r0, r31, r10 +/* 802D03C4 002CC024 98 03 00 1D */ stb r0, 0x1d(r3) +/* 802D03C8 002CC028 7C 1F 40 AE */ lbzx r0, r31, r8 +/* 802D03CC 002CC02C 98 03 00 1E */ stb r0, 0x1e(r3) +/* 802D03D0 002CC030 7C 1F 30 AE */ lbzx r0, r31, r6 +/* 802D03D4 002CC034 98 03 00 1F */ stb r0, 0x1f(r3) +/* 802D03D8 002CC038 7C 1F 20 AE */ lbzx r0, r31, r4 +/* 802D03DC 002CC03C 98 03 00 20 */ stb r0, 0x20(r3) +/* 802D03E0 002CC040 4B FF DA 55 */ bl func_802CDE34 +/* 802D03E4 002CC044 38 60 00 01 */ li r3, 1 +lbl_802D03E8: +/* 802D03E8 002CC048 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D03EC 002CC04C 4B EF 6D 79 */ bl _restgpr_23 +/* 802D03F0 002CC050 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802D03F4 002CC054 7C 08 03 A6 */ mtlr r0 +/* 802D03F8 002CC058 38 21 00 30 */ addi r1, r1, 0x30 +/* 802D03FC 002CC05C 4E 80 00 20 */ blr + +.global func_802D0400 +func_802D0400: +/* 802D0400 002CC060 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0404 002CC064 7C 08 02 A6 */ mflr r0 +/* 802D0408 002CC068 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D040C 002CC06C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0410 002CC070 7C 7F 1B 78 */ mr r31, r3 +/* 802D0414 002CC074 38 60 00 02 */ li r3, 2 +/* 802D0418 002CC078 4B FE 98 35 */ bl func_802B9C4C +/* 802D041C 002CC07C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0420 002CC080 40 82 00 0C */ bne lbl_802D042C +/* 802D0424 002CC084 38 60 00 00 */ li r3, 0 +/* 802D0428 002CC088 48 00 00 64 */ b lbl_802D048C +lbl_802D042C: +/* 802D042C 002CC08C 38 00 00 09 */ li r0, 9 +/* 802D0430 002CC090 38 C0 00 00 */ li r6, 0 +/* 802D0434 002CC094 B0 03 00 02 */ sth r0, 2(r3) +/* 802D0438 002CC098 38 A0 00 0C */ li r5, 0xc +/* 802D043C 002CC09C 38 80 00 04 */ li r4, 4 +/* 802D0440 002CC0A0 38 00 00 06 */ li r0, 6 +/* 802D0444 002CC0A4 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D0448 002CC0A8 98 A3 00 08 */ stb r5, 8(r3) +/* 802D044C 002CC0AC 98 83 00 09 */ stb r4, 9(r3) +/* 802D0450 002CC0B0 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D0454 002CC0B4 88 1F 00 05 */ lbz r0, 5(r31) +/* 802D0458 002CC0B8 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D045C 002CC0BC 88 1F 00 04 */ lbz r0, 4(r31) +/* 802D0460 002CC0C0 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0464 002CC0C4 88 1F 00 03 */ lbz r0, 3(r31) +/* 802D0468 002CC0C8 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D046C 002CC0CC 88 1F 00 02 */ lbz r0, 2(r31) +/* 802D0470 002CC0D0 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D0474 002CC0D4 88 1F 00 01 */ lbz r0, 1(r31) +/* 802D0478 002CC0D8 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D047C 002CC0DC 88 1F 00 00 */ lbz r0, 0(r31) +/* 802D0480 002CC0E0 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D0484 002CC0E4 4B FF D9 B1 */ bl func_802CDE34 +/* 802D0488 002CC0E8 38 60 00 01 */ li r3, 1 +lbl_802D048C: +/* 802D048C 002CC0EC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0490 002CC0F0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0494 002CC0F4 7C 08 03 A6 */ mtlr r0 +/* 802D0498 002CC0F8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D049C 002CC0FC 4E 80 00 20 */ blr + +.global func_802D04A0 +func_802D04A0: +/* 802D04A0 002CC100 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D04A4 002CC104 7C 08 02 A6 */ mflr r0 +/* 802D04A8 002CC108 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D04AC 002CC10C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D04B0 002CC110 7C BF 2B 78 */ mr r31, r5 +/* 802D04B4 002CC114 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802D04B8 002CC118 7C 9E 23 78 */ mr r30, r4 +/* 802D04BC 002CC11C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802D04C0 002CC120 7C 7D 1B 78 */ mr r29, r3 +/* 802D04C4 002CC124 38 60 00 02 */ li r3, 2 +/* 802D04C8 002CC128 4B FE 97 85 */ bl func_802B9C4C +/* 802D04CC 002CC12C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D04D0 002CC130 40 82 00 0C */ bne lbl_802D04DC +/* 802D04D4 002CC134 38 60 00 00 */ li r3, 0 +/* 802D04D8 002CC138 48 00 01 90 */ b lbl_802D0668 +lbl_802D04DC: +/* 802D04DC 002CC13C 38 00 00 1A */ li r0, 0x1a +/* 802D04E0 002CC140 38 80 00 00 */ li r4, 0 +/* 802D04E4 002CC144 B0 03 00 02 */ sth r0, 2(r3) +/* 802D04E8 002CC148 38 E0 00 0D */ li r7, 0xd +/* 802D04EC 002CC14C 38 C0 00 04 */ li r6, 4 +/* 802D04F0 002CC150 38 00 00 17 */ li r0, 0x17 +/* 802D04F4 002CC154 B0 83 00 04 */ sth r4, 4(r3) +/* 802D04F8 002CC158 2C 9E 00 00 */ cmpwi cr1, r30, 0 +/* 802D04FC 002CC15C 38 83 00 12 */ addi r4, r3, 0x12 +/* 802D0500 002CC160 38 A0 00 00 */ li r5, 0 +/* 802D0504 002CC164 98 E3 00 08 */ stb r7, 8(r3) +/* 802D0508 002CC168 98 C3 00 09 */ stb r6, 9(r3) +/* 802D050C 002CC16C 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D0510 002CC170 88 1D 00 05 */ lbz r0, 5(r29) +/* 802D0514 002CC174 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D0518 002CC178 88 1D 00 04 */ lbz r0, 4(r29) +/* 802D051C 002CC17C 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0520 002CC180 88 1D 00 03 */ lbz r0, 3(r29) +/* 802D0524 002CC184 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D0528 002CC188 88 1D 00 02 */ lbz r0, 2(r29) +/* 802D052C 002CC18C 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D0530 002CC190 88 1D 00 01 */ lbz r0, 1(r29) +/* 802D0534 002CC194 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D0538 002CC198 88 1D 00 00 */ lbz r0, 0(r29) +/* 802D053C 002CC19C 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D0540 002CC1A0 9B C3 00 11 */ stb r30, 0x11(r3) +/* 802D0544 002CC1A4 40 85 00 C0 */ ble cr1, lbl_802D0604 +/* 802D0548 002CC1A8 2C 1E 00 08 */ cmpwi r30, 8 +/* 802D054C 002CC1AC 38 FE FF F8 */ addi r7, r30, -8 +/* 802D0550 002CC1B0 40 81 00 8C */ ble lbl_802D05DC +/* 802D0554 002CC1B4 39 00 00 00 */ li r8, 0 +/* 802D0558 002CC1B8 41 84 00 18 */ blt cr1, lbl_802D0570 +/* 802D055C 002CC1BC 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha +/* 802D0560 002CC1C0 38 06 FF FE */ addi r0, r6, 0x7FFFFFFE@l +/* 802D0564 002CC1C4 7C 1E 00 00 */ cmpw r30, r0 +/* 802D0568 002CC1C8 41 81 00 08 */ bgt lbl_802D0570 +/* 802D056C 002CC1CC 39 00 00 01 */ li r8, 1 +lbl_802D0570: +/* 802D0570 002CC1D0 2C 08 00 00 */ cmpwi r8, 0 +/* 802D0574 002CC1D4 41 82 00 68 */ beq lbl_802D05DC +/* 802D0578 002CC1D8 38 07 00 07 */ addi r0, r7, 7 +/* 802D057C 002CC1DC 54 00 E8 FE */ srwi r0, r0, 3 +/* 802D0580 002CC1E0 7C 09 03 A6 */ mtctr r0 +/* 802D0584 002CC1E4 2C 07 00 00 */ cmpwi r7, 0 +/* 802D0588 002CC1E8 40 81 00 54 */ ble lbl_802D05DC +lbl_802D058C: +/* 802D058C 002CC1EC 88 1F 00 00 */ lbz r0, 0(r31) +/* 802D0590 002CC1F0 38 A5 00 08 */ addi r5, r5, 8 +/* 802D0594 002CC1F4 98 04 00 00 */ stb r0, 0(r4) +/* 802D0598 002CC1F8 88 1F 00 01 */ lbz r0, 1(r31) +/* 802D059C 002CC1FC 98 04 00 01 */ stb r0, 1(r4) +/* 802D05A0 002CC200 88 1F 00 02 */ lbz r0, 2(r31) +/* 802D05A4 002CC204 98 04 00 02 */ stb r0, 2(r4) +/* 802D05A8 002CC208 88 1F 00 03 */ lbz r0, 3(r31) +/* 802D05AC 002CC20C 98 04 00 03 */ stb r0, 3(r4) +/* 802D05B0 002CC210 88 1F 00 04 */ lbz r0, 4(r31) +/* 802D05B4 002CC214 98 04 00 04 */ stb r0, 4(r4) +/* 802D05B8 002CC218 88 1F 00 05 */ lbz r0, 5(r31) +/* 802D05BC 002CC21C 98 04 00 05 */ stb r0, 5(r4) +/* 802D05C0 002CC220 88 1F 00 06 */ lbz r0, 6(r31) +/* 802D05C4 002CC224 98 04 00 06 */ stb r0, 6(r4) +/* 802D05C8 002CC228 88 1F 00 07 */ lbz r0, 7(r31) +/* 802D05CC 002CC22C 3B FF 00 08 */ addi r31, r31, 8 +/* 802D05D0 002CC230 98 04 00 07 */ stb r0, 7(r4) +/* 802D05D4 002CC234 38 84 00 08 */ addi r4, r4, 8 +/* 802D05D8 002CC238 42 00 FF B4 */ bdnz lbl_802D058C +lbl_802D05DC: +/* 802D05DC 002CC23C 7C 05 F0 50 */ subf r0, r5, r30 +/* 802D05E0 002CC240 7C 09 03 A6 */ mtctr r0 +/* 802D05E4 002CC244 7C 05 F0 00 */ cmpw r5, r30 +/* 802D05E8 002CC248 40 80 00 1C */ bge lbl_802D0604 +lbl_802D05EC: +/* 802D05EC 002CC24C 88 1F 00 00 */ lbz r0, 0(r31) +/* 802D05F0 002CC250 38 A5 00 01 */ addi r5, r5, 1 +/* 802D05F4 002CC254 3B FF 00 01 */ addi r31, r31, 1 +/* 802D05F8 002CC258 98 04 00 00 */ stb r0, 0(r4) +/* 802D05FC 002CC25C 38 84 00 01 */ addi r4, r4, 1 +/* 802D0600 002CC260 42 00 FF EC */ bdnz lbl_802D05EC +lbl_802D0604: +/* 802D0604 002CC264 2C 05 00 10 */ cmpwi r5, 0x10 +/* 802D0608 002CC268 20 A5 00 10 */ subfic r5, r5, 0x10 +/* 802D060C 002CC26C 38 C0 00 00 */ li r6, 0 +/* 802D0610 002CC270 40 80 00 50 */ bge lbl_802D0660 +/* 802D0614 002CC274 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f +/* 802D0618 002CC278 7C 09 03 A6 */ mtctr r0 +/* 802D061C 002CC27C 41 82 00 34 */ beq lbl_802D0650 +lbl_802D0620: +/* 802D0620 002CC280 98 C4 00 00 */ stb r6, 0(r4) +/* 802D0624 002CC284 98 C4 00 01 */ stb r6, 1(r4) +/* 802D0628 002CC288 98 C4 00 02 */ stb r6, 2(r4) +/* 802D062C 002CC28C 98 C4 00 03 */ stb r6, 3(r4) +/* 802D0630 002CC290 98 C4 00 04 */ stb r6, 4(r4) +/* 802D0634 002CC294 98 C4 00 05 */ stb r6, 5(r4) +/* 802D0638 002CC298 98 C4 00 06 */ stb r6, 6(r4) +/* 802D063C 002CC29C 98 C4 00 07 */ stb r6, 7(r4) +/* 802D0640 002CC2A0 38 84 00 08 */ addi r4, r4, 8 +/* 802D0644 002CC2A4 42 00 FF DC */ bdnz lbl_802D0620 +/* 802D0648 002CC2A8 70 A5 00 07 */ andi. r5, r5, 7 +/* 802D064C 002CC2AC 41 82 00 14 */ beq lbl_802D0660 +lbl_802D0650: +/* 802D0650 002CC2B0 7C A9 03 A6 */ mtctr r5 +lbl_802D0654: +/* 802D0654 002CC2B4 98 C4 00 00 */ stb r6, 0(r4) +/* 802D0658 002CC2B8 38 84 00 01 */ addi r4, r4, 1 +/* 802D065C 002CC2BC 42 00 FF F8 */ bdnz lbl_802D0654 +lbl_802D0660: +/* 802D0660 002CC2C0 4B FF D7 D5 */ bl func_802CDE34 +/* 802D0664 002CC2C4 38 60 00 01 */ li r3, 1 +lbl_802D0668: +/* 802D0668 002CC2C8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D066C 002CC2CC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D0670 002CC2D0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802D0674 002CC2D4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802D0678 002CC2D8 7C 08 03 A6 */ mtlr r0 +/* 802D067C 002CC2DC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0680 002CC2E0 4E 80 00 20 */ blr + +.global func_802D0684 +func_802D0684: +/* 802D0684 002CC2E4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0688 002CC2E8 7C 08 02 A6 */ mflr r0 +/* 802D068C 002CC2EC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0690 002CC2F0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0694 002CC2F4 7C 7F 1B 78 */ mr r31, r3 +/* 802D0698 002CC2F8 38 60 00 02 */ li r3, 2 +/* 802D069C 002CC2FC 4B FE 95 B1 */ bl func_802B9C4C +/* 802D06A0 002CC300 2C 03 00 00 */ cmpwi r3, 0 +/* 802D06A4 002CC304 40 82 00 0C */ bne lbl_802D06B0 +/* 802D06A8 002CC308 38 60 00 00 */ li r3, 0 +/* 802D06AC 002CC30C 48 00 00 64 */ b lbl_802D0710 +lbl_802D06B0: +/* 802D06B0 002CC310 38 00 00 09 */ li r0, 9 +/* 802D06B4 002CC314 38 C0 00 00 */ li r6, 0 +/* 802D06B8 002CC318 B0 03 00 02 */ sth r0, 2(r3) +/* 802D06BC 002CC31C 38 A0 00 0E */ li r5, 0xe +/* 802D06C0 002CC320 38 80 00 04 */ li r4, 4 +/* 802D06C4 002CC324 38 00 00 06 */ li r0, 6 +/* 802D06C8 002CC328 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D06CC 002CC32C 98 A3 00 08 */ stb r5, 8(r3) +/* 802D06D0 002CC330 98 83 00 09 */ stb r4, 9(r3) +/* 802D06D4 002CC334 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D06D8 002CC338 88 1F 00 05 */ lbz r0, 5(r31) +/* 802D06DC 002CC33C 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D06E0 002CC340 88 1F 00 04 */ lbz r0, 4(r31) +/* 802D06E4 002CC344 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D06E8 002CC348 88 1F 00 03 */ lbz r0, 3(r31) +/* 802D06EC 002CC34C 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D06F0 002CC350 88 1F 00 02 */ lbz r0, 2(r31) +/* 802D06F4 002CC354 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D06F8 002CC358 88 1F 00 01 */ lbz r0, 1(r31) +/* 802D06FC 002CC35C 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D0700 002CC360 88 1F 00 00 */ lbz r0, 0(r31) +/* 802D0704 002CC364 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D0708 002CC368 4B FF D7 2D */ bl func_802CDE34 +/* 802D070C 002CC36C 38 60 00 01 */ li r3, 1 +lbl_802D0710: +/* 802D0710 002CC370 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0714 002CC374 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0718 002CC378 7C 08 03 A6 */ mtlr r0 +/* 802D071C 002CC37C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0720 002CC380 4E 80 00 20 */ blr + +.global func_802D0724 +func_802D0724: +/* 802D0724 002CC384 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0728 002CC388 7C 08 02 A6 */ mflr r0 +/* 802D072C 002CC38C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0730 002CC390 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0734 002CC394 7C 9F 23 78 */ mr r31, r4 +/* 802D0738 002CC398 93 C1 00 08 */ stw r30, 8(r1) +/* 802D073C 002CC39C 7C 7E 1B 78 */ mr r30, r3 +/* 802D0740 002CC3A0 38 60 00 02 */ li r3, 2 +/* 802D0744 002CC3A4 4B FE 95 09 */ bl func_802B9C4C +/* 802D0748 002CC3A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802D074C 002CC3AC 40 82 00 0C */ bne lbl_802D0758 +/* 802D0750 002CC3B0 38 60 00 00 */ li r3, 0 +/* 802D0754 002CC3B4 48 00 00 48 */ b lbl_802D079C +lbl_802D0758: +/* 802D0758 002CC3B8 38 80 00 07 */ li r4, 7 +/* 802D075C 002CC3BC 38 00 00 00 */ li r0, 0 +/* 802D0760 002CC3C0 B0 83 00 02 */ sth r4, 2(r3) +/* 802D0764 002CC3C4 38 C0 00 0F */ li r6, 0xf +/* 802D0768 002CC3C8 38 A0 00 04 */ li r5, 4 +/* 802D076C 002CC3CC 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D0770 002CC3D0 B0 03 00 04 */ sth r0, 4(r3) +/* 802D0774 002CC3D4 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0778 002CC3D8 98 C3 00 08 */ stb r6, 8(r3) +/* 802D077C 002CC3DC 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0780 002CC3E0 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D0784 002CC3E4 9B C3 00 0B */ stb r30, 0xb(r3) +/* 802D0788 002CC3E8 98 83 00 0C */ stb r4, 0xc(r3) +/* 802D078C 002CC3EC 9B E3 00 0D */ stb r31, 0xd(r3) +/* 802D0790 002CC3F0 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D0794 002CC3F4 4B FF D6 A1 */ bl func_802CDE34 +/* 802D0798 002CC3F8 38 60 00 01 */ li r3, 1 +lbl_802D079C: +/* 802D079C 002CC3FC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D07A0 002CC400 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D07A4 002CC404 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D07A8 002CC408 7C 08 03 A6 */ mtlr r0 +/* 802D07AC 002CC40C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D07B0 002CC410 4E 80 00 20 */ blr + +.global func_802D07B4 +func_802D07B4: +/* 802D07B4 002CC414 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D07B8 002CC418 7C 08 02 A6 */ mflr r0 +/* 802D07BC 002CC41C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D07C0 002CC420 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D07C4 002CC424 7C 7F 1B 78 */ mr r31, r3 +/* 802D07C8 002CC428 38 60 00 02 */ li r3, 2 +/* 802D07CC 002CC42C 4B FE 94 81 */ bl func_802B9C4C +/* 802D07D0 002CC430 2C 03 00 00 */ cmpwi r3, 0 +/* 802D07D4 002CC434 40 82 00 0C */ bne lbl_802D07E0 +/* 802D07D8 002CC438 38 60 00 00 */ li r3, 0 +/* 802D07DC 002CC43C 48 00 00 40 */ b lbl_802D081C +lbl_802D07E0: +/* 802D07E0 002CC440 38 80 00 05 */ li r4, 5 +/* 802D07E4 002CC444 38 00 00 00 */ li r0, 0 +/* 802D07E8 002CC448 B0 83 00 02 */ sth r4, 2(r3) +/* 802D07EC 002CC44C 38 C0 00 11 */ li r6, 0x11 +/* 802D07F0 002CC450 38 A0 00 04 */ li r5, 4 +/* 802D07F4 002CC454 38 80 00 02 */ li r4, 2 +/* 802D07F8 002CC458 B0 03 00 04 */ sth r0, 4(r3) +/* 802D07FC 002CC45C 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0800 002CC460 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0804 002CC464 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0808 002CC468 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D080C 002CC46C 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D0810 002CC470 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0814 002CC474 4B FF D6 21 */ bl func_802CDE34 +/* 802D0818 002CC478 38 60 00 01 */ li r3, 1 +lbl_802D081C: +/* 802D081C 002CC47C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0820 002CC480 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0824 002CC484 7C 08 03 A6 */ mtlr r0 +/* 802D0828 002CC488 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D082C 002CC48C 4E 80 00 20 */ blr + +.global func_802D0830 +func_802D0830: +/* 802D0830 002CC490 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0834 002CC494 7C 08 02 A6 */ mflr r0 +/* 802D0838 002CC498 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D083C 002CC49C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0840 002CC4A0 7C 9F 23 78 */ mr r31, r4 +/* 802D0844 002CC4A4 93 C1 00 08 */ stw r30, 8(r1) +/* 802D0848 002CC4A8 7C 7E 1B 78 */ mr r30, r3 +/* 802D084C 002CC4AC 38 60 00 02 */ li r3, 2 +/* 802D0850 002CC4B0 4B FE 93 FD */ bl func_802B9C4C +/* 802D0854 002CC4B4 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0858 002CC4B8 40 82 00 0C */ bne lbl_802D0864 +/* 802D085C 002CC4BC 38 60 00 00 */ li r3, 0 +/* 802D0860 002CC4C0 48 00 00 44 */ b lbl_802D08A4 +lbl_802D0864: +/* 802D0864 002CC4C4 38 80 00 06 */ li r4, 6 +/* 802D0868 002CC4C8 38 00 00 00 */ li r0, 0 +/* 802D086C 002CC4CC B0 83 00 02 */ sth r4, 2(r3) +/* 802D0870 002CC4D0 38 C0 00 13 */ li r6, 0x13 +/* 802D0874 002CC4D4 38 A0 00 04 */ li r5, 4 +/* 802D0878 002CC4D8 38 80 00 03 */ li r4, 3 +/* 802D087C 002CC4DC B0 03 00 04 */ sth r0, 4(r3) +/* 802D0880 002CC4E0 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f +/* 802D0884 002CC4E4 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0888 002CC4E8 98 A3 00 09 */ stb r5, 9(r3) +/* 802D088C 002CC4EC 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D0890 002CC4F0 9B C3 00 0B */ stb r30, 0xb(r3) +/* 802D0894 002CC4F4 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0898 002CC4F8 9B E3 00 0D */ stb r31, 0xd(r3) +/* 802D089C 002CC4FC 4B FF D5 99 */ bl func_802CDE34 +/* 802D08A0 002CC500 38 60 00 01 */ li r3, 1 +lbl_802D08A4: +/* 802D08A4 002CC504 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D08A8 002CC508 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D08AC 002CC50C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D08B0 002CC510 7C 08 03 A6 */ mtlr r0 +/* 802D08B4 002CC514 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D08B8 002CC518 4E 80 00 20 */ blr + +.global func_802D08BC +func_802D08BC: +/* 802D08BC 002CC51C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D08C0 002CC520 7C 08 02 A6 */ mflr r0 +/* 802D08C4 002CC524 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D08C8 002CC528 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D08CC 002CC52C 7C DF 33 78 */ mr r31, r6 +/* 802D08D0 002CC530 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802D08D4 002CC534 7C BE 2B 78 */ mr r30, r5 +/* 802D08D8 002CC538 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802D08DC 002CC53C 7C 9D 23 78 */ mr r29, r4 +/* 802D08E0 002CC540 93 81 00 10 */ stw r28, 0x10(r1) +/* 802D08E4 002CC544 7C 7C 1B 78 */ mr r28, r3 +/* 802D08E8 002CC548 38 60 00 02 */ li r3, 2 +/* 802D08EC 002CC54C 4B FE 93 61 */ bl func_802B9C4C +/* 802D08F0 002CC550 2C 03 00 00 */ cmpwi r3, 0 +/* 802D08F4 002CC554 40 82 00 0C */ bne lbl_802D0900 +/* 802D08F8 002CC558 38 60 00 00 */ li r3, 0 +/* 802D08FC 002CC55C 48 00 00 78 */ b lbl_802D0974 +lbl_802D0900: +/* 802D0900 002CC560 38 80 00 0D */ li r4, 0xd +/* 802D0904 002CC564 38 00 00 00 */ li r0, 0 +/* 802D0908 002CC568 B0 83 00 02 */ sth r4, 2(r3) +/* 802D090C 002CC56C 38 C0 00 19 */ li r6, 0x19 +/* 802D0910 002CC570 38 A0 00 04 */ li r5, 4 +/* 802D0914 002CC574 38 80 00 0A */ li r4, 0xa +/* 802D0918 002CC578 B0 03 00 04 */ sth r0, 4(r3) +/* 802D091C 002CC57C 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0920 002CC580 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0924 002CC584 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0928 002CC588 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D092C 002CC58C 88 9C 00 05 */ lbz r4, 5(r28) +/* 802D0930 002CC590 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D0934 002CC594 88 9C 00 04 */ lbz r4, 4(r28) +/* 802D0938 002CC598 98 83 00 0C */ stb r4, 0xc(r3) +/* 802D093C 002CC59C 88 9C 00 03 */ lbz r4, 3(r28) +/* 802D0940 002CC5A0 98 83 00 0D */ stb r4, 0xd(r3) +/* 802D0944 002CC5A4 88 9C 00 02 */ lbz r4, 2(r28) +/* 802D0948 002CC5A8 98 83 00 0E */ stb r4, 0xe(r3) +/* 802D094C 002CC5AC 88 9C 00 01 */ lbz r4, 1(r28) +/* 802D0950 002CC5B0 98 83 00 0F */ stb r4, 0xf(r3) +/* 802D0954 002CC5B4 88 9C 00 00 */ lbz r4, 0(r28) +/* 802D0958 002CC5B8 98 83 00 10 */ stb r4, 0x10(r3) +/* 802D095C 002CC5BC 9B A3 00 11 */ stb r29, 0x11(r3) +/* 802D0960 002CC5C0 9B C3 00 12 */ stb r30, 0x12(r3) +/* 802D0964 002CC5C4 9B E3 00 13 */ stb r31, 0x13(r3) +/* 802D0968 002CC5C8 98 03 00 14 */ stb r0, 0x14(r3) +/* 802D096C 002CC5CC 4B FF D4 C9 */ bl func_802CDE34 +/* 802D0970 002CC5D0 38 60 00 01 */ li r3, 1 +lbl_802D0974: +/* 802D0974 002CC5D4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0978 002CC5D8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D097C 002CC5DC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802D0980 002CC5E0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802D0984 002CC5E4 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802D0988 002CC5E8 7C 08 03 A6 */ mtlr r0 +/* 802D098C 002CC5EC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0990 002CC5F0 4E 80 00 20 */ blr + +.global func_802D0994 +func_802D0994: +/* 802D0994 002CC5F4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0998 002CC5F8 7C 08 02 A6 */ mflr r0 +/* 802D099C 002CC5FC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D09A0 002CC600 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D09A4 002CC604 7C 7F 1B 78 */ mr r31, r3 +/* 802D09A8 002CC608 38 60 00 02 */ li r3, 2 +/* 802D09AC 002CC60C 4B FE 92 A1 */ bl func_802B9C4C +/* 802D09B0 002CC610 2C 03 00 00 */ cmpwi r3, 0 +/* 802D09B4 002CC614 40 82 00 0C */ bne lbl_802D09C0 +/* 802D09B8 002CC618 38 60 00 00 */ li r3, 0 +/* 802D09BC 002CC61C 48 00 00 64 */ b lbl_802D0A20 +lbl_802D09C0: +/* 802D09C0 002CC620 38 00 00 09 */ li r0, 9 +/* 802D09C4 002CC624 38 C0 00 00 */ li r6, 0 +/* 802D09C8 002CC628 B0 03 00 02 */ sth r0, 2(r3) +/* 802D09CC 002CC62C 38 A0 00 1A */ li r5, 0x1a +/* 802D09D0 002CC630 38 80 00 04 */ li r4, 4 +/* 802D09D4 002CC634 38 00 00 06 */ li r0, 6 +/* 802D09D8 002CC638 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D09DC 002CC63C 98 A3 00 08 */ stb r5, 8(r3) +/* 802D09E0 002CC640 98 83 00 09 */ stb r4, 9(r3) +/* 802D09E4 002CC644 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D09E8 002CC648 88 1F 00 05 */ lbz r0, 5(r31) +/* 802D09EC 002CC64C 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D09F0 002CC650 88 1F 00 04 */ lbz r0, 4(r31) +/* 802D09F4 002CC654 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D09F8 002CC658 88 1F 00 03 */ lbz r0, 3(r31) +/* 802D09FC 002CC65C 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D0A00 002CC660 88 1F 00 02 */ lbz r0, 2(r31) +/* 802D0A04 002CC664 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D0A08 002CC668 88 1F 00 01 */ lbz r0, 1(r31) +/* 802D0A0C 002CC66C 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D0A10 002CC670 88 1F 00 00 */ lbz r0, 0(r31) +/* 802D0A14 002CC674 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D0A18 002CC678 4B FF D4 1D */ bl func_802CDE34 +/* 802D0A1C 002CC67C 38 60 00 01 */ li r3, 1 +lbl_802D0A20: +/* 802D0A20 002CC680 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0A24 002CC684 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0A28 002CC688 7C 08 03 A6 */ mtlr r0 +/* 802D0A2C 002CC68C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0A30 002CC690 4E 80 00 20 */ blr + +.global func_802D0A34 +func_802D0A34: +/* 802D0A34 002CC694 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0A38 002CC698 7C 08 02 A6 */ mflr r0 +/* 802D0A3C 002CC69C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0A40 002CC6A0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0A44 002CC6A4 7C 7F 1B 78 */ mr r31, r3 +/* 802D0A48 002CC6A8 38 60 00 02 */ li r3, 2 +/* 802D0A4C 002CC6AC 4B FE 92 01 */ bl func_802B9C4C +/* 802D0A50 002CC6B0 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0A54 002CC6B4 40 82 00 0C */ bne lbl_802D0A60 +/* 802D0A58 002CC6B8 38 60 00 00 */ li r3, 0 +/* 802D0A5C 002CC6BC 48 00 00 40 */ b lbl_802D0A9C +lbl_802D0A60: +/* 802D0A60 002CC6C0 38 80 00 05 */ li r4, 5 +/* 802D0A64 002CC6C4 38 00 00 00 */ li r0, 0 +/* 802D0A68 002CC6C8 B0 83 00 02 */ sth r4, 2(r3) +/* 802D0A6C 002CC6CC 38 C0 00 1B */ li r6, 0x1b +/* 802D0A70 002CC6D0 38 A0 00 04 */ li r5, 4 +/* 802D0A74 002CC6D4 38 80 00 02 */ li r4, 2 +/* 802D0A78 002CC6D8 B0 03 00 04 */ sth r0, 4(r3) +/* 802D0A7C 002CC6DC 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0A80 002CC6E0 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0A84 002CC6E4 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0A88 002CC6E8 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D0A8C 002CC6EC 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D0A90 002CC6F0 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0A94 002CC6F4 4B FF D3 A1 */ bl func_802CDE34 +/* 802D0A98 002CC6F8 38 60 00 01 */ li r3, 1 +lbl_802D0A9C: +/* 802D0A9C 002CC6FC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0AA0 002CC700 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0AA4 002CC704 7C 08 03 A6 */ mtlr r0 +/* 802D0AA8 002CC708 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0AAC 002CC70C 4E 80 00 20 */ blr + +.global func_802D0AB0 +func_802D0AB0: +/* 802D0AB0 002CC710 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0AB4 002CC714 7C 08 02 A6 */ mflr r0 +/* 802D0AB8 002CC718 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0ABC 002CC71C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0AC0 002CC720 7C 7F 1B 78 */ mr r31, r3 +/* 802D0AC4 002CC724 38 60 00 02 */ li r3, 2 +/* 802D0AC8 002CC728 4B FE 91 85 */ bl func_802B9C4C +/* 802D0ACC 002CC72C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0AD0 002CC730 40 82 00 0C */ bne lbl_802D0ADC +/* 802D0AD4 002CC734 38 60 00 00 */ li r3, 0 +/* 802D0AD8 002CC738 48 00 00 40 */ b lbl_802D0B18 +lbl_802D0ADC: +/* 802D0ADC 002CC73C 38 80 00 05 */ li r4, 5 +/* 802D0AE0 002CC740 38 00 00 00 */ li r0, 0 +/* 802D0AE4 002CC744 B0 83 00 02 */ sth r4, 2(r3) +/* 802D0AE8 002CC748 38 C0 00 1D */ li r6, 0x1d +/* 802D0AEC 002CC74C 38 A0 00 04 */ li r5, 4 +/* 802D0AF0 002CC750 38 80 00 02 */ li r4, 2 +/* 802D0AF4 002CC754 B0 03 00 04 */ sth r0, 4(r3) +/* 802D0AF8 002CC758 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0AFC 002CC75C 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0B00 002CC760 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0B04 002CC764 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D0B08 002CC768 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D0B0C 002CC76C 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0B10 002CC770 4B FF D3 25 */ bl func_802CDE34 +/* 802D0B14 002CC774 38 60 00 01 */ li r3, 1 +lbl_802D0B18: +/* 802D0B18 002CC778 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0B1C 002CC77C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0B20 002CC780 7C 08 03 A6 */ mtlr r0 +/* 802D0B24 002CC784 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0B28 002CC788 4E 80 00 20 */ blr + +.global func_802D0B2C +func_802D0B2C: +/* 802D0B2C 002CC78C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0B30 002CC790 7C 08 02 A6 */ mflr r0 +/* 802D0B34 002CC794 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0B38 002CC798 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0B3C 002CC79C 7C 7F 1B 78 */ mr r31, r3 +/* 802D0B40 002CC7A0 38 60 00 02 */ li r3, 2 +/* 802D0B44 002CC7A4 4B FE 91 09 */ bl func_802B9C4C +/* 802D0B48 002CC7A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0B4C 002CC7AC 40 82 00 0C */ bne lbl_802D0B58 +/* 802D0B50 002CC7B0 38 60 00 00 */ li r3, 0 +/* 802D0B54 002CC7B4 48 00 00 40 */ b lbl_802D0B94 +lbl_802D0B58: +/* 802D0B58 002CC7B8 38 80 00 05 */ li r4, 5 +/* 802D0B5C 002CC7BC 38 00 00 00 */ li r0, 0 +/* 802D0B60 002CC7C0 B0 83 00 02 */ sth r4, 2(r3) +/* 802D0B64 002CC7C4 38 C0 00 1F */ li r6, 0x1f +/* 802D0B68 002CC7C8 38 A0 00 04 */ li r5, 4 +/* 802D0B6C 002CC7CC 38 80 00 02 */ li r4, 2 +/* 802D0B70 002CC7D0 B0 03 00 04 */ sth r0, 4(r3) +/* 802D0B74 002CC7D4 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0B78 002CC7D8 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0B7C 002CC7DC 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0B80 002CC7E0 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D0B84 002CC7E4 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D0B88 002CC7E8 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0B8C 002CC7EC 4B FF D2 A9 */ bl func_802CDE34 +/* 802D0B90 002CC7F0 38 60 00 01 */ li r3, 1 +lbl_802D0B94: +/* 802D0B94 002CC7F4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0B98 002CC7F8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0B9C 002CC7FC 7C 08 03 A6 */ mtlr r0 +/* 802D0BA0 002CC800 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0BA4 002CC804 4E 80 00 20 */ blr + +.global func_802D0BA8 +func_802D0BA8: +/* 802D0BA8 002CC808 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802D0BAC 002CC80C 7C 08 02 A6 */ mflr r0 +/* 802D0BB0 002CC810 90 01 00 34 */ stw r0, 0x34(r1) +/* 802D0BB4 002CC814 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D0BB8 002CC818 4B EF 65 69 */ bl _savegpr_25 +/* 802D0BBC 002CC81C 7C 79 1B 78 */ mr r25, r3 +/* 802D0BC0 002CC820 7C 9A 23 78 */ mr r26, r4 +/* 802D0BC4 002CC824 7C BB 2B 78 */ mr r27, r5 +/* 802D0BC8 002CC828 7C DC 33 78 */ mr r28, r6 +/* 802D0BCC 002CC82C 7C FD 3B 78 */ mr r29, r7 +/* 802D0BD0 002CC830 7D 1E 43 78 */ mr r30, r8 +/* 802D0BD4 002CC834 7D 3F 4B 78 */ mr r31, r9 +/* 802D0BD8 002CC838 38 60 00 02 */ li r3, 2 +/* 802D0BDC 002CC83C 4B FE 90 71 */ bl func_802B9C4C +/* 802D0BE0 002CC840 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0BE4 002CC844 40 82 00 0C */ bne lbl_802D0BF0 +/* 802D0BE8 002CC848 38 60 00 00 */ li r3, 0 +/* 802D0BEC 002CC84C 48 00 00 A0 */ b lbl_802D0C8C +lbl_802D0BF0: +/* 802D0BF0 002CC850 38 00 00 14 */ li r0, 0x14 +/* 802D0BF4 002CC854 7F 2C 46 70 */ srawi r12, r25, 8 +/* 802D0BF8 002CC858 B0 03 00 02 */ sth r0, 2(r3) +/* 802D0BFC 002CC85C 38 00 00 00 */ li r0, 0 +/* 802D0C00 002CC860 38 C0 00 28 */ li r6, 0x28 +/* 802D0C04 002CC864 38 80 00 04 */ li r4, 4 +/* 802D0C08 002CC868 B0 03 00 04 */ sth r0, 4(r3) +/* 802D0C0C 002CC86C 38 00 00 11 */ li r0, 0x11 +/* 802D0C10 002CC870 57 4B C6 3E */ rlwinm r11, r26, 0x18, 0x18, 0x1f +/* 802D0C14 002CC874 57 4A 86 3E */ rlwinm r10, r26, 0x10, 0x18, 0x1f +/* 802D0C18 002CC878 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0C1C 002CC87C 57 49 46 3E */ srwi r9, r26, 0x18 +/* 802D0C20 002CC880 57 68 C6 3E */ rlwinm r8, r27, 0x18, 0x18, 0x1f +/* 802D0C24 002CC884 57 67 86 3E */ rlwinm r7, r27, 0x10, 0x18, 0x1f +/* 802D0C28 002CC888 98 83 00 09 */ stb r4, 9(r3) +/* 802D0C2C 002CC88C 7F 85 46 70 */ srawi r5, r28, 8 +/* 802D0C30 002CC890 57 66 46 3E */ srwi r6, r27, 0x18 +/* 802D0C34 002CC894 7F A4 46 70 */ srawi r4, r29, 8 +/* 802D0C38 002CC898 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D0C3C 002CC89C 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0C40 002CC8A0 9B 23 00 0B */ stb r25, 0xb(r3) +/* 802D0C44 002CC8A4 99 83 00 0C */ stb r12, 0xc(r3) +/* 802D0C48 002CC8A8 9B 43 00 0D */ stb r26, 0xd(r3) +/* 802D0C4C 002CC8AC 99 63 00 0E */ stb r11, 0xe(r3) +/* 802D0C50 002CC8B0 99 43 00 0F */ stb r10, 0xf(r3) +/* 802D0C54 002CC8B4 99 23 00 10 */ stb r9, 0x10(r3) +/* 802D0C58 002CC8B8 9B 63 00 11 */ stb r27, 0x11(r3) +/* 802D0C5C 002CC8BC 99 03 00 12 */ stb r8, 0x12(r3) +/* 802D0C60 002CC8C0 98 E3 00 13 */ stb r7, 0x13(r3) +/* 802D0C64 002CC8C4 98 C3 00 14 */ stb r6, 0x14(r3) +/* 802D0C68 002CC8C8 9B 83 00 15 */ stb r28, 0x15(r3) +/* 802D0C6C 002CC8CC 98 A3 00 16 */ stb r5, 0x16(r3) +/* 802D0C70 002CC8D0 9B A3 00 17 */ stb r29, 0x17(r3) +/* 802D0C74 002CC8D4 98 83 00 18 */ stb r4, 0x18(r3) +/* 802D0C78 002CC8D8 9B C3 00 19 */ stb r30, 0x19(r3) +/* 802D0C7C 002CC8DC 9B E3 00 1A */ stb r31, 0x1a(r3) +/* 802D0C80 002CC8E0 98 03 00 1B */ stb r0, 0x1b(r3) +/* 802D0C84 002CC8E4 4B FF D1 B1 */ bl func_802CDE34 +/* 802D0C88 002CC8E8 38 60 00 01 */ li r3, 1 +lbl_802D0C8C: +/* 802D0C8C 002CC8EC 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D0C90 002CC8F0 4B EF 64 DD */ bl _restgpr_25 +/* 802D0C94 002CC8F4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802D0C98 002CC8F8 7C 08 03 A6 */ mtlr r0 +/* 802D0C9C 002CC8FC 38 21 00 30 */ addi r1, r1, 0x30 +/* 802D0CA0 002CC900 4E 80 00 20 */ blr + +.global func_802D0CA4 +func_802D0CA4: +/* 802D0CA4 002CC904 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802D0CA8 002CC908 7C 08 02 A6 */ mflr r0 +/* 802D0CAC 002CC90C 90 01 00 34 */ stw r0, 0x34(r1) +/* 802D0CB0 002CC910 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D0CB4 002CC914 4B EF 64 6D */ bl _savegpr_25 +/* 802D0CB8 002CC918 3B 40 00 18 */ li r26, 0x18 +/* 802D0CBC 002CC91C 39 80 00 00 */ li r12, 0 +/* 802D0CC0 002CC920 39 60 00 29 */ li r11, 0x29 +/* 802D0CC4 002CC924 38 00 00 04 */ li r0, 4 +/* 802D0CC8 002CC928 3B 20 00 15 */ li r25, 0x15 +/* 802D0CCC 002CC92C B3 43 00 02 */ sth r26, 2(r3) +/* 802D0CD0 002CC930 54 BA C6 3E */ rlwinm r26, r5, 0x18, 0x18, 0x1f +/* 802D0CD4 002CC934 54 BB 86 3E */ rlwinm r27, r5, 0x10, 0x18, 0x1f +/* 802D0CD8 002CC938 B1 83 00 04 */ sth r12, 4(r3) +/* 802D0CDC 002CC93C 54 BC 46 3E */ srwi r28, r5, 0x18 +/* 802D0CE0 002CC940 54 DD C6 3E */ rlwinm r29, r6, 0x18, 0x18, 0x1f +/* 802D0CE4 002CC944 54 DE 86 3E */ rlwinm r30, r6, 0x10, 0x18, 0x1f +/* 802D0CE8 002CC948 99 63 00 08 */ stb r11, 8(r3) +/* 802D0CEC 002CC94C 54 DF 46 3E */ srwi r31, r6, 0x18 +/* 802D0CF0 002CC950 7C EC 46 70 */ srawi r12, r7, 8 +/* 802D0CF4 002CC954 55 0B C6 3E */ rlwinm r11, r8, 0x18, 0x18, 0x1f +/* 802D0CF8 002CC958 98 03 00 09 */ stb r0, 9(r3) +/* 802D0CFC 002CC95C 55 40 C6 3E */ rlwinm r0, r10, 0x18, 0x18, 0x1f +/* 802D0D00 002CC960 9B 23 00 0A */ stb r25, 0xa(r3) +/* 802D0D04 002CC964 8B 24 00 05 */ lbz r25, 5(r4) +/* 802D0D08 002CC968 9B 23 00 0B */ stb r25, 0xb(r3) +/* 802D0D0C 002CC96C 8B 24 00 04 */ lbz r25, 4(r4) +/* 802D0D10 002CC970 9B 23 00 0C */ stb r25, 0xc(r3) +/* 802D0D14 002CC974 8B 24 00 03 */ lbz r25, 3(r4) +/* 802D0D18 002CC978 9B 23 00 0D */ stb r25, 0xd(r3) +/* 802D0D1C 002CC97C 8B 24 00 02 */ lbz r25, 2(r4) +/* 802D0D20 002CC980 9B 23 00 0E */ stb r25, 0xe(r3) +/* 802D0D24 002CC984 8B 24 00 01 */ lbz r25, 1(r4) +/* 802D0D28 002CC988 9B 23 00 0F */ stb r25, 0xf(r3) +/* 802D0D2C 002CC98C 88 84 00 00 */ lbz r4, 0(r4) +/* 802D0D30 002CC990 98 83 00 10 */ stb r4, 0x10(r3) +/* 802D0D34 002CC994 98 A3 00 11 */ stb r5, 0x11(r3) +/* 802D0D38 002CC998 9B 43 00 12 */ stb r26, 0x12(r3) +/* 802D0D3C 002CC99C 9B 63 00 13 */ stb r27, 0x13(r3) +/* 802D0D40 002CC9A0 9B 83 00 14 */ stb r28, 0x14(r3) +/* 802D0D44 002CC9A4 98 C3 00 15 */ stb r6, 0x15(r3) +/* 802D0D48 002CC9A8 9B A3 00 16 */ stb r29, 0x16(r3) +/* 802D0D4C 002CC9AC 9B C3 00 17 */ stb r30, 0x17(r3) +/* 802D0D50 002CC9B0 9B E3 00 18 */ stb r31, 0x18(r3) +/* 802D0D54 002CC9B4 98 E3 00 19 */ stb r7, 0x19(r3) +/* 802D0D58 002CC9B8 99 83 00 1A */ stb r12, 0x1a(r3) +/* 802D0D5C 002CC9BC 99 03 00 1B */ stb r8, 0x1b(r3) +/* 802D0D60 002CC9C0 99 63 00 1C */ stb r11, 0x1c(r3) +/* 802D0D64 002CC9C4 99 23 00 1D */ stb r9, 0x1d(r3) +/* 802D0D68 002CC9C8 99 43 00 1E */ stb r10, 0x1e(r3) +/* 802D0D6C 002CC9CC 98 03 00 1F */ stb r0, 0x1f(r3) +/* 802D0D70 002CC9D0 4B FF D0 C5 */ bl func_802CDE34 +/* 802D0D74 002CC9D4 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D0D78 002CC9D8 4B EF 63 F5 */ bl _restgpr_25 +/* 802D0D7C 002CC9DC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802D0D80 002CC9E0 7C 08 03 A6 */ mtlr r0 +/* 802D0D84 002CC9E4 38 21 00 30 */ addi r1, r1, 0x30 +/* 802D0D88 002CC9E8 4E 80 00 20 */ blr + +.global func_802D0D8C +func_802D0D8C: +/* 802D0D8C 002CC9EC 39 20 00 0A */ li r9, 0xa +/* 802D0D90 002CC9F0 39 00 00 00 */ li r8, 0 +/* 802D0D94 002CC9F4 38 E0 00 2A */ li r7, 0x2a +/* 802D0D98 002CC9F8 38 C0 00 04 */ li r6, 4 +/* 802D0D9C 002CC9FC 38 00 00 07 */ li r0, 7 +/* 802D0DA0 002CCA00 B1 23 00 02 */ sth r9, 2(r3) +/* 802D0DA4 002CCA04 B1 03 00 04 */ sth r8, 4(r3) +/* 802D0DA8 002CCA08 98 E3 00 08 */ stb r7, 8(r3) +/* 802D0DAC 002CCA0C 98 C3 00 09 */ stb r6, 9(r3) +/* 802D0DB0 002CCA10 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D0DB4 002CCA14 88 04 00 05 */ lbz r0, 5(r4) +/* 802D0DB8 002CCA18 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D0DBC 002CCA1C 88 04 00 04 */ lbz r0, 4(r4) +/* 802D0DC0 002CCA20 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0DC4 002CCA24 88 04 00 03 */ lbz r0, 3(r4) +/* 802D0DC8 002CCA28 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D0DCC 002CCA2C 88 04 00 02 */ lbz r0, 2(r4) +/* 802D0DD0 002CCA30 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D0DD4 002CCA34 88 04 00 01 */ lbz r0, 1(r4) +/* 802D0DD8 002CCA38 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D0DDC 002CCA3C 88 04 00 00 */ lbz r0, 0(r4) +/* 802D0DE0 002CCA40 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D0DE4 002CCA44 98 A3 00 11 */ stb r5, 0x11(r3) +/* 802D0DE8 002CCA48 4B FF D0 4C */ b func_802CDE34 + +.global func_802D0DEC +func_802D0DEC: +/* 802D0DEC 002CCA4C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0DF0 002CCA50 7C 08 02 A6 */ mflr r0 +/* 802D0DF4 002CCA54 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0DF8 002CCA58 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0DFC 002CCA5C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D0E00 002CCA60 7C DF 33 78 */ mr r31, r6 +/* 802D0E04 002CCA64 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802D0E08 002CCA68 7C BE 2B 78 */ mr r30, r5 +/* 802D0E0C 002CCA6C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802D0E10 002CCA70 7C 9D 23 78 */ mr r29, r4 +/* 802D0E14 002CCA74 40 82 00 1C */ bne lbl_802D0E30 +/* 802D0E18 002CCA78 38 60 00 02 */ li r3, 2 +/* 802D0E1C 002CCA7C 4B FE 8E 31 */ bl func_802B9C4C +/* 802D0E20 002CCA80 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0E24 002CCA84 40 82 00 0C */ bne lbl_802D0E30 +/* 802D0E28 002CCA88 38 60 00 00 */ li r3, 0 +/* 802D0E2C 002CCA8C 48 00 00 58 */ b lbl_802D0E84 +lbl_802D0E30: +/* 802D0E30 002CCA90 38 00 00 09 */ li r0, 9 +/* 802D0E34 002CCA94 7F A5 46 70 */ srawi r5, r29, 8 +/* 802D0E38 002CCA98 B0 03 00 02 */ sth r0, 2(r3) +/* 802D0E3C 002CCA9C 38 00 00 00 */ li r0, 0 +/* 802D0E40 002CCAA0 39 00 00 01 */ li r8, 1 +/* 802D0E44 002CCAA4 38 E0 00 08 */ li r7, 8 +/* 802D0E48 002CCAA8 B0 03 00 04 */ sth r0, 4(r3) +/* 802D0E4C 002CCAAC 38 C0 00 06 */ li r6, 6 +/* 802D0E50 002CCAB0 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D0E54 002CCAB4 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0E58 002CCAB8 99 03 00 08 */ stb r8, 8(r3) +/* 802D0E5C 002CCABC 98 E3 00 09 */ stb r7, 9(r3) +/* 802D0E60 002CCAC0 98 C3 00 0A */ stb r6, 0xa(r3) +/* 802D0E64 002CCAC4 9B A3 00 0B */ stb r29, 0xb(r3) +/* 802D0E68 002CCAC8 98 A3 00 0C */ stb r5, 0xc(r3) +/* 802D0E6C 002CCACC 9B C3 00 0D */ stb r30, 0xd(r3) +/* 802D0E70 002CCAD0 98 83 00 0E */ stb r4, 0xe(r3) +/* 802D0E74 002CCAD4 9B E3 00 0F */ stb r31, 0xf(r3) +/* 802D0E78 002CCAD8 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D0E7C 002CCADC 4B FF CF B9 */ bl func_802CDE34 +/* 802D0E80 002CCAE0 38 60 00 01 */ li r3, 1 +lbl_802D0E84: +/* 802D0E84 002CCAE4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0E88 002CCAE8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D0E8C 002CCAEC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802D0E90 002CCAF0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802D0E94 002CCAF4 7C 08 03 A6 */ mtlr r0 +/* 802D0E98 002CCAF8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0E9C 002CCAFC 4E 80 00 20 */ blr + +.global func_802D0EA0 +func_802D0EA0: +/* 802D0EA0 002CCB00 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0EA4 002CCB04 7C 08 02 A6 */ mflr r0 +/* 802D0EA8 002CCB08 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0EAC 002CCB0C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0EB0 002CCB10 4B EF 62 79 */ bl _savegpr_27 +/* 802D0EB4 002CCB14 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0EB8 002CCB18 7C 9B 23 78 */ mr r27, r4 +/* 802D0EBC 002CCB1C 7C BC 2B 78 */ mr r28, r5 +/* 802D0EC0 002CCB20 7C DD 33 78 */ mr r29, r6 +/* 802D0EC4 002CCB24 7C FE 3B 78 */ mr r30, r7 +/* 802D0EC8 002CCB28 7D 1F 43 78 */ mr r31, r8 +/* 802D0ECC 002CCB2C 40 82 00 1C */ bne lbl_802D0EE8 +/* 802D0ED0 002CCB30 38 60 00 02 */ li r3, 2 +/* 802D0ED4 002CCB34 4B FE 8D 79 */ bl func_802B9C4C +/* 802D0ED8 002CCB38 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0EDC 002CCB3C 40 82 00 0C */ bne lbl_802D0EE8 +/* 802D0EE0 002CCB40 38 60 00 00 */ li r3, 0 +/* 802D0EE4 002CCB44 48 00 00 70 */ b lbl_802D0F54 +lbl_802D0EE8: +/* 802D0EE8 002CCB48 38 00 00 0D */ li r0, 0xd +/* 802D0EEC 002CCB4C 7F 67 46 70 */ srawi r7, r27, 8 +/* 802D0EF0 002CCB50 B0 03 00 02 */ sth r0, 2(r3) +/* 802D0EF4 002CCB54 38 80 00 00 */ li r4, 0 +/* 802D0EF8 002CCB58 7F 86 46 70 */ srawi r6, r28, 8 +/* 802D0EFC 002CCB5C 38 00 00 03 */ li r0, 3 +/* 802D0F00 002CCB60 B0 83 00 04 */ sth r4, 4(r3) +/* 802D0F04 002CCB64 7F A5 46 70 */ srawi r5, r29, 8 +/* 802D0F08 002CCB68 39 20 00 08 */ li r9, 8 +/* 802D0F0C 002CCB6C 39 00 00 0A */ li r8, 0xa +/* 802D0F10 002CCB70 98 03 00 08 */ stb r0, 8(r3) +/* 802D0F14 002CCB74 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D0F18 002CCB78 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0F1C 002CCB7C 99 23 00 09 */ stb r9, 9(r3) +/* 802D0F20 002CCB80 99 03 00 0A */ stb r8, 0xa(r3) +/* 802D0F24 002CCB84 9B 63 00 0B */ stb r27, 0xb(r3) +/* 802D0F28 002CCB88 98 E3 00 0C */ stb r7, 0xc(r3) +/* 802D0F2C 002CCB8C 9B 83 00 0D */ stb r28, 0xd(r3) +/* 802D0F30 002CCB90 98 C3 00 0E */ stb r6, 0xe(r3) +/* 802D0F34 002CCB94 9B A3 00 0F */ stb r29, 0xf(r3) +/* 802D0F38 002CCB98 98 A3 00 10 */ stb r5, 0x10(r3) +/* 802D0F3C 002CCB9C 9B C3 00 11 */ stb r30, 0x11(r3) +/* 802D0F40 002CCBA0 98 83 00 12 */ stb r4, 0x12(r3) +/* 802D0F44 002CCBA4 9B E3 00 13 */ stb r31, 0x13(r3) +/* 802D0F48 002CCBA8 98 03 00 14 */ stb r0, 0x14(r3) +/* 802D0F4C 002CCBAC 4B FF CE E9 */ bl func_802CDE34 +/* 802D0F50 002CCBB0 38 60 00 01 */ li r3, 1 +lbl_802D0F54: +/* 802D0F54 002CCBB4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0F58 002CCBB8 4B EF 62 1D */ bl _restgpr_27 +/* 802D0F5C 002CCBBC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0F60 002CCBC0 7C 08 03 A6 */ mtlr r0 +/* 802D0F64 002CCBC4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0F68 002CCBC8 4E 80 00 20 */ blr + +.global func_802D0F6C +func_802D0F6C: +/* 802D0F6C 002CCBCC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0F70 002CCBD0 7C 08 02 A6 */ mflr r0 +/* 802D0F74 002CCBD4 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0F78 002CCBD8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0F7C 002CCBDC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0F80 002CCBE0 7C 9F 23 78 */ mr r31, r4 +/* 802D0F84 002CCBE4 40 82 00 1C */ bne lbl_802D0FA0 +/* 802D0F88 002CCBE8 38 60 00 02 */ li r3, 2 +/* 802D0F8C 002CCBEC 4B FE 8C C1 */ bl func_802B9C4C +/* 802D0F90 002CCBF0 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0F94 002CCBF4 40 82 00 0C */ bne lbl_802D0FA0 +/* 802D0F98 002CCBF8 38 60 00 00 */ li r3, 0 +/* 802D0F9C 002CCBFC 48 00 00 40 */ b lbl_802D0FDC +lbl_802D0FA0: +/* 802D0FA0 002CCC00 38 80 00 05 */ li r4, 5 +/* 802D0FA4 002CCC04 38 00 00 00 */ li r0, 0 +/* 802D0FA8 002CCC08 B0 83 00 02 */ sth r4, 2(r3) +/* 802D0FAC 002CCC0C 38 C0 00 04 */ li r6, 4 +/* 802D0FB0 002CCC10 38 A0 00 08 */ li r5, 8 +/* 802D0FB4 002CCC14 38 80 00 02 */ li r4, 2 +/* 802D0FB8 002CCC18 B0 03 00 04 */ sth r0, 4(r3) +/* 802D0FBC 002CCC1C 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D0FC0 002CCC20 98 C3 00 08 */ stb r6, 8(r3) +/* 802D0FC4 002CCC24 98 A3 00 09 */ stb r5, 9(r3) +/* 802D0FC8 002CCC28 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D0FCC 002CCC2C 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D0FD0 002CCC30 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D0FD4 002CCC34 4B FF CE 61 */ bl func_802CDE34 +/* 802D0FD8 002CCC38 38 60 00 01 */ li r3, 1 +lbl_802D0FDC: +/* 802D0FDC 002CCC3C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0FE0 002CCC40 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0FE4 002CCC44 7C 08 03 A6 */ mtlr r0 +/* 802D0FE8 002CCC48 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0FEC 002CCC4C 4E 80 00 20 */ blr + +.global func_802D0FF0 +func_802D0FF0: +/* 802D0FF0 002CCC50 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0FF4 002CCC54 7C 08 02 A6 */ mflr r0 +/* 802D0FF8 002CCC58 2C 03 00 00 */ cmpwi r3, 0 +/* 802D0FFC 002CCC5C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D1000 002CCC60 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D1004 002CCC64 7C DF 33 78 */ mr r31, r6 +/* 802D1008 002CCC68 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802D100C 002CCC6C 7C BE 2B 78 */ mr r30, r5 +/* 802D1010 002CCC70 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802D1014 002CCC74 7C 9D 23 78 */ mr r29, r4 +/* 802D1018 002CCC78 40 82 00 1C */ bne lbl_802D1034 +/* 802D101C 002CCC7C 38 60 00 02 */ li r3, 2 +/* 802D1020 002CCC80 4B FE 8C 2D */ bl func_802B9C4C +/* 802D1024 002CCC84 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1028 002CCC88 40 82 00 0C */ bne lbl_802D1034 +/* 802D102C 002CCC8C 38 60 00 00 */ li r3, 0 +/* 802D1030 002CCC90 48 00 00 58 */ b lbl_802D1088 +lbl_802D1034: +/* 802D1034 002CCC94 38 00 00 09 */ li r0, 9 +/* 802D1038 002CCC98 7F A5 46 70 */ srawi r5, r29, 8 +/* 802D103C 002CCC9C B0 03 00 02 */ sth r0, 2(r3) +/* 802D1040 002CCCA0 38 00 00 00 */ li r0, 0 +/* 802D1044 002CCCA4 39 00 00 05 */ li r8, 5 +/* 802D1048 002CCCA8 38 E0 00 08 */ li r7, 8 +/* 802D104C 002CCCAC B0 03 00 04 */ sth r0, 4(r3) +/* 802D1050 002CCCB0 38 C0 00 06 */ li r6, 6 +/* 802D1054 002CCCB4 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D1058 002CCCB8 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D105C 002CCCBC 99 03 00 08 */ stb r8, 8(r3) +/* 802D1060 002CCCC0 98 E3 00 09 */ stb r7, 9(r3) +/* 802D1064 002CCCC4 98 C3 00 0A */ stb r6, 0xa(r3) +/* 802D1068 002CCCC8 9B A3 00 0B */ stb r29, 0xb(r3) +/* 802D106C 002CCCCC 98 A3 00 0C */ stb r5, 0xc(r3) +/* 802D1070 002CCCD0 9B C3 00 0D */ stb r30, 0xd(r3) +/* 802D1074 002CCCD4 98 83 00 0E */ stb r4, 0xe(r3) +/* 802D1078 002CCCD8 9B E3 00 0F */ stb r31, 0xf(r3) +/* 802D107C 002CCCDC 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D1080 002CCCE0 4B FF CD B5 */ bl func_802CDE34 +/* 802D1084 002CCCE4 38 60 00 01 */ li r3, 1 +lbl_802D1088: +/* 802D1088 002CCCE8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D108C 002CCCEC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D1090 002CCCF0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802D1094 002CCCF4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802D1098 002CCCF8 7C 08 03 A6 */ mtlr r0 +/* 802D109C 002CCCFC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D10A0 002CCD00 4E 80 00 20 */ blr + +.global func_802D10A4 +func_802D10A4: +/* 802D10A4 002CCD04 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D10A8 002CCD08 7C 08 02 A6 */ mflr r0 +/* 802D10AC 002CCD0C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D10B0 002CCD10 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D10B4 002CCD14 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D10B8 002CCD18 7C 9F 23 78 */ mr r31, r4 +/* 802D10BC 002CCD1C 40 82 00 1C */ bne lbl_802D10D8 +/* 802D10C0 002CCD20 38 60 00 02 */ li r3, 2 +/* 802D10C4 002CCD24 4B FE 8B 89 */ bl func_802B9C4C +/* 802D10C8 002CCD28 2C 03 00 00 */ cmpwi r3, 0 +/* 802D10CC 002CCD2C 40 82 00 0C */ bne lbl_802D10D8 +/* 802D10D0 002CCD30 38 60 00 00 */ li r3, 0 +/* 802D10D4 002CCD34 48 00 00 40 */ b lbl_802D1114 +lbl_802D10D8: +/* 802D10D8 002CCD38 38 80 00 05 */ li r4, 5 +/* 802D10DC 002CCD3C 38 00 00 00 */ li r0, 0 +/* 802D10E0 002CCD40 B0 83 00 02 */ sth r4, 2(r3) +/* 802D10E4 002CCD44 38 C0 00 06 */ li r6, 6 +/* 802D10E8 002CCD48 38 A0 00 08 */ li r5, 8 +/* 802D10EC 002CCD4C 38 80 00 02 */ li r4, 2 +/* 802D10F0 002CCD50 B0 03 00 04 */ sth r0, 4(r3) +/* 802D10F4 002CCD54 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D10F8 002CCD58 98 C3 00 08 */ stb r6, 8(r3) +/* 802D10FC 002CCD5C 98 A3 00 09 */ stb r5, 9(r3) +/* 802D1100 002CCD60 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D1104 002CCD64 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D1108 002CCD68 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D110C 002CCD6C 4B FF CD 29 */ bl func_802CDE34 +/* 802D1110 002CCD70 38 60 00 01 */ li r3, 1 +lbl_802D1114: +/* 802D1114 002CCD74 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1118 002CCD78 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D111C 002CCD7C 7C 08 03 A6 */ mtlr r0 +/* 802D1120 002CCD80 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1124 002CCD84 4E 80 00 20 */ blr + +.global func_802D1128 +func_802D1128: +/* 802D1128 002CCD88 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D112C 002CCD8C 7C 08 02 A6 */ mflr r0 +/* 802D1130 002CCD90 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1134 002CCD94 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1138 002CCD98 7C 9F 23 78 */ mr r31, r4 +/* 802D113C 002CCD9C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D1140 002CCDA0 7C 7E 1B 78 */ mr r30, r3 +/* 802D1144 002CCDA4 38 60 00 02 */ li r3, 2 +/* 802D1148 002CCDA8 4B FE 8B 05 */ bl func_802B9C4C +/* 802D114C 002CCDAC 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1150 002CCDB0 40 82 00 0C */ bne lbl_802D115C +/* 802D1154 002CCDB4 38 60 00 00 */ li r3, 0 +/* 802D1158 002CCDB8 48 00 00 68 */ b lbl_802D11C0 +lbl_802D115C: +/* 802D115C 002CCDBC 38 00 00 0A */ li r0, 0xa +/* 802D1160 002CCDC0 38 C0 00 00 */ li r6, 0 +/* 802D1164 002CCDC4 B0 03 00 02 */ sth r0, 2(r3) +/* 802D1168 002CCDC8 38 A0 00 0B */ li r5, 0xb +/* 802D116C 002CCDCC 38 80 00 08 */ li r4, 8 +/* 802D1170 002CCDD0 38 00 00 07 */ li r0, 7 +/* 802D1174 002CCDD4 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D1178 002CCDD8 98 A3 00 08 */ stb r5, 8(r3) +/* 802D117C 002CCDDC 98 83 00 09 */ stb r4, 9(r3) +/* 802D1180 002CCDE0 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1184 002CCDE4 88 1E 00 05 */ lbz r0, 5(r30) +/* 802D1188 002CCDE8 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D118C 002CCDEC 88 1E 00 04 */ lbz r0, 4(r30) +/* 802D1190 002CCDF0 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D1194 002CCDF4 88 1E 00 03 */ lbz r0, 3(r30) +/* 802D1198 002CCDF8 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D119C 002CCDFC 88 1E 00 02 */ lbz r0, 2(r30) +/* 802D11A0 002CCE00 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D11A4 002CCE04 88 1E 00 01 */ lbz r0, 1(r30) +/* 802D11A8 002CCE08 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D11AC 002CCE0C 88 1E 00 00 */ lbz r0, 0(r30) +/* 802D11B0 002CCE10 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D11B4 002CCE14 9B E3 00 11 */ stb r31, 0x11(r3) +/* 802D11B8 002CCE18 4B FF CC 7D */ bl func_802CDE34 +/* 802D11BC 002CCE1C 38 60 00 01 */ li r3, 1 +lbl_802D11C0: +/* 802D11C0 002CCE20 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D11C4 002CCE24 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D11C8 002CCE28 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D11CC 002CCE2C 7C 08 03 A6 */ mtlr r0 +/* 802D11D0 002CCE30 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D11D4 002CCE34 4E 80 00 20 */ blr + +.global func_802D11D8 +func_802D11D8: +/* 802D11D8 002CCE38 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D11DC 002CCE3C 7C 08 02 A6 */ mflr r0 +/* 802D11E0 002CCE40 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D11E4 002CCE44 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D11E8 002CCE48 7C 9F 23 78 */ mr r31, r4 +/* 802D11EC 002CCE4C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D11F0 002CCE50 7C 7E 1B 78 */ mr r30, r3 +/* 802D11F4 002CCE54 38 60 00 02 */ li r3, 2 +/* 802D11F8 002CCE58 4B FE 8A 55 */ bl func_802B9C4C +/* 802D11FC 002CCE5C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1200 002CCE60 40 82 00 0C */ bne lbl_802D120C +/* 802D1204 002CCE64 38 60 00 00 */ li r3, 0 +/* 802D1208 002CCE68 48 00 00 4C */ b lbl_802D1254 +lbl_802D120C: +/* 802D120C 002CCE6C 38 80 00 07 */ li r4, 7 +/* 802D1210 002CCE70 38 00 00 00 */ li r0, 0 +/* 802D1214 002CCE74 B0 83 00 02 */ sth r4, 2(r3) +/* 802D1218 002CCE78 38 E0 00 0D */ li r7, 0xd +/* 802D121C 002CCE7C 38 C0 00 08 */ li r6, 8 +/* 802D1220 002CCE80 38 A0 00 04 */ li r5, 4 +/* 802D1224 002CCE84 B0 03 00 04 */ sth r0, 4(r3) +/* 802D1228 002CCE88 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D122C 002CCE8C 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D1230 002CCE90 98 E3 00 08 */ stb r7, 8(r3) +/* 802D1234 002CCE94 98 C3 00 09 */ stb r6, 9(r3) +/* 802D1238 002CCE98 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D123C 002CCE9C 9B C3 00 0B */ stb r30, 0xb(r3) +/* 802D1240 002CCEA0 98 83 00 0C */ stb r4, 0xc(r3) +/* 802D1244 002CCEA4 9B E3 00 0D */ stb r31, 0xd(r3) +/* 802D1248 002CCEA8 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D124C 002CCEAC 4B FF CB E9 */ bl func_802CDE34 +/* 802D1250 002CCEB0 38 60 00 01 */ li r3, 1 +lbl_802D1254: +/* 802D1254 002CCEB4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1258 002CCEB8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D125C 002CCEBC 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D1260 002CCEC0 7C 08 03 A6 */ mtlr r0 +/* 802D1264 002CCEC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1268 002CCEC8 4E 80 00 20 */ blr + +.global func_802D126C +func_802D126C: +/* 802D126C 002CCECC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1270 002CCED0 7C 08 02 A6 */ mflr r0 +/* 802D1274 002CCED4 38 60 00 02 */ li r3, 2 +/* 802D1278 002CCED8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D127C 002CCEDC 4B FE 89 D1 */ bl func_802B9C4C +/* 802D1280 002CCEE0 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1284 002CCEE4 40 82 00 0C */ bne lbl_802D1290 +/* 802D1288 002CCEE8 38 60 00 00 */ li r3, 0 +/* 802D128C 002CCEEC 48 00 00 2C */ b lbl_802D12B8 +lbl_802D1290: +/* 802D1290 002CCEF0 38 A0 00 03 */ li r5, 3 +/* 802D1294 002CCEF4 38 80 00 00 */ li r4, 0 +/* 802D1298 002CCEF8 B0 A3 00 02 */ sth r5, 2(r3) +/* 802D129C 002CCEFC 38 00 00 0C */ li r0, 0xc +/* 802D12A0 002CCF00 B0 83 00 04 */ sth r4, 4(r3) +/* 802D12A4 002CCF04 98 A3 00 08 */ stb r5, 8(r3) +/* 802D12A8 002CCF08 98 03 00 09 */ stb r0, 9(r3) +/* 802D12AC 002CCF0C 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D12B0 002CCF10 4B FF CB 85 */ bl func_802CDE34 +/* 802D12B4 002CCF14 38 60 00 01 */ li r3, 1 +lbl_802D12B8: +/* 802D12B8 002CCF18 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D12BC 002CCF1C 7C 08 03 A6 */ mtlr r0 +/* 802D12C0 002CCF20 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D12C4 002CCF24 4E 80 00 20 */ blr + +.global func_802D12C8 +func_802D12C8: +/* 802D12C8 002CCF28 38 00 00 00 */ li r0, 0 +/* 802D12CC 002CCF2C 39 20 00 05 */ li r9, 5 +/* 802D12D0 002CCF30 39 00 00 0C */ li r8, 0xc +/* 802D12D4 002CCF34 B0 03 00 04 */ sth r0, 4(r3) +/* 802D12D8 002CCF38 2C 04 00 00 */ cmpwi r4, 0 +/* 802D12DC 002CCF3C 7C C0 33 78 */ mr r0, r6 +/* 802D12E0 002CCF40 99 23 00 08 */ stb r9, 8(r3) +/* 802D12E4 002CCF44 99 03 00 09 */ stb r8, 9(r3) +/* 802D12E8 002CCF48 41 82 01 84 */ beq lbl_802D146C +/* 802D12EC 002CCF4C 39 07 00 05 */ addi r8, r7, 5 +/* 802D12F0 002CCF50 39 27 00 02 */ addi r9, r7, 2 +/* 802D12F4 002CCF54 B1 03 00 02 */ sth r8, 2(r3) +/* 802D12F8 002CCF58 28 05 00 01 */ cmplwi r5, 1 +/* 802D12FC 002CCF5C 39 03 00 0D */ addi r8, r3, 0xd +/* 802D1300 002CCF60 99 23 00 0A */ stb r9, 0xa(r3) +/* 802D1304 002CCF64 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D1308 002CCF68 98 A3 00 0C */ stb r5, 0xc(r3) +/* 802D130C 002CCF6C 40 82 00 48 */ bne lbl_802D1354 +/* 802D1310 002CCF70 88 86 00 02 */ lbz r4, 2(r6) +/* 802D1314 002CCF74 38 07 FF FA */ addi r0, r7, -6 +/* 802D1318 002CCF78 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 802D131C 002CCF7C 98 88 00 00 */ stb r4, 0(r8) +/* 802D1320 002CCF80 38 06 00 06 */ addi r0, r6, 6 +/* 802D1324 002CCF84 88 86 00 01 */ lbz r4, 1(r6) +/* 802D1328 002CCF88 98 88 00 01 */ stb r4, 1(r8) +/* 802D132C 002CCF8C 88 86 00 00 */ lbz r4, 0(r6) +/* 802D1330 002CCF90 98 88 00 02 */ stb r4, 2(r8) +/* 802D1334 002CCF94 88 86 00 05 */ lbz r4, 5(r6) +/* 802D1338 002CCF98 98 88 00 03 */ stb r4, 3(r8) +/* 802D133C 002CCF9C 88 86 00 04 */ lbz r4, 4(r6) +/* 802D1340 002CCFA0 98 88 00 04 */ stb r4, 4(r8) +/* 802D1344 002CCFA4 88 86 00 03 */ lbz r4, 3(r6) +/* 802D1348 002CCFA8 98 88 00 05 */ stb r4, 5(r8) +/* 802D134C 002CCFAC 39 08 00 06 */ addi r8, r8, 6 +/* 802D1350 002CCFB0 48 00 00 4C */ b lbl_802D139C +lbl_802D1354: +/* 802D1354 002CCFB4 28 05 00 02 */ cmplwi r5, 2 +/* 802D1358 002CCFB8 40 82 00 44 */ bne lbl_802D139C +/* 802D135C 002CCFBC 88 86 00 05 */ lbz r4, 5(r6) +/* 802D1360 002CCFC0 38 07 FF FA */ addi r0, r7, -6 +/* 802D1364 002CCFC4 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 802D1368 002CCFC8 98 88 00 00 */ stb r4, 0(r8) +/* 802D136C 002CCFCC 38 06 00 06 */ addi r0, r6, 6 +/* 802D1370 002CCFD0 88 86 00 04 */ lbz r4, 4(r6) +/* 802D1374 002CCFD4 98 88 00 01 */ stb r4, 1(r8) +/* 802D1378 002CCFD8 88 86 00 03 */ lbz r4, 3(r6) +/* 802D137C 002CCFDC 98 88 00 02 */ stb r4, 2(r8) +/* 802D1380 002CCFE0 88 86 00 02 */ lbz r4, 2(r6) +/* 802D1384 002CCFE4 98 88 00 03 */ stb r4, 3(r8) +/* 802D1388 002CCFE8 88 86 00 01 */ lbz r4, 1(r6) +/* 802D138C 002CCFEC 98 88 00 04 */ stb r4, 4(r8) +/* 802D1390 002CCFF0 88 86 00 00 */ lbz r4, 0(r6) +/* 802D1394 002CCFF4 98 88 00 05 */ stb r4, 5(r8) +/* 802D1398 002CCFF8 39 08 00 06 */ addi r8, r8, 6 +lbl_802D139C: +/* 802D139C 002CCFFC 2C 87 00 00 */ cmpwi cr1, r7, 0 +/* 802D13A0 002CD000 41 86 00 E0 */ beq cr1, lbl_802D1480 +/* 802D13A4 002CD004 39 20 00 00 */ li r9, 0 +/* 802D13A8 002CD008 40 85 00 D8 */ ble cr1, lbl_802D1480 +/* 802D13AC 002CD00C 2C 07 00 08 */ cmpwi r7, 8 +/* 802D13B0 002CD010 38 A7 FF F8 */ addi r5, r7, -8 +/* 802D13B4 002CD014 40 81 00 8C */ ble lbl_802D1440 +/* 802D13B8 002CD018 38 C0 00 00 */ li r6, 0 +/* 802D13BC 002CD01C 41 84 00 18 */ blt cr1, lbl_802D13D4 +/* 802D13C0 002CD020 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha +/* 802D13C4 002CD024 38 84 FF FE */ addi r4, r4, 0x7FFFFFFE@l +/* 802D13C8 002CD028 7C 07 20 00 */ cmpw r7, r4 +/* 802D13CC 002CD02C 41 81 00 08 */ bgt lbl_802D13D4 +/* 802D13D0 002CD030 38 C0 00 01 */ li r6, 1 +lbl_802D13D4: +/* 802D13D4 002CD034 2C 06 00 00 */ cmpwi r6, 0 +/* 802D13D8 002CD038 41 82 00 68 */ beq lbl_802D1440 +/* 802D13DC 002CD03C 38 85 00 07 */ addi r4, r5, 7 +/* 802D13E0 002CD040 54 84 E8 FE */ srwi r4, r4, 3 +/* 802D13E4 002CD044 7C 89 03 A6 */ mtctr r4 +/* 802D13E8 002CD048 2C 05 00 00 */ cmpwi r5, 0 +/* 802D13EC 002CD04C 40 81 00 54 */ ble lbl_802D1440 +lbl_802D13F0: +/* 802D13F0 002CD050 7C 89 00 AE */ lbzx r4, r9, r0 +/* 802D13F4 002CD054 7C A0 4A 14 */ add r5, r0, r9 +/* 802D13F8 002CD058 39 29 00 08 */ addi r9, r9, 8 +/* 802D13FC 002CD05C 98 88 00 00 */ stb r4, 0(r8) +/* 802D1400 002CD060 88 85 00 01 */ lbz r4, 1(r5) +/* 802D1404 002CD064 98 88 00 01 */ stb r4, 1(r8) +/* 802D1408 002CD068 88 85 00 02 */ lbz r4, 2(r5) +/* 802D140C 002CD06C 98 88 00 02 */ stb r4, 2(r8) +/* 802D1410 002CD070 88 85 00 03 */ lbz r4, 3(r5) +/* 802D1414 002CD074 98 88 00 03 */ stb r4, 3(r8) +/* 802D1418 002CD078 88 85 00 04 */ lbz r4, 4(r5) +/* 802D141C 002CD07C 98 88 00 04 */ stb r4, 4(r8) +/* 802D1420 002CD080 88 85 00 05 */ lbz r4, 5(r5) +/* 802D1424 002CD084 98 88 00 05 */ stb r4, 5(r8) +/* 802D1428 002CD088 88 85 00 06 */ lbz r4, 6(r5) +/* 802D142C 002CD08C 98 88 00 06 */ stb r4, 6(r8) +/* 802D1430 002CD090 88 85 00 07 */ lbz r4, 7(r5) +/* 802D1434 002CD094 98 88 00 07 */ stb r4, 7(r8) +/* 802D1438 002CD098 39 08 00 08 */ addi r8, r8, 8 +/* 802D143C 002CD09C 42 00 FF B4 */ bdnz lbl_802D13F0 +lbl_802D1440: +/* 802D1440 002CD0A0 7C 89 38 50 */ subf r4, r9, r7 +/* 802D1444 002CD0A4 7C A0 4A 14 */ add r5, r0, r9 +/* 802D1448 002CD0A8 7C 89 03 A6 */ mtctr r4 +/* 802D144C 002CD0AC 7C 09 38 00 */ cmpw r9, r7 +/* 802D1450 002CD0B0 40 80 00 30 */ bge lbl_802D1480 +lbl_802D1454: +/* 802D1454 002CD0B4 88 05 00 00 */ lbz r0, 0(r5) +/* 802D1458 002CD0B8 38 A5 00 01 */ addi r5, r5, 1 +/* 802D145C 002CD0BC 98 08 00 00 */ stb r0, 0(r8) +/* 802D1460 002CD0C0 39 08 00 01 */ addi r8, r8, 1 +/* 802D1464 002CD0C4 42 00 FF F0 */ bdnz lbl_802D1454 +/* 802D1468 002CD0C8 48 00 00 18 */ b lbl_802D1480 +lbl_802D146C: +/* 802D146C 002CD0CC 38 A0 00 04 */ li r5, 4 +/* 802D1470 002CD0D0 38 00 00 01 */ li r0, 1 +/* 802D1474 002CD0D4 B0 A3 00 02 */ sth r5, 2(r3) +/* 802D1478 002CD0D8 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D147C 002CD0DC 98 83 00 0B */ stb r4, 0xb(r3) +lbl_802D1480: +/* 802D1480 002CD0E0 4B FF C9 B4 */ b func_802CDE34 + +.global func_802D1484 +func_802D1484: +/* 802D1484 002CD0E4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1488 002CD0E8 7C 08 02 A6 */ mflr r0 +/* 802D148C 002CD0EC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1490 002CD0F0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1494 002CD0F4 7C 7F 1B 78 */ mr r31, r3 +/* 802D1498 002CD0F8 38 60 00 02 */ li r3, 2 +/* 802D149C 002CD0FC 4B FE 87 B1 */ bl func_802B9C4C +/* 802D14A0 002CD100 2C 03 00 00 */ cmpwi r3, 0 +/* 802D14A4 002CD104 40 82 00 0C */ bne lbl_802D14B0 +/* 802D14A8 002CD108 38 60 00 00 */ li r3, 0 +/* 802D14AC 002CD10C 48 00 00 38 */ b lbl_802D14E4 +lbl_802D14B0: +/* 802D14B0 002CD110 38 00 00 04 */ li r0, 4 +/* 802D14B4 002CD114 38 C0 00 00 */ li r6, 0 +/* 802D14B8 002CD118 B0 03 00 02 */ sth r0, 2(r3) +/* 802D14BC 002CD11C 38 A0 00 0A */ li r5, 0xa +/* 802D14C0 002CD120 38 80 00 0C */ li r4, 0xc +/* 802D14C4 002CD124 38 00 00 01 */ li r0, 1 +/* 802D14C8 002CD128 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D14CC 002CD12C 98 A3 00 08 */ stb r5, 8(r3) +/* 802D14D0 002CD130 98 83 00 09 */ stb r4, 9(r3) +/* 802D14D4 002CD134 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D14D8 002CD138 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D14DC 002CD13C 4B FF C9 59 */ bl func_802CDE34 +/* 802D14E0 002CD140 38 60 00 01 */ li r3, 1 +lbl_802D14E4: +/* 802D14E4 002CD144 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D14E8 002CD148 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D14EC 002CD14C 7C 08 03 A6 */ mtlr r0 +/* 802D14F0 002CD150 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D14F4 002CD154 4E 80 00 20 */ blr + +.global func_802D14F8 +func_802D14F8: +/* 802D14F8 002CD158 39 20 00 0A */ li r9, 0xa +/* 802D14FC 002CD15C 39 00 00 00 */ li r8, 0 +/* 802D1500 002CD160 38 E0 00 0D */ li r7, 0xd +/* 802D1504 002CD164 38 C0 00 0C */ li r6, 0xc +/* 802D1508 002CD168 38 00 00 07 */ li r0, 7 +/* 802D150C 002CD16C B1 23 00 02 */ sth r9, 2(r3) +/* 802D1510 002CD170 B1 03 00 04 */ sth r8, 4(r3) +/* 802D1514 002CD174 98 E3 00 08 */ stb r7, 8(r3) +/* 802D1518 002CD178 98 C3 00 09 */ stb r6, 9(r3) +/* 802D151C 002CD17C 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1520 002CD180 88 04 00 05 */ lbz r0, 5(r4) +/* 802D1524 002CD184 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D1528 002CD188 88 04 00 04 */ lbz r0, 4(r4) +/* 802D152C 002CD18C 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D1530 002CD190 88 04 00 03 */ lbz r0, 3(r4) +/* 802D1534 002CD194 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D1538 002CD198 88 04 00 02 */ lbz r0, 2(r4) +/* 802D153C 002CD19C 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D1540 002CD1A0 88 04 00 01 */ lbz r0, 1(r4) +/* 802D1544 002CD1A4 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D1548 002CD1A8 88 04 00 00 */ lbz r0, 0(r4) +/* 802D154C 002CD1AC 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D1550 002CD1B0 98 A3 00 11 */ stb r5, 0x11(r3) +/* 802D1554 002CD1B4 4B FF C8 E0 */ b func_802CDE34 + +.global func_802D1558 +func_802D1558: +/* 802D1558 002CD1B8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802D155C 002CD1BC 7C 08 02 A6 */ mflr r0 +/* 802D1560 002CD1C0 90 01 00 34 */ stw r0, 0x34(r1) +/* 802D1564 002CD1C4 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D1568 002CD1C8 4B EF 5B AD */ bl _savegpr_22 +/* 802D156C 002CD1CC 1C E4 00 16 */ mulli r7, r4, 0x16 +/* 802D1570 002CD1D0 38 00 00 00 */ li r0, 0 +/* 802D1574 002CD1D4 39 20 00 11 */ li r9, 0x11 +/* 802D1578 002CD1D8 B0 03 00 04 */ sth r0, 4(r3) +/* 802D157C 002CD1DC 39 00 00 0C */ li r8, 0xc +/* 802D1580 002CD1E0 39 47 00 04 */ addi r10, r7, 4 +/* 802D1584 002CD1E4 55 47 04 3E */ clrlwi r7, r10, 0x10 +/* 802D1588 002CD1E8 28 04 00 0B */ cmplwi r4, 0xb +/* 802D158C 002CD1EC 38 07 FF FD */ addi r0, r7, -3 +/* 802D1590 002CD1F0 B1 43 00 02 */ sth r10, 2(r3) +/* 802D1594 002CD1F4 99 23 00 08 */ stb r9, 8(r3) +/* 802D1598 002CD1F8 99 03 00 09 */ stb r8, 9(r3) +/* 802D159C 002CD1FC 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D15A0 002CD200 40 81 00 08 */ ble lbl_802D15A8 +/* 802D15A4 002CD204 38 80 00 0B */ li r4, 0xb +lbl_802D15A8: +/* 802D15A8 002CD208 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D15AC 002CD20C 38 E3 00 0C */ addi r7, r3, 0xc +/* 802D15B0 002CD210 7C 89 03 A6 */ mtctr r4 +/* 802D15B4 002CD214 2C 04 00 00 */ cmpwi r4, 0 +/* 802D15B8 002CD218 40 81 01 44 */ ble lbl_802D16FC +lbl_802D15BC: +/* 802D15BC 002CD21C 88 05 00 05 */ lbz r0, 5(r5) +/* 802D15C0 002CD220 3A C0 00 00 */ li r22, 0 +/* 802D15C4 002CD224 22 F6 00 0F */ subfic r23, r22, 0xf +/* 802D15C8 002CD228 3B 00 00 01 */ li r24, 1 +/* 802D15CC 002CD22C 98 07 00 00 */ stb r0, 0(r7) +/* 802D15D0 002CD230 23 38 00 0F */ subfic r25, r24, 0xf +/* 802D15D4 002CD234 3B 40 00 02 */ li r26, 2 +/* 802D15D8 002CD238 3B 80 00 03 */ li r28, 3 +/* 802D15DC 002CD23C 88 05 00 04 */ lbz r0, 4(r5) +/* 802D15E0 002CD240 23 7A 00 0F */ subfic r27, r26, 0xf +/* 802D15E4 002CD244 23 BC 00 0F */ subfic r29, r28, 0xf +/* 802D15E8 002CD248 3B C0 00 04 */ li r30, 4 +/* 802D15EC 002CD24C 98 07 00 01 */ stb r0, 1(r7) +/* 802D15F0 002CD250 23 FE 00 0F */ subfic r31, r30, 0xf +/* 802D15F4 002CD254 39 80 00 05 */ li r12, 5 +/* 802D15F8 002CD258 39 40 00 06 */ li r10, 6 +/* 802D15FC 002CD25C 88 05 00 03 */ lbz r0, 3(r5) +/* 802D1600 002CD260 21 6C 00 0F */ subfic r11, r12, 0xf +/* 802D1604 002CD264 21 2A 00 0F */ subfic r9, r10, 0xf +/* 802D1608 002CD268 39 00 00 07 */ li r8, 7 +/* 802D160C 002CD26C 98 07 00 02 */ stb r0, 2(r7) +/* 802D1610 002CD270 20 88 00 0F */ subfic r4, r8, 0xf +/* 802D1614 002CD274 3A C0 00 08 */ li r22, 8 +/* 802D1618 002CD278 3B 00 00 09 */ li r24, 9 +/* 802D161C 002CD27C 88 05 00 02 */ lbz r0, 2(r5) +/* 802D1620 002CD280 3B 40 00 0A */ li r26, 0xa +/* 802D1624 002CD284 3B 80 00 0B */ li r28, 0xb +/* 802D1628 002CD288 3B C0 00 0C */ li r30, 0xc +/* 802D162C 002CD28C 98 07 00 03 */ stb r0, 3(r7) +/* 802D1630 002CD290 39 80 00 0D */ li r12, 0xd +/* 802D1634 002CD294 39 40 00 0E */ li r10, 0xe +/* 802D1638 002CD298 39 00 00 0F */ li r8, 0xf +/* 802D163C 002CD29C 88 05 00 01 */ lbz r0, 1(r5) +/* 802D1640 002CD2A0 98 07 00 04 */ stb r0, 4(r7) +/* 802D1644 002CD2A4 88 05 00 00 */ lbz r0, 0(r5) +/* 802D1648 002CD2A8 38 A5 00 06 */ addi r5, r5, 6 +/* 802D164C 002CD2AC 98 07 00 05 */ stb r0, 5(r7) +/* 802D1650 002CD2B0 7C 06 B8 AE */ lbzx r0, r6, r23 +/* 802D1654 002CD2B4 22 F6 00 0F */ subfic r23, r22, 0xf +/* 802D1658 002CD2B8 98 07 00 06 */ stb r0, 6(r7) +/* 802D165C 002CD2BC 7C 06 C8 AE */ lbzx r0, r6, r25 +/* 802D1660 002CD2C0 23 38 00 0F */ subfic r25, r24, 0xf +/* 802D1664 002CD2C4 98 07 00 07 */ stb r0, 7(r7) +/* 802D1668 002CD2C8 7C 06 D8 AE */ lbzx r0, r6, r27 +/* 802D166C 002CD2CC 23 7A 00 0F */ subfic r27, r26, 0xf +/* 802D1670 002CD2D0 98 07 00 08 */ stb r0, 8(r7) +/* 802D1674 002CD2D4 7C 06 E8 AE */ lbzx r0, r6, r29 +/* 802D1678 002CD2D8 23 BC 00 0F */ subfic r29, r28, 0xf +/* 802D167C 002CD2DC 98 07 00 09 */ stb r0, 9(r7) +/* 802D1680 002CD2E0 7C 06 F8 AE */ lbzx r0, r6, r31 +/* 802D1684 002CD2E4 23 FE 00 0F */ subfic r31, r30, 0xf +/* 802D1688 002CD2E8 98 07 00 0A */ stb r0, 0xa(r7) +/* 802D168C 002CD2EC 7C 06 58 AE */ lbzx r0, r6, r11 +/* 802D1690 002CD2F0 21 6C 00 0F */ subfic r11, r12, 0xf +/* 802D1694 002CD2F4 98 07 00 0B */ stb r0, 0xb(r7) +/* 802D1698 002CD2F8 7C 06 48 AE */ lbzx r0, r6, r9 +/* 802D169C 002CD2FC 21 2A 00 0F */ subfic r9, r10, 0xf +/* 802D16A0 002CD300 98 07 00 0C */ stb r0, 0xc(r7) +/* 802D16A4 002CD304 7C 06 20 AE */ lbzx r0, r6, r4 +/* 802D16A8 002CD308 20 88 00 0F */ subfic r4, r8, 0xf +/* 802D16AC 002CD30C 98 07 00 0D */ stb r0, 0xd(r7) +/* 802D16B0 002CD310 7C 06 B8 AE */ lbzx r0, r6, r23 +/* 802D16B4 002CD314 98 07 00 0E */ stb r0, 0xe(r7) +/* 802D16B8 002CD318 7C 06 C8 AE */ lbzx r0, r6, r25 +/* 802D16BC 002CD31C 98 07 00 0F */ stb r0, 0xf(r7) +/* 802D16C0 002CD320 7C 06 D8 AE */ lbzx r0, r6, r27 +/* 802D16C4 002CD324 98 07 00 10 */ stb r0, 0x10(r7) +/* 802D16C8 002CD328 7C 06 E8 AE */ lbzx r0, r6, r29 +/* 802D16CC 002CD32C 98 07 00 11 */ stb r0, 0x11(r7) +/* 802D16D0 002CD330 7C 06 F8 AE */ lbzx r0, r6, r31 +/* 802D16D4 002CD334 98 07 00 12 */ stb r0, 0x12(r7) +/* 802D16D8 002CD338 7C 06 58 AE */ lbzx r0, r6, r11 +/* 802D16DC 002CD33C 98 07 00 13 */ stb r0, 0x13(r7) +/* 802D16E0 002CD340 7C 06 48 AE */ lbzx r0, r6, r9 +/* 802D16E4 002CD344 98 07 00 14 */ stb r0, 0x14(r7) +/* 802D16E8 002CD348 7C 06 20 AE */ lbzx r0, r6, r4 +/* 802D16EC 002CD34C 38 C6 00 10 */ addi r6, r6, 0x10 +/* 802D16F0 002CD350 98 07 00 15 */ stb r0, 0x15(r7) +/* 802D16F4 002CD354 38 E7 00 16 */ addi r7, r7, 0x16 +/* 802D16F8 002CD358 42 00 FE C4 */ bdnz lbl_802D15BC +lbl_802D16FC: +/* 802D16FC 002CD35C 4B FF C7 39 */ bl func_802CDE34 +/* 802D1700 002CD360 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D1704 002CD364 4B EF 5A 5D */ bl _restgpr_22 +/* 802D1708 002CD368 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802D170C 002CD36C 7C 08 03 A6 */ mtlr r0 +/* 802D1710 002CD370 38 21 00 30 */ addi r1, r1, 0x30 +/* 802D1714 002CD374 4E 80 00 20 */ blr + +.global func_802D1718 +func_802D1718: +/* 802D1718 002CD378 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D171C 002CD37C 7C 08 02 A6 */ mflr r0 +/* 802D1720 002CD380 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1724 002CD384 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1728 002CD388 7C 9F 23 78 */ mr r31, r4 +/* 802D172C 002CD38C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D1730 002CD390 7C 7E 1B 78 */ mr r30, r3 +/* 802D1734 002CD394 38 60 00 02 */ li r3, 2 +/* 802D1738 002CD398 4B FE 85 15 */ bl func_802B9C4C +/* 802D173C 002CD39C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1740 002CD3A0 40 82 00 0C */ bne lbl_802D174C +/* 802D1744 002CD3A4 38 60 00 00 */ li r3, 0 +/* 802D1748 002CD3A8 48 00 00 68 */ b lbl_802D17B0 +lbl_802D174C: +/* 802D174C 002CD3AC 38 00 00 0A */ li r0, 0xa +/* 802D1750 002CD3B0 38 C0 00 00 */ li r6, 0 +/* 802D1754 002CD3B4 B0 03 00 02 */ sth r0, 2(r3) +/* 802D1758 002CD3B8 38 A0 00 12 */ li r5, 0x12 +/* 802D175C 002CD3BC 38 80 00 0C */ li r4, 0xc +/* 802D1760 002CD3C0 38 00 00 07 */ li r0, 7 +/* 802D1764 002CD3C4 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D1768 002CD3C8 98 A3 00 08 */ stb r5, 8(r3) +/* 802D176C 002CD3CC 98 83 00 09 */ stb r4, 9(r3) +/* 802D1770 002CD3D0 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1774 002CD3D4 88 1E 00 05 */ lbz r0, 5(r30) +/* 802D1778 002CD3D8 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D177C 002CD3DC 88 1E 00 04 */ lbz r0, 4(r30) +/* 802D1780 002CD3E0 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D1784 002CD3E4 88 1E 00 03 */ lbz r0, 3(r30) +/* 802D1788 002CD3E8 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D178C 002CD3EC 88 1E 00 02 */ lbz r0, 2(r30) +/* 802D1790 002CD3F0 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D1794 002CD3F4 88 1E 00 01 */ lbz r0, 1(r30) +/* 802D1798 002CD3F8 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D179C 002CD3FC 88 1E 00 00 */ lbz r0, 0(r30) +/* 802D17A0 002CD400 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D17A4 002CD404 9B E3 00 11 */ stb r31, 0x11(r3) +/* 802D17A8 002CD408 4B FF C6 8D */ bl func_802CDE34 +/* 802D17AC 002CD40C 38 60 00 01 */ li r3, 1 +lbl_802D17B0: +/* 802D17B0 002CD410 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D17B4 002CD414 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D17B8 002CD418 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D17BC 002CD41C 7C 08 03 A6 */ mtlr r0 +/* 802D17C0 002CD420 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D17C4 002CD424 4E 80 00 20 */ blr + +.global func_802D17C8 +func_802D17C8: +/* 802D17C8 002CD428 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D17CC 002CD42C 7C 08 02 A6 */ mflr r0 +/* 802D17D0 002CD430 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D17D4 002CD434 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D17D8 002CD438 7C 7F 1B 78 */ mr r31, r3 +/* 802D17DC 002CD43C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D17E0 002CD440 7C 9E 23 78 */ mr r30, r4 +/* 802D17E4 002CD444 7F C3 F3 78 */ mr r3, r30 +/* 802D17E8 002CD448 4B EF 53 7D */ bl strlen +/* 802D17EC 002CD44C 38 03 00 01 */ addi r0, r3, 1 +/* 802D17F0 002CD450 38 C0 00 FB */ li r6, 0xfb +/* 802D17F4 002CD454 54 07 04 3E */ clrlwi r7, r0, 0x10 +/* 802D17F8 002CD458 38 A0 00 00 */ li r5, 0 +/* 802D17FC 002CD45C 38 80 00 13 */ li r4, 0x13 +/* 802D1800 002CD460 38 60 00 0C */ li r3, 0xc +/* 802D1804 002CD464 38 00 00 F8 */ li r0, 0xf8 +/* 802D1808 002CD468 B0 DF 00 02 */ sth r6, 2(r31) +/* 802D180C 002CD46C 2C 87 00 00 */ cmpwi cr1, r7, 0 +/* 802D1810 002CD470 38 DF 00 0B */ addi r6, r31, 0xb +/* 802D1814 002CD474 B0 BF 00 04 */ sth r5, 4(r31) +/* 802D1818 002CD478 39 00 00 00 */ li r8, 0 +/* 802D181C 002CD47C 98 9F 00 08 */ stb r4, 8(r31) +/* 802D1820 002CD480 98 7F 00 09 */ stb r3, 9(r31) +/* 802D1824 002CD484 98 1F 00 0A */ stb r0, 0xa(r31) +/* 802D1828 002CD488 40 85 00 C0 */ ble cr1, lbl_802D18E8 +/* 802D182C 002CD48C 2C 07 00 08 */ cmpwi r7, 8 +/* 802D1830 002CD490 38 87 FF F8 */ addi r4, r7, -8 +/* 802D1834 002CD494 40 81 00 8C */ ble lbl_802D18C0 +/* 802D1838 002CD498 38 A0 00 00 */ li r5, 0 +/* 802D183C 002CD49C 41 84 00 18 */ blt cr1, lbl_802D1854 +/* 802D1840 002CD4A0 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha +/* 802D1844 002CD4A4 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l +/* 802D1848 002CD4A8 7C 07 00 00 */ cmpw r7, r0 +/* 802D184C 002CD4AC 41 81 00 08 */ bgt lbl_802D1854 +/* 802D1850 002CD4B0 38 A0 00 01 */ li r5, 1 +lbl_802D1854: +/* 802D1854 002CD4B4 2C 05 00 00 */ cmpwi r5, 0 +/* 802D1858 002CD4B8 41 82 00 68 */ beq lbl_802D18C0 +/* 802D185C 002CD4BC 38 04 00 07 */ addi r0, r4, 7 +/* 802D1860 002CD4C0 54 00 E8 FE */ srwi r0, r0, 3 +/* 802D1864 002CD4C4 7C 09 03 A6 */ mtctr r0 +/* 802D1868 002CD4C8 2C 04 00 00 */ cmpwi r4, 0 +/* 802D186C 002CD4CC 40 81 00 54 */ ble lbl_802D18C0 +lbl_802D1870: +/* 802D1870 002CD4D0 7C 1E 40 AE */ lbzx r0, r30, r8 +/* 802D1874 002CD4D4 7C 7E 42 14 */ add r3, r30, r8 +/* 802D1878 002CD4D8 39 08 00 08 */ addi r8, r8, 8 +/* 802D187C 002CD4DC 98 06 00 00 */ stb r0, 0(r6) +/* 802D1880 002CD4E0 88 03 00 01 */ lbz r0, 1(r3) +/* 802D1884 002CD4E4 98 06 00 01 */ stb r0, 1(r6) +/* 802D1888 002CD4E8 88 03 00 02 */ lbz r0, 2(r3) +/* 802D188C 002CD4EC 98 06 00 02 */ stb r0, 2(r6) +/* 802D1890 002CD4F0 88 03 00 03 */ lbz r0, 3(r3) +/* 802D1894 002CD4F4 98 06 00 03 */ stb r0, 3(r6) +/* 802D1898 002CD4F8 88 03 00 04 */ lbz r0, 4(r3) +/* 802D189C 002CD4FC 98 06 00 04 */ stb r0, 4(r6) +/* 802D18A0 002CD500 88 03 00 05 */ lbz r0, 5(r3) +/* 802D18A4 002CD504 98 06 00 05 */ stb r0, 5(r6) +/* 802D18A8 002CD508 88 03 00 06 */ lbz r0, 6(r3) +/* 802D18AC 002CD50C 98 06 00 06 */ stb r0, 6(r6) +/* 802D18B0 002CD510 88 03 00 07 */ lbz r0, 7(r3) +/* 802D18B4 002CD514 98 06 00 07 */ stb r0, 7(r6) +/* 802D18B8 002CD518 38 C6 00 08 */ addi r6, r6, 8 +/* 802D18BC 002CD51C 42 00 FF B4 */ bdnz lbl_802D1870 +lbl_802D18C0: +/* 802D18C0 002CD520 7C 08 38 50 */ subf r0, r8, r7 +/* 802D18C4 002CD524 7C 7E 42 14 */ add r3, r30, r8 +/* 802D18C8 002CD528 7C 09 03 A6 */ mtctr r0 +/* 802D18CC 002CD52C 7C 08 38 00 */ cmpw r8, r7 +/* 802D18D0 002CD530 40 80 00 18 */ bge lbl_802D18E8 +lbl_802D18D4: +/* 802D18D4 002CD534 88 03 00 00 */ lbz r0, 0(r3) +/* 802D18D8 002CD538 38 63 00 01 */ addi r3, r3, 1 +/* 802D18DC 002CD53C 98 06 00 00 */ stb r0, 0(r6) +/* 802D18E0 002CD540 38 C6 00 01 */ addi r6, r6, 1 +/* 802D18E4 002CD544 42 00 FF F0 */ bdnz lbl_802D18D4 +lbl_802D18E8: +/* 802D18E8 002CD548 7F E3 FB 78 */ mr r3, r31 +/* 802D18EC 002CD54C 4B FF C5 49 */ bl func_802CDE34 +/* 802D18F0 002CD550 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D18F4 002CD554 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D18F8 002CD558 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D18FC 002CD55C 7C 08 03 A6 */ mtlr r0 +/* 802D1900 002CD560 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1904 002CD564 4E 80 00 20 */ blr + +.global func_802D1908 +func_802D1908: +/* 802D1908 002CD568 54 80 C6 3E */ rlwinm r0, r4, 0x18, 0x18, 0x1f +/* 802D190C 002CD56C 39 20 00 05 */ li r9, 5 +/* 802D1910 002CD570 39 00 00 00 */ li r8, 0 +/* 802D1914 002CD574 38 E0 00 18 */ li r7, 0x18 +/* 802D1918 002CD578 38 C0 00 0C */ li r6, 0xc +/* 802D191C 002CD57C 38 A0 00 02 */ li r5, 2 +/* 802D1920 002CD580 B1 23 00 02 */ sth r9, 2(r3) +/* 802D1924 002CD584 B1 03 00 04 */ sth r8, 4(r3) +/* 802D1928 002CD588 98 E3 00 08 */ stb r7, 8(r3) +/* 802D192C 002CD58C 98 C3 00 09 */ stb r6, 9(r3) +/* 802D1930 002CD590 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D1934 002CD594 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D1938 002CD598 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D193C 002CD59C 4B FF C4 F8 */ b func_802CDE34 + +.global func_802D1940 +func_802D1940: +/* 802D1940 002CD5A0 39 00 00 04 */ li r8, 4 +/* 802D1944 002CD5A4 38 E0 00 00 */ li r7, 0 +/* 802D1948 002CD5A8 38 C0 00 1A */ li r6, 0x1a +/* 802D194C 002CD5AC 38 A0 00 0C */ li r5, 0xc +/* 802D1950 002CD5B0 38 00 00 01 */ li r0, 1 +/* 802D1954 002CD5B4 B1 03 00 02 */ sth r8, 2(r3) +/* 802D1958 002CD5B8 B0 E3 00 04 */ sth r7, 4(r3) +/* 802D195C 002CD5BC 98 C3 00 08 */ stb r6, 8(r3) +/* 802D1960 002CD5C0 98 A3 00 09 */ stb r5, 9(r3) +/* 802D1964 002CD5C4 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1968 002CD5C8 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D196C 002CD5CC 4B FF C4 C8 */ b func_802CDE34 + +.global func_802D1970 +func_802D1970: +/* 802D1970 002CD5D0 54 86 C6 3E */ rlwinm r6, r4, 0x18, 0x18, 0x1f +/* 802D1974 002CD5D4 54 A0 C6 3E */ rlwinm r0, r5, 0x18, 0x18, 0x1f +/* 802D1978 002CD5D8 39 60 00 07 */ li r11, 7 +/* 802D197C 002CD5DC 39 40 00 00 */ li r10, 0 +/* 802D1980 002CD5E0 39 20 00 1C */ li r9, 0x1c +/* 802D1984 002CD5E4 39 00 00 0C */ li r8, 0xc +/* 802D1988 002CD5E8 38 E0 00 04 */ li r7, 4 +/* 802D198C 002CD5EC B1 63 00 02 */ sth r11, 2(r3) +/* 802D1990 002CD5F0 B1 43 00 04 */ sth r10, 4(r3) +/* 802D1994 002CD5F4 99 23 00 08 */ stb r9, 8(r3) +/* 802D1998 002CD5F8 99 03 00 09 */ stb r8, 9(r3) +/* 802D199C 002CD5FC 98 E3 00 0A */ stb r7, 0xa(r3) +/* 802D19A0 002CD600 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D19A4 002CD604 98 C3 00 0C */ stb r6, 0xc(r3) +/* 802D19A8 002CD608 98 A3 00 0D */ stb r5, 0xd(r3) +/* 802D19AC 002CD60C 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D19B0 002CD610 4B FF C4 84 */ b func_802CDE34 + +.global func_802D19B4 +func_802D19B4: +/* 802D19B4 002CD614 54 86 C6 3E */ rlwinm r6, r4, 0x18, 0x18, 0x1f +/* 802D19B8 002CD618 54 A0 C6 3E */ rlwinm r0, r5, 0x18, 0x18, 0x1f +/* 802D19BC 002CD61C 39 60 00 07 */ li r11, 7 +/* 802D19C0 002CD620 39 40 00 00 */ li r10, 0 +/* 802D19C4 002CD624 39 20 00 1E */ li r9, 0x1e +/* 802D19C8 002CD628 39 00 00 0C */ li r8, 0xc +/* 802D19CC 002CD62C 38 E0 00 04 */ li r7, 4 +/* 802D19D0 002CD630 B1 63 00 02 */ sth r11, 2(r3) +/* 802D19D4 002CD634 B1 43 00 04 */ sth r10, 4(r3) +/* 802D19D8 002CD638 99 23 00 08 */ stb r9, 8(r3) +/* 802D19DC 002CD63C 99 03 00 09 */ stb r8, 9(r3) +/* 802D19E0 002CD640 98 E3 00 0A */ stb r7, 0xa(r3) +/* 802D19E4 002CD644 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D19E8 002CD648 98 C3 00 0C */ stb r6, 0xc(r3) +/* 802D19EC 002CD64C 98 A3 00 0D */ stb r5, 0xd(r3) +/* 802D19F0 002CD650 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D19F4 002CD654 4B FF C4 40 */ b func_802CDE34 + +.global func_802D19F8 +func_802D19F8: +/* 802D19F8 002CD658 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D19FC 002CD65C 7C 08 02 A6 */ mflr r0 +/* 802D1A00 002CD660 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1A04 002CD664 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1A08 002CD668 7C 7F 1B 78 */ mr r31, r3 +/* 802D1A0C 002CD66C 38 60 00 02 */ li r3, 2 +/* 802D1A10 002CD670 4B FE 82 3D */ bl func_802B9C4C +/* 802D1A14 002CD674 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1A18 002CD678 40 82 00 0C */ bne lbl_802D1A24 +/* 802D1A1C 002CD67C 38 60 00 00 */ li r3, 0 +/* 802D1A20 002CD680 48 00 00 38 */ b lbl_802D1A58 +lbl_802D1A24: +/* 802D1A24 002CD684 38 00 00 04 */ li r0, 4 +/* 802D1A28 002CD688 38 C0 00 00 */ li r6, 0 +/* 802D1A2C 002CD68C B0 03 00 02 */ sth r0, 2(r3) +/* 802D1A30 002CD690 38 A0 00 20 */ li r5, 0x20 +/* 802D1A34 002CD694 38 80 00 0C */ li r4, 0xc +/* 802D1A38 002CD698 38 00 00 01 */ li r0, 1 +/* 802D1A3C 002CD69C B0 C3 00 04 */ sth r6, 4(r3) +/* 802D1A40 002CD6A0 98 A3 00 08 */ stb r5, 8(r3) +/* 802D1A44 002CD6A4 98 83 00 09 */ stb r4, 9(r3) +/* 802D1A48 002CD6A8 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1A4C 002CD6AC 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D1A50 002CD6B0 4B FF C3 E5 */ bl func_802CDE34 +/* 802D1A54 002CD6B4 38 60 00 01 */ li r3, 1 +lbl_802D1A58: +/* 802D1A58 002CD6B8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1A5C 002CD6BC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1A60 002CD6C0 7C 08 03 A6 */ mtlr r0 +/* 802D1A64 002CD6C4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1A68 002CD6C8 4E 80 00 20 */ blr + +.global func_802D1A6C +func_802D1A6C: +/* 802D1A6C 002CD6CC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1A70 002CD6D0 7C 08 02 A6 */ mflr r0 +/* 802D1A74 002CD6D4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1A78 002CD6D8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1A7C 002CD6DC 7C 7F 1B 78 */ mr r31, r3 +/* 802D1A80 002CD6E0 38 60 00 02 */ li r3, 2 +/* 802D1A84 002CD6E4 4B FE 81 C9 */ bl func_802B9C4C +/* 802D1A88 002CD6E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1A8C 002CD6EC 40 82 00 0C */ bne lbl_802D1A98 +/* 802D1A90 002CD6F0 38 60 00 00 */ li r3, 0 +/* 802D1A94 002CD6F4 48 00 00 38 */ b lbl_802D1ACC +lbl_802D1A98: +/* 802D1A98 002CD6F8 38 00 00 04 */ li r0, 4 +/* 802D1A9C 002CD6FC 38 C0 00 00 */ li r6, 0 +/* 802D1AA0 002CD700 B0 03 00 02 */ sth r0, 2(r3) +/* 802D1AA4 002CD704 38 A0 00 22 */ li r5, 0x22 +/* 802D1AA8 002CD708 38 80 00 0C */ li r4, 0xc +/* 802D1AAC 002CD70C 38 00 00 01 */ li r0, 1 +/* 802D1AB0 002CD710 B0 C3 00 04 */ sth r6, 4(r3) +/* 802D1AB4 002CD714 98 A3 00 08 */ stb r5, 8(r3) +/* 802D1AB8 002CD718 98 83 00 09 */ stb r4, 9(r3) +/* 802D1ABC 002CD71C 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1AC0 002CD720 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D1AC4 002CD724 4B FF C3 71 */ bl func_802CDE34 +/* 802D1AC8 002CD728 38 60 00 01 */ li r3, 1 +lbl_802D1ACC: +/* 802D1ACC 002CD72C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1AD0 002CD730 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1AD4 002CD734 7C 08 03 A6 */ mtlr r0 +/* 802D1AD8 002CD738 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1ADC 002CD73C 4E 80 00 20 */ blr + +.global func_802D1AE0 +func_802D1AE0: +/* 802D1AE0 002CD740 39 00 00 06 */ li r8, 6 +/* 802D1AE4 002CD744 38 E0 00 00 */ li r7, 0 +/* 802D1AE8 002CD748 38 C0 00 24 */ li r6, 0x24 +/* 802D1AEC 002CD74C 38 A0 00 0C */ li r5, 0xc +/* 802D1AF0 002CD750 38 00 00 03 */ li r0, 3 +/* 802D1AF4 002CD754 B1 03 00 02 */ sth r8, 2(r3) +/* 802D1AF8 002CD758 B0 E3 00 04 */ sth r7, 4(r3) +/* 802D1AFC 002CD75C 98 C3 00 08 */ stb r6, 8(r3) +/* 802D1B00 002CD760 98 A3 00 09 */ stb r5, 9(r3) +/* 802D1B04 002CD764 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1B08 002CD768 88 04 00 02 */ lbz r0, 2(r4) +/* 802D1B0C 002CD76C 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D1B10 002CD770 88 04 00 01 */ lbz r0, 1(r4) +/* 802D1B14 002CD774 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D1B18 002CD778 88 04 00 00 */ lbz r0, 0(r4) +/* 802D1B1C 002CD77C 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D1B20 002CD780 4B FF C3 14 */ b func_802CDE34 + +.global func_802D1B24 +func_802D1B24: +/* 802D1B24 002CD784 54 86 C6 3E */ rlwinm r6, r4, 0x18, 0x18, 0x1f +/* 802D1B28 002CD788 54 A0 C6 3E */ rlwinm r0, r5, 0x18, 0x18, 0x1f +/* 802D1B2C 002CD78C 39 60 00 07 */ li r11, 7 +/* 802D1B30 002CD790 39 40 00 00 */ li r10, 0 +/* 802D1B34 002CD794 39 20 00 28 */ li r9, 0x28 +/* 802D1B38 002CD798 39 00 00 0C */ li r8, 0xc +/* 802D1B3C 002CD79C 38 E0 00 04 */ li r7, 4 +/* 802D1B40 002CD7A0 B1 63 00 02 */ sth r11, 2(r3) +/* 802D1B44 002CD7A4 B1 43 00 04 */ sth r10, 4(r3) +/* 802D1B48 002CD7A8 99 23 00 08 */ stb r9, 8(r3) +/* 802D1B4C 002CD7AC 99 03 00 09 */ stb r8, 9(r3) +/* 802D1B50 002CD7B0 98 E3 00 0A */ stb r7, 0xa(r3) +/* 802D1B54 002CD7B4 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D1B58 002CD7B8 98 C3 00 0C */ stb r6, 0xc(r3) +/* 802D1B5C 002CD7BC 98 A3 00 0D */ stb r5, 0xd(r3) +/* 802D1B60 002CD7C0 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D1B64 002CD7C4 4B FF C2 D0 */ b func_802CDE34 + +.global func_802D1B68 +func_802D1B68: +/* 802D1B68 002CD7C8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D1B6C 002CD7CC 7C 08 02 A6 */ mflr r0 +/* 802D1B70 002CD7D0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D1B74 002CD7D4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D1B78 002CD7D8 7C DF 33 78 */ mr r31, r6 +/* 802D1B7C 002CD7DC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802D1B80 002CD7E0 7C BE 2B 78 */ mr r30, r5 +/* 802D1B84 002CD7E4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802D1B88 002CD7E8 7C 9D 23 78 */ mr r29, r4 +/* 802D1B8C 002CD7EC 93 81 00 10 */ stw r28, 0x10(r1) +/* 802D1B90 002CD7F0 7C 7C 1B 78 */ mr r28, r3 +/* 802D1B94 002CD7F4 38 60 00 02 */ li r3, 2 +/* 802D1B98 002CD7F8 4B FE 80 B5 */ bl func_802B9C4C +/* 802D1B9C 002CD7FC 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1BA0 002CD800 40 82 00 0C */ bne lbl_802D1BAC +/* 802D1BA4 002CD804 38 60 00 00 */ li r3, 0 +/* 802D1BA8 002CD808 48 00 00 5C */ b lbl_802D1C04 +lbl_802D1BAC: +/* 802D1BAC 002CD80C 38 00 00 0A */ li r0, 0xa +/* 802D1BB0 002CD810 7F 85 46 70 */ srawi r5, r28, 8 +/* 802D1BB4 002CD814 B0 03 00 02 */ sth r0, 2(r3) +/* 802D1BB8 002CD818 38 00 00 00 */ li r0, 0 +/* 802D1BBC 002CD81C 39 00 00 33 */ li r8, 0x33 +/* 802D1BC0 002CD820 38 E0 00 0C */ li r7, 0xc +/* 802D1BC4 002CD824 B0 03 00 04 */ sth r0, 4(r3) +/* 802D1BC8 002CD828 38 C0 00 07 */ li r6, 7 +/* 802D1BCC 002CD82C 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D1BD0 002CD830 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D1BD4 002CD834 99 03 00 08 */ stb r8, 8(r3) +/* 802D1BD8 002CD838 98 E3 00 09 */ stb r7, 9(r3) +/* 802D1BDC 002CD83C 98 C3 00 0A */ stb r6, 0xa(r3) +/* 802D1BE0 002CD840 9B 83 00 0B */ stb r28, 0xb(r3) +/* 802D1BE4 002CD844 98 A3 00 0C */ stb r5, 0xc(r3) +/* 802D1BE8 002CD848 9B A3 00 0D */ stb r29, 0xd(r3) +/* 802D1BEC 002CD84C 9B C3 00 0E */ stb r30, 0xe(r3) +/* 802D1BF0 002CD850 98 83 00 0F */ stb r4, 0xf(r3) +/* 802D1BF4 002CD854 9B E3 00 10 */ stb r31, 0x10(r3) +/* 802D1BF8 002CD858 98 03 00 11 */ stb r0, 0x11(r3) +/* 802D1BFC 002CD85C 4B FF C2 39 */ bl func_802CDE34 +/* 802D1C00 002CD860 38 60 00 01 */ li r3, 1 +lbl_802D1C04: +/* 802D1C04 002CD864 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D1C08 002CD868 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D1C0C 002CD86C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802D1C10 002CD870 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802D1C14 002CD874 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802D1C18 002CD878 7C 08 03 A6 */ mtlr r0 +/* 802D1C1C 002CD87C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D1C20 002CD880 4E 80 00 20 */ blr + +.global func_802D1C24 +func_802D1C24: +/* 802D1C24 002CD884 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1C28 002CD888 7C 08 02 A6 */ mflr r0 +/* 802D1C2C 002CD88C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1C30 002CD890 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1C34 002CD894 7C 9F 23 78 */ mr r31, r4 +/* 802D1C38 002CD898 93 C1 00 08 */ stw r30, 8(r1) +/* 802D1C3C 002CD89C 7C 7E 1B 78 */ mr r30, r3 +/* 802D1C40 002CD8A0 38 60 00 02 */ li r3, 2 +/* 802D1C44 002CD8A4 4B FE 80 09 */ bl func_802B9C4C +/* 802D1C48 002CD8A8 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1C4C 002CD8AC 40 82 00 0C */ bne lbl_802D1C58 +/* 802D1C50 002CD8B0 38 60 00 00 */ li r3, 0 +/* 802D1C54 002CD8B4 48 00 00 4C */ b lbl_802D1CA0 +lbl_802D1C58: +/* 802D1C58 002CD8B8 38 80 00 07 */ li r4, 7 +/* 802D1C5C 002CD8BC 38 00 00 00 */ li r0, 0 +/* 802D1C60 002CD8C0 B0 83 00 02 */ sth r4, 2(r3) +/* 802D1C64 002CD8C4 38 E0 00 37 */ li r7, 0x37 +/* 802D1C68 002CD8C8 38 C0 00 0C */ li r6, 0xc +/* 802D1C6C 002CD8CC 38 A0 00 04 */ li r5, 4 +/* 802D1C70 002CD8D0 B0 03 00 04 */ sth r0, 4(r3) +/* 802D1C74 002CD8D4 7F C4 46 70 */ srawi r4, r30, 8 +/* 802D1C78 002CD8D8 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D1C7C 002CD8DC 98 E3 00 08 */ stb r7, 8(r3) +/* 802D1C80 002CD8E0 98 C3 00 09 */ stb r6, 9(r3) +/* 802D1C84 002CD8E4 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D1C88 002CD8E8 9B C3 00 0B */ stb r30, 0xb(r3) +/* 802D1C8C 002CD8EC 98 83 00 0C */ stb r4, 0xc(r3) +/* 802D1C90 002CD8F0 9B E3 00 0D */ stb r31, 0xd(r3) +/* 802D1C94 002CD8F4 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D1C98 002CD8F8 4B FF C1 9D */ bl func_802CDE34 +/* 802D1C9C 002CD8FC 38 60 00 01 */ li r3, 1 +lbl_802D1CA0: +/* 802D1CA0 002CD900 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1CA4 002CD904 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1CA8 002CD908 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D1CAC 002CD90C 7C 08 03 A6 */ mtlr r0 +/* 802D1CB0 002CD910 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1CB4 002CD914 4E 80 00 20 */ blr + +.global func_802D1CB8 +func_802D1CB8: +/* 802D1CB8 002CD918 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d +/* 802D1CBC 002CD91C 39 20 00 00 */ li r9, 0 +/* 802D1CC0 002CD920 7C C4 00 50 */ subf r6, r4, r0 +/* 802D1CC4 002CD924 39 00 00 3A */ li r8, 0x3a +/* 802D1CC8 002CD928 39 46 00 04 */ addi r10, r6, 4 +/* 802D1CCC 002CD92C 38 E0 00 0C */ li r7, 0xc +/* 802D1CD0 002CD930 55 46 04 3E */ clrlwi r6, r10, 0x10 +/* 802D1CD4 002CD934 B1 43 00 02 */ sth r10, 2(r3) +/* 802D1CD8 002CD938 38 06 FF FD */ addi r0, r6, -3 +/* 802D1CDC 002CD93C 38 C3 00 0C */ addi r6, r3, 0xc +/* 802D1CE0 002CD940 B1 23 00 04 */ sth r9, 4(r3) +/* 802D1CE4 002CD944 99 03 00 08 */ stb r8, 8(r3) +/* 802D1CE8 002CD948 98 E3 00 09 */ stb r7, 9(r3) +/* 802D1CEC 002CD94C 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D1CF0 002CD950 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D1CF4 002CD954 7C 89 03 A6 */ mtctr r4 +/* 802D1CF8 002CD958 2C 04 00 00 */ cmpwi r4, 0 +/* 802D1CFC 002CD95C 40 81 00 28 */ ble lbl_802D1D24 +lbl_802D1D00: +/* 802D1D00 002CD960 88 05 00 02 */ lbz r0, 2(r5) +/* 802D1D04 002CD964 98 06 00 00 */ stb r0, 0(r6) +/* 802D1D08 002CD968 88 05 00 01 */ lbz r0, 1(r5) +/* 802D1D0C 002CD96C 98 06 00 01 */ stb r0, 1(r6) +/* 802D1D10 002CD970 88 05 00 00 */ lbz r0, 0(r5) +/* 802D1D14 002CD974 38 A5 00 03 */ addi r5, r5, 3 +/* 802D1D18 002CD978 98 06 00 02 */ stb r0, 2(r6) +/* 802D1D1C 002CD97C 38 C6 00 03 */ addi r6, r6, 3 +/* 802D1D20 002CD980 42 00 FF E0 */ bdnz lbl_802D1D00 +lbl_802D1D24: +/* 802D1D24 002CD984 4B FF C1 10 */ b func_802CDE34 + +.global func_802D1D28 +func_802D1D28: +/* 802D1D28 002CD988 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1D2C 002CD98C 7C 08 02 A6 */ mflr r0 +/* 802D1D30 002CD990 38 60 00 02 */ li r3, 2 +/* 802D1D34 002CD994 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1D38 002CD998 4B FE 7F 15 */ bl func_802B9C4C +/* 802D1D3C 002CD99C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1D40 002CD9A0 40 82 00 0C */ bne lbl_802D1D4C +/* 802D1D44 002CD9A4 38 60 00 00 */ li r3, 0 +/* 802D1D48 002CD9A8 48 00 00 30 */ b lbl_802D1D78 +lbl_802D1D4C: +/* 802D1D4C 002CD9AC 38 00 00 03 */ li r0, 3 +/* 802D1D50 002CD9B0 38 A0 00 00 */ li r5, 0 +/* 802D1D54 002CD9B4 B0 03 00 02 */ sth r0, 2(r3) +/* 802D1D58 002CD9B8 38 80 00 01 */ li r4, 1 +/* 802D1D5C 002CD9BC 38 00 00 10 */ li r0, 0x10 +/* 802D1D60 002CD9C0 B0 A3 00 04 */ sth r5, 4(r3) +/* 802D1D64 002CD9C4 98 83 00 08 */ stb r4, 8(r3) +/* 802D1D68 002CD9C8 98 03 00 09 */ stb r0, 9(r3) +/* 802D1D6C 002CD9CC 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D1D70 002CD9D0 4B FF C0 C5 */ bl func_802CDE34 +/* 802D1D74 002CD9D4 38 60 00 01 */ li r3, 1 +lbl_802D1D78: +/* 802D1D78 002CD9D8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1D7C 002CD9DC 7C 08 03 A6 */ mtlr r0 +/* 802D1D80 002CD9E0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1D84 002CD9E4 4E 80 00 20 */ blr + +.global func_802D1D88 +func_802D1D88: +/* 802D1D88 002CD9E8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1D8C 002CD9EC 7C 08 02 A6 */ mflr r0 +/* 802D1D90 002CD9F0 38 60 00 02 */ li r3, 2 +/* 802D1D94 002CD9F4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1D98 002CD9F8 4B FE 7E B5 */ bl func_802B9C4C +/* 802D1D9C 002CD9FC 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1DA0 002CDA00 40 82 00 0C */ bne lbl_802D1DAC +/* 802D1DA4 002CDA04 38 60 00 00 */ li r3, 0 +/* 802D1DA8 002CDA08 48 00 00 2C */ b lbl_802D1DD4 +lbl_802D1DAC: +/* 802D1DAC 002CDA0C 38 A0 00 03 */ li r5, 3 +/* 802D1DB0 002CDA10 38 80 00 00 */ li r4, 0 +/* 802D1DB4 002CDA14 B0 A3 00 02 */ sth r5, 2(r3) +/* 802D1DB8 002CDA18 38 00 00 10 */ li r0, 0x10 +/* 802D1DBC 002CDA1C B0 83 00 04 */ sth r4, 4(r3) +/* 802D1DC0 002CDA20 98 A3 00 08 */ stb r5, 8(r3) +/* 802D1DC4 002CDA24 98 03 00 09 */ stb r0, 9(r3) +/* 802D1DC8 002CDA28 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D1DCC 002CDA2C 4B FF C0 69 */ bl func_802CDE34 +/* 802D1DD0 002CDA30 38 60 00 01 */ li r3, 1 +lbl_802D1DD4: +/* 802D1DD4 002CDA34 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1DD8 002CDA38 7C 08 03 A6 */ mtlr r0 +/* 802D1DDC 002CDA3C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1DE0 002CDA40 4E 80 00 20 */ blr + +.global func_802D1DE4 +func_802D1DE4: +/* 802D1DE4 002CDA44 38 A0 00 00 */ li r5, 0 +/* 802D1DE8 002CDA48 38 C0 00 03 */ li r6, 3 +/* 802D1DEC 002CDA4C 38 80 00 05 */ li r4, 5 +/* 802D1DF0 002CDA50 38 00 00 10 */ li r0, 0x10 +/* 802D1DF4 002CDA54 B0 C3 00 02 */ sth r6, 2(r3) +/* 802D1DF8 002CDA58 B0 A3 00 04 */ sth r5, 4(r3) +/* 802D1DFC 002CDA5C 98 83 00 08 */ stb r4, 8(r3) +/* 802D1E00 002CDA60 98 03 00 09 */ stb r0, 9(r3) +/* 802D1E04 002CDA64 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D1E08 002CDA68 4B FF C0 2C */ b func_802CDE34 + +.global func_802D1E0C +func_802D1E0C: +/* 802D1E0C 002CDA6C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1E10 002CDA70 7C 08 02 A6 */ mflr r0 +/* 802D1E14 002CDA74 38 60 00 02 */ li r3, 2 +/* 802D1E18 002CDA78 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1E1C 002CDA7C 4B FE 7E 31 */ bl func_802B9C4C +/* 802D1E20 002CDA80 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1E24 002CDA84 40 82 00 0C */ bne lbl_802D1E30 +/* 802D1E28 002CDA88 38 60 00 00 */ li r3, 0 +/* 802D1E2C 002CDA8C 48 00 00 30 */ b lbl_802D1E5C +lbl_802D1E30: +/* 802D1E30 002CDA90 38 00 00 03 */ li r0, 3 +/* 802D1E34 002CDA94 38 A0 00 00 */ li r5, 0 +/* 802D1E38 002CDA98 B0 03 00 02 */ sth r0, 2(r3) +/* 802D1E3C 002CDA9C 38 80 00 09 */ li r4, 9 +/* 802D1E40 002CDAA0 38 00 00 10 */ li r0, 0x10 +/* 802D1E44 002CDAA4 B0 A3 00 04 */ sth r5, 4(r3) +/* 802D1E48 002CDAA8 98 83 00 08 */ stb r4, 8(r3) +/* 802D1E4C 002CDAAC 98 03 00 09 */ stb r0, 9(r3) +/* 802D1E50 002CDAB0 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D1E54 002CDAB4 4B FF BF E1 */ bl func_802CDE34 +/* 802D1E58 002CDAB8 38 60 00 01 */ li r3, 1 +lbl_802D1E5C: +/* 802D1E5C 002CDABC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1E60 002CDAC0 7C 08 03 A6 */ mtlr r0 +/* 802D1E64 002CDAC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1E68 002CDAC8 4E 80 00 20 */ blr + +.global func_802D1E6C +func_802D1E6C: +/* 802D1E6C 002CDACC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1E70 002CDAD0 7C 08 02 A6 */ mflr r0 +/* 802D1E74 002CDAD4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1E78 002CDAD8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1E7C 002CDADC 7C 7F 1B 78 */ mr r31, r3 +/* 802D1E80 002CDAE0 38 60 00 02 */ li r3, 2 +/* 802D1E84 002CDAE4 4B FE 7D C9 */ bl func_802B9C4C +/* 802D1E88 002CDAE8 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1E8C 002CDAEC 40 82 00 0C */ bne lbl_802D1E98 +/* 802D1E90 002CDAF0 38 60 00 00 */ li r3, 0 +/* 802D1E94 002CDAF4 48 00 00 40 */ b lbl_802D1ED4 +lbl_802D1E98: +/* 802D1E98 002CDAF8 38 80 00 05 */ li r4, 5 +/* 802D1E9C 002CDAFC 38 00 00 00 */ li r0, 0 +/* 802D1EA0 002CDB00 B0 83 00 02 */ sth r4, 2(r3) +/* 802D1EA4 002CDB04 38 C0 00 03 */ li r6, 3 +/* 802D1EA8 002CDB08 38 A0 00 14 */ li r5, 0x14 +/* 802D1EAC 002CDB0C 38 80 00 02 */ li r4, 2 +/* 802D1EB0 002CDB10 B0 03 00 04 */ sth r0, 4(r3) +/* 802D1EB4 002CDB14 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D1EB8 002CDB18 98 C3 00 08 */ stb r6, 8(r3) +/* 802D1EBC 002CDB1C 98 A3 00 09 */ stb r5, 9(r3) +/* 802D1EC0 002CDB20 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D1EC4 002CDB24 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D1EC8 002CDB28 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D1ECC 002CDB2C 4B FF BF 69 */ bl func_802CDE34 +/* 802D1ED0 002CDB30 38 60 00 01 */ li r3, 1 +lbl_802D1ED4: +/* 802D1ED4 002CDB34 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1ED8 002CDB38 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1EDC 002CDB3C 7C 08 03 A6 */ mtlr r0 +/* 802D1EE0 002CDB40 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1EE4 002CDB44 4E 80 00 20 */ blr + +.global func_802D1EE8 +func_802D1EE8: +/* 802D1EE8 002CDB48 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1EEC 002CDB4C 7C 08 02 A6 */ mflr r0 +/* 802D1EF0 002CDB50 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1EF4 002CDB54 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1EF8 002CDB58 7C 7F 1B 78 */ mr r31, r3 +/* 802D1EFC 002CDB5C 38 60 00 02 */ li r3, 2 +/* 802D1F00 002CDB60 4B FE 7D 4D */ bl func_802B9C4C +/* 802D1F04 002CDB64 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1F08 002CDB68 40 82 00 0C */ bne lbl_802D1F14 +/* 802D1F0C 002CDB6C 38 60 00 00 */ li r3, 0 +/* 802D1F10 002CDB70 48 00 00 3C */ b lbl_802D1F4C +lbl_802D1F14: +/* 802D1F14 002CDB74 38 E0 00 05 */ li r7, 5 +/* 802D1F18 002CDB78 38 C0 00 00 */ li r6, 0 +/* 802D1F1C 002CDB7C B0 E3 00 02 */ sth r7, 2(r3) +/* 802D1F20 002CDB80 38 A0 00 14 */ li r5, 0x14 +/* 802D1F24 002CDB84 38 80 00 02 */ li r4, 2 +/* 802D1F28 002CDB88 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f +/* 802D1F2C 002CDB8C B0 C3 00 04 */ sth r6, 4(r3) +/* 802D1F30 002CDB90 98 E3 00 08 */ stb r7, 8(r3) +/* 802D1F34 002CDB94 98 A3 00 09 */ stb r5, 9(r3) +/* 802D1F38 002CDB98 98 83 00 0A */ stb r4, 0xa(r3) +/* 802D1F3C 002CDB9C 9B E3 00 0B */ stb r31, 0xb(r3) +/* 802D1F40 002CDBA0 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D1F44 002CDBA4 4B FF BE F1 */ bl func_802CDE34 +/* 802D1F48 002CDBA8 38 60 00 01 */ li r3, 1 +lbl_802D1F4C: +/* 802D1F4C 002CDBAC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1F50 002CDBB0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1F54 002CDBB4 7C 08 03 A6 */ mtlr r0 +/* 802D1F58 002CDBB8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1F5C 002CDBBC 4E 80 00 20 */ blr + +.global func_802D1F60 +func_802D1F60: +/* 802D1F60 002CDBC0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802D1F64 002CDBC4 7C 08 02 A6 */ mflr r0 +/* 802D1F68 002CDBC8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802D1F6C 002CDBCC 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802D1F70 002CDBD0 7C 9F 23 78 */ mr r31, r4 +/* 802D1F74 002CDBD4 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802D1F78 002CDBD8 7C 7E 1B 78 */ mr r30, r3 +/* 802D1F7C 002CDBDC 38 60 00 02 */ li r3, 2 +/* 802D1F80 002CDBE0 93 A1 00 24 */ stw r29, 0x24(r1) +/* 802D1F84 002CDBE4 3F A0 80 40 */ lis r29, lbl_803FDDD8@ha +/* 802D1F88 002CDBE8 8D 9D DD D8 */ lbzu r12, lbl_803FDDD8@l(r29) +/* 802D1F8C 002CDBEC 89 7D 00 01 */ lbz r11, 1(r29) +/* 802D1F90 002CDBF0 89 5D 00 02 */ lbz r10, 2(r29) +/* 802D1F94 002CDBF4 89 3D 00 03 */ lbz r9, 3(r29) +/* 802D1F98 002CDBF8 89 1D 00 04 */ lbz r8, 4(r29) +/* 802D1F9C 002CDBFC 88 FD 00 05 */ lbz r7, 5(r29) +/* 802D1FA0 002CDC00 88 DD 00 06 */ lbz r6, 6(r29) +/* 802D1FA4 002CDC04 88 BD 00 07 */ lbz r5, 7(r29) +/* 802D1FA8 002CDC08 88 9D 00 08 */ lbz r4, 8(r29) +/* 802D1FAC 002CDC0C 88 1D 00 09 */ lbz r0, 9(r29) +/* 802D1FB0 002CDC10 99 81 00 08 */ stb r12, 8(r1) +/* 802D1FB4 002CDC14 99 61 00 09 */ stb r11, 9(r1) +/* 802D1FB8 002CDC18 99 41 00 0A */ stb r10, 0xa(r1) +/* 802D1FBC 002CDC1C 99 21 00 0B */ stb r9, 0xb(r1) +/* 802D1FC0 002CDC20 99 01 00 0C */ stb r8, 0xc(r1) +/* 802D1FC4 002CDC24 98 E1 00 0D */ stb r7, 0xd(r1) +/* 802D1FC8 002CDC28 98 C1 00 0E */ stb r6, 0xe(r1) +/* 802D1FCC 002CDC2C 98 A1 00 0F */ stb r5, 0xf(r1) +/* 802D1FD0 002CDC30 98 81 00 10 */ stb r4, 0x10(r1) +/* 802D1FD4 002CDC34 98 01 00 11 */ stb r0, 0x11(r1) +/* 802D1FD8 002CDC38 4B FE 7C 75 */ bl func_802B9C4C +/* 802D1FDC 002CDC3C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D1FE0 002CDC40 40 82 00 0C */ bne lbl_802D1FEC +/* 802D1FE4 002CDC44 38 60 00 00 */ li r3, 0 +/* 802D1FE8 002CDC48 48 00 03 7C */ b lbl_802D2364 +lbl_802D1FEC: +/* 802D1FEC 002CDC4C 38 80 00 0D */ li r4, 0xd +/* 802D1FF0 002CDC50 38 00 00 00 */ li r0, 0 +/* 802D1FF4 002CDC54 B0 83 00 02 */ sth r4, 2(r3) +/* 802D1FF8 002CDC58 38 A0 00 3F */ li r5, 0x3f +/* 802D1FFC 002CDC5C 38 80 00 0C */ li r4, 0xc +/* 802D2000 002CDC60 7C 1E F8 40 */ cmplw r30, r31 +/* 802D2004 002CDC64 B0 03 00 04 */ sth r0, 4(r3) +/* 802D2008 002CDC68 38 00 00 0A */ li r0, 0xa +/* 802D200C 002CDC6C 98 A3 00 08 */ stb r5, 8(r3) +/* 802D2010 002CDC70 98 83 00 09 */ stb r4, 9(r3) +/* 802D2014 002CDC74 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D2018 002CDC78 41 81 02 F4 */ bgt lbl_802D230C +/* 802D201C 002CDC7C 28 1F 00 4E */ cmplwi r31, 0x4e +/* 802D2020 002CDC80 41 81 02 EC */ bgt lbl_802D230C +/* 802D2024 002CDC84 7C 9E F8 00 */ cmpw cr1, r30, r31 +/* 802D2028 002CDC88 41 85 02 E4 */ bgt cr1, lbl_802D230C +/* 802D202C 002CDC8C 7D 7E F8 50 */ subf r11, r30, r31 +/* 802D2030 002CDC90 38 FF FF F8 */ addi r7, r31, -8 +/* 802D2034 002CDC94 39 8B 00 01 */ addi r12, r11, 1 +/* 802D2038 002CDC98 2C 0C 00 08 */ cmpwi r12, 8 +/* 802D203C 002CDC9C 40 81 02 80 */ ble lbl_802D22BC +/* 802D2040 002CDCA0 38 A0 00 00 */ li r5, 0 +/* 802D2044 002CDCA4 38 C0 00 00 */ li r6, 0 +/* 802D2048 002CDCA8 39 00 00 00 */ li r8, 0 +/* 802D204C 002CDCAC 39 20 00 00 */ li r9, 0 +/* 802D2050 002CDCB0 39 40 00 00 */ li r10, 0 +/* 802D2054 002CDCB4 41 85 00 18 */ bgt cr1, lbl_802D206C +/* 802D2058 002CDCB8 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha +/* 802D205C 002CDCBC 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l +/* 802D2060 002CDCC0 7C 1F 00 00 */ cmpw r31, r0 +/* 802D2064 002CDCC4 41 81 00 08 */ bgt lbl_802D206C +/* 802D2068 002CDCC8 39 40 00 01 */ li r10, 1 +lbl_802D206C: +/* 802D206C 002CDCCC 2C 0A 00 00 */ cmpwi r10, 0 +/* 802D2070 002CDCD0 41 82 00 18 */ beq lbl_802D2088 +/* 802D2074 002CDCD4 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha +/* 802D2078 002CDCD8 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l +/* 802D207C 002CDCDC 7C 1E 00 00 */ cmpw r30, r0 +/* 802D2080 002CDCE0 41 81 00 08 */ bgt lbl_802D2088 +/* 802D2084 002CDCE4 39 20 00 01 */ li r9, 1 +lbl_802D2088: +/* 802D2088 002CDCE8 2C 09 00 00 */ cmpwi r9, 0 +/* 802D208C 002CDCEC 41 82 00 14 */ beq lbl_802D20A0 +/* 802D2090 002CDCF0 3C 1E 80 00 */ addis r0, r30, 0x8000 +/* 802D2094 002CDCF4 28 00 00 00 */ cmplwi r0, 0 +/* 802D2098 002CDCF8 41 82 00 08 */ beq lbl_802D20A0 +/* 802D209C 002CDCFC 39 00 00 01 */ li r8, 1 +lbl_802D20A0: +/* 802D20A0 002CDD00 2C 08 00 00 */ cmpwi r8, 0 +/* 802D20A4 002CDD04 41 82 00 38 */ beq lbl_802D20DC +/* 802D20A8 002CDD08 7C 1E 00 D0 */ neg r0, r30 +/* 802D20AC 002CDD0C 57 E8 00 00 */ rlwinm r8, r31, 0, 0, 0 +/* 802D20B0 002CDD10 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 +/* 802D20B4 002CDD14 38 80 00 01 */ li r4, 1 +/* 802D20B8 002CDD18 7C 08 00 00 */ cmpw r8, r0 +/* 802D20BC 002CDD1C 40 82 00 14 */ bne lbl_802D20D0 +/* 802D20C0 002CDD20 55 60 00 00 */ rlwinm r0, r11, 0, 0, 0 +/* 802D20C4 002CDD24 7C 08 00 00 */ cmpw r8, r0 +/* 802D20C8 002CDD28 41 82 00 08 */ beq lbl_802D20D0 +/* 802D20CC 002CDD2C 38 80 00 00 */ li r4, 0 +lbl_802D20D0: +/* 802D20D0 002CDD30 2C 04 00 00 */ cmpwi r4, 0 +/* 802D20D4 002CDD34 41 82 00 08 */ beq lbl_802D20DC +/* 802D20D8 002CDD38 38 C0 00 01 */ li r6, 1 +lbl_802D20DC: +/* 802D20DC 002CDD3C 2C 06 00 00 */ cmpwi r6, 0 +/* 802D20E0 002CDD40 41 82 00 28 */ beq lbl_802D2108 +/* 802D20E4 002CDD44 55 60 00 01 */ rlwinm. r0, r11, 0, 0, 0 +/* 802D20E8 002CDD48 38 80 00 01 */ li r4, 1 +/* 802D20EC 002CDD4C 40 82 00 10 */ bne lbl_802D20FC +/* 802D20F0 002CDD50 55 80 00 01 */ rlwinm. r0, r12, 0, 0, 0 +/* 802D20F4 002CDD54 41 82 00 08 */ beq lbl_802D20FC +/* 802D20F8 002CDD58 38 80 00 00 */ li r4, 0 +lbl_802D20FC: +/* 802D20FC 002CDD5C 2C 04 00 00 */ cmpwi r4, 0 +/* 802D2100 002CDD60 41 82 00 08 */ beq lbl_802D2108 +/* 802D2104 002CDD64 38 A0 00 01 */ li r5, 1 +lbl_802D2108: +/* 802D2108 002CDD68 2C 05 00 00 */ cmpwi r5, 0 +/* 802D210C 002CDD6C 41 82 01 B0 */ beq lbl_802D22BC +/* 802D2110 002CDD70 38 A7 00 08 */ addi r5, r7, 8 +/* 802D2114 002CDD74 7F C0 1E 70 */ srawi r0, r30, 3 +/* 802D2118 002CDD78 7C BE 28 50 */ subf r5, r30, r5 +/* 802D211C 002CDD7C 38 81 00 08 */ addi r4, r1, 8 +/* 802D2120 002CDD80 7C C0 01 94 */ addze r6, r0 +/* 802D2124 002CDD84 38 00 00 01 */ li r0, 1 +/* 802D2128 002CDD88 54 A5 E8 FE */ srwi r5, r5, 3 +/* 802D212C 002CDD8C 7C C4 32 14 */ add r6, r4, r6 +/* 802D2130 002CDD90 7C A9 03 A6 */ mtctr r5 +/* 802D2134 002CDD94 7C 1E 38 00 */ cmpw r30, r7 +/* 802D2138 002CDD98 41 81 01 84 */ bgt lbl_802D22BC +lbl_802D213C: +/* 802D213C 002CDD9C 57 C5 E8 04 */ slwi r5, r30, 0x1d +/* 802D2140 002CDDA0 57 C8 0F FE */ srwi r8, r30, 0x1f +/* 802D2144 002CDDA4 7C A8 28 50 */ subf r5, r8, r5 +/* 802D2148 002CDDA8 89 46 00 00 */ lbz r10, 0(r6) +/* 802D214C 002CDDAC 54 A5 18 3E */ rotlwi r5, r5, 3 +/* 802D2150 002CDDB0 38 FE 00 01 */ addi r7, r30, 1 +/* 802D2154 002CDDB4 7C A5 42 14 */ add r5, r5, r8 +/* 802D2158 002CDDB8 39 3E 00 02 */ addi r9, r30, 2 +/* 802D215C 002CDDBC 7C 05 28 30 */ slw r5, r0, r5 +/* 802D2160 002CDDC0 39 1E 00 03 */ addi r8, r30, 3 +/* 802D2164 002CDDC4 7D 4B 28 78 */ andc r11, r10, r5 +/* 802D2168 002CDDC8 54 EA 0F FE */ srwi r10, r7, 0x1f +/* 802D216C 002CDDCC 99 66 00 00 */ stb r11, 0(r6) +/* 802D2170 002CDDD0 54 E5 E8 04 */ slwi r5, r7, 0x1d +/* 802D2174 002CDDD4 7C EB 1E 70 */ srawi r11, r7, 3 +/* 802D2178 002CDDD8 38 FE 00 04 */ addi r7, r30, 4 +/* 802D217C 002CDDDC 7C AA 28 50 */ subf r5, r10, r5 +/* 802D2180 002CDDE0 38 C6 00 01 */ addi r6, r6, 1 +/* 802D2184 002CDDE4 7F AB 01 94 */ addze r29, r11 +/* 802D2188 002CDDE8 54 A5 18 3E */ rotlwi r5, r5, 3 +/* 802D218C 002CDDEC 7D 84 E8 AE */ lbzx r12, r4, r29 +/* 802D2190 002CDDF0 7D 45 52 14 */ add r10, r5, r10 +/* 802D2194 002CDDF4 7C 0B 50 30 */ slw r11, r0, r10 +/* 802D2198 002CDDF8 55 25 E8 04 */ slwi r5, r9, 0x1d +/* 802D219C 002CDDFC 55 2A 0F FE */ srwi r10, r9, 0x1f +/* 802D21A0 002CDE00 7D 29 1E 70 */ srawi r9, r9, 3 +/* 802D21A4 002CDE04 7D 8B 58 78 */ andc r11, r12, r11 +/* 802D21A8 002CDE08 7C AA 28 50 */ subf r5, r10, r5 +/* 802D21AC 002CDE0C 7D 64 E9 AE */ stbx r11, r4, r29 +/* 802D21B0 002CDE10 7F A9 01 94 */ addze r29, r9 +/* 802D21B4 002CDE14 39 3E 00 05 */ addi r9, r30, 5 +/* 802D21B8 002CDE18 54 A5 18 3E */ rotlwi r5, r5, 3 +/* 802D21BC 002CDE1C 7D 84 E8 AE */ lbzx r12, r4, r29 +/* 802D21C0 002CDE20 7C A5 52 14 */ add r5, r5, r10 +/* 802D21C4 002CDE24 7D 0A 1E 70 */ srawi r10, r8, 3 +/* 802D21C8 002CDE28 7C 0B 28 30 */ slw r11, r0, r5 +/* 802D21CC 002CDE2C 7D 8C 58 78 */ andc r12, r12, r11 +/* 802D21D0 002CDE30 55 05 E8 04 */ slwi r5, r8, 0x1d +/* 802D21D4 002CDE34 55 08 0F FE */ srwi r8, r8, 0x1f +/* 802D21D8 002CDE38 7D 84 E9 AE */ stbx r12, r4, r29 +/* 802D21DC 002CDE3C 7C A8 28 50 */ subf r5, r8, r5 +/* 802D21E0 002CDE40 7D 6A 01 94 */ addze r11, r10 +/* 802D21E4 002CDE44 54 A5 18 3E */ rotlwi r5, r5, 3 +/* 802D21E8 002CDE48 7D 44 58 AE */ lbzx r10, r4, r11 +/* 802D21EC 002CDE4C 7D 05 42 14 */ add r8, r5, r8 +/* 802D21F0 002CDE50 7C E5 1E 70 */ srawi r5, r7, 3 +/* 802D21F4 002CDE54 7C 08 40 30 */ slw r8, r0, r8 +/* 802D21F8 002CDE58 7D 4A 40 78 */ andc r10, r10, r8 +/* 802D21FC 002CDE5C 7F A5 01 94 */ addze r29, r5 +/* 802D2200 002CDE60 7D 44 59 AE */ stbx r10, r4, r11 +/* 802D2204 002CDE64 54 E5 E8 04 */ slwi r5, r7, 0x1d +/* 802D2208 002CDE68 54 E8 0F FE */ srwi r8, r7, 0x1f +/* 802D220C 002CDE6C 7D 27 1E 70 */ srawi r7, r9, 3 +/* 802D2210 002CDE70 7C A8 28 50 */ subf r5, r8, r5 +/* 802D2214 002CDE74 7D 64 E8 AE */ lbzx r11, r4, r29 +/* 802D2218 002CDE78 54 A5 18 3E */ rotlwi r5, r5, 3 +/* 802D221C 002CDE7C 7D 87 01 94 */ addze r12, r7 +/* 802D2220 002CDE80 7C A5 42 14 */ add r5, r5, r8 +/* 802D2224 002CDE84 39 1E 00 06 */ addi r8, r30, 6 +/* 802D2228 002CDE88 7C 0A 28 30 */ slw r10, r0, r5 +/* 802D222C 002CDE8C 55 25 E8 04 */ slwi r5, r9, 0x1d +/* 802D2230 002CDE90 55 29 0F FE */ srwi r9, r9, 0x1f +/* 802D2234 002CDE94 7D 6A 50 78 */ andc r10, r11, r10 +/* 802D2238 002CDE98 7D 44 E9 AE */ stbx r10, r4, r29 +/* 802D223C 002CDE9C 7C A9 28 50 */ subf r5, r9, r5 +/* 802D2240 002CDEA0 54 A7 18 3E */ rotlwi r7, r5, 3 +/* 802D2244 002CDEA4 7D 27 4A 14 */ add r9, r7, r9 +/* 802D2248 002CDEA8 7D 05 1E 70 */ srawi r5, r8, 3 +/* 802D224C 002CDEAC 7D 65 01 94 */ addze r11, r5 +/* 802D2250 002CDEB0 38 FE 00 07 */ addi r7, r30, 7 +/* 802D2254 002CDEB4 7D 44 60 AE */ lbzx r10, r4, r12 +/* 802D2258 002CDEB8 7C 09 48 30 */ slw r9, r0, r9 +/* 802D225C 002CDEBC 55 05 E8 04 */ slwi r5, r8, 0x1d +/* 802D2260 002CDEC0 3B DE 00 08 */ addi r30, r30, 8 +/* 802D2264 002CDEC4 7D 4A 48 78 */ andc r10, r10, r9 +/* 802D2268 002CDEC8 55 09 0F FE */ srwi r9, r8, 0x1f +/* 802D226C 002CDECC 7D 44 61 AE */ stbx r10, r4, r12 +/* 802D2270 002CDED0 7C A9 28 50 */ subf r5, r9, r5 +/* 802D2274 002CDED4 54 A5 18 3E */ rotlwi r5, r5, 3 +/* 802D2278 002CDED8 7C E8 1E 70 */ srawi r8, r7, 3 +/* 802D227C 002CDEDC 7C A5 4A 14 */ add r5, r5, r9 +/* 802D2280 002CDEE0 7D 44 58 AE */ lbzx r10, r4, r11 +/* 802D2284 002CDEE4 7C 09 28 30 */ slw r9, r0, r5 +/* 802D2288 002CDEE8 54 E5 E8 04 */ slwi r5, r7, 0x1d +/* 802D228C 002CDEEC 54 E7 0F FE */ srwi r7, r7, 0x1f +/* 802D2290 002CDEF0 7D 49 48 78 */ andc r9, r10, r9 +/* 802D2294 002CDEF4 7C A7 28 50 */ subf r5, r7, r5 +/* 802D2298 002CDEF8 7D 24 59 AE */ stbx r9, r4, r11 +/* 802D229C 002CDEFC 7D 28 01 94 */ addze r9, r8 +/* 802D22A0 002CDF00 54 A5 18 3E */ rotlwi r5, r5, 3 +/* 802D22A4 002CDF04 7D 04 48 AE */ lbzx r8, r4, r9 +/* 802D22A8 002CDF08 7C A5 3A 14 */ add r5, r5, r7 +/* 802D22AC 002CDF0C 7C 05 28 30 */ slw r5, r0, r5 +/* 802D22B0 002CDF10 7D 05 28 78 */ andc r5, r8, r5 +/* 802D22B4 002CDF14 7C A4 49 AE */ stbx r5, r4, r9 +/* 802D22B8 002CDF18 42 00 FE 84 */ bdnz lbl_802D213C +lbl_802D22BC: +/* 802D22BC 002CDF1C 38 1F 00 01 */ addi r0, r31, 1 +/* 802D22C0 002CDF20 38 E1 00 08 */ addi r7, r1, 8 +/* 802D22C4 002CDF24 7C 1E 00 50 */ subf r0, r30, r0 +/* 802D22C8 002CDF28 38 A0 00 01 */ li r5, 1 +/* 802D22CC 002CDF2C 7C 09 03 A6 */ mtctr r0 +/* 802D22D0 002CDF30 7C 1E F8 00 */ cmpw r30, r31 +/* 802D22D4 002CDF34 41 81 00 38 */ bgt lbl_802D230C +lbl_802D22D8: +/* 802D22D8 002CDF38 57 C0 E8 04 */ slwi r0, r30, 0x1d +/* 802D22DC 002CDF3C 57 C4 0F FE */ srwi r4, r30, 0x1f +/* 802D22E0 002CDF40 7F C6 1E 70 */ srawi r6, r30, 3 +/* 802D22E4 002CDF44 3B DE 00 01 */ addi r30, r30, 1 +/* 802D22E8 002CDF48 7C 04 00 50 */ subf r0, r4, r0 +/* 802D22EC 002CDF4C 7D 06 01 94 */ addze r8, r6 +/* 802D22F0 002CDF50 54 00 18 3E */ rotlwi r0, r0, 3 +/* 802D22F4 002CDF54 7C C7 40 AE */ lbzx r6, r7, r8 +/* 802D22F8 002CDF58 7C 00 22 14 */ add r0, r0, r4 +/* 802D22FC 002CDF5C 7C A0 00 30 */ slw r0, r5, r0 +/* 802D2300 002CDF60 7C C0 00 78 */ andc r0, r6, r0 +/* 802D2304 002CDF64 7C 07 41 AE */ stbx r0, r7, r8 +/* 802D2308 002CDF68 42 00 FF D0 */ bdnz lbl_802D22D8 +lbl_802D230C: +/* 802D230C 002CDF6C 88 01 00 08 */ lbz r0, 8(r1) +/* 802D2310 002CDF70 98 03 00 0B */ stb r0, 0xb(r3) +/* 802D2314 002CDF74 88 01 00 09 */ lbz r0, 9(r1) +/* 802D2318 002CDF78 98 03 00 0C */ stb r0, 0xc(r3) +/* 802D231C 002CDF7C 88 01 00 0A */ lbz r0, 0xa(r1) +/* 802D2320 002CDF80 98 03 00 0D */ stb r0, 0xd(r3) +/* 802D2324 002CDF84 88 01 00 0B */ lbz r0, 0xb(r1) +/* 802D2328 002CDF88 98 03 00 0E */ stb r0, 0xe(r3) +/* 802D232C 002CDF8C 88 01 00 0C */ lbz r0, 0xc(r1) +/* 802D2330 002CDF90 98 03 00 0F */ stb r0, 0xf(r3) +/* 802D2334 002CDF94 88 01 00 0D */ lbz r0, 0xd(r1) +/* 802D2338 002CDF98 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D233C 002CDF9C 88 01 00 0E */ lbz r0, 0xe(r1) +/* 802D2340 002CDFA0 98 03 00 11 */ stb r0, 0x11(r3) +/* 802D2344 002CDFA4 88 01 00 0F */ lbz r0, 0xf(r1) +/* 802D2348 002CDFA8 98 03 00 12 */ stb r0, 0x12(r3) +/* 802D234C 002CDFAC 88 01 00 10 */ lbz r0, 0x10(r1) +/* 802D2350 002CDFB0 98 03 00 13 */ stb r0, 0x13(r3) +/* 802D2354 002CDFB4 88 01 00 11 */ lbz r0, 0x11(r1) +/* 802D2358 002CDFB8 98 03 00 14 */ stb r0, 0x14(r3) +/* 802D235C 002CDFBC 4B FF BA D9 */ bl func_802CDE34 +/* 802D2360 002CDFC0 38 60 00 01 */ li r3, 1 +lbl_802D2364: +/* 802D2364 002CDFC4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802D2368 002CDFC8 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802D236C 002CDFCC 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802D2370 002CDFD0 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 802D2374 002CDFD4 7C 08 03 A6 */ mtlr r0 +/* 802D2378 002CDFD8 38 21 00 30 */ addi r1, r1, 0x30 +/* 802D237C 002CDFDC 4E 80 00 20 */ blr + +.global func_802D2380 +func_802D2380: +/* 802D2380 002CDFE0 39 00 00 04 */ li r8, 4 +/* 802D2384 002CDFE4 38 E0 00 00 */ li r7, 0 +/* 802D2388 002CDFE8 38 C0 00 43 */ li r6, 0x43 +/* 802D238C 002CDFEC 38 A0 00 0C */ li r5, 0xc +/* 802D2390 002CDFF0 38 00 00 01 */ li r0, 1 +/* 802D2394 002CDFF4 B1 03 00 02 */ sth r8, 2(r3) +/* 802D2398 002CDFF8 B0 E3 00 04 */ sth r7, 4(r3) +/* 802D239C 002CDFFC 98 C3 00 08 */ stb r6, 8(r3) +/* 802D23A0 002CE000 98 A3 00 09 */ stb r5, 9(r3) +/* 802D23A4 002CE004 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D23A8 002CE008 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D23AC 002CE00C 4B FF BA 88 */ b func_802CDE34 + +.global func_802D23B0 +func_802D23B0: +/* 802D23B0 002CE010 39 00 00 04 */ li r8, 4 +/* 802D23B4 002CE014 38 E0 00 00 */ li r7, 0 +/* 802D23B8 002CE018 38 C0 00 45 */ li r6, 0x45 +/* 802D23BC 002CE01C 38 A0 00 0C */ li r5, 0xc +/* 802D23C0 002CE020 38 00 00 01 */ li r0, 1 +/* 802D23C4 002CE024 B1 03 00 02 */ sth r8, 2(r3) +/* 802D23C8 002CE028 B0 E3 00 04 */ sth r7, 4(r3) +/* 802D23CC 002CE02C 98 C3 00 08 */ stb r6, 8(r3) +/* 802D23D0 002CE030 98 A3 00 09 */ stb r5, 9(r3) +/* 802D23D4 002CE034 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D23D8 002CE038 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D23DC 002CE03C 4B FF BA 58 */ b func_802CDE34 + +.global func_802D23E0 +func_802D23E0: +/* 802D23E0 002CE040 39 00 00 04 */ li r8, 4 +/* 802D23E4 002CE044 38 E0 00 00 */ li r7, 0 +/* 802D23E8 002CE048 38 C0 00 47 */ li r6, 0x47 +/* 802D23EC 002CE04C 38 A0 00 0C */ li r5, 0xc +/* 802D23F0 002CE050 38 00 00 01 */ li r0, 1 +/* 802D23F4 002CE054 B1 03 00 02 */ sth r8, 2(r3) +/* 802D23F8 002CE058 B0 E3 00 04 */ sth r7, 4(r3) +/* 802D23FC 002CE05C 98 C3 00 08 */ stb r6, 8(r3) +/* 802D2400 002CE060 98 A3 00 09 */ stb r5, 9(r3) +/* 802D2404 002CE064 98 03 00 0A */ stb r0, 0xa(r3) +/* 802D2408 002CE068 98 83 00 0B */ stb r4, 0xb(r3) +/* 802D240C 002CE06C 4B FF BA 28 */ b func_802CDE34 + +.global func_802D2410 +func_802D2410: +/* 802D2410 002CE070 60 88 FC 00 */ ori r8, r4, 0xfc00 +/* 802D2414 002CE074 38 E5 00 03 */ addi r7, r5, 3 +/* 802D2418 002CE078 7D 00 46 70 */ srawi r0, r8, 8 +/* 802D241C 002CE07C 38 80 00 00 */ li r4, 0 +/* 802D2420 002CE080 2C 85 00 00 */ cmpwi cr1, r5, 0 +/* 802D2424 002CE084 B0 E3 00 02 */ sth r7, 2(r3) +/* 802D2428 002CE088 39 23 00 0B */ addi r9, r3, 0xb +/* 802D242C 002CE08C 39 40 00 00 */ li r10, 0 +/* 802D2430 002CE090 B0 83 00 04 */ sth r4, 4(r3) +/* 802D2434 002CE094 99 03 00 08 */ stb r8, 8(r3) +/* 802D2438 002CE098 98 03 00 09 */ stb r0, 9(r3) +/* 802D243C 002CE09C 98 A3 00 0A */ stb r5, 0xa(r3) +/* 802D2440 002CE0A0 40 85 00 C0 */ ble cr1, lbl_802D2500 +/* 802D2444 002CE0A4 2C 05 00 08 */ cmpwi r5, 8 +/* 802D2448 002CE0A8 38 E5 FF F8 */ addi r7, r5, -8 +/* 802D244C 002CE0AC 40 81 00 8C */ ble lbl_802D24D8 +/* 802D2450 002CE0B0 39 00 00 00 */ li r8, 0 +/* 802D2454 002CE0B4 41 84 00 18 */ blt cr1, lbl_802D246C +/* 802D2458 002CE0B8 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha +/* 802D245C 002CE0BC 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l +/* 802D2460 002CE0C0 7C 05 00 00 */ cmpw r5, r0 +/* 802D2464 002CE0C4 41 81 00 08 */ bgt lbl_802D246C +/* 802D2468 002CE0C8 39 00 00 01 */ li r8, 1 +lbl_802D246C: +/* 802D246C 002CE0CC 2C 08 00 00 */ cmpwi r8, 0 +/* 802D2470 002CE0D0 41 82 00 68 */ beq lbl_802D24D8 +/* 802D2474 002CE0D4 38 07 00 07 */ addi r0, r7, 7 +/* 802D2478 002CE0D8 54 00 E8 FE */ srwi r0, r0, 3 +/* 802D247C 002CE0DC 7C 09 03 A6 */ mtctr r0 +/* 802D2480 002CE0E0 2C 07 00 00 */ cmpwi r7, 0 +/* 802D2484 002CE0E4 40 81 00 54 */ ble lbl_802D24D8 +lbl_802D2488: +/* 802D2488 002CE0E8 7C 06 50 AE */ lbzx r0, r6, r10 +/* 802D248C 002CE0EC 7C 86 52 14 */ add r4, r6, r10 +/* 802D2490 002CE0F0 39 4A 00 08 */ addi r10, r10, 8 +/* 802D2494 002CE0F4 98 09 00 00 */ stb r0, 0(r9) +/* 802D2498 002CE0F8 88 04 00 01 */ lbz r0, 1(r4) +/* 802D249C 002CE0FC 98 09 00 01 */ stb r0, 1(r9) +/* 802D24A0 002CE100 88 04 00 02 */ lbz r0, 2(r4) +/* 802D24A4 002CE104 98 09 00 02 */ stb r0, 2(r9) +/* 802D24A8 002CE108 88 04 00 03 */ lbz r0, 3(r4) +/* 802D24AC 002CE10C 98 09 00 03 */ stb r0, 3(r9) +/* 802D24B0 002CE110 88 04 00 04 */ lbz r0, 4(r4) +/* 802D24B4 002CE114 98 09 00 04 */ stb r0, 4(r9) +/* 802D24B8 002CE118 88 04 00 05 */ lbz r0, 5(r4) +/* 802D24BC 002CE11C 98 09 00 05 */ stb r0, 5(r9) +/* 802D24C0 002CE120 88 04 00 06 */ lbz r0, 6(r4) +/* 802D24C4 002CE124 98 09 00 06 */ stb r0, 6(r9) +/* 802D24C8 002CE128 88 04 00 07 */ lbz r0, 7(r4) +/* 802D24CC 002CE12C 98 09 00 07 */ stb r0, 7(r9) +/* 802D24D0 002CE130 39 29 00 08 */ addi r9, r9, 8 +/* 802D24D4 002CE134 42 00 FF B4 */ bdnz lbl_802D2488 +lbl_802D24D8: +/* 802D24D8 002CE138 7C 0A 28 50 */ subf r0, r10, r5 +/* 802D24DC 002CE13C 7C 86 52 14 */ add r4, r6, r10 +/* 802D24E0 002CE140 7C 09 03 A6 */ mtctr r0 +/* 802D24E4 002CE144 7C 0A 28 00 */ cmpw r10, r5 +/* 802D24E8 002CE148 40 80 00 18 */ bge lbl_802D2500 +lbl_802D24EC: +/* 802D24EC 002CE14C 88 04 00 00 */ lbz r0, 0(r4) +/* 802D24F0 002CE150 38 84 00 01 */ addi r4, r4, 1 +/* 802D24F4 002CE154 98 09 00 00 */ stb r0, 0(r9) +/* 802D24F8 002CE158 39 29 00 01 */ addi r9, r9, 1 +/* 802D24FC 002CE15C 42 00 FF F0 */ bdnz lbl_802D24EC +lbl_802D2500: +/* 802D2500 002CE160 4B FF B9 34 */ b func_802CDE34 + +.global func_802D2504 +func_802D2504: +/* 802D2504 002CE164 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D2508 002CE168 7C 08 02 A6 */ mflr r0 +/* 802D250C 002CE16C 38 80 00 00 */ li r4, 0 +/* 802D2510 002CE170 38 A0 01 44 */ li r5, 0x144 +/* 802D2514 002CE174 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D2518 002CE178 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D251C 002CE17C 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D2520 002CE180 38 7F B6 F0 */ addi r3, r31, lbl_8056B6F0@l +/* 802D2524 002CE184 4B D3 1B E1 */ bl memset +/* 802D2528 002CE188 3C 60 80 2D */ lis r3, lbl_802D262C@ha +/* 802D252C 002CE18C 38 BF B6 F0 */ addi r5, r31, -18704 +/* 802D2530 002CE190 38 C0 00 01 */ li r6, 1 +/* 802D2534 002CE194 38 80 00 40 */ li r4, 0x40 +/* 802D2538 002CE198 38 63 26 2C */ addi r3, r3, lbl_802D262C@l +/* 802D253C 002CE19C 38 00 00 00 */ li r0, 0 +/* 802D2540 002CE1A0 98 C5 00 CA */ stb r6, 0xca(r5) +/* 802D2544 002CE1A4 B0 85 00 CC */ sth r4, 0xcc(r5) +/* 802D2548 002CE1A8 98 C5 01 06 */ stb r6, 0x106(r5) +/* 802D254C 002CE1AC B0 85 01 08 */ sth r4, 0x108(r5) +/* 802D2550 002CE1B0 90 65 00 2C */ stw r3, 0x2c(r5) +/* 802D2554 002CE1B4 98 05 01 41 */ stb r0, 0x141(r5) +/* 802D2558 002CE1B8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D255C 002CE1BC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D2560 002CE1C0 7C 08 03 A6 */ mtlr r0 +/* 802D2564 002CE1C4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D2568 002CE1C8 4E 80 00 20 */ blr + +.global func_802D256C +func_802D256C: +/* 802D256C 002CE1CC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D2570 002CE1D0 7C 08 02 A6 */ mflr r0 +/* 802D2574 002CE1D4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D2578 002CE1D8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D257C 002CE1DC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802D2580 002CE1E0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802D2584 002CE1E4 3F A0 80 57 */ lis r29, lbl_8056B6F0@ha +/* 802D2588 002CE1E8 3B BD B6 F0 */ addi r29, r29, lbl_8056B6F0@l +/* 802D258C 002CE1EC 88 1D 01 41 */ lbz r0, 0x141(r29) +/* 802D2590 002CE1F0 28 00 00 04 */ cmplwi r0, 4 +/* 802D2594 002CE1F4 41 80 00 18 */ blt lbl_802D25AC +/* 802D2598 002CE1F8 3C 60 00 1E */ lis r3, 0x001E0003@ha +/* 802D259C 002CE1FC 3C 80 80 44 */ lis r4, lbl_804426F0@ha +/* 802D25A0 002CE200 38 63 00 03 */ addi r3, r3, 0x001E0003@l +/* 802D25A4 002CE204 38 84 26 F0 */ addi r4, r4, lbl_804426F0@l +/* 802D25A8 002CE208 4B FE A9 69 */ bl func_802BCF10 +lbl_802D25AC: +/* 802D25AC 002CE20C 38 00 00 00 */ li r0, 0 +/* 802D25B0 002CE210 3B C0 00 01 */ li r30, 1 +/* 802D25B4 002CE214 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D25B8 002CE218 B0 1D 00 14 */ sth r0, 0x14(r29) +/* 802D25BC 002CE21C 38 9F B6 F0 */ addi r4, r31, lbl_8056B6F0@l +/* 802D25C0 002CE220 38 60 00 11 */ li r3, 0x11 +/* 802D25C4 002CE224 B0 1D 00 16 */ sth r0, 0x16(r29) +/* 802D25C8 002CE228 9B DD 00 11 */ stb r30, 0x11(r29) +/* 802D25CC 002CE22C 48 00 34 91 */ bl func_802D5A5C +/* 802D25D0 002CE230 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 802D25D4 002CE234 B0 7D 00 14 */ sth r3, 0x14(r29) +/* 802D25D8 002CE238 40 82 00 30 */ bne lbl_802D2608 +/* 802D25DC 002CE23C 38 7F B6 F0 */ addi r3, r31, -18704 +/* 802D25E0 002CE240 88 03 01 41 */ lbz r0, 0x141(r3) +/* 802D25E4 002CE244 28 00 00 02 */ cmplwi r0, 2 +/* 802D25E8 002CE248 41 80 00 18 */ blt lbl_802D2600 +/* 802D25EC 002CE24C 3C 60 00 1E */ lis r3, 0x001E0001@ha +/* 802D25F0 002CE250 3C 80 80 44 */ lis r4, lbl_80442708@ha +/* 802D25F4 002CE254 38 63 00 01 */ addi r3, r3, 0x001E0001@l +/* 802D25F8 002CE258 38 84 27 08 */ addi r4, r4, lbl_80442708@l +/* 802D25FC 002CE25C 4B FE A9 15 */ bl func_802BCF10 +lbl_802D2600: +/* 802D2600 002CE260 38 60 00 0E */ li r3, 0xe +/* 802D2604 002CE264 48 00 00 0C */ b lbl_802D2610 +lbl_802D2608: +/* 802D2608 002CE268 9B DD 00 10 */ stb r30, 0x10(r29) +/* 802D260C 002CE26C 38 60 00 00 */ li r3, 0 +lbl_802D2610: +/* 802D2610 002CE270 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D2614 002CE274 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D2618 002CE278 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802D261C 002CE27C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802D2620 002CE280 7C 08 03 A6 */ mtlr r0 +/* 802D2624 002CE284 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D2628 002CE288 4E 80 00 20 */ blr +lbl_802D262C: +/* 802D262C 002CE28C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D2630 002CE290 7C 08 02 A6 */ mflr r0 +/* 802D2634 002CE294 3C 60 80 57 */ lis r3, lbl_8056B6F0@ha +/* 802D2638 002CE298 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D263C 002CE29C 38 63 B6 F0 */ addi r3, r3, lbl_8056B6F0@l +/* 802D2640 002CE2A0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D2644 002CE2A4 88 03 01 41 */ lbz r0, 0x141(r3) +/* 802D2648 002CE2A8 28 00 00 05 */ cmplwi r0, 5 +/* 802D264C 002CE2AC 41 80 00 18 */ blt lbl_802D2664 +/* 802D2650 002CE2B0 3C 60 00 1E */ lis r3, 0x001E0004@ha +/* 802D2654 002CE2B4 3C 80 80 44 */ lis r4, lbl_80442720@ha +/* 802D2658 002CE2B8 38 63 00 04 */ addi r3, r3, 0x001E0004@l +/* 802D265C 002CE2BC 38 84 27 20 */ addi r4, r4, lbl_80442720@l +/* 802D2660 002CE2C0 4B FE A8 B1 */ bl func_802BCF10 +lbl_802D2664: +/* 802D2664 002CE2C4 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D2668 002CE2C8 3B FF B6 F0 */ addi r31, r31, lbl_8056B6F0@l +/* 802D266C 002CE2CC 88 7F 00 09 */ lbz r3, 9(r31) +/* 802D2670 002CE2D0 38 03 00 01 */ addi r0, r3, 1 +/* 802D2674 002CE2D4 98 1F 00 09 */ stb r0, 9(r31) +/* 802D2678 002CE2D8 4B FF FE F5 */ bl func_802D256C +/* 802D267C 002CE2DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D2680 002CE2E0 41 82 00 48 */ beq lbl_802D26C8 +/* 802D2684 002CE2E4 88 1F 00 09 */ lbz r0, 9(r31) +/* 802D2688 002CE2E8 28 00 00 0F */ cmplwi r0, 0xf +/* 802D268C 002CE2EC 40 81 00 28 */ ble lbl_802D26B4 +/* 802D2690 002CE2F0 81 9F 00 C4 */ lwz r12, 0xc4(r31) +/* 802D2694 002CE2F4 38 00 00 00 */ li r0, 0 +/* 802D2698 002CE2F8 98 1F 00 08 */ stb r0, 8(r31) +/* 802D269C 002CE2FC 38 60 00 01 */ li r3, 1 +/* 802D26A0 002CE300 38 80 00 00 */ li r4, 0 +/* 802D26A4 002CE304 38 A0 00 00 */ li r5, 0 +/* 802D26A8 002CE308 7D 89 03 A6 */ mtctr r12 +/* 802D26AC 002CE30C 4E 80 04 21 */ bctrl +/* 802D26B0 002CE310 48 00 00 30 */ b lbl_802D26E0 +lbl_802D26B4: +/* 802D26B4 002CE314 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802D26B8 002CE318 38 80 00 16 */ li r4, 0x16 +/* 802D26BC 002CE31C 38 A0 00 01 */ li r5, 1 +/* 802D26C0 002CE320 4B FE AE 1D */ bl func_802BD4DC +/* 802D26C4 002CE324 48 00 00 1C */ b lbl_802D26E0 +lbl_802D26C8: +/* 802D26C8 002CE328 81 9F 00 C4 */ lwz r12, 0xc4(r31) +/* 802D26CC 002CE32C 38 60 00 02 */ li r3, 2 +/* 802D26D0 002CE330 88 9F 00 09 */ lbz r4, 9(r31) +/* 802D26D4 002CE334 38 A0 00 00 */ li r5, 0 +/* 802D26D8 002CE338 7D 89 03 A6 */ mtctr r12 +/* 802D26DC 002CE33C 4E 80 04 21 */ bctrl +lbl_802D26E0: +/* 802D26E0 002CE340 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D26E4 002CE344 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D26E8 002CE348 7C 08 03 A6 */ mtlr r0 +/* 802D26EC 002CE34C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D26F0 002CE350 4E 80 00 20 */ blr + +.global func_802D26F4 +func_802D26F4: +/* 802D26F4 002CE354 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D26F8 002CE358 7C 08 02 A6 */ mflr r0 +/* 802D26FC 002CE35C 3C 80 80 57 */ lis r4, lbl_8056B6F0@ha +/* 802D2700 002CE360 38 A0 00 00 */ li r5, 0 +/* 802D2704 002CE364 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D2708 002CE368 38 84 B6 F0 */ addi r4, r4, lbl_8056B6F0@l +/* 802D270C 002CE36C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D2710 002CE370 88 04 00 6E */ lbz r0, 0x6e(r4) +/* 802D2714 002CE374 90 A1 00 0C */ stw r5, 0xc(r1) +/* 802D2718 002CE378 2C 00 00 00 */ cmpwi r0, 0 +/* 802D271C 002CE37C 90 A1 00 10 */ stw r5, 0x10(r1) +/* 802D2720 002CE380 B0 A1 00 14 */ sth r5, 0x14(r1) +/* 802D2724 002CE384 98 A1 00 08 */ stb r5, 8(r1) +/* 802D2728 002CE388 40 82 00 38 */ bne lbl_802D2760 +/* 802D272C 002CE38C 88 C4 00 6A */ lbz r6, 0x6a(r4) +/* 802D2730 002CE390 88 A3 00 08 */ lbz r5, 8(r3) +/* 802D2734 002CE394 7C 05 30 40 */ cmplw r5, r6 +/* 802D2738 002CE398 40 82 00 40 */ bne lbl_802D2778 +/* 802D273C 002CE39C 2C 05 00 00 */ cmpwi r5, 0 +/* 802D2740 002CE3A0 41 82 00 20 */ beq lbl_802D2760 +/* 802D2744 002CE3A4 A0 84 00 6C */ lhz r4, 0x6c(r4) +/* 802D2748 002CE3A8 A0 03 00 02 */ lhz r0, 2(r3) +/* 802D274C 002CE3AC 7C 04 00 40 */ cmplw r4, r0 +/* 802D2750 002CE3B0 41 80 00 28 */ blt lbl_802D2778 +/* 802D2754 002CE3B4 A0 03 00 00 */ lhz r0, 0(r3) +/* 802D2758 002CE3B8 7C 04 00 40 */ cmplw r4, r0 +/* 802D275C 002CE3BC 41 81 00 1C */ bgt lbl_802D2778 +lbl_802D2760: +/* 802D2760 002CE3C0 3C 80 80 57 */ lis r4, lbl_8056B6F0@ha +/* 802D2764 002CE3C4 38 00 00 FF */ li r0, 0xff +/* 802D2768 002CE3C8 38 84 B6 F0 */ addi r4, r4, lbl_8056B6F0@l +/* 802D276C 002CE3CC 38 60 00 01 */ li r3, 1 +/* 802D2770 002CE3D0 98 04 00 78 */ stb r0, 0x78(r4) +/* 802D2774 002CE3D4 48 00 01 44 */ b lbl_802D28B8 +lbl_802D2778: +/* 802D2778 002CE3D8 2C 05 00 02 */ cmpwi r5, 2 +/* 802D277C 002CE3DC 41 82 00 80 */ beq lbl_802D27FC +/* 802D2780 002CE3E0 40 80 00 10 */ bge lbl_802D2790 +/* 802D2784 002CE3E4 2C 05 00 00 */ cmpwi r5, 0 +/* 802D2788 002CE3E8 41 82 00 14 */ beq lbl_802D279C +/* 802D278C 002CE3EC 48 00 00 E4 */ b lbl_802D2870 +lbl_802D2790: +/* 802D2790 002CE3F0 2C 05 00 04 */ cmpwi r5, 4 +/* 802D2794 002CE3F4 40 80 00 DC */ bge lbl_802D2870 +/* 802D2798 002CE3F8 48 00 00 A0 */ b lbl_802D2838 +lbl_802D279C: +/* 802D279C 002CE3FC 28 06 00 02 */ cmplwi r6, 2 +/* 802D27A0 002CE400 40 82 00 2C */ bne lbl_802D27CC +/* 802D27A4 002CE404 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D27A8 002CE408 38 A1 00 0C */ addi r5, r1, 0xc +/* 802D27AC 002CE40C 38 9F B6 F0 */ addi r4, r31, lbl_8056B6F0@l +/* 802D27B0 002CE410 38 60 00 80 */ li r3, 0x80 +/* 802D27B4 002CE414 4B FF 66 F5 */ bl func_802C8EA8 +/* 802D27B8 002CE418 38 9F B6 F0 */ addi r4, r31, -18704 +/* 802D27BC 002CE41C 38 00 00 01 */ li r0, 1 +/* 802D27C0 002CE420 98 61 00 08 */ stb r3, 8(r1) +/* 802D27C4 002CE424 98 04 00 6E */ stb r0, 0x6e(r4) +/* 802D27C8 002CE428 48 00 00 A8 */ b lbl_802D2870 +lbl_802D27CC: +/* 802D27CC 002CE42C 28 06 00 03 */ cmplwi r6, 3 +/* 802D27D0 002CE430 40 82 00 A0 */ bne lbl_802D2870 +/* 802D27D4 002CE434 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D27D8 002CE438 38 A1 00 0C */ addi r5, r1, 0xc +/* 802D27DC 002CE43C 38 9F B6 F0 */ addi r4, r31, lbl_8056B6F0@l +/* 802D27E0 002CE440 38 60 00 80 */ li r3, 0x80 +/* 802D27E4 002CE444 4B FF 66 C5 */ bl func_802C8EA8 +/* 802D27E8 002CE448 38 9F B6 F0 */ addi r4, r31, -18704 +/* 802D27EC 002CE44C 38 00 00 01 */ li r0, 1 +/* 802D27F0 002CE450 98 61 00 08 */ stb r3, 8(r1) +/* 802D27F4 002CE454 98 04 00 6E */ stb r0, 0x6e(r4) +/* 802D27F8 002CE458 48 00 00 78 */ b lbl_802D2870 +lbl_802D27FC: +/* 802D27FC 002CE45C 2C 06 00 00 */ cmpwi r6, 0 +/* 802D2800 002CE460 41 82 00 10 */ beq lbl_802D2810 +/* 802D2804 002CE464 38 61 00 0C */ addi r3, r1, 0xc +/* 802D2808 002CE468 4B FF FE ED */ bl func_802D26F4 +/* 802D280C 002CE46C 48 00 00 64 */ b lbl_802D2870 +lbl_802D2810: +/* 802D2810 002CE470 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D2814 002CE474 7C 65 1B 78 */ mr r5, r3 +/* 802D2818 002CE478 38 9F B6 F0 */ addi r4, r31, lbl_8056B6F0@l +/* 802D281C 002CE47C 38 60 00 80 */ li r3, 0x80 +/* 802D2820 002CE480 4B FF 66 89 */ bl func_802C8EA8 +/* 802D2824 002CE484 38 9F B6 F0 */ addi r4, r31, -18704 +/* 802D2828 002CE488 38 00 00 01 */ li r0, 1 +/* 802D282C 002CE48C 98 61 00 08 */ stb r3, 8(r1) +/* 802D2830 002CE490 98 04 00 6E */ stb r0, 0x6e(r4) +/* 802D2834 002CE494 48 00 00 3C */ b lbl_802D2870 +lbl_802D2838: +/* 802D2838 002CE498 2C 06 00 00 */ cmpwi r6, 0 +/* 802D283C 002CE49C 41 82 00 10 */ beq lbl_802D284C +/* 802D2840 002CE4A0 38 61 00 0C */ addi r3, r1, 0xc +/* 802D2844 002CE4A4 4B FF FE B1 */ bl func_802D26F4 +/* 802D2848 002CE4A8 48 00 00 28 */ b lbl_802D2870 +lbl_802D284C: +/* 802D284C 002CE4AC 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D2850 002CE4B0 7C 65 1B 78 */ mr r5, r3 +/* 802D2854 002CE4B4 38 9F B6 F0 */ addi r4, r31, lbl_8056B6F0@l +/* 802D2858 002CE4B8 38 60 00 80 */ li r3, 0x80 +/* 802D285C 002CE4BC 4B FF 66 4D */ bl func_802C8EA8 +/* 802D2860 002CE4C0 38 9F B6 F0 */ addi r4, r31, -18704 +/* 802D2864 002CE4C4 38 00 00 01 */ li r0, 1 +/* 802D2868 002CE4C8 98 61 00 08 */ stb r3, 8(r1) +/* 802D286C 002CE4CC 98 04 00 6E */ stb r0, 0x6e(r4) +lbl_802D2870: +/* 802D2870 002CE4D0 88 81 00 08 */ lbz r4, 8(r1) +/* 802D2874 002CE4D4 28 04 00 01 */ cmplwi r4, 1 +/* 802D2878 002CE4D8 41 81 00 0C */ bgt lbl_802D2884 +/* 802D287C 002CE4DC 38 60 00 01 */ li r3, 1 +/* 802D2880 002CE4E0 48 00 00 38 */ b lbl_802D28B8 +lbl_802D2884: +/* 802D2884 002CE4E4 3C 60 80 57 */ lis r3, lbl_8056B6F0@ha +/* 802D2888 002CE4E8 38 04 00 37 */ addi r0, r4, 0x37 +/* 802D288C 002CE4EC 38 63 B6 F0 */ addi r3, r3, lbl_8056B6F0@l +/* 802D2890 002CE4F0 98 01 00 08 */ stb r0, 8(r1) +/* 802D2894 002CE4F4 81 83 00 C4 */ lwz r12, 0xc4(r3) +/* 802D2898 002CE4F8 2C 0C 00 00 */ cmpwi r12, 0 +/* 802D289C 002CE4FC 41 82 00 18 */ beq lbl_802D28B4 +/* 802D28A0 002CE500 88 83 00 6F */ lbz r4, 0x6f(r3) +/* 802D28A4 002CE504 38 A1 00 08 */ addi r5, r1, 8 +/* 802D28A8 002CE508 38 60 00 04 */ li r3, 4 +/* 802D28AC 002CE50C 7D 89 03 A6 */ mtctr r12 +/* 802D28B0 002CE510 4E 80 04 21 */ bctrl +lbl_802D28B4: +/* 802D28B4 002CE514 38 60 00 00 */ li r3, 0 +lbl_802D28B8: +/* 802D28B8 002CE518 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D28BC 002CE51C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D28C0 002CE520 7C 08 03 A6 */ mtlr r0 +/* 802D28C4 002CE524 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D28C8 002CE528 4E 80 00 20 */ blr + +.global func_802D28CC +func_802D28CC: +/* 802D28CC 002CE52C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D28D0 002CE530 7C 08 02 A6 */ mflr r0 +/* 802D28D4 002CE534 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D28D8 002CE538 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D28DC 002CE53C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802D28E0 002CE540 3F C0 80 57 */ lis r30, lbl_8056B6F0@ha +/* 802D28E4 002CE544 3B DE B6 F0 */ addi r30, r30, lbl_8056B6F0@l +/* 802D28E8 002CE548 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802D28EC 002CE54C 7C 9D 23 78 */ mr r29, r4 +/* 802D28F0 002CE550 88 1E 01 40 */ lbz r0, 0x140(r30) +/* 802D28F4 002CE554 98 61 00 08 */ stb r3, 8(r1) +/* 802D28F8 002CE558 2C 00 00 00 */ cmpwi r0, 0 +/* 802D28FC 002CE55C B0 A1 00 0A */ sth r5, 0xa(r1) +/* 802D2900 002CE560 41 82 01 08 */ beq lbl_802D2A08 +/* 802D2904 002CE564 3B E0 00 00 */ li r31, 0 +/* 802D2908 002CE568 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D290C 002CE56C 9B FE 00 6E */ stb r31, 0x6e(r30) +/* 802D2910 002CE570 41 82 00 28 */ beq lbl_802D2938 +/* 802D2914 002CE574 81 9E 00 C4 */ lwz r12, 0xc4(r30) +/* 802D2918 002CE578 2C 0C 00 00 */ cmpwi r12, 0 +/* 802D291C 002CE57C 41 82 00 EC */ beq lbl_802D2A08 +/* 802D2920 002CE580 38 A1 00 08 */ addi r5, r1, 8 +/* 802D2924 002CE584 88 9E 00 6F */ lbz r4, 0x6f(r30) +/* 802D2928 002CE588 38 60 00 04 */ li r3, 4 +/* 802D292C 002CE58C 7D 89 03 A6 */ mtctr r12 +/* 802D2930 002CE590 4E 80 04 21 */ bctrl +/* 802D2934 002CE594 48 00 00 D4 */ b lbl_802D2A08 +lbl_802D2938: +/* 802D2938 002CE598 88 1E 00 78 */ lbz r0, 0x78(r30) +/* 802D293C 002CE59C 54 A3 04 3E */ clrlwi r3, r5, 0x10 +/* 802D2940 002CE5A0 98 9E 00 6A */ stb r4, 0x6a(r30) +/* 802D2944 002CE5A4 28 00 00 FF */ cmplwi r0, 0xff +/* 802D2948 002CE5A8 B0 BE 00 6C */ sth r5, 0x6c(r30) +/* 802D294C 002CE5AC 41 82 00 54 */ beq lbl_802D29A0 +/* 802D2950 002CE5B0 7C 00 20 40 */ cmplw r0, r4 +/* 802D2954 002CE5B4 40 82 00 24 */ bne lbl_802D2978 +/* 802D2958 002CE5B8 2C 00 00 00 */ cmpwi r0, 0 +/* 802D295C 002CE5BC 41 82 00 30 */ beq lbl_802D298C +/* 802D2960 002CE5C0 A0 1E 00 72 */ lhz r0, 0x72(r30) +/* 802D2964 002CE5C4 7C 03 00 40 */ cmplw r3, r0 +/* 802D2968 002CE5C8 41 80 00 10 */ blt lbl_802D2978 +/* 802D296C 002CE5CC A0 1E 00 70 */ lhz r0, 0x70(r30) +/* 802D2970 002CE5D0 7C 03 00 40 */ cmplw r3, r0 +/* 802D2974 002CE5D4 40 81 00 18 */ ble lbl_802D298C +lbl_802D2978: +/* 802D2978 002CE5D8 3C 60 80 57 */ lis r3, lbl_8056B6F0@ha +/* 802D297C 002CE5DC 38 63 B6 F0 */ addi r3, r3, lbl_8056B6F0@l +/* 802D2980 002CE5E0 38 63 00 70 */ addi r3, r3, 0x70 +/* 802D2984 002CE5E4 4B FF FD 71 */ bl func_802D26F4 +/* 802D2988 002CE5E8 48 00 00 58 */ b lbl_802D29E0 +lbl_802D298C: +/* 802D298C 002CE5EC 3C 60 80 57 */ lis r3, lbl_8056B6F0@ha +/* 802D2990 002CE5F0 38 00 00 FF */ li r0, 0xff +/* 802D2994 002CE5F4 38 63 B6 F0 */ addi r3, r3, lbl_8056B6F0@l +/* 802D2998 002CE5F8 98 03 00 78 */ stb r0, 0x78(r3) +/* 802D299C 002CE5FC 48 00 00 44 */ b lbl_802D29E0 +lbl_802D29A0: +/* 802D29A0 002CE600 2C 04 00 00 */ cmpwi r4, 0 +/* 802D29A4 002CE604 40 82 00 3C */ bne lbl_802D29E0 +/* 802D29A8 002CE608 38 7E 00 70 */ addi r3, r30, 0x70 +/* 802D29AC 002CE60C 38 9E 00 4C */ addi r4, r30, 0x4c +/* 802D29B0 002CE610 38 A0 00 0A */ li r5, 0xa +/* 802D29B4 002CE614 4B D3 16 4D */ bl memcpy +/* 802D29B8 002CE618 38 7E 00 4C */ addi r3, r30, 0x4c +/* 802D29BC 002CE61C 4B FF FD 39 */ bl func_802D26F4 +/* 802D29C0 002CE620 3C 60 80 2D */ lis r3, lbl_802D2A24@ha +/* 802D29C4 002CE624 9B FE 00 6F */ stb r31, 0x6f(r30) +/* 802D29C8 002CE628 38 63 2A 24 */ addi r3, r3, lbl_802D2A24@l +/* 802D29CC 002CE62C 38 80 00 16 */ li r4, 0x16 +/* 802D29D0 002CE630 90 7E 00 44 */ stw r3, 0x44(r30) +/* 802D29D4 002CE634 38 7E 00 34 */ addi r3, r30, 0x34 +/* 802D29D8 002CE638 38 A0 00 3C */ li r5, 0x3c +/* 802D29DC 002CE63C 4B FE AB 01 */ bl func_802BD4DC +lbl_802D29E0: +/* 802D29E0 002CE640 3C 60 80 57 */ lis r3, lbl_8056B6F0@ha +/* 802D29E4 002CE644 38 63 B6 F0 */ addi r3, r3, lbl_8056B6F0@l +/* 802D29E8 002CE648 81 83 00 C4 */ lwz r12, 0xc4(r3) +/* 802D29EC 002CE64C 2C 0C 00 00 */ cmpwi r12, 0 +/* 802D29F0 002CE650 41 82 00 18 */ beq lbl_802D2A08 +/* 802D29F4 002CE654 7F A4 EB 78 */ mr r4, r29 +/* 802D29F8 002CE658 38 A1 00 0A */ addi r5, r1, 0xa +/* 802D29FC 002CE65C 38 60 00 03 */ li r3, 3 +/* 802D2A00 002CE660 7D 89 03 A6 */ mtctr r12 +/* 802D2A04 002CE664 4E 80 04 21 */ bctrl +lbl_802D2A08: +/* 802D2A08 002CE668 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D2A0C 002CE66C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D2A10 002CE670 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802D2A14 002CE674 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802D2A18 002CE678 7C 08 03 A6 */ mtlr r0 +/* 802D2A1C 002CE67C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D2A20 002CE680 4E 80 00 20 */ blr +lbl_802D2A24: +/* 802D2A24 002CE684 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D2A28 002CE688 7C 08 02 A6 */ mflr r0 +/* 802D2A2C 002CE68C 38 A0 00 0A */ li r5, 0xa +/* 802D2A30 002CE690 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D2A34 002CE694 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D2A38 002CE698 3F E0 80 57 */ lis r31, lbl_8056B6F0@ha +/* 802D2A3C 002CE69C 3B FF B6 F0 */ addi r31, r31, lbl_8056B6F0@l +/* 802D2A40 002CE6A0 38 7F 00 70 */ addi r3, r31, 0x70 +/* 802D2A44 002CE6A4 38 9F 00 56 */ addi r4, r31, 0x56 +/* 802D2A48 002CE6A8 4B D3 15 B9 */ bl memcpy +/* 802D2A4C 002CE6AC 38 7F 00 56 */ addi r3, r31, 0x56 +/* 802D2A50 002CE6B0 4B FF FC A5 */ bl func_802D26F4 +/* 802D2A54 002CE6B4 38 00 00 01 */ li r0, 1 +/* 802D2A58 002CE6B8 98 1F 00 6F */ stb r0, 0x6f(r31) +/* 802D2A5C 002CE6BC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D2A60 002CE6C0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D2A64 002CE6C4 7C 08 03 A6 */ mtlr r0 +/* 802D2A68 002CE6C8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D2A6C 002CE6CC 4E 80 00 20 */ blr |