donut-decomp/asm/os/OSExec.s
2022-10-17 09:03:07 +01:00

2205 lines
94 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global PackArgs
PackArgs:
/* 8001DFB0 00019DF0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8001DFB4 00019DF4 7C 08 02 A6 */ mflr r0
/* 8001DFB8 00019DF8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8001DFBC 00019DFC 39 61 00 30 */ addi r11, r1, 0x30
/* 8001DFC0 00019E00 4B FE 93 75 */ bl lbl_80007334
/* 8001DFC4 00019E04 7C 99 23 78 */ mr r25, r4
/* 8001DFC8 00019E08 7C BD 2B 78 */ mr r29, r5
/* 8001DFCC 00019E0C 7C 7E 1B 78 */ mr r30, r3
/* 8001DFD0 00019E10 38 80 00 00 */ li r4, 0x0
/* 8001DFD4 00019E14 38 A0 20 00 */ li r5, 0x2000
/* 8001DFD8 00019E18 4B FE 63 79 */ bl memset
/* 8001DFDC 00019E1C 2C 19 00 00 */ cmpwi r25, 0x0
/* 8001DFE0 00019E20 40 82 00 10 */ bne lbl_8001DFF0
/* 8001DFE4 00019E24 38 00 00 00 */ li r0, 0x0
/* 8001DFE8 00019E28 90 1E 00 08 */ stw r0, 0x8(r30)
/* 8001DFEC 00019E2C 48 00 01 28 */ b lbl_8001E114
.global lbl_8001DFF0
lbl_8001DFF0:
/* 8001DFF0 00019E30 57 20 10 3A */ slwi r0, r25, 2
/* 8001DFF4 00019E34 7F 3F CB 78 */ mr r31, r25
/* 8001DFF8 00019E38 3B 5E 20 00 */ addi r26, r30, 0x2000
/* 8001DFFC 00019E3C 7F 9D 02 14 */ add r28, r29, r0
/* 8001E000 00019E40 48 00 00 2C */ b lbl_8001E02C
.global lbl_8001E004
lbl_8001E004:
/* 8001E004 00019E44 83 7C 00 00 */ lwz r27, 0x0(r28)
/* 8001E008 00019E48 7F 63 DB 78 */ mr r3, r27
/* 8001E00C 00019E4C 4B FE 8A 81 */ bl strlen
/* 8001E010 00019E50 38 03 00 01 */ addi r0, r3, 0x1
/* 8001E014 00019E54 7F 64 DB 78 */ mr r4, r27
/* 8001E018 00019E58 7F 40 D0 50 */ subf r26, r0, r26
/* 8001E01C 00019E5C 7F 43 D3 78 */ mr r3, r26
/* 8001E020 00019E60 4B FE F9 A1 */ bl strcpy
/* 8001E024 00019E64 7C 1E D0 50 */ subf r0, r30, r26
/* 8001E028 00019E68 90 1C 00 00 */ stw r0, 0x0(r28)
.global lbl_8001E02C
lbl_8001E02C:
/* 8001E02C 00019E6C 37 39 FF FF */ addic. r25, r25, -0x1
/* 8001E030 00019E70 3B 9C FF FC */ addi r28, r28, -0x4
/* 8001E034 00019E74 40 80 FF D0 */ bge lbl_8001E004
/* 8001E038 00019E78 34 7F 00 01 */ addic. r3, r31, 0x1
/* 8001E03C 00019E7C 7C 1E D0 50 */ subf r0, r30, r26
/* 8001E040 00019E80 54 04 00 3A */ clrrwi r4, r0, 2
/* 8001E044 00019E84 38 E0 00 00 */ li r7, 0x0
/* 8001E048 00019E88 7C DE 22 14 */ add r6, r30, r4
/* 8001E04C 00019E8C 54 60 10 3A */ slwi r0, r3, 2
/* 8001E050 00019E90 7C C0 30 50 */ subf r6, r0, r6
/* 8001E054 00019E94 41 82 00 B0 */ beq lbl_8001E104
/* 8001E058 00019E98 28 03 00 08 */ cmplwi r3, 0x8
/* 8001E05C 00019E9C 38 7F FF F9 */ addi r3, r31, -0x7
/* 8001E060 00019EA0 40 81 00 70 */ ble lbl_8001E0D0
/* 8001E064 00019EA4 38 03 00 07 */ addi r0, r3, 0x7
/* 8001E068 00019EA8 7F A4 EB 78 */ mr r4, r29
/* 8001E06C 00019EAC 54 00 E8 FE */ srwi r0, r0, 3
/* 8001E070 00019EB0 7C C5 33 78 */ mr r5, r6
/* 8001E074 00019EB4 7C 09 03 A6 */ mtctr r0
/* 8001E078 00019EB8 28 03 00 00 */ cmplwi r3, 0x0
/* 8001E07C 00019EBC 40 81 00 54 */ ble lbl_8001E0D0
.global lbl_8001E080
lbl_8001E080:
/* 8001E080 00019EC0 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8001E084 00019EC4 38 E7 00 08 */ addi r7, r7, 0x8
/* 8001E088 00019EC8 90 05 00 00 */ stw r0, 0x0(r5)
/* 8001E08C 00019ECC 80 04 00 04 */ lwz r0, 0x4(r4)
/* 8001E090 00019ED0 90 05 00 04 */ stw r0, 0x4(r5)
/* 8001E094 00019ED4 80 04 00 08 */ lwz r0, 0x8(r4)
/* 8001E098 00019ED8 90 05 00 08 */ stw r0, 0x8(r5)
/* 8001E09C 00019EDC 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8001E0A0 00019EE0 90 05 00 0C */ stw r0, 0xc(r5)
/* 8001E0A4 00019EE4 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8001E0A8 00019EE8 90 05 00 10 */ stw r0, 0x10(r5)
/* 8001E0AC 00019EEC 80 04 00 14 */ lwz r0, 0x14(r4)
/* 8001E0B0 00019EF0 90 05 00 14 */ stw r0, 0x14(r5)
/* 8001E0B4 00019EF4 80 04 00 18 */ lwz r0, 0x18(r4)
/* 8001E0B8 00019EF8 90 05 00 18 */ stw r0, 0x18(r5)
/* 8001E0BC 00019EFC 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 8001E0C0 00019F00 38 84 00 20 */ addi r4, r4, 0x20
/* 8001E0C4 00019F04 90 05 00 1C */ stw r0, 0x1c(r5)
/* 8001E0C8 00019F08 38 A5 00 20 */ addi r5, r5, 0x20
/* 8001E0CC 00019F0C 42 00 FF B4 */ bdnz lbl_8001E080
.global lbl_8001E0D0
lbl_8001E0D0:
/* 8001E0D0 00019F10 38 7F 00 01 */ addi r3, r31, 0x1
/* 8001E0D4 00019F14 54 E5 10 3A */ slwi r5, r7, 2
/* 8001E0D8 00019F18 7C 07 18 50 */ subf r0, r7, r3
/* 8001E0DC 00019F1C 7C 9D 2A 14 */ add r4, r29, r5
/* 8001E0E0 00019F20 7C A6 2A 14 */ add r5, r6, r5
/* 8001E0E4 00019F24 7C 09 03 A6 */ mtctr r0
/* 8001E0E8 00019F28 7C 07 18 40 */ cmplw r7, r3
/* 8001E0EC 00019F2C 40 80 00 18 */ bge lbl_8001E104
.global lbl_8001E0F0
lbl_8001E0F0:
/* 8001E0F0 00019F30 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8001E0F4 00019F34 38 84 00 04 */ addi r4, r4, 0x4
/* 8001E0F8 00019F38 90 05 00 00 */ stw r0, 0x0(r5)
/* 8001E0FC 00019F3C 38 A5 00 04 */ addi r5, r5, 0x4
/* 8001E100 00019F40 42 00 FF F0 */ bdnz lbl_8001E0F0
.global lbl_8001E104
lbl_8001E104:
/* 8001E104 00019F44 93 E6 FF FC */ stw r31, -0x4(r6)
/* 8001E108 00019F48 38 06 FF FC */ addi r0, r6, -0x4
/* 8001E10C 00019F4C 7C 1E 00 50 */ subf r0, r30, r0
/* 8001E110 00019F50 90 1E 00 08 */ stw r0, 0x8(r30)
.global lbl_8001E114
lbl_8001E114:
/* 8001E114 00019F54 39 61 00 30 */ addi r11, r1, 0x30
/* 8001E118 00019F58 38 60 00 01 */ li r3, 0x1
/* 8001E11C 00019F5C 4B FE 92 65 */ bl lbl_80007380
/* 8001E120 00019F60 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8001E124 00019F64 7C 08 03 A6 */ mtlr r0
/* 8001E128 00019F68 38 21 00 30 */ addi r1, r1, 0x30
/* 8001E12C 00019F6C 4E 80 00 20 */ blr
.global Utf16ToArg
Utf16ToArg:
/* 8001E130 00019F70 2C 04 00 00 */ cmpwi r4, 0x0
/* 8001E134 00019F74 41 82 01 4C */ beq lbl_8001E280
/* 8001E138 00019F78 38 C0 00 04 */ li r6, 0x4
/* 8001E13C 00019F7C 38 00 00 02 */ li r0, 0x2
/* 8001E140 00019F80 48 00 01 18 */ b lbl_8001E258
/* 8001E144 00019F84 60 00 00 00 */ nop
.global lbl_8001E148
lbl_8001E148:
/* 8001E148 00019F88 39 40 00 00 */ li r10, 0x0
/* 8001E14C 00019F8C 7C 09 03 A6 */ mtctr r0
.global lbl_8001E150
lbl_8001E150:
/* 8001E150 00019F90 55 49 07 FF */ clrlwi. r9, r10, 31
/* 8001E154 00019F94 39 00 00 F0 */ li r8, 0xf0
/* 8001E158 00019F98 41 82 00 08 */ beq lbl_8001E160
/* 8001E15C 00019F9C 39 00 00 0F */ li r8, 0xf
.global lbl_8001E160
lbl_8001E160:
/* 8001E160 00019FA0 7C A9 00 D0 */ neg r5, r9
/* 8001E164 00019FA4 88 E4 00 00 */ lbz r7, 0x0(r4)
/* 8001E168 00019FA8 7C A5 4B 78 */ or r5, r5, r9
/* 8001E16C 00019FAC 7C A5 FE 70 */ srawi r5, r5, 31
/* 8001E170 00019FB0 7C E7 07 74 */ extsb r7, r7
/* 8001E174 00019FB4 7C C5 28 78 */ andc r5, r6, r5
/* 8001E178 00019FB8 7C E7 40 38 */ and r7, r7, r8
/* 8001E17C 00019FBC 54 A5 06 3E */ clrlwi r5, r5, 24
/* 8001E180 00019FC0 7C E5 2E 31 */ sraw. r5, r7, r5
/* 8001E184 00019FC4 41 80 00 18 */ blt lbl_8001E19C
/* 8001E188 00019FC8 2C 05 00 0A */ cmpwi r5, 0xa
/* 8001E18C 00019FCC 40 80 00 10 */ bge lbl_8001E19C
/* 8001E190 00019FD0 38 A5 00 30 */ addi r5, r5, 0x30
/* 8001E194 00019FD4 98 A3 00 00 */ stb r5, 0x0(r3)
/* 8001E198 00019FD8 48 00 00 28 */ b lbl_8001E1C0
.global lbl_8001E19C
lbl_8001E19C:
/* 8001E19C 00019FDC 2C 05 00 0A */ cmpwi r5, 0xa
/* 8001E1A0 00019FE0 41 80 00 18 */ blt lbl_8001E1B8
/* 8001E1A4 00019FE4 2C 05 00 10 */ cmpwi r5, 0x10
/* 8001E1A8 00019FE8 40 80 00 10 */ bge lbl_8001E1B8
/* 8001E1AC 00019FEC 38 A5 00 57 */ addi r5, r5, 0x57
/* 8001E1B0 00019FF0 98 A3 00 00 */ stb r5, 0x0(r3)
/* 8001E1B4 00019FF4 48 00 00 0C */ b lbl_8001E1C0
.global lbl_8001E1B8
lbl_8001E1B8:
/* 8001E1B8 00019FF8 38 60 00 00 */ li r3, 0x0
/* 8001E1BC 00019FFC 4E 80 00 20 */ blr
.global lbl_8001E1C0
lbl_8001E1C0:
/* 8001E1C0 0001A000 2C 09 00 00 */ cmpwi r9, 0x0
/* 8001E1C4 0001A004 41 82 00 08 */ beq lbl_8001E1CC
/* 8001E1C8 0001A008 38 84 00 01 */ addi r4, r4, 0x1
.global lbl_8001E1CC
lbl_8001E1CC:
/* 8001E1CC 0001A00C 39 4A 00 01 */ addi r10, r10, 0x1
/* 8001E1D0 0001A010 39 00 00 F0 */ li r8, 0xf0
/* 8001E1D4 0001A014 55 49 07 FF */ clrlwi. r9, r10, 31
/* 8001E1D8 0001A018 41 82 00 08 */ beq lbl_8001E1E0
/* 8001E1DC 0001A01C 39 00 00 0F */ li r8, 0xf
.global lbl_8001E1E0
lbl_8001E1E0:
/* 8001E1E0 0001A020 7C A9 00 D0 */ neg r5, r9
/* 8001E1E4 0001A024 88 E4 00 00 */ lbz r7, 0x0(r4)
/* 8001E1E8 0001A028 7C A5 4B 78 */ or r5, r5, r9
/* 8001E1EC 0001A02C 7C A5 FE 70 */ srawi r5, r5, 31
/* 8001E1F0 0001A030 7C E7 07 74 */ extsb r7, r7
/* 8001E1F4 0001A034 7C C5 28 78 */ andc r5, r6, r5
/* 8001E1F8 0001A038 7C E7 40 38 */ and r7, r7, r8
/* 8001E1FC 0001A03C 54 A5 06 3E */ clrlwi r5, r5, 24
/* 8001E200 0001A040 7C E5 2E 31 */ sraw. r5, r7, r5
/* 8001E204 0001A044 41 80 00 18 */ blt lbl_8001E21C
/* 8001E208 0001A048 2C 05 00 0A */ cmpwi r5, 0xa
/* 8001E20C 0001A04C 40 80 00 10 */ bge lbl_8001E21C
/* 8001E210 0001A050 38 A5 00 30 */ addi r5, r5, 0x30
/* 8001E214 0001A054 98 A3 00 01 */ stb r5, 0x1(r3)
/* 8001E218 0001A058 48 00 00 28 */ b lbl_8001E240
.global lbl_8001E21C
lbl_8001E21C:
/* 8001E21C 0001A05C 2C 05 00 0A */ cmpwi r5, 0xa
/* 8001E220 0001A060 41 80 00 18 */ blt lbl_8001E238
/* 8001E224 0001A064 2C 05 00 10 */ cmpwi r5, 0x10
/* 8001E228 0001A068 40 80 00 10 */ bge lbl_8001E238
/* 8001E22C 0001A06C 38 A5 00 57 */ addi r5, r5, 0x57
/* 8001E230 0001A070 98 A3 00 01 */ stb r5, 0x1(r3)
/* 8001E234 0001A074 48 00 00 0C */ b lbl_8001E240
.global lbl_8001E238
lbl_8001E238:
/* 8001E238 0001A078 38 60 00 00 */ li r3, 0x0
/* 8001E23C 0001A07C 4E 80 00 20 */ blr
.global lbl_8001E240
lbl_8001E240:
/* 8001E240 0001A080 2C 09 00 00 */ cmpwi r9, 0x0
/* 8001E244 0001A084 38 63 00 02 */ addi r3, r3, 0x2
/* 8001E248 0001A088 41 82 00 08 */ beq lbl_8001E250
/* 8001E24C 0001A08C 38 84 00 01 */ addi r4, r4, 0x1
.global lbl_8001E250
lbl_8001E250:
/* 8001E250 0001A090 39 4A 00 01 */ addi r10, r10, 0x1
/* 8001E254 0001A094 42 00 FE FC */ bdnz lbl_8001E150
.global lbl_8001E258
lbl_8001E258:
/* 8001E258 0001A098 88 A4 00 00 */ lbz r5, 0x0(r4)
/* 8001E25C 0001A09C 7C A5 07 75 */ extsb. r5, r5
/* 8001E260 0001A0A0 40 82 FE E8 */ bne lbl_8001E148
/* 8001E264 0001A0A4 88 A4 00 01 */ lbz r5, 0x1(r4)
/* 8001E268 0001A0A8 7C A5 07 75 */ extsb. r5, r5
/* 8001E26C 0001A0AC 40 82 FE DC */ bne lbl_8001E148
/* 8001E270 0001A0B0 38 00 00 00 */ li r0, 0x0
/* 8001E274 0001A0B4 98 03 00 00 */ stb r0, 0x0(r3)
/* 8001E278 0001A0B8 38 60 00 01 */ li r3, 0x1
/* 8001E27C 0001A0BC 4E 80 00 20 */ blr
.global lbl_8001E280
lbl_8001E280:
/* 8001E280 0001A0C0 38 60 00 00 */ li r3, 0x0
/* 8001E284 0001A0C4 4E 80 00 20 */ blr
/* 8001E288 0001A0C8 00 00 00 00 */ .4byte 0x00000000
/* 8001E28C 0001A0CC 00 00 00 00 */ .4byte 0x00000000
.global PackInstallerArgs
PackInstallerArgs:
/* 8001E290 0001A0D0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8001E294 0001A0D4 7C 08 02 A6 */ mflr r0
/* 8001E298 0001A0D8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8001E29C 0001A0DC 39 61 00 30 */ addi r11, r1, 0x30
/* 8001E2A0 0001A0E0 4B FE 90 95 */ bl lbl_80007334
/* 8001E2A4 0001A0E4 7C 9B 23 78 */ mr r27, r4
/* 8001E2A8 0001A0E8 7C BC 2B 78 */ mr r28, r5
/* 8001E2AC 0001A0EC 7C 7E 1B 78 */ mr r30, r3
/* 8001E2B0 0001A0F0 38 80 00 00 */ li r4, 0x0
/* 8001E2B4 0001A0F4 38 A0 20 00 */ li r5, 0x2000
/* 8001E2B8 0001A0F8 4B FE 60 99 */ bl memset
/* 8001E2BC 0001A0FC 2C 1B 00 00 */ cmpwi r27, 0x0
/* 8001E2C0 0001A100 40 82 00 10 */ bne lbl_8001E2D0
/* 8001E2C4 0001A104 38 00 00 00 */ li r0, 0x0
/* 8001E2C8 0001A108 90 1E 00 08 */ stw r0, 0x8(r30)
/* 8001E2CC 0001A10C 48 00 01 74 */ b lbl_8001E440
.global lbl_8001E2D0
lbl_8001E2D0:
/* 8001E2D0 0001A110 57 60 10 3A */ slwi r0, r27, 2
/* 8001E2D4 0001A114 7F 7F DB 78 */ mr r31, r27
/* 8001E2D8 0001A118 3B BE 20 00 */ addi r29, r30, 0x2000
/* 8001E2DC 0001A11C 7F 5C 02 14 */ add r26, r28, r0
/* 8001E2E0 0001A120 48 00 00 78 */ b lbl_8001E358
.global lbl_8001E2E4
lbl_8001E2E4:
/* 8001E2E4 0001A124 2C 1B 00 02 */ cmpwi r27, 0x2
/* 8001E2E8 0001A128 41 80 00 18 */ blt lbl_8001E300
/* 8001E2EC 0001A12C 57 63 0F FE */ srwi r3, r27, 31
/* 8001E2F0 0001A130 57 60 07 FE */ clrlwi r0, r27, 31
/* 8001E2F4 0001A134 7C 00 1A 78 */ xor r0, r0, r3
/* 8001E2F8 0001A138 7C 03 00 51 */ subf. r0, r3, r0
/* 8001E2FC 0001A13C 41 82 00 30 */ beq lbl_8001E32C
.global lbl_8001E300
lbl_8001E300:
/* 8001E300 0001A140 83 3A 00 00 */ lwz r25, 0x0(r26)
/* 8001E304 0001A144 7F 23 CB 78 */ mr r3, r25
/* 8001E308 0001A148 4B FE 87 85 */ bl strlen
/* 8001E30C 0001A14C 38 03 00 01 */ addi r0, r3, 0x1
/* 8001E310 0001A150 7F 24 CB 78 */ mr r4, r25
/* 8001E314 0001A154 7F A0 E8 50 */ subf r29, r0, r29
/* 8001E318 0001A158 7F A3 EB 78 */ mr r3, r29
/* 8001E31C 0001A15C 4B FE F6 A5 */ bl strcpy
/* 8001E320 0001A160 7C 1E E8 50 */ subf r0, r30, r29
/* 8001E324 0001A164 90 1A 00 00 */ stw r0, 0x0(r26)
/* 8001E328 0001A168 48 00 00 30 */ b lbl_8001E358
.global lbl_8001E32C
lbl_8001E32C:
/* 8001E32C 0001A16C 83 3A 00 00 */ lwz r25, 0x0(r26)
/* 8001E330 0001A170 7F 23 CB 78 */ mr r3, r25
/* 8001E334 0001A174 4B FF 20 01 */ bl wcslen
/* 8001E338 0001A178 54 63 10 3A */ slwi r3, r3, 2
/* 8001E33C 0001A17C 7F 24 CB 78 */ mr r4, r25
/* 8001E340 0001A180 38 03 00 01 */ addi r0, r3, 0x1
/* 8001E344 0001A184 7F A0 E8 50 */ subf r29, r0, r29
/* 8001E348 0001A188 7F A3 EB 78 */ mr r3, r29
/* 8001E34C 0001A18C 4B FF FD E5 */ bl Utf16ToArg
/* 8001E350 0001A190 7C 1E E8 50 */ subf r0, r30, r29
/* 8001E354 0001A194 90 1A 00 00 */ stw r0, 0x0(r26)
.global lbl_8001E358
lbl_8001E358:
/* 8001E358 0001A198 37 7B FF FF */ addic. r27, r27, -0x1
/* 8001E35C 0001A19C 3B 5A FF FC */ addi r26, r26, -0x4
/* 8001E360 0001A1A0 40 80 FF 84 */ bge lbl_8001E2E4
/* 8001E364 0001A1A4 34 7F 00 01 */ addic. r3, r31, 0x1
/* 8001E368 0001A1A8 7C 1E E8 50 */ subf r0, r30, r29
/* 8001E36C 0001A1AC 54 04 00 3A */ clrrwi r4, r0, 2
/* 8001E370 0001A1B0 38 E0 00 00 */ li r7, 0x0
/* 8001E374 0001A1B4 7C DE 22 14 */ add r6, r30, r4
/* 8001E378 0001A1B8 54 60 10 3A */ slwi r0, r3, 2
/* 8001E37C 0001A1BC 7C C0 30 50 */ subf r6, r0, r6
/* 8001E380 0001A1C0 41 82 00 B0 */ beq lbl_8001E430
/* 8001E384 0001A1C4 28 03 00 08 */ cmplwi r3, 0x8
/* 8001E388 0001A1C8 38 7F FF F9 */ addi r3, r31, -0x7
/* 8001E38C 0001A1CC 40 81 00 70 */ ble lbl_8001E3FC
/* 8001E390 0001A1D0 38 03 00 07 */ addi r0, r3, 0x7
/* 8001E394 0001A1D4 7F 84 E3 78 */ mr r4, r28
/* 8001E398 0001A1D8 54 00 E8 FE */ srwi r0, r0, 3
/* 8001E39C 0001A1DC 7C C5 33 78 */ mr r5, r6
/* 8001E3A0 0001A1E0 7C 09 03 A6 */ mtctr r0
/* 8001E3A4 0001A1E4 28 03 00 00 */ cmplwi r3, 0x0
/* 8001E3A8 0001A1E8 40 81 00 54 */ ble lbl_8001E3FC
.global lbl_8001E3AC
lbl_8001E3AC:
/* 8001E3AC 0001A1EC 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8001E3B0 0001A1F0 38 E7 00 08 */ addi r7, r7, 0x8
/* 8001E3B4 0001A1F4 90 05 00 00 */ stw r0, 0x0(r5)
/* 8001E3B8 0001A1F8 80 04 00 04 */ lwz r0, 0x4(r4)
/* 8001E3BC 0001A1FC 90 05 00 04 */ stw r0, 0x4(r5)
/* 8001E3C0 0001A200 80 04 00 08 */ lwz r0, 0x8(r4)
/* 8001E3C4 0001A204 90 05 00 08 */ stw r0, 0x8(r5)
/* 8001E3C8 0001A208 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8001E3CC 0001A20C 90 05 00 0C */ stw r0, 0xc(r5)
/* 8001E3D0 0001A210 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8001E3D4 0001A214 90 05 00 10 */ stw r0, 0x10(r5)
/* 8001E3D8 0001A218 80 04 00 14 */ lwz r0, 0x14(r4)
/* 8001E3DC 0001A21C 90 05 00 14 */ stw r0, 0x14(r5)
/* 8001E3E0 0001A220 80 04 00 18 */ lwz r0, 0x18(r4)
/* 8001E3E4 0001A224 90 05 00 18 */ stw r0, 0x18(r5)
/* 8001E3E8 0001A228 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 8001E3EC 0001A22C 38 84 00 20 */ addi r4, r4, 0x20
/* 8001E3F0 0001A230 90 05 00 1C */ stw r0, 0x1c(r5)
/* 8001E3F4 0001A234 38 A5 00 20 */ addi r5, r5, 0x20
/* 8001E3F8 0001A238 42 00 FF B4 */ bdnz lbl_8001E3AC
.global lbl_8001E3FC
lbl_8001E3FC:
/* 8001E3FC 0001A23C 38 7F 00 01 */ addi r3, r31, 0x1
/* 8001E400 0001A240 54 E5 10 3A */ slwi r5, r7, 2
/* 8001E404 0001A244 7C 07 18 50 */ subf r0, r7, r3
/* 8001E408 0001A248 7C 9C 2A 14 */ add r4, r28, r5
/* 8001E40C 0001A24C 7C A6 2A 14 */ add r5, r6, r5
/* 8001E410 0001A250 7C 09 03 A6 */ mtctr r0
/* 8001E414 0001A254 7C 07 18 40 */ cmplw r7, r3
/* 8001E418 0001A258 40 80 00 18 */ bge lbl_8001E430
.global lbl_8001E41C
lbl_8001E41C:
/* 8001E41C 0001A25C 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8001E420 0001A260 38 84 00 04 */ addi r4, r4, 0x4
/* 8001E424 0001A264 90 05 00 00 */ stw r0, 0x0(r5)
/* 8001E428 0001A268 38 A5 00 04 */ addi r5, r5, 0x4
/* 8001E42C 0001A26C 42 00 FF F0 */ bdnz lbl_8001E41C
.global lbl_8001E430
lbl_8001E430:
/* 8001E430 0001A270 93 E6 FF FC */ stw r31, -0x4(r6)
/* 8001E434 0001A274 38 06 FF FC */ addi r0, r6, -0x4
/* 8001E438 0001A278 7C 1E 00 50 */ subf r0, r30, r0
/* 8001E43C 0001A27C 90 1E 00 08 */ stw r0, 0x8(r30)
.global lbl_8001E440
lbl_8001E440:
/* 8001E440 0001A280 39 61 00 30 */ addi r11, r1, 0x30
/* 8001E444 0001A284 38 60 00 01 */ li r3, 0x1
/* 8001E448 0001A288 4B FE 8F 39 */ bl lbl_80007380
/* 8001E44C 0001A28C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8001E450 0001A290 7C 08 03 A6 */ mtlr r0
/* 8001E454 0001A294 38 21 00 30 */ addi r1, r1, 0x30
/* 8001E458 0001A298 4E 80 00 20 */ blr
/* 8001E45C 0001A29C 00 00 00 00 */ .4byte 0x00000000
.global Run
Run:
/* 8001E460 0001A2A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001E464 0001A2A4 7C 08 02 A6 */ mflr r0
/* 8001E468 0001A2A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001E46C 0001A2AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001E470 0001A2B0 7C 7F 1B 78 */ mr r31, r3
/* 8001E474 0001A2B4 4B FF E6 3D */ bl ICFlashInvalidate
/* 8001E478 0001A2B8 7C 00 04 AC */ sync
/* 8001E47C 0001A2BC 4C 00 01 2C */ isync
/* 8001E480 0001A2C0 7F E9 03 A6 */ mtctr r31
/* 8001E484 0001A2C4 4E 80 04 20 */ bctr
/* 8001E488 0001A2C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001E48C 0001A2CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001E490 0001A2D0 7C 08 03 A6 */ mtlr r0
/* 8001E494 0001A2D4 38 21 00 10 */ addi r1, r1, 0x10
/* 8001E498 0001A2D8 4E 80 00 20 */ blr
/* 8001E49C 0001A2DC 00 00 00 00 */ .4byte 0x00000000
.global Callback_8001E4A0
Callback_8001E4A0:
/* 8001E4A0 0001A2E0 38 00 00 01 */ li r0, 0x1
/* 8001E4A4 0001A2E4 90 0D E3 D0 */ stw r0, Prepared_8055C7F0@sda21(r13)
/* 8001E4A8 0001A2E8 4E 80 00 20 */ blr
/* 8001E4AC 0001A2EC 00 00 00 00 */ .4byte 0x00000000
.global __OSGetExecParams
__OSGetExecParams:
/* 8001E4B0 0001A2F0 3C A0 80 00 */ lis r5, 0x800030F0@ha
/* 8001E4B4 0001A2F4 80 85 30 F0 */ lwz r4, 0x800030F0@l(r5)
/* 8001E4B8 0001A2F8 7C 04 28 40 */ cmplw r4, r5
/* 8001E4BC 0001A2FC 41 80 00 0C */ blt lbl_8001E4C8
/* 8001E4C0 0001A300 38 A0 00 1C */ li r5, 0x1c
/* 8001E4C4 0001A304 4B FE 5B 3C */ b memcpy
.global lbl_8001E4C8
lbl_8001E4C8:
/* 8001E4C8 0001A308 38 00 00 00 */ li r0, 0x0
/* 8001E4CC 0001A30C 90 03 00 00 */ stw r0, 0x0(r3)
/* 8001E4D0 0001A310 4E 80 00 20 */ blr
/* 8001E4D4 0001A314 00 00 00 00 */ .4byte 0x00000000
/* 8001E4D8 0001A318 00 00 00 00 */ .4byte 0x00000000
/* 8001E4DC 0001A31C 00 00 00 00 */ .4byte 0x00000000
.global callback
callback:
/* 8001E4E0 0001A320 90 6D E3 C8 */ stw r3, DVDLowIntType@sda21(r13)
/* 8001E4E4 0001A324 4E 80 00 20 */ blr
/* 8001E4E8 0001A328 00 00 00 00 */ .4byte 0x00000000
/* 8001E4EC 0001A32C 00 00 00 00 */ .4byte 0x00000000
.global __OSLaunchNextFirmware
__OSLaunchNextFirmware:
/* 8001E4F0 0001A330 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8001E4F4 0001A334 7C 08 02 A6 */ mflr r0
/* 8001E4F8 0001A338 90 01 00 44 */ stw r0, 0x44(r1)
/* 8001E4FC 0001A33C 39 61 00 40 */ addi r11, r1, 0x40
/* 8001E500 0001A340 4B FE 8E 29 */ bl lbl_80007328
/* 8001E504 0001A344 3F C0 80 42 */ lis r30, "@3219"@ha
/* 8001E508 0001A348 38 60 00 01 */ li r3, 0x1
/* 8001E50C 0001A34C 38 00 00 00 */ li r0, 0x0
/* 8001E510 0001A350 90 61 00 14 */ stw r3, 0x14(r1)
/* 8001E514 0001A354 3B DE 28 98 */ addi r30, r30, "@3219"@l
/* 8001E518 0001A358 3B E0 FF FF */ li r31, -0x1
/* 8001E51C 0001A35C 90 01 00 10 */ stw r0, 0x10(r1)
/* 8001E520 0001A360 38 60 00 20 */ li r3, 0x20
/* 8001E524 0001A364 38 80 00 20 */ li r4, 0x20
/* 8001E528 0001A368 4B FF DE C9 */ bl OSAllocFromMEM1ArenaLo
/* 8001E52C 0001A36C 7C 7B 1B 78 */ mr r27, r3
/* 8001E530 0001A370 38 60 08 00 */ li r3, 0x800
/* 8001E534 0001A374 38 80 00 20 */ li r4, 0x20
/* 8001E538 0001A378 4B FF DE B9 */ bl OSAllocFromMEM1ArenaLo
/* 8001E53C 0001A37C 7C 7C 1B 78 */ mr r28, r3
/* 8001E540 0001A380 38 60 4A 00 */ li r3, 0x4a00
/* 8001E544 0001A384 38 80 00 40 */ li r4, 0x40
/* 8001E548 0001A388 4B FF DE A9 */ bl OSAllocFromMEM1ArenaLo
/* 8001E54C 0001A38C 7C 79 1B 78 */ mr r25, r3
/* 8001E550 0001A390 38 60 00 E0 */ li r3, 0xe0
/* 8001E554 0001A394 38 80 00 20 */ li r4, 0x20
/* 8001E558 0001A398 4B FF DE 99 */ bl OSAllocFromMEM1ArenaLo
/* 8001E55C 0001A39C 3C 80 80 00 */ lis r4, 0x80003194@ha
/* 8001E560 0001A3A0 80 AD E3 C0 */ lwz r5, __OSNextPartitionType@sda21(r13)
/* 8001E564 0001A3A4 80 04 31 94 */ lwz r0, 0x80003194@l(r4)
/* 8001E568 0001A3A8 7C 7D 1B 78 */ mr r29, r3
/* 8001E56C 0001A3AC 7C 05 00 40 */ cmplw r5, r0
/* 8001E570 0001A3B0 40 82 00 A4 */ bne lbl_8001E614
/* 8001E574 0001A3B4 80 04 31 98 */ lwz r0, 0x3198(r4)
/* 8001E578 0001A3B8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001E57C 0001A3BC 41 82 00 98 */ beq lbl_8001E614
/* 8001E580 0001A3C0 48 08 3A A1 */ bl ESP_InitLib
/* 8001E584 0001A3C4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001E588 0001A3C8 7C 7F 1B 78 */ mr r31, r3
/* 8001E58C 0001A3CC 40 82 00 14 */ bne lbl_8001E5A0
/* 8001E590 0001A3D0 7F A4 EB 78 */ mr r4, r29
/* 8001E594 0001A3D4 38 60 00 00 */ li r3, 0x0
/* 8001E598 0001A3D8 48 08 3C F9 */ bl ESP_DiGetTicketView
/* 8001E59C 0001A3DC 7C 7F 1B 78 */ mr r31, r3
.global lbl_8001E5A0
lbl_8001E5A0:
/* 8001E5A0 0001A3E0 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8001E5A4 0001A3E4 40 82 00 14 */ bne lbl_8001E5B8
/* 8001E5A8 0001A3E8 38 81 00 10 */ addi r4, r1, 0x10
/* 8001E5AC 0001A3EC 38 60 00 00 */ li r3, 0x0
/* 8001E5B0 0001A3F0 48 08 3D 91 */ bl ESP_DiGetTmd
/* 8001E5B4 0001A3F4 7C 7F 1B 78 */ mr r31, r3
.global lbl_8001E5B8
lbl_8001E5B8:
/* 8001E5B8 0001A3F8 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8001E5BC 0001A3FC 40 82 00 14 */ bne lbl_8001E5D0
/* 8001E5C0 0001A400 7F 23 CB 78 */ mr r3, r25
/* 8001E5C4 0001A404 38 81 00 10 */ addi r4, r1, 0x10
/* 8001E5C8 0001A408 48 08 3D 79 */ bl ESP_DiGetTmd
/* 8001E5CC 0001A40C 7C 7F 1B 78 */ mr r31, r3
.global lbl_8001E5D0
lbl_8001E5D0:
/* 8001E5D0 0001A410 48 08 3A B1 */ bl ESP_CloseLib
/* 8001E5D4 0001A414 48 00 94 2D */ bl OSPlayTimeIsLimited
/* 8001E5D8 0001A418 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001E5DC 0001A41C 41 82 00 38 */ beq lbl_8001E614
/* 8001E5E0 0001A420 38 60 00 00 */ li r3, 0x0
/* 8001E5E4 0001A424 38 00 FF FF */ li r0, -0x1
/* 8001E5E8 0001A428 90 61 00 0C */ stw r3, 0xc(r1)
/* 8001E5EC 0001A42C 7F A3 EB 78 */ mr r3, r29
/* 8001E5F0 0001A430 38 81 00 0C */ addi r4, r1, 0xc
/* 8001E5F4 0001A434 38 A1 00 08 */ addi r5, r1, 0x8
/* 8001E5F8 0001A438 90 01 00 08 */ stw r0, 0x8(r1)
/* 8001E5FC 0001A43C 48 00 98 B5 */ bl __OSGetPlayTime
/* 8001E600 0001A440 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8001E604 0001A444 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001E608 0001A448 40 82 00 0C */ bne lbl_8001E614
/* 8001E60C 0001A44C 48 00 95 D5 */ bl __OSWriteExpiredFlag
/* 8001E610 0001A450 48 00 50 D1 */ bl __OSReturnToMenuForError
.global lbl_8001E614
lbl_8001E614:
/* 8001E614 0001A454 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8001E618 0001A458 40 82 00 20 */ bne lbl_8001E638
/* 8001E61C 0001A45C 3C 60 80 00 */ lis r3, 0x80003194@ha
/* 8001E620 0001A460 7F 9A E3 78 */ mr r26, r28
/* 8001E624 0001A464 80 03 31 94 */ lwz r0, 0x80003194@l(r3)
/* 8001E628 0001A468 90 1C 00 04 */ stw r0, 0x4(r28)
/* 8001E62C 0001A46C 80 03 31 98 */ lwz r0, 0x3198(r3)
/* 8001E630 0001A470 90 1C 00 00 */ stw r0, 0x0(r28)
/* 8001E634 0001A474 48 00 03 98 */ b lbl_8001E9CC
.global lbl_8001E638
lbl_8001E638:
/* 8001E638 0001A478 38 00 00 00 */ li r0, 0x0
/* 8001E63C 0001A47C 3C 60 80 02 */ lis r3, callback@ha
/* 8001E640 0001A480 90 0D E3 C8 */ stw r0, DVDLowIntType@sda21(r13)
/* 8001E644 0001A484 38 63 E4 E0 */ addi r3, r3, callback@l
/* 8001E648 0001A488 48 02 2A F9 */ bl DVDLowClosePartition
/* 8001E64C 0001A48C 60 00 00 00 */ nop
.global lbl_8001E650
lbl_8001E650:
/* 8001E650 0001A490 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E654 0001A494 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001E658 0001A498 41 82 FF F8 */ beq lbl_8001E650
/* 8001E65C 0001A49C 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E660 0001A4A0 2C 00 00 02 */ cmpwi r0, 0x2
/* 8001E664 0001A4A4 41 82 00 20 */ beq lbl_8001E684
/* 8001E668 0001A4A8 40 80 00 10 */ bge lbl_8001E678
/* 8001E66C 0001A4AC 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001E670 0001A4B0 40 80 00 4C */ bge lbl_8001E6BC
/* 8001E674 0001A4B4 48 00 00 38 */ b lbl_8001E6AC
.global lbl_8001E678
lbl_8001E678:
/* 8001E678 0001A4B8 2C 00 00 10 */ cmpwi r0, 0x10
/* 8001E67C 0001A4BC 41 82 00 1C */ beq lbl_8001E698
/* 8001E680 0001A4C0 48 00 00 2C */ b lbl_8001E6AC
.global lbl_8001E684
lbl_8001E684:
/* 8001E684 0001A4C4 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001E688 0001A4C8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E68C 0001A4CC 4B FF F3 05 */ bl OSReport
/* 8001E690 0001A4D0 48 00 50 51 */ bl __OSReturnToMenuForError
/* 8001E694 0001A4D4 48 00 00 28 */ b lbl_8001E6BC
.global lbl_8001E698
lbl_8001E698:
/* 8001E698 0001A4D8 38 7E 00 18 */ addi r3, r30, 0x18
/* 8001E69C 0001A4DC 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E6A0 0001A4E0 4B FF F2 F1 */ bl OSReport
/* 8001E6A4 0001A4E4 48 00 50 3D */ bl __OSReturnToMenuForError
/* 8001E6A8 0001A4E8 48 00 00 14 */ b lbl_8001E6BC
.global lbl_8001E6AC
lbl_8001E6AC:
/* 8001E6AC 0001A4EC 38 7E 00 34 */ addi r3, r30, 0x34
/* 8001E6B0 0001A4F0 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E6B4 0001A4F4 4B FF F2 DD */ bl OSReport
/* 8001E6B8 0001A4F8 48 00 50 29 */ bl __OSReturnToMenuForError
.global lbl_8001E6BC
lbl_8001E6BC:
/* 8001E6BC 0001A4FC 38 00 00 00 */ li r0, 0x0
/* 8001E6C0 0001A500 3C C0 80 02 */ lis r6, callback@ha
/* 8001E6C4 0001A504 90 0D E3 C8 */ stw r0, DVDLowIntType@sda21(r13)
/* 8001E6C8 0001A508 7F 63 DB 78 */ mr r3, r27
/* 8001E6CC 0001A50C 38 C6 E4 E0 */ addi r6, r6, callback@l
/* 8001E6D0 0001A510 38 80 00 20 */ li r4, 0x20
/* 8001E6D4 0001A514 3C A0 00 01 */ lis r5, 0x1
/* 8001E6D8 0001A518 48 02 2B D9 */ bl DVDLowUnencryptedRead
/* 8001E6DC 0001A51C 60 00 00 00 */ nop
.global lbl_8001E6E0
lbl_8001E6E0:
/* 8001E6E0 0001A520 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E6E4 0001A524 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001E6E8 0001A528 41 82 FF F8 */ beq lbl_8001E6E0
/* 8001E6EC 0001A52C 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E6F0 0001A530 2C 00 00 02 */ cmpwi r0, 0x2
/* 8001E6F4 0001A534 41 82 00 20 */ beq lbl_8001E714
/* 8001E6F8 0001A538 40 80 00 10 */ bge lbl_8001E708
/* 8001E6FC 0001A53C 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001E700 0001A540 40 80 00 4C */ bge lbl_8001E74C
/* 8001E704 0001A544 48 00 00 38 */ b lbl_8001E73C
.global lbl_8001E708
lbl_8001E708:
/* 8001E708 0001A548 2C 00 00 10 */ cmpwi r0, 0x10
/* 8001E70C 0001A54C 41 82 00 1C */ beq lbl_8001E728
/* 8001E710 0001A550 48 00 00 2C */ b lbl_8001E73C
.global lbl_8001E714
lbl_8001E714:
/* 8001E714 0001A554 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001E718 0001A558 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E71C 0001A55C 4B FF F2 75 */ bl OSReport
/* 8001E720 0001A560 48 00 4F C1 */ bl __OSReturnToMenuForError
/* 8001E724 0001A564 48 00 00 28 */ b lbl_8001E74C
.global lbl_8001E728
lbl_8001E728:
/* 8001E728 0001A568 38 7E 00 18 */ addi r3, r30, 0x18
/* 8001E72C 0001A56C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E730 0001A570 4B FF F2 61 */ bl OSReport
/* 8001E734 0001A574 48 00 4F AD */ bl __OSReturnToMenuForError
/* 8001E738 0001A578 48 00 00 14 */ b lbl_8001E74C
.global lbl_8001E73C
lbl_8001E73C:
/* 8001E73C 0001A57C 38 7E 00 34 */ addi r3, r30, 0x34
/* 8001E740 0001A580 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E744 0001A584 4B FF F2 4D */ bl OSReport
/* 8001E748 0001A588 48 00 4F 99 */ bl __OSReturnToMenuForError
.global lbl_8001E74C
lbl_8001E74C:
/* 8001E74C 0001A58C 38 00 00 00 */ li r0, 0x0
/* 8001E750 0001A590 90 0D E3 C8 */ stw r0, DVDLowIntType@sda21(r13)
/* 8001E754 0001A594 3C C0 80 02 */ lis r6, callback@ha
/* 8001E758 0001A598 7F 83 E3 78 */ mr r3, r28
/* 8001E75C 0001A59C 80 BB 00 04 */ lwz r5, 0x4(r27)
/* 8001E760 0001A5A0 38 C6 E4 E0 */ addi r6, r6, callback@l
/* 8001E764 0001A5A4 38 80 08 00 */ li r4, 0x800
/* 8001E768 0001A5A8 48 02 2B 49 */ bl DVDLowUnencryptedRead
/* 8001E76C 0001A5AC 60 00 00 00 */ nop
.global lbl_8001E770
lbl_8001E770:
/* 8001E770 0001A5B0 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E774 0001A5B4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001E778 0001A5B8 41 82 FF F8 */ beq lbl_8001E770
/* 8001E77C 0001A5BC 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E780 0001A5C0 2C 00 00 02 */ cmpwi r0, 0x2
/* 8001E784 0001A5C4 41 82 00 20 */ beq lbl_8001E7A4
/* 8001E788 0001A5C8 40 80 00 10 */ bge lbl_8001E798
/* 8001E78C 0001A5CC 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001E790 0001A5D0 40 80 00 4C */ bge lbl_8001E7DC
/* 8001E794 0001A5D4 48 00 00 38 */ b lbl_8001E7CC
.global lbl_8001E798
lbl_8001E798:
/* 8001E798 0001A5D8 2C 00 00 10 */ cmpwi r0, 0x10
/* 8001E79C 0001A5DC 41 82 00 1C */ beq lbl_8001E7B8
/* 8001E7A0 0001A5E0 48 00 00 2C */ b lbl_8001E7CC
.global lbl_8001E7A4
lbl_8001E7A4:
/* 8001E7A4 0001A5E4 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001E7A8 0001A5E8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E7AC 0001A5EC 4B FF F1 E5 */ bl OSReport
/* 8001E7B0 0001A5F0 48 00 4F 31 */ bl __OSReturnToMenuForError
/* 8001E7B4 0001A5F4 48 00 00 28 */ b lbl_8001E7DC
.global lbl_8001E7B8
lbl_8001E7B8:
/* 8001E7B8 0001A5F8 38 7E 00 18 */ addi r3, r30, 0x18
/* 8001E7BC 0001A5FC 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E7C0 0001A600 4B FF F1 D1 */ bl OSReport
/* 8001E7C4 0001A604 48 00 4F 1D */ bl __OSReturnToMenuForError
/* 8001E7C8 0001A608 48 00 00 14 */ b lbl_8001E7DC
.global lbl_8001E7CC
lbl_8001E7CC:
/* 8001E7CC 0001A60C 38 7E 00 34 */ addi r3, r30, 0x34
/* 8001E7D0 0001A610 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E7D4 0001A614 4B FF F1 BD */ bl OSReport
/* 8001E7D8 0001A618 48 00 4F 09 */ bl __OSReturnToMenuForError
.global lbl_8001E7DC
lbl_8001E7DC:
/* 8001E7DC 0001A61C 80 8D E3 C0 */ lwz r4, __OSNextPartitionType@sda21(r13)
/* 8001E7E0 0001A620 7F 86 E3 78 */ mr r6, r28
/* 8001E7E4 0001A624 3B 40 00 00 */ li r26, 0x0
/* 8001E7E8 0001A628 38 A0 00 00 */ li r5, 0x0
/* 8001E7EC 0001A62C 48 00 00 1C */ b lbl_8001E808
.global lbl_8001E7F0
lbl_8001E7F0:
/* 8001E7F0 0001A630 80 06 00 04 */ lwz r0, 0x4(r6)
/* 8001E7F4 0001A634 7C 00 20 40 */ cmplw r0, r4
/* 8001E7F8 0001A638 40 82 00 08 */ bne lbl_8001E800
/* 8001E7FC 0001A63C 7C DA 33 78 */ mr r26, r6
.global lbl_8001E800
lbl_8001E800:
/* 8001E800 0001A640 38 C6 00 08 */ addi r6, r6, 0x8
/* 8001E804 0001A644 38 A5 00 01 */ addi r5, r5, 0x1
.global lbl_8001E808
lbl_8001E808:
/* 8001E808 0001A648 80 1B 00 00 */ lwz r0, 0x0(r27)
/* 8001E80C 0001A64C 54 A3 06 3E */ clrlwi r3, r5, 24
/* 8001E810 0001A650 7C 03 00 40 */ cmplw r3, r0
/* 8001E814 0001A654 41 80 FF DC */ blt lbl_8001E7F0
/* 8001E818 0001A658 2C 1A 00 00 */ cmpwi r26, 0x0
/* 8001E81C 0001A65C 40 82 00 3C */ bne lbl_8001E858
/* 8001E820 0001A660 80 8D E3 C0 */ lwz r4, __OSNextPartitionType@sda21(r13)
/* 8001E824 0001A664 38 DC 00 20 */ addi r6, r28, 0x20
/* 8001E828 0001A668 38 A0 00 00 */ li r5, 0x0
/* 8001E82C 0001A66C 48 00 00 1C */ b lbl_8001E848
.global lbl_8001E830
lbl_8001E830:
/* 8001E830 0001A670 80 06 00 04 */ lwz r0, 0x4(r6)
/* 8001E834 0001A674 7C 00 20 40 */ cmplw r0, r4
/* 8001E838 0001A678 40 82 00 08 */ bne lbl_8001E840
/* 8001E83C 0001A67C 7C DA 33 78 */ mr r26, r6
.global lbl_8001E840
lbl_8001E840:
/* 8001E840 0001A680 38 C6 00 08 */ addi r6, r6, 0x8
/* 8001E844 0001A684 38 A5 00 01 */ addi r5, r5, 0x1
.global lbl_8001E848
lbl_8001E848:
/* 8001E848 0001A688 80 1B 00 08 */ lwz r0, 0x8(r27)
/* 8001E84C 0001A68C 54 A3 06 3E */ clrlwi r3, r5, 24
/* 8001E850 0001A690 7C 03 00 40 */ cmplw r3, r0
/* 8001E854 0001A694 41 80 FF DC */ blt lbl_8001E830
.global lbl_8001E858
lbl_8001E858:
/* 8001E858 0001A698 2C 1A 00 00 */ cmpwi r26, 0x0
/* 8001E85C 0001A69C 40 82 00 14 */ bne lbl_8001E870
/* 8001E860 0001A6A0 38 7E 00 54 */ addi r3, r30, 0x54
/* 8001E864 0001A6A4 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E868 0001A6A8 4B FF F1 29 */ bl OSReport
/* 8001E86C 0001A6AC 48 00 4E 75 */ bl __OSReturnToMenuForError
.global lbl_8001E870
lbl_8001E870:
/* 8001E870 0001A6B0 3C 80 80 00 */ lis r4, 0x80003194@ha
/* 8001E874 0001A6B4 80 1A 00 04 */ lwz r0, 0x4(r26)
/* 8001E878 0001A6B8 90 04 31 94 */ stw r0, 0x80003194@l(r4)
/* 8001E87C 0001A6BC 38 00 00 00 */ li r0, 0x0
/* 8001E880 0001A6C0 80 7A 00 00 */ lwz r3, 0x0(r26)
/* 8001E884 0001A6C4 90 64 31 98 */ stw r3, 0x3198(r4)
/* 8001E888 0001A6C8 90 0D E3 C8 */ stw r0, DVDLowIntType@sda21(r13)
/* 8001E88C 0001A6CC 88 04 31 87 */ lbz r0, 0x3187(r4)
/* 8001E890 0001A6D0 28 00 00 80 */ cmplwi r0, 0x80
/* 8001E894 0001A6D4 40 82 00 2C */ bne lbl_8001E8C0
/* 8001E898 0001A6D8 3D 20 80 02 */ lis r9, callback@ha
/* 8001E89C 0001A6DC 80 7A 00 00 */ lwz r3, 0x0(r26)
/* 8001E8A0 0001A6E0 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 8001E8A4 0001A6E4 7F A4 EB 78 */ mr r4, r29
/* 8001E8A8 0001A6E8 7F 26 CB 78 */ mr r6, r25
/* 8001E8AC 0001A6EC 39 29 E4 E0 */ addi r9, r9, callback@l
/* 8001E8B0 0001A6F0 38 E0 00 00 */ li r7, 0x0
/* 8001E8B4 0001A6F4 39 00 00 00 */ li r8, 0x0
/* 8001E8B8 0001A6F8 48 02 21 69 */ bl DVDLowOpenPartitionWithTmdAndTicketView
/* 8001E8BC 0001A6FC 48 00 00 24 */ b lbl_8001E8E0
.global lbl_8001E8C0
lbl_8001E8C0:
/* 8001E8C0 0001A700 3D 00 80 02 */ lis r8, callback@ha
/* 8001E8C4 0001A704 80 7A 00 00 */ lwz r3, 0x0(r26)
/* 8001E8C8 0001A708 7F 27 CB 78 */ mr r7, r25
/* 8001E8CC 0001A70C 38 80 00 00 */ li r4, 0x0
/* 8001E8D0 0001A710 39 08 E4 E0 */ addi r8, r8, callback@l
/* 8001E8D4 0001A714 38 A0 00 00 */ li r5, 0x0
/* 8001E8D8 0001A718 38 C0 00 00 */ li r6, 0x0
/* 8001E8DC 0001A71C 48 02 1E D5 */ bl DVDLowOpenPartition
.global lbl_8001E8E0
lbl_8001E8E0:
/* 8001E8E0 0001A720 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E8E4 0001A724 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001E8E8 0001A728 41 82 FF F8 */ beq lbl_8001E8E0
/* 8001E8EC 0001A72C 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E8F0 0001A730 2C 00 00 02 */ cmpwi r0, 0x2
/* 8001E8F4 0001A734 41 82 00 20 */ beq lbl_8001E914
/* 8001E8F8 0001A738 40 80 00 10 */ bge lbl_8001E908
/* 8001E8FC 0001A73C 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001E900 0001A740 40 80 00 4C */ bge lbl_8001E94C
/* 8001E904 0001A744 48 00 00 38 */ b lbl_8001E93C
.global lbl_8001E908
lbl_8001E908:
/* 8001E908 0001A748 2C 00 00 10 */ cmpwi r0, 0x10
/* 8001E90C 0001A74C 41 82 00 1C */ beq lbl_8001E928
/* 8001E910 0001A750 48 00 00 2C */ b lbl_8001E93C
.global lbl_8001E914
lbl_8001E914:
/* 8001E914 0001A754 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001E918 0001A758 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E91C 0001A75C 4B FF F0 75 */ bl OSReport
/* 8001E920 0001A760 48 00 4D C1 */ bl __OSReturnToMenuForError
/* 8001E924 0001A764 48 00 00 28 */ b lbl_8001E94C
.global lbl_8001E928
lbl_8001E928:
/* 8001E928 0001A768 38 7E 00 18 */ addi r3, r30, 0x18
/* 8001E92C 0001A76C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E930 0001A770 4B FF F0 61 */ bl OSReport
/* 8001E934 0001A774 48 00 4D AD */ bl __OSReturnToMenuForError
/* 8001E938 0001A778 48 00 00 14 */ b lbl_8001E94C
.global lbl_8001E93C
lbl_8001E93C:
/* 8001E93C 0001A77C 38 7E 00 34 */ addi r3, r30, 0x34
/* 8001E940 0001A780 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E944 0001A784 4B FF F0 4D */ bl OSReport
/* 8001E948 0001A788 48 00 4D 99 */ bl __OSReturnToMenuForError
.global lbl_8001E94C
lbl_8001E94C:
/* 8001E94C 0001A78C 38 00 00 00 */ li r0, 0x0
/* 8001E950 0001A790 3C 60 80 02 */ lis r3, callback@ha
/* 8001E954 0001A794 90 0D E3 C8 */ stw r0, DVDLowIntType@sda21(r13)
/* 8001E958 0001A798 38 63 E4 E0 */ addi r3, r3, callback@l
/* 8001E95C 0001A79C 48 02 27 E5 */ bl DVDLowClosePartition
.global lbl_8001E960
lbl_8001E960:
/* 8001E960 0001A7A0 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E964 0001A7A4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001E968 0001A7A8 41 82 FF F8 */ beq lbl_8001E960
/* 8001E96C 0001A7AC 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001E970 0001A7B0 2C 00 00 02 */ cmpwi r0, 0x2
/* 8001E974 0001A7B4 41 82 00 20 */ beq lbl_8001E994
/* 8001E978 0001A7B8 40 80 00 10 */ bge lbl_8001E988
/* 8001E97C 0001A7BC 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001E980 0001A7C0 40 80 00 4C */ bge lbl_8001E9CC
/* 8001E984 0001A7C4 48 00 00 38 */ b lbl_8001E9BC
.global lbl_8001E988
lbl_8001E988:
/* 8001E988 0001A7C8 2C 00 00 10 */ cmpwi r0, 0x10
/* 8001E98C 0001A7CC 41 82 00 1C */ beq lbl_8001E9A8
/* 8001E990 0001A7D0 48 00 00 2C */ b lbl_8001E9BC
.global lbl_8001E994
lbl_8001E994:
/* 8001E994 0001A7D4 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001E998 0001A7D8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E99C 0001A7DC 4B FF EF F5 */ bl OSReport
/* 8001E9A0 0001A7E0 48 00 4D 41 */ bl __OSReturnToMenuForError
/* 8001E9A4 0001A7E4 48 00 00 28 */ b lbl_8001E9CC
.global lbl_8001E9A8
lbl_8001E9A8:
/* 8001E9A8 0001A7E8 38 7E 00 18 */ addi r3, r30, 0x18
/* 8001E9AC 0001A7EC 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E9B0 0001A7F0 4B FF EF E1 */ bl OSReport
/* 8001E9B4 0001A7F4 48 00 4D 2D */ bl __OSReturnToMenuForError
/* 8001E9B8 0001A7F8 48 00 00 14 */ b lbl_8001E9CC
.global lbl_8001E9BC
lbl_8001E9BC:
/* 8001E9BC 0001A7FC 38 7E 00 34 */ addi r3, r30, 0x34
/* 8001E9C0 0001A800 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E9C4 0001A804 4B FF EF CD */ bl OSReport
/* 8001E9C8 0001A808 48 00 4D 19 */ bl __OSReturnToMenuForError
.global lbl_8001E9CC
lbl_8001E9CC:
/* 8001E9CC 0001A80C 82 F9 01 84 */ lwz r23, 0x184(r25)
/* 8001E9D0 0001A810 82 D9 01 88 */ lwz r22, 0x188(r25)
/* 8001E9D4 0001A814 48 08 36 4D */ bl ESP_InitLib
/* 8001E9D8 0001A818 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001E9DC 0001A81C 7C 7F 1B 78 */ mr r31, r3
/* 8001E9E0 0001A820 41 82 00 1C */ beq lbl_8001E9FC
/* 8001E9E4 0001A824 7F E4 FB 78 */ mr r4, r31
/* 8001E9E8 0001A828 38 7E 00 84 */ addi r3, r30, 0x84
/* 8001E9EC 0001A82C 38 A0 04 0D */ li r5, 0x40d
/* 8001E9F0 0001A830 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001E9F4 0001A834 4B FF EF 9D */ bl OSReport
/* 8001E9F8 0001A838 48 00 4D 99 */ bl __OSHotResetForError
.global lbl_8001E9FC
lbl_8001E9FC:
/* 8001E9FC 0001A83C 7E C4 B3 78 */ mr r4, r22
/* 8001EA00 0001A840 7E E3 BB 78 */ mr r3, r23
/* 8001EA04 0001A844 38 C1 00 14 */ addi r6, r1, 0x14
/* 8001EA08 0001A848 38 A0 00 00 */ li r5, 0x0
/* 8001EA0C 0001A84C 48 08 37 65 */ bl ESP_GetTicketViews
/* 8001EA10 0001A850 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001EA14 0001A854 7C 7F 1B 78 */ mr r31, r3
/* 8001EA18 0001A858 28 00 00 01 */ cmplwi r0, 0x1
/* 8001EA1C 0001A85C 40 82 00 0C */ bne lbl_8001EA28
/* 8001EA20 0001A860 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EA24 0001A864 41 82 00 1C */ beq lbl_8001EA40
.global lbl_8001EA28
lbl_8001EA28:
/* 8001EA28 0001A868 7F E4 FB 78 */ mr r4, r31
/* 8001EA2C 0001A86C 38 7E 00 84 */ addi r3, r30, 0x84
/* 8001EA30 0001A870 38 A0 04 16 */ li r5, 0x416
/* 8001EA34 0001A874 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001EA38 0001A878 4B FF EF 59 */ bl OSReport
/* 8001EA3C 0001A87C 48 00 4D 55 */ bl __OSHotResetForError
.global lbl_8001EA40
lbl_8001EA40:
/* 8001EA40 0001A880 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001EA44 0001A884 38 80 00 20 */ li r4, 0x20
/* 8001EA48 0001A888 1C 60 00 D8 */ mulli r3, r0, 0xd8
/* 8001EA4C 0001A88C 38 03 00 1F */ addi r0, r3, 0x1f
/* 8001EA50 0001A890 54 03 00 34 */ clrrwi r3, r0, 5
/* 8001EA54 0001A894 4B FF D9 9D */ bl OSAllocFromMEM1ArenaLo
/* 8001EA58 0001A898 7C 78 1B 78 */ mr r24, r3
/* 8001EA5C 0001A89C 7E C4 B3 78 */ mr r4, r22
/* 8001EA60 0001A8A0 7E E3 BB 78 */ mr r3, r23
/* 8001EA64 0001A8A4 38 C1 00 14 */ addi r6, r1, 0x14
/* 8001EA68 0001A8A8 7F 05 C3 78 */ mr r5, r24
/* 8001EA6C 0001A8AC 48 08 37 05 */ bl ESP_GetTicketViews
/* 8001EA70 0001A8B0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EA74 0001A8B4 7C 7F 1B 78 */ mr r31, r3
/* 8001EA78 0001A8B8 41 82 00 1C */ beq lbl_8001EA94
/* 8001EA7C 0001A8BC 7F E4 FB 78 */ mr r4, r31
/* 8001EA80 0001A8C0 38 7E 00 84 */ addi r3, r30, 0x84
/* 8001EA84 0001A8C4 38 A0 04 1F */ li r5, 0x41f
/* 8001EA88 0001A8C8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001EA8C 0001A8CC 4B FF EF 05 */ bl OSReport
/* 8001EA90 0001A8D0 48 00 4D 01 */ bl __OSHotResetForError
.global lbl_8001EA94
lbl_8001EA94:
/* 8001EA94 0001A8D4 48 02 18 CD */ bl DVDLowFinalize
/* 8001EA98 0001A8D8 3C A0 80 00 */ lis r5, 0x8000311C@ha
/* 8001EA9C 0001A8DC 38 80 01 00 */ li r4, 0x100
/* 8001EAA0 0001A8E0 83 85 31 1C */ lwz r28, 0x8000311C@l(r5)
/* 8001EAA4 0001A8E4 38 65 31 00 */ addi r3, r5, 0x3100
/* 8001EAA8 0001A8E8 83 65 31 20 */ lwz r27, 0x3120(r5)
/* 8001EAAC 0001A8EC 4B FF DF 05 */ bl DCStoreRange
/* 8001EAB0 0001A8F0 7E C4 B3 78 */ mr r4, r22
/* 8001EAB4 0001A8F4 7E E3 BB 78 */ mr r3, r23
/* 8001EAB8 0001A8F8 7F 05 C3 78 */ mr r5, r24
/* 8001EABC 0001A8FC 48 08 36 15 */ bl ESP_LaunchTitle
/* 8001EAC0 0001A900 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EAC4 0001A904 7C 7F 1B 78 */ mr r31, r3
/* 8001EAC8 0001A908 41 82 00 1C */ beq lbl_8001EAE4
/* 8001EACC 0001A90C 7F E4 FB 78 */ mr r4, r31
/* 8001EAD0 0001A910 38 7E 00 84 */ addi r3, r30, 0x84
/* 8001EAD4 0001A914 38 A0 04 2F */ li r5, 0x42f
/* 8001EAD8 0001A918 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001EADC 0001A91C 4B FF EE B5 */ bl OSReport
/* 8001EAE0 0001A920 48 00 4C B1 */ bl __OSHotResetForError
.global lbl_8001EAE4
lbl_8001EAE4:
/* 8001EAE4 0001A924 48 08 35 9D */ bl ESP_CloseLib
/* 8001EAE8 0001A928 3F E0 80 00 */ lis r31, 0x80003100@ha
/* 8001EAEC 0001A92C 38 80 01 00 */ li r4, 0x100
/* 8001EAF0 0001A930 38 7F 31 00 */ addi r3, r31, 0x80003100@l
/* 8001EAF4 0001A934 4B FF DE 5D */ bl DCInvalidateRange
/* 8001EAF8 0001A938 80 7F 31 1C */ lwz r3, 0x311c(r31)
/* 8001EAFC 0001A93C 7C 1C 18 40 */ cmplw r28, r3
/* 8001EB00 0001A940 40 80 00 54 */ bge lbl_8001EB54
/* 8001EB04 0001A944 80 1F 31 20 */ lwz r0, 0x3120(r31)
/* 8001EB08 0001A948 7C 00 18 50 */ subf r0, r0, r3
/* 8001EB0C 0001A94C 7C 00 E0 50 */ subf r0, r0, r28
/* 8001EB10 0001A950 90 1F 31 20 */ stw r0, 0x3120(r31)
/* 8001EB14 0001A954 80 7F 31 28 */ lwz r3, 0x3128(r31)
/* 8001EB18 0001A958 80 1F 31 1C */ lwz r0, 0x311c(r31)
/* 8001EB1C 0001A95C 7C 03 00 50 */ subf r0, r3, r0
/* 8001EB20 0001A960 7C 00 E0 50 */ subf r0, r0, r28
/* 8001EB24 0001A964 90 1F 31 28 */ stw r0, 0x3128(r31)
/* 8001EB28 0001A968 80 7F 31 30 */ lwz r3, 0x3130(r31)
/* 8001EB2C 0001A96C 80 1F 31 1C */ lwz r0, 0x311c(r31)
/* 8001EB30 0001A970 7C 03 00 50 */ subf r0, r3, r0
/* 8001EB34 0001A974 7C 00 E0 50 */ subf r0, r0, r28
/* 8001EB38 0001A978 90 1F 31 30 */ stw r0, 0x3130(r31)
/* 8001EB3C 0001A97C 80 7F 31 34 */ lwz r3, 0x3134(r31)
/* 8001EB40 0001A980 80 1F 31 1C */ lwz r0, 0x311c(r31)
/* 8001EB44 0001A984 7C 03 00 50 */ subf r0, r3, r0
/* 8001EB48 0001A988 7C 00 E0 50 */ subf r0, r0, r28
/* 8001EB4C 0001A98C 90 1F 31 34 */ stw r0, 0x3134(r31)
/* 8001EB50 0001A990 93 9F 31 1C */ stw r28, 0x311c(r31)
.global lbl_8001EB54
lbl_8001EB54:
/* 8001EB54 0001A994 3C 60 80 00 */ lis r3, 0x80003120@ha
/* 8001EB58 0001A998 80 03 31 20 */ lwz r0, 0x80003120@l(r3)
/* 8001EB5C 0001A99C 7C 1B 00 40 */ cmplw r27, r0
/* 8001EB60 0001A9A0 40 80 00 08 */ bge lbl_8001EB68
/* 8001EB64 0001A9A4 48 00 3F 2D */ bl __OSInitMemoryProtection
.global lbl_8001EB68
lbl_8001EB68:
/* 8001EB68 0001A9A8 48 00 76 79 */ bl __OSInitIPCBuffer
/* 8001EB6C 0001A9AC 48 02 FC 15 */ bl IPCReInit
/* 8001EB70 0001A9B0 48 03 01 C1 */ bl IPCCltReInit
/* 8001EB74 0001A9B4 48 02 18 3D */ bl DVDLowInit
/* 8001EB78 0001A9B8 38 00 00 00 */ li r0, 0x0
/* 8001EB7C 0001A9BC 3C 60 80 4A */ lis r3, id@ha
/* 8001EB80 0001A9C0 3C 80 80 02 */ lis r4, callback@ha
/* 8001EB84 0001A9C4 90 0D E3 C8 */ stw r0, DVDLowIntType@sda21(r13)
/* 8001EB88 0001A9C8 38 63 91 60 */ addi r3, r3, id@l
/* 8001EB8C 0001A9CC 38 84 E4 E0 */ addi r4, r4, callback@l
/* 8001EB90 0001A9D0 48 02 1A 91 */ bl DVDLowReadDiskID
/* 8001EB94 0001A9D4 60 00 00 00 */ nop
.global lbl_8001EB98
lbl_8001EB98:
/* 8001EB98 0001A9D8 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001EB9C 0001A9DC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001EBA0 0001A9E0 41 82 FF F8 */ beq lbl_8001EB98
/* 8001EBA4 0001A9E4 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001EBA8 0001A9E8 2C 00 00 02 */ cmpwi r0, 0x2
/* 8001EBAC 0001A9EC 41 82 00 20 */ beq lbl_8001EBCC
/* 8001EBB0 0001A9F0 40 80 00 10 */ bge lbl_8001EBC0
/* 8001EBB4 0001A9F4 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001EBB8 0001A9F8 40 80 00 4C */ bge lbl_8001EC04
/* 8001EBBC 0001A9FC 48 00 00 38 */ b lbl_8001EBF4
.global lbl_8001EBC0
lbl_8001EBC0:
/* 8001EBC0 0001AA00 2C 00 00 10 */ cmpwi r0, 0x10
/* 8001EBC4 0001AA04 41 82 00 1C */ beq lbl_8001EBE0
/* 8001EBC8 0001AA08 48 00 00 2C */ b lbl_8001EBF4
.global lbl_8001EBCC
lbl_8001EBCC:
/* 8001EBCC 0001AA0C 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001EBD0 0001AA10 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001EBD4 0001AA14 4B FF ED BD */ bl OSReport
/* 8001EBD8 0001AA18 48 00 4B 09 */ bl __OSReturnToMenuForError
/* 8001EBDC 0001AA1C 48 00 00 28 */ b lbl_8001EC04
.global lbl_8001EBE0
lbl_8001EBE0:
/* 8001EBE0 0001AA20 38 7E 00 18 */ addi r3, r30, 0x18
/* 8001EBE4 0001AA24 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001EBE8 0001AA28 4B FF ED A9 */ bl OSReport
/* 8001EBEC 0001AA2C 48 00 4A F5 */ bl __OSReturnToMenuForError
/* 8001EBF0 0001AA30 48 00 00 14 */ b lbl_8001EC04
.global lbl_8001EBF4
lbl_8001EBF4:
/* 8001EBF4 0001AA34 38 7E 00 34 */ addi r3, r30, 0x34
/* 8001EBF8 0001AA38 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001EBFC 0001AA3C 4B FF ED 95 */ bl OSReport
/* 8001EC00 0001AA40 48 00 4A E1 */ bl __OSReturnToMenuForError
.global lbl_8001EC04
lbl_8001EC04:
/* 8001EC04 0001AA44 38 00 00 00 */ li r0, 0x0
/* 8001EC08 0001AA48 90 0D E3 C8 */ stw r0, DVDLowIntType@sda21(r13)
/* 8001EC0C 0001AA4C 3C 60 80 00 */ lis r3, 0x80003187@ha
/* 8001EC10 0001AA50 88 03 31 87 */ lbz r0, 0x80003187@l(r3)
/* 8001EC14 0001AA54 28 00 00 80 */ cmplwi r0, 0x80
/* 8001EC18 0001AA58 40 82 00 2C */ bne lbl_8001EC44
/* 8001EC1C 0001AA5C 3D 20 80 02 */ lis r9, callback@ha
/* 8001EC20 0001AA60 80 7A 00 00 */ lwz r3, 0x0(r26)
/* 8001EC24 0001AA64 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 8001EC28 0001AA68 7F A4 EB 78 */ mr r4, r29
/* 8001EC2C 0001AA6C 7F 26 CB 78 */ mr r6, r25
/* 8001EC30 0001AA70 39 29 E4 E0 */ addi r9, r9, callback@l
/* 8001EC34 0001AA74 38 E0 00 00 */ li r7, 0x0
/* 8001EC38 0001AA78 39 00 00 00 */ li r8, 0x0
/* 8001EC3C 0001AA7C 48 02 1D E5 */ bl DVDLowOpenPartitionWithTmdAndTicketView
/* 8001EC40 0001AA80 48 00 00 28 */ b lbl_8001EC68
.global lbl_8001EC44
lbl_8001EC44:
/* 8001EC44 0001AA84 3D 00 80 02 */ lis r8, callback@ha
/* 8001EC48 0001AA88 80 7A 00 00 */ lwz r3, 0x0(r26)
/* 8001EC4C 0001AA8C 7F 27 CB 78 */ mr r7, r25
/* 8001EC50 0001AA90 38 80 00 00 */ li r4, 0x0
/* 8001EC54 0001AA94 39 08 E4 E0 */ addi r8, r8, callback@l
/* 8001EC58 0001AA98 38 A0 00 00 */ li r5, 0x0
/* 8001EC5C 0001AA9C 38 C0 00 00 */ li r6, 0x0
/* 8001EC60 0001AAA0 48 02 1B 51 */ bl DVDLowOpenPartition
/* 8001EC64 0001AAA4 60 00 00 00 */ nop
.global lbl_8001EC68
lbl_8001EC68:
/* 8001EC68 0001AAA8 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001EC6C 0001AAAC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001EC70 0001AAB0 41 82 FF F8 */ beq lbl_8001EC68
/* 8001EC74 0001AAB4 80 0D E3 C8 */ lwz r0, DVDLowIntType@sda21(r13)
/* 8001EC78 0001AAB8 2C 00 00 02 */ cmpwi r0, 0x2
/* 8001EC7C 0001AABC 41 82 00 20 */ beq lbl_8001EC9C
/* 8001EC80 0001AAC0 40 80 00 10 */ bge lbl_8001EC90
/* 8001EC84 0001AAC4 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001EC88 0001AAC8 40 80 00 4C */ bge lbl_8001ECD4
/* 8001EC8C 0001AACC 48 00 00 38 */ b lbl_8001ECC4
.global lbl_8001EC90
lbl_8001EC90:
/* 8001EC90 0001AAD0 2C 00 00 10 */ cmpwi r0, 0x10
/* 8001EC94 0001AAD4 41 82 00 1C */ beq lbl_8001ECB0
/* 8001EC98 0001AAD8 48 00 00 2C */ b lbl_8001ECC4
.global lbl_8001EC9C
lbl_8001EC9C:
/* 8001EC9C 0001AADC 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001ECA0 0001AAE0 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001ECA4 0001AAE4 4B FF EC ED */ bl OSReport
/* 8001ECA8 0001AAE8 48 00 4A 39 */ bl __OSReturnToMenuForError
/* 8001ECAC 0001AAEC 48 00 00 28 */ b lbl_8001ECD4
.global lbl_8001ECB0
lbl_8001ECB0:
/* 8001ECB0 0001AAF0 38 7E 00 18 */ addi r3, r30, 0x18
/* 8001ECB4 0001AAF4 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001ECB8 0001AAF8 4B FF EC D9 */ bl OSReport
/* 8001ECBC 0001AAFC 48 00 4A 25 */ bl __OSReturnToMenuForError
/* 8001ECC0 0001AB00 48 00 00 14 */ b lbl_8001ECD4
.global lbl_8001ECC4
lbl_8001ECC4:
/* 8001ECC4 0001AB04 38 7E 00 34 */ addi r3, r30, 0x34
/* 8001ECC8 0001AB08 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001ECCC 0001AB0C 4B FF EC C5 */ bl OSReport
/* 8001ECD0 0001AB10 48 00 4A 11 */ bl __OSReturnToMenuForError
.global lbl_8001ECD4
lbl_8001ECD4:
/* 8001ECD4 0001AB14 39 61 00 40 */ addi r11, r1, 0x40
/* 8001ECD8 0001AB18 4B FE 86 9D */ bl lbl_80007374
/* 8001ECDC 0001AB1C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8001ECE0 0001AB20 7C 08 03 A6 */ mtlr r0
/* 8001ECE4 0001AB24 38 21 00 40 */ addi r1, r1, 0x40
/* 8001ECE8 0001AB28 4E 80 00 20 */ blr
/* 8001ECEC 0001AB2C 00 00 00 00 */ .4byte 0x00000000
.global __OSLaunchMenu
__OSLaunchMenu:
/* 8001ECF0 0001AB30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8001ECF4 0001AB34 7C 08 02 A6 */ mflr r0
/* 8001ECF8 0001AB38 3C 60 81 28 */ lis r3, 0x8128
/* 8001ECFC 0001AB3C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8001ED00 0001AB40 38 00 00 01 */ li r0, 0x1
/* 8001ED04 0001AB44 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8001ED08 0001AB48 90 01 00 08 */ stw r0, 0x8(r1)
/* 8001ED0C 0001AB4C 4B FF D6 C5 */ bl OSSetMEM1ArenaLo
/* 8001ED10 0001AB50 3C 60 81 2F */ lis r3, 0x812f
/* 8001ED14 0001AB54 4B FF D6 9D */ bl OSSetMEM1ArenaHi
/* 8001ED18 0001AB58 48 08 33 09 */ bl ESP_InitLib
/* 8001ED1C 0001AB5C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001ED20 0001AB60 40 82 00 84 */ bne lbl_8001EDA4
/* 8001ED24 0001AB64 38 C1 00 08 */ addi r6, r1, 0x8
/* 8001ED28 0001AB68 38 80 00 02 */ li r4, 0x2
/* 8001ED2C 0001AB6C 38 60 00 01 */ li r3, 0x1
/* 8001ED30 0001AB70 38 A0 00 00 */ li r5, 0x0
/* 8001ED34 0001AB74 48 08 34 3D */ bl ESP_GetTicketViews
/* 8001ED38 0001AB78 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8001ED3C 0001AB7C 28 00 00 01 */ cmplwi r0, 0x1
/* 8001ED40 0001AB80 40 82 00 64 */ bne lbl_8001EDA4
/* 8001ED44 0001AB84 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001ED48 0001AB88 41 82 00 08 */ beq lbl_8001ED50
/* 8001ED4C 0001AB8C 48 00 00 58 */ b lbl_8001EDA4
.global lbl_8001ED50
lbl_8001ED50:
/* 8001ED50 0001AB90 1C 60 00 D8 */ mulli r3, r0, 0xd8
/* 8001ED54 0001AB94 38 80 00 20 */ li r4, 0x20
/* 8001ED58 0001AB98 38 03 00 1F */ addi r0, r3, 0x1f
/* 8001ED5C 0001AB9C 54 03 00 34 */ clrrwi r3, r0, 5
/* 8001ED60 0001ABA0 4B FF D6 91 */ bl OSAllocFromMEM1ArenaLo
/* 8001ED64 0001ABA4 7C 7F 1B 78 */ mr r31, r3
/* 8001ED68 0001ABA8 38 C1 00 08 */ addi r6, r1, 0x8
/* 8001ED6C 0001ABAC 7F E5 FB 78 */ mr r5, r31
/* 8001ED70 0001ABB0 38 80 00 02 */ li r4, 0x2
/* 8001ED74 0001ABB4 38 60 00 01 */ li r3, 0x1
/* 8001ED78 0001ABB8 48 08 33 F9 */ bl ESP_GetTicketViews
/* 8001ED7C 0001ABBC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001ED80 0001ABC0 40 82 00 24 */ bne lbl_8001EDA4
/* 8001ED84 0001ABC4 7F E5 FB 78 */ mr r5, r31
/* 8001ED88 0001ABC8 38 80 00 02 */ li r4, 0x2
/* 8001ED8C 0001ABCC 38 60 00 01 */ li r3, 0x1
/* 8001ED90 0001ABD0 48 08 33 41 */ bl ESP_LaunchTitle
/* 8001ED94 0001ABD4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001ED98 0001ABD8 40 82 00 0C */ bne lbl_8001EDA4
/* 8001ED9C 0001ABDC 60 00 00 00 */ nop
.global lbl_8001EDA0
lbl_8001EDA0:
/* 8001EDA0 0001ABE0 48 00 00 00 */ b lbl_8001EDA0
.global lbl_8001EDA4
lbl_8001EDA4:
/* 8001EDA4 0001ABE4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8001EDA8 0001ABE8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8001EDAC 0001ABEC 7C 08 03 A6 */ mtlr r0
/* 8001EDB0 0001ABF0 38 21 00 20 */ addi r1, r1, 0x20
/* 8001EDB4 0001ABF4 4E 80 00 20 */ blr
/* 8001EDB8 0001ABF8 00 00 00 00 */ .4byte 0x00000000
/* 8001EDBC 0001ABFC 00 00 00 00 */ .4byte 0x00000000
.global __OSBootDolSimple
__OSBootDolSimple:
/* 8001EDC0 0001AC00 54 2B 06 FE */ clrlwi r11, r1, 27
/* 8001EDC4 0001AC04 7C 2C 0B 78 */ mr r12, r1
/* 8001EDC8 0001AC08 21 6B FE 00 */ subfic r11, r11, -0x200
/* 8001EDCC 0001AC0C 7C 21 59 6E */ stwux r1, r1, r11
/* 8001EDD0 0001AC10 7C 08 02 A6 */ mflr r0
/* 8001EDD4 0001AC14 7D 8B 63 78 */ mr r11, r12
/* 8001EDD8 0001AC18 90 0C 00 04 */ stw r0, 0x4(r12)
/* 8001EDDC 0001AC1C 4B FE 85 55 */ bl lbl_80007330
/* 8001EDE0 0001AC20 7C 7B 1B 78 */ mr r27, r3
/* 8001EDE4 0001AC24 7C 98 23 78 */ mr r24, r4
/* 8001EDE8 0001AC28 7C BC 2B 78 */ mr r28, r5
/* 8001EDEC 0001AC2C 7C DD 33 78 */ mr r29, r6
/* 8001EDF0 0001AC30 7C F9 3B 78 */ mr r25, r7
/* 8001EDF4 0001AC34 7D 1F 43 78 */ mr r31, r8
/* 8001EDF8 0001AC38 7D 3A 4B 78 */ mr r26, r9
/* 8001EDFC 0001AC3C 48 00 2A 25 */ bl OSDisableInterrupts
/* 8001EE00 0001AC40 80 0D E3 CC */ lwz r0, __OSInReboot@sda21(r13)
/* 8001EE04 0001AC44 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001EE08 0001AC48 41 82 00 10 */ beq lbl_8001EE18
/* 8001EE0C 0001AC4C 3C 60 80 00 */ lis r3, 0x80003194@ha
/* 8001EE10 0001AC50 80 03 31 94 */ lwz r0, 0x80003194@l(r3)
/* 8001EE14 0001AC54 90 0D E3 C0 */ stw r0, __OSNextPartitionType@sda21(r13)
.global lbl_8001EE18
lbl_8001EE18:
/* 8001EE18 0001AC58 3C 60 00 0C */ lis r3, 0xc
/* 8001EE1C 0001AC5C 38 63 A2 CF */ addi r3, r3, -0x5d31
/* 8001EE20 0001AC60 48 00 3C 21 */ bl __OSRestoreCodeExecOnMEM1
/* 8001EE24 0001AC64 38 60 00 1C */ li r3, 0x1c
/* 8001EE28 0001AC68 38 80 00 01 */ li r4, 0x1
/* 8001EE2C 0001AC6C 4B FF D5 C5 */ bl OSAllocFromMEM1ArenaLo
/* 8001EE30 0001AC70 38 00 00 01 */ li r0, 0x1
/* 8001EE34 0001AC74 90 03 00 00 */ stw r0, 0x0(r3)
/* 8001EE38 0001AC78 2C 19 00 00 */ cmpwi r25, 0x0
/* 8001EE3C 0001AC7C 7C 7E 1B 78 */ mr r30, r3
/* 8001EE40 0001AC80 93 03 00 04 */ stw r24, 0x4(r3)
/* 8001EE44 0001AC84 93 83 00 0C */ stw r28, 0xc(r3)
/* 8001EE48 0001AC88 93 A3 00 10 */ stw r29, 0x10(r3)
/* 8001EE4C 0001AC8C 93 23 00 14 */ stw r25, 0x14(r3)
/* 8001EE50 0001AC90 40 82 00 50 */ bne lbl_8001EEA0
/* 8001EE54 0001AC94 38 60 20 00 */ li r3, 0x2000
/* 8001EE58 0001AC98 38 80 00 01 */ li r4, 0x1
/* 8001EE5C 0001AC9C 4B FF D5 95 */ bl OSAllocFromMEM1ArenaLo
/* 8001EE60 0001ACA0 90 7E 00 18 */ stw r3, 0x18(r30)
/* 8001EE64 0001ACA4 80 0D E3 C0 */ lwz r0, __OSNextPartitionType@sda21(r13)
/* 8001EE68 0001ACA8 28 00 00 02 */ cmplwi r0, 0x2
/* 8001EE6C 0001ACAC 40 82 00 24 */ bne lbl_8001EE90
/* 8001EE70 0001ACB0 80 0D E3 CC */ lwz r0, __OSInReboot@sda21(r13)
/* 8001EE74 0001ACB4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001EE78 0001ACB8 40 82 00 18 */ bne lbl_8001EE90
/* 8001EE7C 0001ACBC 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 8001EE80 0001ACC0 7F E4 FB 78 */ mr r4, r31
/* 8001EE84 0001ACC4 7F 45 D3 78 */ mr r5, r26
/* 8001EE88 0001ACC8 4B FF F4 09 */ bl PackInstallerArgs
/* 8001EE8C 0001ACCC 48 00 00 14 */ b lbl_8001EEA0
.global lbl_8001EE90
lbl_8001EE90:
/* 8001EE90 0001ACD0 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 8001EE94 0001ACD4 7F E4 FB 78 */ mr r4, r31
/* 8001EE98 0001ACD8 7F 45 D3 78 */ mr r5, r26
/* 8001EE9C 0001ACDC 4B FF F1 15 */ bl PackArgs
.global lbl_8001EEA0
lbl_8001EEA0:
/* 8001EEA0 0001ACE0 48 01 B3 71 */ bl DVDInit
/* 8001EEA4 0001ACE4 38 60 00 01 */ li r3, 0x1
/* 8001EEA8 0001ACE8 48 01 F6 39 */ bl DVDSetAutoInvalidation
/* 8001EEAC 0001ACEC 48 01 F6 45 */ bl DVDResume
/* 8001EEB0 0001ACF0 38 00 00 00 */ li r0, 0x0
/* 8001EEB4 0001ACF4 3C 60 80 02 */ lis r3, Callback_8001E4A0@ha
/* 8001EEB8 0001ACF8 90 0D E3 D0 */ stw r0, Prepared_8055C7F0@sda21(r13)
/* 8001EEBC 0001ACFC 38 63 E4 A0 */ addi r3, r3, Callback_8001E4A0@l
/* 8001EEC0 0001AD00 48 01 FF 01 */ bl __DVDPrepareResetAsync
/* 8001EEC4 0001AD04 38 60 FF F0 */ li r3, -0x10
/* 8001EEC8 0001AD08 48 00 2D 29 */ bl __OSMaskInterrupts
/* 8001EECC 0001AD0C 38 60 00 10 */ li r3, 0x10
/* 8001EED0 0001AD10 48 00 2D A1 */ bl __OSUnmaskInterrupts
/* 8001EED4 0001AD14 48 00 29 6D */ bl OSEnableInterrupts
.global lbl_8001EED8
lbl_8001EED8:
/* 8001EED8 0001AD18 80 0D E3 D0 */ lwz r0, Prepared_8055C7F0@sda21(r13)
/* 8001EEDC 0001AD1C 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001EEE0 0001AD20 40 82 FF F8 */ bne lbl_8001EED8
/* 8001EEE4 0001AD24 4B FF F6 0D */ bl __OSLaunchNextFirmware
/* 8001EEE8 0001AD28 3C 18 60 00 */ addis r0, r24, 0x6000
/* 8001EEEC 0001AD2C 28 00 00 00 */ cmplwi r0, 0x0
/* 8001EEF0 0001AD30 40 82 00 5C */ bne lbl_8001EF4C
/* 8001EEF4 0001AD34 80 0D E3 CC */ lwz r0, __OSInReboot@sda21(r13)
/* 8001EEF8 0001AD38 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001EEFC 0001AD3C 40 82 00 50 */ bne lbl_8001EF4C
/* 8001EF00 0001AD40 48 08 31 21 */ bl ESP_InitLib
/* 8001EF04 0001AD44 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EF08 0001AD48 40 82 05 F0 */ bne lbl_8001F4F8
/* 8001EF0C 0001AD4C 38 61 00 40 */ addi r3, r1, 0x40
/* 8001EF10 0001AD50 48 08 35 C1 */ bl ESP_GetTitleId
/* 8001EF14 0001AD54 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EF18 0001AD58 40 82 05 E0 */ bne lbl_8001F4F8
/* 8001EF1C 0001AD5C 48 08 31 65 */ bl ESP_CloseLib
/* 8001EF20 0001AD60 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EF24 0001AD64 40 82 05 D4 */ bne lbl_8001F4F8
/* 8001EF28 0001AD68 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 8001EF2C 0001AD6C 38 80 00 11 */ li r4, 0x11
/* 8001EF30 0001AD70 80 1A 00 04 */ lwz r0, 0x4(r26)
/* 8001EF34 0001AD74 38 AD 80 B0 */ addi r5, r13, "@3377_805564D0"@sda21
/* 8001EF38 0001AD78 80 E1 00 40 */ lwz r7, 0x40(r1)
/* 8001EF3C 0001AD7C 81 01 00 44 */ lwz r8, 0x44(r1)
/* 8001EF40 0001AD80 7C 63 02 14 */ add r3, r3, r0
/* 8001EF44 0001AD84 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001EF48 0001AD88 4B FE E7 81 */ bl snprintf
.global lbl_8001EF4C
lbl_8001EF4C:
/* 8001EF4C 0001AD8C 38 60 00 20 */ li r3, 0x20
/* 8001EF50 0001AD90 38 80 00 20 */ li r4, 0x20
/* 8001EF54 0001AD94 4B FF D4 9D */ bl OSAllocFromMEM1ArenaLo
/* 8001EF58 0001AD98 80 CD E3 C4 */ lwz r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001EF5C 0001AD9C 7C 7F 1B 78 */ mr r31, r3
/* 8001EF60 0001ADA0 2C 06 00 00 */ cmpwi r6, 0x0
/* 8001EF64 0001ADA4 41 82 00 08 */ beq lbl_8001EF6C
/* 8001EF68 0001ADA8 48 00 00 A0 */ b lbl_8001F008
.global lbl_8001EF6C
lbl_8001EF6C:
/* 8001EF6C 0001ADAC 3F 40 80 00 */ lis r26, 0x800030F4@ha
/* 8001EF70 0001ADB0 80 1A 30 F4 */ lwz r0, 0x800030F4@l(r26)
/* 8001EF74 0001ADB4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001EF78 0001ADB8 41 82 00 88 */ beq lbl_8001F000
/* 8001EF7C 0001ADBC 38 60 00 40 */ li r3, 0x40
/* 8001EF80 0001ADC0 38 80 00 20 */ li r4, 0x20
/* 8001EF84 0001ADC4 4B FF D4 6D */ bl OSAllocFromMEM1ArenaLo
/* 8001EF88 0001ADC8 80 1A 30 F4 */ lwz r0, 0x30f4(r26)
/* 8001EF8C 0001ADCC 7C 7A 1B 78 */ mr r26, r3
/* 8001EF90 0001ADD0 38 61 01 20 */ addi r3, r1, 0x120
/* 8001EF94 0001ADD4 38 A0 00 40 */ li r5, 0x40
/* 8001EF98 0001ADD8 7F 44 D3 78 */ mr r4, r26
/* 8001EF9C 0001ADDC 7C 06 16 70 */ srawi r6, r0, 2
/* 8001EFA0 0001ADE0 38 E0 00 00 */ li r7, 0x0
/* 8001EFA4 0001ADE4 39 00 00 00 */ li r8, 0x0
/* 8001EFA8 0001ADE8 48 01 F1 F9 */ bl DVDReadAbsAsyncPrio
/* 8001EFAC 0001ADEC 48 00 00 28 */ b lbl_8001EFD4
.global lbl_8001EFB0
lbl_8001EFB0:
/* 8001EFB0 0001ADF0 38 61 01 20 */ addi r3, r1, 0x120
/* 8001EFB4 0001ADF4 48 01 F3 BD */ bl DVDGetCommandBlockStatus
/* 8001EFB8 0001ADF8 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001EFBC 0001ADFC 41 81 00 14 */ bgt lbl_8001EFD0
/* 8001EFC0 0001AE00 38 61 01 20 */ addi r3, r1, 0x120
/* 8001EFC4 0001AE04 48 01 F3 AD */ bl DVDGetCommandBlockStatus
/* 8001EFC8 0001AE08 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EFCC 0001AE0C 40 80 00 08 */ bge lbl_8001EFD4
.global lbl_8001EFD0
lbl_8001EFD0:
/* 8001EFD0 0001AE10 48 00 47 11 */ bl __OSReturnToMenuForError
.global lbl_8001EFD4
lbl_8001EFD4:
/* 8001EFD4 0001AE14 38 61 01 20 */ addi r3, r1, 0x120
/* 8001EFD8 0001AE18 48 01 F3 99 */ bl DVDGetCommandBlockStatus
/* 8001EFDC 0001AE1C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001EFE0 0001AE20 40 82 FF D0 */ bne lbl_8001EFB0
/* 8001EFE4 0001AE24 3C 60 80 00 */ lis r3, 0x800030F4@ha
/* 8001EFE8 0001AE28 80 9A 00 38 */ lwz r4, 0x38(r26)
/* 8001EFEC 0001AE2C 80 03 30 F4 */ lwz r0, 0x800030F4@l(r3)
/* 8001EFF0 0001AE30 7C 00 22 14 */ add r0, r0, r4
/* 8001EFF4 0001AE34 7C 06 16 70 */ srawi r6, r0, 2
/* 8001EFF8 0001AE38 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001EFFC 0001AE3C 48 00 00 0C */ b lbl_8001F008
.global lbl_8001F000
lbl_8001F000:
/* 8001F000 0001AE40 38 C0 09 10 */ li r6, 0x910
/* 8001F004 0001AE44 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
.global lbl_8001F008
lbl_8001F008:
/* 8001F008 0001AE48 7F E4 FB 78 */ mr r4, r31
/* 8001F00C 0001AE4C 38 61 01 50 */ addi r3, r1, 0x150
/* 8001F010 0001AE50 38 A0 00 20 */ li r5, 0x20
/* 8001F014 0001AE54 38 E0 00 00 */ li r7, 0x0
/* 8001F018 0001AE58 39 00 00 00 */ li r8, 0x0
/* 8001F01C 0001AE5C 48 01 F1 85 */ bl DVDReadAbsAsyncPrio
/* 8001F020 0001AE60 48 00 00 28 */ b lbl_8001F048
.global lbl_8001F024
lbl_8001F024:
/* 8001F024 0001AE64 38 61 01 50 */ addi r3, r1, 0x150
/* 8001F028 0001AE68 48 01 F3 49 */ bl DVDGetCommandBlockStatus
/* 8001F02C 0001AE6C 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001F030 0001AE70 41 81 00 14 */ bgt lbl_8001F044
/* 8001F034 0001AE74 38 61 01 50 */ addi r3, r1, 0x150
/* 8001F038 0001AE78 48 01 F3 39 */ bl DVDGetCommandBlockStatus
/* 8001F03C 0001AE7C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F040 0001AE80 40 80 00 08 */ bge lbl_8001F048
.global lbl_8001F044
lbl_8001F044:
/* 8001F044 0001AE84 48 00 46 9D */ bl __OSReturnToMenuForError
.global lbl_8001F048
lbl_8001F048:
/* 8001F048 0001AE88 38 61 01 50 */ addi r3, r1, 0x150
/* 8001F04C 0001AE8C 48 01 F3 25 */ bl DVDGetCommandBlockStatus
/* 8001F050 0001AE90 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F054 0001AE94 40 82 FF D0 */ bne lbl_8001F024
/* 8001F058 0001AE98 80 CD E3 C4 */ lwz r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001F05C 0001AE9C 2C 06 00 00 */ cmpwi r6, 0x0
/* 8001F060 0001AEA0 41 82 00 08 */ beq lbl_8001F068
/* 8001F064 0001AEA4 48 00 00 A0 */ b lbl_8001F104
.global lbl_8001F068
lbl_8001F068:
/* 8001F068 0001AEA8 3F 40 80 00 */ lis r26, 0x800030F4@ha
/* 8001F06C 0001AEAC 80 1A 30 F4 */ lwz r0, 0x800030F4@l(r26)
/* 8001F070 0001AEB0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001F074 0001AEB4 41 82 00 88 */ beq lbl_8001F0FC
/* 8001F078 0001AEB8 38 60 00 40 */ li r3, 0x40
/* 8001F07C 0001AEBC 38 80 00 20 */ li r4, 0x20
/* 8001F080 0001AEC0 4B FF D3 71 */ bl OSAllocFromMEM1ArenaLo
/* 8001F084 0001AEC4 80 1A 30 F4 */ lwz r0, 0x30f4(r26)
/* 8001F088 0001AEC8 7C 7A 1B 78 */ mr r26, r3
/* 8001F08C 0001AECC 38 61 01 80 */ addi r3, r1, 0x180
/* 8001F090 0001AED0 38 A0 00 40 */ li r5, 0x40
/* 8001F094 0001AED4 7F 44 D3 78 */ mr r4, r26
/* 8001F098 0001AED8 7C 06 16 70 */ srawi r6, r0, 2
/* 8001F09C 0001AEDC 38 E0 00 00 */ li r7, 0x0
/* 8001F0A0 0001AEE0 39 00 00 00 */ li r8, 0x0
/* 8001F0A4 0001AEE4 48 01 F0 FD */ bl DVDReadAbsAsyncPrio
/* 8001F0A8 0001AEE8 48 00 00 28 */ b lbl_8001F0D0
.global lbl_8001F0AC
lbl_8001F0AC:
/* 8001F0AC 0001AEEC 38 61 01 80 */ addi r3, r1, 0x180
/* 8001F0B0 0001AEF0 48 01 F2 C1 */ bl DVDGetCommandBlockStatus
/* 8001F0B4 0001AEF4 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001F0B8 0001AEF8 41 81 00 14 */ bgt lbl_8001F0CC
/* 8001F0BC 0001AEFC 38 61 01 80 */ addi r3, r1, 0x180
/* 8001F0C0 0001AF00 48 01 F2 B1 */ bl DVDGetCommandBlockStatus
/* 8001F0C4 0001AF04 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F0C8 0001AF08 40 80 00 08 */ bge lbl_8001F0D0
.global lbl_8001F0CC
lbl_8001F0CC:
/* 8001F0CC 0001AF0C 48 00 46 15 */ bl __OSReturnToMenuForError
.global lbl_8001F0D0
lbl_8001F0D0:
/* 8001F0D0 0001AF10 38 61 01 80 */ addi r3, r1, 0x180
/* 8001F0D4 0001AF14 48 01 F2 9D */ bl DVDGetCommandBlockStatus
/* 8001F0D8 0001AF18 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F0DC 0001AF1C 40 82 FF D0 */ bne lbl_8001F0AC
/* 8001F0E0 0001AF20 3C 60 80 00 */ lis r3, 0x800030F4@ha
/* 8001F0E4 0001AF24 80 9A 00 38 */ lwz r4, 0x38(r26)
/* 8001F0E8 0001AF28 80 03 30 F4 */ lwz r0, 0x800030F4@l(r3)
/* 8001F0EC 0001AF2C 7C 00 22 14 */ add r0, r0, r4
/* 8001F0F0 0001AF30 7C 06 16 70 */ srawi r6, r0, 2
/* 8001F0F4 0001AF34 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001F0F8 0001AF38 48 00 00 0C */ b lbl_8001F104
.global lbl_8001F0FC
lbl_8001F0FC:
/* 8001F0FC 0001AF3C 38 C0 09 10 */ li r6, 0x910
/* 8001F100 0001AF40 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
.global lbl_8001F104
lbl_8001F104:
/* 8001F104 0001AF44 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8001F108 0001AF48 38 61 01 B0 */ addi r3, r1, 0x1b0
/* 8001F10C 0001AF4C 38 C6 00 08 */ addi r6, r6, 0x8
/* 8001F110 0001AF50 3C 80 81 20 */ lis r4, 0x8120
/* 8001F114 0001AF54 38 05 00 1F */ addi r0, r5, 0x1f
/* 8001F118 0001AF58 38 E0 00 00 */ li r7, 0x0
/* 8001F11C 0001AF5C 54 05 00 34 */ clrrwi r5, r0, 5
/* 8001F120 0001AF60 39 00 00 00 */ li r8, 0x0
/* 8001F124 0001AF64 48 01 F0 7D */ bl DVDReadAbsAsyncPrio
/* 8001F128 0001AF68 48 00 00 28 */ b lbl_8001F150
.global lbl_8001F12C
lbl_8001F12C:
/* 8001F12C 0001AF6C 38 61 01 B0 */ addi r3, r1, 0x1b0
/* 8001F130 0001AF70 48 01 F2 41 */ bl DVDGetCommandBlockStatus
/* 8001F134 0001AF74 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001F138 0001AF78 41 81 00 14 */ bgt lbl_8001F14C
/* 8001F13C 0001AF7C 38 61 01 B0 */ addi r3, r1, 0x1b0
/* 8001F140 0001AF80 48 01 F2 31 */ bl DVDGetCommandBlockStatus
/* 8001F144 0001AF84 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F148 0001AF88 40 80 00 08 */ bge lbl_8001F150
.global lbl_8001F14C
lbl_8001F14C:
/* 8001F14C 0001AF8C 48 00 45 95 */ bl __OSReturnToMenuForError
.global lbl_8001F150
lbl_8001F150:
/* 8001F150 0001AF90 38 61 01 B0 */ addi r3, r1, 0x1b0
/* 8001F154 0001AF94 48 01 F2 1D */ bl DVDGetCommandBlockStatus
/* 8001F158 0001AF98 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F15C 0001AF9C 40 82 FF D0 */ bne lbl_8001F12C
/* 8001F160 0001AFA0 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8001F164 0001AFA4 3C 60 81 20 */ lis r3, 0x8120
/* 8001F168 0001AFA8 38 04 00 1F */ addi r0, r4, 0x1f
/* 8001F16C 0001AFAC 54 04 00 34 */ clrrwi r4, r0, 5
/* 8001F170 0001AFB0 4B FF D9 01 */ bl ICInvalidateRange
/* 8001F174 0001AFB4 3C 80 80 42 */ lis r4, "@3378"@ha
/* 8001F178 0001AFB8 7F E3 FB 78 */ mr r3, r31
/* 8001F17C 0001AFBC 38 84 2A 40 */ addi r4, r4, "@3378"@l
/* 8001F180 0001AFC0 38 A0 00 0A */ li r5, 0xa
/* 8001F184 0001AFC4 4B FE EA D5 */ bl strncmp
/* 8001F188 0001AFC8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F18C 0001AFCC 40 81 00 0C */ ble lbl_8001F198
/* 8001F190 0001AFD0 38 00 00 01 */ li r0, 0x1
/* 8001F194 0001AFD4 48 00 00 08 */ b lbl_8001F19C
.global lbl_8001F198
lbl_8001F198:
/* 8001F198 0001AFD8 38 00 00 00 */ li r0, 0x0
.global lbl_8001F19C
lbl_8001F19C:
/* 8001F19C 0001AFDC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001F1A0 0001AFE0 41 82 02 0C */ beq lbl_8001F3AC
/* 8001F1A4 0001AFE4 3C 1B 00 01 */ addis r0, r27, 0x1
/* 8001F1A8 0001AFE8 28 00 FF FF */ cmplwi r0, 0xffff
/* 8001F1AC 0001AFEC 40 82 00 C0 */ bne lbl_8001F26C
/* 8001F1B0 0001AFF0 80 CD E3 C4 */ lwz r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001F1B4 0001AFF4 2C 06 00 00 */ cmpwi r6, 0x0
/* 8001F1B8 0001AFF8 41 82 00 08 */ beq lbl_8001F1C0
/* 8001F1BC 0001AFFC 48 00 00 A0 */ b lbl_8001F25C
.global lbl_8001F1C0
lbl_8001F1C0:
/* 8001F1C0 0001B000 3F 60 80 00 */ lis r27, 0x800030F4@ha
/* 8001F1C4 0001B004 80 1B 30 F4 */ lwz r0, 0x800030F4@l(r27)
/* 8001F1C8 0001B008 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001F1CC 0001B00C 41 82 00 88 */ beq lbl_8001F254
/* 8001F1D0 0001B010 38 60 00 40 */ li r3, 0x40
/* 8001F1D4 0001B014 38 80 00 20 */ li r4, 0x20
/* 8001F1D8 0001B018 4B FF D2 19 */ bl OSAllocFromMEM1ArenaLo
/* 8001F1DC 0001B01C 80 1B 30 F4 */ lwz r0, 0x30f4(r27)
/* 8001F1E0 0001B020 7C 7A 1B 78 */ mr r26, r3
/* 8001F1E4 0001B024 38 61 00 F0 */ addi r3, r1, 0xf0
/* 8001F1E8 0001B028 38 A0 00 40 */ li r5, 0x40
/* 8001F1EC 0001B02C 7F 44 D3 78 */ mr r4, r26
/* 8001F1F0 0001B030 7C 06 16 70 */ srawi r6, r0, 2
/* 8001F1F4 0001B034 38 E0 00 00 */ li r7, 0x0
/* 8001F1F8 0001B038 39 00 00 00 */ li r8, 0x0
/* 8001F1FC 0001B03C 48 01 EF A5 */ bl DVDReadAbsAsyncPrio
/* 8001F200 0001B040 48 00 00 28 */ b lbl_8001F228
.global lbl_8001F204
lbl_8001F204:
/* 8001F204 0001B044 38 61 00 F0 */ addi r3, r1, 0xf0
/* 8001F208 0001B048 48 01 F1 69 */ bl DVDGetCommandBlockStatus
/* 8001F20C 0001B04C 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001F210 0001B050 41 81 00 14 */ bgt lbl_8001F224
/* 8001F214 0001B054 38 61 00 F0 */ addi r3, r1, 0xf0
/* 8001F218 0001B058 48 01 F1 59 */ bl DVDGetCommandBlockStatus
/* 8001F21C 0001B05C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F220 0001B060 40 80 00 08 */ bge lbl_8001F228
.global lbl_8001F224
lbl_8001F224:
/* 8001F224 0001B064 48 00 44 BD */ bl __OSReturnToMenuForError
.global lbl_8001F228
lbl_8001F228:
/* 8001F228 0001B068 38 61 00 F0 */ addi r3, r1, 0xf0
/* 8001F22C 0001B06C 48 01 F1 45 */ bl DVDGetCommandBlockStatus
/* 8001F230 0001B070 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F234 0001B074 40 82 FF D0 */ bne lbl_8001F204
/* 8001F238 0001B078 3C 60 80 00 */ lis r3, 0x800030F4@ha
/* 8001F23C 0001B07C 80 9A 00 38 */ lwz r4, 0x38(r26)
/* 8001F240 0001B080 80 03 30 F4 */ lwz r0, 0x800030F4@l(r3)
/* 8001F244 0001B084 7C 00 22 14 */ add r0, r0, r4
/* 8001F248 0001B088 7C 06 16 70 */ srawi r6, r0, 2
/* 8001F24C 0001B08C 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001F250 0001B090 48 00 00 0C */ b lbl_8001F25C
.global lbl_8001F254
lbl_8001F254:
/* 8001F254 0001B094 38 C0 09 10 */ li r6, 0x910
/* 8001F258 0001B098 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
.global lbl_8001F25C
lbl_8001F25C:
/* 8001F25C 0001B09C 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8001F260 0001B0A0 38 03 00 20 */ addi r0, r3, 0x20
/* 8001F264 0001B0A4 54 00 F0 BE */ srwi r0, r0, 2
/* 8001F268 0001B0A8 7F 60 32 14 */ add r27, r0, r6
.global lbl_8001F26C
lbl_8001F26C:
/* 8001F26C 0001B0AC 93 7E 00 08 */ stw r27, 0x8(r30)
/* 8001F270 0001B0B0 38 61 00 20 */ addi r3, r1, 0x20
/* 8001F274 0001B0B4 38 81 00 24 */ addi r4, r1, 0x24
/* 8001F278 0001B0B8 38 A1 00 28 */ addi r5, r1, 0x28
/* 8001F27C 0001B0BC 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8001F280 0001B0C0 7D 89 03 A6 */ mtctr r12
/* 8001F284 0001B0C4 4E 80 04 21 */ bctrl
/* 8001F288 0001B0C8 38 60 00 1C */ li r3, 0x1c
/* 8001F28C 0001B0CC 38 80 00 01 */ li r4, 0x1
/* 8001F290 0001B0D0 4B FF D1 61 */ bl OSAllocFromMEM1ArenaLo
/* 8001F294 0001B0D4 7C 7A 1B 78 */ mr r26, r3
/* 8001F298 0001B0D8 7F C4 F3 78 */ mr r4, r30
/* 8001F29C 0001B0DC 38 A0 00 1C */ li r5, 0x1c
/* 8001F2A0 0001B0E0 4B FE 4D 61 */ bl memcpy
/* 8001F2A4 0001B0E4 3C 80 80 00 */ lis r4, 0x800030F0@ha
/* 8001F2A8 0001B0E8 3C 60 80 02 */ lis r3, OSReport@ha
/* 8001F2AC 0001B0EC 93 44 30 F0 */ stw r26, 0x800030F0@l(r4)
/* 8001F2B0 0001B0F0 38 63 D9 90 */ addi r3, r3, OSReport@l
/* 8001F2B4 0001B0F4 81 81 00 20 */ lwz r12, 0x20(r1)
/* 8001F2B8 0001B0F8 7D 89 03 A6 */ mtctr r12
/* 8001F2BC 0001B0FC 4E 80 04 21 */ bctrl
/* 8001F2C0 0001B100 7F 43 D3 78 */ mr r3, r26
/* 8001F2C4 0001B104 4B FF D1 0D */ bl OSSetMEM1ArenaLo
/* 8001F2C8 0001B108 48 00 00 60 */ b lbl_8001F328
.global lbl_8001F2CC
lbl_8001F2CC:
/* 8001F2CC 0001B10C 80 C1 00 34 */ lwz r6, 0x34(r1)
/* 8001F2D0 0001B110 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8001F2D4 0001B114 80 0D E6 78 */ lwz r0, __DVDLayoutFormat@sda21(r13)
/* 8001F2D8 0001B118 38 E0 00 00 */ li r7, 0x0
/* 8001F2DC 0001B11C 80 A1 00 30 */ lwz r5, 0x30(r1)
/* 8001F2E0 0001B120 39 00 00 00 */ li r8, 0x0
/* 8001F2E4 0001B124 80 81 00 2C */ lwz r4, 0x2c(r1)
/* 8001F2E8 0001B128 7C C6 04 30 */ srw r6, r6, r0
/* 8001F2EC 0001B12C 48 01 EE B5 */ bl DVDReadAbsAsyncPrio
/* 8001F2F0 0001B130 48 00 00 28 */ b lbl_8001F318
.global lbl_8001F2F4
lbl_8001F2F4:
/* 8001F2F4 0001B134 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8001F2F8 0001B138 48 01 F0 79 */ bl DVDGetCommandBlockStatus
/* 8001F2FC 0001B13C 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001F300 0001B140 41 81 00 14 */ bgt lbl_8001F314
/* 8001F304 0001B144 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8001F308 0001B148 48 01 F0 69 */ bl DVDGetCommandBlockStatus
/* 8001F30C 0001B14C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F310 0001B150 40 80 00 08 */ bge lbl_8001F318
.global lbl_8001F314
lbl_8001F314:
/* 8001F314 0001B154 48 00 43 CD */ bl __OSReturnToMenuForError
.global lbl_8001F318
lbl_8001F318:
/* 8001F318 0001B158 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8001F31C 0001B15C 48 01 F0 55 */ bl DVDGetCommandBlockStatus
/* 8001F320 0001B160 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F324 0001B164 40 82 FF D0 */ bne lbl_8001F2F4
.global lbl_8001F328
lbl_8001F328:
/* 8001F328 0001B168 81 81 00 24 */ lwz r12, 0x24(r1)
/* 8001F32C 0001B16C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8001F330 0001B170 38 81 00 30 */ addi r4, r1, 0x30
/* 8001F334 0001B174 38 A1 00 34 */ addi r5, r1, 0x34
/* 8001F338 0001B178 7D 89 03 A6 */ mtctr r12
/* 8001F33C 0001B17C 4E 80 04 21 */ bctrl
/* 8001F340 0001B180 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F344 0001B184 40 82 FF 88 */ bne lbl_8001F2CC
/* 8001F348 0001B188 81 81 00 28 */ lwz r12, 0x28(r1)
/* 8001F34C 0001B18C 7D 89 03 A6 */ mtctr r12
/* 8001F350 0001B190 4E 80 04 21 */ bctrl
/* 8001F354 0001B194 3C A0 80 00 */ lis r5, 0x80000000@ha
/* 8001F358 0001B198 7C 7B 1B 78 */ mr r27, r3
/* 8001F35C 0001B19C 80 65 00 00 */ lwz r3, 0x80000000@l(r5)
/* 8001F360 0001B1A0 38 00 00 80 */ li r0, 0x80
/* 8001F364 0001B1A4 90 65 31 80 */ stw r3, 0x3180(r5)
/* 8001F368 0001B1A8 38 60 00 1C */ li r3, 0x1c
/* 8001F36C 0001B1AC 38 80 00 01 */ li r4, 0x1
/* 8001F370 0001B1B0 98 05 31 84 */ stb r0, 0x3184(r5)
/* 8001F374 0001B1B4 4B FF D0 7D */ bl OSAllocFromMEM1ArenaLo
/* 8001F378 0001B1B8 7C 7A 1B 78 */ mr r26, r3
/* 8001F37C 0001B1BC 7F C4 F3 78 */ mr r4, r30
/* 8001F380 0001B1C0 38 A0 00 1C */ li r5, 0x1c
/* 8001F384 0001B1C4 4B FE 4C 7D */ bl memcpy
/* 8001F388 0001B1C8 3C 80 80 00 */ lis r4, 0x800030F0@ha
/* 8001F38C 0001B1CC 3C 60 CC 00 */ lis r3, 0xCC003024@ha
/* 8001F390 0001B1D0 93 44 30 F0 */ stw r26, 0x800030F0@l(r4)
/* 8001F394 0001B1D4 38 00 00 07 */ li r0, 0x7
/* 8001F398 0001B1D8 90 03 30 24 */ stw r0, 0xCC003024@l(r3)
/* 8001F39C 0001B1DC 48 00 24 85 */ bl OSDisableInterrupts
/* 8001F3A0 0001B1E0 7F 63 DB 78 */ mr r3, r27
/* 8001F3A4 0001B1E4 4B FF F0 BD */ bl Run
/* 8001F3A8 0001B1E8 48 00 01 50 */ b lbl_8001F4F8
.global lbl_8001F3AC
lbl_8001F3AC:
/* 8001F3AC 0001B1EC 3C 60 81 30 */ lis r3, 0x812FDFF0@ha
/* 8001F3B0 0001B1F0 3F 60 80 00 */ lis r27, 0x800030E2@ha
/* 8001F3B4 0001B1F4 93 83 DF F0 */ stw r28, 0x812FDFF0@l(r3)
/* 8001F3B8 0001B1F8 38 00 00 01 */ li r0, 0x1
/* 8001F3BC 0001B1FC 93 A3 DF EC */ stw r29, -0x2014(r3)
/* 8001F3C0 0001B200 98 1B 30 E2 */ stb r0, 0x800030E2@l(r27)
/* 8001F3C4 0001B204 80 CD E3 C4 */ lwz r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001F3C8 0001B208 2C 06 00 00 */ cmpwi r6, 0x0
/* 8001F3CC 0001B20C 41 82 00 08 */ beq lbl_8001F3D4
/* 8001F3D0 0001B210 48 00 00 9C */ b lbl_8001F46C
.global lbl_8001F3D4
lbl_8001F3D4:
/* 8001F3D4 0001B214 80 1B 30 F4 */ lwz r0, 0x30f4(r27)
/* 8001F3D8 0001B218 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001F3DC 0001B21C 41 82 00 88 */ beq lbl_8001F464
/* 8001F3E0 0001B220 38 60 00 40 */ li r3, 0x40
/* 8001F3E4 0001B224 38 80 00 20 */ li r4, 0x20
/* 8001F3E8 0001B228 4B FF D0 09 */ bl OSAllocFromMEM1ArenaLo
/* 8001F3EC 0001B22C 80 1B 30 F4 */ lwz r0, 0x30f4(r27)
/* 8001F3F0 0001B230 7C 7A 1B 78 */ mr r26, r3
/* 8001F3F4 0001B234 38 61 00 90 */ addi r3, r1, 0x90
/* 8001F3F8 0001B238 38 A0 00 40 */ li r5, 0x40
/* 8001F3FC 0001B23C 7F 44 D3 78 */ mr r4, r26
/* 8001F400 0001B240 7C 06 16 70 */ srawi r6, r0, 2
/* 8001F404 0001B244 38 E0 00 00 */ li r7, 0x0
/* 8001F408 0001B248 39 00 00 00 */ li r8, 0x0
/* 8001F40C 0001B24C 48 01 ED 95 */ bl DVDReadAbsAsyncPrio
/* 8001F410 0001B250 48 00 00 28 */ b lbl_8001F438
.global lbl_8001F414
lbl_8001F414:
/* 8001F414 0001B254 38 61 00 90 */ addi r3, r1, 0x90
/* 8001F418 0001B258 48 01 EF 59 */ bl DVDGetCommandBlockStatus
/* 8001F41C 0001B25C 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001F420 0001B260 41 81 00 14 */ bgt lbl_8001F434
/* 8001F424 0001B264 38 61 00 90 */ addi r3, r1, 0x90
/* 8001F428 0001B268 48 01 EF 49 */ bl DVDGetCommandBlockStatus
/* 8001F42C 0001B26C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F430 0001B270 40 80 00 08 */ bge lbl_8001F438
.global lbl_8001F434
lbl_8001F434:
/* 8001F434 0001B274 48 00 42 AD */ bl __OSReturnToMenuForError
.global lbl_8001F438
lbl_8001F438:
/* 8001F438 0001B278 38 61 00 90 */ addi r3, r1, 0x90
/* 8001F43C 0001B27C 48 01 EF 35 */ bl DVDGetCommandBlockStatus
/* 8001F440 0001B280 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F444 0001B284 40 82 FF D0 */ bne lbl_8001F414
/* 8001F448 0001B288 3C 60 80 00 */ lis r3, 0x800030F4@ha
/* 8001F44C 0001B28C 80 9A 00 38 */ lwz r4, 0x38(r26)
/* 8001F450 0001B290 80 03 30 F4 */ lwz r0, 0x800030F4@l(r3)
/* 8001F454 0001B294 7C 00 22 14 */ add r0, r0, r4
/* 8001F458 0001B298 7C 06 16 70 */ srawi r6, r0, 2
/* 8001F45C 0001B29C 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
/* 8001F460 0001B2A0 48 00 00 0C */ b lbl_8001F46C
.global lbl_8001F464
lbl_8001F464:
/* 8001F464 0001B2A4 38 C0 09 10 */ li r6, 0x910
/* 8001F468 0001B2A8 90 CD E3 C4 */ stw r6, "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"@sda21(r13)
.global lbl_8001F46C
lbl_8001F46C:
/* 8001F46C 0001B2AC 80 FF 00 14 */ lwz r7, 0x14(r31)
/* 8001F470 0001B2B0 38 61 00 60 */ addi r3, r1, 0x60
/* 8001F474 0001B2B4 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8001F478 0001B2B8 3C 80 81 33 */ lis r4, 0x8133
/* 8001F47C 0001B2BC 38 07 00 20 */ addi r0, r7, 0x20
/* 8001F480 0001B2C0 38 E0 00 00 */ li r7, 0x0
/* 8001F484 0001B2C4 54 08 F0 BE */ srwi r8, r0, 2
/* 8001F488 0001B2C8 38 05 00 1F */ addi r0, r5, 0x1f
/* 8001F48C 0001B2CC 7C C8 32 14 */ add r6, r8, r6
/* 8001F490 0001B2D0 39 00 00 00 */ li r8, 0x0
/* 8001F494 0001B2D4 54 05 00 34 */ clrrwi r5, r0, 5
/* 8001F498 0001B2D8 48 01 ED 09 */ bl DVDReadAbsAsyncPrio
/* 8001F49C 0001B2DC 48 00 00 28 */ b lbl_8001F4C4
.global lbl_8001F4A0
lbl_8001F4A0:
/* 8001F4A0 0001B2E0 38 61 00 60 */ addi r3, r1, 0x60
/* 8001F4A4 0001B2E4 48 01 EE CD */ bl DVDGetCommandBlockStatus
/* 8001F4A8 0001B2E8 2C 03 00 02 */ cmpwi r3, 0x2
/* 8001F4AC 0001B2EC 41 81 00 14 */ bgt lbl_8001F4C0
/* 8001F4B0 0001B2F0 38 61 00 60 */ addi r3, r1, 0x60
/* 8001F4B4 0001B2F4 48 01 EE BD */ bl DVDGetCommandBlockStatus
/* 8001F4B8 0001B2F8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F4BC 0001B2FC 40 80 00 08 */ bge lbl_8001F4C4
.global lbl_8001F4C0
lbl_8001F4C0:
/* 8001F4C0 0001B300 48 00 42 21 */ bl __OSReturnToMenuForError
.global lbl_8001F4C4
lbl_8001F4C4:
/* 8001F4C4 0001B304 38 61 00 60 */ addi r3, r1, 0x60
/* 8001F4C8 0001B308 48 01 EE A9 */ bl DVDGetCommandBlockStatus
/* 8001F4CC 0001B30C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F4D0 0001B310 40 82 FF D0 */ bne lbl_8001F4A0
/* 8001F4D4 0001B314 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8001F4D8 0001B318 3C 60 81 33 */ lis r3, 0x8133
/* 8001F4DC 0001B31C 38 04 00 1F */ addi r0, r4, 0x1f
/* 8001F4E0 0001B320 54 04 00 34 */ clrrwi r4, r0, 5
/* 8001F4E4 0001B324 4B FF D5 8D */ bl ICInvalidateRange
/* 8001F4E8 0001B328 48 00 23 39 */ bl OSDisableInterrupts
/* 8001F4EC 0001B32C 4B FF D5 C5 */ bl ICFlashInvalidate
/* 8001F4F0 0001B330 3C 60 81 33 */ lis r3, 0x8133
/* 8001F4F4 0001B334 4B FF EF 6D */ bl Run
.global lbl_8001F4F8
lbl_8001F4F8:
/* 8001F4F8 0001B338 81 41 00 00 */ lwz r10, 0x0(r1)
/* 8001F4FC 0001B33C 7D 4B 53 78 */ mr r11, r10
/* 8001F500 0001B340 4B FE 7E 7D */ bl lbl_8000737C
/* 8001F504 0001B344 80 0A 00 04 */ lwz r0, 0x4(r10)
/* 8001F508 0001B348 7C 08 03 A6 */ mtlr r0
/* 8001F50C 0001B34C 7D 41 53 78 */ mr r1, r10
/* 8001F510 0001B350 4E 80 00 20 */ blr
/* 8001F514 0001B354 00 00 00 00 */ .4byte 0x00000000
/* 8001F518 0001B358 00 00 00 00 */ .4byte 0x00000000
/* 8001F51C 0001B35C 00 00 00 00 */ .4byte 0x00000000
.global __OSBootDol
__OSBootDol:
/* 8001F520 0001B360 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8001F524 0001B364 7C 08 02 A6 */ mflr r0
/* 8001F528 0001B368 90 01 00 44 */ stw r0, 0x44(r1)
/* 8001F52C 0001B36C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8001F530 0001B370 7C 7F 1B 78 */ mr r31, r3
/* 8001F534 0001B374 38 61 00 0C */ addi r3, r1, 0xc
/* 8001F538 0001B378 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8001F53C 0001B37C 7C BE 2B 78 */ mr r30, r5
/* 8001F540 0001B380 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8001F544 0001B384 7C 9D 23 78 */ mr r29, r4
/* 8001F548 0001B388 38 81 00 08 */ addi r4, r1, 0x8
/* 8001F54C 0001B38C 48 00 39 A5 */ bl OSGetSaveRegion
/* 8001F550 0001B390 7F E5 FB 78 */ mr r5, r31
/* 8001F554 0001B394 38 61 00 10 */ addi r3, r1, 0x10
/* 8001F558 0001B398 38 8D 80 B8 */ addi r4, r13, "@3424"@sda21
/* 8001F55C 0001B39C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001F560 0001B3A0 4B FE E2 5D */ bl sprintf
/* 8001F564 0001B3A4 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8001F568 0001B3A8 3B E0 00 00 */ li r31, 0x0
/* 8001F56C 0001B3AC 41 82 00 20 */ beq lbl_8001F58C
/* 8001F570 0001B3B0 7F C3 F3 78 */ mr r3, r30
/* 8001F574 0001B3B4 48 00 00 0C */ b lbl_8001F580
.global lbl_8001F578
lbl_8001F578:
/* 8001F578 0001B3B8 38 63 00 04 */ addi r3, r3, 0x4
/* 8001F57C 0001B3BC 3B FF 00 01 */ addi r31, r31, 0x1
.global lbl_8001F580
lbl_8001F580:
/* 8001F580 0001B3C0 80 03 00 00 */ lwz r0, 0x0(r3)
/* 8001F584 0001B3C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001F588 0001B3C8 40 82 FF F0 */ bne lbl_8001F578
.global lbl_8001F58C
lbl_8001F58C:
/* 8001F58C 0001B3CC 38 1F 00 02 */ addi r0, r31, 0x2
/* 8001F590 0001B3D0 38 80 00 01 */ li r4, 0x1
/* 8001F594 0001B3D4 54 03 10 3A */ slwi r3, r0, 2
/* 8001F598 0001B3D8 4B FF CE 59 */ bl OSAllocFromMEM1ArenaLo
/* 8001F59C 0001B3DC 38 DF 00 01 */ addi r6, r31, 0x1
/* 8001F5A0 0001B3E0 38 01 00 10 */ addi r0, r1, 0x10
/* 8001F5A4 0001B3E4 2C 86 00 01 */ cmpwi cr1, r6, 0x1
/* 8001F5A8 0001B3E8 90 03 00 00 */ stw r0, 0x0(r3)
/* 8001F5AC 0001B3EC 38 80 00 01 */ li r4, 0x1
/* 8001F5B0 0001B3F0 40 85 01 14 */ ble cr1, lbl_8001F6C4
/* 8001F5B4 0001B3F4 2C 1F 00 08 */ cmpwi r31, 0x8
/* 8001F5B8 0001B3F8 38 FF FF F9 */ addi r7, r31, -0x7
/* 8001F5BC 0001B3FC 40 81 00 D4 */ ble lbl_8001F690
/* 8001F5C0 0001B400 39 00 00 00 */ li r8, 0x0
/* 8001F5C4 0001B404 39 20 00 00 */ li r9, 0x0
/* 8001F5C8 0001B408 41 84 00 18 */ blt cr1, lbl_8001F5E0
/* 8001F5CC 0001B40C 3C A0 80 00 */ lis r5, 0x8000
/* 8001F5D0 0001B410 38 05 FF FE */ addi r0, r5, -0x2
/* 8001F5D4 0001B414 7C 06 00 00 */ cmpw r6, r0
/* 8001F5D8 0001B418 41 81 00 08 */ bgt lbl_8001F5E0
/* 8001F5DC 0001B41C 39 20 00 01 */ li r9, 0x1
.global lbl_8001F5E0
lbl_8001F5E0:
/* 8001F5E0 0001B420 2C 09 00 00 */ cmpwi r9, 0x0
/* 8001F5E4 0001B424 41 82 00 38 */ beq lbl_8001F61C
/* 8001F5E8 0001B428 38 1F 00 01 */ addi r0, r31, 0x1
/* 8001F5EC 0001B42C 38 A0 00 01 */ li r5, 0x1
/* 8001F5F0 0001B430 54 06 00 00 */ clrrwi r6, r0, 31
/* 8001F5F4 0001B434 3C 06 80 00 */ addis r0, r6, 0x8000
/* 8001F5F8 0001B438 28 00 00 00 */ cmplwi r0, 0x0
/* 8001F5FC 0001B43C 40 82 00 14 */ bne lbl_8001F610
/* 8001F600 0001B440 57 E0 00 00 */ clrrwi r0, r31, 31
/* 8001F604 0001B444 7C 06 00 00 */ cmpw r6, r0
/* 8001F608 0001B448 41 82 00 08 */ beq lbl_8001F610
/* 8001F60C 0001B44C 38 A0 00 00 */ li r5, 0x0
.global lbl_8001F610
lbl_8001F610:
/* 8001F610 0001B450 2C 05 00 00 */ cmpwi r5, 0x0
/* 8001F614 0001B454 41 82 00 08 */ beq lbl_8001F61C
/* 8001F618 0001B458 39 00 00 01 */ li r8, 0x1
.global lbl_8001F61C
lbl_8001F61C:
/* 8001F61C 0001B45C 2C 08 00 00 */ cmpwi r8, 0x0
/* 8001F620 0001B460 41 82 00 70 */ beq lbl_8001F690
/* 8001F624 0001B464 38 07 00 06 */ addi r0, r7, 0x6
/* 8001F628 0001B468 38 BE 00 04 */ addi r5, r30, 0x4
/* 8001F62C 0001B46C 54 00 E8 FE */ srwi r0, r0, 3
/* 8001F630 0001B470 38 C3 00 04 */ addi r6, r3, 0x4
/* 8001F634 0001B474 7C 09 03 A6 */ mtctr r0
/* 8001F638 0001B478 2C 07 00 01 */ cmpwi r7, 0x1
/* 8001F63C 0001B47C 40 81 00 54 */ ble lbl_8001F690
.global lbl_8001F640
lbl_8001F640:
/* 8001F640 0001B480 80 05 FF FC */ lwz r0, -0x4(r5)
/* 8001F644 0001B484 38 84 00 08 */ addi r4, r4, 0x8
/* 8001F648 0001B488 90 06 00 00 */ stw r0, 0x0(r6)
/* 8001F64C 0001B48C 80 05 00 00 */ lwz r0, 0x0(r5)
/* 8001F650 0001B490 90 06 00 04 */ stw r0, 0x4(r6)
/* 8001F654 0001B494 80 05 00 04 */ lwz r0, 0x4(r5)
/* 8001F658 0001B498 90 06 00 08 */ stw r0, 0x8(r6)
/* 8001F65C 0001B49C 80 05 00 08 */ lwz r0, 0x8(r5)
/* 8001F660 0001B4A0 90 06 00 0C */ stw r0, 0xc(r6)
/* 8001F664 0001B4A4 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8001F668 0001B4A8 90 06 00 10 */ stw r0, 0x10(r6)
/* 8001F66C 0001B4AC 80 05 00 10 */ lwz r0, 0x10(r5)
/* 8001F670 0001B4B0 90 06 00 14 */ stw r0, 0x14(r6)
/* 8001F674 0001B4B4 80 05 00 14 */ lwz r0, 0x14(r5)
/* 8001F678 0001B4B8 90 06 00 18 */ stw r0, 0x18(r6)
/* 8001F67C 0001B4BC 80 05 00 18 */ lwz r0, 0x18(r5)
/* 8001F680 0001B4C0 38 A5 00 20 */ addi r5, r5, 0x20
/* 8001F684 0001B4C4 90 06 00 1C */ stw r0, 0x1c(r6)
/* 8001F688 0001B4C8 38 C6 00 20 */ addi r6, r6, 0x20
/* 8001F68C 0001B4CC 42 00 FF B4 */ bdnz lbl_8001F640
.global lbl_8001F690
lbl_8001F690:
/* 8001F690 0001B4D0 38 BF 00 01 */ addi r5, r31, 0x1
/* 8001F694 0001B4D4 54 87 10 3A */ slwi r7, r4, 2
/* 8001F698 0001B4D8 7C 04 28 50 */ subf r0, r4, r5
/* 8001F69C 0001B4DC 7C DE 3A 14 */ add r6, r30, r7
/* 8001F6A0 0001B4E0 7C E3 3A 14 */ add r7, r3, r7
/* 8001F6A4 0001B4E4 7C 09 03 A6 */ mtctr r0
/* 8001F6A8 0001B4E8 7C 04 28 00 */ cmpw r4, r5
/* 8001F6AC 0001B4EC 40 80 00 18 */ bge lbl_8001F6C4
.global lbl_8001F6B0
lbl_8001F6B0:
/* 8001F6B0 0001B4F0 80 06 FF FC */ lwz r0, -0x4(r6)
/* 8001F6B4 0001B4F4 38 C6 00 04 */ addi r6, r6, 0x4
/* 8001F6B8 0001B4F8 90 07 00 00 */ stw r0, 0x0(r7)
/* 8001F6BC 0001B4FC 38 E7 00 04 */ addi r7, r7, 0x4
/* 8001F6C0 0001B500 42 00 FF F0 */ bdnz lbl_8001F6B0
.global lbl_8001F6C4
lbl_8001F6C4:
/* 8001F6C4 0001B504 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 8001F6C8 0001B508 7C 69 1B 78 */ mr r9, r3
/* 8001F6CC 0001B50C 80 C1 00 08 */ lwz r6, 0x8(r1)
/* 8001F6D0 0001B510 7F A4 EB 78 */ mr r4, r29
/* 8001F6D4 0001B514 39 1F 00 01 */ addi r8, r31, 0x1
/* 8001F6D8 0001B518 38 60 FF FF */ li r3, -0x1
/* 8001F6DC 0001B51C 38 E0 00 00 */ li r7, 0x0
/* 8001F6E0 0001B520 4B FF F6 E1 */ bl __OSBootDolSimple
/* 8001F6E4 0001B524 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8001F6E8 0001B528 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8001F6EC 0001B52C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8001F6F0 0001B530 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8001F6F4 0001B534 7C 08 03 A6 */ mtlr r0
/* 8001F6F8 0001B538 38 21 00 40 */ addi r1, r1, 0x40
/* 8001F6FC 0001B53C 4E 80 00 20 */ blr
.global OSExecl
OSExecl:
/* 8001F700 0001B540 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 8001F704 0001B544 7C 08 02 A6 */ mflr r0
/* 8001F708 0001B548 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 8001F70C 0001B54C 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 8001F710 0001B550 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 8001F714 0001B554 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 8001F718 0001B558 7C 9D 23 78 */ mr r29, r4
/* 8001F71C 0001B55C 93 81 00 B0 */ stw r28, 0xb0(r1)
/* 8001F720 0001B560 7C 7C 1B 78 */ mr r28, r3
/* 8001F724 0001B564 40 86 00 24 */ bne cr1, lbl_8001F748
/* 8001F728 0001B568 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8001F72C 0001B56C D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8001F730 0001B570 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8001F734 0001B574 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8001F738 0001B578 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8001F73C 0001B57C D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8001F740 0001B580 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8001F744 0001B584 D9 01 00 60 */ stfd f8, 0x60(r1)
.global lbl_8001F748
lbl_8001F748:
/* 8001F748 0001B588 90 61 00 08 */ stw r3, 0x8(r1)
/* 8001F74C 0001B58C 90 81 00 0C */ stw r4, 0xc(r1)
/* 8001F750 0001B590 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8001F754 0001B594 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8001F758 0001B598 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8001F75C 0001B59C 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8001F760 0001B5A0 91 21 00 20 */ stw r9, 0x20(r1)
/* 8001F764 0001B5A4 91 41 00 24 */ stw r10, 0x24(r1)
/* 8001F768 0001B5A8 48 00 76 D9 */ bl __OSStopPlayRecord
/* 8001F76C 0001B5AC 48 00 6F 95 */ bl __OSUnRegisterStateEvent
/* 8001F770 0001B5B0 48 00 50 21 */ bl OSDisableScheduler
/* 8001F774 0001B5B4 38 60 00 06 */ li r3, 0x6
/* 8001F778 0001B5B8 48 00 38 D9 */ bl __OSShutdownDevices
/* 8001F77C 0001B5BC 48 00 50 55 */ bl OSEnableScheduler
/* 8001F780 0001B5C0 3C 60 81 28 */ lis r3, 0x8128
/* 8001F784 0001B5C4 4B FF CC 4D */ bl OSSetMEM1ArenaLo
/* 8001F788 0001B5C8 3C 60 81 2F */ lis r3, 0x812f
/* 8001F78C 0001B5CC 4B FF CC 25 */ bl OSSetMEM1ArenaHi
/* 8001F790 0001B5D0 38 60 00 04 */ li r3, 0x4
/* 8001F794 0001B5D4 38 80 10 00 */ li r4, 0x1000
/* 8001F798 0001B5D8 4B FF CC 59 */ bl OSAllocFromMEM1ArenaLo
/* 8001F79C 0001B5DC 38 81 00 C8 */ addi r4, r1, 0xc8
/* 8001F7A0 0001B5E0 38 01 00 08 */ addi r0, r1, 0x8
/* 8001F7A4 0001B5E4 3C A0 02 00 */ lis r5, 0x200
/* 8001F7A8 0001B5E8 90 A1 00 68 */ stw r5, 0x68(r1)
/* 8001F7AC 0001B5EC 7C 7E 1B 78 */ mr r30, r3
/* 8001F7B0 0001B5F0 3B E0 00 00 */ li r31, 0x0
/* 8001F7B4 0001B5F4 90 81 00 6C */ stw r4, 0x6c(r1)
/* 8001F7B8 0001B5F8 90 01 00 70 */ stw r0, 0x70(r1)
/* 8001F7BC 0001B5FC 48 00 00 14 */ b lbl_8001F7D0
.global lbl_8001F7C0
lbl_8001F7C0:
/* 8001F7C0 0001B600 38 61 00 68 */ addi r3, r1, 0x68
/* 8001F7C4 0001B604 38 80 00 01 */ li r4, 0x1
/* 8001F7C8 0001B608 4B FE 72 E1 */ bl __va_arg
/* 8001F7CC 0001B60C 83 A3 00 00 */ lwz r29, 0x0(r3)
.global lbl_8001F7D0
lbl_8001F7D0:
/* 8001F7D0 0001B610 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8001F7D4 0001B614 7F BE F9 2E */ stwx r29, r30, r31
/* 8001F7D8 0001B618 3B FF 00 04 */ addi r31, r31, 0x4
/* 8001F7DC 0001B61C 40 82 FF E4 */ bne lbl_8001F7C0
/* 8001F7E0 0001B620 88 1C 00 00 */ lbz r0, 0x0(r28)
/* 8001F7E4 0001B624 7C 00 07 75 */ extsb. r0, r0
/* 8001F7E8 0001B628 40 82 00 0C */ bne lbl_8001F7F4
/* 8001F7EC 0001B62C 38 60 00 00 */ li r3, 0x0
/* 8001F7F0 0001B630 48 00 00 3C */ b lbl_8001F82C
.global lbl_8001F7F4
lbl_8001F7F4:
/* 8001F7F4 0001B634 7F 83 E3 78 */ mr r3, r28
/* 8001F7F8 0001B638 38 81 00 74 */ addi r4, r1, 0x74
/* 8001F7FC 0001B63C 48 01 A4 A5 */ bl DVDOpen
/* 8001F800 0001B640 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001F804 0001B644 41 82 00 14 */ beq lbl_8001F818
/* 8001F808 0001B648 80 61 00 A4 */ lwz r3, 0xa4(r1)
/* 8001F80C 0001B64C 38 00 FF FF */ li r0, -0x1
/* 8001F810 0001B650 7C 63 00 38 */ and r3, r3, r0
/* 8001F814 0001B654 48 00 00 18 */ b lbl_8001F82C
.global lbl_8001F818
lbl_8001F818:
/* 8001F818 0001B658 3C 60 80 42 */ lis r3, "@3432"@ha
/* 8001F81C 0001B65C 38 63 2A 4C */ addi r3, r3, "@3432"@l
/* 8001F820 0001B660 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001F824 0001B664 4B FF E1 6D */ bl OSReport
/* 8001F828 0001B668 48 00 00 10 */ b lbl_8001F838
.global lbl_8001F82C
lbl_8001F82C:
/* 8001F82C 0001B66C 7F C5 F3 78 */ mr r5, r30
/* 8001F830 0001B670 3C 80 C0 00 */ lis r4, 0xBFFFFFD0@ha
/* 8001F834 0001B674 4B FF FC ED */ bl __OSBootDol
.global lbl_8001F838
lbl_8001F838:
/* 8001F838 0001B678 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 8001F83C 0001B67C 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 8001F840 0001B680 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 8001F844 0001B684 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 8001F848 0001B688 83 81 00 B0 */ lwz r28, 0xb0(r1)
/* 8001F84C 0001B68C 7C 08 03 A6 */ mtlr r0
/* 8001F850 0001B690 38 21 00 C0 */ addi r1, r1, 0xc0
/* 8001F854 0001B694 4E 80 00 20 */ blr
/* 8001F858 0001B698 00 00 00 00 */ .4byte 0x00000000
/* 8001F85C 0001B69C 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@3219"
"@3219":
.4byte 0x0A446973
.4byte 0x63206572
.4byte 0x726F7220
.4byte 0x6F636375
.4byte 0x72726564
.4byte 0x210A0000
.4byte 0x0A54696D
.4byte 0x656F7574
.4byte 0x20657272
.4byte 0x6F72206F
.4byte 0x63637572
.4byte 0x72656421
.4byte 0x0A000000
.4byte 0x0A556E65
.4byte 0x78706563
.4byte 0x74656420
.4byte 0x6572726F
.4byte 0x72206F63
.4byte 0x63757272
.4byte 0x6564210A
.4byte 0
.4byte 0x0A546865
.4byte 0x20737065
.4byte 0x63696669
.4byte 0x65642067
.4byte 0x616D6520
.4byte 0x646F6573
.4byte 0x6E277420
.4byte 0x65786973
.4byte 0x7420696E
.4byte 0x20746865
.4byte 0x20646973
.4byte 0x630A0000
.4byte 0x0A4F5345
.4byte 0x78656328
.4byte 0x293A2046
.4byte 0x61696C65
.4byte 0x6420746F
.4byte 0x20657865
.4byte 0x63202564
.4byte 0x20696E20
.4byte 0x25640A00
.4byte 0x4F534C61
.4byte 0x756E6368
.4byte 0x4469736B
.4byte 0x28293A20
.4byte 0x596F7520
.4byte 0x63616E27
.4byte 0x74206361
.4byte 0x6C6C2074
.4byte 0x68697320
.4byte 0x41504920
.4byte 0x66726F6D
.4byte 0x20445644
.4byte 0x20617070
.4byte 0x6C696361
.4byte 0x74696F6E
.4byte 0x2E20200A
.4byte 0
.4byte 0x4F534578
.4byte 0x65632E63
.4byte 0
.4byte 0x4F534C61
.4byte 0x756E6368
.4byte 0x4469736B
.4byte 0x28293A20
.4byte 0x596F7520
.4byte 0x6D757374
.4byte 0x2063616C
.4byte 0x6C204456
.4byte 0x44507265
.4byte 0x70617265
.4byte 0x4469736B
.4byte 0x20626566
.4byte 0x6F726520
.4byte 0x6C61756E
.4byte 0x6368696E
.4byte 0x67206469
.4byte 0x73632E0A
.4byte 0
.4byte 0x4F534C61
.4byte 0x756E6368
.4byte 0x4469736B
.4byte 0x28293A20
.4byte 0x53706563
.4byte 0x69666965
.4byte 0x64206964
.4byte 0x20697320
.4byte 0x64696666
.4byte 0x6572656E
.4byte 0x74206672
.4byte 0x6F6D206F
.4byte 0x6E652073
.4byte 0x70656369
.4byte 0x66696564
.4byte 0x20746F20
.4byte 0x44564450
.4byte 0x72657061
.4byte 0x72654469
.4byte 0x736B2E0A
.4byte 0
.4byte 0x30303030
.4byte 0x30303030
.4byte 0x30303030
.4byte 0x30303030
.4byte 0
.global "@3378"
"@3378":
.4byte 0x32303034
.4byte 0x2F30322F
.4byte 0x30310000
.global "@3432"
"@3432":
.4byte 0x5761726E
.4byte 0x696E673A
.4byte 0x204F5345
.4byte 0x78656328
.4byte 0x293A2054
.4byte 0x68652073
.4byte 0x70656369
.4byte 0x66696564
.4byte 0x2066696C
.4byte 0x6520646F
.4byte 0x65736E27
.4byte 0x74206578
.4byte 0x6973742E
.4byte 0x200A0000
.4byte 0x4F534C61
.4byte 0x756E6368
.4byte 0x50617274
.4byte 0x6974696F
.4byte 0x6E28293A
.4byte 0x20596F75
.4byte 0x2063616E
.4byte 0x27742063
.4byte 0x616C6C20
.4byte 0x74686973
.4byte 0x20415049
.4byte 0x2066726F
.4byte 0x6D204E41
.4byte 0x4E442061
.4byte 0x70706C69
.4byte 0x63617469
.4byte 0x6F6E2E20
.4byte 0x200A0000
.4byte 0x4F534C61
.4byte 0x756E6368
.4byte 0x50617274
.4byte 0x6974696F
.4byte 0x6E28293A
.4byte 0x20537065
.4byte 0x63696669
.4byte 0x65642074
.4byte 0x69746C65
.4byte 0x20494420
.4byte 0x6973206E
.4byte 0x6F742044
.4byte 0x49534320
.4byte 0x6170706C
.4byte 0x69636174
.4byte 0x696F6E2E
.4byte 0x20200A00
.4byte 0x2F746974
.4byte 0x6C652F25
.4byte 0x3038782F
.4byte 0x25303878
.4byte 0
.4byte 0x0A4F534C
.4byte 0x61756E63
.4byte 0x68506172
.4byte 0x74697469
.4byte 0x6F6E2829
.4byte 0x3A204661
.4byte 0x696C6564
.4byte 0x20746F20
.4byte 0x67657420
.4byte 0x66726565
.4byte 0x20692D6E
.4byte 0x6F646573
.4byte 0x206E756D
.4byte 0x6265720A
.4byte 0
.4byte 0x0A4F534C
.4byte 0x61756E63
.4byte 0x68506172
.4byte 0x74697469
.4byte 0x6F6E2829
.4byte 0x3A205468
.4byte 0x65726520
.4byte 0x61726520
.4byte 0x6E6F7420
.4byte 0x656E6F75
.4byte 0x67682069
.4byte 0x2D6E6F64
.4byte 0x65732074
.4byte 0x6F206C61
.4byte 0x756E6368
.4byte 0x206E6578
.4byte 0x74207061
.4byte 0x72746974
.4byte 0x696F6E0A
.4byte 0
.4byte 0x0A4F534C
.4byte 0x61756E63
.4byte 0x68506172
.4byte 0x74697469
.4byte 0x6F6E2829
.4byte 0x3A204661
.4byte 0x696C6564
.4byte 0x20746F20
.4byte 0x67657420
.4byte 0x6E616E64
.4byte 0x20737461
.4byte 0x7475730A
.4byte 0
.4byte 0
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global id
id:
.skip 0x20
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global "@3377_805564D0"
"@3377_805564D0":
.4byte 0x25303136
.4byte 0x6C6C7800
.global "@3424"
"@3424":
.4byte 0x25640000
.4byte 0
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global __OSNextPartitionType
__OSNextPartitionType:
.skip 0x4
.global "@LOCAL@GetApploaderPosition__Fv@apploaderPosition"
"@LOCAL@GetApploaderPosition__Fv@apploaderPosition":
.skip 0x4
.global DVDLowIntType
DVDLowIntType:
.skip 0x4
.global __OSInReboot
__OSInReboot:
.skip 0x4
.global Prepared_8055C7F0
Prepared_8055C7F0:
.skip 0x8