summaryrefslogtreecommitdiff
path: root/asm/code_8023D008.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_8023D008.s')
-rw-r--r--asm/code_8023D008.s1989
1 files changed, 1989 insertions, 0 deletions
diff --git a/asm/code_8023D008.s b/asm/code_8023D008.s
new file mode 100644
index 0000000..0190396
--- /dev/null
+++ b/asm/code_8023D008.s
@@ -0,0 +1,1989 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_8023D008
+func_8023D008:
+/* 8023D008 00238C68 28 03 00 02 */ cmplwi r3, 2
+/* 8023D00C 00238C6C 40 80 00 0C */ bge lbl_8023D018
+/* 8023D010 00238C70 38 60 00 00 */ li r3, 0
+/* 8023D014 00238C74 4E 80 00 20 */ blr
+lbl_8023D018:
+/* 8023D018 00238C78 38 00 00 0E */ li r0, 0xe
+/* 8023D01C 00238C7C 38 C0 00 0F */ li r6, 0xf
+/* 8023D020 00238C80 38 80 00 01 */ li r4, 1
+/* 8023D024 00238C84 7C 09 03 A6 */ mtctr r0
+lbl_8023D028:
+/* 8023D028 00238C88 7C 85 30 30 */ slw r5, r4, r6
+/* 8023D02C 00238C8C 7C 60 28 39 */ and. r0, r3, r5
+/* 8023D030 00238C90 41 82 00 18 */ beq lbl_8023D048
+/* 8023D034 00238C94 7C 60 28 78 */ andc r0, r3, r5
+/* 8023D038 00238C98 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 8023D03C 00238C9C 7C 00 00 34 */ cntlzw r0, r0
+/* 8023D040 00238CA0 54 03 D9 7E */ srwi r3, r0, 5
+/* 8023D044 00238CA4 4E 80 00 20 */ blr
+lbl_8023D048:
+/* 8023D048 00238CA8 38 C6 FF FF */ addi r6, r6, -1
+/* 8023D04C 00238CAC 42 00 FF DC */ bdnz lbl_8023D028
+/* 8023D050 00238CB0 38 60 00 00 */ li r3, 0
+/* 8023D054 00238CB4 4E 80 00 20 */ blr
+
+.global func_8023D058
+func_8023D058:
+/* 8023D058 00238CB8 80 0D A4 AC */ lwz r0, lbl_8063F76C-_SDA_BASE_(r13)
+/* 8023D05C 00238CBC 80 6D A4 A8 */ lwz r3, lbl_8063F768-_SDA_BASE_(r13)
+/* 8023D060 00238CC0 7C 09 03 A6 */ mtctr r0
+/* 8023D064 00238CC4 28 00 00 00 */ cmplwi r0, 0
+/* 8023D068 00238CC8 40 81 00 18 */ ble lbl_8023D080
+lbl_8023D06C:
+/* 8023D06C 00238CCC 88 03 00 06 */ lbz r0, 6(r3)
+/* 8023D070 00238CD0 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D074 00238CD4 4D 82 00 20 */ beqlr
+/* 8023D078 00238CD8 38 63 00 80 */ addi r3, r3, 0x80
+/* 8023D07C 00238CDC 42 00 FF F0 */ bdnz lbl_8023D06C
+lbl_8023D080:
+/* 8023D080 00238CE0 38 60 00 00 */ li r3, 0
+/* 8023D084 00238CE4 4E 80 00 20 */ blr
+
+.global func_8023D088
+func_8023D088:
+/* 8023D088 00238CE8 2C 03 00 90 */ cmpwi r3, 0x90
+/* 8023D08C 00238CEC 41 82 01 00 */ beq lbl_8023D18C
+/* 8023D090 00238CF0 40 80 00 5C */ bge lbl_8023D0EC
+/* 8023D094 00238CF4 2C 03 00 40 */ cmpwi r3, 0x40
+/* 8023D098 00238CF8 41 82 00 C4 */ beq lbl_8023D15C
+/* 8023D09C 00238CFC 40 80 00 28 */ bge lbl_8023D0C4
+/* 8023D0A0 00238D00 2C 03 00 01 */ cmpwi r3, 1
+/* 8023D0A4 00238D04 41 82 00 A8 */ beq lbl_8023D14C
+/* 8023D0A8 00238D08 40 80 00 10 */ bge lbl_8023D0B8
+/* 8023D0AC 00238D0C 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D0B0 00238D10 40 80 00 94 */ bge lbl_8023D144
+/* 8023D0B4 00238D14 48 00 01 9C */ b lbl_8023D250
+lbl_8023D0B8:
+/* 8023D0B8 00238D18 2C 03 00 30 */ cmpwi r3, 0x30
+/* 8023D0BC 00238D1C 41 82 00 98 */ beq lbl_8023D154
+/* 8023D0C0 00238D20 48 00 01 90 */ b lbl_8023D250
+lbl_8023D0C4:
+/* 8023D0C4 00238D24 2C 03 00 44 */ cmpwi r3, 0x44
+/* 8023D0C8 00238D28 41 82 00 B4 */ beq lbl_8023D17C
+/* 8023D0CC 00238D2C 40 80 00 14 */ bge lbl_8023D0E0
+/* 8023D0D0 00238D30 2C 03 00 42 */ cmpwi r3, 0x42
+/* 8023D0D4 00238D34 41 82 00 98 */ beq lbl_8023D16C
+/* 8023D0D8 00238D38 40 80 00 9C */ bge lbl_8023D174
+/* 8023D0DC 00238D3C 48 00 00 88 */ b lbl_8023D164
+lbl_8023D0E0:
+/* 8023D0E0 00238D40 2C 03 00 46 */ cmpwi r3, 0x46
+/* 8023D0E4 00238D44 40 80 01 6C */ bge lbl_8023D250
+/* 8023D0E8 00238D48 48 00 00 9C */ b lbl_8023D184
+lbl_8023D0EC:
+/* 8023D0EC 00238D4C 2C 03 00 A5 */ cmpwi r3, 0xa5
+/* 8023D0F0 00238D50 41 82 01 24 */ beq lbl_8023D214
+/* 8023D0F4 00238D54 40 80 00 2C */ bge lbl_8023D120
+/* 8023D0F8 00238D58 2C 03 00 A2 */ cmpwi r3, 0xa2
+/* 8023D0FC 00238D5C 41 82 00 DC */ beq lbl_8023D1D8
+/* 8023D100 00238D60 40 80 00 14 */ bge lbl_8023D114
+/* 8023D104 00238D64 2C 03 00 A0 */ cmpwi r3, 0xa0
+/* 8023D108 00238D68 41 82 00 A8 */ beq lbl_8023D1B0
+/* 8023D10C 00238D6C 40 80 00 B8 */ bge lbl_8023D1C4
+/* 8023D110 00238D70 48 00 01 40 */ b lbl_8023D250
+lbl_8023D114:
+/* 8023D114 00238D74 2C 03 00 A4 */ cmpwi r3, 0xa4
+/* 8023D118 00238D78 40 80 00 E8 */ bge lbl_8023D200
+/* 8023D11C 00238D7C 48 00 00 D0 */ b lbl_8023D1EC
+lbl_8023D120:
+/* 8023D120 00238D80 2C 03 00 A8 */ cmpwi r3, 0xa8
+/* 8023D124 00238D84 41 82 00 78 */ beq lbl_8023D19C
+/* 8023D128 00238D88 40 80 00 10 */ bge lbl_8023D138
+/* 8023D12C 00238D8C 2C 03 00 A7 */ cmpwi r3, 0xa7
+/* 8023D130 00238D90 40 80 01 0C */ bge lbl_8023D23C
+/* 8023D134 00238D94 48 00 00 F4 */ b lbl_8023D228
+lbl_8023D138:
+/* 8023D138 00238D98 2C 03 00 B0 */ cmpwi r3, 0xb0
+/* 8023D13C 00238D9C 41 82 00 58 */ beq lbl_8023D194
+/* 8023D140 00238DA0 48 00 01 10 */ b lbl_8023D250
+lbl_8023D144:
+/* 8023D144 00238DA4 38 60 00 08 */ li r3, 8
+/* 8023D148 00238DA8 4E 80 00 20 */ blr
+lbl_8023D14C:
+/* 8023D14C 00238DAC 38 60 00 09 */ li r3, 9
+/* 8023D150 00238DB0 4E 80 00 20 */ blr
+lbl_8023D154:
+/* 8023D154 00238DB4 38 60 00 0A */ li r3, 0xa
+/* 8023D158 00238DB8 4E 80 00 20 */ blr
+lbl_8023D15C:
+/* 8023D15C 00238DBC 38 60 00 00 */ li r3, 0
+/* 8023D160 00238DC0 4E 80 00 20 */ blr
+lbl_8023D164:
+/* 8023D164 00238DC4 38 60 00 02 */ li r3, 2
+/* 8023D168 00238DC8 4E 80 00 20 */ blr
+lbl_8023D16C:
+/* 8023D16C 00238DCC 38 60 00 01 */ li r3, 1
+/* 8023D170 00238DD0 4E 80 00 20 */ blr
+lbl_8023D174:
+/* 8023D174 00238DD4 38 60 00 03 */ li r3, 3
+/* 8023D178 00238DD8 4E 80 00 20 */ blr
+lbl_8023D17C:
+/* 8023D17C 00238DDC 38 60 00 04 */ li r3, 4
+/* 8023D180 00238DE0 4E 80 00 20 */ blr
+lbl_8023D184:
+/* 8023D184 00238DE4 38 60 00 06 */ li r3, 6
+/* 8023D188 00238DE8 4E 80 00 20 */ blr
+lbl_8023D18C:
+/* 8023D18C 00238DEC 38 60 00 05 */ li r3, 5
+/* 8023D190 00238DF0 4E 80 00 20 */ blr
+lbl_8023D194:
+/* 8023D194 00238DF4 38 60 00 0E */ li r3, 0xe
+/* 8023D198 00238DF8 4E 80 00 20 */ blr
+lbl_8023D19C:
+/* 8023D19C 00238DFC 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D1A0 00238E00 38 60 00 20 */ li r3, 0x20
+/* 8023D1A4 00238E04 4D 82 00 20 */ beqlr
+/* 8023D1A8 00238E08 38 60 00 00 */ li r3, 0
+/* 8023D1AC 00238E0C 4E 80 00 20 */ blr
+lbl_8023D1B0:
+/* 8023D1B0 00238E10 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D1B4 00238E14 38 60 00 27 */ li r3, 0x27
+/* 8023D1B8 00238E18 4D 82 00 20 */ beqlr
+/* 8023D1BC 00238E1C 38 60 00 01 */ li r3, 1
+/* 8023D1C0 00238E20 4E 80 00 20 */ blr
+lbl_8023D1C4:
+/* 8023D1C4 00238E24 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D1C8 00238E28 38 60 00 28 */ li r3, 0x28
+/* 8023D1CC 00238E2C 4D 82 00 20 */ beqlr
+/* 8023D1D0 00238E30 38 60 00 01 */ li r3, 1
+/* 8023D1D4 00238E34 4E 80 00 20 */ blr
+lbl_8023D1D8:
+/* 8023D1D8 00238E38 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D1DC 00238E3C 38 60 00 29 */ li r3, 0x29
+/* 8023D1E0 00238E40 4D 82 00 20 */ beqlr
+/* 8023D1E4 00238E44 38 60 00 01 */ li r3, 1
+/* 8023D1E8 00238E48 4E 80 00 20 */ blr
+lbl_8023D1EC:
+/* 8023D1EC 00238E4C 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D1F0 00238E50 38 60 00 2A */ li r3, 0x2a
+/* 8023D1F4 00238E54 4D 82 00 20 */ beqlr
+/* 8023D1F8 00238E58 38 60 00 01 */ li r3, 1
+/* 8023D1FC 00238E5C 4E 80 00 20 */ blr
+lbl_8023D200:
+/* 8023D200 00238E60 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D204 00238E64 38 60 00 11 */ li r3, 0x11
+/* 8023D208 00238E68 4D 82 00 20 */ beqlr
+/* 8023D20C 00238E6C 38 60 00 01 */ li r3, 1
+/* 8023D210 00238E70 4E 80 00 20 */ blr
+lbl_8023D214:
+/* 8023D214 00238E74 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D218 00238E78 38 60 00 39 */ li r3, 0x39
+/* 8023D21C 00238E7C 4D 82 00 20 */ beqlr
+/* 8023D220 00238E80 38 60 00 01 */ li r3, 1
+/* 8023D224 00238E84 4E 80 00 20 */ blr
+lbl_8023D228:
+/* 8023D228 00238E88 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D22C 00238E8C 38 60 00 13 */ li r3, 0x13
+/* 8023D230 00238E90 4D 82 00 20 */ beqlr
+/* 8023D234 00238E94 38 60 00 03 */ li r3, 3
+/* 8023D238 00238E98 4E 80 00 20 */ blr
+lbl_8023D23C:
+/* 8023D23C 00238E9C 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D240 00238EA0 38 60 00 16 */ li r3, 0x16
+/* 8023D244 00238EA4 4D 82 00 20 */ beqlr
+/* 8023D248 00238EA8 38 60 00 06 */ li r3, 6
+/* 8023D24C 00238EAC 4E 80 00 20 */ blr
+lbl_8023D250:
+/* 8023D250 00238EB0 38 60 FF FF */ li r3, -1
+/* 8023D254 00238EB4 4E 80 00 20 */ blr
+
+.global func_8023D258
+func_8023D258:
+/* 8023D258 00238EB8 2C 03 00 01 */ cmpwi r3, 1
+/* 8023D25C 00238EBC 41 82 00 28 */ beq lbl_8023D284
+/* 8023D260 00238EC0 40 80 00 10 */ bge lbl_8023D270
+/* 8023D264 00238EC4 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D268 00238EC8 40 80 00 14 */ bge lbl_8023D27C
+/* 8023D26C 00238ECC 48 00 00 28 */ b lbl_8023D294
+lbl_8023D270:
+/* 8023D270 00238ED0 2C 03 00 30 */ cmpwi r3, 0x30
+/* 8023D274 00238ED4 41 82 00 18 */ beq lbl_8023D28C
+/* 8023D278 00238ED8 48 00 00 1C */ b lbl_8023D294
+lbl_8023D27C:
+/* 8023D27C 00238EDC 38 60 00 08 */ li r3, 8
+/* 8023D280 00238EE0 4E 80 00 20 */ blr
+lbl_8023D284:
+/* 8023D284 00238EE4 38 60 00 09 */ li r3, 9
+/* 8023D288 00238EE8 4E 80 00 20 */ blr
+lbl_8023D28C:
+/* 8023D28C 00238EEC 38 60 00 0A */ li r3, 0xa
+/* 8023D290 00238EF0 4E 80 00 20 */ blr
+lbl_8023D294:
+/* 8023D294 00238EF4 38 60 FF FF */ li r3, -1
+/* 8023D298 00238EF8 4E 80 00 20 */ blr
+
+.global func_8023D29C
+func_8023D29C:
+/* 8023D29C 00238EFC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8023D2A0 00238F00 7C 08 02 A6 */ mflr r0
+/* 8023D2A4 00238F04 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8023D2A8 00238F08 39 61 00 30 */ addi r11, r1, 0x30
+/* 8023D2AC 00238F0C 4B F8 9E 7D */ bl _savegpr_27
+/* 8023D2B0 00238F10 88 03 00 05 */ lbz r0, 5(r3)
+/* 8023D2B4 00238F14 7C 7B 1B 78 */ mr r27, r3
+/* 8023D2B8 00238F18 3B A0 00 00 */ li r29, 0
+/* 8023D2BC 00238F1C 20 00 00 01 */ subfic r0, r0, 1
+/* 8023D2C0 00238F20 54 1C 0F FF */ rlwinm. r28, r0, 1, 0x1f, 0x1f
+/* 8023D2C4 00238F24 41 82 00 3C */ beq lbl_8023D300
+/* 8023D2C8 00238F28 A0 63 00 00 */ lhz r3, 0(r3)
+/* 8023D2CC 00238F2C 4B FF FD 3D */ bl func_8023D008
+/* 8023D2D0 00238F30 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D2D4 00238F34 40 82 00 10 */ bne lbl_8023D2E4
+/* 8023D2D8 00238F38 38 00 00 01 */ li r0, 1
+/* 8023D2DC 00238F3C 3B 80 00 00 */ li r28, 0
+/* 8023D2E0 00238F40 98 1B 00 05 */ stb r0, 5(r27)
+lbl_8023D2E4:
+/* 8023D2E4 00238F44 A0 7B 00 02 */ lhz r3, 2(r27)
+/* 8023D2E8 00238F48 4B FF FD 21 */ bl func_8023D008
+/* 8023D2EC 00238F4C 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D2F0 00238F50 40 82 00 10 */ bne lbl_8023D300
+/* 8023D2F4 00238F54 38 00 00 01 */ li r0, 1
+/* 8023D2F8 00238F58 3B 80 00 00 */ li r28, 0
+/* 8023D2FC 00238F5C 98 1B 00 05 */ stb r0, 5(r27)
+lbl_8023D300:
+/* 8023D300 00238F60 80 1B 00 48 */ lwz r0, 0x48(r27)
+/* 8023D304 00238F64 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D308 00238F68 41 82 00 D0 */ beq lbl_8023D3D8
+/* 8023D30C 00238F6C 80 7B 00 08 */ lwz r3, 8(r27)
+/* 8023D310 00238F70 38 80 00 01 */ li r4, 1
+/* 8023D314 00238F74 4B FF FF 45 */ bl func_8023D258
+/* 8023D318 00238F78 80 1B 00 08 */ lwz r0, 8(r27)
+/* 8023D31C 00238F7C 7C 7F 1B 78 */ mr r31, r3
+/* 8023D320 00238F80 2C 00 00 01 */ cmpwi r0, 1
+/* 8023D324 00238F84 41 82 00 28 */ beq lbl_8023D34C
+/* 8023D328 00238F88 40 80 00 10 */ bge lbl_8023D338
+/* 8023D32C 00238F8C 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D330 00238F90 40 80 00 14 */ bge lbl_8023D344
+/* 8023D334 00238F94 48 00 00 24 */ b lbl_8023D358
+lbl_8023D338:
+/* 8023D338 00238F98 2C 00 00 30 */ cmpwi r0, 0x30
+/* 8023D33C 00238F9C 41 82 00 18 */ beq lbl_8023D354
+/* 8023D340 00238FA0 48 00 00 18 */ b lbl_8023D358
+lbl_8023D344:
+/* 8023D344 00238FA4 3B A0 00 10 */ li r29, 0x10
+/* 8023D348 00238FA8 48 00 00 10 */ b lbl_8023D358
+lbl_8023D34C:
+/* 8023D34C 00238FAC 3B A0 01 00 */ li r29, 0x100
+/* 8023D350 00238FB0 48 00 00 08 */ b lbl_8023D358
+lbl_8023D354:
+/* 8023D354 00238FB4 3B A0 04 00 */ li r29, 0x400
+lbl_8023D358:
+/* 8023D358 00238FB8 80 1B 00 0C */ lwz r0, 0xc(r27)
+/* 8023D35C 00238FBC 2C 00 00 02 */ cmpwi r0, 2
+/* 8023D360 00238FC0 41 82 00 28 */ beq lbl_8023D388
+/* 8023D364 00238FC4 40 80 00 10 */ bge lbl_8023D374
+/* 8023D368 00238FC8 2C 00 00 01 */ cmpwi r0, 1
+/* 8023D36C 00238FCC 40 80 00 14 */ bge lbl_8023D380
+/* 8023D370 00238FD0 48 00 00 24 */ b lbl_8023D394
+lbl_8023D374:
+/* 8023D374 00238FD4 2C 00 00 04 */ cmpwi r0, 4
+/* 8023D378 00238FD8 40 80 00 1C */ bge lbl_8023D394
+/* 8023D37C 00238FDC 48 00 00 14 */ b lbl_8023D390
+lbl_8023D380:
+/* 8023D380 00238FE0 3B C0 00 00 */ li r30, 0
+/* 8023D384 00238FE4 48 00 00 10 */ b lbl_8023D394
+lbl_8023D388:
+/* 8023D388 00238FE8 3B C0 00 01 */ li r30, 1
+/* 8023D38C 00238FEC 48 00 00 08 */ b lbl_8023D394
+lbl_8023D390:
+/* 8023D390 00238FF0 3B C0 00 02 */ li r30, 2
+lbl_8023D394:
+/* 8023D394 00238FF4 80 9B 00 48 */ lwz r4, 0x48(r27)
+/* 8023D398 00238FF8 7F C5 F3 78 */ mr r5, r30
+/* 8023D39C 00238FFC 7F A6 EB 78 */ mr r6, r29
+/* 8023D3A0 00239000 38 7B 00 74 */ addi r3, r27, 0x74
+/* 8023D3A4 00239004 48 04 58 75 */ bl GXInitTlutObj
+/* 8023D3A8 00239008 38 00 00 00 */ li r0, 0
+/* 8023D3AC 0023900C 7F E7 FB 78 */ mr r7, r31
+/* 8023D3B0 00239010 90 01 00 08 */ stw r0, 8(r1)
+/* 8023D3B4 00239014 38 7B 00 54 */ addi r3, r27, 0x54
+/* 8023D3B8 00239018 57 8A 06 3E */ clrlwi r10, r28, 0x18
+/* 8023D3BC 0023901C 39 00 00 00 */ li r8, 0
+/* 8023D3C0 00239020 80 9B 00 28 */ lwz r4, 0x28(r27)
+/* 8023D3C4 00239024 39 20 00 00 */ li r9, 0
+/* 8023D3C8 00239028 A0 BB 00 00 */ lhz r5, 0(r27)
+/* 8023D3CC 0023902C A0 DB 00 02 */ lhz r6, 2(r27)
+/* 8023D3D0 00239030 48 04 55 0D */ bl GXInitTexObjCI
+/* 8023D3D4 00239034 48 00 00 34 */ b lbl_8023D408
+lbl_8023D3D8:
+/* 8023D3D8 00239038 80 7B 00 08 */ lwz r3, 8(r27)
+/* 8023D3DC 0023903C 38 80 00 01 */ li r4, 1
+/* 8023D3E0 00239040 4B FF FC A9 */ bl func_8023D088
+/* 8023D3E4 00239044 80 9B 00 28 */ lwz r4, 0x28(r27)
+/* 8023D3E8 00239048 7C 67 1B 78 */ mr r7, r3
+/* 8023D3EC 0023904C A0 BB 00 00 */ lhz r5, 0(r27)
+/* 8023D3F0 00239050 38 7B 00 54 */ addi r3, r27, 0x54
+/* 8023D3F4 00239054 A0 DB 00 02 */ lhz r6, 2(r27)
+/* 8023D3F8 00239058 57 8A 06 3E */ clrlwi r10, r28, 0x18
+/* 8023D3FC 0023905C 39 00 00 00 */ li r8, 0
+/* 8023D400 00239060 39 20 00 00 */ li r9, 0
+/* 8023D404 00239064 48 04 52 CD */ bl GXInitTexObj
+lbl_8023D408:
+/* 8023D408 00239068 39 61 00 30 */ addi r11, r1, 0x30
+/* 8023D40C 0023906C 4B F8 9D 69 */ bl _restgpr_27
+/* 8023D410 00239070 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8023D414 00239074 7C 08 03 A6 */ mtlr r0
+/* 8023D418 00239078 38 21 00 30 */ addi r1, r1, 0x30
+/* 8023D41C 0023907C 4E 80 00 20 */ blr
+
+.global func_8023D420
+func_8023D420:
+/* 8023D420 00239080 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8023D424 00239084 7C 08 02 A6 */ mflr r0
+/* 8023D428 00239088 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8023D42C 0023908C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8023D430 00239090 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8023D434 00239094 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8023D438 00239098 7C 7D 1B 78 */ mr r29, r3
+/* 8023D43C 0023909C 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 8023D440 002390A0 2C 00 00 01 */ cmpwi r0, 1
+/* 8023D444 002390A4 41 82 00 28 */ beq lbl_8023D46C
+/* 8023D448 002390A8 40 80 00 10 */ bge lbl_8023D458
+/* 8023D44C 002390AC 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D450 002390B0 40 80 00 14 */ bge lbl_8023D464
+/* 8023D454 002390B4 48 00 00 4C */ b lbl_8023D4A0
+lbl_8023D458:
+/* 8023D458 002390B8 2C 00 00 03 */ cmpwi r0, 3
+/* 8023D45C 002390BC 40 80 00 44 */ bge lbl_8023D4A0
+/* 8023D460 002390C0 48 00 00 28 */ b lbl_8023D488
+lbl_8023D464:
+/* 8023D464 002390C4 3B E0 00 00 */ li r31, 0
+/* 8023D468 002390C8 48 00 00 38 */ b lbl_8023D4A0
+lbl_8023D46C:
+/* 8023D46C 002390CC A0 63 00 00 */ lhz r3, 0(r3)
+/* 8023D470 002390D0 3B E0 00 01 */ li r31, 1
+/* 8023D474 002390D4 4B FF FB 95 */ bl func_8023D008
+/* 8023D478 002390D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D47C 002390DC 40 82 00 24 */ bne lbl_8023D4A0
+/* 8023D480 002390E0 3B E0 00 00 */ li r31, 0
+/* 8023D484 002390E4 48 00 00 1C */ b lbl_8023D4A0
+lbl_8023D488:
+/* 8023D488 002390E8 A0 63 00 00 */ lhz r3, 0(r3)
+/* 8023D48C 002390EC 3B E0 00 02 */ li r31, 2
+/* 8023D490 002390F0 4B FF FB 79 */ bl func_8023D008
+/* 8023D494 002390F4 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D498 002390F8 40 82 00 08 */ bne lbl_8023D4A0
+/* 8023D49C 002390FC 3B E0 00 00 */ li r31, 0
+lbl_8023D4A0:
+/* 8023D4A0 00239100 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 8023D4A4 00239104 2C 00 00 01 */ cmpwi r0, 1
+/* 8023D4A8 00239108 41 82 00 28 */ beq lbl_8023D4D0
+/* 8023D4AC 0023910C 40 80 00 10 */ bge lbl_8023D4BC
+/* 8023D4B0 00239110 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D4B4 00239114 40 80 00 14 */ bge lbl_8023D4C8
+/* 8023D4B8 00239118 48 00 00 4C */ b lbl_8023D504
+lbl_8023D4BC:
+/* 8023D4BC 0023911C 2C 00 00 03 */ cmpwi r0, 3
+/* 8023D4C0 00239120 40 80 00 44 */ bge lbl_8023D504
+/* 8023D4C4 00239124 48 00 00 28 */ b lbl_8023D4EC
+lbl_8023D4C8:
+/* 8023D4C8 00239128 3B C0 00 00 */ li r30, 0
+/* 8023D4CC 0023912C 48 00 00 38 */ b lbl_8023D504
+lbl_8023D4D0:
+/* 8023D4D0 00239130 A0 7D 00 02 */ lhz r3, 2(r29)
+/* 8023D4D4 00239134 3B C0 00 01 */ li r30, 1
+/* 8023D4D8 00239138 4B FF FB 31 */ bl func_8023D008
+/* 8023D4DC 0023913C 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D4E0 00239140 40 82 00 24 */ bne lbl_8023D504
+/* 8023D4E4 00239144 3B C0 00 00 */ li r30, 0
+/* 8023D4E8 00239148 48 00 00 1C */ b lbl_8023D504
+lbl_8023D4EC:
+/* 8023D4EC 0023914C A0 7D 00 02 */ lhz r3, 2(r29)
+/* 8023D4F0 00239150 3B C0 00 02 */ li r30, 2
+/* 8023D4F4 00239154 4B FF FB 15 */ bl func_8023D008
+/* 8023D4F8 00239158 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D4FC 0023915C 40 82 00 08 */ bne lbl_8023D504
+/* 8023D500 00239160 3B C0 00 00 */ li r30, 0
+lbl_8023D504:
+/* 8023D504 00239164 7F E4 FB 78 */ mr r4, r31
+/* 8023D508 00239168 7F C5 F3 78 */ mr r5, r30
+/* 8023D50C 0023916C 38 7D 00 54 */ addi r3, r29, 0x54
+/* 8023D510 00239170 48 04 55 19 */ bl GXInitTexObjWrapMode
+/* 8023D514 00239174 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8023D518 00239178 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8023D51C 0023917C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8023D520 00239180 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8023D524 00239184 7C 08 03 A6 */ mtlr r0
+/* 8023D528 00239188 38 21 00 20 */ addi r1, r1, 0x20
+/* 8023D52C 0023918C 4E 80 00 20 */ blr
+
+.global func_8023D530
+func_8023D530:
+/* 8023D530 00239190 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023D534 00239194 7C 08 02 A6 */ mflr r0
+/* 8023D538 00239198 38 E0 00 00 */ li r7, 0
+/* 8023D53C 0023919C 39 00 00 00 */ li r8, 0
+/* 8023D540 002391A0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023D544 002391A4 80 83 00 20 */ lwz r4, 0x20(r3)
+/* 8023D548 002391A8 54 80 05 AF */ rlwinm. r0, r4, 0, 0x16, 0x17
+/* 8023D54C 002391AC 41 82 00 28 */ beq lbl_8023D574
+/* 8023D550 002391B0 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
+/* 8023D554 002391B4 41 82 00 10 */ beq lbl_8023D564
+/* 8023D558 002391B8 38 E0 00 01 */ li r7, 1
+/* 8023D55C 002391BC 39 00 00 01 */ li r8, 1
+/* 8023D560 002391C0 48 00 00 14 */ b lbl_8023D574
+lbl_8023D564:
+/* 8023D564 002391C4 54 80 05 AD */ rlwinm. r0, r4, 0, 0x16, 0x16
+/* 8023D568 002391C8 41 82 00 0C */ beq lbl_8023D574
+/* 8023D56C 002391CC 38 E0 00 01 */ li r7, 1
+/* 8023D570 002391D0 39 00 00 02 */ li r8, 2
+lbl_8023D574:
+/* 8023D574 002391D4 88 A3 00 05 */ lbz r5, 5(r3)
+/* 8023D578 002391D8 28 05 00 01 */ cmplwi r5, 1
+/* 8023D57C 002391DC 40 81 00 78 */ ble lbl_8023D5F4
+/* 8023D580 002391E0 54 80 06 2A */ rlwinm r0, r4, 0, 0x18, 0x15
+/* 8023D584 002391E4 2C 00 00 01 */ cmpwi r0, 1
+/* 8023D588 002391E8 41 82 00 18 */ beq lbl_8023D5A0
+/* 8023D58C 002391EC 40 80 00 08 */ bge lbl_8023D594
+/* 8023D590 002391F0 48 00 00 48 */ b lbl_8023D5D8
+lbl_8023D594:
+/* 8023D594 002391F4 2C 00 00 03 */ cmpwi r0, 3
+/* 8023D598 002391F8 40 80 00 40 */ bge lbl_8023D5D8
+/* 8023D59C 002391FC 48 00 00 20 */ b lbl_8023D5BC
+lbl_8023D5A0:
+/* 8023D5A0 00239200 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8023D5A4 00239204 2C 00 00 02 */ cmpwi r0, 2
+/* 8023D5A8 00239208 40 82 00 0C */ bne lbl_8023D5B4
+/* 8023D5AC 0023920C 38 80 00 03 */ li r4, 3
+/* 8023D5B0 00239210 48 00 00 54 */ b lbl_8023D604
+lbl_8023D5B4:
+/* 8023D5B4 00239214 38 80 00 02 */ li r4, 2
+/* 8023D5B8 00239218 48 00 00 4C */ b lbl_8023D604
+lbl_8023D5BC:
+/* 8023D5BC 0023921C 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8023D5C0 00239220 2C 00 00 02 */ cmpwi r0, 2
+/* 8023D5C4 00239224 40 82 00 0C */ bne lbl_8023D5D0
+/* 8023D5C8 00239228 38 80 00 05 */ li r4, 5
+/* 8023D5CC 0023922C 48 00 00 38 */ b lbl_8023D604
+lbl_8023D5D0:
+/* 8023D5D0 00239230 38 80 00 04 */ li r4, 4
+/* 8023D5D4 00239234 48 00 00 30 */ b lbl_8023D604
+lbl_8023D5D8:
+/* 8023D5D8 00239238 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8023D5DC 0023923C 2C 00 00 02 */ cmpwi r0, 2
+/* 8023D5E0 00239240 40 82 00 0C */ bne lbl_8023D5EC
+/* 8023D5E4 00239244 38 80 00 01 */ li r4, 1
+/* 8023D5E8 00239248 48 00 00 1C */ b lbl_8023D604
+lbl_8023D5EC:
+/* 8023D5EC 0023924C 38 80 00 00 */ li r4, 0
+/* 8023D5F0 00239250 48 00 00 14 */ b lbl_8023D604
+lbl_8023D5F4:
+/* 8023D5F4 00239254 80 83 00 18 */ lwz r4, 0x18(r3)
+/* 8023D5F8 00239258 38 04 FF FE */ addi r0, r4, -2
+/* 8023D5FC 0023925C 7C 00 00 34 */ cntlzw r0, r0
+/* 8023D600 00239260 54 04 D9 7E */ srwi r4, r0, 5
+lbl_8023D604:
+/* 8023D604 00239264 2C 04 00 05 */ cmpwi r4, 5
+/* 8023D608 00239268 41 82 00 0C */ beq lbl_8023D614
+/* 8023D60C 0023926C 38 E0 00 00 */ li r7, 0
+/* 8023D610 00239270 39 00 00 00 */ li r8, 0
+lbl_8023D614:
+/* 8023D614 00239274 38 05 FF FF */ addi r0, r5, -1
+/* 8023D618 00239278 80 C3 00 1C */ lwz r6, 0x1c(r3)
+/* 8023D61C 0023927C 6C 05 80 00 */ xoris r5, r0, 0x8000
+/* 8023D620 00239280 C0 22 9D D8 */ lfs f1, lbl_806423D8-_SDA2_BASE_(r2)
+/* 8023D624 00239284 3C 00 43 30 */ lis r0, 0x4330
+/* 8023D628 00239288 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 8023D62C 0023928C 38 A6 FF FE */ addi r5, r6, -2
+/* 8023D630 00239290 C8 42 9D E0 */ lfd f2, lbl_806423E0-_SDA2_BASE_(r2)
+/* 8023D634 00239294 90 01 00 08 */ stw r0, 8(r1)
+/* 8023D638 00239298 7C A5 00 34 */ cntlzw r5, r5
+/* 8023D63C 0023929C FC 60 08 90 */ fmr f3, f1
+/* 8023D640 002392A0 54 A5 D9 7E */ srwi r5, r5, 5
+/* 8023D644 002392A4 C8 01 00 08 */ lfd f0, 8(r1)
+/* 8023D648 002392A8 38 C0 00 00 */ li r6, 0
+/* 8023D64C 002392AC 38 63 00 54 */ addi r3, r3, 0x54
+/* 8023D650 002392B0 EC 40 10 28 */ fsubs f2, f0, f2
+/* 8023D654 002392B4 48 04 52 D1 */ bl GXInitTexObjLOD
+/* 8023D658 002392B8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023D65C 002392BC 7C 08 03 A6 */ mtlr r0
+/* 8023D660 002392C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023D664 002392C4 4E 80 00 20 */ blr
+
+.global func_8023D668
+func_8023D668:
+/* 8023D668 002392C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023D66C 002392CC 7C 08 02 A6 */ mflr r0
+/* 8023D670 002392D0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023D674 002392D4 90 6D A4 AC */ stw r3, lbl_8063F76C-_SDA_BASE_(r13)
+/* 8023D678 002392D8 54 63 38 30 */ slwi r3, r3, 7
+/* 8023D67C 002392DC 4B F9 D6 E9 */ bl func_801DAD64
+/* 8023D680 002392E0 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D684 002392E4 90 6D A4 A8 */ stw r3, lbl_8063F768-_SDA_BASE_(r13)
+/* 8023D688 002392E8 41 82 00 34 */ beq lbl_8023D6BC
+/* 8023D68C 002392EC 38 C0 00 00 */ li r6, 0
+/* 8023D690 002392F0 38 A0 00 00 */ li r5, 0
+/* 8023D694 002392F4 38 80 00 00 */ li r4, 0
+/* 8023D698 002392F8 48 00 00 18 */ b lbl_8023D6B0
+lbl_8023D69C:
+/* 8023D69C 002392FC 80 0D A4 A8 */ lwz r0, lbl_8063F768-_SDA_BASE_(r13)
+/* 8023D6A0 00239300 38 C6 00 01 */ addi r6, r6, 1
+/* 8023D6A4 00239304 7C 60 2A 14 */ add r3, r0, r5
+/* 8023D6A8 00239308 38 A5 00 80 */ addi r5, r5, 0x80
+/* 8023D6AC 0023930C 98 83 00 06 */ stb r4, 6(r3)
+lbl_8023D6B0:
+/* 8023D6B0 00239310 80 0D A4 AC */ lwz r0, lbl_8063F76C-_SDA_BASE_(r13)
+/* 8023D6B4 00239314 7C 06 00 40 */ cmplw r6, r0
+/* 8023D6B8 00239318 41 80 FF E4 */ blt lbl_8023D69C
+lbl_8023D6BC:
+/* 8023D6BC 0023931C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023D6C0 00239320 7C 08 03 A6 */ mtlr r0
+/* 8023D6C4 00239324 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023D6C8 00239328 4E 80 00 20 */ blr
+
+.global func_8023D6CC
+func_8023D6CC:
+/* 8023D6CC 0023932C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023D6D0 00239330 7C 08 02 A6 */ mflr r0
+/* 8023D6D4 00239334 38 C0 00 00 */ li r6, 0
+/* 8023D6D8 00239338 3C 80 80 00 */ lis r4, 0x8000
+/* 8023D6DC 0023933C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023D6E0 00239340 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8023D6E4 00239344 7C 7F 1B 78 */ mr r31, r3
+/* 8023D6E8 00239348 7F E5 FB 78 */ mr r5, r31
+/* 8023D6EC 0023934C 48 00 00 30 */ b lbl_8023D71C
+lbl_8023D6F0:
+/* 8023D6F0 00239350 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D6F4 00239354 41 82 00 20 */ beq lbl_8023D714
+/* 8023D6F8 00239358 80 05 00 28 */ lwz r0, 0x28(r5)
+/* 8023D6FC 0023935C 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D700 00239360 41 82 00 14 */ beq lbl_8023D714
+/* 8023D704 00239364 7C 00 20 40 */ cmplw r0, r4
+/* 8023D708 00239368 40 80 00 0C */ bge lbl_8023D714
+/* 8023D70C 0023936C 7C 00 1A 14 */ add r0, r0, r3
+/* 8023D710 00239370 90 05 00 28 */ stw r0, 0x28(r5)
+lbl_8023D714:
+/* 8023D714 00239374 38 A5 00 04 */ addi r5, r5, 4
+/* 8023D718 00239378 38 C6 00 01 */ addi r6, r6, 1
+lbl_8023D71C:
+/* 8023D71C 0023937C 89 03 00 05 */ lbz r8, 5(r3)
+/* 8023D720 00239380 7C 06 40 00 */ cmpw r6, r8
+/* 8023D724 00239384 41 80 FF CC */ blt lbl_8023D6F0
+/* 8023D728 00239388 2C 88 00 08 */ cmpwi cr1, r8, 8
+/* 8023D72C 0023938C 40 84 01 04 */ bge cr1, lbl_8023D830
+/* 8023D730 00239390 20 08 00 08 */ subfic r0, r8, 8
+/* 8023D734 00239394 2C 00 00 08 */ cmpwi r0, 8
+/* 8023D738 00239398 40 81 00 D0 */ ble lbl_8023D808
+/* 8023D73C 0023939C 38 A0 00 00 */ li r5, 0
+/* 8023D740 002393A0 38 C0 00 00 */ li r6, 0
+/* 8023D744 002393A4 38 E0 00 00 */ li r7, 0
+/* 8023D748 002393A8 41 85 00 18 */ bgt cr1, lbl_8023D760
+/* 8023D74C 002393AC 3C 80 80 00 */ lis r4, 0x7FFFFFFE@ha
+/* 8023D750 002393B0 38 04 FF FE */ addi r0, r4, 0x7FFFFFFE@l
+/* 8023D754 002393B4 7C 08 00 00 */ cmpw r8, r0
+/* 8023D758 002393B8 41 81 00 08 */ bgt lbl_8023D760
+/* 8023D75C 002393BC 38 E0 00 01 */ li r7, 1
+lbl_8023D760:
+/* 8023D760 002393C0 2C 07 00 00 */ cmpwi r7, 0
+/* 8023D764 002393C4 41 82 00 18 */ beq lbl_8023D77C
+/* 8023D768 002393C8 88 83 00 05 */ lbz r4, 5(r3)
+/* 8023D76C 002393CC 3C 04 80 00 */ addis r0, r4, 0x8000
+/* 8023D770 002393D0 28 00 00 00 */ cmplwi r0, 0
+/* 8023D774 002393D4 41 82 00 08 */ beq lbl_8023D77C
+/* 8023D778 002393D8 38 C0 00 01 */ li r6, 1
+lbl_8023D77C:
+/* 8023D77C 002393DC 2C 06 00 00 */ cmpwi r6, 0
+/* 8023D780 002393E0 41 82 00 34 */ beq lbl_8023D7B4
+/* 8023D784 002393E4 88 C3 00 05 */ lbz r6, 5(r3)
+/* 8023D788 002393E8 38 80 00 01 */ li r4, 1
+/* 8023D78C 002393EC 7C 06 00 D0 */ neg r0, r6
+/* 8023D790 002393F0 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 8023D794 002393F4 40 82 00 14 */ bne lbl_8023D7A8
+/* 8023D798 002393F8 20 06 00 08 */ subfic r0, r6, 8
+/* 8023D79C 002393FC 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 8023D7A0 00239400 41 82 00 08 */ beq lbl_8023D7A8
+/* 8023D7A4 00239404 38 80 00 00 */ li r4, 0
+lbl_8023D7A8:
+/* 8023D7A8 00239408 2C 04 00 00 */ cmpwi r4, 0
+/* 8023D7AC 0023940C 41 82 00 08 */ beq lbl_8023D7B4
+/* 8023D7B0 00239410 38 A0 00 01 */ li r5, 1
+lbl_8023D7B4:
+/* 8023D7B4 00239414 2C 05 00 00 */ cmpwi r5, 0
+/* 8023D7B8 00239418 41 82 00 50 */ beq lbl_8023D808
+/* 8023D7BC 0023941C 20 08 00 07 */ subfic r0, r8, 7
+/* 8023D7C0 00239420 55 05 10 3A */ slwi r5, r8, 2
+/* 8023D7C4 00239424 54 00 E8 FE */ srwi r0, r0, 3
+/* 8023D7C8 00239428 38 80 00 00 */ li r4, 0
+/* 8023D7CC 0023942C 7C A3 2A 14 */ add r5, r3, r5
+/* 8023D7D0 00239430 7C 09 03 A6 */ mtctr r0
+/* 8023D7D4 00239434 2C 08 00 00 */ cmpwi r8, 0
+/* 8023D7D8 00239438 40 80 00 30 */ bge lbl_8023D808
+lbl_8023D7DC:
+/* 8023D7DC 0023943C 90 85 00 28 */ stw r4, 0x28(r5)
+/* 8023D7E0 00239440 39 08 00 08 */ addi r8, r8, 8
+/* 8023D7E4 00239444 90 85 00 2C */ stw r4, 0x2c(r5)
+/* 8023D7E8 00239448 90 85 00 30 */ stw r4, 0x30(r5)
+/* 8023D7EC 0023944C 90 85 00 34 */ stw r4, 0x34(r5)
+/* 8023D7F0 00239450 90 85 00 38 */ stw r4, 0x38(r5)
+/* 8023D7F4 00239454 90 85 00 3C */ stw r4, 0x3c(r5)
+/* 8023D7F8 00239458 90 85 00 40 */ stw r4, 0x40(r5)
+/* 8023D7FC 0023945C 90 85 00 44 */ stw r4, 0x44(r5)
+/* 8023D800 00239460 38 A5 00 20 */ addi r5, r5, 0x20
+/* 8023D804 00239464 42 00 FF D8 */ bdnz lbl_8023D7DC
+lbl_8023D808:
+/* 8023D808 00239468 55 04 10 3A */ slwi r4, r8, 2
+/* 8023D80C 0023946C 20 08 00 08 */ subfic r0, r8, 8
+/* 8023D810 00239470 7C A3 22 14 */ add r5, r3, r4
+/* 8023D814 00239474 38 80 00 00 */ li r4, 0
+/* 8023D818 00239478 7C 09 03 A6 */ mtctr r0
+/* 8023D81C 0023947C 2C 08 00 08 */ cmpwi r8, 8
+/* 8023D820 00239480 40 80 00 10 */ bge lbl_8023D830
+lbl_8023D824:
+/* 8023D824 00239484 90 85 00 28 */ stw r4, 0x28(r5)
+/* 8023D828 00239488 38 A5 00 04 */ addi r5, r5, 4
+/* 8023D82C 0023948C 42 00 FF F8 */ bdnz lbl_8023D824
+lbl_8023D830:
+/* 8023D830 00239490 80 83 00 48 */ lwz r4, 0x48(r3)
+/* 8023D834 00239494 2C 84 00 00 */ cmpwi cr1, r4, 0
+/* 8023D838 00239498 41 86 00 24 */ beq cr1, lbl_8023D85C
+/* 8023D83C 0023949C 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D840 002394A0 41 82 00 1C */ beq lbl_8023D85C
+/* 8023D844 002394A4 41 86 00 18 */ beq cr1, lbl_8023D85C
+/* 8023D848 002394A8 3C 00 80 00 */ lis r0, 0x8000
+/* 8023D84C 002394AC 7C 04 00 40 */ cmplw r4, r0
+/* 8023D850 002394B0 40 80 00 0C */ bge lbl_8023D85C
+/* 8023D854 002394B4 7C 04 1A 14 */ add r0, r4, r3
+/* 8023D858 002394B8 90 03 00 48 */ stw r0, 0x48(r3)
+lbl_8023D85C:
+/* 8023D85C 002394BC 7F E3 FB 78 */ mr r3, r31
+/* 8023D860 002394C0 4B FF FA 3D */ bl func_8023D29C
+/* 8023D864 002394C4 7F E3 FB 78 */ mr r3, r31
+/* 8023D868 002394C8 4B FF FB B9 */ bl func_8023D420
+/* 8023D86C 002394CC 7F E3 FB 78 */ mr r3, r31
+/* 8023D870 002394D0 4B FF FC C1 */ bl func_8023D530
+/* 8023D874 002394D4 80 1F 00 4C */ lwz r0, 0x4c(r31)
+/* 8023D878 002394D8 38 60 00 00 */ li r3, 0
+/* 8023D87C 002394DC 38 80 00 01 */ li r4, 1
+/* 8023D880 002394E0 90 7F 00 50 */ stw r3, 0x50(r31)
+/* 8023D884 002394E4 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D888 002394E8 98 9F 00 07 */ stb r4, 7(r31)
+/* 8023D88C 002394EC 90 7F 00 24 */ stw r3, 0x24(r31)
+/* 8023D890 002394F0 40 82 00 C0 */ bne lbl_8023D950
+/* 8023D894 002394F4 A0 7F 00 00 */ lhz r3, 0(r31)
+/* 8023D898 002394F8 38 A0 00 00 */ li r5, 0
+/* 8023D89C 002394FC A0 1F 00 02 */ lhz r0, 2(r31)
+/* 8023D8A0 00239500 88 9F 00 04 */ lbz r4, 4(r31)
+/* 8023D8A4 00239504 7C 03 01 D6 */ mullw r0, r3, r0
+/* 8023D8A8 00239508 7C 04 01 D6 */ mullw r0, r4, r0
+/* 8023D8AC 0023950C 54 04 E8 FE */ srwi r4, r0, 3
+/* 8023D8B0 00239510 48 00 00 20 */ b lbl_8023D8D0
+lbl_8023D8B4:
+/* 8023D8B4 00239514 38 04 00 1F */ addi r0, r4, 0x1f
+/* 8023D8B8 00239518 80 7F 00 4C */ lwz r3, 0x4c(r31)
+/* 8023D8BC 0023951C 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
+/* 8023D8C0 00239520 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023D8C4 00239524 7C 03 02 14 */ add r0, r3, r0
+/* 8023D8C8 00239528 38 A5 00 01 */ addi r5, r5, 1
+/* 8023D8CC 0023952C 90 1F 00 4C */ stw r0, 0x4c(r31)
+lbl_8023D8D0:
+/* 8023D8D0 00239530 88 1F 00 05 */ lbz r0, 5(r31)
+/* 8023D8D4 00239534 7C 05 00 00 */ cmpw r5, r0
+/* 8023D8D8 00239538 41 80 FF DC */ blt lbl_8023D8B4
+/* 8023D8DC 0023953C 80 1F 00 08 */ lwz r0, 8(r31)
+/* 8023D8E0 00239540 38 60 00 00 */ li r3, 0
+/* 8023D8E4 00239544 2C 00 00 01 */ cmpwi r0, 1
+/* 8023D8E8 00239548 41 82 00 28 */ beq lbl_8023D910
+/* 8023D8EC 0023954C 40 80 00 10 */ bge lbl_8023D8FC
+/* 8023D8F0 00239550 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D8F4 00239554 40 80 00 14 */ bge lbl_8023D908
+/* 8023D8F8 00239558 48 00 00 24 */ b lbl_8023D91C
+lbl_8023D8FC:
+/* 8023D8FC 0023955C 2C 00 00 30 */ cmpwi r0, 0x30
+/* 8023D900 00239560 41 82 00 18 */ beq lbl_8023D918
+/* 8023D904 00239564 48 00 00 18 */ b lbl_8023D91C
+lbl_8023D908:
+/* 8023D908 00239568 38 60 00 10 */ li r3, 0x10
+/* 8023D90C 0023956C 48 00 00 10 */ b lbl_8023D91C
+lbl_8023D910:
+/* 8023D910 00239570 38 60 01 00 */ li r3, 0x100
+/* 8023D914 00239574 48 00 00 08 */ b lbl_8023D91C
+lbl_8023D918:
+/* 8023D918 00239578 38 60 04 00 */ li r3, 0x400
+lbl_8023D91C:
+/* 8023D91C 0023957C 2C 03 00 00 */ cmpwi r3, 0
+/* 8023D920 00239580 41 82 00 30 */ beq lbl_8023D950
+/* 8023D924 00239584 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 8023D928 00239588 2C 00 00 00 */ cmpwi r0, 0
+/* 8023D92C 0023958C 41 82 00 24 */ beq lbl_8023D950
+/* 8023D930 00239590 41 80 00 20 */ blt lbl_8023D950
+/* 8023D934 00239594 2C 00 00 04 */ cmpwi r0, 4
+/* 8023D938 00239598 40 80 00 18 */ bge lbl_8023D950
+/* 8023D93C 0023959C 54 60 20 36 */ slwi r0, r3, 4
+/* 8023D940 002395A0 80 7F 00 4C */ lwz r3, 0x4c(r31)
+/* 8023D944 002395A4 7C 00 1E 70 */ srawi r0, r0, 3
+/* 8023D948 002395A8 7C 03 02 14 */ add r0, r3, r0
+/* 8023D94C 002395AC 90 1F 00 4C */ stw r0, 0x4c(r31)
+lbl_8023D950:
+/* 8023D950 002395B0 80 7F 00 28 */ lwz r3, 0x28(r31)
+/* 8023D954 002395B4 80 9F 00 4C */ lwz r4, 0x4c(r31)
+/* 8023D958 002395B8 48 02 CD 2D */ bl DCStoreRange
+/* 8023D95C 002395BC 7F E3 FB 78 */ mr r3, r31
+/* 8023D960 002395C0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8023D964 002395C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023D968 002395C8 7C 08 03 A6 */ mtlr r0
+/* 8023D96C 002395CC 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023D970 002395D0 4E 80 00 20 */ blr
+
+.global func_8023D974
+func_8023D974:
+/* 8023D974 002395D4 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8023D978 002395D8 7C 08 02 A6 */ mflr r0
+/* 8023D97C 002395DC 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8023D980 002395E0 39 61 00 30 */ addi r11, r1, 0x30
+/* 8023D984 002395E4 4B F8 97 A5 */ bl _savegpr_27
+/* 8023D988 002395E8 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 8023D98C 002395EC B0 61 00 08 */ sth r3, 8(r1)
+/* 8023D990 002395F0 7C BB 2B 78 */ mr r27, r5
+/* 8023D994 002395F4 7C DC 33 78 */ mr r28, r6
+/* 8023D998 002395F8 B0 81 00 0A */ sth r4, 0xa(r1)
+/* 8023D99C 002395FC 7C FD 3B 78 */ mr r29, r7
+/* 8023D9A0 00239600 7D 1E 43 78 */ mr r30, r8
+/* 8023D9A4 00239604 40 82 00 2C */ bne lbl_8023D9D0
+/* 8023D9A8 00239608 54 80 04 3F */ clrlwi. r0, r4, 0x10
+/* 8023D9AC 0023960C 40 82 00 24 */ bne lbl_8023D9D0
+/* 8023D9B0 00239610 34 01 00 08 */ addic. r0, r1, 8
+/* 8023D9B4 00239614 80 CD A4 C8 */ lwz r6, lbl_8063F788-_SDA_BASE_(r13)
+/* 8023D9B8 00239618 41 82 00 0C */ beq lbl_8023D9C4
+/* 8023D9BC 0023961C A0 66 00 04 */ lhz r3, 4(r6)
+/* 8023D9C0 00239620 B0 61 00 08 */ sth r3, 8(r1)
+lbl_8023D9C4:
+/* 8023D9C4 00239624 34 01 00 0A */ addic. r0, r1, 0xa
+/* 8023D9C8 00239628 41 82 00 08 */ beq lbl_8023D9D0
+/* 8023D9CC 0023962C A0 86 00 06 */ lhz r4, 6(r6)
+lbl_8023D9D0:
+/* 8023D9D0 00239630 54 60 04 3E */ clrlwi r0, r3, 0x10
+/* 8023D9D4 00239634 28 00 04 00 */ cmplwi r0, 0x400
+/* 8023D9D8 00239638 41 81 00 20 */ bgt lbl_8023D9F8
+/* 8023D9DC 0023963C 54 83 04 3E */ clrlwi r3, r4, 0x10
+/* 8023D9E0 00239640 28 03 04 00 */ cmplwi r3, 0x400
+/* 8023D9E4 00239644 41 81 00 14 */ bgt lbl_8023D9F8
+/* 8023D9E8 00239648 28 00 00 04 */ cmplwi r0, 4
+/* 8023D9EC 0023964C 41 80 00 0C */ blt lbl_8023D9F8
+/* 8023D9F0 00239650 28 03 00 04 */ cmplwi r3, 4
+/* 8023D9F4 00239654 40 80 00 0C */ bge lbl_8023DA00
+lbl_8023D9F8:
+/* 8023D9F8 00239658 38 60 00 00 */ li r3, 0
+/* 8023D9FC 0023965C 48 00 05 10 */ b lbl_8023DF0C
+lbl_8023DA00:
+/* 8023DA00 00239660 2C 05 00 90 */ cmpwi r5, 0x90
+/* 8023DA04 00239664 41 82 00 A4 */ beq lbl_8023DAA8
+/* 8023DA08 00239668 40 80 00 4C */ bge lbl_8023DA54
+/* 8023DA0C 0023966C 2C 05 00 30 */ cmpwi r5, 0x30
+/* 8023DA10 00239670 41 82 00 98 */ beq lbl_8023DAA8
+/* 8023DA14 00239674 40 80 00 1C */ bge lbl_8023DA30
+/* 8023DA18 00239678 2C 05 00 01 */ cmpwi r5, 1
+/* 8023DA1C 0023967C 41 82 00 80 */ beq lbl_8023DA9C
+/* 8023DA20 00239680 40 80 00 94 */ bge lbl_8023DAB4
+/* 8023DA24 00239684 2C 05 00 00 */ cmpwi r5, 0
+/* 8023DA28 00239688 40 80 00 68 */ bge lbl_8023DA90
+/* 8023DA2C 0023968C 48 00 00 88 */ b lbl_8023DAB4
+lbl_8023DA30:
+/* 8023DA30 00239690 2C 05 00 43 */ cmpwi r5, 0x43
+/* 8023DA34 00239694 40 80 00 14 */ bge lbl_8023DA48
+/* 8023DA38 00239698 2C 05 00 40 */ cmpwi r5, 0x40
+/* 8023DA3C 0023969C 41 82 00 54 */ beq lbl_8023DA90
+/* 8023DA40 002396A0 40 80 00 5C */ bge lbl_8023DA9C
+/* 8023DA44 002396A4 48 00 00 70 */ b lbl_8023DAB4
+lbl_8023DA48:
+/* 8023DA48 002396A8 2C 05 00 46 */ cmpwi r5, 0x46
+/* 8023DA4C 002396AC 40 80 00 68 */ bge lbl_8023DAB4
+/* 8023DA50 002396B0 48 00 00 58 */ b lbl_8023DAA8
+lbl_8023DA54:
+/* 8023DA54 002396B4 2C 05 00 A8 */ cmpwi r5, 0xa8
+/* 8023DA58 002396B8 41 82 00 38 */ beq lbl_8023DA90
+/* 8023DA5C 002396BC 40 80 00 28 */ bge lbl_8023DA84
+/* 8023DA60 002396C0 2C 05 00 A4 */ cmpwi r5, 0xa4
+/* 8023DA64 002396C4 40 80 00 14 */ bge lbl_8023DA78
+/* 8023DA68 002396C8 2C 05 00 A0 */ cmpwi r5, 0xa0
+/* 8023DA6C 002396CC 41 82 00 30 */ beq lbl_8023DA9C
+/* 8023DA70 002396D0 40 80 00 20 */ bge lbl_8023DA90
+/* 8023DA74 002396D4 48 00 00 40 */ b lbl_8023DAB4
+lbl_8023DA78:
+/* 8023DA78 002396D8 2C 05 00 A6 */ cmpwi r5, 0xa6
+/* 8023DA7C 002396DC 40 80 00 2C */ bge lbl_8023DAA8
+/* 8023DA80 002396E0 48 00 00 1C */ b lbl_8023DA9C
+lbl_8023DA84:
+/* 8023DA84 002396E4 2C 05 00 B0 */ cmpwi r5, 0xb0
+/* 8023DA88 002396E8 41 82 00 08 */ beq lbl_8023DA90
+/* 8023DA8C 002396EC 48 00 00 28 */ b lbl_8023DAB4
+lbl_8023DA90:
+/* 8023DA90 002396F0 38 A0 00 08 */ li r5, 8
+/* 8023DA94 002396F4 38 C0 00 08 */ li r6, 8
+/* 8023DA98 002396F8 48 00 00 24 */ b lbl_8023DABC
+lbl_8023DA9C:
+/* 8023DA9C 002396FC 38 A0 00 04 */ li r5, 4
+/* 8023DAA0 00239700 38 C0 00 08 */ li r6, 8
+/* 8023DAA4 00239704 48 00 00 18 */ b lbl_8023DABC
+lbl_8023DAA8:
+/* 8023DAA8 00239708 38 A0 00 04 */ li r5, 4
+/* 8023DAAC 0023970C 38 C0 00 04 */ li r6, 4
+/* 8023DAB0 00239710 48 00 00 0C */ b lbl_8023DABC
+lbl_8023DAB4:
+/* 8023DAB4 00239714 38 60 00 00 */ li r3, 0
+/* 8023DAB8 00239718 48 00 04 54 */ b lbl_8023DF0C
+lbl_8023DABC:
+/* 8023DABC 0023971C 7C 85 02 14 */ add r4, r5, r0
+/* 8023DAC0 00239720 7C 66 1A 14 */ add r3, r6, r3
+/* 8023DAC4 00239724 38 05 FF FF */ addi r0, r5, -1
+/* 8023DAC8 00239728 38 A0 00 00 */ li r5, 0
+/* 8023DACC 0023972C 38 84 FF FF */ addi r4, r4, -1
+/* 8023DAD0 00239730 38 63 FF FF */ addi r3, r3, -1
+/* 8023DAD4 00239734 7C 84 00 78 */ andc r4, r4, r0
+/* 8023DAD8 00239738 38 06 FF FF */ addi r0, r6, -1
+/* 8023DADC 0023973C 7C 60 00 78 */ andc r0, r3, r0
+/* 8023DAE0 00239740 B0 81 00 08 */ sth r4, 8(r1)
+/* 8023DAE4 00239744 54 83 04 3E */ clrlwi r3, r4, 0x10
+/* 8023DAE8 00239748 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 8023DAEC 0023974C 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 8023DAF0 00239750 48 00 00 10 */ b lbl_8023DB00
+lbl_8023DAF4:
+/* 8023DAF4 00239754 54 63 FC 7E */ rlwinm r3, r3, 0x1f, 0x11, 0x1f
+/* 8023DAF8 00239758 54 84 FC 7E */ rlwinm r4, r4, 0x1f, 0x11, 0x1f
+/* 8023DAFC 0023975C 38 A5 00 01 */ addi r5, r5, 1
+lbl_8023DB00:
+/* 8023DB00 00239760 54 60 04 3E */ clrlwi r0, r3, 0x10
+/* 8023DB04 00239764 28 00 00 04 */ cmplwi r0, 4
+/* 8023DB08 00239768 40 81 00 1C */ ble lbl_8023DB24
+/* 8023DB0C 0023976C 54 80 04 3E */ clrlwi r0, r4, 0x10
+/* 8023DB10 00239770 28 00 00 04 */ cmplwi r0, 4
+/* 8023DB14 00239774 40 81 00 10 */ ble lbl_8023DB24
+/* 8023DB18 00239778 54 A0 06 3E */ clrlwi r0, r5, 0x18
+/* 8023DB1C 0023977C 28 00 00 07 */ cmplwi r0, 7
+/* 8023DB20 00239780 41 80 FF D4 */ blt lbl_8023DAF4
+lbl_8023DB24:
+/* 8023DB24 00239784 54 A0 06 3E */ clrlwi r0, r5, 0x18
+/* 8023DB28 00239788 7C 07 00 40 */ cmplw r7, r0
+/* 8023DB2C 0023978C 40 81 00 08 */ ble lbl_8023DB34
+/* 8023DB30 00239790 7C BD 2B 78 */ mr r29, r5
+lbl_8023DB34:
+/* 8023DB34 00239794 3B BD 00 01 */ addi r29, r29, 1
+/* 8023DB38 00239798 4B FF F5 21 */ bl func_8023D058
+/* 8023DB3C 0023979C 2C 03 00 00 */ cmpwi r3, 0
+/* 8023DB40 002397A0 7C 7F 1B 78 */ mr r31, r3
+/* 8023DB44 002397A4 40 82 00 0C */ bne lbl_8023DB50
+/* 8023DB48 002397A8 38 60 00 00 */ li r3, 0
+/* 8023DB4C 002397AC 48 00 03 C0 */ b lbl_8023DF0C
+lbl_8023DB50:
+/* 8023DB50 002397B0 2C 1B 00 45 */ cmpwi r27, 0x45
+/* 8023DB54 002397B4 38 00 00 00 */ li r0, 0
+/* 8023DB58 002397B8 41 82 00 B8 */ beq lbl_8023DC10
+/* 8023DB5C 002397BC 40 80 00 40 */ bge lbl_8023DB9C
+/* 8023DB60 002397C0 2C 1B 00 30 */ cmpwi r27, 0x30
+/* 8023DB64 002397C4 41 82 00 9C */ beq lbl_8023DC00
+/* 8023DB68 002397C8 40 80 00 1C */ bge lbl_8023DB84
+/* 8023DB6C 002397CC 2C 1B 00 01 */ cmpwi r27, 1
+/* 8023DB70 002397D0 41 82 00 80 */ beq lbl_8023DBF0
+/* 8023DB74 002397D4 40 80 00 A8 */ bge lbl_8023DC1C
+/* 8023DB78 002397D8 2C 1B 00 00 */ cmpwi r27, 0
+/* 8023DB7C 002397DC 40 80 00 64 */ bge lbl_8023DBE0
+/* 8023DB80 002397E0 48 00 00 9C */ b lbl_8023DC1C
+lbl_8023DB84:
+/* 8023DB84 002397E4 2C 1B 00 40 */ cmpwi r27, 0x40
+/* 8023DB88 002397E8 41 82 00 5C */ beq lbl_8023DBE4
+/* 8023DB8C 002397EC 41 80 00 90 */ blt lbl_8023DC1C
+/* 8023DB90 002397F0 2C 1B 00 43 */ cmpwi r27, 0x43
+/* 8023DB94 002397F4 40 80 00 70 */ bge lbl_8023DC04
+/* 8023DB98 002397F8 48 00 00 5C */ b lbl_8023DBF4
+lbl_8023DB9C:
+/* 8023DB9C 002397FC 2C 1B 00 A7 */ cmpwi r27, 0xa7
+/* 8023DBA0 00239800 41 82 00 70 */ beq lbl_8023DC10
+/* 8023DBA4 00239804 40 80 00 24 */ bge lbl_8023DBC8
+/* 8023DBA8 00239808 2C 1B 00 A0 */ cmpwi r27, 0xa0
+/* 8023DBAC 0023980C 40 80 00 10 */ bge lbl_8023DBBC
+/* 8023DBB0 00239810 2C 1B 00 90 */ cmpwi r27, 0x90
+/* 8023DBB4 00239814 41 82 00 50 */ beq lbl_8023DC04
+/* 8023DBB8 00239818 48 00 00 64 */ b lbl_8023DC1C
+lbl_8023DBBC:
+/* 8023DBBC 0023981C 2C 1B 00 A6 */ cmpwi r27, 0xa6
+/* 8023DBC0 00239820 40 80 00 44 */ bge lbl_8023DC04
+/* 8023DBC4 00239824 48 00 00 30 */ b lbl_8023DBF4
+lbl_8023DBC8:
+/* 8023DBC8 00239828 2C 1B 00 B0 */ cmpwi r27, 0xb0
+/* 8023DBCC 0023982C 41 82 00 18 */ beq lbl_8023DBE4
+/* 8023DBD0 00239830 40 80 00 4C */ bge lbl_8023DC1C
+/* 8023DBD4 00239834 2C 1B 00 A9 */ cmpwi r27, 0xa9
+/* 8023DBD8 00239838 40 80 00 44 */ bge lbl_8023DC1C
+/* 8023DBDC 0023983C 48 00 00 08 */ b lbl_8023DBE4
+lbl_8023DBE0:
+/* 8023DBE0 00239840 38 00 00 10 */ li r0, 0x10
+lbl_8023DBE4:
+/* 8023DBE4 00239844 38 80 00 04 */ li r4, 4
+/* 8023DBE8 00239848 98 83 00 04 */ stb r4, 4(r3)
+/* 8023DBEC 0023984C 48 00 00 38 */ b lbl_8023DC24
+lbl_8023DBF0:
+/* 8023DBF0 00239850 38 00 01 00 */ li r0, 0x100
+lbl_8023DBF4:
+/* 8023DBF4 00239854 38 80 00 08 */ li r4, 8
+/* 8023DBF8 00239858 98 83 00 04 */ stb r4, 4(r3)
+/* 8023DBFC 0023985C 48 00 00 28 */ b lbl_8023DC24
+lbl_8023DC00:
+/* 8023DC00 00239860 38 00 04 00 */ li r0, 0x400
+lbl_8023DC04:
+/* 8023DC04 00239864 38 80 00 10 */ li r4, 0x10
+/* 8023DC08 00239868 98 83 00 04 */ stb r4, 4(r3)
+/* 8023DC0C 0023986C 48 00 00 18 */ b lbl_8023DC24
+lbl_8023DC10:
+/* 8023DC10 00239870 38 80 00 20 */ li r4, 0x20
+/* 8023DC14 00239874 98 83 00 04 */ stb r4, 4(r3)
+/* 8023DC18 00239878 48 00 00 0C */ b lbl_8023DC24
+lbl_8023DC1C:
+/* 8023DC1C 0023987C 38 60 00 00 */ li r3, 0
+/* 8023DC20 00239880 48 00 02 EC */ b lbl_8023DF0C
+lbl_8023DC24:
+/* 8023DC24 00239884 A0 C1 00 08 */ lhz r6, 8(r1)
+/* 8023DC28 00239888 57 A7 06 3E */ clrlwi r7, r29, 0x18
+/* 8023DC2C 0023988C A0 A1 00 0A */ lhz r5, 0xa(r1)
+/* 8023DC30 00239890 38 80 00 00 */ li r4, 0
+/* 8023DC34 00239894 89 03 00 04 */ lbz r8, 4(r3)
+/* 8023DC38 00239898 2C 87 00 00 */ cmpwi cr1, r7, 0
+/* 8023DC3C 0023989C 7C C6 29 D6 */ mullw r6, r6, r5
+/* 8023DC40 002398A0 38 A0 00 00 */ li r5, 0
+/* 8023DC44 002398A4 90 83 00 4C */ stw r4, 0x4c(r3)
+/* 8023DC48 002398A8 7C 88 31 D6 */ mullw r4, r8, r6
+/* 8023DC4C 002398AC 54 84 E8 FE */ srwi r4, r4, 3
+/* 8023DC50 002398B0 40 85 01 08 */ ble cr1, lbl_8023DD58
+/* 8023DC54 002398B4 2C 07 00 08 */ cmpwi r7, 8
+/* 8023DC58 002398B8 39 07 FF F8 */ addi r8, r7, -8
+/* 8023DC5C 002398BC 40 81 00 CC */ ble lbl_8023DD28
+/* 8023DC60 002398C0 39 20 00 00 */ li r9, 0
+/* 8023DC64 002398C4 41 84 00 18 */ blt cr1, lbl_8023DC7C
+/* 8023DC68 002398C8 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha
+/* 8023DC6C 002398CC 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l
+/* 8023DC70 002398D0 7C 07 30 00 */ cmpw r7, r6
+/* 8023DC74 002398D4 41 81 00 08 */ bgt lbl_8023DC7C
+/* 8023DC78 002398D8 39 20 00 01 */ li r9, 1
+lbl_8023DC7C:
+/* 8023DC7C 002398DC 2C 09 00 00 */ cmpwi r9, 0
+/* 8023DC80 002398E0 41 82 00 A8 */ beq lbl_8023DD28
+/* 8023DC84 002398E4 38 C8 00 07 */ addi r6, r8, 7
+/* 8023DC88 002398E8 54 C6 E8 FE */ srwi r6, r6, 3
+/* 8023DC8C 002398EC 7C C9 03 A6 */ mtctr r6
+/* 8023DC90 002398F0 2C 08 00 00 */ cmpwi r8, 0
+/* 8023DC94 002398F4 40 81 00 94 */ ble lbl_8023DD28
+lbl_8023DC98:
+/* 8023DC98 002398F8 38 E4 00 1F */ addi r7, r4, 0x1f
+/* 8023DC9C 002398FC 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DCA0 00239900 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023DCA4 00239904 81 43 00 4C */ lwz r10, 0x4c(r3)
+/* 8023DCA8 00239908 54 E9 00 34 */ rlwinm r9, r7, 0, 0, 0x1a
+/* 8023DCAC 0023990C 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DCB0 00239910 38 E4 00 1F */ addi r7, r4, 0x1f
+/* 8023DCB4 00239914 54 C8 00 34 */ rlwinm r8, r6, 0, 0, 0x1a
+/* 8023DCB8 00239918 7D 4A 4A 14 */ add r10, r10, r9
+/* 8023DCBC 0023991C 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DCC0 00239920 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023DCC4 00239924 54 E9 00 34 */ rlwinm r9, r7, 0, 0, 0x1a
+/* 8023DCC8 00239928 7D 4A 42 14 */ add r10, r10, r8
+/* 8023DCCC 0023992C 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DCD0 00239930 38 E4 00 1F */ addi r7, r4, 0x1f
+/* 8023DCD4 00239934 54 C8 00 34 */ rlwinm r8, r6, 0, 0, 0x1a
+/* 8023DCD8 00239938 7D 4A 4A 14 */ add r10, r10, r9
+/* 8023DCDC 0023993C 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DCE0 00239940 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023DCE4 00239944 54 E9 00 34 */ rlwinm r9, r7, 0, 0, 0x1a
+/* 8023DCE8 00239948 7D 4A 42 14 */ add r10, r10, r8
+/* 8023DCEC 0023994C 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DCF0 00239950 38 E4 00 1F */ addi r7, r4, 0x1f
+/* 8023DCF4 00239954 54 C8 00 34 */ rlwinm r8, r6, 0, 0, 0x1a
+/* 8023DCF8 00239958 7D 2A 4A 14 */ add r9, r10, r9
+/* 8023DCFC 0023995C 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DD00 00239960 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023DD04 00239964 54 E7 00 34 */ rlwinm r7, r7, 0, 0, 0x1a
+/* 8023DD08 00239968 7D 09 42 14 */ add r8, r9, r8
+/* 8023DD0C 0023996C 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DD10 00239970 7C E8 3A 14 */ add r7, r8, r7
+/* 8023DD14 00239974 54 C6 00 34 */ rlwinm r6, r6, 0, 0, 0x1a
+/* 8023DD18 00239978 7C C7 32 14 */ add r6, r7, r6
+/* 8023DD1C 0023997C 38 A5 00 08 */ addi r5, r5, 8
+/* 8023DD20 00239980 90 C3 00 4C */ stw r6, 0x4c(r3)
+/* 8023DD24 00239984 42 00 FF 74 */ bdnz lbl_8023DC98
+lbl_8023DD28:
+/* 8023DD28 00239988 57 A7 06 3E */ clrlwi r7, r29, 0x18
+/* 8023DD2C 0023998C 7C C5 38 50 */ subf r6, r5, r7
+/* 8023DD30 00239990 7C C9 03 A6 */ mtctr r6
+/* 8023DD34 00239994 7C 05 38 00 */ cmpw r5, r7
+/* 8023DD38 00239998 40 80 00 20 */ bge lbl_8023DD58
+lbl_8023DD3C:
+/* 8023DD3C 0023999C 38 A4 00 1F */ addi r5, r4, 0x1f
+/* 8023DD40 002399A0 80 C3 00 4C */ lwz r6, 0x4c(r3)
+/* 8023DD44 002399A4 54 A5 00 34 */ rlwinm r5, r5, 0, 0, 0x1a
+/* 8023DD48 002399A8 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DD4C 002399AC 7C A6 2A 14 */ add r5, r6, r5
+/* 8023DD50 002399B0 90 A3 00 4C */ stw r5, 0x4c(r3)
+/* 8023DD54 002399B4 42 00 FF E8 */ bdnz lbl_8023DD3C
+lbl_8023DD58:
+/* 8023DD58 002399B8 2C 00 00 00 */ cmpwi r0, 0
+/* 8023DD5C 002399BC 41 82 00 38 */ beq lbl_8023DD94
+/* 8023DD60 002399C0 2C 1C 00 00 */ cmpwi r28, 0
+/* 8023DD64 002399C4 41 82 00 28 */ beq lbl_8023DD8C
+/* 8023DD68 002399C8 41 80 00 24 */ blt lbl_8023DD8C
+/* 8023DD6C 002399CC 2C 1C 00 04 */ cmpwi r28, 4
+/* 8023DD70 002399D0 40 80 00 1C */ bge lbl_8023DD8C
+/* 8023DD74 002399D4 54 00 20 36 */ slwi r0, r0, 4
+/* 8023DD78 002399D8 80 83 00 4C */ lwz r4, 0x4c(r3)
+/* 8023DD7C 002399DC 7C 00 1E 70 */ srawi r0, r0, 3
+/* 8023DD80 002399E0 7C 04 02 14 */ add r0, r4, r0
+/* 8023DD84 002399E4 90 03 00 4C */ stw r0, 0x4c(r3)
+/* 8023DD88 002399E8 48 00 00 0C */ b lbl_8023DD94
+lbl_8023DD8C:
+/* 8023DD8C 002399EC 38 60 00 00 */ li r3, 0
+/* 8023DD90 002399F0 48 00 01 7C */ b lbl_8023DF0C
+lbl_8023DD94:
+/* 8023DD94 002399F4 2C 1E 00 00 */ cmpwi r30, 0
+/* 8023DD98 002399F8 41 82 00 1C */ beq lbl_8023DDB4
+/* 8023DD9C 002399FC 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8023DDA0 00239A00 38 A0 00 20 */ li r5, 0x20
+/* 8023DDA4 00239A04 80 9F 00 4C */ lwz r4, 0x4c(r31)
+/* 8023DDA8 00239A08 4B F9 CF 61 */ bl func_801DAD08
+/* 8023DDAC 00239A0C 90 7F 00 24 */ stw r3, 0x24(r31)
+/* 8023DDB0 00239A10 48 00 00 18 */ b lbl_8023DDC8
+lbl_8023DDB4:
+/* 8023DDB4 00239A14 80 6D 96 28 */ lwz r3, lbl_8063E8E8-_SDA_BASE_(r13)
+/* 8023DDB8 00239A18 38 A0 00 20 */ li r5, 0x20
+/* 8023DDBC 00239A1C 80 9F 00 4C */ lwz r4, 0x4c(r31)
+/* 8023DDC0 00239A20 4B F9 CF 49 */ bl func_801DAD08
+/* 8023DDC4 00239A24 90 7F 00 24 */ stw r3, 0x24(r31)
+lbl_8023DDC8:
+/* 8023DDC8 00239A28 80 7F 00 24 */ lwz r3, 0x24(r31)
+/* 8023DDCC 00239A2C 2C 03 00 00 */ cmpwi r3, 0
+/* 8023DDD0 00239A30 40 82 00 0C */ bne lbl_8023DDDC
+/* 8023DDD4 00239A34 38 60 00 00 */ li r3, 0
+/* 8023DDD8 00239A38 48 00 01 34 */ b lbl_8023DF0C
+lbl_8023DDDC:
+/* 8023DDDC 00239A3C 90 7F 00 28 */ stw r3, 0x28(r31)
+/* 8023DDE0 00239A40 80 9F 00 4C */ lwz r4, 0x4c(r31)
+/* 8023DDE4 00239A44 48 02 C8 A1 */ bl DCStoreRange
+/* 8023DDE8 00239A48 38 00 00 01 */ li r0, 1
+/* 8023DDEC 00239A4C 38 80 00 00 */ li r4, 0
+/* 8023DDF0 00239A50 98 1F 00 06 */ stb r0, 6(r31)
+/* 8023DDF4 00239A54 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 8023DDF8 00239A58 28 00 00 01 */ cmplwi r0, 1
+/* 8023DDFC 00239A5C 38 60 00 02 */ li r3, 2
+/* 8023DE00 00239A60 A0 A1 00 08 */ lhz r5, 8(r1)
+/* 8023DE04 00239A64 B0 BF 00 00 */ sth r5, 0(r31)
+/* 8023DE08 00239A68 A0 01 00 0A */ lhz r0, 0xa(r1)
+/* 8023DE0C 00239A6C B0 1F 00 02 */ sth r0, 2(r31)
+/* 8023DE10 00239A70 9B BF 00 05 */ stb r29, 5(r31)
+/* 8023DE14 00239A74 93 7F 00 08 */ stw r27, 8(r31)
+/* 8023DE18 00239A78 93 9F 00 0C */ stw r28, 0xc(r31)
+/* 8023DE1C 00239A7C 90 9F 00 10 */ stw r4, 0x10(r31)
+/* 8023DE20 00239A80 90 9F 00 14 */ stw r4, 0x14(r31)
+/* 8023DE24 00239A84 90 7F 00 18 */ stw r3, 0x18(r31)
+/* 8023DE28 00239A88 90 7F 00 1C */ stw r3, 0x1c(r31)
+/* 8023DE2C 00239A8C 40 81 00 08 */ ble lbl_8023DE34
+/* 8023DE30 00239A90 7C 64 1B 78 */ mr r4, r3
+lbl_8023DE34:
+/* 8023DE34 00239A94 90 9F 00 20 */ stw r4, 0x20(r31)
+/* 8023DE38 00239A98 38 C0 00 00 */ li r6, 0
+/* 8023DE3C 00239A9C 38 00 00 07 */ li r0, 7
+/* 8023DE40 00239AA0 38 FF 00 04 */ addi r7, r31, 4
+/* 8023DE44 00239AA4 90 DF 00 50 */ stw r6, 0x50(r31)
+/* 8023DE48 00239AA8 39 00 00 01 */ li r8, 1
+/* 8023DE4C 00239AAC A0 81 00 08 */ lhz r4, 8(r1)
+/* 8023DE50 00239AB0 A0 61 00 0A */ lhz r3, 0xa(r1)
+/* 8023DE54 00239AB4 88 BF 00 04 */ lbz r5, 4(r31)
+/* 8023DE58 00239AB8 7C 64 19 D6 */ mullw r3, r4, r3
+/* 8023DE5C 00239ABC 7C 65 19 D6 */ mullw r3, r5, r3
+/* 8023DE60 00239AC0 54 64 E8 FE */ srwi r4, r3, 3
+/* 8023DE64 00239AC4 7C 09 03 A6 */ mtctr r0
+lbl_8023DE68:
+/* 8023DE68 00239AC8 88 1F 00 05 */ lbz r0, 5(r31)
+/* 8023DE6C 00239ACC 7C 08 00 00 */ cmpw r8, r0
+/* 8023DE70 00239AD0 40 80 00 18 */ bge lbl_8023DE88
+/* 8023DE74 00239AD4 80 07 00 24 */ lwz r0, 0x24(r7)
+/* 8023DE78 00239AD8 7C 04 02 14 */ add r0, r4, r0
+/* 8023DE7C 00239ADC 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023DE80 00239AE0 90 07 00 28 */ stw r0, 0x28(r7)
+/* 8023DE84 00239AE4 48 00 00 08 */ b lbl_8023DE8C
+lbl_8023DE88:
+/* 8023DE88 00239AE8 90 C7 00 28 */ stw r6, 0x28(r7)
+lbl_8023DE8C:
+/* 8023DE8C 00239AEC 38 E7 00 04 */ addi r7, r7, 4
+/* 8023DE90 00239AF0 39 08 00 01 */ addi r8, r8, 1
+/* 8023DE94 00239AF4 42 00 FF D4 */ bdnz lbl_8023DE68
+/* 8023DE98 00239AF8 2C 1C 00 04 */ cmpwi r28, 4
+/* 8023DE9C 00239AFC 40 80 00 30 */ bge lbl_8023DECC
+/* 8023DEA0 00239B00 2C 1C 00 01 */ cmpwi r28, 1
+/* 8023DEA4 00239B04 40 80 00 08 */ bge lbl_8023DEAC
+/* 8023DEA8 00239B08 48 00 00 24 */ b lbl_8023DECC
+lbl_8023DEAC:
+/* 8023DEAC 00239B0C 88 7F 00 05 */ lbz r3, 5(r31)
+/* 8023DEB0 00239B10 38 03 FF FF */ addi r0, r3, -1
+/* 8023DEB4 00239B14 54 00 10 3A */ slwi r0, r0, 2
+/* 8023DEB8 00239B18 7C 7F 02 14 */ add r3, r31, r0
+/* 8023DEBC 00239B1C 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 8023DEC0 00239B20 7C 04 02 14 */ add r0, r4, r0
+/* 8023DEC4 00239B24 90 1F 00 48 */ stw r0, 0x48(r31)
+/* 8023DEC8 00239B28 48 00 00 0C */ b lbl_8023DED4
+lbl_8023DECC:
+/* 8023DECC 00239B2C 38 00 00 00 */ li r0, 0
+/* 8023DED0 00239B30 90 1F 00 48 */ stw r0, 0x48(r31)
+lbl_8023DED4:
+/* 8023DED4 00239B34 7F E3 FB 78 */ mr r3, r31
+/* 8023DED8 00239B38 4B FF F3 C5 */ bl func_8023D29C
+/* 8023DEDC 00239B3C 7F E3 FB 78 */ mr r3, r31
+/* 8023DEE0 00239B40 4B FF F5 41 */ bl func_8023D420
+/* 8023DEE4 00239B44 7F E3 FB 78 */ mr r3, r31
+/* 8023DEE8 00239B48 4B FF F6 49 */ bl func_8023D530
+/* 8023DEEC 00239B4C 38 00 00 01 */ li r0, 1
+/* 8023DEF0 00239B50 2C 1E 00 00 */ cmpwi r30, 0
+/* 8023DEF4 00239B54 98 1F 00 07 */ stb r0, 7(r31)
+/* 8023DEF8 00239B58 41 82 00 10 */ beq lbl_8023DF08
+/* 8023DEFC 00239B5C 88 1F 00 07 */ lbz r0, 7(r31)
+/* 8023DF00 00239B60 60 00 00 02 */ ori r0, r0, 2
+/* 8023DF04 00239B64 98 1F 00 07 */ stb r0, 7(r31)
+lbl_8023DF08:
+/* 8023DF08 00239B68 7F E3 FB 78 */ mr r3, r31
+lbl_8023DF0C:
+/* 8023DF0C 00239B6C 39 61 00 30 */ addi r11, r1, 0x30
+/* 8023DF10 00239B70 4B F8 92 65 */ bl _restgpr_27
+/* 8023DF14 00239B74 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8023DF18 00239B78 7C 08 03 A6 */ mtlr r0
+/* 8023DF1C 00239B7C 38 21 00 30 */ addi r1, r1, 0x30
+/* 8023DF20 00239B80 4E 80 00 20 */ blr
+
+.global func_8023DF24
+func_8023DF24:
+/* 8023DF24 00239B84 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8023DF28 00239B88 7C 08 02 A6 */ mflr r0
+/* 8023DF2C 00239B8C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8023DF30 00239B90 39 61 00 30 */ addi r11, r1, 0x30
+/* 8023DF34 00239B94 4B F8 91 E9 */ bl _savegpr_24
+/* 8023DF38 00239B98 7C 98 23 78 */ mr r24, r4
+/* 8023DF3C 00239B9C 7C B9 2B 78 */ mr r25, r5
+/* 8023DF40 00239BA0 7C 7B 1B 78 */ mr r27, r3
+/* 8023DF44 00239BA4 7C DC 33 78 */ mr r28, r6
+/* 8023DF48 00239BA8 7C FA 3B 78 */ mr r26, r7
+/* 8023DF4C 00239BAC 7D 1D 43 78 */ mr r29, r8
+/* 8023DF50 00239BB0 7D 3E 4B 78 */ mr r30, r9
+/* 8023DF54 00239BB4 3B E0 00 00 */ li r31, 0
+/* 8023DF58 00239BB8 38 80 00 00 */ li r4, 0
+/* 8023DF5C 00239BBC 38 A0 00 80 */ li r5, 0x80
+/* 8023DF60 00239BC0 4B DC 61 A5 */ bl memset
+/* 8023DF64 00239BC4 2C 1A 00 45 */ cmpwi r26, 0x45
+/* 8023DF68 00239BC8 B3 1B 00 00 */ sth r24, 0(r27)
+/* 8023DF6C 00239BCC B3 3B 00 02 */ sth r25, 2(r27)
+/* 8023DF70 00239BD0 41 82 00 B8 */ beq lbl_8023E028
+/* 8023DF74 00239BD4 40 80 00 40 */ bge lbl_8023DFB4
+/* 8023DF78 00239BD8 2C 1A 00 30 */ cmpwi r26, 0x30
+/* 8023DF7C 00239BDC 41 82 00 9C */ beq lbl_8023E018
+/* 8023DF80 00239BE0 40 80 00 1C */ bge lbl_8023DF9C
+/* 8023DF84 00239BE4 2C 1A 00 01 */ cmpwi r26, 1
+/* 8023DF88 00239BE8 41 82 00 80 */ beq lbl_8023E008
+/* 8023DF8C 00239BEC 40 80 00 A8 */ bge lbl_8023E034
+/* 8023DF90 00239BF0 2C 1A 00 00 */ cmpwi r26, 0
+/* 8023DF94 00239BF4 40 80 00 64 */ bge lbl_8023DFF8
+/* 8023DF98 00239BF8 48 00 00 9C */ b lbl_8023E034
+lbl_8023DF9C:
+/* 8023DF9C 00239BFC 2C 1A 00 40 */ cmpwi r26, 0x40
+/* 8023DFA0 00239C00 41 82 00 5C */ beq lbl_8023DFFC
+/* 8023DFA4 00239C04 41 80 00 90 */ blt lbl_8023E034
+/* 8023DFA8 00239C08 2C 1A 00 43 */ cmpwi r26, 0x43
+/* 8023DFAC 00239C0C 40 80 00 70 */ bge lbl_8023E01C
+/* 8023DFB0 00239C10 48 00 00 5C */ b lbl_8023E00C
+lbl_8023DFB4:
+/* 8023DFB4 00239C14 2C 1A 00 A7 */ cmpwi r26, 0xa7
+/* 8023DFB8 00239C18 41 82 00 70 */ beq lbl_8023E028
+/* 8023DFBC 00239C1C 40 80 00 24 */ bge lbl_8023DFE0
+/* 8023DFC0 00239C20 2C 1A 00 A0 */ cmpwi r26, 0xa0
+/* 8023DFC4 00239C24 40 80 00 10 */ bge lbl_8023DFD4
+/* 8023DFC8 00239C28 2C 1A 00 90 */ cmpwi r26, 0x90
+/* 8023DFCC 00239C2C 41 82 00 50 */ beq lbl_8023E01C
+/* 8023DFD0 00239C30 48 00 00 64 */ b lbl_8023E034
+lbl_8023DFD4:
+/* 8023DFD4 00239C34 2C 1A 00 A6 */ cmpwi r26, 0xa6
+/* 8023DFD8 00239C38 40 80 00 44 */ bge lbl_8023E01C
+/* 8023DFDC 00239C3C 48 00 00 30 */ b lbl_8023E00C
+lbl_8023DFE0:
+/* 8023DFE0 00239C40 2C 1A 00 B0 */ cmpwi r26, 0xb0
+/* 8023DFE4 00239C44 41 82 00 18 */ beq lbl_8023DFFC
+/* 8023DFE8 00239C48 40 80 00 4C */ bge lbl_8023E034
+/* 8023DFEC 00239C4C 2C 1A 00 A9 */ cmpwi r26, 0xa9
+/* 8023DFF0 00239C50 40 80 00 44 */ bge lbl_8023E034
+/* 8023DFF4 00239C54 48 00 00 08 */ b lbl_8023DFFC
+lbl_8023DFF8:
+/* 8023DFF8 00239C58 3B E0 00 10 */ li r31, 0x10
+lbl_8023DFFC:
+/* 8023DFFC 00239C5C 38 00 00 04 */ li r0, 4
+/* 8023E000 00239C60 98 1B 00 04 */ stb r0, 4(r27)
+/* 8023E004 00239C64 48 00 00 38 */ b lbl_8023E03C
+lbl_8023E008:
+/* 8023E008 00239C68 3B E0 01 00 */ li r31, 0x100
+lbl_8023E00C:
+/* 8023E00C 00239C6C 38 00 00 08 */ li r0, 8
+/* 8023E010 00239C70 98 1B 00 04 */ stb r0, 4(r27)
+/* 8023E014 00239C74 48 00 00 28 */ b lbl_8023E03C
+lbl_8023E018:
+/* 8023E018 00239C78 3B E0 04 00 */ li r31, 0x400
+lbl_8023E01C:
+/* 8023E01C 00239C7C 38 00 00 10 */ li r0, 0x10
+/* 8023E020 00239C80 98 1B 00 04 */ stb r0, 4(r27)
+/* 8023E024 00239C84 48 00 00 18 */ b lbl_8023E03C
+lbl_8023E028:
+/* 8023E028 00239C88 38 00 00 20 */ li r0, 0x20
+/* 8023E02C 00239C8C 98 1B 00 04 */ stb r0, 4(r27)
+/* 8023E030 00239C90 48 00 00 0C */ b lbl_8023E03C
+lbl_8023E034:
+/* 8023E034 00239C94 38 60 00 00 */ li r3, 0
+/* 8023E038 00239C98 48 00 02 80 */ b lbl_8023E2B8
+lbl_8023E03C:
+/* 8023E03C 00239C9C 3B DE 00 01 */ addi r30, r30, 1
+/* 8023E040 00239CA0 38 E0 00 00 */ li r7, 0
+/* 8023E044 00239CA4 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 8023E048 00239CA8 38 60 00 02 */ li r3, 2
+/* 8023E04C 00239CAC 38 80 00 01 */ li r4, 1
+/* 8023E050 00239CB0 9B DB 00 05 */ stb r30, 5(r27)
+/* 8023E054 00239CB4 28 00 00 01 */ cmplwi r0, 1
+/* 8023E058 00239CB8 98 9B 00 06 */ stb r4, 6(r27)
+/* 8023E05C 00239CBC 93 5B 00 08 */ stw r26, 8(r27)
+/* 8023E060 00239CC0 93 BB 00 0C */ stw r29, 0xc(r27)
+/* 8023E064 00239CC4 90 FB 00 10 */ stw r7, 0x10(r27)
+/* 8023E068 00239CC8 90 FB 00 14 */ stw r7, 0x14(r27)
+/* 8023E06C 00239CCC 90 7B 00 18 */ stw r3, 0x18(r27)
+/* 8023E070 00239CD0 90 7B 00 1C */ stw r3, 0x1c(r27)
+/* 8023E074 00239CD4 40 81 00 08 */ ble lbl_8023E07C
+/* 8023E078 00239CD8 7C 67 1B 78 */ mr r7, r3
+lbl_8023E07C:
+/* 8023E07C 00239CDC 7C 18 C9 D6 */ mullw r0, r24, r25
+/* 8023E080 00239CE0 38 A0 00 00 */ li r5, 0
+/* 8023E084 00239CE4 88 9B 00 04 */ lbz r4, 4(r27)
+/* 8023E088 00239CE8 57 C6 06 3E */ clrlwi r6, r30, 0x18
+/* 8023E08C 00239CEC 90 FB 00 20 */ stw r7, 0x20(r27)
+/* 8023E090 00239CF0 38 60 00 00 */ li r3, 0
+/* 8023E094 00239CF4 7C 84 01 D6 */ mullw r4, r4, r0
+/* 8023E098 00239CF8 2C 86 00 00 */ cmpwi cr1, r6, 0
+/* 8023E09C 00239CFC 90 BB 00 24 */ stw r5, 0x24(r27)
+/* 8023E0A0 00239D00 93 9B 00 28 */ stw r28, 0x28(r27)
+/* 8023E0A4 00239D04 90 BB 00 2C */ stw r5, 0x2c(r27)
+/* 8023E0A8 00239D08 54 84 E8 FE */ srwi r4, r4, 3
+/* 8023E0AC 00239D0C 90 BB 00 48 */ stw r5, 0x48(r27)
+/* 8023E0B0 00239D10 90 BB 00 50 */ stw r5, 0x50(r27)
+/* 8023E0B4 00239D14 90 BB 00 4C */ stw r5, 0x4c(r27)
+/* 8023E0B8 00239D18 40 85 01 08 */ ble cr1, lbl_8023E1C0
+/* 8023E0BC 00239D1C 2C 06 00 08 */ cmpwi r6, 8
+/* 8023E0C0 00239D20 38 E6 FF F8 */ addi r7, r6, -8
+/* 8023E0C4 00239D24 40 81 00 CC */ ble lbl_8023E190
+/* 8023E0C8 00239D28 39 00 00 00 */ li r8, 0
+/* 8023E0CC 00239D2C 41 84 00 18 */ blt cr1, lbl_8023E0E4
+/* 8023E0D0 00239D30 3C A0 80 00 */ lis r5, 0x7FFFFFFE@ha
+/* 8023E0D4 00239D34 38 A5 FF FE */ addi r5, r5, 0x7FFFFFFE@l
+/* 8023E0D8 00239D38 7C 06 28 00 */ cmpw r6, r5
+/* 8023E0DC 00239D3C 41 81 00 08 */ bgt lbl_8023E0E4
+/* 8023E0E0 00239D40 39 00 00 01 */ li r8, 1
+lbl_8023E0E4:
+/* 8023E0E4 00239D44 2C 08 00 00 */ cmpwi r8, 0
+/* 8023E0E8 00239D48 41 82 00 A8 */ beq lbl_8023E190
+/* 8023E0EC 00239D4C 38 A7 00 07 */ addi r5, r7, 7
+/* 8023E0F0 00239D50 54 A5 E8 FE */ srwi r5, r5, 3
+/* 8023E0F4 00239D54 7C A9 03 A6 */ mtctr r5
+/* 8023E0F8 00239D58 2C 07 00 00 */ cmpwi r7, 0
+/* 8023E0FC 00239D5C 40 81 00 94 */ ble lbl_8023E190
+lbl_8023E100:
+/* 8023E100 00239D60 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023E104 00239D64 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E108 00239D68 38 A4 00 1F */ addi r5, r4, 0x1f
+/* 8023E10C 00239D6C 81 3B 00 4C */ lwz r9, 0x4c(r27)
+/* 8023E110 00239D70 54 C8 00 34 */ rlwinm r8, r6, 0, 0, 0x1a
+/* 8023E114 00239D74 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E118 00239D78 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023E11C 00239D7C 54 A7 00 34 */ rlwinm r7, r5, 0, 0, 0x1a
+/* 8023E120 00239D80 7D 29 42 14 */ add r9, r9, r8
+/* 8023E124 00239D84 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E128 00239D88 38 A4 00 1F */ addi r5, r4, 0x1f
+/* 8023E12C 00239D8C 54 C8 00 34 */ rlwinm r8, r6, 0, 0, 0x1a
+/* 8023E130 00239D90 7D 29 3A 14 */ add r9, r9, r7
+/* 8023E134 00239D94 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E138 00239D98 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023E13C 00239D9C 54 A7 00 34 */ rlwinm r7, r5, 0, 0, 0x1a
+/* 8023E140 00239DA0 7D 29 42 14 */ add r9, r9, r8
+/* 8023E144 00239DA4 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E148 00239DA8 38 A4 00 1F */ addi r5, r4, 0x1f
+/* 8023E14C 00239DAC 54 C8 00 34 */ rlwinm r8, r6, 0, 0, 0x1a
+/* 8023E150 00239DB0 7D 29 3A 14 */ add r9, r9, r7
+/* 8023E154 00239DB4 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E158 00239DB8 38 C4 00 1F */ addi r6, r4, 0x1f
+/* 8023E15C 00239DBC 54 A7 00 34 */ rlwinm r7, r5, 0, 0, 0x1a
+/* 8023E160 00239DC0 7D 09 42 14 */ add r8, r9, r8
+/* 8023E164 00239DC4 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E168 00239DC8 38 A4 00 1F */ addi r5, r4, 0x1f
+/* 8023E16C 00239DCC 54 C6 00 34 */ rlwinm r6, r6, 0, 0, 0x1a
+/* 8023E170 00239DD0 7C E8 3A 14 */ add r7, r8, r7
+/* 8023E174 00239DD4 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E178 00239DD8 7C C7 32 14 */ add r6, r7, r6
+/* 8023E17C 00239DDC 54 A5 00 34 */ rlwinm r5, r5, 0, 0, 0x1a
+/* 8023E180 00239DE0 7C A6 2A 14 */ add r5, r6, r5
+/* 8023E184 00239DE4 38 63 00 08 */ addi r3, r3, 8
+/* 8023E188 00239DE8 90 BB 00 4C */ stw r5, 0x4c(r27)
+/* 8023E18C 00239DEC 42 00 FF 74 */ bdnz lbl_8023E100
+lbl_8023E190:
+/* 8023E190 00239DF0 57 C6 06 3E */ clrlwi r6, r30, 0x18
+/* 8023E194 00239DF4 7C A3 30 50 */ subf r5, r3, r6
+/* 8023E198 00239DF8 7C A9 03 A6 */ mtctr r5
+/* 8023E19C 00239DFC 7C 03 30 00 */ cmpw r3, r6
+/* 8023E1A0 00239E00 40 80 00 20 */ bge lbl_8023E1C0
+lbl_8023E1A4:
+/* 8023E1A4 00239E04 38 64 00 1F */ addi r3, r4, 0x1f
+/* 8023E1A8 00239E08 80 BB 00 4C */ lwz r5, 0x4c(r27)
+/* 8023E1AC 00239E0C 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a
+/* 8023E1B0 00239E10 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E1B4 00239E14 7C 65 1A 14 */ add r3, r5, r3
+/* 8023E1B8 00239E18 90 7B 00 4C */ stw r3, 0x4c(r27)
+/* 8023E1BC 00239E1C 42 00 FF E8 */ bdnz lbl_8023E1A4
+lbl_8023E1C0:
+/* 8023E1C0 00239E20 2C 1F 00 00 */ cmpwi r31, 0
+/* 8023E1C4 00239E24 41 82 00 38 */ beq lbl_8023E1FC
+/* 8023E1C8 00239E28 2C 1D 00 00 */ cmpwi r29, 0
+/* 8023E1CC 00239E2C 41 82 00 28 */ beq lbl_8023E1F4
+/* 8023E1D0 00239E30 41 80 00 24 */ blt lbl_8023E1F4
+/* 8023E1D4 00239E34 2C 1D 00 04 */ cmpwi r29, 4
+/* 8023E1D8 00239E38 40 80 00 1C */ bge lbl_8023E1F4
+/* 8023E1DC 00239E3C 57 E3 20 36 */ slwi r3, r31, 4
+/* 8023E1E0 00239E40 80 9B 00 4C */ lwz r4, 0x4c(r27)
+/* 8023E1E4 00239E44 7C 63 1E 70 */ srawi r3, r3, 3
+/* 8023E1E8 00239E48 7C 64 1A 14 */ add r3, r4, r3
+/* 8023E1EC 00239E4C 90 7B 00 4C */ stw r3, 0x4c(r27)
+/* 8023E1F0 00239E50 48 00 00 0C */ b lbl_8023E1FC
+lbl_8023E1F4:
+/* 8023E1F4 00239E54 38 60 00 00 */ li r3, 0
+/* 8023E1F8 00239E58 48 00 00 C0 */ b lbl_8023E2B8
+lbl_8023E1FC:
+/* 8023E1FC 00239E5C 88 9B 00 04 */ lbz r4, 4(r27)
+/* 8023E200 00239E60 38 60 00 07 */ li r3, 7
+/* 8023E204 00239E64 38 BB 00 04 */ addi r5, r27, 4
+/* 8023E208 00239E68 38 C0 00 01 */ li r6, 1
+/* 8023E20C 00239E6C 7C 84 01 D6 */ mullw r4, r4, r0
+/* 8023E210 00239E70 38 00 00 00 */ li r0, 0
+/* 8023E214 00239E74 54 84 E8 FE */ srwi r4, r4, 3
+/* 8023E218 00239E78 7C 69 03 A6 */ mtctr r3
+lbl_8023E21C:
+/* 8023E21C 00239E7C 88 7B 00 05 */ lbz r3, 5(r27)
+/* 8023E220 00239E80 7C 06 18 00 */ cmpw r6, r3
+/* 8023E224 00239E84 40 80 00 18 */ bge lbl_8023E23C
+/* 8023E228 00239E88 80 65 00 24 */ lwz r3, 0x24(r5)
+/* 8023E22C 00239E8C 7C 64 1A 14 */ add r3, r4, r3
+/* 8023E230 00239E90 54 84 F0 BE */ srwi r4, r4, 2
+/* 8023E234 00239E94 90 65 00 28 */ stw r3, 0x28(r5)
+/* 8023E238 00239E98 48 00 00 08 */ b lbl_8023E240
+lbl_8023E23C:
+/* 8023E23C 00239E9C 90 05 00 28 */ stw r0, 0x28(r5)
+lbl_8023E240:
+/* 8023E240 00239EA0 38 A5 00 04 */ addi r5, r5, 4
+/* 8023E244 00239EA4 38 C6 00 01 */ addi r6, r6, 1
+/* 8023E248 00239EA8 42 00 FF D4 */ bdnz lbl_8023E21C
+/* 8023E24C 00239EAC 2C 1D 00 04 */ cmpwi r29, 4
+/* 8023E250 00239EB0 40 80 00 30 */ bge lbl_8023E280
+/* 8023E254 00239EB4 2C 1D 00 01 */ cmpwi r29, 1
+/* 8023E258 00239EB8 40 80 00 08 */ bge lbl_8023E260
+/* 8023E25C 00239EBC 48 00 00 24 */ b lbl_8023E280
+lbl_8023E260:
+/* 8023E260 00239EC0 88 7B 00 05 */ lbz r3, 5(r27)
+/* 8023E264 00239EC4 38 03 FF FF */ addi r0, r3, -1
+/* 8023E268 00239EC8 54 00 10 3A */ slwi r0, r0, 2
+/* 8023E26C 00239ECC 7C 7B 02 14 */ add r3, r27, r0
+/* 8023E270 00239ED0 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 8023E274 00239ED4 7C 04 02 14 */ add r0, r4, r0
+/* 8023E278 00239ED8 90 1B 00 48 */ stw r0, 0x48(r27)
+/* 8023E27C 00239EDC 48 00 00 0C */ b lbl_8023E288
+lbl_8023E280:
+/* 8023E280 00239EE0 38 00 00 00 */ li r0, 0
+/* 8023E284 00239EE4 90 1B 00 48 */ stw r0, 0x48(r27)
+lbl_8023E288:
+/* 8023E288 00239EE8 7F 63 DB 78 */ mr r3, r27
+/* 8023E28C 00239EEC 4B FF F0 11 */ bl func_8023D29C
+/* 8023E290 00239EF0 7F 63 DB 78 */ mr r3, r27
+/* 8023E294 00239EF4 4B FF F1 8D */ bl func_8023D420
+/* 8023E298 00239EF8 7F 63 DB 78 */ mr r3, r27
+/* 8023E29C 00239EFC 4B FF F2 95 */ bl func_8023D530
+/* 8023E2A0 00239F00 38 00 00 01 */ li r0, 1
+/* 8023E2A4 00239F04 80 7B 00 28 */ lwz r3, 0x28(r27)
+/* 8023E2A8 00239F08 98 1B 00 07 */ stb r0, 7(r27)
+/* 8023E2AC 00239F0C 80 9B 00 4C */ lwz r4, 0x4c(r27)
+/* 8023E2B0 00239F10 48 02 C3 D5 */ bl DCStoreRange
+/* 8023E2B4 00239F14 38 60 00 01 */ li r3, 1
+lbl_8023E2B8:
+/* 8023E2B8 00239F18 39 61 00 30 */ addi r11, r1, 0x30
+/* 8023E2BC 00239F1C 4B F8 8E AD */ bl _restgpr_24
+/* 8023E2C0 00239F20 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8023E2C4 00239F24 7C 08 03 A6 */ mtlr r0
+/* 8023E2C8 00239F28 38 21 00 30 */ addi r1, r1, 0x30
+/* 8023E2CC 00239F2C 4E 80 00 20 */ blr
+
+.global func_8023E2D0
+func_8023E2D0:
+/* 8023E2D0 00239F30 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023E2D4 00239F34 7C 08 02 A6 */ mflr r0
+/* 8023E2D8 00239F38 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023E2DC 00239F3C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8023E2E0 00239F40 93 C1 00 08 */ stw r30, 8(r1)
+/* 8023E2E4 00239F44 7C 7E 1B 78 */ mr r30, r3
+/* 8023E2E8 00239F48 88 03 00 06 */ lbz r0, 6(r3)
+/* 8023E2EC 00239F4C 2C 00 00 00 */ cmpwi r0, 0
+/* 8023E2F0 00239F50 41 82 00 64 */ beq lbl_8023E354
+/* 8023E2F4 00239F54 80 03 00 24 */ lwz r0, 0x24(r3)
+/* 8023E2F8 00239F58 3B E0 00 00 */ li r31, 0
+/* 8023E2FC 00239F5C 9B E3 00 06 */ stb r31, 6(r3)
+/* 8023E300 00239F60 2C 00 00 00 */ cmpwi r0, 0
+/* 8023E304 00239F64 41 82 00 50 */ beq lbl_8023E354
+/* 8023E308 00239F68 80 83 00 50 */ lwz r4, 0x50(r3)
+/* 8023E30C 00239F6C 2C 04 00 00 */ cmpwi r4, 0
+/* 8023E310 00239F70 41 82 00 10 */ beq lbl_8023E320
+/* 8023E314 00239F74 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
+/* 8023E318 00239F78 4B FF D5 75 */ bl func_8023B88C
+/* 8023E31C 00239F7C 93 FE 00 50 */ stw r31, 0x50(r30)
+lbl_8023E320:
+/* 8023E320 00239F80 88 1E 00 07 */ lbz r0, 7(r30)
+/* 8023E324 00239F84 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8023E328 00239F88 41 82 00 14 */ beq lbl_8023E33C
+/* 8023E32C 00239F8C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8023E330 00239F90 80 9E 00 24 */ lwz r4, 0x24(r30)
+/* 8023E334 00239F94 4B F9 CA 15 */ bl func_801DAD48
+/* 8023E338 00239F98 48 00 00 10 */ b lbl_8023E348
+lbl_8023E33C:
+/* 8023E33C 00239F9C 80 6D 96 28 */ lwz r3, lbl_8063E8E8-_SDA_BASE_(r13)
+/* 8023E340 00239FA0 80 9E 00 24 */ lwz r4, 0x24(r30)
+/* 8023E344 00239FA4 4B F9 CA 05 */ bl func_801DAD48
+lbl_8023E348:
+/* 8023E348 00239FA8 38 00 00 00 */ li r0, 0
+/* 8023E34C 00239FAC 90 1E 00 24 */ stw r0, 0x24(r30)
+/* 8023E350 00239FB0 98 1E 00 07 */ stb r0, 7(r30)
+lbl_8023E354:
+/* 8023E354 00239FB4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023E358 00239FB8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8023E35C 00239FBC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8023E360 00239FC0 7C 08 03 A6 */ mtlr r0
+/* 8023E364 00239FC4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023E368 00239FC8 4E 80 00 20 */ blr
+
+.global func_8023E36C
+func_8023E36C:
+/* 8023E36C 00239FCC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023E370 00239FD0 7C 08 02 A6 */ mflr r0
+/* 8023E374 00239FD4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023E378 00239FD8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8023E37C 00239FDC 7C 7F 1B 78 */ mr r31, r3
+/* 8023E380 00239FE0 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 8023E384 00239FE4 7C 00 20 00 */ cmpw r0, r4
+/* 8023E388 00239FE8 40 82 00 10 */ bne lbl_8023E398
+/* 8023E38C 00239FEC 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 8023E390 00239FF0 7C 00 28 00 */ cmpw r0, r5
+/* 8023E394 00239FF4 41 82 00 20 */ beq lbl_8023E3B4
+lbl_8023E398:
+/* 8023E398 00239FF8 90 83 00 10 */ stw r4, 0x10(r3)
+/* 8023E39C 00239FFC 90 A3 00 14 */ stw r5, 0x14(r3)
+/* 8023E3A0 0023A000 7F E3 FB 78 */ mr r3, r31
+/* 8023E3A4 0023A004 4B FF F0 7D */ bl func_8023D420
+/* 8023E3A8 0023A008 88 1F 00 07 */ lbz r0, 7(r31)
+/* 8023E3AC 0023A00C 60 00 00 01 */ ori r0, r0, 1
+/* 8023E3B0 0023A010 98 1F 00 07 */ stb r0, 7(r31)
+lbl_8023E3B4:
+/* 8023E3B4 0023A014 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023E3B8 0023A018 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8023E3BC 0023A01C 7C 08 03 A6 */ mtlr r0
+/* 8023E3C0 0023A020 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023E3C4 0023A024 4E 80 00 20 */ blr
+
+.global func_8023E3C8
+func_8023E3C8:
+/* 8023E3C8 0023A028 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023E3CC 0023A02C 7C 08 02 A6 */ mflr r0
+/* 8023E3D0 0023A030 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023E3D4 0023A034 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8023E3D8 0023A038 7C 7F 1B 78 */ mr r31, r3
+/* 8023E3DC 0023A03C 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8023E3E0 0023A040 7C 00 20 00 */ cmpw r0, r4
+/* 8023E3E4 0023A044 40 82 00 1C */ bne lbl_8023E400
+/* 8023E3E8 0023A048 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8023E3EC 0023A04C 7C 00 28 00 */ cmpw r0, r5
+/* 8023E3F0 0023A050 40 82 00 10 */ bne lbl_8023E400
+/* 8023E3F4 0023A054 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 8023E3F8 0023A058 7C 00 30 00 */ cmpw r0, r6
+/* 8023E3FC 0023A05C 41 82 00 24 */ beq lbl_8023E420
+lbl_8023E400:
+/* 8023E400 0023A060 90 83 00 18 */ stw r4, 0x18(r3)
+/* 8023E404 0023A064 90 A3 00 1C */ stw r5, 0x1c(r3)
+/* 8023E408 0023A068 90 C3 00 20 */ stw r6, 0x20(r3)
+/* 8023E40C 0023A06C 7F E3 FB 78 */ mr r3, r31
+/* 8023E410 0023A070 4B FF F1 21 */ bl func_8023D530
+/* 8023E414 0023A074 88 1F 00 07 */ lbz r0, 7(r31)
+/* 8023E418 0023A078 60 00 00 01 */ ori r0, r0, 1
+/* 8023E41C 0023A07C 98 1F 00 07 */ stb r0, 7(r31)
+lbl_8023E420:
+/* 8023E420 0023A080 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023E424 0023A084 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8023E428 0023A088 7C 08 03 A6 */ mtlr r0
+/* 8023E42C 0023A08C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023E430 0023A090 4E 80 00 20 */ blr
+
+.global func_8023E434
+func_8023E434:
+/* 8023E434 0023A094 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023E438 0023A098 7C 08 02 A6 */ mflr r0
+/* 8023E43C 0023A09C 28 04 00 08 */ cmplwi r4, 8
+/* 8023E440 0023A0A0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023E444 0023A0A4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8023E448 0023A0A8 7C 9F 23 78 */ mr r31, r4
+/* 8023E44C 0023A0AC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8023E450 0023A0B0 7C 7E 1B 78 */ mr r30, r3
+/* 8023E454 0023A0B4 41 80 00 0C */ blt lbl_8023E460
+/* 8023E458 0023A0B8 38 60 00 00 */ li r3, 0
+/* 8023E45C 0023A0BC 48 00 00 2C */ b lbl_8023E488
+lbl_8023E460:
+/* 8023E460 0023A0C0 80 83 00 50 */ lwz r4, 0x50(r3)
+/* 8023E464 0023A0C4 2C 04 00 00 */ cmpwi r4, 0
+/* 8023E468 0023A0C8 41 82 00 14 */ beq lbl_8023E47C
+/* 8023E46C 0023A0CC 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
+/* 8023E470 0023A0D0 4B FF D4 1D */ bl func_8023B88C
+/* 8023E474 0023A0D4 38 00 00 00 */ li r0, 0
+/* 8023E478 0023A0D8 90 1E 00 50 */ stw r0, 0x50(r30)
+lbl_8023E47C:
+/* 8023E47C 0023A0DC 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d
+/* 8023E480 0023A0E0 7C 7E 02 14 */ add r3, r30, r0
+/* 8023E484 0023A0E4 80 63 00 28 */ lwz r3, 0x28(r3)
+lbl_8023E488:
+/* 8023E488 0023A0E8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023E48C 0023A0EC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8023E490 0023A0F0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8023E494 0023A0F4 7C 08 03 A6 */ mtlr r0
+/* 8023E498 0023A0F8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023E49C 0023A0FC 4E 80 00 20 */ blr
+
+.global func_8023E4A0
+func_8023E4A0:
+/* 8023E4A0 0023A100 28 04 00 08 */ cmplwi r4, 8
+/* 8023E4A4 0023A104 41 80 00 0C */ blt lbl_8023E4B0
+/* 8023E4A8 0023A108 38 60 00 00 */ li r3, 0
+/* 8023E4AC 0023A10C 4E 80 00 20 */ blr
+lbl_8023E4B0:
+/* 8023E4B0 0023A110 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d
+/* 8023E4B4 0023A114 7C 63 02 14 */ add r3, r3, r0
+/* 8023E4B8 0023A118 80 63 00 28 */ lwz r3, 0x28(r3)
+/* 8023E4BC 0023A11C 4E 80 00 20 */ blr
+
+.global func_8023E4C0
+func_8023E4C0:
+/* 8023E4C0 0023A120 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023E4C4 0023A124 7C 08 02 A6 */ mflr r0
+/* 8023E4C8 0023A128 7C 64 1B 78 */ mr r4, r3
+/* 8023E4CC 0023A12C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023E4D0 0023A130 80 63 00 28 */ lwz r3, 0x28(r3)
+/* 8023E4D4 0023A134 80 84 00 4C */ lwz r4, 0x4c(r4)
+/* 8023E4D8 0023A138 48 02 C1 AD */ bl DCStoreRange
+/* 8023E4DC 0023A13C 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
+/* 8023E4E0 0023A140 A0 03 16 FE */ lhz r0, 0x16fe(r3)
+/* 8023E4E4 0023A144 60 00 00 02 */ ori r0, r0, 2
+/* 8023E4E8 0023A148 B0 03 16 FE */ sth r0, 0x16fe(r3)
+/* 8023E4EC 0023A14C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023E4F0 0023A150 7C 08 03 A6 */ mtlr r0
+/* 8023E4F4 0023A154 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023E4F8 0023A158 4E 80 00 20 */ blr
+
+.global func_8023E4FC
+func_8023E4FC:
+/* 8023E4FC 0023A15C 80 63 00 48 */ lwz r3, 0x48(r3)
+/* 8023E500 0023A160 4E 80 00 20 */ blr
+
+.global func_8023E504
+func_8023E504:
+/* 8023E504 0023A164 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023E508 0023A168 7C 08 02 A6 */ mflr r0
+/* 8023E50C 0023A16C 7C 64 1B 78 */ mr r4, r3
+/* 8023E510 0023A170 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023E514 0023A174 80 63 00 28 */ lwz r3, 0x28(r3)
+/* 8023E518 0023A178 80 84 00 4C */ lwz r4, 0x4c(r4)
+/* 8023E51C 0023A17C 48 02 C1 69 */ bl DCStoreRange
+/* 8023E520 0023A180 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13)
+/* 8023E524 0023A184 A0 03 16 FE */ lhz r0, 0x16fe(r3)
+/* 8023E528 0023A188 60 00 00 02 */ ori r0, r0, 2
+/* 8023E52C 0023A18C B0 03 16 FE */ sth r0, 0x16fe(r3)
+/* 8023E530 0023A190 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023E534 0023A194 7C 08 03 A6 */ mtlr r0
+/* 8023E538 0023A198 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023E53C 0023A19C 4E 80 00 20 */ blr
+
+.global func_8023E540
+func_8023E540:
+/* 8023E540 0023A1A0 A0 63 00 00 */ lhz r3, 0(r3)
+/* 8023E544 0023A1A4 4E 80 00 20 */ blr
+
+.global func_8023E548
+func_8023E548:
+/* 8023E548 0023A1A8 A0 63 00 02 */ lhz r3, 2(r3)
+/* 8023E54C 0023A1AC 4E 80 00 20 */ blr
+
+.global func_8023E550
+func_8023E550:
+/* 8023E550 0023A1B0 88 63 00 05 */ lbz r3, 5(r3)
+/* 8023E554 0023A1B4 38 03 FF FF */ addi r0, r3, -1
+/* 8023E558 0023A1B8 54 03 06 3E */ clrlwi r3, r0, 0x18
+/* 8023E55C 0023A1BC 4E 80 00 20 */ blr
+
+.global func_8023E560
+func_8023E560:
+/* 8023E560 0023A1C0 80 03 00 08 */ lwz r0, 8(r3)
+/* 8023E564 0023A1C4 7C 00 20 00 */ cmpw r0, r4
+/* 8023E568 0023A1C8 40 82 00 0C */ bne lbl_8023E574
+/* 8023E56C 0023A1CC 38 60 00 01 */ li r3, 1
+/* 8023E570 0023A1D0 4E 80 00 20 */ blr
+lbl_8023E574:
+/* 8023E574 0023A1D4 2C 00 00 30 */ cmpwi r0, 0x30
+/* 8023E578 0023A1D8 41 82 00 28 */ beq lbl_8023E5A0
+/* 8023E57C 0023A1DC 40 80 00 18 */ bge lbl_8023E594
+/* 8023E580 0023A1E0 2C 00 00 02 */ cmpwi r0, 2
+/* 8023E584 0023A1E4 40 80 00 24 */ bge lbl_8023E5A8
+/* 8023E588 0023A1E8 2C 00 00 00 */ cmpwi r0, 0
+/* 8023E58C 0023A1EC 40 80 00 14 */ bge lbl_8023E5A0
+/* 8023E590 0023A1F0 48 00 00 18 */ b lbl_8023E5A8
+lbl_8023E594:
+/* 8023E594 0023A1F4 2C 00 00 B0 */ cmpwi r0, 0xb0
+/* 8023E598 0023A1F8 41 82 00 08 */ beq lbl_8023E5A0
+/* 8023E59C 0023A1FC 48 00 00 0C */ b lbl_8023E5A8
+lbl_8023E5A0:
+/* 8023E5A0 0023A200 38 60 00 00 */ li r3, 0
+/* 8023E5A4 0023A204 4E 80 00 20 */ blr
+lbl_8023E5A8:
+/* 8023E5A8 0023A208 2C 04 00 90 */ cmpwi r4, 0x90
+/* 8023E5AC 0023A20C 41 82 00 AC */ beq lbl_8023E658
+/* 8023E5B0 0023A210 40 80 00 48 */ bge lbl_8023E5F8
+/* 8023E5B4 0023A214 2C 04 00 40 */ cmpwi r4, 0x40
+/* 8023E5B8 0023A218 41 82 00 78 */ beq lbl_8023E630
+/* 8023E5BC 0023A21C 40 80 00 24 */ bge lbl_8023E5E0
+/* 8023E5C0 0023A220 2C 04 00 30 */ cmpwi r4, 0x30
+/* 8023E5C4 0023A224 41 82 00 64 */ beq lbl_8023E628
+/* 8023E5C8 0023A228 40 80 00 B8 */ bge lbl_8023E680
+/* 8023E5CC 0023A22C 2C 04 00 02 */ cmpwi r4, 2
+/* 8023E5D0 0023A230 40 80 00 B0 */ bge lbl_8023E680
+/* 8023E5D4 0023A234 2C 04 00 00 */ cmpwi r4, 0
+/* 8023E5D8 0023A238 40 80 00 50 */ bge lbl_8023E628
+/* 8023E5DC 0023A23C 48 00 00 A4 */ b lbl_8023E680
+lbl_8023E5E0:
+/* 8023E5E0 0023A240 2C 04 00 45 */ cmpwi r4, 0x45
+/* 8023E5E4 0023A244 41 82 00 88 */ beq lbl_8023E66C
+/* 8023E5E8 0023A248 40 80 00 98 */ bge lbl_8023E680
+/* 8023E5EC 0023A24C 2C 04 00 43 */ cmpwi r4, 0x43
+/* 8023E5F0 0023A250 40 80 00 68 */ bge lbl_8023E658
+/* 8023E5F4 0023A254 48 00 00 50 */ b lbl_8023E644
+lbl_8023E5F8:
+/* 8023E5F8 0023A258 2C 04 00 A8 */ cmpwi r4, 0xa8
+/* 8023E5FC 0023A25C 41 82 00 34 */ beq lbl_8023E630
+/* 8023E600 0023A260 40 80 00 1C */ bge lbl_8023E61C
+/* 8023E604 0023A264 2C 04 00 A6 */ cmpwi r4, 0xa6
+/* 8023E608 0023A268 41 82 00 50 */ beq lbl_8023E658
+/* 8023E60C 0023A26C 40 80 00 60 */ bge lbl_8023E66C
+/* 8023E610 0023A270 2C 04 00 A0 */ cmpwi r4, 0xa0
+/* 8023E614 0023A274 40 80 00 30 */ bge lbl_8023E644
+/* 8023E618 0023A278 48 00 00 68 */ b lbl_8023E680
+lbl_8023E61C:
+/* 8023E61C 0023A27C 2C 04 00 B0 */ cmpwi r4, 0xb0
+/* 8023E620 0023A280 41 82 00 08 */ beq lbl_8023E628
+/* 8023E624 0023A284 48 00 00 5C */ b lbl_8023E680
+lbl_8023E628:
+/* 8023E628 0023A288 38 60 00 00 */ li r3, 0
+/* 8023E62C 0023A28C 4E 80 00 20 */ blr
+lbl_8023E630:
+/* 8023E630 0023A290 88 63 00 04 */ lbz r3, 4(r3)
+/* 8023E634 0023A294 38 03 FF FC */ addi r0, r3, -4
+/* 8023E638 0023A298 7C 00 00 34 */ cntlzw r0, r0
+/* 8023E63C 0023A29C 54 03 D9 7E */ srwi r3, r0, 5
+/* 8023E640 0023A2A0 4E 80 00 20 */ blr
+lbl_8023E644:
+/* 8023E644 0023A2A4 88 63 00 04 */ lbz r3, 4(r3)
+/* 8023E648 0023A2A8 38 03 FF F8 */ addi r0, r3, -8
+/* 8023E64C 0023A2AC 7C 00 00 34 */ cntlzw r0, r0
+/* 8023E650 0023A2B0 54 03 D9 7E */ srwi r3, r0, 5
+/* 8023E654 0023A2B4 4E 80 00 20 */ blr
+lbl_8023E658:
+/* 8023E658 0023A2B8 88 63 00 04 */ lbz r3, 4(r3)
+/* 8023E65C 0023A2BC 38 03 FF F0 */ addi r0, r3, -16
+/* 8023E660 0023A2C0 7C 00 00 34 */ cntlzw r0, r0
+/* 8023E664 0023A2C4 54 03 D9 7E */ srwi r3, r0, 5
+/* 8023E668 0023A2C8 4E 80 00 20 */ blr
+lbl_8023E66C:
+/* 8023E66C 0023A2CC 88 63 00 04 */ lbz r3, 4(r3)
+/* 8023E670 0023A2D0 38 03 FF E0 */ addi r0, r3, -32
+/* 8023E674 0023A2D4 7C 00 00 34 */ cntlzw r0, r0
+/* 8023E678 0023A2D8 54 03 D9 7E */ srwi r3, r0, 5
+/* 8023E67C 0023A2DC 4E 80 00 20 */ blr
+lbl_8023E680:
+/* 8023E680 0023A2E0 38 60 00 00 */ li r3, 0
+/* 8023E684 0023A2E4 4E 80 00 20 */ blr
+
+.global func_8023E688
+func_8023E688:
+/* 8023E688 0023A2E8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8023E68C 0023A2EC 7C 08 02 A6 */ mflr r0
+/* 8023E690 0023A2F0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8023E694 0023A2F4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8023E698 0023A2F8 7C 9F 23 78 */ mr r31, r4
+/* 8023E69C 0023A2FC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8023E6A0 0023A300 7C 7E 1B 78 */ mr r30, r3
+/* 8023E6A4 0023A304 4B FF FE BD */ bl func_8023E560
+/* 8023E6A8 0023A308 2C 03 00 00 */ cmpwi r3, 0
+/* 8023E6AC 0023A30C 40 82 00 0C */ bne lbl_8023E6B8
+/* 8023E6B0 0023A310 38 60 00 00 */ li r3, 0
+/* 8023E6B4 0023A314 48 00 00 0C */ b lbl_8023E6C0
+lbl_8023E6B8:
+/* 8023E6B8 0023A318 93 FE 00 08 */ stw r31, 8(r30)
+/* 8023E6BC 0023A31C 38 60 00 01 */ li r3, 1
+lbl_8023E6C0:
+/* 8023E6C0 0023A320 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8023E6C4 0023A324 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8023E6C8 0023A328 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8023E6CC 0023A32C 7C 08 03 A6 */ mtlr r0
+/* 8023E6D0 0023A330 38 21 00 10 */ addi r1, r1, 0x10
+/* 8023E6D4 0023A334 4E 80 00 20 */ blr
+
+.global func_8023E6D8
+func_8023E6D8:
+/* 8023E6D8 0023A338 80 63 00 08 */ lwz r3, 8(r3)
+/* 8023E6DC 0023A33C 4E 80 00 20 */ blr
+
+.global func_8023E6E0
+func_8023E6E0:
+/* 8023E6E0 0023A340 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8023E6E4 0023A344 4E 80 00 20 */ blr
+
+.global func_8023E6E8
+func_8023E6E8:
+/* 8023E6E8 0023A348 80 63 00 08 */ lwz r3, 8(r3)
+/* 8023E6EC 0023A34C 4B FF E9 9C */ b func_8023D088
+
+.global func_8023E6F0
+func_8023E6F0:
+/* 8023E6F0 0023A350 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8023E6F4 0023A354 7C 08 02 A6 */ mflr r0
+/* 8023E6F8 0023A358 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8023E6FC 0023A35C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8023E700 0023A360 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8023E704 0023A364 7C 7E 1B 78 */ mr r30, r3
+/* 8023E708 0023A368 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8023E70C 0023A36C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8023E710 0023A370 80 03 00 08 */ lwz r0, 8(r3)
+/* 8023E714 0023A374 2C 00 00 44 */ cmpwi r0, 0x44
+/* 8023E718 0023A378 41 82 00 0C */ beq lbl_8023E724
+/* 8023E71C 0023A37C 2C 00 00 90 */ cmpwi r0, 0x90
+/* 8023E720 0023A380 40 82 01 4C */ bne lbl_8023E86C
+lbl_8023E724:
+/* 8023E724 0023A384 A0 03 00 00 */ lhz r0, 0(r3)
+/* 8023E728 0023A388 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8023E72C 0023A38C 40 82 01 40 */ bne lbl_8023E86C
+/* 8023E730 0023A390 A0 03 00 02 */ lhz r0, 2(r3)
+/* 8023E734 0023A394 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8023E738 0023A398 41 82 00 08 */ beq lbl_8023E740
+/* 8023E73C 0023A39C 48 00 01 30 */ b lbl_8023E86C
+lbl_8023E740:
+/* 8023E740 0023A3A0 7F C3 F3 78 */ mr r3, r30
+/* 8023E744 0023A3A4 38 80 00 00 */ li r4, 0
+/* 8023E748 0023A3A8 4B FF FC ED */ bl func_8023E434
+/* 8023E74C 0023A3AC 7C 7C 1B 78 */ mr r28, r3
+/* 8023E750 0023A3B0 3B E0 00 00 */ li r31, 0
+/* 8023E754 0023A3B4 3F A0 80 49 */ lis r29, 0x8049
+/* 8023E758 0023A3B8 48 00 01 00 */ b lbl_8023E858
+lbl_8023E75C:
+/* 8023E75C 0023A3BC A0 DE 00 00 */ lhz r6, 0(r30)
+/* 8023E760 0023A3C0 38 BD 6B A0 */ addi r5, r29, 0x6ba0
+/* 8023E764 0023A3C4 39 00 00 00 */ li r8, 0
+/* 8023E768 0023A3C8 7C 1F 31 D6 */ mullw r0, r31, r6
+/* 8023E76C 0023A3CC 54 00 08 3C */ slwi r0, r0, 1
+/* 8023E770 0023A3D0 7C FC 02 14 */ add r7, r28, r0
+/* 8023E774 0023A3D4 48 00 00 BC */ b lbl_8023E830
+lbl_8023E778:
+/* 8023E778 0023A3D8 A0 87 00 00 */ lhz r4, 0(r7)
+/* 8023E77C 0023A3DC 38 65 00 08 */ addi r3, r5, 8
+/* 8023E780 0023A3E0 39 08 00 04 */ addi r8, r8, 4
+/* 8023E784 0023A3E4 B0 85 00 00 */ sth r4, 0(r5)
+/* 8023E788 0023A3E8 A0 07 00 02 */ lhz r0, 2(r7)
+/* 8023E78C 0023A3EC B0 05 00 02 */ sth r0, 2(r5)
+/* 8023E790 0023A3F0 A0 07 00 04 */ lhz r0, 4(r7)
+/* 8023E794 0023A3F4 B0 05 00 04 */ sth r0, 4(r5)
+/* 8023E798 0023A3F8 A0 07 00 06 */ lhz r0, 6(r7)
+/* 8023E79C 0023A3FC B0 05 00 06 */ sth r0, 6(r5)
+/* 8023E7A0 0023A400 38 A5 00 08 */ addi r5, r5, 8
+/* 8023E7A4 0023A404 A0 DE 00 00 */ lhz r6, 0(r30)
+/* 8023E7A8 0023A408 A0 87 00 08 */ lhz r4, 8(r7)
+/* 8023E7AC 0023A40C 54 C0 08 3C */ slwi r0, r6, 1
+/* 8023E7B0 0023A410 7C 63 02 14 */ add r3, r3, r0
+/* 8023E7B4 0023A414 B0 83 FF F8 */ sth r4, -8(r3)
+/* 8023E7B8 0023A418 A0 07 00 0A */ lhz r0, 0xa(r7)
+/* 8023E7BC 0023A41C B0 03 FF FA */ sth r0, -6(r3)
+/* 8023E7C0 0023A420 A0 07 00 0C */ lhz r0, 0xc(r7)
+/* 8023E7C4 0023A424 B0 03 FF FC */ sth r0, -4(r3)
+/* 8023E7C8 0023A428 A0 07 00 0E */ lhz r0, 0xe(r7)
+/* 8023E7CC 0023A42C B0 03 FF FE */ sth r0, -2(r3)
+/* 8023E7D0 0023A430 A0 DE 00 00 */ lhz r6, 0(r30)
+/* 8023E7D4 0023A434 A0 87 00 10 */ lhz r4, 0x10(r7)
+/* 8023E7D8 0023A438 54 C0 08 3C */ slwi r0, r6, 1
+/* 8023E7DC 0023A43C 7C 63 02 14 */ add r3, r3, r0
+/* 8023E7E0 0023A440 B0 83 FF F8 */ sth r4, -8(r3)
+/* 8023E7E4 0023A444 A0 07 00 12 */ lhz r0, 0x12(r7)
+/* 8023E7E8 0023A448 B0 03 FF FA */ sth r0, -6(r3)
+/* 8023E7EC 0023A44C A0 07 00 14 */ lhz r0, 0x14(r7)
+/* 8023E7F0 0023A450 B0 03 FF FC */ sth r0, -4(r3)
+/* 8023E7F4 0023A454 A0 07 00 16 */ lhz r0, 0x16(r7)
+/* 8023E7F8 0023A458 B0 03 FF FE */ sth r0, -2(r3)
+/* 8023E7FC 0023A45C A0 DE 00 00 */ lhz r6, 0(r30)
+/* 8023E800 0023A460 A0 87 00 18 */ lhz r4, 0x18(r7)
+/* 8023E804 0023A464 54 C0 08 3C */ slwi r0, r6, 1
+/* 8023E808 0023A468 7C 63 02 14 */ add r3, r3, r0
+/* 8023E80C 0023A46C B0 83 FF F8 */ sth r4, -8(r3)
+/* 8023E810 0023A470 A0 07 00 1A */ lhz r0, 0x1a(r7)
+/* 8023E814 0023A474 B0 03 FF FA */ sth r0, -6(r3)
+/* 8023E818 0023A478 A0 07 00 1C */ lhz r0, 0x1c(r7)
+/* 8023E81C 0023A47C B0 03 FF FC */ sth r0, -4(r3)
+/* 8023E820 0023A480 A0 07 00 1E */ lhz r0, 0x1e(r7)
+/* 8023E824 0023A484 38 E7 00 20 */ addi r7, r7, 0x20
+/* 8023E828 0023A488 B0 03 FF FE */ sth r0, -2(r3)
+/* 8023E82C 0023A48C A0 DE 00 00 */ lhz r6, 0(r30)
+lbl_8023E830:
+/* 8023E830 0023A490 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 8023E834 0023A494 7C 08 00 00 */ cmpw r8, r0
+/* 8023E838 0023A498 41 80 FF 40 */ blt lbl_8023E778
+/* 8023E83C 0023A49C 7C 1F 31 D6 */ mullw r0, r31, r6
+/* 8023E840 0023A4A0 38 9D 6B A0 */ addi r4, r29, 0x6ba0
+/* 8023E844 0023A4A4 54 C5 1B 78 */ rlwinm r5, r6, 3, 0xd, 0x1c
+/* 8023E848 0023A4A8 54 00 08 3C */ slwi r0, r0, 1
+/* 8023E84C 0023A4AC 7C 7C 02 14 */ add r3, r28, r0
+/* 8023E850 0023A4B0 4B DC 57 B1 */ bl memcpy
+/* 8023E854 0023A4B4 3B FF 00 04 */ addi r31, r31, 4
+lbl_8023E858:
+/* 8023E858 0023A4B8 A0 1E 00 02 */ lhz r0, 2(r30)
+/* 8023E85C 0023A4BC 7C 1F 00 00 */ cmpw r31, r0
+/* 8023E860 0023A4C0 41 80 FE FC */ blt lbl_8023E75C
+/* 8023E864 0023A4C4 7F C3 F3 78 */ mr r3, r30
+/* 8023E868 0023A4C8 4B FF FC 59 */ bl func_8023E4C0
+lbl_8023E86C:
+/* 8023E86C 0023A4CC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8023E870 0023A4D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8023E874 0023A4D4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8023E878 0023A4D8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8023E87C 0023A4DC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8023E880 0023A4E0 7C 08 03 A6 */ mtlr r0
+/* 8023E884 0023A4E4 38 21 00 20 */ addi r1, r1, 0x20
+/* 8023E888 0023A4E8 4E 80 00 20 */ blr
+
+.global func_8023E88C
+func_8023E88C:
+/* 8023E88C 0023A4EC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8023E890 0023A4F0 7C 08 02 A6 */ mflr r0
+/* 8023E894 0023A4F4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8023E898 0023A4F8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8023E89C 0023A4FC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8023E8A0 0023A500 7C 7E 1B 78 */ mr r30, r3
+/* 8023E8A4 0023A504 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8023E8A8 0023A508 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8023E8AC 0023A50C 80 03 00 08 */ lwz r0, 8(r3)
+/* 8023E8B0 0023A510 2C 00 00 44 */ cmpwi r0, 0x44
+/* 8023E8B4 0023A514 41 82 00 0C */ beq lbl_8023E8C0
+/* 8023E8B8 0023A518 2C 00 00 90 */ cmpwi r0, 0x90
+/* 8023E8BC 0023A51C 40 82 01 48 */ bne lbl_8023EA04
+lbl_8023E8C0:
+/* 8023E8C0 0023A520 A0 03 00 00 */ lhz r0, 0(r3)
+/* 8023E8C4 0023A524 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8023E8C8 0023A528 40 82 01 3C */ bne lbl_8023EA04
+/* 8023E8CC 0023A52C A0 03 00 02 */ lhz r0, 2(r3)
+/* 8023E8D0 0023A530 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8023E8D4 0023A534 41 82 00 08 */ beq lbl_8023E8DC
+/* 8023E8D8 0023A538 48 00 01 2C */ b lbl_8023EA04
+lbl_8023E8DC:
+/* 8023E8DC 0023A53C 7F C3 F3 78 */ mr r3, r30
+/* 8023E8E0 0023A540 38 80 00 00 */ li r4, 0
+/* 8023E8E4 0023A544 4B FF FB 51 */ bl func_8023E434
+/* 8023E8E8 0023A548 7C 7C 1B 78 */ mr r28, r3
+/* 8023E8EC 0023A54C 3B E0 00 00 */ li r31, 0
+/* 8023E8F0 0023A550 3F A0 80 49 */ lis r29, 0x8049
+/* 8023E8F4 0023A554 48 00 00 FC */ b lbl_8023E9F0
+lbl_8023E8F8:
+/* 8023E8F8 0023A558 38 BD 6B A0 */ addi r5, r29, 0x6ba0
+/* 8023E8FC 0023A55C 38 C0 00 00 */ li r6, 0
+/* 8023E900 0023A560 38 80 00 00 */ li r4, 0
+/* 8023E904 0023A564 48 00 00 C4 */ b lbl_8023E9C8
+lbl_8023E908:
+/* 8023E908 0023A568 7C 7F 19 D6 */ mullw r3, r31, r3
+/* 8023E90C 0023A56C 7C 04 E2 14 */ add r0, r4, r28
+/* 8023E910 0023A570 38 84 00 08 */ addi r4, r4, 8
+/* 8023E914 0023A574 38 C6 00 04 */ addi r6, r6, 4
+/* 8023E918 0023A578 54 63 08 3C */ slwi r3, r3, 1
+/* 8023E91C 0023A57C 7C 03 02 6E */ lhzux r0, r3, r0
+/* 8023E920 0023A580 B0 05 00 00 */ sth r0, 0(r5)
+/* 8023E924 0023A584 A0 03 00 02 */ lhz r0, 2(r3)
+/* 8023E928 0023A588 B0 05 00 02 */ sth r0, 2(r5)
+/* 8023E92C 0023A58C A0 03 00 04 */ lhz r0, 4(r3)
+/* 8023E930 0023A590 B0 05 00 04 */ sth r0, 4(r5)
+/* 8023E934 0023A594 A0 03 00 06 */ lhz r0, 6(r3)
+/* 8023E938 0023A598 38 63 00 08 */ addi r3, r3, 8
+/* 8023E93C 0023A59C B0 05 00 06 */ sth r0, 6(r5)
+/* 8023E940 0023A5A0 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8023E944 0023A5A4 54 00 08 3C */ slwi r0, r0, 1
+/* 8023E948 0023A5A8 7C 63 02 14 */ add r3, r3, r0
+/* 8023E94C 0023A5AC A0 03 FF F8 */ lhz r0, -8(r3)
+/* 8023E950 0023A5B0 B0 05 00 08 */ sth r0, 8(r5)
+/* 8023E954 0023A5B4 A0 03 FF FA */ lhz r0, -6(r3)
+/* 8023E958 0023A5B8 B0 05 00 0A */ sth r0, 0xa(r5)
+/* 8023E95C 0023A5BC A0 03 FF FC */ lhz r0, -4(r3)
+/* 8023E960 0023A5C0 B0 05 00 0C */ sth r0, 0xc(r5)
+/* 8023E964 0023A5C4 A0 03 FF FE */ lhz r0, -2(r3)
+/* 8023E968 0023A5C8 B0 05 00 0E */ sth r0, 0xe(r5)
+/* 8023E96C 0023A5CC A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8023E970 0023A5D0 54 00 08 3C */ slwi r0, r0, 1
+/* 8023E974 0023A5D4 7C 63 02 14 */ add r3, r3, r0
+/* 8023E978 0023A5D8 A0 03 FF F8 */ lhz r0, -8(r3)
+/* 8023E97C 0023A5DC B0 05 00 10 */ sth r0, 0x10(r5)
+/* 8023E980 0023A5E0 A0 03 FF FA */ lhz r0, -6(r3)
+/* 8023E984 0023A5E4 B0 05 00 12 */ sth r0, 0x12(r5)
+/* 8023E988 0023A5E8 A0 03 FF FC */ lhz r0, -4(r3)
+/* 8023E98C 0023A5EC B0 05 00 14 */ sth r0, 0x14(r5)
+/* 8023E990 0023A5F0 A0 03 FF FE */ lhz r0, -2(r3)
+/* 8023E994 0023A5F4 B0 05 00 16 */ sth r0, 0x16(r5)
+/* 8023E998 0023A5F8 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 8023E99C 0023A5FC 54 00 08 3C */ slwi r0, r0, 1
+/* 8023E9A0 0023A600 7C 63 02 14 */ add r3, r3, r0
+/* 8023E9A4 0023A604 A0 03 FF F8 */ lhz r0, -8(r3)
+/* 8023E9A8 0023A608 B0 05 00 18 */ sth r0, 0x18(r5)
+/* 8023E9AC 0023A60C A0 03 FF FA */ lhz r0, -6(r3)
+/* 8023E9B0 0023A610 B0 05 00 1A */ sth r0, 0x1a(r5)
+/* 8023E9B4 0023A614 A0 03 FF FC */ lhz r0, -4(r3)
+/* 8023E9B8 0023A618 B0 05 00 1C */ sth r0, 0x1c(r5)
+/* 8023E9BC 0023A61C A0 03 FF FE */ lhz r0, -2(r3)
+/* 8023E9C0 0023A620 B0 05 00 1E */ sth r0, 0x1e(r5)
+/* 8023E9C4 0023A624 38 A5 00 20 */ addi r5, r5, 0x20
+lbl_8023E9C8:
+/* 8023E9C8 0023A628 A0 7E 00 00 */ lhz r3, 0(r30)
+/* 8023E9CC 0023A62C 7C 06 18 00 */ cmpw r6, r3
+/* 8023E9D0 0023A630 41 80 FF 38 */ blt lbl_8023E908
+/* 8023E9D4 0023A634 7C 1F 19 D6 */ mullw r0, r31, r3
+/* 8023E9D8 0023A638 38 9D 6B A0 */ addi r4, r29, 0x6ba0
+/* 8023E9DC 0023A63C 54 65 1B 78 */ rlwinm r5, r3, 3, 0xd, 0x1c
+/* 8023E9E0 0023A640 54 00 08 3C */ slwi r0, r0, 1
+/* 8023E9E4 0023A644 7C 7C 02 14 */ add r3, r28, r0
+/* 8023E9E8 0023A648 4B DC 56 19 */ bl memcpy
+/* 8023E9EC 0023A64C 3B FF 00 04 */ addi r31, r31, 4
+lbl_8023E9F0:
+/* 8023E9F0 0023A650 A0 1E 00 02 */ lhz r0, 2(r30)
+/* 8023E9F4 0023A654 7C 1F 00 00 */ cmpw r31, r0
+/* 8023E9F8 0023A658 41 80 FF 00 */ blt lbl_8023E8F8
+/* 8023E9FC 0023A65C 7F C3 F3 78 */ mr r3, r30
+/* 8023EA00 0023A660 4B FF FA C1 */ bl func_8023E4C0
+lbl_8023EA04:
+/* 8023EA04 0023A664 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8023EA08 0023A668 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8023EA0C 0023A66C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8023EA10 0023A670 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8023EA14 0023A674 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8023EA18 0023A678 7C 08 03 A6 */ mtlr r0
+/* 8023EA1C 0023A67C 38 21 00 20 */ addi r1, r1, 0x20
+/* 8023EA20 0023A680 4E 80 00 20 */ blr
+
+.global func_8023EA24
+func_8023EA24:
+/* 8023EA24 0023A684 38 A0 00 01 */ li r5, 1
+/* 8023EA28 0023A688 38 6D A4 A0 */ addi r3, r13, lbl_8063F760-_SDA_BASE_
+/* 8023EA2C 0023A68C 38 80 00 04 */ li r4, 4
+/* 8023EA30 0023A690 38 00 00 00 */ li r0, 0
+/* 8023EA34 0023A694 98 AD A4 A0 */ stb r5, lbl_8063F760-_SDA_BASE_(r13)
+/* 8023EA38 0023A698 B0 83 00 02 */ sth r4, 2(r3)
+/* 8023EA3C 0023A69C 98 03 00 04 */ stb r0, 4(r3)
+/* 8023EA40 0023A6A0 4E 80 00 20 */ blr