diff options
31 files changed, 47730 insertions, 47603 deletions
@@ -33,7 +33,7 @@ SRC_DIRS := src src/SDK/OS src/SDK/EXI src/SDK/SI src/SDK/DB src/SDK/VI src/SDK/ src/SDK/TPL src/SDK/THP src/SDK/KPAD src/SDK/CX src/SDK/PAD src/SDK/WPAD src/SDK/FS src/SDK/IPC \ src/SDK/NdevExi2A src/SDK/USB src/SDK/EUART src/SDK/WUD src/SDK/BTE src/SDK/NAND \ src/SDK/SC src/SDK/WENC src/SDK/ARC src/SDK/NCD src/SDK/WD src/SDK/NTR src/SDK/MP src/SDK/MPDL \ - src/SDK/NET src/SDK/NHTTP src/SDK/SO src/SDK/base src/SDK/HBM src/MSL_C/MSL_Common src/MSL_C/MSL_Common_Embedded \ + src/SDK/NET src/SDK/NHTTP src/SDK/SSL src/SDK/VF src/SDK/SO src/SDK/base src/SDK/HBM src/MSL_C/MSL_Common src/MSL_C/MSL_Common_Embedded \ src/MSL_C/MSL_Common_Embedded/Math src/MSL_C/PPC_EABI src/Runtime \ src/MetroTRK src/GameSpy src/nw4r/ut src/nw4r/snd src/nw4r/ut/detail \ src/nw4r/snd/detail src/nw4r/math src/nw4r/lyt src/nw4r/lyt/detail @@ -42,7 +42,7 @@ ASM_DIRS := asm asm/SDK/OS asm/SDK/EXI asm/SDK/SI asm/SDK/DB asm/SDK/VI asm/SDK/ asm/SDK/TPL asm/SDK/THP asm/SDK/KPAD asm/SDK/CX asm/SDK/PAD asm/SDK/WPAD asm/SDK/FS asm/SDK/IPC \ asm/SDK/NdevExi2A asm/SDK/USB asm/SDK/EUART asm/SDK/WUD asm/SDK/BTE asm/SDK/NAND \ asm/SDK/SC asm/SDK/WENC asm/SDK/ARC asm/SDK/NCD asm/SDK/WD asm/SDK/NTR asm/SDK/MP asm/SDK/MPDL \ - asm/SDK/NET asm/SDK/NHTTP asm/SDK/SO asm/SDK/base asm/SDK/HBM asm/MSL_C/MSL_Common asm/MSL_C/MSL_Common_Embedded \ + asm/SDK/NET asm/SDK/NHTTP asm/SDK/SSL asm/SDK/VF asm/SDK/SO asm/SDK/base asm/SDK/HBM asm/MSL_C/MSL_Common asm/MSL_C/MSL_Common_Embedded \ asm/MSL_C/MSL_Common_Embedded/Math asm/MSL_C/PPC_EABI asm/Runtime \ asm/MetroTRK asm/GameSpy asm/nw4r/ut asm/nw4r/snd asm/nw4r/ut/detail \ asm/nw4r/snd/detail asm/nw4r/math asm/nw4r/lyt asm/nw4r/lyt/detail diff --git a/asm/SDK/VF/pdm_bpb.s b/asm/SDK/VF/pdm_bpb.s new file mode 100644 index 0000000..b9f7e63 --- /dev/null +++ b/asm/SDK/VF/pdm_bpb.s @@ -0,0 +1,597 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFipdm_bpb_calculate_common_bpb_fields
+VFipdm_bpb_calculate_common_bpb_fields:
+/* 803062C4 00301F24 38 00 00 00 */ li r0, 0
+/* 803062C8 00301F28 A0 A3 00 08 */ lhz r5, 8(r3)
+/* 803062CC 00301F2C 98 03 00 54 */ stb r0, 0x54(r3)
+/* 803062D0 00301F30 48 00 00 10 */ b lbl_803062E0
+lbl_803062D4:
+/* 803062D4 00301F34 88 83 00 54 */ lbz r4, 0x54(r3)
+/* 803062D8 00301F38 38 04 00 01 */ addi r0, r4, 1
+/* 803062DC 00301F3C 98 03 00 54 */ stb r0, 0x54(r3)
+lbl_803062E0:
+/* 803062E0 00301F40 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f
+/* 803062E4 00301F44 40 82 FF F0 */ bne lbl_803062D4
+/* 803062E8 00301F48 38 00 00 00 */ li r0, 0
+/* 803062EC 00301F4C 88 A3 00 0A */ lbz r5, 0xa(r3)
+/* 803062F0 00301F50 98 03 00 55 */ stb r0, 0x55(r3)
+/* 803062F4 00301F54 48 00 00 10 */ b lbl_80306304
+lbl_803062F8:
+/* 803062F8 00301F58 88 83 00 55 */ lbz r4, 0x55(r3)
+/* 803062FC 00301F5C 38 04 00 01 */ addi r0, r4, 1
+/* 80306300 00301F60 98 03 00 55 */ stb r0, 0x55(r3)
+lbl_80306304:
+/* 80306304 00301F64 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f
+/* 80306308 00301F68 40 82 FF F0 */ bne lbl_803062F8
+/* 8030630C 00301F6C A0 03 00 0E */ lhz r0, 0xe(r3)
+/* 80306310 00301F70 A0 A3 00 08 */ lhz r5, 8(r3)
+/* 80306314 00301F74 54 06 28 34 */ slwi r6, r0, 5
+/* 80306318 00301F78 88 83 00 0B */ lbz r4, 0xb(r3)
+/* 8030631C 00301F7C 80 03 00 6C */ lwz r0, 0x6c(r3)
+/* 80306320 00301F80 7C A5 32 14 */ add r5, r5, r6
+/* 80306324 00301F84 88 E3 00 54 */ lbz r7, 0x54(r3)
+/* 80306328 00301F88 39 05 FF FF */ addi r8, r5, -1
+/* 8030632C 00301F8C 7C C4 01 D6 */ mullw r6, r4, r0
+/* 80306330 00301F90 A0 A3 00 0C */ lhz r5, 0xc(r3)
+/* 80306334 00301F94 7D 08 3E 30 */ sraw r8, r8, r7
+/* 80306338 00301F98 80 83 00 68 */ lwz r4, 0x68(r3)
+/* 8030633C 00301F9C 88 03 00 55 */ lbz r0, 0x55(r3)
+/* 80306340 00301FA0 55 07 04 3E */ clrlwi r7, r8, 0x10
+/* 80306344 00301FA4 7C A7 2A 14 */ add r5, r7, r5
+/* 80306348 00301FA8 B1 03 00 56 */ sth r8, 0x56(r3)
+/* 8030634C 00301FAC 7C A6 2A 14 */ add r5, r6, r5
+/* 80306350 00301FB0 7C 85 20 50 */ subf r4, r5, r4
+/* 80306354 00301FB4 90 A3 00 60 */ stw r5, 0x60(r3)
+/* 80306358 00301FB8 7C 80 04 30 */ srw r0, r4, r0
+/* 8030635C 00301FBC 28 00 0F F5 */ cmplwi r0, 0xff5
+/* 80306360 00301FC0 90 03 00 64 */ stw r0, 0x64(r3)
+/* 80306364 00301FC4 40 80 00 10 */ bge lbl_80306374
+/* 80306368 00301FC8 38 00 00 00 */ li r0, 0
+/* 8030636C 00301FCC 90 03 00 50 */ stw r0, 0x50(r3)
+/* 80306370 00301FD0 4E 80 00 20 */ blr
+lbl_80306374:
+/* 80306374 00301FD4 28 00 FF F5 */ cmplwi r0, 0xfff5
+/* 80306378 00301FD8 40 80 00 10 */ bge lbl_80306388
+/* 8030637C 00301FDC 38 00 00 01 */ li r0, 1
+/* 80306380 00301FE0 90 03 00 50 */ stw r0, 0x50(r3)
+/* 80306384 00301FE4 4E 80 00 20 */ blr
+lbl_80306388:
+/* 80306388 00301FE8 38 00 00 02 */ li r0, 2
+/* 8030638C 00301FEC 90 03 00 50 */ stw r0, 0x50(r3)
+/* 80306390 00301FF0 4E 80 00 20 */ blr
+
+.global VFipdm_bpb_get_bpb_information
+VFipdm_bpb_get_bpb_information:
+/* 80306394 00301FF4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80306398 00301FF8 7C 08 02 A6 */ mflr r0
+/* 8030639C 00301FFC 2C 83 00 00 */ cmpwi cr1, r3, 0
+/* 803063A0 00302000 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803063A4 00302004 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803063A8 00302008 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803063AC 0030200C 7C 9E 23 78 */ mr r30, r4
+/* 803063B0 00302010 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803063B4 00302014 7C 7D 1B 78 */ mr r29, r3
+/* 803063B8 00302018 41 86 00 0C */ beq cr1, lbl_803063C4
+/* 803063BC 0030201C 2C 04 00 00 */ cmpwi r4, 0
+/* 803063C0 00302020 40 82 00 0C */ bne lbl_803063CC
+lbl_803063C4:
+/* 803063C4 00302024 38 60 00 01 */ li r3, 1
+/* 803063C8 00302028 48 00 04 E8 */ b lbl_803068B0
+lbl_803063CC:
+/* 803063CC 0030202C 3B E0 00 00 */ li r31, 0
+/* 803063D0 00302030 41 86 00 24 */ beq cr1, lbl_803063F4
+/* 803063D4 00302034 34 04 00 4C */ addic. r0, r4, 0x4c
+/* 803063D8 00302038 41 82 00 1C */ beq lbl_803063F4
+/* 803063DC 0030203C 88 03 00 00 */ lbz r0, 0(r3)
+/* 803063E0 00302040 98 04 00 4C */ stb r0, 0x4c(r4)
+/* 803063E4 00302044 88 03 00 01 */ lbz r0, 1(r3)
+/* 803063E8 00302048 98 04 00 4D */ stb r0, 0x4d(r4)
+/* 803063EC 0030204C 88 03 00 02 */ lbz r0, 2(r3)
+/* 803063F0 00302050 98 04 00 4E */ stb r0, 0x4e(r4)
+lbl_803063F4:
+/* 803063F4 00302054 34 03 00 03 */ addic. r0, r3, 3
+/* 803063F8 00302058 41 82 00 4C */ beq lbl_80306444
+/* 803063FC 0030205C 2C 04 00 00 */ cmpwi r4, 0
+/* 80306400 00302060 41 82 00 44 */ beq lbl_80306444
+/* 80306404 00302064 88 03 00 03 */ lbz r0, 3(r3)
+/* 80306408 00302068 98 04 00 00 */ stb r0, 0(r4)
+/* 8030640C 0030206C 88 03 00 04 */ lbz r0, 4(r3)
+/* 80306410 00302070 98 04 00 01 */ stb r0, 1(r4)
+/* 80306414 00302074 88 03 00 05 */ lbz r0, 5(r3)
+/* 80306418 00302078 98 04 00 02 */ stb r0, 2(r4)
+/* 8030641C 0030207C 88 03 00 06 */ lbz r0, 6(r3)
+/* 80306420 00302080 98 04 00 03 */ stb r0, 3(r4)
+/* 80306424 00302084 88 03 00 07 */ lbz r0, 7(r3)
+/* 80306428 00302088 98 04 00 04 */ stb r0, 4(r4)
+/* 8030642C 0030208C 88 03 00 08 */ lbz r0, 8(r3)
+/* 80306430 00302090 98 04 00 05 */ stb r0, 5(r4)
+/* 80306434 00302094 88 03 00 09 */ lbz r0, 9(r3)
+/* 80306438 00302098 98 04 00 06 */ stb r0, 6(r4)
+/* 8030643C 0030209C 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 80306440 003020A0 98 04 00 07 */ stb r0, 7(r4)
+lbl_80306444:
+/* 80306444 003020A4 88 A3 00 0C */ lbz r5, 0xc(r3)
+/* 80306448 003020A8 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 8030644C 003020AC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 80306450 003020B0 B0 04 00 08 */ sth r0, 8(r4)
+/* 80306454 003020B4 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 80306458 003020B8 98 04 00 0A */ stb r0, 0xa(r4)
+/* 8030645C 003020BC 88 A3 00 0F */ lbz r5, 0xf(r3)
+/* 80306460 003020C0 88 03 00 0E */ lbz r0, 0xe(r3)
+/* 80306464 003020C4 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 80306468 003020C8 B0 04 00 0C */ sth r0, 0xc(r4)
+/* 8030646C 003020CC 88 03 00 10 */ lbz r0, 0x10(r3)
+/* 80306470 003020D0 98 04 00 0B */ stb r0, 0xb(r4)
+/* 80306474 003020D4 88 A3 00 12 */ lbz r5, 0x12(r3)
+/* 80306478 003020D8 88 03 00 11 */ lbz r0, 0x11(r3)
+/* 8030647C 003020DC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 80306480 003020E0 B0 04 00 0E */ sth r0, 0xe(r4)
+/* 80306484 003020E4 88 03 00 14 */ lbz r0, 0x14(r3)
+/* 80306488 003020E8 88 E3 00 13 */ lbz r7, 0x13(r3)
+/* 8030648C 003020EC 50 07 44 2F */ rlwimi. r7, r0, 8, 0x10, 0x17
+/* 80306490 003020F0 B0 E4 00 10 */ sth r7, 0x10(r4)
+/* 80306494 003020F4 88 03 00 15 */ lbz r0, 0x15(r3)
+/* 80306498 003020F8 98 04 00 22 */ stb r0, 0x22(r4)
+/* 8030649C 003020FC 88 A3 00 17 */ lbz r5, 0x17(r3)
+/* 803064A0 00302100 88 03 00 16 */ lbz r0, 0x16(r3)
+/* 803064A4 00302104 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 803064A8 00302108 B0 04 00 12 */ sth r0, 0x12(r4)
+/* 803064AC 0030210C 88 A3 00 19 */ lbz r5, 0x19(r3)
+/* 803064B0 00302110 88 03 00 18 */ lbz r0, 0x18(r3)
+/* 803064B4 00302114 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 803064B8 00302118 B0 04 00 14 */ sth r0, 0x14(r4)
+/* 803064BC 0030211C 88 A3 00 1B */ lbz r5, 0x1b(r3)
+/* 803064C0 00302120 88 03 00 1A */ lbz r0, 0x1a(r3)
+/* 803064C4 00302124 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 803064C8 00302128 B0 04 00 20 */ sth r0, 0x20(r4)
+/* 803064CC 0030212C 88 A3 00 1D */ lbz r5, 0x1d(r3)
+/* 803064D0 00302130 88 03 00 1C */ lbz r0, 0x1c(r3)
+/* 803064D4 00302134 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 803064D8 00302138 88 C3 00 1E */ lbz r6, 0x1e(r3)
+/* 803064DC 0030213C 88 A3 00 1F */ lbz r5, 0x1f(r3)
+/* 803064E0 00302140 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
+/* 803064E4 00302144 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
+/* 803064E8 00302148 90 04 00 18 */ stw r0, 0x18(r4)
+/* 803064EC 0030214C 88 A3 00 21 */ lbz r5, 0x21(r3)
+/* 803064F0 00302150 88 03 00 20 */ lbz r0, 0x20(r3)
+/* 803064F4 00302154 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 803064F8 00302158 88 C3 00 22 */ lbz r6, 0x22(r3)
+/* 803064FC 0030215C 88 A3 00 23 */ lbz r5, 0x23(r3)
+/* 80306500 00302160 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
+/* 80306504 00302164 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
+/* 80306508 00302168 90 04 00 1C */ stw r0, 0x1c(r4)
+/* 8030650C 0030216C 40 82 00 08 */ bne lbl_80306514
+/* 80306510 00302170 48 00 00 08 */ b lbl_80306518
+lbl_80306514:
+/* 80306514 00302174 54 E0 04 3E */ clrlwi r0, r7, 0x10
+lbl_80306518:
+/* 80306518 00302178 A0 A4 00 12 */ lhz r5, 0x12(r4)
+/* 8030651C 0030217C 90 04 00 68 */ stw r0, 0x68(r4)
+/* 80306520 00302180 2C 05 00 00 */ cmpwi r5, 0
+/* 80306524 00302184 40 82 00 2C */ bne lbl_80306550
+/* 80306528 00302188 88 A3 00 25 */ lbz r5, 0x25(r3)
+/* 8030652C 0030218C 88 03 00 24 */ lbz r0, 0x24(r3)
+/* 80306530 00302190 88 C3 00 26 */ lbz r6, 0x26(r3)
+/* 80306534 00302194 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 80306538 00302198 88 63 00 27 */ lbz r3, 0x27(r3)
+/* 8030653C 0030219C 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
+/* 80306540 003021A0 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
+/* 80306544 003021A4 90 04 00 3C */ stw r0, 0x3c(r4)
+/* 80306548 003021A8 90 04 00 6C */ stw r0, 0x6c(r4)
+/* 8030654C 003021AC 48 00 00 10 */ b lbl_8030655C
+lbl_80306550:
+/* 80306550 003021B0 38 00 00 00 */ li r0, 0
+/* 80306554 003021B4 90 A4 00 6C */ stw r5, 0x6c(r4)
+/* 80306558 003021B8 90 04 00 3C */ stw r0, 0x3c(r4)
+lbl_8030655C:
+/* 8030655C 003021BC 7F C3 F3 78 */ mr r3, r30
+/* 80306560 003021C0 4B FF FD 65 */ bl VFipdm_bpb_calculate_common_bpb_fields
+/* 80306564 003021C4 80 1E 00 50 */ lwz r0, 0x50(r30)
+/* 80306568 003021C8 2C 00 00 02 */ cmpwi r0, 2
+/* 8030656C 003021CC 41 82 01 28 */ beq lbl_80306694
+/* 80306570 003021D0 40 80 02 9C */ bge lbl_8030680C
+/* 80306574 003021D4 2C 00 00 00 */ cmpwi r0, 0
+/* 80306578 003021D8 40 80 00 08 */ bge lbl_80306580
+/* 8030657C 003021DC 48 00 02 90 */ b lbl_8030680C
+lbl_80306580:
+/* 80306580 003021E0 A0 1E 00 12 */ lhz r0, 0x12(r30)
+/* 80306584 003021E4 2C 00 00 00 */ cmpwi r0, 0
+/* 80306588 003021E8 40 82 00 08 */ bne lbl_80306590
+/* 8030658C 003021EC 3B E0 00 04 */ li r31, 4
+lbl_80306590:
+/* 80306590 003021F0 38 60 00 00 */ li r3, 0
+/* 80306594 003021F4 34 1D 00 2B */ addic. r0, r29, 0x2b
+/* 80306598 003021F8 B0 7E 00 40 */ sth r3, 0x40(r30)
+/* 8030659C 003021FC B0 7E 00 42 */ sth r3, 0x42(r30)
+/* 803065A0 00302200 90 7E 00 44 */ stw r3, 0x44(r30)
+/* 803065A4 00302204 B0 7E 00 48 */ sth r3, 0x48(r30)
+/* 803065A8 00302208 B0 7E 00 4A */ sth r3, 0x4a(r30)
+/* 803065AC 0030220C 88 1D 00 24 */ lbz r0, 0x24(r29)
+/* 803065B0 00302210 98 1E 00 23 */ stb r0, 0x23(r30)
+/* 803065B4 00302214 88 1D 00 26 */ lbz r0, 0x26(r29)
+/* 803065B8 00302218 98 1E 00 28 */ stb r0, 0x28(r30)
+/* 803065BC 0030221C 88 7D 00 28 */ lbz r3, 0x28(r29)
+/* 803065C0 00302220 88 1D 00 27 */ lbz r0, 0x27(r29)
+/* 803065C4 00302224 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 803065C8 00302228 88 9D 00 29 */ lbz r4, 0x29(r29)
+/* 803065CC 0030222C 88 7D 00 2A */ lbz r3, 0x2a(r29)
+/* 803065D0 00302230 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf
+/* 803065D4 00302234 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
+/* 803065D8 00302238 90 1E 00 24 */ stw r0, 0x24(r30)
+/* 803065DC 0030223C 41 82 00 64 */ beq lbl_80306640
+/* 803065E0 00302240 34 1E 00 29 */ addic. r0, r30, 0x29
+/* 803065E4 00302244 41 82 00 5C */ beq lbl_80306640
+/* 803065E8 00302248 88 1D 00 2B */ lbz r0, 0x2b(r29)
+/* 803065EC 0030224C 98 1E 00 29 */ stb r0, 0x29(r30)
+/* 803065F0 00302250 88 1D 00 2C */ lbz r0, 0x2c(r29)
+/* 803065F4 00302254 98 1E 00 2A */ stb r0, 0x2a(r30)
+/* 803065F8 00302258 88 1D 00 2D */ lbz r0, 0x2d(r29)
+/* 803065FC 0030225C 98 1E 00 2B */ stb r0, 0x2b(r30)
+/* 80306600 00302260 88 1D 00 2E */ lbz r0, 0x2e(r29)
+/* 80306604 00302264 98 1E 00 2C */ stb r0, 0x2c(r30)
+/* 80306608 00302268 88 1D 00 2F */ lbz r0, 0x2f(r29)
+/* 8030660C 0030226C 98 1E 00 2D */ stb r0, 0x2d(r30)
+/* 80306610 00302270 88 1D 00 30 */ lbz r0, 0x30(r29)
+/* 80306614 00302274 98 1E 00 2E */ stb r0, 0x2e(r30)
+/* 80306618 00302278 88 1D 00 31 */ lbz r0, 0x31(r29)
+/* 8030661C 0030227C 98 1E 00 2F */ stb r0, 0x2f(r30)
+/* 80306620 00302280 88 1D 00 32 */ lbz r0, 0x32(r29)
+/* 80306624 00302284 98 1E 00 30 */ stb r0, 0x30(r30)
+/* 80306628 00302288 88 1D 00 33 */ lbz r0, 0x33(r29)
+/* 8030662C 0030228C 98 1E 00 31 */ stb r0, 0x31(r30)
+/* 80306630 00302290 88 1D 00 34 */ lbz r0, 0x34(r29)
+/* 80306634 00302294 98 1E 00 32 */ stb r0, 0x32(r30)
+/* 80306638 00302298 88 1D 00 35 */ lbz r0, 0x35(r29)
+/* 8030663C 0030229C 98 1E 00 33 */ stb r0, 0x33(r30)
+lbl_80306640:
+/* 80306640 003022A0 34 1D 00 36 */ addic. r0, r29, 0x36
+/* 80306644 003022A4 41 82 01 CC */ beq lbl_80306810
+/* 80306648 003022A8 34 1E 00 34 */ addic. r0, r30, 0x34
+/* 8030664C 003022AC 41 82 01 C4 */ beq lbl_80306810
+/* 80306650 003022B0 88 1D 00 36 */ lbz r0, 0x36(r29)
+/* 80306654 003022B4 98 1E 00 34 */ stb r0, 0x34(r30)
+/* 80306658 003022B8 88 1D 00 37 */ lbz r0, 0x37(r29)
+/* 8030665C 003022BC 98 1E 00 35 */ stb r0, 0x35(r30)
+/* 80306660 003022C0 88 1D 00 38 */ lbz r0, 0x38(r29)
+/* 80306664 003022C4 98 1E 00 36 */ stb r0, 0x36(r30)
+/* 80306668 003022C8 88 1D 00 39 */ lbz r0, 0x39(r29)
+/* 8030666C 003022CC 98 1E 00 37 */ stb r0, 0x37(r30)
+/* 80306670 003022D0 88 1D 00 3A */ lbz r0, 0x3a(r29)
+/* 80306674 003022D4 98 1E 00 38 */ stb r0, 0x38(r30)
+/* 80306678 003022D8 88 1D 00 3B */ lbz r0, 0x3b(r29)
+/* 8030667C 003022DC 98 1E 00 39 */ stb r0, 0x39(r30)
+/* 80306680 003022E0 88 1D 00 3C */ lbz r0, 0x3c(r29)
+/* 80306684 003022E4 98 1E 00 3A */ stb r0, 0x3a(r30)
+/* 80306688 003022E8 88 1D 00 3D */ lbz r0, 0x3d(r29)
+/* 8030668C 003022EC 98 1E 00 3B */ stb r0, 0x3b(r30)
+/* 80306690 003022F0 48 00 01 80 */ b lbl_80306810
+lbl_80306694:
+/* 80306694 003022F4 A0 1E 00 10 */ lhz r0, 0x10(r30)
+/* 80306698 003022F8 2C 00 00 00 */ cmpwi r0, 0
+/* 8030669C 003022FC 40 82 00 10 */ bne lbl_803066AC
+/* 803066A0 00302300 A0 1E 00 12 */ lhz r0, 0x12(r30)
+/* 803066A4 00302304 2C 00 00 00 */ cmpwi r0, 0
+/* 803066A8 00302308 41 82 00 08 */ beq lbl_803066B0
+lbl_803066AC:
+/* 803066AC 0030230C 3B E0 00 04 */ li r31, 4
+lbl_803066B0:
+/* 803066B0 00302310 34 1D 00 47 */ addic. r0, r29, 0x47
+/* 803066B4 00302314 88 7D 00 29 */ lbz r3, 0x29(r29)
+/* 803066B8 00302318 88 1D 00 28 */ lbz r0, 0x28(r29)
+/* 803066BC 0030231C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 803066C0 00302320 B0 1E 00 40 */ sth r0, 0x40(r30)
+/* 803066C4 00302324 88 7D 00 2B */ lbz r3, 0x2b(r29)
+/* 803066C8 00302328 88 1D 00 2A */ lbz r0, 0x2a(r29)
+/* 803066CC 0030232C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 803066D0 00302330 B0 1E 00 42 */ sth r0, 0x42(r30)
+/* 803066D4 00302334 88 7D 00 2D */ lbz r3, 0x2d(r29)
+/* 803066D8 00302338 88 1D 00 2C */ lbz r0, 0x2c(r29)
+/* 803066DC 0030233C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 803066E0 00302340 88 9D 00 2E */ lbz r4, 0x2e(r29)
+/* 803066E4 00302344 88 7D 00 2F */ lbz r3, 0x2f(r29)
+/* 803066E8 00302348 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf
+/* 803066EC 0030234C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
+/* 803066F0 00302350 90 1E 00 44 */ stw r0, 0x44(r30)
+/* 803066F4 00302354 88 7D 00 31 */ lbz r3, 0x31(r29)
+/* 803066F8 00302358 88 1D 00 30 */ lbz r0, 0x30(r29)
+/* 803066FC 0030235C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 80306700 00302360 B0 1E 00 48 */ sth r0, 0x48(r30)
+/* 80306704 00302364 88 7D 00 33 */ lbz r3, 0x33(r29)
+/* 80306708 00302368 88 1D 00 32 */ lbz r0, 0x32(r29)
+/* 8030670C 0030236C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 80306710 00302370 B0 1E 00 4A */ sth r0, 0x4a(r30)
+/* 80306714 00302374 88 1D 00 40 */ lbz r0, 0x40(r29)
+/* 80306718 00302378 98 1E 00 23 */ stb r0, 0x23(r30)
+/* 8030671C 0030237C 88 1D 00 42 */ lbz r0, 0x42(r29)
+/* 80306720 00302380 98 1E 00 28 */ stb r0, 0x28(r30)
+/* 80306724 00302384 88 7D 00 44 */ lbz r3, 0x44(r29)
+/* 80306728 00302388 88 1D 00 43 */ lbz r0, 0x43(r29)
+/* 8030672C 0030238C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 80306730 00302390 88 9D 00 45 */ lbz r4, 0x45(r29)
+/* 80306734 00302394 88 7D 00 46 */ lbz r3, 0x46(r29)
+/* 80306738 00302398 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf
+/* 8030673C 0030239C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
+/* 80306740 003023A0 90 1E 00 24 */ stw r0, 0x24(r30)
+/* 80306744 003023A4 41 82 00 64 */ beq lbl_803067A8
+/* 80306748 003023A8 34 1E 00 29 */ addic. r0, r30, 0x29
+/* 8030674C 003023AC 41 82 00 5C */ beq lbl_803067A8
+/* 80306750 003023B0 88 1D 00 47 */ lbz r0, 0x47(r29)
+/* 80306754 003023B4 98 1E 00 29 */ stb r0, 0x29(r30)
+/* 80306758 003023B8 88 1D 00 48 */ lbz r0, 0x48(r29)
+/* 8030675C 003023BC 98 1E 00 2A */ stb r0, 0x2a(r30)
+/* 80306760 003023C0 88 1D 00 49 */ lbz r0, 0x49(r29)
+/* 80306764 003023C4 98 1E 00 2B */ stb r0, 0x2b(r30)
+/* 80306768 003023C8 88 1D 00 4A */ lbz r0, 0x4a(r29)
+/* 8030676C 003023CC 98 1E 00 2C */ stb r0, 0x2c(r30)
+/* 80306770 003023D0 88 1D 00 4B */ lbz r0, 0x4b(r29)
+/* 80306774 003023D4 98 1E 00 2D */ stb r0, 0x2d(r30)
+/* 80306778 003023D8 88 1D 00 4C */ lbz r0, 0x4c(r29)
+/* 8030677C 003023DC 98 1E 00 2E */ stb r0, 0x2e(r30)
+/* 80306780 003023E0 88 1D 00 4D */ lbz r0, 0x4d(r29)
+/* 80306784 003023E4 98 1E 00 2F */ stb r0, 0x2f(r30)
+/* 80306788 003023E8 88 1D 00 4E */ lbz r0, 0x4e(r29)
+/* 8030678C 003023EC 98 1E 00 30 */ stb r0, 0x30(r30)
+/* 80306790 003023F0 88 1D 00 4F */ lbz r0, 0x4f(r29)
+/* 80306794 003023F4 98 1E 00 31 */ stb r0, 0x31(r30)
+/* 80306798 003023F8 88 1D 00 50 */ lbz r0, 0x50(r29)
+/* 8030679C 003023FC 98 1E 00 32 */ stb r0, 0x32(r30)
+/* 803067A0 00302400 88 1D 00 51 */ lbz r0, 0x51(r29)
+/* 803067A4 00302404 98 1E 00 33 */ stb r0, 0x33(r30)
+lbl_803067A8:
+/* 803067A8 00302408 34 1D 00 52 */ addic. r0, r29, 0x52
+/* 803067AC 0030240C 41 82 00 4C */ beq lbl_803067F8
+/* 803067B0 00302410 34 1E 00 34 */ addic. r0, r30, 0x34
+/* 803067B4 00302414 41 82 00 44 */ beq lbl_803067F8
+/* 803067B8 00302418 88 1D 00 52 */ lbz r0, 0x52(r29)
+/* 803067BC 0030241C 98 1E 00 34 */ stb r0, 0x34(r30)
+/* 803067C0 00302420 88 1D 00 53 */ lbz r0, 0x53(r29)
+/* 803067C4 00302424 98 1E 00 35 */ stb r0, 0x35(r30)
+/* 803067C8 00302428 88 1D 00 54 */ lbz r0, 0x54(r29)
+/* 803067CC 0030242C 98 1E 00 36 */ stb r0, 0x36(r30)
+/* 803067D0 00302430 88 1D 00 55 */ lbz r0, 0x55(r29)
+/* 803067D4 00302434 98 1E 00 37 */ stb r0, 0x37(r30)
+/* 803067D8 00302438 88 1D 00 56 */ lbz r0, 0x56(r29)
+/* 803067DC 0030243C 98 1E 00 38 */ stb r0, 0x38(r30)
+/* 803067E0 00302440 88 1D 00 57 */ lbz r0, 0x57(r29)
+/* 803067E4 00302444 98 1E 00 39 */ stb r0, 0x39(r30)
+/* 803067E8 00302448 88 1D 00 58 */ lbz r0, 0x58(r29)
+/* 803067EC 0030244C 98 1E 00 3A */ stb r0, 0x3a(r30)
+/* 803067F0 00302450 88 1D 00 59 */ lbz r0, 0x59(r29)
+/* 803067F4 00302454 98 1E 00 3B */ stb r0, 0x3b(r30)
+lbl_803067F8:
+/* 803067F8 00302458 A0 1E 00 42 */ lhz r0, 0x42(r30)
+/* 803067FC 0030245C 2C 00 00 00 */ cmpwi r0, 0
+/* 80306800 00302460 41 82 00 10 */ beq lbl_80306810
+/* 80306804 00302464 3B E0 00 04 */ li r31, 4
+/* 80306808 00302468 48 00 00 08 */ b lbl_80306810
+lbl_8030680C:
+/* 8030680C 0030246C 3B E0 00 04 */ li r31, 4
+lbl_80306810:
+/* 80306810 00302470 80 1E 00 50 */ lwz r0, 0x50(r30)
+/* 80306814 00302474 2C 00 00 02 */ cmpwi r0, 2
+/* 80306818 00302478 41 82 00 38 */ beq lbl_80306850
+/* 8030681C 0030247C 40 80 00 90 */ bge lbl_803068AC
+/* 80306820 00302480 2C 00 00 00 */ cmpwi r0, 0
+/* 80306824 00302484 40 80 00 08 */ bge lbl_8030682C
+/* 80306828 00302488 48 00 00 84 */ b lbl_803068AC
+lbl_8030682C:
+/* 8030682C 0030248C 88 7E 00 0B */ lbz r3, 0xb(r30)
+/* 80306830 00302490 80 1E 00 6C */ lwz r0, 0x6c(r30)
+/* 80306834 00302494 A0 9E 00 0C */ lhz r4, 0xc(r30)
+/* 80306838 00302498 7C 03 01 D6 */ mullw r0, r3, r0
+/* 8030683C 0030249C 98 7E 00 4F */ stb r3, 0x4f(r30)
+/* 80306840 003024A0 90 9E 00 58 */ stw r4, 0x58(r30)
+/* 80306844 003024A4 7C 04 02 14 */ add r0, r4, r0
+/* 80306848 003024A8 90 1E 00 5C */ stw r0, 0x5c(r30)
+/* 8030684C 003024AC 48 00 00 60 */ b lbl_803068AC
+lbl_80306850:
+/* 80306850 003024B0 A0 7E 00 40 */ lhz r3, 0x40(r30)
+/* 80306854 003024B4 80 BE 00 44 */ lwz r5, 0x44(r30)
+/* 80306858 003024B8 88 9E 00 55 */ lbz r4, 0x55(r30)
+/* 8030685C 003024BC 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
+/* 80306860 003024C0 38 A5 FF FE */ addi r5, r5, -2
+/* 80306864 003024C4 80 DE 00 60 */ lwz r6, 0x60(r30)
+/* 80306868 003024C8 7C A0 20 30 */ slw r0, r5, r4
+/* 8030686C 003024CC 7C 06 02 14 */ add r0, r6, r0
+/* 80306870 003024D0 90 1E 00 5C */ stw r0, 0x5c(r30)
+/* 80306874 003024D4 41 82 00 28 */ beq lbl_8030689C
+/* 80306878 003024D8 80 1E 00 6C */ lwz r0, 0x6c(r30)
+/* 8030687C 003024DC 54 63 07 7E */ clrlwi r3, r3, 0x1d
+/* 80306880 003024E0 38 A0 00 01 */ li r5, 1
+/* 80306884 003024E4 A0 9E 00 0C */ lhz r4, 0xc(r30)
+/* 80306888 003024E8 7C 03 01 D6 */ mullw r0, r3, r0
+/* 8030688C 003024EC 98 BE 00 4F */ stb r5, 0x4f(r30)
+/* 80306890 003024F0 7C 04 02 14 */ add r0, r4, r0
+/* 80306894 003024F4 90 1E 00 58 */ stw r0, 0x58(r30)
+/* 80306898 003024F8 48 00 00 14 */ b lbl_803068AC
+lbl_8030689C:
+/* 8030689C 003024FC 88 7E 00 0B */ lbz r3, 0xb(r30)
+/* 803068A0 00302500 A0 1E 00 0C */ lhz r0, 0xc(r30)
+/* 803068A4 00302504 98 7E 00 4F */ stb r3, 0x4f(r30)
+/* 803068A8 00302508 90 1E 00 58 */ stw r0, 0x58(r30)
+lbl_803068AC:
+/* 803068AC 0030250C 7F E3 FB 78 */ mr r3, r31
+lbl_803068B0:
+/* 803068B0 00302510 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803068B4 00302514 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803068B8 00302518 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803068BC 0030251C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803068C0 00302520 7C 08 03 A6 */ mtlr r0
+/* 803068C4 00302524 38 21 00 20 */ addi r1, r1, 0x20
+/* 803068C8 00302528 4E 80 00 20 */ blr
+
+.global VFipdm_bpb_get_fsinfo_information
+VFipdm_bpb_get_fsinfo_information:
+/* 803068CC 0030252C 2C 03 00 00 */ cmpwi r3, 0
+/* 803068D0 00302530 41 82 00 0C */ beq lbl_803068DC
+/* 803068D4 00302534 2C 04 00 00 */ cmpwi r4, 0
+/* 803068D8 00302538 40 82 00 0C */ bne lbl_803068E4
+lbl_803068DC:
+/* 803068DC 0030253C 38 60 00 01 */ li r3, 1
+/* 803068E0 00302540 4E 80 00 20 */ blr
+lbl_803068E4:
+/* 803068E4 00302544 88 A3 01 E9 */ lbz r5, 0x1e9(r3)
+/* 803068E8 00302548 88 03 01 E8 */ lbz r0, 0x1e8(r3)
+/* 803068EC 0030254C 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 803068F0 00302550 88 C3 01 EA */ lbz r6, 0x1ea(r3)
+/* 803068F4 00302554 88 A3 01 EB */ lbz r5, 0x1eb(r3)
+/* 803068F8 00302558 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
+/* 803068FC 0030255C 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
+/* 80306900 00302560 90 04 00 00 */ stw r0, 0(r4)
+/* 80306904 00302564 88 C3 01 EE */ lbz r6, 0x1ee(r3)
+/* 80306908 00302568 88 A3 01 ED */ lbz r5, 0x1ed(r3)
+/* 8030690C 0030256C 88 03 01 EC */ lbz r0, 0x1ec(r3)
+/* 80306910 00302570 88 E3 01 EF */ lbz r7, 0x1ef(r3)
+/* 80306914 00302574 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 80306918 00302578 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
+/* 8030691C 0030257C 38 60 00 00 */ li r3, 0
+/* 80306920 00302580 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7
+/* 80306924 00302584 90 04 00 04 */ stw r0, 4(r4)
+/* 80306928 00302588 4E 80 00 20 */ blr
+
+.global VFipdm_bpb_check_boot_sector
+VFipdm_bpb_check_boot_sector:
+/* 8030692C 0030258C 2C 03 00 00 */ cmpwi r3, 0
+/* 80306930 00302590 41 82 00 0C */ beq lbl_8030693C
+/* 80306934 00302594 2C 04 00 00 */ cmpwi r4, 0
+/* 80306938 00302598 40 82 00 0C */ bne lbl_80306944
+lbl_8030693C:
+/* 8030693C 0030259C 38 60 00 01 */ li r3, 1
+/* 80306940 003025A0 4E 80 00 20 */ blr
+lbl_80306944:
+/* 80306944 003025A4 38 00 00 01 */ li r0, 1
+/* 80306948 003025A8 90 04 00 00 */ stw r0, 0(r4)
+/* 8030694C 003025AC 88 A3 00 00 */ lbz r5, 0(r3)
+/* 80306950 003025B0 28 05 00 EB */ cmplwi r5, 0xeb
+/* 80306954 003025B4 40 82 00 10 */ bne lbl_80306964
+/* 80306958 003025B8 88 03 00 02 */ lbz r0, 2(r3)
+/* 8030695C 003025BC 28 00 00 90 */ cmplwi r0, 0x90
+/* 80306960 003025C0 41 82 00 14 */ beq lbl_80306974
+lbl_80306964:
+/* 80306964 003025C4 28 05 00 E9 */ cmplwi r5, 0xe9
+/* 80306968 003025C8 41 82 00 0C */ beq lbl_80306974
+/* 8030696C 003025CC 38 00 00 00 */ li r0, 0
+/* 80306970 003025D0 90 04 00 00 */ stw r0, 0(r4)
+lbl_80306974:
+/* 80306974 003025D4 88 03 01 FE */ lbz r0, 0x1fe(r3)
+/* 80306978 003025D8 28 00 00 55 */ cmplwi r0, 0x55
+/* 8030697C 003025DC 40 82 00 10 */ bne lbl_8030698C
+/* 80306980 003025E0 88 03 01 FF */ lbz r0, 0x1ff(r3)
+/* 80306984 003025E4 28 00 00 AA */ cmplwi r0, 0xaa
+/* 80306988 003025E8 41 82 00 0C */ beq lbl_80306994
+lbl_8030698C:
+/* 8030698C 003025EC 38 00 00 00 */ li r0, 0
+/* 80306990 003025F0 90 04 00 00 */ stw r0, 0(r4)
+lbl_80306994:
+/* 80306994 003025F4 88 A3 00 0C */ lbz r5, 0xc(r3)
+/* 80306998 003025F8 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 8030699C 003025FC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
+/* 803069A0 00302600 28 00 02 00 */ cmplwi r0, 0x200
+/* 803069A4 00302604 41 82 00 28 */ beq lbl_803069CC
+/* 803069A8 00302608 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 803069AC 0030260C 28 00 04 00 */ cmplwi r0, 0x400
+/* 803069B0 00302610 41 82 00 1C */ beq lbl_803069CC
+/* 803069B4 00302614 28 00 08 00 */ cmplwi r0, 0x800
+/* 803069B8 00302618 41 82 00 14 */ beq lbl_803069CC
+/* 803069BC 0030261C 28 00 10 00 */ cmplwi r0, 0x1000
+/* 803069C0 00302620 41 82 00 0C */ beq lbl_803069CC
+/* 803069C4 00302624 38 00 00 00 */ li r0, 0
+/* 803069C8 00302628 90 04 00 00 */ stw r0, 0(r4)
+lbl_803069CC:
+/* 803069CC 0030262C 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 803069D0 00302630 28 00 00 01 */ cmplwi r0, 1
+/* 803069D4 00302634 41 82 00 44 */ beq lbl_80306A18
+/* 803069D8 00302638 28 00 00 02 */ cmplwi r0, 2
+/* 803069DC 0030263C 41 82 00 3C */ beq lbl_80306A18
+/* 803069E0 00302640 28 00 00 04 */ cmplwi r0, 4
+/* 803069E4 00302644 41 82 00 34 */ beq lbl_80306A18
+/* 803069E8 00302648 28 00 00 08 */ cmplwi r0, 8
+/* 803069EC 0030264C 41 82 00 2C */ beq lbl_80306A18
+/* 803069F0 00302650 28 00 00 10 */ cmplwi r0, 0x10
+/* 803069F4 00302654 41 82 00 24 */ beq lbl_80306A18
+/* 803069F8 00302658 28 00 00 20 */ cmplwi r0, 0x20
+/* 803069FC 0030265C 41 82 00 1C */ beq lbl_80306A18
+/* 80306A00 00302660 28 00 00 40 */ cmplwi r0, 0x40
+/* 80306A04 00302664 41 82 00 14 */ beq lbl_80306A18
+/* 80306A08 00302668 28 00 00 80 */ cmplwi r0, 0x80
+/* 80306A0C 0030266C 41 82 00 0C */ beq lbl_80306A18
+/* 80306A10 00302670 38 00 00 00 */ li r0, 0
+/* 80306A14 00302674 90 04 00 00 */ stw r0, 0(r4)
+lbl_80306A18:
+/* 80306A18 00302678 88 03 00 15 */ lbz r0, 0x15(r3)
+/* 80306A1C 0030267C 28 00 00 F0 */ cmplwi r0, 0xf0
+/* 80306A20 00302680 41 82 00 4C */ beq lbl_80306A6C
+/* 80306A24 00302684 28 00 00 F8 */ cmplwi r0, 0xf8
+/* 80306A28 00302688 41 82 00 44 */ beq lbl_80306A6C
+/* 80306A2C 0030268C 28 00 00 F9 */ cmplwi r0, 0xf9
+/* 80306A30 00302690 41 82 00 3C */ beq lbl_80306A6C
+/* 80306A34 00302694 28 00 00 FA */ cmplwi r0, 0xfa
+/* 80306A38 00302698 41 82 00 34 */ beq lbl_80306A6C
+/* 80306A3C 0030269C 28 00 00 FB */ cmplwi r0, 0xfb
+/* 80306A40 003026A0 41 82 00 2C */ beq lbl_80306A6C
+/* 80306A44 003026A4 28 00 00 FC */ cmplwi r0, 0xfc
+/* 80306A48 003026A8 41 82 00 24 */ beq lbl_80306A6C
+/* 80306A4C 003026AC 28 00 00 FD */ cmplwi r0, 0xfd
+/* 80306A50 003026B0 41 82 00 1C */ beq lbl_80306A6C
+/* 80306A54 003026B4 28 00 00 FE */ cmplwi r0, 0xfe
+/* 80306A58 003026B8 41 82 00 14 */ beq lbl_80306A6C
+/* 80306A5C 003026BC 28 00 00 FF */ cmplwi r0, 0xff
+/* 80306A60 003026C0 41 82 00 0C */ beq lbl_80306A6C
+/* 80306A64 003026C4 38 00 00 00 */ li r0, 0
+/* 80306A68 003026C8 90 04 00 00 */ stw r0, 0(r4)
+lbl_80306A6C:
+/* 80306A6C 003026CC 38 60 00 00 */ li r3, 0
+/* 80306A70 003026D0 4E 80 00 20 */ blr
+
+.global VFipdm_bpb_check_fsinfo_sector
+VFipdm_bpb_check_fsinfo_sector:
+/* 80306A74 003026D4 2C 03 00 00 */ cmpwi r3, 0
+/* 80306A78 003026D8 41 82 00 0C */ beq lbl_80306A84
+/* 80306A7C 003026DC 2C 04 00 00 */ cmpwi r4, 0
+/* 80306A80 003026E0 40 82 00 0C */ bne lbl_80306A8C
+lbl_80306A84:
+/* 80306A84 003026E4 38 60 00 01 */ li r3, 1
+/* 80306A88 003026E8 4E 80 00 20 */ blr
+lbl_80306A8C:
+/* 80306A8C 003026EC 88 03 00 01 */ lbz r0, 1(r3)
+/* 80306A90 003026F0 88 A3 00 00 */ lbz r5, 0(r3)
+/* 80306A94 003026F4 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 80306A98 003026F8 88 C3 00 02 */ lbz r6, 2(r3)
+/* 80306A9C 003026FC 88 03 00 03 */ lbz r0, 3(r3)
+/* 80306AA0 00302700 50 C5 82 1E */ rlwimi r5, r6, 0x10, 8, 0xf
+/* 80306AA4 00302704 88 E3 01 E5 */ lbz r7, 0x1e5(r3)
+/* 80306AA8 00302708 50 05 C0 0E */ rlwimi r5, r0, 0x18, 0, 7
+/* 80306AAC 0030270C 89 23 01 E4 */ lbz r9, 0x1e4(r3)
+/* 80306AB0 00302710 3C 05 BE 9F */ addis r0, r5, 0xbe9f
+/* 80306AB4 00302714 88 A3 01 FD */ lbz r5, 0x1fd(r3)
+/* 80306AB8 00302718 50 E9 44 2E */ rlwimi r9, r7, 8, 0x10, 0x17
+/* 80306ABC 0030271C 89 03 01 E6 */ lbz r8, 0x1e6(r3)
+/* 80306AC0 00302720 88 E3 01 FC */ lbz r7, 0x1fc(r3)
+/* 80306AC4 00302724 50 A7 44 2E */ rlwimi r7, r5, 8, 0x10, 0x17
+/* 80306AC8 00302728 88 C3 01 FE */ lbz r6, 0x1fe(r3)
+/* 80306ACC 0030272C 28 00 52 52 */ cmplwi r0, 0x5252
+/* 80306AD0 00302730 88 A3 01 E7 */ lbz r5, 0x1e7(r3)
+/* 80306AD4 00302734 51 09 82 1E */ rlwimi r9, r8, 0x10, 8, 0xf
+/* 80306AD8 00302738 88 03 01 FF */ lbz r0, 0x1ff(r3)
+/* 80306ADC 0030273C 50 C7 82 1E */ rlwimi r7, r6, 0x10, 8, 0xf
+/* 80306AE0 00302740 50 A9 C0 0E */ rlwimi r9, r5, 0x18, 0, 7
+/* 80306AE4 00302744 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7
+/* 80306AE8 00302748 40 82 00 28 */ bne lbl_80306B10
+/* 80306AEC 0030274C 3C 09 9E BF */ addis r0, r9, 0x9ebf
+/* 80306AF0 00302750 28 00 72 72 */ cmplwi r0, 0x7272
+/* 80306AF4 00302754 40 82 00 1C */ bne lbl_80306B10
+/* 80306AF8 00302758 3C 07 55 AB */ addis r0, r7, 0x55ab
+/* 80306AFC 0030275C 28 00 00 00 */ cmplwi r0, 0
+/* 80306B00 00302760 40 82 00 10 */ bne lbl_80306B10
+/* 80306B04 00302764 38 00 00 01 */ li r0, 1
+/* 80306B08 00302768 90 04 00 00 */ stw r0, 0(r4)
+/* 80306B0C 0030276C 48 00 00 0C */ b lbl_80306B18
+lbl_80306B10:
+/* 80306B10 00302770 38 00 00 00 */ li r0, 0
+/* 80306B14 00302774 90 04 00 00 */ stw r0, 0(r4)
+lbl_80306B18:
+/* 80306B18 00302778 38 60 00 00 */ li r3, 0
+/* 80306B1C 0030277C 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pdm_disk.s b/asm/SDK/VF/pdm_disk.s new file mode 100644 index 0000000..1247bde --- /dev/null +++ b/asm/SDK/VF/pdm_disk.s @@ -0,0 +1,1037 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFipdm_disk_convert_sector_into_block
+VFipdm_disk_convert_sector_into_block:
+/* 80306B20 00302780 90 87 00 00 */ stw r4, 0(r7)
+/* 80306B24 00302784 28 06 02 00 */ cmplwi r6, 0x200
+/* 80306B28 00302788 38 60 00 00 */ li r3, 0
+/* 80306B2C 0030278C 90 A8 00 00 */ stw r5, 0(r8)
+/* 80306B30 00302790 40 81 00 94 */ ble lbl_80306BC4
+/* 80306B34 00302794 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f
+/* 80306B38 00302798 28 04 00 02 */ cmplwi r4, 2
+/* 80306B3C 0030279C 40 82 00 14 */ bne lbl_80306B50
+/* 80306B40 003027A0 80 07 00 00 */ lwz r0, 0(r7)
+/* 80306B44 003027A4 54 00 08 3C */ slwi r0, r0, 1
+/* 80306B48 003027A8 90 07 00 00 */ stw r0, 0(r7)
+/* 80306B4C 003027AC 48 00 00 30 */ b lbl_80306B7C
+lbl_80306B50:
+/* 80306B50 003027B0 28 04 00 04 */ cmplwi r4, 4
+/* 80306B54 003027B4 40 82 00 14 */ bne lbl_80306B68
+/* 80306B58 003027B8 80 07 00 00 */ lwz r0, 0(r7)
+/* 80306B5C 003027BC 54 00 10 3A */ slwi r0, r0, 2
+/* 80306B60 003027C0 90 07 00 00 */ stw r0, 0(r7)
+/* 80306B64 003027C4 48 00 00 18 */ b lbl_80306B7C
+lbl_80306B68:
+/* 80306B68 003027C8 28 04 00 08 */ cmplwi r4, 8
+/* 80306B6C 003027CC 40 82 00 10 */ bne lbl_80306B7C
+/* 80306B70 003027D0 80 07 00 00 */ lwz r0, 0(r7)
+/* 80306B74 003027D4 54 00 18 38 */ slwi r0, r0, 3
+/* 80306B78 003027D8 90 07 00 00 */ stw r0, 0(r7)
+lbl_80306B7C:
+/* 80306B7C 003027DC 28 04 00 02 */ cmplwi r4, 2
+/* 80306B80 003027E0 40 82 00 14 */ bne lbl_80306B94
+/* 80306B84 003027E4 80 08 00 00 */ lwz r0, 0(r8)
+/* 80306B88 003027E8 54 00 08 3C */ slwi r0, r0, 1
+/* 80306B8C 003027EC 90 08 00 00 */ stw r0, 0(r8)
+/* 80306B90 003027F0 4E 80 00 20 */ blr
+lbl_80306B94:
+/* 80306B94 003027F4 28 04 00 04 */ cmplwi r4, 4
+/* 80306B98 003027F8 40 82 00 14 */ bne lbl_80306BAC
+/* 80306B9C 003027FC 80 08 00 00 */ lwz r0, 0(r8)
+/* 80306BA0 00302800 54 00 10 3A */ slwi r0, r0, 2
+/* 80306BA4 00302804 90 08 00 00 */ stw r0, 0(r8)
+/* 80306BA8 00302808 4E 80 00 20 */ blr
+lbl_80306BAC:
+/* 80306BAC 0030280C 28 04 00 08 */ cmplwi r4, 8
+/* 80306BB0 00302810 4C 82 00 20 */ bnelr
+/* 80306BB4 00302814 80 08 00 00 */ lwz r0, 0(r8)
+/* 80306BB8 00302818 54 00 18 38 */ slwi r0, r0, 3
+/* 80306BBC 0030281C 90 08 00 00 */ stw r0, 0(r8)
+/* 80306BC0 00302820 4E 80 00 20 */ blr
+lbl_80306BC4:
+/* 80306BC4 00302824 4C 80 00 20 */ bgelr
+/* 80306BC8 00302828 38 60 00 04 */ li r3, 4
+/* 80306BCC 0030282C 4E 80 00 20 */ blr
+
+.global VFipdm_disk_convert_block_into_sector
+VFipdm_disk_convert_block_into_sector:
+/* 80306BD0 00302830 90 87 00 00 */ stw r4, 0(r7)
+/* 80306BD4 00302834 28 06 02 00 */ cmplwi r6, 0x200
+/* 80306BD8 00302838 38 60 00 00 */ li r3, 0
+/* 80306BDC 0030283C 90 A8 00 00 */ stw r5, 0(r8)
+/* 80306BE0 00302840 40 81 00 94 */ ble lbl_80306C74
+/* 80306BE4 00302844 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f
+/* 80306BE8 00302848 28 04 00 02 */ cmplwi r4, 2
+/* 80306BEC 0030284C 40 82 00 14 */ bne lbl_80306C00
+/* 80306BF0 00302850 80 07 00 00 */ lwz r0, 0(r7)
+/* 80306BF4 00302854 54 00 F8 7E */ srwi r0, r0, 1
+/* 80306BF8 00302858 90 07 00 00 */ stw r0, 0(r7)
+/* 80306BFC 0030285C 48 00 00 30 */ b lbl_80306C2C
+lbl_80306C00:
+/* 80306C00 00302860 28 04 00 04 */ cmplwi r4, 4
+/* 80306C04 00302864 40 82 00 14 */ bne lbl_80306C18
+/* 80306C08 00302868 80 07 00 00 */ lwz r0, 0(r7)
+/* 80306C0C 0030286C 54 00 F0 BE */ srwi r0, r0, 2
+/* 80306C10 00302870 90 07 00 00 */ stw r0, 0(r7)
+/* 80306C14 00302874 48 00 00 18 */ b lbl_80306C2C
+lbl_80306C18:
+/* 80306C18 00302878 28 04 00 08 */ cmplwi r4, 8
+/* 80306C1C 0030287C 40 82 00 10 */ bne lbl_80306C2C
+/* 80306C20 00302880 80 07 00 00 */ lwz r0, 0(r7)
+/* 80306C24 00302884 54 00 E8 FE */ srwi r0, r0, 3
+/* 80306C28 00302888 90 07 00 00 */ stw r0, 0(r7)
+lbl_80306C2C:
+/* 80306C2C 0030288C 28 04 00 02 */ cmplwi r4, 2
+/* 80306C30 00302890 40 82 00 14 */ bne lbl_80306C44
+/* 80306C34 00302894 80 08 00 00 */ lwz r0, 0(r8)
+/* 80306C38 00302898 54 00 F8 7E */ srwi r0, r0, 1
+/* 80306C3C 0030289C 90 08 00 00 */ stw r0, 0(r8)
+/* 80306C40 003028A0 4E 80 00 20 */ blr
+lbl_80306C44:
+/* 80306C44 003028A4 28 04 00 04 */ cmplwi r4, 4
+/* 80306C48 003028A8 40 82 00 14 */ bne lbl_80306C5C
+/* 80306C4C 003028AC 80 08 00 00 */ lwz r0, 0(r8)
+/* 80306C50 003028B0 54 00 F0 BE */ srwi r0, r0, 2
+/* 80306C54 003028B4 90 08 00 00 */ stw r0, 0(r8)
+/* 80306C58 003028B8 4E 80 00 20 */ blr
+lbl_80306C5C:
+/* 80306C5C 003028BC 28 04 00 08 */ cmplwi r4, 8
+/* 80306C60 003028C0 4C 82 00 20 */ bnelr
+/* 80306C64 003028C4 80 08 00 00 */ lwz r0, 0(r8)
+/* 80306C68 003028C8 54 00 E8 FE */ srwi r0, r0, 3
+/* 80306C6C 003028CC 90 08 00 00 */ stw r0, 0(r8)
+/* 80306C70 003028D0 4E 80 00 20 */ blr
+lbl_80306C74:
+/* 80306C74 003028D4 4C 80 00 20 */ bgelr
+/* 80306C78 003028D8 38 60 00 04 */ li r3, 4
+/* 80306C7C 003028DC 4E 80 00 20 */ blr
+
+VFipdm_disk_do_get_permission:
+/* 80306C80 003028E0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80306C84 003028E4 7C 08 02 A6 */ mflr r0
+/* 80306C88 003028E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80306C8C 003028EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80306C90 003028F0 7C 9F 23 78 */ mr r31, r4
+/* 80306C94 003028F4 93 C1 00 08 */ stw r30, 8(r1)
+/* 80306C98 003028F8 7C 7E 1B 78 */ mr r30, r3
+/* 80306C9C 003028FC A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 80306CA0 00302900 2C 00 00 00 */ cmpwi r0, 0
+/* 80306CA4 00302904 41 82 00 10 */ beq lbl_80306CB4
+/* 80306CA8 00302908 80 04 00 00 */ lwz r0, 0(r4)
+/* 80306CAC 0030290C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 80306CB0 00302910 41 82 00 C4 */ beq lbl_80306D74
+lbl_80306CB4:
+/* 80306CB4 00302914 80 84 00 04 */ lwz r4, 4(r4)
+/* 80306CB8 00302918 7F C3 F3 78 */ mr r3, r30
+/* 80306CBC 0030291C 81 84 00 08 */ lwz r12, 8(r4)
+/* 80306CC0 00302920 7D 89 03 A6 */ mtctr r12
+/* 80306CC4 00302924 4E 80 04 21 */ bctrl
+/* 80306CC8 00302928 2C 03 00 00 */ cmpwi r3, 0
+/* 80306CCC 0030292C 7C 64 1B 78 */ mr r4, r3
+/* 80306CD0 00302930 41 82 00 1C */ beq lbl_80306CEC
+/* 80306CD4 00302934 80 7F 00 30 */ lwz r3, 0x30(r31)
+/* 80306CD8 00302938 2C 03 00 00 */ cmpwi r3, 0
+/* 80306CDC 0030293C 41 82 00 08 */ beq lbl_80306CE4
+/* 80306CE0 00302940 48 00 1A D9 */ bl VFipdm_part_set_driver_error_code
+lbl_80306CE4:
+/* 80306CE4 00302944 38 60 00 15 */ li r3, 0x15
+/* 80306CE8 00302948 48 00 00 9C */ b lbl_80306D84
+lbl_80306CEC:
+/* 80306CEC 0030294C 80 BF 00 04 */ lwz r5, 4(r31)
+/* 80306CF0 00302950 7F C3 F3 78 */ mr r3, r30
+/* 80306CF4 00302954 38 9F 00 18 */ addi r4, r31, 0x18
+/* 80306CF8 00302958 81 85 00 1C */ lwz r12, 0x1c(r5)
+/* 80306CFC 0030295C 7D 89 03 A6 */ mtctr r12
+/* 80306D00 00302960 4E 80 04 21 */ bctrl
+/* 80306D04 00302964 2C 03 00 00 */ cmpwi r3, 0
+/* 80306D08 00302968 7C 64 1B 78 */ mr r4, r3
+/* 80306D0C 0030296C 41 82 00 1C */ beq lbl_80306D28
+/* 80306D10 00302970 80 7F 00 30 */ lwz r3, 0x30(r31)
+/* 80306D14 00302974 2C 03 00 00 */ cmpwi r3, 0
+/* 80306D18 00302978 41 82 00 08 */ beq lbl_80306D20
+/* 80306D1C 0030297C 48 00 1A 9D */ bl VFipdm_part_set_driver_error_code
+lbl_80306D20:
+/* 80306D20 00302980 38 60 00 15 */ li r3, 0x15
+/* 80306D24 00302984 48 00 00 60 */ b lbl_80306D84
+lbl_80306D28:
+/* 80306D28 00302988 A0 1F 00 20 */ lhz r0, 0x20(r31)
+/* 80306D2C 0030298C 54 00 05 FF */ clrlwi. r0, r0, 0x17
+/* 80306D30 00302990 41 82 00 0C */ beq lbl_80306D3C
+/* 80306D34 00302994 38 60 00 16 */ li r3, 0x16
+/* 80306D38 00302998 48 00 00 4C */ b lbl_80306D84
+lbl_80306D3C:
+/* 80306D3C 0030299C 80 1F 00 24 */ lwz r0, 0x24(r31)
+/* 80306D40 003029A0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80306D44 003029A4 41 82 00 14 */ beq lbl_80306D58
+/* 80306D48 003029A8 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80306D4C 003029AC 60 00 00 10 */ ori r0, r0, 0x10
+/* 80306D50 003029B0 90 1F 00 00 */ stw r0, 0(r31)
+/* 80306D54 003029B4 48 00 00 10 */ b lbl_80306D64
+lbl_80306D58:
+/* 80306D58 003029B8 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80306D5C 003029BC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
+/* 80306D60 003029C0 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80306D64:
+/* 80306D64 003029C4 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80306D68 003029C8 60 00 00 02 */ ori r0, r0, 2
+/* 80306D6C 003029CC 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
+/* 80306D70 003029D0 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80306D74:
+/* 80306D74 003029D4 A0 9F 00 12 */ lhz r4, 0x12(r31)
+/* 80306D78 003029D8 38 60 00 00 */ li r3, 0
+/* 80306D7C 003029DC 38 04 00 01 */ addi r0, r4, 1
+/* 80306D80 003029E0 B0 1F 00 12 */ sth r0, 0x12(r31)
+lbl_80306D84:
+/* 80306D84 003029E4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80306D88 003029E8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80306D8C 003029EC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80306D90 003029F0 7C 08 03 A6 */ mtlr r0
+/* 80306D94 003029F4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80306D98 003029F8 4E 80 00 20 */ blr
+
+.global VFipdm_disk_check_disk_handle
+VFipdm_disk_check_disk_handle:
+/* 80306D9C 003029FC 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 80306DA0 00302A00 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17
+/* 80306DA4 00302A04 28 00 00 1A */ cmplwi r0, 0x1a
+/* 80306DA8 00302A08 54 65 84 3E */ srwi r5, r3, 0x10
+/* 80306DAC 00302A0C 40 80 00 28 */ bge lbl_80306DD4
+/* 80306DB0 00302A10 28 04 03 00 */ cmplwi r4, 0x300
+/* 80306DB4 00302A14 40 82 00 20 */ bne lbl_80306DD4
+/* 80306DB8 00302A18 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 80306DBC 00302A1C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80306DC0 00302A20 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l
+/* 80306DC4 00302A24 7C 64 02 14 */ add r3, r4, r0
+/* 80306DC8 00302A28 80 03 01 B0 */ lwz r0, 0x1b0(r3)
+/* 80306DCC 00302A2C 7C 05 00 40 */ cmplw r5, r0
+/* 80306DD0 00302A30 40 81 00 0C */ ble lbl_80306DDC
+lbl_80306DD4:
+/* 80306DD4 00302A34 38 60 00 01 */ li r3, 1
+/* 80306DD8 00302A38 4E 80 00 20 */ blr
+lbl_80306DDC:
+/* 80306DDC 00302A3C 38 00 00 0D */ li r0, 0xd
+/* 80306DE0 00302A40 38 E3 01 A4 */ addi r7, r3, 0x1a4
+/* 80306DE4 00302A44 38 60 00 00 */ li r3, 0
+/* 80306DE8 00302A48 7C 09 03 A6 */ mtctr r0
+lbl_80306DEC:
+/* 80306DEC 00302A4C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80306DF0 00302A50 7C C4 02 14 */ add r6, r4, r0
+/* 80306DF4 00302A54 80 06 00 08 */ lwz r0, 8(r6)
+/* 80306DF8 00302A58 7C 00 38 40 */ cmplw r0, r7
+/* 80306DFC 00302A5C 40 82 00 10 */ bne lbl_80306E0C
+/* 80306E00 00302A60 80 06 00 04 */ lwz r0, 4(r6)
+/* 80306E04 00302A64 7C 05 00 40 */ cmplw r5, r0
+/* 80306E08 00302A68 41 82 00 30 */ beq lbl_80306E38
+lbl_80306E0C:
+/* 80306E0C 00302A6C 38 63 00 01 */ addi r3, r3, 1
+/* 80306E10 00302A70 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80306E14 00302A74 7C C4 02 14 */ add r6, r4, r0
+/* 80306E18 00302A78 80 06 00 08 */ lwz r0, 8(r6)
+/* 80306E1C 00302A7C 7C 00 38 40 */ cmplw r0, r7
+/* 80306E20 00302A80 40 82 00 10 */ bne lbl_80306E30
+/* 80306E24 00302A84 80 06 00 04 */ lwz r0, 4(r6)
+/* 80306E28 00302A88 7C 05 00 40 */ cmplw r5, r0
+/* 80306E2C 00302A8C 41 82 00 0C */ beq lbl_80306E38
+lbl_80306E30:
+/* 80306E30 00302A90 38 63 00 01 */ addi r3, r3, 1
+/* 80306E34 00302A94 42 00 FF B8 */ bdnz lbl_80306DEC
+lbl_80306E38:
+/* 80306E38 00302A98 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 80306E3C 00302A9C 38 60 00 1A */ li r3, 0x1a
+/* 80306E40 00302AA0 38 04 FF E6 */ addi r0, r4, -26
+/* 80306E44 00302AA4 7C 83 1B 38 */ orc r3, r4, r3
+/* 80306E48 00302AA8 54 00 F8 7E */ srwi r0, r0, 1
+/* 80306E4C 00302AAC 7C 00 18 50 */ subf r0, r0, r3
+/* 80306E50 00302AB0 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80306E54 00302AB4 4E 80 00 20 */ blr
+
+.global VFipdm_disk_get_part_permission
+VFipdm_disk_get_part_permission:
+/* 80306E58 00302AB8 2C 03 00 00 */ cmpwi r3, 0
+/* 80306E5C 00302ABC 40 82 00 0C */ bne lbl_80306E68
+/* 80306E60 00302AC0 38 60 00 01 */ li r3, 1
+/* 80306E64 00302AC4 4E 80 00 20 */ blr
+lbl_80306E68:
+/* 80306E68 00302AC8 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80306E6C 00302ACC 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80306E70 00302AD0 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80306E74 00302AD4 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80306E78 00302AD8 40 80 00 28 */ bge lbl_80306EA0
+/* 80306E7C 00302ADC 28 00 03 00 */ cmplwi r0, 0x300
+/* 80306E80 00302AE0 40 82 00 20 */ bne lbl_80306EA0
+/* 80306E84 00302AE4 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 80306E88 00302AE8 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 80306E8C 00302AEC 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
+/* 80306E90 00302AF0 7C 85 02 14 */ add r4, r5, r0
+/* 80306E94 00302AF4 80 04 01 B0 */ lwz r0, 0x1b0(r4)
+/* 80306E98 00302AF8 7C 08 00 40 */ cmplw r8, r0
+/* 80306E9C 00302AFC 40 81 00 0C */ ble lbl_80306EA8
+lbl_80306EA0:
+/* 80306EA0 00302B00 38 00 00 01 */ li r0, 1
+/* 80306EA4 00302B04 48 00 00 7C */ b lbl_80306F20
+lbl_80306EA8:
+/* 80306EA8 00302B08 38 00 00 0D */ li r0, 0xd
+/* 80306EAC 00302B0C 38 C4 01 A4 */ addi r6, r4, 0x1a4
+/* 80306EB0 00302B10 38 80 00 00 */ li r4, 0
+/* 80306EB4 00302B14 7C 09 03 A6 */ mtctr r0
+lbl_80306EB8:
+/* 80306EB8 00302B18 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80306EBC 00302B1C 7D 25 02 14 */ add r9, r5, r0
+/* 80306EC0 00302B20 80 09 00 08 */ lwz r0, 8(r9)
+/* 80306EC4 00302B24 7C 00 30 40 */ cmplw r0, r6
+/* 80306EC8 00302B28 40 82 00 10 */ bne lbl_80306ED8
+/* 80306ECC 00302B2C 80 09 00 04 */ lwz r0, 4(r9)
+/* 80306ED0 00302B30 7C 08 00 40 */ cmplw r8, r0
+/* 80306ED4 00302B34 41 82 00 30 */ beq lbl_80306F04
+lbl_80306ED8:
+/* 80306ED8 00302B38 38 84 00 01 */ addi r4, r4, 1
+/* 80306EDC 00302B3C 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80306EE0 00302B40 7D 25 02 14 */ add r9, r5, r0
+/* 80306EE4 00302B44 80 09 00 08 */ lwz r0, 8(r9)
+/* 80306EE8 00302B48 7C 00 30 40 */ cmplw r0, r6
+/* 80306EEC 00302B4C 40 82 00 10 */ bne lbl_80306EFC
+/* 80306EF0 00302B50 80 09 00 04 */ lwz r0, 4(r9)
+/* 80306EF4 00302B54 7C 08 00 40 */ cmplw r8, r0
+/* 80306EF8 00302B58 41 82 00 0C */ beq lbl_80306F04
+lbl_80306EFC:
+/* 80306EFC 00302B5C 38 84 00 01 */ addi r4, r4, 1
+/* 80306F00 00302B60 42 00 FF B8 */ bdnz lbl_80306EB8
+lbl_80306F04:
+/* 80306F04 00302B64 54 85 04 3E */ clrlwi r5, r4, 0x10
+/* 80306F08 00302B68 38 80 00 1A */ li r4, 0x1a
+/* 80306F0C 00302B6C 38 05 FF E6 */ addi r0, r5, -26
+/* 80306F10 00302B70 7C A4 23 38 */ orc r4, r5, r4
+/* 80306F14 00302B74 54 00 F8 7E */ srwi r0, r0, 1
+/* 80306F18 00302B78 7C 00 20 50 */ subf r0, r0, r4
+/* 80306F1C 00302B7C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_80306F20:
+/* 80306F20 00302B80 2C 00 00 00 */ cmpwi r0, 0
+/* 80306F24 00302B84 41 82 00 0C */ beq lbl_80306F30
+/* 80306F28 00302B88 7C 03 03 78 */ mr r3, r0
+/* 80306F2C 00302B8C 4E 80 00 20 */ blr
+lbl_80306F30:
+/* 80306F30 00302B90 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 80306F34 00302B94 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 80306F38 00302B98 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l
+/* 80306F3C 00302B9C 7C 84 02 14 */ add r4, r4, r0
+/* 80306F40 00302BA0 38 84 01 A4 */ addi r4, r4, 0x1a4
+/* 80306F44 00302BA4 4B FF FD 3C */ b VFipdm_disk_do_get_permission
+/* 80306F48 00302BA8 4E 80 00 20 */ blr
+
+.global VFipdm_disk_release_part_permission
+VFipdm_disk_release_part_permission:
+/* 80306F4C 00302BAC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80306F50 00302BB0 7C 08 02 A6 */ mflr r0
+/* 80306F54 00302BB4 2C 03 00 00 */ cmpwi r3, 0
+/* 80306F58 00302BB8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80306F5C 00302BBC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80306F60 00302BC0 7C 9F 23 78 */ mr r31, r4
+/* 80306F64 00302BC4 93 C1 00 08 */ stw r30, 8(r1)
+/* 80306F68 00302BC8 40 82 00 0C */ bne lbl_80306F74
+/* 80306F6C 00302BCC 38 60 00 01 */ li r3, 1
+/* 80306F70 00302BD0 48 00 01 60 */ b lbl_803070D0
+lbl_80306F74:
+/* 80306F74 00302BD4 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80306F78 00302BD8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80306F7C 00302BDC 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80306F80 00302BE0 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80306F84 00302BE4 40 80 00 28 */ bge lbl_80306FAC
+/* 80306F88 00302BE8 28 00 03 00 */ cmplwi r0, 0x300
+/* 80306F8C 00302BEC 40 82 00 20 */ bne lbl_80306FAC
+/* 80306F90 00302BF0 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 80306F94 00302BF4 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 80306F98 00302BF8 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
+/* 80306F9C 00302BFC 7C 85 02 14 */ add r4, r5, r0
+/* 80306FA0 00302C00 80 04 01 B0 */ lwz r0, 0x1b0(r4)
+/* 80306FA4 00302C04 7C 08 00 40 */ cmplw r8, r0
+/* 80306FA8 00302C08 40 81 00 0C */ ble lbl_80306FB4
+lbl_80306FAC:
+/* 80306FAC 00302C0C 38 00 00 01 */ li r0, 1
+/* 80306FB0 00302C10 48 00 00 7C */ b lbl_8030702C
+lbl_80306FB4:
+/* 80306FB4 00302C14 38 00 00 0D */ li r0, 0xd
+/* 80306FB8 00302C18 38 C4 01 A4 */ addi r6, r4, 0x1a4
+/* 80306FBC 00302C1C 38 80 00 00 */ li r4, 0
+/* 80306FC0 00302C20 7C 09 03 A6 */ mtctr r0
+lbl_80306FC4:
+/* 80306FC4 00302C24 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80306FC8 00302C28 7D 25 02 14 */ add r9, r5, r0
+/* 80306FCC 00302C2C 80 09 00 08 */ lwz r0, 8(r9)
+/* 80306FD0 00302C30 7C 00 30 40 */ cmplw r0, r6
+/* 80306FD4 00302C34 40 82 00 10 */ bne lbl_80306FE4
+/* 80306FD8 00302C38 80 09 00 04 */ lwz r0, 4(r9)
+/* 80306FDC 00302C3C 7C 08 00 40 */ cmplw r8, r0
+/* 80306FE0 00302C40 41 82 00 30 */ beq lbl_80307010
+lbl_80306FE4:
+/* 80306FE4 00302C44 38 84 00 01 */ addi r4, r4, 1
+/* 80306FE8 00302C48 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80306FEC 00302C4C 7D 25 02 14 */ add r9, r5, r0
+/* 80306FF0 00302C50 80 09 00 08 */ lwz r0, 8(r9)
+/* 80306FF4 00302C54 7C 00 30 40 */ cmplw r0, r6
+/* 80306FF8 00302C58 40 82 00 10 */ bne lbl_80307008
+/* 80306FFC 00302C5C 80 09 00 04 */ lwz r0, 4(r9)
+/* 80307000 00302C60 7C 08 00 40 */ cmplw r8, r0
+/* 80307004 00302C64 41 82 00 0C */ beq lbl_80307010
+lbl_80307008:
+/* 80307008 00302C68 38 84 00 01 */ addi r4, r4, 1
+/* 8030700C 00302C6C 42 00 FF B8 */ bdnz lbl_80306FC4
+lbl_80307010:
+/* 80307010 00302C70 54 85 04 3E */ clrlwi r5, r4, 0x10
+/* 80307014 00302C74 38 80 00 1A */ li r4, 0x1a
+/* 80307018 00302C78 38 05 FF E6 */ addi r0, r5, -26
+/* 8030701C 00302C7C 7C A4 23 38 */ orc r4, r5, r4
+/* 80307020 00302C80 54 00 F8 7E */ srwi r0, r0, 1
+/* 80307024 00302C84 7C 00 20 50 */ subf r0, r0, r4
+/* 80307028 00302C88 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_8030702C:
+/* 8030702C 00302C8C 2C 00 00 00 */ cmpwi r0, 0
+/* 80307030 00302C90 41 82 00 0C */ beq lbl_8030703C
+/* 80307034 00302C94 7C 03 03 78 */ mr r3, r0
+/* 80307038 00302C98 48 00 00 98 */ b lbl_803070D0
+lbl_8030703C:
+/* 8030703C 00302C9C 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 80307040 00302CA0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 80307044 00302CA4 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l
+/* 80307048 00302CA8 7F C4 02 14 */ add r30, r4, r0
+/* 8030704C 00302CAC A0 1E 01 B6 */ lhz r0, 0x1b6(r30)
+/* 80307050 00302CB0 2C 00 00 00 */ cmpwi r0, 0
+/* 80307054 00302CB4 40 82 00 0C */ bne lbl_80307060
+/* 80307058 00302CB8 38 60 00 0E */ li r3, 0xe
+/* 8030705C 00302CBC 48 00 00 74 */ b lbl_803070D0
+lbl_80307060:
+/* 80307060 00302CC0 28 00 00 01 */ cmplwi r0, 1
+/* 80307064 00302CC4 38 80 00 00 */ li r4, 0
+/* 80307068 00302CC8 40 82 00 34 */ bne lbl_8030709C
+/* 8030706C 00302CCC 80 9E 01 A8 */ lwz r4, 0x1a8(r30)
+/* 80307070 00302CD0 81 84 00 0C */ lwz r12, 0xc(r4)
+/* 80307074 00302CD4 7D 89 03 A6 */ mtctr r12
+/* 80307078 00302CD8 4E 80 04 21 */ bctrl
+/* 8030707C 00302CDC 2C 03 00 00 */ cmpwi r3, 0
+/* 80307080 00302CE0 7C 64 1B 78 */ mr r4, r3
+/* 80307084 00302CE4 41 82 00 18 */ beq lbl_8030709C
+/* 80307088 00302CE8 80 7E 01 D4 */ lwz r3, 0x1d4(r30)
+/* 8030708C 00302CEC 2C 03 00 00 */ cmpwi r3, 0
+/* 80307090 00302CF0 41 82 00 08 */ beq lbl_80307098
+/* 80307094 00302CF4 48 00 17 25 */ bl VFipdm_part_set_driver_error_code
+lbl_80307098:
+/* 80307098 00302CF8 38 80 00 15 */ li r4, 0x15
+lbl_8030709C:
+/* 8030709C 00302CFC 2C 04 00 00 */ cmpwi r4, 0
+/* 803070A0 00302D00 41 82 00 0C */ beq lbl_803070AC
+/* 803070A4 00302D04 28 1F 00 01 */ cmplwi r31, 1
+/* 803070A8 00302D08 40 82 00 24 */ bne lbl_803070CC
+lbl_803070AC:
+/* 803070AC 00302D0C A0 7E 01 B6 */ lhz r3, 0x1b6(r30)
+/* 803070B0 00302D10 38 63 FF FF */ addi r3, r3, -1
+/* 803070B4 00302D14 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 803070B8 00302D18 B0 7E 01 B6 */ sth r3, 0x1b6(r30)
+/* 803070BC 00302D1C 40 82 00 10 */ bne lbl_803070CC
+/* 803070C0 00302D20 80 1E 01 A4 */ lwz r0, 0x1a4(r30)
+/* 803070C4 00302D24 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
+/* 803070C8 00302D28 90 1E 01 A4 */ stw r0, 0x1a4(r30)
+lbl_803070CC:
+/* 803070CC 00302D2C 7C 83 23 78 */ mr r3, r4
+lbl_803070D0:
+/* 803070D0 00302D30 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803070D4 00302D34 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803070D8 00302D38 83 C1 00 08 */ lwz r30, 8(r1)
+/* 803070DC 00302D3C 7C 08 03 A6 */ mtlr r0
+/* 803070E0 00302D40 38 21 00 10 */ addi r1, r1, 0x10
+/* 803070E4 00302D44 4E 80 00 20 */ blr
+
+.global VFipdm_disk_physical_read
+VFipdm_disk_physical_read:
+/* 803070E8 00302D48 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803070EC 00302D4C 7C 08 02 A6 */ mflr r0
+/* 803070F0 00302D50 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803070F4 00302D54 39 61 00 30 */ addi r11, r1, 0x30
+/* 803070F8 00302D58 4B EC 00 31 */ bl _savegpr_27
+/* 803070FC 00302D5C 2C 03 00 00 */ cmpwi r3, 0
+/* 80307100 00302D60 7C 7C 1B 78 */ mr r28, r3
+/* 80307104 00302D64 7C 9D 23 78 */ mr r29, r4
+/* 80307108 00302D68 7C FE 3B 78 */ mr r30, r7
+/* 8030710C 00302D6C 7D 1F 43 78 */ mr r31, r8
+/* 80307110 00302D70 41 82 00 24 */ beq lbl_80307134
+/* 80307114 00302D74 2C 04 00 00 */ cmpwi r4, 0
+/* 80307118 00302D78 41 82 00 1C */ beq lbl_80307134
+/* 8030711C 00302D7C 2C 06 00 00 */ cmpwi r6, 0
+/* 80307120 00302D80 41 82 00 14 */ beq lbl_80307134
+/* 80307124 00302D84 2C 07 00 00 */ cmpwi r7, 0
+/* 80307128 00302D88 41 82 00 0C */ beq lbl_80307134
+/* 8030712C 00302D8C 2C 08 00 00 */ cmpwi r8, 0
+/* 80307130 00302D90 40 82 00 0C */ bne lbl_8030713C
+lbl_80307134:
+/* 80307134 00302D94 38 60 00 01 */ li r3, 1
+/* 80307138 00302D98 48 00 01 70 */ b lbl_803072A8
+lbl_8030713C:
+/* 8030713C 00302D9C 54 68 06 3E */ clrlwi r8, r3, 0x18
+/* 80307140 00302DA0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80307144 00302DA4 28 08 00 1A */ cmplwi r8, 0x1a
+/* 80307148 00302DA8 54 69 84 3E */ srwi r9, r3, 0x10
+/* 8030714C 00302DAC 40 80 00 28 */ bge lbl_80307174
+/* 80307150 00302DB0 28 00 03 00 */ cmplwi r0, 0x300
+/* 80307154 00302DB4 40 82 00 20 */ bne lbl_80307174
+/* 80307158 00302DB8 1C 08 00 34 */ mulli r0, r8, 0x34
+/* 8030715C 00302DBC 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307160 00302DC0 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l
+/* 80307164 00302DC4 7C 64 02 14 */ add r3, r4, r0
+/* 80307168 00302DC8 80 03 01 B0 */ lwz r0, 0x1b0(r3)
+/* 8030716C 00302DCC 7C 09 00 40 */ cmplw r9, r0
+/* 80307170 00302DD0 40 81 00 0C */ ble lbl_8030717C
+lbl_80307174:
+/* 80307174 00302DD4 38 60 00 01 */ li r3, 1
+/* 80307178 00302DD8 48 00 00 7C */ b lbl_803071F4
+lbl_8030717C:
+/* 8030717C 00302DDC 38 00 00 0D */ li r0, 0xd
+/* 80307180 00302DE0 38 E3 01 A4 */ addi r7, r3, 0x1a4
+/* 80307184 00302DE4 38 60 00 00 */ li r3, 0
+/* 80307188 00302DE8 7C 09 03 A6 */ mtctr r0
+lbl_8030718C:
+/* 8030718C 00302DEC 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307190 00302DF0 7D 44 02 14 */ add r10, r4, r0
+/* 80307194 00302DF4 80 0A 00 08 */ lwz r0, 8(r10)
+/* 80307198 00302DF8 7C 00 38 40 */ cmplw r0, r7
+/* 8030719C 00302DFC 40 82 00 10 */ bne lbl_803071AC
+/* 803071A0 00302E00 80 0A 00 04 */ lwz r0, 4(r10)
+/* 803071A4 00302E04 7C 09 00 40 */ cmplw r9, r0
+/* 803071A8 00302E08 41 82 00 30 */ beq lbl_803071D8
+lbl_803071AC:
+/* 803071AC 00302E0C 38 63 00 01 */ addi r3, r3, 1
+/* 803071B0 00302E10 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 803071B4 00302E14 7D 44 02 14 */ add r10, r4, r0
+/* 803071B8 00302E18 80 0A 00 08 */ lwz r0, 8(r10)
+/* 803071BC 00302E1C 7C 00 38 40 */ cmplw r0, r7
+/* 803071C0 00302E20 40 82 00 10 */ bne lbl_803071D0
+/* 803071C4 00302E24 80 0A 00 04 */ lwz r0, 4(r10)
+/* 803071C8 00302E28 7C 09 00 40 */ cmplw r9, r0
+/* 803071CC 00302E2C 41 82 00 0C */ beq lbl_803071D8
+lbl_803071D0:
+/* 803071D0 00302E30 38 63 00 01 */ addi r3, r3, 1
+/* 803071D4 00302E34 42 00 FF B8 */ bdnz lbl_8030718C
+lbl_803071D8:
+/* 803071D8 00302E38 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 803071DC 00302E3C 38 60 00 1A */ li r3, 0x1a
+/* 803071E0 00302E40 38 04 FF E6 */ addi r0, r4, -26
+/* 803071E4 00302E44 7C 83 1B 38 */ orc r3, r4, r3
+/* 803071E8 00302E48 54 00 F8 7E */ srwi r0, r0, 1
+/* 803071EC 00302E4C 7C 00 18 50 */ subf r0, r0, r3
+/* 803071F0 00302E50 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_803071F4:
+/* 803071F4 00302E54 2C 03 00 00 */ cmpwi r3, 0
+/* 803071F8 00302E58 41 82 00 08 */ beq lbl_80307200
+/* 803071FC 00302E5C 48 00 00 AC */ b lbl_803072A8
+lbl_80307200:
+/* 80307200 00302E60 1C 08 00 34 */ mulli r0, r8, 0x34
+/* 80307204 00302E64 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307208 00302E68 7C A4 2B 78 */ mr r4, r5
+/* 8030720C 00302E6C 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 80307210 00302E70 7C 63 02 14 */ add r3, r3, r0
+/* 80307214 00302E74 7C C5 33 78 */ mr r5, r6
+/* 80307218 00302E78 3B 63 01 A4 */ addi r27, r3, 0x1a4
+/* 8030721C 00302E7C 7F C6 F3 78 */ mr r6, r30
+/* 80307220 00302E80 7F 63 DB 78 */ mr r3, r27
+/* 80307224 00302E84 38 E1 00 10 */ addi r7, r1, 0x10
+/* 80307228 00302E88 39 01 00 0C */ addi r8, r1, 0xc
+/* 8030722C 00302E8C 4B FF F8 F5 */ bl VFipdm_disk_convert_sector_into_block
+/* 80307230 00302E90 2C 03 00 00 */ cmpwi r3, 0
+/* 80307234 00302E94 41 82 00 08 */ beq lbl_8030723C
+/* 80307238 00302E98 48 00 00 70 */ b lbl_803072A8
+lbl_8030723C:
+/* 8030723C 00302E9C 80 BB 00 04 */ lwz r5, 4(r27)
+/* 80307240 00302EA0 7F 83 E3 78 */ mr r3, r28
+/* 80307244 00302EA4 7F A4 EB 78 */ mr r4, r29
+/* 80307248 00302EA8 7F E7 FB 78 */ mr r7, r31
+/* 8030724C 00302EAC 81 85 00 14 */ lwz r12, 0x14(r5)
+/* 80307250 00302EB0 80 A1 00 10 */ lwz r5, 0x10(r1)
+/* 80307254 00302EB4 80 C1 00 0C */ lwz r6, 0xc(r1)
+/* 80307258 00302EB8 7D 89 03 A6 */ mtctr r12
+/* 8030725C 00302EBC 4E 80 04 21 */ bctrl
+/* 80307260 00302EC0 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80307264 00302EC4 7C 7C 1B 78 */ mr r28, r3
+/* 80307268 00302EC8 80 BF 00 00 */ lwz r5, 0(r31)
+/* 8030726C 00302ECC 7F 63 DB 78 */ mr r3, r27
+/* 80307270 00302ED0 7F C6 F3 78 */ mr r6, r30
+/* 80307274 00302ED4 7F E8 FB 78 */ mr r8, r31
+/* 80307278 00302ED8 38 E1 00 08 */ addi r7, r1, 8
+/* 8030727C 00302EDC 4B FF F9 55 */ bl VFipdm_disk_convert_block_into_sector
+/* 80307280 00302EE0 2C 1C 00 00 */ cmpwi r28, 0
+/* 80307284 00302EE4 41 82 00 20 */ beq lbl_803072A4
+/* 80307288 00302EE8 80 7B 00 30 */ lwz r3, 0x30(r27)
+/* 8030728C 00302EEC 2C 03 00 00 */ cmpwi r3, 0
+/* 80307290 00302EF0 41 82 00 0C */ beq lbl_8030729C
+/* 80307294 00302EF4 7F 84 E3 78 */ mr r4, r28
+/* 80307298 00302EF8 48 00 15 21 */ bl VFipdm_part_set_driver_error_code
+lbl_8030729C:
+/* 8030729C 00302EFC 38 60 00 15 */ li r3, 0x15
+/* 803072A0 00302F00 48 00 00 08 */ b lbl_803072A8
+lbl_803072A4:
+/* 803072A4 00302F04 38 60 00 00 */ li r3, 0
+lbl_803072A8:
+/* 803072A8 00302F08 39 61 00 30 */ addi r11, r1, 0x30
+/* 803072AC 00302F0C 4B EB FE C9 */ bl _restgpr_27
+/* 803072B0 00302F10 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803072B4 00302F14 7C 08 03 A6 */ mtlr r0
+/* 803072B8 00302F18 38 21 00 30 */ addi r1, r1, 0x30
+/* 803072BC 00302F1C 4E 80 00 20 */ blr
+
+.global VFipdm_disk_physical_write
+VFipdm_disk_physical_write:
+/* 803072C0 00302F20 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803072C4 00302F24 7C 08 02 A6 */ mflr r0
+/* 803072C8 00302F28 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803072CC 00302F2C 39 61 00 30 */ addi r11, r1, 0x30
+/* 803072D0 00302F30 4B EB FE 59 */ bl _savegpr_27
+/* 803072D4 00302F34 2C 03 00 00 */ cmpwi r3, 0
+/* 803072D8 00302F38 7C 7C 1B 78 */ mr r28, r3
+/* 803072DC 00302F3C 7C 9D 23 78 */ mr r29, r4
+/* 803072E0 00302F40 7C FE 3B 78 */ mr r30, r7
+/* 803072E4 00302F44 7D 1F 43 78 */ mr r31, r8
+/* 803072E8 00302F48 41 82 00 24 */ beq lbl_8030730C
+/* 803072EC 00302F4C 2C 04 00 00 */ cmpwi r4, 0
+/* 803072F0 00302F50 41 82 00 1C */ beq lbl_8030730C
+/* 803072F4 00302F54 2C 06 00 00 */ cmpwi r6, 0
+/* 803072F8 00302F58 41 82 00 14 */ beq lbl_8030730C
+/* 803072FC 00302F5C 2C 07 00 00 */ cmpwi r7, 0
+/* 80307300 00302F60 41 82 00 0C */ beq lbl_8030730C
+/* 80307304 00302F64 2C 08 00 00 */ cmpwi r8, 0
+/* 80307308 00302F68 40 82 00 0C */ bne lbl_80307314
+lbl_8030730C:
+/* 8030730C 00302F6C 38 60 00 01 */ li r3, 1
+/* 80307310 00302F70 48 00 01 70 */ b lbl_80307480
+lbl_80307314:
+/* 80307314 00302F74 54 68 06 3E */ clrlwi r8, r3, 0x18
+/* 80307318 00302F78 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 8030731C 00302F7C 28 08 00 1A */ cmplwi r8, 0x1a
+/* 80307320 00302F80 54 69 84 3E */ srwi r9, r3, 0x10
+/* 80307324 00302F84 40 80 00 28 */ bge lbl_8030734C
+/* 80307328 00302F88 28 00 03 00 */ cmplwi r0, 0x300
+/* 8030732C 00302F8C 40 82 00 20 */ bne lbl_8030734C
+/* 80307330 00302F90 1C 08 00 34 */ mulli r0, r8, 0x34
+/* 80307334 00302F94 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307338 00302F98 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l
+/* 8030733C 00302F9C 7C 64 02 14 */ add r3, r4, r0
+/* 80307340 00302FA0 80 03 01 B0 */ lwz r0, 0x1b0(r3)
+/* 80307344 00302FA4 7C 09 00 40 */ cmplw r9, r0
+/* 80307348 00302FA8 40 81 00 0C */ ble lbl_80307354
+lbl_8030734C:
+/* 8030734C 00302FAC 38 60 00 01 */ li r3, 1
+/* 80307350 00302FB0 48 00 00 7C */ b lbl_803073CC
+lbl_80307354:
+/* 80307354 00302FB4 38 00 00 0D */ li r0, 0xd
+/* 80307358 00302FB8 38 E3 01 A4 */ addi r7, r3, 0x1a4
+/* 8030735C 00302FBC 38 60 00 00 */ li r3, 0
+/* 80307360 00302FC0 7C 09 03 A6 */ mtctr r0
+lbl_80307364:
+/* 80307364 00302FC4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307368 00302FC8 7D 44 02 14 */ add r10, r4, r0
+/* 8030736C 00302FCC 80 0A 00 08 */ lwz r0, 8(r10)
+/* 80307370 00302FD0 7C 00 38 40 */ cmplw r0, r7
+/* 80307374 00302FD4 40 82 00 10 */ bne lbl_80307384
+/* 80307378 00302FD8 80 0A 00 04 */ lwz r0, 4(r10)
+/* 8030737C 00302FDC 7C 09 00 40 */ cmplw r9, r0
+/* 80307380 00302FE0 41 82 00 30 */ beq lbl_803073B0
+lbl_80307384:
+/* 80307384 00302FE4 38 63 00 01 */ addi r3, r3, 1
+/* 80307388 00302FE8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 8030738C 00302FEC 7D 44 02 14 */ add r10, r4, r0
+/* 80307390 00302FF0 80 0A 00 08 */ lwz r0, 8(r10)
+/* 80307394 00302FF4 7C 00 38 40 */ cmplw r0, r7
+/* 80307398 00302FF8 40 82 00 10 */ bne lbl_803073A8
+/* 8030739C 00302FFC 80 0A 00 04 */ lwz r0, 4(r10)
+/* 803073A0 00303000 7C 09 00 40 */ cmplw r9, r0
+/* 803073A4 00303004 41 82 00 0C */ beq lbl_803073B0
+lbl_803073A8:
+/* 803073A8 00303008 38 63 00 01 */ addi r3, r3, 1
+/* 803073AC 0030300C 42 00 FF B8 */ bdnz lbl_80307364
+lbl_803073B0:
+/* 803073B0 00303010 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 803073B4 00303014 38 60 00 1A */ li r3, 0x1a
+/* 803073B8 00303018 38 04 FF E6 */ addi r0, r4, -26
+/* 803073BC 0030301C 7C 83 1B 38 */ orc r3, r4, r3
+/* 803073C0 00303020 54 00 F8 7E */ srwi r0, r0, 1
+/* 803073C4 00303024 7C 00 18 50 */ subf r0, r0, r3
+/* 803073C8 00303028 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_803073CC:
+/* 803073CC 0030302C 2C 03 00 00 */ cmpwi r3, 0
+/* 803073D0 00303030 41 82 00 08 */ beq lbl_803073D8
+/* 803073D4 00303034 48 00 00 AC */ b lbl_80307480
+lbl_803073D8:
+/* 803073D8 00303038 1C 08 00 34 */ mulli r0, r8, 0x34
+/* 803073DC 0030303C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 803073E0 00303040 7C A4 2B 78 */ mr r4, r5
+/* 803073E4 00303044 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 803073E8 00303048 7C 63 02 14 */ add r3, r3, r0
+/* 803073EC 0030304C 7C C5 33 78 */ mr r5, r6
+/* 803073F0 00303050 3B 63 01 A4 */ addi r27, r3, 0x1a4
+/* 803073F4 00303054 7F C6 F3 78 */ mr r6, r30
+/* 803073F8 00303058 7F 63 DB 78 */ mr r3, r27
+/* 803073FC 0030305C 38 E1 00 10 */ addi r7, r1, 0x10
+/* 80307400 00303060 39 01 00 0C */ addi r8, r1, 0xc
+/* 80307404 00303064 4B FF F7 1D */ bl VFipdm_disk_convert_sector_into_block
+/* 80307408 00303068 2C 03 00 00 */ cmpwi r3, 0
+/* 8030740C 0030306C 41 82 00 08 */ beq lbl_80307414
+/* 80307410 00303070 48 00 00 70 */ b lbl_80307480
+lbl_80307414:
+/* 80307414 00303074 80 BB 00 04 */ lwz r5, 4(r27)
+/* 80307418 00303078 7F 83 E3 78 */ mr r3, r28
+/* 8030741C 0030307C 7F A4 EB 78 */ mr r4, r29
+/* 80307420 00303080 7F E7 FB 78 */ mr r7, r31
+/* 80307424 00303084 81 85 00 18 */ lwz r12, 0x18(r5)
+/* 80307428 00303088 80 A1 00 10 */ lwz r5, 0x10(r1)
+/* 8030742C 0030308C 80 C1 00 0C */ lwz r6, 0xc(r1)
+/* 80307430 00303090 7D 89 03 A6 */ mtctr r12
+/* 80307434 00303094 4E 80 04 21 */ bctrl
+/* 80307438 00303098 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 8030743C 0030309C 7C 7C 1B 78 */ mr r28, r3
+/* 80307440 003030A0 80 BF 00 00 */ lwz r5, 0(r31)
+/* 80307444 003030A4 7F 63 DB 78 */ mr r3, r27
+/* 80307448 003030A8 7F C6 F3 78 */ mr r6, r30
+/* 8030744C 003030AC 7F E8 FB 78 */ mr r8, r31
+/* 80307450 003030B0 38 E1 00 08 */ addi r7, r1, 8
+/* 80307454 003030B4 4B FF F7 7D */ bl VFipdm_disk_convert_block_into_sector
+/* 80307458 003030B8 2C 1C 00 00 */ cmpwi r28, 0
+/* 8030745C 003030BC 41 82 00 20 */ beq lbl_8030747C
+/* 80307460 003030C0 80 7B 00 30 */ lwz r3, 0x30(r27)
+/* 80307464 003030C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80307468 003030C8 41 82 00 0C */ beq lbl_80307474
+/* 8030746C 003030CC 7F 84 E3 78 */ mr r4, r28
+/* 80307470 003030D0 48 00 13 49 */ bl VFipdm_part_set_driver_error_code
+lbl_80307474:
+/* 80307474 003030D4 38 60 00 15 */ li r3, 0x15
+/* 80307478 003030D8 48 00 00 08 */ b lbl_80307480
+lbl_8030747C:
+/* 8030747C 003030DC 38 60 00 00 */ li r3, 0
+lbl_80307480:
+/* 80307480 003030E0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80307484 003030E4 4B EB FC F1 */ bl _restgpr_27
+/* 80307488 003030E8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030748C 003030EC 7C 08 03 A6 */ mtlr r0
+/* 80307490 003030F0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80307494 003030F4 4E 80 00 20 */ blr
+
+.global VFipdm_disk_format
+VFipdm_disk_format:
+/* 80307498 003030F8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030749C 003030FC 7C 08 02 A6 */ mflr r0
+/* 803074A0 00303100 2C 03 00 00 */ cmpwi r3, 0
+/* 803074A4 00303104 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803074A8 00303108 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803074AC 0030310C 40 82 00 0C */ bne lbl_803074B8
+/* 803074B0 00303110 38 60 00 01 */ li r3, 1
+/* 803074B4 00303114 48 00 01 14 */ b lbl_803075C8
+lbl_803074B8:
+/* 803074B8 00303118 54 68 06 3E */ clrlwi r8, r3, 0x18
+/* 803074BC 0030311C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 803074C0 00303120 28 08 00 1A */ cmplwi r8, 0x1a
+/* 803074C4 00303124 54 69 84 3E */ srwi r9, r3, 0x10
+/* 803074C8 00303128 40 80 00 28 */ bge lbl_803074F0
+/* 803074CC 0030312C 28 00 03 00 */ cmplwi r0, 0x300
+/* 803074D0 00303130 40 82 00 20 */ bne lbl_803074F0
+/* 803074D4 00303134 1C 08 00 34 */ mulli r0, r8, 0x34
+/* 803074D8 00303138 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 803074DC 0030313C 38 C5 EA 60 */ addi r6, r5, lbl_8057EA60@l
+/* 803074E0 00303140 7C A6 02 14 */ add r5, r6, r0
+/* 803074E4 00303144 80 05 01 B0 */ lwz r0, 0x1b0(r5)
+/* 803074E8 00303148 7C 09 00 40 */ cmplw r9, r0
+/* 803074EC 0030314C 40 81 00 0C */ ble lbl_803074F8
+lbl_803074F0:
+/* 803074F0 00303150 38 00 00 01 */ li r0, 1
+/* 803074F4 00303154 48 00 00 7C */ b lbl_80307570
+lbl_803074F8:
+/* 803074F8 00303158 38 00 00 0D */ li r0, 0xd
+/* 803074FC 0030315C 38 E5 01 A4 */ addi r7, r5, 0x1a4
+/* 80307500 00303160 38 A0 00 00 */ li r5, 0
+/* 80307504 00303164 7C 09 03 A6 */ mtctr r0
+lbl_80307508:
+/* 80307508 00303168 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c
+/* 8030750C 0030316C 7D 46 02 14 */ add r10, r6, r0
+/* 80307510 00303170 80 0A 00 08 */ lwz r0, 8(r10)
+/* 80307514 00303174 7C 00 38 40 */ cmplw r0, r7
+/* 80307518 00303178 40 82 00 10 */ bne lbl_80307528
+/* 8030751C 0030317C 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80307520 00303180 7C 09 00 40 */ cmplw r9, r0
+/* 80307524 00303184 41 82 00 30 */ beq lbl_80307554
+lbl_80307528:
+/* 80307528 00303188 38 A5 00 01 */ addi r5, r5, 1
+/* 8030752C 0030318C 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c
+/* 80307530 00303190 7D 46 02 14 */ add r10, r6, r0
+/* 80307534 00303194 80 0A 00 08 */ lwz r0, 8(r10)
+/* 80307538 00303198 7C 00 38 40 */ cmplw r0, r7
+/* 8030753C 0030319C 40 82 00 10 */ bne lbl_8030754C
+/* 80307540 003031A0 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80307544 003031A4 7C 09 00 40 */ cmplw r9, r0
+/* 80307548 003031A8 41 82 00 0C */ beq lbl_80307554
+lbl_8030754C:
+/* 8030754C 003031AC 38 A5 00 01 */ addi r5, r5, 1
+/* 80307550 003031B0 42 00 FF B8 */ bdnz lbl_80307508
+lbl_80307554:
+/* 80307554 003031B4 54 A6 04 3E */ clrlwi r6, r5, 0x10
+/* 80307558 003031B8 38 A0 00 1A */ li r5, 0x1a
+/* 8030755C 003031BC 38 06 FF E6 */ addi r0, r6, -26
+/* 80307560 003031C0 7C C5 2B 38 */ orc r5, r6, r5
+/* 80307564 003031C4 54 00 F8 7E */ srwi r0, r0, 1
+/* 80307568 003031C8 7C 00 28 50 */ subf r0, r0, r5
+/* 8030756C 003031CC 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_80307570:
+/* 80307570 003031D0 2C 00 00 00 */ cmpwi r0, 0
+/* 80307574 003031D4 41 82 00 0C */ beq lbl_80307580
+/* 80307578 003031D8 7C 03 03 78 */ mr r3, r0
+/* 8030757C 003031DC 48 00 00 4C */ b lbl_803075C8
+lbl_80307580:
+/* 80307580 003031E0 1C 08 00 34 */ mulli r0, r8, 0x34
+/* 80307584 003031E4 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 80307588 003031E8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 8030758C 003031EC 7F E5 02 14 */ add r31, r5, r0
+/* 80307590 003031F0 80 BF 01 A8 */ lwz r5, 0x1a8(r31)
+/* 80307594 003031F4 81 85 00 10 */ lwz r12, 0x10(r5)
+/* 80307598 003031F8 7D 89 03 A6 */ mtctr r12
+/* 8030759C 003031FC 4E 80 04 21 */ bctrl
+/* 803075A0 00303200 2C 03 00 00 */ cmpwi r3, 0
+/* 803075A4 00303204 7C 64 1B 78 */ mr r4, r3
+/* 803075A8 00303208 41 82 00 1C */ beq lbl_803075C4
+/* 803075AC 0030320C 80 7F 01 D4 */ lwz r3, 0x1d4(r31)
+/* 803075B0 00303210 2C 03 00 00 */ cmpwi r3, 0
+/* 803075B4 00303214 41 82 00 08 */ beq lbl_803075BC
+/* 803075B8 00303218 48 00 12 01 */ bl VFipdm_part_set_driver_error_code
+lbl_803075BC:
+/* 803075BC 0030321C 38 60 00 15 */ li r3, 0x15
+/* 803075C0 00303220 48 00 00 08 */ b lbl_803075C8
+lbl_803075C4:
+/* 803075C4 00303224 38 60 00 00 */ li r3, 0
+lbl_803075C8:
+/* 803075C8 00303228 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803075CC 0030322C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803075D0 00303230 7C 08 03 A6 */ mtlr r0
+/* 803075D4 00303234 38 21 00 10 */ addi r1, r1, 0x10
+/* 803075D8 00303238 4E 80 00 20 */ blr
+
+.global VFipdm_disk_get_lba_size
+VFipdm_disk_get_lba_size:
+/* 803075DC 0030323C 2C 03 00 00 */ cmpwi r3, 0
+/* 803075E0 00303240 41 82 00 0C */ beq lbl_803075EC
+/* 803075E4 00303244 2C 04 00 00 */ cmpwi r4, 0
+/* 803075E8 00303248 40 82 00 0C */ bne lbl_803075F4
+lbl_803075EC:
+/* 803075EC 0030324C 38 60 00 01 */ li r3, 1
+/* 803075F0 00303250 4E 80 00 20 */ blr
+lbl_803075F4:
+/* 803075F4 00303254 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 803075F8 00303258 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 803075FC 0030325C 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80307600 00303260 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80307604 00303264 40 80 00 28 */ bge lbl_8030762C
+/* 80307608 00303268 28 00 03 00 */ cmplwi r0, 0x300
+/* 8030760C 0030326C 40 82 00 20 */ bne lbl_8030762C
+/* 80307610 00303270 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 80307614 00303274 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307618 00303278 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 8030761C 0030327C 7C 65 02 14 */ add r3, r5, r0
+/* 80307620 00303280 80 03 01 B0 */ lwz r0, 0x1b0(r3)
+/* 80307624 00303284 7C 08 00 40 */ cmplw r8, r0
+/* 80307628 00303288 40 81 00 0C */ ble lbl_80307634
+lbl_8030762C:
+/* 8030762C 0030328C 38 60 00 01 */ li r3, 1
+/* 80307630 00303290 48 00 00 7C */ b lbl_803076AC
+lbl_80307634:
+/* 80307634 00303294 38 00 00 0D */ li r0, 0xd
+/* 80307638 00303298 38 C3 01 A4 */ addi r6, r3, 0x1a4
+/* 8030763C 0030329C 38 60 00 00 */ li r3, 0
+/* 80307640 003032A0 7C 09 03 A6 */ mtctr r0
+lbl_80307644:
+/* 80307644 003032A4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307648 003032A8 7D 25 02 14 */ add r9, r5, r0
+/* 8030764C 003032AC 80 09 00 08 */ lwz r0, 8(r9)
+/* 80307650 003032B0 7C 00 30 40 */ cmplw r0, r6
+/* 80307654 003032B4 40 82 00 10 */ bne lbl_80307664
+/* 80307658 003032B8 80 09 00 04 */ lwz r0, 4(r9)
+/* 8030765C 003032BC 7C 08 00 40 */ cmplw r8, r0
+/* 80307660 003032C0 41 82 00 30 */ beq lbl_80307690
+lbl_80307664:
+/* 80307664 003032C4 38 63 00 01 */ addi r3, r3, 1
+/* 80307668 003032C8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 8030766C 003032CC 7D 25 02 14 */ add r9, r5, r0
+/* 80307670 003032D0 80 09 00 08 */ lwz r0, 8(r9)
+/* 80307674 003032D4 7C 00 30 40 */ cmplw r0, r6
+/* 80307678 003032D8 40 82 00 10 */ bne lbl_80307688
+/* 8030767C 003032DC 80 09 00 04 */ lwz r0, 4(r9)
+/* 80307680 003032E0 7C 08 00 40 */ cmplw r8, r0
+/* 80307684 003032E4 41 82 00 0C */ beq lbl_80307690
+lbl_80307688:
+/* 80307688 003032E8 38 63 00 01 */ addi r3, r3, 1
+/* 8030768C 003032EC 42 00 FF B8 */ bdnz lbl_80307644
+lbl_80307690:
+/* 80307690 003032F0 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 80307694 003032F4 38 60 00 1A */ li r3, 0x1a
+/* 80307698 003032F8 38 05 FF E6 */ addi r0, r5, -26
+/* 8030769C 003032FC 7C A3 1B 38 */ orc r3, r5, r3
+/* 803076A0 00303300 54 00 F8 7E */ srwi r0, r0, 1
+/* 803076A4 00303304 7C 00 18 50 */ subf r0, r0, r3
+/* 803076A8 00303308 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_803076AC:
+/* 803076AC 0030330C 2C 03 00 00 */ cmpwi r3, 0
+/* 803076B0 00303310 4C 82 00 20 */ bnelr
+/* 803076B4 00303314 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 803076B8 00303318 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 803076BC 0030331C 38 60 00 00 */ li r3, 0
+/* 803076C0 00303320 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 803076C4 00303324 7C A5 02 14 */ add r5, r5, r0
+/* 803076C8 00303328 A0 05 01 C4 */ lhz r0, 0x1c4(r5)
+/* 803076CC 0030332C B0 04 00 00 */ sth r0, 0(r4)
+/* 803076D0 00303330 4E 80 00 20 */ blr
+
+.global VFipdm_disk_get_media_information
+VFipdm_disk_get_media_information:
+/* 803076D4 00303334 2C 03 00 00 */ cmpwi r3, 0
+/* 803076D8 00303338 41 82 00 0C */ beq lbl_803076E4
+/* 803076DC 0030333C 2C 04 00 00 */ cmpwi r4, 0
+/* 803076E0 00303340 40 82 00 0C */ bne lbl_803076EC
+lbl_803076E4:
+/* 803076E4 00303344 38 60 00 01 */ li r3, 1
+/* 803076E8 00303348 4E 80 00 20 */ blr
+lbl_803076EC:
+/* 803076EC 0030334C 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 803076F0 00303350 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 803076F4 00303354 28 07 00 1A */ cmplwi r7, 0x1a
+/* 803076F8 00303358 54 68 84 3E */ srwi r8, r3, 0x10
+/* 803076FC 0030335C 40 80 00 28 */ bge lbl_80307724
+/* 80307700 00303360 28 00 03 00 */ cmplwi r0, 0x300
+/* 80307704 00303364 40 82 00 20 */ bne lbl_80307724
+/* 80307708 00303368 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 8030770C 0030336C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307710 00303370 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 80307714 00303374 7C 65 02 14 */ add r3, r5, r0
+/* 80307718 00303378 80 03 01 B0 */ lwz r0, 0x1b0(r3)
+/* 8030771C 0030337C 7C 08 00 40 */ cmplw r8, r0
+/* 80307720 00303380 40 81 00 0C */ ble lbl_8030772C
+lbl_80307724:
+/* 80307724 00303384 38 60 00 01 */ li r3, 1
+/* 80307728 00303388 48 00 00 7C */ b lbl_803077A4
+lbl_8030772C:
+/* 8030772C 0030338C 38 00 00 0D */ li r0, 0xd
+/* 80307730 00303390 38 C3 01 A4 */ addi r6, r3, 0x1a4
+/* 80307734 00303394 38 60 00 00 */ li r3, 0
+/* 80307738 00303398 7C 09 03 A6 */ mtctr r0
+lbl_8030773C:
+/* 8030773C 0030339C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307740 003033A0 7D 25 02 14 */ add r9, r5, r0
+/* 80307744 003033A4 80 09 00 08 */ lwz r0, 8(r9)
+/* 80307748 003033A8 7C 00 30 40 */ cmplw r0, r6
+/* 8030774C 003033AC 40 82 00 10 */ bne lbl_8030775C
+/* 80307750 003033B0 80 09 00 04 */ lwz r0, 4(r9)
+/* 80307754 003033B4 7C 08 00 40 */ cmplw r8, r0
+/* 80307758 003033B8 41 82 00 30 */ beq lbl_80307788
+lbl_8030775C:
+/* 8030775C 003033BC 38 63 00 01 */ addi r3, r3, 1
+/* 80307760 003033C0 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307764 003033C4 7D 25 02 14 */ add r9, r5, r0
+/* 80307768 003033C8 80 09 00 08 */ lwz r0, 8(r9)
+/* 8030776C 003033CC 7C 00 30 40 */ cmplw r0, r6
+/* 80307770 003033D0 40 82 00 10 */ bne lbl_80307780
+/* 80307774 003033D4 80 09 00 04 */ lwz r0, 4(r9)
+/* 80307778 003033D8 7C 08 00 40 */ cmplw r8, r0
+/* 8030777C 003033DC 41 82 00 0C */ beq lbl_80307788
+lbl_80307780:
+/* 80307780 003033E0 38 63 00 01 */ addi r3, r3, 1
+/* 80307784 003033E4 42 00 FF B8 */ bdnz lbl_8030773C
+lbl_80307788:
+/* 80307788 003033E8 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 8030778C 003033EC 38 60 00 1A */ li r3, 0x1a
+/* 80307790 003033F0 38 05 FF E6 */ addi r0, r5, -26
+/* 80307794 003033F4 7C A3 1B 38 */ orc r3, r5, r3
+/* 80307798 003033F8 54 00 F8 7E */ srwi r0, r0, 1
+/* 8030779C 003033FC 7C 00 18 50 */ subf r0, r0, r3
+/* 803077A0 00303400 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_803077A4:
+/* 803077A4 00303404 2C 03 00 00 */ cmpwi r3, 0
+/* 803077A8 00303408 4C 82 00 20 */ bnelr
+/* 803077AC 0030340C 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 803077B0 00303410 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 803077B4 00303414 38 60 00 00 */ li r3, 0
+/* 803077B8 00303418 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 803077BC 0030341C 7C C5 02 14 */ add r6, r5, r0
+/* 803077C0 00303420 80 A6 01 BC */ lwz r5, 0x1bc(r6)
+/* 803077C4 00303424 80 06 01 C0 */ lwz r0, 0x1c0(r6)
+/* 803077C8 00303428 90 A4 00 00 */ stw r5, 0(r4)
+/* 803077CC 0030342C 90 04 00 04 */ stw r0, 4(r4)
+/* 803077D0 00303430 80 A6 01 C4 */ lwz r5, 0x1c4(r6)
+/* 803077D4 00303434 80 06 01 C8 */ lwz r0, 0x1c8(r6)
+/* 803077D8 00303438 90 A4 00 08 */ stw r5, 8(r4)
+/* 803077DC 0030343C 90 04 00 0C */ stw r0, 0xc(r4)
+/* 803077E0 00303440 80 06 01 CC */ lwz r0, 0x1cc(r6)
+/* 803077E4 00303444 90 04 00 10 */ stw r0, 0x10(r4)
+/* 803077E8 00303448 4E 80 00 20 */ blr
+
+.global VFipdm_disk_set_disk
+VFipdm_disk_set_disk:
+/* 803077EC 0030344C 2C 03 00 00 */ cmpwi r3, 0
+/* 803077F0 00303450 41 82 00 0C */ beq lbl_803077FC
+/* 803077F4 00303454 2C 04 00 00 */ cmpwi r4, 0
+/* 803077F8 00303458 40 82 00 0C */ bne lbl_80307804
+lbl_803077FC:
+/* 803077FC 0030345C 38 60 00 01 */ li r3, 1
+/* 80307800 00303460 4E 80 00 20 */ blr
+lbl_80307804:
+/* 80307804 00303464 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80307808 00303468 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 8030780C 0030346C 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80307810 00303470 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80307814 00303474 40 80 00 28 */ bge lbl_8030783C
+/* 80307818 00303478 28 00 03 00 */ cmplwi r0, 0x300
+/* 8030781C 0030347C 40 82 00 20 */ bne lbl_8030783C
+/* 80307820 00303480 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 80307824 00303484 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307828 00303488 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 8030782C 0030348C 7C 65 02 14 */ add r3, r5, r0
+/* 80307830 00303490 80 03 01 B0 */ lwz r0, 0x1b0(r3)
+/* 80307834 00303494 7C 08 00 40 */ cmplw r8, r0
+/* 80307838 00303498 40 81 00 0C */ ble lbl_80307844
+lbl_8030783C:
+/* 8030783C 0030349C 38 60 00 01 */ li r3, 1
+/* 80307840 003034A0 48 00 00 7C */ b lbl_803078BC
+lbl_80307844:
+/* 80307844 003034A4 38 00 00 0D */ li r0, 0xd
+/* 80307848 003034A8 38 C3 01 A4 */ addi r6, r3, 0x1a4
+/* 8030784C 003034AC 38 60 00 00 */ li r3, 0
+/* 80307850 003034B0 7C 09 03 A6 */ mtctr r0
+lbl_80307854:
+/* 80307854 003034B4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307858 003034B8 7D 25 02 14 */ add r9, r5, r0
+/* 8030785C 003034BC 80 09 00 08 */ lwz r0, 8(r9)
+/* 80307860 003034C0 7C 00 30 40 */ cmplw r0, r6
+/* 80307864 003034C4 40 82 00 10 */ bne lbl_80307874
+/* 80307868 003034C8 80 09 00 04 */ lwz r0, 4(r9)
+/* 8030786C 003034CC 7C 08 00 40 */ cmplw r8, r0
+/* 80307870 003034D0 41 82 00 30 */ beq lbl_803078A0
+lbl_80307874:
+/* 80307874 003034D4 38 63 00 01 */ addi r3, r3, 1
+/* 80307878 003034D8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 8030787C 003034DC 7D 25 02 14 */ add r9, r5, r0
+/* 80307880 003034E0 80 09 00 08 */ lwz r0, 8(r9)
+/* 80307884 003034E4 7C 00 30 40 */ cmplw r0, r6
+/* 80307888 003034E8 40 82 00 10 */ bne lbl_80307898
+/* 8030788C 003034EC 80 09 00 04 */ lwz r0, 4(r9)
+/* 80307890 003034F0 7C 08 00 40 */ cmplw r8, r0
+/* 80307894 003034F4 41 82 00 0C */ beq lbl_803078A0
+lbl_80307898:
+/* 80307898 003034F8 38 63 00 01 */ addi r3, r3, 1
+/* 8030789C 003034FC 42 00 FF B8 */ bdnz lbl_80307854
+lbl_803078A0:
+/* 803078A0 00303500 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 803078A4 00303504 38 60 00 1A */ li r3, 0x1a
+/* 803078A8 00303508 38 05 FF E6 */ addi r0, r5, -26
+/* 803078AC 0030350C 7C A3 1B 38 */ orc r3, r5, r3
+/* 803078B0 00303510 54 00 F8 7E */ srwi r0, r0, 1
+/* 803078B4 00303514 7C 00 18 50 */ subf r0, r0, r3
+/* 803078B8 00303518 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_803078BC:
+/* 803078BC 0030351C 2C 03 00 00 */ cmpwi r3, 0
+/* 803078C0 00303520 4C 82 00 20 */ bnelr
+/* 803078C4 00303524 1C 07 00 34 */ mulli r0, r7, 0x34
+/* 803078C8 00303528 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 803078CC 0030352C 38 60 00 00 */ li r3, 0
+/* 803078D0 00303530 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 803078D4 00303534 7C A5 02 14 */ add r5, r5, r0
+/* 803078D8 00303538 90 85 01 D4 */ stw r4, 0x1d4(r5)
+/* 803078DC 0030353C 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pdm_dskmng.s b/asm/SDK/VF/pdm_dskmng.s new file mode 100644 index 0000000..3515b77 --- /dev/null +++ b/asm/SDK/VF/pdm_dskmng.s @@ -0,0 +1,80 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFipdm_init_diskmanager
+VFipdm_init_diskmanager:
+/* 80308DB0 00304A10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80308DB4 00304A14 7C 08 02 A6 */ mflr r0
+/* 80308DB8 00304A18 38 80 00 00 */ li r4, 0
+/* 80308DBC 00304A1C 38 A0 0B 64 */ li r5, 0xb64
+/* 80308DC0 00304A20 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80308DC4 00304A24 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80308DC8 00304A28 3F E0 80 58 */ lis r31, lbl_8057EA60@ha
+/* 80308DCC 00304A2C 38 7F EA 60 */ addi r3, r31, lbl_8057EA60@l
+/* 80308DD0 00304A30 4B FF C2 05 */ bl VFipf_memset
+/* 80308DD4 00304A34 38 FF EA 60 */ addi r7, r31, -5536
+/* 80308DD8 00304A38 38 C0 00 00 */ li r6, 0
+/* 80308DDC 00304A3C 90 C7 01 B8 */ stw r6, 0x1b8(r7)
+/* 80308DE0 00304A40 38 00 00 18 */ li r0, 0x18
+/* 80308DE4 00304A44 1C 60 00 34 */ mulli r3, r0, 0x34
+/* 80308DE8 00304A48 90 C7 01 EC */ stw r6, 0x1ec(r7)
+/* 80308DEC 00304A4C 90 C7 02 20 */ stw r6, 0x220(r7)
+/* 80308DF0 00304A50 7C A7 1A 14 */ add r5, r7, r3
+/* 80308DF4 00304A54 1C 00 00 2C */ mulli r0, r0, 0x2c
+/* 80308DF8 00304A58 38 60 00 00 */ li r3, 0
+/* 80308DFC 00304A5C 90 C7 02 54 */ stw r6, 0x254(r7)
+/* 80308E00 00304A60 90 C7 02 88 */ stw r6, 0x288(r7)
+/* 80308E04 00304A64 7C 87 02 14 */ add r4, r7, r0
+/* 80308E08 00304A68 90 C7 02 BC */ stw r6, 0x2bc(r7)
+/* 80308E0C 00304A6C 90 C7 02 F0 */ stw r6, 0x2f0(r7)
+/* 80308E10 00304A70 90 C7 03 24 */ stw r6, 0x324(r7)
+/* 80308E14 00304A74 90 C7 03 58 */ stw r6, 0x358(r7)
+/* 80308E18 00304A78 90 C7 03 8C */ stw r6, 0x38c(r7)
+/* 80308E1C 00304A7C 90 C7 03 C0 */ stw r6, 0x3c0(r7)
+/* 80308E20 00304A80 90 C7 03 F4 */ stw r6, 0x3f4(r7)
+/* 80308E24 00304A84 90 C7 04 28 */ stw r6, 0x428(r7)
+/* 80308E28 00304A88 90 C7 04 5C */ stw r6, 0x45c(r7)
+/* 80308E2C 00304A8C 90 C7 04 90 */ stw r6, 0x490(r7)
+/* 80308E30 00304A90 90 C7 04 C4 */ stw r6, 0x4c4(r7)
+/* 80308E34 00304A94 90 C7 04 F8 */ stw r6, 0x4f8(r7)
+/* 80308E38 00304A98 90 C7 05 2C */ stw r6, 0x52c(r7)
+/* 80308E3C 00304A9C 90 C7 05 60 */ stw r6, 0x560(r7)
+/* 80308E40 00304AA0 90 C7 05 94 */ stw r6, 0x594(r7)
+/* 80308E44 00304AA4 90 C7 05 C8 */ stw r6, 0x5c8(r7)
+/* 80308E48 00304AA8 90 C7 05 FC */ stw r6, 0x5fc(r7)
+/* 80308E4C 00304AAC 90 C7 06 30 */ stw r6, 0x630(r7)
+/* 80308E50 00304AB0 90 C7 06 64 */ stw r6, 0x664(r7)
+/* 80308E54 00304AB4 90 C5 01 B8 */ stw r6, 0x1b8(r5)
+/* 80308E58 00304AB8 90 C5 01 EC */ stw r6, 0x1ec(r5)
+/* 80308E5C 00304ABC 90 C7 06 FC */ stw r6, 0x6fc(r7)
+/* 80308E60 00304AC0 90 C7 07 28 */ stw r6, 0x728(r7)
+/* 80308E64 00304AC4 90 C7 07 54 */ stw r6, 0x754(r7)
+/* 80308E68 00304AC8 90 C7 07 80 */ stw r6, 0x780(r7)
+/* 80308E6C 00304ACC 90 C7 07 AC */ stw r6, 0x7ac(r7)
+/* 80308E70 00304AD0 90 C7 07 D8 */ stw r6, 0x7d8(r7)
+/* 80308E74 00304AD4 90 C7 08 04 */ stw r6, 0x804(r7)
+/* 80308E78 00304AD8 90 C7 08 30 */ stw r6, 0x830(r7)
+/* 80308E7C 00304ADC 90 C7 08 5C */ stw r6, 0x85c(r7)
+/* 80308E80 00304AE0 90 C7 08 88 */ stw r6, 0x888(r7)
+/* 80308E84 00304AE4 90 C7 08 B4 */ stw r6, 0x8b4(r7)
+/* 80308E88 00304AE8 90 C7 08 E0 */ stw r6, 0x8e0(r7)
+/* 80308E8C 00304AEC 90 C7 09 0C */ stw r6, 0x90c(r7)
+/* 80308E90 00304AF0 90 C7 09 38 */ stw r6, 0x938(r7)
+/* 80308E94 00304AF4 90 C7 09 64 */ stw r6, 0x964(r7)
+/* 80308E98 00304AF8 90 C7 09 90 */ stw r6, 0x990(r7)
+/* 80308E9C 00304AFC 90 C7 09 BC */ stw r6, 0x9bc(r7)
+/* 80308EA0 00304B00 90 C7 09 E8 */ stw r6, 0x9e8(r7)
+/* 80308EA4 00304B04 90 C7 0A 14 */ stw r6, 0xa14(r7)
+/* 80308EA8 00304B08 90 C7 0A 40 */ stw r6, 0xa40(r7)
+/* 80308EAC 00304B0C 90 C7 0A 6C */ stw r6, 0xa6c(r7)
+/* 80308EB0 00304B10 90 C7 0A 98 */ stw r6, 0xa98(r7)
+/* 80308EB4 00304B14 90 C7 0A C4 */ stw r6, 0xac4(r7)
+/* 80308EB8 00304B18 90 C7 0A F0 */ stw r6, 0xaf0(r7)
+/* 80308EBC 00304B1C 90 C4 06 FC */ stw r6, 0x6fc(r4)
+/* 80308EC0 00304B20 90 C4 07 28 */ stw r6, 0x728(r4)
+/* 80308EC4 00304B24 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80308EC8 00304B28 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80308ECC 00304B2C 7C 08 03 A6 */ mtlr r0
+/* 80308ED0 00304B30 38 21 00 10 */ addi r1, r1, 0x10
+/* 80308ED4 00304B34 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pdm_mbr.s b/asm/SDK/VF/pdm_mbr.s new file mode 100644 index 0000000..2488bcc --- /dev/null +++ b/asm/SDK/VF/pdm_mbr.s @@ -0,0 +1,434 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFipdm_mbr_get_table
+VFipdm_mbr_get_table:
+/* 803087F0 00304450 2C 03 00 00 */ cmpwi r3, 0
+/* 803087F4 00304454 41 82 00 0C */ beq lbl_80308800
+/* 803087F8 00304458 2C 05 00 00 */ cmpwi r5, 0
+/* 803087FC 0030445C 40 82 00 0C */ bne lbl_80308808
+lbl_80308800:
+/* 80308800 00304460 38 60 00 01 */ li r3, 1
+/* 80308804 00304464 4E 80 00 20 */ blr
+lbl_80308808:
+/* 80308808 00304468 2C 04 00 00 */ cmpwi r4, 0
+/* 8030880C 0030446C 40 82 00 14 */ bne lbl_80308820
+/* 80308810 00304470 38 00 00 00 */ li r0, 0
+/* 80308814 00304474 90 05 00 04 */ stw r0, 4(r5)
+/* 80308818 00304478 90 05 00 00 */ stw r0, 0(r5)
+/* 8030881C 0030447C 48 00 00 18 */ b lbl_80308834
+lbl_80308820:
+/* 80308820 00304480 80 05 00 04 */ lwz r0, 4(r5)
+/* 80308824 00304484 2C 00 00 00 */ cmpwi r0, 0
+/* 80308828 00304488 40 82 00 08 */ bne lbl_80308830
+/* 8030882C 0030448C 90 85 00 04 */ stw r4, 4(r5)
+lbl_80308830:
+/* 80308830 00304490 90 85 00 00 */ stw r4, 0(r5)
+lbl_80308834:
+/* 80308834 00304494 38 00 00 04 */ li r0, 4
+/* 80308838 00304498 38 63 01 BE */ addi r3, r3, 0x1be
+/* 8030883C 0030449C 7C 09 03 A6 */ mtctr r0
+lbl_80308840:
+/* 80308840 003044A0 88 03 00 00 */ lbz r0, 0(r3)
+/* 80308844 003044A4 98 05 00 08 */ stb r0, 8(r5)
+/* 80308848 003044A8 88 03 00 04 */ lbz r0, 4(r3)
+/* 8030884C 003044AC 98 05 00 09 */ stb r0, 9(r5)
+/* 80308850 003044B0 88 03 00 01 */ lbz r0, 1(r3)
+/* 80308854 003044B4 98 05 00 0C */ stb r0, 0xc(r5)
+/* 80308858 003044B8 88 83 00 03 */ lbz r4, 3(r3)
+/* 8030885C 003044BC 88 03 00 02 */ lbz r0, 2(r3)
+/* 80308860 003044C0 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 80308864 003044C4 54 06 15 AE */ rlwinm r6, r0, 2, 0x16, 0x17
+/* 80308868 003044C8 7C 04 46 70 */ srawi r4, r0, 8
+/* 8030886C 003044CC 54 00 06 BE */ clrlwi r0, r0, 0x1a
+/* 80308870 003044D0 7C 86 22 14 */ add r4, r6, r4
+/* 80308874 003044D4 B0 85 00 0A */ sth r4, 0xa(r5)
+/* 80308878 003044D8 98 05 00 0D */ stb r0, 0xd(r5)
+/* 8030887C 003044DC 88 83 00 06 */ lbz r4, 6(r3)
+/* 80308880 003044E0 88 03 00 05 */ lbz r0, 5(r3)
+/* 80308884 003044E4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 80308888 003044E8 98 05 00 10 */ stb r0, 0x10(r5)
+/* 8030888C 003044EC 88 83 00 07 */ lbz r4, 7(r3)
+/* 80308890 003044F0 88 03 00 06 */ lbz r0, 6(r3)
+/* 80308894 003044F4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 80308898 003044F8 54 06 15 AE */ rlwinm r6, r0, 2, 0x16, 0x17
+/* 8030889C 003044FC 7C 04 46 70 */ srawi r4, r0, 8
+/* 803088A0 00304500 54 00 06 BE */ clrlwi r0, r0, 0x1a
+/* 803088A4 00304504 7C 86 22 14 */ add r4, r6, r4
+/* 803088A8 00304508 B0 85 00 0E */ sth r4, 0xe(r5)
+/* 803088AC 0030450C 98 05 00 11 */ stb r0, 0x11(r5)
+/* 803088B0 00304510 88 83 00 09 */ lbz r4, 9(r3)
+/* 803088B4 00304514 88 03 00 08 */ lbz r0, 8(r3)
+/* 803088B8 00304518 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 803088BC 0030451C 88 C3 00 0A */ lbz r6, 0xa(r3)
+/* 803088C0 00304520 88 83 00 0B */ lbz r4, 0xb(r3)
+/* 803088C4 00304524 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
+/* 803088C8 00304528 50 80 C0 0E */ rlwimi r0, r4, 0x18, 0, 7
+/* 803088CC 0030452C 90 05 00 14 */ stw r0, 0x14(r5)
+/* 803088D0 00304530 88 C3 00 0E */ lbz r6, 0xe(r3)
+/* 803088D4 00304534 88 83 00 0D */ lbz r4, 0xd(r3)
+/* 803088D8 00304538 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 803088DC 0030453C 88 E3 00 0F */ lbz r7, 0xf(r3)
+/* 803088E0 00304540 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 803088E4 00304544 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
+/* 803088E8 00304548 38 63 00 10 */ addi r3, r3, 0x10
+/* 803088EC 0030454C 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7
+/* 803088F0 00304550 90 05 00 18 */ stw r0, 0x18(r5)
+/* 803088F4 00304554 38 A5 00 14 */ addi r5, r5, 0x14
+/* 803088F8 00304558 42 00 FF 48 */ bdnz lbl_80308840
+/* 803088FC 0030455C 38 60 00 00 */ li r3, 0
+/* 80308900 00304560 4E 80 00 20 */ blr
+
+.global VFipdm_mbr_get_mbr_part_table
+VFipdm_mbr_get_mbr_part_table:
+/* 80308904 00304564 94 21 FD E0 */ stwu r1, -0x220(r1)
+/* 80308908 00304568 7C 08 02 A6 */ mflr r0
+/* 8030890C 0030456C 2C 03 00 00 */ cmpwi r3, 0
+/* 80308910 00304570 90 01 02 24 */ stw r0, 0x224(r1)
+/* 80308914 00304574 93 E1 02 1C */ stw r31, 0x21c(r1)
+/* 80308918 00304578 7C 9F 23 78 */ mr r31, r4
+/* 8030891C 0030457C 93 C1 02 18 */ stw r30, 0x218(r1)
+/* 80308920 00304580 7C 7E 1B 78 */ mr r30, r3
+/* 80308924 00304584 41 82 00 0C */ beq lbl_80308930
+/* 80308928 00304588 2C 04 00 00 */ cmpwi r4, 0
+/* 8030892C 0030458C 40 82 00 0C */ bne lbl_80308938
+lbl_80308930:
+/* 80308930 00304590 38 60 00 01 */ li r3, 1
+/* 80308934 00304594 48 00 00 78 */ b lbl_803089AC
+lbl_80308938:
+/* 80308938 00304598 4B FF E4 65 */ bl VFipdm_disk_check_disk_handle
+/* 8030893C 0030459C 2C 03 00 00 */ cmpwi r3, 0
+/* 80308940 003045A0 41 82 00 08 */ beq lbl_80308948
+/* 80308944 003045A4 48 00 00 68 */ b lbl_803089AC
+lbl_80308948:
+/* 80308948 003045A8 7F C3 F3 78 */ mr r3, r30
+/* 8030894C 003045AC 38 81 00 10 */ addi r4, r1, 0x10
+/* 80308950 003045B0 39 01 00 0C */ addi r8, r1, 0xc
+/* 80308954 003045B4 38 A0 00 00 */ li r5, 0
+/* 80308958 003045B8 38 C0 00 01 */ li r6, 1
+/* 8030895C 003045BC 38 E0 02 00 */ li r7, 0x200
+/* 80308960 003045C0 4B FF E7 89 */ bl VFipdm_disk_physical_read
+/* 80308964 003045C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80308968 003045C8 41 82 00 08 */ beq lbl_80308970
+/* 8030896C 003045CC 48 00 00 40 */ b lbl_803089AC
+lbl_80308970:
+/* 80308970 003045D0 7F C3 F3 78 */ mr r3, r30
+/* 80308974 003045D4 38 81 00 10 */ addi r4, r1, 0x10
+/* 80308978 003045D8 38 A1 00 08 */ addi r5, r1, 8
+/* 8030897C 003045DC 48 00 02 19 */ bl VFipdm_mbr_check_master_boot_record
+/* 80308980 003045E0 80 01 00 08 */ lwz r0, 8(r1)
+/* 80308984 003045E4 2C 00 00 00 */ cmpwi r0, 0
+/* 80308988 003045E8 41 82 00 18 */ beq lbl_803089A0
+/* 8030898C 003045EC 7F E5 FB 78 */ mr r5, r31
+/* 80308990 003045F0 38 61 00 10 */ addi r3, r1, 0x10
+/* 80308994 003045F4 38 80 00 00 */ li r4, 0
+/* 80308998 003045F8 4B FF FE 59 */ bl VFipdm_mbr_get_table
+/* 8030899C 003045FC 48 00 00 0C */ b lbl_803089A8
+lbl_803089A0:
+/* 803089A0 00304600 38 60 00 05 */ li r3, 5
+/* 803089A4 00304604 48 00 00 08 */ b lbl_803089AC
+lbl_803089A8:
+/* 803089A8 00304608 38 60 00 00 */ li r3, 0
+lbl_803089AC:
+/* 803089AC 0030460C 80 01 02 24 */ lwz r0, 0x224(r1)
+/* 803089B0 00304610 83 E1 02 1C */ lwz r31, 0x21c(r1)
+/* 803089B4 00304614 83 C1 02 18 */ lwz r30, 0x218(r1)
+/* 803089B8 00304618 7C 08 03 A6 */ mtlr r0
+/* 803089BC 0030461C 38 21 02 20 */ addi r1, r1, 0x220
+/* 803089C0 00304620 4E 80 00 20 */ blr
+
+.global VFipdm_mbr_get_epbr_part_table
+VFipdm_mbr_get_epbr_part_table:
+/* 803089C4 00304624 94 21 FD C0 */ stwu r1, -0x240(r1)
+/* 803089C8 00304628 7C 08 02 A6 */ mflr r0
+/* 803089CC 0030462C 2C 03 00 00 */ cmpwi r3, 0
+/* 803089D0 00304630 90 01 02 44 */ stw r0, 0x244(r1)
+/* 803089D4 00304634 93 E1 02 3C */ stw r31, 0x23c(r1)
+/* 803089D8 00304638 93 C1 02 38 */ stw r30, 0x238(r1)
+/* 803089DC 0030463C 7C 9E 23 78 */ mr r30, r4
+/* 803089E0 00304640 93 A1 02 34 */ stw r29, 0x234(r1)
+/* 803089E4 00304644 7C 7D 1B 78 */ mr r29, r3
+/* 803089E8 00304648 41 82 00 0C */ beq lbl_803089F4
+/* 803089EC 0030464C 2C 04 00 00 */ cmpwi r4, 0
+/* 803089F0 00304650 40 82 00 0C */ bne lbl_803089FC
+lbl_803089F4:
+/* 803089F4 00304654 38 60 00 01 */ li r3, 1
+/* 803089F8 00304658 48 00 01 80 */ b lbl_80308B78
+lbl_803089FC:
+/* 803089FC 0030465C 4B FF E3 A1 */ bl VFipdm_disk_check_disk_handle
+/* 80308A00 00304660 2C 03 00 00 */ cmpwi r3, 0
+/* 80308A04 00304664 41 82 00 08 */ beq lbl_80308A0C
+/* 80308A08 00304668 48 00 01 70 */ b lbl_80308B78
+lbl_80308A0C:
+/* 80308A0C 0030466C 3B E0 00 00 */ li r31, 0
+/* 80308A10 00304670 38 A0 00 00 */ li r5, 0
+/* 80308A14 00304674 1C 1F 00 14 */ mulli r0, r31, 0x14
+/* 80308A18 00304678 7C 7E 02 14 */ add r3, r30, r0
+/* 80308A1C 0030467C 88 63 00 09 */ lbz r3, 9(r3)
+/* 80308A20 00304680 28 03 00 05 */ cmplwi r3, 5
+/* 80308A24 00304684 41 82 00 0C */ beq lbl_80308A30
+/* 80308A28 00304688 28 03 00 0F */ cmplwi r3, 0xf
+/* 80308A2C 0030468C 40 82 00 18 */ bne lbl_80308A44
+lbl_80308A30:
+/* 80308A30 00304690 7C 7E 02 14 */ add r3, r30, r0
+/* 80308A34 00304694 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80308A38 00304698 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80308A3C 0030469C 7F E4 02 14 */ add r31, r4, r0
+/* 80308A40 003046A0 48 00 00 A4 */ b lbl_80308AE4
+lbl_80308A44:
+/* 80308A44 003046A4 38 A0 00 01 */ li r5, 1
+/* 80308A48 003046A8 1C 05 00 14 */ mulli r0, r5, 0x14
+/* 80308A4C 003046AC 7C 7E 02 14 */ add r3, r30, r0
+/* 80308A50 003046B0 88 63 00 09 */ lbz r3, 9(r3)
+/* 80308A54 003046B4 28 03 00 05 */ cmplwi r3, 5
+/* 80308A58 003046B8 41 82 00 0C */ beq lbl_80308A64
+/* 80308A5C 003046BC 28 03 00 0F */ cmplwi r3, 0xf
+/* 80308A60 003046C0 40 82 00 18 */ bne lbl_80308A78
+lbl_80308A64:
+/* 80308A64 003046C4 7C 7E 02 14 */ add r3, r30, r0
+/* 80308A68 003046C8 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80308A6C 003046CC 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80308A70 003046D0 7F E4 02 14 */ add r31, r4, r0
+/* 80308A74 003046D4 48 00 00 70 */ b lbl_80308AE4
+lbl_80308A78:
+/* 80308A78 003046D8 38 A0 00 02 */ li r5, 2
+/* 80308A7C 003046DC 1C 05 00 14 */ mulli r0, r5, 0x14
+/* 80308A80 003046E0 7C 7E 02 14 */ add r3, r30, r0
+/* 80308A84 003046E4 88 63 00 09 */ lbz r3, 9(r3)
+/* 80308A88 003046E8 28 03 00 05 */ cmplwi r3, 5
+/* 80308A8C 003046EC 41 82 00 0C */ beq lbl_80308A98
+/* 80308A90 003046F0 28 03 00 0F */ cmplwi r3, 0xf
+/* 80308A94 003046F4 40 82 00 18 */ bne lbl_80308AAC
+lbl_80308A98:
+/* 80308A98 003046F8 7C 7E 02 14 */ add r3, r30, r0
+/* 80308A9C 003046FC 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80308AA0 00304700 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80308AA4 00304704 7F E4 02 14 */ add r31, r4, r0
+/* 80308AA8 00304708 48 00 00 3C */ b lbl_80308AE4
+lbl_80308AAC:
+/* 80308AAC 0030470C 38 A0 00 03 */ li r5, 3
+/* 80308AB0 00304710 1C 05 00 14 */ mulli r0, r5, 0x14
+/* 80308AB4 00304714 7C 7E 02 14 */ add r3, r30, r0
+/* 80308AB8 00304718 88 63 00 09 */ lbz r3, 9(r3)
+/* 80308ABC 0030471C 28 03 00 05 */ cmplwi r3, 5
+/* 80308AC0 00304720 41 82 00 0C */ beq lbl_80308ACC
+/* 80308AC4 00304724 28 03 00 0F */ cmplwi r3, 0xf
+/* 80308AC8 00304728 40 82 00 18 */ bne lbl_80308AE0
+lbl_80308ACC:
+/* 80308ACC 0030472C 7C 7E 02 14 */ add r3, r30, r0
+/* 80308AD0 00304730 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80308AD4 00304734 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80308AD8 00304738 7F E4 02 14 */ add r31, r4, r0
+/* 80308ADC 0030473C 48 00 00 08 */ b lbl_80308AE4
+lbl_80308AE0:
+/* 80308AE0 00304740 38 A0 00 04 */ li r5, 4
+lbl_80308AE4:
+/* 80308AE4 00304744 28 05 00 04 */ cmplwi r5, 4
+/* 80308AE8 00304748 40 82 00 0C */ bne lbl_80308AF4
+/* 80308AEC 0030474C 38 60 00 07 */ li r3, 7
+/* 80308AF0 00304750 48 00 00 88 */ b lbl_80308B78
+lbl_80308AF4:
+/* 80308AF4 00304754 7F A3 EB 78 */ mr r3, r29
+/* 80308AF8 00304758 38 81 00 10 */ addi r4, r1, 0x10
+/* 80308AFC 0030475C 4B FF EB D9 */ bl VFipdm_disk_get_media_information
+/* 80308B00 00304760 2C 03 00 00 */ cmpwi r3, 0
+/* 80308B04 00304764 41 82 00 08 */ beq lbl_80308B0C
+/* 80308B08 00304768 48 00 00 70 */ b lbl_80308B78
+lbl_80308B0C:
+/* 80308B0C 0030476C A0 01 00 18 */ lhz r0, 0x18(r1)
+/* 80308B10 00304770 7F A3 EB 78 */ mr r3, r29
+/* 80308B14 00304774 38 81 00 28 */ addi r4, r1, 0x28
+/* 80308B18 00304778 39 01 00 0C */ addi r8, r1, 0xc
+/* 80308B1C 0030477C 7C 00 4E 70 */ srawi r0, r0, 9
+/* 80308B20 00304780 38 C0 00 01 */ li r6, 1
+/* 80308B24 00304784 7C BF 01 D6 */ mullw r5, r31, r0
+/* 80308B28 00304788 38 E0 02 00 */ li r7, 0x200
+/* 80308B2C 0030478C 4B FF E5 BD */ bl VFipdm_disk_physical_read
+/* 80308B30 00304790 2C 03 00 00 */ cmpwi r3, 0
+/* 80308B34 00304794 41 82 00 08 */ beq lbl_80308B3C
+/* 80308B38 00304798 48 00 00 40 */ b lbl_80308B78
+lbl_80308B3C:
+/* 80308B3C 0030479C 7F A3 EB 78 */ mr r3, r29
+/* 80308B40 003047A0 38 81 00 28 */ addi r4, r1, 0x28
+/* 80308B44 003047A4 38 A1 00 08 */ addi r5, r1, 8
+/* 80308B48 003047A8 48 00 00 4D */ bl VFipdm_mbr_check_master_boot_record
+/* 80308B4C 003047AC 80 01 00 08 */ lwz r0, 8(r1)
+/* 80308B50 003047B0 2C 00 00 00 */ cmpwi r0, 0
+/* 80308B54 003047B4 41 82 00 18 */ beq lbl_80308B6C
+/* 80308B58 003047B8 7F E4 FB 78 */ mr r4, r31
+/* 80308B5C 003047BC 7F C5 F3 78 */ mr r5, r30
+/* 80308B60 003047C0 38 61 00 28 */ addi r3, r1, 0x28
+/* 80308B64 003047C4 4B FF FC 8D */ bl VFipdm_mbr_get_table
+/* 80308B68 003047C8 48 00 00 0C */ b lbl_80308B74
+lbl_80308B6C:
+/* 80308B6C 003047CC 38 60 00 06 */ li r3, 6
+/* 80308B70 003047D0 48 00 00 08 */ b lbl_80308B78
+lbl_80308B74:
+/* 80308B74 003047D4 38 60 00 00 */ li r3, 0
+lbl_80308B78:
+/* 80308B78 003047D8 80 01 02 44 */ lwz r0, 0x244(r1)
+/* 80308B7C 003047DC 83 E1 02 3C */ lwz r31, 0x23c(r1)
+/* 80308B80 003047E0 83 C1 02 38 */ lwz r30, 0x238(r1)
+/* 80308B84 003047E4 83 A1 02 34 */ lwz r29, 0x234(r1)
+/* 80308B88 003047E8 7C 08 03 A6 */ mtlr r0
+/* 80308B8C 003047EC 38 21 02 40 */ addi r1, r1, 0x240
+/* 80308B90 003047F0 4E 80 00 20 */ blr
+
+.global VFipdm_mbr_check_master_boot_record
+VFipdm_mbr_check_master_boot_record:
+/* 80308B94 003047F4 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 80308B98 003047F8 7C 08 02 A6 */ mflr r0
+/* 80308B9C 003047FC 2C 03 00 00 */ cmpwi r3, 0
+/* 80308BA0 00304800 90 01 00 84 */ stw r0, 0x84(r1)
+/* 80308BA4 00304804 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 80308BA8 00304808 7C BF 2B 78 */ mr r31, r5
+/* 80308BAC 0030480C 93 C1 00 78 */ stw r30, 0x78(r1)
+/* 80308BB0 00304810 7C 9E 23 78 */ mr r30, r4
+/* 80308BB4 00304814 93 A1 00 74 */ stw r29, 0x74(r1)
+/* 80308BB8 00304818 7C 7D 1B 78 */ mr r29, r3
+/* 80308BBC 0030481C 41 82 00 14 */ beq lbl_80308BD0
+/* 80308BC0 00304820 2C 04 00 00 */ cmpwi r4, 0
+/* 80308BC4 00304824 41 82 00 0C */ beq lbl_80308BD0
+/* 80308BC8 00304828 2C 05 00 00 */ cmpwi r5, 0
+/* 80308BCC 0030482C 40 82 00 0C */ bne lbl_80308BD8
+lbl_80308BD0:
+/* 80308BD0 00304830 38 60 00 01 */ li r3, 1
+/* 80308BD4 00304834 48 00 01 C0 */ b lbl_80308D94
+lbl_80308BD8:
+/* 80308BD8 00304838 4B FF E1 C5 */ bl VFipdm_disk_check_disk_handle
+/* 80308BDC 0030483C 2C 03 00 00 */ cmpwi r3, 0
+/* 80308BE0 00304840 41 82 00 08 */ beq lbl_80308BE8
+/* 80308BE4 00304844 48 00 01 B0 */ b lbl_80308D94
+lbl_80308BE8:
+/* 80308BE8 00304848 38 00 00 00 */ li r0, 0
+/* 80308BEC 0030484C 90 1F 00 00 */ stw r0, 0(r31)
+/* 80308BF0 00304850 88 1E 01 FE */ lbz r0, 0x1fe(r30)
+/* 80308BF4 00304854 28 00 00 55 */ cmplwi r0, 0x55
+/* 80308BF8 00304858 40 82 00 10 */ bne lbl_80308C08
+/* 80308BFC 0030485C 88 1E 01 FF */ lbz r0, 0x1ff(r30)
+/* 80308C00 00304860 28 00 00 AA */ cmplwi r0, 0xaa
+/* 80308C04 00304864 41 82 00 0C */ beq lbl_80308C10
+lbl_80308C08:
+/* 80308C08 00304868 38 60 00 00 */ li r3, 0
+/* 80308C0C 0030486C 48 00 01 88 */ b lbl_80308D94
+lbl_80308C10:
+/* 80308C10 00304870 7F C3 F3 78 */ mr r3, r30
+/* 80308C14 00304874 38 A1 00 10 */ addi r5, r1, 0x10
+/* 80308C18 00304878 38 80 00 00 */ li r4, 0
+/* 80308C1C 0030487C 4B FF FB D5 */ bl VFipdm_mbr_get_table
+/* 80308C20 00304880 80 E1 00 24 */ lwz r7, 0x24(r1)
+/* 80308C24 00304884 57 A4 06 3E */ clrlwi r4, r29, 0x18
+/* 80308C28 00304888 80 C1 00 28 */ lwz r6, 0x28(r1)
+/* 80308C2C 0030488C 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 80308C30 00304890 20 67 FF FF */ subfic r3, r7, -1
+/* 80308C34 00304894 38 00 00 01 */ li r0, 1
+/* 80308C38 00304898 1C 84 00 34 */ mulli r4, r4, 0x34
+/* 80308C3C 0030489C 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 80308C40 003048A0 7C 06 18 40 */ cmplw r6, r3
+/* 80308C44 003048A4 7C A5 22 14 */ add r5, r5, r4
+/* 80308C48 003048A8 41 81 00 14 */ bgt lbl_80308C5C
+/* 80308C4C 003048AC 80 65 01 BC */ lwz r3, 0x1bc(r5)
+/* 80308C50 003048B0 7C 87 32 14 */ add r4, r7, r6
+/* 80308C54 003048B4 7C 04 18 40 */ cmplw r4, r3
+/* 80308C58 003048B8 40 81 00 10 */ ble lbl_80308C68
+lbl_80308C5C:
+/* 80308C5C 003048BC 38 00 00 00 */ li r0, 0
+/* 80308C60 003048C0 90 1F 00 00 */ stw r0, 0(r31)
+/* 80308C64 003048C4 48 00 00 C4 */ b lbl_80308D28
+lbl_80308C68:
+/* 80308C68 003048C8 2C 07 00 00 */ cmpwi r7, 0
+/* 80308C6C 003048CC 41 82 00 08 */ beq lbl_80308C74
+/* 80308C70 003048D0 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80308C74:
+/* 80308C74 003048D4 80 E1 00 38 */ lwz r7, 0x38(r1)
+/* 80308C78 003048D8 80 C1 00 3C */ lwz r6, 0x3c(r1)
+/* 80308C7C 003048DC 20 67 FF FF */ subfic r3, r7, -1
+/* 80308C80 003048E0 7C 06 18 40 */ cmplw r6, r3
+/* 80308C84 003048E4 41 81 00 14 */ bgt lbl_80308C98
+/* 80308C88 003048E8 80 65 01 BC */ lwz r3, 0x1bc(r5)
+/* 80308C8C 003048EC 7C 87 32 14 */ add r4, r7, r6
+/* 80308C90 003048F0 7C 04 18 40 */ cmplw r4, r3
+/* 80308C94 003048F4 40 81 00 10 */ ble lbl_80308CA4
+lbl_80308C98:
+/* 80308C98 003048F8 38 00 00 00 */ li r0, 0
+/* 80308C9C 003048FC 90 1F 00 00 */ stw r0, 0(r31)
+/* 80308CA0 00304900 48 00 00 88 */ b lbl_80308D28
+lbl_80308CA4:
+/* 80308CA4 00304904 2C 07 00 00 */ cmpwi r7, 0
+/* 80308CA8 00304908 41 82 00 08 */ beq lbl_80308CB0
+/* 80308CAC 0030490C 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80308CB0:
+/* 80308CB0 00304910 80 E1 00 4C */ lwz r7, 0x4c(r1)
+/* 80308CB4 00304914 80 C1 00 50 */ lwz r6, 0x50(r1)
+/* 80308CB8 00304918 20 67 FF FF */ subfic r3, r7, -1
+/* 80308CBC 0030491C 7C 06 18 40 */ cmplw r6, r3
+/* 80308CC0 00304920 41 81 00 14 */ bgt lbl_80308CD4
+/* 80308CC4 00304924 80 65 01 BC */ lwz r3, 0x1bc(r5)
+/* 80308CC8 00304928 7C 87 32 14 */ add r4, r7, r6
+/* 80308CCC 0030492C 7C 04 18 40 */ cmplw r4, r3
+/* 80308CD0 00304930 40 81 00 10 */ ble lbl_80308CE0
+lbl_80308CD4:
+/* 80308CD4 00304934 38 00 00 00 */ li r0, 0
+/* 80308CD8 00304938 90 1F 00 00 */ stw r0, 0(r31)
+/* 80308CDC 0030493C 48 00 00 4C */ b lbl_80308D28
+lbl_80308CE0:
+/* 80308CE0 00304940 2C 07 00 00 */ cmpwi r7, 0
+/* 80308CE4 00304944 41 82 00 08 */ beq lbl_80308CEC
+/* 80308CE8 00304948 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80308CEC:
+/* 80308CEC 0030494C 80 E1 00 60 */ lwz r7, 0x60(r1)
+/* 80308CF0 00304950 80 C1 00 64 */ lwz r6, 0x64(r1)
+/* 80308CF4 00304954 20 67 FF FF */ subfic r3, r7, -1
+/* 80308CF8 00304958 7C 06 18 40 */ cmplw r6, r3
+/* 80308CFC 0030495C 41 81 00 14 */ bgt lbl_80308D10
+/* 80308D00 00304960 80 65 01 BC */ lwz r3, 0x1bc(r5)
+/* 80308D04 00304964 7C 87 32 14 */ add r4, r7, r6
+/* 80308D08 00304968 7C 04 18 40 */ cmplw r4, r3
+/* 80308D0C 0030496C 40 81 00 10 */ ble lbl_80308D1C
+lbl_80308D10:
+/* 80308D10 00304970 38 00 00 00 */ li r0, 0
+/* 80308D14 00304974 90 1F 00 00 */ stw r0, 0(r31)
+/* 80308D18 00304978 48 00 00 10 */ b lbl_80308D28
+lbl_80308D1C:
+/* 80308D1C 0030497C 2C 07 00 00 */ cmpwi r7, 0
+/* 80308D20 00304980 41 82 00 08 */ beq lbl_80308D28
+/* 80308D24 00304984 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80308D28:
+/* 80308D28 00304988 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80308D2C 0030498C 2C 00 00 00 */ cmpwi r0, 0
+/* 80308D30 00304990 40 82 00 60 */ bne lbl_80308D90
+/* 80308D34 00304994 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80308D38 00304998 2C 00 00 00 */ cmpwi r0, 0
+/* 80308D3C 0030499C 40 82 00 54 */ bne lbl_80308D90
+/* 80308D40 003049A0 80 01 00 38 */ lwz r0, 0x38(r1)
+/* 80308D44 003049A4 2C 00 00 00 */ cmpwi r0, 0
+/* 80308D48 003049A8 40 82 00 48 */ bne lbl_80308D90
+/* 80308D4C 003049AC 80 01 00 4C */ lwz r0, 0x4c(r1)
+/* 80308D50 003049B0 2C 00 00 00 */ cmpwi r0, 0
+/* 80308D54 003049B4 40 82 00 3C */ bne lbl_80308D90
+/* 80308D58 003049B8 80 01 00 60 */ lwz r0, 0x60(r1)
+/* 80308D5C 003049BC 2C 00 00 00 */ cmpwi r0, 0
+/* 80308D60 003049C0 40 82 00 30 */ bne lbl_80308D90
+/* 80308D64 003049C4 7F C3 F3 78 */ mr r3, r30
+/* 80308D68 003049C8 38 81 00 08 */ addi r4, r1, 8
+/* 80308D6C 003049CC 4B FF DB C1 */ bl VFipdm_bpb_check_boot_sector
+/* 80308D70 003049D0 80 01 00 08 */ lwz r0, 8(r1)
+/* 80308D74 003049D4 2C 00 00 00 */ cmpwi r0, 0
+/* 80308D78 003049D8 40 82 00 10 */ bne lbl_80308D88
+/* 80308D7C 003049DC 38 00 00 01 */ li r0, 1
+/* 80308D80 003049E0 90 1F 00 00 */ stw r0, 0(r31)
+/* 80308D84 003049E4 48 00 00 0C */ b lbl_80308D90
+lbl_80308D88:
+/* 80308D88 003049E8 38 00 00 00 */ li r0, 0
+/* 80308D8C 003049EC 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80308D90:
+/* 80308D90 003049F0 38 60 00 00 */ li r3, 0
+lbl_80308D94:
+/* 80308D94 003049F4 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 80308D98 003049F8 83 E1 00 7C */ lwz r31, 0x7c(r1)
+/* 80308D9C 003049FC 83 C1 00 78 */ lwz r30, 0x78(r1)
+/* 80308DA0 00304A00 83 A1 00 74 */ lwz r29, 0x74(r1)
+/* 80308DA4 00304A04 7C 08 03 A6 */ mtlr r0
+/* 80308DA8 00304A08 38 21 00 80 */ addi r1, r1, 0x80
+/* 80308DAC 00304A0C 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pdm_partition.s b/asm/SDK/VF/pdm_partition.s new file mode 100644 index 0000000..3d2b758 --- /dev/null +++ b/asm/SDK/VF/pdm_partition.s @@ -0,0 +1,1143 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFipdm_part_get_start_sector
+VFipdm_part_get_start_sector:
+/* 803078E0 00303540 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 803078E4 00303544 7C 08 02 A6 */ mflr r0
+/* 803078E8 00303548 90 01 00 94 */ stw r0, 0x94(r1)
+/* 803078EC 0030354C 38 81 00 20 */ addi r4, r1, 0x20
+/* 803078F0 00303550 93 E1 00 8C */ stw r31, 0x8c(r1)
+/* 803078F4 00303554 7C 7F 1B 78 */ mr r31, r3
+/* 803078F8 00303558 93 C1 00 88 */ stw r30, 0x88(r1)
+/* 803078FC 0030355C 93 A1 00 84 */ stw r29, 0x84(r1)
+/* 80307900 00303560 A3 C3 00 0C */ lhz r30, 0xc(r3)
+/* 80307904 00303564 80 63 00 04 */ lwz r3, 4(r3)
+/* 80307908 00303568 48 00 0F FD */ bl VFipdm_mbr_get_mbr_part_table
+/* 8030790C 0030356C 2C 03 00 00 */ cmpwi r3, 0
+/* 80307910 00303570 41 82 00 10 */ beq lbl_80307920
+/* 80307914 00303574 2C 03 00 05 */ cmpwi r3, 5
+/* 80307918 00303578 41 82 00 08 */ beq lbl_80307920
+/* 8030791C 0030357C 48 00 01 08 */ b lbl_80307A24
+lbl_80307920:
+/* 80307920 00303580 2C 03 00 05 */ cmpwi r3, 5
+/* 80307924 00303584 41 82 00 BC */ beq lbl_803079E0
+/* 80307928 00303588 28 1E 00 04 */ cmplwi r30, 4
+/* 8030792C 0030358C 40 80 00 48 */ bge lbl_80307974
+/* 80307930 00303590 1C BE 00 14 */ mulli r5, r30, 0x14
+/* 80307934 00303594 38 61 00 34 */ addi r3, r1, 0x34
+/* 80307938 00303598 7C 03 28 2E */ lwzx r0, r3, r5
+/* 8030793C 0030359C 2C 00 00 00 */ cmpwi r0, 0
+/* 80307940 003035A0 40 82 00 0C */ bne lbl_8030794C
+/* 80307944 003035A4 38 60 00 07 */ li r3, 7
+/* 80307948 003035A8 48 00 00 DC */ b lbl_80307A24
+lbl_8030794C:
+/* 8030794C 003035AC 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 80307950 003035B0 38 81 00 38 */ addi r4, r1, 0x38
+/* 80307954 003035B4 38 61 00 29 */ addi r3, r1, 0x29
+/* 80307958 003035B8 7C 04 28 2E */ lwzx r0, r4, r5
+/* 8030795C 003035BC 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 80307960 003035C0 7C 03 28 AE */ lbzx r0, r3, r5
+/* 80307964 003035C4 98 1F 00 20 */ stb r0, 0x20(r31)
+/* 80307968 003035C8 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 8030796C 003035CC 90 1F 00 1C */ stw r0, 0x1c(r31)
+/* 80307970 003035D0 48 00 00 B0 */ b lbl_80307A20
+lbl_80307974:
+/* 80307974 003035D4 3B A0 00 04 */ li r29, 4
+lbl_80307978:
+/* 80307978 003035D8 80 7F 00 04 */ lwz r3, 4(r31)
+/* 8030797C 003035DC 38 81 00 20 */ addi r4, r1, 0x20
+/* 80307980 003035E0 48 00 10 45 */ bl VFipdm_mbr_get_epbr_part_table
+/* 80307984 003035E4 2C 03 00 00 */ cmpwi r3, 0
+/* 80307988 003035E8 41 82 00 10 */ beq lbl_80307998
+/* 8030798C 003035EC 2C 03 00 06 */ cmpwi r3, 6
+/* 80307990 003035F0 41 82 00 08 */ beq lbl_80307998
+/* 80307994 003035F4 48 00 00 90 */ b lbl_80307A24
+lbl_80307998:
+/* 80307998 003035F8 2C 03 00 06 */ cmpwi r3, 6
+/* 8030799C 003035FC 41 82 00 34 */ beq lbl_803079D0
+/* 803079A0 00303600 57 A0 04 3E */ clrlwi r0, r29, 0x10
+/* 803079A4 00303604 7C 1E 00 40 */ cmplw r30, r0
+/* 803079A8 00303608 40 82 00 30 */ bne lbl_803079D8
+/* 803079AC 0030360C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803079B0 00303610 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 803079B4 00303614 80 01 00 38 */ lwz r0, 0x38(r1)
+/* 803079B8 00303618 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 803079BC 0030361C 88 01 00 29 */ lbz r0, 0x29(r1)
+/* 803079C0 00303620 98 1F 00 20 */ stb r0, 0x20(r31)
+/* 803079C4 00303624 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 803079C8 00303628 90 1F 00 1C */ stw r0, 0x1c(r31)
+/* 803079CC 0030362C 48 00 00 54 */ b lbl_80307A20
+lbl_803079D0:
+/* 803079D0 00303630 38 60 00 07 */ li r3, 7
+/* 803079D4 00303634 48 00 00 50 */ b lbl_80307A24
+lbl_803079D8:
+/* 803079D8 00303638 3B BD 00 01 */ addi r29, r29, 1
+/* 803079DC 0030363C 4B FF FF 9C */ b lbl_80307978
+lbl_803079E0:
+/* 803079E0 00303640 28 1E 00 01 */ cmplwi r30, 1
+/* 803079E4 00303644 41 80 00 0C */ blt lbl_803079F0
+/* 803079E8 00303648 38 60 00 07 */ li r3, 7
+/* 803079EC 0030364C 48 00 00 38 */ b lbl_80307A24
+lbl_803079F0:
+/* 803079F0 00303650 80 7F 00 04 */ lwz r3, 4(r31)
+/* 803079F4 00303654 38 81 00 08 */ addi r4, r1, 8
+/* 803079F8 00303658 4B FF FC DD */ bl VFipdm_disk_get_media_information
+/* 803079FC 0030365C 2C 03 00 00 */ cmpwi r3, 0
+/* 80307A00 00303660 41 82 00 08 */ beq lbl_80307A08
+/* 80307A04 00303664 48 00 00 20 */ b lbl_80307A24
+lbl_80307A08:
+/* 80307A08 00303668 38 60 00 00 */ li r3, 0
+/* 80307A0C 0030366C 90 7F 00 14 */ stw r3, 0x14(r31)
+/* 80307A10 00303670 80 01 00 08 */ lwz r0, 8(r1)
+/* 80307A14 00303674 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 80307A18 00303678 98 7F 00 20 */ stb r3, 0x20(r31)
+/* 80307A1C 0030367C 90 7F 00 1C */ stw r3, 0x1c(r31)
+lbl_80307A20:
+/* 80307A20 00303680 38 60 00 00 */ li r3, 0
+lbl_80307A24:
+/* 80307A24 00303684 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 80307A28 00303688 83 E1 00 8C */ lwz r31, 0x8c(r1)
+/* 80307A2C 0030368C 83 C1 00 88 */ lwz r30, 0x88(r1)
+/* 80307A30 00303690 83 A1 00 84 */ lwz r29, 0x84(r1)
+/* 80307A34 00303694 7C 08 03 A6 */ mtlr r0
+/* 80307A38 00303698 38 21 00 90 */ addi r1, r1, 0x90
+/* 80307A3C 0030369C 4E 80 00 20 */ blr
+
+.global VFipdm_part_chg_ltop
+VFipdm_part_chg_ltop:
+/* 80307A40 003036A0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80307A44 003036A4 7C 08 02 A6 */ mflr r0
+/* 80307A48 003036A8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80307A4C 003036AC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80307A50 003036B0 7C BF 2B 78 */ mr r31, r5
+/* 80307A54 003036B4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80307A58 003036B8 7C 9E 23 78 */ mr r30, r4
+/* 80307A5C 003036BC 38 81 00 08 */ addi r4, r1, 8
+/* 80307A60 003036C0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80307A64 003036C4 7C 7D 1B 78 */ mr r29, r3
+/* 80307A68 003036C8 80 63 00 04 */ lwz r3, 4(r3)
+/* 80307A6C 003036CC 4B FF FB 71 */ bl VFipdm_disk_get_lba_size
+/* 80307A70 003036D0 A0 01 00 08 */ lhz r0, 8(r1)
+/* 80307A74 003036D4 7C 1F 00 40 */ cmplw r31, r0
+/* 80307A78 003036D8 40 82 00 18 */ bne lbl_80307A90
+/* 80307A7C 003036DC 80 1D 00 1C */ lwz r0, 0x1c(r29)
+/* 80307A80 003036E0 80 7D 00 14 */ lwz r3, 0x14(r29)
+/* 80307A84 003036E4 7C 00 F2 14 */ add r0, r0, r30
+/* 80307A88 003036E8 7C 63 02 14 */ add r3, r3, r0
+/* 80307A8C 003036EC 48 00 00 74 */ b lbl_80307B00
+lbl_80307A90:
+/* 80307A90 003036F0 54 04 BE 7E */ rlwinm r4, r0, 0x17, 0x19, 0x1f
+/* 80307A94 003036F4 80 7D 00 14 */ lwz r3, 0x14(r29)
+/* 80307A98 003036F8 80 1D 00 1C */ lwz r0, 0x1c(r29)
+/* 80307A9C 003036FC 28 04 00 02 */ cmplwi r4, 2
+/* 80307AA0 00303700 7C 03 02 14 */ add r0, r3, r0
+/* 80307AA4 00303704 40 82 00 0C */ bne lbl_80307AB0
+/* 80307AA8 00303708 54 00 08 3C */ slwi r0, r0, 1
+/* 80307AAC 0030370C 48 00 00 20 */ b lbl_80307ACC
+lbl_80307AB0:
+/* 80307AB0 00303710 28 04 00 04 */ cmplwi r4, 4
+/* 80307AB4 00303714 40 82 00 0C */ bne lbl_80307AC0
+/* 80307AB8 00303718 54 00 10 3A */ slwi r0, r0, 2
+/* 80307ABC 0030371C 48 00 00 10 */ b lbl_80307ACC
+lbl_80307AC0:
+/* 80307AC0 00303720 28 04 00 08 */ cmplwi r4, 8
+/* 80307AC4 00303724 40 82 00 08 */ bne lbl_80307ACC
+/* 80307AC8 00303728 54 00 18 38 */ slwi r0, r0, 3
+lbl_80307ACC:
+/* 80307ACC 0030372C 57 E3 BE 7E */ rlwinm r3, r31, 0x17, 0x19, 0x1f
+/* 80307AD0 00303730 28 03 00 02 */ cmplwi r3, 2
+/* 80307AD4 00303734 40 82 00 0C */ bne lbl_80307AE0
+/* 80307AD8 00303738 54 00 F8 7E */ srwi r0, r0, 1
+/* 80307ADC 0030373C 48 00 00 20 */ b lbl_80307AFC
+lbl_80307AE0:
+/* 80307AE0 00303740 28 03 00 04 */ cmplwi r3, 4
+/* 80307AE4 00303744 40 82 00 0C */ bne lbl_80307AF0
+/* 80307AE8 00303748 54 00 F0 BE */ srwi r0, r0, 2
+/* 80307AEC 0030374C 48 00 00 10 */ b lbl_80307AFC
+lbl_80307AF0:
+/* 80307AF0 00303750 28 03 00 08 */ cmplwi r3, 8
+/* 80307AF4 00303754 40 82 00 08 */ bne lbl_80307AFC
+/* 80307AF8 00303758 54 00 E8 FE */ srwi r0, r0, 3
+lbl_80307AFC:
+/* 80307AFC 0030375C 7C 7E 02 14 */ add r3, r30, r0
+lbl_80307B00:
+/* 80307B00 00303760 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80307B04 00303764 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80307B08 00303768 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80307B0C 0030376C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80307B10 00303770 7C 08 03 A6 */ mtlr r0
+/* 80307B14 00303774 38 21 00 20 */ addi r1, r1, 0x20
+/* 80307B18 00303778 4E 80 00 20 */ blr
+
+.global VFipdm_part_get_permission
+VFipdm_part_get_permission:
+/* 80307B1C 0030377C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80307B20 00303780 7C 08 02 A6 */ mflr r0
+/* 80307B24 00303784 2C 03 00 00 */ cmpwi r3, 0
+/* 80307B28 00303788 7C 64 1B 78 */ mr r4, r3
+/* 80307B2C 0030378C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80307B30 00303790 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80307B34 00303794 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80307B38 00303798 40 82 00 0C */ bne lbl_80307B44
+/* 80307B3C 0030379C 38 60 00 01 */ li r3, 1
+/* 80307B40 003037A0 48 00 01 A8 */ b lbl_80307CE8
+lbl_80307B44:
+/* 80307B44 003037A4 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80307B48 003037A8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80307B4C 003037AC 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80307B50 003037B0 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80307B54 003037B4 40 80 00 28 */ bge lbl_80307B7C
+/* 80307B58 003037B8 28 00 04 00 */ cmplwi r0, 0x400
+/* 80307B5C 003037BC 40 82 00 20 */ bne lbl_80307B7C
+/* 80307B60 003037C0 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80307B64 003037C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307B68 003037C8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 80307B6C 003037CC 7C 65 02 14 */ add r3, r5, r0
+/* 80307B70 003037D0 80 03 06 F4 */ lwz r0, 0x6f4(r3)
+/* 80307B74 003037D4 7C 08 00 40 */ cmplw r8, r0
+/* 80307B78 003037D8 40 81 00 0C */ ble lbl_80307B84
+lbl_80307B7C:
+/* 80307B7C 003037DC 38 60 00 01 */ li r3, 1
+/* 80307B80 003037E0 48 00 00 7C */ b lbl_80307BFC
+lbl_80307B84:
+/* 80307B84 003037E4 38 00 00 0D */ li r0, 0xd
+/* 80307B88 003037E8 38 C3 06 EC */ addi r6, r3, 0x6ec
+/* 80307B8C 003037EC 38 60 00 00 */ li r3, 0
+/* 80307B90 003037F0 7C 09 03 A6 */ mtctr r0
+lbl_80307B94:
+/* 80307B94 003037F4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307B98 003037F8 7D 25 02 14 */ add r9, r5, r0
+/* 80307B9C 003037FC 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80307BA0 00303800 7C 00 30 40 */ cmplw r0, r6
+/* 80307BA4 00303804 40 82 00 10 */ bne lbl_80307BB4
+/* 80307BA8 00303808 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80307BAC 0030380C 7C 08 00 40 */ cmplw r8, r0
+/* 80307BB0 00303810 41 82 00 30 */ beq lbl_80307BE0
+lbl_80307BB4:
+/* 80307BB4 00303814 38 63 00 01 */ addi r3, r3, 1
+/* 80307BB8 00303818 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80307BBC 0030381C 7D 25 02 14 */ add r9, r5, r0
+/* 80307BC0 00303820 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80307BC4 00303824 7C 00 30 40 */ cmplw r0, r6
+/* 80307BC8 00303828 40 82 00 10 */ bne lbl_80307BD8
+/* 80307BCC 0030382C 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80307BD0 00303830 7C 08 00 40 */ cmplw r8, r0
+/* 80307BD4 00303834 41 82 00 0C */ beq lbl_80307BE0
+lbl_80307BD8:
+/* 80307BD8 00303838 38 63 00 01 */ addi r3, r3, 1
+/* 80307BDC 0030383C 42 00 FF B8 */ bdnz lbl_80307B94
+lbl_80307BE0:
+/* 80307BE0 00303840 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 80307BE4 00303844 38 60 00 1A */ li r3, 0x1a
+/* 80307BE8 00303848 38 05 FF E6 */ addi r0, r5, -26
+/* 80307BEC 0030384C 7C A3 1B 38 */ orc r3, r5, r3
+/* 80307BF0 00303850 54 00 F8 7E */ srwi r0, r0, 1
+/* 80307BF4 00303854 7C 00 18 50 */ subf r0, r0, r3
+/* 80307BF8 00303858 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_80307BFC:
+/* 80307BFC 0030385C 2C 03 00 00 */ cmpwi r3, 0
+/* 80307C00 00303860 41 82 00 08 */ beq lbl_80307C08
+/* 80307C04 00303864 48 00 00 E4 */ b lbl_80307CE8
+lbl_80307C08:
+/* 80307C08 00303868 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80307C0C 0030386C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307C10 00303870 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 80307C14 00303874 7C 63 02 14 */ add r3, r3, r0
+/* 80307C18 00303878 80 03 06 EC */ lwz r0, 0x6ec(r3)
+/* 80307C1C 0030387C 3B C3 06 EC */ addi r30, r3, 0x6ec
+/* 80307C20 00303880 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80307C24 00303884 40 82 00 A8 */ bne lbl_80307CCC
+/* 80307C28 00303888 80 7E 00 04 */ lwz r3, 4(r30)
+/* 80307C2C 0030388C 4B FF FB C1 */ bl VFipdm_disk_set_disk
+/* 80307C30 00303890 2C 03 00 00 */ cmpwi r3, 0
+/* 80307C34 00303894 41 82 00 08 */ beq lbl_80307C3C
+/* 80307C38 00303898 48 00 00 B0 */ b lbl_80307CE8
+lbl_80307C3C:
+/* 80307C3C 0030389C 80 7E 00 04 */ lwz r3, 4(r30)
+/* 80307C40 003038A0 4B FF F2 19 */ bl VFipdm_disk_get_part_permission
+/* 80307C44 003038A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80307C48 003038A8 41 82 00 08 */ beq lbl_80307C50
+/* 80307C4C 003038AC 48 00 00 9C */ b lbl_80307CE8
+lbl_80307C50:
+/* 80307C50 003038B0 80 7E 00 04 */ lwz r3, 4(r30)
+/* 80307C54 003038B4 38 81 00 08 */ addi r4, r1, 8
+/* 80307C58 003038B8 4B FF FA 7D */ bl VFipdm_disk_get_media_information
+/* 80307C5C 003038BC 2C 03 00 00 */ cmpwi r3, 0
+/* 80307C60 003038C0 7C 7F 1B 78 */ mr r31, r3
+/* 80307C64 003038C4 41 82 00 18 */ beq lbl_80307C7C
+/* 80307C68 003038C8 80 7E 00 04 */ lwz r3, 4(r30)
+/* 80307C6C 003038CC 38 80 00 01 */ li r4, 1
+/* 80307C70 003038D0 4B FF F2 DD */ bl VFipdm_disk_release_part_permission
+/* 80307C74 003038D4 7F E3 FB 78 */ mr r3, r31
+/* 80307C78 003038D8 48 00 00 70 */ b lbl_80307CE8
+lbl_80307C7C:
+/* 80307C7C 003038DC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80307C80 003038E0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80307C84 003038E4 41 82 00 14 */ beq lbl_80307C98
+/* 80307C88 003038E8 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80307C8C 003038EC 60 00 00 10 */ ori r0, r0, 0x10
+/* 80307C90 003038F0 90 1E 00 00 */ stw r0, 0(r30)
+/* 80307C94 003038F4 48 00 00 10 */ b lbl_80307CA4
+lbl_80307C98:
+/* 80307C98 003038F8 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80307C9C 003038FC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
+/* 80307CA0 00303900 90 1E 00 00 */ stw r0, 0(r30)
+lbl_80307CA4:
+/* 80307CA4 00303904 7F C3 F3 78 */ mr r3, r30
+/* 80307CA8 00303908 4B FF FC 39 */ bl VFipdm_part_get_start_sector
+/* 80307CAC 0030390C 2C 03 00 00 */ cmpwi r3, 0
+/* 80307CB0 00303910 7C 7F 1B 78 */ mr r31, r3
+/* 80307CB4 00303914 41 82 00 20 */ beq lbl_80307CD4
+/* 80307CB8 00303918 80 7E 00 04 */ lwz r3, 4(r30)
+/* 80307CBC 0030391C 38 80 00 01 */ li r4, 1
+/* 80307CC0 00303920 4B FF F2 8D */ bl VFipdm_disk_release_part_permission
+/* 80307CC4 00303924 7F E3 FB 78 */ mr r3, r31
+/* 80307CC8 00303928 48 00 00 20 */ b lbl_80307CE8
+lbl_80307CCC:
+/* 80307CCC 0030392C 38 60 00 0D */ li r3, 0xd
+/* 80307CD0 00303930 48 00 00 18 */ b lbl_80307CE8
+lbl_80307CD4:
+/* 80307CD4 00303934 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80307CD8 00303938 38 60 00 00 */ li r3, 0
+/* 80307CDC 0030393C 60 00 00 02 */ ori r0, r0, 2
+/* 80307CE0 00303940 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
+/* 80307CE4 00303944 90 1E 00 00 */ stw r0, 0(r30)
+lbl_80307CE8:
+/* 80307CE8 00303948 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80307CEC 0030394C 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80307CF0 00303950 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80307CF4 00303954 7C 08 03 A6 */ mtlr r0
+/* 80307CF8 00303958 38 21 00 30 */ addi r1, r1, 0x30
+/* 80307CFC 0030395C 4E 80 00 20 */ blr
+
+.global VFipdm_part_release_permission
+VFipdm_part_release_permission:
+/* 80307D00 00303960 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80307D04 00303964 7C 08 02 A6 */ mflr r0
+/* 80307D08 00303968 2C 03 00 00 */ cmpwi r3, 0
+/* 80307D0C 0030396C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80307D10 00303970 7C 60 1B 78 */ mr r0, r3
+/* 80307D14 00303974 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80307D18 00303978 3B E0 00 00 */ li r31, 0
+/* 80307D1C 0030397C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80307D20 00303980 7C 9E 23 78 */ mr r30, r4
+/* 80307D24 00303984 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80307D28 00303988 40 82 00 0C */ bne lbl_80307D34
+/* 80307D2C 0030398C 38 60 00 01 */ li r3, 1
+/* 80307D30 00303990 48 00 01 40 */ b lbl_80307E70
+lbl_80307D34:
+/* 80307D34 00303994 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80307D38 00303998 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17
+/* 80307D3C 0030399C 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80307D40 003039A0 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80307D44 003039A4 40 80 00 28 */ bge lbl_80307D6C
+/* 80307D48 003039A8 28 04 04 00 */ cmplwi r4, 0x400
+/* 80307D4C 003039AC 40 82 00 20 */ bne lbl_80307D6C
+/* 80307D50 003039B0 1C 87 00 2C */ mulli r4, r7, 0x2c
+/* 80307D54 003039B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80307D58 003039B8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 80307D5C 003039BC 7C 85 22 14 */ add r4, r5, r4
+/* 80307D60 003039C0 80 64 06 F4 */ lwz r3, 0x6f4(r4)
+/* 80307D64 003039C4 7C 08 18 40 */ cmplw r8, r3
+/* 80307D68 003039C8 40 81 00 0C */ ble lbl_80307D74
+lbl_80307D6C:
+/* 80307D6C 003039CC 38 60 00 01 */ li r3, 1
+/* 80307D70 003039D0 48 00 00 7C */ b lbl_80307DEC
+lbl_80307D74:
+/* 80307D74 003039D4 38 60 00 0D */ li r3, 0xd
+/* 80307D78 003039D8 38 C4 06 EC */ addi r6, r4, 0x6ec
+/* 80307D7C 003039DC 38 80 00 00 */ li r4, 0
+/* 80307D80 003039E0 7C 69 03 A6 */ mtctr r3
+lbl_80307D84:
+/* 80307D84 003039E4 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c
+/* 80307D88 003039E8 7D 25 1A 14 */ add r9, r5, r3
+/* 80307D8C 003039EC 80 69 00 D8 */ lwz r3, 0xd8(r9)
+/* 80307D90 003039F0 7C 03 30 40 */ cmplw r3, r6
+/* 80307D94 003039F4 40 82 00 10 */ bne lbl_80307DA4
+/* 80307D98 003039F8 80 69 00 D4 */ lwz r3, 0xd4(r9)
+/* 80307D9C 003039FC 7C 08 18 40 */ cmplw r8, r3
+/* 80307DA0 00303A00 41 82 00 30 */ beq lbl_80307DD0
+lbl_80307DA4:
+/* 80307DA4 00303A04 38 84 00 01 */ addi r4, r4, 1
+/* 80307DA8 00303A08 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c
+/* 80307DAC 00303A0C 7D 25 1A 14 */ add r9, r5, r3
+/* 80307DB0 00303A10 80 69 00 D8 */ lwz r3, 0xd8(r9)
+/* 80307DB4 00303A14 7C 03 30 40 */ cmplw r3, r6
+/* 80307DB8 00303A18 40 82 00 10 */ bne lbl_80307DC8
+/* 80307DBC 00303A1C 80 69 00 D4 */ lwz r3, 0xd4(r9)
+/* 80307DC0 00303A20 7C 08 18 40 */ cmplw r8, r3
+/* 80307DC4 00303A24 41 82 00 0C */ beq lbl_80307DD0
+lbl_80307DC8:
+/* 80307DC8 00303A28 38 84 00 01 */ addi r4, r4, 1
+/* 80307DCC 00303A2C 42 00 FF B8 */ bdnz lbl_80307D84
+lbl_80307DD0:
+/* 80307DD0 00303A30 54 85 04 3E */ clrlwi r5, r4, 0x10
+/* 80307DD4 00303A34 38 80 00 1A */ li r4, 0x1a
+/* 80307DD8 00303A38 38 65 FF E6 */ addi r3, r5, -26
+/* 80307DDC 00303A3C 7C A4 23 38 */ orc r4, r5, r4
+/* 80307DE0 00303A40 54 63 F8 7E */ srwi r3, r3, 1
+/* 80307DE4 00303A44 7C 63 20 50 */ subf r3, r3, r4
+/* 80307DE8 00303A48 54 63 0F FE */ srwi r3, r3, 0x1f
+lbl_80307DEC:
+/* 80307DEC 00303A4C 2C 03 00 00 */ cmpwi r3, 0
+/* 80307DF0 00303A50 41 82 00 08 */ beq lbl_80307DF8
+/* 80307DF4 00303A54 48 00 00 7C */ b lbl_80307E70
+lbl_80307DF8:
+/* 80307DF8 00303A58 1C 67 00 2C */ mulli r3, r7, 0x2c
+/* 80307DFC 00303A5C 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 80307E00 00303A60 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l
+/* 80307E04 00303A64 7F A4 1A 14 */ add r29, r4, r3
+/* 80307E08 00303A68 80 7D 06 EC */ lwz r3, 0x6ec(r29)
+/* 80307E0C 00303A6C 54 63 07 BD */ rlwinm. r3, r3, 0, 0x1e, 0x1e
+/* 80307E10 00303A70 40 82 00 0C */ bne lbl_80307E1C
+/* 80307E14 00303A74 38 60 00 0E */ li r3, 0xe
+/* 80307E18 00303A78 48 00 00 58 */ b lbl_80307E70
+lbl_80307E1C:
+/* 80307E1C 00303A7C 80 7D 06 F0 */ lwz r3, 0x6f0(r29)
+/* 80307E20 00303A80 7C 04 03 78 */ mr r4, r0
+/* 80307E24 00303A84 4B FF F9 C9 */ bl VFipdm_disk_set_disk
+/* 80307E28 00303A88 2C 03 00 00 */ cmpwi r3, 0
+/* 80307E2C 00303A8C 41 82 00 08 */ beq lbl_80307E34
+/* 80307E30 00303A90 48 00 00 40 */ b lbl_80307E70
+lbl_80307E34:
+/* 80307E34 00303A94 80 7D 06 F0 */ lwz r3, 0x6f0(r29)
+/* 80307E38 00303A98 7F C4 F3 78 */ mr r4, r30
+/* 80307E3C 00303A9C 4B FF F1 11 */ bl VFipdm_disk_release_part_permission
+/* 80307E40 00303AA0 2C 03 00 00 */ cmpwi r3, 0
+/* 80307E44 00303AA4 41 82 00 08 */ beq lbl_80307E4C
+/* 80307E48 00303AA8 7C 7F 1B 78 */ mr r31, r3
+lbl_80307E4C:
+/* 80307E4C 00303AAC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80307E50 00303AB0 41 82 00 0C */ beq lbl_80307E5C
+/* 80307E54 00303AB4 28 1E 00 01 */ cmplwi r30, 1
+/* 80307E58 00303AB8 40 82 00 14 */ bne lbl_80307E6C
+lbl_80307E5C:
+/* 80307E5C 00303ABC 80 1D 06 EC */ lwz r0, 0x6ec(r29)
+/* 80307E60 00303AC0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
+/* 80307E64 00303AC4 54 00 07 74 */ rlwinm r0, r0, 0, 0x1d, 0x1a
+/* 80307E68 00303AC8 90 1D 06 EC */ stw r0, 0x6ec(r29)
+lbl_80307E6C:
+/* 80307E6C 00303ACC 7F E3 FB 78 */ mr r3, r31
+lbl_80307E70:
+/* 80307E70 00303AD0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80307E74 00303AD4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80307E78 00303AD8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80307E7C 00303ADC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80307E80 00303AE0 7C 08 03 A6 */ mtlr r0
+/* 80307E84 00303AE4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80307E88 00303AE8 4E 80 00 20 */ blr
+
+.global VFipdm_part_format
+VFipdm_part_format:
+/* 80307E8C 00303AEC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80307E90 00303AF0 7C 08 02 A6 */ mflr r0
+/* 80307E94 00303AF4 2C 03 00 00 */ cmpwi r3, 0
+/* 80307E98 00303AF8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80307E9C 00303AFC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80307EA0 00303B00 7C 9F 23 78 */ mr r31, r4
+/* 80307EA4 00303B04 93 C1 00 08 */ stw r30, 8(r1)
+/* 80307EA8 00303B08 40 82 00 0C */ bne lbl_80307EB4
+/* 80307EAC 00303B0C 38 60 00 01 */ li r3, 1
+/* 80307EB0 00303B10 48 00 01 10 */ b lbl_80307FC0
+lbl_80307EB4:
+/* 80307EB4 00303B14 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80307EB8 00303B18 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80307EBC 00303B1C 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80307EC0 00303B20 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80307EC4 00303B24 40 80 00 28 */ bge lbl_80307EEC
+/* 80307EC8 00303B28 28 00 04 00 */ cmplwi r0, 0x400
+/* 80307ECC 00303B2C 40 82 00 20 */ bne lbl_80307EEC
+/* 80307ED0 00303B30 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80307ED4 00303B34 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 80307ED8 00303B38 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
+/* 80307EDC 00303B3C 7C 85 02 14 */ add r4, r5, r0
+/* 80307EE0 00303B40 80 04 06 F4 */ lwz r0, 0x6f4(r4)
+/* 80307EE4 00303B44 7C 08 00 40 */ cmplw r8, r0
+/* 80307EE8 00303B48 40 81 00 0C */ ble lbl_80307EF4
+lbl_80307EEC:
+/* 80307EEC 00303B4C 38 00 00 01 */ li r0, 1
+/* 80307EF0 00303B50 48 00 00 7C */ b lbl_80307F6C
+lbl_80307EF4:
+/* 80307EF4 00303B54 38 00 00 0D */ li r0, 0xd
+/* 80307EF8 00303B58 38 C4 06 EC */ addi r6, r4, 0x6ec
+/* 80307EFC 00303B5C 38 80 00 00 */ li r4, 0
+/* 80307F00 00303B60 7C 09 03 A6 */ mtctr r0
+lbl_80307F04:
+/* 80307F04 00303B64 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80307F08 00303B68 7D 25 02 14 */ add r9, r5, r0
+/* 80307F0C 00303B6C 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80307F10 00303B70 7C 00 30 40 */ cmplw r0, r6
+/* 80307F14 00303B74 40 82 00 10 */ bne lbl_80307F24
+/* 80307F18 00303B78 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80307F1C 00303B7C 7C 08 00 40 */ cmplw r8, r0
+/* 80307F20 00303B80 41 82 00 30 */ beq lbl_80307F50
+lbl_80307F24:
+/* 80307F24 00303B84 38 84 00 01 */ addi r4, r4, 1
+/* 80307F28 00303B88 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80307F2C 00303B8C 7D 25 02 14 */ add r9, r5, r0
+/* 80307F30 00303B90 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80307F34 00303B94 7C 00 30 40 */ cmplw r0, r6
+/* 80307F38 00303B98 40 82 00 10 */ bne lbl_80307F48
+/* 80307F3C 00303B9C 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80307F40 00303BA0 7C 08 00 40 */ cmplw r8, r0
+/* 80307F44 00303BA4 41 82 00 0C */ beq lbl_80307F50
+lbl_80307F48:
+/* 80307F48 00303BA8 38 84 00 01 */ addi r4, r4, 1
+/* 80307F4C 00303BAC 42 00 FF B8 */ bdnz lbl_80307F04
+lbl_80307F50:
+/* 80307F50 00303BB0 54 85 04 3E */ clrlwi r5, r4, 0x10
+/* 80307F54 00303BB4 38 80 00 1A */ li r4, 0x1a
+/* 80307F58 00303BB8 38 05 FF E6 */ addi r0, r5, -26
+/* 80307F5C 00303BBC 7C A4 23 38 */ orc r4, r5, r4
+/* 80307F60 00303BC0 54 00 F8 7E */ srwi r0, r0, 1
+/* 80307F64 00303BC4 7C 00 20 50 */ subf r0, r0, r4
+/* 80307F68 00303BC8 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_80307F6C:
+/* 80307F6C 00303BCC 2C 00 00 00 */ cmpwi r0, 0
+/* 80307F70 00303BD0 41 82 00 0C */ beq lbl_80307F7C
+/* 80307F74 00303BD4 7C 03 03 78 */ mr r3, r0
+/* 80307F78 00303BD8 48 00 00 48 */ b lbl_80307FC0
+lbl_80307F7C:
+/* 80307F7C 00303BDC 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80307F80 00303BE0 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 80307F84 00303BE4 7C 64 1B 78 */ mr r4, r3
+/* 80307F88 00303BE8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 80307F8C 00303BEC 7F C5 02 14 */ add r30, r5, r0
+/* 80307F90 00303BF0 80 7E 06 F0 */ lwz r3, 0x6f0(r30)
+/* 80307F94 00303BF4 4B FF F8 59 */ bl VFipdm_disk_set_disk
+/* 80307F98 00303BF8 2C 03 00 00 */ cmpwi r3, 0
+/* 80307F9C 00303BFC 41 82 00 08 */ beq lbl_80307FA4
+/* 80307FA0 00303C00 48 00 00 20 */ b lbl_80307FC0
+lbl_80307FA4:
+/* 80307FA4 00303C04 80 7E 06 F0 */ lwz r3, 0x6f0(r30)
+/* 80307FA8 00303C08 7F E4 FB 78 */ mr r4, r31
+/* 80307FAC 00303C0C 4B FF F4 ED */ bl VFipdm_disk_format
+/* 80307FB0 00303C10 7C 03 00 D0 */ neg r0, r3
+/* 80307FB4 00303C14 7C 00 1B 78 */ or r0, r0, r3
+/* 80307FB8 00303C18 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 80307FBC 00303C1C 7C 63 00 38 */ and r3, r3, r0
+lbl_80307FC0:
+/* 80307FC0 00303C20 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80307FC4 00303C24 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80307FC8 00303C28 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80307FCC 00303C2C 7C 08 03 A6 */ mtlr r0
+/* 80307FD0 00303C30 38 21 00 10 */ addi r1, r1, 0x10
+/* 80307FD4 00303C34 4E 80 00 20 */ blr
+
+.global VFipdm_part_logical_read
+VFipdm_part_logical_read:
+/* 80307FD8 00303C38 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80307FDC 00303C3C 7C 08 02 A6 */ mflr r0
+/* 80307FE0 00303C40 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80307FE4 00303C44 39 61 00 20 */ addi r11, r1, 0x20
+/* 80307FE8 00303C48 4B EB F1 3D */ bl _savegpr_26
+/* 80307FEC 00303C4C 2C 03 00 00 */ cmpwi r3, 0
+/* 80307FF0 00303C50 7C 9B 23 78 */ mr r27, r4
+/* 80307FF4 00303C54 7C BC 2B 78 */ mr r28, r5
+/* 80307FF8 00303C58 7C DD 33 78 */ mr r29, r6
+/* 80307FFC 00303C5C 7C FE 3B 78 */ mr r30, r7
+/* 80308000 00303C60 7D 1F 43 78 */ mr r31, r8
+/* 80308004 00303C64 41 82 00 24 */ beq lbl_80308028
+/* 80308008 00303C68 2C 04 00 00 */ cmpwi r4, 0
+/* 8030800C 00303C6C 41 82 00 1C */ beq lbl_80308028
+/* 80308010 00303C70 2C 06 00 00 */ cmpwi r6, 0
+/* 80308014 00303C74 41 82 00 14 */ beq lbl_80308028
+/* 80308018 00303C78 2C 07 00 00 */ cmpwi r7, 0
+/* 8030801C 00303C7C 41 82 00 0C */ beq lbl_80308028
+/* 80308020 00303C80 2C 08 00 00 */ cmpwi r8, 0
+/* 80308024 00303C84 40 82 00 0C */ bne lbl_80308030
+lbl_80308028:
+/* 80308028 00303C88 38 60 00 01 */ li r3, 1
+/* 8030802C 00303C8C 48 00 01 5C */ b lbl_80308188
+lbl_80308030:
+/* 80308030 00303C90 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80308034 00303C94 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80308038 00303C98 28 07 00 1A */ cmplwi r7, 0x1a
+/* 8030803C 00303C9C 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80308040 00303CA0 40 80 00 28 */ bge lbl_80308068
+/* 80308044 00303CA4 28 00 04 00 */ cmplwi r0, 0x400
+/* 80308048 00303CA8 40 82 00 20 */ bne lbl_80308068
+/* 8030804C 00303CAC 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80308050 00303CB0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 80308054 00303CB4 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
+/* 80308058 00303CB8 7C 85 02 14 */ add r4, r5, r0
+/* 8030805C 00303CBC 80 04 06 F4 */ lwz r0, 0x6f4(r4)
+/* 80308060 00303CC0 7C 08 00 40 */ cmplw r8, r0
+/* 80308064 00303CC4 40 81 00 0C */ ble lbl_80308070
+lbl_80308068:
+/* 80308068 00303CC8 38 00 00 01 */ li r0, 1
+/* 8030806C 00303CCC 48 00 00 7C */ b lbl_803080E8
+lbl_80308070:
+/* 80308070 00303CD0 38 00 00 0D */ li r0, 0xd
+/* 80308074 00303CD4 38 C4 06 EC */ addi r6, r4, 0x6ec
+/* 80308078 00303CD8 38 80 00 00 */ li r4, 0
+/* 8030807C 00303CDC 7C 09 03 A6 */ mtctr r0
+lbl_80308080:
+/* 80308080 00303CE0 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80308084 00303CE4 7D 25 02 14 */ add r9, r5, r0
+/* 80308088 00303CE8 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 8030808C 00303CEC 7C 00 30 40 */ cmplw r0, r6
+/* 80308090 00303CF0 40 82 00 10 */ bne lbl_803080A0
+/* 80308094 00303CF4 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80308098 00303CF8 7C 08 00 40 */ cmplw r8, r0
+/* 8030809C 00303CFC 41 82 00 30 */ beq lbl_803080CC
+lbl_803080A0:
+/* 803080A0 00303D00 38 84 00 01 */ addi r4, r4, 1
+/* 803080A4 00303D04 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 803080A8 00303D08 7D 25 02 14 */ add r9, r5, r0
+/* 803080AC 00303D0C 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 803080B0 00303D10 7C 00 30 40 */ cmplw r0, r6
+/* 803080B4 00303D14 40 82 00 10 */ bne lbl_803080C4
+/* 803080B8 00303D18 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 803080BC 00303D1C 7C 08 00 40 */ cmplw r8, r0
+/* 803080C0 00303D20 41 82 00 0C */ beq lbl_803080CC
+lbl_803080C4:
+/* 803080C4 00303D24 38 84 00 01 */ addi r4, r4, 1
+/* 803080C8 00303D28 42 00 FF B8 */ bdnz lbl_80308080
+lbl_803080CC:
+/* 803080CC 00303D2C 54 85 04 3E */ clrlwi r5, r4, 0x10
+/* 803080D0 00303D30 38 80 00 1A */ li r4, 0x1a
+/* 803080D4 00303D34 38 05 FF E6 */ addi r0, r5, -26
+/* 803080D8 00303D38 7C A4 23 38 */ orc r4, r5, r4
+/* 803080DC 00303D3C 54 00 F8 7E */ srwi r0, r0, 1
+/* 803080E0 00303D40 7C 00 20 50 */ subf r0, r0, r4
+/* 803080E4 00303D44 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_803080E8:
+/* 803080E8 00303D48 2C 00 00 00 */ cmpwi r0, 0
+/* 803080EC 00303D4C 41 82 00 0C */ beq lbl_803080F8
+/* 803080F0 00303D50 7C 03 03 78 */ mr r3, r0
+/* 803080F4 00303D54 48 00 00 94 */ b lbl_80308188
+lbl_803080F8:
+/* 803080F8 00303D58 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 803080FC 00303D5C 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 80308100 00303D60 7C 64 1B 78 */ mr r4, r3
+/* 80308104 00303D64 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 80308108 00303D68 7C 65 02 14 */ add r3, r5, r0
+/* 8030810C 00303D6C 3B 43 06 EC */ addi r26, r3, 0x6ec
+/* 80308110 00303D70 80 63 06 F0 */ lwz r3, 0x6f0(r3)
+/* 80308114 00303D74 4B FF F6 D9 */ bl VFipdm_disk_set_disk
+/* 80308118 00303D78 2C 03 00 00 */ cmpwi r3, 0
+/* 8030811C 00303D7C 41 82 00 08 */ beq lbl_80308124
+/* 80308120 00303D80 48 00 00 68 */ b lbl_80308188
+lbl_80308124:
+/* 80308124 00303D84 80 1A 00 18 */ lwz r0, 0x18(r26)
+/* 80308128 00303D88 7C 00 E0 40 */ cmplw r0, r28
+/* 8030812C 00303D8C 41 81 00 0C */ bgt lbl_80308138
+/* 80308130 00303D90 38 60 00 12 */ li r3, 0x12
+/* 80308134 00303D94 48 00 00 54 */ b lbl_80308188
+lbl_80308138:
+/* 80308138 00303D98 7C 7C EA 14 */ add r3, r28, r29
+/* 8030813C 00303D9C 7C 00 18 40 */ cmplw r0, r3
+/* 80308140 00303DA0 40 80 00 0C */ bge lbl_8030814C
+/* 80308144 00303DA4 7C 00 18 50 */ subf r0, r0, r3
+/* 80308148 00303DA8 7F A0 E8 50 */ subf r29, r0, r29
+lbl_8030814C:
+/* 8030814C 00303DAC 7F 43 D3 78 */ mr r3, r26
+/* 80308150 00303DB0 7F 84 E3 78 */ mr r4, r28
+/* 80308154 00303DB4 7F C5 F3 78 */ mr r5, r30
+/* 80308158 00303DB8 4B FF F8 E9 */ bl VFipdm_part_chg_ltop
+/* 8030815C 00303DBC 7C 65 1B 78 */ mr r5, r3
+/* 80308160 00303DC0 80 7A 00 04 */ lwz r3, 4(r26)
+/* 80308164 00303DC4 7F 64 DB 78 */ mr r4, r27
+/* 80308168 00303DC8 7F A6 EB 78 */ mr r6, r29
+/* 8030816C 00303DCC 7F C7 F3 78 */ mr r7, r30
+/* 80308170 00303DD0 7F E8 FB 78 */ mr r8, r31
+/* 80308174 00303DD4 4B FF EF 75 */ bl VFipdm_disk_physical_read
+/* 80308178 00303DD8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030817C 00303DDC 41 82 00 08 */ beq lbl_80308184
+/* 80308180 00303DE0 48 00 00 08 */ b lbl_80308188
+lbl_80308184:
+/* 80308184 00303DE4 38 60 00 00 */ li r3, 0
+lbl_80308188:
+/* 80308188 00303DE8 39 61 00 20 */ addi r11, r1, 0x20
+/* 8030818C 00303DEC 4B EB EF E5 */ bl _restgpr_26
+/* 80308190 00303DF0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80308194 00303DF4 7C 08 03 A6 */ mtlr r0
+/* 80308198 00303DF8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8030819C 00303DFC 4E 80 00 20 */ blr
+
+.global VFipdm_part_logical_write
+VFipdm_part_logical_write:
+/* 803081A0 00303E00 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803081A4 00303E04 7C 08 02 A6 */ mflr r0
+/* 803081A8 00303E08 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803081AC 00303E0C 39 61 00 20 */ addi r11, r1, 0x20
+/* 803081B0 00303E10 4B EB EF 75 */ bl _savegpr_26
+/* 803081B4 00303E14 2C 03 00 00 */ cmpwi r3, 0
+/* 803081B8 00303E18 7C 9B 23 78 */ mr r27, r4
+/* 803081BC 00303E1C 7C BC 2B 78 */ mr r28, r5
+/* 803081C0 00303E20 7C DD 33 78 */ mr r29, r6
+/* 803081C4 00303E24 7C FE 3B 78 */ mr r30, r7
+/* 803081C8 00303E28 7D 1F 43 78 */ mr r31, r8
+/* 803081CC 00303E2C 41 82 00 24 */ beq lbl_803081F0
+/* 803081D0 00303E30 2C 04 00 00 */ cmpwi r4, 0
+/* 803081D4 00303E34 41 82 00 1C */ beq lbl_803081F0
+/* 803081D8 00303E38 2C 06 00 00 */ cmpwi r6, 0
+/* 803081DC 00303E3C 41 82 00 14 */ beq lbl_803081F0
+/* 803081E0 00303E40 2C 07 00 00 */ cmpwi r7, 0
+/* 803081E4 00303E44 41 82 00 0C */ beq lbl_803081F0
+/* 803081E8 00303E48 2C 08 00 00 */ cmpwi r8, 0
+/* 803081EC 00303E4C 40 82 00 0C */ bne lbl_803081F8
+lbl_803081F0:
+/* 803081F0 00303E50 38 60 00 01 */ li r3, 1
+/* 803081F4 00303E54 48 00 01 5C */ b lbl_80308350
+lbl_803081F8:
+/* 803081F8 00303E58 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 803081FC 00303E5C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80308200 00303E60 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80308204 00303E64 54 68 84 3E */ srwi r8, r3, 0x10
+/* 80308208 00303E68 40 80 00 28 */ bge lbl_80308230
+/* 8030820C 00303E6C 28 00 04 00 */ cmplwi r0, 0x400
+/* 80308210 00303E70 40 82 00 20 */ bne lbl_80308230
+/* 80308214 00303E74 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80308218 00303E78 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
+/* 8030821C 00303E7C 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
+/* 80308220 00303E80 7C 85 02 14 */ add r4, r5, r0
+/* 80308224 00303E84 80 04 06 F4 */ lwz r0, 0x6f4(r4)
+/* 80308228 00303E88 7C 08 00 40 */ cmplw r8, r0
+/* 8030822C 00303E8C 40 81 00 0C */ ble lbl_80308238
+lbl_80308230:
+/* 80308230 00303E90 38 00 00 01 */ li r0, 1
+/* 80308234 00303E94 48 00 00 7C */ b lbl_803082B0
+lbl_80308238:
+/* 80308238 00303E98 38 00 00 0D */ li r0, 0xd
+/* 8030823C 00303E9C 38 C4 06 EC */ addi r6, r4, 0x6ec
+/* 80308240 00303EA0 38 80 00 00 */ li r4, 0
+/* 80308244 00303EA4 7C 09 03 A6 */ mtctr r0
+lbl_80308248:
+/* 80308248 00303EA8 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 8030824C 00303EAC 7D 25 02 14 */ add r9, r5, r0
+/* 80308250 00303EB0 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80308254 00303EB4 7C 00 30 40 */ cmplw r0, r6
+/* 80308258 00303EB8 40 82 00 10 */ bne lbl_80308268
+/* 8030825C 00303EBC 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80308260 00303EC0 7C 08 00 40 */ cmplw r8, r0
+/* 80308264 00303EC4 41 82 00 30 */ beq lbl_80308294
+lbl_80308268:
+/* 80308268 00303EC8 38 84 00 01 */ addi r4, r4, 1
+/* 8030826C 00303ECC 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
+/* 80308270 00303ED0 7D 25 02 14 */ add r9, r5, r0
+/* 80308274 00303ED4 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80308278 00303ED8 7C 00 30 40 */ cmplw r0, r6
+/* 8030827C 00303EDC 40 82 00 10 */ bne lbl_8030828C
+/* 80308280 00303EE0 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80308284 00303EE4 7C 08 00 40 */ cmplw r8, r0
+/* 80308288 00303EE8 41 82 00 0C */ beq lbl_80308294
+lbl_8030828C:
+/* 8030828C 00303EEC 38 84 00 01 */ addi r4, r4, 1
+/* 80308290 00303EF0 42 00 FF B8 */ bdnz lbl_80308248
+lbl_80308294:
+/* 80308294 00303EF4 54 85 04 3E */ clrlwi r5, r4, 0x10
+/* 80308298 00303EF8 38 80 00 1A */ li r4, 0x1a
+/* 8030829C 00303EFC 38 05 FF E6 */ addi r0, r5, -26
+/* 803082A0 00303F00 7C A4 23 38 */ orc r4, r5, r4
+/* 803082A4 00303F04 54 00 F8 7E */ srwi r0, r0, 1
+/* 803082A8 00303F08 7C 00 20 50 */ subf r0, r0, r4
+/* 803082AC 00303F0C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_803082B0:
+/* 803082B0 00303F10 2C 00 00 00 */ cmpwi r0, 0
+/* 803082B4 00303F14 41 82 00 0C */ beq lbl_803082C0
+/* 803082B8 00303F18 7C 03 03 78 */ mr r3, r0
+/* 803082BC 00303F1C 48 00 00 94 */ b lbl_80308350
+lbl_803082C0:
+/* 803082C0 00303F20 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 803082C4 00303F24 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
+/* 803082C8 00303F28 7C 64 1B 78 */ mr r4, r3
+/* 803082CC 00303F2C 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
+/* 803082D0 00303F30 7C 65 02 14 */ add r3, r5, r0
+/* 803082D4 00303F34 3B 43 06 EC */ addi r26, r3, 0x6ec
+/* 803082D8 00303F38 80 63 06 F0 */ lwz r3, 0x6f0(r3)
+/* 803082DC 00303F3C 4B FF F5 11 */ bl VFipdm_disk_set_disk
+/* 803082E0 00303F40 2C 03 00 00 */ cmpwi r3, 0
+/* 803082E4 00303F44 41 82 00 08 */ beq lbl_803082EC
+/* 803082E8 00303F48 48 00 00 68 */ b lbl_80308350
+lbl_803082EC:
+/* 803082EC 00303F4C 80 1A 00 18 */ lwz r0, 0x18(r26)
+/* 803082F0 00303F50 7C 00 E0 40 */ cmplw r0, r28
+/* 803082F4 00303F54 41 81 00 0C */ bgt lbl_80308300
+/* 803082F8 00303F58 38 60 00 12 */ li r3, 0x12
+/* 803082FC 00303F5C 48 00 00 54 */ b lbl_80308350
+lbl_80308300:
+/* 80308300 00303F60 7C 7C EA 14 */ add r3, r28, r29
+/* 80308304 00303F64 7C 00 18 40 */ cmplw r0, r3
+/* 80308308 00303F68 40 80 00 0C */ bge lbl_80308314
+/* 8030830C 00303F6C 7C 00 18 50 */ subf r0, r0, r3
+/* 80308310 00303F70 7F A0 E8 50 */ subf r29, r0, r29
+lbl_80308314:
+/* 80308314 00303F74 7F 43 D3 78 */ mr r3, r26
+/* 80308318 00303F78 7F 84 E3 78 */ mr r4, r28
+/* 8030831C 00303F7C 7F C5 F3 78 */ mr r5, r30
+/* 80308320 00303F80 4B FF F7 21 */ bl VFipdm_part_chg_ltop
+/* 80308324 00303F84 7C 65 1B 78 */ mr r5, r3
+/* 80308328 00303F88 80 7A 00 04 */ lwz r3, 4(r26)
+/* 8030832C 00303F8C 7F 64 DB 78 */ mr r4, r27
+/* 80308330 00303F90 7F A6 EB 78 */ mr r6, r29
+/* 80308334 00303F94 7F C7 F3 78 */ mr r7, r30
+/* 80308338 00303F98 7F E8 FB 78 */ mr r8, r31
+/* 8030833C 00303F9C 4B FF EF 85 */ bl VFipdm_disk_physical_write
+/* 80308340 00303FA0 2C 03 00 00 */ cmpwi r3, 0
+/* 80308344 00303FA4 41 82 00 08 */ beq lbl_8030834C
+/* 80308348 00303FA8 48 00 00 08 */ b lbl_80308350
+lbl_8030834C:
+/* 8030834C 00303FAC 38 60 00 00 */ li r3, 0
+lbl_80308350:
+/* 80308350 00303FB0 39 61 00 20 */ addi r11, r1, 0x20
+/* 80308354 00303FB4 4B EB EE 1D */ bl _restgpr_26
+/* 80308358 00303FB8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8030835C 00303FBC 7C 08 03 A6 */ mtlr r0
+/* 80308360 00303FC0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80308364 00303FC4 4E 80 00 20 */ blr
+
+.global VFipdm_part_get_media_information
+VFipdm_part_get_media_information:
+/* 80308368 00303FC8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030836C 00303FCC 7C 08 02 A6 */ mflr r0
+/* 80308370 00303FD0 2C 03 00 00 */ cmpwi r3, 0
+/* 80308374 00303FD4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80308378 00303FD8 41 82 00 0C */ beq lbl_80308384
+/* 8030837C 00303FDC 2C 04 00 00 */ cmpwi r4, 0
+/* 80308380 00303FE0 40 82 00 0C */ bne lbl_8030838C
+lbl_80308384:
+/* 80308384 00303FE4 38 60 00 01 */ li r3, 1
+/* 80308388 00303FE8 48 00 00 F0 */ b lbl_80308478
+lbl_8030838C:
+/* 8030838C 00303FEC 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 80308390 00303FF0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 80308394 00303FF4 28 07 00 1A */ cmplwi r7, 0x1a
+/* 80308398 00303FF8 54 68 84 3E */ srwi r8, r3, 0x10
+/* 8030839C 00303FFC 40 80 00 28 */ bge lbl_803083C4
+/* 803083A0 00304000 28 00 04 00 */ cmplwi r0, 0x400
+/* 803083A4 00304004 40 82 00 20 */ bne lbl_803083C4
+/* 803083A8 00304008 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 803083AC 0030400C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 803083B0 00304010 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 803083B4 00304014 7C 65 02 14 */ add r3, r5, r0
+/* 803083B8 00304018 80 03 06 F4 */ lwz r0, 0x6f4(r3)
+/* 803083BC 0030401C 7C 08 00 40 */ cmplw r8, r0
+/* 803083C0 00304020 40 81 00 0C */ ble lbl_803083CC
+lbl_803083C4:
+/* 803083C4 00304024 38 60 00 01 */ li r3, 1
+/* 803083C8 00304028 48 00 00 7C */ b lbl_80308444
+lbl_803083CC:
+/* 803083CC 0030402C 38 00 00 0D */ li r0, 0xd
+/* 803083D0 00304030 38 C3 06 EC */ addi r6, r3, 0x6ec
+/* 803083D4 00304034 38 60 00 00 */ li r3, 0
+/* 803083D8 00304038 7C 09 03 A6 */ mtctr r0
+lbl_803083DC:
+/* 803083DC 0030403C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 803083E0 00304040 7D 25 02 14 */ add r9, r5, r0
+/* 803083E4 00304044 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 803083E8 00304048 7C 00 30 40 */ cmplw r0, r6
+/* 803083EC 0030404C 40 82 00 10 */ bne lbl_803083FC
+/* 803083F0 00304050 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 803083F4 00304054 7C 08 00 40 */ cmplw r8, r0
+/* 803083F8 00304058 41 82 00 30 */ beq lbl_80308428
+lbl_803083FC:
+/* 803083FC 0030405C 38 63 00 01 */ addi r3, r3, 1
+/* 80308400 00304060 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80308404 00304064 7D 25 02 14 */ add r9, r5, r0
+/* 80308408 00304068 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 8030840C 0030406C 7C 00 30 40 */ cmplw r0, r6
+/* 80308410 00304070 40 82 00 10 */ bne lbl_80308420
+/* 80308414 00304074 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80308418 00304078 7C 08 00 40 */ cmplw r8, r0
+/* 8030841C 0030407C 41 82 00 0C */ beq lbl_80308428
+lbl_80308420:
+/* 80308420 00304080 38 63 00 01 */ addi r3, r3, 1
+/* 80308424 00304084 42 00 FF B8 */ bdnz lbl_803083DC
+lbl_80308428:
+/* 80308428 00304088 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 8030842C 0030408C 38 60 00 1A */ li r3, 0x1a
+/* 80308430 00304090 38 05 FF E6 */ addi r0, r5, -26
+/* 80308434 00304094 7C A3 1B 38 */ orc r3, r5, r3
+/* 80308438 00304098 54 00 F8 7E */ srwi r0, r0, 1
+/* 8030843C 0030409C 7C 00 18 50 */ subf r0, r0, r3
+/* 80308440 003040A0 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_80308444:
+/* 80308444 003040A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80308448 003040A8 41 82 00 08 */ beq lbl_80308450
+/* 8030844C 003040AC 48 00 00 2C */ b lbl_80308478
+lbl_80308450:
+/* 80308450 003040B0 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80308454 003040B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80308458 003040B8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 8030845C 003040BC 7C 63 02 14 */ add r3, r3, r0
+/* 80308460 003040C0 80 63 06 F0 */ lwz r3, 0x6f0(r3)
+/* 80308464 003040C4 4B FF F2 71 */ bl VFipdm_disk_get_media_information
+/* 80308468 003040C8 7C 03 00 D0 */ neg r0, r3
+/* 8030846C 003040CC 7C 00 1B 78 */ or r0, r0, r3
+/* 80308470 003040D0 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 80308474 003040D4 7C 63 00 38 */ and r3, r3, r0
+lbl_80308478:
+/* 80308478 003040D8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030847C 003040DC 7C 08 03 A6 */ mtlr r0
+/* 80308480 003040E0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80308484 003040E4 4E 80 00 20 */ blr
+
+.global VFipdm_part_check_media_write_protect
+VFipdm_part_check_media_write_protect:
+/* 80308488 003040E8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030848C 003040EC 41 82 00 0C */ beq lbl_80308498
+/* 80308490 003040F0 2C 04 00 00 */ cmpwi r4, 0
+/* 80308494 003040F4 40 82 00 0C */ bne lbl_803084A0
+lbl_80308498:
+/* 80308498 003040F8 38 60 00 01 */ li r3, 1
+/* 8030849C 003040FC 4E 80 00 20 */ blr
+lbl_803084A0:
+/* 803084A0 00304100 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 803084A4 00304104 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 803084A8 00304108 28 07 00 1A */ cmplwi r7, 0x1a
+/* 803084AC 0030410C 54 68 84 3E */ srwi r8, r3, 0x10
+/* 803084B0 00304110 40 80 00 28 */ bge lbl_803084D8
+/* 803084B4 00304114 28 00 04 00 */ cmplwi r0, 0x400
+/* 803084B8 00304118 40 82 00 20 */ bne lbl_803084D8
+/* 803084BC 0030411C 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 803084C0 00304120 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 803084C4 00304124 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 803084C8 00304128 7C 65 02 14 */ add r3, r5, r0
+/* 803084CC 0030412C 80 03 06 F4 */ lwz r0, 0x6f4(r3)
+/* 803084D0 00304130 7C 08 00 40 */ cmplw r8, r0
+/* 803084D4 00304134 40 81 00 0C */ ble lbl_803084E0
+lbl_803084D8:
+/* 803084D8 00304138 38 60 00 01 */ li r3, 1
+/* 803084DC 0030413C 48 00 00 7C */ b lbl_80308558
+lbl_803084E0:
+/* 803084E0 00304140 38 00 00 0D */ li r0, 0xd
+/* 803084E4 00304144 38 C3 06 EC */ addi r6, r3, 0x6ec
+/* 803084E8 00304148 38 60 00 00 */ li r3, 0
+/* 803084EC 0030414C 7C 09 03 A6 */ mtctr r0
+lbl_803084F0:
+/* 803084F0 00304150 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 803084F4 00304154 7D 25 02 14 */ add r9, r5, r0
+/* 803084F8 00304158 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 803084FC 0030415C 7C 00 30 40 */ cmplw r0, r6
+/* 80308500 00304160 40 82 00 10 */ bne lbl_80308510
+/* 80308504 00304164 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80308508 00304168 7C 08 00 40 */ cmplw r8, r0
+/* 8030850C 0030416C 41 82 00 30 */ beq lbl_8030853C
+lbl_80308510:
+/* 80308510 00304170 38 63 00 01 */ addi r3, r3, 1
+/* 80308514 00304174 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80308518 00304178 7D 25 02 14 */ add r9, r5, r0
+/* 8030851C 0030417C 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80308520 00304180 7C 00 30 40 */ cmplw r0, r6
+/* 80308524 00304184 40 82 00 10 */ bne lbl_80308534
+/* 80308528 00304188 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 8030852C 0030418C 7C 08 00 40 */ cmplw r8, r0
+/* 80308530 00304190 41 82 00 0C */ beq lbl_8030853C
+lbl_80308534:
+/* 80308534 00304194 38 63 00 01 */ addi r3, r3, 1
+/* 80308538 00304198 42 00 FF B8 */ bdnz lbl_803084F0
+lbl_8030853C:
+/* 8030853C 0030419C 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 80308540 003041A0 38 60 00 1A */ li r3, 0x1a
+/* 80308544 003041A4 38 05 FF E6 */ addi r0, r5, -26
+/* 80308548 003041A8 7C A3 1B 38 */ orc r3, r5, r3
+/* 8030854C 003041AC 54 00 F8 7E */ srwi r0, r0, 1
+/* 80308550 003041B0 7C 00 18 50 */ subf r0, r0, r3
+/* 80308554 003041B4 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_80308558:
+/* 80308558 003041B8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030855C 003041BC 4C 82 00 20 */ bnelr
+/* 80308560 003041C0 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80308564 003041C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80308568 003041C8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 8030856C 003041CC 7C 63 02 14 */ add r3, r3, r0
+/* 80308570 003041D0 80 03 06 EC */ lwz r0, 0x6ec(r3)
+/* 80308574 003041D4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 80308578 003041D8 41 82 00 10 */ beq lbl_80308588
+/* 8030857C 003041DC 38 00 00 01 */ li r0, 1
+/* 80308580 003041E0 90 04 00 00 */ stw r0, 0(r4)
+/* 80308584 003041E4 48 00 00 0C */ b lbl_80308590
+lbl_80308588:
+/* 80308588 003041E8 38 00 00 00 */ li r0, 0
+/* 8030858C 003041EC 90 04 00 00 */ stw r0, 0(r4)
+lbl_80308590:
+/* 80308590 003041F0 38 60 00 00 */ li r3, 0
+/* 80308594 003041F4 4E 80 00 20 */ blr
+
+.global VFipdm_part_check_media_insert
+VFipdm_part_check_media_insert:
+/* 80308598 003041F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030859C 003041FC 41 82 00 0C */ beq lbl_803085A8
+/* 803085A0 00304200 2C 04 00 00 */ cmpwi r4, 0
+/* 803085A4 00304204 40 82 00 0C */ bne lbl_803085B0
+lbl_803085A8:
+/* 803085A8 00304208 38 60 00 01 */ li r3, 1
+/* 803085AC 0030420C 4E 80 00 20 */ blr
+lbl_803085B0:
+/* 803085B0 00304210 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 803085B4 00304214 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 803085B8 00304218 28 07 00 1A */ cmplwi r7, 0x1a
+/* 803085BC 0030421C 54 68 84 3E */ srwi r8, r3, 0x10
+/* 803085C0 00304220 40 80 00 28 */ bge lbl_803085E8
+/* 803085C4 00304224 28 00 04 00 */ cmplwi r0, 0x400
+/* 803085C8 00304228 40 82 00 20 */ bne lbl_803085E8
+/* 803085CC 0030422C 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 803085D0 00304230 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 803085D4 00304234 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 803085D8 00304238 7C 65 02 14 */ add r3, r5, r0
+/* 803085DC 0030423C 80 03 06 F4 */ lwz r0, 0x6f4(r3)
+/* 803085E0 00304240 7C 08 00 40 */ cmplw r8, r0
+/* 803085E4 00304244 40 81 00 0C */ ble lbl_803085F0
+lbl_803085E8:
+/* 803085E8 00304248 38 60 00 01 */ li r3, 1
+/* 803085EC 0030424C 48 00 00 7C */ b lbl_80308668
+lbl_803085F0:
+/* 803085F0 00304250 38 00 00 0D */ li r0, 0xd
+/* 803085F4 00304254 38 C3 06 EC */ addi r6, r3, 0x6ec
+/* 803085F8 00304258 38 60 00 00 */ li r3, 0
+/* 803085FC 0030425C 7C 09 03 A6 */ mtctr r0
+lbl_80308600:
+/* 80308600 00304260 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80308604 00304264 7D 25 02 14 */ add r9, r5, r0
+/* 80308608 00304268 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 8030860C 0030426C 7C 00 30 40 */ cmplw r0, r6
+/* 80308610 00304270 40 82 00 10 */ bne lbl_80308620
+/* 80308614 00304274 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80308618 00304278 7C 08 00 40 */ cmplw r8, r0
+/* 8030861C 0030427C 41 82 00 30 */ beq lbl_8030864C
+lbl_80308620:
+/* 80308620 00304280 38 63 00 01 */ addi r3, r3, 1
+/* 80308624 00304284 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80308628 00304288 7D 25 02 14 */ add r9, r5, r0
+/* 8030862C 0030428C 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80308630 00304290 7C 00 30 40 */ cmplw r0, r6
+/* 80308634 00304294 40 82 00 10 */ bne lbl_80308644
+/* 80308638 00304298 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 8030863C 0030429C 7C 08 00 40 */ cmplw r8, r0
+/* 80308640 003042A0 41 82 00 0C */ beq lbl_8030864C
+lbl_80308644:
+/* 80308644 003042A4 38 63 00 01 */ addi r3, r3, 1
+/* 80308648 003042A8 42 00 FF B8 */ bdnz lbl_80308600
+lbl_8030864C:
+/* 8030864C 003042AC 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 80308650 003042B0 38 60 00 1A */ li r3, 0x1a
+/* 80308654 003042B4 38 05 FF E6 */ addi r0, r5, -26
+/* 80308658 003042B8 7C A3 1B 38 */ orc r3, r5, r3
+/* 8030865C 003042BC 54 00 F8 7E */ srwi r0, r0, 1
+/* 80308660 003042C0 7C 00 18 50 */ subf r0, r0, r3
+/* 80308664 003042C4 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_80308668:
+/* 80308668 003042C8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030866C 003042CC 4C 82 00 20 */ bnelr
+/* 80308670 003042D0 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80308674 003042D4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80308678 003042D8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 8030867C 003042DC 7C 63 02 14 */ add r3, r3, r0
+/* 80308680 003042E0 80 03 06 EC */ lwz r0, 0x6ec(r3)
+/* 80308684 003042E4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80308688 003042E8 41 82 00 10 */ beq lbl_80308698
+/* 8030868C 003042EC 38 00 00 01 */ li r0, 1
+/* 80308690 003042F0 90 04 00 00 */ stw r0, 0(r4)
+/* 80308694 003042F4 48 00 00 0C */ b lbl_803086A0
+lbl_80308698:
+/* 80308698 003042F8 38 00 00 00 */ li r0, 0
+/* 8030869C 003042FC 90 04 00 00 */ stw r0, 0(r4)
+lbl_803086A0:
+/* 803086A0 00304300 38 60 00 00 */ li r3, 0
+/* 803086A4 00304304 4E 80 00 20 */ blr
+
+.global VFipdm_part_check_media_detect
+VFipdm_part_check_media_detect:
+/* 803086A8 00304308 2C 03 00 00 */ cmpwi r3, 0
+/* 803086AC 0030430C 41 82 00 0C */ beq lbl_803086B8
+/* 803086B0 00304310 2C 04 00 00 */ cmpwi r4, 0
+/* 803086B4 00304314 40 82 00 0C */ bne lbl_803086C0
+lbl_803086B8:
+/* 803086B8 00304318 38 60 00 01 */ li r3, 1
+/* 803086BC 0030431C 4E 80 00 20 */ blr
+lbl_803086C0:
+/* 803086C0 00304320 54 67 06 3E */ clrlwi r7, r3, 0x18
+/* 803086C4 00304324 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
+/* 803086C8 00304328 28 07 00 1A */ cmplwi r7, 0x1a
+/* 803086CC 0030432C 54 68 84 3E */ srwi r8, r3, 0x10
+/* 803086D0 00304330 40 80 00 28 */ bge lbl_803086F8
+/* 803086D4 00304334 28 00 04 00 */ cmplwi r0, 0x400
+/* 803086D8 00304338 40 82 00 20 */ bne lbl_803086F8
+/* 803086DC 0030433C 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 803086E0 00304340 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 803086E4 00304344 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
+/* 803086E8 00304348 7C 65 02 14 */ add r3, r5, r0
+/* 803086EC 0030434C 80 03 06 F4 */ lwz r0, 0x6f4(r3)
+/* 803086F0 00304350 7C 08 00 40 */ cmplw r8, r0
+/* 803086F4 00304354 40 81 00 0C */ ble lbl_80308700
+lbl_803086F8:
+/* 803086F8 00304358 38 60 00 01 */ li r3, 1
+/* 803086FC 0030435C 48 00 00 7C */ b lbl_80308778
+lbl_80308700:
+/* 80308700 00304360 38 00 00 0D */ li r0, 0xd
+/* 80308704 00304364 38 C3 06 EC */ addi r6, r3, 0x6ec
+/* 80308708 00304368 38 60 00 00 */ li r3, 0
+/* 8030870C 0030436C 7C 09 03 A6 */ mtctr r0
+lbl_80308710:
+/* 80308710 00304370 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80308714 00304374 7D 25 02 14 */ add r9, r5, r0
+/* 80308718 00304378 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 8030871C 0030437C 7C 00 30 40 */ cmplw r0, r6
+/* 80308720 00304380 40 82 00 10 */ bne lbl_80308730
+/* 80308724 00304384 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 80308728 00304388 7C 08 00 40 */ cmplw r8, r0
+/* 8030872C 0030438C 41 82 00 30 */ beq lbl_8030875C
+lbl_80308730:
+/* 80308730 00304390 38 63 00 01 */ addi r3, r3, 1
+/* 80308734 00304394 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
+/* 80308738 00304398 7D 25 02 14 */ add r9, r5, r0
+/* 8030873C 0030439C 80 09 00 D8 */ lwz r0, 0xd8(r9)
+/* 80308740 003043A0 7C 00 30 40 */ cmplw r0, r6
+/* 80308744 003043A4 40 82 00 10 */ bne lbl_80308754
+/* 80308748 003043A8 80 09 00 D4 */ lwz r0, 0xd4(r9)
+/* 8030874C 003043AC 7C 08 00 40 */ cmplw r8, r0
+/* 80308750 003043B0 41 82 00 0C */ beq lbl_8030875C
+lbl_80308754:
+/* 80308754 003043B4 38 63 00 01 */ addi r3, r3, 1
+/* 80308758 003043B8 42 00 FF B8 */ bdnz lbl_80308710
+lbl_8030875C:
+/* 8030875C 003043BC 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 80308760 003043C0 38 60 00 1A */ li r3, 0x1a
+/* 80308764 003043C4 38 05 FF E6 */ addi r0, r5, -26
+/* 80308768 003043C8 7C A3 1B 38 */ orc r3, r5, r3
+/* 8030876C 003043CC 54 00 F8 7E */ srwi r0, r0, 1
+/* 80308770 003043D0 7C 00 18 50 */ subf r0, r0, r3
+/* 80308774 003043D4 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_80308778:
+/* 80308778 003043D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030877C 003043DC 4C 82 00 20 */ bnelr
+/* 80308780 003043E0 1C 07 00 2C */ mulli r0, r7, 0x2c
+/* 80308784 003043E4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 80308788 003043E8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 8030878C 003043EC 7C 63 02 14 */ add r3, r3, r0
+/* 80308790 003043F0 80 03 06 EC */ lwz r0, 0x6ec(r3)
+/* 80308794 003043F4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 80308798 003043F8 41 82 00 10 */ beq lbl_803087A8
+/* 8030879C 003043FC 38 00 00 01 */ li r0, 1
+/* 803087A0 00304400 90 04 00 00 */ stw r0, 0(r4)
+/* 803087A4 00304404 48 00 00 0C */ b lbl_803087B0
+lbl_803087A8:
+/* 803087A8 00304408 38 00 00 00 */ li r0, 0
+/* 803087AC 0030440C 90 04 00 00 */ stw r0, 0(r4)
+lbl_803087B0:
+/* 803087B0 00304410 38 60 00 00 */ li r3, 0
+/* 803087B4 00304414 4E 80 00 20 */ blr
+
+.global VFipdm_part_set_driver_error_code
+VFipdm_part_set_driver_error_code:
+/* 803087B8 00304418 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 803087BC 0030441C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 803087C0 00304420 1C 00 00 2C */ mulli r0, r0, 0x2c
+/* 803087C4 00304424 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 803087C8 00304428 7C 63 02 14 */ add r3, r3, r0
+/* 803087CC 0030442C 90 83 07 10 */ stw r4, 0x710(r3)
+/* 803087D0 00304430 4E 80 00 20 */ blr
+
+.global VFipdm_part_get_driver_error_code
+VFipdm_part_get_driver_error_code:
+/* 803087D4 00304434 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 803087D8 00304438 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
+/* 803087DC 0030443C 1C 00 00 2C */ mulli r0, r0, 0x2c
+/* 803087E0 00304440 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
+/* 803087E4 00304444 7C 63 02 14 */ add r3, r3, r0
+/* 803087E8 00304448 80 63 07 10 */ lwz r3, 0x710(r3)
+/* 803087EC 0030444C 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_api_util.s b/asm/SDK/VF/pf_api_util.s new file mode 100644 index 0000000..cad2d7d --- /dev/null +++ b/asm/SDK/VF/pf_api_util.s @@ -0,0 +1,115 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFAPI_ParseOpenModeString
+VFiPFAPI_ParseOpenModeString:
+/* 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 VFiPFAPI_convertError
+VFiPFAPI_convertError:
+/* 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 VFiPFAPI_convertReturnValue
+VFiPFAPI_convertReturnValue:
+/* 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 VFiPFAPI_convertReturnValue2NULL
+VFiPFAPI_convertReturnValue2NULL:
+/* 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
diff --git a/asm/SDK/VF/pf_cache.s b/asm/SDK/VF/pf_cache.s new file mode 100644 index 0000000..e50fec0 --- /dev/null +++ b/asm/SDK/VF/pf_cache.s @@ -0,0 +1,2223 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFCACHE_InitPageList
+VFiPFCACHE_InitPageList:
+/* 80308ED8 00304B38 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80308EDC 00304B3C 7C 08 02 A6 */ mflr r0
+/* 80308EE0 00304B40 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80308EE4 00304B44 39 61 00 30 */ addi r11, r1, 0x30
+/* 80308EE8 00304B48 4B EB E2 39 */ bl _savegpr_25
+/* 80308EEC 00304B4C 90 A4 00 00 */ stw r5, 0(r4)
+/* 80308EF0 00304B50 28 09 00 01 */ cmplwi r9, 1
+/* 80308EF4 00304B54 A0 03 00 00 */ lhz r0, 0(r3)
+/* 80308EF8 00304B58 7C 00 4E 70 */ srawi r0, r0, 9
+/* 80308EFC 00304B5C 7D 80 41 D6 */ mullw r12, r0, r8
+/* 80308F00 00304B60 40 82 00 10 */ bne lbl_80308F10
+/* 80308F04 00304B64 7C 07 63 96 */ divwu r0, r7, r12
+/* 80308F08 00304B68 28 00 00 01 */ cmplwi r0, 1
+/* 80308F0C 00304B6C 41 80 00 18 */ blt lbl_80308F24
+lbl_80308F10:
+/* 80308F10 00304B70 2C 09 00 00 */ cmpwi r9, 0
+/* 80308F14 00304B74 40 82 00 18 */ bne lbl_80308F2C
+/* 80308F18 00304B78 7C 07 63 96 */ divwu r0, r7, r12
+/* 80308F1C 00304B7C 28 00 00 02 */ cmplwi r0, 2
+/* 80308F20 00304B80 40 80 00 0C */ bge lbl_80308F2C
+lbl_80308F24:
+/* 80308F24 00304B84 38 60 00 1E */ li r3, 0x1e
+/* 80308F28 00304B88 48 00 02 18 */ b lbl_80309140
+lbl_80308F2C:
+/* 80308F2C 00304B8C 7C 07 63 96 */ divwu r0, r7, r12
+/* 80308F30 00304B90 28 00 00 01 */ cmplwi r0, 1
+/* 80308F34 00304B94 40 82 00 64 */ bne lbl_80308F98
+/* 80308F38 00304B98 A0 05 00 00 */ lhz r0, 0(r5)
+/* 80308F3C 00304B9C 38 80 00 00 */ li r4, 0
+/* 80308F40 00304BA0 38 60 FF FF */ li r3, -1
+/* 80308F44 00304BA4 2C 09 00 00 */ cmpwi r9, 0
+/* 80308F48 00304BA8 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d
+/* 80308F4C 00304BAC 90 A5 00 24 */ stw r5, 0x24(r5)
+/* 80308F50 00304BB0 90 A5 00 20 */ stw r5, 0x20(r5)
+/* 80308F54 00304BB4 90 C5 00 04 */ stw r6, 4(r5)
+/* 80308F58 00304BB8 90 C5 00 08 */ stw r6, 8(r5)
+/* 80308F5C 00304BBC 90 85 00 0C */ stw r4, 0xc(r5)
+/* 80308F60 00304BC0 90 85 00 10 */ stw r4, 0x10(r5)
+/* 80308F64 00304BC4 91 05 00 14 */ stw r8, 0x14(r5)
+/* 80308F68 00304BC8 90 65 00 18 */ stw r3, 0x18(r5)
+/* 80308F6C 00304BCC B0 85 00 02 */ sth r4, 2(r5)
+/* 80308F70 00304BD0 90 85 00 1C */ stw r4, 0x1c(r5)
+/* 80308F74 00304BD4 B0 05 00 00 */ sth r0, 0(r5)
+/* 80308F78 00304BD8 41 82 00 10 */ beq lbl_80308F88
+/* 80308F7C 00304BDC 60 00 00 04 */ ori r0, r0, 4
+/* 80308F80 00304BE0 B0 05 00 00 */ sth r0, 0(r5)
+/* 80308F84 00304BE4 48 00 00 0C */ b lbl_80308F90
+lbl_80308F88:
+/* 80308F88 00304BE8 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
+/* 80308F8C 00304BEC B0 05 00 00 */ sth r0, 0(r5)
+lbl_80308F90:
+/* 80308F90 00304BF0 38 60 00 00 */ li r3, 0
+/* 80308F94 00304BF4 48 00 01 AC */ b lbl_80309140
+lbl_80308F98:
+/* 80308F98 00304BF8 7C 60 61 D6 */ mullw r3, r0, r12
+/* 80308F9C 00304BFC 3B C0 00 00 */ li r30, 0
+/* 80308FA0 00304C00 A0 05 00 00 */ lhz r0, 0(r5)
+/* 80308FA4 00304C04 3B A0 FF FF */ li r29, -1
+/* 80308FA8 00304C08 2C 09 00 00 */ cmpwi r9, 0
+/* 80308FAC 00304C0C 90 C5 00 04 */ stw r6, 4(r5)
+/* 80308FB0 00304C10 54 1C 04 3A */ rlwinm r28, r0, 0, 0x10, 0x1d
+/* 80308FB4 00304C14 7D 63 38 50 */ subf r11, r3, r7
+/* 80308FB8 00304C18 7C 0B 38 50 */ subf r0, r11, r7
+/* 80308FBC 00304C1C 90 C5 00 08 */ stw r6, 8(r5)
+/* 80308FC0 00304C20 7D 4C 00 50 */ subf r10, r12, r0
+/* 80308FC4 00304C24 1C 6A 00 28 */ mulli r3, r10, 0x28
+/* 80308FC8 00304C28 93 C5 00 0C */ stw r30, 0xc(r5)
+/* 80308FCC 00304C2C 93 C5 00 10 */ stw r30, 0x10(r5)
+/* 80308FD0 00304C30 7C 85 1A 14 */ add r4, r5, r3
+/* 80308FD4 00304C34 1C 0C 00 28 */ mulli r0, r12, 0x28
+/* 80308FD8 00304C38 91 05 00 14 */ stw r8, 0x14(r5)
+/* 80308FDC 00304C3C 90 85 00 24 */ stw r4, 0x24(r5)
+/* 80308FE0 00304C40 7C 65 02 14 */ add r3, r5, r0
+/* 80308FE4 00304C44 90 65 00 20 */ stw r3, 0x20(r5)
+/* 80308FE8 00304C48 93 A5 00 18 */ stw r29, 0x18(r5)
+/* 80308FEC 00304C4C B3 C5 00 02 */ sth r30, 2(r5)
+/* 80308FF0 00304C50 93 C5 00 1C */ stw r30, 0x1c(r5)
+/* 80308FF4 00304C54 B3 85 00 00 */ sth r28, 0(r5)
+/* 80308FF8 00304C58 41 82 00 10 */ beq lbl_80309008
+/* 80308FFC 00304C5C 63 9C 00 04 */ ori r28, r28, 4
+/* 80309000 00304C60 B3 85 00 00 */ sth r28, 0(r5)
+/* 80309004 00304C64 48 00 00 0C */ b lbl_80309010
+lbl_80309008:
+/* 80309008 00304C68 57 9C 07 B8 */ rlwinm r28, r28, 0, 0x1e, 0x1c
+/* 8030900C 00304C6C B3 85 00 00 */ sth r28, 0(r5)
+lbl_80309010:
+/* 80309010 00304C70 55 9A 48 2C */ slwi r26, r12, 9
+/* 80309014 00304C74 7D 99 63 78 */ mr r25, r12
+/* 80309018 00304C78 3B A0 00 00 */ li r29, 0
+/* 8030901C 00304C7C 3B C0 FF FF */ li r30, -1
+/* 80309020 00304C80 7F 66 D2 14 */ add r27, r6, r26
+/* 80309024 00304C84 48 00 00 80 */ b lbl_803090A4
+lbl_80309028:
+/* 80309028 00304C88 7F 8C C8 50 */ subf r28, r12, r25
+/* 8030902C 00304C8C 7F F9 62 14 */ add r31, r25, r12
+/* 80309030 00304C90 1F 9C 00 28 */ mulli r28, r28, 0x28
+/* 80309034 00304C94 2C 09 00 00 */ cmpwi r9, 0
+/* 80309038 00304C98 1F FF 00 28 */ mulli r31, r31, 0x28
+/* 8030903C 00304C9C 7F 85 E2 14 */ add r28, r5, r28
+/* 80309040 00304CA0 93 83 00 24 */ stw r28, 0x24(r3)
+/* 80309044 00304CA4 7F E5 FA 14 */ add r31, r5, r31
+/* 80309048 00304CA8 93 E3 00 20 */ stw r31, 0x20(r3)
+/* 8030904C 00304CAC 93 63 00 04 */ stw r27, 4(r3)
+/* 80309050 00304CB0 93 63 00 08 */ stw r27, 8(r3)
+/* 80309054 00304CB4 93 A3 00 0C */ stw r29, 0xc(r3)
+/* 80309058 00304CB8 93 A3 00 10 */ stw r29, 0x10(r3)
+/* 8030905C 00304CBC 91 03 00 14 */ stw r8, 0x14(r3)
+/* 80309060 00304CC0 93 C3 00 18 */ stw r30, 0x18(r3)
+/* 80309064 00304CC4 B3 A3 00 02 */ sth r29, 2(r3)
+/* 80309068 00304CC8 93 A3 00 1C */ stw r29, 0x1c(r3)
+/* 8030906C 00304CCC A3 E3 00 00 */ lhz r31, 0(r3)
+/* 80309070 00304CD0 57 FF 04 3A */ rlwinm r31, r31, 0, 0x10, 0x1d
+/* 80309074 00304CD4 B3 E3 00 00 */ sth r31, 0(r3)
+/* 80309078 00304CD8 41 82 00 14 */ beq lbl_8030908C
+/* 8030907C 00304CDC A3 E3 00 00 */ lhz r31, 0(r3)
+/* 80309080 00304CE0 63 FF 00 04 */ ori r31, r31, 4
+/* 80309084 00304CE4 B3 E3 00 00 */ sth r31, 0(r3)
+/* 80309088 00304CE8 48 00 00 10 */ b lbl_80309098
+lbl_8030908C:
+/* 8030908C 00304CEC A3 E3 00 00 */ lhz r31, 0(r3)
+/* 80309090 00304CF0 57 FF 07 B8 */ rlwinm r31, r31, 0, 0x1e, 0x1c
+/* 80309094 00304CF4 B3 E3 00 00 */ sth r31, 0(r3)
+lbl_80309098:
+/* 80309098 00304CF8 7C 63 02 14 */ add r3, r3, r0
+/* 8030909C 00304CFC 7F 7B D2 14 */ add r27, r27, r26
+/* 803090A0 00304D00 7F 39 62 14 */ add r25, r25, r12
+lbl_803090A4:
+/* 803090A4 00304D04 7C 19 50 40 */ cmplw r25, r10
+/* 803090A8 00304D08 41 80 FF 80 */ blt lbl_80309028
+/* 803090AC 00304D0C 55 80 08 3C */ slwi r0, r12, 1
+/* 803090B0 00304D10 7D 4B 38 50 */ subf r10, r11, r7
+/* 803090B4 00304D14 7C 00 00 D0 */ neg r0, r0
+/* 803090B8 00304D18 2C 09 00 00 */ cmpwi r9, 0
+/* 803090BC 00304D1C 7C 0B 00 50 */ subf r0, r11, r0
+/* 803090C0 00304D20 7D 6C 50 50 */ subf r11, r12, r10
+/* 803090C4 00304D24 7D 40 3A 14 */ add r10, r0, r7
+/* 803090C8 00304D28 38 60 00 00 */ li r3, 0
+/* 803090CC 00304D2C 55 67 48 2C */ slwi r7, r11, 9
+/* 803090D0 00304D30 38 00 FF FF */ li r0, -1
+/* 803090D4 00304D34 7D 26 3A 14 */ add r9, r6, r7
+/* 803090D8 00304D38 1D 8B 00 28 */ mulli r12, r11, 0x28
+/* 803090DC 00304D3C 1C EA 00 28 */ mulli r7, r10, 0x28
+/* 803090E0 00304D40 7C C5 62 14 */ add r6, r5, r12
+/* 803090E4 00304D44 7C E5 3A 14 */ add r7, r5, r7
+/* 803090E8 00304D48 90 E6 00 24 */ stw r7, 0x24(r6)
+/* 803090EC 00304D4C 90 A6 00 20 */ stw r5, 0x20(r6)
+/* 803090F0 00304D50 91 26 00 04 */ stw r9, 4(r6)
+/* 803090F4 00304D54 91 26 00 08 */ stw r9, 8(r6)
+/* 803090F8 00304D58 90 66 00 0C */ stw r3, 0xc(r6)
+/* 803090FC 00304D5C 90 66 00 10 */ stw r3, 0x10(r6)
+/* 80309100 00304D60 91 06 00 14 */ stw r8, 0x14(r6)
+/* 80309104 00304D64 90 06 00 18 */ stw r0, 0x18(r6)
+/* 80309108 00304D68 B0 66 00 02 */ sth r3, 2(r6)
+/* 8030910C 00304D6C 90 66 00 1C */ stw r3, 0x1c(r6)
+/* 80309110 00304D70 A0 04 00 00 */ lhz r0, 0(r4)
+/* 80309114 00304D74 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d
+/* 80309118 00304D78 B0 04 00 00 */ sth r0, 0(r4)
+/* 8030911C 00304D7C 41 82 00 14 */ beq lbl_80309130
+/* 80309120 00304D80 A0 04 00 00 */ lhz r0, 0(r4)
+/* 80309124 00304D84 60 00 00 04 */ ori r0, r0, 4
+/* 80309128 00304D88 B0 04 00 00 */ sth r0, 0(r4)
+/* 8030912C 00304D8C 48 00 00 10 */ b lbl_8030913C
+lbl_80309130:
+/* 80309130 00304D90 A0 04 00 00 */ lhz r0, 0(r4)
+/* 80309134 00304D94 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
+/* 80309138 00304D98 B0 04 00 00 */ sth r0, 0(r4)
+lbl_8030913C:
+/* 8030913C 00304D9C 38 60 00 00 */ li r3, 0
+lbl_80309140:
+/* 80309140 00304DA0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80309144 00304DA4 4B EB E0 29 */ bl _restgpr_25
+/* 80309148 00304DA8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030914C 00304DAC 7C 08 03 A6 */ mtlr r0
+/* 80309150 00304DB0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80309154 00304DB4 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_SearchForPage
+VFiPFCACHE_SearchForPage:
+/* 80309158 00304DB8 3C 05 00 01 */ addis r0, r5, 1
+/* 8030915C 00304DBC 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80309160 00304DC0 40 82 00 0C */ bne lbl_8030916C
+/* 80309164 00304DC4 38 60 00 00 */ li r3, 0
+/* 80309168 00304DC8 4E 80 00 20 */ blr
+lbl_8030916C:
+/* 8030916C 00304DCC A0 04 00 00 */ lhz r0, 0(r4)
+/* 80309170 00304DD0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80309174 00304DD4 40 82 00 0C */ bne lbl_80309180
+/* 80309178 00304DD8 38 60 00 00 */ li r3, 0
+/* 8030917C 00304DDC 4E 80 00 20 */ blr
+lbl_80309180:
+/* 80309180 00304DE0 80 E4 00 18 */ lwz r7, 0x18(r4)
+/* 80309184 00304DE4 7C 07 28 40 */ cmplw r7, r5
+/* 80309188 00304DE8 41 81 00 38 */ bgt lbl_803091C0
+/* 8030918C 00304DEC 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 80309190 00304DF0 7C C7 02 14 */ add r6, r7, r0
+/* 80309194 00304DF4 38 06 FF FF */ addi r0, r6, -1
+/* 80309198 00304DF8 7C 00 28 40 */ cmplw r0, r5
+/* 8030919C 00304DFC 41 80 00 24 */ blt lbl_803091C0
+/* 803091A0 00304E00 88 03 00 20 */ lbz r0, 0x20(r3)
+/* 803091A4 00304E04 7C A7 28 50 */ subf r5, r7, r5
+/* 803091A8 00304E08 80 C4 00 04 */ lwz r6, 4(r4)
+/* 803091AC 00304E0C 7C 83 23 78 */ mr r3, r4
+/* 803091B0 00304E10 7C A0 00 30 */ slw r0, r5, r0
+/* 803091B4 00304E14 7C 06 02 14 */ add r0, r6, r0
+/* 803091B8 00304E18 90 04 00 08 */ stw r0, 8(r4)
+/* 803091BC 00304E1C 4E 80 00 20 */ blr
+lbl_803091C0:
+/* 803091C0 00304E20 81 04 00 20 */ lwz r8, 0x20(r4)
+/* 803091C4 00304E24 48 00 00 5C */ b lbl_80309220
+lbl_803091C8:
+/* 803091C8 00304E28 A0 08 00 00 */ lhz r0, 0(r8)
+/* 803091CC 00304E2C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 803091D0 00304E30 40 82 00 0C */ bne lbl_803091DC
+/* 803091D4 00304E34 38 60 00 00 */ li r3, 0
+/* 803091D8 00304E38 4E 80 00 20 */ blr
+lbl_803091DC:
+/* 803091DC 00304E3C 80 E8 00 18 */ lwz r7, 0x18(r8)
+/* 803091E0 00304E40 7C 07 28 40 */ cmplw r7, r5
+/* 803091E4 00304E44 41 81 00 38 */ bgt lbl_8030921C
+/* 803091E8 00304E48 80 08 00 14 */ lwz r0, 0x14(r8)
+/* 803091EC 00304E4C 7C C7 02 14 */ add r6, r7, r0
+/* 803091F0 00304E50 38 06 FF FF */ addi r0, r6, -1
+/* 803091F4 00304E54 7C 00 28 40 */ cmplw r0, r5
+/* 803091F8 00304E58 41 80 00 24 */ blt lbl_8030921C
+/* 803091FC 00304E5C 88 03 00 20 */ lbz r0, 0x20(r3)
+/* 80309200 00304E60 7C 87 28 50 */ subf r4, r7, r5
+/* 80309204 00304E64 80 A8 00 04 */ lwz r5, 4(r8)
+/* 80309208 00304E68 7D 03 43 78 */ mr r3, r8
+/* 8030920C 00304E6C 7C 80 00 30 */ slw r0, r4, r0
+/* 80309210 00304E70 7C 05 02 14 */ add r0, r5, r0
+/* 80309214 00304E74 90 08 00 08 */ stw r0, 8(r8)
+/* 80309218 00304E78 4E 80 00 20 */ blr
+lbl_8030921C:
+/* 8030921C 00304E7C 81 08 00 20 */ lwz r8, 0x20(r8)
+lbl_80309220:
+/* 80309220 00304E80 7C 08 20 40 */ cmplw r8, r4
+/* 80309224 00304E84 40 82 FF A4 */ bne lbl_803091C8
+/* 80309228 00304E88 38 60 00 00 */ li r3, 0
+/* 8030922C 00304E8C 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_SearchForFreePage
+VFiPFCACHE_SearchForFreePage:
+/* 80309230 00304E90 80 C3 00 24 */ lwz r6, 0x24(r3)
+/* 80309234 00304E94 48 00 00 3C */ b lbl_80309270
+lbl_80309238:
+/* 80309238 00304E98 A0 06 00 00 */ lhz r0, 0(r6)
+/* 8030923C 00304E9C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80309240 00304EA0 40 82 00 10 */ bne lbl_80309250
+/* 80309244 00304EA4 90 C4 00 00 */ stw r6, 0(r4)
+/* 80309248 00304EA8 38 60 00 01 */ li r3, 1
+/* 8030924C 00304EAC 4E 80 00 20 */ blr
+lbl_80309250:
+/* 80309250 00304EB0 80 A6 00 18 */ lwz r5, 0x18(r6)
+/* 80309254 00304EB4 3C 05 00 01 */ addis r0, r5, 1
+/* 80309258 00304EB8 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030925C 00304EBC 41 82 00 10 */ beq lbl_8030926C
+/* 80309260 00304EC0 90 C4 00 00 */ stw r6, 0(r4)
+/* 80309264 00304EC4 38 60 00 00 */ li r3, 0
+/* 80309268 00304EC8 4E 80 00 20 */ blr
+lbl_8030926C:
+/* 8030926C 00304ECC 80 C6 00 24 */ lwz r6, 0x24(r6)
+lbl_80309270:
+/* 80309270 00304ED0 7C 06 18 40 */ cmplw r6, r3
+/* 80309274 00304ED4 40 82 FF C4 */ bne lbl_80309238
+/* 80309278 00304ED8 A0 06 00 00 */ lhz r0, 0(r6)
+/* 8030927C 00304EDC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80309280 00304EE0 40 82 00 10 */ bne lbl_80309290
+/* 80309284 00304EE4 90 C4 00 00 */ stw r6, 0(r4)
+/* 80309288 00304EE8 38 60 00 01 */ li r3, 1
+/* 8030928C 00304EEC 4E 80 00 20 */ blr
+lbl_80309290:
+/* 80309290 00304EF0 80 66 00 18 */ lwz r3, 0x18(r6)
+/* 80309294 00304EF4 3C 03 00 01 */ addis r0, r3, 1
+/* 80309298 00304EF8 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030929C 00304EFC 41 82 00 10 */ beq lbl_803092AC
+/* 803092A0 00304F00 90 C4 00 00 */ stw r6, 0(r4)
+/* 803092A4 00304F04 38 60 00 00 */ li r3, 0
+/* 803092A8 00304F08 4E 80 00 20 */ blr
+lbl_803092AC:
+/* 803092AC 00304F0C 38 00 00 00 */ li r0, 0
+/* 803092B0 00304F10 38 60 00 00 */ li r3, 0
+/* 803092B4 00304F14 90 04 00 00 */ stw r0, 0(r4)
+/* 803092B8 00304F18 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_FlushPageIfNeeded
+VFiPFCACHE_FlushPageIfNeeded:
+/* 803092BC 00304F1C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803092C0 00304F20 7C 08 02 A6 */ mflr r0
+/* 803092C4 00304F24 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803092C8 00304F28 39 61 00 30 */ addi r11, r1, 0x30
+/* 803092CC 00304F2C 4B EB DE 5D */ bl _savegpr_27
+/* 803092D0 00304F30 2C 04 00 00 */ cmpwi r4, 0
+/* 803092D4 00304F34 7C 7E 1B 78 */ mr r30, r3
+/* 803092D8 00304F38 7C 9F 23 78 */ mr r31, r4
+/* 803092DC 00304F3C 41 82 00 C4 */ beq lbl_803093A0
+/* 803092E0 00304F40 A0 04 00 00 */ lhz r0, 0(r4)
+/* 803092E4 00304F44 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 803092E8 00304F48 41 82 00 B8 */ beq lbl_803093A0
+/* 803092EC 00304F4C 81 04 00 18 */ lwz r8, 0x18(r4)
+/* 803092F0 00304F50 3C 08 00 01 */ addis r0, r8, 1
+/* 803092F4 00304F54 28 00 FF FF */ cmplwi r0, 0xffff
+/* 803092F8 00304F58 41 82 00 A8 */ beq lbl_803093A0
+/* 803092FC 00304F5C 83 A4 00 0C */ lwz r29, 0xc(r4)
+/* 80309300 00304F60 38 E1 00 08 */ addi r7, r1, 8
+/* 80309304 00304F64 89 23 00 20 */ lbz r9, 0x20(r3)
+/* 80309308 00304F68 80 C4 00 04 */ lwz r6, 4(r4)
+/* 8030930C 00304F6C 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 80309310 00304F70 7F A5 4C 30 */ srw r5, r29, r9
+/* 80309314 00304F74 7C C6 E8 50 */ subf r6, r6, r29
+/* 80309318 00304F78 7F A4 EB 78 */ mr r4, r29
+/* 8030931C 00304F7C 7C 00 4C 30 */ srw r0, r0, r9
+/* 80309320 00304F80 7C C6 4C 30 */ srw r6, r6, r9
+/* 80309324 00304F84 7C A5 00 50 */ subf r5, r5, r0
+/* 80309328 00304F88 7F 68 32 14 */ add r27, r8, r6
+/* 8030932C 00304F8C 3B 85 00 01 */ addi r28, r5, 1
+/* 80309330 00304F90 7F 65 DB 78 */ mr r5, r27
+/* 80309334 00304F94 7F 86 E3 78 */ mr r6, r28
+/* 80309338 00304F98 4B FF CF 09 */ bl VFiPFDRV_lwrite
+/* 8030933C 00304F9C 2C 03 00 00 */ cmpwi r3, 0
+/* 80309340 00304FA0 41 82 00 08 */ beq lbl_80309348
+/* 80309344 00304FA4 48 00 00 60 */ b lbl_803093A4
+lbl_80309348:
+/* 80309348 00304FA8 80 01 00 08 */ lwz r0, 8(r1)
+/* 8030934C 00304FAC 7C 00 E0 40 */ cmplw r0, r28
+/* 80309350 00304FB0 41 82 00 0C */ beq lbl_8030935C
+/* 80309354 00304FB4 38 60 00 11 */ li r3, 0x11
+/* 80309358 00304FB8 48 00 00 4C */ b lbl_803093A4
+lbl_8030935C:
+/* 8030935C 00304FBC A0 1F 00 00 */ lhz r0, 0(r31)
+/* 80309360 00304FC0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80309364 00304FC4 41 82 00 24 */ beq lbl_80309388
+/* 80309368 00304FC8 7F C3 F3 78 */ mr r3, r30
+/* 8030936C 00304FCC 7F A4 EB 78 */ mr r4, r29
+/* 80309370 00304FD0 7F 65 DB 78 */ mr r5, r27
+/* 80309374 00304FD4 7F 86 E3 78 */ mr r6, r28
+/* 80309378 00304FD8 48 00 6B 2D */ bl VFiPFFAT_UpdateAlternateFATEntry
+/* 8030937C 00304FDC 2C 03 00 00 */ cmpwi r3, 0
+/* 80309380 00304FE0 41 82 00 08 */ beq lbl_80309388
+/* 80309384 00304FE4 48 00 00 20 */ b lbl_803093A4
+lbl_80309388:
+/* 80309388 00304FE8 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 8030938C 00304FEC 38 60 00 00 */ li r3, 0
+/* 80309390 00304FF0 90 7F 00 0C */ stw r3, 0xc(r31)
+/* 80309394 00304FF4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
+/* 80309398 00304FF8 90 7F 00 10 */ stw r3, 0x10(r31)
+/* 8030939C 00304FFC B0 1F 00 00 */ sth r0, 0(r31)
+lbl_803093A0:
+/* 803093A0 00305000 38 60 00 00 */ li r3, 0
+lbl_803093A4:
+/* 803093A4 00305004 39 61 00 30 */ addi r11, r1, 0x30
+/* 803093A8 00305008 4B EB DD CD */ bl _restgpr_27
+/* 803093AC 0030500C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803093B0 00305010 7C 08 03 A6 */ mtlr r0
+/* 803093B4 00305014 38 21 00 30 */ addi r1, r1, 0x30
+/* 803093B8 00305018 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoAllocatePage
+VFiPFCACHE_DoAllocatePage:
+/* 803093BC 0030501C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803093C0 00305020 7C 08 02 A6 */ mflr r0
+/* 803093C4 00305024 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803093C8 00305028 39 61 00 30 */ addi r11, r1, 0x30
+/* 803093CC 0030502C 4B EB DD 55 */ bl _savegpr_25
+/* 803093D0 00305030 7C 9D 23 78 */ mr r29, r4
+/* 803093D4 00305034 80 84 00 00 */ lwz r4, 0(r4)
+/* 803093D8 00305038 7C 7C 1B 78 */ mr r28, r3
+/* 803093DC 0030503C 7C BE 2B 78 */ mr r30, r5
+/* 803093E0 00305040 7C DF 33 78 */ mr r31, r6
+/* 803093E4 00305044 7C F9 3B 78 */ mr r25, r7
+/* 803093E8 00305048 3B 40 00 00 */ li r26, 0
+/* 803093EC 0030504C 4B FF FD 6D */ bl VFiPFCACHE_SearchForPage
+/* 803093F0 00305050 2C 03 00 00 */ cmpwi r3, 0
+/* 803093F4 00305054 90 7F 00 00 */ stw r3, 0(r31)
+/* 803093F8 00305058 41 82 00 10 */ beq lbl_80309408
+/* 803093FC 0030505C 38 00 00 01 */ li r0, 1
+/* 80309400 00305060 90 19 00 00 */ stw r0, 0(r25)
+/* 80309404 00305064 48 00 01 B4 */ b lbl_803095B8
+lbl_80309408:
+/* 80309408 00305068 3B 60 00 00 */ li r27, 0
+/* 8030940C 0030506C 7F E4 FB 78 */ mr r4, r31
+/* 80309410 00305070 93 79 00 00 */ stw r27, 0(r25)
+/* 80309414 00305074 80 7D 00 00 */ lwz r3, 0(r29)
+/* 80309418 00305078 4B FF FE 19 */ bl VFiPFCACHE_SearchForFreePage
+/* 8030941C 0030507C 2C 03 00 00 */ cmpwi r3, 0
+/* 80309420 00305080 40 82 00 94 */ bne lbl_803094B4
+/* 80309424 00305084 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80309428 00305088 2C 04 00 00 */ cmpwi r4, 0
+/* 8030942C 0030508C 40 82 00 10 */ bne lbl_8030943C
+/* 80309430 00305090 93 7F 00 00 */ stw r27, 0(r31)
+/* 80309434 00305094 38 60 00 1E */ li r3, 0x1e
+/* 80309438 00305098 48 00 01 E4 */ b lbl_8030961C
+lbl_8030943C:
+/* 8030943C 0030509C 41 82 00 24 */ beq lbl_80309460
+/* 80309440 003050A0 A0 04 00 00 */ lhz r0, 0(r4)
+/* 80309444 003050A4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80309448 003050A8 41 82 00 18 */ beq lbl_80309460
+/* 8030944C 003050AC 80 64 00 18 */ lwz r3, 0x18(r4)
+/* 80309450 003050B0 3C 03 00 01 */ addis r0, r3, 1
+/* 80309454 003050B4 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80309458 003050B8 41 82 00 08 */ beq lbl_80309460
+/* 8030945C 003050BC 3B 40 00 01 */ li r26, 1
+lbl_80309460:
+/* 80309460 003050C0 7F 83 E3 78 */ mr r3, r28
+/* 80309464 003050C4 4B FF FE 59 */ bl VFiPFCACHE_FlushPageIfNeeded
+/* 80309468 003050C8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030946C 003050CC 41 82 00 10 */ beq lbl_8030947C
+/* 80309470 003050D0 38 00 00 00 */ li r0, 0
+/* 80309474 003050D4 90 1F 00 00 */ stw r0, 0(r31)
+/* 80309478 003050D8 48 00 01 A4 */ b lbl_8030961C
+lbl_8030947C:
+/* 8030947C 003050DC 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80309480 003050E0 38 00 00 00 */ li r0, 0
+/* 80309484 003050E4 2C 1A 00 00 */ cmpwi r26, 0
+/* 80309488 003050E8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8030948C 003050EC 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80309490 003050F0 90 03 00 10 */ stw r0, 0x10(r3)
+/* 80309494 003050F4 41 82 00 20 */ beq lbl_803094B4
+/* 80309498 003050F8 7F 83 E3 78 */ mr r3, r28
+/* 8030949C 003050FC 38 80 00 01 */ li r4, 1
+/* 803094A0 00305100 48 01 29 01 */ bl func_8031BDA0
+/* 803094A4 00305104 2C 03 00 00 */ cmpwi r3, 0
+/* 803094A8 00305108 41 82 00 0C */ beq lbl_803094B4
+/* 803094AC 0030510C 38 60 00 11 */ li r3, 0x11
+/* 803094B0 00305110 48 00 01 6C */ b lbl_8030961C
+lbl_803094B4:
+/* 803094B4 00305114 3C 1E 00 01 */ addis r0, r30, 1
+/* 803094B8 00305118 28 00 FF FF */ cmplwi r0, 0xffff
+/* 803094BC 0030511C 41 82 00 D8 */ beq lbl_80309594
+/* 803094C0 00305120 80 9F 00 00 */ lwz r4, 0(r31)
+/* 803094C4 00305124 A0 04 00 00 */ lhz r0, 0(r4)
+/* 803094C8 00305128 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 803094CC 0030512C 41 82 00 48 */ beq lbl_80309514
+/* 803094D0 00305130 80 64 00 14 */ lwz r3, 0x14(r4)
+/* 803094D4 00305134 7C 1E 1B 96 */ divwu r0, r30, r3
+/* 803094D8 00305138 7C 00 19 D6 */ mullw r0, r0, r3
+/* 803094DC 0030513C 7C 00 F0 50 */ subf r0, r0, r30
+/* 803094E0 00305140 7C 00 F0 50 */ subf r0, r0, r30
+/* 803094E4 00305144 90 04 00 18 */ stw r0, 0x18(r4)
+/* 803094E8 00305148 80 DF 00 00 */ lwz r6, 0(r31)
+/* 803094EC 0030514C 88 1C 00 20 */ lbz r0, 0x20(r28)
+/* 803094F0 00305150 80 86 00 14 */ lwz r4, 0x14(r6)
+/* 803094F4 00305154 80 A6 00 04 */ lwz r5, 4(r6)
+/* 803094F8 00305158 7C 7E 23 96 */ divwu r3, r30, r4
+/* 803094FC 0030515C 7C 63 21 D6 */ mullw r3, r3, r4
+/* 80309500 00305160 7C 63 F0 50 */ subf r3, r3, r30
+/* 80309504 00305164 7C 60 00 30 */ slw r0, r3, r0
+/* 80309508 00305168 7C 05 02 14 */ add r0, r5, r0
+/* 8030950C 0030516C 90 06 00 08 */ stw r0, 8(r6)
+/* 80309510 00305170 48 00 00 98 */ b lbl_803095A8
+lbl_80309514:
+/* 80309514 00305174 80 1C 00 1C */ lwz r0, 0x1c(r28)
+/* 80309518 00305178 2C 00 00 02 */ cmpwi r0, 2
+/* 8030951C 0030517C 40 82 00 30 */ bne lbl_8030954C
+/* 80309520 00305180 80 1C 00 30 */ lwz r0, 0x30(r28)
+/* 80309524 00305184 7C 1E 00 40 */ cmplw r30, r0
+/* 80309528 00305188 41 80 00 10 */ blt lbl_80309538
+/* 8030952C 0030518C 80 1C 00 08 */ lwz r0, 8(r28)
+/* 80309530 00305190 7C 1E 00 40 */ cmplw r30, r0
+/* 80309534 00305194 41 80 00 18 */ blt lbl_8030954C
+lbl_80309538:
+/* 80309538 00305198 A0 1C 00 14 */ lhz r0, 0x14(r28)
+/* 8030953C 0030519C 7C 1E 00 40 */ cmplw r30, r0
+/* 80309540 003051A0 40 82 00 0C */ bne lbl_8030954C
+/* 80309544 003051A4 38 00 00 01 */ li r0, 1
+/* 80309548 003051A8 90 04 00 14 */ stw r0, 0x14(r4)
+lbl_8030954C:
+/* 8030954C 003051AC 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80309550 003051B0 80 64 00 14 */ lwz r3, 0x14(r4)
+/* 80309554 003051B4 7C 1E 1B 96 */ divwu r0, r30, r3
+/* 80309558 003051B8 7C 00 19 D6 */ mullw r0, r0, r3
+/* 8030955C 003051BC 7C 00 F0 50 */ subf r0, r0, r30
+/* 80309560 003051C0 7C 00 F0 50 */ subf r0, r0, r30
+/* 80309564 003051C4 90 04 00 18 */ stw r0, 0x18(r4)
+/* 80309568 003051C8 80 DF 00 00 */ lwz r6, 0(r31)
+/* 8030956C 003051CC 88 1C 00 20 */ lbz r0, 0x20(r28)
+/* 80309570 003051D0 80 86 00 14 */ lwz r4, 0x14(r6)
+/* 80309574 003051D4 80 A6 00 04 */ lwz r5, 4(r6)
+/* 80309578 003051D8 7C 7E 23 96 */ divwu r3, r30, r4
+/* 8030957C 003051DC 7C 63 21 D6 */ mullw r3, r3, r4
+/* 80309580 003051E0 7C 63 F0 50 */ subf r3, r3, r30
+/* 80309584 003051E4 7C 60 00 30 */ slw r0, r3, r0
+/* 80309588 003051E8 7C 05 02 14 */ add r0, r5, r0
+/* 8030958C 003051EC 90 06 00 08 */ stw r0, 8(r6)
+/* 80309590 003051F0 48 00 00 18 */ b lbl_803095A8
+lbl_80309594:
+/* 80309594 003051F4 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80309598 003051F8 93 C3 00 18 */ stw r30, 0x18(r3)
+/* 8030959C 003051FC 80 7F 00 00 */ lwz r3, 0(r31)
+/* 803095A0 00305200 80 03 00 04 */ lwz r0, 4(r3)
+/* 803095A4 00305204 90 03 00 08 */ stw r0, 8(r3)
+lbl_803095A8:
+/* 803095A8 00305208 80 7F 00 00 */ lwz r3, 0(r31)
+/* 803095AC 0030520C A0 03 00 00 */ lhz r0, 0(r3)
+/* 803095B0 00305210 60 00 00 01 */ ori r0, r0, 1
+/* 803095B4 00305214 B0 03 00 00 */ sth r0, 0(r3)
+lbl_803095B8:
+/* 803095B8 00305218 80 BF 00 00 */ lwz r5, 0(r31)
+/* 803095BC 0030521C 80 7D 00 00 */ lwz r3, 0(r29)
+/* 803095C0 00305220 7C 05 18 40 */ cmplw r5, r3
+/* 803095C4 00305224 41 82 00 54 */ beq lbl_80309618
+/* 803095C8 00305228 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 803095CC 0030522C 7C 05 00 40 */ cmplw r5, r0
+/* 803095D0 00305230 40 82 00 0C */ bne lbl_803095DC
+/* 803095D4 00305234 90 BD 00 00 */ stw r5, 0(r29)
+/* 803095D8 00305238 48 00 00 40 */ b lbl_80309618
+lbl_803095DC:
+/* 803095DC 0030523C 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 803095E0 00305240 80 65 00 24 */ lwz r3, 0x24(r5)
+/* 803095E4 00305244 90 03 00 20 */ stw r0, 0x20(r3)
+/* 803095E8 00305248 80 05 00 24 */ lwz r0, 0x24(r5)
+/* 803095EC 0030524C 80 65 00 20 */ lwz r3, 0x20(r5)
+/* 803095F0 00305250 90 03 00 24 */ stw r0, 0x24(r3)
+/* 803095F4 00305254 80 9D 00 00 */ lwz r4, 0(r29)
+/* 803095F8 00305258 90 85 00 20 */ stw r4, 0x20(r5)
+/* 803095FC 0030525C 80 7D 00 00 */ lwz r3, 0(r29)
+/* 80309600 00305260 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 80309604 00305264 90 05 00 24 */ stw r0, 0x24(r5)
+/* 80309608 00305268 90 A4 00 24 */ stw r5, 0x24(r4)
+/* 8030960C 0030526C 80 65 00 24 */ lwz r3, 0x24(r5)
+/* 80309610 00305270 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 80309614 00305274 90 BD 00 00 */ stw r5, 0(r29)
+lbl_80309618:
+/* 80309618 00305278 38 60 00 00 */ li r3, 0
+lbl_8030961C:
+/* 8030961C 0030527C 39 61 00 30 */ addi r11, r1, 0x30
+/* 80309620 00305280 4B EB DB 4D */ bl _restgpr_25
+/* 80309624 00305284 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80309628 00305288 7C 08 03 A6 */ mtlr r0
+/* 8030962C 0030528C 38 21 00 30 */ addi r1, r1, 0x30
+/* 80309630 00305290 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoReadPage
+VFiPFCACHE_DoReadPage:
+/* 80309634 00305294 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80309638 00305298 7C 08 02 A6 */ mflr r0
+/* 8030963C 0030529C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80309640 003052A0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80309644 003052A4 7C 9F 23 78 */ mr r31, r4
+/* 80309648 003052A8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8030964C 003052AC 7C FE 3B 78 */ mr r30, r7
+/* 80309650 003052B0 38 E1 00 08 */ addi r7, r1, 8
+/* 80309654 003052B4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80309658 003052B8 7C DD 33 78 */ mr r29, r6
+/* 8030965C 003052BC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80309660 003052C0 7C 7C 1B 78 */ mr r28, r3
+/* 80309664 003052C4 4B FF FD 59 */ bl VFiPFCACHE_DoAllocatePage
+/* 80309668 003052C8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030966C 003052CC 41 82 00 08 */ beq lbl_80309674
+/* 80309670 003052D0 48 00 01 B0 */ b lbl_80309820
+lbl_80309674:
+/* 80309674 003052D4 80 01 00 08 */ lwz r0, 8(r1)
+/* 80309678 003052D8 2C 00 00 00 */ cmpwi r0, 0
+/* 8030967C 003052DC 40 82 01 A0 */ bne lbl_8030981C
+/* 80309680 003052E0 80 DD 00 00 */ lwz r6, 0(r29)
+/* 80309684 003052E4 7F 83 E3 78 */ mr r3, r28
+/* 80309688 003052E8 38 E1 00 0C */ addi r7, r1, 0xc
+/* 8030968C 003052EC 80 86 00 04 */ lwz r4, 4(r6)
+/* 80309690 003052F0 80 A6 00 18 */ lwz r5, 0x18(r6)
+/* 80309694 003052F4 80 C6 00 14 */ lwz r6, 0x14(r6)
+/* 80309698 003052F8 4B FF CB 25 */ bl VFiPFDRV_lread
+/* 8030969C 003052FC 2C 03 00 00 */ cmpwi r3, 0
+/* 803096A0 00305300 41 82 00 8C */ beq lbl_8030972C
+/* 803096A4 00305304 80 DD 00 00 */ lwz r6, 0(r29)
+/* 803096A8 00305308 38 80 00 00 */ li r4, 0
+/* 803096AC 0030530C 38 00 FF FF */ li r0, -1
+/* 803096B0 00305310 A0 A6 00 00 */ lhz r5, 0(r6)
+/* 803096B4 00305314 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d
+/* 803096B8 00305318 B0 A6 00 00 */ sth r5, 0(r6)
+/* 803096BC 0030531C 90 86 00 0C */ stw r4, 0xc(r6)
+/* 803096C0 00305320 90 86 00 10 */ stw r4, 0x10(r6)
+/* 803096C4 00305324 90 06 00 18 */ stw r0, 0x18(r6)
+/* 803096C8 00305328 90 86 00 1C */ stw r4, 0x1c(r6)
+/* 803096CC 0030532C 80 9F 00 00 */ lwz r4, 0(r31)
+/* 803096D0 00305330 7C 06 20 40 */ cmplw r6, r4
+/* 803096D4 00305334 40 82 00 10 */ bne lbl_803096E4
+/* 803096D8 00305338 80 06 00 20 */ lwz r0, 0x20(r6)
+/* 803096DC 0030533C 90 1F 00 00 */ stw r0, 0(r31)
+/* 803096E0 00305340 48 00 01 40 */ b lbl_80309820
+lbl_803096E4:
+/* 803096E4 00305344 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 803096E8 00305348 7C 06 00 40 */ cmplw r6, r0
+/* 803096EC 0030534C 41 82 01 34 */ beq lbl_80309820
+/* 803096F0 00305350 80 06 00 20 */ lwz r0, 0x20(r6)
+/* 803096F4 00305354 80 86 00 24 */ lwz r4, 0x24(r6)
+/* 803096F8 00305358 90 04 00 20 */ stw r0, 0x20(r4)
+/* 803096FC 0030535C 80 06 00 24 */ lwz r0, 0x24(r6)
+/* 80309700 00305360 80 86 00 20 */ lwz r4, 0x20(r6)
+/* 80309704 00305364 90 04 00 24 */ stw r0, 0x24(r4)
+/* 80309708 00305368 80 BF 00 00 */ lwz r5, 0(r31)
+/* 8030970C 0030536C 90 A6 00 20 */ stw r5, 0x20(r6)
+/* 80309710 00305370 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80309714 00305374 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 80309718 00305378 90 06 00 24 */ stw r0, 0x24(r6)
+/* 8030971C 0030537C 90 C5 00 24 */ stw r6, 0x24(r5)
+/* 80309720 00305380 80 86 00 24 */ lwz r4, 0x24(r6)
+/* 80309724 00305384 90 C4 00 20 */ stw r6, 0x20(r4)
+/* 80309728 00305388 48 00 00 F8 */ b lbl_80309820
+lbl_8030972C:
+/* 8030972C 0030538C 80 BD 00 00 */ lwz r5, 0(r29)
+/* 80309730 00305390 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 80309734 00305394 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80309738 00305398 7C 04 00 40 */ cmplw r4, r0
+/* 8030973C 0030539C 41 82 00 A0 */ beq lbl_803097DC
+/* 80309740 003053A0 80 05 00 18 */ lwz r0, 0x18(r5)
+/* 80309744 003053A4 80 7C 00 08 */ lwz r3, 8(r28)
+/* 80309748 003053A8 7C 00 22 14 */ add r0, r0, r4
+/* 8030974C 003053AC 7C 03 00 40 */ cmplw r3, r0
+/* 80309750 003053B0 41 82 00 8C */ beq lbl_803097DC
+/* 80309754 003053B4 A0 85 00 00 */ lhz r4, 0(r5)
+/* 80309758 003053B8 38 60 00 00 */ li r3, 0
+/* 8030975C 003053BC 38 00 FF FF */ li r0, -1
+/* 80309760 003053C0 54 84 04 3A */ rlwinm r4, r4, 0, 0x10, 0x1d
+/* 80309764 003053C4 B0 85 00 00 */ sth r4, 0(r5)
+/* 80309768 003053C8 90 65 00 0C */ stw r3, 0xc(r5)
+/* 8030976C 003053CC 90 65 00 10 */ stw r3, 0x10(r5)
+/* 80309770 003053D0 90 05 00 18 */ stw r0, 0x18(r5)
+/* 80309774 003053D4 90 65 00 1C */ stw r3, 0x1c(r5)
+/* 80309778 003053D8 80 7F 00 00 */ lwz r3, 0(r31)
+/* 8030977C 003053DC 7C 05 18 40 */ cmplw r5, r3
+/* 80309780 003053E0 40 82 00 10 */ bne lbl_80309790
+/* 80309784 003053E4 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80309788 003053E8 90 1F 00 00 */ stw r0, 0(r31)
+/* 8030978C 003053EC 48 00 00 48 */ b lbl_803097D4
+lbl_80309790:
+/* 80309790 003053F0 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 80309794 003053F4 7C 05 00 40 */ cmplw r5, r0
+/* 80309798 003053F8 41 82 00 3C */ beq lbl_803097D4
+/* 8030979C 003053FC 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 803097A0 00305400 80 65 00 24 */ lwz r3, 0x24(r5)
+/* 803097A4 00305404 90 03 00 20 */ stw r0, 0x20(r3)
+/* 803097A8 00305408 80 05 00 24 */ lwz r0, 0x24(r5)
+/* 803097AC 0030540C 80 65 00 20 */ lwz r3, 0x20(r5)
+/* 803097B0 00305410 90 03 00 24 */ stw r0, 0x24(r3)
+/* 803097B4 00305414 80 9F 00 00 */ lwz r4, 0(r31)
+/* 803097B8 00305418 90 85 00 20 */ stw r4, 0x20(r5)
+/* 803097BC 0030541C 80 7F 00 00 */ lwz r3, 0(r31)
+/* 803097C0 00305420 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 803097C4 00305424 90 05 00 24 */ stw r0, 0x24(r5)
+/* 803097C8 00305428 90 A4 00 24 */ stw r5, 0x24(r4)
+/* 803097CC 0030542C 80 65 00 24 */ lwz r3, 0x24(r5)
+/* 803097D0 00305430 90 A3 00 20 */ stw r5, 0x20(r3)
+lbl_803097D4:
+/* 803097D4 00305434 38 60 00 11 */ li r3, 0x11
+/* 803097D8 00305438 48 00 00 48 */ b lbl_80309820
+lbl_803097DC:
+/* 803097DC 0030543C A0 65 00 00 */ lhz r3, 0(r5)
+/* 803097E0 00305440 38 00 00 00 */ li r0, 0
+/* 803097E4 00305444 2C 1E 00 00 */ cmpwi r30, 0
+/* 803097E8 00305448 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
+/* 803097EC 0030544C B0 65 00 00 */ sth r3, 0(r5)
+/* 803097F0 00305450 80 7D 00 00 */ lwz r3, 0(r29)
+/* 803097F4 00305454 90 03 00 0C */ stw r0, 0xc(r3)
+/* 803097F8 00305458 80 7D 00 00 */ lwz r3, 0(r29)
+/* 803097FC 0030545C 90 03 00 10 */ stw r0, 0x10(r3)
+/* 80309800 00305460 41 82 00 14 */ beq lbl_80309814
+/* 80309804 00305464 80 1C 16 08 */ lwz r0, 0x1608(r28)
+/* 80309808 00305468 80 7D 00 00 */ lwz r3, 0(r29)
+/* 8030980C 0030546C 90 03 00 1C */ stw r0, 0x1c(r3)
+/* 80309810 00305470 48 00 00 0C */ b lbl_8030981C
+lbl_80309814:
+/* 80309814 00305474 80 7D 00 00 */ lwz r3, 0(r29)
+/* 80309818 00305478 90 03 00 1C */ stw r0, 0x1c(r3)
+lbl_8030981C:
+/* 8030981C 0030547C 38 60 00 00 */ li r3, 0
+lbl_80309820:
+/* 80309820 00305480 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80309824 00305484 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80309828 00305488 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8030982C 0030548C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80309830 00305490 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80309834 00305494 7C 08 03 A6 */ mtlr r0
+/* 80309838 00305498 38 21 00 20 */ addi r1, r1, 0x20
+/* 8030983C 0030549C 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoReadPageAndFlushIfNeeded
+VFiPFCACHE_DoReadPageAndFlushIfNeeded:
+/* 80309840 003054A0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80309844 003054A4 7C 08 02 A6 */ mflr r0
+/* 80309848 003054A8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8030984C 003054AC 39 61 00 30 */ addi r11, r1, 0x30
+/* 80309850 003054B0 4B EB D8 D9 */ bl _savegpr_27
+/* 80309854 003054B4 7C FB 3B 78 */ mr r27, r7
+/* 80309858 003054B8 7C 7D 1B 78 */ mr r29, r3
+/* 8030985C 003054BC 7C 9E 23 78 */ mr r30, r4
+/* 80309860 003054C0 7C DF 33 78 */ mr r31, r6
+/* 80309864 003054C4 38 E1 00 08 */ addi r7, r1, 8
+/* 80309868 003054C8 3B 80 00 01 */ li r28, 1
+/* 8030986C 003054CC 4B FF FB 51 */ bl VFiPFCACHE_DoAllocatePage
+/* 80309870 003054D0 2C 03 00 00 */ cmpwi r3, 0
+/* 80309874 003054D4 41 82 00 08 */ beq lbl_8030987C
+/* 80309878 003054D8 48 00 02 4C */ b lbl_80309AC4
+lbl_8030987C:
+/* 8030987C 003054DC 80 01 00 08 */ lwz r0, 8(r1)
+/* 80309880 003054E0 2C 00 00 00 */ cmpwi r0, 0
+/* 80309884 003054E4 40 82 01 A4 */ bne lbl_80309A28
+/* 80309888 003054E8 80 DF 00 00 */ lwz r6, 0(r31)
+/* 8030988C 003054EC 7F A3 EB 78 */ mr r3, r29
+/* 80309890 003054F0 38 E1 00 0C */ addi r7, r1, 0xc
+/* 80309894 003054F4 80 86 00 04 */ lwz r4, 4(r6)
+/* 80309898 003054F8 80 A6 00 18 */ lwz r5, 0x18(r6)
+/* 8030989C 003054FC 80 C6 00 14 */ lwz r6, 0x14(r6)
+/* 803098A0 00305500 4B FF C9 1D */ bl VFiPFDRV_lread
+/* 803098A4 00305504 2C 03 00 00 */ cmpwi r3, 0
+/* 803098A8 00305508 41 82 00 8C */ beq lbl_80309934
+/* 803098AC 0030550C 80 DF 00 00 */ lwz r6, 0(r31)
+/* 803098B0 00305510 38 80 00 00 */ li r4, 0
+/* 803098B4 00305514 38 00 FF FF */ li r0, -1
+/* 803098B8 00305518 A0 A6 00 00 */ lhz r5, 0(r6)
+/* 803098BC 0030551C 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d
+/* 803098C0 00305520 B0 A6 00 00 */ sth r5, 0(r6)
+/* 803098C4 00305524 90 86 00 0C */ stw r4, 0xc(r6)
+/* 803098C8 00305528 90 86 00 10 */ stw r4, 0x10(r6)
+/* 803098CC 0030552C 90 06 00 18 */ stw r0, 0x18(r6)
+/* 803098D0 00305530 90 86 00 1C */ stw r4, 0x1c(r6)
+/* 803098D4 00305534 80 9E 00 00 */ lwz r4, 0(r30)
+/* 803098D8 00305538 7C 06 20 40 */ cmplw r6, r4
+/* 803098DC 0030553C 40 82 00 10 */ bne lbl_803098EC
+/* 803098E0 00305540 80 06 00 20 */ lwz r0, 0x20(r6)
+/* 803098E4 00305544 90 1E 00 00 */ stw r0, 0(r30)
+/* 803098E8 00305548 48 00 01 DC */ b lbl_80309AC4
+lbl_803098EC:
+/* 803098EC 0030554C 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 803098F0 00305550 7C 06 00 40 */ cmplw r6, r0
+/* 803098F4 00305554 41 82 01 D0 */ beq lbl_80309AC4
+/* 803098F8 00305558 80 06 00 20 */ lwz r0, 0x20(r6)
+/* 803098FC 0030555C 80 86 00 24 */ lwz r4, 0x24(r6)
+/* 80309900 00305560 90 04 00 20 */ stw r0, 0x20(r4)
+/* 80309904 00305564 80 06 00 24 */ lwz r0, 0x24(r6)
+/* 80309908 00305568 80 86 00 20 */ lwz r4, 0x20(r6)
+/* 8030990C 0030556C 90 04 00 24 */ stw r0, 0x24(r4)
+/* 80309910 00305570 80 BE 00 00 */ lwz r5, 0(r30)
+/* 80309914 00305574 90 A6 00 20 */ stw r5, 0x20(r6)
+/* 80309918 00305578 80 9E 00 00 */ lwz r4, 0(r30)
+/* 8030991C 0030557C 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 80309920 00305580 90 06 00 24 */ stw r0, 0x24(r6)
+/* 80309924 00305584 90 C5 00 24 */ stw r6, 0x24(r5)
+/* 80309928 00305588 80 86 00 24 */ lwz r4, 0x24(r6)
+/* 8030992C 0030558C 90 C4 00 20 */ stw r6, 0x20(r4)
+/* 80309930 00305590 48 00 01 94 */ b lbl_80309AC4
+lbl_80309934:
+/* 80309934 00305594 80 BF 00 00 */ lwz r5, 0(r31)
+/* 80309938 00305598 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 8030993C 0030559C 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80309940 003055A0 7C 04 00 40 */ cmplw r4, r0
+/* 80309944 003055A4 41 82 00 A0 */ beq lbl_803099E4
+/* 80309948 003055A8 80 05 00 18 */ lwz r0, 0x18(r5)
+/* 8030994C 003055AC 80 7D 00 08 */ lwz r3, 8(r29)
+/* 80309950 003055B0 7C 00 22 14 */ add r0, r0, r4
+/* 80309954 003055B4 7C 03 00 40 */ cmplw r3, r0
+/* 80309958 003055B8 41 82 00 8C */ beq lbl_803099E4
+/* 8030995C 003055BC A0 85 00 00 */ lhz r4, 0(r5)
+/* 80309960 003055C0 38 60 00 00 */ li r3, 0
+/* 80309964 003055C4 38 00 FF FF */ li r0, -1
+/* 80309968 003055C8 54 84 04 3A */ rlwinm r4, r4, 0, 0x10, 0x1d
+/* 8030996C 003055CC B0 85 00 00 */ sth r4, 0(r5)
+/* 80309970 003055D0 90 65 00 0C */ stw r3, 0xc(r5)
+/* 80309974 003055D4 90 65 00 10 */ stw r3, 0x10(r5)
+/* 80309978 003055D8 90 05 00 18 */ stw r0, 0x18(r5)
+/* 8030997C 003055DC 90 65 00 1C */ stw r3, 0x1c(r5)
+/* 80309980 003055E0 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80309984 003055E4 7C 05 18 40 */ cmplw r5, r3
+/* 80309988 003055E8 40 82 00 10 */ bne lbl_80309998
+/* 8030998C 003055EC 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80309990 003055F0 90 1E 00 00 */ stw r0, 0(r30)
+/* 80309994 003055F4 48 00 00 48 */ b lbl_803099DC
+lbl_80309998:
+/* 80309998 003055F8 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 8030999C 003055FC 7C 05 00 40 */ cmplw r5, r0
+/* 803099A0 00305600 41 82 00 3C */ beq lbl_803099DC
+/* 803099A4 00305604 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 803099A8 00305608 80 65 00 24 */ lwz r3, 0x24(r5)
+/* 803099AC 0030560C 90 03 00 20 */ stw r0, 0x20(r3)
+/* 803099B0 00305610 80 05 00 24 */ lwz r0, 0x24(r5)
+/* 803099B4 00305614 80 65 00 20 */ lwz r3, 0x20(r5)
+/* 803099B8 00305618 90 03 00 24 */ stw r0, 0x24(r3)
+/* 803099BC 0030561C 80 9E 00 00 */ lwz r4, 0(r30)
+/* 803099C0 00305620 90 85 00 20 */ stw r4, 0x20(r5)
+/* 803099C4 00305624 80 7E 00 00 */ lwz r3, 0(r30)
+/* 803099C8 00305628 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 803099CC 0030562C 90 05 00 24 */ stw r0, 0x24(r5)
+/* 803099D0 00305630 90 A4 00 24 */ stw r5, 0x24(r4)
+/* 803099D4 00305634 80 65 00 24 */ lwz r3, 0x24(r5)
+/* 803099D8 00305638 90 A3 00 20 */ stw r5, 0x20(r3)
+lbl_803099DC:
+/* 803099DC 0030563C 38 60 00 11 */ li r3, 0x11
+/* 803099E0 00305640 48 00 00 E4 */ b lbl_80309AC4
+lbl_803099E4:
+/* 803099E4 00305644 A0 65 00 00 */ lhz r3, 0(r5)
+/* 803099E8 00305648 38 00 00 00 */ li r0, 0
+/* 803099EC 0030564C 2C 1B 00 00 */ cmpwi r27, 0
+/* 803099F0 00305650 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
+/* 803099F4 00305654 B0 65 00 00 */ sth r3, 0(r5)
+/* 803099F8 00305658 80 7F 00 00 */ lwz r3, 0(r31)
+/* 803099FC 0030565C 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80309A00 00305660 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80309A04 00305664 90 03 00 10 */ stw r0, 0x10(r3)
+/* 80309A08 00305668 41 82 00 14 */ beq lbl_80309A1C
+/* 80309A0C 0030566C 80 1D 16 08 */ lwz r0, 0x1608(r29)
+/* 80309A10 00305670 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80309A14 00305674 90 03 00 1C */ stw r0, 0x1c(r3)
+/* 80309A18 00305678 48 00 00 A8 */ b lbl_80309AC0
+lbl_80309A1C:
+/* 80309A1C 0030567C 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80309A20 00305680 90 03 00 1C */ stw r0, 0x1c(r3)
+/* 80309A24 00305684 48 00 00 9C */ b lbl_80309AC0
+lbl_80309A28:
+/* 80309A28 00305688 2C 1B 00 00 */ cmpwi r27, 0
+/* 80309A2C 0030568C 41 82 00 94 */ beq lbl_80309AC0
+/* 80309A30 00305690 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80309A34 00305694 A0 04 00 00 */ lhz r0, 0(r4)
+/* 80309A38 00305698 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 80309A3C 0030569C 2C 80 00 00 */ cmpwi cr1, r0, 0
+/* 80309A40 003056A0 41 86 00 80 */ beq cr1, lbl_80309AC0
+/* 80309A44 003056A4 80 1D 15 E8 */ lwz r0, 0x15e8(r29)
+/* 80309A48 003056A8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80309A4C 003056AC 41 82 00 74 */ beq lbl_80309AC0
+/* 80309A50 003056B0 80 64 00 1C */ lwz r3, 0x1c(r4)
+/* 80309A54 003056B4 80 1D 16 08 */ lwz r0, 0x1608(r29)
+/* 80309A58 003056B8 7C 03 00 40 */ cmplw r3, r0
+/* 80309A5C 003056BC 41 82 00 64 */ beq lbl_80309AC0
+/* 80309A60 003056C0 2C 04 00 00 */ cmpwi r4, 0
+/* 80309A64 003056C4 41 82 00 1C */ beq lbl_80309A80
+/* 80309A68 003056C8 41 86 00 18 */ beq cr1, lbl_80309A80
+/* 80309A6C 003056CC 80 64 00 18 */ lwz r3, 0x18(r4)
+/* 80309A70 003056D0 3C 03 00 01 */ addis r0, r3, 1
+/* 80309A74 003056D4 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80309A78 003056D8 41 82 00 08 */ beq lbl_80309A80
+/* 80309A7C 003056DC 3B 80 00 01 */ li r28, 1
+lbl_80309A80:
+/* 80309A80 003056E0 7F A3 EB 78 */ mr r3, r29
+/* 80309A84 003056E4 4B FF F8 39 */ bl VFiPFCACHE_FlushPageIfNeeded
+/* 80309A88 003056E8 2C 03 00 00 */ cmpwi r3, 0
+/* 80309A8C 003056EC 41 82 00 10 */ beq lbl_80309A9C
+/* 80309A90 003056F0 38 00 00 00 */ li r0, 0
+/* 80309A94 003056F4 90 1F 00 00 */ stw r0, 0(r31)
+/* 80309A98 003056F8 48 00 00 2C */ b lbl_80309AC4
+lbl_80309A9C:
+/* 80309A9C 003056FC 2C 1C 00 00 */ cmpwi r28, 0
+/* 80309AA0 00305700 41 82 00 20 */ beq lbl_80309AC0
+/* 80309AA4 00305704 7F A3 EB 78 */ mr r3, r29
+/* 80309AA8 00305708 38 80 00 01 */ li r4, 1
+/* 80309AAC 0030570C 48 01 22 F5 */ bl func_8031BDA0
+/* 80309AB0 00305710 2C 03 00 00 */ cmpwi r3, 0
+/* 80309AB4 00305714 41 82 00 0C */ beq lbl_80309AC0
+/* 80309AB8 00305718 38 60 00 11 */ li r3, 0x11
+/* 80309ABC 0030571C 48 00 00 08 */ b lbl_80309AC4
+lbl_80309AC0:
+/* 80309AC0 00305720 38 60 00 00 */ li r3, 0
+lbl_80309AC4:
+/* 80309AC4 00305724 39 61 00 30 */ addi r11, r1, 0x30
+/* 80309AC8 00305728 4B EB D6 AD */ bl _restgpr_27
+/* 80309ACC 0030572C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80309AD0 00305730 7C 08 03 A6 */ mtlr r0
+/* 80309AD4 00305734 38 21 00 30 */ addi r1, r1, 0x30
+/* 80309AD8 00305738 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoReadNumSector
+VFiPFCACHE_DoReadNumSector:
+/* 80309ADC 0030573C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80309AE0 00305740 7C 08 02 A6 */ mflr r0
+/* 80309AE4 00305744 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80309AE8 00305748 39 61 00 40 */ addi r11, r1, 0x40
+/* 80309AEC 0030574C 4B EB D6 25 */ bl _savegpr_21
+/* 80309AF0 00305750 38 00 00 00 */ li r0, 0
+/* 80309AF4 00305754 7C B8 2B 78 */ mr r24, r5
+/* 80309AF8 00305758 7C D9 33 78 */ mr r25, r6
+/* 80309AFC 0030575C 7C FA 3B 78 */ mr r26, r7
+/* 80309B00 00305760 7D 1B 43 78 */ mr r27, r8
+/* 80309B04 00305764 7C 97 23 78 */ mr r23, r4
+/* 80309B08 00305768 90 08 00 00 */ stw r0, 0(r8)
+/* 80309B0C 0030576C 7C 76 1B 78 */ mr r22, r3
+/* 80309B10 00305770 7F 04 C3 78 */ mr r4, r24
+/* 80309B14 00305774 7F 25 CB 78 */ mr r5, r25
+/* 80309B18 00305778 7F 46 D3 78 */ mr r6, r26
+/* 80309B1C 0030577C 7F 67 DB 78 */ mr r7, r27
+/* 80309B20 00305780 4B FF C6 9D */ bl VFiPFDRV_lread
+/* 80309B24 00305784 2C 03 00 00 */ cmpwi r3, 0
+/* 80309B28 00305788 41 82 00 08 */ beq lbl_80309B30
+/* 80309B2C 0030578C 48 00 01 EC */ b lbl_80309D18
+lbl_80309B30:
+/* 80309B30 00305790 83 FB 00 00 */ lwz r31, 0(r27)
+/* 80309B34 00305794 3B A0 00 00 */ li r29, 0
+/* 80309B38 00305798 7F FC FB 78 */ mr r28, r31
+/* 80309B3C 0030579C 7F D9 FA 14 */ add r30, r25, r31
+lbl_80309B40:
+/* 80309B40 003057A0 2C 1D 00 00 */ cmpwi r29, 0
+/* 80309B44 003057A4 40 82 00 0C */ bne lbl_80309B50
+/* 80309B48 003057A8 83 B7 00 00 */ lwz r29, 0(r23)
+/* 80309B4C 003057AC 48 00 00 40 */ b lbl_80309B8C
+lbl_80309B50:
+/* 80309B50 003057B0 83 BD 00 20 */ lwz r29, 0x20(r29)
+/* 80309B54 003057B4 80 17 00 00 */ lwz r0, 0(r23)
+/* 80309B58 003057B8 7C 1D 00 40 */ cmplw r29, r0
+/* 80309B5C 003057BC 40 82 00 30 */ bne lbl_80309B8C
+/* 80309B60 003057C0 3B A0 00 00 */ li r29, 0
+/* 80309B64 003057C4 48 00 00 38 */ b lbl_80309B9C
+/* 80309B68 003057C8 48 00 00 24 */ b lbl_80309B8C
+lbl_80309B6C:
+/* 80309B6C 003057CC 80 7D 00 18 */ lwz r3, 0x18(r29)
+/* 80309B70 003057D0 3C 03 00 01 */ addis r0, r3, 1
+/* 80309B74 003057D4 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80309B78 003057D8 41 82 00 10 */ beq lbl_80309B88
+/* 80309B7C 003057DC 80 1D 00 04 */ lwz r0, 4(r29)
+/* 80309B80 003057E0 90 1D 00 08 */ stw r0, 8(r29)
+/* 80309B84 003057E4 48 00 00 18 */ b lbl_80309B9C
+lbl_80309B88:
+/* 80309B88 003057E8 83 BD 00 20 */ lwz r29, 0x20(r29)
+lbl_80309B8C:
+/* 80309B8C 003057EC A0 1D 00 00 */ lhz r0, 0(r29)
+/* 80309B90 003057F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80309B94 003057F4 40 82 FF D8 */ bne lbl_80309B6C
+/* 80309B98 003057F8 3B A0 00 00 */ li r29, 0
+lbl_80309B9C:
+/* 80309B9C 003057FC 2C 1D 00 00 */ cmpwi r29, 0
+/* 80309BA0 00305800 41 82 01 40 */ beq lbl_80309CE0
+/* 80309BA4 00305804 80 FD 00 18 */ lwz r7, 0x18(r29)
+/* 80309BA8 00305808 3C 07 00 01 */ addis r0, r7, 1
+/* 80309BAC 0030580C 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80309BB0 00305810 41 82 01 30 */ beq lbl_80309CE0
+/* 80309BB4 00305814 7C 07 C8 40 */ cmplw r7, r25
+/* 80309BB8 00305818 41 81 00 3C */ bgt lbl_80309BF4
+/* 80309BBC 0030581C 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 80309BC0 00305820 7C 07 02 14 */ add r0, r7, r0
+/* 80309BC4 00305824 7C 00 F0 40 */ cmplw r0, r30
+/* 80309BC8 00305828 41 80 00 2C */ blt lbl_80309BF4
+/* 80309BCC 0030582C 88 B6 00 20 */ lbz r5, 0x20(r22)
+/* 80309BD0 00305830 7C 07 C8 50 */ subf r0, r7, r25
+/* 80309BD4 00305834 80 9D 00 04 */ lwz r4, 4(r29)
+/* 80309BD8 00305838 7F 03 C3 78 */ mr r3, r24
+/* 80309BDC 0030583C 7C 00 28 30 */ slw r0, r0, r5
+/* 80309BE0 00305840 7F E5 28 30 */ slw r5, r31, r5
+/* 80309BE4 00305844 7C 84 02 14 */ add r4, r4, r0
+/* 80309BE8 00305848 4B FF B2 C5 */ bl VFipf_memcpy
+/* 80309BEC 0030584C 7F 9F E0 50 */ subf r28, r31, r28
+/* 80309BF0 00305850 48 00 00 F0 */ b lbl_80309CE0
+lbl_80309BF4:
+/* 80309BF4 00305854 7C 07 C8 40 */ cmplw r7, r25
+/* 80309BF8 00305858 41 80 00 3C */ blt lbl_80309C34
+/* 80309BFC 0030585C 80 7D 00 14 */ lwz r3, 0x14(r29)
+/* 80309C00 00305860 7C 07 1A 14 */ add r0, r7, r3
+/* 80309C04 00305864 7C 00 F0 40 */ cmplw r0, r30
+/* 80309C08 00305868 41 81 00 2C */ bgt lbl_80309C34
+/* 80309C0C 0030586C 88 B6 00 20 */ lbz r5, 0x20(r22)
+/* 80309C10 00305870 7C 19 38 50 */ subf r0, r25, r7
+/* 80309C14 00305874 80 9D 00 04 */ lwz r4, 4(r29)
+/* 80309C18 00305878 7C 00 28 30 */ slw r0, r0, r5
+/* 80309C1C 0030587C 7C 65 28 30 */ slw r5, r3, r5
+/* 80309C20 00305880 7C 78 02 14 */ add r3, r24, r0
+/* 80309C24 00305884 4B FF B2 89 */ bl VFipf_memcpy
+/* 80309C28 00305888 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 80309C2C 0030588C 7F 80 E0 50 */ subf r28, r0, r28
+/* 80309C30 00305890 48 00 00 B0 */ b lbl_80309CE0
+lbl_80309C34:
+/* 80309C34 00305894 7C 07 C8 40 */ cmplw r7, r25
+/* 80309C38 00305898 40 81 00 50 */ ble lbl_80309C88
+/* 80309C3C 0030589C 7C 07 F0 40 */ cmplw r7, r30
+/* 80309C40 003058A0 40 80 00 48 */ bge lbl_80309C88
+/* 80309C44 003058A4 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 80309C48 003058A8 7C 07 02 14 */ add r0, r7, r0
+/* 80309C4C 003058AC 7C 00 F0 40 */ cmplw r0, r30
+/* 80309C50 003058B0 41 80 00 38 */ blt lbl_80309C88
+/* 80309C54 003058B4 88 B6 00 20 */ lbz r5, 0x20(r22)
+/* 80309C58 003058B8 7C 19 38 50 */ subf r0, r25, r7
+/* 80309C5C 003058BC 7E BF CA 14 */ add r21, r31, r25
+/* 80309C60 003058C0 80 9D 00 04 */ lwz r4, 4(r29)
+/* 80309C64 003058C4 7C 03 28 30 */ slw r3, r0, r5
+/* 80309C68 003058C8 7C 07 A8 50 */ subf r0, r7, r21
+/* 80309C6C 003058CC 7C 78 1A 14 */ add r3, r24, r3
+/* 80309C70 003058D0 7C 05 28 30 */ slw r5, r0, r5
+/* 80309C74 003058D4 4B FF B2 39 */ bl VFipf_memcpy
+/* 80309C78 003058D8 80 1D 00 18 */ lwz r0, 0x18(r29)
+/* 80309C7C 003058DC 7C 00 A8 50 */ subf r0, r0, r21
+/* 80309C80 003058E0 7F 80 E0 50 */ subf r28, r0, r28
+/* 80309C84 003058E4 48 00 00 5C */ b lbl_80309CE0
+lbl_80309C88:
+/* 80309C88 003058E8 7C 07 C8 40 */ cmplw r7, r25
+/* 80309C8C 003058EC 40 80 00 54 */ bge lbl_80309CE0
+/* 80309C90 003058F0 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 80309C94 003058F4 7C 67 02 14 */ add r3, r7, r0
+/* 80309C98 003058F8 7C 03 C8 40 */ cmplw r3, r25
+/* 80309C9C 003058FC 40 81 00 44 */ ble lbl_80309CE0
+/* 80309CA0 00305900 7C 03 F0 40 */ cmplw r3, r30
+/* 80309CA4 00305904 41 81 00 3C */ bgt lbl_80309CE0
+/* 80309CA8 00305908 88 D6 00 20 */ lbz r6, 0x20(r22)
+/* 80309CAC 0030590C 7C 67 C8 50 */ subf r3, r7, r25
+/* 80309CB0 00305910 80 BD 00 04 */ lwz r5, 4(r29)
+/* 80309CB4 00305914 7C 03 00 50 */ subf r0, r3, r0
+/* 80309CB8 00305918 7C 64 30 30 */ slw r4, r3, r6
+/* 80309CBC 0030591C 7F 03 C3 78 */ mr r3, r24
+/* 80309CC0 00305920 7C 85 22 14 */ add r4, r5, r4
+/* 80309CC4 00305924 7C 05 30 30 */ slw r5, r0, r6
+/* 80309CC8 00305928 4B FF B1 E5 */ bl VFipf_memcpy
+/* 80309CCC 0030592C 80 7D 00 18 */ lwz r3, 0x18(r29)
+/* 80309CD0 00305930 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 80309CD4 00305934 7C 63 C8 50 */ subf r3, r3, r25
+/* 80309CD8 00305938 7C 03 00 50 */ subf r0, r3, r0
+/* 80309CDC 0030593C 7F 80 E0 50 */ subf r28, r0, r28
+lbl_80309CE0:
+/* 80309CE0 00305940 2C 1D 00 00 */ cmpwi r29, 0
+/* 80309CE4 00305944 41 82 00 0C */ beq lbl_80309CF0
+/* 80309CE8 00305948 2C 1C 00 00 */ cmpwi r28, 0
+/* 80309CEC 0030594C 40 82 FE 54 */ bne lbl_80309B40
+lbl_80309CF0:
+/* 80309CF0 00305950 80 1B 00 00 */ lwz r0, 0(r27)
+/* 80309CF4 00305954 7C 00 D0 40 */ cmplw r0, r26
+/* 80309CF8 00305958 41 82 00 1C */ beq lbl_80309D14
+/* 80309CFC 0030595C 80 76 00 08 */ lwz r3, 8(r22)
+/* 80309D00 00305960 7C 19 02 14 */ add r0, r25, r0
+/* 80309D04 00305964 7C 03 00 40 */ cmplw r3, r0
+/* 80309D08 00305968 41 82 00 0C */ beq lbl_80309D14
+/* 80309D0C 0030596C 38 60 00 11 */ li r3, 0x11
+/* 80309D10 00305970 48 00 00 08 */ b lbl_80309D18
+lbl_80309D14:
+/* 80309D14 00305974 38 60 00 00 */ li r3, 0
+lbl_80309D18:
+/* 80309D18 00305978 39 61 00 40 */ addi r11, r1, 0x40
+/* 80309D1C 0030597C 4B EB D4 41 */ bl _restgpr_21
+/* 80309D20 00305980 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80309D24 00305984 7C 08 03 A6 */ mtlr r0
+/* 80309D28 00305988 38 21 00 40 */ addi r1, r1, 0x40
+/* 80309D2C 0030598C 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoWritePage
+VFiPFCACHE_DoWritePage:
+/* 80309D30 00305990 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80309D34 00305994 7C 08 02 A6 */ mflr r0
+/* 80309D38 00305998 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80309D3C 0030599C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80309D40 003059A0 3B E0 00 00 */ li r31, 0
+/* 80309D44 003059A4 93 C1 00 08 */ stw r30, 8(r1)
+/* 80309D48 003059A8 7C 7E 1B 78 */ mr r30, r3
+/* 80309D4C 003059AC 80 E4 00 00 */ lwz r7, 0(r4)
+/* 80309D50 003059B0 7C 05 38 40 */ cmplw r5, r7
+/* 80309D54 003059B4 41 82 00 54 */ beq lbl_80309DA8
+/* 80309D58 003059B8 80 07 00 24 */ lwz r0, 0x24(r7)
+/* 80309D5C 003059BC 7C 05 00 40 */ cmplw r5, r0
+/* 80309D60 003059C0 40 82 00 0C */ bne lbl_80309D6C
+/* 80309D64 003059C4 90 A4 00 00 */ stw r5, 0(r4)
+/* 80309D68 003059C8 48 00 00 40 */ b lbl_80309DA8
+lbl_80309D6C:
+/* 80309D6C 003059CC 80 05 00 20 */ lwz r0, 0x20(r5)
+/* 80309D70 003059D0 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80309D74 003059D4 90 07 00 20 */ stw r0, 0x20(r7)
+/* 80309D78 003059D8 80 05 00 24 */ lwz r0, 0x24(r5)
+/* 80309D7C 003059DC 80 E5 00 20 */ lwz r7, 0x20(r5)
+/* 80309D80 003059E0 90 07 00 24 */ stw r0, 0x24(r7)
+/* 80309D84 003059E4 81 04 00 00 */ lwz r8, 0(r4)
+/* 80309D88 003059E8 91 05 00 20 */ stw r8, 0x20(r5)
+/* 80309D8C 003059EC 80 E4 00 00 */ lwz r7, 0(r4)
+/* 80309D90 003059F0 80 07 00 24 */ lwz r0, 0x24(r7)
+/* 80309D94 003059F4 90 05 00 24 */ stw r0, 0x24(r5)
+/* 80309D98 003059F8 90 A8 00 24 */ stw r5, 0x24(r8)
+/* 80309D9C 003059FC 80 E5 00 24 */ lwz r7, 0x24(r5)
+/* 80309DA0 00305A00 90 A7 00 20 */ stw r5, 0x20(r7)
+/* 80309DA4 00305A04 90 A4 00 00 */ stw r5, 0(r4)
+lbl_80309DA8:
+/* 80309DA8 00305A08 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80309DAC 00305A0C 2C 00 00 00 */ cmpwi r0, 0
+/* 80309DB0 00305A10 40 82 00 20 */ bne lbl_80309DD0
+/* 80309DB4 00305A14 A0 85 00 00 */ lhz r4, 0(r5)
+/* 80309DB8 00305A18 80 05 00 08 */ lwz r0, 8(r5)
+/* 80309DBC 00305A1C 60 84 00 02 */ ori r4, r4, 2
+/* 80309DC0 00305A20 B0 85 00 00 */ sth r4, 0(r5)
+/* 80309DC4 00305A24 90 05 00 0C */ stw r0, 0xc(r5)
+/* 80309DC8 00305A28 90 05 00 10 */ stw r0, 0x10(r5)
+/* 80309DCC 00305A2C 48 00 00 28 */ b lbl_80309DF4
+lbl_80309DD0:
+/* 80309DD0 00305A30 80 85 00 08 */ lwz r4, 8(r5)
+/* 80309DD4 00305A34 7C 04 00 40 */ cmplw r4, r0
+/* 80309DD8 00305A38 40 80 00 0C */ bge lbl_80309DE4
+/* 80309DDC 00305A3C 90 85 00 0C */ stw r4, 0xc(r5)
+/* 80309DE0 00305A40 48 00 00 14 */ b lbl_80309DF4
+lbl_80309DE4:
+/* 80309DE4 00305A44 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 80309DE8 00305A48 7C 04 00 40 */ cmplw r4, r0
+/* 80309DEC 00305A4C 40 81 00 08 */ ble lbl_80309DF4
+/* 80309DF0 00305A50 90 85 00 10 */ stw r4, 0x10(r5)
+lbl_80309DF4:
+/* 80309DF4 00305A54 2C 06 00 00 */ cmpwi r6, 0
+/* 80309DF8 00305A58 41 82 00 10 */ beq lbl_80309E08
+/* 80309DFC 00305A5C 80 03 16 08 */ lwz r0, 0x1608(r3)
+/* 80309E00 00305A60 90 05 00 1C */ stw r0, 0x1c(r5)
+/* 80309E04 00305A64 48 00 00 0C */ b lbl_80309E10
+lbl_80309E08:
+/* 80309E08 00305A68 38 00 00 00 */ li r0, 0
+/* 80309E0C 00305A6C 90 05 00 1C */ stw r0, 0x1c(r5)
+lbl_80309E10:
+/* 80309E10 00305A70 80 63 15 E8 */ lwz r3, 0x15e8(r3)
+/* 80309E14 00305A74 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 80309E18 00305A78 40 82 00 18 */ bne lbl_80309E30
+/* 80309E1C 00305A7C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 80309E20 00305A80 41 82 00 74 */ beq lbl_80309E94
+/* 80309E24 00305A84 A0 05 00 00 */ lhz r0, 0(r5)
+/* 80309E28 00305A88 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80309E2C 00305A8C 41 82 00 68 */ beq lbl_80309E94
+lbl_80309E30:
+/* 80309E30 00305A90 2C 05 00 00 */ cmpwi r5, 0
+/* 80309E34 00305A94 41 82 00 24 */ beq lbl_80309E58
+/* 80309E38 00305A98 A0 05 00 00 */ lhz r0, 0(r5)
+/* 80309E3C 00305A9C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80309E40 00305AA0 41 82 00 18 */ beq lbl_80309E58
+/* 80309E44 00305AA4 80 65 00 18 */ lwz r3, 0x18(r5)
+/* 80309E48 00305AA8 3C 03 00 01 */ addis r0, r3, 1
+/* 80309E4C 00305AAC 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80309E50 00305AB0 41 82 00 08 */ beq lbl_80309E58
+/* 80309E54 00305AB4 3B E0 00 01 */ li r31, 1
+lbl_80309E58:
+/* 80309E58 00305AB8 7F C3 F3 78 */ mr r3, r30
+/* 80309E5C 00305ABC 7C A4 2B 78 */ mr r4, r5
+/* 80309E60 00305AC0 4B FF F4 5D */ bl VFiPFCACHE_FlushPageIfNeeded
+/* 80309E64 00305AC4 2C 03 00 00 */ cmpwi r3, 0
+/* 80309E68 00305AC8 41 82 00 08 */ beq lbl_80309E70
+/* 80309E6C 00305ACC 48 00 00 2C */ b lbl_80309E98
+lbl_80309E70:
+/* 80309E70 00305AD0 2C 1F 00 00 */ cmpwi r31, 0
+/* 80309E74 00305AD4 41 82 00 20 */ beq lbl_80309E94
+/* 80309E78 00305AD8 7F C3 F3 78 */ mr r3, r30
+/* 80309E7C 00305ADC 38 80 00 01 */ li r4, 1
+/* 80309E80 00305AE0 48 01 1F 21 */ bl func_8031BDA0
+/* 80309E84 00305AE4 2C 03 00 00 */ cmpwi r3, 0
+/* 80309E88 00305AE8 41 82 00 0C */ beq lbl_80309E94
+/* 80309E8C 00305AEC 38 60 00 11 */ li r3, 0x11
+/* 80309E90 00305AF0 48 00 00 08 */ b lbl_80309E98
+lbl_80309E94:
+/* 80309E94 00305AF4 38 60 00 00 */ li r3, 0
+lbl_80309E98:
+/* 80309E98 00305AF8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80309E9C 00305AFC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80309EA0 00305B00 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80309EA4 00305B04 7C 08 03 A6 */ mtlr r0
+/* 80309EA8 00305B08 38 21 00 10 */ addi r1, r1, 0x10
+/* 80309EAC 00305B0C 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoWriteSector
+VFiPFCACHE_DoWriteSector:
+/* 80309EB0 00305B10 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80309EB4 00305B14 7C 08 02 A6 */ mflr r0
+/* 80309EB8 00305B18 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80309EBC 00305B1C 39 61 00 30 */ addi r11, r1, 0x30
+/* 80309EC0 00305B20 4B EB D2 69 */ bl _savegpr_27
+/* 80309EC4 00305B24 7C DD 33 78 */ mr r29, r6
+/* 80309EC8 00305B28 80 84 00 00 */ lwz r4, 0(r4)
+/* 80309ECC 00305B2C 7C BC 2B 78 */ mr r28, r5
+/* 80309ED0 00305B30 7C 7B 1B 78 */ mr r27, r3
+/* 80309ED4 00305B34 7F A5 EB 78 */ mr r5, r29
+/* 80309ED8 00305B38 3B C0 00 00 */ li r30, 0
+/* 80309EDC 00305B3C 4B FF F2 7D */ bl VFiPFCACHE_SearchForPage
+/* 80309EE0 00305B40 2C 03 00 00 */ cmpwi r3, 0
+/* 80309EE4 00305B44 7C 7F 1B 78 */ mr r31, r3
+/* 80309EE8 00305B48 41 82 00 C8 */ beq lbl_80309FB0
+/* 80309EEC 00305B4C 80 63 00 08 */ lwz r3, 8(r3)
+/* 80309EF0 00305B50 7F 84 E3 78 */ mr r4, r28
+/* 80309EF4 00305B54 A0 BB 00 00 */ lhz r5, 0(r27)
+/* 80309EF8 00305B58 4B FF AF B5 */ bl VFipf_memcpy
+/* 80309EFC 00305B5C 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 80309F00 00305B60 2C 00 00 00 */ cmpwi r0, 0
+/* 80309F04 00305B64 40 82 00 24 */ bne lbl_80309F28
+/* 80309F08 00305B68 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 80309F0C 00305B6C 60 00 00 02 */ ori r0, r0, 2
+/* 80309F10 00305B70 B0 1F 00 00 */ sth r0, 0(r31)
+/* 80309F14 00305B74 80 1F 00 08 */ lwz r0, 8(r31)
+/* 80309F18 00305B78 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80309F1C 00305B7C 80 1F 00 08 */ lwz r0, 8(r31)
+/* 80309F20 00305B80 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 80309F24 00305B84 48 00 00 28 */ b lbl_80309F4C
+lbl_80309F28:
+/* 80309F28 00305B88 80 7F 00 08 */ lwz r3, 8(r31)
+/* 80309F2C 00305B8C 7C 03 00 40 */ cmplw r3, r0
+/* 80309F30 00305B90 40 80 00 0C */ bge lbl_80309F3C
+/* 80309F34 00305B94 90 7F 00 0C */ stw r3, 0xc(r31)
+/* 80309F38 00305B98 48 00 00 14 */ b lbl_80309F4C
+lbl_80309F3C:
+/* 80309F3C 00305B9C 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80309F40 00305BA0 7C 03 00 40 */ cmplw r3, r0
+/* 80309F44 00305BA4 40 81 00 08 */ ble lbl_80309F4C
+/* 80309F48 00305BA8 90 7F 00 10 */ stw r3, 0x10(r31)
+lbl_80309F4C:
+/* 80309F4C 00305BAC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80309F50 00305BB0 41 82 00 24 */ beq lbl_80309F74
+/* 80309F54 00305BB4 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 80309F58 00305BB8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80309F5C 00305BBC 41 82 00 18 */ beq lbl_80309F74
+/* 80309F60 00305BC0 80 7F 00 18 */ lwz r3, 0x18(r31)
+/* 80309F64 00305BC4 3C 03 00 01 */ addis r0, r3, 1
+/* 80309F68 00305BC8 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80309F6C 00305BCC 41 82 00 08 */ beq lbl_80309F74
+/* 80309F70 00305BD0 3B C0 00 01 */ li r30, 1
+lbl_80309F74:
+/* 80309F74 00305BD4 7F 63 DB 78 */ mr r3, r27
+/* 80309F78 00305BD8 7F E4 FB 78 */ mr r4, r31
+/* 80309F7C 00305BDC 4B FF F3 41 */ bl VFiPFCACHE_FlushPageIfNeeded
+/* 80309F80 00305BE0 2C 03 00 00 */ cmpwi r3, 0
+/* 80309F84 00305BE4 41 82 00 08 */ beq lbl_80309F8C
+/* 80309F88 00305BE8 48 00 00 80 */ b lbl_8030A008
+lbl_80309F8C:
+/* 80309F8C 00305BEC 2C 1E 00 00 */ cmpwi r30, 0
+/* 80309F90 00305BF0 41 82 00 74 */ beq lbl_8030A004
+/* 80309F94 00305BF4 7F 63 DB 78 */ mr r3, r27
+/* 80309F98 00305BF8 38 80 00 01 */ li r4, 1
+/* 80309F9C 00305BFC 48 01 1E 05 */ bl func_8031BDA0
+/* 80309FA0 00305C00 2C 03 00 00 */ cmpwi r3, 0
+/* 80309FA4 00305C04 41 82 00 60 */ beq lbl_8030A004
+/* 80309FA8 00305C08 38 60 00 11 */ li r3, 0x11
+/* 80309FAC 00305C0C 48 00 00 5C */ b lbl_8030A008
+lbl_80309FB0:
+/* 80309FB0 00305C10 7F 63 DB 78 */ mr r3, r27
+/* 80309FB4 00305C14 7F 84 E3 78 */ mr r4, r28
+/* 80309FB8 00305C18 7F A5 EB 78 */ mr r5, r29
+/* 80309FBC 00305C1C 38 E1 00 08 */ addi r7, r1, 8
+/* 80309FC0 00305C20 38 C0 00 01 */ li r6, 1
+/* 80309FC4 00305C24 4B FF C2 7D */ bl VFiPFDRV_lwrite
+/* 80309FC8 00305C28 2C 03 00 00 */ cmpwi r3, 0
+/* 80309FCC 00305C2C 41 82 00 08 */ beq lbl_80309FD4
+/* 80309FD0 00305C30 48 00 00 38 */ b lbl_8030A008
+lbl_80309FD4:
+/* 80309FD4 00305C34 80 01 00 08 */ lwz r0, 8(r1)
+/* 80309FD8 00305C38 28 00 00 01 */ cmplwi r0, 1
+/* 80309FDC 00305C3C 41 82 00 0C */ beq lbl_80309FE8
+/* 80309FE0 00305C40 38 60 00 11 */ li r3, 0x11
+/* 80309FE4 00305C44 48 00 00 24 */ b lbl_8030A008
+lbl_80309FE8:
+/* 80309FE8 00305C48 7F 63 DB 78 */ mr r3, r27
+/* 80309FEC 00305C4C 38 80 00 01 */ li r4, 1
+/* 80309FF0 00305C50 48 01 1D B1 */ bl func_8031BDA0
+/* 80309FF4 00305C54 2C 03 00 00 */ cmpwi r3, 0
+/* 80309FF8 00305C58 41 82 00 0C */ beq lbl_8030A004
+/* 80309FFC 00305C5C 38 60 00 11 */ li r3, 0x11
+/* 8030A000 00305C60 48 00 00 08 */ b lbl_8030A008
+lbl_8030A004:
+/* 8030A004 00305C64 38 60 00 00 */ li r3, 0
+lbl_8030A008:
+/* 8030A008 00305C68 39 61 00 30 */ addi r11, r1, 0x30
+/* 8030A00C 00305C6C 4B EB D1 69 */ bl _restgpr_27
+/* 8030A010 00305C70 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030A014 00305C74 7C 08 03 A6 */ mtlr r0
+/* 8030A018 00305C78 38 21 00 30 */ addi r1, r1, 0x30
+/* 8030A01C 00305C7C 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoWriteNumSectorAndFreeIfNeeded
+VFiPFCACHE_DoWriteNumSectorAndFreeIfNeeded:
+/* 8030A020 00305C80 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8030A024 00305C84 7C 08 02 A6 */ mflr r0
+/* 8030A028 00305C88 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8030A02C 00305C8C 39 61 00 30 */ addi r11, r1, 0x30
+/* 8030A030 00305C90 4B EB D0 E9 */ bl _savegpr_23
+/* 8030A034 00305C94 3B C0 00 00 */ li r30, 0
+/* 8030A038 00305C98 7C FB 3B 78 */ mr r27, r7
+/* 8030A03C 00305C9C 93 C8 00 00 */ stw r30, 0(r8)
+/* 8030A040 00305CA0 7C 77 1B 78 */ mr r23, r3
+/* 8030A044 00305CA4 7C 98 23 78 */ mr r24, r4
+/* 8030A048 00305CA8 7C B9 2B 78 */ mr r25, r5
+/* 8030A04C 00305CAC 7C DA 33 78 */ mr r26, r6
+/* 8030A050 00305CB0 7D 1C 43 78 */ mr r28, r8
+/* 8030A054 00305CB4 7F 7D DB 78 */ mr r29, r27
+/* 8030A058 00305CB8 7F E6 3A 14 */ add r31, r6, r7
+lbl_8030A05C:
+/* 8030A05C 00305CBC 2C 1E 00 00 */ cmpwi r30, 0
+/* 8030A060 00305CC0 40 82 00 0C */ bne lbl_8030A06C
+/* 8030A064 00305CC4 83 D8 00 00 */ lwz r30, 0(r24)
+/* 8030A068 00305CC8 48 00 00 40 */ b lbl_8030A0A8
+lbl_8030A06C:
+/* 8030A06C 00305CCC 83 DE 00 20 */ lwz r30, 0x20(r30)
+/* 8030A070 00305CD0 80 18 00 00 */ lwz r0, 0(r24)
+/* 8030A074 00305CD4 7C 1E 00 40 */ cmplw r30, r0
+/* 8030A078 00305CD8 40 82 00 30 */ bne lbl_8030A0A8
+/* 8030A07C 00305CDC 3B C0 00 00 */ li r30, 0
+/* 8030A080 00305CE0 48 00 00 38 */ b lbl_8030A0B8
+/* 8030A084 00305CE4 48 00 00 24 */ b lbl_8030A0A8
+lbl_8030A088:
+/* 8030A088 00305CE8 80 7E 00 18 */ lwz r3, 0x18(r30)
+/* 8030A08C 00305CEC 3C 03 00 01 */ addis r0, r3, 1
+/* 8030A090 00305CF0 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030A094 00305CF4 41 82 00 10 */ beq lbl_8030A0A4
+/* 8030A098 00305CF8 80 1E 00 04 */ lwz r0, 4(r30)
+/* 8030A09C 00305CFC 90 1E 00 08 */ stw r0, 8(r30)
+/* 8030A0A0 00305D00 48 00 00 18 */ b lbl_8030A0B8
+lbl_8030A0A4:
+/* 8030A0A4 00305D04 83 DE 00 20 */ lwz r30, 0x20(r30)
+lbl_8030A0A8:
+/* 8030A0A8 00305D08 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8030A0AC 00305D0C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030A0B0 00305D10 40 82 FF D8 */ bne lbl_8030A088
+/* 8030A0B4 00305D14 3B C0 00 00 */ li r30, 0
+lbl_8030A0B8:
+/* 8030A0B8 00305D18 2C 1E 00 00 */ cmpwi r30, 0
+/* 8030A0BC 00305D1C 41 82 02 B0 */ beq lbl_8030A36C
+/* 8030A0C0 00305D20 80 FE 00 18 */ lwz r7, 0x18(r30)
+/* 8030A0C4 00305D24 3C 07 00 01 */ addis r0, r7, 1
+/* 8030A0C8 00305D28 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030A0CC 00305D2C 41 82 02 A0 */ beq lbl_8030A36C
+/* 8030A0D0 00305D30 7C 07 D0 40 */ cmplw r7, r26
+/* 8030A0D4 00305D34 41 81 00 B0 */ bgt lbl_8030A184
+/* 8030A0D8 00305D38 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8030A0DC 00305D3C 7C 07 02 14 */ add r0, r7, r0
+/* 8030A0E0 00305D40 7C 00 F8 40 */ cmplw r0, r31
+/* 8030A0E4 00305D44 41 80 00 A0 */ blt lbl_8030A184
+/* 8030A0E8 00305D48 88 B7 00 20 */ lbz r5, 0x20(r23)
+/* 8030A0EC 00305D4C 7C 07 D0 50 */ subf r0, r7, r26
+/* 8030A0F0 00305D50 80 7E 00 04 */ lwz r3, 4(r30)
+/* 8030A0F4 00305D54 7F 24 CB 78 */ mr r4, r25
+/* 8030A0F8 00305D58 7C 00 28 30 */ slw r0, r0, r5
+/* 8030A0FC 00305D5C 7F 65 28 30 */ slw r5, r27, r5
+/* 8030A100 00305D60 7C 63 02 14 */ add r3, r3, r0
+/* 8030A104 00305D64 4B FF AD A9 */ bl VFipf_memcpy
+/* 8030A108 00305D68 80 7C 00 00 */ lwz r3, 0(r28)
+/* 8030A10C 00305D6C 38 1B FF FF */ addi r0, r27, -1
+/* 8030A110 00305D70 7C 63 EA 14 */ add r3, r3, r29
+/* 8030A114 00305D74 3B A0 00 00 */ li r29, 0
+/* 8030A118 00305D78 90 7C 00 00 */ stw r3, 0(r28)
+/* 8030A11C 00305D7C A0 7E 00 00 */ lhz r3, 0(r30)
+/* 8030A120 00305D80 60 63 00 02 */ ori r3, r3, 2
+/* 8030A124 00305D84 B0 7E 00 00 */ sth r3, 0(r30)
+/* 8030A128 00305D88 80 7E 00 18 */ lwz r3, 0x18(r30)
+/* 8030A12C 00305D8C 88 B7 00 20 */ lbz r5, 0x20(r23)
+/* 8030A130 00305D90 80 DE 00 0C */ lwz r6, 0xc(r30)
+/* 8030A134 00305D94 7C 63 D0 50 */ subf r3, r3, r26
+/* 8030A138 00305D98 80 9E 00 04 */ lwz r4, 4(r30)
+/* 8030A13C 00305D9C 7C 63 28 30 */ slw r3, r3, r5
+/* 8030A140 00305DA0 2C 06 00 00 */ cmpwi r6, 0
+/* 8030A144 00305DA4 7C 00 28 30 */ slw r0, r0, r5
+/* 8030A148 00305DA8 7C 64 1A 14 */ add r3, r4, r3
+/* 8030A14C 00305DAC 7C 83 02 14 */ add r4, r3, r0
+/* 8030A150 00305DB0 40 82 00 10 */ bne lbl_8030A160
+/* 8030A154 00305DB4 90 7E 00 0C */ stw r3, 0xc(r30)
+/* 8030A158 00305DB8 90 9E 00 10 */ stw r4, 0x10(r30)
+/* 8030A15C 00305DBC 48 00 02 10 */ b lbl_8030A36C
+lbl_8030A160:
+/* 8030A160 00305DC0 7C 03 30 40 */ cmplw r3, r6
+/* 8030A164 00305DC4 40 80 00 0C */ bge lbl_8030A170
+/* 8030A168 00305DC8 90 7E 00 0C */ stw r3, 0xc(r30)
+/* 8030A16C 00305DCC 48 00 02 00 */ b lbl_8030A36C
+lbl_8030A170:
+/* 8030A170 00305DD0 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 8030A174 00305DD4 7C 00 20 40 */ cmplw r0, r4
+/* 8030A178 00305DD8 40 80 01 F4 */ bge lbl_8030A36C
+/* 8030A17C 00305DDC 90 9E 00 10 */ stw r4, 0x10(r30)
+/* 8030A180 00305DE0 48 00 01 EC */ b lbl_8030A36C
+lbl_8030A184:
+/* 8030A184 00305DE4 7C 07 D0 40 */ cmplw r7, r26
+/* 8030A188 00305DE8 41 80 00 78 */ blt lbl_8030A200
+/* 8030A18C 00305DEC 80 9E 00 14 */ lwz r4, 0x14(r30)
+/* 8030A190 00305DF0 7C 07 22 14 */ add r0, r7, r4
+/* 8030A194 00305DF4 7C 00 F8 40 */ cmplw r0, r31
+/* 8030A198 00305DF8 41 81 00 68 */ bgt lbl_8030A200
+/* 8030A19C 00305DFC 88 B7 00 20 */ lbz r5, 0x20(r23)
+/* 8030A1A0 00305E00 7C 1A 38 50 */ subf r0, r26, r7
+/* 8030A1A4 00305E04 80 7E 00 04 */ lwz r3, 4(r30)
+/* 8030A1A8 00305E08 7C 00 28 30 */ slw r0, r0, r5
+/* 8030A1AC 00305E0C 7C 85 28 30 */ slw r5, r4, r5
+/* 8030A1B0 00305E10 7C 99 02 14 */ add r4, r25, r0
+/* 8030A1B4 00305E14 4B FF AC F9 */ bl VFipf_memcpy
+/* 8030A1B8 00305E18 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 8030A1BC 00305E1C 80 1C 00 00 */ lwz r0, 0(r28)
+/* 8030A1C0 00305E20 7F A3 E8 50 */ subf r29, r3, r29
+/* 8030A1C4 00305E24 7C 00 1A 14 */ add r0, r0, r3
+/* 8030A1C8 00305E28 90 1C 00 00 */ stw r0, 0(r28)
+/* 8030A1CC 00305E2C A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8030A1D0 00305E30 60 00 00 02 */ ori r0, r0, 2
+/* 8030A1D4 00305E34 B0 1E 00 00 */ sth r0, 0(r30)
+/* 8030A1D8 00305E38 80 1E 00 04 */ lwz r0, 4(r30)
+/* 8030A1DC 00305E3C 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 8030A1E0 00305E40 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 8030A1E4 00305E44 88 17 00 20 */ lbz r0, 0x20(r23)
+/* 8030A1E8 00305E48 38 63 FF FF */ addi r3, r3, -1
+/* 8030A1EC 00305E4C 80 9E 00 04 */ lwz r4, 4(r30)
+/* 8030A1F0 00305E50 7C 60 00 30 */ slw r0, r3, r0
+/* 8030A1F4 00305E54 7C 04 02 14 */ add r0, r4, r0
+/* 8030A1F8 00305E58 90 1E 00 10 */ stw r0, 0x10(r30)
+/* 8030A1FC 00305E5C 48 00 01 70 */ b lbl_8030A36C
+lbl_8030A200:
+/* 8030A200 00305E60 7C 07 D0 40 */ cmplw r7, r26
+/* 8030A204 00305E64 40 81 00 A0 */ ble lbl_8030A2A4
+/* 8030A208 00305E68 7C 07 F8 40 */ cmplw r7, r31
+/* 8030A20C 00305E6C 40 80 00 98 */ bge lbl_8030A2A4
+/* 8030A210 00305E70 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8030A214 00305E74 7C 07 02 14 */ add r0, r7, r0
+/* 8030A218 00305E78 7C 00 F8 40 */ cmplw r0, r31
+/* 8030A21C 00305E7C 41 80 00 88 */ blt lbl_8030A2A4
+/* 8030A220 00305E80 88 B7 00 20 */ lbz r5, 0x20(r23)
+/* 8030A224 00305E84 7C 9A 38 50 */ subf r4, r26, r7
+/* 8030A228 00305E88 7C 07 F8 50 */ subf r0, r7, r31
+/* 8030A22C 00305E8C 80 7E 00 04 */ lwz r3, 4(r30)
+/* 8030A230 00305E90 7C 84 28 30 */ slw r4, r4, r5
+/* 8030A234 00305E94 7C 99 22 14 */ add r4, r25, r4
+/* 8030A238 00305E98 7C 05 28 30 */ slw r5, r0, r5
+/* 8030A23C 00305E9C 4B FF AC 71 */ bl VFipf_memcpy
+/* 8030A240 00305EA0 80 BE 00 18 */ lwz r5, 0x18(r30)
+/* 8030A244 00305EA4 7C 9B D2 14 */ add r4, r27, r26
+/* 8030A248 00305EA8 80 1C 00 00 */ lwz r0, 0(r28)
+/* 8030A24C 00305EAC 38 64 FF FF */ addi r3, r4, -1
+/* 8030A250 00305EB0 7C 85 20 50 */ subf r4, r5, r4
+/* 8030A254 00305EB4 7C 00 22 14 */ add r0, r0, r4
+/* 8030A258 00305EB8 90 1C 00 00 */ stw r0, 0(r28)
+/* 8030A25C 00305EBC 7F A4 E8 50 */ subf r29, r4, r29
+/* 8030A260 00305EC0 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8030A264 00305EC4 60 00 00 02 */ ori r0, r0, 2
+/* 8030A268 00305EC8 B0 1E 00 00 */ sth r0, 0(r30)
+/* 8030A26C 00305ECC 80 9E 00 18 */ lwz r4, 0x18(r30)
+/* 8030A270 00305ED0 80 BE 00 04 */ lwz r5, 4(r30)
+/* 8030A274 00305ED4 88 17 00 20 */ lbz r0, 0x20(r23)
+/* 8030A278 00305ED8 7C 64 18 50 */ subf r3, r4, r3
+/* 8030A27C 00305EDC 7C 60 00 30 */ slw r0, r3, r0
+/* 8030A280 00305EE0 90 BE 00 0C */ stw r5, 0xc(r30)
+/* 8030A284 00305EE4 7C 65 02 14 */ add r3, r5, r0
+/* 8030A288 00305EE8 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 8030A28C 00305EEC 2C 00 00 00 */ cmpwi r0, 0
+/* 8030A290 00305EF0 41 82 00 0C */ beq lbl_8030A29C
+/* 8030A294 00305EF4 7C 00 18 40 */ cmplw r0, r3
+/* 8030A298 00305EF8 40 80 00 D4 */ bge lbl_8030A36C
+lbl_8030A29C:
+/* 8030A29C 00305EFC 90 7E 00 10 */ stw r3, 0x10(r30)
+/* 8030A2A0 00305F00 48 00 00 CC */ b lbl_8030A36C
+lbl_8030A2A4:
+/* 8030A2A4 00305F04 7C 07 D0 40 */ cmplw r7, r26
+/* 8030A2A8 00305F08 40 80 00 C4 */ bge lbl_8030A36C
+/* 8030A2AC 00305F0C 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8030A2B0 00305F10 7C 67 02 14 */ add r3, r7, r0
+/* 8030A2B4 00305F14 7C 03 D0 40 */ cmplw r3, r26
+/* 8030A2B8 00305F18 40 81 00 B4 */ ble lbl_8030A36C
+/* 8030A2BC 00305F1C 7C 03 F8 40 */ cmplw r3, r31
+/* 8030A2C0 00305F20 41 81 00 AC */ bgt lbl_8030A36C
+/* 8030A2C4 00305F24 88 D7 00 20 */ lbz r6, 0x20(r23)
+/* 8030A2C8 00305F28 7C 67 D0 50 */ subf r3, r7, r26
+/* 8030A2CC 00305F2C 80 BE 00 04 */ lwz r5, 4(r30)
+/* 8030A2D0 00305F30 7C 03 00 50 */ subf r0, r3, r0
+/* 8030A2D4 00305F34 7C 63 30 30 */ slw r3, r3, r6
+/* 8030A2D8 00305F38 7F 24 CB 78 */ mr r4, r25
+/* 8030A2DC 00305F3C 7C 65 1A 14 */ add r3, r5, r3
+/* 8030A2E0 00305F40 7C 05 30 30 */ slw r5, r0, r6
+/* 8030A2E4 00305F44 4B FF AB C9 */ bl VFipf_memcpy
+/* 8030A2E8 00305F48 80 1E 00 18 */ lwz r0, 0x18(r30)
+/* 8030A2EC 00305F4C 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 8030A2F0 00305F50 7C 80 D0 50 */ subf r4, r0, r26
+/* 8030A2F4 00305F54 80 1C 00 00 */ lwz r0, 0(r28)
+/* 8030A2F8 00305F58 7C 64 18 50 */ subf r3, r4, r3
+/* 8030A2FC 00305F5C 7C 00 1A 14 */ add r0, r0, r3
+/* 8030A300 00305F60 90 1C 00 00 */ stw r0, 0(r28)
+/* 8030A304 00305F64 7F A3 E8 50 */ subf r29, r3, r29
+/* 8030A308 00305F68 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8030A30C 00305F6C 60 00 00 02 */ ori r0, r0, 2
+/* 8030A310 00305F70 B0 1E 00 00 */ sth r0, 0(r30)
+/* 8030A314 00305F74 80 7E 00 18 */ lwz r3, 0x18(r30)
+/* 8030A318 00305F78 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8030A31C 00305F7C 7C 63 D0 50 */ subf r3, r3, r26
+/* 8030A320 00305F80 80 BE 00 0C */ lwz r5, 0xc(r30)
+/* 8030A324 00305F84 7C 63 00 50 */ subf r3, r3, r0
+/* 8030A328 00305F88 88 17 00 20 */ lbz r0, 0x20(r23)
+/* 8030A32C 00305F8C 38 63 FF FF */ addi r3, r3, -1
+/* 8030A330 00305F90 2C 05 00 00 */ cmpwi r5, 0
+/* 8030A334 00305F94 80 9E 00 04 */ lwz r4, 4(r30)
+/* 8030A338 00305F98 7C 60 00 30 */ slw r0, r3, r0
+/* 8030A33C 00305F9C 7C 04 02 14 */ add r0, r4, r0
+/* 8030A340 00305FA0 41 82 00 0C */ beq lbl_8030A34C
+/* 8030A344 00305FA4 7C 00 28 40 */ cmplw r0, r5
+/* 8030A348 00305FA8 40 80 00 08 */ bge lbl_8030A350
+lbl_8030A34C:
+/* 8030A34C 00305FAC 90 1E 00 0C */ stw r0, 0xc(r30)
+lbl_8030A350:
+/* 8030A350 00305FB0 80 7E 00 14 */ lwz r3, 0x14(r30)
+/* 8030A354 00305FB4 88 17 00 20 */ lbz r0, 0x20(r23)
+/* 8030A358 00305FB8 38 63 FF FF */ addi r3, r3, -1
+/* 8030A35C 00305FBC 80 9E 00 04 */ lwz r4, 4(r30)
+/* 8030A360 00305FC0 7C 60 00 30 */ slw r0, r3, r0
+/* 8030A364 00305FC4 7C 04 02 14 */ add r0, r4, r0
+/* 8030A368 00305FC8 90 1E 00 10 */ stw r0, 0x10(r30)
+lbl_8030A36C:
+/* 8030A36C 00305FCC 2C 1E 00 00 */ cmpwi r30, 0
+/* 8030A370 00305FD0 41 82 00 0C */ beq lbl_8030A37C
+/* 8030A374 00305FD4 2C 1D 00 00 */ cmpwi r29, 0
+/* 8030A378 00305FD8 40 82 FC E4 */ bne lbl_8030A05C
+lbl_8030A37C:
+/* 8030A37C 00305FDC 2C 1D 00 00 */ cmpwi r29, 0
+/* 8030A380 00305FE0 40 82 00 10 */ bne lbl_8030A390
+/* 8030A384 00305FE4 80 17 15 E8 */ lwz r0, 0x15e8(r23)
+/* 8030A388 00305FE8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030A38C 00305FEC 41 82 00 44 */ beq lbl_8030A3D0
+lbl_8030A390:
+/* 8030A390 00305FF0 7E E3 BB 78 */ mr r3, r23
+/* 8030A394 00305FF4 7F 24 CB 78 */ mr r4, r25
+/* 8030A398 00305FF8 7F 45 D3 78 */ mr r5, r26
+/* 8030A39C 00305FFC 7F 66 DB 78 */ mr r6, r27
+/* 8030A3A0 00306000 7F 87 E3 78 */ mr r7, r28
+/* 8030A3A4 00306004 4B FF BE 9D */ bl VFiPFDRV_lwrite
+/* 8030A3A8 00306008 2C 03 00 00 */ cmpwi r3, 0
+/* 8030A3AC 0030600C 41 82 00 08 */ beq lbl_8030A3B4
+/* 8030A3B0 00306010 48 00 00 60 */ b lbl_8030A410
+lbl_8030A3B4:
+/* 8030A3B4 00306014 7E E3 BB 78 */ mr r3, r23
+/* 8030A3B8 00306018 38 80 00 01 */ li r4, 1
+/* 8030A3BC 0030601C 48 01 19 E5 */ bl func_8031BDA0
+/* 8030A3C0 00306020 2C 03 00 00 */ cmpwi r3, 0
+/* 8030A3C4 00306024 41 82 00 0C */ beq lbl_8030A3D0
+/* 8030A3C8 00306028 38 60 00 11 */ li r3, 0x11
+/* 8030A3CC 0030602C 48 00 00 44 */ b lbl_8030A410
+lbl_8030A3D0:
+/* 8030A3D0 00306030 80 17 15 E8 */ lwz r0, 0x15e8(r23)
+/* 8030A3D4 00306034 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030A3D8 00306038 41 82 00 34 */ beq lbl_8030A40C
+/* 8030A3DC 0030603C 7C 1B E8 40 */ cmplw r27, r29
+/* 8030A3E0 00306040 41 82 00 2C */ beq lbl_8030A40C
+/* 8030A3E4 00306044 80 97 15 F8 */ lwz r4, 0x15f8(r23)
+/* 8030A3E8 00306048 7C 85 23 78 */ mr r5, r4
+lbl_8030A3EC:
+/* 8030A3EC 0030604C A0 65 00 00 */ lhz r3, 0(r5)
+/* 8030A3F0 00306050 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 8030A3F4 00306054 41 82 00 18 */ beq lbl_8030A40C
+/* 8030A3F8 00306058 54 60 07 FA */ rlwinm r0, r3, 0, 0x1f, 0x1d
+/* 8030A3FC 0030605C B0 05 00 00 */ sth r0, 0(r5)
+/* 8030A400 00306060 80 A5 00 20 */ lwz r5, 0x20(r5)
+/* 8030A404 00306064 7C 05 20 40 */ cmplw r5, r4
+/* 8030A408 00306068 40 82 FF E4 */ bne lbl_8030A3EC
+lbl_8030A40C:
+/* 8030A40C 0030606C 38 60 00 00 */ li r3, 0
+lbl_8030A410:
+/* 8030A410 00306070 39 61 00 30 */ addi r11, r1, 0x30
+/* 8030A414 00306074 4B EB CD 51 */ bl _restgpr_23
+/* 8030A418 00306078 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030A41C 0030607C 7C 08 03 A6 */ mtlr r0
+/* 8030A420 00306080 38 21 00 30 */ addi r1, r1, 0x30
+/* 8030A424 00306084 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_DoFlushCache
+VFiPFCACHE_DoFlushCache:
+/* 8030A428 00306088 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8030A42C 0030608C 7C 08 02 A6 */ mflr r0
+/* 8030A430 00306090 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8030A434 00306094 39 61 00 20 */ addi r11, r1, 0x20
+/* 8030A438 00306098 4B EB CC ED */ bl _savegpr_26
+/* 8030A43C 0030609C A0 04 00 00 */ lhz r0, 0(r4)
+/* 8030A440 003060A0 7C 9B 23 78 */ mr r27, r4
+/* 8030A444 003060A4 7C 7A 1B 78 */ mr r26, r3
+/* 8030A448 003060A8 3B 80 00 00 */ li r28, 0
+/* 8030A44C 003060AC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030A450 003060B0 7F 7F DB 78 */ mr r31, r27
+/* 8030A454 003060B4 3B C0 00 00 */ li r30, 0
+/* 8030A458 003060B8 40 82 00 0C */ bne lbl_8030A464
+/* 8030A45C 003060BC 38 60 00 00 */ li r3, 0
+/* 8030A460 003060C0 48 00 00 B0 */ b lbl_8030A510
+lbl_8030A464:
+/* 8030A464 003060C4 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 8030A468 003060C8 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 8030A46C 003060CC 41 82 00 6C */ beq lbl_8030A4D8
+/* 8030A470 003060D0 2C 1F 00 00 */ cmpwi r31, 0
+/* 8030A474 003060D4 3B A0 00 00 */ li r29, 0
+/* 8030A478 003060D8 41 82 00 20 */ beq lbl_8030A498
+/* 8030A47C 003060DC 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
+/* 8030A480 003060E0 41 82 00 18 */ beq lbl_8030A498
+/* 8030A484 003060E4 80 7F 00 18 */ lwz r3, 0x18(r31)
+/* 8030A488 003060E8 3C 03 00 01 */ addis r0, r3, 1
+/* 8030A48C 003060EC 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030A490 003060F0 41 82 00 08 */ beq lbl_8030A498
+/* 8030A494 003060F4 3B A0 00 01 */ li r29, 1
+lbl_8030A498:
+/* 8030A498 003060F8 7F 43 D3 78 */ mr r3, r26
+/* 8030A49C 003060FC 7F E4 FB 78 */ mr r4, r31
+/* 8030A4A0 00306100 4B FF EE 1D */ bl VFiPFCACHE_FlushPageIfNeeded
+/* 8030A4A4 00306104 2C 1D 00 00 */ cmpwi r29, 0
+/* 8030A4A8 00306108 41 82 00 10 */ beq lbl_8030A4B8
+/* 8030A4AC 0030610C 2C 03 00 00 */ cmpwi r3, 0
+/* 8030A4B0 00306110 40 82 00 08 */ bne lbl_8030A4B8
+/* 8030A4B4 00306114 3B 80 00 01 */ li r28, 1
+lbl_8030A4B8:
+/* 8030A4B8 00306118 2C 03 00 00 */ cmpwi r3, 0
+/* 8030A4BC 0030611C 41 82 00 10 */ beq lbl_8030A4CC
+/* 8030A4C0 00306120 2C 1E 00 00 */ cmpwi r30, 0
+/* 8030A4C4 00306124 40 82 00 08 */ bne lbl_8030A4CC
+/* 8030A4C8 00306128 7C 7E 1B 78 */ mr r30, r3
+lbl_8030A4CC:
+/* 8030A4CC 0030612C 83 FF 00 20 */ lwz r31, 0x20(r31)
+/* 8030A4D0 00306130 7C 1F D8 40 */ cmplw r31, r27
+/* 8030A4D4 00306134 40 82 FF 90 */ bne lbl_8030A464
+lbl_8030A4D8:
+/* 8030A4D8 00306138 2C 1C 00 00 */ cmpwi r28, 0
+/* 8030A4DC 0030613C 41 82 00 30 */ beq lbl_8030A50C
+/* 8030A4E0 00306140 7F C0 00 34 */ cntlzw r0, r30
+/* 8030A4E4 00306144 7F 43 D3 78 */ mr r3, r26
+/* 8030A4E8 00306148 54 1C D9 7E */ srwi r28, r0, 5
+/* 8030A4EC 0030614C 7F 84 E3 78 */ mr r4, r28
+/* 8030A4F0 00306150 48 01 18 B1 */ bl func_8031BDA0
+/* 8030A4F4 00306154 2C 03 00 00 */ cmpwi r3, 0
+/* 8030A4F8 00306158 41 82 00 14 */ beq lbl_8030A50C
+/* 8030A4FC 0030615C 2C 1C 00 01 */ cmpwi r28, 1
+/* 8030A500 00306160 40 82 00 0C */ bne lbl_8030A50C
+/* 8030A504 00306164 38 60 00 11 */ li r3, 0x11
+/* 8030A508 00306168 48 00 00 08 */ b lbl_8030A510
+lbl_8030A50C:
+/* 8030A50C 0030616C 7F C3 F3 78 */ mr r3, r30
+lbl_8030A510:
+/* 8030A510 00306170 39 61 00 20 */ addi r11, r1, 0x20
+/* 8030A514 00306174 4B EB CC 5D */ bl _restgpr_26
+/* 8030A518 00306178 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8030A51C 0030617C 7C 08 03 A6 */ mtlr r0
+/* 8030A520 00306180 38 21 00 20 */ addi r1, r1, 0x20
+/* 8030A524 00306184 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_InitCaches
+VFiPFCACHE_InitCaches:
+/* 8030A528 00306188 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A52C 0030618C 7C 08 02 A6 */ mflr r0
+/* 8030A530 00306190 38 80 00 00 */ li r4, 0
+/* 8030A534 00306194 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A538 00306198 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8030A53C 0030619C 7C 7F 1B 78 */ mr r31, r3
+/* 8030A540 003061A0 80 03 15 E8 */ lwz r0, 0x15e8(r3)
+/* 8030A544 003061A4 A0 A3 15 EC */ lhz r5, 0x15ec(r3)
+/* 8030A548 003061A8 54 06 00 3C */ rlwinm r6, r0, 0, 0, 0x1e
+/* 8030A54C 003061AC A0 03 15 EE */ lhz r0, 0x15ee(r3)
+/* 8030A550 003061B0 60 C6 00 02 */ ori r6, r6, 2
+/* 8030A554 003061B4 54 C6 07 B8 */ rlwinm r6, r6, 0, 0x1e, 0x1c
+/* 8030A558 003061B8 7C 05 02 14 */ add r0, r5, r0
+/* 8030A55C 003061BC 90 C3 15 E8 */ stw r6, 0x15e8(r3)
+/* 8030A560 003061C0 54 05 48 2C */ slwi r5, r0, 9
+/* 8030A564 003061C4 80 63 15 FC */ lwz r3, 0x15fc(r3)
+/* 8030A568 003061C8 4B FF AA 6D */ bl VFipf_memset
+/* 8030A56C 003061CC 80 BF 15 F0 */ lwz r5, 0x15f0(r31)
+/* 8030A570 003061D0 7F E3 FB 78 */ mr r3, r31
+/* 8030A574 003061D4 80 DF 15 FC */ lwz r6, 0x15fc(r31)
+/* 8030A578 003061D8 38 9F 15 F4 */ addi r4, r31, 0x15f4
+/* 8030A57C 003061DC A0 FF 15 EC */ lhz r7, 0x15ec(r31)
+/* 8030A580 003061E0 39 20 00 01 */ li r9, 1
+/* 8030A584 003061E4 81 1F 16 00 */ lwz r8, 0x1600(r31)
+/* 8030A588 003061E8 4B FF E9 51 */ bl VFiPFCACHE_InitPageList
+/* 8030A58C 003061EC 2C 03 00 00 */ cmpwi r3, 0
+/* 8030A590 003061F0 41 82 00 08 */ beq lbl_8030A598
+/* 8030A594 003061F4 48 00 00 48 */ b lbl_8030A5DC
+lbl_8030A598:
+/* 8030A598 003061F8 A0 1F 15 EC */ lhz r0, 0x15ec(r31)
+/* 8030A59C 003061FC 7F E3 FB 78 */ mr r3, r31
+/* 8030A5A0 00306200 81 5F 15 F0 */ lwz r10, 0x15f0(r31)
+/* 8030A5A4 00306204 38 9F 15 F8 */ addi r4, r31, 0x15f8
+/* 8030A5A8 00306208 1C A0 00 28 */ mulli r5, r0, 0x28
+/* 8030A5AC 0030620C 80 DF 15 FC */ lwz r6, 0x15fc(r31)
+/* 8030A5B0 00306210 54 00 48 2C */ slwi r0, r0, 9
+/* 8030A5B4 00306214 A0 FF 15 EE */ lhz r7, 0x15ee(r31)
+/* 8030A5B8 00306218 81 1F 16 04 */ lwz r8, 0x1604(r31)
+/* 8030A5BC 0030621C 39 20 00 00 */ li r9, 0
+/* 8030A5C0 00306220 7C AA 2A 14 */ add r5, r10, r5
+/* 8030A5C4 00306224 7C C6 02 14 */ add r6, r6, r0
+/* 8030A5C8 00306228 4B FF E9 11 */ bl VFiPFCACHE_InitPageList
+/* 8030A5CC 0030622C 7C 03 00 D0 */ neg r0, r3
+/* 8030A5D0 00306230 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A5D4 00306234 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A5D8 00306238 7C 63 00 38 */ and r3, r3, r0
+lbl_8030A5DC:
+/* 8030A5DC 0030623C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A5E0 00306240 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8030A5E4 00306244 7C 08 03 A6 */ mtlr r0
+/* 8030A5E8 00306248 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A5EC 0030624C 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_UpdateModifiedSector
+VFiPFCACHE_UpdateModifiedSector:
+/* 8030A5F0 00306250 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8030A5F4 00306254 2C 00 00 00 */ cmpwi r0, 0
+/* 8030A5F8 00306258 40 82 00 20 */ bne lbl_8030A618
+/* 8030A5FC 0030625C A0 83 00 00 */ lhz r4, 0(r3)
+/* 8030A600 00306260 80 03 00 08 */ lwz r0, 8(r3)
+/* 8030A604 00306264 60 84 00 02 */ ori r4, r4, 2
+/* 8030A608 00306268 B0 83 00 00 */ sth r4, 0(r3)
+/* 8030A60C 0030626C 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8030A610 00306270 90 03 00 10 */ stw r0, 0x10(r3)
+/* 8030A614 00306274 48 00 00 28 */ b lbl_8030A63C
+lbl_8030A618:
+/* 8030A618 00306278 80 83 00 08 */ lwz r4, 8(r3)
+/* 8030A61C 0030627C 7C 04 00 40 */ cmplw r4, r0
+/* 8030A620 00306280 40 80 00 0C */ bge lbl_8030A62C
+/* 8030A624 00306284 90 83 00 0C */ stw r4, 0xc(r3)
+/* 8030A628 00306288 48 00 00 14 */ b lbl_8030A63C
+lbl_8030A62C:
+/* 8030A62C 0030628C 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 8030A630 00306290 7C 04 00 40 */ cmplw r4, r0
+/* 8030A634 00306294 40 81 00 08 */ ble lbl_8030A63C
+/* 8030A638 00306298 90 83 00 10 */ stw r4, 0x10(r3)
+lbl_8030A63C:
+/* 8030A63C 0030629C 38 60 00 00 */ li r3, 0
+/* 8030A640 003062A0 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_AllocateFATPage
+VFiPFCACHE_AllocateFATPage:
+/* 8030A644 003062A4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A648 003062A8 7C 08 02 A6 */ mflr r0
+/* 8030A64C 003062AC 7C A6 2B 78 */ mr r6, r5
+/* 8030A650 003062B0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A654 003062B4 80 03 15 F4 */ lwz r0, 0x15f4(r3)
+/* 8030A658 003062B8 2C 00 00 00 */ cmpwi r0, 0
+/* 8030A65C 003062BC 40 82 00 2C */ bne lbl_8030A688
+/* 8030A660 003062C0 80 03 15 FC */ lwz r0, 0x15fc(r3)
+/* 8030A664 003062C4 80 83 15 F0 */ lwz r4, 0x15f0(r3)
+/* 8030A668 003062C8 90 04 00 04 */ stw r0, 4(r4)
+/* 8030A66C 003062CC 80 03 15 FC */ lwz r0, 0x15fc(r3)
+/* 8030A670 003062D0 80 83 15 F0 */ lwz r4, 0x15f0(r3)
+/* 8030A674 003062D4 90 04 00 08 */ stw r0, 8(r4)
+/* 8030A678 003062D8 80 03 15 F0 */ lwz r0, 0x15f0(r3)
+/* 8030A67C 003062DC 38 60 00 00 */ li r3, 0
+/* 8030A680 003062E0 90 05 00 00 */ stw r0, 0(r5)
+/* 8030A684 003062E4 48 00 00 24 */ b lbl_8030A6A8
+lbl_8030A688:
+/* 8030A688 003062E8 7C 85 23 78 */ mr r5, r4
+/* 8030A68C 003062EC 38 83 15 F4 */ addi r4, r3, 0x15f4
+/* 8030A690 003062F0 38 E1 00 08 */ addi r7, r1, 8
+/* 8030A694 003062F4 4B FF ED 29 */ bl VFiPFCACHE_DoAllocatePage
+/* 8030A698 003062F8 7C 03 00 D0 */ neg r0, r3
+/* 8030A69C 003062FC 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A6A0 00306300 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A6A4 00306304 7C 63 00 38 */ and r3, r3, r0
+lbl_8030A6A8:
+/* 8030A6A8 00306308 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A6AC 0030630C 7C 08 03 A6 */ mtlr r0
+/* 8030A6B0 00306310 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A6B4 00306314 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_AllocateDataPage
+VFiPFCACHE_AllocateDataPage:
+/* 8030A6B8 00306318 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A6BC 0030631C 7C 08 02 A6 */ mflr r0
+/* 8030A6C0 00306320 7C A6 2B 78 */ mr r6, r5
+/* 8030A6C4 00306324 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A6C8 00306328 80 03 15 F8 */ lwz r0, 0x15f8(r3)
+/* 8030A6CC 0030632C 2C 00 00 00 */ cmpwi r0, 0
+/* 8030A6D0 00306330 40 82 00 2C */ bne lbl_8030A6FC
+/* 8030A6D4 00306334 80 03 15 FC */ lwz r0, 0x15fc(r3)
+/* 8030A6D8 00306338 80 83 15 F0 */ lwz r4, 0x15f0(r3)
+/* 8030A6DC 0030633C 90 04 00 04 */ stw r0, 4(r4)
+/* 8030A6E0 00306340 80 03 15 FC */ lwz r0, 0x15fc(r3)
+/* 8030A6E4 00306344 80 83 15 F0 */ lwz r4, 0x15f0(r3)
+/* 8030A6E8 00306348 90 04 00 08 */ stw r0, 8(r4)
+/* 8030A6EC 0030634C 80 03 15 F0 */ lwz r0, 0x15f0(r3)
+/* 8030A6F0 00306350 38 60 00 00 */ li r3, 0
+/* 8030A6F4 00306354 90 05 00 00 */ stw r0, 0(r5)
+/* 8030A6F8 00306358 48 00 00 24 */ b lbl_8030A71C
+lbl_8030A6FC:
+/* 8030A6FC 0030635C 7C 85 23 78 */ mr r5, r4
+/* 8030A700 00306360 38 83 15 F8 */ addi r4, r3, 0x15f8
+/* 8030A704 00306364 38 E1 00 08 */ addi r7, r1, 8
+/* 8030A708 00306368 4B FF EC B5 */ bl VFiPFCACHE_DoAllocatePage
+/* 8030A70C 0030636C 7C 03 00 D0 */ neg r0, r3
+/* 8030A710 00306370 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A714 00306374 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A718 00306378 7C 63 00 38 */ and r3, r3, r0
+lbl_8030A71C:
+/* 8030A71C 0030637C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A720 00306380 7C 08 03 A6 */ mtlr r0
+/* 8030A724 00306384 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A728 00306388 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_FreeFATPage
+VFiPFCACHE_FreeFATPage:
+/* 8030A72C 0030638C 80 03 15 F4 */ lwz r0, 0x15f4(r3)
+/* 8030A730 00306390 2C 00 00 00 */ cmpwi r0, 0
+/* 8030A734 00306394 4D 82 00 20 */ beqlr
+/* 8030A738 00306398 A0 A4 00 00 */ lhz r5, 0(r4)
+/* 8030A73C 0030639C 38 C0 00 00 */ li r6, 0
+/* 8030A740 003063A0 38 00 FF FF */ li r0, -1
+/* 8030A744 003063A4 90 C4 00 0C */ stw r6, 0xc(r4)
+/* 8030A748 003063A8 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d
+/* 8030A74C 003063AC B0 A4 00 00 */ sth r5, 0(r4)
+/* 8030A750 003063B0 90 C4 00 10 */ stw r6, 0x10(r4)
+/* 8030A754 003063B4 90 04 00 18 */ stw r0, 0x18(r4)
+/* 8030A758 003063B8 90 C4 00 1C */ stw r6, 0x1c(r4)
+/* 8030A75C 003063BC 80 A3 15 F4 */ lwz r5, 0x15f4(r3)
+/* 8030A760 003063C0 7C 04 28 40 */ cmplw r4, r5
+/* 8030A764 003063C4 40 82 00 10 */ bne lbl_8030A774
+/* 8030A768 003063C8 80 04 00 20 */ lwz r0, 0x20(r4)
+/* 8030A76C 003063CC 90 03 15 F4 */ stw r0, 0x15f4(r3)
+/* 8030A770 003063D0 4E 80 00 20 */ blr
+lbl_8030A774:
+/* 8030A774 003063D4 80 05 00 24 */ lwz r0, 0x24(r5)
+/* 8030A778 003063D8 7C 04 00 40 */ cmplw r4, r0
+/* 8030A77C 003063DC 4D 82 00 20 */ beqlr
+/* 8030A780 003063E0 80 04 00 20 */ lwz r0, 0x20(r4)
+/* 8030A784 003063E4 80 A4 00 24 */ lwz r5, 0x24(r4)
+/* 8030A788 003063E8 90 05 00 20 */ stw r0, 0x20(r5)
+/* 8030A78C 003063EC 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 8030A790 003063F0 80 A4 00 20 */ lwz r5, 0x20(r4)
+/* 8030A794 003063F4 90 05 00 24 */ stw r0, 0x24(r5)
+/* 8030A798 003063F8 80 A3 15 F4 */ lwz r5, 0x15f4(r3)
+/* 8030A79C 003063FC 90 A4 00 20 */ stw r5, 0x20(r4)
+/* 8030A7A0 00306400 80 63 15 F4 */ lwz r3, 0x15f4(r3)
+/* 8030A7A4 00306404 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 8030A7A8 00306408 90 04 00 24 */ stw r0, 0x24(r4)
+/* 8030A7AC 0030640C 90 85 00 24 */ stw r4, 0x24(r5)
+/* 8030A7B0 00306410 80 64 00 24 */ lwz r3, 0x24(r4)
+/* 8030A7B4 00306414 90 83 00 20 */ stw r4, 0x20(r3)
+/* 8030A7B8 00306418 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_FreeDataPage
+VFiPFCACHE_FreeDataPage:
+/* 8030A7BC 0030641C 80 03 15 F8 */ lwz r0, 0x15f8(r3)
+/* 8030A7C0 00306420 2C 00 00 00 */ cmpwi r0, 0
+/* 8030A7C4 00306424 4D 82 00 20 */ beqlr
+/* 8030A7C8 00306428 A0 A4 00 00 */ lhz r5, 0(r4)
+/* 8030A7CC 0030642C 38 C0 00 00 */ li r6, 0
+/* 8030A7D0 00306430 38 00 FF FF */ li r0, -1
+/* 8030A7D4 00306434 90 C4 00 0C */ stw r6, 0xc(r4)
+/* 8030A7D8 00306438 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d
+/* 8030A7DC 0030643C B0 A4 00 00 */ sth r5, 0(r4)
+/* 8030A7E0 00306440 90 C4 00 10 */ stw r6, 0x10(r4)
+/* 8030A7E4 00306444 90 04 00 18 */ stw r0, 0x18(r4)
+/* 8030A7E8 00306448 90 C4 00 1C */ stw r6, 0x1c(r4)
+/* 8030A7EC 0030644C 80 A3 15 F8 */ lwz r5, 0x15f8(r3)
+/* 8030A7F0 00306450 7C 04 28 40 */ cmplw r4, r5
+/* 8030A7F4 00306454 40 82 00 10 */ bne lbl_8030A804
+/* 8030A7F8 00306458 80 04 00 20 */ lwz r0, 0x20(r4)
+/* 8030A7FC 0030645C 90 03 15 F8 */ stw r0, 0x15f8(r3)
+/* 8030A800 00306460 4E 80 00 20 */ blr
+lbl_8030A804:
+/* 8030A804 00306464 80 05 00 24 */ lwz r0, 0x24(r5)
+/* 8030A808 00306468 7C 04 00 40 */ cmplw r4, r0
+/* 8030A80C 0030646C 4D 82 00 20 */ beqlr
+/* 8030A810 00306470 80 04 00 20 */ lwz r0, 0x20(r4)
+/* 8030A814 00306474 80 A4 00 24 */ lwz r5, 0x24(r4)
+/* 8030A818 00306478 90 05 00 20 */ stw r0, 0x20(r5)
+/* 8030A81C 0030647C 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 8030A820 00306480 80 A4 00 20 */ lwz r5, 0x20(r4)
+/* 8030A824 00306484 90 05 00 24 */ stw r0, 0x24(r5)
+/* 8030A828 00306488 80 A3 15 F8 */ lwz r5, 0x15f8(r3)
+/* 8030A82C 0030648C 90 A4 00 20 */ stw r5, 0x20(r4)
+/* 8030A830 00306490 80 63 15 F8 */ lwz r3, 0x15f8(r3)
+/* 8030A834 00306494 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 8030A838 00306498 90 04 00 24 */ stw r0, 0x24(r4)
+/* 8030A83C 0030649C 90 85 00 24 */ stw r4, 0x24(r5)
+/* 8030A840 003064A0 80 64 00 24 */ lwz r3, 0x24(r4)
+/* 8030A844 003064A4 90 83 00 20 */ stw r4, 0x20(r3)
+/* 8030A848 003064A8 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_ReadFATPage
+VFiPFCACHE_ReadFATPage:
+/* 8030A84C 003064AC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A850 003064B0 7C 08 02 A6 */ mflr r0
+/* 8030A854 003064B4 7C A6 2B 78 */ mr r6, r5
+/* 8030A858 003064B8 7C 85 23 78 */ mr r5, r4
+/* 8030A85C 003064BC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A860 003064C0 38 83 15 F4 */ addi r4, r3, 0x15f4
+/* 8030A864 003064C4 38 E0 00 00 */ li r7, 0
+/* 8030A868 003064C8 4B FF ED CD */ bl VFiPFCACHE_DoReadPage
+/* 8030A86C 003064CC 7C 03 00 D0 */ neg r0, r3
+/* 8030A870 003064D0 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A874 003064D4 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A878 003064D8 7C 63 00 38 */ and r3, r3, r0
+/* 8030A87C 003064DC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A880 003064E0 7C 08 03 A6 */ mtlr r0
+/* 8030A884 003064E4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A888 003064E8 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_ReadDataPage
+VFiPFCACHE_ReadDataPage:
+/* 8030A88C 003064EC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A890 003064F0 7C 08 02 A6 */ mflr r0
+/* 8030A894 003064F4 7C 88 23 78 */ mr r8, r4
+/* 8030A898 003064F8 7C C7 33 78 */ mr r7, r6
+/* 8030A89C 003064FC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A8A0 00306500 7C A0 2B 78 */ mr r0, r5
+/* 8030A8A4 00306504 38 83 15 F8 */ addi r4, r3, 0x15f8
+/* 8030A8A8 00306508 7D 05 43 78 */ mr r5, r8
+/* 8030A8AC 0030650C 7C 06 03 78 */ mr r6, r0
+/* 8030A8B0 00306510 4B FF ED 85 */ bl VFiPFCACHE_DoReadPage
+/* 8030A8B4 00306514 7C 03 00 D0 */ neg r0, r3
+/* 8030A8B8 00306518 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A8BC 0030651C 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A8C0 00306520 7C 63 00 38 */ and r3, r3, r0
+/* 8030A8C4 00306524 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A8C8 00306528 7C 08 03 A6 */ mtlr r0
+/* 8030A8CC 0030652C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A8D0 00306530 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_ReadDataPageAndFlushIfNeeded
+VFiPFCACHE_ReadDataPageAndFlushIfNeeded:
+/* 8030A8D4 00306534 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A8D8 00306538 7C 08 02 A6 */ mflr r0
+/* 8030A8DC 0030653C 7C 88 23 78 */ mr r8, r4
+/* 8030A8E0 00306540 7C C7 33 78 */ mr r7, r6
+/* 8030A8E4 00306544 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A8E8 00306548 7C A0 2B 78 */ mr r0, r5
+/* 8030A8EC 0030654C 38 83 15 F8 */ addi r4, r3, 0x15f8
+/* 8030A8F0 00306550 7D 05 43 78 */ mr r5, r8
+/* 8030A8F4 00306554 7C 06 03 78 */ mr r6, r0
+/* 8030A8F8 00306558 4B FF EF 49 */ bl VFiPFCACHE_DoReadPageAndFlushIfNeeded
+/* 8030A8FC 0030655C 7C 03 00 D0 */ neg r0, r3
+/* 8030A900 00306560 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A904 00306564 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A908 00306568 7C 63 00 38 */ and r3, r3, r0
+/* 8030A90C 0030656C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A910 00306570 7C 08 03 A6 */ mtlr r0
+/* 8030A914 00306574 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A918 00306578 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_ReadDataNumSector
+VFiPFCACHE_ReadDataNumSector:
+/* 8030A91C 0030657C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A920 00306580 7C 08 02 A6 */ mflr r0
+/* 8030A924 00306584 7C AA 2B 78 */ mr r10, r5
+/* 8030A928 00306588 7C C9 33 78 */ mr r9, r6
+/* 8030A92C 0030658C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A930 00306590 7C E8 3B 78 */ mr r8, r7
+/* 8030A934 00306594 80 03 00 08 */ lwz r0, 8(r3)
+/* 8030A938 00306598 7C 05 00 40 */ cmplw r5, r0
+/* 8030A93C 0030659C 41 80 00 0C */ blt lbl_8030A948
+/* 8030A940 003065A0 38 60 00 10 */ li r3, 0x10
+/* 8030A944 003065A4 48 00 00 28 */ b lbl_8030A96C
+lbl_8030A948:
+/* 8030A948 003065A8 7C 85 23 78 */ mr r5, r4
+/* 8030A94C 003065AC 7D 46 53 78 */ mr r6, r10
+/* 8030A950 003065B0 7D 27 4B 78 */ mr r7, r9
+/* 8030A954 003065B4 38 83 15 F8 */ addi r4, r3, 0x15f8
+/* 8030A958 003065B8 4B FF F1 85 */ bl VFiPFCACHE_DoReadNumSector
+/* 8030A95C 003065BC 7C 03 00 D0 */ neg r0, r3
+/* 8030A960 003065C0 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A964 003065C4 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A968 003065C8 7C 63 00 38 */ and r3, r3, r0
+lbl_8030A96C:
+/* 8030A96C 003065CC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A970 003065D0 7C 08 03 A6 */ mtlr r0
+/* 8030A974 003065D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A978 003065D8 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_WriteFATPage
+VFiPFCACHE_WriteFATPage:
+/* 8030A97C 003065DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A980 003065E0 7C 08 02 A6 */ mflr r0
+/* 8030A984 003065E4 7C 85 23 78 */ mr r5, r4
+/* 8030A988 003065E8 38 83 15 F4 */ addi r4, r3, 0x15f4
+/* 8030A98C 003065EC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A990 003065F0 38 C0 00 00 */ li r6, 0
+/* 8030A994 003065F4 4B FF F3 9D */ bl VFiPFCACHE_DoWritePage
+/* 8030A998 003065F8 7C 03 00 D0 */ neg r0, r3
+/* 8030A99C 003065FC 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A9A0 00306600 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A9A4 00306604 7C 63 00 38 */ and r3, r3, r0
+/* 8030A9A8 00306608 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A9AC 0030660C 7C 08 03 A6 */ mtlr r0
+/* 8030A9B0 00306610 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A9B4 00306614 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_WriteDataPage
+VFiPFCACHE_WriteDataPage:
+/* 8030A9B8 00306618 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A9BC 0030661C 7C 08 02 A6 */ mflr r0
+/* 8030A9C0 00306620 7C A6 2B 78 */ mr r6, r5
+/* 8030A9C4 00306624 7C 85 23 78 */ mr r5, r4
+/* 8030A9C8 00306628 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030A9CC 0030662C 38 83 15 F8 */ addi r4, r3, 0x15f8
+/* 8030A9D0 00306630 4B FF F3 61 */ bl VFiPFCACHE_DoWritePage
+/* 8030A9D4 00306634 7C 03 00 D0 */ neg r0, r3
+/* 8030A9D8 00306638 7C 00 1B 78 */ or r0, r0, r3
+/* 8030A9DC 0030663C 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030A9E0 00306640 7C 63 00 38 */ and r3, r3, r0
+/* 8030A9E4 00306644 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030A9E8 00306648 7C 08 03 A6 */ mtlr r0
+/* 8030A9EC 0030664C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030A9F0 00306650 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_WriteFATSectorAndFreeIfNeeded
+VFiPFCACHE_WriteFATSectorAndFreeIfNeeded:
+/* 8030A9F4 00306654 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030A9F8 00306658 7C 08 02 A6 */ mflr r0
+/* 8030A9FC 0030665C 7C A6 2B 78 */ mr r6, r5
+/* 8030AA00 00306660 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030AA04 00306664 80 03 00 08 */ lwz r0, 8(r3)
+/* 8030AA08 00306668 7C 05 00 40 */ cmplw r5, r0
+/* 8030AA0C 0030666C 41 80 00 0C */ blt lbl_8030AA18
+/* 8030AA10 00306670 38 60 00 10 */ li r3, 0x10
+/* 8030AA14 00306674 48 00 00 20 */ b lbl_8030AA34
+lbl_8030AA18:
+/* 8030AA18 00306678 7C 85 23 78 */ mr r5, r4
+/* 8030AA1C 0030667C 38 83 15 F4 */ addi r4, r3, 0x15f4
+/* 8030AA20 00306680 4B FF F4 91 */ bl VFiPFCACHE_DoWriteSector
+/* 8030AA24 00306684 7C 03 00 D0 */ neg r0, r3
+/* 8030AA28 00306688 7C 00 1B 78 */ or r0, r0, r3
+/* 8030AA2C 0030668C 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030AA30 00306690 7C 63 00 38 */ and r3, r3, r0
+lbl_8030AA34:
+/* 8030AA34 00306694 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030AA38 00306698 7C 08 03 A6 */ mtlr r0
+/* 8030AA3C 0030669C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030AA40 003066A0 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_WriteDataNumSectorAndFreeIfNeeded
+VFiPFCACHE_WriteDataNumSectorAndFreeIfNeeded:
+/* 8030AA44 003066A4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030AA48 003066A8 7C 08 02 A6 */ mflr r0
+/* 8030AA4C 003066AC 7C AA 2B 78 */ mr r10, r5
+/* 8030AA50 003066B0 7C C9 33 78 */ mr r9, r6
+/* 8030AA54 003066B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030AA58 003066B8 7C E8 3B 78 */ mr r8, r7
+/* 8030AA5C 003066BC 80 03 00 08 */ lwz r0, 8(r3)
+/* 8030AA60 003066C0 7C 05 00 40 */ cmplw r5, r0
+/* 8030AA64 003066C4 41 80 00 0C */ blt lbl_8030AA70
+/* 8030AA68 003066C8 38 60 00 10 */ li r3, 0x10
+/* 8030AA6C 003066CC 48 00 00 28 */ b lbl_8030AA94
+lbl_8030AA70:
+/* 8030AA70 003066D0 7C 85 23 78 */ mr r5, r4
+/* 8030AA74 003066D4 7D 46 53 78 */ mr r6, r10
+/* 8030AA78 003066D8 7D 27 4B 78 */ mr r7, r9
+/* 8030AA7C 003066DC 38 83 15 F8 */ addi r4, r3, 0x15f8
+/* 8030AA80 003066E0 4B FF F5 A1 */ bl VFiPFCACHE_DoWriteNumSectorAndFreeIfNeeded
+/* 8030AA84 003066E4 7C 03 00 D0 */ neg r0, r3
+/* 8030AA88 003066E8 7C 00 1B 78 */ or r0, r0, r3
+/* 8030AA8C 003066EC 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030AA90 003066F0 7C 63 00 38 */ and r3, r3, r0
+lbl_8030AA94:
+/* 8030AA94 003066F4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030AA98 003066F8 7C 08 03 A6 */ mtlr r0
+/* 8030AA9C 003066FC 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030AAA0 00306700 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_SearchDataCache
+VFiPFCACHE_SearchDataCache:
+/* 8030AAA4 00306704 7C 85 23 78 */ mr r5, r4
+/* 8030AAA8 00306708 80 83 15 F8 */ lwz r4, 0x15f8(r3)
+/* 8030AAAC 0030670C 4B FF E6 AC */ b VFiPFCACHE_SearchForPage
+
+.global VFiPFCACHE_FlushFATCache
+VFiPFCACHE_FlushFATCache:
+/* 8030AAB0 00306710 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030AAB4 00306714 7C 08 02 A6 */ mflr r0
+/* 8030AAB8 00306718 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030AABC 0030671C 80 83 15 F4 */ lwz r4, 0x15f4(r3)
+/* 8030AAC0 00306720 4B FF F9 69 */ bl VFiPFCACHE_DoFlushCache
+/* 8030AAC4 00306724 7C 03 00 D0 */ neg r0, r3
+/* 8030AAC8 00306728 7C 00 1B 78 */ or r0, r0, r3
+/* 8030AACC 0030672C 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8030AAD0 00306730 7C 63 00 38 */ and r3, r3, r0
+/* 8030AAD4 00306734 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030AAD8 00306738 7C 08 03 A6 */ mtlr r0
+/* 8030AADC 0030673C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030AAE0 00306740 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_FlushDataCacheSpecific
+VFiPFCACHE_FlushDataCacheSpecific:
+/* 8030AAE4 00306744 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8030AAE8 00306748 7C 08 02 A6 */ mflr r0
+/* 8030AAEC 0030674C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8030AAF0 00306750 39 61 00 30 */ addi r11, r1, 0x30
+/* 8030AAF4 00306754 4B EB C6 2D */ bl _savegpr_25
+/* 8030AAF8 00306758 80 03 15 E8 */ lwz r0, 0x15e8(r3)
+/* 8030AAFC 0030675C 7C 7E 1B 78 */ mr r30, r3
+/* 8030AB00 00306760 7C 9F 23 78 */ mr r31, r4
+/* 8030AB04 00306764 3B A0 00 00 */ li r29, 0
+/* 8030AB08 00306768 54 00 07 7F */ clrlwi. r0, r0, 0x1d
+/* 8030AB0C 0030676C 3B 20 00 00 */ li r25, 0
+/* 8030AB10 00306770 41 82 01 18 */ beq lbl_8030AC28
+/* 8030AB14 00306774 83 83 15 F8 */ lwz r28, 0x15f8(r3)
+/* 8030AB18 00306778 80 1C 00 1C */ lwz r0, 0x1c(r28)
+/* 8030AB1C 0030677C 2C 00 00 00 */ cmpwi r0, 0
+/* 8030AB20 00306780 41 82 00 0C */ beq lbl_8030AB2C
+/* 8030AB24 00306784 7C 00 20 40 */ cmplw r0, r4
+/* 8030AB28 00306788 40 82 00 48 */ bne lbl_8030AB70
+lbl_8030AB2C:
+/* 8030AB2C 0030678C 2C 1C 00 00 */ cmpwi r28, 0
+/* 8030AB30 00306790 41 82 00 24 */ beq lbl_8030AB54
+/* 8030AB34 00306794 A0 1C 00 00 */ lhz r0, 0(r28)
+/* 8030AB38 00306798 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8030AB3C 0030679C 41 82 00 18 */ beq lbl_8030AB54
+/* 8030AB40 003067A0 80 7C 00 18 */ lwz r3, 0x18(r28)
+/* 8030AB44 003067A4 3C 03 00 01 */ addis r0, r3, 1
+/* 8030AB48 003067A8 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030AB4C 003067AC 41 82 00 08 */ beq lbl_8030AB54
+/* 8030AB50 003067B0 3B 20 00 01 */ li r25, 1
+lbl_8030AB54:
+/* 8030AB54 003067B4 7F C3 F3 78 */ mr r3, r30
+/* 8030AB58 003067B8 7F 84 E3 78 */ mr r4, r28
+/* 8030AB5C 003067BC 4B FF E7 61 */ bl VFiPFCACHE_FlushPageIfNeeded
+/* 8030AB60 003067C0 2C 03 00 00 */ cmpwi r3, 0
+/* 8030AB64 003067C4 7C 7D 1B 78 */ mr r29, r3
+/* 8030AB68 003067C8 41 82 00 08 */ beq lbl_8030AB70
+/* 8030AB6C 003067CC 48 00 00 C0 */ b lbl_8030AC2C
+lbl_8030AB70:
+/* 8030AB70 003067D0 83 7C 00 20 */ lwz r27, 0x20(r28)
+/* 8030AB74 003067D4 48 00 00 88 */ b lbl_8030ABFC
+lbl_8030AB78:
+/* 8030AB78 003067D8 80 1B 00 1C */ lwz r0, 0x1c(r27)
+/* 8030AB7C 003067DC 2C 00 00 00 */ cmpwi r0, 0
+/* 8030AB80 003067E0 41 82 00 0C */ beq lbl_8030AB8C
+/* 8030AB84 003067E4 7C 00 F8 40 */ cmplw r0, r31
+/* 8030AB88 003067E8 40 82 00 70 */ bne lbl_8030ABF8
+lbl_8030AB8C:
+/* 8030AB8C 003067EC 2C 1B 00 00 */ cmpwi r27, 0
+/* 8030AB90 003067F0 3B 40 00 00 */ li r26, 0
+/* 8030AB94 003067F4 41 82 00 24 */ beq lbl_8030ABB8
+/* 8030AB98 003067F8 A0 1B 00 00 */ lhz r0, 0(r27)
+/* 8030AB9C 003067FC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8030ABA0 00306800 41 82 00 18 */ beq lbl_8030ABB8
+/* 8030ABA4 00306804 80 7B 00 18 */ lwz r3, 0x18(r27)
+/* 8030ABA8 00306808 3C 03 00 01 */ addis r0, r3, 1
+/* 8030ABAC 0030680C 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030ABB0 00306810 41 82 00 08 */ beq lbl_8030ABB8
+/* 8030ABB4 00306814 3B 40 00 01 */ li r26, 1
+lbl_8030ABB8:
+/* 8030ABB8 00306818 7F C3 F3 78 */ mr r3, r30
+/* 8030ABBC 0030681C 7F 64 DB 78 */ mr r4, r27
+/* 8030ABC0 00306820 4B FF E6 FD */ bl VFiPFCACHE_FlushPageIfNeeded
+/* 8030ABC4 00306824 2C 03 00 00 */ cmpwi r3, 0
+/* 8030ABC8 00306828 7C 7D 1B 78 */ mr r29, r3
+/* 8030ABCC 0030682C 41 82 00 20 */ beq lbl_8030ABEC
+/* 8030ABD0 00306830 2C 19 00 00 */ cmpwi r25, 0
+/* 8030ABD4 00306834 41 82 00 10 */ beq lbl_8030ABE4
+/* 8030ABD8 00306838 7F C3 F3 78 */ mr r3, r30
+/* 8030ABDC 0030683C 38 80 00 00 */ li r4, 0
+/* 8030ABE0 00306840 48 01 11 C1 */ bl func_8031BDA0
+lbl_8030ABE4:
+/* 8030ABE4 00306844 7F A3 EB 78 */ mr r3, r29
+/* 8030ABE8 00306848 48 00 00 44 */ b lbl_8030AC2C
+lbl_8030ABEC:
+/* 8030ABEC 0030684C 2C 1A 00 00 */ cmpwi r26, 0
+/* 8030ABF0 00306850 41 82 00 08 */ beq lbl_8030ABF8
+/* 8030ABF4 00306854 3B 20 00 01 */ li r25, 1
+lbl_8030ABF8:
+/* 8030ABF8 00306858 83 7B 00 20 */ lwz r27, 0x20(r27)
+lbl_8030ABFC:
+/* 8030ABFC 0030685C 7C 1B E0 40 */ cmplw r27, r28
+/* 8030AC00 00306860 40 82 FF 78 */ bne lbl_8030AB78
+/* 8030AC04 00306864 2C 19 00 00 */ cmpwi r25, 0
+/* 8030AC08 00306868 41 82 00 20 */ beq lbl_8030AC28
+/* 8030AC0C 0030686C 7F C3 F3 78 */ mr r3, r30
+/* 8030AC10 00306870 38 80 00 01 */ li r4, 1
+/* 8030AC14 00306874 48 01 11 8D */ bl func_8031BDA0
+/* 8030AC18 00306878 2C 03 00 00 */ cmpwi r3, 0
+/* 8030AC1C 0030687C 41 82 00 0C */ beq lbl_8030AC28
+/* 8030AC20 00306880 38 60 00 11 */ li r3, 0x11
+/* 8030AC24 00306884 48 00 00 08 */ b lbl_8030AC2C
+lbl_8030AC28:
+/* 8030AC28 00306888 7F A3 EB 78 */ mr r3, r29
+lbl_8030AC2C:
+/* 8030AC2C 0030688C 39 61 00 30 */ addi r11, r1, 0x30
+/* 8030AC30 00306890 4B EB C5 3D */ bl _restgpr_25
+/* 8030AC34 00306894 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030AC38 00306898 7C 08 03 A6 */ mtlr r0
+/* 8030AC3C 0030689C 38 21 00 30 */ addi r1, r1, 0x30
+/* 8030AC40 003068A0 4E 80 00 20 */ blr
+
+.global VFiPFCACHE_FreeAllCaches
+VFiPFCACHE_FreeAllCaches:
+/* 8030AC44 003068A4 38 E0 00 00 */ li r7, 0
+/* 8030AC48 003068A8 38 C0 FF FF */ li r6, -1
+/* 8030AC4C 003068AC 48 00 00 84 */ b lbl_8030ACD0
+lbl_8030AC50:
+/* 8030AC50 003068B0 2C 08 00 00 */ cmpwi r8, 0
+/* 8030AC54 003068B4 41 82 00 7C */ beq lbl_8030ACD0
+/* 8030AC58 003068B8 A0 08 00 00 */ lhz r0, 0(r8)
+/* 8030AC5C 003068BC 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d
+/* 8030AC60 003068C0 B0 08 00 00 */ sth r0, 0(r8)
+/* 8030AC64 003068C4 90 E8 00 0C */ stw r7, 0xc(r8)
+/* 8030AC68 003068C8 90 E8 00 10 */ stw r7, 0x10(r8)
+/* 8030AC6C 003068CC 90 C8 00 18 */ stw r6, 0x18(r8)
+/* 8030AC70 003068D0 90 E8 00 1C */ stw r7, 0x1c(r8)
+/* 8030AC74 003068D4 80 83 15 F4 */ lwz r4, 0x15f4(r3)
+/* 8030AC78 003068D8 7C 08 20 40 */ cmplw r8, r4
+/* 8030AC7C 003068DC 40 82 00 10 */ bne lbl_8030AC8C
+/* 8030AC80 003068E0 80 08 00 20 */ lwz r0, 0x20(r8)
+/* 8030AC84 003068E4 90 03 15 F4 */ stw r0, 0x15f4(r3)
+/* 8030AC88 003068E8 48 00 00 48 */ b lbl_8030ACD0
+lbl_8030AC8C:
+/* 8030AC8C 003068EC 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 8030AC90 003068F0 7C 08 00 40 */ cmplw r8, r0
+/* 8030AC94 003068F4 41 82 00 3C */ beq lbl_8030ACD0
+/* 8030AC98 003068F8 80 08 00 20 */ lwz r0, 0x20(r8)
+/* 8030AC9C 003068FC 80 88 00 24 */ lwz r4, 0x24(r8)
+/* 8030ACA0 00306900 90 04 00 20 */ stw r0, 0x20(r4)
+/* 8030ACA4 00306904 80 08 00 24 */ lwz r0, 0x24(r8)
+/* 8030ACA8 00306908 80 88 00 20 */ lwz r4, 0x20(r8)
+/* 8030ACAC 0030690C 90 04 00 24 */ stw r0, 0x24(r4)
+/* 8030ACB0 00306910 80 A3 15 F4 */ lwz r5, 0x15f4(r3)
+/* 8030ACB4 00306914 90 A8 00 20 */ stw r5, 0x20(r8)
+/* 8030ACB8 00306918 80 83 15 F4 */ lwz r4, 0x15f4(r3)
+/* 8030ACBC 0030691C 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 8030ACC0 00306920 90 08 00 24 */ stw r0, 0x24(r8)
+/* 8030ACC4 00306924 91 05 00 24 */ stw r8, 0x24(r5)
+/* 8030ACC8 00306928 80 88 00 24 */ lwz r4, 0x24(r8)
+/* 8030ACCC 0030692C 91 04 00 20 */ stw r8, 0x20(r4)
+lbl_8030ACD0:
+/* 8030ACD0 00306930 81 03 15 F4 */ lwz r8, 0x15f4(r3)
+/* 8030ACD4 00306934 A0 08 00 00 */ lhz r0, 0(r8)
+/* 8030ACD8 00306938 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030ACDC 0030693C 40 82 FF 74 */ bne lbl_8030AC50
+/* 8030ACE0 00306940 38 E0 00 00 */ li r7, 0
+/* 8030ACE4 00306944 38 C0 FF FF */ li r6, -1
+/* 8030ACE8 00306948 48 00 00 84 */ b lbl_8030AD6C
+lbl_8030ACEC:
+/* 8030ACEC 0030694C 2C 08 00 00 */ cmpwi r8, 0
+/* 8030ACF0 00306950 41 82 00 7C */ beq lbl_8030AD6C
+/* 8030ACF4 00306954 A0 08 00 00 */ lhz r0, 0(r8)
+/* 8030ACF8 00306958 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d
+/* 8030ACFC 0030695C B0 08 00 00 */ sth r0, 0(r8)
+/* 8030AD00 00306960 90 E8 00 0C */ stw r7, 0xc(r8)
+/* 8030AD04 00306964 90 E8 00 10 */ stw r7, 0x10(r8)
+/* 8030AD08 00306968 90 C8 00 18 */ stw r6, 0x18(r8)
+/* 8030AD0C 0030696C 90 E8 00 1C */ stw r7, 0x1c(r8)
+/* 8030AD10 00306970 80 83 15 F8 */ lwz r4, 0x15f8(r3)
+/* 8030AD14 00306974 7C 08 20 40 */ cmplw r8, r4
+/* 8030AD18 00306978 40 82 00 10 */ bne lbl_8030AD28
+/* 8030AD1C 0030697C 80 08 00 20 */ lwz r0, 0x20(r8)
+/* 8030AD20 00306980 90 03 15 F8 */ stw r0, 0x15f8(r3)
+/* 8030AD24 00306984 48 00 00 48 */ b lbl_8030AD6C
+lbl_8030AD28:
+/* 8030AD28 00306988 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 8030AD2C 0030698C 7C 08 00 40 */ cmplw r8, r0
+/* 8030AD30 00306990 41 82 00 3C */ beq lbl_8030AD6C
+/* 8030AD34 00306994 80 08 00 20 */ lwz r0, 0x20(r8)
+/* 8030AD38 00306998 80 88 00 24 */ lwz r4, 0x24(r8)
+/* 8030AD3C 0030699C 90 04 00 20 */ stw r0, 0x20(r4)
+/* 8030AD40 003069A0 80 08 00 24 */ lwz r0, 0x24(r8)
+/* 8030AD44 003069A4 80 88 00 20 */ lwz r4, 0x20(r8)
+/* 8030AD48 003069A8 90 04 00 24 */ stw r0, 0x24(r4)
+/* 8030AD4C 003069AC 80 A3 15 F8 */ lwz r5, 0x15f8(r3)
+/* 8030AD50 003069B0 90 A8 00 20 */ stw r5, 0x20(r8)
+/* 8030AD54 003069B4 80 83 15 F8 */ lwz r4, 0x15f8(r3)
+/* 8030AD58 003069B8 80 04 00 24 */ lwz r0, 0x24(r4)
+/* 8030AD5C 003069BC 90 08 00 24 */ stw r0, 0x24(r8)
+/* 8030AD60 003069C0 91 05 00 24 */ stw r8, 0x24(r5)
+/* 8030AD64 003069C4 80 88 00 24 */ lwz r4, 0x24(r8)
+/* 8030AD68 003069C8 91 04 00 20 */ stw r8, 0x20(r4)
+lbl_8030AD6C:
+/* 8030AD6C 003069CC 81 03 15 F8 */ lwz r8, 0x15f8(r3)
+/* 8030AD70 003069D0 A0 08 00 00 */ lhz r0, 0(r8)
+/* 8030AD74 003069D4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030AD78 003069D8 40 82 FF 74 */ bne lbl_8030ACEC
+/* 8030AD7C 003069DC 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_clib.s b/asm/SDK/VF/pf_clib.s new file mode 100644 index 0000000..91f5f74 --- /dev/null +++ b/asm/SDK/VF/pf_clib.s @@ -0,0 +1,246 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFipf_toupper
+VFipf_toupper:
+/* 80304E94 00300AF4 2C 03 00 61 */ cmpwi r3, 0x61
+/* 80304E98 00300AF8 4D 80 00 20 */ bltlr
+/* 80304E9C 00300AFC 2C 03 00 7A */ cmpwi r3, 0x7a
+/* 80304EA0 00300B00 4D 81 00 20 */ bgtlr
+/* 80304EA4 00300B04 38 63 FF E0 */ addi r3, r3, -32
+/* 80304EA8 00300B08 4E 80 00 20 */ blr
+
+.global VFipf_memcpy
+VFipf_memcpy:
+/* 80304EAC 00300B0C 54 60 07 BF */ clrlwi. r0, r3, 0x1e
+/* 80304EB0 00300B10 7C 68 1B 78 */ mr r8, r3
+/* 80304EB4 00300B14 40 82 00 9C */ bne lbl_80304F50
+/* 80304EB8 00300B18 54 80 07 BF */ clrlwi. r0, r4, 0x1e
+/* 80304EBC 00300B1C 40 82 00 94 */ bne lbl_80304F50
+/* 80304EC0 00300B20 28 05 00 03 */ cmplwi r5, 3
+/* 80304EC4 00300B24 54 A7 F0 BE */ srwi r7, r5, 2
+/* 80304EC8 00300B28 40 81 00 88 */ ble lbl_80304F50
+/* 80304ECC 00300B2C 54 E6 E8 FF */ rlwinm. r6, r7, 0x1d, 3, 0x1f
+/* 80304ED0 00300B30 54 E0 10 3A */ slwi r0, r7, 2
+/* 80304ED4 00300B34 7C 00 00 D0 */ neg r0, r0
+/* 80304ED8 00300B38 7C C9 03 A6 */ mtctr r6
+/* 80304EDC 00300B3C 41 82 00 58 */ beq lbl_80304F34
+lbl_80304EE0:
+/* 80304EE0 00300B40 80 C4 00 00 */ lwz r6, 0(r4)
+/* 80304EE4 00300B44 90 C8 00 00 */ stw r6, 0(r8)
+/* 80304EE8 00300B48 80 C4 00 04 */ lwz r6, 4(r4)
+/* 80304EEC 00300B4C 90 C8 00 04 */ stw r6, 4(r8)
+/* 80304EF0 00300B50 80 C4 00 08 */ lwz r6, 8(r4)
+/* 80304EF4 00300B54 90 C8 00 08 */ stw r6, 8(r8)
+/* 80304EF8 00300B58 80 C4 00 0C */ lwz r6, 0xc(r4)
+/* 80304EFC 00300B5C 90 C8 00 0C */ stw r6, 0xc(r8)
+/* 80304F00 00300B60 80 C4 00 10 */ lwz r6, 0x10(r4)
+/* 80304F04 00300B64 90 C8 00 10 */ stw r6, 0x10(r8)
+/* 80304F08 00300B68 80 C4 00 14 */ lwz r6, 0x14(r4)
+/* 80304F0C 00300B6C 90 C8 00 14 */ stw r6, 0x14(r8)
+/* 80304F10 00300B70 80 C4 00 18 */ lwz r6, 0x18(r4)
+/* 80304F14 00300B74 90 C8 00 18 */ stw r6, 0x18(r8)
+/* 80304F18 00300B78 80 C4 00 1C */ lwz r6, 0x1c(r4)
+/* 80304F1C 00300B7C 38 84 00 20 */ addi r4, r4, 0x20
+/* 80304F20 00300B80 90 C8 00 1C */ stw r6, 0x1c(r8)
+/* 80304F24 00300B84 39 08 00 20 */ addi r8, r8, 0x20
+/* 80304F28 00300B88 42 00 FF B8 */ bdnz lbl_80304EE0
+/* 80304F2C 00300B8C 70 E7 00 07 */ andi. r7, r7, 7
+/* 80304F30 00300B90 41 82 00 1C */ beq lbl_80304F4C
+lbl_80304F34:
+/* 80304F34 00300B94 7C E9 03 A6 */ mtctr r7
+lbl_80304F38:
+/* 80304F38 00300B98 80 C4 00 00 */ lwz r6, 0(r4)
+/* 80304F3C 00300B9C 38 84 00 04 */ addi r4, r4, 4
+/* 80304F40 00300BA0 90 C8 00 00 */ stw r6, 0(r8)
+/* 80304F44 00300BA4 39 08 00 04 */ addi r8, r8, 4
+/* 80304F48 00300BA8 42 00 FF F0 */ bdnz lbl_80304F38
+lbl_80304F4C:
+/* 80304F4C 00300BAC 7C A5 02 14 */ add r5, r5, r0
+lbl_80304F50:
+/* 80304F50 00300BB0 2C 05 00 00 */ cmpwi r5, 0
+/* 80304F54 00300BB4 4D 82 00 20 */ beqlr
+/* 80304F58 00300BB8 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
+/* 80304F5C 00300BBC 7C 09 03 A6 */ mtctr r0
+/* 80304F60 00300BC0 41 82 00 58 */ beq lbl_80304FB8
+lbl_80304F64:
+/* 80304F64 00300BC4 88 04 00 00 */ lbz r0, 0(r4)
+/* 80304F68 00300BC8 98 08 00 00 */ stb r0, 0(r8)
+/* 80304F6C 00300BCC 88 04 00 01 */ lbz r0, 1(r4)
+/* 80304F70 00300BD0 98 08 00 01 */ stb r0, 1(r8)
+/* 80304F74 00300BD4 88 04 00 02 */ lbz r0, 2(r4)
+/* 80304F78 00300BD8 98 08 00 02 */ stb r0, 2(r8)
+/* 80304F7C 00300BDC 88 04 00 03 */ lbz r0, 3(r4)
+/* 80304F80 00300BE0 98 08 00 03 */ stb r0, 3(r8)
+/* 80304F84 00300BE4 88 04 00 04 */ lbz r0, 4(r4)
+/* 80304F88 00300BE8 98 08 00 04 */ stb r0, 4(r8)
+/* 80304F8C 00300BEC 88 04 00 05 */ lbz r0, 5(r4)
+/* 80304F90 00300BF0 98 08 00 05 */ stb r0, 5(r8)
+/* 80304F94 00300BF4 88 04 00 06 */ lbz r0, 6(r4)
+/* 80304F98 00300BF8 98 08 00 06 */ stb r0, 6(r8)
+/* 80304F9C 00300BFC 88 04 00 07 */ lbz r0, 7(r4)
+/* 80304FA0 00300C00 38 84 00 08 */ addi r4, r4, 8
+/* 80304FA4 00300C04 98 08 00 07 */ stb r0, 7(r8)
+/* 80304FA8 00300C08 39 08 00 08 */ addi r8, r8, 8
+/* 80304FAC 00300C0C 42 00 FF B8 */ bdnz lbl_80304F64
+/* 80304FB0 00300C10 70 A5 00 07 */ andi. r5, r5, 7
+/* 80304FB4 00300C14 4D 82 00 20 */ beqlr
+lbl_80304FB8:
+/* 80304FB8 00300C18 7C A9 03 A6 */ mtctr r5
+lbl_80304FBC:
+/* 80304FBC 00300C1C 88 04 00 00 */ lbz r0, 0(r4)
+/* 80304FC0 00300C20 38 84 00 01 */ addi r4, r4, 1
+/* 80304FC4 00300C24 98 08 00 00 */ stb r0, 0(r8)
+/* 80304FC8 00300C28 39 08 00 01 */ addi r8, r8, 1
+/* 80304FCC 00300C2C 42 00 FF F0 */ bdnz lbl_80304FBC
+/* 80304FD0 00300C30 4E 80 00 20 */ blr
+
+.global VFipf_memset
+VFipf_memset:
+/* 80304FD4 00300C34 7C 69 1B 78 */ mr r9, r3
+/* 80304FD8 00300C38 48 00 00 10 */ b lbl_80304FE8
+lbl_80304FDC:
+/* 80304FDC 00300C3C 98 89 00 00 */ stb r4, 0(r9)
+/* 80304FE0 00300C40 39 29 00 01 */ addi r9, r9, 1
+/* 80304FE4 00300C44 38 A5 FF FF */ addi r5, r5, -1
+lbl_80304FE8:
+/* 80304FE8 00300C48 55 20 07 BF */ clrlwi. r0, r9, 0x1e
+/* 80304FEC 00300C4C 41 82 00 0C */ beq lbl_80304FF8
+/* 80304FF0 00300C50 2C 05 00 00 */ cmpwi r5, 0
+/* 80304FF4 00300C54 40 82 FF E8 */ bne lbl_80304FDC
+lbl_80304FF8:
+/* 80304FF8 00300C58 54 87 40 2E */ slwi r7, r4, 8
+/* 80304FFC 00300C5C 28 05 00 03 */ cmplwi r5, 3
+/* 80305000 00300C60 7C 88 3B 78 */ or r8, r4, r7
+/* 80305004 00300C64 54 86 C0 0E */ slwi r6, r4, 0x18
+/* 80305008 00300C68 54 80 80 1E */ slwi r0, r4, 0x10
+/* 8030500C 00300C6C 54 A7 F0 BE */ srwi r7, r5, 2
+/* 80305010 00300C70 7C C0 03 78 */ or r0, r6, r0
+/* 80305014 00300C74 7D 08 03 78 */ or r8, r8, r0
+/* 80305018 00300C78 40 81 00 5C */ ble lbl_80305074
+/* 8030501C 00300C7C 54 E6 E8 FF */ rlwinm. r6, r7, 0x1d, 3, 0x1f
+/* 80305020 00300C80 54 E0 10 3A */ slwi r0, r7, 2
+/* 80305024 00300C84 7C 00 00 D0 */ neg r0, r0
+/* 80305028 00300C88 7C C9 03 A6 */ mtctr r6
+/* 8030502C 00300C8C 41 82 00 34 */ beq lbl_80305060
+lbl_80305030:
+/* 80305030 00300C90 91 09 00 00 */ stw r8, 0(r9)
+/* 80305034 00300C94 91 09 00 04 */ stw r8, 4(r9)
+/* 80305038 00300C98 91 09 00 08 */ stw r8, 8(r9)
+/* 8030503C 00300C9C 91 09 00 0C */ stw r8, 0xc(r9)
+/* 80305040 00300CA0 91 09 00 10 */ stw r8, 0x10(r9)
+/* 80305044 00300CA4 91 09 00 14 */ stw r8, 0x14(r9)
+/* 80305048 00300CA8 91 09 00 18 */ stw r8, 0x18(r9)
+/* 8030504C 00300CAC 91 09 00 1C */ stw r8, 0x1c(r9)
+/* 80305050 00300CB0 39 29 00 20 */ addi r9, r9, 0x20
+/* 80305054 00300CB4 42 00 FF DC */ bdnz lbl_80305030
+/* 80305058 00300CB8 70 E7 00 07 */ andi. r7, r7, 7
+/* 8030505C 00300CBC 41 82 00 14 */ beq lbl_80305070
+lbl_80305060:
+/* 80305060 00300CC0 7C E9 03 A6 */ mtctr r7
+lbl_80305064:
+/* 80305064 00300CC4 91 09 00 00 */ stw r8, 0(r9)
+/* 80305068 00300CC8 39 29 00 04 */ addi r9, r9, 4
+/* 8030506C 00300CCC 42 00 FF F8 */ bdnz lbl_80305064
+lbl_80305070:
+/* 80305070 00300CD0 7C A5 02 14 */ add r5, r5, r0
+lbl_80305074:
+/* 80305074 00300CD4 2C 05 00 00 */ cmpwi r5, 0
+/* 80305078 00300CD8 4D 82 00 20 */ beqlr
+/* 8030507C 00300CDC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
+/* 80305080 00300CE0 7C 09 03 A6 */ mtctr r0
+/* 80305084 00300CE4 41 82 00 34 */ beq lbl_803050B8
+lbl_80305088:
+/* 80305088 00300CE8 98 89 00 00 */ stb r4, 0(r9)
+/* 8030508C 00300CEC 98 89 00 01 */ stb r4, 1(r9)
+/* 80305090 00300CF0 98 89 00 02 */ stb r4, 2(r9)
+/* 80305094 00300CF4 98 89 00 03 */ stb r4, 3(r9)
+/* 80305098 00300CF8 98 89 00 04 */ stb r4, 4(r9)
+/* 8030509C 00300CFC 98 89 00 05 */ stb r4, 5(r9)
+/* 803050A0 00300D00 98 89 00 06 */ stb r4, 6(r9)
+/* 803050A4 00300D04 98 89 00 07 */ stb r4, 7(r9)
+/* 803050A8 00300D08 39 29 00 08 */ addi r9, r9, 8
+/* 803050AC 00300D0C 42 00 FF DC */ bdnz lbl_80305088
+/* 803050B0 00300D10 70 A5 00 07 */ andi. r5, r5, 7
+/* 803050B4 00300D14 4D 82 00 20 */ beqlr
+lbl_803050B8:
+/* 803050B8 00300D18 7C A9 03 A6 */ mtctr r5
+lbl_803050BC:
+/* 803050BC 00300D1C 98 89 00 00 */ stb r4, 0(r9)
+/* 803050C0 00300D20 39 29 00 01 */ addi r9, r9, 1
+/* 803050C4 00300D24 42 00 FF F8 */ bdnz lbl_803050BC
+/* 803050C8 00300D28 4E 80 00 20 */ blr
+
+.global VFipf_strlen
+VFipf_strlen:
+/* 803050CC 00300D2C 7C 64 1B 78 */ mr r4, r3
+/* 803050D0 00300D30 48 00 00 08 */ b lbl_803050D8
+lbl_803050D4:
+/* 803050D4 00300D34 38 84 00 01 */ addi r4, r4, 1
+lbl_803050D8:
+/* 803050D8 00300D38 88 04 00 00 */ lbz r0, 0(r4)
+/* 803050DC 00300D3C 7C 00 07 75 */ extsb. r0, r0
+/* 803050E0 00300D40 40 82 FF F4 */ bne lbl_803050D4
+/* 803050E4 00300D44 7C 63 20 50 */ subf r3, r3, r4
+/* 803050E8 00300D48 4E 80 00 20 */ blr
+
+.global VFipf_strcpy
+VFipf_strcpy:
+/* 803050EC 00300D4C 7C 66 1B 78 */ mr r6, r3
+/* 803050F0 00300D50 48 00 00 0C */ b lbl_803050FC
+lbl_803050F4:
+/* 803050F4 00300D54 38 84 00 01 */ addi r4, r4, 1
+/* 803050F8 00300D58 38 C6 00 01 */ addi r6, r6, 1
+lbl_803050FC:
+/* 803050FC 00300D5C 88 A4 00 00 */ lbz r5, 0(r4)
+/* 80305100 00300D60 7C A0 07 75 */ extsb. r0, r5
+/* 80305104 00300D64 98 A6 00 00 */ stb r5, 0(r6)
+/* 80305108 00300D68 40 82 FF EC */ bne lbl_803050F4
+/* 8030510C 00300D6C 4E 80 00 20 */ blr
+
+.global VFipf_strcmp
+VFipf_strcmp:
+/* 80305110 00300D70 48 00 00 0C */ b lbl_8030511C
+lbl_80305114:
+/* 80305114 00300D74 38 63 00 01 */ addi r3, r3, 1
+/* 80305118 00300D78 38 84 00 01 */ addi r4, r4, 1
+lbl_8030511C:
+/* 8030511C 00300D7C 88 A3 00 00 */ lbz r5, 0(r3)
+/* 80305120 00300D80 2C 05 00 00 */ cmpwi r5, 0
+/* 80305124 00300D84 41 82 00 18 */ beq lbl_8030513C
+/* 80305128 00300D88 88 04 00 00 */ lbz r0, 0(r4)
+/* 8030512C 00300D8C 2C 00 00 00 */ cmpwi r0, 0
+/* 80305130 00300D90 41 82 00 0C */ beq lbl_8030513C
+/* 80305134 00300D94 7C 05 00 40 */ cmplw r5, r0
+/* 80305138 00300D98 41 82 FF DC */ beq lbl_80305114
+lbl_8030513C:
+/* 8030513C 00300D9C 88 04 00 00 */ lbz r0, 0(r4)
+/* 80305140 00300DA0 7C 60 28 50 */ subf r3, r0, r5
+/* 80305144 00300DA4 4E 80 00 20 */ blr
+
+.global VFipf_strncmp
+VFipf_strncmp:
+/* 80305148 00300DA8 7C A9 03 A6 */ mtctr r5
+/* 8030514C 00300DAC 2C 05 00 00 */ cmpwi r5, 0
+/* 80305150 00300DB0 41 82 00 3C */ beq lbl_8030518C
+lbl_80305154:
+/* 80305154 00300DB4 88 A3 00 00 */ lbz r5, 0(r3)
+/* 80305158 00300DB8 2C 05 00 00 */ cmpwi r5, 0
+/* 8030515C 00300DBC 41 82 00 18 */ beq lbl_80305174
+/* 80305160 00300DC0 88 04 00 00 */ lbz r0, 0(r4)
+/* 80305164 00300DC4 2C 00 00 00 */ cmpwi r0, 0
+/* 80305168 00300DC8 41 82 00 0C */ beq lbl_80305174
+/* 8030516C 00300DCC 7C 05 00 40 */ cmplw r5, r0
+/* 80305170 00300DD0 41 82 00 10 */ beq lbl_80305180
+lbl_80305174:
+/* 80305174 00300DD4 88 04 00 00 */ lbz r0, 0(r4)
+/* 80305178 00300DD8 7C 60 28 50 */ subf r3, r0, r5
+/* 8030517C 00300DDC 4E 80 00 20 */ blr
+lbl_80305180:
+/* 80305180 00300DE0 38 63 00 01 */ addi r3, r3, 1
+/* 80305184 00300DE4 38 84 00 01 */ addi r4, r4, 1
+/* 80305188 00300DE8 42 00 FF CC */ bdnz lbl_80305154
+lbl_8030518C:
+/* 8030518C 00300DEC 38 60 00 00 */ li r3, 0
+/* 80305190 00300DF0 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_cluster.s b/asm/SDK/VF/pf_cluster.s new file mode 100644 index 0000000..8719855 --- /dev/null +++ b/asm/SDK/VF/pf_cluster.s @@ -0,0 +1,350 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFCLUSTER_UpdateLastAccessCluster
+VFiPFCLUSTER_UpdateLastAccessCluster:
+/* 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 VFiPFCLUSTER_AppendCluster
+VFiPFCLUSTER_AppendCluster:
+/* 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 VFiPFFILE_Cursor_MoveToClusterEnd
+/* 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 VFiPFFAT_GetSectorAllocated
+/* 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 VFiPFCLUSTER_GetAppendSize
+VFiPFCLUSTER_GetAppendSize:
+/* 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 VFiPFFAT_TraceClustersChain
+/* 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 VFiPFFAT_GetValueOfEOC2
+/* 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 VFiPFFAT_ReadValueToSpecifiedCluster
+/* 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
diff --git a/asm/SDK/VF/pf_code.s b/asm/SDK/VF/pf_code.s new file mode 100644 index 0000000..d87822a --- /dev/null +++ b/asm/SDK/VF/pf_code.s @@ -0,0 +1,16 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFCODE_Combine_Width
+VFiPFCODE_Combine_Width:
+/* 80305194 00300DF4 54 60 80 1E */ slwi r0, r3, 0x10
+/* 80305198 00300DF8 7C 60 22 14 */ add r3, r0, r4
+/* 8030519C 00300DFC 4E 80 00 20 */ blr
+
+.global VFiPFCODE_Divide_Width
+VFiPFCODE_Divide_Width:
+/* 803051A0 00300E00 54 60 84 3E */ srwi r0, r3, 0x10
+/* 803051A4 00300E04 B0 04 00 00 */ sth r0, 0(r4)
+/* 803051A8 00300E08 B0 65 00 00 */ sth r3, 0(r5)
+/* 803051AC 00300E0C 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_cp932.s b/asm/SDK/VF/pf_cp932.s new file mode 100644 index 0000000..2dcc524 --- /dev/null +++ b/asm/SDK/VF/pf_cp932.s @@ -0,0 +1,381 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFCODE_CP932_OEM2Unicode
+VFiPFCODE_CP932_OEM2Unicode:
+/* 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 VFiPFCODE_CP932_Unicode2OEM
+VFiPFCODE_CP932_Unicode2OEM:
+/* 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
+
+.global VFiPFCODE_CP932_OEMCharWidth
+VFiPFCODE_CP932_OEMCharWidth:
+/* 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 VFiPFCODE_CP932_OEM2Unicode
+/* 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
+
+.global VFiPFCODE_CP932_isOEMMBchar
+VFiPFCODE_CP932_isOEMMBchar:
+/* 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
+
+.global VFiPFCODE_CP932_UnicodeCharWidth
+VFiPFCODE_CP932_UnicodeCharWidth:
+/* 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 VFiPFCODE_CP932_Unicode2OEM
+/* 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
+
+.global VFiPFCODE_CP932_isUnicodeMBchar
+VFiPFCODE_CP932_isUnicodeMBchar:
+/* 8031A108 00315D68 38 60 00 00 */ li r3, 0
+/* 8031A10C 00315D6C 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_dir.s b/asm/SDK/VF/pf_dir.s new file mode 100644 index 0000000..96a4886 --- /dev/null +++ b/asm/SDK/VF/pf_dir.s @@ -0,0 +1,43 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFDIR_FinalizeAllDirs
+VFiPFDIR_FinalizeAllDirs:
+/* 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 VFiPFFAT_FinalizeFFD
+/* 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
diff --git a/asm/SDK/VF/pf_driver.s b/asm/SDK/VF/pf_driver.s new file mode 100644 index 0000000..6984a5e --- /dev/null +++ b/asm/SDK/VF/pf_driver.s @@ -0,0 +1,726 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFDRV_GetBPBInformation
+VFiPFDRV_GetBPBInformation:
+/* 803058F4 00301554 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 803058F8 00301558 7C 08 02 A6 */ mflr r0
+/* 803058FC 0030155C 90 01 00 84 */ stw r0, 0x84(r1)
+/* 80305900 00301560 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 80305904 00301564 7C 9F 23 78 */ mr r31, r4
+/* 80305908 00301568 38 81 00 08 */ addi r4, r1, 8
+/* 8030590C 0030156C 48 00 0A 89 */ bl VFipdm_bpb_get_bpb_information
+/* 80305910 00301570 2C 03 00 00 */ cmpwi r3, 0
+/* 80305914 00301574 41 82 00 0C */ beq lbl_80305920
+/* 80305918 00301578 38 60 00 07 */ li r3, 7
+/* 8030591C 0030157C 48 00 00 B0 */ b lbl_803059CC
+lbl_80305920:
+/* 80305920 00301580 A0 01 00 10 */ lhz r0, 0x10(r1)
+/* 80305924 00301584 38 60 00 00 */ li r3, 0
+/* 80305928 00301588 B0 1F 00 00 */ sth r0, 0(r31)
+/* 8030592C 0030158C A0 01 00 14 */ lhz r0, 0x14(r1)
+/* 80305930 00301590 B0 1F 00 02 */ sth r0, 2(r31)
+/* 80305934 00301594 A0 01 00 16 */ lhz r0, 0x16(r1)
+/* 80305938 00301598 B0 1F 00 04 */ sth r0, 4(r31)
+/* 8030593C 0030159C 88 01 00 12 */ lbz r0, 0x12(r1)
+/* 80305940 003015A0 98 1F 00 06 */ stb r0, 6(r31)
+/* 80305944 003015A4 88 01 00 13 */ lbz r0, 0x13(r1)
+/* 80305948 003015A8 98 1F 00 07 */ stb r0, 7(r31)
+/* 8030594C 003015AC 80 01 00 70 */ lwz r0, 0x70(r1)
+/* 80305950 003015B0 90 1F 00 08 */ stw r0, 8(r31)
+/* 80305954 003015B4 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 80305958 003015B8 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8030595C 003015BC 80 01 00 4C */ lwz r0, 0x4c(r1)
+/* 80305960 003015C0 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 80305964 003015C4 A0 01 00 50 */ lhz r0, 0x50(r1)
+/* 80305968 003015C8 B0 1F 00 14 */ sth r0, 0x14(r31)
+/* 8030596C 003015CC A0 01 00 52 */ lhz r0, 0x52(r1)
+/* 80305970 003015D0 B0 1F 00 16 */ sth r0, 0x16(r31)
+/* 80305974 003015D4 A0 01 00 48 */ lhz r0, 0x48(r1)
+/* 80305978 003015D8 B0 1F 00 18 */ sth r0, 0x18(r31)
+/* 8030597C 003015DC 88 01 00 2A */ lbz r0, 0x2a(r1)
+/* 80305980 003015E0 98 1F 00 1A */ stb r0, 0x1a(r31)
+/* 80305984 003015E4 80 01 00 58 */ lwz r0, 0x58(r1)
+/* 80305988 003015E8 90 1F 00 1C */ stw r0, 0x1c(r31)
+/* 8030598C 003015EC 88 01 00 5C */ lbz r0, 0x5c(r1)
+/* 80305990 003015F0 98 1F 00 20 */ stb r0, 0x20(r31)
+/* 80305994 003015F4 88 01 00 5D */ lbz r0, 0x5d(r1)
+/* 80305998 003015F8 98 1F 00 21 */ stb r0, 0x21(r31)
+/* 8030599C 003015FC 88 01 00 57 */ lbz r0, 0x57(r1)
+/* 803059A0 00301600 98 1F 00 22 */ stb r0, 0x22(r31)
+/* 803059A4 00301604 A0 01 00 5E */ lhz r0, 0x5e(r1)
+/* 803059A8 00301608 B0 1F 00 24 */ sth r0, 0x24(r31)
+/* 803059AC 0030160C 80 01 00 60 */ lwz r0, 0x60(r1)
+/* 803059B0 00301610 90 1F 00 28 */ stw r0, 0x28(r31)
+/* 803059B4 00301614 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 803059B8 00301618 90 1F 00 2C */ stw r0, 0x2c(r31)
+/* 803059BC 0030161C 80 01 00 68 */ lwz r0, 0x68(r1)
+/* 803059C0 00301620 90 1F 00 30 */ stw r0, 0x30(r31)
+/* 803059C4 00301624 80 01 00 6C */ lwz r0, 0x6c(r1)
+/* 803059C8 00301628 90 1F 00 34 */ stw r0, 0x34(r31)
+lbl_803059CC:
+/* 803059CC 0030162C 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 803059D0 00301630 83 E1 00 7C */ lwz r31, 0x7c(r1)
+/* 803059D4 00301634 7C 08 03 A6 */ mtlr r0
+/* 803059D8 00301638 38 21 00 80 */ addi r1, r1, 0x80
+/* 803059DC 0030163C 4E 80 00 20 */ blr
+
+.global VFiPFDRV_GetFSINFOInformation
+VFiPFDRV_GetFSINFOInformation:
+/* 803059E0 00301640 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803059E4 00301644 7C 08 02 A6 */ mflr r0
+/* 803059E8 00301648 38 80 FF FF */ li r4, -1
+/* 803059EC 0030164C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803059F0 00301650 38 A1 00 10 */ addi r5, r1, 0x10
+/* 803059F4 00301654 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 803059F8 00301658 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 803059FC 0030165C 7C 7E 1B 78 */ mr r30, r3
+/* 80305A00 00301660 48 00 4C B9 */ bl VFiPFCACHE_AllocateDataPage
+/* 80305A04 00301664 2C 03 00 00 */ cmpwi r3, 0
+/* 80305A08 00301668 41 82 00 08 */ beq lbl_80305A10
+/* 80305A0C 0030166C 48 00 01 78 */ b lbl_80305B84
+lbl_80305A10:
+/* 80305A10 00301670 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305A14 00301674 39 01 00 0C */ addi r8, r1, 0xc
+/* 80305A18 00301678 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80305A1C 0030167C 38 C0 00 01 */ li r6, 1
+/* 80305A20 00301680 80 84 00 04 */ lwz r4, 4(r4)
+/* 80305A24 00301684 A0 BE 00 14 */ lhz r5, 0x14(r30)
+/* 80305A28 00301688 A0 FE 00 00 */ lhz r7, 0(r30)
+/* 80305A2C 0030168C 48 00 25 AD */ bl VFipdm_part_logical_read
+/* 80305A30 00301690 2C 03 00 00 */ cmpwi r3, 0
+/* 80305A34 00301694 41 82 00 50 */ beq lbl_80305A84
+/* 80305A38 00301698 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80305A3C 0030169C 40 82 00 24 */ bne lbl_80305A60
+/* 80305A40 003016A0 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80305A44 003016A4 48 00 2D 91 */ bl VFipdm_part_get_driver_error_code
+/* 80305A48 003016A8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80305A4C 003016AC 3B E0 10 00 */ li r31, 0x1000
+/* 80305A50 003016B0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80305A54 003016B4 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80305A58 003016B8 90 7E 18 70 */ stw r3, 0x1870(r30)
+/* 80305A5C 003016BC 48 00 00 08 */ b lbl_80305A64
+lbl_80305A60:
+/* 80305A60 003016C0 3B E0 FF FF */ li r31, -1
+lbl_80305A64:
+/* 80305A64 003016C4 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305A68 003016C8 7F C3 F3 78 */ mr r3, r30
+/* 80305A6C 003016CC 48 00 4D 51 */ bl VFiPFCACHE_FreeDataPage
+/* 80305A70 003016D0 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80305A74 003016D4 38 80 00 01 */ li r4, 1
+/* 80305A78 003016D8 48 00 22 89 */ bl VFipdm_part_release_permission
+/* 80305A7C 003016DC 7F E3 FB 78 */ mr r3, r31
+/* 80305A80 003016E0 48 00 01 04 */ b lbl_80305B84
+lbl_80305A84:
+/* 80305A84 003016E4 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 80305A88 003016E8 38 81 00 08 */ addi r4, r1, 8
+/* 80305A8C 003016EC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80305A90 003016F0 48 00 0F E5 */ bl VFipdm_bpb_check_fsinfo_sector
+/* 80305A94 003016F4 2C 03 00 00 */ cmpwi r3, 0
+/* 80305A98 003016F8 41 82 00 24 */ beq lbl_80305ABC
+/* 80305A9C 003016FC 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305AA0 00301700 7F C3 F3 78 */ mr r3, r30
+/* 80305AA4 00301704 48 00 4D 19 */ bl VFiPFCACHE_FreeDataPage
+/* 80305AA8 00301708 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80305AAC 0030170C 38 80 00 01 */ li r4, 1
+/* 80305AB0 00301710 48 00 22 51 */ bl VFipdm_part_release_permission
+/* 80305AB4 00301714 38 60 FF FF */ li r3, -1
+/* 80305AB8 00301718 48 00 00 CC */ b lbl_80305B84
+lbl_80305ABC:
+/* 80305ABC 0030171C 80 01 00 08 */ lwz r0, 8(r1)
+/* 80305AC0 00301720 2C 00 00 00 */ cmpwi r0, 0
+/* 80305AC4 00301724 40 82 00 24 */ bne lbl_80305AE8
+/* 80305AC8 00301728 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305ACC 0030172C 7F C3 F3 78 */ mr r3, r30
+/* 80305AD0 00301730 48 00 4C ED */ bl VFiPFCACHE_FreeDataPage
+/* 80305AD4 00301734 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80305AD8 00301738 38 80 00 01 */ li r4, 1
+/* 80305ADC 0030173C 48 00 22 25 */ bl VFipdm_part_release_permission
+/* 80305AE0 00301740 38 60 00 07 */ li r3, 7
+/* 80305AE4 00301744 48 00 00 A0 */ b lbl_80305B84
+lbl_80305AE8:
+/* 80305AE8 00301748 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 80305AEC 0030174C 38 81 00 18 */ addi r4, r1, 0x18
+/* 80305AF0 00301750 80 63 00 04 */ lwz r3, 4(r3)
+/* 80305AF4 00301754 48 00 0D D9 */ bl VFipdm_bpb_get_fsinfo_information
+/* 80305AF8 00301758 2C 03 00 00 */ cmpwi r3, 0
+/* 80305AFC 0030175C 41 82 00 0C */ beq lbl_80305B08
+/* 80305B00 00301760 38 00 00 07 */ li r0, 7
+/* 80305B04 00301764 48 00 00 48 */ b lbl_80305B4C
+lbl_80305B08:
+/* 80305B08 00301768 80 81 00 18 */ lwz r4, 0x18(r1)
+/* 80305B0C 0030176C 28 04 00 02 */ cmplwi r4, 2
+/* 80305B10 00301770 41 80 00 18 */ blt lbl_80305B28
+/* 80305B14 00301774 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80305B18 00301778 38 03 00 02 */ addi r0, r3, 2
+/* 80305B1C 0030177C 7C 04 00 40 */ cmplw r4, r0
+/* 80305B20 00301780 40 80 00 08 */ bge lbl_80305B28
+/* 80305B24 00301784 90 9E 00 38 */ stw r4, 0x38(r30)
+lbl_80305B28:
+/* 80305B28 00301788 80 81 00 1C */ lwz r4, 0x1c(r1)
+/* 80305B2C 0030178C 28 04 00 02 */ cmplwi r4, 2
+/* 80305B30 00301790 41 80 00 18 */ blt lbl_80305B48
+/* 80305B34 00301794 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80305B38 00301798 38 03 00 02 */ addi r0, r3, 2
+/* 80305B3C 0030179C 7C 04 00 40 */ cmplw r4, r0
+/* 80305B40 003017A0 40 80 00 08 */ bge lbl_80305B48
+/* 80305B44 003017A4 90 9E 00 3C */ stw r4, 0x3c(r30)
+lbl_80305B48:
+/* 80305B48 003017A8 38 00 00 00 */ li r0, 0
+lbl_80305B4C:
+/* 80305B4C 003017AC 2C 00 00 00 */ cmpwi r0, 0
+/* 80305B50 003017B0 41 82 00 24 */ beq lbl_80305B74
+/* 80305B54 003017B4 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305B58 003017B8 7F C3 F3 78 */ mr r3, r30
+/* 80305B5C 003017BC 48 00 4C 61 */ bl VFiPFCACHE_FreeDataPage
+/* 80305B60 003017C0 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80305B64 003017C4 38 80 00 01 */ li r4, 1
+/* 80305B68 003017C8 48 00 21 99 */ bl VFipdm_part_release_permission
+/* 80305B6C 003017CC 38 60 FF FF */ li r3, -1
+/* 80305B70 003017D0 48 00 00 14 */ b lbl_80305B84
+lbl_80305B74:
+/* 80305B74 003017D4 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305B78 003017D8 7F C3 F3 78 */ mr r3, r30
+/* 80305B7C 003017DC 48 00 4C 41 */ bl VFiPFCACHE_FreeDataPage
+/* 80305B80 003017E0 38 60 00 00 */ li r3, 0
+lbl_80305B84:
+/* 80305B84 003017E4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80305B88 003017E8 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80305B8C 003017EC 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80305B90 003017F0 7C 08 03 A6 */ mtlr r0
+/* 80305B94 003017F4 38 21 00 30 */ addi r1, r1, 0x30
+/* 80305B98 003017F8 4E 80 00 20 */ blr
+
+.global VFiPFDRV_StoreFreeCountToFSINFO
+VFiPFDRV_StoreFreeCountToFSINFO:
+/* 80305B9C 003017FC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80305BA0 00301800 7C 08 02 A6 */ mflr r0
+/* 80305BA4 00301804 38 80 FF FF */ li r4, -1
+/* 80305BA8 00301808 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80305BAC 0030180C 38 A1 00 0C */ addi r5, r1, 0xc
+/* 80305BB0 00301810 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80305BB4 00301814 7C 7F 1B 78 */ mr r31, r3
+/* 80305BB8 00301818 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80305BBC 0030181C 48 00 4A FD */ bl VFiPFCACHE_AllocateDataPage
+/* 80305BC0 00301820 2C 03 00 00 */ cmpwi r3, 0
+/* 80305BC4 00301824 41 82 00 08 */ beq lbl_80305BCC
+/* 80305BC8 00301828 48 00 01 70 */ b lbl_80305D38
+lbl_80305BCC:
+/* 80305BCC 0030182C 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80305BD0 00301830 2C 1F 00 00 */ cmpwi r31, 0
+/* 80305BD4 00301834 A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 80305BD8 00301838 80 83 00 08 */ lwz r4, 8(r3)
+/* 80305BDC 0030183C 40 82 00 0C */ bne lbl_80305BE8
+/* 80305BE0 00301840 3B C0 00 0A */ li r30, 0xa
+/* 80305BE4 00301844 48 00 00 54 */ b lbl_80305C38
+lbl_80305BE8:
+/* 80305BE8 00301848 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305BEC 0030184C 39 01 00 08 */ addi r8, r1, 8
+/* 80305BF0 00301850 A0 FF 00 00 */ lhz r7, 0(r31)
+/* 80305BF4 00301854 38 C0 00 01 */ li r6, 1
+/* 80305BF8 00301858 48 00 23 E1 */ bl VFipdm_part_logical_read
+/* 80305BFC 0030185C 2C 03 00 00 */ cmpwi r3, 0
+/* 80305C00 00301860 41 82 00 34 */ beq lbl_80305C34
+/* 80305C04 00301864 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80305C08 00301868 40 82 00 24 */ bne lbl_80305C2C
+/* 80305C0C 0030186C 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305C10 00301870 48 00 2B C5 */ bl VFipdm_part_get_driver_error_code
+/* 80305C14 00301874 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80305C18 00301878 3B C0 10 00 */ li r30, 0x1000
+/* 80305C1C 0030187C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80305C20 00301880 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80305C24 00301884 90 7F 18 70 */ stw r3, 0x1870(r31)
+/* 80305C28 00301888 48 00 00 10 */ b lbl_80305C38
+lbl_80305C2C:
+/* 80305C2C 0030188C 3B C0 FF FF */ li r30, -1
+/* 80305C30 00301890 48 00 00 08 */ b lbl_80305C38
+lbl_80305C34:
+/* 80305C34 00301894 3B C0 00 00 */ li r30, 0
+lbl_80305C38:
+/* 80305C38 00301898 2C 1E 00 00 */ cmpwi r30, 0
+/* 80305C3C 0030189C 40 82 00 10 */ bne lbl_80305C4C
+/* 80305C40 003018A0 80 01 00 08 */ lwz r0, 8(r1)
+/* 80305C44 003018A4 28 00 00 01 */ cmplwi r0, 1
+/* 80305C48 003018A8 41 82 00 08 */ beq lbl_80305C50
+lbl_80305C4C:
+/* 80305C4C 003018AC 3B C0 00 11 */ li r30, 0x11
+lbl_80305C50:
+/* 80305C50 003018B0 2C 1E 00 00 */ cmpwi r30, 0
+/* 80305C54 003018B4 40 82 00 D4 */ bne lbl_80305D28
+/* 80305C58 003018B8 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80305C5C 003018BC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80305C60 003018C0 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 80305C64 003018C4 80 63 00 08 */ lwz r3, 8(r3)
+/* 80305C68 003018C8 98 03 01 E8 */ stb r0, 0x1e8(r3)
+/* 80305C6C 003018CC 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80305C70 003018D0 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 80305C74 003018D4 80 63 00 08 */ lwz r3, 8(r3)
+/* 80305C78 003018D8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 80305C7C 003018DC 98 03 01 E9 */ stb r0, 0x1e9(r3)
+/* 80305C80 003018E0 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80305C84 003018E4 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 80305C88 003018E8 80 63 00 08 */ lwz r3, 8(r3)
+/* 80305C8C 003018EC 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 80305C90 003018F0 98 03 01 EA */ stb r0, 0x1ea(r3)
+/* 80305C94 003018F4 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80305C98 003018F8 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 80305C9C 003018FC 80 63 00 08 */ lwz r3, 8(r3)
+/* 80305CA0 00301900 54 00 46 3E */ srwi r0, r0, 0x18
+/* 80305CA4 00301904 98 03 01 EB */ stb r0, 0x1eb(r3)
+/* 80305CA8 00301908 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80305CAC 0030190C A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 80305CB0 00301910 80 83 00 08 */ lwz r4, 8(r3)
+/* 80305CB4 00301914 40 82 00 0C */ bne lbl_80305CC0
+/* 80305CB8 00301918 3B C0 00 0A */ li r30, 0xa
+/* 80305CBC 0030191C 48 00 00 54 */ b lbl_80305D10
+lbl_80305CC0:
+/* 80305CC0 00301920 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305CC4 00301924 39 01 00 08 */ addi r8, r1, 8
+/* 80305CC8 00301928 A0 FF 00 00 */ lhz r7, 0(r31)
+/* 80305CCC 0030192C 38 C0 00 01 */ li r6, 1
+/* 80305CD0 00301930 48 00 24 D1 */ bl VFipdm_part_logical_write
+/* 80305CD4 00301934 2C 03 00 00 */ cmpwi r3, 0
+/* 80305CD8 00301938 41 82 00 34 */ beq lbl_80305D0C
+/* 80305CDC 0030193C 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80305CE0 00301940 40 82 00 24 */ bne lbl_80305D04
+/* 80305CE4 00301944 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305CE8 00301948 48 00 2A ED */ bl VFipdm_part_get_driver_error_code
+/* 80305CEC 0030194C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80305CF0 00301950 3B C0 10 00 */ li r30, 0x1000
+/* 80305CF4 00301954 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80305CF8 00301958 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80305CFC 0030195C 90 7F 18 70 */ stw r3, 0x1870(r31)
+/* 80305D00 00301960 48 00 00 10 */ b lbl_80305D10
+lbl_80305D04:
+/* 80305D04 00301964 3B C0 FF FF */ li r30, -1
+/* 80305D08 00301968 48 00 00 08 */ b lbl_80305D10
+lbl_80305D0C:
+/* 80305D0C 0030196C 3B C0 00 00 */ li r30, 0
+lbl_80305D10:
+/* 80305D10 00301970 2C 1E 00 00 */ cmpwi r30, 0
+/* 80305D14 00301974 40 82 00 10 */ bne lbl_80305D24
+/* 80305D18 00301978 80 01 00 08 */ lwz r0, 8(r1)
+/* 80305D1C 0030197C 28 00 00 01 */ cmplwi r0, 1
+/* 80305D20 00301980 41 82 00 08 */ beq lbl_80305D28
+lbl_80305D24:
+/* 80305D24 00301984 3B C0 00 11 */ li r30, 0x11
+lbl_80305D28:
+/* 80305D28 00301988 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 80305D2C 0030198C 7F E3 FB 78 */ mr r3, r31
+/* 80305D30 00301990 48 00 4A 8D */ bl VFiPFCACHE_FreeDataPage
+/* 80305D34 00301994 7F C3 F3 78 */ mr r3, r30
+lbl_80305D38:
+/* 80305D38 00301998 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80305D3C 0030199C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80305D40 003019A0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80305D44 003019A4 7C 08 03 A6 */ mtlr r0
+/* 80305D48 003019A8 38 21 00 20 */ addi r1, r1, 0x20
+/* 80305D4C 003019AC 4E 80 00 20 */ blr
+
+.global VFiPFDRV_IsInserted
+VFiPFDRV_IsInserted:
+/* 80305D50 003019B0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80305D54 003019B4 7C 08 02 A6 */ mflr r0
+/* 80305D58 003019B8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80305D5C 003019BC 38 81 00 08 */ addi r4, r1, 8
+/* 80305D60 003019C0 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 80305D64 003019C4 48 00 28 35 */ bl VFipdm_part_check_media_insert
+/* 80305D68 003019C8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80305D6C 003019CC 80 61 00 08 */ lwz r3, 8(r1)
+/* 80305D70 003019D0 7C 08 03 A6 */ mtlr r0
+/* 80305D74 003019D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80305D78 003019D8 4E 80 00 20 */ blr
+
+.global VFiPFDRV_IsDetected
+VFiPFDRV_IsDetected:
+/* 80305D7C 003019DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80305D80 003019E0 7C 08 02 A6 */ mflr r0
+/* 80305D84 003019E4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80305D88 003019E8 38 81 00 08 */ addi r4, r1, 8
+/* 80305D8C 003019EC 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 80305D90 003019F0 48 00 29 19 */ bl VFipdm_part_check_media_detect
+/* 80305D94 003019F4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80305D98 003019F8 80 61 00 08 */ lwz r3, 8(r1)
+/* 80305D9C 003019FC 7C 08 03 A6 */ mtlr r0
+/* 80305DA0 00301A00 38 21 00 10 */ addi r1, r1, 0x10
+/* 80305DA4 00301A04 4E 80 00 20 */ blr
+
+.global VFiPFDRV_IsWProtected
+VFiPFDRV_IsWProtected:
+/* 80305DA8 00301A08 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80305DAC 00301A0C 7C 08 02 A6 */ mflr r0
+/* 80305DB0 00301A10 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80305DB4 00301A14 38 81 00 08 */ addi r4, r1, 8
+/* 80305DB8 00301A18 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 80305DBC 00301A1C 48 00 26 CD */ bl VFipdm_part_check_media_write_protect
+/* 80305DC0 00301A20 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80305DC4 00301A24 80 61 00 08 */ lwz r3, 8(r1)
+/* 80305DC8 00301A28 7C 08 03 A6 */ mtlr r0
+/* 80305DCC 00301A2C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80305DD0 00301A30 4E 80 00 20 */ blr
+
+.global VFiPFDRV_mount
+VFiPFDRV_mount:
+/* 80305DD4 00301A34 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80305DD8 00301A38 7C 08 02 A6 */ mflr r0
+/* 80305DDC 00301A3C 2C 03 00 00 */ cmpwi r3, 0
+/* 80305DE0 00301A40 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80305DE4 00301A44 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80305DE8 00301A48 7C 7F 1B 78 */ mr r31, r3
+/* 80305DEC 00301A4C 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80305DF0 00301A50 40 82 00 0C */ bne lbl_80305DFC
+/* 80305DF4 00301A54 38 60 00 0A */ li r3, 0xa
+/* 80305DF8 00301A58 48 00 01 FC */ b lbl_80305FF4
+lbl_80305DFC:
+/* 80305DFC 00301A5C 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 80305E00 00301A60 48 00 1D 1D */ bl VFipdm_part_get_permission
+/* 80305E04 00301A64 2C 03 00 00 */ cmpwi r3, 0
+/* 80305E08 00301A68 41 82 00 34 */ beq lbl_80305E3C
+/* 80305E0C 00301A6C 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80305E10 00301A70 40 82 00 24 */ bne lbl_80305E34
+/* 80305E14 00301A74 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305E18 00301A78 48 00 29 BD */ bl VFipdm_part_get_driver_error_code
+/* 80305E1C 00301A7C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80305E20 00301A80 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80305E24 00301A84 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80305E28 00301A88 90 7F 18 70 */ stw r3, 0x1870(r31)
+/* 80305E2C 00301A8C 38 60 10 00 */ li r3, 0x1000
+/* 80305E30 00301A90 48 00 01 C4 */ b lbl_80305FF4
+lbl_80305E34:
+/* 80305E34 00301A94 38 60 FF FF */ li r3, -1
+/* 80305E38 00301A98 48 00 01 BC */ b lbl_80305FF4
+lbl_80305E3C:
+/* 80305E3C 00301A9C 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305E40 00301AA0 38 81 00 14 */ addi r4, r1, 0x14
+/* 80305E44 00301AA4 48 00 25 25 */ bl VFipdm_part_get_media_information
+/* 80305E48 00301AA8 2C 03 00 00 */ cmpwi r3, 0
+/* 80305E4C 00301AAC 41 82 00 18 */ beq lbl_80305E64
+/* 80305E50 00301AB0 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305E54 00301AB4 38 80 00 01 */ li r4, 1
+/* 80305E58 00301AB8 48 00 1E A9 */ bl VFipdm_part_release_permission
+/* 80305E5C 00301ABC 38 60 FF FF */ li r3, -1
+/* 80305E60 00301AC0 48 00 01 94 */ b lbl_80305FF4
+lbl_80305E64:
+/* 80305E64 00301AC4 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80305E68 00301AC8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80305E6C 00301ACC 41 82 00 18 */ beq lbl_80305E84
+/* 80305E70 00301AD0 A0 1F 18 78 */ lhz r0, 0x1878(r31)
+/* 80305E74 00301AD4 80 61 00 24 */ lwz r3, 0x24(r1)
+/* 80305E78 00301AD8 60 00 00 10 */ ori r0, r0, 0x10
+/* 80305E7C 00301ADC B0 1F 18 78 */ sth r0, 0x1878(r31)
+/* 80305E80 00301AE0 90 7F 18 94 */ stw r3, 0x1894(r31)
+lbl_80305E84:
+/* 80305E84 00301AE4 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80305E88 00301AE8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 80305E8C 00301AEC 41 82 00 10 */ beq lbl_80305E9C
+/* 80305E90 00301AF0 A0 1F 18 78 */ lhz r0, 0x1878(r31)
+/* 80305E94 00301AF4 60 00 00 20 */ ori r0, r0, 0x20
+/* 80305E98 00301AF8 B0 1F 18 78 */ sth r0, 0x1878(r31)
+lbl_80305E9C:
+/* 80305E9C 00301AFC 7F E3 FB 78 */ mr r3, r31
+/* 80305EA0 00301B00 38 A1 00 10 */ addi r5, r1, 0x10
+/* 80305EA4 00301B04 38 80 FF FF */ li r4, -1
+/* 80305EA8 00301B08 48 00 48 11 */ bl VFiPFCACHE_AllocateDataPage
+/* 80305EAC 00301B0C 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305EB0 00301B10 39 01 00 0C */ addi r8, r1, 0xc
+/* 80305EB4 00301B14 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305EB8 00301B18 38 A0 00 00 */ li r5, 0
+/* 80305EBC 00301B1C 80 84 00 04 */ lwz r4, 4(r4)
+/* 80305EC0 00301B20 38 C0 00 01 */ li r6, 1
+/* 80305EC4 00301B24 38 E0 02 00 */ li r7, 0x200
+/* 80305EC8 00301B28 48 00 21 11 */ bl VFipdm_part_logical_read
+/* 80305ECC 00301B2C 2C 03 00 00 */ cmpwi r3, 0
+/* 80305ED0 00301B30 41 82 00 50 */ beq lbl_80305F20
+/* 80305ED4 00301B34 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80305ED8 00301B38 40 82 00 24 */ bne lbl_80305EFC
+/* 80305EDC 00301B3C 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305EE0 00301B40 48 00 28 F5 */ bl VFipdm_part_get_driver_error_code
+/* 80305EE4 00301B44 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80305EE8 00301B48 3B C0 10 00 */ li r30, 0x1000
+/* 80305EEC 00301B4C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80305EF0 00301B50 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80305EF4 00301B54 90 7F 18 70 */ stw r3, 0x1870(r31)
+/* 80305EF8 00301B58 48 00 00 08 */ b lbl_80305F00
+lbl_80305EFC:
+/* 80305EFC 00301B5C 3B C0 FF FF */ li r30, -1
+lbl_80305F00:
+/* 80305F00 00301B60 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305F04 00301B64 7F E3 FB 78 */ mr r3, r31
+/* 80305F08 00301B68 48 00 48 B5 */ bl VFiPFCACHE_FreeDataPage
+/* 80305F0C 00301B6C 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305F10 00301B70 38 80 00 01 */ li r4, 1
+/* 80305F14 00301B74 48 00 1D ED */ bl VFipdm_part_release_permission
+/* 80305F18 00301B78 7F C3 F3 78 */ mr r3, r30
+/* 80305F1C 00301B7C 48 00 00 D8 */ b lbl_80305FF4
+lbl_80305F20:
+/* 80305F20 00301B80 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 80305F24 00301B84 38 81 00 08 */ addi r4, r1, 8
+/* 80305F28 00301B88 80 63 00 04 */ lwz r3, 4(r3)
+/* 80305F2C 00301B8C 48 00 0A 01 */ bl VFipdm_bpb_check_boot_sector
+/* 80305F30 00301B90 2C 03 00 00 */ cmpwi r3, 0
+/* 80305F34 00301B94 41 82 00 24 */ beq lbl_80305F58
+/* 80305F38 00301B98 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305F3C 00301B9C 7F E3 FB 78 */ mr r3, r31
+/* 80305F40 00301BA0 48 00 48 7D */ bl VFiPFCACHE_FreeDataPage
+/* 80305F44 00301BA4 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305F48 00301BA8 38 80 00 01 */ li r4, 1
+/* 80305F4C 00301BAC 48 00 1D B5 */ bl VFipdm_part_release_permission
+/* 80305F50 00301BB0 38 60 FF FF */ li r3, -1
+/* 80305F54 00301BB4 48 00 00 A0 */ b lbl_80305FF4
+lbl_80305F58:
+/* 80305F58 00301BB8 80 01 00 08 */ lwz r0, 8(r1)
+/* 80305F5C 00301BBC 2C 00 00 00 */ cmpwi r0, 0
+/* 80305F60 00301BC0 40 82 00 24 */ bne lbl_80305F84
+/* 80305F64 00301BC4 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305F68 00301BC8 7F E3 FB 78 */ mr r3, r31
+/* 80305F6C 00301BCC 48 00 48 51 */ bl VFiPFCACHE_FreeDataPage
+/* 80305F70 00301BD0 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305F74 00301BD4 38 80 00 01 */ li r4, 1
+/* 80305F78 00301BD8 48 00 1D 89 */ bl VFipdm_part_release_permission
+/* 80305F7C 00301BDC 38 60 00 07 */ li r3, 7
+/* 80305F80 00301BE0 48 00 00 74 */ b lbl_80305FF4
+lbl_80305F84:
+/* 80305F84 00301BE4 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 80305F88 00301BE8 7F E4 FB 78 */ mr r4, r31
+/* 80305F8C 00301BEC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80305F90 00301BF0 4B FF F9 65 */ bl VFiPFDRV_GetBPBInformation
+/* 80305F94 00301BF4 2C 03 00 00 */ cmpwi r3, 0
+/* 80305F98 00301BF8 7C 7E 1B 78 */ mr r30, r3
+/* 80305F9C 00301BFC 41 82 00 24 */ beq lbl_80305FC0
+/* 80305FA0 00301C00 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305FA4 00301C04 7F E3 FB 78 */ mr r3, r31
+/* 80305FA8 00301C08 48 00 48 15 */ bl VFiPFCACHE_FreeDataPage
+/* 80305FAC 00301C0C 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80305FB0 00301C10 38 80 00 01 */ li r4, 1
+/* 80305FB4 00301C14 48 00 1D 4D */ bl VFipdm_part_release_permission
+/* 80305FB8 00301C18 7F C3 F3 78 */ mr r3, r30
+/* 80305FBC 00301C1C 48 00 00 38 */ b lbl_80305FF4
+lbl_80305FC0:
+/* 80305FC0 00301C20 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 80305FC4 00301C24 7F E3 FB 78 */ mr r3, r31
+/* 80305FC8 00301C28 48 00 47 F5 */ bl VFiPFCACHE_FreeDataPage
+/* 80305FCC 00301C2C 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 80305FD0 00301C30 38 60 FF FF */ li r3, -1
+/* 80305FD4 00301C34 90 7F 00 38 */ stw r3, 0x38(r31)
+/* 80305FD8 00301C38 2C 00 00 02 */ cmpwi r0, 2
+/* 80305FDC 00301C3C 90 7F 00 3C */ stw r3, 0x3c(r31)
+/* 80305FE0 00301C40 40 82 00 10 */ bne lbl_80305FF0
+/* 80305FE4 00301C44 7F E3 FB 78 */ mr r3, r31
+/* 80305FE8 00301C48 4B FF F9 F9 */ bl VFiPFDRV_GetFSINFOInformation
+/* 80305FEC 00301C4C 7C 7E 1B 78 */ mr r30, r3
+lbl_80305FF0:
+/* 80305FF0 00301C50 7F C3 F3 78 */ mr r3, r30
+lbl_80305FF4:
+/* 80305FF4 00301C54 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80305FF8 00301C58 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80305FFC 00301C5C 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80306000 00301C60 7C 08 03 A6 */ mtlr r0
+/* 80306004 00301C64 38 21 00 30 */ addi r1, r1, 0x30
+/* 80306008 00301C68 4E 80 00 20 */ blr
+
+.global VFiPFDRV_unmount
+VFiPFDRV_unmount:
+/* 8030600C 00301C6C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80306010 00301C70 7C 08 02 A6 */ mflr r0
+/* 80306014 00301C74 2C 03 00 00 */ cmpwi r3, 0
+/* 80306018 00301C78 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030601C 00301C7C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80306020 00301C80 7C 7F 1B 78 */ mr r31, r3
+/* 80306024 00301C84 40 82 00 0C */ bne lbl_80306030
+/* 80306028 00301C88 38 60 00 0A */ li r3, 0xa
+/* 8030602C 00301C8C 48 00 00 54 */ b lbl_80306080
+lbl_80306030:
+/* 80306030 00301C90 38 04 FF FF */ addi r0, r4, -1
+/* 80306034 00301C94 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 80306038 00301C98 7C 00 00 34 */ cntlzw r0, r0
+/* 8030603C 00301C9C 54 04 D9 7E */ srwi r4, r0, 5
+/* 80306040 00301CA0 48 00 1C C1 */ bl VFipdm_part_release_permission
+/* 80306044 00301CA4 2C 03 00 00 */ cmpwi r3, 0
+/* 80306048 00301CA8 41 82 00 34 */ beq lbl_8030607C
+/* 8030604C 00301CAC 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80306050 00301CB0 40 82 00 24 */ bne lbl_80306074
+/* 80306054 00301CB4 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80306058 00301CB8 48 00 27 7D */ bl VFipdm_part_get_driver_error_code
+/* 8030605C 00301CBC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80306060 00301CC0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80306064 00301CC4 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80306068 00301CC8 90 7F 18 70 */ stw r3, 0x1870(r31)
+/* 8030606C 00301CCC 38 60 10 00 */ li r3, 0x1000
+/* 80306070 00301CD0 48 00 00 10 */ b lbl_80306080
+lbl_80306074:
+/* 80306074 00301CD4 38 60 FF FF */ li r3, -1
+/* 80306078 00301CD8 48 00 00 08 */ b lbl_80306080
+lbl_8030607C:
+/* 8030607C 00301CDC 38 60 00 00 */ li r3, 0
+lbl_80306080:
+/* 80306080 00301CE0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80306084 00301CE4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80306088 00301CE8 7C 08 03 A6 */ mtlr r0
+/* 8030608C 00301CEC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80306090 00301CF0 4E 80 00 20 */ blr
+
+.global VFiPFDRV_format
+VFiPFDRV_format:
+/* 80306094 00301CF4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80306098 00301CF8 7C 08 02 A6 */ mflr r0
+/* 8030609C 00301CFC 2C 03 00 00 */ cmpwi r3, 0
+/* 803060A0 00301D00 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803060A4 00301D04 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803060A8 00301D08 7C 9F 23 78 */ mr r31, r4
+/* 803060AC 00301D0C 93 C1 00 08 */ stw r30, 8(r1)
+/* 803060B0 00301D10 7C 7E 1B 78 */ mr r30, r3
+/* 803060B4 00301D14 40 82 00 0C */ bne lbl_803060C0
+/* 803060B8 00301D18 38 60 00 0A */ li r3, 0xa
+/* 803060BC 00301D1C 48 00 00 E8 */ b lbl_803061A4
+lbl_803060C0:
+/* 803060C0 00301D20 A0 03 18 78 */ lhz r0, 0x1878(r3)
+/* 803060C4 00301D24 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 803060C8 00301D28 40 82 00 44 */ bne lbl_8030610C
+/* 803060CC 00301D2C 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 803060D0 00301D30 48 00 1A 4D */ bl VFipdm_part_get_permission
+/* 803060D4 00301D34 2C 03 00 00 */ cmpwi r3, 0
+/* 803060D8 00301D38 41 82 00 34 */ beq lbl_8030610C
+/* 803060DC 00301D3C 2C 03 00 15 */ cmpwi r3, 0x15
+/* 803060E0 00301D40 40 82 00 24 */ bne lbl_80306104
+/* 803060E4 00301D44 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 803060E8 00301D48 48 00 26 ED */ bl VFipdm_part_get_driver_error_code
+/* 803060EC 00301D4C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 803060F0 00301D50 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 803060F4 00301D54 90 64 00 20 */ stw r3, 0x20(r4)
+/* 803060F8 00301D58 90 7E 18 70 */ stw r3, 0x1870(r30)
+/* 803060FC 00301D5C 38 60 10 00 */ li r3, 0x1000
+/* 80306100 00301D60 48 00 00 A4 */ b lbl_803061A4
+lbl_80306104:
+/* 80306104 00301D64 38 60 FF FF */ li r3, -1
+/* 80306108 00301D68 48 00 00 9C */ b lbl_803061A4
+lbl_8030610C:
+/* 8030610C 00301D6C 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80306110 00301D70 7F E4 FB 78 */ mr r4, r31
+/* 80306114 00301D74 48 00 1D 79 */ bl VFipdm_part_format
+/* 80306118 00301D78 2C 03 00 00 */ cmpwi r3, 0
+/* 8030611C 00301D7C 41 82 00 34 */ beq lbl_80306150
+/* 80306120 00301D80 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80306124 00301D84 40 82 00 24 */ bne lbl_80306148
+/* 80306128 00301D88 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 8030612C 00301D8C 48 00 26 A9 */ bl VFipdm_part_get_driver_error_code
+/* 80306130 00301D90 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80306134 00301D94 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80306138 00301D98 90 64 00 20 */ stw r3, 0x20(r4)
+/* 8030613C 00301D9C 90 7E 18 70 */ stw r3, 0x1870(r30)
+/* 80306140 00301DA0 38 60 10 00 */ li r3, 0x1000
+/* 80306144 00301DA4 48 00 00 60 */ b lbl_803061A4
+lbl_80306148:
+/* 80306148 00301DA8 38 60 FF FF */ li r3, -1
+/* 8030614C 00301DAC 48 00 00 58 */ b lbl_803061A4
+lbl_80306150:
+/* 80306150 00301DB0 A0 1E 18 78 */ lhz r0, 0x1878(r30)
+/* 80306154 00301DB4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80306158 00301DB8 40 82 00 48 */ bne lbl_803061A0
+/* 8030615C 00301DBC 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 80306160 00301DC0 38 80 00 01 */ li r4, 1
+/* 80306164 00301DC4 48 00 1B 9D */ bl VFipdm_part_release_permission
+/* 80306168 00301DC8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030616C 00301DCC 41 82 00 34 */ beq lbl_803061A0
+/* 80306170 00301DD0 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80306174 00301DD4 40 82 00 24 */ bne lbl_80306198
+/* 80306178 00301DD8 80 7E 18 8C */ lwz r3, 0x188c(r30)
+/* 8030617C 00301DDC 48 00 26 59 */ bl VFipdm_part_get_driver_error_code
+/* 80306180 00301DE0 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80306184 00301DE4 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80306188 00301DE8 90 64 00 20 */ stw r3, 0x20(r4)
+/* 8030618C 00301DEC 90 7E 18 70 */ stw r3, 0x1870(r30)
+/* 80306190 00301DF0 38 60 10 00 */ li r3, 0x1000
+/* 80306194 00301DF4 48 00 00 10 */ b lbl_803061A4
+lbl_80306198:
+/* 80306198 00301DF8 38 60 FF FF */ li r3, -1
+/* 8030619C 00301DFC 48 00 00 08 */ b lbl_803061A4
+lbl_803061A0:
+/* 803061A0 00301E00 38 60 00 00 */ li r3, 0
+lbl_803061A4:
+/* 803061A4 00301E04 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803061A8 00301E08 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803061AC 00301E0C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 803061B0 00301E10 7C 08 03 A6 */ mtlr r0
+/* 803061B4 00301E14 38 21 00 10 */ addi r1, r1, 0x10
+/* 803061B8 00301E18 4E 80 00 20 */ blr
+
+.global VFiPFDRV_lread
+VFiPFDRV_lread:
+/* 803061BC 00301E1C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803061C0 00301E20 7C 08 02 A6 */ mflr r0
+/* 803061C4 00301E24 2C 03 00 00 */ cmpwi r3, 0
+/* 803061C8 00301E28 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803061CC 00301E2C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803061D0 00301E30 7C 7F 1B 78 */ mr r31, r3
+/* 803061D4 00301E34 40 82 00 0C */ bne lbl_803061E0
+/* 803061D8 00301E38 38 60 00 0A */ li r3, 0xa
+/* 803061DC 00301E3C 48 00 00 50 */ b lbl_8030622C
+lbl_803061E0:
+/* 803061E0 00301E40 7C E8 3B 78 */ mr r8, r7
+/* 803061E4 00301E44 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 803061E8 00301E48 A0 FF 00 00 */ lhz r7, 0(r31)
+/* 803061EC 00301E4C 48 00 1D ED */ bl VFipdm_part_logical_read
+/* 803061F0 00301E50 2C 03 00 00 */ cmpwi r3, 0
+/* 803061F4 00301E54 41 82 00 34 */ beq lbl_80306228
+/* 803061F8 00301E58 2C 03 00 15 */ cmpwi r3, 0x15
+/* 803061FC 00301E5C 40 82 00 24 */ bne lbl_80306220
+/* 80306200 00301E60 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80306204 00301E64 48 00 25 D1 */ bl VFipdm_part_get_driver_error_code
+/* 80306208 00301E68 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 8030620C 00301E6C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80306210 00301E70 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80306214 00301E74 90 7F 18 70 */ stw r3, 0x1870(r31)
+/* 80306218 00301E78 38 60 10 00 */ li r3, 0x1000
+/* 8030621C 00301E7C 48 00 00 10 */ b lbl_8030622C
+lbl_80306220:
+/* 80306220 00301E80 38 60 FF FF */ li r3, -1
+/* 80306224 00301E84 48 00 00 08 */ b lbl_8030622C
+lbl_80306228:
+/* 80306228 00301E88 38 60 00 00 */ li r3, 0
+lbl_8030622C:
+/* 8030622C 00301E8C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80306230 00301E90 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80306234 00301E94 7C 08 03 A6 */ mtlr r0
+/* 80306238 00301E98 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030623C 00301E9C 4E 80 00 20 */ blr
+
+.global VFiPFDRV_lwrite
+VFiPFDRV_lwrite:
+/* 80306240 00301EA0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80306244 00301EA4 7C 08 02 A6 */ mflr r0
+/* 80306248 00301EA8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030624C 00301EAC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80306250 00301EB0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80306254 00301EB4 7C 7F 1B 78 */ mr r31, r3
+/* 80306258 00301EB8 40 82 00 0C */ bne lbl_80306264
+/* 8030625C 00301EBC 38 60 00 0A */ li r3, 0xa
+/* 80306260 00301EC0 48 00 00 50 */ b lbl_803062B0
+lbl_80306264:
+/* 80306264 00301EC4 7C E8 3B 78 */ mr r8, r7
+/* 80306268 00301EC8 80 63 18 8C */ lwz r3, 0x188c(r3)
+/* 8030626C 00301ECC A0 FF 00 00 */ lhz r7, 0(r31)
+/* 80306270 00301ED0 48 00 1F 31 */ bl VFipdm_part_logical_write
+/* 80306274 00301ED4 2C 03 00 00 */ cmpwi r3, 0
+/* 80306278 00301ED8 41 82 00 34 */ beq lbl_803062AC
+/* 8030627C 00301EDC 2C 03 00 15 */ cmpwi r3, 0x15
+/* 80306280 00301EE0 40 82 00 24 */ bne lbl_803062A4
+/* 80306284 00301EE4 80 7F 18 8C */ lwz r3, 0x188c(r31)
+/* 80306288 00301EE8 48 00 25 4D */ bl VFipdm_part_get_driver_error_code
+/* 8030628C 00301EEC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80306290 00301EF0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80306294 00301EF4 90 64 00 20 */ stw r3, 0x20(r4)
+/* 80306298 00301EF8 90 7F 18 70 */ stw r3, 0x1870(r31)
+/* 8030629C 00301EFC 38 60 10 00 */ li r3, 0x1000
+/* 803062A0 00301F00 48 00 00 10 */ b lbl_803062B0
+lbl_803062A4:
+/* 803062A4 00301F04 38 60 FF FF */ li r3, -1
+/* 803062A8 00301F08 48 00 00 08 */ b lbl_803062B0
+lbl_803062AC:
+/* 803062AC 00301F0C 38 60 00 00 */ li r3, 0
+lbl_803062B0:
+/* 803062B0 00301F10 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803062B4 00301F14 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803062B8 00301F18 7C 08 03 A6 */ mtlr r0
+/* 803062BC 00301F1C 38 21 00 10 */ addi r1, r1, 0x10
+/* 803062C0 00301F20 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_entry.s b/asm/SDK/VF/pf_entry.s new file mode 100644 index 0000000..eb2c835 --- /dev/null +++ b/asm/SDK/VF/pf_entry.s @@ -0,0 +1,1818 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFENT_compareAttr
+VFiPFENT_compareAttr:
+/* 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 VFiPFENT_compareEntryName
+VFiPFENT_compareEntryName:
+/* 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 VFiPFPATH_putShortName
+/* 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 VFiPFPATH_cmpNameUni
+/* 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 VFiPFPATH_cmpName
+/* 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 VFiPFPATH_cmpName
+/* 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 VFiPFENT_getEntry
+VFiPFENT_getEntry:
+/* 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 VFiPFENT_compareAttr
+/* 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 VFiPFPATH_getShortName
+/* 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 VFiPFENT_compareEntryName
+/* 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 VFiPFENT_LoadLFNEntryFieldsFromBuf
+/* 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 VFiPFPATH_getLongNameformShortName
+/* 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 VFiPFPATH_transformInUnicode
+/* 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 VFiPFPATH_putShortName
+/* 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 VFiPFENT_searchEmptyTailSFN
+VFiPFENT_searchEmptyTailSFN:
+/* 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 VFiPFENT_ITER_IteratorInitialize
+/* 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 VFiPFPATH_getShortName
+/* 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 VFiPFPATH_parseShortNameNumeric
+/* 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 VFiPFPATH_cmpTailSFN
+/* 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 VFiPFENT_ITER_Advance
+/* 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 VFiPFENT_ITER_IsAtLogicalEnd
+/* 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 VFiPFENT_findEmptyTailSFN
+VFiPFENT_findEmptyTailSFN:
+/* 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 VFiPFFAT_InitFFD
+/* 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 VFiPFENT_searchEmptyTailSFN
+/* 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 VFiPFENT_CalcCheckSum
+VFiPFENT_CalcCheckSum:
+/* 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 VFiPFPATH_putShortName
+/* 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 VFiPFENT_LoadShortNameFromBuf
+VFiPFENT_LoadShortNameFromBuf:
+/* 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 VFiPFPATH_getShortName
+/* 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 VFiPFENT_loadEntryNumericFieldsFromBuf
+VFiPFENT_loadEntryNumericFieldsFromBuf:
+/* 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 VFiPFENT_LoadLFNEntryFieldsFromBuf
+VFiPFENT_LoadLFNEntryFieldsFromBuf:
+/* 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 VFiPFENT_storeLFNEntryFieldsToBuf
+VFiPFENT_storeLFNEntryFieldsToBuf:
+/* 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 VFiPFENT_findEntryPos
+VFiPFENT_findEntryPos:
+/* 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 VFiPFPATH_GetExtShortNameIndex
+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 VFiPFENT_ITER_IteratorInitialize
+/* 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 VFiPFENT_getEntry
+/* 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 VFiPFENT_ITER_IteratorInitialize
+/* 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 VFiPFENT_getEntry
+/* 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 VFiPFENT_ITER_IteratorInitialize
+/* 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 VFiPFENT_getEntry
+/* 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 VFiPFENT_ITER_Advance
+/* 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 VFiPFENT_ITER_IsAtLogicalEnd
+/* 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 VFiPFENT_findEntry
+VFiPFENT_findEntry:
+/* 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 VFiPFENT_findEntryPos
+/* 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 VFiPFENT_allocateEntryPos
+VFiPFENT_allocateEntryPos:
+/* 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 VFiPFPATH_CheckExtShortNameSignature
+/* 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 VFiPFENT_ITER_IteratorInitialize
+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 VFiPFENT_getEntry
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFENT_ITER_Advance
+/* 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 VFiPFENT_allocateEntry
+VFiPFENT_allocateEntry:
+/* 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 VFiPFENT_allocateEntryPos
+/* 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 VFiPFENT_GetRootDir
+VFiPFENT_GetRootDir:
+/* 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 VFiPFENT_MakeRootDir
+VFiPFENT_MakeRootDir:
+/* 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 VFiPFFAT_MakeRootDir
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFVOL_LoadVolumeLabelFromBuf
+/* 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 VFiPFENT_updateEntry
+VFiPFENT_updateEntry:
+/* 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 VFiPFPATH_putShortName
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFENT_AdjustSFN
+VFiPFENT_AdjustSFN:
+/* 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 VFiPFENT_findEmptyTailSFN
+/* 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 VFiPFPATH_parseShortNameNumeric
+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 VFiPFENT_getcurrentDateTimeForEnt
+VFiPFENT_getcurrentDateTimeForEnt:
+/* 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
diff --git a/asm/SDK/VF/pf_entry_iterator.s b/asm/SDK/VF/pf_entry_iterator.s new file mode 100644 index 0000000..09cb677 --- /dev/null +++ b/asm/SDK/VF/pf_entry_iterator.s @@ -0,0 +1,1818 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFENT_RecalcEntryIterator
+VFiPFENT_RecalcEntryIterator:
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFENT_ITER_FindCluster
+VFiPFENT_ITER_FindCluster:
+/* 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 VFiPFENT_LoadLFNEntryFieldsFromBuf
+/* 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 VFiPFENT_LoadShortNameFromBuf
+/* 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 VFiPFENT_CalcCheckSum
+/* 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 VFiPFENT_loadEntryNumericFieldsFromBuf
+/* 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 VFiPFPATH_getLongNameformShortName
+/* 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 VFiPFPATH_transformInUnicode
+/* 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 VFiPFENT_CalcCheckSum
+/* 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 VFiPFENT_loadEntryNumericFieldsFromBuf
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_ITER_IsAtLogicalEnd
+/* 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 VFiPFENT_ITER_DoFindEntry
+VFiPFENT_ITER_DoFindEntry:
+/* 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 VFiPFENT_GetRootDir
+/* 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 VFiPFPATH_GetExtShortNameIndex
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_LoadLFNEntryFieldsFromBuf
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_LoadShortNameFromBuf
+/* 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 VFiPFPATH_MatchFileNameWithPattern
+/* 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 VFiPFENT_loadEntryNumericFieldsFromBuf
+/* 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 VFiPFENT_ITER_Retreat
+/* 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 VFiPFENT_LoadLFNEntryFieldsFromBuf
+/* 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 VFiPFENT_LoadShortNameFromBuf
+/* 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 VFiPFENT_CalcCheckSum
+/* 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 VFiPFPATH_MatchFileNameWithPattern
+/* 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 VFiPFENT_loadEntryNumericFieldsFromBuf
+/* 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 VFiPFPATH_MatchFileNameWithPattern
+/* 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 VFiPFPATH_getLongNameformShortName
+/* 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 VFiPFPATH_transformInUnicode
+/* 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 VFiPFENT_CalcCheckSum
+/* 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 VFiPFENT_loadEntryNumericFieldsFromBuf
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_ITER_IsAtLogicalEnd
+/* 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
+
+VFiPFENT_ITER_DoGetEntry:
+/* 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 VFiPFENT_GetRootDir
+/* 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 VFiPFVOL_GetCurrentDir
+/* 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 VFiPFFAT_InitFFD
+/* 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 VFiPFPATH_InitTokenOfPath
+/* 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 VFiPFPATH_GetNextTokenOfPath
+/* 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 VFiPFFAT_ResetFFD
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFPATH_GetLengthFromUnicode
+/* 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 VFiPFPATH_GetLengthFromShortname
+/* 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 VFiPFENT_ITER_DoFindEntry
+/* 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 VFiPFPATH_GetNextTokenOfPath
+/* 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 VFiPFFAT_ResetFFD
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_ITER_FindCluster
+/* 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 VFiPFPATH_GetLengthFromUnicode
+/* 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 VFiPFPATH_GetLengthFromShortname
+/* 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 VFiPFPATH_GetNextTokenOfPath
+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 VFiPFENT_ITER_IteratorInitialize
+VFiPFENT_ITER_IteratorInitialize:
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_ITER_IsAtLogicalEnd
+VFiPFENT_ITER_IsAtLogicalEnd:
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_ITER_Advance
+VFiPFENT_ITER_Advance:
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_ITER_Retreat
+VFiPFENT_ITER_Retreat:
+/* 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 VFiPFFAT_GetBeforeChain
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFENT_RecalcEntryIterator
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFENT_ITER_GetEntryOfPath
+VFiPFENT_ITER_GetEntryOfPath:
+/* 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 VFiPFENT_ITER_DoGetEntry
diff --git a/asm/SDK/VF/pf_fat.s b/asm/SDK/VF/pf_fat.s new file mode 100644 index 0000000..8845e52 --- /dev/null +++ b/asm/SDK/VF/pf_fat.s @@ -0,0 +1,3313 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFFAT_ReadFATSector
+VFiPFFAT_ReadFATSector:
+/* 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 VFiPFFAT_SearchForNumFreeClusters
+VFiPFFAT_SearchForNumFreeClusters:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT12_ReadFATEntryPage
+/* 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 VFiPFFAT16_ReadFATEntryPage
+/* 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 VFiPFFAT32_ReadFATEntryPage
+/* 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 VFiPFFAT_FindClusterLink
+VFiPFFAT_FindClusterLink:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT12_ReadFATEntryPage
+/* 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 VFiPFFAT16_ReadFATEntryPage
+/* 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 VFiPFFAT32_ReadFATEntryPage
+/* 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 VFiPFFAT_FindClusterLinkPage
+VFiPFFAT_FindClusterLinkPage:
+/* 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 VFiPFFAT12_ReadFATEntryPage
+/* 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 VFiPFFAT16_ReadFATEntryPage
+/* 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 VFiPFFAT32_ReadFATEntryPage
+/* 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 VFiPFFAT_ReadClusterPage
+VFiPFFAT_ReadClusterPage:
+/* 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 VFiPFFAT_FindClusterLinkPage
+/* 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 VFiPFFAT12_ReadFATEntryPage
+/* 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 VFiPFFAT16_ReadFATEntryPage
+/* 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 VFiPFFAT32_ReadFATEntryPage
+/* 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 VFiPFFAT_WriteCluster
+VFiPFFAT_WriteCluster:
+/* 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 VFiPFFAT12_WriteFATEntry
+/* 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 VFiPFFAT16_WriteFATEntry
+/* 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 VFiPFFAT32_WriteFATEntry
+/* 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 VFiPFFAT_FindClusterLink
+/* 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 VFiPFFAT_WriteClusterPage
+VFiPFFAT_WriteClusterPage:
+/* 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 VFiPFFAT12_WriteFATEntryPage
+/* 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 VFiPFFAT16_WriteFATEntryPage
+/* 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 VFiPFFAT32_WriteFATEntryPage
+/* 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 VFiPFFAT_FindClusterLinkPage
+/* 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 VFiPFFAT_DoAllocateChain
+VFiPFFAT_DoAllocateChain:
+/* 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 VFiPFFAT_SearchForNumFreeClusters
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT_WriteClusterPage
+/* 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 VFiPFFAT_WriteClusterPage
+/* 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 VFiPFFAT_GetClusterInChain
+VFiPFFAT_GetClusterInChain:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT_ReadClusterPage
+/* 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 VFiPFFAT_DoAllocateChain
+/* 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 VFiPFFAT_FreeChain
+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 VFiPFFAT_WriteCluster
+/* 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 VFiPFFAT_GetClusterContinuousSectorInChain
+VFiPFFAT_GetClusterContinuousSectorInChain:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT_ReadClusterPage
+/* 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 VFiPFFAT_GetClusterAllocatedInChain
+VFiPFFAT_GetClusterAllocatedInChain:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT_ReadClusterPage
+/* 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 VFiPFFAT_GetClusterSpecified
+VFiPFFAT_GetClusterSpecified:
+/* 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 VFiPFFAT_FindClusterLink
+/* 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 VFiPFFAT_GetClusterInChain
+/* 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 VFiPFFAT_GetClusterAllocated
+VFiPFFAT_GetClusterAllocated:
+/* 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 VFiPFFAT_GetClusterInChain
+/* 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 VFiPFFAT_GetSector
+VFiPFFAT_GetSector:
+/* 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 VFiPFFAT_GetClusterAllocated
+/* 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 VFiPFFAT_GetClusterSpecified
+/* 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 VFiPFFAT_UpdateFATEntry
+VFiPFFAT_UpdateFATEntry:
+/* 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 VFiPFFAT_UpdateAlternateFATEntry
+VFiPFFAT_UpdateAlternateFATEntry:
+/* 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 VFiPFFAT_GetSectorSpecified
+VFiPFFAT_GetSectorSpecified:
+/* 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 VFiPFFAT_GetSector
+/* 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 VFiPFFAT_GetSectorAllocated
+VFiPFFAT_GetSectorAllocated:
+/* 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 VFiPFFAT_GetSector
+/* 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 VFiPFFAT_GetContinuousSector
+VFiPFFAT_GetContinuousSector:
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFFAT_GetClusterContinuousSectorInChain
+/* 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 VFiPFFAT_CountAllocatedClusters
+VFiPFFAT_CountAllocatedClusters:
+/* 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 VFiPFFAT_GetClusterAllocatedInChain
+/* 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 VFiPFFAT_FreeChain
+VFiPFFAT_FreeChain:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT12_ReadFATEntryPage
+/* 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 VFiPFFAT16_ReadFATEntryPage
+/* 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 VFiPFFAT32_ReadFATEntryPage
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT_WriteClusterPage
+/* 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 VFiPFFAT12_WriteFATEntryPage
+/* 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 VFiPFFAT16_WriteFATEntryPage
+/* 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 VFiPFFAT32_WriteFATEntryPage
+/* 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 VFiPFFAT_GetBeforeChain
+VFiPFFAT_GetBeforeChain:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT12_ReadFATEntryPage
+/* 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 VFiPFFAT16_ReadFATEntryPage
+/* 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 VFiPFFAT32_ReadFATEntryPage
+/* 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 VFiPFFAT_InitFATRegion
+VFiPFFAT_InitFATRegion:
+/* 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 VFiPFFAT12_WriteFATEntry
+/* 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 VFiPFFAT16_WriteFATEntry
+/* 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 VFiPFFAT32_WriteFATEntry
+/* 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 VFiPFFAT12_WriteFATEntry
+/* 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 VFiPFFAT16_WriteFATEntry
+/* 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 VFiPFFAT32_WriteFATEntry
+/* 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 VFiPFFAT_MakeRootDir
+VFiPFFAT_MakeRootDir:
+/* 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 VFiPFFAT12_WriteFATEntry
+/* 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 VFiPFFAT16_WriteFATEntry
+/* 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 VFiPFFAT32_WriteFATEntry
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFFAT_InitHint
+VFiPFFAT_InitHint:
+/* 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 VFiPFFAT_TraceClustersChain
+VFiPFFAT_TraceClustersChain:
+/* 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 VFiPFFAT_ReadFATSector
+/* 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 VFiPFFAT_ReadClusterPage
+/* 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 VFiPFFAT_ReadValueToSpecifiedCluster
+VFiPFFAT_ReadValueToSpecifiedCluster:
+/* 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 VFiPFFAT12_ReadFATEntry
+/* 80311028 0030CC88 48 00 00 20 */ b lbl_80311048
+lbl_8031102C:
+/* 8031102C 0030CC8C 48 00 0C 2D */ bl VFiPFFAT16_ReadFATEntry
+/* 80311030 0030CC90 48 00 00 18 */ b lbl_80311048
+lbl_80311034:
+/* 80311034 0030CC94 48 00 11 9D */ bl VFiPFFAT32_ReadFATEntry
+/* 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 VFiPFFAT_ResetFFD
+VFiPFFAT_ResetFFD:
+/* 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 VFiPFFAT_InitFFD
+VFiPFFAT_InitFFD:
+/* 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 VFiPFFAT_FinalizeFFD
+VFiPFFAT_FinalizeFFD:
+/* 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 VFiPFFAT_GetValueOfEOC2
+VFiPFFAT_GetValueOfEOC2:
+/* 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
diff --git a/asm/SDK/VF/pf_fat12.s b/asm/SDK/VF/pf_fat12.s new file mode 100644 index 0000000..15b9eaa --- /dev/null +++ b/asm/SDK/VF/pf_fat12.s @@ -0,0 +1,784 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFFAT12_ReadFATEntry
+VFiPFFAT12_ReadFATEntry:
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFFAT12_ReadFATEntryPage
+VFiPFFAT12_ReadFATEntryPage:
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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 VFiPFFAT12_WriteFATEntry
+VFiPFFAT12_WriteFATEntry:
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFSEC_WriteFAT
+/* 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 VFiPFSEC_WriteFAT
+/* 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 VFiPFSEC_WriteFAT
+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 VFiPFFAT12_WriteFATEntryPage
+VFiPFFAT12_WriteFATEntryPage:
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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
diff --git a/asm/SDK/VF/pf_fat16.s b/asm/SDK/VF/pf_fat16.s new file mode 100644 index 0000000..b09ed9a --- /dev/null +++ b/asm/SDK/VF/pf_fat16.s @@ -0,0 +1,398 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFFAT16_ReadFATEntry
+VFiPFFAT16_ReadFATEntry:
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFFAT16_ReadFATEntryPage
+VFiPFFAT16_ReadFATEntryPage:
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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 VFiPFFAT16_WriteFATEntry
+VFiPFFAT16_WriteFATEntry:
+/* 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 VFiPFSEC_WriteFAT
+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 VFiPFFAT16_WriteFATEntryPage
+VFiPFFAT16_WriteFATEntryPage:
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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
diff --git a/asm/SDK/VF/pf_fat32.s b/asm/SDK/VF/pf_fat32.s new file mode 100644 index 0000000..7b2db22 --- /dev/null +++ b/asm/SDK/VF/pf_fat32.s @@ -0,0 +1,449 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFFAT32_ReadFATEntry
+VFiPFFAT32_ReadFATEntry:
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFFAT32_ReadFATEntryPage
+VFiPFFAT32_ReadFATEntryPage:
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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 VFiPFFAT32_WriteFATEntry
+VFiPFFAT32_WriteFATEntry:
+/* 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 VFiPFSEC_ReadFAT
+/* 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 VFiPFSEC_WriteFAT
+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 VFiPFFAT32_WriteFATEntryPage
+VFiPFFAT32_WriteFATEntryPage:
+/* 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 VFiPFFAT_UpdateFATEntry
+/* 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
diff --git a/asm/SDK/VF/pf_fatfs.s b/asm/SDK/VF/pf_fatfs.s new file mode 100644 index 0000000..db73bc4 --- /dev/null +++ b/asm/SDK/VF/pf_fatfs.s @@ -0,0 +1,7 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFFATFS_initializeFATFS
+VFiPFFATFS_initializeFATFS:
+/* 80312810 0030E470 48 00 69 D0 */ b VFiPFVOL_InitModule
diff --git a/asm/SDK/VF/pf_file.s b/asm/SDK/VF/pf_file.s new file mode 100644 index 0000000..c78f06a --- /dev/null +++ b/asm/SDK/VF/pf_file.s @@ -0,0 +1,3785 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFFILE_Cursor_AdvanceToRead
+VFiPFFILE_Cursor_AdvanceToRead:
+/* 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 VFiPFCLUSTER_UpdateLastAccessCluster
+/* 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 VFiPFFILE_Cursor_ReadHeadSector
+VFiPFFILE_Cursor_ReadHeadSector:
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFFILE_Cursor_AdvanceToRead
+/* 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 VFiPFFILE_Cursor_ReadBodySectors
+VFiPFFILE_Cursor_ReadBodySectors:
+/* 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 VFiPFFAT_GetContinuousSector
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFFILE_Cursor_AdvanceToRead
+/* 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 VFiPFFILE_Cursor_ReadTailSector
+VFiPFFILE_Cursor_ReadTailSector:
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFSEC_ReadData
+/* 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 VFiPFFILE_Cursor_AdvanceToRead
+/* 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 VFiPFFILE_Cursor_Read
+VFiPFFILE_Cursor_Read:
+/* 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 VFiPFFILE_Cursor_ReadHeadSector
+/* 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 VFiPFFILE_Cursor_ReadBodySectors
+/* 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 VFiPFFILE_Cursor_ReadTailSector
+/* 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 VFiPFFILE_Cursor_WriteHeadSector
+VFiPFFILE_Cursor_WriteHeadSector:
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFCLUSTER_UpdateLastAccessCluster
+/* 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 VFiPFFILE_Cursor_WriteTailSector
+VFiPFFILE_Cursor_WriteTailSector:
+/* 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 VFiPFCLUSTER_AppendCluster
+/* 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 VFiPFFAT_GetSectorSpecified
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFCLUSTER_UpdateLastAccessCluster
+/* 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 VFiPFFILE_Cursor_Write_Overwrite
+VFiPFFILE_Cursor_Write_Overwrite:
+/* 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 VFiPFFAT_GetContinuousSector
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFCLUSTER_UpdateLastAccessCluster
+/* 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 VFiPFFILE_Cursor_Write
+VFiPFFILE_Cursor_Write:
+/* 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 VFiPFFILE_Cursor_WriteHeadSector
+/* 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 VFiPFFAT_CountAllocatedClusters
+/* 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 VFiPFFILE_Cursor_Write_Overwrite
+/* 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 VFiPFCLUSTER_AppendCluster
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFCLUSTER_UpdateLastAccessCluster
+/* 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 VFiPFFILE_Cursor_WriteTailSector
+/* 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 VFiPFFILE_Cursor_MoveToClusterEnd
+VFiPFFILE_Cursor_MoveToClusterEnd:
+/* 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 VFiPFFAT_CountAllocatedClusters
+/* 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 VFiPFFILE_GetSFD
+VFiPFFILE_GetSFD:
+/* 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 VFiPFFAT_InitFFD
+/* 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 VFiPFFILE_createEmptyFile
+VFiPFFILE_createEmptyFile:
+/* 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 VFiPFFAT_InitFFD
+/* 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 VFiPFPATH_parseShortName
+/* 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 VFiPFENT_AdjustSFN
+/* 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 VFiPFPATH_transformInUnicode
+/* 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 VFiPFENT_getcurrentDateTimeForEnt
+/* 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 VFiPFENT_allocateEntryPos
+/* 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 VFiPFPATH_AdjustExtShortName
+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 VFiPFENT_CalcCheckSum
+/* 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 VFiPFENT_storeLFNEntryFieldsToBuf
+/* 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 VFiPFSEC_WriteData
+/* 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 VFiPFENT_allocateEntry
+/* 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 VFiPFENT_updateEntry
+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 VFiPFFILE_p_fopen
+VFiPFFILE_p_fopen:
+/* 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 VFiPFENT_ITER_GetEntryOfPath
+/* 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 VFiPFPATH_SplitPath
+/* 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 VFiPFPATH_transformFromUnicodeToNormal
+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 VFiPFFAT_InitFFD
+/* 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 VFiPFENT_findEntry
+/* 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 VFiPFENT_getcurrentDateTimeForEnt
+/* 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 VFiPFFILE_createEmptyFile
+/* 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 VFiPFFILE_GetOpenedFile
+/* 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 VFiPFFAT_FreeChain
+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 VFiPFENT_getcurrentDateTimeForEnt
+/* 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 VFiPFENT_getcurrentDateTimeForEnt
+/* 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 VFiPFFILE_GetSFD
+/* 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 VFiPFFAT_InitHint
+/* 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 VFiPFFILE_p_fread
+VFiPFFILE_p_fread:
+/* 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 VFiPFFILE_Cursor_Read
+/* 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 VFiPFFILE_p_fwrite
+VFiPFFILE_p_fwrite:
+/* 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 VFiPFFILE_Cursor_Write
+/* 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 VFiPFFILE_Cursor_Write
+/* 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 VFiPFFILE_Cursor_Write
+/* 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 VFiPFFILE_p_finfo
+VFiPFFILE_p_finfo:
+/* 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 VFiPFCLUSTER_GetAppendSize
+/* 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 VFiPFFILE_GetOpenedFile
+VFiPFFILE_GetOpenedFile:
+/* 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 VFiPFFILE_FinalizeAllFiles
+VFiPFFILE_FinalizeAllFiles:
+/* 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 VFiPFFAT_FinalizeFFD
+/* 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 VFiPFFILE_fopen
+VFiPFFILE_fopen:
+/* 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 VFiPFPATH_GetVolumeFromPath
+/* 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 VFiPFVOL_CheckForRead
+/* 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 VFiPFFILE_p_fopen
+/* 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 VFiPFFILE_fclose
+VFiPFFILE_fclose:
+/* 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 VFiPFVOL_CheckForRead
+/* 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 VFiPFENT_updateEntry
+/* 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 VFiPFFILE_fread
+VFiPFFILE_fread:
+/* 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 VFiPFVOL_CheckForRead
+/* 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 VFiPFFILE_p_fread
+/* 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 VFiPFFILE_fwrite
+VFiPFFILE_fwrite:
+/* 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 VFiPFVOL_CheckForWrite
+/* 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 VFiPFFILE_p_fwrite
+/* 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 VFiPFENT_getcurrentDateTimeForEnt
+/* 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 VFiPFFILE_fseek
+VFiPFFILE_fseek:
+/* 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 VFiPFVOL_CheckForRead
+/* 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 VFiPFFILE_finfo
+VFiPFFILE_finfo:
+/* 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 VFiPFVOL_CheckForRead
+/* 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 VFiPFFILE_p_finfo
+/* 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
diff --git a/asm/SDK/VF/pf_path.s b/asm/SDK/VF/pf_path.s new file mode 100644 index 0000000..8f23358 --- /dev/null +++ b/asm/SDK/VF/pf_path.s @@ -0,0 +1,3324 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+VFiPFPATH_DoSplitPath:
+/* 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 VFiPFPATH_GetNextTokenOfPath
+/* 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 VFiPFPATH_GetNextTokenOfPath
+/* 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 VFiPFPATH_GetNextCharOfPattern
+VFiPFPATH_GetNextCharOfPattern:
+/* 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 VFiPFPATH_DoMatchFileNameWithPattern
+VFiPFPATH_DoMatchFileNameWithPattern:
+/* 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 VFiPFPATH_GetNextCharOfPattern
+/* 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 VFiPFPATH_GetNextCharOfPattern
+/* 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 VFiPFPATH_GetNextCharOfPattern
+/* 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 VFiPFPATH_DoMatchFileNameWithPattern
+/* 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 VFiPFPATH_GetNextCharOfPattern
+/* 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 VFiPFPATH_cmpNameImpl
+VFiPFPATH_cmpNameImpl:
+/* 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 VFiPFPATH_cmpNameImpl
+/* 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 VFiPFPATH_cmpNameUni
+VFiPFPATH_cmpNameUni:
+/* 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 VFiPFPATH_MatchFileNameWithPattern
+/* 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 VFiPFPATH_cmpName
+VFiPFPATH_cmpName:
+/* 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 VFiPFPATH_CheckExtShortName
+/* 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 VFiPFPATH_cmpNameImpl
+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 VFiPFPATH_cmpTailSFN
+VFiPFPATH_cmpTailSFN:
+/* 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 VFiPFPATH_InitTokenOfPath
+VFiPFPATH_InitTokenOfPath:
+/* 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 VFiPFPATH_GetNextTokenOfPath
+VFiPFPATH_GetNextTokenOfPath:
+/* 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 VFiPFPATH_CheckExtShortName
+/* 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 VFiPFPATH_SplitPath
+VFiPFPATH_SplitPath:
+/* 80316E8C 00312AEC 38 C0 00 00 */ li r6, 0
+/* 80316E90 00312AF0 4B FF ED A0 */ b VFiPFPATH_DoSplitPath
+
+.global VFiPFPATH_GetVolumeFromPath
+VFiPFPATH_GetVolumeFromPath:
+/* 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 VFiPFVOL_GetVolumeFromDrvChar
+/* 80316F10 00312B70 48 00 00 08 */ b lbl_80316F18
+lbl_80316F14:
+/* 80316F14 00312B74 48 00 2A F1 */ bl VFiPFVOL_GetCurrentVolume
+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 VFiPFPATH_MatchFileNameWithPattern
+VFiPFPATH_MatchFileNameWithPattern:
+/* 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 VFiPFPATH_CheckExtShortName
+/* 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 VFiPFPATH_GetNextCharOfPattern
+/* 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 VFiPFPATH_DoMatchFileNameWithPattern
+/* 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 VFiPFPATH_putShortName
+VFiPFPATH_putShortName:
+/* 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 VFiPFPATH_getShortName
+VFiPFPATH_getShortName:
+/* 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 VFiPFPATH_getLongNameformShortName
+VFiPFPATH_getLongNameformShortName:
+/* 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 VFiPFPATH_GetLengthFromShortname
+VFiPFPATH_GetLengthFromShortname:
+/* 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 VFiPFPATH_GetLengthFromUnicode
+VFiPFPATH_GetLengthFromUnicode:
+/* 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 VFiPFPATH_transformFromUnicodeToNormal
+VFiPFPATH_transformFromUnicodeToNormal:
+/* 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 VFiPFPATH_transformInUnicode
+VFiPFPATH_transformInUnicode:
+/* 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 VFiPFPATH_parseShortName
+VFiPFPATH_parseShortName:
+/* 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 VFiPFPATH_parseShortNameNumeric
+VFiPFPATH_parseShortNameNumeric:
+/* 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 VFiPFPATH_CheckExtShortNameSignature
+VFiPFPATH_CheckExtShortNameSignature:
+/* 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 VFiPFPATH_CheckExtShortName
+VFiPFPATH_CheckExtShortName:
+/* 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 VFiPFPATH_GetExtShortNameIndex
+VFiPFPATH_GetExtShortNameIndex:
+/* 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 VFiPFPATH_AdjustExtShortName
+VFiPFPATH_AdjustExtShortName:
+/* 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
diff --git a/asm/SDK/VF/pf_sector.s b/asm/SDK/VF/pf_sector.s new file mode 100644 index 0000000..d1c9dfd --- /dev/null +++ b/asm/SDK/VF/pf_sector.s @@ -0,0 +1,507 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFSEC_ReadFAT
+VFiPFSEC_ReadFAT:
+/* 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 VFiPFSEC_ReadData
+VFiPFSEC_ReadData:
+/* 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 VFiPFSEC_WriteFAT
+VFiPFSEC_WriteFAT:
+/* 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 VFiPFSEC_WriteData
+VFiPFSEC_WriteData:
+/* 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
diff --git a/asm/SDK/VF/pf_service.s b/asm/SDK/VF/pf_service.s new file mode 100644 index 0000000..1b6e086 --- /dev/null +++ b/asm/SDK/VF/pf_service.s @@ -0,0 +1,87 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPF_GET_LE_U16
+VFiPF_GET_LE_U16:
+/* 803051B0 00300E10 88 03 00 01 */ lbz r0, 1(r3)
+/* 803051B4 00300E14 88 63 00 00 */ lbz r3, 0(r3)
+/* 803051B8 00300E18 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
+/* 803051BC 00300E1C 4E 80 00 20 */ blr
+
+.global VFiPF_LE16_TO_U16_STR
+VFiPF_LE16_TO_U16_STR:
+/* 803051C0 00300E20 2C 04 00 00 */ cmpwi r4, 0
+/* 803051C4 00300E24 38 A0 00 00 */ li r5, 0
+/* 803051C8 00300E28 4D 82 00 20 */ beqlr
+/* 803051CC 00300E2C 38 C4 00 01 */ addi r6, r4, 1
+/* 803051D0 00300E30 38 E4 FF F0 */ addi r7, r4, -16
+/* 803051D4 00300E34 54 C0 F8 7E */ srwi r0, r6, 1
+/* 803051D8 00300E38 28 00 00 08 */ cmplwi r0, 8
+/* 803051DC 00300E3C 40 81 00 C4 */ ble lbl_803052A0
+/* 803051E0 00300E40 28 06 00 01 */ cmplwi r6, 1
+/* 803051E4 00300E44 38 00 00 00 */ li r0, 0
+/* 803051E8 00300E48 41 80 00 10 */ blt lbl_803051F8
+/* 803051EC 00300E4C 7C 04 30 40 */ cmplw r4, r6
+/* 803051F0 00300E50 41 81 00 08 */ bgt lbl_803051F8
+/* 803051F4 00300E54 38 00 00 01 */ li r0, 1
+lbl_803051F8:
+/* 803051F8 00300E58 2C 00 00 00 */ cmpwi r0, 0
+/* 803051FC 00300E5C 41 82 00 A4 */ beq lbl_803052A0
+/* 80305200 00300E60 38 07 00 0F */ addi r0, r7, 0xf
+/* 80305204 00300E64 54 00 E1 3E */ srwi r0, r0, 4
+/* 80305208 00300E68 7C 09 03 A6 */ mtctr r0
+/* 8030520C 00300E6C 28 07 00 00 */ cmplwi r7, 0
+/* 80305210 00300E70 40 81 00 90 */ ble lbl_803052A0
+lbl_80305214:
+/* 80305214 00300E74 7C E3 2A 14 */ add r7, r3, r5
+/* 80305218 00300E78 7C C3 28 AE */ lbzx r6, r3, r5
+/* 8030521C 00300E7C 88 07 00 01 */ lbz r0, 1(r7)
+/* 80305220 00300E80 7C 03 29 AE */ stbx r0, r3, r5
+/* 80305224 00300E84 38 A5 00 10 */ addi r5, r5, 0x10
+/* 80305228 00300E88 98 C7 00 01 */ stb r6, 1(r7)
+/* 8030522C 00300E8C 88 C7 00 02 */ lbz r6, 2(r7)
+/* 80305230 00300E90 88 07 00 03 */ lbz r0, 3(r7)
+/* 80305234 00300E94 98 07 00 02 */ stb r0, 2(r7)
+/* 80305238 00300E98 98 C7 00 03 */ stb r6, 3(r7)
+/* 8030523C 00300E9C 88 C7 00 04 */ lbz r6, 4(r7)
+/* 80305240 00300EA0 88 07 00 05 */ lbz r0, 5(r7)
+/* 80305244 00300EA4 98 07 00 04 */ stb r0, 4(r7)
+/* 80305248 00300EA8 98 C7 00 05 */ stb r6, 5(r7)
+/* 8030524C 00300EAC 88 C7 00 06 */ lbz r6, 6(r7)
+/* 80305250 00300EB0 88 07 00 07 */ lbz r0, 7(r7)
+/* 80305254 00300EB4 98 07 00 06 */ stb r0, 6(r7)
+/* 80305258 00300EB8 98 C7 00 07 */ stb r6, 7(r7)
+/* 8030525C 00300EBC 88 C7 00 08 */ lbz r6, 8(r7)
+/* 80305260 00300EC0 88 07 00 09 */ lbz r0, 9(r7)
+/* 80305264 00300EC4 98 07 00 08 */ stb r0, 8(r7)
+/* 80305268 00300EC8 98 C7 00 09 */ stb r6, 9(r7)
+/* 8030526C 00300ECC 88 C7 00 0A */ lbz r6, 0xa(r7)
+/* 80305270 00300ED0 88 07 00 0B */ lbz r0, 0xb(r7)
+/* 80305274 00300ED4 98 07 00 0A */ stb r0, 0xa(r7)
+/* 80305278 00300ED8 98 C7 00 0B */ stb r6, 0xb(r7)
+/* 8030527C 00300EDC 88 C7 00 0C */ lbz r6, 0xc(r7)
+/* 80305280 00300EE0 88 07 00 0D */ lbz r0, 0xd(r7)
+/* 80305284 00300EE4 98 07 00 0C */ stb r0, 0xc(r7)
+/* 80305288 00300EE8 98 C7 00 0D */ stb r6, 0xd(r7)
+/* 8030528C 00300EEC 88 C7 00 0E */ lbz r6, 0xe(r7)
+/* 80305290 00300EF0 88 07 00 0F */ lbz r0, 0xf(r7)
+/* 80305294 00300EF4 98 07 00 0E */ stb r0, 0xe(r7)
+/* 80305298 00300EF8 98 C7 00 0F */ stb r6, 0xf(r7)
+/* 8030529C 00300EFC 42 00 FF 78 */ bdnz lbl_80305214
+lbl_803052A0:
+/* 803052A0 00300F00 38 04 00 01 */ addi r0, r4, 1
+/* 803052A4 00300F04 7C 05 00 50 */ subf r0, r5, r0
+/* 803052A8 00300F08 54 00 F8 7E */ srwi r0, r0, 1
+/* 803052AC 00300F0C 7C 09 03 A6 */ mtctr r0
+/* 803052B0 00300F10 7C 05 20 40 */ cmplw r5, r4
+/* 803052B4 00300F14 4C 80 00 20 */ bgelr
+lbl_803052B8:
+/* 803052B8 00300F18 7C C3 2A 14 */ add r6, r3, r5
+/* 803052BC 00300F1C 7C 83 28 AE */ lbzx r4, r3, r5
+/* 803052C0 00300F20 88 06 00 01 */ lbz r0, 1(r6)
+/* 803052C4 00300F24 7C 03 29 AE */ stbx r0, r3, r5
+/* 803052C8 00300F28 38 A5 00 02 */ addi r5, r5, 2
+/* 803052CC 00300F2C 98 86 00 01 */ stb r4, 1(r6)
+/* 803052D0 00300F30 42 00 FF E8 */ bdnz lbl_803052B8
+/* 803052D4 00300F34 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_str.s b/asm/SDK/VF/pf_str.s new file mode 100644 index 0000000..dc41d67 --- /dev/null +++ b/asm/SDK/VF/pf_str.s @@ -0,0 +1,439 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFSTR_SetCodeMode
+VFiPFSTR_SetCodeMode:
+/* 803052D8 00300F38 90 83 00 0C */ stw r4, 0xc(r3)
+/* 803052DC 00300F3C 4E 80 00 20 */ blr
+
+.global VFiPFSTR_GetCodeMode
+VFiPFSTR_GetCodeMode:
+/* 803052E0 00300F40 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 803052E4 00300F44 4E 80 00 20 */ blr
+
+.global VFiPFSTR_SetLocalStr
+VFiPFSTR_SetLocalStr:
+/* 803052E8 00300F48 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 803052EC 00300F4C 28 00 00 01 */ cmplwi r0, 1
+/* 803052F0 00300F50 41 82 00 0C */ beq lbl_803052FC
+/* 803052F4 00300F54 2C 04 00 00 */ cmpwi r4, 0
+/* 803052F8 00300F58 40 82 00 10 */ bne lbl_80305308
+lbl_803052FC:
+/* 803052FC 00300F5C 80 03 00 00 */ lwz r0, 0(r3)
+/* 80305300 00300F60 90 03 00 08 */ stw r0, 8(r3)
+/* 80305304 00300F64 4E 80 00 20 */ blr
+lbl_80305308:
+/* 80305308 00300F68 90 83 00 08 */ stw r4, 8(r3)
+/* 8030530C 00300F6C 4E 80 00 20 */ blr
+
+.global VFiPFSTR_GetStrPos
+VFiPFSTR_GetStrPos:
+/* 80305310 00300F70 28 04 00 01 */ cmplwi r4, 1
+/* 80305314 00300F74 40 82 00 0C */ bne lbl_80305320
+/* 80305318 00300F78 80 63 00 00 */ lwz r3, 0(r3)
+/* 8030531C 00300F7C 4E 80 00 20 */ blr
+lbl_80305320:
+/* 80305320 00300F80 28 04 00 02 */ cmplwi r4, 2
+/* 80305324 00300F84 40 82 00 0C */ bne lbl_80305330
+/* 80305328 00300F88 80 63 00 04 */ lwz r3, 4(r3)
+/* 8030532C 00300F8C 4E 80 00 20 */ blr
+lbl_80305330:
+/* 80305330 00300F90 80 63 00 08 */ lwz r3, 8(r3)
+/* 80305334 00300F94 4E 80 00 20 */ blr
+
+.global VFiPFSTR_MoveStrPos
+VFiPFSTR_MoveStrPos:
+/* 80305338 00300F98 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8030533C 00300F9C 7C 08 02 A6 */ mflr r0
+/* 80305340 00300FA0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80305344 00300FA4 39 61 00 20 */ addi r11, r1, 0x20
+/* 80305348 00300FA8 4B EC 1D DD */ bl _savegpr_26
+/* 8030534C 00300FAC 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80305350 00300FB0 7C 7F 1B 78 */ mr r31, r3
+/* 80305354 00300FB4 7C 9A 23 78 */ mr r26, r4
+/* 80305358 00300FB8 3B 80 00 00 */ li r28, 0
+/* 8030535C 00300FBC 28 00 00 01 */ cmplwi r0, 1
+/* 80305360 00300FC0 40 82 00 50 */ bne lbl_803053B0
+/* 80305364 00300FC4 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha
+/* 80305368 00300FC8 83 A3 00 00 */ lwz r29, 0(r3)
+/* 8030536C 00300FCC 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l
+/* 80305370 00300FD0 48 00 00 34 */ b lbl_803053A4
+lbl_80305374:
+/* 80305374 00300FD4 88 1D 00 00 */ lbz r0, 0(r29)
+/* 80305378 00300FD8 38 80 00 01 */ li r4, 1
+/* 8030537C 00300FDC 81 9E 00 30 */ lwz r12, 0x30(r30)
+/* 80305380 00300FE0 7C 03 07 74 */ extsb r3, r0
+/* 80305384 00300FE4 7D 89 03 A6 */ mtctr r12
+/* 80305388 00300FE8 4E 80 04 21 */ bctrl
+/* 8030538C 00300FEC 2C 03 00 00 */ cmpwi r3, 0
+/* 80305390 00300FF0 41 82 00 0C */ beq lbl_8030539C
+/* 80305394 00300FF4 38 1C 00 01 */ addi r0, r28, 1
+/* 80305398 00300FF8 7C 1C 07 34 */ extsh r28, r0
+lbl_8030539C:
+/* 8030539C 00300FFC 3B 9C 00 01 */ addi r28, r28, 1
+/* 803053A0 00301000 3B 5A FF FF */ addi r26, r26, -1
+lbl_803053A4:
+/* 803053A4 00301004 7F 40 07 35 */ extsh. r0, r26
+/* 803053A8 00301008 40 82 FF CC */ bne lbl_80305374
+/* 803053AC 0030100C 48 00 00 48 */ b lbl_803053F4
+lbl_803053B0:
+/* 803053B0 00301010 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha
+/* 803053B4 00301014 83 63 00 00 */ lwz r27, 0(r3)
+/* 803053B8 00301018 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l
+/* 803053BC 0030101C 3B A0 00 00 */ li r29, 0
+/* 803053C0 00301020 48 00 00 28 */ b lbl_803053E8
+lbl_803053C4:
+/* 803053C4 00301024 81 9E 00 34 */ lwz r12, 0x34(r30)
+/* 803053C8 00301028 7F 63 DB 78 */ mr r3, r27
+/* 803053CC 0030102C 7D 89 03 A6 */ mtctr r12
+/* 803053D0 00301030 4E 80 04 21 */ bctrl
+/* 803053D4 00301034 54 64 08 3C */ slwi r4, r3, 1
+/* 803053D8 00301038 7C 60 07 34 */ extsh r0, r3
+/* 803053DC 0030103C 7F 7B 22 14 */ add r27, r27, r4
+/* 803053E0 00301040 3B BD 00 01 */ addi r29, r29, 1
+/* 803053E4 00301044 7F 9C 02 14 */ add r28, r28, r0
+lbl_803053E8:
+/* 803053E8 00301048 7F A0 07 34 */ extsh r0, r29
+/* 803053EC 0030104C 7C 00 D0 00 */ cmpw r0, r26
+/* 803053F0 00301050 41 80 FF D4 */ blt lbl_803053C4
+lbl_803053F4:
+/* 803053F4 00301054 80 7F 00 00 */ lwz r3, 0(r31)
+/* 803053F8 00301058 7F 80 07 34 */ extsh r0, r28
+/* 803053FC 0030105C 39 61 00 20 */ addi r11, r1, 0x20
+/* 80305400 00301060 7C 03 02 14 */ add r0, r3, r0
+/* 80305404 00301064 90 1F 00 00 */ stw r0, 0(r31)
+/* 80305408 00301068 4B EC 1D 69 */ bl _restgpr_26
+/* 8030540C 0030106C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80305410 00301070 7C 08 03 A6 */ mtlr r0
+/* 80305414 00301074 38 21 00 20 */ addi r1, r1, 0x20
+/* 80305418 00301078 4E 80 00 20 */ blr
+
+.global VFiPFSTR_InitStr
+VFiPFSTR_InitStr:
+/* 8030541C 0030107C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80305420 00301080 7C 08 02 A6 */ mflr r0
+/* 80305424 00301084 2C 03 00 00 */ cmpwi r3, 0
+/* 80305428 00301088 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8030542C 0030108C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80305430 00301090 7C BF 2B 78 */ mr r31, r5
+/* 80305434 00301094 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80305438 00301098 7C 9E 23 78 */ mr r30, r4
+/* 8030543C 0030109C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80305440 003010A0 7C 7D 1B 78 */ mr r29, r3
+/* 80305444 003010A4 41 82 00 0C */ beq lbl_80305450
+/* 80305448 003010A8 2C 04 00 00 */ cmpwi r4, 0
+/* 8030544C 003010AC 40 82 00 0C */ bne lbl_80305458
+lbl_80305450:
+/* 80305450 003010B0 38 60 00 0A */ li r3, 0xa
+/* 80305454 003010B4 48 00 00 58 */ b lbl_803054AC
+lbl_80305458:
+/* 80305458 003010B8 28 05 00 01 */ cmplwi r5, 1
+/* 8030545C 003010BC 40 82 00 1C */ bne lbl_80305478
+/* 80305460 003010C0 90 83 00 00 */ stw r4, 0(r3)
+/* 80305464 003010C4 7F C3 F3 78 */ mr r3, r30
+/* 80305468 003010C8 4B FF FC 65 */ bl VFipf_strlen
+/* 8030546C 003010CC 7C 1E 1A 14 */ add r0, r30, r3
+/* 80305470 003010D0 90 1D 00 04 */ stw r0, 4(r29)
+/* 80305474 003010D4 48 00 00 30 */ b lbl_803054A4
+lbl_80305478:
+/* 80305478 003010D8 28 05 00 02 */ cmplwi r5, 2
+/* 8030547C 003010DC 40 82 00 20 */ bne lbl_8030549C
+/* 80305480 003010E0 90 83 00 00 */ stw r4, 0(r3)
+/* 80305484 003010E4 7F C3 F3 78 */ mr r3, r30
+/* 80305488 003010E8 48 00 03 D9 */ bl VFipf_w_strlen
+/* 8030548C 003010EC 54 60 08 3C */ slwi r0, r3, 1
+/* 80305490 003010F0 7C 1E 02 14 */ add r0, r30, r0
+/* 80305494 003010F4 90 1D 00 04 */ stw r0, 4(r29)
+/* 80305498 003010F8 48 00 00 0C */ b lbl_803054A4
+lbl_8030549C:
+/* 8030549C 003010FC 38 60 00 0A */ li r3, 0xa
+/* 803054A0 00301100 48 00 00 0C */ b lbl_803054AC
+lbl_803054A4:
+/* 803054A4 00301104 93 FD 00 0C */ stw r31, 0xc(r29)
+/* 803054A8 00301108 38 60 00 00 */ li r3, 0
+lbl_803054AC:
+/* 803054AC 0030110C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803054B0 00301110 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803054B4 00301114 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803054B8 00301118 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803054BC 0030111C 7C 08 03 A6 */ mtlr r0
+/* 803054C0 00301120 38 21 00 20 */ addi r1, r1, 0x20
+/* 803054C4 00301124 4E 80 00 20 */ blr
+
+.global VFiPFSTR_StrLen
+VFiPFSTR_StrLen:
+/* 803054C8 00301128 80 83 00 00 */ lwz r4, 0(r3)
+/* 803054CC 0030112C 80 03 00 04 */ lwz r0, 4(r3)
+/* 803054D0 00301130 7C 04 00 50 */ subf r0, r4, r0
+/* 803054D4 00301134 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 803054D8 00301138 4E 80 00 20 */ blr
+
+.global VFiPFSTR_StrNumChar
+VFiPFSTR_StrNumChar:
+/* 803054DC 0030113C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803054E0 00301140 7C 08 02 A6 */ mflr r0
+/* 803054E4 00301144 28 04 00 01 */ cmplwi r4, 1
+/* 803054E8 00301148 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803054EC 0030114C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803054F0 00301150 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803054F4 00301154 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803054F8 00301158 40 82 00 0C */ bne lbl_80305504
+/* 803054FC 0030115C 83 C3 00 00 */ lwz r30, 0(r3)
+/* 80305500 00301160 48 00 00 08 */ b lbl_80305508
+lbl_80305504:
+/* 80305504 00301164 83 C3 00 04 */ lwz r30, 4(r3)
+lbl_80305508:
+/* 80305508 00301168 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8030550C 0030116C 28 00 00 01 */ cmplwi r0, 1
+/* 80305510 00301170 40 82 00 4C */ bne lbl_8030555C
+/* 80305514 00301174 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
+/* 80305518 00301178 3B A0 00 00 */ li r29, 0
+/* 8030551C 0030117C 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
+/* 80305520 00301180 48 00 00 2C */ b lbl_8030554C
+lbl_80305524:
+/* 80305524 00301184 81 9F 00 30 */ lwz r12, 0x30(r31)
+/* 80305528 00301188 7C 63 07 74 */ extsb r3, r3
+/* 8030552C 0030118C 38 80 00 01 */ li r4, 1
+/* 80305530 00301190 7D 89 03 A6 */ mtctr r12
+/* 80305534 00301194 4E 80 04 21 */ bctrl
+/* 80305538 00301198 2C 03 00 00 */ cmpwi r3, 0
+/* 8030553C 0030119C 41 82 00 08 */ beq lbl_80305544
+/* 80305540 003011A0 3B DE 00 01 */ addi r30, r30, 1
+lbl_80305544:
+/* 80305544 003011A4 3B DE 00 01 */ addi r30, r30, 1
+/* 80305548 003011A8 3B BD 00 01 */ addi r29, r29, 1
+lbl_8030554C:
+/* 8030554C 003011AC 88 7E 00 00 */ lbz r3, 0(r30)
+/* 80305550 003011B0 7C 60 07 75 */ extsb. r0, r3
+/* 80305554 003011B4 40 82 FF D0 */ bne lbl_80305524
+/* 80305558 003011B8 48 00 00 44 */ b lbl_8030559C
+lbl_8030555C:
+/* 8030555C 003011BC 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
+/* 80305560 003011C0 3B A0 00 00 */ li r29, 0
+/* 80305564 003011C4 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
+/* 80305568 003011C8 48 00 00 1C */ b lbl_80305584
+lbl_8030556C:
+/* 8030556C 003011CC 81 9F 00 34 */ lwz r12, 0x34(r31)
+/* 80305570 003011D0 7F C3 F3 78 */ mr r3, r30
+/* 80305574 003011D4 7D 89 03 A6 */ mtctr r12
+/* 80305578 003011D8 4E 80 04 21 */ bctrl
+/* 8030557C 003011DC 7F DE 1A 14 */ add r30, r30, r3
+/* 80305580 003011E0 3B BD 00 01 */ addi r29, r29, 1
+lbl_80305584:
+/* 80305584 003011E4 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80305588 003011E8 7C 00 07 75 */ extsb. r0, r0
+/* 8030558C 003011EC 40 82 FF E0 */ bne lbl_8030556C
+/* 80305590 003011F0 88 1E 00 01 */ lbz r0, 1(r30)
+/* 80305594 003011F4 7C 00 07 75 */ extsb. r0, r0
+/* 80305598 003011F8 40 82 FF D4 */ bne lbl_8030556C
+lbl_8030559C:
+/* 8030559C 003011FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803055A0 00301200 7F A3 EB 78 */ mr r3, r29
+/* 803055A4 00301204 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803055A8 00301208 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803055AC 0030120C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803055B0 00301210 7C 08 03 A6 */ mtlr r0
+/* 803055B4 00301214 38 21 00 20 */ addi r1, r1, 0x20
+/* 803055B8 00301218 4E 80 00 20 */ blr
+
+.global VFiPFSTR_StrCmp
+VFiPFSTR_StrCmp:
+/* 803055BC 0030121C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803055C0 00301220 7C 08 02 A6 */ mflr r0
+/* 803055C4 00301224 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803055C8 00301228 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 803055CC 0030122C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803055D0 00301230 28 00 00 01 */ cmplwi r0, 1
+/* 803055D4 00301234 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803055D8 00301238 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803055DC 0030123C 7C 9D 23 78 */ mr r29, r4
+/* 803055E0 00301240 40 82 00 10 */ bne lbl_803055F0
+/* 803055E4 00301244 80 63 00 00 */ lwz r3, 0(r3)
+/* 803055E8 00301248 4B FF FB 29 */ bl VFipf_strcmp
+/* 803055EC 0030124C 48 00 00 58 */ b lbl_80305644
+lbl_803055F0:
+/* 803055F0 00301250 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
+/* 803055F4 00301254 83 C3 00 00 */ lwz r30, 0(r3)
+/* 803055F8 00301258 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
+lbl_803055FC:
+/* 803055FC 0030125C 81 9F 00 24 */ lwz r12, 0x24(r31)
+/* 80305600 00301260 7F A3 EB 78 */ mr r3, r29
+/* 80305604 00301264 38 81 00 08 */ addi r4, r1, 8
+/* 80305608 00301268 7D 89 03 A6 */ mtctr r12
+/* 8030560C 0030126C 4E 80 04 21 */ bctrl
+/* 80305610 00301270 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 80305614 00301274 3B BD 00 01 */ addi r29, r29, 1
+/* 80305618 00301278 A0 61 00 08 */ lhz r3, 8(r1)
+/* 8030561C 0030127C 3B DE 00 02 */ addi r30, r30, 2
+/* 80305620 00301280 7C 00 18 40 */ cmplw r0, r3
+/* 80305624 00301284 40 82 00 18 */ bne lbl_8030563C
+/* 80305628 00301288 A0 1E FF FE */ lhz r0, -2(r30)
+/* 8030562C 0030128C 2C 00 00 00 */ cmpwi r0, 0
+/* 80305630 00301290 41 82 00 0C */ beq lbl_8030563C
+/* 80305634 00301294 2C 03 00 00 */ cmpwi r3, 0
+/* 80305638 00301298 40 82 FF C4 */ bne lbl_803055FC
+lbl_8030563C:
+/* 8030563C 0030129C A0 1E FF FE */ lhz r0, -2(r30)
+/* 80305640 003012A0 7C 63 00 50 */ subf r3, r3, r0
+lbl_80305644:
+/* 80305644 003012A4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80305648 003012A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8030564C 003012AC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80305650 003012B0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80305654 003012B4 7C 08 03 A6 */ mtlr r0
+/* 80305658 003012B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8030565C 003012BC 4E 80 00 20 */ blr
+
+.global VFiPFSTR_StrNCmp
+VFiPFSTR_StrNCmp:
+/* 80305660 003012C0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80305664 003012C4 7C 08 02 A6 */ mflr r0
+/* 80305668 003012C8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8030566C 003012CC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80305670 003012D0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80305674 003012D4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80305678 003012D8 7C FD 3B 78 */ mr r29, r7
+/* 8030567C 003012DC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80305680 003012E0 7C 9C 23 78 */ mr r28, r4
+/* 80305684 003012E4 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80305688 003012E8 28 00 00 01 */ cmplwi r0, 1
+/* 8030568C 003012EC 41 82 00 0C */ beq lbl_80305698
+/* 80305690 003012F0 28 05 00 03 */ cmplwi r5, 3
+/* 80305694 003012F4 40 82 00 44 */ bne lbl_803056D8
+lbl_80305698:
+/* 80305698 003012F8 28 05 00 01 */ cmplwi r5, 1
+/* 8030569C 003012FC 40 82 00 10 */ bne lbl_803056AC
+/* 803056A0 00301300 80 03 00 00 */ lwz r0, 0(r3)
+/* 803056A4 00301304 7C 60 32 14 */ add r3, r0, r6
+/* 803056A8 00301308 48 00 00 20 */ b lbl_803056C8
+lbl_803056AC:
+/* 803056AC 0030130C 28 05 00 02 */ cmplwi r5, 2
+/* 803056B0 00301310 40 82 00 10 */ bne lbl_803056C0
+/* 803056B4 00301314 80 03 00 04 */ lwz r0, 4(r3)
+/* 803056B8 00301318 7C 60 32 14 */ add r3, r0, r6
+/* 803056BC 0030131C 48 00 00 0C */ b lbl_803056C8
+lbl_803056C0:
+/* 803056C0 00301320 80 03 00 08 */ lwz r0, 8(r3)
+/* 803056C4 00301324 7C 60 32 14 */ add r3, r0, r6
+lbl_803056C8:
+/* 803056C8 00301328 7F 84 E3 78 */ mr r4, r28
+/* 803056CC 0030132C 7F A5 EB 78 */ mr r5, r29
+/* 803056D0 00301330 4B FF FA 79 */ bl VFipf_strncmp
+/* 803056D4 00301334 48 00 00 84 */ b lbl_80305758
+lbl_803056D8:
+/* 803056D8 00301338 28 05 00 01 */ cmplwi r5, 1
+/* 803056DC 0030133C 40 82 00 14 */ bne lbl_803056F0
+/* 803056E0 00301340 80 63 00 00 */ lwz r3, 0(r3)
+/* 803056E4 00301344 54 C0 08 3C */ slwi r0, r6, 1
+/* 803056E8 00301348 7F C3 02 14 */ add r30, r3, r0
+/* 803056EC 0030134C 48 00 00 10 */ b lbl_803056FC
+lbl_803056F0:
+/* 803056F0 00301350 80 63 00 04 */ lwz r3, 4(r3)
+/* 803056F4 00301354 54 C0 08 3C */ slwi r0, r6, 1
+/* 803056F8 00301358 7F C3 02 14 */ add r30, r3, r0
+lbl_803056FC:
+/* 803056FC 0030135C 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
+/* 80305700 00301360 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
+lbl_80305704:
+/* 80305704 00301364 81 9F 00 24 */ lwz r12, 0x24(r31)
+/* 80305708 00301368 7F 83 E3 78 */ mr r3, r28
+/* 8030570C 0030136C 38 81 00 08 */ addi r4, r1, 8
+/* 80305710 00301370 7D 89 03 A6 */ mtctr r12
+/* 80305714 00301374 4E 80 04 21 */ bctrl
+/* 80305718 00301378 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8030571C 0030137C 3B 9C 00 01 */ addi r28, r28, 1
+/* 80305720 00301380 A0 61 00 08 */ lhz r3, 8(r1)
+/* 80305724 00301384 3B BD FF FF */ addi r29, r29, -1
+/* 80305728 00301388 3B DE 00 02 */ addi r30, r30, 2
+/* 8030572C 0030138C 7C 00 18 40 */ cmplw r0, r3
+/* 80305730 00301390 40 82 00 20 */ bne lbl_80305750
+/* 80305734 00301394 57 A0 04 3F */ clrlwi. r0, r29, 0x10
+/* 80305738 00301398 41 82 00 18 */ beq lbl_80305750
+/* 8030573C 0030139C A0 1E FF FE */ lhz r0, -2(r30)
+/* 80305740 003013A0 2C 00 00 00 */ cmpwi r0, 0
+/* 80305744 003013A4 41 82 00 0C */ beq lbl_80305750
+/* 80305748 003013A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030574C 003013AC 40 82 FF B8 */ bne lbl_80305704
+lbl_80305750:
+/* 80305750 003013B0 A0 1E FF FE */ lhz r0, -2(r30)
+/* 80305754 003013B4 7C 63 00 50 */ subf r3, r3, r0
+lbl_80305758:
+/* 80305758 003013B8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8030575C 003013BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80305760 003013C0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80305764 003013C4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80305768 003013C8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8030576C 003013CC 7C 08 03 A6 */ mtlr r0
+/* 80305770 003013D0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80305774 003013D4 4E 80 00 20 */ blr
+
+.global VFiPFSTR_ToUpperNStr
+VFiPFSTR_ToUpperNStr:
+/* 80305778 003013D8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8030577C 003013DC 7C 08 02 A6 */ mflr r0
+/* 80305780 003013E0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80305784 003013E4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80305788 003013E8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8030578C 003013EC 7C BE 2B 78 */ mr r30, r5
+/* 80305790 003013F0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80305794 003013F4 7C 9D 23 78 */ mr r29, r4
+/* 80305798 003013F8 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8030579C 003013FC 28 00 00 01 */ cmplwi r0, 1
+/* 803057A0 00301400 40 82 00 3C */ bne lbl_803057DC
+/* 803057A4 00301404 83 E3 00 00 */ lwz r31, 0(r3)
+/* 803057A8 00301408 48 00 00 1C */ b lbl_803057C4
+lbl_803057AC:
+/* 803057AC 0030140C 7C 63 07 74 */ extsb r3, r3
+/* 803057B0 00301410 4B FF F6 E5 */ bl VFipf_toupper
+/* 803057B4 00301414 98 7E 00 00 */ stb r3, 0(r30)
+/* 803057B8 00301418 3B DE 00 01 */ addi r30, r30, 1
+/* 803057BC 0030141C 3B FF 00 01 */ addi r31, r31, 1
+/* 803057C0 00301420 3B BD FF FF */ addi r29, r29, -1
+lbl_803057C4:
+/* 803057C4 00301424 57 A0 04 3F */ clrlwi. r0, r29, 0x10
+/* 803057C8 00301428 41 82 00 74 */ beq lbl_8030583C
+/* 803057CC 0030142C 88 7F 00 00 */ lbz r3, 0(r31)
+/* 803057D0 00301430 7C 60 07 75 */ extsb. r0, r3
+/* 803057D4 00301434 40 82 FF D8 */ bne lbl_803057AC
+/* 803057D8 00301438 48 00 00 64 */ b lbl_8030583C
+lbl_803057DC:
+/* 803057DC 0030143C 80 83 00 00 */ lwz r4, 0(r3)
+/* 803057E0 00301440 48 00 00 40 */ b lbl_80305820
+lbl_803057E4:
+/* 803057E4 00301444 28 03 00 61 */ cmplwi r3, 0x61
+/* 803057E8 00301448 38 00 00 00 */ li r0, 0
+/* 803057EC 0030144C 41 80 00 10 */ blt lbl_803057FC
+/* 803057F0 00301450 28 03 00 7A */ cmplwi r3, 0x7a
+/* 803057F4 00301454 41 81 00 08 */ bgt lbl_803057FC
+/* 803057F8 00301458 38 00 00 01 */ li r0, 1
+lbl_803057FC:
+/* 803057FC 0030145C 2C 00 00 00 */ cmpwi r0, 0
+/* 80305800 00301460 41 82 00 08 */ beq lbl_80305808
+/* 80305804 00301464 38 63 FF E0 */ addi r3, r3, -32
+lbl_80305808:
+/* 80305808 00301468 98 7E 00 00 */ stb r3, 0(r30)
+/* 8030580C 0030146C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
+/* 80305810 00301470 38 84 00 02 */ addi r4, r4, 2
+/* 80305814 00301474 3B BD FF FF */ addi r29, r29, -1
+/* 80305818 00301478 98 1E 00 01 */ stb r0, 1(r30)
+/* 8030581C 0030147C 3B DE 00 02 */ addi r30, r30, 2
+lbl_80305820:
+/* 80305820 00301480 57 A0 04 3F */ clrlwi. r0, r29, 0x10
+/* 80305824 00301484 41 82 00 10 */ beq lbl_80305834
+/* 80305828 00301488 A0 64 00 00 */ lhz r3, 0(r4)
+/* 8030582C 0030148C 2C 03 00 00 */ cmpwi r3, 0
+/* 80305830 00301490 40 82 FF B4 */ bne lbl_803057E4
+lbl_80305834:
+/* 80305834 00301494 38 00 00 00 */ li r0, 0
+/* 80305838 00301498 98 1E 00 00 */ stb r0, 0(r30)
+lbl_8030583C:
+/* 8030583C 0030149C 38 00 00 00 */ li r0, 0
+/* 80305840 003014A0 98 1E 00 00 */ stb r0, 0(r30)
+/* 80305844 003014A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80305848 003014A8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8030584C 003014AC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80305850 003014B0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80305854 003014B4 7C 08 03 A6 */ mtlr r0
+/* 80305858 003014B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8030585C 003014BC 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_volume.s b/asm/SDK/VF/pf_volume.s new file mode 100644 index 0000000..7ddacbf --- /dev/null +++ b/asm/SDK/VF/pf_volume.s @@ -0,0 +1,877 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFVOL_DoMountVolume
+VFiPFVOL_DoMountVolume:
+/* 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 VFiPFENT_GetRootDir
+/* 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 VFiPFFAT_InitFATRegion
+/* 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 VFiPFENT_MakeRootDir
+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
+
+.global VFiPFVOL_InitModule
+VFiPFVOL_InitModule:
+/* 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, VFiPFCODE_CP932_OEM2Unicode@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, VFiPFCODE_CP932_Unicode2OEM@ha
+/* 803192D0 00314F30 3C E0 80 32 */ lis r7, VFiPFCODE_CP932_OEMCharWidth@ha
+/* 803192D4 00314F34 3C C0 80 32 */ lis r6, VFiPFCODE_CP932_isOEMMBchar@ha
+/* 803192D8 00314F38 3C A0 80 32 */ lis r5, VFiPFCODE_CP932_UnicodeCharWidth@ha
+/* 803192DC 00314F3C 3C 60 80 32 */ lis r3, VFiPFCODE_CP932_isUnicodeMBchar@ha
+/* 803192E0 00314F40 39 29 9C 00 */ addi r9, r9, VFiPFCODE_CP932_OEM2Unicode@l
+/* 803192E4 00314F44 39 08 9D BC */ addi r8, r8, VFiPFCODE_CP932_Unicode2OEM@l
+/* 803192E8 00314F48 38 E7 A0 24 */ addi r7, r7, VFiPFCODE_CP932_OEMCharWidth@l
+/* 803192EC 00314F4C 38 C6 A0 58 */ addi r6, r6, VFiPFCODE_CP932_isOEMMBchar@l
+/* 803192F0 00314F50 38 A5 A0 D4 */ addi r5, r5, VFiPFCODE_CP932_UnicodeCharWidth@l
+/* 803192F4 00314F54 38 63 A1 08 */ addi r3, r3, VFiPFCODE_CP932_isUnicodeMBchar@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 VFiPFVOL_CheckForRead
+VFiPFVOL_CheckForRead:
+/* 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 VFiPFFILE_FinalizeAllFiles
+/* 803193C0 00315020 7F E3 FB 78 */ mr r3, r31
+/* 803193C4 00315024 4B FF 1E 75 */ bl VFiPFDIR_FinalizeAllDirs
+/* 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 VFiPFVOL_DoMountVolume
+/* 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 VFiPFFILE_FinalizeAllFiles
+/* 8031948C 003150EC 7F E3 FB 78 */ mr r3, r31
+/* 80319490 003150F0 4B FF 1D A9 */ bl VFiPFDIR_FinalizeAllDirs
+/* 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 VFiPFVOL_CheckForWrite
+VFiPFVOL_CheckForWrite:
+/* 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 VFiPFFILE_FinalizeAllFiles
+/* 8031957C 003151DC 7F E3 FB 78 */ mr r3, r31
+/* 80319580 003151E0 4B FF 1C B9 */ bl VFiPFDIR_FinalizeAllDirs
+/* 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 VFiPFVOL_DoMountVolume
+/* 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 VFiPFFILE_FinalizeAllFiles
+/* 80319648 003152A8 7F E3 FB 78 */ mr r3, r31
+/* 8031964C 003152AC 4B FF 1B ED */ bl VFiPFDIR_FinalizeAllDirs
+/* 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 VFiPFVOL_GetCurrentDir
+VFiPFVOL_GetCurrentDir:
+/* 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 VFiPFVOL_SetCurrentVolume
+VFiPFVOL_SetCurrentVolume:
+/* 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 VFiPFVOL_GetCurrentVolume
+VFiPFVOL_GetCurrentVolume:
+/* 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 VFiPFVOL_GetVolumeFromDrvChar
+VFiPFVOL_GetVolumeFromDrvChar:
+/* 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 VFiPFVOL_LoadVolumeLabelFromBuf
+VFiPFVOL_LoadVolumeLabelFromBuf:
+/* 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 VFiPFVOL_errnum
+VFiPFVOL_errnum:
+/* 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
diff --git a/asm/SDK/VF/pf_w_clib.s b/asm/SDK/VF/pf_w_clib.s new file mode 100644 index 0000000..aa35fcb --- /dev/null +++ b/asm/SDK/VF/pf_w_clib.s @@ -0,0 +1,57 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFipf_w_strlen
+VFipf_w_strlen:
+/* 80305860 003014C0 7C 64 1B 78 */ mr r4, r3
+/* 80305864 003014C4 48 00 00 08 */ b lbl_8030586C
+lbl_80305868:
+/* 80305868 003014C8 38 84 00 02 */ addi r4, r4, 2
+lbl_8030586C:
+/* 8030586C 003014CC A0 04 00 00 */ lhz r0, 0(r4)
+/* 80305870 003014D0 2C 00 00 00 */ cmpwi r0, 0
+/* 80305874 003014D4 40 82 FF F4 */ bne lbl_80305868
+/* 80305878 003014D8 7C 03 20 50 */ subf r0, r3, r4
+/* 8030587C 003014DC 7C 03 0E 70 */ srawi r3, r0, 1
+/* 80305880 003014E0 4E 80 00 20 */ blr
+
+.global VFipf_w_strcpy
+VFipf_w_strcpy:
+/* 80305884 003014E4 7C 65 1B 78 */ mr r5, r3
+/* 80305888 003014E8 48 00 00 0C */ b lbl_80305894
+lbl_8030588C:
+/* 8030588C 003014EC 38 84 00 02 */ addi r4, r4, 2
+/* 80305890 003014F0 38 A5 00 02 */ addi r5, r5, 2
+lbl_80305894:
+/* 80305894 003014F4 A0 04 00 00 */ lhz r0, 0(r4)
+/* 80305898 003014F8 2C 00 00 00 */ cmpwi r0, 0
+/* 8030589C 003014FC B0 05 00 00 */ sth r0, 0(r5)
+/* 803058A0 00301500 40 82 FF EC */ bne lbl_8030588C
+/* 803058A4 00301504 4E 80 00 20 */ blr
+
+.global VFipf_w_strncmp
+VFipf_w_strncmp:
+/* 803058A8 00301508 7C A9 03 A6 */ mtctr r5
+/* 803058AC 0030150C 2C 05 00 00 */ cmpwi r5, 0
+/* 803058B0 00301510 41 82 00 3C */ beq lbl_803058EC
+lbl_803058B4:
+/* 803058B4 00301514 A0 A3 00 00 */ lhz r5, 0(r3)
+/* 803058B8 00301518 2C 05 00 00 */ cmpwi r5, 0
+/* 803058BC 0030151C 41 82 00 18 */ beq lbl_803058D4
+/* 803058C0 00301520 A0 04 00 00 */ lhz r0, 0(r4)
+/* 803058C4 00301524 2C 00 00 00 */ cmpwi r0, 0
+/* 803058C8 00301528 41 82 00 0C */ beq lbl_803058D4
+/* 803058CC 0030152C 7C 05 00 40 */ cmplw r5, r0
+/* 803058D0 00301530 41 82 00 10 */ beq lbl_803058E0
+lbl_803058D4:
+/* 803058D4 00301534 A0 04 00 00 */ lhz r0, 0(r4)
+/* 803058D8 00301538 7C 60 28 50 */ subf r3, r0, r5
+/* 803058DC 0030153C 4E 80 00 20 */ blr
+lbl_803058E0:
+/* 803058E0 00301540 38 63 00 02 */ addi r3, r3, 2
+/* 803058E4 00301544 38 84 00 02 */ addi r4, r4, 2
+/* 803058E8 00301548 42 00 FF CC */ bdnz lbl_803058B4
+lbl_803058EC:
+/* 803058EC 0030154C 38 60 00 00 */ li r3, 0
+/* 803058F0 00301550 4E 80 00 20 */ blr
diff --git a/asm/text_9.s b/asm/text_9.s index e52c8b1..1cdfbba 100644 --- a/asm/text_9.s +++ b/asm/text_9.s @@ -1,47601 +1,5868 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global func_802FFF1C -func_802FFF1C: -/* 802FFF1C 002FBB7C 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 802FFF20 002FBB80 7C 2C 0B 78 */ mr r12, r1 -/* 802FFF24 002FBB84 21 6B FE 60 */ subfic r11, r11, -416 -/* 802FFF28 002FBB88 7C 21 59 6E */ stwux r1, r1, r11 -/* 802FFF2C 002FBB8C 7C 08 02 A6 */ mflr r0 -/* 802FFF30 002FBB90 3C A0 80 44 */ lis r5, lbl_80446240@ha -/* 802FFF34 002FBB94 90 0C 00 04 */ stw r0, 4(r12) -/* 802FFF38 002FBB98 93 EC FF FC */ stw r31, -4(r12) -/* 802FFF3C 002FBB9C 93 CC FF F8 */ stw r30, -8(r12) -/* 802FFF40 002FBBA0 93 AC FF F4 */ stw r29, -0xc(r12) -/* 802FFF44 002FBBA4 7C 9D 23 78 */ mr r29, r4 -/* 802FFF48 002FBBA8 38 80 00 00 */ li r4, 0 -/* 802FFF4C 002FBBAC 93 8C FF F0 */ stw r28, -0x10(r12) -/* 802FFF50 002FBBB0 7C 7C 1B 78 */ mr r28, r3 -/* 802FFF54 002FBBB4 38 65 62 40 */ addi r3, r5, lbl_80446240@l -/* 802FFF58 002FBBB8 4B FA 32 01 */ bl IOS_Open -/* 802FFF5C 002FBBBC 2C 03 00 00 */ cmpwi r3, 0 -/* 802FFF60 002FBBC0 7C 7F 1B 78 */ mr r31, r3 -/* 802FFF64 002FBBC4 40 80 00 0C */ bge lbl_802FFF70 -/* 802FFF68 002FBBC8 38 60 FF FF */ li r3, -1 -/* 802FFF6C 002FBBCC 48 00 00 C8 */ b lbl_80300034 -lbl_802FFF70: -/* 802FFF70 002FBBD0 7F A3 EB 78 */ mr r3, r29 -/* 802FFF74 002FBBD4 38 80 00 00 */ li r4, 0 -/* 802FFF78 002FBBD8 48 00 00 0C */ b lbl_802FFF84 -lbl_802FFF7C: -/* 802FFF7C 002FBBDC 38 84 00 01 */ addi r4, r4, 1 -/* 802FFF80 002FBBE0 38 63 00 01 */ addi r3, r3, 1 -lbl_802FFF84: -/* 802FFF84 002FBBE4 28 04 01 00 */ cmplwi r4, 0x100 -/* 802FFF88 002FBBE8 40 80 00 10 */ bge lbl_802FFF98 -/* 802FFF8C 002FBBEC 88 03 00 00 */ lbz r0, 0(r3) -/* 802FFF90 002FBBF0 7C 00 07 75 */ extsb. r0, r0 -/* 802FFF94 002FBBF4 40 82 FF E8 */ bne lbl_802FFF7C -lbl_802FFF98: -/* 802FFF98 002FBBF8 7F DD 18 51 */ subf. r30, r29, r3 -/* 802FFF9C 002FBBFC 40 82 00 0C */ bne lbl_802FFFA8 -/* 802FFFA0 002FBC00 38 60 FF FF */ li r3, -1 -/* 802FFFA4 002FBC04 48 00 00 90 */ b lbl_80300034 -lbl_802FFFA8: -/* 802FFFA8 002FBC08 38 61 00 80 */ addi r3, r1, 0x80 -/* 802FFFAC 002FBC0C 38 80 00 00 */ li r4, 0 -/* 802FFFB0 002FBC10 38 A0 01 00 */ li r5, 0x100 -/* 802FFFB4 002FBC14 4B D0 41 51 */ bl memset -/* 802FFFB8 002FBC18 28 1E 01 00 */ cmplwi r30, 0x100 -/* 802FFFBC 002FBC1C 40 81 00 08 */ ble lbl_802FFFC4 -/* 802FFFC0 002FBC20 3B C0 01 00 */ li r30, 0x100 -lbl_802FFFC4: -/* 802FFFC4 002FBC24 7F A4 EB 78 */ mr r4, r29 -/* 802FFFC8 002FBC28 7F C5 F3 78 */ mr r5, r30 -/* 802FFFCC 002FBC2C 38 61 00 80 */ addi r3, r1, 0x80 -/* 802FFFD0 002FBC30 4B D0 40 31 */ bl memcpy -/* 802FFFD4 002FBC34 39 40 00 20 */ li r10, 0x20 -/* 802FFFD8 002FBC38 39 61 00 40 */ addi r11, r1, 0x40 -/* 802FFFDC 002FBC3C 39 21 00 20 */ addi r9, r1, 0x20 -/* 802FFFE0 002FBC40 39 01 00 80 */ addi r8, r1, 0x80 -/* 802FFFE4 002FBC44 38 60 FF FF */ li r3, -1 -/* 802FFFE8 002FBC48 38 00 01 00 */ li r0, 0x100 -/* 802FFFEC 002FBC4C 90 61 00 40 */ stw r3, 0x40(r1) -/* 802FFFF0 002FBC50 7F E3 FB 78 */ mr r3, r31 -/* 802FFFF4 002FBC54 38 E1 00 60 */ addi r7, r1, 0x60 -/* 802FFFF8 002FBC58 38 80 00 01 */ li r4, 1 -/* 802FFFFC 002FBC5C 93 81 00 20 */ stw r28, 0x20(r1) -/* 80300000 002FBC60 38 A0 00 01 */ li r5, 1 -/* 80300004 002FBC64 38 C0 00 02 */ li r6, 2 -/* 80300008 002FBC68 91 61 00 60 */ stw r11, 0x60(r1) -/* 8030000C 002FBC6C 91 41 00 64 */ stw r10, 0x64(r1) -/* 80300010 002FBC70 91 21 00 68 */ stw r9, 0x68(r1) -/* 80300014 002FBC74 91 41 00 6C */ stw r10, 0x6c(r1) -/* 80300018 002FBC78 91 01 00 70 */ stw r8, 0x70(r1) -/* 8030001C 002FBC7C 90 01 00 74 */ stw r0, 0x74(r1) -/* 80300020 002FBC80 4B FA 3E 21 */ bl IOS_Ioctlv -/* 80300024 002FBC84 7F E3 FB 78 */ mr r3, r31 -/* 80300028 002FBC88 4B FA 33 11 */ bl IOS_Close -/* 8030002C 002FBC8C 80 61 00 60 */ lwz r3, 0x60(r1) -/* 80300030 002FBC90 80 63 00 00 */ lwz r3, 0(r3) -lbl_80300034: -/* 80300034 002FBC94 81 41 00 00 */ lwz r10, 0(r1) -/* 80300038 002FBC98 80 0A 00 04 */ lwz r0, 4(r10) -/* 8030003C 002FBC9C 83 EA FF FC */ lwz r31, -4(r10) -/* 80300040 002FBCA0 83 CA FF F8 */ lwz r30, -8(r10) -/* 80300044 002FBCA4 83 AA FF F4 */ lwz r29, -0xc(r10) -/* 80300048 002FBCA8 83 8A FF F0 */ lwz r28, -0x10(r10) -/* 8030004C 002FBCAC 7C 08 03 A6 */ mtlr r0 -/* 80300050 002FBCB0 7D 41 53 78 */ mr r1, r10 -/* 80300054 002FBCB4 4E 80 00 20 */ blr - -.global func_80300058 -func_80300058: -/* 80300058 002FBCB8 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 8030005C 002FBCBC 7C 2C 0B 78 */ mr r12, r1 -/* 80300060 002FBCC0 21 6B FF 40 */ subfic r11, r11, -192 -/* 80300064 002FBCC4 7C 21 59 6E */ stwux r1, r1, r11 -/* 80300068 002FBCC8 7C 08 02 A6 */ mflr r0 -/* 8030006C 002FBCCC 3C A0 80 44 */ lis r5, lbl_80446240@ha -/* 80300070 002FBCD0 90 0C 00 04 */ stw r0, 4(r12) -/* 80300074 002FBCD4 93 EC FF FC */ stw r31, -4(r12) -/* 80300078 002FBCD8 93 CC FF F8 */ stw r30, -8(r12) -/* 8030007C 002FBCDC 7C 9E 23 78 */ mr r30, r4 -/* 80300080 002FBCE0 38 80 00 00 */ li r4, 0 -/* 80300084 002FBCE4 93 AC FF F4 */ stw r29, -0xc(r12) -/* 80300088 002FBCE8 7C 7D 1B 78 */ mr r29, r3 -/* 8030008C 002FBCEC 38 65 62 40 */ addi r3, r5, lbl_80446240@l -/* 80300090 002FBCF0 4B FA 30 C9 */ bl IOS_Open -/* 80300094 002FBCF4 2C 03 00 00 */ cmpwi r3, 0 -/* 80300098 002FBCF8 7C 7F 1B 78 */ mr r31, r3 -/* 8030009C 002FBCFC 40 80 00 0C */ bge lbl_803000A8 -/* 803000A0 002FBD00 38 60 FF FF */ li r3, -1 -/* 803000A4 002FBD04 48 00 00 5C */ b lbl_80300100 -lbl_803000A8: -/* 803000A8 002FBD08 39 20 00 20 */ li r9, 0x20 -/* 803000AC 002FBD0C 39 41 00 20 */ addi r10, r1, 0x20 -/* 803000B0 002FBD10 39 01 00 60 */ addi r8, r1, 0x60 -/* 803000B4 002FBD14 38 01 00 40 */ addi r0, r1, 0x40 -/* 803000B8 002FBD18 39 60 FF FF */ li r11, -1 -/* 803000BC 002FBD1C 93 A1 00 60 */ stw r29, 0x60(r1) -/* 803000C0 002FBD20 38 E1 00 80 */ addi r7, r1, 0x80 -/* 803000C4 002FBD24 38 80 00 02 */ li r4, 2 -/* 803000C8 002FBD28 93 C1 00 40 */ stw r30, 0x40(r1) -/* 803000CC 002FBD2C 38 A0 00 01 */ li r5, 1 -/* 803000D0 002FBD30 38 C0 00 02 */ li r6, 2 -/* 803000D4 002FBD34 91 61 00 20 */ stw r11, 0x20(r1) -/* 803000D8 002FBD38 91 41 00 80 */ stw r10, 0x80(r1) -/* 803000DC 002FBD3C 91 21 00 84 */ stw r9, 0x84(r1) -/* 803000E0 002FBD40 91 01 00 88 */ stw r8, 0x88(r1) -/* 803000E4 002FBD44 91 21 00 8C */ stw r9, 0x8c(r1) -/* 803000E8 002FBD48 90 01 00 90 */ stw r0, 0x90(r1) -/* 803000EC 002FBD4C 91 21 00 94 */ stw r9, 0x94(r1) -/* 803000F0 002FBD50 4B FA 3D 51 */ bl IOS_Ioctlv -/* 803000F4 002FBD54 7F E3 FB 78 */ mr r3, r31 -/* 803000F8 002FBD58 4B FA 32 41 */ bl IOS_Close -/* 803000FC 002FBD5C 80 61 00 20 */ lwz r3, 0x20(r1) -lbl_80300100: -/* 80300100 002FBD60 81 41 00 00 */ lwz r10, 0(r1) -/* 80300104 002FBD64 80 0A 00 04 */ lwz r0, 4(r10) -/* 80300108 002FBD68 83 EA FF FC */ lwz r31, -4(r10) -/* 8030010C 002FBD6C 83 CA FF F8 */ lwz r30, -8(r10) -/* 80300110 002FBD70 83 AA FF F4 */ lwz r29, -0xc(r10) -/* 80300114 002FBD74 7C 08 03 A6 */ mtlr r0 -/* 80300118 002FBD78 7D 41 53 78 */ mr r1, r10 -/* 8030011C 002FBD7C 4E 80 00 20 */ blr - -.global func_80300120 -func_80300120: -/* 80300120 002FBD80 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 80300124 002FBD84 7C 2C 0B 78 */ mr r12, r1 -/* 80300128 002FBD88 21 6B FF 60 */ subfic r11, r11, -160 -/* 8030012C 002FBD8C 7C 21 59 6E */ stwux r1, r1, r11 -/* 80300130 002FBD90 7C 08 02 A6 */ mflr r0 -/* 80300134 002FBD94 3C 80 80 44 */ lis r4, lbl_80446240@ha -/* 80300138 002FBD98 90 0C 00 04 */ stw r0, 4(r12) -/* 8030013C 002FBD9C 93 EC FF FC */ stw r31, -4(r12) -/* 80300140 002FBDA0 93 CC FF F8 */ stw r30, -8(r12) -/* 80300144 002FBDA4 7C 7E 1B 78 */ mr r30, r3 -/* 80300148 002FBDA8 38 64 62 40 */ addi r3, r4, lbl_80446240@l -/* 8030014C 002FBDAC 38 80 00 00 */ li r4, 0 -/* 80300150 002FBDB0 4B FA 30 09 */ bl IOS_Open -/* 80300154 002FBDB4 2C 03 00 00 */ cmpwi r3, 0 -/* 80300158 002FBDB8 7C 7F 1B 78 */ mr r31, r3 -/* 8030015C 002FBDBC 40 80 00 0C */ bge lbl_80300168 -/* 80300160 002FBDC0 38 60 FF FF */ li r3, -1 -/* 80300164 002FBDC4 48 00 00 4C */ b lbl_803001B0 -lbl_80300168: -/* 80300168 002FBDC8 39 00 00 20 */ li r8, 0x20 -/* 8030016C 002FBDCC 39 21 00 20 */ addi r9, r1, 0x20 -/* 80300170 002FBDD0 38 01 00 40 */ addi r0, r1, 0x40 -/* 80300174 002FBDD4 38 C0 FF FF */ li r6, -1 -/* 80300178 002FBDD8 90 C1 00 20 */ stw r6, 0x20(r1) -/* 8030017C 002FBDDC 38 E1 00 60 */ addi r7, r1, 0x60 -/* 80300180 002FBDE0 38 80 00 03 */ li r4, 3 -/* 80300184 002FBDE4 38 A0 00 01 */ li r5, 1 -/* 80300188 002FBDE8 93 C1 00 40 */ stw r30, 0x40(r1) -/* 8030018C 002FBDEC 38 C0 00 01 */ li r6, 1 -/* 80300190 002FBDF0 91 21 00 60 */ stw r9, 0x60(r1) -/* 80300194 002FBDF4 91 01 00 64 */ stw r8, 0x64(r1) -/* 80300198 002FBDF8 90 01 00 68 */ stw r0, 0x68(r1) -/* 8030019C 002FBDFC 91 01 00 6C */ stw r8, 0x6c(r1) -/* 803001A0 002FBE00 4B FA 3C A1 */ bl IOS_Ioctlv -/* 803001A4 002FBE04 7F E3 FB 78 */ mr r3, r31 -/* 803001A8 002FBE08 4B FA 31 91 */ bl IOS_Close -/* 803001AC 002FBE0C 80 61 00 20 */ lwz r3, 0x20(r1) -lbl_803001B0: -/* 803001B0 002FBE10 81 41 00 00 */ lwz r10, 0(r1) -/* 803001B4 002FBE14 80 0A 00 04 */ lwz r0, 4(r10) -/* 803001B8 002FBE18 83 EA FF FC */ lwz r31, -4(r10) -/* 803001BC 002FBE1C 83 CA FF F8 */ lwz r30, -8(r10) -/* 803001C0 002FBE20 7C 08 03 A6 */ mtlr r0 -/* 803001C4 002FBE24 7D 41 53 78 */ mr r1, r10 -/* 803001C8 002FBE28 4E 80 00 20 */ blr - -.global func_803001CC -func_803001CC: -/* 803001CC 002FBE2C 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 803001D0 002FBE30 7C 2C 0B 78 */ mr r12, r1 -/* 803001D4 002FBE34 21 6B FE 80 */ subfic r11, r11, -384 -/* 803001D8 002FBE38 7C 21 59 6E */ stwux r1, r1, r11 -/* 803001DC 002FBE3C 7C 08 02 A6 */ mflr r0 -/* 803001E0 002FBE40 7D 8B 63 78 */ mr r11, r12 -/* 803001E4 002FBE44 90 0C 00 04 */ stw r0, 4(r12) -/* 803001E8 002FBE48 4B EC 6F 35 */ bl _savegpr_24 -/* 803001EC 002FBE4C 3C C0 80 44 */ lis r6, lbl_80446240@ha -/* 803001F0 002FBE50 7C 7C 1B 78 */ mr r28, r3 -/* 803001F4 002FBE54 7C 9D 23 78 */ mr r29, r4 -/* 803001F8 002FBE58 7C BE 2B 78 */ mr r30, r5 -/* 803001FC 002FBE5C 38 66 62 40 */ addi r3, r6, lbl_80446240@l -/* 80300200 002FBE60 38 80 00 00 */ li r4, 0 -/* 80300204 002FBE64 4B FA 2F 55 */ bl IOS_Open -/* 80300208 002FBE68 2C 03 00 00 */ cmpwi r3, 0 -/* 8030020C 002FBE6C 7C 7F 1B 78 */ mr r31, r3 -/* 80300210 002FBE70 3B 40 FF FF */ li r26, -1 -/* 80300214 002FBE74 40 80 00 0C */ bge lbl_80300220 -/* 80300218 002FBE78 38 60 FF FF */ li r3, -1 -/* 8030021C 002FBE7C 48 00 02 54 */ b lbl_80300470 -lbl_80300220: -/* 80300220 002FBE80 57 A0 06 FF */ clrlwi. r0, r29, 0x1b -/* 80300224 002FBE84 41 82 00 0C */ beq lbl_80300230 -/* 80300228 002FBE88 23 20 00 20 */ subfic r25, r0, 0x20 -/* 8030022C 002FBE8C 48 00 00 08 */ b lbl_80300234 -lbl_80300230: -/* 80300230 002FBE90 3B 20 00 00 */ li r25, 0 -lbl_80300234: -/* 80300234 002FBE94 38 61 01 40 */ addi r3, r1, 0x140 -/* 80300238 002FBE98 3B 00 00 00 */ li r24, 0 -/* 8030023C 002FBE9C 38 80 00 00 */ li r4, 0 -/* 80300240 002FBEA0 38 A0 00 20 */ li r5, 0x20 -/* 80300244 002FBEA4 4B D0 3E C1 */ bl memset -/* 80300248 002FBEA8 2C 19 00 00 */ cmpwi r25, 0 -/* 8030024C 002FBEAC 41 82 00 B0 */ beq lbl_803002FC -/* 80300250 002FBEB0 7C 19 F0 40 */ cmplw r25, r30 -/* 80300254 002FBEB4 40 81 00 08 */ ble lbl_8030025C -/* 80300258 002FBEB8 7F D9 F3 78 */ mr r25, r30 -lbl_8030025C: -/* 8030025C 002FBEBC 39 00 00 20 */ li r8, 0x20 -/* 80300260 002FBEC0 39 21 01 20 */ addi r9, r1, 0x120 -/* 80300264 002FBEC4 3B 61 01 40 */ addi r27, r1, 0x140 -/* 80300268 002FBEC8 38 01 01 00 */ addi r0, r1, 0x100 -/* 8030026C 002FBECC 38 80 FF FF */ li r4, -1 -/* 80300270 002FBED0 93 81 01 00 */ stw r28, 0x100(r1) -/* 80300274 002FBED4 7F E3 FB 78 */ mr r3, r31 -/* 80300278 002FBED8 38 E1 00 E0 */ addi r7, r1, 0xe0 -/* 8030027C 002FBEDC 90 81 01 20 */ stw r4, 0x120(r1) -/* 80300280 002FBEE0 38 80 00 04 */ li r4, 4 -/* 80300284 002FBEE4 38 A0 00 02 */ li r5, 2 -/* 80300288 002FBEE8 38 C0 00 01 */ li r6, 1 -/* 8030028C 002FBEEC 91 21 00 E0 */ stw r9, 0xe0(r1) -/* 80300290 002FBEF0 91 01 00 E4 */ stw r8, 0xe4(r1) -/* 80300294 002FBEF4 93 61 00 E8 */ stw r27, 0xe8(r1) -/* 80300298 002FBEF8 93 21 00 EC */ stw r25, 0xec(r1) -/* 8030029C 002FBEFC 90 01 00 F0 */ stw r0, 0xf0(r1) -/* 803002A0 002FBF00 91 01 00 F4 */ stw r8, 0xf4(r1) -/* 803002A4 002FBF04 4B FA 3B 9D */ bl IOS_Ioctlv -/* 803002A8 002FBF08 83 41 01 20 */ lwz r26, 0x120(r1) -/* 803002AC 002FBF0C 2C 1A 00 00 */ cmpwi r26, 0 -/* 803002B0 002FBF10 40 81 00 3C */ ble lbl_803002EC -/* 803002B4 002FBF14 7F 58 D3 78 */ mr r24, r26 -/* 803002B8 002FBF18 7F A3 EB 78 */ mr r3, r29 -/* 803002BC 002FBF1C 7F 64 DB 78 */ mr r4, r27 -/* 803002C0 002FBF20 7F 45 D3 78 */ mr r5, r26 -/* 803002C4 002FBF24 4B D0 3D 3D */ bl memcpy -/* 803002C8 002FBF28 7C 1A C8 40 */ cmplw r26, r25 -/* 803002CC 002FBF2C 40 80 00 14 */ bge lbl_803002E0 -/* 803002D0 002FBF30 7F E3 FB 78 */ mr r3, r31 -/* 803002D4 002FBF34 4B FA 30 65 */ bl IOS_Close -/* 803002D8 002FBF38 7F 03 C3 78 */ mr r3, r24 -/* 803002DC 002FBF3C 48 00 01 94 */ b lbl_80300470 -lbl_803002E0: -/* 803002E0 002FBF40 7F BD D2 14 */ add r29, r29, r26 -/* 803002E4 002FBF44 7F DA F0 50 */ subf r30, r26, r30 -/* 803002E8 002FBF48 48 00 00 14 */ b lbl_803002FC -lbl_803002EC: -/* 803002EC 002FBF4C 7F E3 FB 78 */ mr r3, r31 -/* 803002F0 002FBF50 4B FA 30 49 */ bl IOS_Close -/* 803002F4 002FBF54 7F 43 D3 78 */ mr r3, r26 -/* 803002F8 002FBF58 48 00 01 78 */ b lbl_80300470 -lbl_803002FC: -/* 803002FC 002FBF5C 2C 1E 00 00 */ cmpwi r30, 0 -/* 80300300 002FBF60 41 82 00 A8 */ beq lbl_803003A8 -/* 80300304 002FBF64 57 D9 00 35 */ rlwinm. r25, r30, 0, 0, 0x1a -/* 80300308 002FBF68 41 82 00 A0 */ beq lbl_803003A8 -/* 8030030C 002FBF6C 39 00 00 20 */ li r8, 0x20 -/* 80300310 002FBF70 39 21 00 C0 */ addi r9, r1, 0xc0 -/* 80300314 002FBF74 38 01 00 A0 */ addi r0, r1, 0xa0 -/* 80300318 002FBF78 38 A0 FF FF */ li r5, -1 -/* 8030031C 002FBF7C 90 A1 00 C0 */ stw r5, 0xc0(r1) -/* 80300320 002FBF80 7F E3 FB 78 */ mr r3, r31 -/* 80300324 002FBF84 38 E1 00 80 */ addi r7, r1, 0x80 -/* 80300328 002FBF88 38 80 00 04 */ li r4, 4 -/* 8030032C 002FBF8C 93 81 00 A0 */ stw r28, 0xa0(r1) -/* 80300330 002FBF90 38 A0 00 02 */ li r5, 2 -/* 80300334 002FBF94 38 C0 00 01 */ li r6, 1 -/* 80300338 002FBF98 91 21 00 80 */ stw r9, 0x80(r1) -/* 8030033C 002FBF9C 91 01 00 84 */ stw r8, 0x84(r1) -/* 80300340 002FBFA0 93 A1 00 88 */ stw r29, 0x88(r1) -/* 80300344 002FBFA4 93 21 00 8C */ stw r25, 0x8c(r1) -/* 80300348 002FBFA8 90 01 00 90 */ stw r0, 0x90(r1) -/* 8030034C 002FBFAC 91 01 00 94 */ stw r8, 0x94(r1) -/* 80300350 002FBFB0 4B FA 3A F1 */ bl IOS_Ioctlv -/* 80300354 002FBFB4 83 41 00 C0 */ lwz r26, 0xc0(r1) -/* 80300358 002FBFB8 2C 1A 00 00 */ cmpwi r26, 0 -/* 8030035C 002FBFBC 40 81 00 2C */ ble lbl_80300388 -/* 80300360 002FBFC0 7C 1A C8 40 */ cmplw r26, r25 -/* 80300364 002FBFC4 7F 18 D2 14 */ add r24, r24, r26 -/* 80300368 002FBFC8 40 80 00 14 */ bge lbl_8030037C -/* 8030036C 002FBFCC 7F E3 FB 78 */ mr r3, r31 -/* 80300370 002FBFD0 4B FA 2F C9 */ bl IOS_Close -/* 80300374 002FBFD4 7F 03 C3 78 */ mr r3, r24 -/* 80300378 002FBFD8 48 00 00 F8 */ b lbl_80300470 -lbl_8030037C: -/* 8030037C 002FBFDC 7F BD D2 14 */ add r29, r29, r26 -/* 80300380 002FBFE0 7F DA F0 50 */ subf r30, r26, r30 -/* 80300384 002FBFE4 48 00 00 24 */ b lbl_803003A8 -lbl_80300388: -/* 80300388 002FBFE8 7F E3 FB 78 */ mr r3, r31 -/* 8030038C 002FBFEC 4B FA 2F AD */ bl IOS_Close -/* 80300390 002FBFF0 2C 18 00 00 */ cmpwi r24, 0 -/* 80300394 002FBFF4 40 81 00 0C */ ble lbl_803003A0 -/* 80300398 002FBFF8 7F 03 C3 78 */ mr r3, r24 -/* 8030039C 002FBFFC 48 00 00 D4 */ b lbl_80300470 -lbl_803003A0: -/* 803003A0 002FC000 7F 43 D3 78 */ mr r3, r26 -/* 803003A4 002FC004 48 00 00 CC */ b lbl_80300470 -lbl_803003A8: -/* 803003A8 002FC008 2C 1E 00 00 */ cmpwi r30, 0 -/* 803003AC 002FC00C 41 82 00 AC */ beq lbl_80300458 -/* 803003B0 002FC010 57 D9 06 FF */ clrlwi. r25, r30, 0x1b -/* 803003B4 002FC014 41 82 00 A4 */ beq lbl_80300458 -/* 803003B8 002FC018 38 61 01 40 */ addi r3, r1, 0x140 -/* 803003BC 002FC01C 38 80 00 00 */ li r4, 0 -/* 803003C0 002FC020 38 A0 00 20 */ li r5, 0x20 -/* 803003C4 002FC024 4B D0 3D 41 */ bl memset -/* 803003C8 002FC028 39 00 00 20 */ li r8, 0x20 -/* 803003CC 002FC02C 39 21 00 60 */ addi r9, r1, 0x60 -/* 803003D0 002FC030 3B C1 01 40 */ addi r30, r1, 0x140 -/* 803003D4 002FC034 38 01 00 40 */ addi r0, r1, 0x40 -/* 803003D8 002FC038 38 80 FF FF */ li r4, -1 -/* 803003DC 002FC03C 93 81 00 40 */ stw r28, 0x40(r1) -/* 803003E0 002FC040 7F E3 FB 78 */ mr r3, r31 -/* 803003E4 002FC044 38 E1 00 20 */ addi r7, r1, 0x20 -/* 803003E8 002FC048 90 81 00 60 */ stw r4, 0x60(r1) -/* 803003EC 002FC04C 38 80 00 04 */ li r4, 4 -/* 803003F0 002FC050 38 A0 00 02 */ li r5, 2 -/* 803003F4 002FC054 38 C0 00 01 */ li r6, 1 -/* 803003F8 002FC058 91 21 00 20 */ stw r9, 0x20(r1) -/* 803003FC 002FC05C 91 01 00 24 */ stw r8, 0x24(r1) -/* 80300400 002FC060 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80300404 002FC064 93 21 00 2C */ stw r25, 0x2c(r1) -/* 80300408 002FC068 90 01 00 30 */ stw r0, 0x30(r1) -/* 8030040C 002FC06C 91 01 00 34 */ stw r8, 0x34(r1) -/* 80300410 002FC070 4B FA 3A 31 */ bl IOS_Ioctlv -/* 80300414 002FC074 83 41 00 60 */ lwz r26, 0x60(r1) -/* 80300418 002FC078 2C 1A 00 00 */ cmpwi r26, 0 -/* 8030041C 002FC07C 40 81 00 1C */ ble lbl_80300438 -/* 80300420 002FC080 7F A3 EB 78 */ mr r3, r29 -/* 80300424 002FC084 7F C4 F3 78 */ mr r4, r30 -/* 80300428 002FC088 7F 45 D3 78 */ mr r5, r26 -/* 8030042C 002FC08C 7F 18 D2 14 */ add r24, r24, r26 -/* 80300430 002FC090 4B D0 3B D1 */ bl memcpy -/* 80300434 002FC094 48 00 00 24 */ b lbl_80300458 -lbl_80300438: -/* 80300438 002FC098 7F E3 FB 78 */ mr r3, r31 -/* 8030043C 002FC09C 4B FA 2E FD */ bl IOS_Close -/* 80300440 002FC0A0 2C 18 00 00 */ cmpwi r24, 0 -/* 80300444 002FC0A4 40 81 00 0C */ ble lbl_80300450 -/* 80300448 002FC0A8 7F 03 C3 78 */ mr r3, r24 -/* 8030044C 002FC0AC 48 00 00 24 */ b lbl_80300470 -lbl_80300450: -/* 80300450 002FC0B0 7F 43 D3 78 */ mr r3, r26 -/* 80300454 002FC0B4 48 00 00 1C */ b lbl_80300470 -lbl_80300458: -/* 80300458 002FC0B8 2C 18 00 00 */ cmpwi r24, 0 -/* 8030045C 002FC0BC 40 81 00 08 */ ble lbl_80300464 -/* 80300460 002FC0C0 7F 1A C3 78 */ mr r26, r24 -lbl_80300464: -/* 80300464 002FC0C4 7F E3 FB 78 */ mr r3, r31 -/* 80300468 002FC0C8 4B FA 2E D1 */ bl IOS_Close -/* 8030046C 002FC0CC 7F 43 D3 78 */ mr r3, r26 -lbl_80300470: -/* 80300470 002FC0D0 81 41 00 00 */ lwz r10, 0(r1) -/* 80300474 002FC0D4 7D 4B 53 78 */ mr r11, r10 -/* 80300478 002FC0D8 4B EC 6C F1 */ bl _restgpr_24 -/* 8030047C 002FC0DC 80 0A 00 04 */ lwz r0, 4(r10) -/* 80300480 002FC0E0 7C 08 03 A6 */ mtlr r0 -/* 80300484 002FC0E4 7D 41 53 78 */ mr r1, r10 -/* 80300488 002FC0E8 4E 80 00 20 */ blr - -.global func_8030048C -func_8030048C: -/* 8030048C 002FC0EC 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 80300490 002FC0F0 7C 2C 0B 78 */ mr r12, r1 -/* 80300494 002FC0F4 21 6B FE 80 */ subfic r11, r11, -384 -/* 80300498 002FC0F8 7C 21 59 6E */ stwux r1, r1, r11 -/* 8030049C 002FC0FC 7C 08 02 A6 */ mflr r0 -/* 803004A0 002FC100 7D 8B 63 78 */ mr r11, r12 -/* 803004A4 002FC104 90 0C 00 04 */ stw r0, 4(r12) -/* 803004A8 002FC108 4B EC 6C 79 */ bl _savegpr_25 -/* 803004AC 002FC10C 3C C0 80 44 */ lis r6, lbl_80446240@ha -/* 803004B0 002FC110 7C 7C 1B 78 */ mr r28, r3 -/* 803004B4 002FC114 7C 9D 23 78 */ mr r29, r4 -/* 803004B8 002FC118 7C BE 2B 78 */ mr r30, r5 -/* 803004BC 002FC11C 38 66 62 40 */ addi r3, r6, lbl_80446240@l -/* 803004C0 002FC120 38 80 00 00 */ li r4, 0 -/* 803004C4 002FC124 4B FA 2C 95 */ bl IOS_Open -/* 803004C8 002FC128 2C 03 00 00 */ cmpwi r3, 0 -/* 803004CC 002FC12C 7C 7F 1B 78 */ mr r31, r3 -/* 803004D0 002FC130 3B 60 FF FF */ li r27, -1 -/* 803004D4 002FC134 40 80 00 0C */ bge lbl_803004E0 -/* 803004D8 002FC138 38 60 FF FF */ li r3, -1 -/* 803004DC 002FC13C 48 00 02 54 */ b lbl_80300730 -lbl_803004E0: -/* 803004E0 002FC140 57 A0 06 FF */ clrlwi. r0, r29, 0x1b -/* 803004E4 002FC144 41 82 00 0C */ beq lbl_803004F0 -/* 803004E8 002FC148 23 40 00 20 */ subfic r26, r0, 0x20 -/* 803004EC 002FC14C 48 00 00 08 */ b lbl_803004F4 -lbl_803004F0: -/* 803004F0 002FC150 3B 40 00 00 */ li r26, 0 -lbl_803004F4: -/* 803004F4 002FC154 38 61 01 40 */ addi r3, r1, 0x140 -/* 803004F8 002FC158 3B 20 00 00 */ li r25, 0 -/* 803004FC 002FC15C 38 80 00 00 */ li r4, 0 -/* 80300500 002FC160 38 A0 00 20 */ li r5, 0x20 -/* 80300504 002FC164 4B D0 3C 01 */ bl memset -/* 80300508 002FC168 2C 1A 00 00 */ cmpwi r26, 0 -/* 8030050C 002FC16C 41 82 00 B0 */ beq lbl_803005BC -/* 80300510 002FC170 7C 1A F0 40 */ cmplw r26, r30 -/* 80300514 002FC174 40 81 00 08 */ ble lbl_8030051C -/* 80300518 002FC178 7F DA F3 78 */ mr r26, r30 -lbl_8030051C: -/* 8030051C 002FC17C 7F A4 EB 78 */ mr r4, r29 -/* 80300520 002FC180 7F 45 D3 78 */ mr r5, r26 -/* 80300524 002FC184 38 61 01 40 */ addi r3, r1, 0x140 -/* 80300528 002FC188 4B D0 3A D9 */ bl memcpy -/* 8030052C 002FC18C 39 20 00 20 */ li r9, 0x20 -/* 80300530 002FC190 39 41 01 20 */ addi r10, r1, 0x120 -/* 80300534 002FC194 39 01 01 00 */ addi r8, r1, 0x100 -/* 80300538 002FC198 38 01 01 40 */ addi r0, r1, 0x140 -/* 8030053C 002FC19C 38 80 FF FF */ li r4, -1 -/* 80300540 002FC1A0 93 81 01 00 */ stw r28, 0x100(r1) -/* 80300544 002FC1A4 7F E3 FB 78 */ mr r3, r31 -/* 80300548 002FC1A8 38 E1 00 E0 */ addi r7, r1, 0xe0 -/* 8030054C 002FC1AC 90 81 01 20 */ stw r4, 0x120(r1) -/* 80300550 002FC1B0 38 80 00 05 */ li r4, 5 -/* 80300554 002FC1B4 38 A0 00 01 */ li r5, 1 -/* 80300558 002FC1B8 38 C0 00 02 */ li r6, 2 -/* 8030055C 002FC1BC 91 41 00 E0 */ stw r10, 0xe0(r1) -/* 80300560 002FC1C0 91 21 00 E4 */ stw r9, 0xe4(r1) -/* 80300564 002FC1C4 91 01 00 E8 */ stw r8, 0xe8(r1) -/* 80300568 002FC1C8 91 21 00 EC */ stw r9, 0xec(r1) -/* 8030056C 002FC1CC 90 01 00 F0 */ stw r0, 0xf0(r1) -/* 80300570 002FC1D0 93 41 00 F4 */ stw r26, 0xf4(r1) -/* 80300574 002FC1D4 4B FA 38 CD */ bl IOS_Ioctlv -/* 80300578 002FC1D8 83 61 01 20 */ lwz r27, 0x120(r1) -/* 8030057C 002FC1DC 2C 1B 00 00 */ cmpwi r27, 0 -/* 80300580 002FC1E0 40 81 00 2C */ ble lbl_803005AC -/* 80300584 002FC1E4 7C 1B D0 40 */ cmplw r27, r26 -/* 80300588 002FC1E8 7F 79 DB 78 */ mr r25, r27 -/* 8030058C 002FC1EC 40 80 00 14 */ bge lbl_803005A0 -/* 80300590 002FC1F0 7F E3 FB 78 */ mr r3, r31 -/* 80300594 002FC1F4 4B FA 2D A5 */ bl IOS_Close -/* 80300598 002FC1F8 7F 63 DB 78 */ mr r3, r27 -/* 8030059C 002FC1FC 48 00 01 94 */ b lbl_80300730 -lbl_803005A0: -/* 803005A0 002FC200 7F BD DA 14 */ add r29, r29, r27 -/* 803005A4 002FC204 7F DB F0 50 */ subf r30, r27, r30 -/* 803005A8 002FC208 48 00 00 14 */ b lbl_803005BC -lbl_803005AC: -/* 803005AC 002FC20C 7F E3 FB 78 */ mr r3, r31 -/* 803005B0 002FC210 4B FA 2D 89 */ bl IOS_Close -/* 803005B4 002FC214 7F 63 DB 78 */ mr r3, r27 -/* 803005B8 002FC218 48 00 01 78 */ b lbl_80300730 -lbl_803005BC: -/* 803005BC 002FC21C 2C 1E 00 00 */ cmpwi r30, 0 -/* 803005C0 002FC220 41 82 00 A8 */ beq lbl_80300668 -/* 803005C4 002FC224 57 DA 00 35 */ rlwinm. r26, r30, 0, 0, 0x1a -/* 803005C8 002FC228 41 82 00 A0 */ beq lbl_80300668 -/* 803005CC 002FC22C 39 00 00 20 */ li r8, 0x20 -/* 803005D0 002FC230 39 21 00 C0 */ addi r9, r1, 0xc0 -/* 803005D4 002FC234 38 01 00 A0 */ addi r0, r1, 0xa0 -/* 803005D8 002FC238 38 A0 FF FF */ li r5, -1 -/* 803005DC 002FC23C 90 A1 00 C0 */ stw r5, 0xc0(r1) -/* 803005E0 002FC240 7F E3 FB 78 */ mr r3, r31 -/* 803005E4 002FC244 38 E1 00 80 */ addi r7, r1, 0x80 -/* 803005E8 002FC248 38 80 00 05 */ li r4, 5 -/* 803005EC 002FC24C 93 81 00 A0 */ stw r28, 0xa0(r1) -/* 803005F0 002FC250 38 A0 00 01 */ li r5, 1 -/* 803005F4 002FC254 38 C0 00 02 */ li r6, 2 -/* 803005F8 002FC258 91 21 00 80 */ stw r9, 0x80(r1) -/* 803005FC 002FC25C 91 01 00 84 */ stw r8, 0x84(r1) -/* 80300600 002FC260 90 01 00 88 */ stw r0, 0x88(r1) -/* 80300604 002FC264 91 01 00 8C */ stw r8, 0x8c(r1) -/* 80300608 002FC268 93 A1 00 90 */ stw r29, 0x90(r1) -/* 8030060C 002FC26C 93 41 00 94 */ stw r26, 0x94(r1) -/* 80300610 002FC270 4B FA 38 31 */ bl IOS_Ioctlv -/* 80300614 002FC274 83 61 00 C0 */ lwz r27, 0xc0(r1) -/* 80300618 002FC278 2C 1B 00 00 */ cmpwi r27, 0 -/* 8030061C 002FC27C 40 81 00 2C */ ble lbl_80300648 -/* 80300620 002FC280 7C 1B D0 40 */ cmplw r27, r26 -/* 80300624 002FC284 7F 39 DA 14 */ add r25, r25, r27 -/* 80300628 002FC288 40 80 00 14 */ bge lbl_8030063C -/* 8030062C 002FC28C 7F E3 FB 78 */ mr r3, r31 -/* 80300630 002FC290 4B FA 2D 09 */ bl IOS_Close -/* 80300634 002FC294 7F 23 CB 78 */ mr r3, r25 -/* 80300638 002FC298 48 00 00 F8 */ b lbl_80300730 -lbl_8030063C: -/* 8030063C 002FC29C 7F BD DA 14 */ add r29, r29, r27 -/* 80300640 002FC2A0 7F DB F0 50 */ subf r30, r27, r30 -/* 80300644 002FC2A4 48 00 00 24 */ b lbl_80300668 -lbl_80300648: -/* 80300648 002FC2A8 7F E3 FB 78 */ mr r3, r31 -/* 8030064C 002FC2AC 4B FA 2C ED */ bl IOS_Close -/* 80300650 002FC2B0 2C 19 00 00 */ cmpwi r25, 0 -/* 80300654 002FC2B4 40 81 00 0C */ ble lbl_80300660 -/* 80300658 002FC2B8 7F 23 CB 78 */ mr r3, r25 -/* 8030065C 002FC2BC 48 00 00 D4 */ b lbl_80300730 -lbl_80300660: -/* 80300660 002FC2C0 7F 63 DB 78 */ mr r3, r27 -/* 80300664 002FC2C4 48 00 00 CC */ b lbl_80300730 -lbl_80300668: -/* 80300668 002FC2C8 2C 1E 00 00 */ cmpwi r30, 0 -/* 8030066C 002FC2CC 41 82 00 AC */ beq lbl_80300718 -/* 80300670 002FC2D0 57 DA 06 FF */ clrlwi. r26, r30, 0x1b -/* 80300674 002FC2D4 41 82 00 A4 */ beq lbl_80300718 -/* 80300678 002FC2D8 38 61 01 40 */ addi r3, r1, 0x140 -/* 8030067C 002FC2DC 38 80 00 00 */ li r4, 0 -/* 80300680 002FC2E0 38 A0 00 20 */ li r5, 0x20 -/* 80300684 002FC2E4 4B D0 3A 81 */ bl memset -/* 80300688 002FC2E8 7F A4 EB 78 */ mr r4, r29 -/* 8030068C 002FC2EC 7F 45 D3 78 */ mr r5, r26 -/* 80300690 002FC2F0 38 61 01 40 */ addi r3, r1, 0x140 -/* 80300694 002FC2F4 4B D0 39 6D */ bl memcpy -/* 80300698 002FC2F8 39 20 00 20 */ li r9, 0x20 -/* 8030069C 002FC2FC 39 41 00 60 */ addi r10, r1, 0x60 -/* 803006A0 002FC300 39 01 00 40 */ addi r8, r1, 0x40 -/* 803006A4 002FC304 38 01 01 40 */ addi r0, r1, 0x140 -/* 803006A8 002FC308 38 80 FF FF */ li r4, -1 -/* 803006AC 002FC30C 93 81 00 40 */ stw r28, 0x40(r1) -/* 803006B0 002FC310 7F E3 FB 78 */ mr r3, r31 -/* 803006B4 002FC314 38 E1 00 20 */ addi r7, r1, 0x20 -/* 803006B8 002FC318 90 81 00 60 */ stw r4, 0x60(r1) -/* 803006BC 002FC31C 38 80 00 05 */ li r4, 5 -/* 803006C0 002FC320 38 A0 00 01 */ li r5, 1 -/* 803006C4 002FC324 38 C0 00 02 */ li r6, 2 -/* 803006C8 002FC328 91 41 00 20 */ stw r10, 0x20(r1) -/* 803006CC 002FC32C 91 21 00 24 */ stw r9, 0x24(r1) -/* 803006D0 002FC330 91 01 00 28 */ stw r8, 0x28(r1) -/* 803006D4 002FC334 91 21 00 2C */ stw r9, 0x2c(r1) -/* 803006D8 002FC338 90 01 00 30 */ stw r0, 0x30(r1) -/* 803006DC 002FC33C 93 41 00 34 */ stw r26, 0x34(r1) -/* 803006E0 002FC340 4B FA 37 61 */ bl IOS_Ioctlv -/* 803006E4 002FC344 83 61 00 60 */ lwz r27, 0x60(r1) -/* 803006E8 002FC348 2C 1B 00 00 */ cmpwi r27, 0 -/* 803006EC 002FC34C 40 81 00 0C */ ble lbl_803006F8 -/* 803006F0 002FC350 7F 39 DA 14 */ add r25, r25, r27 -/* 803006F4 002FC354 48 00 00 24 */ b lbl_80300718 -lbl_803006F8: -/* 803006F8 002FC358 7F E3 FB 78 */ mr r3, r31 -/* 803006FC 002FC35C 4B FA 2C 3D */ bl IOS_Close -/* 80300700 002FC360 2C 19 00 00 */ cmpwi r25, 0 -/* 80300704 002FC364 40 81 00 0C */ ble lbl_80300710 -/* 80300708 002FC368 7F 23 CB 78 */ mr r3, r25 -/* 8030070C 002FC36C 48 00 00 24 */ b lbl_80300730 -lbl_80300710: -/* 80300710 002FC370 7F 63 DB 78 */ mr r3, r27 -/* 80300714 002FC374 48 00 00 1C */ b lbl_80300730 -lbl_80300718: -/* 80300718 002FC378 2C 19 00 00 */ cmpwi r25, 0 -/* 8030071C 002FC37C 40 81 00 08 */ ble lbl_80300724 -/* 80300720 002FC380 7F 3B CB 78 */ mr r27, r25 -lbl_80300724: -/* 80300724 002FC384 7F E3 FB 78 */ mr r3, r31 -/* 80300728 002FC388 4B FA 2C 11 */ bl IOS_Close -/* 8030072C 002FC38C 7F 63 DB 78 */ mr r3, r27 -lbl_80300730: -/* 80300730 002FC390 81 41 00 00 */ lwz r10, 0(r1) -/* 80300734 002FC394 7D 4B 53 78 */ mr r11, r10 -/* 80300738 002FC398 4B EC 6A 35 */ bl _restgpr_25 -/* 8030073C 002FC39C 80 0A 00 04 */ lwz r0, 4(r10) -/* 80300740 002FC3A0 7C 08 03 A6 */ mtlr r0 -/* 80300744 002FC3A4 7D 41 53 78 */ mr r1, r10 -/* 80300748 002FC3A8 4E 80 00 20 */ blr - -.global func_8030074C -func_8030074C: -/* 8030074C 002FC3AC 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 80300750 002FC3B0 7C 2C 0B 78 */ mr r12, r1 -/* 80300754 002FC3B4 21 6B FF 60 */ subfic r11, r11, -160 -/* 80300758 002FC3B8 7C 21 59 6E */ stwux r1, r1, r11 -/* 8030075C 002FC3BC 7C 08 02 A6 */ mflr r0 -/* 80300760 002FC3C0 3C 80 80 44 */ lis r4, lbl_80446240@ha -/* 80300764 002FC3C4 90 0C 00 04 */ stw r0, 4(r12) -/* 80300768 002FC3C8 93 EC FF FC */ stw r31, -4(r12) -/* 8030076C 002FC3CC 93 CC FF F8 */ stw r30, -8(r12) -/* 80300770 002FC3D0 7C 7E 1B 78 */ mr r30, r3 -/* 80300774 002FC3D4 38 64 62 40 */ addi r3, r4, lbl_80446240@l -/* 80300778 002FC3D8 38 80 00 00 */ li r4, 0 -/* 8030077C 002FC3DC 4B FA 29 DD */ bl IOS_Open -/* 80300780 002FC3E0 2C 03 00 00 */ cmpwi r3, 0 -/* 80300784 002FC3E4 7C 7F 1B 78 */ mr r31, r3 -/* 80300788 002FC3E8 40 80 00 0C */ bge lbl_80300794 -/* 8030078C 002FC3EC 38 60 FF FF */ li r3, -1 -/* 80300790 002FC3F0 48 00 00 4C */ b lbl_803007DC -lbl_80300794: -/* 80300794 002FC3F4 39 00 00 20 */ li r8, 0x20 -/* 80300798 002FC3F8 39 21 00 20 */ addi r9, r1, 0x20 -/* 8030079C 002FC3FC 38 01 00 40 */ addi r0, r1, 0x40 -/* 803007A0 002FC400 38 C0 FF FF */ li r6, -1 -/* 803007A4 002FC404 90 C1 00 20 */ stw r6, 0x20(r1) -/* 803007A8 002FC408 38 E1 00 60 */ addi r7, r1, 0x60 -/* 803007AC 002FC40C 38 80 00 06 */ li r4, 6 -/* 803007B0 002FC410 38 A0 00 01 */ li r5, 1 -/* 803007B4 002FC414 93 C1 00 40 */ stw r30, 0x40(r1) -/* 803007B8 002FC418 38 C0 00 01 */ li r6, 1 -/* 803007BC 002FC41C 91 21 00 60 */ stw r9, 0x60(r1) -/* 803007C0 002FC420 91 01 00 64 */ stw r8, 0x64(r1) -/* 803007C4 002FC424 90 01 00 68 */ stw r0, 0x68(r1) -/* 803007C8 002FC428 91 01 00 6C */ stw r8, 0x6c(r1) -/* 803007CC 002FC42C 4B FA 36 75 */ bl IOS_Ioctlv -/* 803007D0 002FC430 7F E3 FB 78 */ mr r3, r31 -/* 803007D4 002FC434 4B FA 2B 65 */ bl IOS_Close -/* 803007D8 002FC438 80 61 00 20 */ lwz r3, 0x20(r1) -lbl_803007DC: -/* 803007DC 002FC43C 81 41 00 00 */ lwz r10, 0(r1) -/* 803007E0 002FC440 80 0A 00 04 */ lwz r0, 4(r10) -/* 803007E4 002FC444 83 EA FF FC */ lwz r31, -4(r10) -/* 803007E8 002FC448 83 CA FF F8 */ lwz r30, -8(r10) -/* 803007EC 002FC44C 7C 08 03 A6 */ mtlr r0 -/* 803007F0 002FC450 7D 41 53 78 */ mr r1, r10 -/* 803007F4 002FC454 4E 80 00 20 */ blr - -.global func_803007F8 -func_803007F8: -/* 803007F8 002FC458 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 803007FC 002FC45C 7C 2C 0B 78 */ mr r12, r1 -/* 80300800 002FC460 21 6B FF 60 */ subfic r11, r11, -160 -/* 80300804 002FC464 7C 21 59 6E */ stwux r1, r1, r11 -/* 80300808 002FC468 7C 08 02 A6 */ mflr r0 -/* 8030080C 002FC46C 7D 8B 63 78 */ mr r11, r12 -/* 80300810 002FC470 90 0C 00 04 */ stw r0, 4(r12) -/* 80300814 002FC474 4B EC 69 09 */ bl _savegpr_24 -/* 80300818 002FC478 3F E0 80 58 */ lis r31, lbl_8057B780@ha -/* 8030081C 002FC47C 3D 00 80 44 */ lis r8, lbl_80446240@ha -/* 80300820 002FC480 7C 78 1B 78 */ mr r24, r3 -/* 80300824 002FC484 7C 99 23 78 */ mr r25, r4 -/* 80300828 002FC488 7C BA 2B 78 */ mr r26, r5 -/* 8030082C 002FC48C 7C DB 33 78 */ mr r27, r6 -/* 80300830 002FC490 7C FC 3B 78 */ mr r28, r7 -/* 80300834 002FC494 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l -/* 80300838 002FC498 38 68 62 40 */ addi r3, r8, lbl_80446240@l -/* 8030083C 002FC49C 38 80 00 00 */ li r4, 0 -/* 80300840 002FC4A0 4B FA 29 19 */ bl IOS_Open -/* 80300844 002FC4A4 2C 03 00 00 */ cmpwi r3, 0 -/* 80300848 002FC4A8 7C 7D 1B 78 */ mr r29, r3 -/* 8030084C 002FC4AC 40 80 00 0C */ bge lbl_80300858 -/* 80300850 002FC4B0 38 60 FF FF */ li r3, -1 -/* 80300854 002FC4B4 48 00 00 F4 */ b lbl_80300948 -lbl_80300858: -/* 80300858 002FC4B8 4B F6 DF 05 */ bl OSDisableInterrupts -/* 8030085C 002FC4BC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13) -/* 80300860 002FC4C0 7C 7E 1B 78 */ mr r30, r3 -/* 80300864 002FC4C4 2C 00 00 00 */ cmpwi r0, 0 -/* 80300868 002FC4C8 40 82 00 44 */ bne lbl_803008AC -/* 8030086C 002FC4CC 38 7F 00 00 */ addi r3, r31, 0 -/* 80300870 002FC4D0 48 00 03 95 */ bl func_80300C04 -/* 80300874 002FC4D4 38 7F 00 20 */ addi r3, r31, 0x20 -/* 80300878 002FC4D8 38 80 00 00 */ li r4, 0 -/* 8030087C 002FC4DC 38 A0 10 00 */ li r5, 0x1000 -/* 80300880 002FC4E0 4B D0 38 85 */ bl memset -/* 80300884 002FC4E4 38 7F 10 20 */ addi r3, r31, 0x1020 -/* 80300888 002FC4E8 38 80 00 00 */ li r4, 0 -/* 8030088C 002FC4EC 38 A0 10 00 */ li r5, 0x1000 -/* 80300890 002FC4F0 4B D0 38 75 */ bl memset -/* 80300894 002FC4F4 38 7F 20 20 */ addi r3, r31, 0x2020 -/* 80300898 002FC4F8 38 80 00 00 */ li r4, 0 -/* 8030089C 002FC4FC 38 A0 10 00 */ li r5, 0x1000 -/* 803008A0 002FC500 4B D0 38 65 */ bl memset -/* 803008A4 002FC504 38 00 00 01 */ li r0, 1 -/* 803008A8 002FC508 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13) -lbl_803008AC: -/* 803008AC 002FC50C 7F C3 F3 78 */ mr r3, r30 -/* 803008B0 002FC510 4B F6 DE D5 */ bl OSRestoreInterrupts -/* 803008B4 002FC514 38 7F 00 00 */ addi r3, r31, 0 -/* 803008B8 002FC518 48 00 03 51 */ bl func_80300C08 -/* 803008BC 002FC51C 7F 24 CB 78 */ mr r4, r25 -/* 803008C0 002FC520 7F 45 D3 78 */ mr r5, r26 -/* 803008C4 002FC524 38 7F 00 20 */ addi r3, r31, 0x20 -/* 803008C8 002FC528 4B D0 37 39 */ bl memcpy -/* 803008CC 002FC52C 7F 64 DB 78 */ mr r4, r27 -/* 803008D0 002FC530 7F 85 E3 78 */ mr r5, r28 -/* 803008D4 002FC534 38 7F 10 20 */ addi r3, r31, 0x1020 -/* 803008D8 002FC538 4B D0 37 29 */ bl memcpy -/* 803008DC 002FC53C 39 40 00 20 */ li r10, 0x20 -/* 803008E0 002FC540 39 61 00 40 */ addi r11, r1, 0x40 -/* 803008E4 002FC544 39 21 00 20 */ addi r9, r1, 0x20 -/* 803008E8 002FC548 39 1F 00 20 */ addi r8, r31, 0x20 -/* 803008EC 002FC54C 38 1F 10 20 */ addi r0, r31, 0x1020 -/* 803008F0 002FC550 38 60 FF FF */ li r3, -1 -/* 803008F4 002FC554 90 61 00 40 */ stw r3, 0x40(r1) -/* 803008F8 002FC558 7F A3 EB 78 */ mr r3, r29 -/* 803008FC 002FC55C 38 E1 00 60 */ addi r7, r1, 0x60 -/* 80300900 002FC560 38 80 00 07 */ li r4, 7 -/* 80300904 002FC564 93 01 00 20 */ stw r24, 0x20(r1) -/* 80300908 002FC568 38 A0 00 01 */ li r5, 1 -/* 8030090C 002FC56C 38 C0 00 03 */ li r6, 3 -/* 80300910 002FC570 91 61 00 60 */ stw r11, 0x60(r1) -/* 80300914 002FC574 91 41 00 64 */ stw r10, 0x64(r1) -/* 80300918 002FC578 91 21 00 68 */ stw r9, 0x68(r1) -/* 8030091C 002FC57C 91 41 00 6C */ stw r10, 0x6c(r1) -/* 80300920 002FC580 91 01 00 70 */ stw r8, 0x70(r1) -/* 80300924 002FC584 93 41 00 74 */ stw r26, 0x74(r1) -/* 80300928 002FC588 90 01 00 78 */ stw r0, 0x78(r1) -/* 8030092C 002FC58C 93 81 00 7C */ stw r28, 0x7c(r1) -/* 80300930 002FC590 4B FA 35 11 */ bl IOS_Ioctlv -/* 80300934 002FC594 38 7F 00 00 */ addi r3, r31, 0 -/* 80300938 002FC598 48 00 02 D5 */ bl func_80300C0C -/* 8030093C 002FC59C 7F A3 EB 78 */ mr r3, r29 -/* 80300940 002FC5A0 4B FA 29 F9 */ bl IOS_Close -/* 80300944 002FC5A4 80 61 00 40 */ lwz r3, 0x40(r1) -lbl_80300948: -/* 80300948 002FC5A8 81 41 00 00 */ lwz r10, 0(r1) -/* 8030094C 002FC5AC 7D 4B 53 78 */ mr r11, r10 -/* 80300950 002FC5B0 4B EC 68 19 */ bl _restgpr_24 -/* 80300954 002FC5B4 80 0A 00 04 */ lwz r0, 4(r10) -/* 80300958 002FC5B8 7C 08 03 A6 */ mtlr r0 -/* 8030095C 002FC5BC 7D 41 53 78 */ mr r1, r10 -/* 80300960 002FC5C0 4E 80 00 20 */ blr - -.global func_80300964 -func_80300964: -/* 80300964 002FC5C4 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 80300968 002FC5C8 7C 2C 0B 78 */ mr r12, r1 -/* 8030096C 002FC5CC 21 6B FF 60 */ subfic r11, r11, -160 -/* 80300970 002FC5D0 7C 21 59 6E */ stwux r1, r1, r11 -/* 80300974 002FC5D4 7C 08 02 A6 */ mflr r0 -/* 80300978 002FC5D8 3C 80 80 44 */ lis r4, lbl_80446240@ha -/* 8030097C 002FC5DC 90 0C 00 04 */ stw r0, 4(r12) -/* 80300980 002FC5E0 93 EC FF FC */ stw r31, -4(r12) -/* 80300984 002FC5E4 93 CC FF F8 */ stw r30, -8(r12) -/* 80300988 002FC5E8 7C 7E 1B 78 */ mr r30, r3 -/* 8030098C 002FC5EC 38 64 62 40 */ addi r3, r4, lbl_80446240@l -/* 80300990 002FC5F0 38 80 00 00 */ li r4, 0 -/* 80300994 002FC5F4 4B FA 27 C5 */ bl IOS_Open -/* 80300998 002FC5F8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030099C 002FC5FC 7C 7F 1B 78 */ mr r31, r3 -/* 803009A0 002FC600 40 80 00 0C */ bge lbl_803009AC -/* 803009A4 002FC604 38 60 FF FF */ li r3, -1 -/* 803009A8 002FC608 48 00 00 4C */ b lbl_803009F4 -lbl_803009AC: -/* 803009AC 002FC60C 39 00 00 20 */ li r8, 0x20 -/* 803009B0 002FC610 39 21 00 40 */ addi r9, r1, 0x40 -/* 803009B4 002FC614 38 01 00 20 */ addi r0, r1, 0x20 -/* 803009B8 002FC618 38 80 FF FF */ li r4, -1 -/* 803009BC 002FC61C 90 81 00 40 */ stw r4, 0x40(r1) -/* 803009C0 002FC620 38 E1 00 60 */ addi r7, r1, 0x60 -/* 803009C4 002FC624 38 80 00 08 */ li r4, 8 -/* 803009C8 002FC628 38 A0 00 01 */ li r5, 1 -/* 803009CC 002FC62C 93 C1 00 20 */ stw r30, 0x20(r1) -/* 803009D0 002FC630 38 C0 00 01 */ li r6, 1 -/* 803009D4 002FC634 91 21 00 60 */ stw r9, 0x60(r1) -/* 803009D8 002FC638 91 01 00 64 */ stw r8, 0x64(r1) -/* 803009DC 002FC63C 90 01 00 68 */ stw r0, 0x68(r1) -/* 803009E0 002FC640 91 01 00 6C */ stw r8, 0x6c(r1) -/* 803009E4 002FC644 4B FA 34 5D */ bl IOS_Ioctlv -/* 803009E8 002FC648 7F E3 FB 78 */ mr r3, r31 -/* 803009EC 002FC64C 4B FA 29 4D */ bl IOS_Close -/* 803009F0 002FC650 80 61 00 40 */ lwz r3, 0x40(r1) -lbl_803009F4: -/* 803009F4 002FC654 81 41 00 00 */ lwz r10, 0(r1) -/* 803009F8 002FC658 80 0A 00 04 */ lwz r0, 4(r10) -/* 803009FC 002FC65C 83 EA FF FC */ lwz r31, -4(r10) -/* 80300A00 002FC660 83 CA FF F8 */ lwz r30, -8(r10) -/* 80300A04 002FC664 7C 08 03 A6 */ mtlr r0 -/* 80300A08 002FC668 7D 41 53 78 */ mr r1, r10 -/* 80300A0C 002FC66C 4E 80 00 20 */ blr - -.global func_80300A10 -func_80300A10: -/* 80300A10 002FC670 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 80300A14 002FC674 7C 2C 0B 78 */ mr r12, r1 -/* 80300A18 002FC678 21 6B FF 60 */ subfic r11, r11, -160 -/* 80300A1C 002FC67C 7C 21 59 6E */ stwux r1, r1, r11 -/* 80300A20 002FC680 7C 08 02 A6 */ mflr r0 -/* 80300A24 002FC684 7D 8B 63 78 */ mr r11, r12 -/* 80300A28 002FC688 90 0C 00 04 */ stw r0, 4(r12) -/* 80300A2C 002FC68C 4B EC 66 F9 */ bl _savegpr_26 -/* 80300A30 002FC690 3F E0 80 58 */ lis r31, lbl_8057B780@ha -/* 80300A34 002FC694 3C C0 80 44 */ lis r6, lbl_80446240@ha -/* 80300A38 002FC698 7C 7A 1B 78 */ mr r26, r3 -/* 80300A3C 002FC69C 7C 9B 23 78 */ mr r27, r4 -/* 80300A40 002FC6A0 7C BC 2B 78 */ mr r28, r5 -/* 80300A44 002FC6A4 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l -/* 80300A48 002FC6A8 38 66 62 40 */ addi r3, r6, lbl_80446240@l -/* 80300A4C 002FC6AC 38 80 00 00 */ li r4, 0 -/* 80300A50 002FC6B0 4B FA 27 09 */ bl IOS_Open -/* 80300A54 002FC6B4 2C 03 00 00 */ cmpwi r3, 0 -/* 80300A58 002FC6B8 7C 7D 1B 78 */ mr r29, r3 -/* 80300A5C 002FC6BC 40 80 00 0C */ bge lbl_80300A68 -/* 80300A60 002FC6C0 38 60 FF FF */ li r3, -1 -/* 80300A64 002FC6C4 48 00 00 D8 */ b lbl_80300B3C -lbl_80300A68: -/* 80300A68 002FC6C8 4B F6 DC F5 */ bl OSDisableInterrupts -/* 80300A6C 002FC6CC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13) -/* 80300A70 002FC6D0 7C 7E 1B 78 */ mr r30, r3 -/* 80300A74 002FC6D4 2C 00 00 00 */ cmpwi r0, 0 -/* 80300A78 002FC6D8 40 82 00 44 */ bne lbl_80300ABC -/* 80300A7C 002FC6DC 38 7F 00 00 */ addi r3, r31, 0 -/* 80300A80 002FC6E0 48 00 01 85 */ bl func_80300C04 -/* 80300A84 002FC6E4 38 7F 00 20 */ addi r3, r31, 0x20 -/* 80300A88 002FC6E8 38 80 00 00 */ li r4, 0 -/* 80300A8C 002FC6EC 38 A0 10 00 */ li r5, 0x1000 -/* 80300A90 002FC6F0 4B D0 36 75 */ bl memset -/* 80300A94 002FC6F4 38 7F 10 20 */ addi r3, r31, 0x1020 -/* 80300A98 002FC6F8 38 80 00 00 */ li r4, 0 -/* 80300A9C 002FC6FC 38 A0 10 00 */ li r5, 0x1000 -/* 80300AA0 002FC700 4B D0 36 65 */ bl memset -/* 80300AA4 002FC704 38 7F 20 20 */ addi r3, r31, 0x2020 -/* 80300AA8 002FC708 38 80 00 00 */ li r4, 0 -/* 80300AAC 002FC70C 38 A0 10 00 */ li r5, 0x1000 -/* 80300AB0 002FC710 4B D0 36 55 */ bl memset -/* 80300AB4 002FC714 38 00 00 01 */ li r0, 1 -/* 80300AB8 002FC718 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13) -lbl_80300ABC: -/* 80300ABC 002FC71C 7F C3 F3 78 */ mr r3, r30 -/* 80300AC0 002FC720 4B F6 DC C5 */ bl OSRestoreInterrupts -/* 80300AC4 002FC724 38 7F 00 00 */ addi r3, r31, 0 -/* 80300AC8 002FC728 48 00 01 41 */ bl func_80300C08 -/* 80300ACC 002FC72C 7F 64 DB 78 */ mr r4, r27 -/* 80300AD0 002FC730 7F 85 E3 78 */ mr r5, r28 -/* 80300AD4 002FC734 38 7F 20 20 */ addi r3, r31, 0x2020 -/* 80300AD8 002FC738 4B D0 35 29 */ bl memcpy -/* 80300ADC 002FC73C 39 20 00 20 */ li r9, 0x20 -/* 80300AE0 002FC740 39 41 00 40 */ addi r10, r1, 0x40 -/* 80300AE4 002FC744 39 01 00 20 */ addi r8, r1, 0x20 -/* 80300AE8 002FC748 38 1F 20 20 */ addi r0, r31, 0x2020 -/* 80300AEC 002FC74C 38 80 FF FF */ li r4, -1 -/* 80300AF0 002FC750 93 41 00 20 */ stw r26, 0x20(r1) -/* 80300AF4 002FC754 7F A3 EB 78 */ mr r3, r29 -/* 80300AF8 002FC758 38 E1 00 60 */ addi r7, r1, 0x60 -/* 80300AFC 002FC75C 90 81 00 40 */ stw r4, 0x40(r1) -/* 80300B00 002FC760 38 80 00 0A */ li r4, 0xa -/* 80300B04 002FC764 38 A0 00 01 */ li r5, 1 -/* 80300B08 002FC768 38 C0 00 02 */ li r6, 2 -/* 80300B0C 002FC76C 91 41 00 60 */ stw r10, 0x60(r1) -/* 80300B10 002FC770 91 21 00 64 */ stw r9, 0x64(r1) -/* 80300B14 002FC774 91 01 00 68 */ stw r8, 0x68(r1) -/* 80300B18 002FC778 91 21 00 6C */ stw r9, 0x6c(r1) -/* 80300B1C 002FC77C 90 01 00 70 */ stw r0, 0x70(r1) -/* 80300B20 002FC780 93 81 00 74 */ stw r28, 0x74(r1) -/* 80300B24 002FC784 4B FA 33 1D */ bl IOS_Ioctlv -/* 80300B28 002FC788 38 7F 00 00 */ addi r3, r31, 0 -/* 80300B2C 002FC78C 48 00 00 E1 */ bl func_80300C0C -/* 80300B30 002FC790 7F A3 EB 78 */ mr r3, r29 -/* 80300B34 002FC794 4B FA 28 05 */ bl IOS_Close -/* 80300B38 002FC798 80 61 00 40 */ lwz r3, 0x40(r1) -lbl_80300B3C: -/* 80300B3C 002FC79C 81 41 00 00 */ lwz r10, 0(r1) -/* 80300B40 002FC7A0 7D 4B 53 78 */ mr r11, r10 -/* 80300B44 002FC7A4 4B EC 66 2D */ bl _restgpr_26 -/* 80300B48 002FC7A8 80 0A 00 04 */ lwz r0, 4(r10) -/* 80300B4C 002FC7AC 7C 08 03 A6 */ mtlr r0 -/* 80300B50 002FC7B0 7D 41 53 78 */ mr r1, r10 -/* 80300B54 002FC7B4 4E 80 00 20 */ blr - -.global func_80300B58 -func_80300B58: -/* 80300B58 002FC7B8 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 80300B5C 002FC7BC 7C 2C 0B 78 */ mr r12, r1 -/* 80300B60 002FC7C0 21 6B FF 60 */ subfic r11, r11, -160 -/* 80300B64 002FC7C4 7C 21 59 6E */ stwux r1, r1, r11 -/* 80300B68 002FC7C8 7C 08 02 A6 */ mflr r0 -/* 80300B6C 002FC7CC 3C 80 80 44 */ lis r4, lbl_80446240@ha -/* 80300B70 002FC7D0 90 0C 00 04 */ stw r0, 4(r12) -/* 80300B74 002FC7D4 93 EC FF FC */ stw r31, -4(r12) -/* 80300B78 002FC7D8 93 CC FF F8 */ stw r30, -8(r12) -/* 80300B7C 002FC7DC 7C 7E 1B 78 */ mr r30, r3 -/* 80300B80 002FC7E0 38 64 62 40 */ addi r3, r4, lbl_80446240@l -/* 80300B84 002FC7E4 38 80 00 00 */ li r4, 0 -/* 80300B88 002FC7E8 4B FA 25 D1 */ bl IOS_Open -/* 80300B8C 002FC7EC 2C 03 00 00 */ cmpwi r3, 0 -/* 80300B90 002FC7F0 7C 7F 1B 78 */ mr r31, r3 -/* 80300B94 002FC7F4 40 80 00 0C */ bge lbl_80300BA0 -/* 80300B98 002FC7F8 38 60 FF FF */ li r3, -1 -/* 80300B9C 002FC7FC 48 00 00 4C */ b lbl_80300BE8 -lbl_80300BA0: -/* 80300BA0 002FC800 39 00 00 20 */ li r8, 0x20 -/* 80300BA4 002FC804 39 21 00 40 */ addi r9, r1, 0x40 -/* 80300BA8 002FC808 38 01 00 20 */ addi r0, r1, 0x20 -/* 80300BAC 002FC80C 38 80 FF FF */ li r4, -1 -/* 80300BB0 002FC810 90 81 00 40 */ stw r4, 0x40(r1) -/* 80300BB4 002FC814 38 E1 00 60 */ addi r7, r1, 0x60 -/* 80300BB8 002FC818 38 80 00 0B */ li r4, 0xb -/* 80300BBC 002FC81C 38 A0 00 01 */ li r5, 1 -/* 80300BC0 002FC820 93 C1 00 20 */ stw r30, 0x20(r1) -/* 80300BC4 002FC824 38 C0 00 01 */ li r6, 1 -/* 80300BC8 002FC828 91 21 00 60 */ stw r9, 0x60(r1) -/* 80300BCC 002FC82C 91 01 00 64 */ stw r8, 0x64(r1) -/* 80300BD0 002FC830 90 01 00 68 */ stw r0, 0x68(r1) -/* 80300BD4 002FC834 91 01 00 6C */ stw r8, 0x6c(r1) -/* 80300BD8 002FC838 4B FA 32 69 */ bl IOS_Ioctlv -/* 80300BDC 002FC83C 7F E3 FB 78 */ mr r3, r31 -/* 80300BE0 002FC840 4B FA 27 59 */ bl IOS_Close -/* 80300BE4 002FC844 80 61 00 40 */ lwz r3, 0x40(r1) -lbl_80300BE8: -/* 80300BE8 002FC848 81 41 00 00 */ lwz r10, 0(r1) -/* 80300BEC 002FC84C 80 0A 00 04 */ lwz r0, 4(r10) -/* 80300BF0 002FC850 83 EA FF FC */ lwz r31, -4(r10) -/* 80300BF4 002FC854 83 CA FF F8 */ lwz r30, -8(r10) -/* 80300BF8 002FC858 7C 08 03 A6 */ mtlr r0 -/* 80300BFC 002FC85C 7D 41 53 78 */ mr r1, r10 -/* 80300C00 002FC860 4E 80 00 20 */ blr - -.global func_80300C04 -func_80300C04: -/* 80300C04 002FC864 4B F6 ED 0C */ b OSInitMutex - -.global func_80300C08 -func_80300C08: -/* 80300C08 002FC868 4B F6 ED 40 */ b OSLockMutex - -.global func_80300C0C -func_80300C0C: -/* 80300C0C 002FC86C 4B F6 EE 18 */ b OSUnlockMutex - -.global func_80300C10 -func_80300C10: -/* 80300C10 002FC870 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80300C14 002FC874 28 05 00 10 */ cmplwi r5, 0x10 -/* 80300C18 002FC878 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80300C1C 002FC87C 40 81 00 08 */ ble lbl_80300C24 -/* 80300C20 002FC880 38 A0 00 10 */ li r5, 0x10 -lbl_80300C24: -/* 80300C24 002FC884 38 C0 00 00 */ li r6, 0 -/* 80300C28 002FC888 38 00 00 08 */ li r0, 8 -/* 80300C2C 002FC88C 98 C3 00 00 */ stb r6, 0(r3) -/* 80300C30 002FC890 39 83 00 04 */ addi r12, r3, 4 -/* 80300C34 002FC894 3B E0 00 00 */ li r31, 0 -/* 80300C38 002FC898 98 C3 00 01 */ stb r6, 1(r3) -/* 80300C3C 002FC89C 7C 09 03 A6 */ mtctr r0 -lbl_80300C40: -/* 80300C40 002FC8A0 7F EC F9 AE */ stbx r31, r12, r31 -/* 80300C44 002FC8A4 7D 6C FA 14 */ add r11, r12, r31 -/* 80300C48 002FC8A8 39 5F 00 01 */ addi r10, r31, 1 -/* 80300C4C 002FC8AC 39 3F 00 02 */ addi r9, r31, 2 -/* 80300C50 002FC8B0 99 4B 00 01 */ stb r10, 1(r11) -/* 80300C54 002FC8B4 39 1F 00 03 */ addi r8, r31, 3 -/* 80300C58 002FC8B8 38 FF 00 04 */ addi r7, r31, 4 -/* 80300C5C 002FC8BC 38 DF 00 05 */ addi r6, r31, 5 -/* 80300C60 002FC8C0 99 2B 00 02 */ stb r9, 2(r11) -/* 80300C64 002FC8C4 38 7F 00 06 */ addi r3, r31, 6 -/* 80300C68 002FC8C8 38 1F 00 07 */ addi r0, r31, 7 -/* 80300C6C 002FC8CC 39 5F 00 09 */ addi r10, r31, 9 -/* 80300C70 002FC8D0 99 0B 00 03 */ stb r8, 3(r11) -/* 80300C74 002FC8D4 39 3F 00 0A */ addi r9, r31, 0xa -/* 80300C78 002FC8D8 39 1F 00 0B */ addi r8, r31, 0xb -/* 80300C7C 002FC8DC 98 EB 00 04 */ stb r7, 4(r11) -/* 80300C80 002FC8E0 38 FF 00 0C */ addi r7, r31, 0xc -/* 80300C84 002FC8E4 98 CB 00 05 */ stb r6, 5(r11) -/* 80300C88 002FC8E8 38 DF 00 0D */ addi r6, r31, 0xd -/* 80300C8C 002FC8EC 98 6B 00 06 */ stb r3, 6(r11) -/* 80300C90 002FC8F0 38 7F 00 0E */ addi r3, r31, 0xe -/* 80300C94 002FC8F4 3B FF 00 08 */ addi r31, r31, 8 -/* 80300C98 002FC8F8 98 0B 00 07 */ stb r0, 7(r11) -/* 80300C9C 002FC8FC 7D 6C FA 14 */ add r11, r12, r31 -/* 80300CA0 002FC900 38 1F 00 07 */ addi r0, r31, 7 -/* 80300CA4 002FC904 7F EC F9 AE */ stbx r31, r12, r31 -/* 80300CA8 002FC908 99 4B 00 01 */ stb r10, 1(r11) -/* 80300CAC 002FC90C 39 5F 00 09 */ addi r10, r31, 9 -/* 80300CB0 002FC910 99 2B 00 02 */ stb r9, 2(r11) -/* 80300CB4 002FC914 39 3F 00 0A */ addi r9, r31, 0xa -/* 80300CB8 002FC918 99 0B 00 03 */ stb r8, 3(r11) -/* 80300CBC 002FC91C 39 1F 00 0B */ addi r8, r31, 0xb -/* 80300CC0 002FC920 98 EB 00 04 */ stb r7, 4(r11) -/* 80300CC4 002FC924 38 FF 00 0C */ addi r7, r31, 0xc -/* 80300CC8 002FC928 98 CB 00 05 */ stb r6, 5(r11) -/* 80300CCC 002FC92C 38 DF 00 0D */ addi r6, r31, 0xd -/* 80300CD0 002FC930 98 6B 00 06 */ stb r3, 6(r11) -/* 80300CD4 002FC934 38 7F 00 0E */ addi r3, r31, 0xe -/* 80300CD8 002FC938 3B FF 00 08 */ addi r31, r31, 8 -/* 80300CDC 002FC93C 98 0B 00 07 */ stb r0, 7(r11) -/* 80300CE0 002FC940 7D 6C FA 14 */ add r11, r12, r31 -/* 80300CE4 002FC944 38 1F 00 07 */ addi r0, r31, 7 -/* 80300CE8 002FC948 7F EC F9 AE */ stbx r31, r12, r31 -/* 80300CEC 002FC94C 99 4B 00 01 */ stb r10, 1(r11) -/* 80300CF0 002FC950 39 5F 00 09 */ addi r10, r31, 9 -/* 80300CF4 002FC954 99 2B 00 02 */ stb r9, 2(r11) -/* 80300CF8 002FC958 39 3F 00 0A */ addi r9, r31, 0xa -/* 80300CFC 002FC95C 99 0B 00 03 */ stb r8, 3(r11) -/* 80300D00 002FC960 39 1F 00 0B */ addi r8, r31, 0xb -/* 80300D04 002FC964 98 EB 00 04 */ stb r7, 4(r11) -/* 80300D08 002FC968 38 FF 00 0C */ addi r7, r31, 0xc -/* 80300D0C 002FC96C 98 CB 00 05 */ stb r6, 5(r11) -/* 80300D10 002FC970 38 DF 00 0D */ addi r6, r31, 0xd -/* 80300D14 002FC974 98 6B 00 06 */ stb r3, 6(r11) -/* 80300D18 002FC978 38 7F 00 0E */ addi r3, r31, 0xe -/* 80300D1C 002FC97C 3B FF 00 08 */ addi r31, r31, 8 -/* 80300D20 002FC980 98 0B 00 07 */ stb r0, 7(r11) -/* 80300D24 002FC984 7D 6C FA 14 */ add r11, r12, r31 -/* 80300D28 002FC988 38 1F 00 07 */ addi r0, r31, 7 -/* 80300D2C 002FC98C 7F EC F9 AE */ stbx r31, r12, r31 -/* 80300D30 002FC990 3B FF 00 08 */ addi r31, r31, 8 -/* 80300D34 002FC994 99 4B 00 01 */ stb r10, 1(r11) -/* 80300D38 002FC998 99 2B 00 02 */ stb r9, 2(r11) -/* 80300D3C 002FC99C 99 0B 00 03 */ stb r8, 3(r11) -/* 80300D40 002FC9A0 98 EB 00 04 */ stb r7, 4(r11) -/* 80300D44 002FC9A4 98 CB 00 05 */ stb r6, 5(r11) -/* 80300D48 002FC9A8 98 6B 00 06 */ stb r3, 6(r11) -/* 80300D4C 002FC9AC 98 0B 00 07 */ stb r0, 7(r11) -/* 80300D50 002FC9B0 42 00 FE F0 */ bdnz lbl_80300C40 -/* 80300D54 002FC9B4 38 00 00 40 */ li r0, 0x40 -/* 80300D58 002FC9B8 7D 83 63 78 */ mr r3, r12 -/* 80300D5C 002FC9BC 54 A5 06 3E */ clrlwi r5, r5, 0x18 -/* 80300D60 002FC9C0 39 20 00 00 */ li r9, 0 -/* 80300D64 002FC9C4 39 00 00 00 */ li r8, 0 -/* 80300D68 002FC9C8 38 E0 00 00 */ li r7, 0 -/* 80300D6C 002FC9CC 7C 09 03 A6 */ mtctr r0 -lbl_80300D70: -/* 80300D70 002FC9D0 55 06 06 3E */ clrlwi r6, r8, 0x18 -/* 80300D74 002FC9D4 39 08 00 01 */ addi r8, r8, 1 -/* 80300D78 002FC9D8 55 00 06 3E */ clrlwi r0, r8, 0x18 -/* 80300D7C 002FC9DC 89 43 00 00 */ lbz r10, 0(r3) -/* 80300D80 002FC9E0 7C 00 28 40 */ cmplw r0, r5 -/* 80300D84 002FC9E4 7C C4 30 AE */ lbzx r6, r4, r6 -/* 80300D88 002FC9E8 7C 09 52 14 */ add r0, r9, r10 -/* 80300D8C 002FC9EC 7C 06 02 14 */ add r0, r6, r0 -/* 80300D90 002FC9F0 54 09 06 3E */ clrlwi r9, r0, 0x18 -/* 80300D94 002FC9F4 40 82 00 08 */ bne lbl_80300D9C -/* 80300D98 002FC9F8 39 00 00 00 */ li r8, 0 -lbl_80300D9C: -/* 80300D9C 002FC9FC 7C 0C 48 AE */ lbzx r0, r12, r9 -/* 80300DA0 002FCA00 55 06 06 3E */ clrlwi r6, r8, 0x18 -/* 80300DA4 002FCA04 39 08 00 01 */ addi r8, r8, 1 -/* 80300DA8 002FCA08 7C C4 30 AE */ lbzx r6, r4, r6 -/* 80300DAC 002FCA0C 98 03 00 00 */ stb r0, 0(r3) -/* 80300DB0 002FCA10 55 00 06 3E */ clrlwi r0, r8, 0x18 -/* 80300DB4 002FCA14 7C 00 28 40 */ cmplw r0, r5 -/* 80300DB8 002FCA18 7D 4C 49 AE */ stbx r10, r12, r9 -/* 80300DBC 002FCA1C 89 43 00 01 */ lbz r10, 1(r3) -/* 80300DC0 002FCA20 7C 09 52 14 */ add r0, r9, r10 -/* 80300DC4 002FCA24 7C 06 02 14 */ add r0, r6, r0 -/* 80300DC8 002FCA28 54 09 06 3E */ clrlwi r9, r0, 0x18 -/* 80300DCC 002FCA2C 40 82 00 08 */ bne lbl_80300DD4 -/* 80300DD0 002FCA30 39 00 00 00 */ li r8, 0 -lbl_80300DD4: -/* 80300DD4 002FCA34 7C 0C 48 AE */ lbzx r0, r12, r9 -/* 80300DD8 002FCA38 55 06 06 3E */ clrlwi r6, r8, 0x18 -/* 80300DDC 002FCA3C 39 08 00 01 */ addi r8, r8, 1 -/* 80300DE0 002FCA40 7C C4 30 AE */ lbzx r6, r4, r6 -/* 80300DE4 002FCA44 98 03 00 01 */ stb r0, 1(r3) -/* 80300DE8 002FCA48 55 00 06 3E */ clrlwi r0, r8, 0x18 -/* 80300DEC 002FCA4C 7C 00 28 40 */ cmplw r0, r5 -/* 80300DF0 002FCA50 7D 4C 49 AE */ stbx r10, r12, r9 -/* 80300DF4 002FCA54 89 43 00 02 */ lbz r10, 2(r3) -/* 80300DF8 002FCA58 7C 09 52 14 */ add r0, r9, r10 -/* 80300DFC 002FCA5C 7C 06 02 14 */ add r0, r6, r0 -/* 80300E00 002FCA60 54 09 06 3E */ clrlwi r9, r0, 0x18 -/* 80300E04 002FCA64 40 82 00 08 */ bne lbl_80300E0C -/* 80300E08 002FCA68 39 00 00 00 */ li r8, 0 -lbl_80300E0C: -/* 80300E0C 002FCA6C 7C 0C 48 AE */ lbzx r0, r12, r9 -/* 80300E10 002FCA70 55 06 06 3E */ clrlwi r6, r8, 0x18 -/* 80300E14 002FCA74 39 08 00 01 */ addi r8, r8, 1 -/* 80300E18 002FCA78 7C C4 30 AE */ lbzx r6, r4, r6 -/* 80300E1C 002FCA7C 98 03 00 02 */ stb r0, 2(r3) -/* 80300E20 002FCA80 55 00 06 3E */ clrlwi r0, r8, 0x18 -/* 80300E24 002FCA84 7C 00 28 40 */ cmplw r0, r5 -/* 80300E28 002FCA88 7D 4C 49 AE */ stbx r10, r12, r9 -/* 80300E2C 002FCA8C 89 43 00 03 */ lbz r10, 3(r3) -/* 80300E30 002FCA90 7C 09 52 14 */ add r0, r9, r10 -/* 80300E34 002FCA94 7C 06 02 14 */ add r0, r6, r0 -/* 80300E38 002FCA98 54 09 06 3E */ clrlwi r9, r0, 0x18 -/* 80300E3C 002FCA9C 40 82 00 08 */ bne lbl_80300E44 -/* 80300E40 002FCAA0 39 00 00 00 */ li r8, 0 -lbl_80300E44: -/* 80300E44 002FCAA4 7C 0C 48 AE */ lbzx r0, r12, r9 -/* 80300E48 002FCAA8 38 E7 00 03 */ addi r7, r7, 3 -/* 80300E4C 002FCAAC 98 03 00 03 */ stb r0, 3(r3) -/* 80300E50 002FCAB0 38 63 00 04 */ addi r3, r3, 4 -/* 80300E54 002FCAB4 7D 4C 49 AE */ stbx r10, r12, r9 -/* 80300E58 002FCAB8 42 00 FF 18 */ bdnz lbl_80300D70 -/* 80300E5C 002FCABC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80300E60 002FCAC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80300E64 002FCAC4 4E 80 00 20 */ blr - -.global func_80300E68 -func_80300E68: -/* 80300E68 002FCAC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80300E6C 002FCACC 2C 06 00 00 */ cmpwi r6, 0 -/* 80300E70 002FCAD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80300E74 002FCAD4 41 82 01 64 */ beq lbl_80300FD8 -/* 80300E78 002FCAD8 89 63 00 00 */ lbz r11, 0(r3) -/* 80300E7C 002FCADC 3B E3 00 04 */ addi r31, r3, 4 -/* 80300E80 002FCAE0 89 83 00 01 */ lbz r12, 1(r3) -/* 80300E84 002FCAE4 41 82 01 4C */ beq lbl_80300FD0 -/* 80300E88 002FCAE8 54 C0 F0 BF */ rlwinm. r0, r6, 0x1e, 2, 0x1f -/* 80300E8C 002FCAEC 7C 09 03 A6 */ mtctr r0 -/* 80300E90 002FCAF0 41 82 00 F8 */ beq lbl_80300F88 -lbl_80300E94: -/* 80300E94 002FCAF4 39 0B 00 01 */ addi r8, r11, 1 -/* 80300E98 002FCAF8 88 E5 00 00 */ lbz r7, 0(r5) -/* 80300E9C 002FCAFC 55 0B 06 3E */ clrlwi r11, r8, 0x18 -/* 80300EA0 002FCB00 7D 3F 58 AE */ lbzx r9, r31, r11 -/* 80300EA4 002FCB04 39 0B 00 01 */ addi r8, r11, 1 -/* 80300EA8 002FCB08 7C 0C 4A 14 */ add r0, r12, r9 -/* 80300EAC 002FCB0C 54 0C 06 3E */ clrlwi r12, r0, 0x18 -/* 80300EB0 002FCB10 7D 5F 60 AE */ lbzx r10, r31, r12 -/* 80300EB4 002FCB14 7D 3F 61 AE */ stbx r9, r31, r12 -/* 80300EB8 002FCB18 7C 09 52 14 */ add r0, r9, r10 -/* 80300EBC 002FCB1C 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80300EC0 002FCB20 7D 5F 59 AE */ stbx r10, r31, r11 -/* 80300EC4 002FCB24 55 0B 06 3E */ clrlwi r11, r8, 0x18 -/* 80300EC8 002FCB28 39 0B 00 01 */ addi r8, r11, 1 -/* 80300ECC 002FCB2C 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 80300ED0 002FCB30 7C E0 02 78 */ xor r0, r7, r0 -/* 80300ED4 002FCB34 88 E5 00 01 */ lbz r7, 1(r5) -/* 80300ED8 002FCB38 98 04 00 00 */ stb r0, 0(r4) -/* 80300EDC 002FCB3C 7D 3F 58 AE */ lbzx r9, r31, r11 -/* 80300EE0 002FCB40 7C 0C 4A 14 */ add r0, r12, r9 -/* 80300EE4 002FCB44 54 0C 06 3E */ clrlwi r12, r0, 0x18 -/* 80300EE8 002FCB48 7D 5F 60 AE */ lbzx r10, r31, r12 -/* 80300EEC 002FCB4C 7D 3F 61 AE */ stbx r9, r31, r12 -/* 80300EF0 002FCB50 7C 09 52 14 */ add r0, r9, r10 -/* 80300EF4 002FCB54 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80300EF8 002FCB58 7D 5F 59 AE */ stbx r10, r31, r11 -/* 80300EFC 002FCB5C 55 0B 06 3E */ clrlwi r11, r8, 0x18 -/* 80300F00 002FCB60 39 0B 00 01 */ addi r8, r11, 1 -/* 80300F04 002FCB64 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 80300F08 002FCB68 7C E0 02 78 */ xor r0, r7, r0 -/* 80300F0C 002FCB6C 88 E5 00 02 */ lbz r7, 2(r5) -/* 80300F10 002FCB70 98 04 00 01 */ stb r0, 1(r4) -/* 80300F14 002FCB74 7D 3F 58 AE */ lbzx r9, r31, r11 -/* 80300F18 002FCB78 7C 0C 4A 14 */ add r0, r12, r9 -/* 80300F1C 002FCB7C 54 0C 06 3E */ clrlwi r12, r0, 0x18 -/* 80300F20 002FCB80 7D 5F 60 AE */ lbzx r10, r31, r12 -/* 80300F24 002FCB84 7D 3F 61 AE */ stbx r9, r31, r12 -/* 80300F28 002FCB88 7C 09 52 14 */ add r0, r9, r10 -/* 80300F2C 002FCB8C 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80300F30 002FCB90 7D 5F 59 AE */ stbx r10, r31, r11 -/* 80300F34 002FCB94 55 0B 06 3E */ clrlwi r11, r8, 0x18 -/* 80300F38 002FCB98 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 80300F3C 002FCB9C 7C E0 02 78 */ xor r0, r7, r0 -/* 80300F40 002FCBA0 88 E5 00 03 */ lbz r7, 3(r5) -/* 80300F44 002FCBA4 98 04 00 02 */ stb r0, 2(r4) -/* 80300F48 002FCBA8 38 A5 00 04 */ addi r5, r5, 4 -/* 80300F4C 002FCBAC 7D 3F 58 AE */ lbzx r9, r31, r11 -/* 80300F50 002FCBB0 7C 0C 4A 14 */ add r0, r12, r9 -/* 80300F54 002FCBB4 54 0C 06 3E */ clrlwi r12, r0, 0x18 -/* 80300F58 002FCBB8 7D 5F 60 AE */ lbzx r10, r31, r12 -/* 80300F5C 002FCBBC 7D 3F 61 AE */ stbx r9, r31, r12 -/* 80300F60 002FCBC0 7C 09 52 14 */ add r0, r9, r10 -/* 80300F64 002FCBC4 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80300F68 002FCBC8 7D 5F 59 AE */ stbx r10, r31, r11 -/* 80300F6C 002FCBCC 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 80300F70 002FCBD0 7C E0 02 78 */ xor r0, r7, r0 -/* 80300F74 002FCBD4 98 04 00 03 */ stb r0, 3(r4) -/* 80300F78 002FCBD8 38 84 00 04 */ addi r4, r4, 4 -/* 80300F7C 002FCBDC 42 00 FF 18 */ bdnz lbl_80300E94 -/* 80300F80 002FCBE0 70 C6 00 03 */ andi. r6, r6, 3 -/* 80300F84 002FCBE4 41 82 00 4C */ beq lbl_80300FD0 -lbl_80300F88: -/* 80300F88 002FCBE8 7C C9 03 A6 */ mtctr r6 -lbl_80300F8C: -/* 80300F8C 002FCBEC 39 0B 00 01 */ addi r8, r11, 1 -/* 80300F90 002FCBF0 88 E5 00 00 */ lbz r7, 0(r5) -/* 80300F94 002FCBF4 55 0B 06 3E */ clrlwi r11, r8, 0x18 -/* 80300F98 002FCBF8 38 A5 00 01 */ addi r5, r5, 1 -/* 80300F9C 002FCBFC 7D 3F 58 AE */ lbzx r9, r31, r11 -/* 80300FA0 002FCC00 7C 0C 4A 14 */ add r0, r12, r9 -/* 80300FA4 002FCC04 54 0C 06 3E */ clrlwi r12, r0, 0x18 -/* 80300FA8 002FCC08 7D 5F 60 AE */ lbzx r10, r31, r12 -/* 80300FAC 002FCC0C 7D 3F 61 AE */ stbx r9, r31, r12 -/* 80300FB0 002FCC10 7C 09 52 14 */ add r0, r9, r10 -/* 80300FB4 002FCC14 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80300FB8 002FCC18 7D 5F 59 AE */ stbx r10, r31, r11 -/* 80300FBC 002FCC1C 7C 1F 00 AE */ lbzx r0, r31, r0 -/* 80300FC0 002FCC20 7C E0 02 78 */ xor r0, r7, r0 -/* 80300FC4 002FCC24 98 04 00 00 */ stb r0, 0(r4) -/* 80300FC8 002FCC28 38 84 00 01 */ addi r4, r4, 1 -/* 80300FCC 002FCC2C 42 00 FF C0 */ bdnz lbl_80300F8C -lbl_80300FD0: -/* 80300FD0 002FCC30 99 63 00 00 */ stb r11, 0(r3) -/* 80300FD4 002FCC34 99 83 00 01 */ stb r12, 1(r3) -lbl_80300FD8: -/* 80300FD8 002FCC38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80300FDC 002FCC3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80300FE0 002FCC40 4E 80 00 20 */ blr - -.global func_80300FE4 -func_80300FE4: -/* 80300FE4 002FCC44 38 A0 00 00 */ li r5, 0 -/* 80300FE8 002FCC48 7C 89 03 A6 */ mtctr r4 -/* 80300FEC 002FCC4C 28 04 00 00 */ cmplwi r4, 0 -/* 80300FF0 002FCC50 40 81 00 1C */ ble lbl_8030100C -lbl_80300FF4: -/* 80300FF4 002FCC54 88 03 00 00 */ lbz r0, 0(r3) -/* 80300FF8 002FCC58 7C 00 07 75 */ extsb. r0, r0 -/* 80300FFC 002FCC5C 41 82 00 10 */ beq lbl_8030100C -/* 80301000 002FCC60 38 A5 00 01 */ addi r5, r5, 1 -/* 80301004 002FCC64 38 63 00 01 */ addi r3, r3, 1 -/* 80301008 002FCC68 42 00 FF EC */ bdnz lbl_80300FF4 -lbl_8030100C: -/* 8030100C 002FCC6C 7C A3 2B 78 */ mr r3, r5 -/* 80301010 002FCC70 4E 80 00 20 */ blr - -.global func_80301014 -func_80301014: -/* 80301014 002FCC74 2C 05 00 00 */ cmpwi r5, 0 -/* 80301018 002FCC78 39 00 00 00 */ li r8, 0 -/* 8030101C 002FCC7C 4D 82 00 20 */ beqlr -/* 80301020 002FCC80 28 05 00 08 */ cmplwi r5, 8 -/* 80301024 002FCC84 38 C5 FF F8 */ addi r6, r5, -8 -/* 80301028 002FCC88 40 81 00 48 */ ble lbl_80301070 -/* 8030102C 002FCC8C 38 06 00 07 */ addi r0, r6, 7 -/* 80301030 002FCC90 7C 67 1B 78 */ mr r7, r3 -/* 80301034 002FCC94 54 00 E8 FE */ srwi r0, r0, 3 -/* 80301038 002FCC98 7C 09 03 A6 */ mtctr r0 -/* 8030103C 002FCC9C 28 06 00 00 */ cmplwi r6, 0 -/* 80301040 002FCCA0 40 81 00 30 */ ble lbl_80301070 -lbl_80301044: -/* 80301044 002FCCA4 98 87 00 00 */ stb r4, 0(r7) -/* 80301048 002FCCA8 39 08 00 08 */ addi r8, r8, 8 -/* 8030104C 002FCCAC 98 87 00 01 */ stb r4, 1(r7) -/* 80301050 002FCCB0 98 87 00 02 */ stb r4, 2(r7) -/* 80301054 002FCCB4 98 87 00 03 */ stb r4, 3(r7) -/* 80301058 002FCCB8 98 87 00 04 */ stb r4, 4(r7) -/* 8030105C 002FCCBC 98 87 00 05 */ stb r4, 5(r7) -/* 80301060 002FCCC0 98 87 00 06 */ stb r4, 6(r7) -/* 80301064 002FCCC4 98 87 00 07 */ stb r4, 7(r7) -/* 80301068 002FCCC8 38 E7 00 08 */ addi r7, r7, 8 -/* 8030106C 002FCCCC 42 00 FF D8 */ bdnz lbl_80301044 -lbl_80301070: -/* 80301070 002FCCD0 7C 08 28 50 */ subf r0, r8, r5 -/* 80301074 002FCCD4 7C C3 42 14 */ add r6, r3, r8 -/* 80301078 002FCCD8 7C 09 03 A6 */ mtctr r0 -/* 8030107C 002FCCDC 7C 08 28 40 */ cmplw r8, r5 -/* 80301080 002FCCE0 4C 80 00 20 */ bgelr -lbl_80301084: -/* 80301084 002FCCE4 98 86 00 00 */ stb r4, 0(r6) -/* 80301088 002FCCE8 38 C6 00 01 */ addi r6, r6, 1 -/* 8030108C 002FCCEC 42 00 FF F8 */ bdnz lbl_80301084 -/* 80301090 002FCCF0 4E 80 00 20 */ blr - -.global func_80301094 -func_80301094: -/* 80301094 002FCCF4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80301098 002FCCF8 7C 08 02 A6 */ mflr r0 -/* 8030109C 002FCCFC 90 01 00 24 */ stw r0, 0x24(r1) -/* 803010A0 002FCD00 39 61 00 20 */ addi r11, r1, 0x20 -/* 803010A4 002FCD04 4B EC 60 85 */ bl _savegpr_27 -/* 803010A8 002FCD08 2C 07 00 00 */ cmpwi r7, 0 -/* 803010AC 002FCD0C 41 82 00 18 */ beq lbl_803010C4 -/* 803010B0 002FCD10 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0 -/* 803010B4 002FCD14 41 82 00 10 */ beq lbl_803010C4 -/* 803010B8 002FCD18 7C 84 00 D0 */ neg r4, r4 -/* 803010BC 002FCD1C 3B C0 00 01 */ li r30, 1 -/* 803010C0 002FCD20 48 00 00 08 */ b lbl_803010C8 -lbl_803010C4: -/* 803010C4 002FCD24 3B C0 00 00 */ li r30, 0 -lbl_803010C8: -/* 803010C8 002FCD28 3B E0 00 00 */ li r31, 0 -/* 803010CC 002FCD2C 39 80 00 00 */ li r12, 0 -/* 803010D0 002FCD30 3C E0 80 00 */ lis r7, 0x8000 -/* 803010D4 002FCD34 48 00 01 40 */ b lbl_80301214 -lbl_803010D8: -/* 803010D8 002FCD38 7C 04 2B 96 */ divwu r0, r4, r5 -/* 803010DC 002FCD3C 7C 7B 1B 78 */ mr r27, r3 -/* 803010E0 002FCD40 39 60 00 00 */ li r11, 0 -/* 803010E4 002FCD44 7C 00 29 D6 */ mullw r0, r0, r5 -/* 803010E8 002FCD48 7C 00 20 50 */ subf r0, r0, r4 -/* 803010EC 002FCD4C 7C 84 2B 96 */ divwu r4, r4, r5 -/* 803010F0 002FCD50 7C 00 07 74 */ extsb r0, r0 -/* 803010F4 002FCD54 48 00 00 0C */ b lbl_80301100 -lbl_803010F8: -/* 803010F8 002FCD58 3B 7B 00 01 */ addi r27, r27, 1 -/* 803010FC 002FCD5C 39 6B 00 01 */ addi r11, r11, 1 -lbl_80301100: -/* 80301100 002FCD60 8B BB 00 00 */ lbz r29, 0(r27) -/* 80301104 002FCD64 7F BD 07 75 */ extsb. r29, r29 -/* 80301108 002FCD68 40 82 FF F0 */ bne lbl_803010F8 -/* 8030110C 002FCD6C 2C 8B 00 00 */ cmpwi cr1, r11, 0 -/* 80301110 002FCD70 41 84 00 E4 */ blt cr1, lbl_803011F4 -/* 80301114 002FCD74 3B AB 00 01 */ addi r29, r11, 1 -/* 80301118 002FCD78 2C 1D 00 08 */ cmpwi r29, 8 -/* 8030111C 002FCD7C 40 81 00 B4 */ ble lbl_803011D0 -/* 80301120 002FCD80 3B 80 00 00 */ li r28, 0 -/* 80301124 002FCD84 3B 60 00 00 */ li r27, 0 -/* 80301128 002FCD88 41 84 00 14 */ blt cr1, lbl_8030113C -/* 8030112C 002FCD8C 3B A7 00 01 */ addi r29, r7, 1 -/* 80301130 002FCD90 7C 0B E8 00 */ cmpw r11, r29 -/* 80301134 002FCD94 41 80 00 08 */ blt lbl_8030113C -/* 80301138 002FCD98 3B 60 00 01 */ li r27, 1 -lbl_8030113C: -/* 8030113C 002FCD9C 2C 1B 00 00 */ cmpwi r27, 0 -/* 80301140 002FCDA0 41 82 00 2C */ beq lbl_8030116C -/* 80301144 002FCDA4 55 7D 00 01 */ rlwinm. r29, r11, 0, 0, 0 -/* 80301148 002FCDA8 3B 60 00 01 */ li r27, 1 -/* 8030114C 002FCDAC 40 82 00 14 */ bne lbl_80301160 -/* 80301150 002FCDB0 3B AB 00 01 */ addi r29, r11, 1 -/* 80301154 002FCDB4 57 BD 00 01 */ rlwinm. r29, r29, 0, 0, 0 -/* 80301158 002FCDB8 41 82 00 08 */ beq lbl_80301160 -/* 8030115C 002FCDBC 3B 60 00 00 */ li r27, 0 -lbl_80301160: -/* 80301160 002FCDC0 2C 1B 00 00 */ cmpwi r27, 0 -/* 80301164 002FCDC4 41 82 00 08 */ beq lbl_8030116C -/* 80301168 002FCDC8 3B 80 00 01 */ li r28, 1 -lbl_8030116C: -/* 8030116C 002FCDCC 2C 1C 00 00 */ cmpwi r28, 0 -/* 80301170 002FCDD0 41 82 00 60 */ beq lbl_803011D0 -/* 80301174 002FCDD4 55 7D E8 FE */ srwi r29, r11, 3 -/* 80301178 002FCDD8 7F A9 03 A6 */ mtctr r29 -/* 8030117C 002FCDDC 2C 0B 00 08 */ cmpwi r11, 8 -/* 80301180 002FCDE0 41 80 00 50 */ blt lbl_803011D0 -lbl_80301184: -/* 80301184 002FCDE4 7F A3 58 AE */ lbzx r29, r3, r11 -/* 80301188 002FCDE8 7F 63 5A 14 */ add r27, r3, r11 -/* 8030118C 002FCDEC 9B BB 00 01 */ stb r29, 1(r27) -/* 80301190 002FCDF0 8B BB FF FF */ lbz r29, -1(r27) -/* 80301194 002FCDF4 7F A3 59 AE */ stbx r29, r3, r11 -/* 80301198 002FCDF8 39 6B FF F8 */ addi r11, r11, -8 -/* 8030119C 002FCDFC 8B BB FF FE */ lbz r29, -2(r27) -/* 803011A0 002FCE00 9B BB FF FF */ stb r29, -1(r27) -/* 803011A4 002FCE04 8B BB FF FD */ lbz r29, -3(r27) -/* 803011A8 002FCE08 9B BB FF FE */ stb r29, -2(r27) -/* 803011AC 002FCE0C 8B BB FF FC */ lbz r29, -4(r27) -/* 803011B0 002FCE10 9B BB FF FD */ stb r29, -3(r27) -/* 803011B4 002FCE14 8B BB FF FB */ lbz r29, -5(r27) -/* 803011B8 002FCE18 9B BB FF FC */ stb r29, -4(r27) -/* 803011BC 002FCE1C 8B BB FF FA */ lbz r29, -6(r27) -/* 803011C0 002FCE20 9B BB FF FB */ stb r29, -5(r27) -/* 803011C4 002FCE24 8B BB FF F9 */ lbz r29, -7(r27) -/* 803011C8 002FCE28 9B BB FF FA */ stb r29, -6(r27) -/* 803011CC 002FCE2C 42 00 FF B8 */ bdnz lbl_80301184 -lbl_803011D0: -/* 803011D0 002FCE30 3B AB 00 01 */ addi r29, r11, 1 -/* 803011D4 002FCE34 7F A9 03 A6 */ mtctr r29 -/* 803011D8 002FCE38 2C 0B 00 00 */ cmpwi r11, 0 -/* 803011DC 002FCE3C 41 80 00 18 */ blt lbl_803011F4 -lbl_803011E0: -/* 803011E0 002FCE40 7F A3 58 AE */ lbzx r29, r3, r11 -/* 803011E4 002FCE44 7F 63 5A 14 */ add r27, r3, r11 -/* 803011E8 002FCE48 39 6B FF FF */ addi r11, r11, -1 -/* 803011EC 002FCE4C 9B BB 00 01 */ stb r29, 1(r27) -/* 803011F0 002FCE50 42 00 FF F0 */ bdnz lbl_803011E0 -lbl_803011F4: -/* 803011F4 002FCE54 2C 00 00 09 */ cmpwi r0, 9 -/* 803011F8 002FCE58 39 60 00 30 */ li r11, 0x30 -/* 803011FC 002FCE5C 40 81 00 08 */ ble lbl_80301204 -/* 80301200 002FCE60 7C CB 07 74 */ extsb r11, r6 -lbl_80301204: -/* 80301204 002FCE64 7C 00 5A 14 */ add r0, r0, r11 -/* 80301208 002FCE68 39 8C 00 01 */ addi r12, r12, 1 -/* 8030120C 002FCE6C 98 03 00 00 */ stb r0, 0(r3) -/* 80301210 002FCE70 3B FF 00 01 */ addi r31, r31, 1 -lbl_80301214: -/* 80301214 002FCE74 2C 04 00 00 */ cmpwi r4, 0 -/* 80301218 002FCE78 40 82 FE C0 */ bne lbl_803010D8 -/* 8030121C 002FCE7C 88 03 00 00 */ lbz r0, 0(r3) -/* 80301220 002FCE80 7C 00 07 75 */ extsb. r0, r0 -/* 80301224 002FCE84 40 82 01 20 */ bne lbl_80301344 -/* 80301228 002FCE88 7C 64 1B 78 */ mr r4, r3 -/* 8030122C 002FCE8C 38 A0 00 00 */ li r5, 0 -/* 80301230 002FCE90 48 00 00 0C */ b lbl_8030123C -lbl_80301234: -/* 80301234 002FCE94 38 84 00 01 */ addi r4, r4, 1 -/* 80301238 002FCE98 38 A5 00 01 */ addi r5, r5, 1 -lbl_8030123C: -/* 8030123C 002FCE9C 88 04 00 00 */ lbz r0, 0(r4) -/* 80301240 002FCEA0 7C 00 07 75 */ extsb. r0, r0 -/* 80301244 002FCEA4 40 82 FF F0 */ bne lbl_80301234 -/* 80301248 002FCEA8 2C 85 00 00 */ cmpwi cr1, r5, 0 -/* 8030124C 002FCEAC 41 84 00 E8 */ blt cr1, lbl_80301334 -/* 80301250 002FCEB0 38 05 00 01 */ addi r0, r5, 1 -/* 80301254 002FCEB4 2C 00 00 08 */ cmpwi r0, 8 -/* 80301258 002FCEB8 40 81 00 B8 */ ble lbl_80301310 -/* 8030125C 002FCEBC 38 C0 00 00 */ li r6, 0 -/* 80301260 002FCEC0 38 E0 00 00 */ li r7, 0 -/* 80301264 002FCEC4 41 84 00 18 */ blt cr1, lbl_8030127C -/* 80301268 002FCEC8 3C 80 80 00 */ lis r4, 0x80000001@ha -/* 8030126C 002FCECC 38 04 00 01 */ addi r0, r4, 0x80000001@l -/* 80301270 002FCED0 7C 05 00 00 */ cmpw r5, r0 -/* 80301274 002FCED4 41 80 00 08 */ blt lbl_8030127C -/* 80301278 002FCED8 38 E0 00 01 */ li r7, 1 -lbl_8030127C: -/* 8030127C 002FCEDC 2C 07 00 00 */ cmpwi r7, 0 -/* 80301280 002FCEE0 41 82 00 2C */ beq lbl_803012AC -/* 80301284 002FCEE4 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 -/* 80301288 002FCEE8 38 80 00 01 */ li r4, 1 -/* 8030128C 002FCEEC 40 82 00 14 */ bne lbl_803012A0 -/* 80301290 002FCEF0 38 05 00 01 */ addi r0, r5, 1 -/* 80301294 002FCEF4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 -/* 80301298 002FCEF8 41 82 00 08 */ beq lbl_803012A0 -/* 8030129C 002FCEFC 38 80 00 00 */ li r4, 0 -lbl_803012A0: -/* 803012A0 002FCF00 2C 04 00 00 */ cmpwi r4, 0 -/* 803012A4 002FCF04 41 82 00 08 */ beq lbl_803012AC -/* 803012A8 002FCF08 38 C0 00 01 */ li r6, 1 -lbl_803012AC: -/* 803012AC 002FCF0C 2C 06 00 00 */ cmpwi r6, 0 -/* 803012B0 002FCF10 41 82 00 60 */ beq lbl_80301310 -/* 803012B4 002FCF14 54 A0 E8 FE */ srwi r0, r5, 3 -/* 803012B8 002FCF18 7C 09 03 A6 */ mtctr r0 -/* 803012BC 002FCF1C 2C 05 00 08 */ cmpwi r5, 8 -/* 803012C0 002FCF20 41 80 00 50 */ blt lbl_80301310 -lbl_803012C4: -/* 803012C4 002FCF24 7C 03 28 AE */ lbzx r0, r3, r5 -/* 803012C8 002FCF28 7C 83 2A 14 */ add r4, r3, r5 -/* 803012CC 002FCF2C 98 04 00 01 */ stb r0, 1(r4) -/* 803012D0 002FCF30 88 04 FF FF */ lbz r0, -1(r4) -/* 803012D4 002FCF34 7C 03 29 AE */ stbx r0, r3, r5 -/* 803012D8 002FCF38 38 A5 FF F8 */ addi r5, r5, -8 -/* 803012DC 002FCF3C 88 04 FF FE */ lbz r0, -2(r4) -/* 803012E0 002FCF40 98 04 FF FF */ stb r0, -1(r4) -/* 803012E4 002FCF44 88 04 FF FD */ lbz r0, -3(r4) -/* 803012E8 002FCF48 98 04 FF FE */ stb r0, -2(r4) -/* 803012EC 002FCF4C 88 04 FF FC */ lbz r0, -4(r4) -/* 803012F0 002FCF50 98 04 FF FD */ stb r0, -3(r4) -/* 803012F4 002FCF54 88 04 FF FB */ lbz r0, -5(r4) -/* 803012F8 002FCF58 98 04 FF FC */ stb r0, -4(r4) -/* 803012FC 002FCF5C 88 04 FF FA */ lbz r0, -6(r4) -/* 80301300 002FCF60 98 04 FF FB */ stb r0, -5(r4) -/* 80301304 002FCF64 88 04 FF F9 */ lbz r0, -7(r4) -/* 80301308 002FCF68 98 04 FF FA */ stb r0, -6(r4) -/* 8030130C 002FCF6C 42 00 FF B8 */ bdnz lbl_803012C4 -lbl_80301310: -/* 80301310 002FCF70 38 05 00 01 */ addi r0, r5, 1 -/* 80301314 002FCF74 7C 09 03 A6 */ mtctr r0 -/* 80301318 002FCF78 2C 05 00 00 */ cmpwi r5, 0 -/* 8030131C 002FCF7C 41 80 00 18 */ blt lbl_80301334 -lbl_80301320: -/* 80301320 002FCF80 7C 03 28 AE */ lbzx r0, r3, r5 -/* 80301324 002FCF84 7C 83 2A 14 */ add r4, r3, r5 -/* 80301328 002FCF88 38 A5 FF FF */ addi r5, r5, -1 -/* 8030132C 002FCF8C 98 04 00 01 */ stb r0, 1(r4) -/* 80301330 002FCF90 42 00 FF F0 */ bdnz lbl_80301320 -lbl_80301334: -/* 80301334 002FCF94 38 00 00 30 */ li r0, 0x30 -/* 80301338 002FCF98 39 8C 00 01 */ addi r12, r12, 1 -/* 8030133C 002FCF9C 98 03 00 00 */ stb r0, 0(r3) -/* 80301340 002FCFA0 3B FF 00 01 */ addi r31, r31, 1 -lbl_80301344: -/* 80301344 002FCFA4 7D 20 07 74 */ extsb r0, r9 -/* 80301348 002FCFA8 2C 00 00 30 */ cmpwi r0, 0x30 -/* 8030134C 002FCFAC 41 82 00 08 */ beq lbl_80301354 -/* 80301350 002FCFB0 39 20 00 20 */ li r9, 0x20 -lbl_80301354: -/* 80301354 002FCFB4 7D 45 07 74 */ extsb r5, r10 -/* 80301358 002FCFB8 7F FF F2 14 */ add r31, r31, r30 -/* 8030135C 002FCFBC 3D 40 80 00 */ lis r10, 0x8000 -/* 80301360 002FCFC0 38 80 00 20 */ li r4, 0x20 -/* 80301364 002FCFC4 38 00 00 00 */ li r0, 0 -/* 80301368 002FCFC8 48 00 01 54 */ b lbl_803014BC -lbl_8030136C: -/* 8030136C 002FCFCC 2C 05 00 4C */ cmpwi r5, 0x4c -/* 80301370 002FCFD0 40 82 00 38 */ bne lbl_803013A8 -/* 80301374 002FCFD4 7C 6B 1B 78 */ mr r11, r3 -/* 80301378 002FCFD8 38 E0 00 00 */ li r7, 0 -/* 8030137C 002FCFDC 48 00 00 0C */ b lbl_80301388 -lbl_80301380: -/* 80301380 002FCFE0 39 6B 00 01 */ addi r11, r11, 1 -/* 80301384 002FCFE4 38 E7 00 01 */ addi r7, r7, 1 -lbl_80301388: -/* 80301388 002FCFE8 88 CB 00 00 */ lbz r6, 0(r11) -/* 8030138C 002FCFEC 7C C6 07 75 */ extsb. r6, r6 -/* 80301390 002FCFF0 40 82 FF F0 */ bne lbl_80301380 -/* 80301394 002FCFF4 7C 83 39 AE */ stbx r4, r3, r7 -/* 80301398 002FCFF8 38 C7 00 01 */ addi r6, r7, 1 -/* 8030139C 002FCFFC 39 8C 00 01 */ addi r12, r12, 1 -/* 803013A0 002FD000 7C 03 31 AE */ stbx r0, r3, r6 -/* 803013A4 002FD004 48 00 01 14 */ b lbl_803014B8 -lbl_803013A8: -/* 803013A8 002FD008 7C 6B 1B 78 */ mr r11, r3 -/* 803013AC 002FD00C 38 C0 00 00 */ li r6, 0 -/* 803013B0 002FD010 48 00 00 0C */ b lbl_803013BC -lbl_803013B4: -/* 803013B4 002FD014 39 6B 00 01 */ addi r11, r11, 1 -/* 803013B8 002FD018 38 C6 00 01 */ addi r6, r6, 1 -lbl_803013BC: -/* 803013BC 002FD01C 88 EB 00 00 */ lbz r7, 0(r11) -/* 803013C0 002FD020 7C E7 07 75 */ extsb. r7, r7 -/* 803013C4 002FD024 40 82 FF F0 */ bne lbl_803013B4 -/* 803013C8 002FD028 2C 86 00 00 */ cmpwi cr1, r6, 0 -/* 803013CC 002FD02C 41 84 00 E4 */ blt cr1, lbl_803014B0 -/* 803013D0 002FD030 38 E6 00 01 */ addi r7, r6, 1 -/* 803013D4 002FD034 2C 07 00 08 */ cmpwi r7, 8 -/* 803013D8 002FD038 40 81 00 B4 */ ble lbl_8030148C -/* 803013DC 002FD03C 39 60 00 00 */ li r11, 0 -/* 803013E0 002FD040 3B A0 00 00 */ li r29, 0 -/* 803013E4 002FD044 41 84 00 14 */ blt cr1, lbl_803013F8 -/* 803013E8 002FD048 38 EA 00 01 */ addi r7, r10, 1 -/* 803013EC 002FD04C 7C 06 38 00 */ cmpw r6, r7 -/* 803013F0 002FD050 41 80 00 08 */ blt lbl_803013F8 -/* 803013F4 002FD054 3B A0 00 01 */ li r29, 1 -lbl_803013F8: -/* 803013F8 002FD058 2C 1D 00 00 */ cmpwi r29, 0 -/* 803013FC 002FD05C 41 82 00 2C */ beq lbl_80301428 -/* 80301400 002FD060 54 C7 00 01 */ rlwinm. r7, r6, 0, 0, 0 -/* 80301404 002FD064 3B A0 00 01 */ li r29, 1 -/* 80301408 002FD068 40 82 00 14 */ bne lbl_8030141C -/* 8030140C 002FD06C 38 E6 00 01 */ addi r7, r6, 1 -/* 80301410 002FD070 54 E7 00 01 */ rlwinm. r7, r7, 0, 0, 0 -/* 80301414 002FD074 41 82 00 08 */ beq lbl_8030141C -/* 80301418 002FD078 3B A0 00 00 */ li r29, 0 -lbl_8030141C: -/* 8030141C 002FD07C 2C 1D 00 00 */ cmpwi r29, 0 -/* 80301420 002FD080 41 82 00 08 */ beq lbl_80301428 -/* 80301424 002FD084 39 60 00 01 */ li r11, 1 -lbl_80301428: -/* 80301428 002FD088 2C 0B 00 00 */ cmpwi r11, 0 -/* 8030142C 002FD08C 41 82 00 60 */ beq lbl_8030148C -/* 80301430 002FD090 54 C7 E8 FE */ srwi r7, r6, 3 -/* 80301434 002FD094 7C E9 03 A6 */ mtctr r7 -/* 80301438 002FD098 2C 06 00 08 */ cmpwi r6, 8 -/* 8030143C 002FD09C 41 80 00 50 */ blt lbl_8030148C -lbl_80301440: -/* 80301440 002FD0A0 7C E3 30 AE */ lbzx r7, r3, r6 -/* 80301444 002FD0A4 7D 63 32 14 */ add r11, r3, r6 -/* 80301448 002FD0A8 98 EB 00 01 */ stb r7, 1(r11) -/* 8030144C 002FD0AC 88 EB FF FF */ lbz r7, -1(r11) -/* 80301450 002FD0B0 7C E3 31 AE */ stbx r7, r3, r6 -/* 80301454 002FD0B4 38 C6 FF F8 */ addi r6, r6, -8 -/* 80301458 002FD0B8 88 EB FF FE */ lbz r7, -2(r11) -/* 8030145C 002FD0BC 98 EB FF FF */ stb r7, -1(r11) -/* 80301460 002FD0C0 88 EB FF FD */ lbz r7, -3(r11) -/* 80301464 002FD0C4 98 EB FF FE */ stb r7, -2(r11) -/* 80301468 002FD0C8 88 EB FF FC */ lbz r7, -4(r11) -/* 8030146C 002FD0CC 98 EB FF FD */ stb r7, -3(r11) -/* 80301470 002FD0D0 88 EB FF FB */ lbz r7, -5(r11) -/* 80301474 002FD0D4 98 EB FF FC */ stb r7, -4(r11) -/* 80301478 002FD0D8 88 EB FF FA */ lbz r7, -6(r11) -/* 8030147C 002FD0DC 98 EB FF FB */ stb r7, -5(r11) -/* 80301480 002FD0E0 88 EB FF F9 */ lbz r7, -7(r11) -/* 80301484 002FD0E4 98 EB FF FA */ stb r7, -6(r11) -/* 80301488 002FD0E8 42 00 FF B8 */ bdnz lbl_80301440 -lbl_8030148C: -/* 8030148C 002FD0EC 38 E6 00 01 */ addi r7, r6, 1 -/* 80301490 002FD0F0 7C E9 03 A6 */ mtctr r7 -/* 80301494 002FD0F4 2C 06 00 00 */ cmpwi r6, 0 -/* 80301498 002FD0F8 41 80 00 18 */ blt lbl_803014B0 -lbl_8030149C: -/* 8030149C 002FD0FC 7C E3 30 AE */ lbzx r7, r3, r6 -/* 803014A0 002FD100 7D 63 32 14 */ add r11, r3, r6 -/* 803014A4 002FD104 38 C6 FF FF */ addi r6, r6, -1 -/* 803014A8 002FD108 98 EB 00 01 */ stb r7, 1(r11) -/* 803014AC 002FD10C 42 00 FF F0 */ bdnz lbl_8030149C -lbl_803014B0: -/* 803014B0 002FD110 99 23 00 00 */ stb r9, 0(r3) -/* 803014B4 002FD114 39 8C 00 01 */ addi r12, r12, 1 -lbl_803014B8: -/* 803014B8 002FD118 3B FF 00 01 */ addi r31, r31, 1 -lbl_803014BC: -/* 803014BC 002FD11C 7C 1F 40 00 */ cmpw r31, r8 -/* 803014C0 002FD120 41 80 FE AC */ blt lbl_8030136C -/* 803014C4 002FD124 2C 1E 00 00 */ cmpwi r30, 0 -/* 803014C8 002FD128 41 82 01 18 */ beq lbl_803015E0 -/* 803014CC 002FD12C 7C 64 1B 78 */ mr r4, r3 -/* 803014D0 002FD130 38 A0 00 00 */ li r5, 0 -/* 803014D4 002FD134 48 00 00 0C */ b lbl_803014E0 -lbl_803014D8: -/* 803014D8 002FD138 38 84 00 01 */ addi r4, r4, 1 -/* 803014DC 002FD13C 38 A5 00 01 */ addi r5, r5, 1 -lbl_803014E0: -/* 803014E0 002FD140 88 04 00 00 */ lbz r0, 0(r4) -/* 803014E4 002FD144 7C 00 07 75 */ extsb. r0, r0 -/* 803014E8 002FD148 40 82 FF F0 */ bne lbl_803014D8 -/* 803014EC 002FD14C 2C 85 00 00 */ cmpwi cr1, r5, 0 -/* 803014F0 002FD150 41 84 00 E8 */ blt cr1, lbl_803015D8 -/* 803014F4 002FD154 38 05 00 01 */ addi r0, r5, 1 -/* 803014F8 002FD158 2C 00 00 08 */ cmpwi r0, 8 -/* 803014FC 002FD15C 40 81 00 B8 */ ble lbl_803015B4 -/* 80301500 002FD160 38 C0 00 00 */ li r6, 0 -/* 80301504 002FD164 38 E0 00 00 */ li r7, 0 -/* 80301508 002FD168 41 84 00 18 */ blt cr1, lbl_80301520 -/* 8030150C 002FD16C 3C 80 80 00 */ lis r4, 0x80000001@ha -/* 80301510 002FD170 38 04 00 01 */ addi r0, r4, 0x80000001@l -/* 80301514 002FD174 7C 05 00 00 */ cmpw r5, r0 -/* 80301518 002FD178 41 80 00 08 */ blt lbl_80301520 -/* 8030151C 002FD17C 38 E0 00 01 */ li r7, 1 -lbl_80301520: -/* 80301520 002FD180 2C 07 00 00 */ cmpwi r7, 0 -/* 80301524 002FD184 41 82 00 2C */ beq lbl_80301550 -/* 80301528 002FD188 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 -/* 8030152C 002FD18C 38 80 00 01 */ li r4, 1 -/* 80301530 002FD190 40 82 00 14 */ bne lbl_80301544 -/* 80301534 002FD194 38 05 00 01 */ addi r0, r5, 1 -/* 80301538 002FD198 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 -/* 8030153C 002FD19C 41 82 00 08 */ beq lbl_80301544 -/* 80301540 002FD1A0 38 80 00 00 */ li r4, 0 -lbl_80301544: -/* 80301544 002FD1A4 2C 04 00 00 */ cmpwi r4, 0 -/* 80301548 002FD1A8 41 82 00 08 */ beq lbl_80301550 -/* 8030154C 002FD1AC 38 C0 00 01 */ li r6, 1 -lbl_80301550: -/* 80301550 002FD1B0 2C 06 00 00 */ cmpwi r6, 0 -/* 80301554 002FD1B4 41 82 00 60 */ beq lbl_803015B4 -/* 80301558 002FD1B8 54 A0 E8 FE */ srwi r0, r5, 3 -/* 8030155C 002FD1BC 7C 09 03 A6 */ mtctr r0 -/* 80301560 002FD1C0 2C 05 00 08 */ cmpwi r5, 8 -/* 80301564 002FD1C4 41 80 00 50 */ blt lbl_803015B4 -lbl_80301568: -/* 80301568 002FD1C8 7C 03 28 AE */ lbzx r0, r3, r5 -/* 8030156C 002FD1CC 7C 83 2A 14 */ add r4, r3, r5 -/* 80301570 002FD1D0 98 04 00 01 */ stb r0, 1(r4) -/* 80301574 002FD1D4 88 04 FF FF */ lbz r0, -1(r4) -/* 80301578 002FD1D8 7C 03 29 AE */ stbx r0, r3, r5 -/* 8030157C 002FD1DC 38 A5 FF F8 */ addi r5, r5, -8 -/* 80301580 002FD1E0 88 04 FF FE */ lbz r0, -2(r4) -/* 80301584 002FD1E4 98 04 FF FF */ stb r0, -1(r4) -/* 80301588 002FD1E8 88 04 FF FD */ lbz r0, -3(r4) -/* 8030158C 002FD1EC 98 04 FF FE */ stb r0, -2(r4) -/* 80301590 002FD1F0 88 04 FF FC */ lbz r0, -4(r4) -/* 80301594 002FD1F4 98 04 FF FD */ stb r0, -3(r4) -/* 80301598 002FD1F8 88 04 FF FB */ lbz r0, -5(r4) -/* 8030159C 002FD1FC 98 04 FF FC */ stb r0, -4(r4) -/* 803015A0 002FD200 88 04 FF FA */ lbz r0, -6(r4) -/* 803015A4 002FD204 98 04 FF FB */ stb r0, -5(r4) -/* 803015A8 002FD208 88 04 FF F9 */ lbz r0, -7(r4) -/* 803015AC 002FD20C 98 04 FF FA */ stb r0, -6(r4) -/* 803015B0 002FD210 42 00 FF B8 */ bdnz lbl_80301568 -lbl_803015B4: -/* 803015B4 002FD214 38 05 00 01 */ addi r0, r5, 1 -/* 803015B8 002FD218 7C 09 03 A6 */ mtctr r0 -/* 803015BC 002FD21C 2C 05 00 00 */ cmpwi r5, 0 -/* 803015C0 002FD220 41 80 00 18 */ blt lbl_803015D8 -lbl_803015C4: -/* 803015C4 002FD224 7C 03 28 AE */ lbzx r0, r3, r5 -/* 803015C8 002FD228 7C 83 2A 14 */ add r4, r3, r5 -/* 803015CC 002FD22C 38 A5 FF FF */ addi r5, r5, -1 -/* 803015D0 002FD230 98 04 00 01 */ stb r0, 1(r4) -/* 803015D4 002FD234 42 00 FF F0 */ bdnz lbl_803015C4 -lbl_803015D8: -/* 803015D8 002FD238 38 00 00 2D */ li r0, 0x2d -/* 803015DC 002FD23C 98 03 00 00 */ stb r0, 0(r3) -lbl_803015E0: -/* 803015E0 002FD240 39 61 00 20 */ addi r11, r1, 0x20 -/* 803015E4 002FD244 7D 83 63 78 */ mr r3, r12 -/* 803015E8 002FD248 4B EC 5B 8D */ bl _restgpr_27 -/* 803015EC 002FD24C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803015F0 002FD250 7C 08 03 A6 */ mtlr r0 -/* 803015F4 002FD254 38 21 00 20 */ addi r1, r1, 0x20 -/* 803015F8 002FD258 4E 80 00 20 */ blr - -.global func_803015FC -func_803015FC: -/* 803015FC 002FD25C 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80301600 002FD260 7C 08 02 A6 */ mflr r0 -/* 80301604 002FD264 90 01 00 84 */ stw r0, 0x84(r1) -/* 80301608 002FD268 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 8030160C 002FD26C 40 86 00 24 */ bne cr1, lbl_80301630 -/* 80301610 002FD270 D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80301614 002FD274 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80301618 002FD278 D8 61 00 38 */ stfd f3, 0x38(r1) -/* 8030161C 002FD27C D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80301620 002FD280 D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80301624 002FD284 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80301628 002FD288 D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 8030162C 002FD28C D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80301630: -/* 80301630 002FD290 39 61 00 88 */ addi r11, r1, 0x88 -/* 80301634 002FD294 38 01 00 08 */ addi r0, r1, 8 -/* 80301638 002FD298 3D 80 02 00 */ lis r12, 0x200 -/* 8030163C 002FD29C 90 61 00 08 */ stw r3, 8(r1) -/* 80301640 002FD2A0 3B E1 00 68 */ addi r31, r1, 0x68 -/* 80301644 002FD2A4 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80301648 002FD2A8 7F E5 FB 78 */ mr r5, r31 -/* 8030164C 002FD2AC 90 81 00 0C */ stw r4, 0xc(r1) -/* 80301650 002FD2B0 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80301654 002FD2B4 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80301658 002FD2B8 91 01 00 1C */ stw r8, 0x1c(r1) -/* 8030165C 002FD2BC 91 21 00 20 */ stw r9, 0x20(r1) -/* 80301660 002FD2C0 91 41 00 24 */ stw r10, 0x24(r1) -/* 80301664 002FD2C4 91 81 00 68 */ stw r12, 0x68(r1) -/* 80301668 002FD2C8 91 61 00 6C */ stw r11, 0x6c(r1) -/* 8030166C 002FD2CC 90 01 00 70 */ stw r0, 0x70(r1) -/* 80301670 002FD2D0 48 00 00 19 */ bl func_80301688 -/* 80301674 002FD2D4 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80301678 002FD2D8 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 8030167C 002FD2DC 7C 08 03 A6 */ mtlr r0 -/* 80301680 002FD2E0 38 21 00 80 */ addi r1, r1, 0x80 -/* 80301684 002FD2E4 4E 80 00 20 */ blr - -.global func_80301688 -func_80301688: -/* 80301688 002FD2E8 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8030168C 002FD2EC 7C 08 02 A6 */ mflr r0 -/* 80301690 002FD2F0 90 01 00 54 */ stw r0, 0x54(r1) -/* 80301694 002FD2F4 39 61 00 50 */ addi r11, r1, 0x50 -/* 80301698 002FD2F8 4B EC 5A 65 */ bl _savegpr_16 -/* 8030169C 002FD2FC 3A 00 00 00 */ li r16, 0 -/* 803016A0 002FD300 7C 74 1B 78 */ mr r20, r3 -/* 803016A4 002FD304 9A 03 00 00 */ stb r16, 0(r3) -/* 803016A8 002FD308 7C 95 23 78 */ mr r21, r4 -/* 803016AC 002FD30C 7C B6 2B 78 */ mr r22, r5 -/* 803016B0 002FD310 3B E0 00 00 */ li r31, 0 -/* 803016B4 002FD314 3E 40 80 00 */ lis r18, 0x8000 -/* 803016B8 002FD318 3A 60 00 20 */ li r19, 0x20 -/* 803016BC 002FD31C 3E 20 80 44 */ lis r17, 0x8044 -/* 803016C0 002FD320 48 00 04 5C */ b lbl_80301B1C -/* 803016C4 002FD324 48 00 00 08 */ b lbl_803016CC -lbl_803016C8: -/* 803016C8 002FD328 3A 94 00 01 */ addi r20, r20, 1 -lbl_803016CC: -/* 803016CC 002FD32C 88 14 00 00 */ lbz r0, 0(r20) -/* 803016D0 002FD330 7C 00 07 75 */ extsb. r0, r0 -/* 803016D4 002FD334 40 82 FF F4 */ bne lbl_803016C8 -/* 803016D8 002FD338 7C C0 07 74 */ extsb r0, r6 -/* 803016DC 002FD33C 2C 00 00 25 */ cmpwi r0, 0x25 -/* 803016E0 002FD340 40 82 04 04 */ bne lbl_80301AE4 -/* 803016E4 002FD344 88 15 00 00 */ lbz r0, 0(r21) -/* 803016E8 002FD348 3A B5 00 01 */ addi r21, r21, 1 -/* 803016EC 002FD34C 7C 03 07 74 */ extsb r3, r0 -/* 803016F0 002FD350 2C 03 00 25 */ cmpwi r3, 0x25 -/* 803016F4 002FD354 40 82 00 40 */ bne lbl_80301734 -/* 803016F8 002FD358 7E 84 A3 78 */ mr r4, r20 -/* 803016FC 002FD35C 7E 86 A3 78 */ mr r6, r20 -/* 80301700 002FD360 38 A0 00 00 */ li r5, 0 -/* 80301704 002FD364 3A 94 00 01 */ addi r20, r20, 1 -/* 80301708 002FD368 48 00 00 0C */ b lbl_80301714 -lbl_8030170C: -/* 8030170C 002FD36C 38 C6 00 01 */ addi r6, r6, 1 -/* 80301710 002FD370 38 A5 00 01 */ addi r5, r5, 1 -lbl_80301714: -/* 80301714 002FD374 88 66 00 00 */ lbz r3, 0(r6) -/* 80301718 002FD378 7C 63 07 75 */ extsb. r3, r3 -/* 8030171C 002FD37C 40 82 FF F0 */ bne lbl_8030170C -/* 80301720 002FD380 7C 04 29 AE */ stbx r0, r4, r5 -/* 80301724 002FD384 38 05 00 01 */ addi r0, r5, 1 -/* 80301728 002FD388 3B FF 00 01 */ addi r31, r31, 1 -/* 8030172C 002FD38C 7E 04 01 AE */ stbx r16, r4, r0 -/* 80301730 002FD390 48 00 03 EC */ b lbl_80301B1C -lbl_80301734: -/* 80301734 002FD394 2C 03 00 2D */ cmpwi r3, 0x2d -/* 80301738 002FD398 7C 1A 03 78 */ mr r26, r0 -/* 8030173C 002FD39C 40 82 00 0C */ bne lbl_80301748 -/* 80301740 002FD3A0 88 15 00 00 */ lbz r0, 0(r21) -/* 80301744 002FD3A4 3A B5 00 01 */ addi r21, r21, 1 -lbl_80301748: -/* 80301748 002FD3A8 7C 03 07 74 */ extsb r3, r0 -/* 8030174C 002FD3AC 7C 19 03 78 */ mr r25, r0 -/* 80301750 002FD3B0 2C 03 00 2A */ cmpwi r3, 0x2a -/* 80301754 002FD3B4 3B A0 00 00 */ li r29, 0 -/* 80301758 002FD3B8 3B 80 00 0A */ li r28, 0xa -/* 8030175C 002FD3BC 3B 00 00 30 */ li r24, 0x30 -/* 80301760 002FD3C0 3B C0 00 00 */ li r30, 0 -/* 80301764 002FD3C4 40 82 00 20 */ bne lbl_80301784 -/* 80301768 002FD3C8 7E C3 B3 78 */ mr r3, r22 -/* 8030176C 002FD3CC 38 80 00 01 */ li r4, 1 -/* 80301770 002FD3D0 4B EC 54 11 */ bl __va_arg -/* 80301774 002FD3D4 88 15 00 00 */ lbz r0, 0(r21) -/* 80301778 002FD3D8 3A B5 00 01 */ addi r21, r21, 1 -/* 8030177C 002FD3DC 83 63 00 00 */ lwz r27, 0(r3) -/* 80301780 002FD3E0 48 00 00 38 */ b lbl_803017B8 -lbl_80301784: -/* 80301784 002FD3E4 3B 60 00 00 */ li r27, 0 -/* 80301788 002FD3E8 48 00 00 1C */ b lbl_803017A4 -lbl_8030178C: -/* 8030178C 002FD3EC 1C 9B 00 0A */ mulli r4, r27, 0xa -/* 80301790 002FD3F0 7C 03 07 74 */ extsb r3, r0 -/* 80301794 002FD3F4 88 15 00 00 */ lbz r0, 0(r21) -/* 80301798 002FD3F8 3A B5 00 01 */ addi r21, r21, 1 -/* 8030179C 002FD3FC 7C 63 22 14 */ add r3, r3, r4 -/* 803017A0 002FD400 3B 63 FF D0 */ addi r27, r3, -48 -lbl_803017A4: -/* 803017A4 002FD404 7C 03 07 74 */ extsb r3, r0 -/* 803017A8 002FD408 2C 03 00 30 */ cmpwi r3, 0x30 -/* 803017AC 002FD40C 41 80 00 0C */ blt lbl_803017B8 -/* 803017B0 002FD410 2C 03 00 39 */ cmpwi r3, 0x39 -/* 803017B4 002FD414 40 81 FF D8 */ ble lbl_8030178C -lbl_803017B8: -/* 803017B8 002FD418 70 03 00 DF */ andi. r3, r0, 0xdf -/* 803017BC 002FD41C 7C 77 07 74 */ extsb r23, r3 -/* 803017C0 002FD420 2C 17 00 4C */ cmpwi r23, 0x4c -/* 803017C4 002FD424 40 82 00 0C */ bne lbl_803017D0 -/* 803017C8 002FD428 88 15 00 00 */ lbz r0, 0(r21) -/* 803017CC 002FD42C 3A B5 00 01 */ addi r21, r21, 1 -lbl_803017D0: -/* 803017D0 002FD430 7C 03 07 74 */ extsb r3, r0 -/* 803017D4 002FD434 38 03 FF A8 */ addi r0, r3, -88 -/* 803017D8 002FD438 28 00 00 20 */ cmplwi r0, 0x20 -/* 803017DC 002FD43C 41 81 02 90 */ bgt lbl_80301A6C -/* 803017E0 002FD440 38 71 62 50 */ addi r3, r17, 0x6250 -/* 803017E4 002FD444 54 00 10 3A */ slwi r0, r0, 2 -/* 803017E8 002FD448 7C 63 00 2E */ lwzx r3, r3, r0 -/* 803017EC 002FD44C 7C 69 03 A6 */ mtctr r3 -/* 803017F0 002FD450 4E 80 04 20 */ bctr -/* 803017F4 002FD454 3B C0 00 01 */ li r30, 1 -/* 803017F8 002FD458 3B A0 00 01 */ li r29, 1 -/* 803017FC 002FD45C 48 00 02 70 */ b lbl_80301A6C -/* 80301800 002FD460 3B C0 00 01 */ li r30, 1 -/* 80301804 002FD464 3B 80 00 08 */ li r28, 8 -/* 80301808 002FD468 48 00 02 64 */ b lbl_80301A6C -/* 8030180C 002FD46C 3B C0 00 01 */ li r30, 1 -/* 80301810 002FD470 48 00 02 5C */ b lbl_80301A6C -/* 80301814 002FD474 3B C0 00 01 */ li r30, 1 -/* 80301818 002FD478 3B 80 00 10 */ li r28, 0x10 -/* 8030181C 002FD47C 3B 00 00 57 */ li r24, 0x57 -/* 80301820 002FD480 48 00 02 4C */ b lbl_80301A6C -/* 80301824 002FD484 3B C0 00 01 */ li r30, 1 -/* 80301828 002FD488 3B 80 00 10 */ li r28, 0x10 -/* 8030182C 002FD48C 3B 00 00 37 */ li r24, 0x37 -/* 80301830 002FD490 48 00 02 3C */ b lbl_80301A6C -/* 80301834 002FD494 7E C3 B3 78 */ mr r3, r22 -/* 80301838 002FD498 38 80 00 01 */ li r4, 1 -/* 8030183C 002FD49C 4B EC 53 45 */ bl __va_arg -/* 80301840 002FD4A0 80 03 00 00 */ lwz r0, 0(r3) -/* 80301844 002FD4A4 7E 83 A3 78 */ mr r3, r20 -/* 80301848 002FD4A8 7E 85 A3 78 */ mr r5, r20 -/* 8030184C 002FD4AC 38 80 00 00 */ li r4, 0 -/* 80301850 002FD4B0 7C 06 07 74 */ extsb r6, r0 -/* 80301854 002FD4B4 3A 94 00 01 */ addi r20, r20, 1 -/* 80301858 002FD4B8 48 00 00 0C */ b lbl_80301864 -lbl_8030185C: -/* 8030185C 002FD4BC 38 A5 00 01 */ addi r5, r5, 1 -/* 80301860 002FD4C0 38 84 00 01 */ addi r4, r4, 1 -lbl_80301864: -/* 80301864 002FD4C4 88 05 00 00 */ lbz r0, 0(r5) -/* 80301868 002FD4C8 7C 00 07 75 */ extsb. r0, r0 -/* 8030186C 002FD4CC 40 82 FF F0 */ bne lbl_8030185C -/* 80301870 002FD4D0 7C C3 21 AE */ stbx r6, r3, r4 -/* 80301874 002FD4D4 38 04 00 01 */ addi r0, r4, 1 -/* 80301878 002FD4D8 3B FF 00 01 */ addi r31, r31, 1 -/* 8030187C 002FD4DC 7E 03 01 AE */ stbx r16, r3, r0 -/* 80301880 002FD4E0 48 00 01 EC */ b lbl_80301A6C -/* 80301884 002FD4E4 7E C3 B3 78 */ mr r3, r22 -/* 80301888 002FD4E8 38 80 00 01 */ li r4, 1 -/* 8030188C 002FD4EC 4B EC 52 F5 */ bl __va_arg -/* 80301890 002FD4F0 80 63 00 00 */ lwz r3, 0(r3) -/* 80301894 002FD4F4 2C 03 00 00 */ cmpwi r3, 0 -/* 80301898 002FD4F8 41 82 00 70 */ beq lbl_80301908 -/* 8030189C 002FD4FC 7C 64 1B 78 */ mr r4, r3 -/* 803018A0 002FD500 38 A0 00 00 */ li r5, 0 -/* 803018A4 002FD504 48 00 00 0C */ b lbl_803018B0 -lbl_803018A8: -/* 803018A8 002FD508 38 84 00 01 */ addi r4, r4, 1 -/* 803018AC 002FD50C 38 A5 00 01 */ addi r5, r5, 1 -lbl_803018B0: -/* 803018B0 002FD510 88 04 00 00 */ lbz r0, 0(r4) -/* 803018B4 002FD514 7C 00 07 75 */ extsb. r0, r0 -/* 803018B8 002FD518 40 82 FF F0 */ bne lbl_803018A8 -/* 803018BC 002FD51C 7E 86 A3 78 */ mr r6, r20 -/* 803018C0 002FD520 38 80 00 00 */ li r4, 0 -/* 803018C4 002FD524 48 00 00 0C */ b lbl_803018D0 -lbl_803018C8: -/* 803018C8 002FD528 38 C6 00 01 */ addi r6, r6, 1 -/* 803018CC 002FD52C 38 84 00 01 */ addi r4, r4, 1 -lbl_803018D0: -/* 803018D0 002FD530 88 06 00 00 */ lbz r0, 0(r6) -/* 803018D4 002FD534 7C 00 07 75 */ extsb. r0, r0 -/* 803018D8 002FD538 40 82 FF F0 */ bne lbl_803018C8 -/* 803018DC 002FD53C 7C 94 22 14 */ add r4, r20, r4 -/* 803018E0 002FD540 48 00 00 14 */ b lbl_803018F4 -lbl_803018E4: -/* 803018E4 002FD544 88 03 00 00 */ lbz r0, 0(r3) -/* 803018E8 002FD548 38 63 00 01 */ addi r3, r3, 1 -/* 803018EC 002FD54C 98 04 00 00 */ stb r0, 0(r4) -/* 803018F0 002FD550 38 84 00 01 */ addi r4, r4, 1 -lbl_803018F4: -/* 803018F4 002FD554 88 03 00 00 */ lbz r0, 0(r3) -/* 803018F8 002FD558 7C 00 07 75 */ extsb. r0, r0 -/* 803018FC 002FD55C 40 82 FF E8 */ bne lbl_803018E4 -/* 80301900 002FD560 9A 04 00 00 */ stb r16, 0(r4) -/* 80301904 002FD564 48 00 00 08 */ b lbl_8030190C -lbl_80301908: -/* 80301908 002FD568 38 A0 00 00 */ li r5, 0 -lbl_8030190C: -/* 8030190C 002FD56C 7F FF 2A 14 */ add r31, r31, r5 -/* 80301910 002FD570 7F 40 07 74 */ extsb r0, r26 -/* 80301914 002FD574 48 00 01 50 */ b lbl_80301A64 -lbl_80301918: -/* 80301918 002FD578 2C 00 00 2D */ cmpwi r0, 0x2d -/* 8030191C 002FD57C 3B FF 00 01 */ addi r31, r31, 1 -/* 80301920 002FD580 40 82 00 34 */ bne lbl_80301954 -/* 80301924 002FD584 7E 86 A3 78 */ mr r6, r20 -/* 80301928 002FD588 38 80 00 00 */ li r4, 0 -/* 8030192C 002FD58C 48 00 00 0C */ b lbl_80301938 -lbl_80301930: -/* 80301930 002FD590 38 C6 00 01 */ addi r6, r6, 1 -/* 80301934 002FD594 38 84 00 01 */ addi r4, r4, 1 -lbl_80301938: -/* 80301938 002FD598 88 66 00 00 */ lbz r3, 0(r6) -/* 8030193C 002FD59C 7C 63 07 75 */ extsb. r3, r3 -/* 80301940 002FD5A0 40 82 FF F0 */ bne lbl_80301930 -/* 80301944 002FD5A4 7E 74 21 AE */ stbx r19, r20, r4 -/* 80301948 002FD5A8 38 64 00 01 */ addi r3, r4, 1 -/* 8030194C 002FD5AC 7E 14 19 AE */ stbx r16, r20, r3 -/* 80301950 002FD5B0 48 00 01 10 */ b lbl_80301A60 -lbl_80301954: -/* 80301954 002FD5B4 7E 86 A3 78 */ mr r6, r20 -/* 80301958 002FD5B8 38 60 00 00 */ li r3, 0 -/* 8030195C 002FD5BC 48 00 00 0C */ b lbl_80301968 -lbl_80301960: -/* 80301960 002FD5C0 38 C6 00 01 */ addi r6, r6, 1 -/* 80301964 002FD5C4 38 63 00 01 */ addi r3, r3, 1 -lbl_80301968: -/* 80301968 002FD5C8 88 86 00 00 */ lbz r4, 0(r6) -/* 8030196C 002FD5CC 7C 84 07 75 */ extsb. r4, r4 -/* 80301970 002FD5D0 40 82 FF F0 */ bne lbl_80301960 -/* 80301974 002FD5D4 2C 83 00 00 */ cmpwi cr1, r3, 0 -/* 80301978 002FD5D8 41 84 00 E4 */ blt cr1, lbl_80301A5C -/* 8030197C 002FD5DC 38 83 00 01 */ addi r4, r3, 1 -/* 80301980 002FD5E0 2C 04 00 08 */ cmpwi r4, 8 -/* 80301984 002FD5E4 40 81 00 B4 */ ble lbl_80301A38 -/* 80301988 002FD5E8 38 C0 00 00 */ li r6, 0 -/* 8030198C 002FD5EC 38 E0 00 00 */ li r7, 0 -/* 80301990 002FD5F0 41 84 00 14 */ blt cr1, lbl_803019A4 -/* 80301994 002FD5F4 38 92 00 01 */ addi r4, r18, 1 -/* 80301998 002FD5F8 7C 03 20 00 */ cmpw r3, r4 -/* 8030199C 002FD5FC 41 80 00 08 */ blt lbl_803019A4 -/* 803019A0 002FD600 38 E0 00 01 */ li r7, 1 -lbl_803019A4: -/* 803019A4 002FD604 2C 07 00 00 */ cmpwi r7, 0 -/* 803019A8 002FD608 41 82 00 2C */ beq lbl_803019D4 -/* 803019AC 002FD60C 54 64 00 01 */ rlwinm. r4, r3, 0, 0, 0 -/* 803019B0 002FD610 38 E0 00 01 */ li r7, 1 -/* 803019B4 002FD614 40 82 00 14 */ bne lbl_803019C8 -/* 803019B8 002FD618 38 83 00 01 */ addi r4, r3, 1 -/* 803019BC 002FD61C 54 84 00 01 */ rlwinm. r4, r4, 0, 0, 0 -/* 803019C0 002FD620 41 82 00 08 */ beq lbl_803019C8 -/* 803019C4 002FD624 38 E0 00 00 */ li r7, 0 -lbl_803019C8: -/* 803019C8 002FD628 2C 07 00 00 */ cmpwi r7, 0 -/* 803019CC 002FD62C 41 82 00 08 */ beq lbl_803019D4 -/* 803019D0 002FD630 38 C0 00 01 */ li r6, 1 -lbl_803019D4: -/* 803019D4 002FD634 2C 06 00 00 */ cmpwi r6, 0 -/* 803019D8 002FD638 41 82 00 60 */ beq lbl_80301A38 -/* 803019DC 002FD63C 54 64 E8 FE */ srwi r4, r3, 3 -/* 803019E0 002FD640 7C 89 03 A6 */ mtctr r4 -/* 803019E4 002FD644 2C 03 00 08 */ cmpwi r3, 8 -/* 803019E8 002FD648 41 80 00 50 */ blt lbl_80301A38 -lbl_803019EC: -/* 803019EC 002FD64C 7C D4 18 AE */ lbzx r6, r20, r3 -/* 803019F0 002FD650 7C 94 1A 14 */ add r4, r20, r3 -/* 803019F4 002FD654 98 C4 00 01 */ stb r6, 1(r4) -/* 803019F8 002FD658 88 C4 FF FF */ lbz r6, -1(r4) -/* 803019FC 002FD65C 7C D4 19 AE */ stbx r6, r20, r3 -/* 80301A00 002FD660 38 63 FF F8 */ addi r3, r3, -8 -/* 80301A04 002FD664 88 C4 FF FE */ lbz r6, -2(r4) -/* 80301A08 002FD668 98 C4 FF FF */ stb r6, -1(r4) -/* 80301A0C 002FD66C 88 C4 FF FD */ lbz r6, -3(r4) -/* 80301A10 002FD670 98 C4 FF FE */ stb r6, -2(r4) -/* 80301A14 002FD674 88 C4 FF FC */ lbz r6, -4(r4) -/* 80301A18 002FD678 98 C4 FF FD */ stb r6, -3(r4) -/* 80301A1C 002FD67C 88 C4 FF FB */ lbz r6, -5(r4) -/* 80301A20 002FD680 98 C4 FF FC */ stb r6, -4(r4) -/* 80301A24 002FD684 88 C4 FF FA */ lbz r6, -6(r4) -/* 80301A28 002FD688 98 C4 FF FB */ stb r6, -5(r4) -/* 80301A2C 002FD68C 88 C4 FF F9 */ lbz r6, -7(r4) -/* 80301A30 002FD690 98 C4 FF FA */ stb r6, -6(r4) -/* 80301A34 002FD694 42 00 FF B8 */ bdnz lbl_803019EC -lbl_80301A38: -/* 80301A38 002FD698 38 83 00 01 */ addi r4, r3, 1 -/* 80301A3C 002FD69C 7C 89 03 A6 */ mtctr r4 -/* 80301A40 002FD6A0 2C 03 00 00 */ cmpwi r3, 0 -/* 80301A44 002FD6A4 41 80 00 18 */ blt lbl_80301A5C -lbl_80301A48: -/* 80301A48 002FD6A8 7C 94 18 AE */ lbzx r4, r20, r3 -/* 80301A4C 002FD6AC 7C D4 1A 14 */ add r6, r20, r3 -/* 80301A50 002FD6B0 38 63 FF FF */ addi r3, r3, -1 -/* 80301A54 002FD6B4 98 86 00 01 */ stb r4, 1(r6) -/* 80301A58 002FD6B8 42 00 FF F0 */ bdnz lbl_80301A48 -lbl_80301A5C: -/* 80301A5C 002FD6BC 9A 74 00 00 */ stb r19, 0(r20) -lbl_80301A60: -/* 80301A60 002FD6C0 38 A5 00 01 */ addi r5, r5, 1 -lbl_80301A64: -/* 80301A64 002FD6C4 7C 05 D8 00 */ cmpw r5, r27 -/* 80301A68 002FD6C8 41 80 FE B0 */ blt lbl_80301918 -lbl_80301A6C: -/* 80301A6C 002FD6CC 2C 1E 00 00 */ cmpwi r30, 0 -/* 80301A70 002FD6D0 41 82 00 AC */ beq lbl_80301B1C -/* 80301A74 002FD6D4 2C 17 00 4C */ cmpwi r23, 0x4c -/* 80301A78 002FD6D8 40 82 00 18 */ bne lbl_80301A90 -/* 80301A7C 002FD6DC 7E C3 B3 78 */ mr r3, r22 -/* 80301A80 002FD6E0 38 80 00 01 */ li r4, 1 -/* 80301A84 002FD6E4 4B EC 50 FD */ bl __va_arg -/* 80301A88 002FD6E8 80 83 00 00 */ lwz r4, 0(r3) -/* 80301A8C 002FD6EC 48 00 00 30 */ b lbl_80301ABC -lbl_80301A90: -/* 80301A90 002FD6F0 2C 1D 00 00 */ cmpwi r29, 0 -/* 80301A94 002FD6F4 41 82 00 18 */ beq lbl_80301AAC -/* 80301A98 002FD6F8 7E C3 B3 78 */ mr r3, r22 -/* 80301A9C 002FD6FC 38 80 00 01 */ li r4, 1 -/* 80301AA0 002FD700 4B EC 50 E1 */ bl __va_arg -/* 80301AA4 002FD704 80 83 00 00 */ lwz r4, 0(r3) -/* 80301AA8 002FD708 48 00 00 14 */ b lbl_80301ABC -lbl_80301AAC: -/* 80301AAC 002FD70C 7E C3 B3 78 */ mr r3, r22 -/* 80301AB0 002FD710 38 80 00 01 */ li r4, 1 -/* 80301AB4 002FD714 4B EC 50 CD */ bl __va_arg -/* 80301AB8 002FD718 80 83 00 00 */ lwz r4, 0(r3) -lbl_80301ABC: -/* 80301ABC 002FD71C 7E 83 A3 78 */ mr r3, r20 -/* 80301AC0 002FD720 7F 85 E3 78 */ mr r5, r28 -/* 80301AC4 002FD724 7F 06 C3 78 */ mr r6, r24 -/* 80301AC8 002FD728 7F A7 EB 78 */ mr r7, r29 -/* 80301ACC 002FD72C 7F 68 DB 78 */ mr r8, r27 -/* 80301AD0 002FD730 7F 29 07 74 */ extsb r9, r25 -/* 80301AD4 002FD734 7F 4A 07 74 */ extsb r10, r26 -/* 80301AD8 002FD738 4B FF F5 BD */ bl func_80301094 -/* 80301ADC 002FD73C 7F FF 1A 14 */ add r31, r31, r3 -/* 80301AE0 002FD740 48 00 00 3C */ b lbl_80301B1C -lbl_80301AE4: -/* 80301AE4 002FD744 7E 83 A3 78 */ mr r3, r20 -/* 80301AE8 002FD748 7E 85 A3 78 */ mr r5, r20 -/* 80301AEC 002FD74C 38 80 00 00 */ li r4, 0 -/* 80301AF0 002FD750 3A 94 00 01 */ addi r20, r20, 1 -/* 80301AF4 002FD754 48 00 00 0C */ b lbl_80301B00 -lbl_80301AF8: -/* 80301AF8 002FD758 38 A5 00 01 */ addi r5, r5, 1 -/* 80301AFC 002FD75C 38 84 00 01 */ addi r4, r4, 1 -lbl_80301B00: -/* 80301B00 002FD760 88 05 00 00 */ lbz r0, 0(r5) -/* 80301B04 002FD764 7C 00 07 75 */ extsb. r0, r0 -/* 80301B08 002FD768 40 82 FF F0 */ bne lbl_80301AF8 -/* 80301B0C 002FD76C 7C C3 21 AE */ stbx r6, r3, r4 -/* 80301B10 002FD770 38 04 00 01 */ addi r0, r4, 1 -/* 80301B14 002FD774 3B FF 00 01 */ addi r31, r31, 1 -/* 80301B18 002FD778 7E 03 01 AE */ stbx r16, r3, r0 -lbl_80301B1C: -/* 80301B1C 002FD77C 88 D5 00 00 */ lbz r6, 0(r21) -/* 80301B20 002FD780 3A B5 00 01 */ addi r21, r21, 1 -/* 80301B24 002FD784 7C C0 07 75 */ extsb. r0, r6 -/* 80301B28 002FD788 40 82 FB A4 */ bne lbl_803016CC -/* 80301B2C 002FD78C 39 61 00 50 */ addi r11, r1, 0x50 -/* 80301B30 002FD790 7F E3 FB 78 */ mr r3, r31 -/* 80301B34 002FD794 4B EC 56 15 */ bl _restgpr_16 -/* 80301B38 002FD798 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80301B3C 002FD79C 7C 08 03 A6 */ mtlr r0 -/* 80301B40 002FD7A0 38 21 00 50 */ addi r1, r1, 0x50 -/* 80301B44 002FD7A4 4E 80 00 20 */ blr - -.global func_80301B48 -func_80301B48: -/* 80301B48 002FD7A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80301B4C 002FD7AC 7C 08 02 A6 */ mflr r0 -/* 80301B50 002FD7B0 28 05 00 09 */ cmplwi r5, 9 -/* 80301B54 002FD7B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80301B58 002FD7B8 38 00 00 00 */ li r0, 0 -/* 80301B5C 002FD7BC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80301B60 002FD7C0 7C BF 2B 78 */ mr r31, r5 -/* 80301B64 002FD7C4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80301B68 002FD7C8 7C 9E 23 78 */ mr r30, r4 -/* 80301B6C 002FD7CC 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80301B70 002FD7D0 7C 7D 1B 78 */ mr r29, r3 -/* 80301B74 002FD7D4 80 CD AF 80 */ lwz r6, lbl_80640240-_SDA_BASE_(r13) -/* 80301B78 002FD7D8 38 C6 00 01 */ addi r6, r6, 1 -/* 80301B7C 002FD7DC 64 C4 80 00 */ oris r4, r6, 0x8000 -/* 80301B80 002FD7E0 90 8D AF 80 */ stw r4, lbl_80640240-_SDA_BASE_(r13) -/* 80301B84 002FD7E4 90 83 00 00 */ stw r4, 0(r3) -/* 80301B88 002FD7E8 90 03 00 08 */ stw r0, 8(r3) -/* 80301B8C 002FD7EC 90 A3 00 04 */ stw r5, 4(r3) -/* 80301B90 002FD7F0 41 82 00 18 */ beq lbl_80301BA8 -/* 80301B94 002FD7F4 28 05 00 0A */ cmplwi r5, 0xa -/* 80301B98 002FD7F8 41 82 00 10 */ beq lbl_80301BA8 -/* 80301B9C 002FD7FC 38 05 FE F7 */ addi r0, r5, -265 -/* 80301BA0 002FD800 28 00 00 01 */ cmplwi r0, 1 -/* 80301BA4 002FD804 41 81 00 24 */ bgt lbl_80301BC8 -lbl_80301BA8: -/* 80301BA8 002FD808 48 00 17 3D */ bl func_803032E4 -/* 80301BAC 002FD80C 2C 03 00 00 */ cmpwi r3, 0 -/* 80301BB0 002FD810 40 82 00 18 */ bne lbl_80301BC8 -/* 80301BB4 002FD814 48 00 17 45 */ bl func_803032F8 -/* 80301BB8 002FD818 2C 03 00 00 */ cmpwi r3, 0 -/* 80301BBC 002FD81C 40 82 00 0C */ bne lbl_80301BC8 -/* 80301BC0 002FD820 38 60 FF F7 */ li r3, -9 -/* 80301BC4 002FD824 48 00 00 5C */ b lbl_80301C20 -lbl_80301BC8: -/* 80301BC8 002FD828 28 1F 00 09 */ cmplwi r31, 9 -/* 80301BCC 002FD82C 41 82 00 0C */ beq lbl_80301BD8 -/* 80301BD0 002FD830 28 1F 01 09 */ cmplwi r31, 0x109 -/* 80301BD4 002FD834 40 82 00 20 */ bne lbl_80301BF4 -lbl_80301BD8: -/* 80301BD8 002FD838 80 0D AF 7C */ lwz r0, lbl_8064023C-_SDA_BASE_(r13) -/* 80301BDC 002FD83C 2C 00 00 00 */ cmpwi r0, 0 -/* 80301BE0 002FD840 41 82 00 0C */ beq lbl_80301BEC -/* 80301BE4 002FD844 38 60 FF EA */ li r3, -22 -/* 80301BE8 002FD848 48 00 00 38 */ b lbl_80301C20 -lbl_80301BEC: -/* 80301BEC 002FD84C 80 1D 00 00 */ lwz r0, 0(r29) -/* 80301BF0 002FD850 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13) -lbl_80301BF4: -/* 80301BF4 002FD854 57 E0 05 EF */ rlwinm. r0, r31, 0, 0x17, 0x17 -/* 80301BF8 002FD858 41 82 00 18 */ beq lbl_80301C10 -/* 80301BFC 002FD85C 7F A3 EB 78 */ mr r3, r29 -/* 80301C00 002FD860 7F C4 F3 78 */ mr r4, r30 -/* 80301C04 002FD864 7F E5 FB 78 */ mr r5, r31 -/* 80301C08 002FD868 48 00 01 69 */ bl func_80301D70 -/* 80301C0C 002FD86C 48 00 00 14 */ b lbl_80301C20 -lbl_80301C10: -/* 80301C10 002FD870 7F A3 EB 78 */ mr r3, r29 -/* 80301C14 002FD874 7F C4 F3 78 */ mr r4, r30 -/* 80301C18 002FD878 7F E5 FB 78 */ mr r5, r31 -/* 80301C1C 002FD87C 48 00 00 21 */ bl func_80301C3C -lbl_80301C20: -/* 80301C20 002FD880 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80301C24 002FD884 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80301C28 002FD888 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80301C2C 002FD88C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80301C30 002FD890 7C 08 03 A6 */ mtlr r0 -/* 80301C34 002FD894 38 21 00 20 */ addi r1, r1, 0x20 -/* 80301C38 002FD898 4E 80 00 20 */ blr - -.global func_80301C3C -func_80301C3C: -/* 80301C3C 002FD89C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80301C40 002FD8A0 7C 08 02 A6 */ mflr r0 -/* 80301C44 002FD8A4 90 01 00 34 */ stw r0, 0x34(r1) -/* 80301C48 002FD8A8 39 61 00 30 */ addi r11, r1, 0x30 -/* 80301C4C 002FD8AC 4B EC 54 C9 */ bl _savegpr_22 -/* 80301C50 002FD8B0 28 05 00 0A */ cmplwi r5, 0xa -/* 80301C54 002FD8B4 7C 7D 1B 78 */ mr r29, r3 -/* 80301C58 002FD8B8 7C 9E 23 78 */ mr r30, r4 -/* 80301C5C 002FD8BC 7C BF 2B 78 */ mr r31, r5 -/* 80301C60 002FD8C0 41 81 00 5C */ bgt lbl_80301CBC -/* 80301C64 002FD8C4 3C 60 80 44 */ lis r3, lbl_804462D8@ha -/* 80301C68 002FD8C8 54 A0 10 3A */ slwi r0, r5, 2 -/* 80301C6C 002FD8CC 38 63 62 D8 */ addi r3, r3, lbl_804462D8@l -/* 80301C70 002FD8D0 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80301C74 002FD8D4 7C 69 03 A6 */ mtctr r3 -/* 80301C78 002FD8D8 4E 80 04 20 */ bctr -/* 80301C7C 002FD8DC 7F C3 F3 78 */ mr r3, r30 -/* 80301C80 002FD8E0 38 80 00 3F */ li r4, 0x3f -/* 80301C84 002FD8E4 38 A0 00 00 */ li r5, 0 -/* 80301C88 002FD8E8 4B FE 59 65 */ bl NANDPrivateCreate -/* 80301C8C 002FD8EC 2C 03 00 00 */ cmpwi r3, 0 -/* 80301C90 002FD8F0 41 82 00 14 */ beq lbl_80301CA4 -/* 80301C94 002FD8F4 2C 03 FF FA */ cmpwi r3, -6 -/* 80301C98 002FD8F8 41 82 00 0C */ beq lbl_80301CA4 -/* 80301C9C 002FD8FC 38 60 FF EB */ li r3, -21 -/* 80301CA0 002FD900 48 00 00 B8 */ b lbl_80301D58 -lbl_80301CA4: -/* 80301CA4 002FD904 3A E0 00 02 */ li r23, 2 -/* 80301CA8 002FD908 48 00 00 1C */ b lbl_80301CC4 -/* 80301CAC 002FD90C 3A E0 00 01 */ li r23, 1 -/* 80301CB0 002FD910 48 00 00 14 */ b lbl_80301CC4 -/* 80301CB4 002FD914 3A E0 00 03 */ li r23, 3 -/* 80301CB8 002FD918 48 00 00 0C */ b lbl_80301CC4 -lbl_80301CBC: -/* 80301CBC 002FD91C 38 60 FF FD */ li r3, -3 -/* 80301CC0 002FD920 48 00 00 98 */ b lbl_80301D58 -lbl_80301CC4: -/* 80301CC4 002FD924 3A C0 00 00 */ li r22, 0 -/* 80301CC8 002FD928 3B 60 03 E8 */ li r27, 0x3e8 -/* 80301CCC 002FD92C 7F 96 D9 D6 */ mullw r28, r22, r27 -/* 80301CD0 002FD930 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 80301CD4 002FD934 3F 40 80 00 */ lis r26, 0x8000 -/* 80301CD8 002FD938 3B 23 4D D3 */ addi r25, r3, 0x10624DD3@l -lbl_80301CDC: -/* 80301CDC 002FD93C 7F C3 F3 78 */ mr r3, r30 -/* 80301CE0 002FD940 7E E5 BB 78 */ mr r5, r23 -/* 80301CE4 002FD944 38 9D 00 0C */ addi r4, r29, 0xc -/* 80301CE8 002FD948 4B FE 67 AD */ bl NANDPrivateOpen -/* 80301CEC 002FD94C 2C 03 FF FD */ cmpwi r3, -3 -/* 80301CF0 002FD950 7C 78 1B 78 */ mr r24, r3 -/* 80301CF4 002FD954 40 82 00 30 */ bne lbl_80301D24 -/* 80301CF8 002FD958 80 1A 00 F8 */ lwz r0, 0xf8(r26) -/* 80301CFC 002FD95C 54 00 F0 BE */ srwi r0, r0, 2 -/* 80301D00 002FD960 7C 19 00 16 */ mulhwu r0, r25, r0 -/* 80301D04 002FD964 54 03 D1 BE */ srwi r3, r0, 6 -/* 80301D08 002FD968 7C 03 D8 16 */ mulhwu r0, r3, r27 -/* 80301D0C 002FD96C 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 80301D10 002FD970 7C 60 E2 14 */ add r3, r0, r28 -/* 80301D14 002FD974 4B F7 09 F1 */ bl OSSleepTicks -/* 80301D18 002FD978 3A D6 00 01 */ addi r22, r22, 1 -/* 80301D1C 002FD97C 28 16 00 03 */ cmplwi r22, 3 -/* 80301D20 002FD980 41 80 FF BC */ blt lbl_80301CDC -lbl_80301D24: -/* 80301D24 002FD984 2C 18 00 00 */ cmpwi r24, 0 -/* 80301D28 002FD988 41 82 00 2C */ beq lbl_80301D54 -/* 80301D2C 002FD98C 28 1F 00 09 */ cmplwi r31, 9 -/* 80301D30 002FD990 40 82 00 0C */ bne lbl_80301D3C -/* 80301D34 002FD994 38 00 00 00 */ li r0, 0 -/* 80301D38 002FD998 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13) -lbl_80301D3C: -/* 80301D3C 002FD99C 2C 18 FF F4 */ cmpwi r24, -12 -/* 80301D40 002FD9A0 40 82 00 0C */ bne lbl_80301D4C -/* 80301D44 002FD9A4 38 60 FF EC */ li r3, -20 -/* 80301D48 002FD9A8 48 00 00 10 */ b lbl_80301D58 -lbl_80301D4C: -/* 80301D4C 002FD9AC 38 60 FF F0 */ li r3, -16 -/* 80301D50 002FD9B0 48 00 00 08 */ b lbl_80301D58 -lbl_80301D54: -/* 80301D54 002FD9B4 38 60 00 00 */ li r3, 0 -lbl_80301D58: -/* 80301D58 002FD9B8 39 61 00 30 */ addi r11, r1, 0x30 -/* 80301D5C 002FD9BC 4B EC 54 05 */ bl _restgpr_22 -/* 80301D60 002FD9C0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80301D64 002FD9C4 7C 08 03 A6 */ mtlr r0 -/* 80301D68 002FD9C8 38 21 00 30 */ addi r1, r1, 0x30 -/* 80301D6C 002FD9CC 4E 80 00 20 */ blr - -.global func_80301D70 -func_80301D70: -/* 80301D70 002FD9D0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80301D74 002FD9D4 7C 08 02 A6 */ mflr r0 -/* 80301D78 002FD9D8 2C 05 01 09 */ cmpwi r5, 0x109 -/* 80301D7C 002FD9DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80301D80 002FD9E0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80301D84 002FD9E4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80301D88 002FD9E8 7C BE 2B 78 */ mr r30, r5 -/* 80301D8C 002FD9EC 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80301D90 002FD9F0 7C 7D 1B 78 */ mr r29, r3 -/* 80301D94 002FD9F4 41 82 00 2C */ beq lbl_80301DC0 -/* 80301D98 002FD9F8 40 80 00 1C */ bge lbl_80301DB4 -/* 80301D9C 002FD9FC 2C 05 01 02 */ cmpwi r5, 0x102 -/* 80301DA0 002FDA00 41 82 00 28 */ beq lbl_80301DC8 -/* 80301DA4 002FDA04 40 80 00 2C */ bge lbl_80301DD0 -/* 80301DA8 002FDA08 2C 05 01 01 */ cmpwi r5, 0x101 -/* 80301DAC 002FDA0C 40 80 00 14 */ bge lbl_80301DC0 -/* 80301DB0 002FDA10 48 00 00 20 */ b lbl_80301DD0 -lbl_80301DB4: -/* 80301DB4 002FDA14 2C 05 01 0B */ cmpwi r5, 0x10b -/* 80301DB8 002FDA18 40 80 00 18 */ bge lbl_80301DD0 -/* 80301DBC 002FDA1C 48 00 00 0C */ b lbl_80301DC8 -lbl_80301DC0: -/* 80301DC0 002FDA20 3B ED 8C 80 */ addi r31, r13, lbl_8063DF40-_SDA_BASE_ -/* 80301DC4 002FDA24 48 00 00 14 */ b lbl_80301DD8 -lbl_80301DC8: -/* 80301DC8 002FDA28 3B ED 8C 84 */ addi r31, r13, lbl_8063DF44-_SDA_BASE_ -/* 80301DCC 002FDA2C 48 00 00 0C */ b lbl_80301DD8 -lbl_80301DD0: -/* 80301DD0 002FDA30 38 60 FF FD */ li r3, -3 -/* 80301DD4 002FDA34 48 00 00 A8 */ b lbl_80301E7C -lbl_80301DD8: -/* 80301DD8 002FDA38 7C 83 23 78 */ mr r3, r4 -/* 80301DDC 002FDA3C 7F E4 FB 78 */ mr r4, r31 -/* 80301DE0 002FDA40 38 A0 00 00 */ li r5, 0 -/* 80301DE4 002FDA44 48 01 88 C1 */ bl func_8031A6A4 -/* 80301DE8 002FDA48 2C 03 00 00 */ cmpwi r3, 0 -/* 80301DEC 002FDA4C 90 7D 00 98 */ stw r3, 0x98(r29) -/* 80301DF0 002FDA50 40 82 00 88 */ bne lbl_80301E78 -/* 80301DF4 002FDA54 48 01 8B ED */ bl func_8031A9E0 -/* 80301DF8 002FDA58 28 1E 01 09 */ cmplwi r30, 0x109 -/* 80301DFC 002FDA5C 40 82 00 0C */ bne lbl_80301E08 -/* 80301E00 002FDA60 38 00 00 00 */ li r0, 0 -/* 80301E04 002FDA64 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13) -lbl_80301E08: -/* 80301E08 002FDA68 88 1F 00 00 */ lbz r0, 0(r31) -/* 80301E0C 002FDA6C 2C 00 00 72 */ cmpwi r0, 0x72 -/* 80301E10 002FDA70 40 82 00 14 */ bne lbl_80301E24 -/* 80301E14 002FDA74 2C 03 00 02 */ cmpwi r3, 2 -/* 80301E18 002FDA78 40 82 00 0C */ bne lbl_80301E24 -/* 80301E1C 002FDA7C 38 60 FF EC */ li r3, -20 -/* 80301E20 002FDA80 48 00 00 5C */ b lbl_80301E7C -lbl_80301E24: -/* 80301E24 002FDA84 2C 03 00 05 */ cmpwi r3, 5 -/* 80301E28 002FDA88 40 82 00 48 */ bne lbl_80301E70 -/* 80301E2C 002FDA8C 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 80301E30 002FDA90 48 01 8B B5 */ bl func_8031A9E4 -/* 80301E34 002FDA94 2C 03 FF FB */ cmpwi r3, -5 -/* 80301E38 002FDA98 41 82 00 20 */ beq lbl_80301E58 -/* 80301E3C 002FDA9C 40 80 00 10 */ bge lbl_80301E4C -/* 80301E40 002FDAA0 2C 03 FF F1 */ cmpwi r3, -15 -/* 80301E44 002FDAA4 41 82 00 14 */ beq lbl_80301E58 -/* 80301E48 002FDAA8 48 00 00 20 */ b lbl_80301E68 -lbl_80301E4C: -/* 80301E4C 002FDAAC 2C 03 FF FD */ cmpwi r3, -3 -/* 80301E50 002FDAB0 40 80 00 18 */ bge lbl_80301E68 -/* 80301E54 002FDAB4 48 00 00 0C */ b lbl_80301E60 -lbl_80301E58: -/* 80301E58 002FDAB8 38 60 FF D2 */ li r3, -46 -/* 80301E5C 002FDABC 48 00 00 20 */ b lbl_80301E7C -lbl_80301E60: -/* 80301E60 002FDAC0 38 60 FF DA */ li r3, -38 -/* 80301E64 002FDAC4 48 00 00 18 */ b lbl_80301E7C -lbl_80301E68: -/* 80301E68 002FDAC8 38 60 FF F0 */ li r3, -16 -/* 80301E6C 002FDACC 48 00 00 10 */ b lbl_80301E7C -lbl_80301E70: -/* 80301E70 002FDAD0 38 60 FF F0 */ li r3, -16 -/* 80301E74 002FDAD4 48 00 00 08 */ b lbl_80301E7C -lbl_80301E78: -/* 80301E78 002FDAD8 38 60 00 00 */ li r3, 0 -lbl_80301E7C: -/* 80301E7C 002FDADC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80301E80 002FDAE0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80301E84 002FDAE4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80301E88 002FDAE8 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80301E8C 002FDAEC 7C 08 03 A6 */ mtlr r0 -/* 80301E90 002FDAF0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80301E94 002FDAF4 4E 80 00 20 */ blr - -.global func_80301E98 -func_80301E98: -/* 80301E98 002FDAF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80301E9C 002FDAFC 7C 08 02 A6 */ mflr r0 -/* 80301EA0 002FDB00 90 01 00 14 */ stw r0, 0x14(r1) -/* 80301EA4 002FDB04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80301EA8 002FDB08 3B E0 00 00 */ li r31, 0 -/* 80301EAC 002FDB0C 93 C1 00 08 */ stw r30, 8(r1) -/* 80301EB0 002FDB10 7C 7E 1B 78 */ mr r30, r3 -/* 80301EB4 002FDB14 80 03 00 04 */ lwz r0, 4(r3) -/* 80301EB8 002FDB18 28 00 00 09 */ cmplwi r0, 9 -/* 80301EBC 002FDB1C 41 82 00 0C */ beq lbl_80301EC8 -/* 80301EC0 002FDB20 28 00 01 09 */ cmplwi r0, 0x109 -/* 80301EC4 002FDB24 40 82 00 18 */ bne lbl_80301EDC -lbl_80301EC8: -/* 80301EC8 002FDB28 7F C3 F3 78 */ mr r3, r30 -/* 80301ECC 002FDB2C 48 00 09 39 */ bl func_80302804 -/* 80301ED0 002FDB30 38 00 00 00 */ li r0, 0 -/* 80301ED4 002FDB34 7C 7F 1B 78 */ mr r31, r3 -/* 80301ED8 002FDB38 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13) -lbl_80301EDC: -/* 80301EDC 002FDB3C 80 1E 00 04 */ lwz r0, 4(r30) -/* 80301EE0 002FDB40 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80301EE4 002FDB44 41 82 00 70 */ beq lbl_80301F54 -/* 80301EE8 002FDB48 80 7E 00 98 */ lwz r3, 0x98(r30) -/* 80301EEC 002FDB4C 48 01 88 95 */ bl func_8031A780 -/* 80301EF0 002FDB50 2C 03 00 00 */ cmpwi r3, 0 -/* 80301EF4 002FDB54 41 82 00 58 */ beq lbl_80301F4C -/* 80301EF8 002FDB58 2C 03 00 05 */ cmpwi r3, 5 -/* 80301EFC 002FDB5C 40 82 00 48 */ bne lbl_80301F44 -/* 80301F00 002FDB60 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 80301F04 002FDB64 48 01 8A E1 */ bl func_8031A9E4 -/* 80301F08 002FDB68 2C 03 FF FB */ cmpwi r3, -5 -/* 80301F0C 002FDB6C 41 82 00 20 */ beq lbl_80301F2C -/* 80301F10 002FDB70 40 80 00 10 */ bge lbl_80301F20 -/* 80301F14 002FDB74 2C 03 FF F1 */ cmpwi r3, -15 -/* 80301F18 002FDB78 41 82 00 14 */ beq lbl_80301F2C -/* 80301F1C 002FDB7C 48 00 00 20 */ b lbl_80301F3C -lbl_80301F20: -/* 80301F20 002FDB80 2C 03 FF FD */ cmpwi r3, -3 -/* 80301F24 002FDB84 40 80 00 18 */ bge lbl_80301F3C -/* 80301F28 002FDB88 48 00 00 0C */ b lbl_80301F34 -lbl_80301F2C: -/* 80301F2C 002FDB8C 38 60 FF D2 */ li r3, -46 -/* 80301F30 002FDB90 48 00 00 2C */ b lbl_80301F5C -lbl_80301F34: -/* 80301F34 002FDB94 38 60 FF DA */ li r3, -38 -/* 80301F38 002FDB98 48 00 00 24 */ b lbl_80301F5C -lbl_80301F3C: -/* 80301F3C 002FDB9C 38 60 FF EF */ li r3, -17 -/* 80301F40 002FDBA0 48 00 00 1C */ b lbl_80301F5C -lbl_80301F44: -/* 80301F44 002FDBA4 38 60 FF EF */ li r3, -17 -/* 80301F48 002FDBA8 48 00 00 14 */ b lbl_80301F5C -lbl_80301F4C: -/* 80301F4C 002FDBAC 38 60 00 00 */ li r3, 0 -/* 80301F50 002FDBB0 48 00 00 0C */ b lbl_80301F5C -lbl_80301F54: -/* 80301F54 002FDBB4 7F C3 F3 78 */ mr r3, r30 -/* 80301F58 002FDBB8 48 00 00 29 */ bl func_80301F80 -lbl_80301F5C: -/* 80301F5C 002FDBBC 2C 1F 00 00 */ cmpwi r31, 0 -/* 80301F60 002FDBC0 41 82 00 08 */ beq lbl_80301F68 -/* 80301F64 002FDBC4 7F E3 FB 78 */ mr r3, r31 -lbl_80301F68: -/* 80301F68 002FDBC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80301F6C 002FDBCC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80301F70 002FDBD0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80301F74 002FDBD4 7C 08 03 A6 */ mtlr r0 -/* 80301F78 002FDBD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80301F7C 002FDBDC 4E 80 00 20 */ blr - -.global func_80301F80 -func_80301F80: -/* 80301F80 002FDBE0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80301F84 002FDBE4 7C 08 02 A6 */ mflr r0 -/* 80301F88 002FDBE8 90 01 00 34 */ stw r0, 0x34(r1) -/* 80301F8C 002FDBEC 39 61 00 30 */ addi r11, r1, 0x30 -/* 80301F90 002FDBF0 4B EC 51 8D */ bl _savegpr_24 -/* 80301F94 002FDBF4 3B 40 00 00 */ li r26, 0 -/* 80301F98 002FDBF8 3B C0 03 E8 */ li r30, 0x3e8 -/* 80301F9C 002FDBFC 7F FA F1 D6 */ mullw r31, r26, r30 -/* 80301FA0 002FDC00 3C 80 10 62 */ lis r4, 0x10624DD3@ha -/* 80301FA4 002FDC04 7C 78 1B 78 */ mr r24, r3 -/* 80301FA8 002FDC08 3B 84 4D D3 */ addi r28, r4, 0x10624DD3@l -/* 80301FAC 002FDC0C 3B 20 00 00 */ li r25, 0 -/* 80301FB0 002FDC10 3F A0 80 00 */ lis r29, 0x8000 -lbl_80301FB4: -/* 80301FB4 002FDC14 38 78 00 0C */ addi r3, r24, 0xc -/* 80301FB8 002FDC18 4B FE 66 D1 */ bl NANDClose -/* 80301FBC 002FDC1C 2C 03 FF FD */ cmpwi r3, -3 -/* 80301FC0 002FDC20 7C 7B 1B 78 */ mr r27, r3 -/* 80301FC4 002FDC24 40 82 00 30 */ bne lbl_80301FF4 -/* 80301FC8 002FDC28 80 1D 00 F8 */ lwz r0, 0xf8(r29) -/* 80301FCC 002FDC2C 54 00 F0 BE */ srwi r0, r0, 2 -/* 80301FD0 002FDC30 7C 1C 00 16 */ mulhwu r0, r28, r0 -/* 80301FD4 002FDC34 54 03 D1 BE */ srwi r3, r0, 6 -/* 80301FD8 002FDC38 7C 03 F0 16 */ mulhwu r0, r3, r30 -/* 80301FDC 002FDC3C 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 80301FE0 002FDC40 7C 60 FA 14 */ add r3, r0, r31 -/* 80301FE4 002FDC44 4B F7 07 21 */ bl OSSleepTicks -/* 80301FE8 002FDC48 3B 39 00 01 */ addi r25, r25, 1 -/* 80301FEC 002FDC4C 28 19 00 03 */ cmplwi r25, 3 -/* 80301FF0 002FDC50 41 80 FF C4 */ blt lbl_80301FB4 -lbl_80301FF4: -/* 80301FF4 002FDC54 2C 1B FF FC */ cmpwi r27, -4 -/* 80301FF8 002FDC58 40 82 00 0C */ bne lbl_80302004 -/* 80301FFC 002FDC5C 3B 40 FF DA */ li r26, -38 -/* 80302000 002FDC60 48 00 00 10 */ b lbl_80302010 -lbl_80302004: -/* 80302004 002FDC64 2C 1B 00 00 */ cmpwi r27, 0 -/* 80302008 002FDC68 41 82 00 08 */ beq lbl_80302010 -/* 8030200C 002FDC6C 3B 40 FF EF */ li r26, -17 -lbl_80302010: -/* 80302010 002FDC70 39 61 00 30 */ addi r11, r1, 0x30 -/* 80302014 002FDC74 7F 43 D3 78 */ mr r3, r26 -/* 80302018 002FDC78 4B EC 51 51 */ bl _restgpr_24 -/* 8030201C 002FDC7C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80302020 002FDC80 7C 08 03 A6 */ mtlr r0 -/* 80302024 002FDC84 38 21 00 30 */ addi r1, r1, 0x30 -/* 80302028 002FDC88 4E 80 00 20 */ blr - -.global func_8030202C -func_8030202C: -/* 8030202C 002FDC8C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80302030 002FDC90 7C 08 02 A6 */ mflr r0 -/* 80302034 002FDC94 90 01 00 34 */ stw r0, 0x34(r1) -/* 80302038 002FDC98 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030203C 002FDC9C 4B EC 50 DD */ bl _savegpr_23 -/* 80302040 002FDCA0 80 03 00 04 */ lwz r0, 4(r3) -/* 80302044 002FDCA4 7C 77 1B 78 */ mr r23, r3 -/* 80302048 002FDCA8 7C 98 23 78 */ mr r24, r4 -/* 8030204C 002FDCAC 7C BF 2B 78 */ mr r31, r5 -/* 80302050 002FDCB0 28 00 00 0A */ cmplwi r0, 0xa -/* 80302054 002FDCB4 41 82 00 0C */ beq lbl_80302060 -/* 80302058 002FDCB8 28 00 01 0A */ cmplwi r0, 0x10a -/* 8030205C 002FDCBC 40 82 00 BC */ bne lbl_80302118 -lbl_80302060: -/* 80302060 002FDCC0 80 03 00 04 */ lwz r0, 4(r3) -/* 80302064 002FDCC4 54 85 D8 08 */ slwi r5, r4, 0x1b -/* 80302068 002FDCC8 54 86 0F FE */ srwi r6, r4, 0x1f -/* 8030206C 002FDCCC 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80302070 002FDCD0 7C A6 28 50 */ subf r5, r6, r5 -/* 80302074 002FDCD4 54 A0 28 3E */ rotlwi r0, r5, 5 -/* 80302078 002FDCD8 7C 00 32 14 */ add r0, r0, r6 -/* 8030207C 002FDCDC 90 03 00 08 */ stw r0, 8(r3) -/* 80302080 002FDCE0 7C 80 20 50 */ subf r4, r0, r4 -/* 80302084 002FDCE4 41 82 00 74 */ beq lbl_803020F8 -/* 80302088 002FDCE8 80 63 00 98 */ lwz r3, 0x98(r3) -/* 8030208C 002FDCEC 7F E5 FB 78 */ mr r5, r31 -/* 80302090 002FDCF0 48 01 87 5D */ bl func_8031A7EC -/* 80302094 002FDCF4 2C 03 00 00 */ cmpwi r3, 0 -/* 80302098 002FDCF8 41 82 00 58 */ beq lbl_803020F0 -/* 8030209C 002FDCFC 2C 03 00 05 */ cmpwi r3, 5 -/* 803020A0 002FDD00 40 82 00 48 */ bne lbl_803020E8 -/* 803020A4 002FDD04 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 803020A8 002FDD08 48 01 89 3D */ bl func_8031A9E4 -/* 803020AC 002FDD0C 2C 03 FF FB */ cmpwi r3, -5 -/* 803020B0 002FDD10 41 82 00 20 */ beq lbl_803020D0 -/* 803020B4 002FDD14 40 80 00 10 */ bge lbl_803020C4 -/* 803020B8 002FDD18 2C 03 FF F1 */ cmpwi r3, -15 -/* 803020BC 002FDD1C 41 82 00 14 */ beq lbl_803020D0 -/* 803020C0 002FDD20 48 00 00 20 */ b lbl_803020E0 -lbl_803020C4: -/* 803020C4 002FDD24 2C 03 FF FD */ cmpwi r3, -3 -/* 803020C8 002FDD28 40 80 00 18 */ bge lbl_803020E0 -/* 803020CC 002FDD2C 48 00 00 0C */ b lbl_803020D8 -lbl_803020D0: -/* 803020D0 002FDD30 38 60 FF D2 */ li r3, -46 -/* 803020D4 002FDD34 48 00 01 2C */ b lbl_80302200 -lbl_803020D8: -/* 803020D8 002FDD38 38 60 FF DA */ li r3, -38 -/* 803020DC 002FDD3C 48 00 01 24 */ b lbl_80302200 -lbl_803020E0: -/* 803020E0 002FDD40 38 60 FF EB */ li r3, -21 -/* 803020E4 002FDD44 48 00 01 1C */ b lbl_80302200 -lbl_803020E8: -/* 803020E8 002FDD48 38 60 FF EB */ li r3, -21 -/* 803020EC 002FDD4C 48 00 01 14 */ b lbl_80302200 -lbl_803020F0: -/* 803020F0 002FDD50 38 60 00 00 */ li r3, 0 -/* 803020F4 002FDD54 48 00 01 0C */ b lbl_80302200 -lbl_803020F8: -/* 803020F8 002FDD58 7F E5 FB 78 */ mr r5, r31 -/* 803020FC 002FDD5C 38 63 00 0C */ addi r3, r3, 0xc -/* 80302100 002FDD60 4B FE 59 81 */ bl NANDSeek -/* 80302104 002FDD64 2C 03 00 00 */ cmpwi r3, 0 -/* 80302108 002FDD68 38 60 00 00 */ li r3, 0 -/* 8030210C 002FDD6C 40 80 00 F4 */ bge lbl_80302200 -/* 80302110 002FDD70 38 60 FF EB */ li r3, -21 -/* 80302114 002FDD74 48 00 00 EC */ b lbl_80302200 -lbl_80302118: -/* 80302118 002FDD78 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 8030211C 002FDD7C 41 82 00 70 */ beq lbl_8030218C -/* 80302120 002FDD80 80 63 00 98 */ lwz r3, 0x98(r3) -/* 80302124 002FDD84 48 01 86 C9 */ bl func_8031A7EC -/* 80302128 002FDD88 2C 03 00 00 */ cmpwi r3, 0 -/* 8030212C 002FDD8C 41 82 00 58 */ beq lbl_80302184 -/* 80302130 002FDD90 2C 03 00 05 */ cmpwi r3, 5 -/* 80302134 002FDD94 40 82 00 48 */ bne lbl_8030217C -/* 80302138 002FDD98 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 8030213C 002FDD9C 48 01 88 A9 */ bl func_8031A9E4 -/* 80302140 002FDDA0 2C 03 FF FB */ cmpwi r3, -5 -/* 80302144 002FDDA4 41 82 00 20 */ beq lbl_80302164 -/* 80302148 002FDDA8 40 80 00 10 */ bge lbl_80302158 -/* 8030214C 002FDDAC 2C 03 FF F1 */ cmpwi r3, -15 -/* 80302150 002FDDB0 41 82 00 14 */ beq lbl_80302164 -/* 80302154 002FDDB4 48 00 00 20 */ b lbl_80302174 -lbl_80302158: -/* 80302158 002FDDB8 2C 03 FF FD */ cmpwi r3, -3 -/* 8030215C 002FDDBC 40 80 00 18 */ bge lbl_80302174 -/* 80302160 002FDDC0 48 00 00 0C */ b lbl_8030216C -lbl_80302164: -/* 80302164 002FDDC4 38 60 FF D2 */ li r3, -46 -/* 80302168 002FDDC8 48 00 00 98 */ b lbl_80302200 -lbl_8030216C: -/* 8030216C 002FDDCC 38 60 FF DA */ li r3, -38 -/* 80302170 002FDDD0 48 00 00 90 */ b lbl_80302200 -lbl_80302174: -/* 80302174 002FDDD4 38 60 FF EB */ li r3, -21 -/* 80302178 002FDDD8 48 00 00 88 */ b lbl_80302200 -lbl_8030217C: -/* 8030217C 002FDDDC 38 60 FF EB */ li r3, -21 -/* 80302180 002FDDE0 48 00 00 80 */ b lbl_80302200 -lbl_80302184: -/* 80302184 002FDDE4 38 60 00 00 */ li r3, 0 -/* 80302188 002FDDE8 48 00 00 78 */ b lbl_80302200 -lbl_8030218C: -/* 8030218C 002FDDEC 3B 20 00 00 */ li r25, 0 -/* 80302190 002FDDF0 3B A0 03 E8 */ li r29, 0x3e8 -/* 80302194 002FDDF4 7F D9 E9 D6 */ mullw r30, r25, r29 -/* 80302198 002FDDF8 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 8030219C 002FDDFC 3F 80 80 00 */ lis r28, 0x8000 -/* 803021A0 002FDE00 3B 63 4D D3 */ addi r27, r3, 0x10624DD3@l -lbl_803021A4: -/* 803021A4 002FDE04 7F 04 C3 78 */ mr r4, r24 -/* 803021A8 002FDE08 7F E5 FB 78 */ mr r5, r31 -/* 803021AC 002FDE0C 38 77 00 0C */ addi r3, r23, 0xc -/* 803021B0 002FDE10 4B FE 58 D1 */ bl NANDSeek -/* 803021B4 002FDE14 2C 03 FF FD */ cmpwi r3, -3 -/* 803021B8 002FDE18 7C 7A 1B 78 */ mr r26, r3 -/* 803021BC 002FDE1C 40 82 00 30 */ bne lbl_803021EC -/* 803021C0 002FDE20 80 1C 00 F8 */ lwz r0, 0xf8(r28) -/* 803021C4 002FDE24 54 00 F0 BE */ srwi r0, r0, 2 -/* 803021C8 002FDE28 7C 1B 00 16 */ mulhwu r0, r27, r0 -/* 803021CC 002FDE2C 54 03 D1 BE */ srwi r3, r0, 6 -/* 803021D0 002FDE30 7C 03 E8 16 */ mulhwu r0, r3, r29 -/* 803021D4 002FDE34 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 803021D8 002FDE38 7C 60 F2 14 */ add r3, r0, r30 -/* 803021DC 002FDE3C 4B F7 05 29 */ bl OSSleepTicks -/* 803021E0 002FDE40 3B 39 00 01 */ addi r25, r25, 1 -/* 803021E4 002FDE44 28 19 00 03 */ cmplwi r25, 3 -/* 803021E8 002FDE48 41 80 FF BC */ blt lbl_803021A4 -lbl_803021EC: -/* 803021EC 002FDE4C 2C 1A 00 00 */ cmpwi r26, 0 -/* 803021F0 002FDE50 40 80 00 0C */ bge lbl_803021FC -/* 803021F4 002FDE54 38 60 FF EB */ li r3, -21 -/* 803021F8 002FDE58 48 00 00 08 */ b lbl_80302200 -lbl_803021FC: -/* 803021FC 002FDE5C 38 60 00 00 */ li r3, 0 -lbl_80302200: -/* 80302200 002FDE60 39 61 00 30 */ addi r11, r1, 0x30 -/* 80302204 002FDE64 4B EC 4F 61 */ bl _restgpr_23 -/* 80302208 002FDE68 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030220C 002FDE6C 7C 08 03 A6 */ mtlr r0 -/* 80302210 002FDE70 38 21 00 30 */ addi r1, r1, 0x30 -/* 80302214 002FDE74 4E 80 00 20 */ blr - -.global func_80302218 -func_80302218: -/* 80302218 002FDE78 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8030221C 002FDE7C 7C 08 02 A6 */ mflr r0 -/* 80302220 002FDE80 90 01 00 34 */ stw r0, 0x34(r1) -/* 80302224 002FDE84 39 61 00 30 */ addi r11, r1, 0x30 -/* 80302228 002FDE88 4B EC 4E F1 */ bl _savegpr_23 -/* 8030222C 002FDE8C 80 05 00 04 */ lwz r0, 4(r5) -/* 80302230 002FDE90 7C 77 1B 78 */ mr r23, r3 -/* 80302234 002FDE94 7C 98 23 78 */ mr r24, r4 -/* 80302238 002FDE98 7C B9 2B 78 */ mr r25, r5 -/* 8030223C 002FDE9C 2C 00 00 0A */ cmpwi r0, 0xa -/* 80302240 002FDEA0 41 82 00 40 */ beq lbl_80302280 -/* 80302244 002FDEA4 40 80 00 1C */ bge lbl_80302260 -/* 80302248 002FDEA8 2C 00 00 01 */ cmpwi r0, 1 -/* 8030224C 002FDEAC 41 82 00 2C */ beq lbl_80302278 -/* 80302250 002FDEB0 41 80 00 44 */ blt lbl_80302294 -/* 80302254 002FDEB4 2C 00 00 09 */ cmpwi r0, 9 -/* 80302258 002FDEB8 40 80 00 20 */ bge lbl_80302278 -/* 8030225C 002FDEBC 48 00 00 38 */ b lbl_80302294 -lbl_80302260: -/* 80302260 002FDEC0 2C 00 01 0A */ cmpwi r0, 0x10a -/* 80302264 002FDEC4 41 82 00 1C */ beq lbl_80302280 -/* 80302268 002FDEC8 40 80 00 2C */ bge lbl_80302294 -/* 8030226C 002FDECC 2C 00 01 01 */ cmpwi r0, 0x101 -/* 80302270 002FDED0 41 82 00 08 */ beq lbl_80302278 -/* 80302274 002FDED4 48 00 00 20 */ b lbl_80302294 -lbl_80302278: -/* 80302278 002FDED8 38 60 FF F9 */ li r3, -7 -/* 8030227C 002FDEDC 48 00 01 50 */ b lbl_803023CC -lbl_80302280: -/* 80302280 002FDEE0 7E E3 BB 78 */ mr r3, r23 -/* 80302284 002FDEE4 7F 04 C3 78 */ mr r4, r24 -/* 80302288 002FDEE8 7F 25 CB 78 */ mr r5, r25 -/* 8030228C 002FDEEC 48 00 06 E5 */ bl func_80302970 -/* 80302290 002FDEF0 48 00 01 3C */ b lbl_803023CC -lbl_80302294: -/* 80302294 002FDEF4 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80302298 002FDEF8 41 82 00 7C */ beq lbl_80302314 -/* 8030229C 002FDEFC 80 65 00 98 */ lwz r3, 0x98(r5) -/* 803022A0 002FDF00 7E E4 BB 78 */ mr r4, r23 -/* 803022A4 002FDF04 7F 05 C3 78 */ mr r5, r24 -/* 803022A8 002FDF08 38 C0 00 00 */ li r6, 0 -/* 803022AC 002FDF0C 48 01 85 CD */ bl func_8031A878 -/* 803022B0 002FDF10 2C 03 00 00 */ cmpwi r3, 0 -/* 803022B4 002FDF14 41 82 00 58 */ beq lbl_8030230C -/* 803022B8 002FDF18 2C 03 00 05 */ cmpwi r3, 5 -/* 803022BC 002FDF1C 40 82 00 48 */ bne lbl_80302304 -/* 803022C0 002FDF20 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 803022C4 002FDF24 48 01 87 21 */ bl func_8031A9E4 -/* 803022C8 002FDF28 2C 03 FF FB */ cmpwi r3, -5 -/* 803022CC 002FDF2C 41 82 00 20 */ beq lbl_803022EC -/* 803022D0 002FDF30 40 80 00 10 */ bge lbl_803022E0 -/* 803022D4 002FDF34 2C 03 FF F1 */ cmpwi r3, -15 -/* 803022D8 002FDF38 41 82 00 14 */ beq lbl_803022EC -/* 803022DC 002FDF3C 48 00 00 20 */ b lbl_803022FC -lbl_803022E0: -/* 803022E0 002FDF40 2C 03 FF FD */ cmpwi r3, -3 -/* 803022E4 002FDF44 40 80 00 18 */ bge lbl_803022FC -/* 803022E8 002FDF48 48 00 00 0C */ b lbl_803022F4 -lbl_803022EC: -/* 803022EC 002FDF4C 38 60 FF D2 */ li r3, -46 -/* 803022F0 002FDF50 48 00 00 DC */ b lbl_803023CC -lbl_803022F4: -/* 803022F4 002FDF54 38 60 FF DA */ li r3, -38 -/* 803022F8 002FDF58 48 00 00 D4 */ b lbl_803023CC -lbl_803022FC: -/* 803022FC 002FDF5C 38 60 FF EE */ li r3, -18 -/* 80302300 002FDF60 48 00 00 CC */ b lbl_803023CC -lbl_80302304: -/* 80302304 002FDF64 38 60 FF EE */ li r3, -18 -/* 80302308 002FDF68 48 00 00 C4 */ b lbl_803023CC -lbl_8030230C: -/* 8030230C 002FDF6C 38 60 00 00 */ li r3, 0 -/* 80302310 002FDF70 48 00 00 BC */ b lbl_803023CC -lbl_80302314: -/* 80302314 002FDF74 3B 40 00 00 */ li r26, 0 -/* 80302318 002FDF78 3B C0 03 E8 */ li r30, 0x3e8 -/* 8030231C 002FDF7C 7F FA F1 D6 */ mullw r31, r26, r30 -/* 80302320 002FDF80 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 80302324 002FDF84 3F A0 80 00 */ lis r29, 0x8000 -/* 80302328 002FDF88 3B 83 4D D3 */ addi r28, r3, 0x10624DD3@l -lbl_8030232C: -/* 8030232C 002FDF8C 7E E4 BB 78 */ mr r4, r23 -/* 80302330 002FDF90 7F 05 C3 78 */ mr r5, r24 -/* 80302334 002FDF94 38 79 00 0C */ addi r3, r25, 0xc -/* 80302338 002FDF98 4B FE 55 89 */ bl NANDRead -/* 8030233C 002FDF9C 2C 03 FF FD */ cmpwi r3, -3 -/* 80302340 002FDFA0 7C 7B 1B 78 */ mr r27, r3 -/* 80302344 002FDFA4 40 82 00 30 */ bne lbl_80302374 -/* 80302348 002FDFA8 80 1D 00 F8 */ lwz r0, 0xf8(r29) -/* 8030234C 002FDFAC 54 00 F0 BE */ srwi r0, r0, 2 -/* 80302350 002FDFB0 7C 1C 00 16 */ mulhwu r0, r28, r0 -/* 80302354 002FDFB4 54 03 D1 BE */ srwi r3, r0, 6 -/* 80302358 002FDFB8 7C 03 F0 16 */ mulhwu r0, r3, r30 -/* 8030235C 002FDFBC 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 80302360 002FDFC0 7C 60 FA 14 */ add r3, r0, r31 -/* 80302364 002FDFC4 4B F7 03 A1 */ bl OSSleepTicks -/* 80302368 002FDFC8 3B 5A 00 01 */ addi r26, r26, 1 -/* 8030236C 002FDFCC 28 1A 00 03 */ cmplwi r26, 3 -/* 80302370 002FDFD0 41 80 FF BC */ blt lbl_8030232C -lbl_80302374: -/* 80302374 002FDFD4 2C 1B FF FC */ cmpwi r27, -4 -/* 80302378 002FDFD8 40 82 00 0C */ bne lbl_80302384 -/* 8030237C 002FDFDC 38 60 FF DA */ li r3, -38 -/* 80302380 002FDFE0 48 00 00 4C */ b lbl_803023CC -lbl_80302384: -/* 80302384 002FDFE4 2C 1B 00 00 */ cmpwi r27, 0 -/* 80302388 002FDFE8 40 80 00 40 */ bge lbl_803023C8 -/* 8030238C 002FDFEC 2C 1B FF FB */ cmpwi r27, -5 -/* 80302390 002FDFF0 41 82 00 20 */ beq lbl_803023B0 -/* 80302394 002FDFF4 40 80 00 10 */ bge lbl_803023A4 -/* 80302398 002FDFF8 2C 1B FF F1 */ cmpwi r27, -15 -/* 8030239C 002FDFFC 41 82 00 14 */ beq lbl_803023B0 -/* 803023A0 002FE000 48 00 00 20 */ b lbl_803023C0 -lbl_803023A4: -/* 803023A4 002FE004 2C 1B FF FD */ cmpwi r27, -3 -/* 803023A8 002FE008 40 80 00 18 */ bge lbl_803023C0 -/* 803023AC 002FE00C 48 00 00 0C */ b lbl_803023B8 -lbl_803023B0: -/* 803023B0 002FE010 38 60 FF D2 */ li r3, -46 -/* 803023B4 002FE014 48 00 00 18 */ b lbl_803023CC -lbl_803023B8: -/* 803023B8 002FE018 38 60 FF DA */ li r3, -38 -/* 803023BC 002FE01C 48 00 00 10 */ b lbl_803023CC -lbl_803023C0: -/* 803023C0 002FE020 38 60 FF EE */ li r3, -18 -/* 803023C4 002FE024 48 00 00 08 */ b lbl_803023CC -lbl_803023C8: -/* 803023C8 002FE028 38 60 00 00 */ li r3, 0 -lbl_803023CC: -/* 803023CC 002FE02C 39 61 00 30 */ addi r11, r1, 0x30 -/* 803023D0 002FE030 4B EC 4D 95 */ bl _restgpr_23 -/* 803023D4 002FE034 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803023D8 002FE038 7C 08 03 A6 */ mtlr r0 -/* 803023DC 002FE03C 38 21 00 30 */ addi r1, r1, 0x30 -/* 803023E0 002FE040 4E 80 00 20 */ blr - -.global func_803023E4 -func_803023E4: -/* 803023E4 002FE044 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803023E8 002FE048 7C 08 02 A6 */ mflr r0 -/* 803023EC 002FE04C 90 01 00 34 */ stw r0, 0x34(r1) -/* 803023F0 002FE050 39 61 00 30 */ addi r11, r1, 0x30 -/* 803023F4 002FE054 4B EC 4D 25 */ bl _savegpr_23 -/* 803023F8 002FE058 80 05 00 04 */ lwz r0, 4(r5) -/* 803023FC 002FE05C 7C 77 1B 78 */ mr r23, r3 -/* 80302400 002FE060 7C 98 23 78 */ mr r24, r4 -/* 80302404 002FE064 7C B9 2B 78 */ mr r25, r5 -/* 80302408 002FE068 2C 00 00 0A */ cmpwi r0, 0xa -/* 8030240C 002FE06C 41 82 00 4C */ beq lbl_80302458 -/* 80302410 002FE070 40 80 00 1C */ bge lbl_8030242C -/* 80302414 002FE074 2C 00 00 02 */ cmpwi r0, 2 -/* 80302418 002FE078 41 82 00 40 */ beq lbl_80302458 -/* 8030241C 002FE07C 41 80 00 44 */ blt lbl_80302460 -/* 80302420 002FE080 2C 00 00 09 */ cmpwi r0, 9 -/* 80302424 002FE084 40 80 00 20 */ bge lbl_80302444 -/* 80302428 002FE088 48 00 00 38 */ b lbl_80302460 -lbl_8030242C: -/* 8030242C 002FE08C 2C 00 01 09 */ cmpwi r0, 0x109 -/* 80302430 002FE090 41 82 00 14 */ beq lbl_80302444 -/* 80302434 002FE094 40 80 00 2C */ bge lbl_80302460 -/* 80302438 002FE098 2C 00 01 02 */ cmpwi r0, 0x102 -/* 8030243C 002FE09C 41 82 00 1C */ beq lbl_80302458 -/* 80302440 002FE0A0 48 00 00 20 */ b lbl_80302460 -lbl_80302444: -/* 80302444 002FE0A4 7E E3 BB 78 */ mr r3, r23 -/* 80302448 002FE0A8 7F 04 C3 78 */ mr r4, r24 -/* 8030244C 002FE0AC 7F 25 CB 78 */ mr r5, r25 -/* 80302450 002FE0B0 48 00 02 25 */ bl func_80302674 -/* 80302454 002FE0B4 48 00 01 4C */ b lbl_803025A0 -lbl_80302458: -/* 80302458 002FE0B8 38 60 FF F9 */ li r3, -7 -/* 8030245C 002FE0BC 48 00 01 44 */ b lbl_803025A0 -lbl_80302460: -/* 80302460 002FE0C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80302464 002FE0C4 41 82 00 78 */ beq lbl_803024DC -/* 80302468 002FE0C8 80 65 00 98 */ lwz r3, 0x98(r5) -/* 8030246C 002FE0CC 7E E4 BB 78 */ mr r4, r23 -/* 80302470 002FE0D0 7F 05 C3 78 */ mr r5, r24 -/* 80302474 002FE0D4 48 01 84 A1 */ bl func_8031A914 -/* 80302478 002FE0D8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030247C 002FE0DC 41 82 00 58 */ beq lbl_803024D4 -/* 80302480 002FE0E0 2C 03 00 05 */ cmpwi r3, 5 -/* 80302484 002FE0E4 40 82 00 48 */ bne lbl_803024CC -/* 80302488 002FE0E8 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 8030248C 002FE0EC 48 01 85 59 */ bl func_8031A9E4 -/* 80302490 002FE0F0 2C 03 FF FB */ cmpwi r3, -5 -/* 80302494 002FE0F4 41 82 00 20 */ beq lbl_803024B4 -/* 80302498 002FE0F8 40 80 00 10 */ bge lbl_803024A8 -/* 8030249C 002FE0FC 2C 03 FF F1 */ cmpwi r3, -15 -/* 803024A0 002FE100 41 82 00 14 */ beq lbl_803024B4 -/* 803024A4 002FE104 48 00 00 20 */ b lbl_803024C4 -lbl_803024A8: -/* 803024A8 002FE108 2C 03 FF FD */ cmpwi r3, -3 -/* 803024AC 002FE10C 40 80 00 18 */ bge lbl_803024C4 -/* 803024B0 002FE110 48 00 00 0C */ b lbl_803024BC -lbl_803024B4: -/* 803024B4 002FE114 38 60 FF D2 */ li r3, -46 -/* 803024B8 002FE118 48 00 00 E8 */ b lbl_803025A0 -lbl_803024BC: -/* 803024BC 002FE11C 38 60 FF DA */ li r3, -38 -/* 803024C0 002FE120 48 00 00 E0 */ b lbl_803025A0 -lbl_803024C4: -/* 803024C4 002FE124 38 60 FF ED */ li r3, -19 -/* 803024C8 002FE128 48 00 00 D8 */ b lbl_803025A0 -lbl_803024CC: -/* 803024CC 002FE12C 38 60 FF ED */ li r3, -19 -/* 803024D0 002FE130 48 00 00 D0 */ b lbl_803025A0 -lbl_803024D4: -/* 803024D4 002FE134 38 60 00 00 */ li r3, 0 -/* 803024D8 002FE138 48 00 00 C8 */ b lbl_803025A0 -lbl_803024DC: -/* 803024DC 002FE13C 3B 40 00 00 */ li r26, 0 -/* 803024E0 002FE140 3B C0 03 E8 */ li r30, 0x3e8 -/* 803024E4 002FE144 7F FA F1 D6 */ mullw r31, r26, r30 -/* 803024E8 002FE148 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 803024EC 002FE14C 3F A0 80 00 */ lis r29, 0x8000 -/* 803024F0 002FE150 3B 83 4D D3 */ addi r28, r3, 0x10624DD3@l -lbl_803024F4: -/* 803024F4 002FE154 7E E4 BB 78 */ mr r4, r23 -/* 803024F8 002FE158 7F 05 C3 78 */ mr r5, r24 -/* 803024FC 002FE15C 38 79 00 0C */ addi r3, r25, 0xc -/* 80302500 002FE160 4B FE 54 A1 */ bl NANDWrite -/* 80302504 002FE164 2C 03 FF FD */ cmpwi r3, -3 -/* 80302508 002FE168 7C 7B 1B 78 */ mr r27, r3 -/* 8030250C 002FE16C 40 82 00 30 */ bne lbl_8030253C -/* 80302510 002FE170 80 1D 00 F8 */ lwz r0, 0xf8(r29) -/* 80302514 002FE174 54 00 F0 BE */ srwi r0, r0, 2 -/* 80302518 002FE178 7C 1C 00 16 */ mulhwu r0, r28, r0 -/* 8030251C 002FE17C 54 03 D1 BE */ srwi r3, r0, 6 -/* 80302520 002FE180 7C 03 F0 16 */ mulhwu r0, r3, r30 -/* 80302524 002FE184 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 80302528 002FE188 7C 60 FA 14 */ add r3, r0, r31 -/* 8030252C 002FE18C 4B F7 01 D9 */ bl OSSleepTicks -/* 80302530 002FE190 3B 5A 00 01 */ addi r26, r26, 1 -/* 80302534 002FE194 28 1A 00 03 */ cmplwi r26, 3 -/* 80302538 002FE198 41 80 FF BC */ blt lbl_803024F4 -lbl_8030253C: -/* 8030253C 002FE19C 2C 1B FF FC */ cmpwi r27, -4 -/* 80302540 002FE1A0 40 82 00 0C */ bne lbl_8030254C -/* 80302544 002FE1A4 38 60 FF DA */ li r3, -38 -/* 80302548 002FE1A8 48 00 00 58 */ b lbl_803025A0 -lbl_8030254C: -/* 8030254C 002FE1AC 2C 1B 00 00 */ cmpwi r27, 0 -/* 80302550 002FE1B0 40 80 00 40 */ bge lbl_80302590 -/* 80302554 002FE1B4 2C 1B FF FB */ cmpwi r27, -5 -/* 80302558 002FE1B8 41 82 00 20 */ beq lbl_80302578 -/* 8030255C 002FE1BC 40 80 00 10 */ bge lbl_8030256C -/* 80302560 002FE1C0 2C 1B FF F1 */ cmpwi r27, -15 -/* 80302564 002FE1C4 41 82 00 14 */ beq lbl_80302578 -/* 80302568 002FE1C8 48 00 00 20 */ b lbl_80302588 -lbl_8030256C: -/* 8030256C 002FE1CC 2C 1B FF FD */ cmpwi r27, -3 -/* 80302570 002FE1D0 40 80 00 18 */ bge lbl_80302588 -/* 80302574 002FE1D4 48 00 00 0C */ b lbl_80302580 -lbl_80302578: -/* 80302578 002FE1D8 38 60 FF D2 */ li r3, -46 -/* 8030257C 002FE1DC 48 00 00 24 */ b lbl_803025A0 -lbl_80302580: -/* 80302580 002FE1E0 38 60 FF DA */ li r3, -38 -/* 80302584 002FE1E4 48 00 00 1C */ b lbl_803025A0 -lbl_80302588: -/* 80302588 002FE1E8 38 60 FF ED */ li r3, -19 -/* 8030258C 002FE1EC 48 00 00 14 */ b lbl_803025A0 -lbl_80302590: -/* 80302590 002FE1F0 7C 1B C0 00 */ cmpw r27, r24 -/* 80302594 002FE1F4 38 60 00 00 */ li r3, 0 -/* 80302598 002FE1F8 41 82 00 08 */ beq lbl_803025A0 -/* 8030259C 002FE1FC 38 60 FF ED */ li r3, -19 -lbl_803025A0: -/* 803025A0 002FE200 39 61 00 30 */ addi r11, r1, 0x30 -/* 803025A4 002FE204 4B EC 4B C1 */ bl _restgpr_23 -/* 803025A8 002FE208 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803025AC 002FE20C 7C 08 03 A6 */ mtlr r0 -/* 803025B0 002FE210 38 21 00 30 */ addi r1, r1, 0x30 -/* 803025B4 002FE214 4E 80 00 20 */ blr - -.global func_803025B8 -func_803025B8: -/* 803025B8 002FE218 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803025BC 002FE21C 7C 08 02 A6 */ mflr r0 -/* 803025C0 002FE220 90 01 00 14 */ stw r0, 0x14(r1) -/* 803025C4 002FE224 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803025C8 002FE228 7C 9F 23 78 */ mr r31, r4 -/* 803025CC 002FE22C 80 03 00 04 */ lwz r0, 4(r3) -/* 803025D0 002FE230 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 803025D4 002FE234 41 82 00 74 */ beq lbl_80302648 -/* 803025D8 002FE238 80 63 00 98 */ lwz r3, 0x98(r3) -/* 803025DC 002FE23C 48 01 83 C5 */ bl func_8031A9A0 -/* 803025E0 002FE240 2C 03 00 00 */ cmpwi r3, 0 -/* 803025E4 002FE244 40 80 00 58 */ bge lbl_8030263C -/* 803025E8 002FE248 2C 03 00 05 */ cmpwi r3, 5 -/* 803025EC 002FE24C 40 82 00 48 */ bne lbl_80302634 -/* 803025F0 002FE250 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 803025F4 002FE254 48 01 83 F1 */ bl func_8031A9E4 -/* 803025F8 002FE258 2C 03 FF FB */ cmpwi r3, -5 -/* 803025FC 002FE25C 41 82 00 20 */ beq lbl_8030261C -/* 80302600 002FE260 40 80 00 10 */ bge lbl_80302610 -/* 80302604 002FE264 2C 03 FF F1 */ cmpwi r3, -15 -/* 80302608 002FE268 41 82 00 14 */ beq lbl_8030261C -/* 8030260C 002FE26C 48 00 00 20 */ b lbl_8030262C -lbl_80302610: -/* 80302610 002FE270 2C 03 FF FD */ cmpwi r3, -3 -/* 80302614 002FE274 40 80 00 18 */ bge lbl_8030262C -/* 80302618 002FE278 48 00 00 0C */ b lbl_80302624 -lbl_8030261C: -/* 8030261C 002FE27C 38 60 FF D2 */ li r3, -46 -/* 80302620 002FE280 48 00 00 40 */ b lbl_80302660 -lbl_80302624: -/* 80302624 002FE284 38 60 FF DA */ li r3, -38 -/* 80302628 002FE288 48 00 00 38 */ b lbl_80302660 -lbl_8030262C: -/* 8030262C 002FE28C 38 60 FF EB */ li r3, -21 -/* 80302630 002FE290 48 00 00 30 */ b lbl_80302660 -lbl_80302634: -/* 80302634 002FE294 38 60 FF EB */ li r3, -21 -/* 80302638 002FE298 48 00 00 28 */ b lbl_80302660 -lbl_8030263C: -/* 8030263C 002FE29C 90 7F 00 00 */ stw r3, 0(r31) -/* 80302640 002FE2A0 38 60 00 00 */ li r3, 0 -/* 80302644 002FE2A4 48 00 00 1C */ b lbl_80302660 -lbl_80302648: -/* 80302648 002FE2A8 38 63 00 0C */ addi r3, r3, 0xc -/* 8030264C 002FE2AC 4B FE 58 81 */ bl NANDGetLength -/* 80302650 002FE2B0 2C 03 00 00 */ cmpwi r3, 0 -/* 80302654 002FE2B4 38 60 00 00 */ li r3, 0 -/* 80302658 002FE2B8 41 82 00 08 */ beq lbl_80302660 -/* 8030265C 002FE2BC 38 60 FF EB */ li r3, -21 -lbl_80302660: -/* 80302660 002FE2C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80302664 002FE2C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80302668 002FE2C8 7C 08 03 A6 */ mtlr r0 -/* 8030266C 002FE2CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80302670 002FE2D0 4E 80 00 20 */ blr - -.global func_80302674 -func_80302674: -/* 80302674 002FE2D4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80302678 002FE2D8 7C 08 02 A6 */ mflr r0 -/* 8030267C 002FE2DC 90 01 00 44 */ stw r0, 0x44(r1) -/* 80302680 002FE2E0 39 61 00 40 */ addi r11, r1, 0x40 -/* 80302684 002FE2E4 4B EC 4A 81 */ bl _savegpr_18 -/* 80302688 002FE2E8 80 CD AF 90 */ lwz r6, lbl_80640250-_SDA_BASE_(r13) -/* 8030268C 002FE2EC 7C 7B 1B 78 */ mr r27, r3 -/* 80302690 002FE2F0 83 A5 00 08 */ lwz r29, 8(r5) -/* 80302694 002FE2F4 7C 9E 23 78 */ mr r30, r4 -/* 80302698 002FE2F8 7C B7 2B 78 */ mr r23, r5 -/* 8030269C 002FE2FC 3B 86 0B 00 */ addi r28, r6, 0xb00 -/* 803026A0 002FE300 3B 20 00 00 */ li r25, 0 -/* 803026A4 002FE304 3E 40 80 00 */ lis r18, 0x8000 -/* 803026A8 002FE308 3E 60 10 62 */ lis r19, 0x1062 -/* 803026AC 002FE30C 3A 80 00 00 */ li r20, 0 -/* 803026B0 002FE310 3A A0 03 E8 */ li r21, 0x3e8 -/* 803026B4 002FE314 48 00 01 28 */ b lbl_803027DC -lbl_803026B8: -/* 803026B8 002FE318 22 DD 02 00 */ subfic r22, r29, 0x200 -/* 803026BC 002FE31C 7C 1E B0 40 */ cmplw r30, r22 -/* 803026C0 002FE320 40 80 00 08 */ bge lbl_803026C8 -/* 803026C4 002FE324 7F D6 F3 78 */ mr r22, r30 -lbl_803026C8: -/* 803026C8 002FE328 7F 64 DB 78 */ mr r4, r27 -/* 803026CC 002FE32C 7E C5 B3 78 */ mr r5, r22 -/* 803026D0 002FE330 7C 7C EA 14 */ add r3, r28, r29 -/* 803026D4 002FE334 4B D0 19 2D */ bl memcpy -/* 803026D8 002FE338 7F BD B2 14 */ add r29, r29, r22 -/* 803026DC 002FE33C 7F D6 F0 50 */ subf r30, r22, r30 -/* 803026E0 002FE340 28 1D 02 00 */ cmplwi r29, 0x200 -/* 803026E4 002FE344 7F 7B B2 14 */ add r27, r27, r22 -/* 803026E8 002FE348 41 80 00 F4 */ blt lbl_803027DC -/* 803026EC 002FE34C 80 17 00 04 */ lwz r0, 4(r23) -/* 803026F0 002FE350 3B A0 00 00 */ li r29, 0 -/* 803026F4 002FE354 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 803026F8 002FE358 41 82 00 70 */ beq lbl_80302768 -/* 803026FC 002FE35C 80 77 00 98 */ lwz r3, 0x98(r23) -/* 80302700 002FE360 7F 84 E3 78 */ mr r4, r28 -/* 80302704 002FE364 38 A0 02 00 */ li r5, 0x200 -/* 80302708 002FE368 48 01 82 0D */ bl func_8031A914 -/* 8030270C 002FE36C 2C 03 00 00 */ cmpwi r3, 0 -/* 80302710 002FE370 41 82 00 CC */ beq lbl_803027DC -/* 80302714 002FE374 2C 03 00 05 */ cmpwi r3, 5 -/* 80302718 002FE378 40 82 00 48 */ bne lbl_80302760 -/* 8030271C 002FE37C 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 80302720 002FE380 48 01 82 C5 */ bl func_8031A9E4 -/* 80302724 002FE384 2C 03 FF FB */ cmpwi r3, -5 -/* 80302728 002FE388 41 82 00 20 */ beq lbl_80302748 -/* 8030272C 002FE38C 40 80 00 10 */ bge lbl_8030273C -/* 80302730 002FE390 2C 03 FF F1 */ cmpwi r3, -15 -/* 80302734 002FE394 41 82 00 14 */ beq lbl_80302748 -/* 80302738 002FE398 48 00 00 20 */ b lbl_80302758 -lbl_8030273C: -/* 8030273C 002FE39C 2C 03 FF FD */ cmpwi r3, -3 -/* 80302740 002FE3A0 40 80 00 18 */ bge lbl_80302758 -/* 80302744 002FE3A4 48 00 00 0C */ b lbl_80302750 -lbl_80302748: -/* 80302748 002FE3A8 3B 20 FF D2 */ li r25, -46 -/* 8030274C 002FE3AC 48 00 00 98 */ b lbl_803027E4 -lbl_80302750: -/* 80302750 002FE3B0 3B 20 FF DA */ li r25, -38 -/* 80302754 002FE3B4 48 00 00 90 */ b lbl_803027E4 -lbl_80302758: -/* 80302758 002FE3B8 3B 20 FF ED */ li r25, -19 -/* 8030275C 002FE3BC 48 00 00 88 */ b lbl_803027E4 -lbl_80302760: -/* 80302760 002FE3C0 3B 20 FF ED */ li r25, -19 -/* 80302764 002FE3C4 48 00 00 80 */ b lbl_803027E4 -lbl_80302768: -/* 80302768 002FE3C8 7E D4 A9 D6 */ mullw r22, r20, r21 -/* 8030276C 002FE3CC 3B F3 4D D3 */ addi r31, r19, 0x4dd3 -/* 80302770 002FE3D0 3B 00 00 00 */ li r24, 0 -lbl_80302774: -/* 80302774 002FE3D4 7F 84 E3 78 */ mr r4, r28 -/* 80302778 002FE3D8 38 77 00 0C */ addi r3, r23, 0xc -/* 8030277C 002FE3DC 38 A0 02 00 */ li r5, 0x200 -/* 80302780 002FE3E0 4B FE 52 21 */ bl NANDWrite -/* 80302784 002FE3E4 2C 03 FF FD */ cmpwi r3, -3 -/* 80302788 002FE3E8 7C 7A 1B 78 */ mr r26, r3 -/* 8030278C 002FE3EC 40 82 00 30 */ bne lbl_803027BC -/* 80302790 002FE3F0 80 12 00 F8 */ lwz r0, 0xf8(r18) -/* 80302794 002FE3F4 54 00 F0 BE */ srwi r0, r0, 2 -/* 80302798 002FE3F8 7C 1F 00 16 */ mulhwu r0, r31, r0 -/* 8030279C 002FE3FC 54 03 D1 BE */ srwi r3, r0, 6 -/* 803027A0 002FE400 7C 03 A8 16 */ mulhwu r0, r3, r21 -/* 803027A4 002FE404 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 803027A8 002FE408 7C 60 B2 14 */ add r3, r0, r22 -/* 803027AC 002FE40C 4B F6 FF 59 */ bl OSSleepTicks -/* 803027B0 002FE410 3B 18 00 01 */ addi r24, r24, 1 -/* 803027B4 002FE414 28 18 00 03 */ cmplwi r24, 3 -/* 803027B8 002FE418 41 80 FF BC */ blt lbl_80302774 -lbl_803027BC: -/* 803027BC 002FE41C 2C 1A FF FC */ cmpwi r26, -4 -/* 803027C0 002FE420 40 82 00 0C */ bne lbl_803027CC -/* 803027C4 002FE424 38 60 FF DA */ li r3, -38 -/* 803027C8 002FE428 48 00 00 24 */ b lbl_803027EC -lbl_803027CC: -/* 803027CC 002FE42C 2C 1A 02 00 */ cmpwi r26, 0x200 -/* 803027D0 002FE430 41 82 00 0C */ beq lbl_803027DC -/* 803027D4 002FE434 3B 20 FF ED */ li r25, -19 -/* 803027D8 002FE438 48 00 00 0C */ b lbl_803027E4 -lbl_803027DC: -/* 803027DC 002FE43C 2C 1E 00 00 */ cmpwi r30, 0 -/* 803027E0 002FE440 40 82 FE D8 */ bne lbl_803026B8 -lbl_803027E4: -/* 803027E4 002FE444 93 B7 00 08 */ stw r29, 8(r23) -/* 803027E8 002FE448 7F 23 CB 78 */ mr r3, r25 -lbl_803027EC: -/* 803027EC 002FE44C 39 61 00 40 */ addi r11, r1, 0x40 -/* 803027F0 002FE450 4B EC 49 61 */ bl _restgpr_18 -/* 803027F4 002FE454 80 01 00 44 */ lwz r0, 0x44(r1) -/* 803027F8 002FE458 7C 08 03 A6 */ mtlr r0 -/* 803027FC 002FE45C 38 21 00 40 */ addi r1, r1, 0x40 -/* 80302800 002FE460 4E 80 00 20 */ blr - -.global func_80302804 -func_80302804: -/* 80302804 002FE464 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80302808 002FE468 7C 08 02 A6 */ mflr r0 -/* 8030280C 002FE46C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80302810 002FE470 39 61 00 30 */ addi r11, r1, 0x30 -/* 80302814 002FE474 4B EC 49 01 */ bl _savegpr_22 -/* 80302818 002FE478 83 E3 00 08 */ lwz r31, 8(r3) -/* 8030281C 002FE47C 7C 7C 1B 78 */ mr r28, r3 -/* 80302820 002FE480 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13) -/* 80302824 002FE484 3B A0 00 00 */ li r29, 0 -/* 80302828 002FE488 2C 1F 00 00 */ cmpwi r31, 0 -/* 8030282C 002FE48C 3B C4 0B 00 */ addi r30, r4, 0xb00 -/* 80302830 002FE490 40 82 00 0C */ bne lbl_8030283C -/* 80302834 002FE494 38 60 00 00 */ li r3, 0 -/* 80302838 002FE498 48 00 01 20 */ b lbl_80302958 -lbl_8030283C: -/* 8030283C 002FE49C 7C 9E FA 14 */ add r4, r30, r31 -/* 80302840 002FE4A0 38 A0 00 00 */ li r5, 0 -/* 80302844 002FE4A4 48 00 00 10 */ b lbl_80302854 -lbl_80302848: -/* 80302848 002FE4A8 98 A4 00 00 */ stb r5, 0(r4) -/* 8030284C 002FE4AC 3B FF 00 01 */ addi r31, r31, 1 -/* 80302850 002FE4B0 38 84 00 01 */ addi r4, r4, 1 -lbl_80302854: -/* 80302854 002FE4B4 57 E0 06 FF */ clrlwi. r0, r31, 0x1b -/* 80302858 002FE4B8 40 82 FF F0 */ bne lbl_80302848 -/* 8030285C 002FE4BC 80 03 00 04 */ lwz r0, 4(r3) -/* 80302860 002FE4C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80302864 002FE4C4 41 82 00 74 */ beq lbl_803028D8 -/* 80302868 002FE4C8 80 63 00 98 */ lwz r3, 0x98(r3) -/* 8030286C 002FE4CC 7F C4 F3 78 */ mr r4, r30 -/* 80302870 002FE4D0 7F E5 FB 78 */ mr r5, r31 -/* 80302874 002FE4D4 48 01 80 A1 */ bl func_8031A914 -/* 80302878 002FE4D8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030287C 002FE4DC 41 82 00 54 */ beq lbl_803028D0 -/* 80302880 002FE4E0 2C 03 00 05 */ cmpwi r3, 5 -/* 80302884 002FE4E4 40 82 00 48 */ bne lbl_803028CC -/* 80302888 002FE4E8 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 8030288C 002FE4EC 48 01 81 59 */ bl func_8031A9E4 -/* 80302890 002FE4F0 2C 03 FF FB */ cmpwi r3, -5 -/* 80302894 002FE4F4 41 82 00 20 */ beq lbl_803028B4 -/* 80302898 002FE4F8 40 80 00 10 */ bge lbl_803028A8 -/* 8030289C 002FE4FC 2C 03 FF F1 */ cmpwi r3, -15 -/* 803028A0 002FE500 41 82 00 14 */ beq lbl_803028B4 -/* 803028A4 002FE504 48 00 00 20 */ b lbl_803028C4 -lbl_803028A8: -/* 803028A8 002FE508 2C 03 FF FD */ cmpwi r3, -3 -/* 803028AC 002FE50C 40 80 00 18 */ bge lbl_803028C4 -/* 803028B0 002FE510 48 00 00 0C */ b lbl_803028BC -lbl_803028B4: -/* 803028B4 002FE514 3B A0 FF D2 */ li r29, -46 -/* 803028B8 002FE518 48 00 00 18 */ b lbl_803028D0 -lbl_803028BC: -/* 803028BC 002FE51C 3B A0 FF DA */ li r29, -38 -/* 803028C0 002FE520 48 00 00 10 */ b lbl_803028D0 -lbl_803028C4: -/* 803028C4 002FE524 3B A0 FF ED */ li r29, -19 -/* 803028C8 002FE528 48 00 00 08 */ b lbl_803028D0 -lbl_803028CC: -/* 803028CC 002FE52C 3B A0 FF ED */ li r29, -19 -lbl_803028D0: -/* 803028D0 002FE530 7F A3 EB 78 */ mr r3, r29 -/* 803028D4 002FE534 48 00 00 84 */ b lbl_80302958 -lbl_803028D8: -/* 803028D8 002FE538 3A C0 00 00 */ li r22, 0 -/* 803028DC 002FE53C 3B 40 03 E8 */ li r26, 0x3e8 -/* 803028E0 002FE540 7F 76 D1 D6 */ mullw r27, r22, r26 -/* 803028E4 002FE544 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 803028E8 002FE548 3F 20 80 00 */ lis r25, 0x8000 -/* 803028EC 002FE54C 3B 03 4D D3 */ addi r24, r3, 0x10624DD3@l -lbl_803028F0: -/* 803028F0 002FE550 7F C4 F3 78 */ mr r4, r30 -/* 803028F4 002FE554 7F E5 FB 78 */ mr r5, r31 -/* 803028F8 002FE558 38 7C 00 0C */ addi r3, r28, 0xc -/* 803028FC 002FE55C 4B FE 50 A5 */ bl NANDWrite -/* 80302900 002FE560 2C 03 FF FD */ cmpwi r3, -3 -/* 80302904 002FE564 7C 77 1B 78 */ mr r23, r3 -/* 80302908 002FE568 40 82 00 30 */ bne lbl_80302938 -/* 8030290C 002FE56C 80 19 00 F8 */ lwz r0, 0xf8(r25) -/* 80302910 002FE570 54 00 F0 BE */ srwi r0, r0, 2 -/* 80302914 002FE574 7C 18 00 16 */ mulhwu r0, r24, r0 -/* 80302918 002FE578 54 03 D1 BE */ srwi r3, r0, 6 -/* 8030291C 002FE57C 7C 03 D0 16 */ mulhwu r0, r3, r26 -/* 80302920 002FE580 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 80302924 002FE584 7C 60 DA 14 */ add r3, r0, r27 -/* 80302928 002FE588 4B F6 FD DD */ bl OSSleepTicks -/* 8030292C 002FE58C 3A D6 00 01 */ addi r22, r22, 1 -/* 80302930 002FE590 28 16 00 03 */ cmplwi r22, 3 -/* 80302934 002FE594 41 80 FF BC */ blt lbl_803028F0 -lbl_80302938: -/* 80302938 002FE598 2C 17 FF FC */ cmpwi r23, -4 -/* 8030293C 002FE59C 40 82 00 0C */ bne lbl_80302948 -/* 80302940 002FE5A0 38 60 FF DA */ li r3, -38 -/* 80302944 002FE5A4 48 00 00 14 */ b lbl_80302958 -lbl_80302948: -/* 80302948 002FE5A8 7C 17 F8 40 */ cmplw r23, r31 -/* 8030294C 002FE5AC 41 82 00 08 */ beq lbl_80302954 -/* 80302950 002FE5B0 3B A0 FF ED */ li r29, -19 -lbl_80302954: -/* 80302954 002FE5B4 7F A3 EB 78 */ mr r3, r29 -lbl_80302958: -/* 80302958 002FE5B8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030295C 002FE5BC 4B EC 48 05 */ bl _restgpr_22 -/* 80302960 002FE5C0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80302964 002FE5C4 7C 08 03 A6 */ mtlr r0 -/* 80302968 002FE5C8 38 21 00 30 */ addi r1, r1, 0x30 -/* 8030296C 002FE5CC 4E 80 00 20 */ blr - -.global func_80302970 -func_80302970: -/* 80302970 002FE5D0 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80302974 002FE5D4 7C 08 02 A6 */ mflr r0 -/* 80302978 002FE5D8 90 01 00 64 */ stw r0, 0x64(r1) -/* 8030297C 002FE5DC 39 61 00 60 */ addi r11, r1, 0x60 -/* 80302980 002FE5E0 4B EC 47 79 */ bl _savegpr_15 -/* 80302984 002FE5E4 80 0D AF 78 */ lwz r0, lbl_80640238-_SDA_BASE_(r13) -/* 80302988 002FE5E8 7C 8F 23 78 */ mr r15, r4 -/* 8030298C 002FE5EC 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13) -/* 80302990 002FE5F0 7C 73 1B 78 */ mr r19, r3 -/* 80302994 002FE5F4 2C 00 00 00 */ cmpwi r0, 0 -/* 80302998 002FE5F8 7C B0 2B 78 */ mr r16, r5 -/* 8030299C 002FE5FC 7D F9 7B 78 */ mr r25, r15 -/* 803029A0 002FE600 3A 84 09 00 */ addi r20, r4, 0x900 -/* 803029A4 002FE604 3A 40 00 00 */ li r18, 0 -/* 803029A8 002FE608 41 82 00 0C */ beq lbl_803029B4 -/* 803029AC 002FE60C 38 60 FF EA */ li r3, -22 -/* 803029B0 002FE610 48 00 01 90 */ b lbl_80302B40 -lbl_803029B4: -/* 803029B4 002FE614 80 05 00 00 */ lwz r0, 0(r5) -/* 803029B8 002FE618 90 0D AF 78 */ stw r0, lbl_80640238-_SDA_BASE_(r13) -/* 803029BC 002FE61C 82 A5 00 08 */ lwz r21, 8(r5) -/* 803029C0 002FE620 56 A0 00 01 */ rlwinm. r0, r21, 0, 0, 0 -/* 803029C4 002FE624 41 82 00 0C */ beq lbl_803029D0 -/* 803029C8 002FE628 38 60 FF D8 */ li r3, -40 -/* 803029CC 002FE62C 48 00 01 74 */ b lbl_80302B40 -lbl_803029D0: -/* 803029D0 002FE630 3F 60 80 00 */ lis r27, 0x8000 -/* 803029D4 002FE634 3F 80 10 62 */ lis r28, 0x1062 -/* 803029D8 002FE638 3B A0 00 00 */ li r29, 0 -/* 803029DC 002FE63C 3B C0 03 E8 */ li r30, 0x3e8 -/* 803029E0 002FE640 48 00 01 38 */ b lbl_80302B18 -lbl_803029E4: -/* 803029E4 002FE644 22 F5 02 00 */ subfic r23, r21, 0x200 -/* 803029E8 002FE648 3B 00 02 00 */ li r24, 0x200 -/* 803029EC 002FE64C 7C 19 B8 40 */ cmplw r25, r23 -/* 803029F0 002FE650 40 80 00 14 */ bge lbl_80302A04 -/* 803029F4 002FE654 7C 79 AA 14 */ add r3, r25, r21 -/* 803029F8 002FE658 7F 37 CB 78 */ mr r23, r25 -/* 803029FC 002FE65C 38 03 00 1F */ addi r0, r3, 0x1f -/* 80302A00 002FE660 54 18 00 34 */ rlwinm r24, r0, 0, 0, 0x1a -lbl_80302A04: -/* 80302A04 002FE664 80 10 00 04 */ lwz r0, 4(r16) -/* 80302A08 002FE668 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80302A0C 002FE66C 41 82 00 7C */ beq lbl_80302A88 -/* 80302A10 002FE670 80 70 00 98 */ lwz r3, 0x98(r16) -/* 80302A14 002FE674 7E 84 A3 78 */ mr r4, r20 -/* 80302A18 002FE678 7F 05 C3 78 */ mr r5, r24 -/* 80302A1C 002FE67C 38 C1 00 08 */ addi r6, r1, 8 -/* 80302A20 002FE680 48 01 7E 59 */ bl func_8031A878 -/* 80302A24 002FE684 2C 03 00 00 */ cmpwi r3, 0 -/* 80302A28 002FE688 41 82 00 58 */ beq lbl_80302A80 -/* 80302A2C 002FE68C 2C 03 00 05 */ cmpwi r3, 5 -/* 80302A30 002FE690 40 82 00 48 */ bne lbl_80302A78 -/* 80302A34 002FE694 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_ -/* 80302A38 002FE698 48 01 7F AD */ bl func_8031A9E4 -/* 80302A3C 002FE69C 2C 03 FF FB */ cmpwi r3, -5 -/* 80302A40 002FE6A0 41 82 00 20 */ beq lbl_80302A60 -/* 80302A44 002FE6A4 40 80 00 10 */ bge lbl_80302A54 -/* 80302A48 002FE6A8 2C 03 FF F1 */ cmpwi r3, -15 -/* 80302A4C 002FE6AC 41 82 00 14 */ beq lbl_80302A60 -/* 80302A50 002FE6B0 48 00 00 20 */ b lbl_80302A70 -lbl_80302A54: -/* 80302A54 002FE6B4 2C 03 FF FD */ cmpwi r3, -3 -/* 80302A58 002FE6B8 40 80 00 18 */ bge lbl_80302A70 -/* 80302A5C 002FE6BC 48 00 00 0C */ b lbl_80302A68 -lbl_80302A60: -/* 80302A60 002FE6C0 3A 40 FF D2 */ li r18, -46 -/* 80302A64 002FE6C4 48 00 00 BC */ b lbl_80302B20 -lbl_80302A68: -/* 80302A68 002FE6C8 3A 40 FF DA */ li r18, -38 -/* 80302A6C 002FE6CC 48 00 00 B4 */ b lbl_80302B20 -lbl_80302A70: -/* 80302A70 002FE6D0 3A 40 FF EE */ li r18, -18 -/* 80302A74 002FE6D4 48 00 00 AC */ b lbl_80302B20 -lbl_80302A78: -/* 80302A78 002FE6D8 3A 40 FF EE */ li r18, -18 -/* 80302A7C 002FE6DC 48 00 00 A4 */ b lbl_80302B20 -lbl_80302A80: -/* 80302A80 002FE6E0 82 C1 00 08 */ lwz r22, 8(r1) -/* 80302A84 002FE6E4 48 00 00 68 */ b lbl_80302AEC -lbl_80302A88: -/* 80302A88 002FE6E8 7F FD F1 D6 */ mullw r31, r29, r30 -/* 80302A8C 002FE6EC 3B 5C 4D D3 */ addi r26, r28, 0x4dd3 -/* 80302A90 002FE6F0 3A 20 00 00 */ li r17, 0 -lbl_80302A94: -/* 80302A94 002FE6F4 7E 84 A3 78 */ mr r4, r20 -/* 80302A98 002FE6F8 7F 05 C3 78 */ mr r5, r24 -/* 80302A9C 002FE6FC 38 70 00 0C */ addi r3, r16, 0xc -/* 80302AA0 002FE700 4B FE 4E 21 */ bl NANDRead -/* 80302AA4 002FE704 2C 03 FF FD */ cmpwi r3, -3 -/* 80302AA8 002FE708 7C 76 1B 78 */ mr r22, r3 -/* 80302AAC 002FE70C 40 82 00 30 */ bne lbl_80302ADC -/* 80302AB0 002FE710 80 1B 00 F8 */ lwz r0, 0xf8(r27) -/* 80302AB4 002FE714 54 00 F0 BE */ srwi r0, r0, 2 -/* 80302AB8 002FE718 7C 1A 00 16 */ mulhwu r0, r26, r0 -/* 80302ABC 002FE71C 54 03 D1 BE */ srwi r3, r0, 6 -/* 80302AC0 002FE720 7C 03 F0 16 */ mulhwu r0, r3, r30 -/* 80302AC4 002FE724 1C 83 03 E8 */ mulli r4, r3, 0x3e8 -/* 80302AC8 002FE728 7C 60 FA 14 */ add r3, r0, r31 -/* 80302ACC 002FE72C 4B F6 FC 39 */ bl OSSleepTicks -/* 80302AD0 002FE730 3A 31 00 01 */ addi r17, r17, 1 -/* 80302AD4 002FE734 28 11 00 03 */ cmplwi r17, 3 -/* 80302AD8 002FE738 41 80 FF BC */ blt lbl_80302A94 -lbl_80302ADC: -/* 80302ADC 002FE73C 2C 16 FF FC */ cmpwi r22, -4 -/* 80302AE0 002FE740 40 82 00 0C */ bne lbl_80302AEC -/* 80302AE4 002FE744 38 60 FF DA */ li r3, -38 -/* 80302AE8 002FE748 48 00 00 58 */ b lbl_80302B40 -lbl_80302AEC: -/* 80302AEC 002FE74C 7C 16 C0 40 */ cmplw r22, r24 -/* 80302AF0 002FE750 41 82 00 0C */ beq lbl_80302AFC -/* 80302AF4 002FE754 3A 40 FF EE */ li r18, -18 -/* 80302AF8 002FE758 48 00 00 28 */ b lbl_80302B20 -lbl_80302AFC: -/* 80302AFC 002FE75C 7E 63 9B 78 */ mr r3, r19 -/* 80302B00 002FE760 7E E5 BB 78 */ mr r5, r23 -/* 80302B04 002FE764 7C 94 AA 14 */ add r4, r20, r21 -/* 80302B08 002FE768 4B D0 14 F9 */ bl memcpy -/* 80302B0C 002FE76C 7E 73 BA 14 */ add r19, r19, r23 -/* 80302B10 002FE770 7F 37 C8 50 */ subf r25, r23, r25 -/* 80302B14 002FE774 3A A0 00 00 */ li r21, 0 -lbl_80302B18: -/* 80302B18 002FE778 2C 19 00 00 */ cmpwi r25, 0 -/* 80302B1C 002FE77C 40 82 FE C8 */ bne lbl_803029E4 -lbl_80302B20: -/* 80302B20 002FE780 80 90 00 08 */ lwz r4, 8(r16) -/* 80302B24 002FE784 38 00 00 00 */ li r0, 0 -/* 80302B28 002FE788 7E 43 93 78 */ mr r3, r18 -/* 80302B2C 002FE78C 7C 84 7A 14 */ add r4, r4, r15 -/* 80302B30 002FE790 54 84 06 FE */ clrlwi r4, r4, 0x1b -/* 80302B34 002FE794 64 84 80 00 */ oris r4, r4, 0x8000 -/* 80302B38 002FE798 90 90 00 08 */ stw r4, 8(r16) -/* 80302B3C 002FE79C 90 0D AF 78 */ stw r0, lbl_80640238-_SDA_BASE_(r13) -lbl_80302B40: -/* 80302B40 002FE7A0 39 61 00 60 */ addi r11, r1, 0x60 -/* 80302B44 002FE7A4 4B EC 46 01 */ bl _restgpr_15 -/* 80302B48 002FE7A8 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80302B4C 002FE7AC 7C 08 03 A6 */ mtlr r0 -/* 80302B50 002FE7B0 38 21 00 60 */ addi r1, r1, 0x60 -/* 80302B54 002FE7B4 4E 80 00 20 */ blr - -.global func_80302B58 -func_80302B58: -/* 80302B58 002FE7B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80302B5C 002FE7BC 7C 08 02 A6 */ mflr r0 -/* 80302B60 002FE7C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80302B64 002FE7C4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80302B68 002FE7C8 3B E0 00 00 */ li r31, 0 -/* 80302B6C 002FE7CC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80302B70 002FE7D0 7C 7E 1B 78 */ mr r30, r3 -/* 80302B74 002FE7D4 48 00 07 71 */ bl func_803032E4 -/* 80302B78 002FE7D8 2C 03 00 00 */ cmpwi r3, 0 -/* 80302B7C 002FE7DC 40 82 00 10 */ bne lbl_80302B8C -/* 80302B80 002FE7E0 48 00 07 79 */ bl func_803032F8 -/* 80302B84 002FE7E4 2C 03 00 00 */ cmpwi r3, 0 -/* 80302B88 002FE7E8 41 82 00 1C */ beq lbl_80302BA4 -lbl_80302B8C: -/* 80302B8C 002FE7EC 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13) -/* 80302B90 002FE7F0 80 03 00 08 */ lwz r0, 8(r3) -/* 80302B94 002FE7F4 80 63 00 0C */ lwz r3, 0xc(r3) -/* 80302B98 002FE7F8 90 7E 00 04 */ stw r3, 4(r30) -/* 80302B9C 002FE7FC 90 1E 00 00 */ stw r0, 0(r30) -/* 80302BA0 002FE800 48 00 00 B0 */ b lbl_80302C50 -lbl_80302BA4: -/* 80302BA4 002FE804 48 00 0E 51 */ bl func_803039F4 -/* 80302BA8 002FE808 2C 03 00 00 */ cmpwi r3, 0 -/* 80302BAC 002FE80C 40 80 00 08 */ bge lbl_80302BB4 -/* 80302BB0 002FE810 48 00 00 A4 */ b lbl_80302C54 -lbl_80302BB4: -/* 80302BB4 002FE814 38 60 00 01 */ li r3, 1 -/* 80302BB8 002FE818 48 00 07 55 */ bl func_8030330C -/* 80302BBC 002FE81C 2C 03 00 00 */ cmpwi r3, 0 -/* 80302BC0 002FE820 40 80 00 08 */ bge lbl_80302BC8 -/* 80302BC4 002FE824 48 00 00 5C */ b lbl_80302C20 -lbl_80302BC8: -/* 80302BC8 002FE828 38 00 00 00 */ li r0, 0 -/* 80302BCC 002FE82C 2C 1E 00 00 */ cmpwi r30, 0 -/* 80302BD0 002FE830 90 01 00 08 */ stw r0, 8(r1) -/* 80302BD4 002FE834 40 82 00 0C */ bne lbl_80302BE0 -/* 80302BD8 002FE838 3B E0 FF FD */ li r31, -3 -/* 80302BDC 002FE83C 48 00 00 2C */ b lbl_80302C08 -lbl_80302BE0: -/* 80302BE0 002FE840 3C 60 6F C1 */ lis r3, 0x6FC0FFFF@ha -/* 80302BE4 002FE844 3C 80 00 24 */ lis r4, 0x002386F2@ha -/* 80302BE8 002FE848 38 A3 FF FF */ addi r5, r3, 0x6FC0FFFF@l -/* 80302BEC 002FE84C 38 04 86 F2 */ addi r0, r4, 0x002386F2@l -/* 80302BF0 002FE850 90 BE 00 04 */ stw r5, 4(r30) -/* 80302BF4 002FE854 7F C3 F3 78 */ mr r3, r30 -/* 80302BF8 002FE858 38 81 00 08 */ addi r4, r1, 8 -/* 80302BFC 002FE85C 90 1E 00 00 */ stw r0, 0(r30) -/* 80302C00 002FE860 48 00 0F B5 */ bl func_80303BB4 -/* 80302C04 002FE864 7C 7F 1B 78 */ mr r31, r3 -lbl_80302C08: -/* 80302C08 002FE868 38 60 00 00 */ li r3, 0 -/* 80302C0C 002FE86C 48 00 07 01 */ bl func_8030330C -/* 80302C10 002FE870 2C 1F 00 00 */ cmpwi r31, 0 -/* 80302C14 002FE874 41 80 00 08 */ blt lbl_80302C1C -/* 80302C18 002FE878 7C 7F 1B 78 */ mr r31, r3 -lbl_80302C1C: -/* 80302C1C 002FE87C 7F E3 FB 78 */ mr r3, r31 -lbl_80302C20: -/* 80302C20 002FE880 38 03 00 24 */ addi r0, r3, 0x24 -/* 80302C24 002FE884 7C 7F 1B 78 */ mr r31, r3 -/* 80302C28 002FE888 28 00 00 01 */ cmplwi r0, 1 -/* 80302C2C 002FE88C 41 81 00 08 */ bgt lbl_80302C34 -/* 80302C30 002FE890 3B E0 00 00 */ li r31, 0 -lbl_80302C34: -/* 80302C34 002FE894 48 00 0E 91 */ bl func_80303AC4 -/* 80302C38 002FE898 2C 03 00 00 */ cmpwi r3, 0 -/* 80302C3C 002FE89C 40 80 00 14 */ bge lbl_80302C50 -/* 80302C40 002FE8A0 2C 1F 00 00 */ cmpwi r31, 0 -/* 80302C44 002FE8A4 41 82 00 08 */ beq lbl_80302C4C -/* 80302C48 002FE8A8 7F E3 FB 78 */ mr r3, r31 -lbl_80302C4C: -/* 80302C4C 002FE8AC 7C 7F 1B 78 */ mr r31, r3 -lbl_80302C50: -/* 80302C50 002FE8B0 7F E3 FB 78 */ mr r3, r31 -lbl_80302C54: -/* 80302C54 002FE8B4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80302C58 002FE8B8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80302C5C 002FE8BC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80302C60 002FE8C0 7C 08 03 A6 */ mtlr r0 -/* 80302C64 002FE8C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80302C68 002FE8C8 4E 80 00 20 */ blr - -.global func_80302C6C -func_80302C6C: -/* 80302C6C 002FE8CC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80302C70 002FE8D0 38 00 00 00 */ li r0, 0 -/* 80302C74 002FE8D4 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13) -/* 80302C78 002FE8D8 38 03 0D 00 */ addi r0, r3, 0xd00 -/* 80302C7C 002FE8DC 90 0D AF 88 */ stw r0, lbl_80640248-_SDA_BASE_(r13) -/* 80302C80 002FE8E0 48 00 00 04 */ b lbl_80302C84 -lbl_80302C84: -/* 80302C84 002FE8E4 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 80302C88 002FE8E8 7C 08 02 A6 */ mflr r0 -/* 80302C8C 002FE8EC 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80302C90 002FE8F0 93 E1 00 AC */ stw r31, 0xac(r1) -/* 80302C94 002FE8F4 80 0D AF 90 */ lwz r0, lbl_80640250-_SDA_BASE_(r13) -/* 80302C98 002FE8F8 2C 00 00 00 */ cmpwi r0, 0 -/* 80302C9C 002FE8FC 40 82 00 0C */ bne lbl_80302CA8 -/* 80302CA0 002FE900 38 60 FF F7 */ li r3, -9 -/* 80302CA4 002FE904 48 00 00 C0 */ b lbl_80302D64 -lbl_80302CA8: -/* 80302CA8 002FE908 80 8D 8C 94 */ lwz r4, lbl_8063DF54-_SDA_BASE_(r13) -/* 80302CAC 002FE90C 38 61 00 08 */ addi r3, r1, 8 -/* 80302CB0 002FE910 38 A0 00 02 */ li r5, 2 -/* 80302CB4 002FE914 4B FF EE 95 */ bl func_80301B48 -/* 80302CB8 002FE918 2C 03 00 00 */ cmpwi r3, 0 -/* 80302CBC 002FE91C 40 82 00 2C */ bne lbl_80302CE8 -/* 80302CC0 002FE920 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13) -/* 80302CC4 002FE924 38 A1 00 08 */ addi r5, r1, 8 -/* 80302CC8 002FE928 38 80 04 00 */ li r4, 0x400 -/* 80302CCC 002FE92C 4B FF F5 4D */ bl func_80302218 -/* 80302CD0 002FE930 7C 7F 1B 78 */ mr r31, r3 -/* 80302CD4 002FE934 38 61 00 08 */ addi r3, r1, 8 -/* 80302CD8 002FE938 4B FF F1 C1 */ bl func_80301E98 -/* 80302CDC 002FE93C 2C 1F 00 00 */ cmpwi r31, 0 -/* 80302CE0 002FE940 41 82 00 08 */ beq lbl_80302CE8 -/* 80302CE4 002FE944 7F E3 FB 78 */ mr r3, r31 -lbl_80302CE8: -/* 80302CE8 002FE948 2C 03 00 00 */ cmpwi r3, 0 -/* 80302CEC 002FE94C 40 82 00 1C */ bne lbl_80302D08 -/* 80302CF0 002FE950 48 00 02 79 */ bl func_80302F68 -/* 80302CF4 002FE954 2C 03 00 00 */ cmpwi r3, 0 -/* 80302CF8 002FE958 40 82 00 10 */ bne lbl_80302D08 -/* 80302CFC 002FE95C 38 00 00 00 */ li r0, 0 -/* 80302D00 002FE960 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13) -/* 80302D04 002FE964 48 00 00 60 */ b lbl_80302D64 -lbl_80302D08: -/* 80302D08 002FE968 80 8D 8C 98 */ lwz r4, lbl_8063DF58-_SDA_BASE_(r13) -/* 80302D0C 002FE96C 38 61 00 08 */ addi r3, r1, 8 -/* 80302D10 002FE970 38 A0 00 02 */ li r5, 2 -/* 80302D14 002FE974 4B FF EE 35 */ bl func_80301B48 -/* 80302D18 002FE978 2C 03 00 00 */ cmpwi r3, 0 -/* 80302D1C 002FE97C 40 82 00 2C */ bne lbl_80302D48 -/* 80302D20 002FE980 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13) -/* 80302D24 002FE984 38 A1 00 08 */ addi r5, r1, 8 -/* 80302D28 002FE988 38 80 04 00 */ li r4, 0x400 -/* 80302D2C 002FE98C 4B FF F4 ED */ bl func_80302218 -/* 80302D30 002FE990 7C 7F 1B 78 */ mr r31, r3 -/* 80302D34 002FE994 38 61 00 08 */ addi r3, r1, 8 -/* 80302D38 002FE998 4B FF F1 61 */ bl func_80301E98 -/* 80302D3C 002FE99C 2C 1F 00 00 */ cmpwi r31, 0 -/* 80302D40 002FE9A0 41 82 00 08 */ beq lbl_80302D48 -/* 80302D44 002FE9A4 7F E3 FB 78 */ mr r3, r31 -lbl_80302D48: -/* 80302D48 002FE9A8 2C 03 00 00 */ cmpwi r3, 0 -/* 80302D4C 002FE9AC 40 82 00 18 */ bne lbl_80302D64 -/* 80302D50 002FE9B0 48 00 02 19 */ bl func_80302F68 -/* 80302D54 002FE9B4 2C 03 00 00 */ cmpwi r3, 0 -/* 80302D58 002FE9B8 40 82 00 0C */ bne lbl_80302D64 -/* 80302D5C 002FE9BC 38 00 00 01 */ li r0, 1 -/* 80302D60 002FE9C0 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13) -lbl_80302D64: -/* 80302D64 002FE9C4 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 80302D68 002FE9C8 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 80302D6C 002FE9CC 7C 08 03 A6 */ mtlr r0 -/* 80302D70 002FE9D0 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 80302D74 002FE9D4 4E 80 00 20 */ blr - -.global func_80302D78 -func_80302D78: -/* 80302D78 002FE9D8 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 80302D7C 002FE9DC 7C 08 02 A6 */ mflr r0 -/* 80302D80 002FE9E0 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80302D84 002FE9E4 93 E1 00 AC */ stw r31, 0xac(r1) -/* 80302D88 002FE9E8 80 0D AF 90 */ lwz r0, lbl_80640250-_SDA_BASE_(r13) -/* 80302D8C 002FE9EC 2C 00 00 00 */ cmpwi r0, 0 -/* 80302D90 002FE9F0 40 82 00 0C */ bne lbl_80302D9C -/* 80302D94 002FE9F4 38 60 FF F7 */ li r3, -9 -/* 80302D98 002FE9F8 48 00 01 4C */ b lbl_80302EE4 -lbl_80302D9C: -/* 80302D9C 002FE9FC 80 0D AF 8C */ lwz r0, lbl_8064024C-_SDA_BASE_(r13) -/* 80302DA0 002FEA00 2C 00 00 00 */ cmpwi r0, 0 -/* 80302DA4 002FEA04 40 82 00 0C */ bne lbl_80302DB0 -/* 80302DA8 002FEA08 38 60 00 00 */ li r3, 0 -/* 80302DAC 002FEA0C 48 00 01 38 */ b lbl_80302EE4 -lbl_80302DB0: -/* 80302DB0 002FEA10 81 0D AF 88 */ lwz r8, lbl_80640248-_SDA_BASE_(r13) -/* 80302DB4 002FEA14 38 00 00 1F */ li r0, 0x1f -/* 80302DB8 002FEA18 38 E0 00 00 */ li r7, 0 -/* 80302DBC 002FEA1C 7D 06 43 78 */ mr r6, r8 -/* 80302DC0 002FEA20 7C 09 03 A6 */ mtctr r0 -lbl_80302DC4: -/* 80302DC4 002FEA24 80 66 00 00 */ lwz r3, 0(r6) -/* 80302DC8 002FEA28 80 06 00 04 */ lwz r0, 4(r6) -/* 80302DCC 002FEA2C 7C E7 1A 14 */ add r7, r7, r3 -/* 80302DD0 002FEA30 80 66 00 08 */ lwz r3, 8(r6) -/* 80302DD4 002FEA34 7C E7 02 14 */ add r7, r7, r0 -/* 80302DD8 002FEA38 80 06 00 0C */ lwz r0, 0xc(r6) -/* 80302DDC 002FEA3C 7C E7 1A 14 */ add r7, r7, r3 -/* 80302DE0 002FEA40 80 66 00 10 */ lwz r3, 0x10(r6) -/* 80302DE4 002FEA44 7C E7 02 14 */ add r7, r7, r0 -/* 80302DE8 002FEA48 80 06 00 14 */ lwz r0, 0x14(r6) -/* 80302DEC 002FEA4C 7C E7 1A 14 */ add r7, r7, r3 -/* 80302DF0 002FEA50 80 66 00 18 */ lwz r3, 0x18(r6) -/* 80302DF4 002FEA54 7C E7 02 14 */ add r7, r7, r0 -/* 80302DF8 002FEA58 80 06 00 1C */ lwz r0, 0x1c(r6) -/* 80302DFC 002FEA5C 7C E7 1A 14 */ add r7, r7, r3 -/* 80302E00 002FEA60 38 C6 00 20 */ addi r6, r6, 0x20 -/* 80302E04 002FEA64 7C E7 02 14 */ add r7, r7, r0 -/* 80302E08 002FEA68 42 00 FF BC */ bdnz lbl_80302DC4 -/* 80302E0C 002FEA6C 80 06 00 00 */ lwz r0, 0(r6) -/* 80302E10 002FEA70 38 61 00 08 */ addi r3, r1, 8 -/* 80302E14 002FEA74 80 86 00 04 */ lwz r4, 4(r6) -/* 80302E18 002FEA78 38 A0 00 01 */ li r5, 1 -/* 80302E1C 002FEA7C 7C E7 02 14 */ add r7, r7, r0 -/* 80302E20 002FEA80 80 06 00 08 */ lwz r0, 8(r6) -/* 80302E24 002FEA84 7C E7 22 14 */ add r7, r7, r4 -/* 80302E28 002FEA88 80 86 00 0C */ lwz r4, 0xc(r6) -/* 80302E2C 002FEA8C 7C E7 02 14 */ add r7, r7, r0 -/* 80302E30 002FEA90 80 06 00 10 */ lwz r0, 0x10(r6) -/* 80302E34 002FEA94 7C E7 22 14 */ add r7, r7, r4 -/* 80302E38 002FEA98 80 86 00 14 */ lwz r4, 0x14(r6) -/* 80302E3C 002FEA9C 7C E7 02 14 */ add r7, r7, r0 -/* 80302E40 002FEAA0 80 06 00 18 */ lwz r0, 0x18(r6) -/* 80302E44 002FEAA4 7C E7 22 14 */ add r7, r7, r4 -/* 80302E48 002FEAA8 7C E7 02 14 */ add r7, r7, r0 -/* 80302E4C 002FEAAC 90 E8 03 FC */ stw r7, 0x3fc(r8) -/* 80302E50 002FEAB0 80 8D 8C 94 */ lwz r4, lbl_8063DF54-_SDA_BASE_(r13) -/* 80302E54 002FEAB4 4B FF EC F5 */ bl func_80301B48 -/* 80302E58 002FEAB8 2C 03 00 00 */ cmpwi r3, 0 -/* 80302E5C 002FEABC 40 82 00 34 */ bne lbl_80302E90 -/* 80302E60 002FEAC0 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13) -/* 80302E64 002FEAC4 38 A1 00 08 */ addi r5, r1, 8 -/* 80302E68 002FEAC8 38 80 04 00 */ li r4, 0x400 -/* 80302E6C 002FEACC 4B FF F5 79 */ bl func_803023E4 -/* 80302E70 002FEAD0 7C 7F 1B 78 */ mr r31, r3 -/* 80302E74 002FEAD4 38 61 00 08 */ addi r3, r1, 8 -/* 80302E78 002FEAD8 4B FF F0 21 */ bl func_80301E98 -/* 80302E7C 002FEADC 2C 1F 00 00 */ cmpwi r31, 0 -/* 80302E80 002FEAE0 41 82 00 08 */ beq lbl_80302E88 -/* 80302E84 002FEAE4 7F E3 FB 78 */ mr r3, r31 -lbl_80302E88: -/* 80302E88 002FEAE8 38 00 00 00 */ li r0, 0 -/* 80302E8C 002FEAEC 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13) -lbl_80302E90: -/* 80302E90 002FEAF0 2C 03 00 00 */ cmpwi r3, 0 -/* 80302E94 002FEAF4 41 82 00 08 */ beq lbl_80302E9C -/* 80302E98 002FEAF8 48 00 00 4C */ b lbl_80302EE4 -lbl_80302E9C: -/* 80302E9C 002FEAFC 80 8D 8C 98 */ lwz r4, lbl_8063DF58-_SDA_BASE_(r13) -/* 80302EA0 002FEB00 38 61 00 08 */ addi r3, r1, 8 -/* 80302EA4 002FEB04 38 A0 00 01 */ li r5, 1 -/* 80302EA8 002FEB08 4B FF EC A1 */ bl func_80301B48 -/* 80302EAC 002FEB0C 2C 03 00 00 */ cmpwi r3, 0 -/* 80302EB0 002FEB10 40 82 00 34 */ bne lbl_80302EE4 -/* 80302EB4 002FEB14 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13) -/* 80302EB8 002FEB18 38 A1 00 08 */ addi r5, r1, 8 -/* 80302EBC 002FEB1C 38 80 04 00 */ li r4, 0x400 -/* 80302EC0 002FEB20 4B FF F5 25 */ bl func_803023E4 -/* 80302EC4 002FEB24 7C 7F 1B 78 */ mr r31, r3 -/* 80302EC8 002FEB28 38 61 00 08 */ addi r3, r1, 8 -/* 80302ECC 002FEB2C 4B FF EF CD */ bl func_80301E98 -/* 80302ED0 002FEB30 2C 1F 00 00 */ cmpwi r31, 0 -/* 80302ED4 002FEB34 41 82 00 08 */ beq lbl_80302EDC -/* 80302ED8 002FEB38 7F E3 FB 78 */ mr r3, r31 -lbl_80302EDC: -/* 80302EDC 002FEB3C 38 00 00 00 */ li r0, 0 -/* 80302EE0 002FEB40 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13) -lbl_80302EE4: -/* 80302EE4 002FEB44 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 80302EE8 002FEB48 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 80302EEC 002FEB4C 7C 08 03 A6 */ mtlr r0 -/* 80302EF0 002FEB50 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 80302EF4 002FEB54 4E 80 00 20 */ blr - -.global func_80302EF8 -func_80302EF8: -/* 80302EF8 002FEB58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80302EFC 002FEB5C 7C 08 02 A6 */ mflr r0 -/* 80302F00 002FEB60 90 01 00 14 */ stw r0, 0x14(r1) -/* 80302F04 002FEB64 38 61 00 08 */ addi r3, r1, 8 -/* 80302F08 002FEB68 4B F6 55 B9 */ bl __OSGetIOSRev -/* 80302F0C 002FEB6C 88 01 00 09 */ lbz r0, 9(r1) -/* 80302F10 002FEB70 2C 00 00 00 */ cmpwi r0, 0 -/* 80302F14 002FEB74 40 82 00 40 */ bne lbl_80302F54 -/* 80302F18 002FEB78 88 61 00 0A */ lbz r3, 0xa(r1) -/* 80302F1C 002FEB7C 28 03 00 07 */ cmplwi r3, 7 -/* 80302F20 002FEB80 40 82 00 10 */ bne lbl_80302F30 -/* 80302F24 002FEB84 88 01 00 0B */ lbz r0, 0xb(r1) -/* 80302F28 002FEB88 2C 00 00 00 */ cmpwi r0, 0 -/* 80302F2C 002FEB8C 41 82 00 0C */ beq lbl_80302F38 -lbl_80302F30: -/* 80302F30 002FEB90 28 03 00 07 */ cmplwi r3, 7 -/* 80302F34 002FEB94 40 80 00 20 */ bge lbl_80302F54 -lbl_80302F38: -/* 80302F38 002FEB98 3C 60 80 44 */ lis r3, lbl_80446354@ha -/* 80302F3C 002FEB9C 3C A0 80 44 */ lis r5, lbl_80446364@ha -/* 80302F40 002FEBA0 38 63 63 54 */ addi r3, r3, lbl_80446354@l -/* 80302F44 002FEBA4 38 80 02 9A */ li r4, 0x29a -/* 80302F48 002FEBA8 38 A5 63 64 */ addi r5, r5, lbl_80446364@l -/* 80302F4C 002FEBAC 4C C6 31 82 */ crclr 6 -/* 80302F50 002FEBB0 4B F6 85 4D */ bl OSPanic -lbl_80302F54: -/* 80302F54 002FEBB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80302F58 002FEBB8 80 6D 8C 90 */ lwz r3, lbl_8063DF50-_SDA_BASE_(r13) -/* 80302F5C 002FEBBC 7C 08 03 A6 */ mtlr r0 -/* 80302F60 002FEBC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80302F64 002FEBC4 4E 80 00 20 */ blr - -.global func_80302F68 -func_80302F68: -/* 80302F68 002FEBC8 80 CD AF 88 */ lwz r6, lbl_80640248-_SDA_BASE_(r13) -/* 80302F6C 002FEBCC 80 66 00 00 */ lwz r3, 0(r6) -/* 80302F70 002FEBD0 3C 03 A8 9D */ addis r0, r3, 0xa89d -/* 80302F74 002FEBD4 28 00 43 66 */ cmplwi r0, 0x4366 -/* 80302F78 002FEBD8 41 82 00 0C */ beq lbl_80302F84 -/* 80302F7C 002FEBDC 38 60 FF F2 */ li r3, -14 -/* 80302F80 002FEBE0 4E 80 00 20 */ blr -lbl_80302F84: -/* 80302F84 002FEBE4 38 00 00 1F */ li r0, 0x1f -/* 80302F88 002FEBE8 7C C4 33 78 */ mr r4, r6 -/* 80302F8C 002FEBEC 38 A0 00 00 */ li r5, 0 -/* 80302F90 002FEBF0 7C 09 03 A6 */ mtctr r0 -lbl_80302F94: -/* 80302F94 002FEBF4 80 64 00 00 */ lwz r3, 0(r4) -/* 80302F98 002FEBF8 80 04 00 04 */ lwz r0, 4(r4) -/* 80302F9C 002FEBFC 7C A5 1A 14 */ add r5, r5, r3 -/* 80302FA0 002FEC00 80 64 00 08 */ lwz r3, 8(r4) -/* 80302FA4 002FEC04 7C A5 02 14 */ add r5, r5, r0 -/* 80302FA8 002FEC08 80 04 00 0C */ lwz r0, 0xc(r4) -/* 80302FAC 002FEC0C 7C A5 1A 14 */ add r5, r5, r3 -/* 80302FB0 002FEC10 80 64 00 10 */ lwz r3, 0x10(r4) -/* 80302FB4 002FEC14 7C A5 02 14 */ add r5, r5, r0 -/* 80302FB8 002FEC18 80 04 00 14 */ lwz r0, 0x14(r4) -/* 80302FBC 002FEC1C 7C A5 1A 14 */ add r5, r5, r3 -/* 80302FC0 002FEC20 80 64 00 18 */ lwz r3, 0x18(r4) -/* 80302FC4 002FEC24 7C A5 02 14 */ add r5, r5, r0 -/* 80302FC8 002FEC28 80 04 00 1C */ lwz r0, 0x1c(r4) -/* 80302FCC 002FEC2C 7C A5 1A 14 */ add r5, r5, r3 -/* 80302FD0 002FEC30 38 84 00 20 */ addi r4, r4, 0x20 -/* 80302FD4 002FEC34 7C A5 02 14 */ add r5, r5, r0 -/* 80302FD8 002FEC38 42 00 FF BC */ bdnz lbl_80302F94 -/* 80302FDC 002FEC3C 80 64 00 00 */ lwz r3, 0(r4) -/* 80302FE0 002FEC40 80 04 00 04 */ lwz r0, 4(r4) -/* 80302FE4 002FEC44 7C A5 1A 14 */ add r5, r5, r3 -/* 80302FE8 002FEC48 80 64 00 08 */ lwz r3, 8(r4) -/* 80302FEC 002FEC4C 7C A5 02 14 */ add r5, r5, r0 -/* 80302FF0 002FEC50 80 04 00 0C */ lwz r0, 0xc(r4) -/* 80302FF4 002FEC54 7C A5 1A 14 */ add r5, r5, r3 -/* 80302FF8 002FEC58 80 64 00 10 */ lwz r3, 0x10(r4) -/* 80302FFC 002FEC5C 7C A5 02 14 */ add r5, r5, r0 -/* 80303000 002FEC60 80 04 00 14 */ lwz r0, 0x14(r4) -/* 80303004 002FEC64 7C A5 1A 14 */ add r5, r5, r3 -/* 80303008 002FEC68 80 64 00 18 */ lwz r3, 0x18(r4) -/* 8030300C 002FEC6C 7C A5 02 14 */ add r5, r5, r0 -/* 80303010 002FEC70 80 06 03 FC */ lwz r0, 0x3fc(r6) -/* 80303014 002FEC74 7C A5 1A 14 */ add r5, r5, r3 -/* 80303018 002FEC78 7C 00 28 40 */ cmplw r0, r5 -/* 8030301C 002FEC7C 41 82 00 0C */ beq lbl_80303028 -/* 80303020 002FEC80 38 60 FF F2 */ li r3, -14 -/* 80303024 002FEC84 4E 80 00 20 */ blr -lbl_80303028: -/* 80303028 002FEC88 80 06 00 10 */ lwz r0, 0x10(r6) -/* 8030302C 002FEC8C 28 00 00 20 */ cmplwi r0, 0x20 -/* 80303030 002FEC90 41 80 00 0C */ blt lbl_8030303C -/* 80303034 002FEC94 38 60 FF F2 */ li r3, -14 -/* 80303038 002FEC98 4E 80 00 20 */ blr -lbl_8030303C: -/* 8030303C 002FEC9C 80 06 00 04 */ lwz r0, 4(r6) -/* 80303040 002FECA0 38 60 00 00 */ li r3, 0 -/* 80303044 002FECA4 28 00 00 08 */ cmplwi r0, 8 -/* 80303048 002FECA8 4D 82 00 20 */ beqlr -/* 8030304C 002FECAC 38 60 FF E5 */ li r3, -27 -/* 80303050 002FECB0 4E 80 00 20 */ blr - -.global func_80303054 -func_80303054: -/* 80303054 002FECB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80303058 002FECB8 7C 08 02 A6 */ mflr r0 -/* 8030305C 002FECBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80303060 002FECC0 80 0D AF A0 */ lwz r0, lbl_80640260-_SDA_BASE_(r13) -/* 80303064 002FECC4 2C 00 00 00 */ cmpwi r0, 0 -/* 80303068 002FECC8 40 82 00 14 */ bne lbl_8030307C -/* 8030306C 002FECCC 80 6D 8C A0 */ lwz r3, lbl_8063DF60-_SDA_BASE_(r13) -/* 80303070 002FECD0 4B F6 65 E1 */ bl OSRegisterVersion -/* 80303074 002FECD4 38 00 00 01 */ li r0, 1 -/* 80303078 002FECD8 90 0D AF A0 */ stw r0, lbl_80640260-_SDA_BASE_(r13) -lbl_8030307C: -/* 8030307C 002FECDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80303080 002FECE0 7C 08 03 A6 */ mtlr r0 -/* 80303084 002FECE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80303088 002FECE8 4E 80 00 20 */ blr - -.global func_8030308C -func_8030308C: -/* 8030308C 002FECEC 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13) -/* 80303090 002FECF0 2C 00 00 02 */ cmpwi r0, 2 -/* 80303094 002FECF4 40 82 00 0C */ bne lbl_803030A0 -/* 80303098 002FECF8 38 60 FF E6 */ li r3, -26 -/* 8030309C 002FECFC 4E 80 00 20 */ blr -lbl_803030A0: -/* 803030A0 002FED00 38 80 00 01 */ li r4, 1 -/* 803030A4 002FED04 48 00 00 08 */ b lbl_803030AC -/* 803030A8 002FED08 4E 80 00 20 */ blr -lbl_803030AC: -/* 803030AC 002FED0C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803030B0 002FED10 7C 08 02 A6 */ mflr r0 -/* 803030B4 002FED14 90 01 00 24 */ stw r0, 0x24(r1) -/* 803030B8 002FED18 38 00 00 00 */ li r0, 0 -/* 803030BC 002FED1C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803030C0 002FED20 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803030C4 002FED24 7C 7E 1B 78 */ mr r30, r3 -/* 803030C8 002FED28 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803030CC 002FED2C 7C 9D 23 78 */ mr r29, r4 -/* 803030D0 002FED30 90 0D AF 9C */ stw r0, lbl_8064025C-_SDA_BASE_(r13) -/* 803030D4 002FED34 48 01 73 CD */ bl func_8031A4A0 -/* 803030D8 002FED38 2C 03 00 00 */ cmpwi r3, 0 -/* 803030DC 002FED3C 40 82 00 0C */ bne lbl_803030E8 -/* 803030E0 002FED40 38 60 FF FF */ li r3, -1 -/* 803030E4 002FED44 48 00 01 78 */ b lbl_8030325C -lbl_803030E8: -/* 803030E8 002FED48 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13) -/* 803030EC 002FED4C 2C 00 00 01 */ cmpwi r0, 1 -/* 803030F0 002FED50 40 82 00 0C */ bne lbl_803030FC -/* 803030F4 002FED54 38 60 FF F6 */ li r3, -10 -/* 803030F8 002FED58 48 00 01 64 */ b lbl_8030325C -lbl_803030FC: -/* 803030FC 002FED5C 2C 00 00 03 */ cmpwi r0, 3 -/* 80303100 002FED60 40 82 00 0C */ bne lbl_8030310C -/* 80303104 002FED64 38 60 FF E6 */ li r3, -26 -/* 80303108 002FED68 48 00 01 54 */ b lbl_8030325C -lbl_8030310C: -/* 8030310C 002FED6C 2C 1E 00 00 */ cmpwi r30, 0 -/* 80303110 002FED70 40 82 00 0C */ bne lbl_8030311C -/* 80303114 002FED74 38 60 FF FB */ li r3, -5 -/* 80303118 002FED78 48 00 01 44 */ b lbl_8030325C -lbl_8030311C: -/* 8030311C 002FED7C 57 C0 06 FF */ clrlwi. r0, r30, 0x1b -/* 80303120 002FED80 41 82 00 0C */ beq lbl_8030312C -/* 80303124 002FED84 38 60 FF E9 */ li r3, -23 -/* 80303128 002FED88 48 00 01 34 */ b lbl_8030325C -lbl_8030312C: -/* 8030312C 002FED8C 48 00 0C 85 */ bl func_80303DB0 -/* 80303130 002FED90 2C 03 00 00 */ cmpwi r3, 0 -/* 80303134 002FED94 40 82 00 F8 */ bne lbl_8030322C -/* 80303138 002FED98 80 0D AF A0 */ lwz r0, lbl_80640260-_SDA_BASE_(r13) -/* 8030313C 002FED9C 2C 00 00 00 */ cmpwi r0, 0 -/* 80303140 002FEDA0 40 82 00 14 */ bne lbl_80303154 -/* 80303144 002FEDA4 80 6D 8C A0 */ lwz r3, lbl_8063DF60-_SDA_BASE_(r13) -/* 80303148 002FEDA8 4B F6 65 09 */ bl OSRegisterVersion -/* 8030314C 002FEDAC 38 00 00 01 */ li r0, 1 -/* 80303150 002FEDB0 90 0D AF A0 */ stw r0, lbl_80640260-_SDA_BASE_(r13) -lbl_80303154: -/* 80303154 002FEDB4 80 0D AF 98 */ lwz r0, lbl_80640258-_SDA_BASE_(r13) -/* 80303158 002FEDB8 38 7E 13 00 */ addi r3, r30, 0x1300 -/* 8030315C 002FEDBC 93 CD AF 90 */ stw r30, lbl_80640250-_SDA_BASE_(r13) -/* 80303160 002FEDC0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 80303164 002FEDC4 90 0D AF 98 */ stw r0, lbl_80640258-_SDA_BASE_(r13) -/* 80303168 002FEDC8 48 00 05 AD */ bl func_80303714 -/* 8030316C 002FEDCC 3B C0 00 00 */ li r30, 0 -/* 80303170 002FEDD0 3B E0 00 00 */ li r31, 0 -/* 80303174 002FEDD4 4B FF FA F9 */ bl func_80302C6C -/* 80303178 002FEDD8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030317C 002FEDDC 41 82 00 0C */ beq lbl_80303188 -/* 80303180 002FEDE0 7C 7F 1B 78 */ mr r31, r3 -/* 80303184 002FEDE4 63 DE 00 04 */ ori r30, r30, 4 -lbl_80303188: -/* 80303188 002FEDE8 48 00 02 25 */ bl func_803033AC -/* 8030318C 002FEDEC 2C 03 00 00 */ cmpwi r3, 0 -/* 80303190 002FEDF0 41 82 00 0C */ beq lbl_8030319C -/* 80303194 002FEDF4 7C 7F 1B 78 */ mr r31, r3 -/* 80303198 002FEDF8 63 DE 00 04 */ ori r30, r30, 4 -lbl_8030319C: -/* 8030319C 002FEDFC 48 00 10 CD */ bl func_80304268 -/* 803031A0 002FEE00 2C 03 00 00 */ cmpwi r3, 0 -/* 803031A4 002FEE04 41 82 00 0C */ beq lbl_803031B0 -/* 803031A8 002FEE08 7C 7F 1B 78 */ mr r31, r3 -/* 803031AC 002FEE0C 63 DE 00 04 */ ori r30, r30, 4 -lbl_803031B0: -/* 803031B0 002FEE10 48 00 11 D5 */ bl func_80304384 -/* 803031B4 002FEE14 2C 03 00 00 */ cmpwi r3, 0 -/* 803031B8 002FEE18 41 82 00 1C */ beq lbl_803031D4 -/* 803031BC 002FEE1C 2C 03 FF EC */ cmpwi r3, -20 -/* 803031C0 002FEE20 7C 7F 1B 78 */ mr r31, r3 -/* 803031C4 002FEE24 63 C0 00 01 */ ori r0, r30, 1 -/* 803031C8 002FEE28 40 82 00 08 */ bne lbl_803031D0 -/* 803031CC 002FEE2C 63 C0 00 04 */ ori r0, r30, 4 -lbl_803031D0: -/* 803031D0 002FEE30 7C 1E 03 78 */ mr r30, r0 -lbl_803031D4: -/* 803031D4 002FEE34 48 00 16 1D */ bl func_803047F0 -/* 803031D8 002FEE38 2C 03 00 00 */ cmpwi r3, 0 -/* 803031DC 002FEE3C 40 80 00 1C */ bge lbl_803031F8 -/* 803031E0 002FEE40 2C 03 FF EC */ cmpwi r3, -20 -/* 803031E4 002FEE44 7C 7F 1B 78 */ mr r31, r3 -/* 803031E8 002FEE48 63 C0 00 02 */ ori r0, r30, 2 -/* 803031EC 002FEE4C 40 82 00 08 */ bne lbl_803031F4 -/* 803031F0 002FEE50 63 C0 00 04 */ ori r0, r30, 4 -lbl_803031F4: -/* 803031F4 002FEE54 7C 1E 03 78 */ mr r30, r0 -lbl_803031F8: -/* 803031F8 002FEE58 28 1E 00 03 */ cmplwi r30, 3 -/* 803031FC 002FEE5C 40 82 00 08 */ bne lbl_80303204 -/* 80303200 002FEE60 3B E0 FF CF */ li r31, -49 -lbl_80303204: -/* 80303204 002FEE64 2C 1E 00 00 */ cmpwi r30, 0 -/* 80303208 002FEE68 41 82 00 18 */ beq lbl_80303220 -/* 8030320C 002FEE6C 38 00 00 00 */ li r0, 0 -/* 80303210 002FEE70 90 0D AF 90 */ stw r0, lbl_80640250-_SDA_BASE_(r13) -/* 80303214 002FEE74 48 00 0C 7D */ bl func_80303E90 -/* 80303218 002FEE78 7F E3 FB 78 */ mr r3, r31 -/* 8030321C 002FEE7C 48 00 00 10 */ b lbl_8030322C -lbl_80303220: -/* 80303220 002FEE80 93 AD AF 94 */ stw r29, lbl_80640254-_SDA_BASE_(r13) -/* 80303224 002FEE84 38 60 00 00 */ li r3, 0 -/* 80303228 002FEE88 48 00 00 34 */ b lbl_8030325C -lbl_8030322C: -/* 8030322C 002FEE8C 38 03 00 31 */ addi r0, r3, 0x31 -/* 80303230 002FEE90 28 00 00 30 */ cmplwi r0, 0x30 -/* 80303234 002FEE94 41 81 00 28 */ bgt lbl_8030325C -/* 80303238 002FEE98 3C 80 80 44 */ lis r4, lbl_804463BC@ha -/* 8030323C 002FEE9C 54 00 10 3A */ slwi r0, r0, 2 -/* 80303240 002FEEA0 38 84 63 BC */ addi r4, r4, lbl_804463BC@l -/* 80303244 002FEEA4 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80303248 002FEEA8 7C 89 03 A6 */ mtctr r4 -/* 8030324C 002FEEAC 4E 80 04 20 */ bctr -/* 80303250 002FEEB0 3C 83 FF FE */ addis r4, r3, 0xfffe -/* 80303254 002FEEB4 38 04 56 38 */ addi r0, r4, 0x5638 -/* 80303258 002FEEB8 90 0D AF 9C */ stw r0, lbl_8064025C-_SDA_BASE_(r13) -lbl_8030325C: -/* 8030325C 002FEEBC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80303260 002FEEC0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80303264 002FEEC4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80303268 002FEEC8 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8030326C 002FEECC 7C 08 03 A6 */ mtlr r0 -/* 80303270 002FEED0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80303274 002FEED4 4E 80 00 20 */ blr - -.global func_80303278 -func_80303278: -/* 80303278 002FEED8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030327C 002FEEDC 7C 08 02 A6 */ mflr r0 -/* 80303280 002FEEE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80303284 002FEEE4 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13) -/* 80303288 002FEEE8 2C 00 00 01 */ cmpwi r0, 1 -/* 8030328C 002FEEEC 41 82 00 0C */ beq lbl_80303298 -/* 80303290 002FEEF0 38 60 FF F7 */ li r3, -9 -/* 80303294 002FEEF4 48 00 00 40 */ b lbl_803032D4 -lbl_80303298: -/* 80303298 002FEEF8 4B FF FA E1 */ bl func_80302D78 -/* 8030329C 002FEEFC 2C 03 00 00 */ cmpwi r3, 0 -/* 803032A0 002FEF00 41 82 00 08 */ beq lbl_803032A8 -/* 803032A4 002FEF04 48 00 00 30 */ b lbl_803032D4 -lbl_803032A8: -/* 803032A8 002FEF08 48 00 15 95 */ bl func_8030483C -/* 803032AC 002FEF0C 2C 03 00 00 */ cmpwi r3, 0 -/* 803032B0 002FEF10 40 80 00 08 */ bge lbl_803032B8 -/* 803032B4 002FEF14 48 00 00 20 */ b lbl_803032D4 -lbl_803032B8: -/* 803032B8 002FEF18 48 00 0B D9 */ bl func_80303E90 -/* 803032BC 002FEF1C 2C 03 00 00 */ cmpwi r3, 0 -/* 803032C0 002FEF20 41 82 00 08 */ beq lbl_803032C8 -/* 803032C4 002FEF24 48 00 00 10 */ b lbl_803032D4 -lbl_803032C8: -/* 803032C8 002FEF28 38 00 00 00 */ li r0, 0 -/* 803032CC 002FEF2C 90 0D AF 90 */ stw r0, lbl_80640250-_SDA_BASE_(r13) -/* 803032D0 002FEF30 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13) -lbl_803032D4: -/* 803032D4 002FEF34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803032D8 002FEF38 7C 08 03 A6 */ mtlr r0 -/* 803032DC 002FEF3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 803032E0 002FEF40 4E 80 00 20 */ blr - -.global func_803032E4 -func_803032E4: -/* 803032E4 002FEF44 80 6D AF 94 */ lwz r3, lbl_80640254-_SDA_BASE_(r13) -/* 803032E8 002FEF48 38 03 FF FF */ addi r0, r3, -1 -/* 803032EC 002FEF4C 7C 00 00 34 */ cntlzw r0, r0 -/* 803032F0 002FEF50 54 03 D9 7E */ srwi r3, r0, 5 -/* 803032F4 002FEF54 4E 80 00 20 */ blr - -.global func_803032F8 -func_803032F8: -/* 803032F8 002FEF58 80 6D AF 94 */ lwz r3, lbl_80640254-_SDA_BASE_(r13) -/* 803032FC 002FEF5C 38 03 FF FE */ addi r0, r3, -2 -/* 80303300 002FEF60 7C 00 00 34 */ cntlzw r0, r0 -/* 80303304 002FEF64 54 03 D9 7E */ srwi r3, r0, 5 -/* 80303308 002FEF68 4E 80 00 20 */ blr - -.global func_8030330C -func_8030330C: -/* 8030330C 002FEF6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80303310 002FEF70 7C 08 02 A6 */ mflr r0 -/* 80303314 002FEF74 90 01 00 14 */ stw r0, 0x14(r1) -/* 80303318 002FEF78 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030331C 002FEF7C 3B E0 00 00 */ li r31, 0 -/* 80303320 002FEF80 93 C1 00 08 */ stw r30, 8(r1) -/* 80303324 002FEF84 7C 7E 1B 78 */ mr r30, r3 -/* 80303328 002FEF88 4B F6 B4 35 */ bl OSDisableInterrupts -/* 8030332C 002FEF8C 2C 1E 00 00 */ cmpwi r30, 0 -/* 80303330 002FEF90 41 82 00 34 */ beq lbl_80303364 -/* 80303334 002FEF94 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13) -/* 80303338 002FEF98 2C 00 00 00 */ cmpwi r0, 0 -/* 8030333C 002FEF9C 40 82 00 10 */ bne lbl_8030334C -/* 80303340 002FEFA0 38 00 00 03 */ li r0, 3 -/* 80303344 002FEFA4 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13) -/* 80303348 002FEFA8 48 00 00 44 */ b lbl_8030338C -lbl_8030334C: -/* 8030334C 002FEFAC 2C 00 00 01 */ cmpwi r0, 1 -/* 80303350 002FEFB0 40 82 00 0C */ bne lbl_8030335C -/* 80303354 002FEFB4 3B E0 FF F6 */ li r31, -10 -/* 80303358 002FEFB8 48 00 00 34 */ b lbl_8030338C -lbl_8030335C: -/* 8030335C 002FEFBC 3B E0 FF E6 */ li r31, -26 -/* 80303360 002FEFC0 48 00 00 2C */ b lbl_8030338C -lbl_80303364: -/* 80303364 002FEFC4 80 8D AF 94 */ lwz r4, lbl_80640254-_SDA_BASE_(r13) -/* 80303368 002FEFC8 38 04 FF FD */ addi r0, r4, -3 -/* 8030336C 002FEFCC 7C 00 00 34 */ cntlzw r0, r0 -/* 80303370 002FEFD0 54 04 D9 7F */ rlwinm. r4, r0, 0x1b, 5, 0x1f -/* 80303374 002FEFD4 41 82 00 0C */ beq lbl_80303380 -/* 80303378 002FEFD8 38 00 00 00 */ li r0, 0 -/* 8030337C 002FEFDC 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13) -lbl_80303380: -/* 80303380 002FEFE0 2C 04 00 00 */ cmpwi r4, 0 -/* 80303384 002FEFE4 40 82 00 08 */ bne lbl_8030338C -/* 80303388 002FEFE8 3B E0 FF F7 */ li r31, -9 -lbl_8030338C: -/* 8030338C 002FEFEC 4B F6 B3 F9 */ bl OSRestoreInterrupts -/* 80303390 002FEFF0 7F E3 FB 78 */ mr r3, r31 -/* 80303394 002FEFF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80303398 002FEFF8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8030339C 002FEFFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803033A0 002FF000 7C 08 03 A6 */ mtlr r0 -/* 803033A4 002FF004 38 21 00 10 */ addi r1, r1, 0x10 -/* 803033A8 002FF008 4E 80 00 20 */ blr - -.global func_803033AC -func_803033AC: -/* 803033AC 002FF00C 94 21 FE B0 */ stwu r1, -0x150(r1) -/* 803033B0 002FF010 7C 08 02 A6 */ mflr r0 -/* 803033B4 002FF014 38 80 00 00 */ li r4, 0 -/* 803033B8 002FF018 38 A0 00 80 */ li r5, 0x80 -/* 803033BC 002FF01C 90 01 01 54 */ stw r0, 0x154(r1) -/* 803033C0 002FF020 93 E1 01 4C */ stw r31, 0x14c(r1) -/* 803033C4 002FF024 93 C1 01 48 */ stw r30, 0x148(r1) -/* 803033C8 002FF028 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 803033CC 002FF02C 3B C3 08 00 */ addi r30, r3, 0x800 -/* 803033D0 002FF030 38 63 11 00 */ addi r3, r3, 0x1100 -/* 803033D4 002FF034 4B FF DC 41 */ bl func_80301014 -/* 803033D8 002FF038 38 81 00 08 */ addi r4, r1, 8 -/* 803033DC 002FF03C 38 60 00 00 */ li r3, 0 -/* 803033E0 002FF040 48 00 01 61 */ bl func_80303540 -/* 803033E4 002FF044 2C 03 00 00 */ cmpwi r3, 0 -/* 803033E8 002FF048 41 82 00 08 */ beq lbl_803033F0 -/* 803033EC 002FF04C 48 00 01 3C */ b lbl_80303528 -lbl_803033F0: -/* 803033F0 002FF050 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 803033F4 002FF054 38 80 00 00 */ li r4, 0 -/* 803033F8 002FF058 38 A0 00 80 */ li r5, 0x80 -/* 803033FC 002FF05C 38 63 11 80 */ addi r3, r3, 0x1180 -/* 80303400 002FF060 4B FF DC 15 */ bl func_80301014 -/* 80303404 002FF064 38 81 00 08 */ addi r4, r1, 8 -/* 80303408 002FF068 38 60 00 01 */ li r3, 1 -/* 8030340C 002FF06C 48 00 01 35 */ bl func_80303540 -/* 80303410 002FF070 2C 03 00 00 */ cmpwi r3, 0 -/* 80303414 002FF074 41 82 00 08 */ beq lbl_8030341C -/* 80303418 002FF078 48 00 01 10 */ b lbl_80303528 -lbl_8030341C: -/* 8030341C 002FF07C 4B FF FA DD */ bl func_80302EF8 -/* 80303420 002FF080 7C 7F 1B 78 */ mr r31, r3 -/* 80303424 002FF084 38 80 00 40 */ li r4, 0x40 -/* 80303428 002FF088 4B FF DB BD */ bl func_80300FE4 -/* 8030342C 002FF08C 38 03 00 0E */ addi r0, r3, 0xe -/* 80303430 002FF090 2C 00 01 00 */ cmpwi r0, 0x100 -/* 80303434 002FF094 40 81 00 0C */ ble lbl_80303440 -/* 80303438 002FF098 38 60 FF F5 */ li r3, -11 -/* 8030343C 002FF09C 48 00 00 24 */ b lbl_80303460 -lbl_80303440: -/* 80303440 002FF0A0 3C C0 80 44 */ lis r6, lbl_804464A0@ha -/* 80303444 002FF0A4 7F C3 F3 78 */ mr r3, r30 -/* 80303448 002FF0A8 7F E5 FB 78 */ mr r5, r31 -/* 8030344C 002FF0AC 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_ -/* 80303450 002FF0B0 38 C6 64 A0 */ addi r6, r6, lbl_804464A0@l -/* 80303454 002FF0B4 4C C6 31 82 */ crclr 6 -/* 80303458 002FF0B8 4B FF E1 A5 */ bl func_803015FC -/* 8030345C 002FF0BC 38 60 00 00 */ li r3, 0 -lbl_80303460: -/* 80303460 002FF0C0 2C 03 00 00 */ cmpwi r3, 0 -/* 80303464 002FF0C4 41 82 00 08 */ beq lbl_8030346C -/* 80303468 002FF0C8 48 00 00 C0 */ b lbl_80303528 -lbl_8030346C: -/* 8030346C 002FF0CC 7F C4 F3 78 */ mr r4, r30 -/* 80303470 002FF0D0 38 61 00 A8 */ addi r3, r1, 0xa8 -/* 80303474 002FF0D4 38 A0 00 02 */ li r5, 2 -/* 80303478 002FF0D8 4B FF E6 D1 */ bl func_80301B48 -/* 8030347C 002FF0DC 2C 03 00 00 */ cmpwi r3, 0 -/* 80303480 002FF0E0 40 82 00 0C */ bne lbl_8030348C -/* 80303484 002FF0E4 38 61 00 A8 */ addi r3, r1, 0xa8 -/* 80303488 002FF0E8 4B FF EA 11 */ bl func_80301E98 -lbl_8030348C: -/* 8030348C 002FF0EC 2C 03 00 00 */ cmpwi r3, 0 -/* 80303490 002FF0F0 41 82 00 08 */ beq lbl_80303498 -/* 80303494 002FF0F4 48 00 00 94 */ b lbl_80303528 -lbl_80303498: -/* 80303498 002FF0F8 4B FF FA 61 */ bl func_80302EF8 -/* 8030349C 002FF0FC 7C 7F 1B 78 */ mr r31, r3 -/* 803034A0 002FF100 38 80 00 40 */ li r4, 0x40 -/* 803034A4 002FF104 4B FF DB 41 */ bl func_80300FE4 -/* 803034A8 002FF108 38 03 00 0E */ addi r0, r3, 0xe -/* 803034AC 002FF10C 2C 00 01 00 */ cmpwi r0, 0x100 -/* 803034B0 002FF110 40 81 00 0C */ ble lbl_803034BC -/* 803034B4 002FF114 38 60 FF F5 */ li r3, -11 -/* 803034B8 002FF118 48 00 00 24 */ b lbl_803034DC -lbl_803034BC: -/* 803034BC 002FF11C 3C C0 80 44 */ lis r6, lbl_804464B0@ha -/* 803034C0 002FF120 7F C3 F3 78 */ mr r3, r30 -/* 803034C4 002FF124 7F E5 FB 78 */ mr r5, r31 -/* 803034C8 002FF128 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_ -/* 803034CC 002FF12C 38 C6 64 B0 */ addi r6, r6, lbl_804464B0@l -/* 803034D0 002FF130 4C C6 31 82 */ crclr 6 -/* 803034D4 002FF134 4B FF E1 29 */ bl func_803015FC -/* 803034D8 002FF138 38 60 00 00 */ li r3, 0 -lbl_803034DC: -/* 803034DC 002FF13C 2C 03 00 00 */ cmpwi r3, 0 -/* 803034E0 002FF140 41 82 00 08 */ beq lbl_803034E8 -/* 803034E4 002FF144 48 00 00 44 */ b lbl_80303528 -lbl_803034E8: -/* 803034E8 002FF148 7F C4 F3 78 */ mr r4, r30 -/* 803034EC 002FF14C 38 61 00 0C */ addi r3, r1, 0xc -/* 803034F0 002FF150 38 A0 00 02 */ li r5, 2 -/* 803034F4 002FF154 4B FF E6 55 */ bl func_80301B48 -/* 803034F8 002FF158 2C 03 00 00 */ cmpwi r3, 0 -/* 803034FC 002FF15C 40 82 00 0C */ bne lbl_80303508 -/* 80303500 002FF160 38 61 00 0C */ addi r3, r1, 0xc -/* 80303504 002FF164 4B FF E9 95 */ bl func_80301E98 -lbl_80303508: -/* 80303508 002FF168 2C 03 00 00 */ cmpwi r3, 0 -/* 8030350C 002FF16C 41 82 00 08 */ beq lbl_80303514 -/* 80303510 002FF170 48 00 00 18 */ b lbl_80303528 -lbl_80303514: -/* 80303514 002FF174 38 00 00 00 */ li r0, 0 -/* 80303518 002FF178 38 8D AF A8 */ addi r4, r13, lbl_80640268-_SDA_BASE_ -/* 8030351C 002FF17C 90 0D AF A8 */ stw r0, lbl_80640268-_SDA_BASE_(r13) -/* 80303520 002FF180 38 60 00 00 */ li r3, 0 -/* 80303524 002FF184 90 04 00 04 */ stw r0, 4(r4) -lbl_80303528: -/* 80303528 002FF188 80 01 01 54 */ lwz r0, 0x154(r1) -/* 8030352C 002FF18C 83 E1 01 4C */ lwz r31, 0x14c(r1) -/* 80303530 002FF190 83 C1 01 48 */ lwz r30, 0x148(r1) -/* 80303534 002FF194 7C 08 03 A6 */ mtlr r0 -/* 80303538 002FF198 38 21 01 50 */ addi r1, r1, 0x150 -/* 8030353C 002FF19C 4E 80 00 20 */ blr - -.global func_80303540 -func_80303540: -/* 80303540 002FF1A0 94 21 FF 40 */ stwu r1, -0xc0(r1) -/* 80303544 002FF1A4 7C 08 02 A6 */ mflr r0 -/* 80303548 002FF1A8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030354C 002FF1AC 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 80303550 002FF1B0 93 E1 00 BC */ stw r31, 0xbc(r1) -/* 80303554 002FF1B4 3B E0 00 00 */ li r31, 0 -/* 80303558 002FF1B8 93 C1 00 B8 */ stw r30, 0xb8(r1) -/* 8030355C 002FF1BC 93 A1 00 B4 */ stw r29, 0xb4(r1) -/* 80303560 002FF1C0 7C 9D 23 78 */ mr r29, r4 -/* 80303564 002FF1C4 93 81 00 B0 */ stw r28, 0xb0(r1) -/* 80303568 002FF1C8 7C 7C 1B 78 */ mr r28, r3 -/* 8030356C 002FF1CC 40 82 00 14 */ bne lbl_80303580 -/* 80303570 002FF1D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80303574 002FF1D4 38 03 11 00 */ addi r0, r3, 0x1100 -/* 80303578 002FF1D8 90 04 00 00 */ stw r0, 0(r4) -/* 8030357C 002FF1DC 48 00 00 2C */ b lbl_803035A8 -lbl_80303580: -/* 80303580 002FF1E0 2C 03 00 01 */ cmpwi r3, 1 -/* 80303584 002FF1E4 40 82 00 14 */ bne lbl_80303598 -/* 80303588 002FF1E8 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 8030358C 002FF1EC 38 03 11 80 */ addi r0, r3, 0x1180 -/* 80303590 002FF1F0 90 04 00 00 */ stw r0, 0(r4) -/* 80303594 002FF1F4 48 00 00 14 */ b lbl_803035A8 -lbl_80303598: -/* 80303598 002FF1F8 38 00 00 00 */ li r0, 0 -/* 8030359C 002FF1FC 38 60 FF FD */ li r3, -3 -/* 803035A0 002FF200 90 04 00 00 */ stw r0, 0(r4) -/* 803035A4 002FF204 48 00 01 50 */ b lbl_803036F4 -lbl_803035A8: -/* 803035A8 002FF208 80 64 00 00 */ lwz r3, 0(r4) -/* 803035AC 002FF20C 80 63 00 00 */ lwz r3, 0(r3) -/* 803035B0 002FF210 3C 03 A8 9D */ addis r0, r3, 0xa89d -/* 803035B4 002FF214 28 00 54 66 */ cmplwi r0, 0x5466 -/* 803035B8 002FF218 41 82 01 24 */ beq lbl_803036DC -/* 803035BC 002FF21C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 803035C0 002FF220 3B C3 08 00 */ addi r30, r3, 0x800 -/* 803035C4 002FF224 4B FF F9 35 */ bl func_80302EF8 -/* 803035C8 002FF228 7C 7F 1B 78 */ mr r31, r3 -/* 803035CC 002FF22C 38 80 00 40 */ li r4, 0x40 -/* 803035D0 002FF230 4B FF DA 15 */ bl func_80300FE4 -/* 803035D4 002FF234 38 03 00 0E */ addi r0, r3, 0xe -/* 803035D8 002FF238 2C 00 01 00 */ cmpwi r0, 0x100 -/* 803035DC 002FF23C 40 81 00 0C */ ble lbl_803035E8 -/* 803035E0 002FF240 38 60 FF F5 */ li r3, -11 -/* 803035E4 002FF244 48 00 00 68 */ b lbl_8030364C -lbl_803035E8: -/* 803035E8 002FF248 2C 1C 00 01 */ cmpwi r28, 1 -/* 803035EC 002FF24C 41 82 00 34 */ beq lbl_80303620 -/* 803035F0 002FF250 40 80 00 50 */ bge lbl_80303640 -/* 803035F4 002FF254 2C 1C 00 00 */ cmpwi r28, 0 -/* 803035F8 002FF258 40 80 00 08 */ bge lbl_80303600 -/* 803035FC 002FF25C 48 00 00 44 */ b lbl_80303640 -lbl_80303600: -/* 80303600 002FF260 3C C0 80 44 */ lis r6, lbl_80446480@ha -/* 80303604 002FF264 7F C3 F3 78 */ mr r3, r30 -/* 80303608 002FF268 7F E5 FB 78 */ mr r5, r31 -/* 8030360C 002FF26C 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_ -/* 80303610 002FF270 38 C6 64 80 */ addi r6, r6, lbl_80446480@l -/* 80303614 002FF274 4C C6 31 82 */ crclr 6 -/* 80303618 002FF278 4B FF DF E5 */ bl func_803015FC -/* 8030361C 002FF27C 48 00 00 2C */ b lbl_80303648 -lbl_80303620: -/* 80303620 002FF280 3C C0 80 44 */ lis r6, lbl_80446490@ha -/* 80303624 002FF284 7F C3 F3 78 */ mr r3, r30 -/* 80303628 002FF288 7F E5 FB 78 */ mr r5, r31 -/* 8030362C 002FF28C 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_ -/* 80303630 002FF290 38 C6 64 90 */ addi r6, r6, lbl_80446490@l -/* 80303634 002FF294 4C C6 31 82 */ crclr 6 -/* 80303638 002FF298 4B FF DF C5 */ bl func_803015FC -/* 8030363C 002FF29C 48 00 00 0C */ b lbl_80303648 -lbl_80303640: -/* 80303640 002FF2A0 38 60 FF FD */ li r3, -3 -/* 80303644 002FF2A4 48 00 00 08 */ b lbl_8030364C -lbl_80303648: -/* 80303648 002FF2A8 38 60 00 00 */ li r3, 0 -lbl_8030364C: -/* 8030364C 002FF2AC 2C 03 00 00 */ cmpwi r3, 0 -/* 80303650 002FF2B0 41 82 00 08 */ beq lbl_80303658 -/* 80303654 002FF2B4 48 00 00 A0 */ b lbl_803036F4 -lbl_80303658: -/* 80303658 002FF2B8 7F C4 F3 78 */ mr r4, r30 -/* 8030365C 002FF2BC 38 61 00 08 */ addi r3, r1, 8 -/* 80303660 002FF2C0 38 A0 00 02 */ li r5, 2 -/* 80303664 002FF2C4 4B FF E4 E5 */ bl func_80301B48 -/* 80303668 002FF2C8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030366C 002FF2CC 41 82 00 08 */ beq lbl_80303674 -/* 80303670 002FF2D0 48 00 00 84 */ b lbl_803036F4 -lbl_80303674: -/* 80303674 002FF2D4 83 FD 00 00 */ lwz r31, 0(r29) -/* 80303678 002FF2D8 38 61 00 08 */ addi r3, r1, 8 -/* 8030367C 002FF2DC 38 80 00 00 */ li r4, 0 -/* 80303680 002FF2E0 38 A0 00 00 */ li r5, 0 -/* 80303684 002FF2E4 4B FF E9 A9 */ bl func_8030202C -/* 80303688 002FF2E8 7F E3 FB 78 */ mr r3, r31 -/* 8030368C 002FF2EC 38 A1 00 08 */ addi r5, r1, 8 -/* 80303690 002FF2F0 38 80 00 80 */ li r4, 0x80 -/* 80303694 002FF2F4 4B FF EB 85 */ bl func_80302218 -/* 80303698 002FF2F8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030369C 002FF2FC 41 82 00 0C */ beq lbl_803036A8 -/* 803036A0 002FF300 7C 7F 1B 78 */ mr r31, r3 -/* 803036A4 002FF304 48 00 00 1C */ b lbl_803036C0 -lbl_803036A8: -/* 803036A8 002FF308 80 7F 00 00 */ lwz r3, 0(r31) -/* 803036AC 002FF30C 3B E0 00 00 */ li r31, 0 -/* 803036B0 002FF310 3C 03 A8 9D */ addis r0, r3, 0xa89d -/* 803036B4 002FF314 28 00 54 66 */ cmplwi r0, 0x5466 -/* 803036B8 002FF318 41 82 00 08 */ beq lbl_803036C0 -/* 803036BC 002FF31C 3B E0 FF F2 */ li r31, -14 -lbl_803036C0: -/* 803036C0 002FF320 38 61 00 08 */ addi r3, r1, 8 -/* 803036C4 002FF324 4B FF E7 D5 */ bl func_80301E98 -/* 803036C8 002FF328 2C 1F 00 00 */ cmpwi r31, 0 -/* 803036CC 002FF32C 40 82 00 10 */ bne lbl_803036DC -/* 803036D0 002FF330 2C 03 00 00 */ cmpwi r3, 0 -/* 803036D4 002FF334 41 82 00 08 */ beq lbl_803036DC -/* 803036D8 002FF338 7C 7F 1B 78 */ mr r31, r3 -lbl_803036DC: -/* 803036DC 002FF33C 80 7D 00 00 */ lwz r3, 0(r29) -/* 803036E0 002FF340 80 03 00 04 */ lwz r0, 4(r3) -/* 803036E4 002FF344 28 00 00 04 */ cmplwi r0, 4 -/* 803036E8 002FF348 41 82 00 08 */ beq lbl_803036F0 -/* 803036EC 002FF34C 3B E0 FF E5 */ li r31, -27 -lbl_803036F0: -/* 803036F0 002FF350 7F E3 FB 78 */ mr r3, r31 -lbl_803036F4: -/* 803036F4 002FF354 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 803036F8 002FF358 83 E1 00 BC */ lwz r31, 0xbc(r1) -/* 803036FC 002FF35C 83 C1 00 B8 */ lwz r30, 0xb8(r1) -/* 80303700 002FF360 83 A1 00 B4 */ lwz r29, 0xb4(r1) -/* 80303704 002FF364 83 81 00 B0 */ lwz r28, 0xb0(r1) -/* 80303708 002FF368 7C 08 03 A6 */ mtlr r0 -/* 8030370C 002FF36C 38 21 00 C0 */ addi r1, r1, 0xc0 -/* 80303710 002FF370 4E 80 00 20 */ blr - -.global func_80303714 -func_80303714: -/* 80303714 002FF374 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80303718 002FF378 7C 08 02 A6 */ mflr r0 -/* 8030371C 002FF37C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80303720 002FF380 39 61 00 30 */ addi r11, r1, 0x30 -/* 80303724 002FF384 4B EC 39 FD */ bl _savegpr_25 -/* 80303728 002FF388 38 00 00 08 */ li r0, 8 -/* 8030372C 002FF38C 38 C0 00 00 */ li r6, 0 -/* 80303730 002FF390 38 80 FF FF */ li r4, -1 -/* 80303734 002FF394 7C 09 03 A6 */ mtctr r0 -lbl_80303738: -/* 80303738 002FF398 7C 83 31 AE */ stbx r4, r3, r6 -/* 8030373C 002FF39C 7C A3 32 14 */ add r5, r3, r6 -/* 80303740 002FF3A0 38 C6 00 08 */ addi r6, r6, 8 -/* 80303744 002FF3A4 98 85 00 01 */ stb r4, 1(r5) -/* 80303748 002FF3A8 98 85 00 02 */ stb r4, 2(r5) -/* 8030374C 002FF3AC 98 85 00 03 */ stb r4, 3(r5) -/* 80303750 002FF3B0 98 85 00 04 */ stb r4, 4(r5) -/* 80303754 002FF3B4 98 85 00 05 */ stb r4, 5(r5) -/* 80303758 002FF3B8 98 85 00 06 */ stb r4, 6(r5) -/* 8030375C 002FF3BC 98 85 00 07 */ stb r4, 7(r5) -/* 80303760 002FF3C0 7C A3 32 14 */ add r5, r3, r6 -/* 80303764 002FF3C4 7C 83 31 AE */ stbx r4, r3, r6 -/* 80303768 002FF3C8 38 C6 00 08 */ addi r6, r6, 8 -/* 8030376C 002FF3CC 98 85 00 01 */ stb r4, 1(r5) -/* 80303770 002FF3D0 98 85 00 02 */ stb r4, 2(r5) -/* 80303774 002FF3D4 98 85 00 03 */ stb r4, 3(r5) -/* 80303778 002FF3D8 98 85 00 04 */ stb r4, 4(r5) -/* 8030377C 002FF3DC 98 85 00 05 */ stb r4, 5(r5) -/* 80303780 002FF3E0 98 85 00 06 */ stb r4, 6(r5) -/* 80303784 002FF3E4 98 85 00 07 */ stb r4, 7(r5) -/* 80303788 002FF3E8 7C A3 32 14 */ add r5, r3, r6 -/* 8030378C 002FF3EC 7C 83 31 AE */ stbx r4, r3, r6 -/* 80303790 002FF3F0 38 C6 00 08 */ addi r6, r6, 8 -/* 80303794 002FF3F4 98 85 00 01 */ stb r4, 1(r5) -/* 80303798 002FF3F8 98 85 00 02 */ stb r4, 2(r5) -/* 8030379C 002FF3FC 98 85 00 03 */ stb r4, 3(r5) -/* 803037A0 002FF400 98 85 00 04 */ stb r4, 4(r5) -/* 803037A4 002FF404 98 85 00 05 */ stb r4, 5(r5) -/* 803037A8 002FF408 98 85 00 06 */ stb r4, 6(r5) -/* 803037AC 002FF40C 98 85 00 07 */ stb r4, 7(r5) -/* 803037B0 002FF410 7C A3 32 14 */ add r5, r3, r6 -/* 803037B4 002FF414 7C 83 31 AE */ stbx r4, r3, r6 -/* 803037B8 002FF418 38 C6 00 08 */ addi r6, r6, 8 -/* 803037BC 002FF41C 98 85 00 01 */ stb r4, 1(r5) -/* 803037C0 002FF420 98 85 00 02 */ stb r4, 2(r5) -/* 803037C4 002FF424 98 85 00 03 */ stb r4, 3(r5) -/* 803037C8 002FF428 98 85 00 04 */ stb r4, 4(r5) -/* 803037CC 002FF42C 98 85 00 05 */ stb r4, 5(r5) -/* 803037D0 002FF430 98 85 00 06 */ stb r4, 6(r5) -/* 803037D4 002FF434 98 85 00 07 */ stb r4, 7(r5) -/* 803037D8 002FF438 42 00 FF 60 */ bdnz lbl_80303738 -/* 803037DC 002FF43C 39 80 00 00 */ li r12, 0 -/* 803037E0 002FF440 39 60 00 01 */ li r11, 1 -/* 803037E4 002FF444 99 83 00 41 */ stb r12, 0x41(r3) -/* 803037E8 002FF448 39 40 00 02 */ li r10, 2 -/* 803037EC 002FF44C 39 20 00 03 */ li r9, 3 -/* 803037F0 002FF450 39 00 00 04 */ li r8, 4 -/* 803037F4 002FF454 99 63 00 42 */ stb r11, 0x42(r3) -/* 803037F8 002FF458 38 E0 00 05 */ li r7, 5 -/* 803037FC 002FF45C 38 C0 00 06 */ li r6, 6 -/* 80303800 002FF460 38 A0 00 07 */ li r5, 7 -/* 80303804 002FF464 99 43 00 43 */ stb r10, 0x43(r3) -/* 80303808 002FF468 39 80 00 08 */ li r12, 8 -/* 8030380C 002FF46C 39 60 00 09 */ li r11, 9 -/* 80303810 002FF470 39 40 00 0A */ li r10, 0xa -/* 80303814 002FF474 99 23 00 44 */ stb r9, 0x44(r3) -/* 80303818 002FF478 39 20 00 0B */ li r9, 0xb -/* 8030381C 002FF47C 38 80 00 18 */ li r4, 0x18 -/* 80303820 002FF480 38 00 00 19 */ li r0, 0x19 -/* 80303824 002FF484 99 03 00 45 */ stb r8, 0x45(r3) -/* 80303828 002FF488 39 00 00 0C */ li r8, 0xc -/* 8030382C 002FF48C 98 E3 00 46 */ stb r7, 0x46(r3) -/* 80303830 002FF490 38 E0 00 0D */ li r7, 0xd -/* 80303834 002FF494 98 C3 00 47 */ stb r6, 0x47(r3) -/* 80303838 002FF498 38 C0 00 0E */ li r6, 0xe -/* 8030383C 002FF49C 98 A3 00 48 */ stb r5, 0x48(r3) -/* 80303840 002FF4A0 38 A0 00 0F */ li r5, 0xf -/* 80303844 002FF4A4 99 83 00 49 */ stb r12, 0x49(r3) -/* 80303848 002FF4A8 39 80 00 10 */ li r12, 0x10 -/* 8030384C 002FF4AC 99 63 00 4A */ stb r11, 0x4a(r3) -/* 80303850 002FF4B0 39 60 00 11 */ li r11, 0x11 -/* 80303854 002FF4B4 99 43 00 4B */ stb r10, 0x4b(r3) -/* 80303858 002FF4B8 39 40 00 12 */ li r10, 0x12 -/* 8030385C 002FF4BC 99 23 00 4C */ stb r9, 0x4c(r3) -/* 80303860 002FF4C0 39 20 00 13 */ li r9, 0x13 -/* 80303864 002FF4C4 99 03 00 4D */ stb r8, 0x4d(r3) -/* 80303868 002FF4C8 39 00 00 14 */ li r8, 0x14 -/* 8030386C 002FF4CC 98 E3 00 4E */ stb r7, 0x4e(r3) -/* 80303870 002FF4D0 38 E0 00 15 */ li r7, 0x15 -/* 80303874 002FF4D4 98 C3 00 4F */ stb r6, 0x4f(r3) -/* 80303878 002FF4D8 38 C0 00 16 */ li r6, 0x16 -/* 8030387C 002FF4DC 98 A3 00 50 */ stb r5, 0x50(r3) -/* 80303880 002FF4E0 38 A0 00 17 */ li r5, 0x17 -/* 80303884 002FF4E4 99 83 00 51 */ stb r12, 0x51(r3) -/* 80303888 002FF4E8 99 63 00 52 */ stb r11, 0x52(r3) -/* 8030388C 002FF4EC 99 43 00 53 */ stb r10, 0x53(r3) -/* 80303890 002FF4F0 99 23 00 54 */ stb r9, 0x54(r3) -/* 80303894 002FF4F4 99 03 00 55 */ stb r8, 0x55(r3) -/* 80303898 002FF4F8 98 E3 00 56 */ stb r7, 0x56(r3) -/* 8030389C 002FF4FC 98 C3 00 57 */ stb r6, 0x57(r3) -/* 803038A0 002FF500 98 A3 00 58 */ stb r5, 0x58(r3) -/* 803038A4 002FF504 98 83 00 59 */ stb r4, 0x59(r3) -/* 803038A8 002FF508 98 03 00 5A */ stb r0, 0x5a(r3) -/* 803038AC 002FF50C 3B 20 00 1A */ li r25, 0x1a -/* 803038B0 002FF510 3B 40 00 1B */ li r26, 0x1b -/* 803038B4 002FF514 9B 23 00 61 */ stb r25, 0x61(r3) -/* 803038B8 002FF518 3B 60 00 1C */ li r27, 0x1c -/* 803038BC 002FF51C 3B 80 00 1D */ li r28, 0x1d -/* 803038C0 002FF520 3B A0 00 1E */ li r29, 0x1e -/* 803038C4 002FF524 9B 43 00 62 */ stb r26, 0x62(r3) -/* 803038C8 002FF528 3B C0 00 1F */ li r30, 0x1f -/* 803038CC 002FF52C 3B E0 00 20 */ li r31, 0x20 -/* 803038D0 002FF530 39 80 00 21 */ li r12, 0x21 -/* 803038D4 002FF534 9B 63 00 63 */ stb r27, 0x63(r3) -/* 803038D8 002FF538 3B 20 00 22 */ li r25, 0x22 -/* 803038DC 002FF53C 3B 40 00 23 */ li r26, 0x23 -/* 803038E0 002FF540 3B 60 00 24 */ li r27, 0x24 -/* 803038E4 002FF544 9B 83 00 64 */ stb r28, 0x64(r3) -/* 803038E8 002FF548 3B 80 00 25 */ li r28, 0x25 -/* 803038EC 002FF54C 39 60 00 32 */ li r11, 0x32 -/* 803038F0 002FF550 39 40 00 33 */ li r10, 0x33 -/* 803038F4 002FF554 9B A3 00 65 */ stb r29, 0x65(r3) -/* 803038F8 002FF558 3B A0 00 26 */ li r29, 0x26 -/* 803038FC 002FF55C 39 20 00 34 */ li r9, 0x34 -/* 80303900 002FF560 39 00 00 35 */ li r8, 0x35 -/* 80303904 002FF564 9B C3 00 66 */ stb r30, 0x66(r3) -/* 80303908 002FF568 3B C0 00 27 */ li r30, 0x27 -/* 8030390C 002FF56C 38 E0 00 36 */ li r7, 0x36 -/* 80303910 002FF570 38 C0 00 37 */ li r6, 0x37 -/* 80303914 002FF574 9B E3 00 67 */ stb r31, 0x67(r3) -/* 80303918 002FF578 3B E0 00 28 */ li r31, 0x28 -/* 8030391C 002FF57C 38 A0 00 38 */ li r5, 0x38 -/* 80303920 002FF580 38 80 00 3E */ li r4, 0x3e -/* 80303924 002FF584 99 83 00 68 */ stb r12, 0x68(r3) -/* 80303928 002FF588 39 80 00 29 */ li r12, 0x29 -/* 8030392C 002FF58C 38 00 00 3F */ li r0, 0x3f -/* 80303930 002FF590 9B 23 00 69 */ stb r25, 0x69(r3) -/* 80303934 002FF594 3B 20 00 2A */ li r25, 0x2a -/* 80303938 002FF598 9B 43 00 6A */ stb r26, 0x6a(r3) -/* 8030393C 002FF59C 3B 40 00 2B */ li r26, 0x2b -/* 80303940 002FF5A0 9B 63 00 6B */ stb r27, 0x6b(r3) -/* 80303944 002FF5A4 3B 60 00 2C */ li r27, 0x2c -/* 80303948 002FF5A8 9B 83 00 6C */ stb r28, 0x6c(r3) -/* 8030394C 002FF5AC 3B 80 00 2D */ li r28, 0x2d -/* 80303950 002FF5B0 9B A3 00 6D */ stb r29, 0x6d(r3) -/* 80303954 002FF5B4 3B A0 00 2E */ li r29, 0x2e -/* 80303958 002FF5B8 9B C3 00 6E */ stb r30, 0x6e(r3) -/* 8030395C 002FF5BC 3B C0 00 2F */ li r30, 0x2f -/* 80303960 002FF5C0 9B E3 00 6F */ stb r31, 0x6f(r3) -/* 80303964 002FF5C4 3B E0 00 30 */ li r31, 0x30 -/* 80303968 002FF5C8 99 83 00 70 */ stb r12, 0x70(r3) -/* 8030396C 002FF5CC 39 80 00 31 */ li r12, 0x31 -/* 80303970 002FF5D0 9B 23 00 71 */ stb r25, 0x71(r3) -/* 80303974 002FF5D4 9B 43 00 72 */ stb r26, 0x72(r3) -/* 80303978 002FF5D8 9B 63 00 73 */ stb r27, 0x73(r3) -/* 8030397C 002FF5DC 9B 83 00 74 */ stb r28, 0x74(r3) -/* 80303980 002FF5E0 9B A3 00 75 */ stb r29, 0x75(r3) -/* 80303984 002FF5E4 9B C3 00 76 */ stb r30, 0x76(r3) -/* 80303988 002FF5E8 9B E3 00 77 */ stb r31, 0x77(r3) -/* 8030398C 002FF5EC 99 83 00 78 */ stb r12, 0x78(r3) -/* 80303990 002FF5F0 99 63 00 79 */ stb r11, 0x79(r3) -/* 80303994 002FF5F4 39 61 00 30 */ addi r11, r1, 0x30 -/* 80303998 002FF5F8 99 43 00 7A */ stb r10, 0x7a(r3) -/* 8030399C 002FF5FC 99 23 00 30 */ stb r9, 0x30(r3) -/* 803039A0 002FF600 39 20 00 39 */ li r9, 0x39 -/* 803039A4 002FF604 99 03 00 31 */ stb r8, 0x31(r3) -/* 803039A8 002FF608 39 00 00 3A */ li r8, 0x3a -/* 803039AC 002FF60C 98 E3 00 32 */ stb r7, 0x32(r3) -/* 803039B0 002FF610 38 E0 00 3B */ li r7, 0x3b -/* 803039B4 002FF614 98 C3 00 33 */ stb r6, 0x33(r3) -/* 803039B8 002FF618 38 C0 00 3C */ li r6, 0x3c -/* 803039BC 002FF61C 98 A3 00 34 */ stb r5, 0x34(r3) -/* 803039C0 002FF620 38 A0 00 3D */ li r5, 0x3d -/* 803039C4 002FF624 99 23 00 35 */ stb r9, 0x35(r3) -/* 803039C8 002FF628 99 03 00 36 */ stb r8, 0x36(r3) -/* 803039CC 002FF62C 98 E3 00 37 */ stb r7, 0x37(r3) -/* 803039D0 002FF630 98 C3 00 38 */ stb r6, 0x38(r3) -/* 803039D4 002FF634 98 A3 00 39 */ stb r5, 0x39(r3) -/* 803039D8 002FF638 98 83 00 2B */ stb r4, 0x2b(r3) -/* 803039DC 002FF63C 98 03 00 2F */ stb r0, 0x2f(r3) -/* 803039E0 002FF640 4B EC 37 8D */ bl _restgpr_25 -/* 803039E4 002FF644 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803039E8 002FF648 7C 08 03 A6 */ mtlr r0 -/* 803039EC 002FF64C 38 21 00 30 */ addi r1, r1, 0x30 -/* 803039F0 002FF650 4E 80 00 20 */ blr - -.global func_803039F4 -func_803039F4: -/* 803039F4 002FF654 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803039F8 002FF658 7C 08 02 A6 */ mflr r0 -/* 803039FC 002FF65C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80303A00 002FF660 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80303A04 002FF664 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha -/* 80303A08 002FF668 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l -/* 80303A0C 002FF66C 93 C1 00 08 */ stw r30, 8(r1) -/* 80303A10 002FF670 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303A14 002FF674 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303A18 002FF678 40 82 00 5C */ bne lbl_80303A74 -/* 80303A1C 002FF67C 4B F6 AD 41 */ bl OSDisableInterrupts -/* 80303A20 002FF680 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303A24 002FF684 7C 7E 1B 78 */ mr r30, r3 -/* 80303A28 002FF688 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303A2C 002FF68C 40 82 00 40 */ bne lbl_80303A6C -/* 80303A30 002FF690 38 7F 00 00 */ addi r3, r31, 0 -/* 80303A34 002FF694 4B F6 BE DD */ bl OSInitMutex -/* 80303A38 002FF698 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303A3C 002FF69C 4B F6 BE D5 */ bl OSInitMutex -/* 80303A40 002FF6A0 38 7F 00 40 */ addi r3, r31, 0x40 -/* 80303A44 002FF6A4 38 80 00 00 */ li r4, 0 -/* 80303A48 002FF6A8 38 A0 00 20 */ li r5, 0x20 -/* 80303A4C 002FF6AC 4B D0 06 B9 */ bl memset -/* 80303A50 002FF6B0 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80303A54 002FF6B4 38 80 00 00 */ li r4, 0 -/* 80303A58 002FF6B8 38 A0 00 20 */ li r5, 0x20 -/* 80303A5C 002FF6BC 4B D0 06 A9 */ bl memset -/* 80303A60 002FF6C0 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303A64 002FF6C4 60 00 00 01 */ ori r0, r0, 1 -/* 80303A68 002FF6C8 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13) -lbl_80303A6C: -/* 80303A6C 002FF6CC 7F C3 F3 78 */ mr r3, r30 -/* 80303A70 002FF6D0 4B F6 AD 15 */ bl OSRestoreInterrupts -lbl_80303A74: -/* 80303A74 002FF6D4 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303A78 002FF6D8 4B F6 BE D1 */ bl OSLockMutex -/* 80303A7C 002FF6DC 48 00 04 E1 */ bl func_80303F5C -/* 80303A80 002FF6E0 2C 03 00 00 */ cmpwi r3, 0 -/* 80303A84 002FF6E4 7C 7E 1B 78 */ mr r30, r3 -/* 80303A88 002FF6E8 41 80 00 18 */ blt lbl_80303AA0 -/* 80303A8C 002FF6EC 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13) -/* 80303A90 002FF6F0 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13) -/* 80303A94 002FF6F4 38 84 00 01 */ addi r4, r4, 1 -/* 80303A98 002FF6F8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13) -/* 80303A9C 002FF6FC 7F C0 18 50 */ subf r30, r0, r3 -lbl_80303AA0: -/* 80303AA0 002FF700 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303AA4 002FF704 4B F6 BF 81 */ bl OSUnlockMutex -/* 80303AA8 002FF708 7F C3 F3 78 */ mr r3, r30 -/* 80303AAC 002FF70C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80303AB0 002FF710 83 C1 00 08 */ lwz r30, 8(r1) -/* 80303AB4 002FF714 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80303AB8 002FF718 7C 08 03 A6 */ mtlr r0 -/* 80303ABC 002FF71C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80303AC0 002FF720 4E 80 00 20 */ blr - -.global func_80303AC4 -func_80303AC4: -/* 80303AC4 002FF724 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80303AC8 002FF728 7C 08 02 A6 */ mflr r0 -/* 80303ACC 002FF72C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80303AD0 002FF730 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80303AD4 002FF734 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha -/* 80303AD8 002FF738 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l -/* 80303ADC 002FF73C 93 C1 00 08 */ stw r30, 8(r1) -/* 80303AE0 002FF740 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303AE4 002FF744 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303AE8 002FF748 40 82 00 5C */ bne lbl_80303B44 -/* 80303AEC 002FF74C 4B F6 AC 71 */ bl OSDisableInterrupts -/* 80303AF0 002FF750 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303AF4 002FF754 7C 7E 1B 78 */ mr r30, r3 -/* 80303AF8 002FF758 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303AFC 002FF75C 40 82 00 40 */ bne lbl_80303B3C -/* 80303B00 002FF760 38 7F 00 00 */ addi r3, r31, 0 -/* 80303B04 002FF764 4B F6 BE 0D */ bl OSInitMutex -/* 80303B08 002FF768 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303B0C 002FF76C 4B F6 BE 05 */ bl OSInitMutex -/* 80303B10 002FF770 38 7F 00 40 */ addi r3, r31, 0x40 -/* 80303B14 002FF774 38 80 00 00 */ li r4, 0 -/* 80303B18 002FF778 38 A0 00 20 */ li r5, 0x20 -/* 80303B1C 002FF77C 4B D0 05 E9 */ bl memset -/* 80303B20 002FF780 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80303B24 002FF784 38 80 00 00 */ li r4, 0 -/* 80303B28 002FF788 38 A0 00 20 */ li r5, 0x20 -/* 80303B2C 002FF78C 4B D0 05 D9 */ bl memset -/* 80303B30 002FF790 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303B34 002FF794 60 00 00 01 */ ori r0, r0, 1 -/* 80303B38 002FF798 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13) -lbl_80303B3C: -/* 80303B3C 002FF79C 7F C3 F3 78 */ mr r3, r30 -/* 80303B40 002FF7A0 4B F6 AC 45 */ bl OSRestoreInterrupts -lbl_80303B44: -/* 80303B44 002FF7A4 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303B48 002FF7A8 4B F6 BE 01 */ bl OSLockMutex -/* 80303B4C 002FF7AC 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13) -/* 80303B50 002FF7B0 2C 00 00 00 */ cmpwi r0, 0 -/* 80303B54 002FF7B4 40 81 00 18 */ ble lbl_80303B6C -/* 80303B58 002FF7B8 80 0D AF B4 */ lwz r0, lbl_80640274-_SDA_BASE_(r13) -/* 80303B5C 002FF7BC 2C 00 00 00 */ cmpwi r0, 0 -/* 80303B60 002FF7C0 40 82 00 0C */ bne lbl_80303B6C -/* 80303B64 002FF7C4 3B C0 00 00 */ li r30, 0 -/* 80303B68 002FF7C8 48 00 00 28 */ b lbl_80303B90 -lbl_80303B6C: -/* 80303B6C 002FF7CC 48 00 05 8D */ bl func_803040F8 -/* 80303B70 002FF7D0 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13) -/* 80303B74 002FF7D4 7C 7E 1B 78 */ mr r30, r3 -/* 80303B78 002FF7D8 2C 04 00 00 */ cmpwi r4, 0 -/* 80303B7C 002FF7DC 40 81 00 14 */ ble lbl_80303B90 -/* 80303B80 002FF7E0 38 84 FF FF */ addi r4, r4, -1 -/* 80303B84 002FF7E4 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13) -/* 80303B88 002FF7E8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13) -/* 80303B8C 002FF7EC 7F C0 18 50 */ subf r30, r0, r3 -lbl_80303B90: -/* 80303B90 002FF7F0 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303B94 002FF7F4 4B F6 BE 91 */ bl OSUnlockMutex -/* 80303B98 002FF7F8 7F C3 F3 78 */ mr r3, r30 -/* 80303B9C 002FF7FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80303BA0 002FF800 83 C1 00 08 */ lwz r30, 8(r1) -/* 80303BA4 002FF804 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80303BA8 002FF808 7C 08 03 A6 */ mtlr r0 -/* 80303BAC 002FF80C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80303BB0 002FF810 4E 80 00 20 */ blr - -.global func_80303BB4 -func_80303BB4: -/* 80303BB4 002FF814 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80303BB8 002FF818 7C 08 02 A6 */ mflr r0 -/* 80303BBC 002FF81C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80303BC0 002FF820 39 61 00 30 */ addi r11, r1, 0x30 -/* 80303BC4 002FF824 4B EC 35 65 */ bl _savegpr_27 -/* 80303BC8 002FF828 3F A0 80 58 */ lis r29, lbl_8057E7A0@ha -/* 80303BCC 002FF82C 7C 7B 1B 78 */ mr r27, r3 -/* 80303BD0 002FF830 7C 9F 23 78 */ mr r31, r4 -/* 80303BD4 002FF834 3B BD E7 A0 */ addi r29, r29, lbl_8057E7A0@l -/* 80303BD8 002FF838 4B F6 D7 21 */ bl OSGetCurrentThread -/* 80303BDC 002FF83C 2C 03 00 00 */ cmpwi r3, 0 -/* 80303BE0 002FF840 40 82 00 0C */ bne lbl_80303BEC -/* 80303BE4 002FF844 38 60 FF FF */ li r3, -1 -/* 80303BE8 002FF848 48 00 00 28 */ b lbl_80303C10 -lbl_80303BEC: -/* 80303BEC 002FF84C 4B FF F6 F9 */ bl func_803032E4 -/* 80303BF0 002FF850 2C 03 00 00 */ cmpwi r3, 0 -/* 80303BF4 002FF854 40 82 00 10 */ bne lbl_80303C04 -/* 80303BF8 002FF858 4B FF F7 01 */ bl func_803032F8 -/* 80303BFC 002FF85C 2C 03 00 00 */ cmpwi r3, 0 -/* 80303C00 002FF860 41 82 00 0C */ beq lbl_80303C0C -lbl_80303C04: -/* 80303C04 002FF864 38 60 FF F6 */ li r3, -10 -/* 80303C08 002FF868 48 00 00 08 */ b lbl_80303C10 -lbl_80303C0C: -/* 80303C0C 002FF86C 38 60 00 00 */ li r3, 0 -lbl_80303C10: -/* 80303C10 002FF870 2C 03 00 00 */ cmpwi r3, 0 -/* 80303C14 002FF874 40 80 00 08 */ bge lbl_80303C1C -/* 80303C18 002FF878 48 00 01 40 */ b lbl_80303D58 -lbl_80303C1C: -/* 80303C1C 002FF87C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303C20 002FF880 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303C24 002FF884 40 82 00 5C */ bne lbl_80303C80 -/* 80303C28 002FF888 4B F6 AB 35 */ bl OSDisableInterrupts -/* 80303C2C 002FF88C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303C30 002FF890 7C 7E 1B 78 */ mr r30, r3 -/* 80303C34 002FF894 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303C38 002FF898 40 82 00 40 */ bne lbl_80303C78 -/* 80303C3C 002FF89C 38 7D 00 00 */ addi r3, r29, 0 -/* 80303C40 002FF8A0 4B F6 BC D1 */ bl OSInitMutex -/* 80303C44 002FF8A4 38 7D 00 18 */ addi r3, r29, 0x18 -/* 80303C48 002FF8A8 4B F6 BC C9 */ bl OSInitMutex -/* 80303C4C 002FF8AC 38 7D 00 40 */ addi r3, r29, 0x40 -/* 80303C50 002FF8B0 38 80 00 00 */ li r4, 0 -/* 80303C54 002FF8B4 38 A0 00 20 */ li r5, 0x20 -/* 80303C58 002FF8B8 4B D0 04 AD */ bl memset -/* 80303C5C 002FF8BC 38 7D 00 60 */ addi r3, r29, 0x60 -/* 80303C60 002FF8C0 38 80 00 00 */ li r4, 0 -/* 80303C64 002FF8C4 38 A0 00 20 */ li r5, 0x20 -/* 80303C68 002FF8C8 4B D0 04 9D */ bl memset -/* 80303C6C 002FF8CC 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303C70 002FF8D0 60 00 00 01 */ ori r0, r0, 1 -/* 80303C74 002FF8D4 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13) -lbl_80303C78: -/* 80303C78 002FF8D8 7F C3 F3 78 */ mr r3, r30 -/* 80303C7C 002FF8DC 4B F6 AB 09 */ bl OSRestoreInterrupts -lbl_80303C80: -/* 80303C80 002FF8E0 38 7D 00 00 */ addi r3, r29, 0 -/* 80303C84 002FF8E4 4B F6 BC C5 */ bl OSLockMutex -/* 80303C88 002FF8E8 3F C0 80 44 */ lis r30, lbl_804464D4@ha -/* 80303C8C 002FF8EC 3C 80 80 44 */ lis r4, lbl_804464C0@ha -/* 80303C90 002FF8F0 38 7E 64 D4 */ addi r3, r30, lbl_804464D4@l -/* 80303C94 002FF8F4 38 A1 00 08 */ addi r5, r1, 8 -/* 80303C98 002FF8F8 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l -/* 80303C9C 002FF8FC 38 C0 00 00 */ li r6, 0 -/* 80303CA0 002FF900 48 00 09 DD */ bl func_8030467C -/* 80303CA4 002FF904 2C 03 00 00 */ cmpwi r3, 0 -/* 80303CA8 002FF908 7C 7C 1B 78 */ mr r28, r3 -/* 80303CAC 002FF90C 41 80 00 A0 */ blt lbl_80303D4C -/* 80303CB0 002FF910 80 81 00 08 */ lwz r4, 8(r1) -/* 80303CB4 002FF914 38 7E 64 D4 */ addi r3, r30, 0x64d4 -/* 80303CB8 002FF918 39 1D 00 60 */ addi r8, r29, 0x60 -/* 80303CBC 002FF91C 38 A0 00 0F */ li r5, 0xf -/* 80303CC0 002FF920 38 C0 00 00 */ li r6, 0 -/* 80303CC4 002FF924 38 E0 00 00 */ li r7, 0 -/* 80303CC8 002FF928 39 20 00 20 */ li r9, 0x20 -/* 80303CCC 002FF92C 48 00 0A 5D */ bl func_80304728 -/* 80303CD0 002FF930 2C 03 00 00 */ cmpwi r3, 0 -/* 80303CD4 002FF934 7C 7C 1B 78 */ mr r28, r3 -/* 80303CD8 002FF938 41 80 00 58 */ blt lbl_80303D30 -/* 80303CDC 002FF93C 83 9D 00 60 */ lwz r28, 0x60(r29) -/* 80303CE0 002FF940 2C 1C 00 00 */ cmpwi r28, 0 -/* 80303CE4 002FF944 41 82 00 14 */ beq lbl_80303CF8 -/* 80303CE8 002FF948 2C 1C FF DD */ cmpwi r28, -35 -/* 80303CEC 002FF94C 41 82 00 0C */ beq lbl_80303CF8 -/* 80303CF0 002FF950 2C 1C FF DC */ cmpwi r28, -36 -/* 80303CF4 002FF954 40 82 00 3C */ bne lbl_80303D30 -lbl_80303CF8: -/* 80303CF8 002FF958 38 00 00 00 */ li r0, 0 -/* 80303CFC 002FF95C 7C 1B 00 40 */ cmplw r27, r0 -/* 80303D00 002FF960 41 82 00 18 */ beq lbl_80303D18 -/* 80303D04 002FF964 38 7D 00 60 */ addi r3, r29, 0x60 -/* 80303D08 002FF968 80 03 00 04 */ lwz r0, 4(r3) -/* 80303D0C 002FF96C 80 63 00 08 */ lwz r3, 8(r3) -/* 80303D10 002FF970 90 7B 00 04 */ stw r3, 4(r27) -/* 80303D14 002FF974 90 1B 00 00 */ stw r0, 0(r27) -lbl_80303D18: -/* 80303D18 002FF978 38 00 00 00 */ li r0, 0 -/* 80303D1C 002FF97C 7C 1F 00 40 */ cmplw r31, r0 -/* 80303D20 002FF980 41 82 00 10 */ beq lbl_80303D30 -/* 80303D24 002FF984 38 7D 00 60 */ addi r3, r29, 0x60 -/* 80303D28 002FF988 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80303D2C 002FF98C 90 1F 00 00 */ stw r0, 0(r31) -lbl_80303D30: -/* 80303D30 002FF990 3C 60 80 44 */ lis r3, lbl_804464D4@ha -/* 80303D34 002FF994 80 81 00 08 */ lwz r4, 8(r1) -/* 80303D38 002FF998 38 63 64 D4 */ addi r3, r3, lbl_804464D4@l -/* 80303D3C 002FF99C 48 00 09 B9 */ bl func_803046F4 -/* 80303D40 002FF9A0 2C 1C 00 00 */ cmpwi r28, 0 -/* 80303D44 002FF9A4 41 80 00 08 */ blt lbl_80303D4C -/* 80303D48 002FF9A8 7C 7C 1B 78 */ mr r28, r3 -lbl_80303D4C: -/* 80303D4C 002FF9AC 38 7D 00 00 */ addi r3, r29, 0 -/* 80303D50 002FF9B0 4B F6 BC D5 */ bl OSUnlockMutex -/* 80303D54 002FF9B4 7F 83 E3 78 */ mr r3, r28 -lbl_80303D58: -/* 80303D58 002FF9B8 39 61 00 30 */ addi r11, r1, 0x30 -/* 80303D5C 002FF9BC 4B EC 34 19 */ bl _restgpr_27 -/* 80303D60 002FF9C0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80303D64 002FF9C4 7C 08 03 A6 */ mtlr r0 -/* 80303D68 002FF9C8 38 21 00 30 */ addi r1, r1, 0x30 -/* 80303D6C 002FF9CC 4E 80 00 20 */ blr - -.global func_80303D70 -func_80303D70: -/* 80303D70 002FF9D0 7C 65 1B 78 */ mr r5, r3 -/* 80303D74 002FF9D4 38 60 00 00 */ li r3, 0 -/* 80303D78 002FF9D8 38 80 00 06 */ li r4, 6 -/* 80303D7C 002FF9DC 48 00 03 8C */ b lbl_80304108 - -.global func_80303D80 -func_80303D80: -/* 80303D80 002FF9E0 7C 65 1B 78 */ mr r5, r3 -/* 80303D84 002FF9E4 38 60 00 00 */ li r3, 0 -/* 80303D88 002FF9E8 38 80 00 07 */ li r4, 7 -/* 80303D8C 002FF9EC 48 00 03 7C */ b lbl_80304108 - -.global func_80303D90 -func_80303D90: -/* 80303D90 002FF9F0 38 60 00 00 */ li r3, 0 -/* 80303D94 002FF9F4 38 80 00 08 */ li r4, 8 -/* 80303D98 002FF9F8 38 A0 00 00 */ li r5, 0 -/* 80303D9C 002FF9FC 48 00 03 6C */ b lbl_80304108 - -.global func_80303DA0 -func_80303DA0: -/* 80303DA0 002FFA00 38 60 00 00 */ li r3, 0 -/* 80303DA4 002FFA04 38 80 00 09 */ li r4, 9 -/* 80303DA8 002FFA08 38 A0 00 00 */ li r5, 0 -/* 80303DAC 002FFA0C 48 00 03 5C */ b lbl_80304108 - -.global func_80303DB0 -func_80303DB0: -/* 80303DB0 002FFA10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80303DB4 002FFA14 7C 08 02 A6 */ mflr r0 -/* 80303DB8 002FFA18 90 01 00 14 */ stw r0, 0x14(r1) -/* 80303DBC 002FFA1C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80303DC0 002FFA20 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha -/* 80303DC4 002FFA24 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l -/* 80303DC8 002FFA28 93 C1 00 08 */ stw r30, 8(r1) -/* 80303DCC 002FFA2C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303DD0 002FFA30 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303DD4 002FFA34 40 82 00 5C */ bne lbl_80303E30 -/* 80303DD8 002FFA38 4B F6 A9 85 */ bl OSDisableInterrupts -/* 80303DDC 002FFA3C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303DE0 002FFA40 7C 7E 1B 78 */ mr r30, r3 -/* 80303DE4 002FFA44 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303DE8 002FFA48 40 82 00 40 */ bne lbl_80303E28 -/* 80303DEC 002FFA4C 38 7F 00 00 */ addi r3, r31, 0 -/* 80303DF0 002FFA50 4B F6 BB 21 */ bl OSInitMutex -/* 80303DF4 002FFA54 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303DF8 002FFA58 4B F6 BB 19 */ bl OSInitMutex -/* 80303DFC 002FFA5C 38 7F 00 40 */ addi r3, r31, 0x40 -/* 80303E00 002FFA60 38 80 00 00 */ li r4, 0 -/* 80303E04 002FFA64 38 A0 00 20 */ li r5, 0x20 -/* 80303E08 002FFA68 4B D0 02 FD */ bl memset -/* 80303E0C 002FFA6C 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80303E10 002FFA70 38 80 00 00 */ li r4, 0 -/* 80303E14 002FFA74 38 A0 00 20 */ li r5, 0x20 -/* 80303E18 002FFA78 4B D0 02 ED */ bl memset -/* 80303E1C 002FFA7C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303E20 002FFA80 60 00 00 01 */ ori r0, r0, 1 -/* 80303E24 002FFA84 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13) -lbl_80303E28: -/* 80303E28 002FFA88 7F C3 F3 78 */ mr r3, r30 -/* 80303E2C 002FFA8C 4B F6 A9 59 */ bl OSRestoreInterrupts -lbl_80303E30: -/* 80303E30 002FFA90 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303E34 002FFA94 4B F6 BD 25 */ bl OSTryLockMutex -/* 80303E38 002FFA98 2C 03 00 00 */ cmpwi r3, 0 -/* 80303E3C 002FFA9C 40 82 00 0C */ bne lbl_80303E48 -/* 80303E40 002FFAA0 38 60 FF EA */ li r3, -22 -/* 80303E44 002FFAA4 48 00 00 34 */ b lbl_80303E78 -lbl_80303E48: -/* 80303E48 002FFAA8 38 60 00 00 */ li r3, 0 -/* 80303E4C 002FFAAC 48 00 01 21 */ bl func_80303F6C -/* 80303E50 002FFAB0 2C 03 00 00 */ cmpwi r3, 0 -/* 80303E54 002FFAB4 7C 7E 1B 78 */ mr r30, r3 -/* 80303E58 002FFAB8 41 80 00 14 */ blt lbl_80303E6C -/* 80303E5C 002FFABC 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13) -/* 80303E60 002FFAC0 3B C0 00 00 */ li r30, 0 -/* 80303E64 002FFAC4 38 03 00 01 */ addi r0, r3, 1 -/* 80303E68 002FFAC8 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13) -lbl_80303E6C: -/* 80303E6C 002FFACC 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303E70 002FFAD0 4B F6 BB B5 */ bl OSUnlockMutex -/* 80303E74 002FFAD4 7F C3 F3 78 */ mr r3, r30 -lbl_80303E78: -/* 80303E78 002FFAD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80303E7C 002FFADC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80303E80 002FFAE0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80303E84 002FFAE4 7C 08 03 A6 */ mtlr r0 -/* 80303E88 002FFAE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80303E8C 002FFAEC 4E 80 00 20 */ blr - -.global func_80303E90 -func_80303E90: -/* 80303E90 002FFAF0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80303E94 002FFAF4 7C 08 02 A6 */ mflr r0 -/* 80303E98 002FFAF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80303E9C 002FFAFC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80303EA0 002FFB00 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha -/* 80303EA4 002FFB04 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l -/* 80303EA8 002FFB08 93 C1 00 08 */ stw r30, 8(r1) -/* 80303EAC 002FFB0C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303EB0 002FFB10 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303EB4 002FFB14 40 82 00 5C */ bne lbl_80303F10 -/* 80303EB8 002FFB18 4B F6 A8 A5 */ bl OSDisableInterrupts -/* 80303EBC 002FFB1C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303EC0 002FFB20 7C 7E 1B 78 */ mr r30, r3 -/* 80303EC4 002FFB24 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303EC8 002FFB28 40 82 00 40 */ bne lbl_80303F08 -/* 80303ECC 002FFB2C 38 7F 00 00 */ addi r3, r31, 0 -/* 80303ED0 002FFB30 4B F6 BA 41 */ bl OSInitMutex -/* 80303ED4 002FFB34 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303ED8 002FFB38 4B F6 BA 39 */ bl OSInitMutex -/* 80303EDC 002FFB3C 38 7F 00 40 */ addi r3, r31, 0x40 -/* 80303EE0 002FFB40 38 80 00 00 */ li r4, 0 -/* 80303EE4 002FFB44 38 A0 00 20 */ li r5, 0x20 -/* 80303EE8 002FFB48 4B D0 02 1D */ bl memset -/* 80303EEC 002FFB4C 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80303EF0 002FFB50 38 80 00 00 */ li r4, 0 -/* 80303EF4 002FFB54 38 A0 00 20 */ li r5, 0x20 -/* 80303EF8 002FFB58 4B D0 02 0D */ bl memset -/* 80303EFC 002FFB5C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303F00 002FFB60 60 00 00 01 */ ori r0, r0, 1 -/* 80303F04 002FFB64 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13) -lbl_80303F08: -/* 80303F08 002FFB68 7F C3 F3 78 */ mr r3, r30 -/* 80303F0C 002FFB6C 4B F6 A8 79 */ bl OSRestoreInterrupts -lbl_80303F10: -/* 80303F10 002FFB70 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303F14 002FFB74 4B F6 BA 35 */ bl OSLockMutex -/* 80303F18 002FFB78 48 00 01 E1 */ bl func_803040F8 -/* 80303F1C 002FFB7C 2C 03 00 00 */ cmpwi r3, 0 -/* 80303F20 002FFB80 7C 7E 1B 78 */ mr r30, r3 -/* 80303F24 002FFB84 41 80 00 14 */ blt lbl_80303F38 -/* 80303F28 002FFB88 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13) -/* 80303F2C 002FFB8C 3B C0 00 00 */ li r30, 0 -/* 80303F30 002FFB90 38 03 FF FF */ addi r0, r3, -1 -/* 80303F34 002FFB94 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13) -lbl_80303F38: -/* 80303F38 002FFB98 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80303F3C 002FFB9C 4B F6 BA E9 */ bl OSUnlockMutex -/* 80303F40 002FFBA0 7F C3 F3 78 */ mr r3, r30 -/* 80303F44 002FFBA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80303F48 002FFBA8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80303F4C 002FFBAC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80303F50 002FFBB0 7C 08 03 A6 */ mtlr r0 -/* 80303F54 002FFBB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80303F58 002FFBB8 4E 80 00 20 */ blr - -.global func_80303F5C -func_80303F5C: -/* 80303F5C 002FFBBC 38 60 00 00 */ li r3, 0 -/* 80303F60 002FFBC0 38 80 00 01 */ li r4, 1 -/* 80303F64 002FFBC4 38 A0 00 00 */ li r5, 0 -/* 80303F68 002FFBC8 48 00 01 A0 */ b lbl_80304108 - -.global func_80303F6C -func_80303F6C: -/* 80303F6C 002FFBCC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80303F70 002FFBD0 7C 08 02 A6 */ mflr r0 -/* 80303F74 002FFBD4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80303F78 002FFBD8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80303F7C 002FFBDC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80303F80 002FFBE0 3F C0 80 58 */ lis r30, lbl_8057E7A0@ha -/* 80303F84 002FFBE4 3B DE E7 A0 */ addi r30, r30, lbl_8057E7A0@l -/* 80303F88 002FFBE8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80303F8C 002FFBEC 93 81 00 10 */ stw r28, 0x10(r1) -/* 80303F90 002FFBF0 7C 7C 1B 78 */ mr r28, r3 -/* 80303F94 002FFBF4 4B F6 D3 65 */ bl OSGetCurrentThread -/* 80303F98 002FFBF8 2C 03 00 00 */ cmpwi r3, 0 -/* 80303F9C 002FFBFC 40 82 00 0C */ bne lbl_80303FA8 -/* 80303FA0 002FFC00 38 60 FF FF */ li r3, -1 -/* 80303FA4 002FFC04 48 00 00 28 */ b lbl_80303FCC -lbl_80303FA8: -/* 80303FA8 002FFC08 4B FF F3 3D */ bl func_803032E4 -/* 80303FAC 002FFC0C 2C 03 00 00 */ cmpwi r3, 0 -/* 80303FB0 002FFC10 40 82 00 10 */ bne lbl_80303FC0 -/* 80303FB4 002FFC14 4B FF F3 45 */ bl func_803032F8 -/* 80303FB8 002FFC18 2C 03 00 00 */ cmpwi r3, 0 -/* 80303FBC 002FFC1C 41 82 00 0C */ beq lbl_80303FC8 -lbl_80303FC0: -/* 80303FC0 002FFC20 38 60 FF F6 */ li r3, -10 -/* 80303FC4 002FFC24 48 00 00 08 */ b lbl_80303FCC -lbl_80303FC8: -/* 80303FC8 002FFC28 38 60 00 00 */ li r3, 0 -lbl_80303FCC: -/* 80303FCC 002FFC2C 2C 03 00 00 */ cmpwi r3, 0 -/* 80303FD0 002FFC30 40 80 00 08 */ bge lbl_80303FD8 -/* 80303FD4 002FFC34 48 00 01 04 */ b lbl_803040D8 -lbl_80303FD8: -/* 80303FD8 002FFC38 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303FDC 002FFC3C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303FE0 002FFC40 40 82 00 5C */ bne lbl_8030403C -/* 80303FE4 002FFC44 4B F6 A7 79 */ bl OSDisableInterrupts -/* 80303FE8 002FFC48 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80303FEC 002FFC4C 7C 7F 1B 78 */ mr r31, r3 -/* 80303FF0 002FFC50 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80303FF4 002FFC54 40 82 00 40 */ bne lbl_80304034 -/* 80303FF8 002FFC58 38 7E 00 00 */ addi r3, r30, 0 -/* 80303FFC 002FFC5C 4B F6 B9 15 */ bl OSInitMutex -/* 80304000 002FFC60 38 7E 00 18 */ addi r3, r30, 0x18 -/* 80304004 002FFC64 4B F6 B9 0D */ bl OSInitMutex -/* 80304008 002FFC68 38 7E 00 40 */ addi r3, r30, 0x40 -/* 8030400C 002FFC6C 38 80 00 00 */ li r4, 0 -/* 80304010 002FFC70 38 A0 00 20 */ li r5, 0x20 -/* 80304014 002FFC74 4B D0 00 F1 */ bl memset -/* 80304018 002FFC78 38 7E 00 60 */ addi r3, r30, 0x60 -/* 8030401C 002FFC7C 38 80 00 00 */ li r4, 0 -/* 80304020 002FFC80 38 A0 00 20 */ li r5, 0x20 -/* 80304024 002FFC84 4B D0 00 E1 */ bl memset -/* 80304028 002FFC88 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 8030402C 002FFC8C 60 00 00 01 */ ori r0, r0, 1 -/* 80304030 002FFC90 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13) -lbl_80304034: -/* 80304034 002FFC94 7F E3 FB 78 */ mr r3, r31 -/* 80304038 002FFC98 4B F6 A7 4D */ bl OSRestoreInterrupts -lbl_8030403C: -/* 8030403C 002FFC9C 38 7E 00 00 */ addi r3, r30, 0 -/* 80304040 002FFCA0 4B F6 BB 19 */ bl OSTryLockMutex -/* 80304044 002FFCA4 2C 03 00 00 */ cmpwi r3, 0 -/* 80304048 002FFCA8 40 82 00 0C */ bne lbl_80304054 -/* 8030404C 002FFCAC 38 60 FF EA */ li r3, -22 -/* 80304050 002FFCB0 48 00 00 88 */ b lbl_803040D8 -lbl_80304054: -/* 80304054 002FFCB4 3F E0 80 44 */ lis r31, lbl_804464F0@ha -/* 80304058 002FFCB8 3C 80 80 44 */ lis r4, lbl_804464C0@ha -/* 8030405C 002FFCBC 38 7F 64 F0 */ addi r3, r31, lbl_804464F0@l -/* 80304060 002FFCC0 38 A1 00 08 */ addi r5, r1, 8 -/* 80304064 002FFCC4 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l -/* 80304068 002FFCC8 38 C0 00 00 */ li r6, 0 -/* 8030406C 002FFCCC 48 00 06 11 */ bl func_8030467C -/* 80304070 002FFCD0 2C 03 00 00 */ cmpwi r3, 0 -/* 80304074 002FFCD4 7C 7D 1B 78 */ mr r29, r3 -/* 80304078 002FFCD8 41 80 00 54 */ blt lbl_803040CC -/* 8030407C 002FFCDC 93 9E 00 40 */ stw r28, 0x40(r30) -/* 80304080 002FFCE0 38 7F 64 F0 */ addi r3, r31, 0x64f0 -/* 80304084 002FFCE4 80 81 00 08 */ lwz r4, 8(r1) -/* 80304088 002FFCE8 38 DE 00 40 */ addi r6, r30, 0x40 -/* 8030408C 002FFCEC 39 1E 00 60 */ addi r8, r30, 0x60 -/* 80304090 002FFCF0 38 A0 00 02 */ li r5, 2 -/* 80304094 002FFCF4 38 E0 00 20 */ li r7, 0x20 -/* 80304098 002FFCF8 39 20 00 20 */ li r9, 0x20 -/* 8030409C 002FFCFC 48 00 06 8D */ bl func_80304728 -/* 803040A0 002FFD00 2C 03 00 00 */ cmpwi r3, 0 -/* 803040A4 002FFD04 7C 7D 1B 78 */ mr r29, r3 -/* 803040A8 002FFD08 41 80 00 08 */ blt lbl_803040B0 -/* 803040AC 002FFD0C 83 BE 00 60 */ lwz r29, 0x60(r30) -lbl_803040B0: -/* 803040B0 002FFD10 3C 60 80 44 */ lis r3, lbl_804464F0@ha -/* 803040B4 002FFD14 80 81 00 08 */ lwz r4, 8(r1) -/* 803040B8 002FFD18 38 63 64 F0 */ addi r3, r3, lbl_804464F0@l -/* 803040BC 002FFD1C 48 00 06 39 */ bl func_803046F4 -/* 803040C0 002FFD20 2C 03 00 00 */ cmpwi r3, 0 -/* 803040C4 002FFD24 40 80 00 08 */ bge lbl_803040CC -/* 803040C8 002FFD28 7C 7D 1B 78 */ mr r29, r3 -lbl_803040CC: -/* 803040CC 002FFD2C 38 7E 00 00 */ addi r3, r30, 0 -/* 803040D0 002FFD30 4B F6 B9 55 */ bl OSUnlockMutex -/* 803040D4 002FFD34 7F A3 EB 78 */ mr r3, r29 -lbl_803040D8: -/* 803040D8 002FFD38 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803040DC 002FFD3C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803040E0 002FFD40 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803040E4 002FFD44 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803040E8 002FFD48 83 81 00 10 */ lwz r28, 0x10(r1) -/* 803040EC 002FFD4C 7C 08 03 A6 */ mtlr r0 -/* 803040F0 002FFD50 38 21 00 20 */ addi r1, r1, 0x20 -/* 803040F4 002FFD54 4E 80 00 20 */ blr - -.global func_803040F8 -func_803040F8: -/* 803040F8 002FFD58 38 60 00 00 */ li r3, 0 -/* 803040FC 002FFD5C 38 80 00 03 */ li r4, 3 -/* 80304100 002FFD60 38 A0 00 00 */ li r5, 0 -/* 80304104 002FFD64 48 00 00 04 */ b lbl_80304108 -lbl_80304108: -/* 80304108 002FFD68 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8030410C 002FFD6C 7C 08 02 A6 */ mflr r0 -/* 80304110 002FFD70 90 01 00 34 */ stw r0, 0x34(r1) -/* 80304114 002FFD74 39 61 00 30 */ addi r11, r1, 0x30 -/* 80304118 002FFD78 4B EC 30 11 */ bl _savegpr_27 -/* 8030411C 002FFD7C 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha -/* 80304120 002FFD80 7C 7B 1B 78 */ mr r27, r3 -/* 80304124 002FFD84 7C 9C 23 78 */ mr r28, r4 -/* 80304128 002FFD88 7C BD 2B 78 */ mr r29, r5 -/* 8030412C 002FFD8C 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l -/* 80304130 002FFD90 4B F6 D1 C9 */ bl OSGetCurrentThread -/* 80304134 002FFD94 2C 03 00 00 */ cmpwi r3, 0 -/* 80304138 002FFD98 40 82 00 0C */ bne lbl_80304144 -/* 8030413C 002FFD9C 38 60 FF FF */ li r3, -1 -/* 80304140 002FFDA0 48 00 01 10 */ b lbl_80304250 -lbl_80304144: -/* 80304144 002FFDA4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80304148 002FFDA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8030414C 002FFDAC 40 82 00 5C */ bne lbl_803041A8 -/* 80304150 002FFDB0 4B F6 A6 0D */ bl OSDisableInterrupts -/* 80304154 002FFDB4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80304158 002FFDB8 7C 7E 1B 78 */ mr r30, r3 -/* 8030415C 002FFDBC 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80304160 002FFDC0 40 82 00 40 */ bne lbl_803041A0 -/* 80304164 002FFDC4 38 7F 00 00 */ addi r3, r31, 0 -/* 80304168 002FFDC8 4B F6 B7 A9 */ bl OSInitMutex -/* 8030416C 002FFDCC 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80304170 002FFDD0 4B F6 B7 A1 */ bl OSInitMutex -/* 80304174 002FFDD4 38 7F 00 40 */ addi r3, r31, 0x40 -/* 80304178 002FFDD8 38 80 00 00 */ li r4, 0 -/* 8030417C 002FFDDC 38 A0 00 20 */ li r5, 0x20 -/* 80304180 002FFDE0 4B CF FF 85 */ bl memset -/* 80304184 002FFDE4 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80304188 002FFDE8 38 80 00 00 */ li r4, 0 -/* 8030418C 002FFDEC 38 A0 00 20 */ li r5, 0x20 -/* 80304190 002FFDF0 4B CF FF 75 */ bl memset -/* 80304194 002FFDF4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13) -/* 80304198 002FFDF8 60 00 00 01 */ ori r0, r0, 1 -/* 8030419C 002FFDFC 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13) -lbl_803041A0: -/* 803041A0 002FFE00 7F C3 F3 78 */ mr r3, r30 -/* 803041A4 002FFE04 4B F6 A5 E1 */ bl OSRestoreInterrupts -lbl_803041A8: -/* 803041A8 002FFE08 38 7F 00 00 */ addi r3, r31, 0 -/* 803041AC 002FFE0C 4B F6 B7 9D */ bl OSLockMutex -/* 803041B0 002FFE10 3C 80 80 44 */ lis r4, lbl_804464C0@ha -/* 803041B4 002FFE14 7F 63 DB 78 */ mr r3, r27 -/* 803041B8 002FFE18 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l -/* 803041BC 002FFE1C 38 A1 00 08 */ addi r5, r1, 8 -/* 803041C0 002FFE20 38 C0 00 00 */ li r6, 0 -/* 803041C4 002FFE24 48 00 04 B9 */ bl func_8030467C -/* 803041C8 002FFE28 2C 03 00 00 */ cmpwi r3, 0 -/* 803041CC 002FFE2C 7C 7E 1B 78 */ mr r30, r3 -/* 803041D0 002FFE30 41 80 00 74 */ blt lbl_80304244 -/* 803041D4 002FFE34 80 81 00 08 */ lwz r4, 8(r1) -/* 803041D8 002FFE38 7F 63 DB 78 */ mr r3, r27 -/* 803041DC 002FFE3C 7F 85 E3 78 */ mr r5, r28 -/* 803041E0 002FFE40 39 1F 00 60 */ addi r8, r31, 0x60 -/* 803041E4 002FFE44 38 C0 00 00 */ li r6, 0 -/* 803041E8 002FFE48 38 E0 00 00 */ li r7, 0 -/* 803041EC 002FFE4C 39 20 00 20 */ li r9, 0x20 -/* 803041F0 002FFE50 48 00 05 39 */ bl func_80304728 -/* 803041F4 002FFE54 2C 03 00 00 */ cmpwi r3, 0 -/* 803041F8 002FFE58 7C 7E 1B 78 */ mr r30, r3 -/* 803041FC 002FFE5C 41 80 00 30 */ blt lbl_8030422C -/* 80304200 002FFE60 83 DF 00 60 */ lwz r30, 0x60(r31) -/* 80304204 002FFE64 2C 1E FF FE */ cmpwi r30, -2 -/* 80304208 002FFE68 41 82 00 0C */ beq lbl_80304214 -/* 8030420C 002FFE6C 2C 1E FF DF */ cmpwi r30, -33 -/* 80304210 002FFE70 40 82 00 1C */ bne lbl_8030422C -lbl_80304214: -/* 80304214 002FFE74 38 00 00 00 */ li r0, 0 -/* 80304218 002FFE78 7C 1D 00 40 */ cmplw r29, r0 -/* 8030421C 002FFE7C 41 82 00 10 */ beq lbl_8030422C -/* 80304220 002FFE80 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80304224 002FFE84 80 03 00 04 */ lwz r0, 4(r3) -/* 80304228 002FFE88 90 1D 00 00 */ stw r0, 0(r29) -lbl_8030422C: -/* 8030422C 002FFE8C 80 81 00 08 */ lwz r4, 8(r1) -/* 80304230 002FFE90 7F 63 DB 78 */ mr r3, r27 -/* 80304234 002FFE94 48 00 04 C1 */ bl func_803046F4 -/* 80304238 002FFE98 2C 03 00 00 */ cmpwi r3, 0 -/* 8030423C 002FFE9C 40 80 00 08 */ bge lbl_80304244 -/* 80304240 002FFEA0 7C 7E 1B 78 */ mr r30, r3 -lbl_80304244: -/* 80304244 002FFEA4 38 7F 00 00 */ addi r3, r31, 0 -/* 80304248 002FFEA8 4B F6 B7 DD */ bl OSUnlockMutex -/* 8030424C 002FFEAC 7F C3 F3 78 */ mr r3, r30 -lbl_80304250: -/* 80304250 002FFEB0 39 61 00 30 */ addi r11, r1, 0x30 -/* 80304254 002FFEB4 4B EC 2F 21 */ bl _restgpr_27 -/* 80304258 002FFEB8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030425C 002FFEBC 7C 08 03 A6 */ mtlr r0 -/* 80304260 002FFEC0 38 21 00 30 */ addi r1, r1, 0x30 -/* 80304264 002FFEC4 4E 80 00 20 */ blr - -.global func_80304268 -func_80304268: -/* 80304268 002FFEC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030426C 002FFECC 7C 08 02 A6 */ mflr r0 -/* 80304270 002FFED0 38 80 00 00 */ li r4, 0 -/* 80304274 002FFED4 38 A0 03 60 */ li r5, 0x360 -/* 80304278 002FFED8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030427C 002FFEDC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304280 002FFEE0 38 63 24 00 */ addi r3, r3, 0x2400 -/* 80304284 002FFEE4 90 61 00 08 */ stw r3, 8(r1) -/* 80304288 002FFEE8 4B FF CD 8D */ bl func_80301014 -/* 8030428C 002FFEEC 38 61 00 08 */ addi r3, r1, 8 -/* 80304290 002FFEF0 48 00 00 15 */ bl func_803042A4 -/* 80304294 002FFEF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80304298 002FFEF8 7C 08 03 A6 */ mtlr r0 -/* 8030429C 002FFEFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 803042A0 002FFF00 4E 80 00 20 */ blr - -.global func_803042A4 -func_803042A4: -/* 803042A4 002FFF04 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 803042A8 002FFF08 7C 08 02 A6 */ mflr r0 -/* 803042AC 002FFF0C 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 803042B0 002FFF10 93 E1 00 AC */ stw r31, 0xac(r1) -/* 803042B4 002FFF14 93 C1 00 A8 */ stw r30, 0xa8(r1) -/* 803042B8 002FFF18 7C 7E 1B 78 */ mr r30, r3 -/* 803042BC 002FFF1C 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13) -/* 803042C0 002FFF20 38 84 24 00 */ addi r4, r4, 0x2400 -/* 803042C4 002FFF24 90 83 00 00 */ stw r4, 0(r3) -/* 803042C8 002FFF28 80 64 00 00 */ lwz r3, 0(r4) -/* 803042CC 002FFF2C 3C 03 A8 9D */ addis r0, r3, 0xa89d -/* 803042D0 002FFF30 28 00 46 6C */ cmplwi r0, 0x466c -/* 803042D4 002FFF34 41 82 00 94 */ beq lbl_80304368 -/* 803042D8 002FFF38 80 8D 8C B0 */ lwz r4, lbl_8063DF70-_SDA_BASE_(r13) -/* 803042DC 002FFF3C 38 61 00 08 */ addi r3, r1, 8 -/* 803042E0 002FFF40 38 A0 00 02 */ li r5, 2 -/* 803042E4 002FFF44 4B FF D8 65 */ bl func_80301B48 -/* 803042E8 002FFF48 2C 03 00 00 */ cmpwi r3, 0 -/* 803042EC 002FFF4C 41 82 00 08 */ beq lbl_803042F4 -/* 803042F0 002FFF50 48 00 00 7C */ b lbl_8030436C -lbl_803042F4: -/* 803042F4 002FFF54 38 61 00 08 */ addi r3, r1, 8 -/* 803042F8 002FFF58 38 80 00 00 */ li r4, 0 -/* 803042FC 002FFF5C 38 A0 00 00 */ li r5, 0 -/* 80304300 002FFF60 4B FF DD 2D */ bl func_8030202C -/* 80304304 002FFF64 80 7E 00 00 */ lwz r3, 0(r30) -/* 80304308 002FFF68 38 A1 00 08 */ addi r5, r1, 8 -/* 8030430C 002FFF6C 38 80 03 60 */ li r4, 0x360 -/* 80304310 002FFF70 4B FF DF 09 */ bl func_80302218 -/* 80304314 002FFF74 7C 7F 1B 78 */ mr r31, r3 -/* 80304318 002FFF78 38 61 00 08 */ addi r3, r1, 8 -/* 8030431C 002FFF7C 4B FF DB 7D */ bl func_80301E98 -/* 80304320 002FFF80 2C 1F 00 00 */ cmpwi r31, 0 -/* 80304324 002FFF84 41 82 00 08 */ beq lbl_8030432C -/* 80304328 002FFF88 7F E3 FB 78 */ mr r3, r31 -lbl_8030432C: -/* 8030432C 002FFF8C 2C 03 00 00 */ cmpwi r3, 0 -/* 80304330 002FFF90 41 82 00 08 */ beq lbl_80304338 -/* 80304334 002FFF94 48 00 00 38 */ b lbl_8030436C -lbl_80304338: -/* 80304338 002FFF98 80 9E 00 00 */ lwz r4, 0(r30) -/* 8030433C 002FFF9C 80 64 00 00 */ lwz r3, 0(r4) -/* 80304340 002FFFA0 3C 03 A8 9D */ addis r0, r3, 0xa89d -/* 80304344 002FFFA4 28 00 46 6C */ cmplwi r0, 0x466c -/* 80304348 002FFFA8 41 82 00 0C */ beq lbl_80304354 -/* 8030434C 002FFFAC 38 60 FF F2 */ li r3, -14 -/* 80304350 002FFFB0 48 00 00 1C */ b lbl_8030436C -lbl_80304354: -/* 80304354 002FFFB4 80 04 00 04 */ lwz r0, 4(r4) -/* 80304358 002FFFB8 28 00 00 02 */ cmplwi r0, 2 -/* 8030435C 002FFFBC 41 82 00 0C */ beq lbl_80304368 -/* 80304360 002FFFC0 38 60 FF E5 */ li r3, -27 -/* 80304364 002FFFC4 48 00 00 08 */ b lbl_8030436C -lbl_80304368: -/* 80304368 002FFFC8 38 60 00 00 */ li r3, 0 -lbl_8030436C: -/* 8030436C 002FFFCC 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 80304370 002FFFD0 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 80304374 002FFFD4 83 C1 00 A8 */ lwz r30, 0xa8(r1) -/* 80304378 002FFFD8 7C 08 03 A6 */ mtlr r0 -/* 8030437C 002FFFDC 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 80304380 002FFFE0 4E 80 00 20 */ blr - -.global func_80304384 -func_80304384: -/* 80304384 002FFFE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80304388 002FFFE8 7C 08 02 A6 */ mflr r0 -/* 8030438C 002FFFEC 38 80 00 00 */ li r4, 0 -/* 80304390 002FFFF0 38 A0 08 00 */ li r5, 0x800 -/* 80304394 002FFFF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80304398 002FFFF8 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 8030439C 002FFFFC 38 63 28 00 */ addi r3, r3, 0x2800 -/* 803043A0 00300000 90 61 00 08 */ stw r3, 8(r1) -/* 803043A4 00300004 4B FF CC 71 */ bl func_80301014 -/* 803043A8 00300008 38 61 00 08 */ addi r3, r1, 8 -/* 803043AC 0030000C 48 00 00 15 */ bl func_803043C0 -/* 803043B0 00300010 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803043B4 00300014 7C 08 03 A6 */ mtlr r0 -/* 803043B8 00300018 38 21 00 10 */ addi r1, r1, 0x10 -/* 803043BC 0030001C 4E 80 00 20 */ blr - -.global func_803043C0 -func_803043C0: -/* 803043C0 00300020 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 803043C4 00300024 7C 08 02 A6 */ mflr r0 -/* 803043C8 00300028 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 803043CC 0030002C 93 E1 00 AC */ stw r31, 0xac(r1) -/* 803043D0 00300030 93 C1 00 A8 */ stw r30, 0xa8(r1) -/* 803043D4 00300034 7C 7E 1B 78 */ mr r30, r3 -/* 803043D8 00300038 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13) -/* 803043DC 0030003C 38 84 28 00 */ addi r4, r4, 0x2800 -/* 803043E0 00300040 90 83 00 00 */ stw r4, 0(r3) -/* 803043E4 00300044 80 64 00 00 */ lwz r3, 0(r4) -/* 803043E8 00300048 3C 03 A8 9D */ addis r0, r3, 0xa89d -/* 803043EC 0030004C 28 00 46 73 */ cmplwi r0, 0x4673 -/* 803043F0 00300050 41 82 00 94 */ beq lbl_80304484 -/* 803043F4 00300054 80 8D 8C B8 */ lwz r4, lbl_8063DF78-_SDA_BASE_(r13) -/* 803043F8 00300058 38 61 00 08 */ addi r3, r1, 8 -/* 803043FC 0030005C 38 A0 00 02 */ li r5, 2 -/* 80304400 00300060 4B FF D7 49 */ bl func_80301B48 -/* 80304404 00300064 2C 03 00 00 */ cmpwi r3, 0 -/* 80304408 00300068 41 82 00 08 */ beq lbl_80304410 -/* 8030440C 0030006C 48 00 00 7C */ b lbl_80304488 -lbl_80304410: -/* 80304410 00300070 38 61 00 08 */ addi r3, r1, 8 -/* 80304414 00300074 38 80 00 00 */ li r4, 0 -/* 80304418 00300078 38 A0 00 00 */ li r5, 0 -/* 8030441C 0030007C 4B FF DC 11 */ bl func_8030202C -/* 80304420 00300080 80 7E 00 00 */ lwz r3, 0(r30) -/* 80304424 00300084 38 A1 00 08 */ addi r5, r1, 8 -/* 80304428 00300088 38 80 08 00 */ li r4, 0x800 -/* 8030442C 0030008C 4B FF DD ED */ bl func_80302218 -/* 80304430 00300090 7C 7F 1B 78 */ mr r31, r3 -/* 80304434 00300094 38 61 00 08 */ addi r3, r1, 8 -/* 80304438 00300098 4B FF DA 61 */ bl func_80301E98 -/* 8030443C 0030009C 2C 1F 00 00 */ cmpwi r31, 0 -/* 80304440 003000A0 41 82 00 08 */ beq lbl_80304448 -/* 80304444 003000A4 7F E3 FB 78 */ mr r3, r31 -lbl_80304448: -/* 80304448 003000A8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030444C 003000AC 41 82 00 08 */ beq lbl_80304454 -/* 80304450 003000B0 48 00 00 38 */ b lbl_80304488 -lbl_80304454: -/* 80304454 003000B4 80 9E 00 00 */ lwz r4, 0(r30) -/* 80304458 003000B8 80 64 00 00 */ lwz r3, 0(r4) -/* 8030445C 003000BC 3C 03 A8 9D */ addis r0, r3, 0xa89d -/* 80304460 003000C0 28 00 46 73 */ cmplwi r0, 0x4673 -/* 80304464 003000C4 41 82 00 0C */ beq lbl_80304470 -/* 80304468 003000C8 38 60 FF F2 */ li r3, -14 -/* 8030446C 003000CC 48 00 00 1C */ b lbl_80304488 -lbl_80304470: -/* 80304470 003000D0 80 04 00 04 */ lwz r0, 4(r4) -/* 80304474 003000D4 28 00 00 02 */ cmplwi r0, 2 -/* 80304478 003000D8 41 82 00 0C */ beq lbl_80304484 -/* 8030447C 003000DC 38 60 FF E5 */ li r3, -27 -/* 80304480 003000E0 48 00 00 08 */ b lbl_80304488 -lbl_80304484: -/* 80304484 003000E4 38 60 00 00 */ li r3, 0 -lbl_80304488: -/* 80304488 003000E8 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 8030448C 003000EC 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 80304490 003000F0 83 C1 00 A8 */ lwz r30, 0xa8(r1) -/* 80304494 003000F4 7C 08 03 A6 */ mtlr r0 -/* 80304498 003000F8 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 8030449C 003000FC 4E 80 00 20 */ blr - -.global func_803044A0 -func_803044A0: -/* 803044A0 00300100 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803044A4 00300104 7C 08 02 A6 */ mflr r0 -/* 803044A8 00300108 90 01 00 34 */ stw r0, 0x34(r1) -/* 803044AC 0030010C 39 61 00 30 */ addi r11, r1, 0x30 -/* 803044B0 00300110 4B EC 2C 79 */ bl _savegpr_27 -/* 803044B4 00300114 3F C0 80 58 */ lis r30, lbl_8057E920@ha -/* 803044B8 00300118 7C 7B 1B 78 */ mr r27, r3 -/* 803044BC 0030011C 7C 9C 23 78 */ mr r28, r4 -/* 803044C0 00300120 3B DE E9 20 */ addi r30, r30, lbl_8057E920@l -/* 803044C4 00300124 4B F6 CE 35 */ bl OSGetCurrentThread -/* 803044C8 00300128 2C 03 00 00 */ cmpwi r3, 0 -/* 803044CC 0030012C 40 82 00 0C */ bne lbl_803044D8 -/* 803044D0 00300130 38 60 FF FF */ li r3, -1 -/* 803044D4 00300134 48 00 00 08 */ b lbl_803044DC -lbl_803044D8: -/* 803044D8 00300138 38 60 00 00 */ li r3, 0 -lbl_803044DC: -/* 803044DC 0030013C 2C 03 00 00 */ cmpwi r3, 0 -/* 803044E0 00300140 40 80 00 08 */ bge lbl_803044E8 -/* 803044E4 00300144 48 00 00 EC */ b lbl_803045D0 -lbl_803044E8: -/* 803044E8 00300148 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13) -/* 803044EC 0030014C 2C 00 00 00 */ cmpwi r0, 0 -/* 803044F0 00300150 40 82 00 50 */ bne lbl_80304540 -/* 803044F4 00300154 4B F6 A2 69 */ bl OSDisableInterrupts -/* 803044F8 00300158 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13) -/* 803044FC 0030015C 7C 7F 1B 78 */ mr r31, r3 -/* 80304500 00300160 2C 00 00 00 */ cmpwi r0, 0 -/* 80304504 00300164 40 82 00 34 */ bne lbl_80304538 -/* 80304508 00300168 38 7E 00 80 */ addi r3, r30, 0x80 -/* 8030450C 0030016C 4B F6 B4 05 */ bl OSInitMutex -/* 80304510 00300170 38 7E 00 A0 */ addi r3, r30, 0xa0 -/* 80304514 00300174 38 80 00 00 */ li r4, 0 -/* 80304518 00300178 38 A0 00 20 */ li r5, 0x20 -/* 8030451C 0030017C 4B CF FB E9 */ bl memset -/* 80304520 00300180 38 7E 00 C0 */ addi r3, r30, 0xc0 -/* 80304524 00300184 38 80 00 00 */ li r4, 0 -/* 80304528 00300188 38 A0 00 20 */ li r5, 0x20 -/* 8030452C 0030018C 4B CF FB D9 */ bl memset -/* 80304530 00300190 38 00 00 01 */ li r0, 1 -/* 80304534 00300194 90 0D AF C0 */ stw r0, lbl_80640280-_SDA_BASE_(r13) -lbl_80304538: -/* 80304538 00300198 7F E3 FB 78 */ mr r3, r31 -/* 8030453C 0030019C 4B F6 A2 49 */ bl OSRestoreInterrupts -lbl_80304540: -/* 80304540 003001A0 38 7E 00 80 */ addi r3, r30, 0x80 -/* 80304544 003001A4 4B F6 B4 05 */ bl OSLockMutex -/* 80304548 003001A8 3F E0 80 44 */ lis r31, lbl_8044655C@ha -/* 8030454C 003001AC 3C 80 80 44 */ lis r4, lbl_80446548@ha -/* 80304550 003001B0 38 7F 65 5C */ addi r3, r31, lbl_8044655C@l -/* 80304554 003001B4 38 A1 00 08 */ addi r5, r1, 8 -/* 80304558 003001B8 38 84 65 48 */ addi r4, r4, lbl_80446548@l -/* 8030455C 003001BC 38 C0 00 00 */ li r6, 0 -/* 80304560 003001C0 48 00 01 1D */ bl func_8030467C -/* 80304564 003001C4 2C 03 00 00 */ cmpwi r3, 0 -/* 80304568 003001C8 7C 7D 1B 78 */ mr r29, r3 -/* 8030456C 003001CC 41 80 00 58 */ blt lbl_803045C4 -/* 80304570 003001D0 38 DE 00 A0 */ addi r6, r30, 0xa0 -/* 80304574 003001D4 93 7E 00 A0 */ stw r27, 0xa0(r30) -/* 80304578 003001D8 80 81 00 08 */ lwz r4, 8(r1) -/* 8030457C 003001DC 38 7F 65 5C */ addi r3, r31, 0x655c -/* 80304580 003001E0 93 86 00 04 */ stw r28, 4(r6) -/* 80304584 003001E4 39 1E 00 C0 */ addi r8, r30, 0xc0 -/* 80304588 003001E8 38 A0 00 17 */ li r5, 0x17 -/* 8030458C 003001EC 38 E0 00 20 */ li r7, 0x20 -/* 80304590 003001F0 39 20 00 20 */ li r9, 0x20 -/* 80304594 003001F4 48 00 01 95 */ bl func_80304728 -/* 80304598 003001F8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030459C 003001FC 7C 7D 1B 78 */ mr r29, r3 -/* 803045A0 00300200 41 80 00 08 */ blt lbl_803045A8 -/* 803045A4 00300204 83 BE 00 C0 */ lwz r29, 0xc0(r30) -lbl_803045A8: -/* 803045A8 00300208 3C 60 80 44 */ lis r3, lbl_8044655C@ha -/* 803045AC 0030020C 80 81 00 08 */ lwz r4, 8(r1) -/* 803045B0 00300210 38 63 65 5C */ addi r3, r3, lbl_8044655C@l -/* 803045B4 00300214 48 00 01 41 */ bl func_803046F4 -/* 803045B8 00300218 2C 1D 00 00 */ cmpwi r29, 0 -/* 803045BC 0030021C 41 80 00 08 */ blt lbl_803045C4 -/* 803045C0 00300220 7C 7D 1B 78 */ mr r29, r3 -lbl_803045C4: -/* 803045C4 00300224 38 7E 00 80 */ addi r3, r30, 0x80 -/* 803045C8 00300228 4B F6 B4 5D */ bl OSUnlockMutex -/* 803045CC 0030022C 7F A3 EB 78 */ mr r3, r29 -lbl_803045D0: -/* 803045D0 00300230 39 61 00 30 */ addi r11, r1, 0x30 -/* 803045D4 00300234 4B EC 2B A1 */ bl _restgpr_27 -/* 803045D8 00300238 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803045DC 0030023C 7C 08 03 A6 */ mtlr r0 -/* 803045E0 00300240 38 21 00 30 */ addi r1, r1, 0x30 -/* 803045E4 00300244 4E 80 00 20 */ blr - -.global func_803045E8 -func_803045E8: -/* 803045E8 00300248 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803045EC 0030024C 7C 08 02 A6 */ mflr r0 -/* 803045F0 00300250 90 01 00 14 */ stw r0, 0x14(r1) -/* 803045F4 00300254 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803045F8 00300258 93 C1 00 08 */ stw r30, 8(r1) -/* 803045FC 0030025C 7C 7E 1B 78 */ mr r30, r3 -lbl_80304600: -/* 80304600 00300260 4B FE 63 ED */ bl SCCheckStatus -/* 80304604 00300264 28 03 00 02 */ cmplwi r3, 2 -/* 80304608 00300268 40 82 00 0C */ bne lbl_80304614 -/* 8030460C 0030026C 38 60 FF FF */ li r3, -1 -/* 80304610 00300270 48 00 00 34 */ b lbl_80304644 -lbl_80304614: -/* 80304614 00300274 2C 03 00 00 */ cmpwi r3, 0 -/* 80304618 00300278 40 82 FF E8 */ bne lbl_80304600 -/* 8030461C 0030027C 4B FE 7F A5 */ bl SCGetCounterBias -/* 80304620 00300280 7C 7F 1B 78 */ mr r31, r3 -/* 80304624 00300284 4B F6 E1 95 */ bl OSGetTime -/* 80304628 00300288 3C C0 80 00 */ lis r6, 0x800000F8@ha -/* 8030462C 0030028C 38 A0 00 00 */ li r5, 0 -/* 80304630 00300290 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) -/* 80304634 00300294 54 06 F0 BE */ srwi r6, r0, 2 -/* 80304638 00300298 4B EC 2C 41 */ bl __div2i -/* 8030463C 0030029C 7F FF 20 10 */ subfc r31, r31, r4 -/* 80304640 003002A0 38 60 00 00 */ li r3, 0 -lbl_80304644: -/* 80304644 003002A4 2C 03 00 00 */ cmpwi r3, 0 -/* 80304648 003002A8 41 82 00 08 */ beq lbl_80304650 -/* 8030464C 003002AC 48 00 00 18 */ b lbl_80304664 -lbl_80304650: -/* 80304650 003002B0 7C 1E 00 D0 */ neg r0, r30 -/* 80304654 003002B4 7F E3 FB 78 */ mr r3, r31 -/* 80304658 003002B8 7C 00 F3 78 */ or r0, r0, r30 -/* 8030465C 003002BC 54 04 0F FE */ srwi r4, r0, 0x1f -/* 80304660 003002C0 4B FF FE 41 */ bl func_803044A0 -lbl_80304664: -/* 80304664 003002C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80304668 003002C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030466C 003002CC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80304670 003002D0 7C 08 03 A6 */ mtlr r0 -/* 80304674 003002D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80304678 003002D8 4E 80 00 20 */ blr - -.global func_8030467C -func_8030467C: -/* 8030467C 003002DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80304680 003002E0 7C 08 02 A6 */ mflr r0 -/* 80304684 003002E4 2C 05 00 00 */ cmpwi r5, 0 -/* 80304688 003002E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030468C 003002EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80304690 003002F0 7C BF 2B 78 */ mr r31, r5 -/* 80304694 003002F4 40 82 00 0C */ bne lbl_803046A0 -/* 80304698 003002F8 38 60 FF FD */ li r3, -3 -/* 8030469C 003002FC 48 00 00 44 */ b lbl_803046E0 -lbl_803046A0: -/* 803046A0 00300300 7C 83 23 78 */ mr r3, r4 -/* 803046A4 00300304 7C C4 33 78 */ mr r4, r6 -/* 803046A8 00300308 4B F9 EA B1 */ bl IOS_Open -/* 803046AC 0030030C 2C 03 00 00 */ cmpwi r3, 0 -/* 803046B0 00300310 90 7F 00 00 */ stw r3, 0(r31) -/* 803046B4 00300314 40 80 00 28 */ bge lbl_803046DC -/* 803046B8 00300318 2C 03 FF FA */ cmpwi r3, -6 -/* 803046BC 0030031C 40 82 00 0C */ bne lbl_803046C8 -/* 803046C0 00300320 38 60 FF E3 */ li r3, -29 -/* 803046C4 00300324 48 00 00 1C */ b lbl_803046E0 -lbl_803046C8: -/* 803046C8 00300328 2C 03 FF F8 */ cmpwi r3, -8 -/* 803046CC 0030032C 38 60 FF D6 */ li r3, -42 -/* 803046D0 00300330 40 82 00 10 */ bne lbl_803046E0 -/* 803046D4 00300334 38 60 FF E6 */ li r3, -26 -/* 803046D8 00300338 48 00 00 08 */ b lbl_803046E0 -lbl_803046DC: -/* 803046DC 0030033C 38 60 00 00 */ li r3, 0 -lbl_803046E0: -/* 803046E0 00300340 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803046E4 00300344 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803046E8 00300348 7C 08 03 A6 */ mtlr r0 -/* 803046EC 0030034C 38 21 00 10 */ addi r1, r1, 0x10 -/* 803046F0 00300350 4E 80 00 20 */ blr - -.global func_803046F4 -func_803046F4: -/* 803046F4 00300354 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803046F8 00300358 7C 08 02 A6 */ mflr r0 -/* 803046FC 0030035C 7C 83 23 78 */ mr r3, r4 -/* 80304700 00300360 90 01 00 14 */ stw r0, 0x14(r1) -/* 80304704 00300364 4B F9 EC 35 */ bl IOS_Close -/* 80304708 00300368 2C 03 00 00 */ cmpwi r3, 0 -/* 8030470C 0030036C 38 60 00 00 */ li r3, 0 -/* 80304710 00300370 40 80 00 08 */ bge lbl_80304718 -/* 80304714 00300374 38 60 FF D6 */ li r3, -42 -lbl_80304718: -/* 80304718 00300378 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030471C 0030037C 7C 08 03 A6 */ mtlr r0 -/* 80304720 00300380 38 21 00 10 */ addi r1, r1, 0x10 -/* 80304724 00300384 4E 80 00 20 */ blr - -.global func_80304728 -func_80304728: -/* 80304728 00300388 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030472C 0030038C 7C 08 02 A6 */ mflr r0 -/* 80304730 00300390 7C 83 23 78 */ mr r3, r4 -/* 80304734 00300394 7C A4 2B 78 */ mr r4, r5 -/* 80304738 00300398 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030473C 0030039C 7C C5 33 78 */ mr r5, r6 -/* 80304740 003003A0 7C E6 3B 78 */ mr r6, r7 -/* 80304744 003003A4 7D 07 43 78 */ mr r7, r8 -/* 80304748 003003A8 7D 28 4B 78 */ mr r8, r9 -/* 8030474C 003003AC 4B F9 F3 A5 */ bl IOS_Ioctl -/* 80304750 003003B0 2C 03 00 00 */ cmpwi r3, 0 -/* 80304754 003003B4 38 60 00 00 */ li r3, 0 -/* 80304758 003003B8 40 80 00 08 */ bge lbl_80304760 -/* 8030475C 003003BC 38 60 FF D6 */ li r3, -42 -lbl_80304760: -/* 80304760 003003C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80304764 003003C4 7C 08 03 A6 */ mtlr r0 -/* 80304768 003003C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030476C 003003CC 4E 80 00 20 */ blr - -.global func_80304770 -func_80304770: -/* 80304770 003003D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80304774 003003D4 7C 08 02 A6 */ mflr r0 -/* 80304778 003003D8 7C 83 23 78 */ mr r3, r4 -/* 8030477C 003003DC 7C A4 2B 78 */ mr r4, r5 -/* 80304780 003003E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80304784 003003E4 3D 60 80 30 */ lis r11, lbl_803047D4@ha -/* 80304788 003003E8 7C C5 33 78 */ mr r5, r6 -/* 8030478C 003003EC 7C E6 3B 78 */ mr r6, r7 -/* 80304790 003003F0 7D 07 43 78 */ mr r7, r8 -/* 80304794 003003F4 7D 28 4B 78 */ mr r8, r9 -/* 80304798 003003F8 39 2B 47 D4 */ addi r9, r11, lbl_803047D4@l -/* 8030479C 003003FC 4B F9 F2 1D */ bl IOS_IoctlAsync -/* 803047A0 00300400 2C 03 00 00 */ cmpwi r3, 0 -/* 803047A4 00300404 40 80 00 0C */ bge lbl_803047B0 -/* 803047A8 00300408 38 60 FF D6 */ li r3, -42 -/* 803047AC 0030040C 48 00 00 10 */ b lbl_803047BC -lbl_803047B0: -/* 803047B0 00300410 38 00 00 01 */ li r0, 1 -/* 803047B4 00300414 38 60 00 00 */ li r3, 0 -/* 803047B8 00300418 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13) -lbl_803047BC: -/* 803047BC 0030041C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803047C0 00300420 7C 08 03 A6 */ mtlr r0 -/* 803047C4 00300424 38 21 00 10 */ addi r1, r1, 0x10 -/* 803047C8 00300428 4E 80 00 20 */ blr - -.global func_803047CC -func_803047CC: -/* 803047CC 0030042C 80 6D AF C8 */ lwz r3, lbl_80640288-_SDA_BASE_(r13) -/* 803047D0 00300430 4E 80 00 20 */ blr -lbl_803047D4: -/* 803047D4 00300434 2C 04 00 00 */ cmpwi r4, 0 -/* 803047D8 00300438 41 82 00 08 */ beq lbl_803047E0 -/* 803047DC 0030043C 90 64 00 00 */ stw r3, 0(r4) -lbl_803047E0: -/* 803047E0 00300440 38 00 00 00 */ li r0, 0 -/* 803047E4 00300444 38 60 00 00 */ li r3, 0 -/* 803047E8 00300448 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13) -/* 803047EC 0030044C 4E 80 00 20 */ blr - -.global func_803047F0 -func_803047F0: -/* 803047F0 00300450 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803047F4 00300454 7C 08 02 A6 */ mflr r0 -/* 803047F8 00300458 90 01 00 14 */ stw r0, 0x14(r1) -/* 803047FC 0030045C 48 00 02 B1 */ bl func_80304AAC -/* 80304800 00300460 2C 03 00 00 */ cmpwi r3, 0 -/* 80304804 00300464 41 80 00 28 */ blt lbl_8030482C -/* 80304808 00300468 38 60 00 00 */ li r3, 0 -/* 8030480C 0030046C 4B FF FD DD */ bl func_803045E8 -/* 80304810 00300470 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304814 00300474 38 80 00 00 */ li r4, 0 -/* 80304818 00300478 38 63 30 00 */ addi r3, r3, 0x3000 -/* 8030481C 0030047C 48 00 00 29 */ bl func_80304844 -/* 80304820 00300480 2C 03 00 00 */ cmpwi r3, 0 -/* 80304824 00300484 41 80 00 08 */ blt lbl_8030482C -/* 80304828 00300488 38 60 00 00 */ li r3, 0 -lbl_8030482C: -/* 8030482C 0030048C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80304830 00300490 7C 08 03 A6 */ mtlr r0 -/* 80304834 00300494 38 21 00 10 */ addi r1, r1, 0x10 -/* 80304838 00300498 4E 80 00 20 */ blr - -.global func_8030483C -func_8030483C: -/* 8030483C 0030049C 38 60 00 00 */ li r3, 0 -/* 80304840 003004A0 4E 80 00 20 */ blr - -.global func_80304844 -func_80304844: -/* 80304844 003004A4 94 21 FD 40 */ stwu r1, -0x2c0(r1) -/* 80304848 003004A8 7C 08 02 A6 */ mflr r0 -/* 8030484C 003004AC 90 01 02 C4 */ stw r0, 0x2c4(r1) -/* 80304850 003004B0 39 61 02 C0 */ addi r11, r1, 0x2c0 -/* 80304854 003004B4 4B EC 28 D1 */ bl _savegpr_26 -/* 80304858 003004B8 3B E1 00 A8 */ addi r31, r1, 0xa8 -/* 8030485C 003004BC 7C 7C 1B 78 */ mr r28, r3 -/* 80304860 003004C0 7C 9D 23 78 */ mr r29, r4 -/* 80304864 003004C4 3B C0 00 00 */ li r30, 0 -/* 80304868 003004C8 3F 60 00 01 */ lis r27, 1 -/* 8030486C 003004CC 48 00 02 14 */ b lbl_80304A80 -lbl_80304870: -/* 80304870 003004D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304874 003004D4 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 80304878 003004D8 A0 C3 30 10 */ lhz r6, 0x3010(r3) -/* 8030487C 003004DC 38 A3 30 00 */ addi r5, r3, 0x3000 -/* 80304880 003004E0 7C 00 30 40 */ cmplw r0, r6 -/* 80304884 003004E4 40 80 00 0C */ bge lbl_80304890 -/* 80304888 003004E8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030488C 003004EC 40 82 00 0C */ bne lbl_80304898 -lbl_80304890: -/* 80304890 003004F0 38 80 FF FD */ li r4, -3 -/* 80304894 003004F4 48 00 00 20 */ b lbl_803048B4 -lbl_80304898: -/* 80304898 003004F8 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b -/* 8030489C 003004FC 38 80 00 00 */ li r4, 0 -/* 803048A0 00300500 7C 65 02 14 */ add r3, r5, r0 -/* 803048A4 00300504 80 03 00 80 */ lwz r0, 0x80(r3) -/* 803048A8 00300508 2C 00 00 00 */ cmpwi r0, 0 -/* 803048AC 0030050C 40 82 00 08 */ bne lbl_803048B4 -/* 803048B0 00300510 38 80 FF F3 */ li r4, -13 -lbl_803048B4: -/* 803048B4 00300514 2C 04 00 00 */ cmpwi r4, 0 -/* 803048B8 00300518 40 82 01 C4 */ bne lbl_80304A7C -/* 803048BC 0030051C 2C 1D 00 00 */ cmpwi r29, 0 -/* 803048C0 00300520 41 82 01 BC */ beq lbl_80304A7C -/* 803048C4 00300524 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 803048C8 00300528 7C 00 30 40 */ cmplw r0, r6 -/* 803048CC 0030052C 40 80 00 0C */ bge lbl_803048D8 -/* 803048D0 00300530 28 00 FF FF */ cmplwi r0, 0xffff -/* 803048D4 00300534 40 82 00 0C */ bne lbl_803048E0 -lbl_803048D8: -/* 803048D8 00300538 38 60 FF FD */ li r3, -3 -/* 803048DC 0030053C 48 00 00 20 */ b lbl_803048FC -lbl_803048E0: -/* 803048E0 00300540 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b -/* 803048E4 00300544 38 60 00 00 */ li r3, 0 -/* 803048E8 00300548 7C 85 02 14 */ add r4, r5, r0 -/* 803048EC 0030054C 80 04 00 80 */ lwz r0, 0x80(r4) -/* 803048F0 00300550 2C 00 00 00 */ cmpwi r0, 0 -/* 803048F4 00300554 40 82 00 08 */ bne lbl_803048FC -/* 803048F8 00300558 38 60 FF F3 */ li r3, -13 -lbl_803048FC: -/* 803048FC 0030055C 2C 03 00 00 */ cmpwi r3, 0 -/* 80304900 00300560 40 80 00 08 */ bge lbl_80304908 -/* 80304904 00300564 48 00 00 78 */ b lbl_8030497C -lbl_80304908: -/* 80304908 00300568 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13) -/* 8030490C 0030056C 38 61 00 08 */ addi r3, r1, 8 -/* 80304910 00300570 38 A0 00 0A */ li r5, 0xa -/* 80304914 00300574 4B FF D2 35 */ bl func_80301B48 -/* 80304918 00300578 2C 03 00 00 */ cmpwi r3, 0 -/* 8030491C 0030057C 40 80 00 08 */ bge lbl_80304924 -/* 80304920 00300580 48 00 00 5C */ b lbl_8030497C -lbl_80304924: -/* 80304924 00300584 57 C4 49 EC */ rlwinm r4, r30, 9, 7, 0x16 -/* 80304928 00300588 38 61 00 08 */ addi r3, r1, 8 -/* 8030492C 0030058C 38 84 08 00 */ addi r4, r4, 0x800 -/* 80304930 00300590 38 A0 00 00 */ li r5, 0 -/* 80304934 00300594 4B FF D6 F9 */ bl func_8030202C -/* 80304938 00300598 2C 03 00 00 */ cmpwi r3, 0 -/* 8030493C 0030059C 40 80 00 0C */ bge lbl_80304948 -/* 80304940 003005A0 7C 7A 1B 78 */ mr r26, r3 -/* 80304944 003005A4 48 00 00 24 */ b lbl_80304968 -lbl_80304948: -/* 80304948 003005A8 7F E3 FB 78 */ mr r3, r31 -/* 8030494C 003005AC 38 A1 00 08 */ addi r5, r1, 8 -/* 80304950 003005B0 38 80 02 00 */ li r4, 0x200 -/* 80304954 003005B4 4B FF D8 C5 */ bl func_80302218 -/* 80304958 003005B8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030495C 003005BC 3B 40 00 00 */ li r26, 0 -/* 80304960 003005C0 40 80 00 08 */ bge lbl_80304968 -/* 80304964 003005C4 7C 7A 1B 78 */ mr r26, r3 -lbl_80304968: -/* 80304968 003005C8 38 61 00 08 */ addi r3, r1, 8 -/* 8030496C 003005CC 4B FF D5 2D */ bl func_80301E98 -/* 80304970 003005D0 2C 1A 00 00 */ cmpwi r26, 0 -/* 80304974 003005D4 41 82 00 08 */ beq lbl_8030497C -/* 80304978 003005D8 7F 43 D3 78 */ mr r3, r26 -lbl_8030497C: -/* 8030497C 003005DC 2C 03 00 00 */ cmpwi r3, 0 -/* 80304980 003005E0 40 80 00 74 */ bge lbl_803049F4 -/* 80304984 003005E4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304988 003005E8 2C 1F 00 00 */ cmpwi r31, 0 -/* 8030498C 003005EC 38 63 30 00 */ addi r3, r3, 0x3000 -/* 80304990 003005F0 40 82 00 0C */ bne lbl_8030499C -/* 80304994 003005F4 38 00 FF FD */ li r0, -3 -/* 80304998 003005F8 48 00 00 38 */ b lbl_803049D0 -lbl_8030499C: -/* 8030499C 003005FC 2C 03 00 00 */ cmpwi r3, 0 -/* 803049A0 00300600 40 82 00 0C */ bne lbl_803049AC -/* 803049A4 00300604 38 00 FF F7 */ li r0, -9 -/* 803049A8 00300608 48 00 00 28 */ b lbl_803049D0 -lbl_803049AC: -/* 803049AC 0030060C A0 81 00 A8 */ lhz r4, 0xa8(r1) -/* 803049B0 00300610 28 04 FF FF */ cmplwi r4, 0xffff -/* 803049B4 00300614 41 82 00 18 */ beq lbl_803049CC -/* 803049B8 00300618 A0 03 00 10 */ lhz r0, 0x10(r3) -/* 803049BC 0030061C 7C 04 00 40 */ cmplw r4, r0 -/* 803049C0 00300620 41 80 00 0C */ blt lbl_803049CC -/* 803049C4 00300624 38 00 FF FD */ li r0, -3 -/* 803049C8 00300628 48 00 00 08 */ b lbl_803049D0 -lbl_803049CC: -/* 803049CC 0030062C 38 00 00 00 */ li r0, 0 -lbl_803049D0: -/* 803049D0 00300630 2C 00 00 00 */ cmpwi r0, 0 -/* 803049D4 00300634 40 82 00 A8 */ bne lbl_80304A7C -/* 803049D8 00300638 7F E3 FB 78 */ mr r3, r31 -/* 803049DC 0030063C 48 00 01 C1 */ bl func_80304B9C -/* 803049E0 00300640 2C 03 00 00 */ cmpwi r3, 0 -/* 803049E4 00300644 41 80 00 98 */ blt lbl_80304A7C -/* 803049E8 00300648 38 1B FF FF */ addi r0, r27, -1 -/* 803049EC 0030064C B0 01 00 A8 */ sth r0, 0xa8(r1) -/* 803049F0 00300650 48 00 00 8C */ b lbl_80304A7C -lbl_803049F4: -/* 803049F4 00300654 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13) -/* 803049F8 00300658 57 C3 04 3E */ clrlwi r3, r30, 0x10 -/* 803049FC 0030065C 38 84 30 00 */ addi r4, r4, 0x3000 -/* 80304A00 00300660 A0 04 00 12 */ lhz r0, 0x12(r4) -/* 80304A04 00300664 7C 03 00 40 */ cmplw r3, r0 -/* 80304A08 00300668 41 80 00 74 */ blt lbl_80304A7C -/* 80304A0C 0030066C A8 01 00 C0 */ lha r0, 0xc0(r1) -/* 80304A10 00300670 2C 00 00 00 */ cmpwi r0, 0 -/* 80304A14 00300674 40 82 00 68 */ bne lbl_80304A7C -/* 80304A18 00300678 2C 1F 00 00 */ cmpwi r31, 0 -/* 80304A1C 0030067C 40 82 00 0C */ bne lbl_80304A28 -/* 80304A20 00300680 38 00 FF FD */ li r0, -3 -/* 80304A24 00300684 48 00 00 38 */ b lbl_80304A5C -lbl_80304A28: -/* 80304A28 00300688 2C 04 00 00 */ cmpwi r4, 0 -/* 80304A2C 0030068C 40 82 00 0C */ bne lbl_80304A38 -/* 80304A30 00300690 38 00 FF F7 */ li r0, -9 -/* 80304A34 00300694 48 00 00 28 */ b lbl_80304A5C -lbl_80304A38: -/* 80304A38 00300698 A0 61 00 A8 */ lhz r3, 0xa8(r1) -/* 80304A3C 0030069C 28 03 FF FF */ cmplwi r3, 0xffff -/* 80304A40 003006A0 41 82 00 18 */ beq lbl_80304A58 -/* 80304A44 003006A4 A0 04 00 10 */ lhz r0, 0x10(r4) -/* 80304A48 003006A8 7C 03 00 40 */ cmplw r3, r0 -/* 80304A4C 003006AC 41 80 00 0C */ blt lbl_80304A58 -/* 80304A50 003006B0 38 00 FF FD */ li r0, -3 -/* 80304A54 003006B4 48 00 00 08 */ b lbl_80304A5C -lbl_80304A58: -/* 80304A58 003006B8 38 00 00 00 */ li r0, 0 -lbl_80304A5C: -/* 80304A5C 003006BC 2C 00 00 00 */ cmpwi r0, 0 -/* 80304A60 003006C0 40 82 00 1C */ bne lbl_80304A7C -/* 80304A64 003006C4 7F E3 FB 78 */ mr r3, r31 -/* 80304A68 003006C8 48 00 01 35 */ bl func_80304B9C -/* 80304A6C 003006CC 2C 03 00 00 */ cmpwi r3, 0 -/* 80304A70 003006D0 41 80 00 0C */ blt lbl_80304A7C -/* 80304A74 003006D4 38 1B FF FF */ addi r0, r27, -1 -/* 80304A78 003006D8 B0 01 00 A8 */ sth r0, 0xa8(r1) -lbl_80304A7C: -/* 80304A7C 003006DC 3B DE 00 01 */ addi r30, r30, 1 -lbl_80304A80: -/* 80304A80 003006E0 A0 1C 00 10 */ lhz r0, 0x10(r28) -/* 80304A84 003006E4 57 C3 04 3E */ clrlwi r3, r30, 0x10 -/* 80304A88 003006E8 7C 03 00 40 */ cmplw r3, r0 -/* 80304A8C 003006EC 41 80 FD E4 */ blt lbl_80304870 -/* 80304A90 003006F0 39 61 02 C0 */ addi r11, r1, 0x2c0 -/* 80304A94 003006F4 38 60 00 00 */ li r3, 0 -/* 80304A98 003006F8 4B EC 26 D9 */ bl _restgpr_26 -/* 80304A9C 003006FC 80 01 02 C4 */ lwz r0, 0x2c4(r1) -/* 80304AA0 00300700 7C 08 03 A6 */ mtlr r0 -/* 80304AA4 00300704 38 21 02 C0 */ addi r1, r1, 0x2c0 -/* 80304AA8 00300708 4E 80 00 20 */ blr - -.global func_80304AAC -func_80304AAC: -/* 80304AAC 0030070C 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 80304AB0 00300710 7C 08 02 A6 */ mflr r0 -/* 80304AB4 00300714 38 A0 00 02 */ li r5, 2 -/* 80304AB8 00300718 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80304ABC 0030071C 38 61 00 0C */ addi r3, r1, 0xc -/* 80304AC0 00300720 93 E1 00 AC */ stw r31, 0xac(r1) -/* 80304AC4 00300724 3B E0 00 00 */ li r31, 0 -/* 80304AC8 00300728 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13) -/* 80304ACC 0030072C 93 E1 00 08 */ stw r31, 8(r1) -/* 80304AD0 00300730 4B FF D0 79 */ bl func_80301B48 -/* 80304AD4 00300734 2C 03 00 00 */ cmpwi r3, 0 -/* 80304AD8 00300738 40 80 00 08 */ bge lbl_80304AE0 -/* 80304ADC 0030073C 48 00 00 AC */ b lbl_80304B88 -lbl_80304AE0: -/* 80304AE0 00300740 38 61 00 0C */ addi r3, r1, 0xc -/* 80304AE4 00300744 38 80 00 00 */ li r4, 0 -/* 80304AE8 00300748 38 A0 00 00 */ li r5, 0 -/* 80304AEC 0030074C 4B FF D5 41 */ bl func_8030202C -/* 80304AF0 00300750 2C 03 00 00 */ cmpwi r3, 0 -/* 80304AF4 00300754 40 80 00 08 */ bge lbl_80304AFC -/* 80304AF8 00300758 48 00 00 28 */ b lbl_80304B20 -lbl_80304AFC: -/* 80304AFC 0030075C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304B00 00300760 38 A1 00 0C */ addi r5, r1, 0xc -/* 80304B04 00300764 38 80 08 00 */ li r4, 0x800 -/* 80304B08 00300768 38 63 30 00 */ addi r3, r3, 0x3000 -/* 80304B0C 0030076C 4B FF D7 0D */ bl func_80302218 -/* 80304B10 00300770 2C 03 00 00 */ cmpwi r3, 0 -/* 80304B14 00300774 40 80 00 08 */ bge lbl_80304B1C -/* 80304B18 00300778 7C 7F 1B 78 */ mr r31, r3 -lbl_80304B1C: -/* 80304B1C 0030077C 7F E3 FB 78 */ mr r3, r31 -lbl_80304B20: -/* 80304B20 00300780 2C 03 00 00 */ cmpwi r3, 0 -/* 80304B24 00300784 40 80 00 08 */ bge lbl_80304B2C -/* 80304B28 00300788 48 00 00 60 */ b lbl_80304B88 -lbl_80304B2C: -/* 80304B2C 0030078C 38 61 00 0C */ addi r3, r1, 0xc -/* 80304B30 00300790 38 81 00 08 */ addi r4, r1, 8 -/* 80304B34 00300794 4B FF DA 85 */ bl func_803025B8 -/* 80304B38 00300798 2C 03 00 00 */ cmpwi r3, 0 -/* 80304B3C 0030079C 7C 7F 1B 78 */ mr r31, r3 -/* 80304B40 003007A0 41 80 00 34 */ blt lbl_80304B74 -/* 80304B44 003007A4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304B48 003007A8 A0 83 30 10 */ lhz r4, 0x3010(r3) -/* 80304B4C 003007AC 28 04 00 01 */ cmplwi r4, 1 -/* 80304B50 003007B0 41 80 00 18 */ blt lbl_80304B68 -/* 80304B54 003007B4 A0 03 30 12 */ lhz r0, 0x3012(r3) -/* 80304B58 003007B8 28 00 00 01 */ cmplwi r0, 1 -/* 80304B5C 003007BC 41 80 00 0C */ blt lbl_80304B68 -/* 80304B60 003007C0 7C 04 00 40 */ cmplw r4, r0 -/* 80304B64 003007C4 40 80 00 0C */ bge lbl_80304B70 -lbl_80304B68: -/* 80304B68 003007C8 3B E0 FF F2 */ li r31, -14 -/* 80304B6C 003007CC 48 00 00 08 */ b lbl_80304B74 -lbl_80304B70: -/* 80304B70 003007D0 3B E0 00 00 */ li r31, 0 -lbl_80304B74: -/* 80304B74 003007D4 38 61 00 0C */ addi r3, r1, 0xc -/* 80304B78 003007D8 4B FF D3 21 */ bl func_80301E98 -/* 80304B7C 003007DC 2C 1F 00 00 */ cmpwi r31, 0 -/* 80304B80 003007E0 41 82 00 08 */ beq lbl_80304B88 -/* 80304B84 003007E4 7F E3 FB 78 */ mr r3, r31 -lbl_80304B88: -/* 80304B88 003007E8 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 80304B8C 003007EC 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 80304B90 003007F0 7C 08 03 A6 */ mtlr r0 -/* 80304B94 003007F4 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 80304B98 003007F8 4E 80 00 20 */ blr - -.global func_80304B9C -func_80304B9C: -/* 80304B9C 003007FC 94 21 FF 40 */ stwu r1, -0xc0(r1) -/* 80304BA0 00300800 7C 08 02 A6 */ mflr r0 -/* 80304BA4 00300804 38 A0 00 04 */ li r5, 4 -/* 80304BA8 00300808 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 80304BAC 0030080C 93 E1 00 BC */ stw r31, 0xbc(r1) -/* 80304BB0 00300810 93 C1 00 B8 */ stw r30, 0xb8(r1) -/* 80304BB4 00300814 93 A1 00 B4 */ stw r29, 0xb4(r1) -/* 80304BB8 00300818 7C 7D 1B 78 */ mr r29, r3 -/* 80304BBC 0030081C 38 61 00 08 */ addi r3, r1, 8 -/* 80304BC0 00300820 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13) -/* 80304BC4 00300824 4B FF CF 85 */ bl func_80301B48 -/* 80304BC8 00300828 2C 03 00 00 */ cmpwi r3, 0 -/* 80304BCC 0030082C 40 80 00 08 */ bge lbl_80304BD4 -/* 80304BD0 00300830 48 00 01 30 */ b lbl_80304D00 -lbl_80304BD4: -/* 80304BD4 00300834 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304BD8 00300838 38 80 00 00 */ li r4, 0 -/* 80304BDC 0030083C A3 FD 00 00 */ lhz r31, 0(r29) -/* 80304BE0 00300840 38 A0 02 00 */ li r5, 0x200 -/* 80304BE4 00300844 3B C3 38 00 */ addi r30, r3, 0x3800 -/* 80304BE8 00300848 7F C3 F3 78 */ mr r3, r30 -/* 80304BEC 0030084C 4B CF F5 19 */ bl memset -/* 80304BF0 00300850 38 60 00 FF */ li r3, 0xff -/* 80304BF4 00300854 57 E0 23 36 */ rlwinm r0, r31, 4, 0xc, 0x1b -/* 80304BF8 00300858 98 7E 00 02 */ stb r3, 2(r30) -/* 80304BFC 0030085C 38 80 00 00 */ li r4, 0 -/* 80304C00 00300860 38 A0 00 10 */ li r5, 0x10 -/* 80304C04 00300864 B3 FE 00 00 */ sth r31, 0(r30) -/* 80304C08 00300868 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304C0C 0030086C 7C 63 02 14 */ add r3, r3, r0 -/* 80304C10 00300870 38 63 30 80 */ addi r3, r3, 0x3080 -/* 80304C14 00300874 4B CF F4 F1 */ bl memset -/* 80304C18 00300878 A0 1E 00 00 */ lhz r0, 0(r30) -/* 80304C1C 0030087C 38 61 00 08 */ addi r3, r1, 8 -/* 80304C20 00300880 38 A0 00 00 */ li r5, 0 -/* 80304C24 00300884 54 04 48 2C */ slwi r4, r0, 9 -/* 80304C28 00300888 38 84 08 00 */ addi r4, r4, 0x800 -/* 80304C2C 0030088C 4B FF D4 01 */ bl func_8030202C -/* 80304C30 00300890 2C 03 00 00 */ cmpwi r3, 0 -/* 80304C34 00300894 40 80 00 08 */ bge lbl_80304C3C -/* 80304C38 00300898 48 00 00 40 */ b lbl_80304C78 -lbl_80304C3C: -/* 80304C3C 0030089C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304C40 003008A0 7F C4 F3 78 */ mr r4, r30 -/* 80304C44 003008A4 38 A0 02 00 */ li r5, 0x200 -/* 80304C48 003008A8 38 63 38 00 */ addi r3, r3, 0x3800 -/* 80304C4C 003008AC 4B CF F3 B5 */ bl memcpy -/* 80304C50 003008B0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304C54 003008B4 38 A1 00 08 */ addi r5, r1, 8 -/* 80304C58 003008B8 38 80 02 00 */ li r4, 0x200 -/* 80304C5C 003008BC 38 63 38 00 */ addi r3, r3, 0x3800 -/* 80304C60 003008C0 4B FF D7 85 */ bl func_803023E4 -/* 80304C64 003008C4 2C 03 00 00 */ cmpwi r3, 0 -/* 80304C68 003008C8 38 00 00 00 */ li r0, 0 -/* 80304C6C 003008CC 40 80 00 08 */ bge lbl_80304C74 -/* 80304C70 003008D0 7C 60 1B 78 */ mr r0, r3 -lbl_80304C74: -/* 80304C74 003008D4 7C 03 03 78 */ mr r3, r0 -lbl_80304C78: -/* 80304C78 003008D8 2C 03 00 00 */ cmpwi r3, 0 -/* 80304C7C 003008DC 7C 7E 1B 78 */ mr r30, r3 -/* 80304C80 003008E0 41 80 00 6C */ blt lbl_80304CEC -/* 80304C84 003008E4 A0 1D 00 00 */ lhz r0, 0(r29) -/* 80304C88 003008E8 38 80 00 00 */ li r4, 0 -/* 80304C8C 003008EC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304C90 003008F0 38 A0 00 10 */ li r5, 0x10 -/* 80304C94 003008F4 54 00 20 36 */ slwi r0, r0, 4 -/* 80304C98 003008F8 7C 63 02 14 */ add r3, r3, r0 -/* 80304C9C 003008FC 38 63 30 80 */ addi r3, r3, 0x3080 -/* 80304CA0 00300900 4B CF F4 65 */ bl memset -/* 80304CA4 00300904 38 61 00 08 */ addi r3, r1, 8 -/* 80304CA8 00300908 38 80 00 00 */ li r4, 0 -/* 80304CAC 0030090C 38 A0 00 00 */ li r5, 0 -/* 80304CB0 00300910 4B FF D3 7D */ bl func_8030202C -/* 80304CB4 00300914 2C 03 00 00 */ cmpwi r3, 0 -/* 80304CB8 00300918 40 80 00 08 */ bge lbl_80304CC0 -/* 80304CBC 0030091C 48 00 00 2C */ b lbl_80304CE8 -lbl_80304CC0: -/* 80304CC0 00300920 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) -/* 80304CC4 00300924 38 A1 00 08 */ addi r5, r1, 8 -/* 80304CC8 00300928 38 80 08 00 */ li r4, 0x800 -/* 80304CCC 0030092C 38 63 30 00 */ addi r3, r3, 0x3000 -/* 80304CD0 00300930 4B FF D7 15 */ bl func_803023E4 -/* 80304CD4 00300934 2C 03 00 00 */ cmpwi r3, 0 -/* 80304CD8 00300938 38 00 00 00 */ li r0, 0 -/* 80304CDC 0030093C 40 80 00 08 */ bge lbl_80304CE4 -/* 80304CE0 00300940 7C 60 1B 78 */ mr r0, r3 -lbl_80304CE4: -/* 80304CE4 00300944 7C 03 03 78 */ mr r3, r0 -lbl_80304CE8: -/* 80304CE8 00300948 7C 7E 1B 78 */ mr r30, r3 -lbl_80304CEC: -/* 80304CEC 0030094C 38 61 00 08 */ addi r3, r1, 8 -/* 80304CF0 00300950 4B FF D1 A9 */ bl func_80301E98 -/* 80304CF4 00300954 2C 1E 00 00 */ cmpwi r30, 0 -/* 80304CF8 00300958 41 82 00 08 */ beq lbl_80304D00 -/* 80304CFC 0030095C 7F C3 F3 78 */ mr r3, r30 -lbl_80304D00: -/* 80304D00 00300960 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 80304D04 00300964 83 E1 00 BC */ lwz r31, 0xbc(r1) -/* 80304D08 00300968 83 C1 00 B8 */ lwz r30, 0xb8(r1) -/* 80304D0C 0030096C 83 A1 00 B4 */ lwz r29, 0xb4(r1) -/* 80304D10 00300970 7C 08 03 A6 */ mtlr r0 -/* 80304D14 00300974 38 21 00 C0 */ addi r1, r1, 0xc0 -/* 80304D18 00300978 4E 80 00 20 */ blr - -.global func_80304D1C -func_80304D1C: -/* 80304D1C 0030097C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80304D20 00300980 7C 08 02 A6 */ mflr r0 -/* 80304D24 00300984 90 01 00 24 */ stw r0, 0x24(r1) -/* 80304D28 00300988 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80304D2C 0030098C 3B E0 00 00 */ li r31, 0 -/* 80304D30 00300990 4B FF E3 25 */ bl func_80303054 -/* 80304D34 00300994 3C A0 80 30 */ lis r5, lbl_80304DC4@ha -/* 80304D38 00300998 3C 80 80 58 */ lis r4, lbl_8057EA00@ha -/* 80304D3C 0030099C 38 A5 4D C4 */ addi r5, r5, lbl_80304DC4@l -/* 80304D40 003009A0 38 00 00 6E */ li r0, 0x6e -/* 80304D44 003009A4 38 64 EA 00 */ addi r3, r4, lbl_8057EA00@l -/* 80304D48 003009A8 90 A4 EA 00 */ stw r5, -0x1600(r4) -/* 80304D4C 003009AC 90 03 00 04 */ stw r0, 4(r3) -/* 80304D50 003009B0 4B F6 AF 41 */ bl OSRegisterShutdownFunction -/* 80304D54 003009B4 80 0D 8C C8 */ lwz r0, lbl_8063DF88-_SDA_BASE_(r13) -/* 80304D58 003009B8 2C 00 00 00 */ cmpwi r0, 0 -/* 80304D5C 003009BC 40 80 00 24 */ bge lbl_80304D80 -/* 80304D60 003009C0 3C 60 80 44 */ lis r3, lbl_80446590@ha -/* 80304D64 003009C4 3C 80 80 44 */ lis r4, lbl_804465A8@ha -/* 80304D68 003009C8 38 63 65 90 */ addi r3, r3, lbl_80446590@l -/* 80304D6C 003009CC 38 AD 8C C8 */ addi r5, r13, lbl_8063DF88-_SDA_BASE_ -/* 80304D70 003009D0 38 84 65 A8 */ addi r4, r4, lbl_804465A8@l -/* 80304D74 003009D4 38 C0 00 01 */ li r6, 1 -/* 80304D78 003009D8 4B FF F9 05 */ bl func_8030467C -/* 80304D7C 003009DC 7C 7F 1B 78 */ mr r31, r3 -lbl_80304D80: -/* 80304D80 003009E0 38 00 00 05 */ li r0, 5 -/* 80304D84 003009E4 90 0D AF D0 */ stw r0, lbl_80640290-_SDA_BASE_(r13) -lbl_80304D88: -/* 80304D88 003009E8 4B FE 5C 65 */ bl SCCheckStatus -/* 80304D8C 003009EC 28 03 00 02 */ cmplwi r3, 2 -/* 80304D90 003009F0 41 82 00 1C */ beq lbl_80304DAC -/* 80304D94 003009F4 28 03 00 01 */ cmplwi r3, 1 -/* 80304D98 003009F8 41 82 FF F0 */ beq lbl_80304D88 -/* 80304D9C 003009FC 38 61 00 08 */ addi r3, r1, 8 -/* 80304DA0 00300A00 4B FE 76 9D */ bl SCGetIdleMode -/* 80304DA4 00300A04 88 61 00 09 */ lbz r3, 9(r1) -/* 80304DA8 00300A08 4B F6 E8 45 */ bl __OSSetIdleLEDMode -lbl_80304DAC: -/* 80304DAC 00300A0C 7F E3 FB 78 */ mr r3, r31 -/* 80304DB0 00300A10 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80304DB4 00300A14 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80304DB8 00300A18 7C 08 03 A6 */ mtlr r0 -/* 80304DBC 00300A1C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80304DC0 00300A20 4E 80 00 20 */ blr -lbl_80304DC4: -/* 80304DC4 00300A24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80304DC8 00300A28 7C 08 02 A6 */ mflr r0 -/* 80304DCC 00300A2C 2C 03 00 00 */ cmpwi r3, 0 -/* 80304DD0 00300A30 90 01 00 14 */ stw r0, 0x14(r1) -/* 80304DD4 00300A34 41 82 00 0C */ beq lbl_80304DE0 -/* 80304DD8 00300A38 38 60 00 01 */ li r3, 1 -/* 80304DDC 00300A3C 48 00 00 A8 */ b lbl_80304E84 -lbl_80304DE0: -/* 80304DE0 00300A40 80 0D AF D4 */ lwz r0, lbl_80640294-_SDA_BASE_(r13) -/* 80304DE4 00300A44 2C 00 00 00 */ cmpwi r0, 0 -/* 80304DE8 00300A48 41 82 00 54 */ beq lbl_80304E3C -/* 80304DEC 00300A4C 4B FF F9 E1 */ bl func_803047CC -/* 80304DF0 00300A50 2C 03 00 00 */ cmpwi r3, 0 -/* 80304DF4 00300A54 41 82 00 0C */ beq lbl_80304E00 -/* 80304DF8 00300A58 38 60 00 00 */ li r3, 0 -/* 80304DFC 00300A5C 48 00 00 88 */ b lbl_80304E84 -lbl_80304E00: -/* 80304E00 00300A60 80 0D AF D8 */ lwz r0, lbl_80640298-_SDA_BASE_(r13) -/* 80304E04 00300A64 2C 00 00 00 */ cmpwi r0, 0 -/* 80304E08 00300A68 41 80 00 0C */ blt lbl_80304E14 -/* 80304E0C 00300A6C 38 60 00 01 */ li r3, 1 -/* 80304E10 00300A70 48 00 00 74 */ b lbl_80304E84 -lbl_80304E14: -/* 80304E14 00300A74 80 6D AF D0 */ lwz r3, lbl_80640290-_SDA_BASE_(r13) -/* 80304E18 00300A78 2C 03 00 00 */ cmpwi r3, 0 -/* 80304E1C 00300A7C 40 81 00 18 */ ble lbl_80304E34 -/* 80304E20 00300A80 38 03 FF FF */ addi r0, r3, -1 -/* 80304E24 00300A84 38 60 00 00 */ li r3, 0 -/* 80304E28 00300A88 90 6D AF D4 */ stw r3, lbl_80640294-_SDA_BASE_(r13) -/* 80304E2C 00300A8C 90 0D AF D0 */ stw r0, lbl_80640290-_SDA_BASE_(r13) -/* 80304E30 00300A90 48 00 00 50 */ b lbl_80304E80 -lbl_80304E34: -/* 80304E34 00300A94 38 60 00 01 */ li r3, 1 -/* 80304E38 00300A98 48 00 00 4C */ b lbl_80304E84 -lbl_80304E3C: -/* 80304E3C 00300A9C 3C A0 80 58 */ lis r5, lbl_8057EA20@ha -/* 80304E40 00300AA0 3C 60 80 44 */ lis r3, lbl_804465BC@ha -/* 80304E44 00300AA4 90 85 EA 20 */ stw r4, lbl_8057EA20@l(r5) -/* 80304E48 00300AA8 3D 00 80 58 */ lis r8, lbl_8057EA40@ha -/* 80304E4C 00300AAC 38 C5 EA 20 */ addi r6, r5, -5600 -/* 80304E50 00300AB0 80 8D 8C C8 */ lwz r4, lbl_8063DF88-_SDA_BASE_(r13) -/* 80304E54 00300AB4 38 63 65 BC */ addi r3, r3, lbl_804465BC@l -/* 80304E58 00300AB8 39 08 EA 40 */ addi r8, r8, lbl_8057EA40@l -/* 80304E5C 00300ABC 38 A0 00 28 */ li r5, 0x28 -/* 80304E60 00300AC0 38 E0 00 20 */ li r7, 0x20 -/* 80304E64 00300AC4 39 20 00 20 */ li r9, 0x20 -/* 80304E68 00300AC8 39 4D AF D8 */ addi r10, r13, lbl_80640298-_SDA_BASE_ -/* 80304E6C 00300ACC 4B FF F9 05 */ bl func_80304770 -/* 80304E70 00300AD0 2C 03 00 00 */ cmpwi r3, 0 -/* 80304E74 00300AD4 41 80 00 0C */ blt lbl_80304E80 -/* 80304E78 00300AD8 38 00 00 01 */ li r0, 1 -/* 80304E7C 00300ADC 90 0D AF D4 */ stw r0, lbl_80640294-_SDA_BASE_(r13) -lbl_80304E80: -/* 80304E80 00300AE0 38 60 00 00 */ li r3, 0 -lbl_80304E84: -/* 80304E84 00300AE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80304E88 00300AE8 7C 08 03 A6 */ mtlr r0 -/* 80304E8C 00300AEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80304E90 00300AF0 4E 80 00 20 */ blr - -.global func_80304E94 -func_80304E94: -/* 80304E94 00300AF4 2C 03 00 61 */ cmpwi r3, 0x61 -/* 80304E98 00300AF8 4D 80 00 20 */ bltlr -/* 80304E9C 00300AFC 2C 03 00 7A */ cmpwi r3, 0x7a -/* 80304EA0 00300B00 4D 81 00 20 */ bgtlr -/* 80304EA4 00300B04 38 63 FF E0 */ addi r3, r3, -32 -/* 80304EA8 00300B08 4E 80 00 20 */ blr - -.global func_80304EAC -func_80304EAC: -/* 80304EAC 00300B0C 54 60 07 BF */ clrlwi. r0, r3, 0x1e -/* 80304EB0 00300B10 7C 68 1B 78 */ mr r8, r3 -/* 80304EB4 00300B14 40 82 00 9C */ bne lbl_80304F50 -/* 80304EB8 00300B18 54 80 07 BF */ clrlwi. r0, r4, 0x1e -/* 80304EBC 00300B1C 40 82 00 94 */ bne lbl_80304F50 -/* 80304EC0 00300B20 28 05 00 03 */ cmplwi r5, 3 -/* 80304EC4 00300B24 54 A7 F0 BE */ srwi r7, r5, 2 -/* 80304EC8 00300B28 40 81 00 88 */ ble lbl_80304F50 -/* 80304ECC 00300B2C 54 E6 E8 FF */ rlwinm. r6, r7, 0x1d, 3, 0x1f -/* 80304ED0 00300B30 54 E0 10 3A */ slwi r0, r7, 2 -/* 80304ED4 00300B34 7C 00 00 D0 */ neg r0, r0 -/* 80304ED8 00300B38 7C C9 03 A6 */ mtctr r6 -/* 80304EDC 00300B3C 41 82 00 58 */ beq lbl_80304F34 -lbl_80304EE0: -/* 80304EE0 00300B40 80 C4 00 00 */ lwz r6, 0(r4) -/* 80304EE4 00300B44 90 C8 00 00 */ stw r6, 0(r8) -/* 80304EE8 00300B48 80 C4 00 04 */ lwz r6, 4(r4) -/* 80304EEC 00300B4C 90 C8 00 04 */ stw r6, 4(r8) -/* 80304EF0 00300B50 80 C4 00 08 */ lwz r6, 8(r4) -/* 80304EF4 00300B54 90 C8 00 08 */ stw r6, 8(r8) -/* 80304EF8 00300B58 80 C4 00 0C */ lwz r6, 0xc(r4) -/* 80304EFC 00300B5C 90 C8 00 0C */ stw r6, 0xc(r8) -/* 80304F00 00300B60 80 C4 00 10 */ lwz r6, 0x10(r4) -/* 80304F04 00300B64 90 C8 00 10 */ stw r6, 0x10(r8) -/* 80304F08 00300B68 80 C4 00 14 */ lwz r6, 0x14(r4) -/* 80304F0C 00300B6C 90 C8 00 14 */ stw r6, 0x14(r8) -/* 80304F10 00300B70 80 C4 00 18 */ lwz r6, 0x18(r4) -/* 80304F14 00300B74 90 C8 00 18 */ stw r6, 0x18(r8) -/* 80304F18 00300B78 80 C4 00 1C */ lwz r6, 0x1c(r4) -/* 80304F1C 00300B7C 38 84 00 20 */ addi r4, r4, 0x20 -/* 80304F20 00300B80 90 C8 00 1C */ stw r6, 0x1c(r8) -/* 80304F24 00300B84 39 08 00 20 */ addi r8, r8, 0x20 -/* 80304F28 00300B88 42 00 FF B8 */ bdnz lbl_80304EE0 -/* 80304F2C 00300B8C 70 E7 00 07 */ andi. r7, r7, 7 -/* 80304F30 00300B90 41 82 00 1C */ beq lbl_80304F4C -lbl_80304F34: -/* 80304F34 00300B94 7C E9 03 A6 */ mtctr r7 -lbl_80304F38: -/* 80304F38 00300B98 80 C4 00 00 */ lwz r6, 0(r4) -/* 80304F3C 00300B9C 38 84 00 04 */ addi r4, r4, 4 -/* 80304F40 00300BA0 90 C8 00 00 */ stw r6, 0(r8) -/* 80304F44 00300BA4 39 08 00 04 */ addi r8, r8, 4 -/* 80304F48 00300BA8 42 00 FF F0 */ bdnz lbl_80304F38 -lbl_80304F4C: -/* 80304F4C 00300BAC 7C A5 02 14 */ add r5, r5, r0 -lbl_80304F50: -/* 80304F50 00300BB0 2C 05 00 00 */ cmpwi r5, 0 -/* 80304F54 00300BB4 4D 82 00 20 */ beqlr -/* 80304F58 00300BB8 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f -/* 80304F5C 00300BBC 7C 09 03 A6 */ mtctr r0 -/* 80304F60 00300BC0 41 82 00 58 */ beq lbl_80304FB8 -lbl_80304F64: -/* 80304F64 00300BC4 88 04 00 00 */ lbz r0, 0(r4) -/* 80304F68 00300BC8 98 08 00 00 */ stb r0, 0(r8) -/* 80304F6C 00300BCC 88 04 00 01 */ lbz r0, 1(r4) -/* 80304F70 00300BD0 98 08 00 01 */ stb r0, 1(r8) -/* 80304F74 00300BD4 88 04 00 02 */ lbz r0, 2(r4) -/* 80304F78 00300BD8 98 08 00 02 */ stb r0, 2(r8) -/* 80304F7C 00300BDC 88 04 00 03 */ lbz r0, 3(r4) -/* 80304F80 00300BE0 98 08 00 03 */ stb r0, 3(r8) -/* 80304F84 00300BE4 88 04 00 04 */ lbz r0, 4(r4) -/* 80304F88 00300BE8 98 08 00 04 */ stb r0, 4(r8) -/* 80304F8C 00300BEC 88 04 00 05 */ lbz r0, 5(r4) -/* 80304F90 00300BF0 98 08 00 05 */ stb r0, 5(r8) -/* 80304F94 00300BF4 88 04 00 06 */ lbz r0, 6(r4) -/* 80304F98 00300BF8 98 08 00 06 */ stb r0, 6(r8) -/* 80304F9C 00300BFC 88 04 00 07 */ lbz r0, 7(r4) -/* 80304FA0 00300C00 38 84 00 08 */ addi r4, r4, 8 -/* 80304FA4 00300C04 98 08 00 07 */ stb r0, 7(r8) -/* 80304FA8 00300C08 39 08 00 08 */ addi r8, r8, 8 -/* 80304FAC 00300C0C 42 00 FF B8 */ bdnz lbl_80304F64 -/* 80304FB0 00300C10 70 A5 00 07 */ andi. r5, r5, 7 -/* 80304FB4 00300C14 4D 82 00 20 */ beqlr -lbl_80304FB8: -/* 80304FB8 00300C18 7C A9 03 A6 */ mtctr r5 -lbl_80304FBC: -/* 80304FBC 00300C1C 88 04 00 00 */ lbz r0, 0(r4) -/* 80304FC0 00300C20 38 84 00 01 */ addi r4, r4, 1 -/* 80304FC4 00300C24 98 08 00 00 */ stb r0, 0(r8) -/* 80304FC8 00300C28 39 08 00 01 */ addi r8, r8, 1 -/* 80304FCC 00300C2C 42 00 FF F0 */ bdnz lbl_80304FBC -/* 80304FD0 00300C30 4E 80 00 20 */ blr - -.global func_80304FD4 -func_80304FD4: -/* 80304FD4 00300C34 7C 69 1B 78 */ mr r9, r3 -/* 80304FD8 00300C38 48 00 00 10 */ b lbl_80304FE8 -lbl_80304FDC: -/* 80304FDC 00300C3C 98 89 00 00 */ stb r4, 0(r9) -/* 80304FE0 00300C40 39 29 00 01 */ addi r9, r9, 1 -/* 80304FE4 00300C44 38 A5 FF FF */ addi r5, r5, -1 -lbl_80304FE8: -/* 80304FE8 00300C48 55 20 07 BF */ clrlwi. r0, r9, 0x1e -/* 80304FEC 00300C4C 41 82 00 0C */ beq lbl_80304FF8 -/* 80304FF0 00300C50 2C 05 00 00 */ cmpwi r5, 0 -/* 80304FF4 00300C54 40 82 FF E8 */ bne lbl_80304FDC -lbl_80304FF8: -/* 80304FF8 00300C58 54 87 40 2E */ slwi r7, r4, 8 -/* 80304FFC 00300C5C 28 05 00 03 */ cmplwi r5, 3 -/* 80305000 00300C60 7C 88 3B 78 */ or r8, r4, r7 -/* 80305004 00300C64 54 86 C0 0E */ slwi r6, r4, 0x18 -/* 80305008 00300C68 54 80 80 1E */ slwi r0, r4, 0x10 -/* 8030500C 00300C6C 54 A7 F0 BE */ srwi r7, r5, 2 -/* 80305010 00300C70 7C C0 03 78 */ or r0, r6, r0 -/* 80305014 00300C74 7D 08 03 78 */ or r8, r8, r0 -/* 80305018 00300C78 40 81 00 5C */ ble lbl_80305074 -/* 8030501C 00300C7C 54 E6 E8 FF */ rlwinm. r6, r7, 0x1d, 3, 0x1f -/* 80305020 00300C80 54 E0 10 3A */ slwi r0, r7, 2 -/* 80305024 00300C84 7C 00 00 D0 */ neg r0, r0 -/* 80305028 00300C88 7C C9 03 A6 */ mtctr r6 -/* 8030502C 00300C8C 41 82 00 34 */ beq lbl_80305060 -lbl_80305030: -/* 80305030 00300C90 91 09 00 00 */ stw r8, 0(r9) -/* 80305034 00300C94 91 09 00 04 */ stw r8, 4(r9) -/* 80305038 00300C98 91 09 00 08 */ stw r8, 8(r9) -/* 8030503C 00300C9C 91 09 00 0C */ stw r8, 0xc(r9) -/* 80305040 00300CA0 91 09 00 10 */ stw r8, 0x10(r9) -/* 80305044 00300CA4 91 09 00 14 */ stw r8, 0x14(r9) -/* 80305048 00300CA8 91 09 00 18 */ stw r8, 0x18(r9) -/* 8030504C 00300CAC 91 09 00 1C */ stw r8, 0x1c(r9) -/* 80305050 00300CB0 39 29 00 20 */ addi r9, r9, 0x20 -/* 80305054 00300CB4 42 00 FF DC */ bdnz lbl_80305030 -/* 80305058 00300CB8 70 E7 00 07 */ andi. r7, r7, 7 -/* 8030505C 00300CBC 41 82 00 14 */ beq lbl_80305070 -lbl_80305060: -/* 80305060 00300CC0 7C E9 03 A6 */ mtctr r7 -lbl_80305064: -/* 80305064 00300CC4 91 09 00 00 */ stw r8, 0(r9) -/* 80305068 00300CC8 39 29 00 04 */ addi r9, r9, 4 -/* 8030506C 00300CCC 42 00 FF F8 */ bdnz lbl_80305064 -lbl_80305070: -/* 80305070 00300CD0 7C A5 02 14 */ add r5, r5, r0 -lbl_80305074: -/* 80305074 00300CD4 2C 05 00 00 */ cmpwi r5, 0 -/* 80305078 00300CD8 4D 82 00 20 */ beqlr -/* 8030507C 00300CDC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f -/* 80305080 00300CE0 7C 09 03 A6 */ mtctr r0 -/* 80305084 00300CE4 41 82 00 34 */ beq lbl_803050B8 -lbl_80305088: -/* 80305088 00300CE8 98 89 00 00 */ stb r4, 0(r9) -/* 8030508C 00300CEC 98 89 00 01 */ stb r4, 1(r9) -/* 80305090 00300CF0 98 89 00 02 */ stb r4, 2(r9) -/* 80305094 00300CF4 98 89 00 03 */ stb r4, 3(r9) -/* 80305098 00300CF8 98 89 00 04 */ stb r4, 4(r9) -/* 8030509C 00300CFC 98 89 00 05 */ stb r4, 5(r9) -/* 803050A0 00300D00 98 89 00 06 */ stb r4, 6(r9) -/* 803050A4 00300D04 98 89 00 07 */ stb r4, 7(r9) -/* 803050A8 00300D08 39 29 00 08 */ addi r9, r9, 8 -/* 803050AC 00300D0C 42 00 FF DC */ bdnz lbl_80305088 -/* 803050B0 00300D10 70 A5 00 07 */ andi. r5, r5, 7 -/* 803050B4 00300D14 4D 82 00 20 */ beqlr -lbl_803050B8: -/* 803050B8 00300D18 7C A9 03 A6 */ mtctr r5 -lbl_803050BC: -/* 803050BC 00300D1C 98 89 00 00 */ stb r4, 0(r9) -/* 803050C0 00300D20 39 29 00 01 */ addi r9, r9, 1 -/* 803050C4 00300D24 42 00 FF F8 */ bdnz lbl_803050BC -/* 803050C8 00300D28 4E 80 00 20 */ blr - -.global func_803050CC -func_803050CC: -/* 803050CC 00300D2C 7C 64 1B 78 */ mr r4, r3 -/* 803050D0 00300D30 48 00 00 08 */ b lbl_803050D8 -lbl_803050D4: -/* 803050D4 00300D34 38 84 00 01 */ addi r4, r4, 1 -lbl_803050D8: -/* 803050D8 00300D38 88 04 00 00 */ lbz r0, 0(r4) -/* 803050DC 00300D3C 7C 00 07 75 */ extsb. r0, r0 -/* 803050E0 00300D40 40 82 FF F4 */ bne lbl_803050D4 -/* 803050E4 00300D44 7C 63 20 50 */ subf r3, r3, r4 -/* 803050E8 00300D48 4E 80 00 20 */ blr - -.global func_803050EC -func_803050EC: -/* 803050EC 00300D4C 7C 66 1B 78 */ mr r6, r3 -/* 803050F0 00300D50 48 00 00 0C */ b lbl_803050FC -lbl_803050F4: -/* 803050F4 00300D54 38 84 00 01 */ addi r4, r4, 1 -/* 803050F8 00300D58 38 C6 00 01 */ addi r6, r6, 1 -lbl_803050FC: -/* 803050FC 00300D5C 88 A4 00 00 */ lbz r5, 0(r4) -/* 80305100 00300D60 7C A0 07 75 */ extsb. r0, r5 -/* 80305104 00300D64 98 A6 00 00 */ stb r5, 0(r6) -/* 80305108 00300D68 40 82 FF EC */ bne lbl_803050F4 -/* 8030510C 00300D6C 4E 80 00 20 */ blr - -.global func_80305110 -func_80305110: -/* 80305110 00300D70 48 00 00 0C */ b lbl_8030511C -lbl_80305114: -/* 80305114 00300D74 38 63 00 01 */ addi r3, r3, 1 -/* 80305118 00300D78 38 84 00 01 */ addi r4, r4, 1 -lbl_8030511C: -/* 8030511C 00300D7C 88 A3 00 00 */ lbz r5, 0(r3) -/* 80305120 00300D80 2C 05 00 00 */ cmpwi r5, 0 -/* 80305124 00300D84 41 82 00 18 */ beq lbl_8030513C -/* 80305128 00300D88 88 04 00 00 */ lbz r0, 0(r4) -/* 8030512C 00300D8C 2C 00 00 00 */ cmpwi r0, 0 -/* 80305130 00300D90 41 82 00 0C */ beq lbl_8030513C -/* 80305134 00300D94 7C 05 00 40 */ cmplw r5, r0 -/* 80305138 00300D98 41 82 FF DC */ beq lbl_80305114 -lbl_8030513C: -/* 8030513C 00300D9C 88 04 00 00 */ lbz r0, 0(r4) -/* 80305140 00300DA0 7C 60 28 50 */ subf r3, r0, r5 -/* 80305144 00300DA4 4E 80 00 20 */ blr - -.global func_80305148 -func_80305148: -/* 80305148 00300DA8 7C A9 03 A6 */ mtctr r5 -/* 8030514C 00300DAC 2C 05 00 00 */ cmpwi r5, 0 -/* 80305150 00300DB0 41 82 00 3C */ beq lbl_8030518C -lbl_80305154: -/* 80305154 00300DB4 88 A3 00 00 */ lbz r5, 0(r3) -/* 80305158 00300DB8 2C 05 00 00 */ cmpwi r5, 0 -/* 8030515C 00300DBC 41 82 00 18 */ beq lbl_80305174 -/* 80305160 00300DC0 88 04 00 00 */ lbz r0, 0(r4) -/* 80305164 00300DC4 2C 00 00 00 */ cmpwi r0, 0 -/* 80305168 00300DC8 41 82 00 0C */ beq lbl_80305174 -/* 8030516C 00300DCC 7C 05 00 40 */ cmplw r5, r0 -/* 80305170 00300DD0 41 82 00 10 */ beq lbl_80305180 -lbl_80305174: -/* 80305174 00300DD4 88 04 00 00 */ lbz r0, 0(r4) -/* 80305178 00300DD8 7C 60 28 50 */ subf r3, r0, r5 -/* 8030517C 00300DDC 4E 80 00 20 */ blr -lbl_80305180: -/* 80305180 00300DE0 38 63 00 01 */ addi r3, r3, 1 -/* 80305184 00300DE4 38 84 00 01 */ addi r4, r4, 1 -/* 80305188 00300DE8 42 00 FF CC */ bdnz lbl_80305154 -lbl_8030518C: -/* 8030518C 00300DEC 38 60 00 00 */ li r3, 0 -/* 80305190 00300DF0 4E 80 00 20 */ blr -lbl_80305194: -/* 80305194 00300DF4 54 60 80 1E */ slwi r0, r3, 0x10 -/* 80305198 00300DF8 7C 60 22 14 */ add r3, r0, r4 -/* 8030519C 00300DFC 4E 80 00 20 */ blr - -.global func_803051A0 -func_803051A0: -/* 803051A0 00300E00 54 60 84 3E */ srwi r0, r3, 0x10 -/* 803051A4 00300E04 B0 04 00 00 */ sth r0, 0(r4) -/* 803051A8 00300E08 B0 65 00 00 */ sth r3, 0(r5) -/* 803051AC 00300E0C 4E 80 00 20 */ blr - -.global func_803051B0 -func_803051B0: -/* 803051B0 00300E10 88 03 00 01 */ lbz r0, 1(r3) -/* 803051B4 00300E14 88 63 00 00 */ lbz r3, 0(r3) -/* 803051B8 00300E18 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17 -/* 803051BC 00300E1C 4E 80 00 20 */ blr - -.global func_803051C0 -func_803051C0: -/* 803051C0 00300E20 2C 04 00 00 */ cmpwi r4, 0 -/* 803051C4 00300E24 38 A0 00 00 */ li r5, 0 -/* 803051C8 00300E28 4D 82 00 20 */ beqlr -/* 803051CC 00300E2C 38 C4 00 01 */ addi r6, r4, 1 -/* 803051D0 00300E30 38 E4 FF F0 */ addi r7, r4, -16 -/* 803051D4 00300E34 54 C0 F8 7E */ srwi r0, r6, 1 -/* 803051D8 00300E38 28 00 00 08 */ cmplwi r0, 8 -/* 803051DC 00300E3C 40 81 00 C4 */ ble lbl_803052A0 -/* 803051E0 00300E40 28 06 00 01 */ cmplwi r6, 1 -/* 803051E4 00300E44 38 00 00 00 */ li r0, 0 -/* 803051E8 00300E48 41 80 00 10 */ blt lbl_803051F8 -/* 803051EC 00300E4C 7C 04 30 40 */ cmplw r4, r6 -/* 803051F0 00300E50 41 81 00 08 */ bgt lbl_803051F8 -/* 803051F4 00300E54 38 00 00 01 */ li r0, 1 -lbl_803051F8: -/* 803051F8 00300E58 2C 00 00 00 */ cmpwi r0, 0 -/* 803051FC 00300E5C 41 82 00 A4 */ beq lbl_803052A0 -/* 80305200 00300E60 38 07 00 0F */ addi r0, r7, 0xf -/* 80305204 00300E64 54 00 E1 3E */ srwi r0, r0, 4 -/* 80305208 00300E68 7C 09 03 A6 */ mtctr r0 -/* 8030520C 00300E6C 28 07 00 00 */ cmplwi r7, 0 -/* 80305210 00300E70 40 81 00 90 */ ble lbl_803052A0 -lbl_80305214: -/* 80305214 00300E74 7C E3 2A 14 */ add r7, r3, r5 -/* 80305218 00300E78 7C C3 28 AE */ lbzx r6, r3, r5 -/* 8030521C 00300E7C 88 07 00 01 */ lbz r0, 1(r7) -/* 80305220 00300E80 7C 03 29 AE */ stbx r0, r3, r5 -/* 80305224 00300E84 38 A5 00 10 */ addi r5, r5, 0x10 -/* 80305228 00300E88 98 C7 00 01 */ stb r6, 1(r7) -/* 8030522C 00300E8C 88 C7 00 02 */ lbz r6, 2(r7) -/* 80305230 00300E90 88 07 00 03 */ lbz r0, 3(r7) -/* 80305234 00300E94 98 07 00 02 */ stb r0, 2(r7) -/* 80305238 00300E98 98 C7 00 03 */ stb r6, 3(r7) -/* 8030523C 00300E9C 88 C7 00 04 */ lbz r6, 4(r7) -/* 80305240 00300EA0 88 07 00 05 */ lbz r0, 5(r7) -/* 80305244 00300EA4 98 07 00 04 */ stb r0, 4(r7) -/* 80305248 00300EA8 98 C7 00 05 */ stb r6, 5(r7) -/* 8030524C 00300EAC 88 C7 00 06 */ lbz r6, 6(r7) -/* 80305250 00300EB0 88 07 00 07 */ lbz r0, 7(r7) -/* 80305254 00300EB4 98 07 00 06 */ stb r0, 6(r7) -/* 80305258 00300EB8 98 C7 00 07 */ stb r6, 7(r7) -/* 8030525C 00300EBC 88 C7 00 08 */ lbz r6, 8(r7) -/* 80305260 00300EC0 88 07 00 09 */ lbz r0, 9(r7) -/* 80305264 00300EC4 98 07 00 08 */ stb r0, 8(r7) -/* 80305268 00300EC8 98 C7 00 09 */ stb r6, 9(r7) -/* 8030526C 00300ECC 88 C7 00 0A */ lbz r6, 0xa(r7) -/* 80305270 00300ED0 88 07 00 0B */ lbz r0, 0xb(r7) -/* 80305274 00300ED4 98 07 00 0A */ stb r0, 0xa(r7) -/* 80305278 00300ED8 98 C7 00 0B */ stb r6, 0xb(r7) -/* 8030527C 00300EDC 88 C7 00 0C */ lbz r6, 0xc(r7) -/* 80305280 00300EE0 88 07 00 0D */ lbz r0, 0xd(r7) -/* 80305284 00300EE4 98 07 00 0C */ stb r0, 0xc(r7) -/* 80305288 00300EE8 98 C7 00 0D */ stb r6, 0xd(r7) -/* 8030528C 00300EEC 88 C7 00 0E */ lbz r6, 0xe(r7) -/* 80305290 00300EF0 88 07 00 0F */ lbz r0, 0xf(r7) -/* 80305294 00300EF4 98 07 00 0E */ stb r0, 0xe(r7) -/* 80305298 00300EF8 98 C7 00 0F */ stb r6, 0xf(r7) -/* 8030529C 00300EFC 42 00 FF 78 */ bdnz lbl_80305214 -lbl_803052A0: -/* 803052A0 00300F00 38 04 00 01 */ addi r0, r4, 1 -/* 803052A4 00300F04 7C 05 00 50 */ subf r0, r5, r0 -/* 803052A8 00300F08 54 00 F8 7E */ srwi r0, r0, 1 -/* 803052AC 00300F0C 7C 09 03 A6 */ mtctr r0 -/* 803052B0 00300F10 7C 05 20 40 */ cmplw r5, r4 -/* 803052B4 00300F14 4C 80 00 20 */ bgelr -lbl_803052B8: -/* 803052B8 00300F18 7C C3 2A 14 */ add r6, r3, r5 -/* 803052BC 00300F1C 7C 83 28 AE */ lbzx r4, r3, r5 -/* 803052C0 00300F20 88 06 00 01 */ lbz r0, 1(r6) -/* 803052C4 00300F24 7C 03 29 AE */ stbx r0, r3, r5 -/* 803052C8 00300F28 38 A5 00 02 */ addi r5, r5, 2 -/* 803052CC 00300F2C 98 86 00 01 */ stb r4, 1(r6) -/* 803052D0 00300F30 42 00 FF E8 */ bdnz lbl_803052B8 -/* 803052D4 00300F34 4E 80 00 20 */ blr - -.global func_803052D8 -func_803052D8: -/* 803052D8 00300F38 90 83 00 0C */ stw r4, 0xc(r3) -/* 803052DC 00300F3C 4E 80 00 20 */ blr - -.global func_803052E0 -func_803052E0: -/* 803052E0 00300F40 80 63 00 0C */ lwz r3, 0xc(r3) -/* 803052E4 00300F44 4E 80 00 20 */ blr - -.global func_803052E8 -func_803052E8: -/* 803052E8 00300F48 80 03 00 0C */ lwz r0, 0xc(r3) -/* 803052EC 00300F4C 28 00 00 01 */ cmplwi r0, 1 -/* 803052F0 00300F50 41 82 00 0C */ beq lbl_803052FC -/* 803052F4 00300F54 2C 04 00 00 */ cmpwi r4, 0 -/* 803052F8 00300F58 40 82 00 10 */ bne lbl_80305308 -lbl_803052FC: -/* 803052FC 00300F5C 80 03 00 00 */ lwz r0, 0(r3) -/* 80305300 00300F60 90 03 00 08 */ stw r0, 8(r3) -/* 80305304 00300F64 4E 80 00 20 */ blr -lbl_80305308: -/* 80305308 00300F68 90 83 00 08 */ stw r4, 8(r3) -/* 8030530C 00300F6C 4E 80 00 20 */ blr - -.global func_80305310 -func_80305310: -/* 80305310 00300F70 28 04 00 01 */ cmplwi r4, 1 -/* 80305314 00300F74 40 82 00 0C */ bne lbl_80305320 -/* 80305318 00300F78 80 63 00 00 */ lwz r3, 0(r3) -/* 8030531C 00300F7C 4E 80 00 20 */ blr -lbl_80305320: -/* 80305320 00300F80 28 04 00 02 */ cmplwi r4, 2 -/* 80305324 00300F84 40 82 00 0C */ bne lbl_80305330 -/* 80305328 00300F88 80 63 00 04 */ lwz r3, 4(r3) -/* 8030532C 00300F8C 4E 80 00 20 */ blr -lbl_80305330: -/* 80305330 00300F90 80 63 00 08 */ lwz r3, 8(r3) -/* 80305334 00300F94 4E 80 00 20 */ blr - -.global func_80305338 -func_80305338: -/* 80305338 00300F98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030533C 00300F9C 7C 08 02 A6 */ mflr r0 -/* 80305340 00300FA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80305344 00300FA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80305348 00300FA8 4B EC 1D DD */ bl _savegpr_26 -/* 8030534C 00300FAC 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80305350 00300FB0 7C 7F 1B 78 */ mr r31, r3 -/* 80305354 00300FB4 7C 9A 23 78 */ mr r26, r4 -/* 80305358 00300FB8 3B 80 00 00 */ li r28, 0 -/* 8030535C 00300FBC 28 00 00 01 */ cmplwi r0, 1 -/* 80305360 00300FC0 40 82 00 50 */ bne lbl_803053B0 -/* 80305364 00300FC4 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha -/* 80305368 00300FC8 83 A3 00 00 */ lwz r29, 0(r3) -/* 8030536C 00300FCC 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l -/* 80305370 00300FD0 48 00 00 34 */ b lbl_803053A4 -lbl_80305374: -/* 80305374 00300FD4 88 1D 00 00 */ lbz r0, 0(r29) -/* 80305378 00300FD8 38 80 00 01 */ li r4, 1 -/* 8030537C 00300FDC 81 9E 00 30 */ lwz r12, 0x30(r30) -/* 80305380 00300FE0 7C 03 07 74 */ extsb r3, r0 -/* 80305384 00300FE4 7D 89 03 A6 */ mtctr r12 -/* 80305388 00300FE8 4E 80 04 21 */ bctrl -/* 8030538C 00300FEC 2C 03 00 00 */ cmpwi r3, 0 -/* 80305390 00300FF0 41 82 00 0C */ beq lbl_8030539C -/* 80305394 00300FF4 38 1C 00 01 */ addi r0, r28, 1 -/* 80305398 00300FF8 7C 1C 07 34 */ extsh r28, r0 -lbl_8030539C: -/* 8030539C 00300FFC 3B 9C 00 01 */ addi r28, r28, 1 -/* 803053A0 00301000 3B 5A FF FF */ addi r26, r26, -1 -lbl_803053A4: -/* 803053A4 00301004 7F 40 07 35 */ extsh. r0, r26 -/* 803053A8 00301008 40 82 FF CC */ bne lbl_80305374 -/* 803053AC 0030100C 48 00 00 48 */ b lbl_803053F4 -lbl_803053B0: -/* 803053B0 00301010 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha -/* 803053B4 00301014 83 63 00 00 */ lwz r27, 0(r3) -/* 803053B8 00301018 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l -/* 803053BC 0030101C 3B A0 00 00 */ li r29, 0 -/* 803053C0 00301020 48 00 00 28 */ b lbl_803053E8 -lbl_803053C4: -/* 803053C4 00301024 81 9E 00 34 */ lwz r12, 0x34(r30) -/* 803053C8 00301028 7F 63 DB 78 */ mr r3, r27 -/* 803053CC 0030102C 7D 89 03 A6 */ mtctr r12 -/* 803053D0 00301030 4E 80 04 21 */ bctrl -/* 803053D4 00301034 54 64 08 3C */ slwi r4, r3, 1 -/* 803053D8 00301038 7C 60 07 34 */ extsh r0, r3 -/* 803053DC 0030103C 7F 7B 22 14 */ add r27, r27, r4 -/* 803053E0 00301040 3B BD 00 01 */ addi r29, r29, 1 -/* 803053E4 00301044 7F 9C 02 14 */ add r28, r28, r0 -lbl_803053E8: -/* 803053E8 00301048 7F A0 07 34 */ extsh r0, r29 -/* 803053EC 0030104C 7C 00 D0 00 */ cmpw r0, r26 -/* 803053F0 00301050 41 80 FF D4 */ blt lbl_803053C4 -lbl_803053F4: -/* 803053F4 00301054 80 7F 00 00 */ lwz r3, 0(r31) -/* 803053F8 00301058 7F 80 07 34 */ extsh r0, r28 -/* 803053FC 0030105C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80305400 00301060 7C 03 02 14 */ add r0, r3, r0 -/* 80305404 00301064 90 1F 00 00 */ stw r0, 0(r31) -/* 80305408 00301068 4B EC 1D 69 */ bl _restgpr_26 -/* 8030540C 0030106C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80305410 00301070 7C 08 03 A6 */ mtlr r0 -/* 80305414 00301074 38 21 00 20 */ addi r1, r1, 0x20 -/* 80305418 00301078 4E 80 00 20 */ blr - -.global func_8030541C -func_8030541C: -/* 8030541C 0030107C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80305420 00301080 7C 08 02 A6 */ mflr r0 -/* 80305424 00301084 2C 03 00 00 */ cmpwi r3, 0 -/* 80305428 00301088 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030542C 0030108C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80305430 00301090 7C BF 2B 78 */ mr r31, r5 -/* 80305434 00301094 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80305438 00301098 7C 9E 23 78 */ mr r30, r4 -/* 8030543C 0030109C 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80305440 003010A0 7C 7D 1B 78 */ mr r29, r3 -/* 80305444 003010A4 41 82 00 0C */ beq lbl_80305450 -/* 80305448 003010A8 2C 04 00 00 */ cmpwi r4, 0 -/* 8030544C 003010AC 40 82 00 0C */ bne lbl_80305458 -lbl_80305450: -/* 80305450 003010B0 38 60 00 0A */ li r3, 0xa -/* 80305454 003010B4 48 00 00 58 */ b lbl_803054AC -lbl_80305458: -/* 80305458 003010B8 28 05 00 01 */ cmplwi r5, 1 -/* 8030545C 003010BC 40 82 00 1C */ bne lbl_80305478 -/* 80305460 003010C0 90 83 00 00 */ stw r4, 0(r3) -/* 80305464 003010C4 7F C3 F3 78 */ mr r3, r30 -/* 80305468 003010C8 4B FF FC 65 */ bl func_803050CC -/* 8030546C 003010CC 7C 1E 1A 14 */ add r0, r30, r3 -/* 80305470 003010D0 90 1D 00 04 */ stw r0, 4(r29) -/* 80305474 003010D4 48 00 00 30 */ b lbl_803054A4 -lbl_80305478: -/* 80305478 003010D8 28 05 00 02 */ cmplwi r5, 2 -/* 8030547C 003010DC 40 82 00 20 */ bne lbl_8030549C -/* 80305480 003010E0 90 83 00 00 */ stw r4, 0(r3) -/* 80305484 003010E4 7F C3 F3 78 */ mr r3, r30 -/* 80305488 003010E8 48 00 03 D9 */ bl func_80305860 -/* 8030548C 003010EC 54 60 08 3C */ slwi r0, r3, 1 -/* 80305490 003010F0 7C 1E 02 14 */ add r0, r30, r0 -/* 80305494 003010F4 90 1D 00 04 */ stw r0, 4(r29) -/* 80305498 003010F8 48 00 00 0C */ b lbl_803054A4 -lbl_8030549C: -/* 8030549C 003010FC 38 60 00 0A */ li r3, 0xa -/* 803054A0 00301100 48 00 00 0C */ b lbl_803054AC -lbl_803054A4: -/* 803054A4 00301104 93 FD 00 0C */ stw r31, 0xc(r29) -/* 803054A8 00301108 38 60 00 00 */ li r3, 0 -lbl_803054AC: -/* 803054AC 0030110C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803054B0 00301110 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803054B4 00301114 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803054B8 00301118 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803054BC 0030111C 7C 08 03 A6 */ mtlr r0 -/* 803054C0 00301120 38 21 00 20 */ addi r1, r1, 0x20 -/* 803054C4 00301124 4E 80 00 20 */ blr - -.global func_803054C8 -func_803054C8: -/* 803054C8 00301128 80 83 00 00 */ lwz r4, 0(r3) -/* 803054CC 0030112C 80 03 00 04 */ lwz r0, 4(r3) -/* 803054D0 00301130 7C 04 00 50 */ subf r0, r4, r0 -/* 803054D4 00301134 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 803054D8 00301138 4E 80 00 20 */ blr - -.global func_803054DC -func_803054DC: -/* 803054DC 0030113C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803054E0 00301140 7C 08 02 A6 */ mflr r0 -/* 803054E4 00301144 28 04 00 01 */ cmplwi r4, 1 -/* 803054E8 00301148 90 01 00 24 */ stw r0, 0x24(r1) -/* 803054EC 0030114C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803054F0 00301150 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803054F4 00301154 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803054F8 00301158 40 82 00 0C */ bne lbl_80305504 -/* 803054FC 0030115C 83 C3 00 00 */ lwz r30, 0(r3) -/* 80305500 00301160 48 00 00 08 */ b lbl_80305508 -lbl_80305504: -/* 80305504 00301164 83 C3 00 04 */ lwz r30, 4(r3) -lbl_80305508: -/* 80305508 00301168 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8030550C 0030116C 28 00 00 01 */ cmplwi r0, 1 -/* 80305510 00301170 40 82 00 4C */ bne lbl_8030555C -/* 80305514 00301174 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha -/* 80305518 00301178 3B A0 00 00 */ li r29, 0 -/* 8030551C 0030117C 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l -/* 80305520 00301180 48 00 00 2C */ b lbl_8030554C -lbl_80305524: -/* 80305524 00301184 81 9F 00 30 */ lwz r12, 0x30(r31) -/* 80305528 00301188 7C 63 07 74 */ extsb r3, r3 -/* 8030552C 0030118C 38 80 00 01 */ li r4, 1 -/* 80305530 00301190 7D 89 03 A6 */ mtctr r12 -/* 80305534 00301194 4E 80 04 21 */ bctrl -/* 80305538 00301198 2C 03 00 00 */ cmpwi r3, 0 -/* 8030553C 0030119C 41 82 00 08 */ beq lbl_80305544 -/* 80305540 003011A0 3B DE 00 01 */ addi r30, r30, 1 -lbl_80305544: -/* 80305544 003011A4 3B DE 00 01 */ addi r30, r30, 1 -/* 80305548 003011A8 3B BD 00 01 */ addi r29, r29, 1 -lbl_8030554C: -/* 8030554C 003011AC 88 7E 00 00 */ lbz r3, 0(r30) -/* 80305550 003011B0 7C 60 07 75 */ extsb. r0, r3 -/* 80305554 003011B4 40 82 FF D0 */ bne lbl_80305524 -/* 80305558 003011B8 48 00 00 44 */ b lbl_8030559C -lbl_8030555C: -/* 8030555C 003011BC 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha -/* 80305560 003011C0 3B A0 00 00 */ li r29, 0 -/* 80305564 003011C4 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l -/* 80305568 003011C8 48 00 00 1C */ b lbl_80305584 -lbl_8030556C: -/* 8030556C 003011CC 81 9F 00 34 */ lwz r12, 0x34(r31) -/* 80305570 003011D0 7F C3 F3 78 */ mr r3, r30 -/* 80305574 003011D4 7D 89 03 A6 */ mtctr r12 -/* 80305578 003011D8 4E 80 04 21 */ bctrl -/* 8030557C 003011DC 7F DE 1A 14 */ add r30, r30, r3 -/* 80305580 003011E0 3B BD 00 01 */ addi r29, r29, 1 -lbl_80305584: -/* 80305584 003011E4 88 1E 00 00 */ lbz r0, 0(r30) -/* 80305588 003011E8 7C 00 07 75 */ extsb. r0, r0 -/* 8030558C 003011EC 40 82 FF E0 */ bne lbl_8030556C -/* 80305590 003011F0 88 1E 00 01 */ lbz r0, 1(r30) -/* 80305594 003011F4 7C 00 07 75 */ extsb. r0, r0 -/* 80305598 003011F8 40 82 FF D4 */ bne lbl_8030556C -lbl_8030559C: -/* 8030559C 003011FC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803055A0 00301200 7F A3 EB 78 */ mr r3, r29 -/* 803055A4 00301204 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803055A8 00301208 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803055AC 0030120C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803055B0 00301210 7C 08 03 A6 */ mtlr r0 -/* 803055B4 00301214 38 21 00 20 */ addi r1, r1, 0x20 -/* 803055B8 00301218 4E 80 00 20 */ blr - -.global func_803055BC -func_803055BC: -/* 803055BC 0030121C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803055C0 00301220 7C 08 02 A6 */ mflr r0 -/* 803055C4 00301224 90 01 00 24 */ stw r0, 0x24(r1) -/* 803055C8 00301228 80 03 00 0C */ lwz r0, 0xc(r3) -/* 803055CC 0030122C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803055D0 00301230 28 00 00 01 */ cmplwi r0, 1 -/* 803055D4 00301234 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803055D8 00301238 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803055DC 0030123C 7C 9D 23 78 */ mr r29, r4 -/* 803055E0 00301240 40 82 00 10 */ bne lbl_803055F0 -/* 803055E4 00301244 80 63 00 00 */ lwz r3, 0(r3) -/* 803055E8 00301248 4B FF FB 29 */ bl func_80305110 -/* 803055EC 0030124C 48 00 00 58 */ b lbl_80305644 -lbl_803055F0: -/* 803055F0 00301250 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha -/* 803055F4 00301254 83 C3 00 00 */ lwz r30, 0(r3) -/* 803055F8 00301258 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l -lbl_803055FC: -/* 803055FC 0030125C 81 9F 00 24 */ lwz r12, 0x24(r31) -/* 80305600 00301260 7F A3 EB 78 */ mr r3, r29 -/* 80305604 00301264 38 81 00 08 */ addi r4, r1, 8 -/* 80305608 00301268 7D 89 03 A6 */ mtctr r12 -/* 8030560C 0030126C 4E 80 04 21 */ bctrl -/* 80305610 00301270 A0 1E 00 00 */ lhz r0, 0(r30) -/* 80305614 00301274 3B BD 00 01 */ addi r29, r29, 1 -/* 80305618 00301278 A0 61 00 08 */ lhz r3, 8(r1) -/* 8030561C 0030127C 3B DE 00 02 */ addi r30, r30, 2 -/* 80305620 00301280 7C 00 18 40 */ cmplw r0, r3 -/* 80305624 00301284 40 82 00 18 */ bne lbl_8030563C -/* 80305628 00301288 A0 1E FF FE */ lhz r0, -2(r30) -/* 8030562C 0030128C 2C 00 00 00 */ cmpwi r0, 0 -/* 80305630 00301290 41 82 00 0C */ beq lbl_8030563C -/* 80305634 00301294 2C 03 00 00 */ cmpwi r3, 0 -/* 80305638 00301298 40 82 FF C4 */ bne lbl_803055FC -lbl_8030563C: -/* 8030563C 0030129C A0 1E FF FE */ lhz r0, -2(r30) -/* 80305640 003012A0 7C 63 00 50 */ subf r3, r3, r0 -lbl_80305644: -/* 80305644 003012A4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80305648 003012A8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8030564C 003012AC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80305650 003012B0 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80305654 003012B4 7C 08 03 A6 */ mtlr r0 -/* 80305658 003012B8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030565C 003012BC 4E 80 00 20 */ blr - -.global func_80305660 -func_80305660: -/* 80305660 003012C0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80305664 003012C4 7C 08 02 A6 */ mflr r0 -/* 80305668 003012C8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030566C 003012CC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80305670 003012D0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80305674 003012D4 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80305678 003012D8 7C FD 3B 78 */ mr r29, r7 -/* 8030567C 003012DC 93 81 00 10 */ stw r28, 0x10(r1) -/* 80305680 003012E0 7C 9C 23 78 */ mr r28, r4 -/* 80305684 003012E4 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80305688 003012E8 28 00 00 01 */ cmplwi r0, 1 -/* 8030568C 003012EC 41 82 00 0C */ beq lbl_80305698 -/* 80305690 003012F0 28 05 00 03 */ cmplwi r5, 3 -/* 80305694 003012F4 40 82 00 44 */ bne lbl_803056D8 -lbl_80305698: -/* 80305698 003012F8 28 05 00 01 */ cmplwi r5, 1 -/* 8030569C 003012FC 40 82 00 10 */ bne lbl_803056AC -/* 803056A0 00301300 80 03 00 00 */ lwz r0, 0(r3) -/* 803056A4 00301304 7C 60 32 14 */ add r3, r0, r6 -/* 803056A8 00301308 48 00 00 20 */ b lbl_803056C8 -lbl_803056AC: -/* 803056AC 0030130C 28 05 00 02 */ cmplwi r5, 2 -/* 803056B0 00301310 40 82 00 10 */ bne lbl_803056C0 -/* 803056B4 00301314 80 03 00 04 */ lwz r0, 4(r3) -/* 803056B8 00301318 7C 60 32 14 */ add r3, r0, r6 -/* 803056BC 0030131C 48 00 00 0C */ b lbl_803056C8 -lbl_803056C0: -/* 803056C0 00301320 80 03 00 08 */ lwz r0, 8(r3) -/* 803056C4 00301324 7C 60 32 14 */ add r3, r0, r6 -lbl_803056C8: -/* 803056C8 00301328 7F 84 E3 78 */ mr r4, r28 -/* 803056CC 0030132C 7F A5 EB 78 */ mr r5, r29 -/* 803056D0 00301330 4B FF FA 79 */ bl func_80305148 -/* 803056D4 00301334 48 00 00 84 */ b lbl_80305758 -lbl_803056D8: -/* 803056D8 00301338 28 05 00 01 */ cmplwi r5, 1 -/* 803056DC 0030133C 40 82 00 14 */ bne lbl_803056F0 -/* 803056E0 00301340 80 63 00 00 */ lwz r3, 0(r3) -/* 803056E4 00301344 54 C0 08 3C */ slwi r0, r6, 1 -/* 803056E8 00301348 7F C3 02 14 */ add r30, r3, r0 -/* 803056EC 0030134C 48 00 00 10 */ b lbl_803056FC -lbl_803056F0: -/* 803056F0 00301350 80 63 00 04 */ lwz r3, 4(r3) -/* 803056F4 00301354 54 C0 08 3C */ slwi r0, r6, 1 -/* 803056F8 00301358 7F C3 02 14 */ add r30, r3, r0 -lbl_803056FC: -/* 803056FC 0030135C 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha -/* 80305700 00301360 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l -lbl_80305704: -/* 80305704 00301364 81 9F 00 24 */ lwz r12, 0x24(r31) -/* 80305708 00301368 7F 83 E3 78 */ mr r3, r28 -/* 8030570C 0030136C 38 81 00 08 */ addi r4, r1, 8 -/* 80305710 00301370 7D 89 03 A6 */ mtctr r12 -/* 80305714 00301374 4E 80 04 21 */ bctrl -/* 80305718 00301378 A0 1E 00 00 */ lhz r0, 0(r30) -/* 8030571C 0030137C 3B 9C 00 01 */ addi r28, r28, 1 -/* 80305720 00301380 A0 61 00 08 */ lhz r3, 8(r1) -/* 80305724 00301384 3B BD FF FF */ addi r29, r29, -1 -/* 80305728 00301388 3B DE 00 02 */ addi r30, r30, 2 -/* 8030572C 0030138C 7C 00 18 40 */ cmplw r0, r3 -/* 80305730 00301390 40 82 00 20 */ bne lbl_80305750 -/* 80305734 00301394 57 A0 04 3F */ clrlwi. r0, r29, 0x10 -/* 80305738 00301398 41 82 00 18 */ beq lbl_80305750 -/* 8030573C 0030139C A0 1E FF FE */ lhz r0, -2(r30) -/* 80305740 003013A0 2C 00 00 00 */ cmpwi r0, 0 -/* 80305744 003013A4 41 82 00 0C */ beq lbl_80305750 -/* 80305748 003013A8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030574C 003013AC 40 82 FF B8 */ bne lbl_80305704 -lbl_80305750: -/* 80305750 003013B0 A0 1E FF FE */ lhz r0, -2(r30) -/* 80305754 003013B4 7C 63 00 50 */ subf r3, r3, r0 -lbl_80305758: -/* 80305758 003013B8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030575C 003013BC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80305760 003013C0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80305764 003013C4 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80305768 003013C8 83 81 00 10 */ lwz r28, 0x10(r1) -/* 8030576C 003013CC 7C 08 03 A6 */ mtlr r0 -/* 80305770 003013D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80305774 003013D4 4E 80 00 20 */ blr - -.global func_80305778 -func_80305778: -/* 80305778 003013D8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030577C 003013DC 7C 08 02 A6 */ mflr r0 -/* 80305780 003013E0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80305784 003013E4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80305788 003013E8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8030578C 003013EC 7C BE 2B 78 */ mr r30, r5 -/* 80305790 003013F0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80305794 003013F4 7C 9D 23 78 */ mr r29, r4 -/* 80305798 003013F8 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8030579C 003013FC 28 00 00 01 */ cmplwi r0, 1 -/* 803057A0 00301400 40 82 00 3C */ bne lbl_803057DC -/* 803057A4 00301404 83 E3 00 00 */ lwz r31, 0(r3) -/* 803057A8 00301408 48 00 00 1C */ b lbl_803057C4 -lbl_803057AC: -/* 803057AC 0030140C 7C 63 07 74 */ extsb r3, r3 -/* 803057B0 00301410 4B FF F6 E5 */ bl func_80304E94 -/* 803057B4 00301414 98 7E 00 00 */ stb r3, 0(r30) -/* 803057B8 00301418 3B DE 00 01 */ addi r30, r30, 1 -/* 803057BC 0030141C 3B FF 00 01 */ addi r31, r31, 1 -/* 803057C0 00301420 3B BD FF FF */ addi r29, r29, -1 -lbl_803057C4: -/* 803057C4 00301424 57 A0 04 3F */ clrlwi. r0, r29, 0x10 -/* 803057C8 00301428 41 82 00 74 */ beq lbl_8030583C -/* 803057CC 0030142C 88 7F 00 00 */ lbz r3, 0(r31) -/* 803057D0 00301430 7C 60 07 75 */ extsb. r0, r3 -/* 803057D4 00301434 40 82 FF D8 */ bne lbl_803057AC -/* 803057D8 00301438 48 00 00 64 */ b lbl_8030583C -lbl_803057DC: -/* 803057DC 0030143C 80 83 00 00 */ lwz r4, 0(r3) -/* 803057E0 00301440 48 00 00 40 */ b lbl_80305820 -lbl_803057E4: -/* 803057E4 00301444 28 03 00 61 */ cmplwi r3, 0x61 -/* 803057E8 00301448 38 00 00 00 */ li r0, 0 -/* 803057EC 0030144C 41 80 00 10 */ blt lbl_803057FC -/* 803057F0 00301450 28 03 00 7A */ cmplwi r3, 0x7a -/* 803057F4 00301454 41 81 00 08 */ bgt lbl_803057FC -/* 803057F8 00301458 38 00 00 01 */ li r0, 1 -lbl_803057FC: -/* 803057FC 0030145C 2C 00 00 00 */ cmpwi r0, 0 -/* 80305800 00301460 41 82 00 08 */ beq lbl_80305808 -/* 80305804 00301464 38 63 FF E0 */ addi r3, r3, -32 -lbl_80305808: -/* 80305808 00301468 98 7E 00 00 */ stb r3, 0(r30) -/* 8030580C 0030146C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f -/* 80305810 00301470 38 84 00 02 */ addi r4, r4, 2 -/* 80305814 00301474 3B BD FF FF */ addi r29, r29, -1 -/* 80305818 00301478 98 1E 00 01 */ stb r0, 1(r30) -/* 8030581C 0030147C 3B DE 00 02 */ addi r30, r30, 2 -lbl_80305820: -/* 80305820 00301480 57 A0 04 3F */ clrlwi. r0, r29, 0x10 -/* 80305824 00301484 41 82 00 10 */ beq lbl_80305834 -/* 80305828 00301488 A0 64 00 00 */ lhz r3, 0(r4) -/* 8030582C 0030148C 2C 03 00 00 */ cmpwi r3, 0 -/* 80305830 00301490 40 82 FF B4 */ bne lbl_803057E4 -lbl_80305834: -/* 80305834 00301494 38 00 00 00 */ li r0, 0 -/* 80305838 00301498 98 1E 00 00 */ stb r0, 0(r30) -lbl_8030583C: -/* 8030583C 0030149C 38 00 00 00 */ li r0, 0 -/* 80305840 003014A0 98 1E 00 00 */ stb r0, 0(r30) -/* 80305844 003014A4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80305848 003014A8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8030584C 003014AC 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80305850 003014B0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80305854 003014B4 7C 08 03 A6 */ mtlr r0 -/* 80305858 003014B8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030585C 003014BC 4E 80 00 20 */ blr - -.global func_80305860 -func_80305860: -/* 80305860 003014C0 7C 64 1B 78 */ mr r4, r3 -/* 80305864 003014C4 48 00 00 08 */ b lbl_8030586C -lbl_80305868: -/* 80305868 003014C8 38 84 00 02 */ addi r4, r4, 2 -lbl_8030586C: -/* 8030586C 003014CC A0 04 00 00 */ lhz r0, 0(r4) -/* 80305870 003014D0 2C 00 00 00 */ cmpwi r0, 0 -/* 80305874 003014D4 40 82 FF F4 */ bne lbl_80305868 -/* 80305878 003014D8 7C 03 20 50 */ subf r0, r3, r4 -/* 8030587C 003014DC 7C 03 0E 70 */ srawi r3, r0, 1 -/* 80305880 003014E0 4E 80 00 20 */ blr - -.global func_80305884 -func_80305884: -/* 80305884 003014E4 7C 65 1B 78 */ mr r5, r3 -/* 80305888 003014E8 48 00 00 0C */ b lbl_80305894 -lbl_8030588C: -/* 8030588C 003014EC 38 84 00 02 */ addi r4, r4, 2 -/* 80305890 003014F0 38 A5 00 02 */ addi r5, r5, 2 -lbl_80305894: -/* 80305894 003014F4 A0 04 00 00 */ lhz r0, 0(r4) -/* 80305898 003014F8 2C 00 00 00 */ cmpwi r0, 0 -/* 8030589C 003014FC B0 05 00 00 */ sth r0, 0(r5) -/* 803058A0 00301500 40 82 FF EC */ bne lbl_8030588C -/* 803058A4 00301504 4E 80 00 20 */ blr - -.global func_803058A8 -func_803058A8: -/* 803058A8 00301508 7C A9 03 A6 */ mtctr r5 -/* 803058AC 0030150C 2C 05 00 00 */ cmpwi r5, 0 -/* 803058B0 00301510 41 82 00 3C */ beq lbl_803058EC -lbl_803058B4: -/* 803058B4 00301514 A0 A3 00 00 */ lhz r5, 0(r3) -/* 803058B8 00301518 2C 05 00 00 */ cmpwi r5, 0 -/* 803058BC 0030151C 41 82 00 18 */ beq lbl_803058D4 -/* 803058C0 00301520 A0 04 00 00 */ lhz r0, 0(r4) -/* 803058C4 00301524 2C 00 00 00 */ cmpwi r0, 0 -/* 803058C8 00301528 41 82 00 0C */ beq lbl_803058D4 -/* 803058CC 0030152C 7C 05 00 40 */ cmplw r5, r0 -/* 803058D0 00301530 41 82 00 10 */ beq lbl_803058E0 -lbl_803058D4: -/* 803058D4 00301534 A0 04 00 00 */ lhz r0, 0(r4) -/* 803058D8 00301538 7C 60 28 50 */ subf r3, r0, r5 -/* 803058DC 0030153C 4E 80 00 20 */ blr -lbl_803058E0: -/* 803058E0 00301540 38 63 00 02 */ addi r3, r3, 2 -/* 803058E4 00301544 38 84 00 02 */ addi r4, r4, 2 -/* 803058E8 00301548 42 00 FF CC */ bdnz lbl_803058B4 -lbl_803058EC: -/* 803058EC 0030154C 38 60 00 00 */ li r3, 0 -/* 803058F0 00301550 4E 80 00 20 */ blr - -.global func_803058F4 -func_803058F4: -/* 803058F4 00301554 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 803058F8 00301558 7C 08 02 A6 */ mflr r0 -/* 803058FC 0030155C 90 01 00 84 */ stw r0, 0x84(r1) -/* 80305900 00301560 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 80305904 00301564 7C 9F 23 78 */ mr r31, r4 -/* 80305908 00301568 38 81 00 08 */ addi r4, r1, 8 -/* 8030590C 0030156C 48 00 0A 89 */ bl func_80306394 -/* 80305910 00301570 2C 03 00 00 */ cmpwi r3, 0 -/* 80305914 00301574 41 82 00 0C */ beq lbl_80305920 -/* 80305918 00301578 38 60 00 07 */ li r3, 7 -/* 8030591C 0030157C 48 00 00 B0 */ b lbl_803059CC -lbl_80305920: -/* 80305920 00301580 A0 01 00 10 */ lhz r0, 0x10(r1) -/* 80305924 00301584 38 60 00 00 */ li r3, 0 -/* 80305928 00301588 B0 1F 00 00 */ sth r0, 0(r31) -/* 8030592C 0030158C A0 01 00 14 */ lhz r0, 0x14(r1) -/* 80305930 00301590 B0 1F 00 02 */ sth r0, 2(r31) -/* 80305934 00301594 A0 01 00 16 */ lhz r0, 0x16(r1) -/* 80305938 00301598 B0 1F 00 04 */ sth r0, 4(r31) -/* 8030593C 0030159C 88 01 00 12 */ lbz r0, 0x12(r1) -/* 80305940 003015A0 98 1F 00 06 */ stb r0, 6(r31) -/* 80305944 003015A4 88 01 00 13 */ lbz r0, 0x13(r1) -/* 80305948 003015A8 98 1F 00 07 */ stb r0, 7(r31) -/* 8030594C 003015AC 80 01 00 70 */ lwz r0, 0x70(r1) -/* 80305950 003015B0 90 1F 00 08 */ stw r0, 8(r31) -/* 80305954 003015B4 80 01 00 74 */ lwz r0, 0x74(r1) -/* 80305958 003015B8 90 1F 00 0C */ stw r0, 0xc(r31) -/* 8030595C 003015BC 80 01 00 4C */ lwz r0, 0x4c(r1) -/* 80305960 003015C0 90 1F 00 10 */ stw r0, 0x10(r31) -/* 80305964 003015C4 A0 01 00 50 */ lhz r0, 0x50(r1) -/* 80305968 003015C8 B0 1F 00 14 */ sth r0, 0x14(r31) -/* 8030596C 003015CC A0 01 00 52 */ lhz r0, 0x52(r1) -/* 80305970 003015D0 B0 1F 00 16 */ sth r0, 0x16(r31) -/* 80305974 003015D4 A0 01 00 48 */ lhz r0, 0x48(r1) -/* 80305978 003015D8 B0 1F 00 18 */ sth r0, 0x18(r31) -/* 8030597C 003015DC 88 01 00 2A */ lbz r0, 0x2a(r1) -/* 80305980 003015E0 98 1F 00 1A */ stb r0, 0x1a(r31) -/* 80305984 003015E4 80 01 00 58 */ lwz r0, 0x58(r1) -/* 80305988 003015E8 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 8030598C 003015EC 88 01 00 5C */ lbz r0, 0x5c(r1) -/* 80305990 003015F0 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80305994 003015F4 88 01 00 5D */ lbz r0, 0x5d(r1) -/* 80305998 003015F8 98 1F 00 21 */ stb r0, 0x21(r31) -/* 8030599C 003015FC 88 01 00 57 */ lbz r0, 0x57(r1) -/* 803059A0 00301600 98 1F 00 22 */ stb r0, 0x22(r31) -/* 803059A4 00301604 A0 01 00 5E */ lhz r0, 0x5e(r1) -/* 803059A8 00301608 B0 1F 00 24 */ sth r0, 0x24(r31) -/* 803059AC 0030160C 80 01 00 60 */ lwz r0, 0x60(r1) -/* 803059B0 00301610 90 1F 00 28 */ stw r0, 0x28(r31) -/* 803059B4 00301614 80 01 00 64 */ lwz r0, 0x64(r1) -/* 803059B8 00301618 90 1F 00 2C */ stw r0, 0x2c(r31) -/* 803059BC 0030161C 80 01 00 68 */ lwz r0, 0x68(r1) -/* 803059C0 00301620 90 1F 00 30 */ stw r0, 0x30(r31) -/* 803059C4 00301624 80 01 00 6C */ lwz r0, 0x6c(r1) -/* 803059C8 00301628 90 1F 00 34 */ stw r0, 0x34(r31) -lbl_803059CC: -/* 803059CC 0030162C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 803059D0 00301630 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 803059D4 00301634 7C 08 03 A6 */ mtlr r0 -/* 803059D8 00301638 38 21 00 80 */ addi r1, r1, 0x80 -/* 803059DC 0030163C 4E 80 00 20 */ blr - -.global func_803059E0 -func_803059E0: -/* 803059E0 00301640 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803059E4 00301644 7C 08 02 A6 */ mflr r0 -/* 803059E8 00301648 38 80 FF FF */ li r4, -1 -/* 803059EC 0030164C 90 01 00 34 */ stw r0, 0x34(r1) -/* 803059F0 00301650 38 A1 00 10 */ addi r5, r1, 0x10 -/* 803059F4 00301654 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 803059F8 00301658 93 C1 00 28 */ stw r30, 0x28(r1) -/* 803059FC 0030165C 7C 7E 1B 78 */ mr r30, r3 -/* 80305A00 00301660 48 00 4C B9 */ bl func_8030A6B8 -/* 80305A04 00301664 2C 03 00 00 */ cmpwi r3, 0 -/* 80305A08 00301668 41 82 00 08 */ beq lbl_80305A10 -/* 80305A0C 0030166C 48 00 01 78 */ b lbl_80305B84 -lbl_80305A10: -/* 80305A10 00301670 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305A14 00301674 39 01 00 0C */ addi r8, r1, 0xc -/* 80305A18 00301678 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80305A1C 0030167C 38 C0 00 01 */ li r6, 1 -/* 80305A20 00301680 80 84 00 04 */ lwz r4, 4(r4) -/* 80305A24 00301684 A0 BE 00 14 */ lhz r5, 0x14(r30) -/* 80305A28 00301688 A0 FE 00 00 */ lhz r7, 0(r30) -/* 80305A2C 0030168C 48 00 25 AD */ bl func_80307FD8 -/* 80305A30 00301690 2C 03 00 00 */ cmpwi r3, 0 -/* 80305A34 00301694 41 82 00 50 */ beq lbl_80305A84 -/* 80305A38 00301698 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80305A3C 0030169C 40 82 00 24 */ bne lbl_80305A60 -/* 80305A40 003016A0 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80305A44 003016A4 48 00 2D 91 */ bl func_803087D4 -/* 80305A48 003016A8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80305A4C 003016AC 3B E0 10 00 */ li r31, 0x1000 -/* 80305A50 003016B0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80305A54 003016B4 90 64 00 20 */ stw r3, 0x20(r4) -/* 80305A58 003016B8 90 7E 18 70 */ stw r3, 0x1870(r30) -/* 80305A5C 003016BC 48 00 00 08 */ b lbl_80305A64 -lbl_80305A60: -/* 80305A60 003016C0 3B E0 FF FF */ li r31, -1 -lbl_80305A64: -/* 80305A64 003016C4 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305A68 003016C8 7F C3 F3 78 */ mr r3, r30 -/* 80305A6C 003016CC 48 00 4D 51 */ bl func_8030A7BC -/* 80305A70 003016D0 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80305A74 003016D4 38 80 00 01 */ li r4, 1 -/* 80305A78 003016D8 48 00 22 89 */ bl func_80307D00 -/* 80305A7C 003016DC 7F E3 FB 78 */ mr r3, r31 -/* 80305A80 003016E0 48 00 01 04 */ b lbl_80305B84 -lbl_80305A84: -/* 80305A84 003016E4 80 61 00 10 */ lwz r3, 0x10(r1) -/* 80305A88 003016E8 38 81 00 08 */ addi r4, r1, 8 -/* 80305A8C 003016EC 80 63 00 04 */ lwz r3, 4(r3) -/* 80305A90 003016F0 48 00 0F E5 */ bl func_80306A74 -/* 80305A94 003016F4 2C 03 00 00 */ cmpwi r3, 0 -/* 80305A98 003016F8 41 82 00 24 */ beq lbl_80305ABC -/* 80305A9C 003016FC 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305AA0 00301700 7F C3 F3 78 */ mr r3, r30 -/* 80305AA4 00301704 48 00 4D 19 */ bl func_8030A7BC -/* 80305AA8 00301708 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80305AAC 0030170C 38 80 00 01 */ li r4, 1 -/* 80305AB0 00301710 48 00 22 51 */ bl func_80307D00 -/* 80305AB4 00301714 38 60 FF FF */ li r3, -1 -/* 80305AB8 00301718 48 00 00 CC */ b lbl_80305B84 -lbl_80305ABC: -/* 80305ABC 0030171C 80 01 00 08 */ lwz r0, 8(r1) -/* 80305AC0 00301720 2C 00 00 00 */ cmpwi r0, 0 -/* 80305AC4 00301724 40 82 00 24 */ bne lbl_80305AE8 -/* 80305AC8 00301728 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305ACC 0030172C 7F C3 F3 78 */ mr r3, r30 -/* 80305AD0 00301730 48 00 4C ED */ bl func_8030A7BC -/* 80305AD4 00301734 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80305AD8 00301738 38 80 00 01 */ li r4, 1 -/* 80305ADC 0030173C 48 00 22 25 */ bl func_80307D00 -/* 80305AE0 00301740 38 60 00 07 */ li r3, 7 -/* 80305AE4 00301744 48 00 00 A0 */ b lbl_80305B84 -lbl_80305AE8: -/* 80305AE8 00301748 80 61 00 10 */ lwz r3, 0x10(r1) -/* 80305AEC 0030174C 38 81 00 18 */ addi r4, r1, 0x18 -/* 80305AF0 00301750 80 63 00 04 */ lwz r3, 4(r3) -/* 80305AF4 00301754 48 00 0D D9 */ bl func_803068CC -/* 80305AF8 00301758 2C 03 00 00 */ cmpwi r3, 0 -/* 80305AFC 0030175C 41 82 00 0C */ beq lbl_80305B08 -/* 80305B00 00301760 38 00 00 07 */ li r0, 7 -/* 80305B04 00301764 48 00 00 48 */ b lbl_80305B4C -lbl_80305B08: -/* 80305B08 00301768 80 81 00 18 */ lwz r4, 0x18(r1) -/* 80305B0C 0030176C 28 04 00 02 */ cmplwi r4, 2 -/* 80305B10 00301770 41 80 00 18 */ blt lbl_80305B28 -/* 80305B14 00301774 80 7E 00 34 */ lwz r3, 0x34(r30) -/* 80305B18 00301778 38 03 00 02 */ addi r0, r3, 2 -/* 80305B1C 0030177C 7C 04 00 40 */ cmplw r4, r0 -/* 80305B20 00301780 40 80 00 08 */ bge lbl_80305B28 -/* 80305B24 00301784 90 9E 00 38 */ stw r4, 0x38(r30) -lbl_80305B28: -/* 80305B28 00301788 80 81 00 1C */ lwz r4, 0x1c(r1) -/* 80305B2C 0030178C 28 04 00 02 */ cmplwi r4, 2 -/* 80305B30 00301790 41 80 00 18 */ blt lbl_80305B48 -/* 80305B34 00301794 80 7E 00 34 */ lwz r3, 0x34(r30) -/* 80305B38 00301798 38 03 00 02 */ addi r0, r3, 2 -/* 80305B3C 0030179C 7C 04 00 40 */ cmplw r4, r0 -/* 80305B40 003017A0 40 80 00 08 */ bge lbl_80305B48 -/* 80305B44 003017A4 90 9E 00 3C */ stw r4, 0x3c(r30) -lbl_80305B48: -/* 80305B48 003017A8 38 00 00 00 */ li r0, 0 -lbl_80305B4C: -/* 80305B4C 003017AC 2C 00 00 00 */ cmpwi r0, 0 -/* 80305B50 003017B0 41 82 00 24 */ beq lbl_80305B74 -/* 80305B54 003017B4 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305B58 003017B8 7F C3 F3 78 */ mr r3, r30 -/* 80305B5C 003017BC 48 00 4C 61 */ bl func_8030A7BC -/* 80305B60 003017C0 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80305B64 003017C4 38 80 00 01 */ li r4, 1 -/* 80305B68 003017C8 48 00 21 99 */ bl func_80307D00 -/* 80305B6C 003017CC 38 60 FF FF */ li r3, -1 -/* 80305B70 003017D0 48 00 00 14 */ b lbl_80305B84 -lbl_80305B74: -/* 80305B74 003017D4 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305B78 003017D8 7F C3 F3 78 */ mr r3, r30 -/* 80305B7C 003017DC 48 00 4C 41 */ bl func_8030A7BC -/* 80305B80 003017E0 38 60 00 00 */ li r3, 0 -lbl_80305B84: -/* 80305B84 003017E4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80305B88 003017E8 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80305B8C 003017EC 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80305B90 003017F0 7C 08 03 A6 */ mtlr r0 -/* 80305B94 003017F4 38 21 00 30 */ addi r1, r1, 0x30 -/* 80305B98 003017F8 4E 80 00 20 */ blr - -.global func_80305B9C -func_80305B9C: -/* 80305B9C 003017FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80305BA0 00301800 7C 08 02 A6 */ mflr r0 -/* 80305BA4 00301804 38 80 FF FF */ li r4, -1 -/* 80305BA8 00301808 90 01 00 24 */ stw r0, 0x24(r1) -/* 80305BAC 0030180C 38 A1 00 0C */ addi r5, r1, 0xc -/* 80305BB0 00301810 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80305BB4 00301814 7C 7F 1B 78 */ mr r31, r3 -/* 80305BB8 00301818 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80305BBC 0030181C 48 00 4A FD */ bl func_8030A6B8 -/* 80305BC0 00301820 2C 03 00 00 */ cmpwi r3, 0 -/* 80305BC4 00301824 41 82 00 08 */ beq lbl_80305BCC -/* 80305BC8 00301828 48 00 01 70 */ b lbl_80305D38 -lbl_80305BCC: -/* 80305BCC 0030182C 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80305BD0 00301830 2C 1F 00 00 */ cmpwi r31, 0 -/* 80305BD4 00301834 A0 BF 00 14 */ lhz r5, 0x14(r31) -/* 80305BD8 00301838 80 83 00 08 */ lwz r4, 8(r3) -/* 80305BDC 0030183C 40 82 00 0C */ bne lbl_80305BE8 -/* 80305BE0 00301840 3B C0 00 0A */ li r30, 0xa -/* 80305BE4 00301844 48 00 00 54 */ b lbl_80305C38 -lbl_80305BE8: -/* 80305BE8 00301848 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305BEC 0030184C 39 01 00 08 */ addi r8, r1, 8 -/* 80305BF0 00301850 A0 FF 00 00 */ lhz r7, 0(r31) -/* 80305BF4 00301854 38 C0 00 01 */ li r6, 1 -/* 80305BF8 00301858 48 00 23 E1 */ bl func_80307FD8 -/* 80305BFC 0030185C 2C 03 00 00 */ cmpwi r3, 0 -/* 80305C00 00301860 41 82 00 34 */ beq lbl_80305C34 -/* 80305C04 00301864 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80305C08 00301868 40 82 00 24 */ bne lbl_80305C2C -/* 80305C0C 0030186C 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305C10 00301870 48 00 2B C5 */ bl func_803087D4 -/* 80305C14 00301874 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80305C18 00301878 3B C0 10 00 */ li r30, 0x1000 -/* 80305C1C 0030187C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80305C20 00301880 90 64 00 20 */ stw r3, 0x20(r4) -/* 80305C24 00301884 90 7F 18 70 */ stw r3, 0x1870(r31) -/* 80305C28 00301888 48 00 00 10 */ b lbl_80305C38 -lbl_80305C2C: -/* 80305C2C 0030188C 3B C0 FF FF */ li r30, -1 -/* 80305C30 00301890 48 00 00 08 */ b lbl_80305C38 -lbl_80305C34: -/* 80305C34 00301894 3B C0 00 00 */ li r30, 0 -lbl_80305C38: -/* 80305C38 00301898 2C 1E 00 00 */ cmpwi r30, 0 -/* 80305C3C 0030189C 40 82 00 10 */ bne lbl_80305C4C -/* 80305C40 003018A0 80 01 00 08 */ lwz r0, 8(r1) -/* 80305C44 003018A4 28 00 00 01 */ cmplwi r0, 1 -/* 80305C48 003018A8 41 82 00 08 */ beq lbl_80305C50 -lbl_80305C4C: -/* 80305C4C 003018AC 3B C0 00 11 */ li r30, 0x11 -lbl_80305C50: -/* 80305C50 003018B0 2C 1E 00 00 */ cmpwi r30, 0 -/* 80305C54 003018B4 40 82 00 D4 */ bne lbl_80305D28 -/* 80305C58 003018B8 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80305C5C 003018BC 2C 1F 00 00 */ cmpwi r31, 0 -/* 80305C60 003018C0 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 80305C64 003018C4 80 63 00 08 */ lwz r3, 8(r3) -/* 80305C68 003018C8 98 03 01 E8 */ stb r0, 0x1e8(r3) -/* 80305C6C 003018CC 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80305C70 003018D0 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 80305C74 003018D4 80 63 00 08 */ lwz r3, 8(r3) -/* 80305C78 003018D8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80305C7C 003018DC 98 03 01 E9 */ stb r0, 0x1e9(r3) -/* 80305C80 003018E0 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80305C84 003018E4 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 80305C88 003018E8 80 63 00 08 */ lwz r3, 8(r3) -/* 80305C8C 003018EC 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f -/* 80305C90 003018F0 98 03 01 EA */ stb r0, 0x1ea(r3) -/* 80305C94 003018F4 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80305C98 003018F8 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 80305C9C 003018FC 80 63 00 08 */ lwz r3, 8(r3) -/* 80305CA0 00301900 54 00 46 3E */ srwi r0, r0, 0x18 -/* 80305CA4 00301904 98 03 01 EB */ stb r0, 0x1eb(r3) -/* 80305CA8 00301908 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80305CAC 0030190C A0 BF 00 14 */ lhz r5, 0x14(r31) -/* 80305CB0 00301910 80 83 00 08 */ lwz r4, 8(r3) -/* 80305CB4 00301914 40 82 00 0C */ bne lbl_80305CC0 -/* 80305CB8 00301918 3B C0 00 0A */ li r30, 0xa -/* 80305CBC 0030191C 48 00 00 54 */ b lbl_80305D10 -lbl_80305CC0: -/* 80305CC0 00301920 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305CC4 00301924 39 01 00 08 */ addi r8, r1, 8 -/* 80305CC8 00301928 A0 FF 00 00 */ lhz r7, 0(r31) -/* 80305CCC 0030192C 38 C0 00 01 */ li r6, 1 -/* 80305CD0 00301930 48 00 24 D1 */ bl func_803081A0 -/* 80305CD4 00301934 2C 03 00 00 */ cmpwi r3, 0 -/* 80305CD8 00301938 41 82 00 34 */ beq lbl_80305D0C -/* 80305CDC 0030193C 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80305CE0 00301940 40 82 00 24 */ bne lbl_80305D04 -/* 80305CE4 00301944 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305CE8 00301948 48 00 2A ED */ bl func_803087D4 -/* 80305CEC 0030194C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80305CF0 00301950 3B C0 10 00 */ li r30, 0x1000 -/* 80305CF4 00301954 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80305CF8 00301958 90 64 00 20 */ stw r3, 0x20(r4) -/* 80305CFC 0030195C 90 7F 18 70 */ stw r3, 0x1870(r31) -/* 80305D00 00301960 48 00 00 10 */ b lbl_80305D10 -lbl_80305D04: -/* 80305D04 00301964 3B C0 FF FF */ li r30, -1 -/* 80305D08 00301968 48 00 00 08 */ b lbl_80305D10 -lbl_80305D0C: -/* 80305D0C 0030196C 3B C0 00 00 */ li r30, 0 -lbl_80305D10: -/* 80305D10 00301970 2C 1E 00 00 */ cmpwi r30, 0 -/* 80305D14 00301974 40 82 00 10 */ bne lbl_80305D24 -/* 80305D18 00301978 80 01 00 08 */ lwz r0, 8(r1) -/* 80305D1C 0030197C 28 00 00 01 */ cmplwi r0, 1 -/* 80305D20 00301980 41 82 00 08 */ beq lbl_80305D28 -lbl_80305D24: -/* 80305D24 00301984 3B C0 00 11 */ li r30, 0x11 -lbl_80305D28: -/* 80305D28 00301988 80 81 00 0C */ lwz r4, 0xc(r1) -/* 80305D2C 0030198C 7F E3 FB 78 */ mr r3, r31 -/* 80305D30 00301990 48 00 4A 8D */ bl func_8030A7BC -/* 80305D34 00301994 7F C3 F3 78 */ mr r3, r30 -lbl_80305D38: -/* 80305D38 00301998 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80305D3C 0030199C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80305D40 003019A0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80305D44 003019A4 7C 08 03 A6 */ mtlr r0 -/* 80305D48 003019A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80305D4C 003019AC 4E 80 00 20 */ blr - -.global func_80305D50 -func_80305D50: -/* 80305D50 003019B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80305D54 003019B4 7C 08 02 A6 */ mflr r0 -/* 80305D58 003019B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80305D5C 003019BC 38 81 00 08 */ addi r4, r1, 8 -/* 80305D60 003019C0 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 80305D64 003019C4 48 00 28 35 */ bl func_80308598 -/* 80305D68 003019C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80305D6C 003019CC 80 61 00 08 */ lwz r3, 8(r1) -/* 80305D70 003019D0 7C 08 03 A6 */ mtlr r0 -/* 80305D74 003019D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80305D78 003019D8 4E 80 00 20 */ blr - -.global func_80305D7C -func_80305D7C: -/* 80305D7C 003019DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80305D80 003019E0 7C 08 02 A6 */ mflr r0 -/* 80305D84 003019E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80305D88 003019E8 38 81 00 08 */ addi r4, r1, 8 -/* 80305D8C 003019EC 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 80305D90 003019F0 48 00 29 19 */ bl func_803086A8 -/* 80305D94 003019F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80305D98 003019F8 80 61 00 08 */ lwz r3, 8(r1) -/* 80305D9C 003019FC 7C 08 03 A6 */ mtlr r0 -/* 80305DA0 00301A00 38 21 00 10 */ addi r1, r1, 0x10 -/* 80305DA4 00301A04 4E 80 00 20 */ blr - -.global func_80305DA8 -func_80305DA8: -/* 80305DA8 00301A08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80305DAC 00301A0C 7C 08 02 A6 */ mflr r0 -/* 80305DB0 00301A10 90 01 00 14 */ stw r0, 0x14(r1) -/* 80305DB4 00301A14 38 81 00 08 */ addi r4, r1, 8 -/* 80305DB8 00301A18 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 80305DBC 00301A1C 48 00 26 CD */ bl func_80308488 -/* 80305DC0 00301A20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80305DC4 00301A24 80 61 00 08 */ lwz r3, 8(r1) -/* 80305DC8 00301A28 7C 08 03 A6 */ mtlr r0 -/* 80305DCC 00301A2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80305DD0 00301A30 4E 80 00 20 */ blr - -.global func_80305DD4 -func_80305DD4: -/* 80305DD4 00301A34 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80305DD8 00301A38 7C 08 02 A6 */ mflr r0 -/* 80305DDC 00301A3C 2C 03 00 00 */ cmpwi r3, 0 -/* 80305DE0 00301A40 90 01 00 34 */ stw r0, 0x34(r1) -/* 80305DE4 00301A44 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80305DE8 00301A48 7C 7F 1B 78 */ mr r31, r3 -/* 80305DEC 00301A4C 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80305DF0 00301A50 40 82 00 0C */ bne lbl_80305DFC -/* 80305DF4 00301A54 38 60 00 0A */ li r3, 0xa -/* 80305DF8 00301A58 48 00 01 FC */ b lbl_80305FF4 -lbl_80305DFC: -/* 80305DFC 00301A5C 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 80305E00 00301A60 48 00 1D 1D */ bl func_80307B1C -/* 80305E04 00301A64 2C 03 00 00 */ cmpwi r3, 0 -/* 80305E08 00301A68 41 82 00 34 */ beq lbl_80305E3C -/* 80305E0C 00301A6C 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80305E10 00301A70 40 82 00 24 */ bne lbl_80305E34 -/* 80305E14 00301A74 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305E18 00301A78 48 00 29 BD */ bl func_803087D4 -/* 80305E1C 00301A7C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80305E20 00301A80 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80305E24 00301A84 90 64 00 20 */ stw r3, 0x20(r4) -/* 80305E28 00301A88 90 7F 18 70 */ stw r3, 0x1870(r31) -/* 80305E2C 00301A8C 38 60 10 00 */ li r3, 0x1000 -/* 80305E30 00301A90 48 00 01 C4 */ b lbl_80305FF4 -lbl_80305E34: -/* 80305E34 00301A94 38 60 FF FF */ li r3, -1 -/* 80305E38 00301A98 48 00 01 BC */ b lbl_80305FF4 -lbl_80305E3C: -/* 80305E3C 00301A9C 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305E40 00301AA0 38 81 00 14 */ addi r4, r1, 0x14 -/* 80305E44 00301AA4 48 00 25 25 */ bl func_80308368 -/* 80305E48 00301AA8 2C 03 00 00 */ cmpwi r3, 0 -/* 80305E4C 00301AAC 41 82 00 18 */ beq lbl_80305E64 -/* 80305E50 00301AB0 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305E54 00301AB4 38 80 00 01 */ li r4, 1 -/* 80305E58 00301AB8 48 00 1E A9 */ bl func_80307D00 -/* 80305E5C 00301ABC 38 60 FF FF */ li r3, -1 -/* 80305E60 00301AC0 48 00 01 94 */ b lbl_80305FF4 -lbl_80305E64: -/* 80305E64 00301AC4 80 01 00 20 */ lwz r0, 0x20(r1) -/* 80305E68 00301AC8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80305E6C 00301ACC 41 82 00 18 */ beq lbl_80305E84 -/* 80305E70 00301AD0 A0 1F 18 78 */ lhz r0, 0x1878(r31) -/* 80305E74 00301AD4 80 61 00 24 */ lwz r3, 0x24(r1) -/* 80305E78 00301AD8 60 00 00 10 */ ori r0, r0, 0x10 -/* 80305E7C 00301ADC B0 1F 18 78 */ sth r0, 0x1878(r31) -/* 80305E80 00301AE0 90 7F 18 94 */ stw r3, 0x1894(r31) -lbl_80305E84: -/* 80305E84 00301AE4 80 01 00 20 */ lwz r0, 0x20(r1) -/* 80305E88 00301AE8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80305E8C 00301AEC 41 82 00 10 */ beq lbl_80305E9C -/* 80305E90 00301AF0 A0 1F 18 78 */ lhz r0, 0x1878(r31) -/* 80305E94 00301AF4 60 00 00 20 */ ori r0, r0, 0x20 -/* 80305E98 00301AF8 B0 1F 18 78 */ sth r0, 0x1878(r31) -lbl_80305E9C: -/* 80305E9C 00301AFC 7F E3 FB 78 */ mr r3, r31 -/* 80305EA0 00301B00 38 A1 00 10 */ addi r5, r1, 0x10 -/* 80305EA4 00301B04 38 80 FF FF */ li r4, -1 -/* 80305EA8 00301B08 48 00 48 11 */ bl func_8030A6B8 -/* 80305EAC 00301B0C 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305EB0 00301B10 39 01 00 0C */ addi r8, r1, 0xc -/* 80305EB4 00301B14 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305EB8 00301B18 38 A0 00 00 */ li r5, 0 -/* 80305EBC 00301B1C 80 84 00 04 */ lwz r4, 4(r4) -/* 80305EC0 00301B20 38 C0 00 01 */ li r6, 1 -/* 80305EC4 00301B24 38 E0 02 00 */ li r7, 0x200 -/* 80305EC8 00301B28 48 00 21 11 */ bl func_80307FD8 -/* 80305ECC 00301B2C 2C 03 00 00 */ cmpwi r3, 0 -/* 80305ED0 00301B30 41 82 00 50 */ beq lbl_80305F20 -/* 80305ED4 00301B34 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80305ED8 00301B38 40 82 00 24 */ bne lbl_80305EFC -/* 80305EDC 00301B3C 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305EE0 00301B40 48 00 28 F5 */ bl func_803087D4 -/* 80305EE4 00301B44 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80305EE8 00301B48 3B C0 10 00 */ li r30, 0x1000 -/* 80305EEC 00301B4C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80305EF0 00301B50 90 64 00 20 */ stw r3, 0x20(r4) -/* 80305EF4 00301B54 90 7F 18 70 */ stw r3, 0x1870(r31) -/* 80305EF8 00301B58 48 00 00 08 */ b lbl_80305F00 -lbl_80305EFC: -/* 80305EFC 00301B5C 3B C0 FF FF */ li r30, -1 -lbl_80305F00: -/* 80305F00 00301B60 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305F04 00301B64 7F E3 FB 78 */ mr r3, r31 -/* 80305F08 00301B68 48 00 48 B5 */ bl func_8030A7BC -/* 80305F0C 00301B6C 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305F10 00301B70 38 80 00 01 */ li r4, 1 -/* 80305F14 00301B74 48 00 1D ED */ bl func_80307D00 -/* 80305F18 00301B78 7F C3 F3 78 */ mr r3, r30 -/* 80305F1C 00301B7C 48 00 00 D8 */ b lbl_80305FF4 -lbl_80305F20: -/* 80305F20 00301B80 80 61 00 10 */ lwz r3, 0x10(r1) -/* 80305F24 00301B84 38 81 00 08 */ addi r4, r1, 8 -/* 80305F28 00301B88 80 63 00 04 */ lwz r3, 4(r3) -/* 80305F2C 00301B8C 48 00 0A 01 */ bl func_8030692C -/* 80305F30 00301B90 2C 03 00 00 */ cmpwi r3, 0 -/* 80305F34 00301B94 41 82 00 24 */ beq lbl_80305F58 -/* 80305F38 00301B98 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305F3C 00301B9C 7F E3 FB 78 */ mr r3, r31 -/* 80305F40 00301BA0 48 00 48 7D */ bl func_8030A7BC -/* 80305F44 00301BA4 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305F48 00301BA8 38 80 00 01 */ li r4, 1 -/* 80305F4C 00301BAC 48 00 1D B5 */ bl func_80307D00 -/* 80305F50 00301BB0 38 60 FF FF */ li r3, -1 -/* 80305F54 00301BB4 48 00 00 A0 */ b lbl_80305FF4 -lbl_80305F58: -/* 80305F58 00301BB8 80 01 00 08 */ lwz r0, 8(r1) -/* 80305F5C 00301BBC 2C 00 00 00 */ cmpwi r0, 0 -/* 80305F60 00301BC0 40 82 00 24 */ bne lbl_80305F84 -/* 80305F64 00301BC4 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305F68 00301BC8 7F E3 FB 78 */ mr r3, r31 -/* 80305F6C 00301BCC 48 00 48 51 */ bl func_8030A7BC -/* 80305F70 00301BD0 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305F74 00301BD4 38 80 00 01 */ li r4, 1 -/* 80305F78 00301BD8 48 00 1D 89 */ bl func_80307D00 -/* 80305F7C 00301BDC 38 60 00 07 */ li r3, 7 -/* 80305F80 00301BE0 48 00 00 74 */ b lbl_80305FF4 -lbl_80305F84: -/* 80305F84 00301BE4 80 61 00 10 */ lwz r3, 0x10(r1) -/* 80305F88 00301BE8 7F E4 FB 78 */ mr r4, r31 -/* 80305F8C 00301BEC 80 63 00 04 */ lwz r3, 4(r3) -/* 80305F90 00301BF0 4B FF F9 65 */ bl func_803058F4 -/* 80305F94 00301BF4 2C 03 00 00 */ cmpwi r3, 0 -/* 80305F98 00301BF8 7C 7E 1B 78 */ mr r30, r3 -/* 80305F9C 00301BFC 41 82 00 24 */ beq lbl_80305FC0 -/* 80305FA0 00301C00 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305FA4 00301C04 7F E3 FB 78 */ mr r3, r31 -/* 80305FA8 00301C08 48 00 48 15 */ bl func_8030A7BC -/* 80305FAC 00301C0C 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80305FB0 00301C10 38 80 00 01 */ li r4, 1 -/* 80305FB4 00301C14 48 00 1D 4D */ bl func_80307D00 -/* 80305FB8 00301C18 7F C3 F3 78 */ mr r3, r30 -/* 80305FBC 00301C1C 48 00 00 38 */ b lbl_80305FF4 -lbl_80305FC0: -/* 80305FC0 00301C20 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80305FC4 00301C24 7F E3 FB 78 */ mr r3, r31 -/* 80305FC8 00301C28 48 00 47 F5 */ bl func_8030A7BC -/* 80305FCC 00301C2C 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 80305FD0 00301C30 38 60 FF FF */ li r3, -1 -/* 80305FD4 00301C34 90 7F 00 38 */ stw r3, 0x38(r31) -/* 80305FD8 00301C38 2C 00 00 02 */ cmpwi r0, 2 -/* 80305FDC 00301C3C 90 7F 00 3C */ stw r3, 0x3c(r31) -/* 80305FE0 00301C40 40 82 00 10 */ bne lbl_80305FF0 -/* 80305FE4 00301C44 7F E3 FB 78 */ mr r3, r31 -/* 80305FE8 00301C48 4B FF F9 F9 */ bl func_803059E0 -/* 80305FEC 00301C4C 7C 7E 1B 78 */ mr r30, r3 -lbl_80305FF0: -/* 80305FF0 00301C50 7F C3 F3 78 */ mr r3, r30 -lbl_80305FF4: -/* 80305FF4 00301C54 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80305FF8 00301C58 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80305FFC 00301C5C 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80306000 00301C60 7C 08 03 A6 */ mtlr r0 -/* 80306004 00301C64 38 21 00 30 */ addi r1, r1, 0x30 -/* 80306008 00301C68 4E 80 00 20 */ blr - -.global func_8030600C -func_8030600C: -/* 8030600C 00301C6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80306010 00301C70 7C 08 02 A6 */ mflr r0 -/* 80306014 00301C74 2C 03 00 00 */ cmpwi r3, 0 -/* 80306018 00301C78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030601C 00301C7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80306020 00301C80 7C 7F 1B 78 */ mr r31, r3 -/* 80306024 00301C84 40 82 00 0C */ bne lbl_80306030 -/* 80306028 00301C88 38 60 00 0A */ li r3, 0xa -/* 8030602C 00301C8C 48 00 00 54 */ b lbl_80306080 -lbl_80306030: -/* 80306030 00301C90 38 04 FF FF */ addi r0, r4, -1 -/* 80306034 00301C94 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 80306038 00301C98 7C 00 00 34 */ cntlzw r0, r0 -/* 8030603C 00301C9C 54 04 D9 7E */ srwi r4, r0, 5 -/* 80306040 00301CA0 48 00 1C C1 */ bl func_80307D00 -/* 80306044 00301CA4 2C 03 00 00 */ cmpwi r3, 0 -/* 80306048 00301CA8 41 82 00 34 */ beq lbl_8030607C -/* 8030604C 00301CAC 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80306050 00301CB0 40 82 00 24 */ bne lbl_80306074 -/* 80306054 00301CB4 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80306058 00301CB8 48 00 27 7D */ bl func_803087D4 -/* 8030605C 00301CBC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80306060 00301CC0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80306064 00301CC4 90 64 00 20 */ stw r3, 0x20(r4) -/* 80306068 00301CC8 90 7F 18 70 */ stw r3, 0x1870(r31) -/* 8030606C 00301CCC 38 60 10 00 */ li r3, 0x1000 -/* 80306070 00301CD0 48 00 00 10 */ b lbl_80306080 -lbl_80306074: -/* 80306074 00301CD4 38 60 FF FF */ li r3, -1 -/* 80306078 00301CD8 48 00 00 08 */ b lbl_80306080 -lbl_8030607C: -/* 8030607C 00301CDC 38 60 00 00 */ li r3, 0 -lbl_80306080: -/* 80306080 00301CE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80306084 00301CE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80306088 00301CE8 7C 08 03 A6 */ mtlr r0 -/* 8030608C 00301CEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80306090 00301CF0 4E 80 00 20 */ blr - -.global func_80306094 -func_80306094: -/* 80306094 00301CF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80306098 00301CF8 7C 08 02 A6 */ mflr r0 -/* 8030609C 00301CFC 2C 03 00 00 */ cmpwi r3, 0 -/* 803060A0 00301D00 90 01 00 14 */ stw r0, 0x14(r1) -/* 803060A4 00301D04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803060A8 00301D08 7C 9F 23 78 */ mr r31, r4 -/* 803060AC 00301D0C 93 C1 00 08 */ stw r30, 8(r1) -/* 803060B0 00301D10 7C 7E 1B 78 */ mr r30, r3 -/* 803060B4 00301D14 40 82 00 0C */ bne lbl_803060C0 -/* 803060B8 00301D18 38 60 00 0A */ li r3, 0xa -/* 803060BC 00301D1C 48 00 00 E8 */ b lbl_803061A4 -lbl_803060C0: -/* 803060C0 00301D20 A0 03 18 78 */ lhz r0, 0x1878(r3) -/* 803060C4 00301D24 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 803060C8 00301D28 40 82 00 44 */ bne lbl_8030610C -/* 803060CC 00301D2C 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 803060D0 00301D30 48 00 1A 4D */ bl func_80307B1C -/* 803060D4 00301D34 2C 03 00 00 */ cmpwi r3, 0 -/* 803060D8 00301D38 41 82 00 34 */ beq lbl_8030610C -/* 803060DC 00301D3C 2C 03 00 15 */ cmpwi r3, 0x15 -/* 803060E0 00301D40 40 82 00 24 */ bne lbl_80306104 -/* 803060E4 00301D44 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 803060E8 00301D48 48 00 26 ED */ bl func_803087D4 -/* 803060EC 00301D4C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 803060F0 00301D50 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 803060F4 00301D54 90 64 00 20 */ stw r3, 0x20(r4) -/* 803060F8 00301D58 90 7E 18 70 */ stw r3, 0x1870(r30) -/* 803060FC 00301D5C 38 60 10 00 */ li r3, 0x1000 -/* 80306100 00301D60 48 00 00 A4 */ b lbl_803061A4 -lbl_80306104: -/* 80306104 00301D64 38 60 FF FF */ li r3, -1 -/* 80306108 00301D68 48 00 00 9C */ b lbl_803061A4 -lbl_8030610C: -/* 8030610C 00301D6C 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80306110 00301D70 7F E4 FB 78 */ mr r4, r31 -/* 80306114 00301D74 48 00 1D 79 */ bl func_80307E8C -/* 80306118 00301D78 2C 03 00 00 */ cmpwi r3, 0 -/* 8030611C 00301D7C 41 82 00 34 */ beq lbl_80306150 -/* 80306120 00301D80 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80306124 00301D84 40 82 00 24 */ bne lbl_80306148 -/* 80306128 00301D88 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 8030612C 00301D8C 48 00 26 A9 */ bl func_803087D4 -/* 80306130 00301D90 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80306134 00301D94 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80306138 00301D98 90 64 00 20 */ stw r3, 0x20(r4) -/* 8030613C 00301D9C 90 7E 18 70 */ stw r3, 0x1870(r30) -/* 80306140 00301DA0 38 60 10 00 */ li r3, 0x1000 -/* 80306144 00301DA4 48 00 00 60 */ b lbl_803061A4 -lbl_80306148: -/* 80306148 00301DA8 38 60 FF FF */ li r3, -1 -/* 8030614C 00301DAC 48 00 00 58 */ b lbl_803061A4 -lbl_80306150: -/* 80306150 00301DB0 A0 1E 18 78 */ lhz r0, 0x1878(r30) -/* 80306154 00301DB4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80306158 00301DB8 40 82 00 48 */ bne lbl_803061A0 -/* 8030615C 00301DBC 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 80306160 00301DC0 38 80 00 01 */ li r4, 1 -/* 80306164 00301DC4 48 00 1B 9D */ bl func_80307D00 -/* 80306168 00301DC8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030616C 00301DCC 41 82 00 34 */ beq lbl_803061A0 -/* 80306170 00301DD0 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80306174 00301DD4 40 82 00 24 */ bne lbl_80306198 -/* 80306178 00301DD8 80 7E 18 8C */ lwz r3, 0x188c(r30) -/* 8030617C 00301DDC 48 00 26 59 */ bl func_803087D4 -/* 80306180 00301DE0 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80306184 00301DE4 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80306188 00301DE8 90 64 00 20 */ stw r3, 0x20(r4) -/* 8030618C 00301DEC 90 7E 18 70 */ stw r3, 0x1870(r30) -/* 80306190 00301DF0 38 60 10 00 */ li r3, 0x1000 -/* 80306194 00301DF4 48 00 00 10 */ b lbl_803061A4 -lbl_80306198: -/* 80306198 00301DF8 38 60 FF FF */ li r3, -1 -/* 8030619C 00301DFC 48 00 00 08 */ b lbl_803061A4 -lbl_803061A0: -/* 803061A0 00301E00 38 60 00 00 */ li r3, 0 -lbl_803061A4: -/* 803061A4 00301E04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803061A8 00301E08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803061AC 00301E0C 83 C1 00 08 */ lwz r30, 8(r1) -/* 803061B0 00301E10 7C 08 03 A6 */ mtlr r0 -/* 803061B4 00301E14 38 21 00 10 */ addi r1, r1, 0x10 -/* 803061B8 00301E18 4E 80 00 20 */ blr - -.global func_803061BC -func_803061BC: -/* 803061BC 00301E1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803061C0 00301E20 7C 08 02 A6 */ mflr r0 -/* 803061C4 00301E24 2C 03 00 00 */ cmpwi r3, 0 -/* 803061C8 00301E28 90 01 00 14 */ stw r0, 0x14(r1) -/* 803061CC 00301E2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803061D0 00301E30 7C 7F 1B 78 */ mr r31, r3 -/* 803061D4 00301E34 40 82 00 0C */ bne lbl_803061E0 -/* 803061D8 00301E38 38 60 00 0A */ li r3, 0xa -/* 803061DC 00301E3C 48 00 00 50 */ b lbl_8030622C -lbl_803061E0: -/* 803061E0 00301E40 7C E8 3B 78 */ mr r8, r7 -/* 803061E4 00301E44 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 803061E8 00301E48 A0 FF 00 00 */ lhz r7, 0(r31) -/* 803061EC 00301E4C 48 00 1D ED */ bl func_80307FD8 -/* 803061F0 00301E50 2C 03 00 00 */ cmpwi r3, 0 -/* 803061F4 00301E54 41 82 00 34 */ beq lbl_80306228 -/* 803061F8 00301E58 2C 03 00 15 */ cmpwi r3, 0x15 -/* 803061FC 00301E5C 40 82 00 24 */ bne lbl_80306220 -/* 80306200 00301E60 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80306204 00301E64 48 00 25 D1 */ bl func_803087D4 -/* 80306208 00301E68 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 8030620C 00301E6C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80306210 00301E70 90 64 00 20 */ stw r3, 0x20(r4) -/* 80306214 00301E74 90 7F 18 70 */ stw r3, 0x1870(r31) -/* 80306218 00301E78 38 60 10 00 */ li r3, 0x1000 -/* 8030621C 00301E7C 48 00 00 10 */ b lbl_8030622C -lbl_80306220: -/* 80306220 00301E80 38 60 FF FF */ li r3, -1 -/* 80306224 00301E84 48 00 00 08 */ b lbl_8030622C -lbl_80306228: -/* 80306228 00301E88 38 60 00 00 */ li r3, 0 -lbl_8030622C: -/* 8030622C 00301E8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80306230 00301E90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80306234 00301E94 7C 08 03 A6 */ mtlr r0 -/* 80306238 00301E98 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030623C 00301E9C 4E 80 00 20 */ blr - -.global func_80306240 -func_80306240: -/* 80306240 00301EA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80306244 00301EA4 7C 08 02 A6 */ mflr r0 -/* 80306248 00301EA8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030624C 00301EAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80306250 00301EB0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80306254 00301EB4 7C 7F 1B 78 */ mr r31, r3 -/* 80306258 00301EB8 40 82 00 0C */ bne lbl_80306264 -/* 8030625C 00301EBC 38 60 00 0A */ li r3, 0xa -/* 80306260 00301EC0 48 00 00 50 */ b lbl_803062B0 -lbl_80306264: -/* 80306264 00301EC4 7C E8 3B 78 */ mr r8, r7 -/* 80306268 00301EC8 80 63 18 8C */ lwz r3, 0x188c(r3) -/* 8030626C 00301ECC A0 FF 00 00 */ lhz r7, 0(r31) -/* 80306270 00301ED0 48 00 1F 31 */ bl func_803081A0 -/* 80306274 00301ED4 2C 03 00 00 */ cmpwi r3, 0 -/* 80306278 00301ED8 41 82 00 34 */ beq lbl_803062AC -/* 8030627C 00301EDC 2C 03 00 15 */ cmpwi r3, 0x15 -/* 80306280 00301EE0 40 82 00 24 */ bne lbl_803062A4 -/* 80306284 00301EE4 80 7F 18 8C */ lwz r3, 0x188c(r31) -/* 80306288 00301EE8 48 00 25 4D */ bl func_803087D4 -/* 8030628C 00301EEC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha -/* 80306290 00301EF0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l -/* 80306294 00301EF4 90 64 00 20 */ stw r3, 0x20(r4) -/* 80306298 00301EF8 90 7F 18 70 */ stw r3, 0x1870(r31) -/* 8030629C 00301EFC 38 60 10 00 */ li r3, 0x1000 -/* 803062A0 00301F00 48 00 00 10 */ b lbl_803062B0 -lbl_803062A4: -/* 803062A4 00301F04 38 60 FF FF */ li r3, -1 -/* 803062A8 00301F08 48 00 00 08 */ b lbl_803062B0 -lbl_803062AC: -/* 803062AC 00301F0C 38 60 00 00 */ li r3, 0 -lbl_803062B0: -/* 803062B0 00301F10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803062B4 00301F14 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803062B8 00301F18 7C 08 03 A6 */ mtlr r0 -/* 803062BC 00301F1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 803062C0 00301F20 4E 80 00 20 */ blr - -.global func_803062C4 -func_803062C4: -/* 803062C4 00301F24 38 00 00 00 */ li r0, 0 -/* 803062C8 00301F28 A0 A3 00 08 */ lhz r5, 8(r3) -/* 803062CC 00301F2C 98 03 00 54 */ stb r0, 0x54(r3) -/* 803062D0 00301F30 48 00 00 10 */ b lbl_803062E0 -lbl_803062D4: -/* 803062D4 00301F34 88 83 00 54 */ lbz r4, 0x54(r3) -/* 803062D8 00301F38 38 04 00 01 */ addi r0, r4, 1 -/* 803062DC 00301F3C 98 03 00 54 */ stb r0, 0x54(r3) -lbl_803062E0: -/* 803062E0 00301F40 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f -/* 803062E4 00301F44 40 82 FF F0 */ bne lbl_803062D4 -/* 803062E8 00301F48 38 00 00 00 */ li r0, 0 -/* 803062EC 00301F4C 88 A3 00 0A */ lbz r5, 0xa(r3) -/* 803062F0 00301F50 98 03 00 55 */ stb r0, 0x55(r3) -/* 803062F4 00301F54 48 00 00 10 */ b lbl_80306304 -lbl_803062F8: -/* 803062F8 00301F58 88 83 00 55 */ lbz r4, 0x55(r3) -/* 803062FC 00301F5C 38 04 00 01 */ addi r0, r4, 1 -/* 80306300 00301F60 98 03 00 55 */ stb r0, 0x55(r3) -lbl_80306304: -/* 80306304 00301F64 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f -/* 80306308 00301F68 40 82 FF F0 */ bne lbl_803062F8 -/* 8030630C 00301F6C A0 03 00 0E */ lhz r0, 0xe(r3) -/* 80306310 00301F70 A0 A3 00 08 */ lhz r5, 8(r3) -/* 80306314 00301F74 54 06 28 34 */ slwi r6, r0, 5 -/* 80306318 00301F78 88 83 00 0B */ lbz r4, 0xb(r3) -/* 8030631C 00301F7C 80 03 00 6C */ lwz r0, 0x6c(r3) -/* 80306320 00301F80 7C A5 32 14 */ add r5, r5, r6 -/* 80306324 00301F84 88 E3 00 54 */ lbz r7, 0x54(r3) -/* 80306328 00301F88 39 05 FF FF */ addi r8, r5, -1 -/* 8030632C 00301F8C 7C C4 01 D6 */ mullw r6, r4, r0 -/* 80306330 00301F90 A0 A3 00 0C */ lhz r5, 0xc(r3) -/* 80306334 00301F94 7D 08 3E 30 */ sraw r8, r8, r7 -/* 80306338 00301F98 80 83 00 68 */ lwz r4, 0x68(r3) -/* 8030633C 00301F9C 88 03 00 55 */ lbz r0, 0x55(r3) -/* 80306340 00301FA0 55 07 04 3E */ clrlwi r7, r8, 0x10 -/* 80306344 00301FA4 7C A7 2A 14 */ add r5, r7, r5 -/* 80306348 00301FA8 B1 03 00 56 */ sth r8, 0x56(r3) -/* 8030634C 00301FAC 7C A6 2A 14 */ add r5, r6, r5 -/* 80306350 00301FB0 7C 85 20 50 */ subf r4, r5, r4 -/* 80306354 00301FB4 90 A3 00 60 */ stw r5, 0x60(r3) -/* 80306358 00301FB8 7C 80 04 30 */ srw r0, r4, r0 -/* 8030635C 00301FBC 28 00 0F F5 */ cmplwi r0, 0xff5 -/* 80306360 00301FC0 90 03 00 64 */ stw r0, 0x64(r3) -/* 80306364 00301FC4 40 80 00 10 */ bge lbl_80306374 -/* 80306368 00301FC8 38 00 00 00 */ li r0, 0 -/* 8030636C 00301FCC 90 03 00 50 */ stw r0, 0x50(r3) -/* 80306370 00301FD0 4E 80 00 20 */ blr -lbl_80306374: -/* 80306374 00301FD4 28 00 FF F5 */ cmplwi r0, 0xfff5 -/* 80306378 00301FD8 40 80 00 10 */ bge lbl_80306388 -/* 8030637C 00301FDC 38 00 00 01 */ li r0, 1 -/* 80306380 00301FE0 90 03 00 50 */ stw r0, 0x50(r3) -/* 80306384 00301FE4 4E 80 00 20 */ blr -lbl_80306388: -/* 80306388 00301FE8 38 00 00 02 */ li r0, 2 -/* 8030638C 00301FEC 90 03 00 50 */ stw r0, 0x50(r3) -/* 80306390 00301FF0 4E 80 00 20 */ blr - -.global func_80306394 -func_80306394: -/* 80306394 00301FF4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80306398 00301FF8 7C 08 02 A6 */ mflr r0 -/* 8030639C 00301FFC 2C 83 00 00 */ cmpwi cr1, r3, 0 -/* 803063A0 00302000 90 01 00 24 */ stw r0, 0x24(r1) -/* 803063A4 00302004 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803063A8 00302008 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803063AC 0030200C 7C 9E 23 78 */ mr r30, r4 -/* 803063B0 00302010 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803063B4 00302014 7C 7D 1B 78 */ mr r29, r3 -/* 803063B8 00302018 41 86 00 0C */ beq cr1, lbl_803063C4 -/* 803063BC 0030201C 2C 04 00 00 */ cmpwi r4, 0 -/* 803063C0 00302020 40 82 00 0C */ bne lbl_803063CC -lbl_803063C4: -/* 803063C4 00302024 38 60 00 01 */ li r3, 1 -/* 803063C8 00302028 48 00 04 E8 */ b lbl_803068B0 -lbl_803063CC: -/* 803063CC 0030202C 3B E0 00 00 */ li r31, 0 -/* 803063D0 00302030 41 86 00 24 */ beq cr1, lbl_803063F4 -/* 803063D4 00302034 34 04 00 4C */ addic. r0, r4, 0x4c -/* 803063D8 00302038 41 82 00 1C */ beq lbl_803063F4 -/* 803063DC 0030203C 88 03 00 00 */ lbz r0, 0(r3) -/* 803063E0 00302040 98 04 00 4C */ stb r0, 0x4c(r4) -/* 803063E4 00302044 88 03 00 01 */ lbz r0, 1(r3) -/* 803063E8 00302048 98 04 00 4D */ stb r0, 0x4d(r4) -/* 803063EC 0030204C 88 03 00 02 */ lbz r0, 2(r3) -/* 803063F0 00302050 98 04 00 4E */ stb r0, 0x4e(r4) -lbl_803063F4: -/* 803063F4 00302054 34 03 00 03 */ addic. r0, r3, 3 -/* 803063F8 00302058 41 82 00 4C */ beq lbl_80306444 -/* 803063FC 0030205C 2C 04 00 00 */ cmpwi r4, 0 -/* 80306400 00302060 41 82 00 44 */ beq lbl_80306444 -/* 80306404 00302064 88 03 00 03 */ lbz r0, 3(r3) -/* 80306408 00302068 98 04 00 00 */ stb r0, 0(r4) -/* 8030640C 0030206C 88 03 00 04 */ lbz r0, 4(r3) -/* 80306410 00302070 98 04 00 01 */ stb r0, 1(r4) -/* 80306414 00302074 88 03 00 05 */ lbz r0, 5(r3) -/* 80306418 00302078 98 04 00 02 */ stb r0, 2(r4) -/* 8030641C 0030207C 88 03 00 06 */ lbz r0, 6(r3) -/* 80306420 00302080 98 04 00 03 */ stb r0, 3(r4) -/* 80306424 00302084 88 03 00 07 */ lbz r0, 7(r3) -/* 80306428 00302088 98 04 00 04 */ stb r0, 4(r4) -/* 8030642C 0030208C 88 03 00 08 */ lbz r0, 8(r3) -/* 80306430 00302090 98 04 00 05 */ stb r0, 5(r4) -/* 80306434 00302094 88 03 00 09 */ lbz r0, 9(r3) -/* 80306438 00302098 98 04 00 06 */ stb r0, 6(r4) -/* 8030643C 0030209C 88 03 00 0A */ lbz r0, 0xa(r3) -/* 80306440 003020A0 98 04 00 07 */ stb r0, 7(r4) -lbl_80306444: -/* 80306444 003020A4 88 A3 00 0C */ lbz r5, 0xc(r3) -/* 80306448 003020A8 88 03 00 0B */ lbz r0, 0xb(r3) -/* 8030644C 003020AC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 80306450 003020B0 B0 04 00 08 */ sth r0, 8(r4) -/* 80306454 003020B4 88 03 00 0D */ lbz r0, 0xd(r3) -/* 80306458 003020B8 98 04 00 0A */ stb r0, 0xa(r4) -/* 8030645C 003020BC 88 A3 00 0F */ lbz r5, 0xf(r3) -/* 80306460 003020C0 88 03 00 0E */ lbz r0, 0xe(r3) -/* 80306464 003020C4 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 80306468 003020C8 B0 04 00 0C */ sth r0, 0xc(r4) -/* 8030646C 003020CC 88 03 00 10 */ lbz r0, 0x10(r3) -/* 80306470 003020D0 98 04 00 0B */ stb r0, 0xb(r4) -/* 80306474 003020D4 88 A3 00 12 */ lbz r5, 0x12(r3) -/* 80306478 003020D8 88 03 00 11 */ lbz r0, 0x11(r3) -/* 8030647C 003020DC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 80306480 003020E0 B0 04 00 0E */ sth r0, 0xe(r4) -/* 80306484 003020E4 88 03 00 14 */ lbz r0, 0x14(r3) -/* 80306488 003020E8 88 E3 00 13 */ lbz r7, 0x13(r3) -/* 8030648C 003020EC 50 07 44 2F */ rlwimi. r7, r0, 8, 0x10, 0x17 -/* 80306490 003020F0 B0 E4 00 10 */ sth r7, 0x10(r4) -/* 80306494 003020F4 88 03 00 15 */ lbz r0, 0x15(r3) -/* 80306498 003020F8 98 04 00 22 */ stb r0, 0x22(r4) -/* 8030649C 003020FC 88 A3 00 17 */ lbz r5, 0x17(r3) -/* 803064A0 00302100 88 03 00 16 */ lbz r0, 0x16(r3) -/* 803064A4 00302104 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 803064A8 00302108 B0 04 00 12 */ sth r0, 0x12(r4) -/* 803064AC 0030210C 88 A3 00 19 */ lbz r5, 0x19(r3) -/* 803064B0 00302110 88 03 00 18 */ lbz r0, 0x18(r3) -/* 803064B4 00302114 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 803064B8 00302118 B0 04 00 14 */ sth r0, 0x14(r4) -/* 803064BC 0030211C 88 A3 00 1B */ lbz r5, 0x1b(r3) -/* 803064C0 00302120 88 03 00 1A */ lbz r0, 0x1a(r3) -/* 803064C4 00302124 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 803064C8 00302128 B0 04 00 20 */ sth r0, 0x20(r4) -/* 803064CC 0030212C 88 A3 00 1D */ lbz r5, 0x1d(r3) -/* 803064D0 00302130 88 03 00 1C */ lbz r0, 0x1c(r3) -/* 803064D4 00302134 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 803064D8 00302138 88 C3 00 1E */ lbz r6, 0x1e(r3) -/* 803064DC 0030213C 88 A3 00 1F */ lbz r5, 0x1f(r3) -/* 803064E0 00302140 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf -/* 803064E4 00302144 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 -/* 803064E8 00302148 90 04 00 18 */ stw r0, 0x18(r4) -/* 803064EC 0030214C 88 A3 00 21 */ lbz r5, 0x21(r3) -/* 803064F0 00302150 88 03 00 20 */ lbz r0, 0x20(r3) -/* 803064F4 00302154 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 803064F8 00302158 88 C3 00 22 */ lbz r6, 0x22(r3) -/* 803064FC 0030215C 88 A3 00 23 */ lbz r5, 0x23(r3) -/* 80306500 00302160 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf -/* 80306504 00302164 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 -/* 80306508 00302168 90 04 00 1C */ stw r0, 0x1c(r4) -/* 8030650C 0030216C 40 82 00 08 */ bne lbl_80306514 -/* 80306510 00302170 48 00 00 08 */ b lbl_80306518 -lbl_80306514: -/* 80306514 00302174 54 E0 04 3E */ clrlwi r0, r7, 0x10 -lbl_80306518: -/* 80306518 00302178 A0 A4 00 12 */ lhz r5, 0x12(r4) -/* 8030651C 0030217C 90 04 00 68 */ stw r0, 0x68(r4) -/* 80306520 00302180 2C 05 00 00 */ cmpwi r5, 0 -/* 80306524 00302184 40 82 00 2C */ bne lbl_80306550 -/* 80306528 00302188 88 A3 00 25 */ lbz r5, 0x25(r3) -/* 8030652C 0030218C 88 03 00 24 */ lbz r0, 0x24(r3) -/* 80306530 00302190 88 C3 00 26 */ lbz r6, 0x26(r3) -/* 80306534 00302194 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 80306538 00302198 88 63 00 27 */ lbz r3, 0x27(r3) -/* 8030653C 0030219C 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf -/* 80306540 003021A0 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 80306544 003021A4 90 04 00 3C */ stw r0, 0x3c(r4) -/* 80306548 003021A8 90 04 00 6C */ stw r0, 0x6c(r4) -/* 8030654C 003021AC 48 00 00 10 */ b lbl_8030655C -lbl_80306550: -/* 80306550 003021B0 38 00 00 00 */ li r0, 0 -/* 80306554 003021B4 90 A4 00 6C */ stw r5, 0x6c(r4) -/* 80306558 003021B8 90 04 00 3C */ stw r0, 0x3c(r4) -lbl_8030655C: -/* 8030655C 003021BC 7F C3 F3 78 */ mr r3, r30 -/* 80306560 003021C0 4B FF FD 65 */ bl func_803062C4 -/* 80306564 003021C4 80 1E 00 50 */ lwz r0, 0x50(r30) -/* 80306568 003021C8 2C 00 00 02 */ cmpwi r0, 2 -/* 8030656C 003021CC 41 82 01 28 */ beq lbl_80306694 -/* 80306570 003021D0 40 80 02 9C */ bge lbl_8030680C -/* 80306574 003021D4 2C 00 00 00 */ cmpwi r0, 0 -/* 80306578 003021D8 40 80 00 08 */ bge lbl_80306580 -/* 8030657C 003021DC 48 00 02 90 */ b lbl_8030680C -lbl_80306580: -/* 80306580 003021E0 A0 1E 00 12 */ lhz r0, 0x12(r30) -/* 80306584 003021E4 2C 00 00 00 */ cmpwi r0, 0 -/* 80306588 003021E8 40 82 00 08 */ bne lbl_80306590 -/* 8030658C 003021EC 3B E0 00 04 */ li r31, 4 -lbl_80306590: -/* 80306590 003021F0 38 60 00 00 */ li r3, 0 -/* 80306594 003021F4 34 1D 00 2B */ addic. r0, r29, 0x2b -/* 80306598 003021F8 B0 7E 00 40 */ sth r3, 0x40(r30) -/* 8030659C 003021FC B0 7E 00 42 */ sth r3, 0x42(r30) -/* 803065A0 00302200 90 7E 00 44 */ stw r3, 0x44(r30) -/* 803065A4 00302204 B0 7E 00 48 */ sth r3, 0x48(r30) -/* 803065A8 00302208 B0 7E 00 4A */ sth r3, 0x4a(r30) -/* 803065AC 0030220C 88 1D 00 24 */ lbz r0, 0x24(r29) -/* 803065B0 00302210 98 1E 00 23 */ stb r0, 0x23(r30) -/* 803065B4 00302214 88 1D 00 26 */ lbz r0, 0x26(r29) -/* 803065B8 00302218 98 1E 00 28 */ stb r0, 0x28(r30) -/* 803065BC 0030221C 88 7D 00 28 */ lbz r3, 0x28(r29) -/* 803065C0 00302220 88 1D 00 27 */ lbz r0, 0x27(r29) -/* 803065C4 00302224 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 803065C8 00302228 88 9D 00 29 */ lbz r4, 0x29(r29) -/* 803065CC 0030222C 88 7D 00 2A */ lbz r3, 0x2a(r29) -/* 803065D0 00302230 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf -/* 803065D4 00302234 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 803065D8 00302238 90 1E 00 24 */ stw r0, 0x24(r30) -/* 803065DC 0030223C 41 82 00 64 */ beq lbl_80306640 -/* 803065E0 00302240 34 1E 00 29 */ addic. r0, r30, 0x29 -/* 803065E4 00302244 41 82 00 5C */ beq lbl_80306640 -/* 803065E8 00302248 88 1D 00 2B */ lbz r0, 0x2b(r29) -/* 803065EC 0030224C 98 1E 00 29 */ stb r0, 0x29(r30) -/* 803065F0 00302250 88 1D 00 2C */ lbz r0, 0x2c(r29) -/* 803065F4 00302254 98 1E 00 2A */ stb r0, 0x2a(r30) -/* 803065F8 00302258 88 1D 00 2D */ lbz r0, 0x2d(r29) -/* 803065FC 0030225C 98 1E 00 2B */ stb r0, 0x2b(r30) -/* 80306600 00302260 88 1D 00 2E */ lbz r0, 0x2e(r29) -/* 80306604 00302264 98 1E 00 2C */ stb r0, 0x2c(r30) -/* 80306608 00302268 88 1D 00 2F */ lbz r0, 0x2f(r29) -/* 8030660C 0030226C 98 1E 00 2D */ stb r0, 0x2d(r30) -/* 80306610 00302270 88 1D 00 30 */ lbz r0, 0x30(r29) -/* 80306614 00302274 98 1E 00 2E */ stb r0, 0x2e(r30) -/* 80306618 00302278 88 1D 00 31 */ lbz r0, 0x31(r29) -/* 8030661C 0030227C 98 1E 00 2F */ stb r0, 0x2f(r30) -/* 80306620 00302280 88 1D 00 32 */ lbz r0, 0x32(r29) -/* 80306624 00302284 98 1E 00 30 */ stb r0, 0x30(r30) -/* 80306628 00302288 88 1D 00 33 */ lbz r0, 0x33(r29) -/* 8030662C 0030228C 98 1E 00 31 */ stb r0, 0x31(r30) -/* 80306630 00302290 88 1D 00 34 */ lbz r0, 0x34(r29) -/* 80306634 00302294 98 1E 00 32 */ stb r0, 0x32(r30) -/* 80306638 00302298 88 1D 00 35 */ lbz r0, 0x35(r29) -/* 8030663C 0030229C 98 1E 00 33 */ stb r0, 0x33(r30) -lbl_80306640: -/* 80306640 003022A0 34 1D 00 36 */ addic. r0, r29, 0x36 -/* 80306644 003022A4 41 82 01 CC */ beq lbl_80306810 -/* 80306648 003022A8 34 1E 00 34 */ addic. r0, r30, 0x34 -/* 8030664C 003022AC 41 82 01 C4 */ beq lbl_80306810 -/* 80306650 003022B0 88 1D 00 36 */ lbz r0, 0x36(r29) -/* 80306654 003022B4 98 1E 00 34 */ stb r0, 0x34(r30) -/* 80306658 003022B8 88 1D 00 37 */ lbz r0, 0x37(r29) -/* 8030665C 003022BC 98 1E 00 35 */ stb r0, 0x35(r30) -/* 80306660 003022C0 88 1D 00 38 */ lbz r0, 0x38(r29) -/* 80306664 003022C4 98 1E 00 36 */ stb r0, 0x36(r30) -/* 80306668 003022C8 88 1D 00 39 */ lbz r0, 0x39(r29) -/* 8030666C 003022CC 98 1E 00 37 */ stb r0, 0x37(r30) -/* 80306670 003022D0 88 1D 00 3A */ lbz r0, 0x3a(r29) -/* 80306674 003022D4 98 1E 00 38 */ stb r0, 0x38(r30) -/* 80306678 003022D8 88 1D 00 3B */ lbz r0, 0x3b(r29) -/* 8030667C 003022DC 98 1E 00 39 */ stb r0, 0x39(r30) -/* 80306680 003022E0 88 1D 00 3C */ lbz r0, 0x3c(r29) -/* 80306684 003022E4 98 1E 00 3A */ stb r0, 0x3a(r30) -/* 80306688 003022E8 88 1D 00 3D */ lbz r0, 0x3d(r29) -/* 8030668C 003022EC 98 1E 00 3B */ stb r0, 0x3b(r30) -/* 80306690 003022F0 48 00 01 80 */ b lbl_80306810 -lbl_80306694: -/* 80306694 003022F4 A0 1E 00 10 */ lhz r0, 0x10(r30) -/* 80306698 003022F8 2C 00 00 00 */ cmpwi r0, 0 -/* 8030669C 003022FC 40 82 00 10 */ bne lbl_803066AC -/* 803066A0 00302300 A0 1E 00 12 */ lhz r0, 0x12(r30) -/* 803066A4 00302304 2C 00 00 00 */ cmpwi r0, 0 -/* 803066A8 00302308 41 82 00 08 */ beq lbl_803066B0 -lbl_803066AC: -/* 803066AC 0030230C 3B E0 00 04 */ li r31, 4 -lbl_803066B0: -/* 803066B0 00302310 34 1D 00 47 */ addic. r0, r29, 0x47 -/* 803066B4 00302314 88 7D 00 29 */ lbz r3, 0x29(r29) -/* 803066B8 00302318 88 1D 00 28 */ lbz r0, 0x28(r29) -/* 803066BC 0030231C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 803066C0 00302320 B0 1E 00 40 */ sth r0, 0x40(r30) -/* 803066C4 00302324 88 7D 00 2B */ lbz r3, 0x2b(r29) -/* 803066C8 00302328 88 1D 00 2A */ lbz r0, 0x2a(r29) -/* 803066CC 0030232C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 803066D0 00302330 B0 1E 00 42 */ sth r0, 0x42(r30) -/* 803066D4 00302334 88 7D 00 2D */ lbz r3, 0x2d(r29) -/* 803066D8 00302338 88 1D 00 2C */ lbz r0, 0x2c(r29) -/* 803066DC 0030233C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 803066E0 00302340 88 9D 00 2E */ lbz r4, 0x2e(r29) -/* 803066E4 00302344 88 7D 00 2F */ lbz r3, 0x2f(r29) -/* 803066E8 00302348 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf -/* 803066EC 0030234C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 803066F0 00302350 90 1E 00 44 */ stw r0, 0x44(r30) -/* 803066F4 00302354 88 7D 00 31 */ lbz r3, 0x31(r29) -/* 803066F8 00302358 88 1D 00 30 */ lbz r0, 0x30(r29) -/* 803066FC 0030235C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 80306700 00302360 B0 1E 00 48 */ sth r0, 0x48(r30) -/* 80306704 00302364 88 7D 00 33 */ lbz r3, 0x33(r29) -/* 80306708 00302368 88 1D 00 32 */ lbz r0, 0x32(r29) -/* 8030670C 0030236C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 80306710 00302370 B0 1E 00 4A */ sth r0, 0x4a(r30) -/* 80306714 00302374 88 1D 00 40 */ lbz r0, 0x40(r29) -/* 80306718 00302378 98 1E 00 23 */ stb r0, 0x23(r30) -/* 8030671C 0030237C 88 1D 00 42 */ lbz r0, 0x42(r29) -/* 80306720 00302380 98 1E 00 28 */ stb r0, 0x28(r30) -/* 80306724 00302384 88 7D 00 44 */ lbz r3, 0x44(r29) -/* 80306728 00302388 88 1D 00 43 */ lbz r0, 0x43(r29) -/* 8030672C 0030238C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 -/* 80306730 00302390 88 9D 00 45 */ lbz r4, 0x45(r29) -/* 80306734 00302394 88 7D 00 46 */ lbz r3, 0x46(r29) -/* 80306738 00302398 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf -/* 8030673C 0030239C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 -/* 80306740 003023A0 90 1E 00 24 */ stw r0, 0x24(r30) -/* 80306744 003023A4 41 82 00 64 */ beq lbl_803067A8 -/* 80306748 003023A8 34 1E 00 29 */ addic. r0, r30, 0x29 -/* 8030674C 003023AC 41 82 00 5C */ beq lbl_803067A8 -/* 80306750 003023B0 88 1D 00 47 */ lbz r0, 0x47(r29) -/* 80306754 003023B4 98 1E 00 29 */ stb r0, 0x29(r30) -/* 80306758 003023B8 88 1D 00 48 */ lbz r0, 0x48(r29) -/* 8030675C 003023BC 98 1E 00 2A */ stb r0, 0x2a(r30) -/* 80306760 003023C0 88 1D 00 49 */ lbz r0, 0x49(r29) -/* 80306764 003023C4 98 1E 00 2B */ stb r0, 0x2b(r30) -/* 80306768 003023C8 88 1D 00 4A */ lbz r0, 0x4a(r29) -/* 8030676C 003023CC 98 1E 00 2C */ stb r0, 0x2c(r30) -/* 80306770 003023D0 88 1D 00 4B */ lbz r0, 0x4b(r29) -/* 80306774 003023D4 98 1E 00 2D */ stb r0, 0x2d(r30) -/* 80306778 003023D8 88 1D 00 4C */ lbz r0, 0x4c(r29) -/* 8030677C 003023DC 98 1E 00 2E */ stb r0, 0x2e(r30) -/* 80306780 003023E0 88 1D 00 4D */ lbz r0, 0x4d(r29) -/* 80306784 003023E4 98 1E 00 2F */ stb r0, 0x2f(r30) -/* 80306788 003023E8 88 1D 00 4E */ lbz r0, 0x4e(r29) -/* 8030678C 003023EC 98 1E 00 30 */ stb r0, 0x30(r30) -/* 80306790 003023F0 88 1D 00 4F */ lbz r0, 0x4f(r29) -/* 80306794 003023F4 98 1E 00 31 */ stb r0, 0x31(r30) -/* 80306798 003023F8 88 1D 00 50 */ lbz r0, 0x50(r29) -/* 8030679C 003023FC 98 1E 00 32 */ stb r0, 0x32(r30) -/* 803067A0 00302400 88 1D 00 51 */ lbz r0, 0x51(r29) -/* 803067A4 00302404 98 1E 00 33 */ stb r0, 0x33(r30) -lbl_803067A8: -/* 803067A8 00302408 34 1D 00 52 */ addic. r0, r29, 0x52 -/* 803067AC 0030240C 41 82 00 4C */ beq lbl_803067F8 -/* 803067B0 00302410 34 1E 00 34 */ addic. r0, r30, 0x34 -/* 803067B4 00302414 41 82 00 44 */ beq lbl_803067F8 -/* 803067B8 00302418 88 1D 00 52 */ lbz r0, 0x52(r29) -/* 803067BC 0030241C 98 1E 00 34 */ stb r0, 0x34(r30) -/* 803067C0 00302420 88 1D 00 53 */ lbz r0, 0x53(r29) -/* 803067C4 00302424 98 1E 00 35 */ stb r0, 0x35(r30) -/* 803067C8 00302428 88 1D 00 54 */ lbz r0, 0x54(r29) -/* 803067CC 0030242C 98 1E 00 36 */ stb r0, 0x36(r30) -/* 803067D0 00302430 88 1D 00 55 */ lbz r0, 0x55(r29) -/* 803067D4 00302434 98 1E 00 37 */ stb r0, 0x37(r30) -/* 803067D8 00302438 88 1D 00 56 */ lbz r0, 0x56(r29) -/* 803067DC 0030243C 98 1E 00 38 */ stb r0, 0x38(r30) -/* 803067E0 00302440 88 1D 00 57 */ lbz r0, 0x57(r29) -/* 803067E4 00302444 98 1E 00 39 */ stb r0, 0x39(r30) -/* 803067E8 00302448 88 1D 00 58 */ lbz r0, 0x58(r29) -/* 803067EC 0030244C 98 1E 00 3A */ stb r0, 0x3a(r30) -/* 803067F0 00302450 88 1D 00 59 */ lbz r0, 0x59(r29) -/* 803067F4 00302454 98 1E 00 3B */ stb r0, 0x3b(r30) -lbl_803067F8: -/* 803067F8 00302458 A0 1E 00 42 */ lhz r0, 0x42(r30) -/* 803067FC 0030245C 2C 00 00 00 */ cmpwi r0, 0 -/* 80306800 00302460 41 82 00 10 */ beq lbl_80306810 -/* 80306804 00302464 3B E0 00 04 */ li r31, 4 -/* 80306808 00302468 48 00 00 08 */ b lbl_80306810 -lbl_8030680C: -/* 8030680C 0030246C 3B E0 00 04 */ li r31, 4 -lbl_80306810: -/* 80306810 00302470 80 1E 00 50 */ lwz r0, 0x50(r30) -/* 80306814 00302474 2C 00 00 02 */ cmpwi r0, 2 -/* 80306818 00302478 41 82 00 38 */ beq lbl_80306850 -/* 8030681C 0030247C 40 80 00 90 */ bge lbl_803068AC -/* 80306820 00302480 2C 00 00 00 */ cmpwi r0, 0 -/* 80306824 00302484 40 80 00 08 */ bge lbl_8030682C -/* 80306828 00302488 48 00 00 84 */ b lbl_803068AC -lbl_8030682C: -/* 8030682C 0030248C 88 7E 00 0B */ lbz r3, 0xb(r30) -/* 80306830 00302490 80 1E 00 6C */ lwz r0, 0x6c(r30) -/* 80306834 00302494 A0 9E 00 0C */ lhz r4, 0xc(r30) -/* 80306838 00302498 7C 03 01 D6 */ mullw r0, r3, r0 -/* 8030683C 0030249C 98 7E 00 4F */ stb r3, 0x4f(r30) -/* 80306840 003024A0 90 9E 00 58 */ stw r4, 0x58(r30) -/* 80306844 003024A4 7C 04 02 14 */ add r0, r4, r0 -/* 80306848 003024A8 90 1E 00 5C */ stw r0, 0x5c(r30) -/* 8030684C 003024AC 48 00 00 60 */ b lbl_803068AC -lbl_80306850: -/* 80306850 003024B0 A0 7E 00 40 */ lhz r3, 0x40(r30) -/* 80306854 003024B4 80 BE 00 44 */ lwz r5, 0x44(r30) -/* 80306858 003024B8 88 9E 00 55 */ lbz r4, 0x55(r30) -/* 8030685C 003024BC 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 -/* 80306860 003024C0 38 A5 FF FE */ addi r5, r5, -2 -/* 80306864 003024C4 80 DE 00 60 */ lwz r6, 0x60(r30) -/* 80306868 003024C8 7C A0 20 30 */ slw r0, r5, r4 -/* 8030686C 003024CC 7C 06 02 14 */ add r0, r6, r0 -/* 80306870 003024D0 90 1E 00 5C */ stw r0, 0x5c(r30) -/* 80306874 003024D4 41 82 00 28 */ beq lbl_8030689C -/* 80306878 003024D8 80 1E 00 6C */ lwz r0, 0x6c(r30) -/* 8030687C 003024DC 54 63 07 7E */ clrlwi r3, r3, 0x1d -/* 80306880 003024E0 38 A0 00 01 */ li r5, 1 -/* 80306884 003024E4 A0 9E 00 0C */ lhz r4, 0xc(r30) -/* 80306888 003024E8 7C 03 01 D6 */ mullw r0, r3, r0 -/* 8030688C 003024EC 98 BE 00 4F */ stb r5, 0x4f(r30) -/* 80306890 003024F0 7C 04 02 14 */ add r0, r4, r0 -/* 80306894 003024F4 90 1E 00 58 */ stw r0, 0x58(r30) -/* 80306898 003024F8 48 00 00 14 */ b lbl_803068AC -lbl_8030689C: -/* 8030689C 003024FC 88 7E 00 0B */ lbz r3, 0xb(r30) -/* 803068A0 00302500 A0 1E 00 0C */ lhz r0, 0xc(r30) -/* 803068A4 00302504 98 7E 00 4F */ stb r3, 0x4f(r30) -/* 803068A8 00302508 90 1E 00 58 */ stw r0, 0x58(r30) -lbl_803068AC: -/* 803068AC 0030250C 7F E3 FB 78 */ mr r3, r31 -lbl_803068B0: -/* 803068B0 00302510 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803068B4 00302514 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803068B8 00302518 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803068BC 0030251C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803068C0 00302520 7C 08 03 A6 */ mtlr r0 -/* 803068C4 00302524 38 21 00 20 */ addi r1, r1, 0x20 -/* 803068C8 00302528 4E 80 00 20 */ blr - -.global func_803068CC -func_803068CC: -/* 803068CC 0030252C 2C 03 00 00 */ cmpwi r3, 0 -/* 803068D0 00302530 41 82 00 0C */ beq lbl_803068DC -/* 803068D4 00302534 2C 04 00 00 */ cmpwi r4, 0 -/* 803068D8 00302538 40 82 00 0C */ bne lbl_803068E4 -lbl_803068DC: -/* 803068DC 0030253C 38 60 00 01 */ li r3, 1 -/* 803068E0 00302540 4E 80 00 20 */ blr -lbl_803068E4: -/* 803068E4 00302544 88 A3 01 E9 */ lbz r5, 0x1e9(r3) -/* 803068E8 00302548 88 03 01 E8 */ lbz r0, 0x1e8(r3) -/* 803068EC 0030254C 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 803068F0 00302550 88 C3 01 EA */ lbz r6, 0x1ea(r3) -/* 803068F4 00302554 88 A3 01 EB */ lbz r5, 0x1eb(r3) -/* 803068F8 00302558 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf -/* 803068FC 0030255C 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 -/* 80306900 00302560 90 04 00 00 */ stw r0, 0(r4) -/* 80306904 00302564 88 C3 01 EE */ lbz r6, 0x1ee(r3) -/* 80306908 00302568 88 A3 01 ED */ lbz r5, 0x1ed(r3) -/* 8030690C 0030256C 88 03 01 EC */ lbz r0, 0x1ec(r3) -/* 80306910 00302570 88 E3 01 EF */ lbz r7, 0x1ef(r3) -/* 80306914 00302574 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 80306918 00302578 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf -/* 8030691C 0030257C 38 60 00 00 */ li r3, 0 -/* 80306920 00302580 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7 -/* 80306924 00302584 90 04 00 04 */ stw r0, 4(r4) -/* 80306928 00302588 4E 80 00 20 */ blr - -.global func_8030692C -func_8030692C: -/* 8030692C 0030258C 2C 03 00 00 */ cmpwi r3, 0 -/* 80306930 00302590 41 82 00 0C */ beq lbl_8030693C -/* 80306934 00302594 2C 04 00 00 */ cmpwi r4, 0 -/* 80306938 00302598 40 82 00 0C */ bne lbl_80306944 -lbl_8030693C: -/* 8030693C 0030259C 38 60 00 01 */ li r3, 1 -/* 80306940 003025A0 4E 80 00 20 */ blr -lbl_80306944: -/* 80306944 003025A4 38 00 00 01 */ li r0, 1 -/* 80306948 003025A8 90 04 00 00 */ stw r0, 0(r4) -/* 8030694C 003025AC 88 A3 00 00 */ lbz r5, 0(r3) -/* 80306950 003025B0 28 05 00 EB */ cmplwi r5, 0xeb -/* 80306954 003025B4 40 82 00 10 */ bne lbl_80306964 -/* 80306958 003025B8 88 03 00 02 */ lbz r0, 2(r3) -/* 8030695C 003025BC 28 00 00 90 */ cmplwi r0, 0x90 -/* 80306960 003025C0 41 82 00 14 */ beq lbl_80306974 -lbl_80306964: -/* 80306964 003025C4 28 05 00 E9 */ cmplwi r5, 0xe9 -/* 80306968 003025C8 41 82 00 0C */ beq lbl_80306974 -/* 8030696C 003025CC 38 00 00 00 */ li r0, 0 -/* 80306970 003025D0 90 04 00 00 */ stw r0, 0(r4) -lbl_80306974: -/* 80306974 003025D4 88 03 01 FE */ lbz r0, 0x1fe(r3) -/* 80306978 003025D8 28 00 00 55 */ cmplwi r0, 0x55 -/* 8030697C 003025DC 40 82 00 10 */ bne lbl_8030698C -/* 80306980 003025E0 88 03 01 FF */ lbz r0, 0x1ff(r3) -/* 80306984 003025E4 28 00 00 AA */ cmplwi r0, 0xaa -/* 80306988 003025E8 41 82 00 0C */ beq lbl_80306994 -lbl_8030698C: -/* 8030698C 003025EC 38 00 00 00 */ li r0, 0 -/* 80306990 003025F0 90 04 00 00 */ stw r0, 0(r4) -lbl_80306994: -/* 80306994 003025F4 88 A3 00 0C */ lbz r5, 0xc(r3) -/* 80306998 003025F8 88 03 00 0B */ lbz r0, 0xb(r3) -/* 8030699C 003025FC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 -/* 803069A0 00302600 28 00 02 00 */ cmplwi r0, 0x200 -/* 803069A4 00302604 41 82 00 28 */ beq lbl_803069CC -/* 803069A8 00302608 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 803069AC 0030260C 28 00 04 00 */ cmplwi r0, 0x400 -/* 803069B0 00302610 41 82 00 1C */ beq lbl_803069CC -/* 803069B4 00302614 28 00 08 00 */ cmplwi r0, 0x800 -/* 803069B8 00302618 41 82 00 14 */ beq lbl_803069CC -/* 803069BC 0030261C 28 00 10 00 */ cmplwi r0, 0x1000 -/* 803069C0 00302620 41 82 00 0C */ beq lbl_803069CC -/* 803069C4 00302624 38 00 00 00 */ li r0, 0 -/* 803069C8 00302628 90 04 00 00 */ stw r0, 0(r4) -lbl_803069CC: -/* 803069CC 0030262C 88 03 00 0D */ lbz r0, 0xd(r3) -/* 803069D0 00302630 28 00 00 01 */ cmplwi r0, 1 -/* 803069D4 00302634 41 82 00 44 */ beq lbl_80306A18 -/* 803069D8 00302638 28 00 00 02 */ cmplwi r0, 2 -/* 803069DC 0030263C 41 82 00 3C */ beq lbl_80306A18 -/* 803069E0 00302640 28 00 00 04 */ cmplwi r0, 4 -/* 803069E4 00302644 41 82 00 34 */ beq lbl_80306A18 -/* 803069E8 00302648 28 00 00 08 */ cmplwi r0, 8 -/* 803069EC 0030264C 41 82 00 2C */ beq lbl_80306A18 -/* 803069F0 00302650 28 00 00 10 */ cmplwi r0, 0x10 -/* 803069F4 00302654 41 82 00 24 */ beq lbl_80306A18 -/* 803069F8 00302658 28 00 00 20 */ cmplwi r0, 0x20 -/* 803069FC 0030265C 41 82 00 1C */ beq lbl_80306A18 -/* 80306A00 00302660 28 00 00 40 */ cmplwi r0, 0x40 -/* 80306A04 00302664 41 82 00 14 */ beq lbl_80306A18 -/* 80306A08 00302668 28 00 00 80 */ cmplwi r0, 0x80 -/* 80306A0C 0030266C 41 82 00 0C */ beq lbl_80306A18 -/* 80306A10 00302670 38 00 00 00 */ li r0, 0 -/* 80306A14 00302674 90 04 00 00 */ stw r0, 0(r4) -lbl_80306A18: -/* 80306A18 00302678 88 03 00 15 */ lbz r0, 0x15(r3) -/* 80306A1C 0030267C 28 00 00 F0 */ cmplwi r0, 0xf0 -/* 80306A20 00302680 41 82 00 4C */ beq lbl_80306A6C -/* 80306A24 00302684 28 00 00 F8 */ cmplwi r0, 0xf8 -/* 80306A28 00302688 41 82 00 44 */ beq lbl_80306A6C -/* 80306A2C 0030268C 28 00 00 F9 */ cmplwi r0, 0xf9 -/* 80306A30 00302690 41 82 00 3C */ beq lbl_80306A6C -/* 80306A34 00302694 28 00 00 FA */ cmplwi r0, 0xfa -/* 80306A38 00302698 41 82 00 34 */ beq lbl_80306A6C -/* 80306A3C 0030269C 28 00 00 FB */ cmplwi r0, 0xfb -/* 80306A40 003026A0 41 82 00 2C */ beq lbl_80306A6C -/* 80306A44 003026A4 28 00 00 FC */ cmplwi r0, 0xfc -/* 80306A48 003026A8 41 82 00 24 */ beq lbl_80306A6C -/* 80306A4C 003026AC 28 00 00 FD */ cmplwi r0, 0xfd -/* 80306A50 003026B0 41 82 00 1C */ beq lbl_80306A6C -/* 80306A54 003026B4 28 00 00 FE */ cmplwi r0, 0xfe -/* 80306A58 003026B8 41 82 00 14 */ beq lbl_80306A6C -/* 80306A5C 003026BC 28 00 00 FF */ cmplwi r0, 0xff -/* 80306A60 003026C0 41 82 00 0C */ beq lbl_80306A6C -/* 80306A64 003026C4 38 00 00 00 */ li r0, 0 -/* 80306A68 003026C8 90 04 00 00 */ stw r0, 0(r4) -lbl_80306A6C: -/* 80306A6C 003026CC 38 60 00 00 */ li r3, 0 -/* 80306A70 003026D0 4E 80 00 20 */ blr - -.global func_80306A74 -func_80306A74: -/* 80306A74 003026D4 2C 03 00 00 */ cmpwi r3, 0 -/* 80306A78 003026D8 41 82 00 0C */ beq lbl_80306A84 -/* 80306A7C 003026DC 2C 04 00 00 */ cmpwi r4, 0 -/* 80306A80 003026E0 40 82 00 0C */ bne lbl_80306A8C -lbl_80306A84: -/* 80306A84 003026E4 38 60 00 01 */ li r3, 1 -/* 80306A88 003026E8 4E 80 00 20 */ blr -lbl_80306A8C: -/* 80306A8C 003026EC 88 03 00 01 */ lbz r0, 1(r3) -/* 80306A90 003026F0 88 A3 00 00 */ lbz r5, 0(r3) -/* 80306A94 003026F4 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17 -/* 80306A98 003026F8 88 C3 00 02 */ lbz r6, 2(r3) -/* 80306A9C 003026FC 88 03 00 03 */ lbz r0, 3(r3) -/* 80306AA0 00302700 50 C5 82 1E */ rlwimi r5, r6, 0x10, 8, 0xf -/* 80306AA4 00302704 88 E3 01 E5 */ lbz r7, 0x1e5(r3) -/* 80306AA8 00302708 50 05 C0 0E */ rlwimi r5, r0, 0x18, 0, 7 -/* 80306AAC 0030270C 89 23 01 E4 */ lbz r9, 0x1e4(r3) -/* 80306AB0 00302710 3C 05 BE 9F */ addis r0, r5, 0xbe9f -/* 80306AB4 00302714 88 A3 01 FD */ lbz r5, 0x1fd(r3) -/* 80306AB8 00302718 50 E9 44 2E */ rlwimi r9, r7, 8, 0x10, 0x17 -/* 80306ABC 0030271C 89 03 01 E6 */ lbz r8, 0x1e6(r3) -/* 80306AC0 00302720 88 E3 01 FC */ lbz r7, 0x1fc(r3) -/* 80306AC4 00302724 50 A7 44 2E */ rlwimi r7, r5, 8, 0x10, 0x17 -/* 80306AC8 00302728 88 C3 01 FE */ lbz r6, 0x1fe(r3) -/* 80306ACC 0030272C 28 00 52 52 */ cmplwi r0, 0x5252 -/* 80306AD0 00302730 88 A3 01 E7 */ lbz r5, 0x1e7(r3) -/* 80306AD4 00302734 51 09 82 1E */ rlwimi r9, r8, 0x10, 8, 0xf -/* 80306AD8 00302738 88 03 01 FF */ lbz r0, 0x1ff(r3) -/* 80306ADC 0030273C 50 C7 82 1E */ rlwimi r7, r6, 0x10, 8, 0xf -/* 80306AE0 00302740 50 A9 C0 0E */ rlwimi r9, r5, 0x18, 0, 7 -/* 80306AE4 00302744 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7 -/* 80306AE8 00302748 40 82 00 28 */ bne lbl_80306B10 -/* 80306AEC 0030274C 3C 09 9E BF */ addis r0, r9, 0x9ebf -/* 80306AF0 00302750 28 00 72 72 */ cmplwi r0, 0x7272 -/* 80306AF4 00302754 40 82 00 1C */ bne lbl_80306B10 -/* 80306AF8 00302758 3C 07 55 AB */ addis r0, r7, 0x55ab -/* 80306AFC 0030275C 28 00 00 00 */ cmplwi r0, 0 -/* 80306B00 00302760 40 82 00 10 */ bne lbl_80306B10 -/* 80306B04 00302764 38 00 00 01 */ li r0, 1 -/* 80306B08 00302768 90 04 00 00 */ stw r0, 0(r4) -/* 80306B0C 0030276C 48 00 00 0C */ b lbl_80306B18 -lbl_80306B10: -/* 80306B10 00302770 38 00 00 00 */ li r0, 0 -/* 80306B14 00302774 90 04 00 00 */ stw r0, 0(r4) -lbl_80306B18: -/* 80306B18 00302778 38 60 00 00 */ li r3, 0 -/* 80306B1C 0030277C 4E 80 00 20 */ blr - -.global func_80306B20 -func_80306B20: -/* 80306B20 00302780 90 87 00 00 */ stw r4, 0(r7) -/* 80306B24 00302784 28 06 02 00 */ cmplwi r6, 0x200 -/* 80306B28 00302788 38 60 00 00 */ li r3, 0 -/* 80306B2C 0030278C 90 A8 00 00 */ stw r5, 0(r8) -/* 80306B30 00302790 40 81 00 94 */ ble lbl_80306BC4 -/* 80306B34 00302794 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f -/* 80306B38 00302798 28 04 00 02 */ cmplwi r4, 2 -/* 80306B3C 0030279C 40 82 00 14 */ bne lbl_80306B50 -/* 80306B40 003027A0 80 07 00 00 */ lwz r0, 0(r7) -/* 80306B44 003027A4 54 00 08 3C */ slwi r0, r0, 1 -/* 80306B48 003027A8 90 07 00 00 */ stw r0, 0(r7) -/* 80306B4C 003027AC 48 00 00 30 */ b lbl_80306B7C -lbl_80306B50: -/* 80306B50 003027B0 28 04 00 04 */ cmplwi r4, 4 -/* 80306B54 003027B4 40 82 00 14 */ bne lbl_80306B68 -/* 80306B58 003027B8 80 07 00 00 */ lwz r0, 0(r7) -/* 80306B5C 003027BC 54 00 10 3A */ slwi r0, r0, 2 -/* 80306B60 003027C0 90 07 00 00 */ stw r0, 0(r7) -/* 80306B64 003027C4 48 00 00 18 */ b lbl_80306B7C -lbl_80306B68: -/* 80306B68 003027C8 28 04 00 08 */ cmplwi r4, 8 -/* 80306B6C 003027CC 40 82 00 10 */ bne lbl_80306B7C -/* 80306B70 003027D0 80 07 00 00 */ lwz r0, 0(r7) -/* 80306B74 003027D4 54 00 18 38 */ slwi r0, r0, 3 -/* 80306B78 003027D8 90 07 00 00 */ stw r0, 0(r7) -lbl_80306B7C: -/* 80306B7C 003027DC 28 04 00 02 */ cmplwi r4, 2 -/* 80306B80 003027E0 40 82 00 14 */ bne lbl_80306B94 -/* 80306B84 003027E4 80 08 00 00 */ lwz r0, 0(r8) -/* 80306B88 003027E8 54 00 08 3C */ slwi r0, r0, 1 -/* 80306B8C 003027EC 90 08 00 00 */ stw r0, 0(r8) -/* 80306B90 003027F0 4E 80 00 20 */ blr -lbl_80306B94: -/* 80306B94 003027F4 28 04 00 04 */ cmplwi r4, 4 -/* 80306B98 003027F8 40 82 00 14 */ bne lbl_80306BAC -/* 80306B9C 003027FC 80 08 00 00 */ lwz r0, 0(r8) -/* 80306BA0 00302800 54 00 10 3A */ slwi r0, r0, 2 -/* 80306BA4 00302804 90 08 00 00 */ stw r0, 0(r8) -/* 80306BA8 00302808 4E 80 00 20 */ blr -lbl_80306BAC: -/* 80306BAC 0030280C 28 04 00 08 */ cmplwi r4, 8 -/* 80306BB0 00302810 4C 82 00 20 */ bnelr -/* 80306BB4 00302814 80 08 00 00 */ lwz r0, 0(r8) -/* 80306BB8 00302818 54 00 18 38 */ slwi r0, r0, 3 -/* 80306BBC 0030281C 90 08 00 00 */ stw r0, 0(r8) -/* 80306BC0 00302820 4E 80 00 20 */ blr -lbl_80306BC4: -/* 80306BC4 00302824 4C 80 00 20 */ bgelr -/* 80306BC8 00302828 38 60 00 04 */ li r3, 4 -/* 80306BCC 0030282C 4E 80 00 20 */ blr - -.global func_80306BD0 -func_80306BD0: -/* 80306BD0 00302830 90 87 00 00 */ stw r4, 0(r7) -/* 80306BD4 00302834 28 06 02 00 */ cmplwi r6, 0x200 -/* 80306BD8 00302838 38 60 00 00 */ li r3, 0 -/* 80306BDC 0030283C 90 A8 00 00 */ stw r5, 0(r8) -/* 80306BE0 00302840 40 81 00 94 */ ble lbl_80306C74 -/* 80306BE4 00302844 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f -/* 80306BE8 00302848 28 04 00 02 */ cmplwi r4, 2 -/* 80306BEC 0030284C 40 82 00 14 */ bne lbl_80306C00 -/* 80306BF0 00302850 80 07 00 00 */ lwz r0, 0(r7) -/* 80306BF4 00302854 54 00 F8 7E */ srwi r0, r0, 1 -/* 80306BF8 00302858 90 07 00 00 */ stw r0, 0(r7) -/* 80306BFC 0030285C 48 00 00 30 */ b lbl_80306C2C -lbl_80306C00: -/* 80306C00 00302860 28 04 00 04 */ cmplwi r4, 4 -/* 80306C04 00302864 40 82 00 14 */ bne lbl_80306C18 -/* 80306C08 00302868 80 07 00 00 */ lwz r0, 0(r7) -/* 80306C0C 0030286C 54 00 F0 BE */ srwi r0, r0, 2 -/* 80306C10 00302870 90 07 00 00 */ stw r0, 0(r7) -/* 80306C14 00302874 48 00 00 18 */ b lbl_80306C2C -lbl_80306C18: -/* 80306C18 00302878 28 04 00 08 */ cmplwi r4, 8 -/* 80306C1C 0030287C 40 82 00 10 */ bne lbl_80306C2C -/* 80306C20 00302880 80 07 00 00 */ lwz r0, 0(r7) -/* 80306C24 00302884 54 00 E8 FE */ srwi r0, r0, 3 -/* 80306C28 00302888 90 07 00 00 */ stw r0, 0(r7) -lbl_80306C2C: -/* 80306C2C 0030288C 28 04 00 02 */ cmplwi r4, 2 -/* 80306C30 00302890 40 82 00 14 */ bne lbl_80306C44 -/* 80306C34 00302894 80 08 00 00 */ lwz r0, 0(r8) -/* 80306C38 00302898 54 00 F8 7E */ srwi r0, r0, 1 -/* 80306C3C 0030289C 90 08 00 00 */ stw r0, 0(r8) -/* 80306C40 003028A0 4E 80 00 20 */ blr -lbl_80306C44: -/* 80306C44 003028A4 28 04 00 04 */ cmplwi r4, 4 -/* 80306C48 003028A8 40 82 00 14 */ bne lbl_80306C5C -/* 80306C4C 003028AC 80 08 00 00 */ lwz r0, 0(r8) -/* 80306C50 003028B0 54 00 F0 BE */ srwi r0, r0, 2 -/* 80306C54 003028B4 90 08 00 00 */ stw r0, 0(r8) -/* 80306C58 003028B8 4E 80 00 20 */ blr -lbl_80306C5C: -/* 80306C5C 003028BC 28 04 00 08 */ cmplwi r4, 8 -/* 80306C60 003028C0 4C 82 00 20 */ bnelr -/* 80306C64 003028C4 80 08 00 00 */ lwz r0, 0(r8) -/* 80306C68 003028C8 54 00 E8 FE */ srwi r0, r0, 3 -/* 80306C6C 003028CC 90 08 00 00 */ stw r0, 0(r8) -/* 80306C70 003028D0 4E 80 00 20 */ blr -lbl_80306C74: -/* 80306C74 003028D4 4C 80 00 20 */ bgelr -/* 80306C78 003028D8 38 60 00 04 */ li r3, 4 -/* 80306C7C 003028DC 4E 80 00 20 */ blr -lbl_80306C80: -/* 80306C80 003028E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80306C84 003028E4 7C 08 02 A6 */ mflr r0 -/* 80306C88 003028E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80306C8C 003028EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80306C90 003028F0 7C 9F 23 78 */ mr r31, r4 -/* 80306C94 003028F4 93 C1 00 08 */ stw r30, 8(r1) -/* 80306C98 003028F8 7C 7E 1B 78 */ mr r30, r3 -/* 80306C9C 003028FC A0 04 00 12 */ lhz r0, 0x12(r4) -/* 80306CA0 00302900 2C 00 00 00 */ cmpwi r0, 0 -/* 80306CA4 00302904 41 82 00 10 */ beq lbl_80306CB4 -/* 80306CA8 00302908 80 04 00 00 */ lwz r0, 0(r4) -/* 80306CAC 0030290C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 80306CB0 00302910 41 82 00 C4 */ beq lbl_80306D74 -lbl_80306CB4: -/* 80306CB4 00302914 80 84 00 04 */ lwz r4, 4(r4) -/* 80306CB8 00302918 7F C3 F3 78 */ mr r3, r30 -/* 80306CBC 0030291C 81 84 00 08 */ lwz r12, 8(r4) -/* 80306CC0 00302920 7D 89 03 A6 */ mtctr r12 -/* 80306CC4 00302924 4E 80 04 21 */ bctrl -/* 80306CC8 00302928 2C 03 00 00 */ cmpwi r3, 0 -/* 80306CCC 0030292C 7C 64 1B 78 */ mr r4, r3 -/* 80306CD0 00302930 41 82 00 1C */ beq lbl_80306CEC -/* 80306CD4 00302934 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80306CD8 00302938 2C 03 00 00 */ cmpwi r3, 0 -/* 80306CDC 0030293C 41 82 00 08 */ beq lbl_80306CE4 -/* 80306CE0 00302940 48 00 1A D9 */ bl func_803087B8 -lbl_80306CE4: -/* 80306CE4 00302944 38 60 00 15 */ li r3, 0x15 -/* 80306CE8 00302948 48 00 00 9C */ b lbl_80306D84 -lbl_80306CEC: -/* 80306CEC 0030294C 80 BF 00 04 */ lwz r5, 4(r31) -/* 80306CF0 00302950 7F C3 F3 78 */ mr r3, r30 -/* 80306CF4 00302954 38 9F 00 18 */ addi r4, r31, 0x18 -/* 80306CF8 00302958 81 85 00 1C */ lwz r12, 0x1c(r5) -/* 80306CFC 0030295C 7D 89 03 A6 */ mtctr r12 -/* 80306D00 00302960 4E 80 04 21 */ bctrl -/* 80306D04 00302964 2C 03 00 00 */ cmpwi r3, 0 -/* 80306D08 00302968 7C 64 1B 78 */ mr r4, r3 -/* 80306D0C 0030296C 41 82 00 1C */ beq lbl_80306D28 -/* 80306D10 00302970 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80306D14 00302974 2C 03 00 00 */ cmpwi r3, 0 -/* 80306D18 00302978 41 82 00 08 */ beq lbl_80306D20 -/* 80306D1C 0030297C 48 00 1A 9D */ bl func_803087B8 -lbl_80306D20: -/* 80306D20 00302980 38 60 00 15 */ li r3, 0x15 -/* 80306D24 00302984 48 00 00 60 */ b lbl_80306D84 -lbl_80306D28: -/* 80306D28 00302988 A0 1F 00 20 */ lhz r0, 0x20(r31) -/* 80306D2C 0030298C 54 00 05 FF */ clrlwi. r0, r0, 0x17 -/* 80306D30 00302990 41 82 00 0C */ beq lbl_80306D3C -/* 80306D34 00302994 38 60 00 16 */ li r3, 0x16 -/* 80306D38 00302998 48 00 00 4C */ b lbl_80306D84 -lbl_80306D3C: -/* 80306D3C 0030299C 80 1F 00 24 */ lwz r0, 0x24(r31) -/* 80306D40 003029A0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80306D44 003029A4 41 82 00 14 */ beq lbl_80306D58 -/* 80306D48 003029A8 80 1F 00 00 */ lwz r0, 0(r31) -/* 80306D4C 003029AC 60 00 00 10 */ ori r0, r0, 0x10 -/* 80306D50 003029B0 90 1F 00 00 */ stw r0, 0(r31) -/* 80306D54 003029B4 48 00 00 10 */ b lbl_80306D64 -lbl_80306D58: -/* 80306D58 003029B8 80 1F 00 00 */ lwz r0, 0(r31) -/* 80306D5C 003029BC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 80306D60 003029C0 90 1F 00 00 */ stw r0, 0(r31) -lbl_80306D64: -/* 80306D64 003029C4 80 1F 00 00 */ lwz r0, 0(r31) -/* 80306D68 003029C8 60 00 00 02 */ ori r0, r0, 2 -/* 80306D6C 003029CC 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 -/* 80306D70 003029D0 90 1F 00 00 */ stw r0, 0(r31) -lbl_80306D74: -/* 80306D74 003029D4 A0 9F 00 12 */ lhz r4, 0x12(r31) -/* 80306D78 003029D8 38 60 00 00 */ li r3, 0 -/* 80306D7C 003029DC 38 04 00 01 */ addi r0, r4, 1 -/* 80306D80 003029E0 B0 1F 00 12 */ sth r0, 0x12(r31) -lbl_80306D84: -/* 80306D84 003029E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80306D88 003029E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80306D8C 003029EC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80306D90 003029F0 7C 08 03 A6 */ mtlr r0 -/* 80306D94 003029F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80306D98 003029F8 4E 80 00 20 */ blr - -.global func_80306D9C -func_80306D9C: -/* 80306D9C 003029FC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80306DA0 00302A00 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17 -/* 80306DA4 00302A04 28 00 00 1A */ cmplwi r0, 0x1a -/* 80306DA8 00302A08 54 65 84 3E */ srwi r5, r3, 0x10 -/* 80306DAC 00302A0C 40 80 00 28 */ bge lbl_80306DD4 -/* 80306DB0 00302A10 28 04 03 00 */ cmplwi r4, 0x300 -/* 80306DB4 00302A14 40 82 00 20 */ bne lbl_80306DD4 -/* 80306DB8 00302A18 1C 00 00 34 */ mulli r0, r0, 0x34 -/* 80306DBC 00302A1C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80306DC0 00302A20 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l -/* 80306DC4 00302A24 7C 64 02 14 */ add r3, r4, r0 -/* 80306DC8 00302A28 80 03 01 B0 */ lwz r0, 0x1b0(r3) -/* 80306DCC 00302A2C 7C 05 00 40 */ cmplw r5, r0 -/* 80306DD0 00302A30 40 81 00 0C */ ble lbl_80306DDC -lbl_80306DD4: -/* 80306DD4 00302A34 38 60 00 01 */ li r3, 1 -/* 80306DD8 00302A38 4E 80 00 20 */ blr -lbl_80306DDC: -/* 80306DDC 00302A3C 38 00 00 0D */ li r0, 0xd -/* 80306DE0 00302A40 38 E3 01 A4 */ addi r7, r3, 0x1a4 -/* 80306DE4 00302A44 38 60 00 00 */ li r3, 0 -/* 80306DE8 00302A48 7C 09 03 A6 */ mtctr r0 -lbl_80306DEC: -/* 80306DEC 00302A4C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80306DF0 00302A50 7C C4 02 14 */ add r6, r4, r0 -/* 80306DF4 00302A54 80 06 00 08 */ lwz r0, 8(r6) -/* 80306DF8 00302A58 7C 00 38 40 */ cmplw r0, r7 -/* 80306DFC 00302A5C 40 82 00 10 */ bne lbl_80306E0C -/* 80306E00 00302A60 80 06 00 04 */ lwz r0, 4(r6) -/* 80306E04 00302A64 7C 05 00 40 */ cmplw r5, r0 -/* 80306E08 00302A68 41 82 00 30 */ beq lbl_80306E38 -lbl_80306E0C: -/* 80306E0C 00302A6C 38 63 00 01 */ addi r3, r3, 1 -/* 80306E10 00302A70 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80306E14 00302A74 7C C4 02 14 */ add r6, r4, r0 -/* 80306E18 00302A78 80 06 00 08 */ lwz r0, 8(r6) -/* 80306E1C 00302A7C 7C 00 38 40 */ cmplw r0, r7 -/* 80306E20 00302A80 40 82 00 10 */ bne lbl_80306E30 -/* 80306E24 00302A84 80 06 00 04 */ lwz r0, 4(r6) -/* 80306E28 00302A88 7C 05 00 40 */ cmplw r5, r0 -/* 80306E2C 00302A8C 41 82 00 0C */ beq lbl_80306E38 -lbl_80306E30: -/* 80306E30 00302A90 38 63 00 01 */ addi r3, r3, 1 -/* 80306E34 00302A94 42 00 FF B8 */ bdnz lbl_80306DEC -lbl_80306E38: -/* 80306E38 00302A98 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 80306E3C 00302A9C 38 60 00 1A */ li r3, 0x1a -/* 80306E40 00302AA0 38 04 FF E6 */ addi r0, r4, -26 -/* 80306E44 00302AA4 7C 83 1B 38 */ orc r3, r4, r3 -/* 80306E48 00302AA8 54 00 F8 7E */ srwi r0, r0, 1 -/* 80306E4C 00302AAC 7C 00 18 50 */ subf r0, r0, r3 -/* 80306E50 00302AB0 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80306E54 00302AB4 4E 80 00 20 */ blr - -.global func_80306E58 -func_80306E58: -/* 80306E58 00302AB8 2C 03 00 00 */ cmpwi r3, 0 -/* 80306E5C 00302ABC 40 82 00 0C */ bne lbl_80306E68 -/* 80306E60 00302AC0 38 60 00 01 */ li r3, 1 -/* 80306E64 00302AC4 4E 80 00 20 */ blr -lbl_80306E68: -/* 80306E68 00302AC8 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80306E6C 00302ACC 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80306E70 00302AD0 28 07 00 1A */ cmplwi r7, 0x1a -/* 80306E74 00302AD4 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80306E78 00302AD8 40 80 00 28 */ bge lbl_80306EA0 -/* 80306E7C 00302ADC 28 00 03 00 */ cmplwi r0, 0x300 -/* 80306E80 00302AE0 40 82 00 20 */ bne lbl_80306EA0 -/* 80306E84 00302AE4 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 80306E88 00302AE8 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 80306E8C 00302AEC 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l -/* 80306E90 00302AF0 7C 85 02 14 */ add r4, r5, r0 -/* 80306E94 00302AF4 80 04 01 B0 */ lwz r0, 0x1b0(r4) -/* 80306E98 00302AF8 7C 08 00 40 */ cmplw r8, r0 -/* 80306E9C 00302AFC 40 81 00 0C */ ble lbl_80306EA8 -lbl_80306EA0: -/* 80306EA0 00302B00 38 00 00 01 */ li r0, 1 -/* 80306EA4 00302B04 48 00 00 7C */ b lbl_80306F20 -lbl_80306EA8: -/* 80306EA8 00302B08 38 00 00 0D */ li r0, 0xd -/* 80306EAC 00302B0C 38 C4 01 A4 */ addi r6, r4, 0x1a4 -/* 80306EB0 00302B10 38 80 00 00 */ li r4, 0 -/* 80306EB4 00302B14 7C 09 03 A6 */ mtctr r0 -lbl_80306EB8: -/* 80306EB8 00302B18 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80306EBC 00302B1C 7D 25 02 14 */ add r9, r5, r0 -/* 80306EC0 00302B20 80 09 00 08 */ lwz r0, 8(r9) -/* 80306EC4 00302B24 7C 00 30 40 */ cmplw r0, r6 -/* 80306EC8 00302B28 40 82 00 10 */ bne lbl_80306ED8 -/* 80306ECC 00302B2C 80 09 00 04 */ lwz r0, 4(r9) -/* 80306ED0 00302B30 7C 08 00 40 */ cmplw r8, r0 -/* 80306ED4 00302B34 41 82 00 30 */ beq lbl_80306F04 -lbl_80306ED8: -/* 80306ED8 00302B38 38 84 00 01 */ addi r4, r4, 1 -/* 80306EDC 00302B3C 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80306EE0 00302B40 7D 25 02 14 */ add r9, r5, r0 -/* 80306EE4 00302B44 80 09 00 08 */ lwz r0, 8(r9) -/* 80306EE8 00302B48 7C 00 30 40 */ cmplw r0, r6 -/* 80306EEC 00302B4C 40 82 00 10 */ bne lbl_80306EFC -/* 80306EF0 00302B50 80 09 00 04 */ lwz r0, 4(r9) -/* 80306EF4 00302B54 7C 08 00 40 */ cmplw r8, r0 -/* 80306EF8 00302B58 41 82 00 0C */ beq lbl_80306F04 -lbl_80306EFC: -/* 80306EFC 00302B5C 38 84 00 01 */ addi r4, r4, 1 -/* 80306F00 00302B60 42 00 FF B8 */ bdnz lbl_80306EB8 -lbl_80306F04: -/* 80306F04 00302B64 54 85 04 3E */ clrlwi r5, r4, 0x10 -/* 80306F08 00302B68 38 80 00 1A */ li r4, 0x1a -/* 80306F0C 00302B6C 38 05 FF E6 */ addi r0, r5, -26 -/* 80306F10 00302B70 7C A4 23 38 */ orc r4, r5, r4 -/* 80306F14 00302B74 54 00 F8 7E */ srwi r0, r0, 1 -/* 80306F18 00302B78 7C 00 20 50 */ subf r0, r0, r4 -/* 80306F1C 00302B7C 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_80306F20: -/* 80306F20 00302B80 2C 00 00 00 */ cmpwi r0, 0 -/* 80306F24 00302B84 41 82 00 0C */ beq lbl_80306F30 -/* 80306F28 00302B88 7C 03 03 78 */ mr r3, r0 -/* 80306F2C 00302B8C 4E 80 00 20 */ blr -lbl_80306F30: -/* 80306F30 00302B90 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 80306F34 00302B94 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 80306F38 00302B98 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l -/* 80306F3C 00302B9C 7C 84 02 14 */ add r4, r4, r0 -/* 80306F40 00302BA0 38 84 01 A4 */ addi r4, r4, 0x1a4 -/* 80306F44 00302BA4 4B FF FD 3C */ b lbl_80306C80 -/* 80306F48 00302BA8 4E 80 00 20 */ blr - -.global func_80306F4C -func_80306F4C: -/* 80306F4C 00302BAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80306F50 00302BB0 7C 08 02 A6 */ mflr r0 -/* 80306F54 00302BB4 2C 03 00 00 */ cmpwi r3, 0 -/* 80306F58 00302BB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80306F5C 00302BBC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80306F60 00302BC0 7C 9F 23 78 */ mr r31, r4 -/* 80306F64 00302BC4 93 C1 00 08 */ stw r30, 8(r1) -/* 80306F68 00302BC8 40 82 00 0C */ bne lbl_80306F74 -/* 80306F6C 00302BCC 38 60 00 01 */ li r3, 1 -/* 80306F70 00302BD0 48 00 01 60 */ b lbl_803070D0 -lbl_80306F74: -/* 80306F74 00302BD4 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80306F78 00302BD8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80306F7C 00302BDC 28 07 00 1A */ cmplwi r7, 0x1a -/* 80306F80 00302BE0 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80306F84 00302BE4 40 80 00 28 */ bge lbl_80306FAC -/* 80306F88 00302BE8 28 00 03 00 */ cmplwi r0, 0x300 -/* 80306F8C 00302BEC 40 82 00 20 */ bne lbl_80306FAC -/* 80306F90 00302BF0 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 80306F94 00302BF4 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 80306F98 00302BF8 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l -/* 80306F9C 00302BFC 7C 85 02 14 */ add r4, r5, r0 -/* 80306FA0 00302C00 80 04 01 B0 */ lwz r0, 0x1b0(r4) -/* 80306FA4 00302C04 7C 08 00 40 */ cmplw r8, r0 -/* 80306FA8 00302C08 40 81 00 0C */ ble lbl_80306FB4 -lbl_80306FAC: -/* 80306FAC 00302C0C 38 00 00 01 */ li r0, 1 -/* 80306FB0 00302C10 48 00 00 7C */ b lbl_8030702C -lbl_80306FB4: -/* 80306FB4 00302C14 38 00 00 0D */ li r0, 0xd -/* 80306FB8 00302C18 38 C4 01 A4 */ addi r6, r4, 0x1a4 -/* 80306FBC 00302C1C 38 80 00 00 */ li r4, 0 -/* 80306FC0 00302C20 7C 09 03 A6 */ mtctr r0 -lbl_80306FC4: -/* 80306FC4 00302C24 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80306FC8 00302C28 7D 25 02 14 */ add r9, r5, r0 -/* 80306FCC 00302C2C 80 09 00 08 */ lwz r0, 8(r9) -/* 80306FD0 00302C30 7C 00 30 40 */ cmplw r0, r6 -/* 80306FD4 00302C34 40 82 00 10 */ bne lbl_80306FE4 -/* 80306FD8 00302C38 80 09 00 04 */ lwz r0, 4(r9) -/* 80306FDC 00302C3C 7C 08 00 40 */ cmplw r8, r0 -/* 80306FE0 00302C40 41 82 00 30 */ beq lbl_80307010 -lbl_80306FE4: -/* 80306FE4 00302C44 38 84 00 01 */ addi r4, r4, 1 -/* 80306FE8 00302C48 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80306FEC 00302C4C 7D 25 02 14 */ add r9, r5, r0 -/* 80306FF0 00302C50 80 09 00 08 */ lwz r0, 8(r9) -/* 80306FF4 00302C54 7C 00 30 40 */ cmplw r0, r6 -/* 80306FF8 00302C58 40 82 00 10 */ bne lbl_80307008 -/* 80306FFC 00302C5C 80 09 00 04 */ lwz r0, 4(r9) -/* 80307000 00302C60 7C 08 00 40 */ cmplw r8, r0 -/* 80307004 00302C64 41 82 00 0C */ beq lbl_80307010 -lbl_80307008: -/* 80307008 00302C68 38 84 00 01 */ addi r4, r4, 1 -/* 8030700C 00302C6C 42 00 FF B8 */ bdnz lbl_80306FC4 -lbl_80307010: -/* 80307010 00302C70 54 85 04 3E */ clrlwi r5, r4, 0x10 -/* 80307014 00302C74 38 80 00 1A */ li r4, 0x1a -/* 80307018 00302C78 38 05 FF E6 */ addi r0, r5, -26 -/* 8030701C 00302C7C 7C A4 23 38 */ orc r4, r5, r4 -/* 80307020 00302C80 54 00 F8 7E */ srwi r0, r0, 1 -/* 80307024 00302C84 7C 00 20 50 */ subf r0, r0, r4 -/* 80307028 00302C88 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_8030702C: -/* 8030702C 00302C8C 2C 00 00 00 */ cmpwi r0, 0 -/* 80307030 00302C90 41 82 00 0C */ beq lbl_8030703C -/* 80307034 00302C94 7C 03 03 78 */ mr r3, r0 -/* 80307038 00302C98 48 00 00 98 */ b lbl_803070D0 -lbl_8030703C: -/* 8030703C 00302C9C 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 80307040 00302CA0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 80307044 00302CA4 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l -/* 80307048 00302CA8 7F C4 02 14 */ add r30, r4, r0 -/* 8030704C 00302CAC A0 1E 01 B6 */ lhz r0, 0x1b6(r30) -/* 80307050 00302CB0 2C 00 00 00 */ cmpwi r0, 0 -/* 80307054 00302CB4 40 82 00 0C */ bne lbl_80307060 -/* 80307058 00302CB8 38 60 00 0E */ li r3, 0xe -/* 8030705C 00302CBC 48 00 00 74 */ b lbl_803070D0 -lbl_80307060: -/* 80307060 00302CC0 28 00 00 01 */ cmplwi r0, 1 -/* 80307064 00302CC4 38 80 00 00 */ li r4, 0 -/* 80307068 00302CC8 40 82 00 34 */ bne lbl_8030709C -/* 8030706C 00302CCC 80 9E 01 A8 */ lwz r4, 0x1a8(r30) -/* 80307070 00302CD0 81 84 00 0C */ lwz r12, 0xc(r4) -/* 80307074 00302CD4 7D 89 03 A6 */ mtctr r12 -/* 80307078 00302CD8 4E 80 04 21 */ bctrl -/* 8030707C 00302CDC 2C 03 00 00 */ cmpwi r3, 0 -/* 80307080 00302CE0 7C 64 1B 78 */ mr r4, r3 -/* 80307084 00302CE4 41 82 00 18 */ beq lbl_8030709C -/* 80307088 00302CE8 80 7E 01 D4 */ lwz r3, 0x1d4(r30) -/* 8030708C 00302CEC 2C 03 00 00 */ cmpwi r3, 0 -/* 80307090 00302CF0 41 82 00 08 */ beq lbl_80307098 -/* 80307094 00302CF4 48 00 17 25 */ bl func_803087B8 -lbl_80307098: -/* 80307098 00302CF8 38 80 00 15 */ li r4, 0x15 -lbl_8030709C: -/* 8030709C 00302CFC 2C 04 00 00 */ cmpwi r4, 0 -/* 803070A0 00302D00 41 82 00 0C */ beq lbl_803070AC -/* 803070A4 00302D04 28 1F 00 01 */ cmplwi r31, 1 -/* 803070A8 00302D08 40 82 00 24 */ bne lbl_803070CC -lbl_803070AC: -/* 803070AC 00302D0C A0 7E 01 B6 */ lhz r3, 0x1b6(r30) -/* 803070B0 00302D10 38 63 FF FF */ addi r3, r3, -1 -/* 803070B4 00302D14 54 60 04 3F */ clrlwi. r0, r3, 0x10 -/* 803070B8 00302D18 B0 7E 01 B6 */ sth r3, 0x1b6(r30) -/* 803070BC 00302D1C 40 82 00 10 */ bne lbl_803070CC -/* 803070C0 00302D20 80 1E 01 A4 */ lwz r0, 0x1a4(r30) -/* 803070C4 00302D24 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 803070C8 00302D28 90 1E 01 A4 */ stw r0, 0x1a4(r30) -lbl_803070CC: -/* 803070CC 00302D2C 7C 83 23 78 */ mr r3, r4 -lbl_803070D0: -/* 803070D0 00302D30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803070D4 00302D34 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803070D8 00302D38 83 C1 00 08 */ lwz r30, 8(r1) -/* 803070DC 00302D3C 7C 08 03 A6 */ mtlr r0 -/* 803070E0 00302D40 38 21 00 10 */ addi r1, r1, 0x10 -/* 803070E4 00302D44 4E 80 00 20 */ blr - -.global func_803070E8 -func_803070E8: -/* 803070E8 00302D48 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803070EC 00302D4C 7C 08 02 A6 */ mflr r0 -/* 803070F0 00302D50 90 01 00 34 */ stw r0, 0x34(r1) -/* 803070F4 00302D54 39 61 00 30 */ addi r11, r1, 0x30 -/* 803070F8 00302D58 4B EC 00 31 */ bl _savegpr_27 -/* 803070FC 00302D5C 2C 03 00 00 */ cmpwi r3, 0 -/* 80307100 00302D60 7C 7C 1B 78 */ mr r28, r3 -/* 80307104 00302D64 7C 9D 23 78 */ mr r29, r4 -/* 80307108 00302D68 7C FE 3B 78 */ mr r30, r7 -/* 8030710C 00302D6C 7D 1F 43 78 */ mr r31, r8 -/* 80307110 00302D70 41 82 00 24 */ beq lbl_80307134 -/* 80307114 00302D74 2C 04 00 00 */ cmpwi r4, 0 -/* 80307118 00302D78 41 82 00 1C */ beq lbl_80307134 -/* 8030711C 00302D7C 2C 06 00 00 */ cmpwi r6, 0 -/* 80307120 00302D80 41 82 00 14 */ beq lbl_80307134 -/* 80307124 00302D84 2C 07 00 00 */ cmpwi r7, 0 -/* 80307128 00302D88 41 82 00 0C */ beq lbl_80307134 -/* 8030712C 00302D8C 2C 08 00 00 */ cmpwi r8, 0 -/* 80307130 00302D90 40 82 00 0C */ bne lbl_8030713C -lbl_80307134: -/* 80307134 00302D94 38 60 00 01 */ li r3, 1 -/* 80307138 00302D98 48 00 01 70 */ b lbl_803072A8 -lbl_8030713C: -/* 8030713C 00302D9C 54 68 06 3E */ clrlwi r8, r3, 0x18 -/* 80307140 00302DA0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80307144 00302DA4 28 08 00 1A */ cmplwi r8, 0x1a -/* 80307148 00302DA8 54 69 84 3E */ srwi r9, r3, 0x10 -/* 8030714C 00302DAC 40 80 00 28 */ bge lbl_80307174 -/* 80307150 00302DB0 28 00 03 00 */ cmplwi r0, 0x300 -/* 80307154 00302DB4 40 82 00 20 */ bne lbl_80307174 -/* 80307158 00302DB8 1C 08 00 34 */ mulli r0, r8, 0x34 -/* 8030715C 00302DBC 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307160 00302DC0 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l -/* 80307164 00302DC4 7C 64 02 14 */ add r3, r4, r0 -/* 80307168 00302DC8 80 03 01 B0 */ lwz r0, 0x1b0(r3) -/* 8030716C 00302DCC 7C 09 00 40 */ cmplw r9, r0 -/* 80307170 00302DD0 40 81 00 0C */ ble lbl_8030717C -lbl_80307174: -/* 80307174 00302DD4 38 60 00 01 */ li r3, 1 -/* 80307178 00302DD8 48 00 00 7C */ b lbl_803071F4 -lbl_8030717C: -/* 8030717C 00302DDC 38 00 00 0D */ li r0, 0xd -/* 80307180 00302DE0 38 E3 01 A4 */ addi r7, r3, 0x1a4 -/* 80307184 00302DE4 38 60 00 00 */ li r3, 0 -/* 80307188 00302DE8 7C 09 03 A6 */ mtctr r0 -lbl_8030718C: -/* 8030718C 00302DEC 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307190 00302DF0 7D 44 02 14 */ add r10, r4, r0 -/* 80307194 00302DF4 80 0A 00 08 */ lwz r0, 8(r10) -/* 80307198 00302DF8 7C 00 38 40 */ cmplw r0, r7 -/* 8030719C 00302DFC 40 82 00 10 */ bne lbl_803071AC -/* 803071A0 00302E00 80 0A 00 04 */ lwz r0, 4(r10) -/* 803071A4 00302E04 7C 09 00 40 */ cmplw r9, r0 -/* 803071A8 00302E08 41 82 00 30 */ beq lbl_803071D8 -lbl_803071AC: -/* 803071AC 00302E0C 38 63 00 01 */ addi r3, r3, 1 -/* 803071B0 00302E10 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 803071B4 00302E14 7D 44 02 14 */ add r10, r4, r0 -/* 803071B8 00302E18 80 0A 00 08 */ lwz r0, 8(r10) -/* 803071BC 00302E1C 7C 00 38 40 */ cmplw r0, r7 -/* 803071C0 00302E20 40 82 00 10 */ bne lbl_803071D0 -/* 803071C4 00302E24 80 0A 00 04 */ lwz r0, 4(r10) -/* 803071C8 00302E28 7C 09 00 40 */ cmplw r9, r0 -/* 803071CC 00302E2C 41 82 00 0C */ beq lbl_803071D8 -lbl_803071D0: -/* 803071D0 00302E30 38 63 00 01 */ addi r3, r3, 1 -/* 803071D4 00302E34 42 00 FF B8 */ bdnz lbl_8030718C -lbl_803071D8: -/* 803071D8 00302E38 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 803071DC 00302E3C 38 60 00 1A */ li r3, 0x1a -/* 803071E0 00302E40 38 04 FF E6 */ addi r0, r4, -26 -/* 803071E4 00302E44 7C 83 1B 38 */ orc r3, r4, r3 -/* 803071E8 00302E48 54 00 F8 7E */ srwi r0, r0, 1 -/* 803071EC 00302E4C 7C 00 18 50 */ subf r0, r0, r3 -/* 803071F0 00302E50 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_803071F4: -/* 803071F4 00302E54 2C 03 00 00 */ cmpwi r3, 0 -/* 803071F8 00302E58 41 82 00 08 */ beq lbl_80307200 -/* 803071FC 00302E5C 48 00 00 AC */ b lbl_803072A8 -lbl_80307200: -/* 80307200 00302E60 1C 08 00 34 */ mulli r0, r8, 0x34 -/* 80307204 00302E64 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307208 00302E68 7C A4 2B 78 */ mr r4, r5 -/* 8030720C 00302E6C 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 80307210 00302E70 7C 63 02 14 */ add r3, r3, r0 -/* 80307214 00302E74 7C C5 33 78 */ mr r5, r6 -/* 80307218 00302E78 3B 63 01 A4 */ addi r27, r3, 0x1a4 -/* 8030721C 00302E7C 7F C6 F3 78 */ mr r6, r30 -/* 80307220 00302E80 7F 63 DB 78 */ mr r3, r27 -/* 80307224 00302E84 38 E1 00 10 */ addi r7, r1, 0x10 -/* 80307228 00302E88 39 01 00 0C */ addi r8, r1, 0xc -/* 8030722C 00302E8C 4B FF F8 F5 */ bl func_80306B20 -/* 80307230 00302E90 2C 03 00 00 */ cmpwi r3, 0 -/* 80307234 00302E94 41 82 00 08 */ beq lbl_8030723C -/* 80307238 00302E98 48 00 00 70 */ b lbl_803072A8 -lbl_8030723C: -/* 8030723C 00302E9C 80 BB 00 04 */ lwz r5, 4(r27) -/* 80307240 00302EA0 7F 83 E3 78 */ mr r3, r28 -/* 80307244 00302EA4 7F A4 EB 78 */ mr r4, r29 -/* 80307248 00302EA8 7F E7 FB 78 */ mr r7, r31 -/* 8030724C 00302EAC 81 85 00 14 */ lwz r12, 0x14(r5) -/* 80307250 00302EB0 80 A1 00 10 */ lwz r5, 0x10(r1) -/* 80307254 00302EB4 80 C1 00 0C */ lwz r6, 0xc(r1) -/* 80307258 00302EB8 7D 89 03 A6 */ mtctr r12 -/* 8030725C 00302EBC 4E 80 04 21 */ bctrl -/* 80307260 00302EC0 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80307264 00302EC4 7C 7C 1B 78 */ mr r28, r3 -/* 80307268 00302EC8 80 BF 00 00 */ lwz r5, 0(r31) -/* 8030726C 00302ECC 7F 63 DB 78 */ mr r3, r27 -/* 80307270 00302ED0 7F C6 F3 78 */ mr r6, r30 -/* 80307274 00302ED4 7F E8 FB 78 */ mr r8, r31 -/* 80307278 00302ED8 38 E1 00 08 */ addi r7, r1, 8 -/* 8030727C 00302EDC 4B FF F9 55 */ bl func_80306BD0 -/* 80307280 00302EE0 2C 1C 00 00 */ cmpwi r28, 0 -/* 80307284 00302EE4 41 82 00 20 */ beq lbl_803072A4 -/* 80307288 00302EE8 80 7B 00 30 */ lwz r3, 0x30(r27) -/* 8030728C 00302EEC 2C 03 00 00 */ cmpwi r3, 0 -/* 80307290 00302EF0 41 82 00 0C */ beq lbl_8030729C -/* 80307294 00302EF4 7F 84 E3 78 */ mr r4, r28 -/* 80307298 00302EF8 48 00 15 21 */ bl func_803087B8 -lbl_8030729C: -/* 8030729C 00302EFC 38 60 00 15 */ li r3, 0x15 -/* 803072A0 00302F00 48 00 00 08 */ b lbl_803072A8 -lbl_803072A4: -/* 803072A4 00302F04 38 60 00 00 */ li r3, 0 -lbl_803072A8: -/* 803072A8 00302F08 39 61 00 30 */ addi r11, r1, 0x30 -/* 803072AC 00302F0C 4B EB FE C9 */ bl _restgpr_27 -/* 803072B0 00302F10 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803072B4 00302F14 7C 08 03 A6 */ mtlr r0 -/* 803072B8 00302F18 38 21 00 30 */ addi r1, r1, 0x30 -/* 803072BC 00302F1C 4E 80 00 20 */ blr - -.global func_803072C0 -func_803072C0: -/* 803072C0 00302F20 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803072C4 00302F24 7C 08 02 A6 */ mflr r0 -/* 803072C8 00302F28 90 01 00 34 */ stw r0, 0x34(r1) -/* 803072CC 00302F2C 39 61 00 30 */ addi r11, r1, 0x30 -/* 803072D0 00302F30 4B EB FE 59 */ bl _savegpr_27 -/* 803072D4 00302F34 2C 03 00 00 */ cmpwi r3, 0 -/* 803072D8 00302F38 7C 7C 1B 78 */ mr r28, r3 -/* 803072DC 00302F3C 7C 9D 23 78 */ mr r29, r4 -/* 803072E0 00302F40 7C FE 3B 78 */ mr r30, r7 -/* 803072E4 00302F44 7D 1F 43 78 */ mr r31, r8 -/* 803072E8 00302F48 41 82 00 24 */ beq lbl_8030730C -/* 803072EC 00302F4C 2C 04 00 00 */ cmpwi r4, 0 -/* 803072F0 00302F50 41 82 00 1C */ beq lbl_8030730C -/* 803072F4 00302F54 2C 06 00 00 */ cmpwi r6, 0 -/* 803072F8 00302F58 41 82 00 14 */ beq lbl_8030730C -/* 803072FC 00302F5C 2C 07 00 00 */ cmpwi r7, 0 -/* 80307300 00302F60 41 82 00 0C */ beq lbl_8030730C -/* 80307304 00302F64 2C 08 00 00 */ cmpwi r8, 0 -/* 80307308 00302F68 40 82 00 0C */ bne lbl_80307314 -lbl_8030730C: -/* 8030730C 00302F6C 38 60 00 01 */ li r3, 1 -/* 80307310 00302F70 48 00 01 70 */ b lbl_80307480 -lbl_80307314: -/* 80307314 00302F74 54 68 06 3E */ clrlwi r8, r3, 0x18 -/* 80307318 00302F78 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 8030731C 00302F7C 28 08 00 1A */ cmplwi r8, 0x1a -/* 80307320 00302F80 54 69 84 3E */ srwi r9, r3, 0x10 -/* 80307324 00302F84 40 80 00 28 */ bge lbl_8030734C -/* 80307328 00302F88 28 00 03 00 */ cmplwi r0, 0x300 -/* 8030732C 00302F8C 40 82 00 20 */ bne lbl_8030734C -/* 80307330 00302F90 1C 08 00 34 */ mulli r0, r8, 0x34 -/* 80307334 00302F94 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307338 00302F98 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l -/* 8030733C 00302F9C 7C 64 02 14 */ add r3, r4, r0 -/* 80307340 00302FA0 80 03 01 B0 */ lwz r0, 0x1b0(r3) -/* 80307344 00302FA4 7C 09 00 40 */ cmplw r9, r0 -/* 80307348 00302FA8 40 81 00 0C */ ble lbl_80307354 -lbl_8030734C: -/* 8030734C 00302FAC 38 60 00 01 */ li r3, 1 -/* 80307350 00302FB0 48 00 00 7C */ b lbl_803073CC -lbl_80307354: -/* 80307354 00302FB4 38 00 00 0D */ li r0, 0xd -/* 80307358 00302FB8 38 E3 01 A4 */ addi r7, r3, 0x1a4 -/* 8030735C 00302FBC 38 60 00 00 */ li r3, 0 -/* 80307360 00302FC0 7C 09 03 A6 */ mtctr r0 -lbl_80307364: -/* 80307364 00302FC4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307368 00302FC8 7D 44 02 14 */ add r10, r4, r0 -/* 8030736C 00302FCC 80 0A 00 08 */ lwz r0, 8(r10) -/* 80307370 00302FD0 7C 00 38 40 */ cmplw r0, r7 -/* 80307374 00302FD4 40 82 00 10 */ bne lbl_80307384 -/* 80307378 00302FD8 80 0A 00 04 */ lwz r0, 4(r10) -/* 8030737C 00302FDC 7C 09 00 40 */ cmplw r9, r0 -/* 80307380 00302FE0 41 82 00 30 */ beq lbl_803073B0 -lbl_80307384: -/* 80307384 00302FE4 38 63 00 01 */ addi r3, r3, 1 -/* 80307388 00302FE8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 8030738C 00302FEC 7D 44 02 14 */ add r10, r4, r0 -/* 80307390 00302FF0 80 0A 00 08 */ lwz r0, 8(r10) -/* 80307394 00302FF4 7C 00 38 40 */ cmplw r0, r7 -/* 80307398 00302FF8 40 82 00 10 */ bne lbl_803073A8 -/* 8030739C 00302FFC 80 0A 00 04 */ lwz r0, 4(r10) -/* 803073A0 00303000 7C 09 00 40 */ cmplw r9, r0 -/* 803073A4 00303004 41 82 00 0C */ beq lbl_803073B0 -lbl_803073A8: -/* 803073A8 00303008 38 63 00 01 */ addi r3, r3, 1 -/* 803073AC 0030300C 42 00 FF B8 */ bdnz lbl_80307364 -lbl_803073B0: -/* 803073B0 00303010 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 803073B4 00303014 38 60 00 1A */ li r3, 0x1a -/* 803073B8 00303018 38 04 FF E6 */ addi r0, r4, -26 -/* 803073BC 0030301C 7C 83 1B 38 */ orc r3, r4, r3 -/* 803073C0 00303020 54 00 F8 7E */ srwi r0, r0, 1 -/* 803073C4 00303024 7C 00 18 50 */ subf r0, r0, r3 -/* 803073C8 00303028 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_803073CC: -/* 803073CC 0030302C 2C 03 00 00 */ cmpwi r3, 0 -/* 803073D0 00303030 41 82 00 08 */ beq lbl_803073D8 -/* 803073D4 00303034 48 00 00 AC */ b lbl_80307480 -lbl_803073D8: -/* 803073D8 00303038 1C 08 00 34 */ mulli r0, r8, 0x34 -/* 803073DC 0030303C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 803073E0 00303040 7C A4 2B 78 */ mr r4, r5 -/* 803073E4 00303044 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 803073E8 00303048 7C 63 02 14 */ add r3, r3, r0 -/* 803073EC 0030304C 7C C5 33 78 */ mr r5, r6 -/* 803073F0 00303050 3B 63 01 A4 */ addi r27, r3, 0x1a4 -/* 803073F4 00303054 7F C6 F3 78 */ mr r6, r30 -/* 803073F8 00303058 7F 63 DB 78 */ mr r3, r27 -/* 803073FC 0030305C 38 E1 00 10 */ addi r7, r1, 0x10 -/* 80307400 00303060 39 01 00 0C */ addi r8, r1, 0xc -/* 80307404 00303064 4B FF F7 1D */ bl func_80306B20 -/* 80307408 00303068 2C 03 00 00 */ cmpwi r3, 0 -/* 8030740C 0030306C 41 82 00 08 */ beq lbl_80307414 -/* 80307410 00303070 48 00 00 70 */ b lbl_80307480 -lbl_80307414: -/* 80307414 00303074 80 BB 00 04 */ lwz r5, 4(r27) -/* 80307418 00303078 7F 83 E3 78 */ mr r3, r28 -/* 8030741C 0030307C 7F A4 EB 78 */ mr r4, r29 -/* 80307420 00303080 7F E7 FB 78 */ mr r7, r31 -/* 80307424 00303084 81 85 00 18 */ lwz r12, 0x18(r5) -/* 80307428 00303088 80 A1 00 10 */ lwz r5, 0x10(r1) -/* 8030742C 0030308C 80 C1 00 0C */ lwz r6, 0xc(r1) -/* 80307430 00303090 7D 89 03 A6 */ mtctr r12 -/* 80307434 00303094 4E 80 04 21 */ bctrl -/* 80307438 00303098 80 81 00 10 */ lwz r4, 0x10(r1) -/* 8030743C 0030309C 7C 7C 1B 78 */ mr r28, r3 -/* 80307440 003030A0 80 BF 00 00 */ lwz r5, 0(r31) -/* 80307444 003030A4 7F 63 DB 78 */ mr r3, r27 -/* 80307448 003030A8 7F C6 F3 78 */ mr r6, r30 -/* 8030744C 003030AC 7F E8 FB 78 */ mr r8, r31 -/* 80307450 003030B0 38 E1 00 08 */ addi r7, r1, 8 -/* 80307454 003030B4 4B FF F7 7D */ bl func_80306BD0 -/* 80307458 003030B8 2C 1C 00 00 */ cmpwi r28, 0 -/* 8030745C 003030BC 41 82 00 20 */ beq lbl_8030747C -/* 80307460 003030C0 80 7B 00 30 */ lwz r3, 0x30(r27) -/* 80307464 003030C4 2C 03 00 00 */ cmpwi r3, 0 -/* 80307468 003030C8 41 82 00 0C */ beq lbl_80307474 -/* 8030746C 003030CC 7F 84 E3 78 */ mr r4, r28 -/* 80307470 003030D0 48 00 13 49 */ bl func_803087B8 -lbl_80307474: -/* 80307474 003030D4 38 60 00 15 */ li r3, 0x15 -/* 80307478 003030D8 48 00 00 08 */ b lbl_80307480 -lbl_8030747C: -/* 8030747C 003030DC 38 60 00 00 */ li r3, 0 -lbl_80307480: -/* 80307480 003030E0 39 61 00 30 */ addi r11, r1, 0x30 -/* 80307484 003030E4 4B EB FC F1 */ bl _restgpr_27 -/* 80307488 003030E8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030748C 003030EC 7C 08 03 A6 */ mtlr r0 -/* 80307490 003030F0 38 21 00 30 */ addi r1, r1, 0x30 -/* 80307494 003030F4 4E 80 00 20 */ blr - -.global func_80307498 -func_80307498: -/* 80307498 003030F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030749C 003030FC 7C 08 02 A6 */ mflr r0 -/* 803074A0 00303100 2C 03 00 00 */ cmpwi r3, 0 -/* 803074A4 00303104 90 01 00 14 */ stw r0, 0x14(r1) -/* 803074A8 00303108 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803074AC 0030310C 40 82 00 0C */ bne lbl_803074B8 -/* 803074B0 00303110 38 60 00 01 */ li r3, 1 -/* 803074B4 00303114 48 00 01 14 */ b lbl_803075C8 -lbl_803074B8: -/* 803074B8 00303118 54 68 06 3E */ clrlwi r8, r3, 0x18 -/* 803074BC 0030311C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 803074C0 00303120 28 08 00 1A */ cmplwi r8, 0x1a -/* 803074C4 00303124 54 69 84 3E */ srwi r9, r3, 0x10 -/* 803074C8 00303128 40 80 00 28 */ bge lbl_803074F0 -/* 803074CC 0030312C 28 00 03 00 */ cmplwi r0, 0x300 -/* 803074D0 00303130 40 82 00 20 */ bne lbl_803074F0 -/* 803074D4 00303134 1C 08 00 34 */ mulli r0, r8, 0x34 -/* 803074D8 00303138 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 803074DC 0030313C 38 C5 EA 60 */ addi r6, r5, lbl_8057EA60@l -/* 803074E0 00303140 7C A6 02 14 */ add r5, r6, r0 -/* 803074E4 00303144 80 05 01 B0 */ lwz r0, 0x1b0(r5) -/* 803074E8 00303148 7C 09 00 40 */ cmplw r9, r0 -/* 803074EC 0030314C 40 81 00 0C */ ble lbl_803074F8 -lbl_803074F0: -/* 803074F0 00303150 38 00 00 01 */ li r0, 1 -/* 803074F4 00303154 48 00 00 7C */ b lbl_80307570 -lbl_803074F8: -/* 803074F8 00303158 38 00 00 0D */ li r0, 0xd -/* 803074FC 0030315C 38 E5 01 A4 */ addi r7, r5, 0x1a4 -/* 80307500 00303160 38 A0 00 00 */ li r5, 0 -/* 80307504 00303164 7C 09 03 A6 */ mtctr r0 -lbl_80307508: -/* 80307508 00303168 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c -/* 8030750C 0030316C 7D 46 02 14 */ add r10, r6, r0 -/* 80307510 00303170 80 0A 00 08 */ lwz r0, 8(r10) -/* 80307514 00303174 7C 00 38 40 */ cmplw r0, r7 -/* 80307518 00303178 40 82 00 10 */ bne lbl_80307528 -/* 8030751C 0030317C 80 0A 00 04 */ lwz r0, 4(r10) -/* 80307520 00303180 7C 09 00 40 */ cmplw r9, r0 -/* 80307524 00303184 41 82 00 30 */ beq lbl_80307554 -lbl_80307528: -/* 80307528 00303188 38 A5 00 01 */ addi r5, r5, 1 -/* 8030752C 0030318C 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c -/* 80307530 00303190 7D 46 02 14 */ add r10, r6, r0 -/* 80307534 00303194 80 0A 00 08 */ lwz r0, 8(r10) -/* 80307538 00303198 7C 00 38 40 */ cmplw r0, r7 -/* 8030753C 0030319C 40 82 00 10 */ bne lbl_8030754C -/* 80307540 003031A0 80 0A 00 04 */ lwz r0, 4(r10) -/* 80307544 003031A4 7C 09 00 40 */ cmplw r9, r0 -/* 80307548 003031A8 41 82 00 0C */ beq lbl_80307554 -lbl_8030754C: -/* 8030754C 003031AC 38 A5 00 01 */ addi r5, r5, 1 -/* 80307550 003031B0 42 00 FF B8 */ bdnz lbl_80307508 -lbl_80307554: -/* 80307554 003031B4 54 A6 04 3E */ clrlwi r6, r5, 0x10 -/* 80307558 003031B8 38 A0 00 1A */ li r5, 0x1a -/* 8030755C 003031BC 38 06 FF E6 */ addi r0, r6, -26 -/* 80307560 003031C0 7C C5 2B 38 */ orc r5, r6, r5 -/* 80307564 003031C4 54 00 F8 7E */ srwi r0, r0, 1 -/* 80307568 003031C8 7C 00 28 50 */ subf r0, r0, r5 -/* 8030756C 003031CC 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_80307570: -/* 80307570 003031D0 2C 00 00 00 */ cmpwi r0, 0 -/* 80307574 003031D4 41 82 00 0C */ beq lbl_80307580 -/* 80307578 003031D8 7C 03 03 78 */ mr r3, r0 -/* 8030757C 003031DC 48 00 00 4C */ b lbl_803075C8 -lbl_80307580: -/* 80307580 003031E0 1C 08 00 34 */ mulli r0, r8, 0x34 -/* 80307584 003031E4 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 80307588 003031E8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 8030758C 003031EC 7F E5 02 14 */ add r31, r5, r0 -/* 80307590 003031F0 80 BF 01 A8 */ lwz r5, 0x1a8(r31) -/* 80307594 003031F4 81 85 00 10 */ lwz r12, 0x10(r5) -/* 80307598 003031F8 7D 89 03 A6 */ mtctr r12 -/* 8030759C 003031FC 4E 80 04 21 */ bctrl -/* 803075A0 00303200 2C 03 00 00 */ cmpwi r3, 0 -/* 803075A4 00303204 7C 64 1B 78 */ mr r4, r3 -/* 803075A8 00303208 41 82 00 1C */ beq lbl_803075C4 -/* 803075AC 0030320C 80 7F 01 D4 */ lwz r3, 0x1d4(r31) -/* 803075B0 00303210 2C 03 00 00 */ cmpwi r3, 0 -/* 803075B4 00303214 41 82 00 08 */ beq lbl_803075BC -/* 803075B8 00303218 48 00 12 01 */ bl func_803087B8 -lbl_803075BC: -/* 803075BC 0030321C 38 60 00 15 */ li r3, 0x15 -/* 803075C0 00303220 48 00 00 08 */ b lbl_803075C8 -lbl_803075C4: -/* 803075C4 00303224 38 60 00 00 */ li r3, 0 -lbl_803075C8: -/* 803075C8 00303228 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803075CC 0030322C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803075D0 00303230 7C 08 03 A6 */ mtlr r0 -/* 803075D4 00303234 38 21 00 10 */ addi r1, r1, 0x10 -/* 803075D8 00303238 4E 80 00 20 */ blr - -.global func_803075DC -func_803075DC: -/* 803075DC 0030323C 2C 03 00 00 */ cmpwi r3, 0 -/* 803075E0 00303240 41 82 00 0C */ beq lbl_803075EC -/* 803075E4 00303244 2C 04 00 00 */ cmpwi r4, 0 -/* 803075E8 00303248 40 82 00 0C */ bne lbl_803075F4 -lbl_803075EC: -/* 803075EC 0030324C 38 60 00 01 */ li r3, 1 -/* 803075F0 00303250 4E 80 00 20 */ blr -lbl_803075F4: -/* 803075F4 00303254 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 803075F8 00303258 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 803075FC 0030325C 28 07 00 1A */ cmplwi r7, 0x1a -/* 80307600 00303260 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80307604 00303264 40 80 00 28 */ bge lbl_8030762C -/* 80307608 00303268 28 00 03 00 */ cmplwi r0, 0x300 -/* 8030760C 0030326C 40 82 00 20 */ bne lbl_8030762C -/* 80307610 00303270 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 80307614 00303274 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307618 00303278 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 8030761C 0030327C 7C 65 02 14 */ add r3, r5, r0 -/* 80307620 00303280 80 03 01 B0 */ lwz r0, 0x1b0(r3) -/* 80307624 00303284 7C 08 00 40 */ cmplw r8, r0 -/* 80307628 00303288 40 81 00 0C */ ble lbl_80307634 -lbl_8030762C: -/* 8030762C 0030328C 38 60 00 01 */ li r3, 1 -/* 80307630 00303290 48 00 00 7C */ b lbl_803076AC -lbl_80307634: -/* 80307634 00303294 38 00 00 0D */ li r0, 0xd -/* 80307638 00303298 38 C3 01 A4 */ addi r6, r3, 0x1a4 -/* 8030763C 0030329C 38 60 00 00 */ li r3, 0 -/* 80307640 003032A0 7C 09 03 A6 */ mtctr r0 -lbl_80307644: -/* 80307644 003032A4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307648 003032A8 7D 25 02 14 */ add r9, r5, r0 -/* 8030764C 003032AC 80 09 00 08 */ lwz r0, 8(r9) -/* 80307650 003032B0 7C 00 30 40 */ cmplw r0, r6 -/* 80307654 003032B4 40 82 00 10 */ bne lbl_80307664 -/* 80307658 003032B8 80 09 00 04 */ lwz r0, 4(r9) -/* 8030765C 003032BC 7C 08 00 40 */ cmplw r8, r0 -/* 80307660 003032C0 41 82 00 30 */ beq lbl_80307690 -lbl_80307664: -/* 80307664 003032C4 38 63 00 01 */ addi r3, r3, 1 -/* 80307668 003032C8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 8030766C 003032CC 7D 25 02 14 */ add r9, r5, r0 -/* 80307670 003032D0 80 09 00 08 */ lwz r0, 8(r9) -/* 80307674 003032D4 7C 00 30 40 */ cmplw r0, r6 -/* 80307678 003032D8 40 82 00 10 */ bne lbl_80307688 -/* 8030767C 003032DC 80 09 00 04 */ lwz r0, 4(r9) -/* 80307680 003032E0 7C 08 00 40 */ cmplw r8, r0 -/* 80307684 003032E4 41 82 00 0C */ beq lbl_80307690 -lbl_80307688: -/* 80307688 003032E8 38 63 00 01 */ addi r3, r3, 1 -/* 8030768C 003032EC 42 00 FF B8 */ bdnz lbl_80307644 -lbl_80307690: -/* 80307690 003032F0 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 80307694 003032F4 38 60 00 1A */ li r3, 0x1a -/* 80307698 003032F8 38 05 FF E6 */ addi r0, r5, -26 -/* 8030769C 003032FC 7C A3 1B 38 */ orc r3, r5, r3 -/* 803076A0 00303300 54 00 F8 7E */ srwi r0, r0, 1 -/* 803076A4 00303304 7C 00 18 50 */ subf r0, r0, r3 -/* 803076A8 00303308 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_803076AC: -/* 803076AC 0030330C 2C 03 00 00 */ cmpwi r3, 0 -/* 803076B0 00303310 4C 82 00 20 */ bnelr -/* 803076B4 00303314 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 803076B8 00303318 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 803076BC 0030331C 38 60 00 00 */ li r3, 0 -/* 803076C0 00303320 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 803076C4 00303324 7C A5 02 14 */ add r5, r5, r0 -/* 803076C8 00303328 A0 05 01 C4 */ lhz r0, 0x1c4(r5) -/* 803076CC 0030332C B0 04 00 00 */ sth r0, 0(r4) -/* 803076D0 00303330 4E 80 00 20 */ blr - -.global func_803076D4 -func_803076D4: -/* 803076D4 00303334 2C 03 00 00 */ cmpwi r3, 0 -/* 803076D8 00303338 41 82 00 0C */ beq lbl_803076E4 -/* 803076DC 0030333C 2C 04 00 00 */ cmpwi r4, 0 -/* 803076E0 00303340 40 82 00 0C */ bne lbl_803076EC -lbl_803076E4: -/* 803076E4 00303344 38 60 00 01 */ li r3, 1 -/* 803076E8 00303348 4E 80 00 20 */ blr -lbl_803076EC: -/* 803076EC 0030334C 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 803076F0 00303350 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 803076F4 00303354 28 07 00 1A */ cmplwi r7, 0x1a -/* 803076F8 00303358 54 68 84 3E */ srwi r8, r3, 0x10 -/* 803076FC 0030335C 40 80 00 28 */ bge lbl_80307724 -/* 80307700 00303360 28 00 03 00 */ cmplwi r0, 0x300 -/* 80307704 00303364 40 82 00 20 */ bne lbl_80307724 -/* 80307708 00303368 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 8030770C 0030336C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307710 00303370 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 80307714 00303374 7C 65 02 14 */ add r3, r5, r0 -/* 80307718 00303378 80 03 01 B0 */ lwz r0, 0x1b0(r3) -/* 8030771C 0030337C 7C 08 00 40 */ cmplw r8, r0 -/* 80307720 00303380 40 81 00 0C */ ble lbl_8030772C -lbl_80307724: -/* 80307724 00303384 38 60 00 01 */ li r3, 1 -/* 80307728 00303388 48 00 00 7C */ b lbl_803077A4 -lbl_8030772C: -/* 8030772C 0030338C 38 00 00 0D */ li r0, 0xd -/* 80307730 00303390 38 C3 01 A4 */ addi r6, r3, 0x1a4 -/* 80307734 00303394 38 60 00 00 */ li r3, 0 -/* 80307738 00303398 7C 09 03 A6 */ mtctr r0 -lbl_8030773C: -/* 8030773C 0030339C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307740 003033A0 7D 25 02 14 */ add r9, r5, r0 -/* 80307744 003033A4 80 09 00 08 */ lwz r0, 8(r9) -/* 80307748 003033A8 7C 00 30 40 */ cmplw r0, r6 -/* 8030774C 003033AC 40 82 00 10 */ bne lbl_8030775C -/* 80307750 003033B0 80 09 00 04 */ lwz r0, 4(r9) -/* 80307754 003033B4 7C 08 00 40 */ cmplw r8, r0 -/* 80307758 003033B8 41 82 00 30 */ beq lbl_80307788 -lbl_8030775C: -/* 8030775C 003033BC 38 63 00 01 */ addi r3, r3, 1 -/* 80307760 003033C0 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307764 003033C4 7D 25 02 14 */ add r9, r5, r0 -/* 80307768 003033C8 80 09 00 08 */ lwz r0, 8(r9) -/* 8030776C 003033CC 7C 00 30 40 */ cmplw r0, r6 -/* 80307770 003033D0 40 82 00 10 */ bne lbl_80307780 -/* 80307774 003033D4 80 09 00 04 */ lwz r0, 4(r9) -/* 80307778 003033D8 7C 08 00 40 */ cmplw r8, r0 -/* 8030777C 003033DC 41 82 00 0C */ beq lbl_80307788 -lbl_80307780: -/* 80307780 003033E0 38 63 00 01 */ addi r3, r3, 1 -/* 80307784 003033E4 42 00 FF B8 */ bdnz lbl_8030773C -lbl_80307788: -/* 80307788 003033E8 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 8030778C 003033EC 38 60 00 1A */ li r3, 0x1a -/* 80307790 003033F0 38 05 FF E6 */ addi r0, r5, -26 -/* 80307794 003033F4 7C A3 1B 38 */ orc r3, r5, r3 -/* 80307798 003033F8 54 00 F8 7E */ srwi r0, r0, 1 -/* 8030779C 003033FC 7C 00 18 50 */ subf r0, r0, r3 -/* 803077A0 00303400 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_803077A4: -/* 803077A4 00303404 2C 03 00 00 */ cmpwi r3, 0 -/* 803077A8 00303408 4C 82 00 20 */ bnelr -/* 803077AC 0030340C 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 803077B0 00303410 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 803077B4 00303414 38 60 00 00 */ li r3, 0 -/* 803077B8 00303418 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 803077BC 0030341C 7C C5 02 14 */ add r6, r5, r0 -/* 803077C0 00303420 80 A6 01 BC */ lwz r5, 0x1bc(r6) -/* 803077C4 00303424 80 06 01 C0 */ lwz r0, 0x1c0(r6) -/* 803077C8 00303428 90 A4 00 00 */ stw r5, 0(r4) -/* 803077CC 0030342C 90 04 00 04 */ stw r0, 4(r4) -/* 803077D0 00303430 80 A6 01 C4 */ lwz r5, 0x1c4(r6) -/* 803077D4 00303434 80 06 01 C8 */ lwz r0, 0x1c8(r6) -/* 803077D8 00303438 90 A4 00 08 */ stw r5, 8(r4) -/* 803077DC 0030343C 90 04 00 0C */ stw r0, 0xc(r4) -/* 803077E0 00303440 80 06 01 CC */ lwz r0, 0x1cc(r6) -/* 803077E4 00303444 90 04 00 10 */ stw r0, 0x10(r4) -/* 803077E8 00303448 4E 80 00 20 */ blr - -.global func_803077EC -func_803077EC: -/* 803077EC 0030344C 2C 03 00 00 */ cmpwi r3, 0 -/* 803077F0 00303450 41 82 00 0C */ beq lbl_803077FC -/* 803077F4 00303454 2C 04 00 00 */ cmpwi r4, 0 -/* 803077F8 00303458 40 82 00 0C */ bne lbl_80307804 -lbl_803077FC: -/* 803077FC 0030345C 38 60 00 01 */ li r3, 1 -/* 80307800 00303460 4E 80 00 20 */ blr -lbl_80307804: -/* 80307804 00303464 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80307808 00303468 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 8030780C 0030346C 28 07 00 1A */ cmplwi r7, 0x1a -/* 80307810 00303470 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80307814 00303474 40 80 00 28 */ bge lbl_8030783C -/* 80307818 00303478 28 00 03 00 */ cmplwi r0, 0x300 -/* 8030781C 0030347C 40 82 00 20 */ bne lbl_8030783C -/* 80307820 00303480 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 80307824 00303484 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307828 00303488 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 8030782C 0030348C 7C 65 02 14 */ add r3, r5, r0 -/* 80307830 00303490 80 03 01 B0 */ lwz r0, 0x1b0(r3) -/* 80307834 00303494 7C 08 00 40 */ cmplw r8, r0 -/* 80307838 00303498 40 81 00 0C */ ble lbl_80307844 -lbl_8030783C: -/* 8030783C 0030349C 38 60 00 01 */ li r3, 1 -/* 80307840 003034A0 48 00 00 7C */ b lbl_803078BC -lbl_80307844: -/* 80307844 003034A4 38 00 00 0D */ li r0, 0xd -/* 80307848 003034A8 38 C3 01 A4 */ addi r6, r3, 0x1a4 -/* 8030784C 003034AC 38 60 00 00 */ li r3, 0 -/* 80307850 003034B0 7C 09 03 A6 */ mtctr r0 -lbl_80307854: -/* 80307854 003034B4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307858 003034B8 7D 25 02 14 */ add r9, r5, r0 -/* 8030785C 003034BC 80 09 00 08 */ lwz r0, 8(r9) -/* 80307860 003034C0 7C 00 30 40 */ cmplw r0, r6 -/* 80307864 003034C4 40 82 00 10 */ bne lbl_80307874 -/* 80307868 003034C8 80 09 00 04 */ lwz r0, 4(r9) -/* 8030786C 003034CC 7C 08 00 40 */ cmplw r8, r0 -/* 80307870 003034D0 41 82 00 30 */ beq lbl_803078A0 -lbl_80307874: -/* 80307874 003034D4 38 63 00 01 */ addi r3, r3, 1 -/* 80307878 003034D8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 8030787C 003034DC 7D 25 02 14 */ add r9, r5, r0 -/* 80307880 003034E0 80 09 00 08 */ lwz r0, 8(r9) -/* 80307884 003034E4 7C 00 30 40 */ cmplw r0, r6 -/* 80307888 003034E8 40 82 00 10 */ bne lbl_80307898 -/* 8030788C 003034EC 80 09 00 04 */ lwz r0, 4(r9) -/* 80307890 003034F0 7C 08 00 40 */ cmplw r8, r0 -/* 80307894 003034F4 41 82 00 0C */ beq lbl_803078A0 -lbl_80307898: -/* 80307898 003034F8 38 63 00 01 */ addi r3, r3, 1 -/* 8030789C 003034FC 42 00 FF B8 */ bdnz lbl_80307854 -lbl_803078A0: -/* 803078A0 00303500 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 803078A4 00303504 38 60 00 1A */ li r3, 0x1a -/* 803078A8 00303508 38 05 FF E6 */ addi r0, r5, -26 -/* 803078AC 0030350C 7C A3 1B 38 */ orc r3, r5, r3 -/* 803078B0 00303510 54 00 F8 7E */ srwi r0, r0, 1 -/* 803078B4 00303514 7C 00 18 50 */ subf r0, r0, r3 -/* 803078B8 00303518 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_803078BC: -/* 803078BC 0030351C 2C 03 00 00 */ cmpwi r3, 0 -/* 803078C0 00303520 4C 82 00 20 */ bnelr -/* 803078C4 00303524 1C 07 00 34 */ mulli r0, r7, 0x34 -/* 803078C8 00303528 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 803078CC 0030352C 38 60 00 00 */ li r3, 0 -/* 803078D0 00303530 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 803078D4 00303534 7C A5 02 14 */ add r5, r5, r0 -/* 803078D8 00303538 90 85 01 D4 */ stw r4, 0x1d4(r5) -/* 803078DC 0030353C 4E 80 00 20 */ blr - -.global func_803078E0 -func_803078E0: -/* 803078E0 00303540 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 803078E4 00303544 7C 08 02 A6 */ mflr r0 -/* 803078E8 00303548 90 01 00 94 */ stw r0, 0x94(r1) -/* 803078EC 0030354C 38 81 00 20 */ addi r4, r1, 0x20 -/* 803078F0 00303550 93 E1 00 8C */ stw r31, 0x8c(r1) -/* 803078F4 00303554 7C 7F 1B 78 */ mr r31, r3 -/* 803078F8 00303558 93 C1 00 88 */ stw r30, 0x88(r1) -/* 803078FC 0030355C 93 A1 00 84 */ stw r29, 0x84(r1) -/* 80307900 00303560 A3 C3 00 0C */ lhz r30, 0xc(r3) -/* 80307904 00303564 80 63 00 04 */ lwz r3, 4(r3) -/* 80307908 00303568 48 00 0F FD */ bl func_80308904 -/* 8030790C 0030356C 2C 03 00 00 */ cmpwi r3, 0 -/* 80307910 00303570 41 82 00 10 */ beq lbl_80307920 -/* 80307914 00303574 2C 03 00 05 */ cmpwi r3, 5 -/* 80307918 00303578 41 82 00 08 */ beq lbl_80307920 -/* 8030791C 0030357C 48 00 01 08 */ b lbl_80307A24 -lbl_80307920: -/* 80307920 00303580 2C 03 00 05 */ cmpwi r3, 5 -/* 80307924 00303584 41 82 00 BC */ beq lbl_803079E0 -/* 80307928 00303588 28 1E 00 04 */ cmplwi r30, 4 -/* 8030792C 0030358C 40 80 00 48 */ bge lbl_80307974 -/* 80307930 00303590 1C BE 00 14 */ mulli r5, r30, 0x14 -/* 80307934 00303594 38 61 00 34 */ addi r3, r1, 0x34 -/* 80307938 00303598 7C 03 28 2E */ lwzx r0, r3, r5 -/* 8030793C 0030359C 2C 00 00 00 */ cmpwi r0, 0 -/* 80307940 003035A0 40 82 00 0C */ bne lbl_8030794C -/* 80307944 003035A4 38 60 00 07 */ li r3, 7 -/* 80307948 003035A8 48 00 00 DC */ b lbl_80307A24 -lbl_8030794C: -/* 8030794C 003035AC 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80307950 003035B0 38 81 00 38 */ addi r4, r1, 0x38 -/* 80307954 003035B4 38 61 00 29 */ addi r3, r1, 0x29 -/* 80307958 003035B8 7C 04 28 2E */ lwzx r0, r4, r5 -/* 8030795C 003035BC 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80307960 003035C0 7C 03 28 AE */ lbzx r0, r3, r5 -/* 80307964 003035C4 98 1F 00 20 */ stb r0, 0x20(r31) -/* 80307968 003035C8 80 01 00 20 */ lwz r0, 0x20(r1) -/* 8030796C 003035CC 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 80307970 003035D0 48 00 00 B0 */ b lbl_80307A20 -lbl_80307974: -/* 80307974 003035D4 3B A0 00 04 */ li r29, 4 -lbl_80307978: -/* 80307978 003035D8 80 7F 00 04 */ lwz r3, 4(r31) -/* 8030797C 003035DC 38 81 00 20 */ addi r4, r1, 0x20 -/* 80307980 003035E0 48 00 10 45 */ bl func_803089C4 -/* 80307984 003035E4 2C 03 00 00 */ cmpwi r3, 0 -/* 80307988 003035E8 41 82 00 10 */ beq lbl_80307998 -/* 8030798C 003035EC 2C 03 00 06 */ cmpwi r3, 6 -/* 80307990 003035F0 41 82 00 08 */ beq lbl_80307998 -/* 80307994 003035F4 48 00 00 90 */ b lbl_80307A24 -lbl_80307998: -/* 80307998 003035F8 2C 03 00 06 */ cmpwi r3, 6 -/* 8030799C 003035FC 41 82 00 34 */ beq lbl_803079D0 -/* 803079A0 00303600 57 A0 04 3E */ clrlwi r0, r29, 0x10 -/* 803079A4 00303604 7C 1E 00 40 */ cmplw r30, r0 -/* 803079A8 00303608 40 82 00 30 */ bne lbl_803079D8 -/* 803079AC 0030360C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803079B0 00303610 90 1F 00 14 */ stw r0, 0x14(r31) -/* 803079B4 00303614 80 01 00 38 */ lwz r0, 0x38(r1) -/* 803079B8 00303618 90 1F 00 18 */ stw r0, 0x18(r31) -/* 803079BC 0030361C 88 01 00 29 */ lbz r0, 0x29(r1) -/* 803079C0 00303620 98 1F 00 20 */ stb r0, 0x20(r31) -/* 803079C4 00303624 80 01 00 20 */ lwz r0, 0x20(r1) -/* 803079C8 00303628 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 803079CC 0030362C 48 00 00 54 */ b lbl_80307A20 -lbl_803079D0: -/* 803079D0 00303630 38 60 00 07 */ li r3, 7 -/* 803079D4 00303634 48 00 00 50 */ b lbl_80307A24 -lbl_803079D8: -/* 803079D8 00303638 3B BD 00 01 */ addi r29, r29, 1 -/* 803079DC 0030363C 4B FF FF 9C */ b lbl_80307978 -lbl_803079E0: -/* 803079E0 00303640 28 1E 00 01 */ cmplwi r30, 1 -/* 803079E4 00303644 41 80 00 0C */ blt lbl_803079F0 -/* 803079E8 00303648 38 60 00 07 */ li r3, 7 -/* 803079EC 0030364C 48 00 00 38 */ b lbl_80307A24 -lbl_803079F0: -/* 803079F0 00303650 80 7F 00 04 */ lwz r3, 4(r31) -/* 803079F4 00303654 38 81 00 08 */ addi r4, r1, 8 -/* 803079F8 00303658 4B FF FC DD */ bl func_803076D4 -/* 803079FC 0030365C 2C 03 00 00 */ cmpwi r3, 0 -/* 80307A00 00303660 41 82 00 08 */ beq lbl_80307A08 -/* 80307A04 00303664 48 00 00 20 */ b lbl_80307A24 -lbl_80307A08: -/* 80307A08 00303668 38 60 00 00 */ li r3, 0 -/* 80307A0C 0030366C 90 7F 00 14 */ stw r3, 0x14(r31) -/* 80307A10 00303670 80 01 00 08 */ lwz r0, 8(r1) -/* 80307A14 00303674 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80307A18 00303678 98 7F 00 20 */ stb r3, 0x20(r31) -/* 80307A1C 0030367C 90 7F 00 1C */ stw r3, 0x1c(r31) -lbl_80307A20: -/* 80307A20 00303680 38 60 00 00 */ li r3, 0 -lbl_80307A24: -/* 80307A24 00303684 80 01 00 94 */ lwz r0, 0x94(r1) -/* 80307A28 00303688 83 E1 00 8C */ lwz r31, 0x8c(r1) -/* 80307A2C 0030368C 83 C1 00 88 */ lwz r30, 0x88(r1) -/* 80307A30 00303690 83 A1 00 84 */ lwz r29, 0x84(r1) -/* 80307A34 00303694 7C 08 03 A6 */ mtlr r0 -/* 80307A38 00303698 38 21 00 90 */ addi r1, r1, 0x90 -/* 80307A3C 0030369C 4E 80 00 20 */ blr - -.global func_80307A40 -func_80307A40: -/* 80307A40 003036A0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80307A44 003036A4 7C 08 02 A6 */ mflr r0 -/* 80307A48 003036A8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80307A4C 003036AC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80307A50 003036B0 7C BF 2B 78 */ mr r31, r5 -/* 80307A54 003036B4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80307A58 003036B8 7C 9E 23 78 */ mr r30, r4 -/* 80307A5C 003036BC 38 81 00 08 */ addi r4, r1, 8 -/* 80307A60 003036C0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80307A64 003036C4 7C 7D 1B 78 */ mr r29, r3 -/* 80307A68 003036C8 80 63 00 04 */ lwz r3, 4(r3) -/* 80307A6C 003036CC 4B FF FB 71 */ bl func_803075DC -/* 80307A70 003036D0 A0 01 00 08 */ lhz r0, 8(r1) -/* 80307A74 003036D4 7C 1F 00 40 */ cmplw r31, r0 -/* 80307A78 003036D8 40 82 00 18 */ bne lbl_80307A90 -/* 80307A7C 003036DC 80 1D 00 1C */ lwz r0, 0x1c(r29) -/* 80307A80 003036E0 80 7D 00 14 */ lwz r3, 0x14(r29) -/* 80307A84 003036E4 7C 00 F2 14 */ add r0, r0, r30 -/* 80307A88 003036E8 7C 63 02 14 */ add r3, r3, r0 -/* 80307A8C 003036EC 48 00 00 74 */ b lbl_80307B00 -lbl_80307A90: -/* 80307A90 003036F0 54 04 BE 7E */ rlwinm r4, r0, 0x17, 0x19, 0x1f -/* 80307A94 003036F4 80 7D 00 14 */ lwz r3, 0x14(r29) -/* 80307A98 003036F8 80 1D 00 1C */ lwz r0, 0x1c(r29) -/* 80307A9C 003036FC 28 04 00 02 */ cmplwi r4, 2 -/* 80307AA0 00303700 7C 03 02 14 */ add r0, r3, r0 -/* 80307AA4 00303704 40 82 00 0C */ bne lbl_80307AB0 -/* 80307AA8 00303708 54 00 08 3C */ slwi r0, r0, 1 -/* 80307AAC 0030370C 48 00 00 20 */ b lbl_80307ACC -lbl_80307AB0: -/* 80307AB0 00303710 28 04 00 04 */ cmplwi r4, 4 -/* 80307AB4 00303714 40 82 00 0C */ bne lbl_80307AC0 -/* 80307AB8 00303718 54 00 10 3A */ slwi r0, r0, 2 -/* 80307ABC 0030371C 48 00 00 10 */ b lbl_80307ACC -lbl_80307AC0: -/* 80307AC0 00303720 28 04 00 08 */ cmplwi r4, 8 -/* 80307AC4 00303724 40 82 00 08 */ bne lbl_80307ACC -/* 80307AC8 00303728 54 00 18 38 */ slwi r0, r0, 3 -lbl_80307ACC: -/* 80307ACC 0030372C 57 E3 BE 7E */ rlwinm r3, r31, 0x17, 0x19, 0x1f -/* 80307AD0 00303730 28 03 00 02 */ cmplwi r3, 2 -/* 80307AD4 00303734 40 82 00 0C */ bne lbl_80307AE0 -/* 80307AD8 00303738 54 00 F8 7E */ srwi r0, r0, 1 -/* 80307ADC 0030373C 48 00 00 20 */ b lbl_80307AFC -lbl_80307AE0: -/* 80307AE0 00303740 28 03 00 04 */ cmplwi r3, 4 -/* 80307AE4 00303744 40 82 00 0C */ bne lbl_80307AF0 -/* 80307AE8 00303748 54 00 F0 BE */ srwi r0, r0, 2 -/* 80307AEC 0030374C 48 00 00 10 */ b lbl_80307AFC -lbl_80307AF0: -/* 80307AF0 00303750 28 03 00 08 */ cmplwi r3, 8 -/* 80307AF4 00303754 40 82 00 08 */ bne lbl_80307AFC -/* 80307AF8 00303758 54 00 E8 FE */ srwi r0, r0, 3 -lbl_80307AFC: -/* 80307AFC 0030375C 7C 7E 02 14 */ add r3, r30, r0 -lbl_80307B00: -/* 80307B00 00303760 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80307B04 00303764 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80307B08 00303768 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80307B0C 0030376C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80307B10 00303770 7C 08 03 A6 */ mtlr r0 -/* 80307B14 00303774 38 21 00 20 */ addi r1, r1, 0x20 -/* 80307B18 00303778 4E 80 00 20 */ blr - -.global func_80307B1C -func_80307B1C: -/* 80307B1C 0030377C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80307B20 00303780 7C 08 02 A6 */ mflr r0 -/* 80307B24 00303784 2C 03 00 00 */ cmpwi r3, 0 -/* 80307B28 00303788 7C 64 1B 78 */ mr r4, r3 -/* 80307B2C 0030378C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80307B30 00303790 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80307B34 00303794 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80307B38 00303798 40 82 00 0C */ bne lbl_80307B44 -/* 80307B3C 0030379C 38 60 00 01 */ li r3, 1 -/* 80307B40 003037A0 48 00 01 A8 */ b lbl_80307CE8 -lbl_80307B44: -/* 80307B44 003037A4 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80307B48 003037A8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80307B4C 003037AC 28 07 00 1A */ cmplwi r7, 0x1a -/* 80307B50 003037B0 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80307B54 003037B4 40 80 00 28 */ bge lbl_80307B7C -/* 80307B58 003037B8 28 00 04 00 */ cmplwi r0, 0x400 -/* 80307B5C 003037BC 40 82 00 20 */ bne lbl_80307B7C -/* 80307B60 003037C0 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80307B64 003037C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307B68 003037C8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 80307B6C 003037CC 7C 65 02 14 */ add r3, r5, r0 -/* 80307B70 003037D0 80 03 06 F4 */ lwz r0, 0x6f4(r3) -/* 80307B74 003037D4 7C 08 00 40 */ cmplw r8, r0 -/* 80307B78 003037D8 40 81 00 0C */ ble lbl_80307B84 -lbl_80307B7C: -/* 80307B7C 003037DC 38 60 00 01 */ li r3, 1 -/* 80307B80 003037E0 48 00 00 7C */ b lbl_80307BFC -lbl_80307B84: -/* 80307B84 003037E4 38 00 00 0D */ li r0, 0xd -/* 80307B88 003037E8 38 C3 06 EC */ addi r6, r3, 0x6ec -/* 80307B8C 003037EC 38 60 00 00 */ li r3, 0 -/* 80307B90 003037F0 7C 09 03 A6 */ mtctr r0 -lbl_80307B94: -/* 80307B94 003037F4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307B98 003037F8 7D 25 02 14 */ add r9, r5, r0 -/* 80307B9C 003037FC 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80307BA0 00303800 7C 00 30 40 */ cmplw r0, r6 -/* 80307BA4 00303804 40 82 00 10 */ bne lbl_80307BB4 -/* 80307BA8 00303808 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80307BAC 0030380C 7C 08 00 40 */ cmplw r8, r0 -/* 80307BB0 00303810 41 82 00 30 */ beq lbl_80307BE0 -lbl_80307BB4: -/* 80307BB4 00303814 38 63 00 01 */ addi r3, r3, 1 -/* 80307BB8 00303818 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80307BBC 0030381C 7D 25 02 14 */ add r9, r5, r0 -/* 80307BC0 00303820 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80307BC4 00303824 7C 00 30 40 */ cmplw r0, r6 -/* 80307BC8 00303828 40 82 00 10 */ bne lbl_80307BD8 -/* 80307BCC 0030382C 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80307BD0 00303830 7C 08 00 40 */ cmplw r8, r0 -/* 80307BD4 00303834 41 82 00 0C */ beq lbl_80307BE0 -lbl_80307BD8: -/* 80307BD8 00303838 38 63 00 01 */ addi r3, r3, 1 -/* 80307BDC 0030383C 42 00 FF B8 */ bdnz lbl_80307B94 -lbl_80307BE0: -/* 80307BE0 00303840 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 80307BE4 00303844 38 60 00 1A */ li r3, 0x1a -/* 80307BE8 00303848 38 05 FF E6 */ addi r0, r5, -26 -/* 80307BEC 0030384C 7C A3 1B 38 */ orc r3, r5, r3 -/* 80307BF0 00303850 54 00 F8 7E */ srwi r0, r0, 1 -/* 80307BF4 00303854 7C 00 18 50 */ subf r0, r0, r3 -/* 80307BF8 00303858 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_80307BFC: -/* 80307BFC 0030385C 2C 03 00 00 */ cmpwi r3, 0 -/* 80307C00 00303860 41 82 00 08 */ beq lbl_80307C08 -/* 80307C04 00303864 48 00 00 E4 */ b lbl_80307CE8 -lbl_80307C08: -/* 80307C08 00303868 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80307C0C 0030386C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307C10 00303870 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 80307C14 00303874 7C 63 02 14 */ add r3, r3, r0 -/* 80307C18 00303878 80 03 06 EC */ lwz r0, 0x6ec(r3) -/* 80307C1C 0030387C 3B C3 06 EC */ addi r30, r3, 0x6ec -/* 80307C20 00303880 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80307C24 00303884 40 82 00 A8 */ bne lbl_80307CCC -/* 80307C28 00303888 80 7E 00 04 */ lwz r3, 4(r30) -/* 80307C2C 0030388C 4B FF FB C1 */ bl func_803077EC -/* 80307C30 00303890 2C 03 00 00 */ cmpwi r3, 0 -/* 80307C34 00303894 41 82 00 08 */ beq lbl_80307C3C -/* 80307C38 00303898 48 00 00 B0 */ b lbl_80307CE8 -lbl_80307C3C: -/* 80307C3C 0030389C 80 7E 00 04 */ lwz r3, 4(r30) -/* 80307C40 003038A0 4B FF F2 19 */ bl func_80306E58 -/* 80307C44 003038A4 2C 03 00 00 */ cmpwi r3, 0 -/* 80307C48 003038A8 41 82 00 08 */ beq lbl_80307C50 -/* 80307C4C 003038AC 48 00 00 9C */ b lbl_80307CE8 -lbl_80307C50: -/* 80307C50 003038B0 80 7E 00 04 */ lwz r3, 4(r30) -/* 80307C54 003038B4 38 81 00 08 */ addi r4, r1, 8 -/* 80307C58 003038B8 4B FF FA 7D */ bl func_803076D4 -/* 80307C5C 003038BC 2C 03 00 00 */ cmpwi r3, 0 -/* 80307C60 003038C0 7C 7F 1B 78 */ mr r31, r3 -/* 80307C64 003038C4 41 82 00 18 */ beq lbl_80307C7C -/* 80307C68 003038C8 80 7E 00 04 */ lwz r3, 4(r30) -/* 80307C6C 003038CC 38 80 00 01 */ li r4, 1 -/* 80307C70 003038D0 4B FF F2 DD */ bl func_80306F4C -/* 80307C74 003038D4 7F E3 FB 78 */ mr r3, r31 -/* 80307C78 003038D8 48 00 00 70 */ b lbl_80307CE8 -lbl_80307C7C: -/* 80307C7C 003038DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80307C80 003038E0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80307C84 003038E4 41 82 00 14 */ beq lbl_80307C98 -/* 80307C88 003038E8 80 1E 00 00 */ lwz r0, 0(r30) -/* 80307C8C 003038EC 60 00 00 10 */ ori r0, r0, 0x10 -/* 80307C90 003038F0 90 1E 00 00 */ stw r0, 0(r30) -/* 80307C94 003038F4 48 00 00 10 */ b lbl_80307CA4 -lbl_80307C98: -/* 80307C98 003038F8 80 1E 00 00 */ lwz r0, 0(r30) -/* 80307C9C 003038FC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 80307CA0 00303900 90 1E 00 00 */ stw r0, 0(r30) -lbl_80307CA4: -/* 80307CA4 00303904 7F C3 F3 78 */ mr r3, r30 -/* 80307CA8 00303908 4B FF FC 39 */ bl func_803078E0 -/* 80307CAC 0030390C 2C 03 00 00 */ cmpwi r3, 0 -/* 80307CB0 00303910 7C 7F 1B 78 */ mr r31, r3 -/* 80307CB4 00303914 41 82 00 20 */ beq lbl_80307CD4 -/* 80307CB8 00303918 80 7E 00 04 */ lwz r3, 4(r30) -/* 80307CBC 0030391C 38 80 00 01 */ li r4, 1 -/* 80307CC0 00303920 4B FF F2 8D */ bl func_80306F4C -/* 80307CC4 00303924 7F E3 FB 78 */ mr r3, r31 -/* 80307CC8 00303928 48 00 00 20 */ b lbl_80307CE8 -lbl_80307CCC: -/* 80307CCC 0030392C 38 60 00 0D */ li r3, 0xd -/* 80307CD0 00303930 48 00 00 18 */ b lbl_80307CE8 -lbl_80307CD4: -/* 80307CD4 00303934 80 1E 00 00 */ lwz r0, 0(r30) -/* 80307CD8 00303938 38 60 00 00 */ li r3, 0 -/* 80307CDC 0030393C 60 00 00 02 */ ori r0, r0, 2 -/* 80307CE0 00303940 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 80307CE4 00303944 90 1E 00 00 */ stw r0, 0(r30) -lbl_80307CE8: -/* 80307CE8 00303948 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80307CEC 0030394C 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80307CF0 00303950 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80307CF4 00303954 7C 08 03 A6 */ mtlr r0 -/* 80307CF8 00303958 38 21 00 30 */ addi r1, r1, 0x30 -/* 80307CFC 0030395C 4E 80 00 20 */ blr - -.global func_80307D00 -func_80307D00: -/* 80307D00 00303960 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80307D04 00303964 7C 08 02 A6 */ mflr r0 -/* 80307D08 00303968 2C 03 00 00 */ cmpwi r3, 0 -/* 80307D0C 0030396C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80307D10 00303970 7C 60 1B 78 */ mr r0, r3 -/* 80307D14 00303974 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80307D18 00303978 3B E0 00 00 */ li r31, 0 -/* 80307D1C 0030397C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80307D20 00303980 7C 9E 23 78 */ mr r30, r4 -/* 80307D24 00303984 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80307D28 00303988 40 82 00 0C */ bne lbl_80307D34 -/* 80307D2C 0030398C 38 60 00 01 */ li r3, 1 -/* 80307D30 00303990 48 00 01 40 */ b lbl_80307E70 -lbl_80307D34: -/* 80307D34 00303994 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80307D38 00303998 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17 -/* 80307D3C 0030399C 28 07 00 1A */ cmplwi r7, 0x1a -/* 80307D40 003039A0 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80307D44 003039A4 40 80 00 28 */ bge lbl_80307D6C -/* 80307D48 003039A8 28 04 04 00 */ cmplwi r4, 0x400 -/* 80307D4C 003039AC 40 82 00 20 */ bne lbl_80307D6C -/* 80307D50 003039B0 1C 87 00 2C */ mulli r4, r7, 0x2c -/* 80307D54 003039B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80307D58 003039B8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 80307D5C 003039BC 7C 85 22 14 */ add r4, r5, r4 -/* 80307D60 003039C0 80 64 06 F4 */ lwz r3, 0x6f4(r4) -/* 80307D64 003039C4 7C 08 18 40 */ cmplw r8, r3 -/* 80307D68 003039C8 40 81 00 0C */ ble lbl_80307D74 -lbl_80307D6C: -/* 80307D6C 003039CC 38 60 00 01 */ li r3, 1 -/* 80307D70 003039D0 48 00 00 7C */ b lbl_80307DEC -lbl_80307D74: -/* 80307D74 003039D4 38 60 00 0D */ li r3, 0xd -/* 80307D78 003039D8 38 C4 06 EC */ addi r6, r4, 0x6ec -/* 80307D7C 003039DC 38 80 00 00 */ li r4, 0 -/* 80307D80 003039E0 7C 69 03 A6 */ mtctr r3 -lbl_80307D84: -/* 80307D84 003039E4 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c -/* 80307D88 003039E8 7D 25 1A 14 */ add r9, r5, r3 -/* 80307D8C 003039EC 80 69 00 D8 */ lwz r3, 0xd8(r9) -/* 80307D90 003039F0 7C 03 30 40 */ cmplw r3, r6 -/* 80307D94 003039F4 40 82 00 10 */ bne lbl_80307DA4 -/* 80307D98 003039F8 80 69 00 D4 */ lwz r3, 0xd4(r9) -/* 80307D9C 003039FC 7C 08 18 40 */ cmplw r8, r3 -/* 80307DA0 00303A00 41 82 00 30 */ beq lbl_80307DD0 -lbl_80307DA4: -/* 80307DA4 00303A04 38 84 00 01 */ addi r4, r4, 1 -/* 80307DA8 00303A08 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c -/* 80307DAC 00303A0C 7D 25 1A 14 */ add r9, r5, r3 -/* 80307DB0 00303A10 80 69 00 D8 */ lwz r3, 0xd8(r9) -/* 80307DB4 00303A14 7C 03 30 40 */ cmplw r3, r6 -/* 80307DB8 00303A18 40 82 00 10 */ bne lbl_80307DC8 -/* 80307DBC 00303A1C 80 69 00 D4 */ lwz r3, 0xd4(r9) -/* 80307DC0 00303A20 7C 08 18 40 */ cmplw r8, r3 -/* 80307DC4 00303A24 41 82 00 0C */ beq lbl_80307DD0 -lbl_80307DC8: -/* 80307DC8 00303A28 38 84 00 01 */ addi r4, r4, 1 -/* 80307DCC 00303A2C 42 00 FF B8 */ bdnz lbl_80307D84 -lbl_80307DD0: -/* 80307DD0 00303A30 54 85 04 3E */ clrlwi r5, r4, 0x10 -/* 80307DD4 00303A34 38 80 00 1A */ li r4, 0x1a -/* 80307DD8 00303A38 38 65 FF E6 */ addi r3, r5, -26 -/* 80307DDC 00303A3C 7C A4 23 38 */ orc r4, r5, r4 -/* 80307DE0 00303A40 54 63 F8 7E */ srwi r3, r3, 1 -/* 80307DE4 00303A44 7C 63 20 50 */ subf r3, r3, r4 -/* 80307DE8 00303A48 54 63 0F FE */ srwi r3, r3, 0x1f -lbl_80307DEC: -/* 80307DEC 00303A4C 2C 03 00 00 */ cmpwi r3, 0 -/* 80307DF0 00303A50 41 82 00 08 */ beq lbl_80307DF8 -/* 80307DF4 00303A54 48 00 00 7C */ b lbl_80307E70 -lbl_80307DF8: -/* 80307DF8 00303A58 1C 67 00 2C */ mulli r3, r7, 0x2c -/* 80307DFC 00303A5C 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 80307E00 00303A60 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l -/* 80307E04 00303A64 7F A4 1A 14 */ add r29, r4, r3 -/* 80307E08 00303A68 80 7D 06 EC */ lwz r3, 0x6ec(r29) -/* 80307E0C 00303A6C 54 63 07 BD */ rlwinm. r3, r3, 0, 0x1e, 0x1e -/* 80307E10 00303A70 40 82 00 0C */ bne lbl_80307E1C -/* 80307E14 00303A74 38 60 00 0E */ li r3, 0xe -/* 80307E18 00303A78 48 00 00 58 */ b lbl_80307E70 -lbl_80307E1C: -/* 80307E1C 00303A7C 80 7D 06 F0 */ lwz r3, 0x6f0(r29) -/* 80307E20 00303A80 7C 04 03 78 */ mr r4, r0 -/* 80307E24 00303A84 4B FF F9 C9 */ bl func_803077EC -/* 80307E28 00303A88 2C 03 00 00 */ cmpwi r3, 0 -/* 80307E2C 00303A8C 41 82 00 08 */ beq lbl_80307E34 -/* 80307E30 00303A90 48 00 00 40 */ b lbl_80307E70 -lbl_80307E34: -/* 80307E34 00303A94 80 7D 06 F0 */ lwz r3, 0x6f0(r29) -/* 80307E38 00303A98 7F C4 F3 78 */ mr r4, r30 -/* 80307E3C 00303A9C 4B FF F1 11 */ bl func_80306F4C -/* 80307E40 00303AA0 2C 03 00 00 */ cmpwi r3, 0 -/* 80307E44 00303AA4 41 82 00 08 */ beq lbl_80307E4C -/* 80307E48 00303AA8 7C 7F 1B 78 */ mr r31, r3 -lbl_80307E4C: -/* 80307E4C 00303AAC 2C 1F 00 00 */ cmpwi r31, 0 -/* 80307E50 00303AB0 41 82 00 0C */ beq lbl_80307E5C -/* 80307E54 00303AB4 28 1E 00 01 */ cmplwi r30, 1 -/* 80307E58 00303AB8 40 82 00 14 */ bne lbl_80307E6C -lbl_80307E5C: -/* 80307E5C 00303ABC 80 1D 06 EC */ lwz r0, 0x6ec(r29) -/* 80307E60 00303AC0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 80307E64 00303AC4 54 00 07 74 */ rlwinm r0, r0, 0, 0x1d, 0x1a -/* 80307E68 00303AC8 90 1D 06 EC */ stw r0, 0x6ec(r29) -lbl_80307E6C: -/* 80307E6C 00303ACC 7F E3 FB 78 */ mr r3, r31 -lbl_80307E70: -/* 80307E70 00303AD0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80307E74 00303AD4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80307E78 00303AD8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80307E7C 00303ADC 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80307E80 00303AE0 7C 08 03 A6 */ mtlr r0 -/* 80307E84 00303AE4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80307E88 00303AE8 4E 80 00 20 */ blr - -.global func_80307E8C -func_80307E8C: -/* 80307E8C 00303AEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80307E90 00303AF0 7C 08 02 A6 */ mflr r0 -/* 80307E94 00303AF4 2C 03 00 00 */ cmpwi r3, 0 -/* 80307E98 00303AF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80307E9C 00303AFC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80307EA0 00303B00 7C 9F 23 78 */ mr r31, r4 -/* 80307EA4 00303B04 93 C1 00 08 */ stw r30, 8(r1) -/* 80307EA8 00303B08 40 82 00 0C */ bne lbl_80307EB4 -/* 80307EAC 00303B0C 38 60 00 01 */ li r3, 1 -/* 80307EB0 00303B10 48 00 01 10 */ b lbl_80307FC0 -lbl_80307EB4: -/* 80307EB4 00303B14 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80307EB8 00303B18 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80307EBC 00303B1C 28 07 00 1A */ cmplwi r7, 0x1a -/* 80307EC0 00303B20 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80307EC4 00303B24 40 80 00 28 */ bge lbl_80307EEC -/* 80307EC8 00303B28 28 00 04 00 */ cmplwi r0, 0x400 -/* 80307ECC 00303B2C 40 82 00 20 */ bne lbl_80307EEC -/* 80307ED0 00303B30 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80307ED4 00303B34 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 80307ED8 00303B38 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l -/* 80307EDC 00303B3C 7C 85 02 14 */ add r4, r5, r0 -/* 80307EE0 00303B40 80 04 06 F4 */ lwz r0, 0x6f4(r4) -/* 80307EE4 00303B44 7C 08 00 40 */ cmplw r8, r0 -/* 80307EE8 00303B48 40 81 00 0C */ ble lbl_80307EF4 -lbl_80307EEC: -/* 80307EEC 00303B4C 38 00 00 01 */ li r0, 1 -/* 80307EF0 00303B50 48 00 00 7C */ b lbl_80307F6C -lbl_80307EF4: -/* 80307EF4 00303B54 38 00 00 0D */ li r0, 0xd -/* 80307EF8 00303B58 38 C4 06 EC */ addi r6, r4, 0x6ec -/* 80307EFC 00303B5C 38 80 00 00 */ li r4, 0 -/* 80307F00 00303B60 7C 09 03 A6 */ mtctr r0 -lbl_80307F04: -/* 80307F04 00303B64 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80307F08 00303B68 7D 25 02 14 */ add r9, r5, r0 -/* 80307F0C 00303B6C 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80307F10 00303B70 7C 00 30 40 */ cmplw r0, r6 -/* 80307F14 00303B74 40 82 00 10 */ bne lbl_80307F24 -/* 80307F18 00303B78 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80307F1C 00303B7C 7C 08 00 40 */ cmplw r8, r0 -/* 80307F20 00303B80 41 82 00 30 */ beq lbl_80307F50 -lbl_80307F24: -/* 80307F24 00303B84 38 84 00 01 */ addi r4, r4, 1 -/* 80307F28 00303B88 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80307F2C 00303B8C 7D 25 02 14 */ add r9, r5, r0 -/* 80307F30 00303B90 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80307F34 00303B94 7C 00 30 40 */ cmplw r0, r6 -/* 80307F38 00303B98 40 82 00 10 */ bne lbl_80307F48 -/* 80307F3C 00303B9C 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80307F40 00303BA0 7C 08 00 40 */ cmplw r8, r0 -/* 80307F44 00303BA4 41 82 00 0C */ beq lbl_80307F50 -lbl_80307F48: -/* 80307F48 00303BA8 38 84 00 01 */ addi r4, r4, 1 -/* 80307F4C 00303BAC 42 00 FF B8 */ bdnz lbl_80307F04 -lbl_80307F50: -/* 80307F50 00303BB0 54 85 04 3E */ clrlwi r5, r4, 0x10 -/* 80307F54 00303BB4 38 80 00 1A */ li r4, 0x1a -/* 80307F58 00303BB8 38 05 FF E6 */ addi r0, r5, -26 -/* 80307F5C 00303BBC 7C A4 23 38 */ orc r4, r5, r4 -/* 80307F60 00303BC0 54 00 F8 7E */ srwi r0, r0, 1 -/* 80307F64 00303BC4 7C 00 20 50 */ subf r0, r0, r4 -/* 80307F68 00303BC8 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_80307F6C: -/* 80307F6C 00303BCC 2C 00 00 00 */ cmpwi r0, 0 -/* 80307F70 00303BD0 41 82 00 0C */ beq lbl_80307F7C -/* 80307F74 00303BD4 7C 03 03 78 */ mr r3, r0 -/* 80307F78 00303BD8 48 00 00 48 */ b lbl_80307FC0 -lbl_80307F7C: -/* 80307F7C 00303BDC 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80307F80 00303BE0 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 80307F84 00303BE4 7C 64 1B 78 */ mr r4, r3 -/* 80307F88 00303BE8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 80307F8C 00303BEC 7F C5 02 14 */ add r30, r5, r0 -/* 80307F90 00303BF0 80 7E 06 F0 */ lwz r3, 0x6f0(r30) -/* 80307F94 00303BF4 4B FF F8 59 */ bl func_803077EC -/* 80307F98 00303BF8 2C 03 00 00 */ cmpwi r3, 0 -/* 80307F9C 00303BFC 41 82 00 08 */ beq lbl_80307FA4 -/* 80307FA0 00303C00 48 00 00 20 */ b lbl_80307FC0 -lbl_80307FA4: -/* 80307FA4 00303C04 80 7E 06 F0 */ lwz r3, 0x6f0(r30) -/* 80307FA8 00303C08 7F E4 FB 78 */ mr r4, r31 -/* 80307FAC 00303C0C 4B FF F4 ED */ bl func_80307498 -/* 80307FB0 00303C10 7C 03 00 D0 */ neg r0, r3 -/* 80307FB4 00303C14 7C 00 1B 78 */ or r0, r0, r3 -/* 80307FB8 00303C18 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 80307FBC 00303C1C 7C 63 00 38 */ and r3, r3, r0 -lbl_80307FC0: -/* 80307FC0 00303C20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80307FC4 00303C24 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80307FC8 00303C28 83 C1 00 08 */ lwz r30, 8(r1) -/* 80307FCC 00303C2C 7C 08 03 A6 */ mtlr r0 -/* 80307FD0 00303C30 38 21 00 10 */ addi r1, r1, 0x10 -/* 80307FD4 00303C34 4E 80 00 20 */ blr - -.global func_80307FD8 -func_80307FD8: -/* 80307FD8 00303C38 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80307FDC 00303C3C 7C 08 02 A6 */ mflr r0 -/* 80307FE0 00303C40 90 01 00 24 */ stw r0, 0x24(r1) -/* 80307FE4 00303C44 39 61 00 20 */ addi r11, r1, 0x20 -/* 80307FE8 00303C48 4B EB F1 3D */ bl _savegpr_26 -/* 80307FEC 00303C4C 2C 03 00 00 */ cmpwi r3, 0 -/* 80307FF0 00303C50 7C 9B 23 78 */ mr r27, r4 -/* 80307FF4 00303C54 7C BC 2B 78 */ mr r28, r5 -/* 80307FF8 00303C58 7C DD 33 78 */ mr r29, r6 -/* 80307FFC 00303C5C 7C FE 3B 78 */ mr r30, r7 -/* 80308000 00303C60 7D 1F 43 78 */ mr r31, r8 -/* 80308004 00303C64 41 82 00 24 */ beq lbl_80308028 -/* 80308008 00303C68 2C 04 00 00 */ cmpwi r4, 0 -/* 8030800C 00303C6C 41 82 00 1C */ beq lbl_80308028 -/* 80308010 00303C70 2C 06 00 00 */ cmpwi r6, 0 -/* 80308014 00303C74 41 82 00 14 */ beq lbl_80308028 -/* 80308018 00303C78 2C 07 00 00 */ cmpwi r7, 0 -/* 8030801C 00303C7C 41 82 00 0C */ beq lbl_80308028 -/* 80308020 00303C80 2C 08 00 00 */ cmpwi r8, 0 -/* 80308024 00303C84 40 82 00 0C */ bne lbl_80308030 -lbl_80308028: -/* 80308028 00303C88 38 60 00 01 */ li r3, 1 -/* 8030802C 00303C8C 48 00 01 5C */ b lbl_80308188 -lbl_80308030: -/* 80308030 00303C90 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80308034 00303C94 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80308038 00303C98 28 07 00 1A */ cmplwi r7, 0x1a -/* 8030803C 00303C9C 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80308040 00303CA0 40 80 00 28 */ bge lbl_80308068 -/* 80308044 00303CA4 28 00 04 00 */ cmplwi r0, 0x400 -/* 80308048 00303CA8 40 82 00 20 */ bne lbl_80308068 -/* 8030804C 00303CAC 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80308050 00303CB0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 80308054 00303CB4 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l -/* 80308058 00303CB8 7C 85 02 14 */ add r4, r5, r0 -/* 8030805C 00303CBC 80 04 06 F4 */ lwz r0, 0x6f4(r4) -/* 80308060 00303CC0 7C 08 00 40 */ cmplw r8, r0 -/* 80308064 00303CC4 40 81 00 0C */ ble lbl_80308070 -lbl_80308068: -/* 80308068 00303CC8 38 00 00 01 */ li r0, 1 -/* 8030806C 00303CCC 48 00 00 7C */ b lbl_803080E8 -lbl_80308070: -/* 80308070 00303CD0 38 00 00 0D */ li r0, 0xd -/* 80308074 00303CD4 38 C4 06 EC */ addi r6, r4, 0x6ec -/* 80308078 00303CD8 38 80 00 00 */ li r4, 0 -/* 8030807C 00303CDC 7C 09 03 A6 */ mtctr r0 -lbl_80308080: -/* 80308080 00303CE0 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80308084 00303CE4 7D 25 02 14 */ add r9, r5, r0 -/* 80308088 00303CE8 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 8030808C 00303CEC 7C 00 30 40 */ cmplw r0, r6 -/* 80308090 00303CF0 40 82 00 10 */ bne lbl_803080A0 -/* 80308094 00303CF4 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80308098 00303CF8 7C 08 00 40 */ cmplw r8, r0 -/* 8030809C 00303CFC 41 82 00 30 */ beq lbl_803080CC -lbl_803080A0: -/* 803080A0 00303D00 38 84 00 01 */ addi r4, r4, 1 -/* 803080A4 00303D04 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 803080A8 00303D08 7D 25 02 14 */ add r9, r5, r0 -/* 803080AC 00303D0C 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 803080B0 00303D10 7C 00 30 40 */ cmplw r0, r6 -/* 803080B4 00303D14 40 82 00 10 */ bne lbl_803080C4 -/* 803080B8 00303D18 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 803080BC 00303D1C 7C 08 00 40 */ cmplw r8, r0 -/* 803080C0 00303D20 41 82 00 0C */ beq lbl_803080CC -lbl_803080C4: -/* 803080C4 00303D24 38 84 00 01 */ addi r4, r4, 1 -/* 803080C8 00303D28 42 00 FF B8 */ bdnz lbl_80308080 -lbl_803080CC: -/* 803080CC 00303D2C 54 85 04 3E */ clrlwi r5, r4, 0x10 -/* 803080D0 00303D30 38 80 00 1A */ li r4, 0x1a -/* 803080D4 00303D34 38 05 FF E6 */ addi r0, r5, -26 -/* 803080D8 00303D38 7C A4 23 38 */ orc r4, r5, r4 -/* 803080DC 00303D3C 54 00 F8 7E */ srwi r0, r0, 1 -/* 803080E0 00303D40 7C 00 20 50 */ subf r0, r0, r4 -/* 803080E4 00303D44 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_803080E8: -/* 803080E8 00303D48 2C 00 00 00 */ cmpwi r0, 0 -/* 803080EC 00303D4C 41 82 00 0C */ beq lbl_803080F8 -/* 803080F0 00303D50 7C 03 03 78 */ mr r3, r0 -/* 803080F4 00303D54 48 00 00 94 */ b lbl_80308188 -lbl_803080F8: -/* 803080F8 00303D58 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 803080FC 00303D5C 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 80308100 00303D60 7C 64 1B 78 */ mr r4, r3 -/* 80308104 00303D64 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 80308108 00303D68 7C 65 02 14 */ add r3, r5, r0 -/* 8030810C 00303D6C 3B 43 06 EC */ addi r26, r3, 0x6ec -/* 80308110 00303D70 80 63 06 F0 */ lwz r3, 0x6f0(r3) -/* 80308114 00303D74 4B FF F6 D9 */ bl func_803077EC -/* 80308118 00303D78 2C 03 00 00 */ cmpwi r3, 0 -/* 8030811C 00303D7C 41 82 00 08 */ beq lbl_80308124 -/* 80308120 00303D80 48 00 00 68 */ b lbl_80308188 -lbl_80308124: -/* 80308124 00303D84 80 1A 00 18 */ lwz r0, 0x18(r26) -/* 80308128 00303D88 7C 00 E0 40 */ cmplw r0, r28 -/* 8030812C 00303D8C 41 81 00 0C */ bgt lbl_80308138 -/* 80308130 00303D90 38 60 00 12 */ li r3, 0x12 -/* 80308134 00303D94 48 00 00 54 */ b lbl_80308188 -lbl_80308138: -/* 80308138 00303D98 7C 7C EA 14 */ add r3, r28, r29 -/* 8030813C 00303D9C 7C 00 18 40 */ cmplw r0, r3 -/* 80308140 00303DA0 40 80 00 0C */ bge lbl_8030814C -/* 80308144 00303DA4 7C 00 18 50 */ subf r0, r0, r3 -/* 80308148 00303DA8 7F A0 E8 50 */ subf r29, r0, r29 -lbl_8030814C: -/* 8030814C 00303DAC 7F 43 D3 78 */ mr r3, r26 -/* 80308150 00303DB0 7F 84 E3 78 */ mr r4, r28 -/* 80308154 00303DB4 7F C5 F3 78 */ mr r5, r30 -/* 80308158 00303DB8 4B FF F8 E9 */ bl func_80307A40 -/* 8030815C 00303DBC 7C 65 1B 78 */ mr r5, r3 -/* 80308160 00303DC0 80 7A 00 04 */ lwz r3, 4(r26) -/* 80308164 00303DC4 7F 64 DB 78 */ mr r4, r27 -/* 80308168 00303DC8 7F A6 EB 78 */ mr r6, r29 -/* 8030816C 00303DCC 7F C7 F3 78 */ mr r7, r30 -/* 80308170 00303DD0 7F E8 FB 78 */ mr r8, r31 -/* 80308174 00303DD4 4B FF EF 75 */ bl func_803070E8 -/* 80308178 00303DD8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030817C 00303DDC 41 82 00 08 */ beq lbl_80308184 -/* 80308180 00303DE0 48 00 00 08 */ b lbl_80308188 -lbl_80308184: -/* 80308184 00303DE4 38 60 00 00 */ li r3, 0 -lbl_80308188: -/* 80308188 00303DE8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030818C 00303DEC 4B EB EF E5 */ bl _restgpr_26 -/* 80308190 00303DF0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80308194 00303DF4 7C 08 03 A6 */ mtlr r0 -/* 80308198 00303DF8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030819C 00303DFC 4E 80 00 20 */ blr - -.global func_803081A0 -func_803081A0: -/* 803081A0 00303E00 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803081A4 00303E04 7C 08 02 A6 */ mflr r0 -/* 803081A8 00303E08 90 01 00 24 */ stw r0, 0x24(r1) -/* 803081AC 00303E0C 39 61 00 20 */ addi r11, r1, 0x20 -/* 803081B0 00303E10 4B EB EF 75 */ bl _savegpr_26 -/* 803081B4 00303E14 2C 03 00 00 */ cmpwi r3, 0 -/* 803081B8 00303E18 7C 9B 23 78 */ mr r27, r4 -/* 803081BC 00303E1C 7C BC 2B 78 */ mr r28, r5 -/* 803081C0 00303E20 7C DD 33 78 */ mr r29, r6 -/* 803081C4 00303E24 7C FE 3B 78 */ mr r30, r7 -/* 803081C8 00303E28 7D 1F 43 78 */ mr r31, r8 -/* 803081CC 00303E2C 41 82 00 24 */ beq lbl_803081F0 -/* 803081D0 00303E30 2C 04 00 00 */ cmpwi r4, 0 -/* 803081D4 00303E34 41 82 00 1C */ beq lbl_803081F0 -/* 803081D8 00303E38 2C 06 00 00 */ cmpwi r6, 0 -/* 803081DC 00303E3C 41 82 00 14 */ beq lbl_803081F0 -/* 803081E0 00303E40 2C 07 00 00 */ cmpwi r7, 0 -/* 803081E4 00303E44 41 82 00 0C */ beq lbl_803081F0 -/* 803081E8 00303E48 2C 08 00 00 */ cmpwi r8, 0 -/* 803081EC 00303E4C 40 82 00 0C */ bne lbl_803081F8 -lbl_803081F0: -/* 803081F0 00303E50 38 60 00 01 */ li r3, 1 -/* 803081F4 00303E54 48 00 01 5C */ b lbl_80308350 -lbl_803081F8: -/* 803081F8 00303E58 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 803081FC 00303E5C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80308200 00303E60 28 07 00 1A */ cmplwi r7, 0x1a -/* 80308204 00303E64 54 68 84 3E */ srwi r8, r3, 0x10 -/* 80308208 00303E68 40 80 00 28 */ bge lbl_80308230 -/* 8030820C 00303E6C 28 00 04 00 */ cmplwi r0, 0x400 -/* 80308210 00303E70 40 82 00 20 */ bne lbl_80308230 -/* 80308214 00303E74 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80308218 00303E78 3C 80 80 58 */ lis r4, lbl_8057EA60@ha -/* 8030821C 00303E7C 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l -/* 80308220 00303E80 7C 85 02 14 */ add r4, r5, r0 -/* 80308224 00303E84 80 04 06 F4 */ lwz r0, 0x6f4(r4) -/* 80308228 00303E88 7C 08 00 40 */ cmplw r8, r0 -/* 8030822C 00303E8C 40 81 00 0C */ ble lbl_80308238 -lbl_80308230: -/* 80308230 00303E90 38 00 00 01 */ li r0, 1 -/* 80308234 00303E94 48 00 00 7C */ b lbl_803082B0 -lbl_80308238: -/* 80308238 00303E98 38 00 00 0D */ li r0, 0xd -/* 8030823C 00303E9C 38 C4 06 EC */ addi r6, r4, 0x6ec -/* 80308240 00303EA0 38 80 00 00 */ li r4, 0 -/* 80308244 00303EA4 7C 09 03 A6 */ mtctr r0 -lbl_80308248: -/* 80308248 00303EA8 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 8030824C 00303EAC 7D 25 02 14 */ add r9, r5, r0 -/* 80308250 00303EB0 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80308254 00303EB4 7C 00 30 40 */ cmplw r0, r6 -/* 80308258 00303EB8 40 82 00 10 */ bne lbl_80308268 -/* 8030825C 00303EBC 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80308260 00303EC0 7C 08 00 40 */ cmplw r8, r0 -/* 80308264 00303EC4 41 82 00 30 */ beq lbl_80308294 -lbl_80308268: -/* 80308268 00303EC8 38 84 00 01 */ addi r4, r4, 1 -/* 8030826C 00303ECC 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c -/* 80308270 00303ED0 7D 25 02 14 */ add r9, r5, r0 -/* 80308274 00303ED4 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80308278 00303ED8 7C 00 30 40 */ cmplw r0, r6 -/* 8030827C 00303EDC 40 82 00 10 */ bne lbl_8030828C -/* 80308280 00303EE0 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80308284 00303EE4 7C 08 00 40 */ cmplw r8, r0 -/* 80308288 00303EE8 41 82 00 0C */ beq lbl_80308294 -lbl_8030828C: -/* 8030828C 00303EEC 38 84 00 01 */ addi r4, r4, 1 -/* 80308290 00303EF0 42 00 FF B8 */ bdnz lbl_80308248 -lbl_80308294: -/* 80308294 00303EF4 54 85 04 3E */ clrlwi r5, r4, 0x10 -/* 80308298 00303EF8 38 80 00 1A */ li r4, 0x1a -/* 8030829C 00303EFC 38 05 FF E6 */ addi r0, r5, -26 -/* 803082A0 00303F00 7C A4 23 38 */ orc r4, r5, r4 -/* 803082A4 00303F04 54 00 F8 7E */ srwi r0, r0, 1 -/* 803082A8 00303F08 7C 00 20 50 */ subf r0, r0, r4 -/* 803082AC 00303F0C 54 00 0F FE */ srwi r0, r0, 0x1f -lbl_803082B0: -/* 803082B0 00303F10 2C 00 00 00 */ cmpwi r0, 0 -/* 803082B4 00303F14 41 82 00 0C */ beq lbl_803082C0 -/* 803082B8 00303F18 7C 03 03 78 */ mr r3, r0 -/* 803082BC 00303F1C 48 00 00 94 */ b lbl_80308350 -lbl_803082C0: -/* 803082C0 00303F20 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 803082C4 00303F24 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 803082C8 00303F28 7C 64 1B 78 */ mr r4, r3 -/* 803082CC 00303F2C 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 803082D0 00303F30 7C 65 02 14 */ add r3, r5, r0 -/* 803082D4 00303F34 3B 43 06 EC */ addi r26, r3, 0x6ec -/* 803082D8 00303F38 80 63 06 F0 */ lwz r3, 0x6f0(r3) -/* 803082DC 00303F3C 4B FF F5 11 */ bl func_803077EC -/* 803082E0 00303F40 2C 03 00 00 */ cmpwi r3, 0 -/* 803082E4 00303F44 41 82 00 08 */ beq lbl_803082EC -/* 803082E8 00303F48 48 00 00 68 */ b lbl_80308350 -lbl_803082EC: -/* 803082EC 00303F4C 80 1A 00 18 */ lwz r0, 0x18(r26) -/* 803082F0 00303F50 7C 00 E0 40 */ cmplw r0, r28 -/* 803082F4 00303F54 41 81 00 0C */ bgt lbl_80308300 -/* 803082F8 00303F58 38 60 00 12 */ li r3, 0x12 -/* 803082FC 00303F5C 48 00 00 54 */ b lbl_80308350 -lbl_80308300: -/* 80308300 00303F60 7C 7C EA 14 */ add r3, r28, r29 -/* 80308304 00303F64 7C 00 18 40 */ cmplw r0, r3 -/* 80308308 00303F68 40 80 00 0C */ bge lbl_80308314 -/* 8030830C 00303F6C 7C 00 18 50 */ subf r0, r0, r3 -/* 80308310 00303F70 7F A0 E8 50 */ subf r29, r0, r29 -lbl_80308314: -/* 80308314 00303F74 7F 43 D3 78 */ mr r3, r26 -/* 80308318 00303F78 7F 84 E3 78 */ mr r4, r28 -/* 8030831C 00303F7C 7F C5 F3 78 */ mr r5, r30 -/* 80308320 00303F80 4B FF F7 21 */ bl func_80307A40 -/* 80308324 00303F84 7C 65 1B 78 */ mr r5, r3 -/* 80308328 00303F88 80 7A 00 04 */ lwz r3, 4(r26) -/* 8030832C 00303F8C 7F 64 DB 78 */ mr r4, r27 -/* 80308330 00303F90 7F A6 EB 78 */ mr r6, r29 -/* 80308334 00303F94 7F C7 F3 78 */ mr r7, r30 -/* 80308338 00303F98 7F E8 FB 78 */ mr r8, r31 -/* 8030833C 00303F9C 4B FF EF 85 */ bl func_803072C0 -/* 80308340 00303FA0 2C 03 00 00 */ cmpwi r3, 0 -/* 80308344 00303FA4 41 82 00 08 */ beq lbl_8030834C -/* 80308348 00303FA8 48 00 00 08 */ b lbl_80308350 -lbl_8030834C: -/* 8030834C 00303FAC 38 60 00 00 */ li r3, 0 -lbl_80308350: -/* 80308350 00303FB0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80308354 00303FB4 4B EB EE 1D */ bl _restgpr_26 -/* 80308358 00303FB8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030835C 00303FBC 7C 08 03 A6 */ mtlr r0 -/* 80308360 00303FC0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80308364 00303FC4 4E 80 00 20 */ blr - -.global func_80308368 -func_80308368: -/* 80308368 00303FC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030836C 00303FCC 7C 08 02 A6 */ mflr r0 -/* 80308370 00303FD0 2C 03 00 00 */ cmpwi r3, 0 -/* 80308374 00303FD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80308378 00303FD8 41 82 00 0C */ beq lbl_80308384 -/* 8030837C 00303FDC 2C 04 00 00 */ cmpwi r4, 0 -/* 80308380 00303FE0 40 82 00 0C */ bne lbl_8030838C -lbl_80308384: -/* 80308384 00303FE4 38 60 00 01 */ li r3, 1 -/* 80308388 00303FE8 48 00 00 F0 */ b lbl_80308478 -lbl_8030838C: -/* 8030838C 00303FEC 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 80308390 00303FF0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 80308394 00303FF4 28 07 00 1A */ cmplwi r7, 0x1a -/* 80308398 00303FF8 54 68 84 3E */ srwi r8, r3, 0x10 -/* 8030839C 00303FFC 40 80 00 28 */ bge lbl_803083C4 -/* 803083A0 00304000 28 00 04 00 */ cmplwi r0, 0x400 -/* 803083A4 00304004 40 82 00 20 */ bne lbl_803083C4 -/* 803083A8 00304008 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 803083AC 0030400C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 803083B0 00304010 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 803083B4 00304014 7C 65 02 14 */ add r3, r5, r0 -/* 803083B8 00304018 80 03 06 F4 */ lwz r0, 0x6f4(r3) -/* 803083BC 0030401C 7C 08 00 40 */ cmplw r8, r0 -/* 803083C0 00304020 40 81 00 0C */ ble lbl_803083CC -lbl_803083C4: -/* 803083C4 00304024 38 60 00 01 */ li r3, 1 -/* 803083C8 00304028 48 00 00 7C */ b lbl_80308444 -lbl_803083CC: -/* 803083CC 0030402C 38 00 00 0D */ li r0, 0xd -/* 803083D0 00304030 38 C3 06 EC */ addi r6, r3, 0x6ec -/* 803083D4 00304034 38 60 00 00 */ li r3, 0 -/* 803083D8 00304038 7C 09 03 A6 */ mtctr r0 -lbl_803083DC: -/* 803083DC 0030403C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 803083E0 00304040 7D 25 02 14 */ add r9, r5, r0 -/* 803083E4 00304044 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 803083E8 00304048 7C 00 30 40 */ cmplw r0, r6 -/* 803083EC 0030404C 40 82 00 10 */ bne lbl_803083FC -/* 803083F0 00304050 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 803083F4 00304054 7C 08 00 40 */ cmplw r8, r0 -/* 803083F8 00304058 41 82 00 30 */ beq lbl_80308428 -lbl_803083FC: -/* 803083FC 0030405C 38 63 00 01 */ addi r3, r3, 1 -/* 80308400 00304060 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80308404 00304064 7D 25 02 14 */ add r9, r5, r0 -/* 80308408 00304068 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 8030840C 0030406C 7C 00 30 40 */ cmplw r0, r6 -/* 80308410 00304070 40 82 00 10 */ bne lbl_80308420 -/* 80308414 00304074 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80308418 00304078 7C 08 00 40 */ cmplw r8, r0 -/* 8030841C 0030407C 41 82 00 0C */ beq lbl_80308428 -lbl_80308420: -/* 80308420 00304080 38 63 00 01 */ addi r3, r3, 1 -/* 80308424 00304084 42 00 FF B8 */ bdnz lbl_803083DC -lbl_80308428: -/* 80308428 00304088 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 8030842C 0030408C 38 60 00 1A */ li r3, 0x1a -/* 80308430 00304090 38 05 FF E6 */ addi r0, r5, -26 -/* 80308434 00304094 7C A3 1B 38 */ orc r3, r5, r3 -/* 80308438 00304098 54 00 F8 7E */ srwi r0, r0, 1 -/* 8030843C 0030409C 7C 00 18 50 */ subf r0, r0, r3 -/* 80308440 003040A0 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_80308444: -/* 80308444 003040A4 2C 03 00 00 */ cmpwi r3, 0 -/* 80308448 003040A8 41 82 00 08 */ beq lbl_80308450 -/* 8030844C 003040AC 48 00 00 2C */ b lbl_80308478 -lbl_80308450: -/* 80308450 003040B0 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80308454 003040B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80308458 003040B8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 8030845C 003040BC 7C 63 02 14 */ add r3, r3, r0 -/* 80308460 003040C0 80 63 06 F0 */ lwz r3, 0x6f0(r3) -/* 80308464 003040C4 4B FF F2 71 */ bl func_803076D4 -/* 80308468 003040C8 7C 03 00 D0 */ neg r0, r3 -/* 8030846C 003040CC 7C 00 1B 78 */ or r0, r0, r3 -/* 80308470 003040D0 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 80308474 003040D4 7C 63 00 38 */ and r3, r3, r0 -lbl_80308478: -/* 80308478 003040D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030847C 003040DC 7C 08 03 A6 */ mtlr r0 -/* 80308480 003040E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80308484 003040E4 4E 80 00 20 */ blr - -.global func_80308488 -func_80308488: -/* 80308488 003040E8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030848C 003040EC 41 82 00 0C */ beq lbl_80308498 -/* 80308490 003040F0 2C 04 00 00 */ cmpwi r4, 0 -/* 80308494 003040F4 40 82 00 0C */ bne lbl_803084A0 -lbl_80308498: -/* 80308498 003040F8 38 60 00 01 */ li r3, 1 -/* 8030849C 003040FC 4E 80 00 20 */ blr -lbl_803084A0: -/* 803084A0 00304100 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 803084A4 00304104 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 803084A8 00304108 28 07 00 1A */ cmplwi r7, 0x1a -/* 803084AC 0030410C 54 68 84 3E */ srwi r8, r3, 0x10 -/* 803084B0 00304110 40 80 00 28 */ bge lbl_803084D8 -/* 803084B4 00304114 28 00 04 00 */ cmplwi r0, 0x400 -/* 803084B8 00304118 40 82 00 20 */ bne lbl_803084D8 -/* 803084BC 0030411C 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 803084C0 00304120 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 803084C4 00304124 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 803084C8 00304128 7C 65 02 14 */ add r3, r5, r0 -/* 803084CC 0030412C 80 03 06 F4 */ lwz r0, 0x6f4(r3) -/* 803084D0 00304130 7C 08 00 40 */ cmplw r8, r0 -/* 803084D4 00304134 40 81 00 0C */ ble lbl_803084E0 -lbl_803084D8: -/* 803084D8 00304138 38 60 00 01 */ li r3, 1 -/* 803084DC 0030413C 48 00 00 7C */ b lbl_80308558 -lbl_803084E0: -/* 803084E0 00304140 38 00 00 0D */ li r0, 0xd -/* 803084E4 00304144 38 C3 06 EC */ addi r6, r3, 0x6ec -/* 803084E8 00304148 38 60 00 00 */ li r3, 0 -/* 803084EC 0030414C 7C 09 03 A6 */ mtctr r0 -lbl_803084F0: -/* 803084F0 00304150 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 803084F4 00304154 7D 25 02 14 */ add r9, r5, r0 -/* 803084F8 00304158 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 803084FC 0030415C 7C 00 30 40 */ cmplw r0, r6 -/* 80308500 00304160 40 82 00 10 */ bne lbl_80308510 -/* 80308504 00304164 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80308508 00304168 7C 08 00 40 */ cmplw r8, r0 -/* 8030850C 0030416C 41 82 00 30 */ beq lbl_8030853C -lbl_80308510: -/* 80308510 00304170 38 63 00 01 */ addi r3, r3, 1 -/* 80308514 00304174 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80308518 00304178 7D 25 02 14 */ add r9, r5, r0 -/* 8030851C 0030417C 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80308520 00304180 7C 00 30 40 */ cmplw r0, r6 -/* 80308524 00304184 40 82 00 10 */ bne lbl_80308534 -/* 80308528 00304188 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 8030852C 0030418C 7C 08 00 40 */ cmplw r8, r0 -/* 80308530 00304190 41 82 00 0C */ beq lbl_8030853C -lbl_80308534: -/* 80308534 00304194 38 63 00 01 */ addi r3, r3, 1 -/* 80308538 00304198 42 00 FF B8 */ bdnz lbl_803084F0 -lbl_8030853C: -/* 8030853C 0030419C 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 80308540 003041A0 38 60 00 1A */ li r3, 0x1a -/* 80308544 003041A4 38 05 FF E6 */ addi r0, r5, -26 -/* 80308548 003041A8 7C A3 1B 38 */ orc r3, r5, r3 -/* 8030854C 003041AC 54 00 F8 7E */ srwi r0, r0, 1 -/* 80308550 003041B0 7C 00 18 50 */ subf r0, r0, r3 -/* 80308554 003041B4 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_80308558: -/* 80308558 003041B8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030855C 003041BC 4C 82 00 20 */ bnelr -/* 80308560 003041C0 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80308564 003041C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80308568 003041C8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 8030856C 003041CC 7C 63 02 14 */ add r3, r3, r0 -/* 80308570 003041D0 80 03 06 EC */ lwz r0, 0x6ec(r3) -/* 80308574 003041D4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 80308578 003041D8 41 82 00 10 */ beq lbl_80308588 -/* 8030857C 003041DC 38 00 00 01 */ li r0, 1 -/* 80308580 003041E0 90 04 00 00 */ stw r0, 0(r4) -/* 80308584 003041E4 48 00 00 0C */ b lbl_80308590 -lbl_80308588: -/* 80308588 003041E8 38 00 00 00 */ li r0, 0 -/* 8030858C 003041EC 90 04 00 00 */ stw r0, 0(r4) -lbl_80308590: -/* 80308590 003041F0 38 60 00 00 */ li r3, 0 -/* 80308594 003041F4 4E 80 00 20 */ blr - -.global func_80308598 -func_80308598: -/* 80308598 003041F8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030859C 003041FC 41 82 00 0C */ beq lbl_803085A8 -/* 803085A0 00304200 2C 04 00 00 */ cmpwi r4, 0 -/* 803085A4 00304204 40 82 00 0C */ bne lbl_803085B0 -lbl_803085A8: -/* 803085A8 00304208 38 60 00 01 */ li r3, 1 -/* 803085AC 0030420C 4E 80 00 20 */ blr -lbl_803085B0: -/* 803085B0 00304210 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 803085B4 00304214 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 803085B8 00304218 28 07 00 1A */ cmplwi r7, 0x1a -/* 803085BC 0030421C 54 68 84 3E */ srwi r8, r3, 0x10 -/* 803085C0 00304220 40 80 00 28 */ bge lbl_803085E8 -/* 803085C4 00304224 28 00 04 00 */ cmplwi r0, 0x400 -/* 803085C8 00304228 40 82 00 20 */ bne lbl_803085E8 -/* 803085CC 0030422C 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 803085D0 00304230 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 803085D4 00304234 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 803085D8 00304238 7C 65 02 14 */ add r3, r5, r0 -/* 803085DC 0030423C 80 03 06 F4 */ lwz r0, 0x6f4(r3) -/* 803085E0 00304240 7C 08 00 40 */ cmplw r8, r0 -/* 803085E4 00304244 40 81 00 0C */ ble lbl_803085F0 -lbl_803085E8: -/* 803085E8 00304248 38 60 00 01 */ li r3, 1 -/* 803085EC 0030424C 48 00 00 7C */ b lbl_80308668 -lbl_803085F0: -/* 803085F0 00304250 38 00 00 0D */ li r0, 0xd -/* 803085F4 00304254 38 C3 06 EC */ addi r6, r3, 0x6ec -/* 803085F8 00304258 38 60 00 00 */ li r3, 0 -/* 803085FC 0030425C 7C 09 03 A6 */ mtctr r0 -lbl_80308600: -/* 80308600 00304260 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80308604 00304264 7D 25 02 14 */ add r9, r5, r0 -/* 80308608 00304268 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 8030860C 0030426C 7C 00 30 40 */ cmplw r0, r6 -/* 80308610 00304270 40 82 00 10 */ bne lbl_80308620 -/* 80308614 00304274 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80308618 00304278 7C 08 00 40 */ cmplw r8, r0 -/* 8030861C 0030427C 41 82 00 30 */ beq lbl_8030864C -lbl_80308620: -/* 80308620 00304280 38 63 00 01 */ addi r3, r3, 1 -/* 80308624 00304284 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80308628 00304288 7D 25 02 14 */ add r9, r5, r0 -/* 8030862C 0030428C 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80308630 00304290 7C 00 30 40 */ cmplw r0, r6 -/* 80308634 00304294 40 82 00 10 */ bne lbl_80308644 -/* 80308638 00304298 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 8030863C 0030429C 7C 08 00 40 */ cmplw r8, r0 -/* 80308640 003042A0 41 82 00 0C */ beq lbl_8030864C -lbl_80308644: -/* 80308644 003042A4 38 63 00 01 */ addi r3, r3, 1 -/* 80308648 003042A8 42 00 FF B8 */ bdnz lbl_80308600 -lbl_8030864C: -/* 8030864C 003042AC 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 80308650 003042B0 38 60 00 1A */ li r3, 0x1a -/* 80308654 003042B4 38 05 FF E6 */ addi r0, r5, -26 -/* 80308658 003042B8 7C A3 1B 38 */ orc r3, r5, r3 -/* 8030865C 003042BC 54 00 F8 7E */ srwi r0, r0, 1 -/* 80308660 003042C0 7C 00 18 50 */ subf r0, r0, r3 -/* 80308664 003042C4 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_80308668: -/* 80308668 003042C8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030866C 003042CC 4C 82 00 20 */ bnelr -/* 80308670 003042D0 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80308674 003042D4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80308678 003042D8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 8030867C 003042DC 7C 63 02 14 */ add r3, r3, r0 -/* 80308680 003042E0 80 03 06 EC */ lwz r0, 0x6ec(r3) -/* 80308684 003042E4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80308688 003042E8 41 82 00 10 */ beq lbl_80308698 -/* 8030868C 003042EC 38 00 00 01 */ li r0, 1 -/* 80308690 003042F0 90 04 00 00 */ stw r0, 0(r4) -/* 80308694 003042F4 48 00 00 0C */ b lbl_803086A0 -lbl_80308698: -/* 80308698 003042F8 38 00 00 00 */ li r0, 0 -/* 8030869C 003042FC 90 04 00 00 */ stw r0, 0(r4) -lbl_803086A0: -/* 803086A0 00304300 38 60 00 00 */ li r3, 0 -/* 803086A4 00304304 4E 80 00 20 */ blr - -.global func_803086A8 -func_803086A8: -/* 803086A8 00304308 2C 03 00 00 */ cmpwi r3, 0 -/* 803086AC 0030430C 41 82 00 0C */ beq lbl_803086B8 -/* 803086B0 00304310 2C 04 00 00 */ cmpwi r4, 0 -/* 803086B4 00304314 40 82 00 0C */ bne lbl_803086C0 -lbl_803086B8: -/* 803086B8 00304318 38 60 00 01 */ li r3, 1 -/* 803086BC 0030431C 4E 80 00 20 */ blr -lbl_803086C0: -/* 803086C0 00304320 54 67 06 3E */ clrlwi r7, r3, 0x18 -/* 803086C4 00304324 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 -/* 803086C8 00304328 28 07 00 1A */ cmplwi r7, 0x1a -/* 803086CC 0030432C 54 68 84 3E */ srwi r8, r3, 0x10 -/* 803086D0 00304330 40 80 00 28 */ bge lbl_803086F8 -/* 803086D4 00304334 28 00 04 00 */ cmplwi r0, 0x400 -/* 803086D8 00304338 40 82 00 20 */ bne lbl_803086F8 -/* 803086DC 0030433C 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 803086E0 00304340 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 803086E4 00304344 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l -/* 803086E8 00304348 7C 65 02 14 */ add r3, r5, r0 -/* 803086EC 0030434C 80 03 06 F4 */ lwz r0, 0x6f4(r3) -/* 803086F0 00304350 7C 08 00 40 */ cmplw r8, r0 -/* 803086F4 00304354 40 81 00 0C */ ble lbl_80308700 -lbl_803086F8: -/* 803086F8 00304358 38 60 00 01 */ li r3, 1 -/* 803086FC 0030435C 48 00 00 7C */ b lbl_80308778 -lbl_80308700: -/* 80308700 00304360 38 00 00 0D */ li r0, 0xd -/* 80308704 00304364 38 C3 06 EC */ addi r6, r3, 0x6ec -/* 80308708 00304368 38 60 00 00 */ li r3, 0 -/* 8030870C 0030436C 7C 09 03 A6 */ mtctr r0 -lbl_80308710: -/* 80308710 00304370 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80308714 00304374 7D 25 02 14 */ add r9, r5, r0 -/* 80308718 00304378 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 8030871C 0030437C 7C 00 30 40 */ cmplw r0, r6 -/* 80308720 00304380 40 82 00 10 */ bne lbl_80308730 -/* 80308724 00304384 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 80308728 00304388 7C 08 00 40 */ cmplw r8, r0 -/* 8030872C 0030438C 41 82 00 30 */ beq lbl_8030875C -lbl_80308730: -/* 80308730 00304390 38 63 00 01 */ addi r3, r3, 1 -/* 80308734 00304394 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c -/* 80308738 00304398 7D 25 02 14 */ add r9, r5, r0 -/* 8030873C 0030439C 80 09 00 D8 */ lwz r0, 0xd8(r9) -/* 80308740 003043A0 7C 00 30 40 */ cmplw r0, r6 -/* 80308744 003043A4 40 82 00 10 */ bne lbl_80308754 -/* 80308748 003043A8 80 09 00 D4 */ lwz r0, 0xd4(r9) -/* 8030874C 003043AC 7C 08 00 40 */ cmplw r8, r0 -/* 80308750 003043B0 41 82 00 0C */ beq lbl_8030875C -lbl_80308754: -/* 80308754 003043B4 38 63 00 01 */ addi r3, r3, 1 -/* 80308758 003043B8 42 00 FF B8 */ bdnz lbl_80308710 -lbl_8030875C: -/* 8030875C 003043BC 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 80308760 003043C0 38 60 00 1A */ li r3, 0x1a -/* 80308764 003043C4 38 05 FF E6 */ addi r0, r5, -26 -/* 80308768 003043C8 7C A3 1B 38 */ orc r3, r5, r3 -/* 8030876C 003043CC 54 00 F8 7E */ srwi r0, r0, 1 -/* 80308770 003043D0 7C 00 18 50 */ subf r0, r0, r3 -/* 80308774 003043D4 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_80308778: -/* 80308778 003043D8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030877C 003043DC 4C 82 00 20 */ bnelr -/* 80308780 003043E0 1C 07 00 2C */ mulli r0, r7, 0x2c -/* 80308784 003043E4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 80308788 003043E8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 8030878C 003043EC 7C 63 02 14 */ add r3, r3, r0 -/* 80308790 003043F0 80 03 06 EC */ lwz r0, 0x6ec(r3) -/* 80308794 003043F4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80308798 003043F8 41 82 00 10 */ beq lbl_803087A8 -/* 8030879C 003043FC 38 00 00 01 */ li r0, 1 -/* 803087A0 00304400 90 04 00 00 */ stw r0, 0(r4) -/* 803087A4 00304404 48 00 00 0C */ b lbl_803087B0 -lbl_803087A8: -/* 803087A8 00304408 38 00 00 00 */ li r0, 0 -/* 803087AC 0030440C 90 04 00 00 */ stw r0, 0(r4) -lbl_803087B0: -/* 803087B0 00304410 38 60 00 00 */ li r3, 0 -/* 803087B4 00304414 4E 80 00 20 */ blr - -.global func_803087B8 -func_803087B8: -/* 803087B8 00304418 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 803087BC 0030441C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 803087C0 00304420 1C 00 00 2C */ mulli r0, r0, 0x2c -/* 803087C4 00304424 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 803087C8 00304428 7C 63 02 14 */ add r3, r3, r0 -/* 803087CC 0030442C 90 83 07 10 */ stw r4, 0x710(r3) -/* 803087D0 00304430 4E 80 00 20 */ blr - -.global func_803087D4 -func_803087D4: -/* 803087D4 00304434 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 803087D8 00304438 3C 60 80 58 */ lis r3, lbl_8057EA60@ha -/* 803087DC 0030443C 1C 00 00 2C */ mulli r0, r0, 0x2c -/* 803087E0 00304440 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l -/* 803087E4 00304444 7C 63 02 14 */ add r3, r3, r0 -/* 803087E8 00304448 80 63 07 10 */ lwz r3, 0x710(r3) -/* 803087EC 0030444C 4E 80 00 20 */ blr - -.global func_803087F0 -func_803087F0: -/* 803087F0 00304450 2C 03 00 00 */ cmpwi r3, 0 -/* 803087F4 00304454 41 82 00 0C */ beq lbl_80308800 -/* 803087F8 00304458 2C 05 00 00 */ cmpwi r5, 0 -/* 803087FC 0030445C 40 82 00 0C */ bne lbl_80308808 -lbl_80308800: -/* 80308800 00304460 38 60 00 01 */ li r3, 1 -/* 80308804 00304464 4E 80 00 20 */ blr -lbl_80308808: -/* 80308808 00304468 2C 04 00 00 */ cmpwi r4, 0 -/* 8030880C 0030446C 40 82 00 14 */ bne lbl_80308820 -/* 80308810 00304470 38 00 00 00 */ li r0, 0 -/* 80308814 00304474 90 05 00 04 */ stw r0, 4(r5) -/* 80308818 00304478 90 05 00 00 */ stw r0, 0(r5) -/* 8030881C 0030447C 48 00 00 18 */ b lbl_80308834 -lbl_80308820: -/* 80308820 00304480 80 05 00 04 */ lwz r0, 4(r5) -/* 80308824 00304484 2C 00 00 00 */ cmpwi r0, 0 -/* 80308828 00304488 40 82 00 08 */ bne lbl_80308830 -/* 8030882C 0030448C 90 85 00 04 */ stw r4, 4(r5) -lbl_80308830: -/* 80308830 00304490 90 85 00 00 */ stw r4, 0(r5) -lbl_80308834: -/* 80308834 00304494 38 00 00 04 */ li r0, 4 -/* 80308838 00304498 38 63 01 BE */ addi r3, r3, 0x1be -/* 8030883C 0030449C 7C 09 03 A6 */ mtctr r0 -lbl_80308840: -/* 80308840 003044A0 88 03 00 00 */ lbz r0, 0(r3) -/* 80308844 003044A4 98 05 00 08 */ stb r0, 8(r5) -/* 80308848 003044A8 88 03 00 04 */ lbz r0, 4(r3) -/* 8030884C 003044AC 98 05 00 09 */ stb r0, 9(r5) -/* 80308850 003044B0 88 03 00 01 */ lbz r0, 1(r3) -/* 80308854 003044B4 98 05 00 0C */ stb r0, 0xc(r5) -/* 80308858 003044B8 88 83 00 03 */ lbz r4, 3(r3) -/* 8030885C 003044BC 88 03 00 02 */ lbz r0, 2(r3) -/* 80308860 003044C0 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 -/* 80308864 003044C4 54 06 15 AE */ rlwinm r6, r0, 2, 0x16, 0x17 -/* 80308868 003044C8 7C 04 46 70 */ srawi r4, r0, 8 -/* 8030886C 003044CC 54 00 06 BE */ clrlwi r0, r0, 0x1a -/* 80308870 003044D0 7C 86 22 14 */ add r4, r6, r4 -/* 80308874 003044D4 B0 85 00 0A */ sth r4, 0xa(r5) -/* 80308878 003044D8 98 05 00 0D */ stb r0, 0xd(r5) -/* 8030887C 003044DC 88 83 00 06 */ lbz r4, 6(r3) -/* 80308880 003044E0 88 03 00 05 */ lbz r0, 5(r3) -/* 80308884 003044E4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 -/* 80308888 003044E8 98 05 00 10 */ stb r0, 0x10(r5) -/* 8030888C 003044EC 88 83 00 07 */ lbz r4, 7(r3) -/* 80308890 003044F0 88 03 00 06 */ lbz r0, 6(r3) -/* 80308894 003044F4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 -/* 80308898 003044F8 54 06 15 AE */ rlwinm r6, r0, 2, 0x16, 0x17 -/* 8030889C 003044FC 7C 04 46 70 */ srawi r4, r0, 8 -/* 803088A0 00304500 54 00 06 BE */ clrlwi r0, r0, 0x1a -/* 803088A4 00304504 7C 86 22 14 */ add r4, r6, r4 -/* 803088A8 00304508 B0 85 00 0E */ sth r4, 0xe(r5) -/* 803088AC 0030450C 98 05 00 11 */ stb r0, 0x11(r5) -/* 803088B0 00304510 88 83 00 09 */ lbz r4, 9(r3) -/* 803088B4 00304514 88 03 00 08 */ lbz r0, 8(r3) -/* 803088B8 00304518 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 -/* 803088BC 0030451C 88 C3 00 0A */ lbz r6, 0xa(r3) -/* 803088C0 00304520 88 83 00 0B */ lbz r4, 0xb(r3) -/* 803088C4 00304524 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf -/* 803088C8 00304528 50 80 C0 0E */ rlwimi r0, r4, 0x18, 0, 7 -/* 803088CC 0030452C 90 05 00 14 */ stw r0, 0x14(r5) -/* 803088D0 00304530 88 C3 00 0E */ lbz r6, 0xe(r3) -/* 803088D4 00304534 88 83 00 0D */ lbz r4, 0xd(r3) -/* 803088D8 00304538 88 03 00 0C */ lbz r0, 0xc(r3) -/* 803088DC 0030453C 88 E3 00 0F */ lbz r7, 0xf(r3) -/* 803088E0 00304540 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17 -/* 803088E4 00304544 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf -/* 803088E8 00304548 38 63 00 10 */ addi r3, r3, 0x10 -/* 803088EC 0030454C 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7 -/* 803088F0 00304550 90 05 00 18 */ stw r0, 0x18(r5) -/* 803088F4 00304554 38 A5 00 14 */ addi r5, r5, 0x14 -/* 803088F8 00304558 42 00 FF 48 */ bdnz lbl_80308840 -/* 803088FC 0030455C 38 60 00 00 */ li r3, 0 -/* 80308900 00304560 4E 80 00 20 */ blr - -.global func_80308904 -func_80308904: -/* 80308904 00304564 94 21 FD E0 */ stwu r1, -0x220(r1) -/* 80308908 00304568 7C 08 02 A6 */ mflr r0 -/* 8030890C 0030456C 2C 03 00 00 */ cmpwi r3, 0 -/* 80308910 00304570 90 01 02 24 */ stw r0, 0x224(r1) -/* 80308914 00304574 93 E1 02 1C */ stw r31, 0x21c(r1) -/* 80308918 00304578 7C 9F 23 78 */ mr r31, r4 -/* 8030891C 0030457C 93 C1 02 18 */ stw r30, 0x218(r1) -/* 80308920 00304580 7C 7E 1B 78 */ mr r30, r3 -/* 80308924 00304584 41 82 00 0C */ beq lbl_80308930 -/* 80308928 00304588 2C 04 00 00 */ cmpwi r4, 0 -/* 8030892C 0030458C 40 82 00 0C */ bne lbl_80308938 -lbl_80308930: -/* 80308930 00304590 38 60 00 01 */ li r3, 1 -/* 80308934 00304594 48 00 00 78 */ b lbl_803089AC -lbl_80308938: -/* 80308938 00304598 4B FF E4 65 */ bl func_80306D9C -/* 8030893C 0030459C 2C 03 00 00 */ cmpwi r3, 0 -/* 80308940 003045A0 41 82 00 08 */ beq lbl_80308948 -/* 80308944 003045A4 48 00 00 68 */ b lbl_803089AC -lbl_80308948: -/* 80308948 003045A8 7F C3 F3 78 */ mr r3, r30 -/* 8030894C 003045AC 38 81 00 10 */ addi r4, r1, 0x10 -/* 80308950 003045B0 39 01 00 0C */ addi r8, r1, 0xc -/* 80308954 003045B4 38 A0 00 00 */ li r5, 0 -/* 80308958 003045B8 38 C0 00 01 */ li r6, 1 -/* 8030895C 003045BC 38 E0 02 00 */ li r7, 0x200 -/* 80308960 003045C0 4B FF E7 89 */ bl func_803070E8 -/* 80308964 003045C4 2C 03 00 00 */ cmpwi r3, 0 -/* 80308968 003045C8 41 82 00 08 */ beq lbl_80308970 -/* 8030896C 003045CC 48 00 00 40 */ b lbl_803089AC -lbl_80308970: -/* 80308970 003045D0 7F C3 F3 78 */ mr r3, r30 -/* 80308974 003045D4 38 81 00 10 */ addi r4, r1, 0x10 -/* 80308978 003045D8 38 A1 00 08 */ addi r5, r1, 8 -/* 8030897C 003045DC 48 00 02 19 */ bl func_80308B94 -/* 80308980 003045E0 80 01 00 08 */ lwz r0, 8(r1) -/* 80308984 003045E4 2C 00 00 00 */ cmpwi r0, 0 -/* 80308988 003045E8 41 82 00 18 */ beq lbl_803089A0 -/* 8030898C 003045EC 7F E5 FB 78 */ mr r5, r31 -/* 80308990 003045F0 38 61 00 10 */ addi r3, r1, 0x10 -/* 80308994 003045F4 38 80 00 00 */ li r4, 0 -/* 80308998 003045F8 4B FF FE 59 */ bl func_803087F0 -/* 8030899C 003045FC 48 00 00 0C */ b lbl_803089A8 -lbl_803089A0: -/* 803089A0 00304600 38 60 00 05 */ li r3, 5 -/* 803089A4 00304604 48 00 00 08 */ b lbl_803089AC -lbl_803089A8: -/* 803089A8 00304608 38 60 00 00 */ li r3, 0 -lbl_803089AC: -/* 803089AC 0030460C 80 01 02 24 */ lwz r0, 0x224(r1) -/* 803089B0 00304610 83 E1 02 1C */ lwz r31, 0x21c(r1) -/* 803089B4 00304614 83 C1 02 18 */ lwz r30, 0x218(r1) -/* 803089B8 00304618 7C 08 03 A6 */ mtlr r0 -/* 803089BC 0030461C 38 21 02 20 */ addi r1, r1, 0x220 -/* 803089C0 00304620 4E 80 00 20 */ blr - -.global func_803089C4 -func_803089C4: -/* 803089C4 00304624 94 21 FD C0 */ stwu r1, -0x240(r1) -/* 803089C8 00304628 7C 08 02 A6 */ mflr r0 -/* 803089CC 0030462C 2C 03 00 00 */ cmpwi r3, 0 -/* 803089D0 00304630 90 01 02 44 */ stw r0, 0x244(r1) -/* 803089D4 00304634 93 E1 02 3C */ stw r31, 0x23c(r1) -/* 803089D8 00304638 93 C1 02 38 */ stw r30, 0x238(r1) -/* 803089DC 0030463C 7C 9E 23 78 */ mr r30, r4 -/* 803089E0 00304640 93 A1 02 34 */ stw r29, 0x234(r1) -/* 803089E4 00304644 7C 7D 1B 78 */ mr r29, r3 -/* 803089E8 00304648 41 82 00 0C */ beq lbl_803089F4 -/* 803089EC 0030464C 2C 04 00 00 */ cmpwi r4, 0 -/* 803089F0 00304650 40 82 00 0C */ bne lbl_803089FC -lbl_803089F4: -/* 803089F4 00304654 38 60 00 01 */ li r3, 1 -/* 803089F8 00304658 48 00 01 80 */ b lbl_80308B78 -lbl_803089FC: -/* 803089FC 0030465C 4B FF E3 A1 */ bl func_80306D9C -/* 80308A00 00304660 2C 03 00 00 */ cmpwi r3, 0 -/* 80308A04 00304664 41 82 00 08 */ beq lbl_80308A0C -/* 80308A08 00304668 48 00 01 70 */ b lbl_80308B78 -lbl_80308A0C: -/* 80308A0C 0030466C 3B E0 00 00 */ li r31, 0 -/* 80308A10 00304670 38 A0 00 00 */ li r5, 0 -/* 80308A14 00304674 1C 1F 00 14 */ mulli r0, r31, 0x14 -/* 80308A18 00304678 7C 7E 02 14 */ add r3, r30, r0 -/* 80308A1C 0030467C 88 63 00 09 */ lbz r3, 9(r3) -/* 80308A20 00304680 28 03 00 05 */ cmplwi r3, 5 -/* 80308A24 00304684 41 82 00 0C */ beq lbl_80308A30 -/* 80308A28 00304688 28 03 00 0F */ cmplwi r3, 0xf -/* 80308A2C 0030468C 40 82 00 18 */ bne lbl_80308A44 -lbl_80308A30: -/* 80308A30 00304690 7C 7E 02 14 */ add r3, r30, r0 -/* 80308A34 00304694 80 9E 00 04 */ lwz r4, 4(r30) -/* 80308A38 00304698 80 03 00 14 */ lwz r0, 0x14(r3) -/* 80308A3C 0030469C 7F E4 02 14 */ add r31, r4, r0 -/* 80308A40 003046A0 48 00 00 A4 */ b lbl_80308AE4 -lbl_80308A44: -/* 80308A44 003046A4 38 A0 00 01 */ li r5, 1 -/* 80308A48 003046A8 1C 05 00 14 */ mulli r0, r5, 0x14 -/* 80308A4C 003046AC 7C 7E 02 14 */ add r3, r30, r0 -/* 80308A50 003046B0 88 63 00 09 */ lbz r3, 9(r3) -/* 80308A54 003046B4 28 03 00 05 */ cmplwi r3, 5 -/* 80308A58 003046B8 41 82 00 0C */ beq lbl_80308A64 -/* 80308A5C 003046BC 28 03 00 0F */ cmplwi r3, 0xf -/* 80308A60 003046C0 40 82 00 18 */ bne lbl_80308A78 -lbl_80308A64: -/* 80308A64 003046C4 7C 7E 02 14 */ add r3, r30, r0 -/* 80308A68 003046C8 80 9E 00 04 */ lwz r4, 4(r30) -/* 80308A6C 003046CC 80 03 00 14 */ lwz r0, 0x14(r3) -/* 80308A70 003046D0 7F E4 02 14 */ add r31, r4, r0 -/* 80308A74 003046D4 48 00 00 70 */ b lbl_80308AE4 -lbl_80308A78: -/* 80308A78 003046D8 38 A0 00 02 */ li r5, 2 -/* 80308A7C 003046DC 1C 05 00 14 */ mulli r0, r5, 0x14 -/* 80308A80 003046E0 7C 7E 02 14 */ add r3, r30, r0 -/* 80308A84 003046E4 88 63 00 09 */ lbz r3, 9(r3) -/* 80308A88 003046E8 28 03 00 05 */ cmplwi r3, 5 -/* 80308A8C 003046EC 41 82 00 0C */ beq lbl_80308A98 -/* 80308A90 003046F0 28 03 00 0F */ cmplwi r3, 0xf -/* 80308A94 003046F4 40 82 00 18 */ bne lbl_80308AAC -lbl_80308A98: -/* 80308A98 003046F8 7C 7E 02 14 */ add r3, r30, r0 -/* 80308A9C 003046FC 80 9E 00 04 */ lwz r4, 4(r30) -/* 80308AA0 00304700 80 03 00 14 */ lwz r0, 0x14(r3) -/* 80308AA4 00304704 7F E4 02 14 */ add r31, r4, r0 -/* 80308AA8 00304708 48 00 00 3C */ b lbl_80308AE4 -lbl_80308AAC: -/* 80308AAC 0030470C 38 A0 00 03 */ li r5, 3 -/* 80308AB0 00304710 1C 05 00 14 */ mulli r0, r5, 0x14 -/* 80308AB4 00304714 7C 7E 02 14 */ add r3, r30, r0 -/* 80308AB8 00304718 88 63 00 09 */ lbz r3, 9(r3) -/* 80308ABC 0030471C 28 03 00 05 */ cmplwi r3, 5 -/* 80308AC0 00304720 41 82 00 0C */ beq lbl_80308ACC -/* 80308AC4 00304724 28 03 00 0F */ cmplwi r3, 0xf -/* 80308AC8 00304728 40 82 00 18 */ bne lbl_80308AE0 -lbl_80308ACC: -/* 80308ACC 0030472C 7C 7E 02 14 */ add r3, r30, r0 -/* 80308AD0 00304730 80 9E 00 04 */ lwz r4, 4(r30) -/* 80308AD4 00304734 80 03 00 14 */ lwz r0, 0x14(r3) -/* 80308AD8 00304738 7F E4 02 14 */ add r31, r4, r0 -/* 80308ADC 0030473C 48 00 00 08 */ b lbl_80308AE4 -lbl_80308AE0: -/* 80308AE0 00304740 38 A0 00 04 */ li r5, 4 -lbl_80308AE4: -/* 80308AE4 00304744 28 05 00 04 */ cmplwi r5, 4 -/* 80308AE8 00304748 40 82 00 0C */ bne lbl_80308AF4 -/* 80308AEC 0030474C 38 60 00 07 */ li r3, 7 -/* 80308AF0 00304750 48 00 00 88 */ b lbl_80308B78 -lbl_80308AF4: -/* 80308AF4 00304754 7F A3 EB 78 */ mr r3, r29 -/* 80308AF8 00304758 38 81 00 10 */ addi r4, r1, 0x10 -/* 80308AFC 0030475C 4B FF EB D9 */ bl func_803076D4 -/* 80308B00 00304760 2C 03 00 00 */ cmpwi r3, 0 -/* 80308B04 00304764 41 82 00 08 */ beq lbl_80308B0C -/* 80308B08 00304768 48 00 00 70 */ b lbl_80308B78 -lbl_80308B0C: -/* 80308B0C 0030476C A0 01 00 18 */ lhz r0, 0x18(r1) -/* 80308B10 00304770 7F A3 EB 78 */ mr r3, r29 -/* 80308B14 00304774 38 81 00 28 */ addi r4, r1, 0x28 -/* 80308B18 00304778 39 01 00 0C */ addi r8, r1, 0xc -/* 80308B1C 0030477C 7C 00 4E 70 */ srawi r0, r0, 9 -/* 80308B20 00304780 38 C0 00 01 */ li r6, 1 -/* 80308B24 00304784 7C BF 01 D6 */ mullw r5, r31, r0 -/* 80308B28 00304788 38 E0 02 00 */ li r7, 0x200 -/* 80308B2C 0030478C 4B FF E5 BD */ bl func_803070E8 -/* 80308B30 00304790 2C 03 00 00 */ cmpwi r3, 0 -/* 80308B34 00304794 41 82 00 08 */ beq lbl_80308B3C -/* 80308B38 00304798 48 00 00 40 */ b lbl_80308B78 -lbl_80308B3C: -/* 80308B3C 0030479C 7F A3 EB 78 */ mr r3, r29 -/* 80308B40 003047A0 38 81 00 28 */ addi r4, r1, 0x28 -/* 80308B44 003047A4 38 A1 00 08 */ addi r5, r1, 8 -/* 80308B48 003047A8 48 00 00 4D */ bl func_80308B94 -/* 80308B4C 003047AC 80 01 00 08 */ lwz r0, 8(r1) -/* 80308B50 003047B0 2C 00 00 00 */ cmpwi r0, 0 -/* 80308B54 003047B4 41 82 00 18 */ beq lbl_80308B6C -/* 80308B58 003047B8 7F E4 FB 78 */ mr r4, r31 -/* 80308B5C 003047BC 7F C5 F3 78 */ mr r5, r30 -/* 80308B60 003047C0 38 61 00 28 */ addi r3, r1, 0x28 -/* 80308B64 003047C4 4B FF FC 8D */ bl func_803087F0 -/* 80308B68 003047C8 48 00 00 0C */ b lbl_80308B74 -lbl_80308B6C: -/* 80308B6C 003047CC 38 60 00 06 */ li r3, 6 -/* 80308B70 003047D0 48 00 00 08 */ b lbl_80308B78 -lbl_80308B74: -/* 80308B74 003047D4 38 60 00 00 */ li r3, 0 -lbl_80308B78: -/* 80308B78 003047D8 80 01 02 44 */ lwz r0, 0x244(r1) -/* 80308B7C 003047DC 83 E1 02 3C */ lwz r31, 0x23c(r1) -/* 80308B80 003047E0 83 C1 02 38 */ lwz r30, 0x238(r1) -/* 80308B84 003047E4 83 A1 02 34 */ lwz r29, 0x234(r1) -/* 80308B88 003047E8 7C 08 03 A6 */ mtlr r0 -/* 80308B8C 003047EC 38 21 02 40 */ addi r1, r1, 0x240 -/* 80308B90 003047F0 4E 80 00 20 */ blr - -.global func_80308B94 -func_80308B94: -/* 80308B94 003047F4 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 80308B98 003047F8 7C 08 02 A6 */ mflr r0 -/* 80308B9C 003047FC 2C 03 00 00 */ cmpwi r3, 0 -/* 80308BA0 00304800 90 01 00 84 */ stw r0, 0x84(r1) -/* 80308BA4 00304804 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 80308BA8 00304808 7C BF 2B 78 */ mr r31, r5 -/* 80308BAC 0030480C 93 C1 00 78 */ stw r30, 0x78(r1) -/* 80308BB0 00304810 7C 9E 23 78 */ mr r30, r4 -/* 80308BB4 00304814 93 A1 00 74 */ stw r29, 0x74(r1) -/* 80308BB8 00304818 7C 7D 1B 78 */ mr r29, r3 -/* 80308BBC 0030481C 41 82 00 14 */ beq lbl_80308BD0 -/* 80308BC0 00304820 2C 04 00 00 */ cmpwi r4, 0 -/* 80308BC4 00304824 41 82 00 0C */ beq lbl_80308BD0 -/* 80308BC8 00304828 2C 05 00 00 */ cmpwi r5, 0 -/* 80308BCC 0030482C 40 82 00 0C */ bne lbl_80308BD8 -lbl_80308BD0: -/* 80308BD0 00304830 38 60 00 01 */ li r3, 1 -/* 80308BD4 00304834 48 00 01 C0 */ b lbl_80308D94 -lbl_80308BD8: -/* 80308BD8 00304838 4B FF E1 C5 */ bl func_80306D9C -/* 80308BDC 0030483C 2C 03 00 00 */ cmpwi r3, 0 -/* 80308BE0 00304840 41 82 00 08 */ beq lbl_80308BE8 -/* 80308BE4 00304844 48 00 01 B0 */ b lbl_80308D94 -lbl_80308BE8: -/* 80308BE8 00304848 38 00 00 00 */ li r0, 0 -/* 80308BEC 0030484C 90 1F 00 00 */ stw r0, 0(r31) -/* 80308BF0 00304850 88 1E 01 FE */ lbz r0, 0x1fe(r30) -/* 80308BF4 00304854 28 00 00 55 */ cmplwi r0, 0x55 -/* 80308BF8 00304858 40 82 00 10 */ bne lbl_80308C08 -/* 80308BFC 0030485C 88 1E 01 FF */ lbz r0, 0x1ff(r30) -/* 80308C00 00304860 28 00 00 AA */ cmplwi r0, 0xaa -/* 80308C04 00304864 41 82 00 0C */ beq lbl_80308C10 -lbl_80308C08: -/* 80308C08 00304868 38 60 00 00 */ li r3, 0 -/* 80308C0C 0030486C 48 00 01 88 */ b lbl_80308D94 -lbl_80308C10: -/* 80308C10 00304870 7F C3 F3 78 */ mr r3, r30 -/* 80308C14 00304874 38 A1 00 10 */ addi r5, r1, 0x10 -/* 80308C18 00304878 38 80 00 00 */ li r4, 0 -/* 80308C1C 0030487C 4B FF FB D5 */ bl func_803087F0 -/* 80308C20 00304880 80 E1 00 24 */ lwz r7, 0x24(r1) -/* 80308C24 00304884 57 A4 06 3E */ clrlwi r4, r29, 0x18 -/* 80308C28 00304888 80 C1 00 28 */ lwz r6, 0x28(r1) -/* 80308C2C 0030488C 3C A0 80 58 */ lis r5, lbl_8057EA60@ha -/* 80308C30 00304890 20 67 FF FF */ subfic r3, r7, -1 -/* 80308C34 00304894 38 00 00 01 */ li r0, 1 -/* 80308C38 00304898 1C 84 00 34 */ mulli r4, r4, 0x34 -/* 80308C3C 0030489C 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l -/* 80308C40 003048A0 7C 06 18 40 */ cmplw r6, r3 -/* 80308C44 003048A4 7C A5 22 14 */ add r5, r5, r4 -/* 80308C48 003048A8 41 81 00 14 */ bgt lbl_80308C5C -/* 80308C4C 003048AC 80 65 01 BC */ lwz r3, 0x1bc(r5) -/* 80308C50 003048B0 7C 87 32 14 */ add r4, r7, r6 -/* 80308C54 003048B4 7C 04 18 40 */ cmplw r4, r3 -/* 80308C58 003048B8 40 81 00 10 */ ble lbl_80308C68 -lbl_80308C5C: -/* 80308C5C 003048BC 38 00 00 00 */ li r0, 0 -/* 80308C60 003048C0 90 1F 00 00 */ stw r0, 0(r31) -/* 80308C64 003048C4 48 00 00 C4 */ b lbl_80308D28 -lbl_80308C68: -/* 80308C68 003048C8 2C 07 00 00 */ cmpwi r7, 0 -/* 80308C6C 003048CC 41 82 00 08 */ beq lbl_80308C74 -/* 80308C70 003048D0 90 1F 00 00 */ stw r0, 0(r31) -lbl_80308C74: -/* 80308C74 003048D4 80 E1 00 38 */ lwz r7, 0x38(r1) -/* 80308C78 003048D8 80 C1 00 3C */ lwz r6, 0x3c(r1) -/* 80308C7C 003048DC 20 67 FF FF */ subfic r3, r7, -1 -/* 80308C80 003048E0 7C 06 18 40 */ cmplw r6, r3 -/* 80308C84 003048E4 41 81 00 14 */ bgt lbl_80308C98 -/* 80308C88 003048E8 80 65 01 BC */ lwz r3, 0x1bc(r5) -/* 80308C8C 003048EC 7C 87 32 14 */ add r4, r7, r6 -/* 80308C90 003048F0 7C 04 18 40 */ cmplw r4, r3 -/* 80308C94 003048F4 40 81 00 10 */ ble lbl_80308CA4 -lbl_80308C98: -/* 80308C98 003048F8 38 00 00 00 */ li r0, 0 -/* 80308C9C 003048FC 90 1F 00 00 */ stw r0, 0(r31) -/* 80308CA0 00304900 48 00 00 88 */ b lbl_80308D28 -lbl_80308CA4: -/* 80308CA4 00304904 2C 07 00 00 */ cmpwi r7, 0 -/* 80308CA8 00304908 41 82 00 08 */ beq lbl_80308CB0 -/* 80308CAC 0030490C 90 1F 00 00 */ stw r0, 0(r31) -lbl_80308CB0: -/* 80308CB0 00304910 80 E1 00 4C */ lwz r7, 0x4c(r1) -/* 80308CB4 00304914 80 C1 00 50 */ lwz r6, 0x50(r1) -/* 80308CB8 00304918 20 67 FF FF */ subfic r3, r7, -1 -/* 80308CBC 0030491C 7C 06 18 40 */ cmplw r6, r3 -/* 80308CC0 00304920 41 81 00 14 */ bgt lbl_80308CD4 -/* 80308CC4 00304924 80 65 01 BC */ lwz r3, 0x1bc(r5) -/* 80308CC8 00304928 7C 87 32 14 */ add r4, r7, r6 -/* 80308CCC 0030492C 7C 04 18 40 */ cmplw r4, r3 -/* 80308CD0 00304930 40 81 00 10 */ ble lbl_80308CE0 -lbl_80308CD4: -/* 80308CD4 00304934 38 00 00 00 */ li r0, 0 -/* 80308CD8 00304938 90 1F 00 00 */ stw r0, 0(r31) -/* 80308CDC 0030493C 48 00 00 4C */ b lbl_80308D28 -lbl_80308CE0: -/* 80308CE0 00304940 2C 07 00 00 */ cmpwi r7, 0 -/* 80308CE4 00304944 41 82 00 08 */ beq lbl_80308CEC -/* 80308CE8 00304948 90 1F 00 00 */ stw r0, 0(r31) -lbl_80308CEC: -/* 80308CEC 0030494C 80 E1 00 60 */ lwz r7, 0x60(r1) -/* 80308CF0 00304950 80 C1 00 64 */ lwz r6, 0x64(r1) -/* 80308CF4 00304954 20 67 FF FF */ subfic r3, r7, -1 -/* 80308CF8 00304958 7C 06 18 40 */ cmplw r6, r3 -/* 80308CFC 0030495C 41 81 00 14 */ bgt lbl_80308D10 -/* 80308D00 00304960 80 65 01 BC */ lwz r3, 0x1bc(r5) -/* 80308D04 00304964 7C 87 32 14 */ add r4, r7, r6 -/* 80308D08 00304968 7C 04 18 40 */ cmplw r4, r3 -/* 80308D0C 0030496C 40 81 00 10 */ ble lbl_80308D1C -lbl_80308D10: -/* 80308D10 00304970 38 00 00 00 */ li r0, 0 -/* 80308D14 00304974 90 1F 00 00 */ stw r0, 0(r31) -/* 80308D18 00304978 48 00 00 10 */ b lbl_80308D28 -lbl_80308D1C: -/* 80308D1C 0030497C 2C 07 00 00 */ cmpwi r7, 0 -/* 80308D20 00304980 41 82 00 08 */ beq lbl_80308D28 -/* 80308D24 00304984 90 1F 00 00 */ stw r0, 0(r31) -lbl_80308D28: -/* 80308D28 00304988 80 1F 00 00 */ lwz r0, 0(r31) -/* 80308D2C 0030498C 2C 00 00 00 */ cmpwi r0, 0 -/* 80308D30 00304990 40 82 00 60 */ bne lbl_80308D90 -/* 80308D34 00304994 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80308D38 00304998 2C 00 00 00 */ cmpwi r0, 0 -/* 80308D3C 0030499C 40 82 00 54 */ bne lbl_80308D90 -/* 80308D40 003049A0 80 01 00 38 */ lwz r0, 0x38(r1) -/* 80308D44 003049A4 2C 00 00 00 */ cmpwi r0, 0 -/* 80308D48 003049A8 40 82 00 48 */ bne lbl_80308D90 -/* 80308D4C 003049AC 80 01 00 4C */ lwz r0, 0x4c(r1) -/* 80308D50 003049B0 2C 00 00 00 */ cmpwi r0, 0 -/* 80308D54 003049B4 40 82 00 3C */ bne lbl_80308D90 -/* 80308D58 003049B8 80 01 00 60 */ lwz r0, 0x60(r1) -/* 80308D5C 003049BC 2C 00 00 00 */ cmpwi r0, 0 -/* 80308D60 003049C0 40 82 00 30 */ bne lbl_80308D90 -/* 80308D64 003049C4 7F C3 F3 78 */ mr r3, r30 -/* 80308D68 003049C8 38 81 00 08 */ addi r4, r1, 8 -/* 80308D6C 003049CC 4B FF DB C1 */ bl func_8030692C -/* 80308D70 003049D0 80 01 00 08 */ lwz r0, 8(r1) -/* 80308D74 003049D4 2C 00 00 00 */ cmpwi r0, 0 -/* 80308D78 003049D8 40 82 00 10 */ bne lbl_80308D88 -/* 80308D7C 003049DC 38 00 00 01 */ li r0, 1 -/* 80308D80 003049E0 90 1F 00 00 */ stw r0, 0(r31) -/* 80308D84 003049E4 48 00 00 0C */ b lbl_80308D90 -lbl_80308D88: -/* 80308D88 003049E8 38 00 00 00 */ li r0, 0 -/* 80308D8C 003049EC 90 1F 00 00 */ stw r0, 0(r31) -lbl_80308D90: -/* 80308D90 003049F0 38 60 00 00 */ li r3, 0 -lbl_80308D94: -/* 80308D94 003049F4 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80308D98 003049F8 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 80308D9C 003049FC 83 C1 00 78 */ lwz r30, 0x78(r1) -/* 80308DA0 00304A00 83 A1 00 74 */ lwz r29, 0x74(r1) -/* 80308DA4 00304A04 7C 08 03 A6 */ mtlr r0 -/* 80308DA8 00304A08 38 21 00 80 */ addi r1, r1, 0x80 -/* 80308DAC 00304A0C 4E 80 00 20 */ blr - -.global func_80308DB0 -func_80308DB0: -/* 80308DB0 00304A10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80308DB4 00304A14 7C 08 02 A6 */ mflr r0 -/* 80308DB8 00304A18 38 80 00 00 */ li r4, 0 -/* 80308DBC 00304A1C 38 A0 0B 64 */ li r5, 0xb64 -/* 80308DC0 00304A20 90 01 00 14 */ stw r0, 0x14(r1) -/* 80308DC4 00304A24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80308DC8 00304A28 3F E0 80 58 */ lis r31, lbl_8057EA60@ha -/* 80308DCC 00304A2C 38 7F EA 60 */ addi r3, r31, lbl_8057EA60@l -/* 80308DD0 00304A30 4B FF C2 05 */ bl func_80304FD4 -/* 80308DD4 00304A34 38 FF EA 60 */ addi r7, r31, -5536 -/* 80308DD8 00304A38 38 C0 00 00 */ li r6, 0 -/* 80308DDC 00304A3C 90 C7 01 B8 */ stw r6, 0x1b8(r7) -/* 80308DE0 00304A40 38 00 00 18 */ li r0, 0x18 -/* 80308DE4 00304A44 1C 60 00 34 */ mulli r3, r0, 0x34 -/* 80308DE8 00304A48 90 C7 01 EC */ stw r6, 0x1ec(r7) -/* 80308DEC 00304A4C 90 C7 02 20 */ stw r6, 0x220(r7) -/* 80308DF0 00304A50 7C A7 1A 14 */ add r5, r7, r3 -/* 80308DF4 00304A54 1C 00 00 2C */ mulli r0, r0, 0x2c -/* 80308DF8 00304A58 38 60 00 00 */ li r3, 0 -/* 80308DFC 00304A5C 90 C7 02 54 */ stw r6, 0x254(r7) -/* 80308E00 00304A60 90 C7 02 88 */ stw r6, 0x288(r7) -/* 80308E04 00304A64 7C 87 02 14 */ add r4, r7, r0 -/* 80308E08 00304A68 90 C7 02 BC */ stw r6, 0x2bc(r7) -/* 80308E0C 00304A6C 90 C7 02 F0 */ stw r6, 0x2f0(r7) -/* 80308E10 00304A70 90 C7 03 24 */ stw r6, 0x324(r7) -/* 80308E14 00304A74 90 C7 03 58 */ stw r6, 0x358(r7) -/* 80308E18 00304A78 90 C7 03 8C */ stw r6, 0x38c(r7) -/* 80308E1C 00304A7C 90 C7 03 C0 */ stw r6, 0x3c0(r7) -/* 80308E20 00304A80 90 C7 03 F4 */ stw r6, 0x3f4(r7) -/* 80308E24 00304A84 90 C7 04 28 */ stw r6, 0x428(r7) -/* 80308E28 00304A88 90 C7 04 5C */ stw r6, 0x45c(r7) -/* 80308E2C 00304A8C 90 C7 04 90 */ stw r6, 0x490(r7) -/* 80308E30 00304A90 90 C7 04 C4 */ stw r6, 0x4c4(r7) -/* 80308E34 00304A94 90 C7 04 F8 */ stw r6, 0x4f8(r7) -/* 80308E38 00304A98 90 C7 05 2C */ stw r6, 0x52c(r7) -/* 80308E3C 00304A9C 90 C7 05 60 */ stw r6, 0x560(r7) -/* 80308E40 00304AA0 90 C7 05 94 */ stw r6, 0x594(r7) -/* 80308E44 00304AA4 90 C7 05 C8 */ stw r6, 0x5c8(r7) -/* 80308E48 00304AA8 90 C7 05 FC */ stw r6, 0x5fc(r7) -/* 80308E4C 00304AAC 90 C7 06 30 */ stw r6, 0x630(r7) -/* 80308E50 00304AB0 90 C7 06 64 */ stw r6, 0x664(r7) -/* 80308E54 00304AB4 90 C5 01 B8 */ stw r6, 0x1b8(r5) -/* 80308E58 00304AB8 90 C5 01 EC */ stw r6, 0x1ec(r5) -/* 80308E5C 00304ABC 90 C7 06 FC */ stw r6, 0x6fc(r7) -/* 80308E60 00304AC0 90 C7 07 28 */ stw r6, 0x728(r7) -/* 80308E64 00304AC4 90 C7 07 54 */ stw r6, 0x754(r7) -/* 80308E68 00304AC8 90 C7 07 80 */ stw r6, 0x780(r7) -/* 80308E6C 00304ACC 90 C7 07 AC */ stw r6, 0x7ac(r7) -/* 80308E70 00304AD0 90 C7 07 D8 */ stw r6, 0x7d8(r7) -/* 80308E74 00304AD4 90 C7 08 04 */ stw r6, 0x804(r7) -/* 80308E78 00304AD8 90 C7 08 30 */ stw r6, 0x830(r7) -/* 80308E7C 00304ADC 90 C7 08 5C */ stw r6, 0x85c(r7) -/* 80308E80 00304AE0 90 C7 08 88 */ stw r6, 0x888(r7) -/* 80308E84 00304AE4 90 C7 08 B4 */ stw r6, 0x8b4(r7) -/* 80308E88 00304AE8 90 C7 08 E0 */ stw r6, 0x8e0(r7) -/* 80308E8C 00304AEC 90 C7 09 0C */ stw r6, 0x90c(r7) -/* 80308E90 00304AF0 90 C7 09 38 */ stw r6, 0x938(r7) -/* 80308E94 00304AF4 90 C7 09 64 */ stw r6, 0x964(r7) -/* 80308E98 00304AF8 90 C7 09 90 */ stw r6, 0x990(r7) -/* 80308E9C 00304AFC 90 C7 09 BC */ stw r6, 0x9bc(r7) -/* 80308EA0 00304B00 90 C7 09 E8 */ stw r6, 0x9e8(r7) -/* 80308EA4 00304B04 90 C7 0A 14 */ stw r6, 0xa14(r7) -/* 80308EA8 00304B08 90 C7 0A 40 */ stw r6, 0xa40(r7) -/* 80308EAC 00304B0C 90 C7 0A 6C */ stw r6, 0xa6c(r7) -/* 80308EB0 00304B10 90 C7 0A 98 */ stw r6, 0xa98(r7) -/* 80308EB4 00304B14 90 C7 0A C4 */ stw r6, 0xac4(r7) -/* 80308EB8 00304B18 90 C7 0A F0 */ stw r6, 0xaf0(r7) -/* 80308EBC 00304B1C 90 C4 06 FC */ stw r6, 0x6fc(r4) -/* 80308EC0 00304B20 90 C4 07 28 */ stw r6, 0x728(r4) -/* 80308EC4 00304B24 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80308EC8 00304B28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80308ECC 00304B2C 7C 08 03 A6 */ mtlr r0 -/* 80308ED0 00304B30 38 21 00 10 */ addi r1, r1, 0x10 -/* 80308ED4 00304B34 4E 80 00 20 */ blr - -.global func_80308ED8 -func_80308ED8: -/* 80308ED8 00304B38 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80308EDC 00304B3C 7C 08 02 A6 */ mflr r0 -/* 80308EE0 00304B40 90 01 00 34 */ stw r0, 0x34(r1) -/* 80308EE4 00304B44 39 61 00 30 */ addi r11, r1, 0x30 -/* 80308EE8 00304B48 4B EB E2 39 */ bl _savegpr_25 -/* 80308EEC 00304B4C 90 A4 00 00 */ stw r5, 0(r4) -/* 80308EF0 00304B50 28 09 00 01 */ cmplwi r9, 1 -/* 80308EF4 00304B54 A0 03 00 00 */ lhz r0, 0(r3) -/* 80308EF8 00304B58 7C 00 4E 70 */ srawi r0, r0, 9 -/* 80308EFC 00304B5C 7D 80 41 D6 */ mullw r12, r0, r8 -/* 80308F00 00304B60 40 82 00 10 */ bne lbl_80308F10 -/* 80308F04 00304B64 7C 07 63 96 */ divwu r0, r7, r12 -/* 80308F08 00304B68 28 00 00 01 */ cmplwi r0, 1 -/* 80308F0C 00304B6C 41 80 00 18 */ blt lbl_80308F24 -lbl_80308F10: -/* 80308F10 00304B70 2C 09 00 00 */ cmpwi r9, 0 -/* 80308F14 00304B74 40 82 00 18 */ bne lbl_80308F2C -/* 80308F18 00304B78 7C 07 63 96 */ divwu r0, r7, r12 -/* 80308F1C 00304B7C 28 00 00 02 */ cmplwi r0, 2 -/* 80308F20 00304B80 40 80 00 0C */ bge lbl_80308F2C -lbl_80308F24: -/* 80308F24 00304B84 38 60 00 1E */ li r3, 0x1e -/* 80308F28 00304B88 48 00 02 18 */ b lbl_80309140 -lbl_80308F2C: -/* 80308F2C 00304B8C 7C 07 63 96 */ divwu r0, r7, r12 -/* 80308F30 00304B90 28 00 00 01 */ cmplwi r0, 1 -/* 80308F34 00304B94 40 82 00 64 */ bne lbl_80308F98 -/* 80308F38 00304B98 A0 05 00 00 */ lhz r0, 0(r5) -/* 80308F3C 00304B9C 38 80 00 00 */ li r4, 0 -/* 80308F40 00304BA0 38 60 FF FF */ li r3, -1 -/* 80308F44 00304BA4 2C 09 00 00 */ cmpwi r9, 0 -/* 80308F48 00304BA8 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d -/* 80308F4C 00304BAC 90 A5 00 24 */ stw r5, 0x24(r5) -/* 80308F50 00304BB0 90 A5 00 20 */ stw r5, 0x20(r5) -/* 80308F54 00304BB4 90 C5 00 04 */ stw r6, 4(r5) -/* 80308F58 00304BB8 90 C5 00 08 */ stw r6, 8(r5) -/* 80308F5C 00304BBC 90 85 00 0C */ stw r4, 0xc(r5) -/* 80308F60 00304BC0 90 85 00 10 */ stw r4, 0x10(r5) -/* 80308F64 00304BC4 91 05 00 14 */ stw r8, 0x14(r5) -/* 80308F68 00304BC8 90 65 00 18 */ stw r3, 0x18(r5) -/* 80308F6C 00304BCC B0 85 00 02 */ sth r4, 2(r5) -/* 80308F70 00304BD0 90 85 00 1C */ stw r4, 0x1c(r5) -/* 80308F74 00304BD4 B0 05 00 00 */ sth r0, 0(r5) -/* 80308F78 00304BD8 41 82 00 10 */ beq lbl_80308F88 -/* 80308F7C 00304BDC 60 00 00 04 */ ori r0, r0, 4 -/* 80308F80 00304BE0 B0 05 00 00 */ sth r0, 0(r5) -/* 80308F84 00304BE4 48 00 00 0C */ b lbl_80308F90 -lbl_80308F88: -/* 80308F88 00304BE8 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 80308F8C 00304BEC B0 05 00 00 */ sth r0, 0(r5) -lbl_80308F90: -/* 80308F90 00304BF0 38 60 00 00 */ li r3, 0 -/* 80308F94 00304BF4 48 00 01 AC */ b lbl_80309140 -lbl_80308F98: -/* 80308F98 00304BF8 7C 60 61 D6 */ mullw r3, r0, r12 -/* 80308F9C 00304BFC 3B C0 00 00 */ li r30, 0 -/* 80308FA0 00304C00 A0 05 00 00 */ lhz r0, 0(r5) -/* 80308FA4 00304C04 3B A0 FF FF */ li r29, -1 -/* 80308FA8 00304C08 2C 09 00 00 */ cmpwi r9, 0 -/* 80308FAC 00304C0C 90 C5 00 04 */ stw r6, 4(r5) -/* 80308FB0 00304C10 54 1C 04 3A */ rlwinm r28, r0, 0, 0x10, 0x1d -/* 80308FB4 00304C14 7D 63 38 50 */ subf r11, r3, r7 -/* 80308FB8 00304C18 7C 0B 38 50 */ subf r0, r11, r7 -/* 80308FBC 00304C1C 90 C5 00 08 */ stw r6, 8(r5) -/* 80308FC0 00304C20 7D 4C 00 50 */ subf r10, r12, r0 -/* 80308FC4 00304C24 1C 6A 00 28 */ mulli r3, r10, 0x28 -/* 80308FC8 00304C28 93 C5 00 0C */ stw r30, 0xc(r5) -/* 80308FCC 00304C2C 93 C5 00 10 */ stw r30, 0x10(r5) -/* 80308FD0 00304C30 7C 85 1A 14 */ add r4, r5, r3 -/* 80308FD4 00304C34 1C 0C 00 28 */ mulli r0, r12, 0x28 -/* 80308FD8 00304C38 91 05 00 14 */ stw r8, 0x14(r5) -/* 80308FDC 00304C3C 90 85 00 24 */ stw r4, 0x24(r5) -/* 80308FE0 00304C40 7C 65 02 14 */ add r3, r5, r0 -/* 80308FE4 00304C44 90 65 00 20 */ stw r3, 0x20(r5) -/* 80308FE8 00304C48 93 A5 00 18 */ stw r29, 0x18(r5) -/* 80308FEC 00304C4C B3 C5 00 02 */ sth r30, 2(r5) -/* 80308FF0 00304C50 93 C5 00 1C */ stw r30, 0x1c(r5) -/* 80308FF4 00304C54 B3 85 00 00 */ sth r28, 0(r5) -/* 80308FF8 00304C58 41 82 00 10 */ beq lbl_80309008 -/* 80308FFC 00304C5C 63 9C 00 04 */ ori r28, r28, 4 -/* 80309000 00304C60 B3 85 00 00 */ sth r28, 0(r5) -/* 80309004 00304C64 48 00 00 0C */ b lbl_80309010 -lbl_80309008: -/* 80309008 00304C68 57 9C 07 B8 */ rlwinm r28, r28, 0, 0x1e, 0x1c -/* 8030900C 00304C6C B3 85 00 00 */ sth r28, 0(r5) -lbl_80309010: -/* 80309010 00304C70 55 9A 48 2C */ slwi r26, r12, 9 -/* 80309014 00304C74 7D 99 63 78 */ mr r25, r12 -/* 80309018 00304C78 3B A0 00 00 */ li r29, 0 -/* 8030901C 00304C7C 3B C0 FF FF */ li r30, -1 -/* 80309020 00304C80 7F 66 D2 14 */ add r27, r6, r26 -/* 80309024 00304C84 48 00 00 80 */ b lbl_803090A4 -lbl_80309028: -/* 80309028 00304C88 7F 8C C8 50 */ subf r28, r12, r25 -/* 8030902C 00304C8C 7F F9 62 14 */ add r31, r25, r12 -/* 80309030 00304C90 1F 9C 00 28 */ mulli r28, r28, 0x28 -/* 80309034 00304C94 2C 09 00 00 */ cmpwi r9, 0 -/* 80309038 00304C98 1F FF 00 28 */ mulli r31, r31, 0x28 -/* 8030903C 00304C9C 7F 85 E2 14 */ add r28, r5, r28 -/* 80309040 00304CA0 93 83 00 24 */ stw r28, 0x24(r3) -/* 80309044 00304CA4 7F E5 FA 14 */ add r31, r5, r31 -/* 80309048 00304CA8 93 E3 00 20 */ stw r31, 0x20(r3) -/* 8030904C 00304CAC 93 63 00 04 */ stw r27, 4(r3) -/* 80309050 00304CB0 93 63 00 08 */ stw r27, 8(r3) -/* 80309054 00304CB4 93 A3 00 0C */ stw r29, 0xc(r3) -/* 80309058 00304CB8 93 A3 00 10 */ stw r29, 0x10(r3) -/* 8030905C 00304CBC 91 03 00 14 */ stw r8, 0x14(r3) -/* 80309060 00304CC0 93 C3 00 18 */ stw r30, 0x18(r3) -/* 80309064 00304CC4 B3 A3 00 02 */ sth r29, 2(r3) -/* 80309068 00304CC8 93 A3 00 1C */ stw r29, 0x1c(r3) -/* 8030906C 00304CCC A3 E3 00 00 */ lhz r31, 0(r3) -/* 80309070 00304CD0 57 FF 04 3A */ rlwinm r31, r31, 0, 0x10, 0x1d -/* 80309074 00304CD4 B3 E3 00 00 */ sth r31, 0(r3) -/* 80309078 00304CD8 41 82 00 14 */ beq lbl_8030908C -/* 8030907C 00304CDC A3 E3 00 00 */ lhz r31, 0(r3) -/* 80309080 00304CE0 63 FF 00 04 */ ori r31, r31, 4 -/* 80309084 00304CE4 B3 E3 00 00 */ sth r31, 0(r3) -/* 80309088 00304CE8 48 00 00 10 */ b lbl_80309098 -lbl_8030908C: -/* 8030908C 00304CEC A3 E3 00 00 */ lhz r31, 0(r3) -/* 80309090 00304CF0 57 FF 07 B8 */ rlwinm r31, r31, 0, 0x1e, 0x1c -/* 80309094 00304CF4 B3 E3 00 00 */ sth r31, 0(r3) -lbl_80309098: -/* 80309098 00304CF8 7C 63 02 14 */ add r3, r3, r0 -/* 8030909C 00304CFC 7F 7B D2 14 */ add r27, r27, r26 -/* 803090A0 00304D00 7F 39 62 14 */ add r25, r25, r12 -lbl_803090A4: -/* 803090A4 00304D04 7C 19 50 40 */ cmplw r25, r10 -/* 803090A8 00304D08 41 80 FF 80 */ blt lbl_80309028 -/* 803090AC 00304D0C 55 80 08 3C */ slwi r0, r12, 1 -/* 803090B0 00304D10 7D 4B 38 50 */ subf r10, r11, r7 -/* 803090B4 00304D14 7C 00 00 D0 */ neg r0, r0 -/* 803090B8 00304D18 2C 09 00 00 */ cmpwi r9, 0 -/* 803090BC 00304D1C 7C 0B 00 50 */ subf r0, r11, r0 -/* 803090C0 00304D20 7D 6C 50 50 */ subf r11, r12, r10 -/* 803090C4 00304D24 7D 40 3A 14 */ add r10, r0, r7 -/* 803090C8 00304D28 38 60 00 00 */ li r3, 0 -/* 803090CC 00304D2C 55 67 48 2C */ slwi r7, r11, 9 -/* 803090D0 00304D30 38 00 FF FF */ li r0, -1 -/* 803090D4 00304D34 7D 26 3A 14 */ add r9, r6, r7 -/* 803090D8 00304D38 1D 8B 00 28 */ mulli r12, r11, 0x28 -/* 803090DC 00304D3C 1C EA 00 28 */ mulli r7, r10, 0x28 -/* 803090E0 00304D40 7C C5 62 14 */ add r6, r5, r12 -/* 803090E4 00304D44 7C E5 3A 14 */ add r7, r5, r7 -/* 803090E8 00304D48 90 E6 00 24 */ stw r7, 0x24(r6) -/* 803090EC 00304D4C 90 A6 00 20 */ stw r5, 0x20(r6) -/* 803090F0 00304D50 91 26 00 04 */ stw r9, 4(r6) -/* 803090F4 00304D54 91 26 00 08 */ stw r9, 8(r6) -/* 803090F8 00304D58 90 66 00 0C */ stw r3, 0xc(r6) -/* 803090FC 00304D5C 90 66 00 10 */ stw r3, 0x10(r6) -/* 80309100 00304D60 91 06 00 14 */ stw r8, 0x14(r6) -/* 80309104 00304D64 90 06 00 18 */ stw r0, 0x18(r6) -/* 80309108 00304D68 B0 66 00 02 */ sth r3, 2(r6) -/* 8030910C 00304D6C 90 66 00 1C */ stw r3, 0x1c(r6) -/* 80309110 00304D70 A0 04 00 00 */ lhz r0, 0(r4) -/* 80309114 00304D74 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d -/* 80309118 00304D78 B0 04 00 00 */ sth r0, 0(r4) -/* 8030911C 00304D7C 41 82 00 14 */ beq lbl_80309130 -/* 80309120 00304D80 A0 04 00 00 */ lhz r0, 0(r4) -/* 80309124 00304D84 60 00 00 04 */ ori r0, r0, 4 -/* 80309128 00304D88 B0 04 00 00 */ sth r0, 0(r4) -/* 8030912C 00304D8C 48 00 00 10 */ b lbl_8030913C -lbl_80309130: -/* 80309130 00304D90 A0 04 00 00 */ lhz r0, 0(r4) -/* 80309134 00304D94 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 80309138 00304D98 B0 04 00 00 */ sth r0, 0(r4) -lbl_8030913C: -/* 8030913C 00304D9C 38 60 00 00 */ li r3, 0 -lbl_80309140: -/* 80309140 00304DA0 39 61 00 30 */ addi r11, r1, 0x30 -/* 80309144 00304DA4 4B EB E0 29 */ bl _restgpr_25 -/* 80309148 00304DA8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030914C 00304DAC 7C 08 03 A6 */ mtlr r0 -/* 80309150 00304DB0 38 21 00 30 */ addi r1, r1, 0x30 -/* 80309154 00304DB4 4E 80 00 20 */ blr - -.global func_80309158 -func_80309158: -/* 80309158 00304DB8 3C 05 00 01 */ addis r0, r5, 1 -/* 8030915C 00304DBC 28 00 FF FF */ cmplwi r0, 0xffff -/* 80309160 00304DC0 40 82 00 0C */ bne lbl_8030916C -/* 80309164 00304DC4 38 60 00 00 */ li r3, 0 -/* 80309168 00304DC8 4E 80 00 20 */ blr -lbl_8030916C: -/* 8030916C 00304DCC A0 04 00 00 */ lhz r0, 0(r4) -/* 80309170 00304DD0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80309174 00304DD4 40 82 00 0C */ bne lbl_80309180 -/* 80309178 00304DD8 38 60 00 00 */ li r3, 0 -/* 8030917C 00304DDC 4E 80 00 20 */ blr -lbl_80309180: -/* 80309180 00304DE0 80 E4 00 18 */ lwz r7, 0x18(r4) -/* 80309184 00304DE4 7C 07 28 40 */ cmplw r7, r5 -/* 80309188 00304DE8 41 81 00 38 */ bgt lbl_803091C0 -/* 8030918C 00304DEC 80 04 00 14 */ lwz r0, 0x14(r4) -/* 80309190 00304DF0 7C C7 02 14 */ add r6, r7, r0 -/* 80309194 00304DF4 38 06 FF FF */ addi r0, r6, -1 -/* 80309198 00304DF8 7C 00 28 40 */ cmplw r0, r5 -/* 8030919C 00304DFC 41 80 00 24 */ blt lbl_803091C0 -/* 803091A0 00304E00 88 03 00 20 */ lbz r0, 0x20(r3) -/* 803091A4 00304E04 7C A7 28 50 */ subf r5, r7, r5 -/* 803091A8 00304E08 80 C4 00 04 */ lwz r6, 4(r4) -/* 803091AC 00304E0C 7C 83 23 78 */ mr r3, r4 -/* 803091B0 00304E10 7C A0 00 30 */ slw r0, r5, r0 -/* 803091B4 00304E14 7C 06 02 14 */ add r0, r6, r0 -/* 803091B8 00304E18 90 04 00 08 */ stw r0, 8(r4) -/* 803091BC 00304E1C 4E 80 00 20 */ blr -lbl_803091C0: -/* 803091C0 00304E20 81 04 00 20 */ lwz r8, 0x20(r4) -/* 803091C4 00304E24 48 00 00 5C */ b lbl_80309220 -lbl_803091C8: -/* 803091C8 00304E28 A0 08 00 00 */ lhz r0, 0(r8) -/* 803091CC 00304E2C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 803091D0 00304E30 40 82 00 0C */ bne lbl_803091DC -/* 803091D4 00304E34 38 60 00 00 */ li r3, 0 -/* 803091D8 00304E38 4E 80 00 20 */ blr -lbl_803091DC: -/* 803091DC 00304E3C 80 E8 00 18 */ lwz r7, 0x18(r8) -/* 803091E0 00304E40 7C 07 28 40 */ cmplw r7, r5 -/* 803091E4 00304E44 41 81 00 38 */ bgt lbl_8030921C -/* 803091E8 00304E48 80 08 00 14 */ lwz r0, 0x14(r8) -/* 803091EC 00304E4C 7C C7 02 14 */ add r6, r7, r0 -/* 803091F0 00304E50 38 06 FF FF */ addi r0, r6, -1 -/* 803091F4 00304E54 7C 00 28 40 */ cmplw r0, r5 -/* 803091F8 00304E58 41 80 00 24 */ blt lbl_8030921C -/* 803091FC 00304E5C 88 03 00 20 */ lbz r0, 0x20(r3) -/* 80309200 00304E60 7C 87 28 50 */ subf r4, r7, r5 -/* 80309204 00304E64 80 A8 00 04 */ lwz r5, 4(r8) -/* 80309208 00304E68 7D 03 43 78 */ mr r3, r8 -/* 8030920C 00304E6C 7C 80 00 30 */ slw r0, r4, r0 -/* 80309210 00304E70 7C 05 02 14 */ add r0, r5, r0 -/* 80309214 00304E74 90 08 00 08 */ stw r0, 8(r8) -/* 80309218 00304E78 4E 80 00 20 */ blr -lbl_8030921C: -/* 8030921C 00304E7C 81 08 00 20 */ lwz r8, 0x20(r8) -lbl_80309220: -/* 80309220 00304E80 7C 08 20 40 */ cmplw r8, r4 -/* 80309224 00304E84 40 82 FF A4 */ bne lbl_803091C8 -/* 80309228 00304E88 38 60 00 00 */ li r3, 0 -/* 8030922C 00304E8C 4E 80 00 20 */ blr - -.global func_80309230 -func_80309230: -/* 80309230 00304E90 80 C3 00 24 */ lwz r6, 0x24(r3) -/* 80309234 00304E94 48 00 00 3C */ b lbl_80309270 -lbl_80309238: -/* 80309238 00304E98 A0 06 00 00 */ lhz r0, 0(r6) -/* 8030923C 00304E9C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80309240 00304EA0 40 82 00 10 */ bne lbl_80309250 -/* 80309244 00304EA4 90 C4 00 00 */ stw r6, 0(r4) -/* 80309248 00304EA8 38 60 00 01 */ li r3, 1 -/* 8030924C 00304EAC 4E 80 00 20 */ blr -lbl_80309250: -/* 80309250 00304EB0 80 A6 00 18 */ lwz r5, 0x18(r6) -/* 80309254 00304EB4 3C 05 00 01 */ addis r0, r5, 1 -/* 80309258 00304EB8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030925C 00304EBC 41 82 00 10 */ beq lbl_8030926C -/* 80309260 00304EC0 90 C4 00 00 */ stw r6, 0(r4) -/* 80309264 00304EC4 38 60 00 00 */ li r3, 0 -/* 80309268 00304EC8 4E 80 00 20 */ blr -lbl_8030926C: -/* 8030926C 00304ECC 80 C6 00 24 */ lwz r6, 0x24(r6) -lbl_80309270: -/* 80309270 00304ED0 7C 06 18 40 */ cmplw r6, r3 -/* 80309274 00304ED4 40 82 FF C4 */ bne lbl_80309238 -/* 80309278 00304ED8 A0 06 00 00 */ lhz r0, 0(r6) -/* 8030927C 00304EDC 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80309280 00304EE0 40 82 00 10 */ bne lbl_80309290 -/* 80309284 00304EE4 90 C4 00 00 */ stw r6, 0(r4) -/* 80309288 00304EE8 38 60 00 01 */ li r3, 1 -/* 8030928C 00304EEC 4E 80 00 20 */ blr -lbl_80309290: -/* 80309290 00304EF0 80 66 00 18 */ lwz r3, 0x18(r6) -/* 80309294 00304EF4 3C 03 00 01 */ addis r0, r3, 1 -/* 80309298 00304EF8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030929C 00304EFC 41 82 00 10 */ beq lbl_803092AC -/* 803092A0 00304F00 90 C4 00 00 */ stw r6, 0(r4) -/* 803092A4 00304F04 38 60 00 00 */ li r3, 0 -/* 803092A8 00304F08 4E 80 00 20 */ blr -lbl_803092AC: -/* 803092AC 00304F0C 38 00 00 00 */ li r0, 0 -/* 803092B0 00304F10 38 60 00 00 */ li r3, 0 -/* 803092B4 00304F14 90 04 00 00 */ stw r0, 0(r4) -/* 803092B8 00304F18 4E 80 00 20 */ blr - -.global func_803092BC -func_803092BC: -/* 803092BC 00304F1C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803092C0 00304F20 7C 08 02 A6 */ mflr r0 -/* 803092C4 00304F24 90 01 00 34 */ stw r0, 0x34(r1) -/* 803092C8 00304F28 39 61 00 30 */ addi r11, r1, 0x30 -/* 803092CC 00304F2C 4B EB DE 5D */ bl _savegpr_27 -/* 803092D0 00304F30 2C 04 00 00 */ cmpwi r4, 0 -/* 803092D4 00304F34 7C 7E 1B 78 */ mr r30, r3 -/* 803092D8 00304F38 7C 9F 23 78 */ mr r31, r4 -/* 803092DC 00304F3C 41 82 00 C4 */ beq lbl_803093A0 -/* 803092E0 00304F40 A0 04 00 00 */ lhz r0, 0(r4) -/* 803092E4 00304F44 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 803092E8 00304F48 41 82 00 B8 */ beq lbl_803093A0 -/* 803092EC 00304F4C 81 04 00 18 */ lwz r8, 0x18(r4) -/* 803092F0 00304F50 3C 08 00 01 */ addis r0, r8, 1 -/* 803092F4 00304F54 28 00 FF FF */ cmplwi r0, 0xffff -/* 803092F8 00304F58 41 82 00 A8 */ beq lbl_803093A0 -/* 803092FC 00304F5C 83 A4 00 0C */ lwz r29, 0xc(r4) -/* 80309300 00304F60 38 E1 00 08 */ addi r7, r1, 8 -/* 80309304 00304F64 89 23 00 20 */ lbz r9, 0x20(r3) -/* 80309308 00304F68 80 C4 00 04 */ lwz r6, 4(r4) -/* 8030930C 00304F6C 80 04 00 10 */ lwz r0, 0x10(r4) -/* 80309310 00304F70 7F A5 4C 30 */ srw r5, r29, r9 -/* 80309314 00304F74 7C C6 E8 50 */ subf r6, r6, r29 -/* 80309318 00304F78 7F A4 EB 78 */ mr r4, r29 -/* 8030931C 00304F7C 7C 00 4C 30 */ srw r0, r0, r9 -/* 80309320 00304F80 7C C6 4C 30 */ srw r6, r6, r9 -/* 80309324 00304F84 7C A5 00 50 */ subf r5, r5, r0 -/* 80309328 00304F88 7F 68 32 14 */ add r27, r8, r6 -/* 8030932C 00304F8C 3B 85 00 01 */ addi r28, r5, 1 -/* 80309330 00304F90 7F 65 DB 78 */ mr r5, r27 -/* 80309334 00304F94 7F 86 E3 78 */ mr r6, r28 -/* 80309338 00304F98 4B FF CF 09 */ bl func_80306240 -/* 8030933C 00304F9C 2C 03 00 00 */ cmpwi r3, 0 -/* 80309340 00304FA0 41 82 00 08 */ beq lbl_80309348 -/* 80309344 00304FA4 48 00 00 60 */ b lbl_803093A4 -lbl_80309348: -/* 80309348 00304FA8 80 01 00 08 */ lwz r0, 8(r1) -/* 8030934C 00304FAC 7C 00 E0 40 */ cmplw r0, r28 -/* 80309350 00304FB0 41 82 00 0C */ beq lbl_8030935C -/* 80309354 00304FB4 38 60 00 11 */ li r3, 0x11 -/* 80309358 00304FB8 48 00 00 4C */ b lbl_803093A4 -lbl_8030935C: -/* 8030935C 00304FBC A0 1F 00 00 */ lhz r0, 0(r31) -/* 80309360 00304FC0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80309364 00304FC4 41 82 00 24 */ beq lbl_80309388 -/* 80309368 00304FC8 7F C3 F3 78 */ mr r3, r30 -/* 8030936C 00304FCC 7F A4 EB 78 */ mr r4, r29 -/* 80309370 00304FD0 7F 65 DB 78 */ mr r5, r27 -/* 80309374 00304FD4 7F 86 E3 78 */ mr r6, r28 -/* 80309378 00304FD8 48 00 6B 2D */ bl func_8030FEA4 -/* 8030937C 00304FDC 2C 03 00 00 */ cmpwi r3, 0 -/* 80309380 00304FE0 41 82 00 08 */ beq lbl_80309388 -/* 80309384 00304FE4 48 00 00 20 */ b lbl_803093A4 -lbl_80309388: -/* 80309388 00304FE8 A0 1F 00 00 */ lhz r0, 0(r31) -/* 8030938C 00304FEC 38 60 00 00 */ li r3, 0 -/* 80309390 00304FF0 90 7F 00 0C */ stw r3, 0xc(r31) -/* 80309394 00304FF4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 80309398 00304FF8 90 7F 00 10 */ stw r3, 0x10(r31) -/* 8030939C 00304FFC B0 1F 00 00 */ sth r0, 0(r31) -lbl_803093A0: -/* 803093A0 00305000 38 60 00 00 */ li r3, 0 -lbl_803093A4: -/* 803093A4 00305004 39 61 00 30 */ addi r11, r1, 0x30 -/* 803093A8 00305008 4B EB DD CD */ bl _restgpr_27 -/* 803093AC 0030500C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803093B0 00305010 7C 08 03 A6 */ mtlr r0 -/* 803093B4 00305014 38 21 00 30 */ addi r1, r1, 0x30 -/* 803093B8 00305018 4E 80 00 20 */ blr - -.global func_803093BC -func_803093BC: -/* 803093BC 0030501C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803093C0 00305020 7C 08 02 A6 */ mflr r0 -/* 803093C4 00305024 90 01 00 34 */ stw r0, 0x34(r1) -/* 803093C8 00305028 39 61 00 30 */ addi r11, r1, 0x30 -/* 803093CC 0030502C 4B EB DD 55 */ bl _savegpr_25 -/* 803093D0 00305030 7C 9D 23 78 */ mr r29, r4 -/* 803093D4 00305034 80 84 00 00 */ lwz r4, 0(r4) -/* 803093D8 00305038 7C 7C 1B 78 */ mr r28, r3 -/* 803093DC 0030503C 7C BE 2B 78 */ mr r30, r5 -/* 803093E0 00305040 7C DF 33 78 */ mr r31, r6 -/* 803093E4 00305044 7C F9 3B 78 */ mr r25, r7 -/* 803093E8 00305048 3B 40 00 00 */ li r26, 0 -/* 803093EC 0030504C 4B FF FD 6D */ bl func_80309158 -/* 803093F0 00305050 2C 03 00 00 */ cmpwi r3, 0 -/* 803093F4 00305054 90 7F 00 00 */ stw r3, 0(r31) -/* 803093F8 00305058 41 82 00 10 */ beq lbl_80309408 -/* 803093FC 0030505C 38 00 00 01 */ li r0, 1 -/* 80309400 00305060 90 19 00 00 */ stw r0, 0(r25) -/* 80309404 00305064 48 00 01 B4 */ b lbl_803095B8 -lbl_80309408: -/* 80309408 00305068 3B 60 00 00 */ li r27, 0 -/* 8030940C 0030506C 7F E4 FB 78 */ mr r4, r31 -/* 80309410 00305070 93 79 00 00 */ stw r27, 0(r25) -/* 80309414 00305074 80 7D 00 00 */ lwz r3, 0(r29) -/* 80309418 00305078 4B FF FE 19 */ bl func_80309230 -/* 8030941C 0030507C 2C 03 00 00 */ cmpwi r3, 0 -/* 80309420 00305080 40 82 00 94 */ bne lbl_803094B4 -/* 80309424 00305084 80 9F 00 00 */ lwz r4, 0(r31) -/* 80309428 00305088 2C 04 00 00 */ cmpwi r4, 0 -/* 8030942C 0030508C 40 82 00 10 */ bne lbl_8030943C -/* 80309430 00305090 93 7F 00 00 */ stw r27, 0(r31) -/* 80309434 00305094 38 60 00 1E */ li r3, 0x1e -/* 80309438 00305098 48 00 01 E4 */ b lbl_8030961C -lbl_8030943C: -/* 8030943C 0030509C 41 82 00 24 */ beq lbl_80309460 -/* 80309440 003050A0 A0 04 00 00 */ lhz r0, 0(r4) -/* 80309444 003050A4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80309448 003050A8 41 82 00 18 */ beq lbl_80309460 -/* 8030944C 003050AC 80 64 00 18 */ lwz r3, 0x18(r4) -/* 80309450 003050B0 3C 03 00 01 */ addis r0, r3, 1 -/* 80309454 003050B4 28 00 FF FF */ cmplwi r0, 0xffff -/* 80309458 003050B8 41 82 00 08 */ beq lbl_80309460 -/* 8030945C 003050BC 3B 40 00 01 */ li r26, 1 -lbl_80309460: -/* 80309460 003050C0 7F 83 E3 78 */ mr r3, r28 -/* 80309464 003050C4 4B FF FE 59 */ bl func_803092BC -/* 80309468 003050C8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030946C 003050CC 41 82 00 10 */ beq lbl_8030947C -/* 80309470 003050D0 38 00 00 00 */ li r0, 0 -/* 80309474 003050D4 90 1F 00 00 */ stw r0, 0(r31) -/* 80309478 003050D8 48 00 01 A4 */ b lbl_8030961C -lbl_8030947C: -/* 8030947C 003050DC 80 7F 00 00 */ lwz r3, 0(r31) -/* 80309480 003050E0 38 00 00 00 */ li r0, 0 -/* 80309484 003050E4 2C 1A 00 00 */ cmpwi r26, 0 -/* 80309488 003050E8 90 03 00 0C */ stw r0, 0xc(r3) -/* 8030948C 003050EC 80 7F 00 00 */ lwz r3, 0(r31) -/* 80309490 003050F0 90 03 00 10 */ stw r0, 0x10(r3) -/* 80309494 003050F4 41 82 00 20 */ beq lbl_803094B4 -/* 80309498 003050F8 7F 83 E3 78 */ mr r3, r28 -/* 8030949C 003050FC 38 80 00 01 */ li r4, 1 -/* 803094A0 00305100 48 01 29 01 */ bl func_8031BDA0 -/* 803094A4 00305104 2C 03 00 00 */ cmpwi r3, 0 -/* 803094A8 00305108 41 82 00 0C */ beq lbl_803094B4 -/* 803094AC 0030510C 38 60 00 11 */ li r3, 0x11 -/* 803094B0 00305110 48 00 01 6C */ b lbl_8030961C -lbl_803094B4: -/* 803094B4 00305114 3C 1E 00 01 */ addis r0, r30, 1 -/* 803094B8 00305118 28 00 FF FF */ cmplwi r0, 0xffff -/* 803094BC 0030511C 41 82 00 D8 */ beq lbl_80309594 -/* 803094C0 00305120 80 9F 00 00 */ lwz r4, 0(r31) -/* 803094C4 00305124 A0 04 00 00 */ lhz r0, 0(r4) -/* 803094C8 00305128 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 803094CC 0030512C 41 82 00 48 */ beq lbl_80309514 -/* 803094D0 00305130 80 64 00 14 */ lwz r3, 0x14(r4) -/* 803094D4 00305134 7C 1E 1B 96 */ divwu r0, r30, r3 -/* 803094D8 00305138 7C 00 19 D6 */ mullw r0, r0, r3 -/* 803094DC 0030513C 7C 00 F0 50 */ subf r0, r0, r30 -/* 803094E0 00305140 7C 00 F0 50 */ subf r0, r0, r30 -/* 803094E4 00305144 90 04 00 18 */ stw r0, 0x18(r4) -/* 803094E8 00305148 80 DF 00 00 */ lwz r6, 0(r31) -/* 803094EC 0030514C 88 1C 00 20 */ lbz r0, 0x20(r28) -/* 803094F0 00305150 80 86 00 14 */ lwz r4, 0x14(r6) -/* 803094F4 00305154 80 A6 00 04 */ lwz r5, 4(r6) -/* 803094F8 00305158 7C 7E 23 96 */ divwu r3, r30, r4 -/* 803094FC 0030515C 7C 63 21 D6 */ mullw r3, r3, r4 -/* 80309500 00305160 7C 63 F0 50 */ subf r3, r3, r30 -/* 80309504 00305164 7C 60 00 30 */ slw r0, r3, r0 -/* 80309508 00305168 7C 05 02 14 */ add r0, r5, r0 -/* 8030950C 0030516C 90 06 00 08 */ stw r0, 8(r6) -/* 80309510 00305170 48 00 00 98 */ b lbl_803095A8 -lbl_80309514: -/* 80309514 00305174 80 1C 00 1C */ lwz r0, 0x1c(r28) -/* 80309518 00305178 2C 00 00 02 */ cmpwi r0, 2 -/* 8030951C 0030517C 40 82 00 30 */ bne lbl_8030954C -/* 80309520 00305180 80 1C 00 30 */ lwz r0, 0x30(r28) -/* 80309524 00305184 7C 1E 00 40 */ cmplw r30, r0 -/* 80309528 00305188 41 80 00 10 */ blt lbl_80309538 -/* 8030952C 0030518C 80 1C 00 08 */ lwz r0, 8(r28) -/* 80309530 00305190 7C 1E 00 40 */ cmplw r30, r0 -/* 80309534 00305194 41 80 00 18 */ blt lbl_8030954C -lbl_80309538: -/* 80309538 00305198 A0 1C 00 14 */ lhz r0, 0x14(r28) -/* 8030953C 0030519C 7C 1E 00 40 */ cmplw r30, r0 -/* 80309540 003051A0 40 82 00 0C */ bne lbl_8030954C -/* 80309544 003051A4 38 00 00 01 */ li r0, 1 -/* 80309548 003051A8 90 04 00 14 */ stw r0, 0x14(r4) -lbl_8030954C: -/* 8030954C 003051AC 80 9F 00 00 */ lwz r4, 0(r31) -/* 80309550 003051B0 80 64 00 14 */ lwz r3, 0x14(r4) -/* 80309554 003051B4 7C 1E 1B 96 */ divwu r0, r30, r3 -/* 80309558 003051B8 7C 00 19 D6 */ mullw r0, r0, r3 -/* 8030955C 003051BC 7C 00 F0 50 */ subf r0, r0, r30 -/* 80309560 003051C0 7C 00 F0 50 */ subf r0, r0, r30 -/* 80309564 003051C4 90 04 00 18 */ stw r0, 0x18(r4) -/* 80309568 003051C8 80 DF 00 00 */ lwz r6, 0(r31) -/* 8030956C 003051CC 88 1C 00 20 */ lbz r0, 0x20(r28) -/* 80309570 003051D0 80 86 00 14 */ lwz r4, 0x14(r6) -/* 80309574 003051D4 80 A6 00 04 */ lwz r5, 4(r6) -/* 80309578 003051D8 7C 7E 23 96 */ divwu r3, r30, r4 -/* 8030957C 003051DC 7C 63 21 D6 */ mullw r3, r3, r4 -/* 80309580 003051E0 7C 63 F0 50 */ subf r3, r3, r30 -/* 80309584 003051E4 7C 60 00 30 */ slw r0, r3, r0 -/* 80309588 003051E8 7C 05 02 14 */ add r0, r5, r0 -/* 8030958C 003051EC 90 06 00 08 */ stw r0, 8(r6) -/* 80309590 003051F0 48 00 00 18 */ b lbl_803095A8 -lbl_80309594: -/* 80309594 003051F4 80 7F 00 00 */ lwz r3, 0(r31) -/* 80309598 003051F8 93 C3 00 18 */ stw r30, 0x18(r3) -/* 8030959C 003051FC 80 7F 00 00 */ lwz r3, 0(r31) -/* 803095A0 00305200 80 03 00 04 */ lwz r0, 4(r3) -/* 803095A4 00305204 90 03 00 08 */ stw r0, 8(r3) -lbl_803095A8: -/* 803095A8 00305208 80 7F 00 00 */ lwz r3, 0(r31) -/* 803095AC 0030520C A0 03 00 00 */ lhz r0, 0(r3) -/* 803095B0 00305210 60 00 00 01 */ ori r0, r0, 1 -/* 803095B4 00305214 B0 03 00 00 */ sth r0, 0(r3) -lbl_803095B8: -/* 803095B8 00305218 80 BF 00 00 */ lwz r5, 0(r31) -/* 803095BC 0030521C 80 7D 00 00 */ lwz r3, 0(r29) -/* 803095C0 00305220 7C 05 18 40 */ cmplw r5, r3 -/* 803095C4 00305224 41 82 00 54 */ beq lbl_80309618 -/* 803095C8 00305228 80 03 00 24 */ lwz r0, 0x24(r3) -/* 803095CC 0030522C 7C 05 00 40 */ cmplw r5, r0 -/* 803095D0 00305230 40 82 00 0C */ bne lbl_803095DC -/* 803095D4 00305234 90 BD 00 00 */ stw r5, 0(r29) -/* 803095D8 00305238 48 00 00 40 */ b lbl_80309618 -lbl_803095DC: -/* 803095DC 0030523C 80 05 00 20 */ lwz r0, 0x20(r5) -/* 803095E0 00305240 80 65 00 24 */ lwz r3, 0x24(r5) -/* 803095E4 00305244 90 03 00 20 */ stw r0, 0x20(r3) -/* 803095E8 00305248 80 05 00 24 */ lwz r0, 0x24(r5) -/* 803095EC 0030524C 80 65 00 20 */ lwz r3, 0x20(r5) -/* 803095F0 00305250 90 03 00 24 */ stw r0, 0x24(r3) -/* 803095F4 00305254 80 9D 00 00 */ lwz r4, 0(r29) -/* 803095F8 00305258 90 85 00 20 */ stw r4, 0x20(r5) -/* 803095FC 0030525C 80 7D 00 00 */ lwz r3, 0(r29) -/* 80309600 00305260 80 03 00 24 */ lwz r0, 0x24(r3) -/* 80309604 00305264 90 05 00 24 */ stw r0, 0x24(r5) -/* 80309608 00305268 90 A4 00 24 */ stw r5, 0x24(r4) -/* 8030960C 0030526C 80 65 00 24 */ lwz r3, 0x24(r5) -/* 80309610 00305270 90 A3 00 20 */ stw r5, 0x20(r3) -/* 80309614 00305274 90 BD 00 00 */ stw r5, 0(r29) -lbl_80309618: -/* 80309618 00305278 38 60 00 00 */ li r3, 0 -lbl_8030961C: -/* 8030961C 0030527C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80309620 00305280 4B EB DB 4D */ bl _restgpr_25 -/* 80309624 00305284 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80309628 00305288 7C 08 03 A6 */ mtlr r0 -/* 8030962C 0030528C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80309630 00305290 4E 80 00 20 */ blr - -.global func_80309634 -func_80309634: -/* 80309634 00305294 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80309638 00305298 7C 08 02 A6 */ mflr r0 -/* 8030963C 0030529C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80309640 003052A0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80309644 003052A4 7C 9F 23 78 */ mr r31, r4 -/* 80309648 003052A8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8030964C 003052AC 7C FE 3B 78 */ mr r30, r7 -/* 80309650 003052B0 38 E1 00 08 */ addi r7, r1, 8 -/* 80309654 003052B4 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80309658 003052B8 7C DD 33 78 */ mr r29, r6 -/* 8030965C 003052BC 93 81 00 10 */ stw r28, 0x10(r1) -/* 80309660 003052C0 7C 7C 1B 78 */ mr r28, r3 -/* 80309664 003052C4 4B FF FD 59 */ bl func_803093BC -/* 80309668 003052C8 2C 03 00 00 */ cmpwi r3, 0 -/* 8030966C 003052CC 41 82 00 08 */ beq lbl_80309674 -/* 80309670 003052D0 48 00 01 B0 */ b lbl_80309820 -lbl_80309674: -/* 80309674 003052D4 80 01 00 08 */ lwz r0, 8(r1) -/* 80309678 003052D8 2C 00 00 00 */ cmpwi r0, 0 -/* 8030967C 003052DC 40 82 01 A0 */ bne lbl_8030981C -/* 80309680 003052E0 80 DD 00 00 */ lwz r6, 0(r29) -/* 80309684 003052E4 7F 83 E3 78 */ mr r3, r28 -/* 80309688 003052E8 38 E1 00 0C */ addi r7, r1, 0xc -/* 8030968C 003052EC 80 86 00 04 */ lwz r4, 4(r6) -/* 80309690 003052F0 80 A6 00 18 */ lwz r5, 0x18(r6) -/* 80309694 003052F4 80 C6 00 14 */ lwz r6, 0x14(r6) -/* 80309698 003052F8 4B FF CB 25 */ bl func_803061BC -/* 8030969C 003052FC 2C 03 00 00 */ cmpwi r3, 0 -/* 803096A0 00305300 41 82 00 8C */ beq lbl_8030972C -/* 803096A4 00305304 80 DD 00 00 */ lwz r6, 0(r29) -/* 803096A8 00305308 38 80 00 00 */ li r4, 0 -/* 803096AC 0030530C 38 00 FF FF */ li r0, -1 -/* 803096B0 00305310 A0 A6 00 00 */ lhz r5, 0(r6) -/* 803096B4 00305314 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d -/* 803096B8 00305318 B0 A6 00 00 */ sth r5, 0(r6) -/* 803096BC 0030531C 90 86 00 0C */ stw r4, 0xc(r6) -/* 803096C0 00305320 90 86 00 10 */ stw r4, 0x10(r6) -/* 803096C4 00305324 90 06 00 18 */ stw r0, 0x18(r6) -/* 803096C8 00305328 90 86 00 1C */ stw r4, 0x1c(r6) -/* 803096CC 0030532C 80 9F 00 00 */ lwz r4, 0(r31) -/* 803096D0 00305330 7C 06 20 40 */ cmplw r6, r4 -/* 803096D4 00305334 40 82 00 10 */ bne lbl_803096E4 -/* 803096D8 00305338 80 06 00 20 */ lwz r0, 0x20(r6) -/* 803096DC 0030533C 90 1F 00 00 */ stw r0, 0(r31) -/* 803096E0 00305340 48 00 01 40 */ b lbl_80309820 -lbl_803096E4: -/* 803096E4 00305344 80 04 00 24 */ lwz r0, 0x24(r4) -/* 803096E8 00305348 7C 06 00 40 */ cmplw r6, r0 -/* 803096EC 0030534C 41 82 01 34 */ beq lbl_80309820 -/* 803096F0 00305350 80 06 00 20 */ lwz r0, 0x20(r6) -/* 803096F4 00305354 80 86 00 24 */ lwz r4, 0x24(r6) -/* 803096F8 00305358 90 04 00 20 */ stw r0, 0x20(r4) -/* 803096FC 0030535C 80 06 00 24 */ lwz r0, 0x24(r6) -/* 80309700 00305360 80 86 00 20 */ lwz r4, 0x20(r6) -/* 80309704 00305364 90 04 00 24 */ stw r0, 0x24(r4) -/* 80309708 00305368 80 BF 00 00 */ lwz r5, 0(r31) -/* 8030970C 0030536C 90 A6 00 20 */ stw r5, 0x20(r6) -/* 80309710 00305370 80 9F 00 00 */ lwz r4, 0(r31) -/* 80309714 00305374 80 04 00 24 */ lwz r0, 0x24(r4) -/* 80309718 00305378 90 06 00 24 */ stw r0, 0x24(r6) -/* 8030971C 0030537C 90 C5 00 24 */ stw r6, 0x24(r5) -/* 80309720 00305380 80 86 00 24 */ lwz r4, 0x24(r6) -/* 80309724 00305384 90 C4 00 20 */ stw r6, 0x20(r4) -/* 80309728 00305388 48 00 00 F8 */ b lbl_80309820 -lbl_8030972C: -/* 8030972C 0030538C 80 BD 00 00 */ lwz r5, 0(r29) -/* 80309730 00305390 80 81 00 0C */ lwz r4, 0xc(r1) -/* 80309734 00305394 80 05 00 14 */ lwz r0, 0x14(r5) -/* 80309738 00305398 7C 04 00 40 */ cmplw r4, r0 -/* 8030973C 0030539C 41 82 00 A0 */ beq lbl_803097DC -/* 80309740 003053A0 80 05 00 18 */ lwz r0, 0x18(r5) -/* 80309744 003053A4 80 7C 00 08 */ lwz r3, 8(r28) -/* 80309748 003053A8 7C 00 22 14 */ add r0, r0, r4 -/* 8030974C 003053AC 7C 03 00 40 */ cmplw r3, r0 -/* 80309750 003053B0 41 82 00 8C */ beq lbl_803097DC -/* 80309754 003053B4 A0 85 00 00 */ lhz r4, 0(r5) -/* 80309758 003053B8 38 60 00 00 */ li r3, 0 -/* 8030975C 003053BC 38 00 FF FF */ li r0, -1 -/* 80309760 003053C0 54 84 04 3A */ rlwinm r4, r4, 0, 0x10, 0x1d -/* 80309764 003053C4 B0 85 00 00 */ sth r4, 0(r5) -/* 80309768 003053C8 90 65 00 0C */ stw r3, 0xc(r5) -/* 8030976C 003053CC 90 65 00 10 */ stw r3, 0x10(r5) -/* 80309770 003053D0 90 05 00 18 */ stw r0, 0x18(r5) -/* 80309774 003053D4 90 65 00 1C */ stw r3, 0x1c(r5) -/* 80309778 003053D8 80 7F 00 00 */ lwz r3, 0(r31) -/* 8030977C 003053DC 7C 05 18 40 */ cmplw r5, r3 -/* 80309780 003053E0 40 82 00 10 */ bne lbl_80309790 -/* 80309784 003053E4 80 05 00 20 */ lwz r0, 0x20(r5) -/* 80309788 003053E8 90 1F 00 00 */ stw r0, 0(r31) -/* 8030978C 003053EC 48 00 00 48 */ b lbl_803097D4 -lbl_80309790: -/* 80309790 003053F0 80 03 00 24 */ lwz r0, 0x24(r3) -/* 80309794 003053F4 7C 05 00 40 */ cmplw r5, r0 -/* 80309798 003053F8 41 82 00 3C */ beq lbl_803097D4 -/* 8030979C 003053FC 80 05 00 20 */ lwz r0, 0x20(r5) -/* 803097A0 00305400 80 65 00 24 */ lwz r3, 0x24(r5) -/* 803097A4 00305404 90 03 00 20 */ stw r0, 0x20(r3) -/* 803097A8 00305408 80 05 00 24 */ lwz r0, 0x24(r5) -/* 803097AC 0030540C 80 65 00 20 */ lwz r3, 0x20(r5) -/* 803097B0 00305410 90 03 00 24 */ stw r0, 0x24(r3) -/* 803097B4 00305414 80 9F 00 00 */ lwz r4, 0(r31) -/* 803097B8 00305418 90 85 00 20 */ stw r4, 0x20(r5) -/* 803097BC 0030541C 80 7F 00 00 */ lwz r3, 0(r31) -/* 803097C0 00305420 80 03 00 24 */ lwz r0, 0x24(r3) -/* 803097C4 00305424 90 05 00 24 */ stw r0, 0x24(r5) -/* 803097C8 00305428 90 A4 00 24 */ stw r5, 0x24(r4) -/* 803097CC 0030542C 80 65 00 24 */ lwz r3, 0x24(r5) -/* 803097D0 00305430 90 A3 00 20 */ stw r5, 0x20(r3) -lbl_803097D4: -/* 803097D4 00305434 38 60 00 11 */ li r3, 0x11 -/* 803097D8 00305438 48 00 00 48 */ b lbl_80309820 -lbl_803097DC: -/* 803097DC 0030543C A0 65 00 00 */ lhz r3, 0(r5) -/* 803097E0 00305440 38 00 00 00 */ li r0, 0 -/* 803097E4 00305444 2C 1E 00 00 */ cmpwi r30, 0 -/* 803097E8 00305448 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d -/* 803097EC 0030544C B0 65 00 00 */ sth r3, 0(r5) -/* 803097F0 00305450 80 7D 00 00 */ lwz r3, 0(r29) -/* 803097F4 00305454 90 03 00 0C */ stw r0, 0xc(r3) -/* 803097F8 00305458 80 7D 00 00 */ lwz r3, 0(r29) -/* 803097FC 0030545C 90 03 00 10 */ stw r0, 0x10(r3) -/* 80309800 00305460 41 82 00 14 */ beq lbl_80309814 -/* 80309804 00305464 80 1C 16 08 */ lwz r0, 0x1608(r28) -/* 80309808 00305468 80 7D 00 00 */ lwz r3, 0(r29) -/* 8030980C 0030546C 90 03 00 1C */ stw r0, 0x1c(r3) -/* 80309810 00305470 48 00 00 0C */ b lbl_8030981C -lbl_80309814: -/* 80309814 00305474 80 7D 00 00 */ lwz r3, 0(r29) -/* 80309818 00305478 90 03 00 1C */ stw r0, 0x1c(r3) -lbl_8030981C: -/* 8030981C 0030547C 38 60 00 00 */ li r3, 0 -lbl_80309820: -/* 80309820 00305480 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80309824 00305484 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80309828 00305488 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8030982C 0030548C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80309830 00305490 83 81 00 10 */ lwz r28, 0x10(r1) -/* 80309834 00305494 7C 08 03 A6 */ mtlr r0 -/* 80309838 00305498 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030983C 0030549C 4E 80 00 20 */ blr - -.global func_80309840 -func_80309840: -/* 80309840 003054A0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80309844 003054A4 7C 08 02 A6 */ mflr r0 -/* 80309848 003054A8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8030984C 003054AC 39 61 00 30 */ addi r11, r1, 0x30 -/* 80309850 003054B0 4B EB D8 D9 */ bl _savegpr_27 -/* 80309854 003054B4 7C FB 3B 78 */ mr r27, r7 -/* 80309858 003054B8 7C 7D 1B 78 */ mr r29, r3 -/* 8030985C 003054BC 7C 9E 23 78 */ mr r30, r4 -/* 80309860 003054C0 7C DF 33 78 */ mr r31, r6 -/* 80309864 003054C4 38 E1 00 08 */ addi r7, r1, 8 -/* 80309868 003054C8 3B 80 00 01 */ li r28, 1 -/* 8030986C 003054CC 4B FF FB 51 */ bl func_803093BC -/* 80309870 003054D0 2C 03 00 00 */ cmpwi r3, 0 -/* 80309874 003054D4 41 82 00 08 */ beq lbl_8030987C -/* 80309878 003054D8 48 00 02 4C */ b lbl_80309AC4 -lbl_8030987C: -/* 8030987C 003054DC 80 01 00 08 */ lwz r0, 8(r1) -/* 80309880 003054E0 2C 00 00 00 */ cmpwi r0, 0 -/* 80309884 003054E4 40 82 01 A4 */ bne lbl_80309A28 -/* 80309888 003054E8 80 DF 00 00 */ lwz r6, 0(r31) -/* 8030988C 003054EC 7F A3 EB 78 */ mr r3, r29 -/* 80309890 003054F0 38 E1 00 0C */ addi r7, r1, 0xc -/* 80309894 003054F4 80 86 00 04 */ lwz r4, 4(r6) -/* 80309898 003054F8 80 A6 00 18 */ lwz r5, 0x18(r6) -/* 8030989C 003054FC 80 C6 00 14 */ lwz r6, 0x14(r6) -/* 803098A0 00305500 4B FF C9 1D */ bl func_803061BC -/* 803098A4 00305504 2C 03 00 00 */ cmpwi r3, 0 -/* 803098A8 00305508 41 82 00 8C */ beq lbl_80309934 -/* 803098AC 0030550C 80 DF 00 00 */ lwz r6, 0(r31) -/* 803098B0 00305510 38 80 00 00 */ li r4, 0 -/* 803098B4 00305514 38 00 FF FF */ li r0, -1 -/* 803098B8 00305518 A0 A6 00 00 */ lhz r5, 0(r6) -/* 803098BC 0030551C 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d -/* 803098C0 00305520 B0 A6 00 00 */ sth r5, 0(r6) -/* 803098C4 00305524 90 86 00 0C */ stw r4, 0xc(r6) -/* 803098C8 00305528 90 86 00 10 */ stw r4, 0x10(r6) -/* 803098CC 0030552C 90 06 00 18 */ stw r0, 0x18(r6) -/* 803098D0 00305530 90 86 00 1C */ stw r4, 0x1c(r6) -/* 803098D4 00305534 80 9E 00 00 */ lwz r4, 0(r30) -/* 803098D8 00305538 7C 06 20 40 */ cmplw r6, r4 -/* 803098DC 0030553C 40 82 00 10 */ bne lbl_803098EC -/* 803098E0 00305540 80 06 00 20 */ lwz r0, 0x20(r6) -/* 803098E4 00305544 90 1E 00 00 */ stw r0, 0(r30) -/* 803098E8 00305548 48 00 01 DC */ b lbl_80309AC4 -lbl_803098EC: -/* 803098EC 0030554C 80 04 00 24 */ lwz r0, 0x24(r4) -/* 803098F0 00305550 7C 06 00 40 */ cmplw r6, r0 -/* 803098F4 00305554 41 82 01 D0 */ beq lbl_80309AC4 -/* 803098F8 00305558 80 06 00 20 */ lwz r0, 0x20(r6) -/* 803098FC 0030555C 80 86 00 24 */ lwz r4, 0x24(r6) -/* 80309900 00305560 90 04 00 20 */ stw r0, 0x20(r4) -/* 80309904 00305564 80 06 00 24 */ lwz r0, 0x24(r6) -/* 80309908 00305568 80 86 00 20 */ lwz r4, 0x20(r6) -/* 8030990C 0030556C 90 04 00 24 */ stw r0, 0x24(r4) -/* 80309910 00305570 80 BE 00 00 */ lwz r5, 0(r30) -/* 80309914 00305574 90 A6 00 20 */ stw r5, 0x20(r6) -/* 80309918 00305578 80 9E 00 00 */ lwz r4, 0(r30) -/* 8030991C 0030557C 80 04 00 24 */ lwz r0, 0x24(r4) -/* 80309920 00305580 90 06 00 24 */ stw r0, 0x24(r6) -/* 80309924 00305584 90 C5 00 24 */ stw r6, 0x24(r5) -/* 80309928 00305588 80 86 00 24 */ lwz r4, 0x24(r6) -/* 8030992C 0030558C 90 C4 00 20 */ stw r6, 0x20(r4) -/* 80309930 00305590 48 00 01 94 */ b lbl_80309AC4 -lbl_80309934: -/* 80309934 00305594 80 BF 00 00 */ lwz r5, 0(r31) -/* 80309938 00305598 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8030993C 0030559C 80 05 00 14 */ lwz r0, 0x14(r5) -/* 80309940 003055A0 7C 04 00 40 */ cmplw r4, r0 -/* 80309944 003055A4 41 82 00 A0 */ beq lbl_803099E4 -/* 80309948 003055A8 80 05 00 18 */ lwz r0, 0x18(r5) -/* 8030994C 003055AC 80 7D 00 08 */ lwz r3, 8(r29) -/* 80309950 003055B0 7C 00 22 14 */ add r0, r0, r4 -/* 80309954 003055B4 7C 03 00 40 */ cmplw r3, r0 -/* 80309958 003055B8 41 82 00 8C */ beq lbl_803099E4 -/* 8030995C 003055BC A0 85 00 00 */ lhz r4, 0(r5) -/* 80309960 003055C0 38 60 00 00 */ li r3, 0 -/* 80309964 003055C4 38 00 FF FF */ li r0, -1 -/* 80309968 003055C8 54 84 04 3A */ rlwinm r4, r4, 0, 0x10, 0x1d -/* 8030996C 003055CC B0 85 00 00 */ sth r4, 0(r5) -/* 80309970 003055D0 90 65 00 0C */ stw r3, 0xc(r5) -/* 80309974 003055D4 90 65 00 10 */ stw r3, 0x10(r5) -/* 80309978 003055D8 90 05 00 18 */ stw r0, 0x18(r5) -/* 8030997C 003055DC 90 65 00 1C */ stw r3, 0x1c(r5) -/* 80309980 003055E0 80 7E 00 00 */ lwz r3, 0(r30) -/* 80309984 003055E4 7C 05 18 40 */ cmplw r5, r3 -/* 80309988 003055E8 40 82 00 10 */ bne lbl_80309998 -/* 8030998C 003055EC 80 05 00 20 */ lwz r0, 0x20(r5) -/* 80309990 003055F0 90 1E 00 00 */ stw r0, 0(r30) -/* 80309994 003055F4 48 00 00 48 */ b lbl_803099DC -lbl_80309998: -/* 80309998 003055F8 80 03 00 24 */ lwz r0, 0x24(r3) -/* 8030999C 003055FC 7C 05 00 40 */ cmplw r5, r0 -/* 803099A0 00305600 41 82 00 3C */ beq lbl_803099DC -/* 803099A4 00305604 80 05 00 20 */ lwz r0, 0x20(r5) -/* 803099A8 00305608 80 65 00 24 */ lwz r3, 0x24(r5) -/* 803099AC 0030560C 90 03 00 20 */ stw r0, 0x20(r3) -/* 803099B0 00305610 80 05 00 24 */ lwz r0, 0x24(r5) -/* 803099B4 00305614 80 65 00 20 */ lwz r3, 0x20(r5) -/* 803099B8 00305618 90 03 00 24 */ stw r0, 0x24(r3) -/* 803099BC 0030561C 80 9E 00 00 */ lwz r4, 0(r30) -/* 803099C0 00305620 90 85 00 20 */ stw r4, 0x20(r5) -/* 803099C4 00305624 80 7E 00 00 */ lwz r3, 0(r30) -/* 803099C8 00305628 80 03 00 24 */ lwz r0, 0x24(r3) -/* 803099CC 0030562C 90 05 00 24 */ stw r0, 0x24(r5) -/* 803099D0 00305630 90 A4 00 24 */ stw r5, 0x24(r4) -/* 803099D4 00305634 80 65 00 24 */ lwz r3, 0x24(r5) -/* 803099D8 00305638 90 A3 00 20 */ stw r5, 0x20(r3) -lbl_803099DC: -/* 803099DC 0030563C 38 60 00 11 */ li r3, 0x11 -/* 803099E0 00305640 48 00 00 E4 */ b lbl_80309AC4 -lbl_803099E4: -/* 803099E4 00305644 A0 65 00 00 */ lhz r3, 0(r5) -/* 803099E8 00305648 38 00 00 00 */ li r0, 0 -/* 803099EC 0030564C 2C 1B 00 00 */ cmpwi r27, 0 -/* 803099F0 00305650 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d -/* 803099F4 00305654 B0 65 00 00 */ sth r3, 0(r5) -/* 803099F8 00305658 80 7F 00 00 */ lwz r3, 0(r31) -/* 803099FC 0030565C 90 03 00 0C */ stw r0, 0xc(r3) -/* 80309A00 00305660 80 7F 00 00 */ lwz r3, 0(r31) -/* 80309A04 00305664 90 03 00 10 */ stw r0, 0x10(r3) -/* 80309A08 00305668 41 82 00 14 */ beq lbl_80309A1C -/* 80309A0C 0030566C 80 1D 16 08 */ lwz r0, 0x1608(r29) -/* 80309A10 00305670 80 7F 00 00 */ lwz r3, 0(r31) -/* 80309A14 00305674 90 03 00 1C */ stw r0, 0x1c(r3) -/* 80309A18 00305678 48 00 00 A8 */ b lbl_80309AC0 -lbl_80309A1C: -/* 80309A1C 0030567C 80 7F 00 00 */ lwz r3, 0(r31) -/* 80309A20 00305680 90 03 00 1C */ stw r0, 0x1c(r3) -/* 80309A24 00305684 48 00 00 9C */ b lbl_80309AC0 -lbl_80309A28: -/* 80309A28 00305688 2C 1B 00 00 */ cmpwi r27, 0 -/* 80309A2C 0030568C 41 82 00 94 */ beq lbl_80309AC0 -/* 80309A30 00305690 80 9F 00 00 */ lwz r4, 0(r31) -/* 80309A34 00305694 A0 04 00 00 */ lhz r0, 0(r4) -/* 80309A38 00305698 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e -/* 80309A3C 0030569C 2C 80 00 00 */ cmpwi cr1, r0, 0 -/* 80309A40 003056A0 41 86 00 80 */ beq cr1, lbl_80309AC0 -/* 80309A44 003056A4 80 1D 15 E8 */ lwz r0, 0x15e8(r29) -/* 80309A48 003056A8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80309A4C 003056AC 41 82 00 74 */ beq lbl_80309AC0 -/* 80309A50 003056B0 80 64 00 1C */ lwz r3, 0x1c(r4) -/* 80309A54 003056B4 80 1D 16 08 */ lwz r0, 0x1608(r29) -/* 80309A58 003056B8 7C 03 00 40 */ cmplw r3, r0 -/* 80309A5C 003056BC 41 82 00 64 */ beq lbl_80309AC0 -/* 80309A60 003056C0 2C 04 00 00 */ cmpwi r4, 0 -/* 80309A64 003056C4 41 82 00 1C */ beq lbl_80309A80 -/* 80309A68 003056C8 41 86 00 18 */ beq cr1, lbl_80309A80 -/* 80309A6C 003056CC 80 64 00 18 */ lwz r3, 0x18(r4) -/* 80309A70 003056D0 3C 03 00 01 */ addis r0, r3, 1 -/* 80309A74 003056D4 28 00 FF FF */ cmplwi r0, 0xffff -/* 80309A78 003056D8 41 82 00 08 */ beq lbl_80309A80 -/* 80309A7C 003056DC 3B 80 00 01 */ li r28, 1 -lbl_80309A80: -/* 80309A80 003056E0 7F A3 EB 78 */ mr r3, r29 -/* 80309A84 003056E4 4B FF F8 39 */ bl func_803092BC -/* 80309A88 003056E8 2C 03 00 00 */ cmpwi r3, 0 -/* 80309A8C 003056EC 41 82 00 10 */ beq lbl_80309A9C -/* 80309A90 003056F0 38 00 00 00 */ li r0, 0 -/* 80309A94 003056F4 90 1F 00 00 */ stw r0, 0(r31) -/* 80309A98 003056F8 48 00 00 2C */ b lbl_80309AC4 -lbl_80309A9C: -/* 80309A9C 003056FC 2C 1C 00 00 */ cmpwi r28, 0 -/* 80309AA0 00305700 41 82 00 20 */ beq lbl_80309AC0 -/* 80309AA4 00305704 7F A3 EB 78 */ mr r3, r29 -/* 80309AA8 00305708 38 80 00 01 */ li r4, 1 -/* 80309AAC 0030570C 48 01 22 F5 */ bl func_8031BDA0 -/* 80309AB0 00305710 2C 03 00 00 */ cmpwi r3, 0 -/* 80309AB4 00305714 41 82 00 0C */ beq lbl_80309AC0 -/* 80309AB8 00305718 38 60 00 11 */ li r3, 0x11 -/* 80309ABC 0030571C 48 00 00 08 */ b lbl_80309AC4 -lbl_80309AC0: -/* 80309AC0 00305720 38 60 00 00 */ li r3, 0 -lbl_80309AC4: -/* 80309AC4 00305724 39 61 00 30 */ addi r11, r1, 0x30 -/* 80309AC8 00305728 4B EB D6 AD */ bl _restgpr_27 -/* 80309ACC 0030572C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80309AD0 00305730 7C 08 03 A6 */ mtlr r0 -/* 80309AD4 00305734 38 21 00 30 */ addi r1, r1, 0x30 -/* 80309AD8 00305738 4E 80 00 20 */ blr - -.global func_80309ADC -func_80309ADC: -/* 80309ADC 0030573C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80309AE0 00305740 7C 08 02 A6 */ mflr r0 -/* 80309AE4 00305744 90 01 00 44 */ stw r0, 0x44(r1) -/* 80309AE8 00305748 39 61 00 40 */ addi r11, r1, 0x40 -/* 80309AEC 0030574C 4B EB D6 25 */ bl _savegpr_21 -/* 80309AF0 00305750 38 00 00 00 */ li r0, 0 -/* 80309AF4 00305754 7C B8 2B 78 */ mr r24, r5 -/* 80309AF8 00305758 7C D9 33 78 */ mr r25, r6 -/* 80309AFC 0030575C 7C FA 3B 78 */ mr r26, r7 -/* 80309B00 00305760 7D 1B 43 78 */ mr r27, r8 -/* 80309B04 00305764 7C 97 23 78 */ mr r23, r4 -/* 80309B08 00305768 90 08 00 00 */ stw r0, 0(r8) -/* 80309B0C 0030576C 7C 76 1B 78 */ mr r22, r3 -/* 80309B10 00305770 7F 04 C3 78 */ mr r4, r24 -/* 80309B14 00305774 7F 25 CB 78 */ mr r5, r25 -/* 80309B18 00305778 7F 46 D3 78 */ mr r6, r26 -/* 80309B1C 0030577C 7F 67 DB 78 */ mr r7, r27 -/* 80309B20 00305780 4B FF C6 9D */ bl func_803061BC -/* 80309B24 00305784 2C 03 00 00 */ cmpwi r3, 0 -/* 80309B28 00305788 41 82 00 08 */ beq lbl_80309B30 -/* 80309B2C 0030578C 48 00 01 EC */ b lbl_80309D18 -lbl_80309B30: -/* 80309B30 00305790 83 FB 00 00 */ lwz r31, 0(r27) -/* 80309B34 00305794 3B A0 00 00 */ li r29, 0 -/* 80309B38 00305798 7F FC FB 78 */ mr r28, r31 -/* 80309B3C 0030579C 7F D9 FA 14 */ add r30, r25, r31 -lbl_80309B40: -/* 80309B40 003057A0 2C 1D 00 00 */ cmpwi r29, 0 -/* 80309B44 003057A4 40 82 00 0C */ bne lbl_80309B50 -/* 80309B48 003057A8 83 B7 00 00 */ lwz r29, 0(r23) -/* 80309B4C 003057AC 48 00 00 40 */ b lbl_80309B8C -lbl_80309B50: -/* 80309B50 003057B0 83 BD 00 20 */ lwz r29, 0x20(r29) -/* 80309B54 003057B4 80 17 00 00 */ lwz r0, 0(r23) -/* 80309B58 003057B8 7C 1D 00 40 */ cmplw r29, r0 -/* 80309B5C 003057BC 40 82 00 30 */ bne lbl_80309B8C -/* 80309B60 003057C0 3B A0 00 00 */ li r29, 0 -/* 80309B64 003057C4 48 00 00 38 */ b lbl_80309B9C -/* 80309B68 003057C8 48 00 00 24 */ b lbl_80309B8C -lbl_80309B6C: -/* 80309B6C 003057CC 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 80309B70 003057D0 3C 03 00 01 */ addis r0, r3, 1 -/* 80309B74 003057D4 28 00 FF FF */ cmplwi r0, 0xffff -/* 80309B78 003057D8 41 82 00 10 */ beq lbl_80309B88 -/* 80309B7C 003057DC 80 1D 00 04 */ lwz r0, 4(r29) -/* 80309B80 003057E0 90 1D 00 08 */ stw r0, 8(r29) -/* 80309B84 003057E4 48 00 00 18 */ b lbl_80309B9C -lbl_80309B88: -/* 80309B88 003057E8 83 BD 00 20 */ lwz r29, 0x20(r29) -lbl_80309B8C: -/* 80309B8C 003057EC A0 1D 00 00 */ lhz r0, 0(r29) -/* 80309B90 003057F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80309B94 003057F4 40 82 FF D8 */ bne lbl_80309B6C -/* 80309B98 003057F8 3B A0 00 00 */ li r29, 0 -lbl_80309B9C: -/* 80309B9C 003057FC 2C 1D 00 00 */ cmpwi r29, 0 -/* 80309BA0 00305800 41 82 01 40 */ beq lbl_80309CE0 -/* 80309BA4 00305804 80 FD 00 18 */ lwz r7, 0x18(r29) -/* 80309BA8 00305808 3C 07 00 01 */ addis r0, r7, 1 -/* 80309BAC 0030580C 28 00 FF FF */ cmplwi r0, 0xffff -/* 80309BB0 00305810 41 82 01 30 */ beq lbl_80309CE0 -/* 80309BB4 00305814 7C 07 C8 40 */ cmplw r7, r25 -/* 80309BB8 00305818 41 81 00 3C */ bgt lbl_80309BF4 -/* 80309BBC 0030581C 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 80309BC0 00305820 7C 07 02 14 */ add r0, r7, r0 -/* 80309BC4 00305824 7C 00 F0 40 */ cmplw r0, r30 -/* 80309BC8 00305828 41 80 00 2C */ blt lbl_80309BF4 -/* 80309BCC 0030582C 88 B6 00 20 */ lbz r5, 0x20(r22) -/* 80309BD0 00305830 7C 07 C8 50 */ subf r0, r7, r25 -/* 80309BD4 00305834 80 9D 00 04 */ lwz r4, 4(r29) -/* 80309BD8 00305838 7F 03 C3 78 */ mr r3, r24 -/* 80309BDC 0030583C 7C 00 28 30 */ slw r0, r0, r5 -/* 80309BE0 00305840 7F E5 28 30 */ slw r5, r31, r5 -/* 80309BE4 00305844 7C 84 02 14 */ add r4, r4, r0 -/* 80309BE8 00305848 4B FF B2 C5 */ bl func_80304EAC -/* 80309BEC 0030584C 7F 9F E0 50 */ subf r28, r31, r28 -/* 80309BF0 00305850 48 00 00 F0 */ b lbl_80309CE0 -lbl_80309BF4: -/* 80309BF4 00305854 7C 07 C8 40 */ cmplw r7, r25 -/* 80309BF8 00305858 41 80 00 3C */ blt lbl_80309C34 -/* 80309BFC 0030585C 80 7D 00 14 */ lwz r3, 0x14(r29) -/* 80309C00 00305860 7C 07 1A 14 */ add r0, r7, r3 -/* 80309C04 00305864 7C 00 F0 40 */ cmplw r0, r30 -/* 80309C08 00305868 41 81 00 2C */ bgt lbl_80309C34 -/* 80309C0C 0030586C 88 B6 00 20 */ lbz r5, 0x20(r22) -/* 80309C10 00305870 7C 19 38 50 */ subf r0, r25, r7 -/* 80309C14 00305874 80 9D 00 04 */ lwz r4, 4(r29) -/* 80309C18 00305878 7C 00 28 30 */ slw r0, r0, r5 -/* 80309C1C 0030587C 7C 65 28 30 */ slw r5, r3, r5 -/* 80309C20 00305880 7C 78 02 14 */ add r3, r24, r0 -/* 80309C24 00305884 4B FF B2 89 */ bl func_80304EAC -/* 80309C28 00305888 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 80309C2C 0030588C 7F 80 E0 50 */ subf r28, r0, r28 -/* 80309C30 00305890 48 00 00 B0 */ b lbl_80309CE0 -lbl_80309C34: -/* 80309C34 00305894 7C 07 C8 40 */ cmplw r7, r25 -/* 80309C38 00305898 40 81 00 50 */ ble lbl_80309C88 -/* 80309C3C 0030589C 7C 07 F0 40 */ cmplw r7, r30 -/* 80309C40 003058A0 40 80 00 48 */ bge lbl_80309C88 -/* 80309C44 003058A4 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 80309C48 003058A8 7C 07 02 14 */ add r0, r7, r0 -/* 80309C4C 003058AC 7C 00 F0 40 */ cmplw r0, r30 -/* 80309C50 003058B0 41 80 00 38 */ blt lbl_80309C88 -/* 80309C54 003058B4 88 B6 00 20 */ lbz r5, 0x20(r22) -/* 80309C58 003058B8 7C 19 38 50 */ subf r0, r25, r7 -/* 80309C5C 003058BC 7E BF CA 14 */ add r21, r31, r25 -/* 80309C60 003058C0 80 9D 00 04 */ lwz r4, 4(r29) -/* 80309C64 003058C4 7C 03 28 30 */ slw r3, r0, r5 -/* 80309C68 003058C8 7C 07 A8 50 */ subf r0, r7, r21 -/* 80309C6C 003058CC 7C 78 1A 14 */ add r3, r24, r3 -/* 80309C70 003058D0 7C 05 28 30 */ slw r5, r0, r5 -/* 80309C74 003058D4 4B FF B2 39 */ bl func_80304EAC -/* 80309C78 003058D8 80 1D 00 18 */ lwz r0, 0x18(r29) -/* 80309C7C 003058DC 7C 00 A8 50 */ subf r0, r0, r21 -/* 80309C80 003058E0 7F 80 E0 50 */ subf r28, r0, r28 -/* 80309C84 003058E4 48 00 00 5C */ b lbl_80309CE0 -lbl_80309C88: -/* 80309C88 003058E8 7C 07 C8 40 */ cmplw r7, r25 -/* 80309C8C 003058EC 40 80 00 54 */ bge lbl_80309CE0 -/* 80309C90 003058F0 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 80309C94 003058F4 7C 67 02 14 */ add r3, r7, r0 -/* 80309C98 003058F8 7C 03 C8 40 */ cmplw r3, r25 -/* 80309C9C 003058FC 40 81 00 44 */ ble lbl_80309CE0 -/* 80309CA0 00305900 7C 03 F0 40 */ cmplw r3, r30 -/* 80309CA4 00305904 41 81 00 3C */ bgt lbl_80309CE0 -/* 80309CA8 00305908 88 D6 00 20 */ lbz r6, 0x20(r22) -/* 80309CAC 0030590C 7C 67 C8 50 */ subf r3, r7, r25 -/* 80309CB0 00305910 80 BD 00 04 */ lwz r5, 4(r29) -/* 80309CB4 00305914 7C 03 00 50 */ subf r0, r3, r0 -/* 80309CB8 00305918 7C 64 30 30 */ slw r4, r3, r6 -/* 80309CBC 0030591C 7F 03 C3 78 */ mr r3, r24 -/* 80309CC0 00305920 7C 85 22 14 */ add r4, r5, r4 -/* 80309CC4 00305924 7C 05 30 30 */ slw r5, r0, r6 -/* 80309CC8 00305928 4B FF B1 E5 */ bl func_80304EAC -/* 80309CCC 0030592C 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 80309CD0 00305930 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 80309CD4 00305934 7C 63 C8 50 */ subf r3, r3, r25 -/* 80309CD8 00305938 7C 03 00 50 */ subf r0, r3, r0 -/* 80309CDC 0030593C 7F 80 E0 50 */ subf r28, r0, r28 -lbl_80309CE0: -/* 80309CE0 00305940 2C 1D 00 00 */ cmpwi r29, 0 -/* 80309CE4 00305944 41 82 00 0C */ beq lbl_80309CF0 -/* 80309CE8 00305948 2C 1C 00 00 */ cmpwi r28, 0 -/* 80309CEC 0030594C 40 82 FE 54 */ bne lbl_80309B40 -lbl_80309CF0: -/* 80309CF0 00305950 80 1B 00 00 */ lwz r0, 0(r27) -/* 80309CF4 00305954 7C 00 D0 40 */ cmplw r0, r26 -/* 80309CF8 00305958 41 82 00 1C */ beq lbl_80309D14 -/* 80309CFC 0030595C 80 76 00 08 */ lwz r3, 8(r22) -/* 80309D00 00305960 7C 19 02 14 */ add r0, r25, r0 -/* 80309D04 00305964 7C 03 00 40 */ cmplw r3, r0 -/* 80309D08 00305968 41 82 00 0C */ beq lbl_80309D14 -/* 80309D0C 0030596C 38 60 00 11 */ li r3, 0x11 -/* 80309D10 00305970 48 00 00 08 */ b lbl_80309D18 -lbl_80309D14: -/* 80309D14 00305974 38 60 00 00 */ li r3, 0 -lbl_80309D18: -/* 80309D18 00305978 39 61 00 40 */ addi r11, r1, 0x40 -/* 80309D1C 0030597C 4B EB D4 41 */ bl _restgpr_21 -/* 80309D20 00305980 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80309D24 00305984 7C 08 03 A6 */ mtlr r0 -/* 80309D28 00305988 38 21 00 40 */ addi r1, r1, 0x40 -/* 80309D2C 0030598C 4E 80 00 20 */ blr - -.global func_80309D30 -func_80309D30: -/* 80309D30 00305990 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80309D34 00305994 7C 08 02 A6 */ mflr r0 -/* 80309D38 00305998 90 01 00 14 */ stw r0, 0x14(r1) -/* 80309D3C 0030599C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80309D40 003059A0 3B E0 00 00 */ li r31, 0 -/* 80309D44 003059A4 93 C1 00 08 */ stw r30, 8(r1) -/* 80309D48 003059A8 7C 7E 1B 78 */ mr r30, r3 -/* 80309D4C 003059AC 80 E4 00 00 */ lwz r7, 0(r4) -/* 80309D50 003059B0 7C 05 38 40 */ cmplw r5, r7 -/* 80309D54 003059B4 41 82 00 54 */ beq lbl_80309DA8 -/* 80309D58 003059B8 80 07 00 24 */ lwz r0, 0x24(r7) -/* 80309D5C 003059BC 7C 05 00 40 */ cmplw r5, r0 -/* 80309D60 003059C0 40 82 00 0C */ bne lbl_80309D6C -/* 80309D64 003059C4 90 A4 00 00 */ stw r5, 0(r4) -/* 80309D68 003059C8 48 00 00 40 */ b lbl_80309DA8 -lbl_80309D6C: -/* 80309D6C 003059CC 80 05 00 20 */ lwz r0, 0x20(r5) -/* 80309D70 003059D0 80 E5 00 24 */ lwz r7, 0x24(r5) -/* 80309D74 003059D4 90 07 00 20 */ stw r0, 0x20(r7) -/* 80309D78 003059D8 80 05 00 24 */ lwz r0, 0x24(r5) -/* 80309D7C 003059DC 80 E5 00 20 */ lwz r7, 0x20(r5) -/* 80309D80 003059E0 90 07 00 24 */ stw r0, 0x24(r7) -/* 80309D84 003059E4 81 04 00 00 */ lwz r8, 0(r4) -/* 80309D88 003059E8 91 05 00 20 */ stw r8, 0x20(r5) -/* 80309D8C 003059EC 80 E4 00 00 */ lwz r7, 0(r4) -/* 80309D90 003059F0 80 07 00 24 */ lwz r0, 0x24(r7) -/* 80309D94 003059F4 90 05 00 24 */ stw r0, 0x24(r5) -/* 80309D98 003059F8 90 A8 00 24 */ stw r5, 0x24(r8) -/* 80309D9C 003059FC 80 E5 00 24 */ lwz r7, 0x24(r5) -/* 80309DA0 00305A00 90 A7 00 20 */ stw r5, 0x20(r7) -/* 80309DA4 00305A04 90 A4 00 00 */ stw r5, 0(r4) -lbl_80309DA8: -/* 80309DA8 00305A08 80 05 00 0C */ lwz r0, 0xc(r5) -/* 80309DAC 00305A0C 2C 00 00 00 */ cmpwi r0, 0 -/* 80309DB0 00305A10 40 82 00 20 */ bne lbl_80309DD0 -/* 80309DB4 00305A14 A0 85 00 00 */ lhz r4, 0(r5) -/* 80309DB8 00305A18 80 05 00 08 */ lwz r0, 8(r5) -/* 80309DBC 00305A1C 60 84 00 02 */ ori r4, r4, 2 -/* 80309DC0 00305A20 B0 85 00 00 */ sth r4, 0(r5) -/* 80309DC4 00305A24 90 05 00 0C */ stw r0, 0xc(r5) -/* 80309DC8 00305A28 90 05 00 10 */ stw r0, 0x10(r5) -/* 80309DCC 00305A2C 48 00 00 28 */ b lbl_80309DF4 -lbl_80309DD0: -/* 80309DD0 00305A30 80 85 00 08 */ lwz r4, 8(r5) -/* 80309DD4 00305A34 7C 04 00 40 */ cmplw r4, r0 -/* 80309DD8 00305A38 40 80 00 0C */ bge lbl_80309DE4 -/* 80309DDC 00305A3C 90 85 00 0C */ stw r4, 0xc(r5) -/* 80309DE0 00305A40 48 00 00 14 */ b lbl_80309DF4 -lbl_80309DE4: -/* 80309DE4 00305A44 80 05 00 10 */ lwz r0, 0x10(r5) -/* 80309DE8 00305A48 7C 04 00 40 */ cmplw r4, r0 -/* 80309DEC 00305A4C 40 81 00 08 */ ble lbl_80309DF4 -/* 80309DF0 00305A50 90 85 00 10 */ stw r4, 0x10(r5) -lbl_80309DF4: -/* 80309DF4 00305A54 2C 06 00 00 */ cmpwi r6, 0 -/* 80309DF8 00305A58 41 82 00 10 */ beq lbl_80309E08 -/* 80309DFC 00305A5C 80 03 16 08 */ lwz r0, 0x1608(r3) -/* 80309E00 00305A60 90 05 00 1C */ stw r0, 0x1c(r5) -/* 80309E04 00305A64 48 00 00 0C */ b lbl_80309E10 -lbl_80309E08: -/* 80309E08 00305A68 38 00 00 00 */ li r0, 0 -/* 80309E0C 00305A6C 90 05 00 1C */ stw r0, 0x1c(r5) -lbl_80309E10: -/* 80309E10 00305A70 80 63 15 E8 */ lwz r3, 0x15e8(r3) -/* 80309E14 00305A74 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 80309E18 00305A78 40 82 00 18 */ bne lbl_80309E30 -/* 80309E1C 00305A7C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d -/* 80309E20 00305A80 41 82 00 74 */ beq lbl_80309E94 -/* 80309E24 00305A84 A0 05 00 00 */ lhz r0, 0(r5) -/* 80309E28 00305A88 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80309E2C 00305A8C 41 82 00 68 */ beq lbl_80309E94 -lbl_80309E30: -/* 80309E30 00305A90 2C 05 00 00 */ cmpwi r5, 0 -/* 80309E34 00305A94 41 82 00 24 */ beq lbl_80309E58 -/* 80309E38 00305A98 A0 05 00 00 */ lhz r0, 0(r5) -/* 80309E3C 00305A9C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80309E40 00305AA0 41 82 00 18 */ beq lbl_80309E58 -/* 80309E44 00305AA4 80 65 00 18 */ lwz r3, 0x18(r5) -/* 80309E48 00305AA8 3C 03 00 01 */ addis r0, r3, 1 -/* 80309E4C 00305AAC 28 00 FF FF */ cmplwi r0, 0xffff -/* 80309E50 00305AB0 41 82 00 08 */ beq lbl_80309E58 -/* 80309E54 00305AB4 3B E0 00 01 */ li r31, 1 -lbl_80309E58: -/* 80309E58 00305AB8 7F C3 F3 78 */ mr r3, r30 -/* 80309E5C 00305ABC 7C A4 2B 78 */ mr r4, r5 -/* 80309E60 00305AC0 4B FF F4 5D */ bl func_803092BC -/* 80309E64 00305AC4 2C 03 00 00 */ cmpwi r3, 0 -/* 80309E68 00305AC8 41 82 00 08 */ beq lbl_80309E70 -/* 80309E6C 00305ACC 48 00 00 2C */ b lbl_80309E98 -lbl_80309E70: -/* 80309E70 00305AD0 2C 1F 00 00 */ cmpwi r31, 0 -/* 80309E74 00305AD4 41 82 00 20 */ beq lbl_80309E94 -/* 80309E78 00305AD8 7F C3 F3 78 */ mr r3, r30 -/* 80309E7C 00305ADC 38 80 00 01 */ li r4, 1 -/* 80309E80 00305AE0 48 01 1F 21 */ bl func_8031BDA0 -/* 80309E84 00305AE4 2C 03 00 00 */ cmpwi r3, 0 -/* 80309E88 00305AE8 41 82 00 0C */ beq lbl_80309E94 -/* 80309E8C 00305AEC 38 60 00 11 */ li r3, 0x11 -/* 80309E90 00305AF0 48 00 00 08 */ b lbl_80309E98 -lbl_80309E94: -/* 80309E94 00305AF4 38 60 00 00 */ li r3, 0 -lbl_80309E98: -/* 80309E98 00305AF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80309E9C 00305AFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80309EA0 00305B00 83 C1 00 08 */ lwz r30, 8(r1) -/* 80309EA4 00305B04 7C 08 03 A6 */ mtlr r0 -/* 80309EA8 00305B08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80309EAC 00305B0C 4E 80 00 20 */ blr - -.global func_80309EB0 -func_80309EB0: -/* 80309EB0 00305B10 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80309EB4 00305B14 7C 08 02 A6 */ mflr r0 -/* 80309EB8 00305B18 90 01 00 34 */ stw r0, 0x34(r1) -/* 80309EBC 00305B1C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80309EC0 00305B20 4B EB D2 69 */ bl _savegpr_27 -/* 80309EC4 00305B24 7C DD 33 78 */ mr r29, r6 -/* 80309EC8 00305B28 80 84 00 00 */ lwz r4, 0(r4) -/* 80309ECC 00305B2C 7C BC 2B 78 */ mr r28, r5 -/* 80309ED0 00305B30 7C 7B 1B 78 */ mr r27, r3 -/* 80309ED4 00305B34 7F A5 EB 78 */ mr r5, r29 -/* 80309ED8 00305B38 3B C0 00 00 */ li r30, 0 -/* 80309EDC 00305B3C 4B FF F2 7D */ bl func_80309158 -/* 80309EE0 00305B40 2C 03 00 00 */ cmpwi r3, 0 -/* 80309EE4 00305B44 7C 7F 1B 78 */ mr r31, r3 -/* 80309EE8 00305B48 41 82 00 C8 */ beq lbl_80309FB0 -/* 80309EEC 00305B4C 80 63 00 08 */ lwz r3, 8(r3) -/* 80309EF0 00305B50 7F 84 E3 78 */ mr r4, r28 -/* 80309EF4 00305B54 A0 BB 00 00 */ lhz r5, 0(r27) -/* 80309EF8 00305B58 4B FF AF B5 */ bl func_80304EAC -/* 80309EFC 00305B5C 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80309F00 00305B60 2C 00 00 00 */ cmpwi r0, 0 -/* 80309F04 00305B64 40 82 00 24 */ bne lbl_80309F28 -/* 80309F08 00305B68 A0 1F 00 00 */ lhz r0, 0(r31) -/* 80309F0C 00305B6C 60 00 00 02 */ ori r0, r0, 2 -/* 80309F10 00305B70 B0 1F 00 00 */ sth r0, 0(r31) -/* 80309F14 00305B74 80 1F 00 08 */ lwz r0, 8(r31) -/* 80309F18 00305B78 90 1F 00 0C */ stw r0, 0xc(r31) -/* 80309F1C 00305B7C 80 1F 00 08 */ lwz r0, 8(r31) -/* 80309F20 00305B80 90 1F 00 10 */ stw r0, 0x10(r31) -/* 80309F24 00305B84 48 00 00 28 */ b lbl_80309F4C -lbl_80309F28: -/* 80309F28 00305B88 80 7F 00 08 */ lwz r3, 8(r31) -/* 80309F2C 00305B8C 7C 03 00 40 */ cmplw r3, r0 -/* 80309F30 00305B90 40 80 00 0C */ bge lbl_80309F3C -/* 80309F34 00305B94 90 7F 00 0C */ stw r3, 0xc(r31) -/* 80309F38 00305B98 48 00 00 14 */ b lbl_80309F4C -lbl_80309F3C: -/* 80309F3C 00305B9C 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 80309F40 00305BA0 7C 03 00 40 */ cmplw r3, r0 -/* 80309F44 00305BA4 40 81 00 08 */ ble lbl_80309F4C -/* 80309F48 00305BA8 90 7F 00 10 */ stw r3, 0x10(r31) -lbl_80309F4C: -/* 80309F4C 00305BAC 2C 1F 00 00 */ cmpwi r31, 0 -/* 80309F50 00305BB0 41 82 00 24 */ beq lbl_80309F74 -/* 80309F54 00305BB4 A0 1F 00 00 */ lhz r0, 0(r31) -/* 80309F58 00305BB8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80309F5C 00305BBC 41 82 00 18 */ beq lbl_80309F74 -/* 80309F60 00305BC0 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 80309F64 00305BC4 3C 03 00 01 */ addis r0, r3, 1 -/* 80309F68 00305BC8 28 00 FF FF */ cmplwi r0, 0xffff -/* 80309F6C 00305BCC 41 82 00 08 */ beq lbl_80309F74 -/* 80309F70 00305BD0 3B C0 00 01 */ li r30, 1 -lbl_80309F74: -/* 80309F74 00305BD4 7F 63 DB 78 */ mr r3, r27 -/* 80309F78 00305BD8 7F E4 FB 78 */ mr r4, r31 -/* 80309F7C 00305BDC 4B FF F3 41 */ bl func_803092BC -/* 80309F80 00305BE0 2C 03 00 00 */ cmpwi r3, 0 -/* 80309F84 00305BE4 41 82 00 08 */ beq lbl_80309F8C -/* 80309F88 00305BE8 48 00 00 80 */ b lbl_8030A008 -lbl_80309F8C: -/* 80309F8C 00305BEC 2C 1E 00 00 */ cmpwi r30, 0 -/* 80309F90 00305BF0 41 82 00 74 */ beq lbl_8030A004 -/* 80309F94 00305BF4 7F 63 DB 78 */ mr r3, r27 -/* 80309F98 00305BF8 38 80 00 01 */ li r4, 1 -/* 80309F9C 00305BFC 48 01 1E 05 */ bl func_8031BDA0 -/* 80309FA0 00305C00 2C 03 00 00 */ cmpwi r3, 0 -/* 80309FA4 00305C04 41 82 00 60 */ beq lbl_8030A004 -/* 80309FA8 00305C08 38 60 00 11 */ li r3, 0x11 -/* 80309FAC 00305C0C 48 00 00 5C */ b lbl_8030A008 -lbl_80309FB0: -/* 80309FB0 00305C10 7F 63 DB 78 */ mr r3, r27 -/* 80309FB4 00305C14 7F 84 E3 78 */ mr r4, r28 -/* 80309FB8 00305C18 7F A5 EB 78 */ mr r5, r29 -/* 80309FBC 00305C1C 38 E1 00 08 */ addi r7, r1, 8 -/* 80309FC0 00305C20 38 C0 00 01 */ li r6, 1 -/* 80309FC4 00305C24 4B FF C2 7D */ bl func_80306240 -/* 80309FC8 00305C28 2C 03 00 00 */ cmpwi r3, 0 -/* 80309FCC 00305C2C 41 82 00 08 */ beq lbl_80309FD4 -/* 80309FD0 00305C30 48 00 00 38 */ b lbl_8030A008 -lbl_80309FD4: -/* 80309FD4 00305C34 80 01 00 08 */ lwz r0, 8(r1) -/* 80309FD8 00305C38 28 00 00 01 */ cmplwi r0, 1 -/* 80309FDC 00305C3C 41 82 00 0C */ beq lbl_80309FE8 -/* 80309FE0 00305C40 38 60 00 11 */ li r3, 0x11 -/* 80309FE4 00305C44 48 00 00 24 */ b lbl_8030A008 -lbl_80309FE8: -/* 80309FE8 00305C48 7F 63 DB 78 */ mr r3, r27 -/* 80309FEC 00305C4C 38 80 00 01 */ li r4, 1 -/* 80309FF0 00305C50 48 01 1D B1 */ bl func_8031BDA0 -/* 80309FF4 00305C54 2C 03 00 00 */ cmpwi r3, 0 -/* 80309FF8 00305C58 41 82 00 0C */ beq lbl_8030A004 -/* 80309FFC 00305C5C 38 60 00 11 */ li r3, 0x11 -/* 8030A000 00305C60 48 00 00 08 */ b lbl_8030A008 -lbl_8030A004: -/* 8030A004 00305C64 38 60 00 00 */ li r3, 0 -lbl_8030A008: -/* 8030A008 00305C68 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030A00C 00305C6C 4B EB D1 69 */ bl _restgpr_27 -/* 8030A010 00305C70 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030A014 00305C74 7C 08 03 A6 */ mtlr r0 -/* 8030A018 00305C78 38 21 00 30 */ addi r1, r1, 0x30 -/* 8030A01C 00305C7C 4E 80 00 20 */ blr - -.global func_8030A020 -func_8030A020: -/* 8030A020 00305C80 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8030A024 00305C84 7C 08 02 A6 */ mflr r0 -/* 8030A028 00305C88 90 01 00 34 */ stw r0, 0x34(r1) -/* 8030A02C 00305C8C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030A030 00305C90 4B EB D0 E9 */ bl _savegpr_23 -/* 8030A034 00305C94 3B C0 00 00 */ li r30, 0 -/* 8030A038 00305C98 7C FB 3B 78 */ mr r27, r7 -/* 8030A03C 00305C9C 93 C8 00 00 */ stw r30, 0(r8) -/* 8030A040 00305CA0 7C 77 1B 78 */ mr r23, r3 -/* 8030A044 00305CA4 7C 98 23 78 */ mr r24, r4 -/* 8030A048 00305CA8 7C B9 2B 78 */ mr r25, r5 -/* 8030A04C 00305CAC 7C DA 33 78 */ mr r26, r6 -/* 8030A050 00305CB0 7D 1C 43 78 */ mr r28, r8 -/* 8030A054 00305CB4 7F 7D DB 78 */ mr r29, r27 -/* 8030A058 00305CB8 7F E6 3A 14 */ add r31, r6, r7 -lbl_8030A05C: -/* 8030A05C 00305CBC 2C 1E 00 00 */ cmpwi r30, 0 -/* 8030A060 00305CC0 40 82 00 0C */ bne lbl_8030A06C -/* 8030A064 00305CC4 83 D8 00 00 */ lwz r30, 0(r24) -/* 8030A068 00305CC8 48 00 00 40 */ b lbl_8030A0A8 -lbl_8030A06C: -/* 8030A06C 00305CCC 83 DE 00 20 */ lwz r30, 0x20(r30) -/* 8030A070 00305CD0 80 18 00 00 */ lwz r0, 0(r24) -/* 8030A074 00305CD4 7C 1E 00 40 */ cmplw r30, r0 -/* 8030A078 00305CD8 40 82 00 30 */ bne lbl_8030A0A8 -/* 8030A07C 00305CDC 3B C0 00 00 */ li r30, 0 -/* 8030A080 00305CE0 48 00 00 38 */ b lbl_8030A0B8 -/* 8030A084 00305CE4 48 00 00 24 */ b lbl_8030A0A8 -lbl_8030A088: -/* 8030A088 00305CE8 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 8030A08C 00305CEC 3C 03 00 01 */ addis r0, r3, 1 -/* 8030A090 00305CF0 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030A094 00305CF4 41 82 00 10 */ beq lbl_8030A0A4 -/* 8030A098 00305CF8 80 1E 00 04 */ lwz r0, 4(r30) -/* 8030A09C 00305CFC 90 1E 00 08 */ stw r0, 8(r30) -/* 8030A0A0 00305D00 48 00 00 18 */ b lbl_8030A0B8 -lbl_8030A0A4: -/* 8030A0A4 00305D04 83 DE 00 20 */ lwz r30, 0x20(r30) -lbl_8030A0A8: -/* 8030A0A8 00305D08 A0 1E 00 00 */ lhz r0, 0(r30) -/* 8030A0AC 00305D0C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8030A0B0 00305D10 40 82 FF D8 */ bne lbl_8030A088 -/* 8030A0B4 00305D14 3B C0 00 00 */ li r30, 0 -lbl_8030A0B8: -/* 8030A0B8 00305D18 2C 1E 00 00 */ cmpwi r30, 0 -/* 8030A0BC 00305D1C 41 82 02 B0 */ beq lbl_8030A36C -/* 8030A0C0 00305D20 80 FE 00 18 */ lwz r7, 0x18(r30) -/* 8030A0C4 00305D24 3C 07 00 01 */ addis r0, r7, 1 -/* 8030A0C8 00305D28 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030A0CC 00305D2C 41 82 02 A0 */ beq lbl_8030A36C -/* 8030A0D0 00305D30 7C 07 D0 40 */ cmplw r7, r26 -/* 8030A0D4 00305D34 41 81 00 B0 */ bgt lbl_8030A184 -/* 8030A0D8 00305D38 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 8030A0DC 00305D3C 7C 07 02 14 */ add r0, r7, r0 -/* 8030A0E0 00305D40 7C 00 F8 40 */ cmplw r0, r31 -/* 8030A0E4 00305D44 41 80 00 A0 */ blt lbl_8030A184 -/* 8030A0E8 00305D48 88 B7 00 20 */ lbz r5, 0x20(r23) -/* 8030A0EC 00305D4C 7C 07 D0 50 */ subf r0, r7, r26 -/* 8030A0F0 00305D50 80 7E 00 04 */ lwz r3, 4(r30) -/* 8030A0F4 00305D54 7F 24 CB 78 */ mr r4, r25 -/* 8030A0F8 00305D58 7C 00 28 30 */ slw r0, r0, r5 -/* 8030A0FC 00305D5C 7F 65 28 30 */ slw r5, r27, r5 -/* 8030A100 00305D60 7C 63 02 14 */ add r3, r3, r0 -/* 8030A104 00305D64 4B FF AD A9 */ bl func_80304EAC -/* 8030A108 00305D68 80 7C 00 00 */ lwz r3, 0(r28) -/* 8030A10C 00305D6C 38 1B FF FF */ addi r0, r27, -1 -/* 8030A110 00305D70 7C 63 EA 14 */ add r3, r3, r29 -/* 8030A114 00305D74 3B A0 00 00 */ li r29, 0 -/* 8030A118 00305D78 90 7C 00 00 */ stw r3, 0(r28) -/* 8030A11C 00305D7C A0 7E 00 00 */ lhz r3, 0(r30) -/* 8030A120 00305D80 60 63 00 02 */ ori r3, r3, 2 -/* 8030A124 00305D84 B0 7E 00 00 */ sth r3, 0(r30) -/* 8030A128 00305D88 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 8030A12C 00305D8C 88 B7 00 20 */ lbz r5, 0x20(r23) -/* 8030A130 00305D90 80 DE 00 0C */ lwz r6, 0xc(r30) -/* 8030A134 00305D94 7C 63 D0 50 */ subf r3, r3, r26 -/* 8030A138 00305D98 80 9E 00 04 */ lwz r4, 4(r30) -/* 8030A13C 00305D9C 7C 63 28 30 */ slw r3, r3, r5 -/* 8030A140 00305DA0 2C 06 00 00 */ cmpwi r6, 0 -/* 8030A144 00305DA4 7C 00 28 30 */ slw r0, r0, r5 -/* 8030A148 00305DA8 7C 64 1A 14 */ add r3, r4, r3 -/* 8030A14C 00305DAC 7C 83 02 14 */ add r4, r3, r0 -/* 8030A150 00305DB0 40 82 00 10 */ bne lbl_8030A160 -/* 8030A154 00305DB4 90 7E 00 0C */ stw r3, 0xc(r30) -/* 8030A158 00305DB8 90 9E 00 10 */ stw r4, 0x10(r30) -/* 8030A15C 00305DBC 48 00 02 10 */ b lbl_8030A36C -lbl_8030A160: -/* 8030A160 00305DC0 7C 03 30 40 */ cmplw r3, r6 -/* 8030A164 00305DC4 40 80 00 0C */ bge lbl_8030A170 -/* 8030A168 00305DC8 90 7E 00 0C */ stw r3, 0xc(r30) -/* 8030A16C 00305DCC 48 00 02 00 */ b lbl_8030A36C -lbl_8030A170: -/* 8030A170 00305DD0 80 1E 00 10 */ lwz r0, 0x10(r30) -/* 8030A174 00305DD4 7C 00 20 40 */ cmplw r0, r4 -/* 8030A178 00305DD8 40 80 01 F4 */ bge lbl_8030A36C -/* 8030A17C 00305DDC 90 9E 00 10 */ stw r4, 0x10(r30) -/* 8030A180 00305DE0 48 00 01 EC */ b lbl_8030A36C -lbl_8030A184: -/* 8030A184 00305DE4 7C 07 D0 40 */ cmplw r7, r26 -/* 8030A188 00305DE8 41 80 00 78 */ blt lbl_8030A200 -/* 8030A18C 00305DEC 80 9E 00 14 */ lwz r4, 0x14(r30) -/* 8030A190 00305DF0 7C 07 22 14 */ add r0, r7, r4 -/* 8030A194 00305DF4 7C 00 F8 40 */ cmplw r0, r31 -/* 8030A198 00305DF8 41 81 00 68 */ bgt lbl_8030A200 -/* 8030A19C 00305DFC 88 B7 00 20 */ lbz r5, 0x20(r23) -/* 8030A1A0 00305E00 7C 1A 38 50 */ subf r0, r26, r7 -/* 8030A1A4 00305E04 80 7E 00 04 */ lwz r3, 4(r30) -/* 8030A1A8 00305E08 7C 00 28 30 */ slw r0, r0, r5 -/* 8030A1AC 00305E0C 7C 85 28 30 */ slw r5, r4, r5 -/* 8030A1B0 00305E10 7C 99 02 14 */ add r4, r25, r0 -/* 8030A1B4 00305E14 4B FF AC F9 */ bl func_80304EAC -/* 8030A1B8 00305E18 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 8030A1BC 00305E1C 80 1C 00 00 */ lwz r0, 0(r28) -/* 8030A1C0 00305E20 7F A3 E8 50 */ subf r29, r3, r29 -/* 8030A1C4 00305E24 7C 00 1A 14 */ add r0, r0, r3 -/* 8030A1C8 00305E28 90 1C 00 00 */ stw r0, 0(r28) -/* 8030A1CC 00305E2C A0 1E 00 00 */ lhz r0, 0(r30) -/* 8030A1D0 00305E30 60 00 00 02 */ ori r0, r0, 2 -/* 8030A1D4 00305E34 B0 1E 00 00 */ sth r0, 0(r30) -/* 8030A1D8 00305E38 80 1E 00 04 */ lwz r0, 4(r30) -/* 8030A1DC 00305E3C 90 1E 00 0C */ stw r0, 0xc(r30) -/* 8030A1E0 00305E40 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 8030A1E4 00305E44 88 17 00 20 */ lbz r0, 0x20(r23) -/* 8030A1E8 00305E48 38 63 FF FF */ addi r3, r3, -1 -/* 8030A1EC 00305E4C 80 9E 00 04 */ lwz r4, 4(r30) -/* 8030A1F0 00305E50 7C 60 00 30 */ slw r0, r3, r0 -/* 8030A1F4 00305E54 7C 04 02 14 */ add r0, r4, r0 -/* 8030A1F8 00305E58 90 1E 00 10 */ stw r0, 0x10(r30) -/* 8030A1FC 00305E5C 48 00 01 70 */ b lbl_8030A36C -lbl_8030A200: -/* 8030A200 00305E60 7C 07 D0 40 */ cmplw r7, r26 -/* 8030A204 00305E64 40 81 00 A0 */ ble lbl_8030A2A4 -/* 8030A208 00305E68 7C 07 F8 40 */ cmplw r7, r31 -/* 8030A20C 00305E6C 40 80 00 98 */ bge lbl_8030A2A4 -/* 8030A210 00305E70 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 8030A214 00305E74 7C 07 02 14 */ add r0, r7, r0 -/* 8030A218 00305E78 7C 00 F8 40 */ cmplw r0, r31 -/* 8030A21C 00305E7C 41 80 00 88 */ blt lbl_8030A2A4 -/* 8030A220 00305E80 88 B7 00 20 */ lbz r5, 0x20(r23) -/* 8030A224 00305E84 7C 9A 38 50 */ subf r4, r26, r7 -/* 8030A228 00305E88 7C 07 F8 50 */ subf r0, r7, r31 -/* 8030A22C 00305E8C 80 7E 00 04 */ lwz r3, 4(r30) -/* 8030A230 00305E90 7C 84 28 30 */ slw r4, r4, r5 -/* 8030A234 00305E94 7C 99 22 14 */ add r4, r25, r4 -/* 8030A238 00305E98 7C 05 28 30 */ slw r5, r0, r5 -/* 8030A23C 00305E9C 4B FF AC 71 */ bl func_80304EAC -/* 8030A240 00305EA0 80 BE 00 18 */ lwz r5, 0x18(r30) -/* 8030A244 00305EA4 7C 9B D2 14 */ add r4, r27, r26 -/* 8030A248 00305EA8 80 1C 00 00 */ lwz r0, 0(r28) -/* 8030A24C 00305EAC 38 64 FF FF */ addi r3, r4, -1 -/* 8030A250 00305EB0 7C 85 20 50 */ subf r4, r5, r4 -/* 8030A254 00305EB4 7C 00 22 14 */ add r0, r0, r4 -/* 8030A258 00305EB8 90 1C 00 00 */ stw r0, 0(r28) -/* 8030A25C 00305EBC 7F A4 E8 50 */ subf r29, r4, r29 -/* 8030A260 00305EC0 A0 1E 00 00 */ lhz r0, 0(r30) -/* 8030A264 00305EC4 60 00 00 02 */ ori r0, r0, 2 -/* 8030A268 00305EC8 B0 1E 00 00 */ sth r0, 0(r30) -/* 8030A26C 00305ECC 80 9E 00 18 */ lwz r4, 0x18(r30) -/* 8030A270 00305ED0 80 BE 00 04 */ lwz r5, 4(r30) -/* 8030A274 00305ED4 88 17 00 20 */ lbz r0, 0x20(r23) -/* 8030A278 00305ED8 7C 64 18 50 */ subf r3, r4, r3 -/* 8030A27C 00305EDC 7C 60 00 30 */ slw r0, r3, r0 -/* 8030A280 00305EE0 90 BE 00 0C */ stw r5, 0xc(r30) -/* 8030A284 00305EE4 7C 65 02 14 */ add r3, r5, r0 -/* 8030A288 00305EE8 80 1E 00 10 */ lwz r0, 0x10(r30) -/* 8030A28C 00305EEC 2C 00 00 00 */ cmpwi r0, 0 -/* 8030A290 00305EF0 41 82 00 0C */ beq lbl_8030A29C -/* 8030A294 00305EF4 7C 00 18 40 */ cmplw r0, r3 -/* 8030A298 00305EF8 40 80 00 D4 */ bge lbl_8030A36C -lbl_8030A29C: -/* 8030A29C 00305EFC 90 7E 00 10 */ stw r3, 0x10(r30) -/* 8030A2A0 00305F00 48 00 00 CC */ b lbl_8030A36C -lbl_8030A2A4: -/* 8030A2A4 00305F04 7C 07 D0 40 */ cmplw r7, r26 -/* 8030A2A8 00305F08 40 80 00 C4 */ bge lbl_8030A36C -/* 8030A2AC 00305F0C 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 8030A2B0 00305F10 7C 67 02 14 */ add r3, r7, r0 -/* 8030A2B4 00305F14 7C 03 D0 40 */ cmplw r3, r26 -/* 8030A2B8 00305F18 40 81 00 B4 */ ble lbl_8030A36C -/* 8030A2BC 00305F1C 7C 03 F8 40 */ cmplw r3, r31 -/* 8030A2C0 00305F20 41 81 00 AC */ bgt lbl_8030A36C -/* 8030A2C4 00305F24 88 D7 00 20 */ lbz r6, 0x20(r23) -/* 8030A2C8 00305F28 7C 67 D0 50 */ subf r3, r7, r26 -/* 8030A2CC 00305F2C 80 BE 00 04 */ lwz r5, 4(r30) -/* 8030A2D0 00305F30 7C 03 00 50 */ subf r0, r3, r0 -/* 8030A2D4 00305F34 7C 63 30 30 */ slw r3, r3, r6 -/* 8030A2D8 00305F38 7F 24 CB 78 */ mr r4, r25 -/* 8030A2DC 00305F3C 7C 65 1A 14 */ add r3, r5, r3 -/* 8030A2E0 00305F40 7C 05 30 30 */ slw r5, r0, r6 -/* 8030A2E4 00305F44 4B FF AB C9 */ bl func_80304EAC -/* 8030A2E8 00305F48 80 1E 00 18 */ lwz r0, 0x18(r30) -/* 8030A2EC 00305F4C 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 8030A2F0 00305F50 7C 80 D0 50 */ subf r4, r0, r26 -/* 8030A2F4 00305F54 80 1C 00 00 */ lwz r0, 0(r28) -/* 8030A2F8 00305F58 7C 64 18 50 */ subf r3, r4, r3 -/* 8030A2FC 00305F5C 7C 00 1A 14 */ add r0, r0, r3 -/* 8030A300 00305F60 90 1C 00 00 */ stw r0, 0(r28) -/* 8030A304 00305F64 7F A3 E8 50 */ subf r29, r3, r29 -/* 8030A308 00305F68 A0 1E 00 00 */ lhz r0, 0(r30) -/* 8030A30C 00305F6C 60 00 00 02 */ ori r0, r0, 2 -/* 8030A310 00305F70 B0 1E 00 00 */ sth r0, 0(r30) -/* 8030A314 00305F74 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 8030A318 00305F78 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 8030A31C 00305F7C 7C 63 D0 50 */ subf r3, r3, r26 -/* 8030A320 00305F80 80 BE 00 0C */ lwz r5, 0xc(r30) -/* 8030A324 00305F84 7C 63 00 50 */ subf r3, r3, r0 -/* 8030A328 00305F88 88 17 00 20 */ lbz r0, 0x20(r23) -/* 8030A32C 00305F8C 38 63 FF FF */ addi r3, r3, -1 -/* 8030A330 00305F90 2C 05 00 00 */ cmpwi r5, 0 -/* 8030A334 00305F94 80 9E 00 04 */ lwz r4, 4(r30) -/* 8030A338 00305F98 7C 60 00 30 */ slw r0, r3, r0 -/* 8030A33C 00305F9C 7C 04 02 14 */ add r0, r4, r0 -/* 8030A340 00305FA0 41 82 00 0C */ beq lbl_8030A34C -/* 8030A344 00305FA4 7C 00 28 40 */ cmplw r0, r5 -/* 8030A348 00305FA8 40 80 00 08 */ bge lbl_8030A350 -lbl_8030A34C: -/* 8030A34C 00305FAC 90 1E 00 0C */ stw r0, 0xc(r30) -lbl_8030A350: -/* 8030A350 00305FB0 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 8030A354 00305FB4 88 17 00 20 */ lbz r0, 0x20(r23) -/* 8030A358 00305FB8 38 63 FF FF */ addi r3, r3, -1 -/* 8030A35C 00305FBC 80 9E 00 04 */ lwz r4, 4(r30) -/* 8030A360 00305FC0 7C 60 00 30 */ slw r0, r3, r0 -/* 8030A364 00305FC4 7C 04 02 14 */ add r0, r4, r0 -/* 8030A368 00305FC8 90 1E 00 10 */ stw r0, 0x10(r30) -lbl_8030A36C: -/* 8030A36C 00305FCC 2C 1E 00 00 */ cmpwi r30, 0 -/* 8030A370 00305FD0 41 82 00 0C */ beq lbl_8030A37C -/* 8030A374 00305FD4 2C 1D 00 00 */ cmpwi r29, 0 -/* 8030A378 00305FD8 40 82 FC E4 */ bne lbl_8030A05C -lbl_8030A37C: -/* 8030A37C 00305FDC 2C 1D 00 00 */ cmpwi r29, 0 -/* 8030A380 00305FE0 40 82 00 10 */ bne lbl_8030A390 -/* 8030A384 00305FE4 80 17 15 E8 */ lwz r0, 0x15e8(r23) -/* 8030A388 00305FE8 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8030A38C 00305FEC 41 82 00 44 */ beq lbl_8030A3D0 -lbl_8030A390: -/* 8030A390 00305FF0 7E E3 BB 78 */ mr r3, r23 -/* 8030A394 00305FF4 7F 24 CB 78 */ mr r4, r25 -/* 8030A398 00305FF8 7F 45 D3 78 */ mr r5, r26 -/* 8030A39C 00305FFC 7F 66 DB 78 */ mr r6, r27 -/* 8030A3A0 00306000 7F 87 E3 78 */ mr r7, r28 -/* 8030A3A4 00306004 4B FF BE 9D */ bl func_80306240 -/* 8030A3A8 00306008 2C 03 00 00 */ cmpwi r3, 0 -/* 8030A3AC 0030600C 41 82 00 08 */ beq lbl_8030A3B4 -/* 8030A3B0 00306010 48 00 00 60 */ b lbl_8030A410 -lbl_8030A3B4: -/* 8030A3B4 00306014 7E E3 BB 78 */ mr r3, r23 -/* 8030A3B8 00306018 38 80 00 01 */ li r4, 1 -/* 8030A3BC 0030601C 48 01 19 E5 */ bl func_8031BDA0 -/* 8030A3C0 00306020 2C 03 00 00 */ cmpwi r3, 0 -/* 8030A3C4 00306024 41 82 00 0C */ beq lbl_8030A3D0 -/* 8030A3C8 00306028 38 60 00 11 */ li r3, 0x11 -/* 8030A3CC 0030602C 48 00 00 44 */ b lbl_8030A410 -lbl_8030A3D0: -/* 8030A3D0 00306030 80 17 15 E8 */ lwz r0, 0x15e8(r23) -/* 8030A3D4 00306034 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8030A3D8 00306038 41 82 00 34 */ beq lbl_8030A40C -/* 8030A3DC 0030603C 7C 1B E8 40 */ cmplw r27, r29 -/* 8030A3E0 00306040 41 82 00 2C */ beq lbl_8030A40C -/* 8030A3E4 00306044 80 97 15 F8 */ lwz r4, 0x15f8(r23) -/* 8030A3E8 00306048 7C 85 23 78 */ mr r5, r4 -lbl_8030A3EC: -/* 8030A3EC 0030604C A0 65 00 00 */ lhz r3, 0(r5) -/* 8030A3F0 00306050 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 8030A3F4 00306054 41 82 00 18 */ beq lbl_8030A40C -/* 8030A3F8 00306058 54 60 07 FA */ rlwinm r0, r3, 0, 0x1f, 0x1d -/* 8030A3FC 0030605C B0 05 00 00 */ sth r0, 0(r5) -/* 8030A400 00306060 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 8030A404 00306064 7C 05 20 40 */ cmplw r5, r4 -/* 8030A408 00306068 40 82 FF E4 */ bne lbl_8030A3EC -lbl_8030A40C: -/* 8030A40C 0030606C 38 60 00 00 */ li r3, 0 -lbl_8030A410: -/* 8030A410 00306070 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030A414 00306074 4B EB CD 51 */ bl _restgpr_23 -/* 8030A418 00306078 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030A41C 0030607C 7C 08 03 A6 */ mtlr r0 -/* 8030A420 00306080 38 21 00 30 */ addi r1, r1, 0x30 -/* 8030A424 00306084 4E 80 00 20 */ blr - -.global func_8030A428 -func_8030A428: -/* 8030A428 00306088 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8030A42C 0030608C 7C 08 02 A6 */ mflr r0 -/* 8030A430 00306090 90 01 00 24 */ stw r0, 0x24(r1) -/* 8030A434 00306094 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030A438 00306098 4B EB CC ED */ bl _savegpr_26 -/* 8030A43C 0030609C A0 04 00 00 */ lhz r0, 0(r4) -/* 8030A440 003060A0 7C 9B 23 78 */ mr r27, r4 -/* 8030A444 003060A4 7C 7A 1B 78 */ mr r26, r3 -/* 8030A448 003060A8 3B 80 00 00 */ li r28, 0 -/* 8030A44C 003060AC 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8030A450 003060B0 7F 7F DB 78 */ mr r31, r27 -/* 8030A454 003060B4 3B C0 00 00 */ li r30, 0 -/* 8030A458 003060B8 40 82 00 0C */ bne lbl_8030A464 -/* 8030A45C 003060BC 38 60 00 00 */ li r3, 0 -/* 8030A460 003060C0 48 00 00 B0 */ b lbl_8030A510 -lbl_8030A464: -/* 8030A464 003060C4 A0 7F 00 00 */ lhz r3, 0(r31) -/* 8030A468 003060C8 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 8030A46C 003060CC 41 82 00 6C */ beq lbl_8030A4D8 -/* 8030A470 003060D0 2C 1F 00 00 */ cmpwi r31, 0 -/* 8030A474 003060D4 3B A0 00 00 */ li r29, 0 -/* 8030A478 003060D8 41 82 00 20 */ beq lbl_8030A498 -/* 8030A47C 003060DC 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e -/* 8030A480 003060E0 41 82 00 18 */ beq lbl_8030A498 -/* 8030A484 003060E4 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8030A488 003060E8 3C 03 00 01 */ addis r0, r3, 1 -/* 8030A48C 003060EC 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030A490 003060F0 41 82 00 08 */ beq lbl_8030A498 -/* 8030A494 003060F4 3B A0 00 01 */ li r29, 1 -lbl_8030A498: -/* 8030A498 003060F8 7F 43 D3 78 */ mr r3, r26 -/* 8030A49C 003060FC 7F E4 FB 78 */ mr r4, r31 -/* 8030A4A0 00306100 4B FF EE 1D */ bl func_803092BC -/* 8030A4A4 00306104 2C 1D 00 00 */ cmpwi r29, 0 -/* 8030A4A8 00306108 41 82 00 10 */ beq lbl_8030A4B8 -/* 8030A4AC 0030610C 2C 03 00 00 */ cmpwi r3, 0 -/* 8030A4B0 00306110 40 82 00 08 */ bne lbl_8030A4B8 -/* 8030A4B4 00306114 3B 80 00 01 */ li r28, 1 -lbl_8030A4B8: -/* 8030A4B8 00306118 2C 03 00 00 */ cmpwi r3, 0 -/* 8030A4BC 0030611C 41 82 00 10 */ beq lbl_8030A4CC -/* 8030A4C0 00306120 2C 1E 00 00 */ cmpwi r30, 0 -/* 8030A4C4 00306124 40 82 00 08 */ bne lbl_8030A4CC -/* 8030A4C8 00306128 7C 7E 1B 78 */ mr r30, r3 -lbl_8030A4CC: -/* 8030A4CC 0030612C 83 FF 00 20 */ lwz r31, 0x20(r31) -/* 8030A4D0 00306130 7C 1F D8 40 */ cmplw r31, r27 -/* 8030A4D4 00306134 40 82 FF 90 */ bne lbl_8030A464 -lbl_8030A4D8: -/* 8030A4D8 00306138 2C 1C 00 00 */ cmpwi r28, 0 -/* 8030A4DC 0030613C 41 82 00 30 */ beq lbl_8030A50C -/* 8030A4E0 00306140 7F C0 00 34 */ cntlzw r0, r30 -/* 8030A4E4 00306144 7F 43 D3 78 */ mr r3, r26 -/* 8030A4E8 00306148 54 1C D9 7E */ srwi r28, r0, 5 -/* 8030A4EC 0030614C 7F 84 E3 78 */ mr r4, r28 -/* 8030A4F0 00306150 48 01 18 B1 */ bl func_8031BDA0 -/* 8030A4F4 00306154 2C 03 00 00 */ cmpwi r3, 0 -/* 8030A4F8 00306158 41 82 00 14 */ beq lbl_8030A50C -/* 8030A4FC 0030615C 2C 1C 00 01 */ cmpwi r28, 1 -/* 8030A500 00306160 40 82 00 0C */ bne lbl_8030A50C -/* 8030A504 00306164 38 60 00 11 */ li r3, 0x11 -/* 8030A508 00306168 48 00 00 08 */ b lbl_8030A510 -lbl_8030A50C: -/* 8030A50C 0030616C 7F C3 F3 78 */ mr r3, r30 -lbl_8030A510: -/* 8030A510 00306170 39 61 00 20 */ addi r11, r1, 0x20 -/* 8030A514 00306174 4B EB CC 5D */ bl _restgpr_26 -/* 8030A518 00306178 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8030A51C 0030617C 7C 08 03 A6 */ mtlr r0 -/* 8030A520 00306180 38 21 00 20 */ addi r1, r1, 0x20 -/* 8030A524 00306184 4E 80 00 20 */ blr - -.global func_8030A528 -func_8030A528: -/* 8030A528 00306188 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A52C 0030618C 7C 08 02 A6 */ mflr r0 -/* 8030A530 00306190 38 80 00 00 */ li r4, 0 -/* 8030A534 00306194 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A538 00306198 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8030A53C 0030619C 7C 7F 1B 78 */ mr r31, r3 -/* 8030A540 003061A0 80 03 15 E8 */ lwz r0, 0x15e8(r3) -/* 8030A544 003061A4 A0 A3 15 EC */ lhz r5, 0x15ec(r3) -/* 8030A548 003061A8 54 06 00 3C */ rlwinm r6, r0, 0, 0, 0x1e -/* 8030A54C 003061AC A0 03 15 EE */ lhz r0, 0x15ee(r3) -/* 8030A550 003061B0 60 C6 00 02 */ ori r6, r6, 2 -/* 8030A554 003061B4 54 C6 07 B8 */ rlwinm r6, r6, 0, 0x1e, 0x1c -/* 8030A558 003061B8 7C 05 02 14 */ add r0, r5, r0 -/* 8030A55C 003061BC 90 C3 15 E8 */ stw r6, 0x15e8(r3) -/* 8030A560 003061C0 54 05 48 2C */ slwi r5, r0, 9 -/* 8030A564 003061C4 80 63 15 FC */ lwz r3, 0x15fc(r3) -/* 8030A568 003061C8 4B FF AA 6D */ bl func_80304FD4 -/* 8030A56C 003061CC 80 BF 15 F0 */ lwz r5, 0x15f0(r31) -/* 8030A570 003061D0 7F E3 FB 78 */ mr r3, r31 -/* 8030A574 003061D4 80 DF 15 FC */ lwz r6, 0x15fc(r31) -/* 8030A578 003061D8 38 9F 15 F4 */ addi r4, r31, 0x15f4 -/* 8030A57C 003061DC A0 FF 15 EC */ lhz r7, 0x15ec(r31) -/* 8030A580 003061E0 39 20 00 01 */ li r9, 1 -/* 8030A584 003061E4 81 1F 16 00 */ lwz r8, 0x1600(r31) -/* 8030A588 003061E8 4B FF E9 51 */ bl func_80308ED8 -/* 8030A58C 003061EC 2C 03 00 00 */ cmpwi r3, 0 -/* 8030A590 003061F0 41 82 00 08 */ beq lbl_8030A598 -/* 8030A594 003061F4 48 00 00 48 */ b lbl_8030A5DC -lbl_8030A598: -/* 8030A598 003061F8 A0 1F 15 EC */ lhz r0, 0x15ec(r31) -/* 8030A59C 003061FC 7F E3 FB 78 */ mr r3, r31 -/* 8030A5A0 00306200 81 5F 15 F0 */ lwz r10, 0x15f0(r31) -/* 8030A5A4 00306204 38 9F 15 F8 */ addi r4, r31, 0x15f8 -/* 8030A5A8 00306208 1C A0 00 28 */ mulli r5, r0, 0x28 -/* 8030A5AC 0030620C 80 DF 15 FC */ lwz r6, 0x15fc(r31) -/* 8030A5B0 00306210 54 00 48 2C */ slwi r0, r0, 9 -/* 8030A5B4 00306214 A0 FF 15 EE */ lhz r7, 0x15ee(r31) -/* 8030A5B8 00306218 81 1F 16 04 */ lwz r8, 0x1604(r31) -/* 8030A5BC 0030621C 39 20 00 00 */ li r9, 0 -/* 8030A5C0 00306220 7C AA 2A 14 */ add r5, r10, r5 -/* 8030A5C4 00306224 7C C6 02 14 */ add r6, r6, r0 -/* 8030A5C8 00306228 4B FF E9 11 */ bl func_80308ED8 -/* 8030A5CC 0030622C 7C 03 00 D0 */ neg r0, r3 -/* 8030A5D0 00306230 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A5D4 00306234 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A5D8 00306238 7C 63 00 38 */ and r3, r3, r0 -lbl_8030A5DC: -/* 8030A5DC 0030623C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A5E0 00306240 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8030A5E4 00306244 7C 08 03 A6 */ mtlr r0 -/* 8030A5E8 00306248 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A5EC 0030624C 4E 80 00 20 */ blr - -.global func_8030A5F0 -func_8030A5F0: -/* 8030A5F0 00306250 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8030A5F4 00306254 2C 00 00 00 */ cmpwi r0, 0 -/* 8030A5F8 00306258 40 82 00 20 */ bne lbl_8030A618 -/* 8030A5FC 0030625C A0 83 00 00 */ lhz r4, 0(r3) -/* 8030A600 00306260 80 03 00 08 */ lwz r0, 8(r3) -/* 8030A604 00306264 60 84 00 02 */ ori r4, r4, 2 -/* 8030A608 00306268 B0 83 00 00 */ sth r4, 0(r3) -/* 8030A60C 0030626C 90 03 00 0C */ stw r0, 0xc(r3) -/* 8030A610 00306270 90 03 00 10 */ stw r0, 0x10(r3) -/* 8030A614 00306274 48 00 00 28 */ b lbl_8030A63C -lbl_8030A618: -/* 8030A618 00306278 80 83 00 08 */ lwz r4, 8(r3) -/* 8030A61C 0030627C 7C 04 00 40 */ cmplw r4, r0 -/* 8030A620 00306280 40 80 00 0C */ bge lbl_8030A62C -/* 8030A624 00306284 90 83 00 0C */ stw r4, 0xc(r3) -/* 8030A628 00306288 48 00 00 14 */ b lbl_8030A63C -lbl_8030A62C: -/* 8030A62C 0030628C 80 03 00 10 */ lwz r0, 0x10(r3) -/* 8030A630 00306290 7C 04 00 40 */ cmplw r4, r0 -/* 8030A634 00306294 40 81 00 08 */ ble lbl_8030A63C -/* 8030A638 00306298 90 83 00 10 */ stw r4, 0x10(r3) -lbl_8030A63C: -/* 8030A63C 0030629C 38 60 00 00 */ li r3, 0 -/* 8030A640 003062A0 4E 80 00 20 */ blr - -.global func_8030A644 -func_8030A644: -/* 8030A644 003062A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A648 003062A8 7C 08 02 A6 */ mflr r0 -/* 8030A64C 003062AC 7C A6 2B 78 */ mr r6, r5 -/* 8030A650 003062B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A654 003062B4 80 03 15 F4 */ lwz r0, 0x15f4(r3) -/* 8030A658 003062B8 2C 00 00 00 */ cmpwi r0, 0 -/* 8030A65C 003062BC 40 82 00 2C */ bne lbl_8030A688 -/* 8030A660 003062C0 80 03 15 FC */ lwz r0, 0x15fc(r3) -/* 8030A664 003062C4 80 83 15 F0 */ lwz r4, 0x15f0(r3) -/* 8030A668 003062C8 90 04 00 04 */ stw r0, 4(r4) -/* 8030A66C 003062CC 80 03 15 FC */ lwz r0, 0x15fc(r3) -/* 8030A670 003062D0 80 83 15 F0 */ lwz r4, 0x15f0(r3) -/* 8030A674 003062D4 90 04 00 08 */ stw r0, 8(r4) -/* 8030A678 003062D8 80 03 15 F0 */ lwz r0, 0x15f0(r3) -/* 8030A67C 003062DC 38 60 00 00 */ li r3, 0 -/* 8030A680 003062E0 90 05 00 00 */ stw r0, 0(r5) -/* 8030A684 003062E4 48 00 00 24 */ b lbl_8030A6A8 -lbl_8030A688: -/* 8030A688 003062E8 7C 85 23 78 */ mr r5, r4 -/* 8030A68C 003062EC 38 83 15 F4 */ addi r4, r3, 0x15f4 -/* 8030A690 003062F0 38 E1 00 08 */ addi r7, r1, 8 -/* 8030A694 003062F4 4B FF ED 29 */ bl func_803093BC -/* 8030A698 003062F8 7C 03 00 D0 */ neg r0, r3 -/* 8030A69C 003062FC 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A6A0 00306300 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A6A4 00306304 7C 63 00 38 */ and r3, r3, r0 -lbl_8030A6A8: -/* 8030A6A8 00306308 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A6AC 0030630C 7C 08 03 A6 */ mtlr r0 -/* 8030A6B0 00306310 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A6B4 00306314 4E 80 00 20 */ blr - -.global func_8030A6B8 -func_8030A6B8: -/* 8030A6B8 00306318 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A6BC 0030631C 7C 08 02 A6 */ mflr r0 -/* 8030A6C0 00306320 7C A6 2B 78 */ mr r6, r5 -/* 8030A6C4 00306324 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A6C8 00306328 80 03 15 F8 */ lwz r0, 0x15f8(r3) -/* 8030A6CC 0030632C 2C 00 00 00 */ cmpwi r0, 0 -/* 8030A6D0 00306330 40 82 00 2C */ bne lbl_8030A6FC -/* 8030A6D4 00306334 80 03 15 FC */ lwz r0, 0x15fc(r3) -/* 8030A6D8 00306338 80 83 15 F0 */ lwz r4, 0x15f0(r3) -/* 8030A6DC 0030633C 90 04 00 04 */ stw r0, 4(r4) -/* 8030A6E0 00306340 80 03 15 FC */ lwz r0, 0x15fc(r3) -/* 8030A6E4 00306344 80 83 15 F0 */ lwz r4, 0x15f0(r3) -/* 8030A6E8 00306348 90 04 00 08 */ stw r0, 8(r4) -/* 8030A6EC 0030634C 80 03 15 F0 */ lwz r0, 0x15f0(r3) -/* 8030A6F0 00306350 38 60 00 00 */ li r3, 0 -/* 8030A6F4 00306354 90 05 00 00 */ stw r0, 0(r5) -/* 8030A6F8 00306358 48 00 00 24 */ b lbl_8030A71C -lbl_8030A6FC: -/* 8030A6FC 0030635C 7C 85 23 78 */ mr r5, r4 -/* 8030A700 00306360 38 83 15 F8 */ addi r4, r3, 0x15f8 -/* 8030A704 00306364 38 E1 00 08 */ addi r7, r1, 8 -/* 8030A708 00306368 4B FF EC B5 */ bl func_803093BC -/* 8030A70C 0030636C 7C 03 00 D0 */ neg r0, r3 -/* 8030A710 00306370 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A714 00306374 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A718 00306378 7C 63 00 38 */ and r3, r3, r0 -lbl_8030A71C: -/* 8030A71C 0030637C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A720 00306380 7C 08 03 A6 */ mtlr r0 -/* 8030A724 00306384 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A728 00306388 4E 80 00 20 */ blr - -.global func_8030A72C -func_8030A72C: -/* 8030A72C 0030638C 80 03 15 F4 */ lwz r0, 0x15f4(r3) -/* 8030A730 00306390 2C 00 00 00 */ cmpwi r0, 0 -/* 8030A734 00306394 4D 82 00 20 */ beqlr -/* 8030A738 00306398 A0 A4 00 00 */ lhz r5, 0(r4) -/* 8030A73C 0030639C 38 C0 00 00 */ li r6, 0 -/* 8030A740 003063A0 38 00 FF FF */ li r0, -1 -/* 8030A744 003063A4 90 C4 00 0C */ stw r6, 0xc(r4) -/* 8030A748 003063A8 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d -/* 8030A74C 003063AC B0 A4 00 00 */ sth r5, 0(r4) -/* 8030A750 003063B0 90 C4 00 10 */ stw r6, 0x10(r4) -/* 8030A754 003063B4 90 04 00 18 */ stw r0, 0x18(r4) -/* 8030A758 003063B8 90 C4 00 1C */ stw r6, 0x1c(r4) -/* 8030A75C 003063BC 80 A3 15 F4 */ lwz r5, 0x15f4(r3) -/* 8030A760 003063C0 7C 04 28 40 */ cmplw r4, r5 -/* 8030A764 003063C4 40 82 00 10 */ bne lbl_8030A774 -/* 8030A768 003063C8 80 04 00 20 */ lwz r0, 0x20(r4) -/* 8030A76C 003063CC 90 03 15 F4 */ stw r0, 0x15f4(r3) -/* 8030A770 003063D0 4E 80 00 20 */ blr -lbl_8030A774: -/* 8030A774 003063D4 80 05 00 24 */ lwz r0, 0x24(r5) -/* 8030A778 003063D8 7C 04 00 40 */ cmplw r4, r0 -/* 8030A77C 003063DC 4D 82 00 20 */ beqlr -/* 8030A780 003063E0 80 04 00 20 */ lwz r0, 0x20(r4) -/* 8030A784 003063E4 80 A4 00 24 */ lwz r5, 0x24(r4) -/* 8030A788 003063E8 90 05 00 20 */ stw r0, 0x20(r5) -/* 8030A78C 003063EC 80 04 00 24 */ lwz r0, 0x24(r4) -/* 8030A790 003063F0 80 A4 00 20 */ lwz r5, 0x20(r4) -/* 8030A794 003063F4 90 05 00 24 */ stw r0, 0x24(r5) -/* 8030A798 003063F8 80 A3 15 F4 */ lwz r5, 0x15f4(r3) -/* 8030A79C 003063FC 90 A4 00 20 */ stw r5, 0x20(r4) -/* 8030A7A0 00306400 80 63 15 F4 */ lwz r3, 0x15f4(r3) -/* 8030A7A4 00306404 80 03 00 24 */ lwz r0, 0x24(r3) -/* 8030A7A8 00306408 90 04 00 24 */ stw r0, 0x24(r4) -/* 8030A7AC 0030640C 90 85 00 24 */ stw r4, 0x24(r5) -/* 8030A7B0 00306410 80 64 00 24 */ lwz r3, 0x24(r4) -/* 8030A7B4 00306414 90 83 00 20 */ stw r4, 0x20(r3) -/* 8030A7B8 00306418 4E 80 00 20 */ blr - -.global func_8030A7BC -func_8030A7BC: -/* 8030A7BC 0030641C 80 03 15 F8 */ lwz r0, 0x15f8(r3) -/* 8030A7C0 00306420 2C 00 00 00 */ cmpwi r0, 0 -/* 8030A7C4 00306424 4D 82 00 20 */ beqlr -/* 8030A7C8 00306428 A0 A4 00 00 */ lhz r5, 0(r4) -/* 8030A7CC 0030642C 38 C0 00 00 */ li r6, 0 -/* 8030A7D0 00306430 38 00 FF FF */ li r0, -1 -/* 8030A7D4 00306434 90 C4 00 0C */ stw r6, 0xc(r4) -/* 8030A7D8 00306438 54 A5 04 3A */ rlwinm r5, r5, 0, 0x10, 0x1d -/* 8030A7DC 0030643C B0 A4 00 00 */ sth r5, 0(r4) -/* 8030A7E0 00306440 90 C4 00 10 */ stw r6, 0x10(r4) -/* 8030A7E4 00306444 90 04 00 18 */ stw r0, 0x18(r4) -/* 8030A7E8 00306448 90 C4 00 1C */ stw r6, 0x1c(r4) -/* 8030A7EC 0030644C 80 A3 15 F8 */ lwz r5, 0x15f8(r3) -/* 8030A7F0 00306450 7C 04 28 40 */ cmplw r4, r5 -/* 8030A7F4 00306454 40 82 00 10 */ bne lbl_8030A804 -/* 8030A7F8 00306458 80 04 00 20 */ lwz r0, 0x20(r4) -/* 8030A7FC 0030645C 90 03 15 F8 */ stw r0, 0x15f8(r3) -/* 8030A800 00306460 4E 80 00 20 */ blr -lbl_8030A804: -/* 8030A804 00306464 80 05 00 24 */ lwz r0, 0x24(r5) -/* 8030A808 00306468 7C 04 00 40 */ cmplw r4, r0 -/* 8030A80C 0030646C 4D 82 00 20 */ beqlr -/* 8030A810 00306470 80 04 00 20 */ lwz r0, 0x20(r4) -/* 8030A814 00306474 80 A4 00 24 */ lwz r5, 0x24(r4) -/* 8030A818 00306478 90 05 00 20 */ stw r0, 0x20(r5) -/* 8030A81C 0030647C 80 04 00 24 */ lwz r0, 0x24(r4) -/* 8030A820 00306480 80 A4 00 20 */ lwz r5, 0x20(r4) -/* 8030A824 00306484 90 05 00 24 */ stw r0, 0x24(r5) -/* 8030A828 00306488 80 A3 15 F8 */ lwz r5, 0x15f8(r3) -/* 8030A82C 0030648C 90 A4 00 20 */ stw r5, 0x20(r4) -/* 8030A830 00306490 80 63 15 F8 */ lwz r3, 0x15f8(r3) -/* 8030A834 00306494 80 03 00 24 */ lwz r0, 0x24(r3) -/* 8030A838 00306498 90 04 00 24 */ stw r0, 0x24(r4) -/* 8030A83C 0030649C 90 85 00 24 */ stw r4, 0x24(r5) -/* 8030A840 003064A0 80 64 00 24 */ lwz r3, 0x24(r4) -/* 8030A844 003064A4 90 83 00 20 */ stw r4, 0x20(r3) -/* 8030A848 003064A8 4E 80 00 20 */ blr - -.global func_8030A84C -func_8030A84C: -/* 8030A84C 003064AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A850 003064B0 7C 08 02 A6 */ mflr r0 -/* 8030A854 003064B4 7C A6 2B 78 */ mr r6, r5 -/* 8030A858 003064B8 7C 85 23 78 */ mr r5, r4 -/* 8030A85C 003064BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A860 003064C0 38 83 15 F4 */ addi r4, r3, 0x15f4 -/* 8030A864 003064C4 38 E0 00 00 */ li r7, 0 -/* 8030A868 003064C8 4B FF ED CD */ bl func_80309634 -/* 8030A86C 003064CC 7C 03 00 D0 */ neg r0, r3 -/* 8030A870 003064D0 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A874 003064D4 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A878 003064D8 7C 63 00 38 */ and r3, r3, r0 -/* 8030A87C 003064DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A880 003064E0 7C 08 03 A6 */ mtlr r0 -/* 8030A884 003064E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A888 003064E8 4E 80 00 20 */ blr - -.global func_8030A88C -func_8030A88C: -/* 8030A88C 003064EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A890 003064F0 7C 08 02 A6 */ mflr r0 -/* 8030A894 003064F4 7C 88 23 78 */ mr r8, r4 -/* 8030A898 003064F8 7C C7 33 78 */ mr r7, r6 -/* 8030A89C 003064FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A8A0 00306500 7C A0 2B 78 */ mr r0, r5 -/* 8030A8A4 00306504 38 83 15 F8 */ addi r4, r3, 0x15f8 -/* 8030A8A8 00306508 7D 05 43 78 */ mr r5, r8 -/* 8030A8AC 0030650C 7C 06 03 78 */ mr r6, r0 -/* 8030A8B0 00306510 4B FF ED 85 */ bl func_80309634 -/* 8030A8B4 00306514 7C 03 00 D0 */ neg r0, r3 -/* 8030A8B8 00306518 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A8BC 0030651C 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A8C0 00306520 7C 63 00 38 */ and r3, r3, r0 -/* 8030A8C4 00306524 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A8C8 00306528 7C 08 03 A6 */ mtlr r0 -/* 8030A8CC 0030652C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A8D0 00306530 4E 80 00 20 */ blr - -.global func_8030A8D4 -func_8030A8D4: -/* 8030A8D4 00306534 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A8D8 00306538 7C 08 02 A6 */ mflr r0 -/* 8030A8DC 0030653C 7C 88 23 78 */ mr r8, r4 -/* 8030A8E0 00306540 7C C7 33 78 */ mr r7, r6 -/* 8030A8E4 00306544 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A8E8 00306548 7C A0 2B 78 */ mr r0, r5 -/* 8030A8EC 0030654C 38 83 15 F8 */ addi r4, r3, 0x15f8 -/* 8030A8F0 00306550 7D 05 43 78 */ mr r5, r8 -/* 8030A8F4 00306554 7C 06 03 78 */ mr r6, r0 -/* 8030A8F8 00306558 4B FF EF 49 */ bl func_80309840 -/* 8030A8FC 0030655C 7C 03 00 D0 */ neg r0, r3 -/* 8030A900 00306560 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A904 00306564 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A908 00306568 7C 63 00 38 */ and r3, r3, r0 -/* 8030A90C 0030656C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A910 00306570 7C 08 03 A6 */ mtlr r0 -/* 8030A914 00306574 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A918 00306578 4E 80 00 20 */ blr - -.global func_8030A91C -func_8030A91C: -/* 8030A91C 0030657C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A920 00306580 7C 08 02 A6 */ mflr r0 -/* 8030A924 00306584 7C AA 2B 78 */ mr r10, r5 -/* 8030A928 00306588 7C C9 33 78 */ mr r9, r6 -/* 8030A92C 0030658C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A930 00306590 7C E8 3B 78 */ mr r8, r7 -/* 8030A934 00306594 80 03 00 08 */ lwz r0, 8(r3) -/* 8030A938 00306598 7C 05 00 40 */ cmplw r5, r0 -/* 8030A93C 0030659C 41 80 00 0C */ blt lbl_8030A948 -/* 8030A940 003065A0 38 60 00 10 */ li r3, 0x10 -/* 8030A944 003065A4 48 00 00 28 */ b lbl_8030A96C -lbl_8030A948: -/* 8030A948 003065A8 7C 85 23 78 */ mr r5, r4 -/* 8030A94C 003065AC 7D 46 53 78 */ mr r6, r10 -/* 8030A950 003065B0 7D 27 4B 78 */ mr r7, r9 -/* 8030A954 003065B4 38 83 15 F8 */ addi r4, r3, 0x15f8 -/* 8030A958 003065B8 4B FF F1 85 */ bl func_80309ADC -/* 8030A95C 003065BC 7C 03 00 D0 */ neg r0, r3 -/* 8030A960 003065C0 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A964 003065C4 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A968 003065C8 7C 63 00 38 */ and r3, r3, r0 -lbl_8030A96C: -/* 8030A96C 003065CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A970 003065D0 7C 08 03 A6 */ mtlr r0 -/* 8030A974 003065D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A978 003065D8 4E 80 00 20 */ blr - -.global func_8030A97C -func_8030A97C: -/* 8030A97C 003065DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A980 003065E0 7C 08 02 A6 */ mflr r0 -/* 8030A984 003065E4 7C 85 23 78 */ mr r5, r4 -/* 8030A988 003065E8 38 83 15 F4 */ addi r4, r3, 0x15f4 -/* 8030A98C 003065EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A990 003065F0 38 C0 00 00 */ li r6, 0 -/* 8030A994 003065F4 4B FF F3 9D */ bl func_80309D30 -/* 8030A998 003065F8 7C 03 00 D0 */ neg r0, r3 -/* 8030A99C 003065FC 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A9A0 00306600 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A9A4 00306604 7C 63 00 38 */ and r3, r3, r0 -/* 8030A9A8 00306608 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A9AC 0030660C 7C 08 03 A6 */ mtlr r0 -/* 8030A9B0 00306610 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A9B4 00306614 4E 80 00 20 */ blr - -.global func_8030A9B8 -func_8030A9B8: -/* 8030A9B8 00306618 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A9BC 0030661C 7C 08 02 A6 */ mflr r0 -/* 8030A9C0 00306620 7C A6 2B 78 */ mr r6, r5 -/* 8030A9C4 00306624 7C 85 23 78 */ mr r5, r4 -/* 8030A9C8 00306628 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030A9CC 0030662C 38 83 15 F8 */ addi r4, r3, 0x15f8 -/* 8030A9D0 00306630 4B FF F3 61 */ bl func_80309D30 -/* 8030A9D4 00306634 7C 03 00 D0 */ neg r0, r3 -/* 8030A9D8 00306638 7C 00 1B 78 */ or r0, r0, r3 -/* 8030A9DC 0030663C 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030A9E0 00306640 7C 63 00 38 */ and r3, r3, r0 -/* 8030A9E4 00306644 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030A9E8 00306648 7C 08 03 A6 */ mtlr r0 -/* 8030A9EC 0030664C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030A9F0 00306650 4E 80 00 20 */ blr - -.global func_8030A9F4 -func_8030A9F4: -/* 8030A9F4 00306654 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030A9F8 00306658 7C 08 02 A6 */ mflr r0 -/* 8030A9FC 0030665C 7C A6 2B 78 */ mr r6, r5 -/* 8030AA00 00306660 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030AA04 00306664 80 03 00 08 */ lwz r0, 8(r3) -/* 8030AA08 00306668 7C 05 00 40 */ cmplw r5, r0 -/* 8030AA0C 0030666C 41 80 00 0C */ blt lbl_8030AA18 -/* 8030AA10 00306670 38 60 00 10 */ li r3, 0x10 -/* 8030AA14 00306674 48 00 00 20 */ b lbl_8030AA34 -lbl_8030AA18: -/* 8030AA18 00306678 7C 85 23 78 */ mr r5, r4 -/* 8030AA1C 0030667C 38 83 15 F4 */ addi r4, r3, 0x15f4 -/* 8030AA20 00306680 4B FF F4 91 */ bl func_80309EB0 -/* 8030AA24 00306684 7C 03 00 D0 */ neg r0, r3 -/* 8030AA28 00306688 7C 00 1B 78 */ or r0, r0, r3 -/* 8030AA2C 0030668C 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030AA30 00306690 7C 63 00 38 */ and r3, r3, r0 -lbl_8030AA34: -/* 8030AA34 00306694 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030AA38 00306698 7C 08 03 A6 */ mtlr r0 -/* 8030AA3C 0030669C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030AA40 003066A0 4E 80 00 20 */ blr - -.global func_8030AA44 -func_8030AA44: -/* 8030AA44 003066A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030AA48 003066A8 7C 08 02 A6 */ mflr r0 -/* 8030AA4C 003066AC 7C AA 2B 78 */ mr r10, r5 -/* 8030AA50 003066B0 7C C9 33 78 */ mr r9, r6 -/* 8030AA54 003066B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030AA58 003066B8 7C E8 3B 78 */ mr r8, r7 -/* 8030AA5C 003066BC 80 03 00 08 */ lwz r0, 8(r3) -/* 8030AA60 003066C0 7C 05 00 40 */ cmplw r5, r0 -/* 8030AA64 003066C4 41 80 00 0C */ blt lbl_8030AA70 -/* 8030AA68 003066C8 38 60 00 10 */ li r3, 0x10 -/* 8030AA6C 003066CC 48 00 00 28 */ b lbl_8030AA94 -lbl_8030AA70: -/* 8030AA70 003066D0 7C 85 23 78 */ mr r5, r4 -/* 8030AA74 003066D4 7D 46 53 78 */ mr r6, r10 -/* 8030AA78 003066D8 7D 27 4B 78 */ mr r7, r9 -/* 8030AA7C 003066DC 38 83 15 F8 */ addi r4, r3, 0x15f8 -/* 8030AA80 003066E0 4B FF F5 A1 */ bl func_8030A020 -/* 8030AA84 003066E4 7C 03 00 D0 */ neg r0, r3 -/* 8030AA88 003066E8 7C 00 1B 78 */ or r0, r0, r3 -/* 8030AA8C 003066EC 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030AA90 003066F0 7C 63 00 38 */ and r3, r3, r0 -lbl_8030AA94: -/* 8030AA94 003066F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030AA98 003066F8 7C 08 03 A6 */ mtlr r0 -/* 8030AA9C 003066FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030AAA0 00306700 4E 80 00 20 */ blr - -.global func_8030AAA4 -func_8030AAA4: -/* 8030AAA4 00306704 7C 85 23 78 */ mr r5, r4 -/* 8030AAA8 00306708 80 83 15 F8 */ lwz r4, 0x15f8(r3) -/* 8030AAAC 0030670C 4B FF E6 AC */ b func_80309158 - -.global func_8030AAB0 -func_8030AAB0: -/* 8030AAB0 00306710 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030AAB4 00306714 7C 08 02 A6 */ mflr r0 -/* 8030AAB8 00306718 90 01 00 14 */ stw r0, 0x14(r1) -/* 8030AABC 0030671C 80 83 15 F4 */ lwz r4, 0x15f4(r3) -/* 8030AAC0 00306720 4B FF F9 69 */ bl func_8030A428 -/* 8030AAC4 00306724 7C 03 00 D0 */ neg r0, r3 -/* 8030AAC8 00306728 7C 00 1B 78 */ or r0, r0, r3 -/* 8030AACC 0030672C 7C 00 FE 70 */ srawi r0, r0, 0x1f -/* 8030AAD0 00306730 7C 63 00 38 */ and r3, r3, r0 -/* 8030AAD4 00306734 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8030AAD8 00306738 7C 08 03 A6 */ mtlr r0 -/* 8030AADC 0030673C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8030AAE0 00306740 4E 80 00 20 */ blr - -.global func_8030AAE4 -func_8030AAE4: -/* 8030AAE4 00306744 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8030AAE8 00306748 7C 08 02 A6 */ mflr r0 -/* 8030AAEC 0030674C 90 01 00 34 */ stw r0, 0x34(r1) -/* 8030AAF0 00306750 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030AAF4 00306754 4B EB C6 2D */ bl _savegpr_25 -/* 8030AAF8 00306758 80 03 15 E8 */ lwz r0, 0x15e8(r3) -/* 8030AAFC 0030675C 7C 7E 1B 78 */ mr r30, r3 -/* 8030AB00 00306760 7C 9F 23 78 */ mr r31, r4 -/* 8030AB04 00306764 3B A0 00 00 */ li r29, 0 -/* 8030AB08 00306768 54 00 07 7F */ clrlwi. r0, r0, 0x1d -/* 8030AB0C 0030676C 3B 20 00 00 */ li r25, 0 -/* 8030AB10 00306770 41 82 01 18 */ beq lbl_8030AC28 -/* 8030AB14 00306774 83 83 15 F8 */ lwz r28, 0x15f8(r3) -/* 8030AB18 00306778 80 1C 00 1C */ lwz r0, 0x1c(r28) -/* 8030AB1C 0030677C 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AB20 00306780 41 82 00 0C */ beq lbl_8030AB2C -/* 8030AB24 00306784 7C 00 20 40 */ cmplw r0, r4 -/* 8030AB28 00306788 40 82 00 48 */ bne lbl_8030AB70 -lbl_8030AB2C: -/* 8030AB2C 0030678C 2C 1C 00 00 */ cmpwi r28, 0 -/* 8030AB30 00306790 41 82 00 24 */ beq lbl_8030AB54 -/* 8030AB34 00306794 A0 1C 00 00 */ lhz r0, 0(r28) -/* 8030AB38 00306798 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8030AB3C 0030679C 41 82 00 18 */ beq lbl_8030AB54 -/* 8030AB40 003067A0 80 7C 00 18 */ lwz r3, 0x18(r28) -/* 8030AB44 003067A4 3C 03 00 01 */ addis r0, r3, 1 -/* 8030AB48 003067A8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030AB4C 003067AC 41 82 00 08 */ beq lbl_8030AB54 -/* 8030AB50 003067B0 3B 20 00 01 */ li r25, 1 -lbl_8030AB54: -/* 8030AB54 003067B4 7F C3 F3 78 */ mr r3, r30 -/* 8030AB58 003067B8 7F 84 E3 78 */ mr r4, r28 -/* 8030AB5C 003067BC 4B FF E7 61 */ bl func_803092BC -/* 8030AB60 003067C0 2C 03 00 00 */ cmpwi r3, 0 -/* 8030AB64 003067C4 7C 7D 1B 78 */ mr r29, r3 -/* 8030AB68 003067C8 41 82 00 08 */ beq lbl_8030AB70 -/* 8030AB6C 003067CC 48 00 00 C0 */ b lbl_8030AC2C -lbl_8030AB70: -/* 8030AB70 003067D0 83 7C 00 20 */ lwz r27, 0x20(r28) -/* 8030AB74 003067D4 48 00 00 88 */ b lbl_8030ABFC -lbl_8030AB78: -/* 8030AB78 003067D8 80 1B 00 1C */ lwz r0, 0x1c(r27) -/* 8030AB7C 003067DC 2C 00 00 00 */ cmpwi r0, 0 -/* 8030AB80 003067E0 41 82 00 0C */ beq lbl_8030AB8C -/* 8030AB84 003067E4 7C 00 F8 40 */ cmplw r0, r31 -/* 8030AB88 003067E8 40 82 00 70 */ bne lbl_8030ABF8 -lbl_8030AB8C: -/* 8030AB8C 003067EC 2C 1B 00 00 */ cmpwi r27, 0 -/* 8030AB90 003067F0 3B 40 00 00 */ li r26, 0 -/* 8030AB94 003067F4 41 82 00 24 */ beq lbl_8030ABB8 -/* 8030AB98 003067F8 A0 1B 00 00 */ lhz r0, 0(r27) -/* 8030AB9C 003067FC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8030ABA0 00306800 41 82 00 18 */ beq lbl_8030ABB8 -/* 8030ABA4 00306804 80 7B 00 18 */ lwz r3, 0x18(r27) -/* 8030ABA8 00306808 3C 03 00 01 */ addis r0, r3, 1 -/* 8030ABAC 0030680C 28 00 FF FF */ cmplwi r0, 0xffff -/* 8030ABB0 00306810 41 82 00 08 */ beq lbl_8030ABB8 -/* 8030ABB4 00306814 3B 40 00 01 */ li r26, 1 -lbl_8030ABB8: -/* 8030ABB8 00306818 7F C3 F3 78 */ mr r3, r30 -/* 8030ABBC 0030681C 7F 64 DB 78 */ mr r4, r27 -/* 8030ABC0 00306820 4B FF E6 FD */ bl func_803092BC -/* 8030ABC4 00306824 2C 03 00 00 */ cmpwi r3, 0 -/* 8030ABC8 00306828 7C 7D 1B 78 */ mr r29, r3 -/* 8030ABCC 0030682C 41 82 00 20 */ beq lbl_8030ABEC -/* 8030ABD0 00306830 2C 19 00 00 */ cmpwi r25, 0 -/* 8030ABD4 00306834 41 82 00 10 */ beq lbl_8030ABE4 -/* 8030ABD8 00306838 7F C3 F3 78 */ mr r3, r30 -/* 8030ABDC 0030683C 38 80 00 00 */ li r4, 0 -/* 8030ABE0 00306840 48 01 11 C1 */ bl func_8031BDA0 -lbl_8030ABE4: -/* 8030ABE4 00306844 7F A3 EB 78 */ mr r3, r29 -/* 8030ABE8 00306848 48 00 00 44 */ b lbl_8030AC2C -lbl_8030ABEC: -/* 8030ABEC 0030684C 2C 1A 00 00 */ cmpwi r26, 0 -/* 8030ABF0 00306850 41 82 00 08 */ beq lbl_8030ABF8 -/* 8030ABF4 00306854 3B 20 00 01 */ li r25, 1 -lbl_8030ABF8: -/* 8030ABF8 00306858 83 7B 00 20 */ lwz r27, 0x20(r27) -lbl_8030ABFC: -/* 8030ABFC 0030685C 7C 1B E0 40 */ cmplw r27, r28 -/* 8030AC00 00306860 40 82 FF 78 */ bne lbl_8030AB78 -/* 8030AC04 00306864 2C 19 00 00 */ cmpwi r25, 0 -/* 8030AC08 00306868 41 82 00 20 */ beq lbl_8030AC28 -/* 8030AC0C 0030686C 7F C3 F3 78 */ mr r3, r30 -/* 8030AC10 00306870 38 80 00 01 */ li r4, 1 -/* 8030AC14 00306874 48 01 11 8D */ bl func_8031BDA0 -/* 8030AC18 00306878 2C 03 00 00 */ cmpwi r3, 0 -/* 8030AC1C 0030687C 41 82 00 0C */ beq lbl_8030AC28 -/* 8030AC20 00306880 38 60 00 11 */ li r3, 0x11 -/* 8030AC24 00306884 48 00 00 08 */ b lbl_8030AC2C -lbl_8030AC28: -/* 8030AC28 00306888 7F A3 EB 78 */ mr r3, r29 -lbl_8030AC2C: -/* 8030AC2C 0030688C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030AC30 00306890 4B EB C5 3D */ bl _restgpr_25 -/* 8030AC34 00306894 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8030AC38 00306898 7C 08 03 A6 */ mtlr r0 -/* 8030AC3C 0030689C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8030AC40 003068A0 4E 80 00 20 */ blr - -.global func_8030AC44 -func_8030AC44: -/* 8030AC44 003068A4 38 E0 00 00 */ li r7, 0 -/* 8030AC48 003068A8 38 C0 FF FF */ li r6, -1 -/* 8030AC4C 003068AC 48 00 00 84 */ b lbl_8030ACD0 -lbl_8030AC50: -/* 8030AC50 003068B0 2C 08 00 00 */ cmpwi r8, 0 -/* 8030AC54 003068B4 41 82 00 7C */ beq lbl_8030ACD0 -/* 8030AC58 003068B8 A0 08 00 00 */ lhz r0, 0(r8) -/* 8030AC5C 003068BC 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d -/* 8030AC60 003068C0 B0 08 00 00 */ sth r0, 0(r8) -/* 8030AC64 003068C4 90 E8 00 0C */ stw r7, 0xc(r8) -/* 8030AC68 003068C8 90 E8 00 10 */ stw r7, 0x10(r8) -/* 8030AC6C 003068CC 90 C8 00 18 */ stw r6, 0x18(r8) -/* 8030AC70 003068D0 90 E8 00 1C */ stw r7, 0x1c(r8) -/* 8030AC74 003068D4 80 83 15 F4 */ lwz r4, 0x15f4(r3) -/* 8030AC78 003068D8 7C 08 20 40 */ cmplw r8, r4 -/* 8030AC7C 003068DC 40 82 00 10 */ bne lbl_8030AC8C -/* 8030AC80 003068E0 80 08 00 20 */ lwz r0, 0x20(r8) -/* 8030AC84 003068E4 90 03 15 F4 */ stw r0, 0x15f4(r3) -/* 8030AC88 003068E8 48 00 00 48 */ b lbl_8030ACD0 -lbl_8030AC8C: -/* 8030AC8C 003068EC 80 04 00 24 */ lwz r0, 0x24(r4) -/* 8030AC90 003068F0 7C 08 00 40 */ cmplw r8, r0 -/* 8030AC94 003068F4 41 82 00 3C */ beq lbl_8030ACD0 -/* 8030AC98 003068F8 80 08 00 20 */ lwz r0, 0x20(r8) -/* 8030AC9C 003068FC 80 88 00 24 */ lwz r4, 0x24(r8) -/* 8030ACA0 00306900 90 04 00 20 */ stw r0, 0x20(r4) -/* 8030ACA4 00306904 80 08 00 24 */ lwz r0, 0x24(r8) -/* 8030ACA8 00306908 80 88 00 20 */ lwz r4, 0x20(r8) -/* 8030ACAC 0030690C 90 04 00 24 */ stw r0, 0x24(r4) -/* 8030ACB0 00306910 80 A3 15 F4 */ lwz r5, 0x15f4(r3) -/* 8030ACB4 00306914 90 A8 00 20 */ stw r5, 0x20(r8) -/* 8030ACB8 00306918 80 83 15 F4 */ lwz r4, 0x15f4(r3) -/* 8030ACBC 0030691C 80 04 00 24 */ lwz r0, 0x24(r4) -/* 8030ACC0 00306920 90 08 00 24 */ stw r0, 0x24(r8) -/* 8030ACC4 00306924 91 05 00 24 */ stw r8, 0x24(r5) -/* 8030ACC8 00306928 80 88 00 24 */ lwz r4, 0x24(r8) -/* 8030ACCC 0030692C 91 04 00 20 */ stw r8, 0x20(r4) -lbl_8030ACD0: -/* 8030ACD0 00306930 81 03 15 F4 */ lwz r8, 0x15f4(r3) -/* 8030ACD4 00306934 A0 08 00 00 */ lhz r0, 0(r8) -/* 8030ACD8 00306938 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8030ACDC 0030693C 40 82 FF 74 */ bne lbl_8030AC50 -/* 8030ACE0 00306940 38 E0 00 00 */ li r7, 0 -/* 8030ACE4 00306944 38 C0 FF FF */ li r6, -1 -/* 8030ACE8 00306948 48 00 00 84 */ b lbl_8030AD6C -lbl_8030ACEC: -/* 8030ACEC 0030694C 2C 08 00 00 */ cmpwi r8, 0 -/* 8030ACF0 00306950 41 82 00 7C */ beq lbl_8030AD6C -/* 8030ACF4 00306954 A0 08 00 00 */ lhz r0, 0(r8) -/* 8030ACF8 00306958 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d -/* 8030ACFC 0030695C B0 08 00 00 */ sth r0, 0(r8) -/* 8030AD00 00306960 90 E8 00 0C */ stw r7, 0xc(r8) -/* 8030AD04 00306964 90 E8 00 10 */ stw r7, 0x10(r8) -/* 8030AD08 00306968 90 C8 00 18 */ stw r6, 0x18(r8) -/* 8030AD0C 0030696C 90 E8 00 1C */ stw r7, 0x1c(r8) -/* 8030AD10 00306970 80 83 15 F8 */ lwz r4, 0x15f8(r3) -/* 8030AD14 00306974 7C 08 20 40 */ cmplw r8, r4 -/* 8030AD18 00306978 40 82 00 10 */ bne lbl_8030AD28 -/* 8030AD1C 0030697C 80 08 00 20 */ lwz r0, 0x20(r8) -/* 8030AD20 00306980 90 03 15 F8 */ stw r0, 0x15f8(r3) -/* 8030AD24 00306984 48 00 00 48 */ b lbl_8030AD6C -lbl_8030AD28: -/* 8030AD28 00306988 80 04 00 24 */ lwz r0, 0x24(r4) -/* 8030AD2C 0030698C 7C 08 00 40 */ cmplw r8, r0 -/* 8030AD30 00306990 41 82 00 3C */ beq lbl_8030AD6C -/* 8030AD34 00306994 80 08 00 20 */ lwz r0, 0x20(r8) -/* 8030AD38 00306998 80 88 00 24 */ lwz r4, 0x24(r8) -/* 8030AD3C 0030699C 90 04 00 20 */ stw r0, 0x20(r4) -/* 8030AD40 003069A0 80 08 00 24 */ lwz r0, 0x24(r8) -/* 8030AD44 003069A4 80 88 00 20 */ lwz r4, 0x20(r8) -/* 8030AD48 003069A8 90 04 00 24 */ stw r0, 0x24(r4) -/* 8030AD4C 003069AC 80 A3 15 F8 */ lwz r5, 0x15f8(r3) -/* 8030AD50 003069B0 90 A8 00 20 */ stw r5, 0x20(r8) -/* 8030AD54 003069B4 80 83 15 F8 */ lwz r4, 0x15f8(r3) -/* 8030AD58 003069B8 80 04 00 24 */ lwz r0, 0x24(r4) -/* 8030AD5C 003069BC 90 08 00 24 */ stw r0, 0x24(r8) -/* 8030AD60 003069C0 91 05 00 24 */ stw r8, 0x24(r5) -/* 8030AD64 003069C4 80 88 00 24 */ lwz r4, 0x24(r8) -/* 8030AD68 003069C8 91 04 00 20 */ stw r8, 0x20(r4) -lbl_8030AD6C: -/* 8030AD6C 003069CC 81 03 15 F8 */ lwz r8, 0x15f8(r3) -/* 8030AD70 003069D0 A0 08 00 00 */ lhz r0, 0(r8) -/* 8030AD74 003069D4 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8030AD78 003069D8 40 82 FF 74 */ bne lbl_8030ACEC -/* 8030AD7C 003069DC 4E 80 00 20 */ blr - -.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 func_80304FD4 -/* 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 func_803050EC -/* 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 func_80304EAC -/* 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 func_80304EAC -/* 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 func_80304EAC -/* 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 func_803051C0 -/* 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 func_803051C0 -/* 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 func_803051C0 -/* 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 func_80304EAC -/* 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 func_80304EAC -/* 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 func_80304EAC -/* 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 func_803051C0 -/* 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 func_803051C0 -/* 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 func_803051C0 -/* 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 func_8030A6B8 -/* 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 func_80304FD4 -/* 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 func_8030A7BC -/* 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 func_8030A7BC -/* 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 func_8030A7BC -/* 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 func_8030A6B8 -/* 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 func_80304FD4 -/* 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 func_8030A7BC -/* 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 func_8030A7BC -/* 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 func_8030A7BC -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 func_80305660 -/* 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 func_80305660 -/* 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 func_803055BC -/* 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 func_80305660 -/* 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 func_803055BC -/* 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 func_80305660 -/* 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 func_80305338 -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 func_80305660 -/* 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 func_80305660 -/* 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 func_803054DC -/* 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 func_80305660 -/* 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 func_80305310 -/* 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 func_803052E0 -/* 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 func_80305660 -/* 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 func_803054C8 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_803055BC -/* 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 func_80305110 -/* 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 func_80305110 -/* 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 func_803054DC -/* 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 func_80305660 -/* 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 func_803054DC -/* 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 func_8030A84C -/* 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 func_8030A97C -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 func_80305B9C -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 func_8030A97C -/* 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 func_80306240 -/* 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 func_8030A97C -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 func_8030A97C -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 func_80305B9C -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 func_8030A644 -/* 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 func_80304FD4 -/* 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 func_8030A9F4 -/* 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 func_8030A72C -/* 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 func_8030A72C -/* 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 func_8030AAB0 -/* 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 func_8030AAB0 -/* 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 func_8030A6B8 -/* 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 func_80304FD4 -/* 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 func_8030A7BC -/* 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 func_8030A7BC -/* 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 func_8030A7BC -/* 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 func_8030A84C -/* 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 func_8030A84C -/* 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 func_8030A84C -/* 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 func_8030A5F0 -/* 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 func_8030A84C -/* 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 func_8030A5F0 -/* 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 func_8030A5F0 -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 func_8030A5F0 -/* 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 func_8030A84C -/* 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 func_8030A5F0 -/* 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 func_8030A5F0 -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 func_8030A84C -/* 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 func_8030A84C -/* 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 func_8030A5F0 -/* 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 func_8030A84C -/* 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 func_8030A84C -/* 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 func_8030A5F0 -/* 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 func_80304FD4 -/* 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 func_803052E0 -/* 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 func_80305310 -/* 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 func_80305310 -/* 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 func_80305884 -/* 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 func_803054DC -/* 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 func_803052E0 -/* 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 func_80305310 -/* 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 func_803052E8 -/* 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 func_8030A6B8 -/* 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 func_80304FD4 -/* 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 func_8030A7BC -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 func_80305DA8 -/* 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 func_80305DA8 -/* 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 func_80305DA8 -/* 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 func_8030AAB0 -/* 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 func_8030AAE4 -/* 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 func_803052E0 -/* 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 func_803052D8 -/* 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 func_803052D8 -/* 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 func_80305660 -/* 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 func_80305338 -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 func_803054C8 -/* 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 func_80305660 -/* 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 func_803054C8 -/* 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 func_80304E94 -/* 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 func_803051B0 -/* 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 func_80304E94 -/* 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 func_803051B0 -/* 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 func_803051B0 -/* 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 func_80304E94 -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 func_80304E94 -/* 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 func_803051B0 -/* 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 func_80304E94 -/* 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 func_803051B0 -/* 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 func_80305310 -/* 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 func_803050EC -/* 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 func_803052E0 -/* 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 func_80305110 -/* 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 func_80305110 -/* 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 func_80305110 -/* 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 func_80305110 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305338 -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 func_80305660 -/* 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 func_80305660 -/* 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 func_803052E0 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_803054C8 -/* 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 func_803054DC -/* 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 func_80305660 -/* 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 func_80305778 -/* 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 func_803052E0 -/* 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 func_80305660 -/* 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 func_80305148 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_803051A0 -/* 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 func_803058A8 -/* 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 func_803058A8 -/* 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 func_803051A0 -/* 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 func_803051A0 -/* 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 func_80305310 -/* 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 func_80304E94 -/* 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 func_803052E0 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_803052E0 -/* 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 func_80305310 -/* 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 func_80305310 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_803052E0 -/* 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 func_80305310 -/* 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 func_80305310 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305660 -/* 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 func_80305D50 -/* 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 func_8030A84C -/* 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 func_80304EAC -/* 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 func_80305D50 -/* 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 func_8030A88C -/* 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 func_80304EAC -/* 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 func_8030A91C -/* 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 func_8030AAA4 -/* 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 func_80304EAC -/* 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 func_80304EAC -/* 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 func_8030A91C -/* 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 func_8030A88C -/* 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 func_80304EAC -/* 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 func_80305D50 -/* 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 func_80305DA8 -/* 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 func_8030A84C -/* 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 func_80304EAC -/* 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 func_8030A97C -/* 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 func_80305D50 -/* 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 func_80305DA8 -/* 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 func_8030A8D4 -/* 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 func_80304EAC -/* 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 func_8030A9B8 -/* 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 func_8030AA44 -/* 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 func_8030AA44 -/* 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 func_8030A8D4 -/* 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 func_80304EAC -/* 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 func_8030A9B8 -/* 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 func_80305DD4 -/* 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 func_8030A528 -/* 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 func_80306094 -/* 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 func_80304FD4 -/* 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 func_80305D50 -/* 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 func_80305D7C -/* 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 func_8030AC44 -/* 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 func_8030600C -/* 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 func_80305D7C -/* 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 func_8030AC44 -/* 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 func_8030600C -/* 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 func_80305D50 -/* 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 func_80305D7C -/* 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 func_8030AC44 -/* 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 func_8030600C -/* 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 func_80305D7C -/* 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 func_8030AC44 -/* 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 func_8030600C -/* 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 func_80305DA8 -/* 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 func_80304E94 -/* 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 func_80304EAC -/* 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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 - -.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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 lbl_80305194 -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 func_803051A0 -/* 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 func_803051A0 -/* 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 func_8030541C -/* 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 func_80308DB0 -/* 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 func_80304FD4 -/* 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 func_80304FD4 -/* 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 func_80304FD4 -/* 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 +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_802FFF1C
+func_802FFF1C:
+/* 802FFF1C 002FBB7C 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 802FFF20 002FBB80 7C 2C 0B 78 */ mr r12, r1
+/* 802FFF24 002FBB84 21 6B FE 60 */ subfic r11, r11, -416
+/* 802FFF28 002FBB88 7C 21 59 6E */ stwux r1, r1, r11
+/* 802FFF2C 002FBB8C 7C 08 02 A6 */ mflr r0
+/* 802FFF30 002FBB90 3C A0 80 44 */ lis r5, lbl_80446240@ha
+/* 802FFF34 002FBB94 90 0C 00 04 */ stw r0, 4(r12)
+/* 802FFF38 002FBB98 93 EC FF FC */ stw r31, -4(r12)
+/* 802FFF3C 002FBB9C 93 CC FF F8 */ stw r30, -8(r12)
+/* 802FFF40 002FBBA0 93 AC FF F4 */ stw r29, -0xc(r12)
+/* 802FFF44 002FBBA4 7C 9D 23 78 */ mr r29, r4
+/* 802FFF48 002FBBA8 38 80 00 00 */ li r4, 0
+/* 802FFF4C 002FBBAC 93 8C FF F0 */ stw r28, -0x10(r12)
+/* 802FFF50 002FBBB0 7C 7C 1B 78 */ mr r28, r3
+/* 802FFF54 002FBBB4 38 65 62 40 */ addi r3, r5, lbl_80446240@l
+/* 802FFF58 002FBBB8 4B FA 32 01 */ bl IOS_Open
+/* 802FFF5C 002FBBBC 2C 03 00 00 */ cmpwi r3, 0
+/* 802FFF60 002FBBC0 7C 7F 1B 78 */ mr r31, r3
+/* 802FFF64 002FBBC4 40 80 00 0C */ bge lbl_802FFF70
+/* 802FFF68 002FBBC8 38 60 FF FF */ li r3, -1
+/* 802FFF6C 002FBBCC 48 00 00 C8 */ b lbl_80300034
+lbl_802FFF70:
+/* 802FFF70 002FBBD0 7F A3 EB 78 */ mr r3, r29
+/* 802FFF74 002FBBD4 38 80 00 00 */ li r4, 0
+/* 802FFF78 002FBBD8 48 00 00 0C */ b lbl_802FFF84
+lbl_802FFF7C:
+/* 802FFF7C 002FBBDC 38 84 00 01 */ addi r4, r4, 1
+/* 802FFF80 002FBBE0 38 63 00 01 */ addi r3, r3, 1
+lbl_802FFF84:
+/* 802FFF84 002FBBE4 28 04 01 00 */ cmplwi r4, 0x100
+/* 802FFF88 002FBBE8 40 80 00 10 */ bge lbl_802FFF98
+/* 802FFF8C 002FBBEC 88 03 00 00 */ lbz r0, 0(r3)
+/* 802FFF90 002FBBF0 7C 00 07 75 */ extsb. r0, r0
+/* 802FFF94 002FBBF4 40 82 FF E8 */ bne lbl_802FFF7C
+lbl_802FFF98:
+/* 802FFF98 002FBBF8 7F DD 18 51 */ subf. r30, r29, r3
+/* 802FFF9C 002FBBFC 40 82 00 0C */ bne lbl_802FFFA8
+/* 802FFFA0 002FBC00 38 60 FF FF */ li r3, -1
+/* 802FFFA4 002FBC04 48 00 00 90 */ b lbl_80300034
+lbl_802FFFA8:
+/* 802FFFA8 002FBC08 38 61 00 80 */ addi r3, r1, 0x80
+/* 802FFFAC 002FBC0C 38 80 00 00 */ li r4, 0
+/* 802FFFB0 002FBC10 38 A0 01 00 */ li r5, 0x100
+/* 802FFFB4 002FBC14 4B D0 41 51 */ bl memset
+/* 802FFFB8 002FBC18 28 1E 01 00 */ cmplwi r30, 0x100
+/* 802FFFBC 002FBC1C 40 81 00 08 */ ble lbl_802FFFC4
+/* 802FFFC0 002FBC20 3B C0 01 00 */ li r30, 0x100
+lbl_802FFFC4:
+/* 802FFFC4 002FBC24 7F A4 EB 78 */ mr r4, r29
+/* 802FFFC8 002FBC28 7F C5 F3 78 */ mr r5, r30
+/* 802FFFCC 002FBC2C 38 61 00 80 */ addi r3, r1, 0x80
+/* 802FFFD0 002FBC30 4B D0 40 31 */ bl memcpy
+/* 802FFFD4 002FBC34 39 40 00 20 */ li r10, 0x20
+/* 802FFFD8 002FBC38 39 61 00 40 */ addi r11, r1, 0x40
+/* 802FFFDC 002FBC3C 39 21 00 20 */ addi r9, r1, 0x20
+/* 802FFFE0 002FBC40 39 01 00 80 */ addi r8, r1, 0x80
+/* 802FFFE4 002FBC44 38 60 FF FF */ li r3, -1
+/* 802FFFE8 002FBC48 38 00 01 00 */ li r0, 0x100
+/* 802FFFEC 002FBC4C 90 61 00 40 */ stw r3, 0x40(r1)
+/* 802FFFF0 002FBC50 7F E3 FB 78 */ mr r3, r31
+/* 802FFFF4 002FBC54 38 E1 00 60 */ addi r7, r1, 0x60
+/* 802FFFF8 002FBC58 38 80 00 01 */ li r4, 1
+/* 802FFFFC 002FBC5C 93 81 00 20 */ stw r28, 0x20(r1)
+/* 80300000 002FBC60 38 A0 00 01 */ li r5, 1
+/* 80300004 002FBC64 38 C0 00 02 */ li r6, 2
+/* 80300008 002FBC68 91 61 00 60 */ stw r11, 0x60(r1)
+/* 8030000C 002FBC6C 91 41 00 64 */ stw r10, 0x64(r1)
+/* 80300010 002FBC70 91 21 00 68 */ stw r9, 0x68(r1)
+/* 80300014 002FBC74 91 41 00 6C */ stw r10, 0x6c(r1)
+/* 80300018 002FBC78 91 01 00 70 */ stw r8, 0x70(r1)
+/* 8030001C 002FBC7C 90 01 00 74 */ stw r0, 0x74(r1)
+/* 80300020 002FBC80 4B FA 3E 21 */ bl IOS_Ioctlv
+/* 80300024 002FBC84 7F E3 FB 78 */ mr r3, r31
+/* 80300028 002FBC88 4B FA 33 11 */ bl IOS_Close
+/* 8030002C 002FBC8C 80 61 00 60 */ lwz r3, 0x60(r1)
+/* 80300030 002FBC90 80 63 00 00 */ lwz r3, 0(r3)
+lbl_80300034:
+/* 80300034 002FBC94 81 41 00 00 */ lwz r10, 0(r1)
+/* 80300038 002FBC98 80 0A 00 04 */ lwz r0, 4(r10)
+/* 8030003C 002FBC9C 83 EA FF FC */ lwz r31, -4(r10)
+/* 80300040 002FBCA0 83 CA FF F8 */ lwz r30, -8(r10)
+/* 80300044 002FBCA4 83 AA FF F4 */ lwz r29, -0xc(r10)
+/* 80300048 002FBCA8 83 8A FF F0 */ lwz r28, -0x10(r10)
+/* 8030004C 002FBCAC 7C 08 03 A6 */ mtlr r0
+/* 80300050 002FBCB0 7D 41 53 78 */ mr r1, r10
+/* 80300054 002FBCB4 4E 80 00 20 */ blr
+
+.global func_80300058
+func_80300058:
+/* 80300058 002FBCB8 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 8030005C 002FBCBC 7C 2C 0B 78 */ mr r12, r1
+/* 80300060 002FBCC0 21 6B FF 40 */ subfic r11, r11, -192
+/* 80300064 002FBCC4 7C 21 59 6E */ stwux r1, r1, r11
+/* 80300068 002FBCC8 7C 08 02 A6 */ mflr r0
+/* 8030006C 002FBCCC 3C A0 80 44 */ lis r5, lbl_80446240@ha
+/* 80300070 002FBCD0 90 0C 00 04 */ stw r0, 4(r12)
+/* 80300074 002FBCD4 93 EC FF FC */ stw r31, -4(r12)
+/* 80300078 002FBCD8 93 CC FF F8 */ stw r30, -8(r12)
+/* 8030007C 002FBCDC 7C 9E 23 78 */ mr r30, r4
+/* 80300080 002FBCE0 38 80 00 00 */ li r4, 0
+/* 80300084 002FBCE4 93 AC FF F4 */ stw r29, -0xc(r12)
+/* 80300088 002FBCE8 7C 7D 1B 78 */ mr r29, r3
+/* 8030008C 002FBCEC 38 65 62 40 */ addi r3, r5, lbl_80446240@l
+/* 80300090 002FBCF0 4B FA 30 C9 */ bl IOS_Open
+/* 80300094 002FBCF4 2C 03 00 00 */ cmpwi r3, 0
+/* 80300098 002FBCF8 7C 7F 1B 78 */ mr r31, r3
+/* 8030009C 002FBCFC 40 80 00 0C */ bge lbl_803000A8
+/* 803000A0 002FBD00 38 60 FF FF */ li r3, -1
+/* 803000A4 002FBD04 48 00 00 5C */ b lbl_80300100
+lbl_803000A8:
+/* 803000A8 002FBD08 39 20 00 20 */ li r9, 0x20
+/* 803000AC 002FBD0C 39 41 00 20 */ addi r10, r1, 0x20
+/* 803000B0 002FBD10 39 01 00 60 */ addi r8, r1, 0x60
+/* 803000B4 002FBD14 38 01 00 40 */ addi r0, r1, 0x40
+/* 803000B8 002FBD18 39 60 FF FF */ li r11, -1
+/* 803000BC 002FBD1C 93 A1 00 60 */ stw r29, 0x60(r1)
+/* 803000C0 002FBD20 38 E1 00 80 */ addi r7, r1, 0x80
+/* 803000C4 002FBD24 38 80 00 02 */ li r4, 2
+/* 803000C8 002FBD28 93 C1 00 40 */ stw r30, 0x40(r1)
+/* 803000CC 002FBD2C 38 A0 00 01 */ li r5, 1
+/* 803000D0 002FBD30 38 C0 00 02 */ li r6, 2
+/* 803000D4 002FBD34 91 61 00 20 */ stw r11, 0x20(r1)
+/* 803000D8 002FBD38 91 41 00 80 */ stw r10, 0x80(r1)
+/* 803000DC 002FBD3C 91 21 00 84 */ stw r9, 0x84(r1)
+/* 803000E0 002FBD40 91 01 00 88 */ stw r8, 0x88(r1)
+/* 803000E4 002FBD44 91 21 00 8C */ stw r9, 0x8c(r1)
+/* 803000E8 002FBD48 90 01 00 90 */ stw r0, 0x90(r1)
+/* 803000EC 002FBD4C 91 21 00 94 */ stw r9, 0x94(r1)
+/* 803000F0 002FBD50 4B FA 3D 51 */ bl IOS_Ioctlv
+/* 803000F4 002FBD54 7F E3 FB 78 */ mr r3, r31
+/* 803000F8 002FBD58 4B FA 32 41 */ bl IOS_Close
+/* 803000FC 002FBD5C 80 61 00 20 */ lwz r3, 0x20(r1)
+lbl_80300100:
+/* 80300100 002FBD60 81 41 00 00 */ lwz r10, 0(r1)
+/* 80300104 002FBD64 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80300108 002FBD68 83 EA FF FC */ lwz r31, -4(r10)
+/* 8030010C 002FBD6C 83 CA FF F8 */ lwz r30, -8(r10)
+/* 80300110 002FBD70 83 AA FF F4 */ lwz r29, -0xc(r10)
+/* 80300114 002FBD74 7C 08 03 A6 */ mtlr r0
+/* 80300118 002FBD78 7D 41 53 78 */ mr r1, r10
+/* 8030011C 002FBD7C 4E 80 00 20 */ blr
+
+.global func_80300120
+func_80300120:
+/* 80300120 002FBD80 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 80300124 002FBD84 7C 2C 0B 78 */ mr r12, r1
+/* 80300128 002FBD88 21 6B FF 60 */ subfic r11, r11, -160
+/* 8030012C 002FBD8C 7C 21 59 6E */ stwux r1, r1, r11
+/* 80300130 002FBD90 7C 08 02 A6 */ mflr r0
+/* 80300134 002FBD94 3C 80 80 44 */ lis r4, lbl_80446240@ha
+/* 80300138 002FBD98 90 0C 00 04 */ stw r0, 4(r12)
+/* 8030013C 002FBD9C 93 EC FF FC */ stw r31, -4(r12)
+/* 80300140 002FBDA0 93 CC FF F8 */ stw r30, -8(r12)
+/* 80300144 002FBDA4 7C 7E 1B 78 */ mr r30, r3
+/* 80300148 002FBDA8 38 64 62 40 */ addi r3, r4, lbl_80446240@l
+/* 8030014C 002FBDAC 38 80 00 00 */ li r4, 0
+/* 80300150 002FBDB0 4B FA 30 09 */ bl IOS_Open
+/* 80300154 002FBDB4 2C 03 00 00 */ cmpwi r3, 0
+/* 80300158 002FBDB8 7C 7F 1B 78 */ mr r31, r3
+/* 8030015C 002FBDBC 40 80 00 0C */ bge lbl_80300168
+/* 80300160 002FBDC0 38 60 FF FF */ li r3, -1
+/* 80300164 002FBDC4 48 00 00 4C */ b lbl_803001B0
+lbl_80300168:
+/* 80300168 002FBDC8 39 00 00 20 */ li r8, 0x20
+/* 8030016C 002FBDCC 39 21 00 20 */ addi r9, r1, 0x20
+/* 80300170 002FBDD0 38 01 00 40 */ addi r0, r1, 0x40
+/* 80300174 002FBDD4 38 C0 FF FF */ li r6, -1
+/* 80300178 002FBDD8 90 C1 00 20 */ stw r6, 0x20(r1)
+/* 8030017C 002FBDDC 38 E1 00 60 */ addi r7, r1, 0x60
+/* 80300180 002FBDE0 38 80 00 03 */ li r4, 3
+/* 80300184 002FBDE4 38 A0 00 01 */ li r5, 1
+/* 80300188 002FBDE8 93 C1 00 40 */ stw r30, 0x40(r1)
+/* 8030018C 002FBDEC 38 C0 00 01 */ li r6, 1
+/* 80300190 002FBDF0 91 21 00 60 */ stw r9, 0x60(r1)
+/* 80300194 002FBDF4 91 01 00 64 */ stw r8, 0x64(r1)
+/* 80300198 002FBDF8 90 01 00 68 */ stw r0, 0x68(r1)
+/* 8030019C 002FBDFC 91 01 00 6C */ stw r8, 0x6c(r1)
+/* 803001A0 002FBE00 4B FA 3C A1 */ bl IOS_Ioctlv
+/* 803001A4 002FBE04 7F E3 FB 78 */ mr r3, r31
+/* 803001A8 002FBE08 4B FA 31 91 */ bl IOS_Close
+/* 803001AC 002FBE0C 80 61 00 20 */ lwz r3, 0x20(r1)
+lbl_803001B0:
+/* 803001B0 002FBE10 81 41 00 00 */ lwz r10, 0(r1)
+/* 803001B4 002FBE14 80 0A 00 04 */ lwz r0, 4(r10)
+/* 803001B8 002FBE18 83 EA FF FC */ lwz r31, -4(r10)
+/* 803001BC 002FBE1C 83 CA FF F8 */ lwz r30, -8(r10)
+/* 803001C0 002FBE20 7C 08 03 A6 */ mtlr r0
+/* 803001C4 002FBE24 7D 41 53 78 */ mr r1, r10
+/* 803001C8 002FBE28 4E 80 00 20 */ blr
+
+.global func_803001CC
+func_803001CC:
+/* 803001CC 002FBE2C 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 803001D0 002FBE30 7C 2C 0B 78 */ mr r12, r1
+/* 803001D4 002FBE34 21 6B FE 80 */ subfic r11, r11, -384
+/* 803001D8 002FBE38 7C 21 59 6E */ stwux r1, r1, r11
+/* 803001DC 002FBE3C 7C 08 02 A6 */ mflr r0
+/* 803001E0 002FBE40 7D 8B 63 78 */ mr r11, r12
+/* 803001E4 002FBE44 90 0C 00 04 */ stw r0, 4(r12)
+/* 803001E8 002FBE48 4B EC 6F 35 */ bl _savegpr_24
+/* 803001EC 002FBE4C 3C C0 80 44 */ lis r6, lbl_80446240@ha
+/* 803001F0 002FBE50 7C 7C 1B 78 */ mr r28, r3
+/* 803001F4 002FBE54 7C 9D 23 78 */ mr r29, r4
+/* 803001F8 002FBE58 7C BE 2B 78 */ mr r30, r5
+/* 803001FC 002FBE5C 38 66 62 40 */ addi r3, r6, lbl_80446240@l
+/* 80300200 002FBE60 38 80 00 00 */ li r4, 0
+/* 80300204 002FBE64 4B FA 2F 55 */ bl IOS_Open
+/* 80300208 002FBE68 2C 03 00 00 */ cmpwi r3, 0
+/* 8030020C 002FBE6C 7C 7F 1B 78 */ mr r31, r3
+/* 80300210 002FBE70 3B 40 FF FF */ li r26, -1
+/* 80300214 002FBE74 40 80 00 0C */ bge lbl_80300220
+/* 80300218 002FBE78 38 60 FF FF */ li r3, -1
+/* 8030021C 002FBE7C 48 00 02 54 */ b lbl_80300470
+lbl_80300220:
+/* 80300220 002FBE80 57 A0 06 FF */ clrlwi. r0, r29, 0x1b
+/* 80300224 002FBE84 41 82 00 0C */ beq lbl_80300230
+/* 80300228 002FBE88 23 20 00 20 */ subfic r25, r0, 0x20
+/* 8030022C 002FBE8C 48 00 00 08 */ b lbl_80300234
+lbl_80300230:
+/* 80300230 002FBE90 3B 20 00 00 */ li r25, 0
+lbl_80300234:
+/* 80300234 002FBE94 38 61 01 40 */ addi r3, r1, 0x140
+/* 80300238 002FBE98 3B 00 00 00 */ li r24, 0
+/* 8030023C 002FBE9C 38 80 00 00 */ li r4, 0
+/* 80300240 002FBEA0 38 A0 00 20 */ li r5, 0x20
+/* 80300244 002FBEA4 4B D0 3E C1 */ bl memset
+/* 80300248 002FBEA8 2C 19 00 00 */ cmpwi r25, 0
+/* 8030024C 002FBEAC 41 82 00 B0 */ beq lbl_803002FC
+/* 80300250 002FBEB0 7C 19 F0 40 */ cmplw r25, r30
+/* 80300254 002FBEB4 40 81 00 08 */ ble lbl_8030025C
+/* 80300258 002FBEB8 7F D9 F3 78 */ mr r25, r30
+lbl_8030025C:
+/* 8030025C 002FBEBC 39 00 00 20 */ li r8, 0x20
+/* 80300260 002FBEC0 39 21 01 20 */ addi r9, r1, 0x120
+/* 80300264 002FBEC4 3B 61 01 40 */ addi r27, r1, 0x140
+/* 80300268 002FBEC8 38 01 01 00 */ addi r0, r1, 0x100
+/* 8030026C 002FBECC 38 80 FF FF */ li r4, -1
+/* 80300270 002FBED0 93 81 01 00 */ stw r28, 0x100(r1)
+/* 80300274 002FBED4 7F E3 FB 78 */ mr r3, r31
+/* 80300278 002FBED8 38 E1 00 E0 */ addi r7, r1, 0xe0
+/* 8030027C 002FBEDC 90 81 01 20 */ stw r4, 0x120(r1)
+/* 80300280 002FBEE0 38 80 00 04 */ li r4, 4
+/* 80300284 002FBEE4 38 A0 00 02 */ li r5, 2
+/* 80300288 002FBEE8 38 C0 00 01 */ li r6, 1
+/* 8030028C 002FBEEC 91 21 00 E0 */ stw r9, 0xe0(r1)
+/* 80300290 002FBEF0 91 01 00 E4 */ stw r8, 0xe4(r1)
+/* 80300294 002FBEF4 93 61 00 E8 */ stw r27, 0xe8(r1)
+/* 80300298 002FBEF8 93 21 00 EC */ stw r25, 0xec(r1)
+/* 8030029C 002FBEFC 90 01 00 F0 */ stw r0, 0xf0(r1)
+/* 803002A0 002FBF00 91 01 00 F4 */ stw r8, 0xf4(r1)
+/* 803002A4 002FBF04 4B FA 3B 9D */ bl IOS_Ioctlv
+/* 803002A8 002FBF08 83 41 01 20 */ lwz r26, 0x120(r1)
+/* 803002AC 002FBF0C 2C 1A 00 00 */ cmpwi r26, 0
+/* 803002B0 002FBF10 40 81 00 3C */ ble lbl_803002EC
+/* 803002B4 002FBF14 7F 58 D3 78 */ mr r24, r26
+/* 803002B8 002FBF18 7F A3 EB 78 */ mr r3, r29
+/* 803002BC 002FBF1C 7F 64 DB 78 */ mr r4, r27
+/* 803002C0 002FBF20 7F 45 D3 78 */ mr r5, r26
+/* 803002C4 002FBF24 4B D0 3D 3D */ bl memcpy
+/* 803002C8 002FBF28 7C 1A C8 40 */ cmplw r26, r25
+/* 803002CC 002FBF2C 40 80 00 14 */ bge lbl_803002E0
+/* 803002D0 002FBF30 7F E3 FB 78 */ mr r3, r31
+/* 803002D4 002FBF34 4B FA 30 65 */ bl IOS_Close
+/* 803002D8 002FBF38 7F 03 C3 78 */ mr r3, r24
+/* 803002DC 002FBF3C 48 00 01 94 */ b lbl_80300470
+lbl_803002E0:
+/* 803002E0 002FBF40 7F BD D2 14 */ add r29, r29, r26
+/* 803002E4 002FBF44 7F DA F0 50 */ subf r30, r26, r30
+/* 803002E8 002FBF48 48 00 00 14 */ b lbl_803002FC
+lbl_803002EC:
+/* 803002EC 002FBF4C 7F E3 FB 78 */ mr r3, r31
+/* 803002F0 002FBF50 4B FA 30 49 */ bl IOS_Close
+/* 803002F4 002FBF54 7F 43 D3 78 */ mr r3, r26
+/* 803002F8 002FBF58 48 00 01 78 */ b lbl_80300470
+lbl_803002FC:
+/* 803002FC 002FBF5C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80300300 002FBF60 41 82 00 A8 */ beq lbl_803003A8
+/* 80300304 002FBF64 57 D9 00 35 */ rlwinm. r25, r30, 0, 0, 0x1a
+/* 80300308 002FBF68 41 82 00 A0 */ beq lbl_803003A8
+/* 8030030C 002FBF6C 39 00 00 20 */ li r8, 0x20
+/* 80300310 002FBF70 39 21 00 C0 */ addi r9, r1, 0xc0
+/* 80300314 002FBF74 38 01 00 A0 */ addi r0, r1, 0xa0
+/* 80300318 002FBF78 38 A0 FF FF */ li r5, -1
+/* 8030031C 002FBF7C 90 A1 00 C0 */ stw r5, 0xc0(r1)
+/* 80300320 002FBF80 7F E3 FB 78 */ mr r3, r31
+/* 80300324 002FBF84 38 E1 00 80 */ addi r7, r1, 0x80
+/* 80300328 002FBF88 38 80 00 04 */ li r4, 4
+/* 8030032C 002FBF8C 93 81 00 A0 */ stw r28, 0xa0(r1)
+/* 80300330 002FBF90 38 A0 00 02 */ li r5, 2
+/* 80300334 002FBF94 38 C0 00 01 */ li r6, 1
+/* 80300338 002FBF98 91 21 00 80 */ stw r9, 0x80(r1)
+/* 8030033C 002FBF9C 91 01 00 84 */ stw r8, 0x84(r1)
+/* 80300340 002FBFA0 93 A1 00 88 */ stw r29, 0x88(r1)
+/* 80300344 002FBFA4 93 21 00 8C */ stw r25, 0x8c(r1)
+/* 80300348 002FBFA8 90 01 00 90 */ stw r0, 0x90(r1)
+/* 8030034C 002FBFAC 91 01 00 94 */ stw r8, 0x94(r1)
+/* 80300350 002FBFB0 4B FA 3A F1 */ bl IOS_Ioctlv
+/* 80300354 002FBFB4 83 41 00 C0 */ lwz r26, 0xc0(r1)
+/* 80300358 002FBFB8 2C 1A 00 00 */ cmpwi r26, 0
+/* 8030035C 002FBFBC 40 81 00 2C */ ble lbl_80300388
+/* 80300360 002FBFC0 7C 1A C8 40 */ cmplw r26, r25
+/* 80300364 002FBFC4 7F 18 D2 14 */ add r24, r24, r26
+/* 80300368 002FBFC8 40 80 00 14 */ bge lbl_8030037C
+/* 8030036C 002FBFCC 7F E3 FB 78 */ mr r3, r31
+/* 80300370 002FBFD0 4B FA 2F C9 */ bl IOS_Close
+/* 80300374 002FBFD4 7F 03 C3 78 */ mr r3, r24
+/* 80300378 002FBFD8 48 00 00 F8 */ b lbl_80300470
+lbl_8030037C:
+/* 8030037C 002FBFDC 7F BD D2 14 */ add r29, r29, r26
+/* 80300380 002FBFE0 7F DA F0 50 */ subf r30, r26, r30
+/* 80300384 002FBFE4 48 00 00 24 */ b lbl_803003A8
+lbl_80300388:
+/* 80300388 002FBFE8 7F E3 FB 78 */ mr r3, r31
+/* 8030038C 002FBFEC 4B FA 2F AD */ bl IOS_Close
+/* 80300390 002FBFF0 2C 18 00 00 */ cmpwi r24, 0
+/* 80300394 002FBFF4 40 81 00 0C */ ble lbl_803003A0
+/* 80300398 002FBFF8 7F 03 C3 78 */ mr r3, r24
+/* 8030039C 002FBFFC 48 00 00 D4 */ b lbl_80300470
+lbl_803003A0:
+/* 803003A0 002FC000 7F 43 D3 78 */ mr r3, r26
+/* 803003A4 002FC004 48 00 00 CC */ b lbl_80300470
+lbl_803003A8:
+/* 803003A8 002FC008 2C 1E 00 00 */ cmpwi r30, 0
+/* 803003AC 002FC00C 41 82 00 AC */ beq lbl_80300458
+/* 803003B0 002FC010 57 D9 06 FF */ clrlwi. r25, r30, 0x1b
+/* 803003B4 002FC014 41 82 00 A4 */ beq lbl_80300458
+/* 803003B8 002FC018 38 61 01 40 */ addi r3, r1, 0x140
+/* 803003BC 002FC01C 38 80 00 00 */ li r4, 0
+/* 803003C0 002FC020 38 A0 00 20 */ li r5, 0x20
+/* 803003C4 002FC024 4B D0 3D 41 */ bl memset
+/* 803003C8 002FC028 39 00 00 20 */ li r8, 0x20
+/* 803003CC 002FC02C 39 21 00 60 */ addi r9, r1, 0x60
+/* 803003D0 002FC030 3B C1 01 40 */ addi r30, r1, 0x140
+/* 803003D4 002FC034 38 01 00 40 */ addi r0, r1, 0x40
+/* 803003D8 002FC038 38 80 FF FF */ li r4, -1
+/* 803003DC 002FC03C 93 81 00 40 */ stw r28, 0x40(r1)
+/* 803003E0 002FC040 7F E3 FB 78 */ mr r3, r31
+/* 803003E4 002FC044 38 E1 00 20 */ addi r7, r1, 0x20
+/* 803003E8 002FC048 90 81 00 60 */ stw r4, 0x60(r1)
+/* 803003EC 002FC04C 38 80 00 04 */ li r4, 4
+/* 803003F0 002FC050 38 A0 00 02 */ li r5, 2
+/* 803003F4 002FC054 38 C0 00 01 */ li r6, 1
+/* 803003F8 002FC058 91 21 00 20 */ stw r9, 0x20(r1)
+/* 803003FC 002FC05C 91 01 00 24 */ stw r8, 0x24(r1)
+/* 80300400 002FC060 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80300404 002FC064 93 21 00 2C */ stw r25, 0x2c(r1)
+/* 80300408 002FC068 90 01 00 30 */ stw r0, 0x30(r1)
+/* 8030040C 002FC06C 91 01 00 34 */ stw r8, 0x34(r1)
+/* 80300410 002FC070 4B FA 3A 31 */ bl IOS_Ioctlv
+/* 80300414 002FC074 83 41 00 60 */ lwz r26, 0x60(r1)
+/* 80300418 002FC078 2C 1A 00 00 */ cmpwi r26, 0
+/* 8030041C 002FC07C 40 81 00 1C */ ble lbl_80300438
+/* 80300420 002FC080 7F A3 EB 78 */ mr r3, r29
+/* 80300424 002FC084 7F C4 F3 78 */ mr r4, r30
+/* 80300428 002FC088 7F 45 D3 78 */ mr r5, r26
+/* 8030042C 002FC08C 7F 18 D2 14 */ add r24, r24, r26
+/* 80300430 002FC090 4B D0 3B D1 */ bl memcpy
+/* 80300434 002FC094 48 00 00 24 */ b lbl_80300458
+lbl_80300438:
+/* 80300438 002FC098 7F E3 FB 78 */ mr r3, r31
+/* 8030043C 002FC09C 4B FA 2E FD */ bl IOS_Close
+/* 80300440 002FC0A0 2C 18 00 00 */ cmpwi r24, 0
+/* 80300444 002FC0A4 40 81 00 0C */ ble lbl_80300450
+/* 80300448 002FC0A8 7F 03 C3 78 */ mr r3, r24
+/* 8030044C 002FC0AC 48 00 00 24 */ b lbl_80300470
+lbl_80300450:
+/* 80300450 002FC0B0 7F 43 D3 78 */ mr r3, r26
+/* 80300454 002FC0B4 48 00 00 1C */ b lbl_80300470
+lbl_80300458:
+/* 80300458 002FC0B8 2C 18 00 00 */ cmpwi r24, 0
+/* 8030045C 002FC0BC 40 81 00 08 */ ble lbl_80300464
+/* 80300460 002FC0C0 7F 1A C3 78 */ mr r26, r24
+lbl_80300464:
+/* 80300464 002FC0C4 7F E3 FB 78 */ mr r3, r31
+/* 80300468 002FC0C8 4B FA 2E D1 */ bl IOS_Close
+/* 8030046C 002FC0CC 7F 43 D3 78 */ mr r3, r26
+lbl_80300470:
+/* 80300470 002FC0D0 81 41 00 00 */ lwz r10, 0(r1)
+/* 80300474 002FC0D4 7D 4B 53 78 */ mr r11, r10
+/* 80300478 002FC0D8 4B EC 6C F1 */ bl _restgpr_24
+/* 8030047C 002FC0DC 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80300480 002FC0E0 7C 08 03 A6 */ mtlr r0
+/* 80300484 002FC0E4 7D 41 53 78 */ mr r1, r10
+/* 80300488 002FC0E8 4E 80 00 20 */ blr
+
+.global func_8030048C
+func_8030048C:
+/* 8030048C 002FC0EC 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 80300490 002FC0F0 7C 2C 0B 78 */ mr r12, r1
+/* 80300494 002FC0F4 21 6B FE 80 */ subfic r11, r11, -384
+/* 80300498 002FC0F8 7C 21 59 6E */ stwux r1, r1, r11
+/* 8030049C 002FC0FC 7C 08 02 A6 */ mflr r0
+/* 803004A0 002FC100 7D 8B 63 78 */ mr r11, r12
+/* 803004A4 002FC104 90 0C 00 04 */ stw r0, 4(r12)
+/* 803004A8 002FC108 4B EC 6C 79 */ bl _savegpr_25
+/* 803004AC 002FC10C 3C C0 80 44 */ lis r6, lbl_80446240@ha
+/* 803004B0 002FC110 7C 7C 1B 78 */ mr r28, r3
+/* 803004B4 002FC114 7C 9D 23 78 */ mr r29, r4
+/* 803004B8 002FC118 7C BE 2B 78 */ mr r30, r5
+/* 803004BC 002FC11C 38 66 62 40 */ addi r3, r6, lbl_80446240@l
+/* 803004C0 002FC120 38 80 00 00 */ li r4, 0
+/* 803004C4 002FC124 4B FA 2C 95 */ bl IOS_Open
+/* 803004C8 002FC128 2C 03 00 00 */ cmpwi r3, 0
+/* 803004CC 002FC12C 7C 7F 1B 78 */ mr r31, r3
+/* 803004D0 002FC130 3B 60 FF FF */ li r27, -1
+/* 803004D4 002FC134 40 80 00 0C */ bge lbl_803004E0
+/* 803004D8 002FC138 38 60 FF FF */ li r3, -1
+/* 803004DC 002FC13C 48 00 02 54 */ b lbl_80300730
+lbl_803004E0:
+/* 803004E0 002FC140 57 A0 06 FF */ clrlwi. r0, r29, 0x1b
+/* 803004E4 002FC144 41 82 00 0C */ beq lbl_803004F0
+/* 803004E8 002FC148 23 40 00 20 */ subfic r26, r0, 0x20
+/* 803004EC 002FC14C 48 00 00 08 */ b lbl_803004F4
+lbl_803004F0:
+/* 803004F0 002FC150 3B 40 00 00 */ li r26, 0
+lbl_803004F4:
+/* 803004F4 002FC154 38 61 01 40 */ addi r3, r1, 0x140
+/* 803004F8 002FC158 3B 20 00 00 */ li r25, 0
+/* 803004FC 002FC15C 38 80 00 00 */ li r4, 0
+/* 80300500 002FC160 38 A0 00 20 */ li r5, 0x20
+/* 80300504 002FC164 4B D0 3C 01 */ bl memset
+/* 80300508 002FC168 2C 1A 00 00 */ cmpwi r26, 0
+/* 8030050C 002FC16C 41 82 00 B0 */ beq lbl_803005BC
+/* 80300510 002FC170 7C 1A F0 40 */ cmplw r26, r30
+/* 80300514 002FC174 40 81 00 08 */ ble lbl_8030051C
+/* 80300518 002FC178 7F DA F3 78 */ mr r26, r30
+lbl_8030051C:
+/* 8030051C 002FC17C 7F A4 EB 78 */ mr r4, r29
+/* 80300520 002FC180 7F 45 D3 78 */ mr r5, r26
+/* 80300524 002FC184 38 61 01 40 */ addi r3, r1, 0x140
+/* 80300528 002FC188 4B D0 3A D9 */ bl memcpy
+/* 8030052C 002FC18C 39 20 00 20 */ li r9, 0x20
+/* 80300530 002FC190 39 41 01 20 */ addi r10, r1, 0x120
+/* 80300534 002FC194 39 01 01 00 */ addi r8, r1, 0x100
+/* 80300538 002FC198 38 01 01 40 */ addi r0, r1, 0x140
+/* 8030053C 002FC19C 38 80 FF FF */ li r4, -1
+/* 80300540 002FC1A0 93 81 01 00 */ stw r28, 0x100(r1)
+/* 80300544 002FC1A4 7F E3 FB 78 */ mr r3, r31
+/* 80300548 002FC1A8 38 E1 00 E0 */ addi r7, r1, 0xe0
+/* 8030054C 002FC1AC 90 81 01 20 */ stw r4, 0x120(r1)
+/* 80300550 002FC1B0 38 80 00 05 */ li r4, 5
+/* 80300554 002FC1B4 38 A0 00 01 */ li r5, 1
+/* 80300558 002FC1B8 38 C0 00 02 */ li r6, 2
+/* 8030055C 002FC1BC 91 41 00 E0 */ stw r10, 0xe0(r1)
+/* 80300560 002FC1C0 91 21 00 E4 */ stw r9, 0xe4(r1)
+/* 80300564 002FC1C4 91 01 00 E8 */ stw r8, 0xe8(r1)
+/* 80300568 002FC1C8 91 21 00 EC */ stw r9, 0xec(r1)
+/* 8030056C 002FC1CC 90 01 00 F0 */ stw r0, 0xf0(r1)
+/* 80300570 002FC1D0 93 41 00 F4 */ stw r26, 0xf4(r1)
+/* 80300574 002FC1D4 4B FA 38 CD */ bl IOS_Ioctlv
+/* 80300578 002FC1D8 83 61 01 20 */ lwz r27, 0x120(r1)
+/* 8030057C 002FC1DC 2C 1B 00 00 */ cmpwi r27, 0
+/* 80300580 002FC1E0 40 81 00 2C */ ble lbl_803005AC
+/* 80300584 002FC1E4 7C 1B D0 40 */ cmplw r27, r26
+/* 80300588 002FC1E8 7F 79 DB 78 */ mr r25, r27
+/* 8030058C 002FC1EC 40 80 00 14 */ bge lbl_803005A0
+/* 80300590 002FC1F0 7F E3 FB 78 */ mr r3, r31
+/* 80300594 002FC1F4 4B FA 2D A5 */ bl IOS_Close
+/* 80300598 002FC1F8 7F 63 DB 78 */ mr r3, r27
+/* 8030059C 002FC1FC 48 00 01 94 */ b lbl_80300730
+lbl_803005A0:
+/* 803005A0 002FC200 7F BD DA 14 */ add r29, r29, r27
+/* 803005A4 002FC204 7F DB F0 50 */ subf r30, r27, r30
+/* 803005A8 002FC208 48 00 00 14 */ b lbl_803005BC
+lbl_803005AC:
+/* 803005AC 002FC20C 7F E3 FB 78 */ mr r3, r31
+/* 803005B0 002FC210 4B FA 2D 89 */ bl IOS_Close
+/* 803005B4 002FC214 7F 63 DB 78 */ mr r3, r27
+/* 803005B8 002FC218 48 00 01 78 */ b lbl_80300730
+lbl_803005BC:
+/* 803005BC 002FC21C 2C 1E 00 00 */ cmpwi r30, 0
+/* 803005C0 002FC220 41 82 00 A8 */ beq lbl_80300668
+/* 803005C4 002FC224 57 DA 00 35 */ rlwinm. r26, r30, 0, 0, 0x1a
+/* 803005C8 002FC228 41 82 00 A0 */ beq lbl_80300668
+/* 803005CC 002FC22C 39 00 00 20 */ li r8, 0x20
+/* 803005D0 002FC230 39 21 00 C0 */ addi r9, r1, 0xc0
+/* 803005D4 002FC234 38 01 00 A0 */ addi r0, r1, 0xa0
+/* 803005D8 002FC238 38 A0 FF FF */ li r5, -1
+/* 803005DC 002FC23C 90 A1 00 C0 */ stw r5, 0xc0(r1)
+/* 803005E0 002FC240 7F E3 FB 78 */ mr r3, r31
+/* 803005E4 002FC244 38 E1 00 80 */ addi r7, r1, 0x80
+/* 803005E8 002FC248 38 80 00 05 */ li r4, 5
+/* 803005EC 002FC24C 93 81 00 A0 */ stw r28, 0xa0(r1)
+/* 803005F0 002FC250 38 A0 00 01 */ li r5, 1
+/* 803005F4 002FC254 38 C0 00 02 */ li r6, 2
+/* 803005F8 002FC258 91 21 00 80 */ stw r9, 0x80(r1)
+/* 803005FC 002FC25C 91 01 00 84 */ stw r8, 0x84(r1)
+/* 80300600 002FC260 90 01 00 88 */ stw r0, 0x88(r1)
+/* 80300604 002FC264 91 01 00 8C */ stw r8, 0x8c(r1)
+/* 80300608 002FC268 93 A1 00 90 */ stw r29, 0x90(r1)
+/* 8030060C 002FC26C 93 41 00 94 */ stw r26, 0x94(r1)
+/* 80300610 002FC270 4B FA 38 31 */ bl IOS_Ioctlv
+/* 80300614 002FC274 83 61 00 C0 */ lwz r27, 0xc0(r1)
+/* 80300618 002FC278 2C 1B 00 00 */ cmpwi r27, 0
+/* 8030061C 002FC27C 40 81 00 2C */ ble lbl_80300648
+/* 80300620 002FC280 7C 1B D0 40 */ cmplw r27, r26
+/* 80300624 002FC284 7F 39 DA 14 */ add r25, r25, r27
+/* 80300628 002FC288 40 80 00 14 */ bge lbl_8030063C
+/* 8030062C 002FC28C 7F E3 FB 78 */ mr r3, r31
+/* 80300630 002FC290 4B FA 2D 09 */ bl IOS_Close
+/* 80300634 002FC294 7F 23 CB 78 */ mr r3, r25
+/* 80300638 002FC298 48 00 00 F8 */ b lbl_80300730
+lbl_8030063C:
+/* 8030063C 002FC29C 7F BD DA 14 */ add r29, r29, r27
+/* 80300640 002FC2A0 7F DB F0 50 */ subf r30, r27, r30
+/* 80300644 002FC2A4 48 00 00 24 */ b lbl_80300668
+lbl_80300648:
+/* 80300648 002FC2A8 7F E3 FB 78 */ mr r3, r31
+/* 8030064C 002FC2AC 4B FA 2C ED */ bl IOS_Close
+/* 80300650 002FC2B0 2C 19 00 00 */ cmpwi r25, 0
+/* 80300654 002FC2B4 40 81 00 0C */ ble lbl_80300660
+/* 80300658 002FC2B8 7F 23 CB 78 */ mr r3, r25
+/* 8030065C 002FC2BC 48 00 00 D4 */ b lbl_80300730
+lbl_80300660:
+/* 80300660 002FC2C0 7F 63 DB 78 */ mr r3, r27
+/* 80300664 002FC2C4 48 00 00 CC */ b lbl_80300730
+lbl_80300668:
+/* 80300668 002FC2C8 2C 1E 00 00 */ cmpwi r30, 0
+/* 8030066C 002FC2CC 41 82 00 AC */ beq lbl_80300718
+/* 80300670 002FC2D0 57 DA 06 FF */ clrlwi. r26, r30, 0x1b
+/* 80300674 002FC2D4 41 82 00 A4 */ beq lbl_80300718
+/* 80300678 002FC2D8 38 61 01 40 */ addi r3, r1, 0x140
+/* 8030067C 002FC2DC 38 80 00 00 */ li r4, 0
+/* 80300680 002FC2E0 38 A0 00 20 */ li r5, 0x20
+/* 80300684 002FC2E4 4B D0 3A 81 */ bl memset
+/* 80300688 002FC2E8 7F A4 EB 78 */ mr r4, r29
+/* 8030068C 002FC2EC 7F 45 D3 78 */ mr r5, r26
+/* 80300690 002FC2F0 38 61 01 40 */ addi r3, r1, 0x140
+/* 80300694 002FC2F4 4B D0 39 6D */ bl memcpy
+/* 80300698 002FC2F8 39 20 00 20 */ li r9, 0x20
+/* 8030069C 002FC2FC 39 41 00 60 */ addi r10, r1, 0x60
+/* 803006A0 002FC300 39 01 00 40 */ addi r8, r1, 0x40
+/* 803006A4 002FC304 38 01 01 40 */ addi r0, r1, 0x140
+/* 803006A8 002FC308 38 80 FF FF */ li r4, -1
+/* 803006AC 002FC30C 93 81 00 40 */ stw r28, 0x40(r1)
+/* 803006B0 002FC310 7F E3 FB 78 */ mr r3, r31
+/* 803006B4 002FC314 38 E1 00 20 */ addi r7, r1, 0x20
+/* 803006B8 002FC318 90 81 00 60 */ stw r4, 0x60(r1)
+/* 803006BC 002FC31C 38 80 00 05 */ li r4, 5
+/* 803006C0 002FC320 38 A0 00 01 */ li r5, 1
+/* 803006C4 002FC324 38 C0 00 02 */ li r6, 2
+/* 803006C8 002FC328 91 41 00 20 */ stw r10, 0x20(r1)
+/* 803006CC 002FC32C 91 21 00 24 */ stw r9, 0x24(r1)
+/* 803006D0 002FC330 91 01 00 28 */ stw r8, 0x28(r1)
+/* 803006D4 002FC334 91 21 00 2C */ stw r9, 0x2c(r1)
+/* 803006D8 002FC338 90 01 00 30 */ stw r0, 0x30(r1)
+/* 803006DC 002FC33C 93 41 00 34 */ stw r26, 0x34(r1)
+/* 803006E0 002FC340 4B FA 37 61 */ bl IOS_Ioctlv
+/* 803006E4 002FC344 83 61 00 60 */ lwz r27, 0x60(r1)
+/* 803006E8 002FC348 2C 1B 00 00 */ cmpwi r27, 0
+/* 803006EC 002FC34C 40 81 00 0C */ ble lbl_803006F8
+/* 803006F0 002FC350 7F 39 DA 14 */ add r25, r25, r27
+/* 803006F4 002FC354 48 00 00 24 */ b lbl_80300718
+lbl_803006F8:
+/* 803006F8 002FC358 7F E3 FB 78 */ mr r3, r31
+/* 803006FC 002FC35C 4B FA 2C 3D */ bl IOS_Close
+/* 80300700 002FC360 2C 19 00 00 */ cmpwi r25, 0
+/* 80300704 002FC364 40 81 00 0C */ ble lbl_80300710
+/* 80300708 002FC368 7F 23 CB 78 */ mr r3, r25
+/* 8030070C 002FC36C 48 00 00 24 */ b lbl_80300730
+lbl_80300710:
+/* 80300710 002FC370 7F 63 DB 78 */ mr r3, r27
+/* 80300714 002FC374 48 00 00 1C */ b lbl_80300730
+lbl_80300718:
+/* 80300718 002FC378 2C 19 00 00 */ cmpwi r25, 0
+/* 8030071C 002FC37C 40 81 00 08 */ ble lbl_80300724
+/* 80300720 002FC380 7F 3B CB 78 */ mr r27, r25
+lbl_80300724:
+/* 80300724 002FC384 7F E3 FB 78 */ mr r3, r31
+/* 80300728 002FC388 4B FA 2C 11 */ bl IOS_Close
+/* 8030072C 002FC38C 7F 63 DB 78 */ mr r3, r27
+lbl_80300730:
+/* 80300730 002FC390 81 41 00 00 */ lwz r10, 0(r1)
+/* 80300734 002FC394 7D 4B 53 78 */ mr r11, r10
+/* 80300738 002FC398 4B EC 6A 35 */ bl _restgpr_25
+/* 8030073C 002FC39C 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80300740 002FC3A0 7C 08 03 A6 */ mtlr r0
+/* 80300744 002FC3A4 7D 41 53 78 */ mr r1, r10
+/* 80300748 002FC3A8 4E 80 00 20 */ blr
+
+.global func_8030074C
+func_8030074C:
+/* 8030074C 002FC3AC 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 80300750 002FC3B0 7C 2C 0B 78 */ mr r12, r1
+/* 80300754 002FC3B4 21 6B FF 60 */ subfic r11, r11, -160
+/* 80300758 002FC3B8 7C 21 59 6E */ stwux r1, r1, r11
+/* 8030075C 002FC3BC 7C 08 02 A6 */ mflr r0
+/* 80300760 002FC3C0 3C 80 80 44 */ lis r4, lbl_80446240@ha
+/* 80300764 002FC3C4 90 0C 00 04 */ stw r0, 4(r12)
+/* 80300768 002FC3C8 93 EC FF FC */ stw r31, -4(r12)
+/* 8030076C 002FC3CC 93 CC FF F8 */ stw r30, -8(r12)
+/* 80300770 002FC3D0 7C 7E 1B 78 */ mr r30, r3
+/* 80300774 002FC3D4 38 64 62 40 */ addi r3, r4, lbl_80446240@l
+/* 80300778 002FC3D8 38 80 00 00 */ li r4, 0
+/* 8030077C 002FC3DC 4B FA 29 DD */ bl IOS_Open
+/* 80300780 002FC3E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80300784 002FC3E4 7C 7F 1B 78 */ mr r31, r3
+/* 80300788 002FC3E8 40 80 00 0C */ bge lbl_80300794
+/* 8030078C 002FC3EC 38 60 FF FF */ li r3, -1
+/* 80300790 002FC3F0 48 00 00 4C */ b lbl_803007DC
+lbl_80300794:
+/* 80300794 002FC3F4 39 00 00 20 */ li r8, 0x20
+/* 80300798 002FC3F8 39 21 00 20 */ addi r9, r1, 0x20
+/* 8030079C 002FC3FC 38 01 00 40 */ addi r0, r1, 0x40
+/* 803007A0 002FC400 38 C0 FF FF */ li r6, -1
+/* 803007A4 002FC404 90 C1 00 20 */ stw r6, 0x20(r1)
+/* 803007A8 002FC408 38 E1 00 60 */ addi r7, r1, 0x60
+/* 803007AC 002FC40C 38 80 00 06 */ li r4, 6
+/* 803007B0 002FC410 38 A0 00 01 */ li r5, 1
+/* 803007B4 002FC414 93 C1 00 40 */ stw r30, 0x40(r1)
+/* 803007B8 002FC418 38 C0 00 01 */ li r6, 1
+/* 803007BC 002FC41C 91 21 00 60 */ stw r9, 0x60(r1)
+/* 803007C0 002FC420 91 01 00 64 */ stw r8, 0x64(r1)
+/* 803007C4 002FC424 90 01 00 68 */ stw r0, 0x68(r1)
+/* 803007C8 002FC428 91 01 00 6C */ stw r8, 0x6c(r1)
+/* 803007CC 002FC42C 4B FA 36 75 */ bl IOS_Ioctlv
+/* 803007D0 002FC430 7F E3 FB 78 */ mr r3, r31
+/* 803007D4 002FC434 4B FA 2B 65 */ bl IOS_Close
+/* 803007D8 002FC438 80 61 00 20 */ lwz r3, 0x20(r1)
+lbl_803007DC:
+/* 803007DC 002FC43C 81 41 00 00 */ lwz r10, 0(r1)
+/* 803007E0 002FC440 80 0A 00 04 */ lwz r0, 4(r10)
+/* 803007E4 002FC444 83 EA FF FC */ lwz r31, -4(r10)
+/* 803007E8 002FC448 83 CA FF F8 */ lwz r30, -8(r10)
+/* 803007EC 002FC44C 7C 08 03 A6 */ mtlr r0
+/* 803007F0 002FC450 7D 41 53 78 */ mr r1, r10
+/* 803007F4 002FC454 4E 80 00 20 */ blr
+
+.global func_803007F8
+func_803007F8:
+/* 803007F8 002FC458 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 803007FC 002FC45C 7C 2C 0B 78 */ mr r12, r1
+/* 80300800 002FC460 21 6B FF 60 */ subfic r11, r11, -160
+/* 80300804 002FC464 7C 21 59 6E */ stwux r1, r1, r11
+/* 80300808 002FC468 7C 08 02 A6 */ mflr r0
+/* 8030080C 002FC46C 7D 8B 63 78 */ mr r11, r12
+/* 80300810 002FC470 90 0C 00 04 */ stw r0, 4(r12)
+/* 80300814 002FC474 4B EC 69 09 */ bl _savegpr_24
+/* 80300818 002FC478 3F E0 80 58 */ lis r31, lbl_8057B780@ha
+/* 8030081C 002FC47C 3D 00 80 44 */ lis r8, lbl_80446240@ha
+/* 80300820 002FC480 7C 78 1B 78 */ mr r24, r3
+/* 80300824 002FC484 7C 99 23 78 */ mr r25, r4
+/* 80300828 002FC488 7C BA 2B 78 */ mr r26, r5
+/* 8030082C 002FC48C 7C DB 33 78 */ mr r27, r6
+/* 80300830 002FC490 7C FC 3B 78 */ mr r28, r7
+/* 80300834 002FC494 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l
+/* 80300838 002FC498 38 68 62 40 */ addi r3, r8, lbl_80446240@l
+/* 8030083C 002FC49C 38 80 00 00 */ li r4, 0
+/* 80300840 002FC4A0 4B FA 29 19 */ bl IOS_Open
+/* 80300844 002FC4A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80300848 002FC4A8 7C 7D 1B 78 */ mr r29, r3
+/* 8030084C 002FC4AC 40 80 00 0C */ bge lbl_80300858
+/* 80300850 002FC4B0 38 60 FF FF */ li r3, -1
+/* 80300854 002FC4B4 48 00 00 F4 */ b lbl_80300948
+lbl_80300858:
+/* 80300858 002FC4B8 4B F6 DF 05 */ bl OSDisableInterrupts
+/* 8030085C 002FC4BC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13)
+/* 80300860 002FC4C0 7C 7E 1B 78 */ mr r30, r3
+/* 80300864 002FC4C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80300868 002FC4C8 40 82 00 44 */ bne lbl_803008AC
+/* 8030086C 002FC4CC 38 7F 00 00 */ addi r3, r31, 0
+/* 80300870 002FC4D0 48 00 03 95 */ bl func_80300C04
+/* 80300874 002FC4D4 38 7F 00 20 */ addi r3, r31, 0x20
+/* 80300878 002FC4D8 38 80 00 00 */ li r4, 0
+/* 8030087C 002FC4DC 38 A0 10 00 */ li r5, 0x1000
+/* 80300880 002FC4E0 4B D0 38 85 */ bl memset
+/* 80300884 002FC4E4 38 7F 10 20 */ addi r3, r31, 0x1020
+/* 80300888 002FC4E8 38 80 00 00 */ li r4, 0
+/* 8030088C 002FC4EC 38 A0 10 00 */ li r5, 0x1000
+/* 80300890 002FC4F0 4B D0 38 75 */ bl memset
+/* 80300894 002FC4F4 38 7F 20 20 */ addi r3, r31, 0x2020
+/* 80300898 002FC4F8 38 80 00 00 */ li r4, 0
+/* 8030089C 002FC4FC 38 A0 10 00 */ li r5, 0x1000
+/* 803008A0 002FC500 4B D0 38 65 */ bl memset
+/* 803008A4 002FC504 38 00 00 01 */ li r0, 1
+/* 803008A8 002FC508 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13)
+lbl_803008AC:
+/* 803008AC 002FC50C 7F C3 F3 78 */ mr r3, r30
+/* 803008B0 002FC510 4B F6 DE D5 */ bl OSRestoreInterrupts
+/* 803008B4 002FC514 38 7F 00 00 */ addi r3, r31, 0
+/* 803008B8 002FC518 48 00 03 51 */ bl func_80300C08
+/* 803008BC 002FC51C 7F 24 CB 78 */ mr r4, r25
+/* 803008C0 002FC520 7F 45 D3 78 */ mr r5, r26
+/* 803008C4 002FC524 38 7F 00 20 */ addi r3, r31, 0x20
+/* 803008C8 002FC528 4B D0 37 39 */ bl memcpy
+/* 803008CC 002FC52C 7F 64 DB 78 */ mr r4, r27
+/* 803008D0 002FC530 7F 85 E3 78 */ mr r5, r28
+/* 803008D4 002FC534 38 7F 10 20 */ addi r3, r31, 0x1020
+/* 803008D8 002FC538 4B D0 37 29 */ bl memcpy
+/* 803008DC 002FC53C 39 40 00 20 */ li r10, 0x20
+/* 803008E0 002FC540 39 61 00 40 */ addi r11, r1, 0x40
+/* 803008E4 002FC544 39 21 00 20 */ addi r9, r1, 0x20
+/* 803008E8 002FC548 39 1F 00 20 */ addi r8, r31, 0x20
+/* 803008EC 002FC54C 38 1F 10 20 */ addi r0, r31, 0x1020
+/* 803008F0 002FC550 38 60 FF FF */ li r3, -1
+/* 803008F4 002FC554 90 61 00 40 */ stw r3, 0x40(r1)
+/* 803008F8 002FC558 7F A3 EB 78 */ mr r3, r29
+/* 803008FC 002FC55C 38 E1 00 60 */ addi r7, r1, 0x60
+/* 80300900 002FC560 38 80 00 07 */ li r4, 7
+/* 80300904 002FC564 93 01 00 20 */ stw r24, 0x20(r1)
+/* 80300908 002FC568 38 A0 00 01 */ li r5, 1
+/* 8030090C 002FC56C 38 C0 00 03 */ li r6, 3
+/* 80300910 002FC570 91 61 00 60 */ stw r11, 0x60(r1)
+/* 80300914 002FC574 91 41 00 64 */ stw r10, 0x64(r1)
+/* 80300918 002FC578 91 21 00 68 */ stw r9, 0x68(r1)
+/* 8030091C 002FC57C 91 41 00 6C */ stw r10, 0x6c(r1)
+/* 80300920 002FC580 91 01 00 70 */ stw r8, 0x70(r1)
+/* 80300924 002FC584 93 41 00 74 */ stw r26, 0x74(r1)
+/* 80300928 002FC588 90 01 00 78 */ stw r0, 0x78(r1)
+/* 8030092C 002FC58C 93 81 00 7C */ stw r28, 0x7c(r1)
+/* 80300930 002FC590 4B FA 35 11 */ bl IOS_Ioctlv
+/* 80300934 002FC594 38 7F 00 00 */ addi r3, r31, 0
+/* 80300938 002FC598 48 00 02 D5 */ bl func_80300C0C
+/* 8030093C 002FC59C 7F A3 EB 78 */ mr r3, r29
+/* 80300940 002FC5A0 4B FA 29 F9 */ bl IOS_Close
+/* 80300944 002FC5A4 80 61 00 40 */ lwz r3, 0x40(r1)
+lbl_80300948:
+/* 80300948 002FC5A8 81 41 00 00 */ lwz r10, 0(r1)
+/* 8030094C 002FC5AC 7D 4B 53 78 */ mr r11, r10
+/* 80300950 002FC5B0 4B EC 68 19 */ bl _restgpr_24
+/* 80300954 002FC5B4 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80300958 002FC5B8 7C 08 03 A6 */ mtlr r0
+/* 8030095C 002FC5BC 7D 41 53 78 */ mr r1, r10
+/* 80300960 002FC5C0 4E 80 00 20 */ blr
+
+.global func_80300964
+func_80300964:
+/* 80300964 002FC5C4 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 80300968 002FC5C8 7C 2C 0B 78 */ mr r12, r1
+/* 8030096C 002FC5CC 21 6B FF 60 */ subfic r11, r11, -160
+/* 80300970 002FC5D0 7C 21 59 6E */ stwux r1, r1, r11
+/* 80300974 002FC5D4 7C 08 02 A6 */ mflr r0
+/* 80300978 002FC5D8 3C 80 80 44 */ lis r4, lbl_80446240@ha
+/* 8030097C 002FC5DC 90 0C 00 04 */ stw r0, 4(r12)
+/* 80300980 002FC5E0 93 EC FF FC */ stw r31, -4(r12)
+/* 80300984 002FC5E4 93 CC FF F8 */ stw r30, -8(r12)
+/* 80300988 002FC5E8 7C 7E 1B 78 */ mr r30, r3
+/* 8030098C 002FC5EC 38 64 62 40 */ addi r3, r4, lbl_80446240@l
+/* 80300990 002FC5F0 38 80 00 00 */ li r4, 0
+/* 80300994 002FC5F4 4B FA 27 C5 */ bl IOS_Open
+/* 80300998 002FC5F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030099C 002FC5FC 7C 7F 1B 78 */ mr r31, r3
+/* 803009A0 002FC600 40 80 00 0C */ bge lbl_803009AC
+/* 803009A4 002FC604 38 60 FF FF */ li r3, -1
+/* 803009A8 002FC608 48 00 00 4C */ b lbl_803009F4
+lbl_803009AC:
+/* 803009AC 002FC60C 39 00 00 20 */ li r8, 0x20
+/* 803009B0 002FC610 39 21 00 40 */ addi r9, r1, 0x40
+/* 803009B4 002FC614 38 01 00 20 */ addi r0, r1, 0x20
+/* 803009B8 002FC618 38 80 FF FF */ li r4, -1
+/* 803009BC 002FC61C 90 81 00 40 */ stw r4, 0x40(r1)
+/* 803009C0 002FC620 38 E1 00 60 */ addi r7, r1, 0x60
+/* 803009C4 002FC624 38 80 00 08 */ li r4, 8
+/* 803009C8 002FC628 38 A0 00 01 */ li r5, 1
+/* 803009CC 002FC62C 93 C1 00 20 */ stw r30, 0x20(r1)
+/* 803009D0 002FC630 38 C0 00 01 */ li r6, 1
+/* 803009D4 002FC634 91 21 00 60 */ stw r9, 0x60(r1)
+/* 803009D8 002FC638 91 01 00 64 */ stw r8, 0x64(r1)
+/* 803009DC 002FC63C 90 01 00 68 */ stw r0, 0x68(r1)
+/* 803009E0 002FC640 91 01 00 6C */ stw r8, 0x6c(r1)
+/* 803009E4 002FC644 4B FA 34 5D */ bl IOS_Ioctlv
+/* 803009E8 002FC648 7F E3 FB 78 */ mr r3, r31
+/* 803009EC 002FC64C 4B FA 29 4D */ bl IOS_Close
+/* 803009F0 002FC650 80 61 00 40 */ lwz r3, 0x40(r1)
+lbl_803009F4:
+/* 803009F4 002FC654 81 41 00 00 */ lwz r10, 0(r1)
+/* 803009F8 002FC658 80 0A 00 04 */ lwz r0, 4(r10)
+/* 803009FC 002FC65C 83 EA FF FC */ lwz r31, -4(r10)
+/* 80300A00 002FC660 83 CA FF F8 */ lwz r30, -8(r10)
+/* 80300A04 002FC664 7C 08 03 A6 */ mtlr r0
+/* 80300A08 002FC668 7D 41 53 78 */ mr r1, r10
+/* 80300A0C 002FC66C 4E 80 00 20 */ blr
+
+.global func_80300A10
+func_80300A10:
+/* 80300A10 002FC670 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 80300A14 002FC674 7C 2C 0B 78 */ mr r12, r1
+/* 80300A18 002FC678 21 6B FF 60 */ subfic r11, r11, -160
+/* 80300A1C 002FC67C 7C 21 59 6E */ stwux r1, r1, r11
+/* 80300A20 002FC680 7C 08 02 A6 */ mflr r0
+/* 80300A24 002FC684 7D 8B 63 78 */ mr r11, r12
+/* 80300A28 002FC688 90 0C 00 04 */ stw r0, 4(r12)
+/* 80300A2C 002FC68C 4B EC 66 F9 */ bl _savegpr_26
+/* 80300A30 002FC690 3F E0 80 58 */ lis r31, lbl_8057B780@ha
+/* 80300A34 002FC694 3C C0 80 44 */ lis r6, lbl_80446240@ha
+/* 80300A38 002FC698 7C 7A 1B 78 */ mr r26, r3
+/* 80300A3C 002FC69C 7C 9B 23 78 */ mr r27, r4
+/* 80300A40 002FC6A0 7C BC 2B 78 */ mr r28, r5
+/* 80300A44 002FC6A4 3B FF B7 80 */ addi r31, r31, lbl_8057B780@l
+/* 80300A48 002FC6A8 38 66 62 40 */ addi r3, r6, lbl_80446240@l
+/* 80300A4C 002FC6AC 38 80 00 00 */ li r4, 0
+/* 80300A50 002FC6B0 4B FA 27 09 */ bl IOS_Open
+/* 80300A54 002FC6B4 2C 03 00 00 */ cmpwi r3, 0
+/* 80300A58 002FC6B8 7C 7D 1B 78 */ mr r29, r3
+/* 80300A5C 002FC6BC 40 80 00 0C */ bge lbl_80300A68
+/* 80300A60 002FC6C0 38 60 FF FF */ li r3, -1
+/* 80300A64 002FC6C4 48 00 00 D8 */ b lbl_80300B3C
+lbl_80300A68:
+/* 80300A68 002FC6C8 4B F6 DC F5 */ bl OSDisableInterrupts
+/* 80300A6C 002FC6CC 80 0D AF 70 */ lwz r0, lbl_80640230-_SDA_BASE_(r13)
+/* 80300A70 002FC6D0 7C 7E 1B 78 */ mr r30, r3
+/* 80300A74 002FC6D4 2C 00 00 00 */ cmpwi r0, 0
+/* 80300A78 002FC6D8 40 82 00 44 */ bne lbl_80300ABC
+/* 80300A7C 002FC6DC 38 7F 00 00 */ addi r3, r31, 0
+/* 80300A80 002FC6E0 48 00 01 85 */ bl func_80300C04
+/* 80300A84 002FC6E4 38 7F 00 20 */ addi r3, r31, 0x20
+/* 80300A88 002FC6E8 38 80 00 00 */ li r4, 0
+/* 80300A8C 002FC6EC 38 A0 10 00 */ li r5, 0x1000
+/* 80300A90 002FC6F0 4B D0 36 75 */ bl memset
+/* 80300A94 002FC6F4 38 7F 10 20 */ addi r3, r31, 0x1020
+/* 80300A98 002FC6F8 38 80 00 00 */ li r4, 0
+/* 80300A9C 002FC6FC 38 A0 10 00 */ li r5, 0x1000
+/* 80300AA0 002FC700 4B D0 36 65 */ bl memset
+/* 80300AA4 002FC704 38 7F 20 20 */ addi r3, r31, 0x2020
+/* 80300AA8 002FC708 38 80 00 00 */ li r4, 0
+/* 80300AAC 002FC70C 38 A0 10 00 */ li r5, 0x1000
+/* 80300AB0 002FC710 4B D0 36 55 */ bl memset
+/* 80300AB4 002FC714 38 00 00 01 */ li r0, 1
+/* 80300AB8 002FC718 90 0D AF 70 */ stw r0, lbl_80640230-_SDA_BASE_(r13)
+lbl_80300ABC:
+/* 80300ABC 002FC71C 7F C3 F3 78 */ mr r3, r30
+/* 80300AC0 002FC720 4B F6 DC C5 */ bl OSRestoreInterrupts
+/* 80300AC4 002FC724 38 7F 00 00 */ addi r3, r31, 0
+/* 80300AC8 002FC728 48 00 01 41 */ bl func_80300C08
+/* 80300ACC 002FC72C 7F 64 DB 78 */ mr r4, r27
+/* 80300AD0 002FC730 7F 85 E3 78 */ mr r5, r28
+/* 80300AD4 002FC734 38 7F 20 20 */ addi r3, r31, 0x2020
+/* 80300AD8 002FC738 4B D0 35 29 */ bl memcpy
+/* 80300ADC 002FC73C 39 20 00 20 */ li r9, 0x20
+/* 80300AE0 002FC740 39 41 00 40 */ addi r10, r1, 0x40
+/* 80300AE4 002FC744 39 01 00 20 */ addi r8, r1, 0x20
+/* 80300AE8 002FC748 38 1F 20 20 */ addi r0, r31, 0x2020
+/* 80300AEC 002FC74C 38 80 FF FF */ li r4, -1
+/* 80300AF0 002FC750 93 41 00 20 */ stw r26, 0x20(r1)
+/* 80300AF4 002FC754 7F A3 EB 78 */ mr r3, r29
+/* 80300AF8 002FC758 38 E1 00 60 */ addi r7, r1, 0x60
+/* 80300AFC 002FC75C 90 81 00 40 */ stw r4, 0x40(r1)
+/* 80300B00 002FC760 38 80 00 0A */ li r4, 0xa
+/* 80300B04 002FC764 38 A0 00 01 */ li r5, 1
+/* 80300B08 002FC768 38 C0 00 02 */ li r6, 2
+/* 80300B0C 002FC76C 91 41 00 60 */ stw r10, 0x60(r1)
+/* 80300B10 002FC770 91 21 00 64 */ stw r9, 0x64(r1)
+/* 80300B14 002FC774 91 01 00 68 */ stw r8, 0x68(r1)
+/* 80300B18 002FC778 91 21 00 6C */ stw r9, 0x6c(r1)
+/* 80300B1C 002FC77C 90 01 00 70 */ stw r0, 0x70(r1)
+/* 80300B20 002FC780 93 81 00 74 */ stw r28, 0x74(r1)
+/* 80300B24 002FC784 4B FA 33 1D */ bl IOS_Ioctlv
+/* 80300B28 002FC788 38 7F 00 00 */ addi r3, r31, 0
+/* 80300B2C 002FC78C 48 00 00 E1 */ bl func_80300C0C
+/* 80300B30 002FC790 7F A3 EB 78 */ mr r3, r29
+/* 80300B34 002FC794 4B FA 28 05 */ bl IOS_Close
+/* 80300B38 002FC798 80 61 00 40 */ lwz r3, 0x40(r1)
+lbl_80300B3C:
+/* 80300B3C 002FC79C 81 41 00 00 */ lwz r10, 0(r1)
+/* 80300B40 002FC7A0 7D 4B 53 78 */ mr r11, r10
+/* 80300B44 002FC7A4 4B EC 66 2D */ bl _restgpr_26
+/* 80300B48 002FC7A8 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80300B4C 002FC7AC 7C 08 03 A6 */ mtlr r0
+/* 80300B50 002FC7B0 7D 41 53 78 */ mr r1, r10
+/* 80300B54 002FC7B4 4E 80 00 20 */ blr
+
+.global func_80300B58
+func_80300B58:
+/* 80300B58 002FC7B8 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 80300B5C 002FC7BC 7C 2C 0B 78 */ mr r12, r1
+/* 80300B60 002FC7C0 21 6B FF 60 */ subfic r11, r11, -160
+/* 80300B64 002FC7C4 7C 21 59 6E */ stwux r1, r1, r11
+/* 80300B68 002FC7C8 7C 08 02 A6 */ mflr r0
+/* 80300B6C 002FC7CC 3C 80 80 44 */ lis r4, lbl_80446240@ha
+/* 80300B70 002FC7D0 90 0C 00 04 */ stw r0, 4(r12)
+/* 80300B74 002FC7D4 93 EC FF FC */ stw r31, -4(r12)
+/* 80300B78 002FC7D8 93 CC FF F8 */ stw r30, -8(r12)
+/* 80300B7C 002FC7DC 7C 7E 1B 78 */ mr r30, r3
+/* 80300B80 002FC7E0 38 64 62 40 */ addi r3, r4, lbl_80446240@l
+/* 80300B84 002FC7E4 38 80 00 00 */ li r4, 0
+/* 80300B88 002FC7E8 4B FA 25 D1 */ bl IOS_Open
+/* 80300B8C 002FC7EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80300B90 002FC7F0 7C 7F 1B 78 */ mr r31, r3
+/* 80300B94 002FC7F4 40 80 00 0C */ bge lbl_80300BA0
+/* 80300B98 002FC7F8 38 60 FF FF */ li r3, -1
+/* 80300B9C 002FC7FC 48 00 00 4C */ b lbl_80300BE8
+lbl_80300BA0:
+/* 80300BA0 002FC800 39 00 00 20 */ li r8, 0x20
+/* 80300BA4 002FC804 39 21 00 40 */ addi r9, r1, 0x40
+/* 80300BA8 002FC808 38 01 00 20 */ addi r0, r1, 0x20
+/* 80300BAC 002FC80C 38 80 FF FF */ li r4, -1
+/* 80300BB0 002FC810 90 81 00 40 */ stw r4, 0x40(r1)
+/* 80300BB4 002FC814 38 E1 00 60 */ addi r7, r1, 0x60
+/* 80300BB8 002FC818 38 80 00 0B */ li r4, 0xb
+/* 80300BBC 002FC81C 38 A0 00 01 */ li r5, 1
+/* 80300BC0 002FC820 93 C1 00 20 */ stw r30, 0x20(r1)
+/* 80300BC4 002FC824 38 C0 00 01 */ li r6, 1
+/* 80300BC8 002FC828 91 21 00 60 */ stw r9, 0x60(r1)
+/* 80300BCC 002FC82C 91 01 00 64 */ stw r8, 0x64(r1)
+/* 80300BD0 002FC830 90 01 00 68 */ stw r0, 0x68(r1)
+/* 80300BD4 002FC834 91 01 00 6C */ stw r8, 0x6c(r1)
+/* 80300BD8 002FC838 4B FA 32 69 */ bl IOS_Ioctlv
+/* 80300BDC 002FC83C 7F E3 FB 78 */ mr r3, r31
+/* 80300BE0 002FC840 4B FA 27 59 */ bl IOS_Close
+/* 80300BE4 002FC844 80 61 00 40 */ lwz r3, 0x40(r1)
+lbl_80300BE8:
+/* 80300BE8 002FC848 81 41 00 00 */ lwz r10, 0(r1)
+/* 80300BEC 002FC84C 80 0A 00 04 */ lwz r0, 4(r10)
+/* 80300BF0 002FC850 83 EA FF FC */ lwz r31, -4(r10)
+/* 80300BF4 002FC854 83 CA FF F8 */ lwz r30, -8(r10)
+/* 80300BF8 002FC858 7C 08 03 A6 */ mtlr r0
+/* 80300BFC 002FC85C 7D 41 53 78 */ mr r1, r10
+/* 80300C00 002FC860 4E 80 00 20 */ blr
+
+.global func_80300C04
+func_80300C04:
+/* 80300C04 002FC864 4B F6 ED 0C */ b OSInitMutex
+
+.global func_80300C08
+func_80300C08:
+/* 80300C08 002FC868 4B F6 ED 40 */ b OSLockMutex
+
+.global func_80300C0C
+func_80300C0C:
+/* 80300C0C 002FC86C 4B F6 EE 18 */ b OSUnlockMutex
+
+.global func_80300C10
+func_80300C10:
+/* 80300C10 002FC870 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80300C14 002FC874 28 05 00 10 */ cmplwi r5, 0x10
+/* 80300C18 002FC878 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80300C1C 002FC87C 40 81 00 08 */ ble lbl_80300C24
+/* 80300C20 002FC880 38 A0 00 10 */ li r5, 0x10
+lbl_80300C24:
+/* 80300C24 002FC884 38 C0 00 00 */ li r6, 0
+/* 80300C28 002FC888 38 00 00 08 */ li r0, 8
+/* 80300C2C 002FC88C 98 C3 00 00 */ stb r6, 0(r3)
+/* 80300C30 002FC890 39 83 00 04 */ addi r12, r3, 4
+/* 80300C34 002FC894 3B E0 00 00 */ li r31, 0
+/* 80300C38 002FC898 98 C3 00 01 */ stb r6, 1(r3)
+/* 80300C3C 002FC89C 7C 09 03 A6 */ mtctr r0
+lbl_80300C40:
+/* 80300C40 002FC8A0 7F EC F9 AE */ stbx r31, r12, r31
+/* 80300C44 002FC8A4 7D 6C FA 14 */ add r11, r12, r31
+/* 80300C48 002FC8A8 39 5F 00 01 */ addi r10, r31, 1
+/* 80300C4C 002FC8AC 39 3F 00 02 */ addi r9, r31, 2
+/* 80300C50 002FC8B0 99 4B 00 01 */ stb r10, 1(r11)
+/* 80300C54 002FC8B4 39 1F 00 03 */ addi r8, r31, 3
+/* 80300C58 002FC8B8 38 FF 00 04 */ addi r7, r31, 4
+/* 80300C5C 002FC8BC 38 DF 00 05 */ addi r6, r31, 5
+/* 80300C60 002FC8C0 99 2B 00 02 */ stb r9, 2(r11)
+/* 80300C64 002FC8C4 38 7F 00 06 */ addi r3, r31, 6
+/* 80300C68 002FC8C8 38 1F 00 07 */ addi r0, r31, 7
+/* 80300C6C 002FC8CC 39 5F 00 09 */ addi r10, r31, 9
+/* 80300C70 002FC8D0 99 0B 00 03 */ stb r8, 3(r11)
+/* 80300C74 002FC8D4 39 3F 00 0A */ addi r9, r31, 0xa
+/* 80300C78 002FC8D8 39 1F 00 0B */ addi r8, r31, 0xb
+/* 80300C7C 002FC8DC 98 EB 00 04 */ stb r7, 4(r11)
+/* 80300C80 002FC8E0 38 FF 00 0C */ addi r7, r31, 0xc
+/* 80300C84 002FC8E4 98 CB 00 05 */ stb r6, 5(r11)
+/* 80300C88 002FC8E8 38 DF 00 0D */ addi r6, r31, 0xd
+/* 80300C8C 002FC8EC 98 6B 00 06 */ stb r3, 6(r11)
+/* 80300C90 002FC8F0 38 7F 00 0E */ addi r3, r31, 0xe
+/* 80300C94 002FC8F4 3B FF 00 08 */ addi r31, r31, 8
+/* 80300C98 002FC8F8 98 0B 00 07 */ stb r0, 7(r11)
+/* 80300C9C 002FC8FC 7D 6C FA 14 */ add r11, r12, r31
+/* 80300CA0 002FC900 38 1F 00 07 */ addi r0, r31, 7
+/* 80300CA4 002FC904 7F EC F9 AE */ stbx r31, r12, r31
+/* 80300CA8 002FC908 99 4B 00 01 */ stb r10, 1(r11)
+/* 80300CAC 002FC90C 39 5F 00 09 */ addi r10, r31, 9
+/* 80300CB0 002FC910 99 2B 00 02 */ stb r9, 2(r11)
+/* 80300CB4 002FC914 39 3F 00 0A */ addi r9, r31, 0xa
+/* 80300CB8 002FC918 99 0B 00 03 */ stb r8, 3(r11)
+/* 80300CBC 002FC91C 39 1F 00 0B */ addi r8, r31, 0xb
+/* 80300CC0 002FC920 98 EB 00 04 */ stb r7, 4(r11)
+/* 80300CC4 002FC924 38 FF 00 0C */ addi r7, r31, 0xc
+/* 80300CC8 002FC928 98 CB 00 05 */ stb r6, 5(r11)
+/* 80300CCC 002FC92C 38 DF 00 0D */ addi r6, r31, 0xd
+/* 80300CD0 002FC930 98 6B 00 06 */ stb r3, 6(r11)
+/* 80300CD4 002FC934 38 7F 00 0E */ addi r3, r31, 0xe
+/* 80300CD8 002FC938 3B FF 00 08 */ addi r31, r31, 8
+/* 80300CDC 002FC93C 98 0B 00 07 */ stb r0, 7(r11)
+/* 80300CE0 002FC940 7D 6C FA 14 */ add r11, r12, r31
+/* 80300CE4 002FC944 38 1F 00 07 */ addi r0, r31, 7
+/* 80300CE8 002FC948 7F EC F9 AE */ stbx r31, r12, r31
+/* 80300CEC 002FC94C 99 4B 00 01 */ stb r10, 1(r11)
+/* 80300CF0 002FC950 39 5F 00 09 */ addi r10, r31, 9
+/* 80300CF4 002FC954 99 2B 00 02 */ stb r9, 2(r11)
+/* 80300CF8 002FC958 39 3F 00 0A */ addi r9, r31, 0xa
+/* 80300CFC 002FC95C 99 0B 00 03 */ stb r8, 3(r11)
+/* 80300D00 002FC960 39 1F 00 0B */ addi r8, r31, 0xb
+/* 80300D04 002FC964 98 EB 00 04 */ stb r7, 4(r11)
+/* 80300D08 002FC968 38 FF 00 0C */ addi r7, r31, 0xc
+/* 80300D0C 002FC96C 98 CB 00 05 */ stb r6, 5(r11)
+/* 80300D10 002FC970 38 DF 00 0D */ addi r6, r31, 0xd
+/* 80300D14 002FC974 98 6B 00 06 */ stb r3, 6(r11)
+/* 80300D18 002FC978 38 7F 00 0E */ addi r3, r31, 0xe
+/* 80300D1C 002FC97C 3B FF 00 08 */ addi r31, r31, 8
+/* 80300D20 002FC980 98 0B 00 07 */ stb r0, 7(r11)
+/* 80300D24 002FC984 7D 6C FA 14 */ add r11, r12, r31
+/* 80300D28 002FC988 38 1F 00 07 */ addi r0, r31, 7
+/* 80300D2C 002FC98C 7F EC F9 AE */ stbx r31, r12, r31
+/* 80300D30 002FC990 3B FF 00 08 */ addi r31, r31, 8
+/* 80300D34 002FC994 99 4B 00 01 */ stb r10, 1(r11)
+/* 80300D38 002FC998 99 2B 00 02 */ stb r9, 2(r11)
+/* 80300D3C 002FC99C 99 0B 00 03 */ stb r8, 3(r11)
+/* 80300D40 002FC9A0 98 EB 00 04 */ stb r7, 4(r11)
+/* 80300D44 002FC9A4 98 CB 00 05 */ stb r6, 5(r11)
+/* 80300D48 002FC9A8 98 6B 00 06 */ stb r3, 6(r11)
+/* 80300D4C 002FC9AC 98 0B 00 07 */ stb r0, 7(r11)
+/* 80300D50 002FC9B0 42 00 FE F0 */ bdnz lbl_80300C40
+/* 80300D54 002FC9B4 38 00 00 40 */ li r0, 0x40
+/* 80300D58 002FC9B8 7D 83 63 78 */ mr r3, r12
+/* 80300D5C 002FC9BC 54 A5 06 3E */ clrlwi r5, r5, 0x18
+/* 80300D60 002FC9C0 39 20 00 00 */ li r9, 0
+/* 80300D64 002FC9C4 39 00 00 00 */ li r8, 0
+/* 80300D68 002FC9C8 38 E0 00 00 */ li r7, 0
+/* 80300D6C 002FC9CC 7C 09 03 A6 */ mtctr r0
+lbl_80300D70:
+/* 80300D70 002FC9D0 55 06 06 3E */ clrlwi r6, r8, 0x18
+/* 80300D74 002FC9D4 39 08 00 01 */ addi r8, r8, 1
+/* 80300D78 002FC9D8 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 80300D7C 002FC9DC 89 43 00 00 */ lbz r10, 0(r3)
+/* 80300D80 002FC9E0 7C 00 28 40 */ cmplw r0, r5
+/* 80300D84 002FC9E4 7C C4 30 AE */ lbzx r6, r4, r6
+/* 80300D88 002FC9E8 7C 09 52 14 */ add r0, r9, r10
+/* 80300D8C 002FC9EC 7C 06 02 14 */ add r0, r6, r0
+/* 80300D90 002FC9F0 54 09 06 3E */ clrlwi r9, r0, 0x18
+/* 80300D94 002FC9F4 40 82 00 08 */ bne lbl_80300D9C
+/* 80300D98 002FC9F8 39 00 00 00 */ li r8, 0
+lbl_80300D9C:
+/* 80300D9C 002FC9FC 7C 0C 48 AE */ lbzx r0, r12, r9
+/* 80300DA0 002FCA00 55 06 06 3E */ clrlwi r6, r8, 0x18
+/* 80300DA4 002FCA04 39 08 00 01 */ addi r8, r8, 1
+/* 80300DA8 002FCA08 7C C4 30 AE */ lbzx r6, r4, r6
+/* 80300DAC 002FCA0C 98 03 00 00 */ stb r0, 0(r3)
+/* 80300DB0 002FCA10 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 80300DB4 002FCA14 7C 00 28 40 */ cmplw r0, r5
+/* 80300DB8 002FCA18 7D 4C 49 AE */ stbx r10, r12, r9
+/* 80300DBC 002FCA1C 89 43 00 01 */ lbz r10, 1(r3)
+/* 80300DC0 002FCA20 7C 09 52 14 */ add r0, r9, r10
+/* 80300DC4 002FCA24 7C 06 02 14 */ add r0, r6, r0
+/* 80300DC8 002FCA28 54 09 06 3E */ clrlwi r9, r0, 0x18
+/* 80300DCC 002FCA2C 40 82 00 08 */ bne lbl_80300DD4
+/* 80300DD0 002FCA30 39 00 00 00 */ li r8, 0
+lbl_80300DD4:
+/* 80300DD4 002FCA34 7C 0C 48 AE */ lbzx r0, r12, r9
+/* 80300DD8 002FCA38 55 06 06 3E */ clrlwi r6, r8, 0x18
+/* 80300DDC 002FCA3C 39 08 00 01 */ addi r8, r8, 1
+/* 80300DE0 002FCA40 7C C4 30 AE */ lbzx r6, r4, r6
+/* 80300DE4 002FCA44 98 03 00 01 */ stb r0, 1(r3)
+/* 80300DE8 002FCA48 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 80300DEC 002FCA4C 7C 00 28 40 */ cmplw r0, r5
+/* 80300DF0 002FCA50 7D 4C 49 AE */ stbx r10, r12, r9
+/* 80300DF4 002FCA54 89 43 00 02 */ lbz r10, 2(r3)
+/* 80300DF8 002FCA58 7C 09 52 14 */ add r0, r9, r10
+/* 80300DFC 002FCA5C 7C 06 02 14 */ add r0, r6, r0
+/* 80300E00 002FCA60 54 09 06 3E */ clrlwi r9, r0, 0x18
+/* 80300E04 002FCA64 40 82 00 08 */ bne lbl_80300E0C
+/* 80300E08 002FCA68 39 00 00 00 */ li r8, 0
+lbl_80300E0C:
+/* 80300E0C 002FCA6C 7C 0C 48 AE */ lbzx r0, r12, r9
+/* 80300E10 002FCA70 55 06 06 3E */ clrlwi r6, r8, 0x18
+/* 80300E14 002FCA74 39 08 00 01 */ addi r8, r8, 1
+/* 80300E18 002FCA78 7C C4 30 AE */ lbzx r6, r4, r6
+/* 80300E1C 002FCA7C 98 03 00 02 */ stb r0, 2(r3)
+/* 80300E20 002FCA80 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 80300E24 002FCA84 7C 00 28 40 */ cmplw r0, r5
+/* 80300E28 002FCA88 7D 4C 49 AE */ stbx r10, r12, r9
+/* 80300E2C 002FCA8C 89 43 00 03 */ lbz r10, 3(r3)
+/* 80300E30 002FCA90 7C 09 52 14 */ add r0, r9, r10
+/* 80300E34 002FCA94 7C 06 02 14 */ add r0, r6, r0
+/* 80300E38 002FCA98 54 09 06 3E */ clrlwi r9, r0, 0x18
+/* 80300E3C 002FCA9C 40 82 00 08 */ bne lbl_80300E44
+/* 80300E40 002FCAA0 39 00 00 00 */ li r8, 0
+lbl_80300E44:
+/* 80300E44 002FCAA4 7C 0C 48 AE */ lbzx r0, r12, r9
+/* 80300E48 002FCAA8 38 E7 00 03 */ addi r7, r7, 3
+/* 80300E4C 002FCAAC 98 03 00 03 */ stb r0, 3(r3)
+/* 80300E50 002FCAB0 38 63 00 04 */ addi r3, r3, 4
+/* 80300E54 002FCAB4 7D 4C 49 AE */ stbx r10, r12, r9
+/* 80300E58 002FCAB8 42 00 FF 18 */ bdnz lbl_80300D70
+/* 80300E5C 002FCABC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80300E60 002FCAC0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80300E64 002FCAC4 4E 80 00 20 */ blr
+
+.global func_80300E68
+func_80300E68:
+/* 80300E68 002FCAC8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80300E6C 002FCACC 2C 06 00 00 */ cmpwi r6, 0
+/* 80300E70 002FCAD0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80300E74 002FCAD4 41 82 01 64 */ beq lbl_80300FD8
+/* 80300E78 002FCAD8 89 63 00 00 */ lbz r11, 0(r3)
+/* 80300E7C 002FCADC 3B E3 00 04 */ addi r31, r3, 4
+/* 80300E80 002FCAE0 89 83 00 01 */ lbz r12, 1(r3)
+/* 80300E84 002FCAE4 41 82 01 4C */ beq lbl_80300FD0
+/* 80300E88 002FCAE8 54 C0 F0 BF */ rlwinm. r0, r6, 0x1e, 2, 0x1f
+/* 80300E8C 002FCAEC 7C 09 03 A6 */ mtctr r0
+/* 80300E90 002FCAF0 41 82 00 F8 */ beq lbl_80300F88
+lbl_80300E94:
+/* 80300E94 002FCAF4 39 0B 00 01 */ addi r8, r11, 1
+/* 80300E98 002FCAF8 88 E5 00 00 */ lbz r7, 0(r5)
+/* 80300E9C 002FCAFC 55 0B 06 3E */ clrlwi r11, r8, 0x18
+/* 80300EA0 002FCB00 7D 3F 58 AE */ lbzx r9, r31, r11
+/* 80300EA4 002FCB04 39 0B 00 01 */ addi r8, r11, 1
+/* 80300EA8 002FCB08 7C 0C 4A 14 */ add r0, r12, r9
+/* 80300EAC 002FCB0C 54 0C 06 3E */ clrlwi r12, r0, 0x18
+/* 80300EB0 002FCB10 7D 5F 60 AE */ lbzx r10, r31, r12
+/* 80300EB4 002FCB14 7D 3F 61 AE */ stbx r9, r31, r12
+/* 80300EB8 002FCB18 7C 09 52 14 */ add r0, r9, r10
+/* 80300EBC 002FCB1C 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 80300EC0 002FCB20 7D 5F 59 AE */ stbx r10, r31, r11
+/* 80300EC4 002FCB24 55 0B 06 3E */ clrlwi r11, r8, 0x18
+/* 80300EC8 002FCB28 39 0B 00 01 */ addi r8, r11, 1
+/* 80300ECC 002FCB2C 7C 1F 00 AE */ lbzx r0, r31, r0
+/* 80300ED0 002FCB30 7C E0 02 78 */ xor r0, r7, r0
+/* 80300ED4 002FCB34 88 E5 00 01 */ lbz r7, 1(r5)
+/* 80300ED8 002FCB38 98 04 00 00 */ stb r0, 0(r4)
+/* 80300EDC 002FCB3C 7D 3F 58 AE */ lbzx r9, r31, r11
+/* 80300EE0 002FCB40 7C 0C 4A 14 */ add r0, r12, r9
+/* 80300EE4 002FCB44 54 0C 06 3E */ clrlwi r12, r0, 0x18
+/* 80300EE8 002FCB48 7D 5F 60 AE */ lbzx r10, r31, r12
+/* 80300EEC 002FCB4C 7D 3F 61 AE */ stbx r9, r31, r12
+/* 80300EF0 002FCB50 7C 09 52 14 */ add r0, r9, r10
+/* 80300EF4 002FCB54 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 80300EF8 002FCB58 7D 5F 59 AE */ stbx r10, r31, r11
+/* 80300EFC 002FCB5C 55 0B 06 3E */ clrlwi r11, r8, 0x18
+/* 80300F00 002FCB60 39 0B 00 01 */ addi r8, r11, 1
+/* 80300F04 002FCB64 7C 1F 00 AE */ lbzx r0, r31, r0
+/* 80300F08 002FCB68 7C E0 02 78 */ xor r0, r7, r0
+/* 80300F0C 002FCB6C 88 E5 00 02 */ lbz r7, 2(r5)
+/* 80300F10 002FCB70 98 04 00 01 */ stb r0, 1(r4)
+/* 80300F14 002FCB74 7D 3F 58 AE */ lbzx r9, r31, r11
+/* 80300F18 002FCB78 7C 0C 4A 14 */ add r0, r12, r9
+/* 80300F1C 002FCB7C 54 0C 06 3E */ clrlwi r12, r0, 0x18
+/* 80300F20 002FCB80 7D 5F 60 AE */ lbzx r10, r31, r12
+/* 80300F24 002FCB84 7D 3F 61 AE */ stbx r9, r31, r12
+/* 80300F28 002FCB88 7C 09 52 14 */ add r0, r9, r10
+/* 80300F2C 002FCB8C 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 80300F30 002FCB90 7D 5F 59 AE */ stbx r10, r31, r11
+/* 80300F34 002FCB94 55 0B 06 3E */ clrlwi r11, r8, 0x18
+/* 80300F38 002FCB98 7C 1F 00 AE */ lbzx r0, r31, r0
+/* 80300F3C 002FCB9C 7C E0 02 78 */ xor r0, r7, r0
+/* 80300F40 002FCBA0 88 E5 00 03 */ lbz r7, 3(r5)
+/* 80300F44 002FCBA4 98 04 00 02 */ stb r0, 2(r4)
+/* 80300F48 002FCBA8 38 A5 00 04 */ addi r5, r5, 4
+/* 80300F4C 002FCBAC 7D 3F 58 AE */ lbzx r9, r31, r11
+/* 80300F50 002FCBB0 7C 0C 4A 14 */ add r0, r12, r9
+/* 80300F54 002FCBB4 54 0C 06 3E */ clrlwi r12, r0, 0x18
+/* 80300F58 002FCBB8 7D 5F 60 AE */ lbzx r10, r31, r12
+/* 80300F5C 002FCBBC 7D 3F 61 AE */ stbx r9, r31, r12
+/* 80300F60 002FCBC0 7C 09 52 14 */ add r0, r9, r10
+/* 80300F64 002FCBC4 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 80300F68 002FCBC8 7D 5F 59 AE */ stbx r10, r31, r11
+/* 80300F6C 002FCBCC 7C 1F 00 AE */ lbzx r0, r31, r0
+/* 80300F70 002FCBD0 7C E0 02 78 */ xor r0, r7, r0
+/* 80300F74 002FCBD4 98 04 00 03 */ stb r0, 3(r4)
+/* 80300F78 002FCBD8 38 84 00 04 */ addi r4, r4, 4
+/* 80300F7C 002FCBDC 42 00 FF 18 */ bdnz lbl_80300E94
+/* 80300F80 002FCBE0 70 C6 00 03 */ andi. r6, r6, 3
+/* 80300F84 002FCBE4 41 82 00 4C */ beq lbl_80300FD0
+lbl_80300F88:
+/* 80300F88 002FCBE8 7C C9 03 A6 */ mtctr r6
+lbl_80300F8C:
+/* 80300F8C 002FCBEC 39 0B 00 01 */ addi r8, r11, 1
+/* 80300F90 002FCBF0 88 E5 00 00 */ lbz r7, 0(r5)
+/* 80300F94 002FCBF4 55 0B 06 3E */ clrlwi r11, r8, 0x18
+/* 80300F98 002FCBF8 38 A5 00 01 */ addi r5, r5, 1
+/* 80300F9C 002FCBFC 7D 3F 58 AE */ lbzx r9, r31, r11
+/* 80300FA0 002FCC00 7C 0C 4A 14 */ add r0, r12, r9
+/* 80300FA4 002FCC04 54 0C 06 3E */ clrlwi r12, r0, 0x18
+/* 80300FA8 002FCC08 7D 5F 60 AE */ lbzx r10, r31, r12
+/* 80300FAC 002FCC0C 7D 3F 61 AE */ stbx r9, r31, r12
+/* 80300FB0 002FCC10 7C 09 52 14 */ add r0, r9, r10
+/* 80300FB4 002FCC14 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 80300FB8 002FCC18 7D 5F 59 AE */ stbx r10, r31, r11
+/* 80300FBC 002FCC1C 7C 1F 00 AE */ lbzx r0, r31, r0
+/* 80300FC0 002FCC20 7C E0 02 78 */ xor r0, r7, r0
+/* 80300FC4 002FCC24 98 04 00 00 */ stb r0, 0(r4)
+/* 80300FC8 002FCC28 38 84 00 01 */ addi r4, r4, 1
+/* 80300FCC 002FCC2C 42 00 FF C0 */ bdnz lbl_80300F8C
+lbl_80300FD0:
+/* 80300FD0 002FCC30 99 63 00 00 */ stb r11, 0(r3)
+/* 80300FD4 002FCC34 99 83 00 01 */ stb r12, 1(r3)
+lbl_80300FD8:
+/* 80300FD8 002FCC38 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80300FDC 002FCC3C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80300FE0 002FCC40 4E 80 00 20 */ blr
+
+.global func_80300FE4
+func_80300FE4:
+/* 80300FE4 002FCC44 38 A0 00 00 */ li r5, 0
+/* 80300FE8 002FCC48 7C 89 03 A6 */ mtctr r4
+/* 80300FEC 002FCC4C 28 04 00 00 */ cmplwi r4, 0
+/* 80300FF0 002FCC50 40 81 00 1C */ ble lbl_8030100C
+lbl_80300FF4:
+/* 80300FF4 002FCC54 88 03 00 00 */ lbz r0, 0(r3)
+/* 80300FF8 002FCC58 7C 00 07 75 */ extsb. r0, r0
+/* 80300FFC 002FCC5C 41 82 00 10 */ beq lbl_8030100C
+/* 80301000 002FCC60 38 A5 00 01 */ addi r5, r5, 1
+/* 80301004 002FCC64 38 63 00 01 */ addi r3, r3, 1
+/* 80301008 002FCC68 42 00 FF EC */ bdnz lbl_80300FF4
+lbl_8030100C:
+/* 8030100C 002FCC6C 7C A3 2B 78 */ mr r3, r5
+/* 80301010 002FCC70 4E 80 00 20 */ blr
+
+.global func_80301014
+func_80301014:
+/* 80301014 002FCC74 2C 05 00 00 */ cmpwi r5, 0
+/* 80301018 002FCC78 39 00 00 00 */ li r8, 0
+/* 8030101C 002FCC7C 4D 82 00 20 */ beqlr
+/* 80301020 002FCC80 28 05 00 08 */ cmplwi r5, 8
+/* 80301024 002FCC84 38 C5 FF F8 */ addi r6, r5, -8
+/* 80301028 002FCC88 40 81 00 48 */ ble lbl_80301070
+/* 8030102C 002FCC8C 38 06 00 07 */ addi r0, r6, 7
+/* 80301030 002FCC90 7C 67 1B 78 */ mr r7, r3
+/* 80301034 002FCC94 54 00 E8 FE */ srwi r0, r0, 3
+/* 80301038 002FCC98 7C 09 03 A6 */ mtctr r0
+/* 8030103C 002FCC9C 28 06 00 00 */ cmplwi r6, 0
+/* 80301040 002FCCA0 40 81 00 30 */ ble lbl_80301070
+lbl_80301044:
+/* 80301044 002FCCA4 98 87 00 00 */ stb r4, 0(r7)
+/* 80301048 002FCCA8 39 08 00 08 */ addi r8, r8, 8
+/* 8030104C 002FCCAC 98 87 00 01 */ stb r4, 1(r7)
+/* 80301050 002FCCB0 98 87 00 02 */ stb r4, 2(r7)
+/* 80301054 002FCCB4 98 87 00 03 */ stb r4, 3(r7)
+/* 80301058 002FCCB8 98 87 00 04 */ stb r4, 4(r7)
+/* 8030105C 002FCCBC 98 87 00 05 */ stb r4, 5(r7)
+/* 80301060 002FCCC0 98 87 00 06 */ stb r4, 6(r7)
+/* 80301064 002FCCC4 98 87 00 07 */ stb r4, 7(r7)
+/* 80301068 002FCCC8 38 E7 00 08 */ addi r7, r7, 8
+/* 8030106C 002FCCCC 42 00 FF D8 */ bdnz lbl_80301044
+lbl_80301070:
+/* 80301070 002FCCD0 7C 08 28 50 */ subf r0, r8, r5
+/* 80301074 002FCCD4 7C C3 42 14 */ add r6, r3, r8
+/* 80301078 002FCCD8 7C 09 03 A6 */ mtctr r0
+/* 8030107C 002FCCDC 7C 08 28 40 */ cmplw r8, r5
+/* 80301080 002FCCE0 4C 80 00 20 */ bgelr
+lbl_80301084:
+/* 80301084 002FCCE4 98 86 00 00 */ stb r4, 0(r6)
+/* 80301088 002FCCE8 38 C6 00 01 */ addi r6, r6, 1
+/* 8030108C 002FCCEC 42 00 FF F8 */ bdnz lbl_80301084
+/* 80301090 002FCCF0 4E 80 00 20 */ blr
+
+.global func_80301094
+func_80301094:
+/* 80301094 002FCCF4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80301098 002FCCF8 7C 08 02 A6 */ mflr r0
+/* 8030109C 002FCCFC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803010A0 002FCD00 39 61 00 20 */ addi r11, r1, 0x20
+/* 803010A4 002FCD04 4B EC 60 85 */ bl _savegpr_27
+/* 803010A8 002FCD08 2C 07 00 00 */ cmpwi r7, 0
+/* 803010AC 002FCD0C 41 82 00 18 */ beq lbl_803010C4
+/* 803010B0 002FCD10 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
+/* 803010B4 002FCD14 41 82 00 10 */ beq lbl_803010C4
+/* 803010B8 002FCD18 7C 84 00 D0 */ neg r4, r4
+/* 803010BC 002FCD1C 3B C0 00 01 */ li r30, 1
+/* 803010C0 002FCD20 48 00 00 08 */ b lbl_803010C8
+lbl_803010C4:
+/* 803010C4 002FCD24 3B C0 00 00 */ li r30, 0
+lbl_803010C8:
+/* 803010C8 002FCD28 3B E0 00 00 */ li r31, 0
+/* 803010CC 002FCD2C 39 80 00 00 */ li r12, 0
+/* 803010D0 002FCD30 3C E0 80 00 */ lis r7, 0x8000
+/* 803010D4 002FCD34 48 00 01 40 */ b lbl_80301214
+lbl_803010D8:
+/* 803010D8 002FCD38 7C 04 2B 96 */ divwu r0, r4, r5
+/* 803010DC 002FCD3C 7C 7B 1B 78 */ mr r27, r3
+/* 803010E0 002FCD40 39 60 00 00 */ li r11, 0
+/* 803010E4 002FCD44 7C 00 29 D6 */ mullw r0, r0, r5
+/* 803010E8 002FCD48 7C 00 20 50 */ subf r0, r0, r4
+/* 803010EC 002FCD4C 7C 84 2B 96 */ divwu r4, r4, r5
+/* 803010F0 002FCD50 7C 00 07 74 */ extsb r0, r0
+/* 803010F4 002FCD54 48 00 00 0C */ b lbl_80301100
+lbl_803010F8:
+/* 803010F8 002FCD58 3B 7B 00 01 */ addi r27, r27, 1
+/* 803010FC 002FCD5C 39 6B 00 01 */ addi r11, r11, 1
+lbl_80301100:
+/* 80301100 002FCD60 8B BB 00 00 */ lbz r29, 0(r27)
+/* 80301104 002FCD64 7F BD 07 75 */ extsb. r29, r29
+/* 80301108 002FCD68 40 82 FF F0 */ bne lbl_803010F8
+/* 8030110C 002FCD6C 2C 8B 00 00 */ cmpwi cr1, r11, 0
+/* 80301110 002FCD70 41 84 00 E4 */ blt cr1, lbl_803011F4
+/* 80301114 002FCD74 3B AB 00 01 */ addi r29, r11, 1
+/* 80301118 002FCD78 2C 1D 00 08 */ cmpwi r29, 8
+/* 8030111C 002FCD7C 40 81 00 B4 */ ble lbl_803011D0
+/* 80301120 002FCD80 3B 80 00 00 */ li r28, 0
+/* 80301124 002FCD84 3B 60 00 00 */ li r27, 0
+/* 80301128 002FCD88 41 84 00 14 */ blt cr1, lbl_8030113C
+/* 8030112C 002FCD8C 3B A7 00 01 */ addi r29, r7, 1
+/* 80301130 002FCD90 7C 0B E8 00 */ cmpw r11, r29
+/* 80301134 002FCD94 41 80 00 08 */ blt lbl_8030113C
+/* 80301138 002FCD98 3B 60 00 01 */ li r27, 1
+lbl_8030113C:
+/* 8030113C 002FCD9C 2C 1B 00 00 */ cmpwi r27, 0
+/* 80301140 002FCDA0 41 82 00 2C */ beq lbl_8030116C
+/* 80301144 002FCDA4 55 7D 00 01 */ rlwinm. r29, r11, 0, 0, 0
+/* 80301148 002FCDA8 3B 60 00 01 */ li r27, 1
+/* 8030114C 002FCDAC 40 82 00 14 */ bne lbl_80301160
+/* 80301150 002FCDB0 3B AB 00 01 */ addi r29, r11, 1
+/* 80301154 002FCDB4 57 BD 00 01 */ rlwinm. r29, r29, 0, 0, 0
+/* 80301158 002FCDB8 41 82 00 08 */ beq lbl_80301160
+/* 8030115C 002FCDBC 3B 60 00 00 */ li r27, 0
+lbl_80301160:
+/* 80301160 002FCDC0 2C 1B 00 00 */ cmpwi r27, 0
+/* 80301164 002FCDC4 41 82 00 08 */ beq lbl_8030116C
+/* 80301168 002FCDC8 3B 80 00 01 */ li r28, 1
+lbl_8030116C:
+/* 8030116C 002FCDCC 2C 1C 00 00 */ cmpwi r28, 0
+/* 80301170 002FCDD0 41 82 00 60 */ beq lbl_803011D0
+/* 80301174 002FCDD4 55 7D E8 FE */ srwi r29, r11, 3
+/* 80301178 002FCDD8 7F A9 03 A6 */ mtctr r29
+/* 8030117C 002FCDDC 2C 0B 00 08 */ cmpwi r11, 8
+/* 80301180 002FCDE0 41 80 00 50 */ blt lbl_803011D0
+lbl_80301184:
+/* 80301184 002FCDE4 7F A3 58 AE */ lbzx r29, r3, r11
+/* 80301188 002FCDE8 7F 63 5A 14 */ add r27, r3, r11
+/* 8030118C 002FCDEC 9B BB 00 01 */ stb r29, 1(r27)
+/* 80301190 002FCDF0 8B BB FF FF */ lbz r29, -1(r27)
+/* 80301194 002FCDF4 7F A3 59 AE */ stbx r29, r3, r11
+/* 80301198 002FCDF8 39 6B FF F8 */ addi r11, r11, -8
+/* 8030119C 002FCDFC 8B BB FF FE */ lbz r29, -2(r27)
+/* 803011A0 002FCE00 9B BB FF FF */ stb r29, -1(r27)
+/* 803011A4 002FCE04 8B BB FF FD */ lbz r29, -3(r27)
+/* 803011A8 002FCE08 9B BB FF FE */ stb r29, -2(r27)
+/* 803011AC 002FCE0C 8B BB FF FC */ lbz r29, -4(r27)
+/* 803011B0 002FCE10 9B BB FF FD */ stb r29, -3(r27)
+/* 803011B4 002FCE14 8B BB FF FB */ lbz r29, -5(r27)
+/* 803011B8 002FCE18 9B BB FF FC */ stb r29, -4(r27)
+/* 803011BC 002FCE1C 8B BB FF FA */ lbz r29, -6(r27)
+/* 803011C0 002FCE20 9B BB FF FB */ stb r29, -5(r27)
+/* 803011C4 002FCE24 8B BB FF F9 */ lbz r29, -7(r27)
+/* 803011C8 002FCE28 9B BB FF FA */ stb r29, -6(r27)
+/* 803011CC 002FCE2C 42 00 FF B8 */ bdnz lbl_80301184
+lbl_803011D0:
+/* 803011D0 002FCE30 3B AB 00 01 */ addi r29, r11, 1
+/* 803011D4 002FCE34 7F A9 03 A6 */ mtctr r29
+/* 803011D8 002FCE38 2C 0B 00 00 */ cmpwi r11, 0
+/* 803011DC 002FCE3C 41 80 00 18 */ blt lbl_803011F4
+lbl_803011E0:
+/* 803011E0 002FCE40 7F A3 58 AE */ lbzx r29, r3, r11
+/* 803011E4 002FCE44 7F 63 5A 14 */ add r27, r3, r11
+/* 803011E8 002FCE48 39 6B FF FF */ addi r11, r11, -1
+/* 803011EC 002FCE4C 9B BB 00 01 */ stb r29, 1(r27)
+/* 803011F0 002FCE50 42 00 FF F0 */ bdnz lbl_803011E0
+lbl_803011F4:
+/* 803011F4 002FCE54 2C 00 00 09 */ cmpwi r0, 9
+/* 803011F8 002FCE58 39 60 00 30 */ li r11, 0x30
+/* 803011FC 002FCE5C 40 81 00 08 */ ble lbl_80301204
+/* 80301200 002FCE60 7C CB 07 74 */ extsb r11, r6
+lbl_80301204:
+/* 80301204 002FCE64 7C 00 5A 14 */ add r0, r0, r11
+/* 80301208 002FCE68 39 8C 00 01 */ addi r12, r12, 1
+/* 8030120C 002FCE6C 98 03 00 00 */ stb r0, 0(r3)
+/* 80301210 002FCE70 3B FF 00 01 */ addi r31, r31, 1
+lbl_80301214:
+/* 80301214 002FCE74 2C 04 00 00 */ cmpwi r4, 0
+/* 80301218 002FCE78 40 82 FE C0 */ bne lbl_803010D8
+/* 8030121C 002FCE7C 88 03 00 00 */ lbz r0, 0(r3)
+/* 80301220 002FCE80 7C 00 07 75 */ extsb. r0, r0
+/* 80301224 002FCE84 40 82 01 20 */ bne lbl_80301344
+/* 80301228 002FCE88 7C 64 1B 78 */ mr r4, r3
+/* 8030122C 002FCE8C 38 A0 00 00 */ li r5, 0
+/* 80301230 002FCE90 48 00 00 0C */ b lbl_8030123C
+lbl_80301234:
+/* 80301234 002FCE94 38 84 00 01 */ addi r4, r4, 1
+/* 80301238 002FCE98 38 A5 00 01 */ addi r5, r5, 1
+lbl_8030123C:
+/* 8030123C 002FCE9C 88 04 00 00 */ lbz r0, 0(r4)
+/* 80301240 002FCEA0 7C 00 07 75 */ extsb. r0, r0
+/* 80301244 002FCEA4 40 82 FF F0 */ bne lbl_80301234
+/* 80301248 002FCEA8 2C 85 00 00 */ cmpwi cr1, r5, 0
+/* 8030124C 002FCEAC 41 84 00 E8 */ blt cr1, lbl_80301334
+/* 80301250 002FCEB0 38 05 00 01 */ addi r0, r5, 1
+/* 80301254 002FCEB4 2C 00 00 08 */ cmpwi r0, 8
+/* 80301258 002FCEB8 40 81 00 B8 */ ble lbl_80301310
+/* 8030125C 002FCEBC 38 C0 00 00 */ li r6, 0
+/* 80301260 002FCEC0 38 E0 00 00 */ li r7, 0
+/* 80301264 002FCEC4 41 84 00 18 */ blt cr1, lbl_8030127C
+/* 80301268 002FCEC8 3C 80 80 00 */ lis r4, 0x80000001@ha
+/* 8030126C 002FCECC 38 04 00 01 */ addi r0, r4, 0x80000001@l
+/* 80301270 002FCED0 7C 05 00 00 */ cmpw r5, r0
+/* 80301274 002FCED4 41 80 00 08 */ blt lbl_8030127C
+/* 80301278 002FCED8 38 E0 00 01 */ li r7, 1
+lbl_8030127C:
+/* 8030127C 002FCEDC 2C 07 00 00 */ cmpwi r7, 0
+/* 80301280 002FCEE0 41 82 00 2C */ beq lbl_803012AC
+/* 80301284 002FCEE4 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
+/* 80301288 002FCEE8 38 80 00 01 */ li r4, 1
+/* 8030128C 002FCEEC 40 82 00 14 */ bne lbl_803012A0
+/* 80301290 002FCEF0 38 05 00 01 */ addi r0, r5, 1
+/* 80301294 002FCEF4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 80301298 002FCEF8 41 82 00 08 */ beq lbl_803012A0
+/* 8030129C 002FCEFC 38 80 00 00 */ li r4, 0
+lbl_803012A0:
+/* 803012A0 002FCF00 2C 04 00 00 */ cmpwi r4, 0
+/* 803012A4 002FCF04 41 82 00 08 */ beq lbl_803012AC
+/* 803012A8 002FCF08 38 C0 00 01 */ li r6, 1
+lbl_803012AC:
+/* 803012AC 002FCF0C 2C 06 00 00 */ cmpwi r6, 0
+/* 803012B0 002FCF10 41 82 00 60 */ beq lbl_80301310
+/* 803012B4 002FCF14 54 A0 E8 FE */ srwi r0, r5, 3
+/* 803012B8 002FCF18 7C 09 03 A6 */ mtctr r0
+/* 803012BC 002FCF1C 2C 05 00 08 */ cmpwi r5, 8
+/* 803012C0 002FCF20 41 80 00 50 */ blt lbl_80301310
+lbl_803012C4:
+/* 803012C4 002FCF24 7C 03 28 AE */ lbzx r0, r3, r5
+/* 803012C8 002FCF28 7C 83 2A 14 */ add r4, r3, r5
+/* 803012CC 002FCF2C 98 04 00 01 */ stb r0, 1(r4)
+/* 803012D0 002FCF30 88 04 FF FF */ lbz r0, -1(r4)
+/* 803012D4 002FCF34 7C 03 29 AE */ stbx r0, r3, r5
+/* 803012D8 002FCF38 38 A5 FF F8 */ addi r5, r5, -8
+/* 803012DC 002FCF3C 88 04 FF FE */ lbz r0, -2(r4)
+/* 803012E0 002FCF40 98 04 FF FF */ stb r0, -1(r4)
+/* 803012E4 002FCF44 88 04 FF FD */ lbz r0, -3(r4)
+/* 803012E8 002FCF48 98 04 FF FE */ stb r0, -2(r4)
+/* 803012EC 002FCF4C 88 04 FF FC */ lbz r0, -4(r4)
+/* 803012F0 002FCF50 98 04 FF FD */ stb r0, -3(r4)
+/* 803012F4 002FCF54 88 04 FF FB */ lbz r0, -5(r4)
+/* 803012F8 002FCF58 98 04 FF FC */ stb r0, -4(r4)
+/* 803012FC 002FCF5C 88 04 FF FA */ lbz r0, -6(r4)
+/* 80301300 002FCF60 98 04 FF FB */ stb r0, -5(r4)
+/* 80301304 002FCF64 88 04 FF F9 */ lbz r0, -7(r4)
+/* 80301308 002FCF68 98 04 FF FA */ stb r0, -6(r4)
+/* 8030130C 002FCF6C 42 00 FF B8 */ bdnz lbl_803012C4
+lbl_80301310:
+/* 80301310 002FCF70 38 05 00 01 */ addi r0, r5, 1
+/* 80301314 002FCF74 7C 09 03 A6 */ mtctr r0
+/* 80301318 002FCF78 2C 05 00 00 */ cmpwi r5, 0
+/* 8030131C 002FCF7C 41 80 00 18 */ blt lbl_80301334
+lbl_80301320:
+/* 80301320 002FCF80 7C 03 28 AE */ lbzx r0, r3, r5
+/* 80301324 002FCF84 7C 83 2A 14 */ add r4, r3, r5
+/* 80301328 002FCF88 38 A5 FF FF */ addi r5, r5, -1
+/* 8030132C 002FCF8C 98 04 00 01 */ stb r0, 1(r4)
+/* 80301330 002FCF90 42 00 FF F0 */ bdnz lbl_80301320
+lbl_80301334:
+/* 80301334 002FCF94 38 00 00 30 */ li r0, 0x30
+/* 80301338 002FCF98 39 8C 00 01 */ addi r12, r12, 1
+/* 8030133C 002FCF9C 98 03 00 00 */ stb r0, 0(r3)
+/* 80301340 002FCFA0 3B FF 00 01 */ addi r31, r31, 1
+lbl_80301344:
+/* 80301344 002FCFA4 7D 20 07 74 */ extsb r0, r9
+/* 80301348 002FCFA8 2C 00 00 30 */ cmpwi r0, 0x30
+/* 8030134C 002FCFAC 41 82 00 08 */ beq lbl_80301354
+/* 80301350 002FCFB0 39 20 00 20 */ li r9, 0x20
+lbl_80301354:
+/* 80301354 002FCFB4 7D 45 07 74 */ extsb r5, r10
+/* 80301358 002FCFB8 7F FF F2 14 */ add r31, r31, r30
+/* 8030135C 002FCFBC 3D 40 80 00 */ lis r10, 0x8000
+/* 80301360 002FCFC0 38 80 00 20 */ li r4, 0x20
+/* 80301364 002FCFC4 38 00 00 00 */ li r0, 0
+/* 80301368 002FCFC8 48 00 01 54 */ b lbl_803014BC
+lbl_8030136C:
+/* 8030136C 002FCFCC 2C 05 00 4C */ cmpwi r5, 0x4c
+/* 80301370 002FCFD0 40 82 00 38 */ bne lbl_803013A8
+/* 80301374 002FCFD4 7C 6B 1B 78 */ mr r11, r3
+/* 80301378 002FCFD8 38 E0 00 00 */ li r7, 0
+/* 8030137C 002FCFDC 48 00 00 0C */ b lbl_80301388
+lbl_80301380:
+/* 80301380 002FCFE0 39 6B 00 01 */ addi r11, r11, 1
+/* 80301384 002FCFE4 38 E7 00 01 */ addi r7, r7, 1
+lbl_80301388:
+/* 80301388 002FCFE8 88 CB 00 00 */ lbz r6, 0(r11)
+/* 8030138C 002FCFEC 7C C6 07 75 */ extsb. r6, r6
+/* 80301390 002FCFF0 40 82 FF F0 */ bne lbl_80301380
+/* 80301394 002FCFF4 7C 83 39 AE */ stbx r4, r3, r7
+/* 80301398 002FCFF8 38 C7 00 01 */ addi r6, r7, 1
+/* 8030139C 002FCFFC 39 8C 00 01 */ addi r12, r12, 1
+/* 803013A0 002FD000 7C 03 31 AE */ stbx r0, r3, r6
+/* 803013A4 002FD004 48 00 01 14 */ b lbl_803014B8
+lbl_803013A8:
+/* 803013A8 002FD008 7C 6B 1B 78 */ mr r11, r3
+/* 803013AC 002FD00C 38 C0 00 00 */ li r6, 0
+/* 803013B0 002FD010 48 00 00 0C */ b lbl_803013BC
+lbl_803013B4:
+/* 803013B4 002FD014 39 6B 00 01 */ addi r11, r11, 1
+/* 803013B8 002FD018 38 C6 00 01 */ addi r6, r6, 1
+lbl_803013BC:
+/* 803013BC 002FD01C 88 EB 00 00 */ lbz r7, 0(r11)
+/* 803013C0 002FD020 7C E7 07 75 */ extsb. r7, r7
+/* 803013C4 002FD024 40 82 FF F0 */ bne lbl_803013B4
+/* 803013C8 002FD028 2C 86 00 00 */ cmpwi cr1, r6, 0
+/* 803013CC 002FD02C 41 84 00 E4 */ blt cr1, lbl_803014B0
+/* 803013D0 002FD030 38 E6 00 01 */ addi r7, r6, 1
+/* 803013D4 002FD034 2C 07 00 08 */ cmpwi r7, 8
+/* 803013D8 002FD038 40 81 00 B4 */ ble lbl_8030148C
+/* 803013DC 002FD03C 39 60 00 00 */ li r11, 0
+/* 803013E0 002FD040 3B A0 00 00 */ li r29, 0
+/* 803013E4 002FD044 41 84 00 14 */ blt cr1, lbl_803013F8
+/* 803013E8 002FD048 38 EA 00 01 */ addi r7, r10, 1
+/* 803013EC 002FD04C 7C 06 38 00 */ cmpw r6, r7
+/* 803013F0 002FD050 41 80 00 08 */ blt lbl_803013F8
+/* 803013F4 002FD054 3B A0 00 01 */ li r29, 1
+lbl_803013F8:
+/* 803013F8 002FD058 2C 1D 00 00 */ cmpwi r29, 0
+/* 803013FC 002FD05C 41 82 00 2C */ beq lbl_80301428
+/* 80301400 002FD060 54 C7 00 01 */ rlwinm. r7, r6, 0, 0, 0
+/* 80301404 002FD064 3B A0 00 01 */ li r29, 1
+/* 80301408 002FD068 40 82 00 14 */ bne lbl_8030141C
+/* 8030140C 002FD06C 38 E6 00 01 */ addi r7, r6, 1
+/* 80301410 002FD070 54 E7 00 01 */ rlwinm. r7, r7, 0, 0, 0
+/* 80301414 002FD074 41 82 00 08 */ beq lbl_8030141C
+/* 80301418 002FD078 3B A0 00 00 */ li r29, 0
+lbl_8030141C:
+/* 8030141C 002FD07C 2C 1D 00 00 */ cmpwi r29, 0
+/* 80301420 002FD080 41 82 00 08 */ beq lbl_80301428
+/* 80301424 002FD084 39 60 00 01 */ li r11, 1
+lbl_80301428:
+/* 80301428 002FD088 2C 0B 00 00 */ cmpwi r11, 0
+/* 8030142C 002FD08C 41 82 00 60 */ beq lbl_8030148C
+/* 80301430 002FD090 54 C7 E8 FE */ srwi r7, r6, 3
+/* 80301434 002FD094 7C E9 03 A6 */ mtctr r7
+/* 80301438 002FD098 2C 06 00 08 */ cmpwi r6, 8
+/* 8030143C 002FD09C 41 80 00 50 */ blt lbl_8030148C
+lbl_80301440:
+/* 80301440 002FD0A0 7C E3 30 AE */ lbzx r7, r3, r6
+/* 80301444 002FD0A4 7D 63 32 14 */ add r11, r3, r6
+/* 80301448 002FD0A8 98 EB 00 01 */ stb r7, 1(r11)
+/* 8030144C 002FD0AC 88 EB FF FF */ lbz r7, -1(r11)
+/* 80301450 002FD0B0 7C E3 31 AE */ stbx r7, r3, r6
+/* 80301454 002FD0B4 38 C6 FF F8 */ addi r6, r6, -8
+/* 80301458 002FD0B8 88 EB FF FE */ lbz r7, -2(r11)
+/* 8030145C 002FD0BC 98 EB FF FF */ stb r7, -1(r11)
+/* 80301460 002FD0C0 88 EB FF FD */ lbz r7, -3(r11)
+/* 80301464 002FD0C4 98 EB FF FE */ stb r7, -2(r11)
+/* 80301468 002FD0C8 88 EB FF FC */ lbz r7, -4(r11)
+/* 8030146C 002FD0CC 98 EB FF FD */ stb r7, -3(r11)
+/* 80301470 002FD0D0 88 EB FF FB */ lbz r7, -5(r11)
+/* 80301474 002FD0D4 98 EB FF FC */ stb r7, -4(r11)
+/* 80301478 002FD0D8 88 EB FF FA */ lbz r7, -6(r11)
+/* 8030147C 002FD0DC 98 EB FF FB */ stb r7, -5(r11)
+/* 80301480 002FD0E0 88 EB FF F9 */ lbz r7, -7(r11)
+/* 80301484 002FD0E4 98 EB FF FA */ stb r7, -6(r11)
+/* 80301488 002FD0E8 42 00 FF B8 */ bdnz lbl_80301440
+lbl_8030148C:
+/* 8030148C 002FD0EC 38 E6 00 01 */ addi r7, r6, 1
+/* 80301490 002FD0F0 7C E9 03 A6 */ mtctr r7
+/* 80301494 002FD0F4 2C 06 00 00 */ cmpwi r6, 0
+/* 80301498 002FD0F8 41 80 00 18 */ blt lbl_803014B0
+lbl_8030149C:
+/* 8030149C 002FD0FC 7C E3 30 AE */ lbzx r7, r3, r6
+/* 803014A0 002FD100 7D 63 32 14 */ add r11, r3, r6
+/* 803014A4 002FD104 38 C6 FF FF */ addi r6, r6, -1
+/* 803014A8 002FD108 98 EB 00 01 */ stb r7, 1(r11)
+/* 803014AC 002FD10C 42 00 FF F0 */ bdnz lbl_8030149C
+lbl_803014B0:
+/* 803014B0 002FD110 99 23 00 00 */ stb r9, 0(r3)
+/* 803014B4 002FD114 39 8C 00 01 */ addi r12, r12, 1
+lbl_803014B8:
+/* 803014B8 002FD118 3B FF 00 01 */ addi r31, r31, 1
+lbl_803014BC:
+/* 803014BC 002FD11C 7C 1F 40 00 */ cmpw r31, r8
+/* 803014C0 002FD120 41 80 FE AC */ blt lbl_8030136C
+/* 803014C4 002FD124 2C 1E 00 00 */ cmpwi r30, 0
+/* 803014C8 002FD128 41 82 01 18 */ beq lbl_803015E0
+/* 803014CC 002FD12C 7C 64 1B 78 */ mr r4, r3
+/* 803014D0 002FD130 38 A0 00 00 */ li r5, 0
+/* 803014D4 002FD134 48 00 00 0C */ b lbl_803014E0
+lbl_803014D8:
+/* 803014D8 002FD138 38 84 00 01 */ addi r4, r4, 1
+/* 803014DC 002FD13C 38 A5 00 01 */ addi r5, r5, 1
+lbl_803014E0:
+/* 803014E0 002FD140 88 04 00 00 */ lbz r0, 0(r4)
+/* 803014E4 002FD144 7C 00 07 75 */ extsb. r0, r0
+/* 803014E8 002FD148 40 82 FF F0 */ bne lbl_803014D8
+/* 803014EC 002FD14C 2C 85 00 00 */ cmpwi cr1, r5, 0
+/* 803014F0 002FD150 41 84 00 E8 */ blt cr1, lbl_803015D8
+/* 803014F4 002FD154 38 05 00 01 */ addi r0, r5, 1
+/* 803014F8 002FD158 2C 00 00 08 */ cmpwi r0, 8
+/* 803014FC 002FD15C 40 81 00 B8 */ ble lbl_803015B4
+/* 80301500 002FD160 38 C0 00 00 */ li r6, 0
+/* 80301504 002FD164 38 E0 00 00 */ li r7, 0
+/* 80301508 002FD168 41 84 00 18 */ blt cr1, lbl_80301520
+/* 8030150C 002FD16C 3C 80 80 00 */ lis r4, 0x80000001@ha
+/* 80301510 002FD170 38 04 00 01 */ addi r0, r4, 0x80000001@l
+/* 80301514 002FD174 7C 05 00 00 */ cmpw r5, r0
+/* 80301518 002FD178 41 80 00 08 */ blt lbl_80301520
+/* 8030151C 002FD17C 38 E0 00 01 */ li r7, 1
+lbl_80301520:
+/* 80301520 002FD180 2C 07 00 00 */ cmpwi r7, 0
+/* 80301524 002FD184 41 82 00 2C */ beq lbl_80301550
+/* 80301528 002FD188 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
+/* 8030152C 002FD18C 38 80 00 01 */ li r4, 1
+/* 80301530 002FD190 40 82 00 14 */ bne lbl_80301544
+/* 80301534 002FD194 38 05 00 01 */ addi r0, r5, 1
+/* 80301538 002FD198 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 8030153C 002FD19C 41 82 00 08 */ beq lbl_80301544
+/* 80301540 002FD1A0 38 80 00 00 */ li r4, 0
+lbl_80301544:
+/* 80301544 002FD1A4 2C 04 00 00 */ cmpwi r4, 0
+/* 80301548 002FD1A8 41 82 00 08 */ beq lbl_80301550
+/* 8030154C 002FD1AC 38 C0 00 01 */ li r6, 1
+lbl_80301550:
+/* 80301550 002FD1B0 2C 06 00 00 */ cmpwi r6, 0
+/* 80301554 002FD1B4 41 82 00 60 */ beq lbl_803015B4
+/* 80301558 002FD1B8 54 A0 E8 FE */ srwi r0, r5, 3
+/* 8030155C 002FD1BC 7C 09 03 A6 */ mtctr r0
+/* 80301560 002FD1C0 2C 05 00 08 */ cmpwi r5, 8
+/* 80301564 002FD1C4 41 80 00 50 */ blt lbl_803015B4
+lbl_80301568:
+/* 80301568 002FD1C8 7C 03 28 AE */ lbzx r0, r3, r5
+/* 8030156C 002FD1CC 7C 83 2A 14 */ add r4, r3, r5
+/* 80301570 002FD1D0 98 04 00 01 */ stb r0, 1(r4)
+/* 80301574 002FD1D4 88 04 FF FF */ lbz r0, -1(r4)
+/* 80301578 002FD1D8 7C 03 29 AE */ stbx r0, r3, r5
+/* 8030157C 002FD1DC 38 A5 FF F8 */ addi r5, r5, -8
+/* 80301580 002FD1E0 88 04 FF FE */ lbz r0, -2(r4)
+/* 80301584 002FD1E4 98 04 FF FF */ stb r0, -1(r4)
+/* 80301588 002FD1E8 88 04 FF FD */ lbz r0, -3(r4)
+/* 8030158C 002FD1EC 98 04 FF FE */ stb r0, -2(r4)
+/* 80301590 002FD1F0 88 04 FF FC */ lbz r0, -4(r4)
+/* 80301594 002FD1F4 98 04 FF FD */ stb r0, -3(r4)
+/* 80301598 002FD1F8 88 04 FF FB */ lbz r0, -5(r4)
+/* 8030159C 002FD1FC 98 04 FF FC */ stb r0, -4(r4)
+/* 803015A0 002FD200 88 04 FF FA */ lbz r0, -6(r4)
+/* 803015A4 002FD204 98 04 FF FB */ stb r0, -5(r4)
+/* 803015A8 002FD208 88 04 FF F9 */ lbz r0, -7(r4)
+/* 803015AC 002FD20C 98 04 FF FA */ stb r0, -6(r4)
+/* 803015B0 002FD210 42 00 FF B8 */ bdnz lbl_80301568
+lbl_803015B4:
+/* 803015B4 002FD214 38 05 00 01 */ addi r0, r5, 1
+/* 803015B8 002FD218 7C 09 03 A6 */ mtctr r0
+/* 803015BC 002FD21C 2C 05 00 00 */ cmpwi r5, 0
+/* 803015C0 002FD220 41 80 00 18 */ blt lbl_803015D8
+lbl_803015C4:
+/* 803015C4 002FD224 7C 03 28 AE */ lbzx r0, r3, r5
+/* 803015C8 002FD228 7C 83 2A 14 */ add r4, r3, r5
+/* 803015CC 002FD22C 38 A5 FF FF */ addi r5, r5, -1
+/* 803015D0 002FD230 98 04 00 01 */ stb r0, 1(r4)
+/* 803015D4 002FD234 42 00 FF F0 */ bdnz lbl_803015C4
+lbl_803015D8:
+/* 803015D8 002FD238 38 00 00 2D */ li r0, 0x2d
+/* 803015DC 002FD23C 98 03 00 00 */ stb r0, 0(r3)
+lbl_803015E0:
+/* 803015E0 002FD240 39 61 00 20 */ addi r11, r1, 0x20
+/* 803015E4 002FD244 7D 83 63 78 */ mr r3, r12
+/* 803015E8 002FD248 4B EC 5B 8D */ bl _restgpr_27
+/* 803015EC 002FD24C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803015F0 002FD250 7C 08 03 A6 */ mtlr r0
+/* 803015F4 002FD254 38 21 00 20 */ addi r1, r1, 0x20
+/* 803015F8 002FD258 4E 80 00 20 */ blr
+
+.global func_803015FC
+func_803015FC:
+/* 803015FC 002FD25C 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 80301600 002FD260 7C 08 02 A6 */ mflr r0
+/* 80301604 002FD264 90 01 00 84 */ stw r0, 0x84(r1)
+/* 80301608 002FD268 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 8030160C 002FD26C 40 86 00 24 */ bne cr1, lbl_80301630
+/* 80301610 002FD270 D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 80301614 002FD274 D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 80301618 002FD278 D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 8030161C 002FD27C D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 80301620 002FD280 D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 80301624 002FD284 D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 80301628 002FD288 D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 8030162C 002FD28C D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_80301630:
+/* 80301630 002FD290 39 61 00 88 */ addi r11, r1, 0x88
+/* 80301634 002FD294 38 01 00 08 */ addi r0, r1, 8
+/* 80301638 002FD298 3D 80 02 00 */ lis r12, 0x200
+/* 8030163C 002FD29C 90 61 00 08 */ stw r3, 8(r1)
+/* 80301640 002FD2A0 3B E1 00 68 */ addi r31, r1, 0x68
+/* 80301644 002FD2A4 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 80301648 002FD2A8 7F E5 FB 78 */ mr r5, r31
+/* 8030164C 002FD2AC 90 81 00 0C */ stw r4, 0xc(r1)
+/* 80301650 002FD2B0 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 80301654 002FD2B4 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 80301658 002FD2B8 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 8030165C 002FD2BC 91 21 00 20 */ stw r9, 0x20(r1)
+/* 80301660 002FD2C0 91 41 00 24 */ stw r10, 0x24(r1)
+/* 80301664 002FD2C4 91 81 00 68 */ stw r12, 0x68(r1)
+/* 80301668 002FD2C8 91 61 00 6C */ stw r11, 0x6c(r1)
+/* 8030166C 002FD2CC 90 01 00 70 */ stw r0, 0x70(r1)
+/* 80301670 002FD2D0 48 00 00 19 */ bl func_80301688
+/* 80301674 002FD2D4 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 80301678 002FD2D8 83 E1 00 7C */ lwz r31, 0x7c(r1)
+/* 8030167C 002FD2DC 7C 08 03 A6 */ mtlr r0
+/* 80301680 002FD2E0 38 21 00 80 */ addi r1, r1, 0x80
+/* 80301684 002FD2E4 4E 80 00 20 */ blr
+
+.global func_80301688
+func_80301688:
+/* 80301688 002FD2E8 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 8030168C 002FD2EC 7C 08 02 A6 */ mflr r0
+/* 80301690 002FD2F0 90 01 00 54 */ stw r0, 0x54(r1)
+/* 80301694 002FD2F4 39 61 00 50 */ addi r11, r1, 0x50
+/* 80301698 002FD2F8 4B EC 5A 65 */ bl _savegpr_16
+/* 8030169C 002FD2FC 3A 00 00 00 */ li r16, 0
+/* 803016A0 002FD300 7C 74 1B 78 */ mr r20, r3
+/* 803016A4 002FD304 9A 03 00 00 */ stb r16, 0(r3)
+/* 803016A8 002FD308 7C 95 23 78 */ mr r21, r4
+/* 803016AC 002FD30C 7C B6 2B 78 */ mr r22, r5
+/* 803016B0 002FD310 3B E0 00 00 */ li r31, 0
+/* 803016B4 002FD314 3E 40 80 00 */ lis r18, 0x8000
+/* 803016B8 002FD318 3A 60 00 20 */ li r19, 0x20
+/* 803016BC 002FD31C 3E 20 80 44 */ lis r17, 0x8044
+/* 803016C0 002FD320 48 00 04 5C */ b lbl_80301B1C
+/* 803016C4 002FD324 48 00 00 08 */ b lbl_803016CC
+lbl_803016C8:
+/* 803016C8 002FD328 3A 94 00 01 */ addi r20, r20, 1
+lbl_803016CC:
+/* 803016CC 002FD32C 88 14 00 00 */ lbz r0, 0(r20)
+/* 803016D0 002FD330 7C 00 07 75 */ extsb. r0, r0
+/* 803016D4 002FD334 40 82 FF F4 */ bne lbl_803016C8
+/* 803016D8 002FD338 7C C0 07 74 */ extsb r0, r6
+/* 803016DC 002FD33C 2C 00 00 25 */ cmpwi r0, 0x25
+/* 803016E0 002FD340 40 82 04 04 */ bne lbl_80301AE4
+/* 803016E4 002FD344 88 15 00 00 */ lbz r0, 0(r21)
+/* 803016E8 002FD348 3A B5 00 01 */ addi r21, r21, 1
+/* 803016EC 002FD34C 7C 03 07 74 */ extsb r3, r0
+/* 803016F0 002FD350 2C 03 00 25 */ cmpwi r3, 0x25
+/* 803016F4 002FD354 40 82 00 40 */ bne lbl_80301734
+/* 803016F8 002FD358 7E 84 A3 78 */ mr r4, r20
+/* 803016FC 002FD35C 7E 86 A3 78 */ mr r6, r20
+/* 80301700 002FD360 38 A0 00 00 */ li r5, 0
+/* 80301704 002FD364 3A 94 00 01 */ addi r20, r20, 1
+/* 80301708 002FD368 48 00 00 0C */ b lbl_80301714
+lbl_8030170C:
+/* 8030170C 002FD36C 38 C6 00 01 */ addi r6, r6, 1
+/* 80301710 002FD370 38 A5 00 01 */ addi r5, r5, 1
+lbl_80301714:
+/* 80301714 002FD374 88 66 00 00 */ lbz r3, 0(r6)
+/* 80301718 002FD378 7C 63 07 75 */ extsb. r3, r3
+/* 8030171C 002FD37C 40 82 FF F0 */ bne lbl_8030170C
+/* 80301720 002FD380 7C 04 29 AE */ stbx r0, r4, r5
+/* 80301724 002FD384 38 05 00 01 */ addi r0, r5, 1
+/* 80301728 002FD388 3B FF 00 01 */ addi r31, r31, 1
+/* 8030172C 002FD38C 7E 04 01 AE */ stbx r16, r4, r0
+/* 80301730 002FD390 48 00 03 EC */ b lbl_80301B1C
+lbl_80301734:
+/* 80301734 002FD394 2C 03 00 2D */ cmpwi r3, 0x2d
+/* 80301738 002FD398 7C 1A 03 78 */ mr r26, r0
+/* 8030173C 002FD39C 40 82 00 0C */ bne lbl_80301748
+/* 80301740 002FD3A0 88 15 00 00 */ lbz r0, 0(r21)
+/* 80301744 002FD3A4 3A B5 00 01 */ addi r21, r21, 1
+lbl_80301748:
+/* 80301748 002FD3A8 7C 03 07 74 */ extsb r3, r0
+/* 8030174C 002FD3AC 7C 19 03 78 */ mr r25, r0
+/* 80301750 002FD3B0 2C 03 00 2A */ cmpwi r3, 0x2a
+/* 80301754 002FD3B4 3B A0 00 00 */ li r29, 0
+/* 80301758 002FD3B8 3B 80 00 0A */ li r28, 0xa
+/* 8030175C 002FD3BC 3B 00 00 30 */ li r24, 0x30
+/* 80301760 002FD3C0 3B C0 00 00 */ li r30, 0
+/* 80301764 002FD3C4 40 82 00 20 */ bne lbl_80301784
+/* 80301768 002FD3C8 7E C3 B3 78 */ mr r3, r22
+/* 8030176C 002FD3CC 38 80 00 01 */ li r4, 1
+/* 80301770 002FD3D0 4B EC 54 11 */ bl __va_arg
+/* 80301774 002FD3D4 88 15 00 00 */ lbz r0, 0(r21)
+/* 80301778 002FD3D8 3A B5 00 01 */ addi r21, r21, 1
+/* 8030177C 002FD3DC 83 63 00 00 */ lwz r27, 0(r3)
+/* 80301780 002FD3E0 48 00 00 38 */ b lbl_803017B8
+lbl_80301784:
+/* 80301784 002FD3E4 3B 60 00 00 */ li r27, 0
+/* 80301788 002FD3E8 48 00 00 1C */ b lbl_803017A4
+lbl_8030178C:
+/* 8030178C 002FD3EC 1C 9B 00 0A */ mulli r4, r27, 0xa
+/* 80301790 002FD3F0 7C 03 07 74 */ extsb r3, r0
+/* 80301794 002FD3F4 88 15 00 00 */ lbz r0, 0(r21)
+/* 80301798 002FD3F8 3A B5 00 01 */ addi r21, r21, 1
+/* 8030179C 002FD3FC 7C 63 22 14 */ add r3, r3, r4
+/* 803017A0 002FD400 3B 63 FF D0 */ addi r27, r3, -48
+lbl_803017A4:
+/* 803017A4 002FD404 7C 03 07 74 */ extsb r3, r0
+/* 803017A8 002FD408 2C 03 00 30 */ cmpwi r3, 0x30
+/* 803017AC 002FD40C 41 80 00 0C */ blt lbl_803017B8
+/* 803017B0 002FD410 2C 03 00 39 */ cmpwi r3, 0x39
+/* 803017B4 002FD414 40 81 FF D8 */ ble lbl_8030178C
+lbl_803017B8:
+/* 803017B8 002FD418 70 03 00 DF */ andi. r3, r0, 0xdf
+/* 803017BC 002FD41C 7C 77 07 74 */ extsb r23, r3
+/* 803017C0 002FD420 2C 17 00 4C */ cmpwi r23, 0x4c
+/* 803017C4 002FD424 40 82 00 0C */ bne lbl_803017D0
+/* 803017C8 002FD428 88 15 00 00 */ lbz r0, 0(r21)
+/* 803017CC 002FD42C 3A B5 00 01 */ addi r21, r21, 1
+lbl_803017D0:
+/* 803017D0 002FD430 7C 03 07 74 */ extsb r3, r0
+/* 803017D4 002FD434 38 03 FF A8 */ addi r0, r3, -88
+/* 803017D8 002FD438 28 00 00 20 */ cmplwi r0, 0x20
+/* 803017DC 002FD43C 41 81 02 90 */ bgt lbl_80301A6C
+/* 803017E0 002FD440 38 71 62 50 */ addi r3, r17, 0x6250
+/* 803017E4 002FD444 54 00 10 3A */ slwi r0, r0, 2
+/* 803017E8 002FD448 7C 63 00 2E */ lwzx r3, r3, r0
+/* 803017EC 002FD44C 7C 69 03 A6 */ mtctr r3
+/* 803017F0 002FD450 4E 80 04 20 */ bctr
+/* 803017F4 002FD454 3B C0 00 01 */ li r30, 1
+/* 803017F8 002FD458 3B A0 00 01 */ li r29, 1
+/* 803017FC 002FD45C 48 00 02 70 */ b lbl_80301A6C
+/* 80301800 002FD460 3B C0 00 01 */ li r30, 1
+/* 80301804 002FD464 3B 80 00 08 */ li r28, 8
+/* 80301808 002FD468 48 00 02 64 */ b lbl_80301A6C
+/* 8030180C 002FD46C 3B C0 00 01 */ li r30, 1
+/* 80301810 002FD470 48 00 02 5C */ b lbl_80301A6C
+/* 80301814 002FD474 3B C0 00 01 */ li r30, 1
+/* 80301818 002FD478 3B 80 00 10 */ li r28, 0x10
+/* 8030181C 002FD47C 3B 00 00 57 */ li r24, 0x57
+/* 80301820 002FD480 48 00 02 4C */ b lbl_80301A6C
+/* 80301824 002FD484 3B C0 00 01 */ li r30, 1
+/* 80301828 002FD488 3B 80 00 10 */ li r28, 0x10
+/* 8030182C 002FD48C 3B 00 00 37 */ li r24, 0x37
+/* 80301830 002FD490 48 00 02 3C */ b lbl_80301A6C
+/* 80301834 002FD494 7E C3 B3 78 */ mr r3, r22
+/* 80301838 002FD498 38 80 00 01 */ li r4, 1
+/* 8030183C 002FD49C 4B EC 53 45 */ bl __va_arg
+/* 80301840 002FD4A0 80 03 00 00 */ lwz r0, 0(r3)
+/* 80301844 002FD4A4 7E 83 A3 78 */ mr r3, r20
+/* 80301848 002FD4A8 7E 85 A3 78 */ mr r5, r20
+/* 8030184C 002FD4AC 38 80 00 00 */ li r4, 0
+/* 80301850 002FD4B0 7C 06 07 74 */ extsb r6, r0
+/* 80301854 002FD4B4 3A 94 00 01 */ addi r20, r20, 1
+/* 80301858 002FD4B8 48 00 00 0C */ b lbl_80301864
+lbl_8030185C:
+/* 8030185C 002FD4BC 38 A5 00 01 */ addi r5, r5, 1
+/* 80301860 002FD4C0 38 84 00 01 */ addi r4, r4, 1
+lbl_80301864:
+/* 80301864 002FD4C4 88 05 00 00 */ lbz r0, 0(r5)
+/* 80301868 002FD4C8 7C 00 07 75 */ extsb. r0, r0
+/* 8030186C 002FD4CC 40 82 FF F0 */ bne lbl_8030185C
+/* 80301870 002FD4D0 7C C3 21 AE */ stbx r6, r3, r4
+/* 80301874 002FD4D4 38 04 00 01 */ addi r0, r4, 1
+/* 80301878 002FD4D8 3B FF 00 01 */ addi r31, r31, 1
+/* 8030187C 002FD4DC 7E 03 01 AE */ stbx r16, r3, r0
+/* 80301880 002FD4E0 48 00 01 EC */ b lbl_80301A6C
+/* 80301884 002FD4E4 7E C3 B3 78 */ mr r3, r22
+/* 80301888 002FD4E8 38 80 00 01 */ li r4, 1
+/* 8030188C 002FD4EC 4B EC 52 F5 */ bl __va_arg
+/* 80301890 002FD4F0 80 63 00 00 */ lwz r3, 0(r3)
+/* 80301894 002FD4F4 2C 03 00 00 */ cmpwi r3, 0
+/* 80301898 002FD4F8 41 82 00 70 */ beq lbl_80301908
+/* 8030189C 002FD4FC 7C 64 1B 78 */ mr r4, r3
+/* 803018A0 002FD500 38 A0 00 00 */ li r5, 0
+/* 803018A4 002FD504 48 00 00 0C */ b lbl_803018B0
+lbl_803018A8:
+/* 803018A8 002FD508 38 84 00 01 */ addi r4, r4, 1
+/* 803018AC 002FD50C 38 A5 00 01 */ addi r5, r5, 1
+lbl_803018B0:
+/* 803018B0 002FD510 88 04 00 00 */ lbz r0, 0(r4)
+/* 803018B4 002FD514 7C 00 07 75 */ extsb. r0, r0
+/* 803018B8 002FD518 40 82 FF F0 */ bne lbl_803018A8
+/* 803018BC 002FD51C 7E 86 A3 78 */ mr r6, r20
+/* 803018C0 002FD520 38 80 00 00 */ li r4, 0
+/* 803018C4 002FD524 48 00 00 0C */ b lbl_803018D0
+lbl_803018C8:
+/* 803018C8 002FD528 38 C6 00 01 */ addi r6, r6, 1
+/* 803018CC 002FD52C 38 84 00 01 */ addi r4, r4, 1
+lbl_803018D0:
+/* 803018D0 002FD530 88 06 00 00 */ lbz r0, 0(r6)
+/* 803018D4 002FD534 7C 00 07 75 */ extsb. r0, r0
+/* 803018D8 002FD538 40 82 FF F0 */ bne lbl_803018C8
+/* 803018DC 002FD53C 7C 94 22 14 */ add r4, r20, r4
+/* 803018E0 002FD540 48 00 00 14 */ b lbl_803018F4
+lbl_803018E4:
+/* 803018E4 002FD544 88 03 00 00 */ lbz r0, 0(r3)
+/* 803018E8 002FD548 38 63 00 01 */ addi r3, r3, 1
+/* 803018EC 002FD54C 98 04 00 00 */ stb r0, 0(r4)
+/* 803018F0 002FD550 38 84 00 01 */ addi r4, r4, 1
+lbl_803018F4:
+/* 803018F4 002FD554 88 03 00 00 */ lbz r0, 0(r3)
+/* 803018F8 002FD558 7C 00 07 75 */ extsb. r0, r0
+/* 803018FC 002FD55C 40 82 FF E8 */ bne lbl_803018E4
+/* 80301900 002FD560 9A 04 00 00 */ stb r16, 0(r4)
+/* 80301904 002FD564 48 00 00 08 */ b lbl_8030190C
+lbl_80301908:
+/* 80301908 002FD568 38 A0 00 00 */ li r5, 0
+lbl_8030190C:
+/* 8030190C 002FD56C 7F FF 2A 14 */ add r31, r31, r5
+/* 80301910 002FD570 7F 40 07 74 */ extsb r0, r26
+/* 80301914 002FD574 48 00 01 50 */ b lbl_80301A64
+lbl_80301918:
+/* 80301918 002FD578 2C 00 00 2D */ cmpwi r0, 0x2d
+/* 8030191C 002FD57C 3B FF 00 01 */ addi r31, r31, 1
+/* 80301920 002FD580 40 82 00 34 */ bne lbl_80301954
+/* 80301924 002FD584 7E 86 A3 78 */ mr r6, r20
+/* 80301928 002FD588 38 80 00 00 */ li r4, 0
+/* 8030192C 002FD58C 48 00 00 0C */ b lbl_80301938
+lbl_80301930:
+/* 80301930 002FD590 38 C6 00 01 */ addi r6, r6, 1
+/* 80301934 002FD594 38 84 00 01 */ addi r4, r4, 1
+lbl_80301938:
+/* 80301938 002FD598 88 66 00 00 */ lbz r3, 0(r6)
+/* 8030193C 002FD59C 7C 63 07 75 */ extsb. r3, r3
+/* 80301940 002FD5A0 40 82 FF F0 */ bne lbl_80301930
+/* 80301944 002FD5A4 7E 74 21 AE */ stbx r19, r20, r4
+/* 80301948 002FD5A8 38 64 00 01 */ addi r3, r4, 1
+/* 8030194C 002FD5AC 7E 14 19 AE */ stbx r16, r20, r3
+/* 80301950 002FD5B0 48 00 01 10 */ b lbl_80301A60
+lbl_80301954:
+/* 80301954 002FD5B4 7E 86 A3 78 */ mr r6, r20
+/* 80301958 002FD5B8 38 60 00 00 */ li r3, 0
+/* 8030195C 002FD5BC 48 00 00 0C */ b lbl_80301968
+lbl_80301960:
+/* 80301960 002FD5C0 38 C6 00 01 */ addi r6, r6, 1
+/* 80301964 002FD5C4 38 63 00 01 */ addi r3, r3, 1
+lbl_80301968:
+/* 80301968 002FD5C8 88 86 00 00 */ lbz r4, 0(r6)
+/* 8030196C 002FD5CC 7C 84 07 75 */ extsb. r4, r4
+/* 80301970 002FD5D0 40 82 FF F0 */ bne lbl_80301960
+/* 80301974 002FD5D4 2C 83 00 00 */ cmpwi cr1, r3, 0
+/* 80301978 002FD5D8 41 84 00 E4 */ blt cr1, lbl_80301A5C
+/* 8030197C 002FD5DC 38 83 00 01 */ addi r4, r3, 1
+/* 80301980 002FD5E0 2C 04 00 08 */ cmpwi r4, 8
+/* 80301984 002FD5E4 40 81 00 B4 */ ble lbl_80301A38
+/* 80301988 002FD5E8 38 C0 00 00 */ li r6, 0
+/* 8030198C 002FD5EC 38 E0 00 00 */ li r7, 0
+/* 80301990 002FD5F0 41 84 00 14 */ blt cr1, lbl_803019A4
+/* 80301994 002FD5F4 38 92 00 01 */ addi r4, r18, 1
+/* 80301998 002FD5F8 7C 03 20 00 */ cmpw r3, r4
+/* 8030199C 002FD5FC 41 80 00 08 */ blt lbl_803019A4
+/* 803019A0 002FD600 38 E0 00 01 */ li r7, 1
+lbl_803019A4:
+/* 803019A4 002FD604 2C 07 00 00 */ cmpwi r7, 0
+/* 803019A8 002FD608 41 82 00 2C */ beq lbl_803019D4
+/* 803019AC 002FD60C 54 64 00 01 */ rlwinm. r4, r3, 0, 0, 0
+/* 803019B0 002FD610 38 E0 00 01 */ li r7, 1
+/* 803019B4 002FD614 40 82 00 14 */ bne lbl_803019C8
+/* 803019B8 002FD618 38 83 00 01 */ addi r4, r3, 1
+/* 803019BC 002FD61C 54 84 00 01 */ rlwinm. r4, r4, 0, 0, 0
+/* 803019C0 002FD620 41 82 00 08 */ beq lbl_803019C8
+/* 803019C4 002FD624 38 E0 00 00 */ li r7, 0
+lbl_803019C8:
+/* 803019C8 002FD628 2C 07 00 00 */ cmpwi r7, 0
+/* 803019CC 002FD62C 41 82 00 08 */ beq lbl_803019D4
+/* 803019D0 002FD630 38 C0 00 01 */ li r6, 1
+lbl_803019D4:
+/* 803019D4 002FD634 2C 06 00 00 */ cmpwi r6, 0
+/* 803019D8 002FD638 41 82 00 60 */ beq lbl_80301A38
+/* 803019DC 002FD63C 54 64 E8 FE */ srwi r4, r3, 3
+/* 803019E0 002FD640 7C 89 03 A6 */ mtctr r4
+/* 803019E4 002FD644 2C 03 00 08 */ cmpwi r3, 8
+/* 803019E8 002FD648 41 80 00 50 */ blt lbl_80301A38
+lbl_803019EC:
+/* 803019EC 002FD64C 7C D4 18 AE */ lbzx r6, r20, r3
+/* 803019F0 002FD650 7C 94 1A 14 */ add r4, r20, r3
+/* 803019F4 002FD654 98 C4 00 01 */ stb r6, 1(r4)
+/* 803019F8 002FD658 88 C4 FF FF */ lbz r6, -1(r4)
+/* 803019FC 002FD65C 7C D4 19 AE */ stbx r6, r20, r3
+/* 80301A00 002FD660 38 63 FF F8 */ addi r3, r3, -8
+/* 80301A04 002FD664 88 C4 FF FE */ lbz r6, -2(r4)
+/* 80301A08 002FD668 98 C4 FF FF */ stb r6, -1(r4)
+/* 80301A0C 002FD66C 88 C4 FF FD */ lbz r6, -3(r4)
+/* 80301A10 002FD670 98 C4 FF FE */ stb r6, -2(r4)
+/* 80301A14 002FD674 88 C4 FF FC */ lbz r6, -4(r4)
+/* 80301A18 002FD678 98 C4 FF FD */ stb r6, -3(r4)
+/* 80301A1C 002FD67C 88 C4 FF FB */ lbz r6, -5(r4)
+/* 80301A20 002FD680 98 C4 FF FC */ stb r6, -4(r4)
+/* 80301A24 002FD684 88 C4 FF FA */ lbz r6, -6(r4)
+/* 80301A28 002FD688 98 C4 FF FB */ stb r6, -5(r4)
+/* 80301A2C 002FD68C 88 C4 FF F9 */ lbz r6, -7(r4)
+/* 80301A30 002FD690 98 C4 FF FA */ stb r6, -6(r4)
+/* 80301A34 002FD694 42 00 FF B8 */ bdnz lbl_803019EC
+lbl_80301A38:
+/* 80301A38 002FD698 38 83 00 01 */ addi r4, r3, 1
+/* 80301A3C 002FD69C 7C 89 03 A6 */ mtctr r4
+/* 80301A40 002FD6A0 2C 03 00 00 */ cmpwi r3, 0
+/* 80301A44 002FD6A4 41 80 00 18 */ blt lbl_80301A5C
+lbl_80301A48:
+/* 80301A48 002FD6A8 7C 94 18 AE */ lbzx r4, r20, r3
+/* 80301A4C 002FD6AC 7C D4 1A 14 */ add r6, r20, r3
+/* 80301A50 002FD6B0 38 63 FF FF */ addi r3, r3, -1
+/* 80301A54 002FD6B4 98 86 00 01 */ stb r4, 1(r6)
+/* 80301A58 002FD6B8 42 00 FF F0 */ bdnz lbl_80301A48
+lbl_80301A5C:
+/* 80301A5C 002FD6BC 9A 74 00 00 */ stb r19, 0(r20)
+lbl_80301A60:
+/* 80301A60 002FD6C0 38 A5 00 01 */ addi r5, r5, 1
+lbl_80301A64:
+/* 80301A64 002FD6C4 7C 05 D8 00 */ cmpw r5, r27
+/* 80301A68 002FD6C8 41 80 FE B0 */ blt lbl_80301918
+lbl_80301A6C:
+/* 80301A6C 002FD6CC 2C 1E 00 00 */ cmpwi r30, 0
+/* 80301A70 002FD6D0 41 82 00 AC */ beq lbl_80301B1C
+/* 80301A74 002FD6D4 2C 17 00 4C */ cmpwi r23, 0x4c
+/* 80301A78 002FD6D8 40 82 00 18 */ bne lbl_80301A90
+/* 80301A7C 002FD6DC 7E C3 B3 78 */ mr r3, r22
+/* 80301A80 002FD6E0 38 80 00 01 */ li r4, 1
+/* 80301A84 002FD6E4 4B EC 50 FD */ bl __va_arg
+/* 80301A88 002FD6E8 80 83 00 00 */ lwz r4, 0(r3)
+/* 80301A8C 002FD6EC 48 00 00 30 */ b lbl_80301ABC
+lbl_80301A90:
+/* 80301A90 002FD6F0 2C 1D 00 00 */ cmpwi r29, 0
+/* 80301A94 002FD6F4 41 82 00 18 */ beq lbl_80301AAC
+/* 80301A98 002FD6F8 7E C3 B3 78 */ mr r3, r22
+/* 80301A9C 002FD6FC 38 80 00 01 */ li r4, 1
+/* 80301AA0 002FD700 4B EC 50 E1 */ bl __va_arg
+/* 80301AA4 002FD704 80 83 00 00 */ lwz r4, 0(r3)
+/* 80301AA8 002FD708 48 00 00 14 */ b lbl_80301ABC
+lbl_80301AAC:
+/* 80301AAC 002FD70C 7E C3 B3 78 */ mr r3, r22
+/* 80301AB0 002FD710 38 80 00 01 */ li r4, 1
+/* 80301AB4 002FD714 4B EC 50 CD */ bl __va_arg
+/* 80301AB8 002FD718 80 83 00 00 */ lwz r4, 0(r3)
+lbl_80301ABC:
+/* 80301ABC 002FD71C 7E 83 A3 78 */ mr r3, r20
+/* 80301AC0 002FD720 7F 85 E3 78 */ mr r5, r28
+/* 80301AC4 002FD724 7F 06 C3 78 */ mr r6, r24
+/* 80301AC8 002FD728 7F A7 EB 78 */ mr r7, r29
+/* 80301ACC 002FD72C 7F 68 DB 78 */ mr r8, r27
+/* 80301AD0 002FD730 7F 29 07 74 */ extsb r9, r25
+/* 80301AD4 002FD734 7F 4A 07 74 */ extsb r10, r26
+/* 80301AD8 002FD738 4B FF F5 BD */ bl func_80301094
+/* 80301ADC 002FD73C 7F FF 1A 14 */ add r31, r31, r3
+/* 80301AE0 002FD740 48 00 00 3C */ b lbl_80301B1C
+lbl_80301AE4:
+/* 80301AE4 002FD744 7E 83 A3 78 */ mr r3, r20
+/* 80301AE8 002FD748 7E 85 A3 78 */ mr r5, r20
+/* 80301AEC 002FD74C 38 80 00 00 */ li r4, 0
+/* 80301AF0 002FD750 3A 94 00 01 */ addi r20, r20, 1
+/* 80301AF4 002FD754 48 00 00 0C */ b lbl_80301B00
+lbl_80301AF8:
+/* 80301AF8 002FD758 38 A5 00 01 */ addi r5, r5, 1
+/* 80301AFC 002FD75C 38 84 00 01 */ addi r4, r4, 1
+lbl_80301B00:
+/* 80301B00 002FD760 88 05 00 00 */ lbz r0, 0(r5)
+/* 80301B04 002FD764 7C 00 07 75 */ extsb. r0, r0
+/* 80301B08 002FD768 40 82 FF F0 */ bne lbl_80301AF8
+/* 80301B0C 002FD76C 7C C3 21 AE */ stbx r6, r3, r4
+/* 80301B10 002FD770 38 04 00 01 */ addi r0, r4, 1
+/* 80301B14 002FD774 3B FF 00 01 */ addi r31, r31, 1
+/* 80301B18 002FD778 7E 03 01 AE */ stbx r16, r3, r0
+lbl_80301B1C:
+/* 80301B1C 002FD77C 88 D5 00 00 */ lbz r6, 0(r21)
+/* 80301B20 002FD780 3A B5 00 01 */ addi r21, r21, 1
+/* 80301B24 002FD784 7C C0 07 75 */ extsb. r0, r6
+/* 80301B28 002FD788 40 82 FB A4 */ bne lbl_803016CC
+/* 80301B2C 002FD78C 39 61 00 50 */ addi r11, r1, 0x50
+/* 80301B30 002FD790 7F E3 FB 78 */ mr r3, r31
+/* 80301B34 002FD794 4B EC 56 15 */ bl _restgpr_16
+/* 80301B38 002FD798 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 80301B3C 002FD79C 7C 08 03 A6 */ mtlr r0
+/* 80301B40 002FD7A0 38 21 00 50 */ addi r1, r1, 0x50
+/* 80301B44 002FD7A4 4E 80 00 20 */ blr
+
+.global func_80301B48
+func_80301B48:
+/* 80301B48 002FD7A8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80301B4C 002FD7AC 7C 08 02 A6 */ mflr r0
+/* 80301B50 002FD7B0 28 05 00 09 */ cmplwi r5, 9
+/* 80301B54 002FD7B4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80301B58 002FD7B8 38 00 00 00 */ li r0, 0
+/* 80301B5C 002FD7BC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80301B60 002FD7C0 7C BF 2B 78 */ mr r31, r5
+/* 80301B64 002FD7C4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80301B68 002FD7C8 7C 9E 23 78 */ mr r30, r4
+/* 80301B6C 002FD7CC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80301B70 002FD7D0 7C 7D 1B 78 */ mr r29, r3
+/* 80301B74 002FD7D4 80 CD AF 80 */ lwz r6, lbl_80640240-_SDA_BASE_(r13)
+/* 80301B78 002FD7D8 38 C6 00 01 */ addi r6, r6, 1
+/* 80301B7C 002FD7DC 64 C4 80 00 */ oris r4, r6, 0x8000
+/* 80301B80 002FD7E0 90 8D AF 80 */ stw r4, lbl_80640240-_SDA_BASE_(r13)
+/* 80301B84 002FD7E4 90 83 00 00 */ stw r4, 0(r3)
+/* 80301B88 002FD7E8 90 03 00 08 */ stw r0, 8(r3)
+/* 80301B8C 002FD7EC 90 A3 00 04 */ stw r5, 4(r3)
+/* 80301B90 002FD7F0 41 82 00 18 */ beq lbl_80301BA8
+/* 80301B94 002FD7F4 28 05 00 0A */ cmplwi r5, 0xa
+/* 80301B98 002FD7F8 41 82 00 10 */ beq lbl_80301BA8
+/* 80301B9C 002FD7FC 38 05 FE F7 */ addi r0, r5, -265
+/* 80301BA0 002FD800 28 00 00 01 */ cmplwi r0, 1
+/* 80301BA4 002FD804 41 81 00 24 */ bgt lbl_80301BC8
+lbl_80301BA8:
+/* 80301BA8 002FD808 48 00 17 3D */ bl func_803032E4
+/* 80301BAC 002FD80C 2C 03 00 00 */ cmpwi r3, 0
+/* 80301BB0 002FD810 40 82 00 18 */ bne lbl_80301BC8
+/* 80301BB4 002FD814 48 00 17 45 */ bl func_803032F8
+/* 80301BB8 002FD818 2C 03 00 00 */ cmpwi r3, 0
+/* 80301BBC 002FD81C 40 82 00 0C */ bne lbl_80301BC8
+/* 80301BC0 002FD820 38 60 FF F7 */ li r3, -9
+/* 80301BC4 002FD824 48 00 00 5C */ b lbl_80301C20
+lbl_80301BC8:
+/* 80301BC8 002FD828 28 1F 00 09 */ cmplwi r31, 9
+/* 80301BCC 002FD82C 41 82 00 0C */ beq lbl_80301BD8
+/* 80301BD0 002FD830 28 1F 01 09 */ cmplwi r31, 0x109
+/* 80301BD4 002FD834 40 82 00 20 */ bne lbl_80301BF4
+lbl_80301BD8:
+/* 80301BD8 002FD838 80 0D AF 7C */ lwz r0, lbl_8064023C-_SDA_BASE_(r13)
+/* 80301BDC 002FD83C 2C 00 00 00 */ cmpwi r0, 0
+/* 80301BE0 002FD840 41 82 00 0C */ beq lbl_80301BEC
+/* 80301BE4 002FD844 38 60 FF EA */ li r3, -22
+/* 80301BE8 002FD848 48 00 00 38 */ b lbl_80301C20
+lbl_80301BEC:
+/* 80301BEC 002FD84C 80 1D 00 00 */ lwz r0, 0(r29)
+/* 80301BF0 002FD850 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
+lbl_80301BF4:
+/* 80301BF4 002FD854 57 E0 05 EF */ rlwinm. r0, r31, 0, 0x17, 0x17
+/* 80301BF8 002FD858 41 82 00 18 */ beq lbl_80301C10
+/* 80301BFC 002FD85C 7F A3 EB 78 */ mr r3, r29
+/* 80301C00 002FD860 7F C4 F3 78 */ mr r4, r30
+/* 80301C04 002FD864 7F E5 FB 78 */ mr r5, r31
+/* 80301C08 002FD868 48 00 01 69 */ bl func_80301D70
+/* 80301C0C 002FD86C 48 00 00 14 */ b lbl_80301C20
+lbl_80301C10:
+/* 80301C10 002FD870 7F A3 EB 78 */ mr r3, r29
+/* 80301C14 002FD874 7F C4 F3 78 */ mr r4, r30
+/* 80301C18 002FD878 7F E5 FB 78 */ mr r5, r31
+/* 80301C1C 002FD87C 48 00 00 21 */ bl func_80301C3C
+lbl_80301C20:
+/* 80301C20 002FD880 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80301C24 002FD884 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80301C28 002FD888 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80301C2C 002FD88C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80301C30 002FD890 7C 08 03 A6 */ mtlr r0
+/* 80301C34 002FD894 38 21 00 20 */ addi r1, r1, 0x20
+/* 80301C38 002FD898 4E 80 00 20 */ blr
+
+.global func_80301C3C
+func_80301C3C:
+/* 80301C3C 002FD89C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80301C40 002FD8A0 7C 08 02 A6 */ mflr r0
+/* 80301C44 002FD8A4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80301C48 002FD8A8 39 61 00 30 */ addi r11, r1, 0x30
+/* 80301C4C 002FD8AC 4B EC 54 C9 */ bl _savegpr_22
+/* 80301C50 002FD8B0 28 05 00 0A */ cmplwi r5, 0xa
+/* 80301C54 002FD8B4 7C 7D 1B 78 */ mr r29, r3
+/* 80301C58 002FD8B8 7C 9E 23 78 */ mr r30, r4
+/* 80301C5C 002FD8BC 7C BF 2B 78 */ mr r31, r5
+/* 80301C60 002FD8C0 41 81 00 5C */ bgt lbl_80301CBC
+/* 80301C64 002FD8C4 3C 60 80 44 */ lis r3, lbl_804462D8@ha
+/* 80301C68 002FD8C8 54 A0 10 3A */ slwi r0, r5, 2
+/* 80301C6C 002FD8CC 38 63 62 D8 */ addi r3, r3, lbl_804462D8@l
+/* 80301C70 002FD8D0 7C 63 00 2E */ lwzx r3, r3, r0
+/* 80301C74 002FD8D4 7C 69 03 A6 */ mtctr r3
+/* 80301C78 002FD8D8 4E 80 04 20 */ bctr
+/* 80301C7C 002FD8DC 7F C3 F3 78 */ mr r3, r30
+/* 80301C80 002FD8E0 38 80 00 3F */ li r4, 0x3f
+/* 80301C84 002FD8E4 38 A0 00 00 */ li r5, 0
+/* 80301C88 002FD8E8 4B FE 59 65 */ bl NANDPrivateCreate
+/* 80301C8C 002FD8EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80301C90 002FD8F0 41 82 00 14 */ beq lbl_80301CA4
+/* 80301C94 002FD8F4 2C 03 FF FA */ cmpwi r3, -6
+/* 80301C98 002FD8F8 41 82 00 0C */ beq lbl_80301CA4
+/* 80301C9C 002FD8FC 38 60 FF EB */ li r3, -21
+/* 80301CA0 002FD900 48 00 00 B8 */ b lbl_80301D58
+lbl_80301CA4:
+/* 80301CA4 002FD904 3A E0 00 02 */ li r23, 2
+/* 80301CA8 002FD908 48 00 00 1C */ b lbl_80301CC4
+/* 80301CAC 002FD90C 3A E0 00 01 */ li r23, 1
+/* 80301CB0 002FD910 48 00 00 14 */ b lbl_80301CC4
+/* 80301CB4 002FD914 3A E0 00 03 */ li r23, 3
+/* 80301CB8 002FD918 48 00 00 0C */ b lbl_80301CC4
+lbl_80301CBC:
+/* 80301CBC 002FD91C 38 60 FF FD */ li r3, -3
+/* 80301CC0 002FD920 48 00 00 98 */ b lbl_80301D58
+lbl_80301CC4:
+/* 80301CC4 002FD924 3A C0 00 00 */ li r22, 0
+/* 80301CC8 002FD928 3B 60 03 E8 */ li r27, 0x3e8
+/* 80301CCC 002FD92C 7F 96 D9 D6 */ mullw r28, r22, r27
+/* 80301CD0 002FD930 3C 60 10 62 */ lis r3, 0x10624DD3@ha
+/* 80301CD4 002FD934 3F 40 80 00 */ lis r26, 0x8000
+/* 80301CD8 002FD938 3B 23 4D D3 */ addi r25, r3, 0x10624DD3@l
+lbl_80301CDC:
+/* 80301CDC 002FD93C 7F C3 F3 78 */ mr r3, r30
+/* 80301CE0 002FD940 7E E5 BB 78 */ mr r5, r23
+/* 80301CE4 002FD944 38 9D 00 0C */ addi r4, r29, 0xc
+/* 80301CE8 002FD948 4B FE 67 AD */ bl NANDPrivateOpen
+/* 80301CEC 002FD94C 2C 03 FF FD */ cmpwi r3, -3
+/* 80301CF0 002FD950 7C 78 1B 78 */ mr r24, r3
+/* 80301CF4 002FD954 40 82 00 30 */ bne lbl_80301D24
+/* 80301CF8 002FD958 80 1A 00 F8 */ lwz r0, 0xf8(r26)
+/* 80301CFC 002FD95C 54 00 F0 BE */ srwi r0, r0, 2
+/* 80301D00 002FD960 7C 19 00 16 */ mulhwu r0, r25, r0
+/* 80301D04 002FD964 54 03 D1 BE */ srwi r3, r0, 6
+/* 80301D08 002FD968 7C 03 D8 16 */ mulhwu r0, r3, r27
+/* 80301D0C 002FD96C 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 80301D10 002FD970 7C 60 E2 14 */ add r3, r0, r28
+/* 80301D14 002FD974 4B F7 09 F1 */ bl OSSleepTicks
+/* 80301D18 002FD978 3A D6 00 01 */ addi r22, r22, 1
+/* 80301D1C 002FD97C 28 16 00 03 */ cmplwi r22, 3
+/* 80301D20 002FD980 41 80 FF BC */ blt lbl_80301CDC
+lbl_80301D24:
+/* 80301D24 002FD984 2C 18 00 00 */ cmpwi r24, 0
+/* 80301D28 002FD988 41 82 00 2C */ beq lbl_80301D54
+/* 80301D2C 002FD98C 28 1F 00 09 */ cmplwi r31, 9
+/* 80301D30 002FD990 40 82 00 0C */ bne lbl_80301D3C
+/* 80301D34 002FD994 38 00 00 00 */ li r0, 0
+/* 80301D38 002FD998 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
+lbl_80301D3C:
+/* 80301D3C 002FD99C 2C 18 FF F4 */ cmpwi r24, -12
+/* 80301D40 002FD9A0 40 82 00 0C */ bne lbl_80301D4C
+/* 80301D44 002FD9A4 38 60 FF EC */ li r3, -20
+/* 80301D48 002FD9A8 48 00 00 10 */ b lbl_80301D58
+lbl_80301D4C:
+/* 80301D4C 002FD9AC 38 60 FF F0 */ li r3, -16
+/* 80301D50 002FD9B0 48 00 00 08 */ b lbl_80301D58
+lbl_80301D54:
+/* 80301D54 002FD9B4 38 60 00 00 */ li r3, 0
+lbl_80301D58:
+/* 80301D58 002FD9B8 39 61 00 30 */ addi r11, r1, 0x30
+/* 80301D5C 002FD9BC 4B EC 54 05 */ bl _restgpr_22
+/* 80301D60 002FD9C0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80301D64 002FD9C4 7C 08 03 A6 */ mtlr r0
+/* 80301D68 002FD9C8 38 21 00 30 */ addi r1, r1, 0x30
+/* 80301D6C 002FD9CC 4E 80 00 20 */ blr
+
+.global func_80301D70
+func_80301D70:
+/* 80301D70 002FD9D0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80301D74 002FD9D4 7C 08 02 A6 */ mflr r0
+/* 80301D78 002FD9D8 2C 05 01 09 */ cmpwi r5, 0x109
+/* 80301D7C 002FD9DC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80301D80 002FD9E0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80301D84 002FD9E4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80301D88 002FD9E8 7C BE 2B 78 */ mr r30, r5
+/* 80301D8C 002FD9EC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80301D90 002FD9F0 7C 7D 1B 78 */ mr r29, r3
+/* 80301D94 002FD9F4 41 82 00 2C */ beq lbl_80301DC0
+/* 80301D98 002FD9F8 40 80 00 1C */ bge lbl_80301DB4
+/* 80301D9C 002FD9FC 2C 05 01 02 */ cmpwi r5, 0x102
+/* 80301DA0 002FDA00 41 82 00 28 */ beq lbl_80301DC8
+/* 80301DA4 002FDA04 40 80 00 2C */ bge lbl_80301DD0
+/* 80301DA8 002FDA08 2C 05 01 01 */ cmpwi r5, 0x101
+/* 80301DAC 002FDA0C 40 80 00 14 */ bge lbl_80301DC0
+/* 80301DB0 002FDA10 48 00 00 20 */ b lbl_80301DD0
+lbl_80301DB4:
+/* 80301DB4 002FDA14 2C 05 01 0B */ cmpwi r5, 0x10b
+/* 80301DB8 002FDA18 40 80 00 18 */ bge lbl_80301DD0
+/* 80301DBC 002FDA1C 48 00 00 0C */ b lbl_80301DC8
+lbl_80301DC0:
+/* 80301DC0 002FDA20 3B ED 8C 80 */ addi r31, r13, lbl_8063DF40-_SDA_BASE_
+/* 80301DC4 002FDA24 48 00 00 14 */ b lbl_80301DD8
+lbl_80301DC8:
+/* 80301DC8 002FDA28 3B ED 8C 84 */ addi r31, r13, lbl_8063DF44-_SDA_BASE_
+/* 80301DCC 002FDA2C 48 00 00 0C */ b lbl_80301DD8
+lbl_80301DD0:
+/* 80301DD0 002FDA30 38 60 FF FD */ li r3, -3
+/* 80301DD4 002FDA34 48 00 00 A8 */ b lbl_80301E7C
+lbl_80301DD8:
+/* 80301DD8 002FDA38 7C 83 23 78 */ mr r3, r4
+/* 80301DDC 002FDA3C 7F E4 FB 78 */ mr r4, r31
+/* 80301DE0 002FDA40 38 A0 00 00 */ li r5, 0
+/* 80301DE4 002FDA44 48 01 88 C1 */ bl func_8031A6A4
+/* 80301DE8 002FDA48 2C 03 00 00 */ cmpwi r3, 0
+/* 80301DEC 002FDA4C 90 7D 00 98 */ stw r3, 0x98(r29)
+/* 80301DF0 002FDA50 40 82 00 88 */ bne lbl_80301E78
+/* 80301DF4 002FDA54 48 01 8B ED */ bl func_8031A9E0
+/* 80301DF8 002FDA58 28 1E 01 09 */ cmplwi r30, 0x109
+/* 80301DFC 002FDA5C 40 82 00 0C */ bne lbl_80301E08
+/* 80301E00 002FDA60 38 00 00 00 */ li r0, 0
+/* 80301E04 002FDA64 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
+lbl_80301E08:
+/* 80301E08 002FDA68 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80301E0C 002FDA6C 2C 00 00 72 */ cmpwi r0, 0x72
+/* 80301E10 002FDA70 40 82 00 14 */ bne lbl_80301E24
+/* 80301E14 002FDA74 2C 03 00 02 */ cmpwi r3, 2
+/* 80301E18 002FDA78 40 82 00 0C */ bne lbl_80301E24
+/* 80301E1C 002FDA7C 38 60 FF EC */ li r3, -20
+/* 80301E20 002FDA80 48 00 00 5C */ b lbl_80301E7C
+lbl_80301E24:
+/* 80301E24 002FDA84 2C 03 00 05 */ cmpwi r3, 5
+/* 80301E28 002FDA88 40 82 00 48 */ bne lbl_80301E70
+/* 80301E2C 002FDA8C 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 80301E30 002FDA90 48 01 8B B5 */ bl func_8031A9E4
+/* 80301E34 002FDA94 2C 03 FF FB */ cmpwi r3, -5
+/* 80301E38 002FDA98 41 82 00 20 */ beq lbl_80301E58
+/* 80301E3C 002FDA9C 40 80 00 10 */ bge lbl_80301E4C
+/* 80301E40 002FDAA0 2C 03 FF F1 */ cmpwi r3, -15
+/* 80301E44 002FDAA4 41 82 00 14 */ beq lbl_80301E58
+/* 80301E48 002FDAA8 48 00 00 20 */ b lbl_80301E68
+lbl_80301E4C:
+/* 80301E4C 002FDAAC 2C 03 FF FD */ cmpwi r3, -3
+/* 80301E50 002FDAB0 40 80 00 18 */ bge lbl_80301E68
+/* 80301E54 002FDAB4 48 00 00 0C */ b lbl_80301E60
+lbl_80301E58:
+/* 80301E58 002FDAB8 38 60 FF D2 */ li r3, -46
+/* 80301E5C 002FDABC 48 00 00 20 */ b lbl_80301E7C
+lbl_80301E60:
+/* 80301E60 002FDAC0 38 60 FF DA */ li r3, -38
+/* 80301E64 002FDAC4 48 00 00 18 */ b lbl_80301E7C
+lbl_80301E68:
+/* 80301E68 002FDAC8 38 60 FF F0 */ li r3, -16
+/* 80301E6C 002FDACC 48 00 00 10 */ b lbl_80301E7C
+lbl_80301E70:
+/* 80301E70 002FDAD0 38 60 FF F0 */ li r3, -16
+/* 80301E74 002FDAD4 48 00 00 08 */ b lbl_80301E7C
+lbl_80301E78:
+/* 80301E78 002FDAD8 38 60 00 00 */ li r3, 0
+lbl_80301E7C:
+/* 80301E7C 002FDADC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80301E80 002FDAE0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80301E84 002FDAE4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80301E88 002FDAE8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80301E8C 002FDAEC 7C 08 03 A6 */ mtlr r0
+/* 80301E90 002FDAF0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80301E94 002FDAF4 4E 80 00 20 */ blr
+
+.global func_80301E98
+func_80301E98:
+/* 80301E98 002FDAF8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80301E9C 002FDAFC 7C 08 02 A6 */ mflr r0
+/* 80301EA0 002FDB00 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80301EA4 002FDB04 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80301EA8 002FDB08 3B E0 00 00 */ li r31, 0
+/* 80301EAC 002FDB0C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80301EB0 002FDB10 7C 7E 1B 78 */ mr r30, r3
+/* 80301EB4 002FDB14 80 03 00 04 */ lwz r0, 4(r3)
+/* 80301EB8 002FDB18 28 00 00 09 */ cmplwi r0, 9
+/* 80301EBC 002FDB1C 41 82 00 0C */ beq lbl_80301EC8
+/* 80301EC0 002FDB20 28 00 01 09 */ cmplwi r0, 0x109
+/* 80301EC4 002FDB24 40 82 00 18 */ bne lbl_80301EDC
+lbl_80301EC8:
+/* 80301EC8 002FDB28 7F C3 F3 78 */ mr r3, r30
+/* 80301ECC 002FDB2C 48 00 09 39 */ bl func_80302804
+/* 80301ED0 002FDB30 38 00 00 00 */ li r0, 0
+/* 80301ED4 002FDB34 7C 7F 1B 78 */ mr r31, r3
+/* 80301ED8 002FDB38 90 0D AF 7C */ stw r0, lbl_8064023C-_SDA_BASE_(r13)
+lbl_80301EDC:
+/* 80301EDC 002FDB3C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80301EE0 002FDB40 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 80301EE4 002FDB44 41 82 00 70 */ beq lbl_80301F54
+/* 80301EE8 002FDB48 80 7E 00 98 */ lwz r3, 0x98(r30)
+/* 80301EEC 002FDB4C 48 01 88 95 */ bl func_8031A780
+/* 80301EF0 002FDB50 2C 03 00 00 */ cmpwi r3, 0
+/* 80301EF4 002FDB54 41 82 00 58 */ beq lbl_80301F4C
+/* 80301EF8 002FDB58 2C 03 00 05 */ cmpwi r3, 5
+/* 80301EFC 002FDB5C 40 82 00 48 */ bne lbl_80301F44
+/* 80301F00 002FDB60 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 80301F04 002FDB64 48 01 8A E1 */ bl func_8031A9E4
+/* 80301F08 002FDB68 2C 03 FF FB */ cmpwi r3, -5
+/* 80301F0C 002FDB6C 41 82 00 20 */ beq lbl_80301F2C
+/* 80301F10 002FDB70 40 80 00 10 */ bge lbl_80301F20
+/* 80301F14 002FDB74 2C 03 FF F1 */ cmpwi r3, -15
+/* 80301F18 002FDB78 41 82 00 14 */ beq lbl_80301F2C
+/* 80301F1C 002FDB7C 48 00 00 20 */ b lbl_80301F3C
+lbl_80301F20:
+/* 80301F20 002FDB80 2C 03 FF FD */ cmpwi r3, -3
+/* 80301F24 002FDB84 40 80 00 18 */ bge lbl_80301F3C
+/* 80301F28 002FDB88 48 00 00 0C */ b lbl_80301F34
+lbl_80301F2C:
+/* 80301F2C 002FDB8C 38 60 FF D2 */ li r3, -46
+/* 80301F30 002FDB90 48 00 00 2C */ b lbl_80301F5C
+lbl_80301F34:
+/* 80301F34 002FDB94 38 60 FF DA */ li r3, -38
+/* 80301F38 002FDB98 48 00 00 24 */ b lbl_80301F5C
+lbl_80301F3C:
+/* 80301F3C 002FDB9C 38 60 FF EF */ li r3, -17
+/* 80301F40 002FDBA0 48 00 00 1C */ b lbl_80301F5C
+lbl_80301F44:
+/* 80301F44 002FDBA4 38 60 FF EF */ li r3, -17
+/* 80301F48 002FDBA8 48 00 00 14 */ b lbl_80301F5C
+lbl_80301F4C:
+/* 80301F4C 002FDBAC 38 60 00 00 */ li r3, 0
+/* 80301F50 002FDBB0 48 00 00 0C */ b lbl_80301F5C
+lbl_80301F54:
+/* 80301F54 002FDBB4 7F C3 F3 78 */ mr r3, r30
+/* 80301F58 002FDBB8 48 00 00 29 */ bl func_80301F80
+lbl_80301F5C:
+/* 80301F5C 002FDBBC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80301F60 002FDBC0 41 82 00 08 */ beq lbl_80301F68
+/* 80301F64 002FDBC4 7F E3 FB 78 */ mr r3, r31
+lbl_80301F68:
+/* 80301F68 002FDBC8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80301F6C 002FDBCC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80301F70 002FDBD0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80301F74 002FDBD4 7C 08 03 A6 */ mtlr r0
+/* 80301F78 002FDBD8 38 21 00 10 */ addi r1, r1, 0x10
+/* 80301F7C 002FDBDC 4E 80 00 20 */ blr
+
+.global func_80301F80
+func_80301F80:
+/* 80301F80 002FDBE0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80301F84 002FDBE4 7C 08 02 A6 */ mflr r0
+/* 80301F88 002FDBE8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80301F8C 002FDBEC 39 61 00 30 */ addi r11, r1, 0x30
+/* 80301F90 002FDBF0 4B EC 51 8D */ bl _savegpr_24
+/* 80301F94 002FDBF4 3B 40 00 00 */ li r26, 0
+/* 80301F98 002FDBF8 3B C0 03 E8 */ li r30, 0x3e8
+/* 80301F9C 002FDBFC 7F FA F1 D6 */ mullw r31, r26, r30
+/* 80301FA0 002FDC00 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 80301FA4 002FDC04 7C 78 1B 78 */ mr r24, r3
+/* 80301FA8 002FDC08 3B 84 4D D3 */ addi r28, r4, 0x10624DD3@l
+/* 80301FAC 002FDC0C 3B 20 00 00 */ li r25, 0
+/* 80301FB0 002FDC10 3F A0 80 00 */ lis r29, 0x8000
+lbl_80301FB4:
+/* 80301FB4 002FDC14 38 78 00 0C */ addi r3, r24, 0xc
+/* 80301FB8 002FDC18 4B FE 66 D1 */ bl NANDClose
+/* 80301FBC 002FDC1C 2C 03 FF FD */ cmpwi r3, -3
+/* 80301FC0 002FDC20 7C 7B 1B 78 */ mr r27, r3
+/* 80301FC4 002FDC24 40 82 00 30 */ bne lbl_80301FF4
+/* 80301FC8 002FDC28 80 1D 00 F8 */ lwz r0, 0xf8(r29)
+/* 80301FCC 002FDC2C 54 00 F0 BE */ srwi r0, r0, 2
+/* 80301FD0 002FDC30 7C 1C 00 16 */ mulhwu r0, r28, r0
+/* 80301FD4 002FDC34 54 03 D1 BE */ srwi r3, r0, 6
+/* 80301FD8 002FDC38 7C 03 F0 16 */ mulhwu r0, r3, r30
+/* 80301FDC 002FDC3C 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 80301FE0 002FDC40 7C 60 FA 14 */ add r3, r0, r31
+/* 80301FE4 002FDC44 4B F7 07 21 */ bl OSSleepTicks
+/* 80301FE8 002FDC48 3B 39 00 01 */ addi r25, r25, 1
+/* 80301FEC 002FDC4C 28 19 00 03 */ cmplwi r25, 3
+/* 80301FF0 002FDC50 41 80 FF C4 */ blt lbl_80301FB4
+lbl_80301FF4:
+/* 80301FF4 002FDC54 2C 1B FF FC */ cmpwi r27, -4
+/* 80301FF8 002FDC58 40 82 00 0C */ bne lbl_80302004
+/* 80301FFC 002FDC5C 3B 40 FF DA */ li r26, -38
+/* 80302000 002FDC60 48 00 00 10 */ b lbl_80302010
+lbl_80302004:
+/* 80302004 002FDC64 2C 1B 00 00 */ cmpwi r27, 0
+/* 80302008 002FDC68 41 82 00 08 */ beq lbl_80302010
+/* 8030200C 002FDC6C 3B 40 FF EF */ li r26, -17
+lbl_80302010:
+/* 80302010 002FDC70 39 61 00 30 */ addi r11, r1, 0x30
+/* 80302014 002FDC74 7F 43 D3 78 */ mr r3, r26
+/* 80302018 002FDC78 4B EC 51 51 */ bl _restgpr_24
+/* 8030201C 002FDC7C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80302020 002FDC80 7C 08 03 A6 */ mtlr r0
+/* 80302024 002FDC84 38 21 00 30 */ addi r1, r1, 0x30
+/* 80302028 002FDC88 4E 80 00 20 */ blr
+
+.global func_8030202C
+func_8030202C:
+/* 8030202C 002FDC8C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80302030 002FDC90 7C 08 02 A6 */ mflr r0
+/* 80302034 002FDC94 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80302038 002FDC98 39 61 00 30 */ addi r11, r1, 0x30
+/* 8030203C 002FDC9C 4B EC 50 DD */ bl _savegpr_23
+/* 80302040 002FDCA0 80 03 00 04 */ lwz r0, 4(r3)
+/* 80302044 002FDCA4 7C 77 1B 78 */ mr r23, r3
+/* 80302048 002FDCA8 7C 98 23 78 */ mr r24, r4
+/* 8030204C 002FDCAC 7C BF 2B 78 */ mr r31, r5
+/* 80302050 002FDCB0 28 00 00 0A */ cmplwi r0, 0xa
+/* 80302054 002FDCB4 41 82 00 0C */ beq lbl_80302060
+/* 80302058 002FDCB8 28 00 01 0A */ cmplwi r0, 0x10a
+/* 8030205C 002FDCBC 40 82 00 BC */ bne lbl_80302118
+lbl_80302060:
+/* 80302060 002FDCC0 80 03 00 04 */ lwz r0, 4(r3)
+/* 80302064 002FDCC4 54 85 D8 08 */ slwi r5, r4, 0x1b
+/* 80302068 002FDCC8 54 86 0F FE */ srwi r6, r4, 0x1f
+/* 8030206C 002FDCCC 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 80302070 002FDCD0 7C A6 28 50 */ subf r5, r6, r5
+/* 80302074 002FDCD4 54 A0 28 3E */ rotlwi r0, r5, 5
+/* 80302078 002FDCD8 7C 00 32 14 */ add r0, r0, r6
+/* 8030207C 002FDCDC 90 03 00 08 */ stw r0, 8(r3)
+/* 80302080 002FDCE0 7C 80 20 50 */ subf r4, r0, r4
+/* 80302084 002FDCE4 41 82 00 74 */ beq lbl_803020F8
+/* 80302088 002FDCE8 80 63 00 98 */ lwz r3, 0x98(r3)
+/* 8030208C 002FDCEC 7F E5 FB 78 */ mr r5, r31
+/* 80302090 002FDCF0 48 01 87 5D */ bl func_8031A7EC
+/* 80302094 002FDCF4 2C 03 00 00 */ cmpwi r3, 0
+/* 80302098 002FDCF8 41 82 00 58 */ beq lbl_803020F0
+/* 8030209C 002FDCFC 2C 03 00 05 */ cmpwi r3, 5
+/* 803020A0 002FDD00 40 82 00 48 */ bne lbl_803020E8
+/* 803020A4 002FDD04 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 803020A8 002FDD08 48 01 89 3D */ bl func_8031A9E4
+/* 803020AC 002FDD0C 2C 03 FF FB */ cmpwi r3, -5
+/* 803020B0 002FDD10 41 82 00 20 */ beq lbl_803020D0
+/* 803020B4 002FDD14 40 80 00 10 */ bge lbl_803020C4
+/* 803020B8 002FDD18 2C 03 FF F1 */ cmpwi r3, -15
+/* 803020BC 002FDD1C 41 82 00 14 */ beq lbl_803020D0
+/* 803020C0 002FDD20 48 00 00 20 */ b lbl_803020E0
+lbl_803020C4:
+/* 803020C4 002FDD24 2C 03 FF FD */ cmpwi r3, -3
+/* 803020C8 002FDD28 40 80 00 18 */ bge lbl_803020E0
+/* 803020CC 002FDD2C 48 00 00 0C */ b lbl_803020D8
+lbl_803020D0:
+/* 803020D0 002FDD30 38 60 FF D2 */ li r3, -46
+/* 803020D4 002FDD34 48 00 01 2C */ b lbl_80302200
+lbl_803020D8:
+/* 803020D8 002FDD38 38 60 FF DA */ li r3, -38
+/* 803020DC 002FDD3C 48 00 01 24 */ b lbl_80302200
+lbl_803020E0:
+/* 803020E0 002FDD40 38 60 FF EB */ li r3, -21
+/* 803020E4 002FDD44 48 00 01 1C */ b lbl_80302200
+lbl_803020E8:
+/* 803020E8 002FDD48 38 60 FF EB */ li r3, -21
+/* 803020EC 002FDD4C 48 00 01 14 */ b lbl_80302200
+lbl_803020F0:
+/* 803020F0 002FDD50 38 60 00 00 */ li r3, 0
+/* 803020F4 002FDD54 48 00 01 0C */ b lbl_80302200
+lbl_803020F8:
+/* 803020F8 002FDD58 7F E5 FB 78 */ mr r5, r31
+/* 803020FC 002FDD5C 38 63 00 0C */ addi r3, r3, 0xc
+/* 80302100 002FDD60 4B FE 59 81 */ bl NANDSeek
+/* 80302104 002FDD64 2C 03 00 00 */ cmpwi r3, 0
+/* 80302108 002FDD68 38 60 00 00 */ li r3, 0
+/* 8030210C 002FDD6C 40 80 00 F4 */ bge lbl_80302200
+/* 80302110 002FDD70 38 60 FF EB */ li r3, -21
+/* 80302114 002FDD74 48 00 00 EC */ b lbl_80302200
+lbl_80302118:
+/* 80302118 002FDD78 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 8030211C 002FDD7C 41 82 00 70 */ beq lbl_8030218C
+/* 80302120 002FDD80 80 63 00 98 */ lwz r3, 0x98(r3)
+/* 80302124 002FDD84 48 01 86 C9 */ bl func_8031A7EC
+/* 80302128 002FDD88 2C 03 00 00 */ cmpwi r3, 0
+/* 8030212C 002FDD8C 41 82 00 58 */ beq lbl_80302184
+/* 80302130 002FDD90 2C 03 00 05 */ cmpwi r3, 5
+/* 80302134 002FDD94 40 82 00 48 */ bne lbl_8030217C
+/* 80302138 002FDD98 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 8030213C 002FDD9C 48 01 88 A9 */ bl func_8031A9E4
+/* 80302140 002FDDA0 2C 03 FF FB */ cmpwi r3, -5
+/* 80302144 002FDDA4 41 82 00 20 */ beq lbl_80302164
+/* 80302148 002FDDA8 40 80 00 10 */ bge lbl_80302158
+/* 8030214C 002FDDAC 2C 03 FF F1 */ cmpwi r3, -15
+/* 80302150 002FDDB0 41 82 00 14 */ beq lbl_80302164
+/* 80302154 002FDDB4 48 00 00 20 */ b lbl_80302174
+lbl_80302158:
+/* 80302158 002FDDB8 2C 03 FF FD */ cmpwi r3, -3
+/* 8030215C 002FDDBC 40 80 00 18 */ bge lbl_80302174
+/* 80302160 002FDDC0 48 00 00 0C */ b lbl_8030216C
+lbl_80302164:
+/* 80302164 002FDDC4 38 60 FF D2 */ li r3, -46
+/* 80302168 002FDDC8 48 00 00 98 */ b lbl_80302200
+lbl_8030216C:
+/* 8030216C 002FDDCC 38 60 FF DA */ li r3, -38
+/* 80302170 002FDDD0 48 00 00 90 */ b lbl_80302200
+lbl_80302174:
+/* 80302174 002FDDD4 38 60 FF EB */ li r3, -21
+/* 80302178 002FDDD8 48 00 00 88 */ b lbl_80302200
+lbl_8030217C:
+/* 8030217C 002FDDDC 38 60 FF EB */ li r3, -21
+/* 80302180 002FDDE0 48 00 00 80 */ b lbl_80302200
+lbl_80302184:
+/* 80302184 002FDDE4 38 60 00 00 */ li r3, 0
+/* 80302188 002FDDE8 48 00 00 78 */ b lbl_80302200
+lbl_8030218C:
+/* 8030218C 002FDDEC 3B 20 00 00 */ li r25, 0
+/* 80302190 002FDDF0 3B A0 03 E8 */ li r29, 0x3e8
+/* 80302194 002FDDF4 7F D9 E9 D6 */ mullw r30, r25, r29
+/* 80302198 002FDDF8 3C 60 10 62 */ lis r3, 0x10624DD3@ha
+/* 8030219C 002FDDFC 3F 80 80 00 */ lis r28, 0x8000
+/* 803021A0 002FDE00 3B 63 4D D3 */ addi r27, r3, 0x10624DD3@l
+lbl_803021A4:
+/* 803021A4 002FDE04 7F 04 C3 78 */ mr r4, r24
+/* 803021A8 002FDE08 7F E5 FB 78 */ mr r5, r31
+/* 803021AC 002FDE0C 38 77 00 0C */ addi r3, r23, 0xc
+/* 803021B0 002FDE10 4B FE 58 D1 */ bl NANDSeek
+/* 803021B4 002FDE14 2C 03 FF FD */ cmpwi r3, -3
+/* 803021B8 002FDE18 7C 7A 1B 78 */ mr r26, r3
+/* 803021BC 002FDE1C 40 82 00 30 */ bne lbl_803021EC
+/* 803021C0 002FDE20 80 1C 00 F8 */ lwz r0, 0xf8(r28)
+/* 803021C4 002FDE24 54 00 F0 BE */ srwi r0, r0, 2
+/* 803021C8 002FDE28 7C 1B 00 16 */ mulhwu r0, r27, r0
+/* 803021CC 002FDE2C 54 03 D1 BE */ srwi r3, r0, 6
+/* 803021D0 002FDE30 7C 03 E8 16 */ mulhwu r0, r3, r29
+/* 803021D4 002FDE34 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 803021D8 002FDE38 7C 60 F2 14 */ add r3, r0, r30
+/* 803021DC 002FDE3C 4B F7 05 29 */ bl OSSleepTicks
+/* 803021E0 002FDE40 3B 39 00 01 */ addi r25, r25, 1
+/* 803021E4 002FDE44 28 19 00 03 */ cmplwi r25, 3
+/* 803021E8 002FDE48 41 80 FF BC */ blt lbl_803021A4
+lbl_803021EC:
+/* 803021EC 002FDE4C 2C 1A 00 00 */ cmpwi r26, 0
+/* 803021F0 002FDE50 40 80 00 0C */ bge lbl_803021FC
+/* 803021F4 002FDE54 38 60 FF EB */ li r3, -21
+/* 803021F8 002FDE58 48 00 00 08 */ b lbl_80302200
+lbl_803021FC:
+/* 803021FC 002FDE5C 38 60 00 00 */ li r3, 0
+lbl_80302200:
+/* 80302200 002FDE60 39 61 00 30 */ addi r11, r1, 0x30
+/* 80302204 002FDE64 4B EC 4F 61 */ bl _restgpr_23
+/* 80302208 002FDE68 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030220C 002FDE6C 7C 08 03 A6 */ mtlr r0
+/* 80302210 002FDE70 38 21 00 30 */ addi r1, r1, 0x30
+/* 80302214 002FDE74 4E 80 00 20 */ blr
+
+.global func_80302218
+func_80302218:
+/* 80302218 002FDE78 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8030221C 002FDE7C 7C 08 02 A6 */ mflr r0
+/* 80302220 002FDE80 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80302224 002FDE84 39 61 00 30 */ addi r11, r1, 0x30
+/* 80302228 002FDE88 4B EC 4E F1 */ bl _savegpr_23
+/* 8030222C 002FDE8C 80 05 00 04 */ lwz r0, 4(r5)
+/* 80302230 002FDE90 7C 77 1B 78 */ mr r23, r3
+/* 80302234 002FDE94 7C 98 23 78 */ mr r24, r4
+/* 80302238 002FDE98 7C B9 2B 78 */ mr r25, r5
+/* 8030223C 002FDE9C 2C 00 00 0A */ cmpwi r0, 0xa
+/* 80302240 002FDEA0 41 82 00 40 */ beq lbl_80302280
+/* 80302244 002FDEA4 40 80 00 1C */ bge lbl_80302260
+/* 80302248 002FDEA8 2C 00 00 01 */ cmpwi r0, 1
+/* 8030224C 002FDEAC 41 82 00 2C */ beq lbl_80302278
+/* 80302250 002FDEB0 41 80 00 44 */ blt lbl_80302294
+/* 80302254 002FDEB4 2C 00 00 09 */ cmpwi r0, 9
+/* 80302258 002FDEB8 40 80 00 20 */ bge lbl_80302278
+/* 8030225C 002FDEBC 48 00 00 38 */ b lbl_80302294
+lbl_80302260:
+/* 80302260 002FDEC0 2C 00 01 0A */ cmpwi r0, 0x10a
+/* 80302264 002FDEC4 41 82 00 1C */ beq lbl_80302280
+/* 80302268 002FDEC8 40 80 00 2C */ bge lbl_80302294
+/* 8030226C 002FDECC 2C 00 01 01 */ cmpwi r0, 0x101
+/* 80302270 002FDED0 41 82 00 08 */ beq lbl_80302278
+/* 80302274 002FDED4 48 00 00 20 */ b lbl_80302294
+lbl_80302278:
+/* 80302278 002FDED8 38 60 FF F9 */ li r3, -7
+/* 8030227C 002FDEDC 48 00 01 50 */ b lbl_803023CC
+lbl_80302280:
+/* 80302280 002FDEE0 7E E3 BB 78 */ mr r3, r23
+/* 80302284 002FDEE4 7F 04 C3 78 */ mr r4, r24
+/* 80302288 002FDEE8 7F 25 CB 78 */ mr r5, r25
+/* 8030228C 002FDEEC 48 00 06 E5 */ bl func_80302970
+/* 80302290 002FDEF0 48 00 01 3C */ b lbl_803023CC
+lbl_80302294:
+/* 80302294 002FDEF4 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 80302298 002FDEF8 41 82 00 7C */ beq lbl_80302314
+/* 8030229C 002FDEFC 80 65 00 98 */ lwz r3, 0x98(r5)
+/* 803022A0 002FDF00 7E E4 BB 78 */ mr r4, r23
+/* 803022A4 002FDF04 7F 05 C3 78 */ mr r5, r24
+/* 803022A8 002FDF08 38 C0 00 00 */ li r6, 0
+/* 803022AC 002FDF0C 48 01 85 CD */ bl func_8031A878
+/* 803022B0 002FDF10 2C 03 00 00 */ cmpwi r3, 0
+/* 803022B4 002FDF14 41 82 00 58 */ beq lbl_8030230C
+/* 803022B8 002FDF18 2C 03 00 05 */ cmpwi r3, 5
+/* 803022BC 002FDF1C 40 82 00 48 */ bne lbl_80302304
+/* 803022C0 002FDF20 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 803022C4 002FDF24 48 01 87 21 */ bl func_8031A9E4
+/* 803022C8 002FDF28 2C 03 FF FB */ cmpwi r3, -5
+/* 803022CC 002FDF2C 41 82 00 20 */ beq lbl_803022EC
+/* 803022D0 002FDF30 40 80 00 10 */ bge lbl_803022E0
+/* 803022D4 002FDF34 2C 03 FF F1 */ cmpwi r3, -15
+/* 803022D8 002FDF38 41 82 00 14 */ beq lbl_803022EC
+/* 803022DC 002FDF3C 48 00 00 20 */ b lbl_803022FC
+lbl_803022E0:
+/* 803022E0 002FDF40 2C 03 FF FD */ cmpwi r3, -3
+/* 803022E4 002FDF44 40 80 00 18 */ bge lbl_803022FC
+/* 803022E8 002FDF48 48 00 00 0C */ b lbl_803022F4
+lbl_803022EC:
+/* 803022EC 002FDF4C 38 60 FF D2 */ li r3, -46
+/* 803022F0 002FDF50 48 00 00 DC */ b lbl_803023CC
+lbl_803022F4:
+/* 803022F4 002FDF54 38 60 FF DA */ li r3, -38
+/* 803022F8 002FDF58 48 00 00 D4 */ b lbl_803023CC
+lbl_803022FC:
+/* 803022FC 002FDF5C 38 60 FF EE */ li r3, -18
+/* 80302300 002FDF60 48 00 00 CC */ b lbl_803023CC
+lbl_80302304:
+/* 80302304 002FDF64 38 60 FF EE */ li r3, -18
+/* 80302308 002FDF68 48 00 00 C4 */ b lbl_803023CC
+lbl_8030230C:
+/* 8030230C 002FDF6C 38 60 00 00 */ li r3, 0
+/* 80302310 002FDF70 48 00 00 BC */ b lbl_803023CC
+lbl_80302314:
+/* 80302314 002FDF74 3B 40 00 00 */ li r26, 0
+/* 80302318 002FDF78 3B C0 03 E8 */ li r30, 0x3e8
+/* 8030231C 002FDF7C 7F FA F1 D6 */ mullw r31, r26, r30
+/* 80302320 002FDF80 3C 60 10 62 */ lis r3, 0x10624DD3@ha
+/* 80302324 002FDF84 3F A0 80 00 */ lis r29, 0x8000
+/* 80302328 002FDF88 3B 83 4D D3 */ addi r28, r3, 0x10624DD3@l
+lbl_8030232C:
+/* 8030232C 002FDF8C 7E E4 BB 78 */ mr r4, r23
+/* 80302330 002FDF90 7F 05 C3 78 */ mr r5, r24
+/* 80302334 002FDF94 38 79 00 0C */ addi r3, r25, 0xc
+/* 80302338 002FDF98 4B FE 55 89 */ bl NANDRead
+/* 8030233C 002FDF9C 2C 03 FF FD */ cmpwi r3, -3
+/* 80302340 002FDFA0 7C 7B 1B 78 */ mr r27, r3
+/* 80302344 002FDFA4 40 82 00 30 */ bne lbl_80302374
+/* 80302348 002FDFA8 80 1D 00 F8 */ lwz r0, 0xf8(r29)
+/* 8030234C 002FDFAC 54 00 F0 BE */ srwi r0, r0, 2
+/* 80302350 002FDFB0 7C 1C 00 16 */ mulhwu r0, r28, r0
+/* 80302354 002FDFB4 54 03 D1 BE */ srwi r3, r0, 6
+/* 80302358 002FDFB8 7C 03 F0 16 */ mulhwu r0, r3, r30
+/* 8030235C 002FDFBC 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 80302360 002FDFC0 7C 60 FA 14 */ add r3, r0, r31
+/* 80302364 002FDFC4 4B F7 03 A1 */ bl OSSleepTicks
+/* 80302368 002FDFC8 3B 5A 00 01 */ addi r26, r26, 1
+/* 8030236C 002FDFCC 28 1A 00 03 */ cmplwi r26, 3
+/* 80302370 002FDFD0 41 80 FF BC */ blt lbl_8030232C
+lbl_80302374:
+/* 80302374 002FDFD4 2C 1B FF FC */ cmpwi r27, -4
+/* 80302378 002FDFD8 40 82 00 0C */ bne lbl_80302384
+/* 8030237C 002FDFDC 38 60 FF DA */ li r3, -38
+/* 80302380 002FDFE0 48 00 00 4C */ b lbl_803023CC
+lbl_80302384:
+/* 80302384 002FDFE4 2C 1B 00 00 */ cmpwi r27, 0
+/* 80302388 002FDFE8 40 80 00 40 */ bge lbl_803023C8
+/* 8030238C 002FDFEC 2C 1B FF FB */ cmpwi r27, -5
+/* 80302390 002FDFF0 41 82 00 20 */ beq lbl_803023B0
+/* 80302394 002FDFF4 40 80 00 10 */ bge lbl_803023A4
+/* 80302398 002FDFF8 2C 1B FF F1 */ cmpwi r27, -15
+/* 8030239C 002FDFFC 41 82 00 14 */ beq lbl_803023B0
+/* 803023A0 002FE000 48 00 00 20 */ b lbl_803023C0
+lbl_803023A4:
+/* 803023A4 002FE004 2C 1B FF FD */ cmpwi r27, -3
+/* 803023A8 002FE008 40 80 00 18 */ bge lbl_803023C0
+/* 803023AC 002FE00C 48 00 00 0C */ b lbl_803023B8
+lbl_803023B0:
+/* 803023B0 002FE010 38 60 FF D2 */ li r3, -46
+/* 803023B4 002FE014 48 00 00 18 */ b lbl_803023CC
+lbl_803023B8:
+/* 803023B8 002FE018 38 60 FF DA */ li r3, -38
+/* 803023BC 002FE01C 48 00 00 10 */ b lbl_803023CC
+lbl_803023C0:
+/* 803023C0 002FE020 38 60 FF EE */ li r3, -18
+/* 803023C4 002FE024 48 00 00 08 */ b lbl_803023CC
+lbl_803023C8:
+/* 803023C8 002FE028 38 60 00 00 */ li r3, 0
+lbl_803023CC:
+/* 803023CC 002FE02C 39 61 00 30 */ addi r11, r1, 0x30
+/* 803023D0 002FE030 4B EC 4D 95 */ bl _restgpr_23
+/* 803023D4 002FE034 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803023D8 002FE038 7C 08 03 A6 */ mtlr r0
+/* 803023DC 002FE03C 38 21 00 30 */ addi r1, r1, 0x30
+/* 803023E0 002FE040 4E 80 00 20 */ blr
+
+.global func_803023E4
+func_803023E4:
+/* 803023E4 002FE044 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803023E8 002FE048 7C 08 02 A6 */ mflr r0
+/* 803023EC 002FE04C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803023F0 002FE050 39 61 00 30 */ addi r11, r1, 0x30
+/* 803023F4 002FE054 4B EC 4D 25 */ bl _savegpr_23
+/* 803023F8 002FE058 80 05 00 04 */ lwz r0, 4(r5)
+/* 803023FC 002FE05C 7C 77 1B 78 */ mr r23, r3
+/* 80302400 002FE060 7C 98 23 78 */ mr r24, r4
+/* 80302404 002FE064 7C B9 2B 78 */ mr r25, r5
+/* 80302408 002FE068 2C 00 00 0A */ cmpwi r0, 0xa
+/* 8030240C 002FE06C 41 82 00 4C */ beq lbl_80302458
+/* 80302410 002FE070 40 80 00 1C */ bge lbl_8030242C
+/* 80302414 002FE074 2C 00 00 02 */ cmpwi r0, 2
+/* 80302418 002FE078 41 82 00 40 */ beq lbl_80302458
+/* 8030241C 002FE07C 41 80 00 44 */ blt lbl_80302460
+/* 80302420 002FE080 2C 00 00 09 */ cmpwi r0, 9
+/* 80302424 002FE084 40 80 00 20 */ bge lbl_80302444
+/* 80302428 002FE088 48 00 00 38 */ b lbl_80302460
+lbl_8030242C:
+/* 8030242C 002FE08C 2C 00 01 09 */ cmpwi r0, 0x109
+/* 80302430 002FE090 41 82 00 14 */ beq lbl_80302444
+/* 80302434 002FE094 40 80 00 2C */ bge lbl_80302460
+/* 80302438 002FE098 2C 00 01 02 */ cmpwi r0, 0x102
+/* 8030243C 002FE09C 41 82 00 1C */ beq lbl_80302458
+/* 80302440 002FE0A0 48 00 00 20 */ b lbl_80302460
+lbl_80302444:
+/* 80302444 002FE0A4 7E E3 BB 78 */ mr r3, r23
+/* 80302448 002FE0A8 7F 04 C3 78 */ mr r4, r24
+/* 8030244C 002FE0AC 7F 25 CB 78 */ mr r5, r25
+/* 80302450 002FE0B0 48 00 02 25 */ bl func_80302674
+/* 80302454 002FE0B4 48 00 01 4C */ b lbl_803025A0
+lbl_80302458:
+/* 80302458 002FE0B8 38 60 FF F9 */ li r3, -7
+/* 8030245C 002FE0BC 48 00 01 44 */ b lbl_803025A0
+lbl_80302460:
+/* 80302460 002FE0C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 80302464 002FE0C4 41 82 00 78 */ beq lbl_803024DC
+/* 80302468 002FE0C8 80 65 00 98 */ lwz r3, 0x98(r5)
+/* 8030246C 002FE0CC 7E E4 BB 78 */ mr r4, r23
+/* 80302470 002FE0D0 7F 05 C3 78 */ mr r5, r24
+/* 80302474 002FE0D4 48 01 84 A1 */ bl func_8031A914
+/* 80302478 002FE0D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030247C 002FE0DC 41 82 00 58 */ beq lbl_803024D4
+/* 80302480 002FE0E0 2C 03 00 05 */ cmpwi r3, 5
+/* 80302484 002FE0E4 40 82 00 48 */ bne lbl_803024CC
+/* 80302488 002FE0E8 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 8030248C 002FE0EC 48 01 85 59 */ bl func_8031A9E4
+/* 80302490 002FE0F0 2C 03 FF FB */ cmpwi r3, -5
+/* 80302494 002FE0F4 41 82 00 20 */ beq lbl_803024B4
+/* 80302498 002FE0F8 40 80 00 10 */ bge lbl_803024A8
+/* 8030249C 002FE0FC 2C 03 FF F1 */ cmpwi r3, -15
+/* 803024A0 002FE100 41 82 00 14 */ beq lbl_803024B4
+/* 803024A4 002FE104 48 00 00 20 */ b lbl_803024C4
+lbl_803024A8:
+/* 803024A8 002FE108 2C 03 FF FD */ cmpwi r3, -3
+/* 803024AC 002FE10C 40 80 00 18 */ bge lbl_803024C4
+/* 803024B0 002FE110 48 00 00 0C */ b lbl_803024BC
+lbl_803024B4:
+/* 803024B4 002FE114 38 60 FF D2 */ li r3, -46
+/* 803024B8 002FE118 48 00 00 E8 */ b lbl_803025A0
+lbl_803024BC:
+/* 803024BC 002FE11C 38 60 FF DA */ li r3, -38
+/* 803024C0 002FE120 48 00 00 E0 */ b lbl_803025A0
+lbl_803024C4:
+/* 803024C4 002FE124 38 60 FF ED */ li r3, -19
+/* 803024C8 002FE128 48 00 00 D8 */ b lbl_803025A0
+lbl_803024CC:
+/* 803024CC 002FE12C 38 60 FF ED */ li r3, -19
+/* 803024D0 002FE130 48 00 00 D0 */ b lbl_803025A0
+lbl_803024D4:
+/* 803024D4 002FE134 38 60 00 00 */ li r3, 0
+/* 803024D8 002FE138 48 00 00 C8 */ b lbl_803025A0
+lbl_803024DC:
+/* 803024DC 002FE13C 3B 40 00 00 */ li r26, 0
+/* 803024E0 002FE140 3B C0 03 E8 */ li r30, 0x3e8
+/* 803024E4 002FE144 7F FA F1 D6 */ mullw r31, r26, r30
+/* 803024E8 002FE148 3C 60 10 62 */ lis r3, 0x10624DD3@ha
+/* 803024EC 002FE14C 3F A0 80 00 */ lis r29, 0x8000
+/* 803024F0 002FE150 3B 83 4D D3 */ addi r28, r3, 0x10624DD3@l
+lbl_803024F4:
+/* 803024F4 002FE154 7E E4 BB 78 */ mr r4, r23
+/* 803024F8 002FE158 7F 05 C3 78 */ mr r5, r24
+/* 803024FC 002FE15C 38 79 00 0C */ addi r3, r25, 0xc
+/* 80302500 002FE160 4B FE 54 A1 */ bl NANDWrite
+/* 80302504 002FE164 2C 03 FF FD */ cmpwi r3, -3
+/* 80302508 002FE168 7C 7B 1B 78 */ mr r27, r3
+/* 8030250C 002FE16C 40 82 00 30 */ bne lbl_8030253C
+/* 80302510 002FE170 80 1D 00 F8 */ lwz r0, 0xf8(r29)
+/* 80302514 002FE174 54 00 F0 BE */ srwi r0, r0, 2
+/* 80302518 002FE178 7C 1C 00 16 */ mulhwu r0, r28, r0
+/* 8030251C 002FE17C 54 03 D1 BE */ srwi r3, r0, 6
+/* 80302520 002FE180 7C 03 F0 16 */ mulhwu r0, r3, r30
+/* 80302524 002FE184 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 80302528 002FE188 7C 60 FA 14 */ add r3, r0, r31
+/* 8030252C 002FE18C 4B F7 01 D9 */ bl OSSleepTicks
+/* 80302530 002FE190 3B 5A 00 01 */ addi r26, r26, 1
+/* 80302534 002FE194 28 1A 00 03 */ cmplwi r26, 3
+/* 80302538 002FE198 41 80 FF BC */ blt lbl_803024F4
+lbl_8030253C:
+/* 8030253C 002FE19C 2C 1B FF FC */ cmpwi r27, -4
+/* 80302540 002FE1A0 40 82 00 0C */ bne lbl_8030254C
+/* 80302544 002FE1A4 38 60 FF DA */ li r3, -38
+/* 80302548 002FE1A8 48 00 00 58 */ b lbl_803025A0
+lbl_8030254C:
+/* 8030254C 002FE1AC 2C 1B 00 00 */ cmpwi r27, 0
+/* 80302550 002FE1B0 40 80 00 40 */ bge lbl_80302590
+/* 80302554 002FE1B4 2C 1B FF FB */ cmpwi r27, -5
+/* 80302558 002FE1B8 41 82 00 20 */ beq lbl_80302578
+/* 8030255C 002FE1BC 40 80 00 10 */ bge lbl_8030256C
+/* 80302560 002FE1C0 2C 1B FF F1 */ cmpwi r27, -15
+/* 80302564 002FE1C4 41 82 00 14 */ beq lbl_80302578
+/* 80302568 002FE1C8 48 00 00 20 */ b lbl_80302588
+lbl_8030256C:
+/* 8030256C 002FE1CC 2C 1B FF FD */ cmpwi r27, -3
+/* 80302570 002FE1D0 40 80 00 18 */ bge lbl_80302588
+/* 80302574 002FE1D4 48 00 00 0C */ b lbl_80302580
+lbl_80302578:
+/* 80302578 002FE1D8 38 60 FF D2 */ li r3, -46
+/* 8030257C 002FE1DC 48 00 00 24 */ b lbl_803025A0
+lbl_80302580:
+/* 80302580 002FE1E0 38 60 FF DA */ li r3, -38
+/* 80302584 002FE1E4 48 00 00 1C */ b lbl_803025A0
+lbl_80302588:
+/* 80302588 002FE1E8 38 60 FF ED */ li r3, -19
+/* 8030258C 002FE1EC 48 00 00 14 */ b lbl_803025A0
+lbl_80302590:
+/* 80302590 002FE1F0 7C 1B C0 00 */ cmpw r27, r24
+/* 80302594 002FE1F4 38 60 00 00 */ li r3, 0
+/* 80302598 002FE1F8 41 82 00 08 */ beq lbl_803025A0
+/* 8030259C 002FE1FC 38 60 FF ED */ li r3, -19
+lbl_803025A0:
+/* 803025A0 002FE200 39 61 00 30 */ addi r11, r1, 0x30
+/* 803025A4 002FE204 4B EC 4B C1 */ bl _restgpr_23
+/* 803025A8 002FE208 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803025AC 002FE20C 7C 08 03 A6 */ mtlr r0
+/* 803025B0 002FE210 38 21 00 30 */ addi r1, r1, 0x30
+/* 803025B4 002FE214 4E 80 00 20 */ blr
+
+.global func_803025B8
+func_803025B8:
+/* 803025B8 002FE218 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803025BC 002FE21C 7C 08 02 A6 */ mflr r0
+/* 803025C0 002FE220 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803025C4 002FE224 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803025C8 002FE228 7C 9F 23 78 */ mr r31, r4
+/* 803025CC 002FE22C 80 03 00 04 */ lwz r0, 4(r3)
+/* 803025D0 002FE230 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 803025D4 002FE234 41 82 00 74 */ beq lbl_80302648
+/* 803025D8 002FE238 80 63 00 98 */ lwz r3, 0x98(r3)
+/* 803025DC 002FE23C 48 01 83 C5 */ bl func_8031A9A0
+/* 803025E0 002FE240 2C 03 00 00 */ cmpwi r3, 0
+/* 803025E4 002FE244 40 80 00 58 */ bge lbl_8030263C
+/* 803025E8 002FE248 2C 03 00 05 */ cmpwi r3, 5
+/* 803025EC 002FE24C 40 82 00 48 */ bne lbl_80302634
+/* 803025F0 002FE250 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 803025F4 002FE254 48 01 83 F1 */ bl func_8031A9E4
+/* 803025F8 002FE258 2C 03 FF FB */ cmpwi r3, -5
+/* 803025FC 002FE25C 41 82 00 20 */ beq lbl_8030261C
+/* 80302600 002FE260 40 80 00 10 */ bge lbl_80302610
+/* 80302604 002FE264 2C 03 FF F1 */ cmpwi r3, -15
+/* 80302608 002FE268 41 82 00 14 */ beq lbl_8030261C
+/* 8030260C 002FE26C 48 00 00 20 */ b lbl_8030262C
+lbl_80302610:
+/* 80302610 002FE270 2C 03 FF FD */ cmpwi r3, -3
+/* 80302614 002FE274 40 80 00 18 */ bge lbl_8030262C
+/* 80302618 002FE278 48 00 00 0C */ b lbl_80302624
+lbl_8030261C:
+/* 8030261C 002FE27C 38 60 FF D2 */ li r3, -46
+/* 80302620 002FE280 48 00 00 40 */ b lbl_80302660
+lbl_80302624:
+/* 80302624 002FE284 38 60 FF DA */ li r3, -38
+/* 80302628 002FE288 48 00 00 38 */ b lbl_80302660
+lbl_8030262C:
+/* 8030262C 002FE28C 38 60 FF EB */ li r3, -21
+/* 80302630 002FE290 48 00 00 30 */ b lbl_80302660
+lbl_80302634:
+/* 80302634 002FE294 38 60 FF EB */ li r3, -21
+/* 80302638 002FE298 48 00 00 28 */ b lbl_80302660
+lbl_8030263C:
+/* 8030263C 002FE29C 90 7F 00 00 */ stw r3, 0(r31)
+/* 80302640 002FE2A0 38 60 00 00 */ li r3, 0
+/* 80302644 002FE2A4 48 00 00 1C */ b lbl_80302660
+lbl_80302648:
+/* 80302648 002FE2A8 38 63 00 0C */ addi r3, r3, 0xc
+/* 8030264C 002FE2AC 4B FE 58 81 */ bl NANDGetLength
+/* 80302650 002FE2B0 2C 03 00 00 */ cmpwi r3, 0
+/* 80302654 002FE2B4 38 60 00 00 */ li r3, 0
+/* 80302658 002FE2B8 41 82 00 08 */ beq lbl_80302660
+/* 8030265C 002FE2BC 38 60 FF EB */ li r3, -21
+lbl_80302660:
+/* 80302660 002FE2C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80302664 002FE2C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80302668 002FE2C8 7C 08 03 A6 */ mtlr r0
+/* 8030266C 002FE2CC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80302670 002FE2D0 4E 80 00 20 */ blr
+
+.global func_80302674
+func_80302674:
+/* 80302674 002FE2D4 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80302678 002FE2D8 7C 08 02 A6 */ mflr r0
+/* 8030267C 002FE2DC 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80302680 002FE2E0 39 61 00 40 */ addi r11, r1, 0x40
+/* 80302684 002FE2E4 4B EC 4A 81 */ bl _savegpr_18
+/* 80302688 002FE2E8 80 CD AF 90 */ lwz r6, lbl_80640250-_SDA_BASE_(r13)
+/* 8030268C 002FE2EC 7C 7B 1B 78 */ mr r27, r3
+/* 80302690 002FE2F0 83 A5 00 08 */ lwz r29, 8(r5)
+/* 80302694 002FE2F4 7C 9E 23 78 */ mr r30, r4
+/* 80302698 002FE2F8 7C B7 2B 78 */ mr r23, r5
+/* 8030269C 002FE2FC 3B 86 0B 00 */ addi r28, r6, 0xb00
+/* 803026A0 002FE300 3B 20 00 00 */ li r25, 0
+/* 803026A4 002FE304 3E 40 80 00 */ lis r18, 0x8000
+/* 803026A8 002FE308 3E 60 10 62 */ lis r19, 0x1062
+/* 803026AC 002FE30C 3A 80 00 00 */ li r20, 0
+/* 803026B0 002FE310 3A A0 03 E8 */ li r21, 0x3e8
+/* 803026B4 002FE314 48 00 01 28 */ b lbl_803027DC
+lbl_803026B8:
+/* 803026B8 002FE318 22 DD 02 00 */ subfic r22, r29, 0x200
+/* 803026BC 002FE31C 7C 1E B0 40 */ cmplw r30, r22
+/* 803026C0 002FE320 40 80 00 08 */ bge lbl_803026C8
+/* 803026C4 002FE324 7F D6 F3 78 */ mr r22, r30
+lbl_803026C8:
+/* 803026C8 002FE328 7F 64 DB 78 */ mr r4, r27
+/* 803026CC 002FE32C 7E C5 B3 78 */ mr r5, r22
+/* 803026D0 002FE330 7C 7C EA 14 */ add r3, r28, r29
+/* 803026D4 002FE334 4B D0 19 2D */ bl memcpy
+/* 803026D8 002FE338 7F BD B2 14 */ add r29, r29, r22
+/* 803026DC 002FE33C 7F D6 F0 50 */ subf r30, r22, r30
+/* 803026E0 002FE340 28 1D 02 00 */ cmplwi r29, 0x200
+/* 803026E4 002FE344 7F 7B B2 14 */ add r27, r27, r22
+/* 803026E8 002FE348 41 80 00 F4 */ blt lbl_803027DC
+/* 803026EC 002FE34C 80 17 00 04 */ lwz r0, 4(r23)
+/* 803026F0 002FE350 3B A0 00 00 */ li r29, 0
+/* 803026F4 002FE354 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 803026F8 002FE358 41 82 00 70 */ beq lbl_80302768
+/* 803026FC 002FE35C 80 77 00 98 */ lwz r3, 0x98(r23)
+/* 80302700 002FE360 7F 84 E3 78 */ mr r4, r28
+/* 80302704 002FE364 38 A0 02 00 */ li r5, 0x200
+/* 80302708 002FE368 48 01 82 0D */ bl func_8031A914
+/* 8030270C 002FE36C 2C 03 00 00 */ cmpwi r3, 0
+/* 80302710 002FE370 41 82 00 CC */ beq lbl_803027DC
+/* 80302714 002FE374 2C 03 00 05 */ cmpwi r3, 5
+/* 80302718 002FE378 40 82 00 48 */ bne lbl_80302760
+/* 8030271C 002FE37C 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 80302720 002FE380 48 01 82 C5 */ bl func_8031A9E4
+/* 80302724 002FE384 2C 03 FF FB */ cmpwi r3, -5
+/* 80302728 002FE388 41 82 00 20 */ beq lbl_80302748
+/* 8030272C 002FE38C 40 80 00 10 */ bge lbl_8030273C
+/* 80302730 002FE390 2C 03 FF F1 */ cmpwi r3, -15
+/* 80302734 002FE394 41 82 00 14 */ beq lbl_80302748
+/* 80302738 002FE398 48 00 00 20 */ b lbl_80302758
+lbl_8030273C:
+/* 8030273C 002FE39C 2C 03 FF FD */ cmpwi r3, -3
+/* 80302740 002FE3A0 40 80 00 18 */ bge lbl_80302758
+/* 80302744 002FE3A4 48 00 00 0C */ b lbl_80302750
+lbl_80302748:
+/* 80302748 002FE3A8 3B 20 FF D2 */ li r25, -46
+/* 8030274C 002FE3AC 48 00 00 98 */ b lbl_803027E4
+lbl_80302750:
+/* 80302750 002FE3B0 3B 20 FF DA */ li r25, -38
+/* 80302754 002FE3B4 48 00 00 90 */ b lbl_803027E4
+lbl_80302758:
+/* 80302758 002FE3B8 3B 20 FF ED */ li r25, -19
+/* 8030275C 002FE3BC 48 00 00 88 */ b lbl_803027E4
+lbl_80302760:
+/* 80302760 002FE3C0 3B 20 FF ED */ li r25, -19
+/* 80302764 002FE3C4 48 00 00 80 */ b lbl_803027E4
+lbl_80302768:
+/* 80302768 002FE3C8 7E D4 A9 D6 */ mullw r22, r20, r21
+/* 8030276C 002FE3CC 3B F3 4D D3 */ addi r31, r19, 0x4dd3
+/* 80302770 002FE3D0 3B 00 00 00 */ li r24, 0
+lbl_80302774:
+/* 80302774 002FE3D4 7F 84 E3 78 */ mr r4, r28
+/* 80302778 002FE3D8 38 77 00 0C */ addi r3, r23, 0xc
+/* 8030277C 002FE3DC 38 A0 02 00 */ li r5, 0x200
+/* 80302780 002FE3E0 4B FE 52 21 */ bl NANDWrite
+/* 80302784 002FE3E4 2C 03 FF FD */ cmpwi r3, -3
+/* 80302788 002FE3E8 7C 7A 1B 78 */ mr r26, r3
+/* 8030278C 002FE3EC 40 82 00 30 */ bne lbl_803027BC
+/* 80302790 002FE3F0 80 12 00 F8 */ lwz r0, 0xf8(r18)
+/* 80302794 002FE3F4 54 00 F0 BE */ srwi r0, r0, 2
+/* 80302798 002FE3F8 7C 1F 00 16 */ mulhwu r0, r31, r0
+/* 8030279C 002FE3FC 54 03 D1 BE */ srwi r3, r0, 6
+/* 803027A0 002FE400 7C 03 A8 16 */ mulhwu r0, r3, r21
+/* 803027A4 002FE404 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 803027A8 002FE408 7C 60 B2 14 */ add r3, r0, r22
+/* 803027AC 002FE40C 4B F6 FF 59 */ bl OSSleepTicks
+/* 803027B0 002FE410 3B 18 00 01 */ addi r24, r24, 1
+/* 803027B4 002FE414 28 18 00 03 */ cmplwi r24, 3
+/* 803027B8 002FE418 41 80 FF BC */ blt lbl_80302774
+lbl_803027BC:
+/* 803027BC 002FE41C 2C 1A FF FC */ cmpwi r26, -4
+/* 803027C0 002FE420 40 82 00 0C */ bne lbl_803027CC
+/* 803027C4 002FE424 38 60 FF DA */ li r3, -38
+/* 803027C8 002FE428 48 00 00 24 */ b lbl_803027EC
+lbl_803027CC:
+/* 803027CC 002FE42C 2C 1A 02 00 */ cmpwi r26, 0x200
+/* 803027D0 002FE430 41 82 00 0C */ beq lbl_803027DC
+/* 803027D4 002FE434 3B 20 FF ED */ li r25, -19
+/* 803027D8 002FE438 48 00 00 0C */ b lbl_803027E4
+lbl_803027DC:
+/* 803027DC 002FE43C 2C 1E 00 00 */ cmpwi r30, 0
+/* 803027E0 002FE440 40 82 FE D8 */ bne lbl_803026B8
+lbl_803027E4:
+/* 803027E4 002FE444 93 B7 00 08 */ stw r29, 8(r23)
+/* 803027E8 002FE448 7F 23 CB 78 */ mr r3, r25
+lbl_803027EC:
+/* 803027EC 002FE44C 39 61 00 40 */ addi r11, r1, 0x40
+/* 803027F0 002FE450 4B EC 49 61 */ bl _restgpr_18
+/* 803027F4 002FE454 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 803027F8 002FE458 7C 08 03 A6 */ mtlr r0
+/* 803027FC 002FE45C 38 21 00 40 */ addi r1, r1, 0x40
+/* 80302800 002FE460 4E 80 00 20 */ blr
+
+.global func_80302804
+func_80302804:
+/* 80302804 002FE464 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80302808 002FE468 7C 08 02 A6 */ mflr r0
+/* 8030280C 002FE46C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80302810 002FE470 39 61 00 30 */ addi r11, r1, 0x30
+/* 80302814 002FE474 4B EC 49 01 */ bl _savegpr_22
+/* 80302818 002FE478 83 E3 00 08 */ lwz r31, 8(r3)
+/* 8030281C 002FE47C 7C 7C 1B 78 */ mr r28, r3
+/* 80302820 002FE480 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 80302824 002FE484 3B A0 00 00 */ li r29, 0
+/* 80302828 002FE488 2C 1F 00 00 */ cmpwi r31, 0
+/* 8030282C 002FE48C 3B C4 0B 00 */ addi r30, r4, 0xb00
+/* 80302830 002FE490 40 82 00 0C */ bne lbl_8030283C
+/* 80302834 002FE494 38 60 00 00 */ li r3, 0
+/* 80302838 002FE498 48 00 01 20 */ b lbl_80302958
+lbl_8030283C:
+/* 8030283C 002FE49C 7C 9E FA 14 */ add r4, r30, r31
+/* 80302840 002FE4A0 38 A0 00 00 */ li r5, 0
+/* 80302844 002FE4A4 48 00 00 10 */ b lbl_80302854
+lbl_80302848:
+/* 80302848 002FE4A8 98 A4 00 00 */ stb r5, 0(r4)
+/* 8030284C 002FE4AC 3B FF 00 01 */ addi r31, r31, 1
+/* 80302850 002FE4B0 38 84 00 01 */ addi r4, r4, 1
+lbl_80302854:
+/* 80302854 002FE4B4 57 E0 06 FF */ clrlwi. r0, r31, 0x1b
+/* 80302858 002FE4B8 40 82 FF F0 */ bne lbl_80302848
+/* 8030285C 002FE4BC 80 03 00 04 */ lwz r0, 4(r3)
+/* 80302860 002FE4C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 80302864 002FE4C4 41 82 00 74 */ beq lbl_803028D8
+/* 80302868 002FE4C8 80 63 00 98 */ lwz r3, 0x98(r3)
+/* 8030286C 002FE4CC 7F C4 F3 78 */ mr r4, r30
+/* 80302870 002FE4D0 7F E5 FB 78 */ mr r5, r31
+/* 80302874 002FE4D4 48 01 80 A1 */ bl func_8031A914
+/* 80302878 002FE4D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030287C 002FE4DC 41 82 00 54 */ beq lbl_803028D0
+/* 80302880 002FE4E0 2C 03 00 05 */ cmpwi r3, 5
+/* 80302884 002FE4E4 40 82 00 48 */ bne lbl_803028CC
+/* 80302888 002FE4E8 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 8030288C 002FE4EC 48 01 81 59 */ bl func_8031A9E4
+/* 80302890 002FE4F0 2C 03 FF FB */ cmpwi r3, -5
+/* 80302894 002FE4F4 41 82 00 20 */ beq lbl_803028B4
+/* 80302898 002FE4F8 40 80 00 10 */ bge lbl_803028A8
+/* 8030289C 002FE4FC 2C 03 FF F1 */ cmpwi r3, -15
+/* 803028A0 002FE500 41 82 00 14 */ beq lbl_803028B4
+/* 803028A4 002FE504 48 00 00 20 */ b lbl_803028C4
+lbl_803028A8:
+/* 803028A8 002FE508 2C 03 FF FD */ cmpwi r3, -3
+/* 803028AC 002FE50C 40 80 00 18 */ bge lbl_803028C4
+/* 803028B0 002FE510 48 00 00 0C */ b lbl_803028BC
+lbl_803028B4:
+/* 803028B4 002FE514 3B A0 FF D2 */ li r29, -46
+/* 803028B8 002FE518 48 00 00 18 */ b lbl_803028D0
+lbl_803028BC:
+/* 803028BC 002FE51C 3B A0 FF DA */ li r29, -38
+/* 803028C0 002FE520 48 00 00 10 */ b lbl_803028D0
+lbl_803028C4:
+/* 803028C4 002FE524 3B A0 FF ED */ li r29, -19
+/* 803028C8 002FE528 48 00 00 08 */ b lbl_803028D0
+lbl_803028CC:
+/* 803028CC 002FE52C 3B A0 FF ED */ li r29, -19
+lbl_803028D0:
+/* 803028D0 002FE530 7F A3 EB 78 */ mr r3, r29
+/* 803028D4 002FE534 48 00 00 84 */ b lbl_80302958
+lbl_803028D8:
+/* 803028D8 002FE538 3A C0 00 00 */ li r22, 0
+/* 803028DC 002FE53C 3B 40 03 E8 */ li r26, 0x3e8
+/* 803028E0 002FE540 7F 76 D1 D6 */ mullw r27, r22, r26
+/* 803028E4 002FE544 3C 60 10 62 */ lis r3, 0x10624DD3@ha
+/* 803028E8 002FE548 3F 20 80 00 */ lis r25, 0x8000
+/* 803028EC 002FE54C 3B 03 4D D3 */ addi r24, r3, 0x10624DD3@l
+lbl_803028F0:
+/* 803028F0 002FE550 7F C4 F3 78 */ mr r4, r30
+/* 803028F4 002FE554 7F E5 FB 78 */ mr r5, r31
+/* 803028F8 002FE558 38 7C 00 0C */ addi r3, r28, 0xc
+/* 803028FC 002FE55C 4B FE 50 A5 */ bl NANDWrite
+/* 80302900 002FE560 2C 03 FF FD */ cmpwi r3, -3
+/* 80302904 002FE564 7C 77 1B 78 */ mr r23, r3
+/* 80302908 002FE568 40 82 00 30 */ bne lbl_80302938
+/* 8030290C 002FE56C 80 19 00 F8 */ lwz r0, 0xf8(r25)
+/* 80302910 002FE570 54 00 F0 BE */ srwi r0, r0, 2
+/* 80302914 002FE574 7C 18 00 16 */ mulhwu r0, r24, r0
+/* 80302918 002FE578 54 03 D1 BE */ srwi r3, r0, 6
+/* 8030291C 002FE57C 7C 03 D0 16 */ mulhwu r0, r3, r26
+/* 80302920 002FE580 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 80302924 002FE584 7C 60 DA 14 */ add r3, r0, r27
+/* 80302928 002FE588 4B F6 FD DD */ bl OSSleepTicks
+/* 8030292C 002FE58C 3A D6 00 01 */ addi r22, r22, 1
+/* 80302930 002FE590 28 16 00 03 */ cmplwi r22, 3
+/* 80302934 002FE594 41 80 FF BC */ blt lbl_803028F0
+lbl_80302938:
+/* 80302938 002FE598 2C 17 FF FC */ cmpwi r23, -4
+/* 8030293C 002FE59C 40 82 00 0C */ bne lbl_80302948
+/* 80302940 002FE5A0 38 60 FF DA */ li r3, -38
+/* 80302944 002FE5A4 48 00 00 14 */ b lbl_80302958
+lbl_80302948:
+/* 80302948 002FE5A8 7C 17 F8 40 */ cmplw r23, r31
+/* 8030294C 002FE5AC 41 82 00 08 */ beq lbl_80302954
+/* 80302950 002FE5B0 3B A0 FF ED */ li r29, -19
+lbl_80302954:
+/* 80302954 002FE5B4 7F A3 EB 78 */ mr r3, r29
+lbl_80302958:
+/* 80302958 002FE5B8 39 61 00 30 */ addi r11, r1, 0x30
+/* 8030295C 002FE5BC 4B EC 48 05 */ bl _restgpr_22
+/* 80302960 002FE5C0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80302964 002FE5C4 7C 08 03 A6 */ mtlr r0
+/* 80302968 002FE5C8 38 21 00 30 */ addi r1, r1, 0x30
+/* 8030296C 002FE5CC 4E 80 00 20 */ blr
+
+.global func_80302970
+func_80302970:
+/* 80302970 002FE5D0 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 80302974 002FE5D4 7C 08 02 A6 */ mflr r0
+/* 80302978 002FE5D8 90 01 00 64 */ stw r0, 0x64(r1)
+/* 8030297C 002FE5DC 39 61 00 60 */ addi r11, r1, 0x60
+/* 80302980 002FE5E0 4B EC 47 79 */ bl _savegpr_15
+/* 80302984 002FE5E4 80 0D AF 78 */ lwz r0, lbl_80640238-_SDA_BASE_(r13)
+/* 80302988 002FE5E8 7C 8F 23 78 */ mr r15, r4
+/* 8030298C 002FE5EC 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 80302990 002FE5F0 7C 73 1B 78 */ mr r19, r3
+/* 80302994 002FE5F4 2C 00 00 00 */ cmpwi r0, 0
+/* 80302998 002FE5F8 7C B0 2B 78 */ mr r16, r5
+/* 8030299C 002FE5FC 7D F9 7B 78 */ mr r25, r15
+/* 803029A0 002FE600 3A 84 09 00 */ addi r20, r4, 0x900
+/* 803029A4 002FE604 3A 40 00 00 */ li r18, 0
+/* 803029A8 002FE608 41 82 00 0C */ beq lbl_803029B4
+/* 803029AC 002FE60C 38 60 FF EA */ li r3, -22
+/* 803029B0 002FE610 48 00 01 90 */ b lbl_80302B40
+lbl_803029B4:
+/* 803029B4 002FE614 80 05 00 00 */ lwz r0, 0(r5)
+/* 803029B8 002FE618 90 0D AF 78 */ stw r0, lbl_80640238-_SDA_BASE_(r13)
+/* 803029BC 002FE61C 82 A5 00 08 */ lwz r21, 8(r5)
+/* 803029C0 002FE620 56 A0 00 01 */ rlwinm. r0, r21, 0, 0, 0
+/* 803029C4 002FE624 41 82 00 0C */ beq lbl_803029D0
+/* 803029C8 002FE628 38 60 FF D8 */ li r3, -40
+/* 803029CC 002FE62C 48 00 01 74 */ b lbl_80302B40
+lbl_803029D0:
+/* 803029D0 002FE630 3F 60 80 00 */ lis r27, 0x8000
+/* 803029D4 002FE634 3F 80 10 62 */ lis r28, 0x1062
+/* 803029D8 002FE638 3B A0 00 00 */ li r29, 0
+/* 803029DC 002FE63C 3B C0 03 E8 */ li r30, 0x3e8
+/* 803029E0 002FE640 48 00 01 38 */ b lbl_80302B18
+lbl_803029E4:
+/* 803029E4 002FE644 22 F5 02 00 */ subfic r23, r21, 0x200
+/* 803029E8 002FE648 3B 00 02 00 */ li r24, 0x200
+/* 803029EC 002FE64C 7C 19 B8 40 */ cmplw r25, r23
+/* 803029F0 002FE650 40 80 00 14 */ bge lbl_80302A04
+/* 803029F4 002FE654 7C 79 AA 14 */ add r3, r25, r21
+/* 803029F8 002FE658 7F 37 CB 78 */ mr r23, r25
+/* 803029FC 002FE65C 38 03 00 1F */ addi r0, r3, 0x1f
+/* 80302A00 002FE660 54 18 00 34 */ rlwinm r24, r0, 0, 0, 0x1a
+lbl_80302A04:
+/* 80302A04 002FE664 80 10 00 04 */ lwz r0, 4(r16)
+/* 80302A08 002FE668 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 80302A0C 002FE66C 41 82 00 7C */ beq lbl_80302A88
+/* 80302A10 002FE670 80 70 00 98 */ lwz r3, 0x98(r16)
+/* 80302A14 002FE674 7E 84 A3 78 */ mr r4, r20
+/* 80302A18 002FE678 7F 05 C3 78 */ mr r5, r24
+/* 80302A1C 002FE67C 38 C1 00 08 */ addi r6, r1, 8
+/* 80302A20 002FE680 48 01 7E 59 */ bl func_8031A878
+/* 80302A24 002FE684 2C 03 00 00 */ cmpwi r3, 0
+/* 80302A28 002FE688 41 82 00 58 */ beq lbl_80302A80
+/* 80302A2C 002FE68C 2C 03 00 05 */ cmpwi r3, 5
+/* 80302A30 002FE690 40 82 00 48 */ bne lbl_80302A78
+/* 80302A34 002FE694 38 6D 8C 88 */ addi r3, r13, lbl_8063DF48-_SDA_BASE_
+/* 80302A38 002FE698 48 01 7F AD */ bl func_8031A9E4
+/* 80302A3C 002FE69C 2C 03 FF FB */ cmpwi r3, -5
+/* 80302A40 002FE6A0 41 82 00 20 */ beq lbl_80302A60
+/* 80302A44 002FE6A4 40 80 00 10 */ bge lbl_80302A54
+/* 80302A48 002FE6A8 2C 03 FF F1 */ cmpwi r3, -15
+/* 80302A4C 002FE6AC 41 82 00 14 */ beq lbl_80302A60
+/* 80302A50 002FE6B0 48 00 00 20 */ b lbl_80302A70
+lbl_80302A54:
+/* 80302A54 002FE6B4 2C 03 FF FD */ cmpwi r3, -3
+/* 80302A58 002FE6B8 40 80 00 18 */ bge lbl_80302A70
+/* 80302A5C 002FE6BC 48 00 00 0C */ b lbl_80302A68
+lbl_80302A60:
+/* 80302A60 002FE6C0 3A 40 FF D2 */ li r18, -46
+/* 80302A64 002FE6C4 48 00 00 BC */ b lbl_80302B20
+lbl_80302A68:
+/* 80302A68 002FE6C8 3A 40 FF DA */ li r18, -38
+/* 80302A6C 002FE6CC 48 00 00 B4 */ b lbl_80302B20
+lbl_80302A70:
+/* 80302A70 002FE6D0 3A 40 FF EE */ li r18, -18
+/* 80302A74 002FE6D4 48 00 00 AC */ b lbl_80302B20
+lbl_80302A78:
+/* 80302A78 002FE6D8 3A 40 FF EE */ li r18, -18
+/* 80302A7C 002FE6DC 48 00 00 A4 */ b lbl_80302B20
+lbl_80302A80:
+/* 80302A80 002FE6E0 82 C1 00 08 */ lwz r22, 8(r1)
+/* 80302A84 002FE6E4 48 00 00 68 */ b lbl_80302AEC
+lbl_80302A88:
+/* 80302A88 002FE6E8 7F FD F1 D6 */ mullw r31, r29, r30
+/* 80302A8C 002FE6EC 3B 5C 4D D3 */ addi r26, r28, 0x4dd3
+/* 80302A90 002FE6F0 3A 20 00 00 */ li r17, 0
+lbl_80302A94:
+/* 80302A94 002FE6F4 7E 84 A3 78 */ mr r4, r20
+/* 80302A98 002FE6F8 7F 05 C3 78 */ mr r5, r24
+/* 80302A9C 002FE6FC 38 70 00 0C */ addi r3, r16, 0xc
+/* 80302AA0 002FE700 4B FE 4E 21 */ bl NANDRead
+/* 80302AA4 002FE704 2C 03 FF FD */ cmpwi r3, -3
+/* 80302AA8 002FE708 7C 76 1B 78 */ mr r22, r3
+/* 80302AAC 002FE70C 40 82 00 30 */ bne lbl_80302ADC
+/* 80302AB0 002FE710 80 1B 00 F8 */ lwz r0, 0xf8(r27)
+/* 80302AB4 002FE714 54 00 F0 BE */ srwi r0, r0, 2
+/* 80302AB8 002FE718 7C 1A 00 16 */ mulhwu r0, r26, r0
+/* 80302ABC 002FE71C 54 03 D1 BE */ srwi r3, r0, 6
+/* 80302AC0 002FE720 7C 03 F0 16 */ mulhwu r0, r3, r30
+/* 80302AC4 002FE724 1C 83 03 E8 */ mulli r4, r3, 0x3e8
+/* 80302AC8 002FE728 7C 60 FA 14 */ add r3, r0, r31
+/* 80302ACC 002FE72C 4B F6 FC 39 */ bl OSSleepTicks
+/* 80302AD0 002FE730 3A 31 00 01 */ addi r17, r17, 1
+/* 80302AD4 002FE734 28 11 00 03 */ cmplwi r17, 3
+/* 80302AD8 002FE738 41 80 FF BC */ blt lbl_80302A94
+lbl_80302ADC:
+/* 80302ADC 002FE73C 2C 16 FF FC */ cmpwi r22, -4
+/* 80302AE0 002FE740 40 82 00 0C */ bne lbl_80302AEC
+/* 80302AE4 002FE744 38 60 FF DA */ li r3, -38
+/* 80302AE8 002FE748 48 00 00 58 */ b lbl_80302B40
+lbl_80302AEC:
+/* 80302AEC 002FE74C 7C 16 C0 40 */ cmplw r22, r24
+/* 80302AF0 002FE750 41 82 00 0C */ beq lbl_80302AFC
+/* 80302AF4 002FE754 3A 40 FF EE */ li r18, -18
+/* 80302AF8 002FE758 48 00 00 28 */ b lbl_80302B20
+lbl_80302AFC:
+/* 80302AFC 002FE75C 7E 63 9B 78 */ mr r3, r19
+/* 80302B00 002FE760 7E E5 BB 78 */ mr r5, r23
+/* 80302B04 002FE764 7C 94 AA 14 */ add r4, r20, r21
+/* 80302B08 002FE768 4B D0 14 F9 */ bl memcpy
+/* 80302B0C 002FE76C 7E 73 BA 14 */ add r19, r19, r23
+/* 80302B10 002FE770 7F 37 C8 50 */ subf r25, r23, r25
+/* 80302B14 002FE774 3A A0 00 00 */ li r21, 0
+lbl_80302B18:
+/* 80302B18 002FE778 2C 19 00 00 */ cmpwi r25, 0
+/* 80302B1C 002FE77C 40 82 FE C8 */ bne lbl_803029E4
+lbl_80302B20:
+/* 80302B20 002FE780 80 90 00 08 */ lwz r4, 8(r16)
+/* 80302B24 002FE784 38 00 00 00 */ li r0, 0
+/* 80302B28 002FE788 7E 43 93 78 */ mr r3, r18
+/* 80302B2C 002FE78C 7C 84 7A 14 */ add r4, r4, r15
+/* 80302B30 002FE790 54 84 06 FE */ clrlwi r4, r4, 0x1b
+/* 80302B34 002FE794 64 84 80 00 */ oris r4, r4, 0x8000
+/* 80302B38 002FE798 90 90 00 08 */ stw r4, 8(r16)
+/* 80302B3C 002FE79C 90 0D AF 78 */ stw r0, lbl_80640238-_SDA_BASE_(r13)
+lbl_80302B40:
+/* 80302B40 002FE7A0 39 61 00 60 */ addi r11, r1, 0x60
+/* 80302B44 002FE7A4 4B EC 46 01 */ bl _restgpr_15
+/* 80302B48 002FE7A8 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 80302B4C 002FE7AC 7C 08 03 A6 */ mtlr r0
+/* 80302B50 002FE7B0 38 21 00 60 */ addi r1, r1, 0x60
+/* 80302B54 002FE7B4 4E 80 00 20 */ blr
+
+.global func_80302B58
+func_80302B58:
+/* 80302B58 002FE7B8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80302B5C 002FE7BC 7C 08 02 A6 */ mflr r0
+/* 80302B60 002FE7C0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80302B64 002FE7C4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80302B68 002FE7C8 3B E0 00 00 */ li r31, 0
+/* 80302B6C 002FE7CC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80302B70 002FE7D0 7C 7E 1B 78 */ mr r30, r3
+/* 80302B74 002FE7D4 48 00 07 71 */ bl func_803032E4
+/* 80302B78 002FE7D8 2C 03 00 00 */ cmpwi r3, 0
+/* 80302B7C 002FE7DC 40 82 00 10 */ bne lbl_80302B8C
+/* 80302B80 002FE7E0 48 00 07 79 */ bl func_803032F8
+/* 80302B84 002FE7E4 2C 03 00 00 */ cmpwi r3, 0
+/* 80302B88 002FE7E8 41 82 00 1C */ beq lbl_80302BA4
+lbl_80302B8C:
+/* 80302B8C 002FE7EC 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
+/* 80302B90 002FE7F0 80 03 00 08 */ lwz r0, 8(r3)
+/* 80302B94 002FE7F4 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 80302B98 002FE7F8 90 7E 00 04 */ stw r3, 4(r30)
+/* 80302B9C 002FE7FC 90 1E 00 00 */ stw r0, 0(r30)
+/* 80302BA0 002FE800 48 00 00 B0 */ b lbl_80302C50
+lbl_80302BA4:
+/* 80302BA4 002FE804 48 00 0E 51 */ bl func_803039F4
+/* 80302BA8 002FE808 2C 03 00 00 */ cmpwi r3, 0
+/* 80302BAC 002FE80C 40 80 00 08 */ bge lbl_80302BB4
+/* 80302BB0 002FE810 48 00 00 A4 */ b lbl_80302C54
+lbl_80302BB4:
+/* 80302BB4 002FE814 38 60 00 01 */ li r3, 1
+/* 80302BB8 002FE818 48 00 07 55 */ bl func_8030330C
+/* 80302BBC 002FE81C 2C 03 00 00 */ cmpwi r3, 0
+/* 80302BC0 002FE820 40 80 00 08 */ bge lbl_80302BC8
+/* 80302BC4 002FE824 48 00 00 5C */ b lbl_80302C20
+lbl_80302BC8:
+/* 80302BC8 002FE828 38 00 00 00 */ li r0, 0
+/* 80302BCC 002FE82C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80302BD0 002FE830 90 01 00 08 */ stw r0, 8(r1)
+/* 80302BD4 002FE834 40 82 00 0C */ bne lbl_80302BE0
+/* 80302BD8 002FE838 3B E0 FF FD */ li r31, -3
+/* 80302BDC 002FE83C 48 00 00 2C */ b lbl_80302C08
+lbl_80302BE0:
+/* 80302BE0 002FE840 3C 60 6F C1 */ lis r3, 0x6FC0FFFF@ha
+/* 80302BE4 002FE844 3C 80 00 24 */ lis r4, 0x002386F2@ha
+/* 80302BE8 002FE848 38 A3 FF FF */ addi r5, r3, 0x6FC0FFFF@l
+/* 80302BEC 002FE84C 38 04 86 F2 */ addi r0, r4, 0x002386F2@l
+/* 80302BF0 002FE850 90 BE 00 04 */ stw r5, 4(r30)
+/* 80302BF4 002FE854 7F C3 F3 78 */ mr r3, r30
+/* 80302BF8 002FE858 38 81 00 08 */ addi r4, r1, 8
+/* 80302BFC 002FE85C 90 1E 00 00 */ stw r0, 0(r30)
+/* 80302C00 002FE860 48 00 0F B5 */ bl func_80303BB4
+/* 80302C04 002FE864 7C 7F 1B 78 */ mr r31, r3
+lbl_80302C08:
+/* 80302C08 002FE868 38 60 00 00 */ li r3, 0
+/* 80302C0C 002FE86C 48 00 07 01 */ bl func_8030330C
+/* 80302C10 002FE870 2C 1F 00 00 */ cmpwi r31, 0
+/* 80302C14 002FE874 41 80 00 08 */ blt lbl_80302C1C
+/* 80302C18 002FE878 7C 7F 1B 78 */ mr r31, r3
+lbl_80302C1C:
+/* 80302C1C 002FE87C 7F E3 FB 78 */ mr r3, r31
+lbl_80302C20:
+/* 80302C20 002FE880 38 03 00 24 */ addi r0, r3, 0x24
+/* 80302C24 002FE884 7C 7F 1B 78 */ mr r31, r3
+/* 80302C28 002FE888 28 00 00 01 */ cmplwi r0, 1
+/* 80302C2C 002FE88C 41 81 00 08 */ bgt lbl_80302C34
+/* 80302C30 002FE890 3B E0 00 00 */ li r31, 0
+lbl_80302C34:
+/* 80302C34 002FE894 48 00 0E 91 */ bl func_80303AC4
+/* 80302C38 002FE898 2C 03 00 00 */ cmpwi r3, 0
+/* 80302C3C 002FE89C 40 80 00 14 */ bge lbl_80302C50
+/* 80302C40 002FE8A0 2C 1F 00 00 */ cmpwi r31, 0
+/* 80302C44 002FE8A4 41 82 00 08 */ beq lbl_80302C4C
+/* 80302C48 002FE8A8 7F E3 FB 78 */ mr r3, r31
+lbl_80302C4C:
+/* 80302C4C 002FE8AC 7C 7F 1B 78 */ mr r31, r3
+lbl_80302C50:
+/* 80302C50 002FE8B0 7F E3 FB 78 */ mr r3, r31
+lbl_80302C54:
+/* 80302C54 002FE8B4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80302C58 002FE8B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80302C5C 002FE8BC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80302C60 002FE8C0 7C 08 03 A6 */ mtlr r0
+/* 80302C64 002FE8C4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80302C68 002FE8C8 4E 80 00 20 */ blr
+
+.global func_80302C6C
+func_80302C6C:
+/* 80302C6C 002FE8CC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80302C70 002FE8D0 38 00 00 00 */ li r0, 0
+/* 80302C74 002FE8D4 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
+/* 80302C78 002FE8D8 38 03 0D 00 */ addi r0, r3, 0xd00
+/* 80302C7C 002FE8DC 90 0D AF 88 */ stw r0, lbl_80640248-_SDA_BASE_(r13)
+/* 80302C80 002FE8E0 48 00 00 04 */ b lbl_80302C84
+lbl_80302C84:
+/* 80302C84 002FE8E4 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 80302C88 002FE8E8 7C 08 02 A6 */ mflr r0
+/* 80302C8C 002FE8EC 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 80302C90 002FE8F0 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 80302C94 002FE8F4 80 0D AF 90 */ lwz r0, lbl_80640250-_SDA_BASE_(r13)
+/* 80302C98 002FE8F8 2C 00 00 00 */ cmpwi r0, 0
+/* 80302C9C 002FE8FC 40 82 00 0C */ bne lbl_80302CA8
+/* 80302CA0 002FE900 38 60 FF F7 */ li r3, -9
+/* 80302CA4 002FE904 48 00 00 C0 */ b lbl_80302D64
+lbl_80302CA8:
+/* 80302CA8 002FE908 80 8D 8C 94 */ lwz r4, lbl_8063DF54-_SDA_BASE_(r13)
+/* 80302CAC 002FE90C 38 61 00 08 */ addi r3, r1, 8
+/* 80302CB0 002FE910 38 A0 00 02 */ li r5, 2
+/* 80302CB4 002FE914 4B FF EE 95 */ bl func_80301B48
+/* 80302CB8 002FE918 2C 03 00 00 */ cmpwi r3, 0
+/* 80302CBC 002FE91C 40 82 00 2C */ bne lbl_80302CE8
+/* 80302CC0 002FE920 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
+/* 80302CC4 002FE924 38 A1 00 08 */ addi r5, r1, 8
+/* 80302CC8 002FE928 38 80 04 00 */ li r4, 0x400
+/* 80302CCC 002FE92C 4B FF F5 4D */ bl func_80302218
+/* 80302CD0 002FE930 7C 7F 1B 78 */ mr r31, r3
+/* 80302CD4 002FE934 38 61 00 08 */ addi r3, r1, 8
+/* 80302CD8 002FE938 4B FF F1 C1 */ bl func_80301E98
+/* 80302CDC 002FE93C 2C 1F 00 00 */ cmpwi r31, 0
+/* 80302CE0 002FE940 41 82 00 08 */ beq lbl_80302CE8
+/* 80302CE4 002FE944 7F E3 FB 78 */ mr r3, r31
+lbl_80302CE8:
+/* 80302CE8 002FE948 2C 03 00 00 */ cmpwi r3, 0
+/* 80302CEC 002FE94C 40 82 00 1C */ bne lbl_80302D08
+/* 80302CF0 002FE950 48 00 02 79 */ bl func_80302F68
+/* 80302CF4 002FE954 2C 03 00 00 */ cmpwi r3, 0
+/* 80302CF8 002FE958 40 82 00 10 */ bne lbl_80302D08
+/* 80302CFC 002FE95C 38 00 00 00 */ li r0, 0
+/* 80302D00 002FE960 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
+/* 80302D04 002FE964 48 00 00 60 */ b lbl_80302D64
+lbl_80302D08:
+/* 80302D08 002FE968 80 8D 8C 98 */ lwz r4, lbl_8063DF58-_SDA_BASE_(r13)
+/* 80302D0C 002FE96C 38 61 00 08 */ addi r3, r1, 8
+/* 80302D10 002FE970 38 A0 00 02 */ li r5, 2
+/* 80302D14 002FE974 4B FF EE 35 */ bl func_80301B48
+/* 80302D18 002FE978 2C 03 00 00 */ cmpwi r3, 0
+/* 80302D1C 002FE97C 40 82 00 2C */ bne lbl_80302D48
+/* 80302D20 002FE980 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
+/* 80302D24 002FE984 38 A1 00 08 */ addi r5, r1, 8
+/* 80302D28 002FE988 38 80 04 00 */ li r4, 0x400
+/* 80302D2C 002FE98C 4B FF F4 ED */ bl func_80302218
+/* 80302D30 002FE990 7C 7F 1B 78 */ mr r31, r3
+/* 80302D34 002FE994 38 61 00 08 */ addi r3, r1, 8
+/* 80302D38 002FE998 4B FF F1 61 */ bl func_80301E98
+/* 80302D3C 002FE99C 2C 1F 00 00 */ cmpwi r31, 0
+/* 80302D40 002FE9A0 41 82 00 08 */ beq lbl_80302D48
+/* 80302D44 002FE9A4 7F E3 FB 78 */ mr r3, r31
+lbl_80302D48:
+/* 80302D48 002FE9A8 2C 03 00 00 */ cmpwi r3, 0
+/* 80302D4C 002FE9AC 40 82 00 18 */ bne lbl_80302D64
+/* 80302D50 002FE9B0 48 00 02 19 */ bl func_80302F68
+/* 80302D54 002FE9B4 2C 03 00 00 */ cmpwi r3, 0
+/* 80302D58 002FE9B8 40 82 00 0C */ bne lbl_80302D64
+/* 80302D5C 002FE9BC 38 00 00 01 */ li r0, 1
+/* 80302D60 002FE9C0 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
+lbl_80302D64:
+/* 80302D64 002FE9C4 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80302D68 002FE9C8 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80302D6C 002FE9CC 7C 08 03 A6 */ mtlr r0
+/* 80302D70 002FE9D0 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80302D74 002FE9D4 4E 80 00 20 */ blr
+
+.global func_80302D78
+func_80302D78:
+/* 80302D78 002FE9D8 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 80302D7C 002FE9DC 7C 08 02 A6 */ mflr r0
+/* 80302D80 002FE9E0 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 80302D84 002FE9E4 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 80302D88 002FE9E8 80 0D AF 90 */ lwz r0, lbl_80640250-_SDA_BASE_(r13)
+/* 80302D8C 002FE9EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80302D90 002FE9F0 40 82 00 0C */ bne lbl_80302D9C
+/* 80302D94 002FE9F4 38 60 FF F7 */ li r3, -9
+/* 80302D98 002FE9F8 48 00 01 4C */ b lbl_80302EE4
+lbl_80302D9C:
+/* 80302D9C 002FE9FC 80 0D AF 8C */ lwz r0, lbl_8064024C-_SDA_BASE_(r13)
+/* 80302DA0 002FEA00 2C 00 00 00 */ cmpwi r0, 0
+/* 80302DA4 002FEA04 40 82 00 0C */ bne lbl_80302DB0
+/* 80302DA8 002FEA08 38 60 00 00 */ li r3, 0
+/* 80302DAC 002FEA0C 48 00 01 38 */ b lbl_80302EE4
+lbl_80302DB0:
+/* 80302DB0 002FEA10 81 0D AF 88 */ lwz r8, lbl_80640248-_SDA_BASE_(r13)
+/* 80302DB4 002FEA14 38 00 00 1F */ li r0, 0x1f
+/* 80302DB8 002FEA18 38 E0 00 00 */ li r7, 0
+/* 80302DBC 002FEA1C 7D 06 43 78 */ mr r6, r8
+/* 80302DC0 002FEA20 7C 09 03 A6 */ mtctr r0
+lbl_80302DC4:
+/* 80302DC4 002FEA24 80 66 00 00 */ lwz r3, 0(r6)
+/* 80302DC8 002FEA28 80 06 00 04 */ lwz r0, 4(r6)
+/* 80302DCC 002FEA2C 7C E7 1A 14 */ add r7, r7, r3
+/* 80302DD0 002FEA30 80 66 00 08 */ lwz r3, 8(r6)
+/* 80302DD4 002FEA34 7C E7 02 14 */ add r7, r7, r0
+/* 80302DD8 002FEA38 80 06 00 0C */ lwz r0, 0xc(r6)
+/* 80302DDC 002FEA3C 7C E7 1A 14 */ add r7, r7, r3
+/* 80302DE0 002FEA40 80 66 00 10 */ lwz r3, 0x10(r6)
+/* 80302DE4 002FEA44 7C E7 02 14 */ add r7, r7, r0
+/* 80302DE8 002FEA48 80 06 00 14 */ lwz r0, 0x14(r6)
+/* 80302DEC 002FEA4C 7C E7 1A 14 */ add r7, r7, r3
+/* 80302DF0 002FEA50 80 66 00 18 */ lwz r3, 0x18(r6)
+/* 80302DF4 002FEA54 7C E7 02 14 */ add r7, r7, r0
+/* 80302DF8 002FEA58 80 06 00 1C */ lwz r0, 0x1c(r6)
+/* 80302DFC 002FEA5C 7C E7 1A 14 */ add r7, r7, r3
+/* 80302E00 002FEA60 38 C6 00 20 */ addi r6, r6, 0x20
+/* 80302E04 002FEA64 7C E7 02 14 */ add r7, r7, r0
+/* 80302E08 002FEA68 42 00 FF BC */ bdnz lbl_80302DC4
+/* 80302E0C 002FEA6C 80 06 00 00 */ lwz r0, 0(r6)
+/* 80302E10 002FEA70 38 61 00 08 */ addi r3, r1, 8
+/* 80302E14 002FEA74 80 86 00 04 */ lwz r4, 4(r6)
+/* 80302E18 002FEA78 38 A0 00 01 */ li r5, 1
+/* 80302E1C 002FEA7C 7C E7 02 14 */ add r7, r7, r0
+/* 80302E20 002FEA80 80 06 00 08 */ lwz r0, 8(r6)
+/* 80302E24 002FEA84 7C E7 22 14 */ add r7, r7, r4
+/* 80302E28 002FEA88 80 86 00 0C */ lwz r4, 0xc(r6)
+/* 80302E2C 002FEA8C 7C E7 02 14 */ add r7, r7, r0
+/* 80302E30 002FEA90 80 06 00 10 */ lwz r0, 0x10(r6)
+/* 80302E34 002FEA94 7C E7 22 14 */ add r7, r7, r4
+/* 80302E38 002FEA98 80 86 00 14 */ lwz r4, 0x14(r6)
+/* 80302E3C 002FEA9C 7C E7 02 14 */ add r7, r7, r0
+/* 80302E40 002FEAA0 80 06 00 18 */ lwz r0, 0x18(r6)
+/* 80302E44 002FEAA4 7C E7 22 14 */ add r7, r7, r4
+/* 80302E48 002FEAA8 7C E7 02 14 */ add r7, r7, r0
+/* 80302E4C 002FEAAC 90 E8 03 FC */ stw r7, 0x3fc(r8)
+/* 80302E50 002FEAB0 80 8D 8C 94 */ lwz r4, lbl_8063DF54-_SDA_BASE_(r13)
+/* 80302E54 002FEAB4 4B FF EC F5 */ bl func_80301B48
+/* 80302E58 002FEAB8 2C 03 00 00 */ cmpwi r3, 0
+/* 80302E5C 002FEABC 40 82 00 34 */ bne lbl_80302E90
+/* 80302E60 002FEAC0 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
+/* 80302E64 002FEAC4 38 A1 00 08 */ addi r5, r1, 8
+/* 80302E68 002FEAC8 38 80 04 00 */ li r4, 0x400
+/* 80302E6C 002FEACC 4B FF F5 79 */ bl func_803023E4
+/* 80302E70 002FEAD0 7C 7F 1B 78 */ mr r31, r3
+/* 80302E74 002FEAD4 38 61 00 08 */ addi r3, r1, 8
+/* 80302E78 002FEAD8 4B FF F0 21 */ bl func_80301E98
+/* 80302E7C 002FEADC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80302E80 002FEAE0 41 82 00 08 */ beq lbl_80302E88
+/* 80302E84 002FEAE4 7F E3 FB 78 */ mr r3, r31
+lbl_80302E88:
+/* 80302E88 002FEAE8 38 00 00 00 */ li r0, 0
+/* 80302E8C 002FEAEC 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
+lbl_80302E90:
+/* 80302E90 002FEAF0 2C 03 00 00 */ cmpwi r3, 0
+/* 80302E94 002FEAF4 41 82 00 08 */ beq lbl_80302E9C
+/* 80302E98 002FEAF8 48 00 00 4C */ b lbl_80302EE4
+lbl_80302E9C:
+/* 80302E9C 002FEAFC 80 8D 8C 98 */ lwz r4, lbl_8063DF58-_SDA_BASE_(r13)
+/* 80302EA0 002FEB00 38 61 00 08 */ addi r3, r1, 8
+/* 80302EA4 002FEB04 38 A0 00 01 */ li r5, 1
+/* 80302EA8 002FEB08 4B FF EC A1 */ bl func_80301B48
+/* 80302EAC 002FEB0C 2C 03 00 00 */ cmpwi r3, 0
+/* 80302EB0 002FEB10 40 82 00 34 */ bne lbl_80302EE4
+/* 80302EB4 002FEB14 80 6D AF 88 */ lwz r3, lbl_80640248-_SDA_BASE_(r13)
+/* 80302EB8 002FEB18 38 A1 00 08 */ addi r5, r1, 8
+/* 80302EBC 002FEB1C 38 80 04 00 */ li r4, 0x400
+/* 80302EC0 002FEB20 4B FF F5 25 */ bl func_803023E4
+/* 80302EC4 002FEB24 7C 7F 1B 78 */ mr r31, r3
+/* 80302EC8 002FEB28 38 61 00 08 */ addi r3, r1, 8
+/* 80302ECC 002FEB2C 4B FF EF CD */ bl func_80301E98
+/* 80302ED0 002FEB30 2C 1F 00 00 */ cmpwi r31, 0
+/* 80302ED4 002FEB34 41 82 00 08 */ beq lbl_80302EDC
+/* 80302ED8 002FEB38 7F E3 FB 78 */ mr r3, r31
+lbl_80302EDC:
+/* 80302EDC 002FEB3C 38 00 00 00 */ li r0, 0
+/* 80302EE0 002FEB40 90 0D AF 8C */ stw r0, lbl_8064024C-_SDA_BASE_(r13)
+lbl_80302EE4:
+/* 80302EE4 002FEB44 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80302EE8 002FEB48 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80302EEC 002FEB4C 7C 08 03 A6 */ mtlr r0
+/* 80302EF0 002FEB50 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80302EF4 002FEB54 4E 80 00 20 */ blr
+
+.global func_80302EF8
+func_80302EF8:
+/* 80302EF8 002FEB58 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80302EFC 002FEB5C 7C 08 02 A6 */ mflr r0
+/* 80302F00 002FEB60 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80302F04 002FEB64 38 61 00 08 */ addi r3, r1, 8
+/* 80302F08 002FEB68 4B F6 55 B9 */ bl __OSGetIOSRev
+/* 80302F0C 002FEB6C 88 01 00 09 */ lbz r0, 9(r1)
+/* 80302F10 002FEB70 2C 00 00 00 */ cmpwi r0, 0
+/* 80302F14 002FEB74 40 82 00 40 */ bne lbl_80302F54
+/* 80302F18 002FEB78 88 61 00 0A */ lbz r3, 0xa(r1)
+/* 80302F1C 002FEB7C 28 03 00 07 */ cmplwi r3, 7
+/* 80302F20 002FEB80 40 82 00 10 */ bne lbl_80302F30
+/* 80302F24 002FEB84 88 01 00 0B */ lbz r0, 0xb(r1)
+/* 80302F28 002FEB88 2C 00 00 00 */ cmpwi r0, 0
+/* 80302F2C 002FEB8C 41 82 00 0C */ beq lbl_80302F38
+lbl_80302F30:
+/* 80302F30 002FEB90 28 03 00 07 */ cmplwi r3, 7
+/* 80302F34 002FEB94 40 80 00 20 */ bge lbl_80302F54
+lbl_80302F38:
+/* 80302F38 002FEB98 3C 60 80 44 */ lis r3, lbl_80446354@ha
+/* 80302F3C 002FEB9C 3C A0 80 44 */ lis r5, lbl_80446364@ha
+/* 80302F40 002FEBA0 38 63 63 54 */ addi r3, r3, lbl_80446354@l
+/* 80302F44 002FEBA4 38 80 02 9A */ li r4, 0x29a
+/* 80302F48 002FEBA8 38 A5 63 64 */ addi r5, r5, lbl_80446364@l
+/* 80302F4C 002FEBAC 4C C6 31 82 */ crclr 6
+/* 80302F50 002FEBB0 4B F6 85 4D */ bl OSPanic
+lbl_80302F54:
+/* 80302F54 002FEBB4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80302F58 002FEBB8 80 6D 8C 90 */ lwz r3, lbl_8063DF50-_SDA_BASE_(r13)
+/* 80302F5C 002FEBBC 7C 08 03 A6 */ mtlr r0
+/* 80302F60 002FEBC0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80302F64 002FEBC4 4E 80 00 20 */ blr
+
+.global func_80302F68
+func_80302F68:
+/* 80302F68 002FEBC8 80 CD AF 88 */ lwz r6, lbl_80640248-_SDA_BASE_(r13)
+/* 80302F6C 002FEBCC 80 66 00 00 */ lwz r3, 0(r6)
+/* 80302F70 002FEBD0 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 80302F74 002FEBD4 28 00 43 66 */ cmplwi r0, 0x4366
+/* 80302F78 002FEBD8 41 82 00 0C */ beq lbl_80302F84
+/* 80302F7C 002FEBDC 38 60 FF F2 */ li r3, -14
+/* 80302F80 002FEBE0 4E 80 00 20 */ blr
+lbl_80302F84:
+/* 80302F84 002FEBE4 38 00 00 1F */ li r0, 0x1f
+/* 80302F88 002FEBE8 7C C4 33 78 */ mr r4, r6
+/* 80302F8C 002FEBEC 38 A0 00 00 */ li r5, 0
+/* 80302F90 002FEBF0 7C 09 03 A6 */ mtctr r0
+lbl_80302F94:
+/* 80302F94 002FEBF4 80 64 00 00 */ lwz r3, 0(r4)
+/* 80302F98 002FEBF8 80 04 00 04 */ lwz r0, 4(r4)
+/* 80302F9C 002FEBFC 7C A5 1A 14 */ add r5, r5, r3
+/* 80302FA0 002FEC00 80 64 00 08 */ lwz r3, 8(r4)
+/* 80302FA4 002FEC04 7C A5 02 14 */ add r5, r5, r0
+/* 80302FA8 002FEC08 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 80302FAC 002FEC0C 7C A5 1A 14 */ add r5, r5, r3
+/* 80302FB0 002FEC10 80 64 00 10 */ lwz r3, 0x10(r4)
+/* 80302FB4 002FEC14 7C A5 02 14 */ add r5, r5, r0
+/* 80302FB8 002FEC18 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 80302FBC 002FEC1C 7C A5 1A 14 */ add r5, r5, r3
+/* 80302FC0 002FEC20 80 64 00 18 */ lwz r3, 0x18(r4)
+/* 80302FC4 002FEC24 7C A5 02 14 */ add r5, r5, r0
+/* 80302FC8 002FEC28 80 04 00 1C */ lwz r0, 0x1c(r4)
+/* 80302FCC 002FEC2C 7C A5 1A 14 */ add r5, r5, r3
+/* 80302FD0 002FEC30 38 84 00 20 */ addi r4, r4, 0x20
+/* 80302FD4 002FEC34 7C A5 02 14 */ add r5, r5, r0
+/* 80302FD8 002FEC38 42 00 FF BC */ bdnz lbl_80302F94
+/* 80302FDC 002FEC3C 80 64 00 00 */ lwz r3, 0(r4)
+/* 80302FE0 002FEC40 80 04 00 04 */ lwz r0, 4(r4)
+/* 80302FE4 002FEC44 7C A5 1A 14 */ add r5, r5, r3
+/* 80302FE8 002FEC48 80 64 00 08 */ lwz r3, 8(r4)
+/* 80302FEC 002FEC4C 7C A5 02 14 */ add r5, r5, r0
+/* 80302FF0 002FEC50 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 80302FF4 002FEC54 7C A5 1A 14 */ add r5, r5, r3
+/* 80302FF8 002FEC58 80 64 00 10 */ lwz r3, 0x10(r4)
+/* 80302FFC 002FEC5C 7C A5 02 14 */ add r5, r5, r0
+/* 80303000 002FEC60 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 80303004 002FEC64 7C A5 1A 14 */ add r5, r5, r3
+/* 80303008 002FEC68 80 64 00 18 */ lwz r3, 0x18(r4)
+/* 8030300C 002FEC6C 7C A5 02 14 */ add r5, r5, r0
+/* 80303010 002FEC70 80 06 03 FC */ lwz r0, 0x3fc(r6)
+/* 80303014 002FEC74 7C A5 1A 14 */ add r5, r5, r3
+/* 80303018 002FEC78 7C 00 28 40 */ cmplw r0, r5
+/* 8030301C 002FEC7C 41 82 00 0C */ beq lbl_80303028
+/* 80303020 002FEC80 38 60 FF F2 */ li r3, -14
+/* 80303024 002FEC84 4E 80 00 20 */ blr
+lbl_80303028:
+/* 80303028 002FEC88 80 06 00 10 */ lwz r0, 0x10(r6)
+/* 8030302C 002FEC8C 28 00 00 20 */ cmplwi r0, 0x20
+/* 80303030 002FEC90 41 80 00 0C */ blt lbl_8030303C
+/* 80303034 002FEC94 38 60 FF F2 */ li r3, -14
+/* 80303038 002FEC98 4E 80 00 20 */ blr
+lbl_8030303C:
+/* 8030303C 002FEC9C 80 06 00 04 */ lwz r0, 4(r6)
+/* 80303040 002FECA0 38 60 00 00 */ li r3, 0
+/* 80303044 002FECA4 28 00 00 08 */ cmplwi r0, 8
+/* 80303048 002FECA8 4D 82 00 20 */ beqlr
+/* 8030304C 002FECAC 38 60 FF E5 */ li r3, -27
+/* 80303050 002FECB0 4E 80 00 20 */ blr
+
+.global func_80303054
+func_80303054:
+/* 80303054 002FECB4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303058 002FECB8 7C 08 02 A6 */ mflr r0
+/* 8030305C 002FECBC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303060 002FECC0 80 0D AF A0 */ lwz r0, lbl_80640260-_SDA_BASE_(r13)
+/* 80303064 002FECC4 2C 00 00 00 */ cmpwi r0, 0
+/* 80303068 002FECC8 40 82 00 14 */ bne lbl_8030307C
+/* 8030306C 002FECCC 80 6D 8C A0 */ lwz r3, lbl_8063DF60-_SDA_BASE_(r13)
+/* 80303070 002FECD0 4B F6 65 E1 */ bl OSRegisterVersion
+/* 80303074 002FECD4 38 00 00 01 */ li r0, 1
+/* 80303078 002FECD8 90 0D AF A0 */ stw r0, lbl_80640260-_SDA_BASE_(r13)
+lbl_8030307C:
+/* 8030307C 002FECDC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303080 002FECE0 7C 08 03 A6 */ mtlr r0
+/* 80303084 002FECE4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303088 002FECE8 4E 80 00 20 */ blr
+
+.global func_8030308C
+func_8030308C:
+/* 8030308C 002FECEC 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
+/* 80303090 002FECF0 2C 00 00 02 */ cmpwi r0, 2
+/* 80303094 002FECF4 40 82 00 0C */ bne lbl_803030A0
+/* 80303098 002FECF8 38 60 FF E6 */ li r3, -26
+/* 8030309C 002FECFC 4E 80 00 20 */ blr
+lbl_803030A0:
+/* 803030A0 002FED00 38 80 00 01 */ li r4, 1
+/* 803030A4 002FED04 48 00 00 08 */ b lbl_803030AC
+/* 803030A8 002FED08 4E 80 00 20 */ blr
+lbl_803030AC:
+/* 803030AC 002FED0C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803030B0 002FED10 7C 08 02 A6 */ mflr r0
+/* 803030B4 002FED14 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803030B8 002FED18 38 00 00 00 */ li r0, 0
+/* 803030BC 002FED1C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803030C0 002FED20 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803030C4 002FED24 7C 7E 1B 78 */ mr r30, r3
+/* 803030C8 002FED28 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803030CC 002FED2C 7C 9D 23 78 */ mr r29, r4
+/* 803030D0 002FED30 90 0D AF 9C */ stw r0, lbl_8064025C-_SDA_BASE_(r13)
+/* 803030D4 002FED34 48 01 73 CD */ bl func_8031A4A0
+/* 803030D8 002FED38 2C 03 00 00 */ cmpwi r3, 0
+/* 803030DC 002FED3C 40 82 00 0C */ bne lbl_803030E8
+/* 803030E0 002FED40 38 60 FF FF */ li r3, -1
+/* 803030E4 002FED44 48 00 01 78 */ b lbl_8030325C
+lbl_803030E8:
+/* 803030E8 002FED48 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
+/* 803030EC 002FED4C 2C 00 00 01 */ cmpwi r0, 1
+/* 803030F0 002FED50 40 82 00 0C */ bne lbl_803030FC
+/* 803030F4 002FED54 38 60 FF F6 */ li r3, -10
+/* 803030F8 002FED58 48 00 01 64 */ b lbl_8030325C
+lbl_803030FC:
+/* 803030FC 002FED5C 2C 00 00 03 */ cmpwi r0, 3
+/* 80303100 002FED60 40 82 00 0C */ bne lbl_8030310C
+/* 80303104 002FED64 38 60 FF E6 */ li r3, -26
+/* 80303108 002FED68 48 00 01 54 */ b lbl_8030325C
+lbl_8030310C:
+/* 8030310C 002FED6C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80303110 002FED70 40 82 00 0C */ bne lbl_8030311C
+/* 80303114 002FED74 38 60 FF FB */ li r3, -5
+/* 80303118 002FED78 48 00 01 44 */ b lbl_8030325C
+lbl_8030311C:
+/* 8030311C 002FED7C 57 C0 06 FF */ clrlwi. r0, r30, 0x1b
+/* 80303120 002FED80 41 82 00 0C */ beq lbl_8030312C
+/* 80303124 002FED84 38 60 FF E9 */ li r3, -23
+/* 80303128 002FED88 48 00 01 34 */ b lbl_8030325C
+lbl_8030312C:
+/* 8030312C 002FED8C 48 00 0C 85 */ bl func_80303DB0
+/* 80303130 002FED90 2C 03 00 00 */ cmpwi r3, 0
+/* 80303134 002FED94 40 82 00 F8 */ bne lbl_8030322C
+/* 80303138 002FED98 80 0D AF A0 */ lwz r0, lbl_80640260-_SDA_BASE_(r13)
+/* 8030313C 002FED9C 2C 00 00 00 */ cmpwi r0, 0
+/* 80303140 002FEDA0 40 82 00 14 */ bne lbl_80303154
+/* 80303144 002FEDA4 80 6D 8C A0 */ lwz r3, lbl_8063DF60-_SDA_BASE_(r13)
+/* 80303148 002FEDA8 4B F6 65 09 */ bl OSRegisterVersion
+/* 8030314C 002FEDAC 38 00 00 01 */ li r0, 1
+/* 80303150 002FEDB0 90 0D AF A0 */ stw r0, lbl_80640260-_SDA_BASE_(r13)
+lbl_80303154:
+/* 80303154 002FEDB4 80 0D AF 98 */ lwz r0, lbl_80640258-_SDA_BASE_(r13)
+/* 80303158 002FEDB8 38 7E 13 00 */ addi r3, r30, 0x1300
+/* 8030315C 002FEDBC 93 CD AF 90 */ stw r30, lbl_80640250-_SDA_BASE_(r13)
+/* 80303160 002FEDC0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
+/* 80303164 002FEDC4 90 0D AF 98 */ stw r0, lbl_80640258-_SDA_BASE_(r13)
+/* 80303168 002FEDC8 48 00 05 AD */ bl func_80303714
+/* 8030316C 002FEDCC 3B C0 00 00 */ li r30, 0
+/* 80303170 002FEDD0 3B E0 00 00 */ li r31, 0
+/* 80303174 002FEDD4 4B FF FA F9 */ bl func_80302C6C
+/* 80303178 002FEDD8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030317C 002FEDDC 41 82 00 0C */ beq lbl_80303188
+/* 80303180 002FEDE0 7C 7F 1B 78 */ mr r31, r3
+/* 80303184 002FEDE4 63 DE 00 04 */ ori r30, r30, 4
+lbl_80303188:
+/* 80303188 002FEDE8 48 00 02 25 */ bl func_803033AC
+/* 8030318C 002FEDEC 2C 03 00 00 */ cmpwi r3, 0
+/* 80303190 002FEDF0 41 82 00 0C */ beq lbl_8030319C
+/* 80303194 002FEDF4 7C 7F 1B 78 */ mr r31, r3
+/* 80303198 002FEDF8 63 DE 00 04 */ ori r30, r30, 4
+lbl_8030319C:
+/* 8030319C 002FEDFC 48 00 10 CD */ bl func_80304268
+/* 803031A0 002FEE00 2C 03 00 00 */ cmpwi r3, 0
+/* 803031A4 002FEE04 41 82 00 0C */ beq lbl_803031B0
+/* 803031A8 002FEE08 7C 7F 1B 78 */ mr r31, r3
+/* 803031AC 002FEE0C 63 DE 00 04 */ ori r30, r30, 4
+lbl_803031B0:
+/* 803031B0 002FEE10 48 00 11 D5 */ bl func_80304384
+/* 803031B4 002FEE14 2C 03 00 00 */ cmpwi r3, 0
+/* 803031B8 002FEE18 41 82 00 1C */ beq lbl_803031D4
+/* 803031BC 002FEE1C 2C 03 FF EC */ cmpwi r3, -20
+/* 803031C0 002FEE20 7C 7F 1B 78 */ mr r31, r3
+/* 803031C4 002FEE24 63 C0 00 01 */ ori r0, r30, 1
+/* 803031C8 002FEE28 40 82 00 08 */ bne lbl_803031D0
+/* 803031CC 002FEE2C 63 C0 00 04 */ ori r0, r30, 4
+lbl_803031D0:
+/* 803031D0 002FEE30 7C 1E 03 78 */ mr r30, r0
+lbl_803031D4:
+/* 803031D4 002FEE34 48 00 16 1D */ bl func_803047F0
+/* 803031D8 002FEE38 2C 03 00 00 */ cmpwi r3, 0
+/* 803031DC 002FEE3C 40 80 00 1C */ bge lbl_803031F8
+/* 803031E0 002FEE40 2C 03 FF EC */ cmpwi r3, -20
+/* 803031E4 002FEE44 7C 7F 1B 78 */ mr r31, r3
+/* 803031E8 002FEE48 63 C0 00 02 */ ori r0, r30, 2
+/* 803031EC 002FEE4C 40 82 00 08 */ bne lbl_803031F4
+/* 803031F0 002FEE50 63 C0 00 04 */ ori r0, r30, 4
+lbl_803031F4:
+/* 803031F4 002FEE54 7C 1E 03 78 */ mr r30, r0
+lbl_803031F8:
+/* 803031F8 002FEE58 28 1E 00 03 */ cmplwi r30, 3
+/* 803031FC 002FEE5C 40 82 00 08 */ bne lbl_80303204
+/* 80303200 002FEE60 3B E0 FF CF */ li r31, -49
+lbl_80303204:
+/* 80303204 002FEE64 2C 1E 00 00 */ cmpwi r30, 0
+/* 80303208 002FEE68 41 82 00 18 */ beq lbl_80303220
+/* 8030320C 002FEE6C 38 00 00 00 */ li r0, 0
+/* 80303210 002FEE70 90 0D AF 90 */ stw r0, lbl_80640250-_SDA_BASE_(r13)
+/* 80303214 002FEE74 48 00 0C 7D */ bl func_80303E90
+/* 80303218 002FEE78 7F E3 FB 78 */ mr r3, r31
+/* 8030321C 002FEE7C 48 00 00 10 */ b lbl_8030322C
+lbl_80303220:
+/* 80303220 002FEE80 93 AD AF 94 */ stw r29, lbl_80640254-_SDA_BASE_(r13)
+/* 80303224 002FEE84 38 60 00 00 */ li r3, 0
+/* 80303228 002FEE88 48 00 00 34 */ b lbl_8030325C
+lbl_8030322C:
+/* 8030322C 002FEE8C 38 03 00 31 */ addi r0, r3, 0x31
+/* 80303230 002FEE90 28 00 00 30 */ cmplwi r0, 0x30
+/* 80303234 002FEE94 41 81 00 28 */ bgt lbl_8030325C
+/* 80303238 002FEE98 3C 80 80 44 */ lis r4, lbl_804463BC@ha
+/* 8030323C 002FEE9C 54 00 10 3A */ slwi r0, r0, 2
+/* 80303240 002FEEA0 38 84 63 BC */ addi r4, r4, lbl_804463BC@l
+/* 80303244 002FEEA4 7C 84 00 2E */ lwzx r4, r4, r0
+/* 80303248 002FEEA8 7C 89 03 A6 */ mtctr r4
+/* 8030324C 002FEEAC 4E 80 04 20 */ bctr
+/* 80303250 002FEEB0 3C 83 FF FE */ addis r4, r3, 0xfffe
+/* 80303254 002FEEB4 38 04 56 38 */ addi r0, r4, 0x5638
+/* 80303258 002FEEB8 90 0D AF 9C */ stw r0, lbl_8064025C-_SDA_BASE_(r13)
+lbl_8030325C:
+/* 8030325C 002FEEBC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80303260 002FEEC0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80303264 002FEEC4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80303268 002FEEC8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8030326C 002FEECC 7C 08 03 A6 */ mtlr r0
+/* 80303270 002FEED0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80303274 002FEED4 4E 80 00 20 */ blr
+
+.global func_80303278
+func_80303278:
+/* 80303278 002FEED8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030327C 002FEEDC 7C 08 02 A6 */ mflr r0
+/* 80303280 002FEEE0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303284 002FEEE4 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
+/* 80303288 002FEEE8 2C 00 00 01 */ cmpwi r0, 1
+/* 8030328C 002FEEEC 41 82 00 0C */ beq lbl_80303298
+/* 80303290 002FEEF0 38 60 FF F7 */ li r3, -9
+/* 80303294 002FEEF4 48 00 00 40 */ b lbl_803032D4
+lbl_80303298:
+/* 80303298 002FEEF8 4B FF FA E1 */ bl func_80302D78
+/* 8030329C 002FEEFC 2C 03 00 00 */ cmpwi r3, 0
+/* 803032A0 002FEF00 41 82 00 08 */ beq lbl_803032A8
+/* 803032A4 002FEF04 48 00 00 30 */ b lbl_803032D4
+lbl_803032A8:
+/* 803032A8 002FEF08 48 00 15 95 */ bl func_8030483C
+/* 803032AC 002FEF0C 2C 03 00 00 */ cmpwi r3, 0
+/* 803032B0 002FEF10 40 80 00 08 */ bge lbl_803032B8
+/* 803032B4 002FEF14 48 00 00 20 */ b lbl_803032D4
+lbl_803032B8:
+/* 803032B8 002FEF18 48 00 0B D9 */ bl func_80303E90
+/* 803032BC 002FEF1C 2C 03 00 00 */ cmpwi r3, 0
+/* 803032C0 002FEF20 41 82 00 08 */ beq lbl_803032C8
+/* 803032C4 002FEF24 48 00 00 10 */ b lbl_803032D4
+lbl_803032C8:
+/* 803032C8 002FEF28 38 00 00 00 */ li r0, 0
+/* 803032CC 002FEF2C 90 0D AF 90 */ stw r0, lbl_80640250-_SDA_BASE_(r13)
+/* 803032D0 002FEF30 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13)
+lbl_803032D4:
+/* 803032D4 002FEF34 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803032D8 002FEF38 7C 08 03 A6 */ mtlr r0
+/* 803032DC 002FEF3C 38 21 00 10 */ addi r1, r1, 0x10
+/* 803032E0 002FEF40 4E 80 00 20 */ blr
+
+.global func_803032E4
+func_803032E4:
+/* 803032E4 002FEF44 80 6D AF 94 */ lwz r3, lbl_80640254-_SDA_BASE_(r13)
+/* 803032E8 002FEF48 38 03 FF FF */ addi r0, r3, -1
+/* 803032EC 002FEF4C 7C 00 00 34 */ cntlzw r0, r0
+/* 803032F0 002FEF50 54 03 D9 7E */ srwi r3, r0, 5
+/* 803032F4 002FEF54 4E 80 00 20 */ blr
+
+.global func_803032F8
+func_803032F8:
+/* 803032F8 002FEF58 80 6D AF 94 */ lwz r3, lbl_80640254-_SDA_BASE_(r13)
+/* 803032FC 002FEF5C 38 03 FF FE */ addi r0, r3, -2
+/* 80303300 002FEF60 7C 00 00 34 */ cntlzw r0, r0
+/* 80303304 002FEF64 54 03 D9 7E */ srwi r3, r0, 5
+/* 80303308 002FEF68 4E 80 00 20 */ blr
+
+.global func_8030330C
+func_8030330C:
+/* 8030330C 002FEF6C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303310 002FEF70 7C 08 02 A6 */ mflr r0
+/* 80303314 002FEF74 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303318 002FEF78 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8030331C 002FEF7C 3B E0 00 00 */ li r31, 0
+/* 80303320 002FEF80 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303324 002FEF84 7C 7E 1B 78 */ mr r30, r3
+/* 80303328 002FEF88 4B F6 B4 35 */ bl OSDisableInterrupts
+/* 8030332C 002FEF8C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80303330 002FEF90 41 82 00 34 */ beq lbl_80303364
+/* 80303334 002FEF94 80 0D AF 94 */ lwz r0, lbl_80640254-_SDA_BASE_(r13)
+/* 80303338 002FEF98 2C 00 00 00 */ cmpwi r0, 0
+/* 8030333C 002FEF9C 40 82 00 10 */ bne lbl_8030334C
+/* 80303340 002FEFA0 38 00 00 03 */ li r0, 3
+/* 80303344 002FEFA4 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13)
+/* 80303348 002FEFA8 48 00 00 44 */ b lbl_8030338C
+lbl_8030334C:
+/* 8030334C 002FEFAC 2C 00 00 01 */ cmpwi r0, 1
+/* 80303350 002FEFB0 40 82 00 0C */ bne lbl_8030335C
+/* 80303354 002FEFB4 3B E0 FF F6 */ li r31, -10
+/* 80303358 002FEFB8 48 00 00 34 */ b lbl_8030338C
+lbl_8030335C:
+/* 8030335C 002FEFBC 3B E0 FF E6 */ li r31, -26
+/* 80303360 002FEFC0 48 00 00 2C */ b lbl_8030338C
+lbl_80303364:
+/* 80303364 002FEFC4 80 8D AF 94 */ lwz r4, lbl_80640254-_SDA_BASE_(r13)
+/* 80303368 002FEFC8 38 04 FF FD */ addi r0, r4, -3
+/* 8030336C 002FEFCC 7C 00 00 34 */ cntlzw r0, r0
+/* 80303370 002FEFD0 54 04 D9 7F */ rlwinm. r4, r0, 0x1b, 5, 0x1f
+/* 80303374 002FEFD4 41 82 00 0C */ beq lbl_80303380
+/* 80303378 002FEFD8 38 00 00 00 */ li r0, 0
+/* 8030337C 002FEFDC 90 0D AF 94 */ stw r0, lbl_80640254-_SDA_BASE_(r13)
+lbl_80303380:
+/* 80303380 002FEFE0 2C 04 00 00 */ cmpwi r4, 0
+/* 80303384 002FEFE4 40 82 00 08 */ bne lbl_8030338C
+/* 80303388 002FEFE8 3B E0 FF F7 */ li r31, -9
+lbl_8030338C:
+/* 8030338C 002FEFEC 4B F6 B3 F9 */ bl OSRestoreInterrupts
+/* 80303390 002FEFF0 7F E3 FB 78 */ mr r3, r31
+/* 80303394 002FEFF4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303398 002FEFF8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8030339C 002FEFFC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803033A0 002FF000 7C 08 03 A6 */ mtlr r0
+/* 803033A4 002FF004 38 21 00 10 */ addi r1, r1, 0x10
+/* 803033A8 002FF008 4E 80 00 20 */ blr
+
+.global func_803033AC
+func_803033AC:
+/* 803033AC 002FF00C 94 21 FE B0 */ stwu r1, -0x150(r1)
+/* 803033B0 002FF010 7C 08 02 A6 */ mflr r0
+/* 803033B4 002FF014 38 80 00 00 */ li r4, 0
+/* 803033B8 002FF018 38 A0 00 80 */ li r5, 0x80
+/* 803033BC 002FF01C 90 01 01 54 */ stw r0, 0x154(r1)
+/* 803033C0 002FF020 93 E1 01 4C */ stw r31, 0x14c(r1)
+/* 803033C4 002FF024 93 C1 01 48 */ stw r30, 0x148(r1)
+/* 803033C8 002FF028 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 803033CC 002FF02C 3B C3 08 00 */ addi r30, r3, 0x800
+/* 803033D0 002FF030 38 63 11 00 */ addi r3, r3, 0x1100
+/* 803033D4 002FF034 4B FF DC 41 */ bl func_80301014
+/* 803033D8 002FF038 38 81 00 08 */ addi r4, r1, 8
+/* 803033DC 002FF03C 38 60 00 00 */ li r3, 0
+/* 803033E0 002FF040 48 00 01 61 */ bl func_80303540
+/* 803033E4 002FF044 2C 03 00 00 */ cmpwi r3, 0
+/* 803033E8 002FF048 41 82 00 08 */ beq lbl_803033F0
+/* 803033EC 002FF04C 48 00 01 3C */ b lbl_80303528
+lbl_803033F0:
+/* 803033F0 002FF050 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 803033F4 002FF054 38 80 00 00 */ li r4, 0
+/* 803033F8 002FF058 38 A0 00 80 */ li r5, 0x80
+/* 803033FC 002FF05C 38 63 11 80 */ addi r3, r3, 0x1180
+/* 80303400 002FF060 4B FF DC 15 */ bl func_80301014
+/* 80303404 002FF064 38 81 00 08 */ addi r4, r1, 8
+/* 80303408 002FF068 38 60 00 01 */ li r3, 1
+/* 8030340C 002FF06C 48 00 01 35 */ bl func_80303540
+/* 80303410 002FF070 2C 03 00 00 */ cmpwi r3, 0
+/* 80303414 002FF074 41 82 00 08 */ beq lbl_8030341C
+/* 80303418 002FF078 48 00 01 10 */ b lbl_80303528
+lbl_8030341C:
+/* 8030341C 002FF07C 4B FF FA DD */ bl func_80302EF8
+/* 80303420 002FF080 7C 7F 1B 78 */ mr r31, r3
+/* 80303424 002FF084 38 80 00 40 */ li r4, 0x40
+/* 80303428 002FF088 4B FF DB BD */ bl func_80300FE4
+/* 8030342C 002FF08C 38 03 00 0E */ addi r0, r3, 0xe
+/* 80303430 002FF090 2C 00 01 00 */ cmpwi r0, 0x100
+/* 80303434 002FF094 40 81 00 0C */ ble lbl_80303440
+/* 80303438 002FF098 38 60 FF F5 */ li r3, -11
+/* 8030343C 002FF09C 48 00 00 24 */ b lbl_80303460
+lbl_80303440:
+/* 80303440 002FF0A0 3C C0 80 44 */ lis r6, lbl_804464A0@ha
+/* 80303444 002FF0A4 7F C3 F3 78 */ mr r3, r30
+/* 80303448 002FF0A8 7F E5 FB 78 */ mr r5, r31
+/* 8030344C 002FF0AC 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
+/* 80303450 002FF0B0 38 C6 64 A0 */ addi r6, r6, lbl_804464A0@l
+/* 80303454 002FF0B4 4C C6 31 82 */ crclr 6
+/* 80303458 002FF0B8 4B FF E1 A5 */ bl func_803015FC
+/* 8030345C 002FF0BC 38 60 00 00 */ li r3, 0
+lbl_80303460:
+/* 80303460 002FF0C0 2C 03 00 00 */ cmpwi r3, 0
+/* 80303464 002FF0C4 41 82 00 08 */ beq lbl_8030346C
+/* 80303468 002FF0C8 48 00 00 C0 */ b lbl_80303528
+lbl_8030346C:
+/* 8030346C 002FF0CC 7F C4 F3 78 */ mr r4, r30
+/* 80303470 002FF0D0 38 61 00 A8 */ addi r3, r1, 0xa8
+/* 80303474 002FF0D4 38 A0 00 02 */ li r5, 2
+/* 80303478 002FF0D8 4B FF E6 D1 */ bl func_80301B48
+/* 8030347C 002FF0DC 2C 03 00 00 */ cmpwi r3, 0
+/* 80303480 002FF0E0 40 82 00 0C */ bne lbl_8030348C
+/* 80303484 002FF0E4 38 61 00 A8 */ addi r3, r1, 0xa8
+/* 80303488 002FF0E8 4B FF EA 11 */ bl func_80301E98
+lbl_8030348C:
+/* 8030348C 002FF0EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80303490 002FF0F0 41 82 00 08 */ beq lbl_80303498
+/* 80303494 002FF0F4 48 00 00 94 */ b lbl_80303528
+lbl_80303498:
+/* 80303498 002FF0F8 4B FF FA 61 */ bl func_80302EF8
+/* 8030349C 002FF0FC 7C 7F 1B 78 */ mr r31, r3
+/* 803034A0 002FF100 38 80 00 40 */ li r4, 0x40
+/* 803034A4 002FF104 4B FF DB 41 */ bl func_80300FE4
+/* 803034A8 002FF108 38 03 00 0E */ addi r0, r3, 0xe
+/* 803034AC 002FF10C 2C 00 01 00 */ cmpwi r0, 0x100
+/* 803034B0 002FF110 40 81 00 0C */ ble lbl_803034BC
+/* 803034B4 002FF114 38 60 FF F5 */ li r3, -11
+/* 803034B8 002FF118 48 00 00 24 */ b lbl_803034DC
+lbl_803034BC:
+/* 803034BC 002FF11C 3C C0 80 44 */ lis r6, lbl_804464B0@ha
+/* 803034C0 002FF120 7F C3 F3 78 */ mr r3, r30
+/* 803034C4 002FF124 7F E5 FB 78 */ mr r5, r31
+/* 803034C8 002FF128 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
+/* 803034CC 002FF12C 38 C6 64 B0 */ addi r6, r6, lbl_804464B0@l
+/* 803034D0 002FF130 4C C6 31 82 */ crclr 6
+/* 803034D4 002FF134 4B FF E1 29 */ bl func_803015FC
+/* 803034D8 002FF138 38 60 00 00 */ li r3, 0
+lbl_803034DC:
+/* 803034DC 002FF13C 2C 03 00 00 */ cmpwi r3, 0
+/* 803034E0 002FF140 41 82 00 08 */ beq lbl_803034E8
+/* 803034E4 002FF144 48 00 00 44 */ b lbl_80303528
+lbl_803034E8:
+/* 803034E8 002FF148 7F C4 F3 78 */ mr r4, r30
+/* 803034EC 002FF14C 38 61 00 0C */ addi r3, r1, 0xc
+/* 803034F0 002FF150 38 A0 00 02 */ li r5, 2
+/* 803034F4 002FF154 4B FF E6 55 */ bl func_80301B48
+/* 803034F8 002FF158 2C 03 00 00 */ cmpwi r3, 0
+/* 803034FC 002FF15C 40 82 00 0C */ bne lbl_80303508
+/* 80303500 002FF160 38 61 00 0C */ addi r3, r1, 0xc
+/* 80303504 002FF164 4B FF E9 95 */ bl func_80301E98
+lbl_80303508:
+/* 80303508 002FF168 2C 03 00 00 */ cmpwi r3, 0
+/* 8030350C 002FF16C 41 82 00 08 */ beq lbl_80303514
+/* 80303510 002FF170 48 00 00 18 */ b lbl_80303528
+lbl_80303514:
+/* 80303514 002FF174 38 00 00 00 */ li r0, 0
+/* 80303518 002FF178 38 8D AF A8 */ addi r4, r13, lbl_80640268-_SDA_BASE_
+/* 8030351C 002FF17C 90 0D AF A8 */ stw r0, lbl_80640268-_SDA_BASE_(r13)
+/* 80303520 002FF180 38 60 00 00 */ li r3, 0
+/* 80303524 002FF184 90 04 00 04 */ stw r0, 4(r4)
+lbl_80303528:
+/* 80303528 002FF188 80 01 01 54 */ lwz r0, 0x154(r1)
+/* 8030352C 002FF18C 83 E1 01 4C */ lwz r31, 0x14c(r1)
+/* 80303530 002FF190 83 C1 01 48 */ lwz r30, 0x148(r1)
+/* 80303534 002FF194 7C 08 03 A6 */ mtlr r0
+/* 80303538 002FF198 38 21 01 50 */ addi r1, r1, 0x150
+/* 8030353C 002FF19C 4E 80 00 20 */ blr
+
+.global func_80303540
+func_80303540:
+/* 80303540 002FF1A0 94 21 FF 40 */ stwu r1, -0xc0(r1)
+/* 80303544 002FF1A4 7C 08 02 A6 */ mflr r0
+/* 80303548 002FF1A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030354C 002FF1AC 90 01 00 C4 */ stw r0, 0xc4(r1)
+/* 80303550 002FF1B0 93 E1 00 BC */ stw r31, 0xbc(r1)
+/* 80303554 002FF1B4 3B E0 00 00 */ li r31, 0
+/* 80303558 002FF1B8 93 C1 00 B8 */ stw r30, 0xb8(r1)
+/* 8030355C 002FF1BC 93 A1 00 B4 */ stw r29, 0xb4(r1)
+/* 80303560 002FF1C0 7C 9D 23 78 */ mr r29, r4
+/* 80303564 002FF1C4 93 81 00 B0 */ stw r28, 0xb0(r1)
+/* 80303568 002FF1C8 7C 7C 1B 78 */ mr r28, r3
+/* 8030356C 002FF1CC 40 82 00 14 */ bne lbl_80303580
+/* 80303570 002FF1D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80303574 002FF1D4 38 03 11 00 */ addi r0, r3, 0x1100
+/* 80303578 002FF1D8 90 04 00 00 */ stw r0, 0(r4)
+/* 8030357C 002FF1DC 48 00 00 2C */ b lbl_803035A8
+lbl_80303580:
+/* 80303580 002FF1E0 2C 03 00 01 */ cmpwi r3, 1
+/* 80303584 002FF1E4 40 82 00 14 */ bne lbl_80303598
+/* 80303588 002FF1E8 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 8030358C 002FF1EC 38 03 11 80 */ addi r0, r3, 0x1180
+/* 80303590 002FF1F0 90 04 00 00 */ stw r0, 0(r4)
+/* 80303594 002FF1F4 48 00 00 14 */ b lbl_803035A8
+lbl_80303598:
+/* 80303598 002FF1F8 38 00 00 00 */ li r0, 0
+/* 8030359C 002FF1FC 38 60 FF FD */ li r3, -3
+/* 803035A0 002FF200 90 04 00 00 */ stw r0, 0(r4)
+/* 803035A4 002FF204 48 00 01 50 */ b lbl_803036F4
+lbl_803035A8:
+/* 803035A8 002FF208 80 64 00 00 */ lwz r3, 0(r4)
+/* 803035AC 002FF20C 80 63 00 00 */ lwz r3, 0(r3)
+/* 803035B0 002FF210 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 803035B4 002FF214 28 00 54 66 */ cmplwi r0, 0x5466
+/* 803035B8 002FF218 41 82 01 24 */ beq lbl_803036DC
+/* 803035BC 002FF21C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 803035C0 002FF220 3B C3 08 00 */ addi r30, r3, 0x800
+/* 803035C4 002FF224 4B FF F9 35 */ bl func_80302EF8
+/* 803035C8 002FF228 7C 7F 1B 78 */ mr r31, r3
+/* 803035CC 002FF22C 38 80 00 40 */ li r4, 0x40
+/* 803035D0 002FF230 4B FF DA 15 */ bl func_80300FE4
+/* 803035D4 002FF234 38 03 00 0E */ addi r0, r3, 0xe
+/* 803035D8 002FF238 2C 00 01 00 */ cmpwi r0, 0x100
+/* 803035DC 002FF23C 40 81 00 0C */ ble lbl_803035E8
+/* 803035E0 002FF240 38 60 FF F5 */ li r3, -11
+/* 803035E4 002FF244 48 00 00 68 */ b lbl_8030364C
+lbl_803035E8:
+/* 803035E8 002FF248 2C 1C 00 01 */ cmpwi r28, 1
+/* 803035EC 002FF24C 41 82 00 34 */ beq lbl_80303620
+/* 803035F0 002FF250 40 80 00 50 */ bge lbl_80303640
+/* 803035F4 002FF254 2C 1C 00 00 */ cmpwi r28, 0
+/* 803035F8 002FF258 40 80 00 08 */ bge lbl_80303600
+/* 803035FC 002FF25C 48 00 00 44 */ b lbl_80303640
+lbl_80303600:
+/* 80303600 002FF260 3C C0 80 44 */ lis r6, lbl_80446480@ha
+/* 80303604 002FF264 7F C3 F3 78 */ mr r3, r30
+/* 80303608 002FF268 7F E5 FB 78 */ mr r5, r31
+/* 8030360C 002FF26C 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
+/* 80303610 002FF270 38 C6 64 80 */ addi r6, r6, lbl_80446480@l
+/* 80303614 002FF274 4C C6 31 82 */ crclr 6
+/* 80303618 002FF278 4B FF DF E5 */ bl func_803015FC
+/* 8030361C 002FF27C 48 00 00 2C */ b lbl_80303648
+lbl_80303620:
+/* 80303620 002FF280 3C C0 80 44 */ lis r6, lbl_80446490@ha
+/* 80303624 002FF284 7F C3 F3 78 */ mr r3, r30
+/* 80303628 002FF288 7F E5 FB 78 */ mr r5, r31
+/* 8030362C 002FF28C 38 8D 8C A8 */ addi r4, r13, lbl_8063DF68-_SDA_BASE_
+/* 80303630 002FF290 38 C6 64 90 */ addi r6, r6, lbl_80446490@l
+/* 80303634 002FF294 4C C6 31 82 */ crclr 6
+/* 80303638 002FF298 4B FF DF C5 */ bl func_803015FC
+/* 8030363C 002FF29C 48 00 00 0C */ b lbl_80303648
+lbl_80303640:
+/* 80303640 002FF2A0 38 60 FF FD */ li r3, -3
+/* 80303644 002FF2A4 48 00 00 08 */ b lbl_8030364C
+lbl_80303648:
+/* 80303648 002FF2A8 38 60 00 00 */ li r3, 0
+lbl_8030364C:
+/* 8030364C 002FF2AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80303650 002FF2B0 41 82 00 08 */ beq lbl_80303658
+/* 80303654 002FF2B4 48 00 00 A0 */ b lbl_803036F4
+lbl_80303658:
+/* 80303658 002FF2B8 7F C4 F3 78 */ mr r4, r30
+/* 8030365C 002FF2BC 38 61 00 08 */ addi r3, r1, 8
+/* 80303660 002FF2C0 38 A0 00 02 */ li r5, 2
+/* 80303664 002FF2C4 4B FF E4 E5 */ bl func_80301B48
+/* 80303668 002FF2C8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030366C 002FF2CC 41 82 00 08 */ beq lbl_80303674
+/* 80303670 002FF2D0 48 00 00 84 */ b lbl_803036F4
+lbl_80303674:
+/* 80303674 002FF2D4 83 FD 00 00 */ lwz r31, 0(r29)
+/* 80303678 002FF2D8 38 61 00 08 */ addi r3, r1, 8
+/* 8030367C 002FF2DC 38 80 00 00 */ li r4, 0
+/* 80303680 002FF2E0 38 A0 00 00 */ li r5, 0
+/* 80303684 002FF2E4 4B FF E9 A9 */ bl func_8030202C
+/* 80303688 002FF2E8 7F E3 FB 78 */ mr r3, r31
+/* 8030368C 002FF2EC 38 A1 00 08 */ addi r5, r1, 8
+/* 80303690 002FF2F0 38 80 00 80 */ li r4, 0x80
+/* 80303694 002FF2F4 4B FF EB 85 */ bl func_80302218
+/* 80303698 002FF2F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030369C 002FF2FC 41 82 00 0C */ beq lbl_803036A8
+/* 803036A0 002FF300 7C 7F 1B 78 */ mr r31, r3
+/* 803036A4 002FF304 48 00 00 1C */ b lbl_803036C0
+lbl_803036A8:
+/* 803036A8 002FF308 80 7F 00 00 */ lwz r3, 0(r31)
+/* 803036AC 002FF30C 3B E0 00 00 */ li r31, 0
+/* 803036B0 002FF310 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 803036B4 002FF314 28 00 54 66 */ cmplwi r0, 0x5466
+/* 803036B8 002FF318 41 82 00 08 */ beq lbl_803036C0
+/* 803036BC 002FF31C 3B E0 FF F2 */ li r31, -14
+lbl_803036C0:
+/* 803036C0 002FF320 38 61 00 08 */ addi r3, r1, 8
+/* 803036C4 002FF324 4B FF E7 D5 */ bl func_80301E98
+/* 803036C8 002FF328 2C 1F 00 00 */ cmpwi r31, 0
+/* 803036CC 002FF32C 40 82 00 10 */ bne lbl_803036DC
+/* 803036D0 002FF330 2C 03 00 00 */ cmpwi r3, 0
+/* 803036D4 002FF334 41 82 00 08 */ beq lbl_803036DC
+/* 803036D8 002FF338 7C 7F 1B 78 */ mr r31, r3
+lbl_803036DC:
+/* 803036DC 002FF33C 80 7D 00 00 */ lwz r3, 0(r29)
+/* 803036E0 002FF340 80 03 00 04 */ lwz r0, 4(r3)
+/* 803036E4 002FF344 28 00 00 04 */ cmplwi r0, 4
+/* 803036E8 002FF348 41 82 00 08 */ beq lbl_803036F0
+/* 803036EC 002FF34C 3B E0 FF E5 */ li r31, -27
+lbl_803036F0:
+/* 803036F0 002FF350 7F E3 FB 78 */ mr r3, r31
+lbl_803036F4:
+/* 803036F4 002FF354 80 01 00 C4 */ lwz r0, 0xc4(r1)
+/* 803036F8 002FF358 83 E1 00 BC */ lwz r31, 0xbc(r1)
+/* 803036FC 002FF35C 83 C1 00 B8 */ lwz r30, 0xb8(r1)
+/* 80303700 002FF360 83 A1 00 B4 */ lwz r29, 0xb4(r1)
+/* 80303704 002FF364 83 81 00 B0 */ lwz r28, 0xb0(r1)
+/* 80303708 002FF368 7C 08 03 A6 */ mtlr r0
+/* 8030370C 002FF36C 38 21 00 C0 */ addi r1, r1, 0xc0
+/* 80303710 002FF370 4E 80 00 20 */ blr
+
+.global func_80303714
+func_80303714:
+/* 80303714 002FF374 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80303718 002FF378 7C 08 02 A6 */ mflr r0
+/* 8030371C 002FF37C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80303720 002FF380 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303724 002FF384 4B EC 39 FD */ bl _savegpr_25
+/* 80303728 002FF388 38 00 00 08 */ li r0, 8
+/* 8030372C 002FF38C 38 C0 00 00 */ li r6, 0
+/* 80303730 002FF390 38 80 FF FF */ li r4, -1
+/* 80303734 002FF394 7C 09 03 A6 */ mtctr r0
+lbl_80303738:
+/* 80303738 002FF398 7C 83 31 AE */ stbx r4, r3, r6
+/* 8030373C 002FF39C 7C A3 32 14 */ add r5, r3, r6
+/* 80303740 002FF3A0 38 C6 00 08 */ addi r6, r6, 8
+/* 80303744 002FF3A4 98 85 00 01 */ stb r4, 1(r5)
+/* 80303748 002FF3A8 98 85 00 02 */ stb r4, 2(r5)
+/* 8030374C 002FF3AC 98 85 00 03 */ stb r4, 3(r5)
+/* 80303750 002FF3B0 98 85 00 04 */ stb r4, 4(r5)
+/* 80303754 002FF3B4 98 85 00 05 */ stb r4, 5(r5)
+/* 80303758 002FF3B8 98 85 00 06 */ stb r4, 6(r5)
+/* 8030375C 002FF3BC 98 85 00 07 */ stb r4, 7(r5)
+/* 80303760 002FF3C0 7C A3 32 14 */ add r5, r3, r6
+/* 80303764 002FF3C4 7C 83 31 AE */ stbx r4, r3, r6
+/* 80303768 002FF3C8 38 C6 00 08 */ addi r6, r6, 8
+/* 8030376C 002FF3CC 98 85 00 01 */ stb r4, 1(r5)
+/* 80303770 002FF3D0 98 85 00 02 */ stb r4, 2(r5)
+/* 80303774 002FF3D4 98 85 00 03 */ stb r4, 3(r5)
+/* 80303778 002FF3D8 98 85 00 04 */ stb r4, 4(r5)
+/* 8030377C 002FF3DC 98 85 00 05 */ stb r4, 5(r5)
+/* 80303780 002FF3E0 98 85 00 06 */ stb r4, 6(r5)
+/* 80303784 002FF3E4 98 85 00 07 */ stb r4, 7(r5)
+/* 80303788 002FF3E8 7C A3 32 14 */ add r5, r3, r6
+/* 8030378C 002FF3EC 7C 83 31 AE */ stbx r4, r3, r6
+/* 80303790 002FF3F0 38 C6 00 08 */ addi r6, r6, 8
+/* 80303794 002FF3F4 98 85 00 01 */ stb r4, 1(r5)
+/* 80303798 002FF3F8 98 85 00 02 */ stb r4, 2(r5)
+/* 8030379C 002FF3FC 98 85 00 03 */ stb r4, 3(r5)
+/* 803037A0 002FF400 98 85 00 04 */ stb r4, 4(r5)
+/* 803037A4 002FF404 98 85 00 05 */ stb r4, 5(r5)
+/* 803037A8 002FF408 98 85 00 06 */ stb r4, 6(r5)
+/* 803037AC 002FF40C 98 85 00 07 */ stb r4, 7(r5)
+/* 803037B0 002FF410 7C A3 32 14 */ add r5, r3, r6
+/* 803037B4 002FF414 7C 83 31 AE */ stbx r4, r3, r6
+/* 803037B8 002FF418 38 C6 00 08 */ addi r6, r6, 8
+/* 803037BC 002FF41C 98 85 00 01 */ stb r4, 1(r5)
+/* 803037C0 002FF420 98 85 00 02 */ stb r4, 2(r5)
+/* 803037C4 002FF424 98 85 00 03 */ stb r4, 3(r5)
+/* 803037C8 002FF428 98 85 00 04 */ stb r4, 4(r5)
+/* 803037CC 002FF42C 98 85 00 05 */ stb r4, 5(r5)
+/* 803037D0 002FF430 98 85 00 06 */ stb r4, 6(r5)
+/* 803037D4 002FF434 98 85 00 07 */ stb r4, 7(r5)
+/* 803037D8 002FF438 42 00 FF 60 */ bdnz lbl_80303738
+/* 803037DC 002FF43C 39 80 00 00 */ li r12, 0
+/* 803037E0 002FF440 39 60 00 01 */ li r11, 1
+/* 803037E4 002FF444 99 83 00 41 */ stb r12, 0x41(r3)
+/* 803037E8 002FF448 39 40 00 02 */ li r10, 2
+/* 803037EC 002FF44C 39 20 00 03 */ li r9, 3
+/* 803037F0 002FF450 39 00 00 04 */ li r8, 4
+/* 803037F4 002FF454 99 63 00 42 */ stb r11, 0x42(r3)
+/* 803037F8 002FF458 38 E0 00 05 */ li r7, 5
+/* 803037FC 002FF45C 38 C0 00 06 */ li r6, 6
+/* 80303800 002FF460 38 A0 00 07 */ li r5, 7
+/* 80303804 002FF464 99 43 00 43 */ stb r10, 0x43(r3)
+/* 80303808 002FF468 39 80 00 08 */ li r12, 8
+/* 8030380C 002FF46C 39 60 00 09 */ li r11, 9
+/* 80303810 002FF470 39 40 00 0A */ li r10, 0xa
+/* 80303814 002FF474 99 23 00 44 */ stb r9, 0x44(r3)
+/* 80303818 002FF478 39 20 00 0B */ li r9, 0xb
+/* 8030381C 002FF47C 38 80 00 18 */ li r4, 0x18
+/* 80303820 002FF480 38 00 00 19 */ li r0, 0x19
+/* 80303824 002FF484 99 03 00 45 */ stb r8, 0x45(r3)
+/* 80303828 002FF488 39 00 00 0C */ li r8, 0xc
+/* 8030382C 002FF48C 98 E3 00 46 */ stb r7, 0x46(r3)
+/* 80303830 002FF490 38 E0 00 0D */ li r7, 0xd
+/* 80303834 002FF494 98 C3 00 47 */ stb r6, 0x47(r3)
+/* 80303838 002FF498 38 C0 00 0E */ li r6, 0xe
+/* 8030383C 002FF49C 98 A3 00 48 */ stb r5, 0x48(r3)
+/* 80303840 002FF4A0 38 A0 00 0F */ li r5, 0xf
+/* 80303844 002FF4A4 99 83 00 49 */ stb r12, 0x49(r3)
+/* 80303848 002FF4A8 39 80 00 10 */ li r12, 0x10
+/* 8030384C 002FF4AC 99 63 00 4A */ stb r11, 0x4a(r3)
+/* 80303850 002FF4B0 39 60 00 11 */ li r11, 0x11
+/* 80303854 002FF4B4 99 43 00 4B */ stb r10, 0x4b(r3)
+/* 80303858 002FF4B8 39 40 00 12 */ li r10, 0x12
+/* 8030385C 002FF4BC 99 23 00 4C */ stb r9, 0x4c(r3)
+/* 80303860 002FF4C0 39 20 00 13 */ li r9, 0x13
+/* 80303864 002FF4C4 99 03 00 4D */ stb r8, 0x4d(r3)
+/* 80303868 002FF4C8 39 00 00 14 */ li r8, 0x14
+/* 8030386C 002FF4CC 98 E3 00 4E */ stb r7, 0x4e(r3)
+/* 80303870 002FF4D0 38 E0 00 15 */ li r7, 0x15
+/* 80303874 002FF4D4 98 C3 00 4F */ stb r6, 0x4f(r3)
+/* 80303878 002FF4D8 38 C0 00 16 */ li r6, 0x16
+/* 8030387C 002FF4DC 98 A3 00 50 */ stb r5, 0x50(r3)
+/* 80303880 002FF4E0 38 A0 00 17 */ li r5, 0x17
+/* 80303884 002FF4E4 99 83 00 51 */ stb r12, 0x51(r3)
+/* 80303888 002FF4E8 99 63 00 52 */ stb r11, 0x52(r3)
+/* 8030388C 002FF4EC 99 43 00 53 */ stb r10, 0x53(r3)
+/* 80303890 002FF4F0 99 23 00 54 */ stb r9, 0x54(r3)
+/* 80303894 002FF4F4 99 03 00 55 */ stb r8, 0x55(r3)
+/* 80303898 002FF4F8 98 E3 00 56 */ stb r7, 0x56(r3)
+/* 8030389C 002FF4FC 98 C3 00 57 */ stb r6, 0x57(r3)
+/* 803038A0 002FF500 98 A3 00 58 */ stb r5, 0x58(r3)
+/* 803038A4 002FF504 98 83 00 59 */ stb r4, 0x59(r3)
+/* 803038A8 002FF508 98 03 00 5A */ stb r0, 0x5a(r3)
+/* 803038AC 002FF50C 3B 20 00 1A */ li r25, 0x1a
+/* 803038B0 002FF510 3B 40 00 1B */ li r26, 0x1b
+/* 803038B4 002FF514 9B 23 00 61 */ stb r25, 0x61(r3)
+/* 803038B8 002FF518 3B 60 00 1C */ li r27, 0x1c
+/* 803038BC 002FF51C 3B 80 00 1D */ li r28, 0x1d
+/* 803038C0 002FF520 3B A0 00 1E */ li r29, 0x1e
+/* 803038C4 002FF524 9B 43 00 62 */ stb r26, 0x62(r3)
+/* 803038C8 002FF528 3B C0 00 1F */ li r30, 0x1f
+/* 803038CC 002FF52C 3B E0 00 20 */ li r31, 0x20
+/* 803038D0 002FF530 39 80 00 21 */ li r12, 0x21
+/* 803038D4 002FF534 9B 63 00 63 */ stb r27, 0x63(r3)
+/* 803038D8 002FF538 3B 20 00 22 */ li r25, 0x22
+/* 803038DC 002FF53C 3B 40 00 23 */ li r26, 0x23
+/* 803038E0 002FF540 3B 60 00 24 */ li r27, 0x24
+/* 803038E4 002FF544 9B 83 00 64 */ stb r28, 0x64(r3)
+/* 803038E8 002FF548 3B 80 00 25 */ li r28, 0x25
+/* 803038EC 002FF54C 39 60 00 32 */ li r11, 0x32
+/* 803038F0 002FF550 39 40 00 33 */ li r10, 0x33
+/* 803038F4 002FF554 9B A3 00 65 */ stb r29, 0x65(r3)
+/* 803038F8 002FF558 3B A0 00 26 */ li r29, 0x26
+/* 803038FC 002FF55C 39 20 00 34 */ li r9, 0x34
+/* 80303900 002FF560 39 00 00 35 */ li r8, 0x35
+/* 80303904 002FF564 9B C3 00 66 */ stb r30, 0x66(r3)
+/* 80303908 002FF568 3B C0 00 27 */ li r30, 0x27
+/* 8030390C 002FF56C 38 E0 00 36 */ li r7, 0x36
+/* 80303910 002FF570 38 C0 00 37 */ li r6, 0x37
+/* 80303914 002FF574 9B E3 00 67 */ stb r31, 0x67(r3)
+/* 80303918 002FF578 3B E0 00 28 */ li r31, 0x28
+/* 8030391C 002FF57C 38 A0 00 38 */ li r5, 0x38
+/* 80303920 002FF580 38 80 00 3E */ li r4, 0x3e
+/* 80303924 002FF584 99 83 00 68 */ stb r12, 0x68(r3)
+/* 80303928 002FF588 39 80 00 29 */ li r12, 0x29
+/* 8030392C 002FF58C 38 00 00 3F */ li r0, 0x3f
+/* 80303930 002FF590 9B 23 00 69 */ stb r25, 0x69(r3)
+/* 80303934 002FF594 3B 20 00 2A */ li r25, 0x2a
+/* 80303938 002FF598 9B 43 00 6A */ stb r26, 0x6a(r3)
+/* 8030393C 002FF59C 3B 40 00 2B */ li r26, 0x2b
+/* 80303940 002FF5A0 9B 63 00 6B */ stb r27, 0x6b(r3)
+/* 80303944 002FF5A4 3B 60 00 2C */ li r27, 0x2c
+/* 80303948 002FF5A8 9B 83 00 6C */ stb r28, 0x6c(r3)
+/* 8030394C 002FF5AC 3B 80 00 2D */ li r28, 0x2d
+/* 80303950 002FF5B0 9B A3 00 6D */ stb r29, 0x6d(r3)
+/* 80303954 002FF5B4 3B A0 00 2E */ li r29, 0x2e
+/* 80303958 002FF5B8 9B C3 00 6E */ stb r30, 0x6e(r3)
+/* 8030395C 002FF5BC 3B C0 00 2F */ li r30, 0x2f
+/* 80303960 002FF5C0 9B E3 00 6F */ stb r31, 0x6f(r3)
+/* 80303964 002FF5C4 3B E0 00 30 */ li r31, 0x30
+/* 80303968 002FF5C8 99 83 00 70 */ stb r12, 0x70(r3)
+/* 8030396C 002FF5CC 39 80 00 31 */ li r12, 0x31
+/* 80303970 002FF5D0 9B 23 00 71 */ stb r25, 0x71(r3)
+/* 80303974 002FF5D4 9B 43 00 72 */ stb r26, 0x72(r3)
+/* 80303978 002FF5D8 9B 63 00 73 */ stb r27, 0x73(r3)
+/* 8030397C 002FF5DC 9B 83 00 74 */ stb r28, 0x74(r3)
+/* 80303980 002FF5E0 9B A3 00 75 */ stb r29, 0x75(r3)
+/* 80303984 002FF5E4 9B C3 00 76 */ stb r30, 0x76(r3)
+/* 80303988 002FF5E8 9B E3 00 77 */ stb r31, 0x77(r3)
+/* 8030398C 002FF5EC 99 83 00 78 */ stb r12, 0x78(r3)
+/* 80303990 002FF5F0 99 63 00 79 */ stb r11, 0x79(r3)
+/* 80303994 002FF5F4 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303998 002FF5F8 99 43 00 7A */ stb r10, 0x7a(r3)
+/* 8030399C 002FF5FC 99 23 00 30 */ stb r9, 0x30(r3)
+/* 803039A0 002FF600 39 20 00 39 */ li r9, 0x39
+/* 803039A4 002FF604 99 03 00 31 */ stb r8, 0x31(r3)
+/* 803039A8 002FF608 39 00 00 3A */ li r8, 0x3a
+/* 803039AC 002FF60C 98 E3 00 32 */ stb r7, 0x32(r3)
+/* 803039B0 002FF610 38 E0 00 3B */ li r7, 0x3b
+/* 803039B4 002FF614 98 C3 00 33 */ stb r6, 0x33(r3)
+/* 803039B8 002FF618 38 C0 00 3C */ li r6, 0x3c
+/* 803039BC 002FF61C 98 A3 00 34 */ stb r5, 0x34(r3)
+/* 803039C0 002FF620 38 A0 00 3D */ li r5, 0x3d
+/* 803039C4 002FF624 99 23 00 35 */ stb r9, 0x35(r3)
+/* 803039C8 002FF628 99 03 00 36 */ stb r8, 0x36(r3)
+/* 803039CC 002FF62C 98 E3 00 37 */ stb r7, 0x37(r3)
+/* 803039D0 002FF630 98 C3 00 38 */ stb r6, 0x38(r3)
+/* 803039D4 002FF634 98 A3 00 39 */ stb r5, 0x39(r3)
+/* 803039D8 002FF638 98 83 00 2B */ stb r4, 0x2b(r3)
+/* 803039DC 002FF63C 98 03 00 2F */ stb r0, 0x2f(r3)
+/* 803039E0 002FF640 4B EC 37 8D */ bl _restgpr_25
+/* 803039E4 002FF644 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803039E8 002FF648 7C 08 03 A6 */ mtlr r0
+/* 803039EC 002FF64C 38 21 00 30 */ addi r1, r1, 0x30
+/* 803039F0 002FF650 4E 80 00 20 */ blr
+
+.global func_803039F4
+func_803039F4:
+/* 803039F4 002FF654 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803039F8 002FF658 7C 08 02 A6 */ mflr r0
+/* 803039FC 002FF65C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303A00 002FF660 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303A04 002FF664 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303A08 002FF668 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303A0C 002FF66C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303A10 002FF670 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303A14 002FF674 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303A18 002FF678 40 82 00 5C */ bne lbl_80303A74
+/* 80303A1C 002FF67C 4B F6 AD 41 */ bl OSDisableInterrupts
+/* 80303A20 002FF680 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303A24 002FF684 7C 7E 1B 78 */ mr r30, r3
+/* 80303A28 002FF688 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303A2C 002FF68C 40 82 00 40 */ bne lbl_80303A6C
+/* 80303A30 002FF690 38 7F 00 00 */ addi r3, r31, 0
+/* 80303A34 002FF694 4B F6 BE DD */ bl OSInitMutex
+/* 80303A38 002FF698 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303A3C 002FF69C 4B F6 BE D5 */ bl OSInitMutex
+/* 80303A40 002FF6A0 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303A44 002FF6A4 38 80 00 00 */ li r4, 0
+/* 80303A48 002FF6A8 38 A0 00 20 */ li r5, 0x20
+/* 80303A4C 002FF6AC 4B D0 06 B9 */ bl memset
+/* 80303A50 002FF6B0 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303A54 002FF6B4 38 80 00 00 */ li r4, 0
+/* 80303A58 002FF6B8 38 A0 00 20 */ li r5, 0x20
+/* 80303A5C 002FF6BC 4B D0 06 A9 */ bl memset
+/* 80303A60 002FF6C0 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303A64 002FF6C4 60 00 00 01 */ ori r0, r0, 1
+/* 80303A68 002FF6C8 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303A6C:
+/* 80303A6C 002FF6CC 7F C3 F3 78 */ mr r3, r30
+/* 80303A70 002FF6D0 4B F6 AD 15 */ bl OSRestoreInterrupts
+lbl_80303A74:
+/* 80303A74 002FF6D4 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303A78 002FF6D8 4B F6 BE D1 */ bl OSLockMutex
+/* 80303A7C 002FF6DC 48 00 04 E1 */ bl func_80303F5C
+/* 80303A80 002FF6E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80303A84 002FF6E4 7C 7E 1B 78 */ mr r30, r3
+/* 80303A88 002FF6E8 41 80 00 18 */ blt lbl_80303AA0
+/* 80303A8C 002FF6EC 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303A90 002FF6F0 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
+/* 80303A94 002FF6F4 38 84 00 01 */ addi r4, r4, 1
+/* 80303A98 002FF6F8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303A9C 002FF6FC 7F C0 18 50 */ subf r30, r0, r3
+lbl_80303AA0:
+/* 80303AA0 002FF700 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303AA4 002FF704 4B F6 BF 81 */ bl OSUnlockMutex
+/* 80303AA8 002FF708 7F C3 F3 78 */ mr r3, r30
+/* 80303AAC 002FF70C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303AB0 002FF710 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303AB4 002FF714 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303AB8 002FF718 7C 08 03 A6 */ mtlr r0
+/* 80303ABC 002FF71C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303AC0 002FF720 4E 80 00 20 */ blr
+
+.global func_80303AC4
+func_80303AC4:
+/* 80303AC4 002FF724 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303AC8 002FF728 7C 08 02 A6 */ mflr r0
+/* 80303ACC 002FF72C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303AD0 002FF730 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303AD4 002FF734 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303AD8 002FF738 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303ADC 002FF73C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303AE0 002FF740 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303AE4 002FF744 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303AE8 002FF748 40 82 00 5C */ bne lbl_80303B44
+/* 80303AEC 002FF74C 4B F6 AC 71 */ bl OSDisableInterrupts
+/* 80303AF0 002FF750 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303AF4 002FF754 7C 7E 1B 78 */ mr r30, r3
+/* 80303AF8 002FF758 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303AFC 002FF75C 40 82 00 40 */ bne lbl_80303B3C
+/* 80303B00 002FF760 38 7F 00 00 */ addi r3, r31, 0
+/* 80303B04 002FF764 4B F6 BE 0D */ bl OSInitMutex
+/* 80303B08 002FF768 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303B0C 002FF76C 4B F6 BE 05 */ bl OSInitMutex
+/* 80303B10 002FF770 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303B14 002FF774 38 80 00 00 */ li r4, 0
+/* 80303B18 002FF778 38 A0 00 20 */ li r5, 0x20
+/* 80303B1C 002FF77C 4B D0 05 E9 */ bl memset
+/* 80303B20 002FF780 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303B24 002FF784 38 80 00 00 */ li r4, 0
+/* 80303B28 002FF788 38 A0 00 20 */ li r5, 0x20
+/* 80303B2C 002FF78C 4B D0 05 D9 */ bl memset
+/* 80303B30 002FF790 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303B34 002FF794 60 00 00 01 */ ori r0, r0, 1
+/* 80303B38 002FF798 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303B3C:
+/* 80303B3C 002FF79C 7F C3 F3 78 */ mr r3, r30
+/* 80303B40 002FF7A0 4B F6 AC 45 */ bl OSRestoreInterrupts
+lbl_80303B44:
+/* 80303B44 002FF7A4 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303B48 002FF7A8 4B F6 BE 01 */ bl OSLockMutex
+/* 80303B4C 002FF7AC 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
+/* 80303B50 002FF7B0 2C 00 00 00 */ cmpwi r0, 0
+/* 80303B54 002FF7B4 40 81 00 18 */ ble lbl_80303B6C
+/* 80303B58 002FF7B8 80 0D AF B4 */ lwz r0, lbl_80640274-_SDA_BASE_(r13)
+/* 80303B5C 002FF7BC 2C 00 00 00 */ cmpwi r0, 0
+/* 80303B60 002FF7C0 40 82 00 0C */ bne lbl_80303B6C
+/* 80303B64 002FF7C4 3B C0 00 00 */ li r30, 0
+/* 80303B68 002FF7C8 48 00 00 28 */ b lbl_80303B90
+lbl_80303B6C:
+/* 80303B6C 002FF7CC 48 00 05 8D */ bl func_803040F8
+/* 80303B70 002FF7D0 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303B74 002FF7D4 7C 7E 1B 78 */ mr r30, r3
+/* 80303B78 002FF7D8 2C 04 00 00 */ cmpwi r4, 0
+/* 80303B7C 002FF7DC 40 81 00 14 */ ble lbl_80303B90
+/* 80303B80 002FF7E0 38 84 FF FF */ addi r4, r4, -1
+/* 80303B84 002FF7E4 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
+/* 80303B88 002FF7E8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303B8C 002FF7EC 7F C0 18 50 */ subf r30, r0, r3
+lbl_80303B90:
+/* 80303B90 002FF7F0 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303B94 002FF7F4 4B F6 BE 91 */ bl OSUnlockMutex
+/* 80303B98 002FF7F8 7F C3 F3 78 */ mr r3, r30
+/* 80303B9C 002FF7FC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303BA0 002FF800 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303BA4 002FF804 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303BA8 002FF808 7C 08 03 A6 */ mtlr r0
+/* 80303BAC 002FF80C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303BB0 002FF810 4E 80 00 20 */ blr
+
+.global func_80303BB4
+func_80303BB4:
+/* 80303BB4 002FF814 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80303BB8 002FF818 7C 08 02 A6 */ mflr r0
+/* 80303BBC 002FF81C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80303BC0 002FF820 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303BC4 002FF824 4B EC 35 65 */ bl _savegpr_27
+/* 80303BC8 002FF828 3F A0 80 58 */ lis r29, lbl_8057E7A0@ha
+/* 80303BCC 002FF82C 7C 7B 1B 78 */ mr r27, r3
+/* 80303BD0 002FF830 7C 9F 23 78 */ mr r31, r4
+/* 80303BD4 002FF834 3B BD E7 A0 */ addi r29, r29, lbl_8057E7A0@l
+/* 80303BD8 002FF838 4B F6 D7 21 */ bl OSGetCurrentThread
+/* 80303BDC 002FF83C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303BE0 002FF840 40 82 00 0C */ bne lbl_80303BEC
+/* 80303BE4 002FF844 38 60 FF FF */ li r3, -1
+/* 80303BE8 002FF848 48 00 00 28 */ b lbl_80303C10
+lbl_80303BEC:
+/* 80303BEC 002FF84C 4B FF F6 F9 */ bl func_803032E4
+/* 80303BF0 002FF850 2C 03 00 00 */ cmpwi r3, 0
+/* 80303BF4 002FF854 40 82 00 10 */ bne lbl_80303C04
+/* 80303BF8 002FF858 4B FF F7 01 */ bl func_803032F8
+/* 80303BFC 002FF85C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303C00 002FF860 41 82 00 0C */ beq lbl_80303C0C
+lbl_80303C04:
+/* 80303C04 002FF864 38 60 FF F6 */ li r3, -10
+/* 80303C08 002FF868 48 00 00 08 */ b lbl_80303C10
+lbl_80303C0C:
+/* 80303C0C 002FF86C 38 60 00 00 */ li r3, 0
+lbl_80303C10:
+/* 80303C10 002FF870 2C 03 00 00 */ cmpwi r3, 0
+/* 80303C14 002FF874 40 80 00 08 */ bge lbl_80303C1C
+/* 80303C18 002FF878 48 00 01 40 */ b lbl_80303D58
+lbl_80303C1C:
+/* 80303C1C 002FF87C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303C20 002FF880 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303C24 002FF884 40 82 00 5C */ bne lbl_80303C80
+/* 80303C28 002FF888 4B F6 AB 35 */ bl OSDisableInterrupts
+/* 80303C2C 002FF88C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303C30 002FF890 7C 7E 1B 78 */ mr r30, r3
+/* 80303C34 002FF894 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303C38 002FF898 40 82 00 40 */ bne lbl_80303C78
+/* 80303C3C 002FF89C 38 7D 00 00 */ addi r3, r29, 0
+/* 80303C40 002FF8A0 4B F6 BC D1 */ bl OSInitMutex
+/* 80303C44 002FF8A4 38 7D 00 18 */ addi r3, r29, 0x18
+/* 80303C48 002FF8A8 4B F6 BC C9 */ bl OSInitMutex
+/* 80303C4C 002FF8AC 38 7D 00 40 */ addi r3, r29, 0x40
+/* 80303C50 002FF8B0 38 80 00 00 */ li r4, 0
+/* 80303C54 002FF8B4 38 A0 00 20 */ li r5, 0x20
+/* 80303C58 002FF8B8 4B D0 04 AD */ bl memset
+/* 80303C5C 002FF8BC 38 7D 00 60 */ addi r3, r29, 0x60
+/* 80303C60 002FF8C0 38 80 00 00 */ li r4, 0
+/* 80303C64 002FF8C4 38 A0 00 20 */ li r5, 0x20
+/* 80303C68 002FF8C8 4B D0 04 9D */ bl memset
+/* 80303C6C 002FF8CC 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303C70 002FF8D0 60 00 00 01 */ ori r0, r0, 1
+/* 80303C74 002FF8D4 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303C78:
+/* 80303C78 002FF8D8 7F C3 F3 78 */ mr r3, r30
+/* 80303C7C 002FF8DC 4B F6 AB 09 */ bl OSRestoreInterrupts
+lbl_80303C80:
+/* 80303C80 002FF8E0 38 7D 00 00 */ addi r3, r29, 0
+/* 80303C84 002FF8E4 4B F6 BC C5 */ bl OSLockMutex
+/* 80303C88 002FF8E8 3F C0 80 44 */ lis r30, lbl_804464D4@ha
+/* 80303C8C 002FF8EC 3C 80 80 44 */ lis r4, lbl_804464C0@ha
+/* 80303C90 002FF8F0 38 7E 64 D4 */ addi r3, r30, lbl_804464D4@l
+/* 80303C94 002FF8F4 38 A1 00 08 */ addi r5, r1, 8
+/* 80303C98 002FF8F8 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
+/* 80303C9C 002FF8FC 38 C0 00 00 */ li r6, 0
+/* 80303CA0 002FF900 48 00 09 DD */ bl func_8030467C
+/* 80303CA4 002FF904 2C 03 00 00 */ cmpwi r3, 0
+/* 80303CA8 002FF908 7C 7C 1B 78 */ mr r28, r3
+/* 80303CAC 002FF90C 41 80 00 A0 */ blt lbl_80303D4C
+/* 80303CB0 002FF910 80 81 00 08 */ lwz r4, 8(r1)
+/* 80303CB4 002FF914 38 7E 64 D4 */ addi r3, r30, 0x64d4
+/* 80303CB8 002FF918 39 1D 00 60 */ addi r8, r29, 0x60
+/* 80303CBC 002FF91C 38 A0 00 0F */ li r5, 0xf
+/* 80303CC0 002FF920 38 C0 00 00 */ li r6, 0
+/* 80303CC4 002FF924 38 E0 00 00 */ li r7, 0
+/* 80303CC8 002FF928 39 20 00 20 */ li r9, 0x20
+/* 80303CCC 002FF92C 48 00 0A 5D */ bl func_80304728
+/* 80303CD0 002FF930 2C 03 00 00 */ cmpwi r3, 0
+/* 80303CD4 002FF934 7C 7C 1B 78 */ mr r28, r3
+/* 80303CD8 002FF938 41 80 00 58 */ blt lbl_80303D30
+/* 80303CDC 002FF93C 83 9D 00 60 */ lwz r28, 0x60(r29)
+/* 80303CE0 002FF940 2C 1C 00 00 */ cmpwi r28, 0
+/* 80303CE4 002FF944 41 82 00 14 */ beq lbl_80303CF8
+/* 80303CE8 002FF948 2C 1C FF DD */ cmpwi r28, -35
+/* 80303CEC 002FF94C 41 82 00 0C */ beq lbl_80303CF8
+/* 80303CF0 002FF950 2C 1C FF DC */ cmpwi r28, -36
+/* 80303CF4 002FF954 40 82 00 3C */ bne lbl_80303D30
+lbl_80303CF8:
+/* 80303CF8 002FF958 38 00 00 00 */ li r0, 0
+/* 80303CFC 002FF95C 7C 1B 00 40 */ cmplw r27, r0
+/* 80303D00 002FF960 41 82 00 18 */ beq lbl_80303D18
+/* 80303D04 002FF964 38 7D 00 60 */ addi r3, r29, 0x60
+/* 80303D08 002FF968 80 03 00 04 */ lwz r0, 4(r3)
+/* 80303D0C 002FF96C 80 63 00 08 */ lwz r3, 8(r3)
+/* 80303D10 002FF970 90 7B 00 04 */ stw r3, 4(r27)
+/* 80303D14 002FF974 90 1B 00 00 */ stw r0, 0(r27)
+lbl_80303D18:
+/* 80303D18 002FF978 38 00 00 00 */ li r0, 0
+/* 80303D1C 002FF97C 7C 1F 00 40 */ cmplw r31, r0
+/* 80303D20 002FF980 41 82 00 10 */ beq lbl_80303D30
+/* 80303D24 002FF984 38 7D 00 60 */ addi r3, r29, 0x60
+/* 80303D28 002FF988 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80303D2C 002FF98C 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80303D30:
+/* 80303D30 002FF990 3C 60 80 44 */ lis r3, lbl_804464D4@ha
+/* 80303D34 002FF994 80 81 00 08 */ lwz r4, 8(r1)
+/* 80303D38 002FF998 38 63 64 D4 */ addi r3, r3, lbl_804464D4@l
+/* 80303D3C 002FF99C 48 00 09 B9 */ bl func_803046F4
+/* 80303D40 002FF9A0 2C 1C 00 00 */ cmpwi r28, 0
+/* 80303D44 002FF9A4 41 80 00 08 */ blt lbl_80303D4C
+/* 80303D48 002FF9A8 7C 7C 1B 78 */ mr r28, r3
+lbl_80303D4C:
+/* 80303D4C 002FF9AC 38 7D 00 00 */ addi r3, r29, 0
+/* 80303D50 002FF9B0 4B F6 BC D5 */ bl OSUnlockMutex
+/* 80303D54 002FF9B4 7F 83 E3 78 */ mr r3, r28
+lbl_80303D58:
+/* 80303D58 002FF9B8 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303D5C 002FF9BC 4B EC 34 19 */ bl _restgpr_27
+/* 80303D60 002FF9C0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80303D64 002FF9C4 7C 08 03 A6 */ mtlr r0
+/* 80303D68 002FF9C8 38 21 00 30 */ addi r1, r1, 0x30
+/* 80303D6C 002FF9CC 4E 80 00 20 */ blr
+
+.global func_80303D70
+func_80303D70:
+/* 80303D70 002FF9D0 7C 65 1B 78 */ mr r5, r3
+/* 80303D74 002FF9D4 38 60 00 00 */ li r3, 0
+/* 80303D78 002FF9D8 38 80 00 06 */ li r4, 6
+/* 80303D7C 002FF9DC 48 00 03 8C */ b lbl_80304108
+
+.global func_80303D80
+func_80303D80:
+/* 80303D80 002FF9E0 7C 65 1B 78 */ mr r5, r3
+/* 80303D84 002FF9E4 38 60 00 00 */ li r3, 0
+/* 80303D88 002FF9E8 38 80 00 07 */ li r4, 7
+/* 80303D8C 002FF9EC 48 00 03 7C */ b lbl_80304108
+
+.global func_80303D90
+func_80303D90:
+/* 80303D90 002FF9F0 38 60 00 00 */ li r3, 0
+/* 80303D94 002FF9F4 38 80 00 08 */ li r4, 8
+/* 80303D98 002FF9F8 38 A0 00 00 */ li r5, 0
+/* 80303D9C 002FF9FC 48 00 03 6C */ b lbl_80304108
+
+.global func_80303DA0
+func_80303DA0:
+/* 80303DA0 002FFA00 38 60 00 00 */ li r3, 0
+/* 80303DA4 002FFA04 38 80 00 09 */ li r4, 9
+/* 80303DA8 002FFA08 38 A0 00 00 */ li r5, 0
+/* 80303DAC 002FFA0C 48 00 03 5C */ b lbl_80304108
+
+.global func_80303DB0
+func_80303DB0:
+/* 80303DB0 002FFA10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303DB4 002FFA14 7C 08 02 A6 */ mflr r0
+/* 80303DB8 002FFA18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303DBC 002FFA1C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303DC0 002FFA20 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303DC4 002FFA24 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303DC8 002FFA28 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303DCC 002FFA2C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303DD0 002FFA30 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303DD4 002FFA34 40 82 00 5C */ bne lbl_80303E30
+/* 80303DD8 002FFA38 4B F6 A9 85 */ bl OSDisableInterrupts
+/* 80303DDC 002FFA3C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303DE0 002FFA40 7C 7E 1B 78 */ mr r30, r3
+/* 80303DE4 002FFA44 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303DE8 002FFA48 40 82 00 40 */ bne lbl_80303E28
+/* 80303DEC 002FFA4C 38 7F 00 00 */ addi r3, r31, 0
+/* 80303DF0 002FFA50 4B F6 BB 21 */ bl OSInitMutex
+/* 80303DF4 002FFA54 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303DF8 002FFA58 4B F6 BB 19 */ bl OSInitMutex
+/* 80303DFC 002FFA5C 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303E00 002FFA60 38 80 00 00 */ li r4, 0
+/* 80303E04 002FFA64 38 A0 00 20 */ li r5, 0x20
+/* 80303E08 002FFA68 4B D0 02 FD */ bl memset
+/* 80303E0C 002FFA6C 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303E10 002FFA70 38 80 00 00 */ li r4, 0
+/* 80303E14 002FFA74 38 A0 00 20 */ li r5, 0x20
+/* 80303E18 002FFA78 4B D0 02 ED */ bl memset
+/* 80303E1C 002FFA7C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303E20 002FFA80 60 00 00 01 */ ori r0, r0, 1
+/* 80303E24 002FFA84 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303E28:
+/* 80303E28 002FFA88 7F C3 F3 78 */ mr r3, r30
+/* 80303E2C 002FFA8C 4B F6 A9 59 */ bl OSRestoreInterrupts
+lbl_80303E30:
+/* 80303E30 002FFA90 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303E34 002FFA94 4B F6 BD 25 */ bl OSTryLockMutex
+/* 80303E38 002FFA98 2C 03 00 00 */ cmpwi r3, 0
+/* 80303E3C 002FFA9C 40 82 00 0C */ bne lbl_80303E48
+/* 80303E40 002FFAA0 38 60 FF EA */ li r3, -22
+/* 80303E44 002FFAA4 48 00 00 34 */ b lbl_80303E78
+lbl_80303E48:
+/* 80303E48 002FFAA8 38 60 00 00 */ li r3, 0
+/* 80303E4C 002FFAAC 48 00 01 21 */ bl func_80303F6C
+/* 80303E50 002FFAB0 2C 03 00 00 */ cmpwi r3, 0
+/* 80303E54 002FFAB4 7C 7E 1B 78 */ mr r30, r3
+/* 80303E58 002FFAB8 41 80 00 14 */ blt lbl_80303E6C
+/* 80303E5C 002FFABC 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
+/* 80303E60 002FFAC0 3B C0 00 00 */ li r30, 0
+/* 80303E64 002FFAC4 38 03 00 01 */ addi r0, r3, 1
+/* 80303E68 002FFAC8 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
+lbl_80303E6C:
+/* 80303E6C 002FFACC 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303E70 002FFAD0 4B F6 BB B5 */ bl OSUnlockMutex
+/* 80303E74 002FFAD4 7F C3 F3 78 */ mr r3, r30
+lbl_80303E78:
+/* 80303E78 002FFAD8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303E7C 002FFADC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303E80 002FFAE0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303E84 002FFAE4 7C 08 03 A6 */ mtlr r0
+/* 80303E88 002FFAE8 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303E8C 002FFAEC 4E 80 00 20 */ blr
+
+.global func_80303E90
+func_80303E90:
+/* 80303E90 002FFAF0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303E94 002FFAF4 7C 08 02 A6 */ mflr r0
+/* 80303E98 002FFAF8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303E9C 002FFAFC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303EA0 002FFB00 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303EA4 002FFB04 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303EA8 002FFB08 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303EAC 002FFB0C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303EB0 002FFB10 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303EB4 002FFB14 40 82 00 5C */ bne lbl_80303F10
+/* 80303EB8 002FFB18 4B F6 A8 A5 */ bl OSDisableInterrupts
+/* 80303EBC 002FFB1C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303EC0 002FFB20 7C 7E 1B 78 */ mr r30, r3
+/* 80303EC4 002FFB24 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303EC8 002FFB28 40 82 00 40 */ bne lbl_80303F08
+/* 80303ECC 002FFB2C 38 7F 00 00 */ addi r3, r31, 0
+/* 80303ED0 002FFB30 4B F6 BA 41 */ bl OSInitMutex
+/* 80303ED4 002FFB34 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303ED8 002FFB38 4B F6 BA 39 */ bl OSInitMutex
+/* 80303EDC 002FFB3C 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303EE0 002FFB40 38 80 00 00 */ li r4, 0
+/* 80303EE4 002FFB44 38 A0 00 20 */ li r5, 0x20
+/* 80303EE8 002FFB48 4B D0 02 1D */ bl memset
+/* 80303EEC 002FFB4C 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303EF0 002FFB50 38 80 00 00 */ li r4, 0
+/* 80303EF4 002FFB54 38 A0 00 20 */ li r5, 0x20
+/* 80303EF8 002FFB58 4B D0 02 0D */ bl memset
+/* 80303EFC 002FFB5C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303F00 002FFB60 60 00 00 01 */ ori r0, r0, 1
+/* 80303F04 002FFB64 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303F08:
+/* 80303F08 002FFB68 7F C3 F3 78 */ mr r3, r30
+/* 80303F0C 002FFB6C 4B F6 A8 79 */ bl OSRestoreInterrupts
+lbl_80303F10:
+/* 80303F10 002FFB70 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303F14 002FFB74 4B F6 BA 35 */ bl OSLockMutex
+/* 80303F18 002FFB78 48 00 01 E1 */ bl func_803040F8
+/* 80303F1C 002FFB7C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303F20 002FFB80 7C 7E 1B 78 */ mr r30, r3
+/* 80303F24 002FFB84 41 80 00 14 */ blt lbl_80303F38
+/* 80303F28 002FFB88 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
+/* 80303F2C 002FFB8C 3B C0 00 00 */ li r30, 0
+/* 80303F30 002FFB90 38 03 FF FF */ addi r0, r3, -1
+/* 80303F34 002FFB94 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
+lbl_80303F38:
+/* 80303F38 002FFB98 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303F3C 002FFB9C 4B F6 BA E9 */ bl OSUnlockMutex
+/* 80303F40 002FFBA0 7F C3 F3 78 */ mr r3, r30
+/* 80303F44 002FFBA4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303F48 002FFBA8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303F4C 002FFBAC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303F50 002FFBB0 7C 08 03 A6 */ mtlr r0
+/* 80303F54 002FFBB4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303F58 002FFBB8 4E 80 00 20 */ blr
+
+.global func_80303F5C
+func_80303F5C:
+/* 80303F5C 002FFBBC 38 60 00 00 */ li r3, 0
+/* 80303F60 002FFBC0 38 80 00 01 */ li r4, 1
+/* 80303F64 002FFBC4 38 A0 00 00 */ li r5, 0
+/* 80303F68 002FFBC8 48 00 01 A0 */ b lbl_80304108
+
+.global func_80303F6C
+func_80303F6C:
+/* 80303F6C 002FFBCC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80303F70 002FFBD0 7C 08 02 A6 */ mflr r0
+/* 80303F74 002FFBD4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80303F78 002FFBD8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80303F7C 002FFBDC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80303F80 002FFBE0 3F C0 80 58 */ lis r30, lbl_8057E7A0@ha
+/* 80303F84 002FFBE4 3B DE E7 A0 */ addi r30, r30, lbl_8057E7A0@l
+/* 80303F88 002FFBE8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80303F8C 002FFBEC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80303F90 002FFBF0 7C 7C 1B 78 */ mr r28, r3
+/* 80303F94 002FFBF4 4B F6 D3 65 */ bl OSGetCurrentThread
+/* 80303F98 002FFBF8 2C 03 00 00 */ cmpwi r3, 0
+/* 80303F9C 002FFBFC 40 82 00 0C */ bne lbl_80303FA8
+/* 80303FA0 002FFC00 38 60 FF FF */ li r3, -1
+/* 80303FA4 002FFC04 48 00 00 28 */ b lbl_80303FCC
+lbl_80303FA8:
+/* 80303FA8 002FFC08 4B FF F3 3D */ bl func_803032E4
+/* 80303FAC 002FFC0C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303FB0 002FFC10 40 82 00 10 */ bne lbl_80303FC0
+/* 80303FB4 002FFC14 4B FF F3 45 */ bl func_803032F8
+/* 80303FB8 002FFC18 2C 03 00 00 */ cmpwi r3, 0
+/* 80303FBC 002FFC1C 41 82 00 0C */ beq lbl_80303FC8
+lbl_80303FC0:
+/* 80303FC0 002FFC20 38 60 FF F6 */ li r3, -10
+/* 80303FC4 002FFC24 48 00 00 08 */ b lbl_80303FCC
+lbl_80303FC8:
+/* 80303FC8 002FFC28 38 60 00 00 */ li r3, 0
+lbl_80303FCC:
+/* 80303FCC 002FFC2C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303FD0 002FFC30 40 80 00 08 */ bge lbl_80303FD8
+/* 80303FD4 002FFC34 48 00 01 04 */ b lbl_803040D8
+lbl_80303FD8:
+/* 80303FD8 002FFC38 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303FDC 002FFC3C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303FE0 002FFC40 40 82 00 5C */ bne lbl_8030403C
+/* 80303FE4 002FFC44 4B F6 A7 79 */ bl OSDisableInterrupts
+/* 80303FE8 002FFC48 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303FEC 002FFC4C 7C 7F 1B 78 */ mr r31, r3
+/* 80303FF0 002FFC50 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303FF4 002FFC54 40 82 00 40 */ bne lbl_80304034
+/* 80303FF8 002FFC58 38 7E 00 00 */ addi r3, r30, 0
+/* 80303FFC 002FFC5C 4B F6 B9 15 */ bl OSInitMutex
+/* 80304000 002FFC60 38 7E 00 18 */ addi r3, r30, 0x18
+/* 80304004 002FFC64 4B F6 B9 0D */ bl OSInitMutex
+/* 80304008 002FFC68 38 7E 00 40 */ addi r3, r30, 0x40
+/* 8030400C 002FFC6C 38 80 00 00 */ li r4, 0
+/* 80304010 002FFC70 38 A0 00 20 */ li r5, 0x20
+/* 80304014 002FFC74 4B D0 00 F1 */ bl memset
+/* 80304018 002FFC78 38 7E 00 60 */ addi r3, r30, 0x60
+/* 8030401C 002FFC7C 38 80 00 00 */ li r4, 0
+/* 80304020 002FFC80 38 A0 00 20 */ li r5, 0x20
+/* 80304024 002FFC84 4B D0 00 E1 */ bl memset
+/* 80304028 002FFC88 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 8030402C 002FFC8C 60 00 00 01 */ ori r0, r0, 1
+/* 80304030 002FFC90 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80304034:
+/* 80304034 002FFC94 7F E3 FB 78 */ mr r3, r31
+/* 80304038 002FFC98 4B F6 A7 4D */ bl OSRestoreInterrupts
+lbl_8030403C:
+/* 8030403C 002FFC9C 38 7E 00 00 */ addi r3, r30, 0
+/* 80304040 002FFCA0 4B F6 BB 19 */ bl OSTryLockMutex
+/* 80304044 002FFCA4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304048 002FFCA8 40 82 00 0C */ bne lbl_80304054
+/* 8030404C 002FFCAC 38 60 FF EA */ li r3, -22
+/* 80304050 002FFCB0 48 00 00 88 */ b lbl_803040D8
+lbl_80304054:
+/* 80304054 002FFCB4 3F E0 80 44 */ lis r31, lbl_804464F0@ha
+/* 80304058 002FFCB8 3C 80 80 44 */ lis r4, lbl_804464C0@ha
+/* 8030405C 002FFCBC 38 7F 64 F0 */ addi r3, r31, lbl_804464F0@l
+/* 80304060 002FFCC0 38 A1 00 08 */ addi r5, r1, 8
+/* 80304064 002FFCC4 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
+/* 80304068 002FFCC8 38 C0 00 00 */ li r6, 0
+/* 8030406C 002FFCCC 48 00 06 11 */ bl func_8030467C
+/* 80304070 002FFCD0 2C 03 00 00 */ cmpwi r3, 0
+/* 80304074 002FFCD4 7C 7D 1B 78 */ mr r29, r3
+/* 80304078 002FFCD8 41 80 00 54 */ blt lbl_803040CC
+/* 8030407C 002FFCDC 93 9E 00 40 */ stw r28, 0x40(r30)
+/* 80304080 002FFCE0 38 7F 64 F0 */ addi r3, r31, 0x64f0
+/* 80304084 002FFCE4 80 81 00 08 */ lwz r4, 8(r1)
+/* 80304088 002FFCE8 38 DE 00 40 */ addi r6, r30, 0x40
+/* 8030408C 002FFCEC 39 1E 00 60 */ addi r8, r30, 0x60
+/* 80304090 002FFCF0 38 A0 00 02 */ li r5, 2
+/* 80304094 002FFCF4 38 E0 00 20 */ li r7, 0x20
+/* 80304098 002FFCF8 39 20 00 20 */ li r9, 0x20
+/* 8030409C 002FFCFC 48 00 06 8D */ bl func_80304728
+/* 803040A0 002FFD00 2C 03 00 00 */ cmpwi r3, 0
+/* 803040A4 002FFD04 7C 7D 1B 78 */ mr r29, r3
+/* 803040A8 002FFD08 41 80 00 08 */ blt lbl_803040B0
+/* 803040AC 002FFD0C 83 BE 00 60 */ lwz r29, 0x60(r30)
+lbl_803040B0:
+/* 803040B0 002FFD10 3C 60 80 44 */ lis r3, lbl_804464F0@ha
+/* 803040B4 002FFD14 80 81 00 08 */ lwz r4, 8(r1)
+/* 803040B8 002FFD18 38 63 64 F0 */ addi r3, r3, lbl_804464F0@l
+/* 803040BC 002FFD1C 48 00 06 39 */ bl func_803046F4
+/* 803040C0 002FFD20 2C 03 00 00 */ cmpwi r3, 0
+/* 803040C4 002FFD24 40 80 00 08 */ bge lbl_803040CC
+/* 803040C8 002FFD28 7C 7D 1B 78 */ mr r29, r3
+lbl_803040CC:
+/* 803040CC 002FFD2C 38 7E 00 00 */ addi r3, r30, 0
+/* 803040D0 002FFD30 4B F6 B9 55 */ bl OSUnlockMutex
+/* 803040D4 002FFD34 7F A3 EB 78 */ mr r3, r29
+lbl_803040D8:
+/* 803040D8 002FFD38 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803040DC 002FFD3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803040E0 002FFD40 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803040E4 002FFD44 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803040E8 002FFD48 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 803040EC 002FFD4C 7C 08 03 A6 */ mtlr r0
+/* 803040F0 002FFD50 38 21 00 20 */ addi r1, r1, 0x20
+/* 803040F4 002FFD54 4E 80 00 20 */ blr
+
+.global func_803040F8
+func_803040F8:
+/* 803040F8 002FFD58 38 60 00 00 */ li r3, 0
+/* 803040FC 002FFD5C 38 80 00 03 */ li r4, 3
+/* 80304100 002FFD60 38 A0 00 00 */ li r5, 0
+/* 80304104 002FFD64 48 00 00 04 */ b lbl_80304108
+lbl_80304108:
+/* 80304108 002FFD68 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8030410C 002FFD6C 7C 08 02 A6 */ mflr r0
+/* 80304110 002FFD70 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80304114 002FFD74 39 61 00 30 */ addi r11, r1, 0x30
+/* 80304118 002FFD78 4B EC 30 11 */ bl _savegpr_27
+/* 8030411C 002FFD7C 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80304120 002FFD80 7C 7B 1B 78 */ mr r27, r3
+/* 80304124 002FFD84 7C 9C 23 78 */ mr r28, r4
+/* 80304128 002FFD88 7C BD 2B 78 */ mr r29, r5
+/* 8030412C 002FFD8C 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80304130 002FFD90 4B F6 D1 C9 */ bl OSGetCurrentThread
+/* 80304134 002FFD94 2C 03 00 00 */ cmpwi r3, 0
+/* 80304138 002FFD98 40 82 00 0C */ bne lbl_80304144
+/* 8030413C 002FFD9C 38 60 FF FF */ li r3, -1
+/* 80304140 002FFDA0 48 00 01 10 */ b lbl_80304250
+lbl_80304144:
+/* 80304144 002FFDA4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80304148 002FFDA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030414C 002FFDAC 40 82 00 5C */ bne lbl_803041A8
+/* 80304150 002FFDB0 4B F6 A6 0D */ bl OSDisableInterrupts
+/* 80304154 002FFDB4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80304158 002FFDB8 7C 7E 1B 78 */ mr r30, r3
+/* 8030415C 002FFDBC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80304160 002FFDC0 40 82 00 40 */ bne lbl_803041A0
+/* 80304164 002FFDC4 38 7F 00 00 */ addi r3, r31, 0
+/* 80304168 002FFDC8 4B F6 B7 A9 */ bl OSInitMutex
+/* 8030416C 002FFDCC 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80304170 002FFDD0 4B F6 B7 A1 */ bl OSInitMutex
+/* 80304174 002FFDD4 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80304178 002FFDD8 38 80 00 00 */ li r4, 0
+/* 8030417C 002FFDDC 38 A0 00 20 */ li r5, 0x20
+/* 80304180 002FFDE0 4B CF FF 85 */ bl memset
+/* 80304184 002FFDE4 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80304188 002FFDE8 38 80 00 00 */ li r4, 0
+/* 8030418C 002FFDEC 38 A0 00 20 */ li r5, 0x20
+/* 80304190 002FFDF0 4B CF FF 75 */ bl memset
+/* 80304194 002FFDF4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80304198 002FFDF8 60 00 00 01 */ ori r0, r0, 1
+/* 8030419C 002FFDFC 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_803041A0:
+/* 803041A0 002FFE00 7F C3 F3 78 */ mr r3, r30
+/* 803041A4 002FFE04 4B F6 A5 E1 */ bl OSRestoreInterrupts
+lbl_803041A8:
+/* 803041A8 002FFE08 38 7F 00 00 */ addi r3, r31, 0
+/* 803041AC 002FFE0C 4B F6 B7 9D */ bl OSLockMutex
+/* 803041B0 002FFE10 3C 80 80 44 */ lis r4, lbl_804464C0@ha
+/* 803041B4 002FFE14 7F 63 DB 78 */ mr r3, r27
+/* 803041B8 002FFE18 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
+/* 803041BC 002FFE1C 38 A1 00 08 */ addi r5, r1, 8
+/* 803041C0 002FFE20 38 C0 00 00 */ li r6, 0
+/* 803041C4 002FFE24 48 00 04 B9 */ bl func_8030467C
+/* 803041C8 002FFE28 2C 03 00 00 */ cmpwi r3, 0
+/* 803041CC 002FFE2C 7C 7E 1B 78 */ mr r30, r3
+/* 803041D0 002FFE30 41 80 00 74 */ blt lbl_80304244
+/* 803041D4 002FFE34 80 81 00 08 */ lwz r4, 8(r1)
+/* 803041D8 002FFE38 7F 63 DB 78 */ mr r3, r27
+/* 803041DC 002FFE3C 7F 85 E3 78 */ mr r5, r28
+/* 803041E0 002FFE40 39 1F 00 60 */ addi r8, r31, 0x60
+/* 803041E4 002FFE44 38 C0 00 00 */ li r6, 0
+/* 803041E8 002FFE48 38 E0 00 00 */ li r7, 0
+/* 803041EC 002FFE4C 39 20 00 20 */ li r9, 0x20
+/* 803041F0 002FFE50 48 00 05 39 */ bl func_80304728
+/* 803041F4 002FFE54 2C 03 00 00 */ cmpwi r3, 0
+/* 803041F8 002FFE58 7C 7E 1B 78 */ mr r30, r3
+/* 803041FC 002FFE5C 41 80 00 30 */ blt lbl_8030422C
+/* 80304200 002FFE60 83 DF 00 60 */ lwz r30, 0x60(r31)
+/* 80304204 002FFE64 2C 1E FF FE */ cmpwi r30, -2
+/* 80304208 002FFE68 41 82 00 0C */ beq lbl_80304214
+/* 8030420C 002FFE6C 2C 1E FF DF */ cmpwi r30, -33
+/* 80304210 002FFE70 40 82 00 1C */ bne lbl_8030422C
+lbl_80304214:
+/* 80304214 002FFE74 38 00 00 00 */ li r0, 0
+/* 80304218 002FFE78 7C 1D 00 40 */ cmplw r29, r0
+/* 8030421C 002FFE7C 41 82 00 10 */ beq lbl_8030422C
+/* 80304220 002FFE80 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80304224 002FFE84 80 03 00 04 */ lwz r0, 4(r3)
+/* 80304228 002FFE88 90 1D 00 00 */ stw r0, 0(r29)
+lbl_8030422C:
+/* 8030422C 002FFE8C 80 81 00 08 */ lwz r4, 8(r1)
+/* 80304230 002FFE90 7F 63 DB 78 */ mr r3, r27
+/* 80304234 002FFE94 48 00 04 C1 */ bl func_803046F4
+/* 80304238 002FFE98 2C 03 00 00 */ cmpwi r3, 0
+/* 8030423C 002FFE9C 40 80 00 08 */ bge lbl_80304244
+/* 80304240 002FFEA0 7C 7E 1B 78 */ mr r30, r3
+lbl_80304244:
+/* 80304244 002FFEA4 38 7F 00 00 */ addi r3, r31, 0
+/* 80304248 002FFEA8 4B F6 B7 DD */ bl OSUnlockMutex
+/* 8030424C 002FFEAC 7F C3 F3 78 */ mr r3, r30
+lbl_80304250:
+/* 80304250 002FFEB0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80304254 002FFEB4 4B EC 2F 21 */ bl _restgpr_27
+/* 80304258 002FFEB8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030425C 002FFEBC 7C 08 03 A6 */ mtlr r0
+/* 80304260 002FFEC0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80304264 002FFEC4 4E 80 00 20 */ blr
+
+.global func_80304268
+func_80304268:
+/* 80304268 002FFEC8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030426C 002FFECC 7C 08 02 A6 */ mflr r0
+/* 80304270 002FFED0 38 80 00 00 */ li r4, 0
+/* 80304274 002FFED4 38 A0 03 60 */ li r5, 0x360
+/* 80304278 002FFED8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030427C 002FFEDC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304280 002FFEE0 38 63 24 00 */ addi r3, r3, 0x2400
+/* 80304284 002FFEE4 90 61 00 08 */ stw r3, 8(r1)
+/* 80304288 002FFEE8 4B FF CD 8D */ bl func_80301014
+/* 8030428C 002FFEEC 38 61 00 08 */ addi r3, r1, 8
+/* 80304290 002FFEF0 48 00 00 15 */ bl func_803042A4
+/* 80304294 002FFEF4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304298 002FFEF8 7C 08 03 A6 */ mtlr r0
+/* 8030429C 002FFEFC 38 21 00 10 */ addi r1, r1, 0x10
+/* 803042A0 002FFF00 4E 80 00 20 */ blr
+
+.global func_803042A4
+func_803042A4:
+/* 803042A4 002FFF04 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 803042A8 002FFF08 7C 08 02 A6 */ mflr r0
+/* 803042AC 002FFF0C 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 803042B0 002FFF10 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 803042B4 002FFF14 93 C1 00 A8 */ stw r30, 0xa8(r1)
+/* 803042B8 002FFF18 7C 7E 1B 78 */ mr r30, r3
+/* 803042BC 002FFF1C 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 803042C0 002FFF20 38 84 24 00 */ addi r4, r4, 0x2400
+/* 803042C4 002FFF24 90 83 00 00 */ stw r4, 0(r3)
+/* 803042C8 002FFF28 80 64 00 00 */ lwz r3, 0(r4)
+/* 803042CC 002FFF2C 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 803042D0 002FFF30 28 00 46 6C */ cmplwi r0, 0x466c
+/* 803042D4 002FFF34 41 82 00 94 */ beq lbl_80304368
+/* 803042D8 002FFF38 80 8D 8C B0 */ lwz r4, lbl_8063DF70-_SDA_BASE_(r13)
+/* 803042DC 002FFF3C 38 61 00 08 */ addi r3, r1, 8
+/* 803042E0 002FFF40 38 A0 00 02 */ li r5, 2
+/* 803042E4 002FFF44 4B FF D8 65 */ bl func_80301B48
+/* 803042E8 002FFF48 2C 03 00 00 */ cmpwi r3, 0
+/* 803042EC 002FFF4C 41 82 00 08 */ beq lbl_803042F4
+/* 803042F0 002FFF50 48 00 00 7C */ b lbl_8030436C
+lbl_803042F4:
+/* 803042F4 002FFF54 38 61 00 08 */ addi r3, r1, 8
+/* 803042F8 002FFF58 38 80 00 00 */ li r4, 0
+/* 803042FC 002FFF5C 38 A0 00 00 */ li r5, 0
+/* 80304300 002FFF60 4B FF DD 2D */ bl func_8030202C
+/* 80304304 002FFF64 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80304308 002FFF68 38 A1 00 08 */ addi r5, r1, 8
+/* 8030430C 002FFF6C 38 80 03 60 */ li r4, 0x360
+/* 80304310 002FFF70 4B FF DF 09 */ bl func_80302218
+/* 80304314 002FFF74 7C 7F 1B 78 */ mr r31, r3
+/* 80304318 002FFF78 38 61 00 08 */ addi r3, r1, 8
+/* 8030431C 002FFF7C 4B FF DB 7D */ bl func_80301E98
+/* 80304320 002FFF80 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304324 002FFF84 41 82 00 08 */ beq lbl_8030432C
+/* 80304328 002FFF88 7F E3 FB 78 */ mr r3, r31
+lbl_8030432C:
+/* 8030432C 002FFF8C 2C 03 00 00 */ cmpwi r3, 0
+/* 80304330 002FFF90 41 82 00 08 */ beq lbl_80304338
+/* 80304334 002FFF94 48 00 00 38 */ b lbl_8030436C
+lbl_80304338:
+/* 80304338 002FFF98 80 9E 00 00 */ lwz r4, 0(r30)
+/* 8030433C 002FFF9C 80 64 00 00 */ lwz r3, 0(r4)
+/* 80304340 002FFFA0 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 80304344 002FFFA4 28 00 46 6C */ cmplwi r0, 0x466c
+/* 80304348 002FFFA8 41 82 00 0C */ beq lbl_80304354
+/* 8030434C 002FFFAC 38 60 FF F2 */ li r3, -14
+/* 80304350 002FFFB0 48 00 00 1C */ b lbl_8030436C
+lbl_80304354:
+/* 80304354 002FFFB4 80 04 00 04 */ lwz r0, 4(r4)
+/* 80304358 002FFFB8 28 00 00 02 */ cmplwi r0, 2
+/* 8030435C 002FFFBC 41 82 00 0C */ beq lbl_80304368
+/* 80304360 002FFFC0 38 60 FF E5 */ li r3, -27
+/* 80304364 002FFFC4 48 00 00 08 */ b lbl_8030436C
+lbl_80304368:
+/* 80304368 002FFFC8 38 60 00 00 */ li r3, 0
+lbl_8030436C:
+/* 8030436C 002FFFCC 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80304370 002FFFD0 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80304374 002FFFD4 83 C1 00 A8 */ lwz r30, 0xa8(r1)
+/* 80304378 002FFFD8 7C 08 03 A6 */ mtlr r0
+/* 8030437C 002FFFDC 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80304380 002FFFE0 4E 80 00 20 */ blr
+
+.global func_80304384
+func_80304384:
+/* 80304384 002FFFE4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80304388 002FFFE8 7C 08 02 A6 */ mflr r0
+/* 8030438C 002FFFEC 38 80 00 00 */ li r4, 0
+/* 80304390 002FFFF0 38 A0 08 00 */ li r5, 0x800
+/* 80304394 002FFFF4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80304398 002FFFF8 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 8030439C 002FFFFC 38 63 28 00 */ addi r3, r3, 0x2800
+/* 803043A0 00300000 90 61 00 08 */ stw r3, 8(r1)
+/* 803043A4 00300004 4B FF CC 71 */ bl func_80301014
+/* 803043A8 00300008 38 61 00 08 */ addi r3, r1, 8
+/* 803043AC 0030000C 48 00 00 15 */ bl func_803043C0
+/* 803043B0 00300010 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803043B4 00300014 7C 08 03 A6 */ mtlr r0
+/* 803043B8 00300018 38 21 00 10 */ addi r1, r1, 0x10
+/* 803043BC 0030001C 4E 80 00 20 */ blr
+
+.global func_803043C0
+func_803043C0:
+/* 803043C0 00300020 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 803043C4 00300024 7C 08 02 A6 */ mflr r0
+/* 803043C8 00300028 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 803043CC 0030002C 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 803043D0 00300030 93 C1 00 A8 */ stw r30, 0xa8(r1)
+/* 803043D4 00300034 7C 7E 1B 78 */ mr r30, r3
+/* 803043D8 00300038 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 803043DC 0030003C 38 84 28 00 */ addi r4, r4, 0x2800
+/* 803043E0 00300040 90 83 00 00 */ stw r4, 0(r3)
+/* 803043E4 00300044 80 64 00 00 */ lwz r3, 0(r4)
+/* 803043E8 00300048 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 803043EC 0030004C 28 00 46 73 */ cmplwi r0, 0x4673
+/* 803043F0 00300050 41 82 00 94 */ beq lbl_80304484
+/* 803043F4 00300054 80 8D 8C B8 */ lwz r4, lbl_8063DF78-_SDA_BASE_(r13)
+/* 803043F8 00300058 38 61 00 08 */ addi r3, r1, 8
+/* 803043FC 0030005C 38 A0 00 02 */ li r5, 2
+/* 80304400 00300060 4B FF D7 49 */ bl func_80301B48
+/* 80304404 00300064 2C 03 00 00 */ cmpwi r3, 0
+/* 80304408 00300068 41 82 00 08 */ beq lbl_80304410
+/* 8030440C 0030006C 48 00 00 7C */ b lbl_80304488
+lbl_80304410:
+/* 80304410 00300070 38 61 00 08 */ addi r3, r1, 8
+/* 80304414 00300074 38 80 00 00 */ li r4, 0
+/* 80304418 00300078 38 A0 00 00 */ li r5, 0
+/* 8030441C 0030007C 4B FF DC 11 */ bl func_8030202C
+/* 80304420 00300080 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80304424 00300084 38 A1 00 08 */ addi r5, r1, 8
+/* 80304428 00300088 38 80 08 00 */ li r4, 0x800
+/* 8030442C 0030008C 4B FF DD ED */ bl func_80302218
+/* 80304430 00300090 7C 7F 1B 78 */ mr r31, r3
+/* 80304434 00300094 38 61 00 08 */ addi r3, r1, 8
+/* 80304438 00300098 4B FF DA 61 */ bl func_80301E98
+/* 8030443C 0030009C 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304440 003000A0 41 82 00 08 */ beq lbl_80304448
+/* 80304444 003000A4 7F E3 FB 78 */ mr r3, r31
+lbl_80304448:
+/* 80304448 003000A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030444C 003000AC 41 82 00 08 */ beq lbl_80304454
+/* 80304450 003000B0 48 00 00 38 */ b lbl_80304488
+lbl_80304454:
+/* 80304454 003000B4 80 9E 00 00 */ lwz r4, 0(r30)
+/* 80304458 003000B8 80 64 00 00 */ lwz r3, 0(r4)
+/* 8030445C 003000BC 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 80304460 003000C0 28 00 46 73 */ cmplwi r0, 0x4673
+/* 80304464 003000C4 41 82 00 0C */ beq lbl_80304470
+/* 80304468 003000C8 38 60 FF F2 */ li r3, -14
+/* 8030446C 003000CC 48 00 00 1C */ b lbl_80304488
+lbl_80304470:
+/* 80304470 003000D0 80 04 00 04 */ lwz r0, 4(r4)
+/* 80304474 003000D4 28 00 00 02 */ cmplwi r0, 2
+/* 80304478 003000D8 41 82 00 0C */ beq lbl_80304484
+/* 8030447C 003000DC 38 60 FF E5 */ li r3, -27
+/* 80304480 003000E0 48 00 00 08 */ b lbl_80304488
+lbl_80304484:
+/* 80304484 003000E4 38 60 00 00 */ li r3, 0
+lbl_80304488:
+/* 80304488 003000E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 8030448C 003000EC 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80304490 003000F0 83 C1 00 A8 */ lwz r30, 0xa8(r1)
+/* 80304494 003000F4 7C 08 03 A6 */ mtlr r0
+/* 80304498 003000F8 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 8030449C 003000FC 4E 80 00 20 */ blr
+
+.global func_803044A0
+func_803044A0:
+/* 803044A0 00300100 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803044A4 00300104 7C 08 02 A6 */ mflr r0
+/* 803044A8 00300108 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803044AC 0030010C 39 61 00 30 */ addi r11, r1, 0x30
+/* 803044B0 00300110 4B EC 2C 79 */ bl _savegpr_27
+/* 803044B4 00300114 3F C0 80 58 */ lis r30, lbl_8057E920@ha
+/* 803044B8 00300118 7C 7B 1B 78 */ mr r27, r3
+/* 803044BC 0030011C 7C 9C 23 78 */ mr r28, r4
+/* 803044C0 00300120 3B DE E9 20 */ addi r30, r30, lbl_8057E920@l
+/* 803044C4 00300124 4B F6 CE 35 */ bl OSGetCurrentThread
+/* 803044C8 00300128 2C 03 00 00 */ cmpwi r3, 0
+/* 803044CC 0030012C 40 82 00 0C */ bne lbl_803044D8
+/* 803044D0 00300130 38 60 FF FF */ li r3, -1
+/* 803044D4 00300134 48 00 00 08 */ b lbl_803044DC
+lbl_803044D8:
+/* 803044D8 00300138 38 60 00 00 */ li r3, 0
+lbl_803044DC:
+/* 803044DC 0030013C 2C 03 00 00 */ cmpwi r3, 0
+/* 803044E0 00300140 40 80 00 08 */ bge lbl_803044E8
+/* 803044E4 00300144 48 00 00 EC */ b lbl_803045D0
+lbl_803044E8:
+/* 803044E8 00300148 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13)
+/* 803044EC 0030014C 2C 00 00 00 */ cmpwi r0, 0
+/* 803044F0 00300150 40 82 00 50 */ bne lbl_80304540
+/* 803044F4 00300154 4B F6 A2 69 */ bl OSDisableInterrupts
+/* 803044F8 00300158 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13)
+/* 803044FC 0030015C 7C 7F 1B 78 */ mr r31, r3
+/* 80304500 00300160 2C 00 00 00 */ cmpwi r0, 0
+/* 80304504 00300164 40 82 00 34 */ bne lbl_80304538
+/* 80304508 00300168 38 7E 00 80 */ addi r3, r30, 0x80
+/* 8030450C 0030016C 4B F6 B4 05 */ bl OSInitMutex
+/* 80304510 00300170 38 7E 00 A0 */ addi r3, r30, 0xa0
+/* 80304514 00300174 38 80 00 00 */ li r4, 0
+/* 80304518 00300178 38 A0 00 20 */ li r5, 0x20
+/* 8030451C 0030017C 4B CF FB E9 */ bl memset
+/* 80304520 00300180 38 7E 00 C0 */ addi r3, r30, 0xc0
+/* 80304524 00300184 38 80 00 00 */ li r4, 0
+/* 80304528 00300188 38 A0 00 20 */ li r5, 0x20
+/* 8030452C 0030018C 4B CF FB D9 */ bl memset
+/* 80304530 00300190 38 00 00 01 */ li r0, 1
+/* 80304534 00300194 90 0D AF C0 */ stw r0, lbl_80640280-_SDA_BASE_(r13)
+lbl_80304538:
+/* 80304538 00300198 7F E3 FB 78 */ mr r3, r31
+/* 8030453C 0030019C 4B F6 A2 49 */ bl OSRestoreInterrupts
+lbl_80304540:
+/* 80304540 003001A0 38 7E 00 80 */ addi r3, r30, 0x80
+/* 80304544 003001A4 4B F6 B4 05 */ bl OSLockMutex
+/* 80304548 003001A8 3F E0 80 44 */ lis r31, lbl_8044655C@ha
+/* 8030454C 003001AC 3C 80 80 44 */ lis r4, lbl_80446548@ha
+/* 80304550 003001B0 38 7F 65 5C */ addi r3, r31, lbl_8044655C@l
+/* 80304554 003001B4 38 A1 00 08 */ addi r5, r1, 8
+/* 80304558 003001B8 38 84 65 48 */ addi r4, r4, lbl_80446548@l
+/* 8030455C 003001BC 38 C0 00 00 */ li r6, 0
+/* 80304560 003001C0 48 00 01 1D */ bl func_8030467C
+/* 80304564 003001C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304568 003001C8 7C 7D 1B 78 */ mr r29, r3
+/* 8030456C 003001CC 41 80 00 58 */ blt lbl_803045C4
+/* 80304570 003001D0 38 DE 00 A0 */ addi r6, r30, 0xa0
+/* 80304574 003001D4 93 7E 00 A0 */ stw r27, 0xa0(r30)
+/* 80304578 003001D8 80 81 00 08 */ lwz r4, 8(r1)
+/* 8030457C 003001DC 38 7F 65 5C */ addi r3, r31, 0x655c
+/* 80304580 003001E0 93 86 00 04 */ stw r28, 4(r6)
+/* 80304584 003001E4 39 1E 00 C0 */ addi r8, r30, 0xc0
+/* 80304588 003001E8 38 A0 00 17 */ li r5, 0x17
+/* 8030458C 003001EC 38 E0 00 20 */ li r7, 0x20
+/* 80304590 003001F0 39 20 00 20 */ li r9, 0x20
+/* 80304594 003001F4 48 00 01 95 */ bl func_80304728
+/* 80304598 003001F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030459C 003001FC 7C 7D 1B 78 */ mr r29, r3
+/* 803045A0 00300200 41 80 00 08 */ blt lbl_803045A8
+/* 803045A4 00300204 83 BE 00 C0 */ lwz r29, 0xc0(r30)
+lbl_803045A8:
+/* 803045A8 00300208 3C 60 80 44 */ lis r3, lbl_8044655C@ha
+/* 803045AC 0030020C 80 81 00 08 */ lwz r4, 8(r1)
+/* 803045B0 00300210 38 63 65 5C */ addi r3, r3, lbl_8044655C@l
+/* 803045B4 00300214 48 00 01 41 */ bl func_803046F4
+/* 803045B8 00300218 2C 1D 00 00 */ cmpwi r29, 0
+/* 803045BC 0030021C 41 80 00 08 */ blt lbl_803045C4
+/* 803045C0 00300220 7C 7D 1B 78 */ mr r29, r3
+lbl_803045C4:
+/* 803045C4 00300224 38 7E 00 80 */ addi r3, r30, 0x80
+/* 803045C8 00300228 4B F6 B4 5D */ bl OSUnlockMutex
+/* 803045CC 0030022C 7F A3 EB 78 */ mr r3, r29
+lbl_803045D0:
+/* 803045D0 00300230 39 61 00 30 */ addi r11, r1, 0x30
+/* 803045D4 00300234 4B EC 2B A1 */ bl _restgpr_27
+/* 803045D8 00300238 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803045DC 0030023C 7C 08 03 A6 */ mtlr r0
+/* 803045E0 00300240 38 21 00 30 */ addi r1, r1, 0x30
+/* 803045E4 00300244 4E 80 00 20 */ blr
+
+.global func_803045E8
+func_803045E8:
+/* 803045E8 00300248 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803045EC 0030024C 7C 08 02 A6 */ mflr r0
+/* 803045F0 00300250 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803045F4 00300254 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803045F8 00300258 93 C1 00 08 */ stw r30, 8(r1)
+/* 803045FC 0030025C 7C 7E 1B 78 */ mr r30, r3
+lbl_80304600:
+/* 80304600 00300260 4B FE 63 ED */ bl SCCheckStatus
+/* 80304604 00300264 28 03 00 02 */ cmplwi r3, 2
+/* 80304608 00300268 40 82 00 0C */ bne lbl_80304614
+/* 8030460C 0030026C 38 60 FF FF */ li r3, -1
+/* 80304610 00300270 48 00 00 34 */ b lbl_80304644
+lbl_80304614:
+/* 80304614 00300274 2C 03 00 00 */ cmpwi r3, 0
+/* 80304618 00300278 40 82 FF E8 */ bne lbl_80304600
+/* 8030461C 0030027C 4B FE 7F A5 */ bl SCGetCounterBias
+/* 80304620 00300280 7C 7F 1B 78 */ mr r31, r3
+/* 80304624 00300284 4B F6 E1 95 */ bl OSGetTime
+/* 80304628 00300288 3C C0 80 00 */ lis r6, 0x800000F8@ha
+/* 8030462C 0030028C 38 A0 00 00 */ li r5, 0
+/* 80304630 00300290 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
+/* 80304634 00300294 54 06 F0 BE */ srwi r6, r0, 2
+/* 80304638 00300298 4B EC 2C 41 */ bl __div2i
+/* 8030463C 0030029C 7F FF 20 10 */ subfc r31, r31, r4
+/* 80304640 003002A0 38 60 00 00 */ li r3, 0
+lbl_80304644:
+/* 80304644 003002A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304648 003002A8 41 82 00 08 */ beq lbl_80304650
+/* 8030464C 003002AC 48 00 00 18 */ b lbl_80304664
+lbl_80304650:
+/* 80304650 003002B0 7C 1E 00 D0 */ neg r0, r30
+/* 80304654 003002B4 7F E3 FB 78 */ mr r3, r31
+/* 80304658 003002B8 7C 00 F3 78 */ or r0, r0, r30
+/* 8030465C 003002BC 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 80304660 003002C0 4B FF FE 41 */ bl func_803044A0
+lbl_80304664:
+/* 80304664 003002C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304668 003002C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8030466C 003002CC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80304670 003002D0 7C 08 03 A6 */ mtlr r0
+/* 80304674 003002D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80304678 003002D8 4E 80 00 20 */ blr
+
+.global func_8030467C
+func_8030467C:
+/* 8030467C 003002DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80304680 003002E0 7C 08 02 A6 */ mflr r0
+/* 80304684 003002E4 2C 05 00 00 */ cmpwi r5, 0
+/* 80304688 003002E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030468C 003002EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80304690 003002F0 7C BF 2B 78 */ mr r31, r5
+/* 80304694 003002F4 40 82 00 0C */ bne lbl_803046A0
+/* 80304698 003002F8 38 60 FF FD */ li r3, -3
+/* 8030469C 003002FC 48 00 00 44 */ b lbl_803046E0
+lbl_803046A0:
+/* 803046A0 00300300 7C 83 23 78 */ mr r3, r4
+/* 803046A4 00300304 7C C4 33 78 */ mr r4, r6
+/* 803046A8 00300308 4B F9 EA B1 */ bl IOS_Open
+/* 803046AC 0030030C 2C 03 00 00 */ cmpwi r3, 0
+/* 803046B0 00300310 90 7F 00 00 */ stw r3, 0(r31)
+/* 803046B4 00300314 40 80 00 28 */ bge lbl_803046DC
+/* 803046B8 00300318 2C 03 FF FA */ cmpwi r3, -6
+/* 803046BC 0030031C 40 82 00 0C */ bne lbl_803046C8
+/* 803046C0 00300320 38 60 FF E3 */ li r3, -29
+/* 803046C4 00300324 48 00 00 1C */ b lbl_803046E0
+lbl_803046C8:
+/* 803046C8 00300328 2C 03 FF F8 */ cmpwi r3, -8
+/* 803046CC 0030032C 38 60 FF D6 */ li r3, -42
+/* 803046D0 00300330 40 82 00 10 */ bne lbl_803046E0
+/* 803046D4 00300334 38 60 FF E6 */ li r3, -26
+/* 803046D8 00300338 48 00 00 08 */ b lbl_803046E0
+lbl_803046DC:
+/* 803046DC 0030033C 38 60 00 00 */ li r3, 0
+lbl_803046E0:
+/* 803046E0 00300340 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803046E4 00300344 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803046E8 00300348 7C 08 03 A6 */ mtlr r0
+/* 803046EC 0030034C 38 21 00 10 */ addi r1, r1, 0x10
+/* 803046F0 00300350 4E 80 00 20 */ blr
+
+.global func_803046F4
+func_803046F4:
+/* 803046F4 00300354 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803046F8 00300358 7C 08 02 A6 */ mflr r0
+/* 803046FC 0030035C 7C 83 23 78 */ mr r3, r4
+/* 80304700 00300360 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80304704 00300364 4B F9 EC 35 */ bl IOS_Close
+/* 80304708 00300368 2C 03 00 00 */ cmpwi r3, 0
+/* 8030470C 0030036C 38 60 00 00 */ li r3, 0
+/* 80304710 00300370 40 80 00 08 */ bge lbl_80304718
+/* 80304714 00300374 38 60 FF D6 */ li r3, -42
+lbl_80304718:
+/* 80304718 00300378 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030471C 0030037C 7C 08 03 A6 */ mtlr r0
+/* 80304720 00300380 38 21 00 10 */ addi r1, r1, 0x10
+/* 80304724 00300384 4E 80 00 20 */ blr
+
+.global func_80304728
+func_80304728:
+/* 80304728 00300388 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030472C 0030038C 7C 08 02 A6 */ mflr r0
+/* 80304730 00300390 7C 83 23 78 */ mr r3, r4
+/* 80304734 00300394 7C A4 2B 78 */ mr r4, r5
+/* 80304738 00300398 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030473C 0030039C 7C C5 33 78 */ mr r5, r6
+/* 80304740 003003A0 7C E6 3B 78 */ mr r6, r7
+/* 80304744 003003A4 7D 07 43 78 */ mr r7, r8
+/* 80304748 003003A8 7D 28 4B 78 */ mr r8, r9
+/* 8030474C 003003AC 4B F9 F3 A5 */ bl IOS_Ioctl
+/* 80304750 003003B0 2C 03 00 00 */ cmpwi r3, 0
+/* 80304754 003003B4 38 60 00 00 */ li r3, 0
+/* 80304758 003003B8 40 80 00 08 */ bge lbl_80304760
+/* 8030475C 003003BC 38 60 FF D6 */ li r3, -42
+lbl_80304760:
+/* 80304760 003003C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304764 003003C4 7C 08 03 A6 */ mtlr r0
+/* 80304768 003003C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030476C 003003CC 4E 80 00 20 */ blr
+
+.global func_80304770
+func_80304770:
+/* 80304770 003003D0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80304774 003003D4 7C 08 02 A6 */ mflr r0
+/* 80304778 003003D8 7C 83 23 78 */ mr r3, r4
+/* 8030477C 003003DC 7C A4 2B 78 */ mr r4, r5
+/* 80304780 003003E0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80304784 003003E4 3D 60 80 30 */ lis r11, lbl_803047D4@ha
+/* 80304788 003003E8 7C C5 33 78 */ mr r5, r6
+/* 8030478C 003003EC 7C E6 3B 78 */ mr r6, r7
+/* 80304790 003003F0 7D 07 43 78 */ mr r7, r8
+/* 80304794 003003F4 7D 28 4B 78 */ mr r8, r9
+/* 80304798 003003F8 39 2B 47 D4 */ addi r9, r11, lbl_803047D4@l
+/* 8030479C 003003FC 4B F9 F2 1D */ bl IOS_IoctlAsync
+/* 803047A0 00300400 2C 03 00 00 */ cmpwi r3, 0
+/* 803047A4 00300404 40 80 00 0C */ bge lbl_803047B0
+/* 803047A8 00300408 38 60 FF D6 */ li r3, -42
+/* 803047AC 0030040C 48 00 00 10 */ b lbl_803047BC
+lbl_803047B0:
+/* 803047B0 00300410 38 00 00 01 */ li r0, 1
+/* 803047B4 00300414 38 60 00 00 */ li r3, 0
+/* 803047B8 00300418 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13)
+lbl_803047BC:
+/* 803047BC 0030041C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803047C0 00300420 7C 08 03 A6 */ mtlr r0
+/* 803047C4 00300424 38 21 00 10 */ addi r1, r1, 0x10
+/* 803047C8 00300428 4E 80 00 20 */ blr
+
+.global func_803047CC
+func_803047CC:
+/* 803047CC 0030042C 80 6D AF C8 */ lwz r3, lbl_80640288-_SDA_BASE_(r13)
+/* 803047D0 00300430 4E 80 00 20 */ blr
+lbl_803047D4:
+/* 803047D4 00300434 2C 04 00 00 */ cmpwi r4, 0
+/* 803047D8 00300438 41 82 00 08 */ beq lbl_803047E0
+/* 803047DC 0030043C 90 64 00 00 */ stw r3, 0(r4)
+lbl_803047E0:
+/* 803047E0 00300440 38 00 00 00 */ li r0, 0
+/* 803047E4 00300444 38 60 00 00 */ li r3, 0
+/* 803047E8 00300448 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13)
+/* 803047EC 0030044C 4E 80 00 20 */ blr
+
+.global func_803047F0
+func_803047F0:
+/* 803047F0 00300450 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803047F4 00300454 7C 08 02 A6 */ mflr r0
+/* 803047F8 00300458 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803047FC 0030045C 48 00 02 B1 */ bl func_80304AAC
+/* 80304800 00300460 2C 03 00 00 */ cmpwi r3, 0
+/* 80304804 00300464 41 80 00 28 */ blt lbl_8030482C
+/* 80304808 00300468 38 60 00 00 */ li r3, 0
+/* 8030480C 0030046C 4B FF FD DD */ bl func_803045E8
+/* 80304810 00300470 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304814 00300474 38 80 00 00 */ li r4, 0
+/* 80304818 00300478 38 63 30 00 */ addi r3, r3, 0x3000
+/* 8030481C 0030047C 48 00 00 29 */ bl func_80304844
+/* 80304820 00300480 2C 03 00 00 */ cmpwi r3, 0
+/* 80304824 00300484 41 80 00 08 */ blt lbl_8030482C
+/* 80304828 00300488 38 60 00 00 */ li r3, 0
+lbl_8030482C:
+/* 8030482C 0030048C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304830 00300490 7C 08 03 A6 */ mtlr r0
+/* 80304834 00300494 38 21 00 10 */ addi r1, r1, 0x10
+/* 80304838 00300498 4E 80 00 20 */ blr
+
+.global func_8030483C
+func_8030483C:
+/* 8030483C 0030049C 38 60 00 00 */ li r3, 0
+/* 80304840 003004A0 4E 80 00 20 */ blr
+
+.global func_80304844
+func_80304844:
+/* 80304844 003004A4 94 21 FD 40 */ stwu r1, -0x2c0(r1)
+/* 80304848 003004A8 7C 08 02 A6 */ mflr r0
+/* 8030484C 003004AC 90 01 02 C4 */ stw r0, 0x2c4(r1)
+/* 80304850 003004B0 39 61 02 C0 */ addi r11, r1, 0x2c0
+/* 80304854 003004B4 4B EC 28 D1 */ bl _savegpr_26
+/* 80304858 003004B8 3B E1 00 A8 */ addi r31, r1, 0xa8
+/* 8030485C 003004BC 7C 7C 1B 78 */ mr r28, r3
+/* 80304860 003004C0 7C 9D 23 78 */ mr r29, r4
+/* 80304864 003004C4 3B C0 00 00 */ li r30, 0
+/* 80304868 003004C8 3F 60 00 01 */ lis r27, 1
+/* 8030486C 003004CC 48 00 02 14 */ b lbl_80304A80
+lbl_80304870:
+/* 80304870 003004D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304874 003004D4 57 C0 04 3E */ clrlwi r0, r30, 0x10
+/* 80304878 003004D8 A0 C3 30 10 */ lhz r6, 0x3010(r3)
+/* 8030487C 003004DC 38 A3 30 00 */ addi r5, r3, 0x3000
+/* 80304880 003004E0 7C 00 30 40 */ cmplw r0, r6
+/* 80304884 003004E4 40 80 00 0C */ bge lbl_80304890
+/* 80304888 003004E8 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030488C 003004EC 40 82 00 0C */ bne lbl_80304898
+lbl_80304890:
+/* 80304890 003004F0 38 80 FF FD */ li r4, -3
+/* 80304894 003004F4 48 00 00 20 */ b lbl_803048B4
+lbl_80304898:
+/* 80304898 003004F8 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
+/* 8030489C 003004FC 38 80 00 00 */ li r4, 0
+/* 803048A0 00300500 7C 65 02 14 */ add r3, r5, r0
+/* 803048A4 00300504 80 03 00 80 */ lwz r0, 0x80(r3)
+/* 803048A8 00300508 2C 00 00 00 */ cmpwi r0, 0
+/* 803048AC 0030050C 40 82 00 08 */ bne lbl_803048B4
+/* 803048B0 00300510 38 80 FF F3 */ li r4, -13
+lbl_803048B4:
+/* 803048B4 00300514 2C 04 00 00 */ cmpwi r4, 0
+/* 803048B8 00300518 40 82 01 C4 */ bne lbl_80304A7C
+/* 803048BC 0030051C 2C 1D 00 00 */ cmpwi r29, 0
+/* 803048C0 00300520 41 82 01 BC */ beq lbl_80304A7C
+/* 803048C4 00300524 57 C0 04 3E */ clrlwi r0, r30, 0x10
+/* 803048C8 00300528 7C 00 30 40 */ cmplw r0, r6
+/* 803048CC 0030052C 40 80 00 0C */ bge lbl_803048D8
+/* 803048D0 00300530 28 00 FF FF */ cmplwi r0, 0xffff
+/* 803048D4 00300534 40 82 00 0C */ bne lbl_803048E0
+lbl_803048D8:
+/* 803048D8 00300538 38 60 FF FD */ li r3, -3
+/* 803048DC 0030053C 48 00 00 20 */ b lbl_803048FC
+lbl_803048E0:
+/* 803048E0 00300540 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
+/* 803048E4 00300544 38 60 00 00 */ li r3, 0
+/* 803048E8 00300548 7C 85 02 14 */ add r4, r5, r0
+/* 803048EC 0030054C 80 04 00 80 */ lwz r0, 0x80(r4)
+/* 803048F0 00300550 2C 00 00 00 */ cmpwi r0, 0
+/* 803048F4 00300554 40 82 00 08 */ bne lbl_803048FC
+/* 803048F8 00300558 38 60 FF F3 */ li r3, -13
+lbl_803048FC:
+/* 803048FC 0030055C 2C 03 00 00 */ cmpwi r3, 0
+/* 80304900 00300560 40 80 00 08 */ bge lbl_80304908
+/* 80304904 00300564 48 00 00 78 */ b lbl_8030497C
+lbl_80304908:
+/* 80304908 00300568 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
+/* 8030490C 0030056C 38 61 00 08 */ addi r3, r1, 8
+/* 80304910 00300570 38 A0 00 0A */ li r5, 0xa
+/* 80304914 00300574 4B FF D2 35 */ bl func_80301B48
+/* 80304918 00300578 2C 03 00 00 */ cmpwi r3, 0
+/* 8030491C 0030057C 40 80 00 08 */ bge lbl_80304924
+/* 80304920 00300580 48 00 00 5C */ b lbl_8030497C
+lbl_80304924:
+/* 80304924 00300584 57 C4 49 EC */ rlwinm r4, r30, 9, 7, 0x16
+/* 80304928 00300588 38 61 00 08 */ addi r3, r1, 8
+/* 8030492C 0030058C 38 84 08 00 */ addi r4, r4, 0x800
+/* 80304930 00300590 38 A0 00 00 */ li r5, 0
+/* 80304934 00300594 4B FF D6 F9 */ bl func_8030202C
+/* 80304938 00300598 2C 03 00 00 */ cmpwi r3, 0
+/* 8030493C 0030059C 40 80 00 0C */ bge lbl_80304948
+/* 80304940 003005A0 7C 7A 1B 78 */ mr r26, r3
+/* 80304944 003005A4 48 00 00 24 */ b lbl_80304968
+lbl_80304948:
+/* 80304948 003005A8 7F E3 FB 78 */ mr r3, r31
+/* 8030494C 003005AC 38 A1 00 08 */ addi r5, r1, 8
+/* 80304950 003005B0 38 80 02 00 */ li r4, 0x200
+/* 80304954 003005B4 4B FF D8 C5 */ bl func_80302218
+/* 80304958 003005B8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030495C 003005BC 3B 40 00 00 */ li r26, 0
+/* 80304960 003005C0 40 80 00 08 */ bge lbl_80304968
+/* 80304964 003005C4 7C 7A 1B 78 */ mr r26, r3
+lbl_80304968:
+/* 80304968 003005C8 38 61 00 08 */ addi r3, r1, 8
+/* 8030496C 003005CC 4B FF D5 2D */ bl func_80301E98
+/* 80304970 003005D0 2C 1A 00 00 */ cmpwi r26, 0
+/* 80304974 003005D4 41 82 00 08 */ beq lbl_8030497C
+/* 80304978 003005D8 7F 43 D3 78 */ mr r3, r26
+lbl_8030497C:
+/* 8030497C 003005DC 2C 03 00 00 */ cmpwi r3, 0
+/* 80304980 003005E0 40 80 00 74 */ bge lbl_803049F4
+/* 80304984 003005E4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304988 003005E8 2C 1F 00 00 */ cmpwi r31, 0
+/* 8030498C 003005EC 38 63 30 00 */ addi r3, r3, 0x3000
+/* 80304990 003005F0 40 82 00 0C */ bne lbl_8030499C
+/* 80304994 003005F4 38 00 FF FD */ li r0, -3
+/* 80304998 003005F8 48 00 00 38 */ b lbl_803049D0
+lbl_8030499C:
+/* 8030499C 003005FC 2C 03 00 00 */ cmpwi r3, 0
+/* 803049A0 00300600 40 82 00 0C */ bne lbl_803049AC
+/* 803049A4 00300604 38 00 FF F7 */ li r0, -9
+/* 803049A8 00300608 48 00 00 28 */ b lbl_803049D0
+lbl_803049AC:
+/* 803049AC 0030060C A0 81 00 A8 */ lhz r4, 0xa8(r1)
+/* 803049B0 00300610 28 04 FF FF */ cmplwi r4, 0xffff
+/* 803049B4 00300614 41 82 00 18 */ beq lbl_803049CC
+/* 803049B8 00300618 A0 03 00 10 */ lhz r0, 0x10(r3)
+/* 803049BC 0030061C 7C 04 00 40 */ cmplw r4, r0
+/* 803049C0 00300620 41 80 00 0C */ blt lbl_803049CC
+/* 803049C4 00300624 38 00 FF FD */ li r0, -3
+/* 803049C8 00300628 48 00 00 08 */ b lbl_803049D0
+lbl_803049CC:
+/* 803049CC 0030062C 38 00 00 00 */ li r0, 0
+lbl_803049D0:
+/* 803049D0 00300630 2C 00 00 00 */ cmpwi r0, 0
+/* 803049D4 00300634 40 82 00 A8 */ bne lbl_80304A7C
+/* 803049D8 00300638 7F E3 FB 78 */ mr r3, r31
+/* 803049DC 0030063C 48 00 01 C1 */ bl func_80304B9C
+/* 803049E0 00300640 2C 03 00 00 */ cmpwi r3, 0
+/* 803049E4 00300644 41 80 00 98 */ blt lbl_80304A7C
+/* 803049E8 00300648 38 1B FF FF */ addi r0, r27, -1
+/* 803049EC 0030064C B0 01 00 A8 */ sth r0, 0xa8(r1)
+/* 803049F0 00300650 48 00 00 8C */ b lbl_80304A7C
+lbl_803049F4:
+/* 803049F4 00300654 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 803049F8 00300658 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 803049FC 0030065C 38 84 30 00 */ addi r4, r4, 0x3000
+/* 80304A00 00300660 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 80304A04 00300664 7C 03 00 40 */ cmplw r3, r0
+/* 80304A08 00300668 41 80 00 74 */ blt lbl_80304A7C
+/* 80304A0C 0030066C A8 01 00 C0 */ lha r0, 0xc0(r1)
+/* 80304A10 00300670 2C 00 00 00 */ cmpwi r0, 0
+/* 80304A14 00300674 40 82 00 68 */ bne lbl_80304A7C
+/* 80304A18 00300678 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304A1C 0030067C 40 82 00 0C */ bne lbl_80304A28
+/* 80304A20 00300680 38 00 FF FD */ li r0, -3
+/* 80304A24 00300684 48 00 00 38 */ b lbl_80304A5C
+lbl_80304A28:
+/* 80304A28 00300688 2C 04 00 00 */ cmpwi r4, 0
+/* 80304A2C 0030068C 40 82 00 0C */ bne lbl_80304A38
+/* 80304A30 00300690 38 00 FF F7 */ li r0, -9
+/* 80304A34 00300694 48 00 00 28 */ b lbl_80304A5C
+lbl_80304A38:
+/* 80304A38 00300698 A0 61 00 A8 */ lhz r3, 0xa8(r1)
+/* 80304A3C 0030069C 28 03 FF FF */ cmplwi r3, 0xffff
+/* 80304A40 003006A0 41 82 00 18 */ beq lbl_80304A58
+/* 80304A44 003006A4 A0 04 00 10 */ lhz r0, 0x10(r4)
+/* 80304A48 003006A8 7C 03 00 40 */ cmplw r3, r0
+/* 80304A4C 003006AC 41 80 00 0C */ blt lbl_80304A58
+/* 80304A50 003006B0 38 00 FF FD */ li r0, -3
+/* 80304A54 003006B4 48 00 00 08 */ b lbl_80304A5C
+lbl_80304A58:
+/* 80304A58 003006B8 38 00 00 00 */ li r0, 0
+lbl_80304A5C:
+/* 80304A5C 003006BC 2C 00 00 00 */ cmpwi r0, 0
+/* 80304A60 003006C0 40 82 00 1C */ bne lbl_80304A7C
+/* 80304A64 003006C4 7F E3 FB 78 */ mr r3, r31
+/* 80304A68 003006C8 48 00 01 35 */ bl func_80304B9C
+/* 80304A6C 003006CC 2C 03 00 00 */ cmpwi r3, 0
+/* 80304A70 003006D0 41 80 00 0C */ blt lbl_80304A7C
+/* 80304A74 003006D4 38 1B FF FF */ addi r0, r27, -1
+/* 80304A78 003006D8 B0 01 00 A8 */ sth r0, 0xa8(r1)
+lbl_80304A7C:
+/* 80304A7C 003006DC 3B DE 00 01 */ addi r30, r30, 1
+lbl_80304A80:
+/* 80304A80 003006E0 A0 1C 00 10 */ lhz r0, 0x10(r28)
+/* 80304A84 003006E4 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 80304A88 003006E8 7C 03 00 40 */ cmplw r3, r0
+/* 80304A8C 003006EC 41 80 FD E4 */ blt lbl_80304870
+/* 80304A90 003006F0 39 61 02 C0 */ addi r11, r1, 0x2c0
+/* 80304A94 003006F4 38 60 00 00 */ li r3, 0
+/* 80304A98 003006F8 4B EC 26 D9 */ bl _restgpr_26
+/* 80304A9C 003006FC 80 01 02 C4 */ lwz r0, 0x2c4(r1)
+/* 80304AA0 00300700 7C 08 03 A6 */ mtlr r0
+/* 80304AA4 00300704 38 21 02 C0 */ addi r1, r1, 0x2c0
+/* 80304AA8 00300708 4E 80 00 20 */ blr
+
+.global func_80304AAC
+func_80304AAC:
+/* 80304AAC 0030070C 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 80304AB0 00300710 7C 08 02 A6 */ mflr r0
+/* 80304AB4 00300714 38 A0 00 02 */ li r5, 2
+/* 80304AB8 00300718 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 80304ABC 0030071C 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304AC0 00300720 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 80304AC4 00300724 3B E0 00 00 */ li r31, 0
+/* 80304AC8 00300728 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
+/* 80304ACC 0030072C 93 E1 00 08 */ stw r31, 8(r1)
+/* 80304AD0 00300730 4B FF D0 79 */ bl func_80301B48
+/* 80304AD4 00300734 2C 03 00 00 */ cmpwi r3, 0
+/* 80304AD8 00300738 40 80 00 08 */ bge lbl_80304AE0
+/* 80304ADC 0030073C 48 00 00 AC */ b lbl_80304B88
+lbl_80304AE0:
+/* 80304AE0 00300740 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304AE4 00300744 38 80 00 00 */ li r4, 0
+/* 80304AE8 00300748 38 A0 00 00 */ li r5, 0
+/* 80304AEC 0030074C 4B FF D5 41 */ bl func_8030202C
+/* 80304AF0 00300750 2C 03 00 00 */ cmpwi r3, 0
+/* 80304AF4 00300754 40 80 00 08 */ bge lbl_80304AFC
+/* 80304AF8 00300758 48 00 00 28 */ b lbl_80304B20
+lbl_80304AFC:
+/* 80304AFC 0030075C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304B00 00300760 38 A1 00 0C */ addi r5, r1, 0xc
+/* 80304B04 00300764 38 80 08 00 */ li r4, 0x800
+/* 80304B08 00300768 38 63 30 00 */ addi r3, r3, 0x3000
+/* 80304B0C 0030076C 4B FF D7 0D */ bl func_80302218
+/* 80304B10 00300770 2C 03 00 00 */ cmpwi r3, 0
+/* 80304B14 00300774 40 80 00 08 */ bge lbl_80304B1C
+/* 80304B18 00300778 7C 7F 1B 78 */ mr r31, r3
+lbl_80304B1C:
+/* 80304B1C 0030077C 7F E3 FB 78 */ mr r3, r31
+lbl_80304B20:
+/* 80304B20 00300780 2C 03 00 00 */ cmpwi r3, 0
+/* 80304B24 00300784 40 80 00 08 */ bge lbl_80304B2C
+/* 80304B28 00300788 48 00 00 60 */ b lbl_80304B88
+lbl_80304B2C:
+/* 80304B2C 0030078C 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304B30 00300790 38 81 00 08 */ addi r4, r1, 8
+/* 80304B34 00300794 4B FF DA 85 */ bl func_803025B8
+/* 80304B38 00300798 2C 03 00 00 */ cmpwi r3, 0
+/* 80304B3C 0030079C 7C 7F 1B 78 */ mr r31, r3
+/* 80304B40 003007A0 41 80 00 34 */ blt lbl_80304B74
+/* 80304B44 003007A4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304B48 003007A8 A0 83 30 10 */ lhz r4, 0x3010(r3)
+/* 80304B4C 003007AC 28 04 00 01 */ cmplwi r4, 1
+/* 80304B50 003007B0 41 80 00 18 */ blt lbl_80304B68
+/* 80304B54 003007B4 A0 03 30 12 */ lhz r0, 0x3012(r3)
+/* 80304B58 003007B8 28 00 00 01 */ cmplwi r0, 1
+/* 80304B5C 003007BC 41 80 00 0C */ blt lbl_80304B68
+/* 80304B60 003007C0 7C 04 00 40 */ cmplw r4, r0
+/* 80304B64 003007C4 40 80 00 0C */ bge lbl_80304B70
+lbl_80304B68:
+/* 80304B68 003007C8 3B E0 FF F2 */ li r31, -14
+/* 80304B6C 003007CC 48 00 00 08 */ b lbl_80304B74
+lbl_80304B70:
+/* 80304B70 003007D0 3B E0 00 00 */ li r31, 0
+lbl_80304B74:
+/* 80304B74 003007D4 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304B78 003007D8 4B FF D3 21 */ bl func_80301E98
+/* 80304B7C 003007DC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304B80 003007E0 41 82 00 08 */ beq lbl_80304B88
+/* 80304B84 003007E4 7F E3 FB 78 */ mr r3, r31
+lbl_80304B88:
+/* 80304B88 003007E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80304B8C 003007EC 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80304B90 003007F0 7C 08 03 A6 */ mtlr r0
+/* 80304B94 003007F4 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80304B98 003007F8 4E 80 00 20 */ blr
+
+.global func_80304B9C
+func_80304B9C:
+/* 80304B9C 003007FC 94 21 FF 40 */ stwu r1, -0xc0(r1)
+/* 80304BA0 00300800 7C 08 02 A6 */ mflr r0
+/* 80304BA4 00300804 38 A0 00 04 */ li r5, 4
+/* 80304BA8 00300808 90 01 00 C4 */ stw r0, 0xc4(r1)
+/* 80304BAC 0030080C 93 E1 00 BC */ stw r31, 0xbc(r1)
+/* 80304BB0 00300810 93 C1 00 B8 */ stw r30, 0xb8(r1)
+/* 80304BB4 00300814 93 A1 00 B4 */ stw r29, 0xb4(r1)
+/* 80304BB8 00300818 7C 7D 1B 78 */ mr r29, r3
+/* 80304BBC 0030081C 38 61 00 08 */ addi r3, r1, 8
+/* 80304BC0 00300820 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
+/* 80304BC4 00300824 4B FF CF 85 */ bl func_80301B48
+/* 80304BC8 00300828 2C 03 00 00 */ cmpwi r3, 0
+/* 80304BCC 0030082C 40 80 00 08 */ bge lbl_80304BD4
+/* 80304BD0 00300830 48 00 01 30 */ b lbl_80304D00
+lbl_80304BD4:
+/* 80304BD4 00300834 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304BD8 00300838 38 80 00 00 */ li r4, 0
+/* 80304BDC 0030083C A3 FD 00 00 */ lhz r31, 0(r29)
+/* 80304BE0 00300840 38 A0 02 00 */ li r5, 0x200
+/* 80304BE4 00300844 3B C3 38 00 */ addi r30, r3, 0x3800
+/* 80304BE8 00300848 7F C3 F3 78 */ mr r3, r30
+/* 80304BEC 0030084C 4B CF F5 19 */ bl memset
+/* 80304BF0 00300850 38 60 00 FF */ li r3, 0xff
+/* 80304BF4 00300854 57 E0 23 36 */ rlwinm r0, r31, 4, 0xc, 0x1b
+/* 80304BF8 00300858 98 7E 00 02 */ stb r3, 2(r30)
+/* 80304BFC 0030085C 38 80 00 00 */ li r4, 0
+/* 80304C00 00300860 38 A0 00 10 */ li r5, 0x10
+/* 80304C04 00300864 B3 FE 00 00 */ sth r31, 0(r30)
+/* 80304C08 00300868 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C0C 0030086C 7C 63 02 14 */ add r3, r3, r0
+/* 80304C10 00300870 38 63 30 80 */ addi r3, r3, 0x3080
+/* 80304C14 00300874 4B CF F4 F1 */ bl memset
+/* 80304C18 00300878 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 80304C1C 0030087C 38 61 00 08 */ addi r3, r1, 8
+/* 80304C20 00300880 38 A0 00 00 */ li r5, 0
+/* 80304C24 00300884 54 04 48 2C */ slwi r4, r0, 9
+/* 80304C28 00300888 38 84 08 00 */ addi r4, r4, 0x800
+/* 80304C2C 0030088C 4B FF D4 01 */ bl func_8030202C
+/* 80304C30 00300890 2C 03 00 00 */ cmpwi r3, 0
+/* 80304C34 00300894 40 80 00 08 */ bge lbl_80304C3C
+/* 80304C38 00300898 48 00 00 40 */ b lbl_80304C78
+lbl_80304C3C:
+/* 80304C3C 0030089C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C40 003008A0 7F C4 F3 78 */ mr r4, r30
+/* 80304C44 003008A4 38 A0 02 00 */ li r5, 0x200
+/* 80304C48 003008A8 38 63 38 00 */ addi r3, r3, 0x3800
+/* 80304C4C 003008AC 4B CF F3 B5 */ bl memcpy
+/* 80304C50 003008B0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C54 003008B4 38 A1 00 08 */ addi r5, r1, 8
+/* 80304C58 003008B8 38 80 02 00 */ li r4, 0x200
+/* 80304C5C 003008BC 38 63 38 00 */ addi r3, r3, 0x3800
+/* 80304C60 003008C0 4B FF D7 85 */ bl func_803023E4
+/* 80304C64 003008C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304C68 003008C8 38 00 00 00 */ li r0, 0
+/* 80304C6C 003008CC 40 80 00 08 */ bge lbl_80304C74
+/* 80304C70 003008D0 7C 60 1B 78 */ mr r0, r3
+lbl_80304C74:
+/* 80304C74 003008D4 7C 03 03 78 */ mr r3, r0
+lbl_80304C78:
+/* 80304C78 003008D8 2C 03 00 00 */ cmpwi r3, 0
+/* 80304C7C 003008DC 7C 7E 1B 78 */ mr r30, r3
+/* 80304C80 003008E0 41 80 00 6C */ blt lbl_80304CEC
+/* 80304C84 003008E4 A0 1D 00 00 */ lhz r0, 0(r29)
+/* 80304C88 003008E8 38 80 00 00 */ li r4, 0
+/* 80304C8C 003008EC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C90 003008F0 38 A0 00 10 */ li r5, 0x10
+/* 80304C94 003008F4 54 00 20 36 */ slwi r0, r0, 4
+/* 80304C98 003008F8 7C 63 02 14 */ add r3, r3, r0
+/* 80304C9C 003008FC 38 63 30 80 */ addi r3, r3, 0x3080
+/* 80304CA0 00300900 4B CF F4 65 */ bl memset
+/* 80304CA4 00300904 38 61 00 08 */ addi r3, r1, 8
+/* 80304CA8 00300908 38 80 00 00 */ li r4, 0
+/* 80304CAC 0030090C 38 A0 00 00 */ li r5, 0
+/* 80304CB0 00300910 4B FF D3 7D */ bl func_8030202C
+/* 80304CB4 00300914 2C 03 00 00 */ cmpwi r3, 0
+/* 80304CB8 00300918 40 80 00 08 */ bge lbl_80304CC0
+/* 80304CBC 0030091C 48 00 00 2C */ b lbl_80304CE8
+lbl_80304CC0:
+/* 80304CC0 00300920 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304CC4 00300924 38 A1 00 08 */ addi r5, r1, 8
+/* 80304CC8 00300928 38 80 08 00 */ li r4, 0x800
+/* 80304CCC 0030092C 38 63 30 00 */ addi r3, r3, 0x3000
+/* 80304CD0 00300930 4B FF D7 15 */ bl func_803023E4
+/* 80304CD4 00300934 2C 03 00 00 */ cmpwi r3, 0
+/* 80304CD8 00300938 38 00 00 00 */ li r0, 0
+/* 80304CDC 0030093C 40 80 00 08 */ bge lbl_80304CE4
+/* 80304CE0 00300940 7C 60 1B 78 */ mr r0, r3
+lbl_80304CE4:
+/* 80304CE4 00300944 7C 03 03 78 */ mr r3, r0
+lbl_80304CE8:
+/* 80304CE8 00300948 7C 7E 1B 78 */ mr r30, r3
+lbl_80304CEC:
+/* 80304CEC 0030094C 38 61 00 08 */ addi r3, r1, 8
+/* 80304CF0 00300950 4B FF D1 A9 */ bl func_80301E98
+/* 80304CF4 00300954 2C 1E 00 00 */ cmpwi r30, 0
+/* 80304CF8 00300958 41 82 00 08 */ beq lbl_80304D00
+/* 80304CFC 0030095C 7F C3 F3 78 */ mr r3, r30
+lbl_80304D00:
+/* 80304D00 00300960 80 01 00 C4 */ lwz r0, 0xc4(r1)
+/* 80304D04 00300964 83 E1 00 BC */ lwz r31, 0xbc(r1)
+/* 80304D08 00300968 83 C1 00 B8 */ lwz r30, 0xb8(r1)
+/* 80304D0C 0030096C 83 A1 00 B4 */ lwz r29, 0xb4(r1)
+/* 80304D10 00300970 7C 08 03 A6 */ mtlr r0
+/* 80304D14 00300974 38 21 00 C0 */ addi r1, r1, 0xc0
+/* 80304D18 00300978 4E 80 00 20 */ blr
+
+.global func_80304D1C
+func_80304D1C:
+/* 80304D1C 0030097C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80304D20 00300980 7C 08 02 A6 */ mflr r0
+/* 80304D24 00300984 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80304D28 00300988 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80304D2C 0030098C 3B E0 00 00 */ li r31, 0
+/* 80304D30 00300990 4B FF E3 25 */ bl func_80303054
+/* 80304D34 00300994 3C A0 80 30 */ lis r5, lbl_80304DC4@ha
+/* 80304D38 00300998 3C 80 80 58 */ lis r4, lbl_8057EA00@ha
+/* 80304D3C 0030099C 38 A5 4D C4 */ addi r5, r5, lbl_80304DC4@l
+/* 80304D40 003009A0 38 00 00 6E */ li r0, 0x6e
+/* 80304D44 003009A4 38 64 EA 00 */ addi r3, r4, lbl_8057EA00@l
+/* 80304D48 003009A8 90 A4 EA 00 */ stw r5, -0x1600(r4)
+/* 80304D4C 003009AC 90 03 00 04 */ stw r0, 4(r3)
+/* 80304D50 003009B0 4B F6 AF 41 */ bl OSRegisterShutdownFunction
+/* 80304D54 003009B4 80 0D 8C C8 */ lwz r0, lbl_8063DF88-_SDA_BASE_(r13)
+/* 80304D58 003009B8 2C 00 00 00 */ cmpwi r0, 0
+/* 80304D5C 003009BC 40 80 00 24 */ bge lbl_80304D80
+/* 80304D60 003009C0 3C 60 80 44 */ lis r3, lbl_80446590@ha
+/* 80304D64 003009C4 3C 80 80 44 */ lis r4, lbl_804465A8@ha
+/* 80304D68 003009C8 38 63 65 90 */ addi r3, r3, lbl_80446590@l
+/* 80304D6C 003009CC 38 AD 8C C8 */ addi r5, r13, lbl_8063DF88-_SDA_BASE_
+/* 80304D70 003009D0 38 84 65 A8 */ addi r4, r4, lbl_804465A8@l
+/* 80304D74 003009D4 38 C0 00 01 */ li r6, 1
+/* 80304D78 003009D8 4B FF F9 05 */ bl func_8030467C
+/* 80304D7C 003009DC 7C 7F 1B 78 */ mr r31, r3
+lbl_80304D80:
+/* 80304D80 003009E0 38 00 00 05 */ li r0, 5
+/* 80304D84 003009E4 90 0D AF D0 */ stw r0, lbl_80640290-_SDA_BASE_(r13)
+lbl_80304D88:
+/* 80304D88 003009E8 4B FE 5C 65 */ bl SCCheckStatus
+/* 80304D8C 003009EC 28 03 00 02 */ cmplwi r3, 2
+/* 80304D90 003009F0 41 82 00 1C */ beq lbl_80304DAC
+/* 80304D94 003009F4 28 03 00 01 */ cmplwi r3, 1
+/* 80304D98 003009F8 41 82 FF F0 */ beq lbl_80304D88
+/* 80304D9C 003009FC 38 61 00 08 */ addi r3, r1, 8
+/* 80304DA0 00300A00 4B FE 76 9D */ bl SCGetIdleMode
+/* 80304DA4 00300A04 88 61 00 09 */ lbz r3, 9(r1)
+/* 80304DA8 00300A08 4B F6 E8 45 */ bl __OSSetIdleLEDMode
+lbl_80304DAC:
+/* 80304DAC 00300A0C 7F E3 FB 78 */ mr r3, r31
+/* 80304DB0 00300A10 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80304DB4 00300A14 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80304DB8 00300A18 7C 08 03 A6 */ mtlr r0
+/* 80304DBC 00300A1C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80304DC0 00300A20 4E 80 00 20 */ blr
+lbl_80304DC4:
+/* 80304DC4 00300A24 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80304DC8 00300A28 7C 08 02 A6 */ mflr r0
+/* 80304DCC 00300A2C 2C 03 00 00 */ cmpwi r3, 0
+/* 80304DD0 00300A30 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80304DD4 00300A34 41 82 00 0C */ beq lbl_80304DE0
+/* 80304DD8 00300A38 38 60 00 01 */ li r3, 1
+/* 80304DDC 00300A3C 48 00 00 A8 */ b lbl_80304E84
+lbl_80304DE0:
+/* 80304DE0 00300A40 80 0D AF D4 */ lwz r0, lbl_80640294-_SDA_BASE_(r13)
+/* 80304DE4 00300A44 2C 00 00 00 */ cmpwi r0, 0
+/* 80304DE8 00300A48 41 82 00 54 */ beq lbl_80304E3C
+/* 80304DEC 00300A4C 4B FF F9 E1 */ bl func_803047CC
+/* 80304DF0 00300A50 2C 03 00 00 */ cmpwi r3, 0
+/* 80304DF4 00300A54 41 82 00 0C */ beq lbl_80304E00
+/* 80304DF8 00300A58 38 60 00 00 */ li r3, 0
+/* 80304DFC 00300A5C 48 00 00 88 */ b lbl_80304E84
+lbl_80304E00:
+/* 80304E00 00300A60 80 0D AF D8 */ lwz r0, lbl_80640298-_SDA_BASE_(r13)
+/* 80304E04 00300A64 2C 00 00 00 */ cmpwi r0, 0
+/* 80304E08 00300A68 41 80 00 0C */ blt lbl_80304E14
+/* 80304E0C 00300A6C 38 60 00 01 */ li r3, 1
+/* 80304E10 00300A70 48 00 00 74 */ b lbl_80304E84
+lbl_80304E14:
+/* 80304E14 00300A74 80 6D AF D0 */ lwz r3, lbl_80640290-_SDA_BASE_(r13)
+/* 80304E18 00300A78 2C 03 00 00 */ cmpwi r3, 0
+/* 80304E1C 00300A7C 40 81 00 18 */ ble lbl_80304E34
+/* 80304E20 00300A80 38 03 FF FF */ addi r0, r3, -1
+/* 80304E24 00300A84 38 60 00 00 */ li r3, 0
+/* 80304E28 00300A88 90 6D AF D4 */ stw r3, lbl_80640294-_SDA_BASE_(r13)
+/* 80304E2C 00300A8C 90 0D AF D0 */ stw r0, lbl_80640290-_SDA_BASE_(r13)
+/* 80304E30 00300A90 48 00 00 50 */ b lbl_80304E80
+lbl_80304E34:
+/* 80304E34 00300A94 38 60 00 01 */ li r3, 1
+/* 80304E38 00300A98 48 00 00 4C */ b lbl_80304E84
+lbl_80304E3C:
+/* 80304E3C 00300A9C 3C A0 80 58 */ lis r5, lbl_8057EA20@ha
+/* 80304E40 00300AA0 3C 60 80 44 */ lis r3, lbl_804465BC@ha
+/* 80304E44 00300AA4 90 85 EA 20 */ stw r4, lbl_8057EA20@l(r5)
+/* 80304E48 00300AA8 3D 00 80 58 */ lis r8, lbl_8057EA40@ha
+/* 80304E4C 00300AAC 38 C5 EA 20 */ addi r6, r5, -5600
+/* 80304E50 00300AB0 80 8D 8C C8 */ lwz r4, lbl_8063DF88-_SDA_BASE_(r13)
+/* 80304E54 00300AB4 38 63 65 BC */ addi r3, r3, lbl_804465BC@l
+/* 80304E58 00300AB8 39 08 EA 40 */ addi r8, r8, lbl_8057EA40@l
+/* 80304E5C 00300ABC 38 A0 00 28 */ li r5, 0x28
+/* 80304E60 00300AC0 38 E0 00 20 */ li r7, 0x20
+/* 80304E64 00300AC4 39 20 00 20 */ li r9, 0x20
+/* 80304E68 00300AC8 39 4D AF D8 */ addi r10, r13, lbl_80640298-_SDA_BASE_
+/* 80304E6C 00300ACC 4B FF F9 05 */ bl func_80304770
+/* 80304E70 00300AD0 2C 03 00 00 */ cmpwi r3, 0
+/* 80304E74 00300AD4 41 80 00 0C */ blt lbl_80304E80
+/* 80304E78 00300AD8 38 00 00 01 */ li r0, 1
+/* 80304E7C 00300ADC 90 0D AF D4 */ stw r0, lbl_80640294-_SDA_BASE_(r13)
+lbl_80304E80:
+/* 80304E80 00300AE0 38 60 00 00 */ li r3, 0
+lbl_80304E84:
+/* 80304E84 00300AE4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304E88 00300AE8 7C 08 03 A6 */ mtlr r0
+/* 80304E8C 00300AEC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80304E90 00300AF0 4E 80 00 20 */ blr
diff --git a/asm/text_9_2.s b/asm/text_9_2.s new file mode 100644 index 0000000..7f042ab --- /dev/null +++ b/asm/text_9_2.s @@ -0,0 +1,16778 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global VFipf2_errnum +VFipf2_errnum: +/* 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 VFiPFVOL_errnum +/* 8031A268 00315EC8 4B FF FF 79 */ bl VFiPFAPI_convertError +/* 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 VFipf2_fclose +VFipf2_fclose: +/* 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 VFiPFFILE_fclose +/* 8031A28C 00315EEC 4B FF FF A5 */ bl VFiPFAPI_convertReturnValue +/* 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 VFipf2_finfo +VFipf2_finfo: +/* 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 VFiPFFILE_finfo +/* 8031A2B0 00315F10 4B FF FF 81 */ bl VFiPFAPI_convertReturnValue +/* 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 VFipf2_fopen +VFipf2_fopen: +/* 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 VFiPFAPI_ParseOpenModeString +/* 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 VFiPFFILE_fopen +/* 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 VFiPFAPI_convertReturnValue2NULL +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 VFipf2_fread +VFipf2_fread: +/* 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 VFiPFFILE_fread +/* 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 VFipf2_fseek +VFipf2_fseek: +/* 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 VFiPFFILE_fseek +/* 8031A398 00315FF8 4B FF FE 99 */ bl VFiPFAPI_convertReturnValue +/* 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 VFipf2_fwrite +VFipf2_fwrite: +/* 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 VFiPFFILE_fwrite +/* 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 VFipf2_init_prfile2 +VFipf2_init_prfile2: +/* 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 VFiPFFATFS_initializeFATFS +/* 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 VFiPFAPI_convertReturnValue +/* 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 VFipf2_init_prfile2 +/* 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 VFiPFVOL_GetCurrentVolume +/* 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 VFipf2_fopen +/* 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 VFipf2_errnum +/* 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 VFiPFVOL_GetVolumeFromDrvChar +/* 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 VFiPFVOL_SetCurrentVolume +/* 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 VFipf2_errnum +/* 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 VFipf2_fopen +/* 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 VFipf2_errnum +/* 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 VFipf2_fclose +/* 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 VFipf2_errnum +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 VFipf2_fseek +/* 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 VFipf2_errnum +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 VFipf2_finfo +/* 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 VFipf2_fread +/* 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 VFipf2_errnum +/* 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 VFipf2_errnum +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 VFipf2_fwrite +/* 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 VFipf2_errnum +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 VFipf2_finfo +/* 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 VFipf2_errnum +/* 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 VFiPFVOL_GetCurrentVolume +/* 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 diff --git a/obj_files.mk b/obj_files.mk index 92ffefd..6b305b8 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -349,6 +349,34 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/SDK/NHTTP/d_nhttp.o \ $(BUILD_DIR)/asm/SDK/NHTTP/d_nhttp_common.o \ $(BUILD_DIR)/asm/text_9.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_clib.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_code.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_service.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_str.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_w_clib.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_driver.o \ + $(BUILD_DIR)/asm/SDK/VF/pdm_bpb.o \ + $(BUILD_DIR)/asm/SDK/VF/pdm_disk.o \ + $(BUILD_DIR)/asm/SDK/VF/pdm_partition.o \ + $(BUILD_DIR)/asm/SDK/VF/pdm_mbr.o \ + $(BUILD_DIR)/asm/SDK/VF/pdm_dskmng.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_cache.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_cluster.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_dir.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_entry.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_entry_iterator.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_fat.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_fat12.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_fat16.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_fat32.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_fatfs.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_file.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_path.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_sector.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_volume.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_cp932.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_api_util.o \ + $(BUILD_DIR)/asm/text_9_2.o \ $(BUILD_DIR)/asm/text_10.o \ $(BUILD_DIR)/src/GameSpy/darray.o \ $(BUILD_DIR)/src/GameSpy/hashtable.o \ |