diff options
Diffstat (limited to 'asm/text_9_2.s')
-rw-r--r-- | asm/text_9_2.s | 34690 |
1 files changed, 34690 insertions, 0 deletions
diff --git a/asm/text_9_2.s b/asm/text_9_2.s new file mode 100644 index 0000000..fbb2a96 --- /dev/null +++ b/asm/text_9_2.s @@ -0,0 +1,34690 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global func_8030AD80 +func_8030AD80: +/* 8030AD80 003069E0 80 C3 00 1C */ lwz r6, 0x1c(r3) +/* 8030AD84 003069E4 2C 06 00 00 */ cmpwi r6, 0 +/* 8030AD88 003069E8 40 82 00 1C */ bne lbl_8030ADA4 +/* 8030AD8C 003069EC 80 83 00 08 */ lwz r4, 8(r3) +/* 8030AD90 003069F0 38 00 00 00 */ li r0, 0 +/* 8030AD94 003069F4 90 04 00 1C */ stw r0, 0x1c(r4) +/* 8030AD98 003069F8 80 63 00 08 */ lwz r3, 8(r3) +/* 8030AD9C 003069FC 90 03 00 18 */ stw r0, 0x18(r3) +/* 8030ADA0 00306A00 4E 80 00 20 */ blr +lbl_8030ADA4: +/* 8030ADA4 00306A04 2C 03 00 00 */ cmpwi r3, 0 +/* 8030ADA8 00306A08 40 82 00 0C */ bne lbl_8030ADB4 +/* 8030ADAC 00306A0C 38 E0 00 00 */ li r7, 0 +/* 8030ADB0 00306A10 48 00 00 0C */ b lbl_8030ADBC +lbl_8030ADB4: +/* 8030ADB4 00306A14 80 A3 00 08 */ lwz r5, 8(r3) +/* 8030ADB8 00306A18 80 E5 02 68 */ lwz r7, 0x268(r5) +lbl_8030ADBC: +/* 8030ADBC 00306A1C A0 A7 00 00 */ lhz r5, 0(r7) +/* 8030ADC0 00306A20 38 05 FF FF */ addi r0, r5, -1 +/* 8030ADC4 00306A24 7C C0 00 39 */ and. r0, r6, r0 +/* 8030ADC8 00306A28 40 82 00 58 */ bne lbl_8030AE20 +/* 8030ADCC 00306A2C 88 A7 00 06 */ lbz r5, 6(r7) +/* 8030ADD0 00306A30 80 C3 00 24 */ lwz r6, 0x24(r3) +/* 8030ADD4 00306A34 38 05 FF FF */ addi r0, r5, -1 +/* 8030ADD8 00306A38 7C C0 00 39 */ and. r0, r6, r0 +/* 8030ADDC 00306A3C 40 82 00 44 */ bne lbl_8030AE20 +/* 8030ADE0 00306A40 2C 06 00 00 */ cmpwi r6, 0 +/* 8030ADE4 00306A44 4D 82 00 20 */ beqlr +/* 8030ADE8 00306A48 88 07 00 21 */ lbz r0, 0x21(r7) +/* 8030ADEC 00306A4C 38 C6 FF FF */ addi r6, r6, -1 +/* 8030ADF0 00306A50 80 A3 00 08 */ lwz r5, 8(r3) +/* 8030ADF4 00306A54 38 84 FF FF */ addi r4, r4, -1 +/* 8030ADF8 00306A58 7C C0 04 30 */ srw r0, r6, r0 +/* 8030ADFC 00306A5C 90 05 00 18 */ stw r0, 0x18(r5) +/* 8030AE00 00306A60 80 A7 00 30 */ lwz r5, 0x30(r7) +/* 8030AE04 00306A64 88 07 00 21 */ lbz r0, 0x21(r7) +/* 8030AE08 00306A68 7C 85 20 50 */ subf r4, r5, r4 +/* 8030AE0C 00306A6C 80 63 00 08 */ lwz r3, 8(r3) +/* 8030AE10 00306A70 7C 84 04 30 */ srw r4, r4, r0 +/* 8030AE14 00306A74 38 04 00 02 */ addi r0, r4, 2 +/* 8030AE18 00306A78 90 03 00 1C */ stw r0, 0x1c(r3) +/* 8030AE1C 00306A7C 4E 80 00 20 */ blr +lbl_8030AE20: +/* 8030AE20 00306A80 80 C3 00 24 */ lwz r6, 0x24(r3) +/* 8030AE24 00306A84 88 07 00 21 */ lbz r0, 0x21(r7) +/* 8030AE28 00306A88 80 A3 00 08 */ lwz r5, 8(r3) +/* 8030AE2C 00306A8C 7C C0 04 30 */ srw r0, r6, r0 +/* 8030AE30 00306A90 90 05 00 18 */ stw r0, 0x18(r5) +/* 8030AE34 00306A94 80 A7 00 30 */ lwz r5, 0x30(r7) +/* 8030AE38 00306A98 88 07 00 21 */ lbz r0, 0x21(r7) +/* 8030AE3C 00306A9C 7C 85 20 50 */ subf r4, r5, r4 +/* 8030AE40 00306AA0 80 63 00 08 */ lwz r3, 8(r3) +/* 8030AE44 00306AA4 7C 84 04 30 */ srw r4, r4, r0 +/* 8030AE48 00306AA8 38 04 00 02 */ addi r0, r4, 2 +/* 8030AE4C 00306AAC 90 03 00 1C */ stw r0, 0x1c(r3) +/* 8030AE50 00306AB0 4E 80 00 20 */ blr + +.global func_8030AE54 +func_8030AE54: +/* 8030AE54 00306AB4 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8030AE58 00306AB8 7C 08 02 A6 */ mflr r0 +/* 8030AE5C 00306ABC 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030AE60 00306AC0 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030AE64 00306AC4 4B EB C2 C1 */ bl _savegpr_26 +/* 8030AE68 00306AC8 3C E0 80 58 */ lis r7, lbl_8057F5C8@ha +/* 8030AE6C 00306ACC 38 00 00 00 */ li r0, 0 +/* 8030AE70 00306AD0 38 E7 F5 C8 */ addi r7, r7, lbl_8057F5C8@l +/* 8030AE74 00306AD4 90 05 00 00 */ stw r0, 0(r5) +/* 8030AE78 00306AD8 7C 07 18 40 */ cmplw r7, r3 +/* 8030AE7C 00306ADC 7C 7B 1B 78 */ mr r27, r3 +/* 8030AE80 00306AE0 7C 9C 23 78 */ mr r28, r4 +/* 8030AE84 00306AE4 7C BD 2B 78 */ mr r29, r5 +/* 8030AE88 00306AE8 7C DE 33 78 */ mr r30, r6 +/* 8030AE8C 00306AEC 41 81 00 14 */ bgt lbl_8030AEA0 +/* 8030AE90 00306AF0 3C A7 00 02 */ addis r5, r7, 2 +/* 8030AE94 00306AF4 38 05 7F B8 */ addi r0, r5, 0x7fb8 +/* 8030AE98 00306AF8 7C 00 18 40 */ cmplw r0, r3 +/* 8030AE9C 00306AFC 40 80 00 0C */ bge lbl_8030AEA8 +lbl_8030AEA0: +/* 8030AEA0 00306B00 38 60 00 0A */ li r3, 0xa +/* 8030AEA4 00306B04 48 00 01 D4 */ b lbl_8030B078 +lbl_8030AEA8: +/* 8030AEA8 00306B08 2F 03 00 00 */ cmpwi cr6, r3, 0 +/* 8030AEAC 00306B0C 41 9A 00 34 */ beq cr6, lbl_8030AEE0 +/* 8030AEB0 00306B10 83 43 00 08 */ lwz r26, 8(r3) +/* 8030AEB4 00306B14 2C 1A 00 00 */ cmpwi r26, 0 +/* 8030AEB8 00306B18 41 82 00 28 */ beq lbl_8030AEE0 +/* 8030AEBC 00306B1C 80 03 00 00 */ lwz r0, 0(r3) +/* 8030AEC0 00306B20 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8030AEC4 00306B24 41 82 00 1C */ beq lbl_8030AEE0 +/* 8030AEC8 00306B28 80 1A 00 00 */ lwz r0, 0(r26) +/* 8030AECC 00306B2C 54 05 07 FE */ clrlwi r5, r0, 0x1f +/* 8030AED0 00306B30 2C 85 00 00 */ cmpwi cr1, r5, 0 +/* 8030AED4 00306B34 41 86 00 0C */ beq cr1, lbl_8030AEE0 +/* 8030AED8 00306B38 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8030AEDC 00306B3C 40 82 00 0C */ bne lbl_8030AEE8 +lbl_8030AEE0: +/* 8030AEE0 00306B40 38 60 00 26 */ li r3, 0x26 +/* 8030AEE4 00306B44 48 00 01 94 */ b lbl_8030B078 +lbl_8030AEE8: +/* 8030AEE8 00306B48 41 86 00 08 */ beq cr1, lbl_8030AEF0 +/* 8030AEEC 00306B4C 40 82 00 0C */ bne lbl_8030AEF8 +lbl_8030AEF0: +/* 8030AEF0 00306B50 38 60 00 26 */ li r3, 0x26 +/* 8030AEF4 00306B54 48 00 01 84 */ b lbl_8030B078 +lbl_8030AEF8: +/* 8030AEF8 00306B58 40 9A 00 0C */ bne cr6, lbl_8030AF04 +/* 8030AEFC 00306B5C 3B E0 00 00 */ li r31, 0 +/* 8030AF00 00306B60 48 00 00 08 */ b lbl_8030AF08 +lbl_8030AF04: +/* 8030AF04 00306B64 83 FA 02 68 */ lwz r31, 0x268(r26) +lbl_8030AF08: +/* 8030AF08 00306B68 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030AF0C 00306B6C 40 82 00 0C */ bne lbl_8030AF18 +/* 8030AF10 00306B70 38 60 00 26 */ li r3, 0x26 +/* 8030AF14 00306B74 48 00 01 64 */ b lbl_8030B078 +lbl_8030AF18: +/* 8030AF18 00306B78 81 83 00 1C */ lwz r12, 0x1c(r3) +/* 8030AF1C 00306B7C 38 A3 00 0C */ addi r5, r3, 0xc +/* 8030AF20 00306B80 81 63 00 20 */ lwz r11, 0x20(r3) +/* 8030AF24 00306B84 38 00 FF FF */ li r0, -1 +/* 8030AF28 00306B88 81 43 00 24 */ lwz r10, 0x24(r3) +/* 8030AF2C 00306B8C 81 23 00 28 */ lwz r9, 0x28(r3) +/* 8030AF30 00306B90 81 03 00 0C */ lwz r8, 0xc(r3) +/* 8030AF34 00306B94 80 E3 00 10 */ lwz r7, 0x10(r3) +/* 8030AF38 00306B98 80 63 00 14 */ lwz r3, 0x14(r3) +/* 8030AF3C 00306B9C 91 81 00 18 */ stw r12, 0x18(r1) +/* 8030AF40 00306BA0 90 BA 00 34 */ stw r5, 0x34(r26) +/* 8030AF44 00306BA4 90 06 00 00 */ stw r0, 0(r6) +/* 8030AF48 00306BA8 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 8030AF4C 00306BAC 91 61 00 1C */ stw r11, 0x1c(r1) +/* 8030AF50 00306BB0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 8030AF54 00306BB4 91 41 00 20 */ stw r10, 0x20(r1) +/* 8030AF58 00306BB8 91 21 00 24 */ stw r9, 0x24(r1) +/* 8030AF5C 00306BBC 91 01 00 0C */ stw r8, 0xc(r1) +/* 8030AF60 00306BC0 90 E1 00 10 */ stw r7, 0x10(r1) +/* 8030AF64 00306BC4 90 61 00 14 */ stw r3, 0x14(r1) +/* 8030AF68 00306BC8 41 82 00 24 */ beq lbl_8030AF8C +/* 8030AF6C 00306BCC 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 8030AF70 00306BD0 3C 03 00 01 */ addis r0, r3, 1 +/* 8030AF74 00306BD4 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030AF78 00306BD8 41 82 00 14 */ beq lbl_8030AF8C +/* 8030AF7C 00306BDC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030AF80 00306BE0 40 82 00 0C */ bne lbl_8030AF8C +/* 8030AF84 00306BE4 38 60 00 06 */ li r3, 6 +/* 8030AF88 00306BE8 48 00 00 F0 */ b lbl_8030B078 +lbl_8030AF8C: +/* 8030AF8C 00306BEC 80 BB 00 08 */ lwz r5, 8(r27) +/* 8030AF90 00306BF0 7F 63 DB 78 */ mr r3, r27 +/* 8030AF94 00306BF4 80 05 02 64 */ lwz r0, 0x264(r5) +/* 8030AF98 00306BF8 7C 80 22 14 */ add r4, r0, r4 +/* 8030AF9C 00306BFC 48 00 8C CD */ bl func_80313C68 +/* 8030AFA0 00306C00 80 7B 00 1C */ lwz r3, 0x1c(r27) +/* 8030AFA4 00306C04 3C 03 00 01 */ addis r0, r3, 1 +/* 8030AFA8 00306C08 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030AFAC 00306C0C 40 82 00 14 */ bne lbl_8030AFC0 +/* 8030AFB0 00306C10 38 00 00 00 */ li r0, 0 +/* 8030AFB4 00306C14 38 60 00 25 */ li r3, 0x25 +/* 8030AFB8 00306C18 90 1D 00 00 */ stw r0, 0(r29) +/* 8030AFBC 00306C1C 48 00 00 BC */ b lbl_8030B078 +lbl_8030AFC0: +/* 8030AFC0 00306C20 80 7B 00 08 */ lwz r3, 8(r27) +/* 8030AFC4 00306C24 7F 85 E3 78 */ mr r5, r28 +/* 8030AFC8 00306C28 80 9B 00 24 */ lwz r4, 0x24(r27) +/* 8030AFCC 00306C2C 7F C6 F3 78 */ mr r6, r30 +/* 8030AFD0 00306C30 38 63 00 04 */ addi r3, r3, 4 +/* 8030AFD4 00306C34 38 E1 00 08 */ addi r7, r1, 8 +/* 8030AFD8 00306C38 48 00 50 69 */ bl func_80310040 +/* 8030AFDC 00306C3C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030AFE0 00306C40 41 82 00 40 */ beq lbl_8030B020 +/* 8030AFE4 00306C44 81 21 00 18 */ lwz r9, 0x18(r1) +/* 8030AFE8 00306C48 81 01 00 1C */ lwz r8, 0x1c(r1) +/* 8030AFEC 00306C4C 80 E1 00 20 */ lwz r7, 0x20(r1) +/* 8030AFF0 00306C50 80 C1 00 24 */ lwz r6, 0x24(r1) +/* 8030AFF4 00306C54 80 A1 00 0C */ lwz r5, 0xc(r1) +/* 8030AFF8 00306C58 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8030AFFC 00306C5C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030B000 00306C60 91 3B 00 1C */ stw r9, 0x1c(r27) +/* 8030B004 00306C64 91 1B 00 20 */ stw r8, 0x20(r27) +/* 8030B008 00306C68 90 FB 00 24 */ stw r7, 0x24(r27) +/* 8030B00C 00306C6C 90 DB 00 28 */ stw r6, 0x28(r27) +/* 8030B010 00306C70 90 BB 00 0C */ stw r5, 0xc(r27) +/* 8030B014 00306C74 90 9B 00 10 */ stw r4, 0x10(r27) +/* 8030B018 00306C78 90 1B 00 14 */ stw r0, 0x14(r27) +/* 8030B01C 00306C7C 48 00 00 5C */ b lbl_8030B078 +lbl_8030B020: +/* 8030B020 00306C80 81 01 00 18 */ lwz r8, 0x18(r1) +/* 8030B024 00306C84 80 E1 00 1C */ lwz r7, 0x1c(r1) +/* 8030B028 00306C88 80 C1 00 20 */ lwz r6, 0x20(r1) +/* 8030B02C 00306C8C 80 A1 00 24 */ lwz r5, 0x24(r1) +/* 8030B030 00306C90 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030B034 00306C94 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8030B038 00306C98 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030B03C 00306C9C 91 1B 00 1C */ stw r8, 0x1c(r27) +/* 8030B040 00306CA0 90 FB 00 20 */ stw r7, 0x20(r27) +/* 8030B044 00306CA4 90 DB 00 24 */ stw r6, 0x24(r27) +/* 8030B048 00306CA8 90 BB 00 28 */ stw r5, 0x28(r27) +/* 8030B04C 00306CAC 90 9B 00 0C */ stw r4, 0xc(r27) +/* 8030B050 00306CB0 90 7B 00 10 */ stw r3, 0x10(r27) +/* 8030B054 00306CB4 90 1B 00 14 */ stw r0, 0x14(r27) +/* 8030B058 00306CB8 80 61 00 08 */ lwz r3, 8(r1) +/* 8030B05C 00306CBC 88 1F 00 20 */ lbz r0, 0x20(r31) +/* 8030B060 00306CC0 7C 60 00 30 */ slw r0, r3, r0 +/* 8030B064 00306CC4 7C 1C 00 40 */ cmplw r28, r0 +/* 8030B068 00306CC8 40 80 00 08 */ bge lbl_8030B070 +/* 8030B06C 00306CCC 7F 80 E3 78 */ mr r0, r28 +lbl_8030B070: +/* 8030B070 00306CD0 90 1D 00 00 */ stw r0, 0(r29) +/* 8030B074 00306CD4 38 60 00 00 */ li r3, 0 +lbl_8030B078: +/* 8030B078 00306CD8 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030B07C 00306CDC 4B EB C0 F5 */ bl _restgpr_26 +/* 8030B080 00306CE0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8030B084 00306CE4 7C 08 03 A6 */ mtlr r0 +/* 8030B088 00306CE8 38 21 00 40 */ addi r1, r1, 0x40 +/* 8030B08C 00306CEC 4E 80 00 20 */ blr + +.global func_8030B090 +func_8030B090: +/* 8030B090 00306CF0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030B094 00306CF4 7C 08 02 A6 */ mflr r0 +/* 8030B098 00306CF8 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030B09C 00306CFC 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030B0A0 00306D00 4B EB C0 85 */ bl _savegpr_26 +/* 8030B0A4 00306D04 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 8030B0A8 00306D08 38 00 00 00 */ li r0, 0 +/* 8030B0AC 00306D0C 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 8030B0B0 00306D10 90 04 00 00 */ stw r0, 0(r4) +/* 8030B0B4 00306D14 7C 05 18 40 */ cmplw r5, r3 +/* 8030B0B8 00306D18 7C 9F 23 78 */ mr r31, r4 +/* 8030B0BC 00306D1C 41 81 00 14 */ bgt lbl_8030B0D0 +/* 8030B0C0 00306D20 3C 85 00 02 */ addis r4, r5, 2 +/* 8030B0C4 00306D24 38 04 7F B8 */ addi r0, r4, 0x7fb8 +/* 8030B0C8 00306D28 7C 00 18 40 */ cmplw r0, r3 +/* 8030B0CC 00306D2C 40 80 00 0C */ bge lbl_8030B0D8 +lbl_8030B0D0: +/* 8030B0D0 00306D30 38 60 00 0A */ li r3, 0xa +/* 8030B0D4 00306D34 48 00 01 4C */ b lbl_8030B220 +lbl_8030B0D8: +/* 8030B0D8 00306D38 2F 03 00 00 */ cmpwi cr6, r3, 0 +/* 8030B0DC 00306D3C 41 9A 00 34 */ beq cr6, lbl_8030B110 +/* 8030B0E0 00306D40 81 03 00 08 */ lwz r8, 8(r3) +/* 8030B0E4 00306D44 2C 08 00 00 */ cmpwi r8, 0 +/* 8030B0E8 00306D48 41 82 00 28 */ beq lbl_8030B110 +/* 8030B0EC 00306D4C 80 03 00 00 */ lwz r0, 0(r3) +/* 8030B0F0 00306D50 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8030B0F4 00306D54 41 82 00 1C */ beq lbl_8030B110 +/* 8030B0F8 00306D58 80 08 00 00 */ lwz r0, 0(r8) +/* 8030B0FC 00306D5C 54 03 07 FE */ clrlwi r3, r0, 0x1f +/* 8030B100 00306D60 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 8030B104 00306D64 41 86 00 0C */ beq cr1, lbl_8030B110 +/* 8030B108 00306D68 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8030B10C 00306D6C 40 82 00 0C */ bne lbl_8030B118 +lbl_8030B110: +/* 8030B110 00306D70 38 60 00 26 */ li r3, 0x26 +/* 8030B114 00306D74 48 00 01 0C */ b lbl_8030B220 +lbl_8030B118: +/* 8030B118 00306D78 41 86 00 08 */ beq cr1, lbl_8030B120 +/* 8030B11C 00306D7C 40 82 00 0C */ bne lbl_8030B128 +lbl_8030B120: +/* 8030B120 00306D80 38 60 00 26 */ li r3, 0x26 +/* 8030B124 00306D84 48 00 00 FC */ b lbl_8030B220 +lbl_8030B128: +/* 8030B128 00306D88 40 9A 00 0C */ bne cr6, lbl_8030B134 +/* 8030B12C 00306D8C 3B A0 00 00 */ li r29, 0 +/* 8030B130 00306D90 48 00 00 08 */ b lbl_8030B138 +lbl_8030B134: +/* 8030B134 00306D94 83 A8 02 68 */ lwz r29, 0x268(r8) +lbl_8030B138: +/* 8030B138 00306D98 2C 1D 00 00 */ cmpwi r29, 0 +/* 8030B13C 00306D9C 40 82 00 0C */ bne lbl_8030B148 +/* 8030B140 00306DA0 38 60 00 26 */ li r3, 0x26 +/* 8030B144 00306DA4 48 00 00 DC */ b lbl_8030B220 +lbl_8030B148: +/* 8030B148 00306DA8 80 88 02 70 */ lwz r4, 0x270(r8) +/* 8030B14C 00306DAC A0 7D 00 00 */ lhz r3, 0(r29) +/* 8030B150 00306DB0 88 1D 00 21 */ lbz r0, 0x21(r29) +/* 8030B154 00306DB4 2C 04 00 00 */ cmpwi r4, 0 +/* 8030B158 00306DB8 7C 7C 00 30 */ slw r28, r3, r0 +/* 8030B15C 00306DBC 41 82 00 C0 */ beq lbl_8030B21C +/* 8030B160 00306DC0 80 A8 02 64 */ lwz r5, 0x264(r8) +/* 8030B164 00306DC4 80 E8 00 14 */ lwz r7, 0x14(r8) +/* 8030B168 00306DC8 7C 05 E3 96 */ divwu r0, r5, r28 +/* 8030B16C 00306DCC 2C 07 00 00 */ cmpwi r7, 0 +/* 8030B170 00306DD0 7C 00 E1 D6 */ mullw r0, r0, r28 +/* 8030B174 00306DD4 7C C0 28 50 */ subf r6, r0, r5 +/* 8030B178 00306DD8 7C 06 00 D0 */ neg r0, r6 +/* 8030B17C 00306DDC 7C 03 33 78 */ or r3, r0, r6 +/* 8030B180 00306DE0 7C 06 E0 50 */ subf r0, r6, r28 +/* 8030B184 00306DE4 7C 63 FE 70 */ srawi r3, r3, 0x1f +/* 8030B188 00306DE8 7C 00 18 38 */ and r0, r0, r3 +/* 8030B18C 00306DEC 7F 65 02 14 */ add r27, r5, r0 +/* 8030B190 00306DF0 41 82 00 10 */ beq lbl_8030B1A0 +/* 8030B194 00306DF4 38 07 00 01 */ addi r0, r7, 1 +/* 8030B198 00306DF8 7C 00 E1 D6 */ mullw r0, r0, r28 +/* 8030B19C 00306DFC 48 00 00 78 */ b lbl_8030B214 +lbl_8030B1A0: +/* 8030B1A0 00306E00 2C 05 00 00 */ cmpwi r5, 0 +/* 8030B1A4 00306E04 41 82 00 20 */ beq lbl_8030B1C4 +/* 8030B1A8 00306E08 38 68 00 04 */ addi r3, r8, 4 +/* 8030B1AC 00306E0C 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8030B1B0 00306E10 38 E1 00 0C */ addi r7, r1, 0xc +/* 8030B1B4 00306E14 48 00 5B F9 */ bl func_80310DAC +/* 8030B1B8 00306E18 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B1BC 00306E1C 41 82 00 0C */ beq lbl_8030B1C8 +/* 8030B1C0 00306E20 48 00 00 60 */ b lbl_8030B220 +lbl_8030B1C4: +/* 8030B1C4 00306E24 90 81 00 0C */ stw r4, 0xc(r1) +lbl_8030B1C8: +/* 8030B1C8 00306E28 7F A3 EB 78 */ mr r3, r29 +/* 8030B1CC 00306E2C 48 00 5F 89 */ bl func_80311154 +/* 8030B1D0 00306E30 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030B1D4 00306E34 7C 7E 1B 78 */ mr r30, r3 +/* 8030B1D8 00306E38 3B 40 00 00 */ li r26, 0 +/* 8030B1DC 00306E3C 48 00 00 28 */ b lbl_8030B204 +lbl_8030B1E0: +/* 8030B1E0 00306E40 7F A3 EB 78 */ mr r3, r29 +/* 8030B1E4 00306E44 38 A1 00 08 */ addi r5, r1, 8 +/* 8030B1E8 00306E48 3B 5A 00 01 */ addi r26, r26, 1 +/* 8030B1EC 00306E4C 48 00 5E 01 */ bl func_80310FEC +/* 8030B1F0 00306E50 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B1F4 00306E54 41 82 00 08 */ beq lbl_8030B1FC +/* 8030B1F8 00306E58 48 00 00 28 */ b lbl_8030B220 +lbl_8030B1FC: +/* 8030B1FC 00306E5C 80 81 00 08 */ lwz r4, 8(r1) +/* 8030B200 00306E60 90 81 00 0C */ stw r4, 0xc(r1) +lbl_8030B204: +/* 8030B204 00306E64 7C 04 F0 40 */ cmplw r4, r30 +/* 8030B208 00306E68 40 82 FF D8 */ bne lbl_8030B1E0 +/* 8030B20C 00306E6C 7C 1A E1 D6 */ mullw r0, r26, r28 +/* 8030B210 00306E70 7C 1B 02 14 */ add r0, r27, r0 +lbl_8030B214: +/* 8030B214 00306E74 7C 1B 00 50 */ subf r0, r27, r0 +/* 8030B218 00306E78 90 1F 00 00 */ stw r0, 0(r31) +lbl_8030B21C: +/* 8030B21C 00306E7C 38 60 00 00 */ li r3, 0 +lbl_8030B220: +/* 8030B220 00306E80 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030B224 00306E84 4B EB BF 4D */ bl _restgpr_26 +/* 8030B228 00306E88 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030B22C 00306E8C 7C 08 03 A6 */ mtlr r0 +/* 8030B230 00306E90 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030B234 00306E94 4E 80 00 20 */ blr + +.global func_8030B238 +func_8030B238: +/* 8030B238 00306E98 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030B23C 00306E9C 7C 08 02 A6 */ mflr r0 +/* 8030B240 00306EA0 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030B244 00306EA4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030B248 00306EA8 3B E0 00 00 */ li r31, 0 +/* 8030B24C 00306EAC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030B250 00306EB0 3B C0 00 00 */ li r30, 0 +/* 8030B254 00306EB4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030B258 00306EB8 7C 7D 1B 78 */ mr r29, r3 +lbl_8030B25C: +/* 8030B25C 00306EBC 57 C0 04 3E */ clrlwi r0, r30, 0x10 +/* 8030B260 00306EC0 1C 00 02 80 */ mulli r0, r0, 0x280 +/* 8030B264 00306EC4 7C 7D 02 14 */ add r3, r29, r0 +/* 8030B268 00306EC8 93 E3 0E 00 */ stw r31, 0xe00(r3) +/* 8030B26C 00306ECC 38 63 0E 08 */ addi r3, r3, 0xe08 +/* 8030B270 00306ED0 48 00 5E C5 */ bl func_80311134 +/* 8030B274 00306ED4 3B DE 00 01 */ addi r30, r30, 1 +/* 8030B278 00306ED8 28 1E 00 03 */ cmplwi r30, 3 +/* 8030B27C 00306EDC 41 80 FF E0 */ blt lbl_8030B25C +/* 8030B280 00306EE0 80 BD 15 80 */ lwz r5, 0x1580(r29) +/* 8030B284 00306EE4 38 00 00 00 */ li r0, 0 +/* 8030B288 00306EE8 80 9D 15 A0 */ lwz r4, 0x15a0(r29) +/* 8030B28C 00306EEC 80 7D 15 C0 */ lwz r3, 0x15c0(r29) +/* 8030B290 00306EF0 54 A5 00 3C */ rlwinm r5, r5, 0, 0, 0x1e +/* 8030B294 00306EF4 54 84 00 3C */ rlwinm r4, r4, 0, 0, 0x1e +/* 8030B298 00306EF8 90 BD 15 80 */ stw r5, 0x1580(r29) +/* 8030B29C 00306EFC 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e +/* 8030B2A0 00306F00 90 9D 15 A0 */ stw r4, 0x15a0(r29) +/* 8030B2A4 00306F04 90 7D 15 C0 */ stw r3, 0x15c0(r29) +/* 8030B2A8 00306F08 90 1D 15 E4 */ stw r0, 0x15e4(r29) +/* 8030B2AC 00306F0C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030B2B0 00306F10 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030B2B4 00306F14 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030B2B8 00306F18 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030B2BC 00306F1C 7C 08 03 A6 */ mtlr r0 +/* 8030B2C0 00306F20 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030B2C4 00306F24 4E 80 00 20 */ blr + +.global func_8030B2C8 +func_8030B2C8: +/* 8030B2C8 00306F28 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B2CC 00306F2C 38 C0 00 01 */ li r6, 1 +/* 8030B2D0 00306F30 40 82 00 08 */ bne lbl_8030B2D8 +/* 8030B2D4 00306F34 38 60 00 40 */ li r3, 0x40 +lbl_8030B2D8: +/* 8030B2D8 00306F38 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 +/* 8030B2DC 00306F3C 41 82 00 38 */ beq lbl_8030B314 +/* 8030B2E0 00306F40 54 87 06 7F */ clrlwi. r7, r4, 0x19 +/* 8030B2E4 00306F44 54 A4 06 7E */ clrlwi r4, r5, 0x19 +/* 8030B2E8 00306F48 41 82 00 10 */ beq lbl_8030B2F8 +/* 8030B2EC 00306F4C 7C E0 18 38 */ and r0, r7, r3 +/* 8030B2F0 00306F50 7C 07 00 00 */ cmpw r7, r0 +/* 8030B2F4 00306F54 40 82 00 18 */ bne lbl_8030B30C +lbl_8030B2F8: +/* 8030B2F8 00306F58 2C 04 00 00 */ cmpwi r4, 0 +/* 8030B2FC 00306F5C 41 82 00 3C */ beq lbl_8030B338 +/* 8030B300 00306F60 7C 80 18 38 */ and r0, r4, r3 +/* 8030B304 00306F64 7C 04 00 00 */ cmpw r4, r0 +/* 8030B308 00306F68 40 82 00 30 */ bne lbl_8030B338 +lbl_8030B30C: +/* 8030B30C 00306F6C 38 C0 00 00 */ li r6, 0 +/* 8030B310 00306F70 48 00 00 28 */ b lbl_8030B338 +lbl_8030B314: +/* 8030B314 00306F74 28 04 00 7F */ cmplwi r4, 0x7f +/* 8030B318 00306F78 41 82 00 20 */ beq lbl_8030B338 +/* 8030B31C 00306F7C 7C 03 20 40 */ cmplw r3, r4 +/* 8030B320 00306F80 41 82 00 18 */ beq lbl_8030B338 +/* 8030B324 00306F84 7C 60 20 39 */ and. r0, r3, r4 +/* 8030B328 00306F88 41 82 00 0C */ beq lbl_8030B334 +/* 8030B32C 00306F8C 7C 60 28 39 */ and. r0, r3, r5 +/* 8030B330 00306F90 41 82 00 08 */ beq lbl_8030B338 +lbl_8030B334: +/* 8030B334 00306F94 38 C0 00 00 */ li r6, 0 +lbl_8030B338: +/* 8030B338 00306F98 7C C3 33 78 */ mr r3, r6 +/* 8030B33C 00306F9C 4E 80 00 20 */ blr + +.global func_8030B340 +func_8030B340: +/* 8030B340 00306FA0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030B344 00306FA4 7C 08 02 A6 */ mflr r0 +/* 8030B348 00306FA8 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030B34C 00306FAC 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 8030B350 00306FB0 3B E0 00 01 */ li r31, 1 +/* 8030B354 00306FB4 93 C1 00 28 */ stw r30, 0x28(r1) +/* 8030B358 00306FB8 7C BE 2B 78 */ mr r30, r5 +/* 8030B35C 00306FBC 93 A1 00 24 */ stw r29, 0x24(r1) +/* 8030B360 00306FC0 7C 9D 23 78 */ mr r29, r4 +/* 8030B364 00306FC4 93 81 00 20 */ stw r28, 0x20(r1) +/* 8030B368 00306FC8 7C 7C 1B 78 */ mr r28, r3 +/* 8030B36C 00306FCC 88 03 02 0A */ lbz r0, 0x20a(r3) +/* 8030B370 00306FD0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030B374 00306FD4 41 82 00 84 */ beq lbl_8030B3F8 +/* 8030B378 00306FD8 88 03 02 0B */ lbz r0, 0x20b(r3) +/* 8030B37C 00306FDC 28 00 00 01 */ cmplwi r0, 1 +/* 8030B380 00306FE0 40 82 00 78 */ bne lbl_8030B3F8 +/* 8030B384 00306FE4 38 61 00 08 */ addi r3, r1, 8 +/* 8030B388 00306FE8 38 9C 02 0E */ addi r4, r28, 0x20e +/* 8030B38C 00306FEC 38 A0 00 00 */ li r5, 0 +/* 8030B390 00306FF0 48 00 BE B9 */ bl func_80317248 +/* 8030B394 00306FF4 38 00 00 0B */ li r0, 0xb +/* 8030B398 00306FF8 38 C1 00 08 */ addi r6, r1, 8 +/* 8030B39C 00306FFC 38 80 00 00 */ li r4, 0 +/* 8030B3A0 00307000 38 E0 00 00 */ li r7, 0 +/* 8030B3A4 00307004 7C 09 03 A6 */ mtctr r0 +lbl_8030B3A8: +/* 8030B3A8 00307008 54 E3 04 3E */ clrlwi r3, r7, 0x10 +/* 8030B3AC 0030700C 54 80 07 FE */ clrlwi r0, r4, 0x1f +/* 8030B3B0 00307010 7C A6 18 AE */ lbzx r5, r6, r3 +/* 8030B3B4 00307014 7C 00 00 D0 */ neg r0, r0 +/* 8030B3B8 00307018 54 84 FE 7E */ rlwinm r4, r4, 0x1f, 0x19, 0x1f +/* 8030B3BC 0030701C 38 E7 00 01 */ addi r7, r7, 1 +/* 8030B3C0 00307020 54 03 06 30 */ rlwinm r3, r0, 0, 0x18, 0x18 +/* 8030B3C4 00307024 7C 05 22 14 */ add r0, r5, r4 +/* 8030B3C8 00307028 7C 03 02 14 */ add r0, r3, r0 +/* 8030B3CC 0030702C 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 8030B3D0 00307030 42 00 FF D8 */ bdnz lbl_8030B3A8 +/* 8030B3D4 00307034 88 1C 02 0C */ lbz r0, 0x20c(r28) +/* 8030B3D8 00307038 7C 00 20 40 */ cmplw r0, r4 +/* 8030B3DC 0030703C 40 82 00 1C */ bne lbl_8030B3F8 +/* 8030B3E0 00307040 7F 83 E3 78 */ mr r3, r28 +/* 8030B3E4 00307044 7F A4 EB 78 */ mr r4, r29 +/* 8030B3E8 00307048 48 00 B5 5D */ bl func_80316944 +/* 8030B3EC 0030704C 7C 03 00 D0 */ neg r0, r3 +/* 8030B3F0 00307050 7C 00 1B 78 */ or r0, r0, r3 +/* 8030B3F4 00307054 54 1F 0F FE */ srwi r31, r0, 0x1f +lbl_8030B3F8: +/* 8030B3F8 00307058 2C 1F 00 01 */ cmpwi r31, 1 +/* 8030B3FC 0030705C 40 82 00 60 */ bne lbl_8030B45C +/* 8030B400 00307060 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 8030B404 00307064 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 8030B408 00307068 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 8030B40C 0030706C 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8030B410 00307070 28 00 00 02 */ cmplwi r0, 2 +/* 8030B414 00307074 40 82 00 2C */ bne lbl_8030B440 +/* 8030B418 00307078 57 C0 07 39 */ rlwinm. r0, r30, 0, 0x1c, 0x1c +/* 8030B41C 0030707C 40 82 00 24 */ bne lbl_8030B440 +/* 8030B420 00307080 7F A4 EB 78 */ mr r4, r29 +/* 8030B424 00307084 38 7C 02 0E */ addi r3, r28, 0x20e +/* 8030B428 00307088 38 A0 00 00 */ li r5, 0 +/* 8030B42C 0030708C 48 00 B5 45 */ bl func_80316970 +/* 8030B430 00307090 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B434 00307094 40 82 00 28 */ bne lbl_8030B45C +/* 8030B438 00307098 3B E0 00 00 */ li r31, 0 +/* 8030B43C 0030709C 48 00 00 20 */ b lbl_8030B45C +lbl_8030B440: +/* 8030B440 003070A0 7F A4 EB 78 */ mr r4, r29 +/* 8030B444 003070A4 38 7C 02 0E */ addi r3, r28, 0x20e +/* 8030B448 003070A8 38 A0 00 01 */ li r5, 1 +/* 8030B44C 003070AC 48 00 B5 25 */ bl func_80316970 +/* 8030B450 003070B0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B454 003070B4 40 82 00 08 */ bne lbl_8030B45C +/* 8030B458 003070B8 3B E0 00 00 */ li r31, 0 +lbl_8030B45C: +/* 8030B45C 003070BC 7F E3 FB 78 */ mr r3, r31 +/* 8030B460 003070C0 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 8030B464 003070C4 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 8030B468 003070C8 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 8030B46C 003070CC 83 81 00 20 */ lwz r28, 0x20(r1) +/* 8030B470 003070D0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030B474 003070D4 7C 08 03 A6 */ mtlr r0 +/* 8030B478 003070D8 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030B47C 003070DC 4E 80 00 20 */ blr + +.global func_8030B480 +func_8030B480: +/* 8030B480 003070E0 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8030B484 003070E4 7C 08 02 A6 */ mflr r0 +/* 8030B488 003070E8 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030B48C 003070EC 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030B490 003070F0 4B EB BC 95 */ bl _savegpr_26 +/* 8030B494 003070F4 8B 84 00 57 */ lbz r28, 0x57(r4) +/* 8030B498 003070F8 7C 7E 1B 78 */ mr r30, r3 +/* 8030B49C 003070FC 7C 9F 23 78 */ mr r31, r4 +/* 8030B4A0 00307100 7C BA 2B 78 */ mr r26, r5 +/* 8030B4A4 00307104 57 9D 07 3E */ clrlwi r29, r28, 0x1c +/* 8030B4A8 00307108 7D 1B 43 78 */ mr r27, r8 +/* 8030B4AC 0030710C 2C 1D 00 0F */ cmpwi r29, 0xf +/* 8030B4B0 00307110 40 82 00 0C */ bne lbl_8030B4BC +/* 8030B4B4 00307114 38 60 00 01 */ li r3, 1 +/* 8030B4B8 00307118 48 00 00 80 */ b lbl_8030B538 +lbl_8030B4BC: +/* 8030B4BC 0030711C 7F 83 E3 78 */ mr r3, r28 +/* 8030B4C0 00307120 7C C4 33 78 */ mr r4, r6 +/* 8030B4C4 00307124 7C E5 3B 78 */ mr r5, r7 +/* 8030B4C8 00307128 4B FF FE 01 */ bl func_8030B2C8 +/* 8030B4CC 0030712C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B4D0 00307130 40 82 00 0C */ bne lbl_8030B4DC +/* 8030B4D4 00307134 38 60 00 01 */ li r3, 1 +/* 8030B4D8 00307138 48 00 00 60 */ b lbl_8030B538 +lbl_8030B4DC: +/* 8030B4DC 0030713C 57 80 07 39 */ rlwinm. r0, r28, 0, 0x1c, 0x1c +/* 8030B4E0 00307140 41 82 00 10 */ beq lbl_8030B4F0 +/* 8030B4E4 00307144 38 00 00 00 */ li r0, 0 +/* 8030B4E8 00307148 98 1E 02 0A */ stb r0, 0x20a(r30) +/* 8030B4EC 0030714C B0 1E 00 00 */ sth r0, 0(r30) +lbl_8030B4F0: +/* 8030B4F0 00307150 88 BF 00 57 */ lbz r5, 0x57(r31) +/* 8030B4F4 00307154 38 7E 02 0E */ addi r3, r30, 0x20e +/* 8030B4F8 00307158 38 9F 00 4C */ addi r4, r31, 0x4c +/* 8030B4FC 0030715C 48 00 BE D5 */ bl func_803173D0 +/* 8030B500 00307160 88 1E 02 0E */ lbz r0, 0x20e(r30) +/* 8030B504 00307164 2C 00 00 05 */ cmpwi r0, 5 +/* 8030B508 00307168 40 82 00 0C */ bne lbl_8030B514 +/* 8030B50C 0030716C 38 00 FF E5 */ li r0, -27 +/* 8030B510 00307170 98 1E 02 0E */ stb r0, 0x20e(r30) +lbl_8030B514: +/* 8030B514 00307174 7F C3 F3 78 */ mr r3, r30 +/* 8030B518 00307178 7F 44 D3 78 */ mr r4, r26 +/* 8030B51C 0030717C 7F 85 E3 78 */ mr r5, r28 +/* 8030B520 00307180 4B FF FE 21 */ bl func_8030B340 +/* 8030B524 00307184 2C 03 00 01 */ cmpwi r3, 1 +/* 8030B528 00307188 40 82 00 10 */ bne lbl_8030B538 +/* 8030B52C 0030718C 80 9B 00 00 */ lwz r4, 0(r27) +/* 8030B530 00307190 38 04 00 01 */ addi r0, r4, 1 +/* 8030B534 00307194 90 1B 00 00 */ stw r0, 0(r27) +lbl_8030B538: +/* 8030B538 00307198 2C 03 00 01 */ cmpwi r3, 1 +/* 8030B53C 0030719C 40 82 00 44 */ bne lbl_8030B580 +/* 8030B540 003071A0 2C 1D 00 0F */ cmpwi r29, 0xf +/* 8030B544 003071A4 40 82 00 28 */ bne lbl_8030B56C +/* 8030B548 003071A8 7F C3 F3 78 */ mr r3, r30 +/* 8030B54C 003071AC 38 9F 00 4C */ addi r4, r31, 0x4c +/* 8030B550 003071B0 48 00 07 BD */ bl func_8030BD0C +/* 8030B554 003071B4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B558 003071B8 41 82 00 20 */ beq lbl_8030B578 +/* 8030B55C 003071BC 38 00 00 00 */ li r0, 0 +/* 8030B560 003071C0 98 1E 02 0A */ stb r0, 0x20a(r30) +/* 8030B564 003071C4 B0 1E 00 00 */ sth r0, 0(r30) +/* 8030B568 003071C8 48 00 00 10 */ b lbl_8030B578 +lbl_8030B56C: +/* 8030B56C 003071CC 38 00 00 00 */ li r0, 0 +/* 8030B570 003071D0 98 1E 02 0A */ stb r0, 0x20a(r30) +/* 8030B574 003071D4 B0 1E 00 00 */ sth r0, 0(r30) +lbl_8030B578: +/* 8030B578 003071D8 38 60 FF FF */ li r3, -1 +/* 8030B57C 003071DC 48 00 01 8C */ b lbl_8030B708 +lbl_8030B580: +/* 8030B580 003071E0 88 1E 02 0A */ lbz r0, 0x20a(r30) +/* 8030B584 003071E4 2C 00 00 00 */ cmpwi r0, 0 +/* 8030B588 003071E8 40 82 00 C4 */ bne lbl_8030B64C +/* 8030B58C 003071EC 88 BF 00 58 */ lbz r5, 0x58(r31) +/* 8030B590 003071F0 54 A0 06 F9 */ rlwinm. r0, r5, 0, 0x1b, 0x1c +/* 8030B594 003071F4 41 82 00 B8 */ beq lbl_8030B64C +/* 8030B598 003071F8 38 7E 02 0E */ addi r3, r30, 0x20e +/* 8030B59C 003071FC 38 81 00 18 */ addi r4, r1, 0x18 +/* 8030B5A0 00307200 48 00 C0 8D */ bl func_8031762C +/* 8030B5A4 00307204 7F C3 F3 78 */ mr r3, r30 +/* 8030B5A8 00307208 38 81 00 18 */ addi r4, r1, 0x18 +/* 8030B5AC 0030720C 48 00 C4 61 */ bl func_80317A0C +/* 8030B5B0 00307210 3C A0 4E C5 */ lis r5, 0x4EC4EC4F@ha +/* 8030B5B4 00307214 38 9E 02 0E */ addi r4, r30, 0x20e +/* 8030B5B8 00307218 38 05 EC 4F */ addi r0, r5, 0x4EC4EC4F@l +/* 8030B5BC 0030721C 7C 00 18 96 */ mulhw r0, r0, r3 +/* 8030B5C0 00307220 38 A0 00 00 */ li r5, 0 +/* 8030B5C4 00307224 7C 07 16 70 */ srawi r7, r0, 2 +/* 8030B5C8 00307228 7C 00 16 70 */ srawi r0, r0, 2 +/* 8030B5CC 0030722C 54 06 0F FE */ srwi r6, r0, 0x1f +/* 8030B5D0 00307230 54 E8 0F FE */ srwi r8, r7, 0x1f +/* 8030B5D4 00307234 7C 00 32 14 */ add r0, r0, r6 +/* 8030B5D8 00307238 1C 00 00 0D */ mulli r0, r0, 0xd +/* 8030B5DC 0030723C 7C E7 42 14 */ add r7, r7, r8 +/* 8030B5E0 00307240 7C C0 18 50 */ subf r6, r0, r3 +/* 8030B5E4 00307244 38 61 00 08 */ addi r3, r1, 8 +/* 8030B5E8 00307248 7C 06 00 D0 */ neg r0, r6 +/* 8030B5EC 0030724C 7C 00 33 78 */ or r0, r0, r6 +/* 8030B5F0 00307250 54 00 0F FE */ srwi r0, r0, 0x1f +/* 8030B5F4 00307254 7C 07 02 14 */ add r0, r7, r0 +/* 8030B5F8 00307258 98 1E 02 0A */ stb r0, 0x20a(r30) +/* 8030B5FC 0030725C 48 00 BC 4D */ bl func_80317248 +/* 8030B600 00307260 38 00 00 0B */ li r0, 0xb +/* 8030B604 00307264 38 C1 00 08 */ addi r6, r1, 8 +/* 8030B608 00307268 38 80 00 00 */ li r4, 0 +/* 8030B60C 0030726C 38 E0 00 00 */ li r7, 0 +/* 8030B610 00307270 7C 09 03 A6 */ mtctr r0 +lbl_8030B614: +/* 8030B614 00307274 54 E3 04 3E */ clrlwi r3, r7, 0x10 +/* 8030B618 00307278 54 80 07 FE */ clrlwi r0, r4, 0x1f +/* 8030B61C 0030727C 7C A6 18 AE */ lbzx r5, r6, r3 +/* 8030B620 00307280 7C 00 00 D0 */ neg r0, r0 +/* 8030B624 00307284 54 84 FE 7E */ rlwinm r4, r4, 0x1f, 0x19, 0x1f +/* 8030B628 00307288 38 E7 00 01 */ addi r7, r7, 1 +/* 8030B62C 0030728C 54 03 06 30 */ rlwinm r3, r0, 0, 0x18, 0x18 +/* 8030B630 00307290 7C 05 22 14 */ add r0, r5, r4 +/* 8030B634 00307294 7C 03 02 14 */ add r0, r3, r0 +/* 8030B638 00307298 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 8030B63C 0030729C 42 00 FF D8 */ bdnz lbl_8030B614 +/* 8030B640 003072A0 38 00 00 01 */ li r0, 1 +/* 8030B644 003072A4 98 9E 02 0C */ stb r4, 0x20c(r30) +/* 8030B648 003072A8 98 1E 02 0B */ stb r0, 0x20b(r30) +lbl_8030B64C: +/* 8030B64C 003072AC 88 1F 00 57 */ lbz r0, 0x57(r31) +/* 8030B650 003072B0 38 DE 02 1E */ addi r6, r30, 0x21e +/* 8030B654 003072B4 38 BE 02 20 */ addi r5, r30, 0x220 +/* 8030B658 003072B8 38 9E 02 22 */ addi r4, r30, 0x222 +/* 8030B65C 003072BC 98 1E 02 1C */ stb r0, 0x21c(r30) +/* 8030B660 003072C0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 8030B664 003072C4 38 7E 02 24 */ addi r3, r30, 0x224 +/* 8030B668 003072C8 88 FF 00 58 */ lbz r7, 0x58(r31) +/* 8030B66C 003072CC 38 1E 02 26 */ addi r0, r30, 0x226 +/* 8030B670 003072D0 98 FE 02 1B */ stb r7, 0x21b(r30) +/* 8030B674 003072D4 88 FF 00 59 */ lbz r7, 0x59(r31) +/* 8030B678 003072D8 98 FE 02 1D */ stb r7, 0x21d(r30) +/* 8030B67C 003072DC A0 FF 00 5A */ lhz r7, 0x5a(r31) +/* 8030B680 003072E0 7C E0 37 2C */ sthbrx r7, 0, r6 +/* 8030B684 003072E4 A0 DF 00 5C */ lhz r6, 0x5c(r31) +/* 8030B688 003072E8 7C C0 2F 2C */ sthbrx r6, 0, r5 +/* 8030B68C 003072EC A0 BF 00 5E */ lhz r5, 0x5e(r31) +/* 8030B690 003072F0 7C A0 27 2C */ sthbrx r5, 0, r4 +/* 8030B694 003072F4 A0 9F 00 62 */ lhz r4, 0x62(r31) +/* 8030B698 003072F8 7C 80 1F 2C */ sthbrx r4, 0, r3 +/* 8030B69C 003072FC A0 7F 00 64 */ lhz r3, 0x64(r31) +/* 8030B6A0 00307300 7C 60 07 2C */ sthbrx r3, 0, r0 +/* 8030B6A4 00307304 80 9F 00 68 */ lwz r4, 0x68(r31) +/* 8030B6A8 00307308 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf +/* 8030B6AC 0030730C 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17 +/* 8030B6B0 00307310 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7 +/* 8030B6B4 00307314 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f +/* 8030B6B8 00307318 7C 60 03 78 */ or r0, r3, r0 +/* 8030B6BC 0030731C 90 1E 02 28 */ stw r0, 0x228(r30) +/* 8030B6C0 00307320 A0 BF 00 60 */ lhz r5, 0x60(r31) +/* 8030B6C4 00307324 A0 9F 00 66 */ lhz r4, 0x66(r31) +/* 8030B6C8 00307328 54 A0 44 2E */ rlwinm r0, r5, 8, 0x10, 0x17 +/* 8030B6CC 0030732C 54 83 44 2E */ rlwinm r3, r4, 8, 0x10, 0x17 +/* 8030B6D0 00307330 50 A0 C6 3E */ rlwimi r0, r5, 0x18, 0x18, 0x1f +/* 8030B6D4 00307334 50 83 C6 3E */ rlwimi r3, r4, 0x18, 0x18, 0x1f +/* 8030B6D8 00307338 50 03 80 1E */ rlwimi r3, r0, 0x10, 0, 0xf +/* 8030B6DC 0030733C 90 7E 02 34 */ stw r3, 0x234(r30) +/* 8030B6E0 00307340 80 1F 00 44 */ lwz r0, 0x44(r31) +/* 8030B6E4 00307344 90 1E 02 38 */ stw r0, 0x238(r30) +/* 8030B6E8 00307348 A0 1F 00 48 */ lhz r0, 0x48(r31) +/* 8030B6EC 0030734C B0 1E 02 3C */ sth r0, 0x23c(r30) +/* 8030B6F0 00307350 41 82 00 14 */ beq lbl_8030B704 +/* 8030B6F4 00307354 2C 03 00 00 */ cmpwi r3, 0 +/* 8030B6F8 00307358 40 82 00 0C */ bne lbl_8030B704 +/* 8030B6FC 0030735C 38 00 00 01 */ li r0, 1 +/* 8030B700 00307360 90 1E 02 34 */ stw r0, 0x234(r30) +lbl_8030B704: +/* 8030B704 00307364 38 60 00 00 */ li r3, 0 +lbl_8030B708: +/* 8030B708 00307368 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030B70C 0030736C 4B EB BA 65 */ bl _restgpr_26 +/* 8030B710 00307370 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8030B714 00307374 7C 08 03 A6 */ mtlr r0 +/* 8030B718 00307378 38 21 00 40 */ addi r1, r1, 0x40 +/* 8030B71C 0030737C 4E 80 00 20 */ blr + +.global func_8030B720 +func_8030B720: +/* 8030B720 00307380 94 21 FF 40 */ stwu r1, -0xc0(r1) +/* 8030B724 00307384 7C 08 02 A6 */ mflr r0 +/* 8030B728 00307388 90 01 00 C4 */ stw r0, 0xc4(r1) +/* 8030B72C 0030738C 39 61 00 C0 */ addi r11, r1, 0xc0 +/* 8030B730 00307390 4B EB B9 F1 */ bl _savegpr_25 +/* 8030B734 00307394 83 A3 00 34 */ lwz r29, 0x34(r3) +/* 8030B738 00307398 7C 9A 23 78 */ mr r26, r4 +/* 8030B73C 0030739C 7C DC 33 78 */ mr r28, r6 +/* 8030B740 003073A0 7C 7E 1B 78 */ mr r30, r3 +/* 8030B744 003073A4 80 1D 18 60 */ lwz r0, 0x1860(r29) +/* 8030B748 003073A8 7C BB 2B 78 */ mr r27, r5 +/* 8030B74C 003073AC 7F 83 E3 78 */ mr r3, r28 +/* 8030B750 003073B0 38 80 00 00 */ li r4, 0 +/* 8030B754 003073B4 54 05 10 3A */ slwi r5, r0, 2 +/* 8030B758 003073B8 4B FF 98 7D */ bl VFipf_memset +/* 8030B75C 003073BC 80 BE 00 00 */ lwz r5, 0(r30) +/* 8030B760 003073C0 38 61 00 28 */ addi r3, r1, 0x28 +/* 8030B764 003073C4 80 1E 00 04 */ lwz r0, 4(r30) +/* 8030B768 003073C8 38 80 00 00 */ li r4, 0 +/* 8030B76C 003073CC 90 A1 00 30 */ stw r5, 0x30(r1) +/* 8030B770 003073D0 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030B774 003073D4 80 BE 00 08 */ lwz r5, 8(r30) +/* 8030B778 003073D8 80 1E 00 0C */ lwz r0, 0xc(r30) +/* 8030B77C 003073DC 90 A1 00 38 */ stw r5, 0x38(r1) +/* 8030B780 003073E0 90 01 00 3C */ stw r0, 0x3c(r1) +/* 8030B784 003073E4 80 BE 00 10 */ lwz r5, 0x10(r30) +/* 8030B788 003073E8 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 8030B78C 003073EC 90 A1 00 40 */ stw r5, 0x40(r1) +/* 8030B790 003073F0 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030B794 003073F4 80 BE 00 18 */ lwz r5, 0x18(r30) +/* 8030B798 003073F8 80 1E 00 1C */ lwz r0, 0x1c(r30) +/* 8030B79C 003073FC 90 A1 00 48 */ stw r5, 0x48(r1) +/* 8030B7A0 00307400 90 01 00 4C */ stw r0, 0x4c(r1) +/* 8030B7A4 00307404 80 BE 00 20 */ lwz r5, 0x20(r30) +/* 8030B7A8 00307408 80 1E 00 24 */ lwz r0, 0x24(r30) +/* 8030B7AC 0030740C 90 A1 00 50 */ stw r5, 0x50(r1) +/* 8030B7B0 00307410 90 01 00 54 */ stw r0, 0x54(r1) +/* 8030B7B4 00307414 80 BE 00 28 */ lwz r5, 0x28(r30) +/* 8030B7B8 00307418 80 1E 00 2C */ lwz r0, 0x2c(r30) +/* 8030B7BC 0030741C 90 A1 00 58 */ stw r5, 0x58(r1) +/* 8030B7C0 00307420 90 01 00 5C */ stw r0, 0x5c(r1) +/* 8030B7C4 00307424 80 BE 00 30 */ lwz r5, 0x30(r30) +/* 8030B7C8 00307428 80 1E 00 34 */ lwz r0, 0x34(r30) +/* 8030B7CC 0030742C 90 A1 00 60 */ stw r5, 0x60(r1) +/* 8030B7D0 00307430 90 01 00 64 */ stw r0, 0x64(r1) +/* 8030B7D4 00307434 48 00 27 25 */ bl func_8030DEF8 +/* 8030B7D8 00307438 7C 7E 1B 78 */ mr r30, r3 +/* 8030B7DC 0030743C 3B E1 00 18 */ addi r31, r1, 0x18 +/* 8030B7E0 00307440 3B 20 00 01 */ li r25, 1 +/* 8030B7E4 00307444 48 00 02 80 */ b lbl_8030BA64 +lbl_8030B7E8: +/* 8030B7E8 00307448 2C 1E 00 00 */ cmpwi r30, 0 +/* 8030B7EC 0030744C 41 82 00 0C */ beq lbl_8030B7F8 +/* 8030B7F0 00307450 7F C3 F3 78 */ mr r3, r30 +/* 8030B7F4 00307454 48 00 02 84 */ b lbl_8030BA78 +lbl_8030B7F8: +/* 8030B7F8 00307458 88 01 00 74 */ lbz r0, 0x74(r1) +/* 8030B7FC 0030745C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030B800 00307460 41 82 02 74 */ beq lbl_8030BA74 +/* 8030B804 00307464 28 00 00 E5 */ cmplwi r0, 0xe5 +/* 8030B808 00307468 41 82 02 4C */ beq lbl_8030BA54 +/* 8030B80C 0030746C 88 61 00 7F */ lbz r3, 0x7f(r1) +/* 8030B810 00307470 54 60 07 3E */ clrlwi r0, r3, 0x1c +/* 8030B814 00307474 2C 00 00 0F */ cmpwi r0, 0xf +/* 8030B818 00307478 41 82 02 3C */ beq lbl_8030BA54 +/* 8030B81C 0030747C 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c +/* 8030B820 00307480 40 82 02 34 */ bne lbl_8030BA54 +/* 8030B824 00307484 38 61 00 18 */ addi r3, r1, 0x18 +/* 8030B828 00307488 38 81 00 74 */ addi r4, r1, 0x74 +/* 8030B82C 0030748C 38 A0 00 00 */ li r5, 0 +/* 8030B830 00307490 48 00 BB A1 */ bl func_803173D0 +/* 8030B834 00307494 38 61 00 19 */ addi r3, r1, 0x19 +/* 8030B838 00307498 38 80 00 01 */ li r4, 1 +/* 8030B83C 0030749C 48 00 00 0C */ b lbl_8030B848 +lbl_8030B840: +/* 8030B840 003074A0 38 63 00 01 */ addi r3, r3, 1 +/* 8030B844 003074A4 38 84 00 01 */ addi r4, r4, 1 +lbl_8030B848: +/* 8030B848 003074A8 88 03 00 00 */ lbz r0, 0(r3) +/* 8030B84C 003074AC 7C 00 07 74 */ extsb r0, r0 +/* 8030B850 003074B0 2C 00 00 7E */ cmpwi r0, 0x7e +/* 8030B854 003074B4 41 82 00 14 */ beq lbl_8030B868 +/* 8030B858 003074B8 2C 00 00 00 */ cmpwi r0, 0 +/* 8030B85C 003074BC 41 82 00 0C */ beq lbl_8030B868 +/* 8030B860 003074C0 28 04 00 07 */ cmplwi r4, 7 +/* 8030B864 003074C4 41 80 FF DC */ blt lbl_8030B840 +lbl_8030B868: +/* 8030B868 003074C8 28 04 00 07 */ cmplwi r4, 7 +/* 8030B86C 003074CC 40 80 01 E8 */ bge lbl_8030BA54 +/* 8030B870 003074D0 7C 1F 20 AE */ lbzx r0, r31, r4 +/* 8030B874 003074D4 7C 00 07 74 */ extsb r0, r0 +/* 8030B878 003074D8 2C 00 00 7E */ cmpwi r0, 0x7e +/* 8030B87C 003074DC 40 82 01 D8 */ bne lbl_8030BA54 +/* 8030B880 003074E0 38 E4 00 01 */ addi r7, r4, 1 +/* 8030B884 003074E4 7C 7F 3A 14 */ add r3, r31, r7 +/* 8030B888 003074E8 48 00 00 0C */ b lbl_8030B894 +lbl_8030B88C: +/* 8030B88C 003074EC 38 63 00 01 */ addi r3, r3, 1 +/* 8030B890 003074F0 38 E7 00 01 */ addi r7, r7, 1 +lbl_8030B894: +/* 8030B894 003074F4 88 03 00 00 */ lbz r0, 0(r3) +/* 8030B898 003074F8 7C 00 07 74 */ extsb r0, r0 +/* 8030B89C 003074FC 2C 00 00 30 */ cmpwi r0, 0x30 +/* 8030B8A0 00307500 41 80 00 0C */ blt lbl_8030B8AC +/* 8030B8A4 00307504 2C 00 00 39 */ cmpwi r0, 0x39 +/* 8030B8A8 00307508 40 81 FF E4 */ ble lbl_8030B88C +lbl_8030B8AC: +/* 8030B8AC 0030750C 7C 1F 38 AE */ lbzx r0, r31, r7 +/* 8030B8B0 00307510 7C 00 07 74 */ extsb r0, r0 +/* 8030B8B4 00307514 2C 00 00 2E */ cmpwi r0, 0x2e +/* 8030B8B8 00307518 41 82 00 0C */ beq lbl_8030B8C4 +/* 8030B8BC 0030751C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030B8C0 00307520 40 82 01 94 */ bne lbl_8030BA54 +lbl_8030B8C4: +/* 8030B8C4 00307524 7C 04 38 50 */ subf r0, r4, r7 +/* 8030B8C8 00307528 3B C0 00 00 */ li r30, 0 +/* 8030B8CC 0030752C 35 00 FF FF */ addic. r8, r0, -1 +/* 8030B8D0 00307530 7D 03 43 78 */ mr r3, r8 +/* 8030B8D4 00307534 41 82 01 20 */ beq lbl_8030B9F4 +/* 8030B8D8 00307538 55 00 E8 FF */ rlwinm. r0, r8, 0x1d, 3, 0x1f +/* 8030B8DC 0030753C 7C 09 03 A6 */ mtctr r0 +/* 8030B8E0 00307540 41 82 00 F0 */ beq lbl_8030B9D0 +lbl_8030B8E4: +/* 8030B8E4 00307544 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B8E8 00307548 39 08 FF FF */ addi r8, r8, -1 +/* 8030B8EC 0030754C 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B8F0 00307550 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B8F4 00307554 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B8F8 00307558 7C A0 07 74 */ extsb r0, r5 +/* 8030B8FC 0030755C 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B900 00307560 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B904 00307564 39 08 FF FF */ addi r8, r8, -1 +/* 8030B908 00307568 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B90C 0030756C 7C A0 07 74 */ extsb r0, r5 +/* 8030B910 00307570 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B914 00307574 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B918 00307578 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B91C 0030757C 39 08 FF FF */ addi r8, r8, -1 +/* 8030B920 00307580 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B924 00307584 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B928 00307588 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B92C 0030758C 7C A0 07 74 */ extsb r0, r5 +/* 8030B930 00307590 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B934 00307594 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B938 00307598 39 08 FF FF */ addi r8, r8, -1 +/* 8030B93C 0030759C 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B940 003075A0 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B944 003075A4 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B948 003075A8 7C A0 07 74 */ extsb r0, r5 +/* 8030B94C 003075AC 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B950 003075B0 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B954 003075B4 39 08 FF FF */ addi r8, r8, -1 +/* 8030B958 003075B8 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B95C 003075BC 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B960 003075C0 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B964 003075C4 7C A0 07 74 */ extsb r0, r5 +/* 8030B968 003075C8 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B96C 003075CC 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B970 003075D0 39 08 FF FF */ addi r8, r8, -1 +/* 8030B974 003075D4 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B978 003075D8 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B97C 003075DC 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B980 003075E0 7C A0 07 74 */ extsb r0, r5 +/* 8030B984 003075E4 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B988 003075E8 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B98C 003075EC 39 08 FF FF */ addi r8, r8, -1 +/* 8030B990 003075F0 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B994 003075F4 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B998 003075F8 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B99C 003075FC 7C A0 07 74 */ extsb r0, r5 +/* 8030B9A0 00307600 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B9A4 00307604 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B9A8 00307608 39 08 FF FF */ addi r8, r8, -1 +/* 8030B9AC 0030760C 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B9B0 00307610 7C A0 07 74 */ extsb r0, r5 +/* 8030B9B4 00307614 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B9B8 00307618 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B9BC 0030761C 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B9C0 00307620 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B9C4 00307624 42 00 FF 20 */ bdnz lbl_8030B8E4 +/* 8030B9C8 00307628 70 63 00 07 */ andi. r3, r3, 7 +/* 8030B9CC 0030762C 41 82 00 28 */ beq lbl_8030B9F4 +lbl_8030B9D0: +/* 8030B9D0 00307630 7C 69 03 A6 */ mtctr r3 +lbl_8030B9D4: +/* 8030B9D4 00307634 7C C8 38 50 */ subf r6, r8, r7 +/* 8030B9D8 00307638 39 08 FF FF */ addi r8, r8, -1 +/* 8030B9DC 0030763C 7C BF 30 AE */ lbzx r5, r31, r6 +/* 8030B9E0 00307640 1F DE 00 0A */ mulli r30, r30, 0xa +/* 8030B9E4 00307644 7C A0 07 74 */ extsb r0, r5 +/* 8030B9E8 00307648 7C 80 F2 14 */ add r4, r0, r30 +/* 8030B9EC 0030764C 3B C4 FF D0 */ addi r30, r4, -48 +/* 8030B9F0 00307650 42 00 FF E4 */ bdnz lbl_8030B9D4 +lbl_8030B9F4: +/* 8030B9F4 00307654 7F 64 DB 78 */ mr r4, r27 +/* 8030B9F8 00307658 38 61 00 08 */ addi r3, r1, 8 +/* 8030B9FC 0030765C 4B FF 96 F1 */ bl VFipf_strcpy +/* 8030BA00 00307660 7F C4 F3 78 */ mr r4, r30 +/* 8030BA04 00307664 38 61 00 08 */ addi r3, r1, 8 +/* 8030BA08 00307668 48 00 C7 E5 */ bl func_803181EC +/* 8030BA0C 0030766C 38 61 00 18 */ addi r3, r1, 0x18 +/* 8030BA10 00307670 38 81 00 08 */ addi r4, r1, 8 +/* 8030BA14 00307674 48 00 B0 B9 */ bl func_80316ACC +/* 8030BA18 00307678 2C 03 00 00 */ cmpwi r3, 0 +/* 8030BA1C 0030767C 40 82 00 38 */ bne lbl_8030BA54 +/* 8030BA20 00307680 7C 1E D0 40 */ cmplw r30, r26 +/* 8030BA24 00307684 41 80 00 30 */ blt lbl_8030BA54 +/* 8030BA28 00307688 80 1D 18 60 */ lwz r0, 0x1860(r29) +/* 8030BA2C 0030768C 54 00 28 34 */ slwi r0, r0, 5 +/* 8030BA30 00307690 7C 1A 02 14 */ add r0, r26, r0 +/* 8030BA34 00307694 7C 1E 00 40 */ cmplw r30, r0 +/* 8030BA38 00307698 40 80 00 1C */ bge lbl_8030BA54 +/* 8030BA3C 0030769C 7F DA F0 50 */ subf r30, r26, r30 +/* 8030BA40 003076A0 57 C4 E8 FA */ rlwinm r4, r30, 0x1d, 3, 0x1d +/* 8030BA44 003076A4 7C 7C 20 2E */ lwzx r3, r28, r4 +/* 8030BA48 003076A8 7F 20 F0 30 */ slw r0, r25, r30 +/* 8030BA4C 003076AC 7C 60 03 78 */ or r0, r3, r0 +/* 8030BA50 003076B0 7C 1C 21 2E */ stwx r0, r28, r4 +lbl_8030BA54: +/* 8030BA54 003076B4 38 61 00 28 */ addi r3, r1, 0x28 +/* 8030BA58 003076B8 38 80 00 00 */ li r4, 0 +/* 8030BA5C 003076BC 48 00 26 AD */ bl func_8030E108 +/* 8030BA60 003076C0 7C 7E 1B 78 */ mr r30, r3 +lbl_8030BA64: +/* 8030BA64 003076C4 38 61 00 28 */ addi r3, r1, 0x28 +/* 8030BA68 003076C8 48 00 25 95 */ bl func_8030DFFC +/* 8030BA6C 003076CC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030BA70 003076D0 41 82 FD 78 */ beq lbl_8030B7E8 +lbl_8030BA74: +/* 8030BA74 003076D4 38 60 00 00 */ li r3, 0 +lbl_8030BA78: +/* 8030BA78 003076D8 39 61 00 C0 */ addi r11, r1, 0xc0 +/* 8030BA7C 003076DC 4B EB B6 F1 */ bl _restgpr_25 +/* 8030BA80 003076E0 80 01 00 C4 */ lwz r0, 0xc4(r1) +/* 8030BA84 003076E4 7C 08 03 A6 */ mtlr r0 +/* 8030BA88 003076E8 38 21 00 C0 */ addi r1, r1, 0xc0 +/* 8030BA8C 003076EC 4E 80 00 20 */ blr + +.global func_8030BA90 +func_8030BA90: +/* 8030BA90 003076F0 94 21 FF 90 */ stwu r1, -0x70(r1) +/* 8030BA94 003076F4 7C 08 02 A6 */ mflr r0 +/* 8030BA98 003076F8 90 01 00 74 */ stw r0, 0x74(r1) +/* 8030BA9C 003076FC 39 61 00 70 */ addi r11, r1, 0x70 +/* 8030BAA0 00307700 4B EB B6 85 */ bl _savegpr_26 +/* 8030BAA4 00307704 83 E3 02 2C */ lwz r31, 0x22c(r3) +/* 8030BAA8 00307708 38 00 00 01 */ li r0, 1 +/* 8030BAAC 0030770C 7C 66 1B 78 */ mr r6, r3 +/* 8030BAB0 00307710 7C 9D 23 78 */ mr r29, r4 +/* 8030BAB4 00307714 90 05 00 00 */ stw r0, 0(r5) +/* 8030BAB8 00307718 7C BE 2B 78 */ mr r30, r5 +/* 8030BABC 0030771C 38 61 00 18 */ addi r3, r1, 0x18 +/* 8030BAC0 00307720 38 81 00 08 */ addi r4, r1, 8 +/* 8030BAC4 00307724 80 A6 02 2C */ lwz r5, 0x22c(r6) +/* 8030BAC8 00307728 38 C6 02 34 */ addi r6, r6, 0x234 +/* 8030BACC 0030772C 48 00 55 FD */ bl func_803110C8 +/* 8030BAD0 00307730 3F 60 00 0F */ lis r27, 0x000F423F@ha +/* 8030BAD4 00307734 3B 40 00 01 */ li r26, 1 +/* 8030BAD8 00307738 3B 9B 42 3F */ addi r28, r27, 0x000F423F@l +/* 8030BADC 0030773C 48 00 00 A8 */ b lbl_8030BB84 +lbl_8030BAE0: +/* 8030BAE0 00307740 80 DF 18 68 */ lwz r6, 0x1868(r31) +/* 8030BAE4 00307744 7F 44 D3 78 */ mr r4, r26 +/* 8030BAE8 00307748 7F A5 EB 78 */ mr r5, r29 +/* 8030BAEC 0030774C 38 61 00 18 */ addi r3, r1, 0x18 +/* 8030BAF0 00307750 4B FF FC 31 */ bl func_8030B720 +/* 8030BAF4 00307754 2C 03 00 00 */ cmpwi r3, 0 +/* 8030BAF8 00307758 41 82 00 08 */ beq lbl_8030BB00 +/* 8030BAFC 0030775C 48 00 00 94 */ b lbl_8030BB90 +lbl_8030BB00: +/* 8030BB00 00307760 38 A0 00 00 */ li r5, 0 +/* 8030BB04 00307764 38 80 00 00 */ li r4, 0 +/* 8030BB08 00307768 48 00 00 64 */ b lbl_8030BB6C +lbl_8030BB0C: +/* 8030BB0C 0030776C 80 7F 18 68 */ lwz r3, 0x1868(r31) +/* 8030BB10 00307770 7C 63 20 2E */ lwzx r3, r3, r4 +/* 8030BB14 00307774 3C 03 00 01 */ addis r0, r3, 1 +/* 8030BB18 00307778 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030BB1C 0030777C 41 82 00 3C */ beq lbl_8030BB58 +/* 8030BB20 00307780 54 A4 10 3A */ slwi r4, r5, 2 +/* 8030BB24 00307784 48 00 00 1C */ b lbl_8030BB40 +lbl_8030BB28: +/* 8030BB28 00307788 7C 04 18 2E */ lwzx r0, r4, r3 +/* 8030BB2C 0030778C 54 00 F8 7E */ srwi r0, r0, 1 +/* 8030BB30 00307790 7C 04 19 2E */ stwx r0, r4, r3 +/* 8030BB34 00307794 80 7E 00 00 */ lwz r3, 0(r30) +/* 8030BB38 00307798 38 03 00 01 */ addi r0, r3, 1 +/* 8030BB3C 0030779C 90 1E 00 00 */ stw r0, 0(r30) +lbl_8030BB40: +/* 8030BB40 003077A0 80 7F 18 68 */ lwz r3, 0x1868(r31) +/* 8030BB44 003077A4 7C 04 18 2E */ lwzx r0, r4, r3 +/* 8030BB48 003077A8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8030BB4C 003077AC 40 82 FF DC */ bne lbl_8030BB28 +/* 8030BB50 003077B0 3B 5B 42 40 */ addi r26, r27, 0x4240 +/* 8030BB54 003077B4 48 00 00 24 */ b lbl_8030BB78 +lbl_8030BB58: +/* 8030BB58 003077B8 80 7E 00 00 */ lwz r3, 0(r30) +/* 8030BB5C 003077BC 38 84 00 04 */ addi r4, r4, 4 +/* 8030BB60 003077C0 38 A5 00 01 */ addi r5, r5, 1 +/* 8030BB64 003077C4 38 03 00 20 */ addi r0, r3, 0x20 +/* 8030BB68 003077C8 90 1E 00 00 */ stw r0, 0(r30) +lbl_8030BB6C: +/* 8030BB6C 003077CC 80 1F 18 60 */ lwz r0, 0x1860(r31) +/* 8030BB70 003077D0 7C 05 00 40 */ cmplw r5, r0 +/* 8030BB74 003077D4 41 80 FF 98 */ blt lbl_8030BB0C +lbl_8030BB78: +/* 8030BB78 003077D8 80 1F 18 60 */ lwz r0, 0x1860(r31) +/* 8030BB7C 003077DC 54 00 28 34 */ slwi r0, r0, 5 +/* 8030BB80 003077E0 7F 5A 02 14 */ add r26, r26, r0 +lbl_8030BB84: +/* 8030BB84 003077E4 7C 1A E0 40 */ cmplw r26, r28 +/* 8030BB88 003077E8 40 81 FF 58 */ ble lbl_8030BAE0 +/* 8030BB8C 003077EC 38 60 00 00 */ li r3, 0 +lbl_8030BB90: +/* 8030BB90 003077F0 39 61 00 70 */ addi r11, r1, 0x70 +/* 8030BB94 003077F4 4B EB B5 DD */ bl _restgpr_26 +/* 8030BB98 003077F8 80 01 00 74 */ lwz r0, 0x74(r1) +/* 8030BB9C 003077FC 7C 08 03 A6 */ mtlr r0 +/* 8030BBA0 00307800 38 21 00 70 */ addi r1, r1, 0x70 +/* 8030BBA4 00307804 4E 80 00 20 */ blr + +.global func_8030BBA8 +func_8030BBA8: +/* 8030BBA8 00307808 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030BBAC 0030780C 7C 08 02 A6 */ mflr r0 +/* 8030BBB0 00307810 7C 64 1B 78 */ mr r4, r3 +/* 8030BBB4 00307814 38 A0 00 00 */ li r5, 0 +/* 8030BBB8 00307818 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030BBBC 0030781C 38 61 00 08 */ addi r3, r1, 8 +/* 8030BBC0 00307820 38 84 02 0E */ addi r4, r4, 0x20e +/* 8030BBC4 00307824 48 00 B6 85 */ bl func_80317248 +/* 8030BBC8 00307828 38 00 00 0B */ li r0, 0xb +/* 8030BBCC 0030782C 38 C1 00 08 */ addi r6, r1, 8 +/* 8030BBD0 00307830 38 60 00 00 */ li r3, 0 +/* 8030BBD4 00307834 38 E0 00 00 */ li r7, 0 +/* 8030BBD8 00307838 7C 09 03 A6 */ mtctr r0 +lbl_8030BBDC: +/* 8030BBDC 0030783C 54 E4 04 3E */ clrlwi r4, r7, 0x10 +/* 8030BBE0 00307840 54 60 07 FE */ clrlwi r0, r3, 0x1f +/* 8030BBE4 00307844 7C A6 20 AE */ lbzx r5, r6, r4 +/* 8030BBE8 00307848 54 64 FE 7E */ rlwinm r4, r3, 0x1f, 0x19, 0x1f +/* 8030BBEC 0030784C 7C 00 00 D0 */ neg r0, r0 +/* 8030BBF0 00307850 38 E7 00 01 */ addi r7, r7, 1 +/* 8030BBF4 00307854 54 03 06 30 */ rlwinm r3, r0, 0, 0x18, 0x18 +/* 8030BBF8 00307858 7C 05 22 14 */ add r0, r5, r4 +/* 8030BBFC 0030785C 7C 03 02 14 */ add r0, r3, r0 +/* 8030BC00 00307860 54 03 06 3E */ clrlwi r3, r0, 0x18 +/* 8030BC04 00307864 42 00 FF D8 */ bdnz lbl_8030BBDC +/* 8030BC08 00307868 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030BC0C 0030786C 7C 08 03 A6 */ mtlr r0 +/* 8030BC10 00307870 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030BC14 00307874 4E 80 00 20 */ blr + +.global func_8030BC18 +func_8030BC18: +/* 8030BC18 00307878 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8030BC1C 0030787C 7C 08 02 A6 */ mflr r0 +/* 8030BC20 00307880 88 A4 00 0B */ lbz r5, 0xb(r4) +/* 8030BC24 00307884 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030BC28 00307888 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8030BC2C 0030788C 7C 7F 1B 78 */ mr r31, r3 +/* 8030BC30 00307890 38 63 02 0E */ addi r3, r3, 0x20e +/* 8030BC34 00307894 48 00 B7 9D */ bl func_803173D0 +/* 8030BC38 00307898 88 1F 02 0E */ lbz r0, 0x20e(r31) +/* 8030BC3C 0030789C 2C 00 00 05 */ cmpwi r0, 5 +/* 8030BC40 003078A0 40 82 00 0C */ bne lbl_8030BC4C +/* 8030BC44 003078A4 38 00 FF E5 */ li r0, -27 +/* 8030BC48 003078A8 98 1F 02 0E */ stb r0, 0x20e(r31) +lbl_8030BC4C: +/* 8030BC4C 003078AC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030BC50 003078B0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8030BC54 003078B4 7C 08 03 A6 */ mtlr r0 +/* 8030BC58 003078B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8030BC5C 003078BC 4E 80 00 20 */ blr + +.global func_8030BC60 +func_8030BC60: +/* 8030BC60 003078C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8030BC64 003078C4 38 C3 02 1E */ addi r6, r3, 0x21e +/* 8030BC68 003078C8 89 04 00 0B */ lbz r8, 0xb(r4) +/* 8030BC6C 003078CC 38 03 02 20 */ addi r0, r3, 0x220 +/* 8030BC70 003078D0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8030BC74 003078D4 38 A3 02 22 */ addi r5, r3, 0x222 +/* 8030BC78 003078D8 89 44 00 0C */ lbz r10, 0xc(r4) +/* 8030BC7C 003078DC 39 23 02 24 */ addi r9, r3, 0x224 +/* 8030BC80 003078E0 93 C1 00 08 */ stw r30, 8(r1) +/* 8030BC84 003078E4 88 E4 00 0D */ lbz r7, 0xd(r4) +/* 8030BC88 003078E8 99 03 02 1C */ stb r8, 0x21c(r3) +/* 8030BC8C 003078EC 39 03 02 26 */ addi r8, r3, 0x226 +/* 8030BC90 003078F0 A1 64 00 0E */ lhz r11, 0xe(r4) +/* 8030BC94 003078F4 99 43 02 1B */ stb r10, 0x21b(r3) +/* 8030BC98 003078F8 A1 44 00 10 */ lhz r10, 0x10(r4) +/* 8030BC9C 003078FC 98 E3 02 1D */ stb r7, 0x21d(r3) +/* 8030BCA0 00307900 A1 84 00 12 */ lhz r12, 0x12(r4) +/* 8030BCA4 00307904 7D 60 37 2C */ sthbrx r11, 0, r6 +/* 8030BCA8 00307908 81 64 00 1C */ lwz r11, 0x1c(r4) +/* 8030BCAC 0030790C 7D 40 07 2C */ sthbrx r10, 0, r0 +/* 8030BCB0 00307910 A3 E4 00 1A */ lhz r31, 0x1a(r4) +/* 8030BCB4 00307914 55 67 42 1E */ rlwinm r7, r11, 8, 8, 0xf +/* 8030BCB8 00307918 55 66 C4 2E */ rlwinm r6, r11, 0x18, 0x10, 0x17 +/* 8030BCBC 0030791C 7D 80 2F 2C */ sthbrx r12, 0, r5 +/* 8030BCC0 00307920 A1 44 00 16 */ lhz r10, 0x16(r4) +/* 8030BCC4 00307924 57 E0 44 2E */ rlwinm r0, r31, 8, 0x10, 0x17 +/* 8030BCC8 00307928 A3 C4 00 14 */ lhz r30, 0x14(r4) +/* 8030BCCC 0030792C 51 67 C0 0E */ rlwimi r7, r11, 0x18, 0, 7 +/* 8030BCD0 00307930 A0 84 00 18 */ lhz r4, 0x18(r4) +/* 8030BCD4 00307934 51 66 46 3E */ rlwimi r6, r11, 8, 0x18, 0x1f +/* 8030BCD8 00307938 7D 40 4F 2C */ sthbrx r10, 0, r9 +/* 8030BCDC 0030793C 57 C5 44 2E */ rlwinm r5, r30, 8, 0x10, 0x17 +/* 8030BCE0 00307940 53 C5 C6 3E */ rlwimi r5, r30, 0x18, 0x18, 0x1f +/* 8030BCE4 00307944 53 E0 C6 3E */ rlwimi r0, r31, 0x18, 0x18, 0x1f +/* 8030BCE8 00307948 7C 80 47 2C */ sthbrx r4, 0, r8 +/* 8030BCEC 0030794C 7C E4 33 78 */ or r4, r7, r6 +/* 8030BCF0 00307950 50 A0 80 1E */ rlwimi r0, r5, 0x10, 0, 0xf +/* 8030BCF4 00307954 90 83 02 28 */ stw r4, 0x228(r3) +/* 8030BCF8 00307958 90 03 02 34 */ stw r0, 0x234(r3) +/* 8030BCFC 0030795C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8030BD00 00307960 83 C1 00 08 */ lwz r30, 8(r1) +/* 8030BD04 00307964 38 21 00 10 */ addi r1, r1, 0x10 +/* 8030BD08 00307968 4E 80 00 20 */ blr + +.global func_8030BD0C +func_8030BD0C: +/* 8030BD0C 0030796C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030BD10 00307970 7C 08 02 A6 */ mflr r0 +/* 8030BD14 00307974 88 E4 00 00 */ lbz r7, 0(r4) +/* 8030BD18 00307978 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030BD1C 0030797C 54 E5 06 B0 */ rlwinm r5, r7, 0, 0x1a, 0x18 +/* 8030BD20 00307980 88 C4 00 0D */ lbz r6, 0xd(r4) +/* 8030BD24 00307984 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030BD28 00307988 2C 05 00 14 */ cmpwi r5, 0x14 +/* 8030BD2C 0030798C 7C 7F 1B 78 */ mr r31, r3 +/* 8030BD30 00307990 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030BD34 00307994 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030BD38 00307998 93 81 00 10 */ stw r28, 0x10(r1) +/* 8030BD3C 0030799C 7C 9C 23 78 */ mr r28, r4 +/* 8030BD40 003079A0 40 81 00 1C */ ble lbl_8030BD5C +/* 8030BD44 003079A4 38 00 00 00 */ li r0, 0 +/* 8030BD48 003079A8 98 03 02 0B */ stb r0, 0x20b(r3) +/* 8030BD4C 003079AC 98 03 02 0C */ stb r0, 0x20c(r3) +/* 8030BD50 003079B0 98 03 02 0A */ stb r0, 0x20a(r3) +/* 8030BD54 003079B4 38 60 00 21 */ li r3, 0x21 +/* 8030BD58 003079B8 48 00 01 6C */ b lbl_8030BEC4 +lbl_8030BD5C: +/* 8030BD5C 003079BC 54 E0 06 73 */ rlwinm. r0, r7, 0, 0x19, 0x19 +/* 8030BD60 003079C0 41 82 00 18 */ beq lbl_8030BD78 +/* 8030BD64 003079C4 38 00 00 00 */ li r0, 0 +/* 8030BD68 003079C8 54 A7 06 3E */ clrlwi r7, r5, 0x18 +/* 8030BD6C 003079CC 98 03 02 0A */ stb r0, 0x20a(r3) +/* 8030BD70 003079D0 3B C0 00 01 */ li r30, 1 +/* 8030BD74 003079D4 48 00 00 50 */ b lbl_8030BDC4 +lbl_8030BD78: +/* 8030BD78 003079D8 88 03 02 0A */ lbz r0, 0x20a(r3) +/* 8030BD7C 003079DC 3B C0 00 00 */ li r30, 0 +/* 8030BD80 003079E0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030BD84 003079E4 40 82 00 0C */ bne lbl_8030BD90 +/* 8030BD88 003079E8 38 60 00 21 */ li r3, 0x21 +/* 8030BD8C 003079EC 48 00 01 38 */ b lbl_8030BEC4 +lbl_8030BD90: +/* 8030BD90 003079F0 88 A3 02 0B */ lbz r5, 0x20b(r3) +/* 8030BD94 003079F4 38 05 FF FF */ addi r0, r5, -1 +/* 8030BD98 003079F8 7C 07 00 00 */ cmpw r7, r0 +/* 8030BD9C 003079FC 40 82 00 10 */ bne lbl_8030BDAC +/* 8030BDA0 00307A00 88 03 02 0C */ lbz r0, 0x20c(r3) +/* 8030BDA4 00307A04 7C 06 00 40 */ cmplw r6, r0 +/* 8030BDA8 00307A08 41 82 00 1C */ beq lbl_8030BDC4 +lbl_8030BDAC: +/* 8030BDAC 00307A0C 38 00 00 00 */ li r0, 0 +/* 8030BDB0 00307A10 98 03 02 0B */ stb r0, 0x20b(r3) +/* 8030BDB4 00307A14 98 03 02 0C */ stb r0, 0x20c(r3) +/* 8030BDB8 00307A18 98 03 02 0A */ stb r0, 0x20a(r3) +/* 8030BDBC 00307A1C 38 60 00 21 */ li r3, 0x21 +/* 8030BDC0 00307A20 48 00 01 04 */ b lbl_8030BEC4 +lbl_8030BDC4: +/* 8030BDC4 00307A24 54 E5 06 3E */ clrlwi r5, r7, 0x18 +/* 8030BDC8 00307A28 98 E3 02 0B */ stb r7, 0x20b(r3) +/* 8030BDCC 00307A2C 38 05 FF FF */ addi r0, r5, -1 +/* 8030BDD0 00307A30 38 84 00 01 */ addi r4, r4, 1 +/* 8030BDD4 00307A34 1C 00 00 1A */ mulli r0, r0, 0x1a +/* 8030BDD8 00307A38 98 C3 02 0C */ stb r6, 0x20c(r3) +/* 8030BDDC 00307A3C 38 A0 00 0A */ li r5, 0xa +/* 8030BDE0 00307A40 7F A3 02 14 */ add r29, r3, r0 +/* 8030BDE4 00307A44 7F A3 EB 78 */ mr r3, r29 +/* 8030BDE8 00307A48 4B FF 90 C5 */ bl VFipf_memcpy +/* 8030BDEC 00307A4C 38 7D 00 0A */ addi r3, r29, 0xa +/* 8030BDF0 00307A50 38 9C 00 0E */ addi r4, r28, 0xe +/* 8030BDF4 00307A54 38 A0 00 0C */ li r5, 0xc +/* 8030BDF8 00307A58 4B FF 90 B5 */ bl VFipf_memcpy +/* 8030BDFC 00307A5C 38 7D 00 16 */ addi r3, r29, 0x16 +/* 8030BE00 00307A60 38 9C 00 1C */ addi r4, r28, 0x1c +/* 8030BE04 00307A64 38 A0 00 04 */ li r5, 4 +/* 8030BE08 00307A68 4B FF 90 A5 */ bl VFipf_memcpy +/* 8030BE0C 00307A6C 7F A3 EB 78 */ mr r3, r29 +/* 8030BE10 00307A70 38 80 00 0A */ li r4, 0xa +/* 8030BE14 00307A74 4B FF 93 AD */ bl VFiPF_LE16_TO_U16_STR +/* 8030BE18 00307A78 38 7D 00 0A */ addi r3, r29, 0xa +/* 8030BE1C 00307A7C 38 80 00 0C */ li r4, 0xc +/* 8030BE20 00307A80 4B FF 93 A1 */ bl VFiPF_LE16_TO_U16_STR +/* 8030BE24 00307A84 38 7D 00 16 */ addi r3, r29, 0x16 +/* 8030BE28 00307A88 38 80 00 04 */ li r4, 4 +/* 8030BE2C 00307A8C 4B FF 93 95 */ bl VFiPF_LE16_TO_U16_STR +/* 8030BE30 00307A90 2C 1E 00 00 */ cmpwi r30, 0 +/* 8030BE34 00307A94 41 82 00 80 */ beq lbl_8030BEB4 +/* 8030BE38 00307A98 38 9D 00 1A */ addi r4, r29, 0x1a +/* 8030BE3C 00307A9C 38 60 00 00 */ li r3, 0 +/* 8030BE40 00307AA0 38 04 00 01 */ addi r0, r4, 1 +/* 8030BE44 00307AA4 B0 7D 00 1A */ sth r3, 0x1a(r29) +/* 8030BE48 00307AA8 7C 1D 00 50 */ subf r0, r29, r0 +/* 8030BE4C 00307AAC 54 00 F8 7E */ srwi r0, r0, 1 +/* 8030BE50 00307AB0 7C 09 03 A6 */ mtctr r0 +/* 8030BE54 00307AB4 7C 1D 20 40 */ cmplw r29, r4 +/* 8030BE58 00307AB8 40 80 00 20 */ bge lbl_8030BE78 +lbl_8030BE5C: +/* 8030BE5C 00307ABC A0 1D 00 00 */ lhz r0, 0(r29) +/* 8030BE60 00307AC0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030BE64 00307AC4 40 82 00 0C */ bne lbl_8030BE70 +/* 8030BE68 00307AC8 3B BD 00 02 */ addi r29, r29, 2 +/* 8030BE6C 00307ACC 48 00 00 0C */ b lbl_8030BE78 +lbl_8030BE70: +/* 8030BE70 00307AD0 3B BD 00 02 */ addi r29, r29, 2 +/* 8030BE74 00307AD4 42 00 FF E8 */ bdnz lbl_8030BE5C +lbl_8030BE78: +/* 8030BE78 00307AD8 38 04 00 01 */ addi r0, r4, 1 +/* 8030BE7C 00307ADC 7C 1D 00 50 */ subf r0, r29, r0 +/* 8030BE80 00307AE0 54 00 F8 7E */ srwi r0, r0, 1 +/* 8030BE84 00307AE4 7C 09 03 A6 */ mtctr r0 +/* 8030BE88 00307AE8 7C 1D 20 40 */ cmplw r29, r4 +/* 8030BE8C 00307AEC 40 80 00 28 */ bge lbl_8030BEB4 +lbl_8030BE90: +/* 8030BE90 00307AF0 A0 1D 00 00 */ lhz r0, 0(r29) +/* 8030BE94 00307AF4 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030BE98 00307AF8 41 82 00 14 */ beq lbl_8030BEAC +/* 8030BE9C 00307AFC 38 00 00 00 */ li r0, 0 +/* 8030BEA0 00307B00 38 60 00 21 */ li r3, 0x21 +/* 8030BEA4 00307B04 98 1F 02 0A */ stb r0, 0x20a(r31) +/* 8030BEA8 00307B08 48 00 00 1C */ b lbl_8030BEC4 +lbl_8030BEAC: +/* 8030BEAC 00307B0C 3B BD 00 02 */ addi r29, r29, 2 +/* 8030BEB0 00307B10 42 00 FF E0 */ bdnz lbl_8030BE90 +lbl_8030BEB4: +/* 8030BEB4 00307B14 88 9F 02 0A */ lbz r4, 0x20a(r31) +/* 8030BEB8 00307B18 38 60 00 00 */ li r3, 0 +/* 8030BEBC 00307B1C 38 04 00 01 */ addi r0, r4, 1 +/* 8030BEC0 00307B20 98 1F 02 0A */ stb r0, 0x20a(r31) +lbl_8030BEC4: +/* 8030BEC4 00307B24 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030BEC8 00307B28 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030BECC 00307B2C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030BED0 00307B30 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030BED4 00307B34 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8030BED8 00307B38 7C 08 03 A6 */ mtlr r0 +/* 8030BEDC 00307B3C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030BEE0 00307B40 4E 80 00 20 */ blr + +.global func_8030BEE4 +func_8030BEE4: +/* 8030BEE4 00307B44 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8030BEE8 00307B48 7C 08 02 A6 */ mflr r0 +/* 8030BEEC 00307B4C 2C 07 00 00 */ cmpwi r7, 0 +/* 8030BEF0 00307B50 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030BEF4 00307B54 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8030BEF8 00307B58 93 C1 00 08 */ stw r30, 8(r1) +/* 8030BEFC 00307B5C 7C 7E 1B 78 */ mr r30, r3 +/* 8030BF00 00307B60 41 82 00 10 */ beq lbl_8030BF10 +/* 8030BF04 00307B64 60 A0 00 40 */ ori r0, r5, 0x40 +/* 8030BF08 00307B68 98 03 00 00 */ stb r0, 0(r3) +/* 8030BF0C 00307B6C 48 00 00 08 */ b lbl_8030BF14 +lbl_8030BF10: +/* 8030BF10 00307B70 98 A3 00 00 */ stb r5, 0(r3) +lbl_8030BF14: +/* 8030BF14 00307B74 38 05 FF FF */ addi r0, r5, -1 +/* 8030BF18 00307B78 38 A0 00 00 */ li r5, 0 +/* 8030BF1C 00307B7C 1C 00 00 1A */ mulli r0, r0, 0x1a +/* 8030BF20 00307B80 39 00 00 0F */ li r8, 0xf +/* 8030BF24 00307B84 2C 07 00 00 */ cmpwi r7, 0 +/* 8030BF28 00307B88 99 03 00 0B */ stb r8, 0xb(r3) +/* 8030BF2C 00307B8C 98 C3 00 0D */ stb r6, 0xd(r3) +/* 8030BF30 00307B90 7F E4 02 14 */ add r31, r4, r0 +/* 8030BF34 00307B94 98 A3 00 0C */ stb r5, 0xc(r3) +/* 8030BF38 00307B98 B0 A3 00 1A */ sth r5, 0x1a(r3) +/* 8030BF3C 00307B9C 41 82 00 A8 */ beq lbl_8030BFE4 +/* 8030BF40 00307BA0 38 BF 00 1A */ addi r5, r31, 0x1a +/* 8030BF44 00307BA4 7F E6 FB 78 */ mr r6, r31 +/* 8030BF48 00307BA8 38 05 00 01 */ addi r0, r5, 1 +/* 8030BF4C 00307BAC 7C 1F 00 50 */ subf r0, r31, r0 +/* 8030BF50 00307BB0 54 00 F8 7E */ srwi r0, r0, 1 +/* 8030BF54 00307BB4 7C 09 03 A6 */ mtctr r0 +/* 8030BF58 00307BB8 7C 1F 28 40 */ cmplw r31, r5 +/* 8030BF5C 00307BBC 40 80 00 20 */ bge lbl_8030BF7C +lbl_8030BF60: +/* 8030BF60 00307BC0 A0 06 00 00 */ lhz r0, 0(r6) +/* 8030BF64 00307BC4 2C 00 00 00 */ cmpwi r0, 0 +/* 8030BF68 00307BC8 40 82 00 0C */ bne lbl_8030BF74 +/* 8030BF6C 00307BCC 38 C6 00 02 */ addi r6, r6, 2 +/* 8030BF70 00307BD0 48 00 00 0C */ b lbl_8030BF7C +lbl_8030BF74: +/* 8030BF74 00307BD4 38 C6 00 02 */ addi r6, r6, 2 +/* 8030BF78 00307BD8 42 00 FF E8 */ bdnz lbl_8030BF60 +lbl_8030BF7C: +/* 8030BF7C 00307BDC 38 85 00 01 */ addi r4, r5, 1 +/* 8030BF80 00307BE0 7C 06 28 40 */ cmplw r6, r5 +/* 8030BF84 00307BE4 7C 86 20 50 */ subf r4, r6, r4 +/* 8030BF88 00307BE8 3C A0 00 01 */ lis r5, 0x0000FFFF@ha +/* 8030BF8C 00307BEC 38 A5 FF FF */ addi r5, r5, 0x0000FFFF@l +/* 8030BF90 00307BF0 54 84 F8 7E */ srwi r4, r4, 1 +/* 8030BF94 00307BF4 40 80 00 50 */ bge lbl_8030BFE4 +/* 8030BF98 00307BF8 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f +/* 8030BF9C 00307BFC 7C 09 03 A6 */ mtctr r0 +/* 8030BFA0 00307C00 41 82 00 34 */ beq lbl_8030BFD4 +lbl_8030BFA4: +/* 8030BFA4 00307C04 B0 A6 00 00 */ sth r5, 0(r6) +/* 8030BFA8 00307C08 B0 A6 00 02 */ sth r5, 2(r6) +/* 8030BFAC 00307C0C B0 A6 00 04 */ sth r5, 4(r6) +/* 8030BFB0 00307C10 B0 A6 00 06 */ sth r5, 6(r6) +/* 8030BFB4 00307C14 B0 A6 00 08 */ sth r5, 8(r6) +/* 8030BFB8 00307C18 B0 A6 00 0A */ sth r5, 0xa(r6) +/* 8030BFBC 00307C1C B0 A6 00 0C */ sth r5, 0xc(r6) +/* 8030BFC0 00307C20 B0 A6 00 0E */ sth r5, 0xe(r6) +/* 8030BFC4 00307C24 38 C6 00 10 */ addi r6, r6, 0x10 +/* 8030BFC8 00307C28 42 00 FF DC */ bdnz lbl_8030BFA4 +/* 8030BFCC 00307C2C 70 84 00 07 */ andi. r4, r4, 7 +/* 8030BFD0 00307C30 41 82 00 14 */ beq lbl_8030BFE4 +lbl_8030BFD4: +/* 8030BFD4 00307C34 7C 89 03 A6 */ mtctr r4 +lbl_8030BFD8: +/* 8030BFD8 00307C38 B0 A6 00 00 */ sth r5, 0(r6) +/* 8030BFDC 00307C3C 38 C6 00 02 */ addi r6, r6, 2 +/* 8030BFE0 00307C40 42 00 FF F8 */ bdnz lbl_8030BFD8 +lbl_8030BFE4: +/* 8030BFE4 00307C44 7F E4 FB 78 */ mr r4, r31 +/* 8030BFE8 00307C48 38 A0 00 0A */ li r5, 0xa +/* 8030BFEC 00307C4C 38 63 00 01 */ addi r3, r3, 1 +/* 8030BFF0 00307C50 4B FF 8E BD */ bl VFipf_memcpy +/* 8030BFF4 00307C54 38 7E 00 0E */ addi r3, r30, 0xe +/* 8030BFF8 00307C58 38 9F 00 0A */ addi r4, r31, 0xa +/* 8030BFFC 00307C5C 38 A0 00 0C */ li r5, 0xc +/* 8030C000 00307C60 4B FF 8E AD */ bl VFipf_memcpy +/* 8030C004 00307C64 38 7E 00 1C */ addi r3, r30, 0x1c +/* 8030C008 00307C68 38 9F 00 16 */ addi r4, r31, 0x16 +/* 8030C00C 00307C6C 38 A0 00 04 */ li r5, 4 +/* 8030C010 00307C70 4B FF 8E 9D */ bl VFipf_memcpy +/* 8030C014 00307C74 38 7E 00 01 */ addi r3, r30, 1 +/* 8030C018 00307C78 38 80 00 0A */ li r4, 0xa +/* 8030C01C 00307C7C 4B FF 91 A5 */ bl VFiPF_LE16_TO_U16_STR +/* 8030C020 00307C80 38 7E 00 0E */ addi r3, r30, 0xe +/* 8030C024 00307C84 38 80 00 0C */ li r4, 0xc +/* 8030C028 00307C88 4B FF 91 99 */ bl VFiPF_LE16_TO_U16_STR +/* 8030C02C 00307C8C 38 7E 00 1C */ addi r3, r30, 0x1c +/* 8030C030 00307C90 38 80 00 04 */ li r4, 4 +/* 8030C034 00307C94 4B FF 91 8D */ bl VFiPF_LE16_TO_U16_STR +/* 8030C038 00307C98 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030C03C 00307C9C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8030C040 00307CA0 83 C1 00 08 */ lwz r30, 8(r1) +/* 8030C044 00307CA4 7C 08 03 A6 */ mtlr r0 +/* 8030C048 00307CA8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8030C04C 00307CAC 4E 80 00 20 */ blr + +.global func_8030C050 +func_8030C050: +/* 8030C050 00307CB0 94 21 FF 50 */ stwu r1, -0xb0(r1) +/* 8030C054 00307CB4 7C 08 02 A6 */ mflr r0 +/* 8030C058 00307CB8 90 01 00 B4 */ stw r0, 0xb4(r1) +/* 8030C05C 00307CBC 39 61 00 B0 */ addi r11, r1, 0xb0 +/* 8030C060 00307CC0 4B EB B0 B9 */ bl _savegpr_23 +/* 8030C064 00307CC4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C068 00307CC8 7C 79 1B 78 */ mr r25, r3 +/* 8030C06C 00307CCC 90 A1 00 08 */ stw r5, 8(r1) +/* 8030C070 00307CD0 7C 9A 23 78 */ mr r26, r4 +/* 8030C074 00307CD4 7C DB 33 78 */ mr r27, r6 +/* 8030C078 00307CD8 7C FC 3B 78 */ mr r28, r7 +/* 8030C07C 00307CDC 7D 1D 43 78 */ mr r29, r8 +/* 8030C080 00307CE0 7D 3E 4B 78 */ mr r30, r9 +/* 8030C084 00307CE4 7D 5F 53 78 */ mr r31, r10 +/* 8030C088 00307CE8 38 60 00 00 */ li r3, 0 +/* 8030C08C 00307CEC 40 82 00 1C */ bne lbl_8030C0A8 +/* 8030C090 00307CF0 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030C094 00307CF4 38 60 00 0A */ li r3, 0xa +/* 8030C098 00307CF8 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030C09C 00307CFC 90 09 00 00 */ stw r0, 0(r9) +/* 8030C0A0 00307D00 90 0A 00 00 */ stw r0, 0(r10) +/* 8030C0A4 00307D04 48 00 02 E0 */ b lbl_8030C384 +lbl_8030C0A8: +/* 8030C0A8 00307D08 2C 04 00 00 */ cmpwi r4, 0 +/* 8030C0AC 00307D0C 40 82 00 1C */ bne lbl_8030C0C8 +/* 8030C0B0 00307D10 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030C0B4 00307D14 38 60 00 0A */ li r3, 0xa +/* 8030C0B8 00307D18 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030C0BC 00307D1C 90 09 00 00 */ stw r0, 0(r9) +/* 8030C0C0 00307D20 90 0A 00 00 */ stw r0, 0(r10) +/* 8030C0C4 00307D24 48 00 02 C0 */ b lbl_8030C384 +lbl_8030C0C8: +/* 8030C0C8 00307D28 3D 60 00 0F */ lis r11, 0x000F423F@ha +/* 8030C0CC 00307D2C 39 6B 42 3F */ addi r11, r11, 0x000F423F@l +/* 8030C0D0 00307D30 7C 05 58 40 */ cmplw r5, r11 +/* 8030C0D4 00307D34 41 80 00 14 */ blt lbl_8030C0E8 +/* 8030C0D8 00307D38 91 69 00 00 */ stw r11, 0(r9) +/* 8030C0DC 00307D3C 38 60 00 0A */ li r3, 0xa +/* 8030C0E0 00307D40 91 6A 00 00 */ stw r11, 0(r10) +/* 8030C0E4 00307D44 48 00 02 A0 */ b lbl_8030C384 +lbl_8030C0E8: +/* 8030C0E8 00307D48 2C 06 00 00 */ cmpwi r6, 0 +/* 8030C0EC 00307D4C 40 82 00 14 */ bne lbl_8030C100 +/* 8030C0F0 00307D50 91 69 00 00 */ stw r11, 0(r9) +/* 8030C0F4 00307D54 38 60 00 0A */ li r3, 0xa +/* 8030C0F8 00307D58 91 6A 00 00 */ stw r11, 0(r10) +/* 8030C0FC 00307D5C 48 00 02 88 */ b lbl_8030C384 +lbl_8030C100: +/* 8030C100 00307D60 7C E0 40 39 */ and. r0, r7, r8 +/* 8030C104 00307D64 41 82 00 14 */ beq lbl_8030C118 +/* 8030C108 00307D68 91 69 00 00 */ stw r11, 0(r9) +/* 8030C10C 00307D6C 38 60 00 0A */ li r3, 0xa +/* 8030C110 00307D70 91 6A 00 00 */ stw r11, 0(r10) +/* 8030C114 00307D74 48 00 02 70 */ b lbl_8030C384 +lbl_8030C118: +/* 8030C118 00307D78 38 C0 00 00 */ li r6, 0 +/* 8030C11C 00307D7C 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 8030C120 00307D80 90 C9 00 00 */ stw r6, 0(r9) +/* 8030C124 00307D84 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 8030C128 00307D88 90 CA 00 00 */ stw r6, 0(r10) +/* 8030C12C 00307D8C 98 C4 02 0A */ stb r6, 0x20a(r4) +/* 8030C130 00307D90 98 C4 02 0B */ stb r6, 0x20b(r4) +/* 8030C134 00307D94 98 C4 02 0C */ stb r6, 0x20c(r4) +/* 8030C138 00307D98 B0 C4 00 00 */ sth r6, 0(r4) +/* 8030C13C 00307D9C 80 05 00 3C */ lwz r0, 0x3c(r5) +/* 8030C140 00307DA0 90 C1 00 0C */ stw r6, 0xc(r1) +/* 8030C144 00307DA4 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8030C148 00307DA8 28 00 00 02 */ cmplwi r0, 2 +/* 8030C14C 00307DAC 40 82 00 10 */ bne lbl_8030C15C +/* 8030C150 00307DB0 7F 63 DB 78 */ mr r3, r27 +/* 8030C154 00307DB4 38 81 00 08 */ addi r4, r1, 8 +/* 8030C158 00307DB8 48 00 C6 01 */ bl func_80318758 +lbl_8030C15C: +/* 8030C15C 00307DBC 80 99 00 00 */ lwz r4, 0(r25) +/* 8030C160 00307DC0 28 03 00 01 */ cmplwi r3, 1 +/* 8030C164 00307DC4 80 19 00 04 */ lwz r0, 4(r25) +/* 8030C168 00307DC8 90 81 00 18 */ stw r4, 0x18(r1) +/* 8030C16C 00307DCC 90 01 00 1C */ stw r0, 0x1c(r1) +/* 8030C170 00307DD0 80 79 00 08 */ lwz r3, 8(r25) +/* 8030C174 00307DD4 80 19 00 0C */ lwz r0, 0xc(r25) +/* 8030C178 00307DD8 90 61 00 20 */ stw r3, 0x20(r1) +/* 8030C17C 00307DDC 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030C180 00307DE0 80 79 00 10 */ lwz r3, 0x10(r25) +/* 8030C184 00307DE4 80 19 00 14 */ lwz r0, 0x14(r25) +/* 8030C188 00307DE8 90 61 00 28 */ stw r3, 0x28(r1) +/* 8030C18C 00307DEC 90 01 00 2C */ stw r0, 0x2c(r1) +/* 8030C190 00307DF0 80 79 00 18 */ lwz r3, 0x18(r25) +/* 8030C194 00307DF4 80 19 00 1C */ lwz r0, 0x1c(r25) +/* 8030C198 00307DF8 90 61 00 30 */ stw r3, 0x30(r1) +/* 8030C19C 00307DFC 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030C1A0 00307E00 80 79 00 20 */ lwz r3, 0x20(r25) +/* 8030C1A4 00307E04 80 19 00 24 */ lwz r0, 0x24(r25) +/* 8030C1A8 00307E08 90 61 00 38 */ stw r3, 0x38(r1) +/* 8030C1AC 00307E0C 90 01 00 3C */ stw r0, 0x3c(r1) +/* 8030C1B0 00307E10 80 79 00 28 */ lwz r3, 0x28(r25) +/* 8030C1B4 00307E14 80 19 00 2C */ lwz r0, 0x2c(r25) +/* 8030C1B8 00307E18 90 61 00 40 */ stw r3, 0x40(r1) +/* 8030C1BC 00307E1C 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030C1C0 00307E20 80 79 00 30 */ lwz r3, 0x30(r25) +/* 8030C1C4 00307E24 80 19 00 34 */ lwz r0, 0x34(r25) +/* 8030C1C8 00307E28 90 61 00 48 */ stw r3, 0x48(r1) +/* 8030C1CC 00307E2C 90 01 00 4C */ stw r0, 0x4c(r1) +/* 8030C1D0 00307E30 40 82 00 E4 */ bne lbl_8030C2B4 +/* 8030C1D4 00307E34 80 81 00 08 */ lwz r4, 8(r1) +/* 8030C1D8 00307E38 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C1DC 00307E3C 38 84 FF FF */ addi r4, r4, -1 +/* 8030C1E0 00307E40 48 00 1D 19 */ bl func_8030DEF8 +/* 8030C1E4 00307E44 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C1E8 00307E48 41 82 00 18 */ beq lbl_8030C200 +/* 8030C1EC 00307E4C 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030C1F0 00307E50 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030C1F4 00307E54 90 1E 00 00 */ stw r0, 0(r30) +/* 8030C1F8 00307E58 90 1F 00 00 */ stw r0, 0(r31) +/* 8030C1FC 00307E5C 48 00 01 88 */ b lbl_8030C384 +lbl_8030C200: +/* 8030C200 00307E60 7F 43 D3 78 */ mr r3, r26 +/* 8030C204 00307E64 7F 65 DB 78 */ mr r5, r27 +/* 8030C208 00307E68 7F 86 E3 78 */ mr r6, r28 +/* 8030C20C 00307E6C 7F A7 EB 78 */ mr r7, r29 +/* 8030C210 00307E70 38 81 00 10 */ addi r4, r1, 0x10 +/* 8030C214 00307E74 39 01 00 0C */ addi r8, r1, 0xc +/* 8030C218 00307E78 4B FF F2 69 */ bl func_8030B480 +/* 8030C21C 00307E7C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C220 00307E80 40 82 00 1C */ bne lbl_8030C23C +/* 8030C224 00307E84 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030C228 00307E88 38 60 00 03 */ li r3, 3 +/* 8030C22C 00307E8C 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030C230 00307E90 90 1E 00 00 */ stw r0, 0(r30) +/* 8030C234 00307E94 90 1F 00 00 */ stw r0, 0(r31) +/* 8030C238 00307E98 48 00 01 4C */ b lbl_8030C384 +lbl_8030C23C: +/* 8030C23C 00307E9C 88 01 00 5C */ lbz r0, 0x5c(r1) +/* 8030C240 00307EA0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 8030C244 00307EA4 41 82 01 2C */ beq lbl_8030C370 +/* 8030C248 00307EA8 80 81 00 08 */ lwz r4, 8(r1) +/* 8030C24C 00307EAC 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C250 00307EB0 48 00 1C A9 */ bl func_8030DEF8 +/* 8030C254 00307EB4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C258 00307EB8 41 82 00 18 */ beq lbl_8030C270 +/* 8030C25C 00307EBC 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030C260 00307EC0 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030C264 00307EC4 90 1E 00 00 */ stw r0, 0(r30) +/* 8030C268 00307EC8 90 1F 00 00 */ stw r0, 0(r31) +/* 8030C26C 00307ECC 48 00 01 18 */ b lbl_8030C384 +lbl_8030C270: +/* 8030C270 00307ED0 7F 43 D3 78 */ mr r3, r26 +/* 8030C274 00307ED4 7F 65 DB 78 */ mr r5, r27 +/* 8030C278 00307ED8 7F 86 E3 78 */ mr r6, r28 +/* 8030C27C 00307EDC 7F A7 EB 78 */ mr r7, r29 +/* 8030C280 00307EE0 38 81 00 10 */ addi r4, r1, 0x10 +/* 8030C284 00307EE4 39 01 00 0C */ addi r8, r1, 0xc +/* 8030C288 00307EE8 4B FF F1 F9 */ bl func_8030B480 +/* 8030C28C 00307EEC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C290 00307EF0 40 82 00 E0 */ bne lbl_8030C370 +/* 8030C294 00307EF4 80 19 00 34 */ lwz r0, 0x34(r25) +/* 8030C298 00307EF8 38 60 00 00 */ li r3, 0 +/* 8030C29C 00307EFC 90 1A 02 2C */ stw r0, 0x22c(r26) +/* 8030C2A0 00307F00 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030C2A4 00307F04 90 1E 00 00 */ stw r0, 0(r30) +/* 8030C2A8 00307F08 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030C2AC 00307F0C 90 1F 00 00 */ stw r0, 0(r31) +/* 8030C2B0 00307F10 48 00 00 D4 */ b lbl_8030C384 +lbl_8030C2B4: +/* 8030C2B4 00307F14 80 81 00 08 */ lwz r4, 8(r1) +/* 8030C2B8 00307F18 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C2BC 00307F1C 48 00 1C 3D */ bl func_8030DEF8 +/* 8030C2C0 00307F20 7C 77 1B 78 */ mr r23, r3 +/* 8030C2C4 00307F24 3B 00 00 00 */ li r24, 0 +/* 8030C2C8 00307F28 48 00 00 98 */ b lbl_8030C360 +lbl_8030C2CC: +/* 8030C2CC 00307F2C 2C 17 00 00 */ cmpwi r23, 0 +/* 8030C2D0 00307F30 41 82 00 1C */ beq lbl_8030C2EC +/* 8030C2D4 00307F34 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030C2D8 00307F38 7E E3 BB 78 */ mr r3, r23 +/* 8030C2DC 00307F3C 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030C2E0 00307F40 90 1E 00 00 */ stw r0, 0(r30) +/* 8030C2E4 00307F44 90 1F 00 00 */ stw r0, 0(r31) +/* 8030C2E8 00307F48 48 00 00 9C */ b lbl_8030C384 +lbl_8030C2EC: +/* 8030C2EC 00307F4C 88 01 00 5C */ lbz r0, 0x5c(r1) +/* 8030C2F0 00307F50 2C 00 00 00 */ cmpwi r0, 0 +/* 8030C2F4 00307F54 41 82 00 7C */ beq lbl_8030C370 +/* 8030C2F8 00307F58 28 00 00 E5 */ cmplwi r0, 0xe5 +/* 8030C2FC 00307F5C 40 82 00 10 */ bne lbl_8030C30C +/* 8030C300 00307F60 9B 1A 02 0A */ stb r24, 0x20a(r26) +/* 8030C304 00307F64 B3 1A 00 00 */ sth r24, 0(r26) +/* 8030C308 00307F68 48 00 00 48 */ b lbl_8030C350 +lbl_8030C30C: +/* 8030C30C 00307F6C 7F 43 D3 78 */ mr r3, r26 +/* 8030C310 00307F70 7F 65 DB 78 */ mr r5, r27 +/* 8030C314 00307F74 7F 86 E3 78 */ mr r6, r28 +/* 8030C318 00307F78 7F A7 EB 78 */ mr r7, r29 +/* 8030C31C 00307F7C 38 81 00 10 */ addi r4, r1, 0x10 +/* 8030C320 00307F80 39 01 00 0C */ addi r8, r1, 0xc +/* 8030C324 00307F84 4B FF F1 5D */ bl func_8030B480 +/* 8030C328 00307F88 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C32C 00307F8C 40 82 00 24 */ bne lbl_8030C350 +/* 8030C330 00307F90 80 19 00 34 */ lwz r0, 0x34(r25) +/* 8030C334 00307F94 38 60 00 00 */ li r3, 0 +/* 8030C338 00307F98 90 1A 02 2C */ stw r0, 0x22c(r26) +/* 8030C33C 00307F9C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030C340 00307FA0 90 1E 00 00 */ stw r0, 0(r30) +/* 8030C344 00307FA4 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030C348 00307FA8 90 1F 00 00 */ stw r0, 0(r31) +/* 8030C34C 00307FAC 48 00 00 38 */ b lbl_8030C384 +lbl_8030C350: +/* 8030C350 00307FB0 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C354 00307FB4 38 80 00 00 */ li r4, 0 +/* 8030C358 00307FB8 48 00 1D B1 */ bl func_8030E108 +/* 8030C35C 00307FBC 7C 77 1B 78 */ mr r23, r3 +lbl_8030C360: +/* 8030C360 00307FC0 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C364 00307FC4 48 00 1C 99 */ bl func_8030DFFC +/* 8030C368 00307FC8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C36C 00307FCC 41 82 FF 60 */ beq lbl_8030C2CC +lbl_8030C370: +/* 8030C370 00307FD0 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030C374 00307FD4 38 60 00 03 */ li r3, 3 +/* 8030C378 00307FD8 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030C37C 00307FDC 90 1E 00 00 */ stw r0, 0(r30) +/* 8030C380 00307FE0 90 1F 00 00 */ stw r0, 0(r31) +lbl_8030C384: +/* 8030C384 00307FE4 39 61 00 B0 */ addi r11, r1, 0xb0 +/* 8030C388 00307FE8 4B EB AD DD */ bl _restgpr_23 +/* 8030C38C 00307FEC 80 01 00 B4 */ lwz r0, 0xb4(r1) +/* 8030C390 00307FF0 7C 08 03 A6 */ mtlr r0 +/* 8030C394 00307FF4 38 21 00 B0 */ addi r1, r1, 0xb0 +/* 8030C398 00307FF8 4E 80 00 20 */ blr + +.global func_8030C39C +func_8030C39C: +/* 8030C39C 00307FFC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8030C3A0 00308000 7C 08 02 A6 */ mflr r0 +/* 8030C3A4 00308004 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030C3A8 00308008 39 21 00 0C */ addi r9, r1, 0xc +/* 8030C3AC 0030800C 39 41 00 08 */ addi r10, r1, 8 +/* 8030C3B0 00308010 4B FF FC A1 */ bl func_8030C050 +/* 8030C3B4 00308014 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030C3B8 00308018 7C 08 03 A6 */ mtlr r0 +/* 8030C3BC 0030801C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8030C3C0 00308020 4E 80 00 20 */ blr + +.global func_8030C3C4 +func_8030C3C4: +/* 8030C3C4 00308024 94 21 FD 00 */ stwu r1, -0x300(r1) +/* 8030C3C8 00308028 7C 08 02 A6 */ mflr r0 +/* 8030C3CC 0030802C 90 01 03 04 */ stw r0, 0x304(r1) +/* 8030C3D0 00308030 39 61 03 00 */ addi r11, r1, 0x300 +/* 8030C3D4 00308034 4B EB AD 2D */ bl _savegpr_17 +/* 8030C3D8 00308038 2C 05 00 00 */ cmpwi r5, 0 +/* 8030C3DC 0030803C 7C 71 1B 78 */ mr r17, r3 +/* 8030C3E0 00308040 7C 92 23 78 */ mr r18, r4 +/* 8030C3E4 00308044 7C B3 2B 78 */ mr r19, r5 +/* 8030C3E8 00308048 7C D4 33 78 */ mr r20, r6 +/* 8030C3EC 0030804C 7C F5 3B 78 */ mr r21, r7 +/* 8030C3F0 00308050 7D 16 43 78 */ mr r22, r8 +/* 8030C3F4 00308054 40 82 00 0C */ bne lbl_8030C400 +/* 8030C3F8 00308058 38 60 00 0A */ li r3, 0xa +/* 8030C3FC 0030805C 48 00 02 CC */ b lbl_8030C6C8 +lbl_8030C400: +/* 8030C400 00308060 80 05 00 34 */ lwz r0, 0x34(r5) +/* 8030C404 00308064 2C 00 00 00 */ cmpwi r0, 0 +/* 8030C408 00308068 40 82 00 0C */ bne lbl_8030C414 +/* 8030C40C 0030806C 38 60 00 0A */ li r3, 0xa +/* 8030C410 00308070 48 00 02 B8 */ b lbl_8030C6C8 +lbl_8030C414: +/* 8030C414 00308074 2C 04 00 00 */ cmpwi r4, 0 +/* 8030C418 00308078 40 82 00 0C */ bne lbl_8030C424 +/* 8030C41C 0030807C 38 60 00 0A */ li r3, 0xa +/* 8030C420 00308080 48 00 02 A8 */ b lbl_8030C6C8 +lbl_8030C424: +/* 8030C424 00308084 28 04 00 15 */ cmplwi r4, 0x15 +/* 8030C428 00308088 40 81 00 0C */ ble lbl_8030C434 +/* 8030C42C 0030808C 38 60 00 0A */ li r3, 0xa +/* 8030C430 00308090 48 00 02 98 */ b lbl_8030C6C8 +lbl_8030C434: +/* 8030C434 00308094 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 8030C438 00308098 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 8030C43C 0030809C 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 8030C440 003080A0 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8030C444 003080A4 28 00 00 02 */ cmplwi r0, 2 +/* 8030C448 003080A8 40 82 00 1C */ bne lbl_8030C464 +/* 8030C44C 003080AC 7E A3 AB 78 */ mr r3, r21 +/* 8030C450 003080B0 48 00 BF 79 */ bl func_803183C8 +/* 8030C454 003080B4 28 03 00 01 */ cmplwi r3, 1 +/* 8030C458 003080B8 40 82 00 0C */ bne lbl_8030C464 +/* 8030C45C 003080BC 38 60 00 01 */ li r3, 1 +/* 8030C460 003080C0 48 00 02 68 */ b lbl_8030C6C8 +lbl_8030C464: +/* 8030C464 003080C4 83 F3 00 34 */ lwz r31, 0x34(r19) +/* 8030C468 003080C8 3B C0 FF FF */ li r30, -1 +/* 8030C46C 003080CC 3B 00 00 00 */ li r24, 0 +/* 8030C470 003080D0 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C474 003080D4 93 D4 00 04 */ stw r30, 4(r20) +/* 8030C478 003080D8 3A E0 00 00 */ li r23, 0 +/* 8030C47C 003080DC 3B A0 00 00 */ li r29, 0 +/* 8030C480 003080E0 3B 80 FF FF */ li r28, -1 +/* 8030C484 003080E4 93 D4 00 00 */ stw r30, 0(r20) +/* 8030C488 003080E8 3B 40 FF FF */ li r26, -1 +/* 8030C48C 003080EC 3B 60 FF FF */ li r27, -1 +/* 8030C490 003080F0 3B 20 00 00 */ li r25, 0 +/* 8030C494 003080F4 93 01 00 54 */ stw r24, 0x54(r1) +/* 8030C498 003080F8 38 80 00 00 */ li r4, 0 +/* 8030C49C 003080FC 93 01 00 10 */ stw r24, 0x10(r1) +/* 8030C4A0 00308100 80 B3 00 00 */ lwz r5, 0(r19) +/* 8030C4A4 00308104 80 13 00 04 */ lwz r0, 4(r19) +/* 8030C4A8 00308108 90 A1 00 18 */ stw r5, 0x18(r1) +/* 8030C4AC 0030810C 90 01 00 1C */ stw r0, 0x1c(r1) +/* 8030C4B0 00308110 80 B3 00 08 */ lwz r5, 8(r19) +/* 8030C4B4 00308114 80 13 00 0C */ lwz r0, 0xc(r19) +/* 8030C4B8 00308118 90 A1 00 20 */ stw r5, 0x20(r1) +/* 8030C4BC 0030811C 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030C4C0 00308120 80 B3 00 10 */ lwz r5, 0x10(r19) +/* 8030C4C4 00308124 80 13 00 14 */ lwz r0, 0x14(r19) +/* 8030C4C8 00308128 90 A1 00 28 */ stw r5, 0x28(r1) +/* 8030C4CC 0030812C 90 01 00 2C */ stw r0, 0x2c(r1) +/* 8030C4D0 00308130 80 B3 00 18 */ lwz r5, 0x18(r19) +/* 8030C4D4 00308134 80 13 00 1C */ lwz r0, 0x1c(r19) +/* 8030C4D8 00308138 90 A1 00 30 */ stw r5, 0x30(r1) +/* 8030C4DC 0030813C 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030C4E0 00308140 80 B3 00 20 */ lwz r5, 0x20(r19) +/* 8030C4E4 00308144 80 13 00 24 */ lwz r0, 0x24(r19) +/* 8030C4E8 00308148 90 A1 00 38 */ stw r5, 0x38(r1) +/* 8030C4EC 0030814C 90 01 00 3C */ stw r0, 0x3c(r1) +/* 8030C4F0 00308150 80 B3 00 28 */ lwz r5, 0x28(r19) +/* 8030C4F4 00308154 80 13 00 2C */ lwz r0, 0x2c(r19) +/* 8030C4F8 00308158 90 A1 00 40 */ stw r5, 0x40(r1) +/* 8030C4FC 0030815C 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030C500 00308160 80 B3 00 30 */ lwz r5, 0x30(r19) +/* 8030C504 00308164 80 13 00 34 */ lwz r0, 0x34(r19) +/* 8030C508 00308168 90 A1 00 48 */ stw r5, 0x48(r1) +/* 8030C50C 0030816C 90 01 00 4C */ stw r0, 0x4c(r1) +/* 8030C510 00308170 48 00 19 E9 */ bl func_8030DEF8 +lbl_8030C514: +/* 8030C514 00308174 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C518 00308178 41 82 00 10 */ beq lbl_8030C528 +/* 8030C51C 0030817C 2C 03 00 10 */ cmpwi r3, 0x10 +/* 8030C520 00308180 41 82 01 80 */ beq lbl_8030C6A0 +/* 8030C524 00308184 48 00 01 A4 */ b lbl_8030C6C8 +lbl_8030C528: +/* 8030C528 00308188 80 61 00 54 */ lwz r3, 0x54(r1) +/* 8030C52C 0030818C 3C 03 00 01 */ addis r0, r3, 1 +/* 8030C530 00308190 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030C534 00308194 41 82 01 6C */ beq lbl_8030C6A0 +/* 8030C538 00308198 2C 19 00 00 */ cmpwi r25, 0 +/* 8030C53C 0030819C 40 82 00 18 */ bne lbl_8030C554 +/* 8030C540 003081A0 2C 18 00 00 */ cmpwi r24, 0 +/* 8030C544 003081A4 40 82 00 10 */ bne lbl_8030C554 +/* 8030C548 003081A8 A3 A1 00 58 */ lhz r29, 0x58(r1) +/* 8030C54C 003081AC 7C 7E 1B 78 */ mr r30, r3 +/* 8030C550 003081B0 7C 7C 1B 78 */ mr r28, r3 +lbl_8030C554: +/* 8030C554 003081B4 2C 19 00 00 */ cmpwi r25, 0 +/* 8030C558 003081B8 40 82 00 58 */ bne lbl_8030C5B0 +/* 8030C55C 003081BC 88 01 00 5C */ lbz r0, 0x5c(r1) +/* 8030C560 003081C0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030C564 003081C4 41 82 00 0C */ beq lbl_8030C570 +/* 8030C568 003081C8 28 00 00 E5 */ cmplwi r0, 0xe5 +/* 8030C56C 003081CC 40 82 00 38 */ bne lbl_8030C5A4 +lbl_8030C570: +/* 8030C570 003081D0 7C 1C 18 40 */ cmplw r28, r3 +/* 8030C574 003081D4 41 82 00 28 */ beq lbl_8030C59C +/* 8030C578 003081D8 38 1B 00 01 */ addi r0, r27, 1 +/* 8030C57C 003081DC 7C 00 00 34 */ cntlzw r0, r0 +/* 8030C580 003081E0 54 00 D9 7F */ rlwinm. r0, r0, 0x1b, 5, 0x1f +/* 8030C584 003081E4 41 82 00 08 */ beq lbl_8030C58C +/* 8030C588 003081E8 7C 7B 1B 78 */ mr r27, r3 +lbl_8030C58C: +/* 8030C58C 003081EC 2C 00 00 00 */ cmpwi r0, 0 +/* 8030C590 003081F0 40 82 00 08 */ bne lbl_8030C598 +/* 8030C594 003081F4 7C 7A 1B 78 */ mr r26, r3 +lbl_8030C598: +/* 8030C598 003081F8 7C 7C 1B 78 */ mr r28, r3 +lbl_8030C59C: +/* 8030C59C 003081FC 3B 18 00 01 */ addi r24, r24, 1 +/* 8030C5A0 00308200 48 00 00 10 */ b lbl_8030C5B0 +lbl_8030C5A4: +/* 8030C5A4 00308204 3B 00 00 00 */ li r24, 0 +/* 8030C5A8 00308208 3B 60 FF FF */ li r27, -1 +/* 8030C5AC 0030820C 3B 40 FF FF */ li r26, -1 +lbl_8030C5B0: +/* 8030C5B0 00308210 7C 18 90 40 */ cmplw r24, r18 +/* 8030C5B4 00308214 41 80 00 20 */ blt lbl_8030C5D4 +/* 8030C5B8 00308218 2C 19 00 00 */ cmpwi r25, 0 +/* 8030C5BC 0030821C 40 82 00 0C */ bne lbl_8030C5C8 +/* 8030C5C0 00308220 82 E1 00 10 */ lwz r23, 0x10(r1) +/* 8030C5C4 00308224 3B 20 00 01 */ li r25, 1 +lbl_8030C5C8: +/* 8030C5C8 00308228 88 01 00 5C */ lbz r0, 0x5c(r1) +/* 8030C5CC 0030822C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030C5D0 00308230 41 82 00 D0 */ beq lbl_8030C6A0 +lbl_8030C5D4: +/* 8030C5D4 00308234 88 01 00 5C */ lbz r0, 0x5c(r1) +/* 8030C5D8 00308238 2C 00 00 00 */ cmpwi r0, 0 +/* 8030C5DC 0030823C 41 82 00 64 */ beq lbl_8030C640 +/* 8030C5E0 00308240 28 00 00 E5 */ cmplwi r0, 0xe5 +/* 8030C5E4 00308244 41 82 00 5C */ beq lbl_8030C640 +/* 8030C5E8 00308248 7E A5 AB 78 */ mr r5, r21 +/* 8030C5EC 0030824C 38 61 00 80 */ addi r3, r1, 0x80 +/* 8030C5F0 00308250 38 81 00 10 */ addi r4, r1, 0x10 +/* 8030C5F4 00308254 39 01 00 08 */ addi r8, r1, 8 +/* 8030C5F8 00308258 38 C0 00 7F */ li r6, 0x7f +/* 8030C5FC 0030825C 38 E0 00 00 */ li r7, 0 +/* 8030C600 00308260 4B FF EE 81 */ bl func_8030B480 +/* 8030C604 00308264 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C608 00308268 40 82 00 38 */ bne lbl_8030C640 +/* 8030C60C 0030826C 38 00 00 48 */ li r0, 0x48 +/* 8030C610 00308270 38 B1 FF FC */ addi r5, r17, -4 +/* 8030C614 00308274 38 81 00 7C */ addi r4, r1, 0x7c +/* 8030C618 00308278 7C 09 03 A6 */ mtctr r0 +lbl_8030C61C: +/* 8030C61C 0030827C 80 64 00 04 */ lwz r3, 4(r4) +/* 8030C620 00308280 84 04 00 08 */ lwzu r0, 8(r4) +/* 8030C624 00308284 90 65 00 04 */ stw r3, 4(r5) +/* 8030C628 00308288 94 05 00 08 */ stwu r0, 8(r5) +/* 8030C62C 0030828C 42 00 FF F0 */ bdnz lbl_8030C61C +/* 8030C630 00308290 80 13 00 34 */ lwz r0, 0x34(r19) +/* 8030C634 00308294 38 60 00 08 */ li r3, 8 +/* 8030C638 00308298 90 11 02 2C */ stw r0, 0x22c(r17) +/* 8030C63C 0030829C 48 00 00 8C */ b lbl_8030C6C8 +lbl_8030C640: +/* 8030C640 003082A0 A0 61 00 58 */ lhz r3, 0x58(r1) +/* 8030C644 003082A4 A0 1F 00 00 */ lhz r0, 0(r31) +/* 8030C648 003082A8 38 63 00 20 */ addi r3, r3, 0x20 +/* 8030C64C 003082AC 7C 03 00 00 */ cmpw r3, r0 +/* 8030C650 003082B0 40 82 00 40 */ bne lbl_8030C690 +/* 8030C654 003082B4 80 81 00 50 */ lwz r4, 0x50(r1) +/* 8030C658 003082B8 7E 63 9B 78 */ mr r3, r19 +/* 8030C65C 003082BC 38 C1 00 0C */ addi r6, r1, 0xc +/* 8030C660 003082C0 38 A0 00 00 */ li r5, 0 +/* 8030C664 003082C4 38 84 00 01 */ addi r4, r4, 1 +/* 8030C668 003082C8 48 00 39 01 */ bl func_8030FF68 +/* 8030C66C 003082CC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C670 003082D0 41 82 00 08 */ beq lbl_8030C678 +/* 8030C674 003082D4 48 00 00 54 */ b lbl_8030C6C8 +lbl_8030C678: +/* 8030C678 003082D8 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8030C67C 003082DC 3C 03 00 01 */ addis r0, r3, 1 +/* 8030C680 003082E0 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030C684 003082E4 40 82 00 0C */ bne lbl_8030C690 +/* 8030C688 003082E8 28 19 00 01 */ cmplwi r25, 1 +/* 8030C68C 003082EC 41 82 00 14 */ beq lbl_8030C6A0 +lbl_8030C690: +/* 8030C690 003082F0 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C694 003082F4 38 80 00 01 */ li r4, 1 +/* 8030C698 003082F8 48 00 1A 71 */ bl func_8030E108 +/* 8030C69C 003082FC 4B FF FE 78 */ b lbl_8030C514 +lbl_8030C6A0: +/* 8030C6A0 00308300 2C 19 00 00 */ cmpwi r25, 0 +/* 8030C6A4 00308304 40 82 00 0C */ bne lbl_8030C6B0 +/* 8030C6A8 00308308 38 60 00 05 */ li r3, 5 +/* 8030C6AC 0030830C 48 00 00 1C */ b lbl_8030C6C8 +lbl_8030C6B0: +/* 8030C6B0 00308310 93 74 00 00 */ stw r27, 0(r20) +/* 8030C6B4 00308314 38 60 00 00 */ li r3, 0 +/* 8030C6B8 00308318 93 54 00 04 */ stw r26, 4(r20) +/* 8030C6BC 0030831C 93 D1 02 38 */ stw r30, 0x238(r17) +/* 8030C6C0 00308320 B3 B1 02 3C */ sth r29, 0x23c(r17) +/* 8030C6C4 00308324 92 F6 00 00 */ stw r23, 0(r22) +lbl_8030C6C8: +/* 8030C6C8 00308328 39 61 03 00 */ addi r11, r1, 0x300 +/* 8030C6CC 0030832C 4B EB AA 81 */ bl _restgpr_17 +/* 8030C6D0 00308330 80 01 03 04 */ lwz r0, 0x304(r1) +/* 8030C6D4 00308334 7C 08 03 A6 */ mtlr r0 +/* 8030C6D8 00308338 38 21 03 00 */ addi r1, r1, 0x300 +/* 8030C6DC 0030833C 4E 80 00 20 */ blr + +.global func_8030C6E0 +func_8030C6E0: +/* 8030C6E0 00308340 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8030C6E4 00308344 7C 08 02 A6 */ mflr r0 +/* 8030C6E8 00308348 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030C6EC 0030834C 39 01 00 08 */ addi r8, r1, 8 +/* 8030C6F0 00308350 4B FF FC D5 */ bl func_8030C3C4 +/* 8030C6F4 00308354 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030C6F8 00308358 7C 08 03 A6 */ mtlr r0 +/* 8030C6FC 0030835C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8030C700 00308360 4E 80 00 20 */ blr + +.global func_8030C704 +func_8030C704: +/* 8030C704 00308364 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C708 00308368 40 82 00 0C */ bne lbl_8030C714 +/* 8030C70C 0030836C 38 60 00 0A */ li r3, 0xa +/* 8030C710 00308370 4E 80 00 20 */ blr +lbl_8030C714: +/* 8030C714 00308374 2C 04 00 00 */ cmpwi r4, 0 +/* 8030C718 00308378 40 82 00 0C */ bne lbl_8030C724 +/* 8030C71C 0030837C 38 60 00 0A */ li r3, 0xa +/* 8030C720 00308380 4E 80 00 20 */ blr +lbl_8030C724: +/* 8030C724 00308384 A0 03 18 78 */ lhz r0, 0x1878(r3) +/* 8030C728 00308388 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8030C72C 0030838C 40 82 00 0C */ bne lbl_8030C738 +/* 8030C730 00308390 38 60 00 09 */ li r3, 9 +/* 8030C734 00308394 4E 80 00 20 */ blr +lbl_8030C738: +/* 8030C738 00308398 39 00 00 00 */ li r8, 0 +/* 8030C73C 0030839C 39 20 00 5C */ li r9, 0x5c +/* 8030C740 003083A0 38 E0 00 10 */ li r7, 0x10 +/* 8030C744 003083A4 38 C0 00 03 */ li r6, 3 +/* 8030C748 003083A8 38 A0 00 01 */ li r5, 1 +/* 8030C74C 003083AC 38 00 FF FF */ li r0, -1 +/* 8030C750 003083B0 90 64 02 2C */ stw r3, 0x22c(r4) +/* 8030C754 003083B4 38 60 00 00 */ li r3, 0 +/* 8030C758 003083B8 B1 24 00 00 */ sth r9, 0(r4) +/* 8030C75C 003083BC B1 04 00 02 */ sth r8, 2(r4) +/* 8030C760 003083C0 99 04 02 0A */ stb r8, 0x20a(r4) +/* 8030C764 003083C4 99 04 02 0B */ stb r8, 0x20b(r4) +/* 8030C768 003083C8 99 04 02 0C */ stb r8, 0x20c(r4) +/* 8030C76C 003083CC 99 24 02 0E */ stb r9, 0x20e(r4) +/* 8030C770 003083D0 99 04 02 0F */ stb r8, 0x20f(r4) +/* 8030C774 003083D4 99 04 02 1B */ stb r8, 0x21b(r4) +/* 8030C778 003083D8 98 E4 02 1C */ stb r7, 0x21c(r4) +/* 8030C77C 003083DC 99 04 02 1D */ stb r8, 0x21d(r4) +/* 8030C780 003083E0 B1 04 02 1E */ sth r8, 0x21e(r4) +/* 8030C784 003083E4 B1 04 02 20 */ sth r8, 0x220(r4) +/* 8030C788 003083E8 B1 04 02 22 */ sth r8, 0x222(r4) +/* 8030C78C 003083EC B1 04 02 24 */ sth r8, 0x224(r4) +/* 8030C790 003083F0 B1 04 02 26 */ sth r8, 0x226(r4) +/* 8030C794 003083F4 91 04 02 28 */ stw r8, 0x228(r4) +/* 8030C798 003083F8 90 C4 02 30 */ stw r6, 0x230(r4) +/* 8030C79C 003083FC 90 A4 02 34 */ stw r5, 0x234(r4) +/* 8030C7A0 00308400 90 04 02 38 */ stw r0, 0x238(r4) +/* 8030C7A4 00308404 B1 04 02 3C */ sth r8, 0x23c(r4) +/* 8030C7A8 00308408 4E 80 00 20 */ blr + +.global func_8030C7AC +func_8030C7AC: +/* 8030C7AC 0030840C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030C7B0 00308410 7C 08 02 A6 */ mflr r0 +/* 8030C7B4 00308414 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C7B8 00308418 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030C7BC 0030841C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030C7C0 00308420 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030C7C4 00308424 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030C7C8 00308428 7C 7D 1B 78 */ mr r29, r3 +/* 8030C7CC 0030842C 40 82 00 0C */ bne lbl_8030C7D8 +/* 8030C7D0 00308430 38 60 00 0A */ li r3, 0xa +/* 8030C7D4 00308434 48 00 01 00 */ b lbl_8030C8D4 +lbl_8030C7D8: +/* 8030C7D8 00308438 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030C7DC 0030843C 2C 00 00 02 */ cmpwi r0, 2 +/* 8030C7E0 00308440 41 82 00 14 */ beq lbl_8030C7F4 +/* 8030C7E4 00308444 40 80 00 D4 */ bge lbl_8030C8B8 +/* 8030C7E8 00308448 2C 00 00 00 */ cmpwi r0, 0 +/* 8030C7EC 0030844C 40 80 00 10 */ bge lbl_8030C7FC +/* 8030C7F0 00308450 48 00 00 C8 */ b lbl_8030C8B8 +lbl_8030C7F4: +/* 8030C7F4 00308454 48 00 43 D1 */ bl func_80310BC4 +/* 8030C7F8 00308458 48 00 00 C8 */ b lbl_8030C8C0 +lbl_8030C7FC: +/* 8030C7FC 0030845C 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030C800 00308460 38 80 FF FF */ li r4, -1 +/* 8030C804 00308464 4B FF DE B5 */ bl VFiPFCACHE_AllocateDataPage +/* 8030C808 00308468 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C80C 0030846C 41 82 00 08 */ beq lbl_8030C814 +/* 8030C810 00308470 48 00 00 C4 */ b lbl_8030C8D4 +lbl_8030C814: +/* 8030C814 00308474 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8030C818 00308478 38 80 00 00 */ li r4, 0 +/* 8030C81C 0030847C A0 BD 00 00 */ lhz r5, 0(r29) +/* 8030C820 00308480 80 63 00 08 */ lwz r3, 8(r3) +/* 8030C824 00308484 4B FF 87 B1 */ bl VFipf_memset +/* 8030C828 00308488 83 DD 00 2C */ lwz r30, 0x2c(r29) +/* 8030C82C 0030848C 48 00 00 70 */ b lbl_8030C89C +lbl_8030C830: +/* 8030C830 00308490 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030C834 00308494 7F A3 EB 78 */ mr r3, r29 +/* 8030C838 00308498 A0 FD 00 00 */ lhz r7, 0(r29) +/* 8030C83C 0030849C 7F C5 F3 78 */ mr r5, r30 +/* 8030C840 003084A0 80 84 00 08 */ lwz r4, 8(r4) +/* 8030C844 003084A4 39 01 00 08 */ addi r8, r1, 8 +/* 8030C848 003084A8 38 C0 00 00 */ li r6, 0 +/* 8030C84C 003084AC 39 20 00 00 */ li r9, 0 +/* 8030C850 003084B0 48 00 C5 99 */ bl func_80318DE8 +/* 8030C854 003084B4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C858 003084B8 7C 7F 1B 78 */ mr r31, r3 +/* 8030C85C 003084BC 41 82 00 18 */ beq lbl_8030C874 +/* 8030C860 003084C0 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030C864 003084C4 7F A3 EB 78 */ mr r3, r29 +/* 8030C868 003084C8 4B FF DF 55 */ bl VFiPFCACHE_FreeDataPage +/* 8030C86C 003084CC 7F E3 FB 78 */ mr r3, r31 +/* 8030C870 003084D0 48 00 00 64 */ b lbl_8030C8D4 +lbl_8030C874: +/* 8030C874 003084D4 80 61 00 08 */ lwz r3, 8(r1) +/* 8030C878 003084D8 A0 1D 00 00 */ lhz r0, 0(r29) +/* 8030C87C 003084DC 7C 03 00 40 */ cmplw r3, r0 +/* 8030C880 003084E0 41 82 00 18 */ beq lbl_8030C898 +/* 8030C884 003084E4 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030C888 003084E8 7F A3 EB 78 */ mr r3, r29 +/* 8030C88C 003084EC 4B FF DF 31 */ bl VFiPFCACHE_FreeDataPage +/* 8030C890 003084F0 38 60 00 11 */ li r3, 0x11 +/* 8030C894 003084F4 48 00 00 40 */ b lbl_8030C8D4 +lbl_8030C898: +/* 8030C898 003084F8 3B DE 00 01 */ addi r30, r30, 1 +lbl_8030C89C: +/* 8030C89C 003084FC 80 1D 00 30 */ lwz r0, 0x30(r29) +/* 8030C8A0 00308500 7C 1E 00 40 */ cmplw r30, r0 +/* 8030C8A4 00308504 41 80 FF 8C */ blt lbl_8030C830 +/* 8030C8A8 00308508 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030C8AC 0030850C 7F A3 EB 78 */ mr r3, r29 +/* 8030C8B0 00308510 4B FF DF 0D */ bl VFiPFCACHE_FreeDataPage +/* 8030C8B4 00308514 48 00 00 0C */ b lbl_8030C8C0 +lbl_8030C8B8: +/* 8030C8B8 00308518 38 60 00 07 */ li r3, 7 +/* 8030C8BC 0030851C 48 00 00 18 */ b lbl_8030C8D4 +lbl_8030C8C0: +/* 8030C8C0 00308520 3C 60 80 44 */ lis r3, lbl_804465D8@ha +/* 8030C8C4 00308524 7F A4 EB 78 */ mr r4, r29 +/* 8030C8C8 00308528 38 63 65 D8 */ addi r3, r3, lbl_804465D8@l +/* 8030C8CC 0030852C 48 00 D2 E1 */ bl func_80319BAC +/* 8030C8D0 00308530 38 60 00 00 */ li r3, 0 +lbl_8030C8D4: +/* 8030C8D4 00308534 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030C8D8 00308538 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030C8DC 0030853C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030C8E0 00308540 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030C8E4 00308544 7C 08 03 A6 */ mtlr r0 +/* 8030C8E8 00308548 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030C8EC 0030854C 4E 80 00 20 */ blr + +.global func_8030C8F0 +func_8030C8F0: +/* 8030C8F0 00308550 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8030C8F4 00308554 7C 08 02 A6 */ mflr r0 +/* 8030C8F8 00308558 2C 03 00 00 */ cmpwi r3, 0 +/* 8030C8FC 0030855C 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030C900 00308560 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 8030C904 00308564 93 C1 00 38 */ stw r30, 0x38(r1) +/* 8030C908 00308568 7C 7E 1B 78 */ mr r30, r3 +/* 8030C90C 0030856C 93 A1 00 34 */ stw r29, 0x34(r1) +/* 8030C910 00308570 40 82 00 0C */ bne lbl_8030C91C +/* 8030C914 00308574 38 60 00 0A */ li r3, 0xa +/* 8030C918 00308578 48 00 01 68 */ b lbl_8030CA80 +lbl_8030C91C: +/* 8030C91C 0030857C 83 E3 02 2C */ lwz r31, 0x22c(r3) +/* 8030C920 00308580 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030C924 00308584 40 82 00 0C */ bne lbl_8030C930 +/* 8030C928 00308588 38 60 00 0A */ li r3, 0xa +/* 8030C92C 0030858C 48 00 01 54 */ b lbl_8030CA80 +lbl_8030C930: +/* 8030C930 00308590 A0 BF 00 24 */ lhz r5, 0x24(r31) +/* 8030C934 00308594 80 1F 00 30 */ lwz r0, 0x30(r31) +/* 8030C938 00308598 80 C3 02 38 */ lwz r6, 0x238(r3) +/* 8030C93C 0030859C 7C 05 00 50 */ subf r0, r5, r0 +/* 8030C940 003085A0 7C 06 00 40 */ cmplw r6, r0 +/* 8030C944 003085A4 40 80 00 0C */ bge lbl_8030C950 +/* 8030C948 003085A8 38 60 00 1C */ li r3, 0x1c +/* 8030C94C 003085AC 48 00 01 34 */ b lbl_8030CA80 +lbl_8030C950: +/* 8030C950 003085B0 80 1F 00 08 */ lwz r0, 8(r31) +/* 8030C954 003085B4 7C 06 00 40 */ cmplw r6, r0 +/* 8030C958 003085B8 41 80 00 0C */ blt lbl_8030C964 +/* 8030C95C 003085BC 38 60 00 10 */ li r3, 0x10 +/* 8030C960 003085C0 48 00 01 20 */ b lbl_8030CA80 +lbl_8030C964: +/* 8030C964 003085C4 80 03 02 34 */ lwz r0, 0x234(r3) +/* 8030C968 003085C8 28 00 00 01 */ cmplwi r0, 1 +/* 8030C96C 003085CC 40 82 00 0C */ bne lbl_8030C978 +/* 8030C970 003085D0 38 60 00 0E */ li r3, 0xe +/* 8030C974 003085D4 48 00 01 0C */ b lbl_8030CA80 +lbl_8030C978: +/* 8030C978 003085D8 28 04 00 01 */ cmplwi r4, 1 +/* 8030C97C 003085DC 40 82 00 10 */ bne lbl_8030C98C +/* 8030C980 003085E0 88 03 02 1C */ lbz r0, 0x21c(r3) +/* 8030C984 003085E4 60 00 00 20 */ ori r0, r0, 0x20 +/* 8030C988 003085E8 98 03 02 1C */ stb r0, 0x21c(r3) +lbl_8030C98C: +/* 8030C98C 003085EC 88 BE 02 1C */ lbz r5, 0x21c(r30) +/* 8030C990 003085F0 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030C994 003085F4 38 9E 02 0E */ addi r4, r30, 0x20e +/* 8030C998 003085F8 48 00 A8 B1 */ bl func_80317248 +/* 8030C99C 003085FC 88 01 00 10 */ lbz r0, 0x10(r1) +/* 8030C9A0 00308600 28 00 00 E5 */ cmplwi r0, 0xe5 +/* 8030C9A4 00308604 40 82 00 0C */ bne lbl_8030C9B0 +/* 8030C9A8 00308608 38 00 00 05 */ li r0, 5 +/* 8030C9AC 0030860C 98 01 00 10 */ stb r0, 0x10(r1) +lbl_8030C9B0: +/* 8030C9B0 00308610 88 1E 02 1C */ lbz r0, 0x21c(r30) +/* 8030C9B4 00308614 7F E3 FB 78 */ mr r3, r31 +/* 8030C9B8 00308618 3B A1 00 1E */ addi r29, r1, 0x1e +/* 8030C9BC 0030861C 39 81 00 20 */ addi r12, r1, 0x20 +/* 8030C9C0 00308620 98 01 00 1B */ stb r0, 0x1b(r1) +/* 8030C9C4 00308624 39 61 00 22 */ addi r11, r1, 0x22 +/* 8030C9C8 00308628 39 41 00 26 */ addi r10, r1, 0x26 +/* 8030C9CC 0030862C 38 C1 00 28 */ addi r6, r1, 0x28 +/* 8030C9D0 00308630 88 FE 02 1B */ lbz r7, 0x21b(r30) +/* 8030C9D4 00308634 38 A1 00 24 */ addi r5, r1, 0x24 +/* 8030C9D8 00308638 38 01 00 2A */ addi r0, r1, 0x2a +/* 8030C9DC 0030863C 38 81 00 10 */ addi r4, r1, 0x10 +/* 8030C9E0 00308640 98 E1 00 1C */ stb r7, 0x1c(r1) +/* 8030C9E4 00308644 39 01 00 08 */ addi r8, r1, 8 +/* 8030C9E8 00308648 38 E0 00 20 */ li r7, 0x20 +/* 8030C9EC 0030864C 39 20 00 00 */ li r9, 0 +/* 8030C9F0 00308650 8B FE 02 1D */ lbz r31, 0x21d(r30) +/* 8030C9F4 00308654 9B E1 00 1D */ stb r31, 0x1d(r1) +/* 8030C9F8 00308658 A3 FE 02 1E */ lhz r31, 0x21e(r30) +/* 8030C9FC 0030865C 7F E0 EF 2C */ sthbrx r31, 0, r29 +/* 8030CA00 00308660 A3 BE 02 20 */ lhz r29, 0x220(r30) +/* 8030CA04 00308664 7F A0 67 2C */ sthbrx r29, 0, r12 +/* 8030CA08 00308668 A1 9E 02 22 */ lhz r12, 0x222(r30) +/* 8030CA0C 0030866C 7D 80 5F 2C */ sthbrx r12, 0, r11 +/* 8030CA10 00308670 A1 7E 02 24 */ lhz r11, 0x224(r30) +/* 8030CA14 00308674 7D 60 57 2C */ sthbrx r11, 0, r10 +/* 8030CA18 00308678 A1 5E 02 26 */ lhz r10, 0x226(r30) +/* 8030CA1C 0030867C 7D 40 37 2C */ sthbrx r10, 0, r6 +/* 8030CA20 00308680 80 DE 02 34 */ lwz r6, 0x234(r30) +/* 8030CA24 00308684 54 C6 84 3E */ srwi r6, r6, 0x10 +/* 8030CA28 00308688 7C C0 2F 2C */ sthbrx r6, 0, r5 +/* 8030CA2C 0030868C 80 BE 02 34 */ lwz r5, 0x234(r30) +/* 8030CA30 00308690 7C A0 07 2C */ sthbrx r5, 0, r0 +/* 8030CA34 00308694 80 DE 02 28 */ lwz r6, 0x228(r30) +/* 8030CA38 00308698 54 C5 42 1E */ rlwinm r5, r6, 8, 8, 0xf +/* 8030CA3C 0030869C 54 C0 C4 2E */ rlwinm r0, r6, 0x18, 0x10, 0x17 +/* 8030CA40 003086A0 50 C5 C0 0E */ rlwimi r5, r6, 0x18, 0, 7 +/* 8030CA44 003086A4 50 C0 46 3E */ rlwimi r0, r6, 8, 0x18, 0x1f +/* 8030CA48 003086A8 7C A0 03 78 */ or r0, r5, r0 +/* 8030CA4C 003086AC 90 01 00 2C */ stw r0, 0x2c(r1) +/* 8030CA50 003086B0 80 BE 02 38 */ lwz r5, 0x238(r30) +/* 8030CA54 003086B4 A0 DE 02 3C */ lhz r6, 0x23c(r30) +/* 8030CA58 003086B8 48 00 C3 91 */ bl func_80318DE8 +/* 8030CA5C 003086BC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CA60 003086C0 41 82 00 08 */ beq lbl_8030CA68 +/* 8030CA64 003086C4 48 00 00 1C */ b lbl_8030CA80 +lbl_8030CA68: +/* 8030CA68 003086C8 80 81 00 08 */ lwz r4, 8(r1) +/* 8030CA6C 003086CC 38 64 FF E0 */ addi r3, r4, -32 +/* 8030CA70 003086D0 20 04 00 20 */ subfic r0, r4, 0x20 +/* 8030CA74 003086D4 7C 60 03 78 */ or r0, r3, r0 +/* 8030CA78 003086D8 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030CA7C 003086DC 70 03 00 11 */ andi. r3, r0, 0x11 +lbl_8030CA80: +/* 8030CA80 003086E0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8030CA84 003086E4 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 8030CA88 003086E8 83 C1 00 38 */ lwz r30, 0x38(r1) +/* 8030CA8C 003086EC 83 A1 00 34 */ lwz r29, 0x34(r1) +/* 8030CA90 003086F0 7C 08 03 A6 */ mtlr r0 +/* 8030CA94 003086F4 38 21 00 40 */ addi r1, r1, 0x40 +/* 8030CA98 003086F8 4E 80 00 20 */ blr + +.global func_8030CA9C +func_8030CA9C: +/* 8030CA9C 003086FC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030CAA0 00308700 7C 08 02 A6 */ mflr r0 +/* 8030CAA4 00308704 38 A4 00 01 */ addi r5, r4, 1 +/* 8030CAA8 00308708 38 E0 00 01 */ li r7, 1 +/* 8030CAAC 0030870C 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030CAB0 00308710 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030CAB4 00308714 7C 9F 23 78 */ mr r31, r4 +/* 8030CAB8 00308718 48 00 00 0C */ b lbl_8030CAC4 +lbl_8030CABC: +/* 8030CABC 0030871C 38 E7 00 01 */ addi r7, r7, 1 +/* 8030CAC0 00308720 38 A5 00 01 */ addi r5, r5, 1 +lbl_8030CAC4: +/* 8030CAC4 00308724 88 C5 00 00 */ lbz r6, 0(r5) +/* 8030CAC8 00308728 7C C0 07 74 */ extsb r0, r6 +/* 8030CACC 0030872C 2C 00 00 7E */ cmpwi r0, 0x7e +/* 8030CAD0 00308730 41 82 00 14 */ beq lbl_8030CAE4 +/* 8030CAD4 00308734 2C 00 00 00 */ cmpwi r0, 0 +/* 8030CAD8 00308738 41 82 00 0C */ beq lbl_8030CAE4 +/* 8030CADC 0030873C 28 07 00 07 */ cmplwi r7, 7 +/* 8030CAE0 00308740 41 80 FF DC */ blt lbl_8030CABC +lbl_8030CAE4: +/* 8030CAE4 00308744 28 07 00 07 */ cmplwi r7, 7 +/* 8030CAE8 00308748 40 80 00 78 */ bge lbl_8030CB60 +/* 8030CAEC 0030874C 7C C0 07 74 */ extsb r0, r6 +/* 8030CAF0 00308750 2C 00 00 7E */ cmpwi r0, 0x7e +/* 8030CAF4 00308754 40 82 00 6C */ bne lbl_8030CB60 +/* 8030CAF8 00308758 38 E7 00 01 */ addi r7, r7, 1 +/* 8030CAFC 0030875C 7C 84 3A 14 */ add r4, r4, r7 +/* 8030CB00 00308760 48 00 00 08 */ b lbl_8030CB08 +lbl_8030CB04: +/* 8030CB04 00308764 38 84 00 01 */ addi r4, r4, 1 +lbl_8030CB08: +/* 8030CB08 00308768 88 A4 00 00 */ lbz r5, 0(r4) +/* 8030CB0C 0030876C 7C A0 07 74 */ extsb r0, r5 +/* 8030CB10 00308770 2C 00 00 30 */ cmpwi r0, 0x30 +/* 8030CB14 00308774 41 80 00 0C */ blt lbl_8030CB20 +/* 8030CB18 00308778 2C 00 00 39 */ cmpwi r0, 0x39 +/* 8030CB1C 0030877C 40 81 FF E8 */ ble lbl_8030CB04 +lbl_8030CB20: +/* 8030CB20 00308780 7C A0 07 74 */ extsb r0, r5 +/* 8030CB24 00308784 2C 00 00 2E */ cmpwi r0, 0x2e +/* 8030CB28 00308788 41 82 00 0C */ beq lbl_8030CB34 +/* 8030CB2C 0030878C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030CB30 00308790 40 82 00 30 */ bne lbl_8030CB60 +lbl_8030CB34: +/* 8030CB34 00308794 7F E4 FB 78 */ mr r4, r31 +/* 8030CB38 00308798 38 A1 00 08 */ addi r5, r1, 8 +/* 8030CB3C 0030879C 4B FF EF 55 */ bl func_8030BA90 +/* 8030CB40 003087A0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CB44 003087A4 41 82 00 08 */ beq lbl_8030CB4C +/* 8030CB48 003087A8 48 00 00 1C */ b lbl_8030CB64 +lbl_8030CB4C: +/* 8030CB4C 003087AC 80 81 00 08 */ lwz r4, 8(r1) +/* 8030CB50 003087B0 28 04 00 01 */ cmplwi r4, 1 +/* 8030CB54 003087B4 41 82 00 0C */ beq lbl_8030CB60 +/* 8030CB58 003087B8 7F E3 FB 78 */ mr r3, r31 +/* 8030CB5C 003087BC 48 00 B6 91 */ bl func_803181EC +lbl_8030CB60: +/* 8030CB60 003087C0 38 60 00 00 */ li r3, 0 +lbl_8030CB64: +/* 8030CB64 003087C4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030CB68 003087C8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030CB6C 003087CC 7C 08 03 A6 */ mtlr r0 +/* 8030CB70 003087D0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030CB74 003087D4 4E 80 00 20 */ blr + +.global func_8030CB78 +func_8030CB78: +/* 8030CB78 003087D8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030CB7C 003087DC 7C 08 02 A6 */ mflr r0 +/* 8030CB80 003087E0 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030CB84 003087E4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030CB88 003087E8 7C 9F 23 78 */ mr r31, r4 +/* 8030CB8C 003087EC 38 81 00 08 */ addi r4, r1, 8 +/* 8030CB90 003087F0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030CB94 003087F4 7C 7E 1B 78 */ mr r30, r3 +/* 8030CB98 003087F8 38 61 00 10 */ addi r3, r1, 0x10 +/* 8030CB9C 003087FC 48 00 D8 A1 */ bl func_8031A43C +/* 8030CBA0 00308800 A0 61 00 10 */ lhz r3, 0x10(r1) +/* 8030CBA4 00308804 A0 81 00 14 */ lhz r4, 0x14(r1) +/* 8030CBA8 00308808 38 03 F8 44 */ addi r0, r3, -1980 +/* 8030CBAC 0030880C A0 61 00 12 */ lhz r3, 0x12(r1) +/* 8030CBB0 00308810 54 00 4C 2C */ rlwinm r0, r0, 9, 0x10, 0x16 +/* 8030CBB4 00308814 50 60 2D F4 */ rlwimi r0, r3, 5, 0x17, 0x1a +/* 8030CBB8 00308818 50 80 06 FE */ rlwimi r0, r4, 0, 0x1b, 0x1f +/* 8030CBBC 0030881C B0 1E 00 00 */ sth r0, 0(r30) +/* 8030CBC0 00308820 A0 01 00 08 */ lhz r0, 8(r1) +/* 8030CBC4 00308824 A0 81 00 0C */ lhz r4, 0xc(r1) +/* 8030CBC8 00308828 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 8030CBCC 0030882C 54 00 5C 28 */ rlwinm r0, r0, 0xb, 0x10, 0x14 +/* 8030CBD0 00308830 50 60 2D 74 */ rlwimi r0, r3, 5, 0x15, 0x1a +/* 8030CBD4 00308834 50 80 FE FE */ rlwimi r0, r4, 0x1f, 0x1b, 0x1f +/* 8030CBD8 00308838 B0 1F 00 00 */ sth r0, 0(r31) +/* 8030CBDC 0030883C A0 01 00 0E */ lhz r0, 0xe(r1) +/* 8030CBE0 00308840 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030CBE4 00308844 54 03 06 3E */ clrlwi r3, r0, 0x18 +/* 8030CBE8 00308848 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030CBEC 0030884C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030CBF0 00308850 7C 08 03 A6 */ mtlr r0 +/* 8030CBF4 00308854 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030CBF8 00308858 4E 80 00 20 */ blr + +.global func_8030CBFC +func_8030CBFC: +/* 8030CBFC 0030885C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030CC00 00308860 7C 08 02 A6 */ mflr r0 +/* 8030CC04 00308864 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030CC08 00308868 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030CC0C 0030886C 7C 7F 1B 78 */ mr r31, r3 +/* 8030CC10 00308870 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030CC14 00308874 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030CC18 00308878 93 81 00 10 */ stw r28, 0x10(r1) +/* 8030CC1C 0030887C 7C 9C 23 78 */ mr r28, r4 +/* 8030CC20 00308880 80 A3 00 00 */ lwz r5, 0(r3) +/* 8030CC24 00308884 88 03 00 6C */ lbz r0, 0x6c(r3) +/* 8030CC28 00308888 83 C3 00 40 */ lwz r30, 0x40(r3) +/* 8030CC2C 0030888C 7C BD 04 30 */ srw r29, r5, r0 +/* 8030CC30 00308890 7C 1D F0 40 */ cmplw r29, r30 +/* 8030CC34 00308894 41 82 01 3C */ beq lbl_8030CD70 +/* 8030CC38 00308898 93 A3 00 40 */ stw r29, 0x40(r3) +/* 8030CC3C 0030889C 38 C3 00 44 */ addi r6, r3, 0x44 +/* 8030CC40 003088A0 7F A4 EB 78 */ mr r4, r29 +/* 8030CC44 003088A4 38 A0 00 00 */ li r5, 0 +/* 8030CC48 003088A8 38 63 00 08 */ addi r3, r3, 8 +/* 8030CC4C 003088AC 48 00 33 1D */ bl func_8030FF68 +/* 8030CC50 003088B0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CC54 003088B4 41 82 00 08 */ beq lbl_8030CC5C +/* 8030CC58 003088B8 48 00 01 30 */ b lbl_8030CD88 +lbl_8030CC5C: +/* 8030CC5C 003088BC 80 7F 00 44 */ lwz r3, 0x44(r31) +/* 8030CC60 003088C0 3C 03 00 01 */ addis r0, r3, 1 +/* 8030CC64 003088C4 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030CC68 003088C8 40 82 01 08 */ bne lbl_8030CD70 +/* 8030CC6C 003088CC 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030CC70 003088D0 41 82 01 00 */ beq lbl_8030CD70 +/* 8030CC74 003088D4 7F A4 EB 78 */ mr r4, r29 +/* 8030CC78 003088D8 38 7F 00 08 */ addi r3, r31, 8 +/* 8030CC7C 003088DC 38 DF 00 44 */ addi r6, r31, 0x44 +/* 8030CC80 003088E0 38 A0 00 01 */ li r5, 1 +/* 8030CC84 003088E4 48 00 32 E5 */ bl func_8030FF68 +/* 8030CC88 003088E8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CC8C 003088EC 41 82 00 08 */ beq lbl_8030CC94 +/* 8030CC90 003088F0 48 00 00 F8 */ b lbl_8030CD88 +lbl_8030CC94: +/* 8030CC94 003088F4 80 7F 00 44 */ lwz r3, 0x44(r31) +/* 8030CC98 003088F8 3C 03 00 01 */ addis r0, r3, 1 +/* 8030CC9C 003088FC 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030CCA0 00308900 41 82 00 D0 */ beq lbl_8030CD70 +/* 8030CCA4 00308904 3C 1E 00 01 */ addis r0, r30, 1 +/* 8030CCA8 00308908 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030CCAC 0030890C 41 82 00 C4 */ beq lbl_8030CD70 +/* 8030CCB0 00308910 80 7F 00 04 */ lwz r3, 4(r31) +/* 8030CCB4 00308914 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030CCB8 00308918 38 80 FF FF */ li r4, -1 +/* 8030CCBC 0030891C 4B FF D9 FD */ bl VFiPFCACHE_AllocateDataPage +/* 8030CCC0 00308920 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CCC4 00308924 41 82 00 08 */ beq lbl_8030CCCC +/* 8030CCC8 00308928 48 00 00 C0 */ b lbl_8030CD88 +lbl_8030CCCC: +/* 8030CCCC 0030892C 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8030CCD0 00308930 38 80 00 00 */ li r4, 0 +/* 8030CCD4 00308934 80 BF 00 04 */ lwz r5, 4(r31) +/* 8030CCD8 00308938 80 63 00 08 */ lwz r3, 8(r3) +/* 8030CCDC 0030893C A0 A5 00 00 */ lhz r5, 0(r5) +/* 8030CCE0 00308940 4B FF 82 F5 */ bl VFipf_memset +/* 8030CCE4 00308944 3B A0 00 00 */ li r29, 0 +/* 8030CCE8 00308948 48 00 00 70 */ b lbl_8030CD58 +lbl_8030CCEC: +/* 8030CCEC 0030894C 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030CCF0 00308950 39 01 00 08 */ addi r8, r1, 8 +/* 8030CCF4 00308954 80 1F 00 44 */ lwz r0, 0x44(r31) +/* 8030CCF8 00308958 38 C0 00 00 */ li r6, 0 +/* 8030CCFC 0030895C 80 84 00 08 */ lwz r4, 8(r4) +/* 8030CD00 00308960 39 20 00 00 */ li r9, 0 +/* 8030CD04 00308964 A0 E3 00 00 */ lhz r7, 0(r3) +/* 8030CD08 00308968 7C A0 EA 14 */ add r5, r0, r29 +/* 8030CD0C 0030896C 48 00 C0 DD */ bl func_80318DE8 +/* 8030CD10 00308970 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CD14 00308974 7C 7E 1B 78 */ mr r30, r3 +/* 8030CD18 00308978 41 82 00 18 */ beq lbl_8030CD30 +/* 8030CD1C 0030897C 80 7F 00 04 */ lwz r3, 4(r31) +/* 8030CD20 00308980 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030CD24 00308984 4B FF DA 99 */ bl VFiPFCACHE_FreeDataPage +/* 8030CD28 00308988 7F C3 F3 78 */ mr r3, r30 +/* 8030CD2C 0030898C 48 00 00 5C */ b lbl_8030CD88 +lbl_8030CD30: +/* 8030CD30 00308990 80 7F 00 04 */ lwz r3, 4(r31) +/* 8030CD34 00308994 80 81 00 08 */ lwz r4, 8(r1) +/* 8030CD38 00308998 A0 03 00 00 */ lhz r0, 0(r3) +/* 8030CD3C 0030899C 7C 04 00 40 */ cmplw r4, r0 +/* 8030CD40 003089A0 41 82 00 14 */ beq lbl_8030CD54 +/* 8030CD44 003089A4 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030CD48 003089A8 4B FF DA 75 */ bl VFiPFCACHE_FreeDataPage +/* 8030CD4C 003089AC 38 60 00 11 */ li r3, 0x11 +/* 8030CD50 003089B0 48 00 00 38 */ b lbl_8030CD88 +lbl_8030CD54: +/* 8030CD54 003089B4 3B BD 00 01 */ addi r29, r29, 1 +lbl_8030CD58: +/* 8030CD58 003089B8 80 7F 00 04 */ lwz r3, 4(r31) +/* 8030CD5C 003089BC 88 03 00 06 */ lbz r0, 6(r3) +/* 8030CD60 003089C0 7C 1D 00 40 */ cmplw r29, r0 +/* 8030CD64 003089C4 41 80 FF 88 */ blt lbl_8030CCEC +/* 8030CD68 003089C8 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030CD6C 003089CC 4B FF DA 51 */ bl VFiPFCACHE_FreeDataPage +lbl_8030CD70: +/* 8030CD70 003089D0 80 9F 00 00 */ lwz r4, 0(r31) +/* 8030CD74 003089D4 38 60 00 00 */ li r3, 0 +/* 8030CD78 003089D8 A0 1F 00 4A */ lhz r0, 0x4a(r31) +/* 8030CD7C 003089DC 7C 80 00 38 */ and r0, r4, r0 +/* 8030CD80 003089E0 54 00 2C 34 */ rlwinm r0, r0, 5, 0x10, 0x1a +/* 8030CD84 003089E4 B0 1F 00 48 */ sth r0, 0x48(r31) +lbl_8030CD88: +/* 8030CD88 003089E8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030CD8C 003089EC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030CD90 003089F0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030CD94 003089F4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030CD98 003089F8 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8030CD9C 003089FC 7C 08 03 A6 */ mtlr r0 +/* 8030CDA0 00308A00 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030CDA4 00308A04 4E 80 00 20 */ blr + +.global func_8030CDA8 +func_8030CDA8: +/* 8030CDA8 00308A08 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8030CDAC 00308A0C 7C 08 02 A6 */ mflr r0 +/* 8030CDB0 00308A10 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030CDB4 00308A14 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030CDB8 00308A18 4B EB A3 65 */ bl _savegpr_24 +/* 8030CDBC 00308A1C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CDC0 00308A20 7C 7A 1B 78 */ mr r26, r3 +/* 8030CDC4 00308A24 7C 9B 23 78 */ mr r27, r4 +/* 8030CDC8 00308A28 7C BC 2B 78 */ mr r28, r5 +/* 8030CDCC 00308A2C 7C DD 33 78 */ mr r29, r6 +/* 8030CDD0 00308A30 3B 00 00 00 */ li r24, 0 +/* 8030CDD4 00308A34 41 82 00 0C */ beq lbl_8030CDE0 +/* 8030CDD8 00308A38 2C 04 00 00 */ cmpwi r4, 0 +/* 8030CDDC 00308A3C 40 82 00 0C */ bne lbl_8030CDE8 +lbl_8030CDE0: +/* 8030CDE0 00308A40 38 60 00 0A */ li r3, 0xa +/* 8030CDE4 00308A44 48 00 02 CC */ b lbl_8030D0B0 +lbl_8030CDE8: +/* 8030CDE8 00308A48 3B C0 00 00 */ li r30, 0 +/* 8030CDEC 00308A4C 3B E0 00 01 */ li r31, 1 +/* 8030CDF0 00308A50 93 C6 00 00 */ stw r30, 0(r6) +/* 8030CDF4 00308A54 9B C4 02 0A */ stb r30, 0x20a(r4) +/* 8030CDF8 00308A58 9B C4 02 0B */ stb r30, 0x20b(r4) +/* 8030CDFC 00308A5C 9B C4 02 0C */ stb r30, 0x20c(r4) +/* 8030CE00 00308A60 48 00 02 9C */ b lbl_8030D09C +lbl_8030CE04: +/* 8030CE04 00308A64 2C 18 00 00 */ cmpwi r24, 0 +/* 8030CE08 00308A68 41 82 00 0C */ beq lbl_8030CE14 +/* 8030CE0C 00308A6C 7F 03 C3 78 */ mr r3, r24 +/* 8030CE10 00308A70 48 00 02 A0 */ b lbl_8030D0B0 +lbl_8030CE14: +/* 8030CE14 00308A74 88 1A 00 4C */ lbz r0, 0x4c(r26) +/* 8030CE18 00308A78 28 00 00 E5 */ cmplwi r0, 0xe5 +/* 8030CE1C 00308A7C 40 82 00 10 */ bne lbl_8030CE2C +/* 8030CE20 00308A80 9B DB 02 0A */ stb r30, 0x20a(r27) +/* 8030CE24 00308A84 B3 DB 00 00 */ sth r30, 0(r27) +/* 8030CE28 00308A88 48 00 01 D4 */ b lbl_8030CFFC +lbl_8030CE2C: +/* 8030CE2C 00308A8C 88 7A 00 57 */ lbz r3, 0x57(r26) +/* 8030CE30 00308A90 54 60 07 3E */ clrlwi r0, r3, 0x1c +/* 8030CE34 00308A94 2C 00 00 0F */ cmpwi r0, 0xf +/* 8030CE38 00308A98 40 82 00 24 */ bne lbl_8030CE5C +/* 8030CE3C 00308A9C 7F 63 DB 78 */ mr r3, r27 +/* 8030CE40 00308AA0 38 9A 00 4C */ addi r4, r26, 0x4c +/* 8030CE44 00308AA4 4B FF EE C9 */ bl func_8030BD0C +/* 8030CE48 00308AA8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CE4C 00308AAC 41 82 01 B0 */ beq lbl_8030CFFC +/* 8030CE50 00308AB0 9B DB 02 0A */ stb r30, 0x20a(r27) +/* 8030CE54 00308AB4 B3 DB 00 00 */ sth r30, 0(r27) +/* 8030CE58 00308AB8 48 00 01 A4 */ b lbl_8030CFFC +lbl_8030CE5C: +/* 8030CE5C 00308ABC 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c +/* 8030CE60 00308AC0 41 82 00 10 */ beq lbl_8030CE70 +/* 8030CE64 00308AC4 9B DB 02 0A */ stb r30, 0x20a(r27) +/* 8030CE68 00308AC8 B3 DB 00 00 */ sth r30, 0(r27) +/* 8030CE6C 00308ACC 48 00 01 90 */ b lbl_8030CFFC +lbl_8030CE70: +/* 8030CE70 00308AD0 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b +/* 8030CE74 00308AD4 40 82 00 10 */ bne lbl_8030CE84 +/* 8030CE78 00308AD8 9B DB 02 0A */ stb r30, 0x20a(r27) +/* 8030CE7C 00308ADC B3 DB 00 00 */ sth r30, 0(r27) +/* 8030CE80 00308AE0 48 00 01 7C */ b lbl_8030CFFC +lbl_8030CE84: +/* 8030CE84 00308AE4 A0 BA 00 60 */ lhz r5, 0x60(r26) +/* 8030CE88 00308AE8 A0 9A 00 66 */ lhz r4, 0x66(r26) +/* 8030CE8C 00308AEC 54 A3 44 2E */ rlwinm r3, r5, 8, 0x10, 0x17 +/* 8030CE90 00308AF0 54 80 44 2E */ rlwinm r0, r4, 8, 0x10, 0x17 +/* 8030CE94 00308AF4 50 A3 C6 3E */ rlwimi r3, r5, 0x18, 0x18, 0x1f +/* 8030CE98 00308AF8 50 80 C6 3E */ rlwimi r0, r4, 0x18, 0x18, 0x1f +/* 8030CE9C 00308AFC 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf +/* 8030CEA0 00308B00 7C 1C 00 40 */ cmplw r28, r0 +/* 8030CEA4 00308B04 41 82 00 10 */ beq lbl_8030CEB4 +/* 8030CEA8 00308B08 9B DB 02 0A */ stb r30, 0x20a(r27) +/* 8030CEAC 00308B0C B3 DB 00 00 */ sth r30, 0(r27) +/* 8030CEB0 00308B10 48 00 01 4C */ b lbl_8030CFFC +lbl_8030CEB4: +/* 8030CEB4 00308B14 93 FD 00 00 */ stw r31, 0(r29) +/* 8030CEB8 00308B18 7F 63 DB 78 */ mr r3, r27 +/* 8030CEBC 00308B1C 38 9A 00 4C */ addi r4, r26, 0x4c +/* 8030CEC0 00308B20 4B FF ED 59 */ bl func_8030BC18 +/* 8030CEC4 00308B24 88 1B 02 0A */ lbz r0, 0x20a(r27) +/* 8030CEC8 00308B28 2C 00 00 00 */ cmpwi r0, 0 +/* 8030CECC 00308B2C 41 82 00 8C */ beq lbl_8030CF58 +/* 8030CED0 00308B30 88 1B 02 0B */ lbz r0, 0x20b(r27) +/* 8030CED4 00308B34 28 00 00 01 */ cmplwi r0, 1 +/* 8030CED8 00308B38 40 82 00 80 */ bne lbl_8030CF58 +/* 8030CEDC 00308B3C 7F 63 DB 78 */ mr r3, r27 +/* 8030CEE0 00308B40 4B FF EC C9 */ bl func_8030BBA8 +/* 8030CEE4 00308B44 88 1B 02 0C */ lbz r0, 0x20c(r27) +/* 8030CEE8 00308B48 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 8030CEEC 00308B4C 7C 00 18 40 */ cmplw r0, r3 +/* 8030CEF0 00308B50 40 82 00 68 */ bne lbl_8030CF58 +/* 8030CEF4 00308B54 7F 63 DB 78 */ mr r3, r27 +/* 8030CEF8 00308B58 38 9A 00 4C */ addi r4, r26, 0x4c +/* 8030CEFC 00308B5C 4B FF ED 65 */ bl func_8030BC60 +/* 8030CF00 00308B60 80 7A 00 44 */ lwz r3, 0x44(r26) +/* 8030CF04 00308B64 88 1B 02 1C */ lbz r0, 0x21c(r27) +/* 8030CF08 00308B68 90 7B 02 38 */ stw r3, 0x238(r27) +/* 8030CF0C 00308B6C 54 03 06 F7 */ rlwinm. r3, r0, 0, 0x1b, 0x1b +/* 8030CF10 00308B70 A0 1A 00 48 */ lhz r0, 0x48(r26) +/* 8030CF14 00308B74 B0 1B 02 3C */ sth r0, 0x23c(r27) +/* 8030CF18 00308B78 80 1A 00 3C */ lwz r0, 0x3c(r26) +/* 8030CF1C 00308B7C 90 1B 02 2C */ stw r0, 0x22c(r27) +/* 8030CF20 00308B80 41 82 00 1C */ beq lbl_8030CF3C +/* 8030CF24 00308B84 80 1B 02 34 */ lwz r0, 0x234(r27) +/* 8030CF28 00308B88 7C 00 E0 40 */ cmplw r0, r28 +/* 8030CF2C 00308B8C 41 82 00 10 */ beq lbl_8030CF3C +/* 8030CF30 00308B90 9B DB 02 0A */ stb r30, 0x20a(r27) +/* 8030CF34 00308B94 B3 DB 00 00 */ sth r30, 0(r27) +/* 8030CF38 00308B98 48 00 00 C4 */ b lbl_8030CFFC +lbl_8030CF3C: +/* 8030CF3C 00308B9C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030CF40 00308BA0 41 82 00 18 */ beq lbl_8030CF58 +/* 8030CF44 00308BA4 80 1B 02 34 */ lwz r0, 0x234(r27) +/* 8030CF48 00308BA8 2C 00 00 00 */ cmpwi r0, 0 +/* 8030CF4C 00308BAC 40 82 00 0C */ bne lbl_8030CF58 +/* 8030CF50 00308BB0 38 00 00 01 */ li r0, 1 +/* 8030CF54 00308BB4 90 1B 02 34 */ stw r0, 0x234(r27) +lbl_8030CF58: +/* 8030CF58 00308BB8 88 BA 00 58 */ lbz r5, 0x58(r26) +/* 8030CF5C 00308BBC 54 A0 06 F9 */ rlwinm. r0, r5, 0, 0x1b, 0x1c +/* 8030CF60 00308BC0 41 82 00 70 */ beq lbl_8030CFD0 +/* 8030CF64 00308BC4 38 7B 02 0E */ addi r3, r27, 0x20e +/* 8030CF68 00308BC8 38 81 00 0C */ addi r4, r1, 0xc +/* 8030CF6C 00308BCC 48 00 A6 C1 */ bl func_8031762C +/* 8030CF70 00308BD0 7F 63 DB 78 */ mr r3, r27 +/* 8030CF74 00308BD4 38 81 00 0C */ addi r4, r1, 0xc +/* 8030CF78 00308BD8 48 00 AA 95 */ bl func_80317A0C +/* 8030CF7C 00308BDC 3C 80 4E C5 */ lis r4, 0x4EC4EC4F@ha +/* 8030CF80 00308BE0 38 04 EC 4F */ addi r0, r4, 0x4EC4EC4F@l +/* 8030CF84 00308BE4 7C 00 18 96 */ mulhw r0, r0, r3 +/* 8030CF88 00308BE8 7C 05 16 70 */ srawi r5, r0, 2 +/* 8030CF8C 00308BEC 7C 00 16 70 */ srawi r0, r0, 2 +/* 8030CF90 00308BF0 54 04 0F FE */ srwi r4, r0, 0x1f +/* 8030CF94 00308BF4 54 A6 0F FE */ srwi r6, r5, 0x1f +/* 8030CF98 00308BF8 7C 00 22 14 */ add r0, r0, r4 +/* 8030CF9C 00308BFC 1C 00 00 0D */ mulli r0, r0, 0xd +/* 8030CFA0 00308C00 7C A5 32 14 */ add r5, r5, r6 +/* 8030CFA4 00308C04 7C 80 18 50 */ subf r4, r0, r3 +/* 8030CFA8 00308C08 7F 63 DB 78 */ mr r3, r27 +/* 8030CFAC 00308C0C 7C 04 00 D0 */ neg r0, r4 +/* 8030CFB0 00308C10 7C 00 23 78 */ or r0, r0, r4 +/* 8030CFB4 00308C14 54 00 0F FE */ srwi r0, r0, 0x1f +/* 8030CFB8 00308C18 7C 05 02 14 */ add r0, r5, r0 +/* 8030CFBC 00308C1C 98 1B 02 0A */ stb r0, 0x20a(r27) +/* 8030CFC0 00308C20 4B FF EB E9 */ bl func_8030BBA8 +/* 8030CFC4 00308C24 38 00 00 01 */ li r0, 1 +/* 8030CFC8 00308C28 98 7B 02 0C */ stb r3, 0x20c(r27) +/* 8030CFCC 00308C2C 98 1B 02 0B */ stb r0, 0x20b(r27) +lbl_8030CFD0: +/* 8030CFD0 00308C30 7F 63 DB 78 */ mr r3, r27 +/* 8030CFD4 00308C34 38 9A 00 4C */ addi r4, r26, 0x4c +/* 8030CFD8 00308C38 4B FF EC 89 */ bl func_8030BC60 +/* 8030CFDC 00308C3C 80 1A 00 44 */ lwz r0, 0x44(r26) +/* 8030CFE0 00308C40 38 60 00 00 */ li r3, 0 +/* 8030CFE4 00308C44 90 1B 02 38 */ stw r0, 0x238(r27) +/* 8030CFE8 00308C48 A0 1A 00 48 */ lhz r0, 0x48(r26) +/* 8030CFEC 00308C4C B0 1B 02 3C */ sth r0, 0x23c(r27) +/* 8030CFF0 00308C50 80 1A 00 3C */ lwz r0, 0x3c(r26) +/* 8030CFF4 00308C54 90 1B 02 2C */ stw r0, 0x22c(r27) +/* 8030CFF8 00308C58 48 00 00 B8 */ b lbl_8030D0B0 +lbl_8030CFFC: +/* 8030CFFC 00308C5C 83 1A 00 00 */ lwz r24, 0(r26) +/* 8030D000 00308C60 7F 43 D3 78 */ mr r3, r26 +/* 8030D004 00308C64 38 80 00 00 */ li r4, 0 +/* 8030D008 00308C68 38 18 00 01 */ addi r0, r24, 1 +/* 8030D00C 00308C6C 90 1A 00 00 */ stw r0, 0(r26) +/* 8030D010 00308C70 4B FF FB ED */ bl func_8030CBFC +/* 8030D014 00308C74 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D018 00308C78 7C 79 1B 78 */ mr r25, r3 +/* 8030D01C 00308C7C 41 82 00 18 */ beq lbl_8030D034 +/* 8030D020 00308C80 93 1A 00 00 */ stw r24, 0(r26) +/* 8030D024 00308C84 7F 43 D3 78 */ mr r3, r26 +/* 8030D028 00308C88 38 80 00 00 */ li r4, 0 +/* 8030D02C 00308C8C 4B FF FB D1 */ bl func_8030CBFC +/* 8030D030 00308C90 48 00 00 5C */ b lbl_8030D08C +lbl_8030D034: +/* 8030D034 00308C94 80 BA 00 44 */ lwz r5, 0x44(r26) +/* 8030D038 00308C98 3C 05 00 01 */ addis r0, r5, 1 +/* 8030D03C 00308C9C 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030D040 00308CA0 40 82 00 0C */ bne lbl_8030D04C +/* 8030D044 00308CA4 38 80 00 10 */ li r4, 0x10 +/* 8030D048 00308CA8 48 00 00 34 */ b lbl_8030D07C +lbl_8030D04C: +/* 8030D04C 00308CAC 80 7A 00 04 */ lwz r3, 4(r26) +/* 8030D050 00308CB0 38 9A 00 4C */ addi r4, r26, 0x4c +/* 8030D054 00308CB4 A0 DA 00 48 */ lhz r6, 0x48(r26) +/* 8030D058 00308CB8 39 01 00 08 */ addi r8, r1, 8 +/* 8030D05C 00308CBC 38 E0 00 20 */ li r7, 0x20 +/* 8030D060 00308CC0 39 20 00 00 */ li r9, 0 +/* 8030D064 00308CC4 48 00 B9 C5 */ bl func_80318A28 +/* 8030D068 00308CC8 80 01 00 08 */ lwz r0, 8(r1) +/* 8030D06C 00308CCC 38 80 00 11 */ li r4, 0x11 +/* 8030D070 00308CD0 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030D074 00308CD4 40 82 00 08 */ bne lbl_8030D07C +/* 8030D078 00308CD8 7C 64 1B 78 */ mr r4, r3 +lbl_8030D07C: +/* 8030D07C 00308CDC 7C 04 00 D0 */ neg r0, r4 +/* 8030D080 00308CE0 7C 00 23 78 */ or r0, r0, r4 +/* 8030D084 00308CE4 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030D088 00308CE8 7C 99 00 38 */ and r25, r4, r0 +lbl_8030D08C: +/* 8030D08C 00308CEC 7C 19 00 D0 */ neg r0, r25 +/* 8030D090 00308CF0 7C 00 CB 78 */ or r0, r0, r25 +/* 8030D094 00308CF4 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030D098 00308CF8 7F 38 00 38 */ and r24, r25, r0 +lbl_8030D09C: +/* 8030D09C 00308CFC 7F 43 D3 78 */ mr r3, r26 +/* 8030D0A0 00308D00 48 00 0F 5D */ bl func_8030DFFC +/* 8030D0A4 00308D04 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D0A8 00308D08 41 82 FD 5C */ beq lbl_8030CE04 +/* 8030D0AC 00308D0C 38 60 00 00 */ li r3, 0 +lbl_8030D0B0: +/* 8030D0B0 00308D10 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030D0B4 00308D14 4B EB A0 B5 */ bl _restgpr_24 +/* 8030D0B8 00308D18 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8030D0BC 00308D1C 7C 08 03 A6 */ mtlr r0 +/* 8030D0C0 00308D20 38 21 00 40 */ addi r1, r1, 0x40 +/* 8030D0C4 00308D24 4E 80 00 20 */ blr + +.global func_8030D0C8 +func_8030D0C8: +/* 8030D0C8 00308D28 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 8030D0CC 00308D2C 7C 08 02 A6 */ mflr r0 +/* 8030D0D0 00308D30 90 01 00 54 */ stw r0, 0x54(r1) +/* 8030D0D4 00308D34 39 61 00 50 */ addi r11, r1, 0x50 +/* 8030D0D8 00308D38 4B EB A0 41 */ bl _savegpr_23 +/* 8030D0DC 00308D3C 3B C0 00 00 */ li r30, 0 +/* 8030D0E0 00308D40 7C 78 1B 78 */ mr r24, r3 +/* 8030D0E4 00308D44 93 C8 00 00 */ stw r30, 0(r8) +/* 8030D0E8 00308D48 7C 99 23 78 */ mr r25, r4 +/* 8030D0EC 00308D4C 7C BA 2B 78 */ mr r26, r5 +/* 8030D0F0 00308D50 7C DB 33 78 */ mr r27, r6 +/* 8030D0F4 00308D54 80 63 00 10 */ lwz r3, 0x10(r3) +/* 8030D0F8 00308D58 7C FC 3B 78 */ mr r28, r7 +/* 8030D0FC 00308D5C 7D 1D 43 78 */ mr r29, r8 +/* 8030D100 00308D60 7D 37 4B 78 */ mr r23, r9 +/* 8030D104 00308D64 80 03 00 00 */ lwz r0, 0(r3) +/* 8030D108 00308D68 3B E0 00 00 */ li r31, 0 +/* 8030D10C 00308D6C 28 00 00 01 */ cmplwi r0, 1 +/* 8030D110 00308D70 40 82 00 60 */ bne lbl_8030D170 +/* 8030D114 00308D74 7F 43 D3 78 */ mr r3, r26 +/* 8030D118 00308D78 38 8D 8C D0 */ addi r4, r13, lbl_8063DF90-_SDA_BASE_ +/* 8030D11C 00308D7C 38 A0 00 01 */ li r5, 1 +/* 8030D120 00308D80 38 C0 00 00 */ li r6, 0 +/* 8030D124 00308D84 38 E0 00 03 */ li r7, 3 +/* 8030D128 00308D88 4B FF 85 39 */ bl VFiPFSTR_StrNCmp +/* 8030D12C 00308D8C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D130 00308D90 41 82 00 38 */ beq lbl_8030D168 +/* 8030D134 00308D94 7F 43 D3 78 */ mr r3, r26 +/* 8030D138 00308D98 38 8D 8C D4 */ addi r4, r13, lbl_8063DF94-_SDA_BASE_ +/* 8030D13C 00308D9C 38 A0 00 01 */ li r5, 1 +/* 8030D140 00308DA0 38 C0 00 00 */ li r6, 0 +/* 8030D144 00308DA4 38 E0 00 03 */ li r7, 3 +/* 8030D148 00308DA8 4B FF 85 19 */ bl VFiPFSTR_StrNCmp +/* 8030D14C 00308DAC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D150 00308DB0 41 82 00 18 */ beq lbl_8030D168 +/* 8030D154 00308DB4 7F 43 D3 78 */ mr r3, r26 +/* 8030D158 00308DB8 38 8D 8C D8 */ addi r4, r13, lbl_8063DF98-_SDA_BASE_ +/* 8030D15C 00308DBC 4B FF 84 61 */ bl VFiPFSTR_StrCmp +/* 8030D160 00308DC0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D164 00308DC4 40 82 00 0C */ bne lbl_8030D170 +lbl_8030D168: +/* 8030D168 00308DC8 38 60 00 02 */ li r3, 2 +/* 8030D16C 00308DCC 48 00 07 5C */ b lbl_8030D8C8 +lbl_8030D170: +/* 8030D170 00308DD0 7F 43 D3 78 */ mr r3, r26 +/* 8030D174 00308DD4 38 8D 8C DC */ addi r4, r13, lbl_8063DF9C-_SDA_BASE_ +/* 8030D178 00308DD8 38 A0 00 01 */ li r5, 1 +/* 8030D17C 00308DDC 38 C0 00 00 */ li r6, 0 +/* 8030D180 00308DE0 38 E0 00 02 */ li r7, 2 +/* 8030D184 00308DE4 4B FF 84 DD */ bl VFiPFSTR_StrNCmp +/* 8030D188 00308DE8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D18C 00308DEC 41 82 00 18 */ beq lbl_8030D1A4 +/* 8030D190 00308DF0 7F 43 D3 78 */ mr r3, r26 +/* 8030D194 00308DF4 38 8D 8C E0 */ addi r4, r13, lbl_8063DFA0-_SDA_BASE_ +/* 8030D198 00308DF8 4B FF 84 25 */ bl VFiPFSTR_StrCmp +/* 8030D19C 00308DFC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D1A0 00308E00 40 82 00 70 */ bne lbl_8030D210 +lbl_8030D1A4: +/* 8030D1A4 00308E04 2C 17 00 00 */ cmpwi r23, 0 +/* 8030D1A8 00308E08 40 82 00 50 */ bne lbl_8030D1F8 +/* 8030D1AC 00308E0C 80 78 00 10 */ lwz r3, 0x10(r24) +/* 8030D1B0 00308E10 80 83 00 00 */ lwz r4, 0(r3) +/* 8030D1B4 00308E14 28 04 00 01 */ cmplwi r4, 1 +/* 8030D1B8 00308E18 41 82 00 20 */ beq lbl_8030D1D8 +/* 8030D1BC 00308E1C 80 78 00 3C */ lwz r3, 0x3c(r24) +/* 8030D1C0 00308E20 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030D1C4 00308E24 2C 00 00 02 */ cmpwi r0, 2 +/* 8030D1C8 00308E28 40 82 00 30 */ bne lbl_8030D1F8 +/* 8030D1CC 00308E2C 80 03 00 10 */ lwz r0, 0x10(r3) +/* 8030D1D0 00308E30 7C 04 00 40 */ cmplw r4, r0 +/* 8030D1D4 00308E34 40 82 00 24 */ bne lbl_8030D1F8 +lbl_8030D1D8: +/* 8030D1D8 00308E38 80 78 00 04 */ lwz r3, 4(r24) +/* 8030D1DC 00308E3C 7F 24 CB 78 */ mr r4, r25 +/* 8030D1E0 00308E40 4B FF F5 25 */ bl func_8030C704 +/* 8030D1E4 00308E44 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D1E8 00308E48 7C 7E 1B 78 */ mr r30, r3 +/* 8030D1EC 00308E4C 41 82 00 08 */ beq lbl_8030D1F4 +/* 8030D1F0 00308E50 48 00 06 D8 */ b lbl_8030D8C8 +lbl_8030D1F4: +/* 8030D1F4 00308E54 3A E0 00 01 */ li r23, 1 +lbl_8030D1F8: +/* 8030D1F8 00308E58 28 17 00 01 */ cmplwi r23, 1 +/* 8030D1FC 00308E5C 40 82 00 14 */ bne lbl_8030D210 +/* 8030D200 00308E60 38 00 00 01 */ li r0, 1 +/* 8030D204 00308E64 38 60 00 00 */ li r3, 0 +/* 8030D208 00308E68 90 1D 00 00 */ stw r0, 0(r29) +/* 8030D20C 00308E6C 48 00 06 BC */ b lbl_8030D8C8 +lbl_8030D210: +/* 8030D210 00308E70 38 00 00 00 */ li r0, 0 +/* 8030D214 00308E74 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 8030D218 00308E78 98 19 02 0A */ stb r0, 0x20a(r25) +/* 8030D21C 00308E7C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 8030D220 00308E80 98 19 02 0B */ stb r0, 0x20b(r25) +/* 8030D224 00308E84 98 19 02 0C */ stb r0, 0x20c(r25) +/* 8030D228 00308E88 B0 19 00 00 */ sth r0, 0(r25) +/* 8030D22C 00308E8C 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 8030D230 00308E90 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8030D234 00308E94 28 00 00 02 */ cmplwi r0, 2 +/* 8030D238 00308E98 40 82 00 14 */ bne lbl_8030D24C +/* 8030D23C 00308E9C 7F 43 D3 78 */ mr r3, r26 +/* 8030D240 00308EA0 38 81 00 14 */ addi r4, r1, 0x14 +/* 8030D244 00308EA4 48 00 B5 15 */ bl func_80318758 +/* 8030D248 00308EA8 7C 7F 1B 78 */ mr r31, r3 +lbl_8030D24C: +/* 8030D24C 00308EAC 28 1F 00 01 */ cmplwi r31, 1 +/* 8030D250 00308EB0 40 82 03 30 */ bne lbl_8030D580 +/* 8030D254 00308EB4 80 78 00 3C */ lwz r3, 0x3c(r24) +/* 8030D258 00308EB8 80 81 00 14 */ lwz r4, 0x14(r1) +/* 8030D25C 00308EBC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D260 00308EC0 90 78 00 04 */ stw r3, 4(r24) +/* 8030D264 00308EC4 38 C4 FF FF */ addi r6, r4, -1 +/* 8030D268 00308EC8 40 82 00 0C */ bne lbl_8030D274 +/* 8030D26C 00308ECC 3A E0 00 0A */ li r23, 0xa +/* 8030D270 00308ED0 48 00 00 B8 */ b lbl_8030D328 +lbl_8030D274: +/* 8030D274 00308ED4 88 63 00 20 */ lbz r3, 0x20(r3) +/* 8030D278 00308ED8 38 00 FF FF */ li r0, -1 +/* 8030D27C 00308EDC 83 D8 00 00 */ lwz r30, 0(r24) +/* 8030D280 00308EE0 38 80 00 01 */ li r4, 1 +/* 8030D284 00308EE4 38 A3 FF FB */ addi r5, r3, -5 +/* 8030D288 00308EE8 90 18 00 40 */ stw r0, 0x40(r24) +/* 8030D28C 00308EEC 54 A0 06 3E */ clrlwi r0, r5, 0x18 +/* 8030D290 00308EF0 7F 03 C3 78 */ mr r3, r24 +/* 8030D294 00308EF4 7C 84 00 30 */ slw r4, r4, r0 +/* 8030D298 00308EF8 98 B8 00 6C */ stb r5, 0x6c(r24) +/* 8030D29C 00308EFC 38 04 FF FF */ addi r0, r4, -1 +/* 8030D2A0 00308F00 B0 18 00 4A */ sth r0, 0x4a(r24) +/* 8030D2A4 00308F04 38 80 00 00 */ li r4, 0 +/* 8030D2A8 00308F08 90 D8 00 00 */ stw r6, 0(r24) +/* 8030D2AC 00308F0C 4B FF F9 51 */ bl func_8030CBFC +/* 8030D2B0 00308F10 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D2B4 00308F14 7C 77 1B 78 */ mr r23, r3 +/* 8030D2B8 00308F18 41 82 00 18 */ beq lbl_8030D2D0 +/* 8030D2BC 00308F1C 93 D8 00 00 */ stw r30, 0(r24) +/* 8030D2C0 00308F20 7F 03 C3 78 */ mr r3, r24 +/* 8030D2C4 00308F24 38 80 00 00 */ li r4, 0 +/* 8030D2C8 00308F28 4B FF F9 35 */ bl func_8030CBFC +/* 8030D2CC 00308F2C 48 00 00 5C */ b lbl_8030D328 +lbl_8030D2D0: +/* 8030D2D0 00308F30 80 B8 00 44 */ lwz r5, 0x44(r24) +/* 8030D2D4 00308F34 3C 05 00 01 */ addis r0, r5, 1 +/* 8030D2D8 00308F38 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030D2DC 00308F3C 40 82 00 0C */ bne lbl_8030D2E8 +/* 8030D2E0 00308F40 38 80 00 10 */ li r4, 0x10 +/* 8030D2E4 00308F44 48 00 00 34 */ b lbl_8030D318 +lbl_8030D2E8: +/* 8030D2E8 00308F48 80 78 00 04 */ lwz r3, 4(r24) +/* 8030D2EC 00308F4C 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D2F0 00308F50 A0 D8 00 48 */ lhz r6, 0x48(r24) +/* 8030D2F4 00308F54 39 01 00 10 */ addi r8, r1, 0x10 +/* 8030D2F8 00308F58 38 E0 00 20 */ li r7, 0x20 +/* 8030D2FC 00308F5C 39 20 00 00 */ li r9, 0 +/* 8030D300 00308F60 48 00 B7 29 */ bl func_80318A28 +/* 8030D304 00308F64 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030D308 00308F68 38 80 00 11 */ li r4, 0x11 +/* 8030D30C 00308F6C 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030D310 00308F70 40 82 00 08 */ bne lbl_8030D318 +/* 8030D314 00308F74 7C 64 1B 78 */ mr r4, r3 +lbl_8030D318: +/* 8030D318 00308F78 7C 04 00 D0 */ neg r0, r4 +/* 8030D31C 00308F7C 7C 00 23 78 */ or r0, r0, r4 +/* 8030D320 00308F80 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030D324 00308F84 7C 97 00 38 */ and r23, r4, r0 +lbl_8030D328: +/* 8030D328 00308F88 3B C0 00 00 */ li r30, 0 +lbl_8030D32C: +/* 8030D32C 00308F8C 2C 17 00 00 */ cmpwi r23, 0 +/* 8030D330 00308F90 41 82 00 0C */ beq lbl_8030D33C +/* 8030D334 00308F94 7E E3 BB 78 */ mr r3, r23 +/* 8030D338 00308F98 48 00 05 90 */ b lbl_8030D8C8 +lbl_8030D33C: +/* 8030D33C 00308F9C 88 18 00 57 */ lbz r0, 0x57(r24) +/* 8030D340 00308FA0 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 8030D344 00308FA4 2C 00 00 0F */ cmpwi r0, 0xf +/* 8030D348 00308FA8 40 82 00 34 */ bne lbl_8030D37C +/* 8030D34C 00308FAC 7F 23 CB 78 */ mr r3, r25 +/* 8030D350 00308FB0 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D354 00308FB4 4B FF E9 B9 */ bl func_8030BD0C +/* 8030D358 00308FB8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D35C 00308FBC 41 82 00 10 */ beq lbl_8030D36C +/* 8030D360 00308FC0 9B D9 02 0A */ stb r30, 0x20a(r25) +/* 8030D364 00308FC4 B3 D9 00 00 */ sth r30, 0(r25) +/* 8030D368 00308FC8 48 00 02 04 */ b lbl_8030D56C +lbl_8030D36C: +/* 8030D36C 00308FCC 88 18 00 4C */ lbz r0, 0x4c(r24) +/* 8030D370 00308FD0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 +/* 8030D374 00308FD4 41 82 01 F8 */ beq lbl_8030D56C +/* 8030D378 00308FD8 48 00 00 0C */ b lbl_8030D384 +lbl_8030D37C: +/* 8030D37C 00308FDC 38 60 00 00 */ li r3, 0 +/* 8030D380 00308FE0 48 00 05 48 */ b lbl_8030D8C8 +lbl_8030D384: +/* 8030D384 00308FE4 80 78 00 3C */ lwz r3, 0x3c(r24) +/* 8030D388 00308FE8 80 C1 00 14 */ lwz r6, 0x14(r1) +/* 8030D38C 00308FEC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D390 00308FF0 90 78 00 04 */ stw r3, 4(r24) +/* 8030D394 00308FF4 40 82 00 0C */ bne lbl_8030D3A0 +/* 8030D398 00308FF8 3A E0 00 0A */ li r23, 0xa +/* 8030D39C 00308FFC 48 00 00 B8 */ b lbl_8030D454 +lbl_8030D3A0: +/* 8030D3A0 00309000 88 63 00 20 */ lbz r3, 0x20(r3) +/* 8030D3A4 00309004 38 00 FF FF */ li r0, -1 +/* 8030D3A8 00309008 83 D8 00 00 */ lwz r30, 0(r24) +/* 8030D3AC 0030900C 38 80 00 01 */ li r4, 1 +/* 8030D3B0 00309010 38 A3 FF FB */ addi r5, r3, -5 +/* 8030D3B4 00309014 90 18 00 40 */ stw r0, 0x40(r24) +/* 8030D3B8 00309018 54 A0 06 3E */ clrlwi r0, r5, 0x18 +/* 8030D3BC 0030901C 7F 03 C3 78 */ mr r3, r24 +/* 8030D3C0 00309020 7C 84 00 30 */ slw r4, r4, r0 +/* 8030D3C4 00309024 98 B8 00 6C */ stb r5, 0x6c(r24) +/* 8030D3C8 00309028 38 04 FF FF */ addi r0, r4, -1 +/* 8030D3CC 0030902C B0 18 00 4A */ sth r0, 0x4a(r24) +/* 8030D3D0 00309030 38 80 00 00 */ li r4, 0 +/* 8030D3D4 00309034 90 D8 00 00 */ stw r6, 0(r24) +/* 8030D3D8 00309038 4B FF F8 25 */ bl func_8030CBFC +/* 8030D3DC 0030903C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D3E0 00309040 7C 77 1B 78 */ mr r23, r3 +/* 8030D3E4 00309044 41 82 00 18 */ beq lbl_8030D3FC +/* 8030D3E8 00309048 93 D8 00 00 */ stw r30, 0(r24) +/* 8030D3EC 0030904C 7F 03 C3 78 */ mr r3, r24 +/* 8030D3F0 00309050 38 80 00 00 */ li r4, 0 +/* 8030D3F4 00309054 4B FF F8 09 */ bl func_8030CBFC +/* 8030D3F8 00309058 48 00 00 5C */ b lbl_8030D454 +lbl_8030D3FC: +/* 8030D3FC 0030905C 80 B8 00 44 */ lwz r5, 0x44(r24) +/* 8030D400 00309060 3C 05 00 01 */ addis r0, r5, 1 +/* 8030D404 00309064 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030D408 00309068 40 82 00 0C */ bne lbl_8030D414 +/* 8030D40C 0030906C 38 80 00 10 */ li r4, 0x10 +/* 8030D410 00309070 48 00 00 34 */ b lbl_8030D444 +lbl_8030D414: +/* 8030D414 00309074 80 78 00 04 */ lwz r3, 4(r24) +/* 8030D418 00309078 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D41C 0030907C A0 D8 00 48 */ lhz r6, 0x48(r24) +/* 8030D420 00309080 39 01 00 0C */ addi r8, r1, 0xc +/* 8030D424 00309084 38 E0 00 20 */ li r7, 0x20 +/* 8030D428 00309088 39 20 00 00 */ li r9, 0 +/* 8030D42C 0030908C 48 00 B5 FD */ bl func_80318A28 +/* 8030D430 00309090 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030D434 00309094 38 80 00 11 */ li r4, 0x11 +/* 8030D438 00309098 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030D43C 0030909C 40 82 00 08 */ bne lbl_8030D444 +/* 8030D440 003090A0 7C 64 1B 78 */ mr r4, r3 +lbl_8030D444: +/* 8030D444 003090A4 7C 04 00 D0 */ neg r0, r4 +/* 8030D448 003090A8 7C 00 23 78 */ or r0, r0, r4 +/* 8030D44C 003090AC 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030D450 003090B0 7C 97 00 38 */ and r23, r4, r0 +lbl_8030D454: +/* 8030D454 003090B4 2C 17 00 00 */ cmpwi r23, 0 +/* 8030D458 003090B8 41 82 00 0C */ beq lbl_8030D464 +/* 8030D45C 003090BC 7E E3 BB 78 */ mr r3, r23 +/* 8030D460 003090C0 48 00 04 68 */ b lbl_8030D8C8 +lbl_8030D464: +/* 8030D464 003090C4 88 78 00 57 */ lbz r3, 0x57(r24) +/* 8030D468 003090C8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D46C 003090CC 40 82 00 08 */ bne lbl_8030D474 +/* 8030D470 003090D0 38 60 00 40 */ li r3, 0x40 +lbl_8030D474: +/* 8030D474 003090D4 57 60 06 31 */ rlwinm. r0, r27, 0, 0x18, 0x18 +/* 8030D478 003090D8 41 82 00 38 */ beq lbl_8030D4B0 +/* 8030D47C 003090DC 57 7B 06 7F */ clrlwi. r27, r27, 0x19 +/* 8030D480 003090E0 57 9C 06 7E */ clrlwi r28, r28, 0x19 +/* 8030D484 003090E4 41 82 00 10 */ beq lbl_8030D494 +/* 8030D488 003090E8 7F 60 18 38 */ and r0, r27, r3 +/* 8030D48C 003090EC 7C 1B 00 00 */ cmpw r27, r0 +/* 8030D490 003090F0 40 82 00 18 */ bne lbl_8030D4A8 +lbl_8030D494: +/* 8030D494 003090F4 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030D498 003090F8 41 82 00 3C */ beq lbl_8030D4D4 +/* 8030D49C 003090FC 7F 80 18 38 */ and r0, r28, r3 +/* 8030D4A0 00309100 7C 1C 00 00 */ cmpw r28, r0 +/* 8030D4A4 00309104 40 82 00 30 */ bne lbl_8030D4D4 +lbl_8030D4A8: +/* 8030D4A8 00309108 3A E0 FF FF */ li r23, -1 +/* 8030D4AC 0030910C 48 00 00 28 */ b lbl_8030D4D4 +lbl_8030D4B0: +/* 8030D4B0 00309110 28 1B 00 7F */ cmplwi r27, 0x7f +/* 8030D4B4 00309114 41 82 00 20 */ beq lbl_8030D4D4 +/* 8030D4B8 00309118 7C 03 D8 40 */ cmplw r3, r27 +/* 8030D4BC 0030911C 41 82 00 18 */ beq lbl_8030D4D4 +/* 8030D4C0 00309120 7C 60 D8 39 */ and. r0, r3, r27 +/* 8030D4C4 00309124 41 82 00 0C */ beq lbl_8030D4D0 +/* 8030D4C8 00309128 7C 60 E0 39 */ and. r0, r3, r28 +/* 8030D4CC 0030912C 41 82 00 08 */ beq lbl_8030D4D4 +lbl_8030D4D0: +/* 8030D4D0 00309130 3A E0 FF FF */ li r23, -1 +lbl_8030D4D4: +/* 8030D4D4 00309134 2C 17 FF FF */ cmpwi r23, -1 +/* 8030D4D8 00309138 40 82 00 0C */ bne lbl_8030D4E4 +/* 8030D4DC 0030913C 38 60 00 00 */ li r3, 0 +/* 8030D4E0 00309140 48 00 03 E8 */ b lbl_8030D8C8 +lbl_8030D4E4: +/* 8030D4E4 00309144 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c +/* 8030D4E8 00309148 41 82 00 0C */ beq lbl_8030D4F4 +/* 8030D4EC 0030914C 38 60 00 03 */ li r3, 3 +/* 8030D4F0 00309150 48 00 03 D8 */ b lbl_8030D8C8 +lbl_8030D4F4: +/* 8030D4F4 00309154 7F 23 CB 78 */ mr r3, r25 +/* 8030D4F8 00309158 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D4FC 0030915C 4B FF E7 1D */ bl func_8030BC18 +/* 8030D500 00309160 7F 44 D3 78 */ mr r4, r26 +/* 8030D504 00309164 38 79 02 0E */ addi r3, r25, 0x20e +/* 8030D508 00309168 38 A0 00 00 */ li r5, 0 +/* 8030D50C 0030916C 48 00 9A 21 */ bl func_80316F2C +/* 8030D510 00309170 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D514 00309174 41 82 03 B0 */ beq lbl_8030D8C4 +/* 8030D518 00309178 7F 23 CB 78 */ mr r3, r25 +/* 8030D51C 0030917C 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D520 00309180 4B FF E7 41 */ bl func_8030BC60 +/* 8030D524 00309184 80 78 00 44 */ lwz r3, 0x44(r24) +/* 8030D528 00309188 88 19 02 1C */ lbz r0, 0x21c(r25) +/* 8030D52C 0030918C 90 79 02 38 */ stw r3, 0x238(r25) +/* 8030D530 00309190 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 8030D534 00309194 A0 18 00 48 */ lhz r0, 0x48(r24) +/* 8030D538 00309198 B0 19 02 3C */ sth r0, 0x23c(r25) +/* 8030D53C 0030919C 80 18 00 3C */ lwz r0, 0x3c(r24) +/* 8030D540 003091A0 90 19 02 2C */ stw r0, 0x22c(r25) +/* 8030D544 003091A4 41 82 00 18 */ beq lbl_8030D55C +/* 8030D548 003091A8 80 19 02 34 */ lwz r0, 0x234(r25) +/* 8030D54C 003091AC 2C 00 00 00 */ cmpwi r0, 0 +/* 8030D550 003091B0 40 82 00 0C */ bne lbl_8030D55C +/* 8030D554 003091B4 38 00 00 01 */ li r0, 1 +/* 8030D558 003091B8 90 19 02 34 */ stw r0, 0x234(r25) +lbl_8030D55C: +/* 8030D55C 003091BC 38 00 00 01 */ li r0, 1 +/* 8030D560 003091C0 38 60 00 00 */ li r3, 0 +/* 8030D564 003091C4 90 1D 00 00 */ stw r0, 0(r29) +/* 8030D568 003091C8 48 00 03 60 */ b lbl_8030D8C8 +lbl_8030D56C: +/* 8030D56C 003091CC 7F 03 C3 78 */ mr r3, r24 +/* 8030D570 003091D0 38 80 00 00 */ li r4, 0 +/* 8030D574 003091D4 48 00 0C 8D */ bl func_8030E200 +/* 8030D578 003091D8 7C 77 1B 78 */ mr r23, r3 +/* 8030D57C 003091DC 4B FF FD B0 */ b lbl_8030D32C +lbl_8030D580: +/* 8030D580 003091E0 3B E0 00 00 */ li r31, 0 +/* 8030D584 003091E4 48 00 03 30 */ b lbl_8030D8B4 +lbl_8030D588: +/* 8030D588 003091E8 2C 1E 00 00 */ cmpwi r30, 0 +/* 8030D58C 003091EC 41 82 00 0C */ beq lbl_8030D598 +/* 8030D590 003091F0 7F C3 F3 78 */ mr r3, r30 +/* 8030D594 003091F4 48 00 03 34 */ b lbl_8030D8C8 +lbl_8030D598: +/* 8030D598 003091F8 88 18 00 4C */ lbz r0, 0x4c(r24) +/* 8030D59C 003091FC 2C 00 00 00 */ cmpwi r0, 0 +/* 8030D5A0 00309200 41 82 03 24 */ beq lbl_8030D8C4 +/* 8030D5A4 00309204 28 00 00 E5 */ cmplwi r0, 0xe5 +/* 8030D5A8 00309208 40 82 00 10 */ bne lbl_8030D5B8 +/* 8030D5AC 0030920C 9B F9 02 0A */ stb r31, 0x20a(r25) +/* 8030D5B0 00309210 B3 F9 00 00 */ sth r31, 0(r25) +/* 8030D5B4 00309214 48 00 02 60 */ b lbl_8030D814 +lbl_8030D5B8: +/* 8030D5B8 00309218 88 78 00 57 */ lbz r3, 0x57(r24) +/* 8030D5BC 0030921C 54 60 07 3E */ clrlwi r0, r3, 0x1c +/* 8030D5C0 00309220 2C 00 00 0F */ cmpwi r0, 0xf +/* 8030D5C4 00309224 40 82 00 24 */ bne lbl_8030D5E8 +/* 8030D5C8 00309228 7F 23 CB 78 */ mr r3, r25 +/* 8030D5CC 0030922C 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D5D0 00309230 4B FF E7 3D */ bl func_8030BD0C +/* 8030D5D4 00309234 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D5D8 00309238 41 82 02 3C */ beq lbl_8030D814 +/* 8030D5DC 0030923C 9B F9 02 0A */ stb r31, 0x20a(r25) +/* 8030D5E0 00309240 B3 F9 00 00 */ sth r31, 0(r25) +/* 8030D5E4 00309244 48 00 02 30 */ b lbl_8030D814 +lbl_8030D5E8: +/* 8030D5E8 00309248 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D5EC 0030924C 40 82 00 08 */ bne lbl_8030D5F4 +/* 8030D5F0 00309250 38 60 00 40 */ li r3, 0x40 +lbl_8030D5F4: +/* 8030D5F4 00309254 57 60 06 31 */ rlwinm. r0, r27, 0, 0x18, 0x18 +/* 8030D5F8 00309258 41 82 00 38 */ beq lbl_8030D630 +/* 8030D5FC 0030925C 57 7B 06 7F */ clrlwi. r27, r27, 0x19 +/* 8030D600 00309260 57 9C 06 7E */ clrlwi r28, r28, 0x19 +/* 8030D604 00309264 41 82 00 10 */ beq lbl_8030D614 +/* 8030D608 00309268 7F 60 18 38 */ and r0, r27, r3 +/* 8030D60C 0030926C 7C 1B 00 00 */ cmpw r27, r0 +/* 8030D610 00309270 40 82 00 18 */ bne lbl_8030D628 +lbl_8030D614: +/* 8030D614 00309274 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030D618 00309278 41 82 00 44 */ beq lbl_8030D65C +/* 8030D61C 0030927C 7F 80 18 38 */ and r0, r28, r3 +/* 8030D620 00309280 7C 1C 00 00 */ cmpw r28, r0 +/* 8030D624 00309284 40 82 00 38 */ bne lbl_8030D65C +lbl_8030D628: +/* 8030D628 00309288 3B C0 FF FF */ li r30, -1 +/* 8030D62C 0030928C 48 00 00 30 */ b lbl_8030D65C +lbl_8030D630: +/* 8030D630 00309290 57 60 06 3E */ clrlwi r0, r27, 0x18 +/* 8030D634 00309294 28 00 00 7F */ cmplwi r0, 0x7f +/* 8030D638 00309298 41 82 00 24 */ beq lbl_8030D65C +/* 8030D63C 0030929C 7C 03 00 40 */ cmplw r3, r0 +/* 8030D640 003092A0 41 82 00 1C */ beq lbl_8030D65C +/* 8030D644 003092A4 7C 60 00 39 */ and. r0, r3, r0 +/* 8030D648 003092A8 41 82 00 10 */ beq lbl_8030D658 +/* 8030D64C 003092AC 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 8030D650 003092B0 7C 60 00 39 */ and. r0, r3, r0 +/* 8030D654 003092B4 41 82 00 08 */ beq lbl_8030D65C +lbl_8030D658: +/* 8030D658 003092B8 3B C0 FF FF */ li r30, -1 +lbl_8030D65C: +/* 8030D65C 003092BC 2C 1E FF FF */ cmpwi r30, -1 +/* 8030D660 003092C0 40 82 00 10 */ bne lbl_8030D670 +/* 8030D664 003092C4 9B F9 02 0A */ stb r31, 0x20a(r25) +/* 8030D668 003092C8 B3 F9 00 00 */ sth r31, 0(r25) +/* 8030D66C 003092CC 48 00 01 A8 */ b lbl_8030D814 +lbl_8030D670: +/* 8030D670 003092D0 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c +/* 8030D674 003092D4 41 82 00 0C */ beq lbl_8030D680 +/* 8030D678 003092D8 9B F9 02 0A */ stb r31, 0x20a(r25) +/* 8030D67C 003092DC B3 F9 00 00 */ sth r31, 0(r25) +lbl_8030D680: +/* 8030D680 003092E0 7F 23 CB 78 */ mr r3, r25 +/* 8030D684 003092E4 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D688 003092E8 4B FF E5 91 */ bl func_8030BC18 +/* 8030D68C 003092EC 88 19 02 0A */ lbz r0, 0x20a(r25) +/* 8030D690 003092F0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030D694 003092F4 41 82 00 94 */ beq lbl_8030D728 +/* 8030D698 003092F8 88 19 02 0B */ lbz r0, 0x20b(r25) +/* 8030D69C 003092FC 28 00 00 01 */ cmplwi r0, 1 +/* 8030D6A0 00309300 40 82 00 88 */ bne lbl_8030D728 +/* 8030D6A4 00309304 7F 23 CB 78 */ mr r3, r25 +/* 8030D6A8 00309308 4B FF E5 01 */ bl func_8030BBA8 +/* 8030D6AC 0030930C 88 19 02 0C */ lbz r0, 0x20c(r25) +/* 8030D6B0 00309310 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 8030D6B4 00309314 7C 00 18 40 */ cmplw r0, r3 +/* 8030D6B8 00309318 40 82 00 70 */ bne lbl_8030D728 +/* 8030D6BC 0030931C 7F 23 CB 78 */ mr r3, r25 +/* 8030D6C0 00309320 7F 44 D3 78 */ mr r4, r26 +/* 8030D6C4 00309324 38 A0 00 01 */ li r5, 1 +/* 8030D6C8 00309328 48 00 98 65 */ bl func_80316F2C +/* 8030D6CC 0030932C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D6D0 00309330 41 82 00 58 */ beq lbl_8030D728 +/* 8030D6D4 00309334 7F 23 CB 78 */ mr r3, r25 +/* 8030D6D8 00309338 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D6DC 0030933C 4B FF E5 85 */ bl func_8030BC60 +/* 8030D6E0 00309340 80 78 00 44 */ lwz r3, 0x44(r24) +/* 8030D6E4 00309344 88 19 02 1C */ lbz r0, 0x21c(r25) +/* 8030D6E8 00309348 90 79 02 38 */ stw r3, 0x238(r25) +/* 8030D6EC 0030934C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 8030D6F0 00309350 A0 18 00 48 */ lhz r0, 0x48(r24) +/* 8030D6F4 00309354 B0 19 02 3C */ sth r0, 0x23c(r25) +/* 8030D6F8 00309358 80 18 00 3C */ lwz r0, 0x3c(r24) +/* 8030D6FC 0030935C 90 19 02 2C */ stw r0, 0x22c(r25) +/* 8030D700 00309360 41 82 00 18 */ beq lbl_8030D718 +/* 8030D704 00309364 80 19 02 34 */ lwz r0, 0x234(r25) +/* 8030D708 00309368 2C 00 00 00 */ cmpwi r0, 0 +/* 8030D70C 0030936C 40 82 00 0C */ bne lbl_8030D718 +/* 8030D710 00309370 38 00 00 01 */ li r0, 1 +/* 8030D714 00309374 90 19 02 34 */ stw r0, 0x234(r25) +lbl_8030D718: +/* 8030D718 00309378 38 00 00 01 */ li r0, 1 +/* 8030D71C 0030937C 38 60 00 00 */ li r3, 0 +/* 8030D720 00309380 90 1D 00 00 */ stw r0, 0(r29) +/* 8030D724 00309384 48 00 01 A4 */ b lbl_8030D8C8 +lbl_8030D728: +/* 8030D728 00309388 7F 44 D3 78 */ mr r4, r26 +/* 8030D72C 0030938C 38 79 02 0E */ addi r3, r25, 0x20e +/* 8030D730 00309390 38 A0 00 00 */ li r5, 0 +/* 8030D734 00309394 48 00 97 F9 */ bl func_80316F2C +/* 8030D738 00309398 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D73C 0030939C 41 82 00 D0 */ beq lbl_8030D80C +/* 8030D740 003093A0 88 B8 00 58 */ lbz r5, 0x58(r24) +/* 8030D744 003093A4 54 A0 06 F9 */ rlwinm. r0, r5, 0, 0x1b, 0x1c +/* 8030D748 003093A8 41 82 00 70 */ beq lbl_8030D7B8 +/* 8030D74C 003093AC 38 79 02 0E */ addi r3, r25, 0x20e +/* 8030D750 003093B0 38 81 00 18 */ addi r4, r1, 0x18 +/* 8030D754 003093B4 48 00 9E D9 */ bl func_8031762C +/* 8030D758 003093B8 7F 23 CB 78 */ mr r3, r25 +/* 8030D75C 003093BC 38 81 00 18 */ addi r4, r1, 0x18 +/* 8030D760 003093C0 48 00 A2 AD */ bl func_80317A0C +/* 8030D764 003093C4 3C 80 4E C5 */ lis r4, 0x4EC4EC4F@ha +/* 8030D768 003093C8 38 04 EC 4F */ addi r0, r4, 0x4EC4EC4F@l +/* 8030D76C 003093CC 7C 00 18 96 */ mulhw r0, r0, r3 +/* 8030D770 003093D0 7C 05 16 70 */ srawi r5, r0, 2 +/* 8030D774 003093D4 7C 00 16 70 */ srawi r0, r0, 2 +/* 8030D778 003093D8 54 04 0F FE */ srwi r4, r0, 0x1f +/* 8030D77C 003093DC 54 A6 0F FE */ srwi r6, r5, 0x1f +/* 8030D780 003093E0 7C 00 22 14 */ add r0, r0, r4 +/* 8030D784 003093E4 1C 00 00 0D */ mulli r0, r0, 0xd +/* 8030D788 003093E8 7C A5 32 14 */ add r5, r5, r6 +/* 8030D78C 003093EC 7C 80 18 50 */ subf r4, r0, r3 +/* 8030D790 003093F0 7F 23 CB 78 */ mr r3, r25 +/* 8030D794 003093F4 7C 04 00 D0 */ neg r0, r4 +/* 8030D798 003093F8 7C 00 23 78 */ or r0, r0, r4 +/* 8030D79C 003093FC 54 00 0F FE */ srwi r0, r0, 0x1f +/* 8030D7A0 00309400 7C 05 02 14 */ add r0, r5, r0 +/* 8030D7A4 00309404 98 19 02 0A */ stb r0, 0x20a(r25) +/* 8030D7A8 00309408 4B FF E4 01 */ bl func_8030BBA8 +/* 8030D7AC 0030940C 38 00 00 01 */ li r0, 1 +/* 8030D7B0 00309410 98 79 02 0C */ stb r3, 0x20c(r25) +/* 8030D7B4 00309414 98 19 02 0B */ stb r0, 0x20b(r25) +lbl_8030D7B8: +/* 8030D7B8 00309418 7F 23 CB 78 */ mr r3, r25 +/* 8030D7BC 0030941C 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D7C0 00309420 4B FF E4 A1 */ bl func_8030BC60 +/* 8030D7C4 00309424 80 78 00 44 */ lwz r3, 0x44(r24) +/* 8030D7C8 00309428 88 19 02 1C */ lbz r0, 0x21c(r25) +/* 8030D7CC 0030942C 90 79 02 38 */ stw r3, 0x238(r25) +/* 8030D7D0 00309430 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 8030D7D4 00309434 A0 18 00 48 */ lhz r0, 0x48(r24) +/* 8030D7D8 00309438 B0 19 02 3C */ sth r0, 0x23c(r25) +/* 8030D7DC 0030943C 80 18 00 3C */ lwz r0, 0x3c(r24) +/* 8030D7E0 00309440 90 19 02 2C */ stw r0, 0x22c(r25) +/* 8030D7E4 00309444 41 82 00 18 */ beq lbl_8030D7FC +/* 8030D7E8 00309448 80 19 02 34 */ lwz r0, 0x234(r25) +/* 8030D7EC 0030944C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030D7F0 00309450 40 82 00 0C */ bne lbl_8030D7FC +/* 8030D7F4 00309454 38 00 00 01 */ li r0, 1 +/* 8030D7F8 00309458 90 19 02 34 */ stw r0, 0x234(r25) +lbl_8030D7FC: +/* 8030D7FC 0030945C 38 00 00 01 */ li r0, 1 +/* 8030D800 00309460 38 60 00 00 */ li r3, 0 +/* 8030D804 00309464 90 1D 00 00 */ stw r0, 0(r29) +/* 8030D808 00309468 48 00 00 C0 */ b lbl_8030D8C8 +lbl_8030D80C: +/* 8030D80C 0030946C 9B F9 02 0A */ stb r31, 0x20a(r25) +/* 8030D810 00309470 B3 F9 00 00 */ sth r31, 0(r25) +lbl_8030D814: +/* 8030D814 00309474 82 F8 00 00 */ lwz r23, 0(r24) +/* 8030D818 00309478 7F 03 C3 78 */ mr r3, r24 +/* 8030D81C 0030947C 38 80 00 00 */ li r4, 0 +/* 8030D820 00309480 38 17 00 01 */ addi r0, r23, 1 +/* 8030D824 00309484 90 18 00 00 */ stw r0, 0(r24) +/* 8030D828 00309488 4B FF F3 D5 */ bl func_8030CBFC +/* 8030D82C 0030948C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D830 00309490 7C 7E 1B 78 */ mr r30, r3 +/* 8030D834 00309494 41 82 00 18 */ beq lbl_8030D84C +/* 8030D838 00309498 92 F8 00 00 */ stw r23, 0(r24) +/* 8030D83C 0030949C 7F 03 C3 78 */ mr r3, r24 +/* 8030D840 003094A0 38 80 00 00 */ li r4, 0 +/* 8030D844 003094A4 4B FF F3 B9 */ bl func_8030CBFC +/* 8030D848 003094A8 48 00 00 5C */ b lbl_8030D8A4 +lbl_8030D84C: +/* 8030D84C 003094AC 80 B8 00 44 */ lwz r5, 0x44(r24) +/* 8030D850 003094B0 3C 05 00 01 */ addis r0, r5, 1 +/* 8030D854 003094B4 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030D858 003094B8 40 82 00 0C */ bne lbl_8030D864 +/* 8030D85C 003094BC 38 80 00 10 */ li r4, 0x10 +/* 8030D860 003094C0 48 00 00 34 */ b lbl_8030D894 +lbl_8030D864: +/* 8030D864 003094C4 80 78 00 04 */ lwz r3, 4(r24) +/* 8030D868 003094C8 38 98 00 4C */ addi r4, r24, 0x4c +/* 8030D86C 003094CC A0 D8 00 48 */ lhz r6, 0x48(r24) +/* 8030D870 003094D0 39 01 00 08 */ addi r8, r1, 8 +/* 8030D874 003094D4 38 E0 00 20 */ li r7, 0x20 +/* 8030D878 003094D8 39 20 00 00 */ li r9, 0 +/* 8030D87C 003094DC 48 00 B1 AD */ bl func_80318A28 +/* 8030D880 003094E0 80 01 00 08 */ lwz r0, 8(r1) +/* 8030D884 003094E4 38 80 00 11 */ li r4, 0x11 +/* 8030D888 003094E8 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030D88C 003094EC 40 82 00 08 */ bne lbl_8030D894 +/* 8030D890 003094F0 7C 64 1B 78 */ mr r4, r3 +lbl_8030D894: +/* 8030D894 003094F4 7C 04 00 D0 */ neg r0, r4 +/* 8030D898 003094F8 7C 00 23 78 */ or r0, r0, r4 +/* 8030D89C 003094FC 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030D8A0 00309500 7C 9E 00 38 */ and r30, r4, r0 +lbl_8030D8A4: +/* 8030D8A4 00309504 7C 1E 00 D0 */ neg r0, r30 +/* 8030D8A8 00309508 7C 00 F3 78 */ or r0, r0, r30 +/* 8030D8AC 0030950C 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030D8B0 00309510 7F DE 00 38 */ and r30, r30, r0 +lbl_8030D8B4: +/* 8030D8B4 00309514 7F 03 C3 78 */ mr r3, r24 +/* 8030D8B8 00309518 48 00 07 45 */ bl func_8030DFFC +/* 8030D8BC 0030951C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D8C0 00309520 41 82 FC C8 */ beq lbl_8030D588 +lbl_8030D8C4: +/* 8030D8C4 00309524 38 60 00 00 */ li r3, 0 +lbl_8030D8C8: +/* 8030D8C8 00309528 39 61 00 50 */ addi r11, r1, 0x50 +/* 8030D8CC 0030952C 4B EB 98 99 */ bl _restgpr_23 +/* 8030D8D0 00309530 80 01 00 54 */ lwz r0, 0x54(r1) +/* 8030D8D4 00309534 7C 08 03 A6 */ mtlr r0 +/* 8030D8D8 00309538 38 21 00 50 */ addi r1, r1, 0x50 +/* 8030D8DC 0030953C 4E 80 00 20 */ blr +lbl_8030D8E0: +/* 8030D8E0 00309540 94 21 FD 60 */ stwu r1, -0x2a0(r1) +/* 8030D8E4 00309544 7C 08 02 A6 */ mflr r0 +/* 8030D8E8 00309548 90 01 02 A4 */ stw r0, 0x2a4(r1) +/* 8030D8EC 0030954C 39 61 02 A0 */ addi r11, r1, 0x2a0 +/* 8030D8F0 00309550 4B EB 98 21 */ bl _savegpr_21 +/* 8030D8F4 00309554 7C D6 33 78 */ mr r22, r6 +/* 8030D8F8 00309558 7C 77 1B 78 */ mr r23, r3 +/* 8030D8FC 0030955C 7C 98 23 78 */ mr r24, r4 +/* 8030D900 00309560 7C BB 2B 78 */ mr r27, r5 +/* 8030D904 00309564 7C F9 3B 78 */ mr r25, r7 +/* 8030D908 00309568 7D 1A 43 78 */ mr r26, r8 +/* 8030D90C 0030956C 7E C3 B3 78 */ mr r3, r22 +/* 8030D910 00309570 38 8D 8C E4 */ addi r4, r13, lbl_8063DFA4-_SDA_BASE_ +/* 8030D914 00309574 38 A0 00 01 */ li r5, 1 +/* 8030D918 00309578 38 C0 00 01 */ li r6, 1 +/* 8030D91C 0030957C 38 E0 00 01 */ li r7, 1 +/* 8030D920 00309580 4B FF 7D 41 */ bl VFiPFSTR_StrNCmp +/* 8030D924 00309584 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D928 00309588 40 82 00 10 */ bne lbl_8030D938 +/* 8030D92C 0030958C 7E C3 B3 78 */ mr r3, r22 +/* 8030D930 00309590 38 80 00 02 */ li r4, 2 +/* 8030D934 00309594 4B FF 7A 05 */ bl VFiPFSTR_MoveStrPos +lbl_8030D938: +/* 8030D938 00309598 7E C3 B3 78 */ mr r3, r22 +/* 8030D93C 0030959C 38 8D 8C E8 */ addi r4, r13, lbl_8063DFA8-_SDA_BASE_ +/* 8030D940 003095A0 38 A0 00 01 */ li r5, 1 +/* 8030D944 003095A4 38 C0 00 00 */ li r6, 0 +/* 8030D948 003095A8 38 E0 00 01 */ li r7, 1 +/* 8030D94C 003095AC 4B FF 7D 15 */ bl VFiPFSTR_StrNCmp +/* 8030D950 003095B0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D954 003095B4 41 82 00 24 */ beq lbl_8030D978 +/* 8030D958 003095B8 7E C3 B3 78 */ mr r3, r22 +/* 8030D95C 003095BC 38 8D 8C EC */ addi r4, r13, lbl_8063DFAC-_SDA_BASE_ +/* 8030D960 003095C0 38 A0 00 01 */ li r5, 1 +/* 8030D964 003095C4 38 C0 00 00 */ li r6, 0 +/* 8030D968 003095C8 38 E0 00 01 */ li r7, 1 +/* 8030D96C 003095CC 4B FF 7C F5 */ bl VFiPFSTR_StrNCmp +/* 8030D970 003095D0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D974 003095D4 40 82 00 5C */ bne lbl_8030D9D0 +lbl_8030D978: +/* 8030D978 003095D8 7F 63 DB 78 */ mr r3, r27 +/* 8030D97C 003095DC 7F 04 C3 78 */ mr r4, r24 +/* 8030D980 003095E0 4B FF ED 85 */ bl func_8030C704 +/* 8030D984 003095E4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D988 003095E8 41 82 00 08 */ beq lbl_8030D990 +/* 8030D98C 003095EC 48 00 05 54 */ b lbl_8030DEE0 +lbl_8030D990: +/* 8030D990 003095F0 7E C3 B3 78 */ mr r3, r22 +/* 8030D994 003095F4 38 80 00 01 */ li r4, 1 +/* 8030D998 003095F8 4B FF 7B 45 */ bl VFiPFSTR_StrNumChar +/* 8030D99C 003095FC 54 60 04 3E */ clrlwi r0, r3, 0x10 +/* 8030D9A0 00309600 28 00 00 01 */ cmplwi r0, 1 +/* 8030D9A4 00309604 40 82 00 44 */ bne lbl_8030D9E8 +/* 8030D9A8 00309608 7E C3 B3 78 */ mr r3, r22 +/* 8030D9AC 0030960C 38 8D 8C F0 */ addi r4, r13, lbl_8063DFB0-_SDA_BASE_ +/* 8030D9B0 00309610 38 A0 00 02 */ li r5, 2 +/* 8030D9B4 00309614 38 C0 00 00 */ li r6, 0 +/* 8030D9B8 00309618 38 E0 00 01 */ li r7, 1 +/* 8030D9BC 0030961C 4B FF 7C A5 */ bl VFiPFSTR_StrNCmp +/* 8030D9C0 00309620 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D9C4 00309624 40 82 00 24 */ bne lbl_8030D9E8 +/* 8030D9C8 00309628 38 60 00 00 */ li r3, 0 +/* 8030D9CC 0030962C 48 00 05 14 */ b lbl_8030DEE0 +lbl_8030D9D0: +/* 8030D9D0 00309630 7F 63 DB 78 */ mr r3, r27 +/* 8030D9D4 00309634 7F 04 C3 78 */ mr r4, r24 +/* 8030D9D8 00309638 48 00 BD 25 */ bl func_803196FC +/* 8030D9DC 0030963C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030D9E0 00309640 41 82 00 08 */ beq lbl_8030D9E8 +/* 8030D9E4 00309644 48 00 04 FC */ b lbl_8030DEE0 +lbl_8030D9E8: +/* 8030D9E8 00309648 7E C3 B3 78 */ mr r3, r22 +/* 8030D9EC 0030964C 38 80 00 01 */ li r4, 1 +/* 8030D9F0 00309650 4B FF 79 21 */ bl VFiPFSTR_GetStrPos +/* 8030D9F4 00309654 7C 75 1B 78 */ mr r21, r3 +/* 8030D9F8 00309658 7F 65 DB 78 */ mr r5, r27 +/* 8030D9FC 0030965C 38 77 00 08 */ addi r3, r23, 8 +/* 8030DA00 00309660 38 81 00 14 */ addi r4, r1, 0x14 +/* 8030DA04 00309664 38 D7 00 0C */ addi r6, r23, 0xc +/* 8030DA08 00309668 48 00 36 C1 */ bl func_803110C8 +/* 8030DA0C 0030966C 80 18 02 34 */ lwz r0, 0x234(r24) +/* 8030DA10 00309670 7E C3 B3 78 */ mr r3, r22 +/* 8030DA14 00309674 90 17 00 0C */ stw r0, 0xc(r23) +/* 8030DA18 00309678 4B FF 78 C9 */ bl VFiPFSTR_GetCodeMode +/* 8030DA1C 0030967C 7C 65 1B 78 */ mr r5, r3 +/* 8030DA20 00309680 7E A4 AB 78 */ mr r4, r21 +/* 8030DA24 00309684 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DA28 00309688 48 00 90 D1 */ bl func_80316AF8 +/* 8030DA2C 0030968C 7F 24 CB 78 */ mr r4, r25 +/* 8030DA30 00309690 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DA34 00309694 48 00 90 D5 */ bl func_80316B08 +/* 8030DA38 00309698 3B 80 00 00 */ li r28, 0 +/* 8030DA3C 0030969C 3B A0 00 01 */ li r29, 1 +/* 8030DA40 003096A0 3B C0 FF FF */ li r30, -1 +/* 8030DA44 003096A4 3B E0 00 03 */ li r31, 3 +/* 8030DA48 003096A8 48 00 04 88 */ b lbl_8030DED0 +lbl_8030DA4C: +/* 8030DA4C 003096AC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DA50 003096B0 41 82 00 08 */ beq lbl_8030DA58 +/* 8030DA54 003096B4 48 00 04 8C */ b lbl_8030DEE0 +lbl_8030DA58: +/* 8030DA58 003096B8 2C 1A 00 00 */ cmpwi r26, 0 +/* 8030DA5C 003096BC 41 82 00 24 */ beq lbl_8030DA80 +/* 8030DA60 003096C0 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DA64 003096C4 38 8D 8C F0 */ addi r4, r13, lbl_8063DFB0-_SDA_BASE_ +/* 8030DA68 003096C8 38 A0 00 02 */ li r5, 2 +/* 8030DA6C 003096CC 38 C0 00 00 */ li r6, 0 +/* 8030DA70 003096D0 38 E0 00 01 */ li r7, 1 +/* 8030DA74 003096D4 4B FF 7B ED */ bl VFiPFSTR_StrNCmp +/* 8030DA78 003096D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DA7C 003096DC 41 82 04 60 */ beq lbl_8030DEDC +lbl_8030DA80: +/* 8030DA80 003096E0 88 18 02 1C */ lbz r0, 0x21c(r24) +/* 8030DA84 003096E4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 8030DA88 003096E8 40 82 00 0C */ bne lbl_8030DA94 +/* 8030DA8C 003096EC 38 60 00 02 */ li r3, 2 +/* 8030DA90 003096F0 48 00 04 50 */ b lbl_8030DEE0 +lbl_8030DA94: +/* 8030DA94 003096F4 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DA98 003096F8 4B FF 7A 31 */ bl VFiPFSTR_StrLen +/* 8030DA9C 003096FC 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 8030DAA0 00309700 40 82 00 0C */ bne lbl_8030DAAC +/* 8030DAA4 00309704 38 60 00 02 */ li r3, 2 +/* 8030DAA8 00309708 48 00 04 38 */ b lbl_8030DEE0 +lbl_8030DAAC: +/* 8030DAAC 0030970C 80 18 02 34 */ lwz r0, 0x234(r24) +/* 8030DAB0 00309710 38 77 00 08 */ addi r3, r23, 8 +/* 8030DAB4 00309714 38 97 00 0C */ addi r4, r23, 0xc +/* 8030DAB8 00309718 90 17 00 0C */ stw r0, 0xc(r23) +/* 8030DABC 0030971C 48 00 35 AD */ bl func_80311068 +/* 8030DAC0 00309720 80 77 00 3C */ lwz r3, 0x3c(r23) +/* 8030DAC4 00309724 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DAC8 00309728 90 77 00 04 */ stw r3, 4(r23) +/* 8030DACC 0030972C 40 82 00 0C */ bne lbl_8030DAD8 +/* 8030DAD0 00309730 3A C0 00 0A */ li r22, 0xa +/* 8030DAD4 00309734 48 00 00 B0 */ b lbl_8030DB84 +lbl_8030DAD8: +/* 8030DAD8 00309738 88 A3 00 20 */ lbz r5, 0x20(r3) +/* 8030DADC 0030973C 7E E3 BB 78 */ mr r3, r23 +/* 8030DAE0 00309740 83 77 00 00 */ lwz r27, 0(r23) +/* 8030DAE4 00309744 38 80 00 00 */ li r4, 0 +/* 8030DAE8 00309748 38 C5 FF FB */ addi r6, r5, -5 +/* 8030DAEC 0030974C 93 D7 00 40 */ stw r30, 0x40(r23) +/* 8030DAF0 00309750 54 C0 06 3E */ clrlwi r0, r6, 0x18 +/* 8030DAF4 00309754 7F A5 00 30 */ slw r5, r29, r0 +/* 8030DAF8 00309758 98 D7 00 6C */ stb r6, 0x6c(r23) +/* 8030DAFC 0030975C 38 05 FF FF */ addi r0, r5, -1 +/* 8030DB00 00309760 B0 17 00 4A */ sth r0, 0x4a(r23) +/* 8030DB04 00309764 93 97 00 00 */ stw r28, 0(r23) +/* 8030DB08 00309768 4B FF F0 F5 */ bl func_8030CBFC +/* 8030DB0C 0030976C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DB10 00309770 7C 76 1B 78 */ mr r22, r3 +/* 8030DB14 00309774 41 82 00 18 */ beq lbl_8030DB2C +/* 8030DB18 00309778 93 77 00 00 */ stw r27, 0(r23) +/* 8030DB1C 0030977C 7E E3 BB 78 */ mr r3, r23 +/* 8030DB20 00309780 38 80 00 00 */ li r4, 0 +/* 8030DB24 00309784 4B FF F0 D9 */ bl func_8030CBFC +/* 8030DB28 00309788 48 00 00 5C */ b lbl_8030DB84 +lbl_8030DB2C: +/* 8030DB2C 0030978C 80 B7 00 44 */ lwz r5, 0x44(r23) +/* 8030DB30 00309790 3C 05 00 01 */ addis r0, r5, 1 +/* 8030DB34 00309794 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030DB38 00309798 40 82 00 0C */ bne lbl_8030DB44 +/* 8030DB3C 0030979C 38 80 00 10 */ li r4, 0x10 +/* 8030DB40 003097A0 48 00 00 34 */ b lbl_8030DB74 +lbl_8030DB44: +/* 8030DB44 003097A4 80 77 00 04 */ lwz r3, 4(r23) +/* 8030DB48 003097A8 38 97 00 4C */ addi r4, r23, 0x4c +/* 8030DB4C 003097AC A0 D7 00 48 */ lhz r6, 0x48(r23) +/* 8030DB50 003097B0 39 01 00 0C */ addi r8, r1, 0xc +/* 8030DB54 003097B4 38 E0 00 20 */ li r7, 0x20 +/* 8030DB58 003097B8 39 20 00 00 */ li r9, 0 +/* 8030DB5C 003097BC 48 00 AE CD */ bl func_80318A28 +/* 8030DB60 003097C0 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030DB64 003097C4 38 80 00 11 */ li r4, 0x11 +/* 8030DB68 003097C8 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030DB6C 003097CC 40 82 00 08 */ bne lbl_8030DB74 +/* 8030DB70 003097D0 7C 64 1B 78 */ mr r4, r3 +lbl_8030DB74: +/* 8030DB74 003097D4 7C 04 00 D0 */ neg r0, r4 +/* 8030DB78 003097D8 7C 00 23 78 */ or r0, r0, r4 +/* 8030DB7C 003097DC 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030DB80 003097E0 7C 96 00 38 */ and r22, r4, r0 +lbl_8030DB84: +/* 8030DB84 003097E4 2C 16 00 00 */ cmpwi r22, 0 +/* 8030DB88 003097E8 41 82 00 0C */ beq lbl_8030DB94 +/* 8030DB8C 003097EC 7E C3 B3 78 */ mr r3, r22 +/* 8030DB90 003097F0 48 00 03 50 */ b lbl_8030DEE0 +lbl_8030DB94: +/* 8030DB94 003097F4 80 B7 00 10 */ lwz r5, 0x10(r23) +/* 8030DB98 003097F8 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DB9C 003097FC 3A A0 00 00 */ li r21, 0 +/* 8030DBA0 00309800 38 8D 8C D0 */ addi r4, r13, lbl_8063DF90-_SDA_BASE_ +/* 8030DBA4 00309804 83 65 00 00 */ lwz r27, 0(r5) +/* 8030DBA8 00309808 38 A0 00 01 */ li r5, 1 +/* 8030DBAC 0030980C 38 C0 00 00 */ li r6, 0 +/* 8030DBB0 00309810 38 E0 00 03 */ li r7, 3 +/* 8030DBB4 00309814 4B FF 7A AD */ bl VFiPFSTR_StrNCmp +/* 8030DBB8 00309818 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DBBC 0030981C 41 82 00 38 */ beq lbl_8030DBF4 +/* 8030DBC0 00309820 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DBC4 00309824 38 8D 8C D4 */ addi r4, r13, lbl_8063DF94-_SDA_BASE_ +/* 8030DBC8 00309828 38 A0 00 01 */ li r5, 1 +/* 8030DBCC 0030982C 38 C0 00 00 */ li r6, 0 +/* 8030DBD0 00309830 38 E0 00 03 */ li r7, 3 +/* 8030DBD4 00309834 4B FF 7A 8D */ bl VFiPFSTR_StrNCmp +/* 8030DBD8 00309838 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DBDC 0030983C 41 82 00 18 */ beq lbl_8030DBF4 +/* 8030DBE0 00309840 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DBE4 00309844 38 8D 8C D8 */ addi r4, r13, lbl_8063DF98-_SDA_BASE_ +/* 8030DBE8 00309848 4B FF 79 D5 */ bl VFiPFSTR_StrCmp +/* 8030DBEC 0030984C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DBF0 00309850 40 82 00 40 */ bne lbl_8030DC30 +lbl_8030DBF4: +/* 8030DBF4 00309854 38 78 02 0E */ addi r3, r24, 0x20e +/* 8030DBF8 00309858 38 8D 8C D8 */ addi r4, r13, lbl_8063DF98-_SDA_BASE_ +/* 8030DBFC 0030985C 4B FF 75 15 */ bl VFipf_strcmp +/* 8030DC00 00309860 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DC04 00309864 41 82 00 2C */ beq lbl_8030DC30 +/* 8030DC08 00309868 88 18 02 0A */ lbz r0, 0x20a(r24) +/* 8030DC0C 0030986C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030DC10 00309870 41 82 00 14 */ beq lbl_8030DC24 +/* 8030DC14 00309874 7F 03 C3 78 */ mr r3, r24 +/* 8030DC18 00309878 48 00 9C 2D */ bl func_80317844 +/* 8030DC1C 0030987C 3A A3 00 01 */ addi r21, r3, 1 +/* 8030DC20 00309880 48 00 00 10 */ b lbl_8030DC30 +lbl_8030DC24: +/* 8030DC24 00309884 38 78 02 0E */ addi r3, r24, 0x20e +/* 8030DC28 00309888 48 00 9B B5 */ bl func_803177DC +/* 8030DC2C 0030988C 3A A3 00 01 */ addi r21, r3, 1 +lbl_8030DC30: +/* 8030DC30 00309890 7E E3 BB 78 */ mr r3, r23 +/* 8030DC34 00309894 7F 04 C3 78 */ mr r4, r24 +/* 8030DC38 00309898 38 A1 00 20 */ addi r5, r1, 0x20 +/* 8030DC3C 0030989C 39 01 00 10 */ addi r8, r1, 0x10 +/* 8030DC40 003098A0 38 C0 00 7F */ li r6, 0x7f +/* 8030DC44 003098A4 38 E0 00 00 */ li r7, 0 +/* 8030DC48 003098A8 39 20 00 01 */ li r9, 1 +/* 8030DC4C 003098AC 4B FF F4 7D */ bl func_8030D0C8 +/* 8030DC50 003098B0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DC54 003098B4 41 82 00 08 */ beq lbl_8030DC5C +/* 8030DC58 003098B8 48 00 02 88 */ b lbl_8030DEE0 +lbl_8030DC5C: +/* 8030DC5C 003098BC 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030DC60 003098C0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030DC64 003098C4 40 82 00 30 */ bne lbl_8030DC94 +/* 8030DC68 003098C8 7F 24 CB 78 */ mr r4, r25 +/* 8030DC6C 003098CC 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DC70 003098D0 48 00 8E 99 */ bl func_80316B08 +/* 8030DC74 003098D4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DC78 003098D8 41 82 00 08 */ beq lbl_8030DC80 +/* 8030DC7C 003098DC 48 00 02 64 */ b lbl_8030DEE0 +lbl_8030DC80: +/* 8030DC80 003098E0 80 01 00 20 */ lwz r0, 0x20(r1) +/* 8030DC84 003098E4 7C 00 00 34 */ cntlzw r0, r0 +/* 8030DC88 003098E8 54 03 D9 7E */ srwi r3, r0, 5 +/* 8030DC8C 003098EC 38 63 00 02 */ addi r3, r3, 2 +/* 8030DC90 003098F0 48 00 02 50 */ b lbl_8030DEE0 +lbl_8030DC94: +/* 8030DC94 003098F4 2C 19 00 00 */ cmpwi r25, 0 +/* 8030DC98 003098F8 40 82 02 2C */ bne lbl_8030DEC4 +/* 8030DC9C 003098FC 88 18 02 1C */ lbz r0, 0x21c(r24) +/* 8030DCA0 00309900 54 03 06 F7 */ rlwinm. r3, r0, 0, 0x1b, 0x1b +/* 8030DCA4 00309904 41 82 00 18 */ beq lbl_8030DCBC +/* 8030DCA8 00309908 80 18 02 34 */ lwz r0, 0x234(r24) +/* 8030DCAC 0030990C 28 00 00 01 */ cmplwi r0, 1 +/* 8030DCB0 00309910 40 82 00 0C */ bne lbl_8030DCBC +/* 8030DCB4 00309914 93 F8 02 30 */ stw r31, 0x230(r24) +/* 8030DCB8 00309918 48 00 02 0C */ b lbl_8030DEC4 +lbl_8030DCBC: +/* 8030DCBC 0030991C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DCC0 00309920 41 82 01 90 */ beq lbl_8030DE50 +/* 8030DCC4 00309924 38 78 02 0E */ addi r3, r24, 0x20e +/* 8030DCC8 00309928 38 8D 8C D8 */ addi r4, r13, lbl_8063DF98-_SDA_BASE_ +/* 8030DCCC 0030992C 4B FF 74 45 */ bl VFipf_strcmp +/* 8030DCD0 00309930 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DCD4 00309934 40 82 01 7C */ bne lbl_8030DE50 +/* 8030DCD8 00309938 2C 15 00 00 */ cmpwi r21, 0 +/* 8030DCDC 0030993C 41 82 00 14 */ beq lbl_8030DCF0 +/* 8030DCE0 00309940 80 18 02 30 */ lwz r0, 0x230(r24) +/* 8030DCE4 00309944 7C 15 00 50 */ subf r0, r21, r0 +/* 8030DCE8 00309948 90 18 02 30 */ stw r0, 0x230(r24) +/* 8030DCEC 0030994C 48 00 01 D8 */ b lbl_8030DEC4 +lbl_8030DCF0: +/* 8030DCF0 00309950 80 18 02 34 */ lwz r0, 0x234(r24) +/* 8030DCF4 00309954 38 77 00 08 */ addi r3, r23, 8 +/* 8030DCF8 00309958 38 81 02 64 */ addi r4, r1, 0x264 +/* 8030DCFC 0030995C 90 01 02 64 */ stw r0, 0x264(r1) +/* 8030DD00 00309960 48 00 33 69 */ bl func_80311068 +/* 8030DD04 00309964 80 77 00 3C */ lwz r3, 0x3c(r23) +/* 8030DD08 00309968 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DD0C 0030996C 90 77 00 04 */ stw r3, 4(r23) +/* 8030DD10 00309970 40 82 00 0C */ bne lbl_8030DD1C +/* 8030DD14 00309974 3A A0 00 0A */ li r21, 0xa +/* 8030DD18 00309978 48 00 00 B0 */ b lbl_8030DDC8 +lbl_8030DD1C: +/* 8030DD1C 0030997C 88 A3 00 20 */ lbz r5, 0x20(r3) +/* 8030DD20 00309980 7E E3 BB 78 */ mr r3, r23 +/* 8030DD24 00309984 82 D7 00 00 */ lwz r22, 0(r23) +/* 8030DD28 00309988 38 80 00 00 */ li r4, 0 +/* 8030DD2C 0030998C 38 C5 FF FB */ addi r6, r5, -5 +/* 8030DD30 00309990 93 D7 00 40 */ stw r30, 0x40(r23) +/* 8030DD34 00309994 54 C0 06 3E */ clrlwi r0, r6, 0x18 +/* 8030DD38 00309998 7F A5 00 30 */ slw r5, r29, r0 +/* 8030DD3C 0030999C 98 D7 00 6C */ stb r6, 0x6c(r23) +/* 8030DD40 003099A0 38 05 FF FF */ addi r0, r5, -1 +/* 8030DD44 003099A4 B0 17 00 4A */ sth r0, 0x4a(r23) +/* 8030DD48 003099A8 93 97 00 00 */ stw r28, 0(r23) +/* 8030DD4C 003099AC 4B FF EE B1 */ bl func_8030CBFC +/* 8030DD50 003099B0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DD54 003099B4 7C 75 1B 78 */ mr r21, r3 +/* 8030DD58 003099B8 41 82 00 18 */ beq lbl_8030DD70 +/* 8030DD5C 003099BC 92 D7 00 00 */ stw r22, 0(r23) +/* 8030DD60 003099C0 7E E3 BB 78 */ mr r3, r23 +/* 8030DD64 003099C4 38 80 00 00 */ li r4, 0 +/* 8030DD68 003099C8 4B FF EE 95 */ bl func_8030CBFC +/* 8030DD6C 003099CC 48 00 00 5C */ b lbl_8030DDC8 +lbl_8030DD70: +/* 8030DD70 003099D0 80 B7 00 44 */ lwz r5, 0x44(r23) +/* 8030DD74 003099D4 3C 05 00 01 */ addis r0, r5, 1 +/* 8030DD78 003099D8 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030DD7C 003099DC 40 82 00 0C */ bne lbl_8030DD88 +/* 8030DD80 003099E0 38 80 00 10 */ li r4, 0x10 +/* 8030DD84 003099E4 48 00 00 34 */ b lbl_8030DDB8 +lbl_8030DD88: +/* 8030DD88 003099E8 80 77 00 04 */ lwz r3, 4(r23) +/* 8030DD8C 003099EC 38 97 00 4C */ addi r4, r23, 0x4c +/* 8030DD90 003099F0 A0 D7 00 48 */ lhz r6, 0x48(r23) +/* 8030DD94 003099F4 39 01 00 08 */ addi r8, r1, 8 +/* 8030DD98 003099F8 38 E0 00 20 */ li r7, 0x20 +/* 8030DD9C 003099FC 39 20 00 00 */ li r9, 0 +/* 8030DDA0 00309A00 48 00 AC 89 */ bl func_80318A28 +/* 8030DDA4 00309A04 80 01 00 08 */ lwz r0, 8(r1) +/* 8030DDA8 00309A08 38 80 00 11 */ li r4, 0x11 +/* 8030DDAC 00309A0C 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030DDB0 00309A10 40 82 00 08 */ bne lbl_8030DDB8 +/* 8030DDB4 00309A14 7C 64 1B 78 */ mr r4, r3 +lbl_8030DDB8: +/* 8030DDB8 00309A18 7C 04 00 D0 */ neg r0, r4 +/* 8030DDBC 00309A1C 7C 00 23 78 */ or r0, r0, r4 +/* 8030DDC0 00309A20 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030DDC4 00309A24 7C 95 00 38 */ and r21, r4, r0 +lbl_8030DDC8: +/* 8030DDC8 00309A28 2C 15 00 00 */ cmpwi r21, 0 +/* 8030DDCC 00309A2C 41 82 00 0C */ beq lbl_8030DDD8 +/* 8030DDD0 00309A30 7E A3 AB 78 */ mr r3, r21 +/* 8030DDD4 00309A34 48 00 01 0C */ b lbl_8030DEE0 +lbl_8030DDD8: +/* 8030DDD8 00309A38 7E E3 BB 78 */ mr r3, r23 +/* 8030DDDC 00309A3C 7F 65 DB 78 */ mr r5, r27 +/* 8030DDE0 00309A40 38 81 00 30 */ addi r4, r1, 0x30 +/* 8030DDE4 00309A44 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8030DDE8 00309A48 4B FF EF C1 */ bl func_8030CDA8 +/* 8030DDEC 00309A4C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DDF0 00309A50 41 82 00 08 */ beq lbl_8030DDF8 +/* 8030DDF4 00309A54 48 00 00 EC */ b lbl_8030DEE0 +lbl_8030DDF8: +/* 8030DDF8 00309A58 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030DDFC 00309A5C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030DE00 00309A60 40 82 00 0C */ bne lbl_8030DE0C +/* 8030DE04 00309A64 38 60 00 02 */ li r3, 2 +/* 8030DE08 00309A68 48 00 00 D8 */ b lbl_8030DEE0 +lbl_8030DE0C: +/* 8030DE0C 00309A6C 88 01 02 3A */ lbz r0, 0x23a(r1) +/* 8030DE10 00309A70 2C 00 00 00 */ cmpwi r0, 0 +/* 8030DE14 00309A74 41 82 00 20 */ beq lbl_8030DE34 +/* 8030DE18 00309A78 38 61 00 30 */ addi r3, r1, 0x30 +/* 8030DE1C 00309A7C 48 00 9A 29 */ bl func_80317844 +/* 8030DE20 00309A80 80 18 02 30 */ lwz r0, 0x230(r24) +/* 8030DE24 00309A84 38 63 00 01 */ addi r3, r3, 1 +/* 8030DE28 00309A88 7C 03 00 50 */ subf r0, r3, r0 +/* 8030DE2C 00309A8C 90 18 02 30 */ stw r0, 0x230(r24) +/* 8030DE30 00309A90 48 00 00 94 */ b lbl_8030DEC4 +lbl_8030DE34: +/* 8030DE34 00309A94 38 61 02 3E */ addi r3, r1, 0x23e +/* 8030DE38 00309A98 48 00 99 A5 */ bl func_803177DC +/* 8030DE3C 00309A9C 80 18 02 30 */ lwz r0, 0x230(r24) +/* 8030DE40 00309AA0 38 63 00 01 */ addi r3, r3, 1 +/* 8030DE44 00309AA4 7C 03 00 50 */ subf r0, r3, r0 +/* 8030DE48 00309AA8 90 18 02 30 */ stw r0, 0x230(r24) +/* 8030DE4C 00309AAC 48 00 00 78 */ b lbl_8030DEC4 +lbl_8030DE50: +/* 8030DE50 00309AB0 88 18 02 1C */ lbz r0, 0x21c(r24) +/* 8030DE54 00309AB4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 8030DE58 00309AB8 41 82 00 10 */ beq lbl_8030DE68 +/* 8030DE5C 00309ABC 88 18 02 0E */ lbz r0, 0x20e(r24) +/* 8030DE60 00309AC0 2C 00 00 2E */ cmpwi r0, 0x2e +/* 8030DE64 00309AC4 41 82 00 60 */ beq lbl_8030DEC4 +lbl_8030DE68: +/* 8030DE68 00309AC8 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DE6C 00309ACC 38 80 00 01 */ li r4, 1 +/* 8030DE70 00309AD0 4B FF 76 6D */ bl VFiPFSTR_StrNumChar +/* 8030DE74 00309AD4 80 18 02 30 */ lwz r0, 0x230(r24) +/* 8030DE78 00309AD8 54 65 04 3E */ clrlwi r5, r3, 0x10 +/* 8030DE7C 00309ADC 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DE80 00309AE0 38 8D 8C F0 */ addi r4, r13, lbl_8063DFB0-_SDA_BASE_ +/* 8030DE84 00309AE4 7C C5 02 14 */ add r6, r5, r0 +/* 8030DE88 00309AE8 38 A0 00 02 */ li r5, 2 +/* 8030DE8C 00309AEC 38 06 00 01 */ addi r0, r6, 1 +/* 8030DE90 00309AF0 38 E0 00 01 */ li r7, 1 +/* 8030DE94 00309AF4 90 18 02 30 */ stw r0, 0x230(r24) +/* 8030DE98 00309AF8 38 C0 00 00 */ li r6, 0 +/* 8030DE9C 00309AFC 4B FF 77 C5 */ bl VFiPFSTR_StrNCmp +/* 8030DEA0 00309B00 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DEA4 00309B04 41 82 00 20 */ beq lbl_8030DEC4 +/* 8030DEA8 00309B08 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DEAC 00309B0C 38 80 00 02 */ li r4, 2 +/* 8030DEB0 00309B10 4B FF 76 2D */ bl VFiPFSTR_StrNumChar +/* 8030DEB4 00309B14 80 18 02 30 */ lwz r0, 0x230(r24) +/* 8030DEB8 00309B18 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 8030DEBC 00309B1C 7C 03 00 50 */ subf r0, r3, r0 +/* 8030DEC0 00309B20 90 18 02 30 */ stw r0, 0x230(r24) +lbl_8030DEC4: +/* 8030DEC4 00309B24 7F 24 CB 78 */ mr r4, r25 +/* 8030DEC8 00309B28 38 61 00 20 */ addi r3, r1, 0x20 +/* 8030DECC 00309B2C 48 00 8C 3D */ bl func_80316B08 +lbl_8030DED0: +/* 8030DED0 00309B30 80 01 00 20 */ lwz r0, 0x20(r1) +/* 8030DED4 00309B34 2C 00 00 00 */ cmpwi r0, 0 +/* 8030DED8 00309B38 40 82 FB 74 */ bne lbl_8030DA4C +lbl_8030DEDC: +/* 8030DEDC 00309B3C 38 60 00 00 */ li r3, 0 +lbl_8030DEE0: +/* 8030DEE0 00309B40 39 61 02 A0 */ addi r11, r1, 0x2a0 +/* 8030DEE4 00309B44 4B EB 92 79 */ bl _restgpr_21 +/* 8030DEE8 00309B48 80 01 02 A4 */ lwz r0, 0x2a4(r1) +/* 8030DEEC 00309B4C 7C 08 03 A6 */ mtlr r0 +/* 8030DEF0 00309B50 38 21 02 A0 */ addi r1, r1, 0x2a0 +/* 8030DEF4 00309B54 4E 80 00 20 */ blr + +.global func_8030DEF8 +func_8030DEF8: +/* 8030DEF8 00309B58 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030DEFC 00309B5C 7C 08 02 A6 */ mflr r0 +/* 8030DF00 00309B60 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030DF04 00309B64 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030DF08 00309B68 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030DF0C 00309B6C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030DF10 00309B70 7C 7D 1B 78 */ mr r29, r3 +/* 8030DF14 00309B74 80 A3 00 3C */ lwz r5, 0x3c(r3) +/* 8030DF18 00309B78 2C 05 00 00 */ cmpwi r5, 0 +/* 8030DF1C 00309B7C 90 A3 00 04 */ stw r5, 4(r3) +/* 8030DF20 00309B80 40 82 00 0C */ bne lbl_8030DF2C +/* 8030DF24 00309B84 38 60 00 0A */ li r3, 0xa +/* 8030DF28 00309B88 48 00 00 B8 */ b lbl_8030DFE0 +lbl_8030DF2C: +/* 8030DF2C 00309B8C 88 C5 00 20 */ lbz r6, 0x20(r5) +/* 8030DF30 00309B90 38 00 FF FF */ li r0, -1 +/* 8030DF34 00309B94 83 C3 00 00 */ lwz r30, 0(r3) +/* 8030DF38 00309B98 38 A0 00 01 */ li r5, 1 +/* 8030DF3C 00309B9C 38 C6 FF FB */ addi r6, r6, -5 +/* 8030DF40 00309BA0 90 03 00 40 */ stw r0, 0x40(r3) +/* 8030DF44 00309BA4 54 C0 06 3E */ clrlwi r0, r6, 0x18 +/* 8030DF48 00309BA8 7C A5 00 30 */ slw r5, r5, r0 +/* 8030DF4C 00309BAC 90 83 00 00 */ stw r4, 0(r3) +/* 8030DF50 00309BB0 38 05 FF FF */ addi r0, r5, -1 +/* 8030DF54 00309BB4 38 80 00 00 */ li r4, 0 +/* 8030DF58 00309BB8 98 C3 00 6C */ stb r6, 0x6c(r3) +/* 8030DF5C 00309BBC B0 03 00 4A */ sth r0, 0x4a(r3) +/* 8030DF60 00309BC0 4B FF EC 9D */ bl func_8030CBFC +/* 8030DF64 00309BC4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030DF68 00309BC8 7C 7F 1B 78 */ mr r31, r3 +/* 8030DF6C 00309BCC 41 82 00 18 */ beq lbl_8030DF84 +/* 8030DF70 00309BD0 93 DD 00 00 */ stw r30, 0(r29) +/* 8030DF74 00309BD4 7F A3 EB 78 */ mr r3, r29 +/* 8030DF78 00309BD8 38 80 00 00 */ li r4, 0 +/* 8030DF7C 00309BDC 4B FF EC 81 */ bl func_8030CBFC +/* 8030DF80 00309BE0 48 00 00 5C */ b lbl_8030DFDC +lbl_8030DF84: +/* 8030DF84 00309BE4 80 BD 00 44 */ lwz r5, 0x44(r29) +/* 8030DF88 00309BE8 3C 05 00 01 */ addis r0, r5, 1 +/* 8030DF8C 00309BEC 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030DF90 00309BF0 40 82 00 0C */ bne lbl_8030DF9C +/* 8030DF94 00309BF4 38 80 00 10 */ li r4, 0x10 +/* 8030DF98 00309BF8 48 00 00 34 */ b lbl_8030DFCC +lbl_8030DF9C: +/* 8030DF9C 00309BFC 80 7D 00 04 */ lwz r3, 4(r29) +/* 8030DFA0 00309C00 38 9D 00 4C */ addi r4, r29, 0x4c +/* 8030DFA4 00309C04 A0 DD 00 48 */ lhz r6, 0x48(r29) +/* 8030DFA8 00309C08 39 01 00 08 */ addi r8, r1, 8 +/* 8030DFAC 00309C0C 38 E0 00 20 */ li r7, 0x20 +/* 8030DFB0 00309C10 39 20 00 00 */ li r9, 0 +/* 8030DFB4 00309C14 48 00 AA 75 */ bl func_80318A28 +/* 8030DFB8 00309C18 80 01 00 08 */ lwz r0, 8(r1) +/* 8030DFBC 00309C1C 38 80 00 11 */ li r4, 0x11 +/* 8030DFC0 00309C20 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030DFC4 00309C24 40 82 00 08 */ bne lbl_8030DFCC +/* 8030DFC8 00309C28 7C 64 1B 78 */ mr r4, r3 +lbl_8030DFCC: +/* 8030DFCC 00309C2C 7C 04 00 D0 */ neg r0, r4 +/* 8030DFD0 00309C30 7C 00 23 78 */ or r0, r0, r4 +/* 8030DFD4 00309C34 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030DFD8 00309C38 7C 9F 00 38 */ and r31, r4, r0 +lbl_8030DFDC: +/* 8030DFDC 00309C3C 7F E3 FB 78 */ mr r3, r31 +lbl_8030DFE0: +/* 8030DFE0 00309C40 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030DFE4 00309C44 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030DFE8 00309C48 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030DFEC 00309C4C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030DFF0 00309C50 7C 08 03 A6 */ mtlr r0 +/* 8030DFF4 00309C54 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030DFF8 00309C58 4E 80 00 20 */ blr + +.global func_8030DFFC +func_8030DFFC: +/* 8030DFFC 00309C5C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030E000 00309C60 7C 08 02 A6 */ mflr r0 +/* 8030E004 00309C64 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030E008 00309C68 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030E00C 00309C6C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030E010 00309C70 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030E014 00309C74 7C 7D 1B 78 */ mr r29, r3 +/* 8030E018 00309C78 80 83 00 44 */ lwz r4, 0x44(r3) +/* 8030E01C 00309C7C 3C 04 00 01 */ addis r0, r4, 1 +/* 8030E020 00309C80 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E024 00309C84 41 82 00 24 */ beq lbl_8030E048 +/* 8030E028 00309C88 88 03 00 4C */ lbz r0, 0x4c(r3) +/* 8030E02C 00309C8C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030E030 00309C90 41 82 00 18 */ beq lbl_8030E048 +/* 8030E034 00309C94 3C 80 00 0F */ lis r4, 0x000F423F@ha +/* 8030E038 00309C98 80 A3 00 00 */ lwz r5, 0(r3) +/* 8030E03C 00309C9C 38 04 42 3F */ addi r0, r4, 0x000F423F@l +/* 8030E040 00309CA0 7C 05 00 40 */ cmplw r5, r0 +/* 8030E044 00309CA4 41 80 00 A4 */ blt lbl_8030E0E8 +lbl_8030E048: +/* 8030E048 00309CA8 83 E3 00 40 */ lwz r31, 0x40(r3) +/* 8030E04C 00309CAC 38 80 00 00 */ li r4, 0 +/* 8030E050 00309CB0 88 03 00 6C */ lbz r0, 0x6c(r3) +/* 8030E054 00309CB4 38 BF 00 01 */ addi r5, r31, 1 +/* 8030E058 00309CB8 83 C3 00 00 */ lwz r30, 0(r3) +/* 8030E05C 00309CBC 7C A0 00 30 */ slw r0, r5, r0 +/* 8030E060 00309CC0 90 03 00 00 */ stw r0, 0(r3) +/* 8030E064 00309CC4 7F A3 EB 78 */ mr r3, r29 +/* 8030E068 00309CC8 4B FF EB 95 */ bl func_8030CBFC +/* 8030E06C 00309CCC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E070 00309CD0 41 82 00 14 */ beq lbl_8030E084 +/* 8030E074 00309CD4 93 DD 00 00 */ stw r30, 0(r29) +/* 8030E078 00309CD8 38 60 00 01 */ li r3, 1 +/* 8030E07C 00309CDC 93 FD 00 40 */ stw r31, 0x40(r29) +/* 8030E080 00309CE0 48 00 00 6C */ b lbl_8030E0EC +lbl_8030E084: +/* 8030E084 00309CE4 80 BD 00 44 */ lwz r5, 0x44(r29) +/* 8030E088 00309CE8 3C 05 00 01 */ addis r0, r5, 1 +/* 8030E08C 00309CEC 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E090 00309CF0 41 82 00 50 */ beq lbl_8030E0E0 +/* 8030E094 00309CF4 40 82 00 0C */ bne lbl_8030E0A0 +/* 8030E098 00309CF8 38 80 00 10 */ li r4, 0x10 +/* 8030E09C 00309CFC 48 00 00 34 */ b lbl_8030E0D0 +lbl_8030E0A0: +/* 8030E0A0 00309D00 80 7D 00 04 */ lwz r3, 4(r29) +/* 8030E0A4 00309D04 38 9D 00 4C */ addi r4, r29, 0x4c +/* 8030E0A8 00309D08 A0 DD 00 48 */ lhz r6, 0x48(r29) +/* 8030E0AC 00309D0C 39 01 00 08 */ addi r8, r1, 8 +/* 8030E0B0 00309D10 38 E0 00 20 */ li r7, 0x20 +/* 8030E0B4 00309D14 39 20 00 00 */ li r9, 0 +/* 8030E0B8 00309D18 48 00 A9 71 */ bl func_80318A28 +/* 8030E0BC 00309D1C 80 01 00 08 */ lwz r0, 8(r1) +/* 8030E0C0 00309D20 38 80 00 11 */ li r4, 0x11 +/* 8030E0C4 00309D24 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030E0C8 00309D28 40 82 00 08 */ bne lbl_8030E0D0 +/* 8030E0CC 00309D2C 7C 64 1B 78 */ mr r4, r3 +lbl_8030E0D0: +/* 8030E0D0 00309D30 7C 04 00 D0 */ neg r0, r4 +/* 8030E0D4 00309D34 7C 00 23 78 */ or r0, r0, r4 +/* 8030E0D8 00309D38 54 03 0F FE */ srwi r3, r0, 0x1f +/* 8030E0DC 00309D3C 48 00 00 10 */ b lbl_8030E0EC +lbl_8030E0E0: +/* 8030E0E0 00309D40 38 60 00 01 */ li r3, 1 +/* 8030E0E4 00309D44 48 00 00 08 */ b lbl_8030E0EC +lbl_8030E0E8: +/* 8030E0E8 00309D48 38 60 00 00 */ li r3, 0 +lbl_8030E0EC: +/* 8030E0EC 00309D4C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030E0F0 00309D50 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030E0F4 00309D54 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030E0F8 00309D58 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030E0FC 00309D5C 7C 08 03 A6 */ mtlr r0 +/* 8030E100 00309D60 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030E104 00309D64 4E 80 00 20 */ blr + +.global func_8030E108 +func_8030E108: +/* 8030E108 00309D68 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030E10C 00309D6C 7C 08 02 A6 */ mflr r0 +/* 8030E110 00309D70 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030E114 00309D74 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030E118 00309D78 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030E11C 00309D7C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030E120 00309D80 7C 7D 1B 78 */ mr r29, r3 +/* 8030E124 00309D84 83 C3 00 00 */ lwz r30, 0(r3) +/* 8030E128 00309D88 38 DE 00 01 */ addi r6, r30, 1 +/* 8030E12C 00309D8C 7C 1E 30 40 */ cmplw r30, r6 +/* 8030E130 00309D90 40 82 00 1C */ bne lbl_8030E14C +/* 8030E134 00309D94 80 A3 00 44 */ lwz r5, 0x44(r3) +/* 8030E138 00309D98 3C 05 00 01 */ addis r0, r5, 1 +/* 8030E13C 00309D9C 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E140 00309DA0 40 82 00 0C */ bne lbl_8030E14C +/* 8030E144 00309DA4 2C 04 00 00 */ cmpwi r4, 0 +/* 8030E148 00309DA8 40 82 00 94 */ bne lbl_8030E1DC +lbl_8030E14C: +/* 8030E14C 00309DAC 90 C3 00 00 */ stw r6, 0(r3) +/* 8030E150 00309DB0 7F A3 EB 78 */ mr r3, r29 +/* 8030E154 00309DB4 4B FF EA A9 */ bl func_8030CBFC +/* 8030E158 00309DB8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E15C 00309DBC 7C 7F 1B 78 */ mr r31, r3 +/* 8030E160 00309DC0 41 82 00 18 */ beq lbl_8030E178 +/* 8030E164 00309DC4 93 DD 00 00 */ stw r30, 0(r29) +/* 8030E168 00309DC8 7F A3 EB 78 */ mr r3, r29 +/* 8030E16C 00309DCC 38 80 00 00 */ li r4, 0 +/* 8030E170 00309DD0 4B FF EA 8D */ bl func_8030CBFC +/* 8030E174 00309DD4 48 00 00 5C */ b lbl_8030E1D0 +lbl_8030E178: +/* 8030E178 00309DD8 80 BD 00 44 */ lwz r5, 0x44(r29) +/* 8030E17C 00309DDC 3C 05 00 01 */ addis r0, r5, 1 +/* 8030E180 00309DE0 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E184 00309DE4 40 82 00 0C */ bne lbl_8030E190 +/* 8030E188 00309DE8 38 80 00 10 */ li r4, 0x10 +/* 8030E18C 00309DEC 48 00 00 34 */ b lbl_8030E1C0 +lbl_8030E190: +/* 8030E190 00309DF0 80 7D 00 04 */ lwz r3, 4(r29) +/* 8030E194 00309DF4 38 9D 00 4C */ addi r4, r29, 0x4c +/* 8030E198 00309DF8 A0 DD 00 48 */ lhz r6, 0x48(r29) +/* 8030E19C 00309DFC 39 01 00 08 */ addi r8, r1, 8 +/* 8030E1A0 00309E00 38 E0 00 20 */ li r7, 0x20 +/* 8030E1A4 00309E04 39 20 00 00 */ li r9, 0 +/* 8030E1A8 00309E08 48 00 A8 81 */ bl func_80318A28 +/* 8030E1AC 00309E0C 80 01 00 08 */ lwz r0, 8(r1) +/* 8030E1B0 00309E10 38 80 00 11 */ li r4, 0x11 +/* 8030E1B4 00309E14 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030E1B8 00309E18 40 82 00 08 */ bne lbl_8030E1C0 +/* 8030E1BC 00309E1C 7C 64 1B 78 */ mr r4, r3 +lbl_8030E1C0: +/* 8030E1C0 00309E20 7C 04 00 D0 */ neg r0, r4 +/* 8030E1C4 00309E24 7C 00 23 78 */ or r0, r0, r4 +/* 8030E1C8 00309E28 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030E1CC 00309E2C 7C 9F 00 38 */ and r31, r4, r0 +lbl_8030E1D0: +/* 8030E1D0 00309E30 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030E1D4 00309E34 41 82 00 08 */ beq lbl_8030E1DC +/* 8030E1D8 00309E38 48 00 00 08 */ b lbl_8030E1E0 +lbl_8030E1DC: +/* 8030E1DC 00309E3C 3B E0 00 00 */ li r31, 0 +lbl_8030E1E0: +/* 8030E1E0 00309E40 7F E3 FB 78 */ mr r3, r31 +/* 8030E1E4 00309E44 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030E1E8 00309E48 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030E1EC 00309E4C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030E1F0 00309E50 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030E1F4 00309E54 7C 08 03 A6 */ mtlr r0 +/* 8030E1F8 00309E58 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030E1FC 00309E5C 4E 80 00 20 */ blr + +.global func_8030E200 +func_8030E200: +/* 8030E200 00309E60 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030E204 00309E64 7C 08 02 A6 */ mflr r0 +/* 8030E208 00309E68 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E20C 00309E6C 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030E210 00309E70 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 8030E214 00309E74 7C 9F 23 78 */ mr r31, r4 +/* 8030E218 00309E78 93 C1 00 28 */ stw r30, 0x28(r1) +/* 8030E21C 00309E7C 7C 7E 1B 78 */ mr r30, r3 +/* 8030E220 00309E80 93 A1 00 24 */ stw r29, 0x24(r1) +/* 8030E224 00309E84 93 81 00 20 */ stw r28, 0x20(r1) +/* 8030E228 00309E88 40 82 00 0C */ bne lbl_8030E234 +/* 8030E22C 00309E8C 38 60 00 0A */ li r3, 0xa +/* 8030E230 00309E90 48 00 02 DC */ b lbl_8030E50C +lbl_8030E234: +/* 8030E234 00309E94 83 83 00 00 */ lwz r28, 0(r3) +/* 8030E238 00309E98 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030E23C 00309E9C 40 82 00 0C */ bne lbl_8030E248 +/* 8030E240 00309EA0 38 60 00 00 */ li r3, 0 +/* 8030E244 00309EA4 48 00 02 C8 */ b lbl_8030E50C +lbl_8030E248: +/* 8030E248 00309EA8 88 03 00 6C */ lbz r0, 0x6c(r3) +/* 8030E24C 00309EAC 38 DC FF FF */ addi r6, r28, -1 +/* 8030E250 00309EB0 80 E3 00 40 */ lwz r7, 0x40(r3) +/* 8030E254 00309EB4 7C C0 04 30 */ srw r0, r6, r0 +/* 8030E258 00309EB8 7C 07 00 40 */ cmplw r7, r0 +/* 8030E25C 00309EBC 41 82 01 F4 */ beq lbl_8030E450 +/* 8030E260 00309EC0 80 C3 00 04 */ lwz r6, 4(r3) +/* 8030E264 00309EC4 81 23 00 44 */ lwz r9, 0x44(r3) +/* 8030E268 00309EC8 89 06 00 06 */ lbz r8, 6(r6) +/* 8030E26C 00309ECC 81 46 00 30 */ lwz r10, 0x30(r6) +/* 8030E270 00309ED0 7C 07 43 96 */ divwu r0, r7, r8 +/* 8030E274 00309ED4 88 86 00 21 */ lbz r4, 0x21(r6) +/* 8030E278 00309ED8 7C AA 48 50 */ subf r5, r10, r9 +/* 8030E27C 00309EDC 7C A4 24 30 */ srw r4, r5, r4 +/* 8030E280 00309EE0 38 84 00 02 */ addi r4, r4, 2 +/* 8030E284 00309EE4 7C 00 41 D6 */ mullw r0, r0, r8 +/* 8030E288 00309EE8 7C 00 38 51 */ subf. r0, r0, r7 +/* 8030E28C 00309EEC 41 82 00 0C */ beq lbl_8030E298 +/* 8030E290 00309EF0 28 08 00 01 */ cmplwi r8, 1 +/* 8030E294 00309EF4 40 82 00 64 */ bne lbl_8030E2F8 +lbl_8030E298: +/* 8030E298 00309EF8 80 06 00 1C */ lwz r0, 0x1c(r6) +/* 8030E29C 00309EFC 2C 00 00 02 */ cmpwi r0, 2 +/* 8030E2A0 00309F00 41 82 00 1C */ beq lbl_8030E2BC +/* 8030E2A4 00309F04 80 63 00 10 */ lwz r3, 0x10(r3) +/* 8030E2A8 00309F08 80 03 00 00 */ lwz r0, 0(r3) +/* 8030E2AC 00309F0C 28 00 00 01 */ cmplwi r0, 1 +/* 8030E2B0 00309F10 40 81 00 40 */ ble lbl_8030E2F0 +/* 8030E2B4 00309F14 7C 0A 48 40 */ cmplw r10, r9 +/* 8030E2B8 00309F18 41 81 00 38 */ bgt lbl_8030E2F0 +lbl_8030E2BC: +/* 8030E2BC 00309F1C 7C C3 33 78 */ mr r3, r6 +/* 8030E2C0 00309F20 7C 85 23 78 */ mr r5, r4 +/* 8030E2C4 00309F24 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8030E2C8 00309F28 48 00 24 E1 */ bl func_803107A8 +/* 8030E2CC 00309F2C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E2D0 00309F30 41 82 00 08 */ beq lbl_8030E2D8 +/* 8030E2D4 00309F34 48 00 02 38 */ b lbl_8030E50C +lbl_8030E2D8: +/* 8030E2D8 00309F38 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8030E2DC 00309F3C 3C 03 00 01 */ addis r0, r3, 1 +/* 8030E2E0 00309F40 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E2E4 00309F44 40 82 00 18 */ bne lbl_8030E2FC +/* 8030E2E8 00309F48 38 60 00 0E */ li r3, 0xe +/* 8030E2EC 00309F4C 48 00 02 20 */ b lbl_8030E50C +lbl_8030E2F0: +/* 8030E2F0 00309F50 90 01 00 10 */ stw r0, 0x10(r1) +/* 8030E2F4 00309F54 48 00 00 08 */ b lbl_8030E2FC +lbl_8030E2F8: +/* 8030E2F8 00309F58 90 81 00 10 */ stw r4, 0x10(r1) +lbl_8030E2FC: +/* 8030E2FC 00309F5C 80 9E 00 00 */ lwz r4, 0(r30) +/* 8030E300 00309F60 80 7E 00 40 */ lwz r3, 0x40(r30) +/* 8030E304 00309F64 38 84 FF FF */ addi r4, r4, -1 +/* 8030E308 00309F68 80 DE 00 04 */ lwz r6, 4(r30) +/* 8030E30C 00309F6C 38 03 FF FF */ addi r0, r3, -1 +/* 8030E310 00309F70 90 9E 00 00 */ stw r4, 0(r30) +/* 8030E314 00309F74 90 1E 00 40 */ stw r0, 0x40(r30) +/* 8030E318 00309F78 80 06 00 1C */ lwz r0, 0x1c(r6) +/* 8030E31C 00309F7C 2C 00 00 02 */ cmpwi r0, 2 +/* 8030E320 00309F80 41 82 00 24 */ beq lbl_8030E344 +/* 8030E324 00309F84 80 7E 00 10 */ lwz r3, 0x10(r30) +/* 8030E328 00309F88 80 03 00 00 */ lwz r0, 0(r3) +/* 8030E32C 00309F8C 28 00 00 01 */ cmplwi r0, 1 +/* 8030E330 00309F90 40 81 00 48 */ ble lbl_8030E378 +/* 8030E334 00309F94 80 66 00 30 */ lwz r3, 0x30(r6) +/* 8030E338 00309F98 80 1E 00 44 */ lwz r0, 0x44(r30) +/* 8030E33C 00309F9C 7C 03 00 40 */ cmplw r3, r0 +/* 8030E340 00309FA0 41 81 00 38 */ bgt lbl_8030E378 +lbl_8030E344: +/* 8030E344 00309FA4 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8030E348 00309FA8 88 66 00 06 */ lbz r3, 6(r6) +/* 8030E34C 00309FAC 88 06 00 21 */ lbz r0, 0x21(r6) +/* 8030E350 00309FB0 38 A4 FF FE */ addi r5, r4, -2 +/* 8030E354 00309FB4 80 C6 00 30 */ lwz r6, 0x30(r6) +/* 8030E358 00309FB8 38 63 FF FF */ addi r3, r3, -1 +/* 8030E35C 00309FBC 80 9E 00 40 */ lwz r4, 0x40(r30) +/* 8030E360 00309FC0 7C A0 00 30 */ slw r0, r5, r0 +/* 8030E364 00309FC4 7C 06 02 14 */ add r0, r6, r0 +/* 8030E368 00309FC8 7C 83 18 38 */ and r3, r4, r3 +/* 8030E36C 00309FCC 7C 03 02 14 */ add r0, r3, r0 +/* 8030E370 00309FD0 90 1E 00 44 */ stw r0, 0x44(r30) +/* 8030E374 00309FD4 48 00 00 10 */ b lbl_8030E384 +lbl_8030E378: +/* 8030E378 00309FD8 80 7E 00 44 */ lwz r3, 0x44(r30) +/* 8030E37C 00309FDC 38 03 FF FF */ addi r0, r3, -1 +/* 8030E380 00309FE0 90 1E 00 44 */ stw r0, 0x44(r30) +lbl_8030E384: +/* 8030E384 00309FE4 80 7E 00 44 */ lwz r3, 0x44(r30) +/* 8030E388 00309FE8 83 BE 00 00 */ lwz r29, 0(r30) +/* 8030E38C 00309FEC 3C 03 00 01 */ addis r0, r3, 1 +/* 8030E390 00309FF0 A0 9E 00 4A */ lhz r4, 0x4a(r30) +/* 8030E394 00309FF4 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E398 00309FF8 7F A0 20 38 */ and r0, r29, r4 +/* 8030E39C 00309FFC 54 00 2C 34 */ rlwinm r0, r0, 5, 0x10, 0x1a +/* 8030E3A0 0030A000 B0 1E 00 48 */ sth r0, 0x48(r30) +/* 8030E3A4 0030A004 40 82 00 0C */ bne lbl_8030E3B0 +/* 8030E3A8 0030A008 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030E3AC 0030A00C 40 82 00 98 */ bne lbl_8030E444 +lbl_8030E3B0: +/* 8030E3B0 0030A010 93 BE 00 00 */ stw r29, 0(r30) +/* 8030E3B4 0030A014 7F C3 F3 78 */ mr r3, r30 +/* 8030E3B8 0030A018 7F E4 FB 78 */ mr r4, r31 +/* 8030E3BC 0030A01C 4B FF E8 41 */ bl func_8030CBFC +/* 8030E3C0 0030A020 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E3C4 0030A024 7C 7F 1B 78 */ mr r31, r3 +/* 8030E3C8 0030A028 41 82 00 18 */ beq lbl_8030E3E0 +/* 8030E3CC 0030A02C 93 BE 00 00 */ stw r29, 0(r30) +/* 8030E3D0 0030A030 7F C3 F3 78 */ mr r3, r30 +/* 8030E3D4 0030A034 38 80 00 00 */ li r4, 0 +/* 8030E3D8 0030A038 4B FF E8 25 */ bl func_8030CBFC +/* 8030E3DC 0030A03C 48 00 00 5C */ b lbl_8030E438 +lbl_8030E3E0: +/* 8030E3E0 0030A040 80 BE 00 44 */ lwz r5, 0x44(r30) +/* 8030E3E4 0030A044 3C 05 00 01 */ addis r0, r5, 1 +/* 8030E3E8 0030A048 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E3EC 0030A04C 40 82 00 0C */ bne lbl_8030E3F8 +/* 8030E3F0 0030A050 38 80 00 10 */ li r4, 0x10 +/* 8030E3F4 0030A054 48 00 00 34 */ b lbl_8030E428 +lbl_8030E3F8: +/* 8030E3F8 0030A058 80 7E 00 04 */ lwz r3, 4(r30) +/* 8030E3FC 0030A05C 38 9E 00 4C */ addi r4, r30, 0x4c +/* 8030E400 0030A060 A0 DE 00 48 */ lhz r6, 0x48(r30) +/* 8030E404 0030A064 39 01 00 0C */ addi r8, r1, 0xc +/* 8030E408 0030A068 38 E0 00 20 */ li r7, 0x20 +/* 8030E40C 0030A06C 39 20 00 00 */ li r9, 0 +/* 8030E410 0030A070 48 00 A6 19 */ bl func_80318A28 +/* 8030E414 0030A074 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030E418 0030A078 38 80 00 11 */ li r4, 0x11 +/* 8030E41C 0030A07C 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030E420 0030A080 40 82 00 08 */ bne lbl_8030E428 +/* 8030E424 0030A084 7C 64 1B 78 */ mr r4, r3 +lbl_8030E428: +/* 8030E428 0030A088 7C 04 00 D0 */ neg r0, r4 +/* 8030E42C 0030A08C 7C 00 23 78 */ or r0, r0, r4 +/* 8030E430 0030A090 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030E434 0030A094 7C 9F 00 38 */ and r31, r4, r0 +lbl_8030E438: +/* 8030E438 0030A098 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030E43C 0030A09C 41 82 00 08 */ beq lbl_8030E444 +/* 8030E440 0030A0A0 48 00 00 08 */ b lbl_8030E448 +lbl_8030E444: +/* 8030E444 0030A0A4 3B E0 00 00 */ li r31, 0 +lbl_8030E448: +/* 8030E448 0030A0A8 7F E3 FB 78 */ mr r3, r31 +/* 8030E44C 0030A0AC 48 00 00 C0 */ b lbl_8030E50C +lbl_8030E450: +/* 8030E450 0030A0B0 7C 1C 30 40 */ cmplw r28, r6 +/* 8030E454 0030A0B4 40 82 00 1C */ bne lbl_8030E470 +/* 8030E458 0030A0B8 80 A3 00 44 */ lwz r5, 0x44(r3) +/* 8030E45C 0030A0BC 3C 05 00 01 */ addis r0, r5, 1 +/* 8030E460 0030A0C0 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E464 0030A0C4 40 82 00 0C */ bne lbl_8030E470 +/* 8030E468 0030A0C8 2C 04 00 00 */ cmpwi r4, 0 +/* 8030E46C 0030A0CC 40 82 00 98 */ bne lbl_8030E504 +lbl_8030E470: +/* 8030E470 0030A0D0 90 C3 00 00 */ stw r6, 0(r3) +/* 8030E474 0030A0D4 7F C3 F3 78 */ mr r3, r30 +/* 8030E478 0030A0D8 7F E4 FB 78 */ mr r4, r31 +/* 8030E47C 0030A0DC 4B FF E7 81 */ bl func_8030CBFC +/* 8030E480 0030A0E0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E484 0030A0E4 7C 7D 1B 78 */ mr r29, r3 +/* 8030E488 0030A0E8 41 82 00 18 */ beq lbl_8030E4A0 +/* 8030E48C 0030A0EC 93 9E 00 00 */ stw r28, 0(r30) +/* 8030E490 0030A0F0 7F C3 F3 78 */ mr r3, r30 +/* 8030E494 0030A0F4 38 80 00 00 */ li r4, 0 +/* 8030E498 0030A0F8 4B FF E7 65 */ bl func_8030CBFC +/* 8030E49C 0030A0FC 48 00 00 5C */ b lbl_8030E4F8 +lbl_8030E4A0: +/* 8030E4A0 0030A100 80 BE 00 44 */ lwz r5, 0x44(r30) +/* 8030E4A4 0030A104 3C 05 00 01 */ addis r0, r5, 1 +/* 8030E4A8 0030A108 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E4AC 0030A10C 40 82 00 0C */ bne lbl_8030E4B8 +/* 8030E4B0 0030A110 38 80 00 10 */ li r4, 0x10 +/* 8030E4B4 0030A114 48 00 00 34 */ b lbl_8030E4E8 +lbl_8030E4B8: +/* 8030E4B8 0030A118 80 7E 00 04 */ lwz r3, 4(r30) +/* 8030E4BC 0030A11C 38 9E 00 4C */ addi r4, r30, 0x4c +/* 8030E4C0 0030A120 A0 DE 00 48 */ lhz r6, 0x48(r30) +/* 8030E4C4 0030A124 39 01 00 08 */ addi r8, r1, 8 +/* 8030E4C8 0030A128 38 E0 00 20 */ li r7, 0x20 +/* 8030E4CC 0030A12C 39 20 00 00 */ li r9, 0 +/* 8030E4D0 0030A130 48 00 A5 59 */ bl func_80318A28 +/* 8030E4D4 0030A134 80 01 00 08 */ lwz r0, 8(r1) +/* 8030E4D8 0030A138 38 80 00 11 */ li r4, 0x11 +/* 8030E4DC 0030A13C 28 00 00 20 */ cmplwi r0, 0x20 +/* 8030E4E0 0030A140 40 82 00 08 */ bne lbl_8030E4E8 +/* 8030E4E4 0030A144 7C 64 1B 78 */ mr r4, r3 +lbl_8030E4E8: +/* 8030E4E8 0030A148 7C 04 00 D0 */ neg r0, r4 +/* 8030E4EC 0030A14C 7C 00 23 78 */ or r0, r0, r4 +/* 8030E4F0 0030A150 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030E4F4 0030A154 7C 9D 00 38 */ and r29, r4, r0 +lbl_8030E4F8: +/* 8030E4F8 0030A158 2C 1D 00 00 */ cmpwi r29, 0 +/* 8030E4FC 0030A15C 41 82 00 08 */ beq lbl_8030E504 +/* 8030E500 0030A160 48 00 00 08 */ b lbl_8030E508 +lbl_8030E504: +/* 8030E504 0030A164 3B A0 00 00 */ li r29, 0 +lbl_8030E508: +/* 8030E508 0030A168 7F A3 EB 78 */ mr r3, r29 +lbl_8030E50C: +/* 8030E50C 0030A16C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030E510 0030A170 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 8030E514 0030A174 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 8030E518 0030A178 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 8030E51C 0030A17C 83 81 00 20 */ lwz r28, 0x20(r1) +/* 8030E520 0030A180 7C 08 03 A6 */ mtlr r0 +/* 8030E524 0030A184 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030E528 0030A188 4E 80 00 20 */ blr + +.global func_8030E52C +func_8030E52C: +/* 8030E52C 0030A18C 7C E8 3B 78 */ mr r8, r7 +/* 8030E530 0030A190 38 E0 00 00 */ li r7, 0 +/* 8030E534 0030A194 4B FF F3 AC */ b lbl_8030D8E0 + +.global func_8030E538 +func_8030E538: +/* 8030E538 0030A198 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030E53C 0030A19C 7C 08 02 A6 */ mflr r0 +/* 8030E540 0030A1A0 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030E544 0030A1A4 39 61 00 20 */ addi r11, r1, 0x20 +/* 8030E548 0030A1A8 4B EB 8B E1 */ bl _savegpr_27 +/* 8030E54C 0030A1AC 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030E550 0030A1B0 7C 7B 1B 78 */ mr r27, r3 +/* 8030E554 0030A1B4 7C 9C 23 78 */ mr r28, r4 +/* 8030E558 0030A1B8 2C 00 00 01 */ cmpwi r0, 1 +/* 8030E55C 0030A1BC 41 82 00 30 */ beq lbl_8030E58C +/* 8030E560 0030A1C0 40 80 00 10 */ bge lbl_8030E570 +/* 8030E564 0030A1C4 2C 00 00 00 */ cmpwi r0, 0 +/* 8030E568 0030A1C8 40 80 00 14 */ bge lbl_8030E57C +/* 8030E56C 0030A1CC 48 00 00 30 */ b lbl_8030E59C +lbl_8030E570: +/* 8030E570 0030A1D0 2C 00 00 03 */ cmpwi r0, 3 +/* 8030E574 0030A1D4 40 80 00 28 */ bge lbl_8030E59C +/* 8030E578 0030A1D8 48 00 00 1C */ b lbl_8030E594 +lbl_8030E57C: +/* 8030E57C 0030A1DC 54 A0 F8 7E */ srwi r0, r5, 1 +/* 8030E580 0030A1E0 7C 05 02 14 */ add r0, r5, r0 +/* 8030E584 0030A1E4 54 06 04 3E */ clrlwi r6, r0, 0x10 +/* 8030E588 0030A1E8 48 00 00 1C */ b lbl_8030E5A4 +lbl_8030E58C: +/* 8030E58C 0030A1EC 54 A6 08 3C */ slwi r6, r5, 1 +/* 8030E590 0030A1F0 48 00 00 14 */ b lbl_8030E5A4 +lbl_8030E594: +/* 8030E594 0030A1F4 54 A6 10 3A */ slwi r6, r5, 2 +/* 8030E598 0030A1F8 48 00 00 0C */ b lbl_8030E5A4 +lbl_8030E59C: +/* 8030E59C 0030A1FC 38 60 00 0F */ li r3, 0xf +/* 8030E5A0 0030A200 48 00 00 B0 */ b lbl_8030E650 +lbl_8030E5A4: +/* 8030E5A4 0030A204 A0 A3 00 18 */ lhz r5, 0x18(r3) +/* 8030E5A8 0030A208 3B C0 00 01 */ li r30, 1 +/* 8030E5AC 0030A20C 88 83 00 20 */ lbz r4, 0x20(r3) +/* 8030E5B0 0030A210 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 +/* 8030E5B4 0030A214 80 63 00 28 */ lwz r3, 0x28(r3) +/* 8030E5B8 0030A218 7C C0 24 30 */ srw r0, r6, r4 +/* 8030E5BC 0030A21C 7C 03 02 14 */ add r0, r3, r0 +/* 8030E5C0 0030A220 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 8030E5C4 0030A224 41 82 00 08 */ beq lbl_8030E5CC +/* 8030E5C8 0030A228 54 BE 07 7E */ clrlwi r30, r5, 0x1d +lbl_8030E5CC: +/* 8030E5CC 0030A22C 7F 63 DB 78 */ mr r3, r27 +/* 8030E5D0 0030A230 7F A4 EB 78 */ mr r4, r29 +/* 8030E5D4 0030A234 7F 85 E3 78 */ mr r5, r28 +/* 8030E5D8 0030A238 4B FF C2 75 */ bl VFiPFCACHE_ReadFATPage +/* 8030E5DC 0030A23C 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 8030E5E0 0030A240 7C 7F 1B 78 */ mr r31, r3 +/* 8030E5E4 0030A244 40 82 00 50 */ bne lbl_8030E634 +/* 8030E5E8 0030A248 81 9B 18 90 */ lwz r12, 0x1890(r27) +/* 8030E5EC 0030A24C 2C 0C 00 00 */ cmpwi r12, 0 +/* 8030E5F0 0030A250 41 82 00 44 */ beq lbl_8030E634 +/* 8030E5F4 0030A254 80 7B 18 70 */ lwz r3, 0x1870(r27) +/* 8030E5F8 0030A258 7D 89 03 A6 */ mtctr r12 +/* 8030E5FC 0030A25C 4E 80 04 21 */ bctrl +/* 8030E600 0030A260 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E604 0030A264 41 82 00 40 */ beq lbl_8030E644 +/* 8030E608 0030A268 2C 03 00 01 */ cmpwi r3, 1 +/* 8030E60C 0030A26C 40 82 00 28 */ bne lbl_8030E634 +/* 8030E610 0030A270 88 1B 00 22 */ lbz r0, 0x22(r27) +/* 8030E614 0030A274 28 00 00 02 */ cmplwi r0, 2 +/* 8030E618 0030A278 41 80 00 1C */ blt lbl_8030E634 +/* 8030E61C 0030A27C 7C 1E 00 40 */ cmplw r30, r0 +/* 8030E620 0030A280 40 80 00 14 */ bge lbl_8030E634 +/* 8030E624 0030A284 80 1B 00 0C */ lwz r0, 0xc(r27) +/* 8030E628 0030A288 3B DE 00 01 */ addi r30, r30, 1 +/* 8030E62C 0030A28C 7F BD 02 14 */ add r29, r29, r0 +/* 8030E630 0030A290 48 00 00 14 */ b lbl_8030E644 +lbl_8030E634: +/* 8030E634 0030A294 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030E638 0030A298 41 82 00 0C */ beq lbl_8030E644 +/* 8030E63C 0030A29C 7F E3 FB 78 */ mr r3, r31 +/* 8030E640 0030A2A0 48 00 00 10 */ b lbl_8030E650 +lbl_8030E644: +/* 8030E644 0030A2A4 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030E648 0030A2A8 40 82 FF 84 */ bne lbl_8030E5CC +/* 8030E64C 0030A2AC 7F E3 FB 78 */ mr r3, r31 +lbl_8030E650: +/* 8030E650 0030A2B0 39 61 00 20 */ addi r11, r1, 0x20 +/* 8030E654 0030A2B4 4B EB 8B 21 */ bl _restgpr_27 +/* 8030E658 0030A2B8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030E65C 0030A2BC 7C 08 03 A6 */ mtlr r0 +/* 8030E660 0030A2C0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030E664 0030A2C4 4E 80 00 20 */ blr + +.global func_8030E668 +func_8030E668: +/* 8030E668 0030A2C8 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 8030E66C 0030A2CC 7C 08 02 A6 */ mflr r0 +/* 8030E670 0030A2D0 90 01 00 54 */ stw r0, 0x54(r1) +/* 8030E674 0030A2D4 39 61 00 50 */ addi r11, r1, 0x50 +/* 8030E678 0030A2D8 4B EB 8A 91 */ bl _savegpr_19 +/* 8030E67C 0030A2DC 38 00 FF FF */ li r0, -1 +/* 8030E680 0030A2E0 28 04 00 02 */ cmplwi r4, 2 +/* 8030E684 0030A2E4 90 07 00 00 */ stw r0, 0(r7) +/* 8030E688 0030A2E8 7C 74 1B 78 */ mr r20, r3 +/* 8030E68C 0030A2EC 7C 95 23 78 */ mr r21, r4 +/* 8030E690 0030A2F0 7C B6 2B 78 */ mr r22, r5 +/* 8030E694 0030A2F4 90 08 00 00 */ stw r0, 0(r8) +/* 8030E698 0030A2F8 7C D7 33 78 */ mr r23, r6 +/* 8030E69C 0030A2FC 7C F8 3B 78 */ mr r24, r7 +/* 8030E6A0 0030A300 7D 19 43 78 */ mr r25, r8 +/* 8030E6A4 0030A304 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030E6A8 0030A308 3B 60 00 00 */ li r27, 0 +/* 8030E6AC 0030A30C 3B C0 00 00 */ li r30, 0 +/* 8030E6B0 0030A310 3B A0 FF FF */ li r29, -1 +/* 8030E6B4 0030A314 3B E3 00 02 */ addi r31, r3, 2 +/* 8030E6B8 0030A318 3B 80 00 00 */ li r28, 0 +/* 8030E6BC 0030A31C 41 80 00 0C */ blt lbl_8030E6C8 +/* 8030E6C0 0030A320 7C 04 F8 40 */ cmplw r4, r31 +/* 8030E6C4 0030A324 41 80 00 08 */ blt lbl_8030E6CC +lbl_8030E6C8: +/* 8030E6C8 0030A328 3A A0 00 02 */ li r21, 2 +lbl_8030E6CC: +/* 8030E6CC 0030A32C 28 05 00 02 */ cmplwi r5, 2 +/* 8030E6D0 0030A330 41 80 00 0C */ blt lbl_8030E6DC +/* 8030E6D4 0030A334 7C 05 F8 40 */ cmplw r5, r31 +/* 8030E6D8 0030A338 41 80 00 08 */ blt lbl_8030E6E0 +lbl_8030E6DC: +/* 8030E6DC 0030A33C 3A DF FF FF */ addi r22, r31, -1 +lbl_8030E6E0: +/* 8030E6E0 0030A340 7E BA AB 78 */ mr r26, r21 +/* 8030E6E4 0030A344 7E 83 A3 78 */ mr r3, r20 +/* 8030E6E8 0030A348 7E A5 AB 78 */ mr r5, r21 +/* 8030E6EC 0030A34C 38 81 00 08 */ addi r4, r1, 8 +/* 8030E6F0 0030A350 4B FF FE 49 */ bl func_8030E538 +/* 8030E6F4 0030A354 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E6F8 0030A358 41 82 00 08 */ beq lbl_8030E700 +/* 8030E6FC 0030A35C 48 00 01 58 */ b lbl_8030E854 +lbl_8030E700: +/* 8030E700 0030A360 80 61 00 08 */ lwz r3, 8(r1) +/* 8030E704 0030A364 38 00 00 00 */ li r0, 0 +/* 8030E708 0030A368 3A 60 FF FF */ li r19, -1 +/* 8030E70C 0030A36C B0 03 00 02 */ sth r0, 2(r3) +/* 8030E710 0030A370 48 00 01 10 */ b lbl_8030E820 +lbl_8030E714: +/* 8030E714 0030A374 7C 1F A8 40 */ cmplw r31, r21 +/* 8030E718 0030A378 41 81 00 08 */ bgt lbl_8030E720 +/* 8030E71C 0030A37C 3A A0 00 02 */ li r21, 2 +lbl_8030E720: +/* 8030E720 0030A380 80 14 00 1C */ lwz r0, 0x1c(r20) +/* 8030E724 0030A384 2C 00 00 01 */ cmpwi r0, 1 +/* 8030E728 0030A388 41 82 00 38 */ beq lbl_8030E760 +/* 8030E72C 0030A38C 40 80 00 10 */ bge lbl_8030E73C +/* 8030E730 0030A390 2C 00 00 00 */ cmpwi r0, 0 +/* 8030E734 0030A394 40 80 00 14 */ bge lbl_8030E748 +/* 8030E738 0030A398 48 00 00 58 */ b lbl_8030E790 +lbl_8030E73C: +/* 8030E73C 0030A39C 2C 00 00 03 */ cmpwi r0, 3 +/* 8030E740 0030A3A0 40 80 00 50 */ bge lbl_8030E790 +/* 8030E744 0030A3A4 48 00 00 34 */ b lbl_8030E778 +lbl_8030E748: +/* 8030E748 0030A3A8 7E 83 A3 78 */ mr r3, r20 +/* 8030E74C 0030A3AC 56 A4 04 3E */ clrlwi r4, r21, 0x10 +/* 8030E750 0030A3B0 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030E754 0030A3B4 38 C1 00 08 */ addi r6, r1, 8 +/* 8030E758 0030A3B8 48 00 2B FD */ bl func_80311354 +/* 8030E75C 0030A3BC 48 00 00 38 */ b lbl_8030E794 +lbl_8030E760: +/* 8030E760 0030A3C0 7E 83 A3 78 */ mr r3, r20 +/* 8030E764 0030A3C4 7E A4 AB 78 */ mr r4, r21 +/* 8030E768 0030A3C8 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030E76C 0030A3CC 38 C1 00 08 */ addi r6, r1, 8 +/* 8030E770 0030A3D0 48 00 36 4D */ bl func_80311DBC +/* 8030E774 0030A3D4 48 00 00 20 */ b lbl_8030E794 +lbl_8030E778: +/* 8030E778 0030A3D8 7E 83 A3 78 */ mr r3, r20 +/* 8030E77C 0030A3DC 7E A4 AB 78 */ mr r4, r21 +/* 8030E780 0030A3E0 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030E784 0030A3E4 38 C1 00 08 */ addi r6, r1, 8 +/* 8030E788 0030A3E8 48 00 3B BD */ bl func_80312344 +/* 8030E78C 0030A3EC 48 00 00 08 */ b lbl_8030E794 +lbl_8030E790: +/* 8030E790 0030A3F0 38 60 00 0F */ li r3, 0xf +lbl_8030E794: +/* 8030E794 0030A3F4 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E798 0030A3F8 41 82 00 08 */ beq lbl_8030E7A0 +/* 8030E79C 0030A3FC 48 00 00 B8 */ b lbl_8030E854 +lbl_8030E7A0: +/* 8030E7A0 0030A400 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030E7A4 0030A404 2C 00 00 00 */ cmpwi r0, 0 +/* 8030E7A8 0030A408 40 82 00 30 */ bne lbl_8030E7D8 +/* 8030E7AC 0030A40C 80 78 00 00 */ lwz r3, 0(r24) +/* 8030E7B0 0030A410 3C 03 00 01 */ addis r0, r3, 1 +/* 8030E7B4 0030A414 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030E7B8 0030A418 40 82 00 08 */ bne lbl_8030E7C0 +/* 8030E7BC 0030A41C 92 B8 00 00 */ stw r21, 0(r24) +lbl_8030E7C0: +/* 8030E7C0 0030A420 3B DE 00 01 */ addi r30, r30, 1 +/* 8030E7C4 0030A424 7C 1E B8 40 */ cmplw r30, r23 +/* 8030E7C8 0030A428 41 80 00 28 */ blt lbl_8030E7F0 +/* 8030E7CC 0030A42C 92 B9 00 00 */ stw r21, 0(r25) +/* 8030E7D0 0030A430 38 60 00 00 */ li r3, 0 +/* 8030E7D4 0030A434 48 00 00 80 */ b lbl_8030E854 +lbl_8030E7D8: +/* 8030E7D8 0030A438 7C 1C F0 40 */ cmplw r28, r30 +/* 8030E7DC 0030A43C 40 80 00 0C */ bge lbl_8030E7E8 +/* 8030E7E0 0030A440 83 B8 00 00 */ lwz r29, 0(r24) +/* 8030E7E4 0030A444 7F DC F3 78 */ mr r28, r30 +lbl_8030E7E8: +/* 8030E7E8 0030A448 92 78 00 00 */ stw r19, 0(r24) +/* 8030E7EC 0030A44C 3B C0 00 00 */ li r30, 0 +lbl_8030E7F0: +/* 8030E7F0 0030A450 2C 1B 00 00 */ cmpwi r27, 0 +/* 8030E7F4 0030A454 3A B5 00 01 */ addi r21, r21, 1 +/* 8030E7F8 0030A458 40 82 00 28 */ bne lbl_8030E820 +/* 8030E7FC 0030A45C 2C 1E 00 00 */ cmpwi r30, 0 +/* 8030E800 0030A460 40 82 00 20 */ bne lbl_8030E820 +/* 8030E804 0030A464 28 15 00 02 */ cmplwi r21, 2 +/* 8030E808 0030A468 40 81 00 18 */ ble lbl_8030E820 +/* 8030E80C 0030A46C 7C 15 B0 40 */ cmplw r21, r22 +/* 8030E810 0030A470 40 82 00 10 */ bne lbl_8030E820 +/* 8030E814 0030A474 7F 56 D3 78 */ mr r22, r26 +/* 8030E818 0030A478 3A A0 00 02 */ li r21, 2 +/* 8030E81C 0030A47C 3B 60 00 01 */ li r27, 1 +lbl_8030E820: +/* 8030E820 0030A480 7C 15 B0 40 */ cmplw r21, r22 +/* 8030E824 0030A484 40 81 FE F0 */ ble lbl_8030E714 +/* 8030E828 0030A488 7C 1C F0 40 */ cmplw r28, r30 +/* 8030E82C 0030A48C 40 80 00 0C */ bge lbl_8030E838 +/* 8030E830 0030A490 83 B8 00 00 */ lwz r29, 0(r24) +/* 8030E834 0030A494 7F DC F3 78 */ mr r28, r30 +lbl_8030E838: +/* 8030E838 0030A498 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030E83C 0030A49C 41 82 00 14 */ beq lbl_8030E850 +/* 8030E840 0030A4A0 7C 7C EA 14 */ add r3, r28, r29 +/* 8030E844 0030A4A4 93 B8 00 00 */ stw r29, 0(r24) +/* 8030E848 0030A4A8 38 03 FF FF */ addi r0, r3, -1 +/* 8030E84C 0030A4AC 90 19 00 00 */ stw r0, 0(r25) +lbl_8030E850: +/* 8030E850 0030A4B0 38 60 00 00 */ li r3, 0 +lbl_8030E854: +/* 8030E854 0030A4B4 39 61 00 50 */ addi r11, r1, 0x50 +/* 8030E858 0030A4B8 4B EB 88 FD */ bl _restgpr_19 +/* 8030E85C 0030A4BC 80 01 00 54 */ lwz r0, 0x54(r1) +/* 8030E860 0030A4C0 7C 08 03 A6 */ mtlr r0 +/* 8030E864 0030A4C4 38 21 00 50 */ addi r1, r1, 0x50 +/* 8030E868 0030A4C8 4E 80 00 20 */ blr + +.global func_8030E86C +func_8030E86C: +/* 8030E86C 0030A4CC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030E870 0030A4D0 7C 08 02 A6 */ mflr r0 +/* 8030E874 0030A4D4 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030E878 0030A4D8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030E87C 0030A4DC 4B EB 88 AD */ bl _savegpr_27 +/* 8030E880 0030A4E0 38 E0 FF FF */ li r7, -1 +/* 8030E884 0030A4E4 38 00 00 00 */ li r0, 0 +/* 8030E888 0030A4E8 90 E1 00 0C */ stw r7, 0xc(r1) +/* 8030E88C 0030A4EC 7C 7B 1B 78 */ mr r27, r3 +/* 8030E890 0030A4F0 7C BE 2B 78 */ mr r30, r5 +/* 8030E894 0030A4F4 7C DF 33 78 */ mr r31, r6 +/* 8030E898 0030A4F8 90 06 00 00 */ stw r0, 0(r6) +/* 8030E89C 0030A4FC 80 03 00 24 */ lwz r0, 0x24(r3) +/* 8030E8A0 0030A500 2C 00 00 00 */ cmpwi r0, 0 +/* 8030E8A4 0030A504 40 82 00 0C */ bne lbl_8030E8B0 +/* 8030E8A8 0030A508 38 60 00 00 */ li r3, 0 +/* 8030E8AC 0030A50C 48 00 01 64 */ b lbl_8030EA10 +lbl_8030E8B0: +/* 8030E8B0 0030A510 80 03 00 2C */ lwz r0, 0x2c(r3) +/* 8030E8B4 0030A514 7C 00 20 40 */ cmplw r0, r4 +/* 8030E8B8 0030A518 41 80 01 4C */ blt lbl_8030EA04 +/* 8030E8BC 0030A51C A0 E3 00 20 */ lhz r7, 0x20(r3) +/* 8030E8C0 0030A520 38 07 00 01 */ addi r0, r7, 1 +/* 8030E8C4 0030A524 7C E4 03 96 */ divwu r7, r4, r0 +/* 8030E8C8 0030A528 7C 07 01 D6 */ mullw r0, r7, r0 +/* 8030E8CC 0030A52C 7F 80 20 51 */ subf. r28, r0, r4 +/* 8030E8D0 0030A530 40 82 00 20 */ bne lbl_8030E8F0 +/* 8030E8D4 0030A534 80 83 00 1C */ lwz r4, 0x1c(r3) +/* 8030E8D8 0030A538 54 E3 10 3A */ slwi r3, r7, 2 +/* 8030E8DC 0030A53C 38 00 00 01 */ li r0, 1 +/* 8030E8E0 0030A540 7C 64 18 2E */ lwzx r3, r4, r3 +/* 8030E8E4 0030A544 90 65 00 00 */ stw r3, 0(r5) +/* 8030E8E8 0030A548 90 06 00 00 */ stw r0, 0(r6) +/* 8030E8EC 0030A54C 48 00 01 20 */ b lbl_8030EA0C +lbl_8030E8F0: +/* 8030E8F0 0030A550 80 A3 00 1C */ lwz r5, 0x1c(r3) +/* 8030E8F4 0030A554 54 E0 10 3A */ slwi r0, r7, 2 +/* 8030E8F8 0030A558 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030E8FC 0030A55C 38 81 00 08 */ addi r4, r1, 8 +/* 8030E900 0030A560 7F A5 00 2E */ lwzx r29, r5, r0 +/* 8030E904 0030A564 7F A5 EB 78 */ mr r5, r29 +/* 8030E908 0030A568 4B FF FC 31 */ bl func_8030E538 +/* 8030E90C 0030A56C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E910 0030A570 41 82 00 9C */ beq lbl_8030E9AC +/* 8030E914 0030A574 48 00 00 FC */ b lbl_8030EA10 +/* 8030E918 0030A578 48 00 00 94 */ b lbl_8030E9AC +lbl_8030E91C: +/* 8030E91C 0030A57C 80 7B 00 34 */ lwz r3, 0x34(r27) +/* 8030E920 0030A580 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030E924 0030A584 2C 00 00 01 */ cmpwi r0, 1 +/* 8030E928 0030A588 41 82 00 34 */ beq lbl_8030E95C +/* 8030E92C 0030A58C 40 80 00 10 */ bge lbl_8030E93C +/* 8030E930 0030A590 2C 00 00 00 */ cmpwi r0, 0 +/* 8030E934 0030A594 40 80 00 14 */ bge lbl_8030E948 +/* 8030E938 0030A598 48 00 00 4C */ b lbl_8030E984 +lbl_8030E93C: +/* 8030E93C 0030A59C 2C 00 00 03 */ cmpwi r0, 3 +/* 8030E940 0030A5A0 40 80 00 44 */ bge lbl_8030E984 +/* 8030E944 0030A5A4 48 00 00 2C */ b lbl_8030E970 +lbl_8030E948: +/* 8030E948 0030A5A8 57 A4 04 3E */ clrlwi r4, r29, 0x10 +/* 8030E94C 0030A5AC 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030E950 0030A5B0 38 C1 00 08 */ addi r6, r1, 8 +/* 8030E954 0030A5B4 48 00 2A 01 */ bl func_80311354 +/* 8030E958 0030A5B8 48 00 00 30 */ b lbl_8030E988 +lbl_8030E95C: +/* 8030E95C 0030A5BC 7F A4 EB 78 */ mr r4, r29 +/* 8030E960 0030A5C0 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030E964 0030A5C4 38 C1 00 08 */ addi r6, r1, 8 +/* 8030E968 0030A5C8 48 00 34 55 */ bl func_80311DBC +/* 8030E96C 0030A5CC 48 00 00 1C */ b lbl_8030E988 +lbl_8030E970: +/* 8030E970 0030A5D0 7F A4 EB 78 */ mr r4, r29 +/* 8030E974 0030A5D4 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030E978 0030A5D8 38 C1 00 08 */ addi r6, r1, 8 +/* 8030E97C 0030A5DC 48 00 39 C9 */ bl func_80312344 +/* 8030E980 0030A5E0 48 00 00 08 */ b lbl_8030E988 +lbl_8030E984: +/* 8030E984 0030A5E4 38 60 00 0F */ li r3, 0xf +lbl_8030E988: +/* 8030E988 0030A5E8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030E98C 0030A5EC 41 82 00 08 */ beq lbl_8030E994 +/* 8030E990 0030A5F0 48 00 00 80 */ b lbl_8030EA10 +lbl_8030E994: +/* 8030E994 0030A5F4 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 8030E998 0030A5F8 2C 1D 00 00 */ cmpwi r29, 0 +/* 8030E99C 0030A5FC 40 82 00 0C */ bne lbl_8030E9A8 +/* 8030E9A0 0030A600 38 60 00 0D */ li r3, 0xd +/* 8030E9A4 0030A604 48 00 00 6C */ b lbl_8030EA10 +lbl_8030E9A8: +/* 8030E9A8 0030A608 3B 9C FF FF */ addi r28, r28, -1 +lbl_8030E9AC: +/* 8030E9AC 0030A60C 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030E9B0 0030A610 40 82 FF 6C */ bne lbl_8030E91C +/* 8030E9B4 0030A614 80 A1 00 0C */ lwz r5, 0xc(r1) +/* 8030E9B8 0030A618 2C 05 00 00 */ cmpwi r5, 0 +/* 8030E9BC 0030A61C 40 82 00 0C */ bne lbl_8030E9C8 +/* 8030E9C0 0030A620 38 60 00 0D */ li r3, 0xd +/* 8030E9C4 0030A624 48 00 00 4C */ b lbl_8030EA10 +lbl_8030E9C8: +/* 8030E9C8 0030A628 80 7B 00 34 */ lwz r3, 0x34(r27) +/* 8030E9CC 0030A62C 3C 80 80 40 */ lis r4, lbl_803FE280@ha +/* 8030E9D0 0030A630 38 84 E2 80 */ addi r4, r4, lbl_803FE280@l +/* 8030E9D4 0030A634 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030E9D8 0030A638 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030E9DC 0030A63C 7C 64 02 14 */ add r3, r4, r0 +/* 8030E9E0 0030A640 80 03 00 08 */ lwz r0, 8(r3) +/* 8030E9E4 0030A644 7C 05 00 40 */ cmplw r5, r0 +/* 8030E9E8 0030A648 40 82 00 0C */ bne lbl_8030E9F4 +/* 8030E9EC 0030A64C 38 60 00 00 */ li r3, 0 +/* 8030E9F0 0030A650 48 00 00 20 */ b lbl_8030EA10 +lbl_8030E9F4: +/* 8030E9F4 0030A654 90 BE 00 00 */ stw r5, 0(r30) +/* 8030E9F8 0030A658 38 00 00 01 */ li r0, 1 +/* 8030E9FC 0030A65C 90 1F 00 00 */ stw r0, 0(r31) +/* 8030EA00 0030A660 48 00 00 0C */ b lbl_8030EA0C +lbl_8030EA04: +/* 8030EA04 0030A664 38 60 00 00 */ li r3, 0 +/* 8030EA08 0030A668 48 00 00 08 */ b lbl_8030EA10 +lbl_8030EA0C: +/* 8030EA0C 0030A66C 38 60 00 00 */ li r3, 0 +lbl_8030EA10: +/* 8030EA10 0030A670 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030EA14 0030A674 4B EB 87 61 */ bl _restgpr_27 +/* 8030EA18 0030A678 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030EA1C 0030A67C 7C 08 03 A6 */ mtlr r0 +/* 8030EA20 0030A680 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030EA24 0030A684 4E 80 00 20 */ blr + +.global func_8030EA28 +func_8030EA28: +/* 8030EA28 0030A688 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030EA2C 0030A68C 7C 08 02 A6 */ mflr r0 +/* 8030EA30 0030A690 39 00 FF FF */ li r8, -1 +/* 8030EA34 0030A694 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030EA38 0030A698 38 00 00 00 */ li r0, 0 +/* 8030EA3C 0030A69C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030EA40 0030A6A0 7C DF 33 78 */ mr r31, r6 +/* 8030EA44 0030A6A4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030EA48 0030A6A8 7C BE 2B 78 */ mr r30, r5 +/* 8030EA4C 0030A6AC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030EA50 0030A6B0 93 81 00 10 */ stw r28, 0x10(r1) +/* 8030EA54 0030A6B4 7C 7C 1B 78 */ mr r28, r3 +/* 8030EA58 0030A6B8 90 E1 00 08 */ stw r7, 8(r1) +/* 8030EA5C 0030A6BC 91 01 00 0C */ stw r8, 0xc(r1) +/* 8030EA60 0030A6C0 90 06 00 00 */ stw r0, 0(r6) +/* 8030EA64 0030A6C4 80 03 00 24 */ lwz r0, 0x24(r3) +/* 8030EA68 0030A6C8 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EA6C 0030A6CC 40 82 00 0C */ bne lbl_8030EA78 +/* 8030EA70 0030A6D0 38 60 00 00 */ li r3, 0 +/* 8030EA74 0030A6D4 48 00 01 40 */ b lbl_8030EBB4 +lbl_8030EA78: +/* 8030EA78 0030A6D8 80 03 00 2C */ lwz r0, 0x2c(r3) +/* 8030EA7C 0030A6DC 7C 00 20 40 */ cmplw r0, r4 +/* 8030EA80 0030A6E0 41 80 01 28 */ blt lbl_8030EBA8 +/* 8030EA84 0030A6E4 A0 E3 00 20 */ lhz r7, 0x20(r3) +/* 8030EA88 0030A6E8 38 07 00 01 */ addi r0, r7, 1 +/* 8030EA8C 0030A6EC 7C E4 03 96 */ divwu r7, r4, r0 +/* 8030EA90 0030A6F0 7C 07 01 D6 */ mullw r0, r7, r0 +/* 8030EA94 0030A6F4 7F A0 20 51 */ subf. r29, r0, r4 +/* 8030EA98 0030A6F8 40 82 00 20 */ bne lbl_8030EAB8 +/* 8030EA9C 0030A6FC 80 83 00 1C */ lwz r4, 0x1c(r3) +/* 8030EAA0 0030A700 54 E3 10 3A */ slwi r3, r7, 2 +/* 8030EAA4 0030A704 38 00 00 01 */ li r0, 1 +/* 8030EAA8 0030A708 7C 64 18 2E */ lwzx r3, r4, r3 +/* 8030EAAC 0030A70C 90 65 00 00 */ stw r3, 0(r5) +/* 8030EAB0 0030A710 90 06 00 00 */ stw r0, 0(r6) +/* 8030EAB4 0030A714 48 00 00 FC */ b lbl_8030EBB0 +lbl_8030EAB8: +/* 8030EAB8 0030A718 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8030EABC 0030A71C 54 E0 10 3A */ slwi r0, r7, 2 +/* 8030EAC0 0030A720 7C 83 00 2E */ lwzx r4, r3, r0 +/* 8030EAC4 0030A724 48 00 00 8C */ b lbl_8030EB50 +lbl_8030EAC8: +/* 8030EAC8 0030A728 80 7C 00 34 */ lwz r3, 0x34(r28) +/* 8030EACC 0030A72C 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030EAD0 0030A730 2C 00 00 01 */ cmpwi r0, 1 +/* 8030EAD4 0030A734 41 82 00 34 */ beq lbl_8030EB08 +/* 8030EAD8 0030A738 40 80 00 10 */ bge lbl_8030EAE8 +/* 8030EADC 0030A73C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EAE0 0030A740 40 80 00 14 */ bge lbl_8030EAF4 +/* 8030EAE4 0030A744 48 00 00 44 */ b lbl_8030EB28 +lbl_8030EAE8: +/* 8030EAE8 0030A748 2C 00 00 03 */ cmpwi r0, 3 +/* 8030EAEC 0030A74C 40 80 00 3C */ bge lbl_8030EB28 +/* 8030EAF0 0030A750 48 00 00 28 */ b lbl_8030EB18 +lbl_8030EAF4: +/* 8030EAF4 0030A754 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 8030EAF8 0030A758 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030EAFC 0030A75C 38 C1 00 08 */ addi r6, r1, 8 +/* 8030EB00 0030A760 48 00 28 55 */ bl func_80311354 +/* 8030EB04 0030A764 48 00 00 28 */ b lbl_8030EB2C +lbl_8030EB08: +/* 8030EB08 0030A768 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030EB0C 0030A76C 38 C1 00 08 */ addi r6, r1, 8 +/* 8030EB10 0030A770 48 00 32 AD */ bl func_80311DBC +/* 8030EB14 0030A774 48 00 00 18 */ b lbl_8030EB2C +lbl_8030EB18: +/* 8030EB18 0030A778 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030EB1C 0030A77C 38 C1 00 08 */ addi r6, r1, 8 +/* 8030EB20 0030A780 48 00 38 25 */ bl func_80312344 +/* 8030EB24 0030A784 48 00 00 08 */ b lbl_8030EB2C +lbl_8030EB28: +/* 8030EB28 0030A788 38 60 00 0F */ li r3, 0xf +lbl_8030EB2C: +/* 8030EB2C 0030A78C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030EB30 0030A790 41 82 00 08 */ beq lbl_8030EB38 +/* 8030EB34 0030A794 48 00 00 80 */ b lbl_8030EBB4 +lbl_8030EB38: +/* 8030EB38 0030A798 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030EB3C 0030A79C 2C 04 00 00 */ cmpwi r4, 0 +/* 8030EB40 0030A7A0 40 82 00 0C */ bne lbl_8030EB4C +/* 8030EB44 0030A7A4 38 60 00 0D */ li r3, 0xd +/* 8030EB48 0030A7A8 48 00 00 6C */ b lbl_8030EBB4 +lbl_8030EB4C: +/* 8030EB4C 0030A7AC 3B BD FF FF */ addi r29, r29, -1 +lbl_8030EB50: +/* 8030EB50 0030A7B0 2C 1D 00 00 */ cmpwi r29, 0 +/* 8030EB54 0030A7B4 40 82 FF 74 */ bne lbl_8030EAC8 +/* 8030EB58 0030A7B8 80 A1 00 0C */ lwz r5, 0xc(r1) +/* 8030EB5C 0030A7BC 2C 05 00 00 */ cmpwi r5, 0 +/* 8030EB60 0030A7C0 40 82 00 0C */ bne lbl_8030EB6C +/* 8030EB64 0030A7C4 38 60 00 0D */ li r3, 0xd +/* 8030EB68 0030A7C8 48 00 00 4C */ b lbl_8030EBB4 +lbl_8030EB6C: +/* 8030EB6C 0030A7CC 80 7C 00 34 */ lwz r3, 0x34(r28) +/* 8030EB70 0030A7D0 3C 80 80 40 */ lis r4, lbl_803FE280@ha +/* 8030EB74 0030A7D4 38 84 E2 80 */ addi r4, r4, lbl_803FE280@l +/* 8030EB78 0030A7D8 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030EB7C 0030A7DC 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030EB80 0030A7E0 7C 64 02 14 */ add r3, r4, r0 +/* 8030EB84 0030A7E4 80 03 00 08 */ lwz r0, 8(r3) +/* 8030EB88 0030A7E8 7C 05 00 40 */ cmplw r5, r0 +/* 8030EB8C 0030A7EC 40 82 00 0C */ bne lbl_8030EB98 +/* 8030EB90 0030A7F0 38 60 00 00 */ li r3, 0 +/* 8030EB94 0030A7F4 48 00 00 20 */ b lbl_8030EBB4 +lbl_8030EB98: +/* 8030EB98 0030A7F8 90 BE 00 00 */ stw r5, 0(r30) +/* 8030EB9C 0030A7FC 38 00 00 01 */ li r0, 1 +/* 8030EBA0 0030A800 90 1F 00 00 */ stw r0, 0(r31) +/* 8030EBA4 0030A804 48 00 00 0C */ b lbl_8030EBB0 +lbl_8030EBA8: +/* 8030EBA8 0030A808 38 60 00 00 */ li r3, 0 +/* 8030EBAC 0030A80C 48 00 00 08 */ b lbl_8030EBB4 +lbl_8030EBB0: +/* 8030EBB0 0030A810 38 60 00 00 */ li r3, 0 +lbl_8030EBB4: +/* 8030EBB4 0030A814 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030EBB8 0030A818 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030EBBC 0030A81C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030EBC0 0030A820 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030EBC4 0030A824 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8030EBC8 0030A828 7C 08 03 A6 */ mtlr r0 +/* 8030EBCC 0030A82C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030EBD0 0030A830 4E 80 00 20 */ blr + +.global func_8030EBD4 +func_8030EBD4: +/* 8030EBD4 0030A834 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030EBD8 0030A838 7C 08 02 A6 */ mflr r0 +/* 8030EBDC 0030A83C 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030EBE0 0030A840 39 61 00 20 */ addi r11, r1, 0x20 +/* 8030EBE4 0030A844 4B EB 85 41 */ bl _savegpr_26 +/* 8030EBE8 0030A848 38 00 FF FF */ li r0, -1 +/* 8030EBEC 0030A84C 7C 7E 1B 78 */ mr r30, r3 +/* 8030EBF0 0030A850 90 06 00 00 */ stw r0, 0(r6) +/* 8030EBF4 0030A854 7C 9A 23 78 */ mr r26, r4 +/* 8030EBF8 0030A858 7C BF 2B 78 */ mr r31, r5 +/* 8030EBFC 0030A85C 7C DB 33 78 */ mr r27, r6 +/* 8030EC00 0030A860 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030EC04 0030A864 7C FC 3B 78 */ mr r28, r7 +/* 8030EC08 0030A868 7D 1D 43 78 */ mr r29, r8 +/* 8030EC0C 0030A86C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EC10 0030A870 41 82 00 30 */ beq lbl_8030EC40 +/* 8030EC14 0030A874 80 07 00 00 */ lwz r0, 0(r7) +/* 8030EC18 0030A878 28 00 00 01 */ cmplwi r0, 1 +/* 8030EC1C 0030A87C 40 82 00 24 */ bne lbl_8030EC40 +/* 8030EC20 0030A880 80 E8 00 00 */ lwz r7, 0(r8) +/* 8030EC24 0030A884 7F E4 FB 78 */ mr r4, r31 +/* 8030EC28 0030A888 7F 65 DB 78 */ mr r5, r27 +/* 8030EC2C 0030A88C 7F 86 E3 78 */ mr r6, r28 +/* 8030EC30 0030A890 4B FF FD F9 */ bl func_8030EA28 +/* 8030EC34 0030A894 2C 03 00 00 */ cmpwi r3, 0 +/* 8030EC38 0030A898 41 82 00 08 */ beq lbl_8030EC40 +/* 8030EC3C 0030A89C 48 00 01 4C */ b lbl_8030ED88 +lbl_8030EC40: +/* 8030EC40 0030A8A0 80 1E 00 1C */ lwz r0, 0x1c(r30) +/* 8030EC44 0030A8A4 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EC48 0030A8A8 41 82 00 10 */ beq lbl_8030EC58 +/* 8030EC4C 0030A8AC 80 1C 00 00 */ lwz r0, 0(r28) +/* 8030EC50 0030A8B0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EC54 0030A8B4 40 82 01 30 */ bne lbl_8030ED84 +lbl_8030EC58: +/* 8030EC58 0030A8B8 80 7E 00 34 */ lwz r3, 0x34(r30) +/* 8030EC5C 0030A8BC 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030EC60 0030A8C0 2C 00 00 01 */ cmpwi r0, 1 +/* 8030EC64 0030A8C4 41 82 00 34 */ beq lbl_8030EC98 +/* 8030EC68 0030A8C8 40 80 00 10 */ bge lbl_8030EC78 +/* 8030EC6C 0030A8CC 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EC70 0030A8D0 40 80 00 14 */ bge lbl_8030EC84 +/* 8030EC74 0030A8D4 48 00 00 4C */ b lbl_8030ECC0 +lbl_8030EC78: +/* 8030EC78 0030A8D8 2C 00 00 03 */ cmpwi r0, 3 +/* 8030EC7C 0030A8DC 40 80 00 44 */ bge lbl_8030ECC0 +/* 8030EC80 0030A8E0 48 00 00 2C */ b lbl_8030ECAC +lbl_8030EC84: +/* 8030EC84 0030A8E4 7F 65 DB 78 */ mr r5, r27 +/* 8030EC88 0030A8E8 7F A6 EB 78 */ mr r6, r29 +/* 8030EC8C 0030A8EC 57 44 04 3E */ clrlwi r4, r26, 0x10 +/* 8030EC90 0030A8F0 48 00 26 C5 */ bl func_80311354 +/* 8030EC94 0030A8F4 48 00 00 30 */ b lbl_8030ECC4 +lbl_8030EC98: +/* 8030EC98 0030A8F8 7F 44 D3 78 */ mr r4, r26 +/* 8030EC9C 0030A8FC 7F 65 DB 78 */ mr r5, r27 +/* 8030ECA0 0030A900 7F A6 EB 78 */ mr r6, r29 +/* 8030ECA4 0030A904 48 00 31 19 */ bl func_80311DBC +/* 8030ECA8 0030A908 48 00 00 1C */ b lbl_8030ECC4 +lbl_8030ECAC: +/* 8030ECAC 0030A90C 7F 44 D3 78 */ mr r4, r26 +/* 8030ECB0 0030A910 7F 65 DB 78 */ mr r5, r27 +/* 8030ECB4 0030A914 7F A6 EB 78 */ mr r6, r29 +/* 8030ECB8 0030A918 48 00 36 8D */ bl func_80312344 +/* 8030ECBC 0030A91C 48 00 00 08 */ b lbl_8030ECC4 +lbl_8030ECC0: +/* 8030ECC0 0030A920 38 60 00 0F */ li r3, 0xf +lbl_8030ECC4: +/* 8030ECC4 0030A924 2C 03 00 00 */ cmpwi r3, 0 +/* 8030ECC8 0030A928 41 82 00 08 */ beq lbl_8030ECD0 +/* 8030ECCC 0030A92C 48 00 00 BC */ b lbl_8030ED88 +lbl_8030ECD0: +/* 8030ECD0 0030A930 80 DB 00 00 */ lwz r6, 0(r27) +/* 8030ECD4 0030A934 2C 06 00 00 */ cmpwi r6, 0 +/* 8030ECD8 0030A938 40 82 00 0C */ bne lbl_8030ECE4 +/* 8030ECDC 0030A93C 38 60 00 0D */ li r3, 0xd +/* 8030ECE0 0030A940 48 00 00 A8 */ b lbl_8030ED88 +lbl_8030ECE4: +/* 8030ECE4 0030A944 3C 06 00 01 */ addis r0, r6, 1 +/* 8030ECE8 0030A948 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030ECEC 0030A94C 40 82 00 0C */ bne lbl_8030ECF8 +/* 8030ECF0 0030A950 38 60 00 06 */ li r3, 6 +/* 8030ECF4 0030A954 48 00 00 94 */ b lbl_8030ED88 +lbl_8030ECF8: +/* 8030ECF8 0030A958 80 BE 00 1C */ lwz r5, 0x1c(r30) +/* 8030ECFC 0030A95C 2C 05 00 00 */ cmpwi r5, 0 +/* 8030ED00 0030A960 41 82 00 84 */ beq lbl_8030ED84 +/* 8030ED04 0030A964 80 7E 00 34 */ lwz r3, 0x34(r30) +/* 8030ED08 0030A968 3C 80 80 40 */ lis r4, lbl_803FE280@ha +/* 8030ED0C 0030A96C 38 84 E2 80 */ addi r4, r4, lbl_803FE280@l +/* 8030ED10 0030A970 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030ED14 0030A974 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030ED18 0030A978 7C 64 02 14 */ add r3, r4, r0 +/* 8030ED1C 0030A97C 80 03 00 08 */ lwz r0, 8(r3) +/* 8030ED20 0030A980 7C 06 00 40 */ cmplw r6, r0 +/* 8030ED24 0030A984 41 82 00 60 */ beq lbl_8030ED84 +/* 8030ED28 0030A988 80 9E 00 24 */ lwz r4, 0x24(r30) +/* 8030ED2C 0030A98C 80 1E 00 28 */ lwz r0, 0x28(r30) +/* 8030ED30 0030A990 7C 00 20 40 */ cmplw r0, r4 +/* 8030ED34 0030A994 40 81 00 50 */ ble lbl_8030ED84 +/* 8030ED38 0030A998 2C 00 00 00 */ cmpwi r0, 0 +/* 8030ED3C 0030A99C 41 82 00 48 */ beq lbl_8030ED84 +/* 8030ED40 0030A9A0 A0 7E 00 20 */ lhz r3, 0x20(r30) +/* 8030ED44 0030A9A4 38 03 00 01 */ addi r0, r3, 1 +/* 8030ED48 0030A9A8 7C 04 01 D6 */ mullw r0, r4, r0 +/* 8030ED4C 0030A9AC 7C 1F 00 40 */ cmplw r31, r0 +/* 8030ED50 0030A9B0 40 82 00 24 */ bne lbl_8030ED74 +/* 8030ED54 0030A9B4 38 60 00 00 */ li r3, 0 +/* 8030ED58 0030A9B8 54 80 10 3A */ slwi r0, r4, 2 +/* 8030ED5C 0030A9BC B0 7E 00 22 */ sth r3, 0x22(r30) +/* 8030ED60 0030A9C0 7C C5 01 2E */ stwx r6, r5, r0 +/* 8030ED64 0030A9C4 80 7E 00 24 */ lwz r3, 0x24(r30) +/* 8030ED68 0030A9C8 38 03 00 01 */ addi r0, r3, 1 +/* 8030ED6C 0030A9CC 90 1E 00 24 */ stw r0, 0x24(r30) +/* 8030ED70 0030A9D0 48 00 00 10 */ b lbl_8030ED80 +lbl_8030ED74: +/* 8030ED74 0030A9D4 A0 7E 00 22 */ lhz r3, 0x22(r30) +/* 8030ED78 0030A9D8 38 03 00 01 */ addi r0, r3, 1 +/* 8030ED7C 0030A9DC B0 1E 00 22 */ sth r0, 0x22(r30) +lbl_8030ED80: +/* 8030ED80 0030A9E0 93 FE 00 2C */ stw r31, 0x2c(r30) +lbl_8030ED84: +/* 8030ED84 0030A9E4 38 60 00 00 */ li r3, 0 +lbl_8030ED88: +/* 8030ED88 0030A9E8 39 61 00 20 */ addi r11, r1, 0x20 +/* 8030ED8C 0030A9EC 4B EB 83 E5 */ bl _restgpr_26 +/* 8030ED90 0030A9F0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030ED94 0030A9F4 7C 08 03 A6 */ mtlr r0 +/* 8030ED98 0030A9F8 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030ED9C 0030A9FC 4E 80 00 20 */ blr + +.global func_8030EDA0 +func_8030EDA0: +/* 8030EDA0 0030AA00 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030EDA4 0030AA04 7C 08 02 A6 */ mflr r0 +/* 8030EDA8 0030AA08 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030EDAC 0030AA0C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030EDB0 0030AA10 7C BF 2B 78 */ mr r31, r5 +/* 8030EDB4 0030AA14 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030EDB8 0030AA18 7C 9E 23 78 */ mr r30, r4 +/* 8030EDBC 0030AA1C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030EDC0 0030AA20 7C 7D 1B 78 */ mr r29, r3 +/* 8030EDC4 0030AA24 93 81 00 10 */ stw r28, 0x10(r1) +/* 8030EDC8 0030AA28 7C DC 33 78 */ mr r28, r6 +/* 8030EDCC 0030AA2C 90 E1 00 08 */ stw r7, 8(r1) +/* 8030EDD0 0030AA30 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030EDD4 0030AA34 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030EDD8 0030AA38 2C 00 00 01 */ cmpwi r0, 1 +/* 8030EDDC 0030AA3C 41 82 00 40 */ beq lbl_8030EE1C +/* 8030EDE0 0030AA40 40 80 00 10 */ bge lbl_8030EDF0 +/* 8030EDE4 0030AA44 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EDE8 0030AA48 40 80 00 14 */ bge lbl_8030EDFC +/* 8030EDEC 0030AA4C 48 00 00 70 */ b lbl_8030EE5C +lbl_8030EDF0: +/* 8030EDF0 0030AA50 2C 00 00 03 */ cmpwi r0, 3 +/* 8030EDF4 0030AA54 40 80 00 68 */ bge lbl_8030EE5C +/* 8030EDF8 0030AA58 48 00 00 40 */ b lbl_8030EE38 +lbl_8030EDFC: +/* 8030EDFC 0030AA5C 28 06 0F FF */ cmplwi r6, 0xfff +/* 8030EE00 0030AA60 40 81 00 0C */ ble lbl_8030EE0C +/* 8030EE04 0030AA64 38 60 00 10 */ li r3, 0x10 +/* 8030EE08 0030AA68 48 00 00 58 */ b lbl_8030EE60 +lbl_8030EE0C: +/* 8030EE0C 0030AA6C 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 8030EE10 0030AA70 54 C5 04 3E */ clrlwi r5, r6, 0x10 +/* 8030EE14 0030AA74 48 00 28 15 */ bl func_80311628 +/* 8030EE18 0030AA78 48 00 00 48 */ b lbl_8030EE60 +lbl_8030EE1C: +/* 8030EE1C 0030AA7C 28 06 FF FF */ cmplwi r6, 0xffff +/* 8030EE20 0030AA80 40 81 00 0C */ ble lbl_8030EE2C +/* 8030EE24 0030AA84 38 60 00 10 */ li r3, 0x10 +/* 8030EE28 0030AA88 48 00 00 38 */ b lbl_8030EE60 +lbl_8030EE2C: +/* 8030EE2C 0030AA8C 7F 85 E3 78 */ mr r5, r28 +/* 8030EE30 0030AA90 48 00 31 49 */ bl func_80311F78 +/* 8030EE34 0030AA94 48 00 00 2C */ b lbl_8030EE60 +lbl_8030EE38: +/* 8030EE38 0030AA98 3C A0 10 00 */ lis r5, 0x0FFFFFFF@ha +/* 8030EE3C 0030AA9C 38 05 FF FF */ addi r0, r5, 0x0FFFFFFF@l +/* 8030EE40 0030AAA0 7C 06 00 40 */ cmplw r6, r0 +/* 8030EE44 0030AAA4 40 81 00 0C */ ble lbl_8030EE50 +/* 8030EE48 0030AAA8 38 60 00 10 */ li r3, 0x10 +/* 8030EE4C 0030AAAC 48 00 00 14 */ b lbl_8030EE60 +lbl_8030EE50: +/* 8030EE50 0030AAB0 7F 85 E3 78 */ mr r5, r28 +/* 8030EE54 0030AAB4 48 00 36 BD */ bl func_80312510 +/* 8030EE58 0030AAB8 48 00 00 08 */ b lbl_8030EE60 +lbl_8030EE5C: +/* 8030EE5C 0030AABC 38 60 00 0F */ li r3, 0xf +lbl_8030EE60: +/* 8030EE60 0030AAC0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030EE64 0030AAC4 41 82 00 08 */ beq lbl_8030EE6C +/* 8030EE68 0030AAC8 48 00 01 3C */ b lbl_8030EFA4 +lbl_8030EE6C: +/* 8030EE6C 0030AACC 80 BD 00 1C */ lwz r5, 0x1c(r29) +/* 8030EE70 0030AAD0 2C 05 00 00 */ cmpwi r5, 0 +/* 8030EE74 0030AAD4 41 82 01 2C */ beq lbl_8030EFA0 +/* 8030EE78 0030AAD8 80 01 00 08 */ lwz r0, 8(r1) +/* 8030EE7C 0030AADC 28 00 00 01 */ cmplwi r0, 1 +/* 8030EE80 0030AAE0 40 82 01 20 */ bne lbl_8030EFA0 +/* 8030EE84 0030AAE4 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030EE88 0030AAE8 40 82 00 68 */ bne lbl_8030EEF0 +/* 8030EE8C 0030AAEC A0 7D 00 20 */ lhz r3, 0x20(r29) +/* 8030EE90 0030AAF0 80 1D 00 28 */ lwz r0, 0x28(r29) +/* 8030EE94 0030AAF4 38 83 00 01 */ addi r4, r3, 1 +/* 8030EE98 0030AAF8 7C 7F 23 96 */ divwu r3, r31, r4 +/* 8030EE9C 0030AAFC 7C 00 18 40 */ cmplw r0, r3 +/* 8030EEA0 0030AB00 41 80 01 00 */ blt lbl_8030EFA0 +/* 8030EEA4 0030AB04 7C 03 21 D6 */ mullw r0, r3, r4 +/* 8030EEA8 0030AB08 7C 00 F8 51 */ subf. r0, r0, r31 +/* 8030EEAC 0030AB0C 40 82 00 10 */ bne lbl_8030EEBC +/* 8030EEB0 0030AB10 54 60 10 3A */ slwi r0, r3, 2 +/* 8030EEB4 0030AB14 38 60 00 00 */ li r3, 0 +/* 8030EEB8 0030AB18 7C 65 01 2E */ stwx r3, r5, r0 +lbl_8030EEBC: +/* 8030EEBC 0030AB1C 80 1D 00 2C */ lwz r0, 0x2c(r29) +/* 8030EEC0 0030AB20 7C 00 F8 40 */ cmplw r0, r31 +/* 8030EEC4 0030AB24 41 80 00 DC */ blt lbl_8030EFA0 +/* 8030EEC8 0030AB28 A0 7D 00 20 */ lhz r3, 0x20(r29) +/* 8030EECC 0030AB2C 38 9F FF FF */ addi r4, r31, -1 +/* 8030EED0 0030AB30 90 9D 00 2C */ stw r4, 0x2c(r29) +/* 8030EED4 0030AB34 38 03 00 01 */ addi r0, r3, 1 +/* 8030EED8 0030AB38 7C 64 03 96 */ divwu r3, r4, r0 +/* 8030EEDC 0030AB3C 7C 03 01 D6 */ mullw r0, r3, r0 +/* 8030EEE0 0030AB40 90 7D 00 24 */ stw r3, 0x24(r29) +/* 8030EEE4 0030AB44 7C 00 20 50 */ subf r0, r0, r4 +/* 8030EEE8 0030AB48 B0 1D 00 22 */ sth r0, 0x22(r29) +/* 8030EEEC 0030AB4C 48 00 00 B4 */ b lbl_8030EFA0 +lbl_8030EEF0: +/* 8030EEF0 0030AB50 80 7D 00 34 */ lwz r3, 0x34(r29) +/* 8030EEF4 0030AB54 3C 80 80 40 */ lis r4, lbl_803FE280@ha +/* 8030EEF8 0030AB58 38 84 E2 80 */ addi r4, r4, lbl_803FE280@l +/* 8030EEFC 0030AB5C 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030EF00 0030AB60 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030EF04 0030AB64 7C 64 02 14 */ add r3, r4, r0 +/* 8030EF08 0030AB68 80 03 00 08 */ lwz r0, 8(r3) +/* 8030EF0C 0030AB6C 7C 1E 00 40 */ cmplw r30, r0 +/* 8030EF10 0030AB70 41 82 00 90 */ beq lbl_8030EFA0 +/* 8030EF14 0030AB74 7F A3 EB 78 */ mr r3, r29 +/* 8030EF18 0030AB78 7F E4 FB 78 */ mr r4, r31 +/* 8030EF1C 0030AB7C 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030EF20 0030AB80 38 C1 00 08 */ addi r6, r1, 8 +/* 8030EF24 0030AB84 4B FF F9 49 */ bl func_8030E86C +/* 8030EF28 0030AB88 2C 03 00 00 */ cmpwi r3, 0 +/* 8030EF2C 0030AB8C 41 82 00 08 */ beq lbl_8030EF34 +/* 8030EF30 0030AB90 48 00 00 74 */ b lbl_8030EFA4 +lbl_8030EF34: +/* 8030EF34 0030AB94 80 01 00 08 */ lwz r0, 8(r1) +/* 8030EF38 0030AB98 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EF3C 0030AB9C 40 82 00 64 */ bne lbl_8030EFA0 +/* 8030EF40 0030ABA0 80 9D 00 24 */ lwz r4, 0x24(r29) +/* 8030EF44 0030ABA4 80 1D 00 28 */ lwz r0, 0x28(r29) +/* 8030EF48 0030ABA8 7C 00 20 40 */ cmplw r0, r4 +/* 8030EF4C 0030ABAC 40 81 00 54 */ ble lbl_8030EFA0 +/* 8030EF50 0030ABB0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030EF54 0030ABB4 41 82 00 4C */ beq lbl_8030EFA0 +/* 8030EF58 0030ABB8 A0 7D 00 20 */ lhz r3, 0x20(r29) +/* 8030EF5C 0030ABBC 38 03 00 01 */ addi r0, r3, 1 +/* 8030EF60 0030ABC0 7C 04 01 D6 */ mullw r0, r4, r0 +/* 8030EF64 0030ABC4 7C 1F 00 40 */ cmplw r31, r0 +/* 8030EF68 0030ABC8 40 82 00 28 */ bne lbl_8030EF90 +/* 8030EF6C 0030ABCC 38 00 00 00 */ li r0, 0 +/* 8030EF70 0030ABD0 80 7D 00 1C */ lwz r3, 0x1c(r29) +/* 8030EF74 0030ABD4 B0 1D 00 22 */ sth r0, 0x22(r29) +/* 8030EF78 0030ABD8 54 80 10 3A */ slwi r0, r4, 2 +/* 8030EF7C 0030ABDC 7F C3 01 2E */ stwx r30, r3, r0 +/* 8030EF80 0030ABE0 80 7D 00 24 */ lwz r3, 0x24(r29) +/* 8030EF84 0030ABE4 38 03 00 01 */ addi r0, r3, 1 +/* 8030EF88 0030ABE8 90 1D 00 24 */ stw r0, 0x24(r29) +/* 8030EF8C 0030ABEC 48 00 00 10 */ b lbl_8030EF9C +lbl_8030EF90: +/* 8030EF90 0030ABF0 A0 7D 00 22 */ lhz r3, 0x22(r29) +/* 8030EF94 0030ABF4 38 03 00 01 */ addi r0, r3, 1 +/* 8030EF98 0030ABF8 B0 1D 00 22 */ sth r0, 0x22(r29) +lbl_8030EF9C: +/* 8030EF9C 0030ABFC 93 FD 00 2C */ stw r31, 0x2c(r29) +lbl_8030EFA0: +/* 8030EFA0 0030AC00 38 60 00 00 */ li r3, 0 +lbl_8030EFA4: +/* 8030EFA4 0030AC04 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030EFA8 0030AC08 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030EFAC 0030AC0C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030EFB0 0030AC10 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030EFB4 0030AC14 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8030EFB8 0030AC18 7C 08 03 A6 */ mtlr r0 +/* 8030EFBC 0030AC1C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030EFC0 0030AC20 4E 80 00 20 */ blr + +.global func_8030EFC4 +func_8030EFC4: +/* 8030EFC4 0030AC24 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030EFC8 0030AC28 7C 08 02 A6 */ mflr r0 +/* 8030EFCC 0030AC2C 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030EFD0 0030AC30 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030EFD4 0030AC34 4B EB 81 55 */ bl _savegpr_27 +/* 8030EFD8 0030AC38 90 E1 00 08 */ stw r7, 8(r1) +/* 8030EFDC 0030AC3C 7C 7D 1B 78 */ mr r29, r3 +/* 8030EFE0 0030AC40 7C 9E 23 78 */ mr r30, r4 +/* 8030EFE4 0030AC44 7C BF 2B 78 */ mr r31, r5 +/* 8030EFE8 0030AC48 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030EFEC 0030AC4C 7C DB 33 78 */ mr r27, r6 +/* 8030EFF0 0030AC50 7D 1C 43 78 */ mr r28, r8 +/* 8030EFF4 0030AC54 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030EFF8 0030AC58 2C 00 00 01 */ cmpwi r0, 1 +/* 8030EFFC 0030AC5C 41 82 00 44 */ beq lbl_8030F040 +/* 8030F000 0030AC60 40 80 00 10 */ bge lbl_8030F010 +/* 8030F004 0030AC64 2C 00 00 00 */ cmpwi r0, 0 +/* 8030F008 0030AC68 40 80 00 14 */ bge lbl_8030F01C +/* 8030F00C 0030AC6C 48 00 00 7C */ b lbl_8030F088 +lbl_8030F010: +/* 8030F010 0030AC70 2C 00 00 03 */ cmpwi r0, 3 +/* 8030F014 0030AC74 40 80 00 74 */ bge lbl_8030F088 +/* 8030F018 0030AC78 48 00 00 48 */ b lbl_8030F060 +lbl_8030F01C: +/* 8030F01C 0030AC7C 28 06 0F FF */ cmplwi r6, 0xfff +/* 8030F020 0030AC80 40 81 00 0C */ ble lbl_8030F02C +/* 8030F024 0030AC84 38 60 00 10 */ li r3, 0x10 +/* 8030F028 0030AC88 48 00 00 64 */ b lbl_8030F08C +lbl_8030F02C: +/* 8030F02C 0030AC8C 54 C5 04 3E */ clrlwi r5, r6, 0x10 +/* 8030F030 0030AC90 7F 86 E3 78 */ mr r6, r28 +/* 8030F034 0030AC94 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 8030F038 0030AC98 48 00 27 95 */ bl func_803117CC +/* 8030F03C 0030AC9C 48 00 00 50 */ b lbl_8030F08C +lbl_8030F040: +/* 8030F040 0030ACA0 28 06 FF FF */ cmplwi r6, 0xffff +/* 8030F044 0030ACA4 40 81 00 0C */ ble lbl_8030F050 +/* 8030F048 0030ACA8 38 60 00 10 */ li r3, 0x10 +/* 8030F04C 0030ACAC 48 00 00 40 */ b lbl_8030F08C +lbl_8030F050: +/* 8030F050 0030ACB0 7F 65 DB 78 */ mr r5, r27 +/* 8030F054 0030ACB4 7F 86 E3 78 */ mr r6, r28 +/* 8030F058 0030ACB8 48 00 2F B9 */ bl func_80312010 +/* 8030F05C 0030ACBC 48 00 00 30 */ b lbl_8030F08C +lbl_8030F060: +/* 8030F060 0030ACC0 3C A0 10 00 */ lis r5, 0x0FFFFFFF@ha +/* 8030F064 0030ACC4 38 05 FF FF */ addi r0, r5, 0x0FFFFFFF@l +/* 8030F068 0030ACC8 7C 06 00 40 */ cmplw r6, r0 +/* 8030F06C 0030ACCC 40 81 00 0C */ ble lbl_8030F078 +/* 8030F070 0030ACD0 38 60 00 10 */ li r3, 0x10 +/* 8030F074 0030ACD4 48 00 00 18 */ b lbl_8030F08C +lbl_8030F078: +/* 8030F078 0030ACD8 7F 65 DB 78 */ mr r5, r27 +/* 8030F07C 0030ACDC 7F 86 E3 78 */ mr r6, r28 +/* 8030F080 0030ACE0 48 00 35 B1 */ bl func_80312630 +/* 8030F084 0030ACE4 48 00 00 08 */ b lbl_8030F08C +lbl_8030F088: +/* 8030F088 0030ACE8 38 60 00 0F */ li r3, 0xf +lbl_8030F08C: +/* 8030F08C 0030ACEC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F090 0030ACF0 41 82 00 08 */ beq lbl_8030F098 +/* 8030F094 0030ACF4 48 00 01 40 */ b lbl_8030F1D4 +lbl_8030F098: +/* 8030F098 0030ACF8 80 BD 00 1C */ lwz r5, 0x1c(r29) +/* 8030F09C 0030ACFC 2C 05 00 00 */ cmpwi r5, 0 +/* 8030F0A0 0030AD00 41 82 01 30 */ beq lbl_8030F1D0 +/* 8030F0A4 0030AD04 80 01 00 08 */ lwz r0, 8(r1) +/* 8030F0A8 0030AD08 28 00 00 01 */ cmplwi r0, 1 +/* 8030F0AC 0030AD0C 40 82 01 24 */ bne lbl_8030F1D0 +/* 8030F0B0 0030AD10 2C 1B 00 00 */ cmpwi r27, 0 +/* 8030F0B4 0030AD14 40 82 00 68 */ bne lbl_8030F11C +/* 8030F0B8 0030AD18 A0 7D 00 20 */ lhz r3, 0x20(r29) +/* 8030F0BC 0030AD1C 80 1D 00 28 */ lwz r0, 0x28(r29) +/* 8030F0C0 0030AD20 38 83 00 01 */ addi r4, r3, 1 +/* 8030F0C4 0030AD24 7C 7F 23 96 */ divwu r3, r31, r4 +/* 8030F0C8 0030AD28 7C 00 18 40 */ cmplw r0, r3 +/* 8030F0CC 0030AD2C 41 80 01 04 */ blt lbl_8030F1D0 +/* 8030F0D0 0030AD30 7C 03 21 D6 */ mullw r0, r3, r4 +/* 8030F0D4 0030AD34 7C 00 F8 51 */ subf. r0, r0, r31 +/* 8030F0D8 0030AD38 40 82 00 10 */ bne lbl_8030F0E8 +/* 8030F0DC 0030AD3C 54 60 10 3A */ slwi r0, r3, 2 +/* 8030F0E0 0030AD40 38 60 00 00 */ li r3, 0 +/* 8030F0E4 0030AD44 7C 65 01 2E */ stwx r3, r5, r0 +lbl_8030F0E8: +/* 8030F0E8 0030AD48 80 1D 00 2C */ lwz r0, 0x2c(r29) +/* 8030F0EC 0030AD4C 7C 00 F8 40 */ cmplw r0, r31 +/* 8030F0F0 0030AD50 41 80 00 E0 */ blt lbl_8030F1D0 +/* 8030F0F4 0030AD54 A0 7D 00 20 */ lhz r3, 0x20(r29) +/* 8030F0F8 0030AD58 38 9F FF FF */ addi r4, r31, -1 +/* 8030F0FC 0030AD5C 90 9D 00 2C */ stw r4, 0x2c(r29) +/* 8030F100 0030AD60 38 03 00 01 */ addi r0, r3, 1 +/* 8030F104 0030AD64 7C 64 03 96 */ divwu r3, r4, r0 +/* 8030F108 0030AD68 7C 03 01 D6 */ mullw r0, r3, r0 +/* 8030F10C 0030AD6C 90 7D 00 24 */ stw r3, 0x24(r29) +/* 8030F110 0030AD70 7C 00 20 50 */ subf r0, r0, r4 +/* 8030F114 0030AD74 B0 1D 00 22 */ sth r0, 0x22(r29) +/* 8030F118 0030AD78 48 00 00 B8 */ b lbl_8030F1D0 +lbl_8030F11C: +/* 8030F11C 0030AD7C 80 7D 00 34 */ lwz r3, 0x34(r29) +/* 8030F120 0030AD80 3C 80 80 40 */ lis r4, lbl_803FE280@ha +/* 8030F124 0030AD84 38 84 E2 80 */ addi r4, r4, lbl_803FE280@l +/* 8030F128 0030AD88 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030F12C 0030AD8C 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030F130 0030AD90 7C 64 02 14 */ add r3, r4, r0 +/* 8030F134 0030AD94 80 03 00 08 */ lwz r0, 8(r3) +/* 8030F138 0030AD98 7C 1E 00 40 */ cmplw r30, r0 +/* 8030F13C 0030AD9C 41 82 00 94 */ beq lbl_8030F1D0 +/* 8030F140 0030ADA0 80 FC 00 00 */ lwz r7, 0(r28) +/* 8030F144 0030ADA4 7F A3 EB 78 */ mr r3, r29 +/* 8030F148 0030ADA8 7F E4 FB 78 */ mr r4, r31 +/* 8030F14C 0030ADAC 38 A1 00 0C */ addi r5, r1, 0xc +/* 8030F150 0030ADB0 38 C1 00 08 */ addi r6, r1, 8 +/* 8030F154 0030ADB4 4B FF F8 D5 */ bl func_8030EA28 +/* 8030F158 0030ADB8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F15C 0030ADBC 41 82 00 08 */ beq lbl_8030F164 +/* 8030F160 0030ADC0 48 00 00 74 */ b lbl_8030F1D4 +lbl_8030F164: +/* 8030F164 0030ADC4 80 01 00 08 */ lwz r0, 8(r1) +/* 8030F168 0030ADC8 2C 00 00 00 */ cmpwi r0, 0 +/* 8030F16C 0030ADCC 40 82 00 64 */ bne lbl_8030F1D0 +/* 8030F170 0030ADD0 80 9D 00 24 */ lwz r4, 0x24(r29) +/* 8030F174 0030ADD4 80 1D 00 28 */ lwz r0, 0x28(r29) +/* 8030F178 0030ADD8 7C 00 20 40 */ cmplw r0, r4 +/* 8030F17C 0030ADDC 40 81 00 54 */ ble lbl_8030F1D0 +/* 8030F180 0030ADE0 2C 00 00 00 */ cmpwi r0, 0 +/* 8030F184 0030ADE4 41 82 00 4C */ beq lbl_8030F1D0 +/* 8030F188 0030ADE8 A0 7D 00 20 */ lhz r3, 0x20(r29) +/* 8030F18C 0030ADEC 38 03 00 01 */ addi r0, r3, 1 +/* 8030F190 0030ADF0 7C 04 01 D6 */ mullw r0, r4, r0 +/* 8030F194 0030ADF4 7C 1F 00 40 */ cmplw r31, r0 +/* 8030F198 0030ADF8 40 82 00 28 */ bne lbl_8030F1C0 +/* 8030F19C 0030ADFC 38 00 00 00 */ li r0, 0 +/* 8030F1A0 0030AE00 80 7D 00 1C */ lwz r3, 0x1c(r29) +/* 8030F1A4 0030AE04 B0 1D 00 22 */ sth r0, 0x22(r29) +/* 8030F1A8 0030AE08 54 80 10 3A */ slwi r0, r4, 2 +/* 8030F1AC 0030AE0C 7F C3 01 2E */ stwx r30, r3, r0 +/* 8030F1B0 0030AE10 80 7D 00 24 */ lwz r3, 0x24(r29) +/* 8030F1B4 0030AE14 38 03 00 01 */ addi r0, r3, 1 +/* 8030F1B8 0030AE18 90 1D 00 24 */ stw r0, 0x24(r29) +/* 8030F1BC 0030AE1C 48 00 00 10 */ b lbl_8030F1CC +lbl_8030F1C0: +/* 8030F1C0 0030AE20 A0 7D 00 22 */ lhz r3, 0x22(r29) +/* 8030F1C4 0030AE24 38 03 00 01 */ addi r0, r3, 1 +/* 8030F1C8 0030AE28 B0 1D 00 22 */ sth r0, 0x22(r29) +lbl_8030F1CC: +/* 8030F1CC 0030AE2C 93 FD 00 2C */ stw r31, 0x2c(r29) +lbl_8030F1D0: +/* 8030F1D0 0030AE30 38 60 00 00 */ li r3, 0 +lbl_8030F1D4: +/* 8030F1D4 0030AE34 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030F1D8 0030AE38 4B EB 7F 9D */ bl _restgpr_27 +/* 8030F1DC 0030AE3C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030F1E0 0030AE40 7C 08 03 A6 */ mtlr r0 +/* 8030F1E4 0030AE44 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030F1E8 0030AE48 4E 80 00 20 */ blr + +.global func_8030F1EC +func_8030F1EC: +/* 8030F1EC 0030AE4C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8030F1F0 0030AE50 7C 08 02 A6 */ mflr r0 +/* 8030F1F4 0030AE54 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030F1F8 0030AE58 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030F1FC 0030AE5C 4B EB 7F 25 */ bl _savegpr_25 +/* 8030F200 0030AE60 83 E3 00 34 */ lwz r31, 0x34(r3) +/* 8030F204 0030AE64 7C 79 1B 78 */ mr r25, r3 +/* 8030F208 0030AE68 3D 00 80 40 */ lis r8, lbl_803FE280@ha +/* 8030F20C 0030AE6C 38 00 FF FF */ li r0, -1 +/* 8030F210 0030AE70 80 7F 00 1C */ lwz r3, 0x1c(r31) +/* 8030F214 0030AE74 39 08 E2 80 */ addi r8, r8, lbl_803FE280@l +/* 8030F218 0030AE78 7C BA 2B 78 */ mr r26, r5 +/* 8030F21C 0030AE7C 7C DB 33 78 */ mr r27, r6 +/* 8030F220 0030AE80 90 06 00 00 */ stw r0, 0(r6) +/* 8030F224 0030AE84 1C 63 00 14 */ mulli r3, r3, 0x14 +/* 8030F228 0030AE88 7C 86 23 78 */ mr r6, r4 +/* 8030F22C 0030AE8C 90 07 00 00 */ stw r0, 0(r7) +/* 8030F230 0030AE90 7C FC 3B 78 */ mr r28, r7 +/* 8030F234 0030AE94 7C A8 1A 14 */ add r5, r8, r3 +/* 8030F238 0030AE98 38 E1 00 10 */ addi r7, r1, 0x10 +/* 8030F23C 0030AE9C 90 01 00 0C */ stw r0, 0xc(r1) +/* 8030F240 0030AEA0 7F E3 FB 78 */ mr r3, r31 +/* 8030F244 0030AEA4 83 C5 00 08 */ lwz r30, 8(r5) +/* 8030F248 0030AEA8 39 01 00 0C */ addi r8, r1, 0xc +/* 8030F24C 0030AEAC 80 9F 00 3C */ lwz r4, 0x3c(r31) +/* 8030F250 0030AEB0 38 A0 FF FF */ li r5, -1 +/* 8030F254 0030AEB4 4B FF F4 15 */ bl func_8030E668 +/* 8030F258 0030AEB8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F25C 0030AEBC 41 82 00 08 */ beq lbl_8030F264 +/* 8030F260 0030AEC0 48 00 02 20 */ b lbl_8030F480 +lbl_8030F264: +/* 8030F264 0030AEC4 80 A1 00 10 */ lwz r5, 0x10(r1) +/* 8030F268 0030AEC8 3C 05 00 01 */ addis r0, r5, 1 +/* 8030F26C 0030AECC 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F270 0030AED0 40 82 00 0C */ bne lbl_8030F27C +/* 8030F274 0030AED4 38 60 00 00 */ li r3, 0 +/* 8030F278 0030AED8 48 00 02 08 */ b lbl_8030F480 +lbl_8030F27C: +/* 8030F27C 0030AEDC 7F E3 FB 78 */ mr r3, r31 +/* 8030F280 0030AEE0 38 81 00 08 */ addi r4, r1, 8 +/* 8030F284 0030AEE4 4B FF F2 B5 */ bl func_8030E538 +/* 8030F288 0030AEE8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F28C 0030AEEC 41 82 00 08 */ beq lbl_8030F294 +/* 8030F290 0030AEF0 48 00 01 F0 */ b lbl_8030F480 +lbl_8030F294: +/* 8030F294 0030AEF4 80 61 00 08 */ lwz r3, 8(r1) +/* 8030F298 0030AEF8 38 00 00 00 */ li r0, 0 +/* 8030F29C 0030AEFC B0 03 00 02 */ sth r0, 2(r3) +/* 8030F2A0 0030AF00 83 A1 00 10 */ lwz r29, 0x10(r1) +/* 8030F2A4 0030AF04 48 00 00 98 */ b lbl_8030F33C +lbl_8030F2A8: +/* 8030F2A8 0030AF08 7F 23 CB 78 */ mr r3, r25 +/* 8030F2AC 0030AF0C 7F A4 EB 78 */ mr r4, r29 +/* 8030F2B0 0030AF10 7F 45 D3 78 */ mr r5, r26 +/* 8030F2B4 0030AF14 38 DD 00 01 */ addi r6, r29, 1 +/* 8030F2B8 0030AF18 39 01 00 08 */ addi r8, r1, 8 +/* 8030F2BC 0030AF1C 38 E0 00 01 */ li r7, 1 +/* 8030F2C0 0030AF20 4B FF FD 05 */ bl func_8030EFC4 +/* 8030F2C4 0030AF24 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F2C8 0030AF28 41 82 00 08 */ beq lbl_8030F2D0 +/* 8030F2CC 0030AF2C 48 00 01 B4 */ b lbl_8030F480 +lbl_8030F2D0: +/* 8030F2D0 0030AF30 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 8030F2D4 0030AF34 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 8030F2D8 0030AF38 41 82 00 44 */ beq lbl_8030F31C +/* 8030F2DC 0030AF3C 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 8030F2E0 0030AF40 3C 03 00 01 */ addis r0, r3, 1 +/* 8030F2E4 0030AF44 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F2E8 0030AF48 41 82 00 34 */ beq lbl_8030F31C +/* 8030F2EC 0030AF4C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F2F0 0030AF50 41 82 00 2C */ beq lbl_8030F31C +/* 8030F2F4 0030AF54 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 8030F2F8 0030AF58 2C 00 00 02 */ cmpwi r0, 2 +/* 8030F2FC 0030AF5C 40 82 00 14 */ bne lbl_8030F310 +/* 8030F300 0030AF60 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8030F304 0030AF64 80 1F 00 10 */ lwz r0, 0x10(r31) +/* 8030F308 0030AF68 7C 03 00 40 */ cmplw r3, r0 +/* 8030F30C 0030AF6C 41 82 00 10 */ beq lbl_8030F31C +lbl_8030F310: +/* 8030F310 0030AF70 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 8030F314 0030AF74 38 03 FF FF */ addi r0, r3, -1 +/* 8030F318 0030AF78 90 1F 00 38 */ stw r0, 0x38(r31) +lbl_8030F31C: +/* 8030F31C 0030AF7C 80 7B 00 00 */ lwz r3, 0(r27) +/* 8030F320 0030AF80 3C 03 00 01 */ addis r0, r3, 1 +/* 8030F324 0030AF84 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F328 0030AF88 40 82 00 08 */ bne lbl_8030F330 +/* 8030F32C 0030AF8C 93 BB 00 00 */ stw r29, 0(r27) +lbl_8030F330: +/* 8030F330 0030AF90 93 BC 00 00 */ stw r29, 0(r28) +/* 8030F334 0030AF94 3B 5A 00 01 */ addi r26, r26, 1 +/* 8030F338 0030AF98 3B BD 00 01 */ addi r29, r29, 1 +lbl_8030F33C: +/* 8030F33C 0030AF9C 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030F340 0030AFA0 7C 1D 20 40 */ cmplw r29, r4 +/* 8030F344 0030AFA4 41 80 FF 64 */ blt lbl_8030F2A8 +/* 8030F348 0030AFA8 3C 04 00 01 */ addis r0, r4, 1 +/* 8030F34C 0030AFAC 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F350 0030AFB0 41 82 00 80 */ beq lbl_8030F3D0 +/* 8030F354 0030AFB4 7F 23 CB 78 */ mr r3, r25 +/* 8030F358 0030AFB8 7F 45 D3 78 */ mr r5, r26 +/* 8030F35C 0030AFBC 7F C6 F3 78 */ mr r6, r30 +/* 8030F360 0030AFC0 39 01 00 08 */ addi r8, r1, 8 +/* 8030F364 0030AFC4 38 E0 00 01 */ li r7, 1 +/* 8030F368 0030AFC8 4B FF FC 5D */ bl func_8030EFC4 +/* 8030F36C 0030AFCC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F370 0030AFD0 41 82 00 08 */ beq lbl_8030F378 +/* 8030F374 0030AFD4 48 00 01 0C */ b lbl_8030F480 +lbl_8030F378: +/* 8030F378 0030AFD8 80 7B 00 00 */ lwz r3, 0(r27) +/* 8030F37C 0030AFDC 3C 03 00 01 */ addis r0, r3, 1 +/* 8030F380 0030AFE0 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F384 0030AFE4 40 82 00 08 */ bne lbl_8030F38C +/* 8030F388 0030AFE8 93 BB 00 00 */ stw r29, 0(r27) +lbl_8030F38C: +/* 8030F38C 0030AFEC 93 BC 00 00 */ stw r29, 0(r28) +/* 8030F390 0030AFF0 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 8030F394 0030AFF4 3C 03 00 01 */ addis r0, r3, 1 +/* 8030F398 0030AFF8 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F39C 0030AFFC 41 82 00 34 */ beq lbl_8030F3D0 +/* 8030F3A0 0030B000 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F3A4 0030B004 41 82 00 2C */ beq lbl_8030F3D0 +/* 8030F3A8 0030B008 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 8030F3AC 0030B00C 2C 00 00 02 */ cmpwi r0, 2 +/* 8030F3B0 0030B010 40 82 00 14 */ bne lbl_8030F3C4 +/* 8030F3B4 0030B014 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8030F3B8 0030B018 80 1F 00 10 */ lwz r0, 0x10(r31) +/* 8030F3BC 0030B01C 7C 03 00 40 */ cmplw r3, r0 +/* 8030F3C0 0030B020 41 82 00 10 */ beq lbl_8030F3D0 +lbl_8030F3C4: +/* 8030F3C4 0030B024 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 8030F3C8 0030B028 38 03 FF FF */ addi r0, r3, -1 +/* 8030F3CC 0030B02C 90 1F 00 38 */ stw r0, 0x38(r31) +lbl_8030F3D0: +/* 8030F3D0 0030B030 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030F3D4 0030B034 38 60 00 00 */ li r3, 0 +/* 8030F3D8 0030B038 38 04 00 01 */ addi r0, r4, 1 +/* 8030F3DC 0030B03C 90 1F 00 3C */ stw r0, 0x3c(r31) +/* 8030F3E0 0030B040 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030F3E4 0030B044 90 19 00 0C */ stw r0, 0xc(r25) +/* 8030F3E8 0030B048 93 59 00 10 */ stw r26, 0x10(r25) +/* 8030F3EC 0030B04C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030F3F0 0030B050 90 1C 00 00 */ stw r0, 0(r28) +/* 8030F3F4 0030B054 80 81 00 08 */ lwz r4, 8(r1) +/* 8030F3F8 0030B058 A0 04 00 00 */ lhz r0, 0(r4) +/* 8030F3FC 0030B05C 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8030F400 0030B060 2C 00 00 02 */ cmpwi r0, 2 +/* 8030F404 0030B064 40 82 00 0C */ bne lbl_8030F410 +/* 8030F408 0030B068 7F E3 FB 78 */ mr r3, r31 +/* 8030F40C 0030B06C 4B FF B5 71 */ bl VFiPFCACHE_WriteFATPage +lbl_8030F410: +/* 8030F410 0030B070 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F414 0030B074 41 82 00 08 */ beq lbl_8030F41C +/* 8030F418 0030B078 48 00 00 68 */ b lbl_8030F480 +lbl_8030F41C: +/* 8030F41C 0030B07C 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 8030F420 0030B080 2C 80 00 02 */ cmpwi cr1, r0, 2 +/* 8030F424 0030B084 40 86 00 58 */ bne cr1, lbl_8030F47C +/* 8030F428 0030B088 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 8030F42C 0030B08C 54 03 07 BD */ rlwinm. r3, r0, 0, 0x1e, 0x1e +/* 8030F430 0030B090 41 82 00 4C */ beq lbl_8030F47C +/* 8030F434 0030B094 38 60 00 00 */ li r3, 0 +/* 8030F438 0030B098 41 86 00 0C */ beq cr1, lbl_8030F444 +/* 8030F43C 0030B09C 38 60 00 0C */ li r3, 0xc +/* 8030F440 0030B0A0 48 00 00 20 */ b lbl_8030F460 +lbl_8030F444: +/* 8030F444 0030B0A4 40 82 00 0C */ bne lbl_8030F450 +/* 8030F448 0030B0A8 38 60 00 24 */ li r3, 0x24 +/* 8030F44C 0030B0AC 48 00 00 14 */ b lbl_8030F460 +lbl_8030F450: +/* 8030F450 0030B0B0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 8030F454 0030B0B4 41 82 00 0C */ beq lbl_8030F460 +/* 8030F458 0030B0B8 7F E3 FB 78 */ mr r3, r31 +/* 8030F45C 0030B0BC 4B FF 67 41 */ bl VFiPFDRV_StoreFreeCountToFSINFO +lbl_8030F460: +/* 8030F460 0030B0C0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F464 0030B0C4 41 82 00 18 */ beq lbl_8030F47C +/* 8030F468 0030B0C8 38 00 FF FF */ li r0, -1 +/* 8030F46C 0030B0CC 90 1F 00 38 */ stw r0, 0x38(r31) +/* 8030F470 0030B0D0 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 8030F474 0030B0D4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c +/* 8030F478 0030B0D8 B0 1F 18 7C */ sth r0, 0x187c(r31) +lbl_8030F47C: +/* 8030F47C 0030B0DC 38 60 00 00 */ li r3, 0 +lbl_8030F480: +/* 8030F480 0030B0E0 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030F484 0030B0E4 4B EB 7C E9 */ bl _restgpr_25 +/* 8030F488 0030B0E8 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8030F48C 0030B0EC 7C 08 03 A6 */ mtlr r0 +/* 8030F490 0030B0F0 38 21 00 40 */ addi r1, r1, 0x40 +/* 8030F494 0030B0F4 4E 80 00 20 */ blr + +.global func_8030F498 +func_8030F498: +/* 8030F498 0030B0F8 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 8030F49C 0030B0FC 7C 08 02 A6 */ mflr r0 +/* 8030F4A0 0030B100 90 01 00 54 */ stw r0, 0x54(r1) +/* 8030F4A4 0030B104 39 61 00 50 */ addi r11, r1, 0x50 +/* 8030F4A8 0030B108 4B EB 7C 69 */ bl _savegpr_21 +/* 8030F4AC 0030B10C 38 00 00 00 */ li r0, 0 +/* 8030F4B0 0030B110 3D 20 80 40 */ lis r9, lbl_803FE280@ha +/* 8030F4B4 0030B114 90 01 00 08 */ stw r0, 8(r1) +/* 8030F4B8 0030B118 38 00 FF FF */ li r0, -1 +/* 8030F4BC 0030B11C 7D 19 43 78 */ mr r25, r8 +/* 8030F4C0 0030B120 39 29 E2 80 */ addi r9, r9, lbl_803FE280@l +/* 8030F4C4 0030B124 81 43 00 34 */ lwz r10, 0x34(r3) +/* 8030F4C8 0030B128 7C F8 3B 78 */ mr r24, r7 +/* 8030F4CC 0030B12C 7C 76 1B 78 */ mr r22, r3 +/* 8030F4D0 0030B130 7C B7 2B 78 */ mr r23, r5 +/* 8030F4D4 0030B134 81 4A 00 1C */ lwz r10, 0x1c(r10) +/* 8030F4D8 0030B138 90 08 00 00 */ stw r0, 0(r8) +/* 8030F4DC 0030B13C 1D 0A 00 14 */ mulli r8, r10, 0x14 +/* 8030F4E0 0030B140 90 07 00 00 */ stw r0, 0(r7) +/* 8030F4E4 0030B144 7C E9 42 14 */ add r7, r9, r8 +/* 8030F4E8 0030B148 7F E9 40 2E */ lwzx r31, r9, r8 +/* 8030F4EC 0030B14C 80 03 00 14 */ lwz r0, 0x14(r3) +/* 8030F4F0 0030B150 83 C7 00 04 */ lwz r30, 4(r7) +/* 8030F4F4 0030B154 2C 00 00 00 */ cmpwi r0, 0 +/* 8030F4F8 0030B158 41 82 00 28 */ beq lbl_8030F520 +/* 8030F4FC 0030B15C 7C 00 20 40 */ cmplw r0, r4 +/* 8030F500 0030B160 41 81 00 20 */ bgt lbl_8030F520 +/* 8030F504 0030B164 80 03 00 18 */ lwz r0, 0x18(r3) +/* 8030F508 0030B168 3B 41 00 10 */ addi r26, r1, 0x10 +/* 8030F50C 0030B16C 90 01 00 10 */ stw r0, 0x10(r1) +/* 8030F510 0030B170 80 E3 00 14 */ lwz r7, 0x14(r3) +/* 8030F514 0030B174 7F 87 20 50 */ subf r28, r7, r4 +/* 8030F518 0030B178 3B 67 00 01 */ addi r27, r7, 1 +/* 8030F51C 0030B17C 48 00 00 10 */ b lbl_8030F52C +lbl_8030F520: +/* 8030F520 0030B180 83 43 00 08 */ lwz r26, 8(r3) +/* 8030F524 0030B184 7C 9C 23 78 */ mr r28, r4 +/* 8030F528 0030B188 3B 60 00 01 */ li r27, 1 +lbl_8030F52C: +/* 8030F52C 0030B18C 83 BA 00 00 */ lwz r29, 0(r26) +/* 8030F530 0030B190 28 05 00 02 */ cmplwi r5, 2 +/* 8030F534 0030B194 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030F538 0030B198 40 82 00 74 */ bne lbl_8030F5AC +/* 8030F53C 0030B19C 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030F540 0030B1A0 41 82 00 18 */ beq lbl_8030F558 +/* 8030F544 0030B1A4 2C 06 00 00 */ cmpwi r6, 0 +/* 8030F548 0030B1A8 41 82 00 10 */ beq lbl_8030F558 +/* 8030F54C 0030B1AC 7C BC 32 14 */ add r5, r28, r6 +/* 8030F550 0030B1B0 3B 85 FF FF */ addi r28, r5, -1 +/* 8030F554 0030B1B4 48 00 00 08 */ b lbl_8030F55C +lbl_8030F558: +/* 8030F558 0030B1B8 7C DC 33 78 */ mr r28, r6 +lbl_8030F55C: +/* 8030F55C 0030B1BC 81 23 00 0C */ lwz r9, 0xc(r3) +/* 8030F560 0030B1C0 7F 88 E3 78 */ mr r8, r28 +/* 8030F564 0030B1C4 2C 09 00 00 */ cmpwi r9, 0 +/* 8030F568 0030B1C8 41 82 00 5C */ beq lbl_8030F5C4 +/* 8030F56C 0030B1CC 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 8030F570 0030B1D0 3C E0 80 40 */ lis r7, lbl_803FE280@ha +/* 8030F574 0030B1D4 81 03 00 10 */ lwz r8, 0x10(r3) +/* 8030F578 0030B1D8 38 E7 E2 80 */ addi r7, r7, lbl_803FE280@l +/* 8030F57C 0030B1DC 80 05 00 1C */ lwz r0, 0x1c(r5) +/* 8030F580 0030B1E0 7D 3D 4B 78 */ mr r29, r9 +/* 8030F584 0030B1E4 7C A8 32 14 */ add r5, r8, r6 +/* 8030F588 0030B1E8 3B 80 00 00 */ li r28, 0 +/* 8030F58C 0030B1EC 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030F590 0030B1F0 7D 04 28 50 */ subf r8, r4, r5 +/* 8030F594 0030B1F4 7C 87 02 14 */ add r4, r7, r0 +/* 8030F598 0030B1F8 80 04 00 08 */ lwz r0, 8(r4) +/* 8030F59C 0030B1FC 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030F5A0 0030B200 80 83 00 10 */ lwz r4, 0x10(r3) +/* 8030F5A4 0030B204 3B 64 00 01 */ addi r27, r4, 1 +/* 8030F5A8 0030B208 48 00 00 1C */ b lbl_8030F5C4 +lbl_8030F5AC: +/* 8030F5AC 0030B20C 28 05 00 01 */ cmplwi r5, 1 +/* 8030F5B0 0030B210 40 82 00 10 */ bne lbl_8030F5C0 +/* 8030F5B4 0030B214 2C 1D 00 00 */ cmpwi r29, 0 +/* 8030F5B8 0030B218 40 82 00 08 */ bne lbl_8030F5C0 +/* 8030F5BC 0030B21C 3B 9C 00 01 */ addi r28, r28, 1 +lbl_8030F5C0: +/* 8030F5C0 0030B220 7F 88 E3 78 */ mr r8, r28 +lbl_8030F5C4: +/* 8030F5C4 0030B224 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030F5C8 0030B228 41 82 00 FC */ beq lbl_8030F6C4 +/* 8030F5CC 0030B22C 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030F5D0 0030B230 7F A5 EB 78 */ mr r5, r29 +/* 8030F5D4 0030B234 38 81 00 08 */ addi r4, r1, 8 +/* 8030F5D8 0030B238 4B FF EF 61 */ bl func_8030E538 +/* 8030F5DC 0030B23C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F5E0 0030B240 41 82 00 08 */ beq lbl_8030F5E8 +/* 8030F5E4 0030B244 48 00 01 C4 */ b lbl_8030F7A8 +lbl_8030F5E8: +/* 8030F5E8 0030B248 80 61 00 08 */ lwz r3, 8(r1) +/* 8030F5EC 0030B24C 38 80 00 00 */ li r4, 0 +/* 8030F5F0 0030B250 3E A0 80 40 */ lis r21, lbl_803FE280@ha +/* 8030F5F4 0030B254 38 00 00 01 */ li r0, 1 +/* 8030F5F8 0030B258 B0 83 00 02 */ sth r4, 2(r3) +/* 8030F5FC 0030B25C 3A B5 E2 80 */ addi r21, r21, lbl_803FE280@l +/* 8030F600 0030B260 90 01 00 0C */ stw r0, 0xc(r1) +/* 8030F604 0030B264 48 00 00 A8 */ b lbl_8030F6AC +lbl_8030F608: +/* 8030F608 0030B268 2C 1D 00 00 */ cmpwi r29, 0 +/* 8030F60C 0030B26C 41 82 00 3C */ beq lbl_8030F648 +/* 8030F610 0030B270 7E C3 B3 78 */ mr r3, r22 +/* 8030F614 0030B274 7F A4 EB 78 */ mr r4, r29 +/* 8030F618 0030B278 7F 65 DB 78 */ mr r5, r27 +/* 8030F61C 0030B27C 38 C1 00 14 */ addi r6, r1, 0x14 +/* 8030F620 0030B280 38 E1 00 0C */ addi r7, r1, 0xc +/* 8030F624 0030B284 39 01 00 08 */ addi r8, r1, 8 +/* 8030F628 0030B288 4B FF F5 AD */ bl func_8030EBD4 +/* 8030F62C 0030B28C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F630 0030B290 41 82 00 34 */ beq lbl_8030F664 +/* 8030F634 0030B294 80 81 00 14 */ lwz r4, 0x14(r1) +/* 8030F638 0030B298 3C 04 00 01 */ addis r0, r4, 1 +/* 8030F63C 0030B29C 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F640 0030B2A0 41 82 00 24 */ beq lbl_8030F664 +/* 8030F644 0030B2A4 48 00 01 64 */ b lbl_8030F7A8 +lbl_8030F648: +/* 8030F648 0030B2A8 80 76 00 34 */ lwz r3, 0x34(r22) +/* 8030F64C 0030B2AC 3B 7B FF FF */ addi r27, r27, -1 +/* 8030F650 0030B2B0 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030F654 0030B2B4 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030F658 0030B2B8 7C 75 02 14 */ add r3, r21, r0 +/* 8030F65C 0030B2BC 80 03 00 08 */ lwz r0, 8(r3) +/* 8030F660 0030B2C0 90 01 00 14 */ stw r0, 0x14(r1) +lbl_8030F664: +/* 8030F664 0030B2C4 80 81 00 14 */ lwz r4, 0x14(r1) +/* 8030F668 0030B2C8 28 04 00 02 */ cmplwi r4, 2 +/* 8030F66C 0030B2CC 41 80 00 18 */ blt lbl_8030F684 +/* 8030F670 0030B2D0 80 76 00 34 */ lwz r3, 0x34(r22) +/* 8030F674 0030B2D4 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030F678 0030B2D8 38 03 00 02 */ addi r0, r3, 2 +/* 8030F67C 0030B2DC 7C 04 00 40 */ cmplw r4, r0 +/* 8030F680 0030B2E0 41 80 00 14 */ blt lbl_8030F694 +lbl_8030F684: +/* 8030F684 0030B2E4 7C 04 F0 40 */ cmplw r4, r30 +/* 8030F688 0030B2E8 40 80 00 0C */ bge lbl_8030F694 +/* 8030F68C 0030B2EC 38 60 00 0E */ li r3, 0xe +/* 8030F690 0030B2F0 48 00 01 18 */ b lbl_8030F7A8 +lbl_8030F694: +/* 8030F694 0030B2F4 2C 17 00 00 */ cmpwi r23, 0 +/* 8030F698 0030B2F8 41 82 00 0C */ beq lbl_8030F6A4 +/* 8030F69C 0030B2FC 7C 04 F0 40 */ cmplw r4, r30 +/* 8030F6A0 0030B300 40 80 00 20 */ bge lbl_8030F6C0 +lbl_8030F6A4: +/* 8030F6A4 0030B304 7C 9D 23 78 */ mr r29, r4 +/* 8030F6A8 0030B308 3B 7B 00 01 */ addi r27, r27, 1 +lbl_8030F6AC: +/* 8030F6AC 0030B30C 2C 1C 00 00 */ cmpwi r28, 0 +/* 8030F6B0 0030B310 3B 9C FF FF */ addi r28, r28, -1 +/* 8030F6B4 0030B314 41 82 00 0C */ beq lbl_8030F6C0 +/* 8030F6B8 0030B318 7C 1D F8 40 */ cmplw r29, r31 +/* 8030F6BC 0030B31C 41 80 FF 4C */ blt lbl_8030F608 +lbl_8030F6C0: +/* 8030F6C0 0030B320 7F 88 E3 78 */ mr r8, r28 +lbl_8030F6C4: +/* 8030F6C4 0030B324 2C 17 00 00 */ cmpwi r23, 0 +/* 8030F6C8 0030B328 41 82 00 D8 */ beq lbl_8030F7A0 +/* 8030F6CC 0030B32C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030F6D0 0030B330 7C 00 F0 40 */ cmplw r0, r30 +/* 8030F6D4 0030B334 41 80 00 CC */ blt lbl_8030F7A0 +/* 8030F6D8 0030B338 38 00 00 00 */ li r0, 0 +/* 8030F6DC 0030B33C 7E C3 B3 78 */ mr r3, r22 +/* 8030F6E0 0030B340 90 18 00 00 */ stw r0, 0(r24) +/* 8030F6E4 0030B344 7F 65 DB 78 */ mr r5, r27 +/* 8030F6E8 0030B348 7F 06 C3 78 */ mr r6, r24 +/* 8030F6EC 0030B34C 38 88 00 01 */ addi r4, r8, 1 +/* 8030F6F0 0030B350 38 E1 00 14 */ addi r7, r1, 0x14 +/* 8030F6F4 0030B354 4B FF FA F9 */ bl func_8030F1EC +/* 8030F6F8 0030B358 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F6FC 0030B35C 7C 75 1B 78 */ mr r21, r3 +/* 8030F700 0030B360 41 82 00 34 */ beq lbl_8030F734 +/* 8030F704 0030B364 80 98 00 00 */ lwz r4, 0(r24) +/* 8030F708 0030B368 3C 04 00 01 */ addis r0, r4, 1 +/* 8030F70C 0030B36C 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F710 0030B370 41 82 00 14 */ beq lbl_8030F724 +/* 8030F714 0030B374 7E C3 B3 78 */ mr r3, r22 +/* 8030F718 0030B378 7F 65 DB 78 */ mr r5, r27 +/* 8030F71C 0030B37C 38 C0 FF FF */ li r6, -1 +/* 8030F720 0030B380 48 00 0D 09 */ bl func_80310428 +lbl_8030F724: +/* 8030F724 0030B384 38 00 FF FF */ li r0, -1 +/* 8030F728 0030B388 90 18 00 00 */ stw r0, 0(r24) +/* 8030F72C 0030B38C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030F730 0030B390 48 00 00 08 */ b lbl_8030F738 +lbl_8030F734: +/* 8030F734 0030B394 3A A0 00 00 */ li r21, 0 +lbl_8030F738: +/* 8030F738 0030B398 2C 15 00 00 */ cmpwi r21, 0 +/* 8030F73C 0030B39C 41 82 00 0C */ beq lbl_8030F748 +/* 8030F740 0030B3A0 7E A3 AB 78 */ mr r3, r21 +/* 8030F744 0030B3A4 48 00 00 64 */ b lbl_8030F7A8 +lbl_8030F748: +/* 8030F748 0030B3A8 80 61 00 14 */ lwz r3, 0x14(r1) +/* 8030F74C 0030B3AC 3C 03 00 01 */ addis r0, r3, 1 +/* 8030F750 0030B3B0 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030F754 0030B3B4 40 82 00 0C */ bne lbl_8030F760 +/* 8030F758 0030B3B8 38 60 00 06 */ li r3, 6 +/* 8030F75C 0030B3BC 48 00 00 4C */ b lbl_8030F7A8 +lbl_8030F760: +/* 8030F760 0030B3C0 80 1A 00 00 */ lwz r0, 0(r26) +/* 8030F764 0030B3C4 2C 00 00 00 */ cmpwi r0, 0 +/* 8030F768 0030B3C8 40 82 00 10 */ bne lbl_8030F778 +/* 8030F76C 0030B3CC 80 18 00 00 */ lwz r0, 0(r24) +/* 8030F770 0030B3D0 90 1A 00 00 */ stw r0, 0(r26) +/* 8030F774 0030B3D4 48 00 00 28 */ b lbl_8030F79C +lbl_8030F778: +/* 8030F778 0030B3D8 80 D8 00 00 */ lwz r6, 0(r24) +/* 8030F77C 0030B3DC 7E C3 B3 78 */ mr r3, r22 +/* 8030F780 0030B3E0 7F A4 EB 78 */ mr r4, r29 +/* 8030F784 0030B3E4 38 BB FF FF */ addi r5, r27, -1 +/* 8030F788 0030B3E8 38 E0 00 01 */ li r7, 1 +/* 8030F78C 0030B3EC 4B FF F6 15 */ bl func_8030EDA0 +/* 8030F790 0030B3F0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F794 0030B3F4 41 82 00 08 */ beq lbl_8030F79C +/* 8030F798 0030B3F8 48 00 00 10 */ b lbl_8030F7A8 +lbl_8030F79C: +/* 8030F79C 0030B3FC 83 A1 00 14 */ lwz r29, 0x14(r1) +lbl_8030F7A0: +/* 8030F7A0 0030B400 93 B9 00 00 */ stw r29, 0(r25) +/* 8030F7A4 0030B404 38 60 00 00 */ li r3, 0 +lbl_8030F7A8: +/* 8030F7A8 0030B408 39 61 00 50 */ addi r11, r1, 0x50 +/* 8030F7AC 0030B40C 4B EB 79 B1 */ bl _restgpr_21 +/* 8030F7B0 0030B410 80 01 00 54 */ lwz r0, 0x54(r1) +/* 8030F7B4 0030B414 7C 08 03 A6 */ mtlr r0 +/* 8030F7B8 0030B418 38 21 00 50 */ addi r1, r1, 0x50 +/* 8030F7BC 0030B41C 4E 80 00 20 */ blr + +.global func_8030F7C0 +func_8030F7C0: +/* 8030F7C0 0030B420 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030F7C4 0030B424 7C 08 02 A6 */ mflr r0 +/* 8030F7C8 0030B428 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030F7CC 0030B42C 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030F7D0 0030B430 4B EB 79 55 */ bl _savegpr_26 +/* 8030F7D4 0030B434 83 E3 00 34 */ lwz r31, 0x34(r3) +/* 8030F7D8 0030B438 39 00 FF FF */ li r8, -1 +/* 8030F7DC 0030B43C 38 00 00 01 */ li r0, 1 +/* 8030F7E0 0030B440 7C 7B 1B 78 */ mr r27, r3 +/* 8030F7E4 0030B444 91 01 00 10 */ stw r8, 0x10(r1) +/* 8030F7E8 0030B448 7C BC 2B 78 */ mr r28, r5 +/* 8030F7EC 0030B44C 7C DD 33 78 */ mr r29, r6 +/* 8030F7F0 0030B450 7C FE 3B 78 */ mr r30, r7 +/* 8030F7F4 0030B454 90 01 00 0C */ stw r0, 0xc(r1) +/* 8030F7F8 0030B458 7C 9A 23 78 */ mr r26, r4 +/* 8030F7FC 0030B45C 7C 85 23 78 */ mr r5, r4 +/* 8030F800 0030B460 7F E3 FB 78 */ mr r3, r31 +/* 8030F804 0030B464 38 81 00 08 */ addi r4, r1, 8 +/* 8030F808 0030B468 4B FF ED 31 */ bl func_8030E538 +/* 8030F80C 0030B46C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F810 0030B470 41 82 00 B8 */ beq lbl_8030F8C8 +/* 8030F814 0030B474 48 00 00 C4 */ b lbl_8030F8D8 +/* 8030F818 0030B478 48 00 00 B0 */ b lbl_8030F8C8 +lbl_8030F81C: +/* 8030F81C 0030B47C 7F 63 DB 78 */ mr r3, r27 +/* 8030F820 0030B480 7F 44 D3 78 */ mr r4, r26 +/* 8030F824 0030B484 7F 85 E3 78 */ mr r5, r28 +/* 8030F828 0030B488 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8030F82C 0030B48C 38 E1 00 0C */ addi r7, r1, 0xc +/* 8030F830 0030B490 39 01 00 08 */ addi r8, r1, 8 +/* 8030F834 0030B494 4B FF F3 A1 */ bl func_8030EBD4 +/* 8030F838 0030B498 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F83C 0030B49C 41 82 00 08 */ beq lbl_8030F844 +/* 8030F840 0030B4A0 48 00 00 98 */ b lbl_8030F8D8 +lbl_8030F844: +/* 8030F844 0030B4A4 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8030F848 0030B4A8 38 1A 00 01 */ addi r0, r26, 1 +/* 8030F84C 0030B4AC 7C 00 20 40 */ cmplw r0, r4 +/* 8030F850 0030B4B0 41 82 00 34 */ beq lbl_8030F884 +/* 8030F854 0030B4B4 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 8030F858 0030B4B8 3C 60 80 40 */ lis r3, lbl_803FE280@ha +/* 8030F85C 0030B4BC 38 63 E2 80 */ addi r3, r3, lbl_803FE280@l +/* 8030F860 0030B4C0 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030F864 0030B4C4 7C 63 02 14 */ add r3, r3, r0 +/* 8030F868 0030B4C8 80 03 00 08 */ lwz r0, 8(r3) +/* 8030F86C 0030B4CC 7C 04 00 40 */ cmplw r4, r0 +/* 8030F870 0030B4D0 40 82 00 64 */ bne lbl_8030F8D4 +/* 8030F874 0030B4D4 38 1C FF FF */ addi r0, r28, -1 +/* 8030F878 0030B4D8 93 5B 00 0C */ stw r26, 0xc(r27) +/* 8030F87C 0030B4DC 90 1B 00 10 */ stw r0, 0x10(r27) +/* 8030F880 0030B4E0 48 00 00 54 */ b lbl_8030F8D4 +lbl_8030F884: +/* 8030F884 0030B4E4 80 9B 00 30 */ lwz r4, 0x30(r27) +/* 8030F888 0030B4E8 80 64 00 00 */ lwz r3, 0(r4) +/* 8030F88C 0030B4EC 38 03 00 01 */ addi r0, r3, 1 +/* 8030F890 0030B4F0 90 04 00 00 */ stw r0, 0(r4) +/* 8030F894 0030B4F4 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030F898 0030B4F8 80 7B 00 30 */ lwz r3, 0x30(r27) +/* 8030F89C 0030B4FC 90 03 00 04 */ stw r0, 4(r3) +/* 8030F8A0 0030B500 80 7E 00 00 */ lwz r3, 0(r30) +/* 8030F8A4 0030B504 88 1F 00 06 */ lbz r0, 6(r31) +/* 8030F8A8 0030B508 7C 63 02 14 */ add r3, r3, r0 +/* 8030F8AC 0030B50C 90 7E 00 00 */ stw r3, 0(r30) +/* 8030F8B0 0030B510 88 1F 00 20 */ lbz r0, 0x20(r31) +/* 8030F8B4 0030B514 7C 60 00 30 */ slw r0, r3, r0 +/* 8030F8B8 0030B518 7C 00 E8 40 */ cmplw r0, r29 +/* 8030F8BC 0030B51C 40 80 00 18 */ bge lbl_8030F8D4 +/* 8030F8C0 0030B520 83 41 00 10 */ lwz r26, 0x10(r1) +/* 8030F8C4 0030B524 3B 9C 00 01 */ addi r28, r28, 1 +lbl_8030F8C8: +/* 8030F8C8 0030B528 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030F8CC 0030B52C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030F8D0 0030B530 40 82 FF 4C */ bne lbl_8030F81C +lbl_8030F8D4: +/* 8030F8D4 0030B534 38 60 00 00 */ li r3, 0 +lbl_8030F8D8: +/* 8030F8D8 0030B538 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030F8DC 0030B53C 4B EB 78 95 */ bl _restgpr_26 +/* 8030F8E0 0030B540 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030F8E4 0030B544 7C 08 03 A6 */ mtlr r0 +/* 8030F8E8 0030B548 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030F8EC 0030B54C 4E 80 00 20 */ blr + +.global func_8030F8F0 +func_8030F8F0: +/* 8030F8F0 0030B550 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8030F8F4 0030B554 7C 08 02 A6 */ mflr r0 +/* 8030F8F8 0030B558 90 01 00 44 */ stw r0, 0x44(r1) +/* 8030F8FC 0030B55C 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030F900 0030B560 4B EB 78 1D */ bl _savegpr_24 +/* 8030F904 0030B564 83 E3 00 34 */ lwz r31, 0x34(r3) +/* 8030F908 0030B568 39 00 FF FF */ li r8, -1 +/* 8030F90C 0030B56C 38 00 00 01 */ li r0, 1 +/* 8030F910 0030B570 7C 79 1B 78 */ mr r25, r3 +/* 8030F914 0030B574 91 01 00 10 */ stw r8, 0x10(r1) +/* 8030F918 0030B578 7C BA 2B 78 */ mr r26, r5 +/* 8030F91C 0030B57C 7C DB 33 78 */ mr r27, r6 +/* 8030F920 0030B580 7C FC 3B 78 */ mr r28, r7 +/* 8030F924 0030B584 90 01 00 0C */ stw r0, 0xc(r1) +/* 8030F928 0030B588 7C 9E 23 78 */ mr r30, r4 +/* 8030F92C 0030B58C 7C 85 23 78 */ mr r5, r4 +/* 8030F930 0030B590 7F E3 FB 78 */ mr r3, r31 +/* 8030F934 0030B594 38 81 00 08 */ addi r4, r1, 8 +/* 8030F938 0030B598 3B A0 00 00 */ li r29, 0 +/* 8030F93C 0030B59C 4B FF EB FD */ bl func_8030E538 +/* 8030F940 0030B5A0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F944 0030B5A4 41 82 00 08 */ beq lbl_8030F94C +/* 8030F948 0030B5A8 48 00 00 A0 */ b lbl_8030F9E8 +lbl_8030F94C: +/* 8030F94C 0030B5AC 3F 00 80 40 */ lis r24, lbl_803FE280@ha +/* 8030F950 0030B5B0 3B 18 E2 80 */ addi r24, r24, lbl_803FE280@l +/* 8030F954 0030B5B4 48 00 00 84 */ b lbl_8030F9D8 +lbl_8030F958: +/* 8030F958 0030B5B8 A0 9F 00 00 */ lhz r4, 0(r31) +/* 8030F95C 0030B5BC 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 8030F960 0030B5C0 80 7C 00 00 */ lwz r3, 0(r28) +/* 8030F964 0030B5C4 7C 80 00 30 */ slw r0, r4, r0 +/* 8030F968 0030B5C8 7F BD 02 14 */ add r29, r29, r0 +/* 8030F96C 0030B5CC 38 03 00 01 */ addi r0, r3, 1 +/* 8030F970 0030B5D0 7C 1D D8 40 */ cmplw r29, r27 +/* 8030F974 0030B5D4 90 1C 00 00 */ stw r0, 0(r28) +/* 8030F978 0030B5D8 40 80 00 6C */ bge lbl_8030F9E4 +/* 8030F97C 0030B5DC 7F 23 CB 78 */ mr r3, r25 +/* 8030F980 0030B5E0 7F C4 F3 78 */ mr r4, r30 +/* 8030F984 0030B5E4 7F 45 D3 78 */ mr r5, r26 +/* 8030F988 0030B5E8 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8030F98C 0030B5EC 38 E1 00 0C */ addi r7, r1, 0xc +/* 8030F990 0030B5F0 39 01 00 08 */ addi r8, r1, 8 +/* 8030F994 0030B5F4 4B FF F2 41 */ bl func_8030EBD4 +/* 8030F998 0030B5F8 2C 03 00 00 */ cmpwi r3, 0 +/* 8030F99C 0030B5FC 41 82 00 08 */ beq lbl_8030F9A4 +/* 8030F9A0 0030B600 48 00 00 48 */ b lbl_8030F9E8 +lbl_8030F9A4: +/* 8030F9A4 0030B604 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 8030F9A8 0030B608 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8030F9AC 0030B60C 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8030F9B0 0030B610 7C 78 02 14 */ add r3, r24, r0 +/* 8030F9B4 0030B614 80 03 00 08 */ lwz r0, 8(r3) +/* 8030F9B8 0030B618 7C 04 00 40 */ cmplw r4, r0 +/* 8030F9BC 0030B61C 40 82 00 14 */ bne lbl_8030F9D0 +/* 8030F9C0 0030B620 38 1A FF FF */ addi r0, r26, -1 +/* 8030F9C4 0030B624 93 D9 00 0C */ stw r30, 0xc(r25) +/* 8030F9C8 0030B628 90 19 00 10 */ stw r0, 0x10(r25) +/* 8030F9CC 0030B62C 48 00 00 18 */ b lbl_8030F9E4 +lbl_8030F9D0: +/* 8030F9D0 0030B630 7C 9E 23 78 */ mr r30, r4 +/* 8030F9D4 0030B634 3B 5A 00 01 */ addi r26, r26, 1 +lbl_8030F9D8: +/* 8030F9D8 0030B638 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030F9DC 0030B63C 2C 00 00 00 */ cmpwi r0, 0 +/* 8030F9E0 0030B640 40 82 FF 78 */ bne lbl_8030F958 +lbl_8030F9E4: +/* 8030F9E4 0030B644 38 60 00 00 */ li r3, 0 +lbl_8030F9E8: +/* 8030F9E8 0030B648 39 61 00 40 */ addi r11, r1, 0x40 +/* 8030F9EC 0030B64C 4B EB 77 7D */ bl _restgpr_24 +/* 8030F9F0 0030B650 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8030F9F4 0030B654 7C 08 03 A6 */ mtlr r0 +/* 8030F9F8 0030B658 38 21 00 40 */ addi r1, r1, 0x40 +/* 8030F9FC 0030B65C 4E 80 00 20 */ blr + +.global func_8030FA00 +func_8030FA00: +/* 8030FA00 0030B660 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030FA04 0030B664 7C 08 02 A6 */ mflr r0 +/* 8030FA08 0030B668 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030FA0C 0030B66C 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030FA10 0030B670 4B EB 77 19 */ bl _savegpr_27 +/* 8030FA14 0030B674 80 E3 00 08 */ lwz r7, 8(r3) +/* 8030FA18 0030B678 7C 9D 23 78 */ mr r29, r4 +/* 8030FA1C 0030B67C 81 03 00 34 */ lwz r8, 0x34(r3) +/* 8030FA20 0030B680 7C 7C 1B 78 */ mr r28, r3 +/* 8030FA24 0030B684 80 07 00 00 */ lwz r0, 0(r7) +/* 8030FA28 0030B688 7C BB 2B 78 */ mr r27, r5 +/* 8030FA2C 0030B68C 80 88 00 1C */ lwz r4, 0x1c(r8) +/* 8030FA30 0030B690 7C DE 33 78 */ mr r30, r6 +/* 8030FA34 0030B694 2C 00 00 00 */ cmpwi r0, 0 +/* 8030FA38 0030B698 83 E3 00 30 */ lwz r31, 0x30(r3) +/* 8030FA3C 0030B69C 40 82 00 1C */ bne lbl_8030FA58 +/* 8030FA40 0030B6A0 2C 05 00 00 */ cmpwi r5, 0 +/* 8030FA44 0030B6A4 40 82 00 14 */ bne lbl_8030FA58 +/* 8030FA48 0030B6A8 38 00 FF FF */ li r0, -1 +/* 8030FA4C 0030B6AC 38 60 00 00 */ li r3, 0 +/* 8030FA50 0030B6B0 90 06 00 00 */ stw r0, 0(r6) +/* 8030FA54 0030B6B4 48 00 01 24 */ b lbl_8030FB78 +lbl_8030FA58: +/* 8030FA58 0030B6B8 28 00 00 01 */ cmplwi r0, 1 +/* 8030FA5C 0030B6BC 40 82 00 24 */ bne lbl_8030FA80 +/* 8030FA60 0030B6C0 28 04 00 01 */ cmplwi r4, 1 +/* 8030FA64 0030B6C4 41 81 00 14 */ bgt lbl_8030FA78 +/* 8030FA68 0030B6C8 38 00 FF FF */ li r0, -1 +/* 8030FA6C 0030B6CC 38 60 00 00 */ li r3, 0 +/* 8030FA70 0030B6D0 90 06 00 00 */ stw r0, 0(r6) +/* 8030FA74 0030B6D4 48 00 01 04 */ b lbl_8030FB78 +lbl_8030FA78: +/* 8030FA78 0030B6D8 80 08 00 10 */ lwz r0, 0x10(r8) +/* 8030FA7C 0030B6DC 90 07 00 00 */ stw r0, 0(r7) +lbl_8030FA80: +/* 8030FA80 0030B6E0 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8030FA84 0030B6E4 2C 00 00 00 */ cmpwi r0, 0 +/* 8030FA88 0030B6E8 41 82 00 54 */ beq lbl_8030FADC +/* 8030FA8C 0030B6EC 2C 05 00 00 */ cmpwi r5, 0 +/* 8030FA90 0030B6F0 40 82 00 4C */ bne lbl_8030FADC +/* 8030FA94 0030B6F4 7F 83 E3 78 */ mr r3, r28 +/* 8030FA98 0030B6F8 7F A4 EB 78 */ mr r4, r29 +/* 8030FA9C 0030B6FC 7F C5 F3 78 */ mr r5, r30 +/* 8030FAA0 0030B700 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8030FAA4 0030B704 4B FF ED C9 */ bl func_8030E86C +/* 8030FAA8 0030B708 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FAAC 0030B70C 41 82 00 08 */ beq lbl_8030FAB4 +/* 8030FAB0 0030B710 48 00 00 C8 */ b lbl_8030FB78 +lbl_8030FAB4: +/* 8030FAB4 0030B714 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8030FAB8 0030B718 28 00 00 01 */ cmplwi r0, 1 +/* 8030FABC 0030B71C 40 82 00 20 */ bne lbl_8030FADC +/* 8030FAC0 0030B720 80 1C 00 00 */ lwz r0, 0(r28) +/* 8030FAC4 0030B724 38 60 00 00 */ li r3, 0 +/* 8030FAC8 0030B728 90 1F 00 08 */ stw r0, 8(r31) +/* 8030FACC 0030B72C 93 BF 00 00 */ stw r29, 0(r31) +/* 8030FAD0 0030B730 80 1E 00 00 */ lwz r0, 0(r30) +/* 8030FAD4 0030B734 90 1F 00 04 */ stw r0, 4(r31) +/* 8030FAD8 0030B738 48 00 00 A0 */ b lbl_8030FB78 +lbl_8030FADC: +/* 8030FADC 0030B73C 7C 1B 00 D0 */ neg r0, r27 +/* 8030FAE0 0030B740 38 60 FF FF */ li r3, -1 +/* 8030FAE4 0030B744 7C 00 DB 78 */ or r0, r0, r27 +/* 8030FAE8 0030B748 90 7E 00 00 */ stw r3, 0(r30) +/* 8030FAEC 0030B74C 7F 83 E3 78 */ mr r3, r28 +/* 8030FAF0 0030B750 7F A4 EB 78 */ mr r4, r29 +/* 8030FAF4 0030B754 54 05 0F FE */ srwi r5, r0, 0x1f +/* 8030FAF8 0030B758 38 E1 00 08 */ addi r7, r1, 8 +/* 8030FAFC 0030B75C 39 01 00 0C */ addi r8, r1, 0xc +/* 8030FB00 0030B760 38 C0 00 00 */ li r6, 0 +/* 8030FB04 0030B764 4B FF F9 95 */ bl func_8030F498 +/* 8030FB08 0030B768 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FB0C 0030B76C 41 82 00 08 */ beq lbl_8030FB14 +/* 8030FB10 0030B770 48 00 00 2C */ b lbl_8030FB3C +lbl_8030FB14: +/* 8030FB14 0030B774 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8030FB18 0030B778 28 04 00 02 */ cmplwi r4, 2 +/* 8030FB1C 0030B77C 41 80 00 1C */ blt lbl_8030FB38 +/* 8030FB20 0030B780 80 7C 00 34 */ lwz r3, 0x34(r28) +/* 8030FB24 0030B784 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030FB28 0030B788 38 03 00 02 */ addi r0, r3, 2 +/* 8030FB2C 0030B78C 7C 04 00 40 */ cmplw r4, r0 +/* 8030FB30 0030B790 40 80 00 08 */ bge lbl_8030FB38 +/* 8030FB34 0030B794 90 9E 00 00 */ stw r4, 0(r30) +lbl_8030FB38: +/* 8030FB38 0030B798 38 60 00 00 */ li r3, 0 +lbl_8030FB3C: +/* 8030FB3C 0030B79C 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FB40 0030B7A0 41 82 00 08 */ beq lbl_8030FB48 +/* 8030FB44 0030B7A4 48 00 00 34 */ b lbl_8030FB78 +lbl_8030FB48: +/* 8030FB48 0030B7A8 80 7E 00 00 */ lwz r3, 0(r30) +/* 8030FB4C 0030B7AC 3C 03 00 01 */ addis r0, r3, 1 +/* 8030FB50 0030B7B0 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030FB54 0030B7B4 40 82 00 0C */ bne lbl_8030FB60 +/* 8030FB58 0030B7B8 38 60 00 00 */ li r3, 0 +/* 8030FB5C 0030B7BC 48 00 00 1C */ b lbl_8030FB78 +lbl_8030FB60: +/* 8030FB60 0030B7C0 80 1C 00 00 */ lwz r0, 0(r28) +/* 8030FB64 0030B7C4 38 60 00 00 */ li r3, 0 +/* 8030FB68 0030B7C8 90 1F 00 08 */ stw r0, 8(r31) +/* 8030FB6C 0030B7CC 93 BF 00 00 */ stw r29, 0(r31) +/* 8030FB70 0030B7D0 80 1E 00 00 */ lwz r0, 0(r30) +/* 8030FB74 0030B7D4 90 1F 00 04 */ stw r0, 4(r31) +lbl_8030FB78: +/* 8030FB78 0030B7D8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030FB7C 0030B7DC 4B EB 75 F9 */ bl _restgpr_27 +/* 8030FB80 0030B7E0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030FB84 0030B7E4 7C 08 03 A6 */ mtlr r0 +/* 8030FB88 0030B7E8 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030FB8C 0030B7EC 4E 80 00 20 */ blr + +.global func_8030FB90 +func_8030FB90: +/* 8030FB90 0030B7F0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030FB94 0030B7F4 7C 08 02 A6 */ mflr r0 +/* 8030FB98 0030B7F8 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030FB9C 0030B7FC 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030FBA0 0030B800 4B EB 75 89 */ bl _savegpr_27 +/* 8030FBA4 0030B804 81 03 00 08 */ lwz r8, 8(r3) +/* 8030FBA8 0030B808 7C 9D 23 78 */ mr r29, r4 +/* 8030FBAC 0030B80C 81 23 00 34 */ lwz r9, 0x34(r3) +/* 8030FBB0 0030B810 7C 7C 1B 78 */ mr r28, r3 +/* 8030FBB4 0030B814 80 08 00 00 */ lwz r0, 0(r8) +/* 8030FBB8 0030B818 7C DE 33 78 */ mr r30, r6 +/* 8030FBBC 0030B81C 80 89 00 1C */ lwz r4, 0x1c(r9) +/* 8030FBC0 0030B820 7C FB 3B 78 */ mr r27, r7 +/* 8030FBC4 0030B824 28 00 00 01 */ cmplwi r0, 1 +/* 8030FBC8 0030B828 83 E3 00 30 */ lwz r31, 0x30(r3) +/* 8030FBCC 0030B82C 40 82 00 24 */ bne lbl_8030FBF0 +/* 8030FBD0 0030B830 28 04 00 01 */ cmplwi r4, 1 +/* 8030FBD4 0030B834 41 81 00 14 */ bgt lbl_8030FBE8 +/* 8030FBD8 0030B838 38 00 FF FF */ li r0, -1 +/* 8030FBDC 0030B83C 38 60 00 00 */ li r3, 0 +/* 8030FBE0 0030B840 90 06 00 00 */ stw r0, 0(r6) +/* 8030FBE4 0030B844 48 00 00 B4 */ b lbl_8030FC98 +lbl_8030FBE8: +/* 8030FBE8 0030B848 80 09 00 10 */ lwz r0, 0x10(r9) +/* 8030FBEC 0030B84C 90 08 00 00 */ stw r0, 0(r8) +lbl_8030FBF0: +/* 8030FBF0 0030B850 38 00 FF FF */ li r0, -1 +/* 8030FBF4 0030B854 7F 83 E3 78 */ mr r3, r28 +/* 8030FBF8 0030B858 90 06 00 00 */ stw r0, 0(r6) +/* 8030FBFC 0030B85C 7C A6 2B 78 */ mr r6, r5 +/* 8030FC00 0030B860 7F A4 EB 78 */ mr r4, r29 +/* 8030FC04 0030B864 38 E1 00 08 */ addi r7, r1, 8 +/* 8030FC08 0030B868 39 01 00 0C */ addi r8, r1, 0xc +/* 8030FC0C 0030B86C 38 A0 00 02 */ li r5, 2 +/* 8030FC10 0030B870 4B FF F8 89 */ bl func_8030F498 +/* 8030FC14 0030B874 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FC18 0030B878 41 82 00 08 */ beq lbl_8030FC20 +/* 8030FC1C 0030B87C 48 00 00 40 */ b lbl_8030FC5C +lbl_8030FC20: +/* 8030FC20 0030B880 80 61 00 08 */ lwz r3, 8(r1) +/* 8030FC24 0030B884 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8030FC28 0030B888 7C 63 00 50 */ subf r3, r3, r0 +/* 8030FC2C 0030B88C 38 03 00 01 */ addi r0, r3, 1 +/* 8030FC30 0030B890 90 1B 00 00 */ stw r0, 0(r27) +/* 8030FC34 0030B894 80 81 00 08 */ lwz r4, 8(r1) +/* 8030FC38 0030B898 28 04 00 02 */ cmplwi r4, 2 +/* 8030FC3C 0030B89C 41 80 00 1C */ blt lbl_8030FC58 +/* 8030FC40 0030B8A0 80 7C 00 34 */ lwz r3, 0x34(r28) +/* 8030FC44 0030B8A4 80 63 00 34 */ lwz r3, 0x34(r3) +/* 8030FC48 0030B8A8 38 03 00 02 */ addi r0, r3, 2 +/* 8030FC4C 0030B8AC 7C 04 00 40 */ cmplw r4, r0 +/* 8030FC50 0030B8B0 40 80 00 08 */ bge lbl_8030FC58 +/* 8030FC54 0030B8B4 90 9E 00 00 */ stw r4, 0(r30) +lbl_8030FC58: +/* 8030FC58 0030B8B8 38 60 00 00 */ li r3, 0 +lbl_8030FC5C: +/* 8030FC5C 0030B8BC 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FC60 0030B8C0 41 82 00 08 */ beq lbl_8030FC68 +/* 8030FC64 0030B8C4 48 00 00 34 */ b lbl_8030FC98 +lbl_8030FC68: +/* 8030FC68 0030B8C8 80 7E 00 00 */ lwz r3, 0(r30) +/* 8030FC6C 0030B8CC 3C 03 00 01 */ addis r0, r3, 1 +/* 8030FC70 0030B8D0 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030FC74 0030B8D4 40 82 00 0C */ bne lbl_8030FC80 +/* 8030FC78 0030B8D8 38 60 00 00 */ li r3, 0 +/* 8030FC7C 0030B8DC 48 00 00 1C */ b lbl_8030FC98 +lbl_8030FC80: +/* 8030FC80 0030B8E0 80 1C 00 00 */ lwz r0, 0(r28) +/* 8030FC84 0030B8E4 38 60 00 00 */ li r3, 0 +/* 8030FC88 0030B8E8 90 1F 00 08 */ stw r0, 8(r31) +/* 8030FC8C 0030B8EC 93 BF 00 00 */ stw r29, 0(r31) +/* 8030FC90 0030B8F0 80 1E 00 00 */ lwz r0, 0(r30) +/* 8030FC94 0030B8F4 90 1F 00 04 */ stw r0, 4(r31) +lbl_8030FC98: +/* 8030FC98 0030B8F8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030FC9C 0030B8FC 4B EB 74 D9 */ bl _restgpr_27 +/* 8030FCA0 0030B900 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030FCA4 0030B904 7C 08 03 A6 */ mtlr r0 +/* 8030FCA8 0030B908 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030FCAC 0030B90C 4E 80 00 20 */ blr + +.global func_8030FCB0 +func_8030FCB0: +/* 8030FCB0 0030B910 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8030FCB4 0030B914 7C 08 02 A6 */ mflr r0 +/* 8030FCB8 0030B918 90 01 00 24 */ stw r0, 0x24(r1) +/* 8030FCBC 0030B91C 38 00 00 00 */ li r0, 0 +/* 8030FCC0 0030B920 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8030FCC4 0030B924 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8030FCC8 0030B928 7D 1E 43 78 */ mr r30, r8 +/* 8030FCCC 0030B92C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8030FCD0 0030B930 7C FD 3B 78 */ mr r29, r7 +/* 8030FCD4 0030B934 93 81 00 10 */ stw r28, 0x10(r1) +/* 8030FCD8 0030B938 7C 9C 23 78 */ mr r28, r4 +/* 8030FCDC 0030B93C 90 01 00 08 */ stw r0, 8(r1) +/* 8030FCE0 0030B940 81 23 00 08 */ lwz r9, 8(r3) +/* 8030FCE4 0030B944 83 E3 00 34 */ lwz r31, 0x34(r3) +/* 8030FCE8 0030B948 80 09 00 00 */ lwz r0, 0(r9) +/* 8030FCEC 0030B94C 81 1F 00 1C */ lwz r8, 0x1c(r31) +/* 8030FCF0 0030B950 28 00 00 01 */ cmplwi r0, 1 +/* 8030FCF4 0030B954 40 82 00 64 */ bne lbl_8030FD58 +/* 8030FCF8 0030B958 28 08 00 01 */ cmplwi r8, 1 +/* 8030FCFC 0030B95C 41 81 00 5C */ bgt lbl_8030FD58 +/* 8030FD00 0030B960 2C 08 00 00 */ cmpwi r8, 0 +/* 8030FD04 0030B964 41 82 00 14 */ beq lbl_8030FD18 +/* 8030FD08 0030B968 2C 08 00 01 */ cmpwi r8, 1 +/* 8030FD0C 0030B96C 41 82 00 0C */ beq lbl_8030FD18 +/* 8030FD10 0030B970 38 60 00 0C */ li r3, 0xc +/* 8030FD14 0030B974 48 00 00 30 */ b lbl_8030FD44 +lbl_8030FD18: +/* 8030FD18 0030B978 A0 1F 00 24 */ lhz r0, 0x24(r31) +/* 8030FD1C 0030B97C 7C 04 00 40 */ cmplw r4, r0 +/* 8030FD20 0030B980 41 80 00 14 */ blt lbl_8030FD34 +/* 8030FD24 0030B984 38 00 FF FF */ li r0, -1 +/* 8030FD28 0030B988 38 60 00 00 */ li r3, 0 +/* 8030FD2C 0030B98C 90 07 00 00 */ stw r0, 0(r7) +/* 8030FD30 0030B990 48 00 00 14 */ b lbl_8030FD44 +lbl_8030FD34: +/* 8030FD34 0030B994 80 1F 00 2C */ lwz r0, 0x2c(r31) +/* 8030FD38 0030B998 38 60 00 00 */ li r3, 0 +/* 8030FD3C 0030B99C 7C 00 22 14 */ add r0, r0, r4 +/* 8030FD40 0030B9A0 90 07 00 00 */ stw r0, 0(r7) +lbl_8030FD44: +/* 8030FD44 0030B9A4 7C 03 00 D0 */ neg r0, r3 +/* 8030FD48 0030B9A8 7C 00 1B 78 */ or r0, r0, r3 +/* 8030FD4C 0030B9AC 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8030FD50 0030B9B0 7C 63 00 38 */ and r3, r3, r0 +/* 8030FD54 0030B9B4 48 00 00 F4 */ b lbl_8030FE48 +lbl_8030FD58: +/* 8030FD58 0030B9B8 89 3F 00 21 */ lbz r9, 0x21(r31) +/* 8030FD5C 0030B9BC 28 05 00 02 */ cmplwi r5, 2 +/* 8030FD60 0030B9C0 7C 84 4C 30 */ srw r4, r4, r9 +/* 8030FD64 0030B9C4 40 82 00 74 */ bne lbl_8030FDD8 +/* 8030FD68 0030B9C8 A0 BF 00 00 */ lhz r5, 0(r31) +/* 8030FD6C 0030B9CC 89 1F 00 20 */ lbz r8, 0x20(r31) +/* 8030FD70 0030B9D0 38 05 FF FF */ addi r0, r5, -1 +/* 8030FD74 0030B9D4 88 BF 00 06 */ lbz r5, 6(r31) +/* 8030FD78 0030B9D8 7C C7 00 38 */ and r7, r6, r0 +/* 8030FD7C 0030B9DC 7C C8 44 30 */ srw r8, r6, r8 +/* 8030FD80 0030B9E0 7C C7 00 D0 */ neg r6, r7 +/* 8030FD84 0030B9E4 38 05 FF FF */ addi r0, r5, -1 +/* 8030FD88 0030B9E8 7C C5 3B 78 */ or r5, r6, r7 +/* 8030FD8C 0030B9EC 38 E1 00 08 */ addi r7, r1, 8 +/* 8030FD90 0030B9F0 54 A5 0F FE */ srwi r5, r5, 0x1f +/* 8030FD94 0030B9F4 38 C1 00 0C */ addi r6, r1, 0xc +/* 8030FD98 0030B9F8 7D 08 2A 14 */ add r8, r8, r5 +/* 8030FD9C 0030B9FC 7C 05 40 38 */ and r5, r0, r8 +/* 8030FDA0 0030BA00 7C 05 00 D0 */ neg r0, r5 +/* 8030FDA4 0030BA04 7D 08 4C 30 */ srw r8, r8, r9 +/* 8030FDA8 0030BA08 7C 00 2B 78 */ or r0, r0, r5 +/* 8030FDAC 0030BA0C 54 00 0F FE */ srwi r0, r0, 0x1f +/* 8030FDB0 0030BA10 7C A8 02 14 */ add r5, r8, r0 +/* 8030FDB4 0030BA14 4B FF FD DD */ bl func_8030FB90 +/* 8030FDB8 0030BA18 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FDBC 0030BA1C 41 82 00 08 */ beq lbl_8030FDC4 +/* 8030FDC0 0030BA20 48 00 00 88 */ b lbl_8030FE48 +lbl_8030FDC4: +/* 8030FDC4 0030BA24 80 61 00 08 */ lwz r3, 8(r1) +/* 8030FDC8 0030BA28 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 8030FDCC 0030BA2C 7C 60 00 30 */ slw r0, r3, r0 +/* 8030FDD0 0030BA30 90 1E 00 00 */ stw r0, 0(r30) +/* 8030FDD4 0030BA34 48 00 00 28 */ b lbl_8030FDFC +lbl_8030FDD8: +/* 8030FDD8 0030BA38 38 C1 00 0C */ addi r6, r1, 0xc +/* 8030FDDC 0030BA3C 4B FF FC 25 */ bl func_8030FA00 +/* 8030FDE0 0030BA40 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FDE4 0030BA44 41 82 00 08 */ beq lbl_8030FDEC +/* 8030FDE8 0030BA48 48 00 00 60 */ b lbl_8030FE48 +lbl_8030FDEC: +/* 8030FDEC 0030BA4C 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 8030FDF0 0030BA50 38 60 00 01 */ li r3, 1 +/* 8030FDF4 0030BA54 7C 60 00 30 */ slw r0, r3, r0 +/* 8030FDF8 0030BA58 90 1E 00 00 */ stw r0, 0(r30) +lbl_8030FDFC: +/* 8030FDFC 0030BA5C 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8030FE00 0030BA60 3C 03 00 01 */ addis r0, r3, 1 +/* 8030FE04 0030BA64 28 00 FF FF */ cmplwi r0, 0xffff +/* 8030FE08 0030BA68 40 82 00 14 */ bne lbl_8030FE1C +/* 8030FE0C 0030BA6C 38 00 FF FF */ li r0, -1 +/* 8030FE10 0030BA70 38 60 00 00 */ li r3, 0 +/* 8030FE14 0030BA74 90 1D 00 00 */ stw r0, 0(r29) +/* 8030FE18 0030BA78 48 00 00 30 */ b lbl_8030FE48 +lbl_8030FE1C: +/* 8030FE1C 0030BA7C 88 9F 00 06 */ lbz r4, 6(r31) +/* 8030FE20 0030BA80 38 C3 FF FE */ addi r6, r3, -2 +/* 8030FE24 0030BA84 88 BF 00 21 */ lbz r5, 0x21(r31) +/* 8030FE28 0030BA88 38 60 00 00 */ li r3, 0 +/* 8030FE2C 0030BA8C 38 04 FF FF */ addi r0, r4, -1 +/* 8030FE30 0030BA90 80 FF 00 30 */ lwz r7, 0x30(r31) +/* 8030FE34 0030BA94 7C C5 28 30 */ slw r5, r6, r5 +/* 8030FE38 0030BA98 7F 84 00 38 */ and r4, r28, r0 +/* 8030FE3C 0030BA9C 7C 07 2A 14 */ add r0, r7, r5 +/* 8030FE40 0030BAA0 7C 04 02 14 */ add r0, r4, r0 +/* 8030FE44 0030BAA4 90 1D 00 00 */ stw r0, 0(r29) +lbl_8030FE48: +/* 8030FE48 0030BAA8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8030FE4C 0030BAAC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8030FE50 0030BAB0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8030FE54 0030BAB4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8030FE58 0030BAB8 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8030FE5C 0030BABC 7C 08 03 A6 */ mtlr r0 +/* 8030FE60 0030BAC0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8030FE64 0030BAC4 4E 80 00 20 */ blr + +.global func_8030FE68 +func_8030FE68: +/* 8030FE68 0030BAC8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8030FE6C 0030BACC 7C 08 02 A6 */ mflr r0 +/* 8030FE70 0030BAD0 38 A0 00 00 */ li r5, 0 +/* 8030FE74 0030BAD4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030FE78 0030BAD8 A0 04 00 00 */ lhz r0, 0(r4) +/* 8030FE7C 0030BADC 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8030FE80 0030BAE0 2C 00 00 02 */ cmpwi r0, 2 +/* 8030FE84 0030BAE4 40 82 00 0C */ bne lbl_8030FE90 +/* 8030FE88 0030BAE8 4B FF AA F5 */ bl VFiPFCACHE_WriteFATPage +/* 8030FE8C 0030BAEC 7C 65 1B 78 */ mr r5, r3 +lbl_8030FE90: +/* 8030FE90 0030BAF0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8030FE94 0030BAF4 7C A3 2B 78 */ mr r3, r5 +/* 8030FE98 0030BAF8 7C 08 03 A6 */ mtlr r0 +/* 8030FE9C 0030BAFC 38 21 00 10 */ addi r1, r1, 0x10 +/* 8030FEA0 0030BB00 4E 80 00 20 */ blr + +.global func_8030FEA4 +func_8030FEA4: +/* 8030FEA4 0030BB04 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8030FEA8 0030BB08 7C 08 02 A6 */ mflr r0 +/* 8030FEAC 0030BB0C 90 01 00 34 */ stw r0, 0x34(r1) +/* 8030FEB0 0030BB10 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030FEB4 0030BB14 4B EB 72 71 */ bl _savegpr_26 +/* 8030FEB8 0030BB18 A0 03 00 02 */ lhz r0, 2(r3) +/* 8030FEBC 0030BB1C 7C 7A 1B 78 */ mr r26, r3 +/* 8030FEC0 0030BB20 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8030FEC4 0030BB24 7C 9B 23 78 */ mr r27, r4 +/* 8030FEC8 0030BB28 7C 80 28 50 */ subf r4, r0, r5 +/* 8030FECC 0030BB2C 7C DD 33 78 */ mr r29, r6 +/* 8030FED0 0030BB30 7C 04 1B 97 */ divwu. r0, r4, r3 +/* 8030FED4 0030BB34 3B E0 00 00 */ li r31, 0 +/* 8030FED8 0030BB38 41 82 00 14 */ beq lbl_8030FEEC +/* 8030FEDC 0030BB3C 7C 00 19 D6 */ mullw r0, r0, r3 +/* 8030FEE0 0030BB40 3B C0 00 00 */ li r30, 0 +/* 8030FEE4 0030BB44 7F 80 20 50 */ subf r28, r0, r4 +/* 8030FEE8 0030BB48 48 00 00 58 */ b lbl_8030FF40 +lbl_8030FEEC: +/* 8030FEEC 0030BB4C 7F 85 1A 14 */ add r28, r5, r3 +/* 8030FEF0 0030BB50 3B C0 00 01 */ li r30, 1 +/* 8030FEF4 0030BB54 48 00 00 4C */ b lbl_8030FF40 +lbl_8030FEF8: +/* 8030FEF8 0030BB58 7F 43 D3 78 */ mr r3, r26 +/* 8030FEFC 0030BB5C 7F 64 DB 78 */ mr r4, r27 +/* 8030FF00 0030BB60 7F 85 E3 78 */ mr r5, r28 +/* 8030FF04 0030BB64 7F A6 EB 78 */ mr r6, r29 +/* 8030FF08 0030BB68 38 E1 00 08 */ addi r7, r1, 8 +/* 8030FF0C 0030BB6C 4B FF 63 35 */ bl VFiPFDRV_lwrite +/* 8030FF10 0030BB70 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FF14 0030BB74 41 82 00 10 */ beq lbl_8030FF24 +/* 8030FF18 0030BB78 2C 1F 00 00 */ cmpwi r31, 0 +/* 8030FF1C 0030BB7C 40 82 00 08 */ bne lbl_8030FF24 +/* 8030FF20 0030BB80 7C 7F 1B 78 */ mr r31, r3 +lbl_8030FF24: +/* 8030FF24 0030BB84 80 01 00 08 */ lwz r0, 8(r1) +/* 8030FF28 0030BB88 7C 00 E8 40 */ cmplw r0, r29 +/* 8030FF2C 0030BB8C 41 82 00 08 */ beq lbl_8030FF34 +/* 8030FF30 0030BB90 3B E0 00 11 */ li r31, 0x11 +lbl_8030FF34: +/* 8030FF34 0030BB94 80 1A 00 0C */ lwz r0, 0xc(r26) +/* 8030FF38 0030BB98 3B DE 00 01 */ addi r30, r30, 1 +/* 8030FF3C 0030BB9C 7F 9C 02 14 */ add r28, r28, r0 +lbl_8030FF40: +/* 8030FF40 0030BBA0 88 1A 00 22 */ lbz r0, 0x22(r26) +/* 8030FF44 0030BBA4 7C 1E 00 40 */ cmplw r30, r0 +/* 8030FF48 0030BBA8 41 80 FF B0 */ blt lbl_8030FEF8 +/* 8030FF4C 0030BBAC 39 61 00 30 */ addi r11, r1, 0x30 +/* 8030FF50 0030BBB0 7F E3 FB 78 */ mr r3, r31 +/* 8030FF54 0030BBB4 4B EB 72 1D */ bl _restgpr_26 +/* 8030FF58 0030BBB8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8030FF5C 0030BBBC 7C 08 03 A6 */ mtlr r0 +/* 8030FF60 0030BBC0 38 21 00 30 */ addi r1, r1, 0x30 +/* 8030FF64 0030BBC4 4E 80 00 20 */ blr + +.global func_8030FF68 +func_8030FF68: +/* 8030FF68 0030BBC8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8030FF6C 0030BBCC 7C 08 02 A6 */ mflr r0 +/* 8030FF70 0030BBD0 2C 03 00 00 */ cmpwi r3, 0 +/* 8030FF74 0030BBD4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8030FF78 0030BBD8 40 82 00 0C */ bne lbl_8030FF84 +/* 8030FF7C 0030BBDC 38 60 00 0A */ li r3, 0xa +/* 8030FF80 0030BBE0 48 00 00 B0 */ b lbl_80310030 +lbl_8030FF84: +/* 8030FF84 0030BBE4 81 03 00 30 */ lwz r8, 0x30(r3) +/* 8030FF88 0030BBE8 2C 08 00 00 */ cmpwi r8, 0 +/* 8030FF8C 0030BBEC 40 82 00 0C */ bne lbl_8030FF98 +/* 8030FF90 0030BBF0 38 60 00 0A */ li r3, 0xa +/* 8030FF94 0030BBF4 48 00 00 9C */ b lbl_80310030 +lbl_8030FF98: +/* 8030FF98 0030BBF8 80 E3 00 00 */ lwz r7, 0(r3) +/* 8030FF9C 0030BBFC 2C 07 00 00 */ cmpwi r7, 0 +/* 8030FFA0 0030BC00 40 82 00 0C */ bne lbl_8030FFAC +/* 8030FFA4 0030BC04 38 60 00 0A */ li r3, 0xa +/* 8030FFA8 0030BC08 48 00 00 88 */ b lbl_80310030 +lbl_8030FFAC: +/* 8030FFAC 0030BC0C 80 08 00 08 */ lwz r0, 8(r8) +/* 8030FFB0 0030BC10 7C 00 38 40 */ cmplw r0, r7 +/* 8030FFB4 0030BC14 40 81 00 0C */ ble lbl_8030FFC0 +/* 8030FFB8 0030BC18 38 60 00 0A */ li r3, 0xa +/* 8030FFBC 0030BC1C 48 00 00 74 */ b lbl_80310030 +lbl_8030FFC0: +/* 8030FFC0 0030BC20 80 E3 00 34 */ lwz r7, 0x34(r3) +/* 8030FFC4 0030BC24 88 07 18 7A */ lbz r0, 0x187a(r7) +/* 8030FFC8 0030BC28 7C 00 07 74 */ extsb r0, r0 +/* 8030FFCC 0030BC2C 2C 00 00 41 */ cmpwi r0, 0x41 +/* 8030FFD0 0030BC30 41 80 00 0C */ blt lbl_8030FFDC +/* 8030FFD4 0030BC34 2C 00 00 5A */ cmpwi r0, 0x5a +/* 8030FFD8 0030BC38 40 81 00 0C */ ble lbl_8030FFE4 +lbl_8030FFDC: +/* 8030FFDC 0030BC3C 38 60 00 23 */ li r3, 0x23 +/* 8030FFE0 0030BC40 48 00 00 50 */ b lbl_80310030 +lbl_8030FFE4: +/* 8030FFE4 0030BC44 88 07 00 20 */ lbz r0, 0x20(r7) +/* 8030FFE8 0030BC48 38 E0 FF FF */ li r7, -1 +/* 8030FFEC 0030BC4C 7C E7 04 30 */ srw r7, r7, r0 +/* 8030FFF0 0030BC50 38 07 00 01 */ addi r0, r7, 1 +/* 8030FFF4 0030BC54 7C 04 00 40 */ cmplw r4, r0 +/* 8030FFF8 0030BC58 41 80 00 0C */ blt lbl_80310004 +/* 8030FFFC 0030BC5C 38 60 00 25 */ li r3, 0x25 +/* 80310000 0030BC60 48 00 00 30 */ b lbl_80310030 +lbl_80310004: +/* 80310004 0030BC64 7C 05 00 D0 */ neg r0, r5 +/* 80310008 0030BC68 7C C7 33 78 */ mr r7, r6 +/* 8031000C 0030BC6C 7C 00 2B 78 */ or r0, r0, r5 +/* 80310010 0030BC70 39 01 00 08 */ addi r8, r1, 8 +/* 80310014 0030BC74 54 05 0F FE */ srwi r5, r0, 0x1f +/* 80310018 0030BC78 38 C0 00 00 */ li r6, 0 +/* 8031001C 0030BC7C 4B FF FC 95 */ bl func_8030FCB0 +/* 80310020 0030BC80 2C 03 00 00 */ cmpwi r3, 0 +/* 80310024 0030BC84 41 82 00 08 */ beq lbl_8031002C +/* 80310028 0030BC88 48 00 00 08 */ b lbl_80310030 +lbl_8031002C: +/* 8031002C 0030BC8C 38 60 00 00 */ li r3, 0 +lbl_80310030: +/* 80310030 0030BC90 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80310034 0030BC94 7C 08 03 A6 */ mtlr r0 +/* 80310038 0030BC98 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031003C 0030BC9C 4E 80 00 20 */ blr + +.global func_80310040 +func_80310040: +/* 80310040 0030BCA0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80310044 0030BCA4 7C 08 02 A6 */ mflr r0 +/* 80310048 0030BCA8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031004C 0030BCAC 7C C9 33 78 */ mr r9, r6 +/* 80310050 0030BCB0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80310054 0030BCB4 7C E8 3B 78 */ mr r8, r7 +/* 80310058 0030BCB8 40 82 00 0C */ bne lbl_80310064 +/* 8031005C 0030BCBC 38 60 00 0A */ li r3, 0xa +/* 80310060 0030BCC0 48 00 00 A4 */ b lbl_80310104 +lbl_80310064: +/* 80310064 0030BCC4 80 E3 00 30 */ lwz r7, 0x30(r3) +/* 80310068 0030BCC8 2C 07 00 00 */ cmpwi r7, 0 +/* 8031006C 0030BCCC 40 82 00 0C */ bne lbl_80310078 +/* 80310070 0030BCD0 38 60 00 0A */ li r3, 0xa +/* 80310074 0030BCD4 48 00 00 90 */ b lbl_80310104 +lbl_80310078: +/* 80310078 0030BCD8 80 C3 00 00 */ lwz r6, 0(r3) +/* 8031007C 0030BCDC 2C 06 00 00 */ cmpwi r6, 0 +/* 80310080 0030BCE0 40 82 00 0C */ bne lbl_8031008C +/* 80310084 0030BCE4 38 60 00 0A */ li r3, 0xa +/* 80310088 0030BCE8 48 00 00 7C */ b lbl_80310104 +lbl_8031008C: +/* 8031008C 0030BCEC 80 07 00 08 */ lwz r0, 8(r7) +/* 80310090 0030BCF0 7C 00 30 40 */ cmplw r0, r6 +/* 80310094 0030BCF4 40 81 00 0C */ ble lbl_803100A0 +/* 80310098 0030BCF8 38 60 00 0A */ li r3, 0xa +/* 8031009C 0030BCFC 48 00 00 68 */ b lbl_80310104 +lbl_803100A0: +/* 803100A0 0030BD00 80 C3 00 34 */ lwz r6, 0x34(r3) +/* 803100A4 0030BD04 88 06 18 7A */ lbz r0, 0x187a(r6) +/* 803100A8 0030BD08 7C 00 07 74 */ extsb r0, r0 +/* 803100AC 0030BD0C 2C 00 00 41 */ cmpwi r0, 0x41 +/* 803100B0 0030BD10 41 80 00 0C */ blt lbl_803100BC +/* 803100B4 0030BD14 2C 00 00 5A */ cmpwi r0, 0x5a +/* 803100B8 0030BD18 40 81 00 0C */ ble lbl_803100C4 +lbl_803100BC: +/* 803100BC 0030BD1C 38 60 00 23 */ li r3, 0x23 +/* 803100C0 0030BD20 48 00 00 44 */ b lbl_80310104 +lbl_803100C4: +/* 803100C4 0030BD24 88 06 00 20 */ lbz r0, 0x20(r6) +/* 803100C8 0030BD28 38 C0 FF FF */ li r6, -1 +/* 803100CC 0030BD2C 7C C6 04 30 */ srw r6, r6, r0 +/* 803100D0 0030BD30 38 06 00 01 */ addi r0, r6, 1 +/* 803100D4 0030BD34 7C 04 00 40 */ cmplw r4, r0 +/* 803100D8 0030BD38 41 80 00 0C */ blt lbl_803100E4 +/* 803100DC 0030BD3C 38 60 00 25 */ li r3, 0x25 +/* 803100E0 0030BD40 48 00 00 24 */ b lbl_80310104 +lbl_803100E4: +/* 803100E4 0030BD44 7C A6 2B 78 */ mr r6, r5 +/* 803100E8 0030BD48 7D 27 4B 78 */ mr r7, r9 +/* 803100EC 0030BD4C 38 A0 00 02 */ li r5, 2 +/* 803100F0 0030BD50 4B FF FB C1 */ bl func_8030FCB0 +/* 803100F4 0030BD54 7C 03 00 D0 */ neg r0, r3 +/* 803100F8 0030BD58 7C 00 1B 78 */ or r0, r0, r3 +/* 803100FC 0030BD5C 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 80310100 0030BD60 7C 63 00 38 */ and r3, r3, r0 +lbl_80310104: +/* 80310104 0030BD64 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80310108 0030BD68 7C 08 03 A6 */ mtlr r0 +/* 8031010C 0030BD6C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80310110 0030BD70 4E 80 00 20 */ blr + +.global func_80310114 +func_80310114: +/* 80310114 0030BD74 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80310118 0030BD78 7C 08 02 A6 */ mflr r0 +/* 8031011C 0030BD7C 90 01 00 34 */ stw r0, 0x34(r1) +/* 80310120 0030BD80 39 61 00 30 */ addi r11, r1, 0x30 +/* 80310124 0030BD84 4B EB 6F FD */ bl _savegpr_25 +/* 80310128 0030BD88 2C 03 00 00 */ cmpwi r3, 0 +/* 8031012C 0030BD8C 7C 79 1B 78 */ mr r25, r3 +/* 80310130 0030BD90 7C 9A 23 78 */ mr r26, r4 +/* 80310134 0030BD94 7C BB 2B 78 */ mr r27, r5 +/* 80310138 0030BD98 7C DC 33 78 */ mr r28, r6 +/* 8031013C 0030BD9C 7C FD 3B 78 */ mr r29, r7 +/* 80310140 0030BDA0 3B C0 FF FF */ li r30, -1 +/* 80310144 0030BDA4 40 82 00 0C */ bne lbl_80310150 +/* 80310148 0030BDA8 38 60 00 0A */ li r3, 0xa +/* 8031014C 0030BDAC 48 00 01 6C */ b lbl_803102B8 +lbl_80310150: +/* 80310150 0030BDB0 80 E3 00 30 */ lwz r7, 0x30(r3) +/* 80310154 0030BDB4 2C 07 00 00 */ cmpwi r7, 0 +/* 80310158 0030BDB8 40 82 00 0C */ bne lbl_80310164 +/* 8031015C 0030BDBC 38 60 00 0A */ li r3, 0xa +/* 80310160 0030BDC0 48 00 01 58 */ b lbl_803102B8 +lbl_80310164: +/* 80310164 0030BDC4 80 A3 00 00 */ lwz r5, 0(r3) +/* 80310168 0030BDC8 2C 05 00 00 */ cmpwi r5, 0 +/* 8031016C 0030BDCC 40 82 00 0C */ bne lbl_80310178 +/* 80310170 0030BDD0 38 60 00 0A */ li r3, 0xa +/* 80310174 0030BDD4 48 00 01 44 */ b lbl_803102B8 +lbl_80310178: +/* 80310178 0030BDD8 80 07 00 08 */ lwz r0, 8(r7) +/* 8031017C 0030BDDC 7C 00 28 40 */ cmplw r0, r5 +/* 80310180 0030BDE0 40 81 00 0C */ ble lbl_8031018C +/* 80310184 0030BDE4 38 60 00 0A */ li r3, 0xa +/* 80310188 0030BDE8 48 00 01 30 */ b lbl_803102B8 +lbl_8031018C: +/* 8031018C 0030BDEC 83 E3 00 34 */ lwz r31, 0x34(r3) +/* 80310190 0030BDF0 88 1F 18 7A */ lbz r0, 0x187a(r31) +/* 80310194 0030BDF4 7C 00 07 74 */ extsb r0, r0 +/* 80310198 0030BDF8 2C 00 00 41 */ cmpwi r0, 0x41 +/* 8031019C 0030BDFC 41 80 00 0C */ blt lbl_803101A8 +/* 803101A0 0030BE00 2C 00 00 5A */ cmpwi r0, 0x5a +/* 803101A4 0030BE04 40 81 00 0C */ ble lbl_803101B0 +lbl_803101A8: +/* 803101A8 0030BE08 38 60 00 23 */ li r3, 0x23 +/* 803101AC 0030BE0C 48 00 01 0C */ b lbl_803102B8 +lbl_803101B0: +/* 803101B0 0030BE10 88 1F 00 20 */ lbz r0, 0x20(r31) +/* 803101B4 0030BE14 38 A0 FF FF */ li r5, -1 +/* 803101B8 0030BE18 7C A5 04 30 */ srw r5, r5, r0 +/* 803101BC 0030BE1C 38 05 00 01 */ addi r0, r5, 1 +/* 803101C0 0030BE20 7C 04 00 40 */ cmplw r4, r0 +/* 803101C4 0030BE24 41 80 00 0C */ blt lbl_803101D0 +/* 803101C8 0030BE28 38 60 00 25 */ li r3, 0x25 +/* 803101CC 0030BE2C 48 00 00 EC */ b lbl_803102B8 +lbl_803101D0: +/* 803101D0 0030BE30 80 A6 00 00 */ lwz r5, 0(r6) +/* 803101D4 0030BE34 3C 05 00 01 */ addis r0, r5, 1 +/* 803101D8 0030BE38 28 00 FF FF */ cmplwi r0, 0xffff +/* 803101DC 0030BE3C 41 82 00 1C */ beq lbl_803101F8 +/* 803101E0 0030BE40 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 803101E4 0030BE44 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 803101E8 0030BE48 7C 63 28 50 */ subf r3, r3, r5 +/* 803101EC 0030BE4C 7C 63 04 30 */ srw r3, r3, r0 +/* 803101F0 0030BE50 3B C3 00 02 */ addi r30, r3, 2 +/* 803101F4 0030BE54 48 00 00 3C */ b lbl_80310230 +lbl_803101F8: +/* 803101F8 0030BE58 38 A0 00 00 */ li r5, 0 +/* 803101FC 0030BE5C 4B FF FD 6D */ bl func_8030FF68 +/* 80310200 0030BE60 2C 03 00 00 */ cmpwi r3, 0 +/* 80310204 0030BE64 41 82 00 08 */ beq lbl_8031020C +/* 80310208 0030BE68 48 00 00 B0 */ b lbl_803102B8 +lbl_8031020C: +/* 8031020C 0030BE6C 80 BC 00 00 */ lwz r5, 0(r28) +/* 80310210 0030BE70 3C 05 00 01 */ addis r0, r5, 1 +/* 80310214 0030BE74 28 00 FF FF */ cmplwi r0, 0xffff +/* 80310218 0030BE78 41 82 00 18 */ beq lbl_80310230 +/* 8031021C 0030BE7C 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 80310220 0030BE80 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 80310224 0030BE84 7C 63 28 50 */ subf r3, r3, r5 +/* 80310228 0030BE88 7C 63 04 30 */ srw r3, r3, r0 +/* 8031022C 0030BE8C 3B C3 00 02 */ addi r30, r3, 2 +lbl_80310230: +/* 80310230 0030BE90 3C 05 00 01 */ addis r0, r5, 1 +/* 80310234 0030BE94 28 00 FF FF */ cmplwi r0, 0xffff +/* 80310238 0030BE98 41 82 00 24 */ beq lbl_8031025C +/* 8031023C 0030BE9C 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 80310240 0030BEA0 38 7E FF FF */ addi r3, r30, -1 +/* 80310244 0030BEA4 80 9F 00 30 */ lwz r4, 0x30(r31) +/* 80310248 0030BEA8 7C 60 00 30 */ slw r0, r3, r0 +/* 8031024C 0030BEAC 7C 04 02 14 */ add r0, r4, r0 +/* 80310250 0030BEB0 7C 05 00 50 */ subf r0, r5, r0 +/* 80310254 0030BEB4 90 1D 00 00 */ stw r0, 0(r29) +/* 80310258 0030BEB8 48 00 00 0C */ b lbl_80310264 +lbl_8031025C: +/* 8031025C 0030BEBC 38 00 00 00 */ li r0, 0 +/* 80310260 0030BEC0 90 1D 00 00 */ stw r0, 0(r29) +lbl_80310264: +/* 80310264 0030BEC4 80 7C 00 00 */ lwz r3, 0(r28) +/* 80310268 0030BEC8 3C 03 00 01 */ addis r0, r3, 1 +/* 8031026C 0030BECC 28 00 FF FF */ cmplwi r0, 0xffff +/* 80310270 0030BED0 41 82 00 44 */ beq lbl_803102B4 +/* 80310274 0030BED4 80 7D 00 00 */ lwz r3, 0(r29) +/* 80310278 0030BED8 88 1F 00 20 */ lbz r0, 0x20(r31) +/* 8031027C 0030BEDC 7C 60 00 30 */ slw r0, r3, r0 +/* 80310280 0030BEE0 7C 00 D8 40 */ cmplw r0, r27 +/* 80310284 0030BEE4 40 80 00 30 */ bge lbl_803102B4 +/* 80310288 0030BEE8 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 8031028C 0030BEEC 7F 23 CB 78 */ mr r3, r25 +/* 80310290 0030BEF0 7F C4 F3 78 */ mr r4, r30 +/* 80310294 0030BEF4 7F 66 DB 78 */ mr r6, r27 +/* 80310298 0030BEF8 7F 45 04 30 */ srw r5, r26, r0 +/* 8031029C 0030BEFC 7F A7 EB 78 */ mr r7, r29 +/* 803102A0 0030BF00 38 A5 00 01 */ addi r5, r5, 1 +/* 803102A4 0030BF04 4B FF F5 1D */ bl func_8030F7C0 +/* 803102A8 0030BF08 2C 03 00 00 */ cmpwi r3, 0 +/* 803102AC 0030BF0C 41 82 00 08 */ beq lbl_803102B4 +/* 803102B0 0030BF10 48 00 00 08 */ b lbl_803102B8 +lbl_803102B4: +/* 803102B4 0030BF14 38 60 00 00 */ li r3, 0 +lbl_803102B8: +/* 803102B8 0030BF18 39 61 00 30 */ addi r11, r1, 0x30 +/* 803102BC 0030BF1C 4B EB 6E B1 */ bl _restgpr_25 +/* 803102C0 0030BF20 80 01 00 34 */ lwz r0, 0x34(r1) +/* 803102C4 0030BF24 7C 08 03 A6 */ mtlr r0 +/* 803102C8 0030BF28 38 21 00 30 */ addi r1, r1, 0x30 +/* 803102CC 0030BF2C 4E 80 00 20 */ blr + +.global func_803102D0 +func_803102D0: +/* 803102D0 0030BF30 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803102D4 0030BF34 7C 08 02 A6 */ mflr r0 +/* 803102D8 0030BF38 2C 03 00 00 */ cmpwi r3, 0 +/* 803102DC 0030BF3C 7C 86 23 78 */ mr r6, r4 +/* 803102E0 0030BF40 90 01 00 14 */ stw r0, 0x14(r1) +/* 803102E4 0030BF44 38 00 00 00 */ li r0, 0 +/* 803102E8 0030BF48 7C A7 2B 78 */ mr r7, r5 +/* 803102EC 0030BF4C 90 05 00 00 */ stw r0, 0(r5) +/* 803102F0 0030BF50 40 82 00 0C */ bne lbl_803102FC +/* 803102F4 0030BF54 38 60 00 0A */ li r3, 0xa +/* 803102F8 0030BF58 48 00 01 20 */ b lbl_80310418 +lbl_803102FC: +/* 803102FC 0030BF5C 81 23 00 30 */ lwz r9, 0x30(r3) +/* 80310300 0030BF60 2C 09 00 00 */ cmpwi r9, 0 +/* 80310304 0030BF64 40 82 00 0C */ bne lbl_80310310 +/* 80310308 0030BF68 38 60 00 0A */ li r3, 0xa +/* 8031030C 0030BF6C 48 00 01 0C */ b lbl_80310418 +lbl_80310310: +/* 80310310 0030BF70 81 03 00 00 */ lwz r8, 0(r3) +/* 80310314 0030BF74 2C 08 00 00 */ cmpwi r8, 0 +/* 80310318 0030BF78 40 82 00 0C */ bne lbl_80310324 +/* 8031031C 0030BF7C 38 60 00 0A */ li r3, 0xa +/* 80310320 0030BF80 48 00 00 F8 */ b lbl_80310418 +lbl_80310324: +/* 80310324 0030BF84 80 09 00 08 */ lwz r0, 8(r9) +/* 80310328 0030BF88 7C 00 40 40 */ cmplw r0, r8 +/* 8031032C 0030BF8C 40 81 00 0C */ ble lbl_80310338 +/* 80310330 0030BF90 38 60 00 0A */ li r3, 0xa +/* 80310334 0030BF94 48 00 00 E4 */ b lbl_80310418 +lbl_80310338: +/* 80310338 0030BF98 81 43 00 34 */ lwz r10, 0x34(r3) +/* 8031033C 0030BF9C 88 0A 18 7A */ lbz r0, 0x187a(r10) +/* 80310340 0030BFA0 7C 00 07 74 */ extsb r0, r0 +/* 80310344 0030BFA4 2C 00 00 41 */ cmpwi r0, 0x41 +/* 80310348 0030BFA8 41 80 00 0C */ blt lbl_80310354 +/* 8031034C 0030BFAC 2C 00 00 5A */ cmpwi r0, 0x5a +/* 80310350 0030BFB0 40 81 00 0C */ ble lbl_8031035C +lbl_80310354: +/* 80310354 0030BFB4 38 60 00 23 */ li r3, 0x23 +/* 80310358 0030BFB8 48 00 00 C0 */ b lbl_80310418 +lbl_8031035C: +/* 8031035C 0030BFBC 81 03 00 08 */ lwz r8, 8(r3) +/* 80310360 0030BFC0 81 68 00 00 */ lwz r11, 0(r8) +/* 80310364 0030BFC4 28 0B 00 02 */ cmplwi r11, 2 +/* 80310368 0030BFC8 40 80 00 0C */ bge lbl_80310374 +/* 8031036C 0030BFCC 38 60 00 00 */ li r3, 0 +/* 80310370 0030BFD0 48 00 00 A8 */ b lbl_80310418 +lbl_80310374: +/* 80310374 0030BFD4 80 03 00 0C */ lwz r0, 0xc(r3) +/* 80310378 0030BFD8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031037C 0030BFDC 41 82 00 18 */ beq lbl_80310394 +/* 80310380 0030BFE0 80 83 00 10 */ lwz r4, 0x10(r3) +/* 80310384 0030BFE4 38 60 00 00 */ li r3, 0 +/* 80310388 0030BFE8 38 04 00 01 */ addi r0, r4, 1 +/* 8031038C 0030BFEC 90 05 00 00 */ stw r0, 0(r5) +/* 80310390 0030BFF0 48 00 00 88 */ b lbl_80310418 +lbl_80310394: +/* 80310394 0030BFF4 80 09 00 04 */ lwz r0, 4(r9) +/* 80310398 0030BFF8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031039C 0030BFFC 41 82 00 60 */ beq lbl_803103FC +/* 803103A0 0030C000 81 09 00 00 */ lwz r8, 0(r9) +/* 803103A4 0030C004 88 CA 00 20 */ lbz r6, 0x20(r10) +/* 803103A8 0030C008 88 0A 00 21 */ lbz r0, 0x21(r10) +/* 803103AC 0030C00C 39 28 00 01 */ addi r9, r8, 1 +/* 803103B0 0030C010 7C 06 02 14 */ add r0, r6, r0 +/* 803103B4 0030C014 7D 20 00 30 */ slw r0, r9, r0 +/* 803103B8 0030C018 7C 04 00 40 */ cmplw r4, r0 +/* 803103BC 0030C01C 41 81 00 10 */ bgt lbl_803103CC +/* 803103C0 0030C020 91 25 00 00 */ stw r9, 0(r5) +/* 803103C4 0030C024 38 60 00 00 */ li r3, 0 +/* 803103C8 0030C028 48 00 00 50 */ b lbl_80310418 +lbl_803103CC: +/* 803103CC 0030C02C 91 05 00 00 */ stw r8, 0(r5) +/* 803103D0 0030C030 81 03 00 34 */ lwz r8, 0x34(r3) +/* 803103D4 0030C034 80 C3 00 30 */ lwz r6, 0x30(r3) +/* 803103D8 0030C038 88 A8 00 20 */ lbz r5, 0x20(r8) +/* 803103DC 0030C03C 88 08 00 21 */ lbz r0, 0x21(r8) +/* 803103E0 0030C040 81 06 00 00 */ lwz r8, 0(r6) +/* 803103E4 0030C044 7C 05 02 14 */ add r0, r5, r0 +/* 803103E8 0030C048 81 66 00 04 */ lwz r11, 4(r6) +/* 803103EC 0030C04C 7D 00 00 30 */ slw r0, r8, r0 +/* 803103F0 0030C050 38 A8 00 01 */ addi r5, r8, 1 +/* 803103F4 0030C054 7C C0 20 50 */ subf r6, r0, r4 +/* 803103F8 0030C058 48 00 00 08 */ b lbl_80310400 +lbl_803103FC: +/* 803103FC 0030C05C 38 A0 00 01 */ li r5, 1 +lbl_80310400: +/* 80310400 0030C060 7D 64 5B 78 */ mr r4, r11 +/* 80310404 0030C064 4B FF F4 ED */ bl func_8030F8F0 +/* 80310408 0030C068 2C 03 00 00 */ cmpwi r3, 0 +/* 8031040C 0030C06C 41 82 00 08 */ beq lbl_80310414 +/* 80310410 0030C070 48 00 00 08 */ b lbl_80310418 +lbl_80310414: +/* 80310414 0030C074 38 60 00 00 */ li r3, 0 +lbl_80310418: +/* 80310418 0030C078 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031041C 0030C07C 7C 08 03 A6 */ mtlr r0 +/* 80310420 0030C080 38 21 00 10 */ addi r1, r1, 0x10 +/* 80310424 0030C084 4E 80 00 20 */ blr + +.global func_80310428 +func_80310428: +/* 80310428 0030C088 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8031042C 0030C08C 7C 08 02 A6 */ mflr r0 +/* 80310430 0030C090 90 01 00 44 */ stw r0, 0x44(r1) +/* 80310434 0030C094 39 61 00 40 */ addi r11, r1, 0x40 +/* 80310438 0030C098 4B EB 6C E1 */ bl _savegpr_23 +/* 8031043C 0030C09C 83 E3 00 34 */ lwz r31, 0x34(r3) +/* 80310440 0030C0A0 7C 78 1B 78 */ mr r24, r3 +/* 80310444 0030C0A4 7C 99 23 78 */ mr r25, r4 +/* 80310448 0030C0A8 7C BA 2B 78 */ mr r26, r5 +/* 8031044C 0030C0AC 2C 1F 00 00 */ cmpwi r31, 0 +/* 80310450 0030C0B0 7C DB 33 78 */ mr r27, r6 +/* 80310454 0030C0B4 40 82 00 0C */ bne lbl_80310460 +/* 80310458 0030C0B8 38 60 00 0A */ li r3, 0xa +/* 8031045C 0030C0BC 48 00 03 34 */ b lbl_80310790 +lbl_80310460: +/* 80310460 0030C0C0 28 04 00 02 */ cmplwi r4, 2 +/* 80310464 0030C0C4 41 80 00 14 */ blt lbl_80310478 +/* 80310468 0030C0C8 80 7F 00 34 */ lwz r3, 0x34(r31) +/* 8031046C 0030C0CC 38 03 00 02 */ addi r0, r3, 2 +/* 80310470 0030C0D0 7C 04 00 40 */ cmplw r4, r0 +/* 80310474 0030C0D4 41 80 00 14 */ blt lbl_80310488 +lbl_80310478: +/* 80310478 0030C0D8 2C 04 00 00 */ cmpwi r4, 0 +/* 8031047C 0030C0DC 41 82 00 0C */ beq lbl_80310488 +/* 80310480 0030C0E0 38 60 00 0E */ li r3, 0xe +/* 80310484 0030C0E4 48 00 03 0C */ b lbl_80310790 +lbl_80310488: +/* 80310488 0030C0E8 2C 04 00 00 */ cmpwi r4, 0 +/* 8031048C 0030C0EC 40 82 00 0C */ bne lbl_80310498 +/* 80310490 0030C0F0 38 60 00 00 */ li r3, 0 +/* 80310494 0030C0F4 48 00 02 FC */ b lbl_80310790 +lbl_80310498: +/* 80310498 0030C0F8 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 8031049C 0030C0FC 3C 60 80 40 */ lis r3, lbl_803FE280@ha +/* 803104A0 0030C100 38 63 E2 80 */ addi r3, r3, lbl_803FE280@l +/* 803104A4 0030C104 2C 06 00 00 */ cmpwi r6, 0 +/* 803104A8 0030C108 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 803104AC 0030C10C 7C 63 02 14 */ add r3, r3, r0 +/* 803104B0 0030C110 83 C3 00 04 */ lwz r30, 4(r3) +/* 803104B4 0030C114 41 82 00 18 */ beq lbl_803104CC +/* 803104B8 0030C118 A0 7F 00 00 */ lhz r3, 0(r31) +/* 803104BC 0030C11C 7F 7D DB 78 */ mr r29, r27 +/* 803104C0 0030C120 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 803104C4 0030C124 7C 7C 00 30 */ slw r28, r3, r0 +/* 803104C8 0030C128 48 00 00 0C */ b lbl_803104D4 +lbl_803104CC: +/* 803104CC 0030C12C 38 60 00 00 */ li r3, 0 +/* 803104D0 0030C130 48 00 02 C0 */ b lbl_80310790 +lbl_803104D4: +/* 803104D4 0030C134 7F E3 FB 78 */ mr r3, r31 +/* 803104D8 0030C138 7F 25 CB 78 */ mr r5, r25 +/* 803104DC 0030C13C 38 81 00 08 */ addi r4, r1, 8 +/* 803104E0 0030C140 4B FF E0 59 */ bl func_8030E538 +/* 803104E4 0030C144 2C 03 00 00 */ cmpwi r3, 0 +/* 803104E8 0030C148 41 82 00 08 */ beq lbl_803104F0 +/* 803104EC 0030C14C 48 00 02 A4 */ b lbl_80310790 +lbl_803104F0: +/* 803104F0 0030C150 80 61 00 08 */ lwz r3, 8(r1) +/* 803104F4 0030C154 38 00 00 01 */ li r0, 1 +/* 803104F8 0030C158 B0 03 00 02 */ sth r0, 2(r3) +/* 803104FC 0030C15C 93 21 00 0C */ stw r25, 0xc(r1) +/* 80310500 0030C160 48 00 01 F8 */ b lbl_803106F8 +lbl_80310504: +/* 80310504 0030C164 2C 1B 00 00 */ cmpwi r27, 0 +/* 80310508 0030C168 41 82 00 0C */ beq lbl_80310514 +/* 8031050C 0030C16C 2C 1D 00 00 */ cmpwi r29, 0 +/* 80310510 0030C170 41 82 01 F0 */ beq lbl_80310700 +lbl_80310514: +/* 80310514 0030C174 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80310518 0030C178 80 61 00 08 */ lwz r3, 8(r1) +/* 8031051C 0030C17C 2C 00 00 01 */ cmpwi r0, 1 +/* 80310520 0030C180 82 E3 00 18 */ lwz r23, 0x18(r3) +/* 80310524 0030C184 41 82 00 38 */ beq lbl_8031055C +/* 80310528 0030C188 40 80 00 10 */ bge lbl_80310538 +/* 8031052C 0030C18C 2C 00 00 00 */ cmpwi r0, 0 +/* 80310530 0030C190 40 80 00 14 */ bge lbl_80310544 +/* 80310534 0030C194 48 00 00 58 */ b lbl_8031058C +lbl_80310538: +/* 80310538 0030C198 2C 00 00 03 */ cmpwi r0, 3 +/* 8031053C 0030C19C 40 80 00 50 */ bge lbl_8031058C +/* 80310540 0030C1A0 48 00 00 34 */ b lbl_80310574 +lbl_80310544: +/* 80310544 0030C1A4 7F E3 FB 78 */ mr r3, r31 +/* 80310548 0030C1A8 57 24 04 3E */ clrlwi r4, r25, 0x10 +/* 8031054C 0030C1AC 38 A1 00 0C */ addi r5, r1, 0xc +/* 80310550 0030C1B0 38 C1 00 08 */ addi r6, r1, 8 +/* 80310554 0030C1B4 48 00 0E 01 */ bl func_80311354 +/* 80310558 0030C1B8 48 00 00 38 */ b lbl_80310590 +lbl_8031055C: +/* 8031055C 0030C1BC 7F E3 FB 78 */ mr r3, r31 +/* 80310560 0030C1C0 7F 24 CB 78 */ mr r4, r25 +/* 80310564 0030C1C4 38 A1 00 0C */ addi r5, r1, 0xc +/* 80310568 0030C1C8 38 C1 00 08 */ addi r6, r1, 8 +/* 8031056C 0030C1CC 48 00 18 51 */ bl func_80311DBC +/* 80310570 0030C1D0 48 00 00 20 */ b lbl_80310590 +lbl_80310574: +/* 80310574 0030C1D4 7F E3 FB 78 */ mr r3, r31 +/* 80310578 0030C1D8 7F 24 CB 78 */ mr r4, r25 +/* 8031057C 0030C1DC 38 A1 00 0C */ addi r5, r1, 0xc +/* 80310580 0030C1E0 38 C1 00 08 */ addi r6, r1, 8 +/* 80310584 0030C1E4 48 00 1D C1 */ bl func_80312344 +/* 80310588 0030C1E8 48 00 00 08 */ b lbl_80310590 +lbl_8031058C: +/* 8031058C 0030C1EC 38 60 00 0F */ li r3, 0xf +lbl_80310590: +/* 80310590 0030C1F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80310594 0030C1F4 41 82 00 08 */ beq lbl_8031059C +/* 80310598 0030C1F8 48 00 01 F8 */ b lbl_80310790 +lbl_8031059C: +/* 8031059C 0030C1FC 80 01 00 0C */ lwz r0, 0xc(r1) +/* 803105A0 0030C200 2C 00 00 00 */ cmpwi r0, 0 +/* 803105A4 0030C204 40 82 00 38 */ bne lbl_803105DC +/* 803105A8 0030C208 80 81 00 08 */ lwz r4, 8(r1) +/* 803105AC 0030C20C 38 60 00 00 */ li r3, 0 +/* 803105B0 0030C210 A0 04 00 00 */ lhz r0, 0(r4) +/* 803105B4 0030C214 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 803105B8 0030C218 2C 00 00 02 */ cmpwi r0, 2 +/* 803105BC 0030C21C 40 82 00 0C */ bne lbl_803105C8 +/* 803105C0 0030C220 7F E3 FB 78 */ mr r3, r31 +/* 803105C4 0030C224 4B FF A3 B9 */ bl VFiPFCACHE_WriteFATPage +lbl_803105C8: +/* 803105C8 0030C228 2C 03 00 00 */ cmpwi r3, 0 +/* 803105CC 0030C22C 41 82 00 08 */ beq lbl_803105D4 +/* 803105D0 0030C230 48 00 01 C0 */ b lbl_80310790 +lbl_803105D4: +/* 803105D4 0030C234 38 60 00 00 */ li r3, 0 +/* 803105D8 0030C238 48 00 01 B8 */ b lbl_80310790 +lbl_803105DC: +/* 803105DC 0030C23C 80 61 00 08 */ lwz r3, 8(r1) +/* 803105E0 0030C240 80 03 00 18 */ lwz r0, 0x18(r3) +/* 803105E4 0030C244 7C 17 00 40 */ cmplw r23, r0 +/* 803105E8 0030C248 41 82 00 20 */ beq lbl_80310608 +/* 803105EC 0030C24C 7F E3 FB 78 */ mr r3, r31 +/* 803105F0 0030C250 7F 25 CB 78 */ mr r5, r25 +/* 803105F4 0030C254 38 81 00 08 */ addi r4, r1, 8 +/* 803105F8 0030C258 4B FF DF 41 */ bl func_8030E538 +/* 803105FC 0030C25C 2C 03 00 00 */ cmpwi r3, 0 +/* 80310600 0030C260 41 82 00 08 */ beq lbl_80310608 +/* 80310604 0030C264 48 00 01 8C */ b lbl_80310790 +lbl_80310608: +/* 80310608 0030C268 3C 1A 00 01 */ addis r0, r26, 1 +/* 8031060C 0030C26C 28 00 FF FF */ cmplwi r0, 0xffff +/* 80310610 0030C270 41 82 00 28 */ beq lbl_80310638 +/* 80310614 0030C274 7F 03 C3 78 */ mr r3, r24 +/* 80310618 0030C278 7F 24 CB 78 */ mr r4, r25 +/* 8031061C 0030C27C 7F 45 D3 78 */ mr r5, r26 +/* 80310620 0030C280 39 01 00 08 */ addi r8, r1, 8 +/* 80310624 0030C284 38 C0 00 00 */ li r6, 0 +/* 80310628 0030C288 38 E0 00 01 */ li r7, 1 +/* 8031062C 0030C28C 4B FF E9 99 */ bl func_8030EFC4 +/* 80310630 0030C290 3B 5A 00 01 */ addi r26, r26, 1 +/* 80310634 0030C294 48 00 00 78 */ b lbl_803106AC +lbl_80310638: +/* 80310638 0030C298 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 8031063C 0030C29C 2C 00 00 01 */ cmpwi r0, 1 +/* 80310640 0030C2A0 41 82 00 38 */ beq lbl_80310678 +/* 80310644 0030C2A4 40 80 00 10 */ bge lbl_80310654 +/* 80310648 0030C2A8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031064C 0030C2AC 40 80 00 14 */ bge lbl_80310660 +/* 80310650 0030C2B0 48 00 00 58 */ b lbl_803106A8 +lbl_80310654: +/* 80310654 0030C2B4 2C 00 00 03 */ cmpwi r0, 3 +/* 80310658 0030C2B8 40 80 00 50 */ bge lbl_803106A8 +/* 8031065C 0030C2BC 48 00 00 34 */ b lbl_80310690 +lbl_80310660: +/* 80310660 0030C2C0 7F E3 FB 78 */ mr r3, r31 +/* 80310664 0030C2C4 57 24 04 3E */ clrlwi r4, r25, 0x10 +/* 80310668 0030C2C8 38 C1 00 08 */ addi r6, r1, 8 +/* 8031066C 0030C2CC 38 A0 00 00 */ li r5, 0 +/* 80310670 0030C2D0 48 00 11 5D */ bl func_803117CC +/* 80310674 0030C2D4 48 00 00 38 */ b lbl_803106AC +lbl_80310678: +/* 80310678 0030C2D8 7F E3 FB 78 */ mr r3, r31 +/* 8031067C 0030C2DC 7F 24 CB 78 */ mr r4, r25 +/* 80310680 0030C2E0 38 C1 00 08 */ addi r6, r1, 8 +/* 80310684 0030C2E4 38 A0 00 00 */ li r5, 0 +/* 80310688 0030C2E8 48 00 19 89 */ bl func_80312010 +/* 8031068C 0030C2EC 48 00 00 20 */ b lbl_803106AC +lbl_80310690: +/* 80310690 0030C2F0 7F E3 FB 78 */ mr r3, r31 +/* 80310694 0030C2F4 7F 24 CB 78 */ mr r4, r25 +/* 80310698 0030C2F8 38 C1 00 08 */ addi r6, r1, 8 +/* 8031069C 0030C2FC 38 A0 00 00 */ li r5, 0 +/* 803106A0 0030C300 48 00 1F 91 */ bl func_80312630 +/* 803106A4 0030C304 48 00 00 08 */ b lbl_803106AC +lbl_803106A8: +/* 803106A8 0030C308 38 60 00 0F */ li r3, 0xf +lbl_803106AC: +/* 803106AC 0030C30C 2C 03 00 00 */ cmpwi r3, 0 +/* 803106B0 0030C310 41 82 00 08 */ beq lbl_803106B8 +/* 803106B4 0030C314 48 00 00 DC */ b lbl_80310790 +lbl_803106B8: +/* 803106B8 0030C318 2C 1B 00 00 */ cmpwi r27, 0 +/* 803106BC 0030C31C 41 82 00 20 */ beq lbl_803106DC +/* 803106C0 0030C320 2C 1D 00 00 */ cmpwi r29, 0 +/* 803106C4 0030C324 41 82 00 18 */ beq lbl_803106DC +/* 803106C8 0030C328 7C 1D E0 10 */ subfc r0, r29, r28 +/* 803106CC 0030C32C 7C 7D 01 94 */ addze r3, r29 +/* 803106D0 0030C330 7C 1C E8 50 */ subf r0, r28, r29 +/* 803106D4 0030C334 7C 63 E8 50 */ subf r3, r3, r29 +/* 803106D8 0030C338 7C 1D 18 78 */ andc r29, r0, r3 +lbl_803106DC: +/* 803106DC 0030C33C 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 803106E0 0030C340 3C 03 00 01 */ addis r0, r3, 1 +/* 803106E4 0030C344 28 00 FF FF */ cmplwi r0, 0xffff +/* 803106E8 0030C348 41 82 00 0C */ beq lbl_803106F4 +/* 803106EC 0030C34C 38 03 00 01 */ addi r0, r3, 1 +/* 803106F0 0030C350 90 1F 00 38 */ stw r0, 0x38(r31) +lbl_803106F4: +/* 803106F4 0030C354 83 21 00 0C */ lwz r25, 0xc(r1) +lbl_803106F8: +/* 803106F8 0030C358 7C 19 F0 40 */ cmplw r25, r30 +/* 803106FC 0030C35C 41 80 FE 08 */ blt lbl_80310504 +lbl_80310700: +/* 80310700 0030C360 80 81 00 08 */ lwz r4, 8(r1) +/* 80310704 0030C364 38 60 00 00 */ li r3, 0 +/* 80310708 0030C368 A0 04 00 00 */ lhz r0, 0(r4) +/* 8031070C 0030C36C 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 80310710 0030C370 2C 00 00 02 */ cmpwi r0, 2 +/* 80310714 0030C374 40 82 00 0C */ bne lbl_80310720 +/* 80310718 0030C378 7F E3 FB 78 */ mr r3, r31 +/* 8031071C 0030C37C 4B FF A2 61 */ bl VFiPFCACHE_WriteFATPage +lbl_80310720: +/* 80310720 0030C380 2C 03 00 00 */ cmpwi r3, 0 +/* 80310724 0030C384 41 82 00 08 */ beq lbl_8031072C +/* 80310728 0030C388 48 00 00 68 */ b lbl_80310790 +lbl_8031072C: +/* 8031072C 0030C38C 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80310730 0030C390 2C 80 00 02 */ cmpwi cr1, r0, 2 +/* 80310734 0030C394 40 86 00 58 */ bne cr1, lbl_8031078C +/* 80310738 0030C398 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 8031073C 0030C39C 54 03 07 BD */ rlwinm. r3, r0, 0, 0x1e, 0x1e +/* 80310740 0030C3A0 41 82 00 4C */ beq lbl_8031078C +/* 80310744 0030C3A4 38 60 00 00 */ li r3, 0 +/* 80310748 0030C3A8 41 86 00 0C */ beq cr1, lbl_80310754 +/* 8031074C 0030C3AC 38 60 00 0C */ li r3, 0xc +/* 80310750 0030C3B0 48 00 00 20 */ b lbl_80310770 +lbl_80310754: +/* 80310754 0030C3B4 40 82 00 0C */ bne lbl_80310760 +/* 80310758 0030C3B8 38 60 00 24 */ li r3, 0x24 +/* 8031075C 0030C3BC 48 00 00 14 */ b lbl_80310770 +lbl_80310760: +/* 80310760 0030C3C0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 80310764 0030C3C4 41 82 00 0C */ beq lbl_80310770 +/* 80310768 0030C3C8 7F E3 FB 78 */ mr r3, r31 +/* 8031076C 0030C3CC 4B FF 54 31 */ bl VFiPFDRV_StoreFreeCountToFSINFO +lbl_80310770: +/* 80310770 0030C3D0 2C 03 00 00 */ cmpwi r3, 0 +/* 80310774 0030C3D4 41 82 00 18 */ beq lbl_8031078C +/* 80310778 0030C3D8 38 00 FF FF */ li r0, -1 +/* 8031077C 0030C3DC 90 1F 00 38 */ stw r0, 0x38(r31) +/* 80310780 0030C3E0 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 80310784 0030C3E4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c +/* 80310788 0030C3E8 B0 1F 18 7C */ sth r0, 0x187c(r31) +lbl_8031078C: +/* 8031078C 0030C3EC 38 60 00 00 */ li r3, 0 +lbl_80310790: +/* 80310790 0030C3F0 39 61 00 40 */ addi r11, r1, 0x40 +/* 80310794 0030C3F4 4B EB 69 D1 */ bl _restgpr_23 +/* 80310798 0030C3F8 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8031079C 0030C3FC 7C 08 03 A6 */ mtlr r0 +/* 803107A0 0030C400 38 21 00 40 */ addi r1, r1, 0x40 +/* 803107A4 0030C404 4E 80 00 20 */ blr + +.global func_803107A8 +func_803107A8: +/* 803107A8 0030C408 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803107AC 0030C40C 7C 08 02 A6 */ mflr r0 +/* 803107B0 0030C410 90 01 00 34 */ stw r0, 0x34(r1) +/* 803107B4 0030C414 39 61 00 30 */ addi r11, r1, 0x30 +/* 803107B8 0030C418 4B EB 69 71 */ bl _savegpr_27 +/* 803107BC 0030C41C 2C 03 00 00 */ cmpwi r3, 0 +/* 803107C0 0030C420 7C 7C 1B 78 */ mr r28, r3 +/* 803107C4 0030C424 7C 9D 23 78 */ mr r29, r4 +/* 803107C8 0030C428 7C BE 2B 78 */ mr r30, r5 +/* 803107CC 0030C42C 7C DF 33 78 */ mr r31, r6 +/* 803107D0 0030C430 40 82 00 14 */ bne lbl_803107E4 +/* 803107D4 0030C434 38 00 FF FF */ li r0, -1 +/* 803107D8 0030C438 38 60 00 0A */ li r3, 0xa +/* 803107DC 0030C43C 90 06 00 00 */ stw r0, 0(r6) +/* 803107E0 0030C440 48 00 01 48 */ b lbl_80310928 +lbl_803107E4: +/* 803107E4 0030C444 28 04 00 02 */ cmplwi r4, 2 +/* 803107E8 0030C448 41 80 00 14 */ blt lbl_803107FC +/* 803107EC 0030C44C 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 803107F0 0030C450 38 05 00 02 */ addi r0, r5, 2 +/* 803107F4 0030C454 7C 04 00 40 */ cmplw r4, r0 +/* 803107F8 0030C458 41 80 00 14 */ blt lbl_8031080C +lbl_803107FC: +/* 803107FC 0030C45C 38 00 FF FF */ li r0, -1 +/* 80310800 0030C460 38 60 00 0A */ li r3, 0xa +/* 80310804 0030C464 90 06 00 00 */ stw r0, 0(r6) +/* 80310808 0030C468 48 00 01 20 */ b lbl_80310928 +lbl_8031080C: +/* 8031080C 0030C46C 80 83 00 1C */ lwz r4, 0x1c(r3) +/* 80310810 0030C470 3D 00 80 40 */ lis r8, lbl_803FE280@ha +/* 80310814 0030C474 38 00 FF FF */ li r0, -1 +/* 80310818 0030C478 7F A5 EB 78 */ mr r5, r29 +/* 8031081C 0030C47C 1C E4 00 14 */ mulli r7, r4, 0x14 +/* 80310820 0030C480 39 08 E2 80 */ addi r8, r8, lbl_803FE280@l +/* 80310824 0030C484 90 06 00 00 */ stw r0, 0(r6) +/* 80310828 0030C488 38 81 00 08 */ addi r4, r1, 8 +/* 8031082C 0030C48C 7C C8 3A 14 */ add r6, r8, r7 +/* 80310830 0030C490 83 66 00 04 */ lwz r27, 4(r6) +/* 80310834 0030C494 4B FF DD 05 */ bl func_8030E538 +/* 80310838 0030C498 2C 03 00 00 */ cmpwi r3, 0 +/* 8031083C 0030C49C 41 82 00 08 */ beq lbl_80310844 +/* 80310840 0030C4A0 48 00 00 E8 */ b lbl_80310928 +lbl_80310844: +/* 80310844 0030C4A4 80 61 00 08 */ lwz r3, 8(r1) +/* 80310848 0030C4A8 38 00 00 00 */ li r0, 0 +/* 8031084C 0030C4AC B0 03 00 02 */ sth r0, 2(r3) +/* 80310850 0030C4B0 48 00 00 CC */ b lbl_8031091C +lbl_80310854: +/* 80310854 0030C4B4 80 1C 00 1C */ lwz r0, 0x1c(r28) +/* 80310858 0030C4B8 2C 00 00 01 */ cmpwi r0, 1 +/* 8031085C 0030C4BC 41 82 00 38 */ beq lbl_80310894 +/* 80310860 0030C4C0 40 80 00 10 */ bge lbl_80310870 +/* 80310864 0030C4C4 2C 00 00 00 */ cmpwi r0, 0 +/* 80310868 0030C4C8 40 80 00 14 */ bge lbl_8031087C +/* 8031086C 0030C4CC 48 00 00 58 */ b lbl_803108C4 +lbl_80310870: +/* 80310870 0030C4D0 2C 00 00 03 */ cmpwi r0, 3 +/* 80310874 0030C4D4 40 80 00 50 */ bge lbl_803108C4 +/* 80310878 0030C4D8 48 00 00 34 */ b lbl_803108AC +lbl_8031087C: +/* 8031087C 0030C4DC 7F 83 E3 78 */ mr r3, r28 +/* 80310880 0030C4E0 57 A4 04 3E */ clrlwi r4, r29, 0x10 +/* 80310884 0030C4E4 38 A1 00 0C */ addi r5, r1, 0xc +/* 80310888 0030C4E8 38 C1 00 08 */ addi r6, r1, 8 +/* 8031088C 0030C4EC 48 00 0A C9 */ bl func_80311354 +/* 80310890 0030C4F0 48 00 00 38 */ b lbl_803108C8 +lbl_80310894: +/* 80310894 0030C4F4 7F 83 E3 78 */ mr r3, r28 +/* 80310898 0030C4F8 7F A4 EB 78 */ mr r4, r29 +/* 8031089C 0030C4FC 38 A1 00 0C */ addi r5, r1, 0xc +/* 803108A0 0030C500 38 C1 00 08 */ addi r6, r1, 8 +/* 803108A4 0030C504 48 00 15 19 */ bl func_80311DBC +/* 803108A8 0030C508 48 00 00 20 */ b lbl_803108C8 +lbl_803108AC: +/* 803108AC 0030C50C 7F 83 E3 78 */ mr r3, r28 +/* 803108B0 0030C510 7F A4 EB 78 */ mr r4, r29 +/* 803108B4 0030C514 38 A1 00 0C */ addi r5, r1, 0xc +/* 803108B8 0030C518 38 C1 00 08 */ addi r6, r1, 8 +/* 803108BC 0030C51C 48 00 1A 89 */ bl func_80312344 +/* 803108C0 0030C520 48 00 00 08 */ b lbl_803108C8 +lbl_803108C4: +/* 803108C4 0030C524 38 60 00 0F */ li r3, 0xf +lbl_803108C8: +/* 803108C8 0030C528 2C 03 00 00 */ cmpwi r3, 0 +/* 803108CC 0030C52C 41 82 00 08 */ beq lbl_803108D4 +/* 803108D0 0030C530 48 00 00 58 */ b lbl_80310928 +lbl_803108D4: +/* 803108D4 0030C534 80 01 00 0C */ lwz r0, 0xc(r1) +/* 803108D8 0030C538 7C 1E 00 40 */ cmplw r30, r0 +/* 803108DC 0030C53C 40 82 00 10 */ bne lbl_803108EC +/* 803108E0 0030C540 93 BF 00 00 */ stw r29, 0(r31) +/* 803108E4 0030C544 38 60 00 00 */ li r3, 0 +/* 803108E8 0030C548 48 00 00 40 */ b lbl_80310928 +lbl_803108EC: +/* 803108EC 0030C54C 3B BD FF FF */ addi r29, r29, -1 +/* 803108F0 0030C550 28 1D 00 02 */ cmplwi r29, 2 +/* 803108F4 0030C554 41 80 00 14 */ blt lbl_80310908 +/* 803108F8 0030C558 80 7C 00 34 */ lwz r3, 0x34(r28) +/* 803108FC 0030C55C 38 03 00 02 */ addi r0, r3, 2 +/* 80310900 0030C560 7C 1D 00 40 */ cmplw r29, r0 +/* 80310904 0030C564 41 80 00 18 */ blt lbl_8031091C +lbl_80310908: +/* 80310908 0030C568 7C 1D D8 40 */ cmplw r29, r27 +/* 8031090C 0030C56C 40 80 00 10 */ bge lbl_8031091C +/* 80310910 0030C570 93 DF 00 00 */ stw r30, 0(r31) +/* 80310914 0030C574 38 60 00 00 */ li r3, 0 +/* 80310918 0030C578 48 00 00 10 */ b lbl_80310928 +lbl_8031091C: +/* 8031091C 0030C57C 7C 1D D8 40 */ cmplw r29, r27 +/* 80310920 0030C580 41 80 FF 34 */ blt lbl_80310854 +/* 80310924 0030C584 38 60 00 0D */ li r3, 0xd +lbl_80310928: +/* 80310928 0030C588 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031092C 0030C58C 4B EB 68 49 */ bl _restgpr_27 +/* 80310930 0030C590 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80310934 0030C594 7C 08 03 A6 */ mtlr r0 +/* 80310938 0030C598 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031093C 0030C59C 4E 80 00 20 */ blr + +.global func_80310940 +func_80310940: +/* 80310940 0030C5A0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80310944 0030C5A4 7C 08 02 A6 */ mflr r0 +/* 80310948 0030C5A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031094C 0030C5AC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80310950 0030C5B0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80310954 0030C5B4 7C 7F 1B 78 */ mr r31, r3 +/* 80310958 0030C5B8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031095C 0030C5BC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80310960 0030C5C0 40 82 00 0C */ bne lbl_8031096C +/* 80310964 0030C5C4 38 60 00 0A */ li r3, 0xa +/* 80310968 0030C5C8 48 00 02 40 */ b lbl_80310BA8 +lbl_8031096C: +/* 8031096C 0030C5CC 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80310970 0030C5D0 2C 00 00 00 */ cmpwi r0, 0 +/* 80310974 0030C5D4 41 82 00 1C */ beq lbl_80310990 +/* 80310978 0030C5D8 2C 00 00 01 */ cmpwi r0, 1 +/* 8031097C 0030C5DC 41 82 00 14 */ beq lbl_80310990 +/* 80310980 0030C5E0 2C 00 00 02 */ cmpwi r0, 2 +/* 80310984 0030C5E4 41 82 00 0C */ beq lbl_80310990 +/* 80310988 0030C5E8 38 60 00 0F */ li r3, 0xf +/* 8031098C 0030C5EC 48 00 02 1C */ b lbl_80310BA8 +lbl_80310990: +/* 80310990 0030C5F0 7F E3 FB 78 */ mr r3, r31 +/* 80310994 0030C5F4 38 A1 00 08 */ addi r5, r1, 8 +/* 80310998 0030C5F8 38 80 FF FF */ li r4, -1 +/* 8031099C 0030C5FC 4B FF 9C A9 */ bl VFiPFCACHE_AllocateFATPage +/* 803109A0 0030C600 2C 03 00 00 */ cmpwi r3, 0 +/* 803109A4 0030C604 41 82 00 08 */ beq lbl_803109AC +/* 803109A8 0030C608 48 00 02 00 */ b lbl_80310BA8 +lbl_803109AC: +/* 803109AC 0030C60C 80 61 00 08 */ lwz r3, 8(r1) +/* 803109B0 0030C610 38 80 00 00 */ li r4, 0 +/* 803109B4 0030C614 A0 BF 00 00 */ lhz r5, 0(r31) +/* 803109B8 0030C618 80 63 00 08 */ lwz r3, 8(r3) +/* 803109BC 0030C61C 4B FF 46 19 */ bl VFipf_memset +/* 803109C0 0030C620 A3 BF 00 02 */ lhz r29, 2(r31) +/* 803109C4 0030C624 48 00 00 3C */ b lbl_80310A00 +lbl_803109C8: +/* 803109C8 0030C628 80 81 00 08 */ lwz r4, 8(r1) +/* 803109CC 0030C62C 7F E3 FB 78 */ mr r3, r31 +/* 803109D0 0030C630 7F A5 EB 78 */ mr r5, r29 +/* 803109D4 0030C634 80 84 00 08 */ lwz r4, 8(r4) +/* 803109D8 0030C638 4B FF A0 1D */ bl VFiPFCACHE_WriteFATSectorAndFreeIfNeeded +/* 803109DC 0030C63C 2C 03 00 00 */ cmpwi r3, 0 +/* 803109E0 0030C640 7C 7E 1B 78 */ mr r30, r3 +/* 803109E4 0030C644 41 82 00 18 */ beq lbl_803109FC +/* 803109E8 0030C648 80 81 00 08 */ lwz r4, 8(r1) +/* 803109EC 0030C64C 7F E3 FB 78 */ mr r3, r31 +/* 803109F0 0030C650 4B FF 9D 3D */ bl VFiPFCACHE_FreeFATPage +/* 803109F4 0030C654 7F C3 F3 78 */ mr r3, r30 +/* 803109F8 0030C658 48 00 01 B0 */ b lbl_80310BA8 +lbl_803109FC: +/* 803109FC 0030C65C 3B BD 00 01 */ addi r29, r29, 1 +lbl_80310A00: +/* 80310A00 0030C660 80 1F 00 2C */ lwz r0, 0x2c(r31) +/* 80310A04 0030C664 7C 1D 00 40 */ cmplw r29, r0 +/* 80310A08 0030C668 41 80 FF C0 */ blt lbl_803109C8 +/* 80310A0C 0030C66C 80 81 00 08 */ lwz r4, 8(r1) +/* 80310A10 0030C670 7F E3 FB 78 */ mr r3, r31 +/* 80310A14 0030C674 4B FF 9D 19 */ bl VFiPFCACHE_FreeFATPage +/* 80310A18 0030C678 80 DF 00 1C */ lwz r6, 0x1c(r31) +/* 80310A1C 0030C67C 3C 60 80 40 */ lis r3, lbl_803FE280@ha +/* 80310A20 0030C680 38 63 E2 80 */ addi r3, r3, lbl_803FE280@l +/* 80310A24 0030C684 88 9F 00 1A */ lbz r4, 0x1a(r31) +/* 80310A28 0030C688 1C 06 00 14 */ mulli r0, r6, 0x14 +/* 80310A2C 0030C68C 2C 06 00 01 */ cmpwi r6, 1 +/* 80310A30 0030C690 7C 63 02 14 */ add r3, r3, r0 +/* 80310A34 0030C694 80 03 00 0C */ lwz r0, 0xc(r3) +/* 80310A38 0030C698 7C 85 03 78 */ or r5, r4, r0 +/* 80310A3C 0030C69C 41 82 00 44 */ beq lbl_80310A80 +/* 80310A40 0030C6A0 40 80 00 10 */ bge lbl_80310A50 +/* 80310A44 0030C6A4 2C 06 00 00 */ cmpwi r6, 0 +/* 80310A48 0030C6A8 40 80 00 14 */ bge lbl_80310A5C +/* 80310A4C 0030C6AC 48 00 00 7C */ b lbl_80310AC8 +lbl_80310A50: +/* 80310A50 0030C6B0 2C 06 00 03 */ cmpwi r6, 3 +/* 80310A54 0030C6B4 40 80 00 74 */ bge lbl_80310AC8 +/* 80310A58 0030C6B8 48 00 00 48 */ b lbl_80310AA0 +lbl_80310A5C: +/* 80310A5C 0030C6BC 28 05 0F FF */ cmplwi r5, 0xfff +/* 80310A60 0030C6C0 40 81 00 0C */ ble lbl_80310A6C +/* 80310A64 0030C6C4 38 60 00 10 */ li r3, 0x10 +/* 80310A68 0030C6C8 48 00 00 64 */ b lbl_80310ACC +lbl_80310A6C: +/* 80310A6C 0030C6CC 7F E3 FB 78 */ mr r3, r31 +/* 80310A70 0030C6D0 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 80310A74 0030C6D4 38 80 00 00 */ li r4, 0 +/* 80310A78 0030C6D8 48 00 0B B1 */ bl func_80311628 +/* 80310A7C 0030C6DC 48 00 00 50 */ b lbl_80310ACC +lbl_80310A80: +/* 80310A80 0030C6E0 28 05 FF FF */ cmplwi r5, 0xffff +/* 80310A84 0030C6E4 40 81 00 0C */ ble lbl_80310A90 +/* 80310A88 0030C6E8 38 60 00 10 */ li r3, 0x10 +/* 80310A8C 0030C6EC 48 00 00 40 */ b lbl_80310ACC +lbl_80310A90: +/* 80310A90 0030C6F0 7F E3 FB 78 */ mr r3, r31 +/* 80310A94 0030C6F4 38 80 00 00 */ li r4, 0 +/* 80310A98 0030C6F8 48 00 14 E1 */ bl func_80311F78 +/* 80310A9C 0030C6FC 48 00 00 30 */ b lbl_80310ACC +lbl_80310AA0: +/* 80310AA0 0030C700 3C 60 10 00 */ lis r3, 0x0FFFFFFF@ha +/* 80310AA4 0030C704 38 03 FF FF */ addi r0, r3, 0x0FFFFFFF@l +/* 80310AA8 0030C708 7C 05 00 40 */ cmplw r5, r0 +/* 80310AAC 0030C70C 40 81 00 0C */ ble lbl_80310AB8 +/* 80310AB0 0030C710 38 60 00 10 */ li r3, 0x10 +/* 80310AB4 0030C714 48 00 00 18 */ b lbl_80310ACC +lbl_80310AB8: +/* 80310AB8 0030C718 7F E3 FB 78 */ mr r3, r31 +/* 80310ABC 0030C71C 38 80 00 00 */ li r4, 0 +/* 80310AC0 0030C720 48 00 1A 51 */ bl func_80312510 +/* 80310AC4 0030C724 48 00 00 08 */ b lbl_80310ACC +lbl_80310AC8: +/* 80310AC8 0030C728 38 60 00 0F */ li r3, 0xf +lbl_80310ACC: +/* 80310ACC 0030C72C 2C 03 00 00 */ cmpwi r3, 0 +/* 80310AD0 0030C730 41 82 00 08 */ beq lbl_80310AD8 +/* 80310AD4 0030C734 48 00 00 D4 */ b lbl_80310BA8 +lbl_80310AD8: +/* 80310AD8 0030C738 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 80310ADC 0030C73C 3C 60 80 40 */ lis r3, lbl_803FE280@ha +/* 80310AE0 0030C740 38 63 E2 80 */ addi r3, r3, lbl_803FE280@l +/* 80310AE4 0030C744 1C 04 00 14 */ mulli r0, r4, 0x14 +/* 80310AE8 0030C748 2C 04 00 01 */ cmpwi r4, 1 +/* 80310AEC 0030C74C 7C 63 02 14 */ add r3, r3, r0 +/* 80310AF0 0030C750 80 A3 00 10 */ lwz r5, 0x10(r3) +/* 80310AF4 0030C754 41 82 00 44 */ beq lbl_80310B38 +/* 80310AF8 0030C758 40 80 00 10 */ bge lbl_80310B08 +/* 80310AFC 0030C75C 2C 04 00 00 */ cmpwi r4, 0 +/* 80310B00 0030C760 40 80 00 14 */ bge lbl_80310B14 +/* 80310B04 0030C764 48 00 00 7C */ b lbl_80310B80 +lbl_80310B08: +/* 80310B08 0030C768 2C 04 00 03 */ cmpwi r4, 3 +/* 80310B0C 0030C76C 40 80 00 74 */ bge lbl_80310B80 +/* 80310B10 0030C770 48 00 00 48 */ b lbl_80310B58 +lbl_80310B14: +/* 80310B14 0030C774 28 05 0F FF */ cmplwi r5, 0xfff +/* 80310B18 0030C778 40 81 00 0C */ ble lbl_80310B24 +/* 80310B1C 0030C77C 38 60 00 10 */ li r3, 0x10 +/* 80310B20 0030C780 48 00 00 64 */ b lbl_80310B84 +lbl_80310B24: +/* 80310B24 0030C784 7F E3 FB 78 */ mr r3, r31 +/* 80310B28 0030C788 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 80310B2C 0030C78C 38 80 00 01 */ li r4, 1 +/* 80310B30 0030C790 48 00 0A F9 */ bl func_80311628 +/* 80310B34 0030C794 48 00 00 50 */ b lbl_80310B84 +lbl_80310B38: +/* 80310B38 0030C798 28 05 FF FF */ cmplwi r5, 0xffff +/* 80310B3C 0030C79C 40 81 00 0C */ ble lbl_80310B48 +/* 80310B40 0030C7A0 38 60 00 10 */ li r3, 0x10 +/* 80310B44 0030C7A4 48 00 00 40 */ b lbl_80310B84 +lbl_80310B48: +/* 80310B48 0030C7A8 7F E3 FB 78 */ mr r3, r31 +/* 80310B4C 0030C7AC 38 80 00 01 */ li r4, 1 +/* 80310B50 0030C7B0 48 00 14 29 */ bl func_80311F78 +/* 80310B54 0030C7B4 48 00 00 30 */ b lbl_80310B84 +lbl_80310B58: +/* 80310B58 0030C7B8 3C 60 10 00 */ lis r3, 0x0FFFFFFF@ha +/* 80310B5C 0030C7BC 38 03 FF FF */ addi r0, r3, 0x0FFFFFFF@l +/* 80310B60 0030C7C0 7C 05 00 40 */ cmplw r5, r0 +/* 80310B64 0030C7C4 40 81 00 0C */ ble lbl_80310B70 +/* 80310B68 0030C7C8 38 60 00 10 */ li r3, 0x10 +/* 80310B6C 0030C7CC 48 00 00 18 */ b lbl_80310B84 +lbl_80310B70: +/* 80310B70 0030C7D0 7F E3 FB 78 */ mr r3, r31 +/* 80310B74 0030C7D4 38 80 00 01 */ li r4, 1 +/* 80310B78 0030C7D8 48 00 19 99 */ bl func_80312510 +/* 80310B7C 0030C7DC 48 00 00 08 */ b lbl_80310B84 +lbl_80310B80: +/* 80310B80 0030C7E0 38 60 00 0F */ li r3, 0xf +lbl_80310B84: +/* 80310B84 0030C7E4 2C 03 00 00 */ cmpwi r3, 0 +/* 80310B88 0030C7E8 41 82 00 08 */ beq lbl_80310B90 +/* 80310B8C 0030C7EC 48 00 00 1C */ b lbl_80310BA8 +lbl_80310B90: +/* 80310B90 0030C7F0 7F E3 FB 78 */ mr r3, r31 +/* 80310B94 0030C7F4 4B FF 9F 1D */ bl VFiPFCACHE_FlushFATCache +/* 80310B98 0030C7F8 7C 03 00 D0 */ neg r0, r3 +/* 80310B9C 0030C7FC 7C 00 1B 78 */ or r0, r0, r3 +/* 80310BA0 0030C800 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 80310BA4 0030C804 7C 63 00 38 */ and r3, r3, r0 +lbl_80310BA8: +/* 80310BA8 0030C808 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80310BAC 0030C80C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80310BB0 0030C810 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80310BB4 0030C814 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80310BB8 0030C818 7C 08 03 A6 */ mtlr r0 +/* 80310BBC 0030C81C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80310BC0 0030C820 4E 80 00 20 */ blr + +.global func_80310BC4 +func_80310BC4: +/* 80310BC4 0030C824 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80310BC8 0030C828 7C 08 02 A6 */ mflr r0 +/* 80310BCC 0030C82C 3C A0 80 40 */ lis r5, lbl_803FE280@ha +/* 80310BD0 0030C830 90 01 00 24 */ stw r0, 0x24(r1) +/* 80310BD4 0030C834 38 A5 E2 80 */ addi r5, r5, lbl_803FE280@l +/* 80310BD8 0030C838 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80310BDC 0030C83C 7C 7F 1B 78 */ mr r31, r3 +/* 80310BE0 0030C840 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80310BE4 0030C844 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80310BE8 0030C848 93 81 00 10 */ stw r28, 0x10(r1) +/* 80310BEC 0030C84C 80 C3 00 1C */ lwz r6, 0x1c(r3) +/* 80310BF0 0030C850 80 83 00 10 */ lwz r4, 0x10(r3) +/* 80310BF4 0030C854 1C 06 00 14 */ mulli r0, r6, 0x14 +/* 80310BF8 0030C858 2C 06 00 01 */ cmpwi r6, 1 +/* 80310BFC 0030C85C 7C A5 02 14 */ add r5, r5, r0 +/* 80310C00 0030C860 80 A5 00 08 */ lwz r5, 8(r5) +/* 80310C04 0030C864 41 82 00 40 */ beq lbl_80310C44 +/* 80310C08 0030C868 40 80 00 10 */ bge lbl_80310C18 +/* 80310C0C 0030C86C 2C 06 00 00 */ cmpwi r6, 0 +/* 80310C10 0030C870 40 80 00 14 */ bge lbl_80310C24 +/* 80310C14 0030C874 48 00 00 68 */ b lbl_80310C7C +lbl_80310C18: +/* 80310C18 0030C878 2C 06 00 03 */ cmpwi r6, 3 +/* 80310C1C 0030C87C 40 80 00 60 */ bge lbl_80310C7C +/* 80310C20 0030C880 48 00 00 3C */ b lbl_80310C5C +lbl_80310C24: +/* 80310C24 0030C884 28 05 0F FF */ cmplwi r5, 0xfff +/* 80310C28 0030C888 40 81 00 0C */ ble lbl_80310C34 +/* 80310C2C 0030C88C 38 60 00 10 */ li r3, 0x10 +/* 80310C30 0030C890 48 00 00 50 */ b lbl_80310C80 +lbl_80310C34: +/* 80310C34 0030C894 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 80310C38 0030C898 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 80310C3C 0030C89C 48 00 09 ED */ bl func_80311628 +/* 80310C40 0030C8A0 48 00 00 40 */ b lbl_80310C80 +lbl_80310C44: +/* 80310C44 0030C8A4 28 05 FF FF */ cmplwi r5, 0xffff +/* 80310C48 0030C8A8 40 81 00 0C */ ble lbl_80310C54 +/* 80310C4C 0030C8AC 38 60 00 10 */ li r3, 0x10 +/* 80310C50 0030C8B0 48 00 00 30 */ b lbl_80310C80 +lbl_80310C54: +/* 80310C54 0030C8B4 48 00 13 25 */ bl func_80311F78 +/* 80310C58 0030C8B8 48 00 00 28 */ b lbl_80310C80 +lbl_80310C5C: +/* 80310C5C 0030C8BC 3C C0 10 00 */ lis r6, 0x0FFFFFFF@ha +/* 80310C60 0030C8C0 38 06 FF FF */ addi r0, r6, 0x0FFFFFFF@l +/* 80310C64 0030C8C4 7C 05 00 40 */ cmplw r5, r0 +/* 80310C68 0030C8C8 40 81 00 0C */ ble lbl_80310C74 +/* 80310C6C 0030C8CC 38 60 00 10 */ li r3, 0x10 +/* 80310C70 0030C8D0 48 00 00 10 */ b lbl_80310C80 +lbl_80310C74: +/* 80310C74 0030C8D4 48 00 18 9D */ bl func_80312510 +/* 80310C78 0030C8D8 48 00 00 08 */ b lbl_80310C80 +lbl_80310C7C: +/* 80310C7C 0030C8DC 38 60 00 0F */ li r3, 0xf +lbl_80310C80: +/* 80310C80 0030C8E0 2C 03 00 00 */ cmpwi r3, 0 +/* 80310C84 0030C8E4 41 82 00 08 */ beq lbl_80310C8C +/* 80310C88 0030C8E8 48 00 00 F0 */ b lbl_80310D78 +lbl_80310C8C: +/* 80310C8C 0030C8EC 7F E3 FB 78 */ mr r3, r31 +/* 80310C90 0030C8F0 4B FF 9E 21 */ bl VFiPFCACHE_FlushFATCache +/* 80310C94 0030C8F4 2C 03 00 00 */ cmpwi r3, 0 +/* 80310C98 0030C8F8 41 82 00 08 */ beq lbl_80310CA0 +/* 80310C9C 0030C8FC 48 00 00 DC */ b lbl_80310D78 +lbl_80310CA0: +/* 80310CA0 0030C900 7F E3 FB 78 */ mr r3, r31 +/* 80310CA4 0030C904 38 A1 00 08 */ addi r5, r1, 8 +/* 80310CA8 0030C908 38 80 FF FF */ li r4, -1 +/* 80310CAC 0030C90C 4B FF 9A 0D */ bl VFiPFCACHE_AllocateDataPage +/* 80310CB0 0030C910 2C 03 00 00 */ cmpwi r3, 0 +/* 80310CB4 0030C914 41 82 00 08 */ beq lbl_80310CBC +/* 80310CB8 0030C918 48 00 00 C0 */ b lbl_80310D78 +lbl_80310CBC: +/* 80310CBC 0030C91C 80 61 00 08 */ lwz r3, 8(r1) +/* 80310CC0 0030C920 38 80 00 00 */ li r4, 0 +/* 80310CC4 0030C924 A0 BF 00 00 */ lhz r5, 0(r31) +/* 80310CC8 0030C928 80 63 00 08 */ lwz r3, 8(r3) +/* 80310CCC 0030C92C 4B FF 43 09 */ bl VFipf_memset +/* 80310CD0 0030C930 80 7F 00 10 */ lwz r3, 0x10(r31) +/* 80310CD4 0030C934 3B 80 00 00 */ li r28, 0 +/* 80310CD8 0030C938 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 80310CDC 0030C93C 38 63 FF FE */ addi r3, r3, -2 +/* 80310CE0 0030C940 80 9F 00 30 */ lwz r4, 0x30(r31) +/* 80310CE4 0030C944 7C 60 00 30 */ slw r0, r3, r0 +/* 80310CE8 0030C948 7F A4 02 14 */ add r29, r4, r0 +/* 80310CEC 0030C94C 48 00 00 70 */ b lbl_80310D5C +lbl_80310CF0: +/* 80310CF0 0030C950 80 81 00 08 */ lwz r4, 8(r1) +/* 80310CF4 0030C954 7F E3 FB 78 */ mr r3, r31 +/* 80310CF8 0030C958 A0 FF 00 00 */ lhz r7, 0(r31) +/* 80310CFC 0030C95C 7C BD E2 14 */ add r5, r29, r28 +/* 80310D00 0030C960 80 84 00 08 */ lwz r4, 8(r4) +/* 80310D04 0030C964 39 01 00 0C */ addi r8, r1, 0xc +/* 80310D08 0030C968 38 C0 00 00 */ li r6, 0 +/* 80310D0C 0030C96C 39 20 00 00 */ li r9, 0 +/* 80310D10 0030C970 48 00 80 D9 */ bl func_80318DE8 +/* 80310D14 0030C974 2C 03 00 00 */ cmpwi r3, 0 +/* 80310D18 0030C978 7C 7E 1B 78 */ mr r30, r3 +/* 80310D1C 0030C97C 41 82 00 18 */ beq lbl_80310D34 +/* 80310D20 0030C980 80 81 00 08 */ lwz r4, 8(r1) +/* 80310D24 0030C984 7F E3 FB 78 */ mr r3, r31 +/* 80310D28 0030C988 4B FF 9A 95 */ bl VFiPFCACHE_FreeDataPage +/* 80310D2C 0030C98C 7F C3 F3 78 */ mr r3, r30 +/* 80310D30 0030C990 48 00 00 48 */ b lbl_80310D78 +lbl_80310D34: +/* 80310D34 0030C994 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80310D38 0030C998 A0 1F 00 00 */ lhz r0, 0(r31) +/* 80310D3C 0030C99C 7C 03 00 40 */ cmplw r3, r0 +/* 80310D40 0030C9A0 41 82 00 18 */ beq lbl_80310D58 +/* 80310D44 0030C9A4 80 81 00 08 */ lwz r4, 8(r1) +/* 80310D48 0030C9A8 7F E3 FB 78 */ mr r3, r31 +/* 80310D4C 0030C9AC 4B FF 9A 71 */ bl VFiPFCACHE_FreeDataPage +/* 80310D50 0030C9B0 38 60 00 11 */ li r3, 0x11 +/* 80310D54 0030C9B4 48 00 00 24 */ b lbl_80310D78 +lbl_80310D58: +/* 80310D58 0030C9B8 3B 9C 00 01 */ addi r28, r28, 1 +lbl_80310D5C: +/* 80310D5C 0030C9BC 88 1F 00 06 */ lbz r0, 6(r31) +/* 80310D60 0030C9C0 7C 1C 00 40 */ cmplw r28, r0 +/* 80310D64 0030C9C4 41 80 FF 8C */ blt lbl_80310CF0 +/* 80310D68 0030C9C8 80 81 00 08 */ lwz r4, 8(r1) +/* 80310D6C 0030C9CC 7F E3 FB 78 */ mr r3, r31 +/* 80310D70 0030C9D0 4B FF 9A 4D */ bl VFiPFCACHE_FreeDataPage +/* 80310D74 0030C9D4 38 60 00 00 */ li r3, 0 +lbl_80310D78: +/* 80310D78 0030C9D8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80310D7C 0030C9DC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80310D80 0030C9E0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80310D84 0030C9E4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80310D88 0030C9E8 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80310D8C 0030C9EC 7C 08 03 A6 */ mtlr r0 +/* 80310D90 0030C9F0 38 21 00 20 */ addi r1, r1, 0x20 +/* 80310D94 0030C9F4 4E 80 00 20 */ blr + +.global func_80310D98 +func_80310D98: +/* 80310D98 0030C9F8 38 00 00 00 */ li r0, 0 +/* 80310D9C 0030C9FC 90 03 00 00 */ stw r0, 0(r3) +/* 80310DA0 0030CA00 90 03 00 04 */ stw r0, 4(r3) +/* 80310DA4 0030CA04 90 03 00 08 */ stw r0, 8(r3) +/* 80310DA8 0030CA08 4E 80 00 20 */ blr + +.global func_80310DAC +func_80310DAC: +/* 80310DAC 0030CA0C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80310DB0 0030CA10 7C 08 02 A6 */ mflr r0 +/* 80310DB4 0030CA14 90 01 00 44 */ stw r0, 0x44(r1) +/* 80310DB8 0030CA18 39 61 00 40 */ addi r11, r1, 0x40 +/* 80310DBC 0030CA1C 4B EB 63 59 */ bl _savegpr_22 +/* 80310DC0 0030CA20 38 00 00 00 */ li r0, 0 +/* 80310DC4 0030CA24 7C 99 23 78 */ mr r25, r4 +/* 80310DC8 0030CA28 90 06 00 00 */ stw r0, 0(r6) +/* 80310DCC 0030CA2C 2C 03 00 00 */ cmpwi r3, 0 +/* 80310DD0 0030CA30 7C 78 1B 78 */ mr r24, r3 +/* 80310DD4 0030CA34 7C DA 33 78 */ mr r26, r6 +/* 80310DD8 0030CA38 90 07 00 00 */ stw r0, 0(r7) +/* 80310DDC 0030CA3C 7C FB 3B 78 */ mr r27, r7 +/* 80310DE0 0030CA40 7F 3E CB 78 */ mr r30, r25 +/* 80310DE4 0030CA44 40 82 00 0C */ bne lbl_80310DF0 +/* 80310DE8 0030CA48 38 60 00 0A */ li r3, 0xa +/* 80310DEC 0030CA4C 48 00 01 E8 */ b lbl_80310FD4 +lbl_80310DF0: +/* 80310DF0 0030CA50 81 23 00 30 */ lwz r9, 0x30(r3) +/* 80310DF4 0030CA54 2C 09 00 00 */ cmpwi r9, 0 +/* 80310DF8 0030CA58 40 82 00 0C */ bne lbl_80310E04 +/* 80310DFC 0030CA5C 38 60 00 0A */ li r3, 0xa +/* 80310E00 0030CA60 48 00 01 D4 */ b lbl_80310FD4 +lbl_80310E04: +/* 80310E04 0030CA64 81 03 00 00 */ lwz r8, 0(r3) +/* 80310E08 0030CA68 2C 08 00 00 */ cmpwi r8, 0 +/* 80310E0C 0030CA6C 40 82 00 0C */ bne lbl_80310E18 +/* 80310E10 0030CA70 38 60 00 0A */ li r3, 0xa +/* 80310E14 0030CA74 48 00 01 C0 */ b lbl_80310FD4 +lbl_80310E18: +/* 80310E18 0030CA78 80 09 00 08 */ lwz r0, 8(r9) +/* 80310E1C 0030CA7C 7C 00 40 40 */ cmplw r0, r8 +/* 80310E20 0030CA80 40 81 00 0C */ ble lbl_80310E2C +/* 80310E24 0030CA84 38 60 00 0A */ li r3, 0xa +/* 80310E28 0030CA88 48 00 01 AC */ b lbl_80310FD4 +lbl_80310E2C: +/* 80310E2C 0030CA8C 83 E3 00 34 */ lwz r31, 0x34(r3) +/* 80310E30 0030CA90 88 1F 18 7A */ lbz r0, 0x187a(r31) +/* 80310E34 0030CA94 7C 00 07 74 */ extsb r0, r0 +/* 80310E38 0030CA98 2C 00 00 41 */ cmpwi r0, 0x41 +/* 80310E3C 0030CA9C 41 80 00 0C */ blt lbl_80310E48 +/* 80310E40 0030CAA0 2C 00 00 5A */ cmpwi r0, 0x5a +/* 80310E44 0030CAA4 40 81 00 0C */ ble lbl_80310E50 +lbl_80310E48: +/* 80310E48 0030CAA8 38 60 00 23 */ li r3, 0x23 +/* 80310E4C 0030CAAC 48 00 01 88 */ b lbl_80310FD4 +lbl_80310E50: +/* 80310E50 0030CAB0 2C 1F 00 00 */ cmpwi r31, 0 +/* 80310E54 0030CAB4 40 82 00 0C */ bne lbl_80310E60 +/* 80310E58 0030CAB8 38 60 00 0A */ li r3, 0xa +/* 80310E5C 0030CABC 48 00 01 78 */ b lbl_80310FD4 +lbl_80310E60: +/* 80310E60 0030CAC0 81 03 00 08 */ lwz r8, 8(r3) +/* 80310E64 0030CAC4 81 08 00 00 */ lwz r8, 0(r8) +/* 80310E68 0030CAC8 28 08 00 02 */ cmplwi r8, 2 +/* 80310E6C 0030CACC 40 80 00 0C */ bge lbl_80310E78 +/* 80310E70 0030CAD0 38 60 00 00 */ li r3, 0 +/* 80310E74 0030CAD4 48 00 01 60 */ b lbl_80310FD4 +lbl_80310E78: +/* 80310E78 0030CAD8 28 04 00 02 */ cmplwi r4, 2 +/* 80310E7C 0030CADC 40 80 00 0C */ bge lbl_80310E88 +/* 80310E80 0030CAE0 38 60 00 00 */ li r3, 0 +/* 80310E84 0030CAE4 48 00 01 50 */ b lbl_80310FD4 +lbl_80310E88: +/* 80310E88 0030CAE8 2C 05 00 00 */ cmpwi r5, 0 +/* 80310E8C 0030CAEC 40 82 00 0C */ bne lbl_80310E98 +/* 80310E90 0030CAF0 38 60 00 00 */ li r3, 0 +/* 80310E94 0030CAF4 48 00 01 40 */ b lbl_80310FD4 +lbl_80310E98: +/* 80310E98 0030CAF8 3C 05 00 01 */ addis r0, r5, 1 +/* 80310E9C 0030CAFC 28 00 FF FF */ cmplwi r0, 0xffff +/* 80310EA0 0030CB00 40 82 00 38 */ bne lbl_80310ED8 +/* 80310EA4 0030CB04 80 03 00 0C */ lwz r0, 0xc(r3) +/* 80310EA8 0030CB08 2C 00 00 00 */ cmpwi r0, 0 +/* 80310EAC 0030CB0C 41 82 00 2C */ beq lbl_80310ED8 +/* 80310EB0 0030CB10 90 06 00 00 */ stw r0, 0(r6) +/* 80310EB4 0030CB14 3C 80 80 40 */ lis r4, lbl_803FE280@ha +/* 80310EB8 0030CB18 38 84 E2 80 */ addi r4, r4, lbl_803FE280@l +/* 80310EBC 0030CB1C 38 60 00 00 */ li r3, 0 +/* 80310EC0 0030CB20 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80310EC4 0030CB24 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 80310EC8 0030CB28 7C 84 02 14 */ add r4, r4, r0 +/* 80310ECC 0030CB2C 80 04 00 08 */ lwz r0, 8(r4) +/* 80310ED0 0030CB30 90 07 00 00 */ stw r0, 0(r7) +/* 80310ED4 0030CB34 48 00 01 00 */ b lbl_80310FD4 +lbl_80310ED8: +/* 80310ED8 0030CB38 A0 7F 00 00 */ lhz r3, 0(r31) +/* 80310EDC 0030CB3C 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 80310EE0 0030CB40 7C 60 00 30 */ slw r0, r3, r0 +/* 80310EE4 0030CB44 7F 85 03 96 */ divwu r28, r5, r0 +/* 80310EE8 0030CB48 7C 1C 01 D6 */ mullw r0, r28, r0 +/* 80310EEC 0030CB4C 7C 00 28 51 */ subf. r0, r0, r5 +/* 80310EF0 0030CB50 41 82 00 08 */ beq lbl_80310EF8 +/* 80310EF4 0030CB54 3B 9C 00 01 */ addi r28, r28, 1 +lbl_80310EF8: +/* 80310EF8 0030CB58 7C 08 20 40 */ cmplw r8, r4 +/* 80310EFC 0030CB5C 40 82 00 0C */ bne lbl_80310F08 +/* 80310F00 0030CB60 3B A0 00 01 */ li r29, 1 +/* 80310F04 0030CB64 48 00 00 0C */ b lbl_80310F10 +lbl_80310F08: +/* 80310F08 0030CB68 80 69 00 00 */ lwz r3, 0(r9) +/* 80310F0C 0030CB6C 3B A3 00 01 */ addi r29, r3, 1 +lbl_80310F10: +/* 80310F10 0030CB70 38 60 FF FF */ li r3, -1 +/* 80310F14 0030CB74 38 00 00 01 */ li r0, 1 +/* 80310F18 0030CB78 90 61 00 10 */ stw r3, 0x10(r1) +/* 80310F1C 0030CB7C 7F E3 FB 78 */ mr r3, r31 +/* 80310F20 0030CB80 7F 25 CB 78 */ mr r5, r25 +/* 80310F24 0030CB84 38 81 00 08 */ addi r4, r1, 8 +/* 80310F28 0030CB88 90 01 00 0C */ stw r0, 0xc(r1) +/* 80310F2C 0030CB8C 4B FF D6 0D */ bl func_8030E538 +/* 80310F30 0030CB90 2C 03 00 00 */ cmpwi r3, 0 +/* 80310F34 0030CB94 41 82 00 08 */ beq lbl_80310F3C +/* 80310F38 0030CB98 48 00 00 9C */ b lbl_80310FD4 +lbl_80310F3C: +/* 80310F3C 0030CB9C 3E E0 80 40 */ lis r23, lbl_803FE280@ha +/* 80310F40 0030CBA0 3A C0 00 00 */ li r22, 0 +/* 80310F44 0030CBA4 3A F7 E2 80 */ addi r23, r23, lbl_803FE280@l +/* 80310F48 0030CBA8 48 00 00 68 */ b lbl_80310FB0 +lbl_80310F4C: +/* 80310F4C 0030CBAC 7F 03 C3 78 */ mr r3, r24 +/* 80310F50 0030CBB0 7F 24 CB 78 */ mr r4, r25 +/* 80310F54 0030CBB4 7F A5 EB 78 */ mr r5, r29 +/* 80310F58 0030CBB8 38 C1 00 10 */ addi r6, r1, 0x10 +/* 80310F5C 0030CBBC 38 E1 00 0C */ addi r7, r1, 0xc +/* 80310F60 0030CBC0 39 01 00 08 */ addi r8, r1, 8 +/* 80310F64 0030CBC4 4B FF DC 71 */ bl func_8030EBD4 +/* 80310F68 0030CBC8 2C 03 00 00 */ cmpwi r3, 0 +/* 80310F6C 0030CBCC 41 82 00 08 */ beq lbl_80310F74 +/* 80310F70 0030CBD0 48 00 00 64 */ b lbl_80310FD4 +lbl_80310F74: +/* 80310F74 0030CBD4 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80310F78 0030CBD8 7F 3E CB 78 */ mr r30, r25 +/* 80310F7C 0030CBDC 80 81 00 10 */ lwz r4, 0x10(r1) +/* 80310F80 0030CBE0 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 80310F84 0030CBE4 7C 77 02 14 */ add r3, r23, r0 +/* 80310F88 0030CBE8 80 03 00 08 */ lwz r0, 8(r3) +/* 80310F8C 0030CBEC 7C 04 00 40 */ cmplw r4, r0 +/* 80310F90 0030CBF0 40 82 00 14 */ bne lbl_80310FA4 +/* 80310F94 0030CBF4 38 1D FF FF */ addi r0, r29, -1 +/* 80310F98 0030CBF8 93 38 00 0C */ stw r25, 0xc(r24) +/* 80310F9C 0030CBFC 90 18 00 10 */ stw r0, 0x10(r24) +/* 80310FA0 0030CC00 48 00 00 18 */ b lbl_80310FB8 +lbl_80310FA4: +/* 80310FA4 0030CC04 7C 99 23 78 */ mr r25, r4 +/* 80310FA8 0030CC08 3B BD 00 01 */ addi r29, r29, 1 +/* 80310FAC 0030CC0C 3A D6 00 01 */ addi r22, r22, 1 +lbl_80310FB0: +/* 80310FB0 0030CC10 7C 16 E0 40 */ cmplw r22, r28 +/* 80310FB4 0030CC14 41 80 FF 98 */ blt lbl_80310F4C +lbl_80310FB8: +/* 80310FB8 0030CC18 80 98 00 30 */ lwz r4, 0x30(r24) +/* 80310FBC 0030CC1C 38 1D FF FF */ addi r0, r29, -1 +/* 80310FC0 0030CC20 38 60 00 00 */ li r3, 0 +/* 80310FC4 0030CC24 90 04 00 00 */ stw r0, 0(r4) +/* 80310FC8 0030CC28 93 DA 00 00 */ stw r30, 0(r26) +/* 80310FCC 0030CC2C 80 01 00 10 */ lwz r0, 0x10(r1) +/* 80310FD0 0030CC30 90 1B 00 00 */ stw r0, 0(r27) +lbl_80310FD4: +/* 80310FD4 0030CC34 39 61 00 40 */ addi r11, r1, 0x40 +/* 80310FD8 0030CC38 4B EB 61 89 */ bl _restgpr_22 +/* 80310FDC 0030CC3C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80310FE0 0030CC40 7C 08 03 A6 */ mtlr r0 +/* 80310FE4 0030CC44 38 21 00 40 */ addi r1, r1, 0x40 +/* 80310FE8 0030CC48 4E 80 00 20 */ blr + +.global func_80310FEC +func_80310FEC: +/* 80310FEC 0030CC4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80310FF0 0030CC50 7C 08 02 A6 */ mflr r0 +/* 80310FF4 0030CC54 90 01 00 14 */ stw r0, 0x14(r1) +/* 80310FF8 0030CC58 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80310FFC 0030CC5C 2C 00 00 01 */ cmpwi r0, 1 +/* 80311000 0030CC60 41 82 00 2C */ beq lbl_8031102C +/* 80311004 0030CC64 40 80 00 10 */ bge lbl_80311014 +/* 80311008 0030CC68 2C 00 00 00 */ cmpwi r0, 0 +/* 8031100C 0030CC6C 40 80 00 14 */ bge lbl_80311020 +/* 80311010 0030CC70 48 00 00 2C */ b lbl_8031103C +lbl_80311014: +/* 80311014 0030CC74 2C 00 00 03 */ cmpwi r0, 3 +/* 80311018 0030CC78 40 80 00 24 */ bge lbl_8031103C +/* 8031101C 0030CC7C 48 00 00 18 */ b lbl_80311034 +lbl_80311020: +/* 80311020 0030CC80 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 80311024 0030CC84 48 00 01 4D */ bl func_80311170 +/* 80311028 0030CC88 48 00 00 20 */ b lbl_80311048 +lbl_8031102C: +/* 8031102C 0030CC8C 48 00 0C 2D */ bl func_80311C58 +/* 80311030 0030CC90 48 00 00 18 */ b lbl_80311048 +lbl_80311034: +/* 80311034 0030CC94 48 00 11 9D */ bl func_803121D0 +/* 80311038 0030CC98 48 00 00 10 */ b lbl_80311048 +lbl_8031103C: +/* 8031103C 0030CC9C 38 00 FF FF */ li r0, -1 +/* 80311040 0030CCA0 38 60 00 0F */ li r3, 0xf +/* 80311044 0030CCA4 90 05 00 00 */ stw r0, 0(r5) +lbl_80311048: +/* 80311048 0030CCA8 7C 03 00 D0 */ neg r0, r3 +/* 8031104C 0030CCAC 7C 00 1B 78 */ or r0, r0, r3 +/* 80311050 0030CCB0 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 80311054 0030CCB4 7C 63 00 38 */ and r3, r3, r0 +/* 80311058 0030CCB8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031105C 0030CCBC 7C 08 03 A6 */ mtlr r0 +/* 80311060 0030CCC0 38 21 00 10 */ addi r1, r1, 0x10 +/* 80311064 0030CCC4 4E 80 00 20 */ blr + +.global func_80311068 +func_80311068: +/* 80311068 0030CCC8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031106C 0030CCCC 40 82 00 0C */ bne lbl_80311078 +/* 80311070 0030CCD0 38 60 00 0A */ li r3, 0xa +/* 80311074 0030CCD4 4E 80 00 20 */ blr +lbl_80311078: +/* 80311078 0030CCD8 2C 04 00 00 */ cmpwi r4, 0 +/* 8031107C 0030CCDC 40 82 00 0C */ bne lbl_80311088 +/* 80311080 0030CCE0 38 60 00 0A */ li r3, 0xa +/* 80311084 0030CCE4 4E 80 00 20 */ blr +lbl_80311088: +/* 80311088 0030CCE8 80 A3 00 30 */ lwz r5, 0x30(r3) +/* 8031108C 0030CCEC 38 00 00 01 */ li r0, 1 +/* 80311090 0030CCF0 90 83 00 08 */ stw r4, 8(r3) +/* 80311094 0030CCF4 2C 05 00 00 */ cmpwi r5, 0 +/* 80311098 0030CCF8 90 03 00 00 */ stw r0, 0(r3) +/* 8031109C 0030CCFC 41 82 00 0C */ beq lbl_803110A8 +/* 803110A0 0030CD00 38 00 00 00 */ li r0, 0 +/* 803110A4 0030CD04 90 05 00 08 */ stw r0, 8(r5) +lbl_803110A8: +/* 803110A8 0030CD08 38 00 00 00 */ li r0, 0 +/* 803110AC 0030CD0C 90 03 00 18 */ stw r0, 0x18(r3) +/* 803110B0 0030CD10 90 03 00 14 */ stw r0, 0x14(r3) +/* 803110B4 0030CD14 90 03 00 0C */ stw r0, 0xc(r3) +/* 803110B8 0030CD18 90 03 00 10 */ stw r0, 0x10(r3) +/* 803110BC 0030CD1C 90 03 00 1C */ stw r0, 0x1c(r3) +/* 803110C0 0030CD20 38 60 00 00 */ li r3, 0 +/* 803110C4 0030CD24 4E 80 00 20 */ blr + +.global func_803110C8 +func_803110C8: +/* 803110C8 0030CD28 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 803110CC 0030CD2C 40 86 00 0C */ bne cr1, lbl_803110D8 +/* 803110D0 0030CD30 38 60 00 0A */ li r3, 0xa +/* 803110D4 0030CD34 4E 80 00 20 */ blr +lbl_803110D8: +/* 803110D8 0030CD38 2C 06 00 00 */ cmpwi r6, 0 +/* 803110DC 0030CD3C 40 82 00 0C */ bne lbl_803110E8 +/* 803110E0 0030CD40 38 60 00 0A */ li r3, 0xa +/* 803110E4 0030CD44 4E 80 00 20 */ blr +lbl_803110E8: +/* 803110E8 0030CD48 90 83 00 30 */ stw r4, 0x30(r3) +/* 803110EC 0030CD4C 90 A3 00 34 */ stw r5, 0x34(r3) +/* 803110F0 0030CD50 41 86 00 3C */ beq cr1, lbl_8031112C +/* 803110F4 0030CD54 41 82 00 38 */ beq lbl_8031112C +/* 803110F8 0030CD58 38 00 00 01 */ li r0, 1 +/* 803110FC 0030CD5C 2C 04 00 00 */ cmpwi r4, 0 +/* 80311100 0030CD60 90 C3 00 08 */ stw r6, 8(r3) +/* 80311104 0030CD64 90 03 00 00 */ stw r0, 0(r3) +/* 80311108 0030CD68 41 82 00 0C */ beq lbl_80311114 +/* 8031110C 0030CD6C 38 00 00 00 */ li r0, 0 +/* 80311110 0030CD70 90 04 00 08 */ stw r0, 8(r4) +lbl_80311114: +/* 80311114 0030CD74 38 00 00 00 */ li r0, 0 +/* 80311118 0030CD78 90 03 00 18 */ stw r0, 0x18(r3) +/* 8031111C 0030CD7C 90 03 00 14 */ stw r0, 0x14(r3) +/* 80311120 0030CD80 90 03 00 0C */ stw r0, 0xc(r3) +/* 80311124 0030CD84 90 03 00 10 */ stw r0, 0x10(r3) +/* 80311128 0030CD88 90 03 00 1C */ stw r0, 0x1c(r3) +lbl_8031112C: +/* 8031112C 0030CD8C 38 60 00 00 */ li r3, 0 +/* 80311130 0030CD90 4E 80 00 20 */ blr + +.global func_80311134 +func_80311134: +/* 80311134 0030CD94 2C 03 00 00 */ cmpwi r3, 0 +/* 80311138 0030CD98 40 82 00 0C */ bne lbl_80311144 +/* 8031113C 0030CD9C 38 60 00 0A */ li r3, 0xa +/* 80311140 0030CDA0 4E 80 00 20 */ blr +lbl_80311144: +/* 80311144 0030CDA4 38 00 00 00 */ li r0, 0 +/* 80311148 0030CDA8 90 03 00 1C */ stw r0, 0x1c(r3) +/* 8031114C 0030CDAC 38 60 00 00 */ li r3, 0 +/* 80311150 0030CDB0 4E 80 00 20 */ blr + +.global func_80311154 +func_80311154: +/* 80311154 0030CDB4 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80311158 0030CDB8 3C 60 80 40 */ lis r3, lbl_803FE280@ha +/* 8031115C 0030CDBC 38 63 E2 80 */ addi r3, r3, lbl_803FE280@l +/* 80311160 0030CDC0 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 80311164 0030CDC4 7C 63 02 14 */ add r3, r3, r0 +/* 80311168 0030CDC8 80 63 00 08 */ lwz r3, 8(r3) +/* 8031116C 0030CDCC 4E 80 00 20 */ blr + +.global func_80311170 +func_80311170: +/* 80311170 0030CDD0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80311174 0030CDD4 7C 08 02 A6 */ mflr r0 +/* 80311178 0030CDD8 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031117C 0030CDDC 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311180 0030CDE0 4B EB 5F A1 */ bl _savegpr_25 +/* 80311184 0030CDE4 2C 03 00 00 */ cmpwi r3, 0 +/* 80311188 0030CDE8 7C 7C 1B 78 */ mr r28, r3 +/* 8031118C 0030CDEC 7C 9D 23 78 */ mr r29, r4 +/* 80311190 0030CDF0 7C BE 2B 78 */ mr r30, r5 +/* 80311194 0030CDF4 40 82 00 14 */ bne lbl_803111A8 +/* 80311198 0030CDF8 38 00 FF FF */ li r0, -1 +/* 8031119C 0030CDFC 38 60 00 0A */ li r3, 0xa +/* 803111A0 0030CE00 90 05 00 00 */ stw r0, 0(r5) +/* 803111A4 0030CE04 48 00 01 98 */ b lbl_8031133C +lbl_803111A8: +/* 803111A8 0030CE08 28 04 00 02 */ cmplwi r4, 2 +/* 803111AC 0030CE0C 41 80 00 14 */ blt lbl_803111C0 +/* 803111B0 0030CE10 80 C3 00 34 */ lwz r6, 0x34(r3) +/* 803111B4 0030CE14 38 06 00 02 */ addi r0, r6, 2 +/* 803111B8 0030CE18 7C 04 00 40 */ cmplw r4, r0 +/* 803111BC 0030CE1C 41 80 00 24 */ blt lbl_803111E0 +lbl_803111C0: +/* 803111C0 0030CE20 2C 04 00 00 */ cmpwi r4, 0 +/* 803111C4 0030CE24 41 82 00 1C */ beq lbl_803111E0 +/* 803111C8 0030CE28 28 04 00 01 */ cmplwi r4, 1 +/* 803111CC 0030CE2C 41 82 00 14 */ beq lbl_803111E0 +/* 803111D0 0030CE30 38 00 FF FF */ li r0, -1 +/* 803111D4 0030CE34 38 60 00 0E */ li r3, 0xe +/* 803111D8 0030CE38 90 05 00 00 */ stw r0, 0(r5) +/* 803111DC 0030CE3C 48 00 01 60 */ b lbl_8031133C +lbl_803111E0: +/* 803111E0 0030CE40 7C 80 0E 70 */ srawi r0, r4, 1 +/* 803111E4 0030CE44 A0 E3 00 18 */ lhz r7, 0x18(r3) +/* 803111E8 0030CE48 7C 04 02 14 */ add r0, r4, r0 +/* 803111EC 0030CE4C 88 A3 00 20 */ lbz r5, 0x20(r3) +/* 803111F0 0030CE50 54 08 04 3E */ clrlwi r8, r0, 0x10 +/* 803111F4 0030CE54 A0 83 00 00 */ lhz r4, 0(r3) +/* 803111F8 0030CE58 54 E0 06 31 */ rlwinm. r0, r7, 0, 0x18, 0x18 +/* 803111FC 0030CE5C 80 C3 00 28 */ lwz r6, 0x28(r3) +/* 80311200 0030CE60 7D 03 2E 30 */ sraw r3, r8, r5 +/* 80311204 0030CE64 3B E0 00 01 */ li r31, 1 +/* 80311208 0030CE68 38 04 FF FF */ addi r0, r4, -1 +/* 8031120C 0030CE6C 7C 66 1A 14 */ add r3, r6, r3 +/* 80311210 0030CE70 54 79 04 3E */ clrlwi r25, r3, 0x10 +/* 80311214 0030CE74 7D 00 00 38 */ and r0, r8, r0 +/* 80311218 0030CE78 41 82 00 08 */ beq lbl_80311220 +/* 8031121C 0030CE7C 54 FF 07 7E */ clrlwi r31, r7, 0x1d +lbl_80311220: +/* 80311220 0030CE80 54 1B 04 3E */ clrlwi r27, r0, 0x10 +lbl_80311224: +/* 80311224 0030CE84 A0 7C 00 00 */ lhz r3, 0(r28) +/* 80311228 0030CE88 38 03 FF FF */ addi r0, r3, -1 +/* 8031122C 0030CE8C 7C 1B 00 00 */ cmpw r27, r0 +/* 80311230 0030CE90 40 80 00 24 */ bge lbl_80311254 +/* 80311234 0030CE94 7F 83 E3 78 */ mr r3, r28 +/* 80311238 0030CE98 7F 66 DB 78 */ mr r6, r27 +/* 8031123C 0030CE9C 38 81 00 08 */ addi r4, r1, 8 +/* 80311240 0030CEA0 57 25 04 3E */ clrlwi r5, r25, 0x10 +/* 80311244 0030CEA4 38 E0 00 02 */ li r7, 2 +/* 80311248 0030CEA8 48 00 77 29 */ bl func_80318970 +/* 8031124C 0030CEAC 7C 7A 1B 78 */ mr r26, r3 +/* 80311250 0030CEB0 48 00 00 48 */ b lbl_80311298 +lbl_80311254: +/* 80311254 0030CEB4 7F 83 E3 78 */ mr r3, r28 +/* 80311258 0030CEB8 7F 66 DB 78 */ mr r6, r27 +/* 8031125C 0030CEBC 38 81 00 08 */ addi r4, r1, 8 +/* 80311260 0030CEC0 57 25 04 3E */ clrlwi r5, r25, 0x10 +/* 80311264 0030CEC4 38 E0 00 01 */ li r7, 1 +/* 80311268 0030CEC8 48 00 77 09 */ bl func_80318970 +/* 8031126C 0030CECC 2C 03 00 00 */ cmpwi r3, 0 +/* 80311270 0030CED0 7C 7A 1B 78 */ mr r26, r3 +/* 80311274 0030CED4 40 82 00 24 */ bne lbl_80311298 +/* 80311278 0030CED8 57 25 04 3E */ clrlwi r5, r25, 0x10 +/* 8031127C 0030CEDC 7F 83 E3 78 */ mr r3, r28 +/* 80311280 0030CEE0 38 81 00 09 */ addi r4, r1, 9 +/* 80311284 0030CEE4 38 C0 00 00 */ li r6, 0 +/* 80311288 0030CEE8 38 A5 00 01 */ addi r5, r5, 1 +/* 8031128C 0030CEEC 38 E0 00 01 */ li r7, 1 +/* 80311290 0030CEF0 48 00 76 E1 */ bl func_80318970 +/* 80311294 0030CEF4 7C 7A 1B 78 */ mr r26, r3 +lbl_80311298: +/* 80311298 0030CEF8 2C 1A 10 00 */ cmpwi r26, 0x1000 +/* 8031129C 0030CEFC 40 82 00 54 */ bne lbl_803112F0 +/* 803112A0 0030CF00 81 9C 18 90 */ lwz r12, 0x1890(r28) +/* 803112A4 0030CF04 2C 0C 00 00 */ cmpwi r12, 0 +/* 803112A8 0030CF08 41 82 00 48 */ beq lbl_803112F0 +/* 803112AC 0030CF0C 80 7C 18 70 */ lwz r3, 0x1870(r28) +/* 803112B0 0030CF10 7D 89 03 A6 */ mtctr r12 +/* 803112B4 0030CF14 4E 80 04 21 */ bctrl +/* 803112B8 0030CF18 2C 03 00 00 */ cmpwi r3, 0 +/* 803112BC 0030CF1C 41 82 00 4C */ beq lbl_80311308 +/* 803112C0 0030CF20 2C 03 00 01 */ cmpwi r3, 1 +/* 803112C4 0030CF24 40 82 00 2C */ bne lbl_803112F0 +/* 803112C8 0030CF28 88 1C 00 22 */ lbz r0, 0x22(r28) +/* 803112CC 0030CF2C 28 00 00 02 */ cmplwi r0, 2 +/* 803112D0 0030CF30 41 80 00 20 */ blt lbl_803112F0 +/* 803112D4 0030CF34 7C 1F 00 40 */ cmplw r31, r0 +/* 803112D8 0030CF38 40 80 00 18 */ bge lbl_803112F0 +/* 803112DC 0030CF3C 80 1C 00 0C */ lwz r0, 0xc(r28) +/* 803112E0 0030CF40 3B FF 00 01 */ addi r31, r31, 1 +/* 803112E4 0030CF44 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 803112E8 0030CF48 7F 39 02 14 */ add r25, r25, r0 +/* 803112EC 0030CF4C 48 00 00 1C */ b lbl_80311308 +lbl_803112F0: +/* 803112F0 0030CF50 2C 1A 00 00 */ cmpwi r26, 0 +/* 803112F4 0030CF54 41 82 00 14 */ beq lbl_80311308 +/* 803112F8 0030CF58 38 00 FF FF */ li r0, -1 +/* 803112FC 0030CF5C 7F 43 D3 78 */ mr r3, r26 +/* 80311300 0030CF60 90 1E 00 00 */ stw r0, 0(r30) +/* 80311304 0030CF64 48 00 00 38 */ b lbl_8031133C +lbl_80311308: +/* 80311308 0030CF68 2C 1A 00 00 */ cmpwi r26, 0 +/* 8031130C 0030CF6C 40 82 FF 18 */ bne lbl_80311224 +/* 80311310 0030CF70 57 A0 07 FF */ clrlwi. r0, r29, 0x1f +/* 80311314 0030CF74 A0 61 00 08 */ lhz r3, 8(r1) +/* 80311318 0030CF78 54 60 44 2E */ rlwinm r0, r3, 8, 0x10, 0x17 +/* 8031131C 0030CF7C 50 60 C6 3E */ rlwimi r0, r3, 0x18, 0x18, 0x1f +/* 80311320 0030CF80 41 82 00 10 */ beq lbl_80311330 +/* 80311324 0030CF84 54 00 E5 3E */ rlwinm r0, r0, 0x1c, 0x14, 0x1f +/* 80311328 0030CF88 90 1E 00 00 */ stw r0, 0(r30) +/* 8031132C 0030CF8C 48 00 00 0C */ b lbl_80311338 +lbl_80311330: +/* 80311330 0030CF90 54 00 05 3E */ clrlwi r0, r0, 0x14 +/* 80311334 0030CF94 90 1E 00 00 */ stw r0, 0(r30) +lbl_80311338: +/* 80311338 0030CF98 38 60 00 00 */ li r3, 0 +lbl_8031133C: +/* 8031133C 0030CF9C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311340 0030CFA0 4B EB 5E 2D */ bl _restgpr_25 +/* 80311344 0030CFA4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80311348 0030CFA8 7C 08 03 A6 */ mtlr r0 +/* 8031134C 0030CFAC 38 21 00 30 */ addi r1, r1, 0x30 +/* 80311350 0030CFB0 4E 80 00 20 */ blr + +.global func_80311354 +func_80311354: +/* 80311354 0030CFB4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80311358 0030CFB8 7C 08 02 A6 */ mflr r0 +/* 8031135C 0030CFBC 90 01 00 34 */ stw r0, 0x34(r1) +/* 80311360 0030CFC0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311364 0030CFC4 4B EB 5D B9 */ bl _savegpr_24 +/* 80311368 0030CFC8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031136C 0030CFCC 7C 78 1B 78 */ mr r24, r3 +/* 80311370 0030CFD0 7C 99 23 78 */ mr r25, r4 +/* 80311374 0030CFD4 7C BA 2B 78 */ mr r26, r5 +/* 80311378 0030CFD8 7C DB 33 78 */ mr r27, r6 +/* 8031137C 0030CFDC 40 82 00 0C */ bne lbl_80311388 +/* 80311380 0030CFE0 38 60 00 0A */ li r3, 0xa +/* 80311384 0030CFE4 48 00 02 8C */ b lbl_80311610 +lbl_80311388: +/* 80311388 0030CFE8 28 04 00 02 */ cmplwi r4, 2 +/* 8031138C 0030CFEC 41 80 00 14 */ blt lbl_803113A0 +/* 80311390 0030CFF0 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80311394 0030CFF4 38 05 00 02 */ addi r0, r5, 2 +/* 80311398 0030CFF8 7C 04 00 40 */ cmplw r4, r0 +/* 8031139C 0030CFFC 41 80 00 1C */ blt lbl_803113B8 +lbl_803113A0: +/* 803113A0 0030D000 2C 04 00 00 */ cmpwi r4, 0 +/* 803113A4 0030D004 41 82 00 14 */ beq lbl_803113B8 +/* 803113A8 0030D008 28 04 00 01 */ cmplwi r4, 1 +/* 803113AC 0030D00C 41 82 00 0C */ beq lbl_803113B8 +/* 803113B0 0030D010 38 60 00 0E */ li r3, 0xe +/* 803113B4 0030D014 48 00 02 5C */ b lbl_80311610 +lbl_803113B8: +/* 803113B8 0030D018 54 80 FC 7E */ rlwinm r0, r4, 0x1f, 0x11, 0x1f +/* 803113BC 0030D01C A0 A3 00 18 */ lhz r5, 0x18(r3) +/* 803113C0 0030D020 7C 04 02 14 */ add r0, r4, r0 +/* 803113C4 0030D024 88 83 00 20 */ lbz r4, 0x20(r3) +/* 803113C8 0030D028 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 803113CC 0030D02C 80 63 00 28 */ lwz r3, 0x28(r3) +/* 803113D0 0030D030 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 +/* 803113D4 0030D034 3B 80 00 01 */ li r28, 1 +/* 803113D8 0030D038 7F E0 24 30 */ srw r0, r31, r4 +/* 803113DC 0030D03C 7C 03 02 14 */ add r0, r3, r0 +/* 803113E0 0030D040 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 803113E4 0030D044 41 82 00 08 */ beq lbl_803113EC +/* 803113E8 0030D048 54 BC 07 7E */ clrlwi r28, r5, 0x1d +lbl_803113EC: +/* 803113EC 0030D04C 3B C0 00 00 */ li r30, 0 +lbl_803113F0: +/* 803113F0 0030D050 2C 1E 10 00 */ cmpwi r30, 0x1000 +/* 803113F4 0030D054 40 82 00 5C */ bne lbl_80311450 +/* 803113F8 0030D058 81 98 18 90 */ lwz r12, 0x1890(r24) +/* 803113FC 0030D05C 2C 0C 00 00 */ cmpwi r12, 0 +/* 80311400 0030D060 41 82 00 50 */ beq lbl_80311450 +/* 80311404 0030D064 80 78 18 70 */ lwz r3, 0x1870(r24) +/* 80311408 0030D068 7D 89 03 A6 */ mtctr r12 +/* 8031140C 0030D06C 4E 80 04 21 */ bctrl +/* 80311410 0030D070 2C 03 00 00 */ cmpwi r3, 0 +/* 80311414 0030D074 40 82 00 0C */ bne lbl_80311420 +/* 80311418 0030D078 3B C0 00 00 */ li r30, 0 +/* 8031141C 0030D07C 4B FF FF D4 */ b lbl_803113F0 +lbl_80311420: +/* 80311420 0030D080 2C 03 00 01 */ cmpwi r3, 1 +/* 80311424 0030D084 40 82 01 AC */ bne lbl_803115D0 +/* 80311428 0030D088 88 18 00 22 */ lbz r0, 0x22(r24) +/* 8031142C 0030D08C 28 00 00 02 */ cmplwi r0, 2 +/* 80311430 0030D090 41 80 01 A0 */ blt lbl_803115D0 +/* 80311434 0030D094 7C 1C 00 40 */ cmplw r28, r0 +/* 80311438 0030D098 40 80 01 98 */ bge lbl_803115D0 +/* 8031143C 0030D09C 80 18 00 0C */ lwz r0, 0xc(r24) +/* 80311440 0030D0A0 3B C0 00 00 */ li r30, 0 +/* 80311444 0030D0A4 3B 9C 00 01 */ addi r28, r28, 1 +/* 80311448 0030D0A8 7F BD 02 14 */ add r29, r29, r0 +/* 8031144C 0030D0AC 4B FF FF A4 */ b lbl_803113F0 +lbl_80311450: +/* 80311450 0030D0B0 80 9B 00 00 */ lwz r4, 0(r27) +/* 80311454 0030D0B4 80 C4 00 18 */ lwz r6, 0x18(r4) +/* 80311458 0030D0B8 7C 06 E8 40 */ cmplw r6, r29 +/* 8031145C 0030D0BC 41 81 00 14 */ bgt lbl_80311470 +/* 80311460 0030D0C0 80 18 16 00 */ lwz r0, 0x1600(r24) +/* 80311464 0030D0C4 7C 06 02 14 */ add r0, r6, r0 +/* 80311468 0030D0C8 7C 00 E8 40 */ cmplw r0, r29 +/* 8031146C 0030D0CC 41 81 00 44 */ bgt lbl_803114B0 +lbl_80311470: +/* 80311470 0030D0D0 A0 04 00 02 */ lhz r0, 2(r4) +/* 80311474 0030D0D4 28 00 00 01 */ cmplwi r0, 1 +/* 80311478 0030D0D8 40 82 00 18 */ bne lbl_80311490 +/* 8031147C 0030D0DC 7F 03 C3 78 */ mr r3, r24 +/* 80311480 0030D0E0 4B FF E9 E9 */ bl func_8030FE68 +/* 80311484 0030D0E4 2C 03 00 00 */ cmpwi r3, 0 +/* 80311488 0030D0E8 41 82 00 08 */ beq lbl_80311490 +/* 8031148C 0030D0EC 48 00 01 84 */ b lbl_80311610 +lbl_80311490: +/* 80311490 0030D0F0 7F 03 C3 78 */ mr r3, r24 +/* 80311494 0030D0F4 7F A4 EB 78 */ mr r4, r29 +/* 80311498 0030D0F8 7F 65 DB 78 */ mr r5, r27 +/* 8031149C 0030D0FC 4B FF 93 B1 */ bl VFiPFCACHE_ReadFATPage +/* 803114A0 0030D100 2C 03 00 00 */ cmpwi r3, 0 +/* 803114A4 0030D104 7C 7E 1B 78 */ mr r30, r3 +/* 803114A8 0030D108 40 82 FF 48 */ bne lbl_803113F0 +/* 803114AC 0030D10C 48 00 00 30 */ b lbl_803114DC +lbl_803114B0: +/* 803114B0 0030D110 80 64 00 04 */ lwz r3, 4(r4) +/* 803114B4 0030D114 80 A4 00 08 */ lwz r5, 8(r4) +/* 803114B8 0030D118 88 18 00 20 */ lbz r0, 0x20(r24) +/* 803114BC 0030D11C 7C 63 28 50 */ subf r3, r3, r5 +/* 803114C0 0030D120 7C 60 06 30 */ sraw r0, r3, r0 +/* 803114C4 0030D124 7C 06 02 14 */ add r0, r6, r0 +/* 803114C8 0030D128 7C 1D 00 40 */ cmplw r29, r0 +/* 803114CC 0030D12C 41 82 00 10 */ beq lbl_803114DC +/* 803114D0 0030D130 A0 18 00 00 */ lhz r0, 0(r24) +/* 803114D4 0030D134 7C 05 02 14 */ add r0, r5, r0 +/* 803114D8 0030D138 90 04 00 08 */ stw r0, 8(r4) +lbl_803114DC: +/* 803114DC 0030D13C A0 78 00 00 */ lhz r3, 0(r24) +/* 803114E0 0030D140 38 03 FF FF */ addi r0, r3, -1 +/* 803114E4 0030D144 7F E5 00 38 */ and r5, r31, r0 +/* 803114E8 0030D148 7C 05 00 40 */ cmplw r5, r0 +/* 803114EC 0030D14C 40 82 00 C4 */ bne lbl_803115B0 +/* 803114F0 0030D150 80 7B 00 00 */ lwz r3, 0(r27) +/* 803114F4 0030D154 38 DD 00 01 */ addi r6, r29, 1 +/* 803114F8 0030D158 80 63 00 08 */ lwz r3, 8(r3) +/* 803114FC 0030D15C 7C 03 28 AE */ lbzx r0, r3, r5 +/* 80311500 0030D160 90 1A 00 00 */ stw r0, 0(r26) +/* 80311504 0030D164 80 9B 00 00 */ lwz r4, 0(r27) +/* 80311508 0030D168 80 E4 00 18 */ lwz r7, 0x18(r4) +/* 8031150C 0030D16C 7C 07 30 40 */ cmplw r7, r6 +/* 80311510 0030D170 41 81 00 14 */ bgt lbl_80311524 +/* 80311514 0030D174 80 18 16 00 */ lwz r0, 0x1600(r24) +/* 80311518 0030D178 7C 07 02 14 */ add r0, r7, r0 +/* 8031151C 0030D17C 7C 00 30 40 */ cmplw r0, r6 +/* 80311520 0030D180 41 81 00 44 */ bgt lbl_80311564 +lbl_80311524: +/* 80311524 0030D184 A0 04 00 02 */ lhz r0, 2(r4) +/* 80311528 0030D188 28 00 00 01 */ cmplwi r0, 1 +/* 8031152C 0030D18C 40 82 00 18 */ bne lbl_80311544 +/* 80311530 0030D190 7F 03 C3 78 */ mr r3, r24 +/* 80311534 0030D194 4B FF E9 35 */ bl func_8030FE68 +/* 80311538 0030D198 2C 03 00 00 */ cmpwi r3, 0 +/* 8031153C 0030D19C 41 82 00 08 */ beq lbl_80311544 +/* 80311540 0030D1A0 48 00 00 D0 */ b lbl_80311610 +lbl_80311544: +/* 80311544 0030D1A4 7F 03 C3 78 */ mr r3, r24 +/* 80311548 0030D1A8 7F 65 DB 78 */ mr r5, r27 +/* 8031154C 0030D1AC 38 9D 00 01 */ addi r4, r29, 1 +/* 80311550 0030D1B0 4B FF 92 FD */ bl VFiPFCACHE_ReadFATPage +/* 80311554 0030D1B4 2C 03 00 00 */ cmpwi r3, 0 +/* 80311558 0030D1B8 7C 7E 1B 78 */ mr r30, r3 +/* 8031155C 0030D1BC 41 82 00 34 */ beq lbl_80311590 +/* 80311560 0030D1C0 48 00 00 B0 */ b lbl_80311610 +lbl_80311564: +/* 80311564 0030D1C4 80 64 00 04 */ lwz r3, 4(r4) +/* 80311568 0030D1C8 80 A4 00 08 */ lwz r5, 8(r4) +/* 8031156C 0030D1CC 88 18 00 20 */ lbz r0, 0x20(r24) +/* 80311570 0030D1D0 7C 63 28 50 */ subf r3, r3, r5 +/* 80311574 0030D1D4 7C 60 06 30 */ sraw r0, r3, r0 +/* 80311578 0030D1D8 7C 07 02 14 */ add r0, r7, r0 +/* 8031157C 0030D1DC 7C 06 00 40 */ cmplw r6, r0 +/* 80311580 0030D1E0 41 82 00 10 */ beq lbl_80311590 +/* 80311584 0030D1E4 A0 18 00 00 */ lhz r0, 0(r24) +/* 80311588 0030D1E8 7C 05 02 14 */ add r0, r5, r0 +/* 8031158C 0030D1EC 90 04 00 08 */ stw r0, 8(r4) +lbl_80311590: +/* 80311590 0030D1F0 80 7B 00 00 */ lwz r3, 0(r27) +/* 80311594 0030D1F4 80 9A 00 00 */ lwz r4, 0(r26) +/* 80311598 0030D1F8 80 63 00 08 */ lwz r3, 8(r3) +/* 8031159C 0030D1FC 88 03 00 00 */ lbz r0, 0(r3) +/* 803115A0 0030D200 54 00 40 2E */ slwi r0, r0, 8 +/* 803115A4 0030D204 7C 04 02 14 */ add r0, r4, r0 +/* 803115A8 0030D208 90 1A 00 00 */ stw r0, 0(r26) +/* 803115AC 0030D20C 48 00 00 24 */ b lbl_803115D0 +lbl_803115B0: +/* 803115B0 0030D210 80 7B 00 00 */ lwz r3, 0(r27) +/* 803115B4 0030D214 80 83 00 08 */ lwz r4, 8(r3) +/* 803115B8 0030D218 7C 64 2A 14 */ add r3, r4, r5 +/* 803115BC 0030D21C 7C 04 28 AE */ lbzx r0, r4, r5 +/* 803115C0 0030D220 88 63 00 01 */ lbz r3, 1(r3) +/* 803115C4 0030D224 54 63 40 2E */ slwi r3, r3, 8 +/* 803115C8 0030D228 7C 03 02 14 */ add r0, r3, r0 +/* 803115CC 0030D22C 90 1A 00 00 */ stw r0, 0(r26) +lbl_803115D0: +/* 803115D0 0030D230 2C 1E 00 00 */ cmpwi r30, 0 +/* 803115D4 0030D234 41 82 00 14 */ beq lbl_803115E8 +/* 803115D8 0030D238 38 00 FF FF */ li r0, -1 +/* 803115DC 0030D23C 7F C3 F3 78 */ mr r3, r30 +/* 803115E0 0030D240 90 1A 00 00 */ stw r0, 0(r26) +/* 803115E4 0030D244 48 00 00 2C */ b lbl_80311610 +lbl_803115E8: +/* 803115E8 0030D248 57 20 07 FF */ clrlwi. r0, r25, 0x1f +/* 803115EC 0030D24C 41 82 00 14 */ beq lbl_80311600 +/* 803115F0 0030D250 80 1A 00 00 */ lwz r0, 0(r26) +/* 803115F4 0030D254 54 00 E1 3E */ srwi r0, r0, 4 +/* 803115F8 0030D258 90 1A 00 00 */ stw r0, 0(r26) +/* 803115FC 0030D25C 48 00 00 10 */ b lbl_8031160C +lbl_80311600: +/* 80311600 0030D260 80 1A 00 00 */ lwz r0, 0(r26) +/* 80311604 0030D264 54 00 05 3E */ clrlwi r0, r0, 0x14 +/* 80311608 0030D268 90 1A 00 00 */ stw r0, 0(r26) +lbl_8031160C: +/* 8031160C 0030D26C 38 60 00 00 */ li r3, 0 +lbl_80311610: +/* 80311610 0030D270 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311614 0030D274 4B EB 5B 55 */ bl _restgpr_24 +/* 80311618 0030D278 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031161C 0030D27C 7C 08 03 A6 */ mtlr r0 +/* 80311620 0030D280 38 21 00 30 */ addi r1, r1, 0x30 +/* 80311624 0030D284 4E 80 00 20 */ blr + +.global func_80311628 +func_80311628: +/* 80311628 0030D288 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031162C 0030D28C 7C 08 02 A6 */ mflr r0 +/* 80311630 0030D290 2C 03 00 00 */ cmpwi r3, 0 +/* 80311634 0030D294 90 01 00 24 */ stw r0, 0x24(r1) +/* 80311638 0030D298 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031163C 0030D29C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80311640 0030D2A0 7C BE 2B 78 */ mr r30, r5 +/* 80311644 0030D2A4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80311648 0030D2A8 7C 7D 1B 78 */ mr r29, r3 +/* 8031164C 0030D2AC 93 81 00 10 */ stw r28, 0x10(r1) +/* 80311650 0030D2B0 40 82 00 0C */ bne lbl_8031165C +/* 80311654 0030D2B4 38 60 00 0A */ li r3, 0xa +/* 80311658 0030D2B8 48 00 01 54 */ b lbl_803117AC +lbl_8031165C: +/* 8031165C 0030D2BC 28 04 00 02 */ cmplwi r4, 2 +/* 80311660 0030D2C0 41 80 00 14 */ blt lbl_80311674 +/* 80311664 0030D2C4 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80311668 0030D2C8 38 05 00 02 */ addi r0, r5, 2 +/* 8031166C 0030D2CC 7C 04 00 40 */ cmplw r4, r0 +/* 80311670 0030D2D0 41 80 00 1C */ blt lbl_8031168C +lbl_80311674: +/* 80311674 0030D2D4 2C 04 00 00 */ cmpwi r4, 0 +/* 80311678 0030D2D8 41 82 00 14 */ beq lbl_8031168C +/* 8031167C 0030D2DC 28 04 00 01 */ cmplwi r4, 1 +/* 80311680 0030D2E0 41 82 00 0C */ beq lbl_8031168C +/* 80311684 0030D2E4 38 60 00 0E */ li r3, 0xe +/* 80311688 0030D2E8 48 00 01 24 */ b lbl_803117AC +lbl_8031168C: +/* 8031168C 0030D2EC 54 80 07 FF */ clrlwi. r0, r4, 0x1f +/* 80311690 0030D2F0 7C 85 0E 70 */ srawi r5, r4, 1 +/* 80311694 0030D2F4 7C 04 2A 14 */ add r0, r4, r5 +/* 80311698 0030D2F8 A0 83 00 00 */ lhz r4, 0(r3) +/* 8031169C 0030D2FC 88 A3 00 20 */ lbz r5, 0x20(r3) +/* 803116A0 0030D300 54 07 04 3E */ clrlwi r7, r0, 0x10 +/* 803116A4 0030D304 81 03 00 28 */ lwz r8, 0x28(r3) +/* 803116A8 0030D308 7C E0 2E 30 */ sraw r0, r7, r5 +/* 803116AC 0030D30C 38 C4 FF FF */ addi r6, r4, -1 +/* 803116B0 0030D310 7C 08 02 14 */ add r0, r8, r0 +/* 803116B4 0030D314 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 803116B8 0030D318 7C FC 30 38 */ and r28, r7, r6 +/* 803116BC 0030D31C 41 82 00 40 */ beq lbl_803116FC +/* 803116C0 0030D320 7F A3 EB 78 */ mr r3, r29 +/* 803116C4 0030D324 7F E5 FB 78 */ mr r5, r31 +/* 803116C8 0030D328 38 81 00 08 */ addi r4, r1, 8 +/* 803116CC 0030D32C 57 86 04 3E */ clrlwi r6, r28, 0x10 +/* 803116D0 0030D330 38 E0 00 01 */ li r7, 1 +/* 803116D4 0030D334 48 00 72 9D */ bl func_80318970 +/* 803116D8 0030D338 2C 03 00 00 */ cmpwi r3, 0 +/* 803116DC 0030D33C 41 82 00 08 */ beq lbl_803116E4 +/* 803116E0 0030D340 48 00 00 CC */ b lbl_803117AC +lbl_803116E4: +/* 803116E4 0030D344 88 01 00 08 */ lbz r0, 8(r1) +/* 803116E8 0030D348 57 C3 23 36 */ rlwinm r3, r30, 4, 0xc, 0x1b +/* 803116EC 0030D34C 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 803116F0 0030D350 7C 03 02 14 */ add r0, r3, r0 +/* 803116F4 0030D354 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 803116F8 0030D358 48 00 00 4C */ b lbl_80311744 +lbl_803116FC: +/* 803116FC 0030D35C 38 E7 00 01 */ addi r7, r7, 1 +/* 80311700 0030D360 7F A3 EB 78 */ mr r3, r29 +/* 80311704 0030D364 7C E0 2E 30 */ sraw r0, r7, r5 +/* 80311708 0030D368 38 81 00 08 */ addi r4, r1, 8 +/* 8031170C 0030D36C 7C A8 02 14 */ add r5, r8, r0 +/* 80311710 0030D370 7C E0 30 38 */ and r0, r7, r6 +/* 80311714 0030D374 38 E0 00 01 */ li r7, 1 +/* 80311718 0030D378 54 A5 04 3E */ clrlwi r5, r5, 0x10 +/* 8031171C 0030D37C 54 06 04 3E */ clrlwi r6, r0, 0x10 +/* 80311720 0030D380 48 00 72 51 */ bl func_80318970 +/* 80311724 0030D384 2C 03 00 00 */ cmpwi r3, 0 +/* 80311728 0030D388 41 82 00 08 */ beq lbl_80311730 +/* 8031172C 0030D38C 48 00 00 80 */ b lbl_803117AC +lbl_80311730: +/* 80311730 0030D390 88 61 00 08 */ lbz r3, 8(r1) +/* 80311734 0030D394 57 C0 05 3E */ clrlwi r0, r30, 0x14 +/* 80311738 0030D398 54 63 44 26 */ rlwinm r3, r3, 8, 0x10, 0x13 +/* 8031173C 0030D39C 7C 03 02 14 */ add r0, r3, r0 +/* 80311740 0030D3A0 54 03 04 3E */ clrlwi r3, r0, 0x10 +lbl_80311744: +/* 80311744 0030D3A4 38 01 00 08 */ addi r0, r1, 8 +/* 80311748 0030D3A8 57 86 04 3E */ clrlwi r6, r28, 0x10 +/* 8031174C 0030D3AC 7C 60 07 2C */ sthbrx r3, 0, r0 +/* 80311750 0030D3B0 A0 7D 00 00 */ lhz r3, 0(r29) +/* 80311754 0030D3B4 38 03 FF FF */ addi r0, r3, -1 +/* 80311758 0030D3B8 7C 06 00 00 */ cmpw r6, r0 +/* 8031175C 0030D3BC 40 80 00 1C */ bge lbl_80311778 +/* 80311760 0030D3C0 7F A3 EB 78 */ mr r3, r29 +/* 80311764 0030D3C4 7F E5 FB 78 */ mr r5, r31 +/* 80311768 0030D3C8 38 81 00 08 */ addi r4, r1, 8 +/* 8031176C 0030D3CC 38 E0 00 02 */ li r7, 2 +/* 80311770 0030D3D0 48 00 75 99 */ bl func_80318D08 +/* 80311774 0030D3D4 48 00 00 38 */ b lbl_803117AC +lbl_80311778: +/* 80311778 0030D3D8 7F A3 EB 78 */ mr r3, r29 +/* 8031177C 0030D3DC 7F E5 FB 78 */ mr r5, r31 +/* 80311780 0030D3E0 38 81 00 08 */ addi r4, r1, 8 +/* 80311784 0030D3E4 38 E0 00 01 */ li r7, 1 +/* 80311788 0030D3E8 48 00 75 81 */ bl func_80318D08 +/* 8031178C 0030D3EC 2C 03 00 00 */ cmpwi r3, 0 +/* 80311790 0030D3F0 40 82 00 1C */ bne lbl_803117AC +/* 80311794 0030D3F4 7F A3 EB 78 */ mr r3, r29 +/* 80311798 0030D3F8 38 81 00 09 */ addi r4, r1, 9 +/* 8031179C 0030D3FC 38 BF 00 01 */ addi r5, r31, 1 +/* 803117A0 0030D400 38 C0 00 00 */ li r6, 0 +/* 803117A4 0030D404 38 E0 00 01 */ li r7, 1 +/* 803117A8 0030D408 48 00 75 61 */ bl func_80318D08 +lbl_803117AC: +/* 803117AC 0030D40C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803117B0 0030D410 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803117B4 0030D414 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803117B8 0030D418 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 803117BC 0030D41C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 803117C0 0030D420 7C 08 03 A6 */ mtlr r0 +/* 803117C4 0030D424 38 21 00 20 */ addi r1, r1, 0x20 +/* 803117C8 0030D428 4E 80 00 20 */ blr + +.global func_803117CC +func_803117CC: +/* 803117CC 0030D42C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803117D0 0030D430 7C 08 02 A6 */ mflr r0 +/* 803117D4 0030D434 90 01 00 34 */ stw r0, 0x34(r1) +/* 803117D8 0030D438 39 61 00 30 */ addi r11, r1, 0x30 +/* 803117DC 0030D43C 4B EB 59 41 */ bl _savegpr_24 +/* 803117E0 0030D440 2C 03 00 00 */ cmpwi r3, 0 +/* 803117E4 0030D444 7C 79 1B 78 */ mr r25, r3 +/* 803117E8 0030D448 7C 9A 23 78 */ mr r26, r4 +/* 803117EC 0030D44C 7C BB 2B 78 */ mr r27, r5 +/* 803117F0 0030D450 7C DC 33 78 */ mr r28, r6 +/* 803117F4 0030D454 3B C0 00 00 */ li r30, 0 +/* 803117F8 0030D458 40 82 00 0C */ bne lbl_80311804 +/* 803117FC 0030D45C 38 60 00 0A */ li r3, 0xa +/* 80311800 0030D460 48 00 04 40 */ b lbl_80311C40 +lbl_80311804: +/* 80311804 0030D464 28 04 00 02 */ cmplwi r4, 2 +/* 80311808 0030D468 41 80 00 14 */ blt lbl_8031181C +/* 8031180C 0030D46C 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80311810 0030D470 38 05 00 02 */ addi r0, r5, 2 +/* 80311814 0030D474 7C 04 00 40 */ cmplw r4, r0 +/* 80311818 0030D478 41 80 00 1C */ blt lbl_80311834 +lbl_8031181C: +/* 8031181C 0030D47C 2C 04 00 00 */ cmpwi r4, 0 +/* 80311820 0030D480 41 82 00 14 */ beq lbl_80311834 +/* 80311824 0030D484 28 04 00 01 */ cmplwi r4, 1 +/* 80311828 0030D488 41 82 00 0C */ beq lbl_80311834 +/* 8031182C 0030D48C 38 60 00 0E */ li r3, 0xe +/* 80311830 0030D490 48 00 04 10 */ b lbl_80311C40 +lbl_80311834: +/* 80311834 0030D494 54 80 FC 7E */ rlwinm r0, r4, 0x1f, 0x11, 0x1f +/* 80311838 0030D498 88 E3 00 20 */ lbz r7, 0x20(r3) +/* 8031183C 0030D49C 7C 04 02 14 */ add r0, r4, r0 +/* 80311840 0030D4A0 80 A6 00 00 */ lwz r5, 0(r6) +/* 80311844 0030D4A4 54 06 04 3E */ clrlwi r6, r0, 0x10 +/* 80311848 0030D4A8 80 83 00 28 */ lwz r4, 0x28(r3) +/* 8031184C 0030D4AC 7C C0 3C 30 */ srw r0, r6, r7 +/* 80311850 0030D4B0 A1 03 00 00 */ lhz r8, 0(r3) +/* 80311854 0030D4B4 7C 04 02 14 */ add r0, r4, r0 +/* 80311858 0030D4B8 80 85 00 18 */ lwz r4, 0x18(r5) +/* 8031185C 0030D4BC 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 80311860 0030D4C0 7C 04 E8 40 */ cmplw r4, r29 +/* 80311864 0030D4C4 38 08 FF FF */ addi r0, r8, -1 +/* 80311868 0030D4C8 7C DF 00 38 */ and r31, r6, r0 +/* 8031186C 0030D4CC 41 81 00 14 */ bgt lbl_80311880 +/* 80311870 0030D4D0 80 03 16 00 */ lwz r0, 0x1600(r3) +/* 80311874 0030D4D4 7C 04 02 14 */ add r0, r4, r0 +/* 80311878 0030D4D8 7C 00 E8 40 */ cmplw r0, r29 +/* 8031187C 0030D4DC 41 81 00 B4 */ bgt lbl_80311930 +lbl_80311880: +/* 80311880 0030D4E0 7F 23 CB 78 */ mr r3, r25 +/* 80311884 0030D4E4 7C A4 2B 78 */ mr r4, r5 +/* 80311888 0030D4E8 4B FF E5 E1 */ bl func_8030FE68 +/* 8031188C 0030D4EC 2C 03 00 00 */ cmpwi r3, 0 +/* 80311890 0030D4F0 41 82 00 08 */ beq lbl_80311898 +/* 80311894 0030D4F4 48 00 03 AC */ b lbl_80311C40 +lbl_80311898: +/* 80311898 0030D4F8 A0 79 00 18 */ lhz r3, 0x18(r25) +/* 8031189C 0030D4FC 3B 00 00 01 */ li r24, 1 +/* 803118A0 0030D500 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 +/* 803118A4 0030D504 41 82 00 08 */ beq lbl_803118AC +/* 803118A8 0030D508 54 78 07 7E */ clrlwi r24, r3, 0x1d +lbl_803118AC: +/* 803118AC 0030D50C 7F 23 CB 78 */ mr r3, r25 +/* 803118B0 0030D510 7F A4 EB 78 */ mr r4, r29 +/* 803118B4 0030D514 7F 85 E3 78 */ mr r5, r28 +/* 803118B8 0030D518 4B FF 8F 95 */ bl VFiPFCACHE_ReadFATPage +/* 803118BC 0030D51C 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 803118C0 0030D520 7C 7E 1B 78 */ mr r30, r3 +/* 803118C4 0030D524 40 82 00 50 */ bne lbl_80311914 +/* 803118C8 0030D528 81 99 18 90 */ lwz r12, 0x1890(r25) +/* 803118CC 0030D52C 2C 0C 00 00 */ cmpwi r12, 0 +/* 803118D0 0030D530 41 82 00 44 */ beq lbl_80311914 +/* 803118D4 0030D534 80 79 18 70 */ lwz r3, 0x1870(r25) +/* 803118D8 0030D538 7D 89 03 A6 */ mtctr r12 +/* 803118DC 0030D53C 4E 80 04 21 */ bctrl +/* 803118E0 0030D540 2C 03 00 00 */ cmpwi r3, 0 +/* 803118E4 0030D544 41 82 00 40 */ beq lbl_80311924 +/* 803118E8 0030D548 2C 03 00 01 */ cmpwi r3, 1 +/* 803118EC 0030D54C 40 82 00 28 */ bne lbl_80311914 +/* 803118F0 0030D550 88 19 00 22 */ lbz r0, 0x22(r25) +/* 803118F4 0030D554 28 00 00 02 */ cmplwi r0, 2 +/* 803118F8 0030D558 41 80 00 1C */ blt lbl_80311914 +/* 803118FC 0030D55C 7C 18 00 40 */ cmplw r24, r0 +/* 80311900 0030D560 40 80 00 14 */ bge lbl_80311914 +/* 80311904 0030D564 80 19 00 0C */ lwz r0, 0xc(r25) +/* 80311908 0030D568 3B 18 00 01 */ addi r24, r24, 1 +/* 8031190C 0030D56C 7F BD 02 14 */ add r29, r29, r0 +/* 80311910 0030D570 48 00 00 14 */ b lbl_80311924 +lbl_80311914: +/* 80311914 0030D574 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311918 0030D578 41 82 00 0C */ beq lbl_80311924 +/* 8031191C 0030D57C 7F C3 F3 78 */ mr r3, r30 +/* 80311920 0030D580 48 00 03 20 */ b lbl_80311C40 +lbl_80311924: +/* 80311924 0030D584 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311928 0030D588 40 82 FF 84 */ bne lbl_803118AC +/* 8031192C 0030D58C 48 00 00 28 */ b lbl_80311954 +lbl_80311930: +/* 80311930 0030D590 80 05 00 04 */ lwz r0, 4(r5) +/* 80311934 0030D594 80 65 00 08 */ lwz r3, 8(r5) +/* 80311938 0030D598 7C 00 18 50 */ subf r0, r0, r3 +/* 8031193C 0030D59C 7C 00 3E 30 */ sraw r0, r0, r7 +/* 80311940 0030D5A0 7C 04 02 14 */ add r0, r4, r0 +/* 80311944 0030D5A4 7C 1D 00 40 */ cmplw r29, r0 +/* 80311948 0030D5A8 41 82 00 0C */ beq lbl_80311954 +/* 8031194C 0030D5AC 7C 03 42 14 */ add r0, r3, r8 +/* 80311950 0030D5B0 90 05 00 08 */ stw r0, 8(r5) +lbl_80311954: +/* 80311954 0030D5B4 57 40 07 FF */ clrlwi. r0, r26, 0x1f +/* 80311958 0030D5B8 41 82 01 70 */ beq lbl_80311AC8 +/* 8031195C 0030D5BC 80 9C 00 00 */ lwz r4, 0(r28) +/* 80311960 0030D5C0 57 E3 04 3E */ clrlwi r3, r31, 0x10 +/* 80311964 0030D5C4 80 84 00 08 */ lwz r4, 8(r4) +/* 80311968 0030D5C8 7C 04 18 AE */ lbzx r0, r4, r3 +/* 8031196C 0030D5CC 54 00 07 3E */ clrlwi r0, r0, 0x1c +/* 80311970 0030D5D0 53 60 26 36 */ rlwimi r0, r27, 4, 0x18, 0x1b +/* 80311974 0030D5D4 7C 04 19 AE */ stbx r0, r4, r3 +/* 80311978 0030D5D8 80 7C 00 00 */ lwz r3, 0(r28) +/* 8031197C 0030D5DC 4B FF 8C 75 */ bl VFiPFCACHE_UpdateModifiedSector +/* 80311980 0030D5E0 A1 19 00 00 */ lhz r8, 0(r25) +/* 80311984 0030D5E4 57 E5 04 3E */ clrlwi r5, r31, 0x10 +/* 80311988 0030D5E8 38 08 FF FF */ addi r0, r8, -1 +/* 8031198C 0030D5EC 7C 05 00 40 */ cmplw r5, r0 +/* 80311990 0030D5F0 40 82 01 20 */ bne lbl_80311AB0 +/* 80311994 0030D5F4 80 9C 00 00 */ lwz r4, 0(r28) +/* 80311998 0030D5F8 38 DD 00 01 */ addi r6, r29, 1 +/* 8031199C 0030D5FC 80 E4 00 18 */ lwz r7, 0x18(r4) +/* 803119A0 0030D600 7C 07 30 40 */ cmplw r7, r6 +/* 803119A4 0030D604 41 81 00 14 */ bgt lbl_803119B8 +/* 803119A8 0030D608 80 19 16 00 */ lwz r0, 0x1600(r25) +/* 803119AC 0030D60C 7C 07 02 14 */ add r0, r7, r0 +/* 803119B0 0030D610 7C 00 30 40 */ cmplw r0, r6 +/* 803119B4 0030D614 41 81 00 B8 */ bgt lbl_80311A6C +lbl_803119B8: +/* 803119B8 0030D618 7F 23 CB 78 */ mr r3, r25 +/* 803119BC 0030D61C 4B FF E4 AD */ bl func_8030FE68 +/* 803119C0 0030D620 2C 03 00 00 */ cmpwi r3, 0 +/* 803119C4 0030D624 41 82 00 08 */ beq lbl_803119CC +/* 803119C8 0030D628 48 00 02 78 */ b lbl_80311C40 +lbl_803119CC: +/* 803119CC 0030D62C A0 79 00 18 */ lhz r3, 0x18(r25) +/* 803119D0 0030D630 3B 40 00 01 */ li r26, 1 +/* 803119D4 0030D634 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 +/* 803119D8 0030D638 41 82 00 08 */ beq lbl_803119E0 +/* 803119DC 0030D63C 54 7A 07 7E */ clrlwi r26, r3, 0x1d +lbl_803119E0: +/* 803119E0 0030D640 7F 23 CB 78 */ mr r3, r25 +/* 803119E4 0030D644 7F 85 E3 78 */ mr r5, r28 +/* 803119E8 0030D648 38 9D 00 01 */ addi r4, r29, 1 +/* 803119EC 0030D64C 4B FF 8E 61 */ bl VFiPFCACHE_ReadFATPage +/* 803119F0 0030D650 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 803119F4 0030D654 7C 7E 1B 78 */ mr r30, r3 +/* 803119F8 0030D658 40 82 00 50 */ bne lbl_80311A48 +/* 803119FC 0030D65C 81 99 18 90 */ lwz r12, 0x1890(r25) +/* 80311A00 0030D660 2C 0C 00 00 */ cmpwi r12, 0 +/* 80311A04 0030D664 41 82 00 44 */ beq lbl_80311A48 +/* 80311A08 0030D668 80 79 18 70 */ lwz r3, 0x1870(r25) +/* 80311A0C 0030D66C 7D 89 03 A6 */ mtctr r12 +/* 80311A10 0030D670 4E 80 04 21 */ bctrl +/* 80311A14 0030D674 2C 03 00 00 */ cmpwi r3, 0 +/* 80311A18 0030D678 41 82 00 40 */ beq lbl_80311A58 +/* 80311A1C 0030D67C 2C 03 00 01 */ cmpwi r3, 1 +/* 80311A20 0030D680 40 82 00 28 */ bne lbl_80311A48 +/* 80311A24 0030D684 88 19 00 22 */ lbz r0, 0x22(r25) +/* 80311A28 0030D688 28 00 00 02 */ cmplwi r0, 2 +/* 80311A2C 0030D68C 41 80 00 1C */ blt lbl_80311A48 +/* 80311A30 0030D690 7C 1A 00 40 */ cmplw r26, r0 +/* 80311A34 0030D694 40 80 00 14 */ bge lbl_80311A48 +/* 80311A38 0030D698 80 19 00 0C */ lwz r0, 0xc(r25) +/* 80311A3C 0030D69C 3B 5A 00 01 */ addi r26, r26, 1 +/* 80311A40 0030D6A0 7F BD 02 14 */ add r29, r29, r0 +/* 80311A44 0030D6A4 48 00 00 14 */ b lbl_80311A58 +lbl_80311A48: +/* 80311A48 0030D6A8 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311A4C 0030D6AC 41 82 00 0C */ beq lbl_80311A58 +/* 80311A50 0030D6B0 7F C3 F3 78 */ mr r3, r30 +/* 80311A54 0030D6B4 48 00 01 EC */ b lbl_80311C40 +lbl_80311A58: +/* 80311A58 0030D6B8 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311A5C 0030D6BC 40 82 FF 84 */ bne lbl_803119E0 +/* 80311A60 0030D6C0 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311A64 0030D6C4 4B FF 8B 8D */ bl VFiPFCACHE_UpdateModifiedSector +/* 80311A68 0030D6C8 48 00 00 34 */ b lbl_80311A9C +lbl_80311A6C: +/* 80311A6C 0030D6CC 80 64 00 04 */ lwz r3, 4(r4) +/* 80311A70 0030D6D0 80 A4 00 08 */ lwz r5, 8(r4) +/* 80311A74 0030D6D4 88 19 00 20 */ lbz r0, 0x20(r25) +/* 80311A78 0030D6D8 7C 63 28 50 */ subf r3, r3, r5 +/* 80311A7C 0030D6DC 7C 60 06 30 */ sraw r0, r3, r0 +/* 80311A80 0030D6E0 7C 07 02 14 */ add r0, r7, r0 +/* 80311A84 0030D6E4 7C 06 00 40 */ cmplw r6, r0 +/* 80311A88 0030D6E8 41 82 00 14 */ beq lbl_80311A9C +/* 80311A8C 0030D6EC 7C 05 42 14 */ add r0, r5, r8 +/* 80311A90 0030D6F0 90 04 00 08 */ stw r0, 8(r4) +/* 80311A94 0030D6F4 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311A98 0030D6F8 4B FF 8B 59 */ bl VFiPFCACHE_UpdateModifiedSector +lbl_80311A9C: +/* 80311A9C 0030D6FC 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311AA0 0030D700 57 60 E6 3E */ rlwinm r0, r27, 0x1c, 0x18, 0x1f +/* 80311AA4 0030D704 80 63 00 08 */ lwz r3, 8(r3) +/* 80311AA8 0030D708 98 03 00 00 */ stb r0, 0(r3) +/* 80311AAC 0030D70C 48 00 01 90 */ b lbl_80311C3C +lbl_80311AB0: +/* 80311AB0 0030D710 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311AB4 0030D714 57 64 E6 3E */ rlwinm r4, r27, 0x1c, 0x18, 0x1f +/* 80311AB8 0030D718 80 03 00 08 */ lwz r0, 8(r3) +/* 80311ABC 0030D71C 7C 65 02 14 */ add r3, r5, r0 +/* 80311AC0 0030D720 98 83 00 01 */ stb r4, 1(r3) +/* 80311AC4 0030D724 48 00 01 78 */ b lbl_80311C3C +lbl_80311AC8: +/* 80311AC8 0030D728 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311ACC 0030D72C 57 E0 04 3E */ clrlwi r0, r31, 0x10 +/* 80311AD0 0030D730 80 63 00 08 */ lwz r3, 8(r3) +/* 80311AD4 0030D734 7F 63 01 AE */ stbx r27, r3, r0 +/* 80311AD8 0030D738 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311ADC 0030D73C 4B FF 8B 15 */ bl VFiPFCACHE_UpdateModifiedSector +/* 80311AE0 0030D740 A1 19 00 00 */ lhz r8, 0(r25) +/* 80311AE4 0030D744 57 E5 04 3E */ clrlwi r5, r31, 0x10 +/* 80311AE8 0030D748 38 08 FF FF */ addi r0, r8, -1 +/* 80311AEC 0030D74C 7C 05 00 40 */ cmplw r5, r0 +/* 80311AF0 0030D750 40 82 01 2C */ bne lbl_80311C1C +/* 80311AF4 0030D754 80 9C 00 00 */ lwz r4, 0(r28) +/* 80311AF8 0030D758 38 DD 00 01 */ addi r6, r29, 1 +/* 80311AFC 0030D75C 80 E4 00 18 */ lwz r7, 0x18(r4) +/* 80311B00 0030D760 7C 07 30 40 */ cmplw r7, r6 +/* 80311B04 0030D764 41 81 00 14 */ bgt lbl_80311B18 +/* 80311B08 0030D768 80 19 16 00 */ lwz r0, 0x1600(r25) +/* 80311B0C 0030D76C 7C 07 02 14 */ add r0, r7, r0 +/* 80311B10 0030D770 7C 00 30 40 */ cmplw r0, r6 +/* 80311B14 0030D774 41 81 00 B8 */ bgt lbl_80311BCC +lbl_80311B18: +/* 80311B18 0030D778 7F 23 CB 78 */ mr r3, r25 +/* 80311B1C 0030D77C 4B FF E3 4D */ bl func_8030FE68 +/* 80311B20 0030D780 2C 03 00 00 */ cmpwi r3, 0 +/* 80311B24 0030D784 41 82 00 08 */ beq lbl_80311B2C +/* 80311B28 0030D788 48 00 01 18 */ b lbl_80311C40 +lbl_80311B2C: +/* 80311B2C 0030D78C A0 79 00 18 */ lhz r3, 0x18(r25) +/* 80311B30 0030D790 3B 40 00 01 */ li r26, 1 +/* 80311B34 0030D794 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 +/* 80311B38 0030D798 41 82 00 08 */ beq lbl_80311B40 +/* 80311B3C 0030D79C 54 7A 07 7E */ clrlwi r26, r3, 0x1d +lbl_80311B40: +/* 80311B40 0030D7A0 7F 23 CB 78 */ mr r3, r25 +/* 80311B44 0030D7A4 7F 85 E3 78 */ mr r5, r28 +/* 80311B48 0030D7A8 38 9D 00 01 */ addi r4, r29, 1 +/* 80311B4C 0030D7AC 4B FF 8D 01 */ bl VFiPFCACHE_ReadFATPage +/* 80311B50 0030D7B0 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 80311B54 0030D7B4 7C 7E 1B 78 */ mr r30, r3 +/* 80311B58 0030D7B8 40 82 00 50 */ bne lbl_80311BA8 +/* 80311B5C 0030D7BC 81 99 18 90 */ lwz r12, 0x1890(r25) +/* 80311B60 0030D7C0 2C 0C 00 00 */ cmpwi r12, 0 +/* 80311B64 0030D7C4 41 82 00 44 */ beq lbl_80311BA8 +/* 80311B68 0030D7C8 80 79 18 70 */ lwz r3, 0x1870(r25) +/* 80311B6C 0030D7CC 7D 89 03 A6 */ mtctr r12 +/* 80311B70 0030D7D0 4E 80 04 21 */ bctrl +/* 80311B74 0030D7D4 2C 03 00 00 */ cmpwi r3, 0 +/* 80311B78 0030D7D8 41 82 00 40 */ beq lbl_80311BB8 +/* 80311B7C 0030D7DC 2C 03 00 01 */ cmpwi r3, 1 +/* 80311B80 0030D7E0 40 82 00 28 */ bne lbl_80311BA8 +/* 80311B84 0030D7E4 88 19 00 22 */ lbz r0, 0x22(r25) +/* 80311B88 0030D7E8 28 00 00 02 */ cmplwi r0, 2 +/* 80311B8C 0030D7EC 41 80 00 1C */ blt lbl_80311BA8 +/* 80311B90 0030D7F0 7C 1A 00 40 */ cmplw r26, r0 +/* 80311B94 0030D7F4 40 80 00 14 */ bge lbl_80311BA8 +/* 80311B98 0030D7F8 80 19 00 0C */ lwz r0, 0xc(r25) +/* 80311B9C 0030D7FC 3B 5A 00 01 */ addi r26, r26, 1 +/* 80311BA0 0030D800 7F BD 02 14 */ add r29, r29, r0 +/* 80311BA4 0030D804 48 00 00 14 */ b lbl_80311BB8 +lbl_80311BA8: +/* 80311BA8 0030D808 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311BAC 0030D80C 41 82 00 0C */ beq lbl_80311BB8 +/* 80311BB0 0030D810 7F C3 F3 78 */ mr r3, r30 +/* 80311BB4 0030D814 48 00 00 8C */ b lbl_80311C40 +lbl_80311BB8: +/* 80311BB8 0030D818 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311BBC 0030D81C 40 82 FF 84 */ bne lbl_80311B40 +/* 80311BC0 0030D820 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311BC4 0030D824 4B FF 8A 2D */ bl VFiPFCACHE_UpdateModifiedSector +/* 80311BC8 0030D828 48 00 00 34 */ b lbl_80311BFC +lbl_80311BCC: +/* 80311BCC 0030D82C 80 64 00 04 */ lwz r3, 4(r4) +/* 80311BD0 0030D830 80 A4 00 08 */ lwz r5, 8(r4) +/* 80311BD4 0030D834 88 19 00 20 */ lbz r0, 0x20(r25) +/* 80311BD8 0030D838 7C 63 28 50 */ subf r3, r3, r5 +/* 80311BDC 0030D83C 7C 60 06 30 */ sraw r0, r3, r0 +/* 80311BE0 0030D840 7C 07 02 14 */ add r0, r7, r0 +/* 80311BE4 0030D844 7C 06 00 40 */ cmplw r6, r0 +/* 80311BE8 0030D848 41 82 00 14 */ beq lbl_80311BFC +/* 80311BEC 0030D84C 7C 05 42 14 */ add r0, r5, r8 +/* 80311BF0 0030D850 90 04 00 08 */ stw r0, 8(r4) +/* 80311BF4 0030D854 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311BF8 0030D858 4B FF 89 F9 */ bl VFiPFCACHE_UpdateModifiedSector +lbl_80311BFC: +/* 80311BFC 0030D85C 80 7C 00 00 */ lwz r3, 0(r28) +/* 80311C00 0030D860 57 60 C6 3E */ rlwinm r0, r27, 0x18, 0x18, 0x1f +/* 80311C04 0030D864 80 83 00 08 */ lwz r4, 8(r3) +/* 80311C08 0030D868 88 64 00 00 */ lbz r3, 0(r4) +/* 80311C0C 0030D86C 54 63 06 36 */ rlwinm r3, r3, 0, 0x18, 0x1b +/* 80311C10 0030D870 7C 60 03 78 */ or r0, r3, r0 +/* 80311C14 0030D874 98 04 00 00 */ stb r0, 0(r4) +/* 80311C18 0030D878 48 00 00 24 */ b lbl_80311C3C +lbl_80311C1C: +/* 80311C1C 0030D87C 80 9C 00 00 */ lwz r4, 0(r28) +/* 80311C20 0030D880 57 63 C6 3E */ rlwinm r3, r27, 0x18, 0x18, 0x1f +/* 80311C24 0030D884 80 04 00 08 */ lwz r0, 8(r4) +/* 80311C28 0030D888 7C 85 02 14 */ add r4, r5, r0 +/* 80311C2C 0030D88C 88 04 00 01 */ lbz r0, 1(r4) +/* 80311C30 0030D890 54 00 06 36 */ rlwinm r0, r0, 0, 0x18, 0x1b +/* 80311C34 0030D894 7C 60 03 78 */ or r0, r3, r0 +/* 80311C38 0030D898 98 04 00 01 */ stb r0, 1(r4) +lbl_80311C3C: +/* 80311C3C 0030D89C 7F C3 F3 78 */ mr r3, r30 +lbl_80311C40: +/* 80311C40 0030D8A0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311C44 0030D8A4 4B EB 55 25 */ bl _restgpr_24 +/* 80311C48 0030D8A8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80311C4C 0030D8AC 7C 08 03 A6 */ mtlr r0 +/* 80311C50 0030D8B0 38 21 00 30 */ addi r1, r1, 0x30 +/* 80311C54 0030D8B4 4E 80 00 20 */ blr + +.global func_80311C58 +func_80311C58: +/* 80311C58 0030D8B8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80311C5C 0030D8BC 7C 08 02 A6 */ mflr r0 +/* 80311C60 0030D8C0 90 01 00 34 */ stw r0, 0x34(r1) +/* 80311C64 0030D8C4 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311C68 0030D8C8 4B EB 54 BD */ bl _savegpr_26 +/* 80311C6C 0030D8CC 2C 03 00 00 */ cmpwi r3, 0 +/* 80311C70 0030D8D0 7C 7D 1B 78 */ mr r29, r3 +/* 80311C74 0030D8D4 7C BE 2B 78 */ mr r30, r5 +/* 80311C78 0030D8D8 40 82 00 14 */ bne lbl_80311C8C +/* 80311C7C 0030D8DC 38 00 FF FF */ li r0, -1 +/* 80311C80 0030D8E0 38 60 00 0A */ li r3, 0xa +/* 80311C84 0030D8E4 90 05 00 00 */ stw r0, 0(r5) +/* 80311C88 0030D8E8 48 00 01 1C */ b lbl_80311DA4 +lbl_80311C8C: +/* 80311C8C 0030D8EC 28 04 00 02 */ cmplwi r4, 2 +/* 80311C90 0030D8F0 41 80 00 14 */ blt lbl_80311CA4 +/* 80311C94 0030D8F4 80 C3 00 34 */ lwz r6, 0x34(r3) +/* 80311C98 0030D8F8 38 06 00 02 */ addi r0, r6, 2 +/* 80311C9C 0030D8FC 7C 04 00 40 */ cmplw r4, r0 +/* 80311CA0 0030D900 41 80 00 24 */ blt lbl_80311CC4 +lbl_80311CA4: +/* 80311CA4 0030D904 2C 04 00 00 */ cmpwi r4, 0 +/* 80311CA8 0030D908 41 82 00 1C */ beq lbl_80311CC4 +/* 80311CAC 0030D90C 28 04 00 01 */ cmplwi r4, 1 +/* 80311CB0 0030D910 41 82 00 14 */ beq lbl_80311CC4 +/* 80311CB4 0030D914 38 00 FF FF */ li r0, -1 +/* 80311CB8 0030D918 38 60 00 0E */ li r3, 0xe +/* 80311CBC 0030D91C 90 05 00 00 */ stw r0, 0(r5) +/* 80311CC0 0030D920 48 00 00 E4 */ b lbl_80311DA4 +lbl_80311CC4: +/* 80311CC4 0030D924 A1 03 00 18 */ lhz r8, 0x18(r3) +/* 80311CC8 0030D928 54 87 08 3C */ slwi r7, r4, 1 +/* 80311CCC 0030D92C 88 A3 00 20 */ lbz r5, 0x20(r3) +/* 80311CD0 0030D930 3B E0 00 01 */ li r31, 1 +/* 80311CD4 0030D934 A0 83 00 00 */ lhz r4, 0(r3) +/* 80311CD8 0030D938 55 00 06 31 */ rlwinm. r0, r8, 0, 0x18, 0x18 +/* 80311CDC 0030D93C 80 C3 00 28 */ lwz r6, 0x28(r3) +/* 80311CE0 0030D940 7C E3 2C 30 */ srw r3, r7, r5 +/* 80311CE4 0030D944 38 04 FF FF */ addi r0, r4, -1 +/* 80311CE8 0030D948 7C 66 1A 14 */ add r3, r6, r3 +/* 80311CEC 0030D94C 7C E0 00 38 */ and r0, r7, r0 +/* 80311CF0 0030D950 54 7C 04 3E */ clrlwi r28, r3, 0x10 +/* 80311CF4 0030D954 54 1B 04 3E */ clrlwi r27, r0, 0x10 +/* 80311CF8 0030D958 41 82 00 08 */ beq lbl_80311D00 +/* 80311CFC 0030D95C 55 1F 07 7E */ clrlwi r31, r8, 0x1d +lbl_80311D00: +/* 80311D00 0030D960 7F A3 EB 78 */ mr r3, r29 +/* 80311D04 0030D964 7F 85 E3 78 */ mr r5, r28 +/* 80311D08 0030D968 7F 66 DB 78 */ mr r6, r27 +/* 80311D0C 0030D96C 38 81 00 08 */ addi r4, r1, 8 +/* 80311D10 0030D970 38 E0 00 02 */ li r7, 2 +/* 80311D14 0030D974 48 00 6C 5D */ bl func_80318970 +/* 80311D18 0030D978 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 80311D1C 0030D97C 7C 7A 1B 78 */ mr r26, r3 +/* 80311D20 0030D980 40 82 00 50 */ bne lbl_80311D70 +/* 80311D24 0030D984 81 9D 18 90 */ lwz r12, 0x1890(r29) +/* 80311D28 0030D988 2C 0C 00 00 */ cmpwi r12, 0 +/* 80311D2C 0030D98C 41 82 00 44 */ beq lbl_80311D70 +/* 80311D30 0030D990 80 7D 18 70 */ lwz r3, 0x1870(r29) +/* 80311D34 0030D994 7D 89 03 A6 */ mtctr r12 +/* 80311D38 0030D998 4E 80 04 21 */ bctrl +/* 80311D3C 0030D99C 2C 03 00 00 */ cmpwi r3, 0 +/* 80311D40 0030D9A0 41 82 00 48 */ beq lbl_80311D88 +/* 80311D44 0030D9A4 2C 03 00 01 */ cmpwi r3, 1 +/* 80311D48 0030D9A8 40 82 00 28 */ bne lbl_80311D70 +/* 80311D4C 0030D9AC 88 1D 00 22 */ lbz r0, 0x22(r29) +/* 80311D50 0030D9B0 28 00 00 02 */ cmplwi r0, 2 +/* 80311D54 0030D9B4 41 80 00 1C */ blt lbl_80311D70 +/* 80311D58 0030D9B8 7C 1F 00 40 */ cmplw r31, r0 +/* 80311D5C 0030D9BC 40 80 00 14 */ bge lbl_80311D70 +/* 80311D60 0030D9C0 80 1D 00 0C */ lwz r0, 0xc(r29) +/* 80311D64 0030D9C4 3B FF 00 01 */ addi r31, r31, 1 +/* 80311D68 0030D9C8 7F 9C 02 14 */ add r28, r28, r0 +/* 80311D6C 0030D9CC 48 00 00 1C */ b lbl_80311D88 +lbl_80311D70: +/* 80311D70 0030D9D0 2C 1A 00 00 */ cmpwi r26, 0 +/* 80311D74 0030D9D4 41 82 00 14 */ beq lbl_80311D88 +/* 80311D78 0030D9D8 38 00 FF FF */ li r0, -1 +/* 80311D7C 0030D9DC 7F 43 D3 78 */ mr r3, r26 +/* 80311D80 0030D9E0 90 1E 00 00 */ stw r0, 0(r30) +/* 80311D84 0030D9E4 48 00 00 20 */ b lbl_80311DA4 +lbl_80311D88: +/* 80311D88 0030D9E8 2C 1A 00 00 */ cmpwi r26, 0 +/* 80311D8C 0030D9EC 40 82 FF 74 */ bne lbl_80311D00 +/* 80311D90 0030D9F0 A0 81 00 08 */ lhz r4, 8(r1) +/* 80311D94 0030D9F4 38 60 00 00 */ li r3, 0 +/* 80311D98 0030D9F8 54 80 44 2E */ rlwinm r0, r4, 8, 0x10, 0x17 +/* 80311D9C 0030D9FC 50 80 C6 3E */ rlwimi r0, r4, 0x18, 0x18, 0x1f +/* 80311DA0 0030DA00 90 1E 00 00 */ stw r0, 0(r30) +lbl_80311DA4: +/* 80311DA4 0030DA04 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311DA8 0030DA08 4B EB 53 C9 */ bl _restgpr_26 +/* 80311DAC 0030DA0C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80311DB0 0030DA10 7C 08 03 A6 */ mtlr r0 +/* 80311DB4 0030DA14 38 21 00 30 */ addi r1, r1, 0x30 +/* 80311DB8 0030DA18 4E 80 00 20 */ blr + +.global func_80311DBC +func_80311DBC: +/* 80311DBC 0030DA1C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80311DC0 0030DA20 7C 08 02 A6 */ mflr r0 +/* 80311DC4 0030DA24 90 01 00 34 */ stw r0, 0x34(r1) +/* 80311DC8 0030DA28 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311DCC 0030DA2C 4B EB 53 55 */ bl _savegpr_25 +/* 80311DD0 0030DA30 2C 03 00 00 */ cmpwi r3, 0 +/* 80311DD4 0030DA34 7C 79 1B 78 */ mr r25, r3 +/* 80311DD8 0030DA38 7C BA 2B 78 */ mr r26, r5 +/* 80311DDC 0030DA3C 7C DB 33 78 */ mr r27, r6 +/* 80311DE0 0030DA40 3B C0 00 00 */ li r30, 0 +/* 80311DE4 0030DA44 40 82 00 0C */ bne lbl_80311DF0 +/* 80311DE8 0030DA48 38 60 00 0A */ li r3, 0xa +/* 80311DEC 0030DA4C 48 00 01 74 */ b lbl_80311F60 +lbl_80311DF0: +/* 80311DF0 0030DA50 28 04 00 02 */ cmplwi r4, 2 +/* 80311DF4 0030DA54 41 80 00 14 */ blt lbl_80311E08 +/* 80311DF8 0030DA58 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80311DFC 0030DA5C 38 05 00 02 */ addi r0, r5, 2 +/* 80311E00 0030DA60 7C 04 00 40 */ cmplw r4, r0 +/* 80311E04 0030DA64 41 80 00 1C */ blt lbl_80311E20 +lbl_80311E08: +/* 80311E08 0030DA68 2C 04 00 00 */ cmpwi r4, 0 +/* 80311E0C 0030DA6C 41 82 00 14 */ beq lbl_80311E20 +/* 80311E10 0030DA70 28 04 00 01 */ cmplwi r4, 1 +/* 80311E14 0030DA74 41 82 00 0C */ beq lbl_80311E20 +/* 80311E18 0030DA78 38 60 00 0E */ li r3, 0xe +/* 80311E1C 0030DA7C 48 00 01 44 */ b lbl_80311F60 +lbl_80311E20: +/* 80311E20 0030DA80 A0 A3 00 18 */ lhz r5, 0x18(r3) +/* 80311E24 0030DA84 54 9F 08 3C */ slwi r31, r4, 1 +/* 80311E28 0030DA88 88 E3 00 20 */ lbz r7, 0x20(r3) +/* 80311E2C 0030DA8C 3B 80 00 01 */ li r28, 1 +/* 80311E30 0030DA90 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 +/* 80311E34 0030DA94 80 83 00 28 */ lwz r4, 0x28(r3) +/* 80311E38 0030DA98 7F E0 3C 30 */ srw r0, r31, r7 +/* 80311E3C 0030DA9C 7C 04 02 14 */ add r0, r4, r0 +/* 80311E40 0030DAA0 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 80311E44 0030DAA4 41 82 00 08 */ beq lbl_80311E4C +/* 80311E48 0030DAA8 54 BC 07 7E */ clrlwi r28, r5, 0x1d +lbl_80311E4C: +/* 80311E4C 0030DAAC 80 86 00 00 */ lwz r4, 0(r6) +/* 80311E50 0030DAB0 80 C4 00 18 */ lwz r6, 0x18(r4) +/* 80311E54 0030DAB4 7C 06 E8 40 */ cmplw r6, r29 +/* 80311E58 0030DAB8 41 81 00 14 */ bgt lbl_80311E6C +/* 80311E5C 0030DABC 80 03 16 00 */ lwz r0, 0x1600(r3) +/* 80311E60 0030DAC0 7C 06 02 14 */ add r0, r6, r0 +/* 80311E64 0030DAC4 7C 00 E8 40 */ cmplw r0, r29 +/* 80311E68 0030DAC8 41 81 00 A8 */ bgt lbl_80311F10 +lbl_80311E6C: +/* 80311E6C 0030DACC A0 04 00 02 */ lhz r0, 2(r4) +/* 80311E70 0030DAD0 28 00 00 01 */ cmplwi r0, 1 +/* 80311E74 0030DAD4 40 82 00 18 */ bne lbl_80311E8C +/* 80311E78 0030DAD8 7F 23 CB 78 */ mr r3, r25 +/* 80311E7C 0030DADC 4B FF DF ED */ bl func_8030FE68 +/* 80311E80 0030DAE0 2C 03 00 00 */ cmpwi r3, 0 +/* 80311E84 0030DAE4 41 82 00 08 */ beq lbl_80311E8C +/* 80311E88 0030DAE8 48 00 00 D8 */ b lbl_80311F60 +lbl_80311E8C: +/* 80311E8C 0030DAEC 7F 23 CB 78 */ mr r3, r25 +/* 80311E90 0030DAF0 7F A4 EB 78 */ mr r4, r29 +/* 80311E94 0030DAF4 7F 65 DB 78 */ mr r5, r27 +/* 80311E98 0030DAF8 4B FF 89 B5 */ bl VFiPFCACHE_ReadFATPage +/* 80311E9C 0030DAFC 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 80311EA0 0030DB00 7C 7E 1B 78 */ mr r30, r3 +/* 80311EA4 0030DB04 40 82 00 50 */ bne lbl_80311EF4 +/* 80311EA8 0030DB08 81 99 18 90 */ lwz r12, 0x1890(r25) +/* 80311EAC 0030DB0C 2C 0C 00 00 */ cmpwi r12, 0 +/* 80311EB0 0030DB10 41 82 00 44 */ beq lbl_80311EF4 +/* 80311EB4 0030DB14 80 79 18 70 */ lwz r3, 0x1870(r25) +/* 80311EB8 0030DB18 7D 89 03 A6 */ mtctr r12 +/* 80311EBC 0030DB1C 4E 80 04 21 */ bctrl +/* 80311EC0 0030DB20 2C 03 00 00 */ cmpwi r3, 0 +/* 80311EC4 0030DB24 41 82 00 40 */ beq lbl_80311F04 +/* 80311EC8 0030DB28 2C 03 00 01 */ cmpwi r3, 1 +/* 80311ECC 0030DB2C 40 82 00 28 */ bne lbl_80311EF4 +/* 80311ED0 0030DB30 88 19 00 22 */ lbz r0, 0x22(r25) +/* 80311ED4 0030DB34 28 00 00 02 */ cmplwi r0, 2 +/* 80311ED8 0030DB38 41 80 00 1C */ blt lbl_80311EF4 +/* 80311EDC 0030DB3C 7C 1C 00 40 */ cmplw r28, r0 +/* 80311EE0 0030DB40 40 80 00 14 */ bge lbl_80311EF4 +/* 80311EE4 0030DB44 80 19 00 0C */ lwz r0, 0xc(r25) +/* 80311EE8 0030DB48 3B 9C 00 01 */ addi r28, r28, 1 +/* 80311EEC 0030DB4C 7F BD 02 14 */ add r29, r29, r0 +/* 80311EF0 0030DB50 48 00 00 14 */ b lbl_80311F04 +lbl_80311EF4: +/* 80311EF4 0030DB54 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311EF8 0030DB58 41 82 00 0C */ beq lbl_80311F04 +/* 80311EFC 0030DB5C 7F C3 F3 78 */ mr r3, r30 +/* 80311F00 0030DB60 48 00 00 60 */ b lbl_80311F60 +lbl_80311F04: +/* 80311F04 0030DB64 2C 1E 00 00 */ cmpwi r30, 0 +/* 80311F08 0030DB68 40 82 FF 84 */ bne lbl_80311E8C +/* 80311F0C 0030DB6C 48 00 00 2C */ b lbl_80311F38 +lbl_80311F10: +/* 80311F10 0030DB70 80 04 00 04 */ lwz r0, 4(r4) +/* 80311F14 0030DB74 80 A4 00 08 */ lwz r5, 8(r4) +/* 80311F18 0030DB78 7C 00 28 50 */ subf r0, r0, r5 +/* 80311F1C 0030DB7C 7C 00 3E 30 */ sraw r0, r0, r7 +/* 80311F20 0030DB80 7C 06 02 14 */ add r0, r6, r0 +/* 80311F24 0030DB84 7C 1D 00 40 */ cmplw r29, r0 +/* 80311F28 0030DB88 41 82 00 10 */ beq lbl_80311F38 +/* 80311F2C 0030DB8C A0 03 00 00 */ lhz r0, 0(r3) +/* 80311F30 0030DB90 7C 05 02 14 */ add r0, r5, r0 +/* 80311F34 0030DB94 90 04 00 08 */ stw r0, 8(r4) +lbl_80311F38: +/* 80311F38 0030DB98 A0 B9 00 00 */ lhz r5, 0(r25) +/* 80311F3C 0030DB9C 7F C3 F3 78 */ mr r3, r30 +/* 80311F40 0030DBA0 80 9B 00 00 */ lwz r4, 0(r27) +/* 80311F44 0030DBA4 38 05 FF FF */ addi r0, r5, -1 +/* 80311F48 0030DBA8 80 84 00 08 */ lwz r4, 8(r4) +/* 80311F4C 0030DBAC 7F E0 00 38 */ and r0, r31, r0 +/* 80311F50 0030DBB0 7C 84 02 2E */ lhzx r4, r4, r0 +/* 80311F54 0030DBB4 54 80 44 2E */ rlwinm r0, r4, 8, 0x10, 0x17 +/* 80311F58 0030DBB8 50 80 C6 3E */ rlwimi r0, r4, 0x18, 0x18, 0x1f +/* 80311F5C 0030DBBC 90 1A 00 00 */ stw r0, 0(r26) +lbl_80311F60: +/* 80311F60 0030DBC0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80311F64 0030DBC4 4B EB 52 09 */ bl _restgpr_25 +/* 80311F68 0030DBC8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80311F6C 0030DBCC 7C 08 03 A6 */ mtlr r0 +/* 80311F70 0030DBD0 38 21 00 30 */ addi r1, r1, 0x30 +/* 80311F74 0030DBD4 4E 80 00 20 */ blr + +.global func_80311F78 +func_80311F78: +/* 80311F78 0030DBD8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80311F7C 0030DBDC 7C 08 02 A6 */ mflr r0 +/* 80311F80 0030DBE0 2C 03 00 00 */ cmpwi r3, 0 +/* 80311F84 0030DBE4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80311F88 0030DBE8 40 82 00 0C */ bne lbl_80311F94 +/* 80311F8C 0030DBEC 38 60 00 0A */ li r3, 0xa +/* 80311F90 0030DBF0 48 00 00 70 */ b lbl_80312000 +lbl_80311F94: +/* 80311F94 0030DBF4 28 04 00 02 */ cmplwi r4, 2 +/* 80311F98 0030DBF8 41 80 00 14 */ blt lbl_80311FAC +/* 80311F9C 0030DBFC 80 C3 00 34 */ lwz r6, 0x34(r3) +/* 80311FA0 0030DC00 38 06 00 02 */ addi r0, r6, 2 +/* 80311FA4 0030DC04 7C 04 00 40 */ cmplw r4, r0 +/* 80311FA8 0030DC08 41 80 00 1C */ blt lbl_80311FC4 +lbl_80311FAC: +/* 80311FAC 0030DC0C 2C 04 00 00 */ cmpwi r4, 0 +/* 80311FB0 0030DC10 41 82 00 14 */ beq lbl_80311FC4 +/* 80311FB4 0030DC14 28 04 00 01 */ cmplwi r4, 1 +/* 80311FB8 0030DC18 41 82 00 0C */ beq lbl_80311FC4 +/* 80311FBC 0030DC1C 38 60 00 0E */ li r3, 0xe +/* 80311FC0 0030DC20 48 00 00 40 */ b lbl_80312000 +lbl_80311FC4: +/* 80311FC4 0030DC24 A0 C3 00 00 */ lhz r6, 0(r3) +/* 80311FC8 0030DC28 54 89 08 3C */ slwi r9, r4, 1 +/* 80311FCC 0030DC2C 88 E3 00 20 */ lbz r7, 0x20(r3) +/* 80311FD0 0030DC30 38 01 00 08 */ addi r0, r1, 8 +/* 80311FD4 0030DC34 38 86 FF FF */ addi r4, r6, -1 +/* 80311FD8 0030DC38 81 03 00 28 */ lwz r8, 0x28(r3) +/* 80311FDC 0030DC3C 7D 26 3C 30 */ srw r6, r9, r7 +/* 80311FE0 0030DC40 38 E0 00 02 */ li r7, 2 +/* 80311FE4 0030DC44 7C C8 32 14 */ add r6, r8, r6 +/* 80311FE8 0030DC48 7C A0 07 2C */ sthbrx r5, 0, r0 +/* 80311FEC 0030DC4C 7D 24 20 38 */ and r4, r9, r4 +/* 80311FF0 0030DC50 54 C5 04 3E */ clrlwi r5, r6, 0x10 +/* 80311FF4 0030DC54 54 86 04 3E */ clrlwi r6, r4, 0x10 +/* 80311FF8 0030DC58 38 81 00 08 */ addi r4, r1, 8 +/* 80311FFC 0030DC5C 48 00 6D 0D */ bl func_80318D08 +lbl_80312000: +/* 80312000 0030DC60 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80312004 0030DC64 7C 08 03 A6 */ mtlr r0 +/* 80312008 0030DC68 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031200C 0030DC6C 4E 80 00 20 */ blr + +.global func_80312010 +func_80312010: +/* 80312010 0030DC70 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80312014 0030DC74 7C 08 02 A6 */ mflr r0 +/* 80312018 0030DC78 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031201C 0030DC7C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312020 0030DC80 4B EB 51 01 */ bl _savegpr_25 +/* 80312024 0030DC84 2C 03 00 00 */ cmpwi r3, 0 +/* 80312028 0030DC88 7C 7A 1B 78 */ mr r26, r3 +/* 8031202C 0030DC8C 7C BB 2B 78 */ mr r27, r5 +/* 80312030 0030DC90 7C DC 33 78 */ mr r28, r6 +/* 80312034 0030DC94 3B C0 00 00 */ li r30, 0 +/* 80312038 0030DC98 40 82 00 0C */ bne lbl_80312044 +/* 8031203C 0030DC9C 38 60 00 0A */ li r3, 0xa +/* 80312040 0030DCA0 48 00 01 78 */ b lbl_803121B8 +lbl_80312044: +/* 80312044 0030DCA4 28 04 00 02 */ cmplwi r4, 2 +/* 80312048 0030DCA8 41 80 00 14 */ blt lbl_8031205C +/* 8031204C 0030DCAC 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80312050 0030DCB0 38 05 00 02 */ addi r0, r5, 2 +/* 80312054 0030DCB4 7C 04 00 40 */ cmplw r4, r0 +/* 80312058 0030DCB8 41 80 00 1C */ blt lbl_80312074 +lbl_8031205C: +/* 8031205C 0030DCBC 2C 04 00 00 */ cmpwi r4, 0 +/* 80312060 0030DCC0 41 82 00 14 */ beq lbl_80312074 +/* 80312064 0030DCC4 28 04 00 01 */ cmplwi r4, 1 +/* 80312068 0030DCC8 41 82 00 0C */ beq lbl_80312074 +/* 8031206C 0030DCCC 38 60 00 0E */ li r3, 0xe +/* 80312070 0030DCD0 48 00 01 48 */ b lbl_803121B8 +lbl_80312074: +/* 80312074 0030DCD4 89 03 00 20 */ lbz r8, 0x20(r3) +/* 80312078 0030DCD8 54 87 08 3C */ slwi r7, r4, 1 +/* 8031207C 0030DCDC 80 86 00 00 */ lwz r4, 0(r6) +/* 80312080 0030DCE0 80 A3 00 28 */ lwz r5, 0x28(r3) +/* 80312084 0030DCE4 7C E0 44 30 */ srw r0, r7, r8 +/* 80312088 0030DCE8 A0 C3 00 00 */ lhz r6, 0(r3) +/* 8031208C 0030DCEC 7C 05 02 14 */ add r0, r5, r0 +/* 80312090 0030DCF0 80 A4 00 18 */ lwz r5, 0x18(r4) +/* 80312094 0030DCF4 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 80312098 0030DCF8 38 06 FF FF */ addi r0, r6, -1 +/* 8031209C 0030DCFC 7C E0 00 38 */ and r0, r7, r0 +/* 803120A0 0030DD00 7C 05 E8 40 */ cmplw r5, r29 +/* 803120A4 0030DD04 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 803120A8 0030DD08 41 81 00 14 */ bgt lbl_803120BC +/* 803120AC 0030DD0C 80 03 16 00 */ lwz r0, 0x1600(r3) +/* 803120B0 0030DD10 7C 05 02 14 */ add r0, r5, r0 +/* 803120B4 0030DD14 7C 00 E8 40 */ cmplw r0, r29 +/* 803120B8 0030DD18 41 81 00 B0 */ bgt lbl_80312168 +lbl_803120BC: +/* 803120BC 0030DD1C 7F 43 D3 78 */ mr r3, r26 +/* 803120C0 0030DD20 4B FF DD A9 */ bl func_8030FE68 +/* 803120C4 0030DD24 2C 03 00 00 */ cmpwi r3, 0 +/* 803120C8 0030DD28 41 82 00 08 */ beq lbl_803120D0 +/* 803120CC 0030DD2C 48 00 00 EC */ b lbl_803121B8 +lbl_803120D0: +/* 803120D0 0030DD30 A0 7A 00 18 */ lhz r3, 0x18(r26) +/* 803120D4 0030DD34 3B 20 00 01 */ li r25, 1 +/* 803120D8 0030DD38 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 +/* 803120DC 0030DD3C 41 82 00 08 */ beq lbl_803120E4 +/* 803120E0 0030DD40 54 79 07 7E */ clrlwi r25, r3, 0x1d +lbl_803120E4: +/* 803120E4 0030DD44 7F 43 D3 78 */ mr r3, r26 +/* 803120E8 0030DD48 7F A4 EB 78 */ mr r4, r29 +/* 803120EC 0030DD4C 7F 85 E3 78 */ mr r5, r28 +/* 803120F0 0030DD50 4B FF 87 5D */ bl VFiPFCACHE_ReadFATPage +/* 803120F4 0030DD54 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 803120F8 0030DD58 7C 7E 1B 78 */ mr r30, r3 +/* 803120FC 0030DD5C 40 82 00 50 */ bne lbl_8031214C +/* 80312100 0030DD60 81 9A 18 90 */ lwz r12, 0x1890(r26) +/* 80312104 0030DD64 2C 0C 00 00 */ cmpwi r12, 0 +/* 80312108 0030DD68 41 82 00 44 */ beq lbl_8031214C +/* 8031210C 0030DD6C 80 7A 18 70 */ lwz r3, 0x1870(r26) +/* 80312110 0030DD70 7D 89 03 A6 */ mtctr r12 +/* 80312114 0030DD74 4E 80 04 21 */ bctrl +/* 80312118 0030DD78 2C 03 00 00 */ cmpwi r3, 0 +/* 8031211C 0030DD7C 41 82 00 40 */ beq lbl_8031215C +/* 80312120 0030DD80 2C 03 00 01 */ cmpwi r3, 1 +/* 80312124 0030DD84 40 82 00 28 */ bne lbl_8031214C +/* 80312128 0030DD88 88 1A 00 22 */ lbz r0, 0x22(r26) +/* 8031212C 0030DD8C 28 00 00 02 */ cmplwi r0, 2 +/* 80312130 0030DD90 41 80 00 1C */ blt lbl_8031214C +/* 80312134 0030DD94 7C 19 00 40 */ cmplw r25, r0 +/* 80312138 0030DD98 40 80 00 14 */ bge lbl_8031214C +/* 8031213C 0030DD9C 80 1A 00 0C */ lwz r0, 0xc(r26) +/* 80312140 0030DDA0 3B 39 00 01 */ addi r25, r25, 1 +/* 80312144 0030DDA4 7F BD 02 14 */ add r29, r29, r0 +/* 80312148 0030DDA8 48 00 00 14 */ b lbl_8031215C +lbl_8031214C: +/* 8031214C 0030DDAC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80312150 0030DDB0 41 82 00 0C */ beq lbl_8031215C +/* 80312154 0030DDB4 7F C3 F3 78 */ mr r3, r30 +/* 80312158 0030DDB8 48 00 00 60 */ b lbl_803121B8 +lbl_8031215C: +/* 8031215C 0030DDBC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80312160 0030DDC0 40 82 FF 84 */ bne lbl_803120E4 +/* 80312164 0030DDC4 48 00 00 28 */ b lbl_8031218C +lbl_80312168: +/* 80312168 0030DDC8 80 04 00 04 */ lwz r0, 4(r4) +/* 8031216C 0030DDCC 80 64 00 08 */ lwz r3, 8(r4) +/* 80312170 0030DDD0 7C 00 18 50 */ subf r0, r0, r3 +/* 80312174 0030DDD4 7C 00 46 30 */ sraw r0, r0, r8 +/* 80312178 0030DDD8 7C 05 02 14 */ add r0, r5, r0 +/* 8031217C 0030DDDC 7C 1D 00 40 */ cmplw r29, r0 +/* 80312180 0030DDE0 41 82 00 0C */ beq lbl_8031218C +/* 80312184 0030DDE4 7C 03 32 14 */ add r0, r3, r6 +/* 80312188 0030DDE8 90 04 00 08 */ stw r0, 8(r4) +lbl_8031218C: +/* 8031218C 0030DDEC 80 7C 00 00 */ lwz r3, 0(r28) +/* 80312190 0030DDF0 57 64 C6 3E */ rlwinm r4, r27, 0x18, 0x18, 0x1f +/* 80312194 0030DDF4 80 63 00 08 */ lwz r3, 8(r3) +/* 80312198 0030DDF8 7F 63 F9 AE */ stbx r27, r3, r31 +/* 8031219C 0030DDFC 80 7C 00 00 */ lwz r3, 0(r28) +/* 803121A0 0030DE00 80 03 00 08 */ lwz r0, 8(r3) +/* 803121A4 0030DE04 7C 60 FA 14 */ add r3, r0, r31 +/* 803121A8 0030DE08 98 83 00 01 */ stb r4, 1(r3) +/* 803121AC 0030DE0C 80 7C 00 00 */ lwz r3, 0(r28) +/* 803121B0 0030DE10 4B FF 84 41 */ bl VFiPFCACHE_UpdateModifiedSector +/* 803121B4 0030DE14 7F C3 F3 78 */ mr r3, r30 +lbl_803121B8: +/* 803121B8 0030DE18 39 61 00 30 */ addi r11, r1, 0x30 +/* 803121BC 0030DE1C 4B EB 4F B1 */ bl _restgpr_25 +/* 803121C0 0030DE20 80 01 00 34 */ lwz r0, 0x34(r1) +/* 803121C4 0030DE24 7C 08 03 A6 */ mtlr r0 +/* 803121C8 0030DE28 38 21 00 30 */ addi r1, r1, 0x30 +/* 803121CC 0030DE2C 4E 80 00 20 */ blr + +.global func_803121D0 +func_803121D0: +/* 803121D0 0030DE30 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803121D4 0030DE34 7C 08 02 A6 */ mflr r0 +/* 803121D8 0030DE38 90 01 00 34 */ stw r0, 0x34(r1) +/* 803121DC 0030DE3C 39 61 00 30 */ addi r11, r1, 0x30 +/* 803121E0 0030DE40 4B EB 4F 45 */ bl _savegpr_26 +/* 803121E4 0030DE44 2C 03 00 00 */ cmpwi r3, 0 +/* 803121E8 0030DE48 7C 7D 1B 78 */ mr r29, r3 +/* 803121EC 0030DE4C 7C BE 2B 78 */ mr r30, r5 +/* 803121F0 0030DE50 40 82 00 14 */ bne lbl_80312204 +/* 803121F4 0030DE54 38 00 FF FF */ li r0, -1 +/* 803121F8 0030DE58 38 60 00 0A */ li r3, 0xa +/* 803121FC 0030DE5C 90 05 00 00 */ stw r0, 0(r5) +/* 80312200 0030DE60 48 00 01 2C */ b lbl_8031232C +lbl_80312204: +/* 80312204 0030DE64 28 04 00 02 */ cmplwi r4, 2 +/* 80312208 0030DE68 41 80 00 14 */ blt lbl_8031221C +/* 8031220C 0030DE6C 80 C3 00 34 */ lwz r6, 0x34(r3) +/* 80312210 0030DE70 38 06 00 02 */ addi r0, r6, 2 +/* 80312214 0030DE74 7C 04 00 40 */ cmplw r4, r0 +/* 80312218 0030DE78 41 80 00 24 */ blt lbl_8031223C +lbl_8031221C: +/* 8031221C 0030DE7C 2C 04 00 00 */ cmpwi r4, 0 +/* 80312220 0030DE80 41 82 00 1C */ beq lbl_8031223C +/* 80312224 0030DE84 28 04 00 01 */ cmplwi r4, 1 +/* 80312228 0030DE88 41 82 00 14 */ beq lbl_8031223C +/* 8031222C 0030DE8C 38 00 FF FF */ li r0, -1 +/* 80312230 0030DE90 38 60 00 0E */ li r3, 0xe +/* 80312234 0030DE94 90 05 00 00 */ stw r0, 0(r5) +/* 80312238 0030DE98 48 00 00 F4 */ b lbl_8031232C +lbl_8031223C: +/* 8031223C 0030DE9C A0 E3 00 18 */ lhz r7, 0x18(r3) +/* 80312240 0030DEA0 54 88 10 3A */ slwi r8, r4, 2 +/* 80312244 0030DEA4 88 A3 00 20 */ lbz r5, 0x20(r3) +/* 80312248 0030DEA8 3B E0 00 01 */ li r31, 1 +/* 8031224C 0030DEAC A0 83 00 00 */ lhz r4, 0(r3) +/* 80312250 0030DEB0 54 E0 06 31 */ rlwinm. r0, r7, 0, 0x18, 0x18 +/* 80312254 0030DEB4 80 C3 00 28 */ lwz r6, 0x28(r3) +/* 80312258 0030DEB8 7D 03 2C 30 */ srw r3, r8, r5 +/* 8031225C 0030DEBC 38 04 FF FF */ addi r0, r4, -1 +/* 80312260 0030DEC0 7C 66 1A 14 */ add r3, r6, r3 +/* 80312264 0030DEC4 7D 00 00 38 */ and r0, r8, r0 +/* 80312268 0030DEC8 54 7C 04 3E */ clrlwi r28, r3, 0x10 +/* 8031226C 0030DECC 54 1B 04 3E */ clrlwi r27, r0, 0x10 +/* 80312270 0030DED0 41 82 00 08 */ beq lbl_80312278 +/* 80312274 0030DED4 54 FF 07 7E */ clrlwi r31, r7, 0x1d +lbl_80312278: +/* 80312278 0030DED8 7F A3 EB 78 */ mr r3, r29 +/* 8031227C 0030DEDC 7F 85 E3 78 */ mr r5, r28 +/* 80312280 0030DEE0 7F 66 DB 78 */ mr r6, r27 +/* 80312284 0030DEE4 38 81 00 08 */ addi r4, r1, 8 +/* 80312288 0030DEE8 38 E0 00 04 */ li r7, 4 +/* 8031228C 0030DEEC 48 00 66 E5 */ bl func_80318970 +/* 80312290 0030DEF0 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 80312294 0030DEF4 7C 7A 1B 78 */ mr r26, r3 +/* 80312298 0030DEF8 40 82 00 50 */ bne lbl_803122E8 +/* 8031229C 0030DEFC 81 9D 18 90 */ lwz r12, 0x1890(r29) +/* 803122A0 0030DF00 2C 0C 00 00 */ cmpwi r12, 0 +/* 803122A4 0030DF04 41 82 00 44 */ beq lbl_803122E8 +/* 803122A8 0030DF08 80 7D 18 70 */ lwz r3, 0x1870(r29) +/* 803122AC 0030DF0C 7D 89 03 A6 */ mtctr r12 +/* 803122B0 0030DF10 4E 80 04 21 */ bctrl +/* 803122B4 0030DF14 2C 03 00 00 */ cmpwi r3, 0 +/* 803122B8 0030DF18 41 82 00 48 */ beq lbl_80312300 +/* 803122BC 0030DF1C 2C 03 00 01 */ cmpwi r3, 1 +/* 803122C0 0030DF20 40 82 00 28 */ bne lbl_803122E8 +/* 803122C4 0030DF24 88 1D 00 22 */ lbz r0, 0x22(r29) +/* 803122C8 0030DF28 28 00 00 02 */ cmplwi r0, 2 +/* 803122CC 0030DF2C 41 80 00 1C */ blt lbl_803122E8 +/* 803122D0 0030DF30 7C 1F 00 40 */ cmplw r31, r0 +/* 803122D4 0030DF34 40 80 00 14 */ bge lbl_803122E8 +/* 803122D8 0030DF38 80 1D 00 0C */ lwz r0, 0xc(r29) +/* 803122DC 0030DF3C 3B FF 00 01 */ addi r31, r31, 1 +/* 803122E0 0030DF40 7F 9C 02 14 */ add r28, r28, r0 +/* 803122E4 0030DF44 48 00 00 1C */ b lbl_80312300 +lbl_803122E8: +/* 803122E8 0030DF48 2C 1A 00 00 */ cmpwi r26, 0 +/* 803122EC 0030DF4C 41 82 00 14 */ beq lbl_80312300 +/* 803122F0 0030DF50 38 00 FF FF */ li r0, -1 +/* 803122F4 0030DF54 7F 43 D3 78 */ mr r3, r26 +/* 803122F8 0030DF58 90 1E 00 00 */ stw r0, 0(r30) +/* 803122FC 0030DF5C 48 00 00 30 */ b lbl_8031232C +lbl_80312300: +/* 80312300 0030DF60 2C 1A 00 00 */ cmpwi r26, 0 +/* 80312304 0030DF64 40 82 FF 74 */ bne lbl_80312278 +/* 80312308 0030DF68 80 A1 00 08 */ lwz r5, 8(r1) +/* 8031230C 0030DF6C 38 60 00 00 */ li r3, 0 +/* 80312310 0030DF70 54 A4 42 1E */ rlwinm r4, r5, 8, 8, 0xf +/* 80312314 0030DF74 54 A0 C4 2E */ rlwinm r0, r5, 0x18, 0x10, 0x17 +/* 80312318 0030DF78 50 A4 C0 0E */ rlwimi r4, r5, 0x18, 0, 7 +/* 8031231C 0030DF7C 50 A0 46 3E */ rlwimi r0, r5, 8, 0x18, 0x1f +/* 80312320 0030DF80 7C 80 03 78 */ or r0, r4, r0 +/* 80312324 0030DF84 54 00 01 3E */ clrlwi r0, r0, 4 +/* 80312328 0030DF88 90 1E 00 00 */ stw r0, 0(r30) +lbl_8031232C: +/* 8031232C 0030DF8C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312330 0030DF90 4B EB 4E 41 */ bl _restgpr_26 +/* 80312334 0030DF94 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80312338 0030DF98 7C 08 03 A6 */ mtlr r0 +/* 8031233C 0030DF9C 38 21 00 30 */ addi r1, r1, 0x30 +/* 80312340 0030DFA0 4E 80 00 20 */ blr + +.global func_80312344 +func_80312344: +/* 80312344 0030DFA4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80312348 0030DFA8 7C 08 02 A6 */ mflr r0 +/* 8031234C 0030DFAC 90 01 00 34 */ stw r0, 0x34(r1) +/* 80312350 0030DFB0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312354 0030DFB4 4B EB 4D CD */ bl _savegpr_25 +/* 80312358 0030DFB8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031235C 0030DFBC 7C 79 1B 78 */ mr r25, r3 +/* 80312360 0030DFC0 7C BA 2B 78 */ mr r26, r5 +/* 80312364 0030DFC4 7C DB 33 78 */ mr r27, r6 +/* 80312368 0030DFC8 3B C0 00 00 */ li r30, 0 +/* 8031236C 0030DFCC 40 82 00 0C */ bne lbl_80312378 +/* 80312370 0030DFD0 38 60 00 0A */ li r3, 0xa +/* 80312374 0030DFD4 48 00 01 84 */ b lbl_803124F8 +lbl_80312378: +/* 80312378 0030DFD8 28 04 00 02 */ cmplwi r4, 2 +/* 8031237C 0030DFDC 41 80 00 14 */ blt lbl_80312390 +/* 80312380 0030DFE0 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80312384 0030DFE4 38 05 00 02 */ addi r0, r5, 2 +/* 80312388 0030DFE8 7C 04 00 40 */ cmplw r4, r0 +/* 8031238C 0030DFEC 41 80 00 1C */ blt lbl_803123A8 +lbl_80312390: +/* 80312390 0030DFF0 2C 04 00 00 */ cmpwi r4, 0 +/* 80312394 0030DFF4 41 82 00 14 */ beq lbl_803123A8 +/* 80312398 0030DFF8 28 04 00 01 */ cmplwi r4, 1 +/* 8031239C 0030DFFC 41 82 00 0C */ beq lbl_803123A8 +/* 803123A0 0030E000 38 60 00 0E */ li r3, 0xe +/* 803123A4 0030E004 48 00 01 54 */ b lbl_803124F8 +lbl_803123A8: +/* 803123A8 0030E008 A0 A3 00 18 */ lhz r5, 0x18(r3) +/* 803123AC 0030E00C 54 9F 10 3A */ slwi r31, r4, 2 +/* 803123B0 0030E010 88 E3 00 20 */ lbz r7, 0x20(r3) +/* 803123B4 0030E014 3B 80 00 01 */ li r28, 1 +/* 803123B8 0030E018 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 +/* 803123BC 0030E01C 80 83 00 28 */ lwz r4, 0x28(r3) +/* 803123C0 0030E020 7F E0 3C 30 */ srw r0, r31, r7 +/* 803123C4 0030E024 7C 04 02 14 */ add r0, r4, r0 +/* 803123C8 0030E028 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 803123CC 0030E02C 41 82 00 08 */ beq lbl_803123D4 +/* 803123D0 0030E030 54 BC 07 7E */ clrlwi r28, r5, 0x1d +lbl_803123D4: +/* 803123D4 0030E034 80 86 00 00 */ lwz r4, 0(r6) +/* 803123D8 0030E038 80 C4 00 18 */ lwz r6, 0x18(r4) +/* 803123DC 0030E03C 7C 06 E8 40 */ cmplw r6, r29 +/* 803123E0 0030E040 41 81 00 14 */ bgt lbl_803123F4 +/* 803123E4 0030E044 80 03 16 00 */ lwz r0, 0x1600(r3) +/* 803123E8 0030E048 7C 06 02 14 */ add r0, r6, r0 +/* 803123EC 0030E04C 7C 00 E8 40 */ cmplw r0, r29 +/* 803123F0 0030E050 41 81 00 A8 */ bgt lbl_80312498 +lbl_803123F4: +/* 803123F4 0030E054 A0 04 00 02 */ lhz r0, 2(r4) +/* 803123F8 0030E058 28 00 00 01 */ cmplwi r0, 1 +/* 803123FC 0030E05C 40 82 00 18 */ bne lbl_80312414 +/* 80312400 0030E060 7F 23 CB 78 */ mr r3, r25 +/* 80312404 0030E064 4B FF DA 65 */ bl func_8030FE68 +/* 80312408 0030E068 2C 03 00 00 */ cmpwi r3, 0 +/* 8031240C 0030E06C 41 82 00 08 */ beq lbl_80312414 +/* 80312410 0030E070 48 00 00 E8 */ b lbl_803124F8 +lbl_80312414: +/* 80312414 0030E074 7F 23 CB 78 */ mr r3, r25 +/* 80312418 0030E078 7F A4 EB 78 */ mr r4, r29 +/* 8031241C 0030E07C 7F 65 DB 78 */ mr r5, r27 +/* 80312420 0030E080 4B FF 84 2D */ bl VFiPFCACHE_ReadFATPage +/* 80312424 0030E084 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 80312428 0030E088 7C 7E 1B 78 */ mr r30, r3 +/* 8031242C 0030E08C 40 82 00 50 */ bne lbl_8031247C +/* 80312430 0030E090 81 99 18 90 */ lwz r12, 0x1890(r25) +/* 80312434 0030E094 2C 0C 00 00 */ cmpwi r12, 0 +/* 80312438 0030E098 41 82 00 44 */ beq lbl_8031247C +/* 8031243C 0030E09C 80 79 18 70 */ lwz r3, 0x1870(r25) +/* 80312440 0030E0A0 7D 89 03 A6 */ mtctr r12 +/* 80312444 0030E0A4 4E 80 04 21 */ bctrl +/* 80312448 0030E0A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031244C 0030E0AC 41 82 00 40 */ beq lbl_8031248C +/* 80312450 0030E0B0 2C 03 00 01 */ cmpwi r3, 1 +/* 80312454 0030E0B4 40 82 00 28 */ bne lbl_8031247C +/* 80312458 0030E0B8 88 19 00 22 */ lbz r0, 0x22(r25) +/* 8031245C 0030E0BC 28 00 00 02 */ cmplwi r0, 2 +/* 80312460 0030E0C0 41 80 00 1C */ blt lbl_8031247C +/* 80312464 0030E0C4 7C 1C 00 40 */ cmplw r28, r0 +/* 80312468 0030E0C8 40 80 00 14 */ bge lbl_8031247C +/* 8031246C 0030E0CC 80 19 00 0C */ lwz r0, 0xc(r25) +/* 80312470 0030E0D0 3B 9C 00 01 */ addi r28, r28, 1 +/* 80312474 0030E0D4 7F BD 02 14 */ add r29, r29, r0 +/* 80312478 0030E0D8 48 00 00 14 */ b lbl_8031248C +lbl_8031247C: +/* 8031247C 0030E0DC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80312480 0030E0E0 41 82 00 0C */ beq lbl_8031248C +/* 80312484 0030E0E4 7F C3 F3 78 */ mr r3, r30 +/* 80312488 0030E0E8 48 00 00 70 */ b lbl_803124F8 +lbl_8031248C: +/* 8031248C 0030E0EC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80312490 0030E0F0 40 82 FF 84 */ bne lbl_80312414 +/* 80312494 0030E0F4 48 00 00 2C */ b lbl_803124C0 +lbl_80312498: +/* 80312498 0030E0F8 80 04 00 04 */ lwz r0, 4(r4) +/* 8031249C 0030E0FC 80 A4 00 08 */ lwz r5, 8(r4) +/* 803124A0 0030E100 7C 00 28 50 */ subf r0, r0, r5 +/* 803124A4 0030E104 7C 00 3E 30 */ sraw r0, r0, r7 +/* 803124A8 0030E108 7C 06 02 14 */ add r0, r6, r0 +/* 803124AC 0030E10C 7C 1D 00 40 */ cmplw r29, r0 +/* 803124B0 0030E110 41 82 00 10 */ beq lbl_803124C0 +/* 803124B4 0030E114 A0 03 00 00 */ lhz r0, 0(r3) +/* 803124B8 0030E118 7C 05 02 14 */ add r0, r5, r0 +/* 803124BC 0030E11C 90 04 00 08 */ stw r0, 8(r4) +lbl_803124C0: +/* 803124C0 0030E120 A0 B9 00 00 */ lhz r5, 0(r25) +/* 803124C4 0030E124 7F C3 F3 78 */ mr r3, r30 +/* 803124C8 0030E128 80 9B 00 00 */ lwz r4, 0(r27) +/* 803124CC 0030E12C 38 05 FF FF */ addi r0, r5, -1 +/* 803124D0 0030E130 80 84 00 08 */ lwz r4, 8(r4) +/* 803124D4 0030E134 7F E0 00 38 */ and r0, r31, r0 +/* 803124D8 0030E138 7C A4 00 2E */ lwzx r5, r4, r0 +/* 803124DC 0030E13C 54 A4 42 1E */ rlwinm r4, r5, 8, 8, 0xf +/* 803124E0 0030E140 54 A0 C4 2E */ rlwinm r0, r5, 0x18, 0x10, 0x17 +/* 803124E4 0030E144 50 A4 C0 0E */ rlwimi r4, r5, 0x18, 0, 7 +/* 803124E8 0030E148 50 A0 46 3E */ rlwimi r0, r5, 8, 0x18, 0x1f +/* 803124EC 0030E14C 7C 80 03 78 */ or r0, r4, r0 +/* 803124F0 0030E150 54 00 01 3E */ clrlwi r0, r0, 4 +/* 803124F4 0030E154 90 1A 00 00 */ stw r0, 0(r26) +lbl_803124F8: +/* 803124F8 0030E158 39 61 00 30 */ addi r11, r1, 0x30 +/* 803124FC 0030E15C 4B EB 4C 71 */ bl _restgpr_25 +/* 80312500 0030E160 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80312504 0030E164 7C 08 03 A6 */ mtlr r0 +/* 80312508 0030E168 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031250C 0030E16C 4E 80 00 20 */ blr + +.global func_80312510 +func_80312510: +/* 80312510 0030E170 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80312514 0030E174 7C 08 02 A6 */ mflr r0 +/* 80312518 0030E178 2C 03 00 00 */ cmpwi r3, 0 +/* 8031251C 0030E17C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80312520 0030E180 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80312524 0030E184 7C BF 2B 78 */ mr r31, r5 +/* 80312528 0030E188 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031252C 0030E18C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80312530 0030E190 93 81 00 10 */ stw r28, 0x10(r1) +/* 80312534 0030E194 7C 7C 1B 78 */ mr r28, r3 +/* 80312538 0030E198 40 82 00 0C */ bne lbl_80312544 +/* 8031253C 0030E19C 38 60 00 0A */ li r3, 0xa +/* 80312540 0030E1A0 48 00 00 D0 */ b lbl_80312610 +lbl_80312544: +/* 80312544 0030E1A4 28 04 00 02 */ cmplwi r4, 2 +/* 80312548 0030E1A8 41 80 00 14 */ blt lbl_8031255C +/* 8031254C 0030E1AC 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80312550 0030E1B0 38 05 00 02 */ addi r0, r5, 2 +/* 80312554 0030E1B4 7C 04 00 40 */ cmplw r4, r0 +/* 80312558 0030E1B8 41 80 00 1C */ blt lbl_80312574 +lbl_8031255C: +/* 8031255C 0030E1BC 2C 04 00 00 */ cmpwi r4, 0 +/* 80312560 0030E1C0 41 82 00 14 */ beq lbl_80312574 +/* 80312564 0030E1C4 28 04 00 01 */ cmplwi r4, 1 +/* 80312568 0030E1C8 41 82 00 0C */ beq lbl_80312574 +/* 8031256C 0030E1CC 38 60 00 0E */ li r3, 0xe +/* 80312570 0030E1D0 48 00 00 A0 */ b lbl_80312610 +lbl_80312574: +/* 80312574 0030E1D4 A0 A3 00 00 */ lhz r5, 0(r3) +/* 80312578 0030E1D8 54 88 10 3A */ slwi r8, r4, 2 +/* 8031257C 0030E1DC 88 C3 00 20 */ lbz r6, 0x20(r3) +/* 80312580 0030E1E0 38 81 00 08 */ addi r4, r1, 8 +/* 80312584 0030E1E4 38 05 FF FF */ addi r0, r5, -1 +/* 80312588 0030E1E8 80 E3 00 28 */ lwz r7, 0x28(r3) +/* 8031258C 0030E1EC 7D 05 34 30 */ srw r5, r8, r6 +/* 80312590 0030E1F0 7F 83 E3 78 */ mr r3, r28 +/* 80312594 0030E1F4 7C A7 2A 14 */ add r5, r7, r5 +/* 80312598 0030E1F8 7D 00 00 38 */ and r0, r8, r0 +/* 8031259C 0030E1FC 54 BE 04 3E */ clrlwi r30, r5, 0x10 +/* 803125A0 0030E200 38 E0 00 04 */ li r7, 4 +/* 803125A4 0030E204 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 803125A8 0030E208 7F C5 F3 78 */ mr r5, r30 +/* 803125AC 0030E20C 7F A6 EB 78 */ mr r6, r29 +/* 803125B0 0030E210 48 00 63 C1 */ bl func_80318970 +/* 803125B4 0030E214 2C 03 00 00 */ cmpwi r3, 0 +/* 803125B8 0030E218 41 82 00 08 */ beq lbl_803125C0 +/* 803125BC 0030E21C 48 00 00 54 */ b lbl_80312610 +lbl_803125C0: +/* 803125C0 0030E220 80 E1 00 08 */ lwz r7, 8(r1) +/* 803125C4 0030E224 7F 83 E3 78 */ mr r3, r28 +/* 803125C8 0030E228 7F C5 F3 78 */ mr r5, r30 +/* 803125CC 0030E22C 7F A6 EB 78 */ mr r6, r29 +/* 803125D0 0030E230 54 E8 42 1E */ rlwinm r8, r7, 8, 8, 0xf +/* 803125D4 0030E234 54 E0 C4 2E */ rlwinm r0, r7, 0x18, 0x10, 0x17 +/* 803125D8 0030E238 50 E8 C0 0E */ rlwimi r8, r7, 0x18, 0, 7 +/* 803125DC 0030E23C 38 81 00 08 */ addi r4, r1, 8 +/* 803125E0 0030E240 50 E0 46 3E */ rlwimi r0, r7, 8, 0x18, 0x1f +/* 803125E4 0030E244 38 E0 00 04 */ li r7, 4 +/* 803125E8 0030E248 7D 00 03 78 */ or r0, r8, r0 +/* 803125EC 0030E24C 54 09 00 06 */ rlwinm r9, r0, 0, 0, 3 +/* 803125F0 0030E250 53 E9 01 3E */ rlwimi r9, r31, 0, 4, 0x1f +/* 803125F4 0030E254 55 28 42 1E */ rlwinm r8, r9, 8, 8, 0xf +/* 803125F8 0030E258 55 20 C4 2E */ rlwinm r0, r9, 0x18, 0x10, 0x17 +/* 803125FC 0030E25C 51 28 C0 0E */ rlwimi r8, r9, 0x18, 0, 7 +/* 80312600 0030E260 51 20 46 3E */ rlwimi r0, r9, 8, 0x18, 0x1f +/* 80312604 0030E264 7D 00 03 78 */ or r0, r8, r0 +/* 80312608 0030E268 90 01 00 08 */ stw r0, 8(r1) +/* 8031260C 0030E26C 48 00 66 FD */ bl func_80318D08 +lbl_80312610: +/* 80312610 0030E270 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80312614 0030E274 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80312618 0030E278 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031261C 0030E27C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80312620 0030E280 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80312624 0030E284 7C 08 03 A6 */ mtlr r0 +/* 80312628 0030E288 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031262C 0030E28C 4E 80 00 20 */ blr + +.global func_80312630 +func_80312630: +/* 80312630 0030E290 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80312634 0030E294 7C 08 02 A6 */ mflr r0 +/* 80312638 0030E298 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031263C 0030E29C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312640 0030E2A0 4B EB 4A E1 */ bl _savegpr_25 +/* 80312644 0030E2A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80312648 0030E2A8 7C 7A 1B 78 */ mr r26, r3 +/* 8031264C 0030E2AC 7C BB 2B 78 */ mr r27, r5 +/* 80312650 0030E2B0 7C DC 33 78 */ mr r28, r6 +/* 80312654 0030E2B4 3B C0 00 00 */ li r30, 0 +/* 80312658 0030E2B8 40 82 00 0C */ bne lbl_80312664 +/* 8031265C 0030E2BC 38 60 00 0A */ li r3, 0xa +/* 80312660 0030E2C0 48 00 01 98 */ b lbl_803127F8 +lbl_80312664: +/* 80312664 0030E2C4 28 04 00 02 */ cmplwi r4, 2 +/* 80312668 0030E2C8 41 80 00 14 */ blt lbl_8031267C +/* 8031266C 0030E2CC 80 A3 00 34 */ lwz r5, 0x34(r3) +/* 80312670 0030E2D0 38 05 00 02 */ addi r0, r5, 2 +/* 80312674 0030E2D4 7C 04 00 40 */ cmplw r4, r0 +/* 80312678 0030E2D8 41 80 00 1C */ blt lbl_80312694 +lbl_8031267C: +/* 8031267C 0030E2DC 2C 04 00 00 */ cmpwi r4, 0 +/* 80312680 0030E2E0 41 82 00 14 */ beq lbl_80312694 +/* 80312684 0030E2E4 28 04 00 01 */ cmplwi r4, 1 +/* 80312688 0030E2E8 41 82 00 0C */ beq lbl_80312694 +/* 8031268C 0030E2EC 38 60 00 0E */ li r3, 0xe +/* 80312690 0030E2F0 48 00 01 68 */ b lbl_803127F8 +lbl_80312694: +/* 80312694 0030E2F4 88 E3 00 20 */ lbz r7, 0x20(r3) +/* 80312698 0030E2F8 54 88 10 3A */ slwi r8, r4, 2 +/* 8031269C 0030E2FC 80 86 00 00 */ lwz r4, 0(r6) +/* 803126A0 0030E300 80 A3 00 28 */ lwz r5, 0x28(r3) +/* 803126A4 0030E304 7D 00 3C 30 */ srw r0, r8, r7 +/* 803126A8 0030E308 A0 C3 00 00 */ lhz r6, 0(r3) +/* 803126AC 0030E30C 7C 05 02 14 */ add r0, r5, r0 +/* 803126B0 0030E310 80 A4 00 18 */ lwz r5, 0x18(r4) +/* 803126B4 0030E314 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 803126B8 0030E318 38 06 FF FF */ addi r0, r6, -1 +/* 803126BC 0030E31C 7D 00 00 38 */ and r0, r8, r0 +/* 803126C0 0030E320 7C 05 E8 40 */ cmplw r5, r29 +/* 803126C4 0030E324 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 803126C8 0030E328 41 81 00 14 */ bgt lbl_803126DC +/* 803126CC 0030E32C 80 03 16 00 */ lwz r0, 0x1600(r3) +/* 803126D0 0030E330 7C 05 02 14 */ add r0, r5, r0 +/* 803126D4 0030E334 7C 00 E8 40 */ cmplw r0, r29 +/* 803126D8 0030E338 41 81 00 B0 */ bgt lbl_80312788 +lbl_803126DC: +/* 803126DC 0030E33C 7F 43 D3 78 */ mr r3, r26 +/* 803126E0 0030E340 4B FF D7 89 */ bl func_8030FE68 +/* 803126E4 0030E344 2C 03 00 00 */ cmpwi r3, 0 +/* 803126E8 0030E348 41 82 00 08 */ beq lbl_803126F0 +/* 803126EC 0030E34C 48 00 01 0C */ b lbl_803127F8 +lbl_803126F0: +/* 803126F0 0030E350 A0 7A 00 18 */ lhz r3, 0x18(r26) +/* 803126F4 0030E354 3B 20 00 01 */ li r25, 1 +/* 803126F8 0030E358 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 +/* 803126FC 0030E35C 41 82 00 08 */ beq lbl_80312704 +/* 80312700 0030E360 54 79 07 7E */ clrlwi r25, r3, 0x1d +lbl_80312704: +/* 80312704 0030E364 7F 43 D3 78 */ mr r3, r26 +/* 80312708 0030E368 7F A4 EB 78 */ mr r4, r29 +/* 8031270C 0030E36C 7F 85 E3 78 */ mr r5, r28 +/* 80312710 0030E370 4B FF 81 3D */ bl VFiPFCACHE_ReadFATPage +/* 80312714 0030E374 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 80312718 0030E378 7C 7E 1B 78 */ mr r30, r3 +/* 8031271C 0030E37C 40 82 00 50 */ bne lbl_8031276C +/* 80312720 0030E380 81 9A 18 90 */ lwz r12, 0x1890(r26) +/* 80312724 0030E384 2C 0C 00 00 */ cmpwi r12, 0 +/* 80312728 0030E388 41 82 00 44 */ beq lbl_8031276C +/* 8031272C 0030E38C 80 7A 18 70 */ lwz r3, 0x1870(r26) +/* 80312730 0030E390 7D 89 03 A6 */ mtctr r12 +/* 80312734 0030E394 4E 80 04 21 */ bctrl +/* 80312738 0030E398 2C 03 00 00 */ cmpwi r3, 0 +/* 8031273C 0030E39C 41 82 00 40 */ beq lbl_8031277C +/* 80312740 0030E3A0 2C 03 00 01 */ cmpwi r3, 1 +/* 80312744 0030E3A4 40 82 00 28 */ bne lbl_8031276C +/* 80312748 0030E3A8 88 1A 00 22 */ lbz r0, 0x22(r26) +/* 8031274C 0030E3AC 28 00 00 02 */ cmplwi r0, 2 +/* 80312750 0030E3B0 41 80 00 1C */ blt lbl_8031276C +/* 80312754 0030E3B4 7C 19 00 40 */ cmplw r25, r0 +/* 80312758 0030E3B8 40 80 00 14 */ bge lbl_8031276C +/* 8031275C 0030E3BC 80 1A 00 0C */ lwz r0, 0xc(r26) +/* 80312760 0030E3C0 3B 39 00 01 */ addi r25, r25, 1 +/* 80312764 0030E3C4 7F BD 02 14 */ add r29, r29, r0 +/* 80312768 0030E3C8 48 00 00 14 */ b lbl_8031277C +lbl_8031276C: +/* 8031276C 0030E3CC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80312770 0030E3D0 41 82 00 0C */ beq lbl_8031277C +/* 80312774 0030E3D4 7F C3 F3 78 */ mr r3, r30 +/* 80312778 0030E3D8 48 00 00 80 */ b lbl_803127F8 +lbl_8031277C: +/* 8031277C 0030E3DC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80312780 0030E3E0 40 82 FF 84 */ bne lbl_80312704 +/* 80312784 0030E3E4 48 00 00 28 */ b lbl_803127AC +lbl_80312788: +/* 80312788 0030E3E8 80 04 00 04 */ lwz r0, 4(r4) +/* 8031278C 0030E3EC 80 64 00 08 */ lwz r3, 8(r4) +/* 80312790 0030E3F0 7C 00 18 50 */ subf r0, r0, r3 +/* 80312794 0030E3F4 7C 00 3E 30 */ sraw r0, r0, r7 +/* 80312798 0030E3F8 7C 05 02 14 */ add r0, r5, r0 +/* 8031279C 0030E3FC 7C 1D 00 40 */ cmplw r29, r0 +/* 803127A0 0030E400 41 82 00 0C */ beq lbl_803127AC +/* 803127A4 0030E404 7C 03 32 14 */ add r0, r3, r6 +/* 803127A8 0030E408 90 04 00 08 */ stw r0, 8(r4) +lbl_803127AC: +/* 803127AC 0030E40C 80 7C 00 00 */ lwz r3, 0(r28) +/* 803127B0 0030E410 80 83 00 08 */ lwz r4, 8(r3) +/* 803127B4 0030E414 7C A4 F8 2E */ lwzx r5, r4, r31 +/* 803127B8 0030E418 54 A3 42 1E */ rlwinm r3, r5, 8, 8, 0xf +/* 803127BC 0030E41C 54 A0 C4 2E */ rlwinm r0, r5, 0x18, 0x10, 0x17 +/* 803127C0 0030E420 50 A3 C0 0E */ rlwimi r3, r5, 0x18, 0, 7 +/* 803127C4 0030E424 50 A0 46 3E */ rlwimi r0, r5, 8, 0x18, 0x1f +/* 803127C8 0030E428 7C 60 03 78 */ or r0, r3, r0 +/* 803127CC 0030E42C 54 05 00 06 */ rlwinm r5, r0, 0, 0, 3 +/* 803127D0 0030E430 53 65 01 3E */ rlwimi r5, r27, 0, 4, 0x1f +/* 803127D4 0030E434 54 A3 42 1E */ rlwinm r3, r5, 8, 8, 0xf +/* 803127D8 0030E438 54 A0 C4 2E */ rlwinm r0, r5, 0x18, 0x10, 0x17 +/* 803127DC 0030E43C 50 A3 C0 0E */ rlwimi r3, r5, 0x18, 0, 7 +/* 803127E0 0030E440 50 A0 46 3E */ rlwimi r0, r5, 8, 0x18, 0x1f +/* 803127E4 0030E444 7C 60 03 78 */ or r0, r3, r0 +/* 803127E8 0030E448 7C 04 F9 2E */ stwx r0, r4, r31 +/* 803127EC 0030E44C 80 7C 00 00 */ lwz r3, 0(r28) +/* 803127F0 0030E450 4B FF 7E 01 */ bl VFiPFCACHE_UpdateModifiedSector +/* 803127F4 0030E454 7F C3 F3 78 */ mr r3, r30 +lbl_803127F8: +/* 803127F8 0030E458 39 61 00 30 */ addi r11, r1, 0x30 +/* 803127FC 0030E45C 4B EB 49 71 */ bl _restgpr_25 +/* 80312800 0030E460 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80312804 0030E464 7C 08 03 A6 */ mtlr r0 +/* 80312808 0030E468 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031280C 0030E46C 4E 80 00 20 */ blr + +.global func_80312810 +func_80312810: +/* 80312810 0030E470 48 00 69 D0 */ b lbl_803191E0 + +.global func_80312814 +func_80312814: +/* 80312814 0030E474 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80312818 0030E478 7C 08 02 A6 */ mflr r0 +/* 8031281C 0030E47C 2C 03 00 00 */ cmpwi r3, 0 +/* 80312820 0030E480 90 01 00 14 */ stw r0, 0x14(r1) +/* 80312824 0030E484 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80312828 0030E488 3B E0 00 01 */ li r31, 1 +/* 8031282C 0030E48C 40 82 00 0C */ bne lbl_80312838 +/* 80312830 0030E490 39 20 00 00 */ li r9, 0 +/* 80312834 0030E494 48 00 00 0C */ b lbl_80312840 +lbl_80312838: +/* 80312838 0030E498 80 C3 00 08 */ lwz r6, 8(r3) +/* 8031283C 0030E49C 81 26 02 68 */ lwz r9, 0x268(r6) +lbl_80312840: +/* 80312840 0030E4A0 80 C3 00 08 */ lwz r6, 8(r3) +/* 80312844 0030E4A4 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80312848 0030E4A8 A1 03 00 28 */ lhz r8, 0x28(r3) +/* 8031284C 0030E4AC 81 46 02 64 */ lwz r10, 0x264(r6) +/* 80312850 0030E4B0 7C 00 22 14 */ add r0, r0, r4 +/* 80312854 0030E4B4 88 E9 00 20 */ lbz r7, 0x20(r9) +/* 80312858 0030E4B8 7D 08 22 14 */ add r8, r8, r4 +/* 8031285C 0030E4BC 7C 00 50 40 */ cmplw r0, r10 +/* 80312860 0030E4C0 7D 00 3C 30 */ srw r0, r8, r7 +/* 80312864 0030E4C4 7C E5 02 14 */ add r7, r5, r0 +/* 80312868 0030E4C8 40 80 00 34 */ bge lbl_8031289C +/* 8031286C 0030E4CC A0 A9 00 00 */ lhz r5, 0(r9) +/* 80312870 0030E4D0 38 05 FF FF */ addi r0, r5, -1 +/* 80312874 0030E4D4 7C 00 40 39 */ and. r0, r0, r8 +/* 80312878 0030E4D8 41 82 00 0C */ beq lbl_80312884 +/* 8031287C 0030E4DC 90 E3 00 20 */ stw r7, 0x20(r3) +/* 80312880 0030E4E0 48 00 00 0C */ b lbl_8031288C +lbl_80312884: +/* 80312884 0030E4E4 38 00 FF FF */ li r0, -1 +/* 80312888 0030E4E8 90 03 00 20 */ stw r0, 0x20(r3) +lbl_8031288C: +/* 8031288C 0030E4EC 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80312890 0030E4F0 7C 00 22 14 */ add r0, r0, r4 +/* 80312894 0030E4F4 90 03 00 1C */ stw r0, 0x1c(r3) +/* 80312898 0030E4F8 48 00 00 40 */ b lbl_803128D8 +lbl_8031289C: +/* 8031289C 0030E4FC 2C 0A 00 00 */ cmpwi r10, 0 +/* 803128A0 0030E500 40 82 00 24 */ bne lbl_803128C4 +/* 803128A4 0030E504 38 A0 FF FF */ li r5, -1 +/* 803128A8 0030E508 38 00 00 00 */ li r0, 0 +/* 803128AC 0030E50C 2C 04 00 00 */ cmpwi r4, 0 +/* 803128B0 0030E510 90 A3 00 20 */ stw r5, 0x20(r3) +/* 803128B4 0030E514 90 03 00 1C */ stw r0, 0x1c(r3) +/* 803128B8 0030E518 41 82 00 20 */ beq lbl_803128D8 +/* 803128BC 0030E51C 3B E0 00 00 */ li r31, 0 +/* 803128C0 0030E520 48 00 00 18 */ b lbl_803128D8 +lbl_803128C4: +/* 803128C4 0030E524 38 00 FF FF */ li r0, -1 +/* 803128C8 0030E528 3B E0 00 00 */ li r31, 0 +/* 803128CC 0030E52C 90 03 00 20 */ stw r0, 0x20(r3) +/* 803128D0 0030E530 80 06 02 64 */ lwz r0, 0x264(r6) +/* 803128D4 0030E534 90 03 00 1C */ stw r0, 0x1c(r3) +lbl_803128D8: +/* 803128D8 0030E538 2C 03 00 00 */ cmpwi r3, 0 +/* 803128DC 0030E53C 40 82 00 0C */ bne lbl_803128E8 +/* 803128E0 0030E540 38 A0 00 00 */ li r5, 0 +/* 803128E4 0030E544 48 00 00 0C */ b lbl_803128F0 +lbl_803128E8: +/* 803128E8 0030E548 80 83 00 08 */ lwz r4, 8(r3) +/* 803128EC 0030E54C 80 A4 02 68 */ lwz r5, 0x268(r4) +lbl_803128F0: +/* 803128F0 0030E550 80 C3 00 1C */ lwz r6, 0x1c(r3) +/* 803128F4 0030E554 7C E4 3B 78 */ mr r4, r7 +/* 803128F8 0030E558 88 05 00 20 */ lbz r0, 0x20(r5) +/* 803128FC 0030E55C 7C C0 04 30 */ srw r0, r6, r0 +/* 80312900 0030E560 90 03 00 24 */ stw r0, 0x24(r3) +/* 80312904 0030E564 A0 A5 00 00 */ lhz r5, 0(r5) +/* 80312908 0030E568 38 05 FF FF */ addi r0, r5, -1 +/* 8031290C 0030E56C 7C C0 00 38 */ and r0, r6, r0 +/* 80312910 0030E570 B0 03 00 28 */ sth r0, 0x28(r3) +/* 80312914 0030E574 4B FF 84 6D */ bl func_8030AD80 +/* 80312918 0030E578 7F E3 FB 78 */ mr r3, r31 +/* 8031291C 0030E57C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80312920 0030E580 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80312924 0030E584 7C 08 03 A6 */ mtlr r0 +/* 80312928 0030E588 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031292C 0030E58C 4E 80 00 20 */ blr + +.global func_80312930 +func_80312930: +/* 80312930 0030E590 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80312934 0030E594 7C 08 02 A6 */ mflr r0 +/* 80312938 0030E598 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031293C 0030E59C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312940 0030E5A0 4B EB 47 E9 */ bl _savegpr_27 +/* 80312944 0030E5A4 38 00 00 00 */ li r0, 0 +/* 80312948 0030E5A8 7C BD 2B 78 */ mr r29, r5 +/* 8031294C 0030E5AC 90 07 00 00 */ stw r0, 0(r7) +/* 80312950 0030E5B0 7C 7B 1B 78 */ mr r27, r3 +/* 80312954 0030E5B4 7C 9C 23 78 */ mr r28, r4 +/* 80312958 0030E5B8 7C DE 33 78 */ mr r30, r6 +/* 8031295C 0030E5BC A0 A4 00 28 */ lhz r5, 0x28(r4) +/* 80312960 0030E5C0 7C FF 3B 78 */ mr r31, r7 +/* 80312964 0030E5C4 2C 05 00 00 */ cmpwi r5, 0 +/* 80312968 0030E5C8 40 82 00 0C */ bne lbl_80312974 +/* 8031296C 0030E5CC 38 60 00 00 */ li r3, 0 +/* 80312970 0030E5D0 48 00 02 40 */ b lbl_80312BB0 +lbl_80312974: +/* 80312974 0030E5D4 A0 03 00 00 */ lhz r0, 0(r3) +/* 80312978 0030E5D8 7C E5 00 50 */ subf r7, r5, r0 +/* 8031297C 0030E5DC 7C 06 38 40 */ cmplw r6, r7 +/* 80312980 0030E5E0 40 81 00 08 */ ble lbl_80312988 +/* 80312984 0030E5E4 7C FE 3B 78 */ mr r30, r7 +lbl_80312988: +/* 80312988 0030E5E8 80 C4 00 08 */ lwz r6, 8(r4) +/* 8031298C 0030E5EC 80 64 00 1C */ lwz r3, 0x1c(r4) +/* 80312990 0030E5F0 80 A6 02 64 */ lwz r5, 0x264(r6) +/* 80312994 0030E5F4 7C 03 F2 14 */ add r0, r3, r30 +/* 80312998 0030E5F8 7C 00 28 40 */ cmplw r0, r5 +/* 8031299C 0030E5FC 40 81 00 18 */ ble lbl_803129B4 +/* 803129A0 0030E600 7F C3 28 50 */ subf r30, r3, r5 +/* 803129A4 0030E604 7C 1E 38 40 */ cmplw r30, r7 +/* 803129A8 0030E608 40 80 00 0C */ bge lbl_803129B4 +/* 803129AC 0030E60C 38 60 00 00 */ li r3, 0 +/* 803129B0 0030E610 48 00 02 00 */ b lbl_80312BB0 +lbl_803129B4: +/* 803129B4 0030E614 80 A4 00 20 */ lwz r5, 0x20(r4) +/* 803129B8 0030E618 3C 05 00 01 */ addis r0, r5, 1 +/* 803129BC 0030E61C 28 00 FF FF */ cmplwi r0, 0xffff +/* 803129C0 0030E620 40 82 01 A0 */ bne lbl_80312B60 +/* 803129C4 0030E624 80 84 00 24 */ lwz r4, 0x24(r4) +/* 803129C8 0030E628 38 66 00 04 */ addi r3, r6, 4 +/* 803129CC 0030E62C 38 DC 00 20 */ addi r6, r28, 0x20 +/* 803129D0 0030E630 38 A0 00 00 */ li r5, 0 +/* 803129D4 0030E634 4B FF D5 95 */ bl func_8030FF68 +/* 803129D8 0030E638 2C 03 00 00 */ cmpwi r3, 0 +/* 803129DC 0030E63C 41 82 00 08 */ beq lbl_803129E4 +/* 803129E0 0030E640 48 00 01 D0 */ b lbl_80312BB0 +lbl_803129E4: +/* 803129E4 0030E644 80 BC 00 20 */ lwz r5, 0x20(r28) +/* 803129E8 0030E648 3C 05 00 01 */ addis r0, r5, 1 +/* 803129EC 0030E64C 28 00 FF FF */ cmplwi r0, 0xffff +/* 803129F0 0030E650 40 82 00 B4 */ bne lbl_80312AA4 +/* 803129F4 0030E654 80 7C 00 08 */ lwz r3, 8(r28) +/* 803129F8 0030E658 2C 1C 00 00 */ cmpwi r28, 0 +/* 803129FC 0030E65C 81 03 02 64 */ lwz r8, 0x264(r3) +/* 80312A00 0030E660 40 82 00 0C */ bne lbl_80312A0C +/* 80312A04 0030E664 38 80 00 00 */ li r4, 0 +/* 80312A08 0030E668 48 00 00 08 */ b lbl_80312A10 +lbl_80312A0C: +/* 80312A0C 0030E66C 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312A10: +/* 80312A10 0030E670 A0 64 00 00 */ lhz r3, 0(r4) +/* 80312A14 0030E674 80 1C 00 1C */ lwz r0, 0x1c(r28) +/* 80312A18 0030E678 38 63 FF FF */ addi r3, r3, -1 +/* 80312A1C 0030E67C 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80312A20 0030E680 7C 07 18 38 */ and r7, r0, r3 +/* 80312A24 0030E684 7C 05 24 30 */ srw r5, r0, r4 +/* 80312A28 0030E688 7D 03 18 38 */ and r3, r8, r3 +/* 80312A2C 0030E68C 7C C7 00 D0 */ neg r6, r7 +/* 80312A30 0030E690 7D 04 24 30 */ srw r4, r8, r4 +/* 80312A34 0030E694 7C 03 00 D0 */ neg r0, r3 +/* 80312A38 0030E698 7C 00 1B 78 */ or r0, r0, r3 +/* 80312A3C 0030E69C 7C C6 3B 78 */ or r6, r6, r7 +/* 80312A40 0030E6A0 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80312A44 0030E6A4 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80312A48 0030E6A8 7C 65 1A 14 */ add r3, r5, r3 +/* 80312A4C 0030E6AC 7C 04 02 14 */ add r0, r4, r0 +/* 80312A50 0030E6B0 7C 03 00 40 */ cmplw r3, r0 +/* 80312A54 0030E6B4 41 82 00 0C */ beq lbl_80312A60 +/* 80312A58 0030E6B8 38 00 FF FF */ li r0, -1 +/* 80312A5C 0030E6BC 90 1C 00 20 */ stw r0, 0x20(r28) +lbl_80312A60: +/* 80312A60 0030E6C0 2C 1C 00 00 */ cmpwi r28, 0 +/* 80312A64 0030E6C4 91 1C 00 1C */ stw r8, 0x1c(r28) +/* 80312A68 0030E6C8 40 82 00 0C */ bne lbl_80312A74 +/* 80312A6C 0030E6CC 38 80 00 00 */ li r4, 0 +/* 80312A70 0030E6D0 48 00 00 0C */ b lbl_80312A7C +lbl_80312A74: +/* 80312A74 0030E6D4 80 7C 00 08 */ lwz r3, 8(r28) +/* 80312A78 0030E6D8 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312A7C: +/* 80312A7C 0030E6DC 80 BC 00 1C */ lwz r5, 0x1c(r28) +/* 80312A80 0030E6E0 38 60 00 1C */ li r3, 0x1c +/* 80312A84 0030E6E4 88 04 00 20 */ lbz r0, 0x20(r4) +/* 80312A88 0030E6E8 7C A0 04 30 */ srw r0, r5, r0 +/* 80312A8C 0030E6EC 90 1C 00 24 */ stw r0, 0x24(r28) +/* 80312A90 0030E6F0 A0 84 00 00 */ lhz r4, 0(r4) +/* 80312A94 0030E6F4 38 04 FF FF */ addi r0, r4, -1 +/* 80312A98 0030E6F8 7C A0 00 38 */ and r0, r5, r0 +/* 80312A9C 0030E6FC B0 1C 00 28 */ sth r0, 0x28(r28) +/* 80312AA0 0030E700 48 00 01 10 */ b lbl_80312BB0 +lbl_80312AA4: +/* 80312AA4 0030E704 80 7C 00 08 */ lwz r3, 8(r28) +/* 80312AA8 0030E708 80 DC 00 1C */ lwz r6, 0x1c(r28) +/* 80312AAC 0030E70C 81 03 02 64 */ lwz r8, 0x264(r3) +/* 80312AB0 0030E710 7C 06 F2 14 */ add r0, r6, r30 +/* 80312AB4 0030E714 7C 00 40 40 */ cmplw r0, r8 +/* 80312AB8 0030E718 40 81 00 A8 */ ble lbl_80312B60 +/* 80312ABC 0030E71C 2C 1C 00 00 */ cmpwi r28, 0 +/* 80312AC0 0030E720 40 82 00 0C */ bne lbl_80312ACC +/* 80312AC4 0030E724 38 80 00 00 */ li r4, 0 +/* 80312AC8 0030E728 48 00 00 08 */ b lbl_80312AD0 +lbl_80312ACC: +/* 80312ACC 0030E72C 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312AD0: +/* 80312AD0 0030E730 A0 64 00 00 */ lhz r3, 0(r4) +/* 80312AD4 0030E734 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80312AD8 0030E738 38 03 FF FF */ addi r0, r3, -1 +/* 80312ADC 0030E73C 7C C7 00 38 */ and r7, r6, r0 +/* 80312AE0 0030E740 7C C5 24 30 */ srw r5, r6, r4 +/* 80312AE4 0030E744 7D 03 00 38 */ and r3, r8, r0 +/* 80312AE8 0030E748 7D 04 24 30 */ srw r4, r8, r4 +/* 80312AEC 0030E74C 7C C7 00 D0 */ neg r6, r7 +/* 80312AF0 0030E750 7C 03 00 D0 */ neg r0, r3 +/* 80312AF4 0030E754 7C 00 1B 78 */ or r0, r0, r3 +/* 80312AF8 0030E758 7C C6 3B 78 */ or r6, r6, r7 +/* 80312AFC 0030E75C 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80312B00 0030E760 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80312B04 0030E764 7C 65 1A 14 */ add r3, r5, r3 +/* 80312B08 0030E768 7C 04 02 14 */ add r0, r4, r0 +/* 80312B0C 0030E76C 7C 03 00 40 */ cmplw r3, r0 +/* 80312B10 0030E770 41 82 00 0C */ beq lbl_80312B1C +/* 80312B14 0030E774 38 00 FF FF */ li r0, -1 +/* 80312B18 0030E778 90 1C 00 20 */ stw r0, 0x20(r28) +lbl_80312B1C: +/* 80312B1C 0030E77C 2C 1C 00 00 */ cmpwi r28, 0 +/* 80312B20 0030E780 91 1C 00 1C */ stw r8, 0x1c(r28) +/* 80312B24 0030E784 40 82 00 0C */ bne lbl_80312B30 +/* 80312B28 0030E788 38 80 00 00 */ li r4, 0 +/* 80312B2C 0030E78C 48 00 00 0C */ b lbl_80312B38 +lbl_80312B30: +/* 80312B30 0030E790 80 7C 00 08 */ lwz r3, 8(r28) +/* 80312B34 0030E794 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312B38: +/* 80312B38 0030E798 80 BC 00 1C */ lwz r5, 0x1c(r28) +/* 80312B3C 0030E79C 38 60 00 1B */ li r3, 0x1b +/* 80312B40 0030E7A0 88 04 00 20 */ lbz r0, 0x20(r4) +/* 80312B44 0030E7A4 7C A0 04 30 */ srw r0, r5, r0 +/* 80312B48 0030E7A8 90 1C 00 24 */ stw r0, 0x24(r28) +/* 80312B4C 0030E7AC A0 84 00 00 */ lhz r4, 0(r4) +/* 80312B50 0030E7B0 38 04 FF FF */ addi r0, r4, -1 +/* 80312B54 0030E7B4 7C A0 00 38 */ and r0, r5, r0 +/* 80312B58 0030E7B8 B0 1C 00 28 */ sth r0, 0x28(r28) +/* 80312B5C 0030E7BC 48 00 00 54 */ b lbl_80312BB0 +lbl_80312B60: +/* 80312B60 0030E7C0 A0 DC 00 28 */ lhz r6, 0x28(r28) +/* 80312B64 0030E7C4 7F 63 DB 78 */ mr r3, r27 +/* 80312B68 0030E7C8 7F A4 EB 78 */ mr r4, r29 +/* 80312B6C 0030E7CC 7F C7 F3 78 */ mr r7, r30 +/* 80312B70 0030E7D0 39 01 00 08 */ addi r8, r1, 8 +/* 80312B74 0030E7D4 39 20 00 01 */ li r9, 1 +/* 80312B78 0030E7D8 48 00 5E B1 */ bl func_80318A28 +/* 80312B7C 0030E7DC 2C 03 00 00 */ cmpwi r3, 0 +/* 80312B80 0030E7E0 41 82 00 14 */ beq lbl_80312B94 +/* 80312B84 0030E7E4 80 01 00 08 */ lwz r0, 8(r1) +/* 80312B88 0030E7E8 2C 00 00 00 */ cmpwi r0, 0 +/* 80312B8C 0030E7EC 40 82 00 08 */ bne lbl_80312B94 +/* 80312B90 0030E7F0 48 00 00 20 */ b lbl_80312BB0 +lbl_80312B94: +/* 80312B94 0030E7F4 80 01 00 08 */ lwz r0, 8(r1) +/* 80312B98 0030E7F8 7F 83 E3 78 */ mr r3, r28 +/* 80312B9C 0030E7FC 90 1F 00 00 */ stw r0, 0(r31) +/* 80312BA0 0030E800 80 81 00 08 */ lwz r4, 8(r1) +/* 80312BA4 0030E804 80 BC 00 20 */ lwz r5, 0x20(r28) +/* 80312BA8 0030E808 4B FF FC 6D */ bl func_80312814 +/* 80312BAC 0030E80C 38 60 00 00 */ li r3, 0 +lbl_80312BB0: +/* 80312BB0 0030E810 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312BB4 0030E814 4B EB 45 C1 */ bl _restgpr_27 +/* 80312BB8 0030E818 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80312BBC 0030E81C 7C 08 03 A6 */ mtlr r0 +/* 80312BC0 0030E820 38 21 00 30 */ addi r1, r1, 0x30 +/* 80312BC4 0030E824 4E 80 00 20 */ blr + +.global func_80312BC8 +func_80312BC8: +/* 80312BC8 0030E828 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80312BCC 0030E82C 7C 08 02 A6 */ mflr r0 +/* 80312BD0 0030E830 90 01 00 34 */ stw r0, 0x34(r1) +/* 80312BD4 0030E834 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312BD8 0030E838 4B EB 45 51 */ bl _savegpr_27 +/* 80312BDC 0030E83C 38 00 00 00 */ li r0, 0 +/* 80312BE0 0030E840 7C 7B 1B 78 */ mr r27, r3 +/* 80312BE4 0030E844 90 07 00 00 */ stw r0, 0(r7) +/* 80312BE8 0030E848 7C FE 3B 78 */ mr r30, r7 +/* 80312BEC 0030E84C 7C 9F 23 78 */ mr r31, r4 +/* 80312BF0 0030E850 7C DD 33 78 */ mr r29, r6 +/* 80312BF4 0030E854 90 01 00 0C */ stw r0, 0xc(r1) +/* 80312BF8 0030E858 7C BC 2B 78 */ mr r28, r5 +/* 80312BFC 0030E85C 7F A5 EB 78 */ mr r5, r29 +/* 80312C00 0030E860 38 DF 00 20 */ addi r6, r31, 0x20 +/* 80312C04 0030E864 80 64 00 08 */ lwz r3, 8(r4) +/* 80312C08 0030E868 38 E1 00 0C */ addi r7, r1, 0xc +/* 80312C0C 0030E86C 80 84 00 24 */ lwz r4, 0x24(r4) +/* 80312C10 0030E870 38 63 00 04 */ addi r3, r3, 4 +/* 80312C14 0030E874 4B FF D5 01 */ bl func_80310114 +/* 80312C18 0030E878 2C 03 00 00 */ cmpwi r3, 0 +/* 80312C1C 0030E87C 41 82 00 08 */ beq lbl_80312C24 +/* 80312C20 0030E880 48 00 01 68 */ b lbl_80312D88 +lbl_80312C24: +/* 80312C24 0030E884 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 80312C28 0030E888 3C 05 00 01 */ addis r0, r5, 1 +/* 80312C2C 0030E88C 28 00 FF FF */ cmplwi r0, 0xffff +/* 80312C30 0030E890 40 82 00 B4 */ bne lbl_80312CE4 +/* 80312C34 0030E894 80 7F 00 08 */ lwz r3, 8(r31) +/* 80312C38 0030E898 2C 1F 00 00 */ cmpwi r31, 0 +/* 80312C3C 0030E89C 81 03 02 64 */ lwz r8, 0x264(r3) +/* 80312C40 0030E8A0 40 82 00 0C */ bne lbl_80312C4C +/* 80312C44 0030E8A4 38 80 00 00 */ li r4, 0 +/* 80312C48 0030E8A8 48 00 00 08 */ b lbl_80312C50 +lbl_80312C4C: +/* 80312C4C 0030E8AC 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312C50: +/* 80312C50 0030E8B0 A0 64 00 00 */ lhz r3, 0(r4) +/* 80312C54 0030E8B4 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80312C58 0030E8B8 38 63 FF FF */ addi r3, r3, -1 +/* 80312C5C 0030E8BC 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80312C60 0030E8C0 7C 07 18 38 */ and r7, r0, r3 +/* 80312C64 0030E8C4 7C 05 24 30 */ srw r5, r0, r4 +/* 80312C68 0030E8C8 7D 03 18 38 */ and r3, r8, r3 +/* 80312C6C 0030E8CC 7C C7 00 D0 */ neg r6, r7 +/* 80312C70 0030E8D0 7D 04 24 30 */ srw r4, r8, r4 +/* 80312C74 0030E8D4 7C 03 00 D0 */ neg r0, r3 +/* 80312C78 0030E8D8 7C 00 1B 78 */ or r0, r0, r3 +/* 80312C7C 0030E8DC 7C C6 3B 78 */ or r6, r6, r7 +/* 80312C80 0030E8E0 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80312C84 0030E8E4 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80312C88 0030E8E8 7C 65 1A 14 */ add r3, r5, r3 +/* 80312C8C 0030E8EC 7C 04 02 14 */ add r0, r4, r0 +/* 80312C90 0030E8F0 7C 03 00 40 */ cmplw r3, r0 +/* 80312C94 0030E8F4 41 82 00 0C */ beq lbl_80312CA0 +/* 80312C98 0030E8F8 38 00 FF FF */ li r0, -1 +/* 80312C9C 0030E8FC 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_80312CA0: +/* 80312CA0 0030E900 2C 1F 00 00 */ cmpwi r31, 0 +/* 80312CA4 0030E904 91 1F 00 1C */ stw r8, 0x1c(r31) +/* 80312CA8 0030E908 40 82 00 0C */ bne lbl_80312CB4 +/* 80312CAC 0030E90C 38 80 00 00 */ li r4, 0 +/* 80312CB0 0030E910 48 00 00 0C */ b lbl_80312CBC +lbl_80312CB4: +/* 80312CB4 0030E914 80 7F 00 08 */ lwz r3, 8(r31) +/* 80312CB8 0030E918 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312CBC: +/* 80312CBC 0030E91C 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 80312CC0 0030E920 38 60 00 1C */ li r3, 0x1c +/* 80312CC4 0030E924 88 04 00 20 */ lbz r0, 0x20(r4) +/* 80312CC8 0030E928 7C A0 04 30 */ srw r0, r5, r0 +/* 80312CCC 0030E92C 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80312CD0 0030E930 A0 84 00 00 */ lhz r4, 0(r4) +/* 80312CD4 0030E934 38 04 FF FF */ addi r0, r4, -1 +/* 80312CD8 0030E938 7C A0 00 38 */ and r0, r5, r0 +/* 80312CDC 0030E93C B0 1F 00 28 */ sth r0, 0x28(r31) +/* 80312CE0 0030E940 48 00 00 A8 */ b lbl_80312D88 +lbl_80312CE4: +/* 80312CE4 0030E944 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80312CE8 0030E948 88 1B 00 20 */ lbz r0, 0x20(r27) +/* 80312CEC 0030E94C 7C 60 00 30 */ slw r0, r3, r0 +/* 80312CF0 0030E950 7C 1D 00 40 */ cmplw r29, r0 +/* 80312CF4 0030E954 40 81 00 08 */ ble lbl_80312CFC +/* 80312CF8 0030E958 7C 1D 03 78 */ mr r29, r0 +lbl_80312CFC: +/* 80312CFC 0030E95C 80 7F 00 08 */ lwz r3, 8(r31) +/* 80312D00 0030E960 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 80312D04 0030E964 80 63 02 64 */ lwz r3, 0x264(r3) +/* 80312D08 0030E968 7C 04 EA 14 */ add r0, r4, r29 +/* 80312D0C 0030E96C 7C 00 18 40 */ cmplw r0, r3 +/* 80312D10 0030E970 40 81 00 28 */ ble lbl_80312D38 +/* 80312D14 0030E974 A0 DB 00 00 */ lhz r6, 0(r27) +/* 80312D18 0030E978 7F A4 18 50 */ subf r29, r4, r3 +/* 80312D1C 0030E97C 38 06 FF FF */ addi r0, r6, -1 +/* 80312D20 0030E980 7F A0 00 38 */ and r0, r29, r0 +/* 80312D24 0030E984 7F A0 E8 50 */ subf r29, r0, r29 +/* 80312D28 0030E988 7C 1D 30 40 */ cmplw r29, r6 +/* 80312D2C 0030E98C 40 80 00 0C */ bge lbl_80312D38 +/* 80312D30 0030E990 38 60 00 00 */ li r3, 0 +/* 80312D34 0030E994 48 00 00 54 */ b lbl_80312D88 +lbl_80312D38: +/* 80312D38 0030E998 A0 DF 00 28 */ lhz r6, 0x28(r31) +/* 80312D3C 0030E99C 7F 63 DB 78 */ mr r3, r27 +/* 80312D40 0030E9A0 7F 84 E3 78 */ mr r4, r28 +/* 80312D44 0030E9A4 7F A7 EB 78 */ mr r7, r29 +/* 80312D48 0030E9A8 39 01 00 08 */ addi r8, r1, 8 +/* 80312D4C 0030E9AC 39 20 00 01 */ li r9, 1 +/* 80312D50 0030E9B0 48 00 5C D9 */ bl func_80318A28 +/* 80312D54 0030E9B4 2C 03 00 00 */ cmpwi r3, 0 +/* 80312D58 0030E9B8 41 82 00 14 */ beq lbl_80312D6C +/* 80312D5C 0030E9BC 80 01 00 08 */ lwz r0, 8(r1) +/* 80312D60 0030E9C0 2C 00 00 00 */ cmpwi r0, 0 +/* 80312D64 0030E9C4 40 82 00 08 */ bne lbl_80312D6C +/* 80312D68 0030E9C8 48 00 00 20 */ b lbl_80312D88 +lbl_80312D6C: +/* 80312D6C 0030E9CC 80 01 00 08 */ lwz r0, 8(r1) +/* 80312D70 0030E9D0 7F E3 FB 78 */ mr r3, r31 +/* 80312D74 0030E9D4 90 1E 00 00 */ stw r0, 0(r30) +/* 80312D78 0030E9D8 80 81 00 08 */ lwz r4, 8(r1) +/* 80312D7C 0030E9DC 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 80312D80 0030E9E0 4B FF FA 95 */ bl func_80312814 +/* 80312D84 0030E9E4 38 60 00 00 */ li r3, 0 +lbl_80312D88: +/* 80312D88 0030E9E8 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312D8C 0030E9EC 4B EB 43 E9 */ bl _restgpr_27 +/* 80312D90 0030E9F0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80312D94 0030E9F4 7C 08 03 A6 */ mtlr r0 +/* 80312D98 0030E9F8 38 21 00 30 */ addi r1, r1, 0x30 +/* 80312D9C 0030E9FC 4E 80 00 20 */ blr + +.global func_80312DA0 +func_80312DA0: +/* 80312DA0 0030EA00 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80312DA4 0030EA04 7C 08 02 A6 */ mflr r0 +/* 80312DA8 0030EA08 90 01 00 34 */ stw r0, 0x34(r1) +/* 80312DAC 0030EA0C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80312DB0 0030EA10 4B EB 43 79 */ bl _savegpr_27 +/* 80312DB4 0030EA14 38 00 00 00 */ li r0, 0 +/* 80312DB8 0030EA18 2C 06 00 00 */ cmpwi r6, 0 +/* 80312DBC 0030EA1C 90 07 00 00 */ stw r0, 0(r7) +/* 80312DC0 0030EA20 7C 7B 1B 78 */ mr r27, r3 +/* 80312DC4 0030EA24 7C 9F 23 78 */ mr r31, r4 +/* 80312DC8 0030EA28 7C BC 2B 78 */ mr r28, r5 +/* 80312DCC 0030EA2C 7C DD 33 78 */ mr r29, r6 +/* 80312DD0 0030EA30 7C FE 3B 78 */ mr r30, r7 +/* 80312DD4 0030EA34 40 82 00 0C */ bne lbl_80312DE0 +/* 80312DD8 0030EA38 38 60 00 00 */ li r3, 0 +/* 80312DDC 0030EA3C 48 00 02 28 */ b lbl_80313004 +lbl_80312DE0: +/* 80312DE0 0030EA40 80 E4 00 08 */ lwz r7, 8(r4) +/* 80312DE4 0030EA44 80 64 00 1C */ lwz r3, 0x1c(r4) +/* 80312DE8 0030EA48 80 A7 02 64 */ lwz r5, 0x264(r7) +/* 80312DEC 0030EA4C 7C 03 32 14 */ add r0, r3, r6 +/* 80312DF0 0030EA50 7C 00 28 40 */ cmplw r0, r5 +/* 80312DF4 0030EA54 40 81 00 14 */ ble lbl_80312E08 +/* 80312DF8 0030EA58 7F A3 28 51 */ subf. r29, r3, r5 +/* 80312DFC 0030EA5C 40 82 00 0C */ bne lbl_80312E08 +/* 80312E00 0030EA60 38 60 00 00 */ li r3, 0 +/* 80312E04 0030EA64 48 00 02 00 */ b lbl_80313004 +lbl_80312E08: +/* 80312E08 0030EA68 80 A4 00 20 */ lwz r5, 0x20(r4) +/* 80312E0C 0030EA6C 3C 05 00 01 */ addis r0, r5, 1 +/* 80312E10 0030EA70 28 00 FF FF */ cmplwi r0, 0xffff +/* 80312E14 0030EA74 40 82 01 A0 */ bne lbl_80312FB4 +/* 80312E18 0030EA78 80 84 00 24 */ lwz r4, 0x24(r4) +/* 80312E1C 0030EA7C 38 67 00 04 */ addi r3, r7, 4 +/* 80312E20 0030EA80 38 DF 00 20 */ addi r6, r31, 0x20 +/* 80312E24 0030EA84 38 A0 00 00 */ li r5, 0 +/* 80312E28 0030EA88 4B FF D1 41 */ bl func_8030FF68 +/* 80312E2C 0030EA8C 2C 03 00 00 */ cmpwi r3, 0 +/* 80312E30 0030EA90 41 82 00 08 */ beq lbl_80312E38 +/* 80312E34 0030EA94 48 00 01 D0 */ b lbl_80313004 +lbl_80312E38: +/* 80312E38 0030EA98 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 80312E3C 0030EA9C 3C 05 00 01 */ addis r0, r5, 1 +/* 80312E40 0030EAA0 28 00 FF FF */ cmplwi r0, 0xffff +/* 80312E44 0030EAA4 40 82 00 B4 */ bne lbl_80312EF8 +/* 80312E48 0030EAA8 80 7F 00 08 */ lwz r3, 8(r31) +/* 80312E4C 0030EAAC 2C 1F 00 00 */ cmpwi r31, 0 +/* 80312E50 0030EAB0 81 03 02 64 */ lwz r8, 0x264(r3) +/* 80312E54 0030EAB4 40 82 00 0C */ bne lbl_80312E60 +/* 80312E58 0030EAB8 38 80 00 00 */ li r4, 0 +/* 80312E5C 0030EABC 48 00 00 08 */ b lbl_80312E64 +lbl_80312E60: +/* 80312E60 0030EAC0 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312E64: +/* 80312E64 0030EAC4 A0 64 00 00 */ lhz r3, 0(r4) +/* 80312E68 0030EAC8 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80312E6C 0030EACC 38 63 FF FF */ addi r3, r3, -1 +/* 80312E70 0030EAD0 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80312E74 0030EAD4 7C 07 18 38 */ and r7, r0, r3 +/* 80312E78 0030EAD8 7C 05 24 30 */ srw r5, r0, r4 +/* 80312E7C 0030EADC 7D 03 18 38 */ and r3, r8, r3 +/* 80312E80 0030EAE0 7C C7 00 D0 */ neg r6, r7 +/* 80312E84 0030EAE4 7D 04 24 30 */ srw r4, r8, r4 +/* 80312E88 0030EAE8 7C 03 00 D0 */ neg r0, r3 +/* 80312E8C 0030EAEC 7C 00 1B 78 */ or r0, r0, r3 +/* 80312E90 0030EAF0 7C C6 3B 78 */ or r6, r6, r7 +/* 80312E94 0030EAF4 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80312E98 0030EAF8 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80312E9C 0030EAFC 7C 65 1A 14 */ add r3, r5, r3 +/* 80312EA0 0030EB00 7C 04 02 14 */ add r0, r4, r0 +/* 80312EA4 0030EB04 7C 03 00 40 */ cmplw r3, r0 +/* 80312EA8 0030EB08 41 82 00 0C */ beq lbl_80312EB4 +/* 80312EAC 0030EB0C 38 00 FF FF */ li r0, -1 +/* 80312EB0 0030EB10 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_80312EB4: +/* 80312EB4 0030EB14 2C 1F 00 00 */ cmpwi r31, 0 +/* 80312EB8 0030EB18 91 1F 00 1C */ stw r8, 0x1c(r31) +/* 80312EBC 0030EB1C 40 82 00 0C */ bne lbl_80312EC8 +/* 80312EC0 0030EB20 38 80 00 00 */ li r4, 0 +/* 80312EC4 0030EB24 48 00 00 0C */ b lbl_80312ED0 +lbl_80312EC8: +/* 80312EC8 0030EB28 80 7F 00 08 */ lwz r3, 8(r31) +/* 80312ECC 0030EB2C 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312ED0: +/* 80312ED0 0030EB30 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 80312ED4 0030EB34 38 60 00 1C */ li r3, 0x1c +/* 80312ED8 0030EB38 88 04 00 20 */ lbz r0, 0x20(r4) +/* 80312EDC 0030EB3C 7C A0 04 30 */ srw r0, r5, r0 +/* 80312EE0 0030EB40 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80312EE4 0030EB44 A0 84 00 00 */ lhz r4, 0(r4) +/* 80312EE8 0030EB48 38 04 FF FF */ addi r0, r4, -1 +/* 80312EEC 0030EB4C 7C A0 00 38 */ and r0, r5, r0 +/* 80312EF0 0030EB50 B0 1F 00 28 */ sth r0, 0x28(r31) +/* 80312EF4 0030EB54 48 00 01 10 */ b lbl_80313004 +lbl_80312EF8: +/* 80312EF8 0030EB58 80 7F 00 08 */ lwz r3, 8(r31) +/* 80312EFC 0030EB5C 80 DF 00 1C */ lwz r6, 0x1c(r31) +/* 80312F00 0030EB60 81 03 02 64 */ lwz r8, 0x264(r3) +/* 80312F04 0030EB64 7C 06 EA 14 */ add r0, r6, r29 +/* 80312F08 0030EB68 7C 00 40 40 */ cmplw r0, r8 +/* 80312F0C 0030EB6C 40 81 00 A8 */ ble lbl_80312FB4 +/* 80312F10 0030EB70 2C 1F 00 00 */ cmpwi r31, 0 +/* 80312F14 0030EB74 40 82 00 0C */ bne lbl_80312F20 +/* 80312F18 0030EB78 38 80 00 00 */ li r4, 0 +/* 80312F1C 0030EB7C 48 00 00 08 */ b lbl_80312F24 +lbl_80312F20: +/* 80312F20 0030EB80 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312F24: +/* 80312F24 0030EB84 A0 64 00 00 */ lhz r3, 0(r4) +/* 80312F28 0030EB88 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80312F2C 0030EB8C 38 03 FF FF */ addi r0, r3, -1 +/* 80312F30 0030EB90 7C C7 00 38 */ and r7, r6, r0 +/* 80312F34 0030EB94 7C C5 24 30 */ srw r5, r6, r4 +/* 80312F38 0030EB98 7D 03 00 38 */ and r3, r8, r0 +/* 80312F3C 0030EB9C 7D 04 24 30 */ srw r4, r8, r4 +/* 80312F40 0030EBA0 7C C7 00 D0 */ neg r6, r7 +/* 80312F44 0030EBA4 7C 03 00 D0 */ neg r0, r3 +/* 80312F48 0030EBA8 7C 00 1B 78 */ or r0, r0, r3 +/* 80312F4C 0030EBAC 7C C6 3B 78 */ or r6, r6, r7 +/* 80312F50 0030EBB0 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80312F54 0030EBB4 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80312F58 0030EBB8 7C 65 1A 14 */ add r3, r5, r3 +/* 80312F5C 0030EBBC 7C 04 02 14 */ add r0, r4, r0 +/* 80312F60 0030EBC0 7C 03 00 40 */ cmplw r3, r0 +/* 80312F64 0030EBC4 41 82 00 0C */ beq lbl_80312F70 +/* 80312F68 0030EBC8 38 00 FF FF */ li r0, -1 +/* 80312F6C 0030EBCC 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_80312F70: +/* 80312F70 0030EBD0 2C 1F 00 00 */ cmpwi r31, 0 +/* 80312F74 0030EBD4 91 1F 00 1C */ stw r8, 0x1c(r31) +/* 80312F78 0030EBD8 40 82 00 0C */ bne lbl_80312F84 +/* 80312F7C 0030EBDC 38 80 00 00 */ li r4, 0 +/* 80312F80 0030EBE0 48 00 00 0C */ b lbl_80312F8C +lbl_80312F84: +/* 80312F84 0030EBE4 80 7F 00 08 */ lwz r3, 8(r31) +/* 80312F88 0030EBE8 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80312F8C: +/* 80312F8C 0030EBEC 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 80312F90 0030EBF0 38 60 00 1B */ li r3, 0x1b +/* 80312F94 0030EBF4 88 04 00 20 */ lbz r0, 0x20(r4) +/* 80312F98 0030EBF8 7C A0 04 30 */ srw r0, r5, r0 +/* 80312F9C 0030EBFC 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80312FA0 0030EC00 A0 84 00 00 */ lhz r4, 0(r4) +/* 80312FA4 0030EC04 38 04 FF FF */ addi r0, r4, -1 +/* 80312FA8 0030EC08 7C A0 00 38 */ and r0, r5, r0 +/* 80312FAC 0030EC0C B0 1F 00 28 */ sth r0, 0x28(r31) +/* 80312FB0 0030EC10 48 00 00 54 */ b lbl_80313004 +lbl_80312FB4: +/* 80312FB4 0030EC14 A0 DF 00 28 */ lhz r6, 0x28(r31) +/* 80312FB8 0030EC18 7F 63 DB 78 */ mr r3, r27 +/* 80312FBC 0030EC1C 7F 84 E3 78 */ mr r4, r28 +/* 80312FC0 0030EC20 7F A7 EB 78 */ mr r7, r29 +/* 80312FC4 0030EC24 39 01 00 08 */ addi r8, r1, 8 +/* 80312FC8 0030EC28 39 20 00 01 */ li r9, 1 +/* 80312FCC 0030EC2C 48 00 5A 5D */ bl func_80318A28 +/* 80312FD0 0030EC30 2C 03 00 00 */ cmpwi r3, 0 +/* 80312FD4 0030EC34 41 82 00 14 */ beq lbl_80312FE8 +/* 80312FD8 0030EC38 80 01 00 08 */ lwz r0, 8(r1) +/* 80312FDC 0030EC3C 2C 00 00 00 */ cmpwi r0, 0 +/* 80312FE0 0030EC40 40 82 00 08 */ bne lbl_80312FE8 +/* 80312FE4 0030EC44 48 00 00 20 */ b lbl_80313004 +lbl_80312FE8: +/* 80312FE8 0030EC48 80 01 00 08 */ lwz r0, 8(r1) +/* 80312FEC 0030EC4C 7F E3 FB 78 */ mr r3, r31 +/* 80312FF0 0030EC50 90 1E 00 00 */ stw r0, 0(r30) +/* 80312FF4 0030EC54 80 81 00 08 */ lwz r4, 8(r1) +/* 80312FF8 0030EC58 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 80312FFC 0030EC5C 4B FF F8 19 */ bl func_80312814 +/* 80313000 0030EC60 38 60 00 00 */ li r3, 0 +lbl_80313004: +/* 80313004 0030EC64 39 61 00 30 */ addi r11, r1, 0x30 +/* 80313008 0030EC68 4B EB 41 6D */ bl _restgpr_27 +/* 8031300C 0030EC6C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80313010 0030EC70 7C 08 03 A6 */ mtlr r0 +/* 80313014 0030EC74 38 21 00 30 */ addi r1, r1, 0x30 +/* 80313018 0030EC78 4E 80 00 20 */ blr + +.global func_8031301C +func_8031301C: +/* 8031301C 0030EC7C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80313020 0030EC80 7C 08 02 A6 */ mflr r0 +/* 80313024 0030EC84 90 01 00 34 */ stw r0, 0x34(r1) +/* 80313028 0030EC88 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031302C 0030EC8C 4B EB 40 FD */ bl _savegpr_27 +/* 80313030 0030EC90 80 E3 00 08 */ lwz r7, 8(r3) +/* 80313034 0030EC94 39 03 00 0C */ addi r8, r3, 0xc +/* 80313038 0030EC98 2C 03 00 00 */ cmpwi r3, 0 +/* 8031303C 0030EC9C 38 00 00 00 */ li r0, 0 +/* 80313040 0030ECA0 91 07 00 34 */ stw r8, 0x34(r7) +/* 80313044 0030ECA4 7C 7C 1B 78 */ mr r28, r3 +/* 80313048 0030ECA8 7C 9D 23 78 */ mr r29, r4 +/* 8031304C 0030ECAC 7C BE 2B 78 */ mr r30, r5 +/* 80313050 0030ECB0 90 06 00 00 */ stw r0, 0(r6) +/* 80313054 0030ECB4 7C DF 33 78 */ mr r31, r6 +/* 80313058 0030ECB8 40 82 00 0C */ bne lbl_80313064 +/* 8031305C 0030ECBC 3B 60 00 00 */ li r27, 0 +/* 80313060 0030ECC0 48 00 00 0C */ b lbl_8031306C +lbl_80313064: +/* 80313064 0030ECC4 80 63 00 08 */ lwz r3, 8(r3) +/* 80313068 0030ECC8 83 63 02 68 */ lwz r27, 0x268(r3) +lbl_8031306C: +/* 8031306C 0030ECCC 7F 63 DB 78 */ mr r3, r27 +/* 80313070 0030ECD0 7F 84 E3 78 */ mr r4, r28 +/* 80313074 0030ECD4 7F A5 EB 78 */ mr r5, r29 +/* 80313078 0030ECD8 7F C6 F3 78 */ mr r6, r30 +/* 8031307C 0030ECDC 38 E1 00 08 */ addi r7, r1, 8 +/* 80313080 0030ECE0 4B FF F8 B1 */ bl func_80312930 +/* 80313084 0030ECE4 80 9F 00 00 */ lwz r4, 0(r31) +/* 80313088 0030ECE8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031308C 0030ECEC 80 01 00 08 */ lwz r0, 8(r1) +/* 80313090 0030ECF0 7C 04 02 14 */ add r0, r4, r0 +/* 80313094 0030ECF4 90 1F 00 00 */ stw r0, 0(r31) +/* 80313098 0030ECF8 41 82 00 08 */ beq lbl_803130A0 +/* 8031309C 0030ECFC 48 00 00 B0 */ b lbl_8031314C +lbl_803130A0: +/* 803130A0 0030ED00 80 01 00 08 */ lwz r0, 8(r1) +/* 803130A4 0030ED04 7C 00 F0 40 */ cmplw r0, r30 +/* 803130A8 0030ED08 41 80 00 0C */ blt lbl_803130B4 +/* 803130AC 0030ED0C 38 60 00 00 */ li r3, 0 +/* 803130B0 0030ED10 48 00 00 9C */ b lbl_8031314C +lbl_803130B4: +/* 803130B4 0030ED14 7F C0 F0 50 */ subf r30, r0, r30 +/* 803130B8 0030ED18 48 00 00 4C */ b lbl_80313104 +lbl_803130BC: +/* 803130BC 0030ED1C 80 1F 00 00 */ lwz r0, 0(r31) +/* 803130C0 0030ED20 7F 63 DB 78 */ mr r3, r27 +/* 803130C4 0030ED24 7F 84 E3 78 */ mr r4, r28 +/* 803130C8 0030ED28 7F C6 F3 78 */ mr r6, r30 +/* 803130CC 0030ED2C 7C BD 02 14 */ add r5, r29, r0 +/* 803130D0 0030ED30 38 E1 00 08 */ addi r7, r1, 8 +/* 803130D4 0030ED34 4B FF FA F5 */ bl func_80312BC8 +/* 803130D8 0030ED38 80 9F 00 00 */ lwz r4, 0(r31) +/* 803130DC 0030ED3C 2C 03 00 00 */ cmpwi r3, 0 +/* 803130E0 0030ED40 80 01 00 08 */ lwz r0, 8(r1) +/* 803130E4 0030ED44 7C 04 02 14 */ add r0, r4, r0 +/* 803130E8 0030ED48 90 1F 00 00 */ stw r0, 0(r31) +/* 803130EC 0030ED4C 41 82 00 08 */ beq lbl_803130F4 +/* 803130F0 0030ED50 48 00 00 5C */ b lbl_8031314C +lbl_803130F4: +/* 803130F4 0030ED54 80 01 00 08 */ lwz r0, 8(r1) +/* 803130F8 0030ED58 2C 00 00 00 */ cmpwi r0, 0 +/* 803130FC 0030ED5C 41 82 00 14 */ beq lbl_80313110 +/* 80313100 0030ED60 7F C0 F0 50 */ subf r30, r0, r30 +lbl_80313104: +/* 80313104 0030ED64 A0 1B 00 00 */ lhz r0, 0(r27) +/* 80313108 0030ED68 7C 1E 00 40 */ cmplw r30, r0 +/* 8031310C 0030ED6C 40 80 FF B0 */ bge lbl_803130BC +lbl_80313110: +/* 80313110 0030ED70 80 1F 00 00 */ lwz r0, 0(r31) +/* 80313114 0030ED74 7F 63 DB 78 */ mr r3, r27 +/* 80313118 0030ED78 7F 84 E3 78 */ mr r4, r28 +/* 8031311C 0030ED7C 7F C6 F3 78 */ mr r6, r30 +/* 80313120 0030ED80 7C BD 02 14 */ add r5, r29, r0 +/* 80313124 0030ED84 38 E1 00 08 */ addi r7, r1, 8 +/* 80313128 0030ED88 4B FF FC 79 */ bl func_80312DA0 +/* 8031312C 0030ED8C 80 9F 00 00 */ lwz r4, 0(r31) +/* 80313130 0030ED90 2C 03 00 00 */ cmpwi r3, 0 +/* 80313134 0030ED94 80 01 00 08 */ lwz r0, 8(r1) +/* 80313138 0030ED98 7C 04 02 14 */ add r0, r4, r0 +/* 8031313C 0030ED9C 90 1F 00 00 */ stw r0, 0(r31) +/* 80313140 0030EDA0 41 82 00 08 */ beq lbl_80313148 +/* 80313144 0030EDA4 48 00 00 08 */ b lbl_8031314C +lbl_80313148: +/* 80313148 0030EDA8 38 60 00 00 */ li r3, 0 +lbl_8031314C: +/* 8031314C 0030EDAC 39 61 00 30 */ addi r11, r1, 0x30 +/* 80313150 0030EDB0 4B EB 40 25 */ bl _restgpr_27 +/* 80313154 0030EDB4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80313158 0030EDB8 7C 08 03 A6 */ mtlr r0 +/* 8031315C 0030EDBC 38 21 00 30 */ addi r1, r1, 0x30 +/* 80313160 0030EDC0 4E 80 00 20 */ blr + +.global func_80313164 +func_80313164: +/* 80313164 0030EDC4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80313168 0030EDC8 7C 08 02 A6 */ mflr r0 +/* 8031316C 0030EDCC 90 01 00 34 */ stw r0, 0x34(r1) +/* 80313170 0030EDD0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80313174 0030EDD4 4B EB 3F B5 */ bl _savegpr_27 +/* 80313178 0030EDD8 38 00 00 00 */ li r0, 0 +/* 8031317C 0030EDDC 7C BC 2B 78 */ mr r28, r5 +/* 80313180 0030EDE0 90 07 00 00 */ stw r0, 0(r7) +/* 80313184 0030EDE4 7C 7B 1B 78 */ mr r27, r3 +/* 80313188 0030EDE8 7C 9F 23 78 */ mr r31, r4 +/* 8031318C 0030EDEC 7C DD 33 78 */ mr r29, r6 +/* 80313190 0030EDF0 A0 A4 00 28 */ lhz r5, 0x28(r4) +/* 80313194 0030EDF4 7C FE 3B 78 */ mr r30, r7 +/* 80313198 0030EDF8 2C 05 00 00 */ cmpwi r5, 0 +/* 8031319C 0030EDFC 40 82 00 0C */ bne lbl_803131A8 +/* 803131A0 0030EE00 38 60 00 00 */ li r3, 0 +/* 803131A4 0030EE04 48 00 02 00 */ b lbl_803133A4 +lbl_803131A8: +/* 803131A8 0030EE08 A0 03 00 00 */ lhz r0, 0(r3) +/* 803131AC 0030EE0C 7C 05 00 50 */ subf r0, r5, r0 +/* 803131B0 0030EE10 7C 06 00 40 */ cmplw r6, r0 +/* 803131B4 0030EE14 40 81 00 08 */ ble lbl_803131BC +/* 803131B8 0030EE18 7C 1D 03 78 */ mr r29, r0 +lbl_803131BC: +/* 803131BC 0030EE1C 80 A4 00 20 */ lwz r5, 0x20(r4) +/* 803131C0 0030EE20 3C 05 00 01 */ addis r0, r5, 1 +/* 803131C4 0030EE24 28 00 FF FF */ cmplwi r0, 0xffff +/* 803131C8 0030EE28 40 82 00 E8 */ bne lbl_803132B0 +/* 803131CC 0030EE2C 80 64 00 08 */ lwz r3, 8(r4) +/* 803131D0 0030EE30 38 DF 00 20 */ addi r6, r31, 0x20 +/* 803131D4 0030EE34 80 84 00 24 */ lwz r4, 0x24(r4) +/* 803131D8 0030EE38 38 A0 00 00 */ li r5, 0 +/* 803131DC 0030EE3C 38 63 00 04 */ addi r3, r3, 4 +/* 803131E0 0030EE40 4B FF CD 89 */ bl func_8030FF68 +/* 803131E4 0030EE44 2C 03 00 00 */ cmpwi r3, 0 +/* 803131E8 0030EE48 41 82 00 08 */ beq lbl_803131F0 +/* 803131EC 0030EE4C 48 00 01 B8 */ b lbl_803133A4 +lbl_803131F0: +/* 803131F0 0030EE50 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 803131F4 0030EE54 3C 05 00 01 */ addis r0, r5, 1 +/* 803131F8 0030EE58 28 00 FF FF */ cmplwi r0, 0xffff +/* 803131FC 0030EE5C 40 82 00 B4 */ bne lbl_803132B0 +/* 80313200 0030EE60 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313204 0030EE64 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313208 0030EE68 81 03 02 64 */ lwz r8, 0x264(r3) +/* 8031320C 0030EE6C 40 82 00 0C */ bne lbl_80313218 +/* 80313210 0030EE70 38 80 00 00 */ li r4, 0 +/* 80313214 0030EE74 48 00 00 08 */ b lbl_8031321C +lbl_80313218: +/* 80313218 0030EE78 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_8031321C: +/* 8031321C 0030EE7C A0 64 00 00 */ lhz r3, 0(r4) +/* 80313220 0030EE80 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80313224 0030EE84 38 63 FF FF */ addi r3, r3, -1 +/* 80313228 0030EE88 88 84 00 20 */ lbz r4, 0x20(r4) +/* 8031322C 0030EE8C 7C 07 18 38 */ and r7, r0, r3 +/* 80313230 0030EE90 7C 05 24 30 */ srw r5, r0, r4 +/* 80313234 0030EE94 7D 03 18 38 */ and r3, r8, r3 +/* 80313238 0030EE98 7C C7 00 D0 */ neg r6, r7 +/* 8031323C 0030EE9C 7D 04 24 30 */ srw r4, r8, r4 +/* 80313240 0030EEA0 7C 03 00 D0 */ neg r0, r3 +/* 80313244 0030EEA4 7C 00 1B 78 */ or r0, r0, r3 +/* 80313248 0030EEA8 7C C6 3B 78 */ or r6, r6, r7 +/* 8031324C 0030EEAC 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80313250 0030EEB0 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80313254 0030EEB4 7C 65 1A 14 */ add r3, r5, r3 +/* 80313258 0030EEB8 7C 04 02 14 */ add r0, r4, r0 +/* 8031325C 0030EEBC 7C 03 00 40 */ cmplw r3, r0 +/* 80313260 0030EEC0 41 82 00 0C */ beq lbl_8031326C +/* 80313264 0030EEC4 38 00 FF FF */ li r0, -1 +/* 80313268 0030EEC8 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_8031326C: +/* 8031326C 0030EECC 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313270 0030EED0 91 1F 00 1C */ stw r8, 0x1c(r31) +/* 80313274 0030EED4 40 82 00 0C */ bne lbl_80313280 +/* 80313278 0030EED8 38 80 00 00 */ li r4, 0 +/* 8031327C 0030EEDC 48 00 00 0C */ b lbl_80313288 +lbl_80313280: +/* 80313280 0030EEE0 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313284 0030EEE4 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80313288: +/* 80313288 0030EEE8 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 8031328C 0030EEEC 38 60 00 1C */ li r3, 0x1c +/* 80313290 0030EEF0 88 04 00 20 */ lbz r0, 0x20(r4) +/* 80313294 0030EEF4 7C A0 04 30 */ srw r0, r5, r0 +/* 80313298 0030EEF8 90 1F 00 24 */ stw r0, 0x24(r31) +/* 8031329C 0030EEFC A0 84 00 00 */ lhz r4, 0(r4) +/* 803132A0 0030EF00 38 04 FF FF */ addi r0, r4, -1 +/* 803132A4 0030EF04 7C A0 00 38 */ and r0, r5, r0 +/* 803132A8 0030EF08 B0 1F 00 28 */ sth r0, 0x28(r31) +/* 803132AC 0030EF0C 48 00 00 F8 */ b lbl_803133A4 +lbl_803132B0: +/* 803132B0 0030EF10 A0 DF 00 28 */ lhz r6, 0x28(r31) +/* 803132B4 0030EF14 7F 63 DB 78 */ mr r3, r27 +/* 803132B8 0030EF18 7F 84 E3 78 */ mr r4, r28 +/* 803132BC 0030EF1C 7F A7 EB 78 */ mr r7, r29 +/* 803132C0 0030EF20 39 01 00 08 */ addi r8, r1, 8 +/* 803132C4 0030EF24 39 20 00 01 */ li r9, 1 +/* 803132C8 0030EF28 48 00 5B 21 */ bl func_80318DE8 +/* 803132CC 0030EF2C 2C 03 00 00 */ cmpwi r3, 0 +/* 803132D0 0030EF30 41 82 00 14 */ beq lbl_803132E4 +/* 803132D4 0030EF34 80 01 00 08 */ lwz r0, 8(r1) +/* 803132D8 0030EF38 2C 00 00 00 */ cmpwi r0, 0 +/* 803132DC 0030EF3C 40 82 00 08 */ bne lbl_803132E4 +/* 803132E0 0030EF40 48 00 00 C4 */ b lbl_803133A4 +lbl_803132E4: +/* 803132E4 0030EF44 80 01 00 08 */ lwz r0, 8(r1) +/* 803132E8 0030EF48 2C 1F 00 00 */ cmpwi r31, 0 +/* 803132EC 0030EF4C 90 1E 00 00 */ stw r0, 0(r30) +/* 803132F0 0030EF50 80 DF 00 20 */ lwz r6, 0x20(r31) +/* 803132F4 0030EF54 80 A1 00 08 */ lwz r5, 8(r1) +/* 803132F8 0030EF58 40 82 00 0C */ bne lbl_80313304 +/* 803132FC 0030EF5C 38 80 00 00 */ li r4, 0 +/* 80313300 0030EF60 48 00 00 0C */ b lbl_8031330C +lbl_80313304: +/* 80313304 0030EF64 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313308 0030EF68 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_8031330C: +/* 8031330C 0030EF6C A0 1F 00 28 */ lhz r0, 0x28(r31) +/* 80313310 0030EF70 A0 64 00 00 */ lhz r3, 0(r4) +/* 80313314 0030EF74 7C E0 2A 14 */ add r7, r0, r5 +/* 80313318 0030EF78 88 84 00 20 */ lbz r4, 0x20(r4) +/* 8031331C 0030EF7C 38 03 FF FF */ addi r0, r3, -1 +/* 80313320 0030EF80 7C 00 38 39 */ and. r0, r0, r7 +/* 80313324 0030EF84 7C E0 24 30 */ srw r0, r7, r4 +/* 80313328 0030EF88 7C 86 02 14 */ add r4, r6, r0 +/* 8031332C 0030EF8C 41 82 00 0C */ beq lbl_80313338 +/* 80313330 0030EF90 90 9F 00 20 */ stw r4, 0x20(r31) +/* 80313334 0030EF94 48 00 00 0C */ b lbl_80313340 +lbl_80313338: +/* 80313338 0030EF98 38 00 FF FF */ li r0, -1 +/* 8031333C 0030EF9C 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_80313340: +/* 80313340 0030EFA0 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80313344 0030EFA4 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313348 0030EFA8 7C A0 2A 14 */ add r5, r0, r5 +/* 8031334C 0030EFAC 90 BF 00 1C */ stw r5, 0x1c(r31) +/* 80313350 0030EFB0 80 03 02 64 */ lwz r0, 0x264(r3) +/* 80313354 0030EFB4 7C 05 00 40 */ cmplw r5, r0 +/* 80313358 0030EFB8 40 81 00 08 */ ble lbl_80313360 +/* 8031335C 0030EFBC 90 A3 02 64 */ stw r5, 0x264(r3) +lbl_80313360: +/* 80313360 0030EFC0 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313364 0030EFC4 40 82 00 0C */ bne lbl_80313370 +/* 80313368 0030EFC8 38 A0 00 00 */ li r5, 0 +/* 8031336C 0030EFCC 48 00 00 0C */ b lbl_80313378 +lbl_80313370: +/* 80313370 0030EFD0 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313374 0030EFD4 80 A3 02 68 */ lwz r5, 0x268(r3) +lbl_80313378: +/* 80313378 0030EFD8 80 DF 00 1C */ lwz r6, 0x1c(r31) +/* 8031337C 0030EFDC 7F E3 FB 78 */ mr r3, r31 +/* 80313380 0030EFE0 88 05 00 20 */ lbz r0, 0x20(r5) +/* 80313384 0030EFE4 7C C0 04 30 */ srw r0, r6, r0 +/* 80313388 0030EFE8 90 1F 00 24 */ stw r0, 0x24(r31) +/* 8031338C 0030EFEC A0 A5 00 00 */ lhz r5, 0(r5) +/* 80313390 0030EFF0 38 05 FF FF */ addi r0, r5, -1 +/* 80313394 0030EFF4 7C C0 00 38 */ and r0, r6, r0 +/* 80313398 0030EFF8 B0 1F 00 28 */ sth r0, 0x28(r31) +/* 8031339C 0030EFFC 4B FF 79 E5 */ bl func_8030AD80 +/* 803133A0 0030F000 38 60 00 00 */ li r3, 0 +lbl_803133A4: +/* 803133A4 0030F004 39 61 00 30 */ addi r11, r1, 0x30 +/* 803133A8 0030F008 4B EB 3D CD */ bl _restgpr_27 +/* 803133AC 0030F00C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 803133B0 0030F010 7C 08 03 A6 */ mtlr r0 +/* 803133B4 0030F014 38 21 00 30 */ addi r1, r1, 0x30 +/* 803133B8 0030F018 4E 80 00 20 */ blr + +.global func_803133BC +func_803133BC: +/* 803133BC 0030F01C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803133C0 0030F020 7C 08 02 A6 */ mflr r0 +/* 803133C4 0030F024 90 01 00 34 */ stw r0, 0x34(r1) +/* 803133C8 0030F028 38 00 00 00 */ li r0, 0 +/* 803133CC 0030F02C 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 803133D0 0030F030 7C 9F 23 78 */ mr r31, r4 +/* 803133D4 0030F034 93 C1 00 28 */ stw r30, 0x28(r1) +/* 803133D8 0030F038 7D 1E 43 78 */ mr r30, r8 +/* 803133DC 0030F03C 93 A1 00 24 */ stw r29, 0x24(r1) +/* 803133E0 0030F040 7C BD 2B 78 */ mr r29, r5 +/* 803133E4 0030F044 93 81 00 20 */ stw r28, 0x20(r1) +/* 803133E8 0030F048 7C 7C 1B 78 */ mr r28, r3 +/* 803133EC 0030F04C 90 C1 00 08 */ stw r6, 8(r1) +/* 803133F0 0030F050 90 08 00 00 */ stw r0, 0(r8) +/* 803133F4 0030F054 80 A1 00 08 */ lwz r5, 8(r1) +/* 803133F8 0030F058 2C 05 00 00 */ cmpwi r5, 0 +/* 803133FC 0030F05C 40 82 00 0C */ bne lbl_80313408 +/* 80313400 0030F060 38 60 00 00 */ li r3, 0 +/* 80313404 0030F064 48 00 02 5C */ b lbl_80313660 +lbl_80313408: +/* 80313408 0030F068 A0 63 00 00 */ lhz r3, 0(r3) +/* 8031340C 0030F06C A0 04 00 28 */ lhz r0, 0x28(r4) +/* 80313410 0030F070 7C 00 18 50 */ subf r0, r0, r3 +/* 80313414 0030F074 7C 05 00 40 */ cmplw r5, r0 +/* 80313418 0030F078 41 81 00 0C */ bgt lbl_80313424 +/* 8031341C 0030F07C 7C 05 18 40 */ cmplw r5, r3 +/* 80313420 0030F080 40 81 00 0C */ ble lbl_8031342C +lbl_80313424: +/* 80313424 0030F084 38 60 00 1A */ li r3, 0x1a +/* 80313428 0030F088 48 00 02 38 */ b lbl_80313660 +lbl_8031342C: +/* 8031342C 0030F08C 2C 07 00 00 */ cmpwi r7, 0 +/* 80313430 0030F090 41 82 00 44 */ beq lbl_80313474 +/* 80313434 0030F094 7F E3 FB 78 */ mr r3, r31 +/* 80313438 0030F098 7C E4 3B 78 */ mr r4, r7 +/* 8031343C 0030F09C 38 A1 00 08 */ addi r5, r1, 8 +/* 80313440 0030F0A0 38 C1 00 10 */ addi r6, r1, 0x10 +/* 80313444 0030F0A4 4B FF 7A 11 */ bl func_8030AE54 +/* 80313448 0030F0A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031344C 0030F0AC 41 82 00 08 */ beq lbl_80313454 +/* 80313450 0030F0B0 48 00 02 10 */ b lbl_80313660 +lbl_80313454: +/* 80313454 0030F0B4 80 01 00 08 */ lwz r0, 8(r1) +/* 80313458 0030F0B8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031345C 0030F0BC 40 82 00 0C */ bne lbl_80313468 +/* 80313460 0030F0C0 38 60 00 00 */ li r3, 0 +/* 80313464 0030F0C4 48 00 01 FC */ b lbl_80313660 +lbl_80313468: +/* 80313468 0030F0C8 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8031346C 0030F0CC 90 1F 00 20 */ stw r0, 0x20(r31) +/* 80313470 0030F0D0 48 00 00 F8 */ b lbl_80313568 +lbl_80313474: +/* 80313474 0030F0D4 80 64 00 20 */ lwz r3, 0x20(r4) +/* 80313478 0030F0D8 3C 03 00 01 */ addis r0, r3, 1 +/* 8031347C 0030F0DC 28 00 FF FF */ cmplwi r0, 0xffff +/* 80313480 0030F0E0 40 82 00 E8 */ bne lbl_80313568 +/* 80313484 0030F0E4 80 64 00 08 */ lwz r3, 8(r4) +/* 80313488 0030F0E8 38 DF 00 20 */ addi r6, r31, 0x20 +/* 8031348C 0030F0EC 80 84 00 24 */ lwz r4, 0x24(r4) +/* 80313490 0030F0F0 38 A0 00 00 */ li r5, 0 +/* 80313494 0030F0F4 38 63 00 04 */ addi r3, r3, 4 +/* 80313498 0030F0F8 4B FF CA D1 */ bl func_8030FF68 +/* 8031349C 0030F0FC 2C 03 00 00 */ cmpwi r3, 0 +/* 803134A0 0030F100 41 82 00 08 */ beq lbl_803134A8 +/* 803134A4 0030F104 48 00 01 BC */ b lbl_80313660 +lbl_803134A8: +/* 803134A8 0030F108 80 7F 00 20 */ lwz r3, 0x20(r31) +/* 803134AC 0030F10C 3C 03 00 01 */ addis r0, r3, 1 +/* 803134B0 0030F110 28 00 FF FF */ cmplwi r0, 0xffff +/* 803134B4 0030F114 40 82 00 B4 */ bne lbl_80313568 +/* 803134B8 0030F118 80 7F 00 08 */ lwz r3, 8(r31) +/* 803134BC 0030F11C 2C 1F 00 00 */ cmpwi r31, 0 +/* 803134C0 0030F120 81 03 02 64 */ lwz r8, 0x264(r3) +/* 803134C4 0030F124 40 82 00 0C */ bne lbl_803134D0 +/* 803134C8 0030F128 38 80 00 00 */ li r4, 0 +/* 803134CC 0030F12C 48 00 00 08 */ b lbl_803134D4 +lbl_803134D0: +/* 803134D0 0030F130 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_803134D4: +/* 803134D4 0030F134 A0 64 00 00 */ lhz r3, 0(r4) +/* 803134D8 0030F138 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 803134DC 0030F13C 38 63 FF FF */ addi r3, r3, -1 +/* 803134E0 0030F140 88 84 00 20 */ lbz r4, 0x20(r4) +/* 803134E4 0030F144 7C 07 18 38 */ and r7, r0, r3 +/* 803134E8 0030F148 7C 05 24 30 */ srw r5, r0, r4 +/* 803134EC 0030F14C 7D 03 18 38 */ and r3, r8, r3 +/* 803134F0 0030F150 7C C7 00 D0 */ neg r6, r7 +/* 803134F4 0030F154 7D 04 24 30 */ srw r4, r8, r4 +/* 803134F8 0030F158 7C 03 00 D0 */ neg r0, r3 +/* 803134FC 0030F15C 7C 00 1B 78 */ or r0, r0, r3 +/* 80313500 0030F160 7C C6 3B 78 */ or r6, r6, r7 +/* 80313504 0030F164 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80313508 0030F168 54 00 0F FE */ srwi r0, r0, 0x1f +/* 8031350C 0030F16C 7C 65 1A 14 */ add r3, r5, r3 +/* 80313510 0030F170 7C 04 02 14 */ add r0, r4, r0 +/* 80313514 0030F174 7C 03 00 40 */ cmplw r3, r0 +/* 80313518 0030F178 41 82 00 0C */ beq lbl_80313524 +/* 8031351C 0030F17C 38 00 FF FF */ li r0, -1 +/* 80313520 0030F180 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_80313524: +/* 80313524 0030F184 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313528 0030F188 91 1F 00 1C */ stw r8, 0x1c(r31) +/* 8031352C 0030F18C 40 82 00 0C */ bne lbl_80313538 +/* 80313530 0030F190 38 80 00 00 */ li r4, 0 +/* 80313534 0030F194 48 00 00 0C */ b lbl_80313540 +lbl_80313538: +/* 80313538 0030F198 80 7F 00 08 */ lwz r3, 8(r31) +/* 8031353C 0030F19C 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80313540: +/* 80313540 0030F1A0 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 80313544 0030F1A4 38 60 00 1C */ li r3, 0x1c +/* 80313548 0030F1A8 88 04 00 20 */ lbz r0, 0x20(r4) +/* 8031354C 0030F1AC 7C A0 04 30 */ srw r0, r5, r0 +/* 80313550 0030F1B0 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80313554 0030F1B4 A0 84 00 00 */ lhz r4, 0(r4) +/* 80313558 0030F1B8 38 04 FF FF */ addi r0, r4, -1 +/* 8031355C 0030F1BC 7C A0 00 38 */ and r0, r5, r0 +/* 80313560 0030F1C0 B0 1F 00 28 */ sth r0, 0x28(r31) +/* 80313564 0030F1C4 48 00 00 FC */ b lbl_80313660 +lbl_80313568: +/* 80313568 0030F1C8 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 8031356C 0030F1CC 7F 83 E3 78 */ mr r3, r28 +/* 80313570 0030F1D0 A0 DF 00 28 */ lhz r6, 0x28(r31) +/* 80313574 0030F1D4 7F A4 EB 78 */ mr r4, r29 +/* 80313578 0030F1D8 80 E1 00 08 */ lwz r7, 8(r1) +/* 8031357C 0030F1DC 39 01 00 0C */ addi r8, r1, 0xc +/* 80313580 0030F1E0 39 20 00 01 */ li r9, 1 +/* 80313584 0030F1E4 48 00 58 65 */ bl func_80318DE8 +/* 80313588 0030F1E8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031358C 0030F1EC 41 82 00 14 */ beq lbl_803135A0 +/* 80313590 0030F1F0 80 01 00 0C */ lwz r0, 0xc(r1) +/* 80313594 0030F1F4 2C 00 00 00 */ cmpwi r0, 0 +/* 80313598 0030F1F8 40 82 00 08 */ bne lbl_803135A0 +/* 8031359C 0030F1FC 48 00 00 C4 */ b lbl_80313660 +lbl_803135A0: +/* 803135A0 0030F200 80 01 00 0C */ lwz r0, 0xc(r1) +/* 803135A4 0030F204 2C 1F 00 00 */ cmpwi r31, 0 +/* 803135A8 0030F208 90 1E 00 00 */ stw r0, 0(r30) +/* 803135AC 0030F20C 80 DF 00 20 */ lwz r6, 0x20(r31) +/* 803135B0 0030F210 80 A1 00 0C */ lwz r5, 0xc(r1) +/* 803135B4 0030F214 40 82 00 0C */ bne lbl_803135C0 +/* 803135B8 0030F218 38 80 00 00 */ li r4, 0 +/* 803135BC 0030F21C 48 00 00 0C */ b lbl_803135C8 +lbl_803135C0: +/* 803135C0 0030F220 80 7F 00 08 */ lwz r3, 8(r31) +/* 803135C4 0030F224 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_803135C8: +/* 803135C8 0030F228 A0 1F 00 28 */ lhz r0, 0x28(r31) +/* 803135CC 0030F22C A0 64 00 00 */ lhz r3, 0(r4) +/* 803135D0 0030F230 7C E0 2A 14 */ add r7, r0, r5 +/* 803135D4 0030F234 88 84 00 20 */ lbz r4, 0x20(r4) +/* 803135D8 0030F238 38 03 FF FF */ addi r0, r3, -1 +/* 803135DC 0030F23C 7C 00 38 39 */ and. r0, r0, r7 +/* 803135E0 0030F240 7C E0 24 30 */ srw r0, r7, r4 +/* 803135E4 0030F244 7C 86 02 14 */ add r4, r6, r0 +/* 803135E8 0030F248 41 82 00 0C */ beq lbl_803135F4 +/* 803135EC 0030F24C 90 9F 00 20 */ stw r4, 0x20(r31) +/* 803135F0 0030F250 48 00 00 0C */ b lbl_803135FC +lbl_803135F4: +/* 803135F4 0030F254 38 00 FF FF */ li r0, -1 +/* 803135F8 0030F258 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_803135FC: +/* 803135FC 0030F25C 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80313600 0030F260 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313604 0030F264 7C A0 2A 14 */ add r5, r0, r5 +/* 80313608 0030F268 90 BF 00 1C */ stw r5, 0x1c(r31) +/* 8031360C 0030F26C 80 03 02 64 */ lwz r0, 0x264(r3) +/* 80313610 0030F270 7C 05 00 40 */ cmplw r5, r0 +/* 80313614 0030F274 40 81 00 08 */ ble lbl_8031361C +/* 80313618 0030F278 90 A3 02 64 */ stw r5, 0x264(r3) +lbl_8031361C: +/* 8031361C 0030F27C 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313620 0030F280 40 82 00 0C */ bne lbl_8031362C +/* 80313624 0030F284 38 A0 00 00 */ li r5, 0 +/* 80313628 0030F288 48 00 00 0C */ b lbl_80313634 +lbl_8031362C: +/* 8031362C 0030F28C 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313630 0030F290 80 A3 02 68 */ lwz r5, 0x268(r3) +lbl_80313634: +/* 80313634 0030F294 80 DF 00 1C */ lwz r6, 0x1c(r31) +/* 80313638 0030F298 7F E3 FB 78 */ mr r3, r31 +/* 8031363C 0030F29C 88 05 00 20 */ lbz r0, 0x20(r5) +/* 80313640 0030F2A0 7C C0 04 30 */ srw r0, r6, r0 +/* 80313644 0030F2A4 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80313648 0030F2A8 A0 A5 00 00 */ lhz r5, 0(r5) +/* 8031364C 0030F2AC 38 05 FF FF */ addi r0, r5, -1 +/* 80313650 0030F2B0 7C C0 00 38 */ and r0, r6, r0 +/* 80313654 0030F2B4 B0 1F 00 28 */ sth r0, 0x28(r31) +/* 80313658 0030F2B8 4B FF 77 29 */ bl func_8030AD80 +/* 8031365C 0030F2BC 38 60 00 00 */ li r3, 0 +lbl_80313660: +/* 80313660 0030F2C0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80313664 0030F2C4 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80313668 0030F2C8 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 8031366C 0030F2CC 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 80313670 0030F2D0 83 81 00 20 */ lwz r28, 0x20(r1) +/* 80313674 0030F2D4 7C 08 03 A6 */ mtlr r0 +/* 80313678 0030F2D8 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031367C 0030F2DC 4E 80 00 20 */ blr + +.global func_80313680 +func_80313680: +/* 80313680 0030F2E0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80313684 0030F2E4 7C 08 02 A6 */ mflr r0 +/* 80313688 0030F2E8 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031368C 0030F2EC 39 61 00 30 */ addi r11, r1, 0x30 +/* 80313690 0030F2F0 4B EB 3A 99 */ bl _savegpr_27 +/* 80313694 0030F2F4 38 00 00 00 */ li r0, 0 +/* 80313698 0030F2F8 7C DF 33 78 */ mr r31, r6 +/* 8031369C 0030F2FC 90 07 00 00 */ stw r0, 0(r7) +/* 803136A0 0030F300 7C BC 2B 78 */ mr r28, r5 +/* 803136A4 0030F304 7C FE 3B 78 */ mr r30, r7 +/* 803136A8 0030F308 7C 9D 23 78 */ mr r29, r4 +/* 803136AC 0030F30C 80 C4 00 08 */ lwz r6, 8(r4) +/* 803136B0 0030F310 7C 7B 1B 78 */ mr r27, r3 +/* 803136B4 0030F314 80 84 00 24 */ lwz r4, 0x24(r4) +/* 803136B8 0030F318 7F E5 FB 78 */ mr r5, r31 +/* 803136BC 0030F31C 38 66 00 04 */ addi r3, r6, 4 +/* 803136C0 0030F320 38 DD 00 20 */ addi r6, r29, 0x20 +/* 803136C4 0030F324 38 E1 00 0C */ addi r7, r1, 0xc +/* 803136C8 0030F328 4B FF CA 4D */ bl func_80310114 +/* 803136CC 0030F32C 2C 03 00 00 */ cmpwi r3, 0 +/* 803136D0 0030F330 41 82 00 08 */ beq lbl_803136D8 +/* 803136D4 0030F334 48 00 01 EC */ b lbl_803138C0 +lbl_803136D8: +/* 803136D8 0030F338 80 61 00 0C */ lwz r3, 0xc(r1) +/* 803136DC 0030F33C 2C 03 00 00 */ cmpwi r3, 0 +/* 803136E0 0030F340 41 82 00 14 */ beq lbl_803136F4 +/* 803136E4 0030F344 80 BD 00 20 */ lwz r5, 0x20(r29) +/* 803136E8 0030F348 3C 05 00 01 */ addis r0, r5, 1 +/* 803136EC 0030F34C 28 00 FF FF */ cmplwi r0, 0xffff +/* 803136F0 0030F350 40 82 00 B4 */ bne lbl_803137A4 +lbl_803136F4: +/* 803136F4 0030F354 80 7D 00 08 */ lwz r3, 8(r29) +/* 803136F8 0030F358 2C 1D 00 00 */ cmpwi r29, 0 +/* 803136FC 0030F35C 81 03 02 64 */ lwz r8, 0x264(r3) +/* 80313700 0030F360 40 82 00 0C */ bne lbl_8031370C +/* 80313704 0030F364 38 80 00 00 */ li r4, 0 +/* 80313708 0030F368 48 00 00 08 */ b lbl_80313710 +lbl_8031370C: +/* 8031370C 0030F36C 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80313710: +/* 80313710 0030F370 A0 64 00 00 */ lhz r3, 0(r4) +/* 80313714 0030F374 80 1D 00 1C */ lwz r0, 0x1c(r29) +/* 80313718 0030F378 38 63 FF FF */ addi r3, r3, -1 +/* 8031371C 0030F37C 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80313720 0030F380 7C 07 18 38 */ and r7, r0, r3 +/* 80313724 0030F384 7C 05 24 30 */ srw r5, r0, r4 +/* 80313728 0030F388 7D 03 18 38 */ and r3, r8, r3 +/* 8031372C 0030F38C 7C C7 00 D0 */ neg r6, r7 +/* 80313730 0030F390 7D 04 24 30 */ srw r4, r8, r4 +/* 80313734 0030F394 7C 03 00 D0 */ neg r0, r3 +/* 80313738 0030F398 7C 00 1B 78 */ or r0, r0, r3 +/* 8031373C 0030F39C 7C C6 3B 78 */ or r6, r6, r7 +/* 80313740 0030F3A0 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80313744 0030F3A4 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80313748 0030F3A8 7C 65 1A 14 */ add r3, r5, r3 +/* 8031374C 0030F3AC 7C 04 02 14 */ add r0, r4, r0 +/* 80313750 0030F3B0 7C 03 00 40 */ cmplw r3, r0 +/* 80313754 0030F3B4 41 82 00 0C */ beq lbl_80313760 +/* 80313758 0030F3B8 38 00 FF FF */ li r0, -1 +/* 8031375C 0030F3BC 90 1D 00 20 */ stw r0, 0x20(r29) +lbl_80313760: +/* 80313760 0030F3C0 2C 1D 00 00 */ cmpwi r29, 0 +/* 80313764 0030F3C4 91 1D 00 1C */ stw r8, 0x1c(r29) +/* 80313768 0030F3C8 40 82 00 0C */ bne lbl_80313774 +/* 8031376C 0030F3CC 38 80 00 00 */ li r4, 0 +/* 80313770 0030F3D0 48 00 00 0C */ b lbl_8031377C +lbl_80313774: +/* 80313774 0030F3D4 80 7D 00 08 */ lwz r3, 8(r29) +/* 80313778 0030F3D8 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_8031377C: +/* 8031377C 0030F3DC 80 BD 00 1C */ lwz r5, 0x1c(r29) +/* 80313780 0030F3E0 38 60 00 1C */ li r3, 0x1c +/* 80313784 0030F3E4 88 04 00 20 */ lbz r0, 0x20(r4) +/* 80313788 0030F3E8 7C A0 04 30 */ srw r0, r5, r0 +/* 8031378C 0030F3EC 90 1D 00 24 */ stw r0, 0x24(r29) +/* 80313790 0030F3F0 A0 84 00 00 */ lhz r4, 0(r4) +/* 80313794 0030F3F4 38 04 FF FF */ addi r0, r4, -1 +/* 80313798 0030F3F8 7C A0 00 38 */ and r0, r5, r0 +/* 8031379C 0030F3FC B0 1D 00 28 */ sth r0, 0x28(r29) +/* 803137A0 0030F400 48 00 01 20 */ b lbl_803138C0 +lbl_803137A4: +/* 803137A4 0030F404 88 1B 00 20 */ lbz r0, 0x20(r27) +/* 803137A8 0030F408 7C 60 00 30 */ slw r0, r3, r0 +/* 803137AC 0030F40C 7C 1F 00 40 */ cmplw r31, r0 +/* 803137B0 0030F410 40 81 00 08 */ ble lbl_803137B8 +/* 803137B4 0030F414 7C 1F 03 78 */ mr r31, r0 +lbl_803137B8: +/* 803137B8 0030F418 80 1E 00 00 */ lwz r0, 0(r30) +/* 803137BC 0030F41C 7F E7 FB 78 */ mr r7, r31 +/* 803137C0 0030F420 A0 DD 00 28 */ lhz r6, 0x28(r29) +/* 803137C4 0030F424 7F 63 DB 78 */ mr r3, r27 +/* 803137C8 0030F428 7C 9C 02 14 */ add r4, r28, r0 +/* 803137CC 0030F42C 39 01 00 08 */ addi r8, r1, 8 +/* 803137D0 0030F430 3B E0 00 00 */ li r31, 0 +/* 803137D4 0030F434 39 20 00 01 */ li r9, 1 +/* 803137D8 0030F438 48 00 56 11 */ bl func_80318DE8 +/* 803137DC 0030F43C 2C 03 00 00 */ cmpwi r3, 0 +/* 803137E0 0030F440 41 82 00 14 */ beq lbl_803137F4 +/* 803137E4 0030F444 80 01 00 08 */ lwz r0, 8(r1) +/* 803137E8 0030F448 2C 00 00 00 */ cmpwi r0, 0 +/* 803137EC 0030F44C 40 82 00 08 */ bne lbl_803137F4 +/* 803137F0 0030F450 48 00 00 BC */ b lbl_803138AC +lbl_803137F4: +/* 803137F4 0030F454 2C 1D 00 00 */ cmpwi r29, 0 +/* 803137F8 0030F458 83 E1 00 08 */ lwz r31, 8(r1) +/* 803137FC 0030F45C 80 BD 00 20 */ lwz r5, 0x20(r29) +/* 80313800 0030F460 40 82 00 0C */ bne lbl_8031380C +/* 80313804 0030F464 38 80 00 00 */ li r4, 0 +/* 80313808 0030F468 48 00 00 0C */ b lbl_80313814 +lbl_8031380C: +/* 8031380C 0030F46C 80 7D 00 08 */ lwz r3, 8(r29) +/* 80313810 0030F470 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80313814: +/* 80313814 0030F474 A0 1D 00 28 */ lhz r0, 0x28(r29) +/* 80313818 0030F478 A0 64 00 00 */ lhz r3, 0(r4) +/* 8031381C 0030F47C 7C C0 FA 14 */ add r6, r0, r31 +/* 80313820 0030F480 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80313824 0030F484 38 03 FF FF */ addi r0, r3, -1 +/* 80313828 0030F488 7C 00 30 39 */ and. r0, r0, r6 +/* 8031382C 0030F48C 7C C0 24 30 */ srw r0, r6, r4 +/* 80313830 0030F490 7C 85 02 14 */ add r4, r5, r0 +/* 80313834 0030F494 41 82 00 0C */ beq lbl_80313840 +/* 80313838 0030F498 90 9D 00 20 */ stw r4, 0x20(r29) +/* 8031383C 0030F49C 48 00 00 0C */ b lbl_80313848 +lbl_80313840: +/* 80313840 0030F4A0 38 00 FF FF */ li r0, -1 +/* 80313844 0030F4A4 90 1D 00 20 */ stw r0, 0x20(r29) +lbl_80313848: +/* 80313848 0030F4A8 80 1D 00 1C */ lwz r0, 0x1c(r29) +/* 8031384C 0030F4AC 80 7D 00 08 */ lwz r3, 8(r29) +/* 80313850 0030F4B0 7C A0 FA 14 */ add r5, r0, r31 +/* 80313854 0030F4B4 90 BD 00 1C */ stw r5, 0x1c(r29) +/* 80313858 0030F4B8 80 03 02 64 */ lwz r0, 0x264(r3) +/* 8031385C 0030F4BC 7C 05 00 40 */ cmplw r5, r0 +/* 80313860 0030F4C0 40 81 00 08 */ ble lbl_80313868 +/* 80313864 0030F4C4 90 A3 02 64 */ stw r5, 0x264(r3) +lbl_80313868: +/* 80313868 0030F4C8 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031386C 0030F4CC 40 82 00 0C */ bne lbl_80313878 +/* 80313870 0030F4D0 38 A0 00 00 */ li r5, 0 +/* 80313874 0030F4D4 48 00 00 0C */ b lbl_80313880 +lbl_80313878: +/* 80313878 0030F4D8 80 7D 00 08 */ lwz r3, 8(r29) +/* 8031387C 0030F4DC 80 A3 02 68 */ lwz r5, 0x268(r3) +lbl_80313880: +/* 80313880 0030F4E0 80 DD 00 1C */ lwz r6, 0x1c(r29) +/* 80313884 0030F4E4 7F A3 EB 78 */ mr r3, r29 +/* 80313888 0030F4E8 88 05 00 20 */ lbz r0, 0x20(r5) +/* 8031388C 0030F4EC 7C C0 04 30 */ srw r0, r6, r0 +/* 80313890 0030F4F0 90 1D 00 24 */ stw r0, 0x24(r29) +/* 80313894 0030F4F4 A0 A5 00 00 */ lhz r5, 0(r5) +/* 80313898 0030F4F8 38 05 FF FF */ addi r0, r5, -1 +/* 8031389C 0030F4FC 7C C0 00 38 */ and r0, r6, r0 +/* 803138A0 0030F500 B0 1D 00 28 */ sth r0, 0x28(r29) +/* 803138A4 0030F504 4B FF 74 DD */ bl func_8030AD80 +/* 803138A8 0030F508 38 60 00 00 */ li r3, 0 +lbl_803138AC: +/* 803138AC 0030F50C 2C 03 00 00 */ cmpwi r3, 0 +/* 803138B0 0030F510 93 FE 00 00 */ stw r31, 0(r30) +/* 803138B4 0030F514 41 82 00 08 */ beq lbl_803138BC +/* 803138B8 0030F518 48 00 00 08 */ b lbl_803138C0 +lbl_803138BC: +/* 803138BC 0030F51C 38 60 00 00 */ li r3, 0 +lbl_803138C0: +/* 803138C0 0030F520 39 61 00 30 */ addi r11, r1, 0x30 +/* 803138C4 0030F524 4B EB 38 B1 */ bl _restgpr_27 +/* 803138C8 0030F528 80 01 00 34 */ lwz r0, 0x34(r1) +/* 803138CC 0030F52C 7C 08 03 A6 */ mtlr r0 +/* 803138D0 0030F530 38 21 00 30 */ addi r1, r1, 0x30 +/* 803138D4 0030F534 4E 80 00 20 */ blr + +.global func_803138D8 +func_803138D8: +/* 803138D8 0030F538 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 803138DC 0030F53C 7C 08 02 A6 */ mflr r0 +/* 803138E0 0030F540 90 01 00 54 */ stw r0, 0x54(r1) +/* 803138E4 0030F544 39 61 00 50 */ addi r11, r1, 0x50 +/* 803138E8 0030F548 4B EB 38 2D */ bl _savegpr_22 +/* 803138EC 0030F54C 80 E3 00 08 */ lwz r7, 8(r3) +/* 803138F0 0030F550 39 03 00 0C */ addi r8, r3, 0xc +/* 803138F4 0030F554 38 00 00 00 */ li r0, 0 +/* 803138F8 0030F558 7C D9 33 78 */ mr r25, r6 +/* 803138FC 0030F55C 91 07 00 34 */ stw r8, 0x34(r7) +/* 80313900 0030F560 7C 76 1B 78 */ mr r22, r3 +/* 80313904 0030F564 7C 97 23 78 */ mr r23, r4 +/* 80313908 0030F568 7C B8 2B 78 */ mr r24, r5 +/* 8031390C 0030F56C 90 06 00 00 */ stw r0, 0(r6) +/* 80313910 0030F570 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80313914 0030F574 20 C0 FF FF */ subfic r6, r0, -1 +/* 80313918 0030F578 7C 06 28 40 */ cmplw r6, r5 +/* 8031391C 0030F57C 40 80 00 28 */ bge lbl_80313944 +/* 80313920 0030F580 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80313924 0030F584 38 00 00 25 */ li r0, 0x25 +/* 80313928 0030F588 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 8031392C 0030F58C 7C D8 33 78 */ mr r24, r6 +/* 80313930 0030F590 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80313934 0030F594 80 83 00 08 */ lwz r4, 8(r3) +/* 80313938 0030F598 80 84 00 38 */ lwz r4, 0x38(r4) +/* 8031393C 0030F59C 90 04 18 6C */ stw r0, 0x186c(r4) +/* 80313940 0030F5A0 90 03 00 18 */ stw r0, 0x18(r3) +lbl_80313944: +/* 80313944 0030F5A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80313948 0030F5A8 40 82 00 0C */ bne lbl_80313954 +/* 8031394C 0030F5AC 3B A0 00 00 */ li r29, 0 +/* 80313950 0030F5B0 48 00 00 0C */ b lbl_8031395C +lbl_80313954: +/* 80313954 0030F5B4 80 63 00 08 */ lwz r3, 8(r3) +/* 80313958 0030F5B8 83 A3 02 68 */ lwz r29, 0x268(r3) +lbl_8031395C: +/* 8031395C 0030F5BC 7F A3 EB 78 */ mr r3, r29 +/* 80313960 0030F5C0 7E C4 B3 78 */ mr r4, r22 +/* 80313964 0030F5C4 7E E5 BB 78 */ mr r5, r23 +/* 80313968 0030F5C8 7F 06 C3 78 */ mr r6, r24 +/* 8031396C 0030F5CC 38 E1 00 18 */ addi r7, r1, 0x18 +/* 80313970 0030F5D0 4B FF F7 F5 */ bl func_80313164 +/* 80313974 0030F5D4 80 99 00 00 */ lwz r4, 0(r25) +/* 80313978 0030F5D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031397C 0030F5DC 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313980 0030F5E0 7C 04 02 14 */ add r0, r4, r0 +/* 80313984 0030F5E4 90 19 00 00 */ stw r0, 0(r25) +/* 80313988 0030F5E8 41 82 00 08 */ beq lbl_80313990 +/* 8031398C 0030F5EC 48 00 02 C4 */ b lbl_80313C50 +lbl_80313990: +/* 80313990 0030F5F0 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313994 0030F5F4 7C 00 C0 40 */ cmplw r0, r24 +/* 80313998 0030F5F8 41 80 00 0C */ blt lbl_803139A4 +/* 8031399C 0030F5FC 38 60 00 00 */ li r3, 0 +/* 803139A0 0030F600 48 00 02 B0 */ b lbl_80313C50 +lbl_803139A4: +/* 803139A4 0030F604 80 76 00 08 */ lwz r3, 8(r22) +/* 803139A8 0030F608 7F 00 C0 50 */ subf r24, r0, r24 +/* 803139AC 0030F60C 80 16 00 1C */ lwz r0, 0x1c(r22) +/* 803139B0 0030F610 38 A1 00 14 */ addi r5, r1, 0x14 +/* 803139B4 0030F614 38 63 00 04 */ addi r3, r3, 4 +/* 803139B8 0030F618 7C 80 C2 14 */ add r4, r0, r24 +/* 803139BC 0030F61C 4B FF C9 15 */ bl func_803102D0 +/* 803139C0 0030F620 2C 03 00 00 */ cmpwi r3, 0 +/* 803139C4 0030F624 41 82 00 08 */ beq lbl_803139CC +/* 803139C8 0030F628 48 00 02 88 */ b lbl_80313C50 +lbl_803139CC: +/* 803139CC 0030F62C 88 9D 00 20 */ lbz r4, 0x20(r29) +/* 803139D0 0030F630 88 7D 00 21 */ lbz r3, 0x21(r29) +/* 803139D4 0030F634 80 16 00 1C */ lwz r0, 0x1c(r22) +/* 803139D8 0030F638 7C 64 1A 14 */ add r3, r4, r3 +/* 803139DC 0030F63C 80 A1 00 14 */ lwz r5, 0x14(r1) +/* 803139E0 0030F640 7C 80 C2 14 */ add r4, r0, r24 +/* 803139E4 0030F644 7C A0 18 30 */ slw r0, r5, r3 +/* 803139E8 0030F648 7C 04 00 40 */ cmplw r4, r0 +/* 803139EC 0030F64C 40 81 00 10 */ ble lbl_803139FC +/* 803139F0 0030F650 7F 40 20 50 */ subf r26, r0, r4 +/* 803139F4 0030F654 7F 7A C0 50 */ subf r27, r26, r24 +/* 803139F8 0030F658 48 00 00 54 */ b lbl_80313A4C +lbl_803139FC: +/* 803139FC 0030F65C 7F 1B C3 78 */ mr r27, r24 +/* 80313A00 0030F660 3B 40 00 00 */ li r26, 0 +/* 80313A04 0030F664 48 00 00 48 */ b lbl_80313A4C +lbl_80313A08: +/* 80313A08 0030F668 80 19 00 00 */ lwz r0, 0(r25) +/* 80313A0C 0030F66C 7F A3 EB 78 */ mr r3, r29 +/* 80313A10 0030F670 7E C4 B3 78 */ mr r4, r22 +/* 80313A14 0030F674 7F 66 DB 78 */ mr r6, r27 +/* 80313A18 0030F678 7C B7 02 14 */ add r5, r23, r0 +/* 80313A1C 0030F67C 38 E1 00 18 */ addi r7, r1, 0x18 +/* 80313A20 0030F680 4B FF FC 61 */ bl func_80313680 +/* 80313A24 0030F684 80 99 00 00 */ lwz r4, 0(r25) +/* 80313A28 0030F688 2C 03 00 00 */ cmpwi r3, 0 +/* 80313A2C 0030F68C 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313A30 0030F690 7C 04 02 14 */ add r0, r4, r0 +/* 80313A34 0030F694 90 19 00 00 */ stw r0, 0(r25) +/* 80313A38 0030F698 41 82 00 08 */ beq lbl_80313A40 +/* 80313A3C 0030F69C 48 00 02 14 */ b lbl_80313C50 +lbl_80313A40: +/* 80313A40 0030F6A0 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313A44 0030F6A4 7F 60 D8 50 */ subf r27, r0, r27 +/* 80313A48 0030F6A8 7F 00 C0 50 */ subf r24, r0, r24 +lbl_80313A4C: +/* 80313A4C 0030F6AC 2C 1B 00 00 */ cmpwi r27, 0 +/* 80313A50 0030F6B0 41 82 00 10 */ beq lbl_80313A60 +/* 80313A54 0030F6B4 A0 1D 00 00 */ lhz r0, 0(r29) +/* 80313A58 0030F6B8 7C 1B 00 40 */ cmplw r27, r0 +/* 80313A5C 0030F6BC 40 80 FF AC */ bge lbl_80313A08 +lbl_80313A60: +/* 80313A60 0030F6C0 3B C0 00 00 */ li r30, 0 +/* 80313A64 0030F6C4 3B E0 FF FF */ li r31, -1 +/* 80313A68 0030F6C8 48 00 01 94 */ b lbl_80313BFC +lbl_80313A6C: +/* 80313A6C 0030F6CC 80 19 00 00 */ lwz r0, 0(r25) +/* 80313A70 0030F6D0 7E C3 B3 78 */ mr r3, r22 +/* 80313A74 0030F6D4 7F 44 D3 78 */ mr r4, r26 +/* 80313A78 0030F6D8 38 A1 00 0C */ addi r5, r1, 0xc +/* 80313A7C 0030F6DC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80313A80 0030F6E0 7F 97 02 14 */ add r28, r23, r0 +/* 80313A84 0030F6E4 38 C1 00 08 */ addi r6, r1, 8 +/* 80313A88 0030F6E8 3B 60 00 00 */ li r27, 0 +/* 80313A8C 0030F6EC 4B FF 73 C9 */ bl func_8030AE54 +/* 80313A90 0030F6F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80313A94 0030F6F4 41 82 00 08 */ beq lbl_80313A9C +/* 80313A98 0030F6F8 48 00 01 2C */ b lbl_80313BC4 +lbl_80313A9C: +/* 80313A9C 0030F6FC 80 A1 00 08 */ lwz r5, 8(r1) +/* 80313AA0 0030F700 90 B6 00 20 */ stw r5, 0x20(r22) +/* 80313AA4 0030F704 80 E1 00 0C */ lwz r7, 0xc(r1) +/* 80313AA8 0030F708 2C 07 00 00 */ cmpwi r7, 0 +/* 80313AAC 0030F70C 40 82 00 0C */ bne lbl_80313AB8 +/* 80313AB0 0030F710 38 60 00 00 */ li r3, 0 +/* 80313AB4 0030F714 48 00 01 10 */ b lbl_80313BC4 +lbl_80313AB8: +/* 80313AB8 0030F718 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313ABC 0030F71C 7C FB 3B 78 */ mr r27, r7 +/* 80313AC0 0030F720 A0 D6 00 28 */ lhz r6, 0x28(r22) +/* 80313AC4 0030F724 7F A3 EB 78 */ mr r3, r29 +/* 80313AC8 0030F728 7C 9C 02 14 */ add r4, r28, r0 +/* 80313ACC 0030F72C 39 01 00 10 */ addi r8, r1, 0x10 +/* 80313AD0 0030F730 3B 80 00 00 */ li r28, 0 +/* 80313AD4 0030F734 39 20 00 01 */ li r9, 1 +/* 80313AD8 0030F738 48 00 53 11 */ bl func_80318DE8 +/* 80313ADC 0030F73C 2C 03 00 00 */ cmpwi r3, 0 +/* 80313AE0 0030F740 41 82 00 14 */ beq lbl_80313AF4 +/* 80313AE4 0030F744 80 01 00 10 */ lwz r0, 0x10(r1) +/* 80313AE8 0030F748 2C 00 00 00 */ cmpwi r0, 0 +/* 80313AEC 0030F74C 40 82 00 08 */ bne lbl_80313AF4 +/* 80313AF0 0030F750 48 00 00 B8 */ b lbl_80313BA8 +lbl_80313AF4: +/* 80313AF4 0030F754 2C 16 00 00 */ cmpwi r22, 0 +/* 80313AF8 0030F758 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80313AFC 0030F75C 80 B6 00 20 */ lwz r5, 0x20(r22) +/* 80313B00 0030F760 40 82 00 0C */ bne lbl_80313B0C +/* 80313B04 0030F764 38 80 00 00 */ li r4, 0 +/* 80313B08 0030F768 48 00 00 0C */ b lbl_80313B14 +lbl_80313B0C: +/* 80313B0C 0030F76C 80 76 00 08 */ lwz r3, 8(r22) +/* 80313B10 0030F770 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80313B14: +/* 80313B14 0030F774 A0 16 00 28 */ lhz r0, 0x28(r22) +/* 80313B18 0030F778 A0 64 00 00 */ lhz r3, 0(r4) +/* 80313B1C 0030F77C 7C C0 E2 14 */ add r6, r0, r28 +/* 80313B20 0030F780 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80313B24 0030F784 38 03 FF FF */ addi r0, r3, -1 +/* 80313B28 0030F788 7C 00 30 39 */ and. r0, r0, r6 +/* 80313B2C 0030F78C 7C C0 24 30 */ srw r0, r6, r4 +/* 80313B30 0030F790 7C 85 02 14 */ add r4, r5, r0 +/* 80313B34 0030F794 41 82 00 0C */ beq lbl_80313B40 +/* 80313B38 0030F798 90 96 00 20 */ stw r4, 0x20(r22) +/* 80313B3C 0030F79C 48 00 00 08 */ b lbl_80313B44 +lbl_80313B40: +/* 80313B40 0030F7A0 93 F6 00 20 */ stw r31, 0x20(r22) +lbl_80313B44: +/* 80313B44 0030F7A4 80 16 00 1C */ lwz r0, 0x1c(r22) +/* 80313B48 0030F7A8 80 76 00 08 */ lwz r3, 8(r22) +/* 80313B4C 0030F7AC 7C A0 E2 14 */ add r5, r0, r28 +/* 80313B50 0030F7B0 90 B6 00 1C */ stw r5, 0x1c(r22) +/* 80313B54 0030F7B4 80 03 02 64 */ lwz r0, 0x264(r3) +/* 80313B58 0030F7B8 7C 05 00 40 */ cmplw r5, r0 +/* 80313B5C 0030F7BC 40 81 00 08 */ ble lbl_80313B64 +/* 80313B60 0030F7C0 90 A3 02 64 */ stw r5, 0x264(r3) +lbl_80313B64: +/* 80313B64 0030F7C4 2C 16 00 00 */ cmpwi r22, 0 +/* 80313B68 0030F7C8 40 82 00 0C */ bne lbl_80313B74 +/* 80313B6C 0030F7CC 38 A0 00 00 */ li r5, 0 +/* 80313B70 0030F7D0 48 00 00 0C */ b lbl_80313B7C +lbl_80313B74: +/* 80313B74 0030F7D4 80 76 00 08 */ lwz r3, 8(r22) +/* 80313B78 0030F7D8 80 A3 02 68 */ lwz r5, 0x268(r3) +lbl_80313B7C: +/* 80313B7C 0030F7DC 80 D6 00 1C */ lwz r6, 0x1c(r22) +/* 80313B80 0030F7E0 7E C3 B3 78 */ mr r3, r22 +/* 80313B84 0030F7E4 88 05 00 20 */ lbz r0, 0x20(r5) +/* 80313B88 0030F7E8 7C C0 04 30 */ srw r0, r6, r0 +/* 80313B8C 0030F7EC 90 16 00 24 */ stw r0, 0x24(r22) +/* 80313B90 0030F7F0 A0 A5 00 00 */ lhz r5, 0(r5) +/* 80313B94 0030F7F4 38 05 FF FF */ addi r0, r5, -1 +/* 80313B98 0030F7F8 7C C0 00 38 */ and r0, r6, r0 +/* 80313B9C 0030F7FC B0 16 00 28 */ sth r0, 0x28(r22) +/* 80313BA0 0030F800 4B FF 71 E1 */ bl func_8030AD80 +/* 80313BA4 0030F804 38 60 00 00 */ li r3, 0 +lbl_80313BA8: +/* 80313BA8 0030F808 80 81 00 18 */ lwz r4, 0x18(r1) +/* 80313BAC 0030F80C 7C 03 00 D0 */ neg r0, r3 +/* 80313BB0 0030F810 7C 00 1B 78 */ or r0, r0, r3 +/* 80313BB4 0030F814 7C 84 E2 14 */ add r4, r4, r28 +/* 80313BB8 0030F818 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 80313BBC 0030F81C 90 81 00 18 */ stw r4, 0x18(r1) +/* 80313BC0 0030F820 7C 63 00 38 */ and r3, r3, r0 +lbl_80313BC4: +/* 80313BC4 0030F824 80 99 00 00 */ lwz r4, 0(r25) +/* 80313BC8 0030F828 2C 03 00 00 */ cmpwi r3, 0 +/* 80313BCC 0030F82C 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313BD0 0030F830 7C 04 02 14 */ add r0, r4, r0 +/* 80313BD4 0030F834 90 19 00 00 */ stw r0, 0(r25) +/* 80313BD8 0030F838 41 82 00 08 */ beq lbl_80313BE0 +/* 80313BDC 0030F83C 48 00 00 74 */ b lbl_80313C50 +lbl_80313BE0: +/* 80313BE0 0030F840 2C 1B 00 00 */ cmpwi r27, 0 +/* 80313BE4 0030F844 40 82 00 0C */ bne lbl_80313BF0 +/* 80313BE8 0030F848 38 60 00 00 */ li r3, 0 +/* 80313BEC 0030F84C 48 00 00 64 */ b lbl_80313C50 +lbl_80313BF0: +/* 80313BF0 0030F850 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313BF4 0030F854 7F 5B D0 50 */ subf r26, r27, r26 +/* 80313BF8 0030F858 7F 00 C0 50 */ subf r24, r0, r24 +lbl_80313BFC: +/* 80313BFC 0030F85C 2C 1A 00 00 */ cmpwi r26, 0 +/* 80313C00 0030F860 41 82 00 10 */ beq lbl_80313C10 +/* 80313C04 0030F864 A0 1D 00 00 */ lhz r0, 0(r29) +/* 80313C08 0030F868 7C 18 00 40 */ cmplw r24, r0 +/* 80313C0C 0030F86C 40 80 FE 60 */ bge lbl_80313A6C +lbl_80313C10: +/* 80313C10 0030F870 80 19 00 00 */ lwz r0, 0(r25) +/* 80313C14 0030F874 7F A3 EB 78 */ mr r3, r29 +/* 80313C18 0030F878 7E C4 B3 78 */ mr r4, r22 +/* 80313C1C 0030F87C 7F 06 C3 78 */ mr r6, r24 +/* 80313C20 0030F880 7F 47 D3 78 */ mr r7, r26 +/* 80313C24 0030F884 7C B7 02 14 */ add r5, r23, r0 +/* 80313C28 0030F888 39 01 00 18 */ addi r8, r1, 0x18 +/* 80313C2C 0030F88C 4B FF F7 91 */ bl func_803133BC +/* 80313C30 0030F890 80 99 00 00 */ lwz r4, 0(r25) +/* 80313C34 0030F894 2C 03 00 00 */ cmpwi r3, 0 +/* 80313C38 0030F898 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80313C3C 0030F89C 7C 04 02 14 */ add r0, r4, r0 +/* 80313C40 0030F8A0 90 19 00 00 */ stw r0, 0(r25) +/* 80313C44 0030F8A4 41 82 00 08 */ beq lbl_80313C4C +/* 80313C48 0030F8A8 48 00 00 08 */ b lbl_80313C50 +lbl_80313C4C: +/* 80313C4C 0030F8AC 38 60 00 00 */ li r3, 0 +lbl_80313C50: +/* 80313C50 0030F8B0 39 61 00 50 */ addi r11, r1, 0x50 +/* 80313C54 0030F8B4 4B EB 35 0D */ bl _restgpr_22 +/* 80313C58 0030F8B8 80 01 00 54 */ lwz r0, 0x54(r1) +/* 80313C5C 0030F8BC 7C 08 03 A6 */ mtlr r0 +/* 80313C60 0030F8C0 38 21 00 50 */ addi r1, r1, 0x50 +/* 80313C64 0030F8C4 4E 80 00 20 */ blr + +.global func_80313C68 +func_80313C68: +/* 80313C68 0030F8C8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80313C6C 0030F8CC 7C 08 02 A6 */ mflr r0 +/* 80313C70 0030F8D0 2C 03 00 00 */ cmpwi r3, 0 +/* 80313C74 0030F8D4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80313C78 0030F8D8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80313C7C 0030F8DC 7C 7F 1B 78 */ mr r31, r3 +/* 80313C80 0030F8E0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80313C84 0030F8E4 40 82 00 0C */ bne lbl_80313C90 +/* 80313C88 0030F8E8 3B C0 00 00 */ li r30, 0 +/* 80313C8C 0030F8EC 48 00 00 0C */ b lbl_80313C98 +lbl_80313C90: +/* 80313C90 0030F8F0 80 A3 00 08 */ lwz r5, 8(r3) +/* 80313C94 0030F8F4 83 C5 02 68 */ lwz r30, 0x268(r5) +lbl_80313C98: +/* 80313C98 0030F8F8 80 63 00 08 */ lwz r3, 8(r3) +/* 80313C9C 0030F8FC 38 A1 00 08 */ addi r5, r1, 8 +/* 80313CA0 0030F900 38 63 00 04 */ addi r3, r3, 4 +/* 80313CA4 0030F904 4B FF C6 2D */ bl func_803102D0 +/* 80313CA8 0030F908 88 9E 00 20 */ lbz r4, 0x20(r30) +/* 80313CAC 0030F90C 38 00 FF FF */ li r0, -1 +/* 80313CB0 0030F910 88 7E 00 21 */ lbz r3, 0x21(r30) +/* 80313CB4 0030F914 80 A1 00 08 */ lwz r5, 8(r1) +/* 80313CB8 0030F918 7C 64 1A 14 */ add r3, r4, r3 +/* 80313CBC 0030F91C 7C 00 1C 30 */ srw r0, r0, r3 +/* 80313CC0 0030F920 7C 05 00 40 */ cmplw r5, r0 +/* 80313CC4 0030F924 40 81 00 AC */ ble lbl_80313D70 +/* 80313CC8 0030F928 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313CCC 0030F92C 40 82 00 0C */ bne lbl_80313CD8 +/* 80313CD0 0030F930 38 A0 00 00 */ li r5, 0 +/* 80313CD4 0030F934 48 00 00 0C */ b lbl_80313CE0 +lbl_80313CD8: +/* 80313CD8 0030F938 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313CDC 0030F93C 80 A3 02 68 */ lwz r5, 0x268(r3) +lbl_80313CE0: +/* 80313CE0 0030F940 A0 65 00 00 */ lhz r3, 0(r5) +/* 80313CE4 0030F944 38 80 FF FF */ li r4, -1 +/* 80313CE8 0030F948 80 FF 00 1C */ lwz r7, 0x1c(r31) +/* 80313CEC 0030F94C 39 03 FF FF */ addi r8, r3, -1 +/* 80313CF0 0030F950 89 25 00 20 */ lbz r9, 0x20(r5) +/* 80313CF4 0030F954 7C E5 40 38 */ and r5, r7, r8 +/* 80313CF8 0030F958 7C 65 00 D0 */ neg r3, r5 +/* 80313CFC 0030F95C 7C 08 00 D0 */ neg r0, r8 +/* 80313D00 0030F960 7C 66 2B 78 */ or r6, r3, r5 +/* 80313D04 0030F964 7C E5 4C 30 */ srw r5, r7, r9 +/* 80313D08 0030F968 7C 00 43 78 */ or r0, r0, r8 +/* 80313D0C 0030F96C 7C 83 4C 30 */ srw r3, r4, r9 +/* 80313D10 0030F970 54 C6 0F FE */ srwi r6, r6, 0x1f +/* 80313D14 0030F974 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80313D18 0030F978 7C A5 32 14 */ add r5, r5, r6 +/* 80313D1C 0030F97C 7C 03 02 14 */ add r0, r3, r0 +/* 80313D20 0030F980 7C 05 00 40 */ cmplw r5, r0 +/* 80313D24 0030F984 41 82 00 08 */ beq lbl_80313D2C +/* 80313D28 0030F988 90 9F 00 20 */ stw r4, 0x20(r31) +lbl_80313D2C: +/* 80313D2C 0030F98C 38 00 FF FF */ li r0, -1 +/* 80313D30 0030F990 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313D34 0030F994 90 1F 00 1C */ stw r0, 0x1c(r31) +/* 80313D38 0030F998 40 82 00 0C */ bne lbl_80313D44 +/* 80313D3C 0030F99C 38 60 00 00 */ li r3, 0 +/* 80313D40 0030F9A0 48 00 00 0C */ b lbl_80313D4C +lbl_80313D44: +/* 80313D44 0030F9A4 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313D48 0030F9A8 80 63 02 68 */ lwz r3, 0x268(r3) +lbl_80313D4C: +/* 80313D4C 0030F9AC 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 80313D50 0030F9B0 88 03 00 20 */ lbz r0, 0x20(r3) +/* 80313D54 0030F9B4 7C 80 04 30 */ srw r0, r4, r0 +/* 80313D58 0030F9B8 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80313D5C 0030F9BC A0 63 00 00 */ lhz r3, 0(r3) +/* 80313D60 0030F9C0 38 03 FF FF */ addi r0, r3, -1 +/* 80313D64 0030F9C4 7C 80 00 38 */ and r0, r4, r0 +/* 80313D68 0030F9C8 B0 1F 00 28 */ sth r0, 0x28(r31) +/* 80313D6C 0030F9CC 48 00 00 AC */ b lbl_80313E18 +lbl_80313D70: +/* 80313D70 0030F9D0 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313D74 0030F9D4 7C A8 18 30 */ slw r8, r5, r3 +/* 80313D78 0030F9D8 40 82 00 0C */ bne lbl_80313D84 +/* 80313D7C 0030F9DC 38 80 00 00 */ li r4, 0 +/* 80313D80 0030F9E0 48 00 00 0C */ b lbl_80313D8C +lbl_80313D84: +/* 80313D84 0030F9E4 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313D88 0030F9E8 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80313D8C: +/* 80313D8C 0030F9EC A0 64 00 00 */ lhz r3, 0(r4) +/* 80313D90 0030F9F0 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80313D94 0030F9F4 38 63 FF FF */ addi r3, r3, -1 +/* 80313D98 0030F9F8 88 84 00 20 */ lbz r4, 0x20(r4) +/* 80313D9C 0030F9FC 7C 07 18 38 */ and r7, r0, r3 +/* 80313DA0 0030FA00 7C 05 24 30 */ srw r5, r0, r4 +/* 80313DA4 0030FA04 7D 03 18 38 */ and r3, r8, r3 +/* 80313DA8 0030FA08 7C C7 00 D0 */ neg r6, r7 +/* 80313DAC 0030FA0C 7D 04 24 30 */ srw r4, r8, r4 +/* 80313DB0 0030FA10 7C 03 00 D0 */ neg r0, r3 +/* 80313DB4 0030FA14 7C 00 1B 78 */ or r0, r0, r3 +/* 80313DB8 0030FA18 7C C6 3B 78 */ or r6, r6, r7 +/* 80313DBC 0030FA1C 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80313DC0 0030FA20 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80313DC4 0030FA24 7C 65 1A 14 */ add r3, r5, r3 +/* 80313DC8 0030FA28 7C 04 02 14 */ add r0, r4, r0 +/* 80313DCC 0030FA2C 7C 03 00 40 */ cmplw r3, r0 +/* 80313DD0 0030FA30 41 82 00 0C */ beq lbl_80313DDC +/* 80313DD4 0030FA34 38 00 FF FF */ li r0, -1 +/* 80313DD8 0030FA38 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_80313DDC: +/* 80313DDC 0030FA3C 2C 1F 00 00 */ cmpwi r31, 0 +/* 80313DE0 0030FA40 91 1F 00 1C */ stw r8, 0x1c(r31) +/* 80313DE4 0030FA44 40 82 00 0C */ bne lbl_80313DF0 +/* 80313DE8 0030FA48 38 60 00 00 */ li r3, 0 +/* 80313DEC 0030FA4C 48 00 00 0C */ b lbl_80313DF8 +lbl_80313DF0: +/* 80313DF0 0030FA50 80 7F 00 08 */ lwz r3, 8(r31) +/* 80313DF4 0030FA54 80 63 02 68 */ lwz r3, 0x268(r3) +lbl_80313DF8: +/* 80313DF8 0030FA58 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 80313DFC 0030FA5C 88 03 00 20 */ lbz r0, 0x20(r3) +/* 80313E00 0030FA60 7C 80 04 30 */ srw r0, r4, r0 +/* 80313E04 0030FA64 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80313E08 0030FA68 A0 63 00 00 */ lhz r3, 0(r3) +/* 80313E0C 0030FA6C 38 03 FF FF */ addi r0, r3, -1 +/* 80313E10 0030FA70 7C 80 00 38 */ and r0, r4, r0 +/* 80313E14 0030FA74 B0 1F 00 28 */ sth r0, 0x28(r31) +lbl_80313E18: +/* 80313E18 0030FA78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80313E1C 0030FA7C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80313E20 0030FA80 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80313E24 0030FA84 7C 08 03 A6 */ mtlr r0 +/* 80313E28 0030FA88 38 21 00 20 */ addi r1, r1, 0x20 +/* 80313E2C 0030FA8C 4E 80 00 20 */ blr + +.global func_80313E30 +func_80313E30: +/* 80313E30 0030FA90 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80313E34 0030FA94 7C 08 02 A6 */ mflr r0 +/* 80313E38 0030FA98 90 01 00 24 */ stw r0, 0x24(r1) +/* 80313E3C 0030FA9C 39 61 00 20 */ addi r11, r1, 0x20 +/* 80313E40 0030FAA0 4B EB 32 E9 */ bl _savegpr_27 +/* 80313E44 0030FAA4 7C 7C 1B 78 */ mr r28, r3 +/* 80313E48 0030FAA8 38 00 00 05 */ li r0, 5 +/* 80313E4C 0030FAAC 7C 9D 23 78 */ mr r29, r4 +/* 80313E50 0030FAB0 38 E3 00 40 */ addi r7, r3, 0x40 +/* 80313E54 0030FAB4 7F 86 E3 78 */ mr r6, r28 +/* 80313E58 0030FAB8 3B E0 00 00 */ li r31, 0 +/* 80313E5C 0030FABC 3B C0 00 00 */ li r30, 0 +/* 80313E60 0030FAC0 39 00 00 00 */ li r8, 0 +/* 80313E64 0030FAC4 7C 09 03 A6 */ mtctr r0 +lbl_80313E68: +/* 80313E68 0030FAC8 80 06 00 40 */ lwz r0, 0x40(r6) +/* 80313E6C 0030FACC 54 05 07 FF */ clrlwi. r5, r0, 0x1f +/* 80313E70 0030FAD0 41 82 00 14 */ beq lbl_80313E84 +/* 80313E74 0030FAD4 41 82 00 24 */ beq lbl_80313E98 +/* 80313E78 0030FAD8 7C 00 00 34 */ cntlzw r0, r0 +/* 80313E7C 0030FADC 54 00 DF BD */ rlwinm. r0, r0, 0x1b, 0x1e, 0x1e +/* 80313E80 0030FAE0 41 82 00 18 */ beq lbl_80313E98 +lbl_80313E84: +/* 80313E84 0030FAE4 2C 1E 00 00 */ cmpwi r30, 0 +/* 80313E88 0030FAE8 40 82 00 5C */ bne lbl_80313EE4 +/* 80313E8C 0030FAEC 7C FE 3B 78 */ mr r30, r7 +/* 80313E90 0030FAF0 7D 1F 43 78 */ mr r31, r8 +/* 80313E94 0030FAF4 48 00 00 50 */ b lbl_80313EE4 +lbl_80313E98: +/* 80313E98 0030FAF8 80 A4 02 2C */ lwz r5, 0x22c(r4) +/* 80313E9C 0030FAFC 80 06 02 A8 */ lwz r0, 0x2a8(r6) +/* 80313EA0 0030FB00 7C 05 00 40 */ cmplw r5, r0 +/* 80313EA4 0030FB04 40 82 00 40 */ bne lbl_80313EE4 +/* 80313EA8 0030FB08 80 A4 02 38 */ lwz r5, 0x238(r4) +/* 80313EAC 0030FB0C 80 06 02 B4 */ lwz r0, 0x2b4(r6) +/* 80313EB0 0030FB10 7C 05 00 40 */ cmplw r5, r0 +/* 80313EB4 0030FB14 40 82 00 30 */ bne lbl_80313EE4 +/* 80313EB8 0030FB18 A0 A4 02 3C */ lhz r5, 0x23c(r4) +/* 80313EBC 0030FB1C A0 06 02 B8 */ lhz r0, 0x2b8(r6) +/* 80313EC0 0030FB20 7C 05 00 40 */ cmplw r5, r0 +/* 80313EC4 0030FB24 40 82 00 20 */ bne lbl_80313EE4 +/* 80313EC8 0030FB28 1C 08 02 90 */ mulli r0, r8, 0x290 +/* 80313ECC 0030FB2C 7C A3 02 14 */ add r5, r3, r0 +/* 80313ED0 0030FB30 A0 85 02 CC */ lhz r4, 0x2cc(r5) +/* 80313ED4 0030FB34 38 65 00 40 */ addi r3, r5, 0x40 +/* 80313ED8 0030FB38 38 04 00 01 */ addi r0, r4, 1 +/* 80313EDC 0030FB3C B0 05 02 CC */ sth r0, 0x2cc(r5) +/* 80313EE0 0030FB40 48 00 01 08 */ b lbl_80313FE8 +lbl_80313EE4: +/* 80313EE4 0030FB44 38 C6 02 90 */ addi r6, r6, 0x290 +/* 80313EE8 0030FB48 38 E7 02 90 */ addi r7, r7, 0x290 +/* 80313EEC 0030FB4C 39 08 00 01 */ addi r8, r8, 1 +/* 80313EF0 0030FB50 42 00 FF 78 */ bdnz lbl_80313E68 +/* 80313EF4 0030FB54 2C 1E 00 00 */ cmpwi r30, 0 +/* 80313EF8 0030FB58 40 82 00 0C */ bne lbl_80313F04 +/* 80313EFC 0030FB5C 38 60 00 00 */ li r3, 0 +/* 80313F00 0030FB60 48 00 00 E8 */ b lbl_80313FE8 +lbl_80313F04: +/* 80313F04 0030FB64 38 00 00 03 */ li r0, 3 +/* 80313F08 0030FB68 38 60 00 01 */ li r3, 1 +/* 80313F0C 0030FB6C 90 1E 00 00 */ stw r0, 0(r30) +/* 80313F10 0030FB70 38 00 00 48 */ li r0, 0x48 +/* 80313F14 0030FB74 38 BE 00 38 */ addi r5, r30, 0x38 +/* 80313F18 0030FB78 38 84 FF FC */ addi r4, r4, -4 +/* 80313F1C 0030FB7C B0 7E 02 8C */ sth r3, 0x28c(r30) +/* 80313F20 0030FB80 7C 09 03 A6 */ mtctr r0 +lbl_80313F24: +/* 80313F24 0030FB84 80 64 00 04 */ lwz r3, 4(r4) +/* 80313F28 0030FB88 84 04 00 08 */ lwzu r0, 8(r4) +/* 80313F2C 0030FB8C 90 65 00 04 */ stw r3, 4(r5) +/* 80313F30 0030FB90 94 05 00 08 */ stwu r0, 8(r5) +/* 80313F34 0030FB94 42 00 FF F0 */ bdnz lbl_80313F24 +/* 80313F38 0030FB98 3B 60 00 00 */ li r27, 0 +/* 80313F3C 0030FB9C 38 7E 00 04 */ addi r3, r30, 4 +/* 80313F40 0030FBA0 B3 7E 02 7C */ sth r27, 0x27c(r30) +/* 80313F44 0030FBA4 38 DE 02 70 */ addi r6, r30, 0x270 +/* 80313F48 0030FBA8 38 80 00 00 */ li r4, 0 +/* 80313F4C 0030FBAC B3 7E 02 7E */ sth r27, 0x27e(r30) +/* 80313F50 0030FBB0 93 7E 02 80 */ stw r27, 0x280(r30) +/* 80313F54 0030FBB4 93 7E 02 84 */ stw r27, 0x284(r30) +/* 80313F58 0030FBB8 93 7E 02 88 */ stw r27, 0x288(r30) +/* 80313F5C 0030FBBC 80 BD 02 2C */ lwz r5, 0x22c(r29) +/* 80313F60 0030FBC0 4B FF D1 69 */ bl func_803110C8 +/* 80313F64 0030FBC4 A0 1C 18 80 */ lhz r0, 0x1880(r28) +/* 80313F68 0030FBC8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80313F6C 0030FBCC 41 82 00 78 */ beq lbl_80313FE4 +/* 80313F70 0030FBD0 80 1C 18 88 */ lwz r0, 0x1888(r28) +/* 80313F74 0030FBD4 38 80 00 00 */ li r4, 0 +/* 80313F78 0030FBD8 80 7C 18 84 */ lwz r3, 0x1884(r28) +/* 80313F7C 0030FBDC 7C 1F 01 D6 */ mullw r0, r31, r0 +/* 80313F80 0030FBE0 54 00 10 3A */ slwi r0, r0, 2 +/* 80313F84 0030FBE4 7C 63 02 14 */ add r3, r3, r0 +/* 80313F88 0030FBE8 90 7E 00 20 */ stw r3, 0x20(r30) +/* 80313F8C 0030FBEC 80 1C 18 88 */ lwz r0, 0x1888(r28) +/* 80313F90 0030FBF0 54 05 10 3A */ slwi r5, r0, 2 +/* 80313F94 0030FBF4 4B FF 10 41 */ bl VFipf_memset +/* 80313F98 0030FBF8 80 1C 18 88 */ lwz r0, 0x1888(r28) +/* 80313F9C 0030FBFC 90 1E 00 2C */ stw r0, 0x2c(r30) +/* 80313FA0 0030FC00 A0 1C 18 82 */ lhz r0, 0x1882(r28) +/* 80313FA4 0030FC04 B0 1E 00 24 */ sth r0, 0x24(r30) +/* 80313FA8 0030FC08 B3 7E 00 26 */ sth r27, 0x26(r30) +/* 80313FAC 0030FC0C 93 7E 00 28 */ stw r27, 0x28(r30) +/* 80313FB0 0030FC10 93 7E 00 30 */ stw r27, 0x30(r30) +/* 80313FB4 0030FC14 80 1D 02 28 */ lwz r0, 0x228(r29) +/* 80313FB8 0030FC18 2C 00 00 00 */ cmpwi r0, 0 +/* 80313FBC 0030FC1C 41 82 00 28 */ beq lbl_80313FE4 +/* 80313FC0 0030FC20 80 1E 00 2C */ lwz r0, 0x2c(r30) +/* 80313FC4 0030FC24 2C 00 00 00 */ cmpwi r0, 0 +/* 80313FC8 0030FC28 41 82 00 1C */ beq lbl_80313FE4 +/* 80313FCC 0030FC2C 80 1D 02 34 */ lwz r0, 0x234(r29) +/* 80313FD0 0030FC30 80 7E 00 20 */ lwz r3, 0x20(r30) +/* 80313FD4 0030FC34 90 03 00 00 */ stw r0, 0(r3) +/* 80313FD8 0030FC38 80 7E 00 28 */ lwz r3, 0x28(r30) +/* 80313FDC 0030FC3C 38 03 00 01 */ addi r0, r3, 1 +/* 80313FE0 0030FC40 90 1E 00 28 */ stw r0, 0x28(r30) +lbl_80313FE4: +/* 80313FE4 0030FC44 7F C3 F3 78 */ mr r3, r30 +lbl_80313FE8: +/* 80313FE8 0030FC48 39 61 00 20 */ addi r11, r1, 0x20 +/* 80313FEC 0030FC4C 4B EB 31 89 */ bl _restgpr_27 +/* 80313FF0 0030FC50 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80313FF4 0030FC54 7C 08 03 A6 */ mtlr r0 +/* 80313FF8 0030FC58 38 21 00 20 */ addi r1, r1, 0x20 +/* 80313FFC 0030FC5C 4E 80 00 20 */ blr + +.global func_80314000 +func_80314000: +/* 80314000 0030FC60 94 21 FD 20 */ stwu r1, -0x2e0(r1) +/* 80314004 0030FC64 7C 08 02 A6 */ mflr r0 +/* 80314008 0030FC68 90 01 02 E4 */ stw r0, 0x2e4(r1) +/* 8031400C 0030FC6C 39 61 02 E0 */ addi r11, r1, 0x2e0 +/* 80314010 0030FC70 4B EB 31 0D */ bl _savegpr_24 +/* 80314014 0030FC74 38 00 00 48 */ li r0, 0x48 +/* 80314018 0030FC78 7C 9D 23 78 */ mr r29, r4 +/* 8031401C 0030FC7C 7C BE 2B 78 */ mr r30, r5 +/* 80314020 0030FC80 7C 7C 1B 78 */ mr r28, r3 +/* 80314024 0030FC84 7C DF 33 78 */ mr r31, r6 +/* 80314028 0030FC88 38 A1 00 7C */ addi r5, r1, 0x7c +/* 8031402C 0030FC8C 38 84 FF FC */ addi r4, r4, -4 +/* 80314030 0030FC90 7C 09 03 A6 */ mtctr r0 +lbl_80314034: +/* 80314034 0030FC94 80 64 00 04 */ lwz r3, 4(r4) +/* 80314038 0030FC98 84 04 00 08 */ lwzu r0, 8(r4) +/* 8031403C 0030FC9C 90 65 00 04 */ stw r3, 4(r5) +/* 80314040 0030FCA0 94 05 00 08 */ stwu r0, 8(r5) +/* 80314044 0030FCA4 42 00 FF F0 */ bdnz lbl_80314034 +/* 80314048 0030FCA8 80 A1 02 AC */ lwz r5, 0x2ac(r1) +/* 8031404C 0030FCAC 38 61 00 48 */ addi r3, r1, 0x48 +/* 80314050 0030FCB0 38 81 00 18 */ addi r4, r1, 0x18 +/* 80314054 0030FCB4 38 C1 02 B4 */ addi r6, r1, 0x2b4 +/* 80314058 0030FCB8 4B FF D0 71 */ bl func_803110C8 +/* 8031405C 0030FCBC 80 1C 15 E0 */ lwz r0, 0x15e0(r28) +/* 80314060 0030FCC0 2C 00 00 05 */ cmpwi r0, 5 +/* 80314064 0030FCC4 41 80 00 0C */ blt lbl_80314070 +/* 80314068 0030FCC8 38 60 00 15 */ li r3, 0x15 +/* 8031406C 0030FCCC 48 00 02 90 */ b lbl_803142FC +lbl_80314070: +/* 80314070 0030FCD0 7F C4 F3 78 */ mr r4, r30 +/* 80314074 0030FCD4 38 7D 02 0E */ addi r3, r29, 0x20e +/* 80314078 0030FCD8 48 00 3A 2D */ bl func_80317AA4 +/* 8031407C 0030FCDC 2C 03 00 00 */ cmpwi r3, 0 +/* 80314080 0030FCE0 41 82 00 18 */ beq lbl_80314098 +/* 80314084 0030FCE4 88 1D 02 0E */ lbz r0, 0x20e(r29) +/* 80314088 0030FCE8 7C 00 07 75 */ extsb. r0, r0 +/* 8031408C 0030FCEC 40 82 00 0C */ bne lbl_80314098 +/* 80314090 0030FCF0 38 60 00 01 */ li r3, 1 +/* 80314094 0030FCF4 48 00 02 68 */ b lbl_803142FC +lbl_80314098: +/* 80314098 0030FCF8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031409C 0030FCFC 41 82 00 64 */ beq lbl_80314100 +/* 803140A0 0030FD00 38 61 00 80 */ addi r3, r1, 0x80 +/* 803140A4 0030FD04 38 9D 02 0E */ addi r4, r29, 0x20e +/* 803140A8 0030FD08 4B FF 89 F5 */ bl func_8030CA9C +/* 803140AC 0030FD0C 2C 03 00 00 */ cmpwi r3, 0 +/* 803140B0 0030FD10 41 82 00 08 */ beq lbl_803140B8 +/* 803140B4 0030FD14 48 00 02 48 */ b lbl_803142FC +lbl_803140B8: +/* 803140B8 0030FD18 7F C3 F3 78 */ mr r3, r30 +/* 803140BC 0030FD1C 4B FF 12 25 */ bl VFiPFSTR_GetCodeMode +/* 803140C0 0030FD20 28 03 00 01 */ cmplwi r3, 1 +/* 803140C4 0030FD24 40 82 00 20 */ bne lbl_803140E4 +/* 803140C8 0030FD28 7F C3 F3 78 */ mr r3, r30 +/* 803140CC 0030FD2C 38 80 00 01 */ li r4, 1 +/* 803140D0 0030FD30 4B FF 12 41 */ bl VFiPFSTR_GetStrPos +/* 803140D4 0030FD34 7C 64 1B 78 */ mr r4, r3 +/* 803140D8 0030FD38 7F A3 EB 78 */ mr r3, r29 +/* 803140DC 0030FD3C 48 00 39 31 */ bl func_80317A0C +/* 803140E0 0030FD40 48 00 00 28 */ b lbl_80314108 +lbl_803140E4: +/* 803140E4 0030FD44 7F C3 F3 78 */ mr r3, r30 +/* 803140E8 0030FD48 38 80 00 01 */ li r4, 1 +/* 803140EC 0030FD4C 4B FF 12 25 */ bl VFiPFSTR_GetStrPos +/* 803140F0 0030FD50 7C 64 1B 78 */ mr r4, r3 +/* 803140F4 0030FD54 7F A3 EB 78 */ mr r3, r29 +/* 803140F8 0030FD58 4B FF 17 8D */ bl VFipf_w_strcpy +/* 803140FC 0030FD5C 48 00 00 0C */ b lbl_80314108 +lbl_80314100: +/* 80314100 0030FD60 38 00 00 00 */ li r0, 0 +/* 80314104 0030FD64 B0 1D 00 00 */ sth r0, 0(r29) +lbl_80314108: +/* 80314108 0030FD68 80 1C 00 1C */ lwz r0, 0x1c(r28) +/* 8031410C 0030FD6C 2C 00 00 02 */ cmpwi r0, 2 +/* 80314110 0030FD70 40 82 00 10 */ bne lbl_80314120 +/* 80314114 0030FD74 38 00 00 01 */ li r0, 1 +/* 80314118 0030FD78 90 1D 02 34 */ stw r0, 0x234(r29) +/* 8031411C 0030FD7C 48 00 00 0C */ b lbl_80314128 +lbl_80314120: +/* 80314120 0030FD80 38 00 00 00 */ li r0, 0 +/* 80314124 0030FD84 90 1D 02 34 */ stw r0, 0x234(r29) +lbl_80314128: +/* 80314128 0030FD88 38 A0 00 00 */ li r5, 0 +/* 8031412C 0030FD8C 38 00 00 20 */ li r0, 0x20 +/* 80314130 0030FD90 90 BD 02 28 */ stw r5, 0x228(r29) +/* 80314134 0030FD94 38 7D 02 20 */ addi r3, r29, 0x220 +/* 80314138 0030FD98 38 9D 02 1E */ addi r4, r29, 0x21e +/* 8031413C 0030FD9C 93 9D 02 2C */ stw r28, 0x22c(r29) +/* 80314140 0030FDA0 98 BD 02 1B */ stb r5, 0x21b(r29) +/* 80314144 0030FDA4 98 1D 02 1C */ stb r0, 0x21c(r29) +/* 80314148 0030FDA8 4B FF 8A 31 */ bl func_8030CB78 +/* 8031414C 0030FDAC A0 1D 00 00 */ lhz r0, 0(r29) +/* 80314150 0030FDB0 A0 BD 02 20 */ lhz r5, 0x220(r29) +/* 80314154 0030FDB4 A0 9D 02 1E */ lhz r4, 0x21e(r29) +/* 80314158 0030FDB8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031415C 0030FDBC 98 7D 02 1D */ stb r3, 0x21d(r29) +/* 80314160 0030FDC0 B0 BD 02 22 */ sth r5, 0x222(r29) +/* 80314164 0030FDC4 B0 9D 02 24 */ sth r4, 0x224(r29) +/* 80314168 0030FDC8 B0 BD 02 26 */ sth r5, 0x226(r29) +/* 8031416C 0030FDCC 41 82 01 4C */ beq lbl_803142B8 +/* 80314170 0030FDD0 88 1D 02 1B */ lbz r0, 0x21b(r29) +/* 80314174 0030FDD4 54 00 06 F9 */ rlwinm. r0, r0, 0, 0x1b, 0x1c +/* 80314178 0030FDD8 40 82 01 40 */ bne lbl_803142B8 +/* 8031417C 0030FDDC 3C 80 4E C5 */ lis r4, 0x4EC4EC4F@ha +/* 80314180 0030FDE0 7F A3 EB 78 */ mr r3, r29 +/* 80314184 0030FDE4 38 04 EC 4F */ addi r0, r4, 0x4EC4EC4F@l +/* 80314188 0030FDE8 7F C7 F3 78 */ mr r7, r30 +/* 8031418C 0030FDEC 7C 00 F8 16 */ mulhwu r0, r0, r31 +/* 80314190 0030FDF0 38 A1 00 48 */ addi r5, r1, 0x48 +/* 80314194 0030FDF4 38 C1 00 10 */ addi r6, r1, 0x10 +/* 80314198 0030FDF8 39 01 00 08 */ addi r8, r1, 8 +/* 8031419C 0030FDFC 54 09 F0 BE */ srwi r9, r0, 2 +/* 803141A0 0030FE00 1C 09 00 0D */ mulli r0, r9, 0xd +/* 803141A4 0030FE04 7C 80 F8 50 */ subf r4, r0, r31 +/* 803141A8 0030FE08 7C 04 00 D0 */ neg r0, r4 +/* 803141AC 0030FE0C 7C 00 23 78 */ or r0, r0, r4 +/* 803141B0 0030FE10 54 00 0F FE */ srwi r0, r0, 0x1f +/* 803141B4 0030FE14 7C 09 02 14 */ add r0, r9, r0 +/* 803141B8 0030FE18 54 1A 06 3E */ clrlwi r26, r0, 0x18 +/* 803141BC 0030FE1C 38 1A 00 01 */ addi r0, r26, 1 +/* 803141C0 0030FE20 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 803141C4 0030FE24 4B FF 82 01 */ bl func_8030C3C4 +/* 803141C8 0030FE28 2C 03 00 00 */ cmpwi r3, 0 +/* 803141CC 0030FE2C 41 82 00 08 */ beq lbl_803141D4 +/* 803141D0 0030FE30 48 00 01 2C */ b lbl_803142FC +lbl_803141D4: +/* 803141D4 0030FE34 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 803141D8 0030FE38 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 803141DC 0030FE3C 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 803141E0 0030FE40 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 803141E4 0030FE44 28 00 00 02 */ cmplwi r0, 2 +/* 803141E8 0030FE48 40 82 00 10 */ bne lbl_803141F8 +/* 803141EC 0030FE4C 80 81 00 08 */ lwz r4, 8(r1) +/* 803141F0 0030FE50 38 7D 02 0E */ addi r3, r29, 0x20e +/* 803141F4 0030FE54 48 00 47 09 */ bl func_803188FC +lbl_803141F8: +/* 803141F8 0030FE58 9B 5D 02 0A */ stb r26, 0x20a(r29) +/* 803141FC 0030FE5C 7F A3 EB 78 */ mr r3, r29 +/* 80314200 0030FE60 83 1D 02 38 */ lwz r24, 0x238(r29) +/* 80314204 0030FE64 4B FF 79 A5 */ bl func_8030BBA8 +/* 80314208 0030FE68 7C 7F 1B 78 */ mr r31, r3 +/* 8031420C 0030FE6C 7F 59 D3 78 */ mr r25, r26 +/* 80314210 0030FE70 3B 61 00 10 */ addi r27, r1, 0x10 +/* 80314214 0030FE74 3B C0 00 00 */ li r30, 0 +/* 80314218 0030FE78 48 00 00 90 */ b lbl_803142A8 +lbl_8031421C: +/* 8031421C 0030FE7C 7C 19 D0 50 */ subf r0, r25, r26 +/* 80314220 0030FE80 7F A4 EB 78 */ mr r4, r29 +/* 80314224 0030FE84 7C 00 00 34 */ cntlzw r0, r0 +/* 80314228 0030FE88 38 61 00 28 */ addi r3, r1, 0x28 +/* 8031422C 0030FE8C 57 25 06 3E */ clrlwi r5, r25, 0x18 +/* 80314230 0030FE90 57 E6 06 3E */ clrlwi r6, r31, 0x18 +/* 80314234 0030FE94 54 07 D9 7E */ srwi r7, r0, 5 +/* 80314238 0030FE98 4B FF 7C AD */ bl func_8030BEE4 +/* 8031423C 0030FE9C A0 DD 02 3C */ lhz r6, 0x23c(r29) +/* 80314240 0030FEA0 7F 83 E3 78 */ mr r3, r28 +/* 80314244 0030FEA4 7F 05 C3 78 */ mr r5, r24 +/* 80314248 0030FEA8 38 81 00 28 */ addi r4, r1, 0x28 +/* 8031424C 0030FEAC 39 01 00 0C */ addi r8, r1, 0xc +/* 80314250 0030FEB0 38 E0 00 20 */ li r7, 0x20 +/* 80314254 0030FEB4 39 20 00 00 */ li r9, 0 +/* 80314258 0030FEB8 48 00 4B 91 */ bl func_80318DE8 +/* 8031425C 0030FEBC 2C 03 00 00 */ cmpwi r3, 0 +/* 80314260 0030FEC0 41 82 00 08 */ beq lbl_80314268 +/* 80314264 0030FEC4 48 00 00 98 */ b lbl_803142FC +lbl_80314268: +/* 80314268 0030FEC8 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8031426C 0030FECC 28 00 00 20 */ cmplwi r0, 0x20 +/* 80314270 0030FED0 41 82 00 0C */ beq lbl_8031427C +/* 80314274 0030FED4 38 60 00 11 */ li r3, 0x11 +/* 80314278 0030FED8 48 00 00 84 */ b lbl_803142FC +lbl_8031427C: +/* 8031427C 0030FEDC A0 7D 02 3C */ lhz r3, 0x23c(r29) +/* 80314280 0030FEE0 38 03 00 20 */ addi r0, r3, 0x20 +/* 80314284 0030FEE4 B0 1D 02 3C */ sth r0, 0x23c(r29) +/* 80314288 0030FEE8 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 8031428C 0030FEEC A0 1C 00 00 */ lhz r0, 0(r28) +/* 80314290 0030FEF0 7C 03 00 40 */ cmplw r3, r0 +/* 80314294 0030FEF4 41 80 00 10 */ blt lbl_803142A4 +/* 80314298 0030FEF8 B3 DD 02 3C */ sth r30, 0x23c(r29) +/* 8031429C 0030FEFC 83 1B 00 00 */ lwz r24, 0(r27) +/* 803142A0 0030FF00 3B 7B 00 04 */ addi r27, r27, 4 +lbl_803142A4: +/* 803142A4 0030FF04 3B 39 FF FF */ addi r25, r25, -1 +lbl_803142A8: +/* 803142A8 0030FF08 28 19 00 01 */ cmplwi r25, 1 +/* 803142AC 0030FF0C 40 80 FF 70 */ bge lbl_8031421C +/* 803142B0 0030FF10 93 1D 02 38 */ stw r24, 0x238(r29) +/* 803142B4 0030FF14 48 00 00 28 */ b lbl_803142DC +lbl_803142B8: +/* 803142B8 0030FF18 7F A3 EB 78 */ mr r3, r29 +/* 803142BC 0030FF1C 7F C7 F3 78 */ mr r7, r30 +/* 803142C0 0030FF20 38 A1 00 48 */ addi r5, r1, 0x48 +/* 803142C4 0030FF24 38 C1 00 10 */ addi r6, r1, 0x10 +/* 803142C8 0030FF28 38 80 00 01 */ li r4, 1 +/* 803142CC 0030FF2C 4B FF 84 15 */ bl func_8030C6E0 +/* 803142D0 0030FF30 2C 03 00 00 */ cmpwi r3, 0 +/* 803142D4 0030FF34 41 82 00 08 */ beq lbl_803142DC +/* 803142D8 0030FF38 48 00 00 24 */ b lbl_803142FC +lbl_803142DC: +/* 803142DC 0030FF3C 80 1D 02 34 */ lwz r0, 0x234(r29) +/* 803142E0 0030FF40 28 00 00 01 */ cmplwi r0, 1 +/* 803142E4 0030FF44 40 82 00 0C */ bne lbl_803142F0 +/* 803142E8 0030FF48 38 00 00 00 */ li r0, 0 +/* 803142EC 0030FF4C 90 1D 02 34 */ stw r0, 0x234(r29) +lbl_803142F0: +/* 803142F0 0030FF50 7F A3 EB 78 */ mr r3, r29 +/* 803142F4 0030FF54 38 80 00 01 */ li r4, 1 +/* 803142F8 0030FF58 4B FF 85 F9 */ bl func_8030C8F0 +lbl_803142FC: +/* 803142FC 0030FF5C 39 61 02 E0 */ addi r11, r1, 0x2e0 +/* 80314300 0030FF60 4B EB 2E 69 */ bl _restgpr_24 +/* 80314304 0030FF64 80 01 02 E4 */ lwz r0, 0x2e4(r1) +/* 80314308 0030FF68 7C 08 03 A6 */ mtlr r0 +/* 8031430C 0030FF6C 38 21 02 E0 */ addi r1, r1, 0x2e0 +/* 80314310 0030FF70 4E 80 00 20 */ blr + +.global func_80314314 +func_80314314: +/* 80314314 0030FF74 94 21 FA C0 */ stwu r1, -0x540(r1) +/* 80314318 0030FF78 7C 08 02 A6 */ mflr r0 +/* 8031431C 0030FF7C 38 E0 00 01 */ li r7, 1 +/* 80314320 0030FF80 90 01 05 44 */ stw r0, 0x544(r1) +/* 80314324 0030FF84 38 00 00 00 */ li r0, 0 +/* 80314328 0030FF88 93 E1 05 3C */ stw r31, 0x53c(r1) +/* 8031432C 0030FF8C 7C 9F 23 78 */ mr r31, r4 +/* 80314330 0030FF90 38 81 02 E8 */ addi r4, r1, 0x2e8 +/* 80314334 0030FF94 93 C1 05 38 */ stw r30, 0x538(r1) +/* 80314338 0030FF98 7C DE 33 78 */ mr r30, r6 +/* 8031433C 0030FF9C 93 A1 05 34 */ stw r29, 0x534(r1) +/* 80314340 0030FFA0 7C BD 2B 78 */ mr r29, r5 +/* 80314344 0030FFA4 93 81 05 30 */ stw r28, 0x530(r1) +/* 80314348 0030FFA8 7C 7C 1B 78 */ mr r28, r3 +/* 8031434C 0030FFAC 7F 85 E3 78 */ mr r5, r28 +/* 80314350 0030FFB0 38 61 00 78 */ addi r3, r1, 0x78 +/* 80314354 0030FFB4 90 06 00 00 */ stw r0, 0(r6) +/* 80314358 0030FFB8 7F E6 FB 78 */ mr r6, r31 +/* 8031435C 0030FFBC 4B FF A1 D1 */ bl func_8030E52C +/* 80314360 0030FFC0 2C 03 00 00 */ cmpwi r3, 0 +/* 80314364 0030FFC4 41 82 00 08 */ beq lbl_8031436C +/* 80314368 0030FFC8 48 00 04 7C */ b lbl_803147E4 +lbl_8031436C: +/* 8031436C 0030FFCC 88 01 05 04 */ lbz r0, 0x504(r1) +/* 80314370 0030FFD0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 80314374 0030FFD4 40 82 00 0C */ bne lbl_80314380 +/* 80314378 0030FFD8 38 60 00 01 */ li r3, 1 +/* 8031437C 0030FFDC 48 00 04 68 */ b lbl_803147E4 +lbl_80314380: +/* 80314380 0030FFE0 7F E3 FB 78 */ mr r3, r31 +/* 80314384 0030FFE4 38 81 00 20 */ addi r4, r1, 0x20 +/* 80314388 0030FFE8 38 A1 00 30 */ addi r5, r1, 0x30 +/* 8031438C 0030FFEC 48 00 2B 01 */ bl func_80316E8C +/* 80314390 0030FFF0 2C 03 00 00 */ cmpwi r3, 0 +/* 80314394 0030FFF4 41 82 00 0C */ beq lbl_803143A0 +/* 80314398 0030FFF8 38 60 00 01 */ li r3, 1 +/* 8031439C 0030FFFC 48 00 04 48 */ b lbl_803147E4 +lbl_803143A0: +/* 803143A0 00310000 38 61 00 30 */ addi r3, r1, 0x30 +/* 803143A4 00310004 38 80 00 01 */ li r4, 1 +/* 803143A8 00310008 4B FF 11 35 */ bl VFiPFSTR_StrNumChar +/* 803143AC 0031000C 54 7F 04 3E */ clrlwi r31, r3, 0x10 +/* 803143B0 00310010 2C 1F 00 FF */ cmpwi r31, 0xff +/* 803143B4 00310014 40 81 00 0C */ ble lbl_803143C0 +/* 803143B8 00310018 38 60 00 01 */ li r3, 1 +/* 803143BC 0031001C 48 00 04 28 */ b lbl_803147E4 +lbl_803143C0: +/* 803143C0 00310020 38 61 00 30 */ addi r3, r1, 0x30 +/* 803143C4 00310024 4B FF 0F 1D */ bl VFiPFSTR_GetCodeMode +/* 803143C8 00310028 28 03 00 02 */ cmplwi r3, 2 +/* 803143CC 0031002C 40 82 00 1C */ bne lbl_803143E8 +/* 803143D0 00310030 38 61 00 30 */ addi r3, r1, 0x30 +/* 803143D4 00310034 38 80 00 01 */ li r4, 1 +/* 803143D8 00310038 4B FF 0F 39 */ bl VFiPFSTR_GetStrPos +/* 803143DC 0031003C 7C 64 1B 78 */ mr r4, r3 +/* 803143E0 00310040 38 61 00 E8 */ addi r3, r1, 0xe8 +/* 803143E4 00310044 48 00 34 FD */ bl func_803178E0 +lbl_803143E8: +/* 803143E8 00310048 38 61 00 30 */ addi r3, r1, 0x30 +/* 803143EC 0031004C 38 81 00 E8 */ addi r4, r1, 0xe8 +/* 803143F0 00310050 4B FF 0E F9 */ bl VFiPFSTR_SetLocalStr +/* 803143F4 00310054 57 A0 07 BD */ rlwinm. r0, r29, 0, 0x1e, 0x1e +/* 803143F8 00310058 41 82 00 84 */ beq lbl_8031447C +/* 803143FC 0031005C 80 A1 05 14 */ lwz r5, 0x514(r1) +/* 80314400 00310060 38 61 00 40 */ addi r3, r1, 0x40 +/* 80314404 00310064 38 81 00 10 */ addi r4, r1, 0x10 +/* 80314408 00310068 38 C1 05 1C */ addi r6, r1, 0x51c +/* 8031440C 0031006C 4B FF CC BD */ bl func_803110C8 +/* 80314410 00310070 38 61 00 40 */ addi r3, r1, 0x40 +/* 80314414 00310074 38 81 02 E8 */ addi r4, r1, 0x2e8 +/* 80314418 00310078 38 C1 00 30 */ addi r6, r1, 0x30 +/* 8031441C 0031007C 38 A0 00 00 */ li r5, 0 +/* 80314420 00310080 38 E0 00 7F */ li r7, 0x7f +/* 80314424 00310084 39 00 00 00 */ li r8, 0 +/* 80314428 00310088 4B FF 7F 75 */ bl func_8030C39C +/* 8031442C 0031008C 2C 03 00 00 */ cmpwi r3, 0 +/* 80314430 00310090 41 82 00 0C */ beq lbl_8031443C +/* 80314434 00310094 38 60 00 03 */ li r3, 3 +/* 80314438 00310098 48 00 03 AC */ b lbl_803147E4 +lbl_8031443C: +/* 8031443C 0031009C 57 A0 07 39 */ rlwinm. r0, r29, 0, 0x1c, 0x1c +/* 80314440 003100A0 41 82 00 18 */ beq lbl_80314458 +/* 80314444 003100A4 88 01 05 04 */ lbz r0, 0x504(r1) +/* 80314448 003100A8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8031444C 003100AC 41 82 00 0C */ beq lbl_80314458 +/* 80314450 003100B0 38 60 00 0A */ li r3, 0xa +/* 80314454 003100B4 48 00 03 90 */ b lbl_803147E4 +lbl_80314458: +/* 80314458 003100B8 88 01 05 04 */ lbz r0, 0x504(r1) +/* 8031445C 003100BC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 80314460 003100C0 41 82 00 0C */ beq lbl_8031446C +/* 80314464 003100C4 38 60 00 17 */ li r3, 0x17 +/* 80314468 003100C8 48 00 03 7C */ b lbl_803147E4 +lbl_8031446C: +/* 8031446C 003100CC 38 61 05 0A */ addi r3, r1, 0x50a +/* 80314470 003100D0 38 81 00 08 */ addi r4, r1, 8 +/* 80314474 003100D4 4B FF 87 05 */ bl func_8030CB78 +/* 80314478 003100D8 48 00 01 44 */ b lbl_803145BC +lbl_8031447C: +/* 8031447C 003100DC 80 01 05 18 */ lwz r0, 0x518(r1) +/* 80314480 003100E0 7C 1F 02 14 */ add r0, r31, r0 +/* 80314484 003100E4 28 00 01 03 */ cmplwi r0, 0x103 +/* 80314488 003100E8 40 81 00 0C */ ble lbl_80314494 +/* 8031448C 003100EC 38 60 00 01 */ li r3, 1 +/* 80314490 003100F0 48 00 03 54 */ b lbl_803147E4 +lbl_80314494: +/* 80314494 003100F4 7F 83 E3 78 */ mr r3, r28 +/* 80314498 003100F8 7F E6 FB 78 */ mr r6, r31 +/* 8031449C 003100FC 38 81 02 E8 */ addi r4, r1, 0x2e8 +/* 803144A0 00310100 38 A1 00 30 */ addi r5, r1, 0x30 +/* 803144A4 00310104 4B FF FB 5D */ bl func_80314000 +/* 803144A8 00310108 2C 03 00 08 */ cmpwi r3, 8 +/* 803144AC 0031010C 40 82 01 04 */ bne lbl_803145B0 +/* 803144B0 00310110 57 A0 06 F7 */ rlwinm. r0, r29, 0, 0x1b, 0x1b +/* 803144B4 00310114 41 82 00 0C */ beq lbl_803144C0 +/* 803144B8 00310118 38 60 00 08 */ li r3, 8 +/* 803144BC 0031011C 48 00 03 28 */ b lbl_803147E4 +lbl_803144C0: +/* 803144C0 00310120 57 BF 07 FF */ clrlwi. r31, r29, 0x1f +/* 803144C4 00310124 41 82 00 44 */ beq lbl_80314508 +/* 803144C8 00310128 38 00 00 00 */ li r0, 0 +/* 803144CC 0031012C 34 61 02 E8 */ addic. r3, r1, 0x2e8 +/* 803144D0 00310130 90 01 00 0C */ stw r0, 0xc(r1) +/* 803144D4 00310134 40 82 00 0C */ bne lbl_803144E0 +/* 803144D8 00310138 38 00 00 00 */ li r0, 0 +/* 803144DC 0031013C 48 00 00 1C */ b lbl_803144F8 +lbl_803144E0: +/* 803144E0 00310140 38 81 00 0C */ addi r4, r1, 0xc +/* 803144E4 00310144 48 00 07 61 */ bl func_80314C44 +/* 803144E8 00310148 80 61 00 0C */ lwz r3, 0xc(r1) +/* 803144EC 0031014C 7C 03 00 D0 */ neg r0, r3 +/* 803144F0 00310150 7C 00 1B 78 */ or r0, r0, r3 +/* 803144F4 00310154 54 00 0F FE */ srwi r0, r0, 0x1f +lbl_803144F8: +/* 803144F8 00310158 2C 00 00 00 */ cmpwi r0, 0 +/* 803144FC 0031015C 41 82 00 0C */ beq lbl_80314508 +/* 80314500 00310160 38 60 00 08 */ li r3, 8 +/* 80314504 00310164 48 00 02 E0 */ b lbl_803147E4 +lbl_80314508: +/* 80314508 00310168 88 61 05 04 */ lbz r3, 0x504(r1) +/* 8031450C 0031016C 54 60 07 FF */ clrlwi. r0, r3, 0x1f +/* 80314510 00310170 41 82 00 24 */ beq lbl_80314534 +/* 80314514 00310174 2C 1F 00 00 */ cmpwi r31, 0 +/* 80314518 00310178 40 82 00 14 */ bne lbl_8031452C +/* 8031451C 0031017C 57 A0 07 7B */ rlwinm. r0, r29, 0, 0x1d, 0x1d +/* 80314520 00310180 40 82 00 0C */ bne lbl_8031452C +/* 80314524 00310184 57 A0 07 39 */ rlwinm. r0, r29, 0, 0x1c, 0x1c +/* 80314528 00310188 41 82 00 0C */ beq lbl_80314534 +lbl_8031452C: +/* 8031452C 0031018C 38 60 00 0A */ li r3, 0xa +/* 80314530 00310190 48 00 02 B4 */ b lbl_803147E4 +lbl_80314534: +/* 80314534 00310194 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b +/* 80314538 00310198 41 82 00 0C */ beq lbl_80314544 +/* 8031453C 0031019C 38 60 00 17 */ li r3, 0x17 +/* 80314540 003101A0 48 00 02 A4 */ b lbl_803147E4 +lbl_80314544: +/* 80314544 003101A4 2C 1F 00 00 */ cmpwi r31, 0 +/* 80314548 003101A8 41 82 00 58 */ beq lbl_803145A0 +/* 8031454C 003101AC 80 81 05 1C */ lwz r4, 0x51c(r1) +/* 80314550 003101B0 28 04 00 02 */ cmplwi r4, 2 +/* 80314554 003101B4 41 80 00 28 */ blt lbl_8031457C +/* 80314558 003101B8 3C 04 00 01 */ addis r0, r4, 1 +/* 8031455C 003101BC 28 00 FF FF */ cmplwi r0, 0xffff +/* 80314560 003101C0 41 82 00 1C */ beq lbl_8031457C +/* 80314564 003101C4 80 C1 05 10 */ lwz r6, 0x510(r1) +/* 80314568 003101C8 2C 06 00 00 */ cmpwi r6, 0 +/* 8031456C 003101CC 41 82 00 10 */ beq lbl_8031457C +/* 80314570 003101D0 38 61 00 80 */ addi r3, r1, 0x80 +/* 80314574 003101D4 38 A0 FF FF */ li r5, -1 +/* 80314578 003101D8 4B FF BE B1 */ bl func_80310428 +lbl_8031457C: +/* 8031457C 003101DC 38 00 00 00 */ li r0, 0 +/* 80314580 003101E0 38 61 05 0E */ addi r3, r1, 0x50e +/* 80314584 003101E4 90 01 05 1C */ stw r0, 0x51c(r1) +/* 80314588 003101E8 38 81 05 0C */ addi r4, r1, 0x50c +/* 8031458C 003101EC 90 01 05 10 */ stw r0, 0x510(r1) +/* 80314590 003101F0 4B FF 85 E9 */ bl func_8030CB78 +/* 80314594 003101F4 A0 01 05 0E */ lhz r0, 0x50e(r1) +/* 80314598 003101F8 B0 01 05 0A */ sth r0, 0x50a(r1) +/* 8031459C 003101FC 48 00 00 20 */ b lbl_803145BC +lbl_803145A0: +/* 803145A0 00310200 38 61 05 0A */ addi r3, r1, 0x50a +/* 803145A4 00310204 38 81 00 08 */ addi r4, r1, 8 +/* 803145A8 00310208 4B FF 85 D1 */ bl func_8030CB78 +/* 803145AC 0031020C 48 00 00 10 */ b lbl_803145BC +lbl_803145B0: +/* 803145B0 00310210 2C 03 00 00 */ cmpwi r3, 0 +/* 803145B4 00310214 41 82 00 08 */ beq lbl_803145BC +/* 803145B8 00310218 48 00 02 2C */ b lbl_803147E4 +lbl_803145BC: +/* 803145BC 0031021C 83 81 05 14 */ lwz r28, 0x514(r1) +/* 803145C0 00310220 38 81 02 E8 */ addi r4, r1, 0x2e8 +/* 803145C4 00310224 7F 83 E3 78 */ mr r3, r28 +/* 803145C8 00310228 4B FF F8 69 */ bl func_80313E30 +/* 803145CC 0031022C 2C 03 00 00 */ cmpwi r3, 0 +/* 803145D0 00310230 40 82 00 0C */ bne lbl_803145DC +/* 803145D4 00310234 38 60 00 15 */ li r3, 0x15 +/* 803145D8 00310238 48 00 02 0C */ b lbl_803147E4 +lbl_803145DC: +/* 803145DC 0031023C 38 00 00 05 */ li r0, 5 +/* 803145E0 00310240 7F 85 E3 78 */ mr r5, r28 +/* 803145E4 00310244 38 80 00 00 */ li r4, 0 +/* 803145E8 00310248 7C 09 03 A6 */ mtctr r0 +lbl_803145EC: +/* 803145EC 0031024C 80 05 0D 10 */ lwz r0, 0xd10(r5) +/* 803145F0 00310250 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 803145F4 00310254 40 82 00 14 */ bne lbl_80314608 +/* 803145F8 00310258 1C 04 00 30 */ mulli r0, r4, 0x30 +/* 803145FC 0031025C 7C 9C 02 14 */ add r4, r28, r0 +/* 80314600 00310260 3B E4 0D 10 */ addi r31, r4, 0xd10 +/* 80314604 00310264 48 00 00 14 */ b lbl_80314618 +lbl_80314608: +/* 80314608 00310268 38 A5 00 30 */ addi r5, r5, 0x30 +/* 8031460C 0031026C 38 84 00 01 */ addi r4, r4, 1 +/* 80314610 00310270 42 00 FF DC */ bdnz lbl_803145EC +/* 80314614 00310274 3B E0 00 00 */ li r31, 0 +lbl_80314618: +/* 80314618 00310278 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031461C 0031027C 40 82 00 34 */ bne lbl_80314650 +/* 80314620 00310280 A0 83 02 8C */ lhz r4, 0x28c(r3) +/* 80314624 00310284 38 84 FF FF */ addi r4, r4, -1 +/* 80314628 00310288 54 80 04 3F */ clrlwi. r0, r4, 0x10 +/* 8031462C 0031028C B0 83 02 8C */ sth r4, 0x28c(r3) +/* 80314630 00310290 40 82 00 18 */ bne lbl_80314648 +/* 80314634 00310294 80 83 00 00 */ lwz r4, 0(r3) +/* 80314638 00310298 38 00 00 00 */ li r0, 0 +/* 8031463C 0031029C 54 84 00 3C */ rlwinm r4, r4, 0, 0, 0x1e +/* 80314640 003102A0 90 83 00 00 */ stw r4, 0(r3) +/* 80314644 003102A4 90 03 00 20 */ stw r0, 0x20(r3) +lbl_80314648: +/* 80314648 003102A8 38 60 00 16 */ li r3, 0x16 +/* 8031464C 003102AC 48 00 01 98 */ b lbl_803147E4 +lbl_80314650: +/* 80314650 003102B0 90 7F 00 08 */ stw r3, 8(r31) +/* 80314654 003102B4 38 80 00 01 */ li r4, 1 +/* 80314658 003102B8 38 00 00 00 */ li r0, 0 +/* 8031465C 003102BC 38 7F 00 0C */ addi r3, r31, 0xc +/* 80314660 003102C0 90 9F 00 00 */ stw r4, 0(r31) +/* 80314664 003102C4 93 BF 00 04 */ stw r29, 4(r31) +/* 80314668 003102C8 90 1F 00 18 */ stw r0, 0x18(r31) +/* 8031466C 003102CC B0 1F 00 2C */ sth r0, 0x2c(r31) +/* 80314670 003102D0 4B FF C7 29 */ bl func_80310D98 +/* 80314674 003102D4 38 00 FF FF */ li r0, -1 +/* 80314678 003102D8 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031467C 003102DC 90 1F 00 20 */ stw r0, 0x20(r31) +/* 80314680 003102E0 40 82 00 0C */ bne lbl_8031468C +/* 80314684 003102E4 38 80 00 00 */ li r4, 0 +/* 80314688 003102E8 48 00 00 0C */ b lbl_80314694 +lbl_8031468C: +/* 8031468C 003102EC 80 7F 00 08 */ lwz r3, 8(r31) +/* 80314690 003102F0 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_80314694: +/* 80314694 003102F4 A0 64 00 00 */ lhz r3, 0(r4) +/* 80314698 003102F8 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 8031469C 003102FC 38 03 FF FF */ addi r0, r3, -1 +/* 803146A0 00310300 88 84 00 20 */ lbz r4, 0x20(r4) +/* 803146A4 00310304 7C A3 00 38 */ and r3, r5, r0 +/* 803146A8 00310308 7C 03 00 D0 */ neg r0, r3 +/* 803146AC 0031030C 7C A4 24 30 */ srw r4, r5, r4 +/* 803146B0 00310310 7C 00 1B 78 */ or r0, r0, r3 +/* 803146B4 00310314 54 00 0F FE */ srwi r0, r0, 0x1f +/* 803146B8 00310318 7C 04 02 15 */ add. r0, r4, r0 +/* 803146BC 0031031C 41 82 00 0C */ beq lbl_803146C8 +/* 803146C0 00310320 38 00 FF FF */ li r0, -1 +/* 803146C4 00310324 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_803146C8: +/* 803146C8 00310328 38 00 00 00 */ li r0, 0 +/* 803146CC 0031032C 2C 1F 00 00 */ cmpwi r31, 0 +/* 803146D0 00310330 90 1F 00 1C */ stw r0, 0x1c(r31) +/* 803146D4 00310334 40 82 00 0C */ bne lbl_803146E0 +/* 803146D8 00310338 38 80 00 00 */ li r4, 0 +/* 803146DC 0031033C 48 00 00 0C */ b lbl_803146E8 +lbl_803146E0: +/* 803146E0 00310340 80 7F 00 08 */ lwz r3, 8(r31) +/* 803146E4 00310344 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_803146E8: +/* 803146E8 00310348 57 A0 07 FF */ clrlwi. r0, r29, 0x1f +/* 803146EC 0031034C 80 7F 00 1C */ lwz r3, 0x1c(r31) +/* 803146F0 00310350 88 04 00 20 */ lbz r0, 0x20(r4) +/* 803146F4 00310354 7C 60 04 30 */ srw r0, r3, r0 +/* 803146F8 00310358 90 1F 00 24 */ stw r0, 0x24(r31) +/* 803146FC 0031035C A0 64 00 00 */ lhz r3, 0(r4) +/* 80314700 00310360 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 80314704 00310364 38 03 FF FF */ addi r0, r3, -1 +/* 80314708 00310368 7C 80 00 38 */ and r0, r4, r0 +/* 8031470C 0031036C B0 1F 00 28 */ sth r0, 0x28(r31) +/* 80314710 00310370 41 82 00 14 */ beq lbl_80314724 +/* 80314714 00310374 80 7F 00 08 */ lwz r3, 8(r31) +/* 80314718 00310378 80 03 00 00 */ lwz r0, 0(r3) +/* 8031471C 0031037C 60 00 00 04 */ ori r0, r0, 4 +/* 80314720 00310380 90 03 00 00 */ stw r0, 0(r3) +lbl_80314724: +/* 80314724 00310384 80 1F 00 04 */ lwz r0, 4(r31) +/* 80314728 00310388 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 8031472C 0031038C 41 82 00 B0 */ beq lbl_803147DC +/* 80314730 00310390 80 7F 00 08 */ lwz r3, 8(r31) +/* 80314734 00310394 2C 1F 00 00 */ cmpwi r31, 0 +/* 80314738 00310398 81 03 02 64 */ lwz r8, 0x264(r3) +/* 8031473C 0031039C 40 82 00 0C */ bne lbl_80314748 +/* 80314740 003103A0 38 80 00 00 */ li r4, 0 +/* 80314744 003103A4 48 00 00 08 */ b lbl_8031474C +lbl_80314748: +/* 80314748 003103A8 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_8031474C: +/* 8031474C 003103AC A0 64 00 00 */ lhz r3, 0(r4) +/* 80314750 003103B0 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 80314754 003103B4 38 63 FF FF */ addi r3, r3, -1 +/* 80314758 003103B8 88 84 00 20 */ lbz r4, 0x20(r4) +/* 8031475C 003103BC 7C 07 18 38 */ and r7, r0, r3 +/* 80314760 003103C0 7C 05 24 30 */ srw r5, r0, r4 +/* 80314764 003103C4 7D 03 18 38 */ and r3, r8, r3 +/* 80314768 003103C8 7C C7 00 D0 */ neg r6, r7 +/* 8031476C 003103CC 7D 04 24 30 */ srw r4, r8, r4 +/* 80314770 003103D0 7C 03 00 D0 */ neg r0, r3 +/* 80314774 003103D4 7C 00 1B 78 */ or r0, r0, r3 +/* 80314778 003103D8 7C C6 3B 78 */ or r6, r6, r7 +/* 8031477C 003103DC 54 C3 0F FE */ srwi r3, r6, 0x1f +/* 80314780 003103E0 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80314784 003103E4 7C 65 1A 14 */ add r3, r5, r3 +/* 80314788 003103E8 7C 04 02 14 */ add r0, r4, r0 +/* 8031478C 003103EC 7C 03 00 40 */ cmplw r3, r0 +/* 80314790 003103F0 41 82 00 0C */ beq lbl_8031479C +/* 80314794 003103F4 38 00 FF FF */ li r0, -1 +/* 80314798 003103F8 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_8031479C: +/* 8031479C 003103FC 2C 1F 00 00 */ cmpwi r31, 0 +/* 803147A0 00310400 91 1F 00 1C */ stw r8, 0x1c(r31) +/* 803147A4 00310404 40 82 00 0C */ bne lbl_803147B0 +/* 803147A8 00310408 38 80 00 00 */ li r4, 0 +/* 803147AC 0031040C 48 00 00 0C */ b lbl_803147B8 +lbl_803147B0: +/* 803147B0 00310410 80 7F 00 08 */ lwz r3, 8(r31) +/* 803147B4 00310414 80 83 02 68 */ lwz r4, 0x268(r3) +lbl_803147B8: +/* 803147B8 00310418 80 7F 00 1C */ lwz r3, 0x1c(r31) +/* 803147BC 0031041C 88 04 00 20 */ lbz r0, 0x20(r4) +/* 803147C0 00310420 7C 60 04 30 */ srw r0, r3, r0 +/* 803147C4 00310424 90 1F 00 24 */ stw r0, 0x24(r31) +/* 803147C8 00310428 A0 64 00 00 */ lhz r3, 0(r4) +/* 803147CC 0031042C 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 803147D0 00310430 38 03 FF FF */ addi r0, r3, -1 +/* 803147D4 00310434 7C 80 00 38 */ and r0, r4, r0 +/* 803147D8 00310438 B0 1F 00 28 */ sth r0, 0x28(r31) +lbl_803147DC: +/* 803147DC 0031043C 93 FE 00 00 */ stw r31, 0(r30) +/* 803147E0 00310440 38 60 00 00 */ li r3, 0 +lbl_803147E4: +/* 803147E4 00310444 80 01 05 44 */ lwz r0, 0x544(r1) +/* 803147E8 00310448 83 E1 05 3C */ lwz r31, 0x53c(r1) +/* 803147EC 0031044C 83 C1 05 38 */ lwz r30, 0x538(r1) +/* 803147F0 00310450 83 A1 05 34 */ lwz r29, 0x534(r1) +/* 803147F4 00310454 83 81 05 30 */ lwz r28, 0x530(r1) +/* 803147F8 00310458 7C 08 03 A6 */ mtlr r0 +/* 803147FC 0031045C 38 21 05 40 */ addi r1, r1, 0x540 +/* 80314800 00310460 4E 80 00 20 */ blr + +.global func_80314804 +func_80314804: +/* 80314804 00310464 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80314808 00310468 7C 08 02 A6 */ mflr r0 +/* 8031480C 0031046C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80314810 00310470 38 00 00 00 */ li r0, 0 +/* 80314814 00310474 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80314818 00310478 7D 1F 43 78 */ mr r31, r8 +/* 8031481C 0031047C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80314820 00310480 7C BE 2B 78 */ mr r30, r5 +/* 80314824 00310484 90 01 00 08 */ stw r0, 8(r1) +/* 80314828 00310488 90 08 00 00 */ stw r0, 0(r8) +/* 8031482C 0031048C 80 67 00 04 */ lwz r3, 4(r7) +/* 80314830 00310490 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c +/* 80314834 00310494 40 82 00 1C */ bne lbl_80314850 +/* 80314838 00310498 54 60 07 FF */ clrlwi. r0, r3, 0x1f +/* 8031483C 0031049C 40 82 00 0C */ bne lbl_80314848 +/* 80314840 003104A0 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d +/* 80314844 003104A4 41 82 00 0C */ beq lbl_80314850 +lbl_80314848: +/* 80314848 003104A8 38 60 00 0A */ li r3, 0xa +/* 8031484C 003104AC 48 00 00 6C */ b lbl_803148B8 +lbl_80314850: +/* 80314850 003104B0 81 07 00 08 */ lwz r8, 8(r7) +/* 80314854 003104B4 A0 08 02 7C */ lhz r0, 0x27c(r8) +/* 80314858 003104B8 54 00 07 BF */ clrlwi. r0, r0, 0x1e +/* 8031485C 003104BC 41 82 00 18 */ beq lbl_80314874 +/* 80314860 003104C0 A0 07 00 2C */ lhz r0, 0x2c(r7) +/* 80314864 003104C4 2C 00 00 00 */ cmpwi r0, 0 +/* 80314868 003104C8 40 82 00 0C */ bne lbl_80314874 +/* 8031486C 003104CC 38 60 00 19 */ li r3, 0x19 +/* 80314870 003104D0 48 00 00 48 */ b lbl_803148B8 +lbl_80314874: +/* 80314874 003104D4 80 67 00 1C */ lwz r3, 0x1c(r7) +/* 80314878 003104D8 80 08 02 64 */ lwz r0, 0x264(r8) +/* 8031487C 003104DC 7C 03 00 40 */ cmplw r3, r0 +/* 80314880 003104E0 41 80 00 0C */ blt lbl_8031488C +/* 80314884 003104E4 38 60 00 1C */ li r3, 0x1c +/* 80314888 003104E8 48 00 00 30 */ b lbl_803148B8 +lbl_8031488C: +/* 8031488C 003104EC 7C A5 31 D6 */ mullw r5, r5, r6 +/* 80314890 003104F0 7C E3 3B 78 */ mr r3, r7 +/* 80314894 003104F4 38 C1 00 08 */ addi r6, r1, 8 +/* 80314898 003104F8 4B FF E7 85 */ bl func_8031301C +/* 8031489C 003104FC 80 81 00 08 */ lwz r4, 8(r1) +/* 803148A0 00310500 7C 03 00 D0 */ neg r0, r3 +/* 803148A4 00310504 7C 00 1B 78 */ or r0, r0, r3 +/* 803148A8 00310508 7C 84 F3 96 */ divwu r4, r4, r30 +/* 803148AC 0031050C 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 803148B0 00310510 7C 63 00 38 */ and r3, r3, r0 +/* 803148B4 00310514 90 9F 00 00 */ stw r4, 0(r31) +lbl_803148B8: +/* 803148B8 00310518 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803148BC 0031051C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803148C0 00310520 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803148C4 00310524 7C 08 03 A6 */ mtlr r0 +/* 803148C8 00310528 38 21 00 20 */ addi r1, r1, 0x20 +/* 803148CC 0031052C 4E 80 00 20 */ blr + +.global func_803148D0 +func_803148D0: +/* 803148D0 00310530 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803148D4 00310534 7C 08 02 A6 */ mflr r0 +/* 803148D8 00310538 90 01 00 34 */ stw r0, 0x34(r1) +/* 803148DC 0031053C 39 61 00 30 */ addi r11, r1, 0x30 +/* 803148E0 00310540 4B EB 28 41 */ bl _savegpr_25 +/* 803148E4 00310544 38 00 00 00 */ li r0, 0 +/* 803148E8 00310548 7C 9B 23 78 */ mr r27, r4 +/* 803148EC 0031054C 90 01 00 08 */ stw r0, 8(r1) +/* 803148F0 00310550 7C 7A 1B 78 */ mr r26, r3 +/* 803148F4 00310554 7C BC 2B 78 */ mr r28, r5 +/* 803148F8 00310558 7C DD 33 78 */ mr r29, r6 +/* 803148FC 0031055C 90 08 00 00 */ stw r0, 0(r8) +/* 80314900 00310560 7C FE 3B 78 */ mr r30, r7 +/* 80314904 00310564 7D 1F 43 78 */ mr r31, r8 +/* 80314908 00310568 80 87 00 04 */ lwz r4, 4(r7) +/* 8031490C 0031056C 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c +/* 80314910 00310570 40 82 00 14 */ bne lbl_80314924 +/* 80314914 00310574 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e +/* 80314918 00310578 41 82 00 0C */ beq lbl_80314924 +/* 8031491C 0031057C 38 60 00 0A */ li r3, 0xa +/* 80314920 00310580 48 00 01 EC */ b lbl_80314B0C +lbl_80314924: +/* 80314924 00310584 80 A7 00 08 */ lwz r5, 8(r7) +/* 80314928 00310588 A0 C5 02 7C */ lhz r6, 0x27c(r5) +/* 8031492C 0031058C 54 C0 07 BF */ clrlwi. r0, r6, 0x1e +/* 80314930 00310590 41 82 00 28 */ beq lbl_80314958 +/* 80314934 00310594 54 C0 07 FF */ clrlwi. r0, r6, 0x1f +/* 80314938 00310598 40 82 00 18 */ bne lbl_80314950 +/* 8031493C 0031059C 54 C0 07 BD */ rlwinm. r0, r6, 0, 0x1e, 0x1e +/* 80314940 003105A0 41 82 00 18 */ beq lbl_80314958 +/* 80314944 003105A4 A0 07 00 2C */ lhz r0, 0x2c(r7) +/* 80314948 003105A8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031494C 003105AC 40 82 00 0C */ bne lbl_80314958 +lbl_80314950: +/* 80314950 003105B0 38 60 00 19 */ li r3, 0x19 +/* 80314954 003105B4 48 00 01 B8 */ b lbl_80314B0C +lbl_80314958: +/* 80314958 003105B8 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d +/* 8031495C 003105BC 41 82 00 A8 */ beq lbl_80314A04 +/* 80314960 003105C0 2C 07 00 00 */ cmpwi r7, 0 +/* 80314964 003105C4 81 45 02 64 */ lwz r10, 0x264(r5) +/* 80314968 003105C8 40 82 00 0C */ bne lbl_80314974 +/* 8031496C 003105CC 38 A0 00 00 */ li r5, 0 +/* 80314970 003105D0 48 00 00 08 */ b lbl_80314978 +lbl_80314974: +/* 80314974 003105D4 80 A5 02 68 */ lwz r5, 0x268(r5) +lbl_80314978: +/* 80314978 003105D8 A0 85 00 00 */ lhz r4, 0(r5) +/* 8031497C 003105DC 80 07 00 1C */ lwz r0, 0x1c(r7) +/* 80314980 003105E0 38 84 FF FF */ addi r4, r4, -1 +/* 80314984 003105E4 88 A5 00 20 */ lbz r5, 0x20(r5) +/* 80314988 003105E8 7C 09 20 38 */ and r9, r0, r4 +/* 8031498C 003105EC 7C 06 2C 30 */ srw r6, r0, r5 +/* 80314990 003105F0 7D 44 20 38 */ and r4, r10, r4 +/* 80314994 003105F4 7D 09 00 D0 */ neg r8, r9 +/* 80314998 003105F8 7D 45 2C 30 */ srw r5, r10, r5 +/* 8031499C 003105FC 7C 04 00 D0 */ neg r0, r4 +/* 803149A0 00310600 7C 00 23 78 */ or r0, r0, r4 +/* 803149A4 00310604 7D 08 4B 78 */ or r8, r8, r9 +/* 803149A8 00310608 55 04 0F FE */ srwi r4, r8, 0x1f +/* 803149AC 0031060C 54 00 0F FE */ srwi r0, r0, 0x1f +/* 803149B0 00310610 7C 86 22 14 */ add r4, r6, r4 +/* 803149B4 00310614 7C 05 02 14 */ add r0, r5, r0 +/* 803149B8 00310618 7C 04 00 40 */ cmplw r4, r0 +/* 803149BC 0031061C 41 82 00 0C */ beq lbl_803149C8 +/* 803149C0 00310620 38 00 FF FF */ li r0, -1 +/* 803149C4 00310624 90 07 00 20 */ stw r0, 0x20(r7) +lbl_803149C8: +/* 803149C8 00310628 2C 07 00 00 */ cmpwi r7, 0 +/* 803149CC 0031062C 91 47 00 1C */ stw r10, 0x1c(r7) +/* 803149D0 00310630 40 82 00 0C */ bne lbl_803149DC +/* 803149D4 00310634 38 80 00 00 */ li r4, 0 +/* 803149D8 00310638 48 00 00 0C */ b lbl_803149E4 +lbl_803149DC: +/* 803149DC 0031063C 80 87 00 08 */ lwz r4, 8(r7) +/* 803149E0 00310640 80 84 02 68 */ lwz r4, 0x268(r4) +lbl_803149E4: +/* 803149E4 00310644 80 A7 00 1C */ lwz r5, 0x1c(r7) +/* 803149E8 00310648 88 04 00 20 */ lbz r0, 0x20(r4) +/* 803149EC 0031064C 7C A0 04 30 */ srw r0, r5, r0 +/* 803149F0 00310650 90 07 00 24 */ stw r0, 0x24(r7) +/* 803149F4 00310654 A0 84 00 00 */ lhz r4, 0(r4) +/* 803149F8 00310658 38 04 FF FF */ addi r0, r4, -1 +/* 803149FC 0031065C 7C A0 00 38 */ and r0, r5, r0 +/* 80314A00 00310660 B0 07 00 28 */ sth r0, 0x28(r7) +lbl_80314A04: +/* 80314A04 00310664 80 87 00 08 */ lwz r4, 8(r7) +/* 80314A08 00310668 80 07 00 1C */ lwz r0, 0x1c(r7) +/* 80314A0C 0031066C 81 04 02 64 */ lwz r8, 0x264(r4) +/* 80314A10 00310670 7C 00 40 40 */ cmplw r0, r8 +/* 80314A14 00310674 40 81 00 C8 */ ble lbl_80314ADC +/* 80314A18 00310678 91 07 00 1C */ stw r8, 0x1c(r7) +/* 80314A1C 0031067C 7F 28 00 50 */ subf r25, r8, r0 +/* 80314A20 00310680 38 A1 00 0C */ addi r5, r1, 0xc +/* 80314A24 00310684 38 80 FF FF */ li r4, -1 +/* 80314A28 00310688 88 03 00 20 */ lbz r0, 0x20(r3) +/* 80314A2C 0031068C 7D 00 04 30 */ srw r0, r8, r0 +/* 80314A30 00310690 90 07 00 24 */ stw r0, 0x24(r7) +/* 80314A34 00310694 A0 C3 00 00 */ lhz r6, 0(r3) +/* 80314A38 00310698 7F 43 D3 78 */ mr r3, r26 +/* 80314A3C 0031069C 38 06 FF FF */ addi r0, r6, -1 +/* 80314A40 003106A0 7D 00 00 38 */ and r0, r8, r0 +/* 80314A44 003106A4 B0 07 00 28 */ sth r0, 0x28(r7) +/* 80314A48 003106A8 4B FF 5C 71 */ bl VFiPFCACHE_AllocateDataPage +/* 80314A4C 003106AC 2C 03 00 00 */ cmpwi r3, 0 +/* 80314A50 003106B0 41 82 00 08 */ beq lbl_80314A58 +/* 80314A54 003106B4 48 00 00 B8 */ b lbl_80314B0C +lbl_80314A58: +/* 80314A58 003106B8 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80314A5C 003106BC 38 80 00 00 */ li r4, 0 +/* 80314A60 003106C0 A0 BA 00 00 */ lhz r5, 0(r26) +/* 80314A64 003106C4 80 63 00 08 */ lwz r3, 8(r3) +/* 80314A68 003106C8 4B FF 05 6D */ bl VFipf_memset +/* 80314A6C 003106CC 48 00 00 5C */ b lbl_80314AC8 +lbl_80314A70: +/* 80314A70 003106D0 A0 BA 00 00 */ lhz r5, 0(r26) +/* 80314A74 003106D4 7C 19 28 40 */ cmplw r25, r5 +/* 80314A78 003106D8 40 81 00 24 */ ble lbl_80314A9C +/* 80314A7C 003106DC 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80314A80 003106E0 7F C3 F3 78 */ mr r3, r30 +/* 80314A84 003106E4 38 C1 00 08 */ addi r6, r1, 8 +/* 80314A88 003106E8 80 84 00 08 */ lwz r4, 8(r4) +/* 80314A8C 003106EC 4B FF EE 4D */ bl func_803138D8 +/* 80314A90 003106F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80314A94 003106F4 41 82 00 2C */ beq lbl_80314AC0 +/* 80314A98 003106F8 48 00 00 74 */ b lbl_80314B0C +lbl_80314A9C: +/* 80314A9C 003106FC 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80314AA0 00310700 7F C3 F3 78 */ mr r3, r30 +/* 80314AA4 00310704 7F 25 CB 78 */ mr r5, r25 +/* 80314AA8 00310708 38 C1 00 08 */ addi r6, r1, 8 +/* 80314AAC 0031070C 80 84 00 08 */ lwz r4, 8(r4) +/* 80314AB0 00310710 4B FF EE 29 */ bl func_803138D8 +/* 80314AB4 00310714 2C 03 00 00 */ cmpwi r3, 0 +/* 80314AB8 00310718 41 82 00 18 */ beq lbl_80314AD0 +/* 80314ABC 0031071C 48 00 00 50 */ b lbl_80314B0C +lbl_80314AC0: +/* 80314AC0 00310720 A0 1A 00 00 */ lhz r0, 0(r26) +/* 80314AC4 00310724 7F 20 C8 50 */ subf r25, r0, r25 +lbl_80314AC8: +/* 80314AC8 00310728 2C 19 00 00 */ cmpwi r25, 0 +/* 80314ACC 0031072C 40 82 FF A4 */ bne lbl_80314A70 +lbl_80314AD0: +/* 80314AD0 00310730 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80314AD4 00310734 7F 43 D3 78 */ mr r3, r26 +/* 80314AD8 00310738 4B FF 5C E5 */ bl VFiPFCACHE_FreeDataPage +lbl_80314ADC: +/* 80314ADC 0031073C 7C BC E9 D6 */ mullw r5, r28, r29 +/* 80314AE0 00310740 7F C3 F3 78 */ mr r3, r30 +/* 80314AE4 00310744 7F 64 DB 78 */ mr r4, r27 +/* 80314AE8 00310748 38 C1 00 08 */ addi r6, r1, 8 +/* 80314AEC 0031074C 4B FF ED ED */ bl func_803138D8 +/* 80314AF0 00310750 80 01 00 08 */ lwz r0, 8(r1) +/* 80314AF4 00310754 2C 03 00 00 */ cmpwi r3, 0 +/* 80314AF8 00310758 7C 00 E3 96 */ divwu r0, r0, r28 +/* 80314AFC 0031075C 90 1F 00 00 */ stw r0, 0(r31) +/* 80314B00 00310760 41 82 00 08 */ beq lbl_80314B08 +/* 80314B04 00310764 48 00 00 08 */ b lbl_80314B0C +lbl_80314B08: +/* 80314B08 00310768 38 60 00 00 */ li r3, 0 +lbl_80314B0C: +/* 80314B0C 0031076C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80314B10 00310770 4B EB 26 5D */ bl _restgpr_25 +/* 80314B14 00310774 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80314B18 00310778 7C 08 03 A6 */ mtlr r0 +/* 80314B1C 0031077C 38 21 00 30 */ addi r1, r1, 0x30 +/* 80314B20 00310780 4E 80 00 20 */ blr + +.global func_80314B24 +func_80314B24: +/* 80314B24 00310784 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80314B28 00310788 7C 08 02 A6 */ mflr r0 +/* 80314B2C 0031078C 2C 03 00 00 */ cmpwi r3, 0 +/* 80314B30 00310790 90 01 00 24 */ stw r0, 0x24(r1) +/* 80314B34 00310794 38 03 00 0C */ addi r0, r3, 0xc +/* 80314B38 00310798 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80314B3C 0031079C 7C 9F 23 78 */ mr r31, r4 +/* 80314B40 003107A0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80314B44 003107A4 7C 7E 1B 78 */ mr r30, r3 +/* 80314B48 003107A8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80314B4C 003107AC 80 A3 00 08 */ lwz r5, 8(r3) +/* 80314B50 003107B0 90 05 00 34 */ stw r0, 0x34(r5) +/* 80314B54 003107B4 40 82 00 0C */ bne lbl_80314B60 +/* 80314B58 003107B8 38 C0 00 00 */ li r6, 0 +/* 80314B5C 003107BC 48 00 00 0C */ b lbl_80314B68 +lbl_80314B60: +/* 80314B60 003107C0 80 A3 00 08 */ lwz r5, 8(r3) +/* 80314B64 003107C4 80 C5 02 68 */ lwz r6, 0x268(r5) +lbl_80314B68: +/* 80314B68 003107C8 80 A3 00 08 */ lwz r5, 8(r3) +/* 80314B6C 003107CC 80 05 02 64 */ lwz r0, 0x264(r5) +/* 80314B70 003107D0 90 04 00 00 */ stw r0, 0(r4) +/* 80314B74 003107D4 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80314B78 003107D8 90 04 00 04 */ stw r0, 4(r4) +/* 80314B7C 003107DC 80 63 00 08 */ lwz r3, 8(r3) +/* 80314B80 003107E0 A0 A6 00 00 */ lhz r5, 0(r6) +/* 80314B84 003107E4 80 03 02 70 */ lwz r0, 0x270(r3) +/* 80314B88 003107E8 88 66 00 21 */ lbz r3, 0x21(r6) +/* 80314B8C 003107EC 2C 00 00 00 */ cmpwi r0, 0 +/* 80314B90 003107F0 7C BD 18 30 */ slw r29, r5, r3 +/* 80314B94 003107F4 41 82 00 54 */ beq lbl_80314BE8 +/* 80314B98 003107F8 7F C3 F3 78 */ mr r3, r30 +/* 80314B9C 003107FC 38 84 00 0C */ addi r4, r4, 0xc +/* 80314BA0 00310800 4B FF 64 F1 */ bl func_8030B090 +/* 80314BA4 00310804 2C 03 00 00 */ cmpwi r3, 0 +/* 80314BA8 00310808 41 82 00 08 */ beq lbl_80314BB0 +/* 80314BAC 0031080C 48 00 00 7C */ b lbl_80314C28 +lbl_80314BB0: +/* 80314BB0 00310810 80 7E 00 08 */ lwz r3, 8(r30) +/* 80314BB4 00310814 80 9F 00 0C */ lwz r4, 0xc(r31) +/* 80314BB8 00310818 80 63 02 64 */ lwz r3, 0x264(r3) +/* 80314BBC 0031081C 7C 03 EB 96 */ divwu r0, r3, r29 +/* 80314BC0 00310820 7C 00 E9 D6 */ mullw r0, r0, r29 +/* 80314BC4 00310824 7C A0 18 50 */ subf r5, r0, r3 +/* 80314BC8 00310828 7C 05 00 D0 */ neg r0, r5 +/* 80314BCC 0031082C 7C 03 2B 78 */ or r3, r0, r5 +/* 80314BD0 00310830 7C 05 E8 50 */ subf r0, r5, r29 +/* 80314BD4 00310834 7C 63 FE 70 */ srawi r3, r3, 0x1f +/* 80314BD8 00310838 7C 00 18 38 */ and r0, r0, r3 +/* 80314BDC 0031083C 7C 04 02 14 */ add r0, r4, r0 +/* 80314BE0 00310840 90 1F 00 08 */ stw r0, 8(r31) +/* 80314BE4 00310844 48 00 00 10 */ b lbl_80314BF4 +lbl_80314BE8: +/* 80314BE8 00310848 38 00 00 00 */ li r0, 0 +/* 80314BEC 0031084C 90 04 00 0C */ stw r0, 0xc(r4) +/* 80314BF0 00310850 90 04 00 08 */ stw r0, 8(r4) +lbl_80314BF4: +/* 80314BF4 00310854 80 9E 00 08 */ lwz r4, 8(r30) +/* 80314BF8 00310858 38 60 00 00 */ li r3, 0 +/* 80314BFC 0031085C A0 04 02 7C */ lhz r0, 0x27c(r4) +/* 80314C00 00310860 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 80314C04 00310864 90 1F 00 10 */ stw r0, 0x10(r31) +/* 80314C08 00310868 80 9E 00 08 */ lwz r4, 8(r30) +/* 80314C0C 0031086C 80 04 02 84 */ lwz r0, 0x284(r4) +/* 80314C10 00310870 90 1F 00 14 */ stw r0, 0x14(r31) +/* 80314C14 00310874 A0 1E 00 2C */ lhz r0, 0x2c(r30) +/* 80314C18 00310878 90 1F 00 18 */ stw r0, 0x18(r31) +/* 80314C1C 0031087C 80 9E 00 08 */ lwz r4, 8(r30) +/* 80314C20 00310880 A0 04 02 7E */ lhz r0, 0x27e(r4) +/* 80314C24 00310884 90 1F 00 1C */ stw r0, 0x1c(r31) +lbl_80314C28: +/* 80314C28 00310888 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80314C2C 0031088C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80314C30 00310890 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80314C34 00310894 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80314C38 00310898 7C 08 03 A6 */ mtlr r0 +/* 80314C3C 0031089C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80314C40 003108A0 4E 80 00 20 */ blr + +.global func_80314C44 +func_80314C44: +/* 80314C44 003108A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80314C48 003108A8 41 82 00 18 */ beq lbl_80314C60 +/* 80314C4C 003108AC 2C 04 00 00 */ cmpwi r4, 0 +/* 80314C50 003108B0 41 82 00 10 */ beq lbl_80314C60 +/* 80314C54 003108B4 80 03 02 2C */ lwz r0, 0x22c(r3) +/* 80314C58 003108B8 2C 00 00 00 */ cmpwi r0, 0 +/* 80314C5C 003108BC 40 82 00 0C */ bne lbl_80314C68 +lbl_80314C60: +/* 80314C60 003108C0 38 60 00 0A */ li r3, 0xa +/* 80314C64 003108C4 4E 80 00 20 */ blr +lbl_80314C68: +/* 80314C68 003108C8 38 A0 00 00 */ li r5, 0 +/* 80314C6C 003108CC 38 00 00 05 */ li r0, 5 +/* 80314C70 003108D0 90 A4 00 00 */ stw r5, 0(r4) +/* 80314C74 003108D4 38 C0 00 00 */ li r6, 0 +/* 80314C78 003108D8 7C 09 03 A6 */ mtctr r0 +lbl_80314C7C: +/* 80314C7C 003108DC 81 03 02 2C */ lwz r8, 0x22c(r3) +/* 80314C80 003108E0 7C E8 32 14 */ add r7, r8, r6 +/* 80314C84 003108E4 80 A7 00 40 */ lwz r5, 0x40(r7) +/* 80314C88 003108E8 54 A0 07 FF */ clrlwi. r0, r5, 0x1f +/* 80314C8C 003108EC 41 82 00 40 */ beq lbl_80314CCC +/* 80314C90 003108F0 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e +/* 80314C94 003108F4 41 82 00 38 */ beq lbl_80314CCC +/* 80314C98 003108F8 80 07 02 A8 */ lwz r0, 0x2a8(r7) +/* 80314C9C 003108FC 7C 08 00 40 */ cmplw r8, r0 +/* 80314CA0 00310900 40 82 00 2C */ bne lbl_80314CCC +/* 80314CA4 00310904 80 A3 02 38 */ lwz r5, 0x238(r3) +/* 80314CA8 00310908 80 07 02 B4 */ lwz r0, 0x2b4(r7) +/* 80314CAC 0031090C 7C 05 00 40 */ cmplw r5, r0 +/* 80314CB0 00310910 40 82 00 1C */ bne lbl_80314CCC +/* 80314CB4 00310914 A0 A3 02 3C */ lhz r5, 0x23c(r3) +/* 80314CB8 00310918 A0 07 02 B8 */ lhz r0, 0x2b8(r7) +/* 80314CBC 0031091C 7C 05 00 40 */ cmplw r5, r0 +/* 80314CC0 00310920 40 82 00 0C */ bne lbl_80314CCC +/* 80314CC4 00310924 38 07 00 7C */ addi r0, r7, 0x7c +/* 80314CC8 00310928 90 04 00 00 */ stw r0, 0(r4) +lbl_80314CCC: +/* 80314CCC 0031092C 38 C6 02 90 */ addi r6, r6, 0x290 +/* 80314CD0 00310930 42 00 FF AC */ bdnz lbl_80314C7C +/* 80314CD4 00310934 38 60 00 00 */ li r3, 0 +/* 80314CD8 00310938 4E 80 00 20 */ blr + +.global func_80314CDC +func_80314CDC: +/* 80314CDC 0031093C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80314CE0 00310940 7C 08 02 A6 */ mflr r0 +/* 80314CE4 00310944 90 01 00 24 */ stw r0, 0x24(r1) +/* 80314CE8 00310948 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80314CEC 0031094C 3B E0 00 00 */ li r31, 0 +/* 80314CF0 00310950 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80314CF4 00310954 3B C0 00 00 */ li r30, 0 +/* 80314CF8 00310958 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80314CFC 0031095C 7C 7D 1B 78 */ mr r29, r3 +lbl_80314D00: +/* 80314D00 00310960 57 C0 04 3E */ clrlwi r0, r30, 0x10 +/* 80314D04 00310964 1C 00 02 90 */ mulli r0, r0, 0x290 +/* 80314D08 00310968 7C 7D 02 14 */ add r3, r29, r0 +/* 80314D0C 0031096C 93 E3 00 40 */ stw r31, 0x40(r3) +/* 80314D10 00310970 38 63 00 44 */ addi r3, r3, 0x44 +/* 80314D14 00310974 4B FF C4 21 */ bl func_80311134 +/* 80314D18 00310978 3B DE 00 01 */ addi r30, r30, 1 +/* 80314D1C 0031097C 28 1E 00 05 */ cmplwi r30, 5 +/* 80314D20 00310980 41 80 FF E0 */ blt lbl_80314D00 +/* 80314D24 00310984 80 9D 0D 10 */ lwz r4, 0xd10(r29) +/* 80314D28 00310988 38 00 00 00 */ li r0, 0 +/* 80314D2C 0031098C 80 7D 0D 40 */ lwz r3, 0xd40(r29) +/* 80314D30 00310990 54 87 00 3C */ rlwinm r7, r4, 0, 0, 0x1e +/* 80314D34 00310994 80 BD 0D 70 */ lwz r5, 0xd70(r29) +/* 80314D38 00310998 54 66 00 3C */ rlwinm r6, r3, 0, 0, 0x1e +/* 80314D3C 0031099C 80 9D 0D A0 */ lwz r4, 0xda0(r29) +/* 80314D40 003109A0 80 7D 0D D0 */ lwz r3, 0xdd0(r29) +/* 80314D44 003109A4 54 A5 00 3C */ rlwinm r5, r5, 0, 0, 0x1e +/* 80314D48 003109A8 54 84 00 3C */ rlwinm r4, r4, 0, 0, 0x1e +/* 80314D4C 003109AC 90 FD 0D 10 */ stw r7, 0xd10(r29) +/* 80314D50 003109B0 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e +/* 80314D54 003109B4 90 DD 0D 40 */ stw r6, 0xd40(r29) +/* 80314D58 003109B8 90 BD 0D 70 */ stw r5, 0xd70(r29) +/* 80314D5C 003109BC 90 9D 0D A0 */ stw r4, 0xda0(r29) +/* 80314D60 003109C0 90 7D 0D D0 */ stw r3, 0xdd0(r29) +/* 80314D64 003109C4 90 1D 15 E0 */ stw r0, 0x15e0(r29) +/* 80314D68 003109C8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80314D6C 003109CC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80314D70 003109D0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80314D74 003109D4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80314D78 003109D8 7C 08 03 A6 */ mtlr r0 +/* 80314D7C 003109DC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80314D80 003109E0 4E 80 00 20 */ blr + +.global func_80314D84 +func_80314D84: +/* 80314D84 003109E4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80314D88 003109E8 7C 08 02 A6 */ mflr r0 +/* 80314D8C 003109EC 2C 05 00 00 */ cmpwi r5, 0 +/* 80314D90 003109F0 90 01 00 24 */ stw r0, 0x24(r1) +/* 80314D94 003109F4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80314D98 003109F8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80314D9C 003109FC 7C BE 2B 78 */ mr r30, r5 +/* 80314DA0 00310A00 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80314DA4 00310A04 7C 9D 23 78 */ mr r29, r4 +/* 80314DA8 00310A08 93 81 00 10 */ stw r28, 0x10(r1) +/* 80314DAC 00310A0C 7C 7C 1B 78 */ mr r28, r3 +/* 80314DB0 00310A10 40 82 00 1C */ bne lbl_80314DCC +/* 80314DB4 00310A14 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314DB8 00310A18 38 00 00 0A */ li r0, 0xa +/* 80314DBC 00310A1C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314DC0 00310A20 38 60 00 0A */ li r3, 0xa +/* 80314DC4 00310A24 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80314DC8 00310A28 48 00 00 D0 */ b lbl_80314E98 +lbl_80314DCC: +/* 80314DCC 00310A2C 38 00 00 00 */ li r0, 0 +/* 80314DD0 00310A30 2C 03 00 00 */ cmpwi r3, 0 +/* 80314DD4 00310A34 90 05 00 00 */ stw r0, 0(r5) +/* 80314DD8 00310A38 40 82 00 1C */ bne lbl_80314DF4 +/* 80314DDC 00310A3C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314DE0 00310A40 38 00 00 0A */ li r0, 0xa +/* 80314DE4 00310A44 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314DE8 00310A48 38 60 00 0A */ li r3, 0xa +/* 80314DEC 00310A4C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80314DF0 00310A50 48 00 00 A8 */ b lbl_80314E98 +lbl_80314DF4: +/* 80314DF4 00310A54 48 00 20 A1 */ bl func_80316E94 +/* 80314DF8 00310A58 2C 03 00 00 */ cmpwi r3, 0 +/* 80314DFC 00310A5C 7C 7F 1B 78 */ mr r31, r3 +/* 80314E00 00310A60 40 82 00 1C */ bne lbl_80314E1C +/* 80314E04 00310A64 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314E08 00310A68 38 00 00 0A */ li r0, 0xa +/* 80314E0C 00310A6C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314E10 00310A70 38 60 00 0A */ li r3, 0xa +/* 80314E14 00310A74 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80314E18 00310A78 48 00 00 80 */ b lbl_80314E98 +lbl_80314E1C: +/* 80314E1C 00310A7C 48 00 45 51 */ bl func_8031936C +/* 80314E20 00310A80 2C 03 00 00 */ cmpwi r3, 0 +/* 80314E24 00310A84 41 82 00 18 */ beq lbl_80314E3C +/* 80314E28 00310A88 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314E2C 00310A8C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314E30 00310A90 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80314E34 00310A94 90 7F 18 6C */ stw r3, 0x186c(r31) +/* 80314E38 00310A98 48 00 00 60 */ b lbl_80314E98 +lbl_80314E3C: +/* 80314E3C 00310A9C 7F E3 FB 78 */ mr r3, r31 +/* 80314E40 00310AA0 4B FF 0F 69 */ bl VFiPFDRV_IsWProtected +/* 80314E44 00310AA4 2C 03 00 00 */ cmpwi r3, 0 +/* 80314E48 00310AA8 41 82 00 14 */ beq lbl_80314E5C +/* 80314E4C 00310AAC 2C 1D 00 02 */ cmpwi r29, 2 +/* 80314E50 00310AB0 41 82 00 0C */ beq lbl_80314E5C +/* 80314E54 00310AB4 38 60 00 0B */ li r3, 0xb +/* 80314E58 00310AB8 48 00 00 40 */ b lbl_80314E98 +lbl_80314E5C: +/* 80314E5C 00310ABC 7F E3 FB 78 */ mr r3, r31 +/* 80314E60 00310AC0 7F 84 E3 78 */ mr r4, r28 +/* 80314E64 00310AC4 7F A5 EB 78 */ mr r5, r29 +/* 80314E68 00310AC8 7F C6 F3 78 */ mr r6, r30 +/* 80314E6C 00310ACC 4B FF F4 A9 */ bl func_80314314 +/* 80314E70 00310AD0 2C 03 00 00 */ cmpwi r3, 0 +/* 80314E74 00310AD4 41 82 00 18 */ beq lbl_80314E8C +/* 80314E78 00310AD8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314E7C 00310ADC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314E80 00310AE0 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80314E84 00310AE4 90 7F 18 6C */ stw r3, 0x186c(r31) +/* 80314E88 00310AE8 48 00 00 10 */ b lbl_80314E98 +lbl_80314E8C: +/* 80314E8C 00310AEC 80 9F 15 E0 */ lwz r4, 0x15e0(r31) +/* 80314E90 00310AF0 38 04 00 01 */ addi r0, r4, 1 +/* 80314E94 00310AF4 90 1F 15 E0 */ stw r0, 0x15e0(r31) +lbl_80314E98: +/* 80314E98 00310AF8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80314E9C 00310AFC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80314EA0 00310B00 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80314EA4 00310B04 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80314EA8 00310B08 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80314EAC 00310B0C 7C 08 03 A6 */ mtlr r0 +/* 80314EB0 00310B10 38 21 00 20 */ addi r1, r1, 0x20 +/* 80314EB4 00310B14 4E 80 00 20 */ blr + +.global func_80314EB8 +func_80314EB8: +/* 80314EB8 00310B18 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80314EBC 00310B1C 7C 08 02 A6 */ mflr r0 +/* 80314EC0 00310B20 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314EC4 00310B24 90 01 00 24 */ stw r0, 0x24(r1) +/* 80314EC8 00310B28 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314ECC 00310B2C 7C 04 18 40 */ cmplw r4, r3 +/* 80314ED0 00310B30 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80314ED4 00310B34 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80314ED8 00310B38 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80314EDC 00310B3C 7C 7D 1B 78 */ mr r29, r3 +/* 80314EE0 00310B40 41 81 00 14 */ bgt lbl_80314EF4 +/* 80314EE4 00310B44 3C 84 00 02 */ addis r4, r4, 2 +/* 80314EE8 00310B48 38 04 7F B8 */ addi r0, r4, 0x7fb8 +/* 80314EEC 00310B4C 7C 00 18 40 */ cmplw r0, r3 +/* 80314EF0 00310B50 40 80 00 1C */ bge lbl_80314F0C +lbl_80314EF4: +/* 80314EF4 00310B54 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314EF8 00310B58 38 00 00 0A */ li r0, 0xa +/* 80314EFC 00310B5C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314F00 00310B60 38 60 00 0A */ li r3, 0xa +/* 80314F04 00310B64 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80314F08 00310B68 48 00 02 F0 */ b lbl_803151F8 +lbl_80314F0C: +/* 80314F0C 00310B6C 2C 03 00 00 */ cmpwi r3, 0 +/* 80314F10 00310B70 40 82 00 0C */ bne lbl_80314F1C +/* 80314F14 00310B74 3B E0 00 00 */ li r31, 0 +/* 80314F18 00310B78 48 00 00 0C */ b lbl_80314F24 +lbl_80314F1C: +/* 80314F1C 00310B7C 80 63 00 08 */ lwz r3, 8(r3) +/* 80314F20 00310B80 83 E3 02 68 */ lwz r31, 0x268(r3) +lbl_80314F24: +/* 80314F24 00310B84 2C 1F 00 00 */ cmpwi r31, 0 +/* 80314F28 00310B88 40 82 00 1C */ bne lbl_80314F44 +/* 80314F2C 00310B8C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314F30 00310B90 38 00 00 0A */ li r0, 0xa +/* 80314F34 00310B94 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314F38 00310B98 38 60 00 0A */ li r3, 0xa +/* 80314F3C 00310B9C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80314F40 00310BA0 48 00 02 B8 */ b lbl_803151F8 +lbl_80314F44: +/* 80314F44 00310BA4 7F E3 FB 78 */ mr r3, r31 +/* 80314F48 00310BA8 48 00 44 25 */ bl func_8031936C +/* 80314F4C 00310BAC 2C 03 00 00 */ cmpwi r3, 0 +/* 80314F50 00310BB0 7C 7E 1B 78 */ mr r30, r3 +/* 80314F54 00310BB4 41 82 00 18 */ beq lbl_80314F6C +/* 80314F58 00310BB8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314F5C 00310BBC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314F60 00310BC0 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80314F64 00310BC4 90 7F 18 6C */ stw r3, 0x186c(r31) +/* 80314F68 00310BC8 48 00 02 90 */ b lbl_803151F8 +lbl_80314F6C: +/* 80314F6C 00310BCC 7F E3 FB 78 */ mr r3, r31 +/* 80314F70 00310BD0 4B FF 0E 39 */ bl VFiPFDRV_IsWProtected +/* 80314F74 00310BD4 2C 03 00 00 */ cmpwi r3, 0 +/* 80314F78 00310BD8 41 82 00 18 */ beq lbl_80314F90 +/* 80314F7C 00310BDC 80 1D 00 04 */ lwz r0, 4(r29) +/* 80314F80 00310BE0 2C 00 00 02 */ cmpwi r0, 2 +/* 80314F84 00310BE4 41 82 00 0C */ beq lbl_80314F90 +/* 80314F88 00310BE8 38 60 00 0B */ li r3, 0xb +/* 80314F8C 00310BEC 48 00 02 6C */ b lbl_803151F8 +lbl_80314F90: +/* 80314F90 00310BF0 2C 1D 00 00 */ cmpwi r29, 0 +/* 80314F94 00310BF4 41 82 00 34 */ beq lbl_80314FC8 +/* 80314F98 00310BF8 80 7D 00 08 */ lwz r3, 8(r29) +/* 80314F9C 00310BFC 2C 03 00 00 */ cmpwi r3, 0 +/* 80314FA0 00310C00 41 82 00 28 */ beq lbl_80314FC8 +/* 80314FA4 00310C04 80 1D 00 00 */ lwz r0, 0(r29) +/* 80314FA8 00310C08 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80314FAC 00310C0C 41 82 00 1C */ beq lbl_80314FC8 +/* 80314FB0 00310C10 80 03 00 00 */ lwz r0, 0(r3) +/* 80314FB4 00310C14 54 03 07 FE */ clrlwi r3, r0, 0x1f +/* 80314FB8 00310C18 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 80314FBC 00310C1C 41 86 00 0C */ beq cr1, lbl_80314FC8 +/* 80314FC0 00310C20 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80314FC4 00310C24 40 82 00 20 */ bne lbl_80314FE4 +lbl_80314FC8: +/* 80314FC8 00310C28 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314FCC 00310C2C 38 00 00 0A */ li r0, 0xa +/* 80314FD0 00310C30 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314FD4 00310C34 38 60 00 0A */ li r3, 0xa +/* 80314FD8 00310C38 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80314FDC 00310C3C 90 1F 18 6C */ stw r0, 0x186c(r31) +/* 80314FE0 00310C40 48 00 02 18 */ b lbl_803151F8 +lbl_80314FE4: +/* 80314FE4 00310C44 41 86 00 08 */ beq cr1, lbl_80314FEC +/* 80314FE8 00310C48 40 82 00 20 */ bne lbl_80315008 +lbl_80314FEC: +/* 80314FEC 00310C4C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80314FF0 00310C50 38 00 00 0A */ li r0, 0xa +/* 80314FF4 00310C54 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80314FF8 00310C58 38 60 00 0A */ li r3, 0xa +/* 80314FFC 00310C5C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315000 00310C60 90 1F 18 6C */ stw r0, 0x186c(r31) +/* 80315004 00310C64 48 00 01 F4 */ b lbl_803151F8 +lbl_80315008: +/* 80315008 00310C68 93 BF 16 08 */ stw r29, 0x1608(r31) +/* 8031500C 00310C6C 80 9D 00 08 */ lwz r4, 8(r29) +/* 80315010 00310C70 A0 64 02 8C */ lhz r3, 0x28c(r4) +/* 80315014 00310C74 34 03 FF FF */ addic. r0, r3, -1 +/* 80315018 00310C78 41 81 00 50 */ bgt lbl_80315068 +/* 8031501C 00310C7C 88 04 02 58 */ lbz r0, 0x258(r4) +/* 80315020 00310C80 70 00 00 19 */ andi. r0, r0, 0x19 +/* 80315024 00310C84 40 82 00 44 */ bne lbl_80315068 +/* 80315028 00310C88 7F E3 FB 78 */ mr r3, r31 +/* 8031502C 00310C8C 4B FF 0D 7D */ bl VFiPFDRV_IsWProtected +/* 80315030 00310C90 2C 03 00 00 */ cmpwi r3, 0 +/* 80315034 00310C94 40 82 00 34 */ bne lbl_80315068 +/* 80315038 00310C98 80 7D 00 08 */ lwz r3, 8(r29) +/* 8031503C 00310C9C 80 03 00 00 */ lwz r0, 0(r3) +/* 80315040 00310CA0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 80315044 00310CA4 40 82 00 14 */ bne lbl_80315058 +/* 80315048 00310CA8 80 1F 18 74 */ lwz r0, 0x1874(r31) +/* 8031504C 00310CAC 54 00 07 FE */ clrlwi r0, r0, 0x1f +/* 80315050 00310CB0 28 00 00 01 */ cmplwi r0, 1 +/* 80315054 00310CB4 41 82 00 14 */ beq lbl_80315068 +lbl_80315058: +/* 80315058 00310CB8 38 63 00 3C */ addi r3, r3, 0x3c +/* 8031505C 00310CBC 38 80 00 01 */ li r4, 1 +/* 80315060 00310CC0 4B FF 78 91 */ bl func_8030C8F0 +/* 80315064 00310CC4 7C 7E 1B 78 */ mr r30, r3 +lbl_80315068: +/* 80315068 00310CC8 A0 9D 00 2C */ lhz r4, 0x2c(r29) +/* 8031506C 00310CCC 2C 04 00 00 */ cmpwi r4, 0 +/* 80315070 00310CD0 41 82 00 94 */ beq lbl_80315104 +/* 80315074 00310CD4 80 BD 00 08 */ lwz r5, 8(r29) +/* 80315078 00310CD8 A0 05 02 7C */ lhz r0, 0x27c(r5) +/* 8031507C 00310CDC 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80315080 00310CE0 41 82 00 44 */ beq lbl_803150C4 +/* 80315084 00310CE4 A0 65 02 7E */ lhz r3, 0x27e(r5) +/* 80315088 00310CE8 38 00 00 00 */ li r0, 0 +/* 8031508C 00310CEC 7C 64 18 50 */ subf r3, r4, r3 +/* 80315090 00310CF0 B0 65 02 7E */ sth r3, 0x27e(r5) +/* 80315094 00310CF4 B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 80315098 00310CF8 80 7D 00 08 */ lwz r3, 8(r29) +/* 8031509C 00310CFC A0 03 02 7E */ lhz r0, 0x27e(r3) +/* 803150A0 00310D00 2C 00 00 00 */ cmpwi r0, 0 +/* 803150A4 00310D04 40 82 00 0C */ bne lbl_803150B0 +/* 803150A8 00310D08 7F A3 EB 78 */ mr r3, r29 +/* 803150AC 00310D0C 48 00 53 75 */ bl func_8031A420 +lbl_803150B0: +/* 803150B0 00310D10 80 7D 00 08 */ lwz r3, 8(r29) +/* 803150B4 00310D14 A0 03 02 7C */ lhz r0, 0x27c(r3) +/* 803150B8 00310D18 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d +/* 803150BC 00310D1C B0 03 02 7C */ sth r0, 0x27c(r3) +/* 803150C0 00310D20 48 00 00 44 */ b lbl_80315104 +lbl_803150C4: +/* 803150C4 00310D24 80 05 02 84 */ lwz r0, 0x284(r5) +/* 803150C8 00310D28 7C 00 E8 40 */ cmplw r0, r29 +/* 803150CC 00310D2C 41 82 00 0C */ beq lbl_803150D8 +/* 803150D0 00310D30 3B C0 00 19 */ li r30, 0x19 +/* 803150D4 00310D34 48 00 00 30 */ b lbl_80315104 +lbl_803150D8: +/* 803150D8 00310D38 38 00 00 00 */ li r0, 0 +/* 803150DC 00310D3C 7F A3 EB 78 */ mr r3, r29 +/* 803150E0 00310D40 B0 05 02 7E */ sth r0, 0x27e(r5) +/* 803150E4 00310D44 B0 1D 00 2C */ sth r0, 0x2c(r29) +/* 803150E8 00310D48 80 9D 00 08 */ lwz r4, 8(r29) +/* 803150EC 00310D4C 90 04 02 84 */ stw r0, 0x284(r4) +/* 803150F0 00310D50 48 00 53 31 */ bl func_8031A420 +/* 803150F4 00310D54 80 7D 00 08 */ lwz r3, 8(r29) +/* 803150F8 00310D58 A0 03 02 7C */ lhz r0, 0x27c(r3) +/* 803150FC 00310D5C 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d +/* 80315100 00310D60 B0 03 02 7C */ sth r0, 0x27c(r3) +lbl_80315104: +/* 80315104 00310D64 2C 1E 00 00 */ cmpwi r30, 0 +/* 80315108 00310D68 41 82 00 24 */ beq lbl_8031512C +/* 8031510C 00310D6C 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80315110 00310D70 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80315114 00310D74 93 C3 00 1C */ stw r30, 0x1c(r3) +/* 80315118 00310D78 80 7D 00 08 */ lwz r3, 8(r29) +/* 8031511C 00310D7C 80 63 00 38 */ lwz r3, 0x38(r3) +/* 80315120 00310D80 93 C3 18 6C */ stw r30, 0x186c(r3) +/* 80315124 00310D84 93 DD 00 18 */ stw r30, 0x18(r29) +/* 80315128 00310D88 48 00 00 C4 */ b lbl_803151EC +lbl_8031512C: +/* 8031512C 00310D8C 80 1F 15 E8 */ lwz r0, 0x15e8(r31) +/* 80315130 00310D90 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80315134 00310D94 41 82 00 6C */ beq lbl_803151A0 +/* 80315138 00310D98 7F E3 FB 78 */ mr r3, r31 +/* 8031513C 00310D9C 4B FF 59 75 */ bl VFiPFCACHE_FlushFATCache +/* 80315140 00310DA0 2C 03 00 00 */ cmpwi r3, 0 +/* 80315144 00310DA4 7C 7E 1B 78 */ mr r30, r3 +/* 80315148 00310DA8 41 82 00 24 */ beq lbl_8031516C +/* 8031514C 00310DAC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315150 00310DB0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315154 00310DB4 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315158 00310DB8 80 9D 00 08 */ lwz r4, 8(r29) +/* 8031515C 00310DBC 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315160 00310DC0 90 64 18 6C */ stw r3, 0x186c(r4) +/* 80315164 00310DC4 90 7D 00 18 */ stw r3, 0x18(r29) +/* 80315168 00310DC8 48 00 00 38 */ b lbl_803151A0 +lbl_8031516C: +/* 8031516C 00310DCC 7F E3 FB 78 */ mr r3, r31 +/* 80315170 00310DD0 7F A4 EB 78 */ mr r4, r29 +/* 80315174 00310DD4 4B FF 59 71 */ bl VFiPFCACHE_FlushDataCacheSpecific +/* 80315178 00310DD8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031517C 00310DDC 7C 7E 1B 78 */ mr r30, r3 +/* 80315180 00310DE0 41 82 00 20 */ beq lbl_803151A0 +/* 80315184 00310DE4 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315188 00310DE8 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 8031518C 00310DEC 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315190 00310DF0 80 9D 00 08 */ lwz r4, 8(r29) +/* 80315194 00310DF4 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315198 00310DF8 90 64 18 6C */ stw r3, 0x186c(r4) +/* 8031519C 00310DFC 90 7D 00 18 */ stw r3, 0x18(r29) +lbl_803151A0: +/* 803151A0 00310E00 2C 1E 00 00 */ cmpwi r30, 0 +/* 803151A4 00310E04 40 82 00 48 */ bne lbl_803151EC +/* 803151A8 00310E08 80 9D 00 08 */ lwz r4, 8(r29) +/* 803151AC 00310E0C A0 64 02 8C */ lhz r3, 0x28c(r4) +/* 803151B0 00310E10 38 63 FF FF */ addi r3, r3, -1 +/* 803151B4 00310E14 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 803151B8 00310E18 B0 64 02 8C */ sth r3, 0x28c(r4) +/* 803151BC 00310E1C 40 82 00 18 */ bne lbl_803151D4 +/* 803151C0 00310E20 80 64 00 00 */ lwz r3, 0(r4) +/* 803151C4 00310E24 38 00 00 00 */ li r0, 0 +/* 803151C8 00310E28 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e +/* 803151CC 00310E2C 90 64 00 00 */ stw r3, 0(r4) +/* 803151D0 00310E30 90 04 00 20 */ stw r0, 0x20(r4) +lbl_803151D4: +/* 803151D4 00310E34 80 1D 00 00 */ lwz r0, 0(r29) +/* 803151D8 00310E38 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e +/* 803151DC 00310E3C 90 1D 00 00 */ stw r0, 0(r29) +/* 803151E0 00310E40 80 7F 15 E0 */ lwz r3, 0x15e0(r31) +/* 803151E4 00310E44 38 03 FF FF */ addi r0, r3, -1 +/* 803151E8 00310E48 90 1F 15 E0 */ stw r0, 0x15e0(r31) +lbl_803151EC: +/* 803151EC 00310E4C 38 00 00 00 */ li r0, 0 +/* 803151F0 00310E50 7F C3 F3 78 */ mr r3, r30 +/* 803151F4 00310E54 90 1F 16 08 */ stw r0, 0x1608(r31) +lbl_803151F8: +/* 803151F8 00310E58 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803151FC 00310E5C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80315200 00310E60 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80315204 00310E64 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80315208 00310E68 7C 08 03 A6 */ mtlr r0 +/* 8031520C 00310E6C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80315210 00310E70 4E 80 00 20 */ blr + +.global func_80315214 +func_80315214: +/* 80315214 00310E74 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80315218 00310E78 7C 08 02 A6 */ mflr r0 +/* 8031521C 00310E7C 90 01 00 34 */ stw r0, 0x34(r1) +/* 80315220 00310E80 39 61 00 30 */ addi r11, r1, 0x30 +/* 80315224 00310E84 4B EB 1F 01 */ bl _savegpr_26 +/* 80315228 00310E88 2C 07 00 00 */ cmpwi r7, 0 +/* 8031522C 00310E8C 7C 7A 1B 78 */ mr r26, r3 +/* 80315230 00310E90 7C 9B 23 78 */ mr r27, r4 +/* 80315234 00310E94 7C BC 2B 78 */ mr r28, r5 +/* 80315238 00310E98 7C DF 33 78 */ mr r31, r6 +/* 8031523C 00310E9C 7C FD 3B 78 */ mr r29, r7 +/* 80315240 00310EA0 40 82 00 1C */ bne lbl_8031525C +/* 80315244 00310EA4 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315248 00310EA8 38 00 00 0A */ li r0, 0xa +/* 8031524C 00310EAC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315250 00310EB0 38 60 00 0A */ li r3, 0xa +/* 80315254 00310EB4 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315258 00310EB8 48 00 01 BC */ b lbl_80315414 +lbl_8031525C: +/* 8031525C 00310EBC 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80315260 00310EC0 38 00 00 00 */ li r0, 0 +/* 80315264 00310EC4 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80315268 00310EC8 90 07 00 00 */ stw r0, 0(r7) +/* 8031526C 00310ECC 7C 03 30 40 */ cmplw r3, r6 +/* 80315270 00310ED0 41 81 00 14 */ bgt lbl_80315284 +/* 80315274 00310ED4 3C 63 00 02 */ addis r3, r3, 2 +/* 80315278 00310ED8 38 03 7F B8 */ addi r0, r3, 0x7fb8 +/* 8031527C 00310EDC 7C 00 30 40 */ cmplw r0, r6 +/* 80315280 00310EE0 40 80 00 1C */ bge lbl_8031529C +lbl_80315284: +/* 80315284 00310EE4 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315288 00310EE8 38 00 00 0A */ li r0, 0xa +/* 8031528C 00310EEC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315290 00310EF0 38 60 00 0A */ li r3, 0xa +/* 80315294 00310EF4 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315298 00310EF8 48 00 01 7C */ b lbl_80315414 +lbl_8031529C: +/* 8031529C 00310EFC 2C 06 00 00 */ cmpwi r6, 0 +/* 803152A0 00310F00 40 82 00 0C */ bne lbl_803152AC +/* 803152A4 00310F04 3B C0 00 00 */ li r30, 0 +/* 803152A8 00310F08 48 00 00 0C */ b lbl_803152B4 +lbl_803152AC: +/* 803152AC 00310F0C 80 66 00 08 */ lwz r3, 8(r6) +/* 803152B0 00310F10 83 C3 02 68 */ lwz r30, 0x268(r3) +lbl_803152B4: +/* 803152B4 00310F14 2C 1E 00 00 */ cmpwi r30, 0 +/* 803152B8 00310F18 40 82 00 2C */ bne lbl_803152E4 +/* 803152BC 00310F1C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803152C0 00310F20 38 00 00 26 */ li r0, 0x26 +/* 803152C4 00310F24 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803152C8 00310F28 38 60 00 26 */ li r3, 0x26 +/* 803152CC 00310F2C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 803152D0 00310F30 80 86 00 08 */ lwz r4, 8(r6) +/* 803152D4 00310F34 80 84 00 38 */ lwz r4, 0x38(r4) +/* 803152D8 00310F38 90 04 18 6C */ stw r0, 0x186c(r4) +/* 803152DC 00310F3C 90 06 00 18 */ stw r0, 0x18(r6) +/* 803152E0 00310F40 48 00 01 34 */ b lbl_80315414 +lbl_803152E4: +/* 803152E4 00310F44 7F C3 F3 78 */ mr r3, r30 +/* 803152E8 00310F48 48 00 40 85 */ bl func_8031936C +/* 803152EC 00310F4C 2C 03 00 00 */ cmpwi r3, 0 +/* 803152F0 00310F50 41 82 00 18 */ beq lbl_80315308 +/* 803152F4 00310F54 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803152F8 00310F58 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803152FC 00310F5C 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315300 00310F60 90 7E 18 6C */ stw r3, 0x186c(r30) +/* 80315304 00310F64 48 00 01 10 */ b lbl_80315414 +lbl_80315308: +/* 80315308 00310F68 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031530C 00310F6C 41 82 00 34 */ beq lbl_80315340 +/* 80315310 00310F70 80 7F 00 08 */ lwz r3, 8(r31) +/* 80315314 00310F74 2C 03 00 00 */ cmpwi r3, 0 +/* 80315318 00310F78 41 82 00 28 */ beq lbl_80315340 +/* 8031531C 00310F7C 80 1F 00 00 */ lwz r0, 0(r31) +/* 80315320 00310F80 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80315324 00310F84 41 82 00 1C */ beq lbl_80315340 +/* 80315328 00310F88 80 03 00 00 */ lwz r0, 0(r3) +/* 8031532C 00310F8C 54 03 07 FE */ clrlwi r3, r0, 0x1f +/* 80315330 00310F90 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 80315334 00310F94 41 86 00 0C */ beq cr1, lbl_80315340 +/* 80315338 00310F98 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8031533C 00310F9C 40 82 00 20 */ bne lbl_8031535C +lbl_80315340: +/* 80315340 00310FA0 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315344 00310FA4 38 00 00 26 */ li r0, 0x26 +/* 80315348 00310FA8 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 8031534C 00310FAC 38 60 00 26 */ li r3, 0x26 +/* 80315350 00310FB0 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315354 00310FB4 90 1E 18 6C */ stw r0, 0x186c(r30) +/* 80315358 00310FB8 48 00 00 BC */ b lbl_80315414 +lbl_8031535C: +/* 8031535C 00310FBC 41 86 00 08 */ beq cr1, lbl_80315364 +/* 80315360 00310FC0 40 82 00 20 */ bne lbl_80315380 +lbl_80315364: +/* 80315364 00310FC4 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315368 00310FC8 38 00 00 26 */ li r0, 0x26 +/* 8031536C 00310FCC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315370 00310FD0 38 60 00 26 */ li r3, 0x26 +/* 80315374 00310FD4 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315378 00310FD8 90 1E 18 6C */ stw r0, 0x186c(r30) +/* 8031537C 00310FDC 48 00 00 98 */ b lbl_80315414 +lbl_80315380: +/* 80315380 00310FE0 2C 1A 00 00 */ cmpwi r26, 0 +/* 80315384 00310FE4 41 82 00 14 */ beq lbl_80315398 +/* 80315388 00310FE8 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031538C 00310FEC 41 82 00 0C */ beq lbl_80315398 +/* 80315390 00310FF0 2C 1B 00 00 */ cmpwi r27, 0 +/* 80315394 00310FF4 40 82 00 2C */ bne lbl_803153C0 +lbl_80315398: +/* 80315398 00310FF8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 8031539C 00310FFC 38 00 00 0A */ li r0, 0xa +/* 803153A0 00311000 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803153A4 00311004 38 60 00 0A */ li r3, 0xa +/* 803153A8 00311008 90 04 00 1C */ stw r0, 0x1c(r4) +/* 803153AC 0031100C 80 9F 00 08 */ lwz r4, 8(r31) +/* 803153B0 00311010 80 84 00 38 */ lwz r4, 0x38(r4) +/* 803153B4 00311014 90 04 18 6C */ stw r0, 0x186c(r4) +/* 803153B8 00311018 90 1F 00 18 */ stw r0, 0x18(r31) +/* 803153BC 0031101C 48 00 00 58 */ b lbl_80315414 +lbl_803153C0: +/* 803153C0 00311020 93 FE 16 08 */ stw r31, 0x1608(r30) +/* 803153C4 00311024 7F C3 F3 78 */ mr r3, r30 +/* 803153C8 00311028 7F 44 D3 78 */ mr r4, r26 +/* 803153CC 0031102C 7F 65 DB 78 */ mr r5, r27 +/* 803153D0 00311030 7F 86 E3 78 */ mr r6, r28 +/* 803153D4 00311034 7F E7 FB 78 */ mr r7, r31 +/* 803153D8 00311038 39 01 00 08 */ addi r8, r1, 8 +/* 803153DC 0031103C 4B FF F4 29 */ bl func_80314804 +/* 803153E0 00311040 80 81 00 08 */ lwz r4, 8(r1) +/* 803153E4 00311044 2C 03 00 00 */ cmpwi r3, 0 +/* 803153E8 00311048 38 00 00 00 */ li r0, 0 +/* 803153EC 0031104C 90 9D 00 00 */ stw r4, 0(r29) +/* 803153F0 00311050 90 1E 16 08 */ stw r0, 0x1608(r30) +/* 803153F4 00311054 41 82 00 20 */ beq lbl_80315414 +/* 803153F8 00311058 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803153FC 0031105C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315400 00311060 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315404 00311064 80 9F 00 08 */ lwz r4, 8(r31) +/* 80315408 00311068 80 84 00 38 */ lwz r4, 0x38(r4) +/* 8031540C 0031106C 90 64 18 6C */ stw r3, 0x186c(r4) +/* 80315410 00311070 90 7F 00 18 */ stw r3, 0x18(r31) +lbl_80315414: +/* 80315414 00311074 39 61 00 30 */ addi r11, r1, 0x30 +/* 80315418 00311078 4B EB 1D 59 */ bl _restgpr_26 +/* 8031541C 0031107C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80315420 00311080 7C 08 03 A6 */ mtlr r0 +/* 80315424 00311084 38 21 00 30 */ addi r1, r1, 0x30 +/* 80315428 00311088 4E 80 00 20 */ blr + +.global func_8031542C +func_8031542C: +/* 8031542C 0031108C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80315430 00311090 7C 08 02 A6 */ mflr r0 +/* 80315434 00311094 90 01 00 34 */ stw r0, 0x34(r1) +/* 80315438 00311098 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031543C 0031109C 4B EB 1C E9 */ bl _savegpr_26 +/* 80315440 003110A0 2C 07 00 00 */ cmpwi r7, 0 +/* 80315444 003110A4 7C 7A 1B 78 */ mr r26, r3 +/* 80315448 003110A8 7C 9B 23 78 */ mr r27, r4 +/* 8031544C 003110AC 7C BD 2B 78 */ mr r29, r5 +/* 80315450 003110B0 7C DF 33 78 */ mr r31, r6 +/* 80315454 003110B4 7C FC 3B 78 */ mr r28, r7 +/* 80315458 003110B8 40 82 00 1C */ bne lbl_80315474 +/* 8031545C 003110BC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315460 003110C0 38 00 00 0A */ li r0, 0xa +/* 80315464 003110C4 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315468 003110C8 38 60 00 0A */ li r3, 0xa +/* 8031546C 003110CC 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315470 003110D0 48 00 01 FC */ b lbl_8031566C +lbl_80315474: +/* 80315474 003110D4 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80315478 003110D8 38 00 00 00 */ li r0, 0 +/* 8031547C 003110DC 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80315480 003110E0 90 07 00 00 */ stw r0, 0(r7) +/* 80315484 003110E4 7C 03 30 40 */ cmplw r3, r6 +/* 80315488 003110E8 41 81 00 14 */ bgt lbl_8031549C +/* 8031548C 003110EC 3C 63 00 02 */ addis r3, r3, 2 +/* 80315490 003110F0 38 03 7F B8 */ addi r0, r3, 0x7fb8 +/* 80315494 003110F4 7C 00 30 40 */ cmplw r0, r6 +/* 80315498 003110F8 40 80 00 1C */ bge lbl_803154B4 +lbl_8031549C: +/* 8031549C 003110FC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803154A0 00311100 38 00 00 0A */ li r0, 0xa +/* 803154A4 00311104 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803154A8 00311108 38 60 00 0A */ li r3, 0xa +/* 803154AC 0031110C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 803154B0 00311110 48 00 01 BC */ b lbl_8031566C +lbl_803154B4: +/* 803154B4 00311114 2C 06 00 00 */ cmpwi r6, 0 +/* 803154B8 00311118 40 82 00 0C */ bne lbl_803154C4 +/* 803154BC 0031111C 3B C0 00 00 */ li r30, 0 +/* 803154C0 00311120 48 00 00 0C */ b lbl_803154CC +lbl_803154C4: +/* 803154C4 00311124 80 66 00 08 */ lwz r3, 8(r6) +/* 803154C8 00311128 83 C3 02 68 */ lwz r30, 0x268(r3) +lbl_803154CC: +/* 803154CC 0031112C 2C 1E 00 00 */ cmpwi r30, 0 +/* 803154D0 00311130 40 82 00 2C */ bne lbl_803154FC +/* 803154D4 00311134 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803154D8 00311138 38 00 00 26 */ li r0, 0x26 +/* 803154DC 0031113C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803154E0 00311140 38 60 00 26 */ li r3, 0x26 +/* 803154E4 00311144 90 04 00 1C */ stw r0, 0x1c(r4) +/* 803154E8 00311148 80 86 00 08 */ lwz r4, 8(r6) +/* 803154EC 0031114C 80 84 00 38 */ lwz r4, 0x38(r4) +/* 803154F0 00311150 90 04 18 6C */ stw r0, 0x186c(r4) +/* 803154F4 00311154 90 06 00 18 */ stw r0, 0x18(r6) +/* 803154F8 00311158 48 00 01 74 */ b lbl_8031566C +lbl_803154FC: +/* 803154FC 0031115C 7F C3 F3 78 */ mr r3, r30 +/* 80315500 00311160 48 00 40 29 */ bl func_80319528 +/* 80315504 00311164 2C 03 00 00 */ cmpwi r3, 0 +/* 80315508 00311168 41 82 00 18 */ beq lbl_80315520 +/* 8031550C 0031116C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315510 00311170 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315514 00311174 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315518 00311178 90 7E 18 6C */ stw r3, 0x186c(r30) +/* 8031551C 0031117C 48 00 01 50 */ b lbl_8031566C +lbl_80315520: +/* 80315520 00311180 2C 1F 00 00 */ cmpwi r31, 0 +/* 80315524 00311184 41 82 00 34 */ beq lbl_80315558 +/* 80315528 00311188 80 7F 00 08 */ lwz r3, 8(r31) +/* 8031552C 0031118C 2C 03 00 00 */ cmpwi r3, 0 +/* 80315530 00311190 41 82 00 28 */ beq lbl_80315558 +/* 80315534 00311194 80 1F 00 00 */ lwz r0, 0(r31) +/* 80315538 00311198 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8031553C 0031119C 41 82 00 1C */ beq lbl_80315558 +/* 80315540 003111A0 80 03 00 00 */ lwz r0, 0(r3) +/* 80315544 003111A4 54 03 07 FE */ clrlwi r3, r0, 0x1f +/* 80315548 003111A8 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 8031554C 003111AC 41 86 00 0C */ beq cr1, lbl_80315558 +/* 80315550 003111B0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80315554 003111B4 40 82 00 20 */ bne lbl_80315574 +lbl_80315558: +/* 80315558 003111B8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 8031555C 003111BC 38 00 00 26 */ li r0, 0x26 +/* 80315560 003111C0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315564 003111C4 38 60 00 26 */ li r3, 0x26 +/* 80315568 003111C8 90 04 00 1C */ stw r0, 0x1c(r4) +/* 8031556C 003111CC 90 1E 18 6C */ stw r0, 0x186c(r30) +/* 80315570 003111D0 48 00 00 FC */ b lbl_8031566C +lbl_80315574: +/* 80315574 003111D4 41 86 00 08 */ beq cr1, lbl_8031557C +/* 80315578 003111D8 40 82 00 20 */ bne lbl_80315598 +lbl_8031557C: +/* 8031557C 003111DC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315580 003111E0 38 00 00 26 */ li r0, 0x26 +/* 80315584 003111E4 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315588 003111E8 38 60 00 26 */ li r3, 0x26 +/* 8031558C 003111EC 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315590 003111F0 90 1E 18 6C */ stw r0, 0x186c(r30) +/* 80315594 003111F4 48 00 00 D8 */ b lbl_8031566C +lbl_80315598: +/* 80315598 003111F8 2C 1A 00 00 */ cmpwi r26, 0 +/* 8031559C 003111FC 41 82 00 14 */ beq lbl_803155B0 +/* 803155A0 00311200 2C 1D 00 00 */ cmpwi r29, 0 +/* 803155A4 00311204 41 82 00 0C */ beq lbl_803155B0 +/* 803155A8 00311208 2C 1B 00 00 */ cmpwi r27, 0 +/* 803155AC 0031120C 40 82 00 2C */ bne lbl_803155D8 +lbl_803155B0: +/* 803155B0 00311210 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803155B4 00311214 38 00 00 0A */ li r0, 0xa +/* 803155B8 00311218 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803155BC 0031121C 38 60 00 0A */ li r3, 0xa +/* 803155C0 00311220 90 04 00 1C */ stw r0, 0x1c(r4) +/* 803155C4 00311224 80 9F 00 08 */ lwz r4, 8(r31) +/* 803155C8 00311228 80 84 00 38 */ lwz r4, 0x38(r4) +/* 803155CC 0031122C 90 04 18 6C */ stw r0, 0x186c(r4) +/* 803155D0 00311230 90 1F 00 18 */ stw r0, 0x18(r31) +/* 803155D4 00311234 48 00 00 98 */ b lbl_8031566C +lbl_803155D8: +/* 803155D8 00311238 93 FE 16 08 */ stw r31, 0x1608(r30) +/* 803155DC 0031123C 7F C3 F3 78 */ mr r3, r30 +/* 803155E0 00311240 7F 44 D3 78 */ mr r4, r26 +/* 803155E4 00311244 7F 65 DB 78 */ mr r5, r27 +/* 803155E8 00311248 7F A6 EB 78 */ mr r6, r29 +/* 803155EC 0031124C 7F E7 FB 78 */ mr r7, r31 +/* 803155F0 00311250 39 01 00 08 */ addi r8, r1, 8 +/* 803155F4 00311254 4B FF F2 DD */ bl func_803148D0 +/* 803155F8 00311258 80 81 00 08 */ lwz r4, 8(r1) +/* 803155FC 0031125C 2C 03 00 00 */ cmpwi r3, 0 +/* 80315600 00311260 38 00 00 00 */ li r0, 0 +/* 80315604 00311264 7C 7D 1B 78 */ mr r29, r3 +/* 80315608 00311268 90 9C 00 00 */ stw r4, 0(r28) +/* 8031560C 0031126C 90 1E 16 08 */ stw r0, 0x1608(r30) +/* 80315610 00311270 41 82 00 20 */ beq lbl_80315630 +/* 80315614 00311274 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315618 00311278 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 8031561C 0031127C 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315620 00311280 80 9F 00 08 */ lwz r4, 8(r31) +/* 80315624 00311284 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315628 00311288 90 64 18 6C */ stw r3, 0x186c(r4) +/* 8031562C 0031128C 90 7F 00 18 */ stw r3, 0x18(r31) +lbl_80315630: +/* 80315630 00311290 80 01 00 08 */ lwz r0, 8(r1) +/* 80315634 00311294 2C 00 00 00 */ cmpwi r0, 0 +/* 80315638 00311298 41 82 00 30 */ beq lbl_80315668 +/* 8031563C 0031129C 80 9F 00 08 */ lwz r4, 8(r31) +/* 80315640 003112A0 38 64 02 62 */ addi r3, r4, 0x262 +/* 80315644 003112A4 38 84 02 60 */ addi r4, r4, 0x260 +/* 80315648 003112A8 4B FF 75 31 */ bl func_8030CB78 +/* 8031564C 003112AC 80 7F 00 08 */ lwz r3, 8(r31) +/* 80315650 003112B0 A0 03 02 62 */ lhz r0, 0x262(r3) +/* 80315654 003112B4 B0 03 02 5E */ sth r0, 0x25e(r3) +/* 80315658 003112B8 80 7F 00 08 */ lwz r3, 8(r31) +/* 8031565C 003112BC 80 03 00 00 */ lwz r0, 0(r3) +/* 80315660 003112C0 60 00 00 04 */ ori r0, r0, 4 +/* 80315664 003112C4 90 03 00 00 */ stw r0, 0(r3) +lbl_80315668: +/* 80315668 003112C8 7F A3 EB 78 */ mr r3, r29 +lbl_8031566C: +/* 8031566C 003112CC 39 61 00 30 */ addi r11, r1, 0x30 +/* 80315670 003112D0 4B EB 1B 01 */ bl _restgpr_26 +/* 80315674 003112D4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80315678 003112D8 7C 08 03 A6 */ mtlr r0 +/* 8031567C 003112DC 38 21 00 30 */ addi r1, r1, 0x30 +/* 80315680 003112E0 4E 80 00 20 */ blr + +.global func_80315684 +func_80315684: +/* 80315684 003112E4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80315688 003112E8 7C 08 02 A6 */ mflr r0 +/* 8031568C 003112EC 3C C0 80 58 */ lis r6, lbl_8057F5C8@ha +/* 80315690 003112F0 90 01 00 24 */ stw r0, 0x24(r1) +/* 80315694 003112F4 38 C6 F5 C8 */ addi r6, r6, lbl_8057F5C8@l +/* 80315698 003112F8 7C 06 18 40 */ cmplw r6, r3 +/* 8031569C 003112FC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 803156A0 00311300 7C 7F 1B 78 */ mr r31, r3 +/* 803156A4 00311304 93 C1 00 18 */ stw r30, 0x18(r1) +/* 803156A8 00311308 93 A1 00 14 */ stw r29, 0x14(r1) +/* 803156AC 0031130C 7C BD 2B 78 */ mr r29, r5 +/* 803156B0 00311310 93 81 00 10 */ stw r28, 0x10(r1) +/* 803156B4 00311314 7C 9C 23 78 */ mr r28, r4 +/* 803156B8 00311318 41 81 00 14 */ bgt lbl_803156CC +/* 803156BC 0031131C 3C 86 00 02 */ addis r4, r6, 2 +/* 803156C0 00311320 38 04 7F B8 */ addi r0, r4, 0x7fb8 +/* 803156C4 00311324 7C 00 18 40 */ cmplw r0, r3 +/* 803156C8 00311328 40 80 00 1C */ bge lbl_803156E4 +lbl_803156CC: +/* 803156CC 0031132C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803156D0 00311330 38 00 00 0A */ li r0, 0xa +/* 803156D4 00311334 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803156D8 00311338 38 60 00 0A */ li r3, 0xa +/* 803156DC 0031133C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 803156E0 00311340 48 00 02 F8 */ b lbl_803159D8 +lbl_803156E4: +/* 803156E4 00311344 2C 03 00 00 */ cmpwi r3, 0 +/* 803156E8 00311348 40 82 00 0C */ bne lbl_803156F4 +/* 803156EC 0031134C 3B C0 00 00 */ li r30, 0 +/* 803156F0 00311350 48 00 00 0C */ b lbl_803156FC +lbl_803156F4: +/* 803156F4 00311354 80 63 00 08 */ lwz r3, 8(r3) +/* 803156F8 00311358 83 C3 02 68 */ lwz r30, 0x268(r3) +lbl_803156FC: +/* 803156FC 0031135C 2C 1E 00 00 */ cmpwi r30, 0 +/* 80315700 00311360 40 82 00 1C */ bne lbl_8031571C +/* 80315704 00311364 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315708 00311368 38 00 00 26 */ li r0, 0x26 +/* 8031570C 0031136C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315710 00311370 38 60 00 26 */ li r3, 0x26 +/* 80315714 00311374 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315718 00311378 48 00 02 C0 */ b lbl_803159D8 +lbl_8031571C: +/* 8031571C 0031137C 7F C3 F3 78 */ mr r3, r30 +/* 80315720 00311380 48 00 3C 4D */ bl func_8031936C +/* 80315724 00311384 2C 03 00 00 */ cmpwi r3, 0 +/* 80315728 00311388 41 82 00 18 */ beq lbl_80315740 +/* 8031572C 0031138C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315730 00311390 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315734 00311394 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315738 00311398 90 7E 18 6C */ stw r3, 0x186c(r30) +/* 8031573C 0031139C 48 00 02 9C */ b lbl_803159D8 +lbl_80315740: +/* 80315740 003113A0 2C 1F 00 00 */ cmpwi r31, 0 +/* 80315744 003113A4 41 82 00 34 */ beq lbl_80315778 +/* 80315748 003113A8 80 9F 00 08 */ lwz r4, 8(r31) +/* 8031574C 003113AC 2C 04 00 00 */ cmpwi r4, 0 +/* 80315750 003113B0 41 82 00 28 */ beq lbl_80315778 +/* 80315754 003113B4 80 1F 00 00 */ lwz r0, 0(r31) +/* 80315758 003113B8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8031575C 003113BC 41 82 00 1C */ beq lbl_80315778 +/* 80315760 003113C0 80 04 00 00 */ lwz r0, 0(r4) +/* 80315764 003113C4 54 05 07 FE */ clrlwi r5, r0, 0x1f +/* 80315768 003113C8 2C 85 00 00 */ cmpwi cr1, r5, 0 +/* 8031576C 003113CC 41 86 00 0C */ beq cr1, lbl_80315778 +/* 80315770 003113D0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80315774 003113D4 40 82 00 20 */ bne lbl_80315794 +lbl_80315778: +/* 80315778 003113D8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 8031577C 003113DC 38 00 00 26 */ li r0, 0x26 +/* 80315780 003113E0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315784 003113E4 38 60 00 26 */ li r3, 0x26 +/* 80315788 003113E8 90 04 00 1C */ stw r0, 0x1c(r4) +/* 8031578C 003113EC 90 1E 18 6C */ stw r0, 0x186c(r30) +/* 80315790 003113F0 48 00 02 48 */ b lbl_803159D8 +lbl_80315794: +/* 80315794 003113F4 41 86 00 08 */ beq cr1, lbl_8031579C +/* 80315798 003113F8 40 82 00 20 */ bne lbl_803157B8 +lbl_8031579C: +/* 8031579C 003113FC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803157A0 00311400 38 00 00 26 */ li r0, 0x26 +/* 803157A4 00311404 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803157A8 00311408 38 60 00 26 */ li r3, 0x26 +/* 803157AC 0031140C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 803157B0 00311410 90 1E 18 6C */ stw r0, 0x186c(r30) +/* 803157B4 00311414 48 00 02 24 */ b lbl_803159D8 +lbl_803157B8: +/* 803157B8 00311418 2C 1D 00 01 */ cmpwi r29, 1 +/* 803157BC 0031141C 41 82 00 20 */ beq lbl_803157DC +/* 803157C0 00311420 40 80 00 10 */ bge lbl_803157D0 +/* 803157C4 00311424 2C 1D 00 00 */ cmpwi r29, 0 +/* 803157C8 00311428 40 80 00 1C */ bge lbl_803157E4 +/* 803157CC 0031142C 48 00 00 28 */ b lbl_803157F4 +lbl_803157D0: +/* 803157D0 00311430 2C 1D 00 03 */ cmpwi r29, 3 +/* 803157D4 00311434 40 80 00 20 */ bge lbl_803157F4 +/* 803157D8 00311438 48 00 00 14 */ b lbl_803157EC +lbl_803157DC: +/* 803157DC 0031143C 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 803157E0 00311440 48 00 00 3C */ b lbl_8031581C +lbl_803157E4: +/* 803157E4 00311444 38 00 00 00 */ li r0, 0 +/* 803157E8 00311448 48 00 00 34 */ b lbl_8031581C +lbl_803157EC: +/* 803157EC 0031144C 80 04 02 64 */ lwz r0, 0x264(r4) +/* 803157F0 00311450 48 00 00 2C */ b lbl_8031581C +lbl_803157F4: +/* 803157F4 00311454 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803157F8 00311458 38 00 00 0A */ li r0, 0xa +/* 803157FC 0031145C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315800 00311460 38 60 00 0A */ li r3, 0xa +/* 80315804 00311464 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315808 00311468 80 9F 00 08 */ lwz r4, 8(r31) +/* 8031580C 0031146C 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315810 00311470 90 04 18 6C */ stw r0, 0x186c(r4) +/* 80315814 00311474 90 1F 00 18 */ stw r0, 0x18(r31) +/* 80315818 00311478 48 00 01 C0 */ b lbl_803159D8 +lbl_8031581C: +/* 8031581C 0031147C 57 84 00 01 */ rlwinm. r4, r28, 0, 0, 0 +/* 80315820 00311480 41 82 00 48 */ beq lbl_80315868 +/* 80315824 00311484 7F 84 E0 F8 */ nor r4, r28, r28 +/* 80315828 00311488 54 84 00 7E */ clrlwi r4, r4, 1 +/* 8031582C 0031148C 38 84 00 01 */ addi r4, r4, 1 +/* 80315830 00311490 7C 00 20 40 */ cmplw r0, r4 +/* 80315834 00311494 40 80 00 2C */ bge lbl_80315860 +/* 80315838 00311498 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 8031583C 0031149C 38 00 00 0A */ li r0, 0xa +/* 80315840 003114A0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315844 003114A4 38 60 00 0A */ li r3, 0xa +/* 80315848 003114A8 90 04 00 1C */ stw r0, 0x1c(r4) +/* 8031584C 003114AC 80 9F 00 08 */ lwz r4, 8(r31) +/* 80315850 003114B0 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315854 003114B4 90 04 18 6C */ stw r0, 0x186c(r4) +/* 80315858 003114B8 90 1F 00 18 */ stw r0, 0x18(r31) +/* 8031585C 003114BC 48 00 01 7C */ b lbl_803159D8 +lbl_80315860: +/* 80315860 003114C0 7C 04 00 50 */ subf r0, r4, r0 +/* 80315864 003114C4 48 00 00 3C */ b lbl_803158A0 +lbl_80315868: +/* 80315868 003114C8 20 80 FF FF */ subfic r4, r0, -1 +/* 8031586C 003114CC 7C 1C 20 40 */ cmplw r28, r4 +/* 80315870 003114D0 40 81 00 2C */ ble lbl_8031589C +/* 80315874 003114D4 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315878 003114D8 38 00 00 25 */ li r0, 0x25 +/* 8031587C 003114DC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315880 003114E0 38 60 00 25 */ li r3, 0x25 +/* 80315884 003114E4 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315888 003114E8 80 9F 00 08 */ lwz r4, 8(r31) +/* 8031588C 003114EC 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315890 003114F0 90 04 18 6C */ stw r0, 0x186c(r4) +/* 80315894 003114F4 90 1F 00 18 */ stw r0, 0x18(r31) +/* 80315898 003114F8 48 00 01 40 */ b lbl_803159D8 +lbl_8031589C: +/* 8031589C 003114FC 7C 00 E2 14 */ add r0, r0, r28 +lbl_803158A0: +/* 803158A0 00311500 38 80 FF FF */ li r4, -1 +/* 803158A4 00311504 2C 1F 00 00 */ cmpwi r31, 0 +/* 803158A8 00311508 90 9F 00 20 */ stw r4, 0x20(r31) +/* 803158AC 0031150C 40 82 00 0C */ bne lbl_803158B8 +/* 803158B0 00311510 38 A0 00 00 */ li r5, 0 +/* 803158B4 00311514 48 00 00 0C */ b lbl_803158C0 +lbl_803158B8: +/* 803158B8 00311518 80 9F 00 08 */ lwz r4, 8(r31) +/* 803158BC 0031151C 80 A4 02 68 */ lwz r5, 0x268(r4) +lbl_803158C0: +/* 803158C0 00311520 A0 85 00 00 */ lhz r4, 0(r5) +/* 803158C4 00311524 80 FF 00 1C */ lwz r7, 0x1c(r31) +/* 803158C8 00311528 38 84 FF FF */ addi r4, r4, -1 +/* 803158CC 0031152C 88 C5 00 20 */ lbz r6, 0x20(r5) +/* 803158D0 00311530 7C E5 20 38 */ and r5, r7, r4 +/* 803158D4 00311534 7C 85 00 D0 */ neg r4, r5 +/* 803158D8 00311538 7C E6 34 30 */ srw r6, r7, r6 +/* 803158DC 0031153C 7C 84 2B 78 */ or r4, r4, r5 +/* 803158E0 00311540 54 84 0F FE */ srwi r4, r4, 0x1f +/* 803158E4 00311544 7C 86 22 15 */ add. r4, r6, r4 +/* 803158E8 00311548 41 82 00 0C */ beq lbl_803158F4 +/* 803158EC 0031154C 38 80 FF FF */ li r4, -1 +/* 803158F0 00311550 90 9F 00 20 */ stw r4, 0x20(r31) +lbl_803158F4: +/* 803158F4 00311554 38 80 00 00 */ li r4, 0 +/* 803158F8 00311558 2C 1F 00 00 */ cmpwi r31, 0 +/* 803158FC 0031155C 90 9F 00 1C */ stw r4, 0x1c(r31) +/* 80315900 00311560 40 82 00 0C */ bne lbl_8031590C +/* 80315904 00311564 38 C0 00 00 */ li r6, 0 +/* 80315908 00311568 48 00 00 0C */ b lbl_80315914 +lbl_8031590C: +/* 8031590C 0031156C 80 9F 00 08 */ lwz r4, 8(r31) +/* 80315910 00311570 80 C4 02 68 */ lwz r6, 0x268(r4) +lbl_80315914: +/* 80315914 00311574 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 80315918 00311578 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031591C 0031157C 88 86 00 20 */ lbz r4, 0x20(r6) +/* 80315920 00311580 7C A4 24 30 */ srw r4, r5, r4 +/* 80315924 00311584 90 9F 00 24 */ stw r4, 0x24(r31) +/* 80315928 00311588 A0 86 00 00 */ lhz r4, 0(r6) +/* 8031592C 0031158C 38 84 FF FF */ addi r4, r4, -1 +/* 80315930 00311590 7C A4 20 38 */ and r4, r5, r4 +/* 80315934 00311594 B0 9F 00 28 */ sth r4, 0x28(r31) +/* 80315938 00311598 40 82 00 0C */ bne lbl_80315944 +/* 8031593C 0031159C 38 A0 00 00 */ li r5, 0 +/* 80315940 003115A0 48 00 00 0C */ b lbl_8031594C +lbl_80315944: +/* 80315944 003115A4 80 9F 00 08 */ lwz r4, 8(r31) +/* 80315948 003115A8 80 A4 02 68 */ lwz r5, 0x268(r4) +lbl_8031594C: +/* 8031594C 003115AC A0 85 00 00 */ lhz r4, 0(r5) +/* 80315950 003115B0 80 DF 00 1C */ lwz r6, 0x1c(r31) +/* 80315954 003115B4 38 84 FF FF */ addi r4, r4, -1 +/* 80315958 003115B8 89 45 00 20 */ lbz r10, 0x20(r5) +/* 8031595C 003115BC 7C C9 20 38 */ and r9, r6, r4 +/* 80315960 003115C0 7C 05 20 38 */ and r5, r0, r4 +/* 80315964 003115C4 7C C7 54 30 */ srw r7, r6, r10 +/* 80315968 003115C8 7D 09 00 D0 */ neg r8, r9 +/* 8031596C 003115CC 7C 06 54 30 */ srw r6, r0, r10 +/* 80315970 003115D0 7C 85 00 D0 */ neg r4, r5 +/* 80315974 003115D4 7C 84 2B 78 */ or r4, r4, r5 +/* 80315978 003115D8 7D 08 4B 78 */ or r8, r8, r9 +/* 8031597C 003115DC 55 05 0F FE */ srwi r5, r8, 0x1f +/* 80315980 003115E0 54 84 0F FE */ srwi r4, r4, 0x1f +/* 80315984 003115E4 7C A7 2A 14 */ add r5, r7, r5 +/* 80315988 003115E8 7C 86 22 14 */ add r4, r6, r4 +/* 8031598C 003115EC 7C 05 20 40 */ cmplw r5, r4 +/* 80315990 003115F0 41 82 00 0C */ beq lbl_8031599C +/* 80315994 003115F4 38 80 FF FF */ li r4, -1 +/* 80315998 003115F8 90 9F 00 20 */ stw r4, 0x20(r31) +lbl_8031599C: +/* 8031599C 003115FC 2C 1F 00 00 */ cmpwi r31, 0 +/* 803159A0 00311600 90 1F 00 1C */ stw r0, 0x1c(r31) +/* 803159A4 00311604 40 82 00 0C */ bne lbl_803159B0 +/* 803159A8 00311608 38 80 00 00 */ li r4, 0 +/* 803159AC 0031160C 48 00 00 0C */ b lbl_803159B8 +lbl_803159B0: +/* 803159B0 00311610 80 9F 00 08 */ lwz r4, 8(r31) +/* 803159B4 00311614 80 84 02 68 */ lwz r4, 0x268(r4) +lbl_803159B8: +/* 803159B8 00311618 80 BF 00 1C */ lwz r5, 0x1c(r31) +/* 803159BC 0031161C 88 04 00 20 */ lbz r0, 0x20(r4) +/* 803159C0 00311620 7C A0 04 30 */ srw r0, r5, r0 +/* 803159C4 00311624 90 1F 00 24 */ stw r0, 0x24(r31) +/* 803159C8 00311628 A0 84 00 00 */ lhz r4, 0(r4) +/* 803159CC 0031162C 38 04 FF FF */ addi r0, r4, -1 +/* 803159D0 00311630 7C A0 00 38 */ and r0, r5, r0 +/* 803159D4 00311634 B0 1F 00 28 */ sth r0, 0x28(r31) +lbl_803159D8: +/* 803159D8 00311638 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803159DC 0031163C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803159E0 00311640 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803159E4 00311644 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 803159E8 00311648 83 81 00 10 */ lwz r28, 0x10(r1) +/* 803159EC 0031164C 7C 08 03 A6 */ mtlr r0 +/* 803159F0 00311650 38 21 00 20 */ addi r1, r1, 0x20 +/* 803159F4 00311654 4E 80 00 20 */ blr + +.global func_803159F8 +func_803159F8: +/* 803159F8 00311658 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 803159FC 0031165C 7C 08 02 A6 */ mflr r0 +/* 80315A00 00311660 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 80315A04 00311664 90 01 00 44 */ stw r0, 0x44(r1) +/* 80315A08 00311668 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 80315A0C 0031166C 7C 05 18 40 */ cmplw r5, r3 +/* 80315A10 00311670 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 80315A14 00311674 93 C1 00 38 */ stw r30, 0x38(r1) +/* 80315A18 00311678 7C 7E 1B 78 */ mr r30, r3 +/* 80315A1C 0031167C 93 A1 00 34 */ stw r29, 0x34(r1) +/* 80315A20 00311680 7C 9D 23 78 */ mr r29, r4 +/* 80315A24 00311684 41 81 00 14 */ bgt lbl_80315A38 +/* 80315A28 00311688 3C 85 00 02 */ addis r4, r5, 2 +/* 80315A2C 0031168C 38 04 7F B8 */ addi r0, r4, 0x7fb8 +/* 80315A30 00311690 7C 00 18 40 */ cmplw r0, r3 +/* 80315A34 00311694 40 80 00 1C */ bge lbl_80315A50 +lbl_80315A38: +/* 80315A38 00311698 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315A3C 0031169C 38 00 00 0A */ li r0, 0xa +/* 80315A40 003116A0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315A44 003116A4 38 60 00 0A */ li r3, 0xa +/* 80315A48 003116A8 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315A4C 003116AC 48 00 01 C8 */ b lbl_80315C14 +lbl_80315A50: +/* 80315A50 003116B0 2C 03 00 00 */ cmpwi r3, 0 +/* 80315A54 003116B4 40 82 00 0C */ bne lbl_80315A60 +/* 80315A58 003116B8 3B E0 00 00 */ li r31, 0 +/* 80315A5C 003116BC 48 00 00 0C */ b lbl_80315A68 +lbl_80315A60: +/* 80315A60 003116C0 80 63 00 08 */ lwz r3, 8(r3) +/* 80315A64 003116C4 83 E3 02 68 */ lwz r31, 0x268(r3) +lbl_80315A68: +/* 80315A68 003116C8 2C 1F 00 00 */ cmpwi r31, 0 +/* 80315A6C 003116CC 40 82 00 1C */ bne lbl_80315A88 +/* 80315A70 003116D0 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315A74 003116D4 38 00 00 26 */ li r0, 0x26 +/* 80315A78 003116D8 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315A7C 003116DC 38 60 00 26 */ li r3, 0x26 +/* 80315A80 003116E0 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315A84 003116E4 48 00 01 90 */ b lbl_80315C14 +lbl_80315A88: +/* 80315A88 003116E8 7F E3 FB 78 */ mr r3, r31 +/* 80315A8C 003116EC 48 00 38 E1 */ bl func_8031936C +/* 80315A90 003116F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80315A94 003116F4 41 82 00 24 */ beq lbl_80315AB8 +/* 80315A98 003116F8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315A9C 003116FC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315AA0 00311700 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315AA4 00311704 80 9E 00 08 */ lwz r4, 8(r30) +/* 80315AA8 00311708 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315AAC 0031170C 90 64 18 6C */ stw r3, 0x186c(r4) +/* 80315AB0 00311710 90 7E 00 18 */ stw r3, 0x18(r30) +/* 80315AB4 00311714 48 00 01 60 */ b lbl_80315C14 +lbl_80315AB8: +/* 80315AB8 00311718 2C 1E 00 00 */ cmpwi r30, 0 +/* 80315ABC 0031171C 41 82 00 34 */ beq lbl_80315AF0 +/* 80315AC0 00311720 80 7E 00 08 */ lwz r3, 8(r30) +/* 80315AC4 00311724 2C 03 00 00 */ cmpwi r3, 0 +/* 80315AC8 00311728 41 82 00 28 */ beq lbl_80315AF0 +/* 80315ACC 0031172C 80 1E 00 00 */ lwz r0, 0(r30) +/* 80315AD0 00311730 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80315AD4 00311734 41 82 00 1C */ beq lbl_80315AF0 +/* 80315AD8 00311738 80 03 00 00 */ lwz r0, 0(r3) +/* 80315ADC 0031173C 54 03 07 FE */ clrlwi r3, r0, 0x1f +/* 80315AE0 00311740 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 80315AE4 00311744 41 86 00 0C */ beq cr1, lbl_80315AF0 +/* 80315AE8 00311748 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80315AEC 0031174C 40 82 00 20 */ bne lbl_80315B0C +lbl_80315AF0: +/* 80315AF0 00311750 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315AF4 00311754 38 00 00 26 */ li r0, 0x26 +/* 80315AF8 00311758 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315AFC 0031175C 38 60 00 26 */ li r3, 0x26 +/* 80315B00 00311760 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315B04 00311764 90 1F 18 6C */ stw r0, 0x186c(r31) +/* 80315B08 00311768 48 00 01 0C */ b lbl_80315C14 +lbl_80315B0C: +/* 80315B0C 0031176C 41 86 00 08 */ beq cr1, lbl_80315B14 +/* 80315B10 00311770 40 82 00 20 */ bne lbl_80315B30 +lbl_80315B14: +/* 80315B14 00311774 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315B18 00311778 38 00 00 26 */ li r0, 0x26 +/* 80315B1C 0031177C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315B20 00311780 38 60 00 26 */ li r3, 0x26 +/* 80315B24 00311784 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315B28 00311788 90 1F 18 6C */ stw r0, 0x186c(r31) +/* 80315B2C 0031178C 48 00 00 E8 */ b lbl_80315C14 +lbl_80315B30: +/* 80315B30 00311790 2C 1D 00 00 */ cmpwi r29, 0 +/* 80315B34 00311794 40 82 00 2C */ bne lbl_80315B60 +/* 80315B38 00311798 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315B3C 0031179C 38 00 00 0A */ li r0, 0xa +/* 80315B40 003117A0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315B44 003117A4 38 60 00 0A */ li r3, 0xa +/* 80315B48 003117A8 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80315B4C 003117AC 80 9E 00 08 */ lwz r4, 8(r30) +/* 80315B50 003117B0 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315B54 003117B4 90 04 18 6C */ stw r0, 0x186c(r4) +/* 80315B58 003117B8 90 1E 00 18 */ stw r0, 0x18(r30) +/* 80315B5C 003117BC 48 00 00 B8 */ b lbl_80315C14 +lbl_80315B60: +/* 80315B60 003117C0 93 DF 16 08 */ stw r30, 0x1608(r31) +/* 80315B64 003117C4 7F C3 F3 78 */ mr r3, r30 +/* 80315B68 003117C8 7F A4 EB 78 */ mr r4, r29 +/* 80315B6C 003117CC 81 5E 00 1C */ lwz r10, 0x1c(r30) +/* 80315B70 003117D0 81 3E 00 20 */ lwz r9, 0x20(r30) +/* 80315B74 003117D4 81 1E 00 24 */ lwz r8, 0x24(r30) +/* 80315B78 003117D8 80 FE 00 28 */ lwz r7, 0x28(r30) +/* 80315B7C 003117DC 80 DE 00 0C */ lwz r6, 0xc(r30) +/* 80315B80 003117E0 80 BE 00 10 */ lwz r5, 0x10(r30) +/* 80315B84 003117E4 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 80315B88 003117E8 91 41 00 18 */ stw r10, 0x18(r1) +/* 80315B8C 003117EC 91 21 00 1C */ stw r9, 0x1c(r1) +/* 80315B90 003117F0 91 01 00 20 */ stw r8, 0x20(r1) +/* 80315B94 003117F4 90 E1 00 24 */ stw r7, 0x24(r1) +/* 80315B98 003117F8 90 C1 00 08 */ stw r6, 8(r1) +/* 80315B9C 003117FC 90 A1 00 0C */ stw r5, 0xc(r1) +/* 80315BA0 00311800 90 01 00 10 */ stw r0, 0x10(r1) +/* 80315BA4 00311804 4B FF EF 81 */ bl func_80314B24 +/* 80315BA8 00311808 81 41 00 18 */ lwz r10, 0x18(r1) +/* 80315BAC 0031180C 2C 03 00 00 */ cmpwi r3, 0 +/* 80315BB0 00311810 81 21 00 1C */ lwz r9, 0x1c(r1) +/* 80315BB4 00311814 38 00 00 00 */ li r0, 0 +/* 80315BB8 00311818 81 01 00 20 */ lwz r8, 0x20(r1) +/* 80315BBC 0031181C 80 E1 00 24 */ lwz r7, 0x24(r1) +/* 80315BC0 00311820 80 C1 00 08 */ lwz r6, 8(r1) +/* 80315BC4 00311824 80 A1 00 0C */ lwz r5, 0xc(r1) +/* 80315BC8 00311828 80 81 00 10 */ lwz r4, 0x10(r1) +/* 80315BCC 0031182C 91 5E 00 1C */ stw r10, 0x1c(r30) +/* 80315BD0 00311830 91 3E 00 20 */ stw r9, 0x20(r30) +/* 80315BD4 00311834 91 1E 00 24 */ stw r8, 0x24(r30) +/* 80315BD8 00311838 90 FE 00 28 */ stw r7, 0x28(r30) +/* 80315BDC 0031183C 90 DE 00 0C */ stw r6, 0xc(r30) +/* 80315BE0 00311840 90 BE 00 10 */ stw r5, 0x10(r30) +/* 80315BE4 00311844 90 9E 00 14 */ stw r4, 0x14(r30) +/* 80315BE8 00311848 90 1F 16 08 */ stw r0, 0x1608(r31) +/* 80315BEC 0031184C 41 82 00 24 */ beq lbl_80315C10 +/* 80315BF0 00311850 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80315BF4 00311854 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80315BF8 00311858 90 64 00 1C */ stw r3, 0x1c(r4) +/* 80315BFC 0031185C 80 9E 00 08 */ lwz r4, 8(r30) +/* 80315C00 00311860 80 84 00 38 */ lwz r4, 0x38(r4) +/* 80315C04 00311864 90 64 18 6C */ stw r3, 0x186c(r4) +/* 80315C08 00311868 90 7E 00 18 */ stw r3, 0x18(r30) +/* 80315C0C 0031186C 48 00 00 08 */ b lbl_80315C14 +lbl_80315C10: +/* 80315C10 00311870 38 60 00 00 */ li r3, 0 +lbl_80315C14: +/* 80315C14 00311874 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80315C18 00311878 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 80315C1C 0031187C 83 C1 00 38 */ lwz r30, 0x38(r1) +/* 80315C20 00311880 83 A1 00 34 */ lwz r29, 0x34(r1) +/* 80315C24 00311884 7C 08 03 A6 */ mtlr r0 +/* 80315C28 00311888 38 21 00 40 */ addi r1, r1, 0x40 +/* 80315C2C 0031188C 4E 80 00 20 */ blr +lbl_80315C30: +/* 80315C30 00311890 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80315C34 00311894 7C 08 02 A6 */ mflr r0 +/* 80315C38 00311898 90 01 00 44 */ stw r0, 0x44(r1) +/* 80315C3C 0031189C 39 61 00 40 */ addi r11, r1, 0x40 +/* 80315C40 003118A0 4B EB 14 E5 */ bl _savegpr_26 +/* 80315C44 003118A4 2C 04 00 00 */ cmpwi r4, 0 +/* 80315C48 003118A8 7C 7B 1B 78 */ mr r27, r3 +/* 80315C4C 003118AC 7C 9C 23 78 */ mr r28, r4 +/* 80315C50 003118B0 7C BD 2B 78 */ mr r29, r5 +/* 80315C54 003118B4 7C DE 33 78 */ mr r30, r6 +/* 80315C58 003118B8 40 82 00 0C */ bne lbl_80315C64 +/* 80315C5C 003118BC 38 60 00 0A */ li r3, 0xa +/* 80315C60 003118C0 48 00 01 B0 */ b lbl_80315E10 +lbl_80315C64: +/* 80315C64 003118C4 4B FE F6 7D */ bl VFiPFSTR_GetCodeMode +/* 80315C68 003118C8 7C 7A 1B 78 */ mr r26, r3 +/* 80315C6C 003118CC 7F 83 E3 78 */ mr r3, r28 +/* 80315C70 003118D0 7F 44 D3 78 */ mr r4, r26 +/* 80315C74 003118D4 4B FE F6 65 */ bl VFiPFSTR_SetCodeMode +/* 80315C78 003118D8 7F A3 EB 78 */ mr r3, r29 +/* 80315C7C 003118DC 7F 44 D3 78 */ mr r4, r26 +/* 80315C80 003118E0 4B FE F6 59 */ bl VFiPFSTR_SetCodeMode +/* 80315C84 003118E4 38 00 00 00 */ li r0, 0 +/* 80315C88 003118E8 2C 1D 00 00 */ cmpwi r29, 0 +/* 80315C8C 003118EC 90 1C 00 00 */ stw r0, 0(r28) +/* 80315C90 003118F0 41 82 00 08 */ beq lbl_80315C98 +/* 80315C94 003118F4 90 1D 00 00 */ stw r0, 0(r29) +lbl_80315C98: +/* 80315C98 003118F8 7F 63 DB 78 */ mr r3, r27 +/* 80315C9C 003118FC 38 8D 8C F8 */ addi r4, r13, lbl_8063DFB8-_SDA_BASE_ +/* 80315CA0 00311900 38 A0 00 01 */ li r5, 1 +/* 80315CA4 00311904 38 C0 00 01 */ li r6, 1 +/* 80315CA8 00311908 38 E0 00 01 */ li r7, 1 +/* 80315CAC 0031190C 4B FE F9 B5 */ bl VFiPFSTR_StrNCmp +/* 80315CB0 00311910 2C 03 00 00 */ cmpwi r3, 0 +/* 80315CB4 00311914 40 82 00 10 */ bne lbl_80315CC4 +/* 80315CB8 00311918 7F 63 DB 78 */ mr r3, r27 +/* 80315CBC 0031191C 38 80 00 02 */ li r4, 2 +/* 80315CC0 00311920 4B FE F6 79 */ bl VFiPFSTR_MoveStrPos +lbl_80315CC4: +/* 80315CC4 00311924 83 FB 00 00 */ lwz r31, 0(r27) +/* 80315CC8 00311928 7F C4 F3 78 */ mr r4, r30 +/* 80315CCC 0031192C 38 61 00 18 */ addi r3, r1, 0x18 +/* 80315CD0 00311930 93 E1 00 18 */ stw r31, 0x18(r1) +/* 80315CD4 00311934 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80315CD8 00311938 93 41 00 24 */ stw r26, 0x24(r1) +/* 80315CDC 0031193C 48 00 0E 2D */ bl func_80316B08 +/* 80315CE0 00311940 2C 03 00 00 */ cmpwi r3, 0 +/* 80315CE4 00311944 41 82 00 08 */ beq lbl_80315CEC +/* 80315CE8 00311948 48 00 01 28 */ b lbl_80315E10 +lbl_80315CEC: +/* 80315CEC 0031194C 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80315CF0 00311950 2C 00 00 00 */ cmpwi r0, 0 +/* 80315CF4 00311954 41 82 00 14 */ beq lbl_80315D08 +/* 80315CF8 00311958 38 61 00 18 */ addi r3, r1, 0x18 +/* 80315CFC 0031195C 4B FE F7 CD */ bl VFiPFSTR_StrLen +/* 80315D00 00311960 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 80315D04 00311964 40 82 00 0C */ bne lbl_80315D10 +lbl_80315D08: +/* 80315D08 00311968 38 60 00 02 */ li r3, 2 +/* 80315D0C 0031196C 48 00 01 04 */ b lbl_80315E10 +lbl_80315D10: +/* 80315D10 00311970 80 1B 00 04 */ lwz r0, 4(r27) +/* 80315D14 00311974 80 A1 00 1C */ lwz r5, 0x1c(r1) +/* 80315D18 00311978 7C 00 28 40 */ cmplw r0, r5 +/* 80315D1C 0031197C 40 80 00 0C */ bge lbl_80315D28 +/* 80315D20 00311980 38 60 00 02 */ li r3, 2 +/* 80315D24 00311984 48 00 00 EC */ b lbl_80315E10 +lbl_80315D28: +/* 80315D28 00311988 80 81 00 18 */ lwz r4, 0x18(r1) +/* 80315D2C 0031198C 80 61 00 20 */ lwz r3, 0x20(r1) +/* 80315D30 00311990 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80315D34 00311994 90 81 00 08 */ stw r4, 8(r1) +/* 80315D38 00311998 90 A1 00 0C */ stw r5, 0xc(r1) +/* 80315D3C 0031199C 90 61 00 10 */ stw r3, 0x10(r1) +/* 80315D40 003119A0 90 01 00 14 */ stw r0, 0x14(r1) +lbl_80315D44: +/* 80315D44 003119A4 38 61 00 18 */ addi r3, r1, 0x18 +/* 80315D48 003119A8 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_ +/* 80315D4C 003119AC 38 A0 00 02 */ li r5, 2 +/* 80315D50 003119B0 38 C0 00 00 */ li r6, 0 +/* 80315D54 003119B4 38 E0 00 01 */ li r7, 1 +/* 80315D58 003119B8 4B FE F9 09 */ bl VFiPFSTR_StrNCmp +/* 80315D5C 003119BC 2C 03 00 00 */ cmpwi r3, 0 +/* 80315D60 003119C0 40 82 00 0C */ bne lbl_80315D6C +/* 80315D64 003119C4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80315D68 003119C8 48 00 00 70 */ b lbl_80315DD8 +lbl_80315D6C: +/* 80315D6C 003119CC 7F C4 F3 78 */ mr r4, r30 +/* 80315D70 003119D0 38 61 00 18 */ addi r3, r1, 0x18 +/* 80315D74 003119D4 48 00 0D 95 */ bl func_80316B08 +/* 80315D78 003119D8 2C 03 00 00 */ cmpwi r3, 0 +/* 80315D7C 003119DC 41 82 00 08 */ beq lbl_80315D84 +/* 80315D80 003119E0 48 00 00 90 */ b lbl_80315E10 +lbl_80315D84: +/* 80315D84 003119E4 38 61 00 18 */ addi r3, r1, 0x18 +/* 80315D88 003119E8 4B FE F7 41 */ bl VFiPFSTR_StrLen +/* 80315D8C 003119EC 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 80315D90 003119F0 40 82 00 0C */ bne lbl_80315D9C +/* 80315D94 003119F4 38 60 00 02 */ li r3, 2 +/* 80315D98 003119F8 48 00 00 78 */ b lbl_80315E10 +lbl_80315D9C: +/* 80315D9C 003119FC 80 1B 00 04 */ lwz r0, 4(r27) +/* 80315DA0 00311A00 80 A1 00 1C */ lwz r5, 0x1c(r1) +/* 80315DA4 00311A04 7C 00 28 40 */ cmplw r0, r5 +/* 80315DA8 00311A08 41 80 00 30 */ blt lbl_80315DD8 +/* 80315DAC 00311A0C 80 81 00 18 */ lwz r4, 0x18(r1) +/* 80315DB0 00311A10 2C 04 00 00 */ cmpwi r4, 0 +/* 80315DB4 00311A14 41 82 00 24 */ beq lbl_80315DD8 +/* 80315DB8 00311A18 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80315DBC 00311A1C 80 61 00 20 */ lwz r3, 0x20(r1) +/* 80315DC0 00311A20 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80315DC4 00311A24 90 81 00 08 */ stw r4, 8(r1) +/* 80315DC8 00311A28 90 A1 00 0C */ stw r5, 0xc(r1) +/* 80315DCC 00311A2C 90 61 00 10 */ stw r3, 0x10(r1) +/* 80315DD0 00311A30 90 01 00 14 */ stw r0, 0x14(r1) +/* 80315DD4 00311A34 4B FF FF 70 */ b lbl_80315D44 +lbl_80315DD8: +/* 80315DD8 00311A38 80 1B 00 00 */ lwz r0, 0(r27) +/* 80315DDC 00311A3C 2C 1D 00 00 */ cmpwi r29, 0 +/* 80315DE0 00311A40 90 1C 00 00 */ stw r0, 0(r28) +/* 80315DE4 00311A44 93 FC 00 04 */ stw r31, 4(r28) +/* 80315DE8 00311A48 41 82 00 24 */ beq lbl_80315E0C +/* 80315DEC 00311A4C 80 A1 00 08 */ lwz r5, 8(r1) +/* 80315DF0 00311A50 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80315DF4 00311A54 80 61 00 10 */ lwz r3, 0x10(r1) +/* 80315DF8 00311A58 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80315DFC 00311A5C 90 BD 00 00 */ stw r5, 0(r29) +/* 80315E00 00311A60 90 9D 00 04 */ stw r4, 4(r29) +/* 80315E04 00311A64 90 7D 00 08 */ stw r3, 8(r29) +/* 80315E08 00311A68 90 1D 00 0C */ stw r0, 0xc(r29) +lbl_80315E0C: +/* 80315E0C 00311A6C 38 60 00 00 */ li r3, 0 +lbl_80315E10: +/* 80315E10 00311A70 39 61 00 40 */ addi r11, r1, 0x40 +/* 80315E14 00311A74 4B EB 13 5D */ bl _restgpr_26 +/* 80315E18 00311A78 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80315E1C 00311A7C 7C 08 03 A6 */ mtlr r0 +/* 80315E20 00311A80 38 21 00 40 */ addi r1, r1, 0x40 +/* 80315E24 00311A84 4E 80 00 20 */ blr + +.global func_80315E28 +func_80315E28: +/* 80315E28 00311A88 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80315E2C 00311A8C 7C 08 02 A6 */ mflr r0 +/* 80315E30 00311A90 90 01 00 24 */ stw r0, 0x24(r1) +/* 80315E34 00311A94 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80315E38 00311A98 7C 9F 23 78 */ mr r31, r4 +/* 80315E3C 00311A9C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80315E40 00311AA0 7C 7E 1B 78 */ mr r30, r3 +/* 80315E44 00311AA4 80 03 00 0C */ lwz r0, 0xc(r3) +/* 80315E48 00311AA8 28 00 00 01 */ cmplwi r0, 1 +/* 80315E4C 00311AAC 40 82 00 C4 */ bne lbl_80315F10 +/* 80315E50 00311AB0 80 A3 00 00 */ lwz r5, 0(r3) +/* 80315E54 00311AB4 38 00 00 00 */ li r0, 0 +/* 80315E58 00311AB8 38 85 00 01 */ addi r4, r5, 1 +/* 80315E5C 00311ABC 90 83 00 00 */ stw r4, 0(r3) +/* 80315E60 00311AC0 88 85 00 00 */ lbz r4, 0(r5) +/* 80315E64 00311AC4 7C 86 07 75 */ extsb. r6, r4 +/* 80315E68 00311AC8 98 81 00 10 */ stb r4, 0x10(r1) +/* 80315E6C 00311ACC 98 01 00 11 */ stb r0, 0x11(r1) +/* 80315E70 00311AD0 41 82 00 14 */ beq lbl_80315E84 +/* 80315E74 00311AD4 80 83 00 04 */ lwz r4, 4(r3) +/* 80315E78 00311AD8 80 03 00 00 */ lwz r0, 0(r3) +/* 80315E7C 00311ADC 7C 04 00 40 */ cmplw r4, r0 +/* 80315E80 00311AE0 40 80 00 0C */ bge lbl_80315E8C +lbl_80315E84: +/* 80315E84 00311AE4 38 60 00 00 */ li r3, 0 +/* 80315E88 00311AE8 48 00 02 48 */ b lbl_803160D0 +lbl_80315E8C: +/* 80315E8C 00311AEC 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 80315E90 00311AF0 7C C3 33 78 */ mr r3, r6 +/* 80315E94 00311AF4 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 80315E98 00311AF8 38 80 00 01 */ li r4, 1 +/* 80315E9C 00311AFC 81 85 00 30 */ lwz r12, 0x30(r5) +/* 80315EA0 00311B00 7D 89 03 A6 */ mtctr r12 +/* 80315EA4 00311B04 4E 80 04 21 */ bctrl +/* 80315EA8 00311B08 2C 03 00 00 */ cmpwi r3, 0 +/* 80315EAC 00311B0C 41 82 00 30 */ beq lbl_80315EDC +/* 80315EB0 00311B10 80 7E 00 00 */ lwz r3, 0(r30) +/* 80315EB4 00311B14 88 03 00 00 */ lbz r0, 0(r3) +/* 80315EB8 00311B18 38 63 00 01 */ addi r3, r3, 1 +/* 80315EBC 00311B1C 98 01 00 11 */ stb r0, 0x11(r1) +/* 80315EC0 00311B20 90 7E 00 00 */ stw r3, 0(r30) +/* 80315EC4 00311B24 88 61 00 10 */ lbz r3, 0x10(r1) +/* 80315EC8 00311B28 88 01 00 11 */ lbz r0, 0x11(r1) +/* 80315ECC 00311B2C 54 63 40 2E */ slwi r3, r3, 8 +/* 80315ED0 00311B30 7C 03 02 14 */ add r0, r3, r0 +/* 80315ED4 00311B34 B0 01 00 0C */ sth r0, 0xc(r1) +/* 80315ED8 00311B38 48 00 00 10 */ b lbl_80315EE8 +lbl_80315EDC: +/* 80315EDC 00311B3C 88 01 00 10 */ lbz r0, 0x10(r1) +/* 80315EE0 00311B40 7C 00 07 74 */ extsb r0, r0 +/* 80315EE4 00311B44 B0 01 00 0C */ sth r0, 0xc(r1) +lbl_80315EE8: +/* 80315EE8 00311B48 2C 1F 00 00 */ cmpwi r31, 0 +/* 80315EEC 00311B4C 41 82 00 EC */ beq lbl_80315FD8 +/* 80315EF0 00311B50 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 80315EF4 00311B54 38 61 00 10 */ addi r3, r1, 0x10 +/* 80315EF8 00311B58 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 80315EFC 00311B5C 38 81 00 0C */ addi r4, r1, 0xc +/* 80315F00 00311B60 81 85 00 24 */ lwz r12, 0x24(r5) +/* 80315F04 00311B64 7D 89 03 A6 */ mtctr r12 +/* 80315F08 00311B68 4E 80 04 21 */ bctrl +/* 80315F0C 00311B6C 48 00 00 CC */ b lbl_80315FD8 +lbl_80315F10: +/* 80315F10 00311B70 80 A3 00 00 */ lwz r5, 0(r3) +/* 80315F14 00311B74 38 00 00 00 */ li r0, 0 +/* 80315F18 00311B78 A0 A5 00 00 */ lhz r5, 0(r5) +/* 80315F1C 00311B7C 98 A1 00 10 */ stb r5, 0x10(r1) +/* 80315F20 00311B80 80 A3 00 00 */ lwz r5, 0(r3) +/* 80315F24 00311B84 A0 A5 00 00 */ lhz r5, 0(r5) +/* 80315F28 00311B88 7C A5 46 70 */ srawi r5, r5, 8 +/* 80315F2C 00311B8C 98 A1 00 11 */ stb r5, 0x11(r1) +/* 80315F30 00311B90 80 A3 00 00 */ lwz r5, 0(r3) +/* 80315F34 00311B94 38 A5 00 02 */ addi r5, r5, 2 +/* 80315F38 00311B98 90 A3 00 00 */ stw r5, 0(r3) +/* 80315F3C 00311B9C 88 C1 00 10 */ lbz r6, 0x10(r1) +/* 80315F40 00311BA0 98 01 00 12 */ stb r0, 0x12(r1) +/* 80315F44 00311BA4 7C C0 07 75 */ extsb. r0, r6 +/* 80315F48 00311BA8 40 82 00 10 */ bne lbl_80315F58 +/* 80315F4C 00311BAC 88 01 00 11 */ lbz r0, 0x11(r1) +/* 80315F50 00311BB0 7C 00 07 75 */ extsb. r0, r0 +/* 80315F54 00311BB4 41 82 00 14 */ beq lbl_80315F68 +lbl_80315F58: +/* 80315F58 00311BB8 80 A3 00 04 */ lwz r5, 4(r3) +/* 80315F5C 00311BBC 80 03 00 00 */ lwz r0, 0(r3) +/* 80315F60 00311BC0 7C 05 00 40 */ cmplw r5, r0 +/* 80315F64 00311BC4 40 80 00 0C */ bge lbl_80315F70 +lbl_80315F68: +/* 80315F68 00311BC8 38 60 00 00 */ li r3, 0 +/* 80315F6C 00311BCC 48 00 01 64 */ b lbl_803160D0 +lbl_80315F70: +/* 80315F70 00311BD0 88 01 00 11 */ lbz r0, 0x11(r1) +/* 80315F74 00311BD4 2C 04 00 00 */ cmpwi r4, 0 +/* 80315F78 00311BD8 54 00 40 2E */ slwi r0, r0, 8 +/* 80315F7C 00311BDC 7C 00 32 14 */ add r0, r0, r6 +/* 80315F80 00311BE0 B0 01 00 0C */ sth r0, 0xc(r1) +/* 80315F84 00311BE4 40 82 00 54 */ bne lbl_80315FD8 +/* 80315F88 00311BE8 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha +/* 80315F8C 00311BEC 38 61 00 0C */ addi r3, r1, 0xc +/* 80315F90 00311BF0 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l +/* 80315F94 00311BF4 38 81 00 0A */ addi r4, r1, 0xa +/* 80315F98 00311BF8 81 9E 00 28 */ lwz r12, 0x28(r30) +/* 80315F9C 00311BFC 7D 89 03 A6 */ mtctr r12 +/* 80315FA0 00311C00 4E 80 04 21 */ bctrl +/* 80315FA4 00311C04 A0 01 00 0A */ lhz r0, 0xa(r1) +/* 80315FA8 00311C08 38 80 00 01 */ li r4, 1 +/* 80315FAC 00311C0C 81 9E 00 30 */ lwz r12, 0x30(r30) +/* 80315FB0 00311C10 7C 03 46 70 */ srawi r3, r0, 8 +/* 80315FB4 00311C14 7D 89 03 A6 */ mtctr r12 +/* 80315FB8 00311C18 4E 80 04 21 */ bctrl +/* 80315FBC 00311C1C 2C 03 00 00 */ cmpwi r3, 0 +/* 80315FC0 00311C20 41 82 00 0C */ beq lbl_80315FCC +/* 80315FC4 00311C24 A0 01 00 0A */ lhz r0, 0xa(r1) +/* 80315FC8 00311C28 48 00 00 0C */ b lbl_80315FD4 +lbl_80315FCC: +/* 80315FCC 00311C2C 88 01 00 10 */ lbz r0, 0x10(r1) +/* 80315FD0 00311C30 7C 00 07 74 */ extsb r0, r0 +lbl_80315FD4: +/* 80315FD4 00311C34 B0 01 00 0C */ sth r0, 0xc(r1) +lbl_80315FD8: +/* 80315FD8 00311C38 A0 61 00 0C */ lhz r3, 0xc(r1) +/* 80315FDC 00311C3C 38 00 00 00 */ li r0, 0 +/* 80315FE0 00311C40 28 03 00 61 */ cmplwi r3, 0x61 +/* 80315FE4 00311C44 41 80 00 10 */ blt lbl_80315FF4 +/* 80315FE8 00311C48 28 03 00 7A */ cmplwi r3, 0x7a +/* 80315FEC 00311C4C 41 81 00 08 */ bgt lbl_80315FF4 +/* 80315FF0 00311C50 38 00 00 01 */ li r0, 1 +lbl_80315FF4: +/* 80315FF4 00311C54 2C 00 00 00 */ cmpwi r0, 0 +/* 80315FF8 00311C58 41 82 00 08 */ beq lbl_80316000 +/* 80315FFC 00311C5C 38 63 FF E0 */ addi r3, r3, -32 +lbl_80316000: +/* 80316000 00311C60 2C 1F 00 00 */ cmpwi r31, 0 +/* 80316004 00311C64 B0 61 00 0C */ sth r3, 0xc(r1) +/* 80316008 00311C68 41 82 00 40 */ beq lbl_80316048 +/* 8031600C 00311C6C 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 80316010 00311C70 28 03 FF 41 */ cmplwi r3, 0xff41 +/* 80316014 00311C74 41 80 00 1C */ blt lbl_80316030 +/* 80316018 00311C78 28 03 FF 5A */ cmplwi r3, 0xff5a +/* 8031601C 00311C7C 41 81 00 14 */ bgt lbl_80316030 +/* 80316020 00311C80 38 03 FF E0 */ addi r0, r3, -32 +/* 80316024 00311C84 38 60 00 01 */ li r3, 1 +/* 80316028 00311C88 B0 01 00 08 */ sth r0, 8(r1) +/* 8031602C 00311C8C 48 00 00 08 */ b lbl_80316034 +lbl_80316030: +/* 80316030 00311C90 38 60 00 00 */ li r3, 0 +lbl_80316034: +/* 80316034 00311C94 28 03 00 01 */ cmplwi r3, 1 +/* 80316038 00311C98 40 82 00 94 */ bne lbl_803160CC +/* 8031603C 00311C9C A0 01 00 08 */ lhz r0, 8(r1) +/* 80316040 00311CA0 B0 01 00 0C */ sth r0, 0xc(r1) +/* 80316044 00311CA4 48 00 00 88 */ b lbl_803160CC +lbl_80316048: +/* 80316048 00311CA8 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 8031604C 00311CAC 38 61 00 0C */ addi r3, r1, 0xc +/* 80316050 00311CB0 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 80316054 00311CB4 38 81 00 08 */ addi r4, r1, 8 +/* 80316058 00311CB8 81 85 00 24 */ lwz r12, 0x24(r5) +/* 8031605C 00311CBC 7D 89 03 A6 */ mtctr r12 +/* 80316060 00311CC0 4E 80 04 21 */ bctrl +/* 80316064 00311CC4 A0 61 00 08 */ lhz r3, 8(r1) +/* 80316068 00311CC8 28 03 FF 41 */ cmplwi r3, 0xff41 +/* 8031606C 00311CCC 41 80 00 1C */ blt lbl_80316088 +/* 80316070 00311CD0 28 03 FF 5A */ cmplwi r3, 0xff5a +/* 80316074 00311CD4 41 81 00 14 */ bgt lbl_80316088 +/* 80316078 00311CD8 38 03 FF E0 */ addi r0, r3, -32 +/* 8031607C 00311CDC 38 60 00 01 */ li r3, 1 +/* 80316080 00311CE0 B0 01 00 08 */ sth r0, 8(r1) +/* 80316084 00311CE4 48 00 00 08 */ b lbl_8031608C +lbl_80316088: +/* 80316088 00311CE8 38 60 00 00 */ li r3, 0 +lbl_8031608C: +/* 8031608C 00311CEC 28 03 00 01 */ cmplwi r3, 1 +/* 80316090 00311CF0 40 82 00 28 */ bne lbl_803160B8 +/* 80316094 00311CF4 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80316098 00311CF8 38 61 00 08 */ addi r3, r1, 8 +/* 8031609C 00311CFC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803160A0 00311D00 81 84 00 28 */ lwz r12, 0x28(r4) +/* 803160A4 00311D04 7C 64 1B 78 */ mr r4, r3 +/* 803160A8 00311D08 7D 89 03 A6 */ mtctr r12 +/* 803160AC 00311D0C 4E 80 04 21 */ bctrl +/* 803160B0 00311D10 38 60 00 01 */ li r3, 1 +/* 803160B4 00311D14 48 00 00 08 */ b lbl_803160BC +lbl_803160B8: +/* 803160B8 00311D18 38 60 00 00 */ li r3, 0 +lbl_803160BC: +/* 803160BC 00311D1C 28 03 00 01 */ cmplwi r3, 1 +/* 803160C0 00311D20 40 82 00 0C */ bne lbl_803160CC +/* 803160C4 00311D24 A0 01 00 08 */ lhz r0, 8(r1) +/* 803160C8 00311D28 B0 01 00 0C */ sth r0, 0xc(r1) +lbl_803160CC: +/* 803160CC 00311D2C A0 61 00 0C */ lhz r3, 0xc(r1) +lbl_803160D0: +/* 803160D0 00311D30 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803160D4 00311D34 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803160D8 00311D38 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803160DC 00311D3C 7C 08 03 A6 */ mtlr r0 +/* 803160E0 00311D40 38 21 00 20 */ addi r1, r1, 0x20 +/* 803160E4 00311D44 4E 80 00 20 */ blr + +.global func_803160E8 +func_803160E8: +/* 803160E8 00311D48 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 803160EC 00311D4C 7C 08 02 A6 */ mflr r0 +/* 803160F0 00311D50 90 01 00 54 */ stw r0, 0x54(r1) +/* 803160F4 00311D54 39 61 00 50 */ addi r11, r1, 0x50 +/* 803160F8 00311D58 4B EB 10 25 */ bl _savegpr_24 +/* 803160FC 00311D5C 3F A0 80 58 */ lis r29, lbl_8057F5C8@ha +/* 80316100 00311D60 7C 78 1B 78 */ mr r24, r3 +/* 80316104 00311D64 7C 99 23 78 */ mr r25, r4 +/* 80316108 00311D68 7C BA 2B 78 */ mr r26, r5 +/* 8031610C 00311D6C 7C DB 33 78 */ mr r27, r6 +/* 80316110 00311D70 7C FC 3B 78 */ mr r28, r7 +/* 80316114 00311D74 3B BD F5 C8 */ addi r29, r29, lbl_8057F5C8@l +/* 80316118 00311D78 48 00 04 98 */ b lbl_803165B0 +lbl_8031611C: +/* 8031611C 00311D7C 57 40 04 3E */ clrlwi r0, r26, 0x10 +/* 80316120 00311D80 2C 00 00 3F */ cmpwi r0, 0x3f +/* 80316124 00311D84 41 82 00 14 */ beq lbl_80316138 +/* 80316128 00311D88 40 80 03 40 */ bge lbl_80316468 +/* 8031612C 00311D8C 2C 00 00 2A */ cmpwi r0, 0x2a +/* 80316130 00311D90 41 82 00 18 */ beq lbl_80316148 +/* 80316134 00311D94 48 00 03 34 */ b lbl_80316468 +lbl_80316138: +/* 80316138 00311D98 57 00 04 3F */ clrlwi. r0, r24, 0x10 +/* 8031613C 00311D9C 40 82 03 44 */ bne lbl_80316480 +/* 80316140 00311DA0 38 60 00 00 */ li r3, 0 +/* 80316144 00311DA4 48 00 04 80 */ b lbl_803165C4 +lbl_80316148: +/* 80316148 00311DA8 7F 63 DB 78 */ mr r3, r27 +/* 8031614C 00311DAC 7F 84 E3 78 */ mr r4, r28 +/* 80316150 00311DB0 4B FF FC D9 */ bl func_80315E28 +/* 80316154 00311DB4 7C 7A 1B 78 */ mr r26, r3 +/* 80316158 00311DB8 48 00 00 14 */ b lbl_8031616C +lbl_8031615C: +/* 8031615C 00311DBC 7F 63 DB 78 */ mr r3, r27 +/* 80316160 00311DC0 7F 84 E3 78 */ mr r4, r28 +/* 80316164 00311DC4 4B FF FC C5 */ bl func_80315E28 +/* 80316168 00311DC8 7C 7A 1B 78 */ mr r26, r3 +lbl_8031616C: +/* 8031616C 00311DCC 57 40 04 3E */ clrlwi r0, r26, 0x10 +/* 80316170 00311DD0 28 00 00 2A */ cmplwi r0, 0x2a +/* 80316174 00311DD4 41 82 FF E8 */ beq lbl_8031615C +/* 80316178 00311DD8 28 00 00 3F */ cmplwi r0, 0x3f +/* 8031617C 00311DDC 41 82 FF E0 */ beq lbl_8031615C +/* 80316180 00311DE0 2C 00 00 00 */ cmpwi r0, 0 +/* 80316184 00311DE4 40 82 00 0C */ bne lbl_80316190 +/* 80316188 00311DE8 38 60 00 01 */ li r3, 1 +/* 8031618C 00311DEC 48 00 04 38 */ b lbl_803165C4 +lbl_80316190: +/* 80316190 00311DF0 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80316194 00311DF4 3B E3 F5 C8 */ addi r31, r3, lbl_8057F5C8@l +/* 80316198 00311DF8 48 00 02 C0 */ b lbl_80316458 +lbl_8031619C: +/* 8031619C 00311DFC 57 03 04 3E */ clrlwi r3, r24, 0x10 +/* 803161A0 00311E00 57 40 04 3E */ clrlwi r0, r26, 0x10 +/* 803161A4 00311E04 7C 03 00 40 */ cmplw r3, r0 +/* 803161A8 00311E08 40 82 01 90 */ bne lbl_80316338 +/* 803161AC 00311E0C 80 B9 00 00 */ lwz r5, 0(r25) +/* 803161B0 00311E10 80 19 00 04 */ lwz r0, 4(r25) +/* 803161B4 00311E14 90 A1 00 18 */ stw r5, 0x18(r1) +/* 803161B8 00311E18 90 01 00 1C */ stw r0, 0x1c(r1) +/* 803161BC 00311E1C 80 79 00 08 */ lwz r3, 8(r25) +/* 803161C0 00311E20 80 19 00 0C */ lwz r0, 0xc(r25) +/* 803161C4 00311E24 2C 03 00 00 */ cmpwi r3, 0 +/* 803161C8 00311E28 90 61 00 20 */ stw r3, 0x20(r1) +/* 803161CC 00311E2C 90 01 00 24 */ stw r0, 0x24(r1) +/* 803161D0 00311E30 80 7B 00 00 */ lwz r3, 0(r27) +/* 803161D4 00311E34 80 1B 00 04 */ lwz r0, 4(r27) +/* 803161D8 00311E38 90 61 00 08 */ stw r3, 8(r1) +/* 803161DC 00311E3C 90 01 00 0C */ stw r0, 0xc(r1) +/* 803161E0 00311E40 80 7B 00 08 */ lwz r3, 8(r27) +/* 803161E4 00311E44 80 1B 00 0C */ lwz r0, 0xc(r27) +/* 803161E8 00311E48 90 61 00 10 */ stw r3, 0x10(r1) +/* 803161EC 00311E4C 90 01 00 14 */ stw r0, 0x14(r1) +/* 803161F0 00311E50 41 82 00 80 */ beq lbl_80316270 +/* 803161F4 00311E54 A0 61 00 24 */ lhz r3, 0x24(r1) +/* 803161F8 00311E58 28 03 02 0A */ cmplwi r3, 0x20a +/* 803161FC 00311E5C 40 81 00 0C */ ble lbl_80316208 +/* 80316200 00311E60 3B 00 00 00 */ li r24, 0 +/* 80316204 00311E64 48 00 00 FC */ b lbl_80316300 +lbl_80316208: +/* 80316208 00311E68 7C 85 1A 2E */ lhzx r4, r5, r3 +/* 8031620C 00311E6C 38 63 00 02 */ addi r3, r3, 2 +/* 80316210 00311E70 38 00 00 00 */ li r0, 0 +/* 80316214 00311E74 28 04 00 61 */ cmplwi r4, 0x61 +/* 80316218 00311E78 B0 61 00 24 */ sth r3, 0x24(r1) +/* 8031621C 00311E7C 41 80 00 10 */ blt lbl_8031622C +/* 80316220 00311E80 28 04 00 7A */ cmplwi r4, 0x7a +/* 80316224 00311E84 41 81 00 08 */ bgt lbl_8031622C +/* 80316228 00311E88 38 00 00 01 */ li r0, 1 +lbl_8031622C: +/* 8031622C 00311E8C 2C 00 00 00 */ cmpwi r0, 0 +/* 80316230 00311E90 41 82 00 08 */ beq lbl_80316238 +/* 80316234 00311E94 38 84 FF E0 */ addi r4, r4, -32 +lbl_80316238: +/* 80316238 00311E98 54 98 04 3E */ clrlwi r24, r4, 0x10 +/* 8031623C 00311E9C 28 18 FF 41 */ cmplwi r24, 0xff41 +/* 80316240 00311EA0 41 80 00 1C */ blt lbl_8031625C +/* 80316244 00311EA4 28 18 FF 5A */ cmplwi r24, 0xff5a +/* 80316248 00311EA8 41 81 00 14 */ bgt lbl_8031625C +/* 8031624C 00311EAC 38 18 FF E0 */ addi r0, r24, -32 +/* 80316250 00311EB0 38 60 00 01 */ li r3, 1 +/* 80316254 00311EB4 54 1E 04 3E */ clrlwi r30, r0, 0x10 +/* 80316258 00311EB8 48 00 00 08 */ b lbl_80316260 +lbl_8031625C: +/* 8031625C 00311EBC 38 60 00 00 */ li r3, 0 +lbl_80316260: +/* 80316260 00311EC0 28 03 00 01 */ cmplwi r3, 1 +/* 80316264 00311EC4 40 82 00 9C */ bne lbl_80316300 +/* 80316268 00311EC8 7F D8 F3 78 */ mr r24, r30 +/* 8031626C 00311ECC 48 00 00 94 */ b lbl_80316300 +lbl_80316270: +/* 80316270 00311ED0 A0 61 00 24 */ lhz r3, 0x24(r1) +/* 80316274 00311ED4 28 03 00 0C */ cmplwi r3, 0xc +/* 80316278 00311ED8 41 80 00 0C */ blt lbl_80316284 +/* 8031627C 00311EDC 3B 00 00 00 */ li r24, 0 +/* 80316280 00311EE0 48 00 00 80 */ b lbl_80316300 +lbl_80316284: +/* 80316284 00311EE4 38 03 00 01 */ addi r0, r3, 1 +/* 80316288 00311EE8 81 9F 00 30 */ lwz r12, 0x30(r31) +/* 8031628C 00311EEC B0 01 00 24 */ sth r0, 0x24(r1) +/* 80316290 00311EF0 38 80 00 01 */ li r4, 1 +/* 80316294 00311EF4 7F 05 18 AE */ lbzx r24, r5, r3 +/* 80316298 00311EF8 7F 18 07 74 */ extsb r24, r24 +/* 8031629C 00311EFC 7F 03 C3 78 */ mr r3, r24 +/* 803162A0 00311F00 7D 89 03 A6 */ mtctr r12 +/* 803162A4 00311F04 4E 80 04 21 */ bctrl +/* 803162A8 00311F08 2C 03 00 00 */ cmpwi r3, 0 +/* 803162AC 00311F0C 41 82 00 24 */ beq lbl_803162D0 +/* 803162B0 00311F10 A0 81 00 24 */ lhz r4, 0x24(r1) +/* 803162B4 00311F14 57 00 44 2E */ rlwinm r0, r24, 8, 0x10, 0x17 +/* 803162B8 00311F18 80 A1 00 18 */ lwz r5, 0x18(r1) +/* 803162BC 00311F1C 38 64 00 01 */ addi r3, r4, 1 +/* 803162C0 00311F20 B0 61 00 24 */ sth r3, 0x24(r1) +/* 803162C4 00311F24 7C 65 20 AE */ lbzx r3, r5, r4 +/* 803162C8 00311F28 7C 00 1A 14 */ add r0, r0, r3 +/* 803162CC 00311F2C 54 18 04 3E */ clrlwi r24, r0, 0x10 +lbl_803162D0: +/* 803162D0 00311F30 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 803162D4 00311F34 38 60 00 00 */ li r3, 0 +/* 803162D8 00311F38 28 00 00 61 */ cmplwi r0, 0x61 +/* 803162DC 00311F3C 41 80 00 10 */ blt lbl_803162EC +/* 803162E0 00311F40 28 00 00 7A */ cmplwi r0, 0x7a +/* 803162E4 00311F44 41 81 00 08 */ bgt lbl_803162EC +/* 803162E8 00311F48 38 60 00 01 */ li r3, 1 +lbl_803162EC: +/* 803162EC 00311F4C 2C 03 00 00 */ cmpwi r3, 0 +/* 803162F0 00311F50 57 03 04 3E */ clrlwi r3, r24, 0x10 +/* 803162F4 00311F54 41 82 00 08 */ beq lbl_803162FC +/* 803162F8 00311F58 38 63 FF E0 */ addi r3, r3, -32 +lbl_803162FC: +/* 803162FC 00311F5C 54 78 04 3E */ clrlwi r24, r3, 0x10 +lbl_80316300: +/* 80316300 00311F60 7F 84 E3 78 */ mr r4, r28 +/* 80316304 00311F64 38 61 00 08 */ addi r3, r1, 8 +/* 80316308 00311F68 4B FF FB 21 */ bl func_80315E28 +/* 8031630C 00311F6C 7C 7A 1B 78 */ mr r26, r3 +/* 80316310 00311F70 7F 87 E3 78 */ mr r7, r28 +/* 80316314 00311F74 57 03 04 3E */ clrlwi r3, r24, 0x10 +/* 80316318 00311F78 38 81 00 18 */ addi r4, r1, 0x18 +/* 8031631C 00311F7C 57 45 04 3E */ clrlwi r5, r26, 0x10 +/* 80316320 00311F80 38 C1 00 08 */ addi r6, r1, 8 +/* 80316324 00311F84 4B FF FD C5 */ bl func_803160E8 +/* 80316328 00311F88 2C 03 00 00 */ cmpwi r3, 0 +/* 8031632C 00311F8C 41 82 00 0C */ beq lbl_80316338 +/* 80316330 00311F90 38 60 00 01 */ li r3, 1 +/* 80316334 00311F94 48 00 02 90 */ b lbl_803165C4 +lbl_80316338: +/* 80316338 00311F98 80 19 00 08 */ lwz r0, 8(r25) +/* 8031633C 00311F9C 2C 00 00 00 */ cmpwi r0, 0 +/* 80316340 00311FA0 41 82 00 84 */ beq lbl_803163C4 +/* 80316344 00311FA4 A0 B9 00 0C */ lhz r5, 0xc(r25) +/* 80316348 00311FA8 28 05 02 0A */ cmplwi r5, 0x20a +/* 8031634C 00311FAC 40 81 00 0C */ ble lbl_80316358 +/* 80316350 00311FB0 3B 00 00 00 */ li r24, 0 +/* 80316354 00311FB4 48 00 01 04 */ b lbl_80316458 +lbl_80316358: +/* 80316358 00311FB8 80 99 00 00 */ lwz r4, 0(r25) +/* 8031635C 00311FBC 38 65 00 02 */ addi r3, r5, 2 +/* 80316360 00311FC0 38 00 00 00 */ li r0, 0 +/* 80316364 00311FC4 7C 84 2A 2E */ lhzx r4, r4, r5 +/* 80316368 00311FC8 28 04 00 61 */ cmplwi r4, 0x61 +/* 8031636C 00311FCC B0 79 00 0C */ sth r3, 0xc(r25) +/* 80316370 00311FD0 41 80 00 10 */ blt lbl_80316380 +/* 80316374 00311FD4 28 04 00 7A */ cmplwi r4, 0x7a +/* 80316378 00311FD8 41 81 00 08 */ bgt lbl_80316380 +/* 8031637C 00311FDC 38 00 00 01 */ li r0, 1 +lbl_80316380: +/* 80316380 00311FE0 2C 00 00 00 */ cmpwi r0, 0 +/* 80316384 00311FE4 41 82 00 08 */ beq lbl_8031638C +/* 80316388 00311FE8 38 84 FF E0 */ addi r4, r4, -32 +lbl_8031638C: +/* 8031638C 00311FEC 54 98 04 3E */ clrlwi r24, r4, 0x10 +/* 80316390 00311FF0 28 18 FF 41 */ cmplwi r24, 0xff41 +/* 80316394 00311FF4 41 80 00 1C */ blt lbl_803163B0 +/* 80316398 00311FF8 28 18 FF 5A */ cmplwi r24, 0xff5a +/* 8031639C 00311FFC 41 81 00 14 */ bgt lbl_803163B0 +/* 803163A0 00312000 38 18 FF E0 */ addi r0, r24, -32 +/* 803163A4 00312004 38 60 00 01 */ li r3, 1 +/* 803163A8 00312008 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 803163AC 0031200C 48 00 00 08 */ b lbl_803163B4 +lbl_803163B0: +/* 803163B0 00312010 38 60 00 00 */ li r3, 0 +lbl_803163B4: +/* 803163B4 00312014 28 03 00 01 */ cmplwi r3, 1 +/* 803163B8 00312018 40 82 00 A0 */ bne lbl_80316458 +/* 803163BC 0031201C 7F B8 EB 78 */ mr r24, r29 +/* 803163C0 00312020 48 00 00 98 */ b lbl_80316458 +lbl_803163C4: +/* 803163C4 00312024 A0 B9 00 0C */ lhz r5, 0xc(r25) +/* 803163C8 00312028 28 05 00 0C */ cmplwi r5, 0xc +/* 803163CC 0031202C 41 80 00 0C */ blt lbl_803163D8 +/* 803163D0 00312030 3B 00 00 00 */ li r24, 0 +/* 803163D4 00312034 48 00 00 84 */ b lbl_80316458 +lbl_803163D8: +/* 803163D8 00312038 38 05 00 01 */ addi r0, r5, 1 +/* 803163DC 0031203C 80 79 00 00 */ lwz r3, 0(r25) +/* 803163E0 00312040 B0 19 00 0C */ sth r0, 0xc(r25) +/* 803163E4 00312044 38 80 00 01 */ li r4, 1 +/* 803163E8 00312048 7F 03 28 AE */ lbzx r24, r3, r5 +/* 803163EC 0031204C 81 9F 00 30 */ lwz r12, 0x30(r31) +/* 803163F0 00312050 7F 18 07 74 */ extsb r24, r24 +/* 803163F4 00312054 7F 03 C3 78 */ mr r3, r24 +/* 803163F8 00312058 7D 89 03 A6 */ mtctr r12 +/* 803163FC 0031205C 4E 80 04 21 */ bctrl +/* 80316400 00312060 2C 03 00 00 */ cmpwi r3, 0 +/* 80316404 00312064 41 82 00 24 */ beq lbl_80316428 +/* 80316408 00312068 A0 99 00 0C */ lhz r4, 0xc(r25) +/* 8031640C 0031206C 57 00 44 2E */ rlwinm r0, r24, 8, 0x10, 0x17 +/* 80316410 00312070 80 B9 00 00 */ lwz r5, 0(r25) +/* 80316414 00312074 38 64 00 01 */ addi r3, r4, 1 +/* 80316418 00312078 B0 79 00 0C */ sth r3, 0xc(r25) +/* 8031641C 0031207C 7C 65 20 AE */ lbzx r3, r5, r4 +/* 80316420 00312080 7C 00 1A 14 */ add r0, r0, r3 +/* 80316424 00312084 54 18 04 3E */ clrlwi r24, r0, 0x10 +lbl_80316428: +/* 80316428 00312088 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 8031642C 0031208C 38 60 00 00 */ li r3, 0 +/* 80316430 00312090 28 00 00 61 */ cmplwi r0, 0x61 +/* 80316434 00312094 41 80 00 10 */ blt lbl_80316444 +/* 80316438 00312098 28 00 00 7A */ cmplwi r0, 0x7a +/* 8031643C 0031209C 41 81 00 08 */ bgt lbl_80316444 +/* 80316440 003120A0 38 60 00 01 */ li r3, 1 +lbl_80316444: +/* 80316444 003120A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80316448 003120A8 57 03 04 3E */ clrlwi r3, r24, 0x10 +/* 8031644C 003120AC 41 82 00 08 */ beq lbl_80316454 +/* 80316450 003120B0 38 63 FF E0 */ addi r3, r3, -32 +lbl_80316454: +/* 80316454 003120B4 54 78 04 3E */ clrlwi r24, r3, 0x10 +lbl_80316458: +/* 80316458 003120B8 57 00 04 3F */ clrlwi. r0, r24, 0x10 +/* 8031645C 003120BC 40 82 FD 40 */ bne lbl_8031619C +/* 80316460 003120C0 38 60 00 00 */ li r3, 0 +/* 80316464 003120C4 48 00 01 60 */ b lbl_803165C4 +lbl_80316468: +/* 80316468 003120C8 57 03 04 3E */ clrlwi r3, r24, 0x10 +/* 8031646C 003120CC 57 40 04 3E */ clrlwi r0, r26, 0x10 +/* 80316470 003120D0 7C 03 00 40 */ cmplw r3, r0 +/* 80316474 003120D4 41 82 00 0C */ beq lbl_80316480 +/* 80316478 003120D8 38 60 00 00 */ li r3, 0 +/* 8031647C 003120DC 48 00 01 48 */ b lbl_803165C4 +lbl_80316480: +/* 80316480 003120E0 80 19 00 08 */ lwz r0, 8(r25) +/* 80316484 003120E4 2C 00 00 00 */ cmpwi r0, 0 +/* 80316488 003120E8 41 82 00 84 */ beq lbl_8031650C +/* 8031648C 003120EC A0 B9 00 0C */ lhz r5, 0xc(r25) +/* 80316490 003120F0 28 05 02 0A */ cmplwi r5, 0x20a +/* 80316494 003120F4 40 81 00 0C */ ble lbl_803164A0 +/* 80316498 003120F8 3B 00 00 00 */ li r24, 0 +/* 8031649C 003120FC 48 00 01 04 */ b lbl_803165A0 +lbl_803164A0: +/* 803164A0 00312100 80 99 00 00 */ lwz r4, 0(r25) +/* 803164A4 00312104 38 65 00 02 */ addi r3, r5, 2 +/* 803164A8 00312108 38 00 00 00 */ li r0, 0 +/* 803164AC 0031210C 7C 84 2A 2E */ lhzx r4, r4, r5 +/* 803164B0 00312110 28 04 00 61 */ cmplwi r4, 0x61 +/* 803164B4 00312114 B0 79 00 0C */ sth r3, 0xc(r25) +/* 803164B8 00312118 41 80 00 10 */ blt lbl_803164C8 +/* 803164BC 0031211C 28 04 00 7A */ cmplwi r4, 0x7a +/* 803164C0 00312120 41 81 00 08 */ bgt lbl_803164C8 +/* 803164C4 00312124 38 00 00 01 */ li r0, 1 +lbl_803164C8: +/* 803164C8 00312128 2C 00 00 00 */ cmpwi r0, 0 +/* 803164CC 0031212C 41 82 00 08 */ beq lbl_803164D4 +/* 803164D0 00312130 38 84 FF E0 */ addi r4, r4, -32 +lbl_803164D4: +/* 803164D4 00312134 54 98 04 3E */ clrlwi r24, r4, 0x10 +/* 803164D8 00312138 28 18 FF 41 */ cmplwi r24, 0xff41 +/* 803164DC 0031213C 41 80 00 1C */ blt lbl_803164F8 +/* 803164E0 00312140 28 18 FF 5A */ cmplwi r24, 0xff5a +/* 803164E4 00312144 41 81 00 14 */ bgt lbl_803164F8 +/* 803164E8 00312148 38 18 FF E0 */ addi r0, r24, -32 +/* 803164EC 0031214C 38 60 00 01 */ li r3, 1 +/* 803164F0 00312150 54 1F 04 3E */ clrlwi r31, r0, 0x10 +/* 803164F4 00312154 48 00 00 08 */ b lbl_803164FC +lbl_803164F8: +/* 803164F8 00312158 38 60 00 00 */ li r3, 0 +lbl_803164FC: +/* 803164FC 0031215C 28 03 00 01 */ cmplwi r3, 1 +/* 80316500 00312160 40 82 00 A0 */ bne lbl_803165A0 +/* 80316504 00312164 7F F8 FB 78 */ mr r24, r31 +/* 80316508 00312168 48 00 00 98 */ b lbl_803165A0 +lbl_8031650C: +/* 8031650C 0031216C A0 B9 00 0C */ lhz r5, 0xc(r25) +/* 80316510 00312170 28 05 00 0C */ cmplwi r5, 0xc +/* 80316514 00312174 41 80 00 0C */ blt lbl_80316520 +/* 80316518 00312178 3B 00 00 00 */ li r24, 0 +/* 8031651C 0031217C 48 00 00 84 */ b lbl_803165A0 +lbl_80316520: +/* 80316520 00312180 38 05 00 01 */ addi r0, r5, 1 +/* 80316524 00312184 80 79 00 00 */ lwz r3, 0(r25) +/* 80316528 00312188 B0 19 00 0C */ sth r0, 0xc(r25) +/* 8031652C 0031218C 38 80 00 01 */ li r4, 1 +/* 80316530 00312190 7F 03 28 AE */ lbzx r24, r3, r5 +/* 80316534 00312194 81 9D 00 30 */ lwz r12, 0x30(r29) +/* 80316538 00312198 7F 18 07 74 */ extsb r24, r24 +/* 8031653C 0031219C 7F 03 C3 78 */ mr r3, r24 +/* 80316540 003121A0 7D 89 03 A6 */ mtctr r12 +/* 80316544 003121A4 4E 80 04 21 */ bctrl +/* 80316548 003121A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031654C 003121AC 41 82 00 24 */ beq lbl_80316570 +/* 80316550 003121B0 A0 99 00 0C */ lhz r4, 0xc(r25) +/* 80316554 003121B4 57 00 44 2E */ rlwinm r0, r24, 8, 0x10, 0x17 +/* 80316558 003121B8 80 B9 00 00 */ lwz r5, 0(r25) +/* 8031655C 003121BC 38 64 00 01 */ addi r3, r4, 1 +/* 80316560 003121C0 B0 79 00 0C */ sth r3, 0xc(r25) +/* 80316564 003121C4 7C 65 20 AE */ lbzx r3, r5, r4 +/* 80316568 003121C8 7C 00 1A 14 */ add r0, r0, r3 +/* 8031656C 003121CC 54 18 04 3E */ clrlwi r24, r0, 0x10 +lbl_80316570: +/* 80316570 003121D0 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 80316574 003121D4 38 60 00 00 */ li r3, 0 +/* 80316578 003121D8 28 00 00 61 */ cmplwi r0, 0x61 +/* 8031657C 003121DC 41 80 00 10 */ blt lbl_8031658C +/* 80316580 003121E0 28 00 00 7A */ cmplwi r0, 0x7a +/* 80316584 003121E4 41 81 00 08 */ bgt lbl_8031658C +/* 80316588 003121E8 38 60 00 01 */ li r3, 1 +lbl_8031658C: +/* 8031658C 003121EC 2C 03 00 00 */ cmpwi r3, 0 +/* 80316590 003121F0 57 03 04 3E */ clrlwi r3, r24, 0x10 +/* 80316594 003121F4 41 82 00 08 */ beq lbl_8031659C +/* 80316598 003121F8 38 63 FF E0 */ addi r3, r3, -32 +lbl_8031659C: +/* 8031659C 003121FC 54 78 04 3E */ clrlwi r24, r3, 0x10 +lbl_803165A0: +/* 803165A0 00312200 7F 63 DB 78 */ mr r3, r27 +/* 803165A4 00312204 7F 84 E3 78 */ mr r4, r28 +/* 803165A8 00312208 4B FF F8 81 */ bl func_80315E28 +/* 803165AC 0031220C 7C 7A 1B 78 */ mr r26, r3 +lbl_803165B0: +/* 803165B0 00312210 57 40 04 3F */ clrlwi. r0, r26, 0x10 +/* 803165B4 00312214 40 82 FB 68 */ bne lbl_8031611C +/* 803165B8 00312218 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 803165BC 0031221C 7C 00 00 34 */ cntlzw r0, r0 +/* 803165C0 00312220 54 03 D9 7E */ srwi r3, r0, 5 +lbl_803165C4: +/* 803165C4 00312224 39 61 00 50 */ addi r11, r1, 0x50 +/* 803165C8 00312228 4B EB 0B A1 */ bl _restgpr_24 +/* 803165CC 0031222C 80 01 00 54 */ lwz r0, 0x54(r1) +/* 803165D0 00312230 7C 08 03 A6 */ mtlr r0 +/* 803165D4 00312234 38 21 00 50 */ addi r1, r1, 0x50 +/* 803165D8 00312238 4E 80 00 20 */ blr + +.global func_803165DC +func_803165DC: +/* 803165DC 0031223C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 803165E0 00312240 7C 08 02 A6 */ mflr r0 +/* 803165E4 00312244 90 01 00 44 */ stw r0, 0x44(r1) +/* 803165E8 00312248 39 61 00 40 */ addi r11, r1, 0x40 +/* 803165EC 0031224C 4B EB 0B 2D */ bl _savegpr_23 +/* 803165F0 00312250 3C C0 80 58 */ lis r6, lbl_8057F5C8@ha +/* 803165F4 00312254 7C 7A 1B 78 */ mr r26, r3 +/* 803165F8 00312258 7C 9B 23 78 */ mr r27, r4 +/* 803165FC 0031225C 7C BC 2B 78 */ mr r28, r5 +/* 80316600 00312260 3B 06 F5 C8 */ addi r24, r6, lbl_8057F5C8@l +/* 80316604 00312264 3B 20 00 01 */ li r25, 1 +/* 80316608 00312268 48 00 03 04 */ b lbl_8031690C +lbl_8031660C: +/* 8031660C 0031226C 81 98 00 2C */ lwz r12, 0x2c(r24) +/* 80316610 00312270 7F 63 DB 78 */ mr r3, r27 +/* 80316614 00312274 7D 89 03 A6 */ mtctr r12 +/* 80316618 00312278 4E 80 04 21 */ bctrl +/* 8031661C 0031227C 81 98 00 2C */ lwz r12, 0x2c(r24) +/* 80316620 00312280 7C 77 1B 78 */ mr r23, r3 +/* 80316624 00312284 7F 43 D3 78 */ mr r3, r26 +/* 80316628 00312288 7D 89 03 A6 */ mtctr r12 +/* 8031662C 0031228C 4E 80 04 21 */ bctrl +/* 80316630 00312290 2C 17 00 01 */ cmpwi r23, 1 +/* 80316634 00312294 7C 7F 1B 78 */ mr r31, r3 +/* 80316638 00312298 40 82 00 14 */ bne lbl_8031664C +/* 8031663C 0031229C 88 7B 00 00 */ lbz r3, 0(r27) +/* 80316640 003122A0 7C 63 07 74 */ extsb r3, r3 +/* 80316644 003122A4 4B FE E8 51 */ bl VFipf_toupper +/* 80316648 003122A8 48 00 00 10 */ b lbl_80316658 +lbl_8031664C: +/* 8031664C 003122AC 7F 63 DB 78 */ mr r3, r27 +/* 80316650 003122B0 4B FE EB 61 */ bl VFiPF_GET_LE_U16 +/* 80316654 003122B4 54 63 04 3E */ clrlwi r3, r3, 0x10 +lbl_80316658: +/* 80316658 003122B8 2C 1F 00 01 */ cmpwi r31, 1 +/* 8031665C 003122BC 54 7E 04 3E */ clrlwi r30, r3, 0x10 +/* 80316660 003122C0 40 82 00 14 */ bne lbl_80316674 +/* 80316664 003122C4 88 7A 00 00 */ lbz r3, 0(r26) +/* 80316668 003122C8 7C 63 07 74 */ extsb r3, r3 +/* 8031666C 003122CC 4B FE E8 29 */ bl VFipf_toupper +/* 80316670 003122D0 48 00 00 10 */ b lbl_80316680 +lbl_80316674: +/* 80316674 003122D4 7F 43 D3 78 */ mr r3, r26 +/* 80316678 003122D8 4B FE EB 39 */ bl VFiPF_GET_LE_U16 +/* 8031667C 003122DC 54 63 04 3E */ clrlwi r3, r3, 0x10 +lbl_80316680: +/* 80316680 003122E0 2C 17 00 02 */ cmpwi r23, 2 +/* 80316684 003122E4 54 7D 04 3E */ clrlwi r29, r3, 0x10 +/* 80316688 003122E8 40 82 00 74 */ bne lbl_803166FC +/* 8031668C 003122EC 81 98 00 24 */ lwz r12, 0x24(r24) +/* 80316690 003122F0 7F 63 DB 78 */ mr r3, r27 +/* 80316694 003122F4 38 81 00 0A */ addi r4, r1, 0xa +/* 80316698 003122F8 7D 89 03 A6 */ mtctr r12 +/* 8031669C 003122FC 4E 80 04 21 */ bctrl +/* 803166A0 00312300 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 803166A4 00312304 28 03 FF 41 */ cmplwi r3, 0xff41 +/* 803166A8 00312308 41 80 00 1C */ blt lbl_803166C4 +/* 803166AC 0031230C 28 03 FF 5A */ cmplwi r3, 0xff5a +/* 803166B0 00312310 41 81 00 14 */ bgt lbl_803166C4 +/* 803166B4 00312314 38 03 FF E0 */ addi r0, r3, -32 +/* 803166B8 00312318 38 60 00 01 */ li r3, 1 +/* 803166BC 0031231C B0 01 00 0A */ sth r0, 0xa(r1) +/* 803166C0 00312320 48 00 00 08 */ b lbl_803166C8 +lbl_803166C4: +/* 803166C4 00312324 38 60 00 00 */ li r3, 0 +lbl_803166C8: +/* 803166C8 00312328 28 03 00 01 */ cmplwi r3, 1 +/* 803166CC 0031232C 40 82 00 20 */ bne lbl_803166EC +/* 803166D0 00312330 81 98 00 28 */ lwz r12, 0x28(r24) +/* 803166D4 00312334 38 61 00 0A */ addi r3, r1, 0xa +/* 803166D8 00312338 7C 64 1B 78 */ mr r4, r3 +/* 803166DC 0031233C 7D 89 03 A6 */ mtctr r12 +/* 803166E0 00312340 4E 80 04 21 */ bctrl +/* 803166E4 00312344 38 60 00 01 */ li r3, 1 +/* 803166E8 00312348 48 00 00 08 */ b lbl_803166F0 +lbl_803166EC: +/* 803166EC 0031234C 38 60 00 00 */ li r3, 0 +lbl_803166F0: +/* 803166F0 00312350 28 03 00 01 */ cmplwi r3, 1 +/* 803166F4 00312354 40 82 00 08 */ bne lbl_803166FC +/* 803166F8 00312358 A3 C1 00 0A */ lhz r30, 0xa(r1) +lbl_803166FC: +/* 803166FC 0031235C 2C 1F 00 02 */ cmpwi r31, 2 +/* 80316700 00312360 40 82 00 74 */ bne lbl_80316774 +/* 80316704 00312364 81 98 00 24 */ lwz r12, 0x24(r24) +/* 80316708 00312368 7F 43 D3 78 */ mr r3, r26 +/* 8031670C 0031236C 38 81 00 08 */ addi r4, r1, 8 +/* 80316710 00312370 7D 89 03 A6 */ mtctr r12 +/* 80316714 00312374 4E 80 04 21 */ bctrl +/* 80316718 00312378 A0 61 00 08 */ lhz r3, 8(r1) +/* 8031671C 0031237C 28 03 FF 41 */ cmplwi r3, 0xff41 +/* 80316720 00312380 41 80 00 1C */ blt lbl_8031673C +/* 80316724 00312384 28 03 FF 5A */ cmplwi r3, 0xff5a +/* 80316728 00312388 41 81 00 14 */ bgt lbl_8031673C +/* 8031672C 0031238C 38 03 FF E0 */ addi r0, r3, -32 +/* 80316730 00312390 38 60 00 01 */ li r3, 1 +/* 80316734 00312394 B0 01 00 08 */ sth r0, 8(r1) +/* 80316738 00312398 48 00 00 08 */ b lbl_80316740 +lbl_8031673C: +/* 8031673C 0031239C 38 60 00 00 */ li r3, 0 +lbl_80316740: +/* 80316740 003123A0 28 03 00 01 */ cmplwi r3, 1 +/* 80316744 003123A4 40 82 00 20 */ bne lbl_80316764 +/* 80316748 003123A8 81 98 00 28 */ lwz r12, 0x28(r24) +/* 8031674C 003123AC 38 61 00 08 */ addi r3, r1, 8 +/* 80316750 003123B0 7C 64 1B 78 */ mr r4, r3 +/* 80316754 003123B4 7D 89 03 A6 */ mtctr r12 +/* 80316758 003123B8 4E 80 04 21 */ bctrl +/* 8031675C 003123BC 38 60 00 01 */ li r3, 1 +/* 80316760 003123C0 48 00 00 08 */ b lbl_80316768 +lbl_80316764: +/* 80316764 003123C4 38 60 00 00 */ li r3, 0 +lbl_80316768: +/* 80316768 003123C8 28 03 00 01 */ cmplwi r3, 1 +/* 8031676C 003123CC 40 82 00 08 */ bne lbl_80316774 +/* 80316770 003123D0 A3 A1 00 08 */ lhz r29, 8(r1) +lbl_80316774: +/* 80316774 003123D4 2C 1E 00 3F */ cmpwi r30, 0x3f +/* 80316778 003123D8 7F 7B BA 14 */ add r27, r27, r23 +/* 8031677C 003123DC 41 82 00 14 */ beq lbl_80316790 +/* 80316780 003123E0 40 80 01 78 */ bge lbl_803168F8 +/* 80316784 003123E4 2C 1E 00 2A */ cmpwi r30, 0x2a +/* 80316788 003123E8 41 82 00 18 */ beq lbl_803167A0 +/* 8031678C 003123EC 48 00 01 6C */ b lbl_803168F8 +lbl_80316790: +/* 80316790 003123F0 2C 1D 00 00 */ cmpwi r29, 0 +/* 80316794 003123F4 40 82 01 74 */ bne lbl_80316908 +/* 80316798 003123F8 38 60 00 01 */ li r3, 1 +/* 8031679C 003123FC 48 00 01 90 */ b lbl_8031692C +lbl_803167A0: +/* 803167A0 00312400 81 98 00 2C */ lwz r12, 0x2c(r24) +/* 803167A4 00312404 7F 63 DB 78 */ mr r3, r27 +/* 803167A8 00312408 7D 89 03 A6 */ mtctr r12 +/* 803167AC 0031240C 4E 80 04 21 */ bctrl +/* 803167B0 00312410 2C 03 00 01 */ cmpwi r3, 1 +/* 803167B4 00312414 7C 77 1B 78 */ mr r23, r3 +/* 803167B8 00312418 41 82 00 14 */ beq lbl_803167CC +/* 803167BC 0031241C 7F 63 DB 78 */ mr r3, r27 +/* 803167C0 00312420 4B FE E9 F1 */ bl VFiPF_GET_LE_U16 +/* 803167C4 00312424 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 803167C8 00312428 48 00 00 10 */ b lbl_803167D8 +lbl_803167CC: +/* 803167CC 0031242C 88 7B 00 00 */ lbz r3, 0(r27) +/* 803167D0 00312430 7C 63 07 74 */ extsb r3, r3 +/* 803167D4 00312434 4B FE E6 C1 */ bl VFipf_toupper +lbl_803167D8: +/* 803167D8 00312438 54 7E 04 3E */ clrlwi r30, r3, 0x10 +/* 803167DC 0031243C 7F 7B BA 14 */ add r27, r27, r23 +/* 803167E0 00312440 28 1E 00 3F */ cmplwi r30, 0x3f +/* 803167E4 00312444 40 82 00 54 */ bne lbl_80316838 +/* 803167E8 00312448 2C 1D 00 00 */ cmpwi r29, 0 +/* 803167EC 0031244C 40 82 00 0C */ bne lbl_803167F8 +/* 803167F0 00312450 38 60 00 01 */ li r3, 1 +/* 803167F4 00312454 48 00 01 38 */ b lbl_8031692C +lbl_803167F8: +/* 803167F8 00312458 81 98 00 2C */ lwz r12, 0x2c(r24) +/* 803167FC 0031245C 7F 5A FA 14 */ add r26, r26, r31 +/* 80316800 00312460 7F 43 D3 78 */ mr r3, r26 +/* 80316804 00312464 7D 89 03 A6 */ mtctr r12 +/* 80316808 00312468 4E 80 04 21 */ bctrl +/* 8031680C 0031246C 2C 03 00 01 */ cmpwi r3, 1 +/* 80316810 00312470 7C 7F 1B 78 */ mr r31, r3 +/* 80316814 00312474 40 82 00 14 */ bne lbl_80316828 +/* 80316818 00312478 88 7A 00 00 */ lbz r3, 0(r26) +/* 8031681C 0031247C 7C 63 07 74 */ extsb r3, r3 +/* 80316820 00312480 4B FE E6 75 */ bl VFipf_toupper +/* 80316824 00312484 48 00 00 10 */ b lbl_80316834 +lbl_80316828: +/* 80316828 00312488 7F 43 D3 78 */ mr r3, r26 +/* 8031682C 0031248C 4B FE E9 85 */ bl VFiPF_GET_LE_U16 +/* 80316830 00312490 54 63 04 3E */ clrlwi r3, r3, 0x10 +lbl_80316834: +/* 80316834 00312494 54 7D 04 3E */ clrlwi r29, r3, 0x10 +lbl_80316838: +/* 80316838 00312498 28 1E 00 3F */ cmplwi r30, 0x3f +/* 8031683C 0031249C 41 82 FF 64 */ beq lbl_803167A0 +/* 80316840 003124A0 28 1E 00 2A */ cmplwi r30, 0x2a +/* 80316844 003124A4 41 82 FF 5C */ beq lbl_803167A0 +/* 80316848 003124A8 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031684C 003124AC 40 82 00 88 */ bne lbl_803168D4 +/* 80316850 003124B0 38 60 00 00 */ li r3, 0 +/* 80316854 003124B4 48 00 00 D8 */ b lbl_8031692C +/* 80316858 003124B8 48 00 00 7C */ b lbl_803168D4 +lbl_8031685C: +/* 8031685C 003124BC 7C 1D F0 40 */ cmplw r29, r30 +/* 80316860 003124C0 7F 5A FA 14 */ add r26, r26, r31 +/* 80316864 003124C4 40 82 00 34 */ bne lbl_80316898 +/* 80316868 003124C8 7F 43 D3 78 */ mr r3, r26 +/* 8031686C 003124CC 7F 64 DB 78 */ mr r4, r27 +/* 80316870 003124D0 7F 85 E3 78 */ mr r5, r28 +/* 80316874 003124D4 4B FF FD 69 */ bl func_803165DC +/* 80316878 003124D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031687C 003124DC 40 82 00 0C */ bne lbl_80316888 +/* 80316880 003124E0 38 60 00 00 */ li r3, 0 +/* 80316884 003124E4 48 00 00 A8 */ b lbl_8031692C +lbl_80316888: +/* 80316888 003124E8 80 1C 00 00 */ lwz r0, 0(r28) +/* 8031688C 003124EC 2C 00 00 00 */ cmpwi r0, 0 +/* 80316890 003124F0 41 82 00 08 */ beq lbl_80316898 +/* 80316894 003124F4 48 00 00 98 */ b lbl_8031692C +lbl_80316898: +/* 80316898 003124F8 81 98 00 2C */ lwz r12, 0x2c(r24) +/* 8031689C 003124FC 7F 43 D3 78 */ mr r3, r26 +/* 803168A0 00312500 7D 89 03 A6 */ mtctr r12 +/* 803168A4 00312504 4E 80 04 21 */ bctrl +/* 803168A8 00312508 2C 03 00 01 */ cmpwi r3, 1 +/* 803168AC 0031250C 7C 7F 1B 78 */ mr r31, r3 +/* 803168B0 00312510 40 82 00 14 */ bne lbl_803168C4 +/* 803168B4 00312514 88 7A 00 00 */ lbz r3, 0(r26) +/* 803168B8 00312518 7C 63 07 74 */ extsb r3, r3 +/* 803168BC 0031251C 4B FE E5 D9 */ bl VFipf_toupper +/* 803168C0 00312520 48 00 00 10 */ b lbl_803168D0 +lbl_803168C4: +/* 803168C4 00312524 7F 43 D3 78 */ mr r3, r26 +/* 803168C8 00312528 4B FE E8 E9 */ bl VFiPF_GET_LE_U16 +/* 803168CC 0031252C 54 63 04 3E */ clrlwi r3, r3, 0x10 +lbl_803168D0: +/* 803168D0 00312530 54 7D 04 3E */ clrlwi r29, r3, 0x10 +lbl_803168D4: +/* 803168D4 00312534 2C 1D 00 00 */ cmpwi r29, 0 +/* 803168D8 00312538 40 82 FF 84 */ bne lbl_8031685C +/* 803168DC 0031253C 88 1A 00 00 */ lbz r0, 0(r26) +/* 803168E0 00312540 7C 00 07 75 */ extsb. r0, r0 +/* 803168E4 00312544 41 82 00 10 */ beq lbl_803168F4 +/* 803168E8 00312548 88 1B 00 00 */ lbz r0, 0(r27) +/* 803168EC 0031254C 7C 00 07 75 */ extsb. r0, r0 +/* 803168F0 00312550 40 82 00 08 */ bne lbl_803168F8 +lbl_803168F4: +/* 803168F4 00312554 93 3C 00 00 */ stw r25, 0(r28) +lbl_803168F8: +/* 803168F8 00312558 7C 1D F0 40 */ cmplw r29, r30 +/* 803168FC 0031255C 41 82 00 0C */ beq lbl_80316908 +/* 80316900 00312560 38 60 00 01 */ li r3, 1 +/* 80316904 00312564 48 00 00 28 */ b lbl_8031692C +lbl_80316908: +/* 80316908 00312568 7F 5A FA 14 */ add r26, r26, r31 +lbl_8031690C: +/* 8031690C 0031256C 88 1B 00 00 */ lbz r0, 0(r27) +/* 80316910 00312570 7C 00 07 75 */ extsb. r0, r0 +/* 80316914 00312574 40 82 FC F8 */ bne lbl_8031660C +/* 80316918 00312578 88 1A 00 00 */ lbz r0, 0(r26) +/* 8031691C 0031257C 7C 03 07 74 */ extsb r3, r0 +/* 80316920 00312580 7C 03 00 D0 */ neg r0, r3 +/* 80316924 00312584 7C 00 1B 78 */ or r0, r0, r3 +/* 80316928 00312588 54 03 0F FE */ srwi r3, r0, 0x1f +lbl_8031692C: +/* 8031692C 0031258C 39 61 00 40 */ addi r11, r1, 0x40 +/* 80316930 00312590 4B EB 08 35 */ bl _restgpr_23 +/* 80316934 00312594 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80316938 00312598 7C 08 03 A6 */ mtlr r0 +/* 8031693C 0031259C 38 21 00 40 */ addi r1, r1, 0x40 +/* 80316940 003125A0 4E 80 00 20 */ blr + +.global func_80316944 +func_80316944: +/* 80316944 003125A4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80316948 003125A8 7C 08 02 A6 */ mflr r0 +/* 8031694C 003125AC 38 A0 00 01 */ li r5, 1 +/* 80316950 003125B0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80316954 003125B4 48 00 05 D9 */ bl func_80316F2C +/* 80316958 003125B8 7C 60 00 34 */ cntlzw r0, r3 +/* 8031695C 003125BC 54 03 D9 7E */ srwi r3, r0, 5 +/* 80316960 003125C0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80316964 003125C4 7C 08 03 A6 */ mtlr r0 +/* 80316968 003125C8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031696C 003125CC 4E 80 00 20 */ blr + +.global func_80316970 +func_80316970: +/* 80316970 003125D0 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80316974 003125D4 7C 08 02 A6 */ mflr r0 +/* 80316978 003125D8 90 01 00 44 */ stw r0, 0x44(r1) +/* 8031697C 003125DC 39 61 00 40 */ addi r11, r1, 0x40 +/* 80316980 003125E0 4B EB 07 A9 */ bl _savegpr_27 +/* 80316984 003125E4 38 00 00 00 */ li r0, 0 +/* 80316988 003125E8 7C 9C 23 78 */ mr r28, r4 +/* 8031698C 003125EC 90 01 00 08 */ stw r0, 8(r1) +/* 80316990 003125F0 7C 7B 1B 78 */ mr r27, r3 +/* 80316994 003125F4 7C BD 2B 78 */ mr r29, r5 +/* 80316998 003125F8 7F 83 E3 78 */ mr r3, r28 +/* 8031699C 003125FC 3B E1 00 0C */ addi r31, r1, 0xc +/* 803169A0 00312600 38 80 00 03 */ li r4, 3 +/* 803169A4 00312604 4B FE E9 6D */ bl VFiPFSTR_GetStrPos +/* 803169A8 00312608 7C 7E 1B 78 */ mr r30, r3 +/* 803169AC 0031260C 7F E3 FB 78 */ mr r3, r31 +/* 803169B0 00312610 7F 64 DB 78 */ mr r4, r27 +/* 803169B4 00312614 4B FE E7 39 */ bl VFipf_strcpy +/* 803169B8 00312618 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 803169BC 0031261C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 803169C0 00312620 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 803169C4 00312624 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 803169C8 00312628 28 00 00 02 */ cmplwi r0, 2 +/* 803169CC 0031262C 40 82 00 64 */ bne lbl_80316A30 +/* 803169D0 00312630 7F 83 E3 78 */ mr r3, r28 +/* 803169D4 00312634 4B FE E9 0D */ bl VFiPFSTR_GetCodeMode +/* 803169D8 00312638 28 03 00 02 */ cmplwi r3, 2 +/* 803169DC 0031263C 40 82 00 54 */ bne lbl_80316A30 +/* 803169E0 00312640 7F E3 FB 78 */ mr r3, r31 +/* 803169E4 00312644 38 8D 8D 00 */ addi r4, r13, lbl_8063DFC0-_SDA_BASE_ +/* 803169E8 00312648 4B FE E7 29 */ bl VFipf_strcmp +/* 803169EC 0031264C 2C 03 00 00 */ cmpwi r3, 0 +/* 803169F0 00312650 41 82 00 40 */ beq lbl_80316A30 +/* 803169F4 00312654 7F E3 FB 78 */ mr r3, r31 +/* 803169F8 00312658 38 8D 8D 04 */ addi r4, r13, lbl_8063DFC4-_SDA_BASE_ +/* 803169FC 0031265C 4B FE E7 15 */ bl VFipf_strcmp +/* 80316A00 00312660 2C 03 00 00 */ cmpwi r3, 0 +/* 80316A04 00312664 41 82 00 2C */ beq lbl_80316A30 +/* 80316A08 00312668 7F 83 E3 78 */ mr r3, r28 +/* 80316A0C 0031266C 38 80 00 03 */ li r4, 3 +/* 80316A10 00312670 38 A0 00 01 */ li r5, 1 +/* 80316A14 00312674 48 00 1A 21 */ bl func_80318434 +/* 80316A18 00312678 2C 03 00 00 */ cmpwi r3, 0 +/* 80316A1C 0031267C 40 82 00 14 */ bne lbl_80316A30 +/* 80316A20 00312680 2C 1D 00 00 */ cmpwi r29, 0 +/* 80316A24 00312684 40 82 00 0C */ bne lbl_80316A30 +/* 80316A28 00312688 38 60 00 01 */ li r3, 1 +/* 80316A2C 0031268C 48 00 00 88 */ b lbl_80316AB4 +lbl_80316A30: +/* 80316A30 00312690 7F C3 F3 78 */ mr r3, r30 +/* 80316A34 00312694 38 8D 8D 08 */ addi r4, r13, lbl_8063DFC8-_SDA_BASE_ +/* 80316A38 00312698 4B FE E6 D9 */ bl VFipf_strcmp +/* 80316A3C 0031269C 2C 03 00 00 */ cmpwi r3, 0 +/* 80316A40 003126A0 40 82 00 3C */ bne lbl_80316A7C +/* 80316A44 003126A4 48 00 00 08 */ b lbl_80316A4C +lbl_80316A48: +/* 80316A48 003126A8 3B FF 00 01 */ addi r31, r31, 1 +lbl_80316A4C: +/* 80316A4C 003126AC 88 7F 00 00 */ lbz r3, 0(r31) +/* 80316A50 003126B0 7C 60 07 75 */ extsb. r0, r3 +/* 80316A54 003126B4 41 82 00 0C */ beq lbl_80316A60 +/* 80316A58 003126B8 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80316A5C 003126BC 40 82 FF EC */ bne lbl_80316A48 +lbl_80316A60: +/* 80316A60 003126C0 7C 60 07 75 */ extsb. r0, r3 +/* 80316A64 003126C4 40 82 00 40 */ bne lbl_80316AA4 +/* 80316A68 003126C8 38 60 00 2E */ li r3, 0x2e +/* 80316A6C 003126CC 38 00 00 00 */ li r0, 0 +/* 80316A70 003126D0 98 7F 00 00 */ stb r3, 0(r31) +/* 80316A74 003126D4 98 1F 00 01 */ stb r0, 1(r31) +/* 80316A78 003126D8 48 00 00 2C */ b lbl_80316AA4 +lbl_80316A7C: +/* 80316A7C 003126DC 88 1E 00 00 */ lbz r0, 0(r30) +/* 80316A80 003126E0 7C 00 07 75 */ extsb. r0, r0 +/* 80316A84 003126E4 40 82 00 0C */ bne lbl_80316A90 +/* 80316A88 003126E8 38 60 00 01 */ li r3, 1 +/* 80316A8C 003126EC 48 00 00 28 */ b lbl_80316AB4 +lbl_80316A90: +/* 80316A90 003126F0 88 01 00 0C */ lbz r0, 0xc(r1) +/* 80316A94 003126F4 7C 00 07 75 */ extsb. r0, r0 +/* 80316A98 003126F8 40 82 00 0C */ bne lbl_80316AA4 +/* 80316A9C 003126FC 38 60 00 01 */ li r3, 1 +/* 80316AA0 00312700 48 00 00 14 */ b lbl_80316AB4 +lbl_80316AA4: +/* 80316AA4 00312704 7F C4 F3 78 */ mr r4, r30 +/* 80316AA8 00312708 38 61 00 0C */ addi r3, r1, 0xc +/* 80316AAC 0031270C 38 A1 00 08 */ addi r5, r1, 8 +/* 80316AB0 00312710 4B FF FB 2D */ bl func_803165DC +lbl_80316AB4: +/* 80316AB4 00312714 39 61 00 40 */ addi r11, r1, 0x40 +/* 80316AB8 00312718 4B EB 06 BD */ bl _restgpr_27 +/* 80316ABC 0031271C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80316AC0 00312720 7C 08 03 A6 */ mtlr r0 +/* 80316AC4 00312724 38 21 00 40 */ addi r1, r1, 0x40 +/* 80316AC8 00312728 4E 80 00 20 */ blr + +.global func_80316ACC +func_80316ACC: +/* 80316ACC 0031272C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80316AD0 00312730 7C 08 02 A6 */ mflr r0 +/* 80316AD4 00312734 90 01 00 14 */ stw r0, 0x14(r1) +/* 80316AD8 00312738 4B FE E6 39 */ bl VFipf_strcmp +/* 80316ADC 0031273C 7C 03 00 D0 */ neg r0, r3 +/* 80316AE0 00312740 7C 00 1B 78 */ or r0, r0, r3 +/* 80316AE4 00312744 54 03 0F FE */ srwi r3, r0, 0x1f +/* 80316AE8 00312748 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80316AEC 0031274C 7C 08 03 A6 */ mtlr r0 +/* 80316AF0 00312750 38 21 00 10 */ addi r1, r1, 0x10 +/* 80316AF4 00312754 4E 80 00 20 */ blr + +.global func_80316AF8 +func_80316AF8: +/* 80316AF8 00312758 90 83 00 00 */ stw r4, 0(r3) +/* 80316AFC 0031275C 90 83 00 04 */ stw r4, 4(r3) +/* 80316B00 00312760 90 A3 00 0C */ stw r5, 0xc(r3) +/* 80316B04 00312764 4E 80 00 20 */ blr + +.global func_80316B08 +func_80316B08: +/* 80316B08 00312768 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80316B0C 0031276C 7C 08 02 A6 */ mflr r0 +/* 80316B10 00312770 90 01 00 24 */ stw r0, 0x24(r1) +/* 80316B14 00312774 39 61 00 20 */ addi r11, r1, 0x20 +/* 80316B18 00312778 4B EB 06 11 */ bl _savegpr_27 +/* 80316B1C 0031277C 80 03 00 04 */ lwz r0, 4(r3) +/* 80316B20 00312780 7C 9D 23 78 */ mr r29, r4 +/* 80316B24 00312784 7C 7C 1B 78 */ mr r28, r3 +/* 80316B28 00312788 3B 60 00 00 */ li r27, 0 +/* 80316B2C 0031278C 90 03 00 00 */ stw r0, 0(r3) +/* 80316B30 00312790 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_ +/* 80316B34 00312794 38 A0 00 01 */ li r5, 1 +/* 80316B38 00312798 38 C0 00 00 */ li r6, 0 +/* 80316B3C 0031279C 38 E0 00 01 */ li r7, 1 +/* 80316B40 003127A0 4B FE EB 21 */ bl VFiPFSTR_StrNCmp +/* 80316B44 003127A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80316B48 003127A8 40 82 00 18 */ bne lbl_80316B60 +/* 80316B4C 003127AC 38 00 00 00 */ li r0, 0 +/* 80316B50 003127B0 38 60 00 00 */ li r3, 0 +/* 80316B54 003127B4 90 1C 00 04 */ stw r0, 4(r28) +/* 80316B58 003127B8 90 1C 00 00 */ stw r0, 0(r28) +/* 80316B5C 003127BC 48 00 03 18 */ b lbl_80316E74 +lbl_80316B60: +/* 80316B60 003127C0 7F 83 E3 78 */ mr r3, r28 +/* 80316B64 003127C4 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_ +/* 80316B68 003127C8 38 A0 00 01 */ li r5, 1 +/* 80316B6C 003127CC 38 C0 00 00 */ li r6, 0 +/* 80316B70 003127D0 38 E0 00 01 */ li r7, 1 +/* 80316B74 003127D4 4B FE EA ED */ bl VFiPFSTR_StrNCmp +/* 80316B78 003127D8 2C 03 00 00 */ cmpwi r3, 0 +/* 80316B7C 003127DC 41 82 00 24 */ beq lbl_80316BA0 +/* 80316B80 003127E0 7F 83 E3 78 */ mr r3, r28 +/* 80316B84 003127E4 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_ +/* 80316B88 003127E8 38 A0 00 01 */ li r5, 1 +/* 80316B8C 003127EC 38 C0 00 00 */ li r6, 0 +/* 80316B90 003127F0 38 E0 00 01 */ li r7, 1 +/* 80316B94 003127F4 4B FE EA CD */ bl VFiPFSTR_StrNCmp +/* 80316B98 003127F8 2C 03 00 00 */ cmpwi r3, 0 +/* 80316B9C 003127FC 40 82 00 10 */ bne lbl_80316BAC +lbl_80316BA0: +/* 80316BA0 00312800 7F 83 E3 78 */ mr r3, r28 +/* 80316BA4 00312804 38 80 00 01 */ li r4, 1 +/* 80316BA8 00312808 4B FE E7 91 */ bl VFiPFSTR_MoveStrPos +lbl_80316BAC: +/* 80316BAC 0031280C 7F 83 E3 78 */ mr r3, r28 +/* 80316BB0 00312810 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_ +/* 80316BB4 00312814 38 A0 00 01 */ li r5, 1 +/* 80316BB8 00312818 38 C0 00 00 */ li r6, 0 +/* 80316BBC 0031281C 38 E0 00 01 */ li r7, 1 +/* 80316BC0 00312820 4B FE EA A1 */ bl VFiPFSTR_StrNCmp +/* 80316BC4 00312824 2C 03 00 00 */ cmpwi r3, 0 +/* 80316BC8 00312828 41 82 00 24 */ beq lbl_80316BEC +/* 80316BCC 0031282C 7F 83 E3 78 */ mr r3, r28 +/* 80316BD0 00312830 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_ +/* 80316BD4 00312834 38 A0 00 01 */ li r5, 1 +/* 80316BD8 00312838 38 C0 00 00 */ li r6, 0 +/* 80316BDC 0031283C 38 E0 00 01 */ li r7, 1 +/* 80316BE0 00312840 4B FE EA 81 */ bl VFiPFSTR_StrNCmp +/* 80316BE4 00312844 2C 03 00 00 */ cmpwi r3, 0 +/* 80316BE8 00312848 40 82 00 0C */ bne lbl_80316BF4 +lbl_80316BEC: +/* 80316BEC 0031284C 38 60 00 02 */ li r3, 2 +/* 80316BF0 00312850 48 00 02 84 */ b lbl_80316E74 +lbl_80316BF4: +/* 80316BF4 00312854 7F 83 E3 78 */ mr r3, r28 +/* 80316BF8 00312858 4B FE E6 E9 */ bl VFiPFSTR_GetCodeMode +/* 80316BFC 0031285C 80 1C 00 00 */ lwz r0, 0(r28) +/* 80316C00 00312860 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80316C04 00312864 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80316C08 00312868 7C 7E 1B 78 */ mr r30, r3 +/* 80316C0C 0031286C 90 1C 00 04 */ stw r0, 4(r28) +/* 80316C10 00312870 80 04 00 3C */ lwz r0, 0x3c(r4) +/* 80316C14 00312874 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 80316C18 00312878 28 00 00 02 */ cmplwi r0, 2 +/* 80316C1C 0031287C 40 82 00 48 */ bne lbl_80316C64 +/* 80316C20 00312880 7F 83 E3 78 */ mr r3, r28 +/* 80316C24 00312884 7F A5 EB 78 */ mr r5, r29 +/* 80316C28 00312888 38 80 00 02 */ li r4, 2 +/* 80316C2C 0031288C 48 00 18 09 */ bl func_80318434 +/* 80316C30 00312890 2C 03 00 00 */ cmpwi r3, 0 +/* 80316C34 00312894 7C 7B 1B 78 */ mr r27, r3 +/* 80316C38 00312898 41 82 00 2C */ beq lbl_80316C64 +/* 80316C3C 0031289C 28 1E 00 01 */ cmplwi r30, 1 +/* 80316C40 003128A0 40 82 00 14 */ bne lbl_80316C54 +/* 80316C44 003128A4 80 1C 00 04 */ lwz r0, 4(r28) +/* 80316C48 003128A8 7C 00 1A 14 */ add r0, r0, r3 +/* 80316C4C 003128AC 90 1C 00 04 */ stw r0, 4(r28) +/* 80316C50 003128B0 48 00 00 14 */ b lbl_80316C64 +lbl_80316C54: +/* 80316C54 003128B4 80 9C 00 04 */ lwz r4, 4(r28) +/* 80316C58 003128B8 54 60 08 3C */ slwi r0, r3, 1 +/* 80316C5C 003128BC 7C 04 02 14 */ add r0, r4, r0 +/* 80316C60 003128C0 90 1C 00 04 */ stw r0, 4(r28) +lbl_80316C64: +/* 80316C64 003128C4 2C 1B 00 00 */ cmpwi r27, 0 +/* 80316C68 003128C8 40 82 02 08 */ bne lbl_80316E70 +/* 80316C6C 003128CC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80316C70 003128D0 3C 60 80 40 */ lis r3, lbl_803FE220@ha +/* 80316C74 003128D4 3B E4 F5 C8 */ addi r31, r4, lbl_8057F5C8@l +/* 80316C78 003128D8 3B 63 E2 20 */ addi r27, r3, lbl_803FE220@l +/* 80316C7C 003128DC 48 00 01 D4 */ b lbl_80316E50 +lbl_80316C80: +/* 80316C80 003128E0 28 1E 00 01 */ cmplwi r30, 1 +/* 80316C84 003128E4 40 82 00 6C */ bne lbl_80316CF0 +/* 80316C88 003128E8 80 7C 00 04 */ lwz r3, 4(r28) +/* 80316C8C 003128EC 38 80 00 01 */ li r4, 1 +/* 80316C90 003128F0 81 9F 00 30 */ lwz r12, 0x30(r31) +/* 80316C94 003128F4 88 03 00 00 */ lbz r0, 0(r3) +/* 80316C98 003128F8 7C 03 07 74 */ extsb r3, r0 +/* 80316C9C 003128FC 7D 89 03 A6 */ mtctr r12 +/* 80316CA0 00312900 4E 80 04 21 */ bctrl +/* 80316CA4 00312904 2C 03 00 00 */ cmpwi r3, 0 +/* 80316CA8 00312908 41 82 00 48 */ beq lbl_80316CF0 +/* 80316CAC 0031290C 80 7C 00 04 */ lwz r3, 4(r28) +/* 80316CB0 00312910 38 80 00 02 */ li r4, 2 +/* 80316CB4 00312914 38 63 00 01 */ addi r3, r3, 1 +/* 80316CB8 00312918 90 7C 00 04 */ stw r3, 4(r28) +/* 80316CBC 0031291C 88 03 00 00 */ lbz r0, 0(r3) +/* 80316CC0 00312920 81 9F 00 30 */ lwz r12, 0x30(r31) +/* 80316CC4 00312924 7C 03 07 74 */ extsb r3, r0 +/* 80316CC8 00312928 7D 89 03 A6 */ mtctr r12 +/* 80316CCC 0031292C 4E 80 04 21 */ bctrl +/* 80316CD0 00312930 2C 03 00 00 */ cmpwi r3, 0 +/* 80316CD4 00312934 41 82 00 14 */ beq lbl_80316CE8 +/* 80316CD8 00312938 80 7C 00 04 */ lwz r3, 4(r28) +/* 80316CDC 0031293C 88 03 00 00 */ lbz r0, 0(r3) +/* 80316CE0 00312940 7C 00 07 75 */ extsb. r0, r0 +/* 80316CE4 00312944 40 82 01 48 */ bne lbl_80316E2C +lbl_80316CE8: +/* 80316CE8 00312948 38 60 00 02 */ li r3, 2 +/* 80316CEC 0031294C 48 00 01 88 */ b lbl_80316E74 +lbl_80316CF0: +/* 80316CF0 00312950 7F 83 E3 78 */ mr r3, r28 +/* 80316CF4 00312954 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_ +/* 80316CF8 00312958 38 A0 00 02 */ li r5, 2 +/* 80316CFC 0031295C 38 C0 00 00 */ li r6, 0 +/* 80316D00 00312960 38 E0 00 01 */ li r7, 1 +/* 80316D04 00312964 4B FE E9 5D */ bl VFiPFSTR_StrNCmp +/* 80316D08 00312968 2C 03 00 00 */ cmpwi r3, 0 +/* 80316D0C 0031296C 41 82 01 64 */ beq lbl_80316E70 +/* 80316D10 00312970 7F 83 E3 78 */ mr r3, r28 +/* 80316D14 00312974 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_ +/* 80316D18 00312978 38 A0 00 02 */ li r5, 2 +/* 80316D1C 0031297C 38 C0 00 00 */ li r6, 0 +/* 80316D20 00312980 38 E0 00 01 */ li r7, 1 +/* 80316D24 00312984 4B FE E9 3D */ bl VFiPFSTR_StrNCmp +/* 80316D28 00312988 2C 03 00 00 */ cmpwi r3, 0 +/* 80316D2C 0031298C 41 82 01 44 */ beq lbl_80316E70 +/* 80316D30 00312990 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 80316D34 00312994 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf +/* 80316D38 00312998 40 82 00 F4 */ bne lbl_80316E2C +/* 80316D3C 0031299C 28 1E 00 01 */ cmplwi r30, 1 +/* 80316D40 003129A0 40 82 00 2C */ bne lbl_80316D6C +/* 80316D44 003129A4 80 7C 00 04 */ lwz r3, 4(r28) +/* 80316D48 003129A8 88 03 00 00 */ lbz r0, 0(r3) +/* 80316D4C 003129AC 28 00 00 80 */ cmplwi r0, 0x80 +/* 80316D50 003129B0 40 80 00 1C */ bge lbl_80316D6C +/* 80316D54 003129B4 28 00 00 20 */ cmplwi r0, 0x20 +/* 80316D58 003129B8 41 80 00 84 */ blt lbl_80316DDC +/* 80316D5C 003129BC 7C 7B 02 14 */ add r3, r27, r0 +/* 80316D60 003129C0 88 03 FF E0 */ lbz r0, -0x20(r3) +/* 80316D64 003129C4 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80316D68 003129C8 41 82 00 74 */ beq lbl_80316DDC +lbl_80316D6C: +/* 80316D6C 003129CC 28 1E 00 02 */ cmplwi r30, 2 +/* 80316D70 003129D0 40 82 00 BC */ bne lbl_80316E2C +/* 80316D74 003129D4 80 9C 00 04 */ lwz r4, 4(r28) +/* 80316D78 003129D8 38 A0 00 01 */ li r5, 1 +/* 80316D7C 003129DC 88 64 00 00 */ lbz r3, 0(r4) +/* 80316D80 003129E0 88 04 00 01 */ lbz r0, 1(r4) +/* 80316D84 003129E4 54 63 40 2E */ slwi r3, r3, 8 +/* 80316D88 003129E8 7C 63 02 14 */ add r3, r3, r0 +/* 80316D8C 003129EC 54 60 04 3E */ clrlwi r0, r3, 0x10 +/* 80316D90 003129F0 28 00 00 80 */ cmplwi r0, 0x80 +/* 80316D94 003129F4 40 80 00 40 */ bge lbl_80316DD4 +/* 80316D98 003129F8 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 80316D9C 003129FC 38 80 00 00 */ li r4, 0 +/* 80316DA0 00312A00 28 03 00 20 */ cmplwi r3, 0x20 +/* 80316DA4 00312A04 41 80 00 24 */ blt lbl_80316DC8 +/* 80316DA8 00312A08 54 60 04 2F */ rlwinm. r0, r3, 0, 0x10, 0x17 +/* 80316DAC 00312A0C 40 82 00 1C */ bne lbl_80316DC8 +/* 80316DB0 00312A10 38 03 FF E0 */ addi r0, r3, -32 +/* 80316DB4 00312A14 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 80316DB8 00312A18 7C 1B 00 AE */ lbzx r0, r27, r0 +/* 80316DBC 00312A1C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80316DC0 00312A20 41 82 00 08 */ beq lbl_80316DC8 +/* 80316DC4 00312A24 38 80 00 01 */ li r4, 1 +lbl_80316DC8: +/* 80316DC8 00312A28 2C 04 00 00 */ cmpwi r4, 0 +/* 80316DCC 00312A2C 40 82 00 08 */ bne lbl_80316DD4 +/* 80316DD0 00312A30 38 A0 00 00 */ li r5, 0 +lbl_80316DD4: +/* 80316DD4 00312A34 2C 05 00 00 */ cmpwi r5, 0 +/* 80316DD8 00312A38 40 82 00 54 */ bne lbl_80316E2C +lbl_80316DDC: +/* 80316DDC 00312A3C 2C 1D 00 00 */ cmpwi r29, 0 +/* 80316DE0 00312A40 41 82 00 44 */ beq lbl_80316E24 +/* 80316DE4 00312A44 7F 83 E3 78 */ mr r3, r28 +/* 80316DE8 00312A48 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_ +/* 80316DEC 00312A4C 38 A0 00 02 */ li r5, 2 +/* 80316DF0 00312A50 38 C0 00 00 */ li r6, 0 +/* 80316DF4 00312A54 38 E0 00 01 */ li r7, 1 +/* 80316DF8 00312A58 4B FE E8 69 */ bl VFiPFSTR_StrNCmp +/* 80316DFC 00312A5C 2C 03 00 00 */ cmpwi r3, 0 +/* 80316E00 00312A60 41 82 00 2C */ beq lbl_80316E2C +/* 80316E04 00312A64 7F 83 E3 78 */ mr r3, r28 +/* 80316E08 00312A68 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_ +/* 80316E0C 00312A6C 38 A0 00 02 */ li r5, 2 +/* 80316E10 00312A70 38 C0 00 00 */ li r6, 0 +/* 80316E14 00312A74 38 E0 00 01 */ li r7, 1 +/* 80316E18 00312A78 4B FE E8 49 */ bl VFiPFSTR_StrNCmp +/* 80316E1C 00312A7C 2C 03 00 00 */ cmpwi r3, 0 +/* 80316E20 00312A80 41 82 00 0C */ beq lbl_80316E2C +lbl_80316E24: +/* 80316E24 00312A84 38 60 00 02 */ li r3, 2 +/* 80316E28 00312A88 48 00 00 4C */ b lbl_80316E74 +lbl_80316E2C: +/* 80316E2C 00312A8C 28 1E 00 01 */ cmplwi r30, 1 +/* 80316E30 00312A90 40 82 00 14 */ bne lbl_80316E44 +/* 80316E34 00312A94 80 7C 00 04 */ lwz r3, 4(r28) +/* 80316E38 00312A98 38 03 00 01 */ addi r0, r3, 1 +/* 80316E3C 00312A9C 90 1C 00 04 */ stw r0, 4(r28) +/* 80316E40 00312AA0 48 00 00 10 */ b lbl_80316E50 +lbl_80316E44: +/* 80316E44 00312AA4 80 7C 00 04 */ lwz r3, 4(r28) +/* 80316E48 00312AA8 38 03 00 02 */ addi r0, r3, 2 +/* 80316E4C 00312AAC 90 1C 00 04 */ stw r0, 4(r28) +lbl_80316E50: +/* 80316E50 00312AB0 7F 83 E3 78 */ mr r3, r28 +/* 80316E54 00312AB4 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_ +/* 80316E58 00312AB8 38 A0 00 02 */ li r5, 2 +/* 80316E5C 00312ABC 38 C0 00 00 */ li r6, 0 +/* 80316E60 00312AC0 38 E0 00 01 */ li r7, 1 +/* 80316E64 00312AC4 4B FE E7 FD */ bl VFiPFSTR_StrNCmp +/* 80316E68 00312AC8 2C 03 00 00 */ cmpwi r3, 0 +/* 80316E6C 00312ACC 40 82 FE 14 */ bne lbl_80316C80 +lbl_80316E70: +/* 80316E70 00312AD0 38 60 00 00 */ li r3, 0 +lbl_80316E74: +/* 80316E74 00312AD4 39 61 00 20 */ addi r11, r1, 0x20 +/* 80316E78 00312AD8 4B EB 02 FD */ bl _restgpr_27 +/* 80316E7C 00312ADC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80316E80 00312AE0 7C 08 03 A6 */ mtlr r0 +/* 80316E84 00312AE4 38 21 00 20 */ addi r1, r1, 0x20 +/* 80316E88 00312AE8 4E 80 00 20 */ blr + +.global func_80316E8C +func_80316E8C: +/* 80316E8C 00312AEC 38 C0 00 00 */ li r6, 0 +/* 80316E90 00312AF0 4B FF ED A0 */ b lbl_80315C30 + +.global func_80316E94 +func_80316E94: +/* 80316E94 00312AF4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80316E98 00312AF8 7C 08 02 A6 */ mflr r0 +/* 80316E9C 00312AFC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80316EA0 00312B00 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80316EA4 00312B04 7C 7F 1B 78 */ mr r31, r3 +/* 80316EA8 00312B08 4B FE E6 21 */ bl VFiPFSTR_StrLen +/* 80316EAC 00312B0C 54 60 04 3F */ clrlwi. r0, r3, 0x10 +/* 80316EB0 00312B10 40 82 00 0C */ bne lbl_80316EBC +/* 80316EB4 00312B14 38 60 00 00 */ li r3, 0 +/* 80316EB8 00312B18 48 00 00 60 */ b lbl_80316F18 +lbl_80316EBC: +/* 80316EBC 00312B1C 7F E3 FB 78 */ mr r3, r31 +/* 80316EC0 00312B20 38 80 00 01 */ li r4, 1 +/* 80316EC4 00312B24 4B FE E6 19 */ bl VFiPFSTR_StrNumChar +/* 80316EC8 00312B28 54 60 04 3E */ clrlwi r0, r3, 0x10 +/* 80316ECC 00312B2C 28 00 00 02 */ cmplwi r0, 2 +/* 80316ED0 00312B30 41 80 00 44 */ blt lbl_80316F14 +/* 80316ED4 00312B34 7F E3 FB 78 */ mr r3, r31 +/* 80316ED8 00312B38 38 8D 8C F8 */ addi r4, r13, lbl_8063DFB8-_SDA_BASE_ +/* 80316EDC 00312B3C 38 A0 00 01 */ li r5, 1 +/* 80316EE0 00312B40 38 C0 00 01 */ li r6, 1 +/* 80316EE4 00312B44 38 E0 00 01 */ li r7, 1 +/* 80316EE8 00312B48 4B FE E7 79 */ bl VFiPFSTR_StrNCmp +/* 80316EEC 00312B4C 2C 03 00 00 */ cmpwi r3, 0 +/* 80316EF0 00312B50 40 82 00 24 */ bne lbl_80316F14 +/* 80316EF4 00312B54 7F E3 FB 78 */ mr r3, r31 +/* 80316EF8 00312B58 38 A1 00 08 */ addi r5, r1, 8 +/* 80316EFC 00312B5C 38 80 00 01 */ li r4, 1 +/* 80316F00 00312B60 4B FE E8 79 */ bl VFiPFSTR_ToUpperNStr +/* 80316F04 00312B64 88 01 00 08 */ lbz r0, 8(r1) +/* 80316F08 00312B68 7C 03 07 74 */ extsb r3, r0 +/* 80316F0C 00312B6C 48 00 2C 4D */ bl func_80319B58 +/* 80316F10 00312B70 48 00 00 08 */ b lbl_80316F18 +lbl_80316F14: +/* 80316F14 00312B74 48 00 2A F1 */ bl func_80319A04 +lbl_80316F18: +/* 80316F18 00312B78 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80316F1C 00312B7C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80316F20 00312B80 7C 08 03 A6 */ mtlr r0 +/* 80316F24 00312B84 38 21 00 20 */ addi r1, r1, 0x20 +/* 80316F28 00312B88 4E 80 00 20 */ blr + +.global func_80316F2C +func_80316F2C: +/* 80316F2C 00312B8C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80316F30 00312B90 7C 08 02 A6 */ mflr r0 +/* 80316F34 00312B94 90 01 00 44 */ stw r0, 0x44(r1) +/* 80316F38 00312B98 38 00 00 00 */ li r0, 0 +/* 80316F3C 00312B9C 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 80316F40 00312BA0 3B E0 00 01 */ li r31, 1 +/* 80316F44 00312BA4 93 C1 00 38 */ stw r30, 0x38(r1) +/* 80316F48 00312BA8 7C BE 2B 78 */ mr r30, r5 +/* 80316F4C 00312BAC 93 A1 00 34 */ stw r29, 0x34(r1) +/* 80316F50 00312BB0 7C 9D 23 78 */ mr r29, r4 +/* 80316F54 00312BB4 93 81 00 30 */ stw r28, 0x30(r1) +/* 80316F58 00312BB8 7C 7C 1B 78 */ mr r28, r3 +/* 80316F5C 00312BBC 88 E2 A4 A0 */ lbz r7, lbl_80642AA0-_SDA2_BASE_(r2) +/* 80316F60 00312BC0 88 C2 A4 A1 */ lbz r6, lbl_80642AA1-_SDA2_BASE_(r2) +/* 80316F64 00312BC4 90 61 00 20 */ stw r3, 0x20(r1) +/* 80316F68 00312BC8 7F A3 EB 78 */ mr r3, r29 +/* 80316F6C 00312BCC 98 E1 00 0C */ stb r7, 0xc(r1) +/* 80316F70 00312BD0 98 C1 00 0D */ stb r6, 0xd(r1) +/* 80316F74 00312BD4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80316F78 00312BD8 90 A1 00 28 */ stw r5, 0x28(r1) +/* 80316F7C 00312BDC B0 01 00 2C */ sth r0, 0x2c(r1) +/* 80316F80 00312BE0 80 A4 00 00 */ lwz r5, 0(r4) +/* 80316F84 00312BE4 80 04 00 04 */ lwz r0, 4(r4) +/* 80316F88 00312BE8 90 A1 00 10 */ stw r5, 0x10(r1) +/* 80316F8C 00312BEC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80316F90 00312BF0 80 A4 00 08 */ lwz r5, 8(r4) +/* 80316F94 00312BF4 80 04 00 0C */ lwz r0, 0xc(r4) +/* 80316F98 00312BF8 90 A1 00 18 */ stw r5, 0x18(r1) +/* 80316F9C 00312BFC 90 01 00 1C */ stw r0, 0x1c(r1) +/* 80316FA0 00312C00 4B FE E3 41 */ bl VFiPFSTR_GetCodeMode +/* 80316FA4 00312C04 28 03 00 01 */ cmplwi r3, 1 +/* 80316FA8 00312C08 40 82 00 A4 */ bne lbl_8031704C +/* 80316FAC 00312C0C 2C 1E 00 00 */ cmpwi r30, 0 +/* 80316FB0 00312C10 40 82 01 18 */ bne lbl_803170C8 +/* 80316FB4 00312C14 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80316FB8 00312C18 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80316FBC 00312C1C 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 80316FC0 00312C20 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 80316FC4 00312C24 28 00 00 02 */ cmplwi r0, 2 +/* 80316FC8 00312C28 40 82 01 00 */ bne lbl_803170C8 +/* 80316FCC 00312C2C 88 8D 8D 1C */ lbz r4, lbl_8063DFDC-_SDA_BASE_(r13) +/* 80316FD0 00312C30 34 61 00 10 */ addic. r3, r1, 0x10 +/* 80316FD4 00312C34 88 0D 8D 1D */ lbz r0, lbl_8063DFDD-_SDA_BASE_(r13) +/* 80316FD8 00312C38 3B A0 00 00 */ li r29, 0 +/* 80316FDC 00312C3C 98 81 00 08 */ stb r4, 8(r1) +/* 80316FE0 00312C40 98 01 00 09 */ stb r0, 9(r1) +/* 80316FE4 00312C44 40 82 00 0C */ bne lbl_80316FF0 +/* 80316FE8 00312C48 3B A0 00 0A */ li r29, 0xa +/* 80316FEC 00312C4C 48 00 00 24 */ b lbl_80317010 +lbl_80316FF0: +/* 80316FF0 00312C50 38 81 00 08 */ addi r4, r1, 8 +/* 80316FF4 00312C54 38 A0 00 01 */ li r5, 1 +/* 80316FF8 00312C58 38 C0 00 00 */ li r6, 0 +/* 80316FFC 00312C5C 38 E0 00 02 */ li r7, 2 +/* 80317000 00312C60 4B FE E6 61 */ bl VFiPFSTR_StrNCmp +/* 80317004 00312C64 2C 03 00 00 */ cmpwi r3, 0 +/* 80317008 00312C68 40 82 00 08 */ bne lbl_80317010 +/* 8031700C 00312C6C 3B A0 00 01 */ li r29, 1 +lbl_80317010: +/* 80317010 00312C70 28 1D 00 01 */ cmplwi r29, 1 +/* 80317014 00312C74 40 82 00 B4 */ bne lbl_803170C8 +/* 80317018 00312C78 7F 83 E3 78 */ mr r3, r28 +/* 8031701C 00312C7C 38 81 00 0C */ addi r4, r1, 0xc +/* 80317020 00312C80 38 A0 00 02 */ li r5, 2 +/* 80317024 00312C84 4B FE E1 25 */ bl VFipf_strncmp +/* 80317028 00312C88 2C 03 00 00 */ cmpwi r3, 0 +/* 8031702C 00312C8C 40 82 00 9C */ bne lbl_803170C8 +/* 80317030 00312C90 A0 81 00 2C */ lhz r4, 0x2c(r1) +/* 80317034 00312C94 80 61 00 10 */ lwz r3, 0x10(r1) +/* 80317038 00312C98 38 84 00 02 */ addi r4, r4, 2 +/* 8031703C 00312C9C 38 03 00 02 */ addi r0, r3, 2 +/* 80317040 00312CA0 B0 81 00 2C */ sth r4, 0x2c(r1) +/* 80317044 00312CA4 90 01 00 10 */ stw r0, 0x10(r1) +/* 80317048 00312CA8 48 00 00 80 */ b lbl_803170C8 +lbl_8031704C: +/* 8031704C 00312CAC 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80317050 00312CB0 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80317054 00312CB4 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 80317058 00312CB8 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8031705C 00312CBC 28 00 00 02 */ cmplwi r0, 2 +/* 80317060 00312CC0 40 82 00 68 */ bne lbl_803170C8 +/* 80317064 00312CC4 2C 1E 00 00 */ cmpwi r30, 0 +/* 80317068 00312CC8 40 82 00 60 */ bne lbl_803170C8 +/* 8031706C 00312CCC 7F A3 EB 78 */ mr r3, r29 +/* 80317070 00312CD0 38 8D 8D 00 */ addi r4, r13, lbl_8063DFC0-_SDA_BASE_ +/* 80317074 00312CD4 38 A0 00 01 */ li r5, 1 +/* 80317078 00312CD8 38 C0 00 00 */ li r6, 0 +/* 8031707C 00312CDC 38 E0 00 01 */ li r7, 1 +/* 80317080 00312CE0 4B FE E5 E1 */ bl VFiPFSTR_StrNCmp +/* 80317084 00312CE4 2C 03 00 00 */ cmpwi r3, 0 +/* 80317088 00312CE8 41 82 00 40 */ beq lbl_803170C8 +/* 8031708C 00312CEC 7F A3 EB 78 */ mr r3, r29 +/* 80317090 00312CF0 38 8D 8D 04 */ addi r4, r13, lbl_8063DFC4-_SDA_BASE_ +/* 80317094 00312CF4 38 A0 00 01 */ li r5, 1 +/* 80317098 00312CF8 38 C0 00 00 */ li r6, 0 +/* 8031709C 00312CFC 38 E0 00 02 */ li r7, 2 +/* 803170A0 00312D00 4B FE E5 C1 */ bl VFiPFSTR_StrNCmp +/* 803170A4 00312D04 2C 03 00 00 */ cmpwi r3, 0 +/* 803170A8 00312D08 41 82 00 20 */ beq lbl_803170C8 +/* 803170AC 00312D0C 7F A3 EB 78 */ mr r3, r29 +/* 803170B0 00312D10 38 80 00 01 */ li r4, 1 +/* 803170B4 00312D14 38 A0 00 00 */ li r5, 0 +/* 803170B8 00312D18 48 00 13 7D */ bl func_80318434 +/* 803170BC 00312D1C 2C 03 00 00 */ cmpwi r3, 0 +/* 803170C0 00312D20 40 82 00 08 */ bne lbl_803170C8 +/* 803170C4 00312D24 3B E0 00 00 */ li r31, 0 +lbl_803170C8: +/* 803170C8 00312D28 28 1F 00 01 */ cmplwi r31, 1 +/* 803170CC 00312D2C 40 82 01 58 */ bne lbl_80317224 +/* 803170D0 00312D30 80 01 00 28 */ lwz r0, 0x28(r1) +/* 803170D4 00312D34 2C 00 00 00 */ cmpwi r0, 0 +/* 803170D8 00312D38 41 82 00 84 */ beq lbl_8031715C +/* 803170DC 00312D3C A0 A1 00 2C */ lhz r5, 0x2c(r1) +/* 803170E0 00312D40 28 05 02 0A */ cmplwi r5, 0x20a +/* 803170E4 00312D44 40 81 00 0C */ ble lbl_803170F0 +/* 803170E8 00312D48 3B E0 00 00 */ li r31, 0 +/* 803170EC 00312D4C 48 00 01 0C */ b lbl_803171F8 +lbl_803170F0: +/* 803170F0 00312D50 80 81 00 20 */ lwz r4, 0x20(r1) +/* 803170F4 00312D54 38 65 00 02 */ addi r3, r5, 2 +/* 803170F8 00312D58 38 00 00 00 */ li r0, 0 +/* 803170FC 00312D5C 7C 84 2A 2E */ lhzx r4, r4, r5 +/* 80317100 00312D60 28 04 00 61 */ cmplwi r4, 0x61 +/* 80317104 00312D64 B0 61 00 2C */ sth r3, 0x2c(r1) +/* 80317108 00312D68 41 80 00 10 */ blt lbl_80317118 +/* 8031710C 00312D6C 28 04 00 7A */ cmplwi r4, 0x7a +/* 80317110 00312D70 41 81 00 08 */ bgt lbl_80317118 +/* 80317114 00312D74 38 00 00 01 */ li r0, 1 +lbl_80317118: +/* 80317118 00312D78 2C 00 00 00 */ cmpwi r0, 0 +/* 8031711C 00312D7C 41 82 00 08 */ beq lbl_80317124 +/* 80317120 00312D80 38 84 FF E0 */ addi r4, r4, -32 +lbl_80317124: +/* 80317124 00312D84 54 9F 04 3E */ clrlwi r31, r4, 0x10 +/* 80317128 00312D88 28 1F FF 41 */ cmplwi r31, 0xff41 +/* 8031712C 00312D8C 41 80 00 1C */ blt lbl_80317148 +/* 80317130 00312D90 28 1F FF 5A */ cmplwi r31, 0xff5a +/* 80317134 00312D94 41 81 00 14 */ bgt lbl_80317148 +/* 80317138 00312D98 38 1F FF E0 */ addi r0, r31, -32 +/* 8031713C 00312D9C 38 60 00 01 */ li r3, 1 +/* 80317140 00312DA0 54 1D 04 3E */ clrlwi r29, r0, 0x10 +/* 80317144 00312DA4 48 00 00 08 */ b lbl_8031714C +lbl_80317148: +/* 80317148 00312DA8 38 60 00 00 */ li r3, 0 +lbl_8031714C: +/* 8031714C 00312DAC 28 03 00 01 */ cmplwi r3, 1 +/* 80317150 00312DB0 40 82 00 A8 */ bne lbl_803171F8 +/* 80317154 00312DB4 7F BF EB 78 */ mr r31, r29 +/* 80317158 00312DB8 48 00 00 A0 */ b lbl_803171F8 +lbl_8031715C: +/* 8031715C 00312DBC A0 C1 00 2C */ lhz r6, 0x2c(r1) +/* 80317160 00312DC0 28 06 00 0C */ cmplwi r6, 0xc +/* 80317164 00312DC4 41 80 00 0C */ blt lbl_80317170 +/* 80317168 00312DC8 3B E0 00 00 */ li r31, 0 +/* 8031716C 00312DCC 48 00 00 8C */ b lbl_803171F8 +lbl_80317170: +/* 80317170 00312DD0 38 06 00 01 */ addi r0, r6, 1 +/* 80317174 00312DD4 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80317178 00312DD8 B0 01 00 2C */ sth r0, 0x2c(r1) +/* 8031717C 00312DDC 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80317180 00312DE0 80 A1 00 20 */ lwz r5, 0x20(r1) +/* 80317184 00312DE4 38 80 00 01 */ li r4, 1 +/* 80317188 00312DE8 81 83 00 30 */ lwz r12, 0x30(r3) +/* 8031718C 00312DEC 7F A5 30 AE */ lbzx r29, r5, r6 +/* 80317190 00312DF0 7F BD 07 74 */ extsb r29, r29 +/* 80317194 00312DF4 7F A3 EB 78 */ mr r3, r29 +/* 80317198 00312DF8 7D 89 03 A6 */ mtctr r12 +/* 8031719C 00312DFC 4E 80 04 21 */ bctrl +/* 803171A0 00312E00 2C 03 00 00 */ cmpwi r3, 0 +/* 803171A4 00312E04 41 82 00 24 */ beq lbl_803171C8 +/* 803171A8 00312E08 A0 81 00 2C */ lhz r4, 0x2c(r1) +/* 803171AC 00312E0C 57 A0 44 2E */ rlwinm r0, r29, 8, 0x10, 0x17 +/* 803171B0 00312E10 80 A1 00 20 */ lwz r5, 0x20(r1) +/* 803171B4 00312E14 38 64 00 01 */ addi r3, r4, 1 +/* 803171B8 00312E18 B0 61 00 2C */ sth r3, 0x2c(r1) +/* 803171BC 00312E1C 7C 65 20 AE */ lbzx r3, r5, r4 +/* 803171C0 00312E20 7C 00 1A 14 */ add r0, r0, r3 +/* 803171C4 00312E24 54 1D 04 3E */ clrlwi r29, r0, 0x10 +lbl_803171C8: +/* 803171C8 00312E28 57 A0 04 3E */ clrlwi r0, r29, 0x10 +/* 803171CC 00312E2C 38 60 00 00 */ li r3, 0 +/* 803171D0 00312E30 28 00 00 61 */ cmplwi r0, 0x61 +/* 803171D4 00312E34 41 80 00 10 */ blt lbl_803171E4 +/* 803171D8 00312E38 28 00 00 7A */ cmplwi r0, 0x7a +/* 803171DC 00312E3C 41 81 00 08 */ bgt lbl_803171E4 +/* 803171E0 00312E40 38 60 00 01 */ li r3, 1 +lbl_803171E4: +/* 803171E4 00312E44 2C 03 00 00 */ cmpwi r3, 0 +/* 803171E8 00312E48 57 A3 04 3E */ clrlwi r3, r29, 0x10 +/* 803171EC 00312E4C 41 82 00 08 */ beq lbl_803171F4 +/* 803171F0 00312E50 38 63 FF E0 */ addi r3, r3, -32 +lbl_803171F4: +/* 803171F4 00312E54 54 7F 04 3E */ clrlwi r31, r3, 0x10 +lbl_803171F8: +/* 803171F8 00312E58 7F C4 F3 78 */ mr r4, r30 +/* 803171FC 00312E5C 38 61 00 10 */ addi r3, r1, 0x10 +/* 80317200 00312E60 4B FF EC 29 */ bl func_80315E28 +/* 80317204 00312E64 7C 60 1B 78 */ mr r0, r3 +/* 80317208 00312E68 7F C7 F3 78 */ mr r7, r30 +/* 8031720C 00312E6C 57 E3 04 3E */ clrlwi r3, r31, 0x10 +/* 80317210 00312E70 38 81 00 20 */ addi r4, r1, 0x20 +/* 80317214 00312E74 54 05 04 3E */ clrlwi r5, r0, 0x10 +/* 80317218 00312E78 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8031721C 00312E7C 4B FF EE CD */ bl func_803160E8 +/* 80317220 00312E80 7C 7F 1B 78 */ mr r31, r3 +lbl_80317224: +/* 80317224 00312E84 7F E3 FB 78 */ mr r3, r31 +/* 80317228 00312E88 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 8031722C 00312E8C 83 C1 00 38 */ lwz r30, 0x38(r1) +/* 80317230 00312E90 83 A1 00 34 */ lwz r29, 0x34(r1) +/* 80317234 00312E94 83 81 00 30 */ lwz r28, 0x30(r1) +/* 80317238 00312E98 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8031723C 00312E9C 7C 08 03 A6 */ mtlr r0 +/* 80317240 00312EA0 38 21 00 40 */ addi r1, r1, 0x40 +/* 80317244 00312EA4 4E 80 00 20 */ blr + +.global func_80317248 +func_80317248: +/* 80317248 00312EA8 39 20 00 00 */ li r9, 0 +/* 8031724C 00312EAC 48 00 00 18 */ b lbl_80317264 +lbl_80317250: +/* 80317250 00312EB0 88 04 00 00 */ lbz r0, 0(r4) +/* 80317254 00312EB4 39 29 00 01 */ addi r9, r9, 1 +/* 80317258 00312EB8 38 84 00 01 */ addi r4, r4, 1 +/* 8031725C 00312EBC 98 03 00 00 */ stb r0, 0(r3) +/* 80317260 00312EC0 38 63 00 01 */ addi r3, r3, 1 +lbl_80317264: +/* 80317264 00312EC4 2C 09 00 08 */ cmpwi r9, 8 +/* 80317268 00312EC8 40 80 00 18 */ bge lbl_80317280 +/* 8031726C 00312ECC 88 04 00 00 */ lbz r0, 0(r4) +/* 80317270 00312ED0 7C 00 07 75 */ extsb. r0, r0 +/* 80317274 00312ED4 41 82 00 0C */ beq lbl_80317280 +/* 80317278 00312ED8 2C 00 00 2E */ cmpwi r0, 0x2e +/* 8031727C 00312EDC 40 82 FF D4 */ bne lbl_80317250 +lbl_80317280: +/* 80317280 00312EE0 2C 09 00 00 */ cmpwi r9, 0 +/* 80317284 00312EE4 40 82 00 34 */ bne lbl_803172B8 +/* 80317288 00312EE8 39 20 00 00 */ li r9, 0 +/* 8031728C 00312EEC 48 00 00 18 */ b lbl_803172A4 +lbl_80317290: +/* 80317290 00312EF0 88 04 00 00 */ lbz r0, 0(r4) +/* 80317294 00312EF4 39 29 00 01 */ addi r9, r9, 1 +/* 80317298 00312EF8 38 84 00 01 */ addi r4, r4, 1 +/* 8031729C 00312EFC 98 03 00 00 */ stb r0, 0(r3) +/* 803172A0 00312F00 38 63 00 01 */ addi r3, r3, 1 +lbl_803172A4: +/* 803172A4 00312F04 2C 09 00 02 */ cmpwi r9, 2 +/* 803172A8 00312F08 40 80 00 10 */ bge lbl_803172B8 +/* 803172AC 00312F0C 88 04 00 00 */ lbz r0, 0(r4) +/* 803172B0 00312F10 7C 00 07 75 */ extsb. r0, r0 +/* 803172B4 00312F14 40 82 FF DC */ bne lbl_80317290 +lbl_803172B8: +/* 803172B8 00312F18 2C 89 00 08 */ cmpwi cr1, r9, 8 +/* 803172BC 00312F1C 40 85 00 0C */ ble cr1, lbl_803172C8 +/* 803172C0 00312F20 38 60 00 0A */ li r3, 0xa +/* 803172C4 00312F24 4E 80 00 20 */ blr +lbl_803172C8: +/* 803172C8 00312F28 54 A8 07 39 */ rlwinm. r8, r5, 0, 0x1c, 0x1c +/* 803172CC 00312F2C 40 82 00 64 */ bne lbl_80317330 +/* 803172D0 00312F30 20 C9 00 08 */ subfic r6, r9, 8 +/* 803172D4 00312F34 38 E0 00 20 */ li r7, 0x20 +/* 803172D8 00312F38 40 84 00 58 */ bge cr1, lbl_80317330 +/* 803172DC 00312F3C 54 C5 E8 FF */ rlwinm. r5, r6, 0x1d, 3, 0x1f +/* 803172E0 00312F40 7C C0 33 78 */ mr r0, r6 +/* 803172E4 00312F44 7C A9 03 A6 */ mtctr r5 +/* 803172E8 00312F48 41 82 00 34 */ beq lbl_8031731C +lbl_803172EC: +/* 803172EC 00312F4C 98 E3 00 00 */ stb r7, 0(r3) +/* 803172F0 00312F50 98 E3 00 01 */ stb r7, 1(r3) +/* 803172F4 00312F54 98 E3 00 02 */ stb r7, 2(r3) +/* 803172F8 00312F58 98 E3 00 03 */ stb r7, 3(r3) +/* 803172FC 00312F5C 98 E3 00 04 */ stb r7, 4(r3) +/* 80317300 00312F60 98 E3 00 05 */ stb r7, 5(r3) +/* 80317304 00312F64 98 E3 00 06 */ stb r7, 6(r3) +/* 80317308 00312F68 98 E3 00 07 */ stb r7, 7(r3) +/* 8031730C 00312F6C 38 63 00 08 */ addi r3, r3, 8 +/* 80317310 00312F70 42 00 FF DC */ bdnz lbl_803172EC +/* 80317314 00312F74 70 C6 00 07 */ andi. r6, r6, 7 +/* 80317318 00312F78 41 82 00 14 */ beq lbl_8031732C +lbl_8031731C: +/* 8031731C 00312F7C 7C C9 03 A6 */ mtctr r6 +lbl_80317320: +/* 80317320 00312F80 98 E3 00 00 */ stb r7, 0(r3) +/* 80317324 00312F84 38 63 00 01 */ addi r3, r3, 1 +/* 80317328 00312F88 42 00 FF F8 */ bdnz lbl_80317320 +lbl_8031732C: +/* 8031732C 00312F8C 7D 29 02 14 */ add r9, r9, r0 +lbl_80317330: +/* 80317330 00312F90 88 04 00 00 */ lbz r0, 0(r4) +/* 80317334 00312F94 7C 00 07 75 */ extsb. r0, r0 +/* 80317338 00312F98 41 82 00 34 */ beq lbl_8031736C +/* 8031733C 00312F9C 2C 08 00 00 */ cmpwi r8, 0 +/* 80317340 00312FA0 40 82 00 20 */ bne lbl_80317360 +/* 80317344 00312FA4 38 84 00 01 */ addi r4, r4, 1 +/* 80317348 00312FA8 48 00 00 18 */ b lbl_80317360 +lbl_8031734C: +/* 8031734C 00312FAC 88 04 00 00 */ lbz r0, 0(r4) +/* 80317350 00312FB0 39 29 00 01 */ addi r9, r9, 1 +/* 80317354 00312FB4 38 84 00 01 */ addi r4, r4, 1 +/* 80317358 00312FB8 98 03 00 00 */ stb r0, 0(r3) +/* 8031735C 00312FBC 38 63 00 01 */ addi r3, r3, 1 +lbl_80317360: +/* 80317360 00312FC0 88 04 00 00 */ lbz r0, 0(r4) +/* 80317364 00312FC4 7C 00 07 75 */ extsb. r0, r0 +/* 80317368 00312FC8 40 82 FF E4 */ bne lbl_8031734C +lbl_8031736C: +/* 8031736C 00312FCC 2C 09 00 0B */ cmpwi r9, 0xb +/* 80317370 00312FD0 20 89 00 0B */ subfic r4, r9, 0xb +/* 80317374 00312FD4 38 A0 00 20 */ li r5, 0x20 +/* 80317378 00312FD8 40 80 00 50 */ bge lbl_803173C8 +/* 8031737C 00312FDC 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f +/* 80317380 00312FE0 7C 09 03 A6 */ mtctr r0 +/* 80317384 00312FE4 41 82 00 34 */ beq lbl_803173B8 +lbl_80317388: +/* 80317388 00312FE8 98 A3 00 00 */ stb r5, 0(r3) +/* 8031738C 00312FEC 98 A3 00 01 */ stb r5, 1(r3) +/* 80317390 00312FF0 98 A3 00 02 */ stb r5, 2(r3) +/* 80317394 00312FF4 98 A3 00 03 */ stb r5, 3(r3) +/* 80317398 00312FF8 98 A3 00 04 */ stb r5, 4(r3) +/* 8031739C 00312FFC 98 A3 00 05 */ stb r5, 5(r3) +/* 803173A0 00313000 98 A3 00 06 */ stb r5, 6(r3) +/* 803173A4 00313004 98 A3 00 07 */ stb r5, 7(r3) +/* 803173A8 00313008 38 63 00 08 */ addi r3, r3, 8 +/* 803173AC 0031300C 42 00 FF DC */ bdnz lbl_80317388 +/* 803173B0 00313010 70 84 00 07 */ andi. r4, r4, 7 +/* 803173B4 00313014 41 82 00 14 */ beq lbl_803173C8 +lbl_803173B8: +/* 803173B8 00313018 7C 89 03 A6 */ mtctr r4 +lbl_803173BC: +/* 803173BC 0031301C 98 A3 00 00 */ stb r5, 0(r3) +/* 803173C0 00313020 38 63 00 01 */ addi r3, r3, 1 +/* 803173C4 00313024 42 00 FF F8 */ bdnz lbl_803173BC +lbl_803173C8: +/* 803173C8 00313028 38 60 00 00 */ li r3, 0 +/* 803173CC 0031302C 4E 80 00 20 */ blr + +.global func_803173D0 +func_803173D0: +/* 803173D0 00313030 88 C4 00 00 */ lbz r6, 0(r4) +/* 803173D4 00313034 38 E0 FF FF */ li r7, -1 +/* 803173D8 00313038 2C 06 00 20 */ cmpwi r6, 0x20 +/* 803173DC 0031303C 98 C3 00 00 */ stb r6, 0(r3) +/* 803173E0 00313040 41 82 00 08 */ beq lbl_803173E8 +/* 803173E4 00313044 38 E0 00 00 */ li r7, 0 +lbl_803173E8: +/* 803173E8 00313048 88 C4 00 01 */ lbz r6, 1(r4) +/* 803173EC 0031304C 2C 06 00 20 */ cmpwi r6, 0x20 +/* 803173F0 00313050 98 C3 00 01 */ stb r6, 1(r3) +/* 803173F4 00313054 41 82 00 08 */ beq lbl_803173FC +/* 803173F8 00313058 38 E0 00 01 */ li r7, 1 +lbl_803173FC: +/* 803173FC 0031305C 88 C4 00 02 */ lbz r6, 2(r4) +/* 80317400 00313060 2C 06 00 20 */ cmpwi r6, 0x20 +/* 80317404 00313064 98 C3 00 02 */ stb r6, 2(r3) +/* 80317408 00313068 41 82 00 08 */ beq lbl_80317410 +/* 8031740C 0031306C 38 E0 00 02 */ li r7, 2 +lbl_80317410: +/* 80317410 00313070 88 C4 00 03 */ lbz r6, 3(r4) +/* 80317414 00313074 2C 06 00 20 */ cmpwi r6, 0x20 +/* 80317418 00313078 98 C3 00 03 */ stb r6, 3(r3) +/* 8031741C 0031307C 41 82 00 08 */ beq lbl_80317424 +/* 80317420 00313080 38 E0 00 03 */ li r7, 3 +lbl_80317424: +/* 80317424 00313084 88 C4 00 04 */ lbz r6, 4(r4) +/* 80317428 00313088 2C 06 00 20 */ cmpwi r6, 0x20 +/* 8031742C 0031308C 98 C3 00 04 */ stb r6, 4(r3) +/* 80317430 00313090 41 82 00 08 */ beq lbl_80317438 +/* 80317434 00313094 38 E0 00 04 */ li r7, 4 +lbl_80317438: +/* 80317438 00313098 88 C4 00 05 */ lbz r6, 5(r4) +/* 8031743C 0031309C 2C 06 00 20 */ cmpwi r6, 0x20 +/* 80317440 003130A0 98 C3 00 05 */ stb r6, 5(r3) +/* 80317444 003130A4 41 82 00 08 */ beq lbl_8031744C +/* 80317448 003130A8 38 E0 00 05 */ li r7, 5 +lbl_8031744C: +/* 8031744C 003130AC 88 C4 00 06 */ lbz r6, 6(r4) +/* 80317450 003130B0 2C 06 00 20 */ cmpwi r6, 0x20 +/* 80317454 003130B4 98 C3 00 06 */ stb r6, 6(r3) +/* 80317458 003130B8 41 82 00 08 */ beq lbl_80317460 +/* 8031745C 003130BC 38 E0 00 06 */ li r7, 6 +lbl_80317460: +/* 80317460 003130C0 88 C4 00 07 */ lbz r6, 7(r4) +/* 80317464 003130C4 2C 06 00 20 */ cmpwi r6, 0x20 +/* 80317468 003130C8 98 C3 00 07 */ stb r6, 7(r3) +/* 8031746C 003130CC 41 82 00 08 */ beq lbl_80317474 +/* 80317470 003130D0 38 E0 00 07 */ li r7, 7 +lbl_80317474: +/* 80317474 003130D4 34 E7 00 01 */ addic. r7, r7, 1 +/* 80317478 003130D8 7C E3 3A 14 */ add r7, r3, r7 +/* 8031747C 003130DC 40 82 00 0C */ bne lbl_80317488 +/* 80317480 003130E0 38 60 00 0A */ li r3, 0xa +/* 80317484 003130E4 4E 80 00 20 */ blr +lbl_80317488: +/* 80317488 003130E8 88 04 00 08 */ lbz r0, 8(r4) +/* 8031748C 003130EC 38 C0 00 07 */ li r6, 7 +/* 80317490 003130F0 28 00 00 20 */ cmplwi r0, 0x20 +/* 80317494 003130F4 41 82 00 08 */ beq lbl_8031749C +/* 80317498 003130F8 38 C0 00 08 */ li r6, 8 +lbl_8031749C: +/* 8031749C 003130FC 88 04 00 09 */ lbz r0, 9(r4) +/* 803174A0 00313100 28 00 00 20 */ cmplwi r0, 0x20 +/* 803174A4 00313104 41 82 00 08 */ beq lbl_803174AC +/* 803174A8 00313108 38 C0 00 09 */ li r6, 9 +lbl_803174AC: +/* 803174AC 0031310C 88 04 00 0A */ lbz r0, 0xa(r4) +/* 803174B0 00313110 28 00 00 20 */ cmplwi r0, 0x20 +/* 803174B4 00313114 41 82 00 08 */ beq lbl_803174BC +/* 803174B8 00313118 38 C0 00 0A */ li r6, 0xa +lbl_803174BC: +/* 803174BC 0031311C 2C 06 00 07 */ cmpwi r6, 7 +/* 803174C0 00313120 40 81 01 5C */ ble lbl_8031761C +/* 803174C4 00313124 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c +/* 803174C8 00313128 40 82 00 10 */ bne lbl_803174D8 +/* 803174CC 0031312C 38 00 00 2E */ li r0, 0x2e +/* 803174D0 00313130 98 07 00 00 */ stb r0, 0(r7) +/* 803174D4 00313134 38 E7 00 01 */ addi r7, r7, 1 +lbl_803174D8: +/* 803174D8 00313138 2C 86 00 08 */ cmpwi cr1, r6, 8 +/* 803174DC 0031313C 38 60 00 08 */ li r3, 8 +/* 803174E0 00313140 41 84 01 3C */ blt cr1, lbl_8031761C +/* 803174E4 00313144 38 06 FF F9 */ addi r0, r6, -7 +/* 803174E8 00313148 39 06 FF F8 */ addi r8, r6, -8 +/* 803174EC 0031314C 2C 00 00 08 */ cmpwi r0, 8 +/* 803174F0 00313150 40 81 01 00 */ ble lbl_803175F0 +/* 803174F4 00313154 39 20 00 00 */ li r9, 0 +/* 803174F8 00313158 39 40 00 00 */ li r10, 0 +/* 803174FC 0031315C 39 60 00 00 */ li r11, 0 +/* 80317500 00313160 41 84 00 18 */ blt cr1, lbl_80317518 +/* 80317504 00313164 3C A0 80 00 */ lis r5, 0x7FFFFFFE@ha +/* 80317508 00313168 38 05 FF FE */ addi r0, r5, 0x7FFFFFFE@l +/* 8031750C 0031316C 7C 06 00 00 */ cmpw r6, r0 +/* 80317510 00313170 41 81 00 08 */ bgt lbl_80317518 +/* 80317514 00313174 39 60 00 01 */ li r11, 1 +lbl_80317518: +/* 80317518 00313178 2C 0B 00 00 */ cmpwi r11, 0 +/* 8031751C 0031317C 41 82 00 38 */ beq lbl_80317554 +/* 80317520 00313180 54 CB 00 00 */ rlwinm r11, r6, 0, 0, 0 +/* 80317524 00313184 38 A0 00 01 */ li r5, 1 +/* 80317528 00313188 3C 0B 80 00 */ addis r0, r11, 0x8000 +/* 8031752C 0031318C 28 00 00 00 */ cmplwi r0, 0 +/* 80317530 00313190 40 82 00 18 */ bne lbl_80317548 +/* 80317534 00313194 38 06 FF F8 */ addi r0, r6, -8 +/* 80317538 00313198 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 +/* 8031753C 0031319C 7C 0B 00 00 */ cmpw r11, r0 +/* 80317540 003131A0 41 82 00 08 */ beq lbl_80317548 +/* 80317544 003131A4 38 A0 00 00 */ li r5, 0 +lbl_80317548: +/* 80317548 003131A8 2C 05 00 00 */ cmpwi r5, 0 +/* 8031754C 003131AC 41 82 00 08 */ beq lbl_80317554 +/* 80317550 003131B0 39 40 00 01 */ li r10, 1 +lbl_80317554: +/* 80317554 003131B4 2C 0A 00 00 */ cmpwi r10, 0 +/* 80317558 003131B8 41 82 00 30 */ beq lbl_80317588 +/* 8031755C 003131BC 38 06 FF F8 */ addi r0, r6, -8 +/* 80317560 003131C0 38 A0 00 01 */ li r5, 1 +/* 80317564 003131C4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 +/* 80317568 003131C8 40 82 00 14 */ bne lbl_8031757C +/* 8031756C 003131CC 38 06 FF F9 */ addi r0, r6, -7 +/* 80317570 003131D0 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 +/* 80317574 003131D4 41 82 00 08 */ beq lbl_8031757C +/* 80317578 003131D8 38 A0 00 00 */ li r5, 0 +lbl_8031757C: +/* 8031757C 003131DC 2C 05 00 00 */ cmpwi r5, 0 +/* 80317580 003131E0 41 82 00 08 */ beq lbl_80317588 +/* 80317584 003131E4 39 20 00 01 */ li r9, 1 +lbl_80317588: +/* 80317588 003131E8 2C 09 00 00 */ cmpwi r9, 0 +/* 8031758C 003131EC 41 82 00 64 */ beq lbl_803175F0 +/* 80317590 003131F0 55 00 E8 FE */ srwi r0, r8, 3 +/* 80317594 003131F4 7C 09 03 A6 */ mtctr r0 +/* 80317598 003131F8 2C 08 00 08 */ cmpwi r8, 8 +/* 8031759C 003131FC 41 80 00 54 */ blt lbl_803175F0 +lbl_803175A0: +/* 803175A0 00313200 7C A4 18 AE */ lbzx r5, r4, r3 +/* 803175A4 00313204 7D 04 1A 14 */ add r8, r4, r3 +/* 803175A8 00313208 88 08 00 01 */ lbz r0, 1(r8) +/* 803175AC 0031320C 38 63 00 08 */ addi r3, r3, 8 +/* 803175B0 00313210 98 A7 00 00 */ stb r5, 0(r7) +/* 803175B4 00313214 88 A8 00 02 */ lbz r5, 2(r8) +/* 803175B8 00313218 98 07 00 01 */ stb r0, 1(r7) +/* 803175BC 0031321C 88 08 00 03 */ lbz r0, 3(r8) +/* 803175C0 00313220 98 A7 00 02 */ stb r5, 2(r7) +/* 803175C4 00313224 88 A8 00 04 */ lbz r5, 4(r8) +/* 803175C8 00313228 98 07 00 03 */ stb r0, 3(r7) +/* 803175CC 0031322C 88 08 00 05 */ lbz r0, 5(r8) +/* 803175D0 00313230 98 A7 00 04 */ stb r5, 4(r7) +/* 803175D4 00313234 88 A8 00 06 */ lbz r5, 6(r8) +/* 803175D8 00313238 98 07 00 05 */ stb r0, 5(r7) +/* 803175DC 0031323C 88 08 00 07 */ lbz r0, 7(r8) +/* 803175E0 00313240 98 A7 00 06 */ stb r5, 6(r7) +/* 803175E4 00313244 98 07 00 07 */ stb r0, 7(r7) +/* 803175E8 00313248 38 E7 00 08 */ addi r7, r7, 8 +/* 803175EC 0031324C 42 00 FF B4 */ bdnz lbl_803175A0 +lbl_803175F0: +/* 803175F0 00313250 38 06 00 01 */ addi r0, r6, 1 +/* 803175F4 00313254 7C 84 1A 14 */ add r4, r4, r3 +/* 803175F8 00313258 7C 03 00 50 */ subf r0, r3, r0 +/* 803175FC 0031325C 7C 09 03 A6 */ mtctr r0 +/* 80317600 00313260 7C 03 30 00 */ cmpw r3, r6 +/* 80317604 00313264 41 81 00 18 */ bgt lbl_8031761C +lbl_80317608: +/* 80317608 00313268 88 04 00 00 */ lbz r0, 0(r4) +/* 8031760C 0031326C 38 84 00 01 */ addi r4, r4, 1 +/* 80317610 00313270 98 07 00 00 */ stb r0, 0(r7) +/* 80317614 00313274 38 E7 00 01 */ addi r7, r7, 1 +/* 80317618 00313278 42 00 FF F0 */ bdnz lbl_80317608 +lbl_8031761C: +/* 8031761C 0031327C 38 00 00 00 */ li r0, 0 +/* 80317620 00313280 38 60 00 00 */ li r3, 0 +/* 80317624 00313284 98 07 00 00 */ stb r0, 0(r7) +/* 80317628 00313288 4E 80 00 20 */ blr + +.global func_8031762C +func_8031762C: +/* 8031762C 0031328C 38 00 00 02 */ li r0, 2 +/* 80317630 00313290 7C 67 1B 78 */ mr r7, r3 +/* 80317634 00313294 7C 86 23 78 */ mr r6, r4 +/* 80317638 00313298 54 A8 07 38 */ rlwinm r8, r5, 0, 0x1c, 0x1c +/* 8031763C 0031329C 39 40 00 00 */ li r10, 0 +/* 80317640 003132A0 7C 09 03 A6 */ mtctr r0 +lbl_80317644: +/* 80317644 003132A4 89 27 00 00 */ lbz r9, 0(r7) +/* 80317648 003132A8 7D 20 07 75 */ extsb. r0, r9 +/* 8031764C 003132AC 41 82 01 04 */ beq lbl_80317750 +/* 80317650 003132B0 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80317654 003132B4 41 82 00 FC */ beq lbl_80317750 +/* 80317658 003132B8 2C 08 00 00 */ cmpwi r8, 0 +/* 8031765C 003132BC 41 82 00 20 */ beq lbl_8031767C +/* 80317660 003132C0 2C 00 00 41 */ cmpwi r0, 0x41 +/* 80317664 003132C4 41 80 00 18 */ blt lbl_8031767C +/* 80317668 003132C8 2C 00 00 5A */ cmpwi r0, 0x5a +/* 8031766C 003132CC 41 81 00 10 */ bgt lbl_8031767C +/* 80317670 003132D0 38 09 00 20 */ addi r0, r9, 0x20 +/* 80317674 003132D4 98 06 00 00 */ stb r0, 0(r6) +/* 80317678 003132D8 48 00 00 08 */ b lbl_80317680 +lbl_8031767C: +/* 8031767C 003132DC 99 26 00 00 */ stb r9, 0(r6) +lbl_80317680: +/* 80317680 003132E0 89 27 00 01 */ lbz r9, 1(r7) +/* 80317684 003132E4 39 4A 00 01 */ addi r10, r10, 1 +/* 80317688 003132E8 7D 20 07 75 */ extsb. r0, r9 +/* 8031768C 003132EC 41 82 00 C4 */ beq lbl_80317750 +/* 80317690 003132F0 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80317694 003132F4 41 82 00 BC */ beq lbl_80317750 +/* 80317698 003132F8 2C 08 00 00 */ cmpwi r8, 0 +/* 8031769C 003132FC 41 82 00 20 */ beq lbl_803176BC +/* 803176A0 00313300 2C 00 00 41 */ cmpwi r0, 0x41 +/* 803176A4 00313304 41 80 00 18 */ blt lbl_803176BC +/* 803176A8 00313308 2C 00 00 5A */ cmpwi r0, 0x5a +/* 803176AC 0031330C 41 81 00 10 */ bgt lbl_803176BC +/* 803176B0 00313310 38 09 00 20 */ addi r0, r9, 0x20 +/* 803176B4 00313314 98 06 00 01 */ stb r0, 1(r6) +/* 803176B8 00313318 48 00 00 08 */ b lbl_803176C0 +lbl_803176BC: +/* 803176BC 0031331C 99 26 00 01 */ stb r9, 1(r6) +lbl_803176C0: +/* 803176C0 00313320 89 27 00 02 */ lbz r9, 2(r7) +/* 803176C4 00313324 39 4A 00 01 */ addi r10, r10, 1 +/* 803176C8 00313328 7D 20 07 75 */ extsb. r0, r9 +/* 803176CC 0031332C 41 82 00 84 */ beq lbl_80317750 +/* 803176D0 00313330 2C 00 00 2E */ cmpwi r0, 0x2e +/* 803176D4 00313334 41 82 00 7C */ beq lbl_80317750 +/* 803176D8 00313338 2C 08 00 00 */ cmpwi r8, 0 +/* 803176DC 0031333C 41 82 00 20 */ beq lbl_803176FC +/* 803176E0 00313340 2C 00 00 41 */ cmpwi r0, 0x41 +/* 803176E4 00313344 41 80 00 18 */ blt lbl_803176FC +/* 803176E8 00313348 2C 00 00 5A */ cmpwi r0, 0x5a +/* 803176EC 0031334C 41 81 00 10 */ bgt lbl_803176FC +/* 803176F0 00313350 38 09 00 20 */ addi r0, r9, 0x20 +/* 803176F4 00313354 98 06 00 02 */ stb r0, 2(r6) +/* 803176F8 00313358 48 00 00 08 */ b lbl_80317700 +lbl_803176FC: +/* 803176FC 0031335C 99 26 00 02 */ stb r9, 2(r6) +lbl_80317700: +/* 80317700 00313360 89 27 00 03 */ lbz r9, 3(r7) +/* 80317704 00313364 39 4A 00 01 */ addi r10, r10, 1 +/* 80317708 00313368 7D 20 07 75 */ extsb. r0, r9 +/* 8031770C 0031336C 41 82 00 44 */ beq lbl_80317750 +/* 80317710 00313370 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80317714 00313374 41 82 00 3C */ beq lbl_80317750 +/* 80317718 00313378 2C 08 00 00 */ cmpwi r8, 0 +/* 8031771C 0031337C 41 82 00 20 */ beq lbl_8031773C +/* 80317720 00313380 2C 00 00 41 */ cmpwi r0, 0x41 +/* 80317724 00313384 41 80 00 18 */ blt lbl_8031773C +/* 80317728 00313388 2C 00 00 5A */ cmpwi r0, 0x5a +/* 8031772C 0031338C 41 81 00 10 */ bgt lbl_8031773C +/* 80317730 00313390 38 09 00 20 */ addi r0, r9, 0x20 +/* 80317734 00313394 98 06 00 03 */ stb r0, 3(r6) +/* 80317738 00313398 48 00 00 08 */ b lbl_80317740 +lbl_8031773C: +/* 8031773C 0031339C 99 26 00 03 */ stb r9, 3(r6) +lbl_80317740: +/* 80317740 003133A0 39 4A 00 01 */ addi r10, r10, 1 +/* 80317744 003133A4 38 C6 00 04 */ addi r6, r6, 4 +/* 80317748 003133A8 38 E7 00 04 */ addi r7, r7, 4 +/* 8031774C 003133AC 42 00 FE F8 */ bdnz lbl_80317644 +lbl_80317750: +/* 80317750 003133B0 7C 03 50 AE */ lbzx r0, r3, r10 +/* 80317754 003133B4 7C 00 07 74 */ extsb r0, r0 +/* 80317758 003133B8 2C 00 00 2E */ cmpwi r0, 0x2e +/* 8031775C 003133BC 40 82 00 10 */ bne lbl_8031776C +/* 80317760 003133C0 38 00 00 2E */ li r0, 0x2e +/* 80317764 003133C4 7C 04 51 AE */ stbx r0, r4, r10 +/* 80317768 003133C8 39 4A 00 01 */ addi r10, r10, 1 +lbl_8031776C: +/* 8031776C 003133CC 38 EA 00 03 */ addi r7, r10, 3 +/* 80317770 003133D0 54 A6 06 F6 */ rlwinm r6, r5, 0, 0x1b, 0x1b +/* 80317774 003133D4 7C 0A 38 50 */ subf r0, r10, r7 +/* 80317778 003133D8 7C A3 52 14 */ add r5, r3, r10 +/* 8031777C 003133DC 7C 64 52 14 */ add r3, r4, r10 +/* 80317780 003133E0 7C 09 03 A6 */ mtctr r0 +/* 80317784 003133E4 7C 0A 38 00 */ cmpw r10, r7 +/* 80317788 003133E8 40 80 00 48 */ bge lbl_803177D0 +lbl_8031778C: +/* 8031778C 003133EC 88 E5 00 00 */ lbz r7, 0(r5) +/* 80317790 003133F0 7C E0 07 75 */ extsb. r0, r7 +/* 80317794 003133F4 41 82 00 3C */ beq lbl_803177D0 +/* 80317798 003133F8 2C 06 00 00 */ cmpwi r6, 0 +/* 8031779C 003133FC 41 82 00 20 */ beq lbl_803177BC +/* 803177A0 00313400 2C 00 00 41 */ cmpwi r0, 0x41 +/* 803177A4 00313404 41 80 00 18 */ blt lbl_803177BC +/* 803177A8 00313408 2C 00 00 5A */ cmpwi r0, 0x5a +/* 803177AC 0031340C 41 81 00 10 */ bgt lbl_803177BC +/* 803177B0 00313410 38 07 00 20 */ addi r0, r7, 0x20 +/* 803177B4 00313414 98 03 00 00 */ stb r0, 0(r3) +/* 803177B8 00313418 48 00 00 08 */ b lbl_803177C0 +lbl_803177BC: +/* 803177BC 0031341C 98 E3 00 00 */ stb r7, 0(r3) +lbl_803177C0: +/* 803177C0 00313420 39 4A 00 01 */ addi r10, r10, 1 +/* 803177C4 00313424 38 63 00 01 */ addi r3, r3, 1 +/* 803177C8 00313428 38 A5 00 01 */ addi r5, r5, 1 +/* 803177CC 0031342C 42 00 FF C0 */ bdnz lbl_8031778C +lbl_803177D0: +/* 803177D0 00313430 38 00 00 00 */ li r0, 0 +/* 803177D4 00313434 7C 04 51 AE */ stbx r0, r4, r10 +/* 803177D8 00313438 4E 80 00 20 */ blr + +.global func_803177DC +func_803177DC: +/* 803177DC 0031343C 38 C0 00 00 */ li r6, 0 +/* 803177E0 00313440 38 E0 00 00 */ li r7, 0 +/* 803177E4 00313444 48 00 00 48 */ b lbl_8031782C +lbl_803177E8: +/* 803177E8 00313448 2C 06 00 08 */ cmpwi r6, 8 +/* 803177EC 0031344C 40 82 00 2C */ bne lbl_80317818 +/* 803177F0 00313450 7C A0 07 74 */ extsb r0, r5 +/* 803177F4 00313454 2C 00 00 20 */ cmpwi r0, 0x20 +/* 803177F8 00313458 40 82 00 1C */ bne lbl_80317814 +/* 803177FC 0031345C 88 04 00 01 */ lbz r0, 1(r4) +/* 80317800 00313460 2C 00 00 20 */ cmpwi r0, 0x20 +/* 80317804 00313464 40 82 00 10 */ bne lbl_80317814 +/* 80317808 00313468 88 04 00 02 */ lbz r0, 2(r4) +/* 8031780C 0031346C 2C 00 00 20 */ cmpwi r0, 0x20 +/* 80317810 00313470 41 82 00 08 */ beq lbl_80317818 +lbl_80317814: +/* 80317814 00313474 38 E7 00 01 */ addi r7, r7, 1 +lbl_80317818: +/* 80317818 00313478 7C A0 07 74 */ extsb r0, r5 +/* 8031781C 0031347C 2C 00 00 20 */ cmpwi r0, 0x20 +/* 80317820 00313480 41 82 00 08 */ beq lbl_80317828 +/* 80317824 00313484 38 E7 00 01 */ addi r7, r7, 1 +lbl_80317828: +/* 80317828 00313488 38 C6 00 01 */ addi r6, r6, 1 +lbl_8031782C: +/* 8031782C 0031348C 7C A3 30 AE */ lbzx r5, r3, r6 +/* 80317830 00313490 7C 83 32 14 */ add r4, r3, r6 +/* 80317834 00313494 7C A0 07 75 */ extsb. r0, r5 +/* 80317838 00313498 40 82 FF B0 */ bne lbl_803177E8 +/* 8031783C 0031349C 7C E3 3B 78 */ mr r3, r7 +/* 80317840 003134A0 4E 80 00 20 */ blr + +.global func_80317844 +func_80317844: +/* 80317844 003134A4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80317848 003134A8 7C 08 02 A6 */ mflr r0 +/* 8031784C 003134AC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80317850 003134B0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80317854 003134B4 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha +/* 80317858 003134B8 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l +/* 8031785C 003134BC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80317860 003134C0 3B C0 00 00 */ li r30, 0 +/* 80317864 003134C4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80317868 003134C8 3B A0 00 00 */ li r29, 0 +/* 8031786C 003134CC 93 81 00 10 */ stw r28, 0x10(r1) +/* 80317870 003134D0 7C 7C 1B 78 */ mr r28, r3 +/* 80317874 003134D4 48 00 00 38 */ b lbl_803178AC +lbl_80317878: +/* 80317878 003134D8 81 9F 00 28 */ lwz r12, 0x28(r31) +/* 8031787C 003134DC 7C 7C 1A 14 */ add r3, r28, r3 +/* 80317880 003134E0 38 81 00 08 */ addi r4, r1, 8 +/* 80317884 003134E4 7D 89 03 A6 */ mtctr r12 +/* 80317888 003134E8 4E 80 04 21 */ bctrl +/* 8031788C 003134EC 38 81 00 0E */ addi r4, r1, 0xe +/* 80317890 003134F0 38 A1 00 0C */ addi r5, r1, 0xc +/* 80317894 003134F4 4B FE D9 0D */ bl VFiPFCODE_Divide_Width +/* 80317898 003134F8 A8 01 00 0C */ lha r0, 0xc(r1) +/* 8031789C 003134FC A8 61 00 0E */ lha r3, 0xe(r1) +/* 803178A0 00313500 7C 00 0E 70 */ srawi r0, r0, 1 +/* 803178A4 00313504 7F BD 1A 14 */ add r29, r29, r3 +/* 803178A8 00313508 7F DE 02 14 */ add r30, r30, r0 +lbl_803178AC: +/* 803178AC 0031350C 57 C3 08 3C */ slwi r3, r30, 1 +/* 803178B0 00313510 7C 1C 1A 2E */ lhzx r0, r28, r3 +/* 803178B4 00313514 2C 00 00 00 */ cmpwi r0, 0 +/* 803178B8 00313518 40 82 FF C0 */ bne lbl_80317878 +/* 803178BC 0031351C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803178C0 00313520 7F A3 EB 78 */ mr r3, r29 +/* 803178C4 00313524 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803178C8 00313528 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 803178CC 0031352C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 803178D0 00313530 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803178D4 00313534 7C 08 03 A6 */ mtlr r0 +/* 803178D8 00313538 38 21 00 20 */ addi r1, r1, 0x20 +/* 803178DC 0031353C 4E 80 00 20 */ blr + +.global func_803178E0 +func_803178E0: +/* 803178E0 00313540 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803178E4 00313544 7C 08 02 A6 */ mflr r0 +/* 803178E8 00313548 90 01 00 34 */ stw r0, 0x34(r1) +/* 803178EC 0031354C 39 61 00 30 */ addi r11, r1, 0x30 +/* 803178F0 00313550 4B EA F8 35 */ bl _savegpr_26 +/* 803178F4 00313554 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 803178F8 00313558 7C 7F 1B 78 */ mr r31, r3 +/* 803178FC 0031355C 3B 85 F5 C8 */ addi r28, r5, lbl_8057F5C8@l +/* 80317900 00313560 7C 9A 23 78 */ mr r26, r4 +/* 80317904 00313564 80 1C 00 3C */ lwz r0, 0x3c(r28) +/* 80317908 00313568 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 8031790C 0031356C 28 00 00 02 */ cmplwi r0, 2 +/* 80317910 00313570 40 82 00 8C */ bne lbl_8031799C +/* 80317914 00313574 38 00 00 00 */ li r0, 0 +/* 80317918 00313578 3B 80 00 2E */ li r28, 0x2e +/* 8031791C 0031357C 3B A0 00 20 */ li r29, 0x20 +/* 80317920 00313580 B3 81 00 10 */ sth r28, 0x10(r1) +/* 80317924 00313584 7F 5B D3 78 */ mr r27, r26 +/* 80317928 00313588 3B C0 00 5F */ li r30, 0x5f +/* 8031792C 0031358C B0 01 00 12 */ sth r0, 0x12(r1) +/* 80317930 00313590 B3 A1 00 0C */ sth r29, 0xc(r1) +/* 80317934 00313594 B0 01 00 0E */ sth r0, 0xe(r1) +/* 80317938 00313598 48 00 00 54 */ b lbl_8031798C +lbl_8031793C: +/* 8031793C 0031359C 7F 43 D3 78 */ mr r3, r26 +/* 80317940 003135A0 38 81 00 10 */ addi r4, r1, 0x10 +/* 80317944 003135A4 38 A0 00 01 */ li r5, 1 +/* 80317948 003135A8 4B FE DF 61 */ bl VFipf_w_strncmp +/* 8031794C 003135AC 2C 03 00 00 */ cmpwi r3, 0 +/* 80317950 003135B0 40 82 00 0C */ bne lbl_8031795C +/* 80317954 003135B4 9B 9F 00 00 */ stb r28, 0(r31) +/* 80317958 003135B8 48 00 00 28 */ b lbl_80317980 +lbl_8031795C: +/* 8031795C 003135BC 7F 43 D3 78 */ mr r3, r26 +/* 80317960 003135C0 38 81 00 0C */ addi r4, r1, 0xc +/* 80317964 003135C4 38 A0 00 01 */ li r5, 1 +/* 80317968 003135C8 4B FE DF 41 */ bl VFipf_w_strncmp +/* 8031796C 003135CC 2C 03 00 00 */ cmpwi r3, 0 +/* 80317970 003135D0 40 82 00 0C */ bne lbl_8031797C +/* 80317974 003135D4 9B BF 00 00 */ stb r29, 0(r31) +/* 80317978 003135D8 48 00 00 08 */ b lbl_80317980 +lbl_8031797C: +/* 8031797C 003135DC 9B DF 00 00 */ stb r30, 0(r31) +lbl_80317980: +/* 80317980 003135E0 3B FF 00 01 */ addi r31, r31, 1 +/* 80317984 003135E4 3B 5A 00 02 */ addi r26, r26, 2 +/* 80317988 003135E8 3B 7B 00 02 */ addi r27, r27, 2 +lbl_8031798C: +/* 8031798C 003135EC A0 1B 00 00 */ lhz r0, 0(r27) +/* 80317990 003135F0 2C 00 00 00 */ cmpwi r0, 0 +/* 80317994 003135F4 40 82 FF A8 */ bne lbl_8031793C +/* 80317998 003135F8 48 00 00 50 */ b lbl_803179E8 +lbl_8031799C: +/* 8031799C 003135FC 3B 60 00 00 */ li r27, 0 +/* 803179A0 00313600 48 00 00 38 */ b lbl_803179D8 +lbl_803179A4: +/* 803179A4 00313604 81 9C 00 28 */ lwz r12, 0x28(r28) +/* 803179A8 00313608 7F E4 FB 78 */ mr r4, r31 +/* 803179AC 0031360C 7C 7A 1A 14 */ add r3, r26, r3 +/* 803179B0 00313610 7D 89 03 A6 */ mtctr r12 +/* 803179B4 00313614 4E 80 04 21 */ bctrl +/* 803179B8 00313618 38 81 00 0A */ addi r4, r1, 0xa +/* 803179BC 0031361C 38 A1 00 08 */ addi r5, r1, 8 +/* 803179C0 00313620 4B FE D7 E1 */ bl VFiPFCODE_Divide_Width +/* 803179C4 00313624 A8 01 00 08 */ lha r0, 8(r1) +/* 803179C8 00313628 A8 61 00 0A */ lha r3, 0xa(r1) +/* 803179CC 0031362C 7C 00 0E 70 */ srawi r0, r0, 1 +/* 803179D0 00313630 7F FF 1A 14 */ add r31, r31, r3 +/* 803179D4 00313634 7F 7B 02 14 */ add r27, r27, r0 +lbl_803179D8: +/* 803179D8 00313638 57 63 08 3C */ slwi r3, r27, 1 +/* 803179DC 0031363C 7C 1A 1A 2E */ lhzx r0, r26, r3 +/* 803179E0 00313640 2C 00 00 00 */ cmpwi r0, 0 +/* 803179E4 00313644 40 82 FF C0 */ bne lbl_803179A4 +lbl_803179E8: +/* 803179E8 00313648 38 00 00 00 */ li r0, 0 +/* 803179EC 0031364C 39 61 00 30 */ addi r11, r1, 0x30 +/* 803179F0 00313650 98 1F 00 00 */ stb r0, 0(r31) +/* 803179F4 00313654 38 60 00 00 */ li r3, 0 +/* 803179F8 00313658 4B EA F7 79 */ bl _restgpr_26 +/* 803179FC 0031365C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80317A00 00313660 7C 08 03 A6 */ mtlr r0 +/* 80317A04 00313664 38 21 00 30 */ addi r1, r1, 0x30 +/* 80317A08 00313668 4E 80 00 20 */ blr + +.global func_80317A0C +func_80317A0C: +/* 80317A0C 0031366C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80317A10 00313670 7C 08 02 A6 */ mflr r0 +/* 80317A14 00313674 90 01 00 34 */ stw r0, 0x34(r1) +/* 80317A18 00313678 39 61 00 30 */ addi r11, r1, 0x30 +/* 80317A1C 0031367C 4B EA F7 0D */ bl _savegpr_27 +/* 80317A20 00313680 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha +/* 80317A24 00313684 7C 7B 1B 78 */ mr r27, r3 +/* 80317A28 00313688 7C 9C 23 78 */ mr r28, r4 +/* 80317A2C 0031368C 3B A0 00 00 */ li r29, 0 +/* 80317A30 00313690 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l +/* 80317A34 00313694 3B C0 00 00 */ li r30, 0 +/* 80317A38 00313698 48 00 00 3C */ b lbl_80317A74 +lbl_80317A3C: +/* 80317A3C 0031369C 81 9F 00 24 */ lwz r12, 0x24(r31) +/* 80317A40 003136A0 7F 64 DB 78 */ mr r4, r27 +/* 80317A44 003136A4 7C 7C F2 14 */ add r3, r28, r30 +/* 80317A48 003136A8 7D 89 03 A6 */ mtctr r12 +/* 80317A4C 003136AC 4E 80 04 21 */ bctrl +/* 80317A50 003136B0 38 81 00 0A */ addi r4, r1, 0xa +/* 80317A54 003136B4 38 A1 00 08 */ addi r5, r1, 8 +/* 80317A58 003136B8 4B FE D7 49 */ bl VFiPFCODE_Divide_Width +/* 80317A5C 003136BC A8 61 00 08 */ lha r3, 8(r1) +/* 80317A60 003136C0 3B BD 00 01 */ addi r29, r29, 1 +/* 80317A64 003136C4 A8 01 00 0A */ lha r0, 0xa(r1) +/* 80317A68 003136C8 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e +/* 80317A6C 003136CC 7F 7B 1A 14 */ add r27, r27, r3 +/* 80317A70 003136D0 7F DE 02 14 */ add r30, r30, r0 +lbl_80317A74: +/* 80317A74 003136D4 7C 1C F0 AE */ lbzx r0, r28, r30 +/* 80317A78 003136D8 7C 00 07 75 */ extsb. r0, r0 +/* 80317A7C 003136DC 40 82 FF C0 */ bne lbl_80317A3C +/* 80317A80 003136E0 38 00 00 00 */ li r0, 0 +/* 80317A84 003136E4 39 61 00 30 */ addi r11, r1, 0x30 +/* 80317A88 003136E8 B0 1B 00 00 */ sth r0, 0(r27) +/* 80317A8C 003136EC 7F A3 EB 78 */ mr r3, r29 +/* 80317A90 003136F0 4B EA F6 E5 */ bl _restgpr_27 +/* 80317A94 003136F4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80317A98 003136F8 7C 08 03 A6 */ mtlr r0 +/* 80317A9C 003136FC 38 21 00 30 */ addi r1, r1, 0x30 +/* 80317AA0 00313700 4E 80 00 20 */ blr + +.global func_80317AA4 +func_80317AA4: +/* 80317AA4 00313704 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 80317AA8 00313708 7C 08 02 A6 */ mflr r0 +/* 80317AAC 0031370C 90 01 00 64 */ stw r0, 0x64(r1) +/* 80317AB0 00313710 39 61 00 60 */ addi r11, r1, 0x60 +/* 80317AB4 00313714 4B EA F6 41 */ bl __save_gpr +/* 80317AB8 00313718 90 81 00 08 */ stw r4, 8(r1) +/* 80317ABC 0031371C 7C 7F 1B 78 */ mr r31, r3 +/* 80317AC0 00313720 7C 83 23 78 */ mr r3, r4 +/* 80317AC4 00313724 3A A0 00 00 */ li r21, 0 +/* 80317AC8 00313728 3A 80 00 00 */ li r20, 0 +/* 80317ACC 0031372C 38 80 00 03 */ li r4, 3 +/* 80317AD0 00313730 4B FE D8 41 */ bl VFiPFSTR_GetStrPos +/* 80317AD4 00313734 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80317AD8 00313738 7C 76 1B 78 */ mr r22, r3 +/* 80317ADC 0031373C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80317AE0 00313740 80 04 00 3C */ lwz r0, 0x3c(r4) +/* 80317AE4 00313744 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80317AE8 00313748 40 82 06 88 */ bne lbl_80318170 +/* 80317AEC 0031374C 48 00 00 0C */ b lbl_80317AF8 +lbl_80317AF0: +/* 80317AF0 00313750 3A 80 00 01 */ li r20, 1 +/* 80317AF4 00313754 3A D6 00 01 */ addi r22, r22, 1 +lbl_80317AF8: +/* 80317AF8 00313758 88 16 00 00 */ lbz r0, 0(r22) +/* 80317AFC 0031375C 7C 00 07 74 */ extsb r0, r0 +/* 80317B00 00313760 2C 00 00 20 */ cmpwi r0, 0x20 +/* 80317B04 00313764 41 82 FF EC */ beq lbl_80317AF0 +/* 80317B08 00313768 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80317B0C 0031376C 41 82 FF E4 */ beq lbl_80317AF0 +/* 80317B10 00313770 3A 00 00 00 */ li r16, 0 +/* 80317B14 00313774 38 80 00 00 */ li r4, 0 +/* 80317B18 00313778 38 A0 00 00 */ li r5, 0 +/* 80317B1C 0031377C 48 00 00 24 */ b lbl_80317B40 +lbl_80317B20: +/* 80317B20 00313780 7C 60 07 74 */ extsb r0, r3 +/* 80317B24 00313784 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80317B28 00313788 40 82 00 14 */ bne lbl_80317B3C +/* 80317B2C 0031378C 56 00 04 3F */ clrlwi. r0, r16, 0x10 +/* 80317B30 00313790 41 82 00 08 */ beq lbl_80317B38 +/* 80317B34 00313794 7E 04 83 78 */ mr r4, r16 +lbl_80317B38: +/* 80317B38 00313798 7C B0 2B 78 */ mr r16, r5 +lbl_80317B3C: +/* 80317B3C 0031379C 38 A5 00 01 */ addi r5, r5, 1 +lbl_80317B40: +/* 80317B40 003137A0 54 A0 04 3E */ clrlwi r0, r5, 0x10 +/* 80317B44 003137A4 7C 76 00 AE */ lbzx r3, r22, r0 +/* 80317B48 003137A8 7C 60 07 75 */ extsb. r0, r3 +/* 80317B4C 003137AC 40 82 FF D4 */ bne lbl_80317B20 +/* 80317B50 003137B0 56 00 04 3F */ clrlwi. r0, r16, 0x10 +/* 80317B54 003137B4 41 82 00 24 */ beq lbl_80317B78 +/* 80317B58 003137B8 7C 60 B2 14 */ add r3, r0, r22 +/* 80317B5C 003137BC 88 03 00 01 */ lbz r0, 1(r3) +/* 80317B60 003137C0 7C 00 07 75 */ extsb. r0, r0 +/* 80317B64 003137C4 40 82 00 14 */ bne lbl_80317B78 +/* 80317B68 003137C8 54 80 04 3F */ clrlwi. r0, r4, 0x10 +/* 80317B6C 003137CC 41 82 00 08 */ beq lbl_80317B74 +/* 80317B70 003137D0 7C 90 23 78 */ mr r16, r4 +lbl_80317B74: +/* 80317B74 003137D4 3A 80 00 01 */ li r20, 1 +lbl_80317B78: +/* 80317B78 003137D8 39 E0 00 00 */ li r15, 0 +/* 80317B7C 003137DC 3A 61 00 10 */ addi r19, r1, 0x10 +/* 80317B80 003137E0 3F 60 80 58 */ lis r27, lbl_8057F5C8@ha +/* 80317B84 003137E4 3F A0 80 40 */ lis r29, lbl_803FE220@ha +/* 80317B88 003137E8 B1 E1 00 10 */ sth r15, 0x10(r1) +/* 80317B8C 003137EC 7E 7A 9B 78 */ mr r26, r19 +/* 80317B90 003137F0 7E 7C 9B 78 */ mr r28, r19 +/* 80317B94 003137F4 3B 7B F5 C8 */ addi r27, r27, lbl_8057F5C8@l +/* 80317B98 003137F8 B1 E1 00 0E */ sth r15, 0xe(r1) +/* 80317B9C 003137FC 3B BD E2 20 */ addi r29, r29, lbl_803FE220@l +/* 80317BA0 00313800 3B 21 00 0E */ addi r25, r1, 0xe +/* 80317BA4 00313804 3B 00 00 00 */ li r24, 0 +/* 80317BA8 00313808 3A 40 00 01 */ li r18, 1 +/* 80317BAC 0031380C 3A 20 00 01 */ li r17, 1 +/* 80317BB0 00313810 39 C0 00 5F */ li r14, 0x5f +/* 80317BB4 00313814 48 00 02 84 */ b lbl_80317E38 +lbl_80317BB8: +/* 80317BB8 00313818 A0 01 00 10 */ lhz r0, 0x10(r1) +/* 80317BBC 0031381C 28 00 00 08 */ cmplwi r0, 8 +/* 80317BC0 00313820 41 82 00 18 */ beq lbl_80317BD8 +/* 80317BC4 00313824 56 03 04 3F */ clrlwi. r3, r16, 0x10 +/* 80317BC8 00313828 41 82 00 18 */ beq lbl_80317BE0 +/* 80317BCC 0031382C 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 80317BD0 00313830 7C 00 18 40 */ cmplw r0, r3 +/* 80317BD4 00313834 40 82 00 0C */ bne lbl_80317BE0 +lbl_80317BD8: +/* 80317BD8 00313838 7C 13 C8 40 */ cmplw r19, r25 +/* 80317BDC 0031383C 40 82 02 24 */ bne lbl_80317E00 +lbl_80317BE0: +/* 80317BE0 00313840 7C 80 07 74 */ extsb r0, r4 +/* 80317BE4 00313844 2C 00 00 20 */ cmpwi r0, 0x20 +/* 80317BE8 00313848 41 82 02 10 */ beq lbl_80317DF8 +/* 80317BEC 0031384C 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80317BF0 00313850 41 82 02 08 */ beq lbl_80317DF8 +/* 80317BF4 00313854 81 9B 00 2C */ lwz r12, 0x2c(r27) +/* 80317BF8 00313858 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 80317BFC 0031385C 7C 76 02 14 */ add r3, r22, r0 +/* 80317C00 00313860 7D 89 03 A6 */ mtctr r12 +/* 80317C04 00313864 4E 80 04 21 */ bctrl +/* 80317C08 00313868 2C 03 00 01 */ cmpwi r3, 1 +/* 80317C0C 0031386C 7C 77 1B 78 */ mr r23, r3 +/* 80317C10 00313870 41 82 01 44 */ beq lbl_80317D54 +/* 80317C14 00313874 57 04 04 3E */ clrlwi r4, r24, 0x10 +/* 80317C18 00313878 56 00 04 3E */ clrlwi r0, r16, 0x10 +/* 80317C1C 0031387C 7C 04 00 40 */ cmplw r4, r0 +/* 80317C20 00313880 41 80 00 0C */ blt lbl_80317C2C +/* 80317C24 00313884 2C 00 00 00 */ cmpwi r0, 0 +/* 80317C28 00313888 40 82 00 1C */ bne lbl_80317C44 +lbl_80317C2C: +/* 80317C2C 0031388C A0 01 00 10 */ lhz r0, 0x10(r1) +/* 80317C30 00313890 7C 00 1A 14 */ add r0, r0, r3 +/* 80317C34 00313894 2C 00 00 08 */ cmpwi r0, 8 +/* 80317C38 00313898 40 81 00 0C */ ble lbl_80317C44 +/* 80317C3C 0031389C 3A 80 00 01 */ li r20, 1 +/* 80317C40 003138A0 48 00 01 F4 */ b lbl_80317E34 +lbl_80317C44: +/* 80317C44 003138A4 56 04 04 3F */ clrlwi. r4, r16, 0x10 +/* 80317C48 003138A8 41 82 00 28 */ beq lbl_80317C70 +/* 80317C4C 003138AC 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 80317C50 003138B0 7C 00 20 40 */ cmplw r0, r4 +/* 80317C54 003138B4 40 81 00 1C */ ble lbl_80317C70 +/* 80317C58 003138B8 A0 A1 00 0E */ lhz r5, 0xe(r1) +/* 80317C5C 003138BC 7C 05 1A 14 */ add r0, r5, r3 +/* 80317C60 003138C0 2C 00 00 03 */ cmpwi r0, 3 +/* 80317C64 003138C4 40 81 00 0C */ ble lbl_80317C70 +/* 80317C68 003138C8 3A 80 00 01 */ li r20, 1 +/* 80317C6C 003138CC 48 00 01 E8 */ b lbl_80317E54 +lbl_80317C70: +/* 80317C70 003138D0 7C 13 D0 40 */ cmplw r19, r26 +/* 80317C74 003138D4 40 82 00 D0 */ bne lbl_80317D44 +/* 80317C78 003138D8 7E 51 93 78 */ mr r17, r18 +/* 80317C7C 003138DC 54 72 04 3E */ clrlwi r18, r3, 0x10 +/* 80317C80 003138E0 48 00 00 C4 */ b lbl_80317D44 +lbl_80317C84: +/* 80317C84 003138E4 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 80317C88 003138E8 81 9B 00 24 */ lwz r12, 0x24(r27) +/* 80317C8C 003138EC 7C B6 00 AE */ lbzx r5, r22, r0 +/* 80317C90 003138F0 7C 76 02 14 */ add r3, r22, r0 +/* 80317C94 003138F4 88 03 00 01 */ lbz r0, 1(r3) +/* 80317C98 003138F8 38 81 00 0C */ addi r4, r1, 0xc +/* 80317C9C 003138FC 54 A5 40 2E */ slwi r5, r5, 8 +/* 80317CA0 00313900 7C 05 02 14 */ add r0, r5, r0 +/* 80317CA4 00313904 54 1E 04 3E */ clrlwi r30, r0, 0x10 +/* 80317CA8 00313908 7D 89 03 A6 */ mtctr r12 +/* 80317CAC 0031390C 4E 80 04 21 */ bctrl +/* 80317CB0 00313910 A0 61 00 0C */ lhz r3, 0xc(r1) +/* 80317CB4 00313914 28 03 FF 41 */ cmplwi r3, 0xff41 +/* 80317CB8 00313918 41 80 00 1C */ blt lbl_80317CD4 +/* 80317CBC 0031391C 28 03 FF 5A */ cmplwi r3, 0xff5a +/* 80317CC0 00313920 41 81 00 14 */ bgt lbl_80317CD4 +/* 80317CC4 00313924 38 03 FF E0 */ addi r0, r3, -32 +/* 80317CC8 00313928 38 60 00 01 */ li r3, 1 +/* 80317CCC 0031392C B0 01 00 0C */ sth r0, 0xc(r1) +/* 80317CD0 00313930 48 00 00 08 */ b lbl_80317CD8 +lbl_80317CD4: +/* 80317CD4 00313934 38 60 00 00 */ li r3, 0 +lbl_80317CD8: +/* 80317CD8 00313938 28 03 00 01 */ cmplwi r3, 1 +/* 80317CDC 0031393C 40 82 00 20 */ bne lbl_80317CFC +/* 80317CE0 00313940 81 9B 00 28 */ lwz r12, 0x28(r27) +/* 80317CE4 00313944 38 61 00 0C */ addi r3, r1, 0xc +/* 80317CE8 00313948 7C 64 1B 78 */ mr r4, r3 +/* 80317CEC 0031394C 7D 89 03 A6 */ mtctr r12 +/* 80317CF0 00313950 4E 80 04 21 */ bctrl +/* 80317CF4 00313954 38 60 00 01 */ li r3, 1 +/* 80317CF8 00313958 48 00 00 08 */ b lbl_80317D00 +lbl_80317CFC: +/* 80317CFC 0031395C 38 60 00 00 */ li r3, 0 +lbl_80317D00: +/* 80317D00 00313960 2C 03 00 00 */ cmpwi r3, 0 +/* 80317D04 00313964 41 82 00 0C */ beq lbl_80317D10 +/* 80317D08 00313968 A3 C1 00 0C */ lhz r30, 0xc(r1) +/* 80317D0C 0031396C 3A A0 00 01 */ li r21, 1 +lbl_80317D10: +/* 80317D10 00313970 55 E0 04 3E */ clrlwi r0, r15, 0x10 +/* 80317D14 00313974 38 6F 00 02 */ addi r3, r15, 2 +/* 80317D18 00313978 7C 9F 02 14 */ add r4, r31, r0 +/* 80317D1C 0031397C 3A F7 FF FE */ addi r23, r23, -2 +/* 80317D20 00313980 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f +/* 80317D24 00313984 54 6F 04 3E */ clrlwi r15, r3, 0x10 +/* 80317D28 00313988 98 04 00 00 */ stb r0, 0(r4) +/* 80317D2C 0031398C 38 18 00 02 */ addi r0, r24, 2 +/* 80317D30 00313990 54 18 04 3E */ clrlwi r24, r0, 0x10 +/* 80317D34 00313994 9B C4 00 01 */ stb r30, 1(r4) +/* 80317D38 00313998 A0 73 00 00 */ lhz r3, 0(r19) +/* 80317D3C 0031399C 38 03 00 02 */ addi r0, r3, 2 +/* 80317D40 003139A0 B0 13 00 00 */ sth r0, 0(r19) +lbl_80317D44: +/* 80317D44 003139A4 2C 17 00 00 */ cmpwi r23, 0 +/* 80317D48 003139A8 40 82 FF 3C */ bne lbl_80317C84 +/* 80317D4C 003139AC 3B 18 FF FF */ addi r24, r24, -1 +/* 80317D50 003139B0 48 00 00 E4 */ b lbl_80317E34 +lbl_80317D54: +/* 80317D54 003139B4 7C 13 E0 40 */ cmplw r19, r28 +/* 80317D58 003139B8 40 82 00 0C */ bne lbl_80317D64 +/* 80317D5C 003139BC 7E 51 93 78 */ mr r17, r18 +/* 80317D60 003139C0 3A 40 00 01 */ li r18, 1 +lbl_80317D64: +/* 80317D64 003139C4 80 1B 00 14 */ lwz r0, 0x14(r27) +/* 80317D68 003139C8 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf +/* 80317D6C 003139CC 40 82 00 28 */ bne lbl_80317D94 +/* 80317D70 003139D0 7C 16 F0 AE */ lbzx r0, r22, r30 +/* 80317D74 003139D4 28 00 00 80 */ cmplwi r0, 0x80 +/* 80317D78 003139D8 40 80 00 1C */ bge lbl_80317D94 +/* 80317D7C 003139DC 28 00 00 20 */ cmplwi r0, 0x20 +/* 80317D80 003139E0 41 80 00 58 */ blt lbl_80317DD8 +/* 80317D84 003139E4 7C 7D 02 14 */ add r3, r29, r0 +/* 80317D88 003139E8 88 03 FF E0 */ lbz r0, -0x20(r3) +/* 80317D8C 003139EC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80317D90 003139F0 41 82 00 48 */ beq lbl_80317DD8 +lbl_80317D94: +/* 80317D94 003139F4 7C 76 F0 AE */ lbzx r3, r22, r30 +/* 80317D98 003139F8 7C 63 07 74 */ extsb r3, r3 +/* 80317D9C 003139FC 4B FE D0 F9 */ bl VFipf_toupper +/* 80317DA0 00313A00 55 E0 04 3E */ clrlwi r0, r15, 0x10 +/* 80317DA4 00313A04 39 EF 00 01 */ addi r15, r15, 1 +/* 80317DA8 00313A08 7C 7F 01 AE */ stbx r3, r31, r0 +/* 80317DAC 00313A0C A0 73 00 00 */ lhz r3, 0(r19) +/* 80317DB0 00313A10 38 03 00 01 */ addi r0, r3, 1 +/* 80317DB4 00313A14 B0 13 00 00 */ sth r0, 0(r19) +/* 80317DB8 00313A18 7C 16 F0 AE */ lbzx r0, r22, r30 +/* 80317DBC 00313A1C 7C 00 07 74 */ extsb r0, r0 +/* 80317DC0 00313A20 2C 00 00 61 */ cmpwi r0, 0x61 +/* 80317DC4 00313A24 41 80 00 70 */ blt lbl_80317E34 +/* 80317DC8 00313A28 2C 00 00 7A */ cmpwi r0, 0x7a +/* 80317DCC 00313A2C 41 81 00 68 */ bgt lbl_80317E34 +/* 80317DD0 00313A30 3A A0 00 01 */ li r21, 1 +/* 80317DD4 00313A34 48 00 00 60 */ b lbl_80317E34 +lbl_80317DD8: +/* 80317DD8 00313A38 55 E0 04 3E */ clrlwi r0, r15, 0x10 +/* 80317DDC 00313A3C 3A 80 00 01 */ li r20, 1 +/* 80317DE0 00313A40 7D DF 01 AE */ stbx r14, r31, r0 +/* 80317DE4 00313A44 39 EF 00 01 */ addi r15, r15, 1 +/* 80317DE8 00313A48 A0 73 00 00 */ lhz r3, 0(r19) +/* 80317DEC 00313A4C 38 03 00 01 */ addi r0, r3, 1 +/* 80317DF0 00313A50 B0 13 00 00 */ sth r0, 0(r19) +/* 80317DF4 00313A54 48 00 00 40 */ b lbl_80317E34 +lbl_80317DF8: +/* 80317DF8 00313A58 3A 80 00 01 */ li r20, 1 +/* 80317DFC 00313A5C 48 00 00 38 */ b lbl_80317E34 +lbl_80317E00: +/* 80317E00 00313A60 7C 80 07 75 */ extsb. r0, r4 +/* 80317E04 00313A64 7F 33 CB 78 */ mr r19, r25 +/* 80317E08 00313A68 41 82 00 10 */ beq lbl_80317E18 +/* 80317E0C 00313A6C 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80317E10 00313A70 41 82 00 08 */ beq lbl_80317E18 +/* 80317E14 00313A74 3A 80 00 01 */ li r20, 1 +lbl_80317E18: +/* 80317E18 00313A78 56 00 04 3F */ clrlwi. r0, r16, 0x10 +/* 80317E1C 00313A7C 41 82 00 38 */ beq lbl_80317E54 +/* 80317E20 00313A80 55 E3 04 3E */ clrlwi r3, r15, 0x10 +/* 80317E24 00313A84 38 00 00 2E */ li r0, 0x2e +/* 80317E28 00313A88 7C 1F 19 AE */ stbx r0, r31, r3 +/* 80317E2C 00313A8C 7E 18 83 78 */ mr r24, r16 +/* 80317E30 00313A90 39 EF 00 01 */ addi r15, r15, 1 +lbl_80317E34: +/* 80317E34 00313A94 3B 18 00 01 */ addi r24, r24, 1 +lbl_80317E38: +/* 80317E38 00313A98 A0 A1 00 0E */ lhz r5, 0xe(r1) +/* 80317E3C 00313A9C 28 05 00 03 */ cmplwi r5, 3 +/* 80317E40 00313AA0 40 80 00 14 */ bge lbl_80317E54 +/* 80317E44 00313AA4 57 1E 04 3E */ clrlwi r30, r24, 0x10 +/* 80317E48 00313AA8 7C 96 F0 AE */ lbzx r4, r22, r30 +/* 80317E4C 00313AAC 7C 80 07 75 */ extsb. r0, r4 +/* 80317E50 00313AB0 40 82 FD 68 */ bne lbl_80317BB8 +lbl_80317E54: +/* 80317E54 00313AB4 54 A0 04 3E */ clrlwi r0, r5, 0x10 +/* 80317E58 00313AB8 28 00 00 03 */ cmplwi r0, 3 +/* 80317E5C 00313ABC 40 82 00 18 */ bne lbl_80317E74 +/* 80317E60 00313AC0 57 00 04 3E */ clrlwi r0, r24, 0x10 +/* 80317E64 00313AC4 7C 16 00 AE */ lbzx r0, r22, r0 +/* 80317E68 00313AC8 7C 00 07 75 */ extsb. r0, r0 +/* 80317E6C 00313ACC 41 82 00 08 */ beq lbl_80317E74 +/* 80317E70 00313AD0 3A 80 00 01 */ li r20, 1 +lbl_80317E74: +/* 80317E74 00313AD4 2C 14 00 00 */ cmpwi r20, 0 +/* 80317E78 00313AD8 55 E0 04 3E */ clrlwi r0, r15, 0x10 +/* 80317E7C 00313ADC 38 60 00 00 */ li r3, 0 +/* 80317E80 00313AE0 7C 7F 01 AE */ stbx r3, r31, r0 +/* 80317E84 00313AE4 41 82 02 B4 */ beq lbl_80318138 +/* 80317E88 00313AE8 A0 81 00 10 */ lhz r4, 0x10(r1) +/* 80317E8C 00313AEC 28 04 00 08 */ cmplwi r4, 8 +/* 80317E90 00313AF0 7C 85 23 78 */ mr r5, r4 +/* 80317E94 00313AF4 40 82 00 38 */ bne lbl_80317ECC +/* 80317E98 00313AF8 28 12 00 01 */ cmplwi r18, 1 +/* 80317E9C 00313AFC 41 82 00 10 */ beq lbl_80317EAC +/* 80317EA0 00313B00 20 12 00 08 */ subfic r0, r18, 8 +/* 80317EA4 00313B04 54 05 04 3E */ clrlwi r5, r0, 0x10 +/* 80317EA8 00313B08 48 00 00 34 */ b lbl_80317EDC +lbl_80317EAC: +/* 80317EAC 00313B0C 56 23 04 3E */ clrlwi r3, r17, 0x10 +/* 80317EB0 00313B10 38 00 00 02 */ li r0, 2 +/* 80317EB4 00313B14 28 03 00 01 */ cmplwi r3, 1 +/* 80317EB8 00313B18 41 82 00 08 */ beq lbl_80317EC0 +/* 80317EBC 00313B1C 38 03 00 01 */ addi r0, r3, 1 +lbl_80317EC0: +/* 80317EC0 00313B20 20 00 00 08 */ subfic r0, r0, 8 +/* 80317EC4 00313B24 54 05 04 3E */ clrlwi r5, r0, 0x10 +/* 80317EC8 00313B28 48 00 00 14 */ b lbl_80317EDC +lbl_80317ECC: +/* 80317ECC 00313B2C 28 04 00 07 */ cmplwi r4, 7 +/* 80317ED0 00313B30 40 82 00 0C */ bne lbl_80317EDC +/* 80317ED4 00313B34 7C 11 20 50 */ subf r0, r17, r4 +/* 80317ED8 00313B38 54 05 04 3E */ clrlwi r5, r0, 0x10 +lbl_80317EDC: +/* 80317EDC 00313B3C 38 05 00 02 */ addi r0, r5, 2 +/* 80317EE0 00313B40 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 80317EE4 00313B44 7C 00 20 40 */ cmplw r0, r4 +/* 80317EE8 00313B48 40 80 00 50 */ bge lbl_80317F38 +/* 80317EEC 00313B4C 7C 00 20 50 */ subf r0, r0, r4 +/* 80317EF0 00313B50 38 E0 FF FF */ li r7, -1 +/* 80317EF4 00313B54 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 80317EF8 00313B58 7C DF 02 14 */ add r6, r31, r0 +/* 80317EFC 00313B5C 38 C6 FF FF */ addi r6, r6, -1 +/* 80317F00 00313B60 48 00 00 20 */ b lbl_80317F20 +lbl_80317F04: +/* 80317F04 00313B64 A0 01 00 10 */ lhz r0, 0x10(r1) +/* 80317F08 00313B68 7C E3 07 34 */ extsh r3, r7 +/* 80317F0C 00313B6C 38 E7 00 01 */ addi r7, r7, 1 +/* 80317F10 00313B70 7C 86 00 AE */ lbzx r4, r6, r0 +/* 80317F14 00313B74 7C 1F 02 14 */ add r0, r31, r0 +/* 80317F18 00313B78 38 C6 00 01 */ addi r6, r6, 1 +/* 80317F1C 00313B7C 7C 83 01 AE */ stbx r4, r3, r0 +lbl_80317F20: +/* 80317F20 00313B80 A0 61 00 0E */ lhz r3, 0xe(r1) +/* 80317F24 00313B84 7C E4 07 34 */ extsh r4, r7 +/* 80317F28 00313B88 38 03 00 01 */ addi r0, r3, 1 +/* 80317F2C 00313B8C 7C 04 00 00 */ cmpw r4, r0 +/* 80317F30 00313B90 41 80 FF D4 */ blt lbl_80317F04 +/* 80317F34 00313B94 48 00 01 A4 */ b lbl_803180D8 +lbl_80317F38: +/* 80317F38 00313B98 40 81 01 A0 */ ble lbl_803180D8 +/* 80317F3C 00313B9C A0 61 00 0E */ lhz r3, 0xe(r1) +/* 80317F40 00313BA0 7C 04 00 50 */ subf r0, r4, r0 +/* 80317F44 00313BA4 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 80317F48 00313BA8 38 E3 00 01 */ addi r7, r3, 1 +/* 80317F4C 00313BAC 7C E6 07 34 */ extsh r6, r7 +/* 80317F50 00313BB0 2C 86 00 00 */ cmpwi cr1, r6, 0 +/* 80317F54 00313BB4 41 84 01 84 */ blt cr1, lbl_803180D8 +/* 80317F58 00313BB8 39 06 00 01 */ addi r8, r6, 1 +/* 80317F5C 00313BBC 7D 03 07 34 */ extsh r3, r8 +/* 80317F60 00313BC0 2C 03 00 08 */ cmpwi r3, 8 +/* 80317F64 00313BC4 40 81 01 3C */ ble lbl_803180A0 +/* 80317F68 00313BC8 38 80 00 00 */ li r4, 0 +/* 80317F6C 00313BCC 38 60 00 00 */ li r3, 0 +/* 80317F70 00313BD0 41 84 00 10 */ blt cr1, lbl_80317F80 +/* 80317F74 00313BD4 2C 06 80 01 */ cmpwi r6, -32767 +/* 80317F78 00313BD8 41 80 00 08 */ blt lbl_80317F80 +/* 80317F7C 00313BDC 38 60 00 01 */ li r3, 1 +lbl_80317F80: +/* 80317F80 00313BE0 2C 03 00 00 */ cmpwi r3, 0 +/* 80317F84 00313BE4 41 82 00 34 */ beq lbl_80317FB8 +/* 80317F88 00313BE8 7C E3 07 34 */ extsh r3, r7 +/* 80317F8C 00313BEC 38 E0 00 01 */ li r7, 1 +/* 80317F90 00313BF0 54 63 00 20 */ rlwinm r3, r3, 0, 0, 0x10 +/* 80317F94 00313BF4 7C 63 07 35 */ extsh. r3, r3 +/* 80317F98 00313BF8 40 82 00 14 */ bne lbl_80317FAC +/* 80317F9C 00313BFC 55 03 00 20 */ rlwinm r3, r8, 0, 0, 0x10 +/* 80317FA0 00313C00 7C 63 07 35 */ extsh. r3, r3 +/* 80317FA4 00313C04 41 82 00 08 */ beq lbl_80317FAC +/* 80317FA8 00313C08 38 E0 00 00 */ li r7, 0 +lbl_80317FAC: +/* 80317FAC 00313C0C 2C 07 00 00 */ cmpwi r7, 0 +/* 80317FB0 00313C10 41 82 00 08 */ beq lbl_80317FB8 +/* 80317FB4 00313C14 38 80 00 01 */ li r4, 1 +lbl_80317FB8: +/* 80317FB8 00313C18 2C 04 00 00 */ cmpwi r4, 0 +/* 80317FBC 00313C1C 41 82 00 E4 */ beq lbl_803180A0 +/* 80317FC0 00313C20 7C 9F 02 14 */ add r4, r31, r0 +/* 80317FC4 00313C24 54 C3 E8 FE */ srwi r3, r6, 3 +/* 80317FC8 00313C28 7C 86 22 14 */ add r4, r6, r4 +/* 80317FCC 00313C2C 7C 69 03 A6 */ mtctr r3 +/* 80317FD0 00313C30 2C 06 00 08 */ cmpwi r6, 8 +/* 80317FD4 00313C34 41 80 00 CC */ blt lbl_803180A0 +lbl_80317FD8: +/* 80317FD8 00313C38 A1 01 00 10 */ lhz r8, 0x10(r1) +/* 80317FDC 00313C3C 7C C3 07 34 */ extsh r3, r6 +/* 80317FE0 00313C40 38 C6 FF F8 */ addi r6, r6, -8 +/* 80317FE4 00313C44 7C FF 42 14 */ add r7, r31, r8 +/* 80317FE8 00313C48 7C E3 38 AE */ lbzx r7, r3, r7 +/* 80317FEC 00313C4C 7C E4 41 AE */ stbx r7, r4, r8 +/* 80317FF0 00313C50 A0 E1 00 10 */ lhz r7, 0x10(r1) +/* 80317FF4 00313C54 7D 1F 3A 14 */ add r8, r31, r7 +/* 80317FF8 00313C58 7C E4 3A 14 */ add r7, r4, r7 +/* 80317FFC 00313C5C 7D 03 42 14 */ add r8, r3, r8 +/* 80318000 00313C60 89 08 FF FF */ lbz r8, -1(r8) +/* 80318004 00313C64 99 07 FF FF */ stb r8, -1(r7) +/* 80318008 00313C68 A0 E1 00 10 */ lhz r7, 0x10(r1) +/* 8031800C 00313C6C 7D 1F 3A 14 */ add r8, r31, r7 +/* 80318010 00313C70 7C E4 3A 14 */ add r7, r4, r7 +/* 80318014 00313C74 7D 03 42 14 */ add r8, r3, r8 +/* 80318018 00313C78 89 08 FF FE */ lbz r8, -2(r8) +/* 8031801C 00313C7C 99 07 FF FE */ stb r8, -2(r7) +/* 80318020 00313C80 A0 E1 00 10 */ lhz r7, 0x10(r1) +/* 80318024 00313C84 7D 1F 3A 14 */ add r8, r31, r7 +/* 80318028 00313C88 7C E4 3A 14 */ add r7, r4, r7 +/* 8031802C 00313C8C 7D 03 42 14 */ add r8, r3, r8 +/* 80318030 00313C90 89 08 FF FD */ lbz r8, -3(r8) +/* 80318034 00313C94 99 07 FF FD */ stb r8, -3(r7) +/* 80318038 00313C98 A0 E1 00 10 */ lhz r7, 0x10(r1) +/* 8031803C 00313C9C 7D 1F 3A 14 */ add r8, r31, r7 +/* 80318040 00313CA0 7C E4 3A 14 */ add r7, r4, r7 +/* 80318044 00313CA4 7D 03 42 14 */ add r8, r3, r8 +/* 80318048 00313CA8 89 08 FF FC */ lbz r8, -4(r8) +/* 8031804C 00313CAC 99 07 FF FC */ stb r8, -4(r7) +/* 80318050 00313CB0 A0 E1 00 10 */ lhz r7, 0x10(r1) +/* 80318054 00313CB4 7D 1F 3A 14 */ add r8, r31, r7 +/* 80318058 00313CB8 7C E4 3A 14 */ add r7, r4, r7 +/* 8031805C 00313CBC 7D 03 42 14 */ add r8, r3, r8 +/* 80318060 00313CC0 89 08 FF FB */ lbz r8, -5(r8) +/* 80318064 00313CC4 99 07 FF FB */ stb r8, -5(r7) +/* 80318068 00313CC8 A0 E1 00 10 */ lhz r7, 0x10(r1) +/* 8031806C 00313CCC 7D 1F 3A 14 */ add r8, r31, r7 +/* 80318070 00313CD0 7C E4 3A 14 */ add r7, r4, r7 +/* 80318074 00313CD4 7D 03 42 14 */ add r8, r3, r8 +/* 80318078 00313CD8 89 08 FF FA */ lbz r8, -6(r8) +/* 8031807C 00313CDC 99 07 FF FA */ stb r8, -6(r7) +/* 80318080 00313CE0 A0 E1 00 10 */ lhz r7, 0x10(r1) +/* 80318084 00313CE4 7D 1F 3A 14 */ add r8, r31, r7 +/* 80318088 00313CE8 7C E4 3A 14 */ add r7, r4, r7 +/* 8031808C 00313CEC 7C 63 42 14 */ add r3, r3, r8 +/* 80318090 00313CF0 38 84 FF F8 */ addi r4, r4, -8 +/* 80318094 00313CF4 88 63 FF F9 */ lbz r3, -7(r3) +/* 80318098 00313CF8 98 67 FF F9 */ stb r3, -7(r7) +/* 8031809C 00313CFC 42 00 FF 3C */ bdnz lbl_80317FD8 +lbl_803180A0: +/* 803180A0 00313D00 7C C4 07 35 */ extsh. r4, r6 +/* 803180A4 00313D04 7C 7F 02 14 */ add r3, r31, r0 +/* 803180A8 00313D08 38 04 00 01 */ addi r0, r4, 1 +/* 803180AC 00313D0C 7C E4 1A 14 */ add r7, r4, r3 +/* 803180B0 00313D10 7C 09 03 A6 */ mtctr r0 +/* 803180B4 00313D14 41 80 00 24 */ blt lbl_803180D8 +lbl_803180B8: +/* 803180B8 00313D18 A0 81 00 10 */ lhz r4, 0x10(r1) +/* 803180BC 00313D1C 7C C3 07 34 */ extsh r3, r6 +/* 803180C0 00313D20 38 C6 FF FF */ addi r6, r6, -1 +/* 803180C4 00313D24 7C 1F 22 14 */ add r0, r31, r4 +/* 803180C8 00313D28 7C 03 00 AE */ lbzx r0, r3, r0 +/* 803180CC 00313D2C 7C 07 21 AE */ stbx r0, r7, r4 +/* 803180D0 00313D30 38 E7 FF FF */ addi r7, r7, -1 +/* 803180D4 00313D34 42 00 FF E4 */ bdnz lbl_803180B8 +lbl_803180D8: +/* 803180D8 00313D38 A0 01 00 10 */ lhz r0, 0x10(r1) +/* 803180DC 00313D3C 2C 00 00 00 */ cmpwi r0, 0 +/* 803180E0 00313D40 41 82 00 54 */ beq lbl_80318134 +/* 803180E4 00313D44 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 803180E8 00313D48 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 803180EC 00313D4C 80 03 00 3C */ lwz r0, 0x3c(r3) +/* 803180F0 00313D50 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e +/* 803180F4 00313D54 28 00 00 02 */ cmplwi r0, 2 +/* 803180F8 00313D58 41 82 00 24 */ beq lbl_8031811C +/* 803180FC 00313D5C 54 A0 04 3E */ clrlwi r0, r5, 0x10 +/* 80318100 00313D60 38 60 00 7E */ li r3, 0x7e +/* 80318104 00313D64 7C 7F 01 AE */ stbx r3, r31, r0 +/* 80318108 00313D68 38 A5 00 01 */ addi r5, r5, 1 +/* 8031810C 00313D6C 54 A0 04 3E */ clrlwi r0, r5, 0x10 +/* 80318110 00313D70 38 60 00 31 */ li r3, 0x31 +/* 80318114 00313D74 7C 7F 01 AE */ stbx r3, r31, r0 +/* 80318118 00313D78 48 00 00 1C */ b lbl_80318134 +lbl_8031811C: +/* 8031811C 00313D7C 54 A0 04 3E */ clrlwi r0, r5, 0x10 +/* 80318120 00313D80 38 60 00 5F */ li r3, 0x5f +/* 80318124 00313D84 7C 7F 01 AE */ stbx r3, r31, r0 +/* 80318128 00313D88 38 A5 00 01 */ addi r5, r5, 1 +/* 8031812C 00313D8C 54 A0 04 3E */ clrlwi r0, r5, 0x10 +/* 80318130 00313D90 7C 7F 01 AE */ stbx r3, r31, r0 +lbl_80318134: +/* 80318134 00313D94 3A A0 00 01 */ li r21, 1 +lbl_80318138: +/* 80318138 00313D98 80 61 00 08 */ lwz r3, 8(r1) +/* 8031813C 00313D9C 4B FE D1 A5 */ bl VFiPFSTR_GetCodeMode +/* 80318140 00313DA0 28 03 00 02 */ cmplwi r3, 2 +/* 80318144 00313DA4 40 82 00 8C */ bne lbl_803181D0 +/* 80318148 00313DA8 3A A0 00 01 */ li r21, 1 +/* 8031814C 00313DAC 48 00 00 84 */ b lbl_803181D0 +/* 80318150 00313DB0 48 00 00 20 */ b lbl_80318170 +lbl_80318154: +/* 80318154 00313DB4 7C 60 07 74 */ extsb r0, r3 +/* 80318158 00313DB8 2C 00 00 2E */ cmpwi r0, 0x2e +/* 8031815C 00313DBC 41 82 00 10 */ beq lbl_8031816C +/* 80318160 00313DC0 2C 00 00 20 */ cmpwi r0, 0x20 +/* 80318164 00313DC4 41 82 00 08 */ beq lbl_8031816C +/* 80318168 00313DC8 3A 80 00 01 */ li r20, 1 +lbl_8031816C: +/* 8031816C 00313DCC 3A D6 00 01 */ addi r22, r22, 1 +lbl_80318170: +/* 80318170 00313DD0 88 76 00 00 */ lbz r3, 0(r22) +/* 80318174 00313DD4 7C 60 07 75 */ extsb. r0, r3 +/* 80318178 00313DD8 41 82 00 0C */ beq lbl_80318184 +/* 8031817C 00313DDC 2C 14 00 00 */ cmpwi r20, 0 +/* 80318180 00313DE0 41 82 FF D4 */ beq lbl_80318154 +lbl_80318184: +/* 80318184 00313DE4 2C 14 00 00 */ cmpwi r20, 0 +/* 80318188 00313DE8 41 82 00 3C */ beq lbl_803181C4 +/* 8031818C 00313DEC 38 60 00 30 */ li r3, 0x30 +/* 80318190 00313DF0 38 A0 00 01 */ li r5, 1 +/* 80318194 00313DF4 38 80 00 02 */ li r4, 2 +/* 80318198 00313DF8 38 00 00 00 */ li r0, 0 +/* 8031819C 00313DFC 98 BF 00 00 */ stb r5, 0(r31) +/* 803181A0 00313E00 98 9F 00 01 */ stb r4, 1(r31) +/* 803181A4 00313E04 98 7F 00 02 */ stb r3, 2(r31) +/* 803181A8 00313E08 98 7F 00 03 */ stb r3, 3(r31) +/* 803181AC 00313E0C 98 7F 00 04 */ stb r3, 4(r31) +/* 803181B0 00313E10 98 7F 00 05 */ stb r3, 5(r31) +/* 803181B4 00313E14 98 7F 00 06 */ stb r3, 6(r31) +/* 803181B8 00313E18 98 7F 00 07 */ stb r3, 7(r31) +/* 803181BC 00313E1C 98 1F 00 08 */ stb r0, 8(r31) +/* 803181C0 00313E20 48 00 00 0C */ b lbl_803181CC +lbl_803181C4: +/* 803181C4 00313E24 38 00 00 00 */ li r0, 0 +/* 803181C8 00313E28 98 1F 00 00 */ stb r0, 0(r31) +lbl_803181CC: +/* 803181CC 00313E2C 3A A0 00 01 */ li r21, 1 +lbl_803181D0: +/* 803181D0 00313E30 39 61 00 60 */ addi r11, r1, 0x60 +/* 803181D4 00313E34 7E A3 AB 78 */ mr r3, r21 +/* 803181D8 00313E38 4B EA EF 69 */ bl __restore_gpr +/* 803181DC 00313E3C 80 01 00 64 */ lwz r0, 0x64(r1) +/* 803181E0 00313E40 7C 08 03 A6 */ mtlr r0 +/* 803181E4 00313E44 38 21 00 60 */ addi r1, r1, 0x60 +/* 803181E8 00313E48 4E 80 00 20 */ blr + +.global func_803181EC +func_803181EC: +/* 803181EC 00313E4C 2C 04 00 00 */ cmpwi r4, 0 +/* 803181F0 00313E50 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803181F4 00313E54 40 82 00 0C */ bne lbl_80318200 +/* 803181F8 00313E58 38 60 00 00 */ li r3, 0 +/* 803181FC 00313E5C 48 00 01 C4 */ b lbl_803183C0 +lbl_80318200: +/* 80318200 00313E60 38 C3 00 01 */ addi r6, r3, 1 +/* 80318204 00313E64 38 A0 00 01 */ li r5, 1 +/* 80318208 00313E68 48 00 00 0C */ b lbl_80318214 +lbl_8031820C: +/* 8031820C 00313E6C 38 A5 00 01 */ addi r5, r5, 1 +/* 80318210 00313E70 38 C6 00 01 */ addi r6, r6, 1 +lbl_80318214: +/* 80318214 00313E74 88 06 00 00 */ lbz r0, 0(r6) +/* 80318218 00313E78 2C 00 00 7E */ cmpwi r0, 0x7e +/* 8031821C 00313E7C 40 82 FF F0 */ bne lbl_8031820C +/* 80318220 00313E80 38 C5 00 01 */ addi r6, r5, 1 +/* 80318224 00313E84 7C E3 32 14 */ add r7, r3, r6 +/* 80318228 00313E88 48 00 00 0C */ b lbl_80318234 +lbl_8031822C: +/* 8031822C 00313E8C 38 C6 00 01 */ addi r6, r6, 1 +/* 80318230 00313E90 38 E7 00 01 */ addi r7, r7, 1 +lbl_80318234: +/* 80318234 00313E94 89 07 00 00 */ lbz r8, 0(r7) +/* 80318238 00313E98 7D 00 07 74 */ extsb r0, r8 +/* 8031823C 00313E9C 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80318240 00313EA0 41 82 00 0C */ beq lbl_8031824C +/* 80318244 00313EA4 2C 00 00 00 */ cmpwi r0, 0 +/* 80318248 00313EA8 40 82 FF E4 */ bne lbl_8031822C +lbl_8031824C: +/* 8031824C 00313EAC 7D 00 07 74 */ extsb r0, r8 +/* 80318250 00313EB0 39 66 00 01 */ addi r11, r6, 1 +/* 80318254 00313EB4 2C 00 00 2E */ cmpwi r0, 0x2e +/* 80318258 00313EB8 40 82 00 34 */ bne lbl_8031828C +/* 8031825C 00313EBC 7C 03 58 AE */ lbzx r0, r3, r11 +/* 80318260 00313EC0 7C 00 07 75 */ extsb. r0, r0 +/* 80318264 00313EC4 41 82 00 28 */ beq lbl_8031828C +/* 80318268 00313EC8 39 8B 00 01 */ addi r12, r11, 1 +/* 8031826C 00313ECC 7C E3 62 14 */ add r7, r3, r12 +/* 80318270 00313ED0 48 00 00 0C */ b lbl_8031827C +lbl_80318274: +/* 80318274 00313ED4 39 8C 00 01 */ addi r12, r12, 1 +/* 80318278 00313ED8 38 E7 00 01 */ addi r7, r7, 1 +lbl_8031827C: +/* 8031827C 00313EDC 88 07 00 00 */ lbz r0, 0(r7) +/* 80318280 00313EE0 7C 00 07 75 */ extsb. r0, r0 +/* 80318284 00313EE4 40 82 FF F0 */ bne lbl_80318274 +/* 80318288 00313EE8 48 00 00 08 */ b lbl_80318290 +lbl_8031828C: +/* 8031828C 00313EEC 7D 6C 5B 78 */ mr r12, r11 +lbl_80318290: +/* 80318290 00313EF0 3C E0 CC CD */ lis r7, 0xCCCCCCCD@ha +/* 80318294 00313EF4 39 21 00 08 */ addi r9, r1, 8 +/* 80318298 00313EF8 39 07 CC CD */ addi r8, r7, 0xCCCCCCCD@l +/* 8031829C 00313EFC 39 40 00 00 */ li r10, 0 +/* 803182A0 00313F00 48 00 00 2C */ b lbl_803182CC +lbl_803182A4: +/* 803182A4 00313F04 7C E8 20 16 */ mulhwu r7, r8, r4 +/* 803182A8 00313F08 39 4A 00 01 */ addi r10, r10, 1 +/* 803182AC 00313F0C 7C E0 3B 78 */ mr r0, r7 +/* 803182B0 00313F10 54 E7 E8 FE */ srwi r7, r7, 3 +/* 803182B4 00313F14 1C E7 00 0A */ mulli r7, r7, 0xa +/* 803182B8 00313F18 7C E7 20 50 */ subf r7, r7, r4 +/* 803182BC 00313F1C 54 04 E8 FE */ srwi r4, r0, 3 +/* 803182C0 00313F20 38 07 00 30 */ addi r0, r7, 0x30 +/* 803182C4 00313F24 98 09 00 00 */ stb r0, 0(r9) +/* 803182C8 00313F28 39 29 00 01 */ addi r9, r9, 1 +lbl_803182CC: +/* 803182CC 00313F2C 2C 04 00 00 */ cmpwi r4, 0 +/* 803182D0 00313F30 40 82 FF D4 */ bne lbl_803182A4 +/* 803182D4 00313F34 7D 05 52 14 */ add r8, r5, r10 +/* 803182D8 00313F38 7C 08 58 40 */ cmplw r8, r11 +/* 803182DC 00313F3C 41 80 00 44 */ blt lbl_80318320 +/* 803182E0 00313F40 39 28 00 01 */ addi r9, r8, 1 +/* 803182E4 00313F44 28 09 00 08 */ cmplwi r9, 8 +/* 803182E8 00313F48 40 81 00 08 */ ble lbl_803182F0 +/* 803182EC 00313F4C 39 20 00 08 */ li r9, 8 +lbl_803182F0: +/* 803182F0 00313F50 7C 03 60 AE */ lbzx r0, r3, r12 +/* 803182F4 00313F54 7C E3 4A 14 */ add r7, r3, r9 +/* 803182F8 00313F58 7C 83 5A 14 */ add r4, r3, r11 +/* 803182FC 00313F5C 98 07 00 04 */ stb r0, 4(r7) +/* 80318300 00313F60 88 04 00 02 */ lbz r0, 2(r4) +/* 80318304 00313F64 98 07 00 03 */ stb r0, 3(r7) +/* 80318308 00313F68 88 04 00 01 */ lbz r0, 1(r4) +/* 8031830C 00313F6C 98 07 00 02 */ stb r0, 2(r7) +/* 80318310 00313F70 7C 03 58 AE */ lbzx r0, r3, r11 +/* 80318314 00313F74 98 07 00 01 */ stb r0, 1(r7) +/* 80318318 00313F78 7C 03 30 AE */ lbzx r0, r3, r6 +/* 8031831C 00313F7C 7C 03 49 AE */ stbx r0, r3, r9 +lbl_80318320: +/* 80318320 00313F80 28 08 00 08 */ cmplwi r8, 8 +/* 80318324 00313F84 41 80 00 08 */ blt lbl_8031832C +/* 80318328 00313F88 20 AA 00 07 */ subfic r5, r10, 7 +lbl_8031832C: +/* 8031832C 00313F8C 38 00 00 7E */ li r0, 0x7e +/* 80318330 00313F90 2C 0A 00 00 */ cmpwi r10, 0 +/* 80318334 00313F94 7C 03 29 AE */ stbx r0, r3, r5 +/* 80318338 00313F98 38 81 00 08 */ addi r4, r1, 8 +/* 8031833C 00313F9C 38 A5 00 01 */ addi r5, r5, 1 +/* 80318340 00313FA0 7C 84 52 14 */ add r4, r4, r10 +/* 80318344 00313FA4 7C 63 2A 14 */ add r3, r3, r5 +/* 80318348 00313FA8 41 82 00 74 */ beq lbl_803183BC +/* 8031834C 00313FAC 55 40 E8 FF */ rlwinm. r0, r10, 0x1d, 3, 0x1f +/* 80318350 00313FB0 7C 09 03 A6 */ mtctr r0 +/* 80318354 00313FB4 41 82 00 54 */ beq lbl_803183A8 +lbl_80318358: +/* 80318358 00313FB8 88 04 FF FF */ lbz r0, -1(r4) +/* 8031835C 00313FBC 98 03 00 00 */ stb r0, 0(r3) +/* 80318360 00313FC0 88 04 FF FE */ lbz r0, -2(r4) +/* 80318364 00313FC4 98 03 00 01 */ stb r0, 1(r3) +/* 80318368 00313FC8 88 04 FF FD */ lbz r0, -3(r4) +/* 8031836C 00313FCC 98 03 00 02 */ stb r0, 2(r3) +/* 80318370 00313FD0 88 04 FF FC */ lbz r0, -4(r4) +/* 80318374 00313FD4 98 03 00 03 */ stb r0, 3(r3) +/* 80318378 00313FD8 88 04 FF FB */ lbz r0, -5(r4) +/* 8031837C 00313FDC 98 03 00 04 */ stb r0, 4(r3) +/* 80318380 00313FE0 88 04 FF FA */ lbz r0, -6(r4) +/* 80318384 00313FE4 98 03 00 05 */ stb r0, 5(r3) +/* 80318388 00313FE8 88 04 FF F9 */ lbz r0, -7(r4) +/* 8031838C 00313FEC 98 03 00 06 */ stb r0, 6(r3) +/* 80318390 00313FF0 8C 04 FF F8 */ lbzu r0, -8(r4) +/* 80318394 00313FF4 98 03 00 07 */ stb r0, 7(r3) +/* 80318398 00313FF8 38 63 00 08 */ addi r3, r3, 8 +/* 8031839C 00313FFC 42 00 FF BC */ bdnz lbl_80318358 +/* 803183A0 00314000 71 4A 00 07 */ andi. r10, r10, 7 +/* 803183A4 00314004 41 82 00 18 */ beq lbl_803183BC +lbl_803183A8: +/* 803183A8 00314008 7D 49 03 A6 */ mtctr r10 +lbl_803183AC: +/* 803183AC 0031400C 8C 04 FF FF */ lbzu r0, -1(r4) +/* 803183B0 00314010 98 03 00 00 */ stb r0, 0(r3) +/* 803183B4 00314014 38 63 00 01 */ addi r3, r3, 1 +/* 803183B8 00314018 42 00 FF F4 */ bdnz lbl_803183AC +lbl_803183BC: +/* 803183BC 0031401C 38 60 00 00 */ li r3, 0 +lbl_803183C0: +/* 803183C0 00314020 38 21 00 10 */ addi r1, r1, 0x10 +/* 803183C4 00314024 4E 80 00 20 */ blr + +.global func_803183C8 +func_803183C8: +/* 803183C8 00314028 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803183CC 0031402C 7C 08 02 A6 */ mflr r0 +/* 803183D0 00314030 2C 03 00 00 */ cmpwi r3, 0 +/* 803183D4 00314034 90 01 00 24 */ stw r0, 0x24(r1) +/* 803183D8 00314038 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 803183DC 0031403C 3B E0 00 00 */ li r31, 0 +/* 803183E0 00314040 88 8D 8D 1C */ lbz r4, lbl_8063DFDC-_SDA_BASE_(r13) +/* 803183E4 00314044 88 0D 8D 1D */ lbz r0, lbl_8063DFDD-_SDA_BASE_(r13) +/* 803183E8 00314048 98 81 00 08 */ stb r4, 8(r1) +/* 803183EC 0031404C 98 01 00 09 */ stb r0, 9(r1) +/* 803183F0 00314050 40 82 00 0C */ bne lbl_803183FC +/* 803183F4 00314054 38 60 00 0A */ li r3, 0xa +/* 803183F8 00314058 48 00 00 28 */ b lbl_80318420 +lbl_803183FC: +/* 803183FC 0031405C 38 81 00 08 */ addi r4, r1, 8 +/* 80318400 00314060 38 A0 00 01 */ li r5, 1 +/* 80318404 00314064 38 C0 00 00 */ li r6, 0 +/* 80318408 00314068 38 E0 00 02 */ li r7, 2 +/* 8031840C 0031406C 4B FE D2 55 */ bl VFiPFSTR_StrNCmp +/* 80318410 00314070 2C 03 00 00 */ cmpwi r3, 0 +/* 80318414 00314074 40 82 00 08 */ bne lbl_8031841C +/* 80318418 00314078 3B E0 00 01 */ li r31, 1 +lbl_8031841C: +/* 8031841C 0031407C 7F E3 FB 78 */ mr r3, r31 +lbl_80318420: +/* 80318420 00314080 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80318424 00314084 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80318428 00314088 7C 08 03 A6 */ mtlr r0 +/* 8031842C 0031408C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80318430 00314090 4E 80 00 20 */ blr + +.global func_80318434 +func_80318434: +/* 80318434 00314094 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80318438 00314098 7C 08 02 A6 */ mflr r0 +/* 8031843C 0031409C 90 01 00 34 */ stw r0, 0x34(r1) +/* 80318440 003140A0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318444 003140A4 4B EA EC D9 */ bl _savegpr_24 +/* 80318448 003140A8 88 C2 A4 A4 */ lbz r6, lbl_80642AA4-_SDA2_BASE_(r2) +/* 8031844C 003140AC 2C 03 00 00 */ cmpwi r3, 0 +/* 80318450 003140B0 88 02 A4 A5 */ lbz r0, lbl_80642AA5-_SDA2_BASE_(r2) +/* 80318454 003140B4 7C 7E 1B 78 */ mr r30, r3 +/* 80318458 003140B8 98 C1 00 08 */ stb r6, 8(r1) +/* 8031845C 003140BC 7C 9F 23 78 */ mr r31, r4 +/* 80318460 003140C0 7C B8 2B 78 */ mr r24, r5 +/* 80318464 003140C4 3B 60 00 00 */ li r27, 0 +/* 80318468 003140C8 98 01 00 09 */ stb r0, 9(r1) +/* 8031846C 003140CC 3B 20 00 00 */ li r25, 0 +/* 80318470 003140D0 40 82 00 0C */ bne lbl_8031847C +/* 80318474 003140D4 38 60 00 0A */ li r3, 0xa +/* 80318478 003140D8 48 00 02 C8 */ b lbl_80318740 +lbl_8031847C: +/* 8031847C 003140DC 7F E5 FB 78 */ mr r5, r31 +/* 80318480 003140E0 38 81 00 08 */ addi r4, r1, 8 +/* 80318484 003140E4 38 C0 00 00 */ li r6, 0 +/* 80318488 003140E8 38 E0 00 02 */ li r7, 2 +/* 8031848C 003140EC 4B FE D1 D5 */ bl VFiPFSTR_StrNCmp +/* 80318490 003140F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318494 003140F4 41 82 00 84 */ beq lbl_80318518 +/* 80318498 003140F8 7F C3 F3 78 */ mr r3, r30 +/* 8031849C 003140FC 7F E5 FB 78 */ mr r5, r31 +/* 803184A0 00314100 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_ +/* 803184A4 00314104 38 C0 00 00 */ li r6, 0 +/* 803184A8 00314108 38 E0 00 01 */ li r7, 1 +/* 803184AC 0031410C 4B FE D1 B5 */ bl VFiPFSTR_StrNCmp +/* 803184B0 00314110 2C 03 00 00 */ cmpwi r3, 0 +/* 803184B4 00314114 40 82 00 44 */ bne lbl_803184F8 +/* 803184B8 00314118 7F C3 F3 78 */ mr r3, r30 +/* 803184BC 0031411C 7F E5 FB 78 */ mr r5, r31 +/* 803184C0 00314120 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_ +/* 803184C4 00314124 38 C0 00 01 */ li r6, 1 +/* 803184C8 00314128 38 E0 00 01 */ li r7, 1 +/* 803184CC 0031412C 4B FE D1 95 */ bl VFiPFSTR_StrNCmp +/* 803184D0 00314130 2C 03 00 00 */ cmpwi r3, 0 +/* 803184D4 00314134 41 82 00 44 */ beq lbl_80318518 +/* 803184D8 00314138 7F C3 F3 78 */ mr r3, r30 +/* 803184DC 0031413C 7F E5 FB 78 */ mr r5, r31 +/* 803184E0 00314140 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_ +/* 803184E4 00314144 38 C0 00 00 */ li r6, 0 +/* 803184E8 00314148 38 E0 00 01 */ li r7, 1 +/* 803184EC 0031414C 4B FE D1 75 */ bl VFiPFSTR_StrNCmp +/* 803184F0 00314150 2C 03 00 00 */ cmpwi r3, 0 +/* 803184F4 00314154 41 82 00 24 */ beq lbl_80318518 +lbl_803184F8: +/* 803184F8 00314158 7F C3 F3 78 */ mr r3, r30 +/* 803184FC 0031415C 7F E5 FB 78 */ mr r5, r31 +/* 80318500 00314160 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_ +/* 80318504 00314164 38 C0 00 00 */ li r6, 0 +/* 80318508 00314168 38 E0 00 01 */ li r7, 1 +/* 8031850C 0031416C 4B FE D1 55 */ bl VFiPFSTR_StrNCmp +/* 80318510 00314170 2C 03 00 00 */ cmpwi r3, 0 +/* 80318514 00314174 40 82 02 28 */ bne lbl_8031873C +lbl_80318518: +/* 80318518 00314178 3B 40 00 02 */ li r26, 2 +/* 8031851C 0031417C 3B 80 00 04 */ li r28, 4 +/* 80318520 00314180 48 00 00 DC */ b lbl_803185FC +lbl_80318524: +/* 80318524 00314184 7F C3 F3 78 */ mr r3, r30 +/* 80318528 00314188 4B FE CD B9 */ bl VFiPFSTR_GetCodeMode +/* 8031852C 0031418C 28 03 00 01 */ cmplwi r3, 1 +/* 80318530 00314190 40 82 00 28 */ bne lbl_80318558 +/* 80318534 00314194 7F C3 F3 78 */ mr r3, r30 +/* 80318538 00314198 7F E4 FB 78 */ mr r4, r31 +/* 8031853C 0031419C 4B FE CD D5 */ bl VFiPFSTR_GetStrPos +/* 80318540 003141A0 7F 40 07 34 */ extsh r0, r26 +/* 80318544 003141A4 7C 03 00 AE */ lbzx r0, r3, r0 +/* 80318548 003141A8 7C 03 07 74 */ extsb r3, r0 +/* 8031854C 003141AC 38 03 FF D0 */ addi r0, r3, -48 +/* 80318550 003141B0 7C 00 07 34 */ extsh r0, r0 +/* 80318554 003141B4 48 00 00 1C */ b lbl_80318570 +lbl_80318558: +/* 80318558 003141B8 7F C3 F3 78 */ mr r3, r30 +/* 8031855C 003141BC 7F E4 FB 78 */ mr r4, r31 +/* 80318560 003141C0 4B FE CD B1 */ bl VFiPFSTR_GetStrPos +/* 80318564 003141C4 7C 63 E2 2E */ lhzx r3, r3, r28 +/* 80318568 003141C8 38 03 FF D0 */ addi r0, r3, -48 +/* 8031856C 003141CC 7C 00 07 34 */ extsh r0, r0 +lbl_80318570: +/* 80318570 003141D0 2C 00 00 00 */ cmpwi r0, 0 +/* 80318574 003141D4 41 80 00 0C */ blt lbl_80318580 +/* 80318578 003141D8 2C 00 00 09 */ cmpwi r0, 9 +/* 8031857C 003141DC 40 81 00 78 */ ble lbl_803185F4 +lbl_80318580: +/* 80318580 003141E0 2C 18 00 00 */ cmpwi r24, 0 +/* 80318584 003141E4 41 82 01 10 */ beq lbl_80318694 +/* 80318588 003141E8 7F C3 F3 78 */ mr r3, r30 +/* 8031858C 003141EC 7F E5 FB 78 */ mr r5, r31 +/* 80318590 003141F0 7F 46 07 34 */ extsh r6, r26 +/* 80318594 003141F4 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_ +/* 80318598 003141F8 38 E0 00 01 */ li r7, 1 +/* 8031859C 003141FC 4B FE D0 C5 */ bl VFiPFSTR_StrNCmp +/* 803185A0 00314200 2C 03 00 00 */ cmpwi r3, 0 +/* 803185A4 00314204 41 82 00 24 */ beq lbl_803185C8 +/* 803185A8 00314208 7F C3 F3 78 */ mr r3, r30 +/* 803185AC 0031420C 7F E5 FB 78 */ mr r5, r31 +/* 803185B0 00314210 7F 46 07 34 */ extsh r6, r26 +/* 803185B4 00314214 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_ +/* 803185B8 00314218 38 E0 00 01 */ li r7, 1 +/* 803185BC 0031421C 4B FE D0 A5 */ bl VFiPFSTR_StrNCmp +/* 803185C0 00314220 2C 03 00 00 */ cmpwi r3, 0 +/* 803185C4 00314224 40 82 00 D0 */ bne lbl_80318694 +lbl_803185C8: +/* 803185C8 00314228 28 18 00 01 */ cmplwi r24, 1 +/* 803185CC 0031422C 40 82 00 28 */ bne lbl_803185F4 +/* 803185D0 00314230 7F C3 F3 78 */ mr r3, r30 +/* 803185D4 00314234 7F E5 FB 78 */ mr r5, r31 +/* 803185D8 00314238 7F 46 07 34 */ extsh r6, r26 +/* 803185DC 0031423C 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_ +/* 803185E0 00314240 38 E0 00 01 */ li r7, 1 +/* 803185E4 00314244 4B FE D0 7D */ bl VFiPFSTR_StrNCmp +/* 803185E8 00314248 2C 03 00 00 */ cmpwi r3, 0 +/* 803185EC 0031424C 40 82 00 08 */ bne lbl_803185F4 +/* 803185F0 00314250 3B 20 00 01 */ li r25, 1 +lbl_803185F4: +/* 803185F4 00314254 3B 9C 00 02 */ addi r28, r28, 2 +/* 803185F8 00314258 3B 5A 00 01 */ addi r26, r26, 1 +lbl_803185FC: +/* 803185FC 0031425C 7F 46 07 34 */ extsh r6, r26 +/* 80318600 00314260 2C 06 00 08 */ cmpwi r6, 8 +/* 80318604 00314264 40 80 00 90 */ bge lbl_80318694 +/* 80318608 00314268 7F C3 F3 78 */ mr r3, r30 +/* 8031860C 0031426C 7F E5 FB 78 */ mr r5, r31 +/* 80318610 00314270 3B A0 00 00 */ li r29, 0 +/* 80318614 00314274 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_ +/* 80318618 00314278 38 E0 00 01 */ li r7, 1 +/* 8031861C 0031427C 4B FE D0 45 */ bl VFiPFSTR_StrNCmp +/* 80318620 00314280 2C 03 00 00 */ cmpwi r3, 0 +/* 80318624 00314284 41 82 00 24 */ beq lbl_80318648 +/* 80318628 00314288 7F C3 F3 78 */ mr r3, r30 +/* 8031862C 0031428C 7F E5 FB 78 */ mr r5, r31 +/* 80318630 00314290 7F 46 07 34 */ extsh r6, r26 +/* 80318634 00314294 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_ +/* 80318638 00314298 38 E0 00 01 */ li r7, 1 +/* 8031863C 0031429C 4B FE D0 25 */ bl VFiPFSTR_StrNCmp +/* 80318640 003142A0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318644 003142A4 40 82 00 08 */ bne lbl_8031864C +lbl_80318648: +/* 80318648 003142A8 3B A0 00 01 */ li r29, 1 +lbl_8031864C: +/* 8031864C 003142AC 2C 1D 00 00 */ cmpwi r29, 0 +/* 80318650 003142B0 40 82 00 44 */ bne lbl_80318694 +/* 80318654 003142B4 7F C3 F3 78 */ mr r3, r30 +/* 80318658 003142B8 7F E5 FB 78 */ mr r5, r31 +/* 8031865C 003142BC 7F 46 07 34 */ extsh r6, r26 +/* 80318660 003142C0 38 8D 8D 20 */ addi r4, r13, lbl_8063DFE0-_SDA_BASE_ +/* 80318664 003142C4 38 E0 00 01 */ li r7, 1 +/* 80318668 003142C8 4B FE CF F9 */ bl VFiPFSTR_StrNCmp +/* 8031866C 003142CC 2C 03 00 00 */ cmpwi r3, 0 +/* 80318670 003142D0 41 82 00 24 */ beq lbl_80318694 +/* 80318674 003142D4 7F C3 F3 78 */ mr r3, r30 +/* 80318678 003142D8 7F E5 FB 78 */ mr r5, r31 +/* 8031867C 003142DC 7F 46 07 34 */ extsh r6, r26 +/* 80318680 003142E0 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_ +/* 80318684 003142E4 38 E0 00 01 */ li r7, 1 +/* 80318688 003142E8 4B FE CF D9 */ bl VFiPFSTR_StrNCmp +/* 8031868C 003142EC 2C 03 00 00 */ cmpwi r3, 0 +/* 80318690 003142F0 40 82 FE 94 */ bne lbl_80318524 +lbl_80318694: +/* 80318694 003142F4 7F 40 07 34 */ extsh r0, r26 +/* 80318698 003142F8 2C 00 00 08 */ cmpwi r0, 8 +/* 8031869C 003142FC 41 82 00 0C */ beq lbl_803186A8 +/* 803186A0 00314300 28 19 00 01 */ cmplwi r25, 1 +/* 803186A4 00314304 40 82 00 98 */ bne lbl_8031873C +lbl_803186A8: +/* 803186A8 00314308 7F C3 F3 78 */ mr r3, r30 +/* 803186AC 0031430C 7F E5 FB 78 */ mr r5, r31 +/* 803186B0 00314310 7F 46 07 34 */ extsh r6, r26 +/* 803186B4 00314314 38 8D 8D 20 */ addi r4, r13, lbl_8063DFE0-_SDA_BASE_ +/* 803186B8 00314318 38 E0 00 01 */ li r7, 1 +/* 803186BC 0031431C 4B FE CF A5 */ bl VFiPFSTR_StrNCmp +/* 803186C0 00314320 2C 03 00 00 */ cmpwi r3, 0 +/* 803186C4 00314324 41 82 00 74 */ beq lbl_80318738 +/* 803186C8 00314328 7F C3 F3 78 */ mr r3, r30 +/* 803186CC 0031432C 7F E5 FB 78 */ mr r5, r31 +/* 803186D0 00314330 7F 46 07 34 */ extsh r6, r26 +/* 803186D4 00314334 3B A0 00 00 */ li r29, 0 +/* 803186D8 00314338 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_ +/* 803186DC 0031433C 38 E0 00 01 */ li r7, 1 +/* 803186E0 00314340 4B FE CF 81 */ bl VFiPFSTR_StrNCmp +/* 803186E4 00314344 2C 03 00 00 */ cmpwi r3, 0 +/* 803186E8 00314348 41 82 00 24 */ beq lbl_8031870C +/* 803186EC 0031434C 7F C3 F3 78 */ mr r3, r30 +/* 803186F0 00314350 7F E5 FB 78 */ mr r5, r31 +/* 803186F4 00314354 7F 46 07 34 */ extsh r6, r26 +/* 803186F8 00314358 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_ +/* 803186FC 0031435C 38 E0 00 01 */ li r7, 1 +/* 80318700 00314360 4B FE CF 61 */ bl VFiPFSTR_StrNCmp +/* 80318704 00314364 2C 03 00 00 */ cmpwi r3, 0 +/* 80318708 00314368 40 82 00 08 */ bne lbl_80318710 +lbl_8031870C: +/* 8031870C 0031436C 3B A0 00 01 */ li r29, 1 +lbl_80318710: +/* 80318710 00314370 2C 1D 00 00 */ cmpwi r29, 0 +/* 80318714 00314374 41 82 00 24 */ beq lbl_80318738 +/* 80318718 00314378 7F C3 F3 78 */ mr r3, r30 +/* 8031871C 0031437C 7F E5 FB 78 */ mr r5, r31 +/* 80318720 00314380 7F 46 07 34 */ extsh r6, r26 +/* 80318724 00314384 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_ +/* 80318728 00314388 38 E0 00 01 */ li r7, 1 +/* 8031872C 0031438C 4B FE CF 35 */ bl VFiPFSTR_StrNCmp +/* 80318730 00314390 2C 03 00 00 */ cmpwi r3, 0 +/* 80318734 00314394 40 82 00 08 */ bne lbl_8031873C +lbl_80318738: +/* 80318738 00314398 7F 5B 07 34 */ extsh r27, r26 +lbl_8031873C: +/* 8031873C 0031439C 7F 63 DB 78 */ mr r3, r27 +lbl_80318740: +/* 80318740 003143A0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318744 003143A4 4B EA EA 25 */ bl _restgpr_24 +/* 80318748 003143A8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031874C 003143AC 7C 08 03 A6 */ mtlr r0 +/* 80318750 003143B0 38 21 00 30 */ addi r1, r1, 0x30 +/* 80318754 003143B4 4E 80 00 20 */ blr + +.global func_80318758 +func_80318758: +/* 80318758 003143B8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031875C 003143BC 7C 08 02 A6 */ mflr r0 +/* 80318760 003143C0 90 01 00 34 */ stw r0, 0x34(r1) +/* 80318764 003143C4 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318768 003143C8 4B EA E9 BD */ bl _savegpr_26 +/* 8031876C 003143CC 88 A2 A4 A8 */ lbz r5, lbl_80642AA8-_SDA2_BASE_(r2) +/* 80318770 003143D0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318774 003143D4 88 02 A4 A9 */ lbz r0, lbl_80642AA9-_SDA2_BASE_(r2) +/* 80318778 003143D8 7C 7A 1B 78 */ mr r26, r3 +/* 8031877C 003143DC 98 A1 00 08 */ stb r5, 8(r1) +/* 80318780 003143E0 7C 9B 23 78 */ mr r27, r4 +/* 80318784 003143E4 3B C0 00 00 */ li r30, 0 +/* 80318788 003143E8 98 01 00 09 */ stb r0, 9(r1) +/* 8031878C 003143EC 41 82 00 0C */ beq lbl_80318798 +/* 80318790 003143F0 2C 04 00 00 */ cmpwi r4, 0 +/* 80318794 003143F4 40 82 00 0C */ bne lbl_803187A0 +lbl_80318798: +/* 80318798 003143F8 38 60 00 0A */ li r3, 0xa +/* 8031879C 003143FC 48 00 01 48 */ b lbl_803188E4 +lbl_803187A0: +/* 803187A0 00314400 38 81 00 08 */ addi r4, r1, 8 +/* 803187A4 00314404 38 A0 00 01 */ li r5, 1 +/* 803187A8 00314408 38 C0 00 00 */ li r6, 0 +/* 803187AC 0031440C 38 E0 00 02 */ li r7, 2 +/* 803187B0 00314410 4B FE CE B1 */ bl VFiPFSTR_StrNCmp +/* 803187B4 00314414 2C 03 00 00 */ cmpwi r3, 0 +/* 803187B8 00314418 40 82 01 28 */ bne lbl_803188E0 +/* 803187BC 0031441C 3B 80 00 00 */ li r28, 0 +/* 803187C0 00314420 3B A0 00 02 */ li r29, 2 +/* 803187C4 00314424 3B E0 00 04 */ li r31, 4 +/* 803187C8 00314428 48 00 00 70 */ b lbl_80318838 +lbl_803187CC: +/* 803187CC 0031442C 7F 43 D3 78 */ mr r3, r26 +/* 803187D0 00314430 4B FE CB 11 */ bl VFiPFSTR_GetCodeMode +/* 803187D4 00314434 28 03 00 01 */ cmplwi r3, 1 +/* 803187D8 00314438 40 82 00 28 */ bne lbl_80318800 +/* 803187DC 0031443C 7F 43 D3 78 */ mr r3, r26 +/* 803187E0 00314440 38 80 00 01 */ li r4, 1 +/* 803187E4 00314444 4B FE CB 2D */ bl VFiPFSTR_GetStrPos +/* 803187E8 00314448 7F A0 07 34 */ extsh r0, r29 +/* 803187EC 0031444C 7C 03 00 AE */ lbzx r0, r3, r0 +/* 803187F0 00314450 7C 03 07 74 */ extsb r3, r0 +/* 803187F4 00314454 38 03 FF D0 */ addi r0, r3, -48 +/* 803187F8 00314458 7C 00 07 34 */ extsh r0, r0 +/* 803187FC 0031445C 48 00 00 1C */ b lbl_80318818 +lbl_80318800: +/* 80318800 00314460 7F 43 D3 78 */ mr r3, r26 +/* 80318804 00314464 38 80 00 01 */ li r4, 1 +/* 80318808 00314468 4B FE CB 09 */ bl VFiPFSTR_GetStrPos +/* 8031880C 0031446C 7C 63 FA 2E */ lhzx r3, r3, r31 +/* 80318810 00314470 38 03 FF D0 */ addi r0, r3, -48 +/* 80318814 00314474 7C 00 07 34 */ extsh r0, r0 +lbl_80318818: +/* 80318818 00314478 2C 00 00 00 */ cmpwi r0, 0 +/* 8031881C 0031447C 41 80 00 44 */ blt lbl_80318860 +/* 80318820 00314480 2C 00 00 09 */ cmpwi r0, 9 +/* 80318824 00314484 41 81 00 3C */ bgt lbl_80318860 +/* 80318828 00314488 1F 9C 00 0A */ mulli r28, r28, 0xa +/* 8031882C 0031448C 3B FF 00 02 */ addi r31, r31, 2 +/* 80318830 00314490 3B BD 00 01 */ addi r29, r29, 1 +/* 80318834 00314494 7F 9C 02 14 */ add r28, r28, r0 +lbl_80318838: +/* 80318838 00314498 7F A6 07 34 */ extsh r6, r29 +/* 8031883C 0031449C 2C 06 00 08 */ cmpwi r6, 8 +/* 80318840 003144A0 41 80 FF 8C */ blt lbl_803187CC +/* 80318844 003144A4 7F 43 D3 78 */ mr r3, r26 +/* 80318848 003144A8 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_ +/* 8031884C 003144AC 38 A0 00 01 */ li r5, 1 +/* 80318850 003144B0 38 E0 00 01 */ li r7, 1 +/* 80318854 003144B4 4B FE CE 0D */ bl VFiPFSTR_StrNCmp +/* 80318858 003144B8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031885C 003144BC 40 82 FF 70 */ bne lbl_803187CC +lbl_80318860: +/* 80318860 003144C0 7F A6 07 34 */ extsh r6, r29 +/* 80318864 003144C4 2C 06 00 08 */ cmpwi r6, 8 +/* 80318868 003144C8 40 82 00 78 */ bne lbl_803188E0 +/* 8031886C 003144CC 7F 43 D3 78 */ mr r3, r26 +/* 80318870 003144D0 3B E0 00 00 */ li r31, 0 +/* 80318874 003144D4 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_ +/* 80318878 003144D8 38 A0 00 01 */ li r5, 1 +/* 8031887C 003144DC 38 E0 00 01 */ li r7, 1 +/* 80318880 003144E0 4B FE CD E1 */ bl VFiPFSTR_StrNCmp +/* 80318884 003144E4 2C 03 00 00 */ cmpwi r3, 0 +/* 80318888 003144E8 41 82 00 24 */ beq lbl_803188AC +/* 8031888C 003144EC 7F 43 D3 78 */ mr r3, r26 +/* 80318890 003144F0 7F A6 07 34 */ extsh r6, r29 +/* 80318894 003144F4 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_ +/* 80318898 003144F8 38 A0 00 01 */ li r5, 1 +/* 8031889C 003144FC 38 E0 00 01 */ li r7, 1 +/* 803188A0 00314500 4B FE CD C1 */ bl VFiPFSTR_StrNCmp +/* 803188A4 00314504 2C 03 00 00 */ cmpwi r3, 0 +/* 803188A8 00314508 40 82 00 08 */ bne lbl_803188B0 +lbl_803188AC: +/* 803188AC 0031450C 3B E0 00 01 */ li r31, 1 +lbl_803188B0: +/* 803188B0 00314510 2C 1F 00 00 */ cmpwi r31, 0 +/* 803188B4 00314514 41 82 00 24 */ beq lbl_803188D8 +/* 803188B8 00314518 7F 43 D3 78 */ mr r3, r26 +/* 803188BC 0031451C 7F A6 07 34 */ extsh r6, r29 +/* 803188C0 00314520 38 80 00 00 */ li r4, 0 +/* 803188C4 00314524 38 A0 00 01 */ li r5, 1 +/* 803188C8 00314528 38 E0 00 01 */ li r7, 1 +/* 803188CC 0031452C 4B FE CD 95 */ bl VFiPFSTR_StrNCmp +/* 803188D0 00314530 2C 03 00 00 */ cmpwi r3, 0 +/* 803188D4 00314534 40 82 00 0C */ bne lbl_803188E0 +lbl_803188D8: +/* 803188D8 00314538 93 9B 00 00 */ stw r28, 0(r27) +/* 803188DC 0031453C 3B C0 00 01 */ li r30, 1 +lbl_803188E0: +/* 803188E0 00314540 7F C3 F3 78 */ mr r3, r30 +lbl_803188E4: +/* 803188E4 00314544 39 61 00 30 */ addi r11, r1, 0x30 +/* 803188E8 00314548 4B EA E8 89 */ bl _restgpr_26 +/* 803188EC 0031454C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 803188F0 00314550 7C 08 03 A6 */ mtlr r0 +/* 803188F4 00314554 38 21 00 30 */ addi r1, r1, 0x30 +/* 803188F8 00314558 4E 80 00 20 */ blr + +.global func_803188FC +func_803188FC: +/* 803188FC 0031455C 2C 03 00 00 */ cmpwi r3, 0 +/* 80318900 00314560 40 82 00 0C */ bne lbl_8031890C +/* 80318904 00314564 38 60 00 0A */ li r3, 0xa +/* 80318908 00314568 4E 80 00 20 */ blr +lbl_8031890C: +/* 8031890C 0031456C 38 63 00 07 */ addi r3, r3, 7 +/* 80318910 00314570 38 C0 00 07 */ li r6, 7 +/* 80318914 00314574 38 E0 00 0A */ li r7, 0xa +/* 80318918 00314578 39 00 00 01 */ li r8, 1 +/* 8031891C 0031457C 48 00 00 3C */ b lbl_80318958 +lbl_80318920: +/* 80318920 00314580 7C 04 3B 96 */ divwu r0, r4, r7 +/* 80318924 00314584 7C 00 39 D6 */ mullw r0, r0, r7 +/* 80318928 00314588 7C 00 20 51 */ subf. r0, r0, r4 +/* 8031892C 0031458C 41 82 00 1C */ beq lbl_80318948 +/* 80318930 00314590 7C 80 20 50 */ subf r4, r0, r4 +/* 80318934 00314594 88 A3 00 00 */ lbz r5, 0(r3) +/* 80318938 00314598 7C 00 43 96 */ divwu r0, r0, r8 +/* 8031893C 0031459C 7C 00 07 74 */ extsb r0, r0 +/* 80318940 003145A0 7C 05 02 14 */ add r0, r5, r0 +/* 80318944 003145A4 98 03 00 00 */ stb r0, 0(r3) +lbl_80318948: +/* 80318948 003145A8 1C E7 00 0A */ mulli r7, r7, 0xa +/* 8031894C 003145AC 38 C6 FF FF */ addi r6, r6, -1 +/* 80318950 003145B0 38 63 FF FF */ addi r3, r3, -1 +/* 80318954 003145B4 1D 08 00 0A */ mulli r8, r8, 0xa +lbl_80318958: +/* 80318958 003145B8 28 06 00 01 */ cmplwi r6, 1 +/* 8031895C 003145BC 40 81 00 0C */ ble lbl_80318968 +/* 80318960 003145C0 2C 04 00 00 */ cmpwi r4, 0 +/* 80318964 003145C4 40 82 FF BC */ bne lbl_80318920 +lbl_80318968: +/* 80318968 003145C8 38 60 00 00 */ li r3, 0 +/* 8031896C 003145CC 4E 80 00 20 */ blr + +.global func_80318970 +func_80318970: +/* 80318970 003145D0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80318974 003145D4 7C 08 02 A6 */ mflr r0 +/* 80318978 003145D8 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031897C 003145DC 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318980 003145E0 4B EA E7 A9 */ bl _savegpr_27 +/* 80318984 003145E4 2C 03 00 00 */ cmpwi r3, 0 +/* 80318988 003145E8 7C 7B 1B 78 */ mr r27, r3 +/* 8031898C 003145EC 7C 9C 23 78 */ mr r28, r4 +/* 80318990 003145F0 7C BD 2B 78 */ mr r29, r5 +/* 80318994 003145F4 7C DE 33 78 */ mr r30, r6 +/* 80318998 003145F8 7C FF 3B 78 */ mr r31, r7 +/* 8031899C 003145FC 40 82 00 0C */ bne lbl_803189A8 +/* 803189A0 00314600 38 60 00 0A */ li r3, 0xa +/* 803189A4 00314604 48 00 00 6C */ b lbl_80318A10 +lbl_803189A8: +/* 803189A8 00314608 2C 04 00 00 */ cmpwi r4, 0 +/* 803189AC 0031460C 40 82 00 0C */ bne lbl_803189B8 +/* 803189B0 00314610 38 60 00 0A */ li r3, 0xa +/* 803189B4 00314614 48 00 00 5C */ b lbl_80318A10 +lbl_803189B8: +/* 803189B8 00314618 A0 03 18 78 */ lhz r0, 0x1878(r3) +/* 803189BC 0031461C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 803189C0 00314620 41 82 00 10 */ beq lbl_803189D0 +/* 803189C4 00314624 4B FE D3 8D */ bl VFiPFDRV_IsInserted +/* 803189C8 00314628 2C 03 00 00 */ cmpwi r3, 0 +/* 803189CC 0031462C 40 82 00 0C */ bne lbl_803189D8 +lbl_803189D0: +/* 803189D0 00314630 38 60 00 09 */ li r3, 9 +/* 803189D4 00314634 48 00 00 3C */ b lbl_80318A10 +lbl_803189D8: +/* 803189D8 00314638 7F 63 DB 78 */ mr r3, r27 +/* 803189DC 0031463C 7F A4 EB 78 */ mr r4, r29 +/* 803189E0 00314640 38 A1 00 08 */ addi r5, r1, 8 +/* 803189E4 00314644 4B FF 1E 69 */ bl VFiPFCACHE_ReadFATPage +/* 803189E8 00314648 2C 03 00 00 */ cmpwi r3, 0 +/* 803189EC 0031464C 41 82 00 08 */ beq lbl_803189F4 +/* 803189F0 00314650 48 00 00 20 */ b lbl_80318A10 +lbl_803189F4: +/* 803189F4 00314654 80 81 00 08 */ lwz r4, 8(r1) +/* 803189F8 00314658 7F 83 E3 78 */ mr r3, r28 +/* 803189FC 0031465C 7F E5 FB 78 */ mr r5, r31 +/* 80318A00 00314660 80 04 00 08 */ lwz r0, 8(r4) +/* 80318A04 00314664 7C 80 F2 14 */ add r4, r0, r30 +/* 80318A08 00314668 4B FE C4 A5 */ bl VFipf_memcpy +/* 80318A0C 0031466C 38 60 00 00 */ li r3, 0 +lbl_80318A10: +/* 80318A10 00314670 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318A14 00314674 4B EA E7 61 */ bl _restgpr_27 +/* 80318A18 00314678 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80318A1C 0031467C 7C 08 03 A6 */ mtlr r0 +/* 80318A20 00314680 38 21 00 30 */ addi r1, r1, 0x30 +/* 80318A24 00314684 4E 80 00 20 */ blr + +.global func_80318A28 +func_80318A28: +/* 80318A28 00314688 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80318A2C 0031468C 7C 08 02 A6 */ mflr r0 +/* 80318A30 00314690 90 01 00 34 */ stw r0, 0x34(r1) +/* 80318A34 00314694 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318A38 00314698 4B EA E6 E9 */ bl _savegpr_25 +/* 80318A3C 0031469C 38 00 00 00 */ li r0, 0 +/* 80318A40 003146A0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318A44 003146A4 90 08 00 00 */ stw r0, 0(r8) +/* 80318A48 003146A8 7C 7A 1B 78 */ mr r26, r3 +/* 80318A4C 003146AC 7C 9B 23 78 */ mr r27, r4 +/* 80318A50 003146B0 7C BC 2B 78 */ mr r28, r5 +/* 80318A54 003146B4 7C D9 33 78 */ mr r25, r6 +/* 80318A58 003146B8 7C FF 3B 78 */ mr r31, r7 +/* 80318A5C 003146BC 7D 1D 43 78 */ mr r29, r8 +/* 80318A60 003146C0 7D 3E 4B 78 */ mr r30, r9 +/* 80318A64 003146C4 40 82 00 0C */ bne lbl_80318A70 +/* 80318A68 003146C8 38 60 00 0A */ li r3, 0xa +/* 80318A6C 003146CC 48 00 02 84 */ b lbl_80318CF0 +lbl_80318A70: +/* 80318A70 003146D0 2C 04 00 00 */ cmpwi r4, 0 +/* 80318A74 003146D4 40 82 00 0C */ bne lbl_80318A80 +/* 80318A78 003146D8 38 60 00 0A */ li r3, 0xa +/* 80318A7C 003146DC 48 00 02 74 */ b lbl_80318CF0 +lbl_80318A80: +/* 80318A80 003146E0 A0 03 18 78 */ lhz r0, 0x1878(r3) +/* 80318A84 003146E4 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80318A88 003146E8 41 82 00 10 */ beq lbl_80318A98 +/* 80318A8C 003146EC 4B FE D2 C5 */ bl VFiPFDRV_IsInserted +/* 80318A90 003146F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318A94 003146F4 40 82 00 0C */ bne lbl_80318AA0 +lbl_80318A98: +/* 80318A98 003146F8 38 60 00 09 */ li r3, 9 +/* 80318A9C 003146FC 48 00 02 54 */ b lbl_80318CF0 +lbl_80318AA0: +/* 80318AA0 00314700 2C 99 00 00 */ cmpwi cr1, r25, 0 +/* 80318AA4 00314704 40 86 00 10 */ bne cr1, lbl_80318AB4 +/* 80318AA8 00314708 A0 7A 00 00 */ lhz r3, 0(r26) +/* 80318AAC 0031470C 7C 1F 18 40 */ cmplw r31, r3 +/* 80318AB0 00314710 40 80 00 44 */ bge lbl_80318AF4 +lbl_80318AB4: +/* 80318AB4 00314714 7F 43 D3 78 */ mr r3, r26 +/* 80318AB8 00314718 7F 84 E3 78 */ mr r4, r28 +/* 80318ABC 0031471C 7F C6 F3 78 */ mr r6, r30 +/* 80318AC0 00314720 38 A1 00 0C */ addi r5, r1, 0xc +/* 80318AC4 00314724 4B FF 1D C9 */ bl VFiPFCACHE_ReadDataPage +/* 80318AC8 00314728 2C 03 00 00 */ cmpwi r3, 0 +/* 80318ACC 0031472C 41 82 00 08 */ beq lbl_80318AD4 +/* 80318AD0 00314730 48 00 02 20 */ b lbl_80318CF0 +lbl_80318AD4: +/* 80318AD4 00314734 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80318AD8 00314738 7F 63 DB 78 */ mr r3, r27 +/* 80318ADC 0031473C 7F E5 FB 78 */ mr r5, r31 +/* 80318AE0 00314740 80 04 00 08 */ lwz r0, 8(r4) +/* 80318AE4 00314744 7C 80 CA 14 */ add r4, r0, r25 +/* 80318AE8 00314748 4B FE C3 C5 */ bl VFipf_memcpy +/* 80318AEC 0031474C 93 FD 00 00 */ stw r31, 0(r29) +/* 80318AF0 00314750 48 00 01 FC */ b lbl_80318CEC +lbl_80318AF4: +/* 80318AF4 00314754 40 86 00 6C */ bne cr1, lbl_80318B60 +/* 80318AF8 00314758 38 03 FF FF */ addi r0, r3, -1 +/* 80318AFC 0031475C 7F E0 00 39 */ and. r0, r31, r0 +/* 80318B00 00314760 40 82 00 60 */ bne lbl_80318B60 +/* 80318B04 00314764 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318B08 00314768 7F 43 D3 78 */ mr r3, r26 +/* 80318B0C 0031476C 7F 64 DB 78 */ mr r4, r27 +/* 80318B10 00314770 7F 85 E3 78 */ mr r5, r28 +/* 80318B14 00314774 7F E6 04 30 */ srw r6, r31, r0 +/* 80318B18 00314778 38 E1 00 08 */ addi r7, r1, 8 +/* 80318B1C 0031477C 4B FF 1E 01 */ bl VFiPFCACHE_ReadDataNumSector +/* 80318B20 00314780 2C 03 00 00 */ cmpwi r3, 0 +/* 80318B24 00314784 41 82 00 08 */ beq lbl_80318B2C +/* 80318B28 00314788 48 00 01 C8 */ b lbl_80318CF0 +lbl_80318B2C: +/* 80318B2C 0031478C 80 61 00 08 */ lwz r3, 8(r1) +/* 80318B30 00314790 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318B34 00314794 80 9D 00 00 */ lwz r4, 0(r29) +/* 80318B38 00314798 7C 60 00 30 */ slw r0, r3, r0 +/* 80318B3C 0031479C 7C 04 02 14 */ add r0, r4, r0 +/* 80318B40 003147A0 90 1D 00 00 */ stw r0, 0(r29) +/* 80318B44 003147A4 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318B48 003147A8 80 61 00 08 */ lwz r3, 8(r1) +/* 80318B4C 003147AC 7F E0 04 30 */ srw r0, r31, r0 +/* 80318B50 003147B0 7C 03 00 40 */ cmplw r3, r0 +/* 80318B54 003147B4 41 82 01 98 */ beq lbl_80318CEC +/* 80318B58 003147B8 38 60 00 11 */ li r3, 0x11 +/* 80318B5C 003147BC 48 00 01 94 */ b lbl_80318CF0 +lbl_80318B60: +/* 80318B60 003147C0 2C 19 00 00 */ cmpwi r25, 0 +/* 80318B64 003147C4 40 82 01 80 */ bne lbl_80318CE4 +/* 80318B68 003147C8 7F 43 D3 78 */ mr r3, r26 +/* 80318B6C 003147CC 7F 84 E3 78 */ mr r4, r28 +/* 80318B70 003147D0 4B FF 1F 35 */ bl VFiPFCACHE_SearchDataCache +/* 80318B74 003147D4 2C 03 00 00 */ cmpwi r3, 0 +/* 80318B78 003147D8 90 61 00 0C */ stw r3, 0xc(r1) +/* 80318B7C 003147DC 41 82 00 80 */ beq lbl_80318BFC +/* 80318B80 003147E0 80 83 00 18 */ lwz r4, 0x18(r3) +/* 80318B84 003147E4 80 03 00 14 */ lwz r0, 0x14(r3) +/* 80318B88 003147E8 88 BA 00 20 */ lbz r5, 0x20(r26) +/* 80318B8C 003147EC 7C 04 02 14 */ add r0, r4, r0 +/* 80318B90 003147F0 7F 3C 00 50 */ subf r25, r28, r0 +/* 80318B94 003147F4 7F E0 2C 30 */ srw r0, r31, r5 +/* 80318B98 003147F8 7C 19 00 40 */ cmplw r25, r0 +/* 80318B9C 003147FC 41 81 00 3C */ bgt lbl_80318BD8 +/* 80318BA0 00314800 80 83 00 08 */ lwz r4, 8(r3) +/* 80318BA4 00314804 7F 63 DB 78 */ mr r3, r27 +/* 80318BA8 00314808 7F 25 28 30 */ slw r5, r25, r5 +/* 80318BAC 0031480C 4B FE C3 01 */ bl VFipf_memcpy +/* 80318BB0 00314810 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318BB4 00314814 7F 9C CA 14 */ add r28, r28, r25 +/* 80318BB8 00314818 80 7D 00 00 */ lwz r3, 0(r29) +/* 80318BBC 0031481C 7F 20 00 30 */ slw r0, r25, r0 +/* 80318BC0 00314820 7C 03 02 14 */ add r0, r3, r0 +/* 80318BC4 00314824 90 1D 00 00 */ stw r0, 0(r29) +/* 80318BC8 00314828 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318BCC 0031482C 7F 20 00 30 */ slw r0, r25, r0 +/* 80318BD0 00314830 7F E0 F8 50 */ subf r31, r0, r31 +/* 80318BD4 00314834 48 00 00 28 */ b lbl_80318BFC +lbl_80318BD8: +/* 80318BD8 00314838 40 81 00 24 */ ble lbl_80318BFC +/* 80318BDC 0031483C 80 83 00 08 */ lwz r4, 8(r3) +/* 80318BE0 00314840 7F 63 DB 78 */ mr r3, r27 +/* 80318BE4 00314844 7F E5 FB 78 */ mr r5, r31 +/* 80318BE8 00314848 4B FE C2 C5 */ bl VFipf_memcpy +/* 80318BEC 0031484C 80 1D 00 00 */ lwz r0, 0(r29) +/* 80318BF0 00314850 7C 00 FA 14 */ add r0, r0, r31 +/* 80318BF4 00314854 3B E0 00 00 */ li r31, 0 +/* 80318BF8 00314858 90 1D 00 00 */ stw r0, 0(r29) +lbl_80318BFC: +/* 80318BFC 0031485C 2C 1F 00 00 */ cmpwi r31, 0 +/* 80318C00 00314860 41 82 00 EC */ beq lbl_80318CEC +/* 80318C04 00314864 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318C08 00314868 80 7A 16 04 */ lwz r3, 0x1604(r26) +/* 80318C0C 0031486C 7F FF 04 30 */ srw r31, r31, r0 +/* 80318C10 00314870 7C 9C FA 14 */ add r4, r28, r31 +/* 80318C14 00314874 7C 04 1B 96 */ divwu r0, r4, r3 +/* 80318C18 00314878 7C 00 19 D6 */ mullw r0, r0, r3 +/* 80318C1C 0031487C 7C 60 20 50 */ subf r3, r0, r4 +/* 80318C20 00314880 7C 1F 18 40 */ cmplw r31, r3 +/* 80318C24 00314884 40 81 00 64 */ ble lbl_80318C88 +/* 80318C28 00314888 80 1D 00 00 */ lwz r0, 0(r29) +/* 80318C2C 0031488C 7F 23 F8 50 */ subf r25, r3, r31 +/* 80318C30 00314890 7F 43 D3 78 */ mr r3, r26 +/* 80318C34 00314894 7F 85 E3 78 */ mr r5, r28 +/* 80318C38 00314898 7F 26 CB 78 */ mr r6, r25 +/* 80318C3C 0031489C 7C 9B 02 14 */ add r4, r27, r0 +/* 80318C40 003148A0 38 E1 00 08 */ addi r7, r1, 8 +/* 80318C44 003148A4 4B FF 1C D9 */ bl VFiPFCACHE_ReadDataNumSector +/* 80318C48 003148A8 2C 03 00 00 */ cmpwi r3, 0 +/* 80318C4C 003148AC 41 82 00 08 */ beq lbl_80318C54 +/* 80318C50 003148B0 48 00 00 A0 */ b lbl_80318CF0 +lbl_80318C54: +/* 80318C54 003148B4 80 61 00 08 */ lwz r3, 8(r1) +/* 80318C58 003148B8 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318C5C 003148BC 80 9D 00 00 */ lwz r4, 0(r29) +/* 80318C60 003148C0 7C 60 00 30 */ slw r0, r3, r0 +/* 80318C64 003148C4 7C 04 02 14 */ add r0, r4, r0 +/* 80318C68 003148C8 90 1D 00 00 */ stw r0, 0(r29) +/* 80318C6C 003148CC 80 01 00 08 */ lwz r0, 8(r1) +/* 80318C70 003148D0 7C 00 C8 40 */ cmplw r0, r25 +/* 80318C74 003148D4 41 82 00 0C */ beq lbl_80318C80 +/* 80318C78 003148D8 38 60 00 11 */ li r3, 0x11 +/* 80318C7C 003148DC 48 00 00 74 */ b lbl_80318CF0 +lbl_80318C80: +/* 80318C80 003148E0 7F 9C CA 14 */ add r28, r28, r25 +/* 80318C84 003148E4 7F F9 F8 50 */ subf r31, r25, r31 +lbl_80318C88: +/* 80318C88 003148E8 2C 1F 00 00 */ cmpwi r31, 0 +/* 80318C8C 003148EC 41 82 00 60 */ beq lbl_80318CEC +/* 80318C90 003148F0 7F 43 D3 78 */ mr r3, r26 +/* 80318C94 003148F4 7F 84 E3 78 */ mr r4, r28 +/* 80318C98 003148F8 7F C6 F3 78 */ mr r6, r30 +/* 80318C9C 003148FC 38 A1 00 0C */ addi r5, r1, 0xc +/* 80318CA0 00314900 4B FF 1B ED */ bl VFiPFCACHE_ReadDataPage +/* 80318CA4 00314904 2C 03 00 00 */ cmpwi r3, 0 +/* 80318CA8 00314908 41 82 00 08 */ beq lbl_80318CB0 +/* 80318CAC 0031490C 48 00 00 44 */ b lbl_80318CF0 +lbl_80318CB0: +/* 80318CB0 00314910 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80318CB4 00314914 80 BD 00 00 */ lwz r5, 0(r29) +/* 80318CB8 00314918 80 83 00 08 */ lwz r4, 8(r3) +/* 80318CBC 0031491C 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318CC0 00314920 7C 7B 2A 14 */ add r3, r27, r5 +/* 80318CC4 00314924 7F E5 00 30 */ slw r5, r31, r0 +/* 80318CC8 00314928 4B FE C1 E5 */ bl VFipf_memcpy +/* 80318CCC 0031492C 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318CD0 00314930 80 7D 00 00 */ lwz r3, 0(r29) +/* 80318CD4 00314934 7F E0 00 30 */ slw r0, r31, r0 +/* 80318CD8 00314938 7C 03 02 14 */ add r0, r3, r0 +/* 80318CDC 0031493C 90 1D 00 00 */ stw r0, 0(r29) +/* 80318CE0 00314940 48 00 00 0C */ b lbl_80318CEC +lbl_80318CE4: +/* 80318CE4 00314944 38 60 00 0A */ li r3, 0xa +/* 80318CE8 00314948 48 00 00 08 */ b lbl_80318CF0 +lbl_80318CEC: +/* 80318CEC 0031494C 38 60 00 00 */ li r3, 0 +lbl_80318CF0: +/* 80318CF0 00314950 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318CF4 00314954 4B EA E4 79 */ bl _restgpr_25 +/* 80318CF8 00314958 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80318CFC 0031495C 7C 08 03 A6 */ mtlr r0 +/* 80318D00 00314960 38 21 00 30 */ addi r1, r1, 0x30 +/* 80318D04 00314964 4E 80 00 20 */ blr + +.global func_80318D08 +func_80318D08: +/* 80318D08 00314968 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80318D0C 0031496C 7C 08 02 A6 */ mflr r0 +/* 80318D10 00314970 90 01 00 34 */ stw r0, 0x34(r1) +/* 80318D14 00314974 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318D18 00314978 4B EA E4 11 */ bl _savegpr_27 +/* 80318D1C 0031497C 2C 03 00 00 */ cmpwi r3, 0 +/* 80318D20 00314980 7C 7B 1B 78 */ mr r27, r3 +/* 80318D24 00314984 7C 9C 23 78 */ mr r28, r4 +/* 80318D28 00314988 7C BD 2B 78 */ mr r29, r5 +/* 80318D2C 0031498C 7C DE 33 78 */ mr r30, r6 +/* 80318D30 00314990 7C FF 3B 78 */ mr r31, r7 +/* 80318D34 00314994 40 82 00 0C */ bne lbl_80318D40 +/* 80318D38 00314998 38 60 00 0A */ li r3, 0xa +/* 80318D3C 0031499C 48 00 00 94 */ b lbl_80318DD0 +lbl_80318D40: +/* 80318D40 003149A0 2C 04 00 00 */ cmpwi r4, 0 +/* 80318D44 003149A4 40 82 00 0C */ bne lbl_80318D50 +/* 80318D48 003149A8 38 60 00 0A */ li r3, 0xa +/* 80318D4C 003149AC 48 00 00 84 */ b lbl_80318DD0 +lbl_80318D50: +/* 80318D50 003149B0 A0 03 18 78 */ lhz r0, 0x1878(r3) +/* 80318D54 003149B4 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80318D58 003149B8 41 82 00 20 */ beq lbl_80318D78 +/* 80318D5C 003149BC 4B FE CF F5 */ bl VFiPFDRV_IsInserted +/* 80318D60 003149C0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318D64 003149C4 41 82 00 14 */ beq lbl_80318D78 +/* 80318D68 003149C8 7F 63 DB 78 */ mr r3, r27 +/* 80318D6C 003149CC 4B FE D0 3D */ bl VFiPFDRV_IsWProtected +/* 80318D70 003149D0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318D74 003149D4 41 82 00 0C */ beq lbl_80318D80 +lbl_80318D78: +/* 80318D78 003149D8 38 60 00 09 */ li r3, 9 +/* 80318D7C 003149DC 48 00 00 54 */ b lbl_80318DD0 +lbl_80318D80: +/* 80318D80 003149E0 7F 63 DB 78 */ mr r3, r27 +/* 80318D84 003149E4 7F A4 EB 78 */ mr r4, r29 +/* 80318D88 003149E8 38 A1 00 08 */ addi r5, r1, 8 +/* 80318D8C 003149EC 4B FF 1A C1 */ bl VFiPFCACHE_ReadFATPage +/* 80318D90 003149F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318D94 003149F4 41 82 00 08 */ beq lbl_80318D9C +/* 80318D98 003149F8 48 00 00 38 */ b lbl_80318DD0 +lbl_80318D9C: +/* 80318D9C 003149FC 80 61 00 08 */ lwz r3, 8(r1) +/* 80318DA0 00314A00 7F 84 E3 78 */ mr r4, r28 +/* 80318DA4 00314A04 7F E5 FB 78 */ mr r5, r31 +/* 80318DA8 00314A08 80 03 00 08 */ lwz r0, 8(r3) +/* 80318DAC 00314A0C 7C 60 F2 14 */ add r3, r0, r30 +/* 80318DB0 00314A10 4B FE C0 FD */ bl VFipf_memcpy +/* 80318DB4 00314A14 80 81 00 08 */ lwz r4, 8(r1) +/* 80318DB8 00314A18 7F 63 DB 78 */ mr r3, r27 +/* 80318DBC 00314A1C 4B FF 1B C1 */ bl VFiPFCACHE_WriteFATPage +/* 80318DC0 00314A20 7C 03 00 D0 */ neg r0, r3 +/* 80318DC4 00314A24 7C 00 1B 78 */ or r0, r0, r3 +/* 80318DC8 00314A28 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 80318DCC 00314A2C 7C 63 00 38 */ and r3, r3, r0 +lbl_80318DD0: +/* 80318DD0 00314A30 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318DD4 00314A34 4B EA E3 A1 */ bl _restgpr_27 +/* 80318DD8 00314A38 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80318DDC 00314A3C 7C 08 03 A6 */ mtlr r0 +/* 80318DE0 00314A40 38 21 00 30 */ addi r1, r1, 0x30 +/* 80318DE4 00314A44 4E 80 00 20 */ blr + +.global func_80318DE8 +func_80318DE8: +/* 80318DE8 00314A48 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80318DEC 00314A4C 7C 08 02 A6 */ mflr r0 +/* 80318DF0 00314A50 90 01 00 34 */ stw r0, 0x34(r1) +/* 80318DF4 00314A54 39 61 00 30 */ addi r11, r1, 0x30 +/* 80318DF8 00314A58 4B EA E3 29 */ bl _savegpr_25 +/* 80318DFC 00314A5C 38 00 00 00 */ li r0, 0 +/* 80318E00 00314A60 2C 03 00 00 */ cmpwi r3, 0 +/* 80318E04 00314A64 90 08 00 00 */ stw r0, 0(r8) +/* 80318E08 00314A68 7C 7A 1B 78 */ mr r26, r3 +/* 80318E0C 00314A6C 7C 9B 23 78 */ mr r27, r4 +/* 80318E10 00314A70 7C BC 2B 78 */ mr r28, r5 +/* 80318E14 00314A74 7C D9 33 78 */ mr r25, r6 +/* 80318E18 00314A78 7C FF 3B 78 */ mr r31, r7 +/* 80318E1C 00314A7C 7D 1D 43 78 */ mr r29, r8 +/* 80318E20 00314A80 7D 3E 4B 78 */ mr r30, r9 +/* 80318E24 00314A84 40 82 00 0C */ bne lbl_80318E30 +/* 80318E28 00314A88 38 60 00 0A */ li r3, 0xa +/* 80318E2C 00314A8C 48 00 02 1C */ b lbl_80319048 +lbl_80318E30: +/* 80318E30 00314A90 2C 04 00 00 */ cmpwi r4, 0 +/* 80318E34 00314A94 40 82 00 0C */ bne lbl_80318E40 +/* 80318E38 00314A98 38 60 00 0A */ li r3, 0xa +/* 80318E3C 00314A9C 48 00 02 0C */ b lbl_80319048 +lbl_80318E40: +/* 80318E40 00314AA0 A0 03 18 78 */ lhz r0, 0x1878(r3) +/* 80318E44 00314AA4 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80318E48 00314AA8 41 82 00 20 */ beq lbl_80318E68 +/* 80318E4C 00314AAC 4B FE CF 05 */ bl VFiPFDRV_IsInserted +/* 80318E50 00314AB0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318E54 00314AB4 41 82 00 14 */ beq lbl_80318E68 +/* 80318E58 00314AB8 7F 43 D3 78 */ mr r3, r26 +/* 80318E5C 00314ABC 4B FE CF 4D */ bl VFiPFDRV_IsWProtected +/* 80318E60 00314AC0 2C 03 00 00 */ cmpwi r3, 0 +/* 80318E64 00314AC4 41 82 00 0C */ beq lbl_80318E70 +lbl_80318E68: +/* 80318E68 00314AC8 38 60 00 09 */ li r3, 9 +/* 80318E6C 00314ACC 48 00 01 DC */ b lbl_80319048 +lbl_80318E70: +/* 80318E70 00314AD0 2C 99 00 00 */ cmpwi cr1, r25, 0 +/* 80318E74 00314AD4 40 86 00 10 */ bne cr1, lbl_80318E84 +/* 80318E78 00314AD8 A0 7A 00 00 */ lhz r3, 0(r26) +/* 80318E7C 00314ADC 7C 1F 18 40 */ cmplw r31, r3 +/* 80318E80 00314AE0 40 80 00 60 */ bge lbl_80318EE0 +lbl_80318E84: +/* 80318E84 00314AE4 7F 43 D3 78 */ mr r3, r26 +/* 80318E88 00314AE8 7F 84 E3 78 */ mr r4, r28 +/* 80318E8C 00314AEC 7F C6 F3 78 */ mr r6, r30 +/* 80318E90 00314AF0 38 A1 00 0C */ addi r5, r1, 0xc +/* 80318E94 00314AF4 4B FF 1A 41 */ bl VFiPFCACHE_ReadDataPageAndFlushIfNeeded +/* 80318E98 00314AF8 2C 03 00 00 */ cmpwi r3, 0 +/* 80318E9C 00314AFC 41 82 00 08 */ beq lbl_80318EA4 +/* 80318EA0 00314B00 48 00 01 A8 */ b lbl_80319048 +lbl_80318EA4: +/* 80318EA4 00314B04 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80318EA8 00314B08 7F 64 DB 78 */ mr r4, r27 +/* 80318EAC 00314B0C 7F E5 FB 78 */ mr r5, r31 +/* 80318EB0 00314B10 80 03 00 08 */ lwz r0, 8(r3) +/* 80318EB4 00314B14 7C 60 CA 14 */ add r3, r0, r25 +/* 80318EB8 00314B18 4B FE BF F5 */ bl VFipf_memcpy +/* 80318EBC 00314B1C 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80318EC0 00314B20 7F 43 D3 78 */ mr r3, r26 +/* 80318EC4 00314B24 7F C5 F3 78 */ mr r5, r30 +/* 80318EC8 00314B28 4B FF 1A F1 */ bl VFiPFCACHE_WriteDataPage +/* 80318ECC 00314B2C 2C 03 00 00 */ cmpwi r3, 0 +/* 80318ED0 00314B30 41 82 00 08 */ beq lbl_80318ED8 +/* 80318ED4 00314B34 48 00 01 74 */ b lbl_80319048 +lbl_80318ED8: +/* 80318ED8 00314B38 93 FD 00 00 */ stw r31, 0(r29) +/* 80318EDC 00314B3C 48 00 01 68 */ b lbl_80319044 +lbl_80318EE0: +/* 80318EE0 00314B40 40 86 00 64 */ bne cr1, lbl_80318F44 +/* 80318EE4 00314B44 38 03 FF FF */ addi r0, r3, -1 +/* 80318EE8 00314B48 7F E0 00 39 */ and. r0, r31, r0 +/* 80318EEC 00314B4C 40 82 00 58 */ bne lbl_80318F44 +/* 80318EF0 00314B50 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318EF4 00314B54 7F 43 D3 78 */ mr r3, r26 +/* 80318EF8 00314B58 7F 64 DB 78 */ mr r4, r27 +/* 80318EFC 00314B5C 7F 85 E3 78 */ mr r5, r28 +/* 80318F00 00314B60 7F E6 04 30 */ srw r6, r31, r0 +/* 80318F04 00314B64 38 E1 00 08 */ addi r7, r1, 8 +/* 80318F08 00314B68 4B FF 1B 3D */ bl VFiPFCACHE_WriteDataNumSectorAndFreeIfNeeded +/* 80318F0C 00314B6C 2C 03 00 00 */ cmpwi r3, 0 +/* 80318F10 00314B70 41 82 00 08 */ beq lbl_80318F18 +/* 80318F14 00314B74 48 00 01 34 */ b lbl_80319048 +lbl_80318F18: +/* 80318F18 00314B78 80 61 00 08 */ lwz r3, 8(r1) +/* 80318F1C 00314B7C 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318F20 00314B80 7C 60 00 30 */ slw r0, r3, r0 +/* 80318F24 00314B84 90 1D 00 00 */ stw r0, 0(r29) +/* 80318F28 00314B88 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318F2C 00314B8C 80 61 00 08 */ lwz r3, 8(r1) +/* 80318F30 00314B90 7F E0 04 30 */ srw r0, r31, r0 +/* 80318F34 00314B94 7C 03 00 40 */ cmplw r3, r0 +/* 80318F38 00314B98 41 82 01 0C */ beq lbl_80319044 +/* 80318F3C 00314B9C 38 60 00 11 */ li r3, 0x11 +/* 80318F40 00314BA0 48 00 01 08 */ b lbl_80319048 +lbl_80318F44: +/* 80318F44 00314BA4 2C 19 00 00 */ cmpwi r25, 0 +/* 80318F48 00314BA8 40 82 00 F4 */ bne lbl_8031903C +/* 80318F4C 00314BAC 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318F50 00314BB0 80 7A 16 04 */ lwz r3, 0x1604(r26) +/* 80318F54 00314BB4 7F FF 04 30 */ srw r31, r31, r0 +/* 80318F58 00314BB8 7C 9C FA 14 */ add r4, r28, r31 +/* 80318F5C 00314BBC 7C 04 1B 96 */ divwu r0, r4, r3 +/* 80318F60 00314BC0 7C 00 19 D6 */ mullw r0, r0, r3 +/* 80318F64 00314BC4 7C 00 20 50 */ subf r0, r0, r4 +/* 80318F68 00314BC8 7C 1F 00 40 */ cmplw r31, r0 +/* 80318F6C 00314BCC 40 81 00 58 */ ble lbl_80318FC4 +/* 80318F70 00314BD0 7F 20 F8 50 */ subf r25, r0, r31 +/* 80318F74 00314BD4 7F 43 D3 78 */ mr r3, r26 +/* 80318F78 00314BD8 7F 64 DB 78 */ mr r4, r27 +/* 80318F7C 00314BDC 7F 85 E3 78 */ mr r5, r28 +/* 80318F80 00314BE0 7F 26 CB 78 */ mr r6, r25 +/* 80318F84 00314BE4 38 E1 00 08 */ addi r7, r1, 8 +/* 80318F88 00314BE8 4B FF 1A BD */ bl VFiPFCACHE_WriteDataNumSectorAndFreeIfNeeded +/* 80318F8C 00314BEC 2C 03 00 00 */ cmpwi r3, 0 +/* 80318F90 00314BF0 41 82 00 08 */ beq lbl_80318F98 +/* 80318F94 00314BF4 48 00 00 B4 */ b lbl_80319048 +lbl_80318F98: +/* 80318F98 00314BF8 80 61 00 08 */ lwz r3, 8(r1) +/* 80318F9C 00314BFC 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318FA0 00314C00 7C 60 00 30 */ slw r0, r3, r0 +/* 80318FA4 00314C04 90 1D 00 00 */ stw r0, 0(r29) +/* 80318FA8 00314C08 80 01 00 08 */ lwz r0, 8(r1) +/* 80318FAC 00314C0C 7C 00 C8 40 */ cmplw r0, r25 +/* 80318FB0 00314C10 41 82 00 0C */ beq lbl_80318FBC +/* 80318FB4 00314C14 38 60 00 11 */ li r3, 0x11 +/* 80318FB8 00314C18 48 00 00 90 */ b lbl_80319048 +lbl_80318FBC: +/* 80318FBC 00314C1C 7F 9C CA 14 */ add r28, r28, r25 +/* 80318FC0 00314C20 7F F9 F8 50 */ subf r31, r25, r31 +lbl_80318FC4: +/* 80318FC4 00314C24 2C 1F 00 00 */ cmpwi r31, 0 +/* 80318FC8 00314C28 41 82 00 7C */ beq lbl_80319044 +/* 80318FCC 00314C2C 7F 43 D3 78 */ mr r3, r26 +/* 80318FD0 00314C30 7F 84 E3 78 */ mr r4, r28 +/* 80318FD4 00314C34 7F C6 F3 78 */ mr r6, r30 +/* 80318FD8 00314C38 38 A1 00 0C */ addi r5, r1, 0xc +/* 80318FDC 00314C3C 4B FF 18 F9 */ bl VFiPFCACHE_ReadDataPageAndFlushIfNeeded +/* 80318FE0 00314C40 2C 03 00 00 */ cmpwi r3, 0 +/* 80318FE4 00314C44 41 82 00 08 */ beq lbl_80318FEC +/* 80318FE8 00314C48 48 00 00 60 */ b lbl_80319048 +lbl_80318FEC: +/* 80318FEC 00314C4C 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80318FF0 00314C50 80 9D 00 00 */ lwz r4, 0(r29) +/* 80318FF4 00314C54 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80318FF8 00314C58 80 63 00 08 */ lwz r3, 8(r3) +/* 80318FFC 00314C5C 7C 9B 22 14 */ add r4, r27, r4 +/* 80319000 00314C60 7F E5 00 30 */ slw r5, r31, r0 +/* 80319004 00314C64 4B FE BE A9 */ bl VFipf_memcpy +/* 80319008 00314C68 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8031900C 00314C6C 7F 43 D3 78 */ mr r3, r26 +/* 80319010 00314C70 7F C5 F3 78 */ mr r5, r30 +/* 80319014 00314C74 4B FF 19 A5 */ bl VFiPFCACHE_WriteDataPage +/* 80319018 00314C78 2C 03 00 00 */ cmpwi r3, 0 +/* 8031901C 00314C7C 41 82 00 08 */ beq lbl_80319024 +/* 80319020 00314C80 48 00 00 28 */ b lbl_80319048 +lbl_80319024: +/* 80319024 00314C84 88 1A 00 20 */ lbz r0, 0x20(r26) +/* 80319028 00314C88 80 7D 00 00 */ lwz r3, 0(r29) +/* 8031902C 00314C8C 7F E0 00 30 */ slw r0, r31, r0 +/* 80319030 00314C90 7C 03 02 14 */ add r0, r3, r0 +/* 80319034 00314C94 90 1D 00 00 */ stw r0, 0(r29) +/* 80319038 00314C98 48 00 00 0C */ b lbl_80319044 +lbl_8031903C: +/* 8031903C 00314C9C 38 60 00 0A */ li r3, 0xa +/* 80319040 00314CA0 48 00 00 08 */ b lbl_80319048 +lbl_80319044: +/* 80319044 00314CA4 38 60 00 00 */ li r3, 0 +lbl_80319048: +/* 80319048 00314CA8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031904C 00314CAC 4B EA E1 21 */ bl _restgpr_25 +/* 80319050 00314CB0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80319054 00314CB4 7C 08 03 A6 */ mtlr r0 +/* 80319058 00314CB8 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031905C 00314CBC 4E 80 00 20 */ blr + +.global func_80319060 +func_80319060: +/* 80319060 00314CC0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80319064 00314CC4 7C 08 02 A6 */ mflr r0 +/* 80319068 00314CC8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031906C 00314CCC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80319070 00314CD0 7C 7F 1B 78 */ mr r31, r3 +/* 80319074 00314CD4 4B FE CD 61 */ bl VFiPFDRV_mount +/* 80319078 00314CD8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031907C 00314CDC 41 82 00 08 */ beq lbl_80319084 +/* 80319080 00314CE0 48 00 01 4C */ b lbl_803191CC +lbl_80319084: +/* 80319084 00314CE4 A0 1F 00 00 */ lhz r0, 0(r31) +/* 80319088 00314CE8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031908C 00314CEC 41 82 00 0C */ beq lbl_80319098 +/* 80319090 00314CF0 54 00 05 FF */ clrlwi. r0, r0, 0x17 +/* 80319094 00314CF4 41 82 00 0C */ beq lbl_803190A0 +lbl_80319098: +/* 80319098 00314CF8 38 60 00 0F */ li r3, 0xf +/* 8031909C 00314CFC 48 00 01 30 */ b lbl_803191CC +lbl_803190A0: +/* 803190A0 00314D00 7F E3 FB 78 */ mr r3, r31 +/* 803190A4 00314D04 4B FF 14 85 */ bl VFiPFCACHE_InitCaches +/* 803190A8 00314D08 2C 03 00 00 */ cmpwi r3, 0 +/* 803190AC 00314D0C 41 82 00 08 */ beq lbl_803190B4 +/* 803190B0 00314D10 48 00 01 1C */ b lbl_803191CC +lbl_803190B4: +/* 803190B4 00314D14 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803190B8 00314D18 60 03 00 02 */ ori r3, r0, 2 +/* 803190BC 00314D1C 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e +/* 803190C0 00314D20 B0 7F 18 78 */ sth r3, 0x1878(r31) +/* 803190C4 00314D24 40 82 00 0C */ bne lbl_803190D0 +/* 803190C8 00314D28 38 60 00 09 */ li r3, 9 +/* 803190CC 00314D2C 48 00 00 A0 */ b lbl_8031916C +lbl_803190D0: +/* 803190D0 00314D30 38 61 00 08 */ addi r3, r1, 8 +/* 803190D4 00314D34 48 00 13 59 */ bl MWInitializeMutex +/* 803190D8 00314D38 80 1F 16 18 */ lwz r0, 0x1618(r31) +/* 803190DC 00314D3C 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 803190E0 00314D40 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 803190E4 00314D44 38 80 00 01 */ li r4, 1 +/* 803190E8 00314D48 60 00 00 01 */ ori r0, r0, 1 +/* 803190EC 00314D4C 90 1F 16 18 */ stw r0, 0x1618(r31) +/* 803190F0 00314D50 38 A3 00 08 */ addi r5, r3, 8 +/* 803190F4 00314D54 80 61 00 08 */ lwz r3, 8(r1) +/* 803190F8 00314D58 48 00 00 30 */ b lbl_80319128 +lbl_803190FC: +/* 803190FC 00314D5C 80 05 00 40 */ lwz r0, 0x40(r5) +/* 80319100 00314D60 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80319104 00314D64 90 05 00 40 */ stw r0, 0x40(r5) +/* 80319108 00314D68 41 82 00 18 */ beq lbl_80319120 +/* 8031910C 00314D6C 80 05 00 44 */ lwz r0, 0x44(r5) +/* 80319110 00314D70 7C 03 00 00 */ cmpw r3, r0 +/* 80319114 00314D74 40 82 00 0C */ bne lbl_80319120 +/* 80319118 00314D78 38 00 00 01 */ li r0, 1 +/* 8031911C 00314D7C 48 00 00 18 */ b lbl_80319134 +lbl_80319120: +/* 80319120 00314D80 38 A5 00 08 */ addi r5, r5, 8 +/* 80319124 00314D84 38 84 00 01 */ addi r4, r4, 1 +lbl_80319128: +/* 80319128 00314D88 28 04 00 01 */ cmplwi r4, 1 +/* 8031912C 00314D8C 41 80 FF D0 */ blt lbl_803190FC +/* 80319130 00314D90 38 00 00 00 */ li r0, 0 +lbl_80319134: +/* 80319134 00314D94 2C 00 00 00 */ cmpwi r0, 0 +/* 80319138 00314D98 41 82 00 18 */ beq lbl_80319150 +/* 8031913C 00314D9C 80 1F 18 60 */ lwz r0, 0x1860(r31) +/* 80319140 00314DA0 60 00 00 01 */ ori r0, r0, 1 +/* 80319144 00314DA4 90 1F 18 60 */ stw r0, 0x1860(r31) +/* 80319148 00314DA8 80 01 00 08 */ lwz r0, 8(r1) +/* 8031914C 00314DAC 90 1F 18 64 */ stw r0, 0x1864(r31) +lbl_80319150: +/* 80319150 00314DB0 38 9F 16 20 */ addi r4, r31, 0x1620 +/* 80319154 00314DB4 7F E3 FB 78 */ mr r3, r31 +/* 80319158 00314DB8 4B FF 35 AD */ bl func_8030C704 +/* 8031915C 00314DBC 2C 03 00 00 */ cmpwi r3, 0 +/* 80319160 00314DC0 41 82 00 08 */ beq lbl_80319168 +/* 80319164 00314DC4 48 00 00 08 */ b lbl_8031916C +lbl_80319168: +/* 80319168 00314DC8 38 60 00 00 */ li r3, 0 +lbl_8031916C: +/* 8031916C 00314DCC 2C 03 00 00 */ cmpwi r3, 0 +/* 80319170 00314DD0 40 82 00 48 */ bne lbl_803191B8 +/* 80319174 00314DD4 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 80319178 00314DD8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 8031917C 00314DDC 41 82 00 3C */ beq lbl_803191B8 +/* 80319180 00314DE0 80 9F 18 94 */ lwz r4, 0x1894(r31) +/* 80319184 00314DE4 7F E3 FB 78 */ mr r3, r31 +/* 80319188 00314DE8 4B FE CF 0D */ bl VFiPFDRV_format +/* 8031918C 00314DEC 2C 03 00 00 */ cmpwi r3, 0 +/* 80319190 00314DF0 40 82 00 28 */ bne lbl_803191B8 +/* 80319194 00314DF4 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 80319198 00314DF8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a +/* 8031919C 00314DFC 40 82 00 1C */ bne lbl_803191B8 +/* 803191A0 00314E00 7F E3 FB 78 */ mr r3, r31 +/* 803191A4 00314E04 4B FF 77 9D */ bl func_80310940 +/* 803191A8 00314E08 2C 03 00 00 */ cmpwi r3, 0 +/* 803191AC 00314E0C 40 82 00 0C */ bne lbl_803191B8 +/* 803191B0 00314E10 7F E3 FB 78 */ mr r3, r31 +/* 803191B4 00314E14 4B FF 35 F9 */ bl func_8030C7AC +lbl_803191B8: +/* 803191B8 00314E18 2C 03 00 00 */ cmpwi r3, 0 +/* 803191BC 00314E1C 41 82 00 10 */ beq lbl_803191CC +/* 803191C0 00314E20 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803191C4 00314E24 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 803191C8 00314E28 B0 1F 18 78 */ sth r0, 0x1878(r31) +lbl_803191CC: +/* 803191CC 00314E2C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803191D0 00314E30 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803191D4 00314E34 7C 08 03 A6 */ mtlr r0 +/* 803191D8 00314E38 38 21 00 20 */ addi r1, r1, 0x20 +/* 803191DC 00314E3C 4E 80 00 20 */ blr +lbl_803191E0: +/* 803191E0 00314E40 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803191E4 00314E44 7C 08 02 A6 */ mflr r0 +/* 803191E8 00314E48 90 01 00 14 */ stw r0, 0x14(r1) +/* 803191EC 00314E4C 54 60 04 1B */ rlwinm. r0, r3, 0, 0x10, 0xd +/* 803191F0 00314E50 93 E1 00 0C */ stw r31, 0xc(r1) +/* 803191F4 00314E54 93 C1 00 08 */ stw r30, 8(r1) +/* 803191F8 00314E58 41 82 00 1C */ beq lbl_80319214 +/* 803191FC 00314E5C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80319200 00314E60 38 00 00 0A */ li r0, 0xa +/* 80319204 00314E64 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80319208 00314E68 38 60 00 0A */ li r3, 0xa +/* 8031920C 00314E6C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80319210 00314E70 48 00 01 44 */ b lbl_80319354 +lbl_80319214: +/* 80319214 00314E74 54 65 03 9E */ rlwinm r5, r3, 0, 0xe, 0xf +/* 80319218 00314E78 3C 05 FF FD */ addis r0, r5, 0xfffd +/* 8031921C 00314E7C 28 00 00 00 */ cmplwi r0, 0 +/* 80319220 00314E80 40 82 00 1C */ bne lbl_8031923C +/* 80319224 00314E84 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80319228 00314E88 38 00 00 0A */ li r0, 0xa +/* 8031922C 00314E8C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80319230 00314E90 38 60 00 0A */ li r3, 0xa +/* 80319234 00314E94 90 04 00 1C */ stw r0, 0x1c(r4) +/* 80319238 00314E98 48 00 01 1C */ b lbl_80319354 +lbl_8031923C: +/* 8031923C 00314E9C 54 65 03 DF */ rlwinm. r5, r3, 0, 0xf, 0xf +/* 80319240 00314EA0 41 82 00 1C */ beq lbl_8031925C +/* 80319244 00314EA4 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319248 00314EA8 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 8031924C 00314EAC 80 03 00 14 */ lwz r0, 0x14(r3) +/* 80319250 00314EB0 64 00 00 01 */ oris r0, r0, 1 +/* 80319254 00314EB4 90 03 00 14 */ stw r0, 0x14(r3) +/* 80319258 00314EB8 48 00 00 18 */ b lbl_80319270 +lbl_8031925C: +/* 8031925C 00314EBC 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319260 00314EC0 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319264 00314EC4 80 03 00 14 */ lwz r0, 0x14(r3) +/* 80319268 00314EC8 54 00 04 1C */ rlwinm r0, r0, 0, 0x10, 0xe +/* 8031926C 00314ECC 90 03 00 14 */ stw r0, 0x14(r3) +lbl_80319270: +/* 80319270 00314ED0 3C E0 80 58 */ lis r7, lbl_8057F5C8@ha +/* 80319274 00314ED4 2C 05 00 00 */ cmpwi r5, 0 +/* 80319278 00314ED8 80 67 F5 C8 */ lwz r3, lbl_8057F5C8@l(r7) +/* 8031927C 00314EDC 38 C7 F5 C8 */ addi r6, r7, -2616 +/* 80319280 00314EE0 38 00 00 00 */ li r0, 0 +/* 80319284 00314EE4 38 A6 00 48 */ addi r5, r6, 0x48 +/* 80319288 00314EE8 60 63 00 01 */ ori r3, r3, 1 +/* 8031928C 00314EEC 90 A6 00 08 */ stw r5, 8(r6) +/* 80319290 00314EF0 90 67 F5 C8 */ stw r3, -0xa38(r7) +/* 80319294 00314EF4 90 06 00 0C */ stw r0, 0xc(r6) +/* 80319298 00314EF8 90 06 00 10 */ stw r0, 0x10(r6) +/* 8031929C 00314EFC 41 82 00 14 */ beq lbl_803192B0 +/* 803192A0 00314F00 80 06 00 14 */ lwz r0, 0x14(r6) +/* 803192A4 00314F04 64 00 00 01 */ oris r0, r0, 1 +/* 803192A8 00314F08 90 06 00 14 */ stw r0, 0x14(r6) +/* 803192AC 00314F0C 48 00 00 10 */ b lbl_803192BC +lbl_803192B0: +/* 803192B0 00314F10 80 06 00 14 */ lwz r0, 0x14(r6) +/* 803192B4 00314F14 54 00 04 1C */ rlwinm r0, r0, 0, 0x10, 0xe +/* 803192B8 00314F18 90 06 00 14 */ stw r0, 0x14(r6) +lbl_803192BC: +/* 803192BC 00314F1C 3D 60 80 58 */ lis r11, lbl_8057F5C8@ha +/* 803192C0 00314F20 3D 20 80 32 */ lis r9, func_80319C00@ha +/* 803192C4 00314F24 39 6B F5 C8 */ addi r11, r11, lbl_8057F5C8@l +/* 803192C8 00314F28 39 40 00 00 */ li r10, 0 +/* 803192CC 00314F2C 3D 00 80 32 */ lis r8, func_80319DBC@ha +/* 803192D0 00314F30 3C E0 80 32 */ lis r7, lbl_8031A024@ha +/* 803192D4 00314F34 3C C0 80 32 */ lis r6, lbl_8031A058@ha +/* 803192D8 00314F38 3C A0 80 32 */ lis r5, lbl_8031A0D4@ha +/* 803192DC 00314F3C 3C 60 80 32 */ lis r3, lbl_8031A108@ha +/* 803192E0 00314F40 39 29 9C 00 */ addi r9, r9, func_80319C00@l +/* 803192E4 00314F44 39 08 9D BC */ addi r8, r8, func_80319DBC@l +/* 803192E8 00314F48 38 E7 A0 24 */ addi r7, r7, lbl_8031A024@l +/* 803192EC 00314F4C 38 C6 A0 58 */ addi r6, r6, lbl_8031A058@l +/* 803192F0 00314F50 38 A5 A0 D4 */ addi r5, r5, lbl_8031A0D4@l +/* 803192F4 00314F54 38 63 A1 08 */ addi r3, r3, lbl_8031A108@l +/* 803192F8 00314F58 38 00 00 01 */ li r0, 1 +/* 803192FC 00314F5C 90 8B 00 18 */ stw r4, 0x18(r11) +/* 80319300 00314F60 3B EB 00 48 */ addi r31, r11, 0x48 +/* 80319304 00314F64 3B C0 00 00 */ li r30, 0 +/* 80319308 00314F68 91 4B 00 1C */ stw r10, 0x1c(r11) +/* 8031930C 00314F6C 91 4B 00 20 */ stw r10, 0x20(r11) +/* 80319310 00314F70 90 0B 00 3C */ stw r0, 0x3c(r11) +/* 80319314 00314F74 91 2B 00 24 */ stw r9, 0x24(r11) +/* 80319318 00314F78 91 0B 00 28 */ stw r8, 0x28(r11) +/* 8031931C 00314F7C 90 EB 00 2C */ stw r7, 0x2c(r11) +/* 80319320 00314F80 90 CB 00 30 */ stw r6, 0x30(r11) +/* 80319324 00314F84 90 AB 00 34 */ stw r5, 0x34(r11) +/* 80319328 00314F88 90 6B 00 38 */ stw r3, 0x38(r11) +lbl_8031932C: +/* 8031932C 00314F8C 7F E3 FB 78 */ mr r3, r31 +/* 80319330 00314F90 38 80 00 00 */ li r4, 0 +/* 80319334 00314F94 38 A0 18 98 */ li r5, 0x1898 +/* 80319338 00314F98 4B FE BC 9D */ bl VFipf_memset +/* 8031933C 00314F9C 3B DE 00 01 */ addi r30, r30, 1 +/* 80319340 00314FA0 3B FF 18 98 */ addi r31, r31, 0x1898 +/* 80319344 00314FA4 2C 1E 00 1A */ cmpwi r30, 0x1a +/* 80319348 00314FA8 41 80 FF E4 */ blt lbl_8031932C +/* 8031934C 00314FAC 48 00 10 C9 */ bl func_8031A414 +/* 80319350 00314FB0 38 60 00 00 */ li r3, 0 +lbl_80319354: +/* 80319354 00314FB4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80319358 00314FB8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031935C 00314FBC 83 C1 00 08 */ lwz r30, 8(r1) +/* 80319360 00314FC0 7C 08 03 A6 */ mtlr r0 +/* 80319364 00314FC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80319368 00314FC8 4E 80 00 20 */ blr + +.global func_8031936C +func_8031936C: +/* 8031936C 00314FCC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80319370 00314FD0 7C 08 02 A6 */ mflr r0 +/* 80319374 00314FD4 2C 03 00 00 */ cmpwi r3, 0 +/* 80319378 00314FD8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031937C 00314FDC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80319380 00314FE0 7C 7F 1B 78 */ mr r31, r3 +/* 80319384 00314FE4 40 82 00 0C */ bne lbl_80319390 +/* 80319388 00314FE8 38 60 00 0A */ li r3, 0xa +/* 8031938C 00314FEC 48 00 01 88 */ b lbl_80319514 +lbl_80319390: +/* 80319390 00314FF0 4B FE C9 C1 */ bl VFiPFDRV_IsInserted +/* 80319394 00314FF4 2C 03 00 00 */ cmpwi r3, 0 +/* 80319398 00314FF8 41 82 00 D0 */ beq lbl_80319468 +/* 8031939C 00314FFC 7F E3 FB 78 */ mr r3, r31 +/* 803193A0 00315000 4B FE C9 DD */ bl VFiPFDRV_IsDetected +/* 803193A4 00315004 2C 03 00 00 */ cmpwi r3, 0 +/* 803193A8 00315008 41 82 01 48 */ beq lbl_803194F0 +/* 803193AC 0031500C A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803193B0 00315010 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 803193B4 00315014 41 82 00 64 */ beq lbl_80319418 +/* 803193B8 00315018 7F E3 FB 78 */ mr r3, r31 +/* 803193BC 0031501C 4B FF B9 21 */ bl func_80314CDC +/* 803193C0 00315020 7F E3 FB 78 */ mr r3, r31 +/* 803193C4 00315024 4B FF 1E 75 */ bl func_8030B238 +/* 803193C8 00315028 7F E3 FB 78 */ mr r3, r31 +/* 803193CC 0031502C 4B FF 18 79 */ bl VFiPFCACHE_FreeAllCaches +/* 803193D0 00315030 7F E3 FB 78 */ mr r3, r31 +/* 803193D4 00315034 38 80 00 01 */ li r4, 1 +/* 803193D8 00315038 4B FE CC 35 */ bl VFiPFDRV_unmount +/* 803193DC 0031503C 2C 03 00 00 */ cmpwi r3, 0 +/* 803193E0 00315040 40 82 00 24 */ bne lbl_80319404 +/* 803193E4 00315044 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803193E8 00315048 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 803193EC 0031504C 41 82 00 0C */ beq lbl_803193F8 +/* 803193F0 00315050 38 00 00 00 */ li r0, 0 +/* 803193F4 00315054 90 1F 16 18 */ stw r0, 0x1618(r31) +lbl_803193F8: +/* 803193F8 00315058 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803193FC 0031505C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 80319400 00315060 B0 1F 18 78 */ sth r0, 0x1878(r31) +lbl_80319404: +/* 80319404 00315064 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80319408 00315068 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 8031940C 0031506C 80 64 00 10 */ lwz r3, 0x10(r4) +/* 80319410 00315070 38 03 FF FF */ addi r0, r3, -1 +/* 80319414 00315074 90 04 00 10 */ stw r0, 0x10(r4) +lbl_80319418: +/* 80319418 00315078 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 8031941C 0031507C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80319420 00315080 40 82 00 38 */ bne lbl_80319458 +/* 80319424 00315084 7F E3 FB 78 */ mr r3, r31 +/* 80319428 00315088 4B FF FC 39 */ bl func_80319060 +/* 8031942C 0031508C 2C 03 00 00 */ cmpwi r3, 0 +/* 80319430 00315090 41 82 00 08 */ beq lbl_80319438 +/* 80319434 00315094 48 00 00 28 */ b lbl_8031945C +lbl_80319438: +/* 80319438 00315098 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 8031943C 0031509C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80319440 003150A0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80319444 003150A4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 80319448 003150A8 B0 1F 18 7C */ sth r0, 0x187c(r31) +/* 8031944C 003150AC 80 64 00 10 */ lwz r3, 0x10(r4) +/* 80319450 003150B0 38 03 00 01 */ addi r0, r3, 1 +/* 80319454 003150B4 90 04 00 10 */ stw r0, 0x10(r4) +lbl_80319458: +/* 80319458 003150B8 38 60 00 00 */ li r3, 0 +lbl_8031945C: +/* 8031945C 003150BC 2C 03 00 00 */ cmpwi r3, 0 +/* 80319460 003150C0 41 82 00 90 */ beq lbl_803194F0 +/* 80319464 003150C4 48 00 00 90 */ b lbl_803194F4 +lbl_80319468: +/* 80319468 003150C8 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 8031946C 003150CC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80319470 003150D0 41 82 00 80 */ beq lbl_803194F0 +/* 80319474 003150D4 7F E3 FB 78 */ mr r3, r31 +/* 80319478 003150D8 4B FE C9 05 */ bl VFiPFDRV_IsDetected +/* 8031947C 003150DC 2C 03 00 00 */ cmpwi r3, 0 +/* 80319480 003150E0 41 82 00 64 */ beq lbl_803194E4 +/* 80319484 003150E4 7F E3 FB 78 */ mr r3, r31 +/* 80319488 003150E8 4B FF B8 55 */ bl func_80314CDC +/* 8031948C 003150EC 7F E3 FB 78 */ mr r3, r31 +/* 80319490 003150F0 4B FF 1D A9 */ bl func_8030B238 +/* 80319494 003150F4 7F E3 FB 78 */ mr r3, r31 +/* 80319498 003150F8 4B FF 17 AD */ bl VFiPFCACHE_FreeAllCaches +/* 8031949C 003150FC 7F E3 FB 78 */ mr r3, r31 +/* 803194A0 00315100 38 80 00 01 */ li r4, 1 +/* 803194A4 00315104 4B FE CB 69 */ bl VFiPFDRV_unmount +/* 803194A8 00315108 2C 03 00 00 */ cmpwi r3, 0 +/* 803194AC 0031510C 40 82 00 24 */ bne lbl_803194D0 +/* 803194B0 00315110 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803194B4 00315114 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 803194B8 00315118 41 82 00 0C */ beq lbl_803194C4 +/* 803194BC 0031511C 38 00 00 00 */ li r0, 0 +/* 803194C0 00315120 90 1F 16 18 */ stw r0, 0x1618(r31) +lbl_803194C4: +/* 803194C4 00315124 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803194C8 00315128 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 803194CC 0031512C B0 1F 18 78 */ sth r0, 0x1878(r31) +lbl_803194D0: +/* 803194D0 00315130 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803194D4 00315134 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803194D8 00315138 80 64 00 10 */ lwz r3, 0x10(r4) +/* 803194DC 0031513C 38 03 FF FF */ addi r0, r3, -1 +/* 803194E0 00315140 90 04 00 10 */ stw r0, 0x10(r4) +lbl_803194E4: +/* 803194E4 00315144 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803194E8 00315148 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 803194EC 0031514C B0 1F 18 78 */ sth r0, 0x1878(r31) +lbl_803194F0: +/* 803194F0 00315150 38 60 00 00 */ li r3, 0 +lbl_803194F4: +/* 803194F4 00315154 2C 03 00 00 */ cmpwi r3, 0 +/* 803194F8 00315158 41 82 00 08 */ beq lbl_80319500 +/* 803194FC 0031515C 48 00 00 18 */ b lbl_80319514 +lbl_80319500: +/* 80319500 00315160 A0 7F 18 78 */ lhz r3, 0x1878(r31) +/* 80319504 00315164 38 00 00 09 */ li r0, 9 +/* 80319508 00315168 54 63 FF FE */ rlwinm r3, r3, 0x1f, 0x1f, 0x1f +/* 8031950C 0031516C 7C 63 00 D0 */ neg r3, r3 +/* 80319510 00315170 7C 03 18 78 */ andc r3, r0, r3 +lbl_80319514: +/* 80319514 00315174 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80319518 00315178 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031951C 0031517C 7C 08 03 A6 */ mtlr r0 +/* 80319520 00315180 38 21 00 10 */ addi r1, r1, 0x10 +/* 80319524 00315184 4E 80 00 20 */ blr + +.global func_80319528 +func_80319528: +/* 80319528 00315188 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031952C 0031518C 7C 08 02 A6 */ mflr r0 +/* 80319530 00315190 2C 03 00 00 */ cmpwi r3, 0 +/* 80319534 00315194 90 01 00 14 */ stw r0, 0x14(r1) +/* 80319538 00315198 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031953C 0031519C 7C 7F 1B 78 */ mr r31, r3 +/* 80319540 003151A0 40 82 00 0C */ bne lbl_8031954C +/* 80319544 003151A4 38 60 00 0A */ li r3, 0xa +/* 80319548 003151A8 48 00 01 A0 */ b lbl_803196E8 +lbl_8031954C: +/* 8031954C 003151AC 4B FE C8 05 */ bl VFiPFDRV_IsInserted +/* 80319550 003151B0 2C 03 00 00 */ cmpwi r3, 0 +/* 80319554 003151B4 41 82 00 D0 */ beq lbl_80319624 +/* 80319558 003151B8 7F E3 FB 78 */ mr r3, r31 +/* 8031955C 003151BC 4B FE C8 21 */ bl VFiPFDRV_IsDetected +/* 80319560 003151C0 2C 03 00 00 */ cmpwi r3, 0 +/* 80319564 003151C4 41 82 01 48 */ beq lbl_803196AC +/* 80319568 003151C8 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 8031956C 003151CC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80319570 003151D0 41 82 00 64 */ beq lbl_803195D4 +/* 80319574 003151D4 7F E3 FB 78 */ mr r3, r31 +/* 80319578 003151D8 4B FF B7 65 */ bl func_80314CDC +/* 8031957C 003151DC 7F E3 FB 78 */ mr r3, r31 +/* 80319580 003151E0 4B FF 1C B9 */ bl func_8030B238 +/* 80319584 003151E4 7F E3 FB 78 */ mr r3, r31 +/* 80319588 003151E8 4B FF 16 BD */ bl VFiPFCACHE_FreeAllCaches +/* 8031958C 003151EC 7F E3 FB 78 */ mr r3, r31 +/* 80319590 003151F0 38 80 00 01 */ li r4, 1 +/* 80319594 003151F4 4B FE CA 79 */ bl VFiPFDRV_unmount +/* 80319598 003151F8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031959C 003151FC 40 82 00 24 */ bne lbl_803195C0 +/* 803195A0 00315200 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803195A4 00315204 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 803195A8 00315208 41 82 00 0C */ beq lbl_803195B4 +/* 803195AC 0031520C 38 00 00 00 */ li r0, 0 +/* 803195B0 00315210 90 1F 16 18 */ stw r0, 0x1618(r31) +lbl_803195B4: +/* 803195B4 00315214 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803195B8 00315218 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 803195BC 0031521C B0 1F 18 78 */ sth r0, 0x1878(r31) +lbl_803195C0: +/* 803195C0 00315220 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803195C4 00315224 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 803195C8 00315228 80 64 00 10 */ lwz r3, 0x10(r4) +/* 803195CC 0031522C 38 03 FF FF */ addi r0, r3, -1 +/* 803195D0 00315230 90 04 00 10 */ stw r0, 0x10(r4) +lbl_803195D4: +/* 803195D4 00315234 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803195D8 00315238 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 803195DC 0031523C 40 82 00 38 */ bne lbl_80319614 +/* 803195E0 00315240 7F E3 FB 78 */ mr r3, r31 +/* 803195E4 00315244 4B FF FA 7D */ bl func_80319060 +/* 803195E8 00315248 2C 03 00 00 */ cmpwi r3, 0 +/* 803195EC 0031524C 41 82 00 08 */ beq lbl_803195F4 +/* 803195F0 00315250 48 00 00 28 */ b lbl_80319618 +lbl_803195F4: +/* 803195F4 00315254 A0 1F 18 7C */ lhz r0, 0x187c(r31) +/* 803195F8 00315258 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 803195FC 0031525C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80319600 00315260 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 80319604 00315264 B0 1F 18 7C */ sth r0, 0x187c(r31) +/* 80319608 00315268 80 64 00 10 */ lwz r3, 0x10(r4) +/* 8031960C 0031526C 38 03 00 01 */ addi r0, r3, 1 +/* 80319610 00315270 90 04 00 10 */ stw r0, 0x10(r4) +lbl_80319614: +/* 80319614 00315274 38 60 00 00 */ li r3, 0 +lbl_80319618: +/* 80319618 00315278 2C 03 00 00 */ cmpwi r3, 0 +/* 8031961C 0031527C 41 82 00 90 */ beq lbl_803196AC +/* 80319620 00315280 48 00 00 90 */ b lbl_803196B0 +lbl_80319624: +/* 80319624 00315284 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 80319628 00315288 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8031962C 0031528C 41 82 00 80 */ beq lbl_803196AC +/* 80319630 00315290 7F E3 FB 78 */ mr r3, r31 +/* 80319634 00315294 4B FE C7 49 */ bl VFiPFDRV_IsDetected +/* 80319638 00315298 2C 03 00 00 */ cmpwi r3, 0 +/* 8031963C 0031529C 41 82 00 64 */ beq lbl_803196A0 +/* 80319640 003152A0 7F E3 FB 78 */ mr r3, r31 +/* 80319644 003152A4 4B FF B6 99 */ bl func_80314CDC +/* 80319648 003152A8 7F E3 FB 78 */ mr r3, r31 +/* 8031964C 003152AC 4B FF 1B ED */ bl func_8030B238 +/* 80319650 003152B0 7F E3 FB 78 */ mr r3, r31 +/* 80319654 003152B4 4B FF 15 F1 */ bl VFiPFCACHE_FreeAllCaches +/* 80319658 003152B8 7F E3 FB 78 */ mr r3, r31 +/* 8031965C 003152BC 38 80 00 01 */ li r4, 1 +/* 80319660 003152C0 4B FE C9 AD */ bl VFiPFDRV_unmount +/* 80319664 003152C4 2C 03 00 00 */ cmpwi r3, 0 +/* 80319668 003152C8 40 82 00 24 */ bne lbl_8031968C +/* 8031966C 003152CC A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 80319670 003152D0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80319674 003152D4 41 82 00 0C */ beq lbl_80319680 +/* 80319678 003152D8 38 00 00 00 */ li r0, 0 +/* 8031967C 003152DC 90 1F 16 18 */ stw r0, 0x1618(r31) +lbl_80319680: +/* 80319680 003152E0 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 80319684 003152E4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 80319688 003152E8 B0 1F 18 78 */ sth r0, 0x1878(r31) +lbl_8031968C: +/* 8031968C 003152EC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 80319690 003152F0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 80319694 003152F4 80 64 00 10 */ lwz r3, 0x10(r4) +/* 80319698 003152F8 38 03 FF FF */ addi r0, r3, -1 +/* 8031969C 003152FC 90 04 00 10 */ stw r0, 0x10(r4) +lbl_803196A0: +/* 803196A0 00315300 A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803196A4 00315304 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d +/* 803196A8 00315308 B0 1F 18 78 */ sth r0, 0x1878(r31) +lbl_803196AC: +/* 803196AC 0031530C 38 60 00 00 */ li r3, 0 +lbl_803196B0: +/* 803196B0 00315310 2C 03 00 00 */ cmpwi r3, 0 +/* 803196B4 00315314 41 82 00 08 */ beq lbl_803196BC +/* 803196B8 00315318 48 00 00 30 */ b lbl_803196E8 +lbl_803196BC: +/* 803196BC 0031531C A0 1F 18 78 */ lhz r0, 0x1878(r31) +/* 803196C0 00315320 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 803196C4 00315324 40 82 00 0C */ bne lbl_803196D0 +/* 803196C8 00315328 38 60 00 09 */ li r3, 9 +/* 803196CC 0031532C 48 00 00 1C */ b lbl_803196E8 +lbl_803196D0: +/* 803196D0 00315330 7F E3 FB 78 */ mr r3, r31 +/* 803196D4 00315334 4B FE C6 D5 */ bl VFiPFDRV_IsWProtected +/* 803196D8 00315338 7C 03 00 D0 */ neg r0, r3 +/* 803196DC 0031533C 7C 00 1B 78 */ or r0, r0, r3 +/* 803196E0 00315340 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 803196E4 00315344 70 03 00 0B */ andi. r3, r0, 0xb +lbl_803196E8: +/* 803196E8 00315348 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803196EC 0031534C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803196F0 00315350 7C 08 03 A6 */ mtlr r0 +/* 803196F4 00315354 38 21 00 10 */ addi r1, r1, 0x10 +/* 803196F8 00315358 4E 80 00 20 */ blr + +.global func_803196FC +func_803196FC: +/* 803196FC 0031535C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80319700 00315360 7C 08 02 A6 */ mflr r0 +/* 80319704 00315364 2C 03 00 00 */ cmpwi r3, 0 +/* 80319708 00315368 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031970C 0031536C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80319710 00315370 7C 9F 23 78 */ mr r31, r4 +/* 80319714 00315374 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80319718 00315378 7C 7E 1B 78 */ mr r30, r3 +/* 8031971C 0031537C 40 82 00 0C */ bne lbl_80319728 +/* 80319720 00315380 38 60 00 0A */ li r3, 0xa +/* 80319724 00315384 48 00 01 7C */ b lbl_803198A0 +lbl_80319728: +/* 80319728 00315388 A0 03 18 78 */ lhz r0, 0x1878(r3) +/* 8031972C 0031538C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80319730 00315390 40 82 00 0C */ bne lbl_8031973C +/* 80319734 00315394 38 60 00 09 */ li r3, 9 +/* 80319738 00315398 48 00 01 68 */ b lbl_803198A0 +lbl_8031973C: +/* 8031973C 0031539C 38 61 00 08 */ addi r3, r1, 8 +/* 80319740 003153A0 48 00 0C ED */ bl MWInitializeMutex +/* 80319744 003153A4 80 C1 00 08 */ lwz r6, 8(r1) +/* 80319748 003153A8 38 7E 02 48 */ addi r3, r30, 0x248 +/* 8031974C 003153AC 38 E0 00 01 */ li r7, 1 +/* 80319750 003153B0 48 00 00 54 */ b lbl_803197A4 +lbl_80319754: +/* 80319754 003153B4 80 03 16 18 */ lwz r0, 0x1618(r3) +/* 80319758 003153B8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8031975C 003153BC 41 82 00 40 */ beq lbl_8031979C +/* 80319760 003153C0 80 03 16 1C */ lwz r0, 0x161c(r3) +/* 80319764 003153C4 7C 06 00 00 */ cmpw r6, r0 +/* 80319768 003153C8 40 82 00 34 */ bne lbl_8031979C +/* 8031976C 003153CC 1C 67 02 48 */ mulli r3, r7, 0x248 +/* 80319770 003153D0 38 00 00 48 */ li r0, 0x48 +/* 80319774 003153D4 38 BF FF FC */ addi r5, r31, -4 +/* 80319778 003153D8 7C 7E 1A 14 */ add r3, r30, r3 +/* 8031977C 003153DC 38 83 16 1C */ addi r4, r3, 0x161c +/* 80319780 003153E0 7C 09 03 A6 */ mtctr r0 +lbl_80319784: +/* 80319784 003153E4 80 64 00 04 */ lwz r3, 4(r4) +/* 80319788 003153E8 84 04 00 08 */ lwzu r0, 8(r4) +/* 8031978C 003153EC 90 65 00 04 */ stw r3, 4(r5) +/* 80319790 003153F0 94 05 00 08 */ stwu r0, 8(r5) +/* 80319794 003153F4 42 00 FF F0 */ bdnz lbl_80319784 +/* 80319798 003153F8 48 00 00 14 */ b lbl_803197AC +lbl_8031979C: +/* 8031979C 003153FC 38 63 02 48 */ addi r3, r3, 0x248 +/* 803197A0 00315400 38 E7 00 01 */ addi r7, r7, 1 +lbl_803197A4: +/* 803197A4 00315404 28 07 00 01 */ cmplwi r7, 1 +/* 803197A8 00315408 41 80 FF AC */ blt lbl_80319754 +lbl_803197AC: +/* 803197AC 0031540C 28 07 00 01 */ cmplwi r7, 1 +/* 803197B0 00315410 40 82 00 EC */ bne lbl_8031989C +/* 803197B4 00315414 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 803197B8 00315418 38 80 00 01 */ li r4, 1 +/* 803197BC 0031541C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 803197C0 00315420 38 63 00 08 */ addi r3, r3, 8 +/* 803197C4 00315424 48 00 00 30 */ b lbl_803197F4 +lbl_803197C8: +/* 803197C8 00315428 80 03 00 40 */ lwz r0, 0x40(r3) +/* 803197CC 0031542C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 803197D0 00315430 90 03 00 40 */ stw r0, 0x40(r3) +/* 803197D4 00315434 41 82 00 18 */ beq lbl_803197EC +/* 803197D8 00315438 80 03 00 44 */ lwz r0, 0x44(r3) +/* 803197DC 0031543C 7C 06 00 00 */ cmpw r6, r0 +/* 803197E0 00315440 40 82 00 0C */ bne lbl_803197EC +/* 803197E4 00315444 38 00 00 01 */ li r0, 1 +/* 803197E8 00315448 48 00 00 18 */ b lbl_80319800 +lbl_803197EC: +/* 803197EC 0031544C 38 63 00 08 */ addi r3, r3, 8 +/* 803197F0 00315450 38 84 00 01 */ addi r4, r4, 1 +lbl_803197F4: +/* 803197F4 00315454 28 04 00 01 */ cmplwi r4, 1 +/* 803197F8 00315458 41 80 FF D0 */ blt lbl_803197C8 +/* 803197FC 0031545C 38 00 00 00 */ li r0, 0 +lbl_80319800: +/* 80319800 00315460 2C 00 00 00 */ cmpwi r0, 0 +/* 80319804 00315464 41 82 00 74 */ beq lbl_80319878 +/* 80319808 00315468 38 7E 02 48 */ addi r3, r30, 0x248 +/* 8031980C 0031546C 38 80 00 01 */ li r4, 1 +/* 80319810 00315470 48 00 00 5C */ b lbl_8031986C +lbl_80319814: +/* 80319814 00315474 80 03 16 18 */ lwz r0, 0x1618(r3) +/* 80319818 00315478 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8031981C 0031547C 40 82 00 48 */ bne lbl_80319864 +/* 80319820 00315480 1C 64 02 48 */ mulli r3, r4, 0x248 +/* 80319824 00315484 38 00 00 48 */ li r0, 0x48 +/* 80319828 00315488 38 BF FF FC */ addi r5, r31, -4 +/* 8031982C 0031548C 7C DE 1A 14 */ add r6, r30, r3 +/* 80319830 00315490 80 66 16 18 */ lwz r3, 0x1618(r6) +/* 80319834 00315494 38 86 16 1C */ addi r4, r6, 0x161c +/* 80319838 00315498 60 63 00 01 */ ori r3, r3, 1 +/* 8031983C 0031549C 90 66 16 18 */ stw r3, 0x1618(r6) +/* 80319840 003154A0 80 61 00 08 */ lwz r3, 8(r1) +/* 80319844 003154A4 90 66 16 1C */ stw r3, 0x161c(r6) +/* 80319848 003154A8 7C 09 03 A6 */ mtctr r0 +lbl_8031984C: +/* 8031984C 003154AC 80 64 00 04 */ lwz r3, 4(r4) +/* 80319850 003154B0 84 04 00 08 */ lwzu r0, 8(r4) +/* 80319854 003154B4 90 65 00 04 */ stw r3, 4(r5) +/* 80319858 003154B8 94 05 00 08 */ stwu r0, 8(r5) +/* 8031985C 003154BC 42 00 FF F0 */ bdnz lbl_8031984C +/* 80319860 003154C0 48 00 00 3C */ b lbl_8031989C +lbl_80319864: +/* 80319864 003154C4 38 63 02 48 */ addi r3, r3, 0x248 +/* 80319868 003154C8 38 84 00 01 */ addi r4, r4, 1 +lbl_8031986C: +/* 8031986C 003154CC 28 04 00 01 */ cmplwi r4, 1 +/* 80319870 003154D0 41 80 FF A4 */ blt lbl_80319814 +/* 80319874 003154D4 48 00 00 28 */ b lbl_8031989C +lbl_80319878: +/* 80319878 003154D8 38 00 00 48 */ li r0, 0x48 +/* 8031987C 003154DC 38 BF FF FC */ addi r5, r31, -4 +/* 80319880 003154E0 38 9E 16 1C */ addi r4, r30, 0x161c +/* 80319884 003154E4 7C 09 03 A6 */ mtctr r0 +lbl_80319888: +/* 80319888 003154E8 80 64 00 04 */ lwz r3, 4(r4) +/* 8031988C 003154EC 84 04 00 08 */ lwzu r0, 8(r4) +/* 80319890 003154F0 90 65 00 04 */ stw r3, 4(r5) +/* 80319894 003154F4 94 05 00 08 */ stwu r0, 8(r5) +/* 80319898 003154F8 42 00 FF F0 */ bdnz lbl_80319888 +lbl_8031989C: +/* 8031989C 003154FC 38 60 00 00 */ li r3, 0 +lbl_803198A0: +/* 803198A0 00315500 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803198A4 00315504 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803198A8 00315508 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803198AC 0031550C 7C 08 03 A6 */ mtlr r0 +/* 803198B0 00315510 38 21 00 20 */ addi r1, r1, 0x20 +/* 803198B4 00315514 4E 80 00 20 */ blr + +.global func_803198B8 +func_803198B8: +/* 803198B8 00315518 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803198BC 0031551C 7C 08 02 A6 */ mflr r0 +/* 803198C0 00315520 90 01 00 24 */ stw r0, 0x24(r1) +/* 803198C4 00315524 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 803198C8 00315528 7C 7F 1B 78 */ mr r31, r3 +/* 803198CC 0031552C 38 61 00 08 */ addi r3, r1, 8 +/* 803198D0 00315530 48 00 0B 5D */ bl MWInitializeMutex +/* 803198D4 00315534 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 803198D8 00315538 80 A1 00 08 */ lwz r5, 8(r1) +/* 803198DC 0031553C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 803198E0 00315540 38 80 00 01 */ li r4, 1 +/* 803198E4 00315544 38 63 00 0C */ addi r3, r3, 0xc +/* 803198E8 00315548 48 00 00 3C */ b lbl_80319924 +lbl_803198EC: +/* 803198EC 0031554C 80 03 00 00 */ lwz r0, 0(r3) +/* 803198F0 00315550 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 803198F4 00315554 41 82 00 28 */ beq lbl_8031991C +/* 803198F8 00315558 80 03 00 04 */ lwz r0, 4(r3) +/* 803198FC 0031555C 7C 05 00 00 */ cmpw r5, r0 +/* 80319900 00315560 40 82 00 1C */ bne lbl_8031991C +/* 80319904 00315564 1C 04 00 0C */ mulli r0, r4, 0xc +/* 80319908 00315568 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 8031990C 0031556C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319910 00315570 7C 63 02 14 */ add r3, r3, r0 +/* 80319914 00315574 93 E3 00 08 */ stw r31, 8(r3) +/* 80319918 00315578 48 00 00 14 */ b lbl_8031992C +lbl_8031991C: +/* 8031991C 0031557C 38 63 00 0C */ addi r3, r3, 0xc +/* 80319920 00315580 38 84 00 01 */ addi r4, r4, 1 +lbl_80319924: +/* 80319924 00315584 28 04 00 01 */ cmplwi r4, 1 +/* 80319928 00315588 41 80 FF C4 */ blt lbl_803198EC +lbl_8031992C: +/* 8031992C 0031558C 28 04 00 01 */ cmplwi r4, 1 +/* 80319930 00315590 40 82 00 B4 */ bne lbl_803199E4 +/* 80319934 00315594 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319938 00315598 38 80 00 01 */ li r4, 1 +/* 8031993C 0031559C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319940 003155A0 38 63 00 08 */ addi r3, r3, 8 +/* 80319944 003155A4 48 00 00 30 */ b lbl_80319974 +lbl_80319948: +/* 80319948 003155A8 80 03 00 40 */ lwz r0, 0x40(r3) +/* 8031994C 003155AC 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80319950 003155B0 90 03 00 40 */ stw r0, 0x40(r3) +/* 80319954 003155B4 41 82 00 18 */ beq lbl_8031996C +/* 80319958 003155B8 80 03 00 44 */ lwz r0, 0x44(r3) +/* 8031995C 003155BC 7C 05 00 00 */ cmpw r5, r0 +/* 80319960 003155C0 40 82 00 0C */ bne lbl_8031996C +/* 80319964 003155C4 38 00 00 01 */ li r0, 1 +/* 80319968 003155C8 48 00 00 18 */ b lbl_80319980 +lbl_8031996C: +/* 8031996C 003155CC 38 63 00 08 */ addi r3, r3, 8 +/* 80319970 003155D0 38 84 00 01 */ addi r4, r4, 1 +lbl_80319974: +/* 80319974 003155D4 28 04 00 01 */ cmplwi r4, 1 +/* 80319978 003155D8 41 80 FF D0 */ blt lbl_80319948 +/* 8031997C 003155DC 38 00 00 00 */ li r0, 0 +lbl_80319980: +/* 80319980 003155E0 2C 00 00 00 */ cmpwi r0, 0 +/* 80319984 003155E4 41 82 00 60 */ beq lbl_803199E4 +/* 80319988 003155E8 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 8031998C 003155EC 38 80 00 01 */ li r4, 1 +/* 80319990 003155F0 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319994 003155F4 38 63 00 0C */ addi r3, r3, 0xc +/* 80319998 003155F8 48 00 00 44 */ b lbl_803199DC +lbl_8031999C: +/* 8031999C 003155FC 80 03 00 00 */ lwz r0, 0(r3) +/* 803199A0 00315600 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 803199A4 00315604 40 82 00 30 */ bne lbl_803199D4 +/* 803199A8 00315608 1C C4 00 0C */ mulli r6, r4, 0xc +/* 803199AC 0031560C 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 803199B0 00315610 80 01 00 08 */ lwz r0, 8(r1) +/* 803199B4 00315614 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 803199B8 00315618 7C 85 30 2E */ lwzx r4, r5, r6 +/* 803199BC 0031561C 7C 65 32 14 */ add r3, r5, r6 +/* 803199C0 00315620 60 84 00 01 */ ori r4, r4, 1 +/* 803199C4 00315624 7C 85 31 2E */ stwx r4, r5, r6 +/* 803199C8 00315628 90 03 00 04 */ stw r0, 4(r3) +/* 803199CC 0031562C 93 E3 00 08 */ stw r31, 8(r3) +/* 803199D0 00315630 48 00 00 14 */ b lbl_803199E4 +lbl_803199D4: +/* 803199D4 00315634 38 63 00 0C */ addi r3, r3, 0xc +/* 803199D8 00315638 38 84 00 01 */ addi r4, r4, 1 +lbl_803199DC: +/* 803199DC 0031563C 28 04 00 01 */ cmplwi r4, 1 +/* 803199E0 00315640 41 80 FF BC */ blt lbl_8031999C +lbl_803199E4: +/* 803199E4 00315644 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 803199E8 00315648 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 803199EC 0031564C 93 E3 00 08 */ stw r31, 8(r3) +/* 803199F0 00315650 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803199F4 00315654 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803199F8 00315658 7C 08 03 A6 */ mtlr r0 +/* 803199FC 0031565C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80319A00 00315660 4E 80 00 20 */ blr + +.global func_80319A04 +func_80319A04: +/* 80319A04 00315664 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80319A08 00315668 7C 08 02 A6 */ mflr r0 +/* 80319A0C 0031566C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80319A10 00315670 38 61 00 08 */ addi r3, r1, 8 +/* 80319A14 00315674 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80319A18 00315678 3B E0 00 00 */ li r31, 0 +/* 80319A1C 0031567C 48 00 0A 11 */ bl MWInitializeMutex +/* 80319A20 00315680 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319A24 00315684 80 A1 00 08 */ lwz r5, 8(r1) +/* 80319A28 00315688 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319A2C 0031568C 38 80 00 01 */ li r4, 1 +/* 80319A30 00315690 38 63 00 0C */ addi r3, r3, 0xc +/* 80319A34 00315694 48 00 00 3C */ b lbl_80319A70 +lbl_80319A38: +/* 80319A38 00315698 80 03 00 00 */ lwz r0, 0(r3) +/* 80319A3C 0031569C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80319A40 003156A0 41 82 00 28 */ beq lbl_80319A68 +/* 80319A44 003156A4 80 03 00 04 */ lwz r0, 4(r3) +/* 80319A48 003156A8 7C 05 00 00 */ cmpw r5, r0 +/* 80319A4C 003156AC 40 82 00 1C */ bne lbl_80319A68 +/* 80319A50 003156B0 1C 04 00 0C */ mulli r0, r4, 0xc +/* 80319A54 003156B4 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319A58 003156B8 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319A5C 003156BC 7C 63 02 14 */ add r3, r3, r0 +/* 80319A60 003156C0 83 E3 00 08 */ lwz r31, 8(r3) +/* 80319A64 003156C4 48 00 00 14 */ b lbl_80319A78 +lbl_80319A68: +/* 80319A68 003156C8 38 63 00 0C */ addi r3, r3, 0xc +/* 80319A6C 003156CC 38 84 00 01 */ addi r4, r4, 1 +lbl_80319A70: +/* 80319A70 003156D0 28 04 00 01 */ cmplwi r4, 1 +/* 80319A74 003156D4 41 80 FF C4 */ blt lbl_80319A38 +lbl_80319A78: +/* 80319A78 003156D8 28 04 00 01 */ cmplwi r4, 1 +/* 80319A7C 003156DC 40 82 00 C4 */ bne lbl_80319B40 +/* 80319A80 003156E0 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319A84 003156E4 38 80 00 01 */ li r4, 1 +/* 80319A88 003156E8 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319A8C 003156EC 38 63 00 08 */ addi r3, r3, 8 +/* 80319A90 003156F0 48 00 00 30 */ b lbl_80319AC0 +lbl_80319A94: +/* 80319A94 003156F4 80 03 00 40 */ lwz r0, 0x40(r3) +/* 80319A98 003156F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80319A9C 003156FC 90 03 00 40 */ stw r0, 0x40(r3) +/* 80319AA0 00315700 41 82 00 18 */ beq lbl_80319AB8 +/* 80319AA4 00315704 80 03 00 44 */ lwz r0, 0x44(r3) +/* 80319AA8 00315708 7C 05 00 00 */ cmpw r5, r0 +/* 80319AAC 0031570C 40 82 00 0C */ bne lbl_80319AB8 +/* 80319AB0 00315710 38 00 00 01 */ li r0, 1 +/* 80319AB4 00315714 48 00 00 18 */ b lbl_80319ACC +lbl_80319AB8: +/* 80319AB8 00315718 38 63 00 08 */ addi r3, r3, 8 +/* 80319ABC 0031571C 38 84 00 01 */ addi r4, r4, 1 +lbl_80319AC0: +/* 80319AC0 00315720 28 04 00 01 */ cmplwi r4, 1 +/* 80319AC4 00315724 41 80 FF D0 */ blt lbl_80319A94 +/* 80319AC8 00315728 38 00 00 00 */ li r0, 0 +lbl_80319ACC: +/* 80319ACC 0031572C 2C 00 00 00 */ cmpwi r0, 0 +/* 80319AD0 00315730 41 82 00 64 */ beq lbl_80319B34 +/* 80319AD4 00315734 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319AD8 00315738 38 80 00 01 */ li r4, 1 +/* 80319ADC 0031573C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319AE0 00315740 38 63 00 0C */ addi r3, r3, 0xc +/* 80319AE4 00315744 48 00 00 44 */ b lbl_80319B28 +lbl_80319AE8: +/* 80319AE8 00315748 80 03 00 00 */ lwz r0, 0(r3) +/* 80319AEC 0031574C 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 80319AF0 00315750 40 82 00 30 */ bne lbl_80319B20 +/* 80319AF4 00315754 1C C4 00 0C */ mulli r6, r4, 0xc +/* 80319AF8 00315758 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha +/* 80319AFC 0031575C 80 01 00 08 */ lwz r0, 8(r1) +/* 80319B00 00315760 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l +/* 80319B04 00315764 7C 85 30 2E */ lwzx r4, r5, r6 +/* 80319B08 00315768 7C 65 32 14 */ add r3, r5, r6 +/* 80319B0C 0031576C 60 84 00 01 */ ori r4, r4, 1 +/* 80319B10 00315770 7C 85 31 2E */ stwx r4, r5, r6 +/* 80319B14 00315774 90 03 00 04 */ stw r0, 4(r3) +/* 80319B18 00315778 83 E3 00 08 */ lwz r31, 8(r3) +/* 80319B1C 0031577C 48 00 00 24 */ b lbl_80319B40 +lbl_80319B20: +/* 80319B20 00315780 38 63 00 0C */ addi r3, r3, 0xc +/* 80319B24 00315784 38 84 00 01 */ addi r4, r4, 1 +lbl_80319B28: +/* 80319B28 00315788 28 04 00 01 */ cmplwi r4, 1 +/* 80319B2C 0031578C 41 80 FF BC */ blt lbl_80319AE8 +/* 80319B30 00315790 48 00 00 10 */ b lbl_80319B40 +lbl_80319B34: +/* 80319B34 00315794 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319B38 00315798 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319B3C 0031579C 83 E3 00 08 */ lwz r31, 8(r3) +lbl_80319B40: +/* 80319B40 003157A0 7F E3 FB 78 */ mr r3, r31 +/* 80319B44 003157A4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80319B48 003157A8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80319B4C 003157AC 7C 08 03 A6 */ mtlr r0 +/* 80319B50 003157B0 38 21 00 20 */ addi r1, r1, 0x20 +/* 80319B54 003157B4 4E 80 00 20 */ blr + +.global func_80319B58 +func_80319B58: +/* 80319B58 003157B8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80319B5C 003157BC 7C 08 02 A6 */ mflr r0 +/* 80319B60 003157C0 7C 63 07 74 */ extsb r3, r3 +/* 80319B64 003157C4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80319B68 003157C8 4B FE B3 2D */ bl VFipf_toupper +/* 80319B6C 003157CC 38 03 FF BF */ addi r0, r3, -65 +/* 80319B70 003157D0 7C 00 07 35 */ extsh. r0, r0 +/* 80319B74 003157D4 41 80 00 0C */ blt lbl_80319B80 +/* 80319B78 003157D8 2C 00 00 1A */ cmpwi r0, 0x1a +/* 80319B7C 003157DC 41 80 00 0C */ blt lbl_80319B88 +lbl_80319B80: +/* 80319B80 003157E0 38 60 00 00 */ li r3, 0 +/* 80319B84 003157E4 48 00 00 18 */ b lbl_80319B9C +lbl_80319B88: +/* 80319B88 003157E8 1C 00 18 98 */ mulli r0, r0, 0x1898 +/* 80319B8C 003157EC 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319B90 003157F0 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319B94 003157F4 7C 63 02 14 */ add r3, r3, r0 +/* 80319B98 003157F8 38 63 00 48 */ addi r3, r3, 0x48 +lbl_80319B9C: +/* 80319B9C 003157FC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80319BA0 00315800 7C 08 03 A6 */ mtlr r0 +/* 80319BA4 00315804 38 21 00 10 */ addi r1, r1, 0x10 +/* 80319BA8 00315808 4E 80 00 20 */ blr + +.global func_80319BAC +func_80319BAC: +/* 80319BAC 0031580C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80319BB0 00315810 7C 08 02 A6 */ mflr r0 +/* 80319BB4 00315814 38 A0 00 0B */ li r5, 0xb +/* 80319BB8 00315818 90 01 00 14 */ stw r0, 0x14(r1) +/* 80319BBC 0031581C 7C 60 1B 78 */ mr r0, r3 +/* 80319BC0 00315820 38 64 16 0C */ addi r3, r4, 0x160c +/* 80319BC4 00315824 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80319BC8 00315828 7C 9F 23 78 */ mr r31, r4 +/* 80319BCC 0031582C 7C 04 03 78 */ mr r4, r0 +/* 80319BD0 00315830 4B FE B2 DD */ bl VFipf_memcpy +/* 80319BD4 00315834 38 00 00 00 */ li r0, 0 +/* 80319BD8 00315838 98 1F 16 17 */ stb r0, 0x1617(r31) +/* 80319BDC 0031583C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80319BE0 00315840 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80319BE4 00315844 7C 08 03 A6 */ mtlr r0 +/* 80319BE8 00315848 38 21 00 10 */ addi r1, r1, 0x10 +/* 80319BEC 0031584C 4E 80 00 20 */ blr + +.global func_80319BF0 +func_80319BF0: +/* 80319BF0 00315850 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha +/* 80319BF4 00315854 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l +/* 80319BF8 00315858 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 80319BFC 0031585C 4E 80 00 20 */ blr + +.global func_80319C00 +func_80319C00: +/* 80319C00 00315860 88 A3 00 00 */ lbz r5, 0(r3) +/* 80319C04 00315864 88 63 00 01 */ lbz r3, 1(r3) +/* 80319C08 00315868 28 05 00 80 */ cmplwi r5, 0x80 +/* 80319C0C 0031586C 40 80 00 14 */ bge lbl_80319C20 +/* 80319C10 00315870 B0 A4 00 00 */ sth r5, 0(r4) +/* 80319C14 00315874 38 60 00 01 */ li r3, 1 +/* 80319C18 00315878 38 80 00 02 */ li r4, 2 +/* 80319C1C 0031587C 4B FE B5 78 */ b VFiPFCODE_Combine_Width +lbl_80319C20: +/* 80319C20 00315880 28 05 00 A1 */ cmplwi r5, 0xa1 +/* 80319C24 00315884 41 80 00 24 */ blt lbl_80319C48 +/* 80319C28 00315888 28 05 00 DF */ cmplwi r5, 0xdf +/* 80319C2C 0031588C 41 81 00 1C */ bgt lbl_80319C48 +/* 80319C30 00315890 3C 65 00 01 */ addis r3, r5, 1 +/* 80319C34 00315894 38 03 FE C0 */ addi r0, r3, -320 +/* 80319C38 00315898 B0 04 00 00 */ sth r0, 0(r4) +/* 80319C3C 0031589C 38 60 00 01 */ li r3, 1 +/* 80319C40 003158A0 38 80 00 02 */ li r4, 2 +/* 80319C44 003158A4 4B FE B5 50 */ b VFiPFCODE_Combine_Width +lbl_80319C48: +/* 80319C48 003158A8 28 05 00 80 */ cmplwi r5, 0x80 +/* 80319C4C 003158AC 41 82 00 4C */ beq lbl_80319C98 +/* 80319C50 003158B0 28 05 00 85 */ cmplwi r5, 0x85 +/* 80319C54 003158B4 41 82 00 44 */ beq lbl_80319C98 +/* 80319C58 003158B8 28 05 00 86 */ cmplwi r5, 0x86 +/* 80319C5C 003158BC 41 82 00 3C */ beq lbl_80319C98 +/* 80319C60 003158C0 28 05 00 A0 */ cmplwi r5, 0xa0 +/* 80319C64 003158C4 41 82 00 34 */ beq lbl_80319C98 +/* 80319C68 003158C8 28 05 00 EB */ cmplwi r5, 0xeb +/* 80319C6C 003158CC 41 82 00 2C */ beq lbl_80319C98 +/* 80319C70 003158D0 28 05 00 EC */ cmplwi r5, 0xec +/* 80319C74 003158D4 41 82 00 24 */ beq lbl_80319C98 +/* 80319C78 003158D8 28 05 00 EF */ cmplwi r5, 0xef +/* 80319C7C 003158DC 41 80 00 0C */ blt lbl_80319C88 +/* 80319C80 003158E0 28 05 00 F9 */ cmplwi r5, 0xf9 +/* 80319C84 003158E4 40 81 00 14 */ ble lbl_80319C98 +lbl_80319C88: +/* 80319C88 003158E8 28 05 00 FD */ cmplwi r5, 0xfd +/* 80319C8C 003158EC 41 80 00 20 */ blt lbl_80319CAC +/* 80319C90 003158F0 28 05 00 FF */ cmplwi r5, 0xff +/* 80319C94 003158F4 40 82 00 18 */ bne lbl_80319CAC +lbl_80319C98: +/* 80319C98 003158F8 38 00 00 5F */ li r0, 0x5f +/* 80319C9C 003158FC 38 60 00 01 */ li r3, 1 +/* 80319CA0 00315900 B0 04 00 00 */ sth r0, 0(r4) +/* 80319CA4 00315904 38 80 00 02 */ li r4, 2 +/* 80319CA8 00315908 4B FE B4 EC */ b VFiPFCODE_Combine_Width +lbl_80319CAC: +/* 80319CAC 0031590C 28 03 00 FD */ cmplwi r3, 0xfd +/* 80319CB0 00315910 41 80 00 18 */ blt lbl_80319CC8 +/* 80319CB4 00315914 38 00 00 5F */ li r0, 0x5f +/* 80319CB8 00315918 38 60 00 01 */ li r3, 1 +/* 80319CBC 0031591C B0 04 00 00 */ sth r0, 0(r4) +/* 80319CC0 00315920 38 80 00 02 */ li r4, 2 +/* 80319CC4 00315924 4B FE B4 D0 */ b VFiPFCODE_Combine_Width +lbl_80319CC8: +/* 80319CC8 00315928 28 05 00 81 */ cmplwi r5, 0x81 +/* 80319CCC 0031592C 41 80 00 14 */ blt lbl_80319CE0 +/* 80319CD0 00315930 28 05 00 84 */ cmplwi r5, 0x84 +/* 80319CD4 00315934 41 81 00 0C */ bgt lbl_80319CE0 +/* 80319CD8 00315938 38 05 FF 7F */ addi r0, r5, -129 +/* 80319CDC 0031593C 48 00 00 78 */ b lbl_80319D54 +lbl_80319CE0: +/* 80319CE0 00315940 28 05 00 87 */ cmplwi r5, 0x87 +/* 80319CE4 00315944 41 80 00 14 */ blt lbl_80319CF8 +/* 80319CE8 00315948 28 05 00 9F */ cmplwi r5, 0x9f +/* 80319CEC 0031594C 41 81 00 0C */ bgt lbl_80319CF8 +/* 80319CF0 00315950 38 05 FF 7D */ addi r0, r5, -131 +/* 80319CF4 00315954 48 00 00 60 */ b lbl_80319D54 +lbl_80319CF8: +/* 80319CF8 00315958 28 05 00 E0 */ cmplwi r5, 0xe0 +/* 80319CFC 0031595C 41 80 00 14 */ blt lbl_80319D10 +/* 80319D00 00315960 28 05 00 EA */ cmplwi r5, 0xea +/* 80319D04 00315964 41 81 00 0C */ bgt lbl_80319D10 +/* 80319D08 00315968 38 05 FF 3D */ addi r0, r5, -195 +/* 80319D0C 0031596C 48 00 00 48 */ b lbl_80319D54 +lbl_80319D10: +/* 80319D10 00315970 28 05 00 ED */ cmplwi r5, 0xed +/* 80319D14 00315974 41 80 00 14 */ blt lbl_80319D28 +/* 80319D18 00315978 28 05 00 EE */ cmplwi r5, 0xee +/* 80319D1C 0031597C 41 81 00 0C */ bgt lbl_80319D28 +/* 80319D20 00315980 38 05 FF 3B */ addi r0, r5, -197 +/* 80319D24 00315984 48 00 00 30 */ b lbl_80319D54 +lbl_80319D28: +/* 80319D28 00315988 28 05 00 FA */ cmplwi r5, 0xfa +/* 80319D2C 0031598C 41 80 00 14 */ blt lbl_80319D40 +/* 80319D30 00315990 28 05 00 FC */ cmplwi r5, 0xfc +/* 80319D34 00315994 41 81 00 0C */ bgt lbl_80319D40 +/* 80319D38 00315998 38 05 FF 30 */ addi r0, r5, -208 +/* 80319D3C 0031599C 48 00 00 18 */ b lbl_80319D54 +lbl_80319D40: +/* 80319D40 003159A0 38 00 00 5F */ li r0, 0x5f +/* 80319D44 003159A4 38 60 00 01 */ li r3, 1 +/* 80319D48 003159A8 B0 04 00 00 */ sth r0, 0(r4) +/* 80319D4C 003159AC 38 80 00 02 */ li r4, 2 +/* 80319D50 003159B0 4B FE B4 44 */ b VFiPFCODE_Combine_Width +lbl_80319D54: +/* 80319D54 003159B4 34 63 FF C0 */ addic. r3, r3, -64 +/* 80319D58 003159B8 41 80 00 0C */ blt lbl_80319D64 +/* 80319D5C 003159BC 2C 03 00 BD */ cmpwi r3, 0xbd +/* 80319D60 003159C0 41 80 00 18 */ blt lbl_80319D78 +lbl_80319D64: +/* 80319D64 003159C4 38 00 00 5F */ li r0, 0x5f +/* 80319D68 003159C8 38 60 00 01 */ li r3, 1 +/* 80319D6C 003159CC B0 04 00 00 */ sth r0, 0(r4) +/* 80319D70 003159D0 38 80 00 02 */ li r4, 2 +/* 80319D74 003159D4 4B FE B4 20 */ b VFiPFCODE_Combine_Width +lbl_80319D78: +/* 80319D78 003159D8 1C 00 01 7A */ mulli r0, r0, 0x17a +/* 80319D7C 003159DC 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha +/* 80319D80 003159E0 54 63 08 3C */ slwi r3, r3, 1 +/* 80319D84 003159E4 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l +/* 80319D88 003159E8 7C 05 02 14 */ add r0, r5, r0 +/* 80319D8C 003159EC 7C 03 02 2E */ lhzx r0, r3, r0 +/* 80319D90 003159F0 2C 00 00 00 */ cmpwi r0, 0 +/* 80319D94 003159F4 B0 04 00 00 */ sth r0, 0(r4) +/* 80319D98 003159F8 40 82 00 18 */ bne lbl_80319DB0 +/* 80319D9C 003159FC 38 00 00 5F */ li r0, 0x5f +/* 80319DA0 00315A00 38 60 00 01 */ li r3, 1 +/* 80319DA4 00315A04 B0 04 00 00 */ sth r0, 0(r4) +/* 80319DA8 00315A08 38 80 00 02 */ li r4, 2 +/* 80319DAC 00315A0C 4B FE B3 E8 */ b VFiPFCODE_Combine_Width +lbl_80319DB0: +/* 80319DB0 00315A10 38 60 00 02 */ li r3, 2 +/* 80319DB4 00315A14 38 80 00 02 */ li r4, 2 +/* 80319DB8 00315A18 4B FE B3 DC */ b VFiPFCODE_Combine_Width + +.global func_80319DBC +func_80319DBC: +/* 80319DBC 00315A1C A0 03 00 00 */ lhz r0, 0(r3) +/* 80319DC0 00315A20 54 05 06 3E */ clrlwi r5, r0, 0x18 +/* 80319DC4 00315A24 7C 03 46 70 */ srawi r3, r0, 8 +/* 80319DC8 00315A28 28 05 00 80 */ cmplwi r5, 0x80 +/* 80319DCC 00315A2C 40 80 00 24 */ bge lbl_80319DF0 +/* 80319DD0 00315A30 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 80319DD4 00315A34 40 82 00 1C */ bne lbl_80319DF0 +/* 80319DD8 00315A38 38 00 00 00 */ li r0, 0 +/* 80319DDC 00315A3C 98 A4 00 00 */ stb r5, 0(r4) +/* 80319DE0 00315A40 38 60 00 01 */ li r3, 1 +/* 80319DE4 00315A44 98 04 00 01 */ stb r0, 1(r4) +/* 80319DE8 00315A48 38 80 00 02 */ li r4, 2 +/* 80319DEC 00315A4C 4B FE B3 A8 */ b VFiPFCODE_Combine_Width +lbl_80319DF0: +/* 80319DF0 00315A50 54 60 44 2E */ rlwinm r0, r3, 8, 0x10, 0x17 +/* 80319DF4 00315A54 7C 00 2A 14 */ add r0, r0, r5 +/* 80319DF8 00315A58 54 09 04 3E */ clrlwi r9, r0, 0x10 +/* 80319DFC 00315A5C 28 09 FF 61 */ cmplwi r9, 0xff61 +/* 80319E00 00315A60 41 80 00 2C */ blt lbl_80319E2C +/* 80319E04 00315A64 28 09 FF 9F */ cmplwi r9, 0xff9f +/* 80319E08 00315A68 41 81 00 24 */ bgt lbl_80319E2C +/* 80319E0C 00315A6C 3C 69 FF FF */ addis r3, r9, 0xffff +/* 80319E10 00315A70 38 00 00 00 */ li r0, 0 +/* 80319E14 00315A74 38 63 01 40 */ addi r3, r3, 0x140 +/* 80319E18 00315A78 98 04 00 01 */ stb r0, 1(r4) +/* 80319E1C 00315A7C 98 64 00 00 */ stb r3, 0(r4) +/* 80319E20 00315A80 38 60 00 01 */ li r3, 1 +/* 80319E24 00315A84 38 80 00 02 */ li r4, 2 +/* 80319E28 00315A88 4B FE B3 6C */ b VFiPFCODE_Combine_Width +lbl_80319E2C: +/* 80319E2C 00315A8C 28 09 00 5F */ cmplwi r9, 0x5f +/* 80319E30 00315A90 40 82 00 18 */ bne lbl_80319E48 +/* 80319E34 00315A94 38 00 00 5F */ li r0, 0x5f +/* 80319E38 00315A98 38 60 00 01 */ li r3, 1 +/* 80319E3C 00315A9C 98 04 00 00 */ stb r0, 0(r4) +/* 80319E40 00315AA0 38 80 00 02 */ li r4, 2 +/* 80319E44 00315AA4 4B FE B3 50 */ b VFiPFCODE_Combine_Width +lbl_80319E48: +/* 80319E48 00315AA8 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha +/* 80319E4C 00315AAC 38 C0 00 00 */ li r6, 0 +/* 80319E50 00315AB0 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l +/* 80319E54 00315AB4 38 00 00 15 */ li r0, 0x15 +lbl_80319E58: +/* 80319E58 00315AB8 7C A8 2B 78 */ mr r8, r5 +/* 80319E5C 00315ABC 38 E0 00 00 */ li r7, 0 +/* 80319E60 00315AC0 7C 09 03 A6 */ mtctr r0 +lbl_80319E64: +/* 80319E64 00315AC4 A0 68 00 00 */ lhz r3, 0(r8) +/* 80319E68 00315AC8 7C 03 48 40 */ cmplw r3, r9 +/* 80319E6C 00315ACC 41 82 00 90 */ beq lbl_80319EFC +/* 80319E70 00315AD0 A0 68 00 02 */ lhz r3, 2(r8) +/* 80319E74 00315AD4 38 E7 00 01 */ addi r7, r7, 1 +/* 80319E78 00315AD8 7C 03 48 40 */ cmplw r3, r9 +/* 80319E7C 00315ADC 41 82 00 80 */ beq lbl_80319EFC +/* 80319E80 00315AE0 A0 68 00 04 */ lhz r3, 4(r8) +/* 80319E84 00315AE4 38 E7 00 01 */ addi r7, r7, 1 +/* 80319E88 00315AE8 7C 03 48 40 */ cmplw r3, r9 +/* 80319E8C 00315AEC 41 82 00 70 */ beq lbl_80319EFC +/* 80319E90 00315AF0 A0 68 00 06 */ lhz r3, 6(r8) +/* 80319E94 00315AF4 38 E7 00 01 */ addi r7, r7, 1 +/* 80319E98 00315AF8 7C 03 48 40 */ cmplw r3, r9 +/* 80319E9C 00315AFC 41 82 00 60 */ beq lbl_80319EFC +/* 80319EA0 00315B00 A0 68 00 08 */ lhz r3, 8(r8) +/* 80319EA4 00315B04 38 E7 00 01 */ addi r7, r7, 1 +/* 80319EA8 00315B08 7C 03 48 40 */ cmplw r3, r9 +/* 80319EAC 00315B0C 41 82 00 50 */ beq lbl_80319EFC +/* 80319EB0 00315B10 A0 68 00 0A */ lhz r3, 0xa(r8) +/* 80319EB4 00315B14 38 E7 00 01 */ addi r7, r7, 1 +/* 80319EB8 00315B18 7C 03 48 40 */ cmplw r3, r9 +/* 80319EBC 00315B1C 41 82 00 40 */ beq lbl_80319EFC +/* 80319EC0 00315B20 A0 68 00 0C */ lhz r3, 0xc(r8) +/* 80319EC4 00315B24 38 E7 00 01 */ addi r7, r7, 1 +/* 80319EC8 00315B28 7C 03 48 40 */ cmplw r3, r9 +/* 80319ECC 00315B2C 41 82 00 30 */ beq lbl_80319EFC +/* 80319ED0 00315B30 A0 68 00 0E */ lhz r3, 0xe(r8) +/* 80319ED4 00315B34 38 E7 00 01 */ addi r7, r7, 1 +/* 80319ED8 00315B38 7C 03 48 40 */ cmplw r3, r9 +/* 80319EDC 00315B3C 41 82 00 20 */ beq lbl_80319EFC +/* 80319EE0 00315B40 A0 68 00 10 */ lhz r3, 0x10(r8) +/* 80319EE4 00315B44 38 E7 00 01 */ addi r7, r7, 1 +/* 80319EE8 00315B48 7C 03 48 40 */ cmplw r3, r9 +/* 80319EEC 00315B4C 41 82 00 10 */ beq lbl_80319EFC +/* 80319EF0 00315B50 38 E7 00 01 */ addi r7, r7, 1 +/* 80319EF4 00315B54 39 08 00 12 */ addi r8, r8, 0x12 +/* 80319EF8 00315B58 42 00 FF 6C */ bdnz lbl_80319E64 +lbl_80319EFC: +/* 80319EFC 00315B5C 2C 07 00 BD */ cmpwi r7, 0xbd +/* 80319F00 00315B60 41 80 00 14 */ blt lbl_80319F14 +/* 80319F04 00315B64 38 C6 00 01 */ addi r6, r6, 1 +/* 80319F08 00315B68 38 A5 01 7A */ addi r5, r5, 0x17a +/* 80319F0C 00315B6C 2C 06 00 2D */ cmpwi r6, 0x2d +/* 80319F10 00315B70 41 80 FF 48 */ blt lbl_80319E58 +lbl_80319F14: +/* 80319F14 00315B74 2C 07 00 BD */ cmpwi r7, 0xbd +/* 80319F18 00315B78 40 82 00 18 */ bne lbl_80319F30 +/* 80319F1C 00315B7C 38 00 00 5F */ li r0, 0x5f +/* 80319F20 00315B80 38 60 00 01 */ li r3, 1 +/* 80319F24 00315B84 98 04 00 00 */ stb r0, 0(r4) +/* 80319F28 00315B88 38 80 00 02 */ li r4, 2 +/* 80319F2C 00315B8C 4B FE B2 68 */ b VFiPFCODE_Combine_Width +lbl_80319F30: +/* 80319F30 00315B90 2C 06 00 00 */ cmpwi r6, 0 +/* 80319F34 00315B94 41 80 00 24 */ blt lbl_80319F58 +/* 80319F38 00315B98 2C 06 00 03 */ cmpwi r6, 3 +/* 80319F3C 00315B9C 41 81 00 1C */ bgt lbl_80319F58 +/* 80319F40 00315BA0 38 66 00 81 */ addi r3, r6, 0x81 +/* 80319F44 00315BA4 38 07 00 40 */ addi r0, r7, 0x40 +/* 80319F48 00315BA8 54 63 40 2E */ slwi r3, r3, 8 +/* 80319F4C 00315BAC 7C 60 03 78 */ or r0, r3, r0 +/* 80319F50 00315BB0 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 80319F54 00315BB4 48 00 00 B8 */ b lbl_8031A00C +lbl_80319F58: +/* 80319F58 00315BB8 2C 06 00 04 */ cmpwi r6, 4 +/* 80319F5C 00315BBC 41 80 00 24 */ blt lbl_80319F80 +/* 80319F60 00315BC0 2C 06 00 1C */ cmpwi r6, 0x1c +/* 80319F64 00315BC4 41 81 00 1C */ bgt lbl_80319F80 +/* 80319F68 00315BC8 38 66 00 83 */ addi r3, r6, 0x83 +/* 80319F6C 00315BCC 38 07 00 40 */ addi r0, r7, 0x40 +/* 80319F70 00315BD0 54 63 40 2E */ slwi r3, r3, 8 +/* 80319F74 00315BD4 7C 60 03 78 */ or r0, r3, r0 +/* 80319F78 00315BD8 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 80319F7C 00315BDC 48 00 00 90 */ b lbl_8031A00C +lbl_80319F80: +/* 80319F80 00315BE0 2C 06 00 1D */ cmpwi r6, 0x1d +/* 80319F84 00315BE4 41 80 00 24 */ blt lbl_80319FA8 +/* 80319F88 00315BE8 2C 06 00 27 */ cmpwi r6, 0x27 +/* 80319F8C 00315BEC 41 81 00 1C */ bgt lbl_80319FA8 +/* 80319F90 00315BF0 38 66 00 C3 */ addi r3, r6, 0xc3 +/* 80319F94 00315BF4 38 07 00 40 */ addi r0, r7, 0x40 +/* 80319F98 00315BF8 54 63 40 2E */ slwi r3, r3, 8 +/* 80319F9C 00315BFC 7C 60 03 78 */ or r0, r3, r0 +/* 80319FA0 00315C00 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 80319FA4 00315C04 48 00 00 68 */ b lbl_8031A00C +lbl_80319FA8: +/* 80319FA8 00315C08 2C 06 00 28 */ cmpwi r6, 0x28 +/* 80319FAC 00315C0C 41 80 00 24 */ blt lbl_80319FD0 +/* 80319FB0 00315C10 2C 06 00 29 */ cmpwi r6, 0x29 +/* 80319FB4 00315C14 41 81 00 1C */ bgt lbl_80319FD0 +/* 80319FB8 00315C18 38 66 00 C5 */ addi r3, r6, 0xc5 +/* 80319FBC 00315C1C 38 07 00 40 */ addi r0, r7, 0x40 +/* 80319FC0 00315C20 54 63 40 2E */ slwi r3, r3, 8 +/* 80319FC4 00315C24 7C 60 03 78 */ or r0, r3, r0 +/* 80319FC8 00315C28 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 80319FCC 00315C2C 48 00 00 40 */ b lbl_8031A00C +lbl_80319FD0: +/* 80319FD0 00315C30 2C 06 00 2A */ cmpwi r6, 0x2a +/* 80319FD4 00315C34 41 80 00 24 */ blt lbl_80319FF8 +/* 80319FD8 00315C38 2C 06 00 2C */ cmpwi r6, 0x2c +/* 80319FDC 00315C3C 41 81 00 1C */ bgt lbl_80319FF8 +/* 80319FE0 00315C40 38 66 00 D0 */ addi r3, r6, 0xd0 +/* 80319FE4 00315C44 38 07 00 40 */ addi r0, r7, 0x40 +/* 80319FE8 00315C48 54 63 40 2E */ slwi r3, r3, 8 +/* 80319FEC 00315C4C 7C 60 03 78 */ or r0, r3, r0 +/* 80319FF0 00315C50 54 03 04 3E */ clrlwi r3, r0, 0x10 +/* 80319FF4 00315C54 48 00 00 18 */ b lbl_8031A00C +lbl_80319FF8: +/* 80319FF8 00315C58 38 00 00 5F */ li r0, 0x5f +/* 80319FFC 00315C5C 38 60 00 01 */ li r3, 1 +/* 8031A000 00315C60 98 04 00 00 */ stb r0, 0(r4) +/* 8031A004 00315C64 38 80 00 02 */ li r4, 2 +/* 8031A008 00315C68 4B FE B1 8C */ b VFiPFCODE_Combine_Width +lbl_8031A00C: +/* 8031A00C 00315C6C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f +/* 8031A010 00315C70 98 64 00 01 */ stb r3, 1(r4) +/* 8031A014 00315C74 38 60 00 02 */ li r3, 2 +/* 8031A018 00315C78 98 04 00 00 */ stb r0, 0(r4) +/* 8031A01C 00315C7C 38 80 00 02 */ li r4, 2 +/* 8031A020 00315C80 4B FE B1 74 */ b VFiPFCODE_Combine_Width +lbl_8031A024: +/* 8031A024 00315C84 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A028 00315C88 7C 08 02 A6 */ mflr r0 +/* 8031A02C 00315C8C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A030 00315C90 38 81 00 0C */ addi r4, r1, 0xc +/* 8031A034 00315C94 4B FF FB CD */ bl func_80319C00 +/* 8031A038 00315C98 38 81 00 0A */ addi r4, r1, 0xa +/* 8031A03C 00315C9C 38 A1 00 08 */ addi r5, r1, 8 +/* 8031A040 00315CA0 4B FE B1 61 */ bl VFiPFCODE_Divide_Width +/* 8031A044 00315CA4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A048 00315CA8 A8 61 00 0A */ lha r3, 0xa(r1) +/* 8031A04C 00315CAC 7C 08 03 A6 */ mtlr r0 +/* 8031A050 00315CB0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A054 00315CB4 4E 80 00 20 */ blr +lbl_8031A058: +/* 8031A058 00315CB8 2C 04 00 02 */ cmpwi r4, 2 +/* 8031A05C 00315CBC 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 8031A060 00315CC0 41 82 00 40 */ beq lbl_8031A0A0 +/* 8031A064 00315CC4 40 80 00 68 */ bge lbl_8031A0CC +/* 8031A068 00315CC8 2C 04 00 01 */ cmpwi r4, 1 +/* 8031A06C 00315CCC 40 80 00 08 */ bge lbl_8031A074 +/* 8031A070 00315CD0 48 00 00 5C */ b lbl_8031A0CC +lbl_8031A074: +/* 8031A074 00315CD4 28 00 00 81 */ cmplwi r0, 0x81 +/* 8031A078 00315CD8 38 60 00 00 */ li r3, 0 +/* 8031A07C 00315CDC 41 80 00 0C */ blt lbl_8031A088 +/* 8031A080 00315CE0 28 00 00 9F */ cmplwi r0, 0x9f +/* 8031A084 00315CE4 40 81 00 14 */ ble lbl_8031A098 +lbl_8031A088: +/* 8031A088 00315CE8 28 00 00 E0 */ cmplwi r0, 0xe0 +/* 8031A08C 00315CEC 4D 80 00 20 */ bltlr +/* 8031A090 00315CF0 28 00 00 FC */ cmplwi r0, 0xfc +/* 8031A094 00315CF4 4D 81 00 20 */ bgtlr +lbl_8031A098: +/* 8031A098 00315CF8 38 60 00 01 */ li r3, 1 +/* 8031A09C 00315CFC 4E 80 00 20 */ blr +lbl_8031A0A0: +/* 8031A0A0 00315D00 28 00 00 40 */ cmplwi r0, 0x40 +/* 8031A0A4 00315D04 38 60 00 00 */ li r3, 0 +/* 8031A0A8 00315D08 41 80 00 0C */ blt lbl_8031A0B4 +/* 8031A0AC 00315D0C 28 00 00 7E */ cmplwi r0, 0x7e +/* 8031A0B0 00315D10 40 81 00 14 */ ble lbl_8031A0C4 +lbl_8031A0B4: +/* 8031A0B4 00315D14 28 00 00 80 */ cmplwi r0, 0x80 +/* 8031A0B8 00315D18 4D 80 00 20 */ bltlr +/* 8031A0BC 00315D1C 28 00 00 FC */ cmplwi r0, 0xfc +/* 8031A0C0 00315D20 4D 81 00 20 */ bgtlr +lbl_8031A0C4: +/* 8031A0C4 00315D24 38 60 00 01 */ li r3, 1 +/* 8031A0C8 00315D28 4E 80 00 20 */ blr +lbl_8031A0CC: +/* 8031A0CC 00315D2C 38 60 00 00 */ li r3, 0 +/* 8031A0D0 00315D30 4E 80 00 20 */ blr +lbl_8031A0D4: +/* 8031A0D4 00315D34 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A0D8 00315D38 7C 08 02 A6 */ mflr r0 +/* 8031A0DC 00315D3C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A0E0 00315D40 38 81 00 0C */ addi r4, r1, 0xc +/* 8031A0E4 00315D44 4B FF FC D9 */ bl func_80319DBC +/* 8031A0E8 00315D48 38 81 00 0A */ addi r4, r1, 0xa +/* 8031A0EC 00315D4C 38 A1 00 08 */ addi r5, r1, 8 +/* 8031A0F0 00315D50 4B FE B0 B1 */ bl VFiPFCODE_Divide_Width +/* 8031A0F4 00315D54 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A0F8 00315D58 A8 61 00 08 */ lha r3, 8(r1) +/* 8031A0FC 00315D5C 7C 08 03 A6 */ mtlr r0 +/* 8031A100 00315D60 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A104 00315D64 4E 80 00 20 */ blr +lbl_8031A108: +/* 8031A108 00315D68 38 60 00 00 */ li r3, 0 +/* 8031A10C 00315D6C 4E 80 00 20 */ blr + +.global func_8031A110 +func_8031A110: +/* 8031A110 00315D70 2C 03 00 00 */ cmpwi r3, 0 +/* 8031A114 00315D74 40 82 00 0C */ bne lbl_8031A120 +/* 8031A118 00315D78 38 60 00 0A */ li r3, 0xa +/* 8031A11C 00315D7C 4E 80 00 20 */ blr +lbl_8031A120: +/* 8031A120 00315D80 88 03 00 00 */ lbz r0, 0(r3) +/* 8031A124 00315D84 38 A0 00 01 */ li r5, 1 +/* 8031A128 00315D88 7C 00 07 74 */ extsb r0, r0 +/* 8031A12C 00315D8C 2C 00 00 72 */ cmpwi r0, 0x72 +/* 8031A130 00315D90 41 82 00 20 */ beq lbl_8031A150 +/* 8031A134 00315D94 40 80 00 10 */ bge lbl_8031A144 +/* 8031A138 00315D98 2C 00 00 61 */ cmpwi r0, 0x61 +/* 8031A13C 00315D9C 41 82 00 24 */ beq lbl_8031A160 +/* 8031A140 00315DA0 48 00 00 28 */ b lbl_8031A168 +lbl_8031A144: +/* 8031A144 00315DA4 2C 00 00 77 */ cmpwi r0, 0x77 +/* 8031A148 00315DA8 41 82 00 10 */ beq lbl_8031A158 +/* 8031A14C 00315DAC 48 00 00 1C */ b lbl_8031A168 +lbl_8031A150: +/* 8031A150 00315DB0 38 80 00 02 */ li r4, 2 +/* 8031A154 00315DB4 48 00 00 1C */ b lbl_8031A170 +lbl_8031A158: +/* 8031A158 00315DB8 38 80 00 01 */ li r4, 1 +/* 8031A15C 00315DBC 48 00 00 14 */ b lbl_8031A170 +lbl_8031A160: +/* 8031A160 00315DC0 38 80 00 04 */ li r4, 4 +/* 8031A164 00315DC4 48 00 00 0C */ b lbl_8031A170 +lbl_8031A168: +/* 8031A168 00315DC8 38 60 00 00 */ li r3, 0 +/* 8031A16C 00315DCC 4E 80 00 20 */ blr +lbl_8031A170: +/* 8031A170 00315DD0 88 03 00 01 */ lbz r0, 1(r3) +/* 8031A174 00315DD4 2C 00 00 62 */ cmpwi r0, 0x62 +/* 8031A178 00315DD8 40 82 00 08 */ bne lbl_8031A180 +/* 8031A17C 00315DDC 38 A0 00 02 */ li r5, 2 +lbl_8031A180: +/* 8031A180 00315DE0 7C 03 28 AE */ lbzx r0, r3, r5 +/* 8031A184 00315DE4 38 A5 00 01 */ addi r5, r5, 1 +/* 8031A188 00315DE8 7C 00 07 74 */ extsb r0, r0 +/* 8031A18C 00315DEC 2C 00 00 2B */ cmpwi r0, 0x2b +/* 8031A190 00315DF0 41 82 00 30 */ beq lbl_8031A1C0 +/* 8031A194 00315DF4 40 80 00 10 */ bge lbl_8031A1A4 +/* 8031A198 00315DF8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A19C 00315DFC 41 82 00 14 */ beq lbl_8031A1B0 +/* 8031A1A0 00315E00 48 00 00 18 */ b lbl_8031A1B8 +lbl_8031A1A4: +/* 8031A1A4 00315E04 2C 00 00 74 */ cmpwi r0, 0x74 +/* 8031A1A8 00315E08 41 82 00 10 */ beq lbl_8031A1B8 +/* 8031A1AC 00315E0C 48 00 00 0C */ b lbl_8031A1B8 +lbl_8031A1B0: +/* 8031A1B0 00315E10 7C 83 23 78 */ mr r3, r4 +/* 8031A1B4 00315E14 4E 80 00 20 */ blr +lbl_8031A1B8: +/* 8031A1B8 00315E18 38 60 00 00 */ li r3, 0 +/* 8031A1BC 00315E1C 4E 80 00 20 */ blr +lbl_8031A1C0: +/* 8031A1C0 00315E20 7C 03 28 AE */ lbzx r0, r3, r5 +/* 8031A1C4 00315E24 7C 00 07 75 */ extsb. r0, r0 +/* 8031A1C8 00315E28 41 82 00 08 */ beq lbl_8031A1D0 +/* 8031A1CC 00315E2C 48 00 00 0C */ b lbl_8031A1D8 +lbl_8031A1D0: +/* 8031A1D0 00315E30 60 83 00 08 */ ori r3, r4, 8 +/* 8031A1D4 00315E34 4E 80 00 20 */ blr +lbl_8031A1D8: +/* 8031A1D8 00315E38 38 60 00 00 */ li r3, 0 +/* 8031A1DC 00315E3C 4E 80 00 20 */ blr + +.global func_8031A1E0 +func_8031A1E0: +/* 8031A1E0 00315E40 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 8031A1E4 00315E44 40 86 00 0C */ bne cr1, lbl_8031A1F0 +/* 8031A1E8 00315E48 38 60 00 00 */ li r3, 0 +/* 8031A1EC 00315E4C 4E 80 00 20 */ blr +lbl_8031A1F0: +/* 8031A1F0 00315E50 2C 03 FF FF */ cmpwi r3, -1 +/* 8031A1F4 00315E54 40 82 00 0C */ bne lbl_8031A200 +/* 8031A1F8 00315E58 38 60 FF FF */ li r3, -1 +/* 8031A1FC 00315E5C 4E 80 00 20 */ blr +lbl_8031A200: +/* 8031A200 00315E60 40 85 00 20 */ ble cr1, lbl_8031A220 +/* 8031A204 00315E64 2C 03 00 A0 */ cmpwi r3, 0xa0 +/* 8031A208 00315E68 40 80 00 18 */ bge lbl_8031A220 +/* 8031A20C 00315E6C 3C 80 80 44 */ lis r4, lbl_804465E8@ha +/* 8031A210 00315E70 54 60 10 3A */ slwi r0, r3, 2 +/* 8031A214 00315E74 38 84 65 E8 */ addi r4, r4, lbl_804465E8@l +/* 8031A218 00315E78 7C 64 00 2E */ lwzx r3, r4, r0 +/* 8031A21C 00315E7C 4E 80 00 20 */ blr +lbl_8031A220: +/* 8031A220 00315E80 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 8031A224 00315E84 4C 82 00 20 */ bnelr +/* 8031A228 00315E88 38 60 00 05 */ li r3, 5 +/* 8031A22C 00315E8C 4E 80 00 20 */ blr + +.global func_8031A230 +func_8031A230: +/* 8031A230 00315E90 7C 03 00 D0 */ neg r0, r3 +/* 8031A234 00315E94 7C 00 1B 78 */ or r0, r0, r3 +/* 8031A238 00315E98 7C 03 FE 70 */ srawi r3, r0, 0x1f +/* 8031A23C 00315E9C 4E 80 00 20 */ blr + +.global func_8031A240 +func_8031A240: +/* 8031A240 00315EA0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031A244 00315EA4 41 82 00 0C */ beq lbl_8031A250 +/* 8031A248 00315EA8 38 60 00 00 */ li r3, 0 +/* 8031A24C 00315EAC 4E 80 00 20 */ blr +lbl_8031A250: +/* 8031A250 00315EB0 7C 83 23 78 */ mr r3, r4 +/* 8031A254 00315EB4 4E 80 00 20 */ blr + +.global func_8031A258 +func_8031A258: +/* 8031A258 00315EB8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A25C 00315EBC 7C 08 02 A6 */ mflr r0 +/* 8031A260 00315EC0 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A264 00315EC4 4B FF F9 8D */ bl func_80319BF0 +/* 8031A268 00315EC8 4B FF FF 79 */ bl func_8031A1E0 +/* 8031A26C 00315ECC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A270 00315ED0 7C 08 03 A6 */ mtlr r0 +/* 8031A274 00315ED4 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A278 00315ED8 4E 80 00 20 */ blr + +.global func_8031A27C +func_8031A27C: +/* 8031A27C 00315EDC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A280 00315EE0 7C 08 02 A6 */ mflr r0 +/* 8031A284 00315EE4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A288 00315EE8 4B FF AC 31 */ bl func_80314EB8 +/* 8031A28C 00315EEC 4B FF FF A5 */ bl func_8031A230 +/* 8031A290 00315EF0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A294 00315EF4 7C 08 03 A6 */ mtlr r0 +/* 8031A298 00315EF8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A29C 00315EFC 4E 80 00 20 */ blr + +.global func_8031A2A0 +func_8031A2A0: +/* 8031A2A0 00315F00 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A2A4 00315F04 7C 08 02 A6 */ mflr r0 +/* 8031A2A8 00315F08 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A2AC 00315F0C 4B FF B7 4D */ bl func_803159F8 +/* 8031A2B0 00315F10 4B FF FF 81 */ bl func_8031A230 +/* 8031A2B4 00315F14 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A2B8 00315F18 7C 08 03 A6 */ mtlr r0 +/* 8031A2BC 00315F1C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A2C0 00315F20 4E 80 00 20 */ blr + +.global func_8031A2C4 +func_8031A2C4: +/* 8031A2C4 00315F24 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031A2C8 00315F28 7C 08 02 A6 */ mflr r0 +/* 8031A2CC 00315F2C 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031A2D0 00315F30 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 8031A2D4 00315F34 93 C1 00 28 */ stw r30, 0x28(r1) +/* 8031A2D8 00315F38 7C 7E 1B 78 */ mr r30, r3 +/* 8031A2DC 00315F3C 7C 83 23 78 */ mr r3, r4 +/* 8031A2E0 00315F40 4B FF FE 31 */ bl func_8031A110 +/* 8031A2E4 00315F44 2C 03 00 00 */ cmpwi r3, 0 +/* 8031A2E8 00315F48 7C 7F 1B 78 */ mr r31, r3 +/* 8031A2EC 00315F4C 40 82 00 1C */ bne lbl_8031A308 +/* 8031A2F0 00315F50 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 8031A2F4 00315F54 38 00 00 0A */ li r0, 0xa +/* 8031A2F8 00315F58 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 8031A2FC 00315F5C 38 60 00 00 */ li r3, 0 +/* 8031A300 00315F60 90 04 00 1C */ stw r0, 0x1c(r4) +/* 8031A304 00315F64 48 00 00 44 */ b lbl_8031A348 +lbl_8031A308: +/* 8031A308 00315F68 7F C4 F3 78 */ mr r4, r30 +/* 8031A30C 00315F6C 38 61 00 10 */ addi r3, r1, 0x10 +/* 8031A310 00315F70 38 A0 00 01 */ li r5, 1 +/* 8031A314 00315F74 4B FE B1 09 */ bl VFiPFSTR_InitStr +/* 8031A318 00315F78 2C 03 00 00 */ cmpwi r3, 0 +/* 8031A31C 00315F7C 40 82 00 18 */ bne lbl_8031A334 +/* 8031A320 00315F80 7F E4 FB 78 */ mr r4, r31 +/* 8031A324 00315F84 38 61 00 10 */ addi r3, r1, 0x10 +/* 8031A328 00315F88 38 A1 00 08 */ addi r5, r1, 8 +/* 8031A32C 00315F8C 4B FF AA 59 */ bl func_80314D84 +/* 8031A330 00315F90 48 00 00 10 */ b lbl_8031A340 +lbl_8031A334: +/* 8031A334 00315F94 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha +/* 8031A338 00315F98 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l +/* 8031A33C 00315F9C 90 64 00 1C */ stw r3, 0x1c(r4) +lbl_8031A340: +/* 8031A340 00315FA0 80 81 00 08 */ lwz r4, 8(r1) +/* 8031A344 00315FA4 4B FF FE FD */ bl func_8031A240 +lbl_8031A348: +/* 8031A348 00315FA8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031A34C 00315FAC 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 8031A350 00315FB0 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 8031A354 00315FB4 7C 08 03 A6 */ mtlr r0 +/* 8031A358 00315FB8 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031A35C 00315FBC 4E 80 00 20 */ blr + +.global func_8031A360 +func_8031A360: +/* 8031A360 00315FC0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A364 00315FC4 7C 08 02 A6 */ mflr r0 +/* 8031A368 00315FC8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A36C 00315FCC 38 E1 00 08 */ addi r7, r1, 8 +/* 8031A370 00315FD0 4B FF AE A5 */ bl func_80315214 +/* 8031A374 00315FD4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A378 00315FD8 80 61 00 08 */ lwz r3, 8(r1) +/* 8031A37C 00315FDC 7C 08 03 A6 */ mtlr r0 +/* 8031A380 00315FE0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A384 00315FE4 4E 80 00 20 */ blr + +.global func_8031A388 +func_8031A388: +/* 8031A388 00315FE8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A38C 00315FEC 7C 08 02 A6 */ mflr r0 +/* 8031A390 00315FF0 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A394 00315FF4 4B FF B2 F1 */ bl func_80315684 +/* 8031A398 00315FF8 4B FF FE 99 */ bl func_8031A230 +/* 8031A39C 00315FFC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A3A0 00316000 7C 08 03 A6 */ mtlr r0 +/* 8031A3A4 00316004 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A3A8 00316008 4E 80 00 20 */ blr + +.global func_8031A3AC +func_8031A3AC: +/* 8031A3AC 0031600C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A3B0 00316010 7C 08 02 A6 */ mflr r0 +/* 8031A3B4 00316014 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A3B8 00316018 38 E1 00 08 */ addi r7, r1, 8 +/* 8031A3BC 0031601C 4B FF B0 71 */ bl func_8031542C +/* 8031A3C0 00316020 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A3C4 00316024 80 61 00 08 */ lwz r3, 8(r1) +/* 8031A3C8 00316028 7C 08 03 A6 */ mtlr r0 +/* 8031A3CC 0031602C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A3D0 00316030 4E 80 00 20 */ blr + +.global func_8031A3D4 +func_8031A3D4: +/* 8031A3D4 00316034 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A3D8 00316038 7C 08 02 A6 */ mflr r0 +/* 8031A3DC 0031603C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A3E0 00316040 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031A3E4 00316044 4B FF 84 2D */ bl func_80312810 +/* 8031A3E8 00316048 2C 03 00 00 */ cmpwi r3, 0 +/* 8031A3EC 0031604C 7C 7F 1B 78 */ mr r31, r3 +/* 8031A3F0 00316050 40 82 00 08 */ bne lbl_8031A3F8 +/* 8031A3F4 00316054 48 00 00 35 */ bl func_8031A428 +lbl_8031A3F8: +/* 8031A3F8 00316058 7F E3 FB 78 */ mr r3, r31 +/* 8031A3FC 0031605C 4B FF FE 35 */ bl func_8031A230 +/* 8031A400 00316060 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A404 00316064 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031A408 00316068 7C 08 03 A6 */ mtlr r0 +/* 8031A40C 0031606C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A410 00316070 4E 80 00 20 */ blr + +.global func_8031A414 +func_8031A414: +/* 8031A414 00316074 38 00 00 00 */ li r0, 0 +/* 8031A418 00316078 90 0D AF E0 */ stw r0, lbl_806402A0-_SDA_BASE_(r13) +/* 8031A41C 0031607C 4E 80 00 20 */ blr + +.global func_8031A420 +func_8031A420: +/* 8031A420 00316080 38 60 FF FF */ li r3, -1 +/* 8031A424 00316084 4E 80 00 20 */ blr + +.global func_8031A428 +func_8031A428: +/* 8031A428 00316088 4E 80 00 20 */ blr + +.global MWInitializeMutex +MWInitializeMutex: +/* 8031A42C 0031608C 38 00 00 00 */ li r0, 0 +/* 8031A430 00316090 90 03 00 00 */ stw r0, 0(r3) +/* 8031A434 00316094 38 60 00 00 */ li r3, 0 +/* 8031A438 00316098 4E 80 00 20 */ blr + +.global func_8031A43C +func_8031A43C: +/* 8031A43C 0031609C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A440 003160A0 7C 08 02 A6 */ mflr r0 +/* 8031A444 003160A4 38 A0 00 04 */ li r5, 4 +/* 8031A448 003160A8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A44C 003160AC 38 00 07 D0 */ li r0, 0x7d0 +/* 8031A450 003160B0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031A454 003160B4 3B E0 00 01 */ li r31, 1 +/* 8031A458 003160B8 93 C1 00 08 */ stw r30, 8(r1) +/* 8031A45C 003160BC 7C 9E 23 78 */ mr r30, r4 +/* 8031A460 003160C0 B0 03 00 00 */ sth r0, 0(r3) +/* 8031A464 003160C4 38 00 00 00 */ li r0, 0 +/* 8031A468 003160C8 B0 A3 00 02 */ sth r5, 2(r3) +/* 8031A46C 003160CC B3 E3 00 04 */ sth r31, 4(r3) +/* 8031A470 003160D0 B0 04 00 00 */ sth r0, 0(r4) +/* 8031A474 003160D4 B0 04 00 02 */ sth r0, 2(r4) +/* 8031A478 003160D8 B0 04 00 04 */ sth r0, 4(r4) +/* 8031A47C 003160DC B3 E4 00 06 */ sth r31, 6(r4) +/* 8031A480 003160E0 48 00 16 D1 */ bl func_8031BB50 +/* 8031A484 003160E4 B3 FE 00 06 */ sth r31, 6(r30) +/* 8031A488 003160E8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031A48C 003160EC 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031A490 003160F0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A494 003160F4 7C 08 03 A6 */ mtlr r0 +/* 8031A498 003160F8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A49C 003160FC 4E 80 00 20 */ blr + +.global func_8031A4A0 +func_8031A4A0: +/* 8031A4A0 00316100 80 6D AF E8 */ lwz r3, lbl_806402A8-_SDA_BASE_(r13) +/* 8031A4A4 00316104 7C 03 00 D0 */ neg r0, r3 +/* 8031A4A8 00316108 7C 00 1B 78 */ or r0, r0, r3 +/* 8031A4AC 0031610C 54 03 0F FE */ srwi r3, r0, 0x1f +/* 8031A4B0 00316110 4E 80 00 20 */ blr + +.global func_8031A4B4 +func_8031A4B4: +/* 8031A4B4 00316114 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A4B8 00316118 7C 08 02 A6 */ mflr r0 +/* 8031A4BC 0031611C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A4C0 00316120 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A4C4 00316124 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A4C8 00316128 40 82 00 18 */ bne lbl_8031A4E0 +/* 8031A4CC 0031612C 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A4D0 00316130 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A4D4 00316134 4B F5 54 3D */ bl OSInitMutex +/* 8031A4D8 00316138 38 00 00 01 */ li r0, 1 +/* 8031A4DC 0031613C 90 0D AF EC */ stw r0, lbl_806402AC-_SDA_BASE_(r13) +lbl_8031A4E0: +/* 8031A4E0 00316140 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A4E4 00316144 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A4E8 00316148 41 82 00 10 */ beq lbl_8031A4F8 +/* 8031A4EC 0031614C 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A4F0 00316150 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A4F4 00316154 4B F5 54 55 */ bl OSLockMutex +lbl_8031A4F8: +/* 8031A4F8 00316158 80 0D AF E8 */ lwz r0, lbl_806402A8-_SDA_BASE_(r13) +/* 8031A4FC 0031615C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A500 00316160 40 82 00 3C */ bne lbl_8031A53C +/* 8031A504 00316164 38 00 00 01 */ li r0, 1 +/* 8031A508 00316168 3C 60 80 5A */ lis r3, lbl_805A75A0@ha +/* 8031A50C 0031616C 3C 80 00 07 */ lis r4, 0x00068000@ha +/* 8031A510 00316170 90 0D AF E8 */ stw r0, lbl_806402A8-_SDA_BASE_(r13) +/* 8031A514 00316174 38 63 75 A0 */ addi r3, r3, lbl_805A75A0@l +/* 8031A518 00316178 38 84 80 00 */ addi r4, r4, 0x00068000@l +/* 8031A51C 0031617C 48 00 07 05 */ bl func_8031AC20 +/* 8031A520 00316180 38 60 00 00 */ li r3, 0 +/* 8031A524 00316184 38 80 00 00 */ li r4, 0 +/* 8031A528 00316188 4B FE E8 89 */ bl VFipdm_init_diskmanager +/* 8031A52C 0031618C 38 60 00 00 */ li r3, 0 +/* 8031A530 00316190 38 80 00 00 */ li r4, 0 +/* 8031A534 00316194 4B FF FE A1 */ bl func_8031A3D4 +/* 8031A538 00316198 48 00 13 25 */ bl func_8031B85C +lbl_8031A53C: +/* 8031A53C 0031619C 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A540 003161A0 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A544 003161A4 41 82 00 10 */ beq lbl_8031A554 +/* 8031A548 003161A8 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A54C 003161AC 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A550 003161B0 4B F5 54 D5 */ bl OSUnlockMutex +lbl_8031A554: +/* 8031A554 003161B4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A558 003161B8 7C 08 03 A6 */ mtlr r0 +/* 8031A55C 003161BC 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A560 003161C0 4E 80 00 20 */ blr + +.global func_8031A564 +func_8031A564: +/* 8031A564 003161C4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A568 003161C8 7C 08 02 A6 */ mflr r0 +/* 8031A56C 003161CC 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A570 003161D0 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A574 003161D4 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A578 003161D8 41 82 00 10 */ beq lbl_8031A588 +/* 8031A57C 003161DC 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A580 003161E0 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A584 003161E4 4B F5 53 C5 */ bl OSLockMutex +lbl_8031A588: +/* 8031A588 003161E8 80 0D AF E8 */ lwz r0, lbl_806402A8-_SDA_BASE_(r13) +/* 8031A58C 003161EC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A590 003161F0 41 82 00 10 */ beq lbl_8031A5A0 +/* 8031A594 003161F4 48 00 08 11 */ bl func_8031ADA4 +/* 8031A598 003161F8 38 00 00 00 */ li r0, 0 +/* 8031A59C 003161FC 90 0D AF E8 */ stw r0, lbl_806402A8-_SDA_BASE_(r13) +lbl_8031A5A0: +/* 8031A5A0 00316200 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A5A4 00316204 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A5A8 00316208 41 82 00 10 */ beq lbl_8031A5B8 +/* 8031A5AC 0031620C 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A5B0 00316210 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A5B4 00316214 4B F5 54 71 */ bl OSUnlockMutex +lbl_8031A5B8: +/* 8031A5B8 00316218 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A5BC 0031621C 7C 08 03 A6 */ mtlr r0 +/* 8031A5C0 00316220 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A5C4 00316224 4E 80 00 20 */ blr + +.global func_8031A5C8 +func_8031A5C8: +/* 8031A5C8 00316228 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031A5CC 0031622C 7C 08 02 A6 */ mflr r0 +/* 8031A5D0 00316230 38 A0 00 08 */ li r5, 8 +/* 8031A5D4 00316234 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031A5D8 00316238 38 00 FF FF */ li r0, -1 +/* 8031A5DC 0031623C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031A5E0 00316240 7C 9F 23 78 */ mr r31, r4 +/* 8031A5E4 00316244 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031A5E8 00316248 3B C0 00 00 */ li r30, 0 +/* 8031A5EC 0031624C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031A5F0 00316250 7C 9D 23 78 */ mr r29, r4 +/* 8031A5F4 00316254 38 80 00 00 */ li r4, 0 +/* 8031A5F8 00316258 93 81 00 10 */ stw r28, 0x10(r1) +/* 8031A5FC 0031625C 7C 7C 1B 78 */ mr r28, r3 +/* 8031A600 00316260 90 03 00 00 */ stw r0, 0(r3) +/* 8031A604 00316264 38 61 00 08 */ addi r3, r1, 8 +/* 8031A608 00316268 4B FE A9 CD */ bl VFipf_memset +/* 8031A60C 0031626C 38 61 00 08 */ addi r3, r1, 8 +/* 8031A610 00316270 48 00 00 64 */ b lbl_8031A674 +lbl_8031A614: +/* 8031A614 00316274 7C 80 07 74 */ extsb r0, r4 +/* 8031A618 00316278 2C 00 00 5C */ cmpwi r0, 0x5c +/* 8031A61C 0031627C 41 82 00 64 */ beq lbl_8031A680 +/* 8031A620 00316280 2C 00 00 2F */ cmpwi r0, 0x2f +/* 8031A624 00316284 41 82 00 5C */ beq lbl_8031A680 +/* 8031A628 00316288 2C 00 00 3A */ cmpwi r0, 0x3a +/* 8031A62C 0031628C 40 82 00 30 */ bne lbl_8031A65C +/* 8031A630 00316290 38 61 00 08 */ addi r3, r1, 8 +/* 8031A634 00316294 48 00 14 BD */ bl func_8031BAF0 +/* 8031A638 00316298 2C 03 FF FF */ cmpwi r3, -1 +/* 8031A63C 0031629C 90 7C 00 00 */ stw r3, 0(r28) +/* 8031A640 003162A0 41 82 00 0C */ beq lbl_8031A64C +/* 8031A644 003162A4 2C 1E 00 07 */ cmpwi r30, 7 +/* 8031A648 003162A8 40 81 00 0C */ ble lbl_8031A654 +lbl_8031A64C: +/* 8031A64C 003162AC 3B A0 00 00 */ li r29, 0 +/* 8031A650 003162B0 48 00 00 30 */ b lbl_8031A680 +lbl_8031A654: +/* 8031A654 003162B4 3B BF 00 01 */ addi r29, r31, 1 +/* 8031A658 003162B8 48 00 00 28 */ b lbl_8031A680 +lbl_8031A65C: +/* 8031A65C 003162BC 2C 1E 00 07 */ cmpwi r30, 7 +/* 8031A660 003162C0 40 80 00 08 */ bge lbl_8031A668 +/* 8031A664 003162C4 98 83 00 00 */ stb r4, 0(r3) +lbl_8031A668: +/* 8031A668 003162C8 3B FF 00 01 */ addi r31, r31, 1 +/* 8031A66C 003162CC 38 63 00 01 */ addi r3, r3, 1 +/* 8031A670 003162D0 3B DE 00 01 */ addi r30, r30, 1 +lbl_8031A674: +/* 8031A674 003162D4 88 9F 00 00 */ lbz r4, 0(r31) +/* 8031A678 003162D8 7C 80 07 75 */ extsb. r0, r4 +/* 8031A67C 003162DC 40 82 FF 98 */ bne lbl_8031A614 +lbl_8031A680: +/* 8031A680 003162E0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031A684 003162E4 7F A3 EB 78 */ mr r3, r29 +/* 8031A688 003162E8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031A68C 003162EC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031A690 003162F0 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8031A694 003162F4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031A698 003162F8 7C 08 03 A6 */ mtlr r0 +/* 8031A69C 003162FC 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031A6A0 00316300 4E 80 00 20 */ blr + +.global func_8031A6A4 +func_8031A6A4: +/* 8031A6A4 00316304 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031A6A8 00316308 7C 08 02 A6 */ mflr r0 +/* 8031A6AC 0031630C 38 A0 FF FF */ li r5, -1 +/* 8031A6B0 00316310 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031A6B4 00316314 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031A6B8 00316318 7C 9F 23 78 */ mr r31, r4 +/* 8031A6BC 0031631C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031A6C0 00316320 7C 7E 1B 78 */ mr r30, r3 +/* 8031A6C4 00316324 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A6C8 00316328 90 A1 00 08 */ stw r5, 8(r1) +/* 8031A6CC 0031632C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A6D0 00316330 41 82 00 10 */ beq lbl_8031A6E0 +/* 8031A6D4 00316334 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A6D8 00316338 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A6DC 0031633C 4B F5 52 6D */ bl OSLockMutex +lbl_8031A6E0: +/* 8031A6E0 00316340 7F C4 F3 78 */ mr r4, r30 +/* 8031A6E4 00316344 38 61 00 08 */ addi r3, r1, 8 +/* 8031A6E8 00316348 4B FF FE E1 */ bl func_8031A5C8 +/* 8031A6EC 0031634C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031A6F0 00316350 7C 64 1B 78 */ mr r4, r3 +/* 8031A6F4 00316354 40 82 00 30 */ bne lbl_8031A724 +/* 8031A6F8 00316358 3C 60 00 01 */ lis r3, 0x0000B003@ha +/* 8031A6FC 0031635C 38 63 B0 03 */ addi r3, r3, 0x0000B003@l +/* 8031A700 00316360 48 00 03 6D */ bl func_8031AA6C +/* 8031A704 00316364 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A708 00316368 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A70C 0031636C 41 82 00 10 */ beq lbl_8031A71C +/* 8031A710 00316370 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A714 00316374 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A718 00316378 4B F5 53 0D */ bl OSUnlockMutex +lbl_8031A71C: +/* 8031A71C 0031637C 38 60 00 00 */ li r3, 0 +/* 8031A720 00316380 48 00 00 48 */ b lbl_8031A768 +lbl_8031A724: +/* 8031A724 00316384 80 01 00 08 */ lwz r0, 8(r1) +/* 8031A728 00316388 2C 00 FF FF */ cmpwi r0, -1 +/* 8031A72C 0031638C 41 82 00 14 */ beq lbl_8031A740 +/* 8031A730 00316390 7C 03 03 78 */ mr r3, r0 +/* 8031A734 00316394 7F E5 FB 78 */ mr r5, r31 +/* 8031A738 00316398 48 00 08 E5 */ bl func_8031B01C +/* 8031A73C 0031639C 48 00 00 0C */ b lbl_8031A748 +lbl_8031A740: +/* 8031A740 003163A0 7F E4 FB 78 */ mr r4, r31 +/* 8031A744 003163A4 48 00 07 ED */ bl func_8031AF30 +lbl_8031A748: +/* 8031A748 003163A8 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A74C 003163AC 7C 7F 1B 78 */ mr r31, r3 +/* 8031A750 003163B0 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A754 003163B4 41 82 00 10 */ beq lbl_8031A764 +/* 8031A758 003163B8 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A75C 003163BC 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A760 003163C0 4B F5 52 C5 */ bl OSUnlockMutex +lbl_8031A764: +/* 8031A764 003163C4 7F E3 FB 78 */ mr r3, r31 +lbl_8031A768: +/* 8031A768 003163C8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031A76C 003163CC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031A770 003163D0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031A774 003163D4 7C 08 03 A6 */ mtlr r0 +/* 8031A778 003163D8 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031A77C 003163DC 4E 80 00 20 */ blr + +.global func_8031A780 +func_8031A780: +/* 8031A780 003163E0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A784 003163E4 7C 08 02 A6 */ mflr r0 +/* 8031A788 003163E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A78C 003163EC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031A790 003163F0 7C 7F 1B 78 */ mr r31, r3 +/* 8031A794 003163F4 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A798 003163F8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A79C 003163FC 41 82 00 10 */ beq lbl_8031A7AC +/* 8031A7A0 00316400 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A7A4 00316404 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A7A8 00316408 4B F5 51 A1 */ bl OSLockMutex +lbl_8031A7AC: +/* 8031A7AC 0031640C 7F E3 FB 78 */ mr r3, r31 +/* 8031A7B0 00316410 48 00 09 A9 */ bl func_8031B158 +/* 8031A7B4 00316414 7C 7F 1B 78 */ mr r31, r3 +/* 8031A7B8 00316418 48 00 02 B5 */ bl func_8031AA6C +/* 8031A7BC 0031641C 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A7C0 00316420 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A7C4 00316424 41 82 00 10 */ beq lbl_8031A7D4 +/* 8031A7C8 00316428 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A7CC 0031642C 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A7D0 00316430 4B F5 52 55 */ bl OSUnlockMutex +lbl_8031A7D4: +/* 8031A7D4 00316434 7F E3 FB 78 */ mr r3, r31 +/* 8031A7D8 00316438 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031A7DC 0031643C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A7E0 00316440 7C 08 03 A6 */ mtlr r0 +/* 8031A7E4 00316444 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A7E8 00316448 4E 80 00 20 */ blr + +.global func_8031A7EC +func_8031A7EC: +/* 8031A7EC 0031644C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031A7F0 00316450 7C 08 02 A6 */ mflr r0 +/* 8031A7F4 00316454 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031A7F8 00316458 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031A7FC 0031645C 7C BF 2B 78 */ mr r31, r5 +/* 8031A800 00316460 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031A804 00316464 7C 9E 23 78 */ mr r30, r4 +/* 8031A808 00316468 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031A80C 0031646C 7C 7D 1B 78 */ mr r29, r3 +/* 8031A810 00316470 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A814 00316474 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A818 00316478 41 82 00 10 */ beq lbl_8031A828 +/* 8031A81C 0031647C 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A820 00316480 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A824 00316484 4B F5 51 25 */ bl OSLockMutex +lbl_8031A828: +/* 8031A828 00316488 7F A3 EB 78 */ mr r3, r29 +/* 8031A82C 0031648C 7F C4 F3 78 */ mr r4, r30 +/* 8031A830 00316490 7F E5 FB 78 */ mr r5, r31 +/* 8031A834 00316494 48 00 0A 0D */ bl func_8031B240 +/* 8031A838 00316498 7C 7F 1B 78 */ mr r31, r3 +/* 8031A83C 0031649C 48 00 02 31 */ bl func_8031AA6C +/* 8031A840 003164A0 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A844 003164A4 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A848 003164A8 41 82 00 10 */ beq lbl_8031A858 +/* 8031A84C 003164AC 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A850 003164B0 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A854 003164B4 4B F5 51 D1 */ bl OSUnlockMutex +lbl_8031A858: +/* 8031A858 003164B8 7F E3 FB 78 */ mr r3, r31 +/* 8031A85C 003164BC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031A860 003164C0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031A864 003164C4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031A868 003164C8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031A86C 003164CC 7C 08 03 A6 */ mtlr r0 +/* 8031A870 003164D0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031A874 003164D4 4E 80 00 20 */ blr + +.global func_8031A878 +func_8031A878: +/* 8031A878 003164D8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031A87C 003164DC 7C 08 02 A6 */ mflr r0 +/* 8031A880 003164E0 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031A884 003164E4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031A888 003164E8 7C DF 33 78 */ mr r31, r6 +/* 8031A88C 003164EC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031A890 003164F0 7C BE 2B 78 */ mr r30, r5 +/* 8031A894 003164F4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031A898 003164F8 7C 9D 23 78 */ mr r29, r4 +/* 8031A89C 003164FC 93 81 00 10 */ stw r28, 0x10(r1) +/* 8031A8A0 00316500 7C 7C 1B 78 */ mr r28, r3 +/* 8031A8A4 00316504 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A8A8 00316508 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A8AC 0031650C 41 82 00 10 */ beq lbl_8031A8BC +/* 8031A8B0 00316510 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A8B4 00316514 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A8B8 00316518 4B F5 50 91 */ bl OSLockMutex +lbl_8031A8BC: +/* 8031A8BC 0031651C 7F E3 FB 78 */ mr r3, r31 +/* 8031A8C0 00316520 7F A4 EB 78 */ mr r4, r29 +/* 8031A8C4 00316524 7F C5 F3 78 */ mr r5, r30 +/* 8031A8C8 00316528 7F 86 E3 78 */ mr r6, r28 +/* 8031A8CC 0031652C 48 00 0A 7D */ bl func_8031B348 +/* 8031A8D0 00316530 7C 7F 1B 78 */ mr r31, r3 +/* 8031A8D4 00316534 48 00 01 99 */ bl func_8031AA6C +/* 8031A8D8 00316538 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A8DC 0031653C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A8E0 00316540 41 82 00 10 */ beq lbl_8031A8F0 +/* 8031A8E4 00316544 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A8E8 00316548 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A8EC 0031654C 4B F5 51 39 */ bl OSUnlockMutex +lbl_8031A8F0: +/* 8031A8F0 00316550 7F E3 FB 78 */ mr r3, r31 +/* 8031A8F4 00316554 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031A8F8 00316558 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031A8FC 0031655C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031A900 00316560 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8031A904 00316564 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031A908 00316568 7C 08 03 A6 */ mtlr r0 +/* 8031A90C 0031656C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031A910 00316570 4E 80 00 20 */ blr + +.global func_8031A914 +func_8031A914: +/* 8031A914 00316574 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031A918 00316578 7C 08 02 A6 */ mflr r0 +/* 8031A91C 0031657C 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031A920 00316580 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031A924 00316584 7C BF 2B 78 */ mr r31, r5 +/* 8031A928 00316588 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031A92C 0031658C 7C 9E 23 78 */ mr r30, r4 +/* 8031A930 00316590 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031A934 00316594 7C 7D 1B 78 */ mr r29, r3 +/* 8031A938 00316598 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A93C 0031659C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A940 003165A0 41 82 00 10 */ beq lbl_8031A950 +/* 8031A944 003165A4 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A948 003165A8 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A94C 003165AC 4B F5 4F FD */ bl OSLockMutex +lbl_8031A950: +/* 8031A950 003165B0 7F C3 F3 78 */ mr r3, r30 +/* 8031A954 003165B4 7F E4 FB 78 */ mr r4, r31 +/* 8031A958 003165B8 7F A5 EB 78 */ mr r5, r29 +/* 8031A95C 003165BC 48 00 0B 65 */ bl func_8031B4C0 +/* 8031A960 003165C0 7C 7F 1B 78 */ mr r31, r3 +/* 8031A964 003165C4 48 00 01 09 */ bl func_8031AA6C +/* 8031A968 003165C8 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A96C 003165CC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031A970 003165D0 41 82 00 10 */ beq lbl_8031A980 +/* 8031A974 003165D4 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031A978 003165D8 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031A97C 003165DC 4B F5 50 A9 */ bl OSUnlockMutex +lbl_8031A980: +/* 8031A980 003165E0 7F E3 FB 78 */ mr r3, r31 +/* 8031A984 003165E4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031A988 003165E8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031A98C 003165EC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031A990 003165F0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031A994 003165F4 7C 08 03 A6 */ mtlr r0 +/* 8031A998 003165F8 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031A99C 003165FC 4E 80 00 20 */ blr + +.global func_8031A9A0 +func_8031A9A0: +/* 8031A9A0 00316600 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A9A4 00316604 7C 08 02 A6 */ mflr r0 +/* 8031A9A8 00316608 7C 64 1B 78 */ mr r4, r3 +/* 8031A9AC 0031660C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A9B0 00316610 38 00 FF FF */ li r0, -1 +/* 8031A9B4 00316614 38 61 00 08 */ addi r3, r1, 8 +/* 8031A9B8 00316618 90 01 00 08 */ stw r0, 8(r1) +/* 8031A9BC 0031661C 48 00 0C 11 */ bl func_8031B5CC +/* 8031A9C0 00316620 2C 03 00 00 */ cmpwi r3, 0 +/* 8031A9C4 00316624 41 82 00 08 */ beq lbl_8031A9CC +/* 8031A9C8 00316628 48 00 00 A5 */ bl func_8031AA6C +lbl_8031A9CC: +/* 8031A9CC 0031662C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031A9D0 00316630 80 61 00 08 */ lwz r3, 8(r1) +/* 8031A9D4 00316634 7C 08 03 A6 */ mtlr r0 +/* 8031A9D8 00316638 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031A9DC 0031663C 4E 80 00 20 */ blr + +.global func_8031A9E0 +func_8031A9E0: +/* 8031A9E0 00316640 48 00 0C 54 */ b lbl_8031B634 + +.global func_8031A9E4 +func_8031A9E4: +/* 8031A9E4 00316644 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031A9E8 00316648 7C 08 02 A6 */ mflr r0 +/* 8031A9EC 0031664C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031A9F0 00316650 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031A9F4 00316654 7C 7F 1B 78 */ mr r31, r3 +/* 8031A9F8 00316658 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031A9FC 0031665C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AA00 00316660 41 82 00 10 */ beq lbl_8031AA10 +/* 8031AA04 00316664 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031AA08 00316668 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031AA0C 0031666C 4B F5 4F 3D */ bl OSLockMutex +lbl_8031AA10: +/* 8031AA10 00316670 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031AA14 00316674 41 82 00 18 */ beq lbl_8031AA2C +/* 8031AA18 00316678 7F E3 FB 78 */ mr r3, r31 +/* 8031AA1C 0031667C 48 00 10 D5 */ bl func_8031BAF0 +/* 8031AA20 00316680 48 00 0C C9 */ bl func_8031B6E8 +/* 8031AA24 00316684 7C 7F 1B 78 */ mr r31, r3 +/* 8031AA28 00316688 48 00 00 0C */ b lbl_8031AA34 +lbl_8031AA2C: +/* 8031AA2C 0031668C 48 00 0C 11 */ bl func_8031B63C +/* 8031AA30 00316690 7C 7F 1B 78 */ mr r31, r3 +lbl_8031AA34: +/* 8031AA34 00316694 7F E3 FB 78 */ mr r3, r31 +/* 8031AA38 00316698 48 00 00 35 */ bl func_8031AA6C +/* 8031AA3C 0031669C 80 0D AF EC */ lwz r0, lbl_806402AC-_SDA_BASE_(r13) +/* 8031AA40 003166A0 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AA44 003166A4 41 82 00 10 */ beq lbl_8031AA54 +/* 8031AA48 003166A8 3C 60 80 5A */ lis r3, lbl_805A7580@ha +/* 8031AA4C 003166AC 38 63 75 80 */ addi r3, r3, lbl_805A7580@l +/* 8031AA50 003166B0 4B F5 4F D5 */ bl OSUnlockMutex +lbl_8031AA54: +/* 8031AA54 003166B4 7F E3 FB 78 */ mr r3, r31 +/* 8031AA58 003166B8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031AA5C 003166BC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031AA60 003166C0 7C 08 03 A6 */ mtlr r0 +/* 8031AA64 003166C4 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031AA68 003166C8 4E 80 00 20 */ blr + +.global func_8031AA6C +func_8031AA6C: +/* 8031AA6C 003166CC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AA70 003166D0 4D 82 00 20 */ beqlr +/* 8031AA74 003166D4 90 6D AF F4 */ stw r3, lbl_806402B4-_SDA_BASE_(r13) +/* 8031AA78 003166D8 4E 80 00 20 */ blr + +.global func_8031AA7C +func_8031AA7C: +/* 8031AA7C 003166DC 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AA80 003166E0 7C 03 00 40 */ cmplw r3, r0 +/* 8031AA84 003166E4 40 80 00 1C */ bge lbl_8031AAA0 +/* 8031AA88 003166E8 80 8D B0 00 */ lwz r4, lbl_806402C0-_SDA_BASE_(r13) +/* 8031AA8C 003166EC 2C 04 00 00 */ cmpwi r4, 0 +/* 8031AA90 003166F0 41 82 00 10 */ beq lbl_8031AAA0 +/* 8031AA94 003166F4 1C 03 01 40 */ mulli r0, r3, 0x140 +/* 8031AA98 003166F8 7C 64 02 14 */ add r3, r4, r0 +/* 8031AA9C 003166FC 4E 80 00 20 */ blr +lbl_8031AAA0: +/* 8031AAA0 00316700 38 60 00 00 */ li r3, 0 +/* 8031AAA4 00316704 4E 80 00 20 */ blr + +.global func_8031AAA8 +func_8031AAA8: +/* 8031AAA8 00316708 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AAAC 0031670C 41 82 00 54 */ beq lbl_8031AB00 +/* 8031AAB0 00316710 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AAB4 00316714 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AAB8 00316718 41 82 00 14 */ beq lbl_8031AACC +/* 8031AABC 0031671C 80 8D B0 00 */ lwz r4, lbl_806402C0-_SDA_BASE_(r13) +/* 8031AAC0 00316720 2C 04 00 00 */ cmpwi r4, 0 +/* 8031AAC4 00316724 41 82 00 08 */ beq lbl_8031AACC +/* 8031AAC8 00316728 48 00 00 08 */ b lbl_8031AAD0 +lbl_8031AACC: +/* 8031AACC 0031672C 38 80 00 00 */ li r4, 0 +lbl_8031AAD0: +/* 8031AAD0 00316730 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031AAD4 00316734 38 A0 00 00 */ li r5, 0 +/* 8031AAD8 00316738 7C 04 02 14 */ add r0, r4, r0 +/* 8031AADC 0031673C 48 00 00 1C */ b lbl_8031AAF8 +lbl_8031AAE0: +/* 8031AAE0 00316740 7C 03 20 40 */ cmplw r3, r4 +/* 8031AAE4 00316744 40 82 00 0C */ bne lbl_8031AAF0 +/* 8031AAE8 00316748 7C A3 2B 78 */ mr r3, r5 +/* 8031AAEC 0031674C 4E 80 00 20 */ blr +lbl_8031AAF0: +/* 8031AAF0 00316750 38 84 01 40 */ addi r4, r4, 0x140 +/* 8031AAF4 00316754 38 A5 00 01 */ addi r5, r5, 1 +lbl_8031AAF8: +/* 8031AAF8 00316758 7C 04 00 40 */ cmplw r4, r0 +/* 8031AAFC 0031675C 40 82 FF E4 */ bne lbl_8031AAE0 +lbl_8031AB00: +/* 8031AB00 00316760 38 60 FF FF */ li r3, -1 +/* 8031AB04 00316764 4E 80 00 20 */ blr + +.global func_8031AB08 +func_8031AB08: +/* 8031AB08 00316768 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AB0C 0031676C 41 82 00 68 */ beq lbl_8031AB74 +/* 8031AB10 00316770 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AB14 00316774 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AB18 00316778 41 82 00 14 */ beq lbl_8031AB2C +/* 8031AB1C 0031677C 80 AD B0 00 */ lwz r5, lbl_806402C0-_SDA_BASE_(r13) +/* 8031AB20 00316780 2C 05 00 00 */ cmpwi r5, 0 +/* 8031AB24 00316784 41 82 00 08 */ beq lbl_8031AB2C +/* 8031AB28 00316788 48 00 00 08 */ b lbl_8031AB30 +lbl_8031AB2C: +/* 8031AB2C 0031678C 38 A0 00 00 */ li r5, 0 +lbl_8031AB30: +/* 8031AB30 00316790 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031AB34 00316794 7C C5 02 14 */ add r6, r5, r0 +/* 8031AB38 00316798 48 00 00 34 */ b lbl_8031AB6C +lbl_8031AB3C: +/* 8031AB3C 0031679C 80 05 00 00 */ lwz r0, 0(r5) +/* 8031AB40 003167A0 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AB44 003167A4 41 82 00 24 */ beq lbl_8031AB68 +/* 8031AB48 003167A8 88 85 00 14 */ lbz r4, 0x14(r5) +/* 8031AB4C 003167AC 88 03 18 7A */ lbz r0, 0x187a(r3) +/* 8031AB50 003167B0 7C 84 07 74 */ extsb r4, r4 +/* 8031AB54 003167B4 7C 00 07 74 */ extsb r0, r0 +/* 8031AB58 003167B8 7C 04 00 00 */ cmpw r4, r0 +/* 8031AB5C 003167BC 40 82 00 0C */ bne lbl_8031AB68 +/* 8031AB60 003167C0 7C A3 2B 78 */ mr r3, r5 +/* 8031AB64 003167C4 4E 80 00 20 */ blr +lbl_8031AB68: +/* 8031AB68 003167C8 38 A5 01 40 */ addi r5, r5, 0x140 +lbl_8031AB6C: +/* 8031AB6C 003167CC 7C 05 30 40 */ cmplw r5, r6 +/* 8031AB70 003167D0 40 82 FF CC */ bne lbl_8031AB3C +lbl_8031AB74: +/* 8031AB74 003167D4 38 60 00 00 */ li r3, 0 +/* 8031AB78 003167D8 4E 80 00 20 */ blr + +.global func_8031AB7C +func_8031AB7C: +/* 8031AB7C 003167DC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AB80 003167E0 38 80 FF FF */ li r4, -1 +/* 8031AB84 003167E4 41 82 00 54 */ beq lbl_8031ABD8 +/* 8031AB88 003167E8 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AB8C 003167EC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AB90 003167F0 41 82 00 14 */ beq lbl_8031ABA4 +/* 8031AB94 003167F4 80 AD B0 00 */ lwz r5, lbl_806402C0-_SDA_BASE_(r13) +/* 8031AB98 003167F8 2C 05 00 00 */ cmpwi r5, 0 +/* 8031AB9C 003167FC 41 82 00 08 */ beq lbl_8031ABA4 +/* 8031ABA0 00316800 48 00 00 08 */ b lbl_8031ABA8 +lbl_8031ABA4: +/* 8031ABA4 00316804 38 A0 00 00 */ li r5, 0 +lbl_8031ABA8: +/* 8031ABA8 00316808 38 C0 00 00 */ li r6, 0 +/* 8031ABAC 0031680C 7C 09 03 A6 */ mtctr r0 +/* 8031ABB0 00316810 28 00 00 00 */ cmplwi r0, 0 +/* 8031ABB4 00316814 40 81 00 24 */ ble lbl_8031ABD8 +lbl_8031ABB8: +/* 8031ABB8 00316818 80 05 00 08 */ lwz r0, 8(r5) +/* 8031ABBC 0031681C 7C 03 00 40 */ cmplw r3, r0 +/* 8031ABC0 00316820 40 82 00 0C */ bne lbl_8031ABCC +/* 8031ABC4 00316824 7C C4 33 78 */ mr r4, r6 +/* 8031ABC8 00316828 48 00 00 10 */ b lbl_8031ABD8 +lbl_8031ABCC: +/* 8031ABCC 0031682C 38 A5 01 40 */ addi r5, r5, 0x140 +/* 8031ABD0 00316830 38 C6 00 01 */ addi r6, r6, 1 +/* 8031ABD4 00316834 42 00 FF E4 */ bdnz lbl_8031ABB8 +lbl_8031ABD8: +/* 8031ABD8 00316838 7C 83 23 78 */ mr r3, r4 +/* 8031ABDC 0031683C 4E 80 00 20 */ blr + +.global func_8031ABE0 +func_8031ABE0: +/* 8031ABE0 00316840 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031ABE4 00316844 7C 03 00 40 */ cmplw r3, r0 +/* 8031ABE8 00316848 40 80 00 1C */ bge lbl_8031AC04 +/* 8031ABEC 0031684C 80 8D B0 00 */ lwz r4, lbl_806402C0-_SDA_BASE_(r13) +/* 8031ABF0 00316850 2C 04 00 00 */ cmpwi r4, 0 +/* 8031ABF4 00316854 41 82 00 10 */ beq lbl_8031AC04 +/* 8031ABF8 00316858 1C 03 01 40 */ mulli r0, r3, 0x140 +/* 8031ABFC 0031685C 7C 64 02 14 */ add r3, r4, r0 +/* 8031AC00 00316860 48 00 00 08 */ b lbl_8031AC08 +lbl_8031AC04: +/* 8031AC04 00316864 38 60 00 00 */ li r3, 0 +lbl_8031AC08: +/* 8031AC08 00316868 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AC0C 0031686C 41 82 00 0C */ beq lbl_8031AC18 +/* 8031AC10 00316870 38 63 00 04 */ addi r3, r3, 4 +/* 8031AC14 00316874 4E 80 00 20 */ blr +lbl_8031AC18: +/* 8031AC18 00316878 38 60 00 00 */ li r3, 0 +/* 8031AC1C 0031687C 4E 80 00 20 */ blr + +.global func_8031AC20 +func_8031AC20: +/* 8031AC20 00316880 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031AC24 00316884 7C 08 02 A6 */ mflr r0 +/* 8031AC28 00316888 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AC2C 0031688C 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031AC30 00316890 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031AC34 00316894 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031AC38 00316898 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031AC3C 0031689C 54 9D 93 BE */ srwi r29, r4, 0xe +/* 8031AC40 003168A0 41 82 00 24 */ beq lbl_8031AC64 +/* 8031AC44 003168A4 2C 04 00 00 */ cmpwi r4, 0 +/* 8031AC48 003168A8 41 82 00 1C */ beq lbl_8031AC64 +/* 8031AC4C 003168AC 80 0D AF F8 */ lwz r0, lbl_806402B8-_SDA_BASE_(r13) +/* 8031AC50 003168B0 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AC54 003168B4 40 82 00 10 */ bne lbl_8031AC64 +/* 8031AC58 003168B8 38 A0 00 00 */ li r5, 0 +/* 8031AC5C 003168BC 4B F7 C1 ED */ bl MEMCreateExpHeapEx +/* 8031AC60 003168C0 90 6D AF F8 */ stw r3, lbl_806402B8-_SDA_BASE_(r13) +lbl_8031AC64: +/* 8031AC64 003168C4 28 1D 00 1A */ cmplwi r29, 0x1a +/* 8031AC68 003168C8 38 80 00 1A */ li r4, 0x1a +/* 8031AC6C 003168CC 41 81 00 08 */ bgt lbl_8031AC74 +/* 8031AC70 003168D0 7F A4 EB 78 */ mr r4, r29 +lbl_8031AC74: +/* 8031AC74 003168D4 80 0D B0 00 */ lwz r0, lbl_806402C0-_SDA_BASE_(r13) +/* 8031AC78 003168D8 90 8D AF F0 */ stw r4, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AC7C 003168DC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AC80 003168E0 40 82 00 28 */ bne lbl_8031ACA8 +/* 8031AC84 003168E4 80 6D AF F8 */ lwz r3, lbl_806402B8-_SDA_BASE_(r13) +/* 8031AC88 003168E8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AC8C 003168EC 40 82 00 0C */ bne lbl_8031AC98 +/* 8031AC90 003168F0 38 60 00 00 */ li r3, 0 +/* 8031AC94 003168F4 48 00 00 10 */ b lbl_8031ACA4 +lbl_8031AC98: +/* 8031AC98 003168F8 1C 84 01 40 */ mulli r4, r4, 0x140 +/* 8031AC9C 003168FC 38 A0 00 20 */ li r5, 0x20 +/* 8031ACA0 00316900 4B F7 C2 89 */ bl MEMAllocFromExpHeapEx +lbl_8031ACA4: +/* 8031ACA4 00316904 90 6D B0 00 */ stw r3, lbl_806402C0-_SDA_BASE_(r13) +lbl_8031ACA8: +/* 8031ACA8 00316908 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031ACAC 0031690C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031ACB0 00316910 41 82 00 14 */ beq lbl_8031ACC4 +/* 8031ACB4 00316914 83 AD B0 00 */ lwz r29, lbl_806402C0-_SDA_BASE_(r13) +/* 8031ACB8 00316918 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031ACBC 0031691C 41 82 00 08 */ beq lbl_8031ACC4 +/* 8031ACC0 00316920 48 00 00 08 */ b lbl_8031ACC8 +lbl_8031ACC4: +/* 8031ACC4 00316924 3B A0 00 00 */ li r29, 0 +lbl_8031ACC8: +/* 8031ACC8 00316928 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031ACCC 0031692C 3B E0 00 00 */ li r31, 0 +/* 8031ACD0 00316930 7F DD 02 14 */ add r30, r29, r0 +/* 8031ACD4 00316934 48 00 00 30 */ b lbl_8031AD04 +lbl_8031ACD8: +/* 8031ACD8 00316938 7F A3 EB 78 */ mr r3, r29 +/* 8031ACDC 0031693C 38 80 00 00 */ li r4, 0 +/* 8031ACE0 00316940 38 A0 01 40 */ li r5, 0x140 +/* 8031ACE4 00316944 4B FE A2 F1 */ bl VFipf_memset +/* 8031ACE8 00316948 34 1D 00 1C */ addic. r0, r29, 0x1c +/* 8031ACEC 0031694C 41 82 00 14 */ beq lbl_8031AD00 +/* 8031ACF0 00316950 93 FD 00 1C */ stw r31, 0x1c(r29) +/* 8031ACF4 00316954 93 FD 00 20 */ stw r31, 0x20(r29) +/* 8031ACF8 00316958 93 FD 00 24 */ stw r31, 0x24(r29) +/* 8031ACFC 0031695C 93 FD 00 28 */ stw r31, 0x28(r29) +lbl_8031AD00: +/* 8031AD00 00316960 3B BD 01 40 */ addi r29, r29, 0x140 +lbl_8031AD04: +/* 8031AD04 00316964 7C 1D F0 40 */ cmplw r29, r30 +/* 8031AD08 00316968 40 82 FF D0 */ bne lbl_8031ACD8 +/* 8031AD0C 0031696C 80 0D AF FC */ lwz r0, lbl_806402BC-_SDA_BASE_(r13) +/* 8031AD10 00316970 83 CD AF F0 */ lwz r30, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AD14 00316974 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AD18 00316978 40 82 00 50 */ bne lbl_8031AD68 +/* 8031AD1C 0031697C 3F A0 80 61 */ lis r29, lbl_8060F5A0@ha +/* 8031AD20 00316980 3B E0 00 00 */ li r31, 0 +/* 8031AD24 00316984 3B BD F5 A0 */ addi r29, r29, lbl_8060F5A0@l +/* 8031AD28 00316988 48 00 00 30 */ b lbl_8031AD58 +lbl_8031AD2C: +/* 8031AD2C 0031698C 80 6D AF F8 */ lwz r3, lbl_806402B8-_SDA_BASE_(r13) +/* 8031AD30 00316990 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AD34 00316994 40 82 00 0C */ bne lbl_8031AD40 +/* 8031AD38 00316998 38 60 00 00 */ li r3, 0 +/* 8031AD3C 0031699C 48 00 00 10 */ b lbl_8031AD4C +lbl_8031AD40: +/* 8031AD40 003169A0 38 80 00 A0 */ li r4, 0xa0 +/* 8031AD44 003169A4 38 A0 00 20 */ li r5, 0x20 +/* 8031AD48 003169A8 4B F7 C1 E1 */ bl MEMAllocFromExpHeapEx +lbl_8031AD4C: +/* 8031AD4C 003169AC 90 7D 00 00 */ stw r3, 0(r29) +/* 8031AD50 003169B0 3B BD 00 04 */ addi r29, r29, 4 +/* 8031AD54 003169B4 3B FF 00 01 */ addi r31, r31, 1 +lbl_8031AD58: +/* 8031AD58 003169B8 7C 1F F0 40 */ cmplw r31, r30 +/* 8031AD5C 003169BC 41 80 FF D0 */ blt lbl_8031AD2C +/* 8031AD60 003169C0 38 00 00 01 */ li r0, 1 +/* 8031AD64 003169C4 90 0D AF FC */ stw r0, lbl_806402BC-_SDA_BASE_(r13) +lbl_8031AD68: +/* 8031AD68 003169C8 48 00 0E 79 */ bl func_8031BBE0 +/* 8031AD6C 003169CC 38 80 00 00 */ li r4, 0 +/* 8031AD70 003169D0 38 60 00 02 */ li r3, 2 +/* 8031AD74 003169D4 38 00 00 08 */ li r0, 8 +/* 8031AD78 003169D8 90 8D AF F4 */ stw r4, lbl_806402B4-_SDA_BASE_(r13) +/* 8031AD7C 003169DC 90 6D B0 0C */ stw r3, lbl_806402CC-_SDA_BASE_(r13) +/* 8031AD80 003169E0 90 0D B0 08 */ stw r0, lbl_806402C8-_SDA_BASE_(r13) +/* 8031AD84 003169E4 48 00 13 9D */ bl func_8031C120 +/* 8031AD88 003169E8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031AD8C 003169EC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031AD90 003169F0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031AD94 003169F4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031AD98 003169F8 7C 08 03 A6 */ mtlr r0 +/* 8031AD9C 003169FC 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031ADA0 00316A00 4E 80 00 20 */ blr + +.global func_8031ADA4 +func_8031ADA4: +/* 8031ADA4 00316A04 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031ADA8 00316A08 7C 08 02 A6 */ mflr r0 +/* 8031ADAC 00316A0C 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031ADB0 00316A10 39 61 00 20 */ addi r11, r1, 0x20 +/* 8031ADB4 00316A14 4B EA C3 75 */ bl _savegpr_27 +/* 8031ADB8 00316A18 83 6D B0 00 */ lwz r27, lbl_806402C0-_SDA_BASE_(r13) +/* 8031ADBC 00316A1C 2C 9B 00 00 */ cmpwi cr1, r27, 0 +/* 8031ADC0 00316A20 41 86 00 DC */ beq cr1, lbl_8031AE9C +/* 8031ADC4 00316A24 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031ADC8 00316A28 2C 00 00 00 */ cmpwi r0, 0 +/* 8031ADCC 00316A2C 41 82 00 0C */ beq lbl_8031ADD8 +/* 8031ADD0 00316A30 41 86 00 08 */ beq cr1, lbl_8031ADD8 +/* 8031ADD4 00316A34 48 00 00 08 */ b lbl_8031ADDC +lbl_8031ADD8: +/* 8031ADD8 00316A38 3B 60 00 00 */ li r27, 0 +lbl_8031ADDC: +/* 8031ADDC 00316A3C 2C 1B 00 00 */ cmpwi r27, 0 +/* 8031ADE0 00316A40 41 82 00 A0 */ beq lbl_8031AE80 +/* 8031ADE4 00316A44 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031ADE8 00316A48 3B E0 00 00 */ li r31, 0 +/* 8031ADEC 00316A4C 7F DB 02 14 */ add r30, r27, r0 +/* 8031ADF0 00316A50 48 00 00 88 */ b lbl_8031AE78 +lbl_8031ADF4: +/* 8031ADF4 00316A54 2C 1B 00 00 */ cmpwi r27, 0 +/* 8031ADF8 00316A58 41 82 00 7C */ beq lbl_8031AE74 +/* 8031ADFC 00316A5C 37 BB 00 1C */ addic. r29, r27, 0x1c +/* 8031AE00 00316A60 83 9D 00 00 */ lwz r28, 0(r29) +/* 8031AE04 00316A64 41 82 00 54 */ beq lbl_8031AE58 +/* 8031AE08 00316A68 80 9D 00 08 */ lwz r4, 8(r29) +/* 8031AE0C 00316A6C 2C 04 00 00 */ cmpwi r4, 0 +/* 8031AE10 00316A70 41 82 00 14 */ beq lbl_8031AE24 +/* 8031AE14 00316A74 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031AE18 00316A78 41 82 00 0C */ beq lbl_8031AE24 +/* 8031AE1C 00316A7C 7F 83 E3 78 */ mr r3, r28 +/* 8031AE20 00316A80 4B F7 C3 A5 */ bl MEMFreeToExpHeap +lbl_8031AE24: +/* 8031AE24 00316A84 80 9D 00 0C */ lwz r4, 0xc(r29) +/* 8031AE28 00316A88 2C 04 00 00 */ cmpwi r4, 0 +/* 8031AE2C 00316A8C 41 82 00 14 */ beq lbl_8031AE40 +/* 8031AE30 00316A90 80 7D 00 00 */ lwz r3, 0(r29) +/* 8031AE34 00316A94 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AE38 00316A98 41 82 00 08 */ beq lbl_8031AE40 +/* 8031AE3C 00316A9C 4B F7 C3 89 */ bl MEMFreeToExpHeap +lbl_8031AE40: +/* 8031AE40 00316AA0 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031AE44 00316AA4 41 82 00 14 */ beq lbl_8031AE58 +/* 8031AE48 00316AA8 93 FD 00 00 */ stw r31, 0(r29) +/* 8031AE4C 00316AAC 93 FD 00 04 */ stw r31, 4(r29) +/* 8031AE50 00316AB0 93 FD 00 08 */ stw r31, 8(r29) +/* 8031AE54 00316AB4 93 FD 00 0C */ stw r31, 0xc(r29) +lbl_8031AE58: +/* 8031AE58 00316AB8 80 0D AF F8 */ lwz r0, lbl_806402B8-_SDA_BASE_(r13) +/* 8031AE5C 00316ABC 7C 1C 00 40 */ cmplw r28, r0 +/* 8031AE60 00316AC0 41 82 00 14 */ beq lbl_8031AE74 +/* 8031AE64 00316AC4 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031AE68 00316AC8 41 82 00 0C */ beq lbl_8031AE74 +/* 8031AE6C 00316ACC 7F 83 E3 78 */ mr r3, r28 +/* 8031AE70 00316AD0 4B F7 C0 89 */ bl MEMDestroyExpHeap +lbl_8031AE74: +/* 8031AE74 00316AD4 3B 7B 01 40 */ addi r27, r27, 0x140 +lbl_8031AE78: +/* 8031AE78 00316AD8 7C 1B F0 40 */ cmplw r27, r30 +/* 8031AE7C 00316ADC 40 82 FF 78 */ bne lbl_8031ADF4 +lbl_8031AE80: +/* 8031AE80 00316AE0 80 6D AF F8 */ lwz r3, lbl_806402B8-_SDA_BASE_(r13) +/* 8031AE84 00316AE4 80 8D B0 00 */ lwz r4, lbl_806402C0-_SDA_BASE_(r13) +/* 8031AE88 00316AE8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AE8C 00316AEC 41 82 00 08 */ beq lbl_8031AE94 +/* 8031AE90 00316AF0 4B F7 C3 35 */ bl MEMFreeToExpHeap +lbl_8031AE94: +/* 8031AE94 00316AF4 38 00 00 00 */ li r0, 0 +/* 8031AE98 00316AF8 90 0D B0 00 */ stw r0, lbl_806402C0-_SDA_BASE_(r13) +lbl_8031AE9C: +/* 8031AE9C 00316AFC 80 0D AF FC */ lwz r0, lbl_806402BC-_SDA_BASE_(r13) +/* 8031AEA0 00316B00 83 AD AF F0 */ lwz r29, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AEA4 00316B04 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AEA8 00316B08 41 82 00 50 */ beq lbl_8031AEF8 +/* 8031AEAC 00316B0C 3F 80 80 61 */ lis r28, lbl_8060F5A0@ha +/* 8031AEB0 00316B10 3B C0 00 00 */ li r30, 0 +/* 8031AEB4 00316B14 3B 9C F5 A0 */ addi r28, r28, lbl_8060F5A0@l +/* 8031AEB8 00316B18 3B E0 00 00 */ li r31, 0 +/* 8031AEBC 00316B1C 48 00 00 2C */ b lbl_8031AEE8 +lbl_8031AEC0: +/* 8031AEC0 00316B20 80 9C 00 00 */ lwz r4, 0(r28) +/* 8031AEC4 00316B24 2C 04 00 00 */ cmpwi r4, 0 +/* 8031AEC8 00316B28 41 82 00 18 */ beq lbl_8031AEE0 +/* 8031AECC 00316B2C 80 6D AF F8 */ lwz r3, lbl_806402B8-_SDA_BASE_(r13) +/* 8031AED0 00316B30 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AED4 00316B34 41 82 00 08 */ beq lbl_8031AEDC +/* 8031AED8 00316B38 4B F7 C2 ED */ bl MEMFreeToExpHeap +lbl_8031AEDC: +/* 8031AEDC 00316B3C 93 FC 00 00 */ stw r31, 0(r28) +lbl_8031AEE0: +/* 8031AEE0 00316B40 3B 9C 00 04 */ addi r28, r28, 4 +/* 8031AEE4 00316B44 3B DE 00 01 */ addi r30, r30, 1 +lbl_8031AEE8: +/* 8031AEE8 00316B48 7C 1E E8 40 */ cmplw r30, r29 +/* 8031AEEC 00316B4C 41 80 FF D4 */ blt lbl_8031AEC0 +/* 8031AEF0 00316B50 38 00 00 00 */ li r0, 0 +/* 8031AEF4 00316B54 90 0D AF FC */ stw r0, lbl_806402BC-_SDA_BASE_(r13) +lbl_8031AEF8: +/* 8031AEF8 00316B58 80 6D AF F8 */ lwz r3, lbl_806402B8-_SDA_BASE_(r13) +/* 8031AEFC 00316B5C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AF00 00316B60 41 82 00 10 */ beq lbl_8031AF10 +/* 8031AF04 00316B64 4B F7 BF F5 */ bl MEMDestroyExpHeap +/* 8031AF08 00316B68 38 00 00 00 */ li r0, 0 +/* 8031AF0C 00316B6C 90 0D AF F8 */ stw r0, lbl_806402B8-_SDA_BASE_(r13) +lbl_8031AF10: +/* 8031AF10 00316B70 38 00 00 00 */ li r0, 0 +/* 8031AF14 00316B74 39 61 00 20 */ addi r11, r1, 0x20 +/* 8031AF18 00316B78 90 0D AF F0 */ stw r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AF1C 00316B7C 4B EA C2 59 */ bl _restgpr_27 +/* 8031AF20 00316B80 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031AF24 00316B84 7C 08 03 A6 */ mtlr r0 +/* 8031AF28 00316B88 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031AF2C 00316B8C 4E 80 00 20 */ blr + +.global func_8031AF30 +func_8031AF30: +/* 8031AF30 00316B90 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031AF34 00316B94 7C 08 02 A6 */ mflr r0 +/* 8031AF38 00316B98 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031AF3C 00316B9C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031AF40 00316BA0 7C 9F 23 78 */ mr r31, r4 +/* 8031AF44 00316BA4 93 C1 00 08 */ stw r30, 8(r1) +/* 8031AF48 00316BA8 7C 7E 1B 78 */ mr r30, r3 +/* 8031AF4C 00316BAC 4B FF EA B9 */ bl func_80319A04 +/* 8031AF50 00316BB0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AF54 00316BB4 41 82 00 64 */ beq lbl_8031AFB8 +/* 8031AF58 00316BB8 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031AF5C 00316BBC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AF60 00316BC0 41 82 00 14 */ beq lbl_8031AF74 +/* 8031AF64 00316BC4 80 CD B0 00 */ lwz r6, lbl_806402C0-_SDA_BASE_(r13) +/* 8031AF68 00316BC8 2C 06 00 00 */ cmpwi r6, 0 +/* 8031AF6C 00316BCC 41 82 00 08 */ beq lbl_8031AF74 +/* 8031AF70 00316BD0 48 00 00 08 */ b lbl_8031AF78 +lbl_8031AF74: +/* 8031AF74 00316BD4 38 C0 00 00 */ li r6, 0 +lbl_8031AF78: +/* 8031AF78 00316BD8 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031AF7C 00316BDC 7C A6 02 14 */ add r5, r6, r0 +/* 8031AF80 00316BE0 48 00 00 30 */ b lbl_8031AFB0 +lbl_8031AF84: +/* 8031AF84 00316BE4 80 06 00 00 */ lwz r0, 0(r6) +/* 8031AF88 00316BE8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031AF8C 00316BEC 41 82 00 20 */ beq lbl_8031AFAC +/* 8031AF90 00316BF0 88 86 00 14 */ lbz r4, 0x14(r6) +/* 8031AF94 00316BF4 88 03 18 7A */ lbz r0, 0x187a(r3) +/* 8031AF98 00316BF8 7C 84 07 74 */ extsb r4, r4 +/* 8031AF9C 00316BFC 7C 00 07 74 */ extsb r0, r0 +/* 8031AFA0 00316C00 7C 04 00 00 */ cmpw r4, r0 +/* 8031AFA4 00316C04 40 82 00 08 */ bne lbl_8031AFAC +/* 8031AFA8 00316C08 48 00 00 14 */ b lbl_8031AFBC +lbl_8031AFAC: +/* 8031AFAC 00316C0C 38 C6 01 40 */ addi r6, r6, 0x140 +lbl_8031AFB0: +/* 8031AFB0 00316C10 7C 06 28 40 */ cmplw r6, r5 +/* 8031AFB4 00316C14 40 82 FF D0 */ bne lbl_8031AF84 +lbl_8031AFB8: +/* 8031AFB8 00316C18 38 C0 00 00 */ li r6, 0 +lbl_8031AFBC: +/* 8031AFBC 00316C1C 2C 06 00 00 */ cmpwi r6, 0 +/* 8031AFC0 00316C20 41 82 00 18 */ beq lbl_8031AFD8 +/* 8031AFC4 00316C24 80 66 00 08 */ lwz r3, 8(r6) +/* 8031AFC8 00316C28 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AFCC 00316C2C 41 82 00 0C */ beq lbl_8031AFD8 +/* 8031AFD0 00316C30 38 80 00 00 */ li r4, 0 +/* 8031AFD4 00316C34 48 00 0D 4D */ bl func_8031BD20 +lbl_8031AFD8: +/* 8031AFD8 00316C38 7F C3 F3 78 */ mr r3, r30 +/* 8031AFDC 00316C3C 7F E4 FB 78 */ mr r4, r31 +/* 8031AFE0 00316C40 4B FF F2 E5 */ bl func_8031A2C4 +/* 8031AFE4 00316C44 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AFE8 00316C48 7C 7F 1B 78 */ mr r31, r3 +/* 8031AFEC 00316C4C 40 82 00 14 */ bne lbl_8031B000 +/* 8031AFF0 00316C50 4B FF F2 69 */ bl func_8031A258 +/* 8031AFF4 00316C54 2C 03 00 00 */ cmpwi r3, 0 +/* 8031AFF8 00316C58 41 82 00 08 */ beq lbl_8031B000 +/* 8031AFFC 00316C5C 90 6D AF F4 */ stw r3, lbl_806402B4-_SDA_BASE_(r13) +lbl_8031B000: +/* 8031B000 00316C60 7F E3 FB 78 */ mr r3, r31 +/* 8031B004 00316C64 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031B008 00316C68 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031B00C 00316C6C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031B010 00316C70 7C 08 03 A6 */ mtlr r0 +/* 8031B014 00316C74 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031B018 00316C78 4E 80 00 20 */ blr + +.global func_8031B01C +func_8031B01C: +/* 8031B01C 00316C7C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031B020 00316C80 7C 08 02 A6 */ mflr r0 +/* 8031B024 00316C84 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031B028 00316C88 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031B02C 00316C8C 7C BF 2B 78 */ mr r31, r5 +/* 8031B030 00316C90 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031B034 00316C94 7C 9E 23 78 */ mr r30, r4 +/* 8031B038 00316C98 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031B03C 00316C9C 7C 7D 1B 78 */ mr r29, r3 +/* 8031B040 00316CA0 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B044 00316CA4 7C 03 00 40 */ cmplw r3, r0 +/* 8031B048 00316CA8 40 80 00 1C */ bge lbl_8031B064 +/* 8031B04C 00316CAC 80 8D B0 00 */ lwz r4, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B050 00316CB0 2C 04 00 00 */ cmpwi r4, 0 +/* 8031B054 00316CB4 41 82 00 10 */ beq lbl_8031B064 +/* 8031B058 00316CB8 1C 03 01 40 */ mulli r0, r3, 0x140 +/* 8031B05C 00316CBC 7C 64 02 14 */ add r3, r4, r0 +/* 8031B060 00316CC0 48 00 00 08 */ b lbl_8031B068 +lbl_8031B064: +/* 8031B064 00316CC4 38 60 00 00 */ li r3, 0 +lbl_8031B068: +/* 8031B068 00316CC8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B06C 00316CCC 41 82 00 3C */ beq lbl_8031B0A8 +/* 8031B070 00316CD0 88 03 00 14 */ lbz r0, 0x14(r3) +/* 8031B074 00316CD4 7C 03 07 74 */ extsb r3, r0 +/* 8031B078 00316CD8 4B FF EA E1 */ bl func_80319B58 +/* 8031B07C 00316CDC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B080 00316CE0 41 82 00 10 */ beq lbl_8031B090 +/* 8031B084 00316CE4 4B FF E8 35 */ bl func_803198B8 +/* 8031B088 00316CE8 38 60 00 00 */ li r3, 0 +/* 8031B08C 00316CEC 48 00 00 24 */ b lbl_8031B0B0 +lbl_8031B090: +/* 8031B090 00316CF0 4B FF F1 C9 */ bl func_8031A258 +/* 8031B094 00316CF4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B098 00316CF8 40 82 00 18 */ bne lbl_8031B0B0 +/* 8031B09C 00316CFC 38 60 FF FF */ li r3, -1 +/* 8031B0A0 00316D00 48 00 00 10 */ b lbl_8031B0B0 +/* 8031B0A4 00316D04 48 00 00 0C */ b lbl_8031B0B0 +lbl_8031B0A8: +/* 8031B0A8 00316D08 3C 60 00 01 */ lis r3, 0x0000B003@ha +/* 8031B0AC 00316D0C 38 63 B0 03 */ addi r3, r3, 0x0000B003@l +lbl_8031B0B0: +/* 8031B0B0 00316D10 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B0B4 00316D14 40 82 00 7C */ bne lbl_8031B130 +/* 8031B0B8 00316D18 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B0BC 00316D1C 7C 1D 00 40 */ cmplw r29, r0 +/* 8031B0C0 00316D20 40 80 00 1C */ bge lbl_8031B0DC +/* 8031B0C4 00316D24 80 6D B0 00 */ lwz r3, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B0C8 00316D28 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B0CC 00316D2C 41 82 00 10 */ beq lbl_8031B0DC +/* 8031B0D0 00316D30 1C 1D 01 40 */ mulli r0, r29, 0x140 +/* 8031B0D4 00316D34 7C 63 02 14 */ add r3, r3, r0 +/* 8031B0D8 00316D38 48 00 00 08 */ b lbl_8031B0E0 +lbl_8031B0DC: +/* 8031B0DC 00316D3C 38 60 00 00 */ li r3, 0 +lbl_8031B0E0: +/* 8031B0E0 00316D40 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B0E4 00316D44 41 82 00 1C */ beq lbl_8031B100 +/* 8031B0E8 00316D48 41 82 00 18 */ beq lbl_8031B100 +/* 8031B0EC 00316D4C 80 63 00 08 */ lwz r3, 8(r3) +/* 8031B0F0 00316D50 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B0F4 00316D54 41 82 00 0C */ beq lbl_8031B100 +/* 8031B0F8 00316D58 38 80 00 00 */ li r4, 0 +/* 8031B0FC 00316D5C 48 00 0C 25 */ bl func_8031BD20 +lbl_8031B100: +/* 8031B100 00316D60 7F C3 F3 78 */ mr r3, r30 +/* 8031B104 00316D64 7F E4 FB 78 */ mr r4, r31 +/* 8031B108 00316D68 4B FF F1 BD */ bl func_8031A2C4 +/* 8031B10C 00316D6C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B110 00316D70 7C 7F 1B 78 */ mr r31, r3 +/* 8031B114 00316D74 40 82 00 14 */ bne lbl_8031B128 +/* 8031B118 00316D78 4B FF F1 41 */ bl func_8031A258 +/* 8031B11C 00316D7C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B120 00316D80 41 82 00 08 */ beq lbl_8031B128 +/* 8031B124 00316D84 90 6D AF F4 */ stw r3, lbl_806402B4-_SDA_BASE_(r13) +lbl_8031B128: +/* 8031B128 00316D88 7F E3 FB 78 */ mr r3, r31 +/* 8031B12C 00316D8C 48 00 00 10 */ b lbl_8031B13C +lbl_8031B130: +/* 8031B130 00316D90 41 82 00 08 */ beq lbl_8031B138 +/* 8031B134 00316D94 90 6D AF F4 */ stw r3, lbl_806402B4-_SDA_BASE_(r13) +lbl_8031B138: +/* 8031B138 00316D98 38 60 00 00 */ li r3, 0 +lbl_8031B13C: +/* 8031B13C 00316D9C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031B140 00316DA0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031B144 00316DA4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031B148 00316DA8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031B14C 00316DAC 7C 08 03 A6 */ mtlr r0 +/* 8031B150 00316DB0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031B154 00316DB4 4E 80 00 20 */ blr + +.global func_8031B158 +func_8031B158: +/* 8031B158 00316DB8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031B15C 00316DBC 7C 08 02 A6 */ mflr r0 +/* 8031B160 00316DC0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B164 00316DC4 38 C0 00 00 */ li r6, 0 +/* 8031B168 00316DC8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031B16C 00316DCC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031B170 00316DD0 7C 7F 1B 78 */ mr r31, r3 +/* 8031B174 00316DD4 41 82 00 80 */ beq lbl_8031B1F4 +/* 8031B178 00316DD8 80 63 00 08 */ lwz r3, 8(r3) +/* 8031B17C 00316DDC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B180 00316DE0 41 82 00 74 */ beq lbl_8031B1F4 +/* 8031B184 00316DE4 80 83 00 38 */ lwz r4, 0x38(r3) +/* 8031B188 00316DE8 2C 04 00 00 */ cmpwi r4, 0 +/* 8031B18C 00316DEC 41 82 00 64 */ beq lbl_8031B1F0 +/* 8031B190 00316DF0 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B194 00316DF4 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B198 00316DF8 41 82 00 14 */ beq lbl_8031B1AC +/* 8031B19C 00316DFC 80 CD B0 00 */ lwz r6, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B1A0 00316E00 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B1A4 00316E04 41 82 00 08 */ beq lbl_8031B1AC +/* 8031B1A8 00316E08 48 00 00 08 */ b lbl_8031B1B0 +lbl_8031B1AC: +/* 8031B1AC 00316E0C 38 C0 00 00 */ li r6, 0 +lbl_8031B1B0: +/* 8031B1B0 00316E10 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031B1B4 00316E14 7C A6 02 14 */ add r5, r6, r0 +/* 8031B1B8 00316E18 48 00 00 30 */ b lbl_8031B1E8 +lbl_8031B1BC: +/* 8031B1BC 00316E1C 80 06 00 00 */ lwz r0, 0(r6) +/* 8031B1C0 00316E20 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B1C4 00316E24 41 82 00 20 */ beq lbl_8031B1E4 +/* 8031B1C8 00316E28 88 66 00 14 */ lbz r3, 0x14(r6) +/* 8031B1CC 00316E2C 88 04 18 7A */ lbz r0, 0x187a(r4) +/* 8031B1D0 00316E30 7C 63 07 74 */ extsb r3, r3 +/* 8031B1D4 00316E34 7C 00 07 74 */ extsb r0, r0 +/* 8031B1D8 00316E38 7C 03 00 00 */ cmpw r3, r0 +/* 8031B1DC 00316E3C 40 82 00 08 */ bne lbl_8031B1E4 +/* 8031B1E0 00316E40 48 00 00 14 */ b lbl_8031B1F4 +lbl_8031B1E4: +/* 8031B1E4 00316E44 38 C6 01 40 */ addi r6, r6, 0x140 +lbl_8031B1E8: +/* 8031B1E8 00316E48 7C 06 28 40 */ cmplw r6, r5 +/* 8031B1EC 00316E4C 40 82 FF D0 */ bne lbl_8031B1BC +lbl_8031B1F0: +/* 8031B1F0 00316E50 38 C0 00 00 */ li r6, 0 +lbl_8031B1F4: +/* 8031B1F4 00316E54 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B1F8 00316E58 41 82 00 18 */ beq lbl_8031B210 +/* 8031B1FC 00316E5C 80 66 00 08 */ lwz r3, 8(r6) +/* 8031B200 00316E60 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B204 00316E64 41 82 00 0C */ beq lbl_8031B210 +/* 8031B208 00316E68 38 80 00 00 */ li r4, 0 +/* 8031B20C 00316E6C 48 00 0B 15 */ bl func_8031BD20 +lbl_8031B210: +/* 8031B210 00316E70 7F E3 FB 78 */ mr r3, r31 +/* 8031B214 00316E74 4B FF F0 69 */ bl func_8031A27C +/* 8031B218 00316E78 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B21C 00316E7C 40 82 00 0C */ bne lbl_8031B228 +/* 8031B220 00316E80 38 60 00 00 */ li r3, 0 +/* 8031B224 00316E84 48 00 00 08 */ b lbl_8031B22C +lbl_8031B228: +/* 8031B228 00316E88 4B FF F0 31 */ bl func_8031A258 +lbl_8031B22C: +/* 8031B22C 00316E8C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031B230 00316E90 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031B234 00316E94 7C 08 03 A6 */ mtlr r0 +/* 8031B238 00316E98 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031B23C 00316E9C 4E 80 00 20 */ blr + +.global func_8031B240 +func_8031B240: +/* 8031B240 00316EA0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031B244 00316EA4 7C 08 02 A6 */ mflr r0 +/* 8031B248 00316EA8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B24C 00316EAC 38 C0 00 00 */ li r6, 0 +/* 8031B250 00316EB0 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031B254 00316EB4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031B258 00316EB8 7C BF 2B 78 */ mr r31, r5 +/* 8031B25C 00316EBC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031B260 00316EC0 7C 9E 23 78 */ mr r30, r4 +/* 8031B264 00316EC4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031B268 00316EC8 7C 7D 1B 78 */ mr r29, r3 +/* 8031B26C 00316ECC 41 82 00 80 */ beq lbl_8031B2EC +/* 8031B270 00316ED0 80 63 00 08 */ lwz r3, 8(r3) +/* 8031B274 00316ED4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B278 00316ED8 41 82 00 74 */ beq lbl_8031B2EC +/* 8031B27C 00316EDC 80 83 00 38 */ lwz r4, 0x38(r3) +/* 8031B280 00316EE0 2C 04 00 00 */ cmpwi r4, 0 +/* 8031B284 00316EE4 41 82 00 64 */ beq lbl_8031B2E8 +/* 8031B288 00316EE8 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B28C 00316EEC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B290 00316EF0 41 82 00 14 */ beq lbl_8031B2A4 +/* 8031B294 00316EF4 80 CD B0 00 */ lwz r6, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B298 00316EF8 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B29C 00316EFC 41 82 00 08 */ beq lbl_8031B2A4 +/* 8031B2A0 00316F00 48 00 00 08 */ b lbl_8031B2A8 +lbl_8031B2A4: +/* 8031B2A4 00316F04 38 C0 00 00 */ li r6, 0 +lbl_8031B2A8: +/* 8031B2A8 00316F08 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031B2AC 00316F0C 7C A6 02 14 */ add r5, r6, r0 +/* 8031B2B0 00316F10 48 00 00 30 */ b lbl_8031B2E0 +lbl_8031B2B4: +/* 8031B2B4 00316F14 80 06 00 00 */ lwz r0, 0(r6) +/* 8031B2B8 00316F18 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B2BC 00316F1C 41 82 00 20 */ beq lbl_8031B2DC +/* 8031B2C0 00316F20 88 66 00 14 */ lbz r3, 0x14(r6) +/* 8031B2C4 00316F24 88 04 18 7A */ lbz r0, 0x187a(r4) +/* 8031B2C8 00316F28 7C 63 07 74 */ extsb r3, r3 +/* 8031B2CC 00316F2C 7C 00 07 74 */ extsb r0, r0 +/* 8031B2D0 00316F30 7C 03 00 00 */ cmpw r3, r0 +/* 8031B2D4 00316F34 40 82 00 08 */ bne lbl_8031B2DC +/* 8031B2D8 00316F38 48 00 00 14 */ b lbl_8031B2EC +lbl_8031B2DC: +/* 8031B2DC 00316F3C 38 C6 01 40 */ addi r6, r6, 0x140 +lbl_8031B2E0: +/* 8031B2E0 00316F40 7C 06 28 40 */ cmplw r6, r5 +/* 8031B2E4 00316F44 40 82 FF D0 */ bne lbl_8031B2B4 +lbl_8031B2E8: +/* 8031B2E8 00316F48 38 C0 00 00 */ li r6, 0 +lbl_8031B2EC: +/* 8031B2EC 00316F4C 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B2F0 00316F50 41 82 00 18 */ beq lbl_8031B308 +/* 8031B2F4 00316F54 80 66 00 08 */ lwz r3, 8(r6) +/* 8031B2F8 00316F58 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B2FC 00316F5C 41 82 00 0C */ beq lbl_8031B308 +/* 8031B300 00316F60 38 80 00 00 */ li r4, 0 +/* 8031B304 00316F64 48 00 0A 1D */ bl func_8031BD20 +lbl_8031B308: +/* 8031B308 00316F68 7F A3 EB 78 */ mr r3, r29 +/* 8031B30C 00316F6C 7F C4 F3 78 */ mr r4, r30 +/* 8031B310 00316F70 7F E5 FB 78 */ mr r5, r31 +/* 8031B314 00316F74 4B FF F0 75 */ bl func_8031A388 +/* 8031B318 00316F78 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B31C 00316F7C 40 82 00 0C */ bne lbl_8031B328 +/* 8031B320 00316F80 38 60 00 00 */ li r3, 0 +/* 8031B324 00316F84 48 00 00 08 */ b lbl_8031B32C +lbl_8031B328: +/* 8031B328 00316F88 4B FF EF 31 */ bl func_8031A258 +lbl_8031B32C: +/* 8031B32C 00316F8C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031B330 00316F90 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031B334 00316F94 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031B338 00316F98 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031B33C 00316F9C 7C 08 03 A6 */ mtlr r0 +/* 8031B340 00316FA0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031B344 00316FA4 4E 80 00 20 */ blr + +.global func_8031B348 +func_8031B348: +/* 8031B348 00316FA8 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8031B34C 00316FAC 7C 08 02 A6 */ mflr r0 +/* 8031B350 00316FB0 90 01 00 44 */ stw r0, 0x44(r1) +/* 8031B354 00316FB4 39 61 00 40 */ addi r11, r1, 0x40 +/* 8031B358 00316FB8 4B EA BD D1 */ bl _savegpr_27 +/* 8031B35C 00316FBC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B360 00316FC0 7C 7C 1B 78 */ mr r28, r3 +/* 8031B364 00316FC4 7C 9D 23 78 */ mr r29, r4 +/* 8031B368 00316FC8 7C BE 2B 78 */ mr r30, r5 +/* 8031B36C 00316FCC 7C DF 33 78 */ mr r31, r6 +/* 8031B370 00316FD0 41 82 00 0C */ beq lbl_8031B37C +/* 8031B374 00316FD4 38 00 00 00 */ li r0, 0 +/* 8031B378 00316FD8 90 03 00 00 */ stw r0, 0(r3) +lbl_8031B37C: +/* 8031B37C 00316FDC 7F E3 FB 78 */ mr r3, r31 +/* 8031B380 00316FE0 38 81 00 08 */ addi r4, r1, 8 +/* 8031B384 00316FE4 4B FF EF 1D */ bl func_8031A2A0 +/* 8031B388 00316FE8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B38C 00316FEC 40 82 01 18 */ bne lbl_8031B4A4 +/* 8031B390 00316FF0 80 7F 00 1C */ lwz r3, 0x1c(r31) +/* 8031B394 00316FF4 80 01 00 08 */ lwz r0, 8(r1) +/* 8031B398 00316FF8 7F 63 00 50 */ subf r27, r3, r0 +/* 8031B39C 00316FFC 7C 1E D8 40 */ cmplw r30, r27 +/* 8031B3A0 00317000 40 81 00 18 */ ble lbl_8031B3B8 +/* 8031B3A4 00317004 7F A3 EB 78 */ mr r3, r29 +/* 8031B3A8 00317008 7F C5 F3 78 */ mr r5, r30 +/* 8031B3AC 0031700C 38 80 00 00 */ li r4, 0 +/* 8031B3B0 00317010 4B FE 9C 25 */ bl VFipf_memset +/* 8031B3B4 00317014 7F 7E DB 78 */ mr r30, r27 +lbl_8031B3B8: +/* 8031B3B8 00317018 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031B3BC 0031701C 38 C0 00 00 */ li r6, 0 +/* 8031B3C0 00317020 41 82 00 80 */ beq lbl_8031B440 +/* 8031B3C4 00317024 80 7F 00 08 */ lwz r3, 8(r31) +/* 8031B3C8 00317028 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B3CC 0031702C 41 82 00 74 */ beq lbl_8031B440 +/* 8031B3D0 00317030 80 83 00 38 */ lwz r4, 0x38(r3) +/* 8031B3D4 00317034 2C 04 00 00 */ cmpwi r4, 0 +/* 8031B3D8 00317038 41 82 00 64 */ beq lbl_8031B43C +/* 8031B3DC 0031703C 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B3E0 00317040 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B3E4 00317044 41 82 00 14 */ beq lbl_8031B3F8 +/* 8031B3E8 00317048 80 CD B0 00 */ lwz r6, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B3EC 0031704C 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B3F0 00317050 41 82 00 08 */ beq lbl_8031B3F8 +/* 8031B3F4 00317054 48 00 00 08 */ b lbl_8031B3FC +lbl_8031B3F8: +/* 8031B3F8 00317058 38 C0 00 00 */ li r6, 0 +lbl_8031B3FC: +/* 8031B3FC 0031705C 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031B400 00317060 7C A6 02 14 */ add r5, r6, r0 +/* 8031B404 00317064 48 00 00 30 */ b lbl_8031B434 +lbl_8031B408: +/* 8031B408 00317068 80 06 00 00 */ lwz r0, 0(r6) +/* 8031B40C 0031706C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B410 00317070 41 82 00 20 */ beq lbl_8031B430 +/* 8031B414 00317074 88 66 00 14 */ lbz r3, 0x14(r6) +/* 8031B418 00317078 88 04 18 7A */ lbz r0, 0x187a(r4) +/* 8031B41C 0031707C 7C 63 07 74 */ extsb r3, r3 +/* 8031B420 00317080 7C 00 07 74 */ extsb r0, r0 +/* 8031B424 00317084 7C 03 00 00 */ cmpw r3, r0 +/* 8031B428 00317088 40 82 00 08 */ bne lbl_8031B430 +/* 8031B42C 0031708C 48 00 00 14 */ b lbl_8031B440 +lbl_8031B430: +/* 8031B430 00317090 38 C6 01 40 */ addi r6, r6, 0x140 +lbl_8031B434: +/* 8031B434 00317094 7C 06 28 40 */ cmplw r6, r5 +/* 8031B438 00317098 40 82 FF D0 */ bne lbl_8031B408 +lbl_8031B43C: +/* 8031B43C 0031709C 38 C0 00 00 */ li r6, 0 +lbl_8031B440: +/* 8031B440 003170A0 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B444 003170A4 41 82 00 18 */ beq lbl_8031B45C +/* 8031B448 003170A8 80 66 00 08 */ lwz r3, 8(r6) +/* 8031B44C 003170AC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B450 003170B0 41 82 00 0C */ beq lbl_8031B45C +/* 8031B454 003170B4 38 80 00 00 */ li r4, 0 +/* 8031B458 003170B8 48 00 08 C9 */ bl func_8031BD20 +lbl_8031B45C: +/* 8031B45C 003170BC 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031B460 003170C0 41 82 00 3C */ beq lbl_8031B49C +/* 8031B464 003170C4 7F A3 EB 78 */ mr r3, r29 +/* 8031B468 003170C8 7F C4 F3 78 */ mr r4, r30 +/* 8031B46C 003170CC 7F E6 FB 78 */ mr r6, r31 +/* 8031B470 003170D0 38 A0 00 01 */ li r5, 1 +/* 8031B474 003170D4 4B FF EE ED */ bl func_8031A360 +/* 8031B478 003170D8 28 03 00 01 */ cmplwi r3, 1 +/* 8031B47C 003170DC 40 82 00 18 */ bne lbl_8031B494 +/* 8031B480 003170E0 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031B484 003170E4 41 82 00 08 */ beq lbl_8031B48C +/* 8031B488 003170E8 93 DC 00 00 */ stw r30, 0(r28) +lbl_8031B48C: +/* 8031B48C 003170EC 38 60 00 00 */ li r3, 0 +/* 8031B490 003170F0 48 00 00 18 */ b lbl_8031B4A8 +lbl_8031B494: +/* 8031B494 003170F4 4B FF ED C5 */ bl func_8031A258 +/* 8031B498 003170F8 48 00 00 10 */ b lbl_8031B4A8 +lbl_8031B49C: +/* 8031B49C 003170FC 38 60 00 00 */ li r3, 0 +/* 8031B4A0 00317100 48 00 00 08 */ b lbl_8031B4A8 +lbl_8031B4A4: +/* 8031B4A4 00317104 4B FF ED B5 */ bl func_8031A258 +lbl_8031B4A8: +/* 8031B4A8 00317108 39 61 00 40 */ addi r11, r1, 0x40 +/* 8031B4AC 0031710C 4B EA BC C9 */ bl _restgpr_27 +/* 8031B4B0 00317110 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8031B4B4 00317114 7C 08 03 A6 */ mtlr r0 +/* 8031B4B8 00317118 38 21 00 40 */ addi r1, r1, 0x40 +/* 8031B4BC 0031711C 4E 80 00 20 */ blr + +.global func_8031B4C0 +func_8031B4C0: +/* 8031B4C0 00317120 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031B4C4 00317124 7C 08 02 A6 */ mflr r0 +/* 8031B4C8 00317128 2C 05 00 00 */ cmpwi r5, 0 +/* 8031B4CC 0031712C 38 C0 00 00 */ li r6, 0 +/* 8031B4D0 00317130 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031B4D4 00317134 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031B4D8 00317138 7C BF 2B 78 */ mr r31, r5 +/* 8031B4DC 0031713C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031B4E0 00317140 7C 9E 23 78 */ mr r30, r4 +/* 8031B4E4 00317144 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031B4E8 00317148 7C 7D 1B 78 */ mr r29, r3 +/* 8031B4EC 0031714C 41 82 00 80 */ beq lbl_8031B56C +/* 8031B4F0 00317150 80 65 00 08 */ lwz r3, 8(r5) +/* 8031B4F4 00317154 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B4F8 00317158 41 82 00 74 */ beq lbl_8031B56C +/* 8031B4FC 0031715C 80 83 00 38 */ lwz r4, 0x38(r3) +/* 8031B500 00317160 2C 04 00 00 */ cmpwi r4, 0 +/* 8031B504 00317164 41 82 00 64 */ beq lbl_8031B568 +/* 8031B508 00317168 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B50C 0031716C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B510 00317170 41 82 00 14 */ beq lbl_8031B524 +/* 8031B514 00317174 80 CD B0 00 */ lwz r6, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B518 00317178 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B51C 0031717C 41 82 00 08 */ beq lbl_8031B524 +/* 8031B520 00317180 48 00 00 08 */ b lbl_8031B528 +lbl_8031B524: +/* 8031B524 00317184 38 C0 00 00 */ li r6, 0 +lbl_8031B528: +/* 8031B528 00317188 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031B52C 0031718C 7C A6 02 14 */ add r5, r6, r0 +/* 8031B530 00317190 48 00 00 30 */ b lbl_8031B560 +lbl_8031B534: +/* 8031B534 00317194 80 06 00 00 */ lwz r0, 0(r6) +/* 8031B538 00317198 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B53C 0031719C 41 82 00 20 */ beq lbl_8031B55C +/* 8031B540 003171A0 88 66 00 14 */ lbz r3, 0x14(r6) +/* 8031B544 003171A4 88 04 18 7A */ lbz r0, 0x187a(r4) +/* 8031B548 003171A8 7C 63 07 74 */ extsb r3, r3 +/* 8031B54C 003171AC 7C 00 07 74 */ extsb r0, r0 +/* 8031B550 003171B0 7C 03 00 00 */ cmpw r3, r0 +/* 8031B554 003171B4 40 82 00 08 */ bne lbl_8031B55C +/* 8031B558 003171B8 48 00 00 14 */ b lbl_8031B56C +lbl_8031B55C: +/* 8031B55C 003171BC 38 C6 01 40 */ addi r6, r6, 0x140 +lbl_8031B560: +/* 8031B560 003171C0 7C 06 28 40 */ cmplw r6, r5 +/* 8031B564 003171C4 40 82 FF D0 */ bne lbl_8031B534 +lbl_8031B568: +/* 8031B568 003171C8 38 C0 00 00 */ li r6, 0 +lbl_8031B56C: +/* 8031B56C 003171CC 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B570 003171D0 41 82 00 18 */ beq lbl_8031B588 +/* 8031B574 003171D4 80 66 00 08 */ lwz r3, 8(r6) +/* 8031B578 003171D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B57C 003171DC 41 82 00 0C */ beq lbl_8031B588 +/* 8031B580 003171E0 38 80 00 00 */ li r4, 0 +/* 8031B584 003171E4 48 00 07 9D */ bl func_8031BD20 +lbl_8031B588: +/* 8031B588 003171E8 7F A3 EB 78 */ mr r3, r29 +/* 8031B58C 003171EC 7F C4 F3 78 */ mr r4, r30 +/* 8031B590 003171F0 7F E6 FB 78 */ mr r6, r31 +/* 8031B594 003171F4 38 A0 00 01 */ li r5, 1 +/* 8031B598 003171F8 4B FF EE 15 */ bl func_8031A3AC +/* 8031B59C 003171FC 28 03 00 01 */ cmplwi r3, 1 +/* 8031B5A0 00317200 40 82 00 0C */ bne lbl_8031B5AC +/* 8031B5A4 00317204 38 60 00 00 */ li r3, 0 +/* 8031B5A8 00317208 48 00 00 08 */ b lbl_8031B5B0 +lbl_8031B5AC: +/* 8031B5AC 0031720C 4B FF EC AD */ bl func_8031A258 +lbl_8031B5B0: +/* 8031B5B0 00317210 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031B5B4 00317214 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031B5B8 00317218 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031B5BC 0031721C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031B5C0 00317220 7C 08 03 A6 */ mtlr r0 +/* 8031B5C4 00317224 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031B5C8 00317228 4E 80 00 20 */ blr + +.global func_8031B5CC +func_8031B5CC: +/* 8031B5CC 0031722C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031B5D0 00317230 7C 08 02 A6 */ mflr r0 +/* 8031B5D4 00317234 2C 04 00 00 */ cmpwi r4, 0 +/* 8031B5D8 00317238 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031B5DC 0031723C 38 00 FF FF */ li r0, -1 +/* 8031B5E0 00317240 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 8031B5E4 00317244 7C 7F 1B 78 */ mr r31, r3 +/* 8031B5E8 00317248 90 03 00 00 */ stw r0, 0(r3) +/* 8031B5EC 0031724C 41 82 00 30 */ beq lbl_8031B61C +/* 8031B5F0 00317250 7C 83 23 78 */ mr r3, r4 +/* 8031B5F4 00317254 38 81 00 08 */ addi r4, r1, 8 +/* 8031B5F8 00317258 4B FF EC A9 */ bl func_8031A2A0 +/* 8031B5FC 0031725C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B600 00317260 40 82 00 14 */ bne lbl_8031B614 +/* 8031B604 00317264 80 01 00 08 */ lwz r0, 8(r1) +/* 8031B608 00317268 38 60 00 00 */ li r3, 0 +/* 8031B60C 0031726C 90 1F 00 00 */ stw r0, 0(r31) +/* 8031B610 00317270 48 00 00 10 */ b lbl_8031B620 +lbl_8031B614: +/* 8031B614 00317274 4B FF EC 45 */ bl func_8031A258 +/* 8031B618 00317278 48 00 00 08 */ b lbl_8031B620 +lbl_8031B61C: +/* 8031B61C 0031727C 38 60 FF FF */ li r3, -1 +lbl_8031B620: +/* 8031B620 00317280 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031B624 00317284 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 8031B628 00317288 7C 08 03 A6 */ mtlr r0 +/* 8031B62C 0031728C 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031B630 00317290 4E 80 00 20 */ blr +lbl_8031B634: +/* 8031B634 00317294 80 6D AF F4 */ lwz r3, lbl_806402B4-_SDA_BASE_(r13) +/* 8031B638 00317298 4E 80 00 20 */ blr + +.global func_8031B63C +func_8031B63C: +/* 8031B63C 0031729C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031B640 003172A0 7C 08 02 A6 */ mflr r0 +/* 8031B644 003172A4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031B648 003172A8 4B FF E3 BD */ bl func_80319A04 +/* 8031B64C 003172AC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B650 003172B0 41 82 00 64 */ beq lbl_8031B6B4 +/* 8031B654 003172B4 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B658 003172B8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B65C 003172BC 41 82 00 14 */ beq lbl_8031B670 +/* 8031B660 003172C0 80 CD B0 00 */ lwz r6, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B664 003172C4 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B668 003172C8 41 82 00 08 */ beq lbl_8031B670 +/* 8031B66C 003172CC 48 00 00 08 */ b lbl_8031B674 +lbl_8031B670: +/* 8031B670 003172D0 38 C0 00 00 */ li r6, 0 +lbl_8031B674: +/* 8031B674 003172D4 1C 00 01 40 */ mulli r0, r0, 0x140 +/* 8031B678 003172D8 7C A6 02 14 */ add r5, r6, r0 +/* 8031B67C 003172DC 48 00 00 30 */ b lbl_8031B6AC +lbl_8031B680: +/* 8031B680 003172E0 80 06 00 00 */ lwz r0, 0(r6) +/* 8031B684 003172E4 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B688 003172E8 41 82 00 20 */ beq lbl_8031B6A8 +/* 8031B68C 003172EC 88 86 00 14 */ lbz r4, 0x14(r6) +/* 8031B690 003172F0 88 03 18 7A */ lbz r0, 0x187a(r3) +/* 8031B694 003172F4 7C 84 07 74 */ extsb r4, r4 +/* 8031B698 003172F8 7C 00 07 74 */ extsb r0, r0 +/* 8031B69C 003172FC 7C 04 00 00 */ cmpw r4, r0 +/* 8031B6A0 00317300 40 82 00 08 */ bne lbl_8031B6A8 +/* 8031B6A4 00317304 48 00 00 14 */ b lbl_8031B6B8 +lbl_8031B6A8: +/* 8031B6A8 00317308 38 C6 01 40 */ addi r6, r6, 0x140 +lbl_8031B6AC: +/* 8031B6AC 0031730C 7C 06 28 40 */ cmplw r6, r5 +/* 8031B6B0 00317310 40 82 FF D0 */ bne lbl_8031B680 +lbl_8031B6B4: +/* 8031B6B4 00317314 38 C0 00 00 */ li r6, 0 +lbl_8031B6B8: +/* 8031B6B8 00317318 2C 06 00 00 */ cmpwi r6, 0 +/* 8031B6BC 0031731C 41 82 00 18 */ beq lbl_8031B6D4 +/* 8031B6C0 00317320 80 66 00 08 */ lwz r3, 8(r6) +/* 8031B6C4 00317324 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B6C8 00317328 41 82 00 0C */ beq lbl_8031B6D4 +/* 8031B6CC 0031732C 48 00 06 01 */ bl func_8031BCCC +/* 8031B6D0 00317330 48 00 00 08 */ b lbl_8031B6D8 +lbl_8031B6D4: +/* 8031B6D4 00317334 38 60 FF FF */ li r3, -1 +lbl_8031B6D8: +/* 8031B6D8 00317338 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031B6DC 0031733C 7C 08 03 A6 */ mtlr r0 +/* 8031B6E0 00317340 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031B6E4 00317344 4E 80 00 20 */ blr + +.global func_8031B6E8 +func_8031B6E8: +/* 8031B6E8 00317348 80 0D AF F0 */ lwz r0, lbl_806402B0-_SDA_BASE_(r13) +/* 8031B6EC 0031734C 7C 03 00 40 */ cmplw r3, r0 +/* 8031B6F0 00317350 40 80 00 1C */ bge lbl_8031B70C +/* 8031B6F4 00317354 80 8D B0 00 */ lwz r4, lbl_806402C0-_SDA_BASE_(r13) +/* 8031B6F8 00317358 2C 04 00 00 */ cmpwi r4, 0 +/* 8031B6FC 0031735C 41 82 00 10 */ beq lbl_8031B70C +/* 8031B700 00317360 1C 03 01 40 */ mulli r0, r3, 0x140 +/* 8031B704 00317364 7C 64 02 14 */ add r3, r4, r0 +/* 8031B708 00317368 48 00 00 08 */ b lbl_8031B710 +lbl_8031B70C: +/* 8031B70C 0031736C 38 60 00 00 */ li r3, 0 +lbl_8031B710: +/* 8031B710 00317370 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B714 00317374 41 82 00 14 */ beq lbl_8031B728 +/* 8031B718 00317378 80 63 00 08 */ lwz r3, 8(r3) +/* 8031B71C 0031737C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B720 00317380 41 82 00 08 */ beq lbl_8031B728 +/* 8031B724 00317384 48 00 05 A8 */ b func_8031BCCC +lbl_8031B728: +/* 8031B728 00317388 38 60 FF FF */ li r3, -1 +/* 8031B72C 0031738C 4E 80 00 20 */ blr + +.global func_8031B730 +func_8031B730: +/* 8031B730 00317390 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031B734 00317394 7C 08 02 A6 */ mflr r0 +/* 8031B738 00317398 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031B73C 0031739C 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031B740 003173A0 4B EA B9 E1 */ bl _savegpr_25 +/* 8031B744 003173A4 7C 7E 1B 78 */ mr r30, r3 +/* 8031B748 003173A8 38 80 00 00 */ li r4, 0 +/* 8031B74C 003173AC 48 00 00 0C */ b lbl_8031B758 +lbl_8031B750: +/* 8031B750 003173B0 38 63 00 01 */ addi r3, r3, 1 +/* 8031B754 003173B4 38 84 00 01 */ addi r4, r4, 1 +lbl_8031B758: +/* 8031B758 003173B8 88 03 00 00 */ lbz r0, 0(r3) +/* 8031B75C 003173BC 7C 00 07 75 */ extsb. r0, r0 +/* 8031B760 003173C0 40 82 FF F0 */ bne lbl_8031B750 +/* 8031B764 003173C4 28 04 00 08 */ cmplwi r4, 8 +/* 8031B768 003173C8 40 80 00 D8 */ bge lbl_8031B840 +/* 8031B76C 003173CC 7F C3 F3 78 */ mr r3, r30 +/* 8031B770 003173D0 3B 80 00 00 */ li r28, 0 +/* 8031B774 003173D4 48 00 00 0C */ b lbl_8031B780 +lbl_8031B778: +/* 8031B778 003173D8 38 63 00 01 */ addi r3, r3, 1 +/* 8031B77C 003173DC 3B 9C 00 01 */ addi r28, r28, 1 +lbl_8031B780: +/* 8031B780 003173E0 88 03 00 00 */ lbz r0, 0(r3) +/* 8031B784 003173E4 7C 00 07 75 */ extsb. r0, r0 +/* 8031B788 003173E8 40 82 FF F0 */ bne lbl_8031B778 +/* 8031B78C 003173EC 3F 60 80 61 */ lis r27, lbl_8060F608@ha +/* 8031B790 003173F0 3F A0 80 58 */ lis r29, lbl_8057F5C8@ha +/* 8031B794 003173F4 3B 7B F6 08 */ addi r27, r27, lbl_8060F608@l +/* 8031B798 003173F8 3B E0 00 00 */ li r31, 0 +/* 8031B79C 003173FC 3B BD F5 C8 */ addi r29, r29, lbl_8057F5C8@l +/* 8031B7A0 00317400 3B 20 00 00 */ li r25, 0 +/* 8031B7A4 00317404 48 00 00 74 */ b lbl_8031B818 +lbl_8031B7A8: +/* 8031B7A8 00317408 2C 19 00 00 */ cmpwi r25, 0 +/* 8031B7AC 0031740C 41 82 00 0C */ beq lbl_8031B7B8 +/* 8031B7B0 00317410 3B 20 00 00 */ li r25, 0 +/* 8031B7B4 00317414 48 00 00 5C */ b lbl_8031B810 +lbl_8031B7B8: +/* 8031B7B8 00317418 7C 1E F8 AE */ lbzx r0, r30, r31 +/* 8031B7BC 0031741C 7F 5E FA 14 */ add r26, r30, r31 +/* 8031B7C0 00317420 81 9D 00 30 */ lwz r12, 0x30(r29) +/* 8031B7C4 00317424 38 80 00 01 */ li r4, 1 +/* 8031B7C8 00317428 7C 03 07 74 */ extsb r3, r0 +/* 8031B7CC 0031742C 7D 89 03 A6 */ mtctr r12 +/* 8031B7D0 00317430 4E 80 04 21 */ bctrl +/* 8031B7D4 00317434 2C 03 00 00 */ cmpwi r3, 0 +/* 8031B7D8 00317438 41 82 00 2C */ beq lbl_8031B804 +/* 8031B7DC 0031743C 88 7A 00 01 */ lbz r3, 1(r26) +/* 8031B7E0 00317440 3B 20 00 01 */ li r25, 1 +/* 8031B7E4 00317444 88 1A 00 00 */ lbz r0, 0(r26) +/* 8031B7E8 00317448 7C 63 07 74 */ extsb r3, r3 +/* 8031B7EC 0031744C 7C 00 07 74 */ extsb r0, r0 +/* 8031B7F0 00317450 54 63 04 3E */ clrlwi r3, r3, 0x10 +/* 8031B7F4 00317454 54 00 40 2E */ slwi r0, r0, 8 +/* 8031B7F8 00317458 7C 60 03 78 */ or r0, r3, r0 +/* 8031B7FC 0031745C B0 1B 00 00 */ sth r0, 0(r27) +/* 8031B800 00317460 48 00 00 10 */ b lbl_8031B810 +lbl_8031B804: +/* 8031B804 00317464 88 1A 00 00 */ lbz r0, 0(r26) +/* 8031B808 00317468 7C 00 07 74 */ extsb r0, r0 +/* 8031B80C 0031746C B0 1B 00 00 */ sth r0, 0(r27) +lbl_8031B810: +/* 8031B810 00317470 3B 7B 00 02 */ addi r27, r27, 2 +/* 8031B814 00317474 3B FF 00 01 */ addi r31, r31, 1 +lbl_8031B818: +/* 8031B818 00317478 7C 1F E0 40 */ cmplw r31, r28 +/* 8031B81C 0031747C 41 80 FF 8C */ blt lbl_8031B7A8 +/* 8031B820 00317480 3C 80 80 61 */ lis r4, lbl_8060F608@ha +/* 8031B824 00317484 38 A0 00 00 */ li r5, 0 +/* 8031B828 00317488 38 84 F6 08 */ addi r4, r4, lbl_8060F608@l +/* 8031B82C 0031748C 57 E0 08 3C */ slwi r0, r31, 1 +/* 8031B830 00317490 B0 A4 00 0E */ sth r5, 0xe(r4) +/* 8031B834 00317494 38 60 00 01 */ li r3, 1 +/* 8031B838 00317498 7C A4 03 2E */ sthx r5, r4, r0 +/* 8031B83C 0031749C 48 00 00 08 */ b lbl_8031B844 +lbl_8031B840: +/* 8031B840 003174A0 38 60 00 00 */ li r3, 0 +lbl_8031B844: +/* 8031B844 003174A4 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031B848 003174A8 4B EA B9 25 */ bl _restgpr_25 +/* 8031B84C 003174AC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031B850 003174B0 7C 08 03 A6 */ mtlr r0 +/* 8031B854 003174B4 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031B858 003174B8 4E 80 00 20 */ blr + +.global func_8031B85C +func_8031B85C: +/* 8031B85C 003174BC 38 00 00 00 */ li r0, 0 +/* 8031B860 003174C0 3C 60 80 61 */ lis r3, lbl_8060F618@ha +/* 8031B864 003174C4 B4 03 F6 18 */ sthu r0, lbl_8060F618@l(r3) +/* 8031B868 003174C8 98 03 00 10 */ stb r0, 0x10(r3) +/* 8031B86C 003174CC B0 03 00 12 */ sth r0, 0x12(r3) +/* 8031B870 003174D0 98 03 00 22 */ stb r0, 0x22(r3) +/* 8031B874 003174D4 B0 03 00 24 */ sth r0, 0x24(r3) +/* 8031B878 003174D8 98 03 00 34 */ stb r0, 0x34(r3) +/* 8031B87C 003174DC B0 03 00 36 */ sth r0, 0x36(r3) +/* 8031B880 003174E0 98 03 00 46 */ stb r0, 0x46(r3) +/* 8031B884 003174E4 B0 03 00 48 */ sth r0, 0x48(r3) +/* 8031B888 003174E8 98 03 00 58 */ stb r0, 0x58(r3) +/* 8031B88C 003174EC B0 03 00 5A */ sth r0, 0x5a(r3) +/* 8031B890 003174F0 98 03 00 6A */ stb r0, 0x6a(r3) +/* 8031B894 003174F4 B0 03 00 6C */ sth r0, 0x6c(r3) +/* 8031B898 003174F8 98 03 00 7C */ stb r0, 0x7c(r3) +/* 8031B89C 003174FC B0 03 00 7E */ sth r0, 0x7e(r3) +/* 8031B8A0 00317500 98 03 00 8E */ stb r0, 0x8e(r3) +/* 8031B8A4 00317504 B0 03 00 90 */ sth r0, 0x90(r3) +/* 8031B8A8 00317508 98 03 00 A0 */ stb r0, 0xa0(r3) +/* 8031B8AC 0031750C B0 03 00 A2 */ sth r0, 0xa2(r3) +/* 8031B8B0 00317510 98 03 00 B2 */ stb r0, 0xb2(r3) +/* 8031B8B4 00317514 B0 03 00 B4 */ sth r0, 0xb4(r3) +/* 8031B8B8 00317518 98 03 00 C4 */ stb r0, 0xc4(r3) +/* 8031B8BC 0031751C B0 03 00 C6 */ sth r0, 0xc6(r3) +/* 8031B8C0 00317520 98 03 00 D6 */ stb r0, 0xd6(r3) +/* 8031B8C4 00317524 B0 03 00 D8 */ sth r0, 0xd8(r3) +/* 8031B8C8 00317528 98 03 00 E8 */ stb r0, 0xe8(r3) +/* 8031B8CC 0031752C B0 03 00 EA */ sth r0, 0xea(r3) +/* 8031B8D0 00317530 98 03 00 FA */ stb r0, 0xfa(r3) +/* 8031B8D4 00317534 B0 03 00 FC */ sth r0, 0xfc(r3) +/* 8031B8D8 00317538 98 03 01 0C */ stb r0, 0x10c(r3) +/* 8031B8DC 0031753C B0 03 01 0E */ sth r0, 0x10e(r3) +/* 8031B8E0 00317540 98 03 01 1E */ stb r0, 0x11e(r3) +/* 8031B8E4 00317544 B0 03 01 20 */ sth r0, 0x120(r3) +/* 8031B8E8 00317548 98 03 01 30 */ stb r0, 0x130(r3) +/* 8031B8EC 0031754C B0 03 01 32 */ sth r0, 0x132(r3) +/* 8031B8F0 00317550 98 03 01 42 */ stb r0, 0x142(r3) +/* 8031B8F4 00317554 B0 03 01 44 */ sth r0, 0x144(r3) +/* 8031B8F8 00317558 98 03 01 54 */ stb r0, 0x154(r3) +/* 8031B8FC 0031755C B0 03 01 56 */ sth r0, 0x156(r3) +/* 8031B900 00317560 98 03 01 66 */ stb r0, 0x166(r3) +/* 8031B904 00317564 B0 03 01 68 */ sth r0, 0x168(r3) +/* 8031B908 00317568 98 03 01 78 */ stb r0, 0x178(r3) +/* 8031B90C 0031756C B0 03 01 7A */ sth r0, 0x17a(r3) +/* 8031B910 00317570 98 03 01 8A */ stb r0, 0x18a(r3) +/* 8031B914 00317574 B0 03 01 8C */ sth r0, 0x18c(r3) +/* 8031B918 00317578 98 03 01 9C */ stb r0, 0x19c(r3) +/* 8031B91C 0031757C B0 03 01 9E */ sth r0, 0x19e(r3) +/* 8031B920 00317580 98 03 01 AE */ stb r0, 0x1ae(r3) +/* 8031B924 00317584 B0 03 01 B0 */ sth r0, 0x1b0(r3) +/* 8031B928 00317588 98 03 01 C0 */ stb r0, 0x1c0(r3) +/* 8031B92C 0031758C B0 03 01 C2 */ sth r0, 0x1c2(r3) +/* 8031B930 00317590 98 03 01 D2 */ stb r0, 0x1d2(r3) +/* 8031B934 00317594 B0 03 01 D4 */ sth r0, 0x1d4(r3) +/* 8031B938 00317598 98 03 01 E4 */ stb r0, 0x1e4(r3) +/* 8031B93C 0031759C B0 03 01 E6 */ sth r0, 0x1e6(r3) +/* 8031B940 003175A0 98 03 01 F6 */ stb r0, 0x1f6(r3) +/* 8031B944 003175A4 B0 03 01 F8 */ sth r0, 0x1f8(r3) +/* 8031B948 003175A8 98 03 02 08 */ stb r0, 0x208(r3) +/* 8031B94C 003175AC B0 03 02 0A */ sth r0, 0x20a(r3) +/* 8031B950 003175B0 98 03 02 1A */ stb r0, 0x21a(r3) +/* 8031B954 003175B4 B0 03 02 1C */ sth r0, 0x21c(r3) +/* 8031B958 003175B8 98 03 02 2C */ stb r0, 0x22c(r3) +/* 8031B95C 003175BC 4E 80 00 20 */ blr + +.global func_8031B960 +func_8031B960: +/* 8031B960 003175C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031B964 003175C4 38 80 00 00 */ li r4, 0 +/* 8031B968 003175C8 7C 65 1B 78 */ mr r5, r3 +/* 8031B96C 003175CC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031B970 003175D0 48 00 00 0C */ b lbl_8031B97C +lbl_8031B974: +/* 8031B974 003175D4 38 A5 00 02 */ addi r5, r5, 2 +/* 8031B978 003175D8 38 84 00 01 */ addi r4, r4, 1 +lbl_8031B97C: +/* 8031B97C 003175DC A0 05 00 00 */ lhz r0, 0(r5) +/* 8031B980 003175E0 2C 00 00 00 */ cmpwi r0, 0 +/* 8031B984 003175E4 40 82 FF F0 */ bne lbl_8031B974 +/* 8031B988 003175E8 2C 04 00 08 */ cmpwi r4, 8 +/* 8031B98C 003175EC 40 80 00 6C */ bge lbl_8031B9F8 +/* 8031B990 003175F0 7C 67 1B 78 */ mr r7, r3 +/* 8031B994 003175F4 38 C0 00 00 */ li r6, 0 +/* 8031B998 003175F8 38 A0 00 00 */ li r5, 0 +/* 8031B99C 003175FC 7C 89 03 A6 */ mtctr r4 +/* 8031B9A0 00317600 28 04 00 00 */ cmplwi r4, 0 +/* 8031B9A4 00317604 40 81 00 2C */ ble lbl_8031B9D0 +lbl_8031B9A8: +/* 8031B9A8 00317608 28 05 00 07 */ cmplwi r5, 7 +/* 8031B9AC 0031760C 40 81 00 08 */ ble lbl_8031B9B4 +/* 8031B9B0 00317610 38 A0 00 00 */ li r5, 0 +lbl_8031B9B4: +/* 8031B9B4 00317614 A0 87 00 00 */ lhz r4, 0(r7) +/* 8031B9B8 00317618 54 A0 10 3A */ slwi r0, r5, 2 +/* 8031B9BC 0031761C 38 E7 00 02 */ addi r7, r7, 2 +/* 8031B9C0 00317620 38 A5 00 01 */ addi r5, r5, 1 +/* 8031B9C4 00317624 7C 80 00 30 */ slw r0, r4, r0 +/* 8031B9C8 00317628 7C C6 02 14 */ add r6, r6, r0 +/* 8031B9CC 0031762C 42 00 FF DC */ bdnz lbl_8031B9A8 +lbl_8031B9D0: +/* 8031B9D0 00317630 3C 80 08 42 */ lis r4, 0x08421085@ha +/* 8031B9D4 00317634 38 04 10 85 */ addi r0, r4, 0x08421085@l +/* 8031B9D8 00317638 7C 80 30 16 */ mulhwu r4, r0, r6 +/* 8031B9DC 0031763C 7C 04 30 50 */ subf r0, r4, r6 +/* 8031B9E0 00317640 54 00 F8 7E */ srwi r0, r0, 1 +/* 8031B9E4 00317644 7C 00 22 14 */ add r0, r0, r4 +/* 8031B9E8 00317648 54 00 E1 3E */ srwi r0, r0, 4 +/* 8031B9EC 0031764C 1C 00 00 1F */ mulli r0, r0, 0x1f +/* 8031B9F0 00317650 7D 00 30 50 */ subf r8, r0, r6 +/* 8031B9F4 00317654 48 00 00 08 */ b lbl_8031B9FC +lbl_8031B9F8: +/* 8031B9F8 00317658 39 00 FF FF */ li r8, -1 +lbl_8031B9FC: +/* 8031B9FC 0031765C 2C 08 FF FF */ cmpwi r8, -1 +/* 8031BA00 00317660 41 82 00 E0 */ beq lbl_8031BAE0 +/* 8031BA04 00317664 7C 64 1B 78 */ mr r4, r3 +/* 8031BA08 00317668 39 20 00 00 */ li r9, 0 +/* 8031BA0C 0031766C 48 00 00 0C */ b lbl_8031BA18 +lbl_8031BA10: +/* 8031BA10 00317670 38 84 00 02 */ addi r4, r4, 2 +/* 8031BA14 00317674 39 29 00 01 */ addi r9, r9, 1 +lbl_8031BA18: +/* 8031BA18 00317678 A0 04 00 00 */ lhz r0, 0(r4) +/* 8031BA1C 0031767C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031BA20 00317680 40 82 FF F0 */ bne lbl_8031BA10 +/* 8031BA24 00317684 3C 80 84 21 */ lis r4, 0x84210843@ha +/* 8031BA28 00317688 3C A0 80 61 */ lis r5, lbl_8060F618@ha +/* 8031BA2C 0031768C 38 C4 08 43 */ addi r6, r4, 0x84210843@l +/* 8031BA30 00317690 39 60 00 00 */ li r11, 0 +/* 8031BA34 00317694 38 A5 F6 18 */ addi r5, r5, lbl_8060F618@l +lbl_8031BA38: +/* 8031BA38 00317698 7C 0B 59 D6 */ mullw r0, r11, r11 +/* 8031BA3C 0031769C 39 40 00 00 */ li r10, 0 +/* 8031BA40 003176A0 7C E8 02 14 */ add r7, r8, r0 +/* 8031BA44 003176A4 7C 06 38 96 */ mulhw r0, r6, r7 +/* 8031BA48 003176A8 7C 00 3A 14 */ add r0, r0, r7 +/* 8031BA4C 003176AC 7C 00 26 70 */ srawi r0, r0, 4 +/* 8031BA50 003176B0 54 04 0F FE */ srwi r4, r0, 0x1f +/* 8031BA54 003176B4 7C 00 22 14 */ add r0, r0, r4 +/* 8031BA58 003176B8 1C 00 00 1F */ mulli r0, r0, 0x1f +/* 8031BA5C 003176BC 7C E0 38 50 */ subf r7, r0, r7 +/* 8031BA60 003176C0 1C 07 00 12 */ mulli r0, r7, 0x12 +/* 8031BA64 003176C4 7D 85 02 14 */ add r12, r5, r0 +/* 8031BA68 003176C8 7D 84 63 78 */ mr r4, r12 +/* 8031BA6C 003176CC 48 00 00 0C */ b lbl_8031BA78 +lbl_8031BA70: +/* 8031BA70 003176D0 38 84 00 02 */ addi r4, r4, 2 +/* 8031BA74 003176D4 39 4A 00 01 */ addi r10, r10, 1 +lbl_8031BA78: +/* 8031BA78 003176D8 A0 04 00 00 */ lhz r0, 0(r4) +/* 8031BA7C 003176DC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031BA80 003176E0 40 82 FF F0 */ bne lbl_8031BA70 +/* 8031BA84 003176E4 7C 09 50 00 */ cmpw r9, r10 +/* 8031BA88 003176E8 40 82 00 4C */ bne lbl_8031BAD4 +/* 8031BA8C 003176EC 7C 6A 1B 78 */ mr r10, r3 +/* 8031BA90 003176F0 3B E0 00 01 */ li r31, 1 +/* 8031BA94 003176F4 7D 29 03 A6 */ mtctr r9 +/* 8031BA98 003176F8 2C 09 00 00 */ cmpwi r9, 0 +/* 8031BA9C 003176FC 40 81 00 28 */ ble lbl_8031BAC4 +lbl_8031BAA0: +/* 8031BAA0 00317700 A0 8A 00 00 */ lhz r4, 0(r10) +/* 8031BAA4 00317704 A0 0C 00 00 */ lhz r0, 0(r12) +/* 8031BAA8 00317708 7C 04 00 40 */ cmplw r4, r0 +/* 8031BAAC 0031770C 41 82 00 0C */ beq lbl_8031BAB8 +/* 8031BAB0 00317710 3B E0 00 00 */ li r31, 0 +/* 8031BAB4 00317714 48 00 00 10 */ b lbl_8031BAC4 +lbl_8031BAB8: +/* 8031BAB8 00317718 39 4A 00 02 */ addi r10, r10, 2 +/* 8031BABC 0031771C 39 8C 00 02 */ addi r12, r12, 2 +/* 8031BAC0 00317720 42 00 FF E0 */ bdnz lbl_8031BAA0 +lbl_8031BAC4: +/* 8031BAC4 00317724 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031BAC8 00317728 41 82 00 0C */ beq lbl_8031BAD4 +/* 8031BACC 0031772C 7C E3 3B 78 */ mr r3, r7 +/* 8031BAD0 00317730 48 00 00 14 */ b lbl_8031BAE4 +lbl_8031BAD4: +/* 8031BAD4 00317734 39 6B 00 01 */ addi r11, r11, 1 +/* 8031BAD8 00317738 2C 0B 00 0F */ cmpwi r11, 0xf +/* 8031BADC 0031773C 41 80 FF 5C */ blt lbl_8031BA38 +lbl_8031BAE0: +/* 8031BAE0 00317740 38 60 FF FF */ li r3, -1 +lbl_8031BAE4: +/* 8031BAE4 00317744 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031BAE8 00317748 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031BAEC 0031774C 4E 80 00 20 */ blr + +.global func_8031BAF0 +func_8031BAF0: +/* 8031BAF0 00317750 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031BAF4 00317754 7C 08 02 A6 */ mflr r0 +/* 8031BAF8 00317758 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031BAFC 0031775C 4B FF FC 35 */ bl func_8031B730 +/* 8031BB00 00317760 2C 03 00 00 */ cmpwi r3, 0 +/* 8031BB04 00317764 41 82 00 38 */ beq lbl_8031BB3C +/* 8031BB08 00317768 3C 60 80 61 */ lis r3, lbl_8060F608@ha +/* 8031BB0C 0031776C 38 63 F6 08 */ addi r3, r3, lbl_8060F608@l +/* 8031BB10 00317770 4B FF FE 51 */ bl func_8031B960 +/* 8031BB14 00317774 2C 03 FF FF */ cmpwi r3, -1 +/* 8031BB18 00317778 40 82 00 0C */ bne lbl_8031BB24 +/* 8031BB1C 0031777C 38 60 FF FF */ li r3, -1 +/* 8031BB20 00317780 48 00 00 20 */ b lbl_8031BB40 +lbl_8031BB24: +/* 8031BB24 00317784 1C 03 00 12 */ mulli r0, r3, 0x12 +/* 8031BB28 00317788 3C 60 80 61 */ lis r3, lbl_8060F618@ha +/* 8031BB2C 0031778C 38 63 F6 18 */ addi r3, r3, lbl_8060F618@l +/* 8031BB30 00317790 7C 63 02 14 */ add r3, r3, r0 +/* 8031BB34 00317794 88 63 00 10 */ lbz r3, 0x10(r3) +/* 8031BB38 00317798 48 00 00 08 */ b lbl_8031BB40 +lbl_8031BB3C: +/* 8031BB3C 0031779C 38 60 FF FF */ li r3, -1 +lbl_8031BB40: +/* 8031BB40 003177A0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031BB44 003177A4 7C 08 03 A6 */ mtlr r0 +/* 8031BB48 003177A8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031BB4C 003177AC 4E 80 00 20 */ blr + +.global func_8031BB50 +func_8031BB50: +/* 8031BB50 003177B0 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8031BB54 003177B4 7C 08 02 A6 */ mflr r0 +/* 8031BB58 003177B8 90 01 00 44 */ stw r0, 0x44(r1) +/* 8031BB5C 003177BC 38 00 00 00 */ li r0, 0 +/* 8031BB60 003177C0 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 8031BB64 003177C4 7C 9F 23 78 */ mr r31, r4 +/* 8031BB68 003177C8 93 C1 00 38 */ stw r30, 0x38(r1) +/* 8031BB6C 003177CC 7C 7E 1B 78 */ mr r30, r3 +/* 8031BB70 003177D0 B0 03 00 00 */ sth r0, 0(r3) +/* 8031BB74 003177D4 B0 03 00 02 */ sth r0, 2(r3) +/* 8031BB78 003177D8 B0 03 00 04 */ sth r0, 4(r3) +/* 8031BB7C 003177DC B0 04 00 00 */ sth r0, 0(r4) +/* 8031BB80 003177E0 B0 04 00 02 */ sth r0, 2(r4) +/* 8031BB84 003177E4 B0 04 00 04 */ sth r0, 4(r4) +/* 8031BB88 003177E8 4B F5 6C 31 */ bl OSGetTime +/* 8031BB8C 003177EC 38 A1 00 08 */ addi r5, r1, 8 +/* 8031BB90 003177F0 4B F5 6E 75 */ bl OSTicksToCalendarTime +/* 8031BB94 003177F4 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 8031BB98 003177F8 B0 1E 00 00 */ sth r0, 0(r30) +/* 8031BB9C 003177FC 80 61 00 18 */ lwz r3, 0x18(r1) +/* 8031BBA0 00317800 38 03 00 01 */ addi r0, r3, 1 +/* 8031BBA4 00317804 B0 1E 00 02 */ sth r0, 2(r30) +/* 8031BBA8 00317808 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031BBAC 0031780C B0 1E 00 04 */ sth r0, 4(r30) +/* 8031BBB0 00317810 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8031BBB4 00317814 B0 1F 00 00 */ sth r0, 0(r31) +/* 8031BBB8 00317818 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8031BBBC 0031781C B0 1F 00 02 */ sth r0, 2(r31) +/* 8031BBC0 00317820 80 01 00 08 */ lwz r0, 8(r1) +/* 8031BBC4 00317824 B0 1F 00 04 */ sth r0, 4(r31) +/* 8031BBC8 00317828 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 8031BBCC 0031782C 83 C1 00 38 */ lwz r30, 0x38(r1) +/* 8031BBD0 00317830 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8031BBD4 00317834 7C 08 03 A6 */ mtlr r0 +/* 8031BBD8 00317838 38 21 00 40 */ addi r1, r1, 0x40 +/* 8031BBDC 0031783C 4E 80 00 20 */ blr + +.global func_8031BBE0 +func_8031BBE0: +/* 8031BBE0 00317840 3C 80 80 61 */ lis r4, lbl_8060F848@ha +/* 8031BBE4 00317844 38 00 00 03 */ li r0, 3 +/* 8031BBE8 00317848 38 84 F8 48 */ addi r4, r4, lbl_8060F848@l +/* 8031BBEC 0031784C 38 60 00 00 */ li r3, 0 +/* 8031BBF0 00317850 7C 09 03 A6 */ mtctr r0 +lbl_8031BBF4: +/* 8031BBF4 00317854 90 64 00 00 */ stw r3, 0(r4) +/* 8031BBF8 00317858 90 64 00 04 */ stw r3, 4(r4) +/* 8031BBFC 0031785C 90 64 00 08 */ stw r3, 8(r4) +/* 8031BC00 00317860 90 64 00 0C */ stw r3, 0xc(r4) +/* 8031BC04 00317864 90 64 00 10 */ stw r3, 0x10(r4) +/* 8031BC08 00317868 90 64 00 14 */ stw r3, 0x14(r4) +/* 8031BC0C 0031786C 90 64 00 18 */ stw r3, 0x18(r4) +/* 8031BC10 00317870 90 64 00 1C */ stw r3, 0x1c(r4) +/* 8031BC14 00317874 90 64 00 20 */ stw r3, 0x20(r4) +/* 8031BC18 00317878 90 64 00 24 */ stw r3, 0x24(r4) +/* 8031BC1C 0031787C 90 64 00 28 */ stw r3, 0x28(r4) +/* 8031BC20 00317880 90 64 00 2C */ stw r3, 0x2c(r4) +/* 8031BC24 00317884 90 64 00 30 */ stw r3, 0x30(r4) +/* 8031BC28 00317888 90 64 00 34 */ stw r3, 0x34(r4) +/* 8031BC2C 0031788C 90 64 00 38 */ stw r3, 0x38(r4) +/* 8031BC30 00317890 90 64 00 3C */ stw r3, 0x3c(r4) +/* 8031BC34 00317894 90 64 00 40 */ stw r3, 0x40(r4) +/* 8031BC38 00317898 90 64 00 44 */ stw r3, 0x44(r4) +/* 8031BC3C 0031789C 90 64 00 48 */ stw r3, 0x48(r4) +/* 8031BC40 003178A0 90 64 00 4C */ stw r3, 0x4c(r4) +/* 8031BC44 003178A4 90 64 00 50 */ stw r3, 0x50(r4) +/* 8031BC48 003178A8 90 64 00 54 */ stw r3, 0x54(r4) +/* 8031BC4C 003178AC 90 64 00 58 */ stw r3, 0x58(r4) +/* 8031BC50 003178B0 90 64 00 5C */ stw r3, 0x5c(r4) +/* 8031BC54 003178B4 90 64 00 60 */ stw r3, 0x60(r4) +/* 8031BC58 003178B8 90 64 00 64 */ stw r3, 0x64(r4) +/* 8031BC5C 003178BC 90 64 00 68 */ stw r3, 0x68(r4) +/* 8031BC60 003178C0 90 64 00 6C */ stw r3, 0x6c(r4) +/* 8031BC64 003178C4 90 64 00 70 */ stw r3, 0x70(r4) +/* 8031BC68 003178C8 90 64 00 74 */ stw r3, 0x74(r4) +/* 8031BC6C 003178CC 90 64 00 78 */ stw r3, 0x78(r4) +/* 8031BC70 003178D0 90 64 00 7C */ stw r3, 0x7c(r4) +/* 8031BC74 003178D4 90 64 00 80 */ stw r3, 0x80(r4) +/* 8031BC78 003178D8 90 64 00 84 */ stw r3, 0x84(r4) +/* 8031BC7C 003178DC 90 64 00 88 */ stw r3, 0x88(r4) +/* 8031BC80 003178E0 90 64 00 8C */ stw r3, 0x8c(r4) +/* 8031BC84 003178E4 90 64 00 90 */ stw r3, 0x90(r4) +/* 8031BC88 003178E8 90 64 00 94 */ stw r3, 0x94(r4) +/* 8031BC8C 003178EC 90 64 00 98 */ stw r3, 0x98(r4) +/* 8031BC90 003178F0 90 64 00 9C */ stw r3, 0x9c(r4) +/* 8031BC94 003178F4 38 84 00 A0 */ addi r4, r4, 0xa0 +/* 8031BC98 003178F8 42 00 FF 5C */ bdnz lbl_8031BBF4 +/* 8031BC9C 003178FC 38 00 00 00 */ li r0, 0 +/* 8031BCA0 00317900 90 04 00 00 */ stw r0, 0(r4) +/* 8031BCA4 00317904 90 04 00 04 */ stw r0, 4(r4) +/* 8031BCA8 00317908 90 04 00 08 */ stw r0, 8(r4) +/* 8031BCAC 0031790C 90 04 00 0C */ stw r0, 0xc(r4) +/* 8031BCB0 00317910 90 04 00 10 */ stw r0, 0x10(r4) +/* 8031BCB4 00317914 90 04 00 14 */ stw r0, 0x14(r4) +/* 8031BCB8 00317918 90 04 00 18 */ stw r0, 0x18(r4) +/* 8031BCBC 0031791C 90 04 00 1C */ stw r0, 0x1c(r4) +/* 8031BCC0 00317920 90 04 00 20 */ stw r0, 0x20(r4) +/* 8031BCC4 00317924 90 04 00 24 */ stw r0, 0x24(r4) +/* 8031BCC8 00317928 4E 80 00 20 */ blr + +.global func_8031BCCC +func_8031BCCC: +/* 8031BCCC 0031792C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031BCD0 00317930 7C 08 02 A6 */ mflr r0 +/* 8031BCD4 00317934 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031BCD8 00317938 4B FF EE A5 */ bl func_8031AB7C +/* 8031BCDC 0031793C 28 03 00 1A */ cmplwi r3, 0x1a +/* 8031BCE0 00317940 40 80 00 18 */ bge lbl_8031BCF8 +/* 8031BCE4 00317944 1C 03 00 14 */ mulli r0, r3, 0x14 +/* 8031BCE8 00317948 3C 60 80 61 */ lis r3, lbl_8060F848@ha +/* 8031BCEC 0031794C 38 63 F8 48 */ addi r3, r3, lbl_8060F848@l +/* 8031BCF0 00317950 7C 63 02 14 */ add r3, r3, r0 +/* 8031BCF4 00317954 48 00 00 08 */ b lbl_8031BCFC +lbl_8031BCF8: +/* 8031BCF8 00317958 38 60 00 00 */ li r3, 0 +lbl_8031BCFC: +/* 8031BCFC 0031795C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031BD00 00317960 41 82 00 0C */ beq lbl_8031BD0C +/* 8031BD04 00317964 80 63 00 04 */ lwz r3, 4(r3) +/* 8031BD08 00317968 48 00 00 08 */ b lbl_8031BD10 +lbl_8031BD0C: +/* 8031BD0C 0031796C 38 60 00 00 */ li r3, 0 +lbl_8031BD10: +/* 8031BD10 00317970 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031BD14 00317974 7C 08 03 A6 */ mtlr r0 +/* 8031BD18 00317978 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031BD1C 0031797C 4E 80 00 20 */ blr + +.global func_8031BD20 +func_8031BD20: +/* 8031BD20 00317980 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031BD24 00317984 7C 08 02 A6 */ mflr r0 +/* 8031BD28 00317988 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031BD2C 0031798C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031BD30 00317990 7C 9F 23 78 */ mr r31, r4 +/* 8031BD34 00317994 4B FF EE 49 */ bl func_8031AB7C +/* 8031BD38 00317998 28 03 00 1A */ cmplwi r3, 0x1a +/* 8031BD3C 0031799C 40 80 00 18 */ bge lbl_8031BD54 +/* 8031BD40 003179A0 1C 03 00 14 */ mulli r0, r3, 0x14 +/* 8031BD44 003179A4 3C 60 80 61 */ lis r3, lbl_8060F848@ha +/* 8031BD48 003179A8 38 63 F8 48 */ addi r3, r3, lbl_8060F848@l +/* 8031BD4C 003179AC 7C 63 02 14 */ add r3, r3, r0 +/* 8031BD50 003179B0 48 00 00 08 */ b lbl_8031BD58 +lbl_8031BD54: +/* 8031BD54 003179B4 38 60 00 00 */ li r3, 0 +lbl_8031BD58: +/* 8031BD58 003179B8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031BD5C 003179BC 41 82 00 08 */ beq lbl_8031BD64 +/* 8031BD60 003179C0 93 E3 00 04 */ stw r31, 4(r3) +lbl_8031BD64: +/* 8031BD64 003179C4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031BD68 003179C8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031BD6C 003179CC 7C 08 03 A6 */ mtlr r0 +/* 8031BD70 003179D0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031BD74 003179D4 4E 80 00 20 */ blr + +.global func_8031BD78 +func_8031BD78: +/* 8031BD78 003179D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031BD7C 003179DC 4D 80 00 20 */ bltlr +/* 8031BD80 003179E0 2C 03 00 1A */ cmpwi r3, 0x1a +/* 8031BD84 003179E4 4C 80 00 20 */ bgelr +/* 8031BD88 003179E8 1C 03 00 14 */ mulli r0, r3, 0x14 +/* 8031BD8C 003179EC 3C 60 80 61 */ lis r3, lbl_8060F848@ha +/* 8031BD90 003179F0 38 63 F8 48 */ addi r3, r3, lbl_8060F848@l +/* 8031BD94 003179F4 7C 63 02 14 */ add r3, r3, r0 +/* 8031BD98 003179F8 90 83 00 04 */ stw r4, 4(r3) +/* 8031BD9C 003179FC 4E 80 00 20 */ blr + +.global func_8031BDA0 +func_8031BDA0: +/* 8031BDA0 00317A00 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031BDA4 00317A04 7C 08 02 A6 */ mflr r0 +/* 8031BDA8 00317A08 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031BDAC 00317A0C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031BDB0 00317A10 93 C1 00 08 */ stw r30, 8(r1) +/* 8031BDB4 00317A14 7C 9E 23 78 */ mr r30, r4 +/* 8031BDB8 00317A18 4B FF ED 51 */ bl func_8031AB08 +/* 8031BDBC 00317A1C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031BDC0 00317A20 3B E0 FF FF */ li r31, -1 +/* 8031BDC4 00317A24 41 82 00 3C */ beq lbl_8031BE00 +/* 8031BDC8 00317A28 80 83 00 00 */ lwz r4, 0(r3) +/* 8031BDCC 00317A2C 2C 04 00 00 */ cmpwi r4, 0 +/* 8031BDD0 00317A30 41 82 00 30 */ beq lbl_8031BE00 +/* 8031BDD4 00317A34 80 04 00 08 */ lwz r0, 8(r4) +/* 8031BDD8 00317A38 2C 00 00 00 */ cmpwi r0, 0 +/* 8031BDDC 00317A3C 40 82 00 20 */ bne lbl_8031BDFC +/* 8031BDE0 00317A40 4B FF EC C9 */ bl func_8031AAA8 +/* 8031BDE4 00317A44 2C 03 FF FF */ cmpwi r3, -1 +/* 8031BDE8 00317A48 41 82 00 18 */ beq lbl_8031BE00 +/* 8031BDEC 00317A4C 7F C4 F3 78 */ mr r4, r30 +/* 8031BDF0 00317A50 48 00 00 2D */ bl func_8031BE1C +/* 8031BDF4 00317A54 7C 7F 1B 78 */ mr r31, r3 +/* 8031BDF8 00317A58 48 00 00 08 */ b lbl_8031BE00 +lbl_8031BDFC: +/* 8031BDFC 00317A5C 3B E0 00 00 */ li r31, 0 +lbl_8031BE00: +/* 8031BE00 00317A60 7F E3 FB 78 */ mr r3, r31 +/* 8031BE04 00317A64 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031BE08 00317A68 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031BE0C 00317A6C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031BE10 00317A70 7C 08 03 A6 */ mtlr r0 +/* 8031BE14 00317A74 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031BE18 00317A78 4E 80 00 20 */ blr + +.global func_8031BE1C +func_8031BE1C: +/* 8031BE1C 00317A7C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031BE20 00317A80 7C 08 02 A6 */ mflr r0 +/* 8031BE24 00317A84 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031BE28 00317A88 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031BE2C 00317A8C 4B EA B2 ED */ bl _savegpr_23 +/* 8031BE30 00317A90 7C 7A 1B 78 */ mr r26, r3 +/* 8031BE34 00317A94 7C 9B 23 78 */ mr r27, r4 +/* 8031BE38 00317A98 4B FF ED A9 */ bl func_8031ABE0 +/* 8031BE3C 00317A9C 7C 77 1B 78 */ mr r23, r3 +/* 8031BE40 00317AA0 7F 43 D3 78 */ mr r3, r26 +/* 8031BE44 00317AA4 4B FF EC 39 */ bl func_8031AA7C +/* 8031BE48 00317AA8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031BE4C 00317AAC 41 82 00 24 */ beq lbl_8031BE70 +/* 8031BE50 00317AB0 80 63 00 00 */ lwz r3, 0(r3) +/* 8031BE54 00317AB4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031BE58 00317AB8 41 82 00 18 */ beq lbl_8031BE70 +/* 8031BE5C 00317ABC 80 03 00 0C */ lwz r0, 0xc(r3) +/* 8031BE60 00317AC0 28 00 00 01 */ cmplwi r0, 1 +/* 8031BE64 00317AC4 40 82 00 0C */ bne lbl_8031BE70 +/* 8031BE68 00317AC8 38 60 00 00 */ li r3, 0 +/* 8031BE6C 00317ACC 48 00 02 9C */ b lbl_8031C108 +lbl_8031BE70: +/* 8031BE70 00317AD0 2C 17 00 00 */ cmpwi r23, 0 +/* 8031BE74 00317AD4 41 82 02 90 */ beq lbl_8031C104 +/* 8031BE78 00317AD8 3C 60 10 62 */ lis r3, 0x10624DD3@ha +/* 8031BE7C 00317ADC 83 97 00 00 */ lwz r28, 0(r23) +/* 8031BE80 00317AE0 3B B7 00 3C */ addi r29, r23, 0x3c +/* 8031BE84 00317AE4 83 CD B0 08 */ lwz r30, lbl_806402C8-_SDA_BASE_(r13) +/* 8031BE88 00317AE8 3B 23 4D D3 */ addi r25, r3, 0x10624DD3@l +/* 8031BE8C 00317AEC 3B E0 00 00 */ li r31, 0 +/* 8031BE90 00317AF0 3F 00 80 00 */ lis r24, 0x8000 +/* 8031BE94 00317AF4 3A E0 00 00 */ li r23, 0 +/* 8031BE98 00317AF8 48 00 00 50 */ b lbl_8031BEE8 +lbl_8031BE9C: +/* 8031BE9C 00317AFC 7F 83 E3 78 */ mr r3, r28 +/* 8031BEA0 00317B00 4B FC C7 E9 */ bl NANDClose +/* 8031BEA4 00317B04 2C 03 FF FD */ cmpwi r3, -3 +/* 8031BEA8 00317B08 7C 7F 1B 78 */ mr r31, r3 +/* 8031BEAC 00317B0C 41 82 00 08 */ beq lbl_8031BEB4 +/* 8031BEB0 00317B10 48 00 00 44 */ b lbl_8031BEF4 +lbl_8031BEB4: +/* 8031BEB4 00317B14 80 18 00 F8 */ lwz r0, 0xf8(r24) +/* 8031BEB8 00317B18 80 CD B0 0C */ lwz r6, lbl_806402CC-_SDA_BASE_(r13) +/* 8031BEBC 00317B1C 54 00 F0 BE */ srwi r0, r0, 2 +/* 8031BEC0 00317B20 7C 79 00 16 */ mulhwu r3, r25, r0 +/* 8031BEC4 00317B24 7C C0 FE 70 */ srawi r0, r6, 0x1f +/* 8031BEC8 00317B28 7C 97 31 D6 */ mullw r4, r23, r6 +/* 8031BECC 00317B2C 54 65 D1 BE */ srwi r5, r3, 6 +/* 8031BED0 00317B30 7C 65 30 16 */ mulhwu r3, r5, r6 +/* 8031BED4 00317B34 7C 05 01 D6 */ mullw r0, r5, r0 +/* 8031BED8 00317B38 7C 63 22 14 */ add r3, r3, r4 +/* 8031BEDC 00317B3C 7C 85 31 D6 */ mullw r4, r5, r6 +/* 8031BEE0 00317B40 7C 63 02 14 */ add r3, r3, r0 +/* 8031BEE4 00317B44 4B F5 68 21 */ bl OSSleepTicks +lbl_8031BEE8: +/* 8031BEE8 00317B48 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031BEEC 00317B4C 3B DE FF FF */ addi r30, r30, -1 +/* 8031BEF0 00317B50 41 81 FF AC */ bgt lbl_8031BE9C +lbl_8031BEF4: +/* 8031BEF4 00317B54 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031BEF8 00317B58 40 80 00 20 */ bge lbl_8031BF18 +/* 8031BEFC 00317B5C 2C 1B 00 00 */ cmpwi r27, 0 +/* 8031BF00 00317B60 41 82 00 10 */ beq lbl_8031BF10 +/* 8031BF04 00317B64 7F 43 D3 78 */ mr r3, r26 +/* 8031BF08 00317B68 7F E4 FB 78 */ mr r4, r31 +/* 8031BF0C 00317B6C 4B FF FE 6D */ bl func_8031BD78 +lbl_8031BF10: +/* 8031BF10 00317B70 7F E3 FB 78 */ mr r3, r31 +/* 8031BF14 00317B74 48 00 01 F4 */ b lbl_8031C108 +lbl_8031BF18: +/* 8031BF18 00317B78 28 1A 00 1A */ cmplwi r26, 0x1a +/* 8031BF1C 00317B7C 40 80 00 BC */ bge lbl_8031BFD8 +/* 8031BF20 00317B80 3C 60 80 61 */ lis r3, lbl_8060FA50@ha +/* 8031BF24 00317B84 57 40 20 36 */ slwi r0, r26, 4 +/* 8031BF28 00317B88 38 63 FA 50 */ addi r3, r3, lbl_8060FA50@l +/* 8031BF2C 00317B8C 7C 63 02 14 */ add r3, r3, r0 +/* 8031BF30 00317B90 81 83 00 04 */ lwz r12, 4(r3) +/* 8031BF34 00317B94 2C 0C 00 00 */ cmpwi r12, 0 +/* 8031BF38 00317B98 41 82 00 20 */ beq lbl_8031BF58 +/* 8031BF3C 00317B9C 7F A3 EB 78 */ mr r3, r29 +/* 8031BF40 00317BA0 7F 84 E3 78 */ mr r4, r28 +/* 8031BF44 00317BA4 38 A0 00 03 */ li r5, 3 +/* 8031BF48 00317BA8 7D 89 03 A6 */ mtctr r12 +/* 8031BF4C 00317BAC 4E 80 04 21 */ bctrl +/* 8031BF50 00317BB0 7C 7F 1B 78 */ mr r31, r3 +/* 8031BF54 00317BB4 48 00 01 8C */ b lbl_8031C0E0 +lbl_8031BF58: +/* 8031BF58 00317BB8 3C 60 10 62 */ lis r3, 0x10624DD3@ha +/* 8031BF5C 00317BBC 83 CD B0 08 */ lwz r30, lbl_806402C8-_SDA_BASE_(r13) +/* 8031BF60 00317BC0 3B 23 4D D3 */ addi r25, r3, 0x10624DD3@l +/* 8031BF64 00317BC4 3B E0 00 00 */ li r31, 0 +/* 8031BF68 00317BC8 3F 00 80 00 */ lis r24, 0x8000 +/* 8031BF6C 00317BCC 3A E0 00 00 */ li r23, 0 +/* 8031BF70 00317BD0 48 00 00 58 */ b lbl_8031BFC8 +lbl_8031BF74: +/* 8031BF74 00317BD4 7F A3 EB 78 */ mr r3, r29 +/* 8031BF78 00317BD8 7F 84 E3 78 */ mr r4, r28 +/* 8031BF7C 00317BDC 38 A0 00 03 */ li r5, 3 +/* 8031BF80 00317BE0 4B FC C4 89 */ bl NANDOpen +/* 8031BF84 00317BE4 2C 03 FF FD */ cmpwi r3, -3 +/* 8031BF88 00317BE8 7C 7F 1B 78 */ mr r31, r3 +/* 8031BF8C 00317BEC 41 82 00 08 */ beq lbl_8031BF94 +/* 8031BF90 00317BF0 48 00 01 50 */ b lbl_8031C0E0 +lbl_8031BF94: +/* 8031BF94 00317BF4 80 18 00 F8 */ lwz r0, 0xf8(r24) +/* 8031BF98 00317BF8 80 CD B0 0C */ lwz r6, lbl_806402CC-_SDA_BASE_(r13) +/* 8031BF9C 00317BFC 54 00 F0 BE */ srwi r0, r0, 2 +/* 8031BFA0 00317C00 7C 79 00 16 */ mulhwu r3, r25, r0 +/* 8031BFA4 00317C04 7C C0 FE 70 */ srawi r0, r6, 0x1f +/* 8031BFA8 00317C08 7C 97 31 D6 */ mullw r4, r23, r6 +/* 8031BFAC 00317C0C 54 65 D1 BE */ srwi r5, r3, 6 +/* 8031BFB0 00317C10 7C 65 30 16 */ mulhwu r3, r5, r6 +/* 8031BFB4 00317C14 7C 05 01 D6 */ mullw r0, r5, r0 +/* 8031BFB8 00317C18 7C 63 22 14 */ add r3, r3, r4 +/* 8031BFBC 00317C1C 7C 85 31 D6 */ mullw r4, r5, r6 +/* 8031BFC0 00317C20 7C 63 02 14 */ add r3, r3, r0 +/* 8031BFC4 00317C24 4B F5 67 41 */ bl OSSleepTicks +lbl_8031BFC8: +/* 8031BFC8 00317C28 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031BFCC 00317C2C 3B DE FF FF */ addi r30, r30, -1 +/* 8031BFD0 00317C30 41 81 FF A4 */ bgt lbl_8031BF74 +/* 8031BFD4 00317C34 48 00 01 0C */ b lbl_8031C0E0 +lbl_8031BFD8: +/* 8031BFD8 00317C38 3C 1A 00 01 */ addis r0, r26, 1 +/* 8031BFDC 00317C3C 28 00 FF F6 */ cmplwi r0, 0xfff6 +/* 8031BFE0 00317C40 40 82 00 84 */ bne lbl_8031C064 +/* 8031BFE4 00317C44 3C 60 10 62 */ lis r3, 0x10624DD3@ha +/* 8031BFE8 00317C48 83 CD B0 08 */ lwz r30, lbl_806402C8-_SDA_BASE_(r13) +/* 8031BFEC 00317C4C 3B 23 4D D3 */ addi r25, r3, 0x10624DD3@l +/* 8031BFF0 00317C50 3B E0 00 00 */ li r31, 0 +/* 8031BFF4 00317C54 3F 00 80 00 */ lis r24, 0x8000 +/* 8031BFF8 00317C58 3A E0 00 00 */ li r23, 0 +/* 8031BFFC 00317C5C 48 00 00 58 */ b lbl_8031C054 +lbl_8031C000: +/* 8031C000 00317C60 7F A3 EB 78 */ mr r3, r29 +/* 8031C004 00317C64 7F 84 E3 78 */ mr r4, r28 +/* 8031C008 00317C68 38 A0 00 03 */ li r5, 3 +/* 8031C00C 00317C6C 4B FC C3 FD */ bl NANDOpen +/* 8031C010 00317C70 2C 03 FF FD */ cmpwi r3, -3 +/* 8031C014 00317C74 7C 7F 1B 78 */ mr r31, r3 +/* 8031C018 00317C78 41 82 00 08 */ beq lbl_8031C020 +/* 8031C01C 00317C7C 48 00 00 C4 */ b lbl_8031C0E0 +lbl_8031C020: +/* 8031C020 00317C80 80 18 00 F8 */ lwz r0, 0xf8(r24) +/* 8031C024 00317C84 80 CD B0 0C */ lwz r6, lbl_806402CC-_SDA_BASE_(r13) +/* 8031C028 00317C88 54 00 F0 BE */ srwi r0, r0, 2 +/* 8031C02C 00317C8C 7C 79 00 16 */ mulhwu r3, r25, r0 +/* 8031C030 00317C90 7C C0 FE 70 */ srawi r0, r6, 0x1f +/* 8031C034 00317C94 7C 97 31 D6 */ mullw r4, r23, r6 +/* 8031C038 00317C98 54 65 D1 BE */ srwi r5, r3, 6 +/* 8031C03C 00317C9C 7C 65 30 16 */ mulhwu r3, r5, r6 +/* 8031C040 00317CA0 7C 05 01 D6 */ mullw r0, r5, r0 +/* 8031C044 00317CA4 7C 63 22 14 */ add r3, r3, r4 +/* 8031C048 00317CA8 7C 85 31 D6 */ mullw r4, r5, r6 +/* 8031C04C 00317CAC 7C 63 02 14 */ add r3, r3, r0 +/* 8031C050 00317CB0 4B F5 66 B5 */ bl OSSleepTicks +lbl_8031C054: +/* 8031C054 00317CB4 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031C058 00317CB8 3B DE FF FF */ addi r30, r30, -1 +/* 8031C05C 00317CBC 41 81 FF A4 */ bgt lbl_8031C000 +/* 8031C060 00317CC0 48 00 00 80 */ b lbl_8031C0E0 +lbl_8031C064: +/* 8031C064 00317CC4 3C 60 10 62 */ lis r3, 0x10624DD3@ha +/* 8031C068 00317CC8 83 CD B0 08 */ lwz r30, lbl_806402C8-_SDA_BASE_(r13) +/* 8031C06C 00317CCC 3A E3 4D D3 */ addi r23, r3, 0x10624DD3@l +/* 8031C070 00317CD0 3B E0 00 00 */ li r31, 0 +/* 8031C074 00317CD4 3F 00 80 00 */ lis r24, 0x8000 +/* 8031C078 00317CD8 3B 20 00 00 */ li r25, 0 +/* 8031C07C 00317CDC 48 00 00 58 */ b lbl_8031C0D4 +lbl_8031C080: +/* 8031C080 00317CE0 7F A3 EB 78 */ mr r3, r29 +/* 8031C084 00317CE4 7F 84 E3 78 */ mr r4, r28 +/* 8031C088 00317CE8 38 A0 00 03 */ li r5, 3 +/* 8031C08C 00317CEC 4B FC C4 09 */ bl NANDPrivateOpen +/* 8031C090 00317CF0 2C 03 FF FD */ cmpwi r3, -3 +/* 8031C094 00317CF4 7C 7F 1B 78 */ mr r31, r3 +/* 8031C098 00317CF8 41 82 00 08 */ beq lbl_8031C0A0 +/* 8031C09C 00317CFC 48 00 00 44 */ b lbl_8031C0E0 +lbl_8031C0A0: +/* 8031C0A0 00317D00 80 18 00 F8 */ lwz r0, 0xf8(r24) +/* 8031C0A4 00317D04 80 CD B0 0C */ lwz r6, lbl_806402CC-_SDA_BASE_(r13) +/* 8031C0A8 00317D08 54 00 F0 BE */ srwi r0, r0, 2 +/* 8031C0AC 00317D0C 7C 77 00 16 */ mulhwu r3, r23, r0 +/* 8031C0B0 00317D10 7C C0 FE 70 */ srawi r0, r6, 0x1f +/* 8031C0B4 00317D14 7C 99 31 D6 */ mullw r4, r25, r6 +/* 8031C0B8 00317D18 54 65 D1 BE */ srwi r5, r3, 6 +/* 8031C0BC 00317D1C 7C 65 30 16 */ mulhwu r3, r5, r6 +/* 8031C0C0 00317D20 7C 05 01 D6 */ mullw r0, r5, r0 +/* 8031C0C4 00317D24 7C 63 22 14 */ add r3, r3, r4 +/* 8031C0C8 00317D28 7C 85 31 D6 */ mullw r4, r5, r6 +/* 8031C0CC 00317D2C 7C 63 02 14 */ add r3, r3, r0 +/* 8031C0D0 00317D30 4B F5 66 35 */ bl OSSleepTicks +lbl_8031C0D4: +/* 8031C0D4 00317D34 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031C0D8 00317D38 3B DE FF FF */ addi r30, r30, -1 +/* 8031C0DC 00317D3C 41 81 FF A4 */ bgt lbl_8031C080 +lbl_8031C0E0: +/* 8031C0E0 00317D40 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031C0E4 00317D44 40 80 00 20 */ bge lbl_8031C104 +/* 8031C0E8 00317D48 2C 1B 00 00 */ cmpwi r27, 0 +/* 8031C0EC 00317D4C 41 82 00 10 */ beq lbl_8031C0FC +/* 8031C0F0 00317D50 7F 43 D3 78 */ mr r3, r26 +/* 8031C0F4 00317D54 7F E4 FB 78 */ mr r4, r31 +/* 8031C0F8 00317D58 4B FF FC 81 */ bl func_8031BD78 +lbl_8031C0FC: +/* 8031C0FC 00317D5C 7F E3 FB 78 */ mr r3, r31 +/* 8031C100 00317D60 48 00 00 08 */ b lbl_8031C108 +lbl_8031C104: +/* 8031C104 00317D64 38 60 00 00 */ li r3, 0 +lbl_8031C108: +/* 8031C108 00317D68 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031C10C 00317D6C 4B EA B0 59 */ bl _restgpr_23 +/* 8031C110 00317D70 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031C114 00317D74 7C 08 03 A6 */ mtlr r0 +/* 8031C118 00317D78 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031C11C 00317D7C 4E 80 00 20 */ blr + +.global func_8031C120 +func_8031C120: +/* 8031C120 00317D80 4E 80 00 20 */ blr + +.global func_8031C124 +func_8031C124: +/* 8031C124 00317D84 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031C128 00317D88 7C 08 02 A6 */ mflr r0 +/* 8031C12C 00317D8C 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031C130 00317D90 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031C134 00317D94 4B EA AF E9 */ bl _savegpr_24 +/* 8031C138 00317D98 3C E0 AA AB */ lis r7, 0xAAAAAAAB@ha +/* 8031C13C 00317D9C 2C 05 00 00 */ cmpwi r5, 0 +/* 8031C140 00317DA0 3B C7 AA AB */ addi r30, r7, 0xAAAAAAAB@l +/* 8031C144 00317DA4 7C B9 2B 78 */ mr r25, r5 +/* 8031C148 00317DA8 7C FE 20 16 */ mulhwu r7, r30, r4 +/* 8031C14C 00317DAC 54 E0 F8 7E */ srwi r0, r7, 1 +/* 8031C150 00317DB0 54 E7 08 3A */ rlwinm r7, r7, 1, 0, 0x1d +/* 8031C154 00317DB4 1C 00 00 03 */ mulli r0, r0, 3 +/* 8031C158 00317DB8 7C A0 20 50 */ subf r5, r0, r4 +/* 8031C15C 00317DBC 7C 05 00 D0 */ neg r0, r5 +/* 8031C160 00317DC0 7C 00 2B 78 */ or r0, r0, r5 +/* 8031C164 00317DC4 7C 00 FE 70 */ srawi r0, r0, 0x1f +/* 8031C168 00317DC8 54 00 07 7A */ rlwinm r0, r0, 0, 0x1d, 0x1d +/* 8031C16C 00317DCC 7C 07 02 14 */ add r0, r7, r0 +/* 8031C170 00317DD0 40 82 00 0C */ bne lbl_8031C17C +/* 8031C174 00317DD4 7C 03 03 78 */ mr r3, r0 +/* 8031C178 00317DD8 48 00 01 24 */ b lbl_8031C29C +lbl_8031C17C: +/* 8031C17C 00317DDC 7C 06 00 40 */ cmplw r6, r0 +/* 8031C180 00317DE0 40 80 00 0C */ bge lbl_8031C18C +/* 8031C184 00317DE4 38 60 FF FF */ li r3, -1 +/* 8031C188 00317DE8 48 00 01 14 */ b lbl_8031C29C +lbl_8031C18C: +/* 8031C18C 00317DEC 7C 7C 1B 78 */ mr r28, r3 +/* 8031C190 00317DF0 7F 3A CB 78 */ mr r26, r25 +/* 8031C194 00317DF4 7F 63 22 14 */ add r27, r3, r4 +/* 8031C198 00317DF8 3B 00 00 2A */ li r24, 0x2a +/* 8031C19C 00317DFC 48 00 00 F4 */ b lbl_8031C290 +lbl_8031C1A0: +/* 8031C1A0 00317E00 7C BC D8 50 */ subf r5, r28, r27 +/* 8031C1A4 00317E04 3B E0 00 03 */ li r31, 3 +/* 8031C1A8 00317E08 54 A3 18 38 */ slwi r3, r5, 3 +/* 8031C1AC 00317E0C 7C 1E 18 16 */ mulhwu r0, r30, r3 +/* 8031C1B0 00317E10 2C 05 00 03 */ cmpwi r5, 3 +/* 8031C1B4 00317E14 54 04 F0 BE */ srwi r4, r0, 2 +/* 8031C1B8 00317E18 1C 04 00 06 */ mulli r0, r4, 6 +/* 8031C1BC 00317E1C 7C 60 18 50 */ subf r3, r0, r3 +/* 8031C1C0 00317E20 7C 03 00 D0 */ neg r0, r3 +/* 8031C1C4 00317E24 7C 00 1B 78 */ or r0, r0, r3 +/* 8031C1C8 00317E28 54 00 0F FE */ srwi r0, r0, 0x1f +/* 8031C1CC 00317E2C 7F A4 02 14 */ add r29, r4, r0 +/* 8031C1D0 00317E30 40 80 00 08 */ bge lbl_8031C1D8 +/* 8031C1D4 00317E34 7C BF 2B 78 */ mr r31, r5 +lbl_8031C1D8: +/* 8031C1D8 00317E38 38 61 00 08 */ addi r3, r1, 8 +/* 8031C1DC 00317E3C 38 80 00 00 */ li r4, 0 +/* 8031C1E0 00317E40 38 A0 00 03 */ li r5, 3 +/* 8031C1E4 00317E44 4B CE 7F 21 */ bl memset +/* 8031C1E8 00317E48 7F 84 E3 78 */ mr r4, r28 +/* 8031C1EC 00317E4C 7F E5 FB 78 */ mr r5, r31 +/* 8031C1F0 00317E50 38 61 00 08 */ addi r3, r1, 8 +/* 8031C1F4 00317E54 4B CE 7E 0D */ bl memcpy +/* 8031C1F8 00317E58 88 01 00 08 */ lbz r0, 8(r1) +/* 8031C1FC 00317E5C 28 1D 00 02 */ cmplwi r29, 2 +/* 8031C200 00317E60 80 6D 8D 28 */ lwz r3, lbl_8063DFE8-_SDA_BASE_(r13) +/* 8031C204 00317E64 7C 00 16 70 */ srawi r0, r0, 2 +/* 8031C208 00317E68 7C 03 00 AE */ lbzx r0, r3, r0 +/* 8031C20C 00317E6C 98 1A 00 00 */ stb r0, 0(r26) +/* 8031C210 00317E70 41 80 00 24 */ blt lbl_8031C234 +/* 8031C214 00317E74 88 01 00 09 */ lbz r0, 9(r1) +/* 8031C218 00317E78 88 61 00 08 */ lbz r3, 8(r1) +/* 8031C21C 00317E7C 7C 00 26 70 */ srawi r0, r0, 4 +/* 8031C220 00317E80 80 8D 8D 28 */ lwz r4, lbl_8063DFE8-_SDA_BASE_(r13) +/* 8031C224 00317E84 50 60 26 B6 */ rlwimi r0, r3, 4, 0x1a, 0x1b +/* 8031C228 00317E88 7C 04 00 AE */ lbzx r0, r4, r0 +/* 8031C22C 00317E8C 98 1A 00 01 */ stb r0, 1(r26) +/* 8031C230 00317E90 48 00 00 08 */ b lbl_8031C238 +lbl_8031C234: +/* 8031C234 00317E94 9B 1A 00 01 */ stb r24, 1(r26) +lbl_8031C238: +/* 8031C238 00317E98 28 1D 00 03 */ cmplwi r29, 3 +/* 8031C23C 00317E9C 41 80 00 24 */ blt lbl_8031C260 +/* 8031C240 00317EA0 88 01 00 0A */ lbz r0, 0xa(r1) +/* 8031C244 00317EA4 88 61 00 09 */ lbz r3, 9(r1) +/* 8031C248 00317EA8 7C 00 36 70 */ srawi r0, r0, 6 +/* 8031C24C 00317EAC 80 8D 8D 28 */ lwz r4, lbl_8063DFE8-_SDA_BASE_(r13) +/* 8031C250 00317EB0 50 60 16 BA */ rlwimi r0, r3, 2, 0x1a, 0x1d +/* 8031C254 00317EB4 7C 04 00 AE */ lbzx r0, r4, r0 +/* 8031C258 00317EB8 98 1A 00 02 */ stb r0, 2(r26) +/* 8031C25C 00317EBC 48 00 00 08 */ b lbl_8031C264 +lbl_8031C260: +/* 8031C260 00317EC0 9B 1A 00 02 */ stb r24, 2(r26) +lbl_8031C264: +/* 8031C264 00317EC4 28 1D 00 04 */ cmplwi r29, 4 +/* 8031C268 00317EC8 41 80 00 1C */ blt lbl_8031C284 +/* 8031C26C 00317ECC 88 01 00 0A */ lbz r0, 0xa(r1) +/* 8031C270 00317ED0 80 6D 8D 28 */ lwz r3, lbl_8063DFE8-_SDA_BASE_(r13) +/* 8031C274 00317ED4 54 00 06 BE */ clrlwi r0, r0, 0x1a +/* 8031C278 00317ED8 7C 03 00 AE */ lbzx r0, r3, r0 +/* 8031C27C 00317EDC 98 1A 00 03 */ stb r0, 3(r26) +/* 8031C280 00317EE0 48 00 00 08 */ b lbl_8031C288 +lbl_8031C284: +/* 8031C284 00317EE4 9B 1A 00 03 */ stb r24, 3(r26) +lbl_8031C288: +/* 8031C288 00317EE8 7F 9C FA 14 */ add r28, r28, r31 +/* 8031C28C 00317EEC 3B 5A 00 04 */ addi r26, r26, 4 +lbl_8031C290: +/* 8031C290 00317EF0 7C 1C D8 40 */ cmplw r28, r27 +/* 8031C294 00317EF4 40 82 FF 0C */ bne lbl_8031C1A0 +/* 8031C298 00317EF8 7C 79 D0 50 */ subf r3, r25, r26 +lbl_8031C29C: +/* 8031C29C 00317EFC 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031C2A0 00317F00 4B EA AE C9 */ bl _restgpr_24 +/* 8031C2A4 00317F04 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031C2A8 00317F08 7C 08 03 A6 */ mtlr r0 +/* 8031C2AC 00317F0C 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031C2B0 00317F10 4E 80 00 20 */ blr + +.global func_8031C2B4 +func_8031C2B4: +/* 8031C2B4 00317F14 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031C2B8 00317F18 54 80 07 BF */ clrlwi. r0, r4, 0x1e +/* 8031C2BC 00317F1C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031C2C0 00317F20 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031C2C4 00317F24 41 82 00 0C */ beq lbl_8031C2D0 +/* 8031C2C8 00317F28 38 60 FF FF */ li r3, -1 +/* 8031C2CC 00317F2C 48 00 01 B0 */ b lbl_8031C47C +lbl_8031C2D0: +/* 8031C2D0 00317F30 7C 68 1B 78 */ mr r8, r3 +/* 8031C2D4 00317F34 38 E0 00 00 */ li r7, 0 +/* 8031C2D8 00317F38 7C 89 03 A6 */ mtctr r4 +/* 8031C2DC 00317F3C 2C 04 00 00 */ cmpwi r4, 0 +/* 8031C2E0 00317F40 40 81 00 1C */ ble lbl_8031C2FC +lbl_8031C2E4: +/* 8031C2E4 00317F44 88 08 00 00 */ lbz r0, 0(r8) +/* 8031C2E8 00317F48 2C 00 00 2A */ cmpwi r0, 0x2a +/* 8031C2EC 00317F4C 41 82 00 08 */ beq lbl_8031C2F4 +/* 8031C2F0 00317F50 38 E7 00 06 */ addi r7, r7, 6 +lbl_8031C2F4: +/* 8031C2F4 00317F54 39 08 00 01 */ addi r8, r8, 1 +/* 8031C2F8 00317F58 42 00 FF EC */ bdnz lbl_8031C2E4 +lbl_8031C2FC: +/* 8031C2FC 00317F5C 2C 05 00 00 */ cmpwi r5, 0 +/* 8031C300 00317F60 7C E0 1E 70 */ srawi r0, r7, 3 +/* 8031C304 00317F64 7C E0 01 94 */ addze r7, r0 +/* 8031C308 00317F68 40 82 00 0C */ bne lbl_8031C314 +/* 8031C30C 00317F6C 7C E3 3B 78 */ mr r3, r7 +/* 8031C310 00317F70 48 00 01 6C */ b lbl_8031C47C +lbl_8031C314: +/* 8031C314 00317F74 7C 06 38 40 */ cmplw r6, r7 +/* 8031C318 00317F78 40 80 00 0C */ bge lbl_8031C324 +/* 8031C31C 00317F7C 38 60 FF FF */ li r3, -1 +/* 8031C320 00317F80 48 00 01 5C */ b lbl_8031C47C +lbl_8031C324: +/* 8031C324 00317F84 2C 04 00 00 */ cmpwi r4, 0 +/* 8031C328 00317F88 40 82 00 14 */ bne lbl_8031C33C +/* 8031C32C 00317F8C 38 00 00 00 */ li r0, 0 +/* 8031C330 00317F90 38 60 00 00 */ li r3, 0 +/* 8031C334 00317F94 98 05 00 00 */ stb r0, 0(r5) +/* 8031C338 00317F98 48 00 01 44 */ b lbl_8031C47C +lbl_8031C33C: +/* 8031C33C 00317F9C 7C A4 2B 78 */ mr r4, r5 +/* 8031C340 00317FA0 39 40 00 00 */ li r10, 0 +/* 8031C344 00317FA4 39 60 00 3F */ li r11, 0x3f +/* 8031C348 00317FA8 39 80 00 3E */ li r12, 0x3e +/* 8031C34C 00317FAC 38 00 00 04 */ li r0, 4 +lbl_8031C350: +/* 8031C350 00317FB0 7C 66 1B 78 */ mr r6, r3 +/* 8031C354 00317FB4 39 21 00 08 */ addi r9, r1, 8 +/* 8031C358 00317FB8 3B C0 00 00 */ li r30, 0 +/* 8031C35C 00317FBC 7C 09 03 A6 */ mtctr r0 +lbl_8031C360: +/* 8031C360 00317FC0 8B E6 00 00 */ lbz r31, 0(r6) +/* 8031C364 00317FC4 7F E8 07 74 */ extsb r8, r31 +/* 8031C368 00317FC8 2C 08 00 41 */ cmpwi r8, 0x41 +/* 8031C36C 00317FCC 41 80 00 18 */ blt lbl_8031C384 +/* 8031C370 00317FD0 2C 08 00 5A */ cmpwi r8, 0x5a +/* 8031C374 00317FD4 41 81 00 10 */ bgt lbl_8031C384 +/* 8031C378 00317FD8 39 1F FF BF */ addi r8, r31, -65 +/* 8031C37C 00317FDC 99 09 00 00 */ stb r8, 0(r9) +/* 8031C380 00317FE0 48 00 00 6C */ b lbl_8031C3EC +lbl_8031C384: +/* 8031C384 00317FE4 7F E8 07 74 */ extsb r8, r31 +/* 8031C388 00317FE8 2C 08 00 61 */ cmpwi r8, 0x61 +/* 8031C38C 00317FEC 41 80 00 18 */ blt lbl_8031C3A4 +/* 8031C390 00317FF0 2C 08 00 7A */ cmpwi r8, 0x7a +/* 8031C394 00317FF4 41 81 00 10 */ bgt lbl_8031C3A4 +/* 8031C398 00317FF8 39 1F FF B9 */ addi r8, r31, -71 +/* 8031C39C 00317FFC 99 09 00 00 */ stb r8, 0(r9) +/* 8031C3A0 00318000 48 00 00 4C */ b lbl_8031C3EC +lbl_8031C3A4: +/* 8031C3A4 00318004 7F E8 07 74 */ extsb r8, r31 +/* 8031C3A8 00318008 2C 08 00 30 */ cmpwi r8, 0x30 +/* 8031C3AC 0031800C 41 80 00 18 */ blt lbl_8031C3C4 +/* 8031C3B0 00318010 2C 08 00 39 */ cmpwi r8, 0x39 +/* 8031C3B4 00318014 41 81 00 10 */ bgt lbl_8031C3C4 +/* 8031C3B8 00318018 39 1F 00 04 */ addi r8, r31, 4 +/* 8031C3BC 0031801C 99 09 00 00 */ stb r8, 0(r9) +/* 8031C3C0 00318020 48 00 00 2C */ b lbl_8031C3EC +lbl_8031C3C4: +/* 8031C3C4 00318024 7F E8 07 74 */ extsb r8, r31 +/* 8031C3C8 00318028 2C 08 00 2E */ cmpwi r8, 0x2e +/* 8031C3CC 0031802C 40 82 00 0C */ bne lbl_8031C3D8 +/* 8031C3D0 00318030 99 89 00 00 */ stb r12, 0(r9) +/* 8031C3D4 00318034 48 00 00 18 */ b lbl_8031C3EC +lbl_8031C3D8: +/* 8031C3D8 00318038 2C 08 00 2D */ cmpwi r8, 0x2d +/* 8031C3DC 0031803C 40 82 00 0C */ bne lbl_8031C3E8 +/* 8031C3E0 00318040 99 69 00 00 */ stb r11, 0(r9) +/* 8031C3E4 00318044 48 00 00 08 */ b lbl_8031C3EC +lbl_8031C3E8: +/* 8031C3E8 00318048 99 49 00 00 */ stb r10, 0(r9) +lbl_8031C3EC: +/* 8031C3EC 0031804C 39 29 00 01 */ addi r9, r9, 1 +/* 8031C3F0 00318050 3B DE 00 01 */ addi r30, r30, 1 +/* 8031C3F4 00318054 38 C6 00 01 */ addi r6, r6, 1 +/* 8031C3F8 00318058 42 00 FF 68 */ bdnz lbl_8031C360 +/* 8031C3FC 0031805C 89 21 00 08 */ lbz r9, 8(r1) +/* 8031C400 00318060 38 C4 00 01 */ addi r6, r4, 1 +/* 8031C404 00318064 89 01 00 09 */ lbz r8, 9(r1) +/* 8031C408 00318068 7F E5 30 50 */ subf r31, r5, r6 +/* 8031C40C 0031806C 7D 26 07 74 */ extsb r6, r9 +/* 8031C410 00318070 38 63 00 04 */ addi r3, r3, 4 +/* 8031C414 00318074 7D 09 07 74 */ extsb r9, r8 +/* 8031C418 00318078 7C 1F 38 00 */ cmpw r31, r7 +/* 8031C41C 0031807C 54 C8 10 3A */ slwi r8, r6, 2 +/* 8031C420 00318080 7D 26 26 70 */ srawi r6, r9, 4 +/* 8031C424 00318084 7D 06 33 78 */ or r6, r8, r6 +/* 8031C428 00318088 98 C4 00 00 */ stb r6, 0(r4) +/* 8031C42C 0031808C 40 80 00 4C */ bge lbl_8031C478 +/* 8031C430 00318090 89 01 00 0A */ lbz r8, 0xa(r1) +/* 8031C434 00318094 38 C4 00 02 */ addi r6, r4, 2 +/* 8031C438 00318098 7F E5 30 50 */ subf r31, r5, r6 +/* 8031C43C 0031809C 55 29 20 36 */ slwi r9, r9, 4 +/* 8031C440 003180A0 7D 08 07 74 */ extsb r8, r8 +/* 8031C444 003180A4 7D 06 16 70 */ srawi r6, r8, 2 +/* 8031C448 003180A8 7C 1F 38 00 */ cmpw r31, r7 +/* 8031C44C 003180AC 7D 26 33 78 */ or r6, r9, r6 +/* 8031C450 003180B0 98 C4 00 01 */ stb r6, 1(r4) +/* 8031C454 003180B4 40 80 00 24 */ bge lbl_8031C478 +/* 8031C458 003180B8 88 C1 00 0B */ lbz r6, 0xb(r1) +/* 8031C45C 003180BC 55 08 30 32 */ slwi r8, r8, 6 +/* 8031C460 003180C0 7D 06 33 78 */ or r6, r8, r6 +/* 8031C464 003180C4 98 C4 00 02 */ stb r6, 2(r4) +/* 8031C468 003180C8 38 84 00 03 */ addi r4, r4, 3 +/* 8031C46C 003180CC 7F E5 20 50 */ subf r31, r5, r4 +/* 8031C470 003180D0 7C 1F 38 00 */ cmpw r31, r7 +/* 8031C474 003180D4 41 80 FE DC */ blt lbl_8031C350 +lbl_8031C478: +/* 8031C478 003180D8 7F E3 FB 78 */ mr r3, r31 +lbl_8031C47C: +/* 8031C47C 003180DC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031C480 003180E0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031C484 003180E4 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031C488 003180E8 4E 80 00 20 */ blr + +.global func_8031C48C +func_8031C48C: +/* 8031C48C 003180EC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C490 003180F0 41 82 00 0C */ beq lbl_8031C49C +/* 8031C494 003180F4 80 0D B0 14 */ lwz r0, lbl_806402D4-_SDA_BASE_(r13) +/* 8031C498 003180F8 90 03 00 00 */ stw r0, 0(r3) +lbl_8031C49C: +/* 8031C49C 003180FC 80 6D B0 10 */ lwz r3, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C4A0 00318100 4E 80 00 20 */ blr + +.global func_8031C4A4 +func_8031C4A4: +/* 8031C4A4 00318104 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C4A8 00318108 41 82 00 0C */ beq lbl_8031C4B4 +/* 8031C4AC 0031810C 80 0D B0 14 */ lwz r0, lbl_806402D4-_SDA_BASE_(r13) +/* 8031C4B0 00318110 90 03 00 00 */ stw r0, 0(r3) +lbl_8031C4B4: +/* 8031C4B4 00318114 2C 04 00 00 */ cmpwi r4, 0 +/* 8031C4B8 00318118 41 82 00 90 */ beq lbl_8031C548 +/* 8031C4BC 0031811C 80 0D B0 10 */ lwz r0, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C4C0 00318120 28 00 00 11 */ cmplwi r0, 0x11 +/* 8031C4C4 00318124 41 81 00 7C */ bgt lbl_8031C540 +/* 8031C4C8 00318128 3C 60 80 44 */ lis r3, lbl_804466D0@ha +/* 8031C4CC 0031812C 54 00 10 3A */ slwi r0, r0, 2 +/* 8031C4D0 00318130 38 63 66 D0 */ addi r3, r3, lbl_804466D0@l +/* 8031C4D4 00318134 7C 63 00 2E */ lwzx r3, r3, r0 +/* 8031C4D8 00318138 7C 69 03 A6 */ mtctr r3 +/* 8031C4DC 0031813C 4E 80 04 20 */ bctr +/* 8031C4E0 00318140 38 00 00 06 */ li r0, 6 +/* 8031C4E4 00318144 90 04 00 00 */ stw r0, 0(r4) +/* 8031C4E8 00318148 48 00 00 60 */ b lbl_8031C548 +/* 8031C4EC 0031814C 38 00 00 03 */ li r0, 3 +/* 8031C4F0 00318150 90 04 00 00 */ stw r0, 0(r4) +/* 8031C4F4 00318154 48 00 00 54 */ b lbl_8031C548 +/* 8031C4F8 00318158 38 00 00 04 */ li r0, 4 +/* 8031C4FC 0031815C 90 04 00 00 */ stw r0, 0(r4) +/* 8031C500 00318160 48 00 00 48 */ b lbl_8031C548 +/* 8031C504 00318164 38 00 00 01 */ li r0, 1 +/* 8031C508 00318168 90 04 00 00 */ stw r0, 0(r4) +/* 8031C50C 0031816C 48 00 00 3C */ b lbl_8031C548 +/* 8031C510 00318170 38 00 00 07 */ li r0, 7 +/* 8031C514 00318174 90 04 00 00 */ stw r0, 0(r4) +/* 8031C518 00318178 48 00 00 30 */ b lbl_8031C548 +/* 8031C51C 0031817C 38 00 00 05 */ li r0, 5 +/* 8031C520 00318180 90 04 00 00 */ stw r0, 0(r4) +/* 8031C524 00318184 48 00 00 24 */ b lbl_8031C548 +/* 8031C528 00318188 38 00 00 06 */ li r0, 6 +/* 8031C52C 0031818C 90 04 00 00 */ stw r0, 0(r4) +/* 8031C530 00318190 48 00 00 18 */ b lbl_8031C548 +/* 8031C534 00318194 38 00 00 02 */ li r0, 2 +/* 8031C538 00318198 90 04 00 00 */ stw r0, 0(r4) +/* 8031C53C 0031819C 48 00 00 0C */ b lbl_8031C548 +lbl_8031C540: +/* 8031C540 003181A0 38 00 00 00 */ li r0, 0 +/* 8031C544 003181A4 90 04 00 00 */ stw r0, 0(r4) +lbl_8031C548: +/* 8031C548 003181A8 80 6D B0 10 */ lwz r3, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C54C 003181AC 4E 80 00 20 */ blr + +.global func_8031C550 +func_8031C550: +/* 8031C550 003181B0 80 0D B0 10 */ lwz r0, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C554 003181B4 2C 00 00 09 */ cmpwi r0, 9 +/* 8031C558 003181B8 4D 82 00 20 */ beqlr +/* 8031C55C 003181BC 38 00 00 00 */ li r0, 0 +/* 8031C560 003181C0 90 0D B0 10 */ stw r0, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C564 003181C4 90 0D B0 14 */ stw r0, lbl_806402D4-_SDA_BASE_(r13) +/* 8031C568 003181C8 4E 80 00 20 */ blr + +.global PlatAudio_IsEntireSampleFileInMem +PlatAudio_IsEntireSampleFileInMem: +/* 8031C56C 003181CC 80 6D B0 10 */ lwz r3, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C570 003181D0 7C 03 00 D0 */ neg r0, r3 +/* 8031C574 003181D4 7C 00 1B 78 */ or r0, r0, r3 +/* 8031C578 003181D8 54 03 0F FE */ srwi r3, r0, 0x1f +/* 8031C57C 003181DC 4E 80 00 20 */ blr + +.global func_8031C580 +func_8031C580: +/* 8031C580 003181E0 80 0D B0 10 */ lwz r0, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C584 003181E4 2C 00 00 09 */ cmpwi r0, 9 +/* 8031C588 003181E8 4D 82 00 20 */ beqlr +/* 8031C58C 003181EC 90 6D B0 10 */ stw r3, lbl_806402D0-_SDA_BASE_(r13) +/* 8031C590 003181F0 90 8D B0 14 */ stw r4, lbl_806402D4-_SDA_BASE_(r13) +/* 8031C594 003181F4 4E 80 00 20 */ blr + +.global func_8031C598 +func_8031C598: +/* 8031C598 003181F8 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 8031C59C 003181FC 7C 08 02 A6 */ mflr r0 +/* 8031C5A0 00318200 90 01 01 24 */ stw r0, 0x124(r1) +/* 8031C5A4 00318204 39 61 01 20 */ addi r11, r1, 0x120 +/* 8031C5A8 00318208 4B EA AB 7D */ bl _savegpr_26 +/* 8031C5AC 0031820C 3F C0 80 44 */ lis r30, lbl_80446718@ha +/* 8031C5B0 00318210 7C 7A 1B 78 */ mr r26, r3 +/* 8031C5B4 00318214 7C 9F 23 78 */ mr r31, r4 +/* 8031C5B8 00318218 7C BB 2B 78 */ mr r27, r5 +/* 8031C5BC 0031821C 7C DC 33 78 */ mr r28, r6 +/* 8031C5C0 00318220 7C FD 3B 78 */ mr r29, r7 +/* 8031C5C4 00318224 3B DE 67 18 */ addi r30, r30, lbl_80446718@l +/* 8031C5C8 00318228 38 6D 8D 30 */ addi r3, r13, lbl_8063DFF0-_SDA_BASE_ +/* 8031C5CC 0031822C 38 8D 8D 30 */ addi r4, r13, lbl_8063DFF0-_SDA_BASE_ +/* 8031C5D0 00318230 4B EB 1E 7D */ bl strcmp +/* 8031C5D4 00318234 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C5D8 00318238 40 82 00 10 */ bne lbl_8031C5E8 +/* 8031C5DC 0031823C 38 7E 00 00 */ addi r3, r30, 0 +/* 8031C5E0 00318240 4B F4 D0 71 */ bl OSRegisterVersion +/* 8031C5E4 00318244 48 00 00 2C */ b lbl_8031C610 +lbl_8031C5E8: +/* 8031C5E8 00318248 38 9E 00 48 */ addi r4, r30, 0x48 +/* 8031C5EC 0031824C 38 6D 8D 30 */ addi r3, r13, lbl_8063DFF0-_SDA_BASE_ +/* 8031C5F0 00318250 4B EB 1E 5D */ bl strcmp +/* 8031C5F4 00318254 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C5F8 00318258 40 82 00 10 */ bne lbl_8031C608 +/* 8031C5FC 0031825C 38 7E 00 54 */ addi r3, r30, 0x54 +/* 8031C600 00318260 4B F4 D0 51 */ bl OSRegisterVersion +/* 8031C604 00318264 48 00 00 0C */ b lbl_8031C610 +lbl_8031C608: +/* 8031C608 00318268 38 7E 00 00 */ addi r3, r30, 0 +/* 8031C60C 0031826C 4B F4 D0 45 */ bl OSRegisterVersion +lbl_8031C610: +/* 8031C610 00318270 7F 83 E3 78 */ mr r3, r28 +/* 8031C614 00318274 7F A4 EB 78 */ mr r4, r29 +/* 8031C618 00318278 48 00 02 C9 */ bl func_8031C8E0 +/* 8031C61C 0031827C 7F 43 D3 78 */ mr r3, r26 +/* 8031C620 00318280 48 01 79 FD */ bl func_8033401C +/* 8031C624 00318284 93 6D B0 18 */ stw r27, lbl_806402D8-_SDA_BASE_(r13) +/* 8031C628 00318288 48 01 52 CD */ bl func_803318F4 +/* 8031C62C 0031828C 3C 60 80 32 */ lis r3, lbl_8031C9A4@ha +/* 8031C630 00318290 3C 80 80 32 */ lis r4, lbl_8031CAB4@ha +/* 8031C634 00318294 3C A0 80 32 */ lis r5, lbl_8031C9F8@ha +/* 8031C638 00318298 3C C0 80 32 */ lis r6, lbl_8031CAD8@ha +/* 8031C63C 0031829C 38 63 C9 A4 */ addi r3, r3, lbl_8031C9A4@l +/* 8031C640 003182A0 38 84 CA B4 */ addi r4, r4, lbl_8031CAB4@l +/* 8031C644 003182A4 38 A5 C9 F8 */ addi r5, r5, lbl_8031C9F8@l +/* 8031C648 003182A8 38 C6 CA D8 */ addi r6, r6, lbl_8031CAD8@l +/* 8031C64C 003182AC 48 01 CC AD */ bl gsiMemoryCallbacksSet +/* 8031C650 003182B0 3C 60 80 62 */ lis r3, lbl_80620DE8@ha +/* 8031C654 003182B4 7F E4 FB 78 */ mr r4, r31 +/* 8031C658 003182B8 38 63 0D E8 */ addi r3, r3, lbl_80620DE8@l +/* 8031C65C 003182BC 4B EB 1C 75 */ bl strcpy +/* 8031C660 003182C0 2C 1A 00 00 */ cmpwi r26, 0 +/* 8031C664 003182C4 40 82 00 14 */ bne lbl_8031C678 +/* 8031C668 003182C8 3C 60 80 45 */ lis r3, lbl_8044C338@ha +/* 8031C66C 003182CC 38 9E 00 A0 */ addi r4, r30, 0xa0 +/* 8031C670 003182D0 38 63 C3 38 */ addi r3, r3, lbl_8044C338@l +/* 8031C674 003182D4 4B EB 1C 5D */ bl strcpy +lbl_8031C678: +/* 8031C678 003182D8 38 7E 00 B4 */ addi r3, r30, 0xb4 +/* 8031C67C 003182DC 48 01 BA 5D */ bl gethostbyname +/* 8031C680 003182E0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C684 003182E4 41 82 01 E0 */ beq lbl_8031C864 +/* 8031C688 003182E8 38 7E 00 D0 */ addi r3, r30, 0xd0 +/* 8031C68C 003182EC 48 01 BA 4D */ bl gethostbyname +/* 8031C690 003182F0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C694 003182F4 41 82 01 D0 */ beq lbl_8031C864 +/* 8031C698 003182F8 38 7E 00 EC */ addi r3, r30, 0xec +/* 8031C69C 003182FC 48 01 BA 3D */ bl gethostbyname +/* 8031C6A0 00318300 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C6A4 00318304 41 82 01 C0 */ beq lbl_8031C864 +/* 8031C6A8 00318308 38 7E 01 0C */ addi r3, r30, 0x10c +/* 8031C6AC 0031830C 48 01 BA 2D */ bl gethostbyname +/* 8031C6B0 00318310 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C6B4 00318314 41 82 01 B0 */ beq lbl_8031C864 +/* 8031C6B8 00318318 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031C6BC 0031831C 41 82 01 A0 */ beq lbl_8031C85C +/* 8031C6C0 00318320 7F E5 FB 78 */ mr r5, r31 +/* 8031C6C4 00318324 38 61 00 08 */ addi r3, r1, 8 +/* 8031C6C8 00318328 38 9E 01 2C */ addi r4, r30, 0x12c +/* 8031C6CC 0031832C 4C C6 31 82 */ crclr 6 +/* 8031C6D0 00318330 4B EB 04 2D */ bl sprintf +/* 8031C6D4 00318334 38 61 00 08 */ addi r3, r1, 8 +/* 8031C6D8 00318338 48 01 BA 01 */ bl gethostbyname +/* 8031C6DC 0031833C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C6E0 00318340 41 82 01 84 */ beq lbl_8031C864 +/* 8031C6E4 00318344 7F E5 FB 78 */ mr r5, r31 +/* 8031C6E8 00318348 38 61 00 08 */ addi r3, r1, 8 +/* 8031C6EC 0031834C 38 9E 01 50 */ addi r4, r30, 0x150 +/* 8031C6F0 00318350 4C C6 31 82 */ crclr 6 +/* 8031C6F4 00318354 4B EB 04 09 */ bl sprintf +/* 8031C6F8 00318358 38 61 00 08 */ addi r3, r1, 8 +/* 8031C6FC 0031835C 48 01 B9 DD */ bl gethostbyname +/* 8031C700 00318360 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C704 00318364 41 82 01 60 */ beq lbl_8031C864 +/* 8031C708 00318368 7F E5 FB 78 */ mr r5, r31 +/* 8031C70C 0031836C 38 61 00 08 */ addi r3, r1, 8 +/* 8031C710 00318370 38 9E 01 70 */ addi r4, r30, 0x170 +/* 8031C714 00318374 4C C6 31 82 */ crclr 6 +/* 8031C718 00318378 4B EB 03 E5 */ bl sprintf +/* 8031C71C 0031837C 38 61 00 08 */ addi r3, r1, 8 +/* 8031C720 00318380 48 01 B9 B9 */ bl gethostbyname +/* 8031C724 00318384 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C728 00318388 41 82 01 3C */ beq lbl_8031C864 +/* 8031C72C 0031838C 7F E5 FB 78 */ mr r5, r31 +/* 8031C730 00318390 38 61 00 08 */ addi r3, r1, 8 +/* 8031C734 00318394 38 9E 01 90 */ addi r4, r30, 0x190 +/* 8031C738 00318398 4C C6 31 82 */ crclr 6 +/* 8031C73C 0031839C 4B EB 03 C1 */ bl sprintf +/* 8031C740 003183A0 38 61 00 08 */ addi r3, r1, 8 +/* 8031C744 003183A4 48 01 B9 95 */ bl gethostbyname +/* 8031C748 003183A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C74C 003183AC 41 82 01 18 */ beq lbl_8031C864 +/* 8031C750 003183B0 7F E5 FB 78 */ mr r5, r31 +/* 8031C754 003183B4 38 61 00 08 */ addi r3, r1, 8 +/* 8031C758 003183B8 38 9E 01 B0 */ addi r4, r30, 0x1b0 +/* 8031C75C 003183BC 4C C6 31 82 */ crclr 6 +/* 8031C760 003183C0 4B EB 03 9D */ bl sprintf +/* 8031C764 003183C4 38 61 00 08 */ addi r3, r1, 8 +/* 8031C768 003183C8 48 01 B9 71 */ bl gethostbyname +/* 8031C76C 003183CC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C770 003183D0 41 82 00 F4 */ beq lbl_8031C864 +/* 8031C774 003183D4 7F E5 FB 78 */ mr r5, r31 +/* 8031C778 003183D8 38 61 00 08 */ addi r3, r1, 8 +/* 8031C77C 003183DC 38 9E 01 D0 */ addi r4, r30, 0x1d0 +/* 8031C780 003183E0 4C C6 31 82 */ crclr 6 +/* 8031C784 003183E4 4B EB 03 79 */ bl sprintf +/* 8031C788 003183E8 38 61 00 08 */ addi r3, r1, 8 +/* 8031C78C 003183EC 48 01 B9 4D */ bl gethostbyname +/* 8031C790 003183F0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C794 003183F4 41 82 00 D0 */ beq lbl_8031C864 +/* 8031C798 003183F8 7F E5 FB 78 */ mr r5, r31 +/* 8031C79C 003183FC 38 61 00 08 */ addi r3, r1, 8 +/* 8031C7A0 00318400 38 9E 01 F4 */ addi r4, r30, 0x1f4 +/* 8031C7A4 00318404 4C C6 31 82 */ crclr 6 +/* 8031C7A8 00318408 4B EB 03 55 */ bl sprintf +/* 8031C7AC 0031840C 38 61 00 08 */ addi r3, r1, 8 +/* 8031C7B0 00318410 48 01 B9 29 */ bl gethostbyname +/* 8031C7B4 00318414 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C7B8 00318418 41 82 00 AC */ beq lbl_8031C864 +/* 8031C7BC 0031841C 3C 80 80 42 */ lis r4, lbl_80422D48@ha +/* 8031C7C0 00318420 3C 60 9C D0 */ lis r3, 0x9CCF9319@ha +/* 8031C7C4 00318424 38 84 2D 48 */ addi r4, r4, lbl_80422D48@l +/* 8031C7C8 00318428 7F E7 FB 78 */ mr r7, r31 +/* 8031C7CC 0031842C 80 C4 00 38 */ lwz r6, 0x38(r4) +/* 8031C7D0 00318430 38 A3 93 19 */ addi r5, r3, 0x9CCF9319@l +/* 8031C7D4 00318434 39 00 00 00 */ li r8, 0 +/* 8031C7D8 00318438 48 00 00 3C */ b lbl_8031C814 +lbl_8031C7DC: +/* 8031C7DC 0031843C 7C 88 29 D6 */ mullw r4, r8, r5 +/* 8031C7E0 00318440 7C 68 07 75 */ extsb. r8, r3 +/* 8031C7E4 00318444 38 00 00 00 */ li r0, 0 +/* 8031C7E8 00318448 41 80 00 0C */ blt lbl_8031C7F4 +/* 8031C7EC 0031844C 2C 08 01 00 */ cmpwi r8, 0x100 +/* 8031C7F0 00318450 41 80 00 08 */ blt lbl_8031C7F8 +lbl_8031C7F4: +/* 8031C7F4 00318454 38 00 00 01 */ li r0, 1 +lbl_8031C7F8: +/* 8031C7F8 00318458 2C 00 00 00 */ cmpwi r0, 0 +/* 8031C7FC 0031845C 41 82 00 08 */ beq lbl_8031C804 +/* 8031C800 00318460 48 00 00 0C */ b lbl_8031C80C +lbl_8031C804: +/* 8031C804 00318464 80 66 00 10 */ lwz r3, 0x10(r6) +/* 8031C808 00318468 7D 03 40 AE */ lbzx r8, r3, r8 +lbl_8031C80C: +/* 8031C80C 0031846C 7D 04 42 14 */ add r8, r4, r8 +/* 8031C810 00318470 38 E7 00 01 */ addi r7, r7, 1 +lbl_8031C814: +/* 8031C814 00318474 88 67 00 00 */ lbz r3, 0(r7) +/* 8031C818 00318478 7C 60 07 75 */ extsb. r0, r3 +/* 8031C81C 0031847C 40 82 FF C0 */ bne lbl_8031C7DC +/* 8031C820 00318480 3C 60 CC CD */ lis r3, 0xCCCCCCCD@ha +/* 8031C824 00318484 7F E5 FB 78 */ mr r5, r31 +/* 8031C828 00318488 38 03 CC CD */ addi r0, r3, 0xCCCCCCCD@l +/* 8031C82C 0031848C 38 9E 02 18 */ addi r4, r30, 0x218 +/* 8031C830 00318490 7C 00 40 16 */ mulhwu r0, r0, r8 +/* 8031C834 00318494 38 61 00 08 */ addi r3, r1, 8 +/* 8031C838 00318498 54 00 E1 3E */ srwi r0, r0, 4 +/* 8031C83C 0031849C 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 8031C840 003184A0 7C C0 40 50 */ subf r6, r0, r8 +/* 8031C844 003184A4 4C C6 31 82 */ crclr 6 +/* 8031C848 003184A8 4B EB 02 B5 */ bl sprintf +/* 8031C84C 003184AC 38 61 00 08 */ addi r3, r1, 8 +/* 8031C850 003184B0 48 01 B8 89 */ bl gethostbyname +/* 8031C854 003184B4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031C858 003184B8 41 82 00 0C */ beq lbl_8031C864 +lbl_8031C85C: +/* 8031C85C 003184BC 38 60 00 00 */ li r3, 0 +/* 8031C860 003184C0 48 00 00 18 */ b lbl_8031C878 +lbl_8031C864: +/* 8031C864 003184C4 38 9E 02 34 */ addi r4, r30, 0x234 +/* 8031C868 003184C8 38 60 00 08 */ li r3, 8 +/* 8031C86C 003184CC 4C C6 31 82 */ crclr 6 +/* 8031C870 003184D0 48 00 02 C5 */ bl func_8031CB34 +/* 8031C874 003184D4 38 60 FF FF */ li r3, -1 +lbl_8031C878: +/* 8031C878 003184D8 39 61 01 20 */ addi r11, r1, 0x120 +/* 8031C87C 003184DC 4B EA A8 F5 */ bl _restgpr_26 +/* 8031C880 003184E0 80 01 01 24 */ lwz r0, 0x124(r1) +/* 8031C884 003184E4 7C 08 03 A6 */ mtlr r0 +/* 8031C888 003184E8 38 21 01 20 */ addi r1, r1, 0x120 +/* 8031C88C 003184EC 4E 80 00 20 */ blr + +.global func_8031C890 +func_8031C890: +/* 8031C890 003184F0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031C894 003184F4 7C 08 02 A6 */ mflr r0 +/* 8031C898 003184F8 3C 60 80 32 */ lis r3, lbl_8031C9A4@ha +/* 8031C89C 003184FC 3C 80 80 32 */ lis r4, lbl_8031CAB4@ha +/* 8031C8A0 00318500 3C A0 80 32 */ lis r5, lbl_8031C9F8@ha +/* 8031C8A4 00318504 3C C0 80 32 */ lis r6, lbl_8031CAD8@ha +/* 8031C8A8 00318508 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031C8AC 0031850C 38 63 C9 A4 */ addi r3, r3, lbl_8031C9A4@l +/* 8031C8B0 00318510 38 84 CA B4 */ addi r4, r4, lbl_8031CAB4@l +/* 8031C8B4 00318514 38 A5 C9 F8 */ addi r5, r5, lbl_8031C9F8@l +/* 8031C8B8 00318518 38 C6 CA D8 */ addi r6, r6, lbl_8031CAD8@l +/* 8031C8BC 0031851C 48 01 CA 3D */ bl gsiMemoryCallbacksSet +/* 8031C8C0 00318520 38 6D 8D 38 */ addi r3, r13, lbl_8063DFF8-_SDA_BASE_ +/* 8031C8C4 00318524 48 01 B8 15 */ bl gethostbyname +/* 8031C8C8 00318528 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031C8CC 0031852C 7C 08 03 A6 */ mtlr r0 +/* 8031C8D0 00318530 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031C8D4 00318534 4E 80 00 20 */ blr + +.global func_8031C8D8 +func_8031C8D8: +/* 8031C8D8 00318538 80 6D B0 18 */ lwz r3, lbl_806402D8-_SDA_BASE_(r13) +/* 8031C8DC 0031853C 4E 80 00 20 */ blr + +.global func_8031C8E0 +func_8031C8E0: +/* 8031C8E0 00318540 90 6D B0 24 */ stw r3, lbl_806402E4-_SDA_BASE_(r13) +/* 8031C8E4 00318544 90 8D B0 20 */ stw r4, lbl_806402E0-_SDA_BASE_(r13) +/* 8031C8E8 00318548 4E 80 00 20 */ blr + +.global func_8031C8EC +func_8031C8EC: +/* 8031C8EC 0031854C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031C8F0 00318550 7C 08 02 A6 */ mflr r0 +/* 8031C8F4 00318554 38 A0 00 20 */ li r5, 0x20 +/* 8031C8F8 00318558 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031C8FC 0031855C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031C900 00318560 7C 9F 23 78 */ mr r31, r4 +/* 8031C904 00318564 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13) +/* 8031C908 00318568 7D 89 03 A6 */ mtctr r12 +/* 8031C90C 0031856C 38 84 00 20 */ addi r4, r4, 0x20 +/* 8031C910 00318570 4E 80 04 21 */ bctrl +/* 8031C914 00318574 3C 80 44 57 */ lis r4, 0x4457434D@ha +/* 8031C918 00318578 38 04 43 4D */ addi r0, r4, 0x4457434D@l +/* 8031C91C 0031857C 90 03 00 00 */ stw r0, 0(r3) +/* 8031C920 00318580 93 E3 00 04 */ stw r31, 4(r3) +/* 8031C924 00318584 38 63 00 20 */ addi r3, r3, 0x20 +/* 8031C928 00318588 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031C92C 0031858C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031C930 00318590 7C 08 03 A6 */ mtlr r0 +/* 8031C934 00318594 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031C938 00318598 4E 80 00 20 */ blr + +.global func_8031C93C +func_8031C93C: +/* 8031C93C 0031859C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031C940 003185A0 7C 08 02 A6 */ mflr r0 +/* 8031C944 003185A4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031C948 003185A8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031C94C 003185AC 7C 9F 23 78 */ mr r31, r4 +/* 8031C950 003185B0 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13) +/* 8031C954 003185B4 7D 89 03 A6 */ mtctr r12 +/* 8031C958 003185B8 38 84 00 20 */ addi r4, r4, 0x20 +/* 8031C95C 003185BC 4E 80 04 21 */ bctrl +/* 8031C960 003185C0 3C 80 44 57 */ lis r4, 0x4457434D@ha +/* 8031C964 003185C4 38 04 43 4D */ addi r0, r4, 0x4457434D@l +/* 8031C968 003185C8 90 03 00 00 */ stw r0, 0(r3) +/* 8031C96C 003185CC 93 E3 00 04 */ stw r31, 4(r3) +/* 8031C970 003185D0 38 63 00 20 */ addi r3, r3, 0x20 +/* 8031C974 003185D4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031C978 003185D8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031C97C 003185DC 7C 08 03 A6 */ mtlr r0 +/* 8031C980 003185E0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031C984 003185E4 4E 80 00 20 */ blr + +.global func_8031C988 +func_8031C988: +/* 8031C988 003185E8 2C 04 00 00 */ cmpwi r4, 0 +/* 8031C98C 003185EC 4D 82 00 20 */ beqlr +/* 8031C990 003185F0 81 8D B0 20 */ lwz r12, lbl_806402E0-_SDA_BASE_(r13) +/* 8031C994 003185F4 7D 89 03 A6 */ mtctr r12 +/* 8031C998 003185F8 38 84 FF E0 */ addi r4, r4, -32 +/* 8031C99C 003185FC 4E 80 04 20 */ bctr +/* 8031C9A0 00318600 4E 80 00 20 */ blr +lbl_8031C9A4: +/* 8031C9A4 00318604 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031C9A8 00318608 7C 08 02 A6 */ mflr r0 +/* 8031C9AC 0031860C 38 A0 00 20 */ li r5, 0x20 +/* 8031C9B0 00318610 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031C9B4 00318614 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031C9B8 00318618 7C 7F 1B 78 */ mr r31, r3 +/* 8031C9BC 0031861C 38 9F 00 20 */ addi r4, r31, 0x20 +/* 8031C9C0 00318620 38 60 00 09 */ li r3, 9 +/* 8031C9C4 00318624 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13) +/* 8031C9C8 00318628 7D 89 03 A6 */ mtctr r12 +/* 8031C9CC 0031862C 4E 80 04 21 */ bctrl +/* 8031C9D0 00318630 3C 80 44 57 */ lis r4, 0x4457434D@ha +/* 8031C9D4 00318634 38 04 43 4D */ addi r0, r4, 0x4457434D@l +/* 8031C9D8 00318638 90 03 00 00 */ stw r0, 0(r3) +/* 8031C9DC 0031863C 93 E3 00 04 */ stw r31, 4(r3) +/* 8031C9E0 00318640 38 63 00 20 */ addi r3, r3, 0x20 +/* 8031C9E4 00318644 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031C9E8 00318648 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031C9EC 0031864C 7C 08 03 A6 */ mtlr r0 +/* 8031C9F0 00318650 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031C9F4 00318654 4E 80 00 20 */ blr +lbl_8031C9F8: +/* 8031C9F8 00318658 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031C9FC 0031865C 7C 08 02 A6 */ mflr r0 +/* 8031CA00 00318660 38 A0 00 20 */ li r5, 0x20 +/* 8031CA04 00318664 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031CA08 00318668 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031CA0C 0031866C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031CA10 00318670 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031CA14 00318674 7C 9D 23 78 */ mr r29, r4 +/* 8031CA18 00318678 93 81 00 10 */ stw r28, 0x10(r1) +/* 8031CA1C 0031867C 7C 7C 1B 78 */ mr r28, r3 +/* 8031CA20 00318680 38 60 00 09 */ li r3, 9 +/* 8031CA24 00318684 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13) +/* 8031CA28 00318688 7D 89 03 A6 */ mtctr r12 +/* 8031CA2C 0031868C 38 84 00 20 */ addi r4, r4, 0x20 +/* 8031CA30 00318690 4E 80 04 21 */ bctrl +/* 8031CA34 00318694 3C 80 44 57 */ lis r4, 0x4457434D@ha +/* 8031CA38 00318698 37 E3 00 20 */ addic. r31, r3, 0x20 +/* 8031CA3C 0031869C 38 04 43 4D */ addi r0, r4, 0x4457434D@l +/* 8031CA40 003186A0 90 03 00 00 */ stw r0, 0(r3) +/* 8031CA44 003186A4 93 A3 00 04 */ stw r29, 4(r3) +/* 8031CA48 003186A8 40 82 00 0C */ bne lbl_8031CA54 +/* 8031CA4C 003186AC 3B E0 00 00 */ li r31, 0 +/* 8031CA50 003186B0 48 00 00 40 */ b lbl_8031CA90 +lbl_8031CA54: +/* 8031CA54 003186B4 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031CA58 003186B8 41 82 00 38 */ beq lbl_8031CA90 +/* 8031CA5C 003186BC 80 BC FF E4 */ lwz r5, -0x1c(r28) +/* 8031CA60 003186C0 3B DC FF E0 */ addi r30, r28, -32 +/* 8031CA64 003186C4 7F E3 FB 78 */ mr r3, r31 +/* 8031CA68 003186C8 7F 84 E3 78 */ mr r4, r28 +/* 8031CA6C 003186CC 4B CE 75 95 */ bl memcpy +/* 8031CA70 003186D0 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031CA74 003186D4 41 82 00 1C */ beq lbl_8031CA90 +/* 8031CA78 003186D8 81 8D B0 20 */ lwz r12, lbl_806402E0-_SDA_BASE_(r13) +/* 8031CA7C 003186DC 7F C4 F3 78 */ mr r4, r30 +/* 8031CA80 003186E0 7F A5 EB 78 */ mr r5, r29 +/* 8031CA84 003186E4 38 60 00 09 */ li r3, 9 +/* 8031CA88 003186E8 7D 89 03 A6 */ mtctr r12 +/* 8031CA8C 003186EC 4E 80 04 21 */ bctrl +lbl_8031CA90: +/* 8031CA90 003186F0 7F E3 FB 78 */ mr r3, r31 +/* 8031CA94 003186F4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031CA98 003186F8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031CA9C 003186FC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031CAA0 00318700 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8031CAA4 00318704 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031CAA8 00318708 7C 08 03 A6 */ mtlr r0 +/* 8031CAAC 0031870C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031CAB0 00318710 4E 80 00 20 */ blr +lbl_8031CAB4: +/* 8031CAB4 00318714 2C 03 00 00 */ cmpwi r3, 0 +/* 8031CAB8 00318718 4D 82 00 20 */ beqlr +/* 8031CABC 0031871C 81 8D B0 20 */ lwz r12, lbl_806402E0-_SDA_BASE_(r13) +/* 8031CAC0 00318720 38 83 FF E0 */ addi r4, r3, -32 +/* 8031CAC4 00318724 38 60 00 09 */ li r3, 9 +/* 8031CAC8 00318728 38 A0 00 00 */ li r5, 0 +/* 8031CACC 0031872C 7D 89 03 A6 */ mtctr r12 +/* 8031CAD0 00318730 4E 80 04 20 */ bctr +/* 8031CAD4 00318734 4E 80 00 20 */ blr +lbl_8031CAD8: +/* 8031CAD8 00318738 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031CADC 0031873C 7C 08 02 A6 */ mflr r0 +/* 8031CAE0 00318740 7C 65 1B 78 */ mr r5, r3 +/* 8031CAE4 00318744 38 60 00 09 */ li r3, 9 +/* 8031CAE8 00318748 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031CAEC 0031874C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031CAF0 00318750 7C 9F 23 78 */ mr r31, r4 +/* 8031CAF4 00318754 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13) +/* 8031CAF8 00318758 7D 89 03 A6 */ mtctr r12 +/* 8031CAFC 0031875C 38 84 00 20 */ addi r4, r4, 0x20 +/* 8031CB00 00318760 4E 80 04 21 */ bctrl +/* 8031CB04 00318764 3C 80 44 57 */ lis r4, 0x4457434D@ha +/* 8031CB08 00318768 38 04 43 4D */ addi r0, r4, 0x4457434D@l +/* 8031CB0C 0031876C 90 03 00 00 */ stw r0, 0(r3) +/* 8031CB10 00318770 93 E3 00 04 */ stw r31, 4(r3) +/* 8031CB14 00318774 38 63 00 20 */ addi r3, r3, 0x20 +/* 8031CB18 00318778 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031CB1C 0031877C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031CB20 00318780 7C 08 03 A6 */ mtlr r0 +/* 8031CB24 00318784 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031CB28 00318788 4E 80 00 20 */ blr + +.global func_8031CB2C +func_8031CB2C: +/* 8031CB2C 0031878C 90 6D B0 28 */ stw r3, lbl_806402E8-_SDA_BASE_(r13) +/* 8031CB30 00318790 4E 80 00 20 */ blr + +.global func_8031CB34 +func_8031CB34: +/* 8031CB34 00318794 94 21 FF 80 */ stwu r1, -0x80(r1) +/* 8031CB38 00318798 7C 08 02 A6 */ mflr r0 +/* 8031CB3C 0031879C 90 01 00 84 */ stw r0, 0x84(r1) +/* 8031CB40 003187A0 93 E1 00 7C */ stw r31, 0x7c(r1) +/* 8031CB44 003187A4 7C 9F 23 78 */ mr r31, r4 +/* 8031CB48 003187A8 40 86 00 24 */ bne cr1, lbl_8031CB6C +/* 8031CB4C 003187AC D8 21 00 28 */ stfd f1, 0x28(r1) +/* 8031CB50 003187B0 D8 41 00 30 */ stfd f2, 0x30(r1) +/* 8031CB54 003187B4 D8 61 00 38 */ stfd f3, 0x38(r1) +/* 8031CB58 003187B8 D8 81 00 40 */ stfd f4, 0x40(r1) +/* 8031CB5C 003187BC D8 A1 00 48 */ stfd f5, 0x48(r1) +/* 8031CB60 003187C0 D8 C1 00 50 */ stfd f6, 0x50(r1) +/* 8031CB64 003187C4 D8 E1 00 58 */ stfd f7, 0x58(r1) +/* 8031CB68 003187C8 D9 01 00 60 */ stfd f8, 0x60(r1) +lbl_8031CB6C: +/* 8031CB6C 003187CC 80 0D B0 28 */ lwz r0, lbl_806402E8-_SDA_BASE_(r13) +/* 8031CB70 003187D0 3D 60 80 44 */ lis r11, lbl_80446968@ha +/* 8031CB74 003187D4 90 61 00 08 */ stw r3, 8(r1) +/* 8031CB78 003187D8 39 6B 69 68 */ addi r11, r11, lbl_80446968@l +/* 8031CB7C 003187DC 7C 60 00 39 */ and. r0, r3, r0 +/* 8031CB80 003187E0 90 81 00 0C */ stw r4, 0xc(r1) +/* 8031CB84 003187E4 90 A1 00 10 */ stw r5, 0x10(r1) +/* 8031CB88 003187E8 90 C1 00 14 */ stw r6, 0x14(r1) +/* 8031CB8C 003187EC 90 E1 00 18 */ stw r7, 0x18(r1) +/* 8031CB90 003187F0 91 01 00 1C */ stw r8, 0x1c(r1) +/* 8031CB94 003187F4 91 21 00 20 */ stw r9, 0x20(r1) +/* 8031CB98 003187F8 91 41 00 24 */ stw r10, 0x24(r1) +/* 8031CB9C 003187FC 41 82 02 AC */ beq lbl_8031CE48 +/* 8031CBA0 00318800 2C 03 04 00 */ cmpwi r3, 0x400 +/* 8031CBA4 00318804 41 82 01 C4 */ beq lbl_8031CD68 +/* 8031CBA8 00318808 40 80 00 90 */ bge lbl_8031CC38 +/* 8031CBAC 0031880C 2C 03 00 20 */ cmpwi r3, 0x20 +/* 8031CBB0 00318810 41 82 01 68 */ beq lbl_8031CD18 +/* 8031CBB4 00318814 40 80 00 54 */ bge lbl_8031CC08 +/* 8031CBB8 00318818 2C 03 00 04 */ cmpwi r3, 4 +/* 8031CBBC 0031881C 41 82 01 2C */ beq lbl_8031CCE8 +/* 8031CBC0 00318820 40 80 00 30 */ bge lbl_8031CBF0 +/* 8031CBC4 00318824 2C 03 00 01 */ cmpwi r3, 1 +/* 8031CBC8 00318828 41 82 01 00 */ beq lbl_8031CCC8 +/* 8031CBCC 0031882C 40 80 00 18 */ bge lbl_8031CBE4 +/* 8031CBD0 00318830 3C 80 80 00 */ lis r4, 0x80000001@ha +/* 8031CBD4 00318834 38 04 00 01 */ addi r0, r4, 0x80000001@l +/* 8031CBD8 00318838 7C 03 00 00 */ cmpw r3, r0 +/* 8031CBDC 0031883C 40 80 02 3C */ bge lbl_8031CE18 +/* 8031CBE0 00318840 48 00 02 28 */ b lbl_8031CE08 +lbl_8031CBE4: +/* 8031CBE4 00318844 2C 03 00 03 */ cmpwi r3, 3 +/* 8031CBE8 00318848 40 80 02 30 */ bge lbl_8031CE18 +/* 8031CBEC 0031884C 48 00 00 EC */ b lbl_8031CCD8 +lbl_8031CBF0: +/* 8031CBF0 00318850 2C 03 00 10 */ cmpwi r3, 0x10 +/* 8031CBF4 00318854 41 82 01 14 */ beq lbl_8031CD08 +/* 8031CBF8 00318858 40 80 02 20 */ bge lbl_8031CE18 +/* 8031CBFC 0031885C 2C 03 00 08 */ cmpwi r3, 8 +/* 8031CC00 00318860 41 82 00 F8 */ beq lbl_8031CCF8 +/* 8031CC04 00318864 48 00 02 14 */ b lbl_8031CE18 +lbl_8031CC08: +/* 8031CC08 00318868 2C 03 01 00 */ cmpwi r3, 0x100 +/* 8031CC0C 0031886C 41 82 01 3C */ beq lbl_8031CD48 +/* 8031CC10 00318870 40 80 00 1C */ bge lbl_8031CC2C +/* 8031CC14 00318874 2C 03 00 80 */ cmpwi r3, 0x80 +/* 8031CC18 00318878 41 82 01 20 */ beq lbl_8031CD38 +/* 8031CC1C 0031887C 40 80 01 FC */ bge lbl_8031CE18 +/* 8031CC20 00318880 2C 03 00 40 */ cmpwi r3, 0x40 +/* 8031CC24 00318884 41 82 01 04 */ beq lbl_8031CD28 +/* 8031CC28 00318888 48 00 01 F0 */ b lbl_8031CE18 +lbl_8031CC2C: +/* 8031CC2C 0031888C 2C 03 02 00 */ cmpwi r3, 0x200 +/* 8031CC30 00318890 41 82 01 28 */ beq lbl_8031CD58 +/* 8031CC34 00318894 48 00 01 E4 */ b lbl_8031CE18 +lbl_8031CC38: +/* 8031CC38 00318898 3C 00 01 00 */ lis r0, 0x100 +/* 8031CC3C 0031889C 7C 03 00 00 */ cmpw r3, r0 +/* 8031CC40 003188A0 41 82 01 78 */ beq lbl_8031CDB8 +/* 8031CC44 003188A4 40 80 00 44 */ bge lbl_8031CC88 +/* 8031CC48 003188A8 3C 00 00 02 */ lis r0, 2 +/* 8031CC4C 003188AC 7C 03 00 00 */ cmpw r3, r0 +/* 8031CC50 003188B0 41 82 01 48 */ beq lbl_8031CD98 +/* 8031CC54 003188B4 40 80 00 24 */ bge lbl_8031CC78 +/* 8031CC58 003188B8 3C 80 00 01 */ lis r4, 1 +/* 8031CC5C 003188BC 7C 03 20 00 */ cmpw r3, r4 +/* 8031CC60 003188C0 41 82 01 28 */ beq lbl_8031CD88 +/* 8031CC64 003188C4 40 80 01 B4 */ bge lbl_8031CE18 +/* 8031CC68 003188C8 38 04 80 00 */ addi r0, r4, -32768 +/* 8031CC6C 003188CC 7C 03 00 00 */ cmpw r3, r0 +/* 8031CC70 003188D0 41 82 01 08 */ beq lbl_8031CD78 +/* 8031CC74 003188D4 48 00 01 A4 */ b lbl_8031CE18 +lbl_8031CC78: +/* 8031CC78 003188D8 3C 00 00 04 */ lis r0, 4 +/* 8031CC7C 003188DC 7C 03 00 00 */ cmpw r3, r0 +/* 8031CC80 003188E0 41 82 01 28 */ beq lbl_8031CDA8 +/* 8031CC84 003188E4 48 00 01 94 */ b lbl_8031CE18 +lbl_8031CC88: +/* 8031CC88 003188E8 3C 00 08 00 */ lis r0, 0x800 +/* 8031CC8C 003188EC 7C 03 00 00 */ cmpw r3, r0 +/* 8031CC90 003188F0 41 82 01 58 */ beq lbl_8031CDE8 +/* 8031CC94 003188F4 40 80 00 24 */ bge lbl_8031CCB8 +/* 8031CC98 003188F8 3C 00 04 00 */ lis r0, 0x400 +/* 8031CC9C 003188FC 7C 03 00 00 */ cmpw r3, r0 +/* 8031CCA0 00318900 41 82 01 38 */ beq lbl_8031CDD8 +/* 8031CCA4 00318904 40 80 01 74 */ bge lbl_8031CE18 +/* 8031CCA8 00318908 3C 00 02 00 */ lis r0, 0x200 +/* 8031CCAC 0031890C 7C 03 00 00 */ cmpw r3, r0 +/* 8031CCB0 00318910 41 82 01 18 */ beq lbl_8031CDC8 +/* 8031CCB4 00318914 48 00 01 64 */ b lbl_8031CE18 +lbl_8031CCB8: +/* 8031CCB8 00318918 3C 00 10 00 */ lis r0, 0x1000 +/* 8031CCBC 0031891C 7C 03 00 00 */ cmpw r3, r0 +/* 8031CCC0 00318920 41 82 01 38 */ beq lbl_8031CDF8 +/* 8031CCC4 00318924 48 00 01 54 */ b lbl_8031CE18 +lbl_8031CCC8: +/* 8031CCC8 00318928 38 6B 00 00 */ addi r3, r11, 0 +/* 8031CCCC 0031892C 4C C6 31 82 */ crclr 6 +/* 8031CCD0 00318930 4B EA FB 95 */ bl printf +/* 8031CCD4 00318934 48 00 01 50 */ b lbl_8031CE24 +lbl_8031CCD8: +/* 8031CCD8 00318938 38 6B 00 10 */ addi r3, r11, 0x10 +/* 8031CCDC 0031893C 4C C6 31 82 */ crclr 6 +/* 8031CCE0 00318940 4B EA FB 85 */ bl printf +/* 8031CCE4 00318944 48 00 01 40 */ b lbl_8031CE24 +lbl_8031CCE8: +/* 8031CCE8 00318948 38 6B 00 20 */ addi r3, r11, 0x20 +/* 8031CCEC 0031894C 4C C6 31 82 */ crclr 6 +/* 8031CCF0 00318950 4B EA FB 75 */ bl printf +/* 8031CCF4 00318954 48 00 01 30 */ b lbl_8031CE24 +lbl_8031CCF8: +/* 8031CCF8 00318958 38 6B 00 30 */ addi r3, r11, 0x30 +/* 8031CCFC 0031895C 4C C6 31 82 */ crclr 6 +/* 8031CD00 00318960 4B EA FB 65 */ bl printf +/* 8031CD04 00318964 48 00 01 20 */ b lbl_8031CE24 +lbl_8031CD08: +/* 8031CD08 00318968 38 6B 00 40 */ addi r3, r11, 0x40 +/* 8031CD0C 0031896C 4C C6 31 82 */ crclr 6 +/* 8031CD10 00318970 4B EA FB 55 */ bl printf +/* 8031CD14 00318974 48 00 01 10 */ b lbl_8031CE24 +lbl_8031CD18: +/* 8031CD18 00318978 38 6B 00 50 */ addi r3, r11, 0x50 +/* 8031CD1C 0031897C 4C C6 31 82 */ crclr 6 +/* 8031CD20 00318980 4B EA FB 45 */ bl printf +/* 8031CD24 00318984 48 00 01 00 */ b lbl_8031CE24 +lbl_8031CD28: +/* 8031CD28 00318988 38 6B 00 60 */ addi r3, r11, 0x60 +/* 8031CD2C 0031898C 4C C6 31 82 */ crclr 6 +/* 8031CD30 00318990 4B EA FB 35 */ bl printf +/* 8031CD34 00318994 48 00 00 F0 */ b lbl_8031CE24 +lbl_8031CD38: +/* 8031CD38 00318998 38 6B 00 70 */ addi r3, r11, 0x70 +/* 8031CD3C 0031899C 4C C6 31 82 */ crclr 6 +/* 8031CD40 003189A0 4B EA FB 25 */ bl printf +/* 8031CD44 003189A4 48 00 00 E0 */ b lbl_8031CE24 +lbl_8031CD48: +/* 8031CD48 003189A8 38 6B 00 80 */ addi r3, r11, 0x80 +/* 8031CD4C 003189AC 4C C6 31 82 */ crclr 6 +/* 8031CD50 003189B0 4B EA FB 15 */ bl printf +/* 8031CD54 003189B4 48 00 00 D0 */ b lbl_8031CE24 +lbl_8031CD58: +/* 8031CD58 003189B8 38 6B 00 90 */ addi r3, r11, 0x90 +/* 8031CD5C 003189BC 4C C6 31 82 */ crclr 6 +/* 8031CD60 003189C0 4B EA FB 05 */ bl printf +/* 8031CD64 003189C4 48 00 00 C0 */ b lbl_8031CE24 +lbl_8031CD68: +/* 8031CD68 003189C8 38 6B 00 A0 */ addi r3, r11, 0xa0 +/* 8031CD6C 003189CC 4C C6 31 82 */ crclr 6 +/* 8031CD70 003189D0 4B EA FA F5 */ bl printf +/* 8031CD74 003189D4 48 00 00 B0 */ b lbl_8031CE24 +lbl_8031CD78: +/* 8031CD78 003189D8 38 6B 00 B0 */ addi r3, r11, 0xb0 +/* 8031CD7C 003189DC 4C C6 31 82 */ crclr 6 +/* 8031CD80 003189E0 4B EA FA E5 */ bl printf +/* 8031CD84 003189E4 48 00 00 A0 */ b lbl_8031CE24 +lbl_8031CD88: +/* 8031CD88 003189E8 38 6B 00 C0 */ addi r3, r11, 0xc0 +/* 8031CD8C 003189EC 4C C6 31 82 */ crclr 6 +/* 8031CD90 003189F0 4B EA FA D5 */ bl printf +/* 8031CD94 003189F4 48 00 00 90 */ b lbl_8031CE24 +lbl_8031CD98: +/* 8031CD98 003189F8 38 6B 00 D0 */ addi r3, r11, 0xd0 +/* 8031CD9C 003189FC 4C C6 31 82 */ crclr 6 +/* 8031CDA0 00318A00 4B EA FA C5 */ bl printf +/* 8031CDA4 00318A04 48 00 00 80 */ b lbl_8031CE24 +lbl_8031CDA8: +/* 8031CDA8 00318A08 38 6B 00 E0 */ addi r3, r11, 0xe0 +/* 8031CDAC 00318A0C 4C C6 31 82 */ crclr 6 +/* 8031CDB0 00318A10 4B EA FA B5 */ bl printf +/* 8031CDB4 00318A14 48 00 00 70 */ b lbl_8031CE24 +lbl_8031CDB8: +/* 8031CDB8 00318A18 38 6B 00 F4 */ addi r3, r11, 0xf4 +/* 8031CDBC 00318A1C 4C C6 31 82 */ crclr 6 +/* 8031CDC0 00318A20 4B EA FA A5 */ bl printf +/* 8031CDC4 00318A24 48 00 00 60 */ b lbl_8031CE24 +lbl_8031CDC8: +/* 8031CDC8 00318A28 38 6B 01 04 */ addi r3, r11, 0x104 +/* 8031CDCC 00318A2C 4C C6 31 82 */ crclr 6 +/* 8031CDD0 00318A30 4B EA FA 95 */ bl printf +/* 8031CDD4 00318A34 48 00 00 50 */ b lbl_8031CE24 +lbl_8031CDD8: +/* 8031CDD8 00318A38 38 6B 01 14 */ addi r3, r11, 0x114 +/* 8031CDDC 00318A3C 4C C6 31 82 */ crclr 6 +/* 8031CDE0 00318A40 4B EA FA 85 */ bl printf +/* 8031CDE4 00318A44 48 00 00 40 */ b lbl_8031CE24 +lbl_8031CDE8: +/* 8031CDE8 00318A48 38 6B 01 24 */ addi r3, r11, 0x124 +/* 8031CDEC 00318A4C 4C C6 31 82 */ crclr 6 +/* 8031CDF0 00318A50 4B EA FA 75 */ bl printf +/* 8031CDF4 00318A54 48 00 00 30 */ b lbl_8031CE24 +lbl_8031CDF8: +/* 8031CDF8 00318A58 38 6B 01 34 */ addi r3, r11, 0x134 +/* 8031CDFC 00318A5C 4C C6 31 82 */ crclr 6 +/* 8031CE00 00318A60 4B EA FA 65 */ bl printf +/* 8031CE04 00318A64 48 00 00 20 */ b lbl_8031CE24 +lbl_8031CE08: +/* 8031CE08 00318A68 38 6B 01 44 */ addi r3, r11, 0x144 +/* 8031CE0C 00318A6C 4C C6 31 82 */ crclr 6 +/* 8031CE10 00318A70 4B EA FA 55 */ bl printf +/* 8031CE14 00318A74 48 00 00 10 */ b lbl_8031CE24 +lbl_8031CE18: +/* 8031CE18 00318A78 38 6B 01 54 */ addi r3, r11, 0x154 +/* 8031CE1C 00318A7C 4C C6 31 82 */ crclr 6 +/* 8031CE20 00318A80 4B EA FA 45 */ bl printf +lbl_8031CE24: +/* 8031CE24 00318A84 38 A1 00 88 */ addi r5, r1, 0x88 +/* 8031CE28 00318A88 38 01 00 08 */ addi r0, r1, 8 +/* 8031CE2C 00318A8C 3C 60 02 00 */ lis r3, 0x200 +/* 8031CE30 00318A90 90 A1 00 6C */ stw r5, 0x6c(r1) +/* 8031CE34 00318A94 38 81 00 68 */ addi r4, r1, 0x68 +/* 8031CE38 00318A98 90 61 00 68 */ stw r3, 0x68(r1) +/* 8031CE3C 00318A9C 7F E3 FB 78 */ mr r3, r31 +/* 8031CE40 00318AA0 90 01 00 70 */ stw r0, 0x70(r1) +/* 8031CE44 00318AA4 4B EA FA E9 */ bl vprintf +lbl_8031CE48: +/* 8031CE48 00318AA8 80 01 00 84 */ lwz r0, 0x84(r1) +/* 8031CE4C 00318AAC 83 E1 00 7C */ lwz r31, 0x7c(r1) +/* 8031CE50 00318AB0 7C 08 03 A6 */ mtlr r0 +/* 8031CE54 00318AB4 38 21 00 80 */ addi r1, r1, 0x80 +/* 8031CE58 00318AB8 4E 80 00 20 */ blr + +.global func_8031CE5C +func_8031CE5C: +/* 8031CE5C 00318ABC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031CE60 00318AC0 7C 08 02 A6 */ mflr r0 +/* 8031CE64 00318AC4 3C 80 80 44 */ lis r4, lbl_80446AD0@ha +/* 8031CE68 00318AC8 38 60 00 04 */ li r3, 4 +/* 8031CE6C 00318ACC 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031CE70 00318AD0 38 84 6A D0 */ addi r4, r4, lbl_80446AD0@l +/* 8031CE74 00318AD4 4C C6 31 82 */ crclr 6 +/* 8031CE78 00318AD8 4B FF FC BD */ bl func_8031CB34 +/* 8031CE7C 00318ADC 48 03 70 4D */ bl ghttpStartup +/* 8031CE80 00318AE0 80 8D B0 34 */ lwz r4, lbl_806402F4-_SDA_BASE_(r13) +/* 8031CE84 00318AE4 38 60 00 01 */ li r3, 1 +/* 8031CE88 00318AE8 38 04 00 01 */ addi r0, r4, 1 +/* 8031CE8C 00318AEC 90 0D B0 34 */ stw r0, lbl_806402F4-_SDA_BASE_(r13) +/* 8031CE90 00318AF0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031CE94 00318AF4 7C 08 03 A6 */ mtlr r0 +/* 8031CE98 00318AF8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031CE9C 00318AFC 4E 80 00 20 */ blr + +.global func_8031CEA0 +func_8031CEA0: +/* 8031CEA0 00318B00 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031CEA4 00318B04 7C 08 02 A6 */ mflr r0 +/* 8031CEA8 00318B08 3C 80 80 44 */ lis r4, lbl_80446AE0@ha +/* 8031CEAC 00318B0C 38 60 00 04 */ li r3, 4 +/* 8031CEB0 00318B10 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031CEB4 00318B14 38 84 6A E0 */ addi r4, r4, lbl_80446AE0@l +/* 8031CEB8 00318B18 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031CEBC 00318B1C 93 C1 00 08 */ stw r30, 8(r1) +/* 8031CEC0 00318B20 4C C6 31 82 */ crclr 6 +/* 8031CEC4 00318B24 4B FF FC 71 */ bl func_8031CB34 +/* 8031CEC8 00318B28 80 0D B0 34 */ lwz r0, lbl_806402F4-_SDA_BASE_(r13) +/* 8031CECC 00318B2C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031CED0 00318B30 41 81 00 0C */ bgt lbl_8031CEDC +/* 8031CED4 00318B34 38 60 00 01 */ li r3, 1 +/* 8031CED8 00318B38 48 00 00 64 */ b lbl_8031CF3C +lbl_8031CEDC: +/* 8031CEDC 00318B3C 48 03 70 3D */ bl ghttpCleanup +/* 8031CEE0 00318B40 80 0D B0 34 */ lwz r0, lbl_806402F4-_SDA_BASE_(r13) +/* 8031CEE4 00318B44 34 00 FF FF */ addic. r0, r0, -1 +/* 8031CEE8 00318B48 90 0D B0 34 */ stw r0, lbl_806402F4-_SDA_BASE_(r13) +/* 8031CEEC 00318B4C 40 82 00 4C */ bne lbl_8031CF38 +/* 8031CEF0 00318B50 83 CD B0 30 */ lwz r30, lbl_806402F0-_SDA_BASE_(r13) +/* 8031CEF4 00318B54 48 00 00 34 */ b lbl_8031CF28 +lbl_8031CEF8: +/* 8031CEF8 00318B58 7F DF F3 78 */ mr r31, r30 +/* 8031CEFC 00318B5C 83 DE 00 18 */ lwz r30, 0x18(r30) +/* 8031CF00 00318B60 80 9F 00 10 */ lwz r4, 0x10(r31) +/* 8031CF04 00318B64 2C 04 00 00 */ cmpwi r4, 0 +/* 8031CF08 00318B68 41 82 00 10 */ beq lbl_8031CF18 +/* 8031CF0C 00318B6C 38 60 00 06 */ li r3, 6 +/* 8031CF10 00318B70 38 A0 00 00 */ li r5, 0 +/* 8031CF14 00318B74 4B FF FA 75 */ bl func_8031C988 +lbl_8031CF18: +/* 8031CF18 00318B78 7F E4 FB 78 */ mr r4, r31 +/* 8031CF1C 00318B7C 38 60 00 06 */ li r3, 6 +/* 8031CF20 00318B80 38 A0 00 00 */ li r5, 0 +/* 8031CF24 00318B84 4B FF FA 65 */ bl func_8031C988 +lbl_8031CF28: +/* 8031CF28 00318B88 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031CF2C 00318B8C 40 82 FF CC */ bne lbl_8031CEF8 +/* 8031CF30 00318B90 38 00 00 00 */ li r0, 0 +/* 8031CF34 00318B94 90 0D B0 30 */ stw r0, lbl_806402F0-_SDA_BASE_(r13) +lbl_8031CF38: +/* 8031CF38 00318B98 38 60 00 01 */ li r3, 1 +lbl_8031CF3C: +/* 8031CF3C 00318B9C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031CF40 00318BA0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031CF44 00318BA4 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031CF48 00318BA8 7C 08 03 A6 */ mtlr r0 +/* 8031CF4C 00318BAC 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031CF50 00318BB0 4E 80 00 20 */ blr + +.global func_8031CF54 +func_8031CF54: +/* 8031CF54 00318BB4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031CF58 00318BB8 7C 08 02 A6 */ mflr r0 +/* 8031CF5C 00318BBC 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031CF60 00318BC0 4B FF F6 0D */ bl PlatAudio_IsEntireSampleFileInMem +/* 8031CF64 00318BC4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031CF68 00318BC8 41 82 00 0C */ beq lbl_8031CF74 +/* 8031CF6C 00318BCC 38 60 00 00 */ li r3, 0 +/* 8031CF70 00318BD0 48 00 00 0C */ b lbl_8031CF7C +lbl_8031CF74: +/* 8031CF74 00318BD4 48 03 72 5D */ bl ghttpThink +/* 8031CF78 00318BD8 38 60 00 01 */ li r3, 1 +lbl_8031CF7C: +/* 8031CF7C 00318BDC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031CF80 00318BE0 7C 08 03 A6 */ mtlr r0 +/* 8031CF84 00318BE4 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031CF88 00318BE8 4E 80 00 20 */ blr +lbl_8031CF8C: +/* 8031CF8C 00318BEC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031CF90 00318BF0 7C 08 02 A6 */ mflr r0 +/* 8031CF94 00318BF4 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031CF98 00318BF8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031CF9C 00318BFC 4B EA A1 85 */ bl _savegpr_25 +/* 8031CFA0 00318C00 7C 99 23 78 */ mr r25, r4 +/* 8031CFA4 00318C04 3C 80 80 44 */ lis r4, lbl_80446AF4@ha +/* 8031CFA8 00318C08 7C BA 2B 78 */ mr r26, r5 +/* 8031CFAC 00318C0C 83 C7 00 04 */ lwz r30, 4(r7) +/* 8031CFB0 00318C10 83 A7 00 0C */ lwz r29, 0xc(r7) +/* 8031CFB4 00318C14 7C DB 33 78 */ mr r27, r6 +/* 8031CFB8 00318C18 7C FF 3B 78 */ mr r31, r7 +/* 8031CFBC 00318C1C 7F 25 CB 78 */ mr r5, r25 +/* 8031CFC0 00318C20 38 84 6A F4 */ addi r4, r4, lbl_80446AF4@l +/* 8031CFC4 00318C24 38 60 00 04 */ li r3, 4 +/* 8031CFC8 00318C28 4C C6 31 82 */ crclr 6 +/* 8031CFCC 00318C2C 4B FF FB 69 */ bl func_8031CB34 +/* 8031CFD0 00318C30 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031CFD4 00318C34 41 82 00 A4 */ beq lbl_8031D078 +/* 8031CFD8 00318C38 2C 19 00 00 */ cmpwi r25, 0 +/* 8031CFDC 00318C3C 40 82 00 24 */ bne lbl_8031D000 +/* 8031CFE0 00318C40 7F CC F3 78 */ mr r12, r30 +/* 8031CFE4 00318C44 7F 43 D3 78 */ mr r3, r26 +/* 8031CFE8 00318C48 7F 64 DB 78 */ mr r4, r27 +/* 8031CFEC 00318C4C 7F 25 CB 78 */ mr r5, r25 +/* 8031CFF0 00318C50 80 DF 00 00 */ lwz r6, 0(r31) +/* 8031CFF4 00318C54 7D 89 03 A6 */ mtctr r12 +/* 8031CFF8 00318C58 4E 80 04 21 */ bctrl +/* 8031CFFC 00318C5C 48 00 00 90 */ b lbl_8031D08C +lbl_8031D000: +/* 8031D000 00318C60 2C 1B 00 00 */ cmpwi r27, 0 +/* 8031D004 00318C64 40 81 00 4C */ ble lbl_8031D050 +/* 8031D008 00318C68 38 9B 00 01 */ addi r4, r27, 1 +/* 8031D00C 00318C6C 38 60 00 06 */ li r3, 6 +/* 8031D010 00318C70 4B FF F8 DD */ bl func_8031C8EC +/* 8031D014 00318C74 7C 7C 1B 78 */ mr r28, r3 +/* 8031D018 00318C78 7F 44 D3 78 */ mr r4, r26 +/* 8031D01C 00318C7C 7F 65 DB 78 */ mr r5, r27 +/* 8031D020 00318C80 4B CE 6F E1 */ bl memcpy +/* 8031D024 00318C84 38 00 00 00 */ li r0, 0 +/* 8031D028 00318C88 7F 45 D3 78 */ mr r5, r26 +/* 8031D02C 00318C8C 7C 1C D9 AE */ stbx r0, r28, r27 +/* 8031D030 00318C90 38 60 00 04 */ li r3, 4 +/* 8031D034 00318C94 38 8D 8D 40 */ addi r4, r13, lbl_8063E000-_SDA_BASE_ +/* 8031D038 00318C98 4C C6 31 82 */ crclr 6 +/* 8031D03C 00318C9C 4B FF FA F9 */ bl func_8031CB34 +/* 8031D040 00318CA0 7F 84 E3 78 */ mr r4, r28 +/* 8031D044 00318CA4 38 60 00 06 */ li r3, 6 +/* 8031D048 00318CA8 38 A0 00 00 */ li r5, 0 +/* 8031D04C 00318CAC 4B FF F9 3D */ bl func_8031C988 +lbl_8031D050: +/* 8031D050 00318CB0 7F 23 CB 78 */ mr r3, r25 +/* 8031D054 00318CB4 48 00 02 A9 */ bl func_8031D2FC +/* 8031D058 00318CB8 7F CC F3 78 */ mr r12, r30 +/* 8031D05C 00318CBC 7F 25 CB 78 */ mr r5, r25 +/* 8031D060 00318CC0 80 DF 00 00 */ lwz r6, 0(r31) +/* 8031D064 00318CC4 38 60 00 00 */ li r3, 0 +/* 8031D068 00318CC8 38 80 00 00 */ li r4, 0 +/* 8031D06C 00318CCC 7D 89 03 A6 */ mtctr r12 +/* 8031D070 00318CD0 4E 80 04 21 */ bctrl +/* 8031D074 00318CD4 48 00 00 18 */ b lbl_8031D08C +lbl_8031D078: +/* 8031D078 00318CD8 3C 80 80 44 */ lis r4, lbl_80446B18@ha +/* 8031D07C 00318CDC 38 60 00 04 */ li r3, 4 +/* 8031D080 00318CE0 38 84 6B 18 */ addi r4, r4, lbl_80446B18@l +/* 8031D084 00318CE4 4C C6 31 82 */ crclr 6 +/* 8031D088 00318CE8 4B FF FA AD */ bl func_8031CB34 +lbl_8031D08C: +/* 8031D08C 00318CEC 2C 19 00 00 */ cmpwi r25, 0 +/* 8031D090 00318CF0 40 82 00 0C */ bne lbl_8031D09C +/* 8031D094 00318CF4 2C 1D 00 01 */ cmpwi r29, 1 +/* 8031D098 00318CF8 40 82 00 24 */ bne lbl_8031D0BC +lbl_8031D09C: +/* 8031D09C 00318CFC 80 9F 00 10 */ lwz r4, 0x10(r31) +/* 8031D0A0 00318D00 2C 04 00 00 */ cmpwi r4, 0 +/* 8031D0A4 00318D04 41 82 00 14 */ beq lbl_8031D0B8 +/* 8031D0A8 00318D08 38 60 00 06 */ li r3, 6 +/* 8031D0AC 00318D0C 38 A0 00 00 */ li r5, 0 +/* 8031D0B0 00318D10 4B FF F8 D9 */ bl func_8031C988 +/* 8031D0B4 00318D14 48 00 00 08 */ b lbl_8031D0BC +lbl_8031D0B8: +/* 8031D0B8 00318D18 3B A0 00 01 */ li r29, 1 +lbl_8031D0BC: +/* 8031D0BC 00318D1C 7F E3 FB 78 */ mr r3, r31 +/* 8031D0C0 00318D20 48 00 03 65 */ bl func_8031D424 +/* 8031D0C4 00318D24 7C 1D 00 D0 */ neg r0, r29 +/* 8031D0C8 00318D28 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031D0CC 00318D2C 7C 00 EB 78 */ or r0, r0, r29 +/* 8031D0D0 00318D30 54 03 0F FE */ srwi r3, r0, 0x1f +/* 8031D0D4 00318D34 4B EA A0 99 */ bl _restgpr_25 +/* 8031D0D8 00318D38 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031D0DC 00318D3C 7C 08 03 A6 */ mtlr r0 +/* 8031D0E0 00318D40 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031D0E4 00318D44 4E 80 00 20 */ blr + +.global func_8031D0E8 +func_8031D0E8: +/* 8031D0E8 00318D48 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031D0EC 00318D4C 7C 08 02 A6 */ mflr r0 +/* 8031D0F0 00318D50 3C C0 80 44 */ lis r6, lbl_80446B40@ha +/* 8031D0F4 00318D54 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031D0F8 00318D58 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 8031D0FC 00318D5C 93 C1 00 28 */ stw r30, 0x28(r1) +/* 8031D100 00318D60 7C 7E 1B 78 */ mr r30, r3 +/* 8031D104 00318D64 38 60 00 04 */ li r3, 4 +/* 8031D108 00318D68 93 A1 00 24 */ stw r29, 0x24(r1) +/* 8031D10C 00318D6C 7C BD 2B 78 */ mr r29, r5 +/* 8031D110 00318D70 93 81 00 20 */ stw r28, 0x20(r1) +/* 8031D114 00318D74 7C 9C 23 78 */ mr r28, r4 +/* 8031D118 00318D78 38 86 6B 40 */ addi r4, r6, lbl_80446B40@l +/* 8031D11C 00318D7C 4C C6 31 82 */ crclr 6 +/* 8031D120 00318D80 4B FF FA 15 */ bl func_8031CB34 +/* 8031D124 00318D84 4B FF F4 49 */ bl PlatAudio_IsEntireSampleFileInMem +/* 8031D128 00318D88 2C 03 00 00 */ cmpwi r3, 0 +/* 8031D12C 00318D8C 41 82 00 0C */ beq lbl_8031D138 +/* 8031D130 00318D90 38 60 00 00 */ li r3, 0 +/* 8031D134 00318D94 48 00 01 2C */ b lbl_8031D260 +lbl_8031D138: +/* 8031D138 00318D98 3B E0 00 00 */ li r31, 0 +/* 8031D13C 00318D9C 38 00 00 01 */ li r0, 1 +/* 8031D140 00318DA0 93 A1 00 08 */ stw r29, 8(r1) +/* 8031D144 00318DA4 38 60 00 06 */ li r3, 6 +/* 8031D148 00318DA8 38 80 00 1C */ li r4, 0x1c +/* 8031D14C 00318DAC 93 81 00 0C */ stw r28, 0xc(r1) +/* 8031D150 00318DB0 93 E1 00 10 */ stw r31, 0x10(r1) +/* 8031D154 00318DB4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031D158 00318DB8 4B FF F7 95 */ bl func_8031C8EC +/* 8031D15C 00318DBC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031D160 00318DC0 40 82 00 0C */ bne lbl_8031D16C +/* 8031D164 00318DC4 3B E0 00 00 */ li r31, 0 +/* 8031D168 00318DC8 48 00 00 50 */ b lbl_8031D1B8 +lbl_8031D16C: +/* 8031D16C 00318DCC 7F A4 EB 78 */ mr r4, r29 +/* 8031D170 00318DD0 7F 80 E3 78 */ mr r0, r28 +/* 8031D174 00318DD4 90 83 00 00 */ stw r4, 0(r3) +/* 8031D178 00318DD8 7F E4 FB 78 */ mr r4, r31 +/* 8031D17C 00318DDC 90 03 00 04 */ stw r0, 4(r3) +/* 8031D180 00318DE0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031D184 00318DE4 90 83 00 08 */ stw r4, 8(r3) +/* 8031D188 00318DE8 90 03 00 0C */ stw r0, 0xc(r3) +/* 8031D18C 00318DEC 93 E3 00 18 */ stw r31, 0x18(r3) +/* 8031D190 00318DF0 93 E3 00 10 */ stw r31, 0x10(r3) +/* 8031D194 00318DF4 80 0D B0 30 */ lwz r0, lbl_806402F0-_SDA_BASE_(r13) +/* 8031D198 00318DF8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031D19C 00318DFC 40 82 00 10 */ bne lbl_8031D1AC +/* 8031D1A0 00318E00 90 6D B0 30 */ stw r3, lbl_806402F0-_SDA_BASE_(r13) +/* 8031D1A4 00318E04 7C 7F 1B 78 */ mr r31, r3 +/* 8031D1A8 00318E08 48 00 00 10 */ b lbl_8031D1B8 +lbl_8031D1AC: +/* 8031D1AC 00318E0C 90 03 00 18 */ stw r0, 0x18(r3) +/* 8031D1B0 00318E10 7C 7F 1B 78 */ mr r31, r3 +/* 8031D1B4 00318E14 90 6D B0 30 */ stw r3, lbl_806402F0-_SDA_BASE_(r13) +lbl_8031D1B8: +/* 8031D1B8 00318E18 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031D1BC 00318E1C 40 82 00 44 */ bne lbl_8031D200 +/* 8031D1C0 00318E20 38 60 FF FB */ li r3, -5 +/* 8031D1C4 00318E24 48 00 01 39 */ bl func_8031D2FC +/* 8031D1C8 00318E28 3C 80 80 44 */ lis r4, lbl_80446B2C@ha +/* 8031D1CC 00318E2C 38 60 00 04 */ li r3, 4 +/* 8031D1D0 00318E30 38 84 6B 2C */ addi r4, r4, lbl_80446B2C@l +/* 8031D1D4 00318E34 4C C6 31 82 */ crclr 6 +/* 8031D1D8 00318E38 4B FF F9 5D */ bl func_8031CB34 +/* 8031D1DC 00318E3C 7F 8C E3 78 */ mr r12, r28 +/* 8031D1E0 00318E40 7F A6 EB 78 */ mr r6, r29 +/* 8031D1E4 00318E44 38 60 00 00 */ li r3, 0 +/* 8031D1E8 00318E48 38 80 00 00 */ li r4, 0 +/* 8031D1EC 00318E4C 38 A0 FF FB */ li r5, -5 +/* 8031D1F0 00318E50 7D 89 03 A6 */ mtctr r12 +/* 8031D1F4 00318E54 4E 80 04 21 */ bctrl +/* 8031D1F8 00318E58 38 60 FF FB */ li r3, -5 +/* 8031D1FC 00318E5C 48 00 00 64 */ b lbl_8031D260 +lbl_8031D200: +/* 8031D200 00318E60 3C A0 80 32 */ lis r5, lbl_8031CF8C@ha +/* 8031D204 00318E64 7F C3 F3 78 */ mr r3, r30 +/* 8031D208 00318E68 7F E6 FB 78 */ mr r6, r31 +/* 8031D20C 00318E6C 38 80 00 00 */ li r4, 0 +/* 8031D210 00318E70 38 A5 CF 8C */ addi r5, r5, lbl_8031CF8C@l +/* 8031D214 00318E74 48 03 6D 61 */ bl func_80353F74 +/* 8031D218 00318E78 2C 03 00 00 */ cmpwi r3, 0 +/* 8031D21C 00318E7C 7C 7E 1B 78 */ mr r30, r3 +/* 8031D220 00318E80 40 80 00 2C */ bge lbl_8031D24C +/* 8031D224 00318E84 48 00 00 D9 */ bl func_8031D2FC +/* 8031D228 00318E88 7F 8C E3 78 */ mr r12, r28 +/* 8031D22C 00318E8C 7F C5 F3 78 */ mr r5, r30 +/* 8031D230 00318E90 7F A6 EB 78 */ mr r6, r29 +/* 8031D234 00318E94 38 60 00 00 */ li r3, 0 +/* 8031D238 00318E98 38 80 00 00 */ li r4, 0 +/* 8031D23C 00318E9C 7D 89 03 A6 */ mtctr r12 +/* 8031D240 00318EA0 4E 80 04 21 */ bctrl +/* 8031D244 00318EA4 7F E3 FB 78 */ mr r3, r31 +/* 8031D248 00318EA8 48 00 01 DD */ bl func_8031D424 +lbl_8031D24C: +/* 8031D24C 00318EAC 93 DF 00 14 */ stw r30, 0x14(r31) +/* 8031D250 00318EB0 7F C3 F3 78 */ mr r3, r30 +/* 8031D254 00318EB4 38 80 00 01 */ li r4, 1 +/* 8031D258 00318EB8 48 03 6F B1 */ bl ghttpSetMaxRecvTime +/* 8031D25C 00318EBC 7F C3 F3 78 */ mr r3, r30 +lbl_8031D260: +/* 8031D260 00318EC0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031D264 00318EC4 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 8031D268 00318EC8 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 8031D26C 00318ECC 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 8031D270 00318ED0 83 81 00 20 */ lwz r28, 0x20(r1) +/* 8031D274 00318ED4 7C 08 03 A6 */ mtlr r0 +/* 8031D278 00318ED8 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031D27C 00318EDC 4E 80 00 20 */ blr + +.global func_8031D280 +func_8031D280: +/* 8031D280 00318EE0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031D284 00318EE4 7C 08 02 A6 */ mflr r0 +/* 8031D288 00318EE8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031D28C 00318EEC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031D290 00318EF0 93 C1 00 08 */ stw r30, 8(r1) +/* 8031D294 00318EF4 7C 7E 1B 78 */ mr r30, r3 +/* 8031D298 00318EF8 48 03 6F 45 */ bl ghttpCancelRequest +/* 8031D29C 00318EFC 83 ED B0 30 */ lwz r31, lbl_806402F0-_SDA_BASE_(r13) +/* 8031D2A0 00318F00 48 00 00 08 */ b lbl_8031D2A8 +lbl_8031D2A4: +/* 8031D2A4 00318F04 83 FF 00 18 */ lwz r31, 0x18(r31) +lbl_8031D2A8: +/* 8031D2A8 00318F08 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031D2AC 00318F0C 41 82 00 10 */ beq lbl_8031D2BC +/* 8031D2B0 00318F10 80 1F 00 14 */ lwz r0, 0x14(r31) +/* 8031D2B4 00318F14 7C 00 F0 00 */ cmpw r0, r30 +/* 8031D2B8 00318F18 40 82 FF EC */ bne lbl_8031D2A4 +lbl_8031D2BC: +/* 8031D2BC 00318F1C 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031D2C0 00318F20 41 82 00 24 */ beq lbl_8031D2E4 +/* 8031D2C4 00318F24 80 9F 00 10 */ lwz r4, 0x10(r31) +/* 8031D2C8 00318F28 2C 04 00 00 */ cmpwi r4, 0 +/* 8031D2CC 00318F2C 41 82 00 10 */ beq lbl_8031D2DC +/* 8031D2D0 00318F30 38 60 00 06 */ li r3, 6 +/* 8031D2D4 00318F34 38 A0 00 00 */ li r5, 0 +/* 8031D2D8 00318F38 4B FF F6 B1 */ bl func_8031C988 +lbl_8031D2DC: +/* 8031D2DC 00318F3C 7F E3 FB 78 */ mr r3, r31 +/* 8031D2E0 00318F40 48 00 01 45 */ bl func_8031D424 +lbl_8031D2E4: +/* 8031D2E4 00318F44 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031D2E8 00318F48 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031D2EC 00318F4C 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031D2F0 00318F50 7C 08 03 A6 */ mtlr r0 +/* 8031D2F4 00318F54 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031D2F8 00318F58 4E 80 00 20 */ blr + +.global func_8031D2FC +func_8031D2FC: +/* 8031D2FC 00318F5C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031D300 00318F60 7C 08 02 A6 */ mflr r0 +/* 8031D304 00318F64 2C 03 00 00 */ cmpwi r3, 0 +/* 8031D308 00318F68 3C 80 FF FF */ lis r4, 0xFFFE8130@ha +/* 8031D30C 00318F6C 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031D310 00318F70 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031D314 00318F74 3B E4 81 30 */ addi r31, r4, 0xFFFE8130@l +/* 8031D318 00318F78 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031D31C 00318F7C 3B C0 00 07 */ li r30, 7 +/* 8031D320 00318F80 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031D324 00318F84 7C 7D 1B 78 */ mr r29, r3 +/* 8031D328 00318F88 40 82 00 0C */ bne lbl_8031D334 +/* 8031D32C 00318F8C 38 60 00 00 */ li r3, 0 +/* 8031D330 00318F90 48 00 00 D8 */ b lbl_8031D408 +lbl_8031D334: +/* 8031D334 00318F94 3C 80 80 44 */ lis r4, lbl_80446B54@ha +/* 8031D338 00318F98 7F A5 EB 78 */ mr r5, r29 +/* 8031D33C 00318F9C 38 84 6B 54 */ addi r4, r4, lbl_80446B54@l +/* 8031D340 00318FA0 38 60 00 02 */ li r3, 2 +/* 8031D344 00318FA4 4C C6 31 82 */ crclr 6 +/* 8031D348 00318FA8 4B FF F7 ED */ bl func_8031CB34 +/* 8031D34C 00318FAC 38 1D 00 07 */ addi r0, r29, 7 +/* 8031D350 00318FB0 28 00 00 1B */ cmplwi r0, 0x1b +/* 8031D354 00318FB4 41 81 00 A4 */ bgt lbl_8031D3F8 +/* 8031D358 00318FB8 3C 60 80 44 */ lis r3, lbl_80446B70@ha +/* 8031D35C 00318FBC 54 00 10 3A */ slwi r0, r0, 2 +/* 8031D360 00318FC0 38 63 6B 70 */ addi r3, r3, lbl_80446B70@l +/* 8031D364 00318FC4 7C 63 00 2E */ lwzx r3, r3, r0 +/* 8031D368 00318FC8 7C 69 03 A6 */ mtctr r3 +/* 8031D36C 00318FCC 4E 80 04 20 */ bctr +/* 8031D370 00318FD0 3B FF FC E0 */ addi r31, r31, -800 +/* 8031D374 00318FD4 48 00 00 84 */ b lbl_8031D3F8 +/* 8031D378 00318FD8 3B FF FC D6 */ addi r31, r31, -810 +/* 8031D37C 00318FDC 48 00 00 7C */ b lbl_8031D3F8 +/* 8031D380 00318FE0 3B FF FC B8 */ addi r31, r31, -840 +/* 8031D384 00318FE4 48 00 00 74 */ b lbl_8031D3F8 +/* 8031D388 00318FE8 3B FF FC CC */ addi r31, r31, -820 +/* 8031D38C 00318FEC 48 00 00 6C */ b lbl_8031D3F8 +/* 8031D390 00318FF0 3B FF FC C2 */ addi r31, r31, -830 +/* 8031D394 00318FF4 48 00 00 64 */ b lbl_8031D3F8 +/* 8031D398 00318FF8 3B C0 00 09 */ li r30, 9 +/* 8031D39C 00318FFC 3B FF FF FF */ addi r31, r31, -1 +/* 8031D3A0 00319000 48 00 00 58 */ b lbl_8031D3F8 +/* 8031D3A4 00319004 3B FF FC B8 */ addi r31, r31, -840 +/* 8031D3A8 00319008 48 00 00 50 */ b lbl_8031D3F8 +/* 8031D3AC 0031900C 3B FF FC AE */ addi r31, r31, -850 +/* 8031D3B0 00319010 48 00 00 48 */ b lbl_8031D3F8 +/* 8031D3B4 00319014 3B FF FF E2 */ addi r31, r31, -30 +/* 8031D3B8 00319018 48 00 00 40 */ b lbl_8031D3F8 +/* 8031D3BC 0031901C 3B FF FF CE */ addi r31, r31, -50 +/* 8031D3C0 00319020 48 00 00 38 */ b lbl_8031D3F8 +/* 8031D3C4 00319024 3B FF FF EC */ addi r31, r31, -20 +/* 8031D3C8 00319028 48 00 00 30 */ b lbl_8031D3F8 +/* 8031D3CC 0031902C 3B FF FC A4 */ addi r31, r31, -860 +/* 8031D3D0 00319030 48 00 00 28 */ b lbl_8031D3F8 +/* 8031D3D4 00319034 3B FF FC 9A */ addi r31, r31, -870 +/* 8031D3D8 00319038 48 00 00 20 */ b lbl_8031D3F8 +/* 8031D3DC 0031903C 3B FF FC 90 */ addi r31, r31, -880 +/* 8031D3E0 00319040 48 00 00 18 */ b lbl_8031D3F8 +/* 8031D3E4 00319044 3B FF FC 86 */ addi r31, r31, -890 +/* 8031D3E8 00319048 48 00 00 10 */ b lbl_8031D3F8 +/* 8031D3EC 0031904C 3B FF FC 7C */ addi r31, r31, -900 +/* 8031D3F0 00319050 48 00 00 08 */ b lbl_8031D3F8 +/* 8031D3F4 00319054 3B FF FC 72 */ addi r31, r31, -910 +lbl_8031D3F8: +/* 8031D3F8 00319058 7F C3 F3 78 */ mr r3, r30 +/* 8031D3FC 0031905C 7F E4 FB 78 */ mr r4, r31 +/* 8031D400 00319060 4B FF F1 81 */ bl func_8031C580 +/* 8031D404 00319064 7F A3 EB 78 */ mr r3, r29 +lbl_8031D408: +/* 8031D408 00319068 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031D40C 0031906C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031D410 00319070 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031D414 00319074 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031D418 00319078 7C 08 03 A6 */ mtlr r0 +/* 8031D41C 0031907C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031D420 00319080 4E 80 00 20 */ blr + +.global func_8031D424 +func_8031D424: +/* 8031D424 00319084 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031D428 00319088 7C 08 02 A6 */ mflr r0 +/* 8031D42C 0031908C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031D430 00319090 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031D434 00319094 80 8D B0 30 */ lwz r4, lbl_806402F0-_SDA_BASE_(r13) +/* 8031D438 00319098 2C 04 00 00 */ cmpwi r4, 0 +/* 8031D43C 0031909C 41 82 00 60 */ beq lbl_8031D49C +/* 8031D440 003190A0 7C 04 18 40 */ cmplw r4, r3 +/* 8031D444 003190A4 40 82 00 1C */ bne lbl_8031D460 +/* 8031D448 003190A8 83 E4 00 18 */ lwz r31, 0x18(r4) +/* 8031D44C 003190AC 38 60 00 06 */ li r3, 6 +/* 8031D450 003190B0 38 A0 00 00 */ li r5, 0 +/* 8031D454 003190B4 4B FF F5 35 */ bl func_8031C988 +/* 8031D458 003190B8 93 ED B0 30 */ stw r31, lbl_806402F0-_SDA_BASE_(r13) +/* 8031D45C 003190BC 48 00 00 40 */ b lbl_8031D49C +lbl_8031D460: +/* 8031D460 003190C0 7C 86 23 78 */ mr r6, r4 +/* 8031D464 003190C4 48 00 00 2C */ b lbl_8031D490 +lbl_8031D468: +/* 8031D468 003190C8 7C 04 18 40 */ cmplw r4, r3 +/* 8031D46C 003190CC 41 82 00 0C */ beq lbl_8031D478 +/* 8031D470 003190D0 7C 86 23 78 */ mr r6, r4 +/* 8031D474 003190D4 48 00 00 1C */ b lbl_8031D490 +lbl_8031D478: +/* 8031D478 003190D8 80 04 00 18 */ lwz r0, 0x18(r4) +/* 8031D47C 003190DC 38 60 00 06 */ li r3, 6 +/* 8031D480 003190E0 38 A0 00 00 */ li r5, 0 +/* 8031D484 003190E4 90 06 00 18 */ stw r0, 0x18(r6) +/* 8031D488 003190E8 4B FF F5 01 */ bl func_8031C988 +/* 8031D48C 003190EC 48 00 00 10 */ b lbl_8031D49C +lbl_8031D490: +/* 8031D490 003190F0 80 86 00 18 */ lwz r4, 0x18(r6) +/* 8031D494 003190F4 2C 04 00 00 */ cmpwi r4, 0 +/* 8031D498 003190F8 40 82 FF D0 */ bne lbl_8031D468 +lbl_8031D49C: +/* 8031D49C 003190FC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031D4A0 00319100 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031D4A4 00319104 7C 08 03 A6 */ mtlr r0 +/* 8031D4A8 00319108 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031D4AC 0031910C 4E 80 00 20 */ blr + +.global func_8031D4B0 +func_8031D4B0: +/* 8031D4B0 00319110 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031D4B4 00319114 7C 08 02 A6 */ mflr r0 +/* 8031D4B8 00319118 38 60 00 05 */ li r3, 5 +/* 8031D4BC 0031911C 38 80 02 10 */ li r4, 0x210 +/* 8031D4C0 00319120 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031D4C4 00319124 4B FF F4 29 */ bl func_8031C8EC +/* 8031D4C8 00319128 90 6D B0 38 */ stw r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D4CC 0031912C 38 80 00 00 */ li r4, 0 +/* 8031D4D0 00319130 38 A0 00 04 */ li r5, 4 +/* 8031D4D4 00319134 4B CE 6C 31 */ bl memset +/* 8031D4D8 00319138 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D4DC 0031913C 38 80 00 00 */ li r4, 0 +/* 8031D4E0 00319140 38 00 FF FF */ li r0, -1 +/* 8031D4E4 00319144 90 83 00 00 */ stw r4, 0(r3) +/* 8031D4E8 00319148 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D4EC 0031914C 90 03 01 74 */ stw r0, 0x174(r3) +/* 8031D4F0 00319150 4B F5 52 C9 */ bl OSGetTime +/* 8031D4F4 00319154 80 AD B0 38 */ lwz r5, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D4F8 00319158 90 85 02 0C */ stw r4, 0x20c(r5) +/* 8031D4FC 0031915C 90 65 02 08 */ stw r3, 0x208(r5) +/* 8031D500 00319160 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031D504 00319164 7C 08 03 A6 */ mtlr r0 +/* 8031D508 00319168 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031D50C 0031916C 4E 80 00 20 */ blr + +.global systemCallbackFunc +systemCallbackFunc: +/* 8031D510 00319170 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D514 00319174 90 64 02 00 */ stw r3, 0x200(r4) +/* 8031D518 00319178 4E 80 00 20 */ blr + +.global func_8031D51C +func_8031D51C: +/* 8031D51C 0031917C 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D520 00319180 90 64 02 04 */ stw r3, 0x204(r4) +/* 8031D524 00319184 4E 80 00 20 */ blr + +.global func_8031D528 +func_8031D528: +/* 8031D528 00319188 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8031D52C 0031918C 7C 08 02 A6 */ mflr r0 +/* 8031D530 00319190 90 01 00 44 */ stw r0, 0x44(r1) +/* 8031D534 00319194 39 61 00 40 */ addi r11, r1, 0x40 +/* 8031D538 00319198 4B EA 9B E9 */ bl _savegpr_25 +/* 8031D53C 0031919C 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D540 003191A0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031D544 003191A4 41 82 0A A0 */ beq lbl_8031DFE4 +/* 8031D548 003191A8 80 03 00 00 */ lwz r0, 0(r3) +/* 8031D54C 003191AC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031D550 003191B0 40 81 00 78 */ ble lbl_8031D5C8 +/* 8031D554 003191B4 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031D558 003191B8 80 63 00 00 */ lwz r3, 0(r3) +/* 8031D55C 003191BC 48 02 C4 E1 */ bl gt2Think +/* 8031D560 003191C0 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D564 003191C4 80 03 00 00 */ lwz r0, 0(r3) +/* 8031D568 003191C8 2C 00 00 08 */ cmpwi r0, 8 +/* 8031D56C 003191CC 40 80 00 5C */ bge lbl_8031D5C8 +/* 8031D570 003191D0 80 8D B0 40 */ lwz r4, lbl_80640300-_SDA_BASE_(r13) +/* 8031D574 003191D4 80 64 00 00 */ lwz r3, 0(r4) +/* 8031D578 003191D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031D57C 003191DC 41 82 00 4C */ beq lbl_8031D5C8 +/* 8031D580 003191E0 80 04 00 08 */ lwz r0, 8(r4) +/* 8031D584 003191E4 2C 00 00 00 */ cmpwi r0, 0 +/* 8031D588 003191E8 41 82 00 38 */ beq lbl_8031D5C0 +/* 8031D58C 003191EC 48 04 12 6D */ bl ServerBrowserThink +/* 8031D590 003191F0 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D594 003191F4 80 03 00 04 */ lwz r0, 4(r3) +/* 8031D598 003191F8 2C 00 00 01 */ cmpwi r0, 1 +/* 8031D59C 003191FC 40 82 00 24 */ bne lbl_8031D5C0 +/* 8031D5A0 00319200 38 00 00 00 */ li r0, 0 +/* 8031D5A4 00319204 38 80 00 01 */ li r4, 1 +/* 8031D5A8 00319208 90 03 00 04 */ stw r0, 4(r3) +/* 8031D5AC 0031920C 38 A0 2B 67 */ li r5, 0x2b67 +/* 8031D5B0 00319210 38 C0 2B 67 */ li r6, 0x2b67 +/* 8031D5B4 00319214 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D5B8 00319218 80 63 00 00 */ lwz r3, 0(r3) +/* 8031D5BC 0031921C 48 04 10 71 */ bl func_8035E62C +lbl_8031D5C0: +/* 8031D5C0 00319220 38 60 00 00 */ li r3, 0 +/* 8031D5C4 00319224 48 03 0D 1D */ bl qr2_think +lbl_8031D5C8: +/* 8031D5C8 00319228 80 CD B0 38 */ lwz r6, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D5CC 0031922C 80 06 00 00 */ lwz r0, 0(r6) +/* 8031D5D0 00319230 2C 00 00 02 */ cmpwi r0, 2 +/* 8031D5D4 00319234 41 82 0A 10 */ beq lbl_8031DFE4 +/* 8031D5D8 00319238 40 80 00 14 */ bge lbl_8031D5EC +/* 8031D5DC 0031923C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031D5E0 00319240 41 82 00 1C */ beq lbl_8031D5FC +/* 8031D5E4 00319244 40 80 01 F0 */ bge lbl_8031D7D4 +/* 8031D5E8 00319248 48 00 09 FC */ b lbl_8031DFE4 +lbl_8031D5EC: +/* 8031D5EC 0031924C 2C 00 00 04 */ cmpwi r0, 4 +/* 8031D5F0 00319250 41 82 09 0C */ beq lbl_8031DEFC +/* 8031D5F4 00319254 40 80 09 F0 */ bge lbl_8031DFE4 +/* 8031D5F8 00319258 48 00 07 5C */ b lbl_8031DD54 +lbl_8031D5FC: +/* 8031D5FC 0031925C 4B FD 9C 55 */ bl SOGetHostID +/* 8031D600 00319260 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D604 00319264 90 64 01 70 */ stw r3, 0x170(r4) +/* 8031D608 00319268 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D60C 0031926C 80 63 01 70 */ lwz r3, 0x170(r3) +/* 8031D610 00319270 2C 03 00 00 */ cmpwi r3, 0 +/* 8031D614 00319274 41 82 01 04 */ beq lbl_8031D718 +/* 8031D618 00319278 38 80 00 00 */ li r4, 0 +/* 8031D61C 0031927C 38 A0 00 00 */ li r5, 0 +/* 8031D620 00319280 48 03 05 2D */ bl gt2AddressToString +/* 8031D624 00319284 3C 80 80 44 */ lis r4, lbl_80446BE0@ha +/* 8031D628 00319288 7C 65 1B 78 */ mr r5, r3 +/* 8031D62C 0031928C 38 84 6B E0 */ addi r4, r4, lbl_80446BE0@l +/* 8031D630 00319290 38 60 00 01 */ li r3, 1 +/* 8031D634 00319294 4C C6 31 82 */ crclr 6 +/* 8031D638 00319298 4B FF F4 FD */ bl func_8031CB34 +/* 8031D63C 0031929C 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D640 003192A0 3B 40 00 01 */ li r26, 1 +/* 8031D644 003192A4 93 43 00 00 */ stw r26, 0(r3) +/* 8031D648 003192A8 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D64C 003192AC 80 63 01 70 */ lwz r3, 0x170(r3) +/* 8031D650 003192B0 48 00 0B 99 */ bl func_8031E1E8 +/* 8031D654 003192B4 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D658 003192B8 3C C0 80 32 */ lis r6, lbl_8031E1D0@ha +/* 8031D65C 003192BC 3C A0 80 32 */ lis r5, lbl_8031E1D4@ha +/* 8031D660 003192C0 3C 60 80 32 */ lis r3, lbl_8031E1D8@ha +/* 8031D664 003192C4 38 E4 00 08 */ addi r7, r4, 8 +/* 8031D668 003192C8 3C 80 80 32 */ lis r4, lbl_8031E1DC@ha +/* 8031D66C 003192CC 90 ED B0 40 */ stw r7, lbl_80640300-_SDA_BASE_(r13) +/* 8031D670 003192D0 3D 20 80 32 */ lis r9, lbl_8031E1E4@ha +/* 8031D674 003192D4 3D 40 80 32 */ lis r10, lbl_8031E1CC@ha +/* 8031D678 003192D8 38 C6 E1 D0 */ addi r6, r6, lbl_8031E1D0@l +/* 8031D67C 003192DC 93 47 00 04 */ stw r26, 4(r7) +/* 8031D680 003192E0 38 A5 E1 D4 */ addi r5, r5, lbl_8031E1D4@l +/* 8031D684 003192E4 83 62 A4 B4 */ lwz r27, lbl_80642AB4-_SDA2_BASE_(r2) +/* 8031D688 003192E8 38 63 E1 D8 */ addi r3, r3, lbl_8031E1D8@l +/* 8031D68C 003192EC 90 C1 00 08 */ stw r6, 8(r1) +/* 8031D690 003192F0 38 84 E1 DC */ addi r4, r4, lbl_8031E1DC@l +/* 8031D694 003192F4 83 82 A4 B0 */ lwz r28, lbl_80642AB0-_SDA2_BASE_(r2) +/* 8031D698 003192F8 39 29 E1 E4 */ addi r9, r9, lbl_8031E1E4@l +/* 8031D69C 003192FC 90 A1 00 0C */ stw r5, 0xc(r1) +/* 8031D6A0 00319300 3B 20 00 00 */ li r25, 0 +/* 8031D6A4 00319304 7F 86 E3 78 */ mr r6, r28 +/* 8031D6A8 00319308 7F 67 DB 78 */ mr r7, r27 +/* 8031D6AC 0031930C 90 61 00 10 */ stw r3, 0x10(r1) +/* 8031D6B0 00319310 39 4A E1 CC */ addi r10, r10, lbl_8031E1CC@l +/* 8031D6B4 00319314 38 60 00 00 */ li r3, 0 +/* 8031D6B8 00319318 38 A0 2B 67 */ li r5, 0x2b67 +/* 8031D6BC 0031931C 90 81 00 14 */ stw r4, 0x14(r1) +/* 8031D6C0 00319320 38 80 00 00 */ li r4, 0 +/* 8031D6C4 00319324 39 00 00 00 */ li r8, 0 +/* 8031D6C8 00319328 91 21 00 18 */ stw r9, 0x18(r1) +/* 8031D6CC 0031932C 39 20 00 00 */ li r9, 0 +/* 8031D6D0 00319330 93 21 00 1C */ stw r25, 0x1c(r1) +/* 8031D6D4 00319334 48 03 0A F9 */ bl func_8034E1CC +/* 8031D6D8 00319338 3D 40 80 32 */ lis r10, lbl_8031E160@ha +/* 8031D6DC 0031933C 93 21 00 08 */ stw r25, 8(r1) +/* 8031D6E0 00319340 7F 83 E3 78 */ mr r3, r28 +/* 8031D6E4 00319344 7F 84 E3 78 */ mr r4, r28 +/* 8031D6E8 00319348 7F 65 DB 78 */ mr r5, r27 +/* 8031D6EC 0031934C 39 4A E1 60 */ addi r10, r10, lbl_8031E160@l +/* 8031D6F0 00319350 38 C0 00 00 */ li r6, 0 +/* 8031D6F4 00319354 38 E0 00 0A */ li r7, 0xa +/* 8031D6F8 00319358 39 00 00 01 */ li r8, 1 +/* 8031D6FC 0031935C 39 20 00 01 */ li r9, 1 +/* 8031D700 00319360 48 04 0C B9 */ bl ServerBrowserNewA +/* 8031D704 00319364 80 8D B0 40 */ lwz r4, lbl_80640300-_SDA_BASE_(r13) +/* 8031D708 00319368 90 64 00 00 */ stw r3, 0(r4) +/* 8031D70C 0031936C 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D710 00319370 93 43 00 08 */ stw r26, 8(r3) +/* 8031D714 00319374 48 00 08 D0 */ b lbl_8031DFE4 +lbl_8031D718: +/* 8031D718 00319378 4B F5 50 A1 */ bl OSGetTime +/* 8031D71C 0031937C 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 8031D720 00319380 81 0D B0 38 */ lwz r8, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D724 00319384 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 8031D728 00319388 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 8031D72C 0031938C 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 8031D730 00319390 80 E8 02 0C */ lwz r7, 0x20c(r8) +/* 8031D734 00319394 54 05 F0 BE */ srwi r5, r0, 2 +/* 8031D738 00319398 38 00 27 10 */ li r0, 0x2710 +/* 8031D73C 0031939C 7C A6 28 16 */ mulhwu r5, r6, r5 +/* 8031D740 003193A0 7C E7 20 10 */ subfc r7, r7, r4 +/* 8031D744 003193A4 80 C8 02 08 */ lwz r6, 0x208(r8) +/* 8031D748 003193A8 7C C6 19 10 */ subfe r6, r6, r3 +/* 8031D74C 003193AC 54 A4 D1 BE */ srwi r4, r5, 6 +/* 8031D750 003193B0 7C 64 00 16 */ mulhwu r3, r4, r0 +/* 8031D754 003193B4 1C 84 27 10 */ mulli r4, r4, 0x2710 +/* 8031D758 003193B8 7C 07 20 10 */ subfc r0, r7, r4 +/* 8031D75C 003193BC 7C 06 19 10 */ subfe r0, r6, r3 +/* 8031D760 003193C0 7C 04 21 10 */ subfe r0, r4, r4 +/* 8031D764 003193C4 7C 00 00 D1 */ neg. r0, r0 +/* 8031D768 003193C8 41 82 08 7C */ beq lbl_8031DFE4 +/* 8031D76C 003193CC 81 88 01 FC */ lwz r12, 0x1fc(r8) +/* 8031D770 003193D0 38 60 00 06 */ li r3, 6 +/* 8031D774 003193D4 7D 89 03 A6 */ mtctr r12 +/* 8031D778 003193D8 4E 80 04 21 */ bctrl +/* 8031D77C 003193DC 38 60 00 00 */ li r3, 0 +/* 8031D780 003193E0 48 03 0E B5 */ bl qr2_shutdown +/* 8031D784 003193E4 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D788 003193E8 80 63 00 00 */ lwz r3, 0(r3) +/* 8031D78C 003193EC 48 04 0D 11 */ bl ServerBrowserFree +/* 8031D790 003193F0 3B 20 00 00 */ li r25, 0 +/* 8031D794 003193F4 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031D798 003193F8 93 2D B0 40 */ stw r25, lbl_80640300-_SDA_BASE_(r13) +/* 8031D79C 003193FC 80 63 00 00 */ lwz r3, 0(r3) +/* 8031D7A0 00319400 48 02 C5 B1 */ bl func_80349D50 +/* 8031D7A4 00319404 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031D7A8 00319408 80 63 00 00 */ lwz r3, 0(r3) +/* 8031D7AC 0031940C 48 02 C2 4D */ bl gt2CloseSocket +/* 8031D7B0 00319410 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D7B4 00319414 93 2D B0 3C */ stw r25, lbl_806402FC-_SDA_BASE_(r13) +/* 8031D7B8 00319418 2C 04 00 00 */ cmpwi r4, 0 +/* 8031D7BC 0031941C 41 82 08 28 */ beq lbl_8031DFE4 +/* 8031D7C0 00319420 38 60 00 05 */ li r3, 5 +/* 8031D7C4 00319424 38 A0 00 00 */ li r5, 0 +/* 8031D7C8 00319428 4B FF F1 C1 */ bl func_8031C988 +/* 8031D7CC 0031942C 93 2D B0 38 */ stw r25, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D7D0 00319430 48 00 08 14 */ b lbl_8031DFE4 +lbl_8031D7D4: +/* 8031D7D4 00319434 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D7D8 00319438 80 63 00 00 */ lwz r3, 0(r3) +/* 8031D7DC 0031943C 48 04 10 DD */ bl ServerBrowserCount +/* 8031D7E0 00319440 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031D7E4 00319444 83 64 01 78 */ lwz r27, 0x178(r4) +/* 8031D7E8 00319448 7C 03 D8 00 */ cmpw r3, r27 +/* 8031D7EC 0031944C 41 80 07 F8 */ blt lbl_8031DFE4 +/* 8031D7F0 00319450 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D7F4 00319454 38 00 00 00 */ li r0, 0 +/* 8031D7F8 00319458 3B 20 00 00 */ li r25, 0 +/* 8031D7FC 0031945C 3B 40 00 00 */ li r26, 0 +/* 8031D800 00319460 90 03 00 08 */ stw r0, 8(r3) +/* 8031D804 00319464 48 00 00 2C */ b lbl_8031D830 +lbl_8031D808: +/* 8031D808 00319468 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D80C 0031946C 7F 24 CB 78 */ mr r4, r25 +/* 8031D810 00319470 80 63 00 00 */ lwz r3, 0(r3) +/* 8031D814 00319474 48 04 10 9D */ bl ServerBrowserGetServer +/* 8031D818 00319478 48 04 00 0D */ bl SBServerGetPublicInetAddress +/* 8031D81C 0031947C 80 0D B0 40 */ lwz r0, lbl_80640300-_SDA_BASE_(r13) +/* 8031D820 00319480 3B 39 00 01 */ addi r25, r25, 1 +/* 8031D824 00319484 7C 80 D2 14 */ add r4, r0, r26 +/* 8031D828 00319488 3B 5A 00 04 */ addi r26, r26, 4 +/* 8031D82C 0031948C 90 64 00 0C */ stw r3, 0xc(r4) +lbl_8031D830: +/* 8031D830 00319490 7C 19 D8 00 */ cmpw r25, r27 +/* 8031D834 00319494 41 80 FF D4 */ blt lbl_8031D808 +/* 8031D838 00319498 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031D83C 0031949C 34 BB FF FF */ addic. r5, r27, -1 +/* 8031D840 003194A0 3B 83 00 0C */ addi r28, r3, 0xc +/* 8031D844 003194A4 40 81 04 58 */ ble lbl_8031DC9C +/* 8031D848 003194A8 54 A0 0F FE */ srwi r0, r5, 0x1f +/* 8031D84C 003194AC 80 DC 00 00 */ lwz r6, 0(r28) +/* 8031D850 003194B0 7C 00 2A 14 */ add r0, r0, r5 +/* 8031D854 003194B4 38 FC 00 04 */ addi r7, r28, 4 +/* 8031D858 003194B8 54 04 08 3A */ rlwinm r4, r0, 1, 0, 0x1d +/* 8031D85C 003194BC 3B E0 00 00 */ li r31, 0 +/* 8031D860 003194C0 7C 1C 20 2E */ lwzx r0, r28, r4 +/* 8031D864 003194C4 38 60 00 00 */ li r3, 0 +/* 8031D868 003194C8 90 1C 00 00 */ stw r0, 0(r28) +/* 8031D86C 003194CC 7C DC 21 2E */ stwx r6, r28, r4 +/* 8031D870 003194D0 7C A9 03 A6 */ mtctr r5 +/* 8031D874 003194D4 2C 05 00 01 */ cmpwi r5, 1 +/* 8031D878 003194D8 41 80 00 30 */ blt lbl_8031D8A8 +lbl_8031D87C: +/* 8031D87C 003194DC 80 87 00 00 */ lwz r4, 0(r7) +/* 8031D880 003194E0 80 1C 00 00 */ lwz r0, 0(r28) +/* 8031D884 003194E4 7C 04 00 40 */ cmplw r4, r0 +/* 8031D888 003194E8 40 80 00 18 */ bge lbl_8031D8A0 +/* 8031D88C 003194EC 38 63 00 04 */ addi r3, r3, 4 +/* 8031D890 003194F0 3B FF 00 01 */ addi r31, r31, 1 +/* 8031D894 003194F4 7C 1C 18 2E */ lwzx r0, r28, r3 +/* 8031D898 003194F8 90 07 00 00 */ stw r0, 0(r7) +/* 8031D89C 003194FC 7C 9C 19 2E */ stwx r4, r28, r3 +lbl_8031D8A0: +/* 8031D8A0 00319500 38 E7 00 04 */ addi r7, r7, 4 +/* 8031D8A4 00319504 42 00 FF D8 */ bdnz lbl_8031D87C +lbl_8031D8A8: +/* 8031D8A8 00319508 57 F9 10 3A */ slwi r25, r31, 2 +/* 8031D8AC 0031950C 80 7C 00 00 */ lwz r3, 0(r28) +/* 8031D8B0 00319510 7C 1C C8 2E */ lwzx r0, r28, r25 +/* 8031D8B4 00319514 34 BF FF FF */ addic. r5, r31, -1 +/* 8031D8B8 00319518 90 1C 00 00 */ stw r0, 0(r28) +/* 8031D8BC 0031951C 7C 7C C9 2E */ stwx r3, r28, r25 +/* 8031D8C0 00319520 40 81 01 D0 */ ble lbl_8031DA90 +/* 8031D8C4 00319524 54 A0 0F FE */ srwi r0, r5, 0x1f +/* 8031D8C8 00319528 80 DC 00 00 */ lwz r6, 0(r28) +/* 8031D8CC 0031952C 7C 00 2A 14 */ add r0, r0, r5 +/* 8031D8D0 00319530 38 FC 00 04 */ addi r7, r28, 4 +/* 8031D8D4 00319534 54 04 08 3A */ rlwinm r4, r0, 1, 0, 0x1d +/* 8031D8D8 00319538 3B C0 00 00 */ li r30, 0 +/* 8031D8DC 0031953C 7C 1C 20 2E */ lwzx r0, r28, r4 +/* 8031D8E0 00319540 38 60 00 00 */ li r3, 0 +/* 8031D8E4 00319544 90 1C 00 00 */ stw r0, 0(r28) +/* 8031D8E8 00319548 7C DC 21 2E */ stwx r6, r28, r4 +/* 8031D8EC 0031954C 7C A9 03 A6 */ mtctr r5 +/* 8031D8F0 00319550 2C 05 00 01 */ cmpwi r5, 1 +/* 8031D8F4 00319554 41 80 00 30 */ blt lbl_8031D924 +lbl_8031D8F8: +/* 8031D8F8 00319558 80 87 00 00 */ lwz r4, 0(r7) +/* 8031D8FC 0031955C 80 1C 00 00 */ lwz r0, 0(r28) +/* 8031D900 00319560 7C 04 00 40 */ cmplw r4, r0 +/* 8031D904 00319564 40 80 00 18 */ bge lbl_8031D91C +/* 8031D908 00319568 38 63 00 04 */ addi r3, r3, 4 +/* 8031D90C 0031956C 3B DE 00 01 */ addi r30, r30, 1 +/* 8031D910 00319570 7C 1C 18 2E */ lwzx r0, r28, r3 +/* 8031D914 00319574 90 07 00 00 */ stw r0, 0(r7) +/* 8031D918 00319578 7C 9C 19 2E */ stwx r4, r28, r3 +lbl_8031D91C: +/* 8031D91C 0031957C 38 E7 00 04 */ addi r7, r7, 4 +/* 8031D920 00319580 42 00 FF D8 */ bdnz lbl_8031D8F8 +lbl_8031D924: +/* 8031D924 00319584 57 DA 10 3A */ slwi r26, r30, 2 +/* 8031D928 00319588 80 7C 00 00 */ lwz r3, 0(r28) +/* 8031D92C 0031958C 7C 1C D0 2E */ lwzx r0, r28, r26 +/* 8031D930 00319590 34 BE FF FF */ addic. r5, r30, -1 +/* 8031D934 00319594 90 1C 00 00 */ stw r0, 0(r28) +/* 8031D938 00319598 7C 7C D1 2E */ stwx r3, r28, r26 +/* 8031D93C 0031959C 40 81 00 98 */ ble lbl_8031D9D4 +/* 8031D940 003195A0 54 A0 0F FE */ srwi r0, r5, 0x1f +/* 8031D944 003195A4 80 DC 00 00 */ lwz r6, 0(r28) +/* 8031D948 003195A8 7C 00 2A 14 */ add r0, r0, r5 +/* 8031D94C 003195AC 38 FC 00 04 */ addi r7, r28, 4 +/* 8031D950 003195B0 54 04 08 3A */ rlwinm r4, r0, 1, 0, 0x1d +/* 8031D954 003195B4 3B A0 00 00 */ li r29, 0 +/* 8031D958 003195B8 7C 1C 20 2E */ lwzx r0, r28, r4 +/* 8031D95C 003195BC 38 60 00 00 */ li r3, 0 +/* 8031D960 003195C0 90 1C 00 00 */ stw r0, 0(r28) +/* 8031D964 003195C4 7C DC 21 2E */ stwx r6, r28, r4 +/* 8031D968 003195C8 7C A9 03 A6 */ mtctr r5 +/* 8031D96C 003195CC 2C 05 00 01 */ cmpwi r5, 1 +/* 8031D970 003195D0 41 80 00 30 */ blt lbl_8031D9A0 +lbl_8031D974: +/* 8031D974 003195D4 80 87 00 00 */ lwz r4, 0(r7) +/* 8031D978 003195D8 80 1C 00 00 */ lwz r0, 0(r28) +/* 8031D97C 003195DC 7C 04 00 40 */ cmplw r4, r0 +/* 8031D980 003195E0 40 80 00 18 */ bge lbl_8031D998 +/* 8031D984 003195E4 38 63 00 04 */ addi r3, r3, 4 +/* 8031D988 003195E8 3B BD 00 01 */ addi r29, r29, 1 +/* 8031D98C 003195EC 7C 1C 18 2E */ lwzx r0, r28, r3 +/* 8031D990 003195F0 90 07 00 00 */ stw r0, 0(r7) +/* 8031D994 003195F4 7C 9C 19 2E */ stwx r4, r28, r3 +lbl_8031D998: +/* 8031D998 003195F8 38 E7 00 04 */ addi r7, r7, 4 +/* 8031D99C 003195FC 42 00 FF D8 */ bdnz lbl_8031D974 +lbl_8031D9A0: +/* 8031D9A0 00319600 57 A6 10 3A */ slwi r6, r29, 2 +/* 8031D9A4 00319604 80 FC 00 00 */ lwz r7, 0(r28) +/* 8031D9A8 00319608 7C 1C 30 2E */ lwzx r0, r28, r6 +/* 8031D9AC 0031960C 7F 83 E3 78 */ mr r3, r28 +/* 8031D9B0 00319610 38 BD FF FF */ addi r5, r29, -1 +/* 8031D9B4 00319614 38 80 00 00 */ li r4, 0 +/* 8031D9B8 00319618 90 1C 00 00 */ stw r0, 0(r28) +/* 8031D9BC 0031961C 7C FC 31 2E */ stwx r7, r28, r6 +/* 8031D9C0 00319620 48 00 0F 51 */ bl func_8031E910 +/* 8031D9C4 00319624 7F 83 E3 78 */ mr r3, r28 +/* 8031D9C8 00319628 38 9D 00 01 */ addi r4, r29, 1 +/* 8031D9CC 0031962C 38 BE FF FF */ addi r5, r30, -1 +/* 8031D9D0 00319630 48 00 0F 41 */ bl func_8031E910 +lbl_8031D9D4: +/* 8031D9D4 00319634 3B BE 00 01 */ addi r29, r30, 1 +/* 8031D9D8 00319638 38 FF FF FF */ addi r7, r31, -1 +/* 8031D9DC 0031963C 7C 1D 38 00 */ cmpw r29, r7 +/* 8031D9E0 00319640 40 80 00 B0 */ bge lbl_8031DA90 +/* 8031D9E4 00319644 7C 7F F2 14 */ add r3, r31, r30 +/* 8031D9E8 00319648 7C DC D2 14 */ add r6, r28, r26 +/* 8031D9EC 0031964C 54 60 0F FE */ srwi r0, r3, 0x1f +/* 8031D9F0 00319650 81 26 00 04 */ lwz r9, 4(r6) +/* 8031D9F4 00319654 7C 60 1A 14 */ add r3, r0, r3 +/* 8031D9F8 00319658 39 1E 00 02 */ addi r8, r30, 2 +/* 8031D9FC 0031965C 54 65 08 3A */ rlwinm r5, r3, 1, 0, 0x1d +/* 8031DA00 00319660 38 07 00 01 */ addi r0, r7, 1 +/* 8031DA04 00319664 7C 9C 28 2E */ lwzx r4, r28, r5 +/* 8031DA08 00319668 55 03 10 3A */ slwi r3, r8, 2 +/* 8031DA0C 0031966C 7D 5C 1A 14 */ add r10, r28, r3 +/* 8031DA10 00319670 7C 08 00 50 */ subf r0, r8, r0 +/* 8031DA14 00319674 90 86 00 04 */ stw r4, 4(r6) +/* 8031DA18 00319678 57 A3 10 3A */ slwi r3, r29, 2 +/* 8031DA1C 0031967C 7D 3C 29 2E */ stwx r9, r28, r5 +/* 8031DA20 00319680 7C 09 03 A6 */ mtctr r0 +/* 8031DA24 00319684 7C 08 38 00 */ cmpw r8, r7 +/* 8031DA28 00319688 41 81 00 30 */ bgt lbl_8031DA58 +lbl_8031DA2C: +/* 8031DA2C 0031968C 80 8A 00 00 */ lwz r4, 0(r10) +/* 8031DA30 00319690 80 06 00 04 */ lwz r0, 4(r6) +/* 8031DA34 00319694 7C 04 00 40 */ cmplw r4, r0 +/* 8031DA38 00319698 40 80 00 18 */ bge lbl_8031DA50 +/* 8031DA3C 0031969C 38 63 00 04 */ addi r3, r3, 4 +/* 8031DA40 003196A0 3B BD 00 01 */ addi r29, r29, 1 +/* 8031DA44 003196A4 7C 1C 18 2E */ lwzx r0, r28, r3 +/* 8031DA48 003196A8 90 0A 00 00 */ stw r0, 0(r10) +/* 8031DA4C 003196AC 7C 9C 19 2E */ stwx r4, r28, r3 +lbl_8031DA50: +/* 8031DA50 003196B0 39 4A 00 04 */ addi r10, r10, 4 +/* 8031DA54 003196B4 42 00 FF D8 */ bdnz lbl_8031DA2C +lbl_8031DA58: +/* 8031DA58 003196B8 7C FC D2 14 */ add r7, r28, r26 +/* 8031DA5C 003196BC 57 A6 10 3A */ slwi r6, r29, 2 +/* 8031DA60 003196C0 81 07 00 04 */ lwz r8, 4(r7) +/* 8031DA64 003196C4 7F 83 E3 78 */ mr r3, r28 +/* 8031DA68 003196C8 7C 1C 30 2E */ lwzx r0, r28, r6 +/* 8031DA6C 003196CC 38 9E 00 01 */ addi r4, r30, 1 +/* 8031DA70 003196D0 38 BD FF FF */ addi r5, r29, -1 +/* 8031DA74 003196D4 90 07 00 04 */ stw r0, 4(r7) +/* 8031DA78 003196D8 7D 1C 31 2E */ stwx r8, r28, r6 +/* 8031DA7C 003196DC 48 00 0E 95 */ bl func_8031E910 +/* 8031DA80 003196E0 7F 83 E3 78 */ mr r3, r28 +/* 8031DA84 003196E4 38 9D 00 01 */ addi r4, r29, 1 +/* 8031DA88 003196E8 38 BF FF FF */ addi r5, r31, -1 +/* 8031DA8C 003196EC 48 00 0E 85 */ bl func_8031E910 +lbl_8031DA90: +/* 8031DA90 003196F0 3B DF 00 01 */ addi r30, r31, 1 +/* 8031DA94 003196F4 38 FB FF FF */ addi r7, r27, -1 +/* 8031DA98 003196F8 7C 1E 38 00 */ cmpw r30, r7 +/* 8031DA9C 003196FC 40 80 02 00 */ bge lbl_8031DC9C +/* 8031DAA0 00319700 7C 7B FA 14 */ add r3, r27, r31 +/* 8031DAA4 00319704 7C DC CA 14 */ add r6, r28, r25 +/* 8031DAA8 00319708 54 60 0F FE */ srwi r0, r3, 0x1f +/* 8031DAAC 0031970C 81 26 00 04 */ lwz r9, 4(r6) +/* 8031DAB0 00319710 7C 60 1A 14 */ add r3, r0, r3 +/* 8031DAB4 00319714 39 1F 00 02 */ addi r8, r31, 2 +/* 8031DAB8 00319718 54 65 08 3A */ rlwinm r5, r3, 1, 0, 0x1d +/* 8031DABC 0031971C 38 07 00 01 */ addi r0, r7, 1 +/* 8031DAC0 00319720 7C 9C 28 2E */ lwzx r4, r28, r5 +/* 8031DAC4 00319724 55 03 10 3A */ slwi r3, r8, 2 +/* 8031DAC8 00319728 7D 5C 1A 14 */ add r10, r28, r3 +/* 8031DACC 0031972C 7C 08 00 50 */ subf r0, r8, r0 +/* 8031DAD0 00319730 90 86 00 04 */ stw r4, 4(r6) +/* 8031DAD4 00319734 57 C3 10 3A */ slwi r3, r30, 2 +/* 8031DAD8 00319738 7D 3C 29 2E */ stwx r9, r28, r5 +/* 8031DADC 0031973C 7C 09 03 A6 */ mtctr r0 +/* 8031DAE0 00319740 7C 08 38 00 */ cmpw r8, r7 +/* 8031DAE4 00319744 41 81 00 30 */ bgt lbl_8031DB14 +lbl_8031DAE8: +/* 8031DAE8 00319748 80 8A 00 00 */ lwz r4, 0(r10) +/* 8031DAEC 0031974C 80 06 00 04 */ lwz r0, 4(r6) +/* 8031DAF0 00319750 7C 04 00 40 */ cmplw r4, r0 +/* 8031DAF4 00319754 40 80 00 18 */ bge lbl_8031DB0C +/* 8031DAF8 00319758 38 63 00 04 */ addi r3, r3, 4 +/* 8031DAFC 0031975C 3B DE 00 01 */ addi r30, r30, 1 +/* 8031DB00 00319760 7C 1C 18 2E */ lwzx r0, r28, r3 +/* 8031DB04 00319764 90 0A 00 00 */ stw r0, 0(r10) +/* 8031DB08 00319768 7C 9C 19 2E */ stwx r4, r28, r3 +lbl_8031DB0C: +/* 8031DB0C 0031976C 39 4A 00 04 */ addi r10, r10, 4 +/* 8031DB10 00319770 42 00 FF D8 */ bdnz lbl_8031DAE8 +lbl_8031DB14: +/* 8031DB14 00319774 7C FC CA 14 */ add r7, r28, r25 +/* 8031DB18 00319778 57 D9 10 3A */ slwi r25, r30, 2 +/* 8031DB1C 0031977C 80 67 00 04 */ lwz r3, 4(r7) +/* 8031DB20 00319780 3B BF 00 01 */ addi r29, r31, 1 +/* 8031DB24 00319784 7C 1C C8 2E */ lwzx r0, r28, r25 +/* 8031DB28 00319788 38 DE FF FF */ addi r6, r30, -1 +/* 8031DB2C 0031978C 7C 1D 30 00 */ cmpw r29, r6 +/* 8031DB30 00319790 90 07 00 04 */ stw r0, 4(r7) +/* 8031DB34 00319794 7C 7C C9 2E */ stwx r3, r28, r25 +/* 8031DB38 00319798 40 80 00 A8 */ bge lbl_8031DBE0 +/* 8031DB3C 0031979C 7C 9E FA 14 */ add r4, r30, r31 +/* 8031DB40 003197A0 81 27 00 04 */ lwz r9, 4(r7) +/* 8031DB44 003197A4 54 83 0F FE */ srwi r3, r4, 0x1f +/* 8031DB48 003197A8 39 1F 00 02 */ addi r8, r31, 2 +/* 8031DB4C 003197AC 7C 83 22 14 */ add r4, r3, r4 +/* 8031DB50 003197B0 38 06 00 01 */ addi r0, r6, 1 +/* 8031DB54 003197B4 54 85 08 3A */ rlwinm r5, r4, 1, 0, 0x1d +/* 8031DB58 003197B8 55 03 10 3A */ slwi r3, r8, 2 +/* 8031DB5C 003197BC 7C 9C 28 2E */ lwzx r4, r28, r5 +/* 8031DB60 003197C0 7C 08 00 50 */ subf r0, r8, r0 +/* 8031DB64 003197C4 90 87 00 04 */ stw r4, 4(r7) +/* 8031DB68 003197C8 7C 9C 1A 14 */ add r4, r28, r3 +/* 8031DB6C 003197CC 57 A3 10 3A */ slwi r3, r29, 2 +/* 8031DB70 003197D0 7D 3C 29 2E */ stwx r9, r28, r5 +/* 8031DB74 003197D4 7C 09 03 A6 */ mtctr r0 +/* 8031DB78 003197D8 7C 08 30 00 */ cmpw r8, r6 +/* 8031DB7C 003197DC 41 81 00 30 */ bgt lbl_8031DBAC +lbl_8031DB80: +/* 8031DB80 003197E0 80 A4 00 00 */ lwz r5, 0(r4) +/* 8031DB84 003197E4 80 07 00 04 */ lwz r0, 4(r7) +/* 8031DB88 003197E8 7C 05 00 40 */ cmplw r5, r0 +/* 8031DB8C 003197EC 40 80 00 18 */ bge lbl_8031DBA4 +/* 8031DB90 003197F0 38 63 00 04 */ addi r3, r3, 4 +/* 8031DB94 003197F4 3B BD 00 01 */ addi r29, r29, 1 +/* 8031DB98 003197F8 7C 1C 18 2E */ lwzx r0, r28, r3 +/* 8031DB9C 003197FC 90 04 00 00 */ stw r0, 0(r4) +/* 8031DBA0 00319800 7C BC 19 2E */ stwx r5, r28, r3 +lbl_8031DBA4: +/* 8031DBA4 00319804 38 84 00 04 */ addi r4, r4, 4 +/* 8031DBA8 00319808 42 00 FF D8 */ bdnz lbl_8031DB80 +lbl_8031DBAC: +/* 8031DBAC 0031980C 57 A6 10 3A */ slwi r6, r29, 2 +/* 8031DBB0 00319810 81 07 00 04 */ lwz r8, 4(r7) +/* 8031DBB4 00319814 7C 1C 30 2E */ lwzx r0, r28, r6 +/* 8031DBB8 00319818 7F 83 E3 78 */ mr r3, r28 +/* 8031DBBC 0031981C 38 9F 00 01 */ addi r4, r31, 1 +/* 8031DBC0 00319820 38 BD FF FF */ addi r5, r29, -1 +/* 8031DBC4 00319824 90 07 00 04 */ stw r0, 4(r7) +/* 8031DBC8 00319828 7D 1C 31 2E */ stwx r8, r28, r6 +/* 8031DBCC 0031982C 48 00 0D 45 */ bl func_8031E910 +/* 8031DBD0 00319830 7F 83 E3 78 */ mr r3, r28 +/* 8031DBD4 00319834 38 9D 00 01 */ addi r4, r29, 1 +/* 8031DBD8 00319838 38 BE FF FF */ addi r5, r30, -1 +/* 8031DBDC 0031983C 48 00 0D 35 */ bl func_8031E910 +lbl_8031DBE0: +/* 8031DBE0 00319840 3B BE 00 01 */ addi r29, r30, 1 +/* 8031DBE4 00319844 38 FB FF FF */ addi r7, r27, -1 +/* 8031DBE8 00319848 7C 1D 38 00 */ cmpw r29, r7 +/* 8031DBEC 0031984C 40 80 00 B0 */ bge lbl_8031DC9C +/* 8031DBF0 00319850 7C 7B F2 14 */ add r3, r27, r30 +/* 8031DBF4 00319854 7C DC CA 14 */ add r6, r28, r25 +/* 8031DBF8 00319858 54 60 0F FE */ srwi r0, r3, 0x1f +/* 8031DBFC 0031985C 81 26 00 04 */ lwz r9, 4(r6) +/* 8031DC00 00319860 7C 60 1A 14 */ add r3, r0, r3 +/* 8031DC04 00319864 39 1E 00 02 */ addi r8, r30, 2 +/* 8031DC08 00319868 54 65 08 3A */ rlwinm r5, r3, 1, 0, 0x1d +/* 8031DC0C 0031986C 38 07 00 01 */ addi r0, r7, 1 +/* 8031DC10 00319870 7C 9C 28 2E */ lwzx r4, r28, r5 +/* 8031DC14 00319874 55 03 10 3A */ slwi r3, r8, 2 +/* 8031DC18 00319878 7D 5C 1A 14 */ add r10, r28, r3 +/* 8031DC1C 0031987C 7C 08 00 50 */ subf r0, r8, r0 +/* 8031DC20 00319880 90 86 00 04 */ stw r4, 4(r6) +/* 8031DC24 00319884 57 A3 10 3A */ slwi r3, r29, 2 +/* 8031DC28 00319888 7D 3C 29 2E */ stwx r9, r28, r5 +/* 8031DC2C 0031988C 7C 09 03 A6 */ mtctr r0 +/* 8031DC30 00319890 7C 08 38 00 */ cmpw r8, r7 +/* 8031DC34 00319894 41 81 00 30 */ bgt lbl_8031DC64 +lbl_8031DC38: +/* 8031DC38 00319898 80 8A 00 00 */ lwz r4, 0(r10) +/* 8031DC3C 0031989C 80 06 00 04 */ lwz r0, 4(r6) +/* 8031DC40 003198A0 7C 04 00 40 */ cmplw r4, r0 +/* 8031DC44 003198A4 40 80 00 18 */ bge lbl_8031DC5C +/* 8031DC48 003198A8 38 63 00 04 */ addi r3, r3, 4 +/* 8031DC4C 003198AC 3B BD 00 01 */ addi r29, r29, 1 +/* 8031DC50 003198B0 7C 1C 18 2E */ lwzx r0, r28, r3 +/* 8031DC54 003198B4 90 0A 00 00 */ stw r0, 0(r10) +/* 8031DC58 003198B8 7C 9C 19 2E */ stwx r4, r28, r3 +lbl_8031DC5C: +/* 8031DC5C 003198BC 39 4A 00 04 */ addi r10, r10, 4 +/* 8031DC60 003198C0 42 00 FF D8 */ bdnz lbl_8031DC38 +lbl_8031DC64: +/* 8031DC64 003198C4 7C FC CA 14 */ add r7, r28, r25 +/* 8031DC68 003198C8 57 A6 10 3A */ slwi r6, r29, 2 +/* 8031DC6C 003198CC 81 07 00 04 */ lwz r8, 4(r7) +/* 8031DC70 003198D0 7F 83 E3 78 */ mr r3, r28 +/* 8031DC74 003198D4 7C 1C 30 2E */ lwzx r0, r28, r6 +/* 8031DC78 003198D8 38 9E 00 01 */ addi r4, r30, 1 +/* 8031DC7C 003198DC 38 BD FF FF */ addi r5, r29, -1 +/* 8031DC80 003198E0 90 07 00 04 */ stw r0, 4(r7) +/* 8031DC84 003198E4 7D 1C 31 2E */ stwx r8, r28, r6 +/* 8031DC88 003198E8 48 00 0C 89 */ bl func_8031E910 +/* 8031DC8C 003198EC 7F 83 E3 78 */ mr r3, r28 +/* 8031DC90 003198F0 38 9D 00 01 */ addi r4, r29, 1 +/* 8031DC94 003198F4 38 BB FF FF */ addi r5, r27, -1 +/* 8031DC98 003198F8 48 00 0C 79 */ bl func_8031E910 +lbl_8031DC9C: +/* 8031DC9C 003198FC 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031DCA0 00319900 80 AD B0 38 */ lwz r5, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DCA4 00319904 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8031DCA8 00319908 80 05 01 70 */ lwz r0, 0x170(r5) +/* 8031DCAC 0031990C 7C 03 00 40 */ cmplw r3, r0 +/* 8031DCB0 00319910 41 82 03 34 */ beq lbl_8031DFE4 +/* 8031DCB4 00319914 38 00 00 05 */ li r0, 5 +/* 8031DCB8 00319918 38 80 00 00 */ li r4, 0 +/* 8031DCBC 0031991C 90 05 00 00 */ stw r0, 0(r5) +/* 8031DCC0 00319920 83 4D B0 3C */ lwz r26, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DCC4 00319924 7F 45 D3 78 */ mr r5, r26 +/* 8031DCC8 00319928 48 00 00 0C */ b lbl_8031DCD4 +lbl_8031DCCC: +/* 8031DCCC 0031992C 38 A5 00 08 */ addi r5, r5, 8 +/* 8031DCD0 00319930 38 84 00 01 */ addi r4, r4, 1 +lbl_8031DCD4: +/* 8031DCD4 00319934 80 05 00 14 */ lwz r0, 0x14(r5) +/* 8031DCD8 00319938 2C 00 00 00 */ cmpwi r0, 0 +/* 8031DCDC 0031993C 41 82 00 0C */ beq lbl_8031DCE8 +/* 8031DCE0 00319940 2C 04 00 10 */ cmpwi r4, 0x10 +/* 8031DCE4 00319944 41 80 FF E8 */ blt lbl_8031DCCC +lbl_8031DCE8: +/* 8031DCE8 00319948 2C 04 00 10 */ cmpwi r4, 0x10 +/* 8031DCEC 0031994C 40 80 00 2C */ bge lbl_8031DD18 +/* 8031DCF0 00319950 90 9A 00 94 */ stw r4, 0x94(r26) +/* 8031DCF4 00319954 54 86 18 38 */ slwi r6, r4, 3 +/* 8031DCF8 00319958 38 A0 00 00 */ li r5, 0 +/* 8031DCFC 0031995C 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DD00 00319960 7C 80 32 14 */ add r4, r0, r6 +/* 8031DD04 00319964 90 A4 00 18 */ stw r5, 0x18(r4) +/* 8031DD08 00319968 83 4D B0 3C */ lwz r26, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DD0C 0031996C 7C 9A 32 14 */ add r4, r26, r6 +/* 8031DD10 00319970 3B 24 00 14 */ addi r25, r4, 0x14 +/* 8031DD14 00319974 48 00 00 08 */ b lbl_8031DD1C +lbl_8031DD18: +/* 8031DD18 00319978 3B 20 00 00 */ li r25, 0 +lbl_8031DD1C: +/* 8031DD1C 0031997C 38 80 30 39 */ li r4, 0x3039 +/* 8031DD20 00319980 38 A0 00 00 */ li r5, 0 +/* 8031DD24 00319984 48 02 FE 29 */ bl gt2AddressToString +/* 8031DD28 00319988 80 CD B0 3C */ lwz r6, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DD2C 0031998C 7C 65 1B 78 */ mr r5, r3 +/* 8031DD30 00319990 7F 24 CB 78 */ mr r4, r25 +/* 8031DD34 00319994 39 3A 00 04 */ addi r9, r26, 4 +/* 8031DD38 00319998 80 66 00 00 */ lwz r3, 0(r6) +/* 8031DD3C 0031999C 38 C0 00 00 */ li r6, 0 +/* 8031DD40 003199A0 38 E0 00 00 */ li r7, 0 +/* 8031DD44 003199A4 39 00 27 10 */ li r8, 0x2710 +/* 8031DD48 003199A8 39 40 00 00 */ li r10, 0 +/* 8031DD4C 003199AC 48 02 BD 49 */ bl gt2Connect +/* 8031DD50 003199B0 48 00 02 94 */ b lbl_8031DFE4 +lbl_8031DD54: +/* 8031DD54 003199B4 80 A6 01 74 */ lwz r5, 0x174(r6) +/* 8031DD58 003199B8 2C 05 FF FF */ cmpwi r5, -1 +/* 8031DD5C 003199BC 41 82 02 88 */ beq lbl_8031DFE4 +/* 8031DD60 003199C0 80 66 01 78 */ lwz r3, 0x178(r6) +/* 8031DD64 003199C4 80 ED B0 3C */ lwz r7, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DD68 003199C8 37 23 FF FF */ addic. r25, r3, -1 +/* 8031DD6C 003199CC 38 87 00 14 */ addi r4, r7, 0x14 +/* 8031DD70 003199D0 57 20 10 3A */ slwi r0, r25, 2 +/* 8031DD74 003199D4 7C 67 02 14 */ add r3, r7, r0 +/* 8031DD78 003199D8 7F 29 03 A6 */ mtctr r25 +/* 8031DD7C 003199DC 40 81 00 FC */ ble lbl_8031DE78 +lbl_8031DD80: +/* 8031DD80 003199E0 80 06 01 74 */ lwz r0, 0x174(r6) +/* 8031DD84 003199E4 7C 19 00 00 */ cmpw r25, r0 +/* 8031DD88 003199E8 41 82 00 E4 */ beq lbl_8031DE6C +/* 8031DD8C 003199EC 80 03 00 94 */ lwz r0, 0x94(r3) +/* 8031DD90 003199F0 2C 00 FF FF */ cmpwi r0, -1 +/* 8031DD94 003199F4 40 82 00 0C */ bne lbl_8031DDA0 +/* 8031DD98 003199F8 38 00 00 00 */ li r0, 0 +/* 8031DD9C 003199FC 48 00 00 0C */ b lbl_8031DDA8 +lbl_8031DDA0: +/* 8031DDA0 00319A00 54 00 18 38 */ slwi r0, r0, 3 +/* 8031DDA4 00319A04 7C 04 02 14 */ add r0, r4, r0 +lbl_8031DDA8: +/* 8031DDA8 00319A08 2C 00 00 00 */ cmpwi r0, 0 +/* 8031DDAC 00319A0C 40 82 00 C0 */ bne lbl_8031DE6C +/* 8031DDB0 00319A10 7C 19 28 00 */ cmpw r25, r5 +/* 8031DDB4 00319A14 40 81 00 C4 */ ble lbl_8031DE78 +/* 8031DDB8 00319A18 38 60 00 06 */ li r3, 6 +/* 8031DDBC 00319A1C 57 20 18 38 */ slwi r0, r25, 3 +/* 8031DDC0 00319A20 90 66 00 00 */ stw r3, 0(r6) +/* 8031DDC4 00319A24 38 A0 00 00 */ li r5, 0 +/* 8031DDC8 00319A28 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DDCC 00319A2C 83 6D B0 3C */ lwz r27, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DDD0 00319A30 7C 63 02 14 */ add r3, r3, r0 +/* 8031DDD4 00319A34 80 63 01 7C */ lwz r3, 0x17c(r3) +/* 8031DDD8 00319A38 7F 64 DB 78 */ mr r4, r27 +/* 8031DDDC 00319A3C 48 00 00 0C */ b lbl_8031DDE8 +lbl_8031DDE0: +/* 8031DDE0 00319A40 38 84 00 08 */ addi r4, r4, 8 +/* 8031DDE4 00319A44 38 A5 00 01 */ addi r5, r5, 1 +lbl_8031DDE8: +/* 8031DDE8 00319A48 80 04 00 14 */ lwz r0, 0x14(r4) +/* 8031DDEC 00319A4C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031DDF0 00319A50 41 82 00 0C */ beq lbl_8031DDFC +/* 8031DDF4 00319A54 2C 05 00 10 */ cmpwi r5, 0x10 +/* 8031DDF8 00319A58 41 80 FF E8 */ blt lbl_8031DDE0 +lbl_8031DDFC: +/* 8031DDFC 00319A5C 2C 05 00 10 */ cmpwi r5, 0x10 +/* 8031DE00 00319A60 40 80 00 30 */ bge lbl_8031DE30 +/* 8031DE04 00319A64 57 20 10 3A */ slwi r0, r25, 2 +/* 8031DE08 00319A68 54 A6 18 38 */ slwi r6, r5, 3 +/* 8031DE0C 00319A6C 7C 9B 02 14 */ add r4, r27, r0 +/* 8031DE10 00319A70 90 A4 00 94 */ stw r5, 0x94(r4) +/* 8031DE14 00319A74 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DE18 00319A78 7C 80 32 14 */ add r4, r0, r6 +/* 8031DE1C 00319A7C 93 24 00 18 */ stw r25, 0x18(r4) +/* 8031DE20 00319A80 83 6D B0 3C */ lwz r27, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DE24 00319A84 7C 9B 32 14 */ add r4, r27, r6 +/* 8031DE28 00319A88 3B 44 00 14 */ addi r26, r4, 0x14 +/* 8031DE2C 00319A8C 48 00 00 08 */ b lbl_8031DE34 +lbl_8031DE30: +/* 8031DE30 00319A90 3B 40 00 00 */ li r26, 0 +lbl_8031DE34: +/* 8031DE34 00319A94 38 80 30 39 */ li r4, 0x3039 +/* 8031DE38 00319A98 38 A0 00 00 */ li r5, 0 +/* 8031DE3C 00319A9C 48 02 FD 11 */ bl gt2AddressToString +/* 8031DE40 00319AA0 80 CD B0 3C */ lwz r6, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DE44 00319AA4 7C 65 1B 78 */ mr r5, r3 +/* 8031DE48 00319AA8 7F 44 D3 78 */ mr r4, r26 +/* 8031DE4C 00319AAC 39 3B 00 04 */ addi r9, r27, 4 +/* 8031DE50 00319AB0 80 66 00 00 */ lwz r3, 0(r6) +/* 8031DE54 00319AB4 38 C0 00 00 */ li r6, 0 +/* 8031DE58 00319AB8 38 E0 00 00 */ li r7, 0 +/* 8031DE5C 00319ABC 39 00 27 10 */ li r8, 0x2710 +/* 8031DE60 00319AC0 39 40 00 00 */ li r10, 0 +/* 8031DE64 00319AC4 48 02 BC 31 */ bl gt2Connect +/* 8031DE68 00319AC8 48 00 00 10 */ b lbl_8031DE78 +lbl_8031DE6C: +/* 8031DE6C 00319ACC 38 63 FF FC */ addi r3, r3, -4 +/* 8031DE70 00319AD0 3B 39 FF FF */ addi r25, r25, -1 +/* 8031DE74 00319AD4 42 00 FF 0C */ bdnz lbl_8031DD80 +lbl_8031DE78: +/* 8031DE78 00319AD8 2C 19 00 00 */ cmpwi r25, 0 +/* 8031DE7C 00319ADC 40 82 01 68 */ bne lbl_8031DFE4 +/* 8031DE80 00319AE0 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DE84 00319AE4 38 80 00 07 */ li r4, 7 +/* 8031DE88 00319AE8 38 00 00 01 */ li r0, 1 +/* 8031DE8C 00319AEC 90 83 00 00 */ stw r4, 0(r3) +/* 8031DE90 00319AF0 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DE94 00319AF4 90 03 01 2C */ stw r0, 0x12c(r3) +/* 8031DE98 00319AF8 80 AD B0 3C */ lwz r5, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DE9C 00319AFC 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DEA0 00319B00 80 05 00 94 */ lwz r0, 0x94(r5) +/* 8031DEA4 00319B04 38 83 01 2C */ addi r4, r3, 0x12c +/* 8031DEA8 00319B08 2C 00 FF FF */ cmpwi r0, -1 +/* 8031DEAC 00319B0C 40 82 00 0C */ bne lbl_8031DEB8 +/* 8031DEB0 00319B10 38 60 00 00 */ li r3, 0 +/* 8031DEB4 00319B14 48 00 00 10 */ b lbl_8031DEC4 +lbl_8031DEB8: +/* 8031DEB8 00319B18 54 00 18 38 */ slwi r0, r0, 3 +/* 8031DEBC 00319B1C 7C 65 02 14 */ add r3, r5, r0 +/* 8031DEC0 00319B20 38 63 00 14 */ addi r3, r3, 0x14 +lbl_8031DEC4: +/* 8031DEC4 00319B24 80 63 00 00 */ lwz r3, 0(r3) +/* 8031DEC8 00319B28 38 A0 00 44 */ li r5, 0x44 +/* 8031DECC 00319B2C 38 C0 00 01 */ li r6, 1 +/* 8031DED0 00319B30 48 02 BD 6D */ bl gt2Send +/* 8031DED4 00319B34 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DED8 00319B38 80 03 00 00 */ lwz r0, 0(r3) +/* 8031DEDC 00319B3C 2C 00 00 08 */ cmpwi r0, 8 +/* 8031DEE0 00319B40 40 82 01 04 */ bne lbl_8031DFE4 +/* 8031DEE4 00319B44 81 83 02 04 */ lwz r12, 0x204(r3) +/* 8031DEE8 00319B48 38 60 00 44 */ li r3, 0x44 +/* 8031DEEC 00319B4C 38 80 00 00 */ li r4, 0 +/* 8031DEF0 00319B50 7D 89 03 A6 */ mtctr r12 +/* 8031DEF4 00319B54 4E 80 04 21 */ bctrl +/* 8031DEF8 00319B58 48 00 00 EC */ b lbl_8031DFE4 +lbl_8031DEFC: +/* 8031DEFC 00319B5C 80 86 01 78 */ lwz r4, 0x178(r6) +/* 8031DF00 00319B60 38 66 00 08 */ addi r3, r6, 8 +/* 8031DF04 00319B64 38 A0 00 01 */ li r5, 1 +/* 8031DF08 00319B68 38 04 FF FF */ addi r0, r4, -1 +/* 8031DF0C 00319B6C 7C 09 03 A6 */ mtctr r0 +/* 8031DF10 00319B70 2C 04 00 01 */ cmpwi r4, 1 +/* 8031DF14 00319B74 40 81 00 1C */ ble lbl_8031DF30 +lbl_8031DF18: +/* 8031DF18 00319B78 80 03 01 80 */ lwz r0, 0x180(r3) +/* 8031DF1C 00319B7C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031DF20 00319B80 41 82 00 10 */ beq lbl_8031DF30 +/* 8031DF24 00319B84 38 63 00 08 */ addi r3, r3, 8 +/* 8031DF28 00319B88 38 A5 00 01 */ addi r5, r5, 1 +/* 8031DF2C 00319B8C 42 00 FF EC */ bdnz lbl_8031DF18 +lbl_8031DF30: +/* 8031DF30 00319B90 80 06 01 78 */ lwz r0, 0x178(r6) +/* 8031DF34 00319B94 7C 05 00 00 */ cmpw r5, r0 +/* 8031DF38 00319B98 40 82 00 AC */ bne lbl_8031DFE4 +/* 8031DF3C 00319B9C 38 00 00 02 */ li r0, 2 +/* 8031DF40 00319BA0 3B 40 00 01 */ li r26, 1 +/* 8031DF44 00319BA4 90 06 01 2C */ stw r0, 0x12c(r6) +/* 8031DF48 00319BA8 3B 20 00 04 */ li r25, 4 +/* 8031DF4C 00319BAC 48 00 00 6C */ b lbl_8031DFB8 +lbl_8031DF50: +/* 8031DF50 00319BB0 80 AD B0 3C */ lwz r5, lbl_806402FC-_SDA_BASE_(r13) +/* 8031DF54 00319BB4 38 84 01 2C */ addi r4, r4, 0x12c +/* 8031DF58 00319BB8 7C 65 CA 14 */ add r3, r5, r25 +/* 8031DF5C 00319BBC 80 03 00 94 */ lwz r0, 0x94(r3) +/* 8031DF60 00319BC0 2C 00 FF FF */ cmpwi r0, -1 +/* 8031DF64 00319BC4 40 82 00 0C */ bne lbl_8031DF70 +/* 8031DF68 00319BC8 38 60 00 00 */ li r3, 0 +/* 8031DF6C 00319BCC 48 00 00 10 */ b lbl_8031DF7C +lbl_8031DF70: +/* 8031DF70 00319BD0 54 00 18 38 */ slwi r0, r0, 3 +/* 8031DF74 00319BD4 7C 65 02 14 */ add r3, r5, r0 +/* 8031DF78 00319BD8 38 63 00 14 */ addi r3, r3, 0x14 +lbl_8031DF7C: +/* 8031DF7C 00319BDC 80 63 00 00 */ lwz r3, 0(r3) +/* 8031DF80 00319BE0 38 A0 00 44 */ li r5, 0x44 +/* 8031DF84 00319BE4 38 C0 00 01 */ li r6, 1 +/* 8031DF88 00319BE8 48 02 BC B5 */ bl gt2Send +/* 8031DF8C 00319BEC 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DF90 00319BF0 80 03 00 00 */ lwz r0, 0(r3) +/* 8031DF94 00319BF4 2C 00 00 08 */ cmpwi r0, 8 +/* 8031DF98 00319BF8 40 82 00 18 */ bne lbl_8031DFB0 +/* 8031DF9C 00319BFC 81 83 02 04 */ lwz r12, 0x204(r3) +/* 8031DFA0 00319C00 7F 44 D3 78 */ mr r4, r26 +/* 8031DFA4 00319C04 38 60 00 44 */ li r3, 0x44 +/* 8031DFA8 00319C08 7D 89 03 A6 */ mtctr r12 +/* 8031DFAC 00319C0C 4E 80 04 21 */ bctrl +lbl_8031DFB0: +/* 8031DFB0 00319C10 3B 39 00 04 */ addi r25, r25, 4 +/* 8031DFB4 00319C14 3B 5A 00 01 */ addi r26, r26, 1 +lbl_8031DFB8: +/* 8031DFB8 00319C18 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DFBC 00319C1C 80 04 01 78 */ lwz r0, 0x178(r4) +/* 8031DFC0 00319C20 7C 1A 00 00 */ cmpw r26, r0 +/* 8031DFC4 00319C24 41 80 FF 8C */ blt lbl_8031DF50 +/* 8031DFC8 00319C28 38 00 00 08 */ li r0, 8 +/* 8031DFCC 00319C2C 38 60 00 00 */ li r3, 0 +/* 8031DFD0 00319C30 90 04 00 00 */ stw r0, 0(r4) +/* 8031DFD4 00319C34 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031DFD8 00319C38 81 84 01 FC */ lwz r12, 0x1fc(r4) +/* 8031DFDC 00319C3C 7D 89 03 A6 */ mtctr r12 +/* 8031DFE0 00319C40 4E 80 04 21 */ bctrl +lbl_8031DFE4: +/* 8031DFE4 00319C44 39 61 00 40 */ addi r11, r1, 0x40 +/* 8031DFE8 00319C48 4B EA 91 85 */ bl _restgpr_25 +/* 8031DFEC 00319C4C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8031DFF0 00319C50 7C 08 03 A6 */ mtlr r0 +/* 8031DFF4 00319C54 38 21 00 40 */ addi r1, r1, 0x40 +/* 8031DFF8 00319C58 4E 80 00 20 */ blr + +.global func_8031DFFC +func_8031DFFC: +/* 8031DFFC 00319C5C 80 AD B0 38 */ lwz r5, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E000 00319C60 90 65 01 78 */ stw r3, 0x178(r5) +/* 8031E004 00319C64 38 60 00 01 */ li r3, 1 +/* 8031E008 00319C68 80 AD B0 38 */ lwz r5, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E00C 00319C6C 90 85 01 FC */ stw r4, 0x1fc(r5) +/* 8031E010 00319C70 4E 80 00 20 */ blr + +.global func_8031E014 +func_8031E014: +/* 8031E014 00319C74 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031E018 00319C78 7C 08 02 A6 */ mflr r0 +/* 8031E01C 00319C7C 38 60 00 00 */ li r3, 0 +/* 8031E020 00319C80 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031E024 00319C84 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031E028 00319C88 48 03 06 0D */ bl qr2_shutdown +/* 8031E02C 00319C8C 80 6D B0 40 */ lwz r3, lbl_80640300-_SDA_BASE_(r13) +/* 8031E030 00319C90 80 63 00 00 */ lwz r3, 0(r3) +/* 8031E034 00319C94 48 04 04 69 */ bl ServerBrowserFree +/* 8031E038 00319C98 3B E0 00 00 */ li r31, 0 +/* 8031E03C 00319C9C 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E040 00319CA0 93 ED B0 40 */ stw r31, lbl_80640300-_SDA_BASE_(r13) +/* 8031E044 00319CA4 80 63 00 00 */ lwz r3, 0(r3) +/* 8031E048 00319CA8 48 02 BD 09 */ bl func_80349D50 +/* 8031E04C 00319CAC 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E050 00319CB0 80 63 00 00 */ lwz r3, 0(r3) +/* 8031E054 00319CB4 48 02 B9 A5 */ bl gt2CloseSocket +/* 8031E058 00319CB8 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E05C 00319CBC 93 ED B0 3C */ stw r31, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E060 00319CC0 2C 04 00 00 */ cmpwi r4, 0 +/* 8031E064 00319CC4 41 82 00 14 */ beq lbl_8031E078 +/* 8031E068 00319CC8 38 60 00 05 */ li r3, 5 +/* 8031E06C 00319CCC 38 A0 00 00 */ li r5, 0 +/* 8031E070 00319CD0 4B FF E9 19 */ bl func_8031C988 +/* 8031E074 00319CD4 93 ED B0 38 */ stw r31, lbl_806402F8-_SDA_BASE_(r13) +lbl_8031E078: +/* 8031E078 00319CD8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031E07C 00319CDC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031E080 00319CE0 7C 08 03 A6 */ mtlr r0 +/* 8031E084 00319CE4 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031E088 00319CE8 4E 80 00 20 */ blr + +.global func_8031E08C +func_8031E08C: +/* 8031E08C 00319CEC 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E090 00319CF0 80 03 00 00 */ lwz r0, 0(r3) +/* 8031E094 00319CF4 2C 00 00 08 */ cmpwi r0, 8 +/* 8031E098 00319CF8 41 80 00 10 */ blt lbl_8031E0A8 +/* 8031E09C 00319CFC 80 63 01 74 */ lwz r3, 0x174(r3) +/* 8031E0A0 00319D00 2C 03 00 00 */ cmpwi r3, 0 +/* 8031E0A4 00319D04 4C 80 00 20 */ bgelr +lbl_8031E0A8: +/* 8031E0A8 00319D08 38 60 FF FF */ li r3, -1 +/* 8031E0AC 00319D0C 4E 80 00 20 */ blr + +.global func_8031E0B0 +func_8031E0B0: +/* 8031E0B0 00319D10 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031E0B4 00319D14 7C 08 02 A6 */ mflr r0 +/* 8031E0B8 00319D18 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031E0BC 00319D1C 54 60 10 3A */ slwi r0, r3, 2 +/* 8031E0C0 00319D20 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031E0C4 00319D24 7C BF 2B 78 */ mr r31, r5 +/* 8031E0C8 00319D28 93 C1 00 08 */ stw r30, 8(r1) +/* 8031E0CC 00319D2C 7C 7E 1B 78 */ mr r30, r3 +/* 8031E0D0 00319D30 80 ED B0 3C */ lwz r7, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E0D4 00319D34 7C 67 02 14 */ add r3, r7, r0 +/* 8031E0D8 00319D38 80 03 00 94 */ lwz r0, 0x94(r3) +/* 8031E0DC 00319D3C 2C 00 FF FF */ cmpwi r0, -1 +/* 8031E0E0 00319D40 40 82 00 0C */ bne lbl_8031E0EC +/* 8031E0E4 00319D44 38 60 00 00 */ li r3, 0 +/* 8031E0E8 00319D48 48 00 00 10 */ b lbl_8031E0F8 +lbl_8031E0EC: +/* 8031E0EC 00319D4C 54 00 18 38 */ slwi r0, r0, 3 +/* 8031E0F0 00319D50 7C 67 02 14 */ add r3, r7, r0 +/* 8031E0F4 00319D54 38 63 00 14 */ addi r3, r3, 0x14 +lbl_8031E0F8: +/* 8031E0F8 00319D58 80 63 00 00 */ lwz r3, 0(r3) +/* 8031E0FC 00319D5C 7F E5 FB 78 */ mr r5, r31 +/* 8031E100 00319D60 48 02 BB 3D */ bl gt2Send +/* 8031E104 00319D64 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E108 00319D68 80 03 00 00 */ lwz r0, 0(r3) +/* 8031E10C 00319D6C 2C 00 00 08 */ cmpwi r0, 8 +/* 8031E110 00319D70 40 82 00 18 */ bne lbl_8031E128 +/* 8031E114 00319D74 81 83 02 04 */ lwz r12, 0x204(r3) +/* 8031E118 00319D78 7F E3 FB 78 */ mr r3, r31 +/* 8031E11C 00319D7C 7F C4 F3 78 */ mr r4, r30 +/* 8031E120 00319D80 7D 89 03 A6 */ mtctr r12 +/* 8031E124 00319D84 4E 80 04 21 */ bctrl +lbl_8031E128: +/* 8031E128 00319D88 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031E12C 00319D8C 38 60 00 01 */ li r3, 1 +/* 8031E130 00319D90 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031E134 00319D94 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031E138 00319D98 7C 08 03 A6 */ mtlr r0 +/* 8031E13C 00319D9C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031E140 00319DA0 4E 80 00 20 */ blr +lbl_8031E144: +/* 8031E144 00319DA4 3C 60 80 44 */ lis r3, lbl_80446BF4@ha +/* 8031E148 00319DA8 3C A0 80 44 */ lis r5, lbl_80446C04@ha +/* 8031E14C 00319DAC 38 63 6B F4 */ addi r3, r3, lbl_80446BF4@l +/* 8031E150 00319DB0 38 80 01 A8 */ li r4, 0x1a8 +/* 8031E154 00319DB4 38 A5 6C 04 */ addi r5, r5, lbl_80446C04@l +/* 8031E158 00319DB8 4C C6 31 82 */ crclr 6 +/* 8031E15C 00319DBC 4B F4 D3 40 */ b OSPanic +lbl_8031E160: +/* 8031E160 00319DC0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031E164 00319DC4 7C 08 02 A6 */ mflr r0 +/* 8031E168 00319DC8 38 60 00 01 */ li r3, 1 +/* 8031E16C 00319DCC 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031E170 00319DD0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031E174 00319DD4 7C 9F 23 78 */ mr r31, r4 +/* 8031E178 00319DD8 3C 80 80 44 */ lis r4, lbl_80446C14@ha +/* 8031E17C 00319DDC 7F E5 FB 78 */ mr r5, r31 +/* 8031E180 00319DE0 38 84 6C 14 */ addi r4, r4, lbl_80446C14@l +/* 8031E184 00319DE4 4C C6 31 82 */ crclr 6 +/* 8031E188 00319DE8 4B FF E9 AD */ bl func_8031CB34 +/* 8031E18C 00319DEC 2C 1F 00 03 */ cmpwi r31, 3 +/* 8031E190 00319DF0 41 82 00 28 */ beq lbl_8031E1B8 +/* 8031E194 00319DF4 40 80 00 10 */ bge lbl_8031E1A4 +/* 8031E198 00319DF8 2C 1F 00 02 */ cmpwi r31, 2 +/* 8031E19C 00319DFC 40 80 00 1C */ bge lbl_8031E1B8 +/* 8031E1A0 00319E00 48 00 00 18 */ b lbl_8031E1B8 +lbl_8031E1A4: +/* 8031E1A4 00319E04 2C 1F 00 05 */ cmpwi r31, 5 +/* 8031E1A8 00319E08 40 80 00 10 */ bge lbl_8031E1B8 +/* 8031E1AC 00319E0C 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E1B0 00319E10 38 00 00 01 */ li r0, 1 +/* 8031E1B4 00319E14 90 03 00 0C */ stw r0, 0xc(r3) +lbl_8031E1B8: +/* 8031E1B8 00319E18 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031E1BC 00319E1C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031E1C0 00319E20 7C 08 03 A6 */ mtlr r0 +/* 8031E1C4 00319E24 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031E1C8 00319E28 4E 80 00 20 */ blr +lbl_8031E1CC: +/* 8031E1CC 00319E2C 4E 80 00 20 */ blr +lbl_8031E1D0: +/* 8031E1D0 00319E30 4E 80 00 20 */ blr +lbl_8031E1D4: +/* 8031E1D4 00319E34 4E 80 00 20 */ blr +lbl_8031E1D8: +/* 8031E1D8 00319E38 4E 80 00 20 */ blr +lbl_8031E1DC: +/* 8031E1DC 00319E3C 38 60 00 00 */ li r3, 0 +/* 8031E1E0 00319E40 4E 80 00 20 */ blr +lbl_8031E1E4: +/* 8031E1E4 00319E44 4E 80 00 20 */ blr + +.global func_8031E1E8 +func_8031E1E8: +/* 8031E1E8 00319E48 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031E1EC 00319E4C 7C 08 02 A6 */ mflr r0 +/* 8031E1F0 00319E50 38 80 FF FF */ li r4, -1 +/* 8031E1F4 00319E54 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031E1F8 00319E58 38 00 00 01 */ li r0, 1 +/* 8031E1FC 00319E5C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031E200 00319E60 7C 7F 1B 78 */ mr r31, r3 +/* 8031E204 00319E64 80 AD B0 38 */ lwz r5, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E208 00319E68 38 65 00 54 */ addi r3, r5, 0x54 +/* 8031E20C 00319E6C 38 A0 00 40 */ li r5, 0x40 +/* 8031E210 00319E70 90 6D B0 3C */ stw r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E214 00319E74 90 03 00 D4 */ stw r0, 0xd4(r3) +/* 8031E218 00319E78 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E21C 00319E7C 38 63 00 94 */ addi r3, r3, 0x94 +/* 8031E220 00319E80 4B CE 5E E5 */ bl memset +/* 8031E224 00319E84 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E228 00319E88 38 00 FF FF */ li r0, -1 +/* 8031E22C 00319E8C 38 80 00 00 */ li r4, 0 +/* 8031E230 00319E90 38 A0 00 10 */ li r5, 0x10 +/* 8031E234 00319E94 90 03 00 18 */ stw r0, 0x18(r3) +/* 8031E238 00319E98 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E23C 00319E9C 90 03 00 20 */ stw r0, 0x20(r3) +/* 8031E240 00319EA0 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E244 00319EA4 90 03 00 28 */ stw r0, 0x28(r3) +/* 8031E248 00319EA8 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E24C 00319EAC 90 03 00 30 */ stw r0, 0x30(r3) +/* 8031E250 00319EB0 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E254 00319EB4 90 03 00 38 */ stw r0, 0x38(r3) +/* 8031E258 00319EB8 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E25C 00319EBC 90 03 00 40 */ stw r0, 0x40(r3) +/* 8031E260 00319EC0 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E264 00319EC4 90 03 00 48 */ stw r0, 0x48(r3) +/* 8031E268 00319EC8 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E26C 00319ECC 90 03 00 50 */ stw r0, 0x50(r3) +/* 8031E270 00319ED0 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E274 00319ED4 90 03 00 58 */ stw r0, 0x58(r3) +/* 8031E278 00319ED8 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E27C 00319EDC 90 03 00 60 */ stw r0, 0x60(r3) +/* 8031E280 00319EE0 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E284 00319EE4 90 03 00 68 */ stw r0, 0x68(r3) +/* 8031E288 00319EE8 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E28C 00319EEC 90 03 00 70 */ stw r0, 0x70(r3) +/* 8031E290 00319EF0 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E294 00319EF4 90 03 00 78 */ stw r0, 0x78(r3) +/* 8031E298 00319EF8 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E29C 00319EFC 90 03 00 80 */ stw r0, 0x80(r3) +/* 8031E2A0 00319F00 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E2A4 00319F04 90 03 00 88 */ stw r0, 0x88(r3) +/* 8031E2A8 00319F08 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E2AC 00319F0C 90 03 00 90 */ stw r0, 0x90(r3) +/* 8031E2B0 00319F10 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E2B4 00319F14 38 63 00 04 */ addi r3, r3, 4 +/* 8031E2B8 00319F18 4B CE 5E 4D */ bl memset +/* 8031E2BC 00319F1C 3C 80 80 32 */ lis r4, lbl_8031E340@ha +/* 8031E2C0 00319F20 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E2C4 00319F24 38 84 E3 40 */ addi r4, r4, lbl_8031E340@l +/* 8031E2C8 00319F28 3D 00 80 32 */ lis r8, lbl_8031E444@ha +/* 8031E2CC 00319F2C 90 83 00 04 */ stw r4, 4(r3) +/* 8031E2D0 00319F30 3C E0 80 32 */ lis r7, lbl_8031E5A4@ha +/* 8031E2D4 00319F34 39 08 E4 44 */ addi r8, r8, lbl_8031E444@l +/* 8031E2D8 00319F38 7F E3 FB 78 */ mr r3, r31 +/* 8031E2DC 00319F3C 80 CD B0 3C */ lwz r6, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E2E0 00319F40 38 E7 E5 A4 */ addi r7, r7, lbl_8031E5A4@l +/* 8031E2E4 00319F44 38 80 30 39 */ li r4, 0x3039 +/* 8031E2E8 00319F48 38 A0 00 00 */ li r5, 0 +/* 8031E2EC 00319F4C 91 06 00 08 */ stw r8, 8(r6) +/* 8031E2F0 00319F50 80 CD B0 3C */ lwz r6, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E2F4 00319F54 90 E6 00 0C */ stw r7, 0xc(r6) +/* 8031E2F8 00319F58 48 02 F8 55 */ bl gt2AddressToString +/* 8031E2FC 00319F5C 7C 64 1B 78 */ mr r4, r3 +/* 8031E300 00319F60 3C E0 80 32 */ lis r7, lbl_8031E144@ha +/* 8031E304 00319F64 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E308 00319F68 38 E7 E1 44 */ addi r7, r7, lbl_8031E144@l +/* 8031E30C 00319F6C 38 A0 00 00 */ li r5, 0 +/* 8031E310 00319F70 38 C0 00 00 */ li r6, 0 +/* 8031E314 00319F74 48 02 B6 DD */ bl gt2CreateSocket +/* 8031E318 00319F78 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E31C 00319F7C 3C 80 80 32 */ lis r4, lbl_8031E5BC@ha +/* 8031E320 00319F80 38 84 E5 BC */ addi r4, r4, lbl_8031E5BC@l +/* 8031E324 00319F84 80 63 00 00 */ lwz r3, 0(r3) +/* 8031E328 00319F88 48 02 B7 61 */ bl gt2Listen +/* 8031E32C 00319F8C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031E330 00319F90 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031E334 00319F94 7C 08 03 A6 */ mtlr r0 +/* 8031E338 00319F98 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031E33C 00319F9C 4E 80 00 20 */ blr +lbl_8031E340: +/* 8031E340 00319FA0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031E344 00319FA4 7C 08 02 A6 */ mflr r0 +/* 8031E348 00319FA8 2C 04 00 00 */ cmpwi r4, 0 +/* 8031E34C 00319FAC 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031E350 00319FB0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031E354 00319FB4 7C 9F 23 78 */ mr r31, r4 +/* 8031E358 00319FB8 93 C1 00 08 */ stw r30, 8(r1) +/* 8031E35C 00319FBC 7C 7E 1B 78 */ mr r30, r3 +/* 8031E360 00319FC0 40 82 00 14 */ bne lbl_8031E374 +/* 8031E364 00319FC4 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E368 00319FC8 38 00 00 03 */ li r0, 3 +/* 8031E36C 00319FCC 90 03 00 00 */ stw r0, 0(r3) +/* 8031E370 00319FD0 48 00 00 8C */ b lbl_8031E3FC +lbl_8031E374: +/* 8031E374 00319FD4 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E378 00319FD8 38 A0 00 01 */ li r5, 1 +/* 8031E37C 00319FDC 38 00 00 10 */ li r0, 0x10 +/* 8031E380 00319FE0 38 C0 00 00 */ li r6, 0 +/* 8031E384 00319FE4 90 A4 00 00 */ stw r5, 0(r4) +/* 8031E388 00319FE8 80 AD B0 3C */ lwz r5, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E38C 00319FEC 7C A4 2B 78 */ mr r4, r5 +/* 8031E390 00319FF0 7C 09 03 A6 */ mtctr r0 +lbl_8031E394: +/* 8031E394 00319FF4 80 04 00 14 */ lwz r0, 0x14(r4) +/* 8031E398 00319FF8 7C 03 00 40 */ cmplw r3, r0 +/* 8031E39C 00319FFC 40 82 00 14 */ bne lbl_8031E3B0 +/* 8031E3A0 0031A000 54 C0 18 38 */ slwi r0, r6, 3 +/* 8031E3A4 0031A004 7C 65 02 14 */ add r3, r5, r0 +/* 8031E3A8 0031A008 80 03 00 18 */ lwz r0, 0x18(r3) +/* 8031E3AC 0031A00C 48 00 00 14 */ b lbl_8031E3C0 +lbl_8031E3B0: +/* 8031E3B0 0031A010 38 84 00 08 */ addi r4, r4, 8 +/* 8031E3B4 0031A014 38 C6 00 01 */ addi r6, r6, 1 +/* 8031E3B8 0031A018 42 00 FF DC */ bdnz lbl_8031E394 +/* 8031E3BC 0031A01C 38 00 FF FF */ li r0, -1 +lbl_8031E3C0: +/* 8031E3C0 0031A020 54 00 10 3A */ slwi r0, r0, 2 +/* 8031E3C4 0031A024 7C 65 02 14 */ add r3, r5, r0 +/* 8031E3C8 0031A028 80 03 00 94 */ lwz r0, 0x94(r3) +/* 8031E3CC 0031A02C 2C 00 FF FF */ cmpwi r0, -1 +/* 8031E3D0 0031A030 41 82 00 2C */ beq lbl_8031E3FC +/* 8031E3D4 0031A034 38 80 FF FF */ li r4, -1 +/* 8031E3D8 0031A038 54 05 18 38 */ slwi r5, r0, 3 +/* 8031E3DC 0031A03C 90 83 00 94 */ stw r4, 0x94(r3) +/* 8031E3E0 0031A040 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E3E4 0031A044 7C 60 2A 14 */ add r3, r0, r5 +/* 8031E3E8 0031A048 90 83 00 18 */ stw r4, 0x18(r3) +/* 8031E3EC 0031A04C 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E3F0 0031A050 7C 60 2A 14 */ add r3, r0, r5 +/* 8031E3F4 0031A054 80 63 00 14 */ lwz r3, 0x14(r3) +/* 8031E3F8 0031A058 48 02 B9 45 */ bl gt2CloseConnectionHard +lbl_8031E3FC: +/* 8031E3FC 0031A05C 7F C3 F3 78 */ mr r3, r30 +/* 8031E400 0031A060 48 02 B9 B9 */ bl func_80349DB8 +/* 8031E404 0031A064 38 80 00 00 */ li r4, 0 +/* 8031E408 0031A068 38 A0 00 00 */ li r5, 0 +/* 8031E40C 0031A06C 48 02 F7 41 */ bl gt2AddressToString +/* 8031E410 0031A070 3C 80 80 44 */ lis r4, lbl_80446C2C@ha +/* 8031E414 0031A074 7C 65 1B 78 */ mr r5, r3 +/* 8031E418 0031A078 7F E6 FB 78 */ mr r6, r31 +/* 8031E41C 0031A07C 38 60 00 01 */ li r3, 1 +/* 8031E420 0031A080 38 84 6C 2C */ addi r4, r4, lbl_80446C2C@l +/* 8031E424 0031A084 4C C6 31 82 */ crclr 6 +/* 8031E428 0031A088 4B FF E7 0D */ bl func_8031CB34 +/* 8031E42C 0031A08C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031E430 0031A090 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031E434 0031A094 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031E438 0031A098 7C 08 03 A6 */ mtlr r0 +/* 8031E43C 0031A09C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031E440 0031A0A0 4E 80 00 20 */ blr +lbl_8031E444: +/* 8031E444 0031A0A4 81 0D B0 38 */ lwz r8, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E448 0031A0A8 38 E0 00 00 */ li r7, 0 +/* 8031E44C 0031A0AC 80 08 00 00 */ lwz r0, 0(r8) +/* 8031E450 0031A0B0 2C 00 00 07 */ cmpwi r0, 7 +/* 8031E454 0031A0B4 41 82 01 30 */ beq lbl_8031E584 +/* 8031E458 0031A0B8 40 80 00 1C */ bge lbl_8031E474 +/* 8031E45C 0031A0BC 2C 00 00 04 */ cmpwi r0, 4 +/* 8031E460 0031A0C0 41 82 00 C0 */ beq lbl_8031E520 +/* 8031E464 0031A0C4 4C 80 00 20 */ bgelr +/* 8031E468 0031A0C8 2C 00 00 03 */ cmpwi r0, 3 +/* 8031E46C 0031A0CC 40 80 00 5C */ bge lbl_8031E4C8 +/* 8031E470 0031A0D0 4E 80 00 20 */ blr +lbl_8031E474: +/* 8031E474 0031A0D4 2C 00 00 09 */ cmpwi r0, 9 +/* 8031E478 0031A0D8 4C 80 00 20 */ bgelr +/* 8031E47C 0031A0DC 81 2D B0 3C */ lwz r9, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E480 0031A0E0 38 00 00 10 */ li r0, 0x10 +/* 8031E484 0031A0E4 38 C0 00 00 */ li r6, 0 +/* 8031E488 0031A0E8 7D 27 4B 78 */ mr r7, r9 +/* 8031E48C 0031A0EC 7C 09 03 A6 */ mtctr r0 +lbl_8031E490: +/* 8031E490 0031A0F0 80 07 00 14 */ lwz r0, 0x14(r7) +/* 8031E494 0031A0F4 7C 03 00 40 */ cmplw r3, r0 +/* 8031E498 0031A0F8 40 82 00 14 */ bne lbl_8031E4AC +/* 8031E49C 0031A0FC 54 C0 18 38 */ slwi r0, r6, 3 +/* 8031E4A0 0031A100 7C 69 02 14 */ add r3, r9, r0 +/* 8031E4A4 0031A104 80 63 00 18 */ lwz r3, 0x18(r3) +/* 8031E4A8 0031A108 48 00 00 14 */ b lbl_8031E4BC +lbl_8031E4AC: +/* 8031E4AC 0031A10C 38 E7 00 08 */ addi r7, r7, 8 +/* 8031E4B0 0031A110 38 C6 00 01 */ addi r6, r6, 1 +/* 8031E4B4 0031A114 42 00 FF DC */ bdnz lbl_8031E490 +/* 8031E4B8 0031A118 38 60 FF FF */ li r3, -1 +lbl_8031E4BC: +/* 8031E4BC 0031A11C 81 88 02 00 */ lwz r12, 0x200(r8) +/* 8031E4C0 0031A120 7D 89 03 A6 */ mtctr r12 +/* 8031E4C4 0031A124 4E 80 04 20 */ bctr +lbl_8031E4C8: +/* 8031E4C8 0031A128 38 C0 00 00 */ li r6, 0 +/* 8031E4CC 0031A12C 48 00 00 44 */ b lbl_8031E510 +lbl_8031E4D0: +/* 8031E4D0 0031A130 80 0D B0 38 */ lwz r0, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E4D4 0031A134 7C 60 32 14 */ add r3, r0, r6 +/* 8031E4D8 0031A138 90 A3 01 7C */ stw r5, 0x17c(r3) +/* 8031E4DC 0031A13C 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E4E0 0031A140 80 03 01 70 */ lwz r0, 0x170(r3) +/* 8031E4E4 0031A144 7C 05 00 40 */ cmplw r5, r0 +/* 8031E4E8 0031A148 40 82 00 0C */ bne lbl_8031E4F4 +/* 8031E4EC 0031A14C 90 E3 01 74 */ stw r7, 0x174(r3) +/* 8031E4F0 0031A150 48 00 00 14 */ b lbl_8031E504 +lbl_8031E4F4: +/* 8031E4F4 0031A154 80 AD B0 3C */ lwz r5, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E4F8 0031A158 80 65 00 D4 */ lwz r3, 0xd4(r5) +/* 8031E4FC 0031A15C 38 03 00 01 */ addi r0, r3, 1 +/* 8031E500 0031A160 90 05 00 D4 */ stw r0, 0xd4(r5) +lbl_8031E504: +/* 8031E504 0031A164 38 C6 00 08 */ addi r6, r6, 8 +/* 8031E508 0031A168 38 84 00 04 */ addi r4, r4, 4 +/* 8031E50C 0031A16C 38 E7 00 01 */ addi r7, r7, 1 +lbl_8031E510: +/* 8031E510 0031A170 80 A4 00 04 */ lwz r5, 4(r4) +/* 8031E514 0031A174 2C 05 00 00 */ cmpwi r5, 0 +/* 8031E518 0031A178 40 82 FF B8 */ bne lbl_8031E4D0 +/* 8031E51C 0031A17C 4E 80 00 20 */ blr +lbl_8031E520: +/* 8031E520 0031A180 80 CD B0 3C */ lwz r6, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E524 0031A184 38 00 00 10 */ li r0, 0x10 +/* 8031E528 0031A188 38 80 00 00 */ li r4, 0 +/* 8031E52C 0031A18C 7C C5 33 78 */ mr r5, r6 +/* 8031E530 0031A190 7C 09 03 A6 */ mtctr r0 +lbl_8031E534: +/* 8031E534 0031A194 80 05 00 14 */ lwz r0, 0x14(r5) +/* 8031E538 0031A198 7C 03 00 40 */ cmplw r3, r0 +/* 8031E53C 0031A19C 40 82 00 14 */ bne lbl_8031E550 +/* 8031E540 0031A1A0 54 80 18 38 */ slwi r0, r4, 3 +/* 8031E544 0031A1A4 7C 66 02 14 */ add r3, r6, r0 +/* 8031E548 0031A1A8 80 A3 00 18 */ lwz r5, 0x18(r3) +/* 8031E54C 0031A1AC 48 00 00 14 */ b lbl_8031E560 +lbl_8031E550: +/* 8031E550 0031A1B0 38 A5 00 08 */ addi r5, r5, 8 +/* 8031E554 0031A1B4 38 84 00 01 */ addi r4, r4, 1 +/* 8031E558 0031A1B8 42 00 FF DC */ bdnz lbl_8031E534 +/* 8031E55C 0031A1BC 38 A0 FF FF */ li r5, -1 +lbl_8031E560: +/* 8031E560 0031A1C0 54 A0 18 38 */ slwi r0, r5, 3 +/* 8031E564 0031A1C4 3C 80 80 44 */ lis r4, lbl_80446C40@ha +/* 8031E568 0031A1C8 7C 68 02 14 */ add r3, r8, r0 +/* 8031E56C 0031A1CC 38 00 00 01 */ li r0, 1 +/* 8031E570 0031A1D0 38 84 6C 40 */ addi r4, r4, lbl_80446C40@l +/* 8031E574 0031A1D4 90 03 01 80 */ stw r0, 0x180(r3) +/* 8031E578 0031A1D8 38 60 00 01 */ li r3, 1 +/* 8031E57C 0031A1DC 4C C6 31 82 */ crclr 6 +/* 8031E580 0031A1E0 4B FF E5 B4 */ b func_8031CB34 +lbl_8031E584: +/* 8031E584 0031A1E4 38 00 00 08 */ li r0, 8 +/* 8031E588 0031A1E8 38 60 00 00 */ li r3, 0 +/* 8031E58C 0031A1EC 90 08 00 00 */ stw r0, 0(r8) +/* 8031E590 0031A1F0 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E594 0031A1F4 81 84 01 FC */ lwz r12, 0x1fc(r4) +/* 8031E598 0031A1F8 7D 89 03 A6 */ mtctr r12 +/* 8031E59C 0031A1FC 4E 80 04 20 */ bctr +/* 8031E5A0 0031A200 4E 80 00 20 */ blr +lbl_8031E5A4: +/* 8031E5A4 0031A204 3C 60 80 44 */ lis r3, lbl_80446C50@ha +/* 8031E5A8 0031A208 7C 85 23 78 */ mr r5, r4 +/* 8031E5AC 0031A20C 38 83 6C 50 */ addi r4, r3, lbl_80446C50@l +/* 8031E5B0 0031A210 38 60 00 01 */ li r3, 1 +/* 8031E5B4 0031A214 4C C6 31 82 */ crclr 6 +/* 8031E5B8 0031A218 4B FF E5 7C */ b func_8031CB34 +lbl_8031E5BC: +/* 8031E5BC 0031A21C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031E5C0 0031A220 7C 08 02 A6 */ mflr r0 +/* 8031E5C4 0031A224 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031E5C8 0031A228 39 61 00 20 */ addi r11, r1, 0x20 +/* 8031E5CC 0031A22C 4B EA 8B 5D */ bl _savegpr_27 +/* 8031E5D0 0031A230 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E5D4 0031A234 7C 9C 23 78 */ mr r28, r4 +/* 8031E5D8 0031A238 7C BD 2B 78 */ mr r29, r5 +/* 8031E5DC 0031A23C 7C DE 33 78 */ mr r30, r6 +/* 8031E5E0 0031A240 80 03 00 00 */ lwz r0, 0(r3) +/* 8031E5E4 0031A244 3B E0 00 00 */ li r31, 0 +/* 8031E5E8 0031A248 2C 00 00 03 */ cmpwi r0, 3 +/* 8031E5EC 0031A24C 41 82 02 08 */ beq lbl_8031E7F4 +/* 8031E5F0 0031A250 40 80 00 14 */ bge lbl_8031E604 +/* 8031E5F4 0031A254 2C 00 00 01 */ cmpwi r0, 1 +/* 8031E5F8 0031A258 41 82 00 20 */ beq lbl_8031E618 +/* 8031E5FC 0031A25C 40 80 00 24 */ bge lbl_8031E620 +/* 8031E600 0031A260 48 00 02 A4 */ b lbl_8031E8A4 +lbl_8031E604: +/* 8031E604 0031A264 2C 00 00 08 */ cmpwi r0, 8 +/* 8031E608 0031A268 40 80 02 9C */ bge lbl_8031E8A4 +/* 8031E60C 0031A26C 2C 00 00 06 */ cmpwi r0, 6 +/* 8031E610 0031A270 40 80 01 E4 */ bge lbl_8031E7F4 +/* 8031E614 0031A274 48 00 02 90 */ b lbl_8031E8A4 +lbl_8031E618: +/* 8031E618 0031A278 38 00 00 02 */ li r0, 2 +/* 8031E61C 0031A27C 90 03 00 00 */ stw r0, 0(r3) +lbl_8031E620: +/* 8031E620 0031A280 80 CD B0 3C */ lwz r6, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E624 0031A284 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E628 0031A288 80 A6 00 D4 */ lwz r5, 0xd4(r6) +/* 8031E62C 0031A28C 80 03 01 78 */ lwz r0, 0x178(r3) +/* 8031E630 0031A290 7C 05 00 00 */ cmpw r5, r0 +/* 8031E634 0031A294 40 80 02 80 */ bge lbl_8031E8B4 +/* 8031E638 0031A298 38 05 00 01 */ addi r0, r5, 1 +/* 8031E63C 0031A29C 38 E0 00 00 */ li r7, 0 +/* 8031E640 0031A2A0 90 06 00 D4 */ stw r0, 0xd4(r6) +/* 8031E644 0031A2A4 81 0D B0 3C */ lwz r8, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E648 0031A2A8 7D 03 43 78 */ mr r3, r8 +/* 8031E64C 0031A2AC 48 00 00 0C */ b lbl_8031E658 +lbl_8031E650: +/* 8031E650 0031A2B0 38 63 00 08 */ addi r3, r3, 8 +/* 8031E654 0031A2B4 38 E7 00 01 */ addi r7, r7, 1 +lbl_8031E658: +/* 8031E658 0031A2B8 80 03 00 14 */ lwz r0, 0x14(r3) +/* 8031E65C 0031A2BC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031E660 0031A2C0 41 82 00 0C */ beq lbl_8031E66C +/* 8031E664 0031A2C4 2C 07 00 10 */ cmpwi r7, 0x10 +/* 8031E668 0031A2C8 41 80 FF E8 */ blt lbl_8031E650 +lbl_8031E66C: +/* 8031E66C 0031A2CC 2C 07 00 10 */ cmpwi r7, 0x10 +/* 8031E670 0031A2D0 40 80 00 30 */ bge lbl_8031E6A0 +/* 8031E674 0031A2D4 54 A0 10 3A */ slwi r0, r5, 2 +/* 8031E678 0031A2D8 54 E6 18 38 */ slwi r6, r7, 3 +/* 8031E67C 0031A2DC 7C 68 02 14 */ add r3, r8, r0 +/* 8031E680 0031A2E0 90 E3 00 94 */ stw r7, 0x94(r3) +/* 8031E684 0031A2E4 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E688 0031A2E8 7C 60 32 14 */ add r3, r0, r6 +/* 8031E68C 0031A2EC 90 A3 00 18 */ stw r5, 0x18(r3) +/* 8031E690 0031A2F0 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E694 0031A2F4 7C 60 32 14 */ add r3, r0, r6 +/* 8031E698 0031A2F8 38 63 00 14 */ addi r3, r3, 0x14 +/* 8031E69C 0031A2FC 48 00 00 08 */ b lbl_8031E6A4 +lbl_8031E6A0: +/* 8031E6A0 0031A300 38 60 00 00 */ li r3, 0 +lbl_8031E6A4: +/* 8031E6A4 0031A304 90 83 00 00 */ stw r4, 0(r3) +/* 8031E6A8 0031A308 7F 83 E3 78 */ mr r3, r28 +/* 8031E6AC 0031A30C 80 8D B0 3C */ lwz r4, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E6B0 0031A310 38 84 00 04 */ addi r4, r4, 4 +/* 8031E6B4 0031A314 48 02 B3 D9 */ bl gt2Accept +/* 8031E6B8 0031A318 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E6BC 0031A31C 3B E0 00 01 */ li r31, 1 +/* 8031E6C0 0031A320 80 6D B0 3C */ lwz r3, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E6C4 0031A324 80 04 01 78 */ lwz r0, 0x178(r4) +/* 8031E6C8 0031A328 80 63 00 D4 */ lwz r3, 0xd4(r3) +/* 8031E6CC 0031A32C 7C 03 00 00 */ cmpw r3, r0 +/* 8031E6D0 0031A330 40 82 01 E4 */ bne lbl_8031E8B4 +/* 8031E6D4 0031A334 38 60 00 04 */ li r3, 4 +/* 8031E6D8 0031A338 38 00 00 00 */ li r0, 0 +/* 8031E6DC 0031A33C 90 64 00 00 */ stw r3, 0(r4) +/* 8031E6E0 0031A340 38 80 00 00 */ li r4, 0 +/* 8031E6E4 0031A344 38 A0 00 40 */ li r5, 0x40 +/* 8031E6E8 0031A348 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E6EC 0031A34C 90 03 01 74 */ stw r0, 0x174(r3) +/* 8031E6F0 0031A350 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E6F4 0031A354 90 03 01 2C */ stw r0, 0x12c(r3) +/* 8031E6F8 0031A358 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E6FC 0031A35C 38 63 01 30 */ addi r3, r3, 0x130 +/* 8031E700 0031A360 4B CE 5A 05 */ bl memset +/* 8031E704 0031A364 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E708 0031A368 3B 60 00 01 */ li r27, 1 +/* 8031E70C 0031A36C 3B 80 00 04 */ li r28, 4 +/* 8031E710 0031A370 80 03 01 70 */ lwz r0, 0x170(r3) +/* 8031E714 0031A374 90 03 01 30 */ stw r0, 0x130(r3) +/* 8031E718 0031A378 48 00 00 44 */ b lbl_8031E75C +lbl_8031E71C: +/* 8031E71C 0031A37C 7C 64 E2 14 */ add r3, r4, r28 +/* 8031E720 0031A380 80 03 00 94 */ lwz r0, 0x94(r3) +/* 8031E724 0031A384 2C 00 FF FF */ cmpwi r0, -1 +/* 8031E728 0031A388 40 82 00 0C */ bne lbl_8031E734 +/* 8031E72C 0031A38C 38 60 00 00 */ li r3, 0 +/* 8031E730 0031A390 48 00 00 10 */ b lbl_8031E740 +lbl_8031E734: +/* 8031E734 0031A394 54 00 18 38 */ slwi r0, r0, 3 +/* 8031E738 0031A398 7C 64 02 14 */ add r3, r4, r0 +/* 8031E73C 0031A39C 38 63 00 14 */ addi r3, r3, 0x14 +lbl_8031E740: +/* 8031E740 0031A3A0 80 63 00 00 */ lwz r3, 0(r3) +/* 8031E744 0031A3A4 48 02 B6 75 */ bl func_80349DB8 +/* 8031E748 0031A3A8 80 0D B0 38 */ lwz r0, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E74C 0031A3AC 3B 7B 00 01 */ addi r27, r27, 1 +/* 8031E750 0031A3B0 7C 80 E2 14 */ add r4, r0, r28 +/* 8031E754 0031A3B4 3B 9C 00 04 */ addi r28, r28, 4 +/* 8031E758 0031A3B8 90 64 01 30 */ stw r3, 0x130(r4) +lbl_8031E75C: +/* 8031E75C 0031A3BC 80 8D B0 3C */ lwz r4, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E760 0031A3C0 80 04 00 D4 */ lwz r0, 0xd4(r4) +/* 8031E764 0031A3C4 7C 1B 00 00 */ cmpw r27, r0 +/* 8031E768 0031A3C8 41 80 FF B4 */ blt lbl_8031E71C +/* 8031E76C 0031A3CC 3B 60 00 01 */ li r27, 1 +/* 8031E770 0031A3D0 3B 80 00 04 */ li r28, 4 +/* 8031E774 0031A3D4 48 00 00 6C */ b lbl_8031E7E0 +lbl_8031E778: +/* 8031E778 0031A3D8 7C 65 E2 14 */ add r3, r5, r28 +/* 8031E77C 0031A3DC 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E780 0031A3E0 80 03 00 94 */ lwz r0, 0x94(r3) +/* 8031E784 0031A3E4 38 84 01 2C */ addi r4, r4, 0x12c +/* 8031E788 0031A3E8 2C 00 FF FF */ cmpwi r0, -1 +/* 8031E78C 0031A3EC 40 82 00 0C */ bne lbl_8031E798 +/* 8031E790 0031A3F0 38 60 00 00 */ li r3, 0 +/* 8031E794 0031A3F4 48 00 00 10 */ b lbl_8031E7A4 +lbl_8031E798: +/* 8031E798 0031A3F8 54 00 18 38 */ slwi r0, r0, 3 +/* 8031E79C 0031A3FC 7C 65 02 14 */ add r3, r5, r0 +/* 8031E7A0 0031A400 38 63 00 14 */ addi r3, r3, 0x14 +lbl_8031E7A4: +/* 8031E7A4 0031A404 80 63 00 00 */ lwz r3, 0(r3) +/* 8031E7A8 0031A408 38 A0 00 44 */ li r5, 0x44 +/* 8031E7AC 0031A40C 38 C0 00 01 */ li r6, 1 +/* 8031E7B0 0031A410 48 02 B4 8D */ bl gt2Send +/* 8031E7B4 0031A414 80 6D B0 38 */ lwz r3, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E7B8 0031A418 80 03 00 00 */ lwz r0, 0(r3) +/* 8031E7BC 0031A41C 2C 00 00 08 */ cmpwi r0, 8 +/* 8031E7C0 0031A420 40 82 00 18 */ bne lbl_8031E7D8 +/* 8031E7C4 0031A424 81 83 02 04 */ lwz r12, 0x204(r3) +/* 8031E7C8 0031A428 7F 64 DB 78 */ mr r4, r27 +/* 8031E7CC 0031A42C 38 60 00 44 */ li r3, 0x44 +/* 8031E7D0 0031A430 7D 89 03 A6 */ mtctr r12 +/* 8031E7D4 0031A434 4E 80 04 21 */ bctrl +lbl_8031E7D8: +/* 8031E7D8 0031A438 3B 9C 00 04 */ addi r28, r28, 4 +/* 8031E7DC 0031A43C 3B 7B 00 01 */ addi r27, r27, 1 +lbl_8031E7E0: +/* 8031E7E0 0031A440 80 AD B0 3C */ lwz r5, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E7E4 0031A444 80 05 00 D4 */ lwz r0, 0xd4(r5) +/* 8031E7E8 0031A448 7C 1B 00 00 */ cmpw r27, r0 +/* 8031E7EC 0031A44C 41 80 FF 8C */ blt lbl_8031E778 +/* 8031E7F0 0031A450 48 00 00 C4 */ b lbl_8031E8B4 +lbl_8031E7F4: +/* 8031E7F4 0031A454 7F 83 E3 78 */ mr r3, r28 +/* 8031E7F8 0031A458 3B 60 00 00 */ li r27, 0 +/* 8031E7FC 0031A45C 48 02 B5 BD */ bl func_80349DB8 +/* 8031E800 0031A460 80 8D B0 38 */ lwz r4, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E804 0031A464 48 00 00 14 */ b lbl_8031E818 +lbl_8031E808: +/* 8031E808 0031A468 7C 03 00 40 */ cmplw r3, r0 +/* 8031E80C 0031A46C 41 82 00 18 */ beq lbl_8031E824 +/* 8031E810 0031A470 38 84 00 08 */ addi r4, r4, 8 +/* 8031E814 0031A474 3B 7B 00 01 */ addi r27, r27, 1 +lbl_8031E818: +/* 8031E818 0031A478 80 04 01 7C */ lwz r0, 0x17c(r4) +/* 8031E81C 0031A47C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031E820 0031A480 40 82 FF E8 */ bne lbl_8031E808 +lbl_8031E824: +/* 8031E824 0031A484 80 CD B0 3C */ lwz r6, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E828 0031A488 38 80 00 00 */ li r4, 0 +/* 8031E82C 0031A48C 7C C3 33 78 */ mr r3, r6 +/* 8031E830 0031A490 48 00 00 0C */ b lbl_8031E83C +lbl_8031E834: +/* 8031E834 0031A494 38 63 00 08 */ addi r3, r3, 8 +/* 8031E838 0031A498 38 84 00 01 */ addi r4, r4, 1 +lbl_8031E83C: +/* 8031E83C 0031A49C 80 03 00 14 */ lwz r0, 0x14(r3) +/* 8031E840 0031A4A0 2C 00 00 00 */ cmpwi r0, 0 +/* 8031E844 0031A4A4 41 82 00 0C */ beq lbl_8031E850 +/* 8031E848 0031A4A8 2C 04 00 10 */ cmpwi r4, 0x10 +/* 8031E84C 0031A4AC 41 80 FF E8 */ blt lbl_8031E834 +lbl_8031E850: +/* 8031E850 0031A4B0 2C 04 00 10 */ cmpwi r4, 0x10 +/* 8031E854 0031A4B4 40 80 00 30 */ bge lbl_8031E884 +/* 8031E858 0031A4B8 57 60 10 3A */ slwi r0, r27, 2 +/* 8031E85C 0031A4BC 54 85 18 38 */ slwi r5, r4, 3 +/* 8031E860 0031A4C0 7C 66 02 14 */ add r3, r6, r0 +/* 8031E864 0031A4C4 90 83 00 94 */ stw r4, 0x94(r3) +/* 8031E868 0031A4C8 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E86C 0031A4CC 7C 60 2A 14 */ add r3, r0, r5 +/* 8031E870 0031A4D0 93 63 00 18 */ stw r27, 0x18(r3) +/* 8031E874 0031A4D4 80 0D B0 3C */ lwz r0, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E878 0031A4D8 7C 60 2A 14 */ add r3, r0, r5 +/* 8031E87C 0031A4DC 38 63 00 14 */ addi r3, r3, 0x14 +/* 8031E880 0031A4E0 48 00 00 08 */ b lbl_8031E888 +lbl_8031E884: +/* 8031E884 0031A4E4 38 60 00 00 */ li r3, 0 +lbl_8031E888: +/* 8031E888 0031A4E8 93 83 00 00 */ stw r28, 0(r3) +/* 8031E88C 0031A4EC 7F 83 E3 78 */ mr r3, r28 +/* 8031E890 0031A4F0 80 8D B0 3C */ lwz r4, lbl_806402FC-_SDA_BASE_(r13) +/* 8031E894 0031A4F4 38 84 00 04 */ addi r4, r4, 4 +/* 8031E898 0031A4F8 48 02 B1 F5 */ bl gt2Accept +/* 8031E89C 0031A4FC 3B E0 00 01 */ li r31, 1 +/* 8031E8A0 0031A500 48 00 00 14 */ b lbl_8031E8B4 +lbl_8031E8A4: +/* 8031E8A4 0031A504 7F 83 E3 78 */ mr r3, r28 +/* 8031E8A8 0031A508 38 80 00 00 */ li r4, 0 +/* 8031E8AC 0031A50C 38 A0 00 00 */ li r5, 0 +/* 8031E8B0 0031A510 48 02 B1 E1 */ bl gt2Reject +lbl_8031E8B4: +/* 8031E8B4 0031A514 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031E8B8 0031A518 3B 8D 8D 60 */ addi r28, r13, lbl_8063E020-_SDA_BASE_ +/* 8031E8BC 0031A51C 41 82 00 08 */ beq lbl_8031E8C4 +/* 8031E8C0 0031A520 3B 8D 8D 58 */ addi r28, r13, lbl_8063E018-_SDA_BASE_ +lbl_8031E8C4: +/* 8031E8C4 0031A524 7F A3 EB 78 */ mr r3, r29 +/* 8031E8C8 0031A528 7F C4 F3 78 */ mr r4, r30 +/* 8031E8CC 0031A52C 38 A0 00 00 */ li r5, 0 +/* 8031E8D0 0031A530 48 02 F2 7D */ bl gt2AddressToString +/* 8031E8D4 0031A534 80 ED B0 38 */ lwz r7, lbl_806402F8-_SDA_BASE_(r13) +/* 8031E8D8 0031A538 3C 80 80 44 */ lis r4, lbl_80446C60@ha +/* 8031E8DC 0031A53C 7C 66 1B 78 */ mr r6, r3 +/* 8031E8E0 0031A540 7F 85 E3 78 */ mr r5, r28 +/* 8031E8E4 0031A544 80 E7 00 00 */ lwz r7, 0(r7) +/* 8031E8E8 0031A548 38 84 6C 60 */ addi r4, r4, lbl_80446C60@l +/* 8031E8EC 0031A54C 38 60 00 01 */ li r3, 1 +/* 8031E8F0 0031A550 4C C6 31 82 */ crclr 6 +/* 8031E8F4 0031A554 4B FF E2 41 */ bl func_8031CB34 +/* 8031E8F8 0031A558 39 61 00 20 */ addi r11, r1, 0x20 +/* 8031E8FC 0031A55C 4B EA 88 79 */ bl _restgpr_27 +/* 8031E900 0031A560 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031E904 0031A564 7C 08 03 A6 */ mtlr r0 +/* 8031E908 0031A568 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031E90C 0031A56C 4E 80 00 20 */ blr + +.global func_8031E910 +func_8031E910: +/* 8031E910 0031A570 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8031E914 0031A574 7C 08 02 A6 */ mflr r0 +/* 8031E918 0031A578 90 01 00 34 */ stw r0, 0x34(r1) +/* 8031E91C 0031A57C 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031E920 0031A580 4B EA 88 01 */ bl _savegpr_25 +/* 8031E924 0031A584 7C 04 28 00 */ cmpw r4, r5 +/* 8031E928 0031A588 7C 79 1B 78 */ mr r25, r3 +/* 8031E92C 0031A58C 7C BA 2B 78 */ mr r26, r5 +/* 8031E930 0031A590 40 80 04 A4 */ bge lbl_8031EDD4 +/* 8031E934 0031A594 7C E4 2A 14 */ add r7, r4, r5 +/* 8031E938 0031A598 54 80 10 3A */ slwi r0, r4, 2 +/* 8031E93C 0031A59C 54 E6 0F FE */ srwi r6, r7, 0x1f +/* 8031E940 0031A5A0 39 84 00 01 */ addi r12, r4, 1 +/* 8031E944 0031A5A4 7C E6 3A 14 */ add r7, r6, r7 +/* 8031E948 0031A5A8 7D 63 00 2E */ lwzx r11, r3, r0 +/* 8031E94C 0031A5AC 54 EA 08 3A */ rlwinm r10, r7, 1, 0, 0x1d +/* 8031E950 0031A5B0 38 C5 00 01 */ addi r6, r5, 1 +/* 8031E954 0031A5B4 7D 23 50 2E */ lwzx r9, r3, r10 +/* 8031E958 0031A5B8 55 88 10 3A */ slwi r8, r12, 2 +/* 8031E95C 0031A5BC 7C CC 30 50 */ subf r6, r12, r6 +/* 8031E960 0031A5C0 7C 9B 23 78 */ mr r27, r4 +/* 8031E964 0031A5C4 7D 23 01 2E */ stwx r9, r3, r0 +/* 8031E968 0031A5C8 7C 07 03 78 */ mr r7, r0 +/* 8031E96C 0031A5CC 7D 03 42 14 */ add r8, r3, r8 +/* 8031E970 0031A5D0 7D 63 51 2E */ stwx r11, r3, r10 +/* 8031E974 0031A5D4 7C C9 03 A6 */ mtctr r6 +/* 8031E978 0031A5D8 7C 0C 28 00 */ cmpw r12, r5 +/* 8031E97C 0031A5DC 41 81 00 30 */ bgt lbl_8031E9AC +lbl_8031E980: +/* 8031E980 0031A5E0 80 C8 00 00 */ lwz r6, 0(r8) +/* 8031E984 0031A5E4 7C A3 00 2E */ lwzx r5, r3, r0 +/* 8031E988 0031A5E8 7C 06 28 40 */ cmplw r6, r5 +/* 8031E98C 0031A5EC 40 80 00 18 */ bge lbl_8031E9A4 +/* 8031E990 0031A5F0 38 E7 00 04 */ addi r7, r7, 4 +/* 8031E994 0031A5F4 3B 7B 00 01 */ addi r27, r27, 1 +/* 8031E998 0031A5F8 7C A3 38 2E */ lwzx r5, r3, r7 +/* 8031E99C 0031A5FC 90 A8 00 00 */ stw r5, 0(r8) +/* 8031E9A0 0031A600 7C C3 39 2E */ stwx r6, r3, r7 +lbl_8031E9A4: +/* 8031E9A4 0031A604 39 08 00 04 */ addi r8, r8, 4 +/* 8031E9A8 0031A608 42 00 FF D8 */ bdnz lbl_8031E980 +lbl_8031E9AC: +/* 8031E9AC 0031A60C 57 7C 10 3A */ slwi r28, r27, 2 +/* 8031E9B0 0031A610 39 3B FF FF */ addi r9, r27, -1 +/* 8031E9B4 0031A614 7C C3 00 2E */ lwzx r6, r3, r0 +/* 8031E9B8 0031A618 7C 04 48 00 */ cmpw r4, r9 +/* 8031E9BC 0031A61C 7C A3 E0 2E */ lwzx r5, r3, r28 +/* 8031E9C0 0031A620 7C A3 01 2E */ stwx r5, r3, r0 +/* 8031E9C4 0031A624 7C C3 E1 2E */ stwx r6, r3, r28 +/* 8031E9C8 0031A628 40 80 02 00 */ bge lbl_8031EBC8 +/* 8031E9CC 0031A62C 7C A4 DA 14 */ add r5, r4, r27 +/* 8031E9D0 0031A630 39 44 00 01 */ addi r10, r4, 1 +/* 8031E9D4 0031A634 39 05 FF FF */ addi r8, r5, -1 +/* 8031E9D8 0031A638 7D 63 00 2E */ lwzx r11, r3, r0 +/* 8031E9DC 0031A63C 55 07 0F FE */ srwi r7, r8, 0x1f +/* 8031E9E0 0031A640 38 A9 00 01 */ addi r5, r9, 1 +/* 8031E9E4 0031A644 7C E7 42 14 */ add r7, r7, r8 +/* 8031E9E8 0031A648 55 46 10 3A */ slwi r6, r10, 2 +/* 8031E9EC 0031A64C 54 E8 08 3A */ rlwinm r8, r7, 1, 0, 0x1d +/* 8031E9F0 0031A650 7C AA 28 50 */ subf r5, r10, r5 +/* 8031E9F4 0031A654 7C E3 40 2E */ lwzx r7, r3, r8 +/* 8031E9F8 0031A658 7D 83 32 14 */ add r12, r3, r6 +/* 8031E9FC 0031A65C 7C 9F 23 78 */ mr r31, r4 +/* 8031EA00 0031A660 54 86 10 3A */ slwi r6, r4, 2 +/* 8031EA04 0031A664 7C E3 01 2E */ stwx r7, r3, r0 +/* 8031EA08 0031A668 7D 63 41 2E */ stwx r11, r3, r8 +/* 8031EA0C 0031A66C 7C A9 03 A6 */ mtctr r5 +/* 8031EA10 0031A670 7C 0A 48 00 */ cmpw r10, r9 +/* 8031EA14 0031A674 41 81 00 30 */ bgt lbl_8031EA44 +lbl_8031EA18: +/* 8031EA18 0031A678 80 EC 00 00 */ lwz r7, 0(r12) +/* 8031EA1C 0031A67C 7C A3 00 2E */ lwzx r5, r3, r0 +/* 8031EA20 0031A680 7C 07 28 40 */ cmplw r7, r5 +/* 8031EA24 0031A684 40 80 00 18 */ bge lbl_8031EA3C +/* 8031EA28 0031A688 38 C6 00 04 */ addi r6, r6, 4 +/* 8031EA2C 0031A68C 3B FF 00 01 */ addi r31, r31, 1 +/* 8031EA30 0031A690 7C A3 30 2E */ lwzx r5, r3, r6 +/* 8031EA34 0031A694 90 AC 00 00 */ stw r5, 0(r12) +/* 8031EA38 0031A698 7C E3 31 2E */ stwx r7, r3, r6 +lbl_8031EA3C: +/* 8031EA3C 0031A69C 39 8C 00 04 */ addi r12, r12, 4 +/* 8031EA40 0031A6A0 42 00 FF D8 */ bdnz lbl_8031EA18 +lbl_8031EA44: +/* 8031EA44 0031A6A4 57 FD 10 3A */ slwi r29, r31, 2 +/* 8031EA48 0031A6A8 39 3F FF FF */ addi r9, r31, -1 +/* 8031EA4C 0031A6AC 7C C3 00 2E */ lwzx r6, r3, r0 +/* 8031EA50 0031A6B0 7C 04 48 00 */ cmpw r4, r9 +/* 8031EA54 0031A6B4 7C A3 E8 2E */ lwzx r5, r3, r29 +/* 8031EA58 0031A6B8 7C A3 01 2E */ stwx r5, r3, r0 +/* 8031EA5C 0031A6BC 7C C3 E9 2E */ stwx r6, r3, r29 +/* 8031EA60 0031A6C0 40 80 00 AC */ bge lbl_8031EB0C +/* 8031EA64 0031A6C4 7C A4 FA 14 */ add r5, r4, r31 +/* 8031EA68 0031A6C8 39 44 00 01 */ addi r10, r4, 1 +/* 8031EA6C 0031A6CC 39 05 FF FF */ addi r8, r5, -1 +/* 8031EA70 0031A6D0 7D 63 00 2E */ lwzx r11, r3, r0 +/* 8031EA74 0031A6D4 55 07 0F FE */ srwi r7, r8, 0x1f +/* 8031EA78 0031A6D8 38 A9 00 01 */ addi r5, r9, 1 +/* 8031EA7C 0031A6DC 7C E7 42 14 */ add r7, r7, r8 +/* 8031EA80 0031A6E0 55 46 10 3A */ slwi r6, r10, 2 +/* 8031EA84 0031A6E4 54 E8 08 3A */ rlwinm r8, r7, 1, 0, 0x1d +/* 8031EA88 0031A6E8 7C AA 28 50 */ subf r5, r10, r5 +/* 8031EA8C 0031A6EC 7C E3 40 2E */ lwzx r7, r3, r8 +/* 8031EA90 0031A6F0 7D 83 32 14 */ add r12, r3, r6 +/* 8031EA94 0031A6F4 7C 9E 23 78 */ mr r30, r4 +/* 8031EA98 0031A6F8 54 86 10 3A */ slwi r6, r4, 2 +/* 8031EA9C 0031A6FC 7C E3 01 2E */ stwx r7, r3, r0 +/* 8031EAA0 0031A700 7D 63 41 2E */ stwx r11, r3, r8 +/* 8031EAA4 0031A704 7C A9 03 A6 */ mtctr r5 +/* 8031EAA8 0031A708 7C 0A 48 00 */ cmpw r10, r9 +/* 8031EAAC 0031A70C 41 81 00 30 */ bgt lbl_8031EADC +lbl_8031EAB0: +/* 8031EAB0 0031A710 80 EC 00 00 */ lwz r7, 0(r12) +/* 8031EAB4 0031A714 7C A3 00 2E */ lwzx r5, r3, r0 +/* 8031EAB8 0031A718 7C 07 28 40 */ cmplw r7, r5 +/* 8031EABC 0031A71C 40 80 00 18 */ bge lbl_8031EAD4 +/* 8031EAC0 0031A720 38 C6 00 04 */ addi r6, r6, 4 +/* 8031EAC4 0031A724 3B DE 00 01 */ addi r30, r30, 1 +/* 8031EAC8 0031A728 7C A3 30 2E */ lwzx r5, r3, r6 +/* 8031EACC 0031A72C 90 AC 00 00 */ stw r5, 0(r12) +/* 8031EAD0 0031A730 7C E3 31 2E */ stwx r7, r3, r6 +lbl_8031EAD4: +/* 8031EAD4 0031A734 39 8C 00 04 */ addi r12, r12, 4 +/* 8031EAD8 0031A738 42 00 FF D8 */ bdnz lbl_8031EAB0 +lbl_8031EADC: +/* 8031EADC 0031A73C 57 C7 10 3A */ slwi r7, r30, 2 +/* 8031EAE0 0031A740 7D 03 00 2E */ lwzx r8, r3, r0 +/* 8031EAE4 0031A744 7C C3 38 2E */ lwzx r6, r3, r7 +/* 8031EAE8 0031A748 38 BE FF FF */ addi r5, r30, -1 +/* 8031EAEC 0031A74C 7C C3 01 2E */ stwx r6, r3, r0 +/* 8031EAF0 0031A750 7D 03 39 2E */ stwx r8, r3, r7 +/* 8031EAF4 0031A754 7F 23 CB 78 */ mr r3, r25 +/* 8031EAF8 0031A758 4B FF FE 19 */ bl func_8031E910 +/* 8031EAFC 0031A75C 7F 23 CB 78 */ mr r3, r25 +/* 8031EB00 0031A760 38 9E 00 01 */ addi r4, r30, 1 +/* 8031EB04 0031A764 38 BF FF FF */ addi r5, r31, -1 +/* 8031EB08 0031A768 4B FF FE 09 */ bl func_8031E910 +lbl_8031EB0C: +/* 8031EB0C 0031A76C 3B DF 00 01 */ addi r30, r31, 1 +/* 8031EB10 0031A770 38 FB FF FF */ addi r7, r27, -1 +/* 8031EB14 0031A774 7C 1E 38 00 */ cmpw r30, r7 +/* 8031EB18 0031A778 40 80 00 B0 */ bge lbl_8031EBC8 +/* 8031EB1C 0031A77C 7C 7B FA 14 */ add r3, r27, r31 +/* 8031EB20 0031A780 7C D9 EA 14 */ add r6, r25, r29 +/* 8031EB24 0031A784 54 60 0F FE */ srwi r0, r3, 0x1f +/* 8031EB28 0031A788 81 26 00 04 */ lwz r9, 4(r6) +/* 8031EB2C 0031A78C 7C 60 1A 14 */ add r3, r0, r3 +/* 8031EB30 0031A790 39 1F 00 02 */ addi r8, r31, 2 +/* 8031EB34 0031A794 54 65 08 3A */ rlwinm r5, r3, 1, 0, 0x1d +/* 8031EB38 0031A798 38 07 00 01 */ addi r0, r7, 1 +/* 8031EB3C 0031A79C 7C 99 28 2E */ lwzx r4, r25, r5 +/* 8031EB40 0031A7A0 55 03 10 3A */ slwi r3, r8, 2 +/* 8031EB44 0031A7A4 7D 59 1A 14 */ add r10, r25, r3 +/* 8031EB48 0031A7A8 7C 08 00 50 */ subf r0, r8, r0 +/* 8031EB4C 0031A7AC 90 86 00 04 */ stw r4, 4(r6) +/* 8031EB50 0031A7B0 57 C3 10 3A */ slwi r3, r30, 2 +/* 8031EB54 0031A7B4 7D 39 29 2E */ stwx r9, r25, r5 +/* 8031EB58 0031A7B8 7C 09 03 A6 */ mtctr r0 +/* 8031EB5C 0031A7BC 7C 08 38 00 */ cmpw r8, r7 +/* 8031EB60 0031A7C0 41 81 00 30 */ bgt lbl_8031EB90 +lbl_8031EB64: +/* 8031EB64 0031A7C4 80 8A 00 00 */ lwz r4, 0(r10) +/* 8031EB68 0031A7C8 80 06 00 04 */ lwz r0, 4(r6) +/* 8031EB6C 0031A7CC 7C 04 00 40 */ cmplw r4, r0 +/* 8031EB70 0031A7D0 40 80 00 18 */ bge lbl_8031EB88 +/* 8031EB74 0031A7D4 38 63 00 04 */ addi r3, r3, 4 +/* 8031EB78 0031A7D8 3B DE 00 01 */ addi r30, r30, 1 +/* 8031EB7C 0031A7DC 7C 19 18 2E */ lwzx r0, r25, r3 +/* 8031EB80 0031A7E0 90 0A 00 00 */ stw r0, 0(r10) +/* 8031EB84 0031A7E4 7C 99 19 2E */ stwx r4, r25, r3 +lbl_8031EB88: +/* 8031EB88 0031A7E8 39 4A 00 04 */ addi r10, r10, 4 +/* 8031EB8C 0031A7EC 42 00 FF D8 */ bdnz lbl_8031EB64 +lbl_8031EB90: +/* 8031EB90 0031A7F0 7C F9 EA 14 */ add r7, r25, r29 +/* 8031EB94 0031A7F4 57 C6 10 3A */ slwi r6, r30, 2 +/* 8031EB98 0031A7F8 81 07 00 04 */ lwz r8, 4(r7) +/* 8031EB9C 0031A7FC 7F 23 CB 78 */ mr r3, r25 +/* 8031EBA0 0031A800 7C 19 30 2E */ lwzx r0, r25, r6 +/* 8031EBA4 0031A804 38 9F 00 01 */ addi r4, r31, 1 +/* 8031EBA8 0031A808 38 BE FF FF */ addi r5, r30, -1 +/* 8031EBAC 0031A80C 90 07 00 04 */ stw r0, 4(r7) +/* 8031EBB0 0031A810 7D 19 31 2E */ stwx r8, r25, r6 +/* 8031EBB4 0031A814 4B FF FD 5D */ bl func_8031E910 +/* 8031EBB8 0031A818 7F 23 CB 78 */ mr r3, r25 +/* 8031EBBC 0031A81C 38 9E 00 01 */ addi r4, r30, 1 +/* 8031EBC0 0031A820 38 BB FF FF */ addi r5, r27, -1 +/* 8031EBC4 0031A824 4B FF FD 4D */ bl func_8031E910 +lbl_8031EBC8: +/* 8031EBC8 0031A828 3B FB 00 01 */ addi r31, r27, 1 +/* 8031EBCC 0031A82C 7C 1F D0 00 */ cmpw r31, r26 +/* 8031EBD0 0031A830 40 80 02 04 */ bge lbl_8031EDD4 +/* 8031EBD4 0031A834 7C 7B D2 14 */ add r3, r27, r26 +/* 8031EBD8 0031A838 7C D9 E2 14 */ add r6, r25, r28 +/* 8031EBDC 0031A83C 38 83 00 01 */ addi r4, r3, 1 +/* 8031EBE0 0031A840 81 06 00 04 */ lwz r8, 4(r6) +/* 8031EBE4 0031A844 54 83 0F FE */ srwi r3, r4, 0x1f +/* 8031EBE8 0031A848 38 FB 00 02 */ addi r7, r27, 2 +/* 8031EBEC 0031A84C 7C 83 22 14 */ add r4, r3, r4 +/* 8031EBF0 0031A850 38 1A 00 01 */ addi r0, r26, 1 +/* 8031EBF4 0031A854 54 85 08 3A */ rlwinm r5, r4, 1, 0, 0x1d +/* 8031EBF8 0031A858 54 E3 10 3A */ slwi r3, r7, 2 +/* 8031EBFC 0031A85C 7C 99 28 2E */ lwzx r4, r25, r5 +/* 8031EC00 0031A860 7D 39 1A 14 */ add r9, r25, r3 +/* 8031EC04 0031A864 7C 07 00 50 */ subf r0, r7, r0 +/* 8031EC08 0031A868 57 E3 10 3A */ slwi r3, r31, 2 +/* 8031EC0C 0031A86C 90 86 00 04 */ stw r4, 4(r6) +/* 8031EC10 0031A870 7D 19 29 2E */ stwx r8, r25, r5 +/* 8031EC14 0031A874 7C 09 03 A6 */ mtctr r0 +/* 8031EC18 0031A878 7C 07 D0 00 */ cmpw r7, r26 +/* 8031EC1C 0031A87C 41 81 00 30 */ bgt lbl_8031EC4C +lbl_8031EC20: +/* 8031EC20 0031A880 80 89 00 00 */ lwz r4, 0(r9) +/* 8031EC24 0031A884 80 06 00 04 */ lwz r0, 4(r6) +/* 8031EC28 0031A888 7C 04 00 40 */ cmplw r4, r0 +/* 8031EC2C 0031A88C 40 80 00 18 */ bge lbl_8031EC44 +/* 8031EC30 0031A890 38 63 00 04 */ addi r3, r3, 4 +/* 8031EC34 0031A894 3B FF 00 01 */ addi r31, r31, 1 +/* 8031EC38 0031A898 7C 19 18 2E */ lwzx r0, r25, r3 +/* 8031EC3C 0031A89C 90 09 00 00 */ stw r0, 0(r9) +/* 8031EC40 0031A8A0 7C 99 19 2E */ stwx r4, r25, r3 +lbl_8031EC44: +/* 8031EC44 0031A8A4 39 29 00 04 */ addi r9, r9, 4 +/* 8031EC48 0031A8A8 42 00 FF D8 */ bdnz lbl_8031EC20 +lbl_8031EC4C: +/* 8031EC4C 0031A8AC 7C F9 E2 14 */ add r7, r25, r28 +/* 8031EC50 0031A8B0 57 FC 10 3A */ slwi r28, r31, 2 +/* 8031EC54 0031A8B4 80 67 00 04 */ lwz r3, 4(r7) +/* 8031EC58 0031A8B8 3B DB 00 01 */ addi r30, r27, 1 +/* 8031EC5C 0031A8BC 7C 19 E0 2E */ lwzx r0, r25, r28 +/* 8031EC60 0031A8C0 38 DF FF FF */ addi r6, r31, -1 +/* 8031EC64 0031A8C4 7C 1E 30 00 */ cmpw r30, r6 +/* 8031EC68 0031A8C8 90 07 00 04 */ stw r0, 4(r7) +/* 8031EC6C 0031A8CC 7C 79 E1 2E */ stwx r3, r25, r28 +/* 8031EC70 0031A8D0 40 80 00 A8 */ bge lbl_8031ED18 +/* 8031EC74 0031A8D4 7C 9F DA 14 */ add r4, r31, r27 +/* 8031EC78 0031A8D8 81 27 00 04 */ lwz r9, 4(r7) +/* 8031EC7C 0031A8DC 54 83 0F FE */ srwi r3, r4, 0x1f +/* 8031EC80 0031A8E0 39 1B 00 02 */ addi r8, r27, 2 +/* 8031EC84 0031A8E4 7C 83 22 14 */ add r4, r3, r4 +/* 8031EC88 0031A8E8 38 06 00 01 */ addi r0, r6, 1 +/* 8031EC8C 0031A8EC 54 85 08 3A */ rlwinm r5, r4, 1, 0, 0x1d +/* 8031EC90 0031A8F0 55 03 10 3A */ slwi r3, r8, 2 +/* 8031EC94 0031A8F4 7C 99 28 2E */ lwzx r4, r25, r5 +/* 8031EC98 0031A8F8 7C 08 00 50 */ subf r0, r8, r0 +/* 8031EC9C 0031A8FC 90 87 00 04 */ stw r4, 4(r7) +/* 8031ECA0 0031A900 7C 99 1A 14 */ add r4, r25, r3 +/* 8031ECA4 0031A904 57 C3 10 3A */ slwi r3, r30, 2 +/* 8031ECA8 0031A908 7D 39 29 2E */ stwx r9, r25, r5 +/* 8031ECAC 0031A90C 7C 09 03 A6 */ mtctr r0 +/* 8031ECB0 0031A910 7C 08 30 00 */ cmpw r8, r6 +/* 8031ECB4 0031A914 41 81 00 30 */ bgt lbl_8031ECE4 +lbl_8031ECB8: +/* 8031ECB8 0031A918 80 A4 00 00 */ lwz r5, 0(r4) +/* 8031ECBC 0031A91C 80 07 00 04 */ lwz r0, 4(r7) +/* 8031ECC0 0031A920 7C 05 00 40 */ cmplw r5, r0 +/* 8031ECC4 0031A924 40 80 00 18 */ bge lbl_8031ECDC +/* 8031ECC8 0031A928 38 63 00 04 */ addi r3, r3, 4 +/* 8031ECCC 0031A92C 3B DE 00 01 */ addi r30, r30, 1 +/* 8031ECD0 0031A930 7C 19 18 2E */ lwzx r0, r25, r3 +/* 8031ECD4 0031A934 90 04 00 00 */ stw r0, 0(r4) +/* 8031ECD8 0031A938 7C B9 19 2E */ stwx r5, r25, r3 +lbl_8031ECDC: +/* 8031ECDC 0031A93C 38 84 00 04 */ addi r4, r4, 4 +/* 8031ECE0 0031A940 42 00 FF D8 */ bdnz lbl_8031ECB8 +lbl_8031ECE4: +/* 8031ECE4 0031A944 57 C6 10 3A */ slwi r6, r30, 2 +/* 8031ECE8 0031A948 81 07 00 04 */ lwz r8, 4(r7) +/* 8031ECEC 0031A94C 7C 19 30 2E */ lwzx r0, r25, r6 +/* 8031ECF0 0031A950 7F 23 CB 78 */ mr r3, r25 +/* 8031ECF4 0031A954 38 9B 00 01 */ addi r4, r27, 1 +/* 8031ECF8 0031A958 38 BE FF FF */ addi r5, r30, -1 +/* 8031ECFC 0031A95C 90 07 00 04 */ stw r0, 4(r7) +/* 8031ED00 0031A960 7D 19 31 2E */ stwx r8, r25, r6 +/* 8031ED04 0031A964 4B FF FC 0D */ bl func_8031E910 +/* 8031ED08 0031A968 7F 23 CB 78 */ mr r3, r25 +/* 8031ED0C 0031A96C 38 9E 00 01 */ addi r4, r30, 1 +/* 8031ED10 0031A970 38 BF FF FF */ addi r5, r31, -1 +/* 8031ED14 0031A974 4B FF FB FD */ bl func_8031E910 +lbl_8031ED18: +/* 8031ED18 0031A978 3B DF 00 01 */ addi r30, r31, 1 +/* 8031ED1C 0031A97C 7C 1E D0 00 */ cmpw r30, r26 +/* 8031ED20 0031A980 40 80 00 B4 */ bge lbl_8031EDD4 +/* 8031ED24 0031A984 7C 7F D2 14 */ add r3, r31, r26 +/* 8031ED28 0031A988 7C D9 E2 14 */ add r6, r25, r28 +/* 8031ED2C 0031A98C 38 83 00 01 */ addi r4, r3, 1 +/* 8031ED30 0031A990 81 06 00 04 */ lwz r8, 4(r6) +/* 8031ED34 0031A994 54 83 0F FE */ srwi r3, r4, 0x1f +/* 8031ED38 0031A998 38 FF 00 02 */ addi r7, r31, 2 +/* 8031ED3C 0031A99C 7C 83 22 14 */ add r4, r3, r4 +/* 8031ED40 0031A9A0 38 1A 00 01 */ addi r0, r26, 1 +/* 8031ED44 0031A9A4 54 85 08 3A */ rlwinm r5, r4, 1, 0, 0x1d +/* 8031ED48 0031A9A8 54 E3 10 3A */ slwi r3, r7, 2 +/* 8031ED4C 0031A9AC 7C 99 28 2E */ lwzx r4, r25, r5 +/* 8031ED50 0031A9B0 7D 39 1A 14 */ add r9, r25, r3 +/* 8031ED54 0031A9B4 7C 07 00 50 */ subf r0, r7, r0 +/* 8031ED58 0031A9B8 57 C3 10 3A */ slwi r3, r30, 2 +/* 8031ED5C 0031A9BC 90 86 00 04 */ stw r4, 4(r6) +/* 8031ED60 0031A9C0 7D 19 29 2E */ stwx r8, r25, r5 +/* 8031ED64 0031A9C4 7C 09 03 A6 */ mtctr r0 +/* 8031ED68 0031A9C8 7C 07 D0 00 */ cmpw r7, r26 +/* 8031ED6C 0031A9CC 41 81 00 30 */ bgt lbl_8031ED9C +lbl_8031ED70: +/* 8031ED70 0031A9D0 80 89 00 00 */ lwz r4, 0(r9) +/* 8031ED74 0031A9D4 80 06 00 04 */ lwz r0, 4(r6) +/* 8031ED78 0031A9D8 7C 04 00 40 */ cmplw r4, r0 +/* 8031ED7C 0031A9DC 40 80 00 18 */ bge lbl_8031ED94 +/* 8031ED80 0031A9E0 38 63 00 04 */ addi r3, r3, 4 +/* 8031ED84 0031A9E4 3B DE 00 01 */ addi r30, r30, 1 +/* 8031ED88 0031A9E8 7C 19 18 2E */ lwzx r0, r25, r3 +/* 8031ED8C 0031A9EC 90 09 00 00 */ stw r0, 0(r9) +/* 8031ED90 0031A9F0 7C 99 19 2E */ stwx r4, r25, r3 +lbl_8031ED94: +/* 8031ED94 0031A9F4 39 29 00 04 */ addi r9, r9, 4 +/* 8031ED98 0031A9F8 42 00 FF D8 */ bdnz lbl_8031ED70 +lbl_8031ED9C: +/* 8031ED9C 0031A9FC 7C F9 E2 14 */ add r7, r25, r28 +/* 8031EDA0 0031AA00 57 C6 10 3A */ slwi r6, r30, 2 +/* 8031EDA4 0031AA04 81 07 00 04 */ lwz r8, 4(r7) +/* 8031EDA8 0031AA08 7F 23 CB 78 */ mr r3, r25 +/* 8031EDAC 0031AA0C 7C 19 30 2E */ lwzx r0, r25, r6 +/* 8031EDB0 0031AA10 38 9F 00 01 */ addi r4, r31, 1 +/* 8031EDB4 0031AA14 38 BE FF FF */ addi r5, r30, -1 +/* 8031EDB8 0031AA18 90 07 00 04 */ stw r0, 4(r7) +/* 8031EDBC 0031AA1C 7D 19 31 2E */ stwx r8, r25, r6 +/* 8031EDC0 0031AA20 4B FF FB 51 */ bl func_8031E910 +/* 8031EDC4 0031AA24 7F 23 CB 78 */ mr r3, r25 +/* 8031EDC8 0031AA28 7F 45 D3 78 */ mr r5, r26 +/* 8031EDCC 0031AA2C 38 9E 00 01 */ addi r4, r30, 1 +/* 8031EDD0 0031AA30 4B FF FB 41 */ bl func_8031E910 +lbl_8031EDD4: +/* 8031EDD4 0031AA34 39 61 00 30 */ addi r11, r1, 0x30 +/* 8031EDD8 0031AA38 4B EA 83 95 */ bl _restgpr_25 +/* 8031EDDC 0031AA3C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8031EDE0 0031AA40 7C 08 03 A6 */ mtlr r0 +/* 8031EDE4 0031AA44 38 21 00 30 */ addi r1, r1, 0x30 +/* 8031EDE8 0031AA48 4E 80 00 20 */ blr + +.global func_8031EDEC +func_8031EDEC: +/* 8031EDEC 0031AA4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031EDF0 0031AA50 7C 08 02 A6 */ mflr r0 +/* 8031EDF4 0031AA54 7C C6 07 74 */ extsb r6, r6 +/* 8031EDF8 0031AA58 7C 89 23 78 */ mr r9, r4 +/* 8031EDFC 0031AA5C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031EE00 0031AA60 7C 67 1B 78 */ mr r7, r3 +/* 8031EE04 0031AA64 7C C8 33 78 */ mr r8, r6 +/* 8031EE08 0031AA68 38 80 10 00 */ li r4, 0x1000 +/* 8031EE0C 0031AA6C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031EE10 0031AA70 7C BF 2B 78 */ mr r31, r5 +/* 8031EE14 0031AA74 3C A0 80 44 */ lis r5, lbl_80446C70@ha +/* 8031EE18 0031AA78 7F E3 FB 78 */ mr r3, r31 +/* 8031EE1C 0031AA7C 38 A5 6C 70 */ addi r5, r5, lbl_80446C70@l +/* 8031EE20 0031AA80 4C C6 31 82 */ crclr 6 +/* 8031EE24 0031AA84 4B EA DC 01 */ bl snprintf +/* 8031EE28 0031AA88 7F E3 FB 78 */ mr r3, r31 +/* 8031EE2C 0031AA8C 4B EA 7D 39 */ bl strlen +/* 8031EE30 0031AA90 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031EE34 0031AA94 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031EE38 0031AA98 7C 08 03 A6 */ mtlr r0 +/* 8031EE3C 0031AA9C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031EE40 0031AAA0 4E 80 00 20 */ blr + +.global func_8031EE44 +func_8031EE44: +/* 8031EE44 0031AAA4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031EE48 0031AAA8 7C 08 02 A6 */ mflr r0 +/* 8031EE4C 0031AAAC 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031EE50 0031AAB0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031EE54 0031AAB4 7C DF 33 78 */ mr r31, r6 +/* 8031EE58 0031AAB8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031EE5C 0031AABC 7C BE 2B 78 */ mr r30, r5 +/* 8031EE60 0031AAC0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031EE64 0031AAC4 7C 9D 23 78 */ mr r29, r4 +/* 8031EE68 0031AAC8 38 80 00 00 */ li r4, 0 +/* 8031EE6C 0031AACC 93 81 00 10 */ stw r28, 0x10(r1) +/* 8031EE70 0031AAD0 7C 7C 1B 78 */ mr r28, r3 +/* 8031EE74 0031AAD4 7F C3 F3 78 */ mr r3, r30 +/* 8031EE78 0031AAD8 4B EA F7 31 */ bl strchr +/* 8031EE7C 0031AADC 7F E6 07 74 */ extsb r6, r31 +/* 8031EE80 0031AAE0 3C A0 80 44 */ lis r5, lbl_80446C70@ha +/* 8031EE84 0031AAE4 7C 7F 1B 78 */ mr r31, r3 +/* 8031EE88 0031AAE8 7F 87 E3 78 */ mr r7, r28 +/* 8031EE8C 0031AAEC 7C C8 33 78 */ mr r8, r6 +/* 8031EE90 0031AAF0 7F A9 EB 78 */ mr r9, r29 +/* 8031EE94 0031AAF4 38 A5 6C 70 */ addi r5, r5, lbl_80446C70@l +/* 8031EE98 0031AAF8 38 80 10 00 */ li r4, 0x1000 +/* 8031EE9C 0031AAFC 4C C6 31 82 */ crclr 6 +/* 8031EEA0 0031AB00 4B EA DB 85 */ bl snprintf +/* 8031EEA4 0031AB04 7F E3 FB 78 */ mr r3, r31 +/* 8031EEA8 0031AB08 4B EA 7C BD */ bl strlen +/* 8031EEAC 0031AB0C 7F C3 F3 78 */ mr r3, r30 +/* 8031EEB0 0031AB10 4B EA 7C B5 */ bl strlen +/* 8031EEB4 0031AB14 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031EEB8 0031AB18 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031EEBC 0031AB1C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031EEC0 0031AB20 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031EEC4 0031AB24 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8031EEC8 0031AB28 7C 08 03 A6 */ mtlr r0 +/* 8031EECC 0031AB2C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031EED0 0031AB30 4E 80 00 20 */ blr + +.global func_8031EED4 +func_8031EED4: +/* 8031EED4 0031AB34 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031EED8 0031AB38 7C 08 02 A6 */ mflr r0 +/* 8031EEDC 0031AB3C 2C 04 00 00 */ cmpwi r4, 0 +/* 8031EEE0 0031AB40 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031EEE4 0031AB44 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031EEE8 0031AB48 7C DF 33 78 */ mr r31, r6 +/* 8031EEEC 0031AB4C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031EEF0 0031AB50 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031EEF4 0031AB54 7C 9D 23 78 */ mr r29, r4 +/* 8031EEF8 0031AB58 93 81 00 10 */ stw r28, 0x10(r1) +/* 8031EEFC 0031AB5C 7C 7C 1B 78 */ mr r28, r3 +/* 8031EF00 0031AB60 40 82 00 0C */ bne lbl_8031EF0C +/* 8031EF04 0031AB64 38 60 FF FF */ li r3, -1 +/* 8031EF08 0031AB68 48 00 01 04 */ b lbl_8031F00C +lbl_8031EF0C: +/* 8031EF0C 0031AB6C 7C A3 2B 78 */ mr r3, r5 +/* 8031EF10 0031AB70 7C C4 07 74 */ extsb r4, r6 +/* 8031EF14 0031AB74 4B EA F6 95 */ bl strchr +/* 8031EF18 0031AB78 2C 03 00 00 */ cmpwi r3, 0 +/* 8031EF1C 0031AB7C 7C 7E 1B 78 */ mr r30, r3 +/* 8031EF20 0031AB80 40 82 00 0C */ bne lbl_8031EF2C +/* 8031EF24 0031AB84 38 60 FF FF */ li r3, -1 +/* 8031EF28 0031AB88 48 00 00 E4 */ b lbl_8031F00C +lbl_8031EF2C: +/* 8031EF2C 0031AB8C 7F 83 E3 78 */ mr r3, r28 +/* 8031EF30 0031AB90 4B EA 7C 35 */ bl strlen +/* 8031EF34 0031AB94 7C 65 1B 78 */ mr r5, r3 +/* 8031EF38 0031AB98 7F 84 E3 78 */ mr r4, r28 +/* 8031EF3C 0031AB9C 38 7E 00 01 */ addi r3, r30, 1 +/* 8031EF40 0031ABA0 4B EA F6 29 */ bl strncmp +/* 8031EF44 0031ABA4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031EF48 0031ABA8 40 82 00 24 */ bne lbl_8031EF6C +/* 8031EF4C 0031ABAC 7F 83 E3 78 */ mr r3, r28 +/* 8031EF50 0031ABB0 4B EA 7C 15 */ bl strlen +/* 8031EF54 0031ABB4 7C 63 F2 14 */ add r3, r3, r30 +/* 8031EF58 0031ABB8 7F E4 07 74 */ extsb r4, r31 +/* 8031EF5C 0031ABBC 88 03 00 01 */ lbz r0, 1(r3) +/* 8031EF60 0031ABC0 7C 00 07 74 */ extsb r0, r0 +/* 8031EF64 0031ABC4 7C 04 00 00 */ cmpw r4, r0 +/* 8031EF68 0031ABC8 41 82 00 40 */ beq lbl_8031EFA8 +lbl_8031EF6C: +/* 8031EF6C 0031ABCC 38 7E 00 01 */ addi r3, r30, 1 +/* 8031EF70 0031ABD0 7F E4 07 74 */ extsb r4, r31 +/* 8031EF74 0031ABD4 4B EA F6 35 */ bl strchr +/* 8031EF78 0031ABD8 2C 03 00 00 */ cmpwi r3, 0 +/* 8031EF7C 0031ABDC 40 82 00 0C */ bne lbl_8031EF88 +/* 8031EF80 0031ABE0 38 60 FF FF */ li r3, -1 +/* 8031EF84 0031ABE4 48 00 00 88 */ b lbl_8031F00C +lbl_8031EF88: +/* 8031EF88 0031ABE8 7F E4 07 74 */ extsb r4, r31 +/* 8031EF8C 0031ABEC 38 63 00 01 */ addi r3, r3, 1 +/* 8031EF90 0031ABF0 4B EA F6 19 */ bl strchr +/* 8031EF94 0031ABF4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031EF98 0031ABF8 7C 7E 1B 78 */ mr r30, r3 +/* 8031EF9C 0031ABFC 40 82 FF 90 */ bne lbl_8031EF2C +/* 8031EFA0 0031AC00 38 60 FF FF */ li r3, -1 +/* 8031EFA4 0031AC04 48 00 00 68 */ b lbl_8031F00C +lbl_8031EFA8: +/* 8031EFA8 0031AC08 38 7E 00 01 */ addi r3, r30, 1 +/* 8031EFAC 0031AC0C 4B EA F5 FD */ bl strchr +/* 8031EFB0 0031AC10 2C 03 00 00 */ cmpwi r3, 0 +/* 8031EFB4 0031AC14 7C 7E 1B 78 */ mr r30, r3 +/* 8031EFB8 0031AC18 40 82 00 0C */ bne lbl_8031EFC4 +/* 8031EFBC 0031AC1C 38 60 FF FF */ li r3, -1 +/* 8031EFC0 0031AC20 48 00 00 4C */ b lbl_8031F00C +lbl_8031EFC4: +/* 8031EFC4 0031AC24 7F E4 07 74 */ extsb r4, r31 +/* 8031EFC8 0031AC28 38 63 00 01 */ addi r3, r3, 1 +/* 8031EFCC 0031AC2C 4B EA F5 DD */ bl strchr +/* 8031EFD0 0031AC30 2C 03 00 00 */ cmpwi r3, 0 +/* 8031EFD4 0031AC34 41 82 00 10 */ beq lbl_8031EFE4 +/* 8031EFD8 0031AC38 38 1E 00 01 */ addi r0, r30, 1 +/* 8031EFDC 0031AC3C 7F E0 18 50 */ subf r31, r0, r3 +/* 8031EFE0 0031AC40 48 00 00 10 */ b lbl_8031EFF0 +lbl_8031EFE4: +/* 8031EFE4 0031AC44 38 7E 00 01 */ addi r3, r30, 1 +/* 8031EFE8 0031AC48 4B EA 7B 7D */ bl strlen +/* 8031EFEC 0031AC4C 7C 7F 1B 78 */ mr r31, r3 +lbl_8031EFF0: +/* 8031EFF0 0031AC50 7F A3 EB 78 */ mr r3, r29 +/* 8031EFF4 0031AC54 7F E5 FB 78 */ mr r5, r31 +/* 8031EFF8 0031AC58 38 9E 00 01 */ addi r4, r30, 1 +/* 8031EFFC 0031AC5C 4B EA F3 95 */ bl strncpy +/* 8031F000 0031AC60 38 00 00 00 */ li r0, 0 +/* 8031F004 0031AC64 7F E3 FB 78 */ mr r3, r31 +/* 8031F008 0031AC68 7C 1D F9 AE */ stbx r0, r29, r31 +lbl_8031F00C: +/* 8031F00C 0031AC6C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031F010 0031AC70 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031F014 0031AC74 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031F018 0031AC78 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031F01C 0031AC7C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8031F020 0031AC80 7C 08 03 A6 */ mtlr r0 +/* 8031F024 0031AC84 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031F028 0031AC88 4E 80 00 20 */ blr + +.global func_8031F02C +func_8031F02C: +/* 8031F02C 0031AC8C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031F030 0031AC90 7C 08 02 A6 */ mflr r0 +/* 8031F034 0031AC94 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031F038 0031AC98 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031F03C 0031AC9C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031F040 0031ACA0 3F C0 80 61 */ lis r30, lbl_8060FBF0@ha +/* 8031F044 0031ACA4 3B FE FB F0 */ addi r31, r30, lbl_8060FBF0@l +/* 8031F048 0031ACA8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031F04C 0031ACAC 7C 7D 1B 78 */ mr r29, r3 +/* 8031F050 0031ACB0 80 1E FB F0 */ lwz r0, -0x410(r30) +/* 8031F054 0031ACB4 80 7F 00 04 */ lwz r3, 4(r31) +/* 8031F058 0031ACB8 7C 60 03 79 */ or. r0, r3, r0 +/* 8031F05C 0031ACBC 40 82 00 98 */ bne lbl_8031F0F4 +/* 8031F060 0031ACC0 80 1F 00 08 */ lwz r0, 8(r31) +/* 8031F064 0031ACC4 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 8031F068 0031ACC8 7C 60 03 79 */ or. r0, r3, r0 +/* 8031F06C 0031ACCC 40 82 00 88 */ bne lbl_8031F0F4 +/* 8031F070 0031ACD0 80 1F 00 10 */ lwz r0, 0x10(r31) +/* 8031F074 0031ACD4 80 7F 00 14 */ lwz r3, 0x14(r31) +/* 8031F078 0031ACD8 7C 60 03 79 */ or. r0, r3, r0 +/* 8031F07C 0031ACDC 40 82 00 78 */ bne lbl_8031F0F4 +/* 8031F080 0031ACE0 38 61 00 08 */ addi r3, r1, 8 +/* 8031F084 0031ACE4 4B FD 61 15 */ bl NETGetWirelessMacAddress +/* 8031F088 0031ACE8 4B F5 37 31 */ bl OSGetTime +/* 8031F08C 0031ACEC 80 C1 00 0C */ lwz r6, 0xc(r1) +/* 8031F090 0031ACF0 3C A0 01 00 */ lis r5, 0x00FFFFFF@ha +/* 8031F094 0031ACF4 80 01 00 08 */ lwz r0, 8(r1) +/* 8031F098 0031ACF8 39 25 FF FF */ addi r9, r5, 0x00FFFFFF@l +/* 8031F09C 0031ACFC 54 CA 40 3E */ rotlwi r10, r6, 8 +/* 8031F0A0 0031AD00 3C A0 00 27 */ lis r5, 0x00269EC3@ha +/* 8031F0A4 0031AD04 50 0A 40 2E */ rlwimi r10, r0, 8, 0, 0x17 +/* 8031F0A8 0031AD08 3C E0 6C 08 */ lis r7, 0x6C078965@ha +/* 8031F0AC 0031AD0C 38 05 9E C3 */ addi r0, r5, 0x00269EC3@l +/* 8031F0B0 0031AD10 54 68 C0 0E */ slwi r8, r3, 0x18 +/* 8031F0B4 0031AD14 50 88 C2 3E */ rlwimi r8, r4, 0x18, 8, 0x1f +/* 8031F0B8 0031AD18 3C C0 5D 59 */ lis r6, 0x5D588B65@ha +/* 8031F0BC 0031AD1C 38 66 8B 65 */ addi r3, r6, 0x5D588B65@l +/* 8031F0C0 0031AD20 38 E7 89 65 */ addi r7, r7, 0x6C078965@l +/* 8031F0C4 0031AD24 38 C0 00 00 */ li r6, 0 +/* 8031F0C8 0031AD28 7D 45 48 38 */ and r5, r10, r9 +/* 8031F0CC 0031AD2C 54 84 C0 0E */ slwi r4, r4, 0x18 +/* 8031F0D0 0031AD30 91 01 00 08 */ stw r8, 8(r1) +/* 8031F0D4 0031AD34 7C A4 23 78 */ or r4, r5, r4 +/* 8031F0D8 0031AD38 90 81 00 0C */ stw r4, 0xc(r1) +/* 8031F0DC 0031AD3C 90 9F 00 04 */ stw r4, 4(r31) +/* 8031F0E0 0031AD40 91 1E FB F0 */ stw r8, -0x410(r30) +/* 8031F0E4 0031AD44 90 FF 00 0C */ stw r7, 0xc(r31) +/* 8031F0E8 0031AD48 90 7F 00 08 */ stw r3, 8(r31) +/* 8031F0EC 0031AD4C 90 1F 00 14 */ stw r0, 0x14(r31) +/* 8031F0F0 0031AD50 90 DF 00 10 */ stw r6, 0x10(r31) +lbl_8031F0F4: +/* 8031F0F4 0031AD54 3D 40 80 61 */ lis r10, lbl_8060FBF0@ha +/* 8031F0F8 0031AD58 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031F0FC 0031AD5C 39 2A FB F0 */ addi r9, r10, lbl_8060FBF0@l +/* 8031F100 0031AD60 80 0A FB F0 */ lwz r0, -0x410(r10) +/* 8031F104 0031AD64 80 89 00 0C */ lwz r4, 0xc(r9) +/* 8031F108 0031AD68 80 A9 00 04 */ lwz r5, 4(r9) +/* 8031F10C 0031AD6C 7C 64 01 D6 */ mullw r3, r4, r0 +/* 8031F110 0031AD70 81 09 00 14 */ lwz r8, 0x14(r9) +/* 8031F114 0031AD74 80 C9 00 08 */ lwz r6, 8(r9) +/* 8031F118 0031AD78 80 E9 00 10 */ lwz r7, 0x10(r9) +/* 8031F11C 0031AD7C 7C 04 29 D6 */ mullw r0, r4, r5 +/* 8031F120 0031AD80 7C 08 00 14 */ addc r0, r8, r0 +/* 8031F124 0031AD84 90 09 00 04 */ stw r0, 4(r9) +/* 8031F128 0031AD88 7C 84 28 16 */ mulhwu r4, r4, r5 +/* 8031F12C 0031AD8C 7C 06 29 D6 */ mullw r0, r6, r5 +/* 8031F130 0031AD90 7C 04 02 14 */ add r0, r4, r0 +/* 8031F134 0031AD94 7C 00 1A 14 */ add r0, r0, r3 +/* 8031F138 0031AD98 7C 67 01 14 */ adde r3, r7, r0 +/* 8031F13C 0031AD9C 90 6A FB F0 */ stw r3, -0x410(r10) +/* 8031F140 0031ADA0 40 82 00 08 */ bne lbl_8031F148 +/* 8031F144 0031ADA4 48 00 00 14 */ b lbl_8031F158 +lbl_8031F148: +/* 8031F148 0031ADA8 38 80 00 00 */ li r4, 0 +/* 8031F14C 0031ADAC 7C 03 E8 16 */ mulhwu r0, r3, r29 +/* 8031F150 0031ADB0 7C 64 E9 D6 */ mullw r3, r4, r29 +/* 8031F154 0031ADB4 7C 60 1A 14 */ add r3, r0, r3 +lbl_8031F158: +/* 8031F158 0031ADB8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031F15C 0031ADBC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031F160 0031ADC0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031F164 0031ADC4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031F168 0031ADC8 7C 08 03 A6 */ mtlr r0 +/* 8031F16C 0031ADCC 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031F170 0031ADD0 4E 80 00 20 */ blr + +.global func_8031F174 +func_8031F174: +/* 8031F174 0031ADD4 38 80 00 00 */ li r4, 0 +/* 8031F178 0031ADD8 48 00 00 0C */ b lbl_8031F184 +lbl_8031F17C: +/* 8031F17C 0031ADDC 38 63 00 02 */ addi r3, r3, 2 +/* 8031F180 0031ADE0 38 84 00 01 */ addi r4, r4, 1 +lbl_8031F184: +/* 8031F184 0031ADE4 A0 03 00 00 */ lhz r0, 0(r3) +/* 8031F188 0031ADE8 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F18C 0031ADEC 40 82 FF F0 */ bne lbl_8031F17C +/* 8031F190 0031ADF0 7C 83 23 78 */ mr r3, r4 +/* 8031F194 0031ADF4 4E 80 00 20 */ blr + +.global func_8031F198 +func_8031F198: +/* 8031F198 0031ADF8 94 21 FD D0 */ stwu r1, -0x230(r1) +/* 8031F19C 0031ADFC 7C 08 02 A6 */ mflr r0 +/* 8031F1A0 0031AE00 90 01 02 34 */ stw r0, 0x234(r1) +/* 8031F1A4 0031AE04 93 E1 02 2C */ stw r31, 0x22c(r1) +/* 8031F1A8 0031AE08 7C DF 33 78 */ mr r31, r6 +/* 8031F1AC 0031AE0C 93 C1 02 28 */ stw r30, 0x228(r1) +/* 8031F1B0 0031AE10 7C BE 2B 78 */ mr r30, r5 +/* 8031F1B4 0031AE14 93 A1 02 24 */ stw r29, 0x224(r1) +/* 8031F1B8 0031AE18 7C 9D 23 78 */ mr r29, r4 +/* 8031F1BC 0031AE1C 38 81 00 10 */ addi r4, r1, 0x10 +/* 8031F1C0 0031AE20 48 00 12 31 */ bl func_803203F0 +/* 8031F1C4 0031AE24 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F1C8 0031AE28 41 82 00 DC */ beq lbl_8031F2A4 +/* 8031F1CC 0031AE2C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031F1D0 0031AE30 2C 00 00 06 */ cmpwi r0, 6 +/* 8031F1D4 0031AE34 40 82 00 90 */ bne lbl_8031F264 +/* 8031F1D8 0031AE38 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031F1DC 0031AE3C 41 82 00 40 */ beq lbl_8031F21C +/* 8031F1E0 0031AE40 38 81 00 08 */ addi r4, r1, 8 +/* 8031F1E4 0031AE44 38 A1 00 18 */ addi r5, r1, 0x18 +/* 8031F1E8 0031AE48 38 6D 8D 68 */ addi r3, r13, lbl_8063E028-_SDA_BASE_ +/* 8031F1EC 0031AE4C 38 C0 00 2F */ li r6, 0x2f +/* 8031F1F0 0031AE50 4B FF FC E5 */ bl func_8031EED4 +/* 8031F1F4 0031AE54 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F1F8 0031AE58 40 81 00 1C */ ble lbl_8031F214 +/* 8031F1FC 0031AE5C 38 61 00 08 */ addi r3, r1, 8 +/* 8031F200 0031AE60 38 80 00 00 */ li r4, 0 +/* 8031F204 0031AE64 38 A0 00 0A */ li r5, 0xa +/* 8031F208 0031AE68 4B EB 13 71 */ bl strtoul +/* 8031F20C 0031AE6C 98 7D 00 00 */ stb r3, 0(r29) +/* 8031F210 0031AE70 48 00 00 0C */ b lbl_8031F21C +lbl_8031F214: +/* 8031F214 0031AE74 38 00 00 00 */ li r0, 0 +/* 8031F218 0031AE78 98 1D 00 00 */ stb r0, 0(r29) +lbl_8031F21C: +/* 8031F21C 0031AE7C 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031F220 0031AE80 41 82 00 64 */ beq lbl_8031F284 +/* 8031F224 0031AE84 38 81 00 08 */ addi r4, r1, 8 +/* 8031F228 0031AE88 38 A1 00 18 */ addi r5, r1, 0x18 +/* 8031F22C 0031AE8C 38 6D 8D 6C */ addi r3, r13, lbl_8063E02C-_SDA_BASE_ +/* 8031F230 0031AE90 38 C0 00 2F */ li r6, 0x2f +/* 8031F234 0031AE94 4B FF FC A1 */ bl func_8031EED4 +/* 8031F238 0031AE98 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F23C 0031AE9C 40 81 00 1C */ ble lbl_8031F258 +/* 8031F240 0031AEA0 38 61 00 08 */ addi r3, r1, 8 +/* 8031F244 0031AEA4 38 80 00 00 */ li r4, 0 +/* 8031F248 0031AEA8 38 A0 00 0A */ li r5, 0xa +/* 8031F24C 0031AEAC 4B EB 13 2D */ bl strtoul +/* 8031F250 0031AEB0 98 7E 00 00 */ stb r3, 0(r30) +/* 8031F254 0031AEB4 48 00 00 30 */ b lbl_8031F284 +lbl_8031F258: +/* 8031F258 0031AEB8 38 00 00 00 */ li r0, 0 +/* 8031F25C 0031AEBC 98 1E 00 00 */ stb r0, 0(r30) +/* 8031F260 0031AEC0 48 00 00 24 */ b lbl_8031F284 +lbl_8031F264: +/* 8031F264 0031AEC4 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031F268 0031AEC8 41 82 00 0C */ beq lbl_8031F274 +/* 8031F26C 0031AECC 38 00 00 00 */ li r0, 0 +/* 8031F270 0031AED0 98 1D 00 00 */ stb r0, 0(r29) +lbl_8031F274: +/* 8031F274 0031AED4 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031F278 0031AED8 41 82 00 0C */ beq lbl_8031F284 +/* 8031F27C 0031AEDC 38 00 00 00 */ li r0, 0 +/* 8031F280 0031AEE0 98 1E 00 00 */ stb r0, 0(r30) +lbl_8031F284: +/* 8031F284 0031AEE4 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031F288 0031AEE8 41 82 00 10 */ beq lbl_8031F298 +/* 8031F28C 0031AEEC 7F E3 FB 78 */ mr r3, r31 +/* 8031F290 0031AEF0 38 81 01 18 */ addi r4, r1, 0x118 +/* 8031F294 0031AEF4 4B EA F0 3D */ bl strcpy +lbl_8031F298: +/* 8031F298 0031AEF8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031F29C 0031AEFC 54 03 06 3E */ clrlwi r3, r0, 0x18 +/* 8031F2A0 0031AF00 48 00 00 28 */ b lbl_8031F2C8 +lbl_8031F2A4: +/* 8031F2A4 0031AF04 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031F2A8 0031AF08 41 82 00 0C */ beq lbl_8031F2B4 +/* 8031F2AC 0031AF0C 38 00 00 00 */ li r0, 0 +/* 8031F2B0 0031AF10 98 1D 00 00 */ stb r0, 0(r29) +lbl_8031F2B4: +/* 8031F2B4 0031AF14 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031F2B8 0031AF18 41 82 00 0C */ beq lbl_8031F2C4 +/* 8031F2BC 0031AF1C 38 00 00 00 */ li r0, 0 +/* 8031F2C0 0031AF20 98 1E 00 00 */ stb r0, 0(r30) +lbl_8031F2C4: +/* 8031F2C4 0031AF24 38 60 00 00 */ li r3, 0 +lbl_8031F2C8: +/* 8031F2C8 0031AF28 80 01 02 34 */ lwz r0, 0x234(r1) +/* 8031F2CC 0031AF2C 83 E1 02 2C */ lwz r31, 0x22c(r1) +/* 8031F2D0 0031AF30 83 C1 02 28 */ lwz r30, 0x228(r1) +/* 8031F2D4 0031AF34 83 A1 02 24 */ lwz r29, 0x224(r1) +/* 8031F2D8 0031AF38 7C 08 03 A6 */ mtlr r0 +/* 8031F2DC 0031AF3C 38 21 02 30 */ addi r1, r1, 0x230 +/* 8031F2E0 0031AF40 4E 80 00 20 */ blr + +.global func_8031F2E4 +func_8031F2E4: +/* 8031F2E4 0031AF44 94 21 FE F0 */ stwu r1, -0x110(r1) +/* 8031F2E8 0031AF48 7C 08 02 A6 */ mflr r0 +/* 8031F2EC 0031AF4C 90 01 01 14 */ stw r0, 0x114(r1) +/* 8031F2F0 0031AF50 93 E1 01 0C */ stw r31, 0x10c(r1) +/* 8031F2F4 0031AF54 7C 9F 23 78 */ mr r31, r4 +/* 8031F2F8 0031AF58 93 C1 01 08 */ stw r30, 0x108(r1) +/* 8031F2FC 0031AF5C 7C 7E 1B 78 */ mr r30, r3 +/* 8031F300 0031AF60 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 8031F304 0031AF64 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F308 0031AF68 41 82 00 10 */ beq lbl_8031F318 +/* 8031F30C 0031AF6C 48 00 28 C9 */ bl func_80321BD4 +/* 8031F310 0031AF70 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F314 0031AF74 40 82 00 0C */ bne lbl_8031F320 +lbl_8031F318: +/* 8031F318 0031AF78 38 60 00 00 */ li r3, 0 +/* 8031F31C 0031AF7C 48 00 00 48 */ b lbl_8031F364 +lbl_8031F320: +/* 8031F320 0031AF80 7F C3 F3 78 */ mr r3, r30 +/* 8031F324 0031AF84 7F E4 FB 78 */ mr r4, r31 +/* 8031F328 0031AF88 38 A1 00 08 */ addi r5, r1, 8 +/* 8031F32C 0031AF8C 38 C0 00 FF */ li r6, 0xff +/* 8031F330 0031AF90 4B FF CD F5 */ bl func_8031C124 +/* 8031F334 0031AF94 2C 03 FF FF */ cmpwi r3, -1 +/* 8031F338 0031AF98 40 82 00 0C */ bne lbl_8031F344 +/* 8031F33C 0031AF9C 38 60 00 00 */ li r3, 0 +/* 8031F340 0031AFA0 48 00 00 24 */ b lbl_8031F364 +lbl_8031F344: +/* 8031F344 0031AFA4 38 A1 00 08 */ addi r5, r1, 8 +/* 8031F348 0031AFA8 38 00 00 00 */ li r0, 0 +/* 8031F34C 0031AFAC 7C 05 19 AE */ stbx r0, r5, r3 +/* 8031F350 0031AFB0 38 60 FF FF */ li r3, -1 +/* 8031F354 0031AFB4 38 80 00 00 */ li r4, 0 +/* 8031F358 0031AFB8 48 00 08 F9 */ bl func_8031FC50 +/* 8031F35C 0031AFBC 7C 60 00 34 */ cntlzw r0, r3 +/* 8031F360 0031AFC0 54 03 D9 7E */ srwi r3, r0, 5 +lbl_8031F364: +/* 8031F364 0031AFC4 80 01 01 14 */ lwz r0, 0x114(r1) +/* 8031F368 0031AFC8 83 E1 01 0C */ lwz r31, 0x10c(r1) +/* 8031F36C 0031AFCC 83 C1 01 08 */ lwz r30, 0x108(r1) +/* 8031F370 0031AFD0 7C 08 03 A6 */ mtlr r0 +/* 8031F374 0031AFD4 38 21 01 10 */ addi r1, r1, 0x110 +/* 8031F378 0031AFD8 4E 80 00 20 */ blr + +.global func_8031F37C +func_8031F37C: +/* 8031F37C 0031AFDC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F380 0031AFE0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F384 0031AFE4 41 82 00 20 */ beq lbl_8031F3A4 +/* 8031F388 0031AFE8 88 63 00 22 */ lbz r3, 0x22(r3) +/* 8031F38C 0031AFEC 38 03 00 FF */ addi r0, r3, 0xff +/* 8031F390 0031AFF0 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 8031F394 0031AFF4 28 00 00 01 */ cmplwi r0, 1 +/* 8031F398 0031AFF8 41 81 00 0C */ bgt lbl_8031F3A4 +/* 8031F39C 0031AFFC 38 60 00 00 */ li r3, 0 +/* 8031F3A0 0031B000 4E 80 00 20 */ blr +lbl_8031F3A4: +/* 8031F3A4 0031B004 38 60 00 01 */ li r3, 1 +/* 8031F3A8 0031B008 4E 80 00 20 */ blr + +.global func_8031F3AC +func_8031F3AC: +/* 8031F3AC 0031B00C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031F3B0 0031B010 7C 08 02 A6 */ mflr r0 +/* 8031F3B4 0031B014 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031F3B8 0031B018 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031F3BC 0031B01C 93 C1 00 08 */ stw r30, 8(r1) +/* 8031F3C0 0031B020 7C 7E 1B 78 */ mr r30, r3 +/* 8031F3C4 0031B024 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 8031F3C8 0031B028 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F3CC 0031B02C 41 82 00 7C */ beq lbl_8031F448 +/* 8031F3D0 0031B030 48 00 28 05 */ bl func_80321BD4 +/* 8031F3D4 0031B034 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F3D8 0031B038 41 82 00 70 */ beq lbl_8031F448 +/* 8031F3DC 0031B03C 48 00 1D D9 */ bl func_803211B4 +/* 8031F3E0 0031B040 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F3E4 0031B044 41 82 00 64 */ beq lbl_8031F448 +/* 8031F3E8 0031B048 48 00 1D CD */ bl func_803211B4 +/* 8031F3EC 0031B04C 7F C4 F3 78 */ mr r4, r30 +/* 8031F3F0 0031B050 48 01 43 0D */ bl func_803336FC +/* 8031F3F4 0031B054 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F3F8 0031B058 7C 7F 1B 78 */ mr r31, r3 +/* 8031F3FC 0031B05C 41 82 00 4C */ beq lbl_8031F448 +/* 8031F400 0031B060 2C 03 FF FF */ cmpwi r3, -1 +/* 8031F404 0031B064 41 82 00 44 */ beq lbl_8031F448 +/* 8031F408 0031B068 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F40C 0031B06C 7F E4 FB 78 */ mr r4, r31 +/* 8031F410 0031B070 80 63 00 04 */ lwz r3, 4(r3) +/* 8031F414 0031B074 48 01 E3 81 */ bl gpIsBuddy +/* 8031F418 0031B078 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F41C 0031B07C 41 82 00 2C */ beq lbl_8031F448 +/* 8031F420 0031B080 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F424 0031B084 7F E4 FB 78 */ mr r4, r31 +/* 8031F428 0031B088 80 63 00 04 */ lwz r3, 4(r3) +/* 8031F42C 0031B08C 48 01 E3 E1 */ bl gpDeleteBuddy +/* 8031F430 0031B090 3C 80 80 44 */ lis r4, lbl_80446C80@ha +/* 8031F434 0031B094 38 60 00 04 */ li r3, 4 +/* 8031F438 0031B098 38 84 6C 80 */ addi r4, r4, lbl_80446C80@l +/* 8031F43C 0031B09C 4C C6 31 82 */ crclr 6 +/* 8031F440 0031B0A0 4B FF D6 F5 */ bl func_8031CB34 +/* 8031F444 0031B0A4 48 00 00 18 */ b lbl_8031F45C +lbl_8031F448: +/* 8031F448 0031B0A8 3C 80 80 44 */ lis r4, lbl_80446CAC@ha +/* 8031F44C 0031B0AC 38 60 00 04 */ li r3, 4 +/* 8031F450 0031B0B0 38 84 6C AC */ addi r4, r4, lbl_80446CAC@l +/* 8031F454 0031B0B4 4C C6 31 82 */ crclr 6 +/* 8031F458 0031B0B8 4B FF D6 DD */ bl func_8031CB34 +lbl_8031F45C: +/* 8031F45C 0031B0BC 7F C3 F3 78 */ mr r3, r30 +/* 8031F460 0031B0C0 38 80 00 00 */ li r4, 0 +/* 8031F464 0031B0C4 38 A0 00 0C */ li r5, 0xc +/* 8031F468 0031B0C8 4B CE 4C 9D */ bl memset +/* 8031F46C 0031B0CC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031F470 0031B0D0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031F474 0031B0D4 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031F478 0031B0D8 7C 08 03 A6 */ mtlr r0 +/* 8031F47C 0031B0DC 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031F480 0031B0E0 4E 80 00 20 */ blr + +.global func_8031F484 +func_8031F484: +/* 8031F484 0031B0E4 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 8031F488 0031B0E8 2C 05 00 00 */ cmpwi r5, 0 +/* 8031F48C 0031B0EC 40 82 00 0C */ bne lbl_8031F498 +/* 8031F490 0031B0F0 38 60 00 00 */ li r3, 0 +/* 8031F494 0031B0F4 4E 80 00 20 */ blr +lbl_8031F498: +/* 8031F498 0031B0F8 90 65 00 48 */ stw r3, 0x48(r5) +/* 8031F49C 0031B0FC 38 60 00 01 */ li r3, 1 +/* 8031F4A0 0031B100 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4A4 0031B104 90 85 00 4C */ stw r4, 0x4c(r5) +/* 8031F4A8 0031B108 4E 80 00 20 */ blr + +.global func_8031F4AC +func_8031F4AC: +/* 8031F4AC 0031B10C 90 6D B0 48 */ stw r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4B0 0031B110 38 00 00 00 */ li r0, 0 +/* 8031F4B4 0031B114 90 03 00 00 */ stw r0, 0(r3) +/* 8031F4B8 0031B118 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4BC 0031B11C 90 83 00 04 */ stw r4, 4(r3) +/* 8031F4C0 0031B120 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4C4 0031B124 90 03 00 08 */ stw r0, 8(r3) +/* 8031F4C8 0031B128 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4CC 0031B12C 90 03 00 14 */ stw r0, 0x14(r3) +/* 8031F4D0 0031B130 90 03 00 10 */ stw r0, 0x10(r3) +/* 8031F4D4 0031B134 90 E3 00 18 */ stw r7, 0x18(r3) +/* 8031F4D8 0031B138 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4DC 0031B13C 90 C3 00 1C */ stw r6, 0x1c(r3) +/* 8031F4E0 0031B140 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4E4 0031B144 98 03 00 20 */ stb r0, 0x20(r3) +/* 8031F4E8 0031B148 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4EC 0031B14C 98 03 00 21 */ stb r0, 0x21(r3) +/* 8031F4F0 0031B150 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4F4 0031B154 98 03 00 22 */ stb r0, 0x22(r3) +/* 8031F4F8 0031B158 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F4FC 0031B15C 98 03 00 23 */ stb r0, 0x23(r3) +/* 8031F500 0031B160 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F504 0031B164 90 03 00 24 */ stw r0, 0x24(r3) +/* 8031F508 0031B168 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F50C 0031B16C 90 03 00 28 */ stw r0, 0x28(r3) +/* 8031F510 0031B170 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F514 0031B174 90 A3 00 2C */ stw r5, 0x2c(r3) +/* 8031F518 0031B178 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F51C 0031B17C 90 03 00 30 */ stw r0, 0x30(r3) +/* 8031F520 0031B180 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F524 0031B184 90 03 00 34 */ stw r0, 0x34(r3) +/* 8031F528 0031B188 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F52C 0031B18C 90 03 00 38 */ stw r0, 0x38(r3) +/* 8031F530 0031B190 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F534 0031B194 90 03 00 3C */ stw r0, 0x3c(r3) +/* 8031F538 0031B198 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F53C 0031B19C 90 03 00 40 */ stw r0, 0x40(r3) +/* 8031F540 0031B1A0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F544 0031B1A4 90 03 00 44 */ stw r0, 0x44(r3) +/* 8031F548 0031B1A8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F54C 0031B1AC 90 03 00 48 */ stw r0, 0x48(r3) +/* 8031F550 0031B1B0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F554 0031B1B4 90 03 00 4C */ stw r0, 0x4c(r3) +/* 8031F558 0031B1B8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F55C 0031B1BC 90 03 00 50 */ stw r0, 0x50(r3) +/* 8031F560 0031B1C0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F564 0031B1C4 90 03 00 54 */ stw r0, 0x54(r3) +/* 8031F568 0031B1C8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F56C 0031B1CC 90 03 00 58 */ stw r0, 0x58(r3) +/* 8031F570 0031B1D0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F574 0031B1D4 90 03 00 5C */ stw r0, 0x5c(r3) +/* 8031F578 0031B1D8 4E 80 00 20 */ blr + +.global func_8031F57C +func_8031F57C: +/* 8031F57C 0031B1DC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031F580 0031B1E0 7C 08 02 A6 */ mflr r0 +/* 8031F584 0031B1E4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031F588 0031B1E8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031F58C 0031B1EC 93 C1 00 08 */ stw r30, 8(r1) +/* 8031F590 0031B1F0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F594 0031B1F4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F598 0031B1F8 41 82 01 B0 */ beq lbl_8031F748 +/* 8031F59C 0031B1FC 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8031F5A0 0031B200 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F5A4 0031B204 41 82 01 A4 */ beq lbl_8031F748 +/* 8031F5A8 0031B208 4B FF CF C5 */ bl PlatAudio_IsEntireSampleFileInMem +/* 8031F5AC 0031B20C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F5B0 0031B210 41 82 00 08 */ beq lbl_8031F5B8 +/* 8031F5B4 0031B214 48 00 01 94 */ b lbl_8031F748 +lbl_8031F5B8: +/* 8031F5B8 0031B218 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F5BC 0031B21C 80 03 00 24 */ lwz r0, 0x24(r3) +/* 8031F5C0 0031B220 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F5C4 0031B224 40 82 00 10 */ bne lbl_8031F5D4 +/* 8031F5C8 0031B228 48 03 8F C5 */ bl IsStatsConnected +/* 8031F5CC 0031B22C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F5D0 0031B230 41 82 00 24 */ beq lbl_8031F5F4 +lbl_8031F5D4: +/* 8031F5D4 0031B234 48 03 8F D1 */ bl PersistThink +/* 8031F5D8 0031B238 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F5DC 0031B23C 40 82 00 18 */ bne lbl_8031F5F4 +/* 8031F5E0 0031B240 3C 80 80 44 */ lis r4, lbl_80446CDC@ha +/* 8031F5E4 0031B244 38 60 00 08 */ li r3, 8 +/* 8031F5E8 0031B248 38 84 6C DC */ addi r4, r4, lbl_80446CDC@l +/* 8031F5EC 0031B24C 4C C6 31 82 */ crclr 6 +/* 8031F5F0 0031B250 4B FF D5 45 */ bl func_8031CB34 +lbl_8031F5F4: +/* 8031F5F4 0031B254 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F5F8 0031B258 80 63 00 04 */ lwz r3, 4(r3) +/* 8031F5FC 0031B25C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F600 0031B260 41 82 01 08 */ beq lbl_8031F708 +/* 8031F604 0031B264 80 03 00 00 */ lwz r0, 0(r3) +/* 8031F608 0031B268 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F60C 0031B26C 41 82 00 FC */ beq lbl_8031F708 +/* 8031F610 0031B270 3B C0 00 00 */ li r30, 0 +/* 8031F614 0031B274 4B F5 31 A5 */ bl OSGetTime +/* 8031F618 0031B278 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 8031F61C 0031B27C 83 ED B0 48 */ lwz r31, lbl_80640308-_SDA_BASE_(r13) +/* 8031F620 0031B280 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 8031F624 0031B284 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 8031F628 0031B288 80 FF 00 14 */ lwz r7, 0x14(r31) +/* 8031F62C 0031B28C 38 A5 4D D3 */ addi r5, r5, 0x10624DD3@l +/* 8031F630 0031B290 54 00 F0 BE */ srwi r0, r0, 2 +/* 8031F634 0031B294 80 DF 00 10 */ lwz r6, 0x10(r31) +/* 8031F638 0031B298 7C 05 00 16 */ mulhwu r0, r5, r0 +/* 8031F63C 0031B29C 7C 87 20 10 */ subfc r4, r7, r4 +/* 8031F640 0031B2A0 7C 66 19 10 */ subfe r3, r6, r3 +/* 8031F644 0031B2A4 38 A0 00 00 */ li r5, 0 +/* 8031F648 0031B2A8 54 06 D1 BE */ srwi r6, r0, 6 +/* 8031F64C 0031B2AC 4B EA 7C 2D */ bl __div2i +/* 8031F650 0031B2B0 38 A0 00 00 */ li r5, 0 +/* 8031F654 0031B2B4 38 C0 01 2C */ li r6, 0x12c +/* 8031F658 0031B2B8 6C 60 80 00 */ xoris r0, r3, 0x8000 +/* 8031F65C 0031B2BC 6C A5 80 00 */ xoris r5, r5, 0x8000 +/* 8031F660 0031B2C0 7C 66 20 10 */ subfc r3, r6, r4 +/* 8031F664 0031B2C4 7C A5 01 10 */ subfe r5, r5, r0 +/* 8031F668 0031B2C8 7C A0 01 10 */ subfe r5, r0, r0 +/* 8031F66C 0031B2CC 7C A5 00 D1 */ neg. r5, r5 +/* 8031F670 0031B2D0 40 82 00 30 */ bne lbl_8031F6A0 +/* 8031F674 0031B2D4 80 7F 00 08 */ lwz r3, 8(r31) +/* 8031F678 0031B2D8 38 03 00 01 */ addi r0, r3, 1 +/* 8031F67C 0031B2DC 90 1F 00 08 */ stw r0, 8(r31) +/* 8031F680 0031B2E0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F684 0031B2E4 80 63 00 04 */ lwz r3, 4(r3) +/* 8031F688 0031B2E8 48 01 D7 B1 */ bl gpProcess +/* 8031F68C 0031B2EC 7C 7E 1B 78 */ mr r30, r3 +/* 8031F690 0031B2F0 4B F5 31 29 */ bl OSGetTime +/* 8031F694 0031B2F4 83 ED B0 48 */ lwz r31, lbl_80640308-_SDA_BASE_(r13) +/* 8031F698 0031B2F8 90 9F 00 14 */ stw r4, 0x14(r31) +/* 8031F69C 0031B2FC 90 7F 00 10 */ stw r3, 0x10(r31) +lbl_8031F6A0: +/* 8031F6A0 0031B300 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031F6A4 0031B304 40 82 00 A4 */ bne lbl_8031F748 +/* 8031F6A8 0031B308 80 7F 00 1C */ lwz r3, 0x1c(r31) +/* 8031F6AC 0031B30C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F6B0 0031B310 41 82 00 58 */ beq lbl_8031F708 +/* 8031F6B4 0031B314 88 9F 00 22 */ lbz r4, 0x22(r31) +/* 8031F6B8 0031B318 28 04 00 03 */ cmplwi r4, 3 +/* 8031F6BC 0031B31C 41 82 00 4C */ beq lbl_8031F708 +/* 8031F6C0 0031B320 80 1F 00 08 */ lwz r0, 8(r31) +/* 8031F6C4 0031B324 28 00 00 07 */ cmplwi r0, 7 +/* 8031F6C8 0031B328 40 81 00 40 */ ble lbl_8031F708 +/* 8031F6CC 0031B32C 28 04 00 01 */ cmplwi r4, 1 +/* 8031F6D0 0031B330 41 81 00 0C */ bgt lbl_8031F6DC +/* 8031F6D4 0031B334 80 9F 00 18 */ lwz r4, 0x18(r31) +/* 8031F6D8 0031B338 48 00 06 9D */ bl func_8031FD74 +lbl_8031F6DC: +/* 8031F6DC 0031B33C 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031F6E0 0031B340 88 64 00 20 */ lbz r3, 0x20(r4) +/* 8031F6E4 0031B344 80 04 00 18 */ lwz r0, 0x18(r4) +/* 8031F6E8 0031B348 7C 03 00 00 */ cmpw r3, r0 +/* 8031F6EC 0031B34C 41 80 00 1C */ blt lbl_8031F708 +/* 8031F6F0 0031B350 38 00 00 03 */ li r0, 3 +/* 8031F6F4 0031B354 98 04 00 22 */ stb r0, 0x22(r4) +/* 8031F6F8 0031B358 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031F6FC 0031B35C 88 64 00 23 */ lbz r3, 0x23(r4) +/* 8031F700 0031B360 38 03 00 01 */ addi r0, r3, 1 +/* 8031F704 0031B364 98 04 00 23 */ stb r0, 0x23(r4) +lbl_8031F708: +/* 8031F708 0031B368 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031F70C 0031B36C 88 04 00 23 */ lbz r0, 0x23(r4) +/* 8031F710 0031B370 28 00 00 02 */ cmplwi r0, 2 +/* 8031F714 0031B374 41 80 00 34 */ blt lbl_8031F748 +/* 8031F718 0031B378 38 00 00 00 */ li r0, 0 +/* 8031F71C 0031B37C 38 60 00 00 */ li r3, 0 +/* 8031F720 0031B380 98 04 00 23 */ stb r0, 0x23(r4) +/* 8031F724 0031B384 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 8031F728 0031B388 81 85 00 30 */ lwz r12, 0x30(r5) +/* 8031F72C 0031B38C 88 85 00 21 */ lbz r4, 0x21(r5) +/* 8031F730 0031B390 80 A5 00 34 */ lwz r5, 0x34(r5) +/* 8031F734 0031B394 7D 89 03 A6 */ mtctr r12 +/* 8031F738 0031B398 4E 80 04 21 */ bctrl +/* 8031F73C 0031B39C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F740 0031B3A0 38 00 00 02 */ li r0, 2 +/* 8031F744 0031B3A4 90 03 00 00 */ stw r0, 0(r3) +lbl_8031F748: +/* 8031F748 0031B3A8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031F74C 0031B3AC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031F750 0031B3B0 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031F754 0031B3B4 7C 08 03 A6 */ mtlr r0 +/* 8031F758 0031B3B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031F75C 0031B3BC 4E 80 00 20 */ blr + +.global func_8031F760 +func_8031F760: +/* 8031F760 0031B3C0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F764 0031B3C4 38 80 00 00 */ li r4, 0 +/* 8031F768 0031B3C8 38 00 00 01 */ li r0, 1 +/* 8031F76C 0031B3CC 90 A3 00 30 */ stw r5, 0x30(r3) +/* 8031F770 0031B3D0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F774 0031B3D4 90 C3 00 34 */ stw r6, 0x34(r3) +/* 8031F778 0031B3D8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F77C 0031B3DC 90 E3 00 38 */ stw r7, 0x38(r3) +/* 8031F780 0031B3E0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F784 0031B3E4 91 03 00 3C */ stw r8, 0x3c(r3) +/* 8031F788 0031B3E8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F78C 0031B3EC 91 23 00 40 */ stw r9, 0x40(r3) +/* 8031F790 0031B3F0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F794 0031B3F4 91 43 00 44 */ stw r10, 0x44(r3) +/* 8031F798 0031B3F8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F79C 0031B3FC 98 83 00 21 */ stb r4, 0x21(r3) +/* 8031F7A0 0031B400 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F7A4 0031B404 98 83 00 22 */ stb r4, 0x22(r3) +/* 8031F7A8 0031B408 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F7AC 0031B40C 98 83 00 23 */ stb r4, 0x23(r3) +/* 8031F7B0 0031B410 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F7B4 0031B414 98 83 00 20 */ stb r4, 0x20(r3) +/* 8031F7B8 0031B418 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F7BC 0031B41C 90 03 00 00 */ stw r0, 0(r3) +/* 8031F7C0 0031B420 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031F7C4 0031B424 80 04 00 1C */ lwz r0, 0x1c(r4) +/* 8031F7C8 0031B428 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F7CC 0031B42C 40 82 00 10 */ bne lbl_8031F7DC +/* 8031F7D0 0031B430 88 64 00 23 */ lbz r3, 0x23(r4) +/* 8031F7D4 0031B434 38 03 00 01 */ addi r0, r3, 1 +/* 8031F7D8 0031B438 98 04 00 23 */ stb r0, 0x23(r4) +lbl_8031F7DC: +/* 8031F7DC 0031B43C 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031F7E0 0031B440 88 64 00 23 */ lbz r3, 0x23(r4) +/* 8031F7E4 0031B444 38 03 00 01 */ addi r0, r3, 1 +/* 8031F7E8 0031B448 98 04 00 23 */ stb r0, 0x23(r4) +/* 8031F7EC 0031B44C 4E 80 00 20 */ blr + +.global func_8031F7F0 +func_8031F7F0: +/* 8031F7F0 0031B450 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031F7F4 0031B454 7C 08 02 A6 */ mflr r0 +/* 8031F7F8 0031B458 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031F7FC 0031B45C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031F800 0031B460 7C 7F 1B 78 */ mr r31, r3 +/* 8031F804 0031B464 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 8031F808 0031B468 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F80C 0031B46C 41 82 00 68 */ beq lbl_8031F874 +/* 8031F810 0031B470 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F814 0031B474 40 82 00 08 */ bne lbl_8031F81C +/* 8031F818 0031B478 48 00 00 5C */ b lbl_8031F874 +lbl_8031F81C: +/* 8031F81C 0031B47C 4B FF CD 65 */ bl func_8031C580 +/* 8031F820 0031B480 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 8031F824 0031B484 80 05 00 00 */ lwz r0, 0(r5) +/* 8031F828 0031B488 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F82C 0031B48C 41 82 00 24 */ beq lbl_8031F850 +/* 8031F830 0031B490 2C 00 00 02 */ cmpwi r0, 2 +/* 8031F834 0031B494 41 82 00 1C */ beq lbl_8031F850 +/* 8031F838 0031B498 81 85 00 30 */ lwz r12, 0x30(r5) +/* 8031F83C 0031B49C 7F E3 FB 78 */ mr r3, r31 +/* 8031F840 0031B4A0 88 85 00 21 */ lbz r4, 0x21(r5) +/* 8031F844 0031B4A4 80 A5 00 34 */ lwz r5, 0x34(r5) +/* 8031F848 0031B4A8 7D 89 03 A6 */ mtctr r12 +/* 8031F84C 0031B4AC 4E 80 04 21 */ bctrl +lbl_8031F850: +/* 8031F850 0031B4B0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F854 0031B4B4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F858 0031B4B8 41 82 00 1C */ beq lbl_8031F874 +/* 8031F85C 0031B4BC 38 00 00 00 */ li r0, 0 +/* 8031F860 0031B4C0 90 03 00 00 */ stw r0, 0(r3) +/* 8031F864 0031B4C4 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F868 0031B4C8 98 03 00 22 */ stb r0, 0x22(r3) +/* 8031F86C 0031B4CC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F870 0031B4D0 98 03 00 23 */ stb r0, 0x23(r3) +lbl_8031F874: +/* 8031F874 0031B4D4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031F878 0031B4D8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031F87C 0031B4DC 7C 08 03 A6 */ mtlr r0 +/* 8031F880 0031B4E0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031F884 0031B4E4 4E 80 00 20 */ blr +lbl_8031F888: +/* 8031F888 0031B4E8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031F88C 0031B4EC 7C 08 02 A6 */ mflr r0 +/* 8031F890 0031B4F0 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031F894 0031B4F4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031F898 0031B4F8 7C 9F 23 78 */ mr r31, r4 +/* 8031F89C 0031B4FC 3C 80 80 44 */ lis r4, lbl_80446D08@ha +/* 8031F8A0 0031B500 93 C1 00 08 */ stw r30, 8(r1) +/* 8031F8A4 0031B504 7C 7E 1B 78 */ mr r30, r3 +/* 8031F8A8 0031B508 38 84 6D 08 */ addi r4, r4, lbl_80446D08@l +/* 8031F8AC 0031B50C 3C 60 00 02 */ lis r3, 2 +/* 8031F8B0 0031B510 80 BF 00 00 */ lwz r5, 0(r31) +/* 8031F8B4 0031B514 4C C6 31 82 */ crclr 6 +/* 8031F8B8 0031B518 4B FF D2 7D */ bl func_8031CB34 +/* 8031F8BC 0031B51C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F8C0 0031B520 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8031F8C4 0031B524 2C 00 00 00 */ cmpwi r0, 0 +/* 8031F8C8 0031B528 41 82 00 38 */ beq lbl_8031F900 +/* 8031F8CC 0031B52C 3C 80 80 44 */ lis r4, lbl_80446D28@ha +/* 8031F8D0 0031B530 3C 60 00 02 */ lis r3, 2 +/* 8031F8D4 0031B534 38 84 6D 28 */ addi r4, r4, lbl_80446D28@l +/* 8031F8D8 0031B538 4C C6 31 82 */ crclr 6 +/* 8031F8DC 0031B53C 4B FF D2 59 */ bl func_8031CB34 +/* 8031F8E0 0031B540 3C E0 80 32 */ lis r7, lbl_80320A10@ha +/* 8031F8E4 0031B544 80 9F 00 00 */ lwz r4, 0(r31) +/* 8031F8E8 0031B548 7F C3 F3 78 */ mr r3, r30 +/* 8031F8EC 0031B54C 38 A0 00 00 */ li r5, 0 +/* 8031F8F0 0031B550 38 E7 0A 10 */ addi r7, r7, lbl_80320A10@l +/* 8031F8F4 0031B554 38 C0 00 00 */ li r6, 0 +/* 8031F8F8 0031B558 39 00 00 00 */ li r8, 0 +/* 8031F8FC 0031B55C 48 01 D8 41 */ bl gpGetInfo +lbl_8031F900: +/* 8031F900 0031B560 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031F904 0031B564 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031F908 0031B568 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031F90C 0031B56C 7C 08 03 A6 */ mtlr r0 +/* 8031F910 0031B570 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031F914 0031B574 4E 80 00 20 */ blr + +.global func_8031F918 +func_8031F918: +/* 8031F918 0031B578 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031F91C 0031B57C 7C 08 02 A6 */ mflr r0 +/* 8031F920 0031B580 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031F924 0031B584 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031F928 0031B588 3F E0 80 44 */ lis r31, lbl_80446C80@ha +/* 8031F92C 0031B58C 3B FF 6C 80 */ addi r31, r31, lbl_80446C80@l +/* 8031F930 0031B590 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031F934 0031B594 7C 9E 23 78 */ mr r30, r4 +/* 8031F938 0031B598 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031F93C 0031B59C 7C 7D 1B 78 */ mr r29, r3 +/* 8031F940 0031B5A0 80 64 00 08 */ lwz r3, 8(r4) +/* 8031F944 0031B5A4 38 9F 00 C4 */ addi r4, r31, 0xc4 +/* 8031F948 0031B5A8 4B EA EB 05 */ bl strcmp +/* 8031F94C 0031B5AC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031F950 0031B5B0 40 82 00 50 */ bne lbl_8031F9A0 +/* 8031F954 0031B5B4 80 BE 00 00 */ lwz r5, 0(r30) +/* 8031F958 0031B5B8 38 9F 00 FC */ addi r4, r31, 0xfc +/* 8031F95C 0031B5BC 3C 60 00 02 */ lis r3, 2 +/* 8031F960 0031B5C0 4C C6 31 82 */ crclr 6 +/* 8031F964 0031B5C4 4B FF D1 D1 */ bl func_8031CB34 +/* 8031F968 0031B5C8 38 9F 00 A8 */ addi r4, r31, 0xa8 +/* 8031F96C 0031B5CC 3C 60 00 02 */ lis r3, 2 +/* 8031F970 0031B5D0 4C C6 31 82 */ crclr 6 +/* 8031F974 0031B5D4 4B FF D1 C1 */ bl func_8031CB34 +/* 8031F978 0031B5D8 3C E0 80 32 */ lis r7, lbl_80320BFC@ha +/* 8031F97C 0031B5DC 80 9E 00 00 */ lwz r4, 0(r30) +/* 8031F980 0031B5E0 7F A3 EB 78 */ mr r3, r29 +/* 8031F984 0031B5E4 38 A0 00 00 */ li r5, 0 +/* 8031F988 0031B5E8 38 E7 0B FC */ addi r7, r7, lbl_80320BFC@l +/* 8031F98C 0031B5EC 38 C0 00 00 */ li r6, 0 +/* 8031F990 0031B5F0 39 00 00 00 */ li r8, 0 +/* 8031F994 0031B5F4 48 01 D7 A9 */ bl gpGetInfo +/* 8031F998 0031B5F8 38 60 00 01 */ li r3, 1 +/* 8031F99C 0031B5FC 48 00 00 08 */ b lbl_8031F9A4 +lbl_8031F9A0: +/* 8031F9A0 0031B600 38 60 00 00 */ li r3, 0 +lbl_8031F9A4: +/* 8031F9A4 0031B604 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031F9A8 0031B608 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031F9AC 0031B60C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031F9B0 0031B610 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031F9B4 0031B614 7C 08 03 A6 */ mtlr r0 +/* 8031F9B8 0031B618 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031F9BC 0031B61C 4E 80 00 20 */ blr +lbl_8031F9C0: +/* 8031F9C0 0031B620 94 21 FD D0 */ stwu r1, -0x230(r1) +/* 8031F9C4 0031B624 7C 08 02 A6 */ mflr r0 +/* 8031F9C8 0031B628 90 01 02 34 */ stw r0, 0x234(r1) +/* 8031F9CC 0031B62C 39 61 02 30 */ addi r11, r1, 0x230 +/* 8031F9D0 0031B630 4B EA 77 55 */ bl _savegpr_26 +/* 8031F9D4 0031B634 7C 9B 23 78 */ mr r27, r4 +/* 8031F9D8 0031B638 3C 80 80 44 */ lis r4, lbl_80446DAC@ha +/* 8031F9DC 0031B63C 80 BB 00 00 */ lwz r5, 0(r27) +/* 8031F9E0 0031B640 7C 7A 1B 78 */ mr r26, r3 +/* 8031F9E4 0031B644 38 84 6D AC */ addi r4, r4, lbl_80446DAC@l +/* 8031F9E8 0031B648 3C 60 00 02 */ lis r3, 2 +/* 8031F9EC 0031B64C 4C C6 31 82 */ crclr 6 +/* 8031F9F0 0031B650 4B FF D1 45 */ bl func_8031CB34 +/* 8031F9F4 0031B654 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031F9F8 0031B658 80 03 00 38 */ lwz r0, 0x38(r3) +/* 8031F9FC 0031B65C 2C 00 00 00 */ cmpwi r0, 0 +/* 8031FA00 0031B660 41 82 00 C4 */ beq lbl_8031FAC4 +/* 8031FA04 0031B664 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FA08 0031B668 83 FB 00 00 */ lwz r31, 0(r27) +/* 8031FA0C 0031B66C 41 82 00 0C */ beq lbl_8031FA18 +/* 8031FA10 0031B670 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031FA14 0031B674 40 82 00 0C */ bne lbl_8031FA20 +lbl_8031FA18: +/* 8031FA18 0031B678 3B C0 FF FF */ li r30, -1 +/* 8031FA1C 0031B67C 48 00 00 6C */ b lbl_8031FA88 +lbl_8031FA20: +/* 8031FA20 0031B680 3B C0 00 00 */ li r30, 0 +/* 8031FA24 0031B684 3B A0 00 00 */ li r29, 0 +/* 8031FA28 0031B688 48 00 00 4C */ b lbl_8031FA74 +lbl_8031FA2C: +/* 8031FA2C 0031B68C 83 83 00 1C */ lwz r28, 0x1c(r3) +/* 8031FA30 0031B690 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031FA34 0031B694 40 82 00 0C */ bne lbl_8031FA40 +/* 8031FA38 0031B698 38 60 00 00 */ li r3, 0 +/* 8031FA3C 0031B69C 48 00 00 24 */ b lbl_8031FA60 +lbl_8031FA40: +/* 8031FA40 0031B6A0 48 00 17 75 */ bl func_803211B4 +/* 8031FA44 0031B6A4 7C 9C EA 14 */ add r4, r28, r29 +/* 8031FA48 0031B6A8 48 01 3C B5 */ bl func_803336FC +/* 8031FA4C 0031B6AC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FA50 0031B6B0 41 82 00 0C */ beq lbl_8031FA5C +/* 8031FA54 0031B6B4 2C 03 FF FF */ cmpwi r3, -1 +/* 8031FA58 0031B6B8 40 82 00 08 */ bne lbl_8031FA60 +lbl_8031FA5C: +/* 8031FA5C 0031B6BC 38 60 00 00 */ li r3, 0 +lbl_8031FA60: +/* 8031FA60 0031B6C0 7C 1F 18 00 */ cmpw r31, r3 +/* 8031FA64 0031B6C4 40 82 00 08 */ bne lbl_8031FA6C +/* 8031FA68 0031B6C8 48 00 00 20 */ b lbl_8031FA88 +lbl_8031FA6C: +/* 8031FA6C 0031B6CC 3B BD 00 0C */ addi r29, r29, 0xc +/* 8031FA70 0031B6D0 3B DE 00 01 */ addi r30, r30, 1 +lbl_8031FA74: +/* 8031FA74 0031B6D4 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FA78 0031B6D8 80 03 00 18 */ lwz r0, 0x18(r3) +/* 8031FA7C 0031B6DC 7C 1E 00 00 */ cmpw r30, r0 +/* 8031FA80 0031B6E0 41 80 FF AC */ blt lbl_8031FA2C +/* 8031FA84 0031B6E4 3B C0 FF FF */ li r30, -1 +lbl_8031FA88: +/* 8031FA88 0031B6E8 2C 1E FF FF */ cmpwi r30, -1 +/* 8031FA8C 0031B6EC 41 82 00 38 */ beq lbl_8031FAC4 +/* 8031FA90 0031B6F0 80 9B 00 08 */ lwz r4, 8(r27) +/* 8031FA94 0031B6F4 7F 43 D3 78 */ mr r3, r26 +/* 8031FA98 0031B6F8 38 A1 00 08 */ addi r5, r1, 8 +/* 8031FA9C 0031B6FC 48 01 DB 11 */ bl gpGetBuddyStatus +/* 8031FAA0 0031B700 80 CD B0 48 */ lwz r6, lbl_80640308-_SDA_BASE_(r13) +/* 8031FAA4 0031B704 7F C3 F3 78 */ mr r3, r30 +/* 8031FAA8 0031B708 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8031FAAC 0031B70C 38 A1 01 10 */ addi r5, r1, 0x110 +/* 8031FAB0 0031B710 81 86 00 38 */ lwz r12, 0x38(r6) +/* 8031FAB4 0031B714 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 8031FAB8 0031B718 80 C6 00 3C */ lwz r6, 0x3c(r6) +/* 8031FABC 0031B71C 7D 89 03 A6 */ mtctr r12 +/* 8031FAC0 0031B720 4E 80 04 21 */ bctrl +lbl_8031FAC4: +/* 8031FAC4 0031B724 39 61 02 30 */ addi r11, r1, 0x230 +/* 8031FAC8 0031B728 4B EA 76 A9 */ bl _restgpr_26 +/* 8031FACC 0031B72C 80 01 02 34 */ lwz r0, 0x234(r1) +/* 8031FAD0 0031B730 7C 08 03 A6 */ mtlr r0 +/* 8031FAD4 0031B734 38 21 02 30 */ addi r1, r1, 0x230 +/* 8031FAD8 0031B738 4E 80 00 20 */ blr + +.global func_8031FADC +func_8031FADC: +/* 8031FADC 0031B73C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031FAE0 0031B740 7C 08 02 A6 */ mflr r0 +/* 8031FAE4 0031B744 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031FAE8 0031B748 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8031FAEC 0031B74C 93 C1 00 08 */ stw r30, 8(r1) +/* 8031FAF0 0031B750 7C 7E 1B 78 */ mr r30, r3 +/* 8031FAF4 0031B754 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031FAF8 0031B758 83 E4 00 1C */ lwz r31, 0x1c(r4) +/* 8031FAFC 0031B75C 2C 1F 00 00 */ cmpwi r31, 0 +/* 8031FB00 0031B760 40 82 00 0C */ bne lbl_8031FB0C +/* 8031FB04 0031B764 38 60 00 00 */ li r3, 0 +/* 8031FB08 0031B768 48 00 00 28 */ b lbl_8031FB30 +lbl_8031FB0C: +/* 8031FB0C 0031B76C 48 00 16 A9 */ bl func_803211B4 +/* 8031FB10 0031B770 1C 1E 00 0C */ mulli r0, r30, 0xc +/* 8031FB14 0031B774 7C 9F 02 14 */ add r4, r31, r0 +/* 8031FB18 0031B778 48 01 3B E5 */ bl func_803336FC +/* 8031FB1C 0031B77C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FB20 0031B780 41 82 00 0C */ beq lbl_8031FB2C +/* 8031FB24 0031B784 2C 03 FF FF */ cmpwi r3, -1 +/* 8031FB28 0031B788 40 82 00 08 */ bne lbl_8031FB30 +lbl_8031FB2C: +/* 8031FB2C 0031B78C 38 60 00 00 */ li r3, 0 +lbl_8031FB30: +/* 8031FB30 0031B790 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031FB34 0031B794 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8031FB38 0031B798 83 C1 00 08 */ lwz r30, 8(r1) +/* 8031FB3C 0031B79C 7C 08 03 A6 */ mtlr r0 +/* 8031FB40 0031B7A0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031FB44 0031B7A4 4E 80 00 20 */ blr + +.global func_8031FB48 +func_8031FB48: +/* 8031FB48 0031B7A8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031FB4C 0031B7AC 7C 08 02 A6 */ mflr r0 +/* 8031FB50 0031B7B0 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031FB54 0031B7B4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031FB58 0031B7B8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031FB5C 0031B7BC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031FB60 0031B7C0 93 81 00 10 */ stw r28, 0x10(r1) +/* 8031FB64 0031B7C4 7C 7C 1B 78 */ mr r28, r3 +/* 8031FB68 0031B7C8 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 8031FB6C 0031B7CC 2C 00 00 00 */ cmpwi r0, 0 +/* 8031FB70 0031B7D0 41 82 00 0C */ beq lbl_8031FB7C +/* 8031FB74 0031B7D4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FB78 0031B7D8 40 82 00 0C */ bne lbl_8031FB84 +lbl_8031FB7C: +/* 8031FB7C 0031B7DC 38 60 FF FF */ li r3, -1 +/* 8031FB80 0031B7E0 48 00 00 70 */ b lbl_8031FBF0 +lbl_8031FB84: +/* 8031FB84 0031B7E4 3B A0 00 00 */ li r29, 0 +/* 8031FB88 0031B7E8 3B E0 00 00 */ li r31, 0 +/* 8031FB8C 0031B7EC 48 00 00 50 */ b lbl_8031FBDC +lbl_8031FB90: +/* 8031FB90 0031B7F0 83 C3 00 1C */ lwz r30, 0x1c(r3) +/* 8031FB94 0031B7F4 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031FB98 0031B7F8 40 82 00 0C */ bne lbl_8031FBA4 +/* 8031FB9C 0031B7FC 38 60 00 00 */ li r3, 0 +/* 8031FBA0 0031B800 48 00 00 24 */ b lbl_8031FBC4 +lbl_8031FBA4: +/* 8031FBA4 0031B804 48 00 16 11 */ bl func_803211B4 +/* 8031FBA8 0031B808 7C 9E FA 14 */ add r4, r30, r31 +/* 8031FBAC 0031B80C 48 01 3B 51 */ bl func_803336FC +/* 8031FBB0 0031B810 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FBB4 0031B814 41 82 00 0C */ beq lbl_8031FBC0 +/* 8031FBB8 0031B818 2C 03 FF FF */ cmpwi r3, -1 +/* 8031FBBC 0031B81C 40 82 00 08 */ bne lbl_8031FBC4 +lbl_8031FBC0: +/* 8031FBC0 0031B820 38 60 00 00 */ li r3, 0 +lbl_8031FBC4: +/* 8031FBC4 0031B824 7C 1C 18 00 */ cmpw r28, r3 +/* 8031FBC8 0031B828 40 82 00 0C */ bne lbl_8031FBD4 +/* 8031FBCC 0031B82C 7F A3 EB 78 */ mr r3, r29 +/* 8031FBD0 0031B830 48 00 00 20 */ b lbl_8031FBF0 +lbl_8031FBD4: +/* 8031FBD4 0031B834 3B FF 00 0C */ addi r31, r31, 0xc +/* 8031FBD8 0031B838 3B BD 00 01 */ addi r29, r29, 1 +lbl_8031FBDC: +/* 8031FBDC 0031B83C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FBE0 0031B840 80 03 00 18 */ lwz r0, 0x18(r3) +/* 8031FBE4 0031B844 7C 1D 00 00 */ cmpw r29, r0 +/* 8031FBE8 0031B848 41 80 FF A8 */ blt lbl_8031FB90 +/* 8031FBEC 0031B84C 38 60 FF FF */ li r3, -1 +lbl_8031FBF0: +/* 8031FBF0 0031B850 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031FBF4 0031B854 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031FBF8 0031B858 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031FBFC 0031B85C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031FC00 0031B860 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8031FC04 0031B864 7C 08 03 A6 */ mtlr r0 +/* 8031FC08 0031B868 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031FC0C 0031B86C 4E 80 00 20 */ blr + +.global func_8031FC10 +func_8031FC10: +/* 8031FC10 0031B870 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8031FC14 0031B874 7C 08 02 A6 */ mflr r0 +/* 8031FC18 0031B878 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031FC1C 0031B87C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FC20 0031B880 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FC24 0031B884 41 82 00 1C */ beq lbl_8031FC40 +/* 8031FC28 0031B888 38 00 00 00 */ li r0, 0 +/* 8031FC2C 0031B88C 90 03 00 08 */ stw r0, 8(r3) +/* 8031FC30 0031B890 4B F5 2B 89 */ bl OSGetTime +/* 8031FC34 0031B894 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 8031FC38 0031B898 90 85 00 14 */ stw r4, 0x14(r5) +/* 8031FC3C 0031B89C 90 65 00 10 */ stw r3, 0x10(r5) +lbl_8031FC40: +/* 8031FC40 0031B8A0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031FC44 0031B8A4 7C 08 03 A6 */ mtlr r0 +/* 8031FC48 0031B8A8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8031FC4C 0031B8AC 4E 80 00 20 */ blr + +.global func_8031FC50 +func_8031FC50: +/* 8031FC50 0031B8B0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8031FC54 0031B8B4 7C 08 02 A6 */ mflr r0 +/* 8031FC58 0031B8B8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8031FC5C 0031B8BC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8031FC60 0031B8C0 3F E0 80 44 */ lis r31, lbl_80446C80@ha +/* 8031FC64 0031B8C4 3B FF 6C 80 */ addi r31, r31, lbl_80446C80@l +/* 8031FC68 0031B8C8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8031FC6C 0031B8CC 7C BE 2B 78 */ mr r30, r5 +/* 8031FC70 0031B8D0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8031FC74 0031B8D4 7C 9D 23 78 */ mr r29, r4 +/* 8031FC78 0031B8D8 93 81 00 10 */ stw r28, 0x10(r1) +/* 8031FC7C 0031B8DC 7C 7C 1B 78 */ mr r28, r3 +/* 8031FC80 0031B8E0 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 8031FC84 0031B8E4 2C 00 00 00 */ cmpwi r0, 0 +/* 8031FC88 0031B8E8 41 82 00 10 */ beq lbl_8031FC98 +/* 8031FC8C 0031B8EC 48 00 1F 49 */ bl func_80321BD4 +/* 8031FC90 0031B8F0 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FC94 0031B8F4 40 82 00 0C */ bne lbl_8031FCA0 +lbl_8031FC98: +/* 8031FC98 0031B8F8 38 60 00 00 */ li r3, 0 +/* 8031FC9C 0031B8FC 48 00 00 AC */ b lbl_8031FD48 +lbl_8031FCA0: +/* 8031FCA0 0031B900 2C 1C FF FF */ cmpwi r28, -1 +/* 8031FCA4 0031B904 40 82 00 18 */ bne lbl_8031FCBC +/* 8031FCA8 0031B908 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FCAC 0031B90C 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FCB0 0031B910 80 63 00 00 */ lwz r3, 0(r3) +/* 8031FCB4 0031B914 83 83 02 30 */ lwz r28, 0x230(r3) +/* 8031FCB8 0031B918 48 00 00 18 */ b lbl_8031FCD0 +lbl_8031FCBC: +/* 8031FCBC 0031B91C 7F 85 E3 78 */ mr r5, r28 +/* 8031FCC0 0031B920 38 9F 01 50 */ addi r4, r31, 0x150 +/* 8031FCC4 0031B924 38 60 00 04 */ li r3, 4 +/* 8031FCC8 0031B928 4C C6 31 82 */ crclr 6 +/* 8031FCCC 0031B92C 4B FF CE 69 */ bl func_8031CB34 +lbl_8031FCD0: +/* 8031FCD0 0031B930 2C 1D 00 00 */ cmpwi r29, 0 +/* 8031FCD4 0031B934 40 82 00 18 */ bne lbl_8031FCEC +/* 8031FCD8 0031B938 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FCDC 0031B93C 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FCE0 0031B940 80 63 00 00 */ lwz r3, 0(r3) +/* 8031FCE4 0031B944 3B A3 02 34 */ addi r29, r3, 0x234 +/* 8031FCE8 0031B948 48 00 00 18 */ b lbl_8031FD00 +lbl_8031FCEC: +/* 8031FCEC 0031B94C 7F A5 EB 78 */ mr r5, r29 +/* 8031FCF0 0031B950 38 9F 01 70 */ addi r4, r31, 0x170 +/* 8031FCF4 0031B954 38 60 00 04 */ li r3, 4 +/* 8031FCF8 0031B958 4C C6 31 82 */ crclr 6 +/* 8031FCFC 0031B95C 4B FF CE 39 */ bl func_8031CB34 +lbl_8031FD00: +/* 8031FD00 0031B960 2C 1E 00 00 */ cmpwi r30, 0 +/* 8031FD04 0031B964 40 82 00 18 */ bne lbl_8031FD1C +/* 8031FD08 0031B968 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FD0C 0031B96C 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FD10 0031B970 80 63 00 00 */ lwz r3, 0(r3) +/* 8031FD14 0031B974 3B C3 03 34 */ addi r30, r3, 0x334 +/* 8031FD18 0031B978 48 00 00 18 */ b lbl_8031FD30 +lbl_8031FD1C: +/* 8031FD1C 0031B97C 7F C5 F3 78 */ mr r5, r30 +/* 8031FD20 0031B980 38 9F 01 94 */ addi r4, r31, 0x194 +/* 8031FD24 0031B984 38 60 00 04 */ li r3, 4 +/* 8031FD28 0031B988 4C C6 31 82 */ crclr 6 +/* 8031FD2C 0031B98C 4B FF CE 09 */ bl func_8031CB34 +lbl_8031FD30: +/* 8031FD30 0031B990 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FD34 0031B994 7F 84 E3 78 */ mr r4, r28 +/* 8031FD38 0031B998 7F A5 EB 78 */ mr r5, r29 +/* 8031FD3C 0031B99C 7F C6 F3 78 */ mr r6, r30 +/* 8031FD40 0031B9A0 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FD44 0031B9A4 48 01 DB 51 */ bl gpSetStatusA +lbl_8031FD48: +/* 8031FD48 0031B9A8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8031FD4C 0031B9AC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8031FD50 0031B9B0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8031FD54 0031B9B4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8031FD58 0031B9B8 83 81 00 10 */ lwz r28, 0x10(r1) +/* 8031FD5C 0031B9BC 7C 08 03 A6 */ mtlr r0 +/* 8031FD60 0031B9C0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8031FD64 0031B9C4 4E 80 00 20 */ blr + +.global func_8031FD68 +func_8031FD68: +/* 8031FD68 0031B9C8 38 00 00 00 */ li r0, 0 +/* 8031FD6C 0031B9CC 90 0D B0 48 */ stw r0, lbl_80640308-_SDA_BASE_(r13) +/* 8031FD70 0031B9D0 4E 80 00 20 */ blr + +.global func_8031FD74 +func_8031FD74: +/* 8031FD74 0031B9D4 94 21 FD A0 */ stwu r1, -0x260(r1) +/* 8031FD78 0031B9D8 7C 08 02 A6 */ mflr r0 +/* 8031FD7C 0031B9DC 90 01 02 64 */ stw r0, 0x264(r1) +/* 8031FD80 0031B9E0 39 61 02 60 */ addi r11, r1, 0x260 +/* 8031FD84 0031B9E4 4B EA 73 9D */ bl _savegpr_25 +/* 8031FD88 0031B9E8 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 8031FD8C 0031B9EC 3F E0 80 44 */ lis r31, lbl_80446C80@ha +/* 8031FD90 0031B9F0 7C 7D 1B 78 */ mr r29, r3 +/* 8031FD94 0031B9F4 7C 9E 23 78 */ mr r30, r4 +/* 8031FD98 0031B9F8 88 05 00 22 */ lbz r0, 0x22(r5) +/* 8031FD9C 0031B9FC 3B FF 6C 80 */ addi r31, r31, lbl_80446C80@l +/* 8031FDA0 0031BA00 2C 00 00 00 */ cmpwi r0, 0 +/* 8031FDA4 0031BA04 40 82 02 B4 */ bne lbl_80320058 +/* 8031FDA8 0031BA08 80 65 00 04 */ lwz r3, 4(r5) +/* 8031FDAC 0031BA0C 38 81 00 14 */ addi r4, r1, 0x14 +/* 8031FDB0 0031BA10 48 01 D7 B5 */ bl gpGetNumBuddies +/* 8031FDB4 0031BA14 48 00 07 09 */ bl func_803204BC +/* 8031FDB8 0031BA18 80 A1 00 14 */ lwz r5, 0x14(r1) +/* 8031FDBC 0031BA1C 38 9F 01 BC */ addi r4, r31, 0x1bc +/* 8031FDC0 0031BA20 3C 60 00 02 */ lis r3, 2 +/* 8031FDC4 0031BA24 4C C6 31 82 */ crclr 6 +/* 8031FDC8 0031BA28 4B FF CD 6D */ bl func_8031CB34 +/* 8031FDCC 0031BA2C 38 80 00 00 */ li r4, 0 +/* 8031FDD0 0031BA30 3B 80 00 01 */ li r28, 1 +/* 8031FDD4 0031BA34 90 81 00 10 */ stw r4, 0x10(r1) +/* 8031FDD8 0031BA38 48 00 01 04 */ b lbl_8031FEDC +lbl_8031FDDC: +/* 8031FDDC 0031BA3C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FDE0 0031BA40 38 A1 00 30 */ addi r5, r1, 0x30 +/* 8031FDE4 0031BA44 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FDE8 0031BA48 48 01 D7 C5 */ bl gpGetBuddyStatus +/* 8031FDEC 0031BA4C 48 00 06 D1 */ bl func_803204BC +/* 8031FDF0 0031BA50 3B 20 00 00 */ li r25, 0 +/* 8031FDF4 0031BA54 3B 60 00 00 */ li r27, 0 +/* 8031FDF8 0031BA58 48 00 00 88 */ b lbl_8031FE80 +lbl_8031FDFC: +/* 8031FDFC 0031BA5C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FE00 0031BA60 83 43 00 1C */ lwz r26, 0x1c(r3) +/* 8031FE04 0031BA64 2C 1A 00 00 */ cmpwi r26, 0 +/* 8031FE08 0031BA68 40 82 00 0C */ bne lbl_8031FE14 +/* 8031FE0C 0031BA6C 38 60 00 00 */ li r3, 0 +/* 8031FE10 0031BA70 48 00 00 24 */ b lbl_8031FE34 +lbl_8031FE14: +/* 8031FE14 0031BA74 48 00 13 A1 */ bl func_803211B4 +/* 8031FE18 0031BA78 7C 9A DA 14 */ add r4, r26, r27 +/* 8031FE1C 0031BA7C 48 01 38 E1 */ bl func_803336FC +/* 8031FE20 0031BA80 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FE24 0031BA84 41 82 00 0C */ beq lbl_8031FE30 +/* 8031FE28 0031BA88 2C 03 FF FF */ cmpwi r3, -1 +/* 8031FE2C 0031BA8C 40 82 00 08 */ bne lbl_8031FE34 +lbl_8031FE30: +/* 8031FE30 0031BA90 38 60 00 00 */ li r3, 0 +lbl_8031FE34: +/* 8031FE34 0031BA94 80 01 00 30 */ lwz r0, 0x30(r1) +/* 8031FE38 0031BA98 7C 00 18 00 */ cmpw r0, r3 +/* 8031FE3C 0031BA9C 40 82 00 3C */ bne lbl_8031FE78 +/* 8031FE40 0031BAA0 1F 59 00 0C */ mulli r26, r25, 0xc +/* 8031FE44 0031BAA4 7C 7D D2 14 */ add r3, r29, r26 +/* 8031FE48 0031BAA8 48 01 2D 05 */ bl func_80332B4C +/* 8031FE4C 0031BAAC 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FE50 0031BAB0 40 82 00 38 */ bne lbl_8031FE88 +/* 8031FE54 0031BAB4 7F 5D D2 14 */ add r26, r29, r26 +/* 8031FE58 0031BAB8 80 81 00 30 */ lwz r4, 0x30(r1) +/* 8031FE5C 0031BABC 7F 43 D3 78 */ mr r3, r26 +/* 8031FE60 0031BAC0 48 01 3B FD */ bl func_80333A5C +/* 8031FE64 0031BAC4 7F 43 D3 78 */ mr r3, r26 +/* 8031FE68 0031BAC8 48 01 2D 15 */ bl func_80332B7C +/* 8031FE6C 0031BACC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FE70 0031BAD0 9B 83 00 21 */ stb r28, 0x21(r3) +/* 8031FE74 0031BAD4 48 00 00 14 */ b lbl_8031FE88 +lbl_8031FE78: +/* 8031FE78 0031BAD8 3B 7B 00 0C */ addi r27, r27, 0xc +/* 8031FE7C 0031BADC 3B 39 00 01 */ addi r25, r25, 1 +lbl_8031FE80: +/* 8031FE80 0031BAE0 7C 19 F0 00 */ cmpw r25, r30 +/* 8031FE84 0031BAE4 41 80 FF 78 */ blt lbl_8031FDFC +lbl_8031FE88: +/* 8031FE88 0031BAE8 7C 19 F0 00 */ cmpw r25, r30 +/* 8031FE8C 0031BAEC 40 82 00 44 */ bne lbl_8031FED0 +/* 8031FE90 0031BAF0 80 A1 00 30 */ lwz r5, 0x30(r1) +/* 8031FE94 0031BAF4 38 9F 01 D4 */ addi r4, r31, 0x1d4 +/* 8031FE98 0031BAF8 3C 60 00 02 */ lis r3, 2 +/* 8031FE9C 0031BAFC 4C C6 31 82 */ crclr 6 +/* 8031FEA0 0031BB00 4B FF CC 95 */ bl func_8031CB34 +/* 8031FEA4 0031BB04 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FEA8 0031BB08 80 81 00 30 */ lwz r4, 0x30(r1) +/* 8031FEAC 0031BB0C 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FEB0 0031BB10 48 01 D9 5D */ bl gpDeleteBuddy +/* 8031FEB4 0031BB14 48 00 06 09 */ bl func_803204BC +/* 8031FEB8 0031BB18 80 81 00 14 */ lwz r4, 0x14(r1) +/* 8031FEBC 0031BB1C 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8031FEC0 0031BB20 38 04 FF FF */ addi r0, r4, -1 +/* 8031FEC4 0031BB24 38 83 FF FF */ addi r4, r3, -1 +/* 8031FEC8 0031BB28 90 01 00 14 */ stw r0, 0x14(r1) +/* 8031FECC 0031BB2C 90 81 00 10 */ stw r4, 0x10(r1) +lbl_8031FED0: +/* 8031FED0 0031BB30 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8031FED4 0031BB34 38 83 00 01 */ addi r4, r3, 1 +/* 8031FED8 0031BB38 90 81 00 10 */ stw r4, 0x10(r1) +lbl_8031FEDC: +/* 8031FEDC 0031BB3C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8031FEE0 0031BB40 7C 04 00 00 */ cmpw r4, r0 +/* 8031FEE4 0031BB44 41 80 FE F8 */ blt lbl_8031FDDC +/* 8031FEE8 0031BB48 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FEEC 0031BB4C 38 00 00 01 */ li r0, 1 +/* 8031FEF0 0031BB50 98 03 00 22 */ stb r0, 0x22(r3) +/* 8031FEF4 0031BB54 48 00 01 64 */ b lbl_80320058 +lbl_8031FEF8: +/* 8031FEF8 0031BB58 83 63 00 1C */ lwz r27, 0x1c(r3) +/* 8031FEFC 0031BB5C 2C 1B 00 00 */ cmpwi r27, 0 +/* 8031FF00 0031BB60 40 82 00 0C */ bne lbl_8031FF0C +/* 8031FF04 0031BB64 3B 80 00 00 */ li r28, 0 +/* 8031FF08 0031BB68 48 00 00 30 */ b lbl_8031FF38 +lbl_8031FF0C: +/* 8031FF0C 0031BB6C 48 00 12 A9 */ bl func_803211B4 +/* 8031FF10 0031BB70 1C 1A 00 0C */ mulli r0, r26, 0xc +/* 8031FF14 0031BB74 7C 9B 02 14 */ add r4, r27, r0 +/* 8031FF18 0031BB78 48 01 37 E5 */ bl func_803336FC +/* 8031FF1C 0031BB7C 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FF20 0031BB80 41 82 00 0C */ beq lbl_8031FF2C +/* 8031FF24 0031BB84 2C 03 FF FF */ cmpwi r3, -1 +/* 8031FF28 0031BB88 40 82 00 0C */ bne lbl_8031FF34 +lbl_8031FF2C: +/* 8031FF2C 0031BB8C 3B 80 00 00 */ li r28, 0 +/* 8031FF30 0031BB90 48 00 00 08 */ b lbl_8031FF38 +lbl_8031FF34: +/* 8031FF34 0031BB94 7C 7C 1B 78 */ mr r28, r3 +lbl_8031FF38: +/* 8031FF38 0031BB98 2C 1C 00 00 */ cmpwi r28, 0 +/* 8031FF3C 0031BB9C 41 82 00 74 */ beq lbl_8031FFB0 +/* 8031FF40 0031BBA0 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031FF44 0031BBA4 7F A3 EB 78 */ mr r3, r29 +/* 8031FF48 0031BBA8 7F 85 E3 78 */ mr r5, r28 +/* 8031FF4C 0031BBAC 88 84 00 20 */ lbz r4, 0x20(r4) +/* 8031FF50 0031BBB0 48 00 01 31 */ bl func_80320080 +/* 8031FF54 0031BBB4 2C 03 00 00 */ cmpwi r3, 0 +/* 8031FF58 0031BBB8 40 82 00 F0 */ bne lbl_80320048 +/* 8031FF5C 0031BBBC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FF60 0031BBC0 7F 84 E3 78 */ mr r4, r28 +/* 8031FF64 0031BBC4 38 A1 00 10 */ addi r5, r1, 0x10 +/* 8031FF68 0031BBC8 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FF6C 0031BBCC 48 01 D7 91 */ bl gpGetBuddyIndex +/* 8031FF70 0031BBD0 48 00 05 4D */ bl func_803204BC +/* 8031FF74 0031BBD4 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8031FF78 0031BBD8 2C 00 FF FF */ cmpwi r0, -1 +/* 8031FF7C 0031BBDC 40 82 00 CC */ bne lbl_80320048 +/* 8031FF80 0031BBE0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8031FF84 0031BBE4 7F 84 E3 78 */ mr r4, r28 +/* 8031FF88 0031BBE8 38 AD 8D 70 */ addi r5, r13, lbl_8063E030-_SDA_BASE_ +/* 8031FF8C 0031BBEC 80 63 00 04 */ lwz r3, 4(r3) +/* 8031FF90 0031BBF0 48 01 D2 FD */ bl gpSendBuddyRequestA +/* 8031FF94 0031BBF4 48 00 05 29 */ bl func_803204BC +/* 8031FF98 0031BBF8 7F 85 E3 78 */ mr r5, r28 +/* 8031FF9C 0031BBFC 38 9F 01 E8 */ addi r4, r31, 0x1e8 +/* 8031FFA0 0031BC00 3C 60 00 02 */ lis r3, 2 +/* 8031FFA4 0031BC04 4C C6 31 82 */ crclr 6 +/* 8031FFA8 0031BC08 4B FF CB 8D */ bl func_8031CB34 +/* 8031FFAC 0031BC0C 48 00 00 9C */ b lbl_80320048 +lbl_8031FFB0: +/* 8031FFB0 0031BC10 48 00 12 05 */ bl func_803211B4 +/* 8031FFB4 0031BC14 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031FFB8 0031BC18 88 04 00 20 */ lbz r0, 0x20(r4) +/* 8031FFBC 0031BC1C 1C 00 00 0C */ mulli r0, r0, 0xc +/* 8031FFC0 0031BC20 7C 9D 02 14 */ add r4, r29, r0 +/* 8031FFC4 0031BC24 48 01 37 39 */ bl func_803336FC +/* 8031FFC8 0031BC28 2C 03 FF FF */ cmpwi r3, -1 +/* 8031FFCC 0031BC2C 40 82 00 7C */ bne lbl_80320048 +/* 8031FFD0 0031BC30 48 00 11 E5 */ bl func_803211B4 +/* 8031FFD4 0031BC34 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8031FFD8 0031BC38 38 A1 00 18 */ addi r5, r1, 0x18 +/* 8031FFDC 0031BC3C 88 04 00 20 */ lbz r0, 0x20(r4) +/* 8031FFE0 0031BC40 1C 00 00 0C */ mulli r0, r0, 0xc +/* 8031FFE4 0031BC44 7C 9D 02 14 */ add r4, r29, r0 +/* 8031FFE8 0031BC48 48 01 3A DD */ bl func_80333AC4 +/* 8031FFEC 0031BC4C 3C 60 80 32 */ lis r3, lbl_80320704@ha +/* 8031FFF0 0031BC50 81 6D B0 48 */ lwz r11, lbl_80640308-_SDA_BASE_(r13) +/* 8031FFF4 0031BC54 38 63 07 04 */ addi r3, r3, lbl_80320704@l +/* 8031FFF8 0031BC58 39 01 00 18 */ addi r8, r1, 0x18 +/* 8031FFFC 0031BC5C 90 61 00 08 */ stw r3, 8(r1) +/* 80320000 0031BC60 38 80 00 00 */ li r4, 0 +/* 80320004 0031BC64 38 A0 00 00 */ li r5, 0 +/* 80320008 0031BC68 38 C0 00 00 */ li r6, 0 +/* 8032000C 0031BC6C 88 0B 00 20 */ lbz r0, 0x20(r11) +/* 80320010 0031BC70 38 E0 00 00 */ li r7, 0 +/* 80320014 0031BC74 39 20 00 00 */ li r9, 0 +/* 80320018 0031BC78 39 40 00 00 */ li r10, 0 +/* 8032001C 0031BC7C 90 01 00 0C */ stw r0, 0xc(r1) +/* 80320020 0031BC80 80 6B 00 04 */ lwz r3, 4(r11) +/* 80320024 0031BC84 48 01 D0 49 */ bl gpProfileSearchA +/* 80320028 0031BC88 38 9F 02 04 */ addi r4, r31, 0x204 +/* 8032002C 0031BC8C 3C 60 00 02 */ lis r3, 2 +/* 80320030 0031BC90 4C C6 31 82 */ crclr 6 +/* 80320034 0031BC94 4B FF CB 01 */ bl func_8031CB34 +/* 80320038 0031BC98 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8032003C 0031BC9C 38 00 00 02 */ li r0, 2 +/* 80320040 0031BCA0 98 03 00 22 */ stb r0, 0x22(r3) +/* 80320044 0031BCA4 48 00 00 24 */ b lbl_80320068 +lbl_80320048: +/* 80320048 0031BCA8 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 8032004C 0031BCAC 88 64 00 20 */ lbz r3, 0x20(r4) +/* 80320050 0031BCB0 38 03 00 01 */ addi r0, r3, 1 +/* 80320054 0031BCB4 98 04 00 20 */ stb r0, 0x20(r4) +lbl_80320058: +/* 80320058 0031BCB8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8032005C 0031BCBC 8B 43 00 20 */ lbz r26, 0x20(r3) +/* 80320060 0031BCC0 7C 1A F0 00 */ cmpw r26, r30 +/* 80320064 0031BCC4 41 80 FE 94 */ blt lbl_8031FEF8 +lbl_80320068: +/* 80320068 0031BCC8 39 61 02 60 */ addi r11, r1, 0x260 +/* 8032006C 0031BCCC 4B EA 71 01 */ bl _restgpr_25 +/* 80320070 0031BCD0 80 01 02 64 */ lwz r0, 0x264(r1) +/* 80320074 0031BCD4 7C 08 03 A6 */ mtlr r0 +/* 80320078 0031BCD8 38 21 02 60 */ addi r1, r1, 0x260 +/* 8032007C 0031BCDC 4E 80 00 20 */ blr + +.global func_80320080 +func_80320080: +/* 80320080 0031BCE0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80320084 0031BCE4 7C 08 02 A6 */ mflr r0 +/* 80320088 0031BCE8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8032008C 0031BCEC 39 61 00 20 */ addi r11, r1, 0x20 +/* 80320090 0031BCF0 4B EA 70 95 */ bl _savegpr_26 +/* 80320094 0031BCF4 7C 7A 1B 78 */ mr r26, r3 +/* 80320098 0031BCF8 7C 9B 23 78 */ mr r27, r4 +/* 8032009C 0031BCFC 7C BD 2B 78 */ mr r29, r5 +/* 803200A0 0031BD00 3B 80 00 00 */ li r28, 0 +/* 803200A4 0031BD04 3B E0 00 00 */ li r31, 0 +/* 803200A8 0031BD08 48 00 01 40 */ b lbl_803201E8 +lbl_803200AC: +/* 803200AC 0031BD0C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803200B0 0031BD10 83 C3 00 1C */ lwz r30, 0x1c(r3) +/* 803200B4 0031BD14 2C 1E 00 00 */ cmpwi r30, 0 +/* 803200B8 0031BD18 40 82 00 0C */ bne lbl_803200C4 +/* 803200BC 0031BD1C 38 60 00 00 */ li r3, 0 +/* 803200C0 0031BD20 48 00 00 24 */ b lbl_803200E4 +lbl_803200C4: +/* 803200C4 0031BD24 48 00 10 F1 */ bl func_803211B4 +/* 803200C8 0031BD28 7C 9E FA 14 */ add r4, r30, r31 +/* 803200CC 0031BD2C 48 01 36 31 */ bl func_803336FC +/* 803200D0 0031BD30 2C 03 00 00 */ cmpwi r3, 0 +/* 803200D4 0031BD34 41 82 00 0C */ beq lbl_803200E0 +/* 803200D8 0031BD38 2C 03 FF FF */ cmpwi r3, -1 +/* 803200DC 0031BD3C 40 82 00 08 */ bne lbl_803200E4 +lbl_803200E0: +/* 803200E0 0031BD40 38 60 00 00 */ li r3, 0 +lbl_803200E4: +/* 803200E4 0031BD44 2C 03 00 00 */ cmpwi r3, 0 +/* 803200E8 0031BD48 41 82 00 F8 */ beq lbl_803201E0 +/* 803200EC 0031BD4C 7C 03 E8 00 */ cmpw r3, r29 +/* 803200F0 0031BD50 40 82 00 F0 */ bne lbl_803201E0 +/* 803200F4 0031BD54 1F DC 00 0C */ mulli r30, r28, 0xc +/* 803200F8 0031BD58 7F FA F2 14 */ add r31, r26, r30 +/* 803200FC 0031BD5C 7F E3 FB 78 */ mr r3, r31 +/* 80320100 0031BD60 48 01 2A 71 */ bl func_80332B70 +/* 80320104 0031BD64 3C 80 80 44 */ lis r4, lbl_80446EA0@ha +/* 80320108 0031BD68 7C 67 1B 78 */ mr r7, r3 +/* 8032010C 0031BD6C 7F 85 E3 78 */ mr r5, r28 +/* 80320110 0031BD70 7F 66 DB 78 */ mr r6, r27 +/* 80320114 0031BD74 38 84 6E A0 */ addi r4, r4, lbl_80446EA0@l +/* 80320118 0031BD78 3C 60 00 02 */ lis r3, 2 +/* 8032011C 0031BD7C 4C C6 31 82 */ crclr 6 +/* 80320120 0031BD80 4B FF CA 15 */ bl func_8031CB34 +/* 80320124 0031BD84 1F BB 00 0C */ mulli r29, r27, 0xc +/* 80320128 0031BD88 7C 7A EA 14 */ add r3, r26, r29 +/* 8032012C 0031BD8C 48 01 2A 21 */ bl func_80332B4C +/* 80320130 0031BD90 2C 03 00 00 */ cmpwi r3, 0 +/* 80320134 0031BD94 41 82 00 58 */ beq lbl_8032018C +/* 80320138 0031BD98 7F E3 FB 78 */ mr r3, r31 +/* 8032013C 0031BD9C 48 01 2A 11 */ bl func_80332B4C +/* 80320140 0031BDA0 2C 03 00 00 */ cmpwi r3, 0 +/* 80320144 0031BDA4 40 82 00 48 */ bne lbl_8032018C +/* 80320148 0031BDA8 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 8032014C 0031BDAC 2C 00 00 00 */ cmpwi r0, 0 +/* 80320150 0031BDB0 41 82 00 7C */ beq lbl_803201CC +/* 80320154 0031BDB4 7F E3 FB 78 */ mr r3, r31 +/* 80320158 0031BDB8 38 80 00 00 */ li r4, 0 +/* 8032015C 0031BDBC 38 A0 00 0C */ li r5, 0xc +/* 80320160 0031BDC0 4B CE 3F A5 */ bl memset +/* 80320164 0031BDC4 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 80320168 0031BDC8 81 85 00 40 */ lwz r12, 0x40(r5) +/* 8032016C 0031BDCC 2C 0C 00 00 */ cmpwi r12, 0 +/* 80320170 0031BDD0 41 82 00 5C */ beq lbl_803201CC +/* 80320174 0031BDD4 7F 83 E3 78 */ mr r3, r28 +/* 80320178 0031BDD8 7F 64 DB 78 */ mr r4, r27 +/* 8032017C 0031BDDC 80 A5 00 44 */ lwz r5, 0x44(r5) +/* 80320180 0031BDE0 7D 89 03 A6 */ mtctr r12 +/* 80320184 0031BDE4 4E 80 04 21 */ bctrl +/* 80320188 0031BDE8 48 00 00 44 */ b lbl_803201CC +lbl_8032018C: +/* 8032018C 0031BDEC 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 80320190 0031BDF0 2C 00 00 00 */ cmpwi r0, 0 +/* 80320194 0031BDF4 41 82 00 38 */ beq lbl_803201CC +/* 80320198 0031BDF8 7C 7A EA 14 */ add r3, r26, r29 +/* 8032019C 0031BDFC 38 80 00 00 */ li r4, 0 +/* 803201A0 0031BE00 38 A0 00 0C */ li r5, 0xc +/* 803201A4 0031BE04 4B CE 3F 61 */ bl memset +/* 803201A8 0031BE08 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 803201AC 0031BE0C 81 85 00 40 */ lwz r12, 0x40(r5) +/* 803201B0 0031BE10 2C 0C 00 00 */ cmpwi r12, 0 +/* 803201B4 0031BE14 41 82 00 18 */ beq lbl_803201CC +/* 803201B8 0031BE18 7F 63 DB 78 */ mr r3, r27 +/* 803201BC 0031BE1C 7F 84 E3 78 */ mr r4, r28 +/* 803201C0 0031BE20 80 A5 00 44 */ lwz r5, 0x44(r5) +/* 803201C4 0031BE24 7D 89 03 A6 */ mtctr r12 +/* 803201C8 0031BE28 4E 80 04 21 */ bctrl +lbl_803201CC: +/* 803201CC 0031BE2C 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 803201D0 0031BE30 38 00 00 01 */ li r0, 1 +/* 803201D4 0031BE34 38 60 00 01 */ li r3, 1 +/* 803201D8 0031BE38 98 04 00 21 */ stb r0, 0x21(r4) +/* 803201DC 0031BE3C 48 00 00 18 */ b lbl_803201F4 +lbl_803201E0: +/* 803201E0 0031BE40 3B FF 00 0C */ addi r31, r31, 0xc +/* 803201E4 0031BE44 3B 9C 00 01 */ addi r28, r28, 1 +lbl_803201E8: +/* 803201E8 0031BE48 7C 1C D8 00 */ cmpw r28, r27 +/* 803201EC 0031BE4C 41 80 FE C0 */ blt lbl_803200AC +/* 803201F0 0031BE50 38 60 00 00 */ li r3, 0 +lbl_803201F4: +/* 803201F4 0031BE54 39 61 00 20 */ addi r11, r1, 0x20 +/* 803201F8 0031BE58 4B EA 6F 79 */ bl _restgpr_26 +/* 803201FC 0031BE5C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80320200 0031BE60 7C 08 03 A6 */ mtlr r0 +/* 80320204 0031BE64 38 21 00 20 */ addi r1, r1, 0x20 +/* 80320208 0031BE68 4E 80 00 20 */ blr + +.global func_8032020C +func_8032020C: +/* 8032020C 0031BE6C 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 80320210 0031BE70 7C 08 02 A6 */ mflr r0 +/* 80320214 0031BE74 90 01 00 54 */ stw r0, 0x54(r1) +/* 80320218 0031BE78 39 61 00 50 */ addi r11, r1, 0x50 +/* 8032021C 0031BE7C 4B EA 6E E1 */ bl _savegpr_16 +/* 80320220 0031BE80 7C 73 1B 78 */ mr r19, r3 +/* 80320224 0031BE84 7C 94 23 78 */ mr r20, r4 +/* 80320228 0031BE88 7C B5 2B 78 */ mr r21, r5 +/* 8032022C 0031BE8C 3B 00 FF FF */ li r24, -1 +/* 80320230 0031BE90 7E 7D 9B 78 */ mr r29, r19 +/* 80320234 0031BE94 7E 7C 9B 78 */ mr r28, r19 +/* 80320238 0031BE98 3A E0 00 00 */ li r23, 0 +/* 8032023C 0031BE9C 3B C0 00 00 */ li r30, 0 +/* 80320240 0031BEA0 3E 20 80 44 */ lis r17, 0x8044 +/* 80320244 0031BEA4 3A 40 00 01 */ li r18, 1 +/* 80320248 0031BEA8 48 00 01 84 */ b lbl_803203CC +lbl_8032024C: +/* 8032024C 0031BEAC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320250 0031BEB0 82 C3 00 1C */ lwz r22, 0x1c(r3) +/* 80320254 0031BEB4 2C 16 00 00 */ cmpwi r22, 0 +/* 80320258 0031BEB8 40 82 00 0C */ bne lbl_80320264 +/* 8032025C 0031BEBC 3B E0 00 00 */ li r31, 0 +/* 80320260 0031BEC0 48 00 00 2C */ b lbl_8032028C +lbl_80320264: +/* 80320264 0031BEC4 48 00 0F 51 */ bl func_803211B4 +/* 80320268 0031BEC8 7C 96 F2 14 */ add r4, r22, r30 +/* 8032026C 0031BECC 48 01 34 91 */ bl func_803336FC +/* 80320270 0031BED0 2C 03 00 00 */ cmpwi r3, 0 +/* 80320274 0031BED4 41 82 00 0C */ beq lbl_80320280 +/* 80320278 0031BED8 2C 03 FF FF */ cmpwi r3, -1 +/* 8032027C 0031BEDC 40 82 00 0C */ bne lbl_80320288 +lbl_80320280: +/* 80320280 0031BEE0 3B E0 00 00 */ li r31, 0 +/* 80320284 0031BEE4 48 00 00 08 */ b lbl_8032028C +lbl_80320288: +/* 80320288 0031BEE8 7C 7F 1B 78 */ mr r31, r3 +lbl_8032028C: +/* 8032028C 0031BEEC 2C 1F 00 00 */ cmpwi r31, 0 +/* 80320290 0031BEF0 41 82 01 2C */ beq lbl_803203BC +/* 80320294 0031BEF4 7C 1F A8 00 */ cmpw r31, r21 +/* 80320298 0031BEF8 40 82 00 08 */ bne lbl_803202A0 +/* 8032029C 0031BEFC 7E F8 BB 78 */ mr r24, r23 +lbl_803202A0: +/* 803202A0 0031BF00 3A D7 00 01 */ addi r22, r23, 1 +/* 803202A4 0031BF04 1F 36 00 0C */ mulli r25, r22, 0xc +/* 803202A8 0031BF08 7F 73 CA 14 */ add r27, r19, r25 +/* 803202AC 0031BF0C 7F 7A DB 78 */ mr r26, r27 +/* 803202B0 0031BF10 48 00 01 04 */ b lbl_803203B4 +lbl_803202B4: +/* 803202B4 0031BF14 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803202B8 0031BF18 82 03 00 1C */ lwz r16, 0x1c(r3) +/* 803202BC 0031BF1C 2C 10 00 00 */ cmpwi r16, 0 +/* 803202C0 0031BF20 40 82 00 0C */ bne lbl_803202CC +/* 803202C4 0031BF24 38 60 00 00 */ li r3, 0 +/* 803202C8 0031BF28 48 00 00 24 */ b lbl_803202EC +lbl_803202CC: +/* 803202CC 0031BF2C 48 00 0E E9 */ bl func_803211B4 +/* 803202D0 0031BF30 7C 90 CA 14 */ add r4, r16, r25 +/* 803202D4 0031BF34 48 01 34 29 */ bl func_803336FC +/* 803202D8 0031BF38 2C 03 00 00 */ cmpwi r3, 0 +/* 803202DC 0031BF3C 41 82 00 0C */ beq lbl_803202E8 +/* 803202E0 0031BF40 2C 03 FF FF */ cmpwi r3, -1 +/* 803202E4 0031BF44 40 82 00 08 */ bne lbl_803202EC +lbl_803202E8: +/* 803202E8 0031BF48 38 60 00 00 */ li r3, 0 +lbl_803202EC: +/* 803202EC 0031BF4C 7C 1F 18 00 */ cmpw r31, r3 +/* 803202F0 0031BF50 40 82 00 B4 */ bne lbl_803203A4 +/* 803202F4 0031BF54 7F A3 EB 78 */ mr r3, r29 +/* 803202F8 0031BF58 48 01 28 79 */ bl func_80332B70 +/* 803202FC 0031BF5C 2C 03 00 02 */ cmpwi r3, 2 +/* 80320300 0031BF60 40 82 00 20 */ bne lbl_80320320 +/* 80320304 0031BF64 7F 63 DB 78 */ mr r3, r27 +/* 80320308 0031BF68 48 01 28 69 */ bl func_80332B70 +/* 8032030C 0031BF6C 2C 03 00 03 */ cmpwi r3, 3 +/* 80320310 0031BF70 40 82 00 10 */ bne lbl_80320320 +/* 80320314 0031BF74 7F 83 E3 78 */ mr r3, r28 +/* 80320318 0031BF78 7F E4 FB 78 */ mr r4, r31 +/* 8032031C 0031BF7C 48 01 37 41 */ bl func_80333A5C +lbl_80320320: +/* 80320320 0031BF80 7F 63 DB 78 */ mr r3, r27 +/* 80320324 0031BF84 48 01 28 29 */ bl func_80332B4C +/* 80320328 0031BF88 2C 03 00 00 */ cmpwi r3, 0 +/* 8032032C 0031BF8C 41 82 00 0C */ beq lbl_80320338 +/* 80320330 0031BF90 7F 83 E3 78 */ mr r3, r28 +/* 80320334 0031BF94 48 01 28 49 */ bl func_80332B7C +lbl_80320338: +/* 80320338 0031BF98 7F A3 EB 78 */ mr r3, r29 +/* 8032033C 0031BF9C 48 01 28 35 */ bl func_80332B70 +/* 80320340 0031BFA0 7C 67 1B 78 */ mr r7, r3 +/* 80320344 0031BFA4 7E E5 BB 78 */ mr r5, r23 +/* 80320348 0031BFA8 7E C6 B3 78 */ mr r6, r22 +/* 8032034C 0031BFAC 38 91 6E A0 */ addi r4, r17, 0x6ea0 +/* 80320350 0031BFB0 3C 60 00 02 */ lis r3, 2 +/* 80320354 0031BFB4 4C C6 31 82 */ crclr 6 +/* 80320358 0031BFB8 4B FF C7 DD */ bl func_8031CB34 +/* 8032035C 0031BFBC 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 80320360 0031BFC0 2C 00 00 00 */ cmpwi r0, 0 +/* 80320364 0031BFC4 41 82 00 38 */ beq lbl_8032039C +/* 80320368 0031BFC8 7F 43 D3 78 */ mr r3, r26 +/* 8032036C 0031BFCC 38 80 00 00 */ li r4, 0 +/* 80320370 0031BFD0 38 A0 00 0C */ li r5, 0xc +/* 80320374 0031BFD4 4B CE 3D 91 */ bl memset +/* 80320378 0031BFD8 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 8032037C 0031BFDC 81 85 00 40 */ lwz r12, 0x40(r5) +/* 80320380 0031BFE0 2C 0C 00 00 */ cmpwi r12, 0 +/* 80320384 0031BFE4 41 82 00 18 */ beq lbl_8032039C +/* 80320388 0031BFE8 7E C3 B3 78 */ mr r3, r22 +/* 8032038C 0031BFEC 7E E4 BB 78 */ mr r4, r23 +/* 80320390 0031BFF0 80 A5 00 44 */ lwz r5, 0x44(r5) +/* 80320394 0031BFF4 7D 89 03 A6 */ mtctr r12 +/* 80320398 0031BFF8 4E 80 04 21 */ bctrl +lbl_8032039C: +/* 8032039C 0031BFFC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803203A0 0031C000 9A 43 00 21 */ stb r18, 0x21(r3) +lbl_803203A4: +/* 803203A4 0031C004 3B 39 00 0C */ addi r25, r25, 0xc +/* 803203A8 0031C008 3B 7B 00 0C */ addi r27, r27, 0xc +/* 803203AC 0031C00C 3B 5A 00 0C */ addi r26, r26, 0xc +/* 803203B0 0031C010 3A D6 00 01 */ addi r22, r22, 1 +lbl_803203B4: +/* 803203B4 0031C014 7C 16 A0 00 */ cmpw r22, r20 +/* 803203B8 0031C018 41 80 FE FC */ blt lbl_803202B4 +lbl_803203BC: +/* 803203BC 0031C01C 3B DE 00 0C */ addi r30, r30, 0xc +/* 803203C0 0031C020 3B BD 00 0C */ addi r29, r29, 0xc +/* 803203C4 0031C024 3B 9C 00 0C */ addi r28, r28, 0xc +/* 803203C8 0031C028 3A F7 00 01 */ addi r23, r23, 1 +lbl_803203CC: +/* 803203CC 0031C02C 7C 17 A0 00 */ cmpw r23, r20 +/* 803203D0 0031C030 41 80 FE 7C */ blt lbl_8032024C +/* 803203D4 0031C034 39 61 00 50 */ addi r11, r1, 0x50 +/* 803203D8 0031C038 7F 03 C3 78 */ mr r3, r24 +/* 803203DC 0031C03C 4B EA 6D 6D */ bl _restgpr_16 +/* 803203E0 0031C040 80 01 00 54 */ lwz r0, 0x54(r1) +/* 803203E4 0031C044 7C 08 03 A6 */ mtlr r0 +/* 803203E8 0031C048 38 21 00 50 */ addi r1, r1, 0x50 +/* 803203EC 0031C04C 4E 80 00 20 */ blr + +.global func_803203F0 +func_803203F0: +/* 803203F0 0031C050 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803203F4 0031C054 7C 08 02 A6 */ mflr r0 +/* 803203F8 0031C058 38 A0 00 00 */ li r5, 0 +/* 803203FC 0031C05C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80320400 0031C060 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80320404 0031C064 7C 7F 1B 78 */ mr r31, r3 +/* 80320408 0031C068 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8032040C 0031C06C 7C 9E 23 78 */ mr r30, r4 +/* 80320410 0031C070 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 80320414 0031C074 90 A1 00 08 */ stw r5, 8(r1) +/* 80320418 0031C078 2C 00 00 00 */ cmpwi r0, 0 +/* 8032041C 0031C07C 41 82 00 10 */ beq lbl_8032042C +/* 80320420 0031C080 48 00 17 B5 */ bl func_80321BD4 +/* 80320424 0031C084 2C 03 00 00 */ cmpwi r3, 0 +/* 80320428 0031C088 40 82 00 0C */ bne lbl_80320434 +lbl_8032042C: +/* 8032042C 0031C08C 38 60 00 00 */ li r3, 0 +/* 80320430 0031C090 48 00 00 74 */ b lbl_803204A4 +lbl_80320434: +/* 80320434 0031C094 48 00 0D 81 */ bl func_803211B4 +/* 80320438 0031C098 7F E4 FB 78 */ mr r4, r31 +/* 8032043C 0031C09C 48 01 32 C1 */ bl func_803336FC +/* 80320440 0031C0A0 2C 03 00 00 */ cmpwi r3, 0 +/* 80320444 0031C0A4 7C 7F 1B 78 */ mr r31, r3 +/* 80320448 0031C0A8 40 81 00 28 */ ble lbl_80320470 +/* 8032044C 0031C0AC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320450 0031C0B0 7F E4 FB 78 */ mr r4, r31 +/* 80320454 0031C0B4 38 A1 00 08 */ addi r5, r1, 8 +/* 80320458 0031C0B8 80 63 00 04 */ lwz r3, 4(r3) +/* 8032045C 0031C0BC 48 01 D2 A1 */ bl gpGetBuddyIndex +/* 80320460 0031C0C0 2C 03 00 00 */ cmpwi r3, 0 +/* 80320464 0031C0C4 41 82 00 0C */ beq lbl_80320470 +/* 80320468 0031C0C8 38 60 00 00 */ li r3, 0 +/* 8032046C 0031C0CC 48 00 00 38 */ b lbl_803204A4 +lbl_80320470: +/* 80320470 0031C0D0 2C 1F 00 00 */ cmpwi r31, 0 +/* 80320474 0031C0D4 40 81 00 10 */ ble lbl_80320484 +/* 80320478 0031C0D8 80 81 00 08 */ lwz r4, 8(r1) +/* 8032047C 0031C0DC 2C 04 FF FF */ cmpwi r4, -1 +/* 80320480 0031C0E0 40 82 00 0C */ bne lbl_8032048C +lbl_80320484: +/* 80320484 0031C0E4 38 60 00 00 */ li r3, 0 +/* 80320488 0031C0E8 48 00 00 1C */ b lbl_803204A4 +lbl_8032048C: +/* 8032048C 0031C0EC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320490 0031C0F0 7F C5 F3 78 */ mr r5, r30 +/* 80320494 0031C0F4 80 63 00 04 */ lwz r3, 4(r3) +/* 80320498 0031C0F8 48 01 D1 15 */ bl gpGetBuddyStatus +/* 8032049C 0031C0FC 7C 60 00 34 */ cntlzw r0, r3 +/* 803204A0 0031C100 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f +lbl_803204A4: +/* 803204A4 0031C104 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803204A8 0031C108 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803204AC 0031C10C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803204B0 0031C110 7C 08 03 A6 */ mtlr r0 +/* 803204B4 0031C114 38 21 00 20 */ addi r1, r1, 0x20 +/* 803204B8 0031C118 4E 80 00 20 */ blr + +.global func_803204BC +func_803204BC: +/* 803204BC 0031C11C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803204C0 0031C120 7C 08 02 A6 */ mflr r0 +/* 803204C4 0031C124 2C 03 00 00 */ cmpwi r3, 0 +/* 803204C8 0031C128 90 01 00 14 */ stw r0, 0x14(r1) +/* 803204CC 0031C12C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 803204D0 0031C130 93 C1 00 08 */ stw r30, 8(r1) +/* 803204D4 0031C134 7C 7E 1B 78 */ mr r30, r3 +/* 803204D8 0031C138 40 82 00 0C */ bne lbl_803204E4 +/* 803204DC 0031C13C 38 60 00 00 */ li r3, 0 +/* 803204E0 0031C140 48 00 00 EC */ b lbl_803205CC +lbl_803204E4: +/* 803204E4 0031C144 3C 80 80 44 */ lis r4, lbl_80446ED0@ha +/* 803204E8 0031C148 7F C5 F3 78 */ mr r5, r30 +/* 803204EC 0031C14C 38 84 6E D0 */ addi r4, r4, lbl_80446ED0@l +/* 803204F0 0031C150 38 60 00 02 */ li r3, 2 +/* 803204F4 0031C154 4C C6 31 82 */ crclr 6 +/* 803204F8 0031C158 4B FF C6 3D */ bl func_8031CB34 +/* 803204FC 0031C15C 2C 1E 00 03 */ cmpwi r30, 3 +/* 80320500 0031C160 41 82 00 3C */ beq lbl_8032053C +/* 80320504 0031C164 40 80 00 14 */ bge lbl_80320518 +/* 80320508 0031C168 2C 1E 00 01 */ cmpwi r30, 1 +/* 8032050C 0031C16C 41 82 00 18 */ beq lbl_80320524 +/* 80320510 0031C170 40 80 00 20 */ bge lbl_80320530 +/* 80320514 0031C174 48 00 00 3C */ b lbl_80320550 +lbl_80320518: +/* 80320518 0031C178 2C 1E 00 05 */ cmpwi r30, 5 +/* 8032051C 0031C17C 40 80 00 34 */ bge lbl_80320550 +/* 80320520 0031C180 48 00 00 28 */ b lbl_80320548 +lbl_80320524: +/* 80320524 0031C184 3B E0 00 09 */ li r31, 9 +/* 80320528 0031C188 38 60 FF FF */ li r3, -1 +/* 8032052C 0031C18C 48 00 00 24 */ b lbl_80320550 +lbl_80320530: +/* 80320530 0031C190 3B E0 00 09 */ li r31, 9 +/* 80320534 0031C194 38 60 FF FE */ li r3, -2 +/* 80320538 0031C198 48 00 00 18 */ b lbl_80320550 +lbl_8032053C: +/* 8032053C 0031C19C 3B E0 00 06 */ li r31, 6 +/* 80320540 0031C1A0 38 60 FF F6 */ li r3, -10 +/* 80320544 0031C1A4 48 00 00 0C */ b lbl_80320550 +lbl_80320548: +/* 80320548 0031C1A8 3B E0 00 06 */ li r31, 6 +/* 8032054C 0031C1AC 38 60 FF EC */ li r3, -20 +lbl_80320550: +/* 80320550 0031C1B0 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 80320554 0031C1B4 2C 00 00 00 */ cmpwi r0, 0 +/* 80320558 0031C1B8 41 82 00 70 */ beq lbl_803205C8 +/* 8032055C 0031C1BC 2C 1F 00 00 */ cmpwi r31, 0 +/* 80320560 0031C1C0 41 82 00 68 */ beq lbl_803205C8 +/* 80320564 0031C1C4 3C 83 FF FF */ addis r4, r3, 0xffff +/* 80320568 0031C1C8 7F E3 FB 78 */ mr r3, r31 +/* 8032056C 0031C1CC 38 84 EA A8 */ addi r4, r4, -5464 +/* 80320570 0031C1D0 4B FF C0 11 */ bl func_8031C580 +/* 80320574 0031C1D4 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 80320578 0031C1D8 80 05 00 00 */ lwz r0, 0(r5) +/* 8032057C 0031C1DC 2C 00 00 00 */ cmpwi r0, 0 +/* 80320580 0031C1E0 41 82 00 24 */ beq lbl_803205A4 +/* 80320584 0031C1E4 2C 00 00 02 */ cmpwi r0, 2 +/* 80320588 0031C1E8 41 82 00 1C */ beq lbl_803205A4 +/* 8032058C 0031C1EC 81 85 00 30 */ lwz r12, 0x30(r5) +/* 80320590 0031C1F0 7F E3 FB 78 */ mr r3, r31 +/* 80320594 0031C1F4 88 85 00 21 */ lbz r4, 0x21(r5) +/* 80320598 0031C1F8 80 A5 00 34 */ lwz r5, 0x34(r5) +/* 8032059C 0031C1FC 7D 89 03 A6 */ mtctr r12 +/* 803205A0 0031C200 4E 80 04 21 */ bctrl +lbl_803205A4: +/* 803205A4 0031C204 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803205A8 0031C208 2C 03 00 00 */ cmpwi r3, 0 +/* 803205AC 0031C20C 41 82 00 1C */ beq lbl_803205C8 +/* 803205B0 0031C210 38 00 00 00 */ li r0, 0 +/* 803205B4 0031C214 90 03 00 00 */ stw r0, 0(r3) +/* 803205B8 0031C218 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803205BC 0031C21C 98 03 00 22 */ stb r0, 0x22(r3) +/* 803205C0 0031C220 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803205C4 0031C224 98 03 00 23 */ stb r0, 0x23(r3) +lbl_803205C8: +/* 803205C8 0031C228 7F C3 F3 78 */ mr r3, r30 +lbl_803205CC: +/* 803205CC 0031C22C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803205D0 0031C230 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803205D4 0031C234 83 C1 00 08 */ lwz r30, 8(r1) +/* 803205D8 0031C238 7C 08 03 A6 */ mtlr r0 +/* 803205DC 0031C23C 38 21 00 10 */ addi r1, r1, 0x10 +/* 803205E0 0031C240 4E 80 00 20 */ blr +/* 803205E4 0031C244 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803205E8 0031C248 7C 08 02 A6 */ mflr r0 +/* 803205EC 0031C24C 2C 03 00 00 */ cmpwi r3, 0 +/* 803205F0 0031C250 90 01 00 14 */ stw r0, 0x14(r1) +/* 803205F4 0031C254 93 E1 00 0C */ stw r31, 0xc(r1) +/* 803205F8 0031C258 93 C1 00 08 */ stw r30, 8(r1) +/* 803205FC 0031C25C 7C 7E 1B 78 */ mr r30, r3 +/* 80320600 0031C260 40 82 00 0C */ bne lbl_8032060C +/* 80320604 0031C264 38 60 00 00 */ li r3, 0 +/* 80320608 0031C268 48 00 00 E4 */ b lbl_803206EC +lbl_8032060C: +/* 8032060C 0031C26C 3C 80 80 44 */ lis r4, lbl_80446EE8@ha +/* 80320610 0031C270 7F C5 F3 78 */ mr r5, r30 +/* 80320614 0031C274 38 84 6E E8 */ addi r4, r4, lbl_80446EE8@l +/* 80320618 0031C278 38 60 00 02 */ li r3, 2 +/* 8032061C 0031C27C 4C C6 31 82 */ crclr 6 +/* 80320620 0031C280 4B FF C5 15 */ bl func_8031CB34 +/* 80320624 0031C284 28 1E 00 07 */ cmplwi r30, 7 +/* 80320628 0031C288 41 81 00 54 */ bgt lbl_8032067C +/* 8032062C 0031C28C 3C 60 80 44 */ lis r3, lbl_80446F08@ha +/* 80320630 0031C290 57 C0 10 3A */ slwi r0, r30, 2 +/* 80320634 0031C294 38 63 6F 08 */ addi r3, r3, lbl_80446F08@l +/* 80320638 0031C298 7C 63 00 2E */ lwzx r3, r3, r0 +/* 8032063C 0031C29C 7C 69 03 A6 */ mtctr r3 +/* 80320640 0031C2A0 4E 80 04 20 */ bctr +/* 80320644 0031C2A4 3B E0 00 06 */ li r31, 6 +/* 80320648 0031C2A8 38 60 FF CE */ li r3, -50 +/* 8032064C 0031C2AC 48 00 00 30 */ b lbl_8032067C +/* 80320650 0031C2B0 3B E0 00 06 */ li r31, 6 +/* 80320654 0031C2B4 38 60 FF E2 */ li r3, -30 +/* 80320658 0031C2B8 48 00 00 24 */ b lbl_8032067C +/* 8032065C 0031C2BC 3B E0 00 06 */ li r31, 6 +/* 80320660 0031C2C0 38 60 FF EC */ li r3, -20 +/* 80320664 0031C2C4 48 00 00 18 */ b lbl_8032067C +/* 80320668 0031C2C8 3B E0 00 06 */ li r31, 6 +/* 8032066C 0031C2CC 38 60 FF D8 */ li r3, -40 +/* 80320670 0031C2D0 48 00 00 0C */ b lbl_8032067C +/* 80320674 0031C2D4 3B E0 00 06 */ li r31, 6 +/* 80320678 0031C2D8 38 60 FF BA */ li r3, -70 +lbl_8032067C: +/* 8032067C 0031C2DC 80 0D B0 4C */ lwz r0, lbl_8064030C-_SDA_BASE_(r13) +/* 80320680 0031C2E0 2C 00 00 01 */ cmpwi r0, 1 +/* 80320684 0031C2E4 40 82 00 64 */ bne lbl_803206E8 +/* 80320688 0031C2E8 80 0D B0 48 */ lwz r0, lbl_80640308-_SDA_BASE_(r13) +/* 8032068C 0031C2EC 2C 00 00 00 */ cmpwi r0, 0 +/* 80320690 0031C2F0 41 82 00 58 */ beq lbl_803206E8 +/* 80320694 0031C2F4 2C 1F 00 00 */ cmpwi r31, 0 +/* 80320698 0031C2F8 41 82 00 50 */ beq lbl_803206E8 +/* 8032069C 0031C2FC 3C 83 FF FF */ addis r4, r3, 0xffff +/* 803206A0 0031C300 7F E3 FB 78 */ mr r3, r31 +/* 803206A4 0031C304 38 84 98 A0 */ addi r4, r4, -26464 +/* 803206A8 0031C308 4B FF BE D9 */ bl func_8031C580 +/* 803206AC 0031C30C 48 03 7C B9 */ bl CloseStatsConnection +/* 803206B0 0031C310 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803206B4 0031C314 38 00 00 00 */ li r0, 0 +/* 803206B8 0031C318 90 0D B0 4C */ stw r0, lbl_8064030C-_SDA_BASE_(r13) +/* 803206BC 0031C31C 2C 03 00 00 */ cmpwi r3, 0 +/* 803206C0 0031C320 41 82 00 08 */ beq lbl_803206C8 +/* 803206C4 0031C324 90 03 00 24 */ stw r0, 0x24(r3) +lbl_803206C8: +/* 803206C8 0031C328 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 803206CC 0031C32C 81 84 00 50 */ lwz r12, 0x50(r4) +/* 803206D0 0031C330 2C 0C 00 00 */ cmpwi r12, 0 +/* 803206D4 0031C334 41 82 00 14 */ beq lbl_803206E8 +/* 803206D8 0031C338 7F E3 FB 78 */ mr r3, r31 +/* 803206DC 0031C33C 80 84 00 54 */ lwz r4, 0x54(r4) +/* 803206E0 0031C340 7D 89 03 A6 */ mtctr r12 +/* 803206E4 0031C344 4E 80 04 21 */ bctrl +lbl_803206E8: +/* 803206E8 0031C348 7F C3 F3 78 */ mr r3, r30 +lbl_803206EC: +/* 803206EC 0031C34C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803206F0 0031C350 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803206F4 0031C354 83 C1 00 08 */ lwz r30, 8(r1) +/* 803206F8 0031C358 7C 08 03 A6 */ mtlr r0 +/* 803206FC 0031C35C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80320700 0031C360 4E 80 00 20 */ blr +lbl_80320704: +/* 80320704 0031C364 94 21 FD C0 */ stwu r1, -0x240(r1) +/* 80320708 0031C368 7C 08 02 A6 */ mflr r0 +/* 8032070C 0031C36C 90 01 02 44 */ stw r0, 0x244(r1) +/* 80320710 0031C370 39 61 02 40 */ addi r11, r1, 0x240 +/* 80320714 0031C374 4B EA 6A 09 */ bl _savegpr_24 +/* 80320718 0031C378 3F E0 80 44 */ lis r31, lbl_80446C80@ha +/* 8032071C 0031C37C 7C BD 2B 78 */ mr r29, r5 +/* 80320720 0031C380 80 A4 00 04 */ lwz r5, 4(r4) +/* 80320724 0031C384 3B FF 6C 80 */ addi r31, r31, lbl_80446C80@l +/* 80320728 0031C388 7C 7B 1B 78 */ mr r27, r3 +/* 8032072C 0031C38C 80 C4 00 08 */ lwz r6, 8(r4) +/* 80320730 0031C390 7C 9C 23 78 */ mr r28, r4 +/* 80320734 0031C394 38 9F 02 A8 */ addi r4, r31, 0x2a8 +/* 80320738 0031C398 38 60 00 04 */ li r3, 4 +/* 8032073C 0031C39C 4C C6 31 82 */ crclr 6 +/* 80320740 0031C3A0 4B FF C3 F5 */ bl func_8031CB34 +/* 80320744 0031C3A4 80 1C 00 00 */ lwz r0, 0(r28) +/* 80320748 0031C3A8 2C 00 00 00 */ cmpwi r0, 0 +/* 8032074C 0031C3AC 40 82 02 4C */ bne lbl_80320998 +/* 80320750 0031C3B0 80 1C 00 04 */ lwz r0, 4(r28) +/* 80320754 0031C3B4 2C 00 00 00 */ cmpwi r0, 0 +/* 80320758 0031C3B8 41 82 02 40 */ beq lbl_80320998 +/* 8032075C 0031C3BC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320760 0031C3C0 1F DD 00 0C */ mulli r30, r29, 0xc +/* 80320764 0031C3C4 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320768 0031C3C8 7C 60 F2 14 */ add r3, r0, r30 +/* 8032076C 0031C3CC 48 01 24 05 */ bl func_80332B70 +/* 80320770 0031C3D0 2C 03 00 00 */ cmpwi r3, 0 +/* 80320774 0031C3D4 41 82 02 24 */ beq lbl_80320998 +/* 80320778 0031C3D8 80 BC 00 04 */ lwz r5, 4(r28) +/* 8032077C 0031C3DC 2C 05 00 01 */ cmpwi r5, 1 +/* 80320780 0031C3E0 40 81 00 14 */ ble lbl_80320794 +/* 80320784 0031C3E4 38 9F 02 C4 */ addi r4, r31, 0x2c4 +/* 80320788 0031C3E8 3C 60 00 02 */ lis r3, 2 +/* 8032078C 0031C3EC 4C C6 31 82 */ crclr 6 +/* 80320790 0031C3F0 4B FF C3 A5 */ bl func_8031CB34 +lbl_80320794: +/* 80320794 0031C3F4 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320798 0031C3F8 80 03 00 00 */ lwz r0, 0(r3) +/* 8032079C 0031C3FC 2C 00 00 01 */ cmpwi r0, 1 +/* 803207A0 0031C400 40 82 02 58 */ bne lbl_803209F8 +/* 803207A4 0031C404 3B 00 00 00 */ li r24, 0 +/* 803207A8 0031C408 3B 20 00 00 */ li r25, 0 +/* 803207AC 0031C40C 48 00 00 54 */ b lbl_80320800 +lbl_803207B0: +/* 803207B0 0031C410 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803207B4 0031C414 7F A4 EB 78 */ mr r4, r29 +/* 803207B8 0031C418 80 BC 00 0C */ lwz r5, 0xc(r28) +/* 803207BC 0031C41C 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 803207C0 0031C420 7C A5 C8 2E */ lwzx r5, r5, r25 +/* 803207C4 0031C424 4B FF F8 BD */ bl func_80320080 +/* 803207C8 0031C428 2C 03 00 00 */ cmpwi r3, 0 +/* 803207CC 0031C42C 41 82 00 2C */ beq lbl_803207F8 +/* 803207D0 0031C430 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 803207D4 0031C434 38 80 00 01 */ li r4, 1 +/* 803207D8 0031C438 38 00 06 01 */ li r0, 0x601 +/* 803207DC 0031C43C 88 65 00 20 */ lbz r3, 0x20(r5) +/* 803207E0 0031C440 38 63 00 01 */ addi r3, r3, 1 +/* 803207E4 0031C444 98 65 00 20 */ stb r3, 0x20(r5) +/* 803207E8 0031C448 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803207EC 0031C44C 98 83 00 22 */ stb r4, 0x22(r3) +/* 803207F0 0031C450 90 1C 00 08 */ stw r0, 8(r28) +/* 803207F4 0031C454 48 00 02 04 */ b lbl_803209F8 +lbl_803207F8: +/* 803207F8 0031C458 3B 39 00 AC */ addi r25, r25, 0xac +/* 803207FC 0031C45C 3B 18 00 01 */ addi r24, r24, 1 +lbl_80320800: +/* 80320800 0031C460 80 1C 00 04 */ lwz r0, 4(r28) +/* 80320804 0031C464 7C 18 00 00 */ cmpw r24, r0 +/* 80320808 0031C468 41 80 FF A8 */ blt lbl_803207B0 +/* 8032080C 0031C46C 3B 00 00 00 */ li r24, 0 +/* 80320810 0031C470 3B 20 00 00 */ li r25, 0 +/* 80320814 0031C474 48 00 01 38 */ b lbl_8032094C +lbl_80320818: +/* 80320818 0031C478 80 9C 00 0C */ lwz r4, 0xc(r28) +/* 8032081C 0031C47C 7F 63 DB 78 */ mr r3, r27 +/* 80320820 0031C480 38 A1 00 08 */ addi r5, r1, 8 +/* 80320824 0031C484 7C 84 C8 2E */ lwzx r4, r4, r25 +/* 80320828 0031C488 48 01 CE D5 */ bl gpGetBuddyIndex +/* 8032082C 0031C48C 4B FF FC 91 */ bl func_803204BC +/* 80320830 0031C490 80 01 00 08 */ lwz r0, 8(r1) +/* 80320834 0031C494 2C 00 FF FF */ cmpwi r0, -1 +/* 80320838 0031C498 40 82 00 3C */ bne lbl_80320874 +/* 8032083C 0031C49C 80 9C 00 0C */ lwz r4, 0xc(r28) +/* 80320840 0031C4A0 38 AD 8D 70 */ addi r5, r13, lbl_8063E030-_SDA_BASE_ +/* 80320844 0031C4A4 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320848 0031C4A8 7F 44 C8 2E */ lwzx r26, r4, r25 +/* 8032084C 0031C4AC 80 63 00 04 */ lwz r3, 4(r3) +/* 80320850 0031C4B0 7F 44 D3 78 */ mr r4, r26 +/* 80320854 0031C4B4 48 01 CA 39 */ bl gpSendBuddyRequestA +/* 80320858 0031C4B8 4B FF FC 65 */ bl func_803204BC +/* 8032085C 0031C4BC 7F 45 D3 78 */ mr r5, r26 +/* 80320860 0031C4C0 38 9F 01 E8 */ addi r4, r31, 0x1e8 +/* 80320864 0031C4C4 3C 60 00 02 */ lis r3, 2 +/* 80320868 0031C4C8 4C C6 31 82 */ crclr 6 +/* 8032086C 0031C4CC 4B FF C2 C9 */ bl func_8031CB34 +/* 80320870 0031C4D0 48 00 00 D4 */ b lbl_80320944 +lbl_80320874: +/* 80320874 0031C4D4 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 80320878 0031C4D8 80 7C 00 0C */ lwz r3, 0xc(r28) +/* 8032087C 0031C4DC 80 04 00 1C */ lwz r0, 0x1c(r4) +/* 80320880 0031C4E0 80 83 00 00 */ lwz r4, 0(r3) +/* 80320884 0031C4E4 7C 60 F2 14 */ add r3, r0, r30 +/* 80320888 0031C4E8 48 01 31 D5 */ bl func_80333A5C +/* 8032088C 0031C4EC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320890 0031C4F0 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320894 0031C4F4 7C 60 F2 14 */ add r3, r0, r30 +/* 80320898 0031C4F8 48 01 22 E5 */ bl func_80332B7C +/* 8032089C 0031C4FC 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 803208A0 0031C500 81 84 00 48 */ lwz r12, 0x48(r4) +/* 803208A4 0031C504 2C 0C 00 00 */ cmpwi r12, 0 +/* 803208A8 0031C508 41 82 00 20 */ beq lbl_803208C8 +/* 803208AC 0031C50C 80 04 00 00 */ lwz r0, 0(r4) +/* 803208B0 0031C510 2C 00 00 01 */ cmpwi r0, 1 +/* 803208B4 0031C514 41 82 00 14 */ beq lbl_803208C8 +/* 803208B8 0031C518 7F A3 EB 78 */ mr r3, r29 +/* 803208BC 0031C51C 80 84 00 4C */ lwz r4, 0x4c(r4) +/* 803208C0 0031C520 7D 89 03 A6 */ mtctr r12 +/* 803208C4 0031C524 4E 80 04 21 */ bctrl +lbl_803208C8: +/* 803208C8 0031C528 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803208CC 0031C52C 80 03 00 38 */ lwz r0, 0x38(r3) +/* 803208D0 0031C530 2C 00 00 00 */ cmpwi r0, 0 +/* 803208D4 0031C534 41 82 00 40 */ beq lbl_80320914 +/* 803208D8 0031C538 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 803208DC 0031C53C 38 C1 01 18 */ addi r6, r1, 0x118 +/* 803208E0 0031C540 38 80 00 00 */ li r4, 0 +/* 803208E4 0031C544 38 A0 00 00 */ li r5, 0 +/* 803208E8 0031C548 7C 60 F2 14 */ add r3, r0, r30 +/* 803208EC 0031C54C 4B FF E8 AD */ bl func_8031F198 +/* 803208F0 0031C550 80 CD B0 48 */ lwz r6, lbl_80640308-_SDA_BASE_(r13) +/* 803208F4 0031C554 7C 60 1B 78 */ mr r0, r3 +/* 803208F8 0031C558 7F A3 EB 78 */ mr r3, r29 +/* 803208FC 0031C55C 38 A1 01 18 */ addi r5, r1, 0x118 +/* 80320900 0031C560 81 86 00 38 */ lwz r12, 0x38(r6) +/* 80320904 0031C564 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 80320908 0031C568 80 C6 00 3C */ lwz r6, 0x3c(r6) +/* 8032090C 0031C56C 7D 89 03 A6 */ mtctr r12 +/* 80320910 0031C570 4E 80 04 21 */ bctrl +lbl_80320914: +/* 80320914 0031C574 80 AD B0 48 */ lwz r5, lbl_80640308-_SDA_BASE_(r13) +/* 80320918 0031C578 38 80 00 01 */ li r4, 1 +/* 8032091C 0031C57C 38 00 06 01 */ li r0, 0x601 +/* 80320920 0031C580 88 65 00 20 */ lbz r3, 0x20(r5) +/* 80320924 0031C584 38 63 00 01 */ addi r3, r3, 1 +/* 80320928 0031C588 98 65 00 20 */ stb r3, 0x20(r5) +/* 8032092C 0031C58C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320930 0031C590 98 83 00 22 */ stb r4, 0x22(r3) +/* 80320934 0031C594 90 1C 00 08 */ stw r0, 8(r28) +/* 80320938 0031C598 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8032093C 0031C59C 98 83 00 21 */ stb r4, 0x21(r3) +/* 80320940 0031C5A0 48 00 00 B8 */ b lbl_803209F8 +lbl_80320944: +/* 80320944 0031C5A4 3B 39 00 AC */ addi r25, r25, 0xac +/* 80320948 0031C5A8 3B 18 00 01 */ addi r24, r24, 1 +lbl_8032094C: +/* 8032094C 0031C5AC 80 1C 00 04 */ lwz r0, 4(r28) +/* 80320950 0031C5B0 7C 18 00 00 */ cmpw r24, r0 +/* 80320954 0031C5B4 41 80 FE C4 */ blt lbl_80320818 +/* 80320958 0031C5B8 80 1C 00 08 */ lwz r0, 8(r28) +/* 8032095C 0031C5BC 2C 00 06 00 */ cmpwi r0, 0x600 +/* 80320960 0031C5C0 41 82 00 24 */ beq lbl_80320984 +/* 80320964 0031C5C4 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 80320968 0031C5C8 38 00 00 01 */ li r0, 1 +/* 8032096C 0031C5CC 88 64 00 20 */ lbz r3, 0x20(r4) +/* 80320970 0031C5D0 38 63 00 01 */ addi r3, r3, 1 +/* 80320974 0031C5D4 98 64 00 20 */ stb r3, 0x20(r4) +/* 80320978 0031C5D8 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 8032097C 0031C5DC 98 03 00 22 */ stb r0, 0x22(r3) +/* 80320980 0031C5E0 48 00 00 78 */ b lbl_803209F8 +lbl_80320984: +/* 80320984 0031C5E4 38 9F 02 E4 */ addi r4, r31, 0x2e4 +/* 80320988 0031C5E8 38 60 00 04 */ li r3, 4 +/* 8032098C 0031C5EC 4C C6 31 82 */ crclr 6 +/* 80320990 0031C5F0 4B FF C1 A5 */ bl func_8031CB34 +/* 80320994 0031C5F4 48 00 00 64 */ b lbl_803209F8 +lbl_80320998: +/* 80320998 0031C5F8 80 7C 00 00 */ lwz r3, 0(r28) +/* 8032099C 0031C5FC 2C 03 00 00 */ cmpwi r3, 0 +/* 803209A0 0031C600 41 82 00 14 */ beq lbl_803209B4 +/* 803209A4 0031C604 4B FF FB 19 */ bl func_803204BC +/* 803209A8 0031C608 2C 03 00 00 */ cmpwi r3, 0 +/* 803209AC 0031C60C 41 82 00 4C */ beq lbl_803209F8 +/* 803209B0 0031C610 48 00 00 48 */ b lbl_803209F8 +lbl_803209B4: +/* 803209B4 0031C614 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803209B8 0031C618 80 03 00 00 */ lwz r0, 0(r3) +/* 803209BC 0031C61C 2C 00 00 01 */ cmpwi r0, 1 +/* 803209C0 0031C620 41 82 00 1C */ beq lbl_803209DC +/* 803209C4 0031C624 1C 1D 00 0C */ mulli r0, r29, 0xc +/* 803209C8 0031C628 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 803209CC 0031C62C 7C 63 02 14 */ add r3, r3, r0 +/* 803209D0 0031C630 48 01 21 A1 */ bl func_80332B70 +/* 803209D4 0031C634 2C 03 00 00 */ cmpwi r3, 0 +/* 803209D8 0031C638 40 82 00 20 */ bne lbl_803209F8 +lbl_803209DC: +/* 803209DC 0031C63C 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 803209E0 0031C640 38 00 00 01 */ li r0, 1 +/* 803209E4 0031C644 88 64 00 20 */ lbz r3, 0x20(r4) +/* 803209E8 0031C648 38 63 00 01 */ addi r3, r3, 1 +/* 803209EC 0031C64C 98 64 00 20 */ stb r3, 0x20(r4) +/* 803209F0 0031C650 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 803209F4 0031C654 98 03 00 22 */ stb r0, 0x22(r3) +lbl_803209F8: +/* 803209F8 0031C658 39 61 02 40 */ addi r11, r1, 0x240 +/* 803209FC 0031C65C 4B EA 67 6D */ bl _restgpr_24 +/* 80320A00 0031C660 80 01 02 44 */ lwz r0, 0x244(r1) +/* 80320A04 0031C664 7C 08 03 A6 */ mtlr r0 +/* 80320A08 0031C668 38 21 02 40 */ addi r1, r1, 0x240 +/* 80320A0C 0031C66C 4E 80 00 20 */ blr +lbl_80320A10: +/* 80320A10 0031C670 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80320A14 0031C674 7C 08 02 A6 */ mflr r0 +/* 80320A18 0031C678 90 01 00 44 */ stw r0, 0x44(r1) +/* 80320A1C 0031C67C 39 61 00 40 */ addi r11, r1, 0x40 +/* 80320A20 0031C680 4B EA 67 01 */ bl _savegpr_25 +/* 80320A24 0031C684 80 A4 00 00 */ lwz r5, 0(r4) +/* 80320A28 0031C688 3F E0 80 44 */ lis r31, lbl_80446C80@ha +/* 80320A2C 0031C68C 7C 7A 1B 78 */ mr r26, r3 +/* 80320A30 0031C690 7C 9B 23 78 */ mr r27, r4 +/* 80320A34 0031C694 2C 05 00 00 */ cmpwi r5, 0 +/* 80320A38 0031C698 3B FF 6C 80 */ addi r31, r31, lbl_80446C80@l +/* 80320A3C 0031C69C 3B 80 00 00 */ li r28, 0 +/* 80320A40 0031C6A0 41 82 00 18 */ beq lbl_80320A58 +/* 80320A44 0031C6A4 38 9F 03 00 */ addi r4, r31, 0x300 +/* 80320A48 0031C6A8 38 60 00 20 */ li r3, 0x20 +/* 80320A4C 0031C6AC 4C C6 31 82 */ crclr 6 +/* 80320A50 0031C6B0 4B FF C0 E5 */ bl func_8031CB34 +/* 80320A54 0031C6B4 48 00 01 90 */ b lbl_80320BE4 +lbl_80320A58: +/* 80320A58 0031C6B8 80 BB 00 04 */ lwz r5, 4(r27) +/* 80320A5C 0031C6BC 38 9F 03 24 */ addi r4, r31, 0x324 +/* 80320A60 0031C6C0 38 DB 00 8E */ addi r6, r27, 0x8e +/* 80320A64 0031C6C4 38 60 00 04 */ li r3, 4 +/* 80320A68 0031C6C8 4C C6 31 82 */ crclr 6 +/* 80320A6C 0031C6CC 4B FF C0 C9 */ bl func_8031CB34 +/* 80320A70 0031C6D0 3B A0 00 00 */ li r29, 0 +/* 80320A74 0031C6D4 3B C0 00 00 */ li r30, 0 +/* 80320A78 0031C6D8 48 00 01 04 */ b lbl_80320B7C +lbl_80320A7C: +/* 80320A7C 0031C6DC 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320A80 0031C6E0 7C 60 F2 14 */ add r3, r0, r30 +/* 80320A84 0031C6E4 48 01 20 ED */ bl func_80332B70 +/* 80320A88 0031C6E8 2C 03 00 01 */ cmpwi r3, 1 +/* 80320A8C 0031C6EC 40 82 00 70 */ bne lbl_80320AFC +/* 80320A90 0031C6F0 48 00 07 25 */ bl func_803211B4 +/* 80320A94 0031C6F4 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 80320A98 0031C6F8 38 A1 00 08 */ addi r5, r1, 8 +/* 80320A9C 0031C6FC 80 04 00 1C */ lwz r0, 0x1c(r4) +/* 80320AA0 0031C700 7C 80 F2 14 */ add r4, r0, r30 +/* 80320AA4 0031C704 48 01 30 21 */ bl func_80333AC4 +/* 80320AA8 0031C708 38 61 00 08 */ addi r3, r1, 8 +/* 80320AAC 0031C70C 38 9B 00 8E */ addi r4, r27, 0x8e +/* 80320AB0 0031C710 4B EA D9 9D */ bl strcmp +/* 80320AB4 0031C714 2C 03 00 00 */ cmpwi r3, 0 +/* 80320AB8 0031C718 40 82 00 BC */ bne lbl_80320B74 +/* 80320ABC 0031C71C 80 9B 00 04 */ lwz r4, 4(r27) +/* 80320AC0 0031C720 7F 43 D3 78 */ mr r3, r26 +/* 80320AC4 0031C724 48 01 C9 39 */ bl gpAuthBuddyRequest +/* 80320AC8 0031C728 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320ACC 0031C72C 80 9B 00 04 */ lwz r4, 4(r27) +/* 80320AD0 0031C730 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320AD4 0031C734 7C 60 F2 14 */ add r3, r0, r30 +/* 80320AD8 0031C738 48 01 2F 85 */ bl func_80333A5C +/* 80320ADC 0031C73C 80 BB 00 04 */ lwz r5, 4(r27) +/* 80320AE0 0031C740 7F A6 EB 78 */ mr r6, r29 +/* 80320AE4 0031C744 38 9F 03 50 */ addi r4, r31, 0x350 +/* 80320AE8 0031C748 3B 80 00 01 */ li r28, 1 +/* 80320AEC 0031C74C 3C 60 00 02 */ lis r3, 2 +/* 80320AF0 0031C750 4C C6 31 82 */ crclr 6 +/* 80320AF4 0031C754 4B FF C0 41 */ bl func_8031CB34 +/* 80320AF8 0031C758 48 00 00 7C */ b lbl_80320B74 +lbl_80320AFC: +/* 80320AFC 0031C75C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320B00 0031C760 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320B04 0031C764 7C 60 F2 14 */ add r3, r0, r30 +/* 80320B08 0031C768 48 01 20 69 */ bl func_80332B70 +/* 80320B0C 0031C76C 2C 03 00 03 */ cmpwi r3, 3 +/* 80320B10 0031C770 41 82 00 1C */ beq lbl_80320B2C +/* 80320B14 0031C774 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320B18 0031C778 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320B1C 0031C77C 7C 60 F2 14 */ add r3, r0, r30 +/* 80320B20 0031C780 48 01 20 51 */ bl func_80332B70 +/* 80320B24 0031C784 2C 03 00 02 */ cmpwi r3, 2 +/* 80320B28 0031C788 40 82 00 4C */ bne lbl_80320B74 +lbl_80320B2C: +/* 80320B2C 0031C78C 83 3B 00 04 */ lwz r25, 4(r27) +/* 80320B30 0031C790 48 00 06 85 */ bl func_803211B4 +/* 80320B34 0031C794 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 80320B38 0031C798 80 04 00 1C */ lwz r0, 0x1c(r4) +/* 80320B3C 0031C79C 7C 80 F2 14 */ add r4, r0, r30 +/* 80320B40 0031C7A0 48 01 2B BD */ bl func_803336FC +/* 80320B44 0031C7A4 7C 19 18 00 */ cmpw r25, r3 +/* 80320B48 0031C7A8 40 82 00 2C */ bne lbl_80320B74 +/* 80320B4C 0031C7AC 7F 43 D3 78 */ mr r3, r26 +/* 80320B50 0031C7B0 7F 24 CB 78 */ mr r4, r25 +/* 80320B54 0031C7B4 48 01 C8 A9 */ bl gpAuthBuddyRequest +/* 80320B58 0031C7B8 80 BB 00 04 */ lwz r5, 4(r27) +/* 80320B5C 0031C7BC 7F A6 EB 78 */ mr r6, r29 +/* 80320B60 0031C7C0 38 9F 03 7C */ addi r4, r31, 0x37c +/* 80320B64 0031C7C4 3B 80 00 01 */ li r28, 1 +/* 80320B68 0031C7C8 3C 60 00 02 */ lis r3, 2 +/* 80320B6C 0031C7CC 4C C6 31 82 */ crclr 6 +/* 80320B70 0031C7D0 4B FF BF C5 */ bl func_8031CB34 +lbl_80320B74: +/* 80320B74 0031C7D4 3B DE 00 0C */ addi r30, r30, 0xc +/* 80320B78 0031C7D8 3B BD 00 01 */ addi r29, r29, 1 +lbl_80320B7C: +/* 80320B7C 0031C7DC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320B80 0031C7E0 80 03 00 18 */ lwz r0, 0x18(r3) +/* 80320B84 0031C7E4 7C 1D 00 00 */ cmpw r29, r0 +/* 80320B88 0031C7E8 41 80 FE F4 */ blt lbl_80320A7C +/* 80320B8C 0031C7EC 2C 1C 00 00 */ cmpwi r28, 0 +/* 80320B90 0031C7F0 41 82 00 34 */ beq lbl_80320BC4 +/* 80320B94 0031C7F4 83 5B 00 04 */ lwz r26, 4(r27) +/* 80320B98 0031C7F8 38 AD 8D 70 */ addi r5, r13, lbl_8063E030-_SDA_BASE_ +/* 80320B9C 0031C7FC 80 63 00 04 */ lwz r3, 4(r3) +/* 80320BA0 0031C800 7F 44 D3 78 */ mr r4, r26 +/* 80320BA4 0031C804 48 01 C6 E9 */ bl gpSendBuddyRequestA +/* 80320BA8 0031C808 4B FF F9 15 */ bl func_803204BC +/* 80320BAC 0031C80C 7F 45 D3 78 */ mr r5, r26 +/* 80320BB0 0031C810 38 9F 01 E8 */ addi r4, r31, 0x1e8 +/* 80320BB4 0031C814 3C 60 00 02 */ lis r3, 2 +/* 80320BB8 0031C818 4C C6 31 82 */ crclr 6 +/* 80320BBC 0031C81C 4B FF BF 79 */ bl func_8031CB34 +/* 80320BC0 0031C820 48 00 00 24 */ b lbl_80320BE4 +lbl_80320BC4: +/* 80320BC4 0031C824 80 9B 00 04 */ lwz r4, 4(r27) +/* 80320BC8 0031C828 7F 43 D3 78 */ mr r3, r26 +/* 80320BCC 0031C82C 48 01 C8 A1 */ bl gpDenyBuddyRequest +/* 80320BD0 0031C830 80 BB 00 04 */ lwz r5, 4(r27) +/* 80320BD4 0031C834 38 9F 03 A8 */ addi r4, r31, 0x3a8 +/* 80320BD8 0031C838 3C 60 00 02 */ lis r3, 2 +/* 80320BDC 0031C83C 4C C6 31 82 */ crclr 6 +/* 80320BE0 0031C840 4B FF BF 55 */ bl func_8031CB34 +lbl_80320BE4: +/* 80320BE4 0031C844 39 61 00 40 */ addi r11, r1, 0x40 +/* 80320BE8 0031C848 4B EA 65 85 */ bl _restgpr_25 +/* 80320BEC 0031C84C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80320BF0 0031C850 7C 08 03 A6 */ mtlr r0 +/* 80320BF4 0031C854 38 21 00 40 */ addi r1, r1, 0x40 +/* 80320BF8 0031C858 4E 80 00 20 */ blr +lbl_80320BFC: +/* 80320BFC 0031C85C 94 21 FD B0 */ stwu r1, -0x250(r1) +/* 80320C00 0031C860 7C 08 02 A6 */ mflr r0 +/* 80320C04 0031C864 90 01 02 54 */ stw r0, 0x254(r1) +/* 80320C08 0031C868 39 61 02 50 */ addi r11, r1, 0x250 +/* 80320C0C 0031C86C 4B EA 65 15 */ bl _savegpr_25 +/* 80320C10 0031C870 80 A4 00 00 */ lwz r5, 0(r4) +/* 80320C14 0031C874 3F E0 80 44 */ lis r31, lbl_80446C80@ha +/* 80320C18 0031C878 7C 9A 23 78 */ mr r26, r4 +/* 80320C1C 0031C87C 3B 80 00 00 */ li r28, 0 +/* 80320C20 0031C880 2C 05 00 00 */ cmpwi r5, 0 +/* 80320C24 0031C884 3B FF 6C 80 */ addi r31, r31, lbl_80446C80@l +/* 80320C28 0031C888 3B 60 00 01 */ li r27, 1 +/* 80320C2C 0031C88C 41 82 00 18 */ beq lbl_80320C44 +/* 80320C30 0031C890 38 9F 03 C8 */ addi r4, r31, 0x3c8 +/* 80320C34 0031C894 38 60 00 20 */ li r3, 0x20 +/* 80320C38 0031C898 4C C6 31 82 */ crclr 6 +/* 80320C3C 0031C89C 4B FF BE F9 */ bl func_8031CB34 +/* 80320C40 0031C8A0 48 00 02 40 */ b lbl_80320E80 +lbl_80320C44: +/* 80320C44 0031C8A4 80 BA 00 04 */ lwz r5, 4(r26) +/* 80320C48 0031C8A8 38 9F 03 EC */ addi r4, r31, 0x3ec +/* 80320C4C 0031C8AC 38 DA 00 8E */ addi r6, r26, 0x8e +/* 80320C50 0031C8B0 38 60 00 04 */ li r3, 4 +/* 80320C54 0031C8B4 4C C6 31 82 */ crclr 6 +/* 80320C58 0031C8B8 4B FF BE DD */ bl func_8031CB34 +/* 80320C5C 0031C8BC 3B A0 00 00 */ li r29, 0 +/* 80320C60 0031C8C0 3B C0 00 00 */ li r30, 0 +/* 80320C64 0031C8C4 48 00 01 50 */ b lbl_80320DB4 +lbl_80320C68: +/* 80320C68 0031C8C8 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320C6C 0031C8CC 7C 60 F2 14 */ add r3, r0, r30 +/* 80320C70 0031C8D0 48 01 1F 01 */ bl func_80332B70 +/* 80320C74 0031C8D4 2C 03 00 01 */ cmpwi r3, 1 +/* 80320C78 0031C8D8 40 82 00 74 */ bne lbl_80320CEC +/* 80320C7C 0031C8DC 48 00 05 39 */ bl func_803211B4 +/* 80320C80 0031C8E0 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 80320C84 0031C8E4 38 A1 00 08 */ addi r5, r1, 8 +/* 80320C88 0031C8E8 80 04 00 1C */ lwz r0, 0x1c(r4) +/* 80320C8C 0031C8EC 7C 80 F2 14 */ add r4, r0, r30 +/* 80320C90 0031C8F0 48 01 2E 35 */ bl func_80333AC4 +/* 80320C94 0031C8F4 38 61 00 08 */ addi r3, r1, 8 +/* 80320C98 0031C8F8 38 9A 00 8E */ addi r4, r26, 0x8e +/* 80320C9C 0031C8FC 4B EA D7 B1 */ bl strcmp +/* 80320CA0 0031C900 2C 03 00 00 */ cmpwi r3, 0 +/* 80320CA4 0031C904 40 82 01 08 */ bne lbl_80320DAC +/* 80320CA8 0031C908 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320CAC 0031C90C 80 9A 00 04 */ lwz r4, 4(r26) +/* 80320CB0 0031C910 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320CB4 0031C914 7C 60 F2 14 */ add r3, r0, r30 +/* 80320CB8 0031C918 48 01 2D A5 */ bl func_80333A5C +/* 80320CBC 0031C91C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320CC0 0031C920 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320CC4 0031C924 7C 60 F2 14 */ add r3, r0, r30 +/* 80320CC8 0031C928 48 01 1E B5 */ bl func_80332B7C +/* 80320CCC 0031C92C 80 BA 00 04 */ lwz r5, 4(r26) +/* 80320CD0 0031C930 7F A6 EB 78 */ mr r6, r29 +/* 80320CD4 0031C934 38 9F 04 18 */ addi r4, r31, 0x418 +/* 80320CD8 0031C938 3B 80 00 01 */ li r28, 1 +/* 80320CDC 0031C93C 3C 60 00 02 */ lis r3, 2 +/* 80320CE0 0031C940 4C C6 31 82 */ crclr 6 +/* 80320CE4 0031C944 4B FF BE 51 */ bl func_8031CB34 +/* 80320CE8 0031C948 48 00 00 C4 */ b lbl_80320DAC +lbl_80320CEC: +/* 80320CEC 0031C94C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320CF0 0031C950 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320CF4 0031C954 7C 60 F2 14 */ add r3, r0, r30 +/* 80320CF8 0031C958 48 01 1E 79 */ bl func_80332B70 +/* 80320CFC 0031C95C 2C 03 00 03 */ cmpwi r3, 3 +/* 80320D00 0031C960 41 82 00 1C */ beq lbl_80320D1C +/* 80320D04 0031C964 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320D08 0031C968 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320D0C 0031C96C 7C 60 F2 14 */ add r3, r0, r30 +/* 80320D10 0031C970 48 01 1E 61 */ bl func_80332B70 +/* 80320D14 0031C974 2C 03 00 02 */ cmpwi r3, 2 +/* 80320D18 0031C978 40 82 00 94 */ bne lbl_80320DAC +lbl_80320D1C: +/* 80320D1C 0031C97C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320D20 0031C980 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320D24 0031C984 7C 60 F2 14 */ add r3, r0, r30 +/* 80320D28 0031C988 48 01 1E 25 */ bl func_80332B4C +/* 80320D2C 0031C98C 2C 03 00 01 */ cmpwi r3, 1 +/* 80320D30 0031C990 40 82 00 1C */ bne lbl_80320D4C +/* 80320D34 0031C994 38 9F 04 44 */ addi r4, r31, 0x444 +/* 80320D38 0031C998 3C 60 00 02 */ lis r3, 2 +/* 80320D3C 0031C99C 4C C6 31 82 */ crclr 6 +/* 80320D40 0031C9A0 4B FF BD F5 */ bl func_8031CB34 +/* 80320D44 0031C9A4 3B 60 00 00 */ li r27, 0 +/* 80320D48 0031C9A8 48 00 00 64 */ b lbl_80320DAC +lbl_80320D4C: +/* 80320D4C 0031C9AC 83 3A 00 04 */ lwz r25, 4(r26) +/* 80320D50 0031C9B0 48 00 04 65 */ bl func_803211B4 +/* 80320D54 0031C9B4 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 80320D58 0031C9B8 80 04 00 1C */ lwz r0, 0x1c(r4) +/* 80320D5C 0031C9BC 7C 80 F2 14 */ add r4, r0, r30 +/* 80320D60 0031C9C0 48 01 29 9D */ bl func_803336FC +/* 80320D64 0031C9C4 7C 19 18 00 */ cmpw r25, r3 +/* 80320D68 0031C9C8 40 82 00 44 */ bne lbl_80320DAC +/* 80320D6C 0031C9CC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320D70 0031C9D0 7F 24 CB 78 */ mr r4, r25 +/* 80320D74 0031C9D4 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320D78 0031C9D8 7C 60 F2 14 */ add r3, r0, r30 +/* 80320D7C 0031C9DC 48 01 2C E1 */ bl func_80333A5C +/* 80320D80 0031C9E0 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320D84 0031C9E4 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 80320D88 0031C9E8 7C 60 F2 14 */ add r3, r0, r30 +/* 80320D8C 0031C9EC 48 01 1D F1 */ bl func_80332B7C +/* 80320D90 0031C9F0 80 BA 00 04 */ lwz r5, 4(r26) +/* 80320D94 0031C9F4 7F A6 EB 78 */ mr r6, r29 +/* 80320D98 0031C9F8 38 9F 04 68 */ addi r4, r31, 0x468 +/* 80320D9C 0031C9FC 3B 80 00 01 */ li r28, 1 +/* 80320DA0 0031CA00 3C 60 00 02 */ lis r3, 2 +/* 80320DA4 0031CA04 4C C6 31 82 */ crclr 6 +/* 80320DA8 0031CA08 4B FF BD 8D */ bl func_8031CB34 +lbl_80320DAC: +/* 80320DAC 0031CA0C 3B DE 00 0C */ addi r30, r30, 0xc +/* 80320DB0 0031CA10 3B BD 00 01 */ addi r29, r29, 1 +lbl_80320DB4: +/* 80320DB4 0031CA14 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320DB8 0031CA18 80 83 00 18 */ lwz r4, 0x18(r3) +/* 80320DBC 0031CA1C 7C 1D 20 00 */ cmpw r29, r4 +/* 80320DC0 0031CA20 41 80 FE A8 */ blt lbl_80320C68 +/* 80320DC4 0031CA24 2C 1C 00 00 */ cmpwi r28, 0 +/* 80320DC8 0031CA28 41 82 00 A4 */ beq lbl_80320E6C +/* 80320DCC 0031CA2C 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 80320DD0 0031CA30 80 BA 00 04 */ lwz r5, 4(r26) +/* 80320DD4 0031CA34 4B FF F4 39 */ bl func_8032020C +/* 80320DD8 0031CA38 2C 1B 00 00 */ cmpwi r27, 0 +/* 80320DDC 0031CA3C 7C 79 1B 78 */ mr r25, r3 +/* 80320DE0 0031CA40 41 82 00 7C */ beq lbl_80320E5C +/* 80320DE4 0031CA44 80 8D B0 48 */ lwz r4, lbl_80640308-_SDA_BASE_(r13) +/* 80320DE8 0031CA48 81 84 00 48 */ lwz r12, 0x48(r4) +/* 80320DEC 0031CA4C 2C 0C 00 00 */ cmpwi r12, 0 +/* 80320DF0 0031CA50 41 82 00 1C */ beq lbl_80320E0C +/* 80320DF4 0031CA54 80 04 00 00 */ lwz r0, 0(r4) +/* 80320DF8 0031CA58 2C 00 00 01 */ cmpwi r0, 1 +/* 80320DFC 0031CA5C 41 82 00 10 */ beq lbl_80320E0C +/* 80320E00 0031CA60 80 84 00 4C */ lwz r4, 0x4c(r4) +/* 80320E04 0031CA64 7D 89 03 A6 */ mtctr r12 +/* 80320E08 0031CA68 4E 80 04 21 */ bctrl +lbl_80320E0C: +/* 80320E0C 0031CA6C 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320E10 0031CA70 80 03 00 38 */ lwz r0, 0x38(r3) +/* 80320E14 0031CA74 2C 00 00 00 */ cmpwi r0, 0 +/* 80320E18 0031CA78 41 82 00 44 */ beq lbl_80320E5C +/* 80320E1C 0031CA7C 1C 19 00 0C */ mulli r0, r25, 0xc +/* 80320E20 0031CA80 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 80320E24 0031CA84 38 C1 01 28 */ addi r6, r1, 0x128 +/* 80320E28 0031CA88 38 80 00 00 */ li r4, 0 +/* 80320E2C 0031CA8C 7C 63 02 14 */ add r3, r3, r0 +/* 80320E30 0031CA90 38 A0 00 00 */ li r5, 0 +/* 80320E34 0031CA94 4B FF E3 65 */ bl func_8031F198 +/* 80320E38 0031CA98 80 CD B0 48 */ lwz r6, lbl_80640308-_SDA_BASE_(r13) +/* 80320E3C 0031CA9C 7C 60 1B 78 */ mr r0, r3 +/* 80320E40 0031CAA0 7F 23 CB 78 */ mr r3, r25 +/* 80320E44 0031CAA4 38 A1 01 28 */ addi r5, r1, 0x128 +/* 80320E48 0031CAA8 81 86 00 38 */ lwz r12, 0x38(r6) +/* 80320E4C 0031CAAC 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 80320E50 0031CAB0 80 C6 00 3C */ lwz r6, 0x3c(r6) +/* 80320E54 0031CAB4 7D 89 03 A6 */ mtctr r12 +/* 80320E58 0031CAB8 4E 80 04 21 */ bctrl +lbl_80320E5C: +/* 80320E5C 0031CABC 80 6D B0 48 */ lwz r3, lbl_80640308-_SDA_BASE_(r13) +/* 80320E60 0031CAC0 38 00 00 01 */ li r0, 1 +/* 80320E64 0031CAC4 98 03 00 21 */ stb r0, 0x21(r3) +/* 80320E68 0031CAC8 48 00 00 18 */ b lbl_80320E80 +lbl_80320E6C: +/* 80320E6C 0031CACC 80 BA 00 04 */ lwz r5, 4(r26) +/* 80320E70 0031CAD0 38 9F 04 98 */ addi r4, r31, 0x498 +/* 80320E74 0031CAD4 3C 60 00 02 */ lis r3, 2 +/* 80320E78 0031CAD8 4C C6 31 82 */ crclr 6 +/* 80320E7C 0031CADC 4B FF BC B9 */ bl func_8031CB34 +lbl_80320E80: +/* 80320E80 0031CAE0 39 61 02 50 */ addi r11, r1, 0x250 +/* 80320E84 0031CAE4 4B EA 62 E9 */ bl _restgpr_25 +/* 80320E88 0031CAE8 80 01 02 54 */ lwz r0, 0x254(r1) +/* 80320E8C 0031CAEC 7C 08 03 A6 */ mtlr r0 +/* 80320E90 0031CAF0 38 21 02 50 */ addi r1, r1, 0x250 +/* 80320E94 0031CAF4 4E 80 00 20 */ blr + +.global func_80320E98 +func_80320E98: +/* 80320E98 0031CAF8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80320E9C 0031CAFC 7C 08 02 A6 */ mflr r0 +/* 80320EA0 0031CB00 90 01 00 34 */ stw r0, 0x34(r1) +/* 80320EA4 0031CB04 39 61 00 30 */ addi r11, r1, 0x30 +/* 80320EA8 0031CB08 4B EA 62 71 */ bl _savegpr_23 +/* 80320EAC 0031CB0C 3F E0 80 44 */ lis r31, lbl_80447248@ha +/* 80320EB0 0031CB10 7C 77 1B 78 */ mr r23, r3 +/* 80320EB4 0031CB14 3B FF 72 48 */ addi r31, r31, lbl_80447248@l +/* 80320EB8 0031CB18 7C 98 23 78 */ mr r24, r4 +/* 80320EBC 0031CB1C 7C B9 2B 78 */ mr r25, r5 +/* 80320EC0 0031CB20 7C DA 33 78 */ mr r26, r6 +/* 80320EC4 0031CB24 7C FB 3B 78 */ mr r27, r7 +/* 80320EC8 0031CB28 7D 1C 43 78 */ mr r28, r8 +/* 80320ECC 0031CB2C 7D 3D 4B 78 */ mr r29, r9 +/* 80320ED0 0031CB30 7D 5E 53 78 */ mr r30, r10 +/* 80320ED4 0031CB34 38 9F 00 00 */ addi r4, r31, 0 +/* 80320ED8 0031CB38 38 60 00 20 */ li r3, 0x20 +/* 80320EDC 0031CB3C 4C C6 31 82 */ crclr 6 +/* 80320EE0 0031CB40 4B FF BC 55 */ bl func_8031CB34 +/* 80320EE4 0031CB44 92 ED B0 50 */ stw r23, lbl_80640310-_SDA_BASE_(r13) +/* 80320EE8 0031CB48 7E E3 BB 78 */ mr r3, r23 +/* 80320EEC 0031CB4C 38 80 00 00 */ li r4, 0 +/* 80320EF0 0031CB50 38 A0 02 68 */ li r5, 0x268 +/* 80320EF4 0031CB54 4B CE 32 11 */ bl memset +/* 80320EF8 0031CB58 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320EFC 0031CB5C 38 00 00 00 */ li r0, 0 +/* 80320F00 0031CB60 38 9F 00 0C */ addi r4, r31, 0xc +/* 80320F04 0031CB64 38 60 00 20 */ li r3, 0x20 +/* 80320F08 0031CB68 93 25 00 00 */ stw r25, 0(r5) +/* 80320F0C 0031CB6C 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320F10 0031CB70 90 05 00 04 */ stw r0, 4(r5) +/* 80320F14 0031CB74 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320F18 0031CB78 93 45 00 08 */ stw r26, 8(r5) +/* 80320F1C 0031CB7C 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320F20 0031CB80 93 65 00 0C */ stw r27, 0xc(r5) +/* 80320F24 0031CB84 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320F28 0031CB88 93 85 00 10 */ stw r28, 0x10(r5) +/* 80320F2C 0031CB8C 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320F30 0031CB90 93 A5 00 14 */ stw r29, 0x14(r5) +/* 80320F34 0031CB94 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320F38 0031CB98 93 C5 00 18 */ stw r30, 0x18(r5) +/* 80320F3C 0031CB9C 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80320F40 0031CBA0 93 05 00 1C */ stw r24, 0x1c(r5) +/* 80320F44 0031CBA4 4C C6 31 82 */ crclr 6 +/* 80320F48 0031CBA8 4B FF BB ED */ bl func_8031CB34 +/* 80320F4C 0031CBAC 38 78 00 04 */ addi r3, r24, 4 +/* 80320F50 0031CBB0 48 01 1B BD */ bl func_80332B0C +/* 80320F54 0031CBB4 7C 86 23 78 */ mr r6, r4 +/* 80320F58 0031CBB8 7C 65 1B 78 */ mr r5, r3 +/* 80320F5C 0031CBBC 38 9F 00 38 */ addi r4, r31, 0x38 +/* 80320F60 0031CBC0 38 60 00 20 */ li r3, 0x20 +/* 80320F64 0031CBC4 4C C6 31 82 */ crclr 6 +/* 80320F68 0031CBC8 4B FF BB CD */ bl func_8031CB34 +/* 80320F6C 0031CBCC 38 78 00 04 */ addi r3, r24, 4 +/* 80320F70 0031CBD0 48 01 1B AD */ bl func_80332B1C +/* 80320F74 0031CBD4 7C 65 1B 78 */ mr r5, r3 +/* 80320F78 0031CBD8 38 9F 00 58 */ addi r4, r31, 0x58 +/* 80320F7C 0031CBDC 38 60 00 20 */ li r3, 0x20 +/* 80320F80 0031CBE0 4C C6 31 82 */ crclr 6 +/* 80320F84 0031CBE4 4B FF BB B1 */ bl func_8031CB34 +/* 80320F88 0031CBE8 38 78 00 10 */ addi r3, r24, 0x10 +/* 80320F8C 0031CBEC 48 01 1B 81 */ bl func_80332B0C +/* 80320F90 0031CBF0 7C 86 23 78 */ mr r6, r4 +/* 80320F94 0031CBF4 7C 65 1B 78 */ mr r5, r3 +/* 80320F98 0031CBF8 38 9F 00 78 */ addi r4, r31, 0x78 +/* 80320F9C 0031CBFC 38 60 00 20 */ li r3, 0x20 +/* 80320FA0 0031CC00 4C C6 31 82 */ crclr 6 +/* 80320FA4 0031CC04 4B FF BB 91 */ bl func_8031CB34 +/* 80320FA8 0031CC08 38 78 00 10 */ addi r3, r24, 0x10 +/* 80320FAC 0031CC0C 48 01 1B 71 */ bl func_80332B1C +/* 80320FB0 0031CC10 7C 65 1B 78 */ mr r5, r3 +/* 80320FB4 0031CC14 38 9F 00 98 */ addi r4, r31, 0x98 +/* 80320FB8 0031CC18 38 60 00 20 */ li r3, 0x20 +/* 80320FBC 0031CC1C 4C C6 31 82 */ crclr 6 +/* 80320FC0 0031CC20 4B FF BB 75 */ bl func_8031CB34 +/* 80320FC4 0031CC24 38 9F 00 0C */ addi r4, r31, 0xc +/* 80320FC8 0031CC28 38 60 00 20 */ li r3, 0x20 +/* 80320FCC 0031CC2C 4C C6 31 82 */ crclr 6 +/* 80320FD0 0031CC30 4B FF BB 65 */ bl func_8031CB34 +/* 80320FD4 0031CC34 39 61 00 30 */ addi r11, r1, 0x30 +/* 80320FD8 0031CC38 4B EA 61 8D */ bl _restgpr_23 +/* 80320FDC 0031CC3C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80320FE0 0031CC40 7C 08 03 A6 */ mtlr r0 +/* 80320FE4 0031CC44 38 21 00 30 */ addi r1, r1, 0x30 +/* 80320FE8 0031CC48 4E 80 00 20 */ blr + +.global func_80320FEC +func_80320FEC: +/* 80320FEC 0031CC4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80320FF0 0031CC50 7C 08 02 A6 */ mflr r0 +/* 80320FF4 0031CC54 90 01 00 14 */ stw r0, 0x14(r1) +/* 80320FF8 0031CC58 48 00 05 5D */ bl func_80321554 +/* 80320FFC 0031CC5C 2C 03 00 00 */ cmpwi r3, 0 +/* 80321000 0031CC60 41 82 00 24 */ beq lbl_80321024 +/* 80321004 0031CC64 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 80321008 0031CC68 38 A0 00 01 */ li r5, 1 +/* 8032100C 0031CC6C 38 00 00 00 */ li r0, 0 +/* 80321010 0031CC70 38 60 00 01 */ li r3, 1 +/* 80321014 0031CC74 90 A4 00 04 */ stw r5, 4(r4) +/* 80321018 0031CC78 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 8032101C 0031CC7C 90 04 00 30 */ stw r0, 0x30(r4) +/* 80321020 0031CC80 48 00 00 08 */ b lbl_80321028 +lbl_80321024: +/* 80321024 0031CC84 38 60 00 00 */ li r3, 0 +lbl_80321028: +/* 80321028 0031CC88 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8032102C 0031CC8C 7C 08 03 A6 */ mtlr r0 +/* 80321030 0031CC90 38 21 00 10 */ addi r1, r1, 0x10 +/* 80321034 0031CC94 4E 80 00 20 */ blr + +.global func_80321038 +func_80321038: +/* 80321038 0031CC98 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8032103C 0031CC9C 7C 08 02 A6 */ mflr r0 +/* 80321040 0031CCA0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80321044 0031CCA4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80321048 0031CCA8 80 0D B0 50 */ lwz r0, lbl_80640310-_SDA_BASE_(r13) +/* 8032104C 0031CCAC 2C 00 00 00 */ cmpwi r0, 0 +/* 80321050 0031CCB0 41 82 01 50 */ beq lbl_803211A0 +/* 80321054 0031CCB4 4B FF B5 19 */ bl PlatAudio_IsEntireSampleFileInMem +/* 80321058 0031CCB8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032105C 0031CCBC 41 82 00 08 */ beq lbl_80321064 +/* 80321060 0031CCC0 48 00 01 40 */ b lbl_803211A0 +lbl_80321064: +/* 80321064 0031CCC4 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321068 0031CCC8 80 03 00 04 */ lwz r0, 4(r3) +/* 8032106C 0031CCCC 2C 00 00 01 */ cmpwi r0, 1 +/* 80321070 0031CCD0 41 82 00 1C */ beq lbl_8032108C +/* 80321074 0031CCD4 40 80 00 08 */ bge lbl_8032107C +/* 80321078 0031CCD8 48 00 01 14 */ b lbl_8032118C +lbl_8032107C: +/* 8032107C 0031CCDC 2C 00 00 05 */ cmpwi r0, 5 +/* 80321080 0031CCE0 41 82 01 0C */ beq lbl_8032118C +/* 80321084 0031CCE4 40 80 01 08 */ bge lbl_8032118C +/* 80321088 0031CCE8 48 00 00 0C */ b lbl_80321094 +lbl_8032108C: +/* 8032108C 0031CCEC 48 00 06 95 */ bl func_80321720 +/* 80321090 0031CCF0 48 00 01 10 */ b lbl_803211A0 +lbl_80321094: +/* 80321094 0031CCF4 80 63 00 00 */ lwz r3, 0(r3) +/* 80321098 0031CCF8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032109C 0031CCFC 41 82 00 14 */ beq lbl_803210B0 +/* 803210A0 0031CD00 80 03 00 00 */ lwz r0, 0(r3) +/* 803210A4 0031CD04 2C 00 00 00 */ cmpwi r0, 0 +/* 803210A8 0031CD08 41 82 00 08 */ beq lbl_803210B0 +/* 803210AC 0031CD0C 48 01 BD 8D */ bl gpProcess +lbl_803210B0: +/* 803210B0 0031CD10 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803210B4 0031CD14 80 03 00 30 */ lwz r0, 0x30(r3) +/* 803210B8 0031CD18 2C 00 00 00 */ cmpwi r0, 0 +/* 803210BC 0031CD1C 41 82 00 E4 */ beq lbl_803211A0 +/* 803210C0 0031CD20 4B F5 16 F9 */ bl OSGetTime +/* 803210C4 0031CD24 3C A0 80 00 */ lis r5, 0x800000F8@ha +/* 803210C8 0031CD28 83 ED B0 50 */ lwz r31, lbl_80640310-_SDA_BASE_(r13) +/* 803210CC 0031CD2C 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) +/* 803210D0 0031CD30 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 803210D4 0031CD34 80 FF 00 3C */ lwz r7, 0x3c(r31) +/* 803210D8 0031CD38 38 A5 4D D3 */ addi r5, r5, 0x10624DD3@l +/* 803210DC 0031CD3C 54 00 F0 BE */ srwi r0, r0, 2 +/* 803210E0 0031CD40 80 DF 00 38 */ lwz r6, 0x38(r31) +/* 803210E4 0031CD44 7C 05 00 16 */ mulhwu r0, r5, r0 +/* 803210E8 0031CD48 7C 87 20 10 */ subfc r4, r7, r4 +/* 803210EC 0031CD4C 7C 66 19 10 */ subfe r3, r6, r3 +/* 803210F0 0031CD50 38 A0 00 00 */ li r5, 0 +/* 803210F4 0031CD54 54 06 D1 BE */ srwi r6, r0, 6 +/* 803210F8 0031CD58 4B EA 61 81 */ bl __div2i +/* 803210FC 0031CD5C 3C A0 00 01 */ lis r5, 0x0000EA60@ha +/* 80321100 0031CD60 38 00 00 00 */ li r0, 0 +/* 80321104 0031CD64 38 C5 EA 60 */ addi r6, r5, 0x0000EA60@l +/* 80321108 0031CD68 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 8032110C 0031CD6C 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 80321110 0031CD70 7C 64 30 10 */ subfc r3, r4, r6 +/* 80321114 0031CD74 7C A5 01 10 */ subfe r5, r5, r0 +/* 80321118 0031CD78 7C A0 01 10 */ subfe r5, r0, r0 +/* 8032111C 0031CD7C 7C A5 00 D1 */ neg. r5, r5 +/* 80321120 0031CD80 41 82 00 80 */ beq lbl_803211A0 +/* 80321124 0031CD84 2C 1F 00 00 */ cmpwi r31, 0 +/* 80321128 0031CD88 41 82 00 54 */ beq lbl_8032117C +/* 8032112C 0031CD8C 3C 80 FF FF */ lis r4, 0xFFFF1172@ha +/* 80321130 0031CD90 38 60 00 06 */ li r3, 6 +/* 80321134 0031CD94 38 84 11 72 */ addi r4, r4, 0xFFFF1172@l +/* 80321138 0031CD98 4B FF B4 49 */ bl func_8031C580 +/* 8032113C 0031CD9C 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321140 0031CDA0 81 83 00 14 */ lwz r12, 0x14(r3) +/* 80321144 0031CDA4 2C 0C 00 00 */ cmpwi r12, 0 +/* 80321148 0031CDA8 41 82 00 18 */ beq lbl_80321160 +/* 8032114C 0031CDAC 80 A3 00 18 */ lwz r5, 0x18(r3) +/* 80321150 0031CDB0 38 60 00 06 */ li r3, 6 +/* 80321154 0031CDB4 38 80 00 00 */ li r4, 0 +/* 80321158 0031CDB8 7D 89 03 A6 */ mtctr r12 +/* 8032115C 0031CDBC 4E 80 04 21 */ bctrl +lbl_80321160: +/* 80321160 0031CDC0 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321164 0031CDC4 2C 03 00 00 */ cmpwi r3, 0 +/* 80321168 0031CDC8 41 82 00 14 */ beq lbl_8032117C +/* 8032116C 0031CDCC 38 00 00 00 */ li r0, 0 +/* 80321170 0031CDD0 90 03 00 04 */ stw r0, 4(r3) +/* 80321174 0031CDD4 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321178 0031CDD8 90 03 00 30 */ stw r0, 0x30(r3) +lbl_8032117C: +/* 8032117C 0031CDDC 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321180 0031CDE0 38 00 00 00 */ li r0, 0 +/* 80321184 0031CDE4 90 03 00 30 */ stw r0, 0x30(r3) +/* 80321188 0031CDE8 48 00 00 18 */ b lbl_803211A0 +lbl_8032118C: +/* 8032118C 0031CDEC 3C 80 80 44 */ lis r4, lbl_80447300@ha +/* 80321190 0031CDF0 38 60 00 04 */ li r3, 4 +/* 80321194 0031CDF4 38 84 73 00 */ addi r4, r4, lbl_80447300@l +/* 80321198 0031CDF8 4C C6 31 82 */ crclr 6 +/* 8032119C 0031CDFC 4B FF B9 99 */ bl func_8031CB34 +lbl_803211A0: +/* 803211A0 0031CE00 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803211A4 0031CE04 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803211A8 0031CE08 7C 08 03 A6 */ mtlr r0 +/* 803211AC 0031CE0C 38 21 00 10 */ addi r1, r1, 0x10 +/* 803211B0 0031CE10 4E 80 00 20 */ blr + +.global func_803211B4 +func_803211B4: +/* 803211B4 0031CE14 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803211B8 0031CE18 2C 03 00 00 */ cmpwi r3, 0 +/* 803211BC 0031CE1C 41 82 00 0C */ beq lbl_803211C8 +/* 803211C0 0031CE20 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 803211C4 0031CE24 4E 80 00 20 */ blr +lbl_803211C8: +/* 803211C8 0031CE28 38 60 00 00 */ li r3, 0 +/* 803211CC 0031CE2C 4E 80 00 20 */ blr + +.global func_803211D0 +func_803211D0: +/* 803211D0 0031CE30 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803211D4 0031CE34 7C 08 02 A6 */ mflr r0 +/* 803211D8 0031CE38 90 01 00 14 */ stw r0, 0x14(r1) +/* 803211DC 0031CE3C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 803211E0 0031CE40 7C 7F 1B 78 */ mr r31, r3 +/* 803211E4 0031CE44 80 0D B0 50 */ lwz r0, lbl_80640310-_SDA_BASE_(r13) +/* 803211E8 0031CE48 2C 00 00 00 */ cmpwi r0, 0 +/* 803211EC 0031CE4C 41 82 00 54 */ beq lbl_80321240 +/* 803211F0 0031CE50 2C 03 00 00 */ cmpwi r3, 0 +/* 803211F4 0031CE54 40 82 00 08 */ bne lbl_803211FC +/* 803211F8 0031CE58 48 00 00 48 */ b lbl_80321240 +lbl_803211FC: +/* 803211FC 0031CE5C 4B FF B3 85 */ bl func_8031C580 +/* 80321200 0031CE60 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 80321204 0031CE64 81 84 00 14 */ lwz r12, 0x14(r4) +/* 80321208 0031CE68 2C 0C 00 00 */ cmpwi r12, 0 +/* 8032120C 0031CE6C 41 82 00 18 */ beq lbl_80321224 +/* 80321210 0031CE70 80 A4 00 18 */ lwz r5, 0x18(r4) +/* 80321214 0031CE74 7F E3 FB 78 */ mr r3, r31 +/* 80321218 0031CE78 38 80 00 00 */ li r4, 0 +/* 8032121C 0031CE7C 7D 89 03 A6 */ mtctr r12 +/* 80321220 0031CE80 4E 80 04 21 */ bctrl +lbl_80321224: +/* 80321224 0031CE84 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321228 0031CE88 2C 03 00 00 */ cmpwi r3, 0 +/* 8032122C 0031CE8C 41 82 00 14 */ beq lbl_80321240 +/* 80321230 0031CE90 38 00 00 00 */ li r0, 0 +/* 80321234 0031CE94 90 03 00 04 */ stw r0, 4(r3) +/* 80321238 0031CE98 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 8032123C 0031CE9C 90 03 00 30 */ stw r0, 0x30(r3) +lbl_80321240: +/* 80321240 0031CEA0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80321244 0031CEA4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80321248 0031CEA8 7C 08 03 A6 */ mtlr r0 +/* 8032124C 0031CEAC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80321250 0031CEB0 4E 80 00 20 */ blr + +.global func_80321254 +func_80321254: +/* 80321254 0031CEB4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80321258 0031CEB8 7C 08 02 A6 */ mflr r0 +/* 8032125C 0031CEBC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80321260 0031CEC0 48 01 37 69 */ bl func_803349C8 +/* 80321264 0031CEC4 2C 03 00 00 */ cmpwi r3, 0 +/* 80321268 0031CEC8 40 82 00 08 */ bne lbl_80321270 +/* 8032126C 0031CECC 48 01 2F CD */ bl func_80334238 +lbl_80321270: +/* 80321270 0031CED0 38 00 00 00 */ li r0, 0 +/* 80321274 0031CED4 90 0D B0 50 */ stw r0, lbl_80640310-_SDA_BASE_(r13) +/* 80321278 0031CED8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8032127C 0031CEDC 7C 08 03 A6 */ mtlr r0 +/* 80321280 0031CEE0 38 21 00 10 */ addi r1, r1, 0x10 +/* 80321284 0031CEE4 4E 80 00 20 */ blr + +.global func_80321288 +func_80321288: +/* 80321288 0031CEE8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8032128C 0031CEEC 7C 08 02 A6 */ mflr r0 +/* 80321290 0031CEF0 2C 03 00 00 */ cmpwi r3, 0 +/* 80321294 0031CEF4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80321298 0031CEF8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8032129C 0031CEFC 93 C1 00 08 */ stw r30, 8(r1) +/* 803212A0 0031CF00 7C 7E 1B 78 */ mr r30, r3 +/* 803212A4 0031CF04 40 82 00 0C */ bne lbl_803212B0 +/* 803212A8 0031CF08 38 60 00 00 */ li r3, 0 +/* 803212AC 0031CF0C 48 00 00 D8 */ b lbl_80321384 +lbl_803212B0: +/* 803212B0 0031CF10 3C 80 80 44 */ lis r4, lbl_80447320@ha +/* 803212B4 0031CF14 7F C5 F3 78 */ mr r5, r30 +/* 803212B8 0031CF18 38 84 73 20 */ addi r4, r4, lbl_80447320@l +/* 803212BC 0031CF1C 38 60 00 02 */ li r3, 2 +/* 803212C0 0031CF20 4C C6 31 82 */ crclr 6 +/* 803212C4 0031CF24 4B FF B8 71 */ bl func_8031CB34 +/* 803212C8 0031CF28 2C 1E 00 03 */ cmpwi r30, 3 +/* 803212CC 0031CF2C 41 82 00 3C */ beq lbl_80321308 +/* 803212D0 0031CF30 40 80 00 14 */ bge lbl_803212E4 +/* 803212D4 0031CF34 2C 1E 00 01 */ cmpwi r30, 1 +/* 803212D8 0031CF38 41 82 00 18 */ beq lbl_803212F0 +/* 803212DC 0031CF3C 40 80 00 20 */ bge lbl_803212FC +/* 803212E0 0031CF40 48 00 00 3C */ b lbl_8032131C +lbl_803212E4: +/* 803212E4 0031CF44 2C 1E 00 05 */ cmpwi r30, 5 +/* 803212E8 0031CF48 40 80 00 34 */ bge lbl_8032131C +/* 803212EC 0031CF4C 48 00 00 28 */ b lbl_80321314 +lbl_803212F0: +/* 803212F0 0031CF50 3B E0 00 09 */ li r31, 9 +/* 803212F4 0031CF54 38 60 FF FF */ li r3, -1 +/* 803212F8 0031CF58 48 00 00 24 */ b lbl_8032131C +lbl_803212FC: +/* 803212FC 0031CF5C 3B E0 00 09 */ li r31, 9 +/* 80321300 0031CF60 38 60 FF FE */ li r3, -2 +/* 80321304 0031CF64 48 00 00 18 */ b lbl_8032131C +lbl_80321308: +/* 80321308 0031CF68 3B E0 00 06 */ li r31, 6 +/* 8032130C 0031CF6C 38 60 FF F6 */ li r3, -10 +/* 80321310 0031CF70 48 00 00 0C */ b lbl_8032131C +lbl_80321314: +/* 80321314 0031CF74 3B E0 00 06 */ li r31, 6 +/* 80321318 0031CF78 38 60 FF EC */ li r3, -20 +lbl_8032131C: +/* 8032131C 0031CF7C 80 0D B0 50 */ lwz r0, lbl_80640310-_SDA_BASE_(r13) +/* 80321320 0031CF80 2C 00 00 00 */ cmpwi r0, 0 +/* 80321324 0031CF84 41 82 00 5C */ beq lbl_80321380 +/* 80321328 0031CF88 2C 1F 00 00 */ cmpwi r31, 0 +/* 8032132C 0031CF8C 41 82 00 54 */ beq lbl_80321380 +/* 80321330 0031CF90 3C 83 FF FF */ addis r4, r3, 0xffff +/* 80321334 0031CF94 7F E3 FB 78 */ mr r3, r31 +/* 80321338 0031CF98 38 84 11 B8 */ addi r4, r4, 0x11b8 +/* 8032133C 0031CF9C 4B FF B2 45 */ bl func_8031C580 +/* 80321340 0031CFA0 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 80321344 0031CFA4 81 84 00 14 */ lwz r12, 0x14(r4) +/* 80321348 0031CFA8 2C 0C 00 00 */ cmpwi r12, 0 +/* 8032134C 0031CFAC 41 82 00 18 */ beq lbl_80321364 +/* 80321350 0031CFB0 80 A4 00 18 */ lwz r5, 0x18(r4) +/* 80321354 0031CFB4 7F E3 FB 78 */ mr r3, r31 +/* 80321358 0031CFB8 38 80 00 00 */ li r4, 0 +/* 8032135C 0031CFBC 7D 89 03 A6 */ mtctr r12 +/* 80321360 0031CFC0 4E 80 04 21 */ bctrl +lbl_80321364: +/* 80321364 0031CFC4 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321368 0031CFC8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032136C 0031CFCC 41 82 00 14 */ beq lbl_80321380 +/* 80321370 0031CFD0 38 00 00 00 */ li r0, 0 +/* 80321374 0031CFD4 90 03 00 04 */ stw r0, 4(r3) +/* 80321378 0031CFD8 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 8032137C 0031CFDC 90 03 00 30 */ stw r0, 0x30(r3) +lbl_80321380: +/* 80321380 0031CFE0 7F C3 F3 78 */ mr r3, r30 +lbl_80321384: +/* 80321384 0031CFE4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80321388 0031CFE8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8032138C 0031CFEC 83 C1 00 08 */ lwz r30, 8(r1) +/* 80321390 0031CFF0 7C 08 03 A6 */ mtlr r0 +/* 80321394 0031CFF4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80321398 0031CFF8 4E 80 00 20 */ blr +lbl_8032139C: +/* 8032139C 0031CFFC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803213A0 0031D000 7C 08 02 A6 */ mflr r0 +/* 803213A4 0031D004 90 01 00 24 */ stw r0, 0x24(r1) +/* 803213A8 0031D008 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 803213AC 0031D00C 3F E0 80 44 */ lis r31, lbl_80447248@ha +/* 803213B0 0031D010 3B FF 72 48 */ addi r31, r31, lbl_80447248@l +/* 803213B4 0031D014 93 C1 00 18 */ stw r30, 0x18(r1) +/* 803213B8 0031D018 7C 9E 23 78 */ mr r30, r4 +/* 803213BC 0031D01C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 803213C0 0031D020 7C 7D 1B 78 */ mr r29, r3 +/* 803213C4 0031D024 38 60 00 20 */ li r3, 0x20 +/* 803213C8 0031D028 80 A4 00 00 */ lwz r5, 0(r4) +/* 803213CC 0031D02C 38 9F 00 EC */ addi r4, r31, 0xec +/* 803213D0 0031D030 4C C6 31 82 */ crclr 6 +/* 803213D4 0031D034 4B FF B7 61 */ bl func_8031CB34 +/* 803213D8 0031D038 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803213DC 0031D03C 38 00 00 00 */ li r0, 0 +/* 803213E0 0031D040 90 03 00 30 */ stw r0, 0x30(r3) +/* 803213E4 0031D044 80 7E 00 00 */ lwz r3, 0(r30) +/* 803213E8 0031D048 2C 03 00 00 */ cmpwi r3, 0 +/* 803213EC 0031D04C 40 82 01 48 */ bne lbl_80321534 +/* 803213F0 0031D050 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803213F4 0031D054 80 03 00 04 */ lwz r0, 4(r3) +/* 803213F8 0031D058 2C 00 00 02 */ cmpwi r0, 2 +/* 803213FC 0031D05C 40 82 01 00 */ bne lbl_803214FC +/* 80321400 0031D060 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 80321404 0031D064 80 1E 00 04 */ lwz r0, 4(r30) +/* 80321408 0031D068 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8032140C 0031D06C 7C 03 00 00 */ cmpw r3, r0 +/* 80321410 0031D070 40 82 00 7C */ bne lbl_8032148C +/* 80321414 0031D074 38 9F 01 1C */ addi r4, r31, 0x11c +/* 80321418 0031D078 38 60 00 20 */ li r3, 0x20 +/* 8032141C 0031D07C 4C C6 31 82 */ crclr 6 +/* 80321420 0031D080 4B FF B7 15 */ bl func_8031CB34 +/* 80321424 0031D084 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80321428 0031D088 38 00 00 05 */ li r0, 5 +/* 8032142C 0031D08C 38 60 00 01 */ li r3, 1 +/* 80321430 0031D090 38 8D 8D 78 */ addi r4, r13, lbl_8063E038-_SDA_BASE_ +/* 80321434 0031D094 90 05 00 04 */ stw r0, 4(r5) +/* 80321438 0031D098 38 A0 00 00 */ li r5, 0 +/* 8032143C 0031D09C 4B FF E8 15 */ bl func_8031FC50 +/* 80321440 0031D0A0 4B FF FE 49 */ bl func_80321288 +/* 80321444 0031D0A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80321448 0031D0A8 40 82 00 F0 */ bne lbl_80321538 +/* 8032144C 0031D0AC 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80321450 0031D0B0 38 60 00 00 */ li r3, 0 +/* 80321454 0031D0B4 80 9E 00 04 */ lwz r4, 4(r30) +/* 80321458 0031D0B8 81 85 00 14 */ lwz r12, 0x14(r5) +/* 8032145C 0031D0BC 80 A5 00 18 */ lwz r5, 0x18(r5) +/* 80321460 0031D0C0 7D 89 03 A6 */ mtctr r12 +/* 80321464 0031D0C4 4E 80 04 21 */ bctrl +/* 80321468 0031D0C8 48 00 1A 29 */ bl func_80322E90 +/* 8032146C 0031D0CC 2C 03 00 00 */ cmpwi r3, 0 +/* 80321470 0031D0D0 40 82 00 C8 */ bne lbl_80321538 +/* 80321474 0031D0D4 80 7E 00 04 */ lwz r3, 4(r30) +/* 80321478 0031D0D8 48 00 37 19 */ bl func_80324B90 +/* 8032147C 0031D0DC 2C 03 00 00 */ cmpwi r3, 0 +/* 80321480 0031D0E0 41 82 00 B8 */ beq lbl_80321538 +/* 80321484 0031D0E4 48 00 00 B4 */ b lbl_80321538 +/* 80321488 0031D0E8 48 00 00 B0 */ b lbl_80321538 +lbl_8032148C: +/* 8032148C 0031D0EC 38 9F 01 38 */ addi r4, r31, 0x138 +/* 80321490 0031D0F0 38 60 00 20 */ li r3, 0x20 +/* 80321494 0031D0F4 4C C6 31 82 */ crclr 6 +/* 80321498 0031D0F8 4B FF B6 9D */ bl func_8031CB34 +/* 8032149C 0031D0FC 80 0D B0 50 */ lwz r0, lbl_80640310-_SDA_BASE_(r13) +/* 803214A0 0031D100 2C 00 00 00 */ cmpwi r0, 0 +/* 803214A4 0031D104 41 82 00 94 */ beq lbl_80321538 +/* 803214A8 0031D108 3C 80 FF FF */ lis r4, 0xFFFF15A0@ha +/* 803214AC 0031D10C 38 60 00 06 */ li r3, 6 +/* 803214B0 0031D110 38 84 15 A0 */ addi r4, r4, 0xFFFF15A0@l +/* 803214B4 0031D114 4B FF B0 CD */ bl func_8031C580 +/* 803214B8 0031D118 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803214BC 0031D11C 81 83 00 14 */ lwz r12, 0x14(r3) +/* 803214C0 0031D120 2C 0C 00 00 */ cmpwi r12, 0 +/* 803214C4 0031D124 41 82 00 18 */ beq lbl_803214DC +/* 803214C8 0031D128 80 A3 00 18 */ lwz r5, 0x18(r3) +/* 803214CC 0031D12C 38 60 00 06 */ li r3, 6 +/* 803214D0 0031D130 38 80 00 00 */ li r4, 0 +/* 803214D4 0031D134 7D 89 03 A6 */ mtctr r12 +/* 803214D8 0031D138 4E 80 04 21 */ bctrl +lbl_803214DC: +/* 803214DC 0031D13C 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803214E0 0031D140 2C 03 00 00 */ cmpwi r3, 0 +/* 803214E4 0031D144 41 82 00 54 */ beq lbl_80321538 +/* 803214E8 0031D148 38 00 00 00 */ li r0, 0 +/* 803214EC 0031D14C 90 03 00 04 */ stw r0, 4(r3) +/* 803214F0 0031D150 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803214F4 0031D154 90 03 00 30 */ stw r0, 0x30(r3) +/* 803214F8 0031D158 48 00 00 40 */ b lbl_80321538 +lbl_803214FC: +/* 803214FC 0031D15C 2C 00 00 03 */ cmpwi r0, 3 +/* 80321500 0031D160 40 82 00 38 */ bne lbl_80321538 +/* 80321504 0031D164 3C E0 80 32 */ lis r7, lbl_8032196C@ha +/* 80321508 0031D168 80 9E 00 04 */ lwz r4, 4(r30) +/* 8032150C 0031D16C 7F A3 EB 78 */ mr r3, r29 +/* 80321510 0031D170 38 A0 00 00 */ li r5, 0 +/* 80321514 0031D174 38 E7 19 6C */ addi r7, r7, lbl_8032196C@l +/* 80321518 0031D178 38 C0 00 00 */ li r6, 0 +/* 8032151C 0031D17C 39 00 00 00 */ li r8, 0 +/* 80321520 0031D180 48 01 BC 1D */ bl gpGetInfo +/* 80321524 0031D184 4B FF FD 65 */ bl func_80321288 +/* 80321528 0031D188 2C 03 00 00 */ cmpwi r3, 0 +/* 8032152C 0031D18C 41 82 00 0C */ beq lbl_80321538 +/* 80321530 0031D190 48 00 00 08 */ b lbl_80321538 +lbl_80321534: +/* 80321534 0031D194 4B FF FD 55 */ bl func_80321288 +lbl_80321538: +/* 80321538 0031D198 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8032153C 0031D19C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80321540 0031D1A0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80321544 0031D1A4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80321548 0031D1A8 7C 08 03 A6 */ mtlr r0 +/* 8032154C 0031D1AC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80321550 0031D1B0 4E 80 00 20 */ blr + +.global func_80321554 +func_80321554: +/* 80321554 0031D1B4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80321558 0031D1B8 7C 08 02 A6 */ mflr r0 +/* 8032155C 0031D1BC 38 60 00 20 */ li r3, 0x20 +/* 80321560 0031D1C0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80321564 0031D1C4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80321568 0031D1C8 3F E0 80 44 */ lis r31, lbl_80447248@ha +/* 8032156C 0031D1CC 3B FF 72 48 */ addi r31, r31, lbl_80447248@l +/* 80321570 0031D1D0 38 9F 01 58 */ addi r4, r31, 0x158 +/* 80321574 0031D1D4 4C C6 31 82 */ crclr 6 +/* 80321578 0031D1D8 4B FF B5 BD */ bl func_8031CB34 +/* 8032157C 0031D1DC 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321580 0031D1E0 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 80321584 0031D1E4 48 01 1C 35 */ bl func_803331B8 +/* 80321588 0031D1E8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032158C 0031D1EC 41 82 00 44 */ beq lbl_803215D0 +/* 80321590 0031D1F0 38 9F 01 6C */ addi r4, r31, 0x16c +/* 80321594 0031D1F4 38 60 00 20 */ li r3, 0x20 +/* 80321598 0031D1F8 4C C6 31 82 */ crclr 6 +/* 8032159C 0031D1FC 4B FF B5 99 */ bl func_8031CB34 +/* 803215A0 0031D200 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 803215A4 0031D204 80 64 00 1C */ lwz r3, 0x1c(r4) +/* 803215A8 0031D208 38 A4 02 4C */ addi r5, r4, 0x24c +/* 803215AC 0031D20C 80 83 00 24 */ lwz r4, 0x24(r3) +/* 803215B0 0031D210 38 63 00 10 */ addi r3, r3, 0x10 +/* 803215B4 0031D214 48 01 16 F5 */ bl func_80332CA8 +/* 803215B8 0031D218 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803215BC 0031D21C 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 803215C0 0031D220 38 63 00 10 */ addi r3, r3, 0x10 +/* 803215C4 0031D224 48 01 15 49 */ bl func_80332B0C +/* 803215C8 0031D228 7C 65 1B 78 */ mr r5, r3 +/* 803215CC 0031D22C 48 00 01 1C */ b lbl_803216E8 +lbl_803215D0: +/* 803215D0 0031D230 38 9F 01 A0 */ addi r4, r31, 0x1a0 +/* 803215D4 0031D234 38 60 00 20 */ li r3, 0x20 +/* 803215D8 0031D238 4C C6 31 82 */ crclr 6 +/* 803215DC 0031D23C 4B FF B5 59 */ bl func_8031CB34 +/* 803215E0 0031D240 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803215E4 0031D244 38 63 00 40 */ addi r3, r3, 0x40 +/* 803215E8 0031D248 48 01 1B B9 */ bl func_803331A0 +/* 803215EC 0031D24C 2C 03 00 00 */ cmpwi r3, 0 +/* 803215F0 0031D250 40 82 00 80 */ bne lbl_80321670 +/* 803215F4 0031D254 38 9F 01 D0 */ addi r4, r31, 0x1d0 +/* 803215F8 0031D258 38 60 00 20 */ li r3, 0x20 +/* 803215FC 0031D25C 4C C6 31 82 */ crclr 6 +/* 80321600 0031D260 4B FF B5 35 */ bl func_8031CB34 +/* 80321604 0031D264 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321608 0031D268 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8032160C 0031D26C 38 63 00 04 */ addi r3, r3, 4 +/* 80321610 0031D270 48 01 1B 41 */ bl func_80333150 +/* 80321614 0031D274 2C 03 00 00 */ cmpwi r3, 0 +/* 80321618 0031D278 41 82 00 38 */ beq lbl_80321650 +/* 8032161C 0031D27C 38 9F 02 0C */ addi r4, r31, 0x20c +/* 80321620 0031D280 38 60 00 20 */ li r3, 0x20 +/* 80321624 0031D284 4C C6 31 82 */ crclr 6 +/* 80321628 0031D288 4B FF B5 0D */ bl func_8031CB34 +/* 8032162C 0031D28C 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80321630 0031D290 80 85 00 1C */ lwz r4, 0x1c(r5) +/* 80321634 0031D294 80 64 00 04 */ lwz r3, 4(r4) +/* 80321638 0031D298 80 04 00 08 */ lwz r0, 8(r4) +/* 8032163C 0031D29C 90 65 00 40 */ stw r3, 0x40(r5) +/* 80321640 0031D2A0 90 05 00 44 */ stw r0, 0x44(r5) +/* 80321644 0031D2A4 80 04 00 0C */ lwz r0, 0xc(r4) +/* 80321648 0031D2A8 90 05 00 48 */ stw r0, 0x48(r5) +/* 8032164C 0031D2AC 48 00 00 80 */ b lbl_803216CC +lbl_80321650: +/* 80321650 0031D2B0 38 9F 02 38 */ addi r4, r31, 0x238 +/* 80321654 0031D2B4 38 60 00 20 */ li r3, 0x20 +/* 80321658 0031D2B8 4C C6 31 82 */ crclr 6 +/* 8032165C 0031D2BC 4B FF B4 D9 */ bl func_8031CB34 +/* 80321660 0031D2C0 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321664 0031D2C4 38 63 00 40 */ addi r3, r3, 0x40 +/* 80321668 0031D2C8 48 01 1A 21 */ bl func_80333088 +/* 8032166C 0031D2CC 48 00 00 60 */ b lbl_803216CC +lbl_80321670: +/* 80321670 0031D2D0 38 9F 02 64 */ addi r4, r31, 0x264 +/* 80321674 0031D2D4 38 60 00 20 */ li r3, 0x20 +/* 80321678 0031D2D8 4C C6 31 82 */ crclr 6 +/* 8032167C 0031D2DC 4B FF B4 B9 */ bl func_8031CB34 +/* 80321680 0031D2E0 4B F5 11 39 */ bl OSGetTime +/* 80321684 0031D2E4 3C C0 6C 08 */ lis r6, 0x6C078965@ha +/* 80321688 0031D2E8 3C A0 5D 59 */ lis r5, 0x5D588B65@ha +/* 8032168C 0031D2EC 39 06 89 65 */ addi r8, r6, 0x6C078965@l +/* 80321690 0031D2F0 81 4D B0 50 */ lwz r10, lbl_80640310-_SDA_BASE_(r13) +/* 80321694 0031D2F4 39 25 8B 65 */ addi r9, r5, 0x5D588B65@l +/* 80321698 0031D2F8 3C A0 00 27 */ lis r5, 0x00269EC3@ha +/* 8032169C 0031D2FC 38 05 9E C3 */ addi r0, r5, 0x00269EC3@l +/* 803216A0 0031D300 38 C0 00 00 */ li r6, 0 +/* 803216A4 0031D304 7C A3 41 D6 */ mullw r5, r3, r8 +/* 803216A8 0031D308 38 6A 00 40 */ addi r3, r10, 0x40 +/* 803216AC 0031D30C 7C E4 40 16 */ mulhwu r7, r4, r8 +/* 803216B0 0031D310 7D 04 41 D6 */ mullw r8, r4, r8 +/* 803216B4 0031D314 7C A7 2A 14 */ add r5, r7, r5 +/* 803216B8 0031D318 7C 84 49 D6 */ mullw r4, r4, r9 +/* 803216BC 0031D31C 7C 08 00 14 */ addc r0, r8, r0 +/* 803216C0 0031D320 7C 05 22 14 */ add r0, r5, r4 +/* 803216C4 0031D324 7C 80 31 14 */ adde r4, r0, r6 +/* 803216C8 0031D328 48 01 14 7D */ bl func_80332B44 +lbl_803216CC: +/* 803216CC 0031D32C 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 803216D0 0031D330 80 85 00 0C */ lwz r4, 0xc(r5) +/* 803216D4 0031D334 38 65 00 40 */ addi r3, r5, 0x40 +/* 803216D8 0031D338 38 A5 02 4C */ addi r5, r5, 0x24c +/* 803216DC 0031D33C 48 01 15 CD */ bl func_80332CA8 +/* 803216E0 0031D340 38 80 00 00 */ li r4, 0 +/* 803216E4 0031D344 38 A0 00 00 */ li r5, 0 +lbl_803216E8: +/* 803216E8 0031D348 81 2D B0 50 */ lwz r9, lbl_80640310-_SDA_BASE_(r13) +/* 803216EC 0031D34C 3C E0 80 32 */ lis r7, func_8031C8EC@ha +/* 803216F0 0031D350 3D 00 80 32 */ lis r8, func_8031C988@ha +/* 803216F4 0031D354 7C 86 23 78 */ mr r6, r4 +/* 803216F8 0031D358 80 69 00 10 */ lwz r3, 0x10(r9) +/* 803216FC 0031D35C 38 89 02 55 */ addi r4, r9, 0x255 +/* 80321700 0031D360 38 E7 C8 EC */ addi r7, r7, func_8031C8EC@l +/* 80321704 0031D364 39 08 C9 88 */ addi r8, r8, func_8031C988@l +/* 80321708 0031D368 48 01 29 85 */ bl func_8033408C +/* 8032170C 0031D36C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80321710 0031D370 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80321714 0031D374 7C 08 03 A6 */ mtlr r0 +/* 80321718 0031D378 38 21 00 10 */ addi r1, r1, 0x10 +/* 8032171C 0031D37C 4E 80 00 20 */ blr + +.global func_80321720 +func_80321720: +/* 80321720 0031D380 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80321724 0031D384 7C 08 02 A6 */ mflr r0 +/* 80321728 0031D388 90 01 00 14 */ stw r0, 0x14(r1) +/* 8032172C 0031D38C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80321730 0031D390 3F E0 80 44 */ lis r31, lbl_80447248@ha +/* 80321734 0031D394 3B FF 72 48 */ addi r31, r31, lbl_80447248@l +/* 80321738 0031D398 93 C1 00 08 */ stw r30, 8(r1) +/* 8032173C 0031D39C 48 01 2C 05 */ bl func_80334340 +/* 80321740 0031D3A0 48 01 32 89 */ bl func_803349C8 +/* 80321744 0031D3A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80321748 0031D3A8 41 82 02 0C */ beq lbl_80321954 +/* 8032174C 0031D3AC 48 01 32 B9 */ bl func_80334A04 +/* 80321750 0031D3B0 2C 03 00 00 */ cmpwi r3, 0 +/* 80321754 0031D3B4 41 82 01 28 */ beq lbl_8032187C +/* 80321758 0031D3B8 38 9F 02 A8 */ addi r4, r31, 0x2a8 +/* 8032175C 0031D3BC 38 60 00 20 */ li r3, 0x20 +/* 80321760 0031D3C0 4C C6 31 82 */ crclr 6 +/* 80321764 0031D3C4 4B FF B3 D1 */ bl func_8031CB34 +/* 80321768 0031D3C8 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 8032176C 0031D3CC 38 64 00 4C */ addi r3, r4, 0x4c +/* 80321770 0031D3D0 38 84 01 4C */ addi r4, r4, 0x14c +/* 80321774 0031D3D4 48 01 32 B5 */ bl func_80334A28 +/* 80321778 0031D3D8 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 8032177C 0031D3DC 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 80321780 0031D3E0 48 01 1A 39 */ bl func_803331B8 +/* 80321784 0031D3E4 2C 03 00 00 */ cmpwi r3, 0 +/* 80321788 0031D3E8 41 82 00 70 */ beq lbl_803217F8 +/* 8032178C 0031D3EC 38 9F 02 B8 */ addi r4, r31, 0x2b8 +/* 80321790 0031D3F0 38 60 00 20 */ li r3, 0x20 +/* 80321794 0031D3F4 4C C6 31 82 */ crclr 6 +/* 80321798 0031D3F8 4B FF B3 9D */ bl func_8031CB34 +/* 8032179C 0031D3FC 4B F5 10 1D */ bl OSGetTime +/* 803217A0 0031D400 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 803217A4 0031D404 3D 00 80 32 */ lis r8, lbl_8032139C@ha +/* 803217A8 0031D408 38 00 00 01 */ li r0, 1 +/* 803217AC 0031D40C 38 C0 00 01 */ li r6, 1 +/* 803217B0 0031D410 90 85 00 3C */ stw r4, 0x3c(r5) +/* 803217B4 0031D414 39 08 13 9C */ addi r8, r8, lbl_8032139C@l +/* 803217B8 0031D418 38 E0 00 00 */ li r7, 0 +/* 803217BC 0031D41C 39 20 00 00 */ li r9, 0 +/* 803217C0 0031D420 90 65 00 38 */ stw r3, 0x38(r5) +/* 803217C4 0031D424 90 05 00 30 */ stw r0, 0x30(r5) +/* 803217C8 0031D428 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 803217CC 0031D42C 80 65 00 00 */ lwz r3, 0(r5) +/* 803217D0 0031D430 38 85 00 4C */ addi r4, r5, 0x4c +/* 803217D4 0031D434 38 A5 01 4C */ addi r5, r5, 0x14c +/* 803217D8 0031D438 48 01 B7 0D */ bl gpConnectPreAuthenticatedA +/* 803217DC 0031D43C 4B FF FA AD */ bl func_80321288 +/* 803217E0 0031D440 2C 03 00 00 */ cmpwi r3, 0 +/* 803217E4 0031D444 40 82 01 70 */ bne lbl_80321954 +/* 803217E8 0031D448 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803217EC 0031D44C 38 00 00 02 */ li r0, 2 +/* 803217F0 0031D450 90 03 00 04 */ stw r0, 4(r3) +/* 803217F4 0031D454 48 00 01 60 */ b lbl_80321954 +lbl_803217F8: +/* 803217F8 0031D458 48 01 32 7D */ bl func_80334A74 +/* 803217FC 0031D45C 80 ED B0 50 */ lwz r7, lbl_80640310-_SDA_BASE_(r13) +/* 80321800 0031D460 7C 65 1B 78 */ mr r5, r3 +/* 80321804 0031D464 7C 86 23 78 */ mr r6, r4 +/* 80321808 0031D468 38 67 00 40 */ addi r3, r7, 0x40 +/* 8032180C 0031D46C 48 01 13 19 */ bl func_80332B24 +/* 80321810 0031D470 38 9F 02 B8 */ addi r4, r31, 0x2b8 +/* 80321814 0031D474 38 60 00 20 */ li r3, 0x20 +/* 80321818 0031D478 4C C6 31 82 */ crclr 6 +/* 8032181C 0031D47C 4B FF B3 19 */ bl func_8031CB34 +/* 80321820 0031D480 4B F5 0F 99 */ bl OSGetTime +/* 80321824 0031D484 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80321828 0031D488 3D 00 80 32 */ lis r8, lbl_8032139C@ha +/* 8032182C 0031D48C 38 00 00 01 */ li r0, 1 +/* 80321830 0031D490 38 C0 00 01 */ li r6, 1 +/* 80321834 0031D494 90 85 00 3C */ stw r4, 0x3c(r5) +/* 80321838 0031D498 39 08 13 9C */ addi r8, r8, lbl_8032139C@l +/* 8032183C 0031D49C 38 E0 00 00 */ li r7, 0 +/* 80321840 0031D4A0 39 20 00 00 */ li r9, 0 +/* 80321844 0031D4A4 90 65 00 38 */ stw r3, 0x38(r5) +/* 80321848 0031D4A8 90 05 00 30 */ stw r0, 0x30(r5) +/* 8032184C 0031D4AC 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80321850 0031D4B0 80 65 00 00 */ lwz r3, 0(r5) +/* 80321854 0031D4B4 38 85 00 4C */ addi r4, r5, 0x4c +/* 80321858 0031D4B8 38 A5 01 4C */ addi r5, r5, 0x14c +/* 8032185C 0031D4BC 48 01 B6 89 */ bl gpConnectPreAuthenticatedA +/* 80321860 0031D4C0 4B FF FA 29 */ bl func_80321288 +/* 80321864 0031D4C4 2C 03 00 00 */ cmpwi r3, 0 +/* 80321868 0031D4C8 40 82 00 EC */ bne lbl_80321954 +/* 8032186C 0031D4CC 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321870 0031D4D0 38 00 00 03 */ li r0, 3 +/* 80321874 0031D4D4 90 03 00 04 */ stw r0, 4(r3) +/* 80321878 0031D4D8 48 00 00 DC */ b lbl_80321954 +lbl_8032187C: +/* 8032187C 0031D4DC 48 01 31 A1 */ bl func_80334A1C +/* 80321880 0031D4E0 7C 7E 1B 78 */ mr r30, r3 +/* 80321884 0031D4E4 38 9F 02 E0 */ addi r4, r31, 0x2e0 +/* 80321888 0031D4E8 7F C5 F3 78 */ mr r5, r30 +/* 8032188C 0031D4EC 38 60 00 20 */ li r3, 0x20 +/* 80321890 0031D4F0 4C C6 31 82 */ crclr 6 +/* 80321894 0031D4F4 4B FF B2 A1 */ bl func_8031CB34 +/* 80321898 0031D4F8 2C 1E 8E B8 */ cmpwi r30, -29000 +/* 8032189C 0031D4FC 41 81 00 60 */ bgt lbl_803218FC +/* 803218A0 0031D500 80 0D B0 50 */ lwz r0, lbl_80640310-_SDA_BASE_(r13) +/* 803218A4 0031D504 2C 00 00 00 */ cmpwi r0, 0 +/* 803218A8 0031D508 41 82 00 AC */ beq lbl_80321954 +/* 803218AC 0031D50C 7F C4 F3 78 */ mr r4, r30 +/* 803218B0 0031D510 38 60 00 09 */ li r3, 9 +/* 803218B4 0031D514 4B FF AC CD */ bl func_8031C580 +/* 803218B8 0031D518 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803218BC 0031D51C 81 83 00 14 */ lwz r12, 0x14(r3) +/* 803218C0 0031D520 2C 0C 00 00 */ cmpwi r12, 0 +/* 803218C4 0031D524 41 82 00 18 */ beq lbl_803218DC +/* 803218C8 0031D528 80 A3 00 18 */ lwz r5, 0x18(r3) +/* 803218CC 0031D52C 38 60 00 09 */ li r3, 9 +/* 803218D0 0031D530 38 80 00 00 */ li r4, 0 +/* 803218D4 0031D534 7D 89 03 A6 */ mtctr r12 +/* 803218D8 0031D538 4E 80 04 21 */ bctrl +lbl_803218DC: +/* 803218DC 0031D53C 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803218E0 0031D540 2C 03 00 00 */ cmpwi r3, 0 +/* 803218E4 0031D544 41 82 00 70 */ beq lbl_80321954 +/* 803218E8 0031D548 38 00 00 00 */ li r0, 0 +/* 803218EC 0031D54C 90 03 00 04 */ stw r0, 4(r3) +/* 803218F0 0031D550 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 803218F4 0031D554 90 03 00 30 */ stw r0, 0x30(r3) +/* 803218F8 0031D558 48 00 00 5C */ b lbl_80321954 +lbl_803218FC: +/* 803218FC 0031D55C 80 0D B0 50 */ lwz r0, lbl_80640310-_SDA_BASE_(r13) +/* 80321900 0031D560 2C 00 00 00 */ cmpwi r0, 0 +/* 80321904 0031D564 41 82 00 50 */ beq lbl_80321954 +/* 80321908 0031D568 7F C4 F3 78 */ mr r4, r30 +/* 8032190C 0031D56C 38 60 00 02 */ li r3, 2 +/* 80321910 0031D570 4B FF AC 71 */ bl func_8031C580 +/* 80321914 0031D574 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321918 0031D578 81 83 00 14 */ lwz r12, 0x14(r3) +/* 8032191C 0031D57C 2C 0C 00 00 */ cmpwi r12, 0 +/* 80321920 0031D580 41 82 00 18 */ beq lbl_80321938 +/* 80321924 0031D584 80 A3 00 18 */ lwz r5, 0x18(r3) +/* 80321928 0031D588 38 60 00 02 */ li r3, 2 +/* 8032192C 0031D58C 38 80 00 00 */ li r4, 0 +/* 80321930 0031D590 7D 89 03 A6 */ mtctr r12 +/* 80321934 0031D594 4E 80 04 21 */ bctrl +lbl_80321938: +/* 80321938 0031D598 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 8032193C 0031D59C 2C 03 00 00 */ cmpwi r3, 0 +/* 80321940 0031D5A0 41 82 00 14 */ beq lbl_80321954 +/* 80321944 0031D5A4 38 00 00 00 */ li r0, 0 +/* 80321948 0031D5A8 90 03 00 04 */ stw r0, 4(r3) +/* 8032194C 0031D5AC 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321950 0031D5B0 90 03 00 30 */ stw r0, 0x30(r3) +lbl_80321954: +/* 80321954 0031D5B4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80321958 0031D5B8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8032195C 0031D5BC 83 C1 00 08 */ lwz r30, 8(r1) +/* 80321960 0031D5C0 7C 08 03 A6 */ mtlr r0 +/* 80321964 0031D5C4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80321968 0031D5C8 4E 80 00 20 */ blr +lbl_8032196C: +/* 8032196C 0031D5CC 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 80321970 0031D5D0 7C 08 02 A6 */ mflr r0 +/* 80321974 0031D5D4 90 01 00 64 */ stw r0, 0x64(r1) +/* 80321978 0031D5D8 93 E1 00 5C */ stw r31, 0x5c(r1) +/* 8032197C 0031D5DC 3F E0 80 44 */ lis r31, lbl_80447248@ha +/* 80321980 0031D5E0 3B FF 72 48 */ addi r31, r31, lbl_80447248@l +/* 80321984 0031D5E4 93 C1 00 58 */ stw r30, 0x58(r1) +/* 80321988 0031D5E8 7C 9E 23 78 */ mr r30, r4 +/* 8032198C 0031D5EC 93 A1 00 54 */ stw r29, 0x54(r1) +/* 80321990 0031D5F0 7C 7D 1B 78 */ mr r29, r3 +/* 80321994 0031D5F4 80 A4 00 00 */ lwz r5, 0(r4) +/* 80321998 0031D5F8 2C 05 00 00 */ cmpwi r5, 0 +/* 8032199C 0031D5FC 40 82 02 0C */ bne lbl_80321BA8 +/* 803219A0 0031D600 80 CD B0 50 */ lwz r6, lbl_80640310-_SDA_BASE_(r13) +/* 803219A4 0031D604 80 06 00 04 */ lwz r0, 4(r6) +/* 803219A8 0031D608 2C 00 00 03 */ cmpwi r0, 3 +/* 803219AC 0031D60C 40 82 00 CC */ bne lbl_80321A78 +/* 803219B0 0031D610 88 04 00 8E */ lbz r0, 0x8e(r4) +/* 803219B4 0031D614 7C 00 07 75 */ extsb. r0, r0 +/* 803219B8 0031D618 40 82 00 94 */ bne lbl_80321A4C +/* 803219BC 0031D61C 38 9F 02 F8 */ addi r4, r31, 0x2f8 +/* 803219C0 0031D620 38 60 00 20 */ li r3, 0x20 +/* 803219C4 0031D624 4C C6 31 82 */ crclr 6 +/* 803219C8 0031D628 4B FF B1 6D */ bl func_8031CB34 +/* 803219CC 0031D62C 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 803219D0 0031D630 38 A1 00 38 */ addi r5, r1, 0x38 +/* 803219D4 0031D634 80 64 00 1C */ lwz r3, 0x1c(r4) +/* 803219D8 0031D638 80 84 00 0C */ lwz r4, 0xc(r4) +/* 803219DC 0031D63C 38 63 00 04 */ addi r3, r3, 4 +/* 803219E0 0031D640 48 01 12 C9 */ bl func_80332CA8 +/* 803219E4 0031D644 7F A3 EB 78 */ mr r3, r29 +/* 803219E8 0031D648 38 A1 00 38 */ addi r5, r1, 0x38 +/* 803219EC 0031D64C 38 80 07 05 */ li r4, 0x705 +/* 803219F0 0031D650 48 01 B8 2D */ bl gpSetInfosA +/* 803219F4 0031D654 4B FF F8 95 */ bl func_80321288 +/* 803219F8 0031D658 2C 03 00 00 */ cmpwi r3, 0 +/* 803219FC 0031D65C 40 82 01 BC */ bne lbl_80321BB8 +/* 80321A00 0031D660 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 80321A04 0031D664 38 00 00 04 */ li r0, 4 +/* 80321A08 0031D668 3C E0 80 32 */ lis r7, lbl_8032196C@ha +/* 80321A0C 0031D66C 7F A3 EB 78 */ mr r3, r29 +/* 80321A10 0031D670 90 04 00 04 */ stw r0, 4(r4) +/* 80321A14 0031D674 38 E7 19 6C */ addi r7, r7, lbl_8032196C@l +/* 80321A18 0031D678 38 A0 00 00 */ li r5, 0 +/* 80321A1C 0031D67C 38 C0 00 00 */ li r6, 0 +/* 80321A20 0031D680 80 9E 00 04 */ lwz r4, 4(r30) +/* 80321A24 0031D684 39 00 00 00 */ li r8, 0 +/* 80321A28 0031D688 48 01 B7 15 */ bl gpGetInfo +/* 80321A2C 0031D68C 4B FF F8 5D */ bl func_80321288 +/* 80321A30 0031D690 2C 03 00 00 */ cmpwi r3, 0 +/* 80321A34 0031D694 40 82 01 84 */ bne lbl_80321BB8 +/* 80321A38 0031D698 38 9F 03 2C */ addi r4, r31, 0x32c +/* 80321A3C 0031D69C 38 60 00 20 */ li r3, 0x20 +/* 80321A40 0031D6A0 4C C6 31 82 */ crclr 6 +/* 80321A44 0031D6A4 4B FF B0 F1 */ bl func_8031CB34 +/* 80321A48 0031D6A8 48 00 01 70 */ b lbl_80321BB8 +lbl_80321A4C: +/* 80321A4C 0031D6AC 38 9F 03 44 */ addi r4, r31, 0x344 +/* 80321A50 0031D6B0 38 60 00 20 */ li r3, 0x20 +/* 80321A54 0031D6B4 4C C6 31 82 */ crclr 6 +/* 80321A58 0031D6B8 4B FF B0 DD */ bl func_8031CB34 +/* 80321A5C 0031D6BC 7F A3 EB 78 */ mr r3, r29 +/* 80321A60 0031D6C0 48 01 B5 B1 */ bl gpDisconnect +/* 80321A64 0031D6C4 4B FF FA F1 */ bl func_80321554 +/* 80321A68 0031D6C8 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321A6C 0031D6CC 38 00 00 01 */ li r0, 1 +/* 80321A70 0031D6D0 90 03 00 04 */ stw r0, 4(r3) +/* 80321A74 0031D6D4 48 00 01 44 */ b lbl_80321BB8 +lbl_80321A78: +/* 80321A78 0031D6D8 2C 00 00 04 */ cmpwi r0, 4 +/* 80321A7C 0031D6DC 40 82 01 3C */ bne lbl_80321BB8 +/* 80321A80 0031D6E0 80 66 00 1C */ lwz r3, 0x1c(r6) +/* 80321A84 0031D6E4 38 A1 00 20 */ addi r5, r1, 0x20 +/* 80321A88 0031D6E8 80 86 00 0C */ lwz r4, 0xc(r6) +/* 80321A8C 0031D6EC 38 63 00 04 */ addi r3, r3, 4 +/* 80321A90 0031D6F0 48 01 12 19 */ bl func_80332CA8 +/* 80321A94 0031D6F4 38 7E 00 8E */ addi r3, r30, 0x8e +/* 80321A98 0031D6F8 38 81 00 20 */ addi r4, r1, 0x20 +/* 80321A9C 0031D6FC 4B EA C9 B1 */ bl strcmp +/* 80321AA0 0031D700 2C 03 00 00 */ cmpwi r3, 0 +/* 80321AA4 0031D704 40 82 00 BC */ bne lbl_80321B60 +/* 80321AA8 0031D708 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321AAC 0031D70C 38 A1 00 08 */ addi r5, r1, 8 +/* 80321AB0 0031D710 80 83 00 0C */ lwz r4, 0xc(r3) +/* 80321AB4 0031D714 38 63 00 40 */ addi r3, r3, 0x40 +/* 80321AB8 0031D718 48 01 11 F1 */ bl func_80332CA8 +/* 80321ABC 0031D71C 80 FE 00 04 */ lwz r7, 4(r30) +/* 80321AC0 0031D720 38 9F 03 78 */ addi r4, r31, 0x378 +/* 80321AC4 0031D724 38 A1 00 08 */ addi r5, r1, 8 +/* 80321AC8 0031D728 38 C1 00 20 */ addi r6, r1, 0x20 +/* 80321ACC 0031D72C 38 60 00 20 */ li r3, 0x20 +/* 80321AD0 0031D730 4C C6 31 82 */ crclr 6 +/* 80321AD4 0031D734 4B FF B0 61 */ bl func_8031CB34 +/* 80321AD8 0031D738 80 8D B0 50 */ lwz r4, lbl_80640310-_SDA_BASE_(r13) +/* 80321ADC 0031D73C 80 BE 00 04 */ lwz r5, 4(r30) +/* 80321AE0 0031D740 80 64 00 1C */ lwz r3, 0x1c(r4) +/* 80321AE4 0031D744 38 84 00 40 */ addi r4, r4, 0x40 +/* 80321AE8 0031D748 48 01 19 01 */ bl func_803333E8 +/* 80321AEC 0031D74C 7F A3 EB 78 */ mr r3, r29 +/* 80321AF0 0031D750 48 01 B5 21 */ bl gpDisconnect +/* 80321AF4 0031D754 38 9F 02 B8 */ addi r4, r31, 0x2b8 +/* 80321AF8 0031D758 38 60 00 20 */ li r3, 0x20 +/* 80321AFC 0031D75C 4C C6 31 82 */ crclr 6 +/* 80321B00 0031D760 4B FF B0 35 */ bl func_8031CB34 +/* 80321B04 0031D764 4B F5 0C B5 */ bl OSGetTime +/* 80321B08 0031D768 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80321B0C 0031D76C 3D 00 80 32 */ lis r8, lbl_8032139C@ha +/* 80321B10 0031D770 38 00 00 01 */ li r0, 1 +/* 80321B14 0031D774 38 C0 00 01 */ li r6, 1 +/* 80321B18 0031D778 90 85 00 3C */ stw r4, 0x3c(r5) +/* 80321B1C 0031D77C 39 08 13 9C */ addi r8, r8, lbl_8032139C@l +/* 80321B20 0031D780 38 E0 00 00 */ li r7, 0 +/* 80321B24 0031D784 39 20 00 00 */ li r9, 0 +/* 80321B28 0031D788 90 65 00 38 */ stw r3, 0x38(r5) +/* 80321B2C 0031D78C 90 05 00 30 */ stw r0, 0x30(r5) +/* 80321B30 0031D790 80 AD B0 50 */ lwz r5, lbl_80640310-_SDA_BASE_(r13) +/* 80321B34 0031D794 80 65 00 00 */ lwz r3, 0(r5) +/* 80321B38 0031D798 38 85 00 4C */ addi r4, r5, 0x4c +/* 80321B3C 0031D79C 38 A5 01 4C */ addi r5, r5, 0x14c +/* 80321B40 0031D7A0 48 01 B3 A5 */ bl gpConnectPreAuthenticatedA +/* 80321B44 0031D7A4 4B FF F7 45 */ bl func_80321288 +/* 80321B48 0031D7A8 2C 03 00 00 */ cmpwi r3, 0 +/* 80321B4C 0031D7AC 40 82 00 6C */ bne lbl_80321BB8 +/* 80321B50 0031D7B0 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321B54 0031D7B4 38 00 00 02 */ li r0, 2 +/* 80321B58 0031D7B8 90 03 00 04 */ stw r0, 4(r3) +/* 80321B5C 0031D7BC 48 00 00 5C */ b lbl_80321BB8 +lbl_80321B60: +/* 80321B60 0031D7C0 80 DE 00 04 */ lwz r6, 4(r30) +/* 80321B64 0031D7C4 38 9F 03 A0 */ addi r4, r31, 0x3a0 +/* 80321B68 0031D7C8 38 BE 00 8E */ addi r5, r30, 0x8e +/* 80321B6C 0031D7CC 38 60 00 20 */ li r3, 0x20 +/* 80321B70 0031D7D0 4C C6 31 82 */ crclr 6 +/* 80321B74 0031D7D4 4B FF AF C1 */ bl func_8031CB34 +/* 80321B78 0031D7D8 3C E0 80 32 */ lis r7, lbl_8032196C@ha +/* 80321B7C 0031D7DC 80 9E 00 04 */ lwz r4, 4(r30) +/* 80321B80 0031D7E0 7F A3 EB 78 */ mr r3, r29 +/* 80321B84 0031D7E4 38 A0 00 00 */ li r5, 0 +/* 80321B88 0031D7E8 38 E7 19 6C */ addi r7, r7, lbl_8032196C@l +/* 80321B8C 0031D7EC 38 C0 00 00 */ li r6, 0 +/* 80321B90 0031D7F0 39 00 00 00 */ li r8, 0 +/* 80321B94 0031D7F4 48 01 B5 A9 */ bl gpGetInfo +/* 80321B98 0031D7F8 4B FF F6 F1 */ bl func_80321288 +/* 80321B9C 0031D7FC 2C 03 00 00 */ cmpwi r3, 0 +/* 80321BA0 0031D800 41 82 00 18 */ beq lbl_80321BB8 +/* 80321BA4 0031D804 48 00 00 14 */ b lbl_80321BB8 +lbl_80321BA8: +/* 80321BA8 0031D808 38 9F 03 E0 */ addi r4, r31, 0x3e0 +/* 80321BAC 0031D80C 38 60 00 20 */ li r3, 0x20 +/* 80321BB0 0031D810 4C C6 31 82 */ crclr 6 +/* 80321BB4 0031D814 4B FF AF 81 */ bl func_8031CB34 +lbl_80321BB8: +/* 80321BB8 0031D818 80 01 00 64 */ lwz r0, 0x64(r1) +/* 80321BBC 0031D81C 83 E1 00 5C */ lwz r31, 0x5c(r1) +/* 80321BC0 0031D820 83 C1 00 58 */ lwz r30, 0x58(r1) +/* 80321BC4 0031D824 83 A1 00 54 */ lwz r29, 0x54(r1) +/* 80321BC8 0031D828 7C 08 03 A6 */ mtlr r0 +/* 80321BCC 0031D82C 38 21 00 60 */ addi r1, r1, 0x60 +/* 80321BD0 0031D830 4E 80 00 20 */ blr + +.global func_80321BD4 +func_80321BD4: +/* 80321BD4 0031D834 80 6D B0 50 */ lwz r3, lbl_80640310-_SDA_BASE_(r13) +/* 80321BD8 0031D838 2C 03 00 00 */ cmpwi r3, 0 +/* 80321BDC 0031D83C 41 82 00 18 */ beq lbl_80321BF4 +/* 80321BE0 0031D840 80 03 00 04 */ lwz r0, 4(r3) +/* 80321BE4 0031D844 2C 00 00 05 */ cmpwi r0, 5 +/* 80321BE8 0031D848 40 82 00 0C */ bne lbl_80321BF4 +/* 80321BEC 0031D84C 38 60 00 01 */ li r3, 1 +/* 80321BF0 0031D850 4E 80 00 20 */ blr +lbl_80321BF4: +/* 80321BF4 0031D854 38 60 00 00 */ li r3, 0 +/* 80321BF8 0031D858 4E 80 00 20 */ blr + +.global func_80321BFC +func_80321BFC: +/* 80321BFC 0031D85C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80321C00 0031D860 7C 08 02 A6 */ mflr r0 +/* 80321C04 0031D864 90 01 00 34 */ stw r0, 0x34(r1) +/* 80321C08 0031D868 39 61 00 30 */ addi r11, r1, 0x30 +/* 80321C0C 0031D86C 4B EA 55 15 */ bl _savegpr_25 +/* 80321C10 0031D870 83 A1 00 38 */ lwz r29, 0x38(r1) +/* 80321C14 0031D874 3C 60 80 44 */ lis r3, lbl_80447648@ha +/* 80321C18 0031D878 7C 99 23 78 */ mr r25, r4 +/* 80321C1C 0031D87C 7C BA 2B 78 */ mr r26, r5 +/* 80321C20 0031D880 38 83 76 48 */ addi r4, r3, lbl_80447648@l +/* 80321C24 0031D884 7C FB 3B 78 */ mr r27, r7 +/* 80321C28 0031D888 7D 1F 43 78 */ mr r31, r8 +/* 80321C2C 0031D88C 7D 3E 4B 78 */ mr r30, r9 +/* 80321C30 0031D890 7D 5C 53 78 */ mr r28, r10 +/* 80321C34 0031D894 38 60 00 04 */ li r3, 4 +/* 80321C38 0031D898 4C C6 31 82 */ crclr 6 +/* 80321C3C 0031D89C 4B FF AE F9 */ bl func_8031CB34 +/* 80321C40 0031D8A0 38 60 00 04 */ li r3, 4 +/* 80321C44 0031D8A4 38 80 0F 10 */ li r4, 0xf10 +/* 80321C48 0031D8A8 4B FF AC A5 */ bl func_8031C8EC +/* 80321C4C 0031D8AC 90 6D B0 58 */ stw r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321C50 0031D8B0 38 80 00 00 */ li r4, 0 +/* 80321C54 0031D8B4 38 A0 0F 10 */ li r5, 0xf10 +/* 80321C58 0031D8B8 4B CE 24 AD */ bl memset +/* 80321C5C 0031D8BC 4B FF A8 F5 */ bl func_8031C550 +/* 80321C60 0031D8C0 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321C64 0031D8C4 38 00 00 00 */ li r0, 0 +/* 80321C68 0031D8C8 3C 80 80 32 */ lis r4, lbl_80326A5C@ha +/* 80321C6C 0031D8CC 3C E0 80 32 */ lis r7, lbl_80323E20@ha +/* 80321C70 0031D8D0 90 03 00 00 */ stw r0, 0(r3) +/* 80321C74 0031D8D4 3C C0 80 32 */ lis r6, lbl_80323E24@ha +/* 80321C78 0031D8D8 3C A0 80 32 */ lis r5, lbl_80324278@ha +/* 80321C7C 0031D8DC 38 84 6A 5C */ addi r4, r4, lbl_80326A5C@l +/* 80321C80 0031D8E0 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321C84 0031D8E4 38 E7 3E 20 */ addi r7, r7, lbl_80323E20@l +/* 80321C88 0031D8E8 38 C6 3E 24 */ addi r6, r6, lbl_80323E24@l +/* 80321C8C 0031D8EC 2C 1F 00 00 */ cmpwi r31, 0 +/* 80321C90 0031D8F0 90 83 00 04 */ stw r4, 4(r3) +/* 80321C94 0031D8F4 38 A5 42 78 */ addi r5, r5, lbl_80324278@l +/* 80321C98 0031D8F8 38 80 20 00 */ li r4, 0x2000 +/* 80321C9C 0031D8FC 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321CA0 0031D900 90 E3 00 08 */ stw r7, 8(r3) +/* 80321CA4 0031D904 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321CA8 0031D908 90 C3 00 0C */ stw r6, 0xc(r3) +/* 80321CAC 0031D90C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321CB0 0031D910 90 A3 00 10 */ stw r5, 0x10(r3) +/* 80321CB4 0031D914 41 82 00 08 */ beq lbl_80321CBC +/* 80321CB8 0031D918 7F E4 FB 78 */ mr r4, r31 +lbl_80321CBC: +/* 80321CBC 0031D91C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321CC0 0031D920 2C 1E 00 00 */ cmpwi r30, 0 +/* 80321CC4 0031D924 38 00 20 00 */ li r0, 0x2000 +/* 80321CC8 0031D928 90 83 00 14 */ stw r4, 0x14(r3) +/* 80321CCC 0031D92C 41 82 00 08 */ beq lbl_80321CD4 +/* 80321CD0 0031D930 7F C0 F3 78 */ mr r0, r30 +lbl_80321CD4: +/* 80321CD4 0031D934 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80321CD8 0031D938 3F C0 80 62 */ lis r30, lbl_80620DE8@ha +/* 80321CDC 0031D93C 3F E0 80 62 */ lis r31, lbl_80620EE8@ha +/* 80321CE0 0031D940 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 80321CE4 0031D944 90 04 00 18 */ stw r0, 0x18(r4) +/* 80321CE8 0031D948 38 00 00 00 */ li r0, 0 +/* 80321CEC 0031D94C 3B DE 0D E8 */ addi r30, r30, lbl_80620DE8@l +/* 80321CF0 0031D950 3B FF 0E E8 */ addi r31, r31, lbl_80620EE8@l +/* 80321CF4 0031D954 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321CF8 0031D958 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 80321CFC 0031D95C 38 80 00 00 */ li r4, 0 +/* 80321D00 0031D960 38 A0 00 80 */ li r5, 0x80 +/* 80321D04 0031D964 90 06 00 1C */ stw r0, 0x1c(r6) +/* 80321D08 0031D968 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D0C 0031D96C 93 26 00 20 */ stw r25, 0x20(r6) +/* 80321D10 0031D970 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D14 0031D974 90 06 00 24 */ stw r0, 0x24(r6) +/* 80321D18 0031D978 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D1C 0031D97C 90 06 00 28 */ stw r0, 0x28(r6) +/* 80321D20 0031D980 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D24 0031D984 98 06 00 2C */ stb r0, 0x2c(r6) +/* 80321D28 0031D988 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D2C 0031D98C 98 06 00 2D */ stb r0, 0x2d(r6) +/* 80321D30 0031D990 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D34 0031D994 90 06 00 64 */ stw r0, 0x64(r6) +/* 80321D38 0031D998 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D3C 0031D99C 93 C6 00 68 */ stw r30, 0x68(r6) +/* 80321D40 0031D9A0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D44 0031D9A4 93 E6 00 6C */ stw r31, 0x6c(r6) +/* 80321D48 0031D9A8 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D4C 0031D9AC 90 06 00 70 */ stw r0, 0x70(r6) +/* 80321D50 0031D9B0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D54 0031D9B4 90 06 00 74 */ stw r0, 0x74(r6) +/* 80321D58 0031D9B8 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D5C 0031D9BC 90 06 00 78 */ stw r0, 0x78(r6) +/* 80321D60 0031D9C0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D64 0031D9C4 90 06 00 7C */ stw r0, 0x7c(r6) +/* 80321D68 0031D9C8 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D6C 0031D9CC 90 06 00 80 */ stw r0, 0x80(r6) +/* 80321D70 0031D9D0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D74 0031D9D4 90 06 00 84 */ stw r0, 0x84(r6) +/* 80321D78 0031D9D8 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D7C 0031D9DC 90 06 00 88 */ stw r0, 0x88(r6) +/* 80321D80 0031D9E0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D84 0031D9E4 90 06 00 8C */ stw r0, 0x8c(r6) +/* 80321D88 0031D9E8 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D8C 0031D9EC 90 06 00 90 */ stw r0, 0x90(r6) +/* 80321D90 0031D9F0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80321D94 0031D9F4 90 06 00 94 */ stw r0, 0x94(r6) +/* 80321D98 0031D9F8 4B CE 23 6D */ bl memset +/* 80321D9C 0031D9FC 3C 60 80 61 */ lis r3, lbl_8060FC88@ha +/* 80321DA0 0031DA00 38 80 00 00 */ li r4, 0 +/* 80321DA4 0031DA04 38 63 FC 88 */ addi r3, r3, lbl_8060FC88@l +/* 80321DA8 0031DA08 38 A0 01 00 */ li r5, 0x100 +/* 80321DAC 0031DA0C 4B CE 23 59 */ bl memset +/* 80321DB0 0031DA10 81 0D B0 58 */ lwz r8, lbl_80640318-_SDA_BASE_(r13) +/* 80321DB4 0031DA14 3D 20 80 32 */ lis r9, lbl_803234D4@ha +/* 80321DB8 0031DA18 80 F9 00 24 */ lwz r7, 0x24(r25) +/* 80321DBC 0031DA1C 7F 24 CB 78 */ mr r4, r25 +/* 80321DC0 0031DA20 7F 46 D3 78 */ mr r6, r26 +/* 80321DC4 0031DA24 38 68 00 98 */ addi r3, r8, 0x98 +/* 80321DC8 0031DA28 38 A8 00 1C */ addi r5, r8, 0x1c +/* 80321DCC 0031DA2C 39 08 00 2E */ addi r8, r8, 0x2e +/* 80321DD0 0031DA30 39 29 34 D4 */ addi r9, r9, lbl_803234D4@l +/* 80321DD4 0031DA34 39 40 00 00 */ li r10, 0 +/* 80321DD8 0031DA38 4B FF F0 C1 */ bl func_80320E98 +/* 80321DDC 0031DA3C 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80321DE0 0031DA40 7F 86 E3 78 */ mr r6, r28 +/* 80321DE4 0031DA44 7F A7 EB 78 */ mr r7, r29 +/* 80321DE8 0031DA48 38 65 03 00 */ addi r3, r5, 0x300 +/* 80321DEC 0031DA4C 38 85 00 1C */ addi r4, r5, 0x1c +/* 80321DF0 0031DA50 38 A5 00 2E */ addi r5, r5, 0x2e +/* 80321DF4 0031DA54 4B FF D6 B9 */ bl func_8031F4AC +/* 80321DF8 0031DA58 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80321DFC 0031DA5C 7F C7 F3 78 */ mr r7, r30 +/* 80321E00 0031DA60 7F E8 FB 78 */ mr r8, r31 +/* 80321E04 0031DA64 7F 89 E3 78 */ mr r9, r28 +/* 80321E08 0031DA68 7F AA EB 78 */ mr r10, r29 +/* 80321E0C 0031DA6C 38 65 03 60 */ addi r3, r5, 0x360 +/* 80321E10 0031DA70 38 85 00 1C */ addi r4, r5, 0x1c +/* 80321E14 0031DA74 38 C5 00 04 */ addi r6, r5, 4 +/* 80321E18 0031DA78 48 00 2B F5 */ bl func_80324A0C +/* 80321E1C 0031DA7C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321E20 0031DA80 38 63 07 F8 */ addi r3, r3, 0x7f8 +/* 80321E24 0031DA84 48 00 F1 D1 */ bl func_80330FF4 +/* 80321E28 0031DA88 7F 63 DB 78 */ mr r3, r27 +/* 80321E2C 0031DA8C 4B EA 4D 39 */ bl strlen +/* 80321E30 0031DA90 28 03 01 00 */ cmplwi r3, 0x100 +/* 80321E34 0031DA94 40 80 00 14 */ bge lbl_80321E48 +/* 80321E38 0031DA98 7F 63 DB 78 */ mr r3, r27 +/* 80321E3C 0031DA9C 4B EA 4D 29 */ bl strlen +/* 80321E40 0031DAA0 7C 7A 1B 78 */ mr r26, r3 +/* 80321E44 0031DAA4 48 00 00 08 */ b lbl_80321E4C +lbl_80321E48: +/* 80321E48 0031DAA8 3B 40 00 FF */ li r26, 0xff +lbl_80321E4C: +/* 80321E4C 0031DAAC 3F 20 80 62 */ lis r25, lbl_80620EE8@ha +/* 80321E50 0031DAB0 7F 64 DB 78 */ mr r4, r27 +/* 80321E54 0031DAB4 7F 45 D3 78 */ mr r5, r26 +/* 80321E58 0031DAB8 38 79 0E E8 */ addi r3, r25, lbl_80620EE8@l +/* 80321E5C 0031DABC 4B CE 21 A5 */ bl memcpy +/* 80321E60 0031DAC0 38 79 0E E8 */ addi r3, r25, 0xee8 +/* 80321E64 0031DAC4 38 00 00 00 */ li r0, 0 +/* 80321E68 0031DAC8 7C 03 D1 AE */ stbx r0, r3, r26 +/* 80321E6C 0031DACC 39 61 00 30 */ addi r11, r1, 0x30 +/* 80321E70 0031DAD0 4B EA 52 FD */ bl _restgpr_25 +/* 80321E74 0031DAD4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80321E78 0031DAD8 7C 08 03 A6 */ mtlr r0 +/* 80321E7C 0031DADC 38 21 00 30 */ addi r1, r1, 0x30 +/* 80321E80 0031DAE0 4E 80 00 20 */ blr + +.global func_80321E84 +func_80321E84: +/* 80321E84 0031DAE4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80321E88 0031DAE8 7C 08 02 A6 */ mflr r0 +/* 80321E8C 0031DAEC 3C 80 80 44 */ lis r4, lbl_80447670@ha +/* 80321E90 0031DAF0 38 60 00 04 */ li r3, 4 +/* 80321E94 0031DAF4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80321E98 0031DAF8 38 84 76 70 */ addi r4, r4, lbl_80447670@l +/* 80321E9C 0031DAFC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80321EA0 0031DB00 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80321EA4 0031DB04 4C C6 31 82 */ crclr 6 +/* 80321EA8 0031DB08 4B FF AC 8D */ bl func_8031CB34 +/* 80321EAC 0031DB0C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321EB0 0031DB10 2C 03 00 00 */ cmpwi r3, 0 +/* 80321EB4 0031DB14 41 82 01 24 */ beq lbl_80321FD8 +/* 80321EB8 0031DB18 80 63 03 70 */ lwz r3, 0x370(r3) +/* 80321EBC 0031DB1C 2C 03 00 00 */ cmpwi r3, 0 +/* 80321EC0 0031DB20 41 82 00 14 */ beq lbl_80321ED4 +/* 80321EC4 0031DB24 48 02 C7 71 */ bl qr2_shutdown +/* 80321EC8 0031DB28 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321ECC 0031DB2C 38 00 00 00 */ li r0, 0 +/* 80321ED0 0031DB30 90 03 03 70 */ stw r0, 0x370(r3) +lbl_80321ED4: +/* 80321ED4 0031DB34 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321ED8 0031DB38 3B E0 00 00 */ li r31, 0 +/* 80321EDC 0031DB3C 9B E3 03 78 */ stb r31, 0x378(r3) +/* 80321EE0 0031DB40 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321EE4 0031DB44 80 63 04 44 */ lwz r3, 0x444(r3) +/* 80321EE8 0031DB48 2C 03 00 00 */ cmpwi r3, 0 +/* 80321EEC 0031DB4C 41 82 00 10 */ beq lbl_80321EFC +/* 80321EF0 0031DB50 48 03 C5 AD */ bl ServerBrowserFree +/* 80321EF4 0031DB54 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321EF8 0031DB58 93 E3 04 44 */ stw r31, 0x444(r3) +lbl_80321EFC: +/* 80321EFC 0031DB5C 48 03 8C B9 */ bl NNFreeNegotiateList +/* 80321F00 0031DB60 48 03 64 65 */ bl CloseStatsConnection +/* 80321F04 0031DB64 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321F08 0031DB68 84 03 00 1C */ lwzu r0, 0x1c(r3) +/* 80321F0C 0031DB6C 2C 00 00 00 */ cmpwi r0, 0 +/* 80321F10 0031DB70 41 82 00 80 */ beq lbl_80321F90 +/* 80321F14 0031DB74 38 80 00 00 */ li r4, 0 +/* 80321F18 0031DB78 38 A0 00 00 */ li r5, 0 +/* 80321F1C 0031DB7C 38 C0 00 00 */ li r6, 0 +/* 80321F20 0031DB80 48 01 AF 55 */ bl gpSetCallback +/* 80321F24 0031DB84 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321F28 0031DB88 38 80 00 03 */ li r4, 3 +/* 80321F2C 0031DB8C 38 A0 00 00 */ li r5, 0 +/* 80321F30 0031DB90 38 C0 00 00 */ li r6, 0 +/* 80321F34 0031DB94 38 63 00 1C */ addi r3, r3, 0x1c +/* 80321F38 0031DB98 48 01 AF 3D */ bl gpSetCallback +/* 80321F3C 0031DB9C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321F40 0031DBA0 38 80 00 01 */ li r4, 1 +/* 80321F44 0031DBA4 38 A0 00 00 */ li r5, 0 +/* 80321F48 0031DBA8 38 C0 00 00 */ li r6, 0 +/* 80321F4C 0031DBAC 38 63 00 1C */ addi r3, r3, 0x1c +/* 80321F50 0031DBB0 48 01 AF 25 */ bl gpSetCallback +/* 80321F54 0031DBB4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321F58 0031DBB8 38 80 00 02 */ li r4, 2 +/* 80321F5C 0031DBBC 38 A0 00 00 */ li r5, 0 +/* 80321F60 0031DBC0 38 C0 00 00 */ li r6, 0 +/* 80321F64 0031DBC4 38 63 00 1C */ addi r3, r3, 0x1c +/* 80321F68 0031DBC8 48 01 AF 0D */ bl gpSetCallback +/* 80321F6C 0031DBCC 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321F70 0031DBD0 38 63 00 1C */ addi r3, r3, 0x1c +/* 80321F74 0031DBD4 48 01 AE C5 */ bl gpProcess +/* 80321F78 0031DBD8 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321F7C 0031DBDC 38 63 00 1C */ addi r3, r3, 0x1c +/* 80321F80 0031DBE0 48 01 AE 99 */ bl gpDestroy +/* 80321F84 0031DBE4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321F88 0031DBE8 38 00 00 00 */ li r0, 0 +/* 80321F8C 0031DBEC 90 03 00 1C */ stw r0, 0x1c(r3) +lbl_80321F90: +/* 80321F90 0031DBF0 4B FF F2 C5 */ bl func_80321254 +/* 80321F94 0031DBF4 4B FF DD D5 */ bl func_8031FD68 +/* 80321F98 0031DBF8 48 00 5E F5 */ bl func_80327E8C +/* 80321F9C 0031DBFC 48 00 F4 B5 */ bl func_80331450 +/* 80321FA0 0031DC00 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321FA4 0031DC04 80 63 00 00 */ lwz r3, 0(r3) +/* 80321FA8 0031DC08 2C 03 00 00 */ cmpwi r3, 0 +/* 80321FAC 0031DC0C 41 82 00 14 */ beq lbl_80321FC0 +/* 80321FB0 0031DC10 48 02 7A 49 */ bl gt2CloseSocket +/* 80321FB4 0031DC14 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321FB8 0031DC18 38 00 00 00 */ li r0, 0 +/* 80321FBC 0031DC1C 90 03 00 00 */ stw r0, 0(r3) +lbl_80321FC0: +/* 80321FC0 0031DC20 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80321FC4 0031DC24 38 60 00 04 */ li r3, 4 +/* 80321FC8 0031DC28 38 A0 00 00 */ li r5, 0 +/* 80321FCC 0031DC2C 4B FF A9 BD */ bl func_8031C988 +/* 80321FD0 0031DC30 38 00 00 00 */ li r0, 0 +/* 80321FD4 0031DC34 90 0D B0 58 */ stw r0, lbl_80640318-_SDA_BASE_(r13) +lbl_80321FD8: +/* 80321FD8 0031DC38 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80321FDC 0031DC3C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80321FE0 0031DC40 7C 08 03 A6 */ mtlr r0 +/* 80321FE4 0031DC44 38 21 00 10 */ addi r1, r1, 0x10 +/* 80321FE8 0031DC48 4E 80 00 20 */ blr + +.global func_80321FEC +func_80321FEC: +/* 80321FEC 0031DC4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80321FF0 0031DC50 7C 08 02 A6 */ mflr r0 +/* 80321FF4 0031DC54 90 01 00 14 */ stw r0, 0x14(r1) +/* 80321FF8 0031DC58 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80321FFC 0031DC5C 2C 03 00 00 */ cmpwi r3, 0 +/* 80322000 0031DC60 41 82 02 50 */ beq lbl_80322250 +/* 80322004 0031DC64 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80322008 0031DC68 2C 00 00 00 */ cmpwi r0, 0 +/* 8032200C 0031DC6C 41 82 02 44 */ beq lbl_80322250 +/* 80322010 0031DC70 4B FF A5 5D */ bl PlatAudio_IsEntireSampleFileInMem +/* 80322014 0031DC74 2C 03 00 00 */ cmpwi r3, 0 +/* 80322018 0031DC78 41 82 00 08 */ beq lbl_80322020 +/* 8032201C 0031DC7C 48 00 02 34 */ b lbl_80322250 +lbl_80322020: +/* 80322020 0031DC80 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322024 0031DC84 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80322028 0031DC88 2C 00 00 05 */ cmpwi r0, 5 +/* 8032202C 0031DC8C 41 82 01 98 */ beq lbl_803221C4 +/* 80322030 0031DC90 40 80 00 1C */ bge lbl_8032204C +/* 80322034 0031DC94 2C 00 00 02 */ cmpwi r0, 2 +/* 80322038 0031DC98 41 82 01 74 */ beq lbl_803221AC +/* 8032203C 0031DC9C 40 80 01 78 */ bge lbl_803221B4 +/* 80322040 0031DCA0 2C 00 00 01 */ cmpwi r0, 1 +/* 80322044 0031DCA4 40 80 00 14 */ bge lbl_80322058 +/* 80322048 0031DCA8 48 00 01 D0 */ b lbl_80322218 +lbl_8032204C: +/* 8032204C 0031DCAC 2C 00 00 07 */ cmpwi r0, 7 +/* 80322050 0031DCB0 40 80 01 C8 */ bge lbl_80322218 +/* 80322054 0031DCB4 48 00 01 80 */ b lbl_803221D4 +lbl_80322058: +/* 80322058 0031DCB8 48 01 74 7D */ bl GSIAvailableCheckThink +/* 8032205C 0031DCBC 2C 03 00 02 */ cmpwi r3, 2 +/* 80322060 0031DCC0 41 82 01 2C */ beq lbl_8032218C +/* 80322064 0031DCC4 40 80 00 10 */ bge lbl_80322074 +/* 80322068 0031DCC8 2C 03 00 01 */ cmpwi r3, 1 +/* 8032206C 0031DCCC 40 80 00 14 */ bge lbl_80322080 +/* 80322070 0031DCD0 48 00 01 A8 */ b lbl_80322218 +lbl_80322074: +/* 80322074 0031DCD4 2C 03 00 04 */ cmpwi r3, 4 +/* 80322078 0031DCD8 40 80 01 A0 */ bge lbl_80322218 +/* 8032207C 0031DCDC 48 00 01 20 */ b lbl_8032219C +lbl_80322080: +/* 80322080 0031DCE0 3C 80 80 44 */ lis r4, lbl_804476AC@ha +/* 80322084 0031DCE4 38 60 00 10 */ li r3, 0x10 +/* 80322088 0031DCE8 38 84 76 AC */ addi r4, r4, lbl_804476AC@l +/* 8032208C 0031DCEC 4C C6 31 82 */ crclr 6 +/* 80322090 0031DCF0 4B FF AA A5 */ bl func_8031CB34 +/* 80322094 0031DCF4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322098 0031DCF8 38 A0 00 10 */ li r5, 0x10 +/* 8032209C 0031DCFC 38 C0 00 0B */ li r6, 0xb +/* 803220A0 0031DD00 80 83 00 A0 */ lwz r4, 0xa0(r3) +/* 803220A4 0031DD04 38 63 00 1C */ addi r3, r3, 0x1c +/* 803220A8 0031DD08 48 01 AD 45 */ bl gpInitialize +/* 803220AC 0031DD0C 48 00 11 E1 */ bl func_8032328C +/* 803220B0 0031DD10 2C 03 00 00 */ cmpwi r3, 0 +/* 803220B4 0031DD14 40 82 01 9C */ bne lbl_80322250 +/* 803220B8 0031DD18 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803220BC 0031DD1C 3C A0 80 32 */ lis r5, lbl_80323834@ha +/* 803220C0 0031DD20 38 A5 38 34 */ addi r5, r5, lbl_80323834@l +/* 803220C4 0031DD24 38 80 00 00 */ li r4, 0 +/* 803220C8 0031DD28 38 63 00 1C */ addi r3, r3, 0x1c +/* 803220CC 0031DD2C 38 C0 00 00 */ li r6, 0 +/* 803220D0 0031DD30 48 01 AD A5 */ bl gpSetCallback +/* 803220D4 0031DD34 48 00 11 B9 */ bl func_8032328C +/* 803220D8 0031DD38 2C 03 00 00 */ cmpwi r3, 0 +/* 803220DC 0031DD3C 40 82 01 74 */ bne lbl_80322250 +/* 803220E0 0031DD40 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803220E4 0031DD44 3C A0 80 32 */ lis r5, lbl_80323CA4@ha +/* 803220E8 0031DD48 38 A5 3C A4 */ addi r5, r5, lbl_80323CA4@l +/* 803220EC 0031DD4C 38 80 00 03 */ li r4, 3 +/* 803220F0 0031DD50 38 63 00 1C */ addi r3, r3, 0x1c +/* 803220F4 0031DD54 38 C0 00 00 */ li r6, 0 +/* 803220F8 0031DD58 48 01 AD 7D */ bl gpSetCallback +/* 803220FC 0031DD5C 48 00 11 91 */ bl func_8032328C +/* 80322100 0031DD60 2C 03 00 00 */ cmpwi r3, 0 +/* 80322104 0031DD64 40 82 01 4C */ bne lbl_80322250 +/* 80322108 0031DD68 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032210C 0031DD6C 3C A0 80 32 */ lis r5, lbl_8031F888@ha +/* 80322110 0031DD70 38 A5 F8 88 */ addi r5, r5, lbl_8031F888@l +/* 80322114 0031DD74 38 80 00 01 */ li r4, 1 +/* 80322118 0031DD78 38 63 00 1C */ addi r3, r3, 0x1c +/* 8032211C 0031DD7C 38 C0 00 00 */ li r6, 0 +/* 80322120 0031DD80 48 01 AD 55 */ bl gpSetCallback +/* 80322124 0031DD84 48 00 11 69 */ bl func_8032328C +/* 80322128 0031DD88 2C 03 00 00 */ cmpwi r3, 0 +/* 8032212C 0031DD8C 40 82 01 24 */ bne lbl_80322250 +/* 80322130 0031DD90 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322134 0031DD94 3C A0 80 32 */ lis r5, lbl_8031F9C0@ha +/* 80322138 0031DD98 38 A5 F9 C0 */ addi r5, r5, lbl_8031F9C0@l +/* 8032213C 0031DD9C 38 80 00 02 */ li r4, 2 +/* 80322140 0031DDA0 38 63 00 1C */ addi r3, r3, 0x1c +/* 80322144 0031DDA4 38 C0 00 00 */ li r6, 0 +/* 80322148 0031DDA8 48 01 AD 2D */ bl gpSetCallback +/* 8032214C 0031DDAC 48 00 11 41 */ bl func_8032328C +/* 80322150 0031DDB0 2C 03 00 00 */ cmpwi r3, 0 +/* 80322154 0031DDB4 40 82 00 FC */ bne lbl_80322250 +/* 80322158 0031DDB8 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 8032215C 0031DDBC 38 00 00 02 */ li r0, 2 +/* 80322160 0031DDC0 80 64 00 24 */ lwz r3, 0x24(r4) +/* 80322164 0031DDC4 90 64 00 28 */ stw r3, 0x28(r4) +/* 80322168 0031DDC8 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032216C 0031DDCC 90 03 00 24 */ stw r0, 0x24(r3) +/* 80322170 0031DDD0 4B FF EE 7D */ bl func_80320FEC +/* 80322174 0031DDD4 2C 03 00 00 */ cmpwi r3, 0 +/* 80322178 0031DDD8 40 82 00 A0 */ bne lbl_80322218 +/* 8032217C 0031DDDC 38 60 00 02 */ li r3, 2 +/* 80322180 0031DDE0 38 80 B1 7C */ li r4, -20100 +/* 80322184 0031DDE4 4B FF F0 4D */ bl func_803211D0 +/* 80322188 0031DDE8 48 00 00 90 */ b lbl_80322218 +lbl_8032218C: +/* 8032218C 0031DDEC 38 60 00 03 */ li r3, 3 +/* 80322190 0031DDF0 38 80 B1 72 */ li r4, -20110 +/* 80322194 0031DDF4 4B FF F0 3D */ bl func_803211D0 +/* 80322198 0031DDF8 48 00 00 B8 */ b lbl_80322250 +lbl_8032219C: +/* 8032219C 0031DDFC 38 60 00 04 */ li r3, 4 +/* 803221A0 0031DE00 38 80 B1 7B */ li r4, -20101 +/* 803221A4 0031DE04 4B FF F0 2D */ bl func_803211D0 +/* 803221A8 0031DE08 48 00 00 A8 */ b lbl_80322250 +lbl_803221AC: +/* 803221AC 0031DE0C 4B FF EE 8D */ bl func_80321038 +/* 803221B0 0031DE10 48 00 00 68 */ b lbl_80322218 +lbl_803221B4: +/* 803221B4 0031DE14 4B FF D3 C9 */ bl func_8031F57C +/* 803221B8 0031DE18 38 60 00 00 */ li r3, 0 +/* 803221BC 0031DE1C 48 00 32 ED */ bl func_803254A8 +/* 803221C0 0031DE20 48 00 00 58 */ b lbl_80322218 +lbl_803221C4: +/* 803221C4 0031DE24 38 60 00 01 */ li r3, 1 +/* 803221C8 0031DE28 48 00 32 E1 */ bl func_803254A8 +/* 803221CC 0031DE2C 4B FF D3 B1 */ bl func_8031F57C +/* 803221D0 0031DE30 48 00 00 48 */ b lbl_80322218 +lbl_803221D4: +/* 803221D4 0031DE34 48 00 EF ED */ bl func_803311C0 +/* 803221D8 0031DE38 4B FF D3 A5 */ bl func_8031F57C +/* 803221DC 0031DE3C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803221E0 0031DE40 88 03 03 75 */ lbz r0, 0x375(r3) +/* 803221E4 0031DE44 28 00 00 02 */ cmplwi r0, 2 +/* 803221E8 0031DE48 41 82 00 10 */ beq lbl_803221F8 +/* 803221EC 0031DE4C 88 03 03 75 */ lbz r0, 0x375(r3) +/* 803221F0 0031DE50 28 00 00 03 */ cmplwi r0, 3 +/* 803221F4 0031DE54 40 82 00 10 */ bne lbl_80322204 +lbl_803221F8: +/* 803221F8 0031DE58 38 60 00 01 */ li r3, 1 +/* 803221FC 0031DE5C 48 00 32 AD */ bl func_803254A8 +/* 80322200 0031DE60 48 00 00 18 */ b lbl_80322218 +lbl_80322204: +/* 80322204 0031DE64 80 03 00 00 */ lwz r0, 0(r3) +/* 80322208 0031DE68 2C 00 00 00 */ cmpwi r0, 0 +/* 8032220C 0031DE6C 41 82 00 0C */ beq lbl_80322218 +/* 80322210 0031DE70 38 60 00 00 */ li r3, 0 +/* 80322214 0031DE74 48 00 32 95 */ bl func_803254A8 +lbl_80322218: +/* 80322218 0031DE78 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032221C 0031DE7C 88 03 03 78 */ lbz r0, 0x378(r3) +/* 80322220 0031DE80 28 00 00 01 */ cmplwi r0, 1 +/* 80322224 0031DE84 40 82 00 2C */ bne lbl_80322250 +/* 80322228 0031DE88 80 63 03 70 */ lwz r3, 0x370(r3) +/* 8032222C 0031DE8C 2C 03 00 00 */ cmpwi r3, 0 +/* 80322230 0031DE90 41 82 00 14 */ beq lbl_80322244 +/* 80322234 0031DE94 48 02 C4 01 */ bl qr2_shutdown +/* 80322238 0031DE98 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032223C 0031DE9C 38 00 00 00 */ li r0, 0 +/* 80322240 0031DEA0 90 03 03 70 */ stw r0, 0x370(r3) +lbl_80322244: +/* 80322244 0031DEA4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322248 0031DEA8 38 00 00 00 */ li r0, 0 +/* 8032224C 0031DEAC 98 03 03 78 */ stb r0, 0x378(r3) +lbl_80322250: +/* 80322250 0031DEB0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80322254 0031DEB4 7C 08 03 A6 */ mtlr r0 +/* 80322258 0031DEB8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8032225C 0031DEBC 4E 80 00 20 */ blr + +.global func_80322260 +func_80322260: +/* 80322260 0031DEC0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80322264 0031DEC4 7C 08 02 A6 */ mflr r0 +/* 80322268 0031DEC8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8032226C 0031DECC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80322270 0031DED0 3F E0 80 44 */ lis r31, lbl_80447648@ha +/* 80322274 0031DED4 3B FF 76 48 */ addi r31, r31, lbl_80447648@l +/* 80322278 0031DED8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8032227C 0031DEDC 7C DE 33 78 */ mr r30, r6 +/* 80322280 0031DEE0 38 9F 00 90 */ addi r4, r31, 0x90 +/* 80322284 0031DEE4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80322288 0031DEE8 7C BD 2B 78 */ mr r29, r5 +/* 8032228C 0031DEEC 93 81 00 10 */ stw r28, 0x10(r1) +/* 80322290 0031DEF0 7C 7C 1B 78 */ mr r28, r3 +/* 80322294 0031DEF4 38 60 00 04 */ li r3, 4 +/* 80322298 0031DEF8 4C C6 31 82 */ crclr 6 +/* 8032229C 0031DEFC 4B FF A8 99 */ bl func_8031CB34 +/* 803222A0 0031DF00 2C 1C 00 00 */ cmpwi r28, 0 +/* 803222A4 0031DF04 40 82 00 1C */ bne lbl_803222C0 +/* 803222A8 0031DF08 38 9F 00 B4 */ addi r4, r31, 0xb4 +/* 803222AC 0031DF0C 38 60 00 08 */ li r3, 8 +/* 803222B0 0031DF10 4C C6 31 82 */ crclr 6 +/* 803222B4 0031DF14 4B FF A8 81 */ bl func_8031CB34 +/* 803222B8 0031DF18 38 60 00 00 */ li r3, 0 +/* 803222BC 0031DF1C 48 00 00 E8 */ b lbl_803223A4 +lbl_803222C0: +/* 803222C0 0031DF20 4B FF A2 AD */ bl PlatAudio_IsEntireSampleFileInMem +/* 803222C4 0031DF24 2C 03 00 00 */ cmpwi r3, 0 +/* 803222C8 0031DF28 40 82 00 14 */ bne lbl_803222DC +/* 803222CC 0031DF2C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803222D0 0031DF30 80 03 00 24 */ lwz r0, 0x24(r3) +/* 803222D4 0031DF34 2C 00 00 00 */ cmpwi r0, 0 +/* 803222D8 0031DF38 41 82 00 1C */ beq lbl_803222F4 +lbl_803222DC: +/* 803222DC 0031DF3C 38 9F 00 C8 */ addi r4, r31, 0xc8 +/* 803222E0 0031DF40 38 60 00 04 */ li r3, 4 +/* 803222E4 0031DF44 4C C6 31 82 */ crclr 6 +/* 803222E8 0031DF48 4B FF A8 4D */ bl func_8031CB34 +/* 803222EC 0031DF4C 38 60 00 00 */ li r3, 0 +/* 803222F0 0031DF50 48 00 00 B4 */ b lbl_803223A4 +lbl_803222F4: +/* 803222F4 0031DF54 93 A3 00 70 */ stw r29, 0x70(r3) +/* 803222F8 0031DF58 2C 1C 00 00 */ cmpwi r28, 0 +/* 803222FC 0031DF5C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322300 0031DF60 93 C3 00 74 */ stw r30, 0x74(r3) +/* 80322304 0031DF64 41 82 00 10 */ beq lbl_80322314 +/* 80322308 0031DF68 A0 1C 00 00 */ lhz r0, 0(r28) +/* 8032230C 0031DF6C 2C 00 00 00 */ cmpwi r0, 0 +/* 80322310 0031DF70 40 82 00 0C */ bne lbl_8032231C +lbl_80322314: +/* 80322314 0031DF74 3B E0 00 00 */ li r31, 0 +/* 80322318 0031DF78 48 00 00 50 */ b lbl_80322368 +lbl_8032231C: +/* 8032231C 0031DF7C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322320 0031DF80 38 80 00 00 */ li r4, 0 +/* 80322324 0031DF84 38 A0 00 34 */ li r5, 0x34 +/* 80322328 0031DF88 38 63 00 2E */ addi r3, r3, 0x2e +/* 8032232C 0031DF8C 4B CE 1D D9 */ bl memset +/* 80322330 0031DF90 7F 83 E3 78 */ mr r3, r28 +/* 80322334 0031DF94 4B FF CE 41 */ bl func_8031F174 +/* 80322338 0031DF98 28 03 00 19 */ cmplwi r3, 0x19 +/* 8032233C 0031DF9C 41 81 00 10 */ bgt lbl_8032234C +/* 80322340 0031DFA0 7F 83 E3 78 */ mr r3, r28 +/* 80322344 0031DFA4 4B FF CE 31 */ bl func_8031F174 +/* 80322348 0031DFA8 48 00 00 08 */ b lbl_80322350 +lbl_8032234C: +/* 8032234C 0031DFAC 38 60 00 19 */ li r3, 0x19 +lbl_80322350: +/* 80322350 0031DFB0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80322354 0031DFB4 7C 7F 1B 78 */ mr r31, r3 +/* 80322358 0031DFB8 54 65 08 3C */ slwi r5, r3, 1 +/* 8032235C 0031DFBC 7F 84 E3 78 */ mr r4, r28 +/* 80322360 0031DFC0 38 66 00 2E */ addi r3, r6, 0x2e +/* 80322364 0031DFC4 4B CE 1C 9D */ bl memcpy +lbl_80322368: +/* 80322368 0031DFC8 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 8032236C 0031DFCC 57 E3 08 3C */ slwi r3, r31, 1 +/* 80322370 0031DFD0 38 A0 00 00 */ li r5, 0 +/* 80322374 0031DFD4 38 00 00 01 */ li r0, 1 +/* 80322378 0031DFD8 7C 64 1A 14 */ add r3, r4, r3 +/* 8032237C 0031DFDC B0 A3 00 2E */ sth r5, 0x2e(r3) +/* 80322380 0031DFE0 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322384 0031DFE4 80 64 00 24 */ lwz r3, 0x24(r4) +/* 80322388 0031DFE8 90 64 00 28 */ stw r3, 0x28(r4) +/* 8032238C 0031DFEC 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322390 0031DFF0 90 03 00 24 */ stw r0, 0x24(r3) +/* 80322394 0031DFF4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322398 0031DFF8 80 63 00 68 */ lwz r3, 0x68(r3) +/* 8032239C 0031DFFC 48 01 6F BD */ bl GSIStartAvailableCheckA +/* 803223A0 0031E000 38 60 00 01 */ li r3, 1 +lbl_803223A4: +/* 803223A4 0031E004 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803223A8 0031E008 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803223AC 0031E00C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803223B0 0031E010 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 803223B4 0031E014 83 81 00 10 */ lwz r28, 0x10(r1) +/* 803223B8 0031E018 7C 08 03 A6 */ mtlr r0 +/* 803223BC 0031E01C 38 21 00 20 */ addi r1, r1, 0x20 +/* 803223C0 0031E020 4E 80 00 20 */ blr + +.global func_803223C4 +func_803223C4: +/* 803223C4 0031E024 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803223C8 0031E028 7C 08 02 A6 */ mflr r0 +/* 803223CC 0031E02C 90 01 00 24 */ stw r0, 0x24(r1) +/* 803223D0 0031E030 39 61 00 20 */ addi r11, r1, 0x20 +/* 803223D4 0031E034 4B EA 4D 51 */ bl _savegpr_26 +/* 803223D8 0031E038 3C 60 80 44 */ lis r3, lbl_80447720@ha +/* 803223DC 0031E03C 7C 9A 23 78 */ mr r26, r4 +/* 803223E0 0031E040 38 83 77 20 */ addi r4, r3, lbl_80447720@l +/* 803223E4 0031E044 7C BB 2B 78 */ mr r27, r5 +/* 803223E8 0031E048 7C DC 33 78 */ mr r28, r6 +/* 803223EC 0031E04C 7C FD 3B 78 */ mr r29, r7 +/* 803223F0 0031E050 7D 1E 43 78 */ mr r30, r8 +/* 803223F4 0031E054 7D 3F 4B 78 */ mr r31, r9 +/* 803223F8 0031E058 38 60 00 04 */ li r3, 4 +/* 803223FC 0031E05C 4C C6 31 82 */ crclr 6 +/* 80322400 0031E060 4B FF A7 35 */ bl func_8031CB34 +/* 80322404 0031E064 4B FF A1 69 */ bl PlatAudio_IsEntireSampleFileInMem +/* 80322408 0031E068 2C 03 00 00 */ cmpwi r3, 0 +/* 8032240C 0031E06C 40 82 00 1C */ bne lbl_80322428 +/* 80322410 0031E070 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322414 0031E074 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80322418 0031E078 2C 00 00 03 */ cmpwi r0, 3 +/* 8032241C 0031E07C 41 80 00 0C */ blt lbl_80322428 +/* 80322420 0031E080 2C 00 00 04 */ cmpwi r0, 4 +/* 80322424 0031E084 40 82 00 20 */ bne lbl_80322444 +lbl_80322428: +/* 80322428 0031E088 3C 80 80 44 */ lis r4, lbl_80447710@ha +/* 8032242C 0031E08C 38 60 00 04 */ li r3, 4 +/* 80322430 0031E090 38 84 77 10 */ addi r4, r4, lbl_80447710@l +/* 80322434 0031E094 4C C6 31 82 */ crclr 6 +/* 80322438 0031E098 4B FF A6 FD */ bl func_8031CB34 +/* 8032243C 0031E09C 38 60 00 00 */ li r3, 0 +/* 80322440 0031E0A0 48 00 00 58 */ b lbl_80322498 +lbl_80322444: +/* 80322444 0031E0A4 93 43 00 78 */ stw r26, 0x78(r3) +/* 80322448 0031E0A8 3C A0 80 32 */ lis r5, lbl_80323574@ha +/* 8032244C 0031E0AC 38 00 00 04 */ li r0, 4 +/* 80322450 0031E0B0 7F 87 E3 78 */ mr r7, r28 +/* 80322454 0031E0B4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322458 0031E0B8 7F A8 EB 78 */ mr r8, r29 +/* 8032245C 0031E0BC 7F C9 F3 78 */ mr r9, r30 +/* 80322460 0031E0C0 7F EA FB 78 */ mr r10, r31 +/* 80322464 0031E0C4 93 63 00 7C */ stw r27, 0x7c(r3) +/* 80322468 0031E0C8 38 A5 35 74 */ addi r5, r5, lbl_80323574@l +/* 8032246C 0031E0CC 38 C0 00 00 */ li r6, 0 +/* 80322470 0031E0D0 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322474 0031E0D4 80 64 00 24 */ lwz r3, 0x24(r4) +/* 80322478 0031E0D8 90 64 00 28 */ stw r3, 0x28(r4) +/* 8032247C 0031E0DC 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322480 0031E0E0 90 03 00 24 */ stw r0, 0x24(r3) +/* 80322484 0031E0E4 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322488 0031E0E8 38 64 00 E4 */ addi r3, r4, 0xe4 +/* 8032248C 0031E0EC 38 84 01 E4 */ addi r4, r4, 0x1e4 +/* 80322490 0031E0F0 4B FF D2 D1 */ bl func_8031F760 +/* 80322494 0031E0F4 38 60 00 01 */ li r3, 1 +lbl_80322498: +/* 80322498 0031E0F8 39 61 00 20 */ addi r11, r1, 0x20 +/* 8032249C 0031E0FC 4B EA 4C D5 */ bl _restgpr_26 +/* 803224A0 0031E100 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803224A4 0031E104 7C 08 03 A6 */ mtlr r0 +/* 803224A8 0031E108 38 21 00 20 */ addi r1, r1, 0x20 +/* 803224AC 0031E10C 4E 80 00 20 */ blr + +.global func_803224B0 +func_803224B0: +/* 803224B0 0031E110 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803224B4 0031E114 7C 08 02 A6 */ mflr r0 +/* 803224B8 0031E118 90 01 00 24 */ stw r0, 0x24(r1) +/* 803224BC 0031E11C 39 61 00 20 */ addi r11, r1, 0x20 +/* 803224C0 0031E120 4B EA 4C 65 */ bl _savegpr_26 +/* 803224C4 0031E124 3D 20 80 44 */ lis r9, lbl_8044774C@ha +/* 803224C8 0031E128 7C 7A 1B 78 */ mr r26, r3 +/* 803224CC 0031E12C 7C 9B 23 78 */ mr r27, r4 +/* 803224D0 0031E130 7C BC 2B 78 */ mr r28, r5 +/* 803224D4 0031E134 7C DD 33 78 */ mr r29, r6 +/* 803224D8 0031E138 7C FE 3B 78 */ mr r30, r7 +/* 803224DC 0031E13C 7D 1F 43 78 */ mr r31, r8 +/* 803224E0 0031E140 38 89 77 4C */ addi r4, r9, lbl_8044774C@l +/* 803224E4 0031E144 38 60 00 04 */ li r3, 4 +/* 803224E8 0031E148 4C C6 31 82 */ crclr 6 +/* 803224EC 0031E14C 4B FF A6 49 */ bl func_8031CB34 +/* 803224F0 0031E150 4B FF A0 7D */ bl PlatAudio_IsEntireSampleFileInMem +/* 803224F4 0031E154 2C 03 00 00 */ cmpwi r3, 0 +/* 803224F8 0031E158 40 82 00 14 */ bne lbl_8032250C +/* 803224FC 0031E15C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322500 0031E160 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80322504 0031E164 2C 00 00 03 */ cmpwi r0, 3 +/* 80322508 0031E168 41 82 00 20 */ beq lbl_80322528 +lbl_8032250C: +/* 8032250C 0031E16C 3C 80 80 44 */ lis r4, lbl_80447710@ha +/* 80322510 0031E170 38 60 00 04 */ li r3, 4 +/* 80322514 0031E174 38 84 77 10 */ addi r4, r4, lbl_80447710@l +/* 80322518 0031E178 4C C6 31 82 */ crclr 6 +/* 8032251C 0031E17C 4B FF A6 19 */ bl func_8031CB34 +/* 80322520 0031E180 38 60 00 00 */ li r3, 0 +/* 80322524 0031E184 48 00 00 7C */ b lbl_803225A0 +lbl_80322528: +/* 80322528 0031E188 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 8032252C 0031E18C 38 80 00 00 */ li r4, 0 +/* 80322530 0031E190 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 80322534 0031E194 38 A0 00 80 */ li r5, 0x80 +/* 80322538 0031E198 4B CE 1B CD */ bl memset +/* 8032253C 0031E19C 3C 60 80 61 */ lis r3, lbl_8060FC88@ha +/* 80322540 0031E1A0 38 80 00 00 */ li r4, 0 +/* 80322544 0031E1A4 38 63 FC 88 */ addi r3, r3, lbl_8060FC88@l +/* 80322548 0031E1A8 38 A0 01 00 */ li r5, 0x100 +/* 8032254C 0031E1AC 4B CE 1B B9 */ bl memset +/* 80322550 0031E1B0 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322554 0031E1B4 3C A0 80 32 */ lis r5, lbl_803235A8@ha +/* 80322558 0031E1B8 38 1A FF FF */ addi r0, r26, -1 +/* 8032255C 0031E1BC 39 40 00 05 */ li r10, 5 +/* 80322560 0031E1C0 93 83 00 80 */ stw r28, 0x80(r3) +/* 80322564 0031E1C4 54 03 06 3E */ clrlwi r3, r0, 0x18 +/* 80322568 0031E1C8 7F 64 DB 78 */ mr r4, r27 +/* 8032256C 0031E1CC 7F C7 F3 78 */ mr r7, r30 +/* 80322570 0031E1D0 81 2D B0 58 */ lwz r9, lbl_80640318-_SDA_BASE_(r13) +/* 80322574 0031E1D4 7F E8 FB 78 */ mr r8, r31 +/* 80322578 0031E1D8 38 A5 35 A8 */ addi r5, r5, lbl_803235A8@l +/* 8032257C 0031E1DC 38 C0 00 00 */ li r6, 0 +/* 80322580 0031E1E0 93 A9 00 84 */ stw r29, 0x84(r9) +/* 80322584 0031E1E4 81 2D B0 58 */ lwz r9, lbl_80640318-_SDA_BASE_(r13) +/* 80322588 0031E1E8 80 09 00 24 */ lwz r0, 0x24(r9) +/* 8032258C 0031E1EC 90 09 00 28 */ stw r0, 0x28(r9) +/* 80322590 0031E1F0 81 2D B0 58 */ lwz r9, lbl_80640318-_SDA_BASE_(r13) +/* 80322594 0031E1F4 91 49 00 24 */ stw r10, 0x24(r9) +/* 80322598 0031E1F8 48 00 27 7D */ bl func_80324D14 +/* 8032259C 0031E1FC 38 60 00 01 */ li r3, 1 +lbl_803225A0: +/* 803225A0 0031E200 39 61 00 20 */ addi r11, r1, 0x20 +/* 803225A4 0031E204 4B EA 4B CD */ bl _restgpr_26 +/* 803225A8 0031E208 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803225AC 0031E20C 7C 08 03 A6 */ mtlr r0 +/* 803225B0 0031E210 38 21 00 20 */ addi r1, r1, 0x20 +/* 803225B4 0031E214 4E 80 00 20 */ blr + +.global func_803225B8 +func_803225B8: +/* 803225B8 0031E218 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803225BC 0031E21C 7C 08 02 A6 */ mflr r0 +/* 803225C0 0031E220 90 01 00 24 */ stw r0, 0x24(r1) +/* 803225C4 0031E224 39 61 00 20 */ addi r11, r1, 0x20 +/* 803225C8 0031E228 4B EA 4B 61 */ bl _savegpr_27 +/* 803225CC 0031E22C 3D 00 80 44 */ lis r8, lbl_804477A4@ha +/* 803225D0 0031E230 7C 7B 1B 78 */ mr r27, r3 +/* 803225D4 0031E234 7C 9C 23 78 */ mr r28, r4 +/* 803225D8 0031E238 7C BD 2B 78 */ mr r29, r5 +/* 803225DC 0031E23C 7C DE 33 78 */ mr r30, r6 +/* 803225E0 0031E240 7C FF 3B 78 */ mr r31, r7 +/* 803225E4 0031E244 38 88 77 A4 */ addi r4, r8, lbl_804477A4@l +/* 803225E8 0031E248 38 60 00 04 */ li r3, 4 +/* 803225EC 0031E24C 4C C6 31 82 */ crclr 6 +/* 803225F0 0031E250 4B FF A5 45 */ bl func_8031CB34 +/* 803225F4 0031E254 4B FF 9F 79 */ bl PlatAudio_IsEntireSampleFileInMem +/* 803225F8 0031E258 2C 03 00 00 */ cmpwi r3, 0 +/* 803225FC 0031E25C 40 82 00 14 */ bne lbl_80322610 +/* 80322600 0031E260 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322604 0031E264 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80322608 0031E268 2C 00 00 03 */ cmpwi r0, 3 +/* 8032260C 0031E26C 41 82 00 20 */ beq lbl_8032262C +lbl_80322610: +/* 80322610 0031E270 3C 80 80 44 */ lis r4, lbl_80447710@ha +/* 80322614 0031E274 38 60 00 04 */ li r3, 4 +/* 80322618 0031E278 38 84 77 10 */ addi r4, r4, lbl_80447710@l +/* 8032261C 0031E27C 4C C6 31 82 */ crclr 6 +/* 80322620 0031E280 4B FF A5 15 */ bl func_8031CB34 +/* 80322624 0031E284 38 60 00 00 */ li r3, 0 +/* 80322628 0031E288 48 00 00 84 */ b lbl_803226AC +lbl_8032262C: +/* 8032262C 0031E28C 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 80322630 0031E290 38 80 00 00 */ li r4, 0 +/* 80322634 0031E294 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 80322638 0031E298 38 A0 00 80 */ li r5, 0x80 +/* 8032263C 0031E29C 4B CE 1A C9 */ bl memset +/* 80322640 0031E2A0 3C 60 80 61 */ lis r3, lbl_8060FC88@ha +/* 80322644 0031E2A4 38 80 00 00 */ li r4, 0 +/* 80322648 0031E2A8 38 63 FC 88 */ addi r3, r3, lbl_8060FC88@l +/* 8032264C 0031E2AC 38 A0 01 00 */ li r5, 0x100 +/* 80322650 0031E2B0 4B CE 1A B5 */ bl memset +/* 80322654 0031E2B4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322658 0031E2B8 3C 80 80 32 */ lis r4, lbl_803235A8@ha +/* 8032265C 0031E2BC 39 40 00 00 */ li r10, 0 +/* 80322660 0031E2C0 38 1B FF FF */ addi r0, r27, -1 +/* 80322664 0031E2C4 93 83 00 88 */ stw r28, 0x88(r3) +/* 80322668 0031E2C8 54 03 06 3E */ clrlwi r3, r0, 0x18 +/* 8032266C 0031E2CC 39 20 00 05 */ li r9, 5 +/* 80322670 0031E2D0 7F C6 F3 78 */ mr r6, r30 +/* 80322674 0031E2D4 81 0D B0 58 */ lwz r8, lbl_80640318-_SDA_BASE_(r13) +/* 80322678 0031E2D8 7F E7 FB 78 */ mr r7, r31 +/* 8032267C 0031E2DC 38 84 35 A8 */ addi r4, r4, lbl_803235A8@l +/* 80322680 0031E2E0 38 A0 00 00 */ li r5, 0 +/* 80322684 0031E2E4 93 A8 00 8C */ stw r29, 0x8c(r8) +/* 80322688 0031E2E8 81 0D B0 58 */ lwz r8, lbl_80640318-_SDA_BASE_(r13) +/* 8032268C 0031E2EC 99 48 00 2C */ stb r10, 0x2c(r8) +/* 80322690 0031E2F0 81 0D B0 58 */ lwz r8, lbl_80640318-_SDA_BASE_(r13) +/* 80322694 0031E2F4 80 08 00 24 */ lwz r0, 0x24(r8) +/* 80322698 0031E2F8 90 08 00 28 */ stw r0, 0x28(r8) +/* 8032269C 0031E2FC 81 0D B0 58 */ lwz r8, lbl_80640318-_SDA_BASE_(r13) +/* 803226A0 0031E300 91 28 00 24 */ stw r9, 0x24(r8) +/* 803226A4 0031E304 48 00 2A 55 */ bl func_803250F8 +/* 803226A8 0031E308 38 60 00 01 */ li r3, 1 +lbl_803226AC: +/* 803226AC 0031E30C 39 61 00 20 */ addi r11, r1, 0x20 +/* 803226B0 0031E310 4B EA 4A C5 */ bl _restgpr_27 +/* 803226B4 0031E314 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803226B8 0031E318 7C 08 03 A6 */ mtlr r0 +/* 803226BC 0031E31C 38 21 00 20 */ addi r1, r1, 0x20 +/* 803226C0 0031E320 4E 80 00 20 */ blr + +.global func_803226C4 +func_803226C4: +/* 803226C4 0031E324 94 21 FD C0 */ stwu r1, -0x240(r1) +/* 803226C8 0031E328 7C 08 02 A6 */ mflr r0 +/* 803226CC 0031E32C 90 01 02 44 */ stw r0, 0x244(r1) +/* 803226D0 0031E330 39 61 02 40 */ addi r11, r1, 0x240 +/* 803226D4 0031E334 4B EA 4A 51 */ bl _savegpr_26 +/* 803226D8 0031E338 3F A0 80 44 */ lis r29, lbl_80447648@ha +/* 803226DC 0031E33C 38 00 FF FF */ li r0, -1 +/* 803226E0 0031E340 90 01 00 0C */ stw r0, 0xc(r1) +/* 803226E4 0031E344 3B BD 76 48 */ addi r29, r29, lbl_80447648@l +/* 803226E8 0031E348 7C 7A 1B 78 */ mr r26, r3 +/* 803226EC 0031E34C 7C 9C 23 78 */ mr r28, r4 +/* 803226F0 0031E350 7C BB 2B 78 */ mr r27, r5 +/* 803226F4 0031E354 7C DE 33 78 */ mr r30, r6 +/* 803226F8 0031E358 7C FF 3B 78 */ mr r31, r7 +/* 803226FC 0031E35C 38 9D 01 84 */ addi r4, r29, 0x184 +/* 80322700 0031E360 38 60 00 04 */ li r3, 4 +/* 80322704 0031E364 4C C6 31 82 */ crclr 6 +/* 80322708 0031E368 4B FF A4 2D */ bl func_8031CB34 +/* 8032270C 0031E36C 4B FF 9E 61 */ bl PlatAudio_IsEntireSampleFileInMem +/* 80322710 0031E370 2C 03 00 00 */ cmpwi r3, 0 +/* 80322714 0031E374 40 82 00 14 */ bne lbl_80322728 +/* 80322718 0031E378 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032271C 0031E37C 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80322720 0031E380 2C 00 00 03 */ cmpwi r0, 3 +/* 80322724 0031E384 41 82 00 1C */ beq lbl_80322740 +lbl_80322728: +/* 80322728 0031E388 38 9D 00 C8 */ addi r4, r29, 0xc8 +/* 8032272C 0031E38C 38 60 00 04 */ li r3, 4 +/* 80322730 0031E390 4C C6 31 82 */ crclr 6 +/* 80322734 0031E394 4B FF A4 01 */ bl func_8031CB34 +/* 80322738 0031E398 38 60 00 00 */ li r3, 0 +/* 8032273C 0031E39C 48 00 01 FC */ b lbl_80322938 +lbl_80322740: +/* 80322740 0031E3A0 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 80322744 0031E3A4 38 80 00 00 */ li r4, 0 +/* 80322748 0031E3A8 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 8032274C 0031E3AC 38 A0 00 80 */ li r5, 0x80 +/* 80322750 0031E3B0 4B CE 19 B5 */ bl memset +/* 80322754 0031E3B4 3C 60 80 61 */ lis r3, lbl_8060FC88@ha +/* 80322758 0031E3B8 38 80 00 00 */ li r4, 0 +/* 8032275C 0031E3BC 38 63 FC 88 */ addi r3, r3, lbl_8060FC88@l +/* 80322760 0031E3C0 38 A0 01 00 */ li r5, 0x100 +/* 80322764 0031E3C4 4B CE 19 A1 */ bl memset +/* 80322768 0031E3C8 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 8032276C 0031E3CC 38 00 00 05 */ li r0, 5 +/* 80322770 0031E3D0 7F 43 D3 78 */ mr r3, r26 +/* 80322774 0031E3D4 93 84 00 88 */ stw r28, 0x88(r4) +/* 80322778 0031E3D8 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 8032277C 0031E3DC 93 64 00 8C */ stw r27, 0x8c(r4) +/* 80322780 0031E3E0 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80322784 0031E3E4 80 85 00 24 */ lwz r4, 0x24(r5) +/* 80322788 0031E3E8 90 85 00 28 */ stw r4, 0x28(r5) +/* 8032278C 0031E3EC 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322790 0031E3F0 90 04 00 24 */ stw r0, 0x24(r4) +/* 80322794 0031E3F4 4B FF D3 49 */ bl func_8031FADC +/* 80322798 0031E3F8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032279C 0031E3FC 7C 7C 1B 78 */ mr r28, r3 +/* 803227A0 0031E400 41 82 00 1C */ beq lbl_803227BC +/* 803227A4 0031E404 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803227A8 0031E408 7F 84 E3 78 */ mr r4, r28 +/* 803227AC 0031E40C 38 63 00 1C */ addi r3, r3, 0x1c +/* 803227B0 0031E410 48 01 AF E5 */ bl gpIsBuddy +/* 803227B4 0031E414 2C 03 00 00 */ cmpwi r3, 0 +/* 803227B8 0031E418 40 82 00 20 */ bne lbl_803227D8 +lbl_803227BC: +/* 803227BC 0031E41C 7F 85 E3 78 */ mr r5, r28 +/* 803227C0 0031E420 38 9D 01 B4 */ addi r4, r29, 0x1b4 +/* 803227C4 0031E424 38 60 00 02 */ li r3, 2 +/* 803227C8 0031E428 4C C6 31 82 */ crclr 6 +/* 803227CC 0031E42C 4B FF A3 69 */ bl func_8031CB34 +/* 803227D0 0031E430 3B 80 00 0B */ li r28, 0xb +/* 803227D4 0031E434 48 00 00 F4 */ b lbl_803228C8 +lbl_803227D8: +/* 803227D8 0031E438 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803227DC 0031E43C 7F 84 E3 78 */ mr r4, r28 +/* 803227E0 0031E440 38 A1 00 0C */ addi r5, r1, 0xc +/* 803227E4 0031E444 38 63 00 1C */ addi r3, r3, 0x1c +/* 803227E8 0031E448 48 01 AF 15 */ bl gpGetBuddyIndex +/* 803227EC 0031E44C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803227F0 0031E450 38 A1 00 10 */ addi r5, r1, 0x10 +/* 803227F4 0031E454 80 81 00 0C */ lwz r4, 0xc(r1) +/* 803227F8 0031E458 38 63 00 1C */ addi r3, r3, 0x1c +/* 803227FC 0031E45C 48 01 AD B1 */ bl gpGetBuddyStatus +/* 80322800 0031E460 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80322804 0031E464 2C 00 00 06 */ cmpwi r0, 6 +/* 80322808 0031E468 41 82 00 20 */ beq lbl_80322828 +/* 8032280C 0031E46C 7F 85 E3 78 */ mr r5, r28 +/* 80322810 0031E470 38 9D 01 CC */ addi r4, r29, 0x1cc +/* 80322814 0031E474 38 60 00 02 */ li r3, 2 +/* 80322818 0031E478 4C C6 31 82 */ crclr 6 +/* 8032281C 0031E47C 4B FF A3 19 */ bl func_8031CB34 +/* 80322820 0031E480 3B 80 00 0B */ li r28, 0xb +/* 80322824 0031E484 48 00 00 A4 */ b lbl_803228C8 +lbl_80322828: +/* 80322828 0031E488 38 00 00 30 */ li r0, 0x30 +/* 8032282C 0031E48C 38 81 00 08 */ addi r4, r1, 8 +/* 80322830 0031E490 98 01 00 08 */ stb r0, 8(r1) +/* 80322834 0031E494 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80322838 0031E498 38 6D 8D 80 */ addi r3, r13, lbl_8063E040-_SDA_BASE_ +/* 8032283C 0031E49C 38 C0 00 2F */ li r6, 0x2f +/* 80322840 0031E4A0 4B FF C6 95 */ bl func_8031EED4 +/* 80322844 0031E4A4 38 61 00 08 */ addi r3, r1, 8 +/* 80322848 0031E4A8 38 80 00 00 */ li r4, 0 +/* 8032284C 0031E4AC 38 A0 00 0A */ li r5, 0xa +/* 80322850 0031E4B0 4B EA DD 29 */ bl strtoul +/* 80322854 0031E4B4 54 7B 06 3E */ clrlwi r27, r3, 0x18 +/* 80322858 0031E4B8 38 81 00 08 */ addi r4, r1, 8 +/* 8032285C 0031E4BC 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80322860 0031E4C0 38 6D 8D 84 */ addi r3, r13, lbl_8063E044-_SDA_BASE_ +/* 80322864 0031E4C4 38 C0 00 2F */ li r6, 0x2f +/* 80322868 0031E4C8 4B FF C6 6D */ bl func_8031EED4 +/* 8032286C 0031E4CC 38 61 00 08 */ addi r3, r1, 8 +/* 80322870 0031E4D0 38 80 00 00 */ li r4, 0 +/* 80322874 0031E4D4 38 A0 00 0A */ li r5, 0xa +/* 80322878 0031E4D8 4B EA DD 01 */ bl strtoul +/* 8032287C 0031E4DC 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80322880 0031E4E0 7C 00 D8 40 */ cmplw r0, r27 +/* 80322884 0031E4E4 40 82 00 20 */ bne lbl_803228A4 +/* 80322888 0031E4E8 7F 85 E3 78 */ mr r5, r28 +/* 8032288C 0031E4EC 38 9D 01 E8 */ addi r4, r29, 0x1e8 +/* 80322890 0031E4F0 38 60 00 02 */ li r3, 2 +/* 80322894 0031E4F4 4C C6 31 82 */ crclr 6 +/* 80322898 0031E4F8 4B FF A2 9D */ bl func_8031CB34 +/* 8032289C 0031E4FC 3B 80 00 0D */ li r28, 0xd +/* 803228A0 0031E500 48 00 00 28 */ b lbl_803228C8 +lbl_803228A4: +/* 803228A4 0031E504 3C 80 80 32 */ lis r4, lbl_803235A8@ha +/* 803228A8 0031E508 7F 83 E3 78 */ mr r3, r28 +/* 803228AC 0031E50C 7F C6 F3 78 */ mr r6, r30 +/* 803228B0 0031E510 7F E7 FB 78 */ mr r7, r31 +/* 803228B4 0031E514 38 84 35 A8 */ addi r4, r4, lbl_803235A8@l +/* 803228B8 0031E518 38 A0 00 00 */ li r5, 0 +/* 803228BC 0031E51C 48 00 2A 21 */ bl func_803252DC +/* 803228C0 0031E520 38 60 00 01 */ li r3, 1 +/* 803228C4 0031E524 48 00 00 74 */ b lbl_80322938 +lbl_803228C8: +/* 803228C8 0031E528 7F 83 E3 78 */ mr r3, r28 +/* 803228CC 0031E52C 38 80 00 00 */ li r4, 0 +/* 803228D0 0031E530 4B FF 9C B1 */ bl func_8031C580 +/* 803228D4 0031E534 80 ED B0 58 */ lwz r7, lbl_80640318-_SDA_BASE_(r13) +/* 803228D8 0031E538 7F 83 E3 78 */ mr r3, r28 +/* 803228DC 0031E53C 38 80 00 00 */ li r4, 0 +/* 803228E0 0031E540 38 A0 00 01 */ li r5, 1 +/* 803228E4 0031E544 81 87 00 88 */ lwz r12, 0x88(r7) +/* 803228E8 0031E548 38 C0 00 00 */ li r6, 0 +/* 803228EC 0031E54C 81 07 00 8C */ lwz r8, 0x8c(r7) +/* 803228F0 0031E550 38 E0 00 00 */ li r7, 0 +/* 803228F4 0031E554 7D 89 03 A6 */ mtctr r12 +/* 803228F8 0031E558 4E 80 04 21 */ bctrl +/* 803228FC 0031E55C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322900 0031E560 2C 03 00 00 */ cmpwi r3, 0 +/* 80322904 0031E564 41 82 00 30 */ beq lbl_80322934 +/* 80322908 0031E568 80 03 00 24 */ lwz r0, 0x24(r3) +/* 8032290C 0031E56C 2C 00 00 05 */ cmpwi r0, 5 +/* 80322910 0031E570 40 82 00 24 */ bne lbl_80322934 +/* 80322914 0031E574 90 03 00 28 */ stw r0, 0x28(r3) +/* 80322918 0031E578 38 00 00 03 */ li r0, 3 +/* 8032291C 0031E57C 38 60 00 01 */ li r3, 1 +/* 80322920 0031E580 38 8D 8D 88 */ addi r4, r13, lbl_8063E048-_SDA_BASE_ +/* 80322924 0031E584 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80322928 0031E588 38 A0 00 00 */ li r5, 0 +/* 8032292C 0031E58C 90 06 00 24 */ stw r0, 0x24(r6) +/* 80322930 0031E590 4B FF D3 21 */ bl func_8031FC50 +lbl_80322934: +/* 80322934 0031E594 38 60 00 01 */ li r3, 1 +lbl_80322938: +/* 80322938 0031E598 39 61 02 40 */ addi r11, r1, 0x240 +/* 8032293C 0031E59C 4B EA 48 35 */ bl _restgpr_26 +/* 80322940 0031E5A0 80 01 02 44 */ lwz r0, 0x244(r1) +/* 80322944 0031E5A4 7C 08 03 A6 */ mtlr r0 +/* 80322948 0031E5A8 38 21 02 40 */ addi r1, r1, 0x240 +/* 8032294C 0031E5AC 4E 80 00 20 */ blr + +.global func_80322950 +func_80322950: +/* 80322950 0031E5B0 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80322954 0031E5B4 2C 05 00 00 */ cmpwi r5, 0 +/* 80322958 0031E5B8 40 82 00 0C */ bne lbl_80322964 +/* 8032295C 0031E5BC 38 60 00 00 */ li r3, 0 +/* 80322960 0031E5C0 4E 80 00 20 */ blr +lbl_80322964: +/* 80322964 0031E5C4 90 65 00 90 */ stw r3, 0x90(r5) +/* 80322968 0031E5C8 38 60 00 01 */ li r3, 1 +/* 8032296C 0031E5CC 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80322970 0031E5D0 90 85 00 94 */ stw r4, 0x94(r5) +/* 80322974 0031E5D4 4E 80 00 20 */ blr + +.global func_80322978 +func_80322978: +/* 80322978 0031E5D8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8032297C 0031E5DC 7C 08 02 A6 */ mflr r0 +/* 80322980 0031E5E0 38 60 00 04 */ li r3, 4 +/* 80322984 0031E5E4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80322988 0031E5E8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8032298C 0031E5EC 3F E0 80 44 */ lis r31, lbl_80447648@ha +/* 80322990 0031E5F0 3B FF 76 48 */ addi r31, r31, lbl_80447648@l +/* 80322994 0031E5F4 38 9F 02 48 */ addi r4, r31, 0x248 +/* 80322998 0031E5F8 4C C6 31 82 */ crclr 6 +/* 8032299C 0031E5FC 4B FF A1 99 */ bl func_8031CB34 +/* 803229A0 0031E600 80 0D B0 58 */ lwz r0, lbl_80640318-_SDA_BASE_(r13) +/* 803229A4 0031E604 2C 00 00 00 */ cmpwi r0, 0 +/* 803229A8 0031E608 41 82 00 28 */ beq lbl_803229D0 +/* 803229AC 0031E60C 4B FF 9B C1 */ bl PlatAudio_IsEntireSampleFileInMem +/* 803229B0 0031E610 2C 03 00 00 */ cmpwi r3, 0 +/* 803229B4 0031E614 40 82 00 1C */ bne lbl_803229D0 +/* 803229B8 0031E618 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803229BC 0031E61C 80 03 00 24 */ lwz r0, 0x24(r3) +/* 803229C0 0031E620 2C 00 00 05 */ cmpwi r0, 5 +/* 803229C4 0031E624 41 82 00 24 */ beq lbl_803229E8 +/* 803229C8 0031E628 2C 00 00 06 */ cmpwi r0, 6 +/* 803229CC 0031E62C 41 82 00 1C */ beq lbl_803229E8 +lbl_803229D0: +/* 803229D0 0031E630 38 9F 00 C8 */ addi r4, r31, 0xc8 +/* 803229D4 0031E634 38 60 00 04 */ li r3, 4 +/* 803229D8 0031E638 4C C6 31 82 */ crclr 6 +/* 803229DC 0031E63C 4B FF A1 59 */ bl func_8031CB34 +/* 803229E0 0031E640 38 60 FF FF */ li r3, -1 +/* 803229E4 0031E644 48 00 00 78 */ b lbl_80322A5C +lbl_803229E8: +/* 803229E8 0031E648 88 03 03 6D */ lbz r0, 0x36d(r3) +/* 803229EC 0031E64C 2C 00 00 00 */ cmpwi r0, 0 +/* 803229F0 0031E650 40 82 00 48 */ bne lbl_80322A38 +/* 803229F4 0031E654 38 9F 02 30 */ addi r4, r31, 0x230 +/* 803229F8 0031E658 38 60 01 00 */ li r3, 0x100 +/* 803229FC 0031E65C 4C C6 31 82 */ crclr 6 +/* 80322A00 0031E660 4B FF A1 35 */ bl func_8031CB34 +/* 80322A04 0031E664 38 60 00 01 */ li r3, 1 +/* 80322A08 0031E668 38 8D 8D 88 */ addi r4, r13, lbl_8063E048-_SDA_BASE_ +/* 80322A0C 0031E66C 38 A0 00 00 */ li r5, 0 +/* 80322A10 0031E670 4B FF D2 41 */ bl func_8031FC50 +/* 80322A14 0031E674 48 03 81 A1 */ bl NNFreeNegotiateList +/* 80322A18 0031E678 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80322A1C 0031E67C 38 00 00 03 */ li r0, 3 +/* 80322A20 0031E680 38 60 00 01 */ li r3, 1 +/* 80322A24 0031E684 80 85 00 24 */ lwz r4, 0x24(r5) +/* 80322A28 0031E688 90 85 00 28 */ stw r4, 0x28(r5) +/* 80322A2C 0031E68C 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322A30 0031E690 90 04 00 24 */ stw r0, 0x24(r4) +/* 80322A34 0031E694 48 00 00 28 */ b lbl_80322A5C +lbl_80322A38: +/* 80322A38 0031E698 38 00 00 01 */ li r0, 1 +/* 80322A3C 0031E69C 98 03 00 2D */ stb r0, 0x2d(r3) +/* 80322A40 0031E6A0 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322A44 0031E6A4 80 63 00 00 */ lwz r3, 0(r3) +/* 80322A48 0031E6A8 48 02 73 29 */ bl gt2CloseAllConnectionsHard +/* 80322A4C 0031E6AC 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322A50 0031E6B0 38 00 00 00 */ li r0, 0 +/* 80322A54 0031E6B4 38 60 00 00 */ li r3, 0 +/* 80322A58 0031E6B8 98 04 00 2D */ stb r0, 0x2d(r4) +lbl_80322A5C: +/* 80322A5C 0031E6BC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80322A60 0031E6C0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80322A64 0031E6C4 7C 08 03 A6 */ mtlr r0 +/* 80322A68 0031E6C8 38 21 00 10 */ addi r1, r1, 0x10 +/* 80322A6C 0031E6CC 4E 80 00 20 */ blr + +.global func_80322A70 +func_80322A70: +/* 80322A70 0031E6D0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80322A74 0031E6D4 7C 08 02 A6 */ mflr r0 +/* 80322A78 0031E6D8 90 01 00 24 */ stw r0, 0x24(r1) +/* 80322A7C 0031E6DC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80322A80 0031E6E0 3F E0 80 44 */ lis r31, lbl_80447648@ha +/* 80322A84 0031E6E4 3B FF 76 48 */ addi r31, r31, lbl_80447648@l +/* 80322A88 0031E6E8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80322A8C 0031E6EC 38 9F 02 78 */ addi r4, r31, 0x278 +/* 80322A90 0031E6F0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80322A94 0031E6F4 93 81 00 10 */ stw r28, 0x10(r1) +/* 80322A98 0031E6F8 7C 7C 1B 78 */ mr r28, r3 +/* 80322A9C 0031E6FC 38 60 00 04 */ li r3, 4 +/* 80322AA0 0031E700 7F 85 E3 78 */ mr r5, r28 +/* 80322AA4 0031E704 4C C6 31 82 */ crclr 6 +/* 80322AA8 0031E708 4B FF A0 8D */ bl func_8031CB34 +/* 80322AAC 0031E70C 80 0D B0 58 */ lwz r0, lbl_80640318-_SDA_BASE_(r13) +/* 80322AB0 0031E710 2C 00 00 00 */ cmpwi r0, 0 +/* 80322AB4 0031E714 41 82 00 28 */ beq lbl_80322ADC +/* 80322AB8 0031E718 4B FF 9A B5 */ bl PlatAudio_IsEntireSampleFileInMem +/* 80322ABC 0031E71C 2C 03 00 00 */ cmpwi r3, 0 +/* 80322AC0 0031E720 40 82 00 1C */ bne lbl_80322ADC +/* 80322AC4 0031E724 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322AC8 0031E728 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80322ACC 0031E72C 2C 00 00 05 */ cmpwi r0, 5 +/* 80322AD0 0031E730 41 82 00 24 */ beq lbl_80322AF4 +/* 80322AD4 0031E734 2C 00 00 06 */ cmpwi r0, 6 +/* 80322AD8 0031E738 41 82 00 1C */ beq lbl_80322AF4 +lbl_80322ADC: +/* 80322ADC 0031E73C 38 9F 00 C8 */ addi r4, r31, 0xc8 +/* 80322AE0 0031E740 38 60 00 04 */ li r3, 4 +/* 80322AE4 0031E744 4C C6 31 82 */ crclr 6 +/* 80322AE8 0031E748 4B FF A0 4D */ bl func_8031CB34 +/* 80322AEC 0031E74C 38 60 FF FF */ li r3, -1 +/* 80322AF0 0031E750 48 00 00 8C */ b lbl_80322B7C +lbl_80322AF4: +/* 80322AF4 0031E754 2C 03 00 00 */ cmpwi r3, 0 +/* 80322AF8 0031E758 40 82 00 0C */ bne lbl_80322B04 +/* 80322AFC 0031E75C 38 60 00 00 */ li r3, 0 +/* 80322B00 0031E760 48 00 00 54 */ b lbl_80322B54 +lbl_80322B04: +/* 80322B04 0031E764 3F A0 80 61 */ lis r29, lbl_8060FC08@ha +/* 80322B08 0031E768 3B C0 00 00 */ li r30, 0 +/* 80322B0C 0031E76C 3B BD FC 08 */ addi r29, r29, lbl_8060FC08@l +lbl_80322B10: +/* 80322B10 0031E770 80 7D 00 00 */ lwz r3, 0(r29) +/* 80322B14 0031E774 2C 03 00 00 */ cmpwi r3, 0 +/* 80322B18 0031E778 41 82 00 28 */ beq lbl_80322B40 +/* 80322B1C 0031E77C 48 02 72 E5 */ bl gt2GetConnectionData +/* 80322B20 0031E780 88 03 00 01 */ lbz r0, 1(r3) +/* 80322B24 0031E784 7C 1C 00 40 */ cmplw r28, r0 +/* 80322B28 0031E788 40 82 00 18 */ bne lbl_80322B40 +/* 80322B2C 0031E78C 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 80322B30 0031E790 57 C0 10 3A */ slwi r0, r30, 2 +/* 80322B34 0031E794 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 80322B38 0031E798 7C 63 00 2E */ lwzx r3, r3, r0 +/* 80322B3C 0031E79C 48 00 00 18 */ b lbl_80322B54 +lbl_80322B40: +/* 80322B40 0031E7A0 3B DE 00 01 */ addi r30, r30, 1 +/* 80322B44 0031E7A4 3B BD 00 04 */ addi r29, r29, 4 +/* 80322B48 0031E7A8 2C 1E 00 20 */ cmpwi r30, 0x20 +/* 80322B4C 0031E7AC 41 80 FF C4 */ blt lbl_80322B10 +/* 80322B50 0031E7B0 38 60 00 00 */ li r3, 0 +lbl_80322B54: +/* 80322B54 0031E7B4 2C 03 00 00 */ cmpwi r3, 0 +/* 80322B58 0031E7B8 40 82 00 1C */ bne lbl_80322B74 +/* 80322B5C 0031E7BC 38 9F 02 B0 */ addi r4, r31, 0x2b0 +/* 80322B60 0031E7C0 38 60 00 04 */ li r3, 4 +/* 80322B64 0031E7C4 4C C6 31 82 */ crclr 6 +/* 80322B68 0031E7C8 4B FF 9F CD */ bl func_8031CB34 +/* 80322B6C 0031E7CC 38 60 FF FE */ li r3, -2 +/* 80322B70 0031E7D0 48 00 00 0C */ b lbl_80322B7C +lbl_80322B74: +/* 80322B74 0031E7D4 48 02 71 C9 */ bl gt2CloseConnectionHard +/* 80322B78 0031E7D8 38 60 00 00 */ li r3, 0 +lbl_80322B7C: +/* 80322B7C 0031E7DC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80322B80 0031E7E0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80322B84 0031E7E4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80322B88 0031E7E8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80322B8C 0031E7EC 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80322B90 0031E7F0 7C 08 03 A6 */ mtlr r0 +/* 80322B94 0031E7F4 38 21 00 20 */ addi r1, r1, 0x20 +/* 80322B98 0031E7F8 4E 80 00 20 */ blr + +.global func_80322B9C +func_80322B9C: +/* 80322B9C 0031E7FC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80322BA0 0031E800 7C 08 02 A6 */ mflr r0 +/* 80322BA4 0031E804 90 01 00 14 */ stw r0, 0x14(r1) +/* 80322BA8 0031E808 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322BAC 0031E80C 2C 03 00 00 */ cmpwi r3, 0 +/* 80322BB0 0031E810 40 82 00 0C */ bne lbl_80322BBC +/* 80322BB4 0031E814 38 60 00 00 */ li r3, 0 +/* 80322BB8 0031E818 48 00 00 30 */ b lbl_80322BE8 +lbl_80322BBC: +/* 80322BBC 0031E81C 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80322BC0 0031E820 28 00 00 02 */ cmplwi r0, 2 +/* 80322BC4 0031E824 41 82 00 10 */ beq lbl_80322BD4 +/* 80322BC8 0031E828 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80322BCC 0031E82C 28 00 00 03 */ cmplwi r0, 3 +/* 80322BD0 0031E830 40 82 00 10 */ bne lbl_80322BE0 +lbl_80322BD4: +/* 80322BD4 0031E834 48 00 50 09 */ bl func_80327BDC +/* 80322BD8 0031E838 38 63 00 01 */ addi r3, r3, 1 +/* 80322BDC 0031E83C 48 00 00 0C */ b lbl_80322BE8 +lbl_80322BE0: +/* 80322BE0 0031E840 48 00 4F E1 */ bl func_80327BC0 +/* 80322BE4 0031E844 38 63 00 01 */ addi r3, r3, 1 +lbl_80322BE8: +/* 80322BE8 0031E848 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80322BEC 0031E84C 7C 08 03 A6 */ mtlr r0 +/* 80322BF0 0031E850 38 21 00 10 */ addi r1, r1, 0x10 +/* 80322BF4 0031E854 4E 80 00 20 */ blr + +.global func_80322BF8 +func_80322BF8: +/* 80322BF8 0031E858 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322BFC 0031E85C 2C 03 00 00 */ cmpwi r3, 0 +/* 80322C00 0031E860 41 82 00 0C */ beq lbl_80322C0C +/* 80322C04 0031E864 88 63 00 2C */ lbz r3, 0x2c(r3) +/* 80322C08 0031E868 4E 80 00 20 */ blr +lbl_80322C0C: +/* 80322C0C 0031E86C 38 60 00 00 */ li r3, 0 +/* 80322C10 0031E870 4E 80 00 20 */ blr + +.global func_80322C14 +func_80322C14: +/* 80322C14 0031E874 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322C18 0031E878 2C 04 00 00 */ cmpwi r4, 0 +/* 80322C1C 0031E87C 40 82 00 0C */ bne lbl_80322C28 +/* 80322C20 0031E880 38 60 00 00 */ li r3, 0 +/* 80322C24 0031E884 4E 80 00 20 */ blr +lbl_80322C28: +/* 80322C28 0031E888 38 04 06 40 */ addi r0, r4, 0x640 +/* 80322C2C 0031E88C 90 03 00 00 */ stw r0, 0(r3) +/* 80322C30 0031E890 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322C34 0031E894 88 04 03 75 */ lbz r0, 0x375(r4) +/* 80322C38 0031E898 28 00 00 02 */ cmplwi r0, 2 +/* 80322C3C 0031E89C 41 82 00 10 */ beq lbl_80322C4C +/* 80322C40 0031E8A0 88 04 03 75 */ lbz r0, 0x375(r4) +/* 80322C44 0031E8A4 28 00 00 03 */ cmplwi r0, 3 +/* 80322C48 0031E8A8 40 82 00 08 */ bne lbl_80322C50 +lbl_80322C4C: +/* 80322C4C 0031E8AC 48 00 50 B4 */ b func_80327D00 +lbl_80322C50: +/* 80322C50 0031E8B0 48 00 50 84 */ b func_80327CD4 +/* 80322C54 0031E8B4 4E 80 00 20 */ blr + +.global func_80322C58 +func_80322C58: +/* 80322C58 0031E8B8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80322C5C 0031E8BC 7C 08 02 A6 */ mflr r0 +/* 80322C60 0031E8C0 90 01 00 24 */ stw r0, 0x24(r1) +/* 80322C64 0031E8C4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80322C68 0031E8C8 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322C6C 0031E8CC 2C 03 00 00 */ cmpwi r3, 0 +/* 80322C70 0031E8D0 40 82 00 0C */ bne lbl_80322C7C +/* 80322C74 0031E8D4 38 60 00 00 */ li r3, 0 +/* 80322C78 0031E8D8 48 00 01 3C */ b lbl_80322DB4 +lbl_80322C7C: +/* 80322C7C 0031E8DC 40 82 00 0C */ bne lbl_80322C88 +/* 80322C80 0031E8E0 38 60 00 00 */ li r3, 0 +/* 80322C84 0031E8E4 48 00 00 38 */ b lbl_80322CBC +lbl_80322C88: +/* 80322C88 0031E8E8 38 03 06 40 */ addi r0, r3, 0x640 +/* 80322C8C 0031E8EC 90 01 00 08 */ stw r0, 8(r1) +/* 80322C90 0031E8F0 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80322C94 0031E8F4 28 00 00 02 */ cmplwi r0, 2 +/* 80322C98 0031E8F8 41 82 00 10 */ beq lbl_80322CA8 +/* 80322C9C 0031E8FC 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80322CA0 0031E900 28 00 00 03 */ cmplwi r0, 3 +/* 80322CA4 0031E904 40 82 00 10 */ bne lbl_80322CB4 +lbl_80322CA8: +/* 80322CA8 0031E908 38 61 00 08 */ addi r3, r1, 8 +/* 80322CAC 0031E90C 48 00 50 55 */ bl func_80327D00 +/* 80322CB0 0031E910 48 00 00 0C */ b lbl_80322CBC +lbl_80322CB4: +/* 80322CB4 0031E914 38 61 00 08 */ addi r3, r1, 8 +/* 80322CB8 0031E918 48 00 50 1D */ bl func_80327CD4 +lbl_80322CBC: +/* 80322CBC 0031E91C 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 80322CC0 0031E920 81 61 00 08 */ lwz r11, 8(r1) +/* 80322CC4 0031E924 38 00 00 00 */ li r0, 0 +/* 80322CC8 0031E928 39 80 00 00 */ li r12, 0 +/* 80322CCC 0031E92C 40 85 00 E4 */ ble cr1, lbl_80322DB0 +/* 80322CD0 0031E930 2C 03 00 08 */ cmpwi r3, 8 +/* 80322CD4 0031E934 38 A3 FF F8 */ addi r5, r3, -8 +/* 80322CD8 0031E938 40 81 00 AC */ ble lbl_80322D84 +/* 80322CDC 0031E93C 38 C0 00 00 */ li r6, 0 +/* 80322CE0 0031E940 41 84 00 18 */ blt cr1, lbl_80322CF8 +/* 80322CE4 0031E944 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha +/* 80322CE8 0031E948 38 84 FF FE */ addi r4, r4, 0x7FFFFFFE@l +/* 80322CEC 0031E94C 7C 03 20 00 */ cmpw r3, r4 +/* 80322CF0 0031E950 41 81 00 08 */ bgt lbl_80322CF8 +/* 80322CF4 0031E954 38 C0 00 01 */ li r6, 1 +lbl_80322CF8: +/* 80322CF8 0031E958 2C 06 00 00 */ cmpwi r6, 0 +/* 80322CFC 0031E95C 41 82 00 88 */ beq lbl_80322D84 +/* 80322D00 0031E960 38 85 00 07 */ addi r4, r5, 7 +/* 80322D04 0031E964 39 40 00 01 */ li r10, 1 +/* 80322D08 0031E968 54 84 E8 FE */ srwi r4, r4, 3 +/* 80322D0C 0031E96C 7C 89 03 A6 */ mtctr r4 +/* 80322D10 0031E970 2C 05 00 00 */ cmpwi r5, 0 +/* 80322D14 0031E974 40 81 00 70 */ ble lbl_80322D84 +lbl_80322D18: +/* 80322D18 0031E978 7F EB 62 14 */ add r31, r11, r12 +/* 80322D1C 0031E97C 7C 8B 60 AE */ lbzx r4, r11, r12 +/* 80322D20 0031E980 88 BF 00 01 */ lbz r5, 1(r31) +/* 80322D24 0031E984 39 8C 00 08 */ addi r12, r12, 8 +/* 80322D28 0031E988 7D 46 20 30 */ slw r6, r10, r4 +/* 80322D2C 0031E98C 88 9F 00 02 */ lbz r4, 2(r31) +/* 80322D30 0031E990 89 1F 00 03 */ lbz r8, 3(r31) +/* 80322D34 0031E994 7C 00 33 78 */ or r0, r0, r6 +/* 80322D38 0031E998 7D 45 28 30 */ slw r5, r10, r5 +/* 80322D3C 0031E99C 88 FF 00 04 */ lbz r7, 4(r31) +/* 80322D40 0031E9A0 7C 00 2B 78 */ or r0, r0, r5 +/* 80322D44 0031E9A4 7D 49 20 30 */ slw r9, r10, r4 +/* 80322D48 0031E9A8 88 DF 00 05 */ lbz r6, 5(r31) +/* 80322D4C 0031E9AC 7C 00 4B 78 */ or r0, r0, r9 +/* 80322D50 0031E9B0 7D 48 40 30 */ slw r8, r10, r8 +/* 80322D54 0031E9B4 88 BF 00 06 */ lbz r5, 6(r31) +/* 80322D58 0031E9B8 88 9F 00 07 */ lbz r4, 7(r31) +/* 80322D5C 0031E9BC 7D 47 38 30 */ slw r7, r10, r7 +/* 80322D60 0031E9C0 7C 00 43 78 */ or r0, r0, r8 +/* 80322D64 0031E9C4 7D 46 30 30 */ slw r6, r10, r6 +/* 80322D68 0031E9C8 7C 00 3B 78 */ or r0, r0, r7 +/* 80322D6C 0031E9CC 7D 45 28 30 */ slw r5, r10, r5 +/* 80322D70 0031E9D0 7C 00 33 78 */ or r0, r0, r6 +/* 80322D74 0031E9D4 7D 44 20 30 */ slw r4, r10, r4 +/* 80322D78 0031E9D8 7C 00 2B 78 */ or r0, r0, r5 +/* 80322D7C 0031E9DC 7C 00 23 78 */ or r0, r0, r4 +/* 80322D80 0031E9E0 42 00 FF 98 */ bdnz lbl_80322D18 +lbl_80322D84: +/* 80322D84 0031E9E4 7C 8C 18 50 */ subf r4, r12, r3 +/* 80322D88 0031E9E8 7C AB 62 14 */ add r5, r11, r12 +/* 80322D8C 0031E9EC 38 C0 00 01 */ li r6, 1 +/* 80322D90 0031E9F0 7C 89 03 A6 */ mtctr r4 +/* 80322D94 0031E9F4 7C 0C 18 00 */ cmpw r12, r3 +/* 80322D98 0031E9F8 40 80 00 18 */ bge lbl_80322DB0 +lbl_80322D9C: +/* 80322D9C 0031E9FC 88 65 00 00 */ lbz r3, 0(r5) +/* 80322DA0 0031EA00 38 A5 00 01 */ addi r5, r5, 1 +/* 80322DA4 0031EA04 7C C3 18 30 */ slw r3, r6, r3 +/* 80322DA8 0031EA08 7C 00 1B 78 */ or r0, r0, r3 +/* 80322DAC 0031EA0C 42 00 FF F0 */ bdnz lbl_80322D9C +lbl_80322DB0: +/* 80322DB0 0031EA10 7C 03 03 78 */ mr r3, r0 +lbl_80322DB4: +/* 80322DB4 0031EA14 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80322DB8 0031EA18 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80322DBC 0031EA1C 7C 08 03 A6 */ mtlr r0 +/* 80322DC0 0031EA20 38 21 00 20 */ addi r1, r1, 0x20 +/* 80322DC4 0031EA24 4E 80 00 20 */ blr + +.global func_80322DC8 +func_80322DC8: +/* 80322DC8 0031EA28 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80322DCC 0031EA2C 7C 08 02 A6 */ mflr r0 +/* 80322DD0 0031EA30 90 01 00 24 */ stw r0, 0x24(r1) +/* 80322DD4 0031EA34 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80322DD8 0031EA38 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80322DDC 0031EA3C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80322DE0 0031EA40 7C 7D 1B 78 */ mr r29, r3 +/* 80322DE4 0031EA44 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80322DE8 0031EA48 2C 04 00 00 */ cmpwi r4, 0 +/* 80322DEC 0031EA4C 40 82 00 0C */ bne lbl_80322DF8 +/* 80322DF0 0031EA50 38 60 00 00 */ li r3, 0 +/* 80322DF4 0031EA54 48 00 00 64 */ b lbl_80322E58 +lbl_80322DF8: +/* 80322DF8 0031EA58 38 00 00 01 */ li r0, 1 +/* 80322DFC 0031EA5C 80 84 06 60 */ lwz r4, 0x660(r4) +/* 80322E00 0031EA60 7C 00 18 30 */ slw r0, r0, r3 +/* 80322E04 0031EA64 7C 80 00 39 */ and. r0, r4, r0 +/* 80322E08 0031EA68 40 82 00 0C */ bne lbl_80322E14 +/* 80322E0C 0031EA6C 38 60 00 00 */ li r3, 0 +/* 80322E10 0031EA70 48 00 00 48 */ b lbl_80322E58 +lbl_80322E14: +/* 80322E14 0031EA74 3F C0 80 61 */ lis r30, lbl_8060FC08@ha +/* 80322E18 0031EA78 3B E0 00 00 */ li r31, 0 +/* 80322E1C 0031EA7C 3B DE FC 08 */ addi r30, r30, lbl_8060FC08@l +lbl_80322E20: +/* 80322E20 0031EA80 80 7E 00 00 */ lwz r3, 0(r30) +/* 80322E24 0031EA84 2C 03 00 00 */ cmpwi r3, 0 +/* 80322E28 0031EA88 41 82 00 1C */ beq lbl_80322E44 +/* 80322E2C 0031EA8C 48 02 6F D5 */ bl gt2GetConnectionData +/* 80322E30 0031EA90 88 03 00 01 */ lbz r0, 1(r3) +/* 80322E34 0031EA94 7C 1D 00 40 */ cmplw r29, r0 +/* 80322E38 0031EA98 40 82 00 0C */ bne lbl_80322E44 +/* 80322E3C 0031EA9C 38 60 00 01 */ li r3, 1 +/* 80322E40 0031EAA0 48 00 00 18 */ b lbl_80322E58 +lbl_80322E44: +/* 80322E44 0031EAA4 3B FF 00 01 */ addi r31, r31, 1 +/* 80322E48 0031EAA8 3B DE 00 04 */ addi r30, r30, 4 +/* 80322E4C 0031EAAC 2C 1F 00 20 */ cmpwi r31, 0x20 +/* 80322E50 0031EAB0 41 80 FF D0 */ blt lbl_80322E20 +/* 80322E54 0031EAB4 38 60 00 00 */ li r3, 0 +lbl_80322E58: +/* 80322E58 0031EAB8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80322E5C 0031EABC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80322E60 0031EAC0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80322E64 0031EAC4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80322E68 0031EAC8 7C 08 03 A6 */ mtlr r0 +/* 80322E6C 0031EACC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80322E70 0031EAD0 4E 80 00 20 */ blr + +.global func_80322E74 +func_80322E74: +/* 80322E74 0031EAD4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322E78 0031EAD8 2C 03 00 00 */ cmpwi r3, 0 +/* 80322E7C 0031EADC 41 82 00 0C */ beq lbl_80322E88 +/* 80322E80 0031EAE0 80 63 00 24 */ lwz r3, 0x24(r3) +/* 80322E84 0031EAE4 4E 80 00 20 */ blr +lbl_80322E88: +/* 80322E88 0031EAE8 38 60 00 00 */ li r3, 0 +/* 80322E8C 0031EAEC 4E 80 00 20 */ blr + +.global func_80322E90 +func_80322E90: +/* 80322E90 0031EAF0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80322E94 0031EAF4 7C 08 02 A6 */ mflr r0 +/* 80322E98 0031EAF8 90 01 00 14 */ stw r0, 0x14(r1) +/* 80322E9C 0031EAFC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80322EA0 0031EB00 93 C1 00 08 */ stw r30, 8(r1) +/* 80322EA4 0031EB04 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322EA8 0031EB08 80 03 00 00 */ lwz r0, 0(r3) +/* 80322EAC 0031EB0C 2C 00 00 00 */ cmpwi r0, 0 +/* 80322EB0 0031EB10 41 82 00 20 */ beq lbl_80322ED0 +/* 80322EB4 0031EB14 3C 80 80 44 */ lis r4, lbl_8044794C@ha +/* 80322EB8 0031EB18 38 60 00 08 */ li r3, 8 +/* 80322EBC 0031EB1C 38 84 79 4C */ addi r4, r4, lbl_8044794C@l +/* 80322EC0 0031EB20 4C C6 31 82 */ crclr 6 +/* 80322EC4 0031EB24 4B FF 9C 71 */ bl func_8031CB34 +/* 80322EC8 0031EB28 38 60 00 00 */ li r3, 0 +/* 80322ECC 0031EB2C 48 00 00 A4 */ b lbl_80322F70 +lbl_80322ED0: +/* 80322ED0 0031EB30 38 60 40 00 */ li r3, 0x4000 +/* 80322ED4 0031EB34 4B FF C1 59 */ bl func_8031F02C +/* 80322ED8 0031EB38 3C 63 00 01 */ addis r3, r3, 1 +/* 80322EDC 0031EB3C 3C 80 80 44 */ lis r4, lbl_80447968@ha +/* 80322EE0 0031EB40 38 03 C0 00 */ addi r0, r3, -16384 +/* 80322EE4 0031EB44 54 1E 04 3E */ clrlwi r30, r0, 0x10 +/* 80322EE8 0031EB48 38 60 00 40 */ li r3, 0x40 +/* 80322EEC 0031EB4C 38 84 79 68 */ addi r4, r4, lbl_80447968@l +/* 80322EF0 0031EB50 7F C5 F3 78 */ mr r5, r30 +/* 80322EF4 0031EB54 4C C6 31 82 */ crclr 6 +/* 80322EF8 0031EB58 4B FF 9C 3D */ bl func_8031CB34 +/* 80322EFC 0031EB5C 83 ED B0 58 */ lwz r31, lbl_80640318-_SDA_BASE_(r13) +/* 80322F00 0031EB60 7F C4 F3 78 */ mr r4, r30 +/* 80322F04 0031EB64 38 60 00 00 */ li r3, 0 +/* 80322F08 0031EB68 38 A0 00 00 */ li r5, 0 +/* 80322F0C 0031EB6C 48 02 AC 41 */ bl gt2AddressToString +/* 80322F10 0031EB70 7C 64 1B 78 */ mr r4, r3 +/* 80322F14 0031EB74 3C E0 80 32 */ lis r7, lbl_803242D0@ha +/* 80322F18 0031EB78 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322F1C 0031EB7C 38 E7 42 D0 */ addi r7, r7, lbl_803242D0@l +/* 80322F20 0031EB80 80 BF 00 14 */ lwz r5, 0x14(r31) +/* 80322F24 0031EB84 80 DF 00 18 */ lwz r6, 0x18(r31) +/* 80322F28 0031EB88 48 02 6A C9 */ bl gt2CreateSocket +/* 80322F2C 0031EB8C 7C 7E 1B 78 */ mr r30, r3 +/* 80322F30 0031EB90 48 00 04 D5 */ bl func_80323404 +/* 80322F34 0031EB94 2C 03 00 00 */ cmpwi r3, 0 +/* 80322F38 0031EB98 41 82 00 0C */ beq lbl_80322F44 +/* 80322F3C 0031EB9C 7F C3 F3 78 */ mr r3, r30 +/* 80322F40 0031EBA0 48 00 00 30 */ b lbl_80322F70 +lbl_80322F44: +/* 80322F44 0031EBA4 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322F48 0031EBA8 3C 80 80 32 */ lis r4, lbl_80326510@ha +/* 80322F4C 0031EBAC 38 84 65 10 */ addi r4, r4, lbl_80326510@l +/* 80322F50 0031EBB0 80 63 00 00 */ lwz r3, 0(r3) +/* 80322F54 0031EBB4 48 02 6B 35 */ bl gt2Listen +/* 80322F58 0031EBB8 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80322F5C 0031EBBC 3C 80 80 32 */ lis r4, lbl_8032639C@ha +/* 80322F60 0031EBC0 38 84 63 9C */ addi r4, r4, lbl_8032639C@l +/* 80322F64 0031EBC4 80 63 00 00 */ lwz r3, 0(r3) +/* 80322F68 0031EBC8 48 02 6E 89 */ bl gt2SetUnrecognizedMessageCallback +/* 80322F6C 0031EBCC 7F C3 F3 78 */ mr r3, r30 +lbl_80322F70: +/* 80322F70 0031EBD0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80322F74 0031EBD4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80322F78 0031EBD8 83 C1 00 08 */ lwz r30, 8(r1) +/* 80322F7C 0031EBDC 7C 08 03 A6 */ mtlr r0 +/* 80322F80 0031EBE0 38 21 00 10 */ addi r1, r1, 0x10 +/* 80322F84 0031EBE4 4E 80 00 20 */ blr + +.global func_80322F88 +func_80322F88: +/* 80322F88 0031EBE8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80322F8C 0031EBEC 7C 08 02 A6 */ mflr r0 +/* 80322F90 0031EBF0 90 01 00 24 */ stw r0, 0x24(r1) +/* 80322F94 0031EBF4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80322F98 0031EBF8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80322F9C 0031EBFC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80322FA0 0031EC00 7C 7D 1B 78 */ mr r29, r3 +/* 80322FA4 0031EC04 80 0D B0 58 */ lwz r0, lbl_80640318-_SDA_BASE_(r13) +/* 80322FA8 0031EC08 2C 00 00 00 */ cmpwi r0, 0 +/* 80322FAC 0031EC0C 40 82 00 0C */ bne lbl_80322FB8 +/* 80322FB0 0031EC10 38 60 00 00 */ li r3, 0 +/* 80322FB4 0031EC14 48 00 00 54 */ b lbl_80323008 +lbl_80322FB8: +/* 80322FB8 0031EC18 3F E0 80 61 */ lis r31, lbl_8060FC08@ha +/* 80322FBC 0031EC1C 3B C0 00 00 */ li r30, 0 +/* 80322FC0 0031EC20 3B FF FC 08 */ addi r31, r31, lbl_8060FC08@l +lbl_80322FC4: +/* 80322FC4 0031EC24 80 7F 00 00 */ lwz r3, 0(r31) +/* 80322FC8 0031EC28 2C 03 00 00 */ cmpwi r3, 0 +/* 80322FCC 0031EC2C 41 82 00 28 */ beq lbl_80322FF4 +/* 80322FD0 0031EC30 48 02 6E 31 */ bl gt2GetConnectionData +/* 80322FD4 0031EC34 88 03 00 01 */ lbz r0, 1(r3) +/* 80322FD8 0031EC38 7C 1D 00 40 */ cmplw r29, r0 +/* 80322FDC 0031EC3C 40 82 00 18 */ bne lbl_80322FF4 +/* 80322FE0 0031EC40 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 80322FE4 0031EC44 57 C0 10 3A */ slwi r0, r30, 2 +/* 80322FE8 0031EC48 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 80322FEC 0031EC4C 7C 63 00 2E */ lwzx r3, r3, r0 +/* 80322FF0 0031EC50 48 00 00 18 */ b lbl_80323008 +lbl_80322FF4: +/* 80322FF4 0031EC54 3B DE 00 01 */ addi r30, r30, 1 +/* 80322FF8 0031EC58 3B FF 00 04 */ addi r31, r31, 4 +/* 80322FFC 0031EC5C 2C 1E 00 20 */ cmpwi r30, 0x20 +/* 80323000 0031EC60 41 80 FF C4 */ blt lbl_80322FC4 +/* 80323004 0031EC64 38 60 00 00 */ li r3, 0 +lbl_80323008: +/* 80323008 0031EC68 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8032300C 0031EC6C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80323010 0031EC70 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80323014 0031EC74 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80323018 0031EC78 7C 08 03 A6 */ mtlr r0 +/* 8032301C 0031EC7C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80323020 0031EC80 4E 80 00 20 */ blr + +.global func_80323024 +func_80323024: +/* 80323024 0031EC84 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80323028 0031EC88 7C 08 02 A6 */ mflr r0 +/* 8032302C 0031EC8C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80323030 0031EC90 48 02 6D D1 */ bl gt2GetConnectionData +/* 80323034 0031EC94 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80323038 0031EC98 88 63 00 01 */ lbz r3, 1(r3) +/* 8032303C 0031EC9C 7C 08 03 A6 */ mtlr r0 +/* 80323040 0031ECA0 38 21 00 10 */ addi r1, r1, 0x10 +/* 80323044 0031ECA4 4E 80 00 20 */ blr + +.global func_80323048 +func_80323048: +/* 80323048 0031ECA8 3C 80 80 61 */ lis r4, lbl_8060FC08@ha +/* 8032304C 0031ECAC 38 00 00 04 */ li r0, 4 +/* 80323050 0031ECB0 38 84 FC 08 */ addi r4, r4, lbl_8060FC08@l +/* 80323054 0031ECB4 38 60 00 00 */ li r3, 0 +/* 80323058 0031ECB8 7C 09 03 A6 */ mtctr r0 +lbl_8032305C: +/* 8032305C 0031ECBC 80 04 00 00 */ lwz r0, 0(r4) +/* 80323060 0031ECC0 2C 00 00 00 */ cmpwi r0, 0 +/* 80323064 0031ECC4 4D 82 00 20 */ beqlr +/* 80323068 0031ECC8 80 04 00 04 */ lwz r0, 4(r4) +/* 8032306C 0031ECCC 38 63 00 01 */ addi r3, r3, 1 +/* 80323070 0031ECD0 2C 00 00 00 */ cmpwi r0, 0 +/* 80323074 0031ECD4 4D 82 00 20 */ beqlr +/* 80323078 0031ECD8 80 04 00 08 */ lwz r0, 8(r4) +/* 8032307C 0031ECDC 38 63 00 01 */ addi r3, r3, 1 +/* 80323080 0031ECE0 2C 00 00 00 */ cmpwi r0, 0 +/* 80323084 0031ECE4 4D 82 00 20 */ beqlr +/* 80323088 0031ECE8 80 04 00 0C */ lwz r0, 0xc(r4) +/* 8032308C 0031ECEC 38 63 00 01 */ addi r3, r3, 1 +/* 80323090 0031ECF0 2C 00 00 00 */ cmpwi r0, 0 +/* 80323094 0031ECF4 4D 82 00 20 */ beqlr +/* 80323098 0031ECF8 80 04 00 10 */ lwz r0, 0x10(r4) +/* 8032309C 0031ECFC 38 63 00 01 */ addi r3, r3, 1 +/* 803230A0 0031ED00 2C 00 00 00 */ cmpwi r0, 0 +/* 803230A4 0031ED04 4D 82 00 20 */ beqlr +/* 803230A8 0031ED08 80 04 00 14 */ lwz r0, 0x14(r4) +/* 803230AC 0031ED0C 38 63 00 01 */ addi r3, r3, 1 +/* 803230B0 0031ED10 2C 00 00 00 */ cmpwi r0, 0 +/* 803230B4 0031ED14 4D 82 00 20 */ beqlr +/* 803230B8 0031ED18 80 04 00 18 */ lwz r0, 0x18(r4) +/* 803230BC 0031ED1C 38 63 00 01 */ addi r3, r3, 1 +/* 803230C0 0031ED20 2C 00 00 00 */ cmpwi r0, 0 +/* 803230C4 0031ED24 4D 82 00 20 */ beqlr +/* 803230C8 0031ED28 80 04 00 1C */ lwz r0, 0x1c(r4) +/* 803230CC 0031ED2C 38 63 00 01 */ addi r3, r3, 1 +/* 803230D0 0031ED30 2C 00 00 00 */ cmpwi r0, 0 +/* 803230D4 0031ED34 4D 82 00 20 */ beqlr +/* 803230D8 0031ED38 38 84 00 20 */ addi r4, r4, 0x20 +/* 803230DC 0031ED3C 38 63 00 01 */ addi r3, r3, 1 +/* 803230E0 0031ED40 42 00 FF 7C */ bdnz lbl_8032305C +/* 803230E4 0031ED44 38 60 FF FF */ li r3, -1 +/* 803230E8 0031ED48 4E 80 00 20 */ blr + +.global func_803230EC +func_803230EC: +/* 803230EC 0031ED4C 3C 80 80 61 */ lis r4, lbl_8060FC08@ha +/* 803230F0 0031ED50 54 60 10 3A */ slwi r0, r3, 2 +/* 803230F4 0031ED54 38 84 FC 08 */ addi r4, r4, lbl_8060FC08@l +/* 803230F8 0031ED58 7C 64 02 14 */ add r3, r4, r0 +/* 803230FC 0031ED5C 4E 80 00 20 */ blr + +.global func_80323100 +func_80323100: +/* 80323100 0031ED60 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80323104 0031ED64 7C 08 02 A6 */ mflr r0 +/* 80323108 0031ED68 38 E0 00 00 */ li r7, 0 +/* 8032310C 0031ED6C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80323110 0031ED70 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80323114 0031ED74 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80323118 0031ED78 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8032311C 0031ED7C 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80323120 0031ED80 48 00 00 1C */ b lbl_8032313C +lbl_80323124: +/* 80323124 0031ED84 54 E0 15 BA */ rlwinm r0, r7, 2, 0x16, 0x1d +/* 80323128 0031ED88 7C A6 02 14 */ add r5, r6, r0 +/* 8032312C 0031ED8C 80 05 04 58 */ lwz r0, 0x458(r5) +/* 80323130 0031ED90 7C 03 00 00 */ cmpw r3, r0 +/* 80323134 0031ED94 41 82 00 14 */ beq lbl_80323148 +/* 80323138 0031ED98 38 E7 00 01 */ addi r7, r7, 1 +lbl_8032313C: +/* 8032313C 0031ED9C 54 E0 06 3E */ clrlwi r0, r7, 0x18 +/* 80323140 0031EDA0 7C 00 20 00 */ cmpw r0, r4 +/* 80323144 0031EDA4 41 80 FF E0 */ blt lbl_80323124 +lbl_80323148: +/* 80323148 0031EDA8 54 E0 06 3E */ clrlwi r0, r7, 0x18 +/* 8032314C 0031EDAC 7C 00 20 00 */ cmpw r0, r4 +/* 80323150 0031EDB0 41 80 00 0C */ blt lbl_8032315C +/* 80323154 0031EDB4 38 60 00 00 */ li r3, 0 +/* 80323158 0031EDB8 48 00 00 88 */ b lbl_803231E0 +lbl_8032315C: +/* 8032315C 0031EDBC 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80323160 0031EDC0 7C 64 02 14 */ add r3, r4, r0 +/* 80323164 0031EDC4 2C 04 00 00 */ cmpwi r4, 0 +/* 80323168 0031EDC8 8B E3 06 40 */ lbz r31, 0x640(r3) +/* 8032316C 0031EDCC 40 82 00 0C */ bne lbl_80323178 +/* 80323170 0031EDD0 38 60 00 00 */ li r3, 0 +/* 80323174 0031EDD4 48 00 00 54 */ b lbl_803231C8 +lbl_80323178: +/* 80323178 0031EDD8 3F A0 80 61 */ lis r29, lbl_8060FC08@ha +/* 8032317C 0031EDDC 3B C0 00 00 */ li r30, 0 +/* 80323180 0031EDE0 3B BD FC 08 */ addi r29, r29, lbl_8060FC08@l +lbl_80323184: +/* 80323184 0031EDE4 80 7D 00 00 */ lwz r3, 0(r29) +/* 80323188 0031EDE8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032318C 0031EDEC 41 82 00 28 */ beq lbl_803231B4 +/* 80323190 0031EDF0 48 02 6C 71 */ bl gt2GetConnectionData +/* 80323194 0031EDF4 88 03 00 01 */ lbz r0, 1(r3) +/* 80323198 0031EDF8 7C 1F 00 40 */ cmplw r31, r0 +/* 8032319C 0031EDFC 40 82 00 18 */ bne lbl_803231B4 +/* 803231A0 0031EE00 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 803231A4 0031EE04 57 C0 10 3A */ slwi r0, r30, 2 +/* 803231A8 0031EE08 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 803231AC 0031EE0C 7C 63 00 2E */ lwzx r3, r3, r0 +/* 803231B0 0031EE10 48 00 00 18 */ b lbl_803231C8 +lbl_803231B4: +/* 803231B4 0031EE14 3B DE 00 01 */ addi r30, r30, 1 +/* 803231B8 0031EE18 3B BD 00 04 */ addi r29, r29, 4 +/* 803231BC 0031EE1C 2C 1E 00 20 */ cmpwi r30, 0x20 +/* 803231C0 0031EE20 41 80 FF C4 */ blt lbl_80323184 +/* 803231C4 0031EE24 38 60 00 00 */ li r3, 0 +lbl_803231C8: +/* 803231C8 0031EE28 48 02 6C 39 */ bl gt2GetConnectionData +/* 803231CC 0031EE2C 88 03 00 00 */ lbz r0, 0(r3) +/* 803231D0 0031EE30 3C 60 80 61 */ lis r3, lbl_8060FC08@ha +/* 803231D4 0031EE34 38 63 FC 08 */ addi r3, r3, lbl_8060FC08@l +/* 803231D8 0031EE38 54 00 10 3A */ slwi r0, r0, 2 +/* 803231DC 0031EE3C 7C 63 02 14 */ add r3, r3, r0 +lbl_803231E0: +/* 803231E0 0031EE40 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803231E4 0031EE44 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803231E8 0031EE48 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803231EC 0031EE4C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 803231F0 0031EE50 7C 08 03 A6 */ mtlr r0 +/* 803231F4 0031EE54 38 21 00 20 */ addi r1, r1, 0x20 +/* 803231F8 0031EE58 4E 80 00 20 */ blr + +.global func_803231FC +func_803231FC: +/* 803231FC 0031EE5C 3C 80 80 61 */ lis r4, lbl_8060FC88@ha +/* 80323200 0031EE60 54 60 18 38 */ slwi r0, r3, 3 +/* 80323204 0031EE64 38 84 FC 88 */ addi r4, r4, lbl_8060FC88@l +/* 80323208 0031EE68 7C 64 02 14 */ add r3, r4, r0 +/* 8032320C 0031EE6C 4E 80 00 20 */ blr + +.global func_80323210 +func_80323210: +/* 80323210 0031EE70 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80323214 0031EE74 7C 08 02 A6 */ mflr r0 +/* 80323218 0031EE78 90 01 00 24 */ stw r0, 0x24(r1) +/* 8032321C 0031EE7C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80323220 0031EE80 3F E0 80 61 */ lis r31, lbl_8060FC08@ha +/* 80323224 0031EE84 3B FF FC 08 */ addi r31, r31, lbl_8060FC08@l +/* 80323228 0031EE88 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8032322C 0031EE8C 3B C0 00 00 */ li r30, 0 +/* 80323230 0031EE90 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80323234 0031EE94 7C 7D 1B 78 */ mr r29, r3 +lbl_80323238: +/* 80323238 0031EE98 80 7F 00 00 */ lwz r3, 0(r31) +/* 8032323C 0031EE9C 2C 03 00 00 */ cmpwi r3, 0 +/* 80323240 0031EEA0 41 82 00 1C */ beq lbl_8032325C +/* 80323244 0031EEA4 48 02 6B BD */ bl gt2GetConnectionData +/* 80323248 0031EEA8 88 03 00 01 */ lbz r0, 1(r3) +/* 8032324C 0031EEAC 7C 1D 00 40 */ cmplw r29, r0 +/* 80323250 0031EEB0 40 82 00 0C */ bne lbl_8032325C +/* 80323254 0031EEB4 38 60 00 01 */ li r3, 1 +/* 80323258 0031EEB8 48 00 00 18 */ b lbl_80323270 +lbl_8032325C: +/* 8032325C 0031EEBC 3B DE 00 01 */ addi r30, r30, 1 +/* 80323260 0031EEC0 3B FF 00 04 */ addi r31, r31, 4 +/* 80323264 0031EEC4 2C 1E 00 20 */ cmpwi r30, 0x20 +/* 80323268 0031EEC8 41 80 FF D0 */ blt lbl_80323238 +/* 8032326C 0031EECC 38 60 00 00 */ li r3, 0 +lbl_80323270: +/* 80323270 0031EED0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80323274 0031EED4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80323278 0031EED8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8032327C 0031EEDC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80323280 0031EEE0 7C 08 03 A6 */ mtlr r0 +/* 80323284 0031EEE4 38 21 00 20 */ addi r1, r1, 0x20 +/* 80323288 0031EEE8 4E 80 00 20 */ blr + +.global func_8032328C +func_8032328C: +/* 8032328C 0031EEEC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80323290 0031EEF0 7C 08 02 A6 */ mflr r0 +/* 80323294 0031EEF4 2C 03 00 00 */ cmpwi r3, 0 +/* 80323298 0031EEF8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8032329C 0031EEFC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 803232A0 0031EF00 93 C1 00 18 */ stw r30, 0x18(r1) +/* 803232A4 0031EF04 93 A1 00 14 */ stw r29, 0x14(r1) +/* 803232A8 0031EF08 7C 7D 1B 78 */ mr r29, r3 +/* 803232AC 0031EF0C 40 82 00 0C */ bne lbl_803232B8 +/* 803232B0 0031EF10 38 60 00 00 */ li r3, 0 +/* 803232B4 0031EF14 48 00 01 34 */ b lbl_803233E8 +lbl_803232B8: +/* 803232B8 0031EF18 3C 80 80 44 */ lis r4, lbl_80447984@ha +/* 803232BC 0031EF1C 7F A5 EB 78 */ mr r5, r29 +/* 803232C0 0031EF20 38 84 79 84 */ addi r4, r4, lbl_80447984@l +/* 803232C4 0031EF24 38 60 00 02 */ li r3, 2 +/* 803232C8 0031EF28 4C C6 31 82 */ crclr 6 +/* 803232CC 0031EF2C 4B FF 98 69 */ bl func_8031CB34 +/* 803232D0 0031EF30 2C 1D 00 03 */ cmpwi r29, 3 +/* 803232D4 0031EF34 41 82 00 3C */ beq lbl_80323310 +/* 803232D8 0031EF38 40 80 00 14 */ bge lbl_803232EC +/* 803232DC 0031EF3C 2C 1D 00 01 */ cmpwi r29, 1 +/* 803232E0 0031EF40 41 82 00 18 */ beq lbl_803232F8 +/* 803232E4 0031EF44 40 80 00 20 */ bge lbl_80323304 +/* 803232E8 0031EF48 48 00 00 3C */ b lbl_80323324 +lbl_803232EC: +/* 803232EC 0031EF4C 2C 1D 00 05 */ cmpwi r29, 5 +/* 803232F0 0031EF50 40 80 00 34 */ bge lbl_80323324 +/* 803232F4 0031EF54 48 00 00 28 */ b lbl_8032331C +lbl_803232F8: +/* 803232F8 0031EF58 3B C0 00 09 */ li r30, 9 +/* 803232FC 0031EF5C 3B E0 FF FF */ li r31, -1 +/* 80323300 0031EF60 48 00 00 24 */ b lbl_80323324 +lbl_80323304: +/* 80323304 0031EF64 3B C0 00 09 */ li r30, 9 +/* 80323308 0031EF68 3B E0 FF FE */ li r31, -2 +/* 8032330C 0031EF6C 48 00 00 18 */ b lbl_80323324 +lbl_80323310: +/* 80323310 0031EF70 3B C0 00 06 */ li r30, 6 +/* 80323314 0031EF74 3B E0 FF F6 */ li r31, -10 +/* 80323318 0031EF78 48 00 00 0C */ b lbl_80323324 +lbl_8032331C: +/* 8032331C 0031EF7C 3B C0 00 06 */ li r30, 6 +/* 80323320 0031EF80 3B E0 FF EC */ li r31, -20 +lbl_80323324: +/* 80323324 0031EF84 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323328 0031EF88 80 03 00 24 */ lwz r0, 0x24(r3) +/* 8032332C 0031EF8C 2C 00 00 03 */ cmpwi r0, 3 +/* 80323330 0031EF90 41 82 00 A0 */ beq lbl_803233D0 +/* 80323334 0031EF94 40 80 00 14 */ bge lbl_80323348 +/* 80323338 0031EF98 2C 00 00 01 */ cmpwi r0, 1 +/* 8032333C 0031EF9C 41 82 00 1C */ beq lbl_80323358 +/* 80323340 0031EFA0 40 80 00 30 */ bge lbl_80323370 +/* 80323344 0031EFA4 48 00 00 8C */ b lbl_803233D0 +lbl_80323348: +/* 80323348 0031EFA8 2C 00 00 05 */ cmpwi r0, 5 +/* 8032334C 0031EFAC 41 82 00 60 */ beq lbl_803233AC +/* 80323350 0031EFB0 40 80 00 80 */ bge lbl_803233D0 +/* 80323354 0031EFB4 48 00 00 70 */ b lbl_803233C4 +lbl_80323358: +/* 80323358 0031EFB8 3F FF FF FF */ addis r31, r31, 0xffff +/* 8032335C 0031EFBC 7F C3 F3 78 */ mr r3, r30 +/* 80323360 0031EFC0 3B FF 11 B8 */ addi r31, r31, 0x11b8 +/* 80323364 0031EFC4 7F E4 FB 78 */ mr r4, r31 +/* 80323368 0031EFC8 4B FF DE 69 */ bl func_803211D0 +/* 8032336C 0031EFCC 48 00 00 6C */ b lbl_803233D8 +lbl_80323370: +/* 80323370 0031EFD0 80 03 00 9C */ lwz r0, 0x9c(r3) +/* 80323374 0031EFD4 3F FF FF FF */ addis r31, r31, 0xffff +/* 80323378 0031EFD8 3B FF 11 B8 */ addi r31, r31, 0x11b8 +/* 8032337C 0031EFDC 2C 00 00 01 */ cmpwi r0, 1 +/* 80323380 0031EFE0 40 80 00 14 */ bge lbl_80323394 +/* 80323384 0031EFE4 7F C3 F3 78 */ mr r3, r30 +/* 80323388 0031EFE8 7F E4 FB 78 */ mr r4, r31 +/* 8032338C 0031EFEC 4B FF DE 45 */ bl func_803211D0 +/* 80323390 0031EFF0 48 00 00 48 */ b lbl_803233D8 +lbl_80323394: +/* 80323394 0031EFF4 3C 80 80 44 */ lis r4, lbl_80447998@ha +/* 80323398 0031EFF8 38 60 00 02 */ li r3, 2 +/* 8032339C 0031EFFC 38 84 79 98 */ addi r4, r4, lbl_80447998@l +/* 803233A0 0031F000 4C C6 31 82 */ crclr 6 +/* 803233A4 0031F004 4B FF 97 91 */ bl func_8031CB34 +/* 803233A8 0031F008 48 00 00 30 */ b lbl_803233D8 +lbl_803233AC: +/* 803233AC 0031F00C 3F FF FF FF */ addis r31, r31, 0xffff +/* 803233B0 0031F010 7F C3 F3 78 */ mr r3, r30 +/* 803233B4 0031F014 3B FF C3 98 */ addi r31, r31, -15464 +/* 803233B8 0031F018 7F E4 FB 78 */ mr r4, r31 +/* 803233BC 0031F01C 48 00 3B 45 */ bl func_80326F00 +/* 803233C0 0031F020 48 00 00 18 */ b lbl_803233D8 +lbl_803233C4: +/* 803233C4 0031F024 3F FF FF FF */ addis r31, r31, 0xffff +/* 803233C8 0031F028 3B FF EA A8 */ addi r31, r31, -5464 +/* 803233CC 0031F02C 48 00 00 0C */ b lbl_803233D8 +lbl_803233D0: +/* 803233D0 0031F030 3F FF FF FF */ addis r31, r31, 0xffff +/* 803233D4 0031F034 3B FF 9C 88 */ addi r31, r31, -25464 +lbl_803233D8: +/* 803233D8 0031F038 7F C3 F3 78 */ mr r3, r30 +/* 803233DC 0031F03C 7F E4 FB 78 */ mr r4, r31 +/* 803233E0 0031F040 4B FF C4 11 */ bl func_8031F7F0 +/* 803233E4 0031F044 7F A3 EB 78 */ mr r3, r29 +lbl_803233E8: +/* 803233E8 0031F048 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803233EC 0031F04C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 803233F0 0031F050 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 803233F4 0031F054 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 803233F8 0031F058 7C 08 03 A6 */ mtlr r0 +/* 803233FC 0031F05C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80323400 0031F060 4E 80 00 20 */ blr + +.global func_80323404 +func_80323404: +/* 80323404 0031F064 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80323408 0031F068 7C 08 02 A6 */ mflr r0 +/* 8032340C 0031F06C 2C 03 00 00 */ cmpwi r3, 0 +/* 80323410 0031F070 90 01 00 14 */ stw r0, 0x14(r1) +/* 80323414 0031F074 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80323418 0031F078 7C 7F 1B 78 */ mr r31, r3 +/* 8032341C 0031F07C 40 82 00 0C */ bne lbl_80323428 +/* 80323420 0031F080 38 60 00 00 */ li r3, 0 +/* 80323424 0031F084 48 00 00 9C */ b lbl_803234C0 +lbl_80323428: +/* 80323428 0031F088 3C 80 80 44 */ lis r4, lbl_804479B4@ha +/* 8032342C 0031F08C 7F E5 FB 78 */ mr r5, r31 +/* 80323430 0031F090 38 84 79 B4 */ addi r4, r4, lbl_804479B4@l +/* 80323434 0031F094 38 60 00 02 */ li r3, 2 +/* 80323438 0031F098 4C C6 31 82 */ crclr 6 +/* 8032343C 0031F09C 4B FF 96 F9 */ bl func_8031CB34 +/* 80323440 0031F0A0 28 1F 00 07 */ cmplwi r31, 7 +/* 80323444 0031F0A4 41 81 00 64 */ bgt lbl_803234A8 +/* 80323448 0031F0A8 3C 80 80 44 */ lis r4, lbl_804479C8@ha +/* 8032344C 0031F0AC 57 E0 10 3A */ slwi r0, r31, 2 +/* 80323450 0031F0B0 38 84 79 C8 */ addi r4, r4, lbl_804479C8@l +/* 80323454 0031F0B4 7C 84 00 2E */ lwzx r4, r4, r0 +/* 80323458 0031F0B8 7C 89 03 A6 */ mtctr r4 +/* 8032345C 0031F0BC 4E 80 04 20 */ bctr +/* 80323460 0031F0C0 38 60 00 09 */ li r3, 9 +/* 80323464 0031F0C4 38 80 FF FF */ li r4, -1 +/* 80323468 0031F0C8 48 00 00 40 */ b lbl_803234A8 +/* 8032346C 0031F0CC 38 60 00 00 */ li r3, 0 +/* 80323470 0031F0D0 38 80 00 00 */ li r4, 0 +/* 80323474 0031F0D4 3B E0 00 00 */ li r31, 0 +/* 80323478 0031F0D8 48 00 00 30 */ b lbl_803234A8 +/* 8032347C 0031F0DC 38 60 00 06 */ li r3, 6 +/* 80323480 0031F0E0 38 80 FF F6 */ li r4, -10 +/* 80323484 0031F0E4 48 00 00 24 */ b lbl_803234A8 +/* 80323488 0031F0E8 38 60 00 06 */ li r3, 6 +/* 8032348C 0031F0EC 38 80 FF E2 */ li r4, -30 +/* 80323490 0031F0F0 48 00 00 18 */ b lbl_803234A8 +/* 80323494 0031F0F4 38 60 00 06 */ li r3, 6 +/* 80323498 0031F0F8 38 80 FF BA */ li r4, -70 +/* 8032349C 0031F0FC 48 00 00 0C */ b lbl_803234A8 +/* 803234A0 0031F100 38 60 00 06 */ li r3, 6 +/* 803234A4 0031F104 38 80 FF B0 */ li r4, -80 +lbl_803234A8: +/* 803234A8 0031F108 2C 03 00 00 */ cmpwi r3, 0 +/* 803234AC 0031F10C 41 82 00 10 */ beq lbl_803234BC +/* 803234B0 0031F110 3C 84 FF FF */ addis r4, r4, 0xffff +/* 803234B4 0031F114 38 84 FA 48 */ addi r4, r4, -1464 +/* 803234B8 0031F118 4B FF DD 19 */ bl func_803211D0 +lbl_803234BC: +/* 803234BC 0031F11C 7F E3 FB 78 */ mr r3, r31 +lbl_803234C0: +/* 803234C0 0031F120 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803234C4 0031F124 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803234C8 0031F128 7C 08 03 A6 */ mtlr r0 +/* 803234CC 0031F12C 38 21 00 10 */ addi r1, r1, 0x10 +/* 803234D0 0031F130 4E 80 00 20 */ blr +lbl_803234D4: +/* 803234D4 0031F134 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803234D8 0031F138 7C 08 02 A6 */ mflr r0 +/* 803234DC 0031F13C 2C 03 00 00 */ cmpwi r3, 0 +/* 803234E0 0031F140 90 01 00 14 */ stw r0, 0x14(r1) +/* 803234E4 0031F144 93 E1 00 0C */ stw r31, 0xc(r1) +/* 803234E8 0031F148 7C 9F 23 78 */ mr r31, r4 +/* 803234EC 0031F14C 93 C1 00 08 */ stw r30, 8(r1) +/* 803234F0 0031F150 7C 7E 1B 78 */ mr r30, r3 +/* 803234F4 0031F154 40 82 00 2C */ bne lbl_80323520 +/* 803234F8 0031F158 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803234FC 0031F15C 38 00 00 03 */ li r0, 3 +/* 80323500 0031F160 90 83 00 64 */ stw r4, 0x64(r3) +/* 80323504 0031F164 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80323508 0031F168 80 64 00 24 */ lwz r3, 0x24(r4) +/* 8032350C 0031F16C 90 64 00 28 */ stw r3, 0x28(r4) +/* 80323510 0031F170 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323514 0031F174 90 03 00 24 */ stw r0, 0x24(r3) +/* 80323518 0031F178 4B FF C6 F9 */ bl func_8031FC10 +/* 8032351C 0031F17C 48 00 00 1C */ b lbl_80323538 +lbl_80323520: +/* 80323520 0031F180 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80323524 0031F184 38 00 00 00 */ li r0, 0 +/* 80323528 0031F188 80 64 00 24 */ lwz r3, 0x24(r4) +/* 8032352C 0031F18C 90 64 00 28 */ stw r3, 0x28(r4) +/* 80323530 0031F190 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323534 0031F194 90 03 00 24 */ stw r0, 0x24(r3) +lbl_80323538: +/* 80323538 0031F198 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 8032353C 0031F19C 81 85 00 70 */ lwz r12, 0x70(r5) +/* 80323540 0031F1A0 2C 0C 00 00 */ cmpwi r12, 0 +/* 80323544 0031F1A4 41 82 00 18 */ beq lbl_8032355C +/* 80323548 0031F1A8 7F C3 F3 78 */ mr r3, r30 +/* 8032354C 0031F1AC 7F E4 FB 78 */ mr r4, r31 +/* 80323550 0031F1B0 80 A5 00 74 */ lwz r5, 0x74(r5) +/* 80323554 0031F1B4 7D 89 03 A6 */ mtctr r12 +/* 80323558 0031F1B8 4E 80 04 21 */ bctrl +lbl_8032355C: +/* 8032355C 0031F1BC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80323560 0031F1C0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80323564 0031F1C4 83 C1 00 08 */ lwz r30, 8(r1) +/* 80323568 0031F1C8 7C 08 03 A6 */ mtlr r0 +/* 8032356C 0031F1CC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80323570 0031F1D0 4E 80 00 20 */ blr +lbl_80323574: +/* 80323574 0031F1D4 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80323578 0031F1D8 80 C5 00 28 */ lwz r6, 0x28(r5) +/* 8032357C 0031F1DC 2C 06 00 04 */ cmpwi r6, 4 +/* 80323580 0031F1E0 41 82 00 14 */ beq lbl_80323594 +/* 80323584 0031F1E4 80 05 00 24 */ lwz r0, 0x24(r5) +/* 80323588 0031F1E8 90 05 00 28 */ stw r0, 0x28(r5) +/* 8032358C 0031F1EC 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80323590 0031F1F0 90 C5 00 24 */ stw r6, 0x24(r5) +lbl_80323594: +/* 80323594 0031F1F4 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80323598 0031F1F8 81 85 00 78 */ lwz r12, 0x78(r5) +/* 8032359C 0031F1FC 80 A5 00 7C */ lwz r5, 0x7c(r5) +/* 803235A0 0031F200 7D 89 03 A6 */ mtctr r12 +/* 803235A4 0031F204 4E 80 04 20 */ bctr +lbl_803235A8: +/* 803235A8 0031F208 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803235AC 0031F20C 7C 08 02 A6 */ mflr r0 +/* 803235B0 0031F210 90 01 00 24 */ stw r0, 0x24(r1) +/* 803235B4 0031F214 39 61 00 20 */ addi r11, r1, 0x20 +/* 803235B8 0031F218 4B EA 3B 6D */ bl _savegpr_26 +/* 803235BC 0031F21C 2C 03 00 00 */ cmpwi r3, 0 +/* 803235C0 0031F220 7C 7B 1B 78 */ mr r27, r3 +/* 803235C4 0031F224 7C 9C 23 78 */ mr r28, r4 +/* 803235C8 0031F228 7C BD 2B 78 */ mr r29, r5 +/* 803235CC 0031F22C 7C DE 33 78 */ mr r30, r6 +/* 803235D0 0031F230 7C FF 3B 78 */ mr r31, r7 +/* 803235D4 0031F234 40 82 00 3C */ bne lbl_80323610 +/* 803235D8 0031F238 2C 04 00 00 */ cmpwi r4, 0 +/* 803235DC 0031F23C 41 82 00 34 */ beq lbl_80323610 +/* 803235E0 0031F240 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803235E4 0031F244 80 03 05 04 */ lwz r0, 0x504(r3) +/* 803235E8 0031F248 2C 00 00 00 */ cmpwi r0, 0 +/* 803235EC 0031F24C 40 82 00 94 */ bne lbl_80323680 +/* 803235F0 0031F250 48 00 3A 9D */ bl func_8032708C +/* 803235F4 0031F254 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 803235F8 0031F258 38 00 00 03 */ li r0, 3 +/* 803235FC 0031F25C 80 64 00 24 */ lwz r3, 0x24(r4) +/* 80323600 0031F260 90 64 00 28 */ stw r3, 0x28(r4) +/* 80323604 0031F264 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323608 0031F268 90 03 00 24 */ stw r0, 0x24(r3) +/* 8032360C 0031F26C 48 00 00 74 */ b lbl_80323680 +lbl_80323610: +/* 80323610 0031F270 2C 03 00 00 */ cmpwi r3, 0 +/* 80323614 0031F274 40 82 00 6C */ bne lbl_80323680 +/* 80323618 0031F278 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 8032361C 0031F27C 38 00 00 06 */ li r0, 6 +/* 80323620 0031F280 38 C0 00 00 */ li r6, 0 +/* 80323624 0031F284 80 64 00 24 */ lwz r3, 0x24(r4) +/* 80323628 0031F288 90 64 00 28 */ stw r3, 0x28(r4) +/* 8032362C 0031F28C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323630 0031F290 90 03 00 24 */ stw r0, 0x24(r3) +/* 80323634 0031F294 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80323638 0031F298 88 65 03 6D */ lbz r3, 0x36d(r5) +/* 8032363C 0031F29C 7C A4 2B 78 */ mr r4, r5 +/* 80323640 0031F2A0 38 03 00 01 */ addi r0, r3, 1 +/* 80323644 0031F2A4 7C 09 03 A6 */ mtctr r0 +/* 80323648 0031F2A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032364C 0031F2AC 41 80 00 34 */ blt lbl_80323680 +lbl_80323650: +/* 80323650 0031F2B0 80 65 00 64 */ lwz r3, 0x64(r5) +/* 80323654 0031F2B4 80 04 04 58 */ lwz r0, 0x458(r4) +/* 80323658 0031F2B8 7C 03 00 00 */ cmpw r3, r0 +/* 8032365C 0031F2BC 40 82 00 18 */ bne lbl_80323674 +/* 80323660 0031F2C0 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80323664 0031F2C4 7C 64 32 14 */ add r3, r4, r6 +/* 80323668 0031F2C8 88 03 06 40 */ lbz r0, 0x640(r3) +/* 8032366C 0031F2CC 98 04 00 2C */ stb r0, 0x2c(r4) +/* 80323670 0031F2D0 48 00 00 10 */ b lbl_80323680 +lbl_80323674: +/* 80323674 0031F2D4 38 84 00 04 */ addi r4, r4, 4 +/* 80323678 0031F2D8 38 C6 00 01 */ addi r6, r6, 1 +/* 8032367C 0031F2DC 42 00 FF D4 */ bdnz lbl_80323650 +lbl_80323680: +/* 80323680 0031F2E0 80 CD B0 58 */ lwz r6, lbl_80640318-_SDA_BASE_(r13) +/* 80323684 0031F2E4 38 A0 00 00 */ li r5, 0 +/* 80323688 0031F2E8 38 80 00 00 */ li r4, 0 +/* 8032368C 0031F2EC 88 66 03 6D */ lbz r3, 0x36d(r6) +/* 80323690 0031F2F0 38 06 06 40 */ addi r0, r6, 0x640 +/* 80323694 0031F2F4 38 63 00 01 */ addi r3, r3, 1 +/* 80323698 0031F2F8 2C 83 00 00 */ cmpwi cr1, r3, 0 +/* 8032369C 0031F2FC 40 85 00 E4 */ ble cr1, lbl_80323780 +/* 803236A0 0031F300 2C 03 00 08 */ cmpwi r3, 8 +/* 803236A4 0031F304 38 E3 FF F8 */ addi r7, r3, -8 +/* 803236A8 0031F308 40 81 00 AC */ ble lbl_80323754 +/* 803236AC 0031F30C 39 00 00 00 */ li r8, 0 +/* 803236B0 0031F310 41 84 00 18 */ blt cr1, lbl_803236C8 +/* 803236B4 0031F314 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha +/* 803236B8 0031F318 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l +/* 803236BC 0031F31C 7C 03 30 00 */ cmpw r3, r6 +/* 803236C0 0031F320 41 81 00 08 */ bgt lbl_803236C8 +/* 803236C4 0031F324 39 00 00 01 */ li r8, 1 +lbl_803236C8: +/* 803236C8 0031F328 2C 08 00 00 */ cmpwi r8, 0 +/* 803236CC 0031F32C 41 82 00 88 */ beq lbl_80323754 +/* 803236D0 0031F330 38 C7 00 07 */ addi r6, r7, 7 +/* 803236D4 0031F334 39 80 00 01 */ li r12, 1 +/* 803236D8 0031F338 54 C6 E8 FE */ srwi r6, r6, 3 +/* 803236DC 0031F33C 7C C9 03 A6 */ mtctr r6 +/* 803236E0 0031F340 2C 07 00 00 */ cmpwi r7, 0 +/* 803236E4 0031F344 40 81 00 70 */ ble lbl_80323754 +lbl_803236E8: +/* 803236E8 0031F348 7F 40 22 14 */ add r26, r0, r4 +/* 803236EC 0031F34C 7C C4 00 AE */ lbzx r6, r4, r0 +/* 803236F0 0031F350 88 FA 00 01 */ lbz r7, 1(r26) +/* 803236F4 0031F354 38 84 00 08 */ addi r4, r4, 8 +/* 803236F8 0031F358 7D 88 30 30 */ slw r8, r12, r6 +/* 803236FC 0031F35C 88 DA 00 02 */ lbz r6, 2(r26) +/* 80323700 0031F360 89 5A 00 03 */ lbz r10, 3(r26) +/* 80323704 0031F364 7C A5 43 78 */ or r5, r5, r8 +/* 80323708 0031F368 7D 87 38 30 */ slw r7, r12, r7 +/* 8032370C 0031F36C 89 3A 00 04 */ lbz r9, 4(r26) +/* 80323710 0031F370 7C A5 3B 78 */ or r5, r5, r7 +/* 80323714 0031F374 7D 8B 30 30 */ slw r11, r12, r6 +/* 80323718 0031F378 89 1A 00 05 */ lbz r8, 5(r26) +/* 8032371C 0031F37C 7C A5 5B 78 */ or r5, r5, r11 +/* 80323720 0031F380 7D 8A 50 30 */ slw r10, r12, r10 +/* 80323724 0031F384 88 FA 00 06 */ lbz r7, 6(r26) +/* 80323728 0031F388 88 DA 00 07 */ lbz r6, 7(r26) +/* 8032372C 0031F38C 7D 89 48 30 */ slw r9, r12, r9 +/* 80323730 0031F390 7C A5 53 78 */ or r5, r5, r10 +/* 80323734 0031F394 7D 88 40 30 */ slw r8, r12, r8 +/* 80323738 0031F398 7C A5 4B 78 */ or r5, r5, r9 +/* 8032373C 0031F39C 7D 87 38 30 */ slw r7, r12, r7 +/* 80323740 0031F3A0 7C A5 43 78 */ or r5, r5, r8 +/* 80323744 0031F3A4 7D 86 30 30 */ slw r6, r12, r6 +/* 80323748 0031F3A8 7C A5 3B 78 */ or r5, r5, r7 +/* 8032374C 0031F3AC 7C A5 33 78 */ or r5, r5, r6 +/* 80323750 0031F3B0 42 00 FF 98 */ bdnz lbl_803236E8 +lbl_80323754: +/* 80323754 0031F3B4 7C C4 18 50 */ subf r6, r4, r3 +/* 80323758 0031F3B8 7C E0 22 14 */ add r7, r0, r4 +/* 8032375C 0031F3BC 39 00 00 01 */ li r8, 1 +/* 80323760 0031F3C0 7C C9 03 A6 */ mtctr r6 +/* 80323764 0031F3C4 7C 04 18 00 */ cmpw r4, r3 +/* 80323768 0031F3C8 40 80 00 18 */ bge lbl_80323780 +lbl_8032376C: +/* 8032376C 0031F3CC 88 07 00 00 */ lbz r0, 0(r7) +/* 80323770 0031F3D0 38 E7 00 01 */ addi r7, r7, 1 +/* 80323774 0031F3D4 7D 00 00 30 */ slw r0, r8, r0 +/* 80323778 0031F3D8 7C A5 03 78 */ or r5, r5, r0 +/* 8032377C 0031F3DC 42 00 FF F0 */ bdnz lbl_8032376C +lbl_80323780: +/* 80323780 0031F3E0 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323784 0031F3E4 90 A3 06 60 */ stw r5, 0x660(r3) +/* 80323788 0031F3E8 48 00 44 71 */ bl func_80327BF8 +/* 8032378C 0031F3EC 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 80323790 0031F3F0 88 05 03 75 */ lbz r0, 0x375(r5) +/* 80323794 0031F3F4 28 00 00 02 */ cmplwi r0, 2 +/* 80323798 0031F3F8 41 82 00 10 */ beq lbl_803237A8 +/* 8032379C 0031F3FC 88 05 03 75 */ lbz r0, 0x375(r5) +/* 803237A0 0031F400 28 00 00 03 */ cmplwi r0, 3 +/* 803237A4 0031F404 40 82 00 30 */ bne lbl_803237D4 +lbl_803237A8: +/* 803237A8 0031F408 81 0D B0 58 */ lwz r8, lbl_80640318-_SDA_BASE_(r13) +/* 803237AC 0031F40C 7F 63 DB 78 */ mr r3, r27 +/* 803237B0 0031F410 7F 84 E3 78 */ mr r4, r28 +/* 803237B4 0031F414 7F A5 EB 78 */ mr r5, r29 +/* 803237B8 0031F418 81 88 00 88 */ lwz r12, 0x88(r8) +/* 803237BC 0031F41C 7F C6 F3 78 */ mr r6, r30 +/* 803237C0 0031F420 7F E7 FB 78 */ mr r7, r31 +/* 803237C4 0031F424 81 08 00 8C */ lwz r8, 0x8c(r8) +/* 803237C8 0031F428 7D 89 03 A6 */ mtctr r12 +/* 803237CC 0031F42C 4E 80 04 21 */ bctrl +/* 803237D0 0031F430 48 00 00 1C */ b lbl_803237EC +lbl_803237D4: +/* 803237D4 0031F434 81 85 00 80 */ lwz r12, 0x80(r5) +/* 803237D8 0031F438 7F 63 DB 78 */ mr r3, r27 +/* 803237DC 0031F43C 7F 84 E3 78 */ mr r4, r28 +/* 803237E0 0031F440 80 A5 00 84 */ lwz r5, 0x84(r5) +/* 803237E4 0031F444 7D 89 03 A6 */ mtctr r12 +/* 803237E8 0031F448 4E 80 04 21 */ bctrl +lbl_803237EC: +/* 803237EC 0031F44C 2C 1B 00 00 */ cmpwi r27, 0 +/* 803237F0 0031F450 41 82 00 2C */ beq lbl_8032381C +/* 803237F4 0031F454 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803237F8 0031F458 2C 03 00 00 */ cmpwi r3, 0 +/* 803237FC 0031F45C 41 82 00 20 */ beq lbl_8032381C +/* 80323800 0031F460 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80323804 0031F464 2C 00 00 05 */ cmpwi r0, 5 +/* 80323808 0031F468 40 82 00 14 */ bne lbl_8032381C +/* 8032380C 0031F46C 90 03 00 28 */ stw r0, 0x28(r3) +/* 80323810 0031F470 38 00 00 03 */ li r0, 3 +/* 80323814 0031F474 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323818 0031F478 90 03 00 24 */ stw r0, 0x24(r3) +lbl_8032381C: +/* 8032381C 0031F47C 39 61 00 20 */ addi r11, r1, 0x20 +/* 80323820 0031F480 4B EA 39 51 */ bl _restgpr_26 +/* 80323824 0031F484 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80323828 0031F488 7C 08 03 A6 */ mtlr r0 +/* 8032382C 0031F48C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80323830 0031F490 4E 80 00 20 */ blr +lbl_80323834: +/* 80323834 0031F494 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80323838 0031F498 7C 08 02 A6 */ mflr r0 +/* 8032383C 0031F49C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80323840 0031F4A0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80323844 0031F4A4 3F E0 80 44 */ lis r31, lbl_80447648@ha +/* 80323848 0031F4A8 3B FF 76 48 */ addi r31, r31, lbl_80447648@l +/* 8032384C 0031F4AC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80323850 0031F4B0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80323854 0031F4B4 93 81 00 10 */ stw r28, 0x10(r1) +/* 80323858 0031F4B8 7C 9C 23 78 */ mr r28, r4 +/* 8032385C 0031F4BC 80 A4 00 04 */ lwz r5, 4(r4) +/* 80323860 0031F4C0 2C 05 06 03 */ cmpwi r5, 0x603 +/* 80323864 0031F4C4 41 82 00 14 */ beq lbl_80323878 +/* 80323868 0031F4C8 2C 05 09 01 */ cmpwi r5, 0x901 +/* 8032386C 0031F4CC 41 82 00 0C */ beq lbl_80323878 +/* 80323870 0031F4D0 2C 05 0B 01 */ cmpwi r5, 0xb01 +/* 80323874 0031F4D4 40 82 00 18 */ bne lbl_8032388C +lbl_80323878: +/* 80323878 0031F4D8 38 9F 03 A0 */ addi r4, r31, 0x3a0 +/* 8032387C 0031F4DC 38 60 00 04 */ li r3, 4 +/* 80323880 0031F4E0 4C C6 31 82 */ crclr 6 +/* 80323884 0031F4E4 4B FF 92 B1 */ bl func_8031CB34 +/* 80323888 0031F4E8 48 00 03 FC */ b lbl_80323C84 +lbl_8032388C: +/* 8032388C 0031F4EC 80 04 00 00 */ lwz r0, 0(r4) +/* 80323890 0031F4F0 2C 00 00 02 */ cmpwi r0, 2 +/* 80323894 0031F4F4 41 82 00 38 */ beq lbl_803238CC +/* 80323898 0031F4F8 40 80 00 14 */ bge lbl_803238AC +/* 8032389C 0031F4FC 2C 00 00 00 */ cmpwi r0, 0 +/* 803238A0 0031F500 41 82 00 1C */ beq lbl_803238BC +/* 803238A4 0031F504 40 80 00 20 */ bge lbl_803238C4 +/* 803238A8 0031F508 48 00 00 3C */ b lbl_803238E4 +lbl_803238AC: +/* 803238AC 0031F50C 2C 00 00 04 */ cmpwi r0, 4 +/* 803238B0 0031F510 41 82 00 2C */ beq lbl_803238DC +/* 803238B4 0031F514 40 80 00 30 */ bge lbl_803238E4 +/* 803238B8 0031F518 48 00 00 1C */ b lbl_803238D4 +lbl_803238BC: +/* 803238BC 0031F51C 3B BF 03 CC */ addi r29, r31, 0x3cc +/* 803238C0 0031F520 48 00 00 28 */ b lbl_803238E8 +lbl_803238C4: +/* 803238C4 0031F524 3B BF 03 D8 */ addi r29, r31, 0x3d8 +/* 803238C8 0031F528 48 00 00 20 */ b lbl_803238E8 +lbl_803238CC: +/* 803238CC 0031F52C 3B BF 03 E8 */ addi r29, r31, 0x3e8 +/* 803238D0 0031F530 48 00 00 18 */ b lbl_803238E8 +lbl_803238D4: +/* 803238D4 0031F534 3B BF 03 FC */ addi r29, r31, 0x3fc +/* 803238D8 0031F538 48 00 00 10 */ b lbl_803238E8 +lbl_803238DC: +/* 803238DC 0031F53C 3B BF 04 10 */ addi r29, r31, 0x410 +/* 803238E0 0031F540 48 00 00 08 */ b lbl_803238E8 +lbl_803238E4: +/* 803238E4 0031F544 3B BF 04 20 */ addi r29, r31, 0x420 +lbl_803238E8: +/* 803238E8 0031F548 2C 05 04 02 */ cmpwi r5, 0x402 +/* 803238EC 0031F54C 41 82 02 70 */ beq lbl_80323B5C +/* 803238F0 0031F550 40 80 00 D4 */ bge lbl_803239C4 +/* 803238F4 0031F554 2C 05 01 04 */ cmpwi r5, 0x104 +/* 803238F8 0031F558 41 82 02 04 */ beq lbl_80323AFC +/* 803238FC 0031F55C 40 80 00 68 */ bge lbl_80323964 +/* 80323900 0031F560 2C 05 00 06 */ cmpwi r5, 6 +/* 80323904 0031F564 41 82 01 C8 */ beq lbl_80323ACC +/* 80323908 0031F568 40 80 00 30 */ bge lbl_80323938 +/* 8032390C 0031F56C 2C 05 00 02 */ cmpwi r5, 2 +/* 80323910 0031F570 41 82 01 9C */ beq lbl_80323AAC +/* 80323914 0031F574 40 80 00 14 */ bge lbl_80323928 +/* 80323918 0031F578 2C 05 00 00 */ cmpwi r5, 0 +/* 8032391C 0031F57C 41 82 01 80 */ beq lbl_80323A9C +/* 80323920 0031F580 40 80 01 84 */ bge lbl_80323AA4 +/* 80323924 0031F584 48 00 02 E0 */ b lbl_80323C04 +lbl_80323928: +/* 80323928 0031F588 2C 05 00 04 */ cmpwi r5, 4 +/* 8032392C 0031F58C 41 82 01 90 */ beq lbl_80323ABC +/* 80323930 0031F590 40 80 01 94 */ bge lbl_80323AC4 +/* 80323934 0031F594 48 00 01 80 */ b lbl_80323AB4 +lbl_80323938: +/* 80323938 0031F598 2C 05 01 01 */ cmpwi r5, 0x101 +/* 8032393C 0031F59C 41 82 01 A8 */ beq lbl_80323AE4 +/* 80323940 0031F5A0 40 80 00 18 */ bge lbl_80323958 +/* 80323944 0031F5A4 2C 05 01 00 */ cmpwi r5, 0x100 +/* 80323948 0031F5A8 40 80 01 94 */ bge lbl_80323ADC +/* 8032394C 0031F5AC 2C 05 00 08 */ cmpwi r5, 8 +/* 80323950 0031F5B0 40 80 02 B4 */ bge lbl_80323C04 +/* 80323954 0031F5B4 48 00 01 80 */ b lbl_80323AD4 +lbl_80323958: +/* 80323958 0031F5B8 2C 05 01 03 */ cmpwi r5, 0x103 +/* 8032395C 0031F5BC 40 80 01 98 */ bge lbl_80323AF4 +/* 80323960 0031F5C0 48 00 01 8C */ b lbl_80323AEC +lbl_80323964: +/* 80323964 0031F5C4 2C 05 02 02 */ cmpwi r5, 0x202 +/* 80323968 0031F5C8 41 82 01 CC */ beq lbl_80323B34 +/* 8032396C 0031F5CC 40 80 00 30 */ bge lbl_8032399C +/* 80323970 0031F5D0 2C 05 01 08 */ cmpwi r5, 0x108 +/* 80323974 0031F5D4 41 82 01 A8 */ beq lbl_80323B1C +/* 80323978 0031F5D8 40 80 00 14 */ bge lbl_8032398C +/* 8032397C 0031F5DC 2C 05 01 06 */ cmpwi r5, 0x106 +/* 80323980 0031F5E0 41 82 01 8C */ beq lbl_80323B0C +/* 80323984 0031F5E4 40 80 01 90 */ bge lbl_80323B14 +/* 80323988 0031F5E8 48 00 01 7C */ b lbl_80323B04 +lbl_8032398C: +/* 8032398C 0031F5EC 2C 05 02 00 */ cmpwi r5, 0x200 +/* 80323990 0031F5F0 41 82 01 94 */ beq lbl_80323B24 +/* 80323994 0031F5F4 40 80 01 98 */ bge lbl_80323B2C +/* 80323998 0031F5F8 48 00 02 6C */ b lbl_80323C04 +lbl_8032399C: +/* 8032399C 0031F5FC 2C 05 03 01 */ cmpwi r5, 0x301 +/* 803239A0 0031F600 41 82 01 A4 */ beq lbl_80323B44 +/* 803239A4 0031F604 40 80 00 10 */ bge lbl_803239B4 +/* 803239A8 0031F608 2C 05 03 00 */ cmpwi r5, 0x300 +/* 803239AC 0031F60C 40 80 01 90 */ bge lbl_80323B3C +/* 803239B0 0031F610 48 00 02 54 */ b lbl_80323C04 +lbl_803239B4: +/* 803239B4 0031F614 2C 05 04 00 */ cmpwi r5, 0x400 +/* 803239B8 0031F618 41 82 01 94 */ beq lbl_80323B4C +/* 803239BC 0031F61C 40 80 01 98 */ bge lbl_80323B54 +/* 803239C0 0031F620 48 00 02 44 */ b lbl_80323C04 +lbl_803239C4: +/* 803239C4 0031F624 2C 05 09 00 */ cmpwi r5, 0x900 +/* 803239C8 0031F628 41 82 01 EC */ beq lbl_80323BB4 +/* 803239CC 0031F62C 40 80 00 68 */ bge lbl_80323A34 +/* 803239D0 0031F630 2C 05 06 03 */ cmpwi r5, 0x603 +/* 803239D4 0031F634 41 82 01 B8 */ beq lbl_80323B8C +/* 803239D8 0031F638 40 80 00 34 */ bge lbl_80323A0C +/* 803239DC 0031F63C 2C 05 06 00 */ cmpwi r5, 0x600 +/* 803239E0 0031F640 41 82 01 94 */ beq lbl_80323B74 +/* 803239E4 0031F644 40 80 00 1C */ bge lbl_80323A00 +/* 803239E8 0031F648 2C 05 05 01 */ cmpwi r5, 0x501 +/* 803239EC 0031F64C 41 82 01 80 */ beq lbl_80323B6C +/* 803239F0 0031F650 40 80 02 14 */ bge lbl_80323C04 +/* 803239F4 0031F654 2C 05 05 00 */ cmpwi r5, 0x500 +/* 803239F8 0031F658 40 80 01 6C */ bge lbl_80323B64 +/* 803239FC 0031F65C 48 00 02 08 */ b lbl_80323C04 +lbl_80323A00: +/* 80323A00 0031F660 2C 05 06 02 */ cmpwi r5, 0x602 +/* 80323A04 0031F664 40 80 01 80 */ bge lbl_80323B84 +/* 80323A08 0031F668 48 00 01 74 */ b lbl_80323B7C +lbl_80323A0C: +/* 80323A0C 0031F66C 2C 05 07 02 */ cmpwi r5, 0x702 +/* 80323A10 0031F670 41 82 01 94 */ beq lbl_80323BA4 +/* 80323A14 0031F674 40 80 00 14 */ bge lbl_80323A28 +/* 80323A18 0031F678 2C 05 07 00 */ cmpwi r5, 0x700 +/* 80323A1C 0031F67C 41 82 01 78 */ beq lbl_80323B94 +/* 80323A20 0031F680 40 80 01 7C */ bge lbl_80323B9C +/* 80323A24 0031F684 48 00 01 E0 */ b lbl_80323C04 +lbl_80323A28: +/* 80323A28 0031F688 2C 05 08 00 */ cmpwi r5, 0x800 +/* 80323A2C 0031F68C 41 82 01 80 */ beq lbl_80323BAC +/* 80323A30 0031F690 48 00 01 D4 */ b lbl_80323C04 +lbl_80323A34: +/* 80323A34 0031F694 2C 05 0B 01 */ cmpwi r5, 0xb01 +/* 80323A38 0031F698 41 82 01 A4 */ beq lbl_80323BDC +/* 80323A3C 0031F69C 40 80 00 30 */ bge lbl_80323A6C +/* 80323A40 0031F6A0 2C 05 0A 01 */ cmpwi r5, 0xa01 +/* 80323A44 0031F6A4 41 82 01 88 */ beq lbl_80323BCC +/* 80323A48 0031F6A8 40 80 00 18 */ bge lbl_80323A60 +/* 80323A4C 0031F6AC 2C 05 0A 00 */ cmpwi r5, 0xa00 +/* 80323A50 0031F6B0 40 80 01 74 */ bge lbl_80323BC4 +/* 80323A54 0031F6B4 2C 05 09 02 */ cmpwi r5, 0x902 +/* 80323A58 0031F6B8 40 80 01 AC */ bge lbl_80323C04 +/* 80323A5C 0031F6BC 48 00 01 60 */ b lbl_80323BBC +lbl_80323A60: +/* 80323A60 0031F6C0 2C 05 0B 00 */ cmpwi r5, 0xb00 +/* 80323A64 0031F6C4 40 80 01 70 */ bge lbl_80323BD4 +/* 80323A68 0031F6C8 48 00 01 9C */ b lbl_80323C04 +lbl_80323A6C: +/* 80323A6C 0031F6CC 2C 05 0D 00 */ cmpwi r5, 0xd00 +/* 80323A70 0031F6D0 41 82 01 84 */ beq lbl_80323BF4 +/* 80323A74 0031F6D4 40 80 00 1C */ bge lbl_80323A90 +/* 80323A78 0031F6D8 2C 05 0C 01 */ cmpwi r5, 0xc01 +/* 80323A7C 0031F6DC 41 82 01 70 */ beq lbl_80323BEC +/* 80323A80 0031F6E0 40 80 01 84 */ bge lbl_80323C04 +/* 80323A84 0031F6E4 2C 05 0C 00 */ cmpwi r5, 0xc00 +/* 80323A88 0031F6E8 40 80 01 5C */ bge lbl_80323BE4 +/* 80323A8C 0031F6EC 48 00 01 78 */ b lbl_80323C04 +lbl_80323A90: +/* 80323A90 0031F6F0 2C 05 0D 02 */ cmpwi r5, 0xd02 +/* 80323A94 0031F6F4 40 80 01 70 */ bge lbl_80323C04 +/* 80323A98 0031F6F8 48 00 01 64 */ b lbl_80323BFC +lbl_80323A9C: +/* 80323A9C 0031F6FC 3B DF 04 34 */ addi r30, r31, 0x434 +/* 80323AA0 0031F700 48 00 01 68 */ b lbl_80323C08 +lbl_80323AA4: +/* 80323AA4 0031F704 3B DF 04 40 */ addi r30, r31, 0x440 +/* 80323AA8 0031F708 48 00 01 60 */ b lbl_80323C08 +lbl_80323AAC: +/* 80323AAC 0031F70C 3B DF 04 4C */ addi r30, r31, 0x44c +/* 80323AB0 0031F710 48 00 01 58 */ b lbl_80323C08 +lbl_80323AB4: +/* 80323AB4 0031F714 3B DF 04 60 */ addi r30, r31, 0x460 +/* 80323AB8 0031F718 48 00 01 50 */ b lbl_80323C08 +lbl_80323ABC: +/* 80323ABC 0031F71C 3B DF 04 70 */ addi r30, r31, 0x470 +/* 80323AC0 0031F720 48 00 01 48 */ b lbl_80323C08 +lbl_80323AC4: +/* 80323AC4 0031F724 3B DF 04 7C */ addi r30, r31, 0x47c +/* 80323AC8 0031F728 48 00 01 40 */ b lbl_80323C08 +lbl_80323ACC: +/* 80323ACC 0031F72C 3B DF 04 88 */ addi r30, r31, 0x488 +/* 80323AD0 0031F730 48 00 01 38 */ b lbl_80323C08 +lbl_80323AD4: +/* 80323AD4 0031F734 3B DF 04 A0 */ addi r30, r31, 0x4a0 +/* 80323AD8 0031F738 48 00 01 30 */ b lbl_80323C08 +lbl_80323ADC: +/* 80323ADC 0031F73C 3B DF 04 B8 */ addi r30, r31, 0x4b8 +/* 80323AE0 0031F740 48 00 01 28 */ b lbl_80323C08 +lbl_80323AE4: +/* 80323AE4 0031F744 3B DF 04 C4 */ addi r30, r31, 0x4c4 +/* 80323AE8 0031F748 48 00 01 20 */ b lbl_80323C08 +lbl_80323AEC: +/* 80323AEC 0031F74C 3B DF 04 D8 */ addi r30, r31, 0x4d8 +/* 80323AF0 0031F750 48 00 01 18 */ b lbl_80323C08 +lbl_80323AF4: +/* 80323AF4 0031F754 3B DF 04 EC */ addi r30, r31, 0x4ec +/* 80323AF8 0031F758 48 00 01 10 */ b lbl_80323C08 +lbl_80323AFC: +/* 80323AFC 0031F75C 3B DF 05 00 */ addi r30, r31, 0x500 +/* 80323B00 0031F760 48 00 01 08 */ b lbl_80323C08 +lbl_80323B04: +/* 80323B04 0031F764 3B DF 05 18 */ addi r30, r31, 0x518 +/* 80323B08 0031F768 48 00 01 00 */ b lbl_80323C08 +lbl_80323B0C: +/* 80323B0C 0031F76C 3B DF 05 30 */ addi r30, r31, 0x530 +/* 80323B10 0031F770 48 00 00 F8 */ b lbl_80323C08 +lbl_80323B14: +/* 80323B14 0031F774 3B DF 05 4C */ addi r30, r31, 0x54c +/* 80323B18 0031F778 48 00 00 F0 */ b lbl_80323C08 +lbl_80323B1C: +/* 80323B1C 0031F77C 3B DF 05 68 */ addi r30, r31, 0x568 +/* 80323B20 0031F780 48 00 00 E8 */ b lbl_80323C08 +lbl_80323B24: +/* 80323B24 0031F784 3B DF 05 84 */ addi r30, r31, 0x584 +/* 80323B28 0031F788 48 00 00 E0 */ b lbl_80323C08 +lbl_80323B2C: +/* 80323B2C 0031F78C 3B DF 05 90 */ addi r30, r31, 0x590 +/* 80323B30 0031F790 48 00 00 D8 */ b lbl_80323C08 +lbl_80323B34: +/* 80323B34 0031F794 3B DF 05 A8 */ addi r30, r31, 0x5a8 +/* 80323B38 0031F798 48 00 00 D0 */ b lbl_80323C08 +lbl_80323B3C: +/* 80323B3C 0031F79C 3B DF 05 C0 */ addi r30, r31, 0x5c0 +/* 80323B40 0031F7A0 48 00 00 C8 */ b lbl_80323C08 +lbl_80323B44: +/* 80323B44 0031F7A4 3B DF 05 CC */ addi r30, r31, 0x5cc +/* 80323B48 0031F7A8 48 00 00 C0 */ b lbl_80323C08 +lbl_80323B4C: +/* 80323B4C 0031F7AC 3B DF 05 E4 */ addi r30, r31, 0x5e4 +/* 80323B50 0031F7B0 48 00 00 B8 */ b lbl_80323C08 +lbl_80323B54: +/* 80323B54 0031F7B4 3B DF 05 F4 */ addi r30, r31, 0x5f4 +/* 80323B58 0031F7B8 48 00 00 B0 */ b lbl_80323C08 +lbl_80323B5C: +/* 80323B5C 0031F7BC 3B DF 06 0C */ addi r30, r31, 0x60c +/* 80323B60 0031F7C0 48 00 00 A8 */ b lbl_80323C08 +lbl_80323B64: +/* 80323B64 0031F7C4 3B DF 06 28 */ addi r30, r31, 0x628 +/* 80323B68 0031F7C8 48 00 00 A0 */ b lbl_80323C08 +lbl_80323B6C: +/* 80323B6C 0031F7CC 3B DF 06 38 */ addi r30, r31, 0x638 +/* 80323B70 0031F7D0 48 00 00 98 */ b lbl_80323C08 +lbl_80323B74: +/* 80323B74 0031F7D4 3B DF 06 50 */ addi r30, r31, 0x650 +/* 80323B78 0031F7D8 48 00 00 90 */ b lbl_80323C08 +lbl_80323B7C: +/* 80323B7C 0031F7DC 3B DF 06 5C */ addi r30, r31, 0x65c +/* 80323B80 0031F7E0 48 00 00 88 */ b lbl_80323C08 +lbl_80323B84: +/* 80323B84 0031F7E4 3B DF 06 74 */ addi r30, r31, 0x674 +/* 80323B88 0031F7E8 48 00 00 80 */ b lbl_80323C08 +lbl_80323B8C: +/* 80323B8C 0031F7EC 3B DF 06 88 */ addi r30, r31, 0x688 +/* 80323B90 0031F7F0 48 00 00 78 */ b lbl_80323C08 +lbl_80323B94: +/* 80323B94 0031F7F4 3B DF 06 A4 */ addi r30, r31, 0x6a4 +/* 80323B98 0031F7F8 48 00 00 70 */ b lbl_80323C08 +lbl_80323B9C: +/* 80323B9C 0031F7FC 3B DF 06 B0 */ addi r30, r31, 0x6b0 +/* 80323BA0 0031F800 48 00 00 68 */ b lbl_80323C08 +lbl_80323BA4: +/* 80323BA4 0031F804 3B DF 06 C4 */ addi r30, r31, 0x6c4 +/* 80323BA8 0031F808 48 00 00 60 */ b lbl_80323C08 +lbl_80323BAC: +/* 80323BAC 0031F80C 3B DF 06 D8 */ addi r30, r31, 0x6d8 +/* 80323BB0 0031F810 48 00 00 58 */ b lbl_80323C08 +lbl_80323BB4: +/* 80323BB4 0031F814 3B CD 8D 8C */ addi r30, r13, lbl_8063E04C-_SDA_BASE_ +/* 80323BB8 0031F818 48 00 00 50 */ b lbl_80323C08 +lbl_80323BBC: +/* 80323BBC 0031F81C 3B DF 06 E8 */ addi r30, r31, 0x6e8 +/* 80323BC0 0031F820 48 00 00 48 */ b lbl_80323C08 +lbl_80323BC4: +/* 80323BC4 0031F824 3B DF 06 F8 */ addi r30, r31, 0x6f8 +/* 80323BC8 0031F828 48 00 00 40 */ b lbl_80323C08 +lbl_80323BCC: +/* 80323BCC 0031F82C 3B DF 07 08 */ addi r30, r31, 0x708 +/* 80323BD0 0031F830 48 00 00 38 */ b lbl_80323C08 +lbl_80323BD4: +/* 80323BD4 0031F834 3B DF 07 24 */ addi r30, r31, 0x724 +/* 80323BD8 0031F838 48 00 00 30 */ b lbl_80323C08 +lbl_80323BDC: +/* 80323BDC 0031F83C 3B DF 07 30 */ addi r30, r31, 0x730 +/* 80323BE0 0031F840 48 00 00 28 */ b lbl_80323C08 +lbl_80323BE4: +/* 80323BE4 0031F844 3B DF 07 48 */ addi r30, r31, 0x748 +/* 80323BE8 0031F848 48 00 00 20 */ b lbl_80323C08 +lbl_80323BEC: +/* 80323BEC 0031F84C 3B DF 07 58 */ addi r30, r31, 0x758 +/* 80323BF0 0031F850 48 00 00 18 */ b lbl_80323C08 +lbl_80323BF4: +/* 80323BF4 0031F854 3B DF 07 74 */ addi r30, r31, 0x774 +/* 80323BF8 0031F858 48 00 00 10 */ b lbl_80323C08 +lbl_80323BFC: +/* 80323BFC 0031F85C 3B DF 07 80 */ addi r30, r31, 0x780 +/* 80323C00 0031F860 48 00 00 08 */ b lbl_80323C08 +lbl_80323C04: +/* 80323C04 0031F864 3B DF 07 9C */ addi r30, r31, 0x79c +lbl_80323C08: +/* 80323C08 0031F868 80 04 00 0C */ lwz r0, 0xc(r4) +/* 80323C0C 0031F86C 2C 00 00 00 */ cmpwi r0, 0 +/* 80323C10 0031F870 41 82 00 18 */ beq lbl_80323C28 +/* 80323C14 0031F874 38 9F 07 B4 */ addi r4, r31, 0x7b4 +/* 80323C18 0031F878 38 60 00 02 */ li r3, 2 +/* 80323C1C 0031F87C 4C C6 31 82 */ crclr 6 +/* 80323C20 0031F880 4B FF 8F 15 */ bl func_8031CB34 +/* 80323C24 0031F884 48 00 00 14 */ b lbl_80323C38 +lbl_80323C28: +/* 80323C28 0031F888 38 60 00 02 */ li r3, 2 +/* 80323C2C 0031F88C 38 8D 8D 94 */ addi r4, r13, lbl_8063E054-_SDA_BASE_ +/* 80323C30 0031F890 4C C6 31 82 */ crclr 6 +/* 80323C34 0031F894 4B FF 8F 01 */ bl func_8031CB34 +lbl_80323C38: +/* 80323C38 0031F898 80 DC 00 00 */ lwz r6, 0(r28) +/* 80323C3C 0031F89C 7F A5 EB 78 */ mr r5, r29 +/* 80323C40 0031F8A0 38 9F 07 C4 */ addi r4, r31, 0x7c4 +/* 80323C44 0031F8A4 38 60 00 02 */ li r3, 2 +/* 80323C48 0031F8A8 4C C6 31 82 */ crclr 6 +/* 80323C4C 0031F8AC 4B FF 8E E9 */ bl func_8031CB34 +/* 80323C50 0031F8B0 80 DC 00 04 */ lwz r6, 4(r28) +/* 80323C54 0031F8B4 7F C5 F3 78 */ mr r5, r30 +/* 80323C58 0031F8B8 38 9F 07 D8 */ addi r4, r31, 0x7d8 +/* 80323C5C 0031F8BC 38 60 00 02 */ li r3, 2 +/* 80323C60 0031F8C0 4C C6 31 82 */ crclr 6 +/* 80323C64 0031F8C4 4B FF 8E D1 */ bl func_8031CB34 +/* 80323C68 0031F8C8 80 BC 00 08 */ lwz r5, 8(r28) +/* 80323C6C 0031F8CC 38 9F 07 F0 */ addi r4, r31, 0x7f0 +/* 80323C70 0031F8D0 38 60 00 02 */ li r3, 2 +/* 80323C74 0031F8D4 4C C6 31 82 */ crclr 6 +/* 80323C78 0031F8D8 4B FF 8E BD */ bl func_8031CB34 +/* 80323C7C 0031F8DC 38 60 00 03 */ li r3, 3 +/* 80323C80 0031F8E0 4B FF F6 0D */ bl func_8032328C +lbl_80323C84: +/* 80323C84 0031F8E4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80323C88 0031F8E8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80323C8C 0031F8EC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80323C90 0031F8F0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80323C94 0031F8F4 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80323C98 0031F8F8 7C 08 03 A6 */ mtlr r0 +/* 80323C9C 0031F8FC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80323CA0 0031F900 4E 80 00 20 */ blr +lbl_80323CA4: +/* 80323CA4 0031F904 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80323CA8 0031F908 7C 08 02 A6 */ mflr r0 +/* 80323CAC 0031F90C 90 01 00 34 */ stw r0, 0x34(r1) +/* 80323CB0 0031F910 39 61 00 30 */ addi r11, r1, 0x30 +/* 80323CB4 0031F914 4B EA 34 75 */ bl _savegpr_27 +/* 80323CB8 0031F918 38 00 00 00 */ li r0, 0 +/* 80323CBC 0031F91C 3F E0 80 44 */ lis r31, lbl_80447648@ha +/* 80323CC0 0031F920 90 01 00 08 */ stw r0, 8(r1) +/* 80323CC4 0031F924 7C 7B 1B 78 */ mr r27, r3 +/* 80323CC8 0031F928 7C 9C 23 78 */ mr r28, r4 +/* 80323CCC 0031F92C 3B FF 76 48 */ addi r31, r31, lbl_80447648@l +/* 80323CD0 0031F930 90 01 00 0C */ stw r0, 0xc(r1) +/* 80323CD4 0031F934 90 01 00 10 */ stw r0, 0x10(r1) +/* 80323CD8 0031F938 83 C4 00 08 */ lwz r30, 8(r4) +/* 80323CDC 0031F93C 4B FF BC 3D */ bl func_8031F918 +/* 80323CE0 0031F940 2C 03 00 00 */ cmpwi r3, 0 +/* 80323CE4 0031F944 40 82 01 24 */ bne lbl_80323E08 +/* 80323CE8 0031F948 38 6D 8D 9C */ addi r3, r13, lbl_8063E05C-_SDA_BASE_ +/* 80323CEC 0031F94C 4B EA 2E 79 */ bl strlen +/* 80323CF0 0031F950 7C 65 1B 78 */ mr r5, r3 +/* 80323CF4 0031F954 7F C3 F3 78 */ mr r3, r30 +/* 80323CF8 0031F958 38 8D 8D 9C */ addi r4, r13, lbl_8063E05C-_SDA_BASE_ +/* 80323CFC 0031F95C 4B EA 66 9D */ bl memcmp +/* 80323D00 0031F960 2C 03 00 00 */ cmpwi r3, 0 +/* 80323D04 0031F964 41 82 00 1C */ beq lbl_80323D20 +/* 80323D08 0031F968 7F C5 F3 78 */ mr r5, r30 +/* 80323D0C 0031F96C 38 9F 08 08 */ addi r4, r31, 0x808 +/* 80323D10 0031F970 38 60 00 08 */ li r3, 8 +/* 80323D14 0031F974 4C C6 31 82 */ crclr 6 +/* 80323D18 0031F978 4B FF 8E 1D */ bl func_8031CB34 +/* 80323D1C 0031F97C 48 00 00 EC */ b lbl_80323E08 +lbl_80323D20: +/* 80323D20 0031F980 38 6D 8D 9C */ addi r3, r13, lbl_8063E05C-_SDA_BASE_ +/* 80323D24 0031F984 4B EA 2E 41 */ bl strlen +/* 80323D28 0031F988 7F DE 1A 14 */ add r30, r30, r3 +/* 80323D2C 0031F98C 38 80 00 76 */ li r4, 0x76 +/* 80323D30 0031F990 7F C3 F3 78 */ mr r3, r30 +/* 80323D34 0031F994 4B EA A8 75 */ bl strchr +/* 80323D38 0031F998 7F BE 18 50 */ subf r29, r30, r3 +/* 80323D3C 0031F99C 7F C4 F3 78 */ mr r4, r30 +/* 80323D40 0031F9A0 7F A5 EB 78 */ mr r5, r29 +/* 80323D44 0031F9A4 38 61 00 08 */ addi r3, r1, 8 +/* 80323D48 0031F9A8 4B EA A6 49 */ bl strncpy +/* 80323D4C 0031F9AC 28 1D 00 0A */ cmplwi r29, 0xa +/* 80323D50 0031F9B0 41 81 00 1C */ bgt lbl_80323D6C +/* 80323D54 0031F9B4 38 61 00 08 */ addi r3, r1, 8 +/* 80323D58 0031F9B8 38 80 00 00 */ li r4, 0 +/* 80323D5C 0031F9BC 38 A0 00 0A */ li r5, 0xa +/* 80323D60 0031F9C0 4B EA C8 19 */ bl strtoul +/* 80323D64 0031F9C4 28 03 00 03 */ cmplwi r3, 3 +/* 80323D68 0031F9C8 41 82 00 1C */ beq lbl_80323D84 +lbl_80323D6C: +/* 80323D6C 0031F9CC 7F C5 F3 78 */ mr r5, r30 +/* 80323D70 0031F9D0 38 9F 08 30 */ addi r4, r31, 0x830 +/* 80323D74 0031F9D4 38 60 00 08 */ li r3, 8 +/* 80323D78 0031F9D8 4C C6 31 82 */ crclr 6 +/* 80323D7C 0031F9DC 4B FF 8D B9 */ bl func_8031CB34 +/* 80323D80 0031F9E0 48 00 00 88 */ b lbl_80323E08 +lbl_80323D84: +/* 80323D84 0031F9E4 7C 9D F2 14 */ add r4, r29, r30 +/* 80323D88 0031F9E8 38 6D 8D A4 */ addi r3, r13, lbl_8063E064-_SDA_BASE_ +/* 80323D8C 0031F9EC 3B C4 00 01 */ addi r30, r4, 1 +/* 80323D90 0031F9F0 4B EA 2D D5 */ bl strlen +/* 80323D94 0031F9F4 7C 65 1B 78 */ mr r5, r3 +/* 80323D98 0031F9F8 7F C3 F3 78 */ mr r3, r30 +/* 80323D9C 0031F9FC 38 8D 8D A4 */ addi r4, r13, lbl_8063E064-_SDA_BASE_ +/* 80323DA0 0031FA00 4B EA 65 F9 */ bl memcmp +/* 80323DA4 0031FA04 2C 03 00 00 */ cmpwi r3, 0 +/* 80323DA8 0031FA08 40 82 00 60 */ bne lbl_80323E08 +/* 80323DAC 0031FA0C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323DB0 0031FA10 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80323DB4 0031FA14 2C 00 00 05 */ cmpwi r0, 5 +/* 80323DB8 0031FA18 41 82 00 24 */ beq lbl_80323DDC +/* 80323DBC 0031FA1C 2C 00 00 06 */ cmpwi r0, 6 +/* 80323DC0 0031FA20 40 82 00 38 */ bne lbl_80323DF8 +/* 80323DC4 0031FA24 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80323DC8 0031FA28 28 00 00 02 */ cmplwi r0, 2 +/* 80323DCC 0031FA2C 41 82 00 10 */ beq lbl_80323DDC +/* 80323DD0 0031FA30 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80323DD4 0031FA34 28 00 00 03 */ cmplwi r0, 3 +/* 80323DD8 0031FA38 40 82 00 20 */ bne lbl_80323DF8 +lbl_80323DDC: +/* 80323DDC 0031FA3C 38 6D 8D A4 */ addi r3, r13, lbl_8063E064-_SDA_BASE_ +/* 80323DE0 0031FA40 4B EA 2D 85 */ bl strlen +/* 80323DE4 0031FA44 80 9C 00 00 */ lwz r4, 0(r28) +/* 80323DE8 0031FA48 7C BE 1A 14 */ add r5, r30, r3 +/* 80323DEC 0031FA4C 7F 63 DB 78 */ mr r3, r27 +/* 80323DF0 0031FA50 48 00 30 4D */ bl func_80326E3C +/* 80323DF4 0031FA54 48 00 00 14 */ b lbl_80323E08 +lbl_80323DF8: +/* 80323DF8 0031FA58 38 9F 08 68 */ addi r4, r31, 0x868 +/* 80323DFC 0031FA5C 38 60 00 04 */ li r3, 4 +/* 80323E00 0031FA60 4C C6 31 82 */ crclr 6 +/* 80323E04 0031FA64 4B FF 8D 31 */ bl func_8031CB34 +lbl_80323E08: +/* 80323E08 0031FA68 39 61 00 30 */ addi r11, r1, 0x30 +/* 80323E0C 0031FA6C 4B EA 33 69 */ bl _restgpr_27 +/* 80323E10 0031FA70 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80323E14 0031FA74 7C 08 03 A6 */ mtlr r0 +/* 80323E18 0031FA78 38 21 00 30 */ addi r1, r1, 0x30 +/* 80323E1C 0031FA7C 4E 80 00 20 */ blr +lbl_80323E20: +/* 80323E20 0031FA80 48 00 D2 0C */ b func_8033102C +lbl_80323E24: +/* 80323E24 0031FA84 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80323E28 0031FA88 7C 08 02 A6 */ mflr r0 +/* 80323E2C 0031FA8C 90 01 00 44 */ stw r0, 0x44(r1) +/* 80323E30 0031FA90 39 61 00 40 */ addi r11, r1, 0x40 +/* 80323E34 0031FA94 4B EA 32 E5 */ bl _savegpr_23 +/* 80323E38 0031FA98 3F C0 80 44 */ lis r30, lbl_80447648@ha +/* 80323E3C 0031FA9C 7C 77 1B 78 */ mr r23, r3 +/* 80323E40 0031FAA0 7C 98 23 78 */ mr r24, r4 +/* 80323E44 0031FAA4 3B E0 00 00 */ li r31, 0 +/* 80323E48 0031FAA8 3B DE 76 48 */ addi r30, r30, lbl_80447648@l +/* 80323E4C 0031FAAC 3B 60 00 00 */ li r27, 0 +/* 80323E50 0031FAB0 48 00 41 05 */ bl func_80327F54 +/* 80323E54 0031FAB4 2C 03 00 00 */ cmpwi r3, 0 +/* 80323E58 0031FAB8 41 82 00 18 */ beq lbl_80323E70 +/* 80323E5C 0031FABC 38 9E 08 90 */ addi r4, r30, 0x890 +/* 80323E60 0031FAC0 38 60 00 08 */ li r3, 8 +/* 80323E64 0031FAC4 4C C6 31 82 */ crclr 6 +/* 80323E68 0031FAC8 4B FF 8C CD */ bl func_8031CB34 +/* 80323E6C 0031FACC 48 00 03 F4 */ b lbl_80324260 +lbl_80323E70: +/* 80323E70 0031FAD0 2C 18 00 04 */ cmpwi r24, 4 +/* 80323E74 0031FAD4 41 82 00 30 */ beq lbl_80323EA4 +/* 80323E78 0031FAD8 40 80 00 34 */ bge lbl_80323EAC +/* 80323E7C 0031FADC 2C 18 00 02 */ cmpwi r24, 2 +/* 80323E80 0031FAE0 40 80 00 18 */ bge lbl_80323E98 +/* 80323E84 0031FAE4 2C 18 00 00 */ cmpwi r24, 0 +/* 80323E88 0031FAE8 40 80 00 08 */ bge lbl_80323E90 +/* 80323E8C 0031FAEC 48 00 00 20 */ b lbl_80323EAC +lbl_80323E90: +/* 80323E90 0031FAF0 3B 20 00 00 */ li r25, 0 +/* 80323E94 0031FAF4 48 00 00 18 */ b lbl_80323EAC +lbl_80323E98: +/* 80323E98 0031FAF8 3B 20 00 06 */ li r25, 6 +/* 80323E9C 0031FAFC 3B 80 E2 50 */ li r28, -7600 +/* 80323EA0 0031FB00 48 00 00 0C */ b lbl_80323EAC +lbl_80323EA4: +/* 80323EA4 0031FB04 3B 20 00 09 */ li r25, 9 +/* 80323EA8 0031FB08 3B 80 E2 4F */ li r28, -7601 +lbl_80323EAC: +/* 80323EAC 0031FB0C 7F 05 C3 78 */ mr r5, r24 +/* 80323EB0 0031FB10 38 9E 08 CC */ addi r4, r30, 0x8cc +/* 80323EB4 0031FB14 38 60 00 04 */ li r3, 4 +/* 80323EB8 0031FB18 4C C6 31 82 */ crclr 6 +/* 80323EBC 0031FB1C 4B FF 8C 79 */ bl func_8031CB34 +/* 80323EC0 0031FB20 2C 19 00 00 */ cmpwi r25, 0 +/* 80323EC4 0031FB24 40 82 01 18 */ bne lbl_80323FDC +/* 80323EC8 0031FB28 7E E3 BB 78 */ mr r3, r23 +/* 80323ECC 0031FB2C 48 02 5F 35 */ bl gt2GetConnectionData +/* 80323ED0 0031FB30 2C 03 00 00 */ cmpwi r3, 0 +/* 80323ED4 0031FB34 7C 7F 1B 78 */ mr r31, r3 +/* 80323ED8 0031FB38 41 82 03 88 */ beq lbl_80324260 +/* 80323EDC 0031FB3C 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80323EE0 0031FB40 38 00 00 01 */ li r0, 1 +/* 80323EE4 0031FB44 8B A3 00 01 */ lbz r29, 1(r3) +/* 80323EE8 0031FB48 80 84 06 60 */ lwz r4, 0x660(r4) +/* 80323EEC 0031FB4C 7C 00 E8 30 */ slw r0, r0, r29 +/* 80323EF0 0031FB50 7F A3 EB 78 */ mr r3, r29 +/* 80323EF4 0031FB54 7C 84 00 38 */ and r4, r4, r0 +/* 80323EF8 0031FB58 7C 04 00 D0 */ neg r0, r4 +/* 80323EFC 0031FB5C 7C 00 23 78 */ or r0, r0, r4 +/* 80323F00 0031FB60 54 1A 0F FE */ srwi r26, r0, 0x1f +/* 80323F04 0031FB64 48 00 D4 D1 */ bl func_803313D4 +/* 80323F08 0031FB68 7F A5 EB 78 */ mr r5, r29 +/* 80323F0C 0031FB6C 7F 46 D3 78 */ mr r6, r26 +/* 80323F10 0031FB70 38 9E 08 F0 */ addi r4, r30, 0x8f0 +/* 80323F14 0031FB74 38 60 00 04 */ li r3, 4 +/* 80323F18 0031FB78 4C C6 31 82 */ crclr 6 +/* 80323F1C 0031FB7C 4B FF 8C 19 */ bl func_8031CB34 +/* 80323F20 0031FB80 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323F24 0031FB84 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80323F28 0031FB88 28 00 00 02 */ cmplwi r0, 2 +/* 80323F2C 0031FB8C 40 82 00 0C */ bne lbl_80323F38 +/* 80323F30 0031FB90 2C 18 00 00 */ cmpwi r24, 0 +/* 80323F34 0031FB94 41 82 00 18 */ beq lbl_80323F4C +lbl_80323F38: +/* 80323F38 0031FB98 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80323F3C 0031FB9C 28 00 00 03 */ cmplwi r0, 3 +/* 80323F40 0031FBA0 40 82 00 10 */ bne lbl_80323F50 +/* 80323F44 0031FBA4 2C 1D 00 00 */ cmpwi r29, 0 +/* 80323F48 0031FBA8 40 82 00 08 */ bne lbl_80323F50 +lbl_80323F4C: +/* 80323F4C 0031FBAC 3B 60 00 01 */ li r27, 1 +lbl_80323F50: +/* 80323F50 0031FBB0 38 61 00 08 */ addi r3, r1, 8 +/* 80323F54 0031FBB4 48 00 3D 81 */ bl func_80327CD4 +/* 80323F58 0031FBB8 7C 64 1B 78 */ mr r4, r3 +/* 80323F5C 0031FBBC 80 C1 00 08 */ lwz r6, 8(r1) +/* 80323F60 0031FBC0 38 A0 00 00 */ li r5, 0 +/* 80323F64 0031FBC4 7C 69 03 A6 */ mtctr r3 +/* 80323F68 0031FBC8 2C 03 00 00 */ cmpwi r3, 0 +/* 80323F6C 0031FBCC 40 81 00 1C */ ble lbl_80323F88 +lbl_80323F70: +/* 80323F70 0031FBD0 88 06 00 00 */ lbz r0, 0(r6) +/* 80323F74 0031FBD4 7C 1D 00 40 */ cmplw r29, r0 +/* 80323F78 0031FBD8 41 82 00 10 */ beq lbl_80323F88 +/* 80323F7C 0031FBDC 38 C6 00 01 */ addi r6, r6, 1 +/* 80323F80 0031FBE0 38 A5 00 01 */ addi r5, r5, 1 +/* 80323F84 0031FBE4 42 00 FF EC */ bdnz lbl_80323F70 +lbl_80323F88: +/* 80323F88 0031FBE8 7C 05 18 00 */ cmpw r5, r3 +/* 80323F8C 0031FBEC 40 82 00 0C */ bne lbl_80323F98 +/* 80323F90 0031FBF0 38 60 00 00 */ li r3, 0 +/* 80323F94 0031FBF4 48 00 00 0C */ b lbl_80323FA0 +lbl_80323F98: +/* 80323F98 0031FBF8 7C A3 2B 78 */ mr r3, r5 +/* 80323F9C 0031FBFC 48 00 38 DD */ bl func_80327878 +lbl_80323FA0: +/* 80323FA0 0031FC00 88 1F 00 00 */ lbz r0, 0(r31) +/* 80323FA4 0031FC04 3C A0 80 61 */ lis r5, lbl_8060FC08@ha +/* 80323FA8 0031FC08 38 A5 FC 08 */ addi r5, r5, lbl_8060FC08@l +/* 80323FAC 0031FC0C 38 C0 00 00 */ li r6, 0 +/* 80323FB0 0031FC10 54 00 10 3A */ slwi r0, r0, 2 +/* 80323FB4 0031FC14 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80323FB8 0031FC18 7C C5 01 2E */ stwx r6, r5, r0 +/* 80323FBC 0031FC1C 7C 7F 1B 78 */ mr r31, r3 +/* 80323FC0 0031FC20 88 64 03 6D */ lbz r3, 0x36d(r4) +/* 80323FC4 0031FC24 38 03 FF FF */ addi r0, r3, -1 +/* 80323FC8 0031FC28 98 04 03 6D */ stb r0, 0x36d(r4) +/* 80323FCC 0031FC2C 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80323FD0 0031FC30 88 64 03 74 */ lbz r3, 0x374(r4) +/* 80323FD4 0031FC34 38 03 FF FF */ addi r0, r3, -1 +/* 80323FD8 0031FC38 98 04 03 74 */ stb r0, 0x374(r4) +lbl_80323FDC: +/* 80323FDC 0031FC3C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80323FE0 0031FC40 88 03 00 2D */ lbz r0, 0x2d(r3) +/* 80323FE4 0031FC44 2C 00 00 00 */ cmpwi r0, 0 +/* 80323FE8 0031FC48 40 82 00 4C */ bne lbl_80324034 +/* 80323FEC 0031FC4C 80 03 00 24 */ lwz r0, 0x24(r3) +/* 80323FF0 0031FC50 2C 00 00 06 */ cmpwi r0, 6 +/* 80323FF4 0031FC54 40 82 00 40 */ bne lbl_80324034 +/* 80323FF8 0031FC58 2C 1A 00 00 */ cmpwi r26, 0 +/* 80323FFC 0031FC5C 40 82 00 38 */ bne lbl_80324034 +/* 80324000 0031FC60 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80324004 0031FC64 28 00 00 02 */ cmplwi r0, 2 +/* 80324008 0031FC68 40 82 00 18 */ bne lbl_80324020 +/* 8032400C 0031FC6C 2C 19 00 00 */ cmpwi r25, 0 +/* 80324010 0031FC70 40 82 00 10 */ bne lbl_80324020 +/* 80324014 0031FC74 48 00 3D A5 */ bl func_80327DB8 +/* 80324018 0031FC78 7F E3 FB 78 */ mr r3, r31 +/* 8032401C 0031FC7C 48 00 38 45 */ bl func_80327860 +lbl_80324020: +/* 80324020 0031FC80 38 9E 09 0C */ addi r4, r30, 0x90c +/* 80324024 0031FC84 38 60 00 04 */ li r3, 4 +/* 80324028 0031FC88 4C C6 31 82 */ crclr 6 +/* 8032402C 0031FC8C 4B FF 8B 09 */ bl func_8031CB34 +/* 80324030 0031FC90 48 00 02 30 */ b lbl_80324260 +lbl_80324034: +/* 80324034 0031FC94 7F 23 CB 78 */ mr r3, r25 +/* 80324038 0031FC98 7F 84 E3 78 */ mr r4, r28 +/* 8032403C 0031FC9C 7F E5 FB 78 */ mr r5, r31 +/* 80324040 0031FCA0 48 00 33 F5 */ bl func_80327434 +/* 80324044 0031FCA4 2C 03 00 00 */ cmpwi r3, 0 +/* 80324048 0031FCA8 41 82 00 18 */ beq lbl_80324060 +/* 8032404C 0031FCAC 38 9E 09 30 */ addi r4, r30, 0x930 +/* 80324050 0031FCB0 38 60 00 04 */ li r3, 4 +/* 80324054 0031FCB4 4C C6 31 82 */ crclr 6 +/* 80324058 0031FCB8 4B FF 8A DD */ bl func_8031CB34 +/* 8032405C 0031FCBC 48 00 02 04 */ b lbl_80324260 +lbl_80324060: +/* 80324060 0031FCC0 2C 19 00 00 */ cmpwi r25, 0 +/* 80324064 0031FCC4 41 82 00 14 */ beq lbl_80324078 +/* 80324068 0031FCC8 7F 23 CB 78 */ mr r3, r25 +/* 8032406C 0031FCCC 7F 84 E3 78 */ mr r4, r28 +/* 80324070 0031FCD0 4B FF 85 11 */ bl func_8031C580 +/* 80324074 0031FCD4 48 00 01 EC */ b lbl_80324260 +lbl_80324078: +/* 80324078 0031FCD8 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032407C 0031FCDC 88 03 00 2D */ lbz r0, 0x2d(r3) +/* 80324080 0031FCE0 2C 00 00 00 */ cmpwi r0, 0 +/* 80324084 0031FCE4 40 82 00 60 */ bne lbl_803240E4 +/* 80324088 0031FCE8 88 03 03 75 */ lbz r0, 0x375(r3) +/* 8032408C 0031FCEC 28 00 00 02 */ cmplwi r0, 2 +/* 80324090 0031FCF0 41 82 00 10 */ beq lbl_803240A0 +/* 80324094 0031FCF4 88 03 03 75 */ lbz r0, 0x375(r3) +/* 80324098 0031FCF8 28 00 00 03 */ cmplwi r0, 3 +/* 8032409C 0031FCFC 40 82 00 48 */ bne lbl_803240E4 +lbl_803240A0: +/* 803240A0 0031FD00 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 803240A4 0031FD04 88 C5 03 6D */ lbz r6, 0x36d(r5) +/* 803240A8 0031FD08 38 86 00 02 */ addi r4, r6, 2 +/* 803240AC 0031FD0C 54 80 10 3A */ slwi r0, r4, 2 +/* 803240B0 0031FD10 7C 65 02 14 */ add r3, r5, r0 +/* 803240B4 0031FD14 80 03 04 58 */ lwz r0, 0x458(r3) +/* 803240B8 0031FD18 2C 00 00 00 */ cmpwi r0, 0 +/* 803240BC 0031FD1C 41 82 00 28 */ beq lbl_803240E4 +/* 803240C0 0031FD20 38 65 06 40 */ addi r3, r5, 0x640 +/* 803240C4 0031FD24 7C 03 20 AE */ lbzx r0, r3, r4 +/* 803240C8 0031FD28 7C 66 1A 14 */ add r3, r6, r3 +/* 803240CC 0031FD2C 98 03 00 01 */ stb r0, 1(r3) +/* 803240D0 0031FD30 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803240D4 0031FD34 88 83 03 6D */ lbz r4, 0x36d(r3) +/* 803240D8 0031FD38 38 64 00 01 */ addi r3, r4, 1 +/* 803240DC 0031FD3C 38 84 00 03 */ addi r4, r4, 3 +/* 803240E0 0031FD40 48 00 37 99 */ bl func_80327878 +lbl_803240E4: +/* 803240E4 0031FD44 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803240E8 0031FD48 88 03 03 75 */ lbz r0, 0x375(r3) +/* 803240EC 0031FD4C 28 00 00 02 */ cmplwi r0, 2 +/* 803240F0 0031FD50 40 82 00 38 */ bne lbl_80324128 +/* 803240F4 0031FD54 88 03 00 2D */ lbz r0, 0x2d(r3) +/* 803240F8 0031FD58 2C 00 00 00 */ cmpwi r0, 0 +/* 803240FC 0031FD5C 40 82 00 0C */ bne lbl_80324108 +/* 80324100 0031FD60 48 00 3C B9 */ bl func_80327DB8 +/* 80324104 0031FD64 48 00 00 40 */ b lbl_80324144 +lbl_80324108: +/* 80324108 0031FD68 88 03 03 6D */ lbz r0, 0x36d(r3) +/* 8032410C 0031FD6C 2C 00 00 00 */ cmpwi r0, 0 +/* 80324110 0031FD70 40 82 00 34 */ bne lbl_80324144 +/* 80324114 0031FD74 38 60 00 01 */ li r3, 1 +/* 80324118 0031FD78 38 8D 8D 88 */ addi r4, r13, lbl_8063E048-_SDA_BASE_ +/* 8032411C 0031FD7C 38 A0 00 00 */ li r5, 0 +/* 80324120 0031FD80 4B FF BB 31 */ bl func_8031FC50 +/* 80324124 0031FD84 48 00 00 20 */ b lbl_80324144 +lbl_80324128: +/* 80324128 0031FD88 88 03 03 6D */ lbz r0, 0x36d(r3) +/* 8032412C 0031FD8C 2C 00 00 00 */ cmpwi r0, 0 +/* 80324130 0031FD90 40 82 00 14 */ bne lbl_80324144 +/* 80324134 0031FD94 38 60 00 01 */ li r3, 1 +/* 80324138 0031FD98 38 8D 8D 88 */ addi r4, r13, lbl_8063E048-_SDA_BASE_ +/* 8032413C 0031FD9C 38 A0 00 00 */ li r5, 0 +/* 80324140 0031FDA0 4B FF BB 11 */ bl func_8031FC50 +lbl_80324144: +/* 80324144 0031FDA4 3A E0 00 00 */ li r23, 0 +/* 80324148 0031FDA8 3B 80 00 00 */ li r28, 0 +/* 8032414C 0031FDAC 48 00 00 38 */ b lbl_80324184 +lbl_80324150: +/* 80324150 0031FDB0 80 0D B0 58 */ lwz r0, lbl_80640318-_SDA_BASE_(r13) +/* 80324154 0031FDB4 7E E5 BB 78 */ mr r5, r23 +/* 80324158 0031FDB8 7E E7 BB 78 */ mr r7, r23 +/* 8032415C 0031FDBC 38 9E 09 50 */ addi r4, r30, 0x950 +/* 80324160 0031FDC0 7C 60 BA 14 */ add r3, r0, r23 +/* 80324164 0031FDC4 7D 00 E2 14 */ add r8, r0, r28 +/* 80324168 0031FDC8 88 C3 06 40 */ lbz r6, 0x640(r3) +/* 8032416C 0031FDCC 38 60 00 04 */ li r3, 4 +/* 80324170 0031FDD0 81 08 04 58 */ lwz r8, 0x458(r8) +/* 80324174 0031FDD4 4C C6 31 82 */ crclr 6 +/* 80324178 0031FDD8 4B FF 89 BD */ bl func_8031CB34 +/* 8032417C 0031FDDC 3B 9C 00 04 */ addi r28, r28, 4 +/* 80324180 0031FDE0 3A F7 00 01 */ addi r23, r23, 1 +lbl_80324184: +/* 80324184 0031FDE4 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 80324188 0031FDE8 88 64 03 6D */ lbz r3, 0x36d(r4) +/* 8032418C 0031FDEC 38 03 00 01 */ addi r0, r3, 1 +/* 80324190 0031FDF0 7C 17 00 00 */ cmpw r23, r0 +/* 80324194 0031FDF4 41 80 FF BC */ blt lbl_80324150 +/* 80324198 0031FDF8 88 04 03 75 */ lbz r0, 0x375(r4) +/* 8032419C 0031FDFC 2C 00 00 00 */ cmpwi r0, 0 +/* 803241A0 0031FE00 41 82 00 10 */ beq lbl_803241B0 +/* 803241A4 0031FE04 88 04 03 75 */ lbz r0, 0x375(r4) +/* 803241A8 0031FE08 28 00 00 01 */ cmplwi r0, 1 +/* 803241AC 0031FE0C 40 82 00 1C */ bne lbl_803241C8 +lbl_803241B0: +/* 803241B0 0031FE10 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803241B4 0031FE14 88 03 03 74 */ lbz r0, 0x374(r3) +/* 803241B8 0031FE18 98 03 03 76 */ stb r0, 0x376(r3) +/* 803241BC 0031FE1C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 803241C0 0031FE20 80 63 03 70 */ lwz r3, 0x370(r3) +/* 803241C4 0031FE24 48 02 A3 FD */ bl qr2_send_statechanged +lbl_803241C8: +/* 803241C8 0031FE28 83 8D B0 58 */ lwz r28, lbl_80640318-_SDA_BASE_(r13) +/* 803241CC 0031FE2C 80 1C 00 90 */ lwz r0, 0x90(r28) +/* 803241D0 0031FE30 2C 00 00 00 */ cmpwi r0, 0 +/* 803241D4 0031FE34 41 82 00 44 */ beq lbl_80324218 +/* 803241D8 0031FE38 2C 1A 00 00 */ cmpwi r26, 0 +/* 803241DC 0031FE3C 41 82 00 3C */ beq lbl_80324218 +/* 803241E0 0031FE40 7F 00 00 34 */ cntlzw r0, r24 +/* 803241E4 0031FE44 7F E3 FB 78 */ mr r3, r31 +/* 803241E8 0031FE48 54 18 D9 7E */ srwi r24, r0, 5 +/* 803241EC 0031FE4C 4B FF B9 5D */ bl func_8031FB48 +/* 803241F0 0031FE50 80 AD B0 58 */ lwz r5, lbl_80640318-_SDA_BASE_(r13) +/* 803241F4 0031FE54 7C 67 1B 78 */ mr r7, r3 +/* 803241F8 0031FE58 7F 23 CB 78 */ mr r3, r25 +/* 803241FC 0031FE5C 7F 04 C3 78 */ mr r4, r24 +/* 80324200 0031FE60 81 85 00 90 */ lwz r12, 0x90(r5) +/* 80324204 0031FE64 7F 65 DB 78 */ mr r5, r27 +/* 80324208 0031FE68 7F A6 EB 78 */ mr r6, r29 +/* 8032420C 0031FE6C 81 1C 00 94 */ lwz r8, 0x94(r28) +/* 80324210 0031FE70 7D 89 03 A6 */ mtctr r12 +/* 80324214 0031FE74 4E 80 04 21 */ bctrl +lbl_80324218: +/* 80324218 0031FE78 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032421C 0031FE7C 88 03 00 2D */ lbz r0, 0x2d(r3) +/* 80324220 0031FE80 2C 00 00 00 */ cmpwi r0, 0 +/* 80324224 0031FE84 40 82 00 10 */ bne lbl_80324234 +/* 80324228 0031FE88 88 03 03 75 */ lbz r0, 0x375(r3) +/* 8032422C 0031FE8C 28 00 00 02 */ cmplwi r0, 2 +/* 80324230 0031FE90 41 82 00 30 */ beq lbl_80324260 +lbl_80324234: +/* 80324234 0031FE94 88 03 03 6D */ lbz r0, 0x36d(r3) +/* 80324238 0031FE98 2C 00 00 00 */ cmpwi r0, 0 +/* 8032423C 0031FE9C 40 82 00 24 */ bne lbl_80324260 +/* 80324240 0031FEA0 48 03 69 75 */ bl NNFreeNegotiateList +/* 80324244 0031FEA4 48 00 2E 49 */ bl func_8032708C +/* 80324248 0031FEA8 80 8D B0 58 */ lwz r4, lbl_80640318-_SDA_BASE_(r13) +/* 8032424C 0031FEAC 38 00 00 03 */ li r0, 3 +/* 80324250 0031FEB0 80 64 00 24 */ lwz r3, 0x24(r4) +/* 80324254 0031FEB4 90 64 00 28 */ stw r3, 0x28(r4) +/* 80324258 0031FEB8 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 8032425C 0031FEBC 90 03 00 24 */ stw r0, 0x24(r3) +lbl_80324260: +/* 80324260 0031FEC0 39 61 00 40 */ addi r11, r1, 0x40 +/* 80324264 0031FEC4 4B EA 2F 01 */ bl _restgpr_23 +/* 80324268 0031FEC8 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8032426C 0031FECC 7C 08 03 A6 */ mtlr r0 +/* 80324270 0031FED0 38 21 00 40 */ addi r1, r1, 0x40 +/* 80324274 0031FED4 4E 80 00 20 */ blr +lbl_80324278: +/* 80324278 0031FED8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8032427C 0031FEDC 7C 08 02 A6 */ mflr r0 +/* 80324280 0031FEE0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80324284 0031FEE4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80324288 0031FEE8 7C 9F 23 78 */ mr r31, r4 +/* 8032428C 0031FEEC 3C 80 80 44 */ lis r4, lbl_80447FB4@ha +/* 80324290 0031FEF0 93 C1 00 08 */ stw r30, 8(r1) +/* 80324294 0031FEF4 7C 7E 1B 78 */ mr r30, r3 +/* 80324298 0031FEF8 38 60 01 00 */ li r3, 0x100 +/* 8032429C 0031FEFC 7F E5 FB 78 */ mr r5, r31 +/* 803242A0 0031FF00 38 84 7F B4 */ addi r4, r4, lbl_80447FB4@l +/* 803242A4 0031FF04 4C C6 31 82 */ crclr 6 +/* 803242A8 0031FF08 4B FF 88 8D */ bl func_8031CB34 +/* 803242AC 0031FF0C 7F C3 F3 78 */ mr r3, r30 +/* 803242B0 0031FF10 7F E4 FB 78 */ mr r4, r31 +/* 803242B4 0031FF14 48 00 CE B5 */ bl func_80331168 +/* 803242B8 0031FF18 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803242BC 0031FF1C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803242C0 0031FF20 83 C1 00 08 */ lwz r30, 8(r1) +/* 803242C4 0031FF24 7C 08 03 A6 */ mtlr r0 +/* 803242C8 0031FF28 38 21 00 10 */ addi r1, r1, 0x10 +/* 803242CC 0031FF2C 4E 80 00 20 */ blr +lbl_803242D0: +/* 803242D0 0031FF30 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803242D4 0031FF34 7C 08 02 A6 */ mflr r0 +/* 803242D8 0031FF38 90 01 00 14 */ stw r0, 0x14(r1) +/* 803242DC 0031FF3C 48 02 5B 0D */ bl gt2GetSocketSOCKET +/* 803242E0 0031FF40 48 01 3C C9 */ bl GOAGetLastError +/* 803242E4 0031FF44 3C 80 80 44 */ lis r4, lbl_80447FC0@ha +/* 803242E8 0031FF48 90 6D B0 5C */ stw r3, lbl_8064031C-_SDA_BASE_(r13) +/* 803242EC 0031FF4C 7C 65 1B 78 */ mr r5, r3 +/* 803242F0 0031FF50 38 60 00 02 */ li r3, 2 +/* 803242F4 0031FF54 38 84 7F C0 */ addi r4, r4, lbl_80447FC0@l +/* 803242F8 0031FF58 4C C6 31 82 */ crclr 6 +/* 803242FC 0031FF5C 4B FF 88 39 */ bl func_8031CB34 +/* 80324300 0031FF60 3C 80 FF FF */ lis r4, 0xFFFE8515@ha +/* 80324304 0031FF64 38 60 00 09 */ li r3, 9 +/* 80324308 0031FF68 38 84 85 15 */ addi r4, r4, 0xFFFE8515@l +/* 8032430C 0031FF6C 4B FF 82 75 */ bl func_8031C580 +/* 80324310 0031FF70 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13) +/* 80324314 0031FF74 38 00 00 00 */ li r0, 0 +/* 80324318 0031FF78 90 03 00 00 */ stw r0, 0(r3) +/* 8032431C 0031FF7C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80324320 0031FF80 7C 08 03 A6 */ mtlr r0 +/* 80324324 0031FF84 38 21 00 10 */ addi r1, r1, 0x10 +/* 80324328 0031FF88 4E 80 00 20 */ blr + +.global func_8032432C +func_8032432C: +/* 8032432C 0031FF8C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80324330 0031FF90 7C 08 02 A6 */ mflr r0 +/* 80324334 0031FF94 3C 80 80 44 */ lis r4, lbl_80447FE0@ha +/* 80324338 0031FF98 38 60 00 04 */ li r3, 4 +/* 8032433C 0031FF9C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80324340 0031FFA0 38 84 7F E0 */ addi r4, r4, lbl_80447FE0@l +/* 80324344 0031FFA4 4C C6 31 82 */ crclr 6 +/* 80324348 0031FFA8 4B FF 87 ED */ bl func_8031CB34 +/* 8032434C 0031FFAC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324350 0031FFB0 2C 03 00 00 */ cmpwi r3, 0 +/* 80324354 0031FFB4 41 82 00 1C */ beq lbl_80324370 +/* 80324358 0031FFB8 80 03 02 10 */ lwz r0, 0x210(r3) +/* 8032435C 0031FFBC 2C 00 00 00 */ cmpwi r0, 0 +/* 80324360 0031FFC0 41 82 00 10 */ beq lbl_80324370 +/* 80324364 0031FFC4 4B FF 82 09 */ bl PlatAudio_IsEntireSampleFileInMem +/* 80324368 0031FFC8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032436C 0031FFCC 41 82 00 20 */ beq lbl_8032438C +lbl_80324370: +/* 80324370 0031FFD0 3C 80 80 45 */ lis r4, lbl_80448010@ha +/* 80324374 0031FFD4 38 60 00 04 */ li r3, 4 +/* 80324378 0031FFD8 38 84 80 10 */ addi r4, r4, lbl_80448010@l +/* 8032437C 0031FFDC 4C C6 31 82 */ crclr 6 +/* 80324380 0031FFE0 4B FF 87 B5 */ bl func_8031CB34 +/* 80324384 0031FFE4 38 60 00 00 */ li r3, 0 +/* 80324388 0031FFE8 48 00 00 18 */ b lbl_803243A0 +lbl_8032438C: +/* 8032438C 0031FFEC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324390 0031FFF0 80 63 02 10 */ lwz r3, 0x210(r3) +/* 80324394 0031FFF4 48 00 07 FD */ bl func_80324B90 +/* 80324398 0031FFF8 7C 60 00 34 */ cntlzw r0, r3 +/* 8032439C 0031FFFC 54 03 D9 7E */ srwi r3, r0, 5 +lbl_803243A0: +/* 803243A0 00320000 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803243A4 00320004 7C 08 03 A6 */ mtlr r0 +/* 803243A8 00320008 38 21 00 10 */ addi r1, r1, 0x10 +/* 803243AC 0032000C 4E 80 00 20 */ blr + +.global func_803243B0 +func_803243B0: +/* 803243B0 00320010 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 803243B4 00320014 7C 08 02 A6 */ mflr r0 +/* 803243B8 00320018 90 01 00 14 */ stw r0, 0x14(r1) +/* 803243BC 0032001C 4B FF 81 B1 */ bl PlatAudio_IsEntireSampleFileInMem +/* 803243C0 00320020 2C 03 00 00 */ cmpwi r3, 0 +/* 803243C4 00320024 41 82 00 0C */ beq lbl_803243D0 +/* 803243C8 00320028 38 00 00 00 */ li r0, 0 +/* 803243CC 0032002C 48 00 00 38 */ b lbl_80324404 +lbl_803243D0: +/* 803243D0 00320030 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 803243D4 00320034 2C 00 00 00 */ cmpwi r0, 0 +/* 803243D8 00320038 41 82 00 20 */ beq lbl_803243F8 +/* 803243DC 0032003C 4B FF EA 99 */ bl func_80322E74 +/* 803243E0 00320040 2C 03 00 05 */ cmpwi r3, 5 +/* 803243E4 00320044 40 82 00 14 */ bne lbl_803243F8 +/* 803243E8 00320048 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803243EC 0032004C 88 03 01 AD */ lbz r0, 0x1ad(r3) +/* 803243F0 00320050 2C 00 00 00 */ cmpwi r0, 0 +/* 803243F4 00320054 41 82 00 0C */ beq lbl_80324400 +lbl_803243F8: +/* 803243F8 00320058 38 00 00 00 */ li r0, 0 +/* 803243FC 0032005C 48 00 00 08 */ b lbl_80324404 +lbl_80324400: +/* 80324400 00320060 38 00 00 01 */ li r0, 1 +lbl_80324404: +/* 80324404 00320064 2C 00 00 00 */ cmpwi r0, 0 +/* 80324408 00320068 41 82 00 10 */ beq lbl_80324418 +/* 8032440C 0032006C 48 00 81 35 */ bl func_8032C540 +/* 80324410 00320070 38 60 00 01 */ li r3, 1 +/* 80324414 00320074 48 00 00 1C */ b lbl_80324430 +lbl_80324418: +/* 80324418 00320078 3C 80 80 45 */ lis r4, lbl_80448020@ha +/* 8032441C 0032007C 38 60 00 04 */ li r3, 4 +/* 80324420 00320080 38 84 80 20 */ addi r4, r4, lbl_80448020@l +/* 80324424 00320084 4C C6 31 82 */ crclr 6 +/* 80324428 00320088 4B FF 87 0D */ bl func_8031CB34 +/* 8032442C 0032008C 38 60 00 00 */ li r3, 0 +lbl_80324430: +/* 80324430 00320090 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80324434 00320094 7C 08 03 A6 */ mtlr r0 +/* 80324438 00320098 38 21 00 10 */ addi r1, r1, 0x10 +/* 8032443C 0032009C 4E 80 00 20 */ blr + +.global func_80324440 +func_80324440: +/* 80324440 003200A0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80324444 003200A4 7C 08 02 A6 */ mflr r0 +/* 80324448 003200A8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8032444C 003200AC 39 61 00 20 */ addi r11, r1, 0x20 +/* 80324450 003200B0 4B EA 2C D5 */ bl _savegpr_26 +/* 80324454 003200B4 2C 04 00 00 */ cmpwi r4, 0 +/* 80324458 003200B8 7C 7D 1B 78 */ mr r29, r3 +/* 8032445C 003200BC 7C 9E 23 78 */ mr r30, r4 +/* 80324460 003200C0 7C BF 2B 78 */ mr r31, r5 +/* 80324464 003200C4 41 82 00 0C */ beq lbl_80324470 +/* 80324468 003200C8 2C 05 00 00 */ cmpwi r5, 0 +/* 8032446C 003200CC 40 82 00 0C */ bne lbl_80324478 +lbl_80324470: +/* 80324470 003200D0 38 60 00 00 */ li r3, 0 +/* 80324474 003200D4 48 00 03 74 */ b lbl_803247E8 +lbl_80324478: +/* 80324478 003200D8 28 03 00 64 */ cmplwi r3, 0x64 +/* 8032447C 003200DC 41 80 00 44 */ blt lbl_803244C0 +/* 80324480 003200E0 38 03 FF 9C */ addi r0, r3, -100 +/* 80324484 003200E4 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 80324488 003200E8 1C A0 00 0C */ mulli r5, r0, 0xc +/* 8032448C 003200EC 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80324490 003200F0 7C 03 28 AE */ lbzx r0, r3, r5 +/* 80324494 003200F4 2C 00 00 00 */ cmpwi r0, 0 +/* 80324498 003200F8 41 82 00 28 */ beq lbl_803244C0 +/* 8032449C 003200FC 7C 63 2A 14 */ add r3, r3, r5 +/* 803244A0 00320100 80 63 00 04 */ lwz r3, 4(r3) +/* 803244A4 00320104 2C 03 00 00 */ cmpwi r3, 0 +/* 803244A8 00320108 41 82 01 40 */ beq lbl_803245E8 +/* 803244AC 0032010C 4B EA 9F A1 */ bl strcmp +/* 803244B0 00320110 2C 03 00 00 */ cmpwi r3, 0 +/* 803244B4 00320114 41 82 01 34 */ beq lbl_803245E8 +/* 803244B8 00320118 38 60 00 00 */ li r3, 0 +/* 803244BC 0032011C 48 00 03 2C */ b lbl_803247E8 +lbl_803244C0: +/* 803244C0 00320120 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 803244C4 00320124 38 00 00 16 */ li r0, 0x16 +/* 803244C8 00320128 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 803244CC 0032012C 38 80 00 00 */ li r4, 0 +/* 803244D0 00320130 7C 09 03 A6 */ mtctr r0 +lbl_803244D4: +/* 803244D4 00320134 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 803244D8 00320138 1C 00 00 0C */ mulli r0, r0, 0xc +/* 803244DC 0032013C 7C 03 00 AE */ lbzx r0, r3, r0 +/* 803244E0 00320140 2C 00 00 00 */ cmpwi r0, 0 +/* 803244E4 00320144 40 82 00 10 */ bne lbl_803244F4 +/* 803244E8 00320148 38 04 00 64 */ addi r0, r4, 0x64 +/* 803244EC 0032014C 54 1D 06 3E */ clrlwi r29, r0, 0x18 +/* 803244F0 00320150 48 00 00 E8 */ b lbl_803245D8 +lbl_803244F4: +/* 803244F4 00320154 38 84 00 01 */ addi r4, r4, 1 +/* 803244F8 00320158 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 803244FC 0032015C 1C 00 00 0C */ mulli r0, r0, 0xc +/* 80324500 00320160 7C 03 00 AE */ lbzx r0, r3, r0 +/* 80324504 00320164 2C 00 00 00 */ cmpwi r0, 0 +/* 80324508 00320168 40 82 00 10 */ bne lbl_80324518 +/* 8032450C 0032016C 38 04 00 64 */ addi r0, r4, 0x64 +/* 80324510 00320170 54 1D 06 3E */ clrlwi r29, r0, 0x18 +/* 80324514 00320174 48 00 00 C4 */ b lbl_803245D8 +lbl_80324518: +/* 80324518 00320178 38 84 00 01 */ addi r4, r4, 1 +/* 8032451C 0032017C 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 80324520 00320180 1C 00 00 0C */ mulli r0, r0, 0xc +/* 80324524 00320184 7C 03 00 AE */ lbzx r0, r3, r0 +/* 80324528 00320188 2C 00 00 00 */ cmpwi r0, 0 +/* 8032452C 0032018C 40 82 00 10 */ bne lbl_8032453C +/* 80324530 00320190 38 04 00 64 */ addi r0, r4, 0x64 +/* 80324534 00320194 54 1D 06 3E */ clrlwi r29, r0, 0x18 +/* 80324538 00320198 48 00 00 A0 */ b lbl_803245D8 +lbl_8032453C: +/* 8032453C 0032019C 38 84 00 01 */ addi r4, r4, 1 +/* 80324540 003201A0 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 80324544 003201A4 1C 00 00 0C */ mulli r0, r0, 0xc +/* 80324548 003201A8 7C 03 00 AE */ lbzx r0, r3, r0 +/* 8032454C 003201AC 2C 00 00 00 */ cmpwi r0, 0 +/* 80324550 003201B0 40 82 00 10 */ bne lbl_80324560 +/* 80324554 003201B4 38 04 00 64 */ addi r0, r4, 0x64 +/* 80324558 003201B8 54 1D 06 3E */ clrlwi r29, r0, 0x18 +/* 8032455C 003201BC 48 00 00 7C */ b lbl_803245D8 +lbl_80324560: +/* 80324560 003201C0 38 84 00 01 */ addi r4, r4, 1 +/* 80324564 003201C4 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 80324568 003201C8 1C 00 00 0C */ mulli r0, r0, 0xc +/* 8032456C 003201CC 7C 03 00 AE */ lbzx r0, r3, r0 +/* 80324570 003201D0 2C 00 00 00 */ cmpwi r0, 0 +/* 80324574 003201D4 40 82 00 10 */ bne lbl_80324584 +/* 80324578 003201D8 38 04 00 64 */ addi r0, r4, 0x64 +/* 8032457C 003201DC 54 1D 06 3E */ clrlwi r29, r0, 0x18 +/* 80324580 003201E0 48 00 00 58 */ b lbl_803245D8 +lbl_80324584: +/* 80324584 003201E4 38 84 00 01 */ addi r4, r4, 1 +/* 80324588 003201E8 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 8032458C 003201EC 1C 00 00 0C */ mulli r0, r0, 0xc +/* 80324590 003201F0 7C 03 00 AE */ lbzx r0, r3, r0 +/* 80324594 003201F4 2C 00 00 00 */ cmpwi r0, 0 +/* 80324598 003201F8 40 82 00 10 */ bne lbl_803245A8 +/* 8032459C 003201FC 38 04 00 64 */ addi r0, r4, 0x64 +/* 803245A0 00320200 54 1D 06 3E */ clrlwi r29, r0, 0x18 +/* 803245A4 00320204 48 00 00 34 */ b lbl_803245D8 +lbl_803245A8: +/* 803245A8 00320208 38 84 00 01 */ addi r4, r4, 1 +/* 803245AC 0032020C 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 803245B0 00320210 1C 00 00 0C */ mulli r0, r0, 0xc +/* 803245B4 00320214 7C 03 00 AE */ lbzx r0, r3, r0 +/* 803245B8 00320218 2C 00 00 00 */ cmpwi r0, 0 +/* 803245BC 0032021C 40 82 00 10 */ bne lbl_803245CC +/* 803245C0 00320220 38 04 00 64 */ addi r0, r4, 0x64 +/* 803245C4 00320224 54 1D 06 3E */ clrlwi r29, r0, 0x18 +/* 803245C8 00320228 48 00 00 10 */ b lbl_803245D8 +lbl_803245CC: +/* 803245CC 0032022C 38 84 00 01 */ addi r4, r4, 1 +/* 803245D0 00320230 42 00 FF 04 */ bdnz lbl_803244D4 +/* 803245D4 00320234 3B A0 00 00 */ li r29, 0 +lbl_803245D8: +/* 803245D8 00320238 2C 1D 00 00 */ cmpwi r29, 0 +/* 803245DC 0032023C 40 82 00 0C */ bne lbl_803245E8 +/* 803245E0 00320240 38 60 00 00 */ li r3, 0 +/* 803245E4 00320244 48 00 02 04 */ b lbl_803247E8 +lbl_803245E8: +/* 803245E8 00320248 57 A4 06 3E */ clrlwi r4, r29, 0x18 +/* 803245EC 0032024C 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 803245F0 00320250 38 84 FF 9C */ addi r4, r4, -100 +/* 803245F4 00320254 38 00 00 00 */ li r0, 0 +/* 803245F8 00320258 1F 44 00 0C */ mulli r26, r4, 0xc +/* 803245FC 0032025C 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80324600 00320260 7F A3 D1 AE */ stbx r29, r3, r26 +/* 80324604 00320264 7C 63 D2 14 */ add r3, r3, r26 +/* 80324608 00320268 98 03 00 01 */ stb r0, 1(r3) +/* 8032460C 0032026C B0 03 00 02 */ sth r0, 2(r3) +/* 80324610 00320270 80 83 00 04 */ lwz r4, 4(r3) +/* 80324614 00320274 2C 04 00 00 */ cmpwi r4, 0 +/* 80324618 00320278 41 82 00 10 */ beq lbl_80324628 +/* 8032461C 0032027C 38 60 00 04 */ li r3, 4 +/* 80324620 00320280 38 A0 00 00 */ li r5, 0 +/* 80324624 00320284 4B FF 83 65 */ bl func_8031C988 +lbl_80324628: +/* 80324628 00320288 3F 60 80 61 */ lis r27, lbl_8060FD88@ha +/* 8032462C 0032028C 7F C3 F3 78 */ mr r3, r30 +/* 80324630 00320290 3B 7B FD 88 */ addi r27, r27, lbl_8060FD88@l +/* 80324634 00320294 7F 9B D2 14 */ add r28, r27, r26 +/* 80324638 00320298 4B EA 25 2D */ bl strlen +/* 8032463C 0032029C 7C 64 1B 78 */ mr r4, r3 +/* 80324640 003202A0 38 60 00 04 */ li r3, 4 +/* 80324644 003202A4 38 84 00 01 */ addi r4, r4, 1 +/* 80324648 003202A8 4B FF 82 A5 */ bl func_8031C8EC +/* 8032464C 003202AC 2C 03 00 00 */ cmpwi r3, 0 +/* 80324650 003202B0 90 7C 00 04 */ stw r3, 4(r28) +/* 80324654 003202B4 40 82 01 5C */ bne lbl_803247B0 +/* 80324658 003202B8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032465C 003202BC 2C 03 00 00 */ cmpwi r3, 0 +/* 80324660 003202C0 41 82 01 48 */ beq lbl_803247A8 +/* 80324664 003202C4 38 00 00 02 */ li r0, 2 +/* 80324668 003202C8 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 8032466C 003202CC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324670 003202D0 80 63 00 04 */ lwz r3, 4(r3) +/* 80324674 003202D4 80 63 00 00 */ lwz r3, 0(r3) +/* 80324678 003202D8 48 02 56 F9 */ bl gt2CloseAllConnectionsHard +/* 8032467C 003202DC 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80324680 003202E0 3B A0 00 00 */ li r29, 0 +/* 80324684 003202E4 3C 80 FF FF */ lis r4, 0xFFFEC77F@ha +/* 80324688 003202E8 38 60 00 09 */ li r3, 9 +/* 8032468C 003202EC 9B A5 01 AC */ stb r29, 0x1ac(r5) +/* 80324690 003202F0 38 84 C7 7F */ addi r4, r4, 0xFFFEC77F@l +/* 80324694 003202F4 4B FF 7E ED */ bl func_8031C580 +/* 80324698 003202F8 38 60 00 01 */ li r3, 1 +/* 8032469C 003202FC 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 803246A0 00320300 38 A0 00 00 */ li r5, 0 +/* 803246A4 00320304 4B FF B5 AD */ bl func_8031FC50 +/* 803246A8 00320308 83 4D B0 68 */ lwz r26, lbl_80640328-_SDA_BASE_(r13) +/* 803246AC 0032030C 88 9A 00 15 */ lbz r4, 0x15(r26) +/* 803246B0 00320310 80 7A 02 1C */ lwz r3, 0x21c(r26) +/* 803246B4 00320314 38 04 FF FE */ addi r0, r4, -2 +/* 803246B8 00320318 7C 04 00 34 */ cntlzw r4, r0 +/* 803246BC 0032031C 7C 60 00 34 */ cntlzw r0, r3 +/* 803246C0 00320320 54 9B D9 7E */ srwi r27, r4, 5 +/* 803246C4 00320324 54 1C D9 7E */ srwi r28, r0, 5 +/* 803246C8 00320328 4B FF B4 81 */ bl func_8031FB48 +/* 803246CC 0032032C 81 9A 04 78 */ lwz r12, 0x478(r26) +/* 803246D0 00320330 7C 67 1B 78 */ mr r7, r3 +/* 803246D4 00320334 7F 85 E3 78 */ mr r5, r28 +/* 803246D8 00320338 7F 66 DB 78 */ mr r6, r27 +/* 803246DC 0032033C 81 1A 04 7C */ lwz r8, 0x47c(r26) +/* 803246E0 00320340 38 60 00 09 */ li r3, 9 +/* 803246E4 00320344 38 80 00 00 */ li r4, 0 +/* 803246E8 00320348 7D 89 03 A6 */ mtctr r12 +/* 803246EC 0032034C 4E 80 04 21 */ bctrl +/* 803246F0 00320350 3C 80 80 45 */ lis r4, lbl_80448038@ha +/* 803246F4 00320354 38 60 00 40 */ li r3, 0x40 +/* 803246F8 00320358 38 84 80 38 */ addi r4, r4, lbl_80448038@l +/* 803246FC 0032035C 4C C6 31 82 */ crclr 6 +/* 80324700 00320360 4B FF 84 35 */ bl func_8031CB34 +/* 80324704 00320364 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324708 00320368 2C 03 00 00 */ cmpwi r3, 0 +/* 8032470C 0032036C 41 82 00 9C */ beq lbl_803247A8 +/* 80324710 00320370 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80324714 00320374 2C 03 00 00 */ cmpwi r3, 0 +/* 80324718 00320378 41 82 00 10 */ beq lbl_80324728 +/* 8032471C 0032037C 48 03 9D 81 */ bl ServerBrowserFree +/* 80324720 00320380 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324724 00320384 93 A3 00 E4 */ stw r29, 0xe4(r3) +lbl_80324728: +/* 80324728 00320388 48 03 64 8D */ bl NNFreeNegotiateList +/* 8032472C 0032038C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324730 00320390 3B A0 00 00 */ li r29, 0 +/* 80324734 00320394 93 A3 01 A4 */ stw r29, 0x1a4(r3) +/* 80324738 00320398 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 8032473C 0032039C 2C 04 00 00 */ cmpwi r4, 0 +/* 80324740 003203A0 41 82 00 14 */ beq lbl_80324754 +/* 80324744 003203A4 38 60 00 04 */ li r3, 4 +/* 80324748 003203A8 38 A0 00 00 */ li r5, 0 +/* 8032474C 003203AC 4B FF 82 3D */ bl func_8031C988 +/* 80324750 003203B0 93 AD B0 60 */ stw r29, lbl_80640320-_SDA_BASE_(r13) +lbl_80324754: +/* 80324754 003203B4 3F 80 80 61 */ lis r28, lbl_8060FD88@ha +/* 80324758 003203B8 3B 60 00 00 */ li r27, 0 +/* 8032475C 003203BC 3B 9C FD 88 */ addi r28, r28, lbl_8060FD88@l +lbl_80324760: +/* 80324760 003203C0 80 9C 00 04 */ lwz r4, 4(r28) +/* 80324764 003203C4 2C 04 00 00 */ cmpwi r4, 0 +/* 80324768 003203C8 41 82 00 10 */ beq lbl_80324778 +/* 8032476C 003203CC 38 60 00 04 */ li r3, 4 +/* 80324770 003203D0 38 A0 00 00 */ li r5, 0 +/* 80324774 003203D4 4B FF 82 15 */ bl func_8031C988 +lbl_80324778: +/* 80324778 003203D8 3B 7B 00 01 */ addi r27, r27, 1 +/* 8032477C 003203DC 3B 9C 00 0C */ addi r28, r28, 0xc +/* 80324780 003203E0 2C 1B 00 9A */ cmpwi r27, 0x9a +/* 80324784 003203E4 41 80 FF DC */ blt lbl_80324760 +/* 80324788 003203E8 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 8032478C 003203EC 38 80 00 00 */ li r4, 0 +/* 80324790 003203F0 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80324794 003203F4 38 A0 07 38 */ li r5, 0x738 +/* 80324798 003203F8 4B CD F9 6D */ bl memset +/* 8032479C 003203FC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803247A0 00320400 38 00 00 01 */ li r0, 1 +/* 803247A4 00320404 98 03 00 18 */ stb r0, 0x18(r3) +lbl_803247A8: +/* 803247A8 00320408 38 60 00 00 */ li r3, 0 +/* 803247AC 0032040C 48 00 00 3C */ b lbl_803247E8 +lbl_803247B0: +/* 803247B0 00320410 7F C4 F3 78 */ mr r4, r30 +/* 803247B4 00320414 4B EA 9B 1D */ bl strcpy +/* 803247B8 00320418 3C 80 80 45 */ lis r4, lbl_80448050@ha +/* 803247BC 0032041C 80 DF 00 00 */ lwz r6, 0(r31) +/* 803247C0 00320420 7F C5 F3 78 */ mr r5, r30 +/* 803247C4 00320424 38 60 00 04 */ li r3, 4 +/* 803247C8 00320428 38 84 80 50 */ addi r4, r4, lbl_80448050@l +/* 803247CC 0032042C 4C C6 31 82 */ crclr 6 +/* 803247D0 00320430 4B FF 83 65 */ bl func_8031CB34 +/* 803247D4 00320434 93 FC 00 08 */ stw r31, 8(r28) +/* 803247D8 00320438 57 A3 06 3E */ clrlwi r3, r29, 0x18 +/* 803247DC 0032043C 80 9C 00 04 */ lwz r4, 4(r28) +/* 803247E0 00320440 48 02 BF ED */ bl qr2_register_keyA +/* 803247E4 00320444 7F A3 EB 78 */ mr r3, r29 +lbl_803247E8: +/* 803247E8 00320448 39 61 00 20 */ addi r11, r1, 0x20 +/* 803247EC 0032044C 4B EA 29 85 */ bl _restgpr_26 +/* 803247F0 00320450 80 01 00 24 */ lwz r0, 0x24(r1) +/* 803247F4 00320454 7C 08 03 A6 */ mtlr r0 +/* 803247F8 00320458 38 21 00 20 */ addi r1, r1, 0x20 +/* 803247FC 0032045C 4E 80 00 20 */ blr + +.global func_80324800 +func_80324800: +/* 80324800 00320460 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80324804 00320464 7C 08 02 A6 */ mflr r0 +/* 80324808 00320468 90 01 00 24 */ stw r0, 0x24(r1) +/* 8032480C 0032046C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80324810 00320470 7C BF 2B 78 */ mr r31, r5 +/* 80324814 00320474 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80324818 00320478 7C 9E 23 78 */ mr r30, r4 +/* 8032481C 0032047C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80324820 00320480 7C 7D 1B 78 */ mr r29, r3 +/* 80324824 00320484 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80324828 00320488 2C 00 00 00 */ cmpwi r0, 0 +/* 8032482C 0032048C 41 82 00 10 */ beq lbl_8032483C +/* 80324830 00320490 4B FF 7D 3D */ bl PlatAudio_IsEntireSampleFileInMem +/* 80324834 00320494 2C 03 00 00 */ cmpwi r3, 0 +/* 80324838 00320498 41 82 00 0C */ beq lbl_80324844 +lbl_8032483C: +/* 8032483C 0032049C 7F E3 FB 78 */ mr r3, r31 +/* 80324840 003204A0 48 00 00 30 */ b lbl_80324870 +lbl_80324844: +/* 80324844 003204A4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324848 003204A8 7F A4 EB 78 */ mr r4, r29 +/* 8032484C 003204AC 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80324850 003204B0 48 03 A0 61 */ bl ServerBrowserGetServer +/* 80324854 003204B4 2C 03 00 00 */ cmpwi r3, 0 +/* 80324858 003204B8 41 82 00 14 */ beq lbl_8032486C +/* 8032485C 003204BC 7F C4 F3 78 */ mr r4, r30 +/* 80324860 003204C0 7F E5 FB 78 */ mr r5, r31 +/* 80324864 003204C4 48 03 8D FD */ bl SBServerGetIntValueA +/* 80324868 003204C8 48 00 00 08 */ b lbl_80324870 +lbl_8032486C: +/* 8032486C 003204CC 7F E3 FB 78 */ mr r3, r31 +lbl_80324870: +/* 80324870 003204D0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80324874 003204D4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80324878 003204D8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8032487C 003204DC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80324880 003204E0 7C 08 03 A6 */ mtlr r0 +/* 80324884 003204E4 38 21 00 20 */ addi r1, r1, 0x20 +/* 80324888 003204E8 4E 80 00 20 */ blr + +.global func_8032488C +func_8032488C: +/* 8032488C 003204EC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80324890 003204F0 7C 08 02 A6 */ mflr r0 +/* 80324894 003204F4 3C C0 80 45 */ lis r6, lbl_804480A8@ha +/* 80324898 003204F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8032489C 003204FC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 803248A0 00320500 7C 9F 23 78 */ mr r31, r4 +/* 803248A4 00320504 38 86 80 A8 */ addi r4, r6, lbl_804480A8@l +/* 803248A8 00320508 93 C1 00 08 */ stw r30, 8(r1) +/* 803248AC 0032050C 7C 7E 1B 78 */ mr r30, r3 +/* 803248B0 00320510 38 60 00 04 */ li r3, 4 +/* 803248B4 00320514 7F C5 F3 78 */ mr r5, r30 +/* 803248B8 00320518 4C C6 31 82 */ crclr 6 +/* 803248BC 0032051C 4B FF 82 79 */ bl func_8031CB34 +/* 803248C0 00320520 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803248C4 00320524 2C 03 00 00 */ cmpwi r3, 0 +/* 803248C8 00320528 40 82 00 0C */ bne lbl_803248D4 +/* 803248CC 0032052C 38 60 00 01 */ li r3, 1 +/* 803248D0 00320530 48 00 01 24 */ b lbl_803249F4 +lbl_803248D4: +/* 803248D4 00320534 2C 1F 00 00 */ cmpwi r31, 0 +/* 803248D8 00320538 40 82 00 0C */ bne lbl_803248E4 +/* 803248DC 0032053C 38 60 00 03 */ li r3, 3 +/* 803248E0 00320540 48 00 01 14 */ b lbl_803249F4 +lbl_803248E4: +/* 803248E4 00320544 2C 1E 00 01 */ cmpwi r30, 1 +/* 803248E8 00320548 41 82 00 E0 */ beq lbl_803249C8 +/* 803248EC 0032054C 40 80 01 04 */ bge lbl_803249F0 +/* 803248F0 00320550 2C 1E 00 00 */ cmpwi r30, 0 +/* 803248F4 00320554 40 80 00 08 */ bge lbl_803248FC +/* 803248F8 00320558 48 00 00 F8 */ b lbl_803249F0 +lbl_803248FC: +/* 803248FC 0032055C 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 80324900 00320560 2C 00 00 13 */ cmpwi r0, 0x13 +/* 80324904 00320564 40 82 00 0C */ bne lbl_80324910 +/* 80324908 00320568 38 60 00 01 */ li r3, 1 +/* 8032490C 0032056C 48 00 00 E8 */ b lbl_803249F4 +lbl_80324910: +/* 80324910 00320570 88 1F 00 00 */ lbz r0, 0(r31) +/* 80324914 00320574 2C 00 00 00 */ cmpwi r0, 0 +/* 80324918 00320578 41 82 00 18 */ beq lbl_80324930 +/* 8032491C 0032057C 88 1F 00 01 */ lbz r0, 1(r31) +/* 80324920 00320580 28 00 00 01 */ cmplwi r0, 1 +/* 80324924 00320584 41 81 00 0C */ bgt lbl_80324930 +/* 80324928 00320588 38 60 00 03 */ li r3, 3 +/* 8032492C 0032058C 48 00 00 C8 */ b lbl_803249F4 +lbl_80324930: +/* 80324930 00320590 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 80324934 00320594 2C 03 00 00 */ cmpwi r3, 0 +/* 80324938 00320598 40 82 00 24 */ bne lbl_8032495C +/* 8032493C 0032059C 38 60 00 04 */ li r3, 4 +/* 80324940 003205A0 38 80 00 20 */ li r4, 0x20 +/* 80324944 003205A4 4B FF 7F A9 */ bl func_8031C8EC +/* 80324948 003205A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032494C 003205AC 90 6D B0 64 */ stw r3, lbl_80640324-_SDA_BASE_(r13) +/* 80324950 003205B0 40 82 00 0C */ bne lbl_8032495C +/* 80324954 003205B4 38 60 00 04 */ li r3, 4 +/* 80324958 003205B8 48 00 00 9C */ b lbl_803249F4 +lbl_8032495C: +/* 8032495C 003205BC 88 1F 00 00 */ lbz r0, 0(r31) +/* 80324960 003205C0 38 80 00 00 */ li r4, 0 +/* 80324964 003205C4 98 03 00 00 */ stb r0, 0(r3) +/* 80324968 003205C8 88 1F 00 01 */ lbz r0, 1(r31) +/* 8032496C 003205CC 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 80324970 003205D0 98 03 00 01 */ stb r0, 1(r3) +/* 80324974 003205D4 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 80324978 003205D8 98 83 00 02 */ stb r4, 2(r3) +/* 8032497C 003205DC 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 80324980 003205E0 98 83 00 03 */ stb r4, 3(r3) +/* 80324984 003205E4 80 1F 00 04 */ lwz r0, 4(r31) +/* 80324988 003205E8 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 8032498C 003205EC 90 03 00 04 */ stw r0, 4(r3) +/* 80324990 003205F0 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 80324994 003205F4 90 83 00 08 */ stw r4, 8(r3) +/* 80324998 003205F8 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 8032499C 003205FC 90 83 00 0C */ stw r4, 0xc(r3) +/* 803249A0 00320600 4B F4 DE 19 */ bl OSGetTime +/* 803249A4 00320604 80 AD B0 64 */ lwz r5, lbl_80640324-_SDA_BASE_(r13) +/* 803249A8 00320608 90 85 00 14 */ stw r4, 0x14(r5) +/* 803249AC 0032060C 90 65 00 10 */ stw r3, 0x10(r5) +/* 803249B0 00320610 4B F4 DE 09 */ bl OSGetTime +/* 803249B4 00320614 80 AD B0 64 */ lwz r5, lbl_80640324-_SDA_BASE_(r13) +/* 803249B8 00320618 90 85 00 1C */ stw r4, 0x1c(r5) +/* 803249BC 0032061C 90 65 00 18 */ stw r3, 0x18(r5) +/* 803249C0 00320620 38 60 00 00 */ li r3, 0 +/* 803249C4 00320624 48 00 00 30 */ b lbl_803249F4 +lbl_803249C8: +/* 803249C8 00320628 80 DF 00 00 */ lwz r6, 0(r31) +/* 803249CC 0032062C 38 00 00 00 */ li r0, 0 +/* 803249D0 00320630 38 8D B0 6C */ addi r4, r13, lbl_8064032C-_SDA_BASE_ +/* 803249D4 00320634 38 60 00 00 */ li r3, 0 +/* 803249D8 00320638 7C A6 00 D0 */ neg r5, r6 +/* 803249DC 0032063C 98 04 00 01 */ stb r0, 1(r4) +/* 803249E0 00320640 7C A0 33 78 */ or r0, r5, r6 +/* 803249E4 00320644 54 00 0F FE */ srwi r0, r0, 0x1f +/* 803249E8 00320648 98 0D B0 6C */ stb r0, lbl_8064032C-_SDA_BASE_(r13) +/* 803249EC 0032064C 48 00 00 08 */ b lbl_803249F4 +lbl_803249F0: +/* 803249F0 00320650 38 60 00 02 */ li r3, 2 +lbl_803249F4: +/* 803249F4 00320654 80 01 00 14 */ lwz r0, 0x14(r1) +/* 803249F8 00320658 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 803249FC 0032065C 83 C1 00 08 */ lwz r30, 8(r1) +/* 80324A00 00320660 7C 08 03 A6 */ mtlr r0 +/* 80324A04 00320664 38 21 00 10 */ addi r1, r1, 0x10 +/* 80324A08 00320668 4E 80 00 20 */ blr + +.global func_80324A0C +func_80324A0C: +/* 80324A0C 0032066C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80324A10 00320670 7C 08 02 A6 */ mflr r0 +/* 80324A14 00320674 90 01 00 24 */ stw r0, 0x24(r1) +/* 80324A18 00320678 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80324A1C 0032067C 3B E0 00 00 */ li r31, 0 +/* 80324A20 00320680 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80324A24 00320684 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80324A28 00320688 90 6D B0 68 */ stw r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A2C 0032068C 90 83 00 00 */ stw r4, 0(r3) +/* 80324A30 00320690 38 80 00 00 */ li r4, 0 +/* 80324A34 00320694 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A38 00320698 90 A3 00 04 */ stw r5, 4(r3) +/* 80324A3C 0032069C 38 A0 00 40 */ li r5, 0x40 +/* 80324A40 003206A0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A44 003206A4 90 C3 00 08 */ stw r6, 8(r3) +/* 80324A48 003206A8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A4C 003206AC 93 E3 00 10 */ stw r31, 0x10(r3) +/* 80324A50 003206B0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A54 003206B4 93 E3 00 1C */ stw r31, 0x1c(r3) +/* 80324A58 003206B8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A5C 003206BC B3 E3 00 1A */ sth r31, 0x1a(r3) +/* 80324A60 003206C0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A64 003206C4 93 E3 00 E4 */ stw r31, 0xe4(r3) +/* 80324A68 003206C8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A6C 003206CC 93 E3 01 A4 */ stw r31, 0x1a4(r3) +/* 80324A70 003206D0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A74 003206D4 9B E3 00 0F */ stb r31, 0xf(r3) +/* 80324A78 003206D8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A7C 003206DC 9B E3 00 19 */ stb r31, 0x19(r3) +/* 80324A80 003206E0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A84 003206E4 9B E3 01 B3 */ stb r31, 0x1b3(r3) +/* 80324A88 003206E8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A8C 003206EC B3 E3 01 BA */ sth r31, 0x1ba(r3) +/* 80324A90 003206F0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A94 003206F4 93 E3 01 E8 */ stw r31, 0x1e8(r3) +/* 80324A98 003206F8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324A9C 003206FC 93 E3 02 10 */ stw r31, 0x210(r3) +/* 80324AA0 00320700 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AA4 00320704 90 E3 03 04 */ stw r7, 0x304(r3) +/* 80324AA8 00320708 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AAC 0032070C 91 03 03 08 */ stw r8, 0x308(r3) +/* 80324AB0 00320710 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AB4 00320714 91 23 03 0C */ stw r9, 0x30c(r3) +/* 80324AB8 00320718 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324ABC 0032071C 91 43 03 10 */ stw r10, 0x310(r3) +/* 80324AC0 00320720 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AC4 00320724 38 63 03 14 */ addi r3, r3, 0x314 +/* 80324AC8 00320728 4B CD F6 3D */ bl memset +/* 80324ACC 0032072C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AD0 00320730 3F A0 80 61 */ lis r29, lbl_8060FD88@ha +/* 80324AD4 00320734 3B C0 00 00 */ li r30, 0 +/* 80324AD8 00320738 93 E3 03 54 */ stw r31, 0x354(r3) +/* 80324ADC 0032073C 3B BD FD 88 */ addi r29, r29, lbl_8060FD88@l +/* 80324AE0 00320740 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AE4 00320744 93 E3 04 78 */ stw r31, 0x478(r3) +/* 80324AE8 00320748 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AEC 0032074C 93 E3 04 7C */ stw r31, 0x47c(r3) +/* 80324AF0 00320750 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AF4 00320754 93 E3 04 88 */ stw r31, 0x488(r3) +/* 80324AF8 00320758 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324AFC 0032075C 93 E3 04 8C */ stw r31, 0x48c(r3) +/* 80324B00 00320760 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324B04 00320764 93 E3 04 90 */ stw r31, 0x490(r3) +/* 80324B08 00320768 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324B0C 0032076C 93 E3 04 94 */ stw r31, 0x494(r3) +/* 80324B10 00320770 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324B14 00320774 93 E3 01 7C */ stw r31, 0x17c(r3) +/* 80324B18 00320778 93 E3 01 78 */ stw r31, 0x178(r3) +lbl_80324B1C: +/* 80324B1C 0032077C 80 9D 00 04 */ lwz r4, 4(r29) +/* 80324B20 00320780 2C 04 00 00 */ cmpwi r4, 0 +/* 80324B24 00320784 41 82 00 10 */ beq lbl_80324B34 +/* 80324B28 00320788 38 60 00 04 */ li r3, 4 +/* 80324B2C 0032078C 38 A0 00 00 */ li r5, 0 +/* 80324B30 00320790 4B FF 7E 59 */ bl func_8031C988 +lbl_80324B34: +/* 80324B34 00320794 3B DE 00 01 */ addi r30, r30, 1 +/* 80324B38 00320798 3B BD 00 0C */ addi r29, r29, 0xc +/* 80324B3C 0032079C 2C 1E 00 9A */ cmpwi r30, 0x9a +/* 80324B40 003207A0 41 80 FF DC */ blt lbl_80324B1C +/* 80324B44 003207A4 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 80324B48 003207A8 38 80 00 00 */ li r4, 0 +/* 80324B4C 003207AC 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80324B50 003207B0 38 A0 07 38 */ li r5, 0x738 +/* 80324B54 003207B4 4B CD F5 B1 */ bl memset +/* 80324B58 003207B8 38 00 00 00 */ li r0, 0 +/* 80324B5C 003207BC 38 8D B0 6C */ addi r4, r13, lbl_8064032C-_SDA_BASE_ +/* 80324B60 003207C0 98 0D B0 6C */ stb r0, lbl_8064032C-_SDA_BASE_(r13) +/* 80324B64 003207C4 38 60 00 00 */ li r3, 0 +/* 80324B68 003207C8 98 04 00 01 */ stb r0, 1(r4) +/* 80324B6C 003207CC B0 04 00 02 */ sth r0, 2(r4) +/* 80324B70 003207D0 48 00 33 F5 */ bl func_80327F64 +/* 80324B74 003207D4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80324B78 003207D8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80324B7C 003207DC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80324B80 003207E0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80324B84 003207E4 7C 08 03 A6 */ mtlr r0 +/* 80324B88 003207E8 38 21 00 20 */ addi r1, r1, 0x20 +/* 80324B8C 003207EC 4E 80 00 20 */ blr + +.global func_80324B90 +func_80324B90: +/* 80324B90 003207F0 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 80324B94 003207F4 7C 08 02 A6 */ mflr r0 +/* 80324B98 003207F8 90 01 00 54 */ stw r0, 0x54(r1) +/* 80324B9C 003207FC 39 61 00 50 */ addi r11, r1, 0x50 +/* 80324BA0 00320800 4B EA 25 75 */ bl _savegpr_22 +/* 80324BA4 00320804 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80324BA8 00320808 80 04 00 10 */ lwz r0, 0x10(r4) +/* 80324BAC 0032080C 2C 00 00 00 */ cmpwi r0, 0 +/* 80324BB0 00320810 41 82 00 20 */ beq lbl_80324BD0 +/* 80324BB4 00320814 3C 80 80 45 */ lis r4, lbl_80448100@ha +/* 80324BB8 00320818 38 60 00 40 */ li r3, 0x40 +/* 80324BBC 0032081C 38 84 81 00 */ addi r4, r4, lbl_80448100@l +/* 80324BC0 00320820 4C C6 31 82 */ crclr 6 +/* 80324BC4 00320824 4B FF 7F 71 */ bl func_8031CB34 +/* 80324BC8 00320828 38 60 00 00 */ li r3, 0 +/* 80324BCC 0032082C 48 00 01 30 */ b lbl_80324CFC +lbl_80324BD0: +/* 80324BD0 00320830 3F 20 80 33 */ lis r25, func_8032FE1C@ha +/* 80324BD4 00320834 3F 40 80 33 */ lis r26, func_8032FE20@ha +/* 80324BD8 00320838 3F 60 80 33 */ lis r27, func_8032FE24@ha +/* 80324BDC 0032083C 3F 80 80 33 */ lis r28, func_8032FF14@ha +/* 80324BE0 00320840 3F A0 80 33 */ lis r29, func_8032FF1C@ha +/* 80324BE4 00320844 90 64 02 10 */ stw r3, 0x210(r4) +/* 80324BE8 00320848 3B 39 FE 1C */ addi r25, r25, func_8032FE1C@l +/* 80324BEC 0032084C 3B 5A FE 20 */ addi r26, r26, func_8032FE20@l +/* 80324BF0 00320850 3B 7B FE 24 */ addi r27, r27, func_8032FE24@l +/* 80324BF4 00320854 3B 9C FF 14 */ addi r28, r28, func_8032FF14@l +/* 80324BF8 00320858 3B BD FF 1C */ addi r29, r29, func_8032FF1C@l +/* 80324BFC 0032085C 3A C0 00 00 */ li r22, 0 +/* 80324C00 00320860 3B C0 00 00 */ li r30, 0 +/* 80324C04 00320864 3F E0 80 33 */ lis r31, 0x8033 +lbl_80324C08: +/* 80324C08 00320868 82 ED B0 68 */ lwz r23, lbl_80640328-_SDA_BASE_(r13) +/* 80324C0C 0032086C 80 77 00 04 */ lwz r3, 4(r23) +/* 80324C10 00320870 80 63 00 00 */ lwz r3, 0(r3) +/* 80324C14 00320874 48 02 51 AD */ bl gt2GetLocalPort +/* 80324C18 00320878 80 97 00 04 */ lwz r4, 4(r23) +/* 80324C1C 0032087C 54 78 04 3E */ clrlwi r24, r3, 0x10 +/* 80324C20 00320880 80 64 00 00 */ lwz r3, 0(r4) +/* 80324C24 00320884 48 02 51 C5 */ bl gt2GetSocketSOCKET +/* 80324C28 00320888 93 21 00 08 */ stw r25, 8(r1) +/* 80324C2C 0032088C 7C 64 1B 78 */ mr r4, r3 +/* 80324C30 00320890 7F 05 C3 78 */ mr r5, r24 +/* 80324C34 00320894 38 77 00 10 */ addi r3, r23, 0x10 +/* 80324C38 00320898 93 41 00 0C */ stw r26, 0xc(r1) +/* 80324C3C 0032089C 39 5F FB E8 */ addi r10, r31, -1048 +/* 80324C40 003208A0 39 00 00 01 */ li r8, 1 +/* 80324C44 003208A4 39 20 00 01 */ li r9, 1 +/* 80324C48 003208A8 93 61 00 10 */ stw r27, 0x10(r1) +/* 80324C4C 003208AC 93 81 00 14 */ stw r28, 0x14(r1) +/* 80324C50 003208B0 93 A1 00 18 */ stw r29, 0x18(r1) +/* 80324C54 003208B4 93 C1 00 1C */ stw r30, 0x1c(r1) +/* 80324C58 003208B8 80 D7 03 04 */ lwz r6, 0x304(r23) +/* 80324C5C 003208BC 80 F7 03 08 */ lwz r7, 0x308(r23) +/* 80324C60 003208C0 48 02 91 D9 */ bl qr2_init_socketA +/* 80324C64 003208C4 2C 03 00 00 */ cmpwi r3, 0 +/* 80324C68 003208C8 7C 77 1B 78 */ mr r23, r3 +/* 80324C6C 003208CC 41 82 00 30 */ beq lbl_80324C9C +/* 80324C70 003208D0 2C 03 00 03 */ cmpwi r3, 3 +/* 80324C74 003208D4 40 82 00 0C */ bne lbl_80324C80 +/* 80324C78 003208D8 2C 16 00 04 */ cmpwi r22, 4 +/* 80324C7C 003208DC 40 82 00 14 */ bne lbl_80324C90 +lbl_80324C80: +/* 80324C80 003208E0 7E E3 BB 78 */ mr r3, r23 +/* 80324C84 003208E4 48 00 9A 41 */ bl func_8032E6C4 +/* 80324C88 003208E8 7E E3 BB 78 */ mr r3, r23 +/* 80324C8C 003208EC 48 00 00 70 */ b lbl_80324CFC +lbl_80324C90: +/* 80324C90 003208F0 3A D6 00 01 */ addi r22, r22, 1 +/* 80324C94 003208F4 2C 16 00 05 */ cmpwi r22, 5 +/* 80324C98 003208F8 41 80 FF 70 */ blt lbl_80324C08 +lbl_80324C9C: +/* 80324C9C 003208FC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324CA0 00320900 38 00 00 00 */ li r0, 0 +/* 80324CA4 00320904 3C 80 80 33 */ lis r4, func_8032FF84@ha +/* 80324CA8 00320908 90 03 00 1C */ stw r0, 0x1c(r3) +/* 80324CAC 0032090C 38 84 FF 84 */ addi r4, r4, func_8032FF84@l +/* 80324CB0 00320910 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324CB4 00320914 B0 03 00 1A */ sth r0, 0x1a(r3) +/* 80324CB8 00320918 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324CBC 0032091C 80 63 00 10 */ lwz r3, 0x10(r3) +/* 80324CC0 00320920 48 02 96 0D */ bl qr2_register_publicaddress_callback +/* 80324CC4 00320924 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324CC8 00320928 3C 80 80 33 */ lis r4, func_8032FFE4@ha +/* 80324CCC 0032092C 38 84 FF E4 */ addi r4, r4, func_8032FFE4@l +/* 80324CD0 00320930 80 63 00 10 */ lwz r3, 0x10(r3) +/* 80324CD4 00320934 48 02 95 D1 */ bl qr2_register_natneg_callback +/* 80324CD8 00320938 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324CDC 0032093C 3C 80 80 33 */ lis r4, func_803300D0@ha +/* 80324CE0 00320940 38 84 00 D0 */ addi r4, r4, func_803300D0@l +/* 80324CE4 00320944 80 63 00 10 */ lwz r3, 0x10(r3) +/* 80324CE8 00320948 48 02 95 D1 */ bl qr2_register_clientmessage_callback +/* 80324CEC 0032094C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324CF0 00320950 80 63 00 10 */ lwz r3, 0x10(r3) +/* 80324CF4 00320954 48 02 98 CD */ bl qr2_send_statechanged +/* 80324CF8 00320958 7E E3 BB 78 */ mr r3, r23 +lbl_80324CFC: +/* 80324CFC 0032095C 39 61 00 50 */ addi r11, r1, 0x50 +/* 80324D00 00320960 4B EA 24 61 */ bl _restgpr_22 +/* 80324D04 00320964 80 01 00 54 */ lwz r0, 0x54(r1) +/* 80324D08 00320968 7C 08 03 A6 */ mtlr r0 +/* 80324D0C 0032096C 38 21 00 50 */ addi r1, r1, 0x50 +/* 80324D10 00320970 4E 80 00 20 */ blr + +.global func_80324D14 +func_80324D14: +/* 80324D14 00320974 94 21 FE C0 */ stwu r1, -0x140(r1) +/* 80324D18 00320978 7C 08 02 A6 */ mflr r0 +/* 80324D1C 0032097C 90 01 01 44 */ stw r0, 0x144(r1) +/* 80324D20 00320980 39 61 01 40 */ addi r11, r1, 0x140 +/* 80324D24 00320984 4B EA 23 F9 */ bl _savegpr_24 +/* 80324D28 00320988 80 0D B0 60 */ lwz r0, lbl_80640320-_SDA_BASE_(r13) +/* 80324D2C 0032098C 3F C0 80 44 */ lis r30, lbl_80447FE0@ha +/* 80324D30 00320990 7C 79 1B 78 */ mr r25, r3 +/* 80324D34 00320994 7C 98 23 78 */ mr r24, r4 +/* 80324D38 00320998 2C 00 00 00 */ cmpwi r0, 0 +/* 80324D3C 0032099C 7C BA 2B 78 */ mr r26, r5 +/* 80324D40 003209A0 7C DB 33 78 */ mr r27, r6 +/* 80324D44 003209A4 7C FC 3B 78 */ mr r28, r7 +/* 80324D48 003209A8 7D 1D 43 78 */ mr r29, r8 +/* 80324D4C 003209AC 3B DE 7F E0 */ addi r30, r30, lbl_80447FE0@l +/* 80324D50 003209B0 41 82 00 1C */ beq lbl_80324D6C +/* 80324D54 003209B4 7C 04 03 78 */ mr r4, r0 +/* 80324D58 003209B8 38 60 00 04 */ li r3, 4 +/* 80324D5C 003209BC 38 A0 00 00 */ li r5, 0 +/* 80324D60 003209C0 4B FF 7C 29 */ bl func_8031C988 +/* 80324D64 003209C4 38 00 00 00 */ li r0, 0 +/* 80324D68 003209C8 90 0D B0 60 */ stw r0, lbl_80640320-_SDA_BASE_(r13) +lbl_80324D6C: +/* 80324D6C 003209CC 2C 18 00 00 */ cmpwi r24, 0 +/* 80324D70 003209D0 41 82 01 EC */ beq lbl_80324F5C +/* 80324D74 003209D4 38 00 00 20 */ li r0, 0x20 +/* 80324D78 003209D8 38 7E 01 9C */ addi r3, r30, 0x19c +/* 80324D7C 003209DC 90 01 00 08 */ stw r0, 8(r1) +/* 80324D80 003209E0 38 80 00 03 */ li r4, 3 +/* 80324D84 003209E4 39 3E 01 A8 */ addi r9, r30, 0x1a8 +/* 80324D88 003209E8 38 0D 8D C0 */ addi r0, r13, lbl_8063E080-_SDA_BASE_ +/* 80324D8C 003209EC 90 61 00 0C */ stw r3, 0xc(r1) +/* 80324D90 003209F0 38 61 00 20 */ addi r3, r1, 0x20 +/* 80324D94 003209F4 38 BE 01 38 */ addi r5, r30, 0x138 +/* 80324D98 003209F8 38 DE 01 90 */ addi r6, r30, 0x190 +/* 80324D9C 003209FC 90 81 00 10 */ stw r4, 0x10(r1) +/* 80324DA0 00320A00 38 80 01 00 */ li r4, 0x100 +/* 80324DA4 00320A04 38 E0 00 03 */ li r7, 3 +/* 80324DA8 00320A08 39 0D 8D C0 */ addi r8, r13, lbl_8063E080-_SDA_BASE_ +/* 80324DAC 00320A0C 91 21 00 14 */ stw r9, 0x14(r1) +/* 80324DB0 00320A10 39 20 FF FF */ li r9, -1 +/* 80324DB4 00320A14 39 40 00 20 */ li r10, 0x20 +/* 80324DB8 00320A18 90 01 00 18 */ stw r0, 0x18(r1) +/* 80324DBC 00320A1C 4C C6 31 82 */ crclr 6 +/* 80324DC0 00320A20 4B EA 7C 65 */ bl snprintf +/* 80324DC4 00320A24 7C 7F 1B 78 */ mr r31, r3 +/* 80324DC8 00320A28 38 6D 8D C8 */ addi r3, r13, lbl_8063E088-_SDA_BASE_ +/* 80324DCC 00320A2C 4B EA 1D 99 */ bl strlen +/* 80324DD0 00320A30 20 1F 01 00 */ subfic r0, r31, 0x100 +/* 80324DD4 00320A34 7F E3 00 50 */ subf r31, r3, r0 +/* 80324DD8 00320A38 38 60 00 04 */ li r3, 4 +/* 80324DDC 00320A3C 7F E4 FB 78 */ mr r4, r31 +/* 80324DE0 00320A40 4B FF 7B 0D */ bl func_8031C8EC +/* 80324DE4 00320A44 2C 03 00 00 */ cmpwi r3, 0 +/* 80324DE8 00320A48 90 6D B0 60 */ stw r3, lbl_80640320-_SDA_BASE_(r13) +/* 80324DEC 00320A4C 40 82 01 54 */ bne lbl_80324F40 +/* 80324DF0 00320A50 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324DF4 00320A54 2C 03 00 00 */ cmpwi r3, 0 +/* 80324DF8 00320A58 41 82 02 E8 */ beq lbl_803250E0 +/* 80324DFC 00320A5C 38 00 00 02 */ li r0, 2 +/* 80324E00 00320A60 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80324E04 00320A64 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324E08 00320A68 80 63 00 04 */ lwz r3, 4(r3) +/* 80324E0C 00320A6C 80 63 00 00 */ lwz r3, 0(r3) +/* 80324E10 00320A70 48 02 4F 61 */ bl gt2CloseAllConnectionsHard +/* 80324E14 00320A74 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80324E18 00320A78 3B 20 00 00 */ li r25, 0 +/* 80324E1C 00320A7C 3C 80 FF FF */ lis r4, 0xFFFEC77F@ha +/* 80324E20 00320A80 38 60 00 09 */ li r3, 9 +/* 80324E24 00320A84 9B 25 01 AC */ stb r25, 0x1ac(r5) +/* 80324E28 00320A88 38 84 C7 7F */ addi r4, r4, 0xFFFEC77F@l +/* 80324E2C 00320A8C 4B FF 77 55 */ bl func_8031C580 +/* 80324E30 00320A90 38 60 00 01 */ li r3, 1 +/* 80324E34 00320A94 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80324E38 00320A98 38 A0 00 00 */ li r5, 0 +/* 80324E3C 00320A9C 4B FF AE 15 */ bl func_8031FC50 +/* 80324E40 00320AA0 83 8D B0 68 */ lwz r28, lbl_80640328-_SDA_BASE_(r13) +/* 80324E44 00320AA4 88 9C 00 15 */ lbz r4, 0x15(r28) +/* 80324E48 00320AA8 80 7C 02 1C */ lwz r3, 0x21c(r28) +/* 80324E4C 00320AAC 38 04 FF FE */ addi r0, r4, -2 +/* 80324E50 00320AB0 7C 04 00 34 */ cntlzw r4, r0 +/* 80324E54 00320AB4 7C 60 00 34 */ cntlzw r0, r3 +/* 80324E58 00320AB8 54 9A D9 7E */ srwi r26, r4, 5 +/* 80324E5C 00320ABC 54 1B D9 7E */ srwi r27, r0, 5 +/* 80324E60 00320AC0 4B FF AC E9 */ bl func_8031FB48 +/* 80324E64 00320AC4 81 9C 04 78 */ lwz r12, 0x478(r28) +/* 80324E68 00320AC8 7C 67 1B 78 */ mr r7, r3 +/* 80324E6C 00320ACC 7F 65 DB 78 */ mr r5, r27 +/* 80324E70 00320AD0 7F 46 D3 78 */ mr r6, r26 +/* 80324E74 00320AD4 81 1C 04 7C */ lwz r8, 0x47c(r28) +/* 80324E78 00320AD8 38 60 00 09 */ li r3, 9 +/* 80324E7C 00320ADC 38 80 00 00 */ li r4, 0 +/* 80324E80 00320AE0 7D 89 03 A6 */ mtctr r12 +/* 80324E84 00320AE4 4E 80 04 21 */ bctrl +/* 80324E88 00320AE8 38 9E 00 58 */ addi r4, r30, 0x58 +/* 80324E8C 00320AEC 38 60 00 40 */ li r3, 0x40 +/* 80324E90 00320AF0 4C C6 31 82 */ crclr 6 +/* 80324E94 00320AF4 4B FF 7C A1 */ bl func_8031CB34 +/* 80324E98 00320AF8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324E9C 00320AFC 2C 03 00 00 */ cmpwi r3, 0 +/* 80324EA0 00320B00 41 82 02 40 */ beq lbl_803250E0 +/* 80324EA4 00320B04 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80324EA8 00320B08 2C 03 00 00 */ cmpwi r3, 0 +/* 80324EAC 00320B0C 41 82 00 10 */ beq lbl_80324EBC +/* 80324EB0 00320B10 48 03 95 ED */ bl ServerBrowserFree +/* 80324EB4 00320B14 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324EB8 00320B18 93 23 00 E4 */ stw r25, 0xe4(r3) +lbl_80324EBC: +/* 80324EBC 00320B1C 48 03 5C F9 */ bl NNFreeNegotiateList +/* 80324EC0 00320B20 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324EC4 00320B24 3B 20 00 00 */ li r25, 0 +/* 80324EC8 00320B28 93 23 01 A4 */ stw r25, 0x1a4(r3) +/* 80324ECC 00320B2C 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 80324ED0 00320B30 2C 04 00 00 */ cmpwi r4, 0 +/* 80324ED4 00320B34 41 82 00 14 */ beq lbl_80324EE8 +/* 80324ED8 00320B38 38 60 00 04 */ li r3, 4 +/* 80324EDC 00320B3C 38 A0 00 00 */ li r5, 0 +/* 80324EE0 00320B40 4B FF 7A A9 */ bl func_8031C988 +/* 80324EE4 00320B44 93 2D B0 60 */ stw r25, lbl_80640320-_SDA_BASE_(r13) +lbl_80324EE8: +/* 80324EE8 00320B48 3F 40 80 61 */ lis r26, lbl_8060FD88@ha +/* 80324EEC 00320B4C 3B 20 00 00 */ li r25, 0 +/* 80324EF0 00320B50 3B 5A FD 88 */ addi r26, r26, lbl_8060FD88@l +lbl_80324EF4: +/* 80324EF4 00320B54 80 9A 00 04 */ lwz r4, 4(r26) +/* 80324EF8 00320B58 2C 04 00 00 */ cmpwi r4, 0 +/* 80324EFC 00320B5C 41 82 00 10 */ beq lbl_80324F0C +/* 80324F00 00320B60 38 60 00 04 */ li r3, 4 +/* 80324F04 00320B64 38 A0 00 00 */ li r5, 0 +/* 80324F08 00320B68 4B FF 7A 81 */ bl func_8031C988 +lbl_80324F0C: +/* 80324F0C 00320B6C 3B 39 00 01 */ addi r25, r25, 1 +/* 80324F10 00320B70 3B 5A 00 0C */ addi r26, r26, 0xc +/* 80324F14 00320B74 2C 19 00 9A */ cmpwi r25, 0x9a +/* 80324F18 00320B78 41 80 FF DC */ blt lbl_80324EF4 +/* 80324F1C 00320B7C 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 80324F20 00320B80 38 80 00 00 */ li r4, 0 +/* 80324F24 00320B84 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80324F28 00320B88 38 A0 07 38 */ li r5, 0x738 +/* 80324F2C 00320B8C 4B CD F1 D9 */ bl memset +/* 80324F30 00320B90 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324F34 00320B94 38 00 00 01 */ li r0, 1 +/* 80324F38 00320B98 98 03 00 18 */ stb r0, 0x18(r3) +/* 80324F3C 00320B9C 48 00 01 A4 */ b lbl_803250E0 +lbl_80324F40: +/* 80324F40 00320BA0 7F 04 C3 78 */ mr r4, r24 +/* 80324F44 00320BA4 7F E5 FB 78 */ mr r5, r31 +/* 80324F48 00320BA8 4B CD F0 B9 */ bl memcpy +/* 80324F4C 00320BAC 80 0D B0 60 */ lwz r0, lbl_80640320-_SDA_BASE_(r13) +/* 80324F50 00320BB0 38 80 00 00 */ li r4, 0 +/* 80324F54 00320BB4 7C 60 FA 14 */ add r3, r0, r31 +/* 80324F58 00320BB8 98 83 FF FF */ stb r4, -1(r3) +lbl_80324F5C: +/* 80324F5C 00320BBC 38 60 00 00 */ li r3, 0 +/* 80324F60 00320BC0 48 00 30 05 */ bl func_80327F64 +/* 80324F64 00320BC4 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80324F68 00320BC8 3B E0 00 00 */ li r31, 0 +/* 80324F6C 00320BCC 38 60 00 32 */ li r3, 0x32 +/* 80324F70 00320BD0 9B E4 00 15 */ stb r31, 0x15(r4) +/* 80324F74 00320BD4 38 8D 8D C0 */ addi r4, r13, lbl_8063E080-_SDA_BASE_ +/* 80324F78 00320BD8 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80324F7C 00320BDC 9B 25 00 16 */ stb r25, 0x16(r5) +/* 80324F80 00320BE0 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80324F84 00320BE4 93 45 04 78 */ stw r26, 0x478(r5) +/* 80324F88 00320BE8 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80324F8C 00320BEC 93 65 04 7C */ stw r27, 0x47c(r5) +/* 80324F90 00320BF0 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80324F94 00320BF4 9B E5 01 81 */ stb r31, 0x181(r5) +/* 80324F98 00320BF8 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80324F9C 00320BFC 9B E5 02 E0 */ stb r31, 0x2e0(r5) +/* 80324FA0 00320C00 48 02 B8 2D */ bl qr2_register_keyA +/* 80324FA4 00320C04 38 9E 01 9C */ addi r4, r30, 0x19c +/* 80324FA8 00320C08 38 60 00 33 */ li r3, 0x33 +/* 80324FAC 00320C0C 48 02 B8 21 */ bl qr2_register_keyA +/* 80324FB0 00320C10 38 9E 01 A8 */ addi r4, r30, 0x1a8 +/* 80324FB4 00320C14 38 60 00 34 */ li r3, 0x34 +/* 80324FB8 00320C18 48 02 B8 15 */ bl qr2_register_keyA +/* 80324FBC 00320C1C 38 9E 01 90 */ addi r4, r30, 0x190 +/* 80324FC0 00320C20 38 60 00 35 */ li r3, 0x35 +/* 80324FC4 00320C24 48 02 B8 09 */ bl qr2_register_keyA +/* 80324FC8 00320C28 38 9E 01 B4 */ addi r4, r30, 0x1b4 +/* 80324FCC 00320C2C 38 60 00 36 */ li r3, 0x36 +/* 80324FD0 00320C30 48 02 B7 FD */ bl qr2_register_keyA +/* 80324FD4 00320C34 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324FD8 00320C38 38 00 00 02 */ li r0, 2 +/* 80324FDC 00320C3C 93 83 04 88 */ stw r28, 0x488(r3) +/* 80324FE0 00320C40 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324FE4 00320C44 93 A3 04 8C */ stw r29, 0x48c(r3) +/* 80324FE8 00320C48 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80324FEC 00320C4C 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 80324FF0 00320C50 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 80324FF4 00320C54 80 19 00 E4 */ lwz r0, 0xe4(r25) +/* 80324FF8 00320C58 2C 00 00 00 */ cmpwi r0, 0 +/* 80324FFC 00320C5C 40 82 00 34 */ bne lbl_80325030 +/* 80325000 00320C60 80 79 03 04 */ lwz r3, 0x304(r25) +/* 80325004 00320C64 3D 40 80 33 */ lis r10, func_8032EF68@ha +/* 80325008 00320C68 38 C0 00 00 */ li r6, 0 +/* 8032500C 00320C6C 38 E0 00 14 */ li r7, 0x14 +/* 80325010 00320C70 93 E1 00 08 */ stw r31, 8(r1) +/* 80325014 00320C74 7C 64 1B 78 */ mr r4, r3 +/* 80325018 00320C78 39 4A EF 68 */ addi r10, r10, func_8032EF68@l +/* 8032501C 00320C7C 39 00 00 01 */ li r8, 1 +/* 80325020 00320C80 80 B9 03 08 */ lwz r5, 0x308(r25) +/* 80325024 00320C84 39 20 00 00 */ li r9, 0 +/* 80325028 00320C88 48 03 93 91 */ bl ServerBrowserNewA +/* 8032502C 00320C8C 90 79 00 E4 */ stw r3, 0xe4(r25) +lbl_80325030: +/* 80325030 00320C90 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325034 00320C94 80 03 00 E4 */ lwz r0, 0xe4(r3) +/* 80325038 00320C98 2C 00 00 00 */ cmpwi r0, 0 +/* 8032503C 00320C9C 40 82 00 14 */ bne lbl_80325050 +/* 80325040 00320CA0 38 60 00 05 */ li r3, 5 +/* 80325044 00320CA4 48 00 94 55 */ bl func_8032E498 +/* 80325048 00320CA8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032504C 00320CAC 40 82 00 94 */ bne lbl_803250E0 +lbl_80325050: +/* 80325050 00320CB0 38 60 00 03 */ li r3, 3 +/* 80325054 00320CB4 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80325058 00320CB8 38 A0 00 00 */ li r5, 0 +/* 8032505C 00320CBC 4B FF AB F5 */ bl func_8031FC50 +/* 80325060 00320CC0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325064 00320CC4 80 63 02 10 */ lwz r3, 0x210(r3) +/* 80325068 00320CC8 48 00 31 D9 */ bl func_80328240 +/* 8032506C 00320CCC 48 00 94 2D */ bl func_8032E498 +/* 80325070 00320CD0 2C 03 00 00 */ cmpwi r3, 0 +/* 80325074 00320CD4 40 82 00 6C */ bne lbl_803250E0 +/* 80325078 00320CD8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032507C 00320CDC 80 03 00 10 */ lwz r0, 0x10(r3) +/* 80325080 00320CE0 2C 00 00 00 */ cmpwi r0, 0 +/* 80325084 00320CE4 40 82 00 0C */ bne lbl_80325090 +/* 80325088 00320CE8 80 63 02 10 */ lwz r3, 0x210(r3) +/* 8032508C 00320CEC 4B FF FB 05 */ bl func_80324B90 +lbl_80325090: +/* 80325090 00320CF0 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 80325094 00320CF4 2C 03 00 00 */ cmpwi r3, 0 +/* 80325098 00320CF8 41 82 00 48 */ beq lbl_803250E0 +/* 8032509C 00320CFC 88 03 00 00 */ lbz r0, 0(r3) +/* 803250A0 00320D00 2C 00 00 00 */ cmpwi r0, 0 +/* 803250A4 00320D04 41 82 00 3C */ beq lbl_803250E0 +/* 803250A8 00320D08 38 00 00 00 */ li r0, 0 +/* 803250AC 00320D0C 90 03 00 08 */ stw r0, 8(r3) +/* 803250B0 00320D10 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 803250B4 00320D14 90 03 00 0C */ stw r0, 0xc(r3) +/* 803250B8 00320D18 80 6D B0 64 */ lwz r3, lbl_80640324-_SDA_BASE_(r13) +/* 803250BC 00320D1C 98 03 00 02 */ stb r0, 2(r3) +/* 803250C0 00320D20 4B F4 D6 F9 */ bl OSGetTime +/* 803250C4 00320D24 80 AD B0 64 */ lwz r5, lbl_80640324-_SDA_BASE_(r13) +/* 803250C8 00320D28 90 85 00 1C */ stw r4, 0x1c(r5) +/* 803250CC 00320D2C 90 65 00 18 */ stw r3, 0x18(r5) +/* 803250D0 00320D30 4B F4 D6 E9 */ bl OSGetTime +/* 803250D4 00320D34 80 AD B0 64 */ lwz r5, lbl_80640324-_SDA_BASE_(r13) +/* 803250D8 00320D38 90 85 00 14 */ stw r4, 0x14(r5) +/* 803250DC 00320D3C 90 65 00 10 */ stw r3, 0x10(r5) +lbl_803250E0: +/* 803250E0 00320D40 39 61 01 40 */ addi r11, r1, 0x140 +/* 803250E4 00320D44 4B EA 20 85 */ bl _restgpr_24 +/* 803250E8 00320D48 80 01 01 44 */ lwz r0, 0x144(r1) +/* 803250EC 00320D4C 7C 08 03 A6 */ mtlr r0 +/* 803250F0 00320D50 38 21 01 40 */ addi r1, r1, 0x140 +/* 803250F4 00320D54 4E 80 00 20 */ blr + +.global func_803250F8 +func_803250F8: +/* 803250F8 00320D58 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 803250FC 00320D5C 7C 08 02 A6 */ mflr r0 +/* 80325100 00320D60 90 01 00 64 */ stw r0, 0x64(r1) +/* 80325104 00320D64 39 61 00 60 */ addi r11, r1, 0x60 +/* 80325108 00320D68 4B EA 20 19 */ bl _savegpr_25 +/* 8032510C 00320D6C 3F C0 80 44 */ lis r30, lbl_80447FE0@ha +/* 80325110 00320D70 7C 79 1B 78 */ mr r25, r3 +/* 80325114 00320D74 7C 9A 23 78 */ mr r26, r4 +/* 80325118 00320D78 7C BB 2B 78 */ mr r27, r5 +/* 8032511C 00320D7C 7C DC 33 78 */ mr r28, r6 +/* 80325120 00320D80 7C FD 3B 78 */ mr r29, r7 +/* 80325124 00320D84 3B DE 7F E0 */ addi r30, r30, lbl_80447FE0@l +/* 80325128 00320D88 38 60 00 00 */ li r3, 0 +/* 8032512C 00320D8C 48 00 2E 39 */ bl func_80327F64 +/* 80325130 00320D90 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325134 00320D94 38 00 00 02 */ li r0, 2 +/* 80325138 00320D98 3B E0 00 00 */ li r31, 0 +/* 8032513C 00320D9C 38 60 00 32 */ li r3, 0x32 +/* 80325140 00320DA0 98 04 00 15 */ stb r0, 0x15(r4) +/* 80325144 00320DA4 38 8D 8D C0 */ addi r4, r13, lbl_8063E080-_SDA_BASE_ +/* 80325148 00320DA8 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 8032514C 00320DAC 9B 25 00 16 */ stb r25, 0x16(r5) +/* 80325150 00320DB0 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325154 00320DB4 93 45 04 78 */ stw r26, 0x478(r5) +/* 80325158 00320DB8 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 8032515C 00320DBC 93 65 04 7C */ stw r27, 0x47c(r5) +/* 80325160 00320DC0 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325164 00320DC4 9B E5 01 81 */ stb r31, 0x181(r5) +/* 80325168 00320DC8 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 8032516C 00320DCC 9B E5 02 E0 */ stb r31, 0x2e0(r5) +/* 80325170 00320DD0 48 02 B6 5D */ bl qr2_register_keyA +/* 80325174 00320DD4 38 9E 01 9C */ addi r4, r30, 0x19c +/* 80325178 00320DD8 38 60 00 33 */ li r3, 0x33 +/* 8032517C 00320DDC 48 02 B6 51 */ bl qr2_register_keyA +/* 80325180 00320DE0 38 9E 01 A8 */ addi r4, r30, 0x1a8 +/* 80325184 00320DE4 38 60 00 34 */ li r3, 0x34 +/* 80325188 00320DE8 48 02 B6 45 */ bl qr2_register_keyA +/* 8032518C 00320DEC 38 9E 01 90 */ addi r4, r30, 0x190 +/* 80325190 00320DF0 38 60 00 35 */ li r3, 0x35 +/* 80325194 00320DF4 48 02 B6 39 */ bl qr2_register_keyA +/* 80325198 00320DF8 38 9E 01 B4 */ addi r4, r30, 0x1b4 +/* 8032519C 00320DFC 38 60 00 36 */ li r3, 0x36 +/* 803251A0 00320E00 48 02 B6 2D */ bl qr2_register_keyA +/* 803251A4 00320E04 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803251A8 00320E08 38 A0 00 01 */ li r5, 1 +/* 803251AC 00320E0C 38 6D B0 6C */ addi r3, r13, lbl_8064032C-_SDA_BASE_ +/* 803251B0 00320E10 38 00 00 0A */ li r0, 0xa +/* 803251B4 00320E14 93 84 04 80 */ stw r28, 0x480(r4) +/* 803251B8 00320E18 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803251BC 00320E1C 93 A4 04 84 */ stw r29, 0x484(r4) +/* 803251C0 00320E20 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 803251C4 00320E24 80 86 02 10 */ lwz r4, 0x210(r6) +/* 803251C8 00320E28 90 86 00 F8 */ stw r4, 0xf8(r6) +/* 803251CC 00320E2C 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803251D0 00320E30 90 A4 03 00 */ stw r5, 0x300(r4) +/* 803251D4 00320E34 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803251D8 00320E38 9B E4 00 0E */ stb r31, 0xe(r4) +/* 803251DC 00320E3C 9B E3 00 01 */ stb r31, 1(r3) +/* 803251E0 00320E40 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803251E4 00320E44 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 803251E8 00320E48 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803251EC 00320E4C 88 03 00 15 */ lbz r0, 0x15(r3) +/* 803251F0 00320E50 28 00 00 02 */ cmplwi r0, 2 +/* 803251F4 00320E54 41 82 00 0C */ beq lbl_80325200 +/* 803251F8 00320E58 38 60 00 00 */ li r3, 0 +/* 803251FC 00320E5C 48 00 00 A4 */ b lbl_803252A0 +lbl_80325200: +/* 80325200 00320E60 88 C3 00 16 */ lbz r6, 0x16(r3) +/* 80325204 00320E64 38 61 00 08 */ addi r3, r1, 8 +/* 80325208 00320E68 38 80 00 0C */ li r4, 0xc +/* 8032520C 00320E6C 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 80325210 00320E70 38 C6 00 01 */ addi r6, r6, 1 +/* 80325214 00320E74 4C C6 31 82 */ crclr 6 +/* 80325218 00320E78 4B EA 78 0D */ bl snprintf +/* 8032521C 00320E7C 38 81 00 08 */ addi r4, r1, 8 +/* 80325220 00320E80 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80325224 00320E84 38 6D 8D AC */ addi r3, r13, lbl_8063E06C-_SDA_BASE_ +/* 80325228 00320E88 38 C0 00 2F */ li r6, 0x2f +/* 8032522C 00320E8C 4B FF 9B C1 */ bl func_8031EDEC +/* 80325230 00320E90 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80325234 00320E94 38 61 00 08 */ addi r3, r1, 8 +/* 80325238 00320E98 38 80 00 0C */ li r4, 0xc +/* 8032523C 00320E9C 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 80325240 00320EA0 88 C6 00 0D */ lbz r6, 0xd(r6) +/* 80325244 00320EA4 38 C6 00 01 */ addi r6, r6, 1 +/* 80325248 00320EA8 4C C6 31 82 */ crclr 6 +/* 8032524C 00320EAC 4B EA 77 D9 */ bl snprintf +/* 80325250 00320EB0 38 81 00 08 */ addi r4, r1, 8 +/* 80325254 00320EB4 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80325258 00320EB8 38 6D 8D B0 */ addi r3, r13, lbl_8063E070-_SDA_BASE_ +/* 8032525C 00320EBC 38 C0 00 2F */ li r6, 0x2f +/* 80325260 00320EC0 4B FF 9B E5 */ bl func_8031EE44 +/* 80325264 00320EC4 38 61 00 08 */ addi r3, r1, 8 +/* 80325268 00320EC8 38 80 00 0C */ li r4, 0xc +/* 8032526C 00320ECC 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 80325270 00320ED0 38 C0 00 03 */ li r6, 3 +/* 80325274 00320ED4 4C C6 31 82 */ crclr 6 +/* 80325278 00320ED8 4B EA 77 AD */ bl snprintf +/* 8032527C 00320EDC 38 81 00 08 */ addi r4, r1, 8 +/* 80325280 00320EE0 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80325284 00320EE4 38 6D 8D B4 */ addi r3, r13, lbl_8063E074-_SDA_BASE_ +/* 80325288 00320EE8 38 C0 00 2F */ li r6, 0x2f +/* 8032528C 00320EEC 4B FF 9B B9 */ bl func_8031EE44 +/* 80325290 00320EF0 38 81 00 18 */ addi r4, r1, 0x18 +/* 80325294 00320EF4 38 60 00 06 */ li r3, 6 +/* 80325298 00320EF8 38 A0 00 00 */ li r5, 0 +/* 8032529C 00320EFC 4B FF A9 B5 */ bl func_8031FC50 +lbl_803252A0: +/* 803252A0 00320F00 48 00 8F F1 */ bl func_8032E290 +/* 803252A4 00320F04 2C 03 00 00 */ cmpwi r3, 0 +/* 803252A8 00320F08 40 82 00 1C */ bne lbl_803252C4 +/* 803252AC 00320F0C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803252B0 00320F10 80 03 00 10 */ lwz r0, 0x10(r3) +/* 803252B4 00320F14 2C 00 00 00 */ cmpwi r0, 0 +/* 803252B8 00320F18 40 82 00 0C */ bne lbl_803252C4 +/* 803252BC 00320F1C 80 63 02 10 */ lwz r3, 0x210(r3) +/* 803252C0 00320F20 4B FF F8 D1 */ bl func_80324B90 +lbl_803252C4: +/* 803252C4 00320F24 39 61 00 60 */ addi r11, r1, 0x60 +/* 803252C8 00320F28 4B EA 1E A5 */ bl _restgpr_25 +/* 803252CC 00320F2C 80 01 00 64 */ lwz r0, 0x64(r1) +/* 803252D0 00320F30 7C 08 03 A6 */ mtlr r0 +/* 803252D4 00320F34 38 21 00 60 */ addi r1, r1, 0x60 +/* 803252D8 00320F38 4E 80 00 20 */ blr + +.global func_803252DC +func_803252DC: +/* 803252DC 00320F3C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803252E0 00320F40 7C 08 02 A6 */ mflr r0 +/* 803252E4 00320F44 90 01 00 34 */ stw r0, 0x34(r1) +/* 803252E8 00320F48 39 61 00 30 */ addi r11, r1, 0x30 +/* 803252EC 00320F4C 4B EA 1E 35 */ bl _savegpr_25 +/* 803252F0 00320F50 3F A0 80 44 */ lis r29, lbl_80447FE0@ha +/* 803252F4 00320F54 7C 7F 1B 78 */ mr r31, r3 +/* 803252F8 00320F58 7C 99 23 78 */ mr r25, r4 +/* 803252FC 00320F5C 7C BA 2B 78 */ mr r26, r5 +/* 80325300 00320F60 7C DB 33 78 */ mr r27, r6 +/* 80325304 00320F64 7C FC 3B 78 */ mr r28, r7 +/* 80325308 00320F68 3B BD 7F E0 */ addi r29, r29, lbl_80447FE0@l +/* 8032530C 00320F6C 38 60 00 00 */ li r3, 0 +/* 80325310 00320F70 48 00 2C 55 */ bl func_80327F64 +/* 80325314 00320F74 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325318 00320F78 38 00 00 03 */ li r0, 3 +/* 8032531C 00320F7C 3B C0 00 00 */ li r30, 0 +/* 80325320 00320F80 38 60 00 32 */ li r3, 0x32 +/* 80325324 00320F84 98 04 00 15 */ stb r0, 0x15(r4) +/* 80325328 00320F88 38 8D 8D C0 */ addi r4, r13, lbl_8063E080-_SDA_BASE_ +/* 8032532C 00320F8C 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325330 00320F90 9B C5 00 16 */ stb r30, 0x16(r5) +/* 80325334 00320F94 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325338 00320F98 93 25 04 78 */ stw r25, 0x478(r5) +/* 8032533C 00320F9C 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325340 00320FA0 93 45 04 7C */ stw r26, 0x47c(r5) +/* 80325344 00320FA4 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325348 00320FA8 9B C5 01 81 */ stb r30, 0x181(r5) +/* 8032534C 00320FAC 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325350 00320FB0 9B C5 02 E0 */ stb r30, 0x2e0(r5) +/* 80325354 00320FB4 48 02 B4 79 */ bl qr2_register_keyA +/* 80325358 00320FB8 38 9D 01 9C */ addi r4, r29, 0x19c +/* 8032535C 00320FBC 38 60 00 33 */ li r3, 0x33 +/* 80325360 00320FC0 48 02 B4 6D */ bl qr2_register_keyA +/* 80325364 00320FC4 38 9D 01 A8 */ addi r4, r29, 0x1a8 +/* 80325368 00320FC8 38 60 00 34 */ li r3, 0x34 +/* 8032536C 00320FCC 48 02 B4 61 */ bl qr2_register_keyA +/* 80325370 00320FD0 38 9D 01 90 */ addi r4, r29, 0x190 +/* 80325374 00320FD4 38 60 00 35 */ li r3, 0x35 +/* 80325378 00320FD8 48 02 B4 55 */ bl qr2_register_keyA +/* 8032537C 00320FDC 38 9D 01 B4 */ addi r4, r29, 0x1b4 +/* 80325380 00320FE0 38 60 00 36 */ li r3, 0x36 +/* 80325384 00320FE4 48 02 B4 49 */ bl qr2_register_keyA +/* 80325388 00320FE8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032538C 00320FEC 38 80 00 01 */ li r4, 1 +/* 80325390 00320FF0 38 00 00 04 */ li r0, 4 +/* 80325394 00320FF4 93 63 04 80 */ stw r27, 0x480(r3) +/* 80325398 00320FF8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032539C 00320FFC 93 83 04 84 */ stw r28, 0x484(r3) +/* 803253A0 00321000 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803253A4 00321004 98 83 00 17 */ stb r4, 0x17(r3) +/* 803253A8 00321008 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803253AC 0032100C 80 64 02 10 */ lwz r3, 0x210(r4) +/* 803253B0 00321010 90 64 00 20 */ stw r3, 0x20(r4) +/* 803253B4 00321014 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803253B8 00321018 93 E3 00 F8 */ stw r31, 0xf8(r3) +/* 803253BC 0032101C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803253C0 00321020 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 803253C4 00321024 83 AD B0 68 */ lwz r29, lbl_80640328-_SDA_BASE_(r13) +/* 803253C8 00321028 80 1D 00 E4 */ lwz r0, 0xe4(r29) +/* 803253CC 0032102C 2C 00 00 00 */ cmpwi r0, 0 +/* 803253D0 00321030 40 82 00 34 */ bne lbl_80325404 +/* 803253D4 00321034 80 7D 03 04 */ lwz r3, 0x304(r29) +/* 803253D8 00321038 3D 40 80 33 */ lis r10, func_8032EF68@ha +/* 803253DC 0032103C 38 C0 00 00 */ li r6, 0 +/* 803253E0 00321040 38 E0 00 14 */ li r7, 0x14 +/* 803253E4 00321044 93 C1 00 08 */ stw r30, 8(r1) +/* 803253E8 00321048 7C 64 1B 78 */ mr r4, r3 +/* 803253EC 0032104C 39 4A EF 68 */ addi r10, r10, func_8032EF68@l +/* 803253F0 00321050 39 00 00 01 */ li r8, 1 +/* 803253F4 00321054 80 BD 03 08 */ lwz r5, 0x308(r29) +/* 803253F8 00321058 39 20 00 00 */ li r9, 0 +/* 803253FC 0032105C 48 03 8F BD */ bl ServerBrowserNewA +/* 80325400 00321060 90 7D 00 E4 */ stw r3, 0xe4(r29) +lbl_80325404: +/* 80325404 00321064 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325408 00321068 80 03 00 E4 */ lwz r0, 0xe4(r3) +/* 8032540C 0032106C 2C 00 00 00 */ cmpwi r0, 0 +/* 80325410 00321070 40 82 00 14 */ bne lbl_80325424 +/* 80325414 00321074 38 60 00 05 */ li r3, 5 +/* 80325418 00321078 48 00 90 81 */ bl func_8032E498 +/* 8032541C 0032107C 2C 03 00 00 */ cmpwi r3, 0 +/* 80325420 00321080 40 82 00 70 */ bne lbl_80325490 +lbl_80325424: +/* 80325424 00321084 38 60 00 05 */ li r3, 5 +/* 80325428 00321088 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 8032542C 0032108C 38 A0 00 00 */ li r5, 0 +/* 80325430 00321090 4B FF A8 21 */ bl func_8031FC50 +/* 80325434 00321094 48 00 8E 5D */ bl func_8032E290 +/* 80325438 00321098 2C 03 00 00 */ cmpwi r3, 0 +/* 8032543C 0032109C 40 82 00 54 */ bne lbl_80325490 +/* 80325440 003210A0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325444 003210A4 80 03 00 10 */ lwz r0, 0x10(r3) +/* 80325448 003210A8 2C 00 00 00 */ cmpwi r0, 0 +/* 8032544C 003210AC 40 82 00 14 */ bne lbl_80325460 +/* 80325450 003210B0 80 63 02 10 */ lwz r3, 0x210(r3) +/* 80325454 003210B4 4B FF F7 3D */ bl func_80324B90 +/* 80325458 003210B8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032545C 003210BC 40 82 00 34 */ bne lbl_80325490 +lbl_80325460: +/* 80325460 003210C0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325464 003210C4 38 80 00 00 */ li r4, 0 +/* 80325468 003210C8 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 8032546C 003210CC 48 00 59 9D */ bl func_8032AE08 +/* 80325470 003210D0 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325474 003210D4 88 04 00 15 */ lbz r0, 0x15(r4) +/* 80325478 003210D8 2C 00 00 00 */ cmpwi r0, 0 +/* 8032547C 003210DC 40 82 00 0C */ bne lbl_80325488 +/* 80325480 003210E0 48 00 90 19 */ bl func_8032E498 +/* 80325484 003210E4 48 00 00 08 */ b lbl_8032548C +lbl_80325488: +/* 80325488 003210E8 48 00 8E 09 */ bl func_8032E290 +lbl_8032548C: +/* 8032548C 003210EC 2C 03 00 00 */ cmpwi r3, 0 +lbl_80325490: +/* 80325490 003210F0 39 61 00 30 */ addi r11, r1, 0x30 +/* 80325494 003210F4 4B EA 1C D9 */ bl _restgpr_25 +/* 80325498 003210F8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8032549C 003210FC 7C 08 03 A6 */ mtlr r0 +/* 803254A0 00321100 38 21 00 30 */ addi r1, r1, 0x30 +/* 803254A4 00321104 4E 80 00 20 */ blr + +.global func_803254A8 +func_803254A8: +/* 803254A8 00321108 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 803254AC 0032110C 7C 08 02 A6 */ mflr r0 +/* 803254B0 00321110 90 01 00 54 */ stw r0, 0x54(r1) +/* 803254B4 00321114 39 61 00 50 */ addi r11, r1, 0x50 +/* 803254B8 00321118 4B EA 1C 71 */ bl _savegpr_27 +/* 803254BC 0032111C 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 803254C0 00321120 3F C0 80 44 */ lis r30, lbl_80447FE0@ha +/* 803254C4 00321124 7C 7B 1B 78 */ mr r27, r3 +/* 803254C8 00321128 2C 00 00 00 */ cmpwi r0, 0 +/* 803254CC 0032112C 3B DE 7F E0 */ addi r30, r30, lbl_80447FE0@l +/* 803254D0 00321130 41 82 0E B4 */ beq lbl_80326384 +/* 803254D4 00321134 4B FF 70 99 */ bl PlatAudio_IsEntireSampleFileInMem +/* 803254D8 00321138 2C 03 00 00 */ cmpwi r3, 0 +/* 803254DC 0032113C 41 82 00 08 */ beq lbl_803254E4 +/* 803254E0 00321140 48 00 0E A4 */ b lbl_80326384 +lbl_803254E4: +/* 803254E4 00321144 2C 1B 00 00 */ cmpwi r27, 0 +/* 803254E8 00321148 40 82 00 34 */ bne lbl_8032551C +/* 803254EC 0032114C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803254F0 00321150 80 63 00 10 */ lwz r3, 0x10(r3) +/* 803254F4 00321154 2C 03 00 00 */ cmpwi r3, 0 +/* 803254F8 00321158 41 82 00 08 */ beq lbl_80325500 +/* 803254FC 0032115C 48 02 8D E5 */ bl qr2_think +lbl_80325500: +/* 80325500 00321160 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325504 00321164 80 63 00 04 */ lwz r3, 4(r3) +/* 80325508 00321168 2C 03 00 00 */ cmpwi r3, 0 +/* 8032550C 0032116C 41 82 0E 78 */ beq lbl_80326384 +/* 80325510 00321170 80 63 00 00 */ lwz r3, 0(r3) +/* 80325514 00321174 48 02 45 29 */ bl gt2Think +/* 80325518 00321178 48 00 0E 6C */ b lbl_80326384 +lbl_8032551C: +/* 8032551C 0032117C 83 ED B0 68 */ lwz r31, lbl_80640328-_SDA_BASE_(r13) +/* 80325520 00321180 80 9F 01 A4 */ lwz r4, 0x1a4(r31) +/* 80325524 00321184 2C 04 00 00 */ cmpwi r4, 0 +/* 80325528 00321188 41 82 0E 5C */ beq lbl_80326384 +/* 8032552C 0032118C 28 04 00 0D */ cmplwi r4, 0xd +/* 80325530 00321190 41 81 09 88 */ bgt lbl_80325EB8 +/* 80325534 00321194 3C 60 80 45 */ lis r3, lbl_804483E8@ha +/* 80325538 00321198 54 80 10 3A */ slwi r0, r4, 2 +/* 8032553C 0032119C 38 63 83 E8 */ addi r3, r3, lbl_804483E8@l +/* 80325540 003211A0 7C 63 00 2E */ lwzx r3, r3, r0 +/* 80325544 003211A4 7C 69 03 A6 */ mtctr r3 +/* 80325548 003211A8 4E 80 04 20 */ bctr +/* 8032554C 003211AC 80 1F 01 D0 */ lwz r0, 0x1d0(r31) +/* 80325550 003211B0 2C 00 00 00 */ cmpwi r0, 0 +/* 80325554 003211B4 41 82 02 50 */ beq lbl_803257A4 +/* 80325558 003211B8 4B F4 D2 61 */ bl OSGetTime +/* 8032555C 003211BC 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325560 003211C0 81 1F 01 DC */ lwz r8, 0x1dc(r31) +/* 80325564 003211C4 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325568 003211C8 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 8032556C 003211CC 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 80325570 003211D0 80 FF 01 D8 */ lwz r7, 0x1d8(r31) +/* 80325574 003211D4 54 00 F0 BE */ srwi r0, r0, 2 +/* 80325578 003211D8 7C 88 20 10 */ subfc r4, r8, r4 +/* 8032557C 003211DC 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 80325580 003211E0 83 AD B0 68 */ lwz r29, lbl_80640328-_SDA_BASE_(r13) +/* 80325584 003211E4 38 A0 00 00 */ li r5, 0 +/* 80325588 003211E8 7C 67 19 10 */ subfe r3, r7, r3 +/* 8032558C 003211EC 54 06 D1 BE */ srwi r6, r0, 6 +/* 80325590 003211F0 4B EA 1C E9 */ bl __div2i +/* 80325594 003211F4 80 DD 01 D0 */ lwz r6, 0x1d0(r29) +/* 80325598 003211F8 3B E0 00 00 */ li r31, 0 +/* 8032559C 003211FC 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 803255A0 00321200 6F E0 80 00 */ xoris r0, r31, 0x8000 +/* 803255A4 00321204 7C 64 30 10 */ subfc r3, r4, r6 +/* 803255A8 00321208 7C A5 01 10 */ subfe r5, r5, r0 +/* 803255AC 0032120C 7C A0 01 10 */ subfe r5, r0, r0 +/* 803255B0 00321210 7C A5 00 D1 */ neg. r5, r5 +/* 803255B4 00321214 41 82 01 F0 */ beq lbl_803257A4 +/* 803255B8 00321218 93 FD 01 D0 */ stw r31, 0x1d0(r29) +/* 803255BC 0032121C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803255C0 00321220 88 03 00 15 */ lbz r0, 0x15(r3) +/* 803255C4 00321224 28 00 00 03 */ cmplwi r0, 3 +/* 803255C8 00321228 40 82 01 B8 */ bne lbl_80325780 +/* 803255CC 0032122C 88 A3 01 AE */ lbz r5, 0x1ae(r3) +/* 803255D0 00321230 38 9E 01 C0 */ addi r4, r30, 0x1c0 +/* 803255D4 00321234 38 60 00 40 */ li r3, 0x40 +/* 803255D8 00321238 38 C0 00 05 */ li r6, 5 +/* 803255DC 0032123C 4C C6 31 82 */ crclr 6 +/* 803255E0 00321240 4B FF 75 55 */ bl func_8031CB34 +/* 803255E4 00321244 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803255E8 00321248 88 64 01 AE */ lbz r3, 0x1ae(r4) +/* 803255EC 0032124C 38 03 00 01 */ addi r0, r3, 1 +/* 803255F0 00321250 98 04 01 AE */ stb r0, 0x1ae(r4) +/* 803255F4 00321254 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803255F8 00321258 88 03 01 AE */ lbz r0, 0x1ae(r3) +/* 803255FC 0032125C 28 00 00 05 */ cmplwi r0, 5 +/* 80325600 00321260 40 81 01 4C */ ble lbl_8032574C +/* 80325604 00321264 2C 03 00 00 */ cmpwi r3, 0 +/* 80325608 00321268 41 82 0D 7C */ beq lbl_80326384 +/* 8032560C 0032126C 38 00 00 02 */ li r0, 2 +/* 80325610 00321270 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80325614 00321274 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325618 00321278 80 63 00 04 */ lwz r3, 4(r3) +/* 8032561C 0032127C 80 63 00 00 */ lwz r3, 0(r3) +/* 80325620 00321280 48 02 47 51 */ bl gt2CloseAllConnectionsHard +/* 80325624 00321284 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325628 00321288 3C 80 FF FF */ lis r4, 0xFFFEC5D2@ha +/* 8032562C 0032128C 38 60 00 06 */ li r3, 6 +/* 80325630 00321290 9B E5 01 AC */ stb r31, 0x1ac(r5) +/* 80325634 00321294 38 84 C5 D2 */ addi r4, r4, 0xFFFEC5D2@l +/* 80325638 00321298 4B FF 6F 49 */ bl func_8031C580 +/* 8032563C 0032129C 38 60 00 01 */ li r3, 1 +/* 80325640 003212A0 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80325644 003212A4 38 A0 00 00 */ li r5, 0 +/* 80325648 003212A8 4B FF A6 09 */ bl func_8031FC50 +/* 8032564C 003212AC 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 80325650 003212B0 88 9B 00 15 */ lbz r4, 0x15(r27) +/* 80325654 003212B4 80 7B 02 1C */ lwz r3, 0x21c(r27) +/* 80325658 003212B8 38 04 FF FE */ addi r0, r4, -2 +/* 8032565C 003212BC 7C 04 00 34 */ cntlzw r4, r0 +/* 80325660 003212C0 7C 60 00 34 */ cntlzw r0, r3 +/* 80325664 003212C4 54 9D D9 7E */ srwi r29, r4, 5 +/* 80325668 003212C8 54 1C D9 7E */ srwi r28, r0, 5 +/* 8032566C 003212CC 4B FF A4 DD */ bl func_8031FB48 +/* 80325670 003212D0 81 9B 04 78 */ lwz r12, 0x478(r27) +/* 80325674 003212D4 7C 67 1B 78 */ mr r7, r3 +/* 80325678 003212D8 7F 85 E3 78 */ mr r5, r28 +/* 8032567C 003212DC 7F A6 EB 78 */ mr r6, r29 +/* 80325680 003212E0 81 1B 04 7C */ lwz r8, 0x47c(r27) +/* 80325684 003212E4 38 60 00 06 */ li r3, 6 +/* 80325688 003212E8 38 80 00 00 */ li r4, 0 +/* 8032568C 003212EC 7D 89 03 A6 */ mtctr r12 +/* 80325690 003212F0 4E 80 04 21 */ bctrl +/* 80325694 003212F4 38 9E 00 58 */ addi r4, r30, 0x58 +/* 80325698 003212F8 38 60 00 40 */ li r3, 0x40 +/* 8032569C 003212FC 4C C6 31 82 */ crclr 6 +/* 803256A0 00321300 4B FF 74 95 */ bl func_8031CB34 +/* 803256A4 00321304 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803256A8 00321308 2C 03 00 00 */ cmpwi r3, 0 +/* 803256AC 0032130C 41 82 0C D8 */ beq lbl_80326384 +/* 803256B0 00321310 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 803256B4 00321314 2C 03 00 00 */ cmpwi r3, 0 +/* 803256B8 00321318 41 82 00 10 */ beq lbl_803256C8 +/* 803256BC 0032131C 48 03 8D E1 */ bl ServerBrowserFree +/* 803256C0 00321320 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803256C4 00321324 93 E3 00 E4 */ stw r31, 0xe4(r3) +lbl_803256C8: +/* 803256C8 00321328 48 03 54 ED */ bl NNFreeNegotiateList +/* 803256CC 0032132C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803256D0 00321330 3B C0 00 00 */ li r30, 0 +/* 803256D4 00321334 93 C3 01 A4 */ stw r30, 0x1a4(r3) +/* 803256D8 00321338 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 803256DC 0032133C 2C 04 00 00 */ cmpwi r4, 0 +/* 803256E0 00321340 41 82 00 14 */ beq lbl_803256F4 +/* 803256E4 00321344 38 60 00 04 */ li r3, 4 +/* 803256E8 00321348 38 A0 00 00 */ li r5, 0 +/* 803256EC 0032134C 4B FF 72 9D */ bl func_8031C988 +/* 803256F0 00321350 93 CD B0 60 */ stw r30, lbl_80640320-_SDA_BASE_(r13) +lbl_803256F4: +/* 803256F4 00321354 3F 80 80 61 */ lis r28, lbl_8060FD88@ha +/* 803256F8 00321358 3B A0 00 00 */ li r29, 0 +/* 803256FC 0032135C 3B 9C FD 88 */ addi r28, r28, lbl_8060FD88@l +lbl_80325700: +/* 80325700 00321360 80 9C 00 04 */ lwz r4, 4(r28) +/* 80325704 00321364 2C 04 00 00 */ cmpwi r4, 0 +/* 80325708 00321368 41 82 00 10 */ beq lbl_80325718 +/* 8032570C 0032136C 38 60 00 04 */ li r3, 4 +/* 80325710 00321370 38 A0 00 00 */ li r5, 0 +/* 80325714 00321374 4B FF 72 75 */ bl func_8031C988 +lbl_80325718: +/* 80325718 00321378 3B BD 00 01 */ addi r29, r29, 1 +/* 8032571C 0032137C 3B 9C 00 0C */ addi r28, r28, 0xc +/* 80325720 00321380 2C 1D 00 9A */ cmpwi r29, 0x9a +/* 80325724 00321384 41 80 FF DC */ blt lbl_80325700 +/* 80325728 00321388 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 8032572C 0032138C 38 80 00 00 */ li r4, 0 +/* 80325730 00321390 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80325734 00321394 38 A0 07 38 */ li r5, 0x738 +/* 80325738 00321398 4B CD E9 CD */ bl memset +/* 8032573C 0032139C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325740 003213A0 38 00 00 01 */ li r0, 1 +/* 80325744 003213A4 98 03 00 18 */ stb r0, 0x18(r3) +/* 80325748 003213A8 48 00 0C 3C */ b lbl_80326384 +lbl_8032574C: +/* 8032574C 003213AC 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80325750 003213B0 38 80 00 00 */ li r4, 0 +/* 80325754 003213B4 48 00 56 B5 */ bl func_8032AE08 +/* 80325758 003213B8 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 8032575C 003213BC 88 04 00 15 */ lbz r0, 0x15(r4) +/* 80325760 003213C0 2C 00 00 00 */ cmpwi r0, 0 +/* 80325764 003213C4 40 82 00 0C */ bne lbl_80325770 +/* 80325768 003213C8 48 00 8D 31 */ bl func_8032E498 +/* 8032576C 003213CC 48 00 00 08 */ b lbl_80325774 +lbl_80325770: +/* 80325770 003213D0 48 00 8B 21 */ bl func_8032E290 +lbl_80325774: +/* 80325774 003213D4 2C 03 00 00 */ cmpwi r3, 0 +/* 80325778 003213D8 41 82 00 2C */ beq lbl_803257A4 +/* 8032577C 003213DC 48 00 0C 08 */ b lbl_80326384 +lbl_80325780: +/* 80325780 003213E0 80 A3 00 F8 */ lwz r5, 0xf8(r3) +/* 80325784 003213E4 38 9E 01 E8 */ addi r4, r30, 0x1e8 +/* 80325788 003213E8 38 60 00 40 */ li r3, 0x40 +/* 8032578C 003213EC 4C C6 31 82 */ crclr 6 +/* 80325790 003213F0 4B FF 73 A5 */ bl func_8031CB34 +/* 80325794 003213F4 38 60 00 00 */ li r3, 0 +/* 80325798 003213F8 48 00 5A E1 */ bl func_8032B278 +/* 8032579C 003213FC 2C 03 00 00 */ cmpwi r3, 0 +/* 803257A0 00321400 41 82 0B E4 */ beq lbl_80326384 +lbl_803257A4: +/* 803257A4 00321404 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 803257A8 00321408 80 1B 01 C0 */ lwz r0, 0x1c0(r27) +/* 803257AC 0032140C 2C 00 00 00 */ cmpwi r0, 0 +/* 803257B0 00321410 41 82 07 08 */ beq lbl_80325EB8 +/* 803257B4 00321414 88 1B 00 0D */ lbz r0, 0xd(r27) +/* 803257B8 00321418 1C 60 0B B8 */ mulli r3, r0, 0xbb8 +/* 803257BC 0032141C 3B 83 0B B8 */ addi r28, r3, 0xbb8 +/* 803257C0 00321420 4B F4 CF F9 */ bl OSGetTime +/* 803257C4 00321424 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 803257C8 00321428 81 1B 01 CC */ lwz r8, 0x1cc(r27) +/* 803257CC 0032142C 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 803257D0 00321430 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 803257D4 00321434 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 803257D8 00321438 80 FB 01 C8 */ lwz r7, 0x1c8(r27) +/* 803257DC 0032143C 54 00 F0 BE */ srwi r0, r0, 2 +/* 803257E0 00321440 7C 88 20 10 */ subfc r4, r8, r4 +/* 803257E4 00321444 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 803257E8 00321448 38 A0 00 00 */ li r5, 0 +/* 803257EC 0032144C 7C 67 19 10 */ subfe r3, r7, r3 +/* 803257F0 00321450 54 06 D1 BE */ srwi r6, r0, 6 +/* 803257F4 00321454 4B EA 1A 85 */ bl __div2i +/* 803257F8 00321458 38 A0 00 00 */ li r5, 0 +/* 803257FC 0032145C 6C 60 80 00 */ xoris r0, r3, 0x8000 +/* 80325800 00321460 6C A5 80 00 */ xoris r5, r5, 0x8000 +/* 80325804 00321464 7C 7C 20 10 */ subfc r3, r28, r4 +/* 80325808 00321468 7C A5 01 10 */ subfe r5, r5, r0 +/* 8032580C 0032146C 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325810 00321470 7C A5 00 D1 */ neg. r5, r5 +/* 80325814 00321474 40 82 06 A4 */ bne lbl_80325EB8 +/* 80325818 00321478 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032581C 0032147C 38 80 00 00 */ li r4, 0 +/* 80325820 00321480 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80325824 00321484 48 00 55 E5 */ bl func_8032AE08 +/* 80325828 00321488 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 8032582C 0032148C 88 04 00 15 */ lbz r0, 0x15(r4) +/* 80325830 00321490 2C 00 00 00 */ cmpwi r0, 0 +/* 80325834 00321494 40 82 00 0C */ bne lbl_80325840 +/* 80325838 00321498 48 00 8C 61 */ bl func_8032E498 +/* 8032583C 0032149C 48 00 00 08 */ b lbl_80325844 +lbl_80325840: +/* 80325840 003214A0 48 00 8A 51 */ bl func_8032E290 +lbl_80325844: +/* 80325844 003214A4 2C 03 00 00 */ cmpwi r3, 0 +/* 80325848 003214A8 41 82 06 70 */ beq lbl_80325EB8 +/* 8032584C 003214AC 48 00 0B 38 */ b lbl_80326384 +/* 80325850 003214B0 80 1F 00 E8 */ lwz r0, 0xe8(r31) +/* 80325854 003214B4 2C 00 00 00 */ cmpwi r0, 0 +/* 80325858 003214B8 40 81 06 60 */ ble lbl_80325EB8 +/* 8032585C 003214BC 2C 04 00 03 */ cmpwi r4, 3 +/* 80325860 003214C0 40 82 00 14 */ bne lbl_80325874 +/* 80325864 003214C4 88 1F 00 0D */ lbz r0, 0xd(r31) +/* 80325868 003214C8 1C 60 0B B8 */ mulli r3, r0, 0xbb8 +/* 8032586C 003214CC 3B 63 0B B8 */ addi r27, r3, 0xbb8 +/* 80325870 003214D0 48 00 00 14 */ b lbl_80325884 +lbl_80325874: +/* 80325874 003214D4 2C 00 00 01 */ cmpwi r0, 1 +/* 80325878 003214D8 3B 60 0B B8 */ li r27, 0xbb8 +/* 8032587C 003214DC 40 82 00 08 */ bne lbl_80325884 +/* 80325880 003214E0 3B 60 03 E8 */ li r27, 0x3e8 +lbl_80325884: +/* 80325884 003214E4 4B F4 CF 35 */ bl OSGetTime +/* 80325888 003214E8 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 8032588C 003214EC 81 1F 00 F4 */ lwz r8, 0xf4(r31) +/* 80325890 003214F0 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325894 003214F4 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325898 003214F8 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 8032589C 003214FC 80 FF 00 F0 */ lwz r7, 0xf0(r31) +/* 803258A0 00321500 54 00 F0 BE */ srwi r0, r0, 2 +/* 803258A4 00321504 7C 88 20 10 */ subfc r4, r8, r4 +/* 803258A8 00321508 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 803258AC 0032150C 38 A0 00 00 */ li r5, 0 +/* 803258B0 00321510 7C 67 19 10 */ subfe r3, r7, r3 +/* 803258B4 00321514 54 06 D1 BE */ srwi r6, r0, 6 +/* 803258B8 00321518 4B EA 19 C1 */ bl __div2i +/* 803258BC 0032151C 3B E0 00 00 */ li r31, 0 +/* 803258C0 00321520 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 803258C4 00321524 6F E0 80 00 */ xoris r0, r31, 0x8000 +/* 803258C8 00321528 7C 64 D8 10 */ subfc r3, r4, r27 +/* 803258CC 0032152C 7C A5 01 10 */ subfe r5, r5, r0 +/* 803258D0 00321530 7C A0 01 10 */ subfe r5, r0, r0 +/* 803258D4 00321534 7C A5 00 D1 */ neg. r5, r5 +/* 803258D8 00321538 41 82 05 E0 */ beq lbl_80325EB8 +/* 803258DC 0032153C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803258E0 00321540 80 63 02 14 */ lwz r3, 0x214(r3) +/* 803258E4 00321544 48 00 29 5D */ bl func_80328240 +/* 803258E8 00321548 48 00 8B B1 */ bl func_8032E498 +/* 803258EC 0032154C 2C 03 00 00 */ cmpwi r3, 0 +/* 803258F0 00321550 40 82 0A 94 */ bne lbl_80326384 +/* 803258F4 00321554 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803258F8 00321558 93 E3 00 E8 */ stw r31, 0xe8(r3) +/* 803258FC 0032155C 48 00 05 BC */ b lbl_80325EB8 +/* 80325900 00321560 80 1F 01 90 */ lwz r0, 0x190(r31) +/* 80325904 00321564 80 7F 01 94 */ lwz r3, 0x194(r31) +/* 80325908 00321568 7C 60 03 79 */ or. r0, r3, r0 +/* 8032590C 0032156C 41 82 00 90 */ beq lbl_8032599C +/* 80325910 00321570 4B F4 CE A9 */ bl OSGetTime +/* 80325914 00321574 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325918 00321578 81 1F 01 94 */ lwz r8, 0x194(r31) +/* 8032591C 0032157C 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325920 00321580 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325924 00321584 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 80325928 00321588 80 FF 01 90 */ lwz r7, 0x190(r31) +/* 8032592C 0032158C 54 00 F0 BE */ srwi r0, r0, 2 +/* 80325930 00321590 7C 88 20 10 */ subfc r4, r8, r4 +/* 80325934 00321594 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 80325938 00321598 38 A0 00 00 */ li r5, 0 +/* 8032593C 0032159C 7C 67 19 10 */ subfe r3, r7, r3 +/* 80325940 003215A0 54 06 D1 BE */ srwi r6, r0, 6 +/* 80325944 003215A4 4B EA 19 35 */ bl __div2i +/* 80325948 003215A8 3B E0 00 00 */ li r31, 0 +/* 8032594C 003215AC 38 C0 61 A8 */ li r6, 0x61a8 +/* 80325950 003215B0 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80325954 003215B4 6F E0 80 00 */ xoris r0, r31, 0x8000 +/* 80325958 003215B8 7C 64 30 10 */ subfc r3, r4, r6 +/* 8032595C 003215BC 7C A5 01 10 */ subfe r5, r5, r0 +/* 80325960 003215C0 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325964 003215C4 7C A5 00 D1 */ neg. r5, r5 +/* 80325968 003215C8 41 82 05 50 */ beq lbl_80325EB8 +/* 8032596C 003215CC 38 9E 02 18 */ addi r4, r30, 0x218 +/* 80325970 003215D0 38 60 00 40 */ li r3, 0x40 +/* 80325974 003215D4 4C C6 31 82 */ crclr 6 +/* 80325978 003215D8 4B FF 71 BD */ bl func_8031CB34 +/* 8032597C 003215DC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325980 003215E0 93 E3 01 94 */ stw r31, 0x194(r3) +/* 80325984 003215E4 93 E3 01 90 */ stw r31, 0x190(r3) +/* 80325988 003215E8 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 8032598C 003215EC 48 00 5E C9 */ bl func_8032B854 +/* 80325990 003215F0 2C 03 00 00 */ cmpwi r3, 0 +/* 80325994 003215F4 40 82 05 24 */ bne lbl_80325EB8 +/* 80325998 003215F8 48 00 09 EC */ b lbl_80326384 +lbl_8032599C: +/* 8032599C 003215FC 88 1F 03 E0 */ lbz r0, 0x3e0(r31) +/* 803259A0 00321600 28 00 00 06 */ cmplwi r0, 6 +/* 803259A4 00321604 40 82 05 14 */ bne lbl_80325EB8 +/* 803259A8 00321608 4B F4 CE 11 */ bl OSGetTime +/* 803259AC 0032160C 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 803259B0 00321610 81 1F 04 74 */ lwz r8, 0x474(r31) +/* 803259B4 00321614 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 803259B8 00321618 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 803259BC 0032161C 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 803259C0 00321620 80 FF 04 70 */ lwz r7, 0x470(r31) +/* 803259C4 00321624 54 00 F0 BE */ srwi r0, r0, 2 +/* 803259C8 00321628 7C 88 20 10 */ subfc r4, r8, r4 +/* 803259CC 0032162C 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 803259D0 00321630 38 A0 00 00 */ li r5, 0 +/* 803259D4 00321634 7C 67 19 10 */ subfe r3, r7, r3 +/* 803259D8 00321638 54 06 D1 BE */ srwi r6, r0, 6 +/* 803259DC 0032163C 4B EA 18 9D */ bl __div2i +/* 803259E0 00321640 3B E0 00 00 */ li r31, 0 +/* 803259E4 00321644 38 C0 17 70 */ li r6, 0x1770 +/* 803259E8 00321648 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 803259EC 0032164C 6F E0 80 00 */ xoris r0, r31, 0x8000 +/* 803259F0 00321650 7C 64 30 10 */ subfc r3, r4, r6 +/* 803259F4 00321654 7C A5 01 10 */ subfe r5, r5, r0 +/* 803259F8 00321658 7C A0 01 10 */ subfe r5, r0, r0 +/* 803259FC 0032165C 7C A5 00 D1 */ neg. r5, r5 +/* 80325A00 00321660 41 82 04 B8 */ beq lbl_80325EB8 +/* 80325A04 00321664 38 9E 02 38 */ addi r4, r30, 0x238 +/* 80325A08 00321668 38 60 00 04 */ li r3, 4 +/* 80325A0C 0032166C 4C C6 31 82 */ crclr 6 +/* 80325A10 00321670 4B FF 71 25 */ bl func_8031CB34 +/* 80325A14 00321674 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325A18 00321678 88 64 03 E1 */ lbz r3, 0x3e1(r4) +/* 80325A1C 0032167C 38 03 00 01 */ addi r0, r3, 1 +/* 80325A20 00321680 98 04 03 E1 */ stb r0, 0x3e1(r4) +/* 80325A24 00321684 81 0D B0 68 */ lwz r8, lbl_80640328-_SDA_BASE_(r13) +/* 80325A28 00321688 88 08 03 E1 */ lbz r0, 0x3e1(r8) +/* 80325A2C 0032168C 28 00 00 05 */ cmplwi r0, 5 +/* 80325A30 00321690 40 81 00 40 */ ble lbl_80325A70 +/* 80325A34 00321694 38 00 00 FF */ li r0, 0xff +/* 80325A38 00321698 38 9E 02 64 */ addi r4, r30, 0x264 +/* 80325A3C 0032169C 98 08 03 E0 */ stb r0, 0x3e0(r8) +/* 80325A40 003216A0 38 60 00 40 */ li r3, 0x40 +/* 80325A44 003216A4 38 A0 00 06 */ li r5, 6 +/* 80325A48 003216A8 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80325A4C 003216AC 9B E6 03 E1 */ stb r31, 0x3e1(r6) +/* 80325A50 003216B0 4C C6 31 82 */ crclr 6 +/* 80325A54 003216B4 4B FF 70 E1 */ bl func_8031CB34 +/* 80325A58 003216B8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325A5C 003216BC 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80325A60 003216C0 48 00 5D F5 */ bl func_8032B854 +/* 80325A64 003216C4 2C 03 00 00 */ cmpwi r3, 0 +/* 80325A68 003216C8 40 82 04 50 */ bne lbl_80325EB8 +/* 80325A6C 003216CC 48 00 09 18 */ b lbl_80326384 +lbl_80325A70: +/* 80325A70 003216D0 80 88 04 68 */ lwz r4, 0x468(r8) +/* 80325A74 003216D4 38 E8 03 E8 */ addi r7, r8, 0x3e8 +/* 80325A78 003216D8 80 A8 03 E4 */ lwz r5, 0x3e4(r8) +/* 80325A7C 003216DC 38 60 00 06 */ li r3, 6 +/* 80325A80 003216E0 A0 C8 03 E2 */ lhz r6, 0x3e2(r8) +/* 80325A84 003216E4 81 08 04 6C */ lwz r8, 0x46c(r8) +/* 80325A88 003216E8 48 00 2E BD */ bl func_80328944 +/* 80325A8C 003216EC 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325A90 003216F0 88 04 00 15 */ lbz r0, 0x15(r4) +/* 80325A94 003216F4 2C 00 00 00 */ cmpwi r0, 0 +/* 80325A98 003216F8 40 82 00 0C */ bne lbl_80325AA4 +/* 80325A9C 003216FC 48 00 89 FD */ bl func_8032E498 +/* 80325AA0 00321700 48 00 00 08 */ b lbl_80325AA8 +lbl_80325AA4: +/* 80325AA4 00321704 48 00 87 ED */ bl func_8032E290 +lbl_80325AA8: +/* 80325AA8 00321708 2C 03 00 00 */ cmpwi r3, 0 +/* 80325AAC 0032170C 41 82 04 0C */ beq lbl_80325EB8 +/* 80325AB0 00321710 48 00 08 D4 */ b lbl_80326384 +/* 80325AB4 00321714 88 1F 03 E0 */ lbz r0, 0x3e0(r31) +/* 80325AB8 00321718 28 00 00 02 */ cmplwi r0, 2 +/* 80325ABC 0032171C 40 82 03 FC */ bne lbl_80325EB8 +/* 80325AC0 00321720 88 1F 00 15 */ lbz r0, 0x15(r31) +/* 80325AC4 00321724 2C 00 00 00 */ cmpwi r0, 0 +/* 80325AC8 00321728 40 82 00 60 */ bne lbl_80325B28 +/* 80325ACC 0032172C 4B F4 CC ED */ bl OSGetTime +/* 80325AD0 00321730 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325AD4 00321734 81 1F 04 74 */ lwz r8, 0x474(r31) +/* 80325AD8 00321738 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325ADC 0032173C 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325AE0 00321740 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 80325AE4 00321744 80 FF 04 70 */ lwz r7, 0x470(r31) +/* 80325AE8 00321748 54 00 F0 BE */ srwi r0, r0, 2 +/* 80325AEC 0032174C 7C 88 20 10 */ subfc r4, r8, r4 +/* 80325AF0 00321750 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 80325AF4 00321754 38 A0 00 00 */ li r5, 0 +/* 80325AF8 00321758 7C 67 19 10 */ subfe r3, r7, r3 +/* 80325AFC 0032175C 54 06 D1 BE */ srwi r6, r0, 6 +/* 80325B00 00321760 4B EA 17 79 */ bl __div2i +/* 80325B04 00321764 38 00 00 00 */ li r0, 0 +/* 80325B08 00321768 38 C0 17 70 */ li r6, 0x1770 +/* 80325B0C 0032176C 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80325B10 00321770 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 80325B14 00321774 7C 64 30 10 */ subfc r3, r4, r6 +/* 80325B18 00321778 7C A5 01 10 */ subfe r5, r5, r0 +/* 80325B1C 0032177C 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325B20 00321780 7C A5 00 D1 */ neg. r5, r5 +/* 80325B24 00321784 40 82 00 70 */ bne lbl_80325B94 +lbl_80325B28: +/* 80325B28 00321788 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 80325B2C 0032178C 88 1B 00 15 */ lbz r0, 0x15(r27) +/* 80325B30 00321790 2C 00 00 00 */ cmpwi r0, 0 +/* 80325B34 00321794 41 82 03 84 */ beq lbl_80325EB8 +/* 80325B38 00321798 4B F4 CC 81 */ bl OSGetTime +/* 80325B3C 0032179C 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325B40 003217A0 81 1B 04 74 */ lwz r8, 0x474(r27) +/* 80325B44 003217A4 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325B48 003217A8 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325B4C 003217AC 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 80325B50 003217B0 80 FB 04 70 */ lwz r7, 0x470(r27) +/* 80325B54 003217B4 54 00 F0 BE */ srwi r0, r0, 2 +/* 80325B58 003217B8 7C 88 20 10 */ subfc r4, r8, r4 +/* 80325B5C 003217BC 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 80325B60 003217C0 38 A0 00 00 */ li r5, 0 +/* 80325B64 003217C4 7C 67 19 10 */ subfe r3, r7, r3 +/* 80325B68 003217C8 54 06 D1 BE */ srwi r6, r0, 6 +/* 80325B6C 003217CC 4B EA 17 0D */ bl __div2i +/* 80325B70 003217D0 38 00 00 00 */ li r0, 0 +/* 80325B74 003217D4 38 C0 4A 38 */ li r6, 0x4a38 +/* 80325B78 003217D8 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80325B7C 003217DC 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 80325B80 003217E0 7C 64 30 10 */ subfc r3, r4, r6 +/* 80325B84 003217E4 7C A5 01 10 */ subfe r5, r5, r0 +/* 80325B88 003217E8 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325B8C 003217EC 7C A5 00 D1 */ neg. r5, r5 +/* 80325B90 003217F0 41 82 03 28 */ beq lbl_80325EB8 +lbl_80325B94: +/* 80325B94 003217F4 38 9E 02 80 */ addi r4, r30, 0x280 +/* 80325B98 003217F8 38 60 00 40 */ li r3, 0x40 +/* 80325B9C 003217FC 4C C6 31 82 */ crclr 6 +/* 80325BA0 00321800 4B FF 6F 95 */ bl func_8031CB34 +/* 80325BA4 00321804 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325BA8 00321808 38 80 00 FF */ li r4, 0xff +/* 80325BAC 0032180C 38 00 00 00 */ li r0, 0 +/* 80325BB0 00321810 98 83 03 E0 */ stb r4, 0x3e0(r3) +/* 80325BB4 00321814 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325BB8 00321818 98 03 03 E1 */ stb r0, 0x3e1(r3) +/* 80325BBC 0032181C 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325BC0 00321820 88 64 00 0D */ lbz r3, 0xd(r4) +/* 80325BC4 00321824 38 03 00 01 */ addi r0, r3, 1 +/* 80325BC8 00321828 54 00 10 3A */ slwi r0, r0, 2 +/* 80325BCC 0032182C 7C 64 02 14 */ add r3, r4, r0 +/* 80325BD0 00321830 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80325BD4 00321834 48 00 58 E9 */ bl func_8032B4BC +/* 80325BD8 00321838 2C 03 00 00 */ cmpwi r3, 0 +/* 80325BDC 0032183C 40 82 02 DC */ bne lbl_80325EB8 +/* 80325BE0 00321840 48 00 07 A4 */ b lbl_80326384 +/* 80325BE4 00321844 88 1F 03 E0 */ lbz r0, 0x3e0(r31) +/* 80325BE8 00321848 28 00 00 08 */ cmplwi r0, 8 +/* 80325BEC 0032184C 40 82 02 CC */ bne lbl_80325EB8 +/* 80325BF0 00321850 4B F4 CB C9 */ bl OSGetTime +/* 80325BF4 00321854 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325BF8 00321858 81 1F 04 74 */ lwz r8, 0x474(r31) +/* 80325BFC 0032185C 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325C00 00321860 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325C04 00321864 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 80325C08 00321868 80 FF 04 70 */ lwz r7, 0x470(r31) +/* 80325C0C 0032186C 54 00 F0 BE */ srwi r0, r0, 2 +/* 80325C10 00321870 7C 88 20 10 */ subfc r4, r8, r4 +/* 80325C14 00321874 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 80325C18 00321878 38 A0 00 00 */ li r5, 0 +/* 80325C1C 0032187C 7C 67 19 10 */ subfe r3, r7, r3 +/* 80325C20 00321880 54 06 D1 BE */ srwi r6, r0, 6 +/* 80325C24 00321884 4B EA 16 55 */ bl __div2i +/* 80325C28 00321888 3B E0 00 00 */ li r31, 0 +/* 80325C2C 0032188C 38 C0 75 30 */ li r6, 0x7530 +/* 80325C30 00321890 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80325C34 00321894 6F E0 80 00 */ xoris r0, r31, 0x8000 +/* 80325C38 00321898 7C 64 30 10 */ subfc r3, r4, r6 +/* 80325C3C 0032189C 7C A5 01 10 */ subfe r5, r5, r0 +/* 80325C40 003218A0 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325C44 003218A4 7C A5 00 D1 */ neg. r5, r5 +/* 80325C48 003218A8 41 82 02 70 */ beq lbl_80325EB8 +/* 80325C4C 003218AC 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325C50 003218B0 88 64 03 E1 */ lbz r3, 0x3e1(r4) +/* 80325C54 003218B4 38 03 00 01 */ addi r0, r3, 1 +/* 80325C58 003218B8 98 04 03 E1 */ stb r0, 0x3e1(r4) +/* 80325C5C 003218BC 81 0D B0 68 */ lwz r8, lbl_80640328-_SDA_BASE_(r13) +/* 80325C60 003218C0 88 08 03 E1 */ lbz r0, 0x3e1(r8) +/* 80325C64 003218C4 2C 00 00 00 */ cmpwi r0, 0 +/* 80325C68 003218C8 41 82 00 BC */ beq lbl_80325D24 +/* 80325C6C 003218CC 38 00 00 FF */ li r0, 0xff +/* 80325C70 003218D0 38 9E 02 AC */ addi r4, r30, 0x2ac +/* 80325C74 003218D4 98 08 03 E0 */ stb r0, 0x3e0(r8) +/* 80325C78 003218D8 38 60 00 40 */ li r3, 0x40 +/* 80325C7C 003218DC 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325C80 003218E0 9B E5 03 E1 */ stb r31, 0x3e1(r5) +/* 80325C84 003218E4 4C C6 31 82 */ crclr 6 +/* 80325C88 003218E8 4B FF 6E AD */ bl func_8031CB34 +/* 80325C8C 003218EC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325C90 003218F0 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80325C94 003218F4 28 00 00 02 */ cmplwi r0, 2 +/* 80325C98 003218F8 40 82 00 24 */ bne lbl_80325CBC +/* 80325C9C 003218FC 88 03 00 0D */ lbz r0, 0xd(r3) +/* 80325CA0 00321900 54 00 10 3A */ slwi r0, r0, 2 +/* 80325CA4 00321904 7C 63 02 14 */ add r3, r3, r0 +/* 80325CA8 00321908 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80325CAC 0032190C 48 00 58 11 */ bl func_8032B4BC +/* 80325CB0 00321910 2C 03 00 00 */ cmpwi r3, 0 +/* 80325CB4 00321914 40 82 02 04 */ bne lbl_80325EB8 +/* 80325CB8 00321918 48 00 06 CC */ b lbl_80326384 +lbl_80325CBC: +/* 80325CBC 0032191C 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80325CC0 00321920 28 00 00 02 */ cmplwi r0, 2 +/* 80325CC4 00321924 41 82 00 10 */ beq lbl_80325CD4 +/* 80325CC8 00321928 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80325CCC 0032192C 28 00 00 03 */ cmplwi r0, 3 +/* 80325CD0 00321930 40 82 00 18 */ bne lbl_80325CE8 +lbl_80325CD4: +/* 80325CD4 00321934 38 9E 02 D0 */ addi r4, r30, 0x2d0 +/* 80325CD8 00321938 38 60 00 08 */ li r3, 8 +/* 80325CDC 0032193C 4C C6 31 82 */ crclr 6 +/* 80325CE0 00321940 4B FF 6E 55 */ bl func_8031CB34 +/* 80325CE4 00321944 48 00 01 D4 */ b lbl_80325EB8 +lbl_80325CE8: +/* 80325CE8 00321948 38 00 00 02 */ li r0, 2 +/* 80325CEC 0032194C 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80325CF0 00321950 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325CF4 00321954 80 63 00 04 */ lwz r3, 4(r3) +/* 80325CF8 00321958 80 63 00 00 */ lwz r3, 0(r3) +/* 80325CFC 0032195C 48 02 40 75 */ bl gt2CloseAllConnectionsHard +/* 80325D00 00321960 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325D04 00321964 38 9E 03 00 */ addi r4, r30, 0x300 +/* 80325D08 00321968 38 60 00 40 */ li r3, 0x40 +/* 80325D0C 0032196C 9B E5 01 AC */ stb r31, 0x1ac(r5) +/* 80325D10 00321970 4C C6 31 82 */ crclr 6 +/* 80325D14 00321974 4B FF 6E 21 */ bl func_8031CB34 +/* 80325D18 00321978 38 60 00 01 */ li r3, 1 +/* 80325D1C 0032197C 48 00 6E 55 */ bl func_8032CB70 +/* 80325D20 00321980 48 00 01 98 */ b lbl_80325EB8 +lbl_80325D24: +/* 80325D24 00321984 80 88 04 68 */ lwz r4, 0x468(r8) +/* 80325D28 00321988 38 E8 03 E8 */ addi r7, r8, 0x3e8 +/* 80325D2C 0032198C 80 A8 03 E4 */ lwz r5, 0x3e4(r8) +/* 80325D30 00321990 38 60 00 08 */ li r3, 8 +/* 80325D34 00321994 A0 C8 03 E2 */ lhz r6, 0x3e2(r8) +/* 80325D38 00321998 81 08 04 6C */ lwz r8, 0x46c(r8) +/* 80325D3C 0032199C 48 00 2C 09 */ bl func_80328944 +/* 80325D40 003219A0 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325D44 003219A4 88 04 00 15 */ lbz r0, 0x15(r4) +/* 80325D48 003219A8 2C 00 00 00 */ cmpwi r0, 0 +/* 80325D4C 003219AC 40 82 00 0C */ bne lbl_80325D58 +/* 80325D50 003219B0 48 00 87 49 */ bl func_8032E498 +/* 80325D54 003219B4 48 00 00 08 */ b lbl_80325D5C +lbl_80325D58: +/* 80325D58 003219B8 48 00 85 39 */ bl func_8032E290 +lbl_80325D5C: +/* 80325D5C 003219BC 2C 03 00 00 */ cmpwi r3, 0 +/* 80325D60 003219C0 41 82 01 58 */ beq lbl_80325EB8 +/* 80325D64 003219C4 48 00 06 20 */ b lbl_80326384 +/* 80325D68 003219C8 4B FF D1 0D */ bl func_80322E74 +/* 80325D6C 003219CC 2C 03 00 05 */ cmpwi r3, 5 +/* 80325D70 003219D0 40 82 01 48 */ bne lbl_80325EB8 +/* 80325D74 003219D4 83 8D B0 68 */ lwz r28, lbl_80640328-_SDA_BASE_(r13) +/* 80325D78 003219D8 4B F4 CA 41 */ bl OSGetTime +/* 80325D7C 003219DC 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325D80 003219E0 81 1C 02 0C */ lwz r8, 0x20c(r28) +/* 80325D84 003219E4 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325D88 003219E8 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325D8C 003219EC 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 80325D90 003219F0 80 FC 02 08 */ lwz r7, 0x208(r28) +/* 80325D94 003219F4 54 00 F0 BE */ srwi r0, r0, 2 +/* 80325D98 003219F8 7C 88 20 10 */ subfc r4, r8, r4 +/* 80325D9C 003219FC 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 80325DA0 00321A00 38 A0 00 00 */ li r5, 0 +/* 80325DA4 00321A04 7C 67 19 10 */ subfe r3, r7, r3 +/* 80325DA8 00321A08 54 06 D1 BE */ srwi r6, r0, 6 +/* 80325DAC 00321A0C 4B EA 14 CD */ bl __div2i +/* 80325DB0 00321A10 38 00 00 00 */ li r0, 0 +/* 80325DB4 00321A14 38 C0 75 30 */ li r6, 0x7530 +/* 80325DB8 00321A18 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80325DBC 00321A1C 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 80325DC0 00321A20 7C 64 30 10 */ subfc r3, r4, r6 +/* 80325DC4 00321A24 7C A5 01 10 */ subfe r5, r5, r0 +/* 80325DC8 00321A28 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325DCC 00321A2C 7C A5 00 D1 */ neg. r5, r5 +/* 80325DD0 00321A30 41 82 00 E8 */ beq lbl_80325EB8 +/* 80325DD4 00321A34 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325DD8 00321A38 38 9E 03 30 */ addi r4, r30, 0x330 +/* 80325DDC 00321A3C 38 60 00 40 */ li r3, 0x40 +/* 80325DE0 00321A40 38 C0 00 05 */ li r6, 5 +/* 80325DE4 00321A44 88 A5 01 B1 */ lbz r5, 0x1b1(r5) +/* 80325DE8 00321A48 4C C6 31 82 */ crclr 6 +/* 80325DEC 00321A4C 4B FF 6D 49 */ bl func_8031CB34 +/* 80325DF0 00321A50 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80325DF4 00321A54 88 06 01 B1 */ lbz r0, 0x1b1(r6) +/* 80325DF8 00321A58 28 00 00 05 */ cmplwi r0, 5 +/* 80325DFC 00321A5C 41 80 00 2C */ blt lbl_80325E28 +/* 80325E00 00321A60 38 9E 03 4C */ addi r4, r30, 0x34c +/* 80325E04 00321A64 38 60 00 40 */ li r3, 0x40 +/* 80325E08 00321A68 4C C6 31 82 */ crclr 6 +/* 80325E0C 00321A6C 4B FF 6D 29 */ bl func_8031CB34 +/* 80325E10 00321A70 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325E14 00321A74 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80325E18 00321A78 48 00 5A 3D */ bl func_8032B854 +/* 80325E1C 00321A7C 2C 03 00 00 */ cmpwi r3, 0 +/* 80325E20 00321A80 40 82 00 98 */ bne lbl_80325EB8 +/* 80325E24 00321A84 48 00 05 60 */ b lbl_80326384 +lbl_80325E28: +/* 80325E28 00321A88 80 86 00 F8 */ lwz r4, 0xf8(r6) +/* 80325E2C 00321A8C 38 60 00 40 */ li r3, 0x40 +/* 80325E30 00321A90 80 A6 00 24 */ lwz r5, 0x24(r6) +/* 80325E34 00321A94 38 E0 00 00 */ li r7, 0 +/* 80325E38 00321A98 A0 C6 00 A4 */ lhz r6, 0xa4(r6) +/* 80325E3C 00321A9C 39 00 00 00 */ li r8, 0 +/* 80325E40 00321AA0 48 00 2B 05 */ bl func_80328944 +/* 80325E44 00321AA4 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325E48 00321AA8 88 04 00 15 */ lbz r0, 0x15(r4) +/* 80325E4C 00321AAC 2C 00 00 00 */ cmpwi r0, 0 +/* 80325E50 00321AB0 40 82 00 0C */ bne lbl_80325E5C +/* 80325E54 00321AB4 48 00 86 45 */ bl func_8032E498 +/* 80325E58 00321AB8 48 00 00 08 */ b lbl_80325E60 +lbl_80325E5C: +/* 80325E5C 00321ABC 48 00 84 35 */ bl func_8032E290 +lbl_80325E60: +/* 80325E60 00321AC0 2C 03 00 00 */ cmpwi r3, 0 +/* 80325E64 00321AC4 40 82 05 20 */ bne lbl_80326384 +/* 80325E68 00321AC8 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80325E6C 00321ACC 88 64 01 B1 */ lbz r3, 0x1b1(r4) +/* 80325E70 00321AD0 38 03 00 01 */ addi r0, r3, 1 +/* 80325E74 00321AD4 98 04 01 B1 */ stb r0, 0x1b1(r4) +/* 80325E78 00321AD8 4B F4 C9 41 */ bl OSGetTime +/* 80325E7C 00321ADC 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325E80 00321AE0 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325E84 00321AE4 80 C6 00 F8 */ lwz r6, 0x800000F8@l(r6) +/* 80325E88 00321AE8 38 E5 4D D3 */ addi r7, r5, 0x10624DD3@l +/* 80325E8C 00321AEC 38 00 5D C0 */ li r0, 0x5dc0 +/* 80325E90 00321AF0 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325E94 00321AF4 54 C6 F0 BE */ srwi r6, r6, 2 +/* 80325E98 00321AF8 7C C7 30 16 */ mulhwu r6, r7, r6 +/* 80325E9C 00321AFC 54 C7 D1 BE */ srwi r7, r6, 6 +/* 80325EA0 00321B00 7C C7 00 16 */ mulhwu r6, r7, r0 +/* 80325EA4 00321B04 1C 07 5D C0 */ mulli r0, r7, 0x5dc0 +/* 80325EA8 00321B08 7C 00 20 10 */ subfc r0, r0, r4 +/* 80325EAC 00321B0C 90 05 02 0C */ stw r0, 0x20c(r5) +/* 80325EB0 00321B10 7C 06 19 10 */ subfe r0, r6, r3 +/* 80325EB4 00321B14 90 05 02 08 */ stw r0, 0x208(r5) +lbl_80325EB8: +/* 80325EB8 00321B18 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 80325EBC 00321B1C 80 1B 01 A4 */ lwz r0, 0x1a4(r27) +/* 80325EC0 00321B20 2C 00 00 0B */ cmpwi r0, 0xb +/* 80325EC4 00321B24 41 82 00 0C */ beq lbl_80325ED0 +/* 80325EC8 00321B28 2C 00 00 06 */ cmpwi r0, 6 +/* 80325ECC 00321B2C 40 82 00 98 */ bne lbl_80325F64 +lbl_80325ED0: +/* 80325ED0 00321B30 80 1B 01 88 */ lwz r0, 0x188(r27) +/* 80325ED4 00321B34 80 7B 01 8C */ lwz r3, 0x18c(r27) +/* 80325ED8 00321B38 7C 60 03 79 */ or. r0, r3, r0 +/* 80325EDC 00321B3C 41 82 00 88 */ beq lbl_80325F64 +/* 80325EE0 00321B40 4B F4 C8 D9 */ bl OSGetTime +/* 80325EE4 00321B44 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 80325EE8 00321B48 81 1B 01 8C */ lwz r8, 0x18c(r27) +/* 80325EEC 00321B4C 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 80325EF0 00321B50 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 80325EF4 00321B54 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 80325EF8 00321B58 80 FB 01 88 */ lwz r7, 0x188(r27) +/* 80325EFC 00321B5C 54 00 F0 BE */ srwi r0, r0, 2 +/* 80325F00 00321B60 7C 88 20 10 */ subfc r4, r8, r4 +/* 80325F04 00321B64 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 80325F08 00321B68 38 A0 00 00 */ li r5, 0 +/* 80325F0C 00321B6C 7C 67 19 10 */ subfe r3, r7, r3 +/* 80325F10 00321B70 54 06 D1 BE */ srwi r6, r0, 6 +/* 80325F14 00321B74 4B EA 13 65 */ bl __div2i +/* 80325F18 00321B78 38 00 00 00 */ li r0, 0 +/* 80325F1C 00321B7C 38 C0 27 10 */ li r6, 0x2710 +/* 80325F20 00321B80 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80325F24 00321B84 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 80325F28 00321B88 7C 64 30 10 */ subfc r3, r4, r6 +/* 80325F2C 00321B8C 7C A5 01 10 */ subfe r5, r5, r0 +/* 80325F30 00321B90 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325F34 00321B94 7C A5 00 D1 */ neg. r5, r5 +/* 80325F38 00321B98 41 82 00 2C */ beq lbl_80325F64 +/* 80325F3C 00321B9C 38 9E 03 7C */ addi r4, r30, 0x37c +/* 80325F40 00321BA0 38 60 00 40 */ li r3, 0x40 +/* 80325F44 00321BA4 4C C6 31 82 */ crclr 6 +/* 80325F48 00321BA8 4B FF 6B ED */ bl func_8031CB34 +/* 80325F4C 00321BAC 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80325F50 00321BB0 38 60 00 01 */ li r3, 1 +/* 80325F54 00321BB4 38 80 00 00 */ li r4, 0 +/* 80325F58 00321BB8 38 A0 00 00 */ li r5, 0 +/* 80325F5C 00321BBC 38 C6 01 98 */ addi r6, r6, 0x198 +/* 80325F60 00321BC0 48 00 A3 41 */ bl func_803302A0 +lbl_80325F64: +/* 80325F64 00321BC4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325F68 00321BC8 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80325F6C 00321BCC 2C 03 00 00 */ cmpwi r3, 0 +/* 80325F70 00321BD0 41 82 01 B4 */ beq lbl_80326124 +/* 80325F74 00321BD4 48 03 88 85 */ bl ServerBrowserThink +/* 80325F78 00321BD8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325F7C 00321BDC 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80325F80 00321BE0 48 03 88 ED */ bl ServerBrowserState +/* 80325F84 00321BE4 2C 03 00 00 */ cmpwi r3, 0 +/* 80325F88 00321BE8 41 82 01 9C */ beq lbl_80326124 +/* 80325F8C 00321BEC 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 80325F90 00321BF0 80 1B 01 78 */ lwz r0, 0x178(r27) +/* 80325F94 00321BF4 80 7B 01 7C */ lwz r3, 0x17c(r27) +/* 80325F98 00321BF8 7C 60 03 79 */ or. r0, r3, r0 +/* 80325F9C 00321BFC 41 82 01 88 */ beq lbl_80326124 +/* 80325FA0 00321C00 4B F4 C8 19 */ bl OSGetTime +/* 80325FA4 00321C04 80 1B 01 78 */ lwz r0, 0x178(r27) +/* 80325FA8 00321C08 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80325FAC 00321C0C 80 7B 01 7C */ lwz r3, 0x17c(r27) +/* 80325FB0 00321C10 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 80325FB4 00321C14 7C 64 18 10 */ subfc r3, r4, r3 +/* 80325FB8 00321C18 7C A5 01 10 */ subfe r5, r5, r0 +/* 80325FBC 00321C1C 7C A0 01 10 */ subfe r5, r0, r0 +/* 80325FC0 00321C20 7C A5 00 D1 */ neg. r5, r5 +/* 80325FC4 00321C24 41 82 01 60 */ beq lbl_80326124 +/* 80325FC8 00321C28 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325FCC 00321C2C 2C 03 00 00 */ cmpwi r3, 0 +/* 80325FD0 00321C30 41 82 01 44 */ beq lbl_80326114 +/* 80325FD4 00321C34 38 00 00 02 */ li r0, 2 +/* 80325FD8 00321C38 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80325FDC 00321C3C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80325FE0 00321C40 80 63 00 04 */ lwz r3, 4(r3) +/* 80325FE4 00321C44 80 63 00 00 */ lwz r3, 0(r3) +/* 80325FE8 00321C48 48 02 3D 89 */ bl gt2CloseAllConnectionsHard +/* 80325FEC 00321C4C 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80325FF0 00321C50 3B E0 00 00 */ li r31, 0 +/* 80325FF4 00321C54 3C 80 FF FF */ lis r4, 0xFFFEB3EE@ha +/* 80325FF8 00321C58 38 60 00 06 */ li r3, 6 +/* 80325FFC 00321C5C 9B E5 01 AC */ stb r31, 0x1ac(r5) +/* 80326000 00321C60 38 84 B3 EE */ addi r4, r4, 0xFFFEB3EE@l +/* 80326004 00321C64 4B FF 65 7D */ bl func_8031C580 +/* 80326008 00321C68 38 60 00 01 */ li r3, 1 +/* 8032600C 00321C6C 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80326010 00321C70 38 A0 00 00 */ li r5, 0 +/* 80326014 00321C74 4B FF 9C 3D */ bl func_8031FC50 +/* 80326018 00321C78 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 8032601C 00321C7C 88 9B 00 15 */ lbz r4, 0x15(r27) +/* 80326020 00321C80 80 7B 02 1C */ lwz r3, 0x21c(r27) +/* 80326024 00321C84 38 04 FF FE */ addi r0, r4, -2 +/* 80326028 00321C88 7C 04 00 34 */ cntlzw r4, r0 +/* 8032602C 00321C8C 7C 60 00 34 */ cntlzw r0, r3 +/* 80326030 00321C90 54 9C D9 7E */ srwi r28, r4, 5 +/* 80326034 00321C94 54 1D D9 7E */ srwi r29, r0, 5 +/* 80326038 00321C98 4B FF 9B 11 */ bl func_8031FB48 +/* 8032603C 00321C9C 81 9B 04 78 */ lwz r12, 0x478(r27) +/* 80326040 00321CA0 7C 67 1B 78 */ mr r7, r3 +/* 80326044 00321CA4 7F A5 EB 78 */ mr r5, r29 +/* 80326048 00321CA8 7F 86 E3 78 */ mr r6, r28 +/* 8032604C 00321CAC 81 1B 04 7C */ lwz r8, 0x47c(r27) +/* 80326050 00321CB0 38 60 00 06 */ li r3, 6 +/* 80326054 00321CB4 38 80 00 00 */ li r4, 0 +/* 80326058 00321CB8 7D 89 03 A6 */ mtctr r12 +/* 8032605C 00321CBC 4E 80 04 21 */ bctrl +/* 80326060 00321CC0 38 9E 00 58 */ addi r4, r30, 0x58 +/* 80326064 00321CC4 38 60 00 40 */ li r3, 0x40 +/* 80326068 00321CC8 4C C6 31 82 */ crclr 6 +/* 8032606C 00321CCC 4B FF 6A C9 */ bl func_8031CB34 +/* 80326070 00321CD0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326074 00321CD4 2C 03 00 00 */ cmpwi r3, 0 +/* 80326078 00321CD8 41 82 00 9C */ beq lbl_80326114 +/* 8032607C 00321CDC 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80326080 00321CE0 2C 03 00 00 */ cmpwi r3, 0 +/* 80326084 00321CE4 41 82 00 10 */ beq lbl_80326094 +/* 80326088 00321CE8 48 03 84 15 */ bl ServerBrowserFree +/* 8032608C 00321CEC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326090 00321CF0 93 E3 00 E4 */ stw r31, 0xe4(r3) +lbl_80326094: +/* 80326094 00321CF4 48 03 4B 21 */ bl NNFreeNegotiateList +/* 80326098 00321CF8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032609C 00321CFC 3B E0 00 00 */ li r31, 0 +/* 803260A0 00321D00 93 E3 01 A4 */ stw r31, 0x1a4(r3) +/* 803260A4 00321D04 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 803260A8 00321D08 2C 04 00 00 */ cmpwi r4, 0 +/* 803260AC 00321D0C 41 82 00 14 */ beq lbl_803260C0 +/* 803260B0 00321D10 38 60 00 04 */ li r3, 4 +/* 803260B4 00321D14 38 A0 00 00 */ li r5, 0 +/* 803260B8 00321D18 4B FF 68 D1 */ bl func_8031C988 +/* 803260BC 00321D1C 93 ED B0 60 */ stw r31, lbl_80640320-_SDA_BASE_(r13) +lbl_803260C0: +/* 803260C0 00321D20 3F 80 80 61 */ lis r28, lbl_8060FD88@ha +/* 803260C4 00321D24 3B A0 00 00 */ li r29, 0 +/* 803260C8 00321D28 3B 9C FD 88 */ addi r28, r28, lbl_8060FD88@l +lbl_803260CC: +/* 803260CC 00321D2C 80 9C 00 04 */ lwz r4, 4(r28) +/* 803260D0 00321D30 2C 04 00 00 */ cmpwi r4, 0 +/* 803260D4 00321D34 41 82 00 10 */ beq lbl_803260E4 +/* 803260D8 00321D38 38 60 00 04 */ li r3, 4 +/* 803260DC 00321D3C 38 A0 00 00 */ li r5, 0 +/* 803260E0 00321D40 4B FF 68 A9 */ bl func_8031C988 +lbl_803260E4: +/* 803260E4 00321D44 3B BD 00 01 */ addi r29, r29, 1 +/* 803260E8 00321D48 3B 9C 00 0C */ addi r28, r28, 0xc +/* 803260EC 00321D4C 2C 1D 00 9A */ cmpwi r29, 0x9a +/* 803260F0 00321D50 41 80 FF DC */ blt lbl_803260CC +/* 803260F4 00321D54 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 803260F8 00321D58 38 80 00 00 */ li r4, 0 +/* 803260FC 00321D5C 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80326100 00321D60 38 A0 07 38 */ li r5, 0x738 +/* 80326104 00321D64 4B CD E0 01 */ bl memset +/* 80326108 00321D68 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032610C 00321D6C 38 00 00 01 */ li r0, 1 +/* 80326110 00321D70 98 03 00 18 */ stb r0, 0x18(r3) +lbl_80326114: +/* 80326114 00321D74 38 9E 03 98 */ addi r4, r30, 0x398 +/* 80326118 00321D78 38 60 04 00 */ li r3, 0x400 +/* 8032611C 00321D7C 4C C6 31 82 */ crclr 6 +/* 80326120 00321D80 4B FF 6A 15 */ bl func_8031CB34 +lbl_80326124: +/* 80326124 00321D84 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326128 00321D88 83 A3 00 10 */ lwz r29, 0x10(r3) +/* 8032612C 00321D8C 2C 1D 00 00 */ cmpwi r29, 0 +/* 80326130 00321D90 41 82 00 88 */ beq lbl_803261B8 +/* 80326134 00321D94 7F A3 EB 78 */ mr r3, r29 +/* 80326138 00321D98 48 02 81 A9 */ bl qr2_think +/* 8032613C 00321D9C 80 1D 00 B4 */ lwz r0, 0xb4(r29) +/* 80326140 00321DA0 2C 00 00 00 */ cmpwi r0, 0 +/* 80326144 00321DA4 40 82 00 74 */ bne lbl_803261B8 +/* 80326148 00321DA8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032614C 00321DAC 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80326150 00321DB0 2C 00 00 02 */ cmpwi r0, 2 +/* 80326154 00321DB4 41 82 00 50 */ beq lbl_803261A4 +/* 80326158 00321DB8 40 80 00 60 */ bge lbl_803261B8 +/* 8032615C 00321DBC 2C 00 00 00 */ cmpwi r0, 0 +/* 80326160 00321DC0 40 80 00 08 */ bge lbl_80326168 +/* 80326164 00321DC4 48 00 00 54 */ b lbl_803261B8 +lbl_80326168: +/* 80326168 00321DC8 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 8032616C 00321DCC 2C 00 00 06 */ cmpwi r0, 6 +/* 80326170 00321DD0 41 82 00 28 */ beq lbl_80326198 +/* 80326174 00321DD4 40 80 00 18 */ bge lbl_8032618C +/* 80326178 00321DD8 2C 00 00 05 */ cmpwi r0, 5 +/* 8032617C 00321DDC 40 80 00 3C */ bge lbl_803261B8 +/* 80326180 00321DE0 2C 00 00 01 */ cmpwi r0, 1 +/* 80326184 00321DE4 40 80 00 14 */ bge lbl_80326198 +/* 80326188 00321DE8 48 00 00 30 */ b lbl_803261B8 +lbl_8032618C: +/* 8032618C 00321DEC 2C 00 00 0B */ cmpwi r0, 0xb +/* 80326190 00321DF0 41 82 00 08 */ beq lbl_80326198 +/* 80326194 00321DF4 48 00 00 24 */ b lbl_803261B8 +lbl_80326198: +/* 80326198 00321DF8 80 63 00 10 */ lwz r3, 0x10(r3) +/* 8032619C 00321DFC 48 02 84 25 */ bl qr2_send_statechanged +/* 803261A0 00321E00 48 00 00 18 */ b lbl_803261B8 +lbl_803261A4: +/* 803261A4 00321E04 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 803261A8 00321E08 2C 00 00 0B */ cmpwi r0, 0xb +/* 803261AC 00321E0C 40 82 00 0C */ bne lbl_803261B8 +/* 803261B0 00321E10 80 63 00 10 */ lwz r3, 0x10(r3) +/* 803261B4 00321E14 48 02 84 0D */ bl qr2_send_statechanged +lbl_803261B8: +/* 803261B8 00321E18 48 03 59 25 */ bl NNThink +/* 803261BC 00321E1C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803261C0 00321E20 80 63 00 04 */ lwz r3, 4(r3) +/* 803261C4 00321E24 2C 03 00 00 */ cmpwi r3, 0 +/* 803261C8 00321E28 41 82 00 0C */ beq lbl_803261D4 +/* 803261CC 00321E2C 80 63 00 00 */ lwz r3, 0(r3) +/* 803261D0 00321E30 48 02 38 6D */ bl gt2Think +lbl_803261D4: +/* 803261D4 00321E34 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 803261D8 00321E38 80 1B 01 A4 */ lwz r0, 0x1a4(r27) +/* 803261DC 00321E3C 2C 00 00 12 */ cmpwi r0, 0x12 +/* 803261E0 00321E40 40 82 00 8C */ bne lbl_8032626C +/* 803261E4 00321E44 4B F4 C5 D5 */ bl OSGetTime +/* 803261E8 00321E48 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 803261EC 00321E4C 81 1B 02 04 */ lwz r8, 0x204(r27) +/* 803261F0 00321E50 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) +/* 803261F4 00321E54 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 803261F8 00321E58 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l +/* 803261FC 00321E5C 80 FB 02 00 */ lwz r7, 0x200(r27) +/* 80326200 00321E60 54 00 F0 BE */ srwi r0, r0, 2 +/* 80326204 00321E64 7C 88 20 10 */ subfc r4, r8, r4 +/* 80326208 00321E68 7C 06 00 16 */ mulhwu r0, r6, r0 +/* 8032620C 00321E6C 38 A0 00 00 */ li r5, 0 +/* 80326210 00321E70 7C 67 19 10 */ subfe r3, r7, r3 +/* 80326214 00321E74 54 06 D1 BE */ srwi r6, r0, 6 +/* 80326218 00321E78 4B EA 10 61 */ bl __div2i +/* 8032621C 00321E7C 38 00 00 00 */ li r0, 0 +/* 80326220 00321E80 38 C0 0B B8 */ li r6, 0xbb8 +/* 80326224 00321E84 6C 65 80 00 */ xoris r5, r3, 0x8000 +/* 80326228 00321E88 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8032622C 00321E8C 7C 64 30 10 */ subfc r3, r4, r6 +/* 80326230 00321E90 7C A5 01 10 */ subfe r5, r5, r0 +/* 80326234 00321E94 7C A0 01 10 */ subfe r5, r0, r0 +/* 80326238 00321E98 7C A5 00 D1 */ neg. r5, r5 +/* 8032623C 00321E9C 41 82 00 30 */ beq lbl_8032626C +/* 80326240 00321EA0 38 9E 03 BC */ addi r4, r30, 0x3bc +/* 80326244 00321EA4 38 60 00 04 */ li r3, 4 +/* 80326248 00321EA8 4C C6 31 82 */ crclr 6 +/* 8032624C 00321EAC 4B FF 68 E9 */ bl func_8031CB34 +/* 80326250 00321EB0 38 9E 03 E4 */ addi r4, r30, 0x3e4 +/* 80326254 00321EB4 38 60 00 40 */ li r3, 0x40 +/* 80326258 00321EB8 4C C6 31 82 */ crclr 6 +/* 8032625C 00321EBC 4B FF 68 D9 */ bl func_8031CB34 +/* 80326260 00321EC0 48 00 6B 61 */ bl func_8032CDC0 +/* 80326264 00321EC4 2C 03 00 00 */ cmpwi r3, 0 +/* 80326268 00321EC8 40 82 01 1C */ bne lbl_80326384 +lbl_8032626C: +/* 8032626C 00321ECC 48 00 6E F5 */ bl func_8032D160 +/* 80326270 00321ED0 2C 03 00 00 */ cmpwi r3, 0 +/* 80326274 00321ED4 41 82 01 10 */ beq lbl_80326384 +/* 80326278 00321ED8 48 00 76 11 */ bl func_8032D888 +/* 8032627C 00321EDC 2C 03 00 00 */ cmpwi r3, 0 +/* 80326280 00321EE0 41 82 01 04 */ beq lbl_80326384 +/* 80326284 00321EE4 48 00 79 29 */ bl func_8032DBAC +/* 80326288 00321EE8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032628C 00321EEC 88 03 01 B2 */ lbz r0, 0x1b2(r3) +/* 80326290 00321EF0 2C 00 00 00 */ cmpwi r0, 0 +/* 80326294 00321EF4 41 82 00 F0 */ beq lbl_80326384 +/* 80326298 00321EF8 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 8032629C 00321EFC 2C 00 00 0A */ cmpwi r0, 0xa +/* 803262A0 00321F00 40 82 00 E4 */ bne lbl_80326384 +/* 803262A4 00321F04 88 03 00 0D */ lbz r0, 0xd(r3) +/* 803262A8 00321F08 98 03 00 16 */ stb r0, 0x16(r3) +/* 803262AC 00321F0C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803262B0 00321F10 88 03 00 15 */ lbz r0, 0x15(r3) +/* 803262B4 00321F14 28 00 00 02 */ cmplwi r0, 2 +/* 803262B8 00321F18 40 82 00 A4 */ bne lbl_8032635C +/* 803262BC 00321F1C 88 C3 00 16 */ lbz r6, 0x16(r3) +/* 803262C0 00321F20 38 61 00 08 */ addi r3, r1, 8 +/* 803262C4 00321F24 38 80 00 0C */ li r4, 0xc +/* 803262C8 00321F28 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 803262CC 00321F2C 38 C6 00 01 */ addi r6, r6, 1 +/* 803262D0 00321F30 4C C6 31 82 */ crclr 6 +/* 803262D4 00321F34 4B EA 67 51 */ bl snprintf +/* 803262D8 00321F38 38 81 00 08 */ addi r4, r1, 8 +/* 803262DC 00321F3C 38 A1 00 18 */ addi r5, r1, 0x18 +/* 803262E0 00321F40 38 6D 8D AC */ addi r3, r13, lbl_8063E06C-_SDA_BASE_ +/* 803262E4 00321F44 38 C0 00 2F */ li r6, 0x2f +/* 803262E8 00321F48 4B FF 8B 05 */ bl func_8031EDEC +/* 803262EC 00321F4C 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 803262F0 00321F50 38 61 00 08 */ addi r3, r1, 8 +/* 803262F4 00321F54 38 80 00 0C */ li r4, 0xc +/* 803262F8 00321F58 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 803262FC 00321F5C 88 C6 00 0D */ lbz r6, 0xd(r6) +/* 80326300 00321F60 38 C6 00 01 */ addi r6, r6, 1 +/* 80326304 00321F64 4C C6 31 82 */ crclr 6 +/* 80326308 00321F68 4B EA 67 1D */ bl snprintf +/* 8032630C 00321F6C 38 81 00 08 */ addi r4, r1, 8 +/* 80326310 00321F70 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80326314 00321F74 38 6D 8D B0 */ addi r3, r13, lbl_8063E070-_SDA_BASE_ +/* 80326318 00321F78 38 C0 00 2F */ li r6, 0x2f +/* 8032631C 00321F7C 4B FF 8B 29 */ bl func_8031EE44 +/* 80326320 00321F80 38 61 00 08 */ addi r3, r1, 8 +/* 80326324 00321F84 38 80 00 0C */ li r4, 0xc +/* 80326328 00321F88 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 8032632C 00321F8C 38 C0 00 03 */ li r6, 3 +/* 80326330 00321F90 4C C6 31 82 */ crclr 6 +/* 80326334 00321F94 4B EA 66 F1 */ bl snprintf +/* 80326338 00321F98 38 81 00 08 */ addi r4, r1, 8 +/* 8032633C 00321F9C 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80326340 00321FA0 38 6D 8D B4 */ addi r3, r13, lbl_8063E074-_SDA_BASE_ +/* 80326344 00321FA4 38 C0 00 2F */ li r6, 0x2f +/* 80326348 00321FA8 4B FF 8A FD */ bl func_8031EE44 +/* 8032634C 00321FAC 38 81 00 18 */ addi r4, r1, 0x18 +/* 80326350 00321FB0 38 60 00 06 */ li r3, 6 +/* 80326354 00321FB4 38 A0 00 00 */ li r5, 0 +/* 80326358 00321FB8 4B FF 98 F9 */ bl func_8031FC50 +lbl_8032635C: +/* 8032635C 00321FBC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326360 00321FC0 38 00 00 00 */ li r0, 0 +/* 80326364 00321FC4 98 03 01 B2 */ stb r0, 0x1b2(r3) +/* 80326368 00321FC8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032636C 00321FCC 81 83 04 90 */ lwz r12, 0x490(r3) +/* 80326370 00321FD0 2C 0C 00 00 */ cmpwi r12, 0 +/* 80326374 00321FD4 41 82 00 10 */ beq lbl_80326384 +/* 80326378 00321FD8 80 63 04 94 */ lwz r3, 0x494(r3) +/* 8032637C 00321FDC 7D 89 03 A6 */ mtctr r12 +/* 80326380 00321FE0 4E 80 04 21 */ bctrl +lbl_80326384: +/* 80326384 00321FE4 39 61 00 50 */ addi r11, r1, 0x50 +/* 80326388 00321FE8 4B EA 0D ED */ bl _restgpr_27 +/* 8032638C 00321FEC 80 01 00 54 */ lwz r0, 0x54(r1) +/* 80326390 00321FF0 7C 08 03 A6 */ mtlr r0 +/* 80326394 00321FF4 38 21 00 50 */ addi r1, r1, 0x50 +/* 80326398 00321FF8 4E 80 00 20 */ blr +lbl_8032639C: +/* 8032639C 00321FFC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 803263A0 00322000 7C 08 02 A6 */ mflr r0 +/* 803263A4 00322004 90 01 00 34 */ stw r0, 0x34(r1) +/* 803263A8 00322008 39 61 00 30 */ addi r11, r1, 0x30 +/* 803263AC 0032200C 4B EA 0D 7D */ bl _savegpr_27 +/* 803263B0 00322010 2C 07 00 00 */ cmpwi r7, 0 +/* 803263B4 00322014 3F E0 80 44 */ lis r31, lbl_80447FE0@ha +/* 803263B8 00322018 7C 9B 23 78 */ mr r27, r4 +/* 803263BC 0032201C 7C BE 2B 78 */ mr r30, r5 +/* 803263C0 00322020 7C DC 33 78 */ mr r28, r6 +/* 803263C4 00322024 7C FD 3B 78 */ mr r29, r7 +/* 803263C8 00322028 3B FF 7F E0 */ addi r31, r31, lbl_80447FE0@l +/* 803263CC 0032202C 41 82 00 0C */ beq lbl_803263D8 +/* 803263D0 00322030 2C 06 00 00 */ cmpwi r6, 0 +/* 803263D4 00322034 40 82 00 0C */ bne lbl_803263E0 +lbl_803263D8: +/* 803263D8 00322038 38 60 00 00 */ li r3, 0 +/* 803263DC 0032203C 48 00 01 1C */ b lbl_803264F8 +lbl_803263E0: +/* 803263E0 00322040 38 61 00 08 */ addi r3, r1, 8 +/* 803263E4 00322044 38 80 00 00 */ li r4, 0 +/* 803263E8 00322048 38 A0 00 08 */ li r5, 8 +/* 803263EC 0032204C 4B CD DD 19 */ bl memset +/* 803263F0 00322050 38 00 00 02 */ li r0, 2 +/* 803263F4 00322054 93 61 00 0C */ stw r27, 0xc(r1) +/* 803263F8 00322058 7F C3 F3 78 */ mr r3, r30 +/* 803263FC 0032205C 98 01 00 09 */ stb r0, 9(r1) +/* 80326400 00322060 4B FD 09 7D */ bl SOHtoNs +/* 80326404 00322064 B0 61 00 0A */ sth r3, 0xa(r1) +/* 80326408 00322068 8B DC 00 00 */ lbz r30, 0(r28) +/* 8032640C 0032206C 28 1E 00 FE */ cmplwi r30, 0xfe +/* 80326410 00322070 40 82 00 10 */ bne lbl_80326420 +/* 80326414 00322074 88 1C 00 01 */ lbz r0, 1(r28) +/* 80326418 00322078 28 00 00 FD */ cmplwi r0, 0xfd +/* 8032641C 0032207C 41 82 00 0C */ beq lbl_80326428 +lbl_80326420: +/* 80326420 00322080 28 1E 00 5C */ cmplwi r30, 0x5c +/* 80326424 00322084 40 82 00 4C */ bne lbl_80326470 +lbl_80326428: +/* 80326428 00322088 38 9F 04 40 */ addi r4, r31, 0x440 +/* 8032642C 0032208C 38 60 00 40 */ li r3, 0x40 +/* 80326430 00322090 4C C6 31 82 */ crclr 6 +/* 80326434 00322094 4B FF 67 01 */ bl func_8031CB34 +/* 80326438 00322098 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032643C 0032209C 80 63 00 10 */ lwz r3, 0x10(r3) +/* 80326440 003220A0 2C 03 00 00 */ cmpwi r3, 0 +/* 80326444 003220A4 41 82 00 18 */ beq lbl_8032645C +/* 80326448 003220A8 7F 84 E3 78 */ mr r4, r28 +/* 8032644C 003220AC 7F A5 EB 78 */ mr r5, r29 +/* 80326450 003220B0 38 C1 00 08 */ addi r6, r1, 8 +/* 80326454 003220B4 48 02 93 C9 */ bl qr2_parse_queryA +/* 80326458 003220B8 48 00 00 9C */ b lbl_803264F4 +lbl_8032645C: +/* 8032645C 003220BC 38 9F 04 68 */ addi r4, r31, 0x468 +/* 80326460 003220C0 38 60 00 40 */ li r3, 0x40 +/* 80326464 003220C4 4C C6 31 82 */ crclr 6 +/* 80326468 003220C8 4B FF 66 CD */ bl func_8031CB34 +/* 8032646C 003220CC 48 00 00 88 */ b lbl_803264F4 +lbl_80326470: +/* 80326470 003220D0 3C 80 80 64 */ lis r4, lbl_8063E768@ha +/* 80326474 003220D4 7F 83 E3 78 */ mr r3, r28 +/* 80326478 003220D8 38 84 E7 68 */ addi r4, r4, lbl_8063E768@l +/* 8032647C 003220DC 38 A0 00 06 */ li r5, 6 +/* 80326480 003220E0 4B EA 3F 19 */ bl memcmp +/* 80326484 003220E4 2C 03 00 00 */ cmpwi r3, 0 +/* 80326488 003220E8 40 82 00 28 */ bne lbl_803264B0 +/* 8032648C 003220EC 38 9F 04 80 */ addi r4, r31, 0x480 +/* 80326490 003220F0 38 60 00 40 */ li r3, 0x40 +/* 80326494 003220F4 4C C6 31 82 */ crclr 6 +/* 80326498 003220F8 4B FF 66 9D */ bl func_8031CB34 +/* 8032649C 003220FC 7F 83 E3 78 */ mr r3, r28 +/* 803264A0 00322100 7F A4 EB 78 */ mr r4, r29 +/* 803264A4 00322104 38 A1 00 08 */ addi r5, r1, 8 +/* 803264A8 00322108 48 03 5E 95 */ bl NNProcessData +/* 803264AC 0032210C 48 00 00 48 */ b lbl_803264F4 +lbl_803264B0: +/* 803264B0 00322110 28 1E 00 FE */ cmplwi r30, 0xfe +/* 803264B4 00322114 40 82 00 28 */ bne lbl_803264DC +/* 803264B8 00322118 88 1C 00 01 */ lbz r0, 1(r28) +/* 803264BC 0032211C 28 00 00 FE */ cmplwi r0, 0xfe +/* 803264C0 00322120 40 82 00 1C */ bne lbl_803264DC +/* 803264C4 00322124 38 9F 04 A8 */ addi r4, r31, 0x4a8 +/* 803264C8 00322128 38 60 00 80 */ li r3, 0x80 +/* 803264CC 0032212C 4C C6 31 82 */ crclr 6 +/* 803264D0 00322130 4B FF 66 65 */ bl func_8031CB34 +/* 803264D4 00322134 38 60 00 00 */ li r3, 0 +/* 803264D8 00322138 48 00 00 20 */ b lbl_803264F8 +lbl_803264DC: +/* 803264DC 0032213C 38 9F 04 D8 */ addi r4, r31, 0x4d8 +/* 803264E0 00322140 38 60 00 08 */ li r3, 8 +/* 803264E4 00322144 4C C6 31 82 */ crclr 6 +/* 803264E8 00322148 4B FF 66 4D */ bl func_8031CB34 +/* 803264EC 0032214C 38 60 00 00 */ li r3, 0 +/* 803264F0 00322150 48 00 00 08 */ b lbl_803264F8 +lbl_803264F4: +/* 803264F4 00322154 38 60 00 01 */ li r3, 1 +lbl_803264F8: +/* 803264F8 00322158 39 61 00 30 */ addi r11, r1, 0x30 +/* 803264FC 0032215C 4B EA 0C 79 */ bl _restgpr_27 +/* 80326500 00322160 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80326504 00322164 7C 08 03 A6 */ mtlr r0 +/* 80326508 00322168 38 21 00 30 */ addi r1, r1, 0x30 +/* 8032650C 0032216C 4E 80 00 20 */ blr +lbl_80326510: +/* 80326510 00322170 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80326514 00322174 7C 08 02 A6 */ mflr r0 +/* 80326518 00322178 90 01 00 34 */ stw r0, 0x34(r1) +/* 8032651C 0032217C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80326520 00322180 4B EA 0B FD */ bl _savegpr_24 +/* 80326524 00322184 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326528 00322188 3F C0 80 44 */ lis r30, lbl_80447FE0@ha +/* 8032652C 0032218C 7C 99 23 78 */ mr r25, r4 +/* 80326530 00322190 7C BA 2B 78 */ mr r26, r5 +/* 80326534 00322194 2C 03 00 00 */ cmpwi r3, 0 +/* 80326538 00322198 7C DB 33 78 */ mr r27, r6 +/* 8032653C 0032219C 7C FC 3B 78 */ mr r28, r7 +/* 80326540 003221A0 7D 1F 43 78 */ mr r31, r8 +/* 80326544 003221A4 3B DE 7F E0 */ addi r30, r30, lbl_80447FE0@l +/* 80326548 003221A8 41 82 00 1C */ beq lbl_80326564 +/* 8032654C 003221AC 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 80326550 003221B0 2C 00 00 07 */ cmpwi r0, 7 +/* 80326554 003221B4 40 82 00 10 */ bne lbl_80326564 +/* 80326558 003221B8 88 03 01 AD */ lbz r0, 0x1ad(r3) +/* 8032655C 003221BC 2C 00 00 00 */ cmpwi r0, 0 +/* 80326560 003221C0 41 82 00 28 */ beq lbl_80326588 +lbl_80326564: +/* 80326564 003221C4 7F 23 CB 78 */ mr r3, r25 +/* 80326568 003221C8 38 9E 05 08 */ addi r4, r30, 0x508 +/* 8032656C 003221CC 38 A0 FF FF */ li r5, -1 +/* 80326570 003221D0 48 02 35 21 */ bl gt2Reject +/* 80326574 003221D4 38 9E 05 14 */ addi r4, r30, 0x514 +/* 80326578 003221D8 38 60 00 80 */ li r3, 0x80 +/* 8032657C 003221DC 4C C6 31 82 */ crclr 6 +/* 80326580 003221E0 4B FF 65 B5 */ bl func_8031CB34 +/* 80326584 003221E4 48 00 04 C0 */ b lbl_80326A44 +lbl_80326588: +/* 80326588 003221E8 4B FF CA C1 */ bl func_80323048 +/* 8032658C 003221EC 2C 03 FF FF */ cmpwi r3, -1 +/* 80326590 003221F0 7C 7D 1B 78 */ mr r29, r3 +/* 80326594 003221F4 40 82 01 74 */ bne lbl_80326708 +/* 80326598 003221F8 7F 23 CB 78 */ mr r3, r25 +/* 8032659C 003221FC 38 9E 05 38 */ addi r4, r30, 0x538 +/* 803265A0 00322200 38 A0 FF FF */ li r5, -1 +/* 803265A4 00322204 48 02 34 ED */ bl gt2Reject +/* 803265A8 00322208 38 9E 05 44 */ addi r4, r30, 0x544 +/* 803265AC 0032220C 38 60 00 80 */ li r3, 0x80 +/* 803265B0 00322210 4C C6 31 82 */ crclr 6 +/* 803265B4 00322214 4B FF 65 81 */ bl func_8031CB34 +/* 803265B8 00322218 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803265BC 0032221C 2C 03 00 00 */ cmpwi r3, 0 +/* 803265C0 00322220 41 82 04 84 */ beq lbl_80326A44 +/* 803265C4 00322224 38 00 00 02 */ li r0, 2 +/* 803265C8 00322228 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 803265CC 0032222C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803265D0 00322230 80 63 00 04 */ lwz r3, 4(r3) +/* 803265D4 00322234 80 63 00 00 */ lwz r3, 0(r3) +/* 803265D8 00322238 48 02 37 99 */ bl gt2CloseAllConnectionsHard +/* 803265DC 0032223C 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 803265E0 00322240 3B 20 00 00 */ li r25, 0 +/* 803265E4 00322244 3C 80 FF FF */ lis r4, 0xFFFEABC4@ha +/* 803265E8 00322248 38 60 00 06 */ li r3, 6 +/* 803265EC 0032224C 9B 25 01 AC */ stb r25, 0x1ac(r5) +/* 803265F0 00322250 38 84 AB C4 */ addi r4, r4, 0xFFFEABC4@l +/* 803265F4 00322254 4B FF 5F 8D */ bl func_8031C580 +/* 803265F8 00322258 38 60 00 01 */ li r3, 1 +/* 803265FC 0032225C 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80326600 00322260 38 A0 00 00 */ li r5, 0 +/* 80326604 00322264 4B FF 96 4D */ bl func_8031FC50 +/* 80326608 00322268 83 0D B0 68 */ lwz r24, lbl_80640328-_SDA_BASE_(r13) +/* 8032660C 0032226C 88 98 00 15 */ lbz r4, 0x15(r24) +/* 80326610 00322270 80 78 02 1C */ lwz r3, 0x21c(r24) +/* 80326614 00322274 38 04 FF FE */ addi r0, r4, -2 +/* 80326618 00322278 7C 04 00 34 */ cntlzw r4, r0 +/* 8032661C 0032227C 7C 60 00 34 */ cntlzw r0, r3 +/* 80326620 00322280 54 9A D9 7E */ srwi r26, r4, 5 +/* 80326624 00322284 54 1B D9 7E */ srwi r27, r0, 5 +/* 80326628 00322288 4B FF 95 21 */ bl func_8031FB48 +/* 8032662C 0032228C 81 98 04 78 */ lwz r12, 0x478(r24) +/* 80326630 00322290 7C 67 1B 78 */ mr r7, r3 +/* 80326634 00322294 7F 65 DB 78 */ mr r5, r27 +/* 80326638 00322298 7F 46 D3 78 */ mr r6, r26 +/* 8032663C 0032229C 81 18 04 7C */ lwz r8, 0x47c(r24) +/* 80326640 003222A0 38 60 00 06 */ li r3, 6 +/* 80326644 003222A4 38 80 00 00 */ li r4, 0 +/* 80326648 003222A8 7D 89 03 A6 */ mtctr r12 +/* 8032664C 003222AC 4E 80 04 21 */ bctrl +/* 80326650 003222B0 38 9E 00 58 */ addi r4, r30, 0x58 +/* 80326654 003222B4 38 60 00 40 */ li r3, 0x40 +/* 80326658 003222B8 4C C6 31 82 */ crclr 6 +/* 8032665C 003222BC 4B FF 64 D9 */ bl func_8031CB34 +/* 80326660 003222C0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326664 003222C4 2C 03 00 00 */ cmpwi r3, 0 +/* 80326668 003222C8 41 82 03 DC */ beq lbl_80326A44 +/* 8032666C 003222CC 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80326670 003222D0 2C 03 00 00 */ cmpwi r3, 0 +/* 80326674 003222D4 41 82 00 10 */ beq lbl_80326684 +/* 80326678 003222D8 48 03 7E 25 */ bl ServerBrowserFree +/* 8032667C 003222DC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326680 003222E0 93 23 00 E4 */ stw r25, 0xe4(r3) +lbl_80326684: +/* 80326684 003222E4 48 03 45 31 */ bl NNFreeNegotiateList +/* 80326688 003222E8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032668C 003222EC 3B 20 00 00 */ li r25, 0 +/* 80326690 003222F0 93 23 01 A4 */ stw r25, 0x1a4(r3) +/* 80326694 003222F4 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 80326698 003222F8 2C 04 00 00 */ cmpwi r4, 0 +/* 8032669C 003222FC 41 82 00 14 */ beq lbl_803266B0 +/* 803266A0 00322300 38 60 00 04 */ li r3, 4 +/* 803266A4 00322304 38 A0 00 00 */ li r5, 0 +/* 803266A8 00322308 4B FF 62 E1 */ bl func_8031C988 +/* 803266AC 0032230C 93 2D B0 60 */ stw r25, lbl_80640320-_SDA_BASE_(r13) +lbl_803266B0: +/* 803266B0 00322310 3F 40 80 61 */ lis r26, lbl_8060FD88@ha +/* 803266B4 00322314 3B 20 00 00 */ li r25, 0 +/* 803266B8 00322318 3B 5A FD 88 */ addi r26, r26, lbl_8060FD88@l +lbl_803266BC: +/* 803266BC 0032231C 80 9A 00 04 */ lwz r4, 4(r26) +/* 803266C0 00322320 2C 04 00 00 */ cmpwi r4, 0 +/* 803266C4 00322324 41 82 00 10 */ beq lbl_803266D4 +/* 803266C8 00322328 38 60 00 04 */ li r3, 4 +/* 803266CC 0032232C 38 A0 00 00 */ li r5, 0 +/* 803266D0 00322330 4B FF 62 B9 */ bl func_8031C988 +lbl_803266D4: +/* 803266D4 00322334 3B 39 00 01 */ addi r25, r25, 1 +/* 803266D8 00322338 3B 5A 00 0C */ addi r26, r26, 0xc +/* 803266DC 0032233C 2C 19 00 9A */ cmpwi r25, 0x9a +/* 803266E0 00322340 41 80 FF DC */ blt lbl_803266BC +/* 803266E4 00322344 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 803266E8 00322348 38 80 00 00 */ li r4, 0 +/* 803266EC 0032234C 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 803266F0 00322350 38 A0 07 38 */ li r5, 0x738 +/* 803266F4 00322354 4B CD DA 11 */ bl memset +/* 803266F8 00322358 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803266FC 0032235C 38 00 00 01 */ li r0, 1 +/* 80326700 00322360 98 03 00 18 */ stb r0, 0x18(r3) +/* 80326704 00322364 48 00 03 40 */ b lbl_80326A44 +lbl_80326708: +/* 80326708 00322368 83 0D B0 68 */ lwz r24, lbl_80640328-_SDA_BASE_(r13) +/* 8032670C 0032236C 88 18 00 0D */ lbz r0, 0xd(r24) +/* 80326710 00322370 54 00 10 3A */ slwi r0, r0, 2 +/* 80326714 00322374 7C 78 02 14 */ add r3, r24, r0 +/* 80326718 00322378 80 03 02 20 */ lwz r0, 0x220(r3) +/* 8032671C 0032237C 7C 1A 00 40 */ cmplw r26, r0 +/* 80326720 00322380 40 82 00 28 */ bne lbl_80326748 +/* 80326724 00322384 7F 63 DB 78 */ mr r3, r27 +/* 80326728 00322388 4B FD 06 49 */ bl SONtoHs +/* 8032672C 0032238C 88 18 00 0D */ lbz r0, 0xd(r24) +/* 80326730 00322390 54 64 04 3E */ clrlwi r4, r3, 0x10 +/* 80326734 00322394 54 00 08 3C */ slwi r0, r0, 1 +/* 80326738 00322398 7C 78 02 14 */ add r3, r24, r0 +/* 8032673C 0032239C A0 03 02 A0 */ lhz r0, 0x2a0(r3) +/* 80326740 003223A0 7C 04 00 40 */ cmplw r4, r0 +/* 80326744 003223A4 41 82 00 B8 */ beq lbl_803267FC +lbl_80326748: +/* 80326748 003223A8 88 1F 00 00 */ lbz r0, 0(r31) +/* 8032674C 003223AC 2C 00 00 00 */ cmpwi r0, 0 +/* 80326750 003223B0 41 82 00 74 */ beq lbl_803267C4 +/* 80326754 003223B4 83 0D B0 68 */ lwz r24, lbl_80640328-_SDA_BASE_(r13) +/* 80326758 003223B8 7F E3 FB 78 */ mr r3, r31 +/* 8032675C 003223BC 38 80 00 00 */ li r4, 0 +/* 80326760 003223C0 38 A0 00 0A */ li r5, 0xa +/* 80326764 003223C4 4B EA 9E 15 */ bl strtoul +/* 80326768 003223C8 88 18 00 0D */ lbz r0, 0xd(r24) +/* 8032676C 003223CC 54 00 10 3A */ slwi r0, r0, 2 +/* 80326770 003223D0 7C 98 02 14 */ add r4, r24, r0 +/* 80326774 003223D4 80 04 00 F8 */ lwz r0, 0xf8(r4) +/* 80326778 003223D8 7C 03 00 40 */ cmplw r3, r0 +/* 8032677C 003223DC 40 82 00 48 */ bne lbl_803267C4 +/* 80326780 003223E0 38 9E 05 68 */ addi r4, r30, 0x568 +/* 80326784 003223E4 38 60 00 08 */ li r3, 8 +/* 80326788 003223E8 4C C6 31 82 */ crclr 6 +/* 8032678C 003223EC 4B FF 63 A9 */ bl func_8031CB34 +/* 80326790 003223F0 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80326794 003223F4 7F 63 DB 78 */ mr r3, r27 +/* 80326798 003223F8 88 04 00 0D */ lbz r0, 0xd(r4) +/* 8032679C 003223FC 54 00 10 3A */ slwi r0, r0, 2 +/* 803267A0 00322400 7C 84 02 14 */ add r4, r4, r0 +/* 803267A4 00322404 93 44 02 20 */ stw r26, 0x220(r4) +/* 803267A8 00322408 83 0D B0 68 */ lwz r24, lbl_80640328-_SDA_BASE_(r13) +/* 803267AC 0032240C 4B FD 05 C5 */ bl SONtoHs +/* 803267B0 00322410 88 18 00 0D */ lbz r0, 0xd(r24) +/* 803267B4 00322414 54 00 08 3C */ slwi r0, r0, 1 +/* 803267B8 00322418 7C 98 02 14 */ add r4, r24, r0 +/* 803267BC 0032241C B0 64 02 A0 */ sth r3, 0x2a0(r4) +/* 803267C0 00322420 48 00 00 3C */ b lbl_803267FC +lbl_803267C4: +/* 803267C4 00322424 7F 23 CB 78 */ mr r3, r25 +/* 803267C8 00322428 38 9E 05 90 */ addi r4, r30, 0x590 +/* 803267CC 0032242C 38 A0 FF FF */ li r5, -1 +/* 803267D0 00322430 48 02 32 C1 */ bl gt2Reject +/* 803267D4 00322434 7F 43 D3 78 */ mr r3, r26 +/* 803267D8 00322438 7F 64 DB 78 */ mr r4, r27 +/* 803267DC 0032243C 38 A0 00 00 */ li r5, 0 +/* 803267E0 00322440 48 02 73 6D */ bl gt2AddressToString +/* 803267E4 00322444 7C 65 1B 78 */ mr r5, r3 +/* 803267E8 00322448 38 9E 05 A8 */ addi r4, r30, 0x5a8 +/* 803267EC 0032244C 38 60 00 08 */ li r3, 8 +/* 803267F0 00322450 4C C6 31 82 */ crclr 6 +/* 803267F4 00322454 4B FF 63 41 */ bl func_8031CB34 +/* 803267F8 00322458 48 00 02 4C */ b lbl_80326A44 +lbl_803267FC: +/* 803267FC 0032245C 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80326800 00322460 3B E0 00 00 */ li r31, 0 +/* 80326804 00322464 7F 23 CB 78 */ mr r3, r25 +/* 80326808 00322468 93 E4 01 94 */ stw r31, 0x194(r4) +/* 8032680C 0032246C 93 E4 01 90 */ stw r31, 0x190(r4) +/* 80326810 00322470 80 84 00 08 */ lwz r4, 8(r4) +/* 80326814 00322474 48 02 32 79 */ bl gt2Accept +/* 80326818 00322478 2C 03 00 00 */ cmpwi r3, 0 +/* 8032681C 0032247C 40 82 01 60 */ bne lbl_8032697C +/* 80326820 00322480 38 9E 05 E0 */ addi r4, r30, 0x5e0 +/* 80326824 00322484 38 60 00 08 */ li r3, 8 +/* 80326828 00322488 4C C6 31 82 */ crclr 6 +/* 8032682C 0032248C 4B FF 63 09 */ bl func_8031CB34 +/* 80326830 00322490 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326834 00322494 2C 03 00 00 */ cmpwi r3, 0 +/* 80326838 00322498 41 82 02 0C */ beq lbl_80326A44 +/* 8032683C 0032249C 38 00 00 02 */ li r0, 2 +/* 80326840 003224A0 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80326844 003224A4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326848 003224A8 80 63 00 04 */ lwz r3, 4(r3) +/* 8032684C 003224AC 80 63 00 00 */ lwz r3, 0(r3) +/* 80326850 003224B0 48 02 35 21 */ bl gt2CloseAllConnectionsHard +/* 80326854 003224B4 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80326858 003224B8 3C 80 FF FF */ lis r4, 0xFFFEC5E6@ha +/* 8032685C 003224BC 38 60 00 06 */ li r3, 6 +/* 80326860 003224C0 9B E5 01 AC */ stb r31, 0x1ac(r5) +/* 80326864 003224C4 38 84 C5 E6 */ addi r4, r4, 0xFFFEC5E6@l +/* 80326868 003224C8 4B FF 5D 19 */ bl func_8031C580 +/* 8032686C 003224CC 38 60 00 01 */ li r3, 1 +/* 80326870 003224D0 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80326874 003224D4 38 A0 00 00 */ li r5, 0 +/* 80326878 003224D8 4B FF 93 D9 */ bl func_8031FC50 +/* 8032687C 003224DC 83 0D B0 68 */ lwz r24, lbl_80640328-_SDA_BASE_(r13) +/* 80326880 003224E0 88 98 00 15 */ lbz r4, 0x15(r24) +/* 80326884 003224E4 80 78 02 1C */ lwz r3, 0x21c(r24) +/* 80326888 003224E8 38 04 FF FE */ addi r0, r4, -2 +/* 8032688C 003224EC 7C 04 00 34 */ cntlzw r4, r0 +/* 80326890 003224F0 7C 60 00 34 */ cntlzw r0, r3 +/* 80326894 003224F4 54 99 D9 7E */ srwi r25, r4, 5 +/* 80326898 003224F8 54 1A D9 7E */ srwi r26, r0, 5 +/* 8032689C 003224FC 4B FF 92 AD */ bl func_8031FB48 +/* 803268A0 00322500 81 98 04 78 */ lwz r12, 0x478(r24) +/* 803268A4 00322504 7C 67 1B 78 */ mr r7, r3 +/* 803268A8 00322508 7F 45 D3 78 */ mr r5, r26 +/* 803268AC 0032250C 7F 26 CB 78 */ mr r6, r25 +/* 803268B0 00322510 81 18 04 7C */ lwz r8, 0x47c(r24) +/* 803268B4 00322514 38 60 00 06 */ li r3, 6 +/* 803268B8 00322518 38 80 00 00 */ li r4, 0 +/* 803268BC 0032251C 7D 89 03 A6 */ mtctr r12 +/* 803268C0 00322520 4E 80 04 21 */ bctrl +/* 803268C4 00322524 38 9E 00 58 */ addi r4, r30, 0x58 +/* 803268C8 00322528 38 60 00 40 */ li r3, 0x40 +/* 803268CC 0032252C 4C C6 31 82 */ crclr 6 +/* 803268D0 00322530 4B FF 62 65 */ bl func_8031CB34 +/* 803268D4 00322534 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803268D8 00322538 2C 03 00 00 */ cmpwi r3, 0 +/* 803268DC 0032253C 41 82 01 68 */ beq lbl_80326A44 +/* 803268E0 00322540 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 803268E4 00322544 2C 03 00 00 */ cmpwi r3, 0 +/* 803268E8 00322548 41 82 00 10 */ beq lbl_803268F8 +/* 803268EC 0032254C 48 03 7B B1 */ bl ServerBrowserFree +/* 803268F0 00322550 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803268F4 00322554 93 E3 00 E4 */ stw r31, 0xe4(r3) +lbl_803268F8: +/* 803268F8 00322558 48 03 42 BD */ bl NNFreeNegotiateList +/* 803268FC 0032255C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326900 00322560 3B 20 00 00 */ li r25, 0 +/* 80326904 00322564 93 23 01 A4 */ stw r25, 0x1a4(r3) +/* 80326908 00322568 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 8032690C 0032256C 2C 04 00 00 */ cmpwi r4, 0 +/* 80326910 00322570 41 82 00 14 */ beq lbl_80326924 +/* 80326914 00322574 38 60 00 04 */ li r3, 4 +/* 80326918 00322578 38 A0 00 00 */ li r5, 0 +/* 8032691C 0032257C 4B FF 60 6D */ bl func_8031C988 +/* 80326920 00322580 93 2D B0 60 */ stw r25, lbl_80640320-_SDA_BASE_(r13) +lbl_80326924: +/* 80326924 00322584 3F 40 80 61 */ lis r26, lbl_8060FD88@ha +/* 80326928 00322588 3B 20 00 00 */ li r25, 0 +/* 8032692C 0032258C 3B 5A FD 88 */ addi r26, r26, lbl_8060FD88@l +lbl_80326930: +/* 80326930 00322590 80 9A 00 04 */ lwz r4, 4(r26) +/* 80326934 00322594 2C 04 00 00 */ cmpwi r4, 0 +/* 80326938 00322598 41 82 00 10 */ beq lbl_80326948 +/* 8032693C 0032259C 38 60 00 04 */ li r3, 4 +/* 80326940 003225A0 38 A0 00 00 */ li r5, 0 +/* 80326944 003225A4 4B FF 60 45 */ bl func_8031C988 +lbl_80326948: +/* 80326948 003225A8 3B 39 00 01 */ addi r25, r25, 1 +/* 8032694C 003225AC 3B 5A 00 0C */ addi r26, r26, 0xc +/* 80326950 003225B0 2C 19 00 9A */ cmpwi r25, 0x9a +/* 80326954 003225B4 41 80 FF DC */ blt lbl_80326930 +/* 80326958 003225B8 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 8032695C 003225BC 38 80 00 00 */ li r4, 0 +/* 80326960 003225C0 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80326964 003225C4 38 A0 07 38 */ li r5, 0x738 +/* 80326968 003225C8 4B CD D7 9D */ bl memset +/* 8032696C 003225CC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326970 003225D0 38 00 00 01 */ li r0, 1 +/* 80326974 003225D4 98 03 00 18 */ stb r0, 0x18(r3) +/* 80326978 003225D8 48 00 00 CC */ b lbl_80326A44 +lbl_8032697C: +/* 8032697C 003225DC 7F 43 D3 78 */ mr r3, r26 +/* 80326980 003225E0 7F 64 DB 78 */ mr r4, r27 +/* 80326984 003225E4 38 A0 00 00 */ li r5, 0 +/* 80326988 003225E8 48 02 71 C5 */ bl gt2AddressToString +/* 8032698C 003225EC 7C 65 1B 78 */ mr r5, r3 +/* 80326990 003225F0 7F 86 E3 78 */ mr r6, r28 +/* 80326994 003225F4 38 9E 06 04 */ addi r4, r30, 0x604 +/* 80326998 003225F8 38 60 00 80 */ li r3, 0x80 +/* 8032699C 003225FC 4C C6 31 82 */ crclr 6 +/* 803269A0 00322600 4B FF 61 95 */ bl func_8031CB34 +/* 803269A4 00322604 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803269A8 00322608 38 00 00 FF */ li r0, 0xff +/* 803269AC 0032260C 98 03 03 E0 */ stb r0, 0x3e0(r3) +/* 803269B0 00322610 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803269B4 00322614 9B E3 03 E1 */ stb r31, 0x3e1(r3) +/* 803269B8 00322618 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 803269BC 0032261C 88 05 00 0D */ lbz r0, 0xd(r5) +/* 803269C0 00322620 2C 00 00 00 */ cmpwi r0, 0 +/* 803269C4 00322624 40 82 00 20 */ bne lbl_803269E4 +/* 803269C8 00322628 3C 60 00 01 */ lis r3, 0x0000FFFF@ha +/* 803269CC 0032262C 7F 84 0E 70 */ srawi r4, r28, 1 +/* 803269D0 00322630 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l +/* 803269D4 00322634 7C 04 00 00 */ cmpw r4, r0 +/* 803269D8 00322638 40 80 00 08 */ bge lbl_803269E0 +/* 803269DC 0032263C 7C 80 23 78 */ mr r0, r4 +lbl_803269E0: +/* 803269E0 00322640 B0 05 01 B4 */ sth r0, 0x1b4(r5) +lbl_803269E4: +/* 803269E4 00322644 7F A3 EB 78 */ mr r3, r29 +/* 803269E8 00322648 4B FF C7 05 */ bl func_803230EC +/* 803269EC 0032264C 7C 7A 1B 78 */ mr r26, r3 +/* 803269F0 00322650 7F A3 EB 78 */ mr r3, r29 +/* 803269F4 00322654 4B FF C8 09 */ bl func_803231FC +/* 803269F8 00322658 93 3A 00 00 */ stw r25, 0(r26) +/* 803269FC 0032265C 38 00 00 00 */ li r0, 0 +/* 80326A00 00322660 7C 64 1B 78 */ mr r4, r3 +/* 80326A04 00322664 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80326A08 00322668 88 A6 00 0D */ lbz r5, 0xd(r6) +/* 80326A0C 0032266C 38 A5 00 01 */ addi r5, r5, 1 +/* 80326A10 00322670 98 A6 00 0D */ stb r5, 0xd(r6) +/* 80326A14 00322674 9B A3 00 00 */ stb r29, 0(r3) +/* 80326A18 00322678 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80326A1C 0032267C 88 A6 00 0D */ lbz r5, 0xd(r6) +/* 80326A20 00322680 7C A5 32 14 */ add r5, r5, r6 +/* 80326A24 00322684 88 A5 02 DF */ lbz r5, 0x2df(r5) +/* 80326A28 00322688 98 A3 00 01 */ stb r5, 1(r3) +/* 80326A2C 0032268C B0 03 00 02 */ sth r0, 2(r3) +/* 80326A30 00322690 90 03 00 04 */ stw r0, 4(r3) +/* 80326A34 00322694 7F 23 CB 78 */ mr r3, r25 +/* 80326A38 00322698 48 02 33 C1 */ bl gt2SetConnectionData +/* 80326A3C 0032269C 38 60 00 02 */ li r3, 2 +/* 80326A40 003226A0 48 00 50 DD */ bl func_8032BB1C +lbl_80326A44: +/* 80326A44 003226A4 39 61 00 30 */ addi r11, r1, 0x30 +/* 80326A48 003226A8 4B EA 07 21 */ bl _restgpr_24 +/* 80326A4C 003226AC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80326A50 003226B0 7C 08 03 A6 */ mtlr r0 +/* 80326A54 003226B4 38 21 00 30 */ addi r1, r1, 0x30 +/* 80326A58 003226B8 4E 80 00 20 */ blr +lbl_80326A5C: +/* 80326A5C 003226BC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80326A60 003226C0 7C 08 02 A6 */ mflr r0 +/* 80326A64 003226C4 90 01 00 34 */ stw r0, 0x34(r1) +/* 80326A68 003226C8 39 61 00 30 */ addi r11, r1, 0x30 +/* 80326A6C 003226CC 4B EA 06 BD */ bl _savegpr_27 +/* 80326A70 003226D0 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80326A74 003226D4 3F C0 80 44 */ lis r30, lbl_80447FE0@ha +/* 80326A78 003226D8 7C 7C 1B 78 */ mr r28, r3 +/* 80326A7C 003226DC 7C 9B 23 78 */ mr r27, r4 +/* 80326A80 003226E0 2C 07 00 00 */ cmpwi r7, 0 +/* 80326A84 003226E4 7C A6 2B 78 */ mr r6, r5 +/* 80326A88 003226E8 3B DE 7F E0 */ addi r30, r30, lbl_80447FE0@l +/* 80326A8C 003226EC 41 82 00 18 */ beq lbl_80326AA4 +/* 80326A90 003226F0 80 07 01 A4 */ lwz r0, 0x1a4(r7) +/* 80326A94 003226F4 2C 00 00 07 */ cmpwi r0, 7 +/* 80326A98 003226F8 41 82 00 20 */ beq lbl_80326AB8 +/* 80326A9C 003226FC 2C 00 00 0C */ cmpwi r0, 0xc +/* 80326AA0 00322700 41 82 00 18 */ beq lbl_80326AB8 +lbl_80326AA4: +/* 80326AA4 00322704 38 9E 06 30 */ addi r4, r30, 0x630 +/* 80326AA8 00322708 38 60 00 80 */ li r3, 0x80 +/* 80326AAC 0032270C 4C C6 31 82 */ crclr 6 +/* 80326AB0 00322710 4B FF 60 85 */ bl func_8031CB34 +/* 80326AB4 00322714 48 00 03 70 */ b lbl_80326E24 +lbl_80326AB8: +/* 80326AB8 00322718 2C 04 00 00 */ cmpwi r4, 0 +/* 80326ABC 0032271C 41 82 01 70 */ beq lbl_80326C2C +/* 80326AC0 00322720 2C 05 00 00 */ cmpwi r5, 0 +/* 80326AC4 00322724 40 82 00 08 */ bne lbl_80326ACC +/* 80326AC8 00322728 38 CD 8D B8 */ addi r6, r13, lbl_8063E078-_SDA_BASE_ +lbl_80326ACC: +/* 80326ACC 0032272C 7F 65 DB 78 */ mr r5, r27 +/* 80326AD0 00322730 38 9E 06 58 */ addi r4, r30, 0x658 +/* 80326AD4 00322734 38 60 00 80 */ li r3, 0x80 +/* 80326AD8 00322738 4C C6 31 82 */ crclr 6 +/* 80326ADC 0032273C 4B FF 60 59 */ bl func_8031CB34 +/* 80326AE0 00322740 2C 1B 00 05 */ cmpwi r27, 5 +/* 80326AE4 00322744 41 82 03 40 */ beq lbl_80326E24 +/* 80326AE8 00322748 2C 1B 00 06 */ cmpwi r27, 6 +/* 80326AEC 0032274C 40 82 01 18 */ bne lbl_80326C04 +/* 80326AF0 00322750 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80326AF4 00322754 88 64 00 0C */ lbz r3, 0xc(r4) +/* 80326AF8 00322758 38 03 00 01 */ addi r0, r3, 1 +/* 80326AFC 0032275C 98 04 00 0C */ stb r0, 0xc(r4) +/* 80326B00 00322760 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326B04 00322764 88 03 00 0C */ lbz r0, 0xc(r3) +/* 80326B08 00322768 28 00 00 05 */ cmplwi r0, 5 +/* 80326B0C 0032276C 40 81 00 3C */ ble lbl_80326B48 +/* 80326B10 00322770 38 9E 06 74 */ addi r4, r30, 0x674 +/* 80326B14 00322774 38 60 00 80 */ li r3, 0x80 +/* 80326B18 00322778 4C C6 31 82 */ crclr 6 +/* 80326B1C 0032277C 4B FF 60 19 */ bl func_8031CB34 +/* 80326B20 00322780 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326B24 00322784 38 00 00 00 */ li r0, 0 +/* 80326B28 00322788 98 03 00 0C */ stb r0, 0xc(r3) +/* 80326B2C 0032278C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326B30 00322790 88 03 00 14 */ lbz r0, 0x14(r3) +/* 80326B34 00322794 54 00 10 3A */ slwi r0, r0, 2 +/* 80326B38 00322798 7C 63 02 14 */ add r3, r3, r0 +/* 80326B3C 0032279C 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80326B40 003227A0 48 00 49 7D */ bl func_8032B4BC +/* 80326B44 003227A4 48 00 02 E0 */ b lbl_80326E24 +lbl_80326B48: +/* 80326B48 003227A8 38 9E 06 90 */ addi r4, r30, 0x690 +/* 80326B4C 003227AC 38 60 00 80 */ li r3, 0x80 +/* 80326B50 003227B0 4C C6 31 82 */ crclr 6 +/* 80326B54 003227B4 4B FF 5F E1 */ bl func_8031CB34 +/* 80326B58 003227B8 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80326B5C 003227BC 38 61 00 08 */ addi r3, r1, 8 +/* 80326B60 003227C0 38 80 00 0C */ li r4, 0xc +/* 80326B64 003227C4 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 80326B68 003227C8 80 C6 02 10 */ lwz r6, 0x210(r6) +/* 80326B6C 003227CC 4C C6 31 82 */ crclr 6 +/* 80326B70 003227D0 4B EA 5E B5 */ bl snprintf +/* 80326B74 003227D4 83 8D B0 68 */ lwz r28, lbl_80640328-_SDA_BASE_(r13) +/* 80326B78 003227D8 38 A0 00 00 */ li r5, 0 +/* 80326B7C 003227DC 88 7C 00 14 */ lbz r3, 0x14(r28) +/* 80326B80 003227E0 88 1C 00 14 */ lbz r0, 0x14(r28) +/* 80326B84 003227E4 54 63 10 3A */ slwi r3, r3, 2 +/* 80326B88 003227E8 54 00 08 3C */ slwi r0, r0, 1 +/* 80326B8C 003227EC 7C 7C 1A 14 */ add r3, r28, r3 +/* 80326B90 003227F0 7C 9C 02 14 */ add r4, r28, r0 +/* 80326B94 003227F4 80 63 02 20 */ lwz r3, 0x220(r3) +/* 80326B98 003227F8 A0 84 02 A0 */ lhz r4, 0x2a0(r4) +/* 80326B9C 003227FC 48 02 6F B1 */ bl gt2AddressToString +/* 80326BA0 00322800 80 9C 00 04 */ lwz r4, 4(r28) +/* 80326BA4 00322804 7C 65 1B 78 */ mr r5, r3 +/* 80326BA8 00322808 81 3C 00 08 */ lwz r9, 8(r28) +/* 80326BAC 0032280C 38 C1 00 08 */ addi r6, r1, 8 +/* 80326BB0 00322810 80 64 00 00 */ lwz r3, 0(r4) +/* 80326BB4 00322814 38 80 00 00 */ li r4, 0 +/* 80326BB8 00322818 38 E0 FF FF */ li r7, -1 +/* 80326BBC 0032281C 39 00 13 88 */ li r8, 0x1388 +/* 80326BC0 00322820 39 40 00 00 */ li r10, 0 +/* 80326BC4 00322824 48 02 2E D1 */ bl gt2Connect +/* 80326BC8 00322828 2C 03 00 01 */ cmpwi r3, 1 +/* 80326BCC 0032282C 40 82 00 0C */ bne lbl_80326BD8 +/* 80326BD0 00322830 48 00 81 79 */ bl func_8032ED48 +/* 80326BD4 00322834 48 00 02 50 */ b lbl_80326E24 +lbl_80326BD8: +/* 80326BD8 00322838 2C 03 00 00 */ cmpwi r3, 0 +/* 80326BDC 0032283C 41 82 02 48 */ beq lbl_80326E24 +/* 80326BE0 00322840 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326BE4 00322844 88 03 00 14 */ lbz r0, 0x14(r3) +/* 80326BE8 00322848 54 00 10 3A */ slwi r0, r0, 2 +/* 80326BEC 0032284C 7C 63 02 14 */ add r3, r3, r0 +/* 80326BF0 00322850 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80326BF4 00322854 48 00 48 C9 */ bl func_8032B4BC +/* 80326BF8 00322858 2C 03 00 00 */ cmpwi r3, 0 +/* 80326BFC 0032285C 40 82 02 28 */ bne lbl_80326E24 +/* 80326C00 00322860 48 00 02 24 */ b lbl_80326E24 +lbl_80326C04: +/* 80326C04 00322864 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80326C08 00322868 88 64 00 0D */ lbz r3, 0xd(r4) +/* 80326C0C 0032286C 38 03 00 01 */ addi r0, r3, 1 +/* 80326C10 00322870 54 00 10 3A */ slwi r0, r0, 2 +/* 80326C14 00322874 7C 64 02 14 */ add r3, r4, r0 +/* 80326C18 00322878 80 63 00 F8 */ lwz r3, 0xf8(r3) +/* 80326C1C 0032287C 48 00 48 A1 */ bl func_8032B4BC +/* 80326C20 00322880 2C 03 00 00 */ cmpwi r3, 0 +/* 80326C24 00322884 40 82 02 00 */ bne lbl_80326E24 +/* 80326C28 00322888 48 00 01 FC */ b lbl_80326E24 +lbl_80326C2C: +/* 80326C2C 0032288C 38 9E 06 A8 */ addi r4, r30, 0x6a8 +/* 80326C30 00322890 38 60 00 80 */ li r3, 0x80 +/* 80326C34 00322894 4C C6 31 82 */ crclr 6 +/* 80326C38 00322898 4B FF 5E FD */ bl func_8031CB34 +/* 80326C3C 0032289C 4B FF C4 0D */ bl func_80323048 +/* 80326C40 003228A0 2C 03 FF FF */ cmpwi r3, -1 +/* 80326C44 003228A4 7C 7B 1B 78 */ mr r27, r3 +/* 80326C48 003228A8 40 82 01 64 */ bne lbl_80326DAC +/* 80326C4C 003228AC 38 9E 06 B8 */ addi r4, r30, 0x6b8 +/* 80326C50 003228B0 38 60 00 08 */ li r3, 8 +/* 80326C54 003228B4 4C C6 31 82 */ crclr 6 +/* 80326C58 003228B8 4B FF 5E DD */ bl func_8031CB34 +/* 80326C5C 003228BC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326C60 003228C0 2C 03 00 00 */ cmpwi r3, 0 +/* 80326C64 003228C4 41 82 01 C0 */ beq lbl_80326E24 +/* 80326C68 003228C8 38 00 00 02 */ li r0, 2 +/* 80326C6C 003228CC 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80326C70 003228D0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326C74 003228D4 80 63 00 04 */ lwz r3, 4(r3) +/* 80326C78 003228D8 80 63 00 00 */ lwz r3, 0(r3) +/* 80326C7C 003228DC 48 02 30 F5 */ bl gt2CloseAllConnectionsHard +/* 80326C80 003228E0 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80326C84 003228E4 3B E0 00 00 */ li r31, 0 +/* 80326C88 003228E8 3C 80 FF FF */ lis r4, 0xFFFEABC4@ha +/* 80326C8C 003228EC 38 60 00 06 */ li r3, 6 +/* 80326C90 003228F0 9B E5 01 AC */ stb r31, 0x1ac(r5) +/* 80326C94 003228F4 38 84 AB C4 */ addi r4, r4, 0xFFFEABC4@l +/* 80326C98 003228F8 4B FF 58 E9 */ bl func_8031C580 +/* 80326C9C 003228FC 38 60 00 01 */ li r3, 1 +/* 80326CA0 00322900 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80326CA4 00322904 38 A0 00 00 */ li r5, 0 +/* 80326CA8 00322908 4B FF 8F A9 */ bl func_8031FC50 +/* 80326CAC 0032290C 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 80326CB0 00322910 88 9B 00 15 */ lbz r4, 0x15(r27) +/* 80326CB4 00322914 80 7B 02 1C */ lwz r3, 0x21c(r27) +/* 80326CB8 00322918 38 04 FF FE */ addi r0, r4, -2 +/* 80326CBC 0032291C 7C 04 00 34 */ cntlzw r4, r0 +/* 80326CC0 00322920 7C 60 00 34 */ cntlzw r0, r3 +/* 80326CC4 00322924 54 9D D9 7E */ srwi r29, r4, 5 +/* 80326CC8 00322928 54 1C D9 7E */ srwi r28, r0, 5 +/* 80326CCC 0032292C 4B FF 8E 7D */ bl func_8031FB48 +/* 80326CD0 00322930 81 9B 04 78 */ lwz r12, 0x478(r27) +/* 80326CD4 00322934 7C 67 1B 78 */ mr r7, r3 +/* 80326CD8 00322938 7F 85 E3 78 */ mr r5, r28 +/* 80326CDC 0032293C 7F A6 EB 78 */ mr r6, r29 +/* 80326CE0 00322940 81 1B 04 7C */ lwz r8, 0x47c(r27) +/* 80326CE4 00322944 38 60 00 06 */ li r3, 6 +/* 80326CE8 00322948 38 80 00 00 */ li r4, 0 +/* 80326CEC 0032294C 7D 89 03 A6 */ mtctr r12 +/* 80326CF0 00322950 4E 80 04 21 */ bctrl +/* 80326CF4 00322954 38 9E 00 58 */ addi r4, r30, 0x58 +/* 80326CF8 00322958 38 60 00 40 */ li r3, 0x40 +/* 80326CFC 0032295C 4C C6 31 82 */ crclr 6 +/* 80326D00 00322960 4B FF 5E 35 */ bl func_8031CB34 +/* 80326D04 00322964 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326D08 00322968 2C 03 00 00 */ cmpwi r3, 0 +/* 80326D0C 0032296C 41 82 01 18 */ beq lbl_80326E24 +/* 80326D10 00322970 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80326D14 00322974 2C 03 00 00 */ cmpwi r3, 0 +/* 80326D18 00322978 41 82 00 10 */ beq lbl_80326D28 +/* 80326D1C 0032297C 48 03 77 81 */ bl ServerBrowserFree +/* 80326D20 00322980 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326D24 00322984 93 E3 00 E4 */ stw r31, 0xe4(r3) +lbl_80326D28: +/* 80326D28 00322988 48 03 3E 8D */ bl NNFreeNegotiateList +/* 80326D2C 0032298C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326D30 00322990 3B E0 00 00 */ li r31, 0 +/* 80326D34 00322994 93 E3 01 A4 */ stw r31, 0x1a4(r3) +/* 80326D38 00322998 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 80326D3C 0032299C 2C 04 00 00 */ cmpwi r4, 0 +/* 80326D40 003229A0 41 82 00 14 */ beq lbl_80326D54 +/* 80326D44 003229A4 38 60 00 04 */ li r3, 4 +/* 80326D48 003229A8 38 A0 00 00 */ li r5, 0 +/* 80326D4C 003229AC 4B FF 5C 3D */ bl func_8031C988 +/* 80326D50 003229B0 93 ED B0 60 */ stw r31, lbl_80640320-_SDA_BASE_(r13) +lbl_80326D54: +/* 80326D54 003229B4 3F 80 80 61 */ lis r28, lbl_8060FD88@ha +/* 80326D58 003229B8 3B C0 00 00 */ li r30, 0 +/* 80326D5C 003229BC 3B 9C FD 88 */ addi r28, r28, lbl_8060FD88@l +lbl_80326D60: +/* 80326D60 003229C0 80 9C 00 04 */ lwz r4, 4(r28) +/* 80326D64 003229C4 2C 04 00 00 */ cmpwi r4, 0 +/* 80326D68 003229C8 41 82 00 10 */ beq lbl_80326D78 +/* 80326D6C 003229CC 38 60 00 04 */ li r3, 4 +/* 80326D70 003229D0 38 A0 00 00 */ li r5, 0 +/* 80326D74 003229D4 4B FF 5C 15 */ bl func_8031C988 +lbl_80326D78: +/* 80326D78 003229D8 3B DE 00 01 */ addi r30, r30, 1 +/* 80326D7C 003229DC 3B 9C 00 0C */ addi r28, r28, 0xc +/* 80326D80 003229E0 2C 1E 00 9A */ cmpwi r30, 0x9a +/* 80326D84 003229E4 41 80 FF DC */ blt lbl_80326D60 +/* 80326D88 003229E8 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 80326D8C 003229EC 38 80 00 00 */ li r4, 0 +/* 80326D90 003229F0 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80326D94 003229F4 38 A0 07 38 */ li r5, 0x738 +/* 80326D98 003229F8 4B CD D3 6D */ bl memset +/* 80326D9C 003229FC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326DA0 00322A00 38 00 00 01 */ li r0, 1 +/* 80326DA4 00322A04 98 03 00 18 */ stb r0, 0x18(r3) +/* 80326DA8 00322A08 48 00 00 7C */ b lbl_80326E24 +lbl_80326DAC: +/* 80326DAC 00322A0C 4B FF C3 41 */ bl func_803230EC +/* 80326DB0 00322A10 7C 7F 1B 78 */ mr r31, r3 +/* 80326DB4 00322A14 7F 63 DB 78 */ mr r3, r27 +/* 80326DB8 00322A18 4B FF C4 45 */ bl func_803231FC +/* 80326DBC 00322A1C 93 9F 00 00 */ stw r28, 0(r31) +/* 80326DC0 00322A20 38 00 00 00 */ li r0, 0 +/* 80326DC4 00322A24 7C 64 1B 78 */ mr r4, r3 +/* 80326DC8 00322A28 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80326DCC 00322A2C 88 A6 00 0D */ lbz r5, 0xd(r6) +/* 80326DD0 00322A30 38 A5 00 01 */ addi r5, r5, 1 +/* 80326DD4 00322A34 98 A6 00 0D */ stb r5, 0xd(r6) +/* 80326DD8 00322A38 9B 63 00 00 */ stb r27, 0(r3) +/* 80326DDC 00322A3C B0 03 00 02 */ sth r0, 2(r3) +/* 80326DE0 00322A40 90 03 00 04 */ stw r0, 4(r3) +/* 80326DE4 00322A44 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80326DE8 00322A48 88 05 00 0D */ lbz r0, 0xd(r5) +/* 80326DEC 00322A4C 7C A5 02 14 */ add r5, r5, r0 +/* 80326DF0 00322A50 88 05 02 E0 */ lbz r0, 0x2e0(r5) +/* 80326DF4 00322A54 98 03 00 01 */ stb r0, 1(r3) +/* 80326DF8 00322A58 7F 83 E3 78 */ mr r3, r28 +/* 80326DFC 00322A5C 48 02 2F FD */ bl gt2SetConnectionData +/* 80326E00 00322A60 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326E04 00322A64 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 80326E08 00322A68 2C 00 00 0C */ cmpwi r0, 0xc +/* 80326E0C 00322A6C 40 82 00 10 */ bne lbl_80326E1C +/* 80326E10 00322A70 38 60 00 00 */ li r3, 0 +/* 80326E14 00322A74 48 00 4D 09 */ bl func_8032BB1C +/* 80326E18 00322A78 48 00 00 0C */ b lbl_80326E24 +lbl_80326E1C: +/* 80326E1C 00322A7C 38 60 00 01 */ li r3, 1 +/* 80326E20 00322A80 48 00 4C FD */ bl func_8032BB1C +lbl_80326E24: +/* 80326E24 00322A84 39 61 00 30 */ addi r11, r1, 0x30 +/* 80326E28 00322A88 4B EA 03 4D */ bl _restgpr_27 +/* 80326E2C 00322A8C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80326E30 00322A90 7C 08 03 A6 */ mtlr r0 +/* 80326E34 00322A94 38 21 00 30 */ addi r1, r1, 0x30 +/* 80326E38 00322A98 4E 80 00 20 */ blr + +.global func_80326E3C +func_80326E3C: +/* 80326E3C 00322A9C 94 21 FD D0 */ stwu r1, -0x230(r1) +/* 80326E40 00322AA0 7C 08 02 A6 */ mflr r0 +/* 80326E44 00322AA4 38 60 00 40 */ li r3, 0x40 +/* 80326E48 00322AA8 90 01 02 34 */ stw r0, 0x234(r1) +/* 80326E4C 00322AAC 93 E1 02 2C */ stw r31, 0x22c(r1) +/* 80326E50 00322AB0 93 C1 02 28 */ stw r30, 0x228(r1) +/* 80326E54 00322AB4 93 A1 02 24 */ stw r29, 0x224(r1) +/* 80326E58 00322AB8 7C BD 2B 78 */ mr r29, r5 +/* 80326E5C 00322ABC 93 81 02 20 */ stw r28, 0x220(r1) +/* 80326E60 00322AC0 7C 9C 23 78 */ mr r28, r4 +/* 80326E64 00322AC4 3C 80 80 45 */ lis r4, lbl_804486D0@ha +/* 80326E68 00322AC8 88 A5 00 00 */ lbz r5, 0(r5) +/* 80326E6C 00322ACC 7F 86 E3 78 */ mr r6, r28 +/* 80326E70 00322AD0 38 84 86 D0 */ addi r4, r4, lbl_804486D0@l +/* 80326E74 00322AD4 7C A5 07 74 */ extsb r5, r5 +/* 80326E78 00322AD8 4C C6 31 82 */ crclr 6 +/* 80326E7C 00322ADC 4B FF 5C B9 */ bl func_8031CB34 +/* 80326E80 00322AE0 3B E1 00 18 */ addi r31, r1, 0x18 +/* 80326E84 00322AE4 3B C0 00 00 */ li r30, 0 +lbl_80326E88: +/* 80326E88 00322AE8 7F C5 F3 78 */ mr r5, r30 +/* 80326E8C 00322AEC 38 61 00 08 */ addi r3, r1, 8 +/* 80326E90 00322AF0 38 9D 00 01 */ addi r4, r29, 1 +/* 80326E94 00322AF4 48 00 1E 19 */ bl func_80328CAC +/* 80326E98 00322AF8 2C 03 FF FF */ cmpwi r3, -1 +/* 80326E9C 00322AFC 41 82 00 28 */ beq lbl_80326EC4 +/* 80326EA0 00322B00 38 61 00 08 */ addi r3, r1, 8 +/* 80326EA4 00322B04 38 80 00 00 */ li r4, 0 +/* 80326EA8 00322B08 38 A0 00 0A */ li r5, 0xa +/* 80326EAC 00322B0C 4B EA 96 CD */ bl strtoul +/* 80326EB0 00322B10 3B DE 00 01 */ addi r30, r30, 1 +/* 80326EB4 00322B14 90 7F 00 00 */ stw r3, 0(r31) +/* 80326EB8 00322B18 2C 1E 00 80 */ cmpwi r30, 0x80 +/* 80326EBC 00322B1C 3B FF 00 04 */ addi r31, r31, 4 +/* 80326EC0 00322B20 41 80 FF C8 */ blt lbl_80326E88 +lbl_80326EC4: +/* 80326EC4 00322B24 88 7D 00 00 */ lbz r3, 0(r29) +/* 80326EC8 00322B28 7F 84 E3 78 */ mr r4, r28 +/* 80326ECC 00322B2C 7F C8 F3 78 */ mr r8, r30 +/* 80326ED0 00322B30 38 E1 00 18 */ addi r7, r1, 0x18 +/* 80326ED4 00322B34 38 A0 00 00 */ li r5, 0 +/* 80326ED8 00322B38 38 C0 00 00 */ li r6, 0 +/* 80326EDC 00322B3C 48 00 1E 95 */ bl func_80328D70 +/* 80326EE0 00322B40 80 01 02 34 */ lwz r0, 0x234(r1) +/* 80326EE4 00322B44 83 E1 02 2C */ lwz r31, 0x22c(r1) +/* 80326EE8 00322B48 83 C1 02 28 */ lwz r30, 0x228(r1) +/* 80326EEC 00322B4C 83 A1 02 24 */ lwz r29, 0x224(r1) +/* 80326EF0 00322B50 83 81 02 20 */ lwz r28, 0x220(r1) +/* 80326EF4 00322B54 7C 08 03 A6 */ mtlr r0 +/* 80326EF8 00322B58 38 21 02 30 */ addi r1, r1, 0x230 +/* 80326EFC 00322B5C 4E 80 00 20 */ blr + +.global func_80326F00 +func_80326F00: +/* 80326F00 00322B60 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80326F04 00322B64 7C 08 02 A6 */ mflr r0 +/* 80326F08 00322B68 90 01 00 24 */ stw r0, 0x24(r1) +/* 80326F0C 00322B6C 39 61 00 20 */ addi r11, r1, 0x20 +/* 80326F10 00322B70 4B EA 02 19 */ bl _savegpr_27 +/* 80326F14 00322B74 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80326F18 00322B78 7C 7B 1B 78 */ mr r27, r3 +/* 80326F1C 00322B7C 7C 9C 23 78 */ mr r28, r4 +/* 80326F20 00322B80 2C 05 00 00 */ cmpwi r5, 0 +/* 80326F24 00322B84 41 82 01 50 */ beq lbl_80327074 +/* 80326F28 00322B88 2C 03 00 00 */ cmpwi r3, 0 +/* 80326F2C 00322B8C 40 82 00 08 */ bne lbl_80326F34 +/* 80326F30 00322B90 48 00 01 44 */ b lbl_80327074 +lbl_80326F34: +/* 80326F34 00322B94 38 00 00 02 */ li r0, 2 +/* 80326F38 00322B98 98 05 01 AC */ stb r0, 0x1ac(r5) +/* 80326F3C 00322B9C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326F40 00322BA0 80 63 00 04 */ lwz r3, 4(r3) +/* 80326F44 00322BA4 80 63 00 00 */ lwz r3, 0(r3) +/* 80326F48 00322BA8 48 02 2E 29 */ bl gt2CloseAllConnectionsHard +/* 80326F4C 00322BAC 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80326F50 00322BB0 3B E0 00 00 */ li r31, 0 +/* 80326F54 00322BB4 7F 63 DB 78 */ mr r3, r27 +/* 80326F58 00322BB8 7F 84 E3 78 */ mr r4, r28 +/* 80326F5C 00322BBC 9B E5 01 AC */ stb r31, 0x1ac(r5) +/* 80326F60 00322BC0 4B FF 56 21 */ bl func_8031C580 +/* 80326F64 00322BC4 38 60 00 01 */ li r3, 1 +/* 80326F68 00322BC8 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 80326F6C 00322BCC 38 A0 00 00 */ li r5, 0 +/* 80326F70 00322BD0 4B FF 8C E1 */ bl func_8031FC50 +/* 80326F74 00322BD4 83 8D B0 68 */ lwz r28, lbl_80640328-_SDA_BASE_(r13) +/* 80326F78 00322BD8 88 9C 00 15 */ lbz r4, 0x15(r28) +/* 80326F7C 00322BDC 80 7C 02 1C */ lwz r3, 0x21c(r28) +/* 80326F80 00322BE0 38 04 FF FE */ addi r0, r4, -2 +/* 80326F84 00322BE4 7C 04 00 34 */ cntlzw r4, r0 +/* 80326F88 00322BE8 7C 60 00 34 */ cntlzw r0, r3 +/* 80326F8C 00322BEC 54 9E D9 7E */ srwi r30, r4, 5 +/* 80326F90 00322BF0 54 1D D9 7E */ srwi r29, r0, 5 +/* 80326F94 00322BF4 4B FF 8B B5 */ bl func_8031FB48 +/* 80326F98 00322BF8 81 9C 04 78 */ lwz r12, 0x478(r28) +/* 80326F9C 00322BFC 7C 67 1B 78 */ mr r7, r3 +/* 80326FA0 00322C00 7F 63 DB 78 */ mr r3, r27 +/* 80326FA4 00322C04 7F A5 EB 78 */ mr r5, r29 +/* 80326FA8 00322C08 7F C6 F3 78 */ mr r6, r30 +/* 80326FAC 00322C0C 81 1C 04 7C */ lwz r8, 0x47c(r28) +/* 80326FB0 00322C10 38 80 00 00 */ li r4, 0 +/* 80326FB4 00322C14 7D 89 03 A6 */ mtctr r12 +/* 80326FB8 00322C18 4E 80 04 21 */ bctrl +/* 80326FBC 00322C1C 3C 80 80 45 */ lis r4, lbl_80448038@ha +/* 80326FC0 00322C20 38 60 00 40 */ li r3, 0x40 +/* 80326FC4 00322C24 38 84 80 38 */ addi r4, r4, lbl_80448038@l +/* 80326FC8 00322C28 4C C6 31 82 */ crclr 6 +/* 80326FCC 00322C2C 4B FF 5B 69 */ bl func_8031CB34 +/* 80326FD0 00322C30 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326FD4 00322C34 2C 03 00 00 */ cmpwi r3, 0 +/* 80326FD8 00322C38 41 82 00 9C */ beq lbl_80327074 +/* 80326FDC 00322C3C 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80326FE0 00322C40 2C 03 00 00 */ cmpwi r3, 0 +/* 80326FE4 00322C44 41 82 00 10 */ beq lbl_80326FF4 +/* 80326FE8 00322C48 48 03 74 B5 */ bl ServerBrowserFree +/* 80326FEC 00322C4C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326FF0 00322C50 93 E3 00 E4 */ stw r31, 0xe4(r3) +lbl_80326FF4: +/* 80326FF4 00322C54 48 03 3B C1 */ bl NNFreeNegotiateList +/* 80326FF8 00322C58 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80326FFC 00322C5C 3B E0 00 00 */ li r31, 0 +/* 80327000 00322C60 93 E3 01 A4 */ stw r31, 0x1a4(r3) +/* 80327004 00322C64 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 80327008 00322C68 2C 04 00 00 */ cmpwi r4, 0 +/* 8032700C 00322C6C 41 82 00 14 */ beq lbl_80327020 +/* 80327010 00322C70 38 60 00 04 */ li r3, 4 +/* 80327014 00322C74 38 A0 00 00 */ li r5, 0 +/* 80327018 00322C78 4B FF 59 71 */ bl func_8031C988 +/* 8032701C 00322C7C 93 ED B0 60 */ stw r31, lbl_80640320-_SDA_BASE_(r13) +lbl_80327020: +/* 80327020 00322C80 3F A0 80 61 */ lis r29, lbl_8060FD88@ha +/* 80327024 00322C84 3B E0 00 00 */ li r31, 0 +/* 80327028 00322C88 3B BD FD 88 */ addi r29, r29, lbl_8060FD88@l +lbl_8032702C: +/* 8032702C 00322C8C 80 9D 00 04 */ lwz r4, 4(r29) +/* 80327030 00322C90 2C 04 00 00 */ cmpwi r4, 0 +/* 80327034 00322C94 41 82 00 10 */ beq lbl_80327044 +/* 80327038 00322C98 38 60 00 04 */ li r3, 4 +/* 8032703C 00322C9C 38 A0 00 00 */ li r5, 0 +/* 80327040 00322CA0 4B FF 59 49 */ bl func_8031C988 +lbl_80327044: +/* 80327044 00322CA4 3B FF 00 01 */ addi r31, r31, 1 +/* 80327048 00322CA8 3B BD 00 0C */ addi r29, r29, 0xc +/* 8032704C 00322CAC 2C 1F 00 9A */ cmpwi r31, 0x9a +/* 80327050 00322CB0 41 80 FF DC */ blt lbl_8032702C +/* 80327054 00322CB4 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 80327058 00322CB8 38 80 00 00 */ li r4, 0 +/* 8032705C 00322CBC 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80327060 00322CC0 38 A0 07 38 */ li r5, 0x738 +/* 80327064 00322CC4 4B CD D0 A1 */ bl memset +/* 80327068 00322CC8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032706C 00322CCC 38 00 00 01 */ li r0, 1 +/* 80327070 00322CD0 98 03 00 18 */ stb r0, 0x18(r3) +lbl_80327074: +/* 80327074 00322CD4 39 61 00 20 */ addi r11, r1, 0x20 +/* 80327078 00322CD8 4B EA 00 FD */ bl _restgpr_27 +/* 8032707C 00322CDC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80327080 00322CE0 7C 08 03 A6 */ mtlr r0 +/* 80327084 00322CE4 38 21 00 20 */ addi r1, r1, 0x20 +/* 80327088 00322CE8 4E 80 00 20 */ blr + +.global func_8032708C +func_8032708C: +/* 8032708C 00322CEC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327090 00322CF0 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80327094 00322CF4 28 00 00 02 */ cmplwi r0, 2 +/* 80327098 00322CF8 4D 82 00 20 */ beqlr +/* 8032709C 00322CFC 38 00 00 00 */ li r0, 0 +/* 803270A0 00322D00 98 03 00 14 */ stb r0, 0x14(r3) +/* 803270A4 00322D04 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803270A8 00322D08 98 03 00 16 */ stb r0, 0x16(r3) +/* 803270AC 00322D0C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803270B0 00322D10 80 63 00 10 */ lwz r3, 0x10(r3) +/* 803270B4 00322D14 48 02 75 0C */ b qr2_send_statechanged +/* 803270B8 00322D18 4E 80 00 20 */ blr + +.global func_803270BC +func_803270BC: +/* 803270BC 00322D1C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 803270C0 00322D20 7C 08 02 A6 */ mflr r0 +/* 803270C4 00322D24 90 01 00 24 */ stw r0, 0x24(r1) +/* 803270C8 00322D28 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 803270CC 00322D2C 7C 7F 1B 78 */ mr r31, r3 +/* 803270D0 00322D30 7F E6 FB 78 */ mr r6, r31 +/* 803270D4 00322D34 38 60 00 80 */ li r3, 0x80 +/* 803270D8 00322D38 93 C1 00 18 */ stw r30, 0x18(r1) +/* 803270DC 00322D3C 7C BE 2B 78 */ mr r30, r5 +/* 803270E0 00322D40 93 A1 00 14 */ stw r29, 0x14(r1) +/* 803270E4 00322D44 7C 9D 23 78 */ mr r29, r4 +/* 803270E8 00322D48 3C 80 80 45 */ lis r4, lbl_80448700@ha +/* 803270EC 00322D4C 38 BD FF FE */ addi r5, r29, -2 +/* 803270F0 00322D50 38 84 87 00 */ addi r4, r4, lbl_80448700@l +/* 803270F4 00322D54 4C C6 31 82 */ crclr 6 +/* 803270F8 00322D58 4B FF 5A 3D */ bl func_8031CB34 +/* 803270FC 00322D5C 2C 1D 00 03 */ cmpwi r29, 3 +/* 80327100 00322D60 41 82 00 BC */ beq lbl_803271BC +/* 80327104 00322D64 40 80 00 10 */ bge lbl_80327114 +/* 80327108 00322D68 2C 1D 00 02 */ cmpwi r29, 2 +/* 8032710C 00322D6C 40 80 00 14 */ bge lbl_80327120 +/* 80327110 00322D70 48 00 03 08 */ b lbl_80327418 +lbl_80327114: +/* 80327114 00322D74 2C 1D 00 05 */ cmpwi r29, 5 +/* 80327118 00322D78 40 80 03 00 */ bge lbl_80327418 +/* 8032711C 00322D7C 48 00 02 E4 */ b lbl_80327400 +lbl_80327120: +/* 80327120 00322D80 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327124 00322D84 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 80327128 00322D88 2C 00 00 01 */ cmpwi r0, 1 +/* 8032712C 00322D8C 40 82 00 80 */ bne lbl_803271AC +/* 80327130 00322D90 88 1E 00 00 */ lbz r0, 0(r30) +/* 80327134 00322D94 28 00 00 01 */ cmplwi r0, 1 +/* 80327138 00322D98 40 82 00 0C */ bne lbl_80327144 +/* 8032713C 00322D9C 38 00 00 00 */ li r0, 0 +/* 80327140 00322DA0 90 03 02 1C */ stw r0, 0x21c(r3) +lbl_80327144: +/* 80327144 00322DA4 88 BE 00 01 */ lbz r5, 1(r30) +/* 80327148 00322DA8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032714C 00322DAC 88 9E 00 02 */ lbz r4, 2(r30) +/* 80327150 00322DB0 54 A0 10 3A */ slwi r0, r5, 2 +/* 80327154 00322DB4 7C 63 2A 14 */ add r3, r3, r5 +/* 80327158 00322DB8 98 83 02 E0 */ stb r4, 0x2e0(r3) +/* 8032715C 00322DBC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327160 00322DC0 80 83 02 10 */ lwz r4, 0x210(r3) +/* 80327164 00322DC4 7C 63 02 14 */ add r3, r3, r0 +/* 80327168 00322DC8 90 83 00 F8 */ stw r4, 0xf8(r3) +/* 8032716C 00322DCC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327170 00322DD0 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80327174 00322DD4 2C 00 00 00 */ cmpwi r0, 0 +/* 80327178 00322DD8 41 82 00 10 */ beq lbl_80327188 +/* 8032717C 00322DDC 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80327180 00322DE0 28 00 00 01 */ cmplwi r0, 1 +/* 80327184 00322DE4 40 82 00 10 */ bne lbl_80327194 +lbl_80327188: +/* 80327188 00322DE8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032718C 00322DEC 88 03 00 0D */ lbz r0, 0xd(r3) +/* 80327190 00322DF0 98 03 00 16 */ stb r0, 0x16(r3) +lbl_80327194: +/* 80327194 00322DF4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327198 00322DF8 38 80 00 00 */ li r4, 0 +/* 8032719C 00322DFC 38 00 00 09 */ li r0, 9 +/* 803271A0 00322E00 98 83 01 B1 */ stb r4, 0x1b1(r3) +/* 803271A4 00322E04 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803271A8 00322E08 90 03 01 A4 */ stw r0, 0x1a4(r3) +lbl_803271AC: +/* 803271AC 00322E0C 7F E3 FB 78 */ mr r3, r31 +/* 803271B0 00322E10 38 80 00 03 */ li r4, 3 +/* 803271B4 00322E14 48 00 5E A9 */ bl func_8032D05C +/* 803271B8 00322E18 48 00 02 60 */ b lbl_80327418 +lbl_803271BC: +/* 803271BC 00322E1C 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803271C0 00322E20 80 04 01 A4 */ lwz r0, 0x1a4(r4) +/* 803271C4 00322E24 2C 00 00 10 */ cmpwi r0, 0x10 +/* 803271C8 00322E28 40 82 02 28 */ bne lbl_803273F0 +/* 803271CC 00322E2C 38 00 00 01 */ li r0, 1 +/* 803271D0 00322E30 80 64 01 E0 */ lwz r3, 0x1e0(r4) +/* 803271D4 00322E34 7C 00 F8 30 */ slw r0, r0, r31 +/* 803271D8 00322E38 7C 60 03 78 */ or r0, r3, r0 +/* 803271DC 00322E3C 90 04 01 E0 */ stw r0, 0x1e0(r4) +/* 803271E0 00322E40 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803271E4 00322E44 88 7E 00 01 */ lbz r3, 1(r30) +/* 803271E8 00322E48 88 BE 00 00 */ lbz r5, 0(r30) +/* 803271EC 00322E4C A0 04 01 B4 */ lhz r0, 0x1b4(r4) +/* 803271F0 00322E50 50 65 44 2E */ rlwimi r5, r3, 8, 0x10, 0x17 +/* 803271F4 00322E54 7C 05 00 00 */ cmpw r5, r0 +/* 803271F8 00322E58 40 81 00 08 */ ble lbl_80327200 +/* 803271FC 00322E5C B0 A4 01 B4 */ sth r5, 0x1b4(r4) +lbl_80327200: +/* 80327200 00322E60 81 0D B0 68 */ lwz r8, lbl_80640328-_SDA_BASE_(r13) +/* 80327204 00322E64 38 00 00 00 */ li r0, 0 +/* 80327208 00322E68 38 60 00 01 */ li r3, 1 +/* 8032720C 00322E6C 89 28 00 0D */ lbz r9, 0xd(r8) +/* 80327210 00322E70 2F 09 00 01 */ cmpwi cr6, r9, 1 +/* 80327214 00322E74 41 98 01 7C */ blt cr6, lbl_80327390 +/* 80327218 00322E78 2C 09 00 08 */ cmpwi r9, 8 +/* 8032721C 00322E7C 38 C9 FF F8 */ addi r6, r9, -8 +/* 80327220 00322E80 40 81 01 38 */ ble lbl_80327358 +/* 80327224 00322E84 38 A0 00 00 */ li r5, 0 +/* 80327228 00322E88 38 E0 00 00 */ li r7, 0 +/* 8032722C 00322E8C 39 00 00 00 */ li r8, 0 +/* 80327230 00322E90 41 98 00 18 */ blt cr6, lbl_80327248 +/* 80327234 00322E94 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha +/* 80327238 00322E98 38 84 FF FE */ addi r4, r4, 0x7FFFFFFE@l +/* 8032723C 00322E9C 7C 09 20 00 */ cmpw r9, r4 +/* 80327240 00322EA0 41 81 00 08 */ bgt lbl_80327248 +/* 80327244 00322EA4 39 00 00 01 */ li r8, 1 +lbl_80327248: +/* 80327248 00322EA8 2C 08 00 00 */ cmpwi r8, 0 +/* 8032724C 00322EAC 41 82 00 40 */ beq lbl_8032728C +/* 80327250 00322EB0 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80327254 00322EB4 39 00 00 01 */ li r8, 1 +/* 80327258 00322EB8 89 44 00 0D */ lbz r10, 0xd(r4) +/* 8032725C 00322EBC 55 49 00 00 */ rlwinm r9, r10, 0, 0, 0 +/* 80327260 00322EC0 3C 89 80 00 */ addis r4, r9, 0x8000 +/* 80327264 00322EC4 28 04 00 00 */ cmplwi r4, 0 +/* 80327268 00322EC8 40 82 00 18 */ bne lbl_80327280 +/* 8032726C 00322ECC 38 8A FF FF */ addi r4, r10, -1 +/* 80327270 00322ED0 54 84 00 00 */ rlwinm r4, r4, 0, 0, 0 +/* 80327274 00322ED4 7C 09 20 00 */ cmpw r9, r4 +/* 80327278 00322ED8 41 82 00 08 */ beq lbl_80327280 +/* 8032727C 00322EDC 39 00 00 00 */ li r8, 0 +lbl_80327280: +/* 80327280 00322EE0 2C 08 00 00 */ cmpwi r8, 0 +/* 80327284 00322EE4 41 82 00 08 */ beq lbl_8032728C +/* 80327288 00322EE8 38 E0 00 01 */ li r7, 1 +lbl_8032728C: +/* 8032728C 00322EEC 2C 07 00 00 */ cmpwi r7, 0 +/* 80327290 00322EF0 41 82 00 34 */ beq lbl_803272C4 +/* 80327294 00322EF4 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80327298 00322EF8 38 E0 00 01 */ li r7, 1 +/* 8032729C 00322EFC 89 04 00 0D */ lbz r8, 0xd(r4) +/* 803272A0 00322F00 38 88 FF FF */ addi r4, r8, -1 +/* 803272A4 00322F04 54 84 00 01 */ rlwinm. r4, r4, 0, 0, 0 +/* 803272A8 00322F08 40 82 00 10 */ bne lbl_803272B8 +/* 803272AC 00322F0C 55 04 00 01 */ rlwinm. r4, r8, 0, 0, 0 +/* 803272B0 00322F10 41 82 00 08 */ beq lbl_803272B8 +/* 803272B4 00322F14 38 E0 00 00 */ li r7, 0 +lbl_803272B8: +/* 803272B8 00322F18 2C 07 00 00 */ cmpwi r7, 0 +/* 803272BC 00322F1C 41 82 00 08 */ beq lbl_803272C4 +/* 803272C0 00322F20 38 A0 00 01 */ li r5, 1 +lbl_803272C4: +/* 803272C4 00322F24 2C 05 00 00 */ cmpwi r5, 0 +/* 803272C8 00322F28 41 82 00 90 */ beq lbl_80327358 +/* 803272CC 00322F2C 38 86 00 07 */ addi r4, r6, 7 +/* 803272D0 00322F30 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 803272D4 00322F34 54 84 E8 FE */ srwi r4, r4, 3 +/* 803272D8 00322F38 39 40 00 01 */ li r10, 1 +/* 803272DC 00322F3C 39 65 00 01 */ addi r11, r5, 1 +/* 803272E0 00322F40 7C 89 03 A6 */ mtctr r4 +/* 803272E4 00322F44 2C 06 00 01 */ cmpwi r6, 1 +/* 803272E8 00322F48 41 80 00 70 */ blt lbl_80327358 +lbl_803272EC: +/* 803272EC 00322F4C 88 8B 02 E0 */ lbz r4, 0x2e0(r11) +/* 803272F0 00322F50 38 63 00 08 */ addi r3, r3, 8 +/* 803272F4 00322F54 88 AB 02 E1 */ lbz r5, 0x2e1(r11) +/* 803272F8 00322F58 7D 46 20 30 */ slw r6, r10, r4 +/* 803272FC 00322F5C 88 8B 02 E2 */ lbz r4, 0x2e2(r11) +/* 80327300 00322F60 89 0B 02 E3 */ lbz r8, 0x2e3(r11) +/* 80327304 00322F64 7C 00 33 78 */ or r0, r0, r6 +/* 80327308 00322F68 7D 45 28 30 */ slw r5, r10, r5 +/* 8032730C 00322F6C 88 EB 02 E4 */ lbz r7, 0x2e4(r11) +/* 80327310 00322F70 7C 00 2B 78 */ or r0, r0, r5 +/* 80327314 00322F74 7D 49 20 30 */ slw r9, r10, r4 +/* 80327318 00322F78 88 CB 02 E5 */ lbz r6, 0x2e5(r11) +/* 8032731C 00322F7C 7C 00 4B 78 */ or r0, r0, r9 +/* 80327320 00322F80 7D 48 40 30 */ slw r8, r10, r8 +/* 80327324 00322F84 88 AB 02 E6 */ lbz r5, 0x2e6(r11) +/* 80327328 00322F88 88 8B 02 E7 */ lbz r4, 0x2e7(r11) +/* 8032732C 00322F8C 7D 47 38 30 */ slw r7, r10, r7 +/* 80327330 00322F90 7C 00 43 78 */ or r0, r0, r8 +/* 80327334 00322F94 7D 46 30 30 */ slw r6, r10, r6 +/* 80327338 00322F98 7C 00 3B 78 */ or r0, r0, r7 +/* 8032733C 00322F9C 7D 45 28 30 */ slw r5, r10, r5 +/* 80327340 00322FA0 7C 00 33 78 */ or r0, r0, r6 +/* 80327344 00322FA4 7D 44 20 30 */ slw r4, r10, r4 +/* 80327348 00322FA8 7C 00 2B 78 */ or r0, r0, r5 +/* 8032734C 00322FAC 39 6B 00 08 */ addi r11, r11, 8 +/* 80327350 00322FB0 7C 00 23 78 */ or r0, r0, r4 +/* 80327354 00322FB4 42 00 FF 98 */ bdnz lbl_803272EC +lbl_80327358: +/* 80327358 00322FB8 81 0D B0 68 */ lwz r8, lbl_80640328-_SDA_BASE_(r13) +/* 8032735C 00322FBC 38 A0 00 01 */ li r5, 1 +/* 80327360 00322FC0 88 E8 00 0D */ lbz r7, 0xd(r8) +/* 80327364 00322FC4 7C C8 1A 14 */ add r6, r8, r3 +/* 80327368 00322FC8 38 87 00 01 */ addi r4, r7, 1 +/* 8032736C 00322FCC 7C 83 20 50 */ subf r4, r3, r4 +/* 80327370 00322FD0 7C 89 03 A6 */ mtctr r4 +/* 80327374 00322FD4 7C 03 38 00 */ cmpw r3, r7 +/* 80327378 00322FD8 41 81 00 18 */ bgt lbl_80327390 +lbl_8032737C: +/* 8032737C 00322FDC 88 66 02 E0 */ lbz r3, 0x2e0(r6) +/* 80327380 00322FE0 38 C6 00 01 */ addi r6, r6, 1 +/* 80327384 00322FE4 7C A3 18 30 */ slw r3, r5, r3 +/* 80327388 00322FE8 7C 00 1B 78 */ or r0, r0, r3 +/* 8032738C 00322FEC 42 00 FF F0 */ bdnz lbl_8032737C +lbl_80327390: +/* 80327390 00322FF0 80 68 01 E0 */ lwz r3, 0x1e0(r8) +/* 80327394 00322FF4 7C 00 18 40 */ cmplw r0, r3 +/* 80327398 00322FF8 40 82 00 80 */ bne lbl_80327418 +/* 8032739C 00322FFC 3B E0 00 01 */ li r31, 1 +/* 803273A0 00323000 48 00 00 18 */ b lbl_803273B8 +lbl_803273A4: +/* 803273A4 00323004 7C 63 FA 14 */ add r3, r3, r31 +/* 803273A8 00323008 38 80 00 04 */ li r4, 4 +/* 803273AC 0032300C 88 63 02 E0 */ lbz r3, 0x2e0(r3) +/* 803273B0 00323010 48 00 5C AD */ bl func_8032D05C +/* 803273B4 00323014 3B FF 00 01 */ addi r31, r31, 1 +lbl_803273B8: +/* 803273B8 00323018 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803273BC 0032301C 88 03 00 0D */ lbz r0, 0xd(r3) +/* 803273C0 00323020 7C 1F 00 00 */ cmpw r31, r0 +/* 803273C4 00323024 40 81 FF E0 */ ble lbl_803273A4 +/* 803273C8 00323028 38 00 00 11 */ li r0, 0x11 +/* 803273CC 0032302C 3C 80 80 45 */ lis r4, lbl_80448728@ha +/* 803273D0 00323030 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 803273D4 00323034 38 84 87 28 */ addi r4, r4, lbl_80448728@l +/* 803273D8 00323038 38 60 00 80 */ li r3, 0x80 +/* 803273DC 0032303C 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 803273E0 00323040 A0 A5 01 B4 */ lhz r5, 0x1b4(r5) +/* 803273E4 00323044 4C C6 31 82 */ crclr 6 +/* 803273E8 00323048 4B FF 57 4D */ bl func_8031CB34 +/* 803273EC 0032304C 48 00 00 2C */ b lbl_80327418 +lbl_803273F0: +/* 803273F0 00323050 7F E3 FB 78 */ mr r3, r31 +/* 803273F4 00323054 38 80 00 04 */ li r4, 4 +/* 803273F8 00323058 48 00 5C 65 */ bl func_8032D05C +/* 803273FC 0032305C 48 00 00 1C */ b lbl_80327418 +lbl_80327400: +/* 80327400 00323060 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327404 00323064 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 80327408 00323068 2C 00 00 09 */ cmpwi r0, 9 +/* 8032740C 0032306C 40 82 00 0C */ bne lbl_80327418 +/* 80327410 00323070 38 60 00 04 */ li r3, 4 +/* 80327414 00323074 48 00 47 09 */ bl func_8032BB1C +lbl_80327418: +/* 80327418 00323078 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8032741C 0032307C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80327420 00323080 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80327424 00323084 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80327428 00323088 7C 08 03 A6 */ mtlr r0 +/* 8032742C 0032308C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80327430 00323090 4E 80 00 20 */ blr + +.global func_80327434 +func_80327434: +/* 80327434 00323094 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80327438 00323098 7C 08 02 A6 */ mflr r0 +/* 8032743C 0032309C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80327440 003230A0 39 61 00 20 */ addi r11, r1, 0x20 +/* 80327444 003230A4 4B E9 FC E1 */ bl _savegpr_26 +/* 80327448 003230A8 3F E0 80 44 */ lis r31, lbl_80447FE0@ha +/* 8032744C 003230AC 7C 7A 1B 78 */ mr r26, r3 +/* 80327450 003230B0 7C 9B 23 78 */ mr r27, r4 +/* 80327454 003230B4 3B FF 7F E0 */ addi r31, r31, lbl_80447FE0@l +/* 80327458 003230B8 4B FF BA 1D */ bl func_80322E74 +/* 8032745C 003230BC 2C 03 00 05 */ cmpwi r3, 5 +/* 80327460 003230C0 41 82 00 0C */ beq lbl_8032746C +/* 80327464 003230C4 38 60 00 00 */ li r3, 0 +/* 80327468 003230C8 48 00 03 E0 */ b lbl_80327848 +lbl_8032746C: +/* 8032746C 003230CC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327470 003230D0 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80327474 003230D4 28 00 00 02 */ cmplwi r0, 2 +/* 80327478 003230D8 40 82 00 1C */ bne lbl_80327494 +/* 8032747C 003230DC 38 9F 07 64 */ addi r4, r31, 0x764 +/* 80327480 003230E0 38 60 00 04 */ li r3, 4 +/* 80327484 003230E4 4C C6 31 82 */ crclr 6 +/* 80327488 003230E8 4B FF 56 AD */ bl func_8031CB34 +/* 8032748C 003230EC 38 60 00 01 */ li r3, 1 +/* 80327490 003230F0 48 00 03 B8 */ b lbl_80327848 +lbl_80327494: +/* 80327494 003230F4 2F 1A 00 00 */ cmpwi cr6, r26, 0 +/* 80327498 003230F8 41 9A 01 58 */ beq cr6, lbl_803275F0 +/* 8032749C 003230FC 2C 03 00 00 */ cmpwi r3, 0 +/* 803274A0 00323100 41 82 01 48 */ beq lbl_803275E8 +/* 803274A4 00323104 41 9A 01 44 */ beq cr6, lbl_803275E8 +/* 803274A8 00323108 38 00 00 02 */ li r0, 2 +/* 803274AC 0032310C 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 803274B0 00323110 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803274B4 00323114 80 63 00 04 */ lwz r3, 4(r3) +/* 803274B8 00323118 80 63 00 00 */ lwz r3, 0(r3) +/* 803274BC 0032311C 48 02 28 B5 */ bl gt2CloseAllConnectionsHard +/* 803274C0 00323120 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 803274C4 00323124 3B C0 00 00 */ li r30, 0 +/* 803274C8 00323128 3C 9B FF FF */ addis r4, r27, 0xffff +/* 803274CC 0032312C 7F 43 D3 78 */ mr r3, r26 +/* 803274D0 00323130 9B C5 01 AC */ stb r30, 0x1ac(r5) +/* 803274D4 00323134 38 84 C7 80 */ addi r4, r4, -14464 +/* 803274D8 00323138 4B FF 50 A9 */ bl func_8031C580 +/* 803274DC 0032313C 38 60 00 01 */ li r3, 1 +/* 803274E0 00323140 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 803274E4 00323144 38 A0 00 00 */ li r5, 0 +/* 803274E8 00323148 4B FF 87 69 */ bl func_8031FC50 +/* 803274EC 0032314C 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 803274F0 00323150 88 9B 00 15 */ lbz r4, 0x15(r27) +/* 803274F4 00323154 80 7B 02 1C */ lwz r3, 0x21c(r27) +/* 803274F8 00323158 38 04 FF FE */ addi r0, r4, -2 +/* 803274FC 0032315C 7C 04 00 34 */ cntlzw r4, r0 +/* 80327500 00323160 7C 60 00 34 */ cntlzw r0, r3 +/* 80327504 00323164 54 9D D9 7E */ srwi r29, r4, 5 +/* 80327508 00323168 54 1C D9 7E */ srwi r28, r0, 5 +/* 8032750C 0032316C 4B FF 86 3D */ bl func_8031FB48 +/* 80327510 00323170 81 9B 04 78 */ lwz r12, 0x478(r27) +/* 80327514 00323174 7C 67 1B 78 */ mr r7, r3 +/* 80327518 00323178 7F 43 D3 78 */ mr r3, r26 +/* 8032751C 0032317C 7F 85 E3 78 */ mr r5, r28 +/* 80327520 00323180 7F A6 EB 78 */ mr r6, r29 +/* 80327524 00323184 81 1B 04 7C */ lwz r8, 0x47c(r27) +/* 80327528 00323188 38 80 00 00 */ li r4, 0 +/* 8032752C 0032318C 7D 89 03 A6 */ mtctr r12 +/* 80327530 00323190 4E 80 04 21 */ bctrl +/* 80327534 00323194 38 9F 00 58 */ addi r4, r31, 0x58 +/* 80327538 00323198 38 60 00 40 */ li r3, 0x40 +/* 8032753C 0032319C 4C C6 31 82 */ crclr 6 +/* 80327540 003231A0 4B FF 55 F5 */ bl func_8031CB34 +/* 80327544 003231A4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327548 003231A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032754C 003231AC 41 82 00 9C */ beq lbl_803275E8 +/* 80327550 003231B0 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80327554 003231B4 2C 03 00 00 */ cmpwi r3, 0 +/* 80327558 003231B8 41 82 00 10 */ beq lbl_80327568 +/* 8032755C 003231BC 48 03 6F 41 */ bl ServerBrowserFree +/* 80327560 003231C0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327564 003231C4 93 C3 00 E4 */ stw r30, 0xe4(r3) +lbl_80327568: +/* 80327568 003231C8 48 03 36 4D */ bl NNFreeNegotiateList +/* 8032756C 003231CC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327570 003231D0 3B C0 00 00 */ li r30, 0 +/* 80327574 003231D4 93 C3 01 A4 */ stw r30, 0x1a4(r3) +/* 80327578 003231D8 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 8032757C 003231DC 2C 04 00 00 */ cmpwi r4, 0 +/* 80327580 003231E0 41 82 00 14 */ beq lbl_80327594 +/* 80327584 003231E4 38 60 00 04 */ li r3, 4 +/* 80327588 003231E8 38 A0 00 00 */ li r5, 0 +/* 8032758C 003231EC 4B FF 53 FD */ bl func_8031C988 +/* 80327590 003231F0 93 CD B0 60 */ stw r30, lbl_80640320-_SDA_BASE_(r13) +lbl_80327594: +/* 80327594 003231F4 3F 80 80 61 */ lis r28, lbl_8060FD88@ha +/* 80327598 003231F8 3B C0 00 00 */ li r30, 0 +/* 8032759C 003231FC 3B 9C FD 88 */ addi r28, r28, lbl_8060FD88@l +lbl_803275A0: +/* 803275A0 00323200 80 9C 00 04 */ lwz r4, 4(r28) +/* 803275A4 00323204 2C 04 00 00 */ cmpwi r4, 0 +/* 803275A8 00323208 41 82 00 10 */ beq lbl_803275B8 +/* 803275AC 0032320C 38 60 00 04 */ li r3, 4 +/* 803275B0 00323210 38 A0 00 00 */ li r5, 0 +/* 803275B4 00323214 4B FF 53 D5 */ bl func_8031C988 +lbl_803275B8: +/* 803275B8 00323218 3B DE 00 01 */ addi r30, r30, 1 +/* 803275BC 0032321C 3B 9C 00 0C */ addi r28, r28, 0xc +/* 803275C0 00323220 2C 1E 00 9A */ cmpwi r30, 0x9a +/* 803275C4 00323224 41 80 FF DC */ blt lbl_803275A0 +/* 803275C8 00323228 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 803275CC 0032322C 38 80 00 00 */ li r4, 0 +/* 803275D0 00323230 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 803275D4 00323234 38 A0 07 38 */ li r5, 0x738 +/* 803275D8 00323238 4B CD CB 2D */ bl memset +/* 803275DC 0032323C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803275E0 00323240 38 00 00 01 */ li r0, 1 +/* 803275E4 00323244 98 03 00 18 */ stb r0, 0x18(r3) +lbl_803275E8: +/* 803275E8 00323248 38 60 00 01 */ li r3, 1 +/* 803275EC 0032324C 48 00 02 5C */ b lbl_80327848 +lbl_803275F0: +/* 803275F0 00323250 3B C0 00 00 */ li r30, 0 +/* 803275F4 00323254 9B C3 02 E0 */ stb r30, 0x2e0(r3) +/* 803275F8 00323258 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803275FC 0032325C 88 04 01 AD */ lbz r0, 0x1ad(r4) +/* 80327600 00323260 28 00 00 01 */ cmplwi r0, 1 +/* 80327604 00323264 41 82 00 18 */ beq lbl_8032761C +/* 80327608 00323268 88 64 01 AC */ lbz r3, 0x1ac(r4) +/* 8032760C 0032326C 38 03 00 FF */ addi r0, r3, 0xff +/* 80327610 00323270 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 80327614 00323274 28 00 00 01 */ cmplwi r0, 1 +/* 80327618 00323278 41 81 00 0C */ bgt lbl_80327624 +lbl_8032761C: +/* 8032761C 0032327C 38 60 00 01 */ li r3, 1 +/* 80327620 00323280 48 00 02 28 */ b lbl_80327848 +lbl_80327624: +/* 80327624 00323284 80 64 01 A0 */ lwz r3, 0x1a0(r4) +/* 80327628 00323288 2C 03 00 00 */ cmpwi r3, 0 +/* 8032762C 0032328C 41 82 00 10 */ beq lbl_8032763C +/* 80327630 00323290 48 03 3F 19 */ bl NNCancel +/* 80327634 00323294 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327638 00323298 93 C3 01 A0 */ stw r30, 0x1a0(r3) +lbl_8032763C: +/* 8032763C 0032329C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327640 003232A0 88 03 00 0D */ lbz r0, 0xd(r3) +/* 80327644 003232A4 2C 00 00 00 */ cmpwi r0, 0 +/* 80327648 003232A8 41 82 00 2C */ beq lbl_80327674 +/* 8032764C 003232AC 88 03 01 AC */ lbz r0, 0x1ac(r3) +/* 80327650 003232B0 2C 00 00 00 */ cmpwi r0, 0 +/* 80327654 003232B4 40 82 01 F0 */ bne lbl_80327844 +/* 80327658 003232B8 38 00 00 03 */ li r0, 3 +/* 8032765C 003232BC 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80327660 003232C0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327664 003232C4 80 63 00 04 */ lwz r3, 4(r3) +/* 80327668 003232C8 80 63 00 00 */ lwz r3, 0(r3) +/* 8032766C 003232CC 48 02 27 05 */ bl gt2CloseAllConnectionsHard +/* 80327670 003232D0 48 00 01 D4 */ b lbl_80327844 +lbl_80327674: +/* 80327674 003232D4 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80327678 003232D8 28 00 00 03 */ cmplwi r0, 3 +/* 8032767C 003232DC 40 82 01 50 */ bne lbl_803277CC +/* 80327680 003232E0 2C 03 00 00 */ cmpwi r3, 0 +/* 80327684 003232E4 41 82 01 C0 */ beq lbl_80327844 +/* 80327688 003232E8 38 00 00 02 */ li r0, 2 +/* 8032768C 003232EC 98 03 01 AC */ stb r0, 0x1ac(r3) +/* 80327690 003232F0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327694 003232F4 80 63 00 04 */ lwz r3, 4(r3) +/* 80327698 003232F8 80 63 00 00 */ lwz r3, 0(r3) +/* 8032769C 003232FC 48 02 26 D5 */ bl gt2CloseAllConnectionsHard +/* 803276A0 00323300 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 803276A4 00323304 3B C0 00 00 */ li r30, 0 +/* 803276A8 00323308 3C 80 FF FF */ lis r4, 0xFFFEC5D2@ha +/* 803276AC 0032330C 38 60 00 06 */ li r3, 6 +/* 803276B0 00323310 9B C5 01 AC */ stb r30, 0x1ac(r5) +/* 803276B4 00323314 38 84 C5 D2 */ addi r4, r4, 0xFFFEC5D2@l +/* 803276B8 00323318 4B FF 4E C9 */ bl func_8031C580 +/* 803276BC 0032331C 38 60 00 01 */ li r3, 1 +/* 803276C0 00323320 38 8D 8D B8 */ addi r4, r13, lbl_8063E078-_SDA_BASE_ +/* 803276C4 00323324 38 A0 00 00 */ li r5, 0 +/* 803276C8 00323328 4B FF 85 89 */ bl func_8031FC50 +/* 803276CC 0032332C 83 6D B0 68 */ lwz r27, lbl_80640328-_SDA_BASE_(r13) +/* 803276D0 00323330 88 9B 00 15 */ lbz r4, 0x15(r27) +/* 803276D4 00323334 80 7B 02 1C */ lwz r3, 0x21c(r27) +/* 803276D8 00323338 38 04 FF FE */ addi r0, r4, -2 +/* 803276DC 0032333C 7C 04 00 34 */ cntlzw r4, r0 +/* 803276E0 00323340 7C 60 00 34 */ cntlzw r0, r3 +/* 803276E4 00323344 54 9C D9 7E */ srwi r28, r4, 5 +/* 803276E8 00323348 54 1D D9 7E */ srwi r29, r0, 5 +/* 803276EC 0032334C 4B FF 84 5D */ bl func_8031FB48 +/* 803276F0 00323350 81 9B 04 78 */ lwz r12, 0x478(r27) +/* 803276F4 00323354 7C 67 1B 78 */ mr r7, r3 +/* 803276F8 00323358 7F A5 EB 78 */ mr r5, r29 +/* 803276FC 0032335C 7F 86 E3 78 */ mr r6, r28 +/* 80327700 00323360 81 1B 04 7C */ lwz r8, 0x47c(r27) +/* 80327704 00323364 38 60 00 06 */ li r3, 6 +/* 80327708 00323368 38 80 00 00 */ li r4, 0 +/* 8032770C 0032336C 7D 89 03 A6 */ mtctr r12 +/* 80327710 00323370 4E 80 04 21 */ bctrl +/* 80327714 00323374 38 9F 00 58 */ addi r4, r31, 0x58 +/* 80327718 00323378 38 60 00 40 */ li r3, 0x40 +/* 8032771C 0032337C 4C C6 31 82 */ crclr 6 +/* 80327720 00323380 4B FF 54 15 */ bl func_8031CB34 +/* 80327724 00323384 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327728 00323388 2C 03 00 00 */ cmpwi r3, 0 +/* 8032772C 0032338C 41 82 01 18 */ beq lbl_80327844 +/* 80327730 00323390 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80327734 00323394 2C 03 00 00 */ cmpwi r3, 0 +/* 80327738 00323398 41 82 00 10 */ beq lbl_80327748 +/* 8032773C 0032339C 48 03 6D 61 */ bl ServerBrowserFree +/* 80327740 003233A0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327744 003233A4 93 C3 00 E4 */ stw r30, 0xe4(r3) +lbl_80327748: +/* 80327748 003233A8 48 03 34 6D */ bl NNFreeNegotiateList +/* 8032774C 003233AC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327750 003233B0 3B E0 00 00 */ li r31, 0 +/* 80327754 003233B4 93 E3 01 A4 */ stw r31, 0x1a4(r3) +/* 80327758 003233B8 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 8032775C 003233BC 2C 04 00 00 */ cmpwi r4, 0 +/* 80327760 003233C0 41 82 00 14 */ beq lbl_80327774 +/* 80327764 003233C4 38 60 00 04 */ li r3, 4 +/* 80327768 003233C8 38 A0 00 00 */ li r5, 0 +/* 8032776C 003233CC 4B FF 52 1D */ bl func_8031C988 +/* 80327770 003233D0 93 ED B0 60 */ stw r31, lbl_80640320-_SDA_BASE_(r13) +lbl_80327774: +/* 80327774 003233D4 3F 80 80 61 */ lis r28, lbl_8060FD88@ha +/* 80327778 003233D8 3B C0 00 00 */ li r30, 0 +/* 8032777C 003233DC 3B 9C FD 88 */ addi r28, r28, lbl_8060FD88@l +lbl_80327780: +/* 80327780 003233E0 80 9C 00 04 */ lwz r4, 4(r28) +/* 80327784 003233E4 2C 04 00 00 */ cmpwi r4, 0 +/* 80327788 003233E8 41 82 00 10 */ beq lbl_80327798 +/* 8032778C 003233EC 38 60 00 04 */ li r3, 4 +/* 80327790 003233F0 38 A0 00 00 */ li r5, 0 +/* 80327794 003233F4 4B FF 51 F5 */ bl func_8031C988 +lbl_80327798: +/* 80327798 003233F8 3B DE 00 01 */ addi r30, r30, 1 +/* 8032779C 003233FC 3B 9C 00 0C */ addi r28, r28, 0xc +/* 803277A0 00323400 2C 1E 00 9A */ cmpwi r30, 0x9a +/* 803277A4 00323404 41 80 FF DC */ blt lbl_80327780 +/* 803277A8 00323408 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 803277AC 0032340C 38 80 00 00 */ li r4, 0 +/* 803277B0 00323410 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 803277B4 00323414 38 A0 07 38 */ li r5, 0x738 +/* 803277B8 00323418 4B CD C9 4D */ bl memset +/* 803277BC 0032341C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803277C0 00323420 38 00 00 01 */ li r0, 1 +/* 803277C4 00323424 98 03 00 18 */ stb r0, 0x18(r3) +/* 803277C8 00323428 48 00 00 7C */ b lbl_80327844 +lbl_803277CC: +/* 803277CC 0032342C 80 A3 02 18 */ lwz r5, 0x218(r3) +/* 803277D0 00323430 2C 05 00 00 */ cmpwi r5, 0 +/* 803277D4 00323434 41 82 00 1C */ beq lbl_803277F0 +/* 803277D8 00323438 38 9F 07 88 */ addi r4, r31, 0x788 +/* 803277DC 0032343C 38 60 00 40 */ li r3, 0x40 +/* 803277E0 00323440 4C C6 31 82 */ crclr 6 +/* 803277E4 00323444 4B FF 53 51 */ bl func_8031CB34 +/* 803277E8 00323448 48 00 55 D9 */ bl func_8032CDC0 +/* 803277EC 0032344C 48 00 00 58 */ b lbl_80327844 +lbl_803277F0: +/* 803277F0 00323450 80 03 01 A4 */ lwz r0, 0x1a4(r3) +/* 803277F4 00323454 2C 00 00 01 */ cmpwi r0, 1 +/* 803277F8 00323458 40 82 00 34 */ bne lbl_8032782C +/* 803277FC 0032345C 38 9F 07 9C */ addi r4, r31, 0x79c +/* 80327800 00323460 38 60 00 40 */ li r3, 0x40 +/* 80327804 00323464 4C C6 31 82 */ crclr 6 +/* 80327808 00323468 4B FF 53 2D */ bl func_8031CB34 +/* 8032780C 0032346C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327810 00323470 38 00 00 12 */ li r0, 0x12 +/* 80327814 00323474 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 80327818 00323478 4B F4 AF A1 */ bl OSGetTime +/* 8032781C 0032347C 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80327820 00323480 90 85 02 04 */ stw r4, 0x204(r5) +/* 80327824 00323484 90 65 02 00 */ stw r3, 0x200(r5) +/* 80327828 00323488 48 00 00 1C */ b lbl_80327844 +lbl_8032782C: +/* 8032782C 0032348C 38 9F 07 B4 */ addi r4, r31, 0x7b4 +/* 80327830 00323490 38 60 00 40 */ li r3, 0x40 +/* 80327834 00323494 4C C6 31 82 */ crclr 6 +/* 80327838 00323498 4B FF 52 FD */ bl func_8031CB34 +/* 8032783C 0032349C 38 60 00 01 */ li r3, 1 +/* 80327840 003234A0 48 00 53 31 */ bl func_8032CB70 +lbl_80327844: +/* 80327844 003234A4 38 60 00 01 */ li r3, 1 +lbl_80327848: +/* 80327848 003234A8 39 61 00 20 */ addi r11, r1, 0x20 +/* 8032784C 003234AC 4B E9 F9 25 */ bl _restgpr_26 +/* 80327850 003234B0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80327854 003234B4 7C 08 03 A6 */ mtlr r0 +/* 80327858 003234B8 38 21 00 20 */ addi r1, r1, 0x20 +/* 8032785C 003234BC 4E 80 00 20 */ blr + +.global func_80327860 +func_80327860: +/* 80327860 003234C0 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80327864 003234C4 88 04 01 AC */ lbz r0, 0x1ac(r4) +/* 80327868 003234C8 28 00 00 02 */ cmplwi r0, 2 +/* 8032786C 003234CC 4D 82 00 20 */ beqlr +/* 80327870 003234D0 48 00 3C 4C */ b func_8032B4BC +/* 80327874 003234D4 4E 80 00 20 */ blr + +.global func_80327878 +func_80327878: +/* 80327878 003234D8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8032787C 003234DC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80327880 003234E0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80327884 003234E4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80327888 003234E8 81 4D B0 68 */ lwz r10, lbl_80640328-_SDA_BASE_(r13) +/* 8032788C 003234EC 2C 0A 00 00 */ cmpwi r10, 0 +/* 80327890 003234F0 40 82 00 0C */ bne lbl_8032789C +/* 80327894 003234F4 38 60 00 00 */ li r3, 0 +/* 80327898 003234F8 48 00 03 14 */ b lbl_80327BAC +lbl_8032789C: +/* 8032789C 003234FC 7C AA 1A 14 */ add r5, r10, r3 +/* 803278A0 00323500 54 60 10 3A */ slwi r0, r3, 2 +/* 803278A4 00323504 88 A5 02 E0 */ lbz r5, 0x2e0(r5) +/* 803278A8 00323508 39 00 00 01 */ li r8, 1 +/* 803278AC 0032350C 7D 2A 02 14 */ add r9, r10, r0 +/* 803278B0 00323510 80 EA 03 00 */ lwz r7, 0x300(r10) +/* 803278B4 00323514 7D 06 28 30 */ slw r6, r8, r5 +/* 803278B8 00323518 80 A9 00 F8 */ lwz r5, 0xf8(r9) +/* 803278BC 0032351C 7C E7 30 78 */ andc r7, r7, r6 +/* 803278C0 00323520 39 20 FF FF */ li r9, -1 +/* 803278C4 00323524 90 EA 03 00 */ stw r7, 0x300(r10) +/* 803278C8 00323528 38 C0 00 04 */ li r6, 4 +/* 803278CC 0032352C 38 E0 00 00 */ li r7, 0 +/* 803278D0 00323530 81 6D B0 68 */ lwz r11, lbl_80640328-_SDA_BASE_(r13) +/* 803278D4 00323534 81 4B 03 00 */ lwz r10, 0x300(r11) +/* 803278D8 00323538 7C C9 03 A6 */ mtctr r6 +lbl_803278DC: +/* 803278DC 0032353C 7D 06 38 30 */ slw r6, r8, r7 +/* 803278E0 00323540 7C C6 50 39 */ and. r6, r6, r10 +/* 803278E4 00323544 41 82 00 08 */ beq lbl_803278EC +/* 803278E8 00323548 39 29 00 01 */ addi r9, r9, 1 +lbl_803278EC: +/* 803278EC 0032354C 38 E7 00 01 */ addi r7, r7, 1 +/* 803278F0 00323550 7D 06 38 30 */ slw r6, r8, r7 +/* 803278F4 00323554 7C C6 50 39 */ and. r6, r6, r10 +/* 803278F8 00323558 41 82 00 08 */ beq lbl_80327900 +/* 803278FC 0032355C 39 29 00 01 */ addi r9, r9, 1 +lbl_80327900: +/* 80327900 00323560 38 E7 00 01 */ addi r7, r7, 1 +/* 80327904 00323564 7D 06 38 30 */ slw r6, r8, r7 +/* 80327908 00323568 7C C6 50 39 */ and. r6, r6, r10 +/* 8032790C 0032356C 41 82 00 08 */ beq lbl_80327914 +/* 80327910 00323570 39 29 00 01 */ addi r9, r9, 1 +lbl_80327914: +/* 80327914 00323574 38 E7 00 01 */ addi r7, r7, 1 +/* 80327918 00323578 7D 06 38 30 */ slw r6, r8, r7 +/* 8032791C 0032357C 7C C6 50 39 */ and. r6, r6, r10 +/* 80327920 00323580 41 82 00 08 */ beq lbl_80327928 +/* 80327924 00323584 39 29 00 01 */ addi r9, r9, 1 +lbl_80327928: +/* 80327928 00323588 38 E7 00 01 */ addi r7, r7, 1 +/* 8032792C 0032358C 7D 06 38 30 */ slw r6, r8, r7 +/* 80327930 00323590 7C C6 50 39 */ and. r6, r6, r10 +/* 80327934 00323594 41 82 00 08 */ beq lbl_8032793C +/* 80327938 00323598 39 29 00 01 */ addi r9, r9, 1 +lbl_8032793C: +/* 8032793C 0032359C 38 E7 00 01 */ addi r7, r7, 1 +/* 80327940 003235A0 7D 06 38 30 */ slw r6, r8, r7 +/* 80327944 003235A4 7C C6 50 39 */ and. r6, r6, r10 +/* 80327948 003235A8 41 82 00 08 */ beq lbl_80327950 +/* 8032794C 003235AC 39 29 00 01 */ addi r9, r9, 1 +lbl_80327950: +/* 80327950 003235B0 38 E7 00 01 */ addi r7, r7, 1 +/* 80327954 003235B4 7D 06 38 30 */ slw r6, r8, r7 +/* 80327958 003235B8 7C C6 50 39 */ and. r6, r6, r10 +/* 8032795C 003235BC 41 82 00 08 */ beq lbl_80327964 +/* 80327960 003235C0 39 29 00 01 */ addi r9, r9, 1 +lbl_80327964: +/* 80327964 003235C4 38 E7 00 01 */ addi r7, r7, 1 +/* 80327968 003235C8 7D 06 38 30 */ slw r6, r8, r7 +/* 8032796C 003235CC 7C C6 50 39 */ and. r6, r6, r10 +/* 80327970 003235D0 41 82 00 08 */ beq lbl_80327978 +/* 80327974 003235D4 39 29 00 01 */ addi r9, r9, 1 +lbl_80327978: +/* 80327978 003235D8 38 E7 00 01 */ addi r7, r7, 1 +/* 8032797C 003235DC 42 00 FF 60 */ bdnz lbl_803278DC +/* 80327980 003235E0 2C 09 FF FF */ cmpwi r9, -1 +/* 80327984 003235E4 40 82 00 10 */ bne lbl_80327994 +/* 80327988 003235E8 38 C0 00 00 */ li r6, 0 +/* 8032798C 003235EC 98 CB 00 0E */ stb r6, 0xe(r11) +/* 80327990 003235F0 48 00 00 08 */ b lbl_80327998 +lbl_80327994: +/* 80327994 003235F4 99 2B 00 0E */ stb r9, 0xe(r11) +lbl_80327998: +/* 80327998 003235F8 38 C4 FF FF */ addi r6, r4, -1 +/* 8032799C 003235FC 7C 03 30 00 */ cmpw r3, r6 +/* 803279A0 00323600 40 80 01 A8 */ bge lbl_80327B48 +/* 803279A4 00323604 7C C3 20 50 */ subf r6, r3, r4 +/* 803279A8 00323608 54 7F 08 3C */ slwi r31, r3, 1 +/* 803279AC 0032360C 37 C6 FF FF */ addic. r30, r6, -1 +/* 803279B0 00323610 39 60 00 00 */ li r11, 0 +/* 803279B4 00323614 38 C0 00 00 */ li r6, 0 +/* 803279B8 00323618 39 80 00 00 */ li r12, 0 +/* 803279BC 0032361C 40 81 01 8C */ ble lbl_80327B48 +/* 803279C0 00323620 57 C7 F8 7F */ rlwinm. r7, r30, 0x1f, 1, 0x1f +/* 803279C4 00323624 7C E9 03 A6 */ mtctr r7 +/* 803279C8 00323628 41 82 01 00 */ beq lbl_80327AC8 +lbl_803279CC: +/* 803279CC 0032362C 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 803279D0 00323630 7D 4B 02 14 */ add r10, r11, r0 +/* 803279D4 00323634 7D 2C FA 14 */ add r9, r12, r31 +/* 803279D8 00323638 7D 06 1A 14 */ add r8, r6, r3 +/* 803279DC 0032363C 7F A7 52 14 */ add r29, r7, r10 +/* 803279E0 00323640 39 6B 00 04 */ addi r11, r11, 4 +/* 803279E4 00323644 80 FD 00 28 */ lwz r7, 0x28(r29) +/* 803279E8 00323648 39 8C 00 02 */ addi r12, r12, 2 +/* 803279EC 0032364C 38 C6 00 01 */ addi r6, r6, 1 +/* 803279F0 00323650 90 FD 00 24 */ stw r7, 0x24(r29) +/* 803279F4 00323654 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 803279F8 00323658 7F A7 4A 14 */ add r29, r7, r9 +/* 803279FC 0032365C A0 FD 00 A6 */ lhz r7, 0xa6(r29) +/* 80327A00 00323660 B0 FD 00 A4 */ sth r7, 0xa4(r29) +/* 80327A04 00323664 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A08 00323668 7F A7 52 14 */ add r29, r7, r10 +/* 80327A0C 0032366C 80 FD 00 FC */ lwz r7, 0xfc(r29) +/* 80327A10 00323670 90 FD 00 F8 */ stw r7, 0xf8(r29) +/* 80327A14 00323674 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A18 00323678 7F A7 52 14 */ add r29, r7, r10 +/* 80327A1C 0032367C 7D 4B 02 14 */ add r10, r11, r0 +/* 80327A20 00323680 80 FD 02 24 */ lwz r7, 0x224(r29) +/* 80327A24 00323684 39 6B 00 04 */ addi r11, r11, 4 +/* 80327A28 00323688 90 FD 02 20 */ stw r7, 0x220(r29) +/* 80327A2C 0032368C 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A30 00323690 7F A7 4A 14 */ add r29, r7, r9 +/* 80327A34 00323694 7D 2C FA 14 */ add r9, r12, r31 +/* 80327A38 00323698 A0 FD 02 A2 */ lhz r7, 0x2a2(r29) +/* 80327A3C 0032369C 39 8C 00 02 */ addi r12, r12, 2 +/* 80327A40 003236A0 B0 FD 02 A0 */ sth r7, 0x2a0(r29) +/* 80327A44 003236A4 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A48 003236A8 7F A7 42 14 */ add r29, r7, r8 +/* 80327A4C 003236AC 7D 06 1A 14 */ add r8, r6, r3 +/* 80327A50 003236B0 88 FD 02 E1 */ lbz r7, 0x2e1(r29) +/* 80327A54 003236B4 38 C6 00 01 */ addi r6, r6, 1 +/* 80327A58 003236B8 98 FD 02 E0 */ stb r7, 0x2e0(r29) +/* 80327A5C 003236BC 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A60 003236C0 7F A7 52 14 */ add r29, r7, r10 +/* 80327A64 003236C4 80 FD 00 28 */ lwz r7, 0x28(r29) +/* 80327A68 003236C8 90 FD 00 24 */ stw r7, 0x24(r29) +/* 80327A6C 003236CC 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A70 003236D0 7F A7 4A 14 */ add r29, r7, r9 +/* 80327A74 003236D4 A0 FD 00 A6 */ lhz r7, 0xa6(r29) +/* 80327A78 003236D8 B0 FD 00 A4 */ sth r7, 0xa4(r29) +/* 80327A7C 003236DC 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A80 003236E0 7F A7 52 14 */ add r29, r7, r10 +/* 80327A84 003236E4 80 FD 00 FC */ lwz r7, 0xfc(r29) +/* 80327A88 003236E8 90 FD 00 F8 */ stw r7, 0xf8(r29) +/* 80327A8C 003236EC 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327A90 003236F0 7F A7 52 14 */ add r29, r7, r10 +/* 80327A94 003236F4 80 FD 02 24 */ lwz r7, 0x224(r29) +/* 80327A98 003236F8 90 FD 02 20 */ stw r7, 0x220(r29) +/* 80327A9C 003236FC 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327AA0 00323700 7F A7 4A 14 */ add r29, r7, r9 +/* 80327AA4 00323704 A0 FD 02 A2 */ lhz r7, 0x2a2(r29) +/* 80327AA8 00323708 B0 FD 02 A0 */ sth r7, 0x2a0(r29) +/* 80327AAC 0032370C 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327AB0 00323710 7F A7 42 14 */ add r29, r7, r8 +/* 80327AB4 00323714 88 FD 02 E1 */ lbz r7, 0x2e1(r29) +/* 80327AB8 00323718 98 FD 02 E0 */ stb r7, 0x2e0(r29) +/* 80327ABC 0032371C 42 00 FF 10 */ bdnz lbl_803279CC +/* 80327AC0 00323720 73 DE 00 01 */ andi. r30, r30, 1 +/* 80327AC4 00323724 41 82 00 84 */ beq lbl_80327B48 +lbl_80327AC8: +/* 80327AC8 00323728 7F C9 03 A6 */ mtctr r30 +lbl_80327ACC: +/* 80327ACC 0032372C 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327AD0 00323730 7D 4B 02 14 */ add r10, r11, r0 +/* 80327AD4 00323734 7D 2C FA 14 */ add r9, r12, r31 +/* 80327AD8 00323738 7D 06 1A 14 */ add r8, r6, r3 +/* 80327ADC 0032373C 7F A7 52 14 */ add r29, r7, r10 +/* 80327AE0 00323740 39 6B 00 04 */ addi r11, r11, 4 +/* 80327AE4 00323744 80 FD 00 28 */ lwz r7, 0x28(r29) +/* 80327AE8 00323748 39 8C 00 02 */ addi r12, r12, 2 +/* 80327AEC 0032374C 38 C6 00 01 */ addi r6, r6, 1 +/* 80327AF0 00323750 90 FD 00 24 */ stw r7, 0x24(r29) +/* 80327AF4 00323754 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327AF8 00323758 7F A7 4A 14 */ add r29, r7, r9 +/* 80327AFC 0032375C A0 FD 00 A6 */ lhz r7, 0xa6(r29) +/* 80327B00 00323760 B0 FD 00 A4 */ sth r7, 0xa4(r29) +/* 80327B04 00323764 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327B08 00323768 7F A7 52 14 */ add r29, r7, r10 +/* 80327B0C 0032376C 80 FD 00 FC */ lwz r7, 0xfc(r29) +/* 80327B10 00323770 90 FD 00 F8 */ stw r7, 0xf8(r29) +/* 80327B14 00323774 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327B18 00323778 7F A7 52 14 */ add r29, r7, r10 +/* 80327B1C 0032377C 80 FD 02 24 */ lwz r7, 0x224(r29) +/* 80327B20 00323780 90 FD 02 20 */ stw r7, 0x220(r29) +/* 80327B24 00323784 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327B28 00323788 7F A7 4A 14 */ add r29, r7, r9 +/* 80327B2C 0032378C A0 FD 02 A2 */ lhz r7, 0x2a2(r29) +/* 80327B30 00323790 B0 FD 02 A0 */ sth r7, 0x2a0(r29) +/* 80327B34 00323794 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80327B38 00323798 7F A7 42 14 */ add r29, r7, r8 +/* 80327B3C 0032379C 88 FD 02 E1 */ lbz r7, 0x2e1(r29) +/* 80327B40 003237A0 98 FD 02 E0 */ stb r7, 0x2e0(r29) +/* 80327B44 003237A4 42 00 FF 88 */ bdnz lbl_80327ACC +lbl_80327B48: +/* 80327B48 003237A8 2C 04 00 00 */ cmpwi r4, 0 +/* 80327B4C 003237AC 40 81 00 5C */ ble lbl_80327BA8 +/* 80327B50 003237B0 38 E4 FF FF */ addi r7, r4, -1 +/* 80327B54 003237B4 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327B58 003237B8 54 E8 10 3A */ slwi r8, r7, 2 +/* 80327B5C 003237BC 38 C0 00 00 */ li r6, 0 +/* 80327B60 003237C0 7C 60 42 14 */ add r3, r0, r8 +/* 80327B64 003237C4 54 E7 08 3C */ slwi r7, r7, 1 +/* 80327B68 003237C8 90 C3 00 24 */ stw r6, 0x24(r3) +/* 80327B6C 003237CC 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327B70 003237D0 7C 60 3A 14 */ add r3, r0, r7 +/* 80327B74 003237D4 B0 C3 00 A4 */ sth r6, 0xa4(r3) +/* 80327B78 003237D8 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327B7C 003237DC 7C 60 42 14 */ add r3, r0, r8 +/* 80327B80 003237E0 90 C3 00 F8 */ stw r6, 0xf8(r3) +/* 80327B84 003237E4 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327B88 003237E8 7C 60 42 14 */ add r3, r0, r8 +/* 80327B8C 003237EC 90 C3 02 20 */ stw r6, 0x220(r3) +/* 80327B90 003237F0 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327B94 003237F4 7C 60 3A 14 */ add r3, r0, r7 +/* 80327B98 003237F8 B0 C3 02 A0 */ sth r6, 0x2a0(r3) +/* 80327B9C 003237FC 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327BA0 00323800 7C 64 02 14 */ add r3, r4, r0 +/* 80327BA4 00323804 98 C3 02 DF */ stb r6, 0x2df(r3) +lbl_80327BA8: +/* 80327BA8 00323808 7C A3 2B 78 */ mr r3, r5 +lbl_80327BAC: +/* 80327BAC 0032380C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80327BB0 00323810 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80327BB4 00323814 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80327BB8 00323818 38 21 00 20 */ addi r1, r1, 0x20 +/* 80327BBC 0032381C 4E 80 00 20 */ blr + +.global func_80327BC0 +func_80327BC0: +/* 80327BC0 00323820 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327BC4 00323824 2C 03 00 00 */ cmpwi r3, 0 +/* 80327BC8 00323828 41 82 00 0C */ beq lbl_80327BD4 +/* 80327BCC 0032382C 88 63 00 0D */ lbz r3, 0xd(r3) +/* 80327BD0 00323830 4E 80 00 20 */ blr +lbl_80327BD4: +/* 80327BD4 00323834 38 60 00 00 */ li r3, 0 +/* 80327BD8 00323838 4E 80 00 20 */ blr + +.global func_80327BDC +func_80327BDC: +/* 80327BDC 0032383C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327BE0 00323840 2C 03 00 00 */ cmpwi r3, 0 +/* 80327BE4 00323844 41 82 00 0C */ beq lbl_80327BF0 +/* 80327BE8 00323848 88 63 00 0E */ lbz r3, 0xe(r3) +/* 80327BEC 0032384C 4E 80 00 20 */ blr +lbl_80327BF0: +/* 80327BF0 00323850 38 60 00 00 */ li r3, 0 +/* 80327BF4 00323854 4E 80 00 20 */ blr + +.global func_80327BF8 +func_80327BF8: +/* 80327BF8 00323858 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80327BFC 0032385C 38 00 00 04 */ li r0, 4 +/* 80327C00 00323860 38 C0 FF FF */ li r6, -1 +/* 80327C04 00323864 38 E0 00 00 */ li r7, 0 +/* 80327C08 00323868 80 85 03 00 */ lwz r4, 0x300(r5) +/* 80327C0C 0032386C 38 60 00 01 */ li r3, 1 +/* 80327C10 00323870 7C 09 03 A6 */ mtctr r0 +lbl_80327C14: +/* 80327C14 00323874 7C 60 38 30 */ slw r0, r3, r7 +/* 80327C18 00323878 7C 00 20 39 */ and. r0, r0, r4 +/* 80327C1C 0032387C 41 82 00 08 */ beq lbl_80327C24 +/* 80327C20 00323880 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327C24: +/* 80327C24 00323884 38 E7 00 01 */ addi r7, r7, 1 +/* 80327C28 00323888 7C 60 38 30 */ slw r0, r3, r7 +/* 80327C2C 0032388C 7C 00 20 39 */ and. r0, r0, r4 +/* 80327C30 00323890 41 82 00 08 */ beq lbl_80327C38 +/* 80327C34 00323894 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327C38: +/* 80327C38 00323898 38 E7 00 01 */ addi r7, r7, 1 +/* 80327C3C 0032389C 7C 60 38 30 */ slw r0, r3, r7 +/* 80327C40 003238A0 7C 00 20 39 */ and. r0, r0, r4 +/* 80327C44 003238A4 41 82 00 08 */ beq lbl_80327C4C +/* 80327C48 003238A8 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327C4C: +/* 80327C4C 003238AC 38 E7 00 01 */ addi r7, r7, 1 +/* 80327C50 003238B0 7C 60 38 30 */ slw r0, r3, r7 +/* 80327C54 003238B4 7C 00 20 39 */ and. r0, r0, r4 +/* 80327C58 003238B8 41 82 00 08 */ beq lbl_80327C60 +/* 80327C5C 003238BC 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327C60: +/* 80327C60 003238C0 38 E7 00 01 */ addi r7, r7, 1 +/* 80327C64 003238C4 7C 60 38 30 */ slw r0, r3, r7 +/* 80327C68 003238C8 7C 00 20 39 */ and. r0, r0, r4 +/* 80327C6C 003238CC 41 82 00 08 */ beq lbl_80327C74 +/* 80327C70 003238D0 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327C74: +/* 80327C74 003238D4 38 E7 00 01 */ addi r7, r7, 1 +/* 80327C78 003238D8 7C 60 38 30 */ slw r0, r3, r7 +/* 80327C7C 003238DC 7C 00 20 39 */ and. r0, r0, r4 +/* 80327C80 003238E0 41 82 00 08 */ beq lbl_80327C88 +/* 80327C84 003238E4 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327C88: +/* 80327C88 003238E8 38 E7 00 01 */ addi r7, r7, 1 +/* 80327C8C 003238EC 7C 60 38 30 */ slw r0, r3, r7 +/* 80327C90 003238F0 7C 00 20 39 */ and. r0, r0, r4 +/* 80327C94 003238F4 41 82 00 08 */ beq lbl_80327C9C +/* 80327C98 003238F8 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327C9C: +/* 80327C9C 003238FC 38 E7 00 01 */ addi r7, r7, 1 +/* 80327CA0 00323900 7C 60 38 30 */ slw r0, r3, r7 +/* 80327CA4 00323904 7C 00 20 39 */ and. r0, r0, r4 +/* 80327CA8 00323908 41 82 00 08 */ beq lbl_80327CB0 +/* 80327CAC 0032390C 38 C6 00 01 */ addi r6, r6, 1 +lbl_80327CB0: +/* 80327CB0 00323910 38 E7 00 01 */ addi r7, r7, 1 +/* 80327CB4 00323914 42 00 FF 60 */ bdnz lbl_80327C14 +/* 80327CB8 00323918 2C 06 FF FF */ cmpwi r6, -1 +/* 80327CBC 0032391C 40 82 00 10 */ bne lbl_80327CCC +/* 80327CC0 00323920 38 00 00 00 */ li r0, 0 +/* 80327CC4 00323924 98 05 00 0E */ stb r0, 0xe(r5) +/* 80327CC8 00323928 4E 80 00 20 */ blr +lbl_80327CCC: +/* 80327CCC 0032392C 98 C5 00 0E */ stb r6, 0xe(r5) +/* 80327CD0 00323930 4E 80 00 20 */ blr + +.global func_80327CD4 +func_80327CD4: +/* 80327CD4 00323934 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80327CD8 00323938 2C 04 00 00 */ cmpwi r4, 0 +/* 80327CDC 0032393C 40 82 00 0C */ bne lbl_80327CE8 +/* 80327CE0 00323940 38 60 00 00 */ li r3, 0 +/* 80327CE4 00323944 4E 80 00 20 */ blr +lbl_80327CE8: +/* 80327CE8 00323948 38 04 02 E0 */ addi r0, r4, 0x2e0 +/* 80327CEC 0032394C 90 03 00 00 */ stw r0, 0(r3) +/* 80327CF0 00323950 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327CF4 00323954 88 63 00 0D */ lbz r3, 0xd(r3) +/* 80327CF8 00323958 38 63 00 01 */ addi r3, r3, 1 +/* 80327CFC 0032395C 4E 80 00 20 */ blr + +.global func_80327D00 +func_80327D00: +/* 80327D00 00323960 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80327D04 00323964 7C 08 02 A6 */ mflr r0 +/* 80327D08 00323968 90 01 00 14 */ stw r0, 0x14(r1) +/* 80327D0C 0032396C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80327D10 00323970 93 C1 00 08 */ stw r30, 8(r1) +/* 80327D14 00323974 7C 7E 1B 78 */ mr r30, r3 +/* 80327D18 00323978 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327D1C 0032397C 2C 00 00 00 */ cmpwi r0, 0 +/* 80327D20 00323980 40 82 00 0C */ bne lbl_80327D2C +/* 80327D24 00323984 38 60 00 00 */ li r3, 0 +/* 80327D28 00323988 48 00 00 78 */ b lbl_80327DA0 +lbl_80327D2C: +/* 80327D2C 0032398C 3F E0 80 61 */ lis r31, lbl_806104C0@ha +/* 80327D30 00323990 38 80 00 00 */ li r4, 0 +/* 80327D34 00323994 38 7F 04 C0 */ addi r3, r31, lbl_806104C0@l +/* 80327D38 00323998 38 A0 00 20 */ li r5, 0x20 +/* 80327D3C 0032399C 4B CD C3 C9 */ bl memset +/* 80327D40 003239A0 81 0D B0 68 */ lwz r8, lbl_80640328-_SDA_BASE_(r13) +/* 80327D44 003239A4 38 DF 04 C0 */ addi r6, r31, 0x4c0 +/* 80327D48 003239A8 39 20 00 00 */ li r9, 0 +/* 80327D4C 003239AC 38 60 00 01 */ li r3, 1 +/* 80327D50 003239B0 7D 05 43 78 */ mr r5, r8 +/* 80327D54 003239B4 48 00 00 28 */ b lbl_80327D7C +lbl_80327D58: +/* 80327D58 003239B8 88 E5 02 E0 */ lbz r7, 0x2e0(r5) +/* 80327D5C 003239BC 80 88 03 00 */ lwz r4, 0x300(r8) +/* 80327D60 003239C0 7C 60 38 30 */ slw r0, r3, r7 +/* 80327D64 003239C4 7C 80 00 39 */ and. r0, r4, r0 +/* 80327D68 003239C8 41 82 00 20 */ beq lbl_80327D88 +/* 80327D6C 003239CC 98 E6 00 00 */ stb r7, 0(r6) +/* 80327D70 003239D0 38 A5 00 01 */ addi r5, r5, 1 +/* 80327D74 003239D4 38 C6 00 01 */ addi r6, r6, 1 +/* 80327D78 003239D8 39 29 00 01 */ addi r9, r9, 1 +lbl_80327D7C: +/* 80327D7C 003239DC 88 08 00 0E */ lbz r0, 0xe(r8) +/* 80327D80 003239E0 7C 09 00 00 */ cmpw r9, r0 +/* 80327D84 003239E4 40 81 FF D4 */ ble lbl_80327D58 +lbl_80327D88: +/* 80327D88 003239E8 3C 60 80 61 */ lis r3, lbl_806104C0@ha +/* 80327D8C 003239EC 38 63 04 C0 */ addi r3, r3, lbl_806104C0@l +/* 80327D90 003239F0 90 7E 00 00 */ stw r3, 0(r30) +/* 80327D94 003239F4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327D98 003239F8 88 63 00 0E */ lbz r3, 0xe(r3) +/* 80327D9C 003239FC 38 63 00 01 */ addi r3, r3, 1 +lbl_80327DA0: +/* 80327DA0 00323A00 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80327DA4 00323A04 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80327DA8 00323A08 83 C1 00 08 */ lwz r30, 8(r1) +/* 80327DAC 00323A0C 7C 08 03 A6 */ mtlr r0 +/* 80327DB0 00323A10 38 21 00 10 */ addi r1, r1, 0x10 +/* 80327DB4 00323A14 4E 80 00 20 */ blr + +.global func_80327DB8 +func_80327DB8: +/* 80327DB8 00323A18 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80327DBC 00323A1C 7C 08 02 A6 */ mflr r0 +/* 80327DC0 00323A20 90 01 00 44 */ stw r0, 0x44(r1) +/* 80327DC4 00323A24 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327DC8 00323A28 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80327DCC 00323A2C 28 00 00 02 */ cmplwi r0, 2 +/* 80327DD0 00323A30 41 82 00 0C */ beq lbl_80327DDC +/* 80327DD4 00323A34 38 60 00 00 */ li r3, 0 +/* 80327DD8 00323A38 48 00 00 A4 */ b lbl_80327E7C +lbl_80327DDC: +/* 80327DDC 00323A3C 88 C3 00 16 */ lbz r6, 0x16(r3) +/* 80327DE0 00323A40 38 61 00 08 */ addi r3, r1, 8 +/* 80327DE4 00323A44 38 80 00 0C */ li r4, 0xc +/* 80327DE8 00323A48 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 80327DEC 00323A4C 38 C6 00 01 */ addi r6, r6, 1 +/* 80327DF0 00323A50 4C C6 31 82 */ crclr 6 +/* 80327DF4 00323A54 4B EA 4C 31 */ bl snprintf +/* 80327DF8 00323A58 38 81 00 08 */ addi r4, r1, 8 +/* 80327DFC 00323A5C 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80327E00 00323A60 38 6D 8D AC */ addi r3, r13, lbl_8063E06C-_SDA_BASE_ +/* 80327E04 00323A64 38 C0 00 2F */ li r6, 0x2f +/* 80327E08 00323A68 4B FF 6F E5 */ bl func_8031EDEC +/* 80327E0C 00323A6C 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80327E10 00323A70 38 61 00 08 */ addi r3, r1, 8 +/* 80327E14 00323A74 38 80 00 0C */ li r4, 0xc +/* 80327E18 00323A78 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 80327E1C 00323A7C 88 C6 00 0D */ lbz r6, 0xd(r6) +/* 80327E20 00323A80 38 C6 00 01 */ addi r6, r6, 1 +/* 80327E24 00323A84 4C C6 31 82 */ crclr 6 +/* 80327E28 00323A88 4B EA 4B FD */ bl snprintf +/* 80327E2C 00323A8C 38 81 00 08 */ addi r4, r1, 8 +/* 80327E30 00323A90 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80327E34 00323A94 38 6D 8D B0 */ addi r3, r13, lbl_8063E070-_SDA_BASE_ +/* 80327E38 00323A98 38 C0 00 2F */ li r6, 0x2f +/* 80327E3C 00323A9C 4B FF 70 09 */ bl func_8031EE44 +/* 80327E40 00323AA0 38 61 00 08 */ addi r3, r1, 8 +/* 80327E44 00323AA4 38 80 00 0C */ li r4, 0xc +/* 80327E48 00323AA8 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 80327E4C 00323AAC 38 C0 00 03 */ li r6, 3 +/* 80327E50 00323AB0 4C C6 31 82 */ crclr 6 +/* 80327E54 00323AB4 4B EA 4B D1 */ bl snprintf +/* 80327E58 00323AB8 38 81 00 08 */ addi r4, r1, 8 +/* 80327E5C 00323ABC 38 A1 00 18 */ addi r5, r1, 0x18 +/* 80327E60 00323AC0 38 6D 8D B4 */ addi r3, r13, lbl_8063E074-_SDA_BASE_ +/* 80327E64 00323AC4 38 C0 00 2F */ li r6, 0x2f +/* 80327E68 00323AC8 4B FF 6F DD */ bl func_8031EE44 +/* 80327E6C 00323ACC 38 81 00 18 */ addi r4, r1, 0x18 +/* 80327E70 00323AD0 38 60 00 06 */ li r3, 6 +/* 80327E74 00323AD4 38 A0 00 00 */ li r5, 0 +/* 80327E78 00323AD8 4B FF 7D D9 */ bl func_8031FC50 +lbl_80327E7C: +/* 80327E7C 00323ADC 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80327E80 00323AE0 7C 08 03 A6 */ mtlr r0 +/* 80327E84 00323AE4 38 21 00 40 */ addi r1, r1, 0x40 +/* 80327E88 00323AE8 4E 80 00 20 */ blr + +.global func_80327E8C +func_80327E8C: +/* 80327E8C 00323AEC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80327E90 00323AF0 7C 08 02 A6 */ mflr r0 +/* 80327E94 00323AF4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80327E98 00323AF8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80327E9C 00323AFC 3B E0 00 00 */ li r31, 0 +/* 80327EA0 00323B00 93 C1 00 08 */ stw r30, 8(r1) +/* 80327EA4 00323B04 80 8D B0 60 */ lwz r4, lbl_80640320-_SDA_BASE_(r13) +/* 80327EA8 00323B08 93 ED B0 68 */ stw r31, lbl_80640328-_SDA_BASE_(r13) +/* 80327EAC 00323B0C 2C 04 00 00 */ cmpwi r4, 0 +/* 80327EB0 00323B10 41 82 00 14 */ beq lbl_80327EC4 +/* 80327EB4 00323B14 38 60 00 04 */ li r3, 4 +/* 80327EB8 00323B18 38 A0 00 00 */ li r5, 0 +/* 80327EBC 00323B1C 4B FF 4A CD */ bl func_8031C988 +/* 80327EC0 00323B20 93 ED B0 60 */ stw r31, lbl_80640320-_SDA_BASE_(r13) +lbl_80327EC4: +/* 80327EC4 00323B24 3F C0 80 61 */ lis r30, lbl_8060FD88@ha +/* 80327EC8 00323B28 3B E0 00 00 */ li r31, 0 +/* 80327ECC 00323B2C 3B DE FD 88 */ addi r30, r30, lbl_8060FD88@l +lbl_80327ED0: +/* 80327ED0 00323B30 80 9E 00 04 */ lwz r4, 4(r30) +/* 80327ED4 00323B34 2C 04 00 00 */ cmpwi r4, 0 +/* 80327ED8 00323B38 41 82 00 10 */ beq lbl_80327EE8 +/* 80327EDC 00323B3C 38 60 00 04 */ li r3, 4 +/* 80327EE0 00323B40 38 A0 00 00 */ li r5, 0 +/* 80327EE4 00323B44 4B FF 4A A5 */ bl func_8031C988 +lbl_80327EE8: +/* 80327EE8 00323B48 3B FF 00 01 */ addi r31, r31, 1 +/* 80327EEC 00323B4C 3B DE 00 0C */ addi r30, r30, 0xc +/* 80327EF0 00323B50 2C 1F 00 9A */ cmpwi r31, 0x9a +/* 80327EF4 00323B54 41 80 FF DC */ blt lbl_80327ED0 +/* 80327EF8 00323B58 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 80327EFC 00323B5C 38 80 00 00 */ li r4, 0 +/* 80327F00 00323B60 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 80327F04 00323B64 38 A0 07 38 */ li r5, 0x738 +/* 80327F08 00323B68 4B CD C1 FD */ bl memset +/* 80327F0C 00323B6C 80 8D B0 64 */ lwz r4, lbl_80640324-_SDA_BASE_(r13) +/* 80327F10 00323B70 2C 04 00 00 */ cmpwi r4, 0 +/* 80327F14 00323B74 41 82 00 18 */ beq lbl_80327F2C +/* 80327F18 00323B78 38 60 00 04 */ li r3, 4 +/* 80327F1C 00323B7C 38 A0 00 00 */ li r5, 0 +/* 80327F20 00323B80 4B FF 4A 69 */ bl func_8031C988 +/* 80327F24 00323B84 38 00 00 00 */ li r0, 0 +/* 80327F28 00323B88 90 0D B0 64 */ stw r0, lbl_80640324-_SDA_BASE_(r13) +lbl_80327F2C: +/* 80327F2C 00323B8C 38 00 00 00 */ li r0, 0 +/* 80327F30 00323B90 38 6D B0 6C */ addi r3, r13, lbl_8064032C-_SDA_BASE_ +/* 80327F34 00323B94 98 0D B0 6C */ stb r0, lbl_8064032C-_SDA_BASE_(r13) +/* 80327F38 00323B98 98 03 00 01 */ stb r0, 1(r3) +/* 80327F3C 00323B9C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80327F40 00323BA0 83 C1 00 08 */ lwz r30, 8(r1) +/* 80327F44 00323BA4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80327F48 00323BA8 7C 08 03 A6 */ mtlr r0 +/* 80327F4C 00323BAC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80327F50 00323BB0 4E 80 00 20 */ blr + +.global func_80327F54 +func_80327F54: +/* 80327F54 00323BB4 80 0D B0 68 */ lwz r0, lbl_80640328-_SDA_BASE_(r13) +/* 80327F58 00323BB8 7C 00 00 34 */ cntlzw r0, r0 +/* 80327F5C 00323BBC 54 03 D9 7E */ srwi r3, r0, 5 +/* 80327F60 00323BC0 4E 80 00 20 */ blr + +.global func_80327F64 +func_80327F64: +/* 80327F64 00323BC4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80327F68 00323BC8 7C 08 02 A6 */ mflr r0 +/* 80327F6C 00323BCC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80327F70 00323BD0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80327F74 00323BD4 3B E0 00 00 */ li r31, 0 +/* 80327F78 00323BD8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80327F7C 00323BDC 7C 7E 1B 78 */ mr r30, r3 +/* 80327F80 00323BE0 3C 60 00 01 */ lis r3, 1 +/* 80327F84 00323BE4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80327F88 00323BE8 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80327F8C 00323BEC 9B E4 00 0C */ stb r31, 0xc(r4) +/* 80327F90 00323BF0 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 80327F94 00323BF4 9B E4 01 80 */ stb r31, 0x180(r4) +/* 80327F98 00323BF8 83 AD B0 68 */ lwz r29, lbl_80640328-_SDA_BASE_(r13) +/* 80327F9C 00323BFC 4B FF 70 91 */ bl func_8031F02C +/* 80327FA0 00323C00 B0 7D 01 82 */ sth r3, 0x182(r29) +/* 80327FA4 00323C04 38 80 00 00 */ li r4, 0 +/* 80327FA8 00323C08 38 A0 00 98 */ li r5, 0x98 +/* 80327FAC 00323C0C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FB0 00323C10 93 E3 01 84 */ stw r31, 0x184(r3) +/* 80327FB4 00323C14 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FB8 00323C18 93 E3 01 8C */ stw r31, 0x18c(r3) +/* 80327FBC 00323C1C 93 E3 01 88 */ stw r31, 0x188(r3) +/* 80327FC0 00323C20 93 E3 01 94 */ stw r31, 0x194(r3) +/* 80327FC4 00323C24 93 E3 01 90 */ stw r31, 0x190(r3) +/* 80327FC8 00323C28 9B E3 01 A8 */ stb r31, 0x1a8(r3) +/* 80327FCC 00323C2C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FD0 00323C30 9B E3 01 AD */ stb r31, 0x1ad(r3) +/* 80327FD4 00323C34 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FD8 00323C38 9B E3 01 AE */ stb r31, 0x1ae(r3) +/* 80327FDC 00323C3C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FE0 00323C40 9B E3 01 AF */ stb r31, 0x1af(r3) +/* 80327FE4 00323C44 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FE8 00323C48 9B E3 01 B0 */ stb r31, 0x1b0(r3) +/* 80327FEC 00323C4C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FF0 00323C50 9B E3 01 AB */ stb r31, 0x1ab(r3) +/* 80327FF4 00323C54 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80327FF8 00323C58 9B E3 01 AC */ stb r31, 0x1ac(r3) +/* 80327FFC 00323C5C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328000 00323C60 B3 E3 01 B6 */ sth r31, 0x1b6(r3) +/* 80328004 00323C64 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328008 00323C68 B3 E3 01 B8 */ sth r31, 0x1b8(r3) +/* 8032800C 00323C6C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328010 00323C70 93 E3 01 BC */ stw r31, 0x1bc(r3) +/* 80328014 00323C74 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80328018 00323C78 93 E6 01 F4 */ stw r31, 0x1f4(r6) +/* 8032801C 00323C7C 38 66 03 E0 */ addi r3, r6, 0x3e0 +/* 80328020 00323C80 93 E6 01 F0 */ stw r31, 0x1f0(r6) +/* 80328024 00323C84 93 E6 02 04 */ stw r31, 0x204(r6) +/* 80328028 00323C88 93 E6 02 00 */ stw r31, 0x200(r6) +/* 8032802C 00323C8C 4B CD C0 D9 */ bl memset +/* 80328030 00323C90 2C 1E 00 02 */ cmpwi r30, 2 +/* 80328034 00323C94 40 82 00 44 */ bne lbl_80328078 +/* 80328038 00323C98 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032803C 00323C9C 88 03 00 0D */ lbz r0, 0xd(r3) +/* 80328040 00323CA0 98 03 00 14 */ stb r0, 0x14(r3) +/* 80328044 00323CA4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328048 00323CA8 88 03 00 15 */ lbz r0, 0x15(r3) +/* 8032804C 00323CAC 28 00 00 03 */ cmplwi r0, 3 +/* 80328050 00323CB0 40 82 00 10 */ bne lbl_80328060 +/* 80328054 00323CB4 38 00 00 01 */ li r0, 1 +/* 80328058 00323CB8 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 8032805C 00323CBC 48 00 01 C8 */ b lbl_80328224 +lbl_80328060: +/* 80328060 00323CC0 88 03 00 15 */ lbz r0, 0x15(r3) +/* 80328064 00323CC4 28 00 00 02 */ cmplwi r0, 2 +/* 80328068 00323CC8 40 82 01 BC */ bne lbl_80328224 +/* 8032806C 00323CCC 38 00 00 0A */ li r0, 0xa +/* 80328070 00323CD0 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 80328074 00323CD4 48 00 01 B0 */ b lbl_80328224 +lbl_80328078: +/* 80328078 00323CD8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032807C 00323CDC 38 80 00 00 */ li r4, 0 +/* 80328080 00323CE0 38 A0 00 80 */ li r5, 0x80 +/* 80328084 00323CE4 9B E3 00 0D */ stb r31, 0xd(r3) +/* 80328088 00323CE8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032808C 00323CEC 9B E3 00 0E */ stb r31, 0xe(r3) +/* 80328090 00323CF0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328094 00323CF4 9B E3 00 14 */ stb r31, 0x14(r3) +/* 80328098 00323CF8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032809C 00323CFC 9B E3 00 17 */ stb r31, 0x17(r3) +/* 803280A0 00323D00 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280A4 00323D04 93 E3 00 20 */ stw r31, 0x20(r3) +/* 803280A8 00323D08 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280AC 00323D0C 93 E3 00 E8 */ stw r31, 0xe8(r3) +/* 803280B0 00323D10 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280B4 00323D14 9B E3 01 A9 */ stb r31, 0x1a9(r3) +/* 803280B8 00323D18 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280BC 00323D1C B3 E3 01 B4 */ sth r31, 0x1b4(r3) +/* 803280C0 00323D20 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280C4 00323D24 93 E3 01 C0 */ stw r31, 0x1c0(r3) +/* 803280C8 00323D28 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280CC 00323D2C 93 E3 01 CC */ stw r31, 0x1cc(r3) +/* 803280D0 00323D30 93 E3 01 C8 */ stw r31, 0x1c8(r3) +/* 803280D4 00323D34 93 E3 01 D0 */ stw r31, 0x1d0(r3) +/* 803280D8 00323D38 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280DC 00323D3C 93 E3 01 DC */ stw r31, 0x1dc(r3) +/* 803280E0 00323D40 93 E3 01 D8 */ stw r31, 0x1d8(r3) +/* 803280E4 00323D44 93 E3 01 E0 */ stw r31, 0x1e0(r3) +/* 803280E8 00323D48 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280EC 00323D4C 93 E3 02 14 */ stw r31, 0x214(r3) +/* 803280F0 00323D50 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280F4 00323D54 93 E3 02 18 */ stw r31, 0x218(r3) +/* 803280F8 00323D58 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803280FC 00323D5C 93 E3 03 00 */ stw r31, 0x300(r3) +/* 80328100 00323D60 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328104 00323D64 38 63 00 24 */ addi r3, r3, 0x24 +/* 80328108 00323D68 4B CD BF FD */ bl memset +/* 8032810C 00323D6C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328110 00323D70 38 80 00 00 */ li r4, 0 +/* 80328114 00323D74 38 A0 00 40 */ li r5, 0x40 +/* 80328118 00323D78 38 63 00 A4 */ addi r3, r3, 0xa4 +/* 8032811C 00323D7C 4B CD BF E9 */ bl memset +/* 80328120 00323D80 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328124 00323D84 38 80 00 00 */ li r4, 0 +/* 80328128 00323D88 38 A0 00 80 */ li r5, 0x80 +/* 8032812C 00323D8C 38 63 00 F8 */ addi r3, r3, 0xf8 +/* 80328130 00323D90 4B CD BF D5 */ bl memset +/* 80328134 00323D94 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328138 00323D98 38 80 00 00 */ li r4, 0 +/* 8032813C 00323D9C 38 A0 00 0C */ li r5, 0xc +/* 80328140 00323DA0 38 63 01 98 */ addi r3, r3, 0x198 +/* 80328144 00323DA4 4B CD BF C1 */ bl memset +/* 80328148 00323DA8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032814C 00323DAC 38 80 00 00 */ li r4, 0 +/* 80328150 00323DB0 38 A0 00 80 */ li r5, 0x80 +/* 80328154 00323DB4 38 63 02 20 */ addi r3, r3, 0x220 +/* 80328158 00323DB8 4B CD BF AD */ bl memset +/* 8032815C 00323DBC 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328160 00323DC0 38 80 00 00 */ li r4, 0 +/* 80328164 00323DC4 38 A0 00 40 */ li r5, 0x40 +/* 80328168 00323DC8 38 63 02 A0 */ addi r3, r3, 0x2a0 +/* 8032816C 00323DCC 4B CD BF 99 */ bl memset +/* 80328170 00323DD0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328174 00323DD4 38 80 00 00 */ li r4, 0 +/* 80328178 00323DD8 38 A0 00 20 */ li r5, 0x20 +/* 8032817C 00323DDC 38 63 02 E0 */ addi r3, r3, 0x2e0 +/* 80328180 00323DE0 4B CD BF 85 */ bl memset +/* 80328184 00323DE4 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328188 00323DE8 38 80 00 00 */ li r4, 0 +/* 8032818C 00323DEC 38 A0 00 84 */ li r5, 0x84 +/* 80328190 00323DF0 38 63 03 58 */ addi r3, r3, 0x358 +/* 80328194 00323DF4 4B CD BF 71 */ bl memset +/* 80328198 00323DF8 2C 1E 00 01 */ cmpwi r30, 1 +/* 8032819C 00323DFC 40 82 00 38 */ bne lbl_803281D4 +/* 803281A0 00323E00 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803281A4 00323E04 88 03 00 15 */ lbz r0, 0x15(r3) +/* 803281A8 00323E08 2C 00 00 00 */ cmpwi r0, 0 +/* 803281AC 00323E0C 40 82 00 10 */ bne lbl_803281BC +/* 803281B0 00323E10 38 00 00 03 */ li r0, 3 +/* 803281B4 00323E14 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 803281B8 00323E18 48 00 00 6C */ b lbl_80328224 +lbl_803281BC: +/* 803281BC 00323E1C 88 03 00 15 */ lbz r0, 0x15(r3) +/* 803281C0 00323E20 28 00 00 01 */ cmplwi r0, 1 +/* 803281C4 00323E24 40 82 00 60 */ bne lbl_80328224 +/* 803281C8 00323E28 38 00 00 04 */ li r0, 4 +/* 803281CC 00323E2C 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 803281D0 00323E30 48 00 00 54 */ b lbl_80328224 +lbl_803281D4: +/* 803281D4 00323E34 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803281D8 00323E38 9B E3 00 15 */ stb r31, 0x15(r3) +/* 803281DC 00323E3C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803281E0 00323E40 9B E3 00 16 */ stb r31, 0x16(r3) +/* 803281E4 00323E44 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803281E8 00323E48 9B E3 00 18 */ stb r31, 0x18(r3) +/* 803281EC 00323E4C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803281F0 00323E50 93 E3 02 1C */ stw r31, 0x21c(r3) +/* 803281F4 00323E54 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803281F8 00323E58 9B E3 01 AA */ stb r31, 0x1aa(r3) +/* 803281FC 00323E5C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328200 00323E60 9B E3 01 B2 */ stb r31, 0x1b2(r3) +/* 80328204 00323E64 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328208 00323E68 9B E3 01 B1 */ stb r31, 0x1b1(r3) +/* 8032820C 00323E6C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328210 00323E70 93 E3 02 0C */ stw r31, 0x20c(r3) +/* 80328214 00323E74 93 E3 02 08 */ stw r31, 0x208(r3) +/* 80328218 00323E78 93 E3 04 80 */ stw r31, 0x480(r3) +/* 8032821C 00323E7C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328220 00323E80 93 E3 04 84 */ stw r31, 0x484(r3) +lbl_80328224: +/* 80328224 00323E84 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80328228 00323E88 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8032822C 00323E8C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80328230 00323E90 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80328234 00323E94 7C 08 03 A6 */ mtlr r0 +/* 80328238 00323E98 38 21 00 20 */ addi r1, r1, 0x20 +/* 8032823C 00323E9C 4E 80 00 20 */ blr + +.global func_80328240 +func_80328240: +/* 80328240 00323EA0 94 21 FE 20 */ stwu r1, -0x1e0(r1) +/* 80328244 00323EA4 7C 08 02 A6 */ mflr r0 +/* 80328248 00323EA8 38 80 00 08 */ li r4, 8 +/* 8032824C 00323EAC 39 20 00 0A */ li r9, 0xa +/* 80328250 00323EB0 90 01 01 E4 */ stw r0, 0x1e4(r1) +/* 80328254 00323EB4 39 00 00 32 */ li r8, 0x32 +/* 80328258 00323EB8 38 E0 00 33 */ li r7, 0x33 +/* 8032825C 00323EBC 38 C0 00 34 */ li r6, 0x34 +/* 80328260 00323EC0 93 E1 01 DC */ stw r31, 0x1dc(r1) +/* 80328264 00323EC4 3F E0 80 44 */ lis r31, lbl_80447FE0@ha +/* 80328268 00323EC8 38 A0 00 35 */ li r5, 0x35 +/* 8032826C 00323ECC 38 00 00 36 */ li r0, 0x36 +/* 80328270 00323ED0 93 C1 01 D8 */ stw r30, 0x1d8(r1) +/* 80328274 00323ED4 3B FF 7F E0 */ addi r31, r31, lbl_80447FE0@l +/* 80328278 00323ED8 3B C0 00 07 */ li r30, 7 +/* 8032827C 00323EDC 93 A1 01 D4 */ stw r29, 0x1d4(r1) +/* 80328280 00323EE0 7C 7D 1B 78 */ mr r29, r3 +/* 80328284 00323EE4 98 81 00 20 */ stb r4, 0x20(r1) +/* 80328288 00323EE8 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 8032828C 00323EEC 99 21 00 21 */ stb r9, 0x21(r1) +/* 80328290 00323EF0 99 01 00 22 */ stb r8, 0x22(r1) +/* 80328294 00323EF4 98 E1 00 23 */ stb r7, 0x23(r1) +/* 80328298 00323EF8 98 C1 00 24 */ stb r6, 0x24(r1) +/* 8032829C 00323EFC 98 A1 00 25 */ stb r5, 0x25(r1) +/* 803282A0 00323F00 98 01 00 26 */ stb r0, 0x26(r1) +/* 803282A4 00323F04 88 04 00 15 */ lbz r0, 0x15(r4) +/* 803282A8 00323F08 2C 00 00 00 */ cmpwi r0, 0 +/* 803282AC 00323F0C 41 82 00 10 */ beq lbl_803282BC +/* 803282B0 00323F10 88 04 00 15 */ lbz r0, 0x15(r4) +/* 803282B4 00323F14 28 00 00 01 */ cmplwi r0, 1 +/* 803282B8 00323F18 40 82 00 D0 */ bne lbl_80328388 +lbl_803282BC: +/* 803282BC 00323F1C 3C 60 80 61 */ lis r3, lbl_8060FD88@ha +/* 803282C0 00323F20 38 00 00 16 */ li r0, 0x16 +/* 803282C4 00323F24 38 63 FD 88 */ addi r3, r3, lbl_8060FD88@l +/* 803282C8 00323F28 38 81 00 27 */ addi r4, r1, 0x27 +/* 803282CC 00323F2C 38 A0 00 00 */ li r5, 0 +/* 803282D0 00323F30 7C 09 03 A6 */ mtctr r0 +lbl_803282D4: +/* 803282D4 00323F34 88 03 00 00 */ lbz r0, 0(r3) +/* 803282D8 00323F38 2C 00 00 00 */ cmpwi r0, 0 +/* 803282DC 00323F3C 41 82 00 10 */ beq lbl_803282EC +/* 803282E0 00323F40 98 04 00 00 */ stb r0, 0(r4) +/* 803282E4 00323F44 38 84 00 01 */ addi r4, r4, 1 +/* 803282E8 00323F48 3B DE 00 01 */ addi r30, r30, 1 +lbl_803282EC: +/* 803282EC 00323F4C 88 03 00 0C */ lbz r0, 0xc(r3) +/* 803282F0 00323F50 2C 00 00 00 */ cmpwi r0, 0 +/* 803282F4 00323F54 41 82 00 10 */ beq lbl_80328304 +/* 803282F8 00323F58 98 04 00 00 */ stb r0, 0(r4) +/* 803282FC 00323F5C 38 84 00 01 */ addi r4, r4, 1 +/* 80328300 00323F60 3B DE 00 01 */ addi r30, r30, 1 +lbl_80328304: +/* 80328304 00323F64 88 03 00 18 */ lbz r0, 0x18(r3) +/* 80328308 00323F68 2C 00 00 00 */ cmpwi r0, 0 +/* 8032830C 00323F6C 41 82 00 10 */ beq lbl_8032831C +/* 80328310 00323F70 98 04 00 00 */ stb r0, 0(r4) +/* 80328314 00323F74 38 84 00 01 */ addi r4, r4, 1 +/* 80328318 00323F78 3B DE 00 01 */ addi r30, r30, 1 +lbl_8032831C: +/* 8032831C 00323F7C 88 03 00 24 */ lbz r0, 0x24(r3) +/* 80328320 00323F80 2C 00 00 00 */ cmpwi r0, 0 +/* 80328324 00323F84 41 82 00 10 */ beq lbl_80328334 +/* 80328328 00323F88 98 04 00 00 */ stb r0, 0(r4) +/* 8032832C 00323F8C 38 84 00 01 */ addi r4, r4, 1 +/* 80328330 00323F90 3B DE 00 01 */ addi r30, r30, 1 +lbl_80328334: +/* 80328334 00323F94 88 03 00 30 */ lbz r0, 0x30(r3) +/* 80328338 00323F98 2C 00 00 00 */ cmpwi r0, 0 +/* 8032833C 00323F9C 41 82 00 10 */ beq lbl_8032834C +/* 80328340 00323FA0 98 04 00 00 */ stb r0, 0(r4) +/* 80328344 00323FA4 38 84 00 01 */ addi r4, r4, 1 +/* 80328348 00323FA8 3B DE 00 01 */ addi r30, r30, 1 +lbl_8032834C: +/* 8032834C 00323FAC 88 03 00 3C */ lbz r0, 0x3c(r3) +/* 80328350 00323FB0 2C 00 00 00 */ cmpwi r0, 0 +/* 80328354 00323FB4 41 82 00 10 */ beq lbl_80328364 +/* 80328358 00323FB8 98 04 00 00 */ stb r0, 0(r4) +/* 8032835C 00323FBC 38 84 00 01 */ addi r4, r4, 1 +/* 80328360 00323FC0 3B DE 00 01 */ addi r30, r30, 1 +lbl_80328364: +/* 80328364 00323FC4 88 03 00 48 */ lbz r0, 0x48(r3) +/* 80328368 00323FC8 2C 00 00 00 */ cmpwi r0, 0 +/* 8032836C 00323FCC 41 82 00 10 */ beq lbl_8032837C +/* 80328370 00323FD0 98 04 00 00 */ stb r0, 0(r4) +/* 80328374 00323FD4 38 84 00 01 */ addi r4, r4, 1 +/* 80328378 00323FD8 3B DE 00 01 */ addi r30, r30, 1 +lbl_8032837C: +/* 8032837C 00323FDC 38 63 00 54 */ addi r3, r3, 0x54 +/* 80328380 00323FE0 38 A5 00 06 */ addi r5, r5, 6 +/* 80328384 00323FE4 42 00 FF 50 */ bdnz lbl_803282D4 +lbl_80328388: +/* 80328388 00323FE8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032838C 00323FEC 80 A3 01 A4 */ lwz r5, 0x1a4(r3) +/* 80328390 00323FF0 2C 05 00 03 */ cmpwi r5, 3 +/* 80328394 00323FF4 41 82 00 20 */ beq lbl_803283B4 +/* 80328398 00323FF8 40 80 00 10 */ bge lbl_803283A8 +/* 8032839C 00323FFC 2C 05 00 02 */ cmpwi r5, 2 +/* 803283A0 00324000 40 80 00 94 */ bge lbl_80328434 +/* 803283A4 00324004 48 00 00 B8 */ b lbl_8032845C +lbl_803283A8: +/* 803283A8 00324008 2C 05 00 06 */ cmpwi r5, 6 +/* 803283AC 0032400C 40 80 00 B0 */ bge lbl_8032845C +/* 803283B0 00324010 48 00 00 84 */ b lbl_80328434 +lbl_803283B4: +/* 803283B4 00324014 83 A3 02 18 */ lwz r29, 0x218(r3) +/* 803283B8 00324018 2C 1D 00 00 */ cmpwi r29, 0 +/* 803283BC 0032401C 40 82 00 78 */ bne lbl_80328434 +/* 803283C0 00324020 89 83 00 15 */ lbz r12, 0x15(r3) +/* 803283C4 00324024 38 9F 01 9C */ addi r4, r31, 0x19c +/* 803283C8 00324028 89 43 00 16 */ lbz r10, 0x16(r3) +/* 803283CC 0032402C 39 7F 01 A8 */ addi r11, r31, 0x1a8 +/* 803283D0 00324030 81 23 02 10 */ lwz r9, 0x210(r3) +/* 803283D4 00324034 38 0D 8D C0 */ addi r0, r13, lbl_8063E080-_SDA_BASE_ +/* 803283D8 00324038 38 61 00 C8 */ addi r3, r1, 0xc8 +/* 803283DC 0032403C 38 BF 01 38 */ addi r5, r31, 0x138 +/* 803283E0 00324040 91 41 00 08 */ stw r10, 8(r1) +/* 803283E4 00324044 38 DF 01 90 */ addi r6, r31, 0x190 +/* 803283E8 00324048 38 E0 00 03 */ li r7, 3 +/* 803283EC 0032404C 39 0D 8D C0 */ addi r8, r13, lbl_8063E080-_SDA_BASE_ +/* 803283F0 00324050 90 81 00 0C */ stw r4, 0xc(r1) +/* 803283F4 00324054 38 80 01 00 */ li r4, 0x100 +/* 803283F8 00324058 91 81 00 10 */ stw r12, 0x10(r1) +/* 803283FC 0032405C 91 61 00 14 */ stw r11, 0x14(r1) +/* 80328400 00324060 90 01 00 18 */ stw r0, 0x18(r1) +/* 80328404 00324064 4C C6 31 82 */ crclr 6 +/* 80328408 00324068 4B EA 46 1D */ bl snprintf +/* 8032840C 0032406C 80 ED B0 60 */ lwz r7, lbl_80640320-_SDA_BASE_(r13) +/* 80328410 00324070 2C 07 00 00 */ cmpwi r7, 0 +/* 80328414 00324074 41 82 00 58 */ beq lbl_8032846C +/* 80328418 00324078 38 61 00 C8 */ addi r3, r1, 0xc8 +/* 8032841C 0032407C 38 BF 07 D4 */ addi r5, r31, 0x7d4 +/* 80328420 00324080 7C 66 1B 78 */ mr r6, r3 +/* 80328424 00324084 38 80 01 00 */ li r4, 0x100 +/* 80328428 00324088 4C C6 31 82 */ crclr 6 +/* 8032842C 0032408C 4B EA 45 F9 */ bl snprintf +/* 80328430 00324090 48 00 00 3C */ b lbl_8032846C +lbl_80328434: +/* 80328434 00324094 7F A7 EB 78 */ mr r7, r29 +/* 80328438 00324098 38 61 00 C8 */ addi r3, r1, 0xc8 +/* 8032843C 0032409C 38 80 01 00 */ li r4, 0x100 +/* 80328440 003240A0 38 AD 8D D8 */ addi r5, r13, lbl_8063E098-_SDA_BASE_ +/* 80328444 003240A4 38 CD 8D C0 */ addi r6, r13, lbl_8063E080-_SDA_BASE_ +/* 80328448 003240A8 4C C6 31 82 */ crclr 6 +/* 8032844C 003240AC 4B EA 45 D9 */ bl snprintf +/* 80328450 003240B0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328454 003240B4 93 A3 02 14 */ stw r29, 0x214(r3) +/* 80328458 003240B8 48 00 00 14 */ b lbl_8032846C +lbl_8032845C: +/* 8032845C 003240BC 38 9F 07 E0 */ addi r4, r31, 0x7e0 +/* 80328460 003240C0 38 60 00 02 */ li r3, 2 +/* 80328464 003240C4 4C C6 31 82 */ crclr 6 +/* 80328468 003240C8 4B FF 46 CD */ bl func_8031CB34 +lbl_8032846C: +/* 8032846C 003240CC 38 9F 08 0C */ addi r4, r31, 0x80c +/* 80328470 003240D0 38 A1 00 C8 */ addi r5, r1, 0xc8 +/* 80328474 003240D4 38 60 00 40 */ li r3, 0x40 +/* 80328478 003240D8 4C C6 31 82 */ crclr 6 +/* 8032847C 003240DC 4B FF 46 B9 */ bl func_8031CB34 +/* 80328480 003240E0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328484 003240E4 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 80328488 003240E8 48 03 63 A5 */ bl ServerBrowserClear +/* 8032848C 003240EC 3B A0 00 00 */ li r29, 0 +lbl_80328490: +/* 80328490 003240F0 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328494 003240F4 7F C7 F3 78 */ mr r7, r30 +/* 80328498 003240F8 38 C1 00 20 */ addi r6, r1, 0x20 +/* 8032849C 003240FC 39 01 00 C8 */ addi r8, r1, 0xc8 +/* 803284A0 00324100 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 803284A4 00324104 38 80 00 01 */ li r4, 1 +/* 803284A8 00324108 38 A0 00 00 */ li r5, 0 +/* 803284AC 0032410C 39 20 00 06 */ li r9, 6 +/* 803284B0 00324110 48 03 61 71 */ bl ServerBrowserLimitUpdateA +/* 803284B4 00324114 2C 03 00 00 */ cmpwi r3, 0 +/* 803284B8 00324118 7C 7F 1B 78 */ mr r31, r3 +/* 803284BC 0032411C 41 82 00 28 */ beq lbl_803284E4 +/* 803284C0 00324120 2C 03 00 02 */ cmpwi r3, 2 +/* 803284C4 00324124 40 82 00 20 */ bne lbl_803284E4 +/* 803284C8 00324128 38 60 04 00 */ li r3, 0x400 +/* 803284CC 0032412C 38 8D 8D E0 */ addi r4, r13, lbl_8063E0A0-_SDA_BASE_ +/* 803284D0 00324130 4C C6 31 82 */ crclr 6 +/* 803284D4 00324134 4B FF 46 61 */ bl func_8031CB34 +/* 803284D8 00324138 3B BD 00 01 */ addi r29, r29, 1 +/* 803284DC 0032413C 2C 1D 00 05 */ cmpwi r29, 5 +/* 803284E0 00324140 41 80 FF B0 */ blt lbl_80328490 +lbl_803284E4: +/* 803284E4 00324144 2C 1F 00 00 */ cmpwi r31, 0 +/* 803284E8 00324148 40 82 00 44 */ bne lbl_8032852C +/* 803284EC 0032414C 4B F4 A2 CD */ bl OSGetTime +/* 803284F0 00324150 3C C0 80 00 */ lis r6, 0x800000F8@ha +/* 803284F4 00324154 3C A0 10 62 */ lis r5, 0x10624DD3@ha +/* 803284F8 00324158 80 C6 00 F8 */ lwz r6, 0x800000F8@l(r6) +/* 803284FC 0032415C 38 E5 4D D3 */ addi r7, r5, 0x10624DD3@l +/* 80328500 00324160 38 00 75 30 */ li r0, 0x7530 +/* 80328504 00324164 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80328508 00324168 54 C6 F0 BE */ srwi r6, r6, 2 +/* 8032850C 0032416C 7C C7 30 16 */ mulhwu r6, r7, r6 +/* 80328510 00324170 54 C7 D1 BE */ srwi r7, r6, 6 +/* 80328514 00324174 7C C7 00 16 */ mulhwu r6, r7, r0 +/* 80328518 00324178 1C 07 75 30 */ mulli r0, r7, 0x7530 +/* 8032851C 0032417C 7C 00 20 14 */ addc r0, r0, r4 +/* 80328520 00324180 90 05 01 7C */ stw r0, 0x17c(r5) +/* 80328524 00324184 7C 06 19 14 */ adde r0, r6, r3 +/* 80328528 00324188 90 05 01 78 */ stw r0, 0x178(r5) +lbl_8032852C: +/* 8032852C 0032418C 7F E3 FB 78 */ mr r3, r31 +/* 80328530 00324190 83 E1 01 DC */ lwz r31, 0x1dc(r1) +/* 80328534 00324194 83 C1 01 D8 */ lwz r30, 0x1d8(r1) +/* 80328538 00324198 83 A1 01 D4 */ lwz r29, 0x1d4(r1) +/* 8032853C 0032419C 80 01 01 E4 */ lwz r0, 0x1e4(r1) +/* 80328540 003241A0 7C 08 03 A6 */ mtlr r0 +/* 80328544 003241A4 38 21 01 E0 */ addi r1, r1, 0x1e0 +/* 80328548 003241A8 4E 80 00 20 */ blr + +.global func_8032854C +func_8032854C: +/* 8032854C 003241AC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80328550 003241B0 7C 08 02 A6 */ mflr r0 +/* 80328554 003241B4 90 01 00 34 */ stw r0, 0x34(r1) +/* 80328558 003241B8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8032855C 003241BC 4B E9 EB C5 */ bl _savegpr_25 +/* 80328560 003241C0 80 CD B0 68 */ lwz r6, lbl_80640328-_SDA_BASE_(r13) +/* 80328564 003241C4 3F E0 80 44 */ lis r31, lbl_80447FE0@ha +/* 80328568 003241C8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032856C 003241CC 7C BA 2B 78 */ mr r26, r5 +/* 80328570 003241D0 8B A6 00 14 */ lbz r29, 0x14(r6) +/* 80328574 003241D4 3B FF 7F E0 */ addi r31, r31, lbl_80447FE0@l +/* 80328578 003241D8 3B 60 00 00 */ li r27, 0 +/* 8032857C 003241DC 40 82 02 78 */ bne lbl_803287F4 +/* 80328580 003241E0 A0 06 01 82 */ lhz r0, 0x182(r6) +/* 80328584 003241E4 7F 43 D3 78 */ mr r3, r26 +/* 80328588 003241E8 80 86 02 10 */ lwz r4, 0x210(r6) +/* 8032858C 003241EC 54 1E 80 1E */ slwi r30, r0, 0x10 +/* 80328590 003241F0 50 9E 04 3E */ rlwimi r30, r4, 0, 0x10, 0x1f +/* 80328594 003241F4 48 03 52 A9 */ bl SBServerHasPrivateAddress +/* 80328598 003241F8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032859C 003241FC 41 82 00 8C */ beq lbl_80328628 +/* 803285A0 00324200 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803285A4 00324204 80 63 00 E4 */ lwz r3, 0xe4(r3) +/* 803285A8 00324208 48 03 63 99 */ bl ServerBrowserGetMyPublicIPAddr +/* 803285AC 0032420C 7C 79 1B 78 */ mr r25, r3 +/* 803285B0 00324210 7F 43 D3 78 */ mr r3, r26 +/* 803285B4 00324214 48 03 52 71 */ bl SBServerGetPublicInetAddress +/* 803285B8 00324218 7C 03 C8 40 */ cmplw r3, r25 +/* 803285BC 0032421C 40 82 00 50 */ bne lbl_8032860C +/* 803285C0 00324220 7F A5 EB 78 */ mr r5, r29 +/* 803285C4 00324224 38 9F 08 28 */ addi r4, r31, 0x828 +/* 803285C8 00324228 38 60 00 40 */ li r3, 0x40 +/* 803285CC 0032422C 4C C6 31 82 */ crclr 6 +/* 803285D0 00324230 4B FF 45 65 */ bl func_8031CB34 +/* 803285D4 00324234 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803285D8 00324238 7F 43 D3 78 */ mr r3, r26 +/* 803285DC 0032423C 48 03 52 99 */ bl SBServerGetPrivateInetAddress +/* 803285E0 00324240 57 A0 10 3A */ slwi r0, r29, 2 +/* 803285E4 00324244 7C 99 02 14 */ add r4, r25, r0 +/* 803285E8 00324248 90 64 02 20 */ stw r3, 0x220(r4) +/* 803285EC 0032424C 7F 43 D3 78 */ mr r3, r26 +/* 803285F0 00324250 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803285F4 00324254 48 03 52 89 */ bl SBServerGetPrivateQueryPort +/* 803285F8 00324258 57 A0 08 3C */ slwi r0, r29, 1 +/* 803285FC 0032425C 3B 80 00 00 */ li r28, 0 +/* 80328600 00324260 7C 99 02 14 */ add r4, r25, r0 +/* 80328604 00324264 B0 64 02 A0 */ sth r3, 0x2a0(r4) +/* 80328608 00324268 48 00 00 E8 */ b lbl_803286F0 +lbl_8032860C: +/* 8032860C 0032426C 7F A5 EB 78 */ mr r5, r29 +/* 80328610 00324270 38 9F 08 50 */ addi r4, r31, 0x850 +/* 80328614 00324274 38 60 00 40 */ li r3, 0x40 +/* 80328618 00324278 4C C6 31 82 */ crclr 6 +/* 8032861C 0032427C 4B FF 45 19 */ bl func_8031CB34 +/* 80328620 00324280 3B 80 00 01 */ li r28, 1 +/* 80328624 00324284 48 00 00 CC */ b lbl_803286F0 +lbl_80328628: +/* 80328628 00324288 4B FC EC 29 */ bl SOGetHostID +/* 8032862C 0032428C 4B FC E7 41 */ bl SONtoHl +/* 80328630 00324290 54 64 46 3E */ srwi r4, r3, 0x18 +/* 80328634 00324294 54 60 86 3E */ rlwinm r0, r3, 0x10, 0x18, 0x1f +/* 80328638 00324298 28 04 00 0A */ cmplwi r4, 0xa +/* 8032863C 0032429C 40 82 00 0C */ bne lbl_80328648 +/* 80328640 003242A0 38 00 00 01 */ li r0, 1 +/* 80328644 003242A4 48 00 00 40 */ b lbl_80328684 +lbl_80328648: +/* 80328648 003242A8 28 04 00 AC */ cmplwi r4, 0xac +/* 8032864C 003242AC 40 82 00 1C */ bne lbl_80328668 +/* 80328650 003242B0 28 00 00 10 */ cmplwi r0, 0x10 +/* 80328654 003242B4 41 80 00 14 */ blt lbl_80328668 +/* 80328658 003242B8 28 00 00 1F */ cmplwi r0, 0x1f +/* 8032865C 003242BC 41 81 00 0C */ bgt lbl_80328668 +/* 80328660 003242C0 38 00 00 01 */ li r0, 1 +/* 80328664 003242C4 48 00 00 20 */ b lbl_80328684 +lbl_80328668: +/* 80328668 003242C8 28 04 00 C0 */ cmplwi r4, 0xc0 +/* 8032866C 003242CC 40 82 00 14 */ bne lbl_80328680 +/* 80328670 003242D0 28 00 00 A8 */ cmplwi r0, 0xa8 +/* 80328674 003242D4 40 82 00 0C */ bne lbl_80328680 +/* 80328678 003242D8 38 00 00 01 */ li r0, 1 +/* 8032867C 003242DC 48 00 00 08 */ b lbl_80328684 +lbl_80328680: +/* 80328680 003242E0 38 00 00 00 */ li r0, 0 +lbl_80328684: +/* 80328684 003242E4 2C 00 00 00 */ cmpwi r0, 0 +/* 80328688 003242E8 41 82 00 20 */ beq lbl_803286A8 +/* 8032868C 003242EC 7F A5 EB 78 */ mr r5, r29 +/* 80328690 003242F0 38 9F 08 6C */ addi r4, r31, 0x86c +/* 80328694 003242F4 38 60 00 40 */ li r3, 0x40 +/* 80328698 003242F8 4C C6 31 82 */ crclr 6 +/* 8032869C 003242FC 4B FF 44 99 */ bl func_8031CB34 +/* 803286A0 00324300 3B 80 00 01 */ li r28, 1 +/* 803286A4 00324304 48 00 00 4C */ b lbl_803286F0 +lbl_803286A8: +/* 803286A8 00324308 7F A5 EB 78 */ mr r5, r29 +/* 803286AC 0032430C 38 9F 08 A0 */ addi r4, r31, 0x8a0 +/* 803286B0 00324310 38 60 00 40 */ li r3, 0x40 +/* 803286B4 00324314 4C C6 31 82 */ crclr 6 +/* 803286B8 00324318 4B FF 44 7D */ bl func_8031CB34 +/* 803286BC 0032431C 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803286C0 00324320 7F 43 D3 78 */ mr r3, r26 +/* 803286C4 00324324 48 03 51 61 */ bl SBServerGetPublicInetAddress +/* 803286C8 00324328 57 A0 10 3A */ slwi r0, r29, 2 +/* 803286CC 0032432C 7C 99 02 14 */ add r4, r25, r0 +/* 803286D0 00324330 90 64 02 20 */ stw r3, 0x220(r4) +/* 803286D4 00324334 7F 43 D3 78 */ mr r3, r26 +/* 803286D8 00324338 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803286DC 0032433C 48 03 51 51 */ bl SBServerGetPublicQueryPort +/* 803286E0 00324340 57 A0 08 3C */ slwi r0, r29, 1 +/* 803286E4 00324344 3B 80 00 00 */ li r28, 0 +/* 803286E8 00324348 7C 99 02 14 */ add r4, r25, r0 +/* 803286EC 0032434C B0 64 02 A0 */ sth r3, 0x2a0(r4) +lbl_803286F0: +/* 803286F0 00324350 2C 1C 00 00 */ cmpwi r28, 0 +/* 803286F4 00324354 41 82 00 20 */ beq lbl_80328714 +/* 803286F8 00324358 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803286FC 0032435C 3C 60 00 01 */ lis r3, 1 +/* 80328700 00324360 4B FF 69 2D */ bl func_8031F02C +/* 80328704 00324364 B0 79 01 82 */ sth r3, 0x182(r25) +/* 80328708 00324368 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032870C 0032436C 93 C3 01 A0 */ stw r30, 0x1a0(r3) +/* 80328710 00324370 48 00 00 AC */ b lbl_803287BC +lbl_80328714: +/* 80328714 00324374 4B FC EB 3D */ bl SOGetHostID +/* 80328718 00324378 90 61 00 08 */ stw r3, 8(r1) +/* 8032871C 0032437C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328720 00324380 80 63 00 04 */ lwz r3, 4(r3) +/* 80328724 00324384 80 63 00 00 */ lwz r3, 0(r3) +/* 80328728 00324388 48 02 16 99 */ bl gt2GetLocalPort +/* 8032872C 0032438C 54 66 C6 3E */ rlwinm r6, r3, 0x18, 0x18, 0x1f +/* 80328730 00324390 54 60 42 2E */ rlwinm r0, r3, 8, 8, 0x17 +/* 80328734 00324394 54 C5 02 1E */ rlwinm r5, r6, 0, 8, 0xf +/* 80328738 00324398 54 64 44 2E */ rlwinm r4, r3, 8, 0x10, 0x17 +/* 8032873C 0032439C 54 00 00 0E */ rlwinm r0, r0, 0, 0, 7 +/* 80328740 003243A0 83 CD B0 68 */ lwz r30, lbl_80640328-_SDA_BASE_(r13) +/* 80328744 003243A4 7C C5 2B 78 */ or r5, r6, r5 +/* 80328748 003243A8 7F 43 D3 78 */ mr r3, r26 +/* 8032874C 003243AC 7C 80 03 78 */ or r0, r4, r0 +/* 80328750 003243B0 7C A0 03 78 */ or r0, r5, r0 +/* 80328754 003243B4 54 04 84 3E */ srwi r4, r0, 0x10 +/* 80328758 003243B8 54 00 80 1E */ slwi r0, r0, 0x10 +/* 8032875C 003243BC 7C 80 03 78 */ or r0, r4, r0 +/* 80328760 003243C0 90 01 00 0C */ stw r0, 0xc(r1) +/* 80328764 003243C4 48 03 50 C9 */ bl SBServerGetPublicQueryPort +/* 80328768 003243C8 7C 79 1B 78 */ mr r25, r3 +/* 8032876C 003243CC 7F 43 D3 78 */ mr r3, r26 +/* 80328770 003243D0 48 03 50 B5 */ bl SBServerGetPublicInetAddress +/* 80328774 003243D4 57 A0 10 3A */ slwi r0, r29, 2 +/* 80328778 003243D8 7C 65 1B 78 */ mr r5, r3 +/* 8032877C 003243DC 7C 7E 02 14 */ add r3, r30, r0 +/* 80328780 003243E0 57 26 04 3E */ clrlwi r6, r25, 0x10 +/* 80328784 003243E4 80 83 00 F8 */ lwz r4, 0xf8(r3) +/* 80328788 003243E8 38 E1 00 08 */ addi r7, r1, 8 +/* 8032878C 003243EC 38 60 00 06 */ li r3, 6 +/* 80328790 003243F0 39 00 00 02 */ li r8, 2 +/* 80328794 003243F4 48 00 01 B1 */ bl func_80328944 +/* 80328798 003243F8 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 8032879C 003243FC 38 00 00 00 */ li r0, 0 +/* 803287A0 00324400 2C 03 00 00 */ cmpwi r3, 0 +/* 803287A4 00324404 98 04 03 E1 */ stb r0, 0x3e1(r4) +/* 803287A8 00324408 41 82 00 0C */ beq lbl_803287B4 +/* 803287AC 0032440C 38 60 00 02 */ li r3, 2 +/* 803287B0 00324410 48 00 01 7C */ b lbl_8032892C +lbl_803287B4: +/* 803287B4 00324414 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 803287B8 00324418 90 03 01 A0 */ stw r0, 0x1a0(r3) +lbl_803287BC: +/* 803287BC 0032441C 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803287C0 00324420 38 00 00 00 */ li r0, 0 +/* 803287C4 00324424 7F 43 D3 78 */ mr r3, r26 +/* 803287C8 00324428 98 04 01 98 */ stb r0, 0x198(r4) +/* 803287CC 0032442C 80 8D B0 68 */ lwz r4, lbl_80640328-_SDA_BASE_(r13) +/* 803287D0 00324430 98 04 01 99 */ stb r0, 0x199(r4) +/* 803287D4 00324434 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803287D8 00324438 48 03 50 55 */ bl SBServerGetPublicQueryPort +/* 803287DC 0032443C B0 79 01 9A */ sth r3, 0x19a(r25) +/* 803287E0 00324440 7F 43 D3 78 */ mr r3, r26 +/* 803287E4 00324444 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803287E8 00324448 48 03 50 3D */ bl SBServerGetPublicInetAddress +/* 803287EC 0032444C 90 79 01 9C */ stw r3, 0x19c(r25) +/* 803287F0 00324450 48 00 00 34 */ b lbl_80328824 +lbl_803287F4: +/* 803287F4 00324454 38 60 00 01 */ li r3, 1 +/* 803287F8 00324458 38 00 00 00 */ li r0, 0 +/* 803287FC 0032445C 98 66 01 98 */ stb r3, 0x198(r6) +/* 80328800 00324460 3B 80 00 01 */ li r28, 1 +/* 80328804 00324464 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328808 00324468 98 03 01 99 */ stb r0, 0x199(r3) +/* 8032880C 0032446C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328810 00324470 B0 03 01 9A */ sth r0, 0x19a(r3) +/* 80328814 00324474 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328818 00324478 90 03 01 9C */ stw r0, 0x19c(r3) +/* 8032881C 0032447C 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328820 00324480 90 83 01 A0 */ stw r4, 0x1a0(r3) +lbl_80328824: +/* 80328824 00324484 2C 1C 00 00 */ cmpwi r28, 0 +/* 80328828 00324488 41 82 00 CC */ beq lbl_803288F4 +/* 8032882C 0032448C 83 4D B0 68 */ lwz r26, lbl_80640328-_SDA_BASE_(r13) +/* 80328830 00324490 88 1A 01 98 */ lbz r0, 0x198(r26) +/* 80328834 00324494 3B 3A 01 98 */ addi r25, r26, 0x198 +/* 80328838 00324498 2C 00 00 00 */ cmpwi r0, 0 +/* 8032883C 0032449C 40 82 00 50 */ bne lbl_8032888C +/* 80328840 003244A0 80 79 00 04 */ lwz r3, 4(r25) +/* 80328844 003244A4 38 80 00 00 */ li r4, 0 +/* 80328848 003244A8 38 A0 00 00 */ li r5, 0 +/* 8032884C 003244AC 48 02 53 01 */ bl gt2AddressToString +/* 80328850 003244B0 7C 64 1B 78 */ mr r4, r3 +/* 80328854 003244B4 80 7A 00 E4 */ lwz r3, 0xe4(r26) +/* 80328858 003244B8 A0 B9 00 02 */ lhz r5, 2(r25) +/* 8032885C 003244BC 80 D9 00 08 */ lwz r6, 8(r25) +/* 80328860 003244C0 48 03 5E E5 */ bl ServerBrowserSendNatNegotiateCookieToServerA +/* 80328864 003244C4 48 00 5C 35 */ bl func_8032E498 +/* 80328868 003244C8 2C 03 00 00 */ cmpwi r3, 0 +/* 8032886C 003244CC 41 82 00 0C */ beq lbl_80328878 +/* 80328870 003244D0 3B 60 00 02 */ li r27, 2 +/* 80328874 003244D4 48 00 00 B4 */ b lbl_80328928 +lbl_80328878: +/* 80328878 003244D8 80 B9 00 08 */ lwz r5, 8(r25) +/* 8032887C 003244DC 38 9F 08 CC */ addi r4, r31, 0x8cc +/* 80328880 003244E0 38 60 00 40 */ li r3, 0x40 +/* 80328884 003244E4 4C C6 31 82 */ crclr 6 +/* 80328888 003244E8 4B FF 42 AD */ bl func_8031CB34 +lbl_8032888C: +/* 8032888C 003244EC 3B A0 00 00 */ li r29, 0 +/* 80328890 003244F0 3F 80 80 33 */ lis r28, 0x8033 +/* 80328894 003244F4 3F 40 80 33 */ lis r26, 0x8033 +lbl_80328898: +/* 80328898 003244F8 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032889C 003244FC 80 63 00 04 */ lwz r3, 4(r3) +/* 803288A0 00324500 80 63 00 00 */ lwz r3, 0(r3) +/* 803288A4 00324504 48 02 15 45 */ bl gt2GetSocketSOCKET +/* 803288A8 00324508 80 99 00 08 */ lwz r4, 8(r25) +/* 803288AC 0032450C 7F 28 CB 78 */ mr r8, r25 +/* 803288B0 00324510 88 B9 00 00 */ lbz r5, 0(r25) +/* 803288B4 00324514 38 DC 02 88 */ addi r6, r28, 0x288 +/* 803288B8 00324518 38 FA 02 A0 */ addi r7, r26, 0x2a0 +/* 803288BC 0032451C 48 03 29 71 */ bl NNBeginNegotiationWithSocket +/* 803288C0 00324520 2C 03 00 00 */ cmpwi r3, 0 +/* 803288C4 00324524 7C 7B 1B 78 */ mr r27, r3 +/* 803288C8 00324528 41 82 00 60 */ beq lbl_80328928 +/* 803288CC 0032452C 2C 03 00 03 */ cmpwi r3, 3 +/* 803288D0 00324530 40 82 00 58 */ bne lbl_80328928 +/* 803288D4 00324534 38 9F 08 E4 */ addi r4, r31, 0x8e4 +/* 803288D8 00324538 38 60 00 04 */ li r3, 4 +/* 803288DC 0032453C 4C C6 31 82 */ crclr 6 +/* 803288E0 00324540 4B FF 42 55 */ bl func_8031CB34 +/* 803288E4 00324544 3B BD 00 01 */ addi r29, r29, 1 +/* 803288E8 00324548 2C 1D 00 05 */ cmpwi r29, 5 +/* 803288EC 0032454C 41 80 FF AC */ blt lbl_80328898 +/* 803288F0 00324550 48 00 00 38 */ b lbl_80328928 +lbl_803288F4: +/* 803288F4 00324554 83 2D B0 68 */ lwz r25, lbl_80640328-_SDA_BASE_(r13) +/* 803288F8 00324558 80 79 00 04 */ lwz r3, 4(r25) +/* 803288FC 0032455C 80 63 00 00 */ lwz r3, 0(r3) +/* 80328900 00324560 48 02 14 E9 */ bl gt2GetSocketSOCKET +/* 80328904 00324564 7C 64 1B 78 */ mr r4, r3 +/* 80328908 00324568 38 D9 01 98 */ addi r6, r25, 0x198 +/* 8032890C 0032456C 38 60 00 00 */ li r3, 0 +/* 80328910 00324570 38 A0 00 00 */ li r5, 0 +/* 80328914 00324574 48 00 79 8D */ bl func_803302A0 +/* 80328918 00324578 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 8032891C 0032457C 38 00 00 00 */ li r0, 0 +/* 80328920 00324580 90 03 01 94 */ stw r0, 0x194(r3) +/* 80328924 00324584 90 03 01 90 */ stw r0, 0x190(r3) +lbl_80328928: +/* 80328928 00324588 7F 63 DB 78 */ mr r3, r27 +lbl_8032892C: +/* 8032892C 0032458C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80328930 00324590 4B E9 E8 3D */ bl _restgpr_25 +/* 80328934 00324594 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80328938 00324598 7C 08 03 A6 */ mtlr r0 +/* 8032893C 0032459C 38 21 00 30 */ addi r1, r1, 0x30 +/* 80328940 003245A0 4E 80 00 20 */ blr + +.global func_80328944 +func_80328944: +/* 80328944 003245A4 94 21 FB B0 */ stwu r1, -0x450(r1) +/* 80328948 003245A8 7C 08 02 A6 */ mflr r0 +/* 8032894C 003245AC 90 01 04 54 */ stw r0, 0x454(r1) +/* 80328950 003245B0 39 61 04 50 */ addi r11, r1, 0x450 +/* 80328954 003245B4 4B E9 E7 B9 */ bl _savegpr_20 +/* 80328958 003245B8 81 2D B0 68 */ lwz r9, lbl_80640328-_SDA_BASE_(r13) +/* 8032895C 003245BC 7C 7A 1B 78 */ mr r26, r3 +/* 80328960 003245C0 7C 9B 23 78 */ mr r27, r4 +/* 80328964 003245C4 7C BC 2B 78 */ mr r28, r5 +/* 80328968 003245C8 88 09 00 15 */ lbz r0, 0x15(r9) +/* 8032896C 003245CC 7C DD 33 78 */ mr r29, r6 +/* 80328970 003245D0 7C FE 3B 78 */ mr r30, r7 +/* 80328974 003245D4 7D 1F 43 78 */ mr r31, r8 +/* 80328978 003245D8 2C 00 00 00 */ cmpwi r0, 0 +/* 8032897C 003245DC 3A 80 00 00 */ li r20, 0 +/* 80328980 003245E0 41 82 00 24 */ beq lbl_803289A4 +/* 80328984 003245E4 88 09 00 15 */ lbz r0, 0x15(r9) +/* 80328988 003245E8 28 00 00 03 */ cmplwi r0, 3 +/* 8032898C 003245EC 41 82 00 10 */ beq lbl_8032899C +/* 80328990 003245F0 88 09 01 AA */ lbz r0, 0x1aa(r9) +/* 80328994 003245F4 2C 00 00 00 */ cmpwi r0, 0 +/* 80328998 003245F8 41 82 00 2C */ beq lbl_803289C4 +lbl_8032899C: +/* 8032899C 003245FC 28 03 00 06 */ cmplwi r3, 6 +/* 803289A0 00324600 40 82 00 24 */ bne lbl_803289C4 +lbl_803289A4: +/* 803289A4 00324604 7F 43 D3 78 */ mr r3, r26 +/* 803289A8 00324608 7F 84 E3 78 */ mr r4, r28 +/* 803289AC 0032460C 7F A5 EB 78 */ mr r5, r29 +/* 803289B0 00324610 7F C6 F3 78 */ mr r6, r30 +/* 803289B4 00324614 7F E7 FB 78 */ mr r7, r31 +/* 803289B8 00324618 48 00 01 B5 */ bl func_80328B6C +/* 803289BC 0032461C 7C 74 1B 78 */ mr r20, r3 +/* 803289C0 00324620 48 00 01 18 */ b lbl_80328AD8 +lbl_803289C4: +/* 803289C4 00324624 2C 07 00 00 */ cmpwi r7, 0 +/* 803289C8 00324628 41 82 00 78 */ beq lbl_80328A40 +/* 803289CC 0032462C 2C 08 00 00 */ cmpwi r8, 0 +/* 803289D0 00324630 41 82 00 70 */ beq lbl_80328A40 +/* 803289D4 00324634 80 C7 00 00 */ lwz r6, 0(r7) +/* 803289D8 00324638 38 61 02 18 */ addi r3, r1, 0x218 +/* 803289DC 0032463C 38 80 02 00 */ li r4, 0x200 +/* 803289E0 00324640 38 AD 8D A8 */ addi r5, r13, lbl_8063E068-_SDA_BASE_ +/* 803289E4 00324644 4C C6 31 82 */ crclr 6 +/* 803289E8 00324648 4B EA 40 3D */ bl snprintf +/* 803289EC 0032464C 7C 74 1B 78 */ mr r20, r3 +/* 803289F0 00324650 3A BE 00 04 */ addi r21, r30, 4 +/* 803289F4 00324654 3A E0 00 01 */ li r23, 1 +/* 803289F8 00324658 48 00 00 40 */ b lbl_80328A38 +lbl_803289FC: +/* 803289FC 0032465C 80 D5 00 00 */ lwz r6, 0(r21) +/* 80328A00 00324660 38 61 00 08 */ addi r3, r1, 8 +/* 80328A04 00324664 38 80 00 10 */ li r4, 0x10 +/* 80328A08 00324668 38 AD 8D E8 */ addi r5, r13, lbl_8063E0A8-_SDA_BASE_ +/* 80328A0C 0032466C 4C C6 31 82 */ crclr 6 +/* 80328A10 00324670 4B EA 40 15 */ bl snprintf +/* 80328A14 00324674 7C 76 1B 78 */ mr r22, r3 +/* 80328A18 00324678 38 61 02 18 */ addi r3, r1, 0x218 +/* 80328A1C 0032467C 7E C5 B3 78 */ mr r5, r22 +/* 80328A20 00324680 38 81 00 08 */ addi r4, r1, 8 +/* 80328A24 00324684 7C 63 A2 14 */ add r3, r3, r20 +/* 80328A28 00324688 4B CD B5 D9 */ bl memcpy +/* 80328A2C 0032468C 7E 94 B2 14 */ add r20, r20, r22 +/* 80328A30 00324690 3A B5 00 04 */ addi r21, r21, 4 +/* 80328A34 00324694 3A F7 00 01 */ addi r23, r23, 1 +lbl_80328A38: +/* 80328A38 00324698 7C 17 F8 00 */ cmpw r23, r31 +/* 80328A3C 0032469C 41 80 FF C0 */ blt lbl_803289FC +lbl_80328A40: +/* 80328A40 003246A0 3B 01 02 18 */ addi r24, r1, 0x218 +/* 80328A44 003246A4 3A E0 00 00 */ li r23, 0 +/* 80328A48 003246A8 7E F8 A1 AE */ stbx r23, r24, r20 +/* 80328A4C 003246AC 38 61 00 18 */ addi r3, r1, 0x18 +/* 80328A50 003246B0 80 ED B0 68 */ lwz r7, lbl_80640328-_SDA_BASE_(r13) +/* 80328A54 003246B4 38 80 02 00 */ li r4, 0x200 +/* 80328A58 003246B8 38 AD 8D F0 */ addi r5, r13, lbl_8063E0B0-_SDA_BASE_ +/* 80328A5C 003246BC 38 CD 8D F8 */ addi r6, r13, lbl_8063E0B8-_SDA_BASE_ +/* 80328A60 003246C0 82 C7 00 00 */ lwz r22, 0(r7) +/* 80328A64 003246C4 38 E0 00 03 */ li r7, 3 +/* 80328A68 003246C8 39 0D 8E 00 */ addi r8, r13, lbl_8063E0C0-_SDA_BASE_ +/* 80328A6C 003246CC 4C C6 31 82 */ crclr 6 +/* 80328A70 003246D0 4B EA 3F B5 */ bl snprintf +/* 80328A74 003246D4 3B 21 00 18 */ addi r25, r1, 0x18 +/* 80328A78 003246D8 3A 81 00 19 */ addi r20, r1, 0x19 +/* 80328A7C 003246DC 7F 59 19 AE */ stbx r26, r25, r3 +/* 80328A80 003246E0 7E 94 1A 14 */ add r20, r20, r3 +/* 80328A84 003246E4 7F 03 C3 78 */ mr r3, r24 +/* 80328A88 003246E8 9A F4 00 00 */ stb r23, 0(r20) +/* 80328A8C 003246EC 4B E9 E0 D9 */ bl strlen +/* 80328A90 003246F0 7C 75 1B 78 */ mr r21, r3 +/* 80328A94 003246F4 7E 83 A3 78 */ mr r3, r20 +/* 80328A98 003246F8 7F 04 C3 78 */ mr r4, r24 +/* 80328A9C 003246FC 7E A5 AB 78 */ mr r5, r21 +/* 80328AA0 00324700 4B CD B5 61 */ bl memcpy +/* 80328AA4 00324704 7E F4 A9 AE */ stbx r23, r20, r21 +/* 80328AA8 00324708 7E C3 B3 78 */ mr r3, r22 +/* 80328AAC 0032470C 7F 64 DB 78 */ mr r4, r27 +/* 80328AB0 00324710 7F 25 CB 78 */ mr r5, r25 +/* 80328AB4 00324714 48 01 50 09 */ bl gpSendBuddyMessageA +/* 80328AB8 00324718 3C 80 80 45 */ lis r4, lbl_804488FC@ha +/* 80328ABC 0032471C 7C 74 1B 78 */ mr r20, r3 +/* 80328AC0 00324720 7F 45 D3 78 */ mr r5, r26 +/* 80328AC4 00324724 7F 66 DB 78 */ mr r6, r27 +/* 80328AC8 00324728 38 84 88 FC */ addi r4, r4, lbl_804488FC@l +/* 80328ACC 0032472C 38 60 00 40 */ li r3, 0x40 +/* 80328AD0 00324730 4C C6 31 82 */ crclr 6 +/* 80328AD4 00324734 4B FF 40 61 */ bl func_8031CB34 +lbl_80328AD8: +/* 80328AD8 00324738 28 1A 00 02 */ cmplwi r26, 2 +/* 80328ADC 0032473C 41 82 00 1C */ beq lbl_80328AF8 +/* 80328AE0 00324740 28 1A 00 06 */ cmplwi r26, 6 +/* 80328AE4 00324744 41 82 00 14 */ beq lbl_80328AF8 +/* 80328AE8 00324748 38 1A 00 F8 */ addi r0, r26, 0xf8 +/* 80328AEC 0032474C 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 80328AF0 00324750 28 00 00 01 */ cmplwi r0, 1 +/* 80328AF4 00324754 41 81 00 5C */ bgt lbl_80328B50 +lbl_80328AF8: +/* 80328AF8 00324758 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328AFC 0032475C 9B 43 03 E0 */ stb r26, 0x3e0(r3) +/* 80328B00 00324760 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328B04 00324764 B3 A3 03 E2 */ sth r29, 0x3e2(r3) +/* 80328B08 00324768 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328B0C 0032476C 93 83 03 E4 */ stw r28, 0x3e4(r3) +/* 80328B10 00324770 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328B14 00324774 93 63 04 68 */ stw r27, 0x468(r3) +/* 80328B18 00324778 80 6D B0 68 */ lwz r3, lbl_80640328-_SDA_BASE_(r13) +/* 80328B1C 0032477C 93 E3 04 6C */ stw r31, 0x46c(r3) +/* 80328B20 00324780 4B F4 9C 99 */ bl OSGetTime +/* 80328B24 00324784 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) +/* 80328B28 00324788 2C 1E 00 00 */ cmpwi r30, 0 +/* 80328B2C 0032478C 90 85 04 74 */ stw r4, 0x474(r5) +/* 80328B30 00324790 90 65 04 70 */ stw r3, 0x470(r5) +/* 80328B34 00324794 41 82 00 1C */ beq lbl_80328B50 +/* 80328B38 00324798 2C 1F 00 00 */ cmpwi r31, 0 +/* 80328B3C 0032479C 41 82 00 14 */ beq lbl_80328B50 +/* 80328B40 003247A0 38 65 03 E8 */ addi r3, r5, 0x3e8 +/* 80328B44 003247A4 7F C4 F3 78 */ mr r4, r30 +/* 80328B48 003247A8 57 E5 10 3A */ slwi r5, r31, 2 +/* 80328B4C 003247AC 4B CD B4 B5 */ bl memcpy +lbl_80328B50: +/* 80328B50 003247B0 39 61 04 50 */ addi r11, r1, 0x450 +/* 80328B54 003247B4 7E 83 A3 78 */ mr r3, r20 +/* 80328B58 003247B8 4B E9 E6 01 */ bl _restgpr_20 +/* 80328B5C 003247BC 80 01 04 54 */ lwz r0, 0x454(r1) +/* 80328B60 003247C0 7C 08 03 A6 */ mtlr r0 +/* 80328B64 003247C4 38 21 04 50 */ addi r1, r1, 0x450 +/* 80328B68 003247C8 4E 80 00 20 */ blr |