summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-11 21:04:38 -0400
committerMax <mparisi@stevens.edu>2020-10-11 21:04:38 -0400
commit39ed378d307dcd5089dd04771273ff3775ea080f (patch)
tree04bbd7e402e4e8a492e5aa761b484f5a9fe3b4bc
parent946210fc7bd7ca0babf676db81d40400ec31e5df (diff)
split ssl_mutex and NWC24StdAPI
-rw-r--r--Makefile4
-rw-r--r--asm/SDK/NWC24/NWC24StdAPI.s847
-rw-r--r--asm/SDK/SSL/ssl_api.s12
-rw-r--r--asm/SDK/SSL/ssl_mutex.s15
-rw-r--r--asm/text_9.s4691
-rw-r--r--asm/text_9_2.s3838
-rw-r--r--obj_files.mk3
7 files changed, 4711 insertions, 4699 deletions
diff --git a/Makefile b/Makefile
index 6221fc6..14990e9 100644
--- a/Makefile
+++ b/Makefile
@@ -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/SSL src/SDK/VF src/SDK/DWC/dwc_common src/SDK/DWC/dwc_ghttp \
+ src/SDK/NET src/SDK/NHTTP src/SDK/SSL src/SDK/NWC24 src/SDK/VF src/SDK/DWC/dwc_common src/SDK/DWC/dwc_ghttp \
src/SDK/DWC/dwc_lanmatch src/SDK/DWC/dwc_match src/SDK/DWC/dwc_nonport src/SDK/DWC/dwcsec_account \
src/SDK/DWC/dwcsec_auth src/SDK/DWC/dwcsec_nas src/SDK/SSL 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 \
@@ -44,7 +44,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/SSL asm/SDK/VF asm/SDK/DWC/dwc_common asm/SDK/DWC/dwc_ghttp \
+ asm/SDK/NET asm/SDK/NHTTP asm/SDK/SSL asm/SDK/NWC24 asm/SDK/VF asm/SDK/DWC/dwc_common asm/SDK/DWC/dwc_ghttp \
asm/SDK/DWC/dwc_lanmatch asm/SDK/DWC/dwc_match asm/SDK/DWC/dwc_nonport asm/SDK/DWC/dwcsec_account \
asm/SDK/DWC/dwcsec_auth asm/SDK/DWC/dwcsec_nas asm/SDK/SSL 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 \
diff --git a/asm/SDK/NWC24/NWC24StdAPI.s b/asm/SDK/NWC24/NWC24StdAPI.s
new file mode 100644
index 0000000..2697038
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24StdAPI.s
@@ -0,0 +1,847 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global STD_strnlen
+STD_strnlen:
+/* 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 Mail_memset
+Mail_memset:
+/* 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 convNum
+convNum:
+/* 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 Mail_sprintf
+Mail_sprintf:
+/* 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 Mail_vsprintf
+/* 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 Mail_vsprintf
+Mail_vsprintf:
+/* 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 convNum
+/* 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
diff --git a/asm/SDK/SSL/ssl_api.s b/asm/SDK/SSL/ssl_api.s
index da9e309..45f7d7a 100644
--- a/asm/SDK/SSL/ssl_api.s
+++ b/asm/SDK/SSL/ssl_api.s
@@ -665,7 +665,7 @@ lbl_80300858:
/* 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
+/* 80300870 002FC4D0 48 00 03 95 */ bl SSL_InitMutex
/* 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
@@ -684,7 +684,7 @@ 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
+/* 803008B8 002FC518 48 00 03 51 */ bl SSL_LockMutex
/* 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
@@ -716,7 +716,7 @@ lbl_803008AC:
/* 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
+/* 80300938 002FC598 48 00 02 D5 */ bl SSL_UnlockMutex
/* 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)
@@ -808,7 +808,7 @@ lbl_80300A68:
/* 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
+/* 80300A80 002FC6E0 48 00 01 85 */ bl SSL_InitMutex
/* 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
@@ -827,7 +827,7 @@ 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
+/* 80300AC8 002FC728 48 00 01 41 */ bl SSL_LockMutex
/* 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
@@ -852,7 +852,7 @@ lbl_80300ABC:
/* 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
+/* 80300B2C 002FC78C 48 00 00 E1 */ bl SSL_UnlockMutex
/* 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)
diff --git a/asm/SDK/SSL/ssl_mutex.s b/asm/SDK/SSL/ssl_mutex.s
new file mode 100644
index 0000000..8c152ad
--- /dev/null
+++ b/asm/SDK/SSL/ssl_mutex.s
@@ -0,0 +1,15 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global SSL_InitMutex
+SSL_InitMutex:
+/* 80300C04 002FC864 4B F6 ED 0C */ b OSInitMutex
+
+.global SSL_LockMutex
+SSL_LockMutex:
+/* 80300C08 002FC868 4B F6 ED 40 */ b OSLockMutex
+
+.global SSL_UnlockMutex
+SSL_UnlockMutex:
+/* 80300C0C 002FC86C 4B F6 EE 18 */ b OSUnlockMutex
diff --git a/asm/text_9.s b/asm/text_9.s
index 6d8de6f..0203df9 100644
--- a/asm/text_9.s
+++ b/asm/text_9.s
@@ -2,18 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.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)
@@ -276,4682 +264,3 @@ 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 VFOpenFile
-/* 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 VFGetLastError
-/* 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 VFGetLastDeviceError
-/* 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 VFCloseFile
-/* 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 VFGetLastDeviceError
-/* 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 VFSeekFile
-/* 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 VFGetLastDeviceError
-/* 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 VFSeekFile
-/* 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 VFGetLastDeviceError
-/* 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 VFReadFile
-/* 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 VFGetLastDeviceError
-/* 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 VFWriteFile
-/* 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 VFGetLastDeviceError
-/* 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 VFGetFileSizeByFd
-/* 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 VFGetLastDeviceError
-/* 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 VFWriteFile
-/* 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 VFGetLastDeviceError
-/* 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 VFWriteFile
-/* 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 VFGetLastDeviceError
-/* 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 VFReadFile
-/* 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 VFGetLastDeviceError
-/* 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 VFIsAvailable
-/* 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..348217b
--- /dev/null
+++ b/asm/text_9_2.s
@@ -0,0 +1,3838 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.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 VFOpenFile
+/* 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 VFGetLastError
+/* 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 VFGetLastDeviceError
+/* 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 VFCloseFile
+/* 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 VFGetLastDeviceError
+/* 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 VFSeekFile
+/* 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 VFGetLastDeviceError
+/* 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 VFSeekFile
+/* 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 VFGetLastDeviceError
+/* 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 VFReadFile
+/* 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 VFGetLastDeviceError
+/* 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 VFWriteFile
+/* 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 VFGetLastDeviceError
+/* 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 VFGetFileSizeByFd
+/* 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 VFGetLastDeviceError
+/* 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 VFWriteFile
+/* 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 VFGetLastDeviceError
+/* 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 VFWriteFile
+/* 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 VFGetLastDeviceError
+/* 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 VFReadFile
+/* 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 VFGetLastDeviceError
+/* 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 VFIsAvailable
+/* 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 Mail_memset
+/* 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 Mail_memset
+/* 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 STD_strnlen
+/* 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 Mail_sprintf
+/* 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 STD_strnlen
+/* 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 Mail_sprintf
+/* 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 STD_strnlen
+/* 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 Mail_sprintf
+/* 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 Mail_sprintf
+/* 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 Mail_memset
+/* 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 Mail_memset
+/* 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/obj_files.mk b/obj_files.mk
index c1a373a..538cdb1 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -349,7 +349,10 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/SDK/NHTTP/d_nhttp.o \
$(BUILD_DIR)/asm/SDK/NHTTP/d_nhttp_common.o \
$(BUILD_DIR)/asm/SDK/SSL/ssl_api.o \
+ $(BUILD_DIR)/asm/SDK/SSL/ssl_mutex.o \
$(BUILD_DIR)/asm/text_9.o \
+ $(BUILD_DIR)/asm/SDK/NWC24/NWC24StdAPI.o \
+ $(BUILD_DIR)/asm/text_9_2.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 \