Files
2020-11-05 11:39:42 -06:00

1002 lines
45 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax"
glabel func_80040B24
/* 80040B24 0003C0E4 38 00 00 10 */ li r0, 0x10
/* 80040B28 0003C0E8 38 C0 00 00 */ li r6, 0
/* 80040B2C 0003C0EC 38 80 00 20 */ li r4, 0x20
/* 80040B30 0003C0F0 7C 09 03 A6 */ mtctr r0
lbl_80040B34:
/* 80040B34 0003C0F4 38 A0 00 80 */ li r5, 0x80
/* 80040B38 0003C0F8 48 00 00 3C */ b lbl_80040B74
lbl_80040B3C:
/* 80040B3C 0003C0FC 88 03 00 00 */ lbz r0, 0(r3)
/* 80040B40 0003C100 54 C6 08 3C */ slwi r6, r6, 1
/* 80040B44 0003C104 7C 00 28 39 */ and. r0, r0, r5
/* 80040B48 0003C108 41 82 00 1C */ beq lbl_80040B64
/* 80040B4C 0003C10C 54 C0 05 EF */ rlwinm. r0, r6, 0, 0x17, 0x17
/* 80040B50 0003C110 41 82 00 0C */ beq lbl_80040B5C
/* 80040B54 0003C114 68 C6 00 84 */ xori r6, r6, 0x84
/* 80040B58 0003C118 48 00 00 18 */ b lbl_80040B70
lbl_80040B5C:
/* 80040B5C 0003C11C 38 C6 00 01 */ addi r6, r6, 1
/* 80040B60 0003C120 48 00 00 10 */ b lbl_80040B70
lbl_80040B64:
/* 80040B64 0003C124 54 C0 05 EF */ rlwinm. r0, r6, 0, 0x17, 0x17
/* 80040B68 0003C128 41 82 00 08 */ beq lbl_80040B70
/* 80040B6C 0003C12C 68 C6 00 85 */ xori r6, r6, 0x85
lbl_80040B70:
/* 80040B70 0003C130 54 A5 F8 7E */ srwi r5, r5, 1
lbl_80040B74:
/* 80040B74 0003C134 2C 05 00 00 */ cmpwi r5, 0
/* 80040B78 0003C138 40 82 FF C4 */ bne lbl_80040B3C
/* 80040B7C 0003C13C 38 A0 00 80 */ li r5, 0x80
/* 80040B80 0003C140 48 00 00 3C */ b lbl_80040BBC
lbl_80040B84:
/* 80040B84 0003C144 88 03 00 01 */ lbz r0, 1(r3)
/* 80040B88 0003C148 54 C6 08 3C */ slwi r6, r6, 1
/* 80040B8C 0003C14C 7C 00 28 39 */ and. r0, r0, r5
/* 80040B90 0003C150 41 82 00 1C */ beq lbl_80040BAC
/* 80040B94 0003C154 54 C0 05 EF */ rlwinm. r0, r6, 0, 0x17, 0x17
/* 80040B98 0003C158 41 82 00 0C */ beq lbl_80040BA4
/* 80040B9C 0003C15C 68 C6 00 84 */ xori r6, r6, 0x84
/* 80040BA0 0003C160 48 00 00 18 */ b lbl_80040BB8
lbl_80040BA4:
/* 80040BA4 0003C164 38 C6 00 01 */ addi r6, r6, 1
/* 80040BA8 0003C168 48 00 00 10 */ b lbl_80040BB8
lbl_80040BAC:
/* 80040BAC 0003C16C 54 C0 05 EF */ rlwinm. r0, r6, 0, 0x17, 0x17
/* 80040BB0 0003C170 41 82 00 08 */ beq lbl_80040BB8
/* 80040BB4 0003C174 68 C6 00 85 */ xori r6, r6, 0x85
lbl_80040BB8:
/* 80040BB8 0003C178 54 A5 F8 7E */ srwi r5, r5, 1
lbl_80040BBC:
/* 80040BBC 0003C17C 2C 05 00 00 */ cmpwi r5, 0
/* 80040BC0 0003C180 40 82 FF C4 */ bne lbl_80040B84
/* 80040BC4 0003C184 38 63 00 02 */ addi r3, r3, 2
/* 80040BC8 0003C188 38 84 FF FE */ addi r4, r4, -2
/* 80040BCC 0003C18C 42 00 FF 68 */ bdnz lbl_80040B34
lbl_80040BD0:
/* 80040BD0 0003C190 54 C6 08 3C */ slwi r6, r6, 1
/* 80040BD4 0003C194 54 C0 05 EF */ rlwinm. r0, r6, 0, 0x17, 0x17
/* 80040BD8 0003C198 41 82 00 08 */ beq lbl_80040BE0
/* 80040BDC 0003C19C 68 C6 00 85 */ xori r6, r6, 0x85
lbl_80040BE0:
/* 80040BE0 0003C1A0 38 84 00 01 */ addi r4, r4, 1
/* 80040BE4 0003C1A4 28 04 00 08 */ cmplwi r4, 8
/* 80040BE8 0003C1A8 41 80 FF E8 */ blt lbl_80040BD0
/* 80040BEC 0003C1AC 54 C3 06 3E */ clrlwi r3, r6, 0x18
/* 80040BF0 0003C1B0 4E 80 00 20 */ blr
glabel func_80040BF4
/* 80040BF4 0003C1B4 88 A6 00 00 */ lbz r5, 0(r6)
/* 80040BF8 0003C1B8 54 E0 10 3A */ slwi r0, r7, 2
/* 80040BFC 0003C1BC 7C 63 02 14 */ add r3, r3, r0
/* 80040C00 0003C1C0 54 A0 06 BE */ clrlwi r0, r5, 0x1a
/* 80040C04 0003C1C4 98 06 00 00 */ stb r0, 0(r6)
/* 80040C08 0003C1C8 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80040C0C 0003C1CC 2C 00 00 01 */ cmpwi r0, 1
/* 80040C10 0003C1D0 41 82 00 58 */ beq lbl_80040C68
/* 80040C14 0003C1D4 40 80 00 10 */ bge lbl_80040C24
/* 80040C18 0003C1D8 2C 00 00 00 */ cmpwi r0, 0
/* 80040C1C 0003C1DC 40 80 00 14 */ bge lbl_80040C30
/* 80040C20 0003C1E0 48 00 00 70 */ b lbl_80040C90
lbl_80040C24:
/* 80040C24 0003C1E4 2C 00 00 03 */ cmpwi r0, 3
/* 80040C28 0003C1E8 40 80 00 68 */ bge lbl_80040C90
/* 80040C2C 0003C1EC 48 00 00 20 */ b lbl_80040C4C
lbl_80040C30:
/* 80040C30 0003C1F0 38 A0 00 05 */ li r5, 5
/* 80040C34 0003C1F4 38 60 00 00 */ li r3, 0
/* 80040C38 0003C1F8 38 00 00 02 */ li r0, 2
/* 80040C3C 0003C1FC 98 A4 00 01 */ stb r5, 1(r4)
/* 80040C40 0003C200 98 64 00 02 */ stb r3, 2(r4)
/* 80040C44 0003C204 98 04 00 03 */ stb r0, 3(r4)
/* 80040C48 0003C208 48 00 00 54 */ b lbl_80040C9C
lbl_80040C4C:
/* 80040C4C 0003C20C 38 A0 00 05 */ li r5, 5
/* 80040C50 0003C210 38 60 00 00 */ li r3, 0
/* 80040C54 0003C214 38 00 00 01 */ li r0, 1
/* 80040C58 0003C218 98 A4 00 01 */ stb r5, 1(r4)
/* 80040C5C 0003C21C 98 64 00 02 */ stb r3, 2(r4)
/* 80040C60 0003C220 98 04 00 03 */ stb r0, 3(r4)
/* 80040C64 0003C224 48 00 00 38 */ b lbl_80040C9C
lbl_80040C68:
/* 80040C68 0003C228 7C E0 00 34 */ cntlzw r0, r7
/* 80040C6C 0003C22C 38 C0 00 05 */ li r6, 5
/* 80040C70 0003C230 54 00 DF FE */ rlwinm r0, r0, 0x1b, 0x1f, 0x1f
/* 80040C74 0003C234 38 A0 00 00 */ li r5, 0
/* 80040C78 0003C238 7C 60 00 D0 */ neg r3, r0
/* 80040C7C 0003C23C 98 C4 00 01 */ stb r6, 1(r4)
/* 80040C80 0003C240 38 03 00 02 */ addi r0, r3, 2
/* 80040C84 0003C244 98 A4 00 02 */ stb r5, 2(r4)
/* 80040C88 0003C248 98 04 00 03 */ stb r0, 3(r4)
/* 80040C8C 0003C24C 48 00 00 10 */ b lbl_80040C9C
lbl_80040C90:
/* 80040C90 0003C250 88 06 00 00 */ lbz r0, 0(r6)
/* 80040C94 0003C254 60 00 00 C0 */ ori r0, r0, 0xc0
/* 80040C98 0003C258 98 06 00 00 */ stb r0, 0(r6)
lbl_80040C9C:
/* 80040C9C 0003C25C 38 60 00 01 */ li r3, 1
/* 80040CA0 0003C260 4E 80 00 20 */ blr
glabel func_80040CA4
/* 80040CA4 0003C264 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040CA8 0003C268 7C 08 02 A6 */ mflr r0
/* 80040CAC 0003C26C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040CB0 0003C270 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80040CB4 0003C274 7C 9F 23 78 */ mr r31, r4
/* 80040CB8 0003C278 88 04 00 00 */ lbz r0, 0(r4)
/* 80040CBC 0003C27C 2C 00 00 06 */ cmpwi r0, 6
/* 80040CC0 0003C280 41 82 02 B8 */ beq lbl_80040F78
/* 80040CC4 0003C284 40 80 00 30 */ bge lbl_80040CF4
/* 80040CC8 0003C288 2C 00 00 02 */ cmpwi r0, 2
/* 80040CCC 0003C28C 41 82 00 C0 */ beq lbl_80040D8C
/* 80040CD0 0003C290 40 80 00 14 */ bge lbl_80040CE4
/* 80040CD4 0003C294 2C 00 00 00 */ cmpwi r0, 0
/* 80040CD8 0003C298 41 82 00 4C */ beq lbl_80040D24
/* 80040CDC 0003C29C 40 80 00 84 */ bge lbl_80040D60
/* 80040CE0 0003C2A0 48 00 02 DC */ b lbl_80040FBC
lbl_80040CE4:
/* 80040CE4 0003C2A4 2C 00 00 04 */ cmpwi r0, 4
/* 80040CE8 0003C2A8 41 82 02 48 */ beq lbl_80040F30
/* 80040CEC 0003C2AC 40 80 02 68 */ bge lbl_80040F54
/* 80040CF0 0003C2B0 48 00 01 B4 */ b lbl_80040EA4
lbl_80040CF4:
/* 80040CF4 0003C2B4 2C 00 00 FE */ cmpwi r0, 0xfe
/* 80040CF8 0003C2B8 41 82 02 CC */ beq lbl_80040FC4
/* 80040CFC 0003C2BC 40 80 00 1C */ bge lbl_80040D18
/* 80040D00 0003C2C0 2C 00 00 08 */ cmpwi r0, 8
/* 80040D04 0003C2C4 41 82 02 AC */ beq lbl_80040FB0
/* 80040D08 0003C2C8 41 80 02 8C */ blt lbl_80040F94
/* 80040D0C 0003C2CC 2C 00 00 0E */ cmpwi r0, 0xe
/* 80040D10 0003C2D0 40 80 02 AC */ bge lbl_80040FBC
/* 80040D14 0003C2D4 48 00 02 B0 */ b lbl_80040FC4
lbl_80040D18:
/* 80040D18 0003C2D8 2C 00 01 00 */ cmpwi r0, 0x100
/* 80040D1C 0003C2DC 40 80 02 A0 */ bge lbl_80040FBC
/* 80040D20 0003C2E0 48 00 00 2C */ b lbl_80040D4C
lbl_80040D24:
/* 80040D24 0003C2E4 54 E0 F0 02 */ slwi r0, r7, 0x1e
/* 80040D28 0003C2E8 54 E7 0F FE */ srwi r7, r7, 0x1f
/* 80040D2C 0003C2EC 7C 07 00 50 */ subf r0, r7, r0
/* 80040D30 0003C2F0 54 00 10 3E */ rotlwi r0, r0, 2
/* 80040D34 0003C2F4 7C E0 3A 14 */ add r7, r0, r7
/* 80040D38 0003C2F8 4B FF FE BD */ bl func_80040BF4
/* 80040D3C 0003C2FC 2C 03 00 00 */ cmpwi r3, 0
/* 80040D40 0003C300 40 82 02 84 */ bne lbl_80040FC4
/* 80040D44 0003C304 38 60 00 00 */ li r3, 0
/* 80040D48 0003C308 48 00 02 80 */ b lbl_80040FC8
lbl_80040D4C:
/* 80040D4C 0003C30C 4B FF FE A9 */ bl func_80040BF4
/* 80040D50 0003C310 2C 03 00 00 */ cmpwi r3, 0
/* 80040D54 0003C314 40 82 02 70 */ bne lbl_80040FC4
/* 80040D58 0003C318 38 60 00 00 */ li r3, 0
/* 80040D5C 0003C31C 48 00 02 6C */ b lbl_80040FC8
lbl_80040D60:
/* 80040D60 0003C320 80 6D 89 20 */ lwz r3, gSystem-_SDA_BASE_(r13)
/* 80040D64 0003C324 7C E4 3B 78 */ mr r4, r7
/* 80040D68 0003C328 38 BF 00 01 */ addi r5, r31, 1
/* 80040D6C 0003C32C 80 63 00 68 */ lwz r3, 0x68(r3)
/* 80040D70 0003C330 48 02 20 ED */ bl func_80062E5C
/* 80040D74 0003C334 7C 03 00 D0 */ neg r0, r3
/* 80040D78 0003C338 7C 00 1B 78 */ or r0, r0, r3
/* 80040D7C 0003C33C 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 80040D80 0003C340 40 82 02 44 */ bne lbl_80040FC4
/* 80040D84 0003C344 38 60 00 00 */ li r3, 0
/* 80040D88 0003C348 48 00 02 40 */ b lbl_80040FC8
lbl_80040D8C:
/* 80040D8C 0003C34C 54 E0 10 3A */ slwi r0, r7, 2
/* 80040D90 0003C350 88 A4 00 02 */ lbz r5, 2(r4)
/* 80040D94 0003C354 7C 63 02 14 */ add r3, r3, r0
/* 80040D98 0003C358 88 C4 00 01 */ lbz r6, 1(r4)
/* 80040D9C 0003C35C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80040DA0 0003C360 7C A5 2E 70 */ srawi r5, r5, 5
/* 80040DA4 0003C364 50 C5 1D 78 */ rlwimi r5, r6, 3, 0x15, 0x1c
/* 80040DA8 0003C368 38 C4 00 03 */ addi r6, r4, 3
/* 80040DAC 0003C36C 2C 00 00 02 */ cmpwi r0, 2
/* 80040DB0 0003C370 41 82 00 14 */ beq lbl_80040DC4
/* 80040DB4 0003C374 40 80 00 E0 */ bge lbl_80040E94
/* 80040DB8 0003C378 2C 00 00 01 */ cmpwi r0, 1
/* 80040DBC 0003C37C 40 80 00 C4 */ bge lbl_80040E80
/* 80040DC0 0003C380 48 00 00 D4 */ b lbl_80040E94
lbl_80040DC4:
/* 80040DC4 0003C384 54 A7 04 3E */ clrlwi r7, r5, 0x10
/* 80040DC8 0003C388 38 00 00 04 */ li r0, 4
/* 80040DCC 0003C38C 38 A7 FC 00 */ addi r5, r7, -1024
/* 80040DD0 0003C390 7C 09 03 A6 */ mtctr r0
lbl_80040DD4:
/* 80040DD4 0003C394 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040DD8 0003C398 7C A4 20 F8 */ nor r4, r5, r4
/* 80040DDC 0003C39C 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040DE0 0003C3A0 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040DE4 0003C3A4 7C A4 20 F8 */ nor r4, r5, r4
/* 80040DE8 0003C3A8 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040DEC 0003C3AC 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040DF0 0003C3B0 98 06 00 00 */ stb r0, 0(r6)
/* 80040DF4 0003C3B4 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040DF8 0003C3B8 7C A4 20 F8 */ nor r4, r5, r4
/* 80040DFC 0003C3BC 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040E00 0003C3C0 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040E04 0003C3C4 98 06 00 01 */ stb r0, 1(r6)
/* 80040E08 0003C3C8 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040E0C 0003C3CC 7C A4 20 F8 */ nor r4, r5, r4
/* 80040E10 0003C3D0 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040E14 0003C3D4 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040E18 0003C3D8 98 06 00 02 */ stb r0, 2(r6)
/* 80040E1C 0003C3DC 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040E20 0003C3E0 7C A4 20 F8 */ nor r4, r5, r4
/* 80040E24 0003C3E4 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040E28 0003C3E8 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040E2C 0003C3EC 98 06 00 03 */ stb r0, 3(r6)
/* 80040E30 0003C3F0 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040E34 0003C3F4 7C A4 20 F8 */ nor r4, r5, r4
/* 80040E38 0003C3F8 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040E3C 0003C3FC 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040E40 0003C400 98 06 00 04 */ stb r0, 4(r6)
/* 80040E44 0003C404 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040E48 0003C408 7C A4 20 F8 */ nor r4, r5, r4
/* 80040E4C 0003C40C 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040E50 0003C410 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040E54 0003C414 98 06 00 05 */ stb r0, 5(r6)
/* 80040E58 0003C418 20 87 04 00 */ subfic r4, r7, 0x400
/* 80040E5C 0003C41C 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040E60 0003C420 7C A4 20 F8 */ nor r4, r5, r4
/* 80040E64 0003C424 98 06 00 06 */ stb r0, 6(r6)
/* 80040E68 0003C428 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 80040E6C 0003C42C 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 80040E70 0003C430 98 06 00 07 */ stb r0, 7(r6)
/* 80040E74 0003C434 38 C6 00 08 */ addi r6, r6, 8
/* 80040E78 0003C438 42 00 FF 5C */ bdnz lbl_80040DD4
/* 80040E7C 0003C43C 48 00 00 18 */ b lbl_80040E94
lbl_80040E80:
/* 80040E80 0003C440 80 6D 89 20 */ lwz r3, gSystem-_SDA_BASE_(r13)
/* 80040E84 0003C444 7C E4 3B 78 */ mr r4, r7
/* 80040E88 0003C448 54 A5 04 3E */ clrlwi r5, r5, 0x10
/* 80040E8C 0003C44C 80 63 00 44 */ lwz r3, 0x44(r3)
/* 80040E90 0003C450 48 00 38 79 */ bl func_80044708
lbl_80040E94:
/* 80040E94 0003C454 38 7F 00 03 */ addi r3, r31, 3
/* 80040E98 0003C458 4B FF FC 8D */ bl func_80040B24
/* 80040E9C 0003C45C 98 7F 00 23 */ stb r3, 0x23(r31)
/* 80040EA0 0003C460 48 00 01 24 */ b lbl_80040FC4
lbl_80040EA4:
/* 80040EA4 0003C464 54 E0 10 3A */ slwi r0, r7, 2
/* 80040EA8 0003C468 88 A4 00 02 */ lbz r5, 2(r4)
/* 80040EAC 0003C46C 7C 63 02 14 */ add r3, r3, r0
/* 80040EB0 0003C470 88 C4 00 01 */ lbz r6, 1(r4)
/* 80040EB4 0003C474 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80040EB8 0003C478 7C A5 2E 70 */ srawi r5, r5, 5
/* 80040EBC 0003C47C 50 C5 1D 78 */ rlwimi r5, r6, 3, 0x15, 0x1c
/* 80040EC0 0003C480 38 C4 00 03 */ addi r6, r4, 3
/* 80040EC4 0003C484 2C 00 00 02 */ cmpwi r0, 2
/* 80040EC8 0003C488 41 82 00 14 */ beq lbl_80040EDC
/* 80040ECC 0003C48C 40 80 00 54 */ bge lbl_80040F20
/* 80040ED0 0003C490 2C 00 00 01 */ cmpwi r0, 1
/* 80040ED4 0003C494 40 80 00 38 */ bge lbl_80040F0C
/* 80040ED8 0003C498 48 00 00 48 */ b lbl_80040F20
lbl_80040EDC:
/* 80040EDC 0003C49C 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 80040EE0 0003C4A0 28 00 06 00 */ cmplwi r0, 0x600
/* 80040EE4 0003C4A4 40 82 00 3C */ bne lbl_80040F20
/* 80040EE8 0003C4A8 88 66 00 00 */ lbz r3, 0(r6)
/* 80040EEC 0003C4AC 7C E4 3B 78 */ mr r4, r7
/* 80040EF0 0003C4B0 80 AD 89 20 */ lwz r5, gSystem-_SDA_BASE_(r13)
/* 80040EF4 0003C4B4 7C 03 00 D0 */ neg r0, r3
/* 80040EF8 0003C4B8 7C 00 1B 78 */ or r0, r0, r3
/* 80040EFC 0003C4BC 80 65 00 68 */ lwz r3, 0x68(r5)
/* 80040F00 0003C4C0 54 05 0F FE */ srwi r5, r0, 0x1f
/* 80040F04 0003C4C4 48 02 1D E1 */ bl func_80062CE4
/* 80040F08 0003C4C8 48 00 00 18 */ b lbl_80040F20
lbl_80040F0C:
/* 80040F0C 0003C4CC 80 6D 89 20 */ lwz r3, gSystem-_SDA_BASE_(r13)
/* 80040F10 0003C4D0 7C E4 3B 78 */ mr r4, r7
/* 80040F14 0003C4D4 54 A5 04 3E */ clrlwi r5, r5, 0x10
/* 80040F18 0003C4D8 80 63 00 44 */ lwz r3, 0x44(r3)
/* 80040F1C 0003C4DC 48 00 38 61 */ bl func_8004477C
lbl_80040F20:
/* 80040F20 0003C4E0 38 7F 00 03 */ addi r3, r31, 3
/* 80040F24 0003C4E4 4B FF FC 01 */ bl func_80040B24
/* 80040F28 0003C4E8 98 7F 00 23 */ stb r3, 0x23(r31)
/* 80040F2C 0003C4EC 48 00 00 98 */ b lbl_80040FC4
lbl_80040F30:
/* 80040F30 0003C4F0 80 6D 89 20 */ lwz r3, gSystem-_SDA_BASE_(r13)
/* 80040F34 0003C4F4 38 BF 00 02 */ addi r5, r31, 2
/* 80040F38 0003C4F8 88 84 00 01 */ lbz r4, 1(r4)
/* 80040F3C 0003C4FC 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 80040F40 0003C500 48 00 43 21 */ bl func_80045260
/* 80040F44 0003C504 2C 03 00 00 */ cmpwi r3, 0
/* 80040F48 0003C508 40 82 00 7C */ bne lbl_80040FC4
/* 80040F4C 0003C50C 38 60 00 00 */ li r3, 0
/* 80040F50 0003C510 48 00 00 78 */ b lbl_80040FC8
lbl_80040F54:
/* 80040F54 0003C514 80 6D 89 20 */ lwz r3, gSystem-_SDA_BASE_(r13)
/* 80040F58 0003C518 38 BF 00 02 */ addi r5, r31, 2
/* 80040F5C 0003C51C 88 84 00 01 */ lbz r4, 1(r4)
/* 80040F60 0003C520 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 80040F64 0003C524 48 00 43 4D */ bl func_800452B0
/* 80040F68 0003C528 2C 03 00 00 */ cmpwi r3, 0
/* 80040F6C 0003C52C 40 82 00 58 */ bne lbl_80040FC4
/* 80040F70 0003C530 38 60 00 00 */ li r3, 0
/* 80040F74 0003C534 48 00 00 54 */ b lbl_80040FC8
lbl_80040F78:
/* 80040F78 0003C538 38 A0 00 00 */ li r5, 0
/* 80040F7C 0003C53C 38 60 00 10 */ li r3, 0x10
/* 80040F80 0003C540 38 00 00 80 */ li r0, 0x80
/* 80040F84 0003C544 98 A4 00 01 */ stb r5, 1(r4)
/* 80040F88 0003C548 98 64 00 02 */ stb r3, 2(r4)
/* 80040F8C 0003C54C 98 04 00 03 */ stb r0, 3(r4)
/* 80040F90 0003C550 48 00 00 34 */ b lbl_80040FC4
lbl_80040F94:
/* 80040F94 0003C554 38 A0 00 02 */ li r5, 2
/* 80040F98 0003C558 38 60 00 59 */ li r3, 0x59
/* 80040F9C 0003C55C 38 00 00 23 */ li r0, 0x23
/* 80040FA0 0003C560 98 A4 00 03 */ stb r5, 3(r4)
/* 80040FA4 0003C564 98 64 00 06 */ stb r3, 6(r4)
/* 80040FA8 0003C568 98 04 00 07 */ stb r0, 7(r4)
/* 80040FAC 0003C56C 48 00 00 18 */ b lbl_80040FC4
lbl_80040FB0:
/* 80040FB0 0003C570 38 00 00 00 */ li r0, 0
/* 80040FB4 0003C574 98 04 00 0A */ stb r0, 0xa(r4)
/* 80040FB8 0003C578 48 00 00 0C */ b lbl_80040FC4
lbl_80040FBC:
/* 80040FBC 0003C57C 38 60 00 00 */ li r3, 0
/* 80040FC0 0003C580 48 00 00 08 */ b lbl_80040FC8
lbl_80040FC4:
/* 80040FC4 0003C584 38 60 00 01 */ li r3, 1
lbl_80040FC8:
/* 80040FC8 0003C588 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040FCC 0003C58C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80040FD0 0003C590 7C 08 03 A6 */ mtlr r0
/* 80040FD4 0003C594 38 21 00 10 */ addi r1, r1, 0x10
/* 80040FD8 0003C598 4E 80 00 20 */ blr
glabel func_80040FDC
/* 80040FDC 0003C59C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80040FE0 0003C5A0 7C 08 02 A6 */ mflr r0
/* 80040FE4 0003C5A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80040FE8 0003C5A8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80040FEC 0003C5AC 3B E0 00 00 */ li r31, 0
/* 80040FF0 0003C5B0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80040FF4 0003C5B4 3B C0 00 00 */ li r30, 0
/* 80040FF8 0003C5B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80040FFC 0003C5BC 7C 7D 1B 78 */ mr r29, r3
/* 80041000 0003C5C0 48 00 01 30 */ b lbl_80041130
lbl_80041004:
/* 80041004 0003C5C4 7C 68 FA 14 */ add r3, r8, r31
/* 80041008 0003C5C8 48 00 00 10 */ b lbl_80041018
lbl_8004100C:
/* 8004100C 0003C5CC 38 84 00 01 */ addi r4, r4, 1
/* 80041010 0003C5D0 3B FF 00 01 */ addi r31, r31, 1
/* 80041014 0003C5D4 38 63 00 01 */ addi r3, r3, 1
lbl_80041018:
/* 80041018 0003C5D8 88 04 00 00 */ lbz r0, 0(r4)
/* 8004101C 0003C5DC 28 00 00 FF */ cmplwi r0, 0xff
/* 80041020 0003C5E0 41 82 FF EC */ beq lbl_8004100C
/* 80041024 0003C5E4 88 03 00 00 */ lbz r0, 0(r3)
/* 80041028 0003C5E8 28 00 00 FD */ cmplwi r0, 0xfd
/* 8004102C 0003C5EC 41 82 FF E0 */ beq lbl_8004100C
/* 80041030 0003C5F0 28 00 00 FE */ cmplwi r0, 0xfe
/* 80041034 0003C5F4 41 82 01 1C */ beq lbl_80041150
/* 80041038 0003C5F8 7C 08 F8 AE */ lbzx r0, r8, r31
/* 8004103C 0003C5FC 7C A8 FA 14 */ add r5, r8, r31
/* 80041040 0003C600 3B FF 00 01 */ addi r31, r31, 1
/* 80041044 0003C604 2C 00 00 00 */ cmpwi r0, 0
/* 80041048 0003C608 40 82 00 0C */ bne lbl_80041054
/* 8004104C 0003C60C 3B DE 00 01 */ addi r30, r30, 1
/* 80041050 0003C610 48 00 00 E0 */ b lbl_80041130
lbl_80041054:
/* 80041054 0003C614 7C C8 FA 14 */ add r6, r8, r31
/* 80041058 0003C618 3B FF 00 01 */ addi r31, r31, 1
/* 8004105C 0003C61C 7F A3 EB 78 */ mr r3, r29
/* 80041060 0003C620 7F C7 F3 78 */ mr r7, r30
/* 80041064 0003C624 7C 88 FA 14 */ add r4, r8, r31
/* 80041068 0003C628 4B FF FC 3D */ bl func_80040CA4
/* 8004106C 0003C62C 2C 03 00 00 */ cmpwi r3, 0
/* 80041070 0003C630 40 82 00 0C */ bne lbl_8004107C
/* 80041074 0003C634 38 60 00 00 */ li r3, 0
/* 80041078 0003C638 48 00 00 E4 */ b lbl_8004115C
lbl_8004107C:
/* 8004107C 0003C63C 80 7D 00 04 */ lwz r3, 4(r29)
/* 80041080 0003C640 3B DE 00 01 */ addi r30, r30, 1
/* 80041084 0003C644 7C 03 F8 AE */ lbzx r0, r3, r31
/* 80041088 0003C648 2C 00 00 07 */ cmpwi r0, 7
/* 8004108C 0003C64C 41 82 00 84 */ beq lbl_80041110
/* 80041090 0003C650 40 80 00 30 */ bge lbl_800410C0
/* 80041094 0003C654 2C 00 00 01 */ cmpwi r0, 1
/* 80041098 0003C658 41 82 00 58 */ beq lbl_800410F0
/* 8004109C 0003C65C 40 80 00 10 */ bge lbl_800410AC
/* 800410A0 0003C660 2C 00 00 00 */ cmpwi r0, 0
/* 800410A4 0003C664 40 80 00 44 */ bge lbl_800410E8
/* 800410A8 0003C668 48 00 00 80 */ b lbl_80041128
lbl_800410AC:
/* 800410AC 0003C66C 2C 00 00 06 */ cmpwi r0, 6
/* 800410B0 0003C670 40 80 00 58 */ bge lbl_80041108
/* 800410B4 0003C674 2C 00 00 04 */ cmpwi r0, 4
/* 800410B8 0003C678 40 80 00 48 */ bge lbl_80041100
/* 800410BC 0003C67C 48 00 00 3C */ b lbl_800410F8
lbl_800410C0:
/* 800410C0 0003C680 2C 00 00 FE */ cmpwi r0, 0xfe
/* 800410C4 0003C684 41 82 00 5C */ beq lbl_80041120
/* 800410C8 0003C688 40 80 00 18 */ bge lbl_800410E0
/* 800410CC 0003C68C 2C 00 00 0E */ cmpwi r0, 0xe
/* 800410D0 0003C690 40 80 00 58 */ bge lbl_80041128
/* 800410D4 0003C694 2C 00 00 09 */ cmpwi r0, 9
/* 800410D8 0003C698 40 80 00 48 */ bge lbl_80041120
/* 800410DC 0003C69C 48 00 00 3C */ b lbl_80041118
lbl_800410E0:
/* 800410E0 0003C6A0 2C 00 01 00 */ cmpwi r0, 0x100
/* 800410E4 0003C6A4 40 80 00 44 */ bge lbl_80041128
lbl_800410E8:
/* 800410E8 0003C6A8 3B FF 00 04 */ addi r31, r31, 4
/* 800410EC 0003C6AC 48 00 00 44 */ b lbl_80041130
lbl_800410F0:
/* 800410F0 0003C6B0 3B FF 00 05 */ addi r31, r31, 5
/* 800410F4 0003C6B4 48 00 00 3C */ b lbl_80041130
lbl_800410F8:
/* 800410F8 0003C6B8 3B FF 00 24 */ addi r31, r31, 0x24
/* 800410FC 0003C6BC 48 00 00 34 */ b lbl_80041130
lbl_80041100:
/* 80041100 0003C6C0 3B FF 00 0A */ addi r31, r31, 0xa
/* 80041104 0003C6C4 48 00 00 2C */ b lbl_80041130
lbl_80041108:
/* 80041108 0003C6C8 3B FF 00 04 */ addi r31, r31, 4
/* 8004110C 0003C6CC 48 00 00 24 */ b lbl_80041130
lbl_80041110:
/* 80041110 0003C6D0 3B FF 00 0B */ addi r31, r31, 0xb
/* 80041114 0003C6D4 48 00 00 1C */ b lbl_80041130
lbl_80041118:
/* 80041118 0003C6D8 3B FF 00 0B */ addi r31, r31, 0xb
/* 8004111C 0003C6DC 48 00 00 14 */ b lbl_80041130
lbl_80041120:
/* 80041120 0003C6E0 38 60 00 00 */ li r3, 0
/* 80041124 0003C6E4 48 00 00 38 */ b lbl_8004115C
lbl_80041128:
/* 80041128 0003C6E8 38 60 00 00 */ li r3, 0
/* 8004112C 0003C6EC 48 00 00 30 */ b lbl_8004115C
lbl_80041130:
/* 80041130 0003C6F0 81 1D 00 04 */ lwz r8, 4(r29)
/* 80041134 0003C6F4 7C 08 F8 AE */ lbzx r0, r8, r31
/* 80041138 0003C6F8 7C 88 FA 14 */ add r4, r8, r31
/* 8004113C 0003C6FC 28 00 00 FE */ cmplwi r0, 0xfe
/* 80041140 0003C700 41 82 00 10 */ beq lbl_80041150
/* 80041144 0003C704 88 04 00 01 */ lbz r0, 1(r4)
/* 80041148 0003C708 28 00 00 FE */ cmplwi r0, 0xfe
/* 8004114C 0003C70C 40 82 FE B8 */ bne lbl_80041004
lbl_80041150:
/* 80041150 0003C710 38 00 00 00 */ li r0, 0
/* 80041154 0003C714 38 60 00 01 */ li r3, 1
/* 80041158 0003C718 98 08 00 3F */ stb r0, 0x3f(r8)
lbl_8004115C:
/* 8004115C 0003C71C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80041160 0003C720 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80041164 0003C724 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80041168 0003C728 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8004116C 0003C72C 7C 08 03 A6 */ mtlr r0
/* 80041170 0003C730 38 21 00 20 */ addi r1, r1, 0x20
/* 80041174 0003C734 4E 80 00 20 */ blr
glabel func_80041178
/* 80041178 0003C738 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004117C 0003C73C 7C 08 02 A6 */ mflr r0
/* 80041180 0003C740 90 01 00 24 */ stw r0, 0x24(r1)
/* 80041184 0003C744 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80041188 0003C748 3B E0 00 00 */ li r31, 0
/* 8004118C 0003C74C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80041190 0003C750 3B C0 00 00 */ li r30, 0
/* 80041194 0003C754 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80041198 0003C758 7C 7D 1B 78 */ mr r29, r3
/* 8004119C 0003C75C 48 00 01 3C */ b lbl_800412D8
lbl_800411A0:
/* 800411A0 0003C760 7C 67 FA 14 */ add r3, r7, r31
/* 800411A4 0003C764 48 00 00 10 */ b lbl_800411B4
lbl_800411A8:
/* 800411A8 0003C768 38 84 00 01 */ addi r4, r4, 1
/* 800411AC 0003C76C 3B FF 00 01 */ addi r31, r31, 1
/* 800411B0 0003C770 38 63 00 01 */ addi r3, r3, 1
lbl_800411B4:
/* 800411B4 0003C774 88 04 00 00 */ lbz r0, 0(r4)
/* 800411B8 0003C778 28 00 00 FF */ cmplwi r0, 0xff
/* 800411BC 0003C77C 41 82 FF EC */ beq lbl_800411A8
/* 800411C0 0003C780 88 03 00 00 */ lbz r0, 0(r3)
/* 800411C4 0003C784 28 00 00 FD */ cmplwi r0, 0xfd
/* 800411C8 0003C788 41 82 FF E0 */ beq lbl_800411A8
/* 800411CC 0003C78C 28 00 00 FE */ cmplwi r0, 0xfe
/* 800411D0 0003C790 41 82 01 28 */ beq lbl_800412F8
/* 800411D4 0003C794 7C 07 F8 AE */ lbzx r0, r7, r31
/* 800411D8 0003C798 7C A7 FA 14 */ add r5, r7, r31
/* 800411DC 0003C79C 3B FF 00 01 */ addi r31, r31, 1
/* 800411E0 0003C7A0 2C 00 00 00 */ cmpwi r0, 0
/* 800411E4 0003C7A4 40 82 00 0C */ bne lbl_800411F0
/* 800411E8 0003C7A8 3B DE 00 01 */ addi r30, r30, 1
/* 800411EC 0003C7AC 48 00 00 EC */ b lbl_800412D8
lbl_800411F0:
/* 800411F0 0003C7B0 7C C7 FA 14 */ add r6, r7, r31
/* 800411F4 0003C7B4 3B FF 00 01 */ addi r31, r31, 1
/* 800411F8 0003C7B8 7C 07 F8 AE */ lbzx r0, r7, r31
/* 800411FC 0003C7BC 7C 87 FA 14 */ add r4, r7, r31
/* 80041200 0003C7C0 28 00 00 01 */ cmplwi r0, 1
/* 80041204 0003C7C4 40 82 00 20 */ bne lbl_80041224
/* 80041208 0003C7C8 7F A3 EB 78 */ mr r3, r29
/* 8004120C 0003C7CC 7F C7 F3 78 */ mr r7, r30
/* 80041210 0003C7D0 4B FF FA 95 */ bl func_80040CA4
/* 80041214 0003C7D4 2C 03 00 00 */ cmpwi r3, 0
/* 80041218 0003C7D8 40 82 00 0C */ bne lbl_80041224
/* 8004121C 0003C7DC 38 60 00 00 */ li r3, 0
/* 80041220 0003C7E0 48 00 00 E4 */ b lbl_80041304
lbl_80041224:
/* 80041224 0003C7E4 80 7D 00 04 */ lwz r3, 4(r29)
/* 80041228 0003C7E8 3B DE 00 01 */ addi r30, r30, 1
/* 8004122C 0003C7EC 7C 03 F8 AE */ lbzx r0, r3, r31
/* 80041230 0003C7F0 2C 00 00 07 */ cmpwi r0, 7
/* 80041234 0003C7F4 41 82 00 84 */ beq lbl_800412B8
/* 80041238 0003C7F8 40 80 00 30 */ bge lbl_80041268
/* 8004123C 0003C7FC 2C 00 00 01 */ cmpwi r0, 1
/* 80041240 0003C800 41 82 00 58 */ beq lbl_80041298
/* 80041244 0003C804 40 80 00 10 */ bge lbl_80041254
/* 80041248 0003C808 2C 00 00 00 */ cmpwi r0, 0
/* 8004124C 0003C80C 40 80 00 44 */ bge lbl_80041290
/* 80041250 0003C810 48 00 00 80 */ b lbl_800412D0
lbl_80041254:
/* 80041254 0003C814 2C 00 00 06 */ cmpwi r0, 6
/* 80041258 0003C818 40 80 00 58 */ bge lbl_800412B0
/* 8004125C 0003C81C 2C 00 00 04 */ cmpwi r0, 4
/* 80041260 0003C820 40 80 00 48 */ bge lbl_800412A8
/* 80041264 0003C824 48 00 00 3C */ b lbl_800412A0
lbl_80041268:
/* 80041268 0003C828 2C 00 00 FE */ cmpwi r0, 0xfe
/* 8004126C 0003C82C 41 82 00 5C */ beq lbl_800412C8
/* 80041270 0003C830 40 80 00 18 */ bge lbl_80041288
/* 80041274 0003C834 2C 00 00 0E */ cmpwi r0, 0xe
/* 80041278 0003C838 40 80 00 58 */ bge lbl_800412D0
/* 8004127C 0003C83C 2C 00 00 09 */ cmpwi r0, 9
/* 80041280 0003C840 40 80 00 48 */ bge lbl_800412C8
/* 80041284 0003C844 48 00 00 3C */ b lbl_800412C0
lbl_80041288:
/* 80041288 0003C848 2C 00 01 00 */ cmpwi r0, 0x100
/* 8004128C 0003C84C 40 80 00 44 */ bge lbl_800412D0
lbl_80041290:
/* 80041290 0003C850 3B FF 00 04 */ addi r31, r31, 4
/* 80041294 0003C854 48 00 00 44 */ b lbl_800412D8
lbl_80041298:
/* 80041298 0003C858 3B FF 00 05 */ addi r31, r31, 5
/* 8004129C 0003C85C 48 00 00 3C */ b lbl_800412D8
lbl_800412A0:
/* 800412A0 0003C860 3B FF 00 24 */ addi r31, r31, 0x24
/* 800412A4 0003C864 48 00 00 34 */ b lbl_800412D8
lbl_800412A8:
/* 800412A8 0003C868 3B FF 00 0A */ addi r31, r31, 0xa
/* 800412AC 0003C86C 48 00 00 2C */ b lbl_800412D8
lbl_800412B0:
/* 800412B0 0003C870 3B FF 00 04 */ addi r31, r31, 4
/* 800412B4 0003C874 48 00 00 24 */ b lbl_800412D8
lbl_800412B8:
/* 800412B8 0003C878 3B FF 00 0B */ addi r31, r31, 0xb
/* 800412BC 0003C87C 48 00 00 1C */ b lbl_800412D8
lbl_800412C0:
/* 800412C0 0003C880 3B FF 00 0B */ addi r31, r31, 0xb
/* 800412C4 0003C884 48 00 00 14 */ b lbl_800412D8
lbl_800412C8:
/* 800412C8 0003C888 38 60 00 00 */ li r3, 0
/* 800412CC 0003C88C 48 00 00 38 */ b lbl_80041304
lbl_800412D0:
/* 800412D0 0003C890 38 60 00 00 */ li r3, 0
/* 800412D4 0003C894 48 00 00 30 */ b lbl_80041304
lbl_800412D8:
/* 800412D8 0003C898 80 FD 00 04 */ lwz r7, 4(r29)
/* 800412DC 0003C89C 7C 07 F8 AE */ lbzx r0, r7, r31
/* 800412E0 0003C8A0 7C 87 FA 14 */ add r4, r7, r31
/* 800412E4 0003C8A4 28 00 00 FE */ cmplwi r0, 0xfe
/* 800412E8 0003C8A8 41 82 00 10 */ beq lbl_800412F8
/* 800412EC 0003C8AC 88 04 00 01 */ lbz r0, 1(r4)
/* 800412F0 0003C8B0 28 00 00 FE */ cmplwi r0, 0xfe
/* 800412F4 0003C8B4 40 82 FE AC */ bne lbl_800411A0
lbl_800412F8:
/* 800412F8 0003C8B8 38 00 00 00 */ li r0, 0
/* 800412FC 0003C8BC 38 60 00 01 */ li r3, 1
/* 80041300 0003C8C0 98 07 00 3F */ stb r0, 0x3f(r7)
lbl_80041304:
/* 80041304 0003C8C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80041308 0003C8C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004130C 0003C8CC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80041310 0003C8D0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80041314 0003C8D4 7C 08 03 A6 */ mtlr r0
/* 80041318 0003C8D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8004131C 0003C8DC 4E 80 00 20 */ blr
glabel func_80041320
/* 80041320 0003C8E0 54 86 05 7E */ clrlwi r6, r4, 0x15
/* 80041324 0003C8E4 28 06 07 C0 */ cmplwi r6, 0x7c0
/* 80041328 0003C8E8 41 80 00 14 */ blt lbl_8004133C
/* 8004132C 0003C8EC 80 03 00 04 */ lwz r0, 4(r3)
/* 80041330 0003C8F0 88 85 00 00 */ lbz r4, 0(r5)
/* 80041334 0003C8F4 7C 66 02 14 */ add r3, r6, r0
/* 80041338 0003C8F8 98 83 F8 40 */ stb r4, -0x7c0(r3)
lbl_8004133C:
/* 8004133C 0003C8FC 38 60 00 01 */ li r3, 1
/* 80041340 0003C900 4E 80 00 20 */ blr
glabel func_80041344
/* 80041344 0003C904 54 84 05 7E */ clrlwi r4, r4, 0x15
/* 80041348 0003C908 28 04 07 C0 */ cmplwi r4, 0x7c0
/* 8004134C 0003C90C 41 80 00 18 */ blt lbl_80041364
/* 80041350 0003C910 38 04 F8 40 */ addi r0, r4, -1984
/* 80041354 0003C914 A8 85 00 00 */ lha r4, 0(r5)
/* 80041358 0003C918 80 63 00 04 */ lwz r3, 4(r3)
/* 8004135C 0003C91C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80041360 0003C920 7C 83 03 2E */ sthx r4, r3, r0
lbl_80041364:
/* 80041364 0003C924 38 60 00 01 */ li r3, 1
/* 80041368 0003C928 4E 80 00 20 */ blr
glabel func_8004136C
/* 8004136C 0003C92C 54 84 05 7E */ clrlwi r4, r4, 0x15
/* 80041370 0003C930 28 04 07 C0 */ cmplwi r4, 0x7c0
/* 80041374 0003C934 41 80 00 18 */ blt lbl_8004138C
/* 80041378 0003C938 38 04 F8 40 */ addi r0, r4, -1984
/* 8004137C 0003C93C 80 85 00 00 */ lwz r4, 0(r5)
/* 80041380 0003C940 80 63 00 04 */ lwz r3, 4(r3)
/* 80041384 0003C944 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80041388 0003C948 7C 83 01 2E */ stwx r4, r3, r0
lbl_8004138C:
/* 8004138C 0003C94C 38 60 00 01 */ li r3, 1
/* 80041390 0003C950 4E 80 00 20 */ blr
glabel func_80041394
/* 80041394 0003C954 54 84 05 7E */ clrlwi r4, r4, 0x15
/* 80041398 0003C958 28 04 07 C0 */ cmplwi r4, 0x7c0
/* 8004139C 0003C95C 41 80 00 24 */ blt lbl_800413C0
/* 800413A0 0003C960 38 04 F8 40 */ addi r0, r4, -1984
/* 800413A4 0003C964 80 63 00 04 */ lwz r3, 4(r3)
/* 800413A8 0003C968 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 800413AC 0003C96C 80 85 00 00 */ lwz r4, 0(r5)
/* 800413B0 0003C970 80 A5 00 04 */ lwz r5, 4(r5)
/* 800413B4 0003C974 7C 63 02 14 */ add r3, r3, r0
/* 800413B8 0003C978 90 A3 00 04 */ stw r5, 4(r3)
/* 800413BC 0003C97C 90 83 00 00 */ stw r4, 0(r3)
lbl_800413C0:
/* 800413C0 0003C980 38 60 00 01 */ li r3, 1
/* 800413C4 0003C984 4E 80 00 20 */ blr
glabel func_800413C8
/* 800413C8 0003C988 54 84 05 7E */ clrlwi r4, r4, 0x15
/* 800413CC 0003C98C 28 04 07 C0 */ cmplwi r4, 0x7c0
/* 800413D0 0003C990 40 80 00 14 */ bge lbl_800413E4
/* 800413D4 0003C994 80 63 00 00 */ lwz r3, 0(r3)
/* 800413D8 0003C998 7C 03 20 AE */ lbzx r0, r3, r4
/* 800413DC 0003C99C 98 05 00 00 */ stb r0, 0(r5)
/* 800413E0 0003C9A0 48 00 00 14 */ b lbl_800413F4
lbl_800413E4:
/* 800413E4 0003C9A4 80 03 00 00 */ lwz r0, 0(r3)
/* 800413E8 0003C9A8 7C 64 02 14 */ add r3, r4, r0
/* 800413EC 0003C9AC 88 03 F8 40 */ lbz r0, -0x7c0(r3)
/* 800413F0 0003C9B0 98 05 00 00 */ stb r0, 0(r5)
lbl_800413F4:
/* 800413F4 0003C9B4 38 60 00 01 */ li r3, 1
/* 800413F8 0003C9B8 4E 80 00 20 */ blr
glabel func_800413FC
/* 800413FC 0003C9BC 54 84 05 7E */ clrlwi r4, r4, 0x15
/* 80041400 0003C9C0 28 04 07 C0 */ cmplwi r4, 0x7c0
/* 80041404 0003C9C4 40 80 00 18 */ bge lbl_8004141C
/* 80041408 0003C9C8 80 63 00 00 */ lwz r3, 0(r3)
/* 8004140C 0003C9CC 54 80 00 3C */ rlwinm r0, r4, 0, 0, 0x1e
/* 80041410 0003C9D0 7C 03 02 AE */ lhax r0, r3, r0
/* 80041414 0003C9D4 B0 05 00 00 */ sth r0, 0(r5)
/* 80041418 0003C9D8 48 00 00 18 */ b lbl_80041430
lbl_8004141C:
/* 8004141C 0003C9DC 38 04 F8 40 */ addi r0, r4, -1984
/* 80041420 0003C9E0 80 63 00 00 */ lwz r3, 0(r3)
/* 80041424 0003C9E4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80041428 0003C9E8 7C 03 02 AE */ lhax r0, r3, r0
/* 8004142C 0003C9EC B0 05 00 00 */ sth r0, 0(r5)
lbl_80041430:
/* 80041430 0003C9F0 38 60 00 01 */ li r3, 1
/* 80041434 0003C9F4 4E 80 00 20 */ blr
glabel func_80041438
/* 80041438 0003C9F8 54 84 05 7E */ clrlwi r4, r4, 0x15
/* 8004143C 0003C9FC 28 04 07 C0 */ cmplwi r4, 0x7c0
/* 80041440 0003CA00 40 80 00 18 */ bge lbl_80041458
/* 80041444 0003CA04 80 63 00 00 */ lwz r3, 0(r3)
/* 80041448 0003CA08 54 80 00 3A */ rlwinm r0, r4, 0, 0, 0x1d
/* 8004144C 0003CA0C 7C 03 00 2E */ lwzx r0, r3, r0
/* 80041450 0003CA10 90 05 00 00 */ stw r0, 0(r5)
/* 80041454 0003CA14 48 00 00 18 */ b lbl_8004146C
lbl_80041458:
/* 80041458 0003CA18 38 04 F8 40 */ addi r0, r4, -1984
/* 8004145C 0003CA1C 80 63 00 00 */ lwz r3, 0(r3)
/* 80041460 0003CA20 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80041464 0003CA24 7C 03 00 2E */ lwzx r0, r3, r0
/* 80041468 0003CA28 90 05 00 00 */ stw r0, 0(r5)
lbl_8004146C:
/* 8004146C 0003CA2C 38 60 00 01 */ li r3, 1
/* 80041470 0003CA30 4E 80 00 20 */ blr
glabel func_80041474
/* 80041474 0003CA34 54 84 05 7E */ clrlwi r4, r4, 0x15
/* 80041478 0003CA38 28 04 07 C0 */ cmplwi r4, 0x7c0
/* 8004147C 0003CA3C 40 80 00 20 */ bge lbl_8004149C
/* 80041480 0003CA40 54 80 00 38 */ rlwinm r0, r4, 0, 0, 0x1c
/* 80041484 0003CA44 80 63 00 00 */ lwz r3, 0(r3)
/* 80041488 0003CA48 7C 03 00 6E */ lwzux r0, r3, r0
/* 8004148C 0003CA4C 80 63 00 04 */ lwz r3, 4(r3)
/* 80041490 0003CA50 90 65 00 04 */ stw r3, 4(r5)
/* 80041494 0003CA54 90 05 00 00 */ stw r0, 0(r5)
/* 80041498 0003CA58 48 00 00 20 */ b lbl_800414B8
lbl_8004149C:
/* 8004149C 0003CA5C 38 04 F8 40 */ addi r0, r4, -1984
/* 800414A0 0003CA60 80 63 00 00 */ lwz r3, 0(r3)
/* 800414A4 0003CA64 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 800414A8 0003CA68 7C 03 00 6E */ lwzux r0, r3, r0
/* 800414AC 0003CA6C 80 63 00 04 */ lwz r3, 4(r3)
/* 800414B0 0003CA70 90 65 00 04 */ stw r3, 4(r5)
/* 800414B4 0003CA74 90 05 00 00 */ stw r0, 0(r5)
lbl_800414B8:
/* 800414B8 0003CA78 38 60 00 01 */ li r3, 1
/* 800414BC 0003CA7C 4E 80 00 20 */ blr
glabel func_800414C0
/* 800414C0 0003CA80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800414C4 0003CA84 7C 08 02 A6 */ mflr r0
/* 800414C8 0003CA88 38 A0 00 40 */ li r5, 0x40
/* 800414CC 0003CA8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800414D0 0003CA90 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800414D4 0003CA94 7C 7F 1B 78 */ mr r31, r3
/* 800414D8 0003CA98 80 63 00 04 */ lwz r3, 4(r3)
/* 800414DC 0003CA9C 48 03 FF E1 */ bl xlHeapCopy
/* 800414E0 0003CAA0 2C 03 00 00 */ cmpwi r3, 0
/* 800414E4 0003CAA4 40 82 00 0C */ bne lbl_800414F0
/* 800414E8 0003CAA8 38 60 00 00 */ li r3, 0
/* 800414EC 0003CAAC 48 00 00 18 */ b lbl_80041504
lbl_800414F0:
/* 800414F0 0003CAB0 7F E3 FB 78 */ mr r3, r31
/* 800414F4 0003CAB4 4B FF FA E9 */ bl func_80040FDC
/* 800414F8 0003CAB8 7C 03 00 D0 */ neg r0, r3
/* 800414FC 0003CABC 7C 00 1B 78 */ or r0, r0, r3
/* 80041500 0003CAC0 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80041504:
/* 80041504 0003CAC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041508 0003CAC8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004150C 0003CACC 7C 08 03 A6 */ mtlr r0
/* 80041510 0003CAD0 38 21 00 10 */ addi r1, r1, 0x10
/* 80041514 0003CAD4 4E 80 00 20 */ blr
glabel func_80041518
/* 80041518 0003CAD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004151C 0003CADC 7C 08 02 A6 */ mflr r0
/* 80041520 0003CAE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041524 0003CAE4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80041528 0003CAE8 7C 9F 23 78 */ mr r31, r4
/* 8004152C 0003CAEC 93 C1 00 08 */ stw r30, 8(r1)
/* 80041530 0003CAF0 7C 7E 1B 78 */ mr r30, r3
/* 80041534 0003CAF4 4B FF FC 45 */ bl func_80041178
/* 80041538 0003CAF8 2C 03 00 00 */ cmpwi r3, 0
/* 8004153C 0003CAFC 40 82 00 0C */ bne lbl_80041548
/* 80041540 0003CB00 38 60 00 00 */ li r3, 0
/* 80041544 0003CB04 48 00 00 20 */ b lbl_80041564
lbl_80041548:
/* 80041548 0003CB08 80 9E 00 04 */ lwz r4, 4(r30)
/* 8004154C 0003CB0C 7F E3 FB 78 */ mr r3, r31
/* 80041550 0003CB10 38 A0 00 40 */ li r5, 0x40
/* 80041554 0003CB14 48 03 FF 69 */ bl xlHeapCopy
/* 80041558 0003CB18 7C 03 00 D0 */ neg r0, r3
/* 8004155C 0003CB1C 7C 00 1B 78 */ or r0, r0, r3
/* 80041560 0003CB20 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80041564:
/* 80041564 0003CB24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041568 0003CB28 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004156C 0003CB2C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80041570 0003CB30 7C 08 03 A6 */ mtlr r0
/* 80041574 0003CB34 38 21 00 10 */ addi r1, r1, 0x10
/* 80041578 0003CB38 4E 80 00 20 */ blr
glabel func_8004157C
/* 8004157C 0003CB3C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80041580 0003CB40 7C 08 02 A6 */ mflr r0
/* 80041584 0003CB44 90 01 00 24 */ stw r0, 0x24(r1)
/* 80041588 0003CB48 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004158C 0003CB4C 7C BF 2B 78 */ mr r31, r5
/* 80041590 0003CB50 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80041594 0003CB54 7C 9E 23 78 */ mr r30, r4
/* 80041598 0003CB58 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004159C 0003CB5C 7C 7D 1B 78 */ mr r29, r3
/* 800415A0 0003CB60 80 CD 89 20 */ lwz r6, gSystem-_SDA_BASE_(r13)
/* 800415A4 0003CB64 80 66 00 68 */ lwz r3, 0x68(r6)
/* 800415A8 0003CB68 48 02 16 55 */ bl func_80062BFC
/* 800415AC 0003CB6C 2C 03 00 00 */ cmpwi r3, 0
/* 800415B0 0003CB70 40 82 00 08 */ bne lbl_800415B8
/* 800415B4 0003CB74 3B E0 FF FF */ li r31, -1
lbl_800415B8:
/* 800415B8 0003CB78 7C BD F2 14 */ add r5, r29, r30
/* 800415BC 0003CB7C 38 80 00 00 */ li r4, 0
/* 800415C0 0003CB80 57 C0 10 3A */ slwi r0, r30, 2
/* 800415C4 0003CB84 98 85 00 08 */ stb r4, 8(r5)
/* 800415C8 0003CB88 7C 7D 02 14 */ add r3, r29, r0
/* 800415CC 0003CB8C 2C 1F 00 03 */ cmpwi r31, 3
/* 800415D0 0003CB90 93 E3 00 14 */ stw r31, 0x14(r3)
/* 800415D4 0003CB94 41 82 00 6C */ beq lbl_80041640
/* 800415D8 0003CB98 40 80 00 1C */ bge lbl_800415F4
/* 800415DC 0003CB9C 2C 1F 00 00 */ cmpwi r31, 0
/* 800415E0 0003CBA0 41 82 00 30 */ beq lbl_80041610
/* 800415E4 0003CBA4 40 80 00 40 */ bge lbl_80041624
/* 800415E8 0003CBA8 2C 1F FF FF */ cmpwi r31, -1
/* 800415EC 0003CBAC 40 80 00 14 */ bge lbl_80041600
/* 800415F0 0003CBB0 48 00 00 78 */ b lbl_80041668
lbl_800415F4:
/* 800415F4 0003CBB4 2C 1F 00 05 */ cmpwi r31, 5
/* 800415F8 0003CBB8 40 80 00 70 */ bge lbl_80041668
/* 800415FC 0003CBBC 48 00 00 58 */ b lbl_80041654
lbl_80041600:
/* 80041600 0003CBC0 57 C0 08 3C */ slwi r0, r30, 1
/* 80041604 0003CBC4 7C 7D 02 14 */ add r3, r29, r0
/* 80041608 0003CBC8 B0 83 00 0C */ sth r4, 0xc(r3)
/* 8004160C 0003CBCC 48 00 00 64 */ b lbl_80041670
lbl_80041610:
/* 80041610 0003CBD0 57 C0 08 3C */ slwi r0, r30, 1
/* 80041614 0003CBD4 38 80 05 00 */ li r4, 0x500
/* 80041618 0003CBD8 7C 7D 02 14 */ add r3, r29, r0
/* 8004161C 0003CBDC B0 83 00 0C */ sth r4, 0xc(r3)
/* 80041620 0003CBE0 48 00 00 50 */ b lbl_80041670
lbl_80041624:
/* 80041624 0003CBE4 57 C0 08 3C */ slwi r0, r30, 1
/* 80041628 0003CBE8 38 80 05 00 */ li r4, 0x500
/* 8004162C 0003CBEC 7C 7D 02 14 */ add r3, r29, r0
/* 80041630 0003CBF0 B0 83 00 0C */ sth r4, 0xc(r3)
/* 80041634 0003CBF4 38 00 00 01 */ li r0, 1
/* 80041638 0003CBF8 98 05 00 08 */ stb r0, 8(r5)
/* 8004163C 0003CBFC 48 00 00 34 */ b lbl_80041670
lbl_80041640:
/* 80041640 0003CC00 57 C0 08 3C */ slwi r0, r30, 1
/* 80041644 0003CC04 38 80 02 00 */ li r4, 0x200
/* 80041648 0003CC08 7C 7D 02 14 */ add r3, r29, r0
/* 8004164C 0003CC0C B0 83 00 0C */ sth r4, 0xc(r3)
/* 80041650 0003CC10 48 00 00 20 */ b lbl_80041670
lbl_80041654:
/* 80041654 0003CC14 57 C0 08 3C */ slwi r0, r30, 1
/* 80041658 0003CC18 38 80 00 01 */ li r4, 1
/* 8004165C 0003CC1C 7C 7D 02 14 */ add r3, r29, r0
/* 80041660 0003CC20 B0 83 00 0C */ sth r4, 0xc(r3)
/* 80041664 0003CC24 48 00 00 0C */ b lbl_80041670
lbl_80041668:
/* 80041668 0003CC28 38 60 00 00 */ li r3, 0
/* 8004166C 0003CC2C 48 00 00 08 */ b lbl_80041674
lbl_80041670:
/* 80041670 0003CC30 38 60 00 01 */ li r3, 1
lbl_80041674:
/* 80041674 0003CC34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80041678 0003CC38 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004167C 0003CC3C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80041680 0003CC40 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80041684 0003CC44 7C 08 03 A6 */ mtlr r0
/* 80041688 0003CC48 38 21 00 20 */ addi r1, r1, 0x20
/* 8004168C 0003CC4C 4E 80 00 20 */ blr
glabel func_80041690
/* 80041690 0003CC50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041694 0003CC54 7C 08 02 A6 */ mflr r0
/* 80041698 0003CC58 2C 04 10 02 */ cmpwi r4, 0x1002
/* 8004169C 0003CC5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800416A0 0003CC60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800416A4 0003CC64 7C BF 2B 78 */ mr r31, r5
/* 800416A8 0003CC68 93 C1 00 08 */ stw r30, 8(r1)
/* 800416AC 0003CC6C 7C 7E 1B 78 */ mr r30, r3
/* 800416B0 0003CC70 41 82 00 F0 */ beq lbl_800417A0
/* 800416B4 0003CC74 40 80 00 28 */ bge lbl_800416DC
/* 800416B8 0003CC78 2C 04 00 02 */ cmpwi r4, 2
/* 800416BC 0003CC7C 41 82 00 38 */ beq lbl_800416F4
/* 800416C0 0003CC80 40 80 00 10 */ bge lbl_800416D0
/* 800416C4 0003CC84 2C 04 00 00 */ cmpwi r4, 0
/* 800416C8 0003CC88 40 80 01 60 */ bge lbl_80041828
/* 800416CC 0003CC8C 48 00 01 54 */ b lbl_80041820
lbl_800416D0:
/* 800416D0 0003CC90 2C 04 00 04 */ cmpwi r4, 4
/* 800416D4 0003CC94 40 80 01 4C */ bge lbl_80041820
/* 800416D8 0003CC98 48 00 00 84 */ b lbl_8004175C
lbl_800416DC:
/* 800416DC 0003CC9C 2C 04 10 07 */ cmpwi r4, 0x1007
/* 800416E0 0003CCA0 41 82 01 48 */ beq lbl_80041828
/* 800416E4 0003CCA4 40 80 01 3C */ bge lbl_80041820
/* 800416E8 0003CCA8 2C 04 10 05 */ cmpwi r4, 0x1005
/* 800416EC 0003CCAC 40 80 01 34 */ bge lbl_80041820
/* 800416F0 0003CCB0 48 00 01 38 */ b lbl_80041828
lbl_800416F4:
/* 800416F4 0003CCB4 38 80 08 00 */ li r4, 0x800
/* 800416F8 0003CCB8 48 03 FA 01 */ bl xlHeapTake
/* 800416FC 0003CCBC 2C 03 00 00 */ cmpwi r3, 0
/* 80041700 0003CCC0 40 82 00 0C */ bne lbl_8004170C
/* 80041704 0003CCC4 38 60 00 00 */ li r3, 0
/* 80041708 0003CCC8 48 00 01 24 */ b lbl_8004182C
lbl_8004170C:
/* 8004170C 0003CCCC 38 7E 00 04 */ addi r3, r30, 4
/* 80041710 0003CCD0 38 80 00 40 */ li r4, 0x40
/* 80041714 0003CCD4 48 03 F9 E5 */ bl xlHeapTake
/* 80041718 0003CCD8 2C 03 00 00 */ cmpwi r3, 0
/* 8004171C 0003CCDC 40 82 00 0C */ bne lbl_80041728
/* 80041720 0003CCE0 38 60 00 00 */ li r3, 0
/* 80041724 0003CCE4 48 00 01 08 */ b lbl_8004182C
lbl_80041728:
/* 80041728 0003CCE8 3B E0 00 00 */ li r31, 0
lbl_8004172C:
/* 8004172C 0003CCEC 7F C3 F3 78 */ mr r3, r30
/* 80041730 0003CCF0 7F E4 FB 78 */ mr r4, r31
/* 80041734 0003CCF4 38 A0 FF FF */ li r5, -1
/* 80041738 0003CCF8 4B FF FE 45 */ bl func_8004157C
/* 8004173C 0003CCFC 2C 03 00 00 */ cmpwi r3, 0
/* 80041740 0003CD00 40 82 00 0C */ bne lbl_8004174C
/* 80041744 0003CD04 38 60 00 00 */ li r3, 0
/* 80041748 0003CD08 48 00 00 E4 */ b lbl_8004182C
lbl_8004174C:
/* 8004174C 0003CD0C 3B FF 00 01 */ addi r31, r31, 1
/* 80041750 0003CD10 2C 1F 00 04 */ cmpwi r31, 4
/* 80041754 0003CD14 41 80 FF D8 */ blt lbl_8004172C
/* 80041758 0003CD18 48 00 00 D0 */ b lbl_80041828
lbl_8004175C:
/* 8004175C 0003CD1C 3B E0 00 00 */ li r31, 0
lbl_80041760:
/* 80041760 0003CD20 7F C3 F3 78 */ mr r3, r30
/* 80041764 0003CD24 7F E4 FB 78 */ mr r4, r31
/* 80041768 0003CD28 38 A0 FF FF */ li r5, -1
/* 8004176C 0003CD2C 4B FF FE 11 */ bl func_8004157C
/* 80041770 0003CD30 2C 03 00 00 */ cmpwi r3, 0
/* 80041774 0003CD34 40 82 00 0C */ bne lbl_80041780
/* 80041778 0003CD38 38 60 00 00 */ li r3, 0
/* 8004177C 0003CD3C 48 00 00 B0 */ b lbl_8004182C
lbl_80041780:
/* 80041780 0003CD40 3B FF 00 01 */ addi r31, r31, 1
/* 80041784 0003CD44 2C 1F 00 04 */ cmpwi r31, 4
/* 80041788 0003CD48 41 80 FF D8 */ blt lbl_80041760
/* 8004178C 0003CD4C 7F C3 F3 78 */ mr r3, r30
/* 80041790 0003CD50 48 03 FB DD */ bl xlHeapFree
/* 80041794 0003CD54 38 7E 00 04 */ addi r3, r30, 4
/* 80041798 0003CD58 48 03 FB D5 */ bl xlHeapFree
/* 8004179C 0003CD5C 48 00 00 8C */ b lbl_80041828
lbl_800417A0:
/* 800417A0 0003CD60 80 6D 89 20 */ lwz r3, gSystem-_SDA_BASE_(r13)
/* 800417A4 0003CD64 3C A0 80 04 */ lis r5, func_80041320@ha
/* 800417A8 0003CD68 3C C0 80 04 */ lis r6, func_80041344@ha
/* 800417AC 0003CD6C 3C E0 80 04 */ lis r7, func_8004136C@ha
/* 800417B0 0003CD70 3D 00 80 04 */ lis r8, func_80041394@ha
/* 800417B4 0003CD74 80 63 00 10 */ lwz r3, 0x10(r3)
/* 800417B8 0003CD78 7F E4 FB 78 */ mr r4, r31
/* 800417BC 0003CD7C 38 A5 13 20 */ addi r5, r5, func_80041320@l
/* 800417C0 0003CD80 38 C6 13 44 */ addi r6, r6, func_80041344@l
/* 800417C4 0003CD84 38 E7 13 6C */ addi r7, r7, func_8004136C@l
/* 800417C8 0003CD88 39 08 13 94 */ addi r8, r8, func_80041394@l
/* 800417CC 0003CD8C 4B FF AF FD */ bl cpuSetDevicePut
/* 800417D0 0003CD90 2C 03 00 00 */ cmpwi r3, 0
/* 800417D4 0003CD94 40 82 00 0C */ bne lbl_800417E0
/* 800417D8 0003CD98 38 60 00 00 */ li r3, 0
/* 800417DC 0003CD9C 48 00 00 50 */ b lbl_8004182C
lbl_800417E0:
/* 800417E0 0003CDA0 80 6D 89 20 */ lwz r3, gSystem-_SDA_BASE_(r13)
/* 800417E4 0003CDA4 3C A0 80 04 */ lis r5, func_800413C8@ha
/* 800417E8 0003CDA8 3C C0 80 04 */ lis r6, func_800413FC@ha
/* 800417EC 0003CDAC 3C E0 80 04 */ lis r7, func_80041438@ha
/* 800417F0 0003CDB0 3D 00 80 04 */ lis r8, func_80041474@ha
/* 800417F4 0003CDB4 80 63 00 10 */ lwz r3, 0x10(r3)
/* 800417F8 0003CDB8 7F E4 FB 78 */ mr r4, r31
/* 800417FC 0003CDBC 38 A5 13 C8 */ addi r5, r5, func_800413C8@l
/* 80041800 0003CDC0 38 C6 13 FC */ addi r6, r6, func_800413FC@l
/* 80041804 0003CDC4 38 E7 14 38 */ addi r7, r7, func_80041438@l
/* 80041808 0003CDC8 39 08 14 74 */ addi r8, r8, func_80041474@l
/* 8004180C 0003CDCC 4B FF AF A5 */ bl cpuSetDeviceGet
/* 80041810 0003CDD0 2C 03 00 00 */ cmpwi r3, 0
/* 80041814 0003CDD4 40 82 00 14 */ bne lbl_80041828
/* 80041818 0003CDD8 38 60 00 00 */ li r3, 0
/* 8004181C 0003CDDC 48 00 00 10 */ b lbl_8004182C
lbl_80041820:
/* 80041820 0003CDE0 38 60 00 00 */ li r3, 0
/* 80041824 0003CDE4 48 00 00 08 */ b lbl_8004182C
lbl_80041828:
/* 80041828 0003CDE8 38 60 00 01 */ li r3, 1
lbl_8004182C:
/* 8004182C 0003CDEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041830 0003CDF0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80041834 0003CDF4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80041838 0003CDF8 7C 08 03 A6 */ mtlr r0
/* 8004183C 0003CDFC 38 21 00 10 */ addi r1, r1, 0x10
/* 80041840 0003CE00 4E 80 00 20 */ blr