donut-decomp/asm/dvd/dvd_broadway.s
2022-10-17 09:13:49 +01:00

4003 lines
160 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global doTransactionCallback
doTransactionCallback:
/* 800401E0 0003C020 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800401E4 0003C024 7C 08 02 A6 */ mflr r0
/* 800401E8 0003C028 90 01 00 14 */ stw r0, 0x14(r1)
/* 800401EC 0003C02C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800401F0 0003C030 7C 9F 23 78 */ mr r31, r4
/* 800401F4 0003C034 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 800401F8 0003C038 3C 05 01 15 */ addis r0, r5, 0x115
/* 800401FC 0003C03C 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80040200 0003C040 41 82 00 24 */ beq lbl_80040224
/* 80040204 0003C044 3C 60 80 43 */ lis r3, "@3815"@ha
/* 80040208 0003C048 38 63 20 38 */ addi r3, r3, "@3815"@l
/* 8004020C 0003C04C 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040210 0003C050 4B FD D7 81 */ bl OSReport
/* 80040214 0003C054 3C 60 FE EC */ lis r3, 0xFEEBDAED@ha
/* 80040218 0003C058 38 03 DA ED */ addi r0, r3, 0xFEEBDAED@l
/* 8004021C 0003C05C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80040220 0003C060 48 00 00 58 */ b lbl_80040278
.global lbl_80040224
lbl_80040224:
/* 80040224 0003C064 38 C0 00 00 */ li r6, 0x0
/* 80040228 0003C068 98 CD E6 F8 */ stb r6, requestInProgress@sda21(r13)
/* 8004022C 0003C06C 80 04 00 00 */ lwz r0, 0x0(r4)
/* 80040230 0003C070 2C 00 00 00 */ cmpwi r0, 0x0
/* 80040234 0003C074 41 82 00 44 */ beq lbl_80040278
/* 80040238 0003C078 88 0D E7 18 */ lbz r0, breakRequested@sda21(r13)
/* 8004023C 0003C07C 38 A0 00 01 */ li r5, 0x1
/* 80040240 0003C080 98 AD E6 F9 */ stb r5, callbackInProgress@sda21(r13)
/* 80040244 0003C084 28 00 00 01 */ cmplwi r0, 0x1
/* 80040248 0003C088 40 82 00 0C */ bne lbl_80040254
/* 8004024C 0003C08C 98 CD E7 18 */ stb r6, breakRequested@sda21(r13)
/* 80040250 0003C090 60 63 00 08 */ ori r3, r3, 0x8
.global lbl_80040254
lbl_80040254:
/* 80040254 0003C094 54 60 07 FF */ clrlwi. r0, r3, 31
/* 80040258 0003C098 41 82 00 0C */ beq lbl_80040264
/* 8004025C 0003C09C 38 00 00 00 */ li r0, 0x0
/* 80040260 0003C0A0 90 0D E7 0C */ stw r0, readLength@sda21(r13)
.global lbl_80040264
lbl_80040264:
/* 80040264 0003C0A4 81 84 00 00 */ lwz r12, 0x0(r4)
/* 80040268 0003C0A8 7D 89 03 A6 */ mtctr r12
/* 8004026C 0003C0AC 4E 80 04 21 */ bctrl
/* 80040270 0003C0B0 38 00 00 00 */ li r0, 0x0
/* 80040274 0003C0B4 98 0D E6 F9 */ stb r0, callbackInProgress@sda21(r13)
.global lbl_80040278
lbl_80040278:
/* 80040278 0003C0B8 38 00 00 00 */ li r0, 0x0
/* 8004027C 0003C0BC 98 1F 00 08 */ stb r0, 0x8(r31)
/* 80040280 0003C0C0 38 60 00 00 */ li r3, 0x0
/* 80040284 0003C0C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80040288 0003C0C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004028C 0003C0CC 7C 08 03 A6 */ mtlr r0
/* 80040290 0003C0D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80040294 0003C0D4 4E 80 00 20 */ blr
/* 80040298 0003C0D8 00 00 00 00 */ .4byte 0x00000000
/* 8004029C 0003C0DC 00 00 00 00 */ .4byte 0x00000000
.global doPrepareCoverRegisterCallback
doPrepareCoverRegisterCallback:
/* 800402A0 0003C0E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800402A4 0003C0E4 7C 08 02 A6 */ mflr r0
/* 800402A8 0003C0E8 3C A0 80 4A */ lis r5, diRegValCache@ha
/* 800402AC 0003C0EC 3C C0 80 4A */ lis r6, registerBuf@ha
/* 800402B0 0003C0F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800402B4 0003C0F4 38 A5 FD E0 */ addi r5, r5, diRegValCache@l
/* 800402B8 0003C0F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800402BC 0003C0FC 7C 9F 23 78 */ mr r31, r4
/* 800402C0 0003C100 80 06 FE 00 */ lwz r0, registerBuf@l(r6)
/* 800402C4 0003C104 38 C0 00 00 */ li r6, 0x0
/* 800402C8 0003C108 98 CD E6 F8 */ stb r6, requestInProgress@sda21(r13)
/* 800402CC 0003C10C 90 05 00 04 */ stw r0, 0x4(r5)
/* 800402D0 0003C110 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 800402D4 0003C114 3C 05 01 15 */ addis r0, r5, 0x115
/* 800402D8 0003C118 28 00 DA ED */ cmplwi r0, 0xdaed
/* 800402DC 0003C11C 41 82 00 24 */ beq lbl_80040300
/* 800402E0 0003C120 3C 60 80 43 */ lis r3, "@3815"@ha
/* 800402E4 0003C124 38 63 20 38 */ addi r3, r3, "@3815"@l
/* 800402E8 0003C128 4C C6 31 82 */ crclr 4*cr1+eq
/* 800402EC 0003C12C 4B FD D6 A5 */ bl OSReport
/* 800402F0 0003C130 3C 60 FE EC */ lis r3, 0xFEEBDAED@ha
/* 800402F4 0003C134 38 03 DA ED */ addi r0, r3, 0xFEEBDAED@l
/* 800402F8 0003C138 90 1F 00 0C */ stw r0, 0xc(r31)
/* 800402FC 0003C13C 48 00 00 40 */ b lbl_8004033C
.global lbl_80040300
lbl_80040300:
/* 80040300 0003C140 80 04 00 00 */ lwz r0, 0x0(r4)
/* 80040304 0003C144 2C 00 00 00 */ cmpwi r0, 0x0
/* 80040308 0003C148 41 82 00 34 */ beq lbl_8004033C
/* 8004030C 0003C14C 88 0D E7 18 */ lbz r0, breakRequested@sda21(r13)
/* 80040310 0003C150 38 A0 00 01 */ li r5, 0x1
/* 80040314 0003C154 98 AD E6 F9 */ stb r5, callbackInProgress@sda21(r13)
/* 80040318 0003C158 28 00 00 01 */ cmplwi r0, 0x1
/* 8004031C 0003C15C 40 82 00 0C */ bne lbl_80040328
/* 80040320 0003C160 98 CD E7 18 */ stb r6, breakRequested@sda21(r13)
/* 80040324 0003C164 60 63 00 08 */ ori r3, r3, 0x8
.global lbl_80040328
lbl_80040328:
/* 80040328 0003C168 81 84 00 00 */ lwz r12, 0x0(r4)
/* 8004032C 0003C16C 7D 89 03 A6 */ mtctr r12
/* 80040330 0003C170 4E 80 04 21 */ bctrl
/* 80040334 0003C174 38 00 00 00 */ li r0, 0x0
/* 80040338 0003C178 98 0D E6 F9 */ stb r0, callbackInProgress@sda21(r13)
.global lbl_8004033C
lbl_8004033C:
/* 8004033C 0003C17C 38 00 00 00 */ li r0, 0x0
/* 80040340 0003C180 98 1F 00 08 */ stb r0, 0x8(r31)
/* 80040344 0003C184 38 60 00 00 */ li r3, 0x0
/* 80040348 0003C188 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004034C 0003C18C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040350 0003C190 7C 08 03 A6 */ mtlr r0
/* 80040354 0003C194 38 21 00 10 */ addi r1, r1, 0x10
/* 80040358 0003C198 4E 80 00 20 */ blr
/* 8004035C 0003C19C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowFinalize
DVDLowFinalize:
/* 80040360 0003C1A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040364 0003C1A4 7C 08 02 A6 */ mflr r0
/* 80040368 0003C1A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004036C 0003C1AC 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80040370 0003C1B0 48 00 EF C1 */ bl IOS_Close
/* 80040374 0003C1B4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80040378 0003C1B8 41 82 00 1C */ beq lbl_80040394
/* 8004037C 0003C1BC 3C 60 80 43 */ lis r3, "@3832"@ha
/* 80040380 0003C1C0 38 63 20 98 */ addi r3, r3, "@3832"@l
/* 80040384 0003C1C4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040388 0003C1C8 4B FD D6 09 */ bl OSReport
/* 8004038C 0003C1CC 38 60 00 00 */ li r3, 0x0
/* 80040390 0003C1D0 48 00 00 10 */ b lbl_800403A0
.global lbl_80040394
lbl_80040394:
/* 80040394 0003C1D4 38 00 00 00 */ li r0, 0x0
/* 80040398 0003C1D8 98 0D E7 05 */ stb r0, DVDLowInitCalled@sda21(r13)
/* 8004039C 0003C1DC 38 60 00 01 */ li r3, 0x1
.global lbl_800403A0
lbl_800403A0:
/* 800403A0 0003C1E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800403A4 0003C1E4 7C 08 03 A6 */ mtlr r0
/* 800403A8 0003C1E8 38 21 00 10 */ addi r1, r1, 0x10
/* 800403AC 0003C1EC 4E 80 00 20 */ blr
.global DVDLowInit
DVDLowInit:
/* 800403B0 0003C1F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800403B4 0003C1F4 7C 08 02 A6 */ mflr r0
/* 800403B8 0003C1F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800403BC 0003C1FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800403C0 0003C200 3F E0 80 43 */ lis r31, "@3815"@ha
/* 800403C4 0003C204 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 800403C8 0003C208 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800403CC 0003C20C 88 0D E7 05 */ lbz r0, DVDLowInitCalled@sda21(r13)
/* 800403D0 0003C210 2C 00 00 00 */ cmpwi r0, 0x0
/* 800403D4 0003C214 40 82 01 84 */ bne lbl_80040558
/* 800403D8 0003C218 38 00 00 01 */ li r0, 0x1
/* 800403DC 0003C21C 98 0D E7 05 */ stb r0, DVDLowInitCalled@sda21(r13)
/* 800403E0 0003C220 48 00 E8 91 */ bl IPCCltInit
/* 800403E4 0003C224 2C 03 00 00 */ cmpwi r3, 0x0
/* 800403E8 0003C228 41 82 00 1C */ beq lbl_80040404
/* 800403EC 0003C22C 7C 64 1B 78 */ mr r4, r3
/* 800403F0 0003C230 38 7F 00 88 */ addi r3, r31, 0x88
/* 800403F4 0003C234 4C C6 31 82 */ crclr 4*cr1+eq
/* 800403F8 0003C238 4B FD D5 99 */ bl OSReport
/* 800403FC 0003C23C 38 60 00 00 */ li r3, 0x0
/* 80040400 0003C240 48 00 01 FC */ b lbl_800405FC
.global lbl_80040404
lbl_80040404:
/* 80040404 0003C244 48 00 E3 FD */ bl IPCGetBufferLo
/* 80040408 0003C248 7C 7E 1B 78 */ mr r30, r3
/* 8004040C 0003C24C 48 00 E3 E5 */ bl IPCGetBufferHi
/* 80040410 0003C250 57 C0 06 FF */ clrlwi. r0, r30, 27
/* 80040414 0003C254 41 82 00 0C */ beq lbl_80040420
/* 80040418 0003C258 38 1E 00 1F */ addi r0, r30, 0x1f
/* 8004041C 0003C25C 54 1E 06 FE */ clrlwi r30, r0, 27
.global lbl_80040420
lbl_80040420:
/* 80040420 0003C260 38 1E 00 80 */ addi r0, r30, 0x80
/* 80040424 0003C264 7C 00 18 40 */ cmplw r0, r3
/* 80040428 0003C268 40 81 00 14 */ ble lbl_8004043C
/* 8004042C 0003C26C 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 80040430 0003C270 38 80 00 80 */ li r4, 0x80
/* 80040434 0003C274 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040438 0003C278 4B FD D5 59 */ bl OSReport
.global lbl_8004043C
lbl_8004043C:
/* 8004043C 0003C27C 38 7E 00 80 */ addi r3, r30, 0x80
/* 80040440 0003C280 48 00 E3 D1 */ bl IPCSetBufferLo
/* 80040444 0003C284 2C 1E 00 00 */ cmpwi r30, 0x0
/* 80040448 0003C288 93 CD E7 14 */ stw r30, diCommand@sda21(r13)
/* 8004044C 0003C28C 40 82 00 18 */ bne lbl_80040464
/* 80040450 0003C290 38 7F 00 E4 */ addi r3, r31, 0xe4
/* 80040454 0003C294 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040458 0003C298 4B FD D5 39 */ bl OSReport
/* 8004045C 0003C29C 38 00 00 00 */ li r0, 0x0
/* 80040460 0003C2A0 48 00 00 68 */ b lbl_800404C8
.global lbl_80040464
lbl_80040464:
/* 80040464 0003C2A4 48 00 E3 9D */ bl IPCGetBufferLo
/* 80040468 0003C2A8 7C 7E 1B 78 */ mr r30, r3
/* 8004046C 0003C2AC 48 00 E3 85 */ bl IPCGetBufferHi
/* 80040470 0003C2B0 57 C0 06 FF */ clrlwi. r0, r30, 27
/* 80040474 0003C2B4 41 82 00 0C */ beq lbl_80040480
/* 80040478 0003C2B8 38 1E 00 1F */ addi r0, r30, 0x1f
/* 8004047C 0003C2BC 54 1E 06 FE */ clrlwi r30, r0, 27
.global lbl_80040480
lbl_80040480:
/* 80040480 0003C2C0 38 1E 00 20 */ addi r0, r30, 0x20
/* 80040484 0003C2C4 7C 00 18 40 */ cmplw r0, r3
/* 80040488 0003C2C8 40 81 00 14 */ ble lbl_8004049C
/* 8004048C 0003C2CC 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 80040490 0003C2D0 38 80 00 20 */ li r4, 0x20
/* 80040494 0003C2D4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040498 0003C2D8 4B FD D4 F9 */ bl OSReport
.global lbl_8004049C
lbl_8004049C:
/* 8004049C 0003C2DC 38 7E 00 20 */ addi r3, r30, 0x20
/* 800404A0 0003C2E0 48 00 E3 71 */ bl IPCSetBufferLo
/* 800404A4 0003C2E4 2C 1E 00 00 */ cmpwi r30, 0x0
/* 800404A8 0003C2E8 93 CD E7 10 */ stw r30, pathBuf@sda21(r13)
/* 800404AC 0003C2EC 40 82 00 18 */ bne lbl_800404C4
/* 800404B0 0003C2F0 38 7F 01 0C */ addi r3, r31, 0x10c
/* 800404B4 0003C2F4 4C C6 31 82 */ crclr 4*cr1+eq
/* 800404B8 0003C2F8 4B FD D4 D9 */ bl OSReport
/* 800404BC 0003C2FC 38 00 00 00 */ li r0, 0x0
/* 800404C0 0003C300 48 00 00 08 */ b lbl_800404C8
.global lbl_800404C4
lbl_800404C4:
/* 800404C4 0003C304 38 00 00 01 */ li r0, 0x1
.global lbl_800404C8
lbl_800404C8:
/* 800404C8 0003C308 2C 00 00 00 */ cmpwi r0, 0x0
/* 800404CC 0003C30C 40 82 00 0C */ bne lbl_800404D8
/* 800404D0 0003C310 38 60 00 00 */ li r3, 0x0
/* 800404D4 0003C314 48 00 01 28 */ b lbl_800405FC
.global lbl_800404D8
lbl_800404D8:
/* 800404D8 0003C318 88 0D E7 04 */ lbz r0, dvdContextsInited@sda21(r13)
/* 800404DC 0003C31C 2C 00 00 00 */ cmpwi r0, 0x0
/* 800404E0 0003C320 40 82 00 78 */ bne lbl_80040558
/* 800404E4 0003C324 38 A0 00 00 */ li r5, 0x0
/* 800404E8 0003C328 3C 80 80 4A */ lis r4, dvdContexts@ha
/* 800404EC 0003C32C 94 A4 FD 60 */ stwu r5, dvdContexts@l(r4)
/* 800404F0 0003C330 3C 60 FE EC */ lis r3, 0xFEEBDAED@ha
/* 800404F4 0003C334 38 00 00 01 */ li r0, 0x1
/* 800404F8 0003C338 38 C0 00 02 */ li r6, 0x2
/* 800404FC 0003C33C 90 A4 00 04 */ stw r5, 0x4(r4)
/* 80040500 0003C340 38 63 DA ED */ addi r3, r3, 0xFEEBDAED@l
/* 80040504 0003C344 98 A4 00 08 */ stb r5, 0x8(r4)
/* 80040508 0003C348 90 64 00 0C */ stw r3, 0xc(r4)
/* 8004050C 0003C34C 90 A4 00 10 */ stw r5, 0x10(r4)
/* 80040510 0003C350 90 A4 00 20 */ stw r5, 0x20(r4)
/* 80040514 0003C354 90 A4 00 24 */ stw r5, 0x24(r4)
/* 80040518 0003C358 98 A4 00 28 */ stb r5, 0x28(r4)
/* 8004051C 0003C35C 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80040520 0003C360 90 04 00 30 */ stw r0, 0x30(r4)
/* 80040524 0003C364 90 A4 00 40 */ stw r5, 0x40(r4)
/* 80040528 0003C368 90 A4 00 44 */ stw r5, 0x44(r4)
/* 8004052C 0003C36C 98 A4 00 48 */ stb r5, 0x48(r4)
/* 80040530 0003C370 90 64 00 4C */ stw r3, 0x4c(r4)
/* 80040534 0003C374 90 C4 00 50 */ stw r6, 0x50(r4)
/* 80040538 0003C378 38 C0 00 03 */ li r6, 0x3
/* 8004053C 0003C37C 90 A4 00 60 */ stw r5, 0x60(r4)
/* 80040540 0003C380 90 A4 00 64 */ stw r5, 0x64(r4)
/* 80040544 0003C384 98 A4 00 68 */ stb r5, 0x68(r4)
/* 80040548 0003C388 90 64 00 6C */ stw r3, 0x6c(r4)
/* 8004054C 0003C38C 90 C4 00 70 */ stw r6, 0x70(r4)
/* 80040550 0003C390 90 AD E7 00 */ stw r5, freeDvdContext@sda21(r13)
/* 80040554 0003C394 98 0D E7 04 */ stb r0, dvdContextsInited@sda21(r13)
.global lbl_80040558
lbl_80040558:
/* 80040558 0003C398 80 6D E7 10 */ lwz r3, pathBuf@sda21(r13)
/* 8004055C 0003C39C 38 8D 81 E8 */ addi r4, r13, "@3856"@sda21
/* 80040560 0003C3A0 38 A0 00 20 */ li r5, 0x20
/* 80040564 0003C3A4 4B FC D5 1D */ bl strncpy
/* 80040568 0003C3A8 80 6D E7 10 */ lwz r3, pathBuf@sda21(r13)
/* 8004056C 0003C3AC 38 80 00 00 */ li r4, 0x0
/* 80040570 0003C3B0 48 00 EB D1 */ bl IOS_Open
/* 80040574 0003C3B4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80040578 0003C3B8 90 6D 81 E0 */ stw r3, DiFD@sda21(r13)
/* 8004057C 0003C3BC 41 80 00 0C */ blt lbl_80040588
/* 80040580 0003C3C0 38 60 00 01 */ li r3, 0x1
/* 80040584 0003C3C4 48 00 00 78 */ b lbl_800405FC
.global lbl_80040588
lbl_80040588:
/* 80040588 0003C3C8 2C 03 FF FB */ cmpwi r3, -0x5
/* 8004058C 0003C3CC 41 82 00 48 */ beq lbl_800405D4
/* 80040590 0003C3D0 40 80 00 10 */ bge lbl_800405A0
/* 80040594 0003C3D4 2C 03 FF FA */ cmpwi r3, -0x6
/* 80040598 0003C3D8 40 80 00 14 */ bge lbl_800405AC
/* 8004059C 0003C3DC 48 00 00 4C */ b lbl_800405E8
.global lbl_800405A0
lbl_800405A0:
/* 800405A0 0003C3E0 2C 03 FF FF */ cmpwi r3, -0x1
/* 800405A4 0003C3E4 41 82 00 1C */ beq lbl_800405C0
/* 800405A8 0003C3E8 48 00 00 40 */ b lbl_800405E8
.global lbl_800405AC
lbl_800405AC:
/* 800405AC 0003C3EC 38 7F 01 2C */ addi r3, r31, 0x12c
/* 800405B0 0003C3F0 4C C6 31 82 */ crclr 4*cr1+eq
/* 800405B4 0003C3F4 4B FD D3 DD */ bl OSReport
/* 800405B8 0003C3F8 38 60 00 00 */ li r3, 0x0
/* 800405BC 0003C3FC 48 00 00 40 */ b lbl_800405FC
.global lbl_800405C0
lbl_800405C0:
/* 800405C0 0003C400 38 7F 01 78 */ addi r3, r31, 0x178
/* 800405C4 0003C404 4C C6 31 82 */ crclr 4*cr1+eq
/* 800405C8 0003C408 4B FD D3 C9 */ bl OSReport
/* 800405CC 0003C40C 38 60 00 00 */ li r3, 0x0
/* 800405D0 0003C410 48 00 00 2C */ b lbl_800405FC
.global lbl_800405D4
lbl_800405D4:
/* 800405D4 0003C414 38 7F 01 C0 */ addi r3, r31, 0x1c0
/* 800405D8 0003C418 4C C6 31 82 */ crclr 4*cr1+eq
/* 800405DC 0003C41C 4B FD D3 B5 */ bl OSReport
/* 800405E0 0003C420 38 60 00 00 */ li r3, 0x0
/* 800405E4 0003C424 48 00 00 18 */ b lbl_800405FC
.global lbl_800405E8
lbl_800405E8:
/* 800405E8 0003C428 7C 64 1B 78 */ mr r4, r3
/* 800405EC 0003C42C 38 7F 02 0C */ addi r3, r31, 0x20c
/* 800405F0 0003C430 4C C6 31 82 */ crclr 4*cr1+eq
/* 800405F4 0003C434 4B FD D3 9D */ bl OSReport
/* 800405F8 0003C438 38 60 00 00 */ li r3, 0x0
.global lbl_800405FC
lbl_800405FC:
/* 800405FC 0003C43C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040600 0003C440 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80040604 0003C444 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80040608 0003C448 7C 08 03 A6 */ mtlr r0
/* 8004060C 0003C44C 38 21 00 10 */ addi r1, r1, 0x10
/* 80040610 0003C450 4E 80 00 20 */ blr
/* 80040614 0003C454 00 00 00 00 */ .4byte 0x00000000
/* 80040618 0003C458 00 00 00 00 */ .4byte 0x00000000
/* 8004061C 0003C45C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowReadDiskID
DVDLowReadDiskID:
/* 80040620 0003C460 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80040624 0003C464 7C 08 02 A6 */ mflr r0
/* 80040628 0003C468 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 8004062C 0003C46C 39 40 00 01 */ li r10, 0x1
/* 80040630 0003C470 90 01 00 24 */ stw r0, 0x24(r1)
/* 80040634 0003C474 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80040638 0003C478 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004063C 0003C47C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80040640 0003C480 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80040644 0003C484 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80040648 0003C488 7C 7E 1B 78 */ mr r30, r3
/* 8004064C 0003C48C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80040650 0003C490 81 2D E7 00 */ lwz r9, freeDvdContext@sda21(r13)
/* 80040654 0003C494 99 4D E6 F8 */ stb r10, requestInProgress@sda21(r13)
/* 80040658 0003C498 55 28 28 34 */ slwi r8, r9, 5
/* 8004065C 0003C49C 7C C7 42 14 */ add r6, r7, r8
/* 80040660 0003C4A0 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 80040664 0003C4A4 7C 05 00 D0 */ neg r0, r5
/* 80040668 0003C4A8 7C 00 2B 78 */ or r0, r0, r5
/* 8004066C 0003C4AC 54 00 0F FE */ srwi r0, r0, 31
/* 80040670 0003C4B0 28 00 00 01 */ cmplwi r0, 0x1
/* 80040674 0003C4B4 40 82 00 28 */ bne lbl_8004069C
/* 80040678 0003C4B8 7D 24 4B 78 */ mr r4, r9
/* 8004067C 0003C4BC 38 7F 02 40 */ addi r3, r31, 0x240
/* 80040680 0003C4C0 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040684 0003C4C4 4B FD D3 0D */ bl OSReport
/* 80040688 0003C4C8 38 7F 02 78 */ addi r3, r31, 0x278
/* 8004068C 0003C4CC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040690 0003C4D0 4B FD D3 01 */ bl OSReport
/* 80040694 0003C4D4 60 00 00 00 */ nop
.global lbl_80040698
lbl_80040698:
/* 80040698 0003C4D8 48 00 00 00 */ b lbl_80040698
.global lbl_8004069C
lbl_8004069C:
/* 8004069C 0003C4DC 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 800406A0 0003C4E0 3C 05 01 15 */ addis r0, r5, 0x115
/* 800406A4 0003C4E4 28 00 DA ED */ cmplwi r0, 0xdaed
/* 800406A8 0003C4E8 41 82 00 14 */ beq lbl_800406BC
/* 800406AC 0003C4EC 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 800406B0 0003C4F0 4C C6 31 82 */ crclr 4*cr1+eq
/* 800406B4 0003C4F4 4B FD D2 DD */ bl OSReport
.global lbl_800406B8
lbl_800406B8:
/* 800406B8 0003C4F8 48 00 00 00 */ b lbl_800406B8
.global lbl_800406BC
lbl_800406BC:
/* 800406BC 0003C4FC 7C 87 41 2E */ stwx r4, r7, r8
/* 800406C0 0003C500 38 09 00 01 */ addi r0, r9, 0x1
/* 800406C4 0003C504 2C 00 00 04 */ cmpwi r0, 0x4
/* 800406C8 0003C508 91 46 00 04 */ stw r10, 0x4(r6)
/* 800406CC 0003C50C 99 46 00 08 */ stb r10, 0x8(r6)
/* 800406D0 0003C510 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 800406D4 0003C514 41 80 00 0C */ blt lbl_800406E0
/* 800406D8 0003C518 38 00 00 00 */ li r0, 0x0
/* 800406DC 0003C51C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_800406E0
lbl_800406E0:
/* 800406E0 0003C520 3C 80 80 4A */ lis r4, dvdContexts@ha
/* 800406E4 0003C524 2C 03 00 00 */ cmpwi r3, 0x0
/* 800406E8 0003C528 55 20 28 34 */ slwi r0, r9, 5
/* 800406EC 0003C52C 38 84 FD 60 */ addi r4, r4, dvdContexts@l
/* 800406F0 0003C530 7F A4 02 14 */ add r29, r4, r0
/* 800406F4 0003C534 40 82 00 10 */ bne lbl_80040704
/* 800406F8 0003C538 38 7F 02 E8 */ addi r3, r31, 0x2e8
/* 800406FC 0003C53C 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040700 0003C540 4B FD D2 91 */ bl OSReport
.global lbl_80040704
lbl_80040704:
/* 80040704 0003C544 80 6D E6 FC */ lwz r3, freeCommandBuf@sda21(r13)
/* 80040708 0003C548 38 03 00 01 */ addi r0, r3, 0x1
/* 8004070C 0003C54C 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80040710 0003C550 2C 00 00 04 */ cmpwi r0, 0x4
/* 80040714 0003C554 41 80 00 0C */ blt lbl_80040720
/* 80040718 0003C558 38 00 00 00 */ li r0, 0x0
/* 8004071C 0003C55C 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80040720
lbl_80040720:
/* 80040720 0003C560 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 80040724 0003C564 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80040728 0003C568 54 00 28 34 */ slwi r0, r0, 5
/* 8004072C 0003C56C 38 80 00 70 */ li r4, 0x70
/* 80040730 0003C570 7C 83 01 AE */ stbx r4, r3, r0
/* 80040734 0003C574 7F C7 F3 78 */ mr r7, r30
/* 80040738 0003C578 7F AA EB 78 */ mr r10, r29
/* 8004073C 0003C57C 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80040740 0003C580 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80040744 0003C584 38 80 00 70 */ li r4, 0x70
/* 80040748 0003C588 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 8004074C 0003C58C 38 C0 00 20 */ li r6, 0x20
/* 80040750 0003C590 54 00 28 34 */ slwi r0, r0, 5
/* 80040754 0003C594 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80040758 0003C598 7C A5 02 14 */ add r5, r5, r0
/* 8004075C 0003C59C 39 00 00 20 */ li r8, 0x20
/* 80040760 0003C5A0 48 00 F2 71 */ bl IOS_IoctlAsync
/* 80040764 0003C5A4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80040768 0003C5A8 41 82 00 24 */ beq lbl_8004078C
/* 8004076C 0003C5AC 7C 64 1B 78 */ mr r4, r3
/* 80040770 0003C5B0 38 7F 03 24 */ addi r3, r31, 0x324
/* 80040774 0003C5B4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040778 0003C5B8 4B FD D2 19 */ bl OSReport
/* 8004077C 0003C5BC 38 00 00 00 */ li r0, 0x0
/* 80040780 0003C5C0 98 1D 00 08 */ stb r0, 0x8(r29)
/* 80040784 0003C5C4 38 60 00 00 */ li r3, 0x0
/* 80040788 0003C5C8 48 00 00 08 */ b lbl_80040790
.global lbl_8004078C
lbl_8004078C:
/* 8004078C 0003C5CC 38 60 00 01 */ li r3, 0x1
.global lbl_80040790
lbl_80040790:
/* 80040790 0003C5D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80040794 0003C5D4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80040798 0003C5D8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004079C 0003C5DC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800407A0 0003C5E0 7C 08 03 A6 */ mtlr r0
/* 800407A4 0003C5E4 38 21 00 20 */ addi r1, r1, 0x20
/* 800407A8 0003C5E8 4E 80 00 20 */ blr
/* 800407AC 0003C5EC 00 00 00 00 */ .4byte 0x00000000
.global DVDLowOpenPartition
DVDLowOpenPartition:
/* 800407B0 0003C5F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800407B4 0003C5F4 7C 08 02 A6 */ mflr r0
/* 800407B8 0003C5F8 3D 20 80 4A */ lis r9, dvdContexts@ha
/* 800407BC 0003C5FC 2C 04 00 00 */ cmpwi r4, 0x0
/* 800407C0 0003C600 90 01 00 24 */ stw r0, 0x24(r1)
/* 800407C4 0003C604 39 29 FD 60 */ addi r9, r9, dvdContexts@l
/* 800407C8 0003C608 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800407CC 0003C60C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 800407D0 0003C610 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 800407D4 0003C614 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800407D8 0003C618 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800407DC 0003C61C 93 81 00 10 */ stw r28, 0x10(r1)
/* 800407E0 0003C620 41 82 00 20 */ beq lbl_80040800
/* 800407E4 0003C624 54 80 06 FF */ clrlwi. r0, r4, 27
/* 800407E8 0003C628 41 82 00 18 */ beq lbl_80040800
/* 800407EC 0003C62C 38 7F 03 60 */ addi r3, r31, 0x360
/* 800407F0 0003C630 4C C6 31 82 */ crclr 4*cr1+eq
/* 800407F4 0003C634 4B FD D1 9D */ bl OSReport
/* 800407F8 0003C638 38 60 00 00 */ li r3, 0x0
/* 800407FC 0003C63C 48 00 02 00 */ b lbl_800409FC
.global lbl_80040800
lbl_80040800:
/* 80040800 0003C640 2C 06 00 00 */ cmpwi r6, 0x0
/* 80040804 0003C644 41 82 00 20 */ beq lbl_80040824
/* 80040808 0003C648 54 C0 06 FF */ clrlwi. r0, r6, 27
/* 8004080C 0003C64C 41 82 00 18 */ beq lbl_80040824
/* 80040810 0003C650 38 7F 03 98 */ addi r3, r31, 0x398
/* 80040814 0003C654 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040818 0003C658 4B FD D1 79 */ bl OSReport
/* 8004081C 0003C65C 38 60 00 00 */ li r3, 0x0
/* 80040820 0003C660 48 00 01 DC */ b lbl_800409FC
.global lbl_80040824
lbl_80040824:
/* 80040824 0003C664 2C 07 00 00 */ cmpwi r7, 0x0
/* 80040828 0003C668 41 82 00 20 */ beq lbl_80040848
/* 8004082C 0003C66C 54 E0 06 FF */ clrlwi. r0, r7, 27
/* 80040830 0003C670 41 82 00 18 */ beq lbl_80040848
/* 80040834 0003C674 38 7F 03 98 */ addi r3, r31, 0x398
/* 80040838 0003C678 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004083C 0003C67C 4B FD D1 55 */ bl OSReport
/* 80040840 0003C680 38 60 00 00 */ li r3, 0x0
/* 80040844 0003C684 48 00 01 B8 */ b lbl_800409FC
.global lbl_80040848
lbl_80040848:
/* 80040848 0003C688 83 AD E7 00 */ lwz r29, freeDvdContext@sda21(r13)
/* 8004084C 0003C68C 3B 80 00 01 */ li r28, 0x1
/* 80040850 0003C690 39 89 00 00 */ addi r12, r9, 0x0
/* 80040854 0003C694 9B 8D E6 F8 */ stb r28, requestInProgress@sda21(r13)
/* 80040858 0003C698 57 BE 28 34 */ slwi r30, r29, 5
/* 8004085C 0003C69C 7D 6C F2 14 */ add r11, r12, r30
/* 80040860 0003C6A0 89 4B 00 08 */ lbz r10, 0x8(r11)
/* 80040864 0003C6A4 7C 0A 00 D0 */ neg r0, r10
/* 80040868 0003C6A8 7C 00 53 78 */ or r0, r0, r10
/* 8004086C 0003C6AC 54 00 0F FE */ srwi r0, r0, 31
/* 80040870 0003C6B0 28 00 00 01 */ cmplwi r0, 0x1
/* 80040874 0003C6B4 40 82 00 28 */ bne lbl_8004089C
/* 80040878 0003C6B8 7F A4 EB 78 */ mr r4, r29
/* 8004087C 0003C6BC 38 7F 02 40 */ addi r3, r31, 0x240
/* 80040880 0003C6C0 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040884 0003C6C4 4B FD D1 0D */ bl OSReport
/* 80040888 0003C6C8 38 7F 02 78 */ addi r3, r31, 0x278
/* 8004088C 0003C6CC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040890 0003C6D0 4B FD D1 01 */ bl OSReport
/* 80040894 0003C6D4 60 00 00 00 */ nop
.global lbl_80040898
lbl_80040898:
/* 80040898 0003C6D8 48 00 00 00 */ b lbl_80040898
.global lbl_8004089C
lbl_8004089C:
/* 8004089C 0003C6DC 81 4B 00 0C */ lwz r10, 0xc(r11)
/* 800408A0 0003C6E0 3C 0A 01 15 */ addis r0, r10, 0x115
/* 800408A4 0003C6E4 28 00 DA ED */ cmplwi r0, 0xdaed
/* 800408A8 0003C6E8 41 82 00 14 */ beq lbl_800408BC
/* 800408AC 0003C6EC 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 800408B0 0003C6F0 4C C6 31 82 */ crclr 4*cr1+eq
/* 800408B4 0003C6F4 4B FD D0 DD */ bl OSReport
.global lbl_800408B8
lbl_800408B8:
/* 800408B8 0003C6F8 48 00 00 00 */ b lbl_800408B8
.global lbl_800408BC
lbl_800408BC:
/* 800408BC 0003C6FC 7D 0C F1 2E */ stwx r8, r12, r30
/* 800408C0 0003C700 38 1D 00 01 */ addi r0, r29, 0x1
/* 800408C4 0003C704 2C 00 00 04 */ cmpwi r0, 0x4
/* 800408C8 0003C708 93 8B 00 04 */ stw r28, 0x4(r11)
/* 800408CC 0003C70C 9B 8B 00 08 */ stb r28, 0x8(r11)
/* 800408D0 0003C710 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 800408D4 0003C714 41 80 00 0C */ blt lbl_800408E0
/* 800408D8 0003C718 38 00 00 00 */ li r0, 0x0
/* 800408DC 0003C71C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_800408E0
lbl_800408E0:
/* 800408E0 0003C720 81 0D E6 FC */ lwz r8, freeCommandBuf@sda21(r13)
/* 800408E4 0003C724 57 AB 28 34 */ slwi r11, r29, 5
/* 800408E8 0003C728 39 49 00 00 */ addi r10, r9, 0x0
/* 800408EC 0003C72C 38 08 00 01 */ addi r0, r8, 0x1
/* 800408F0 0003C730 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 800408F4 0003C734 2C 00 00 04 */ cmpwi r0, 0x4
/* 800408F8 0003C738 7F CA 5A 14 */ add r30, r10, r11
/* 800408FC 0003C73C 41 80 00 0C */ blt lbl_80040908
/* 80040900 0003C740 38 00 00 00 */ li r0, 0x0
/* 80040904 0003C744 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80040908
lbl_80040908:
/* 80040908 0003C748 81 0D E7 14 */ lwz r8, diCommand@sda21(r13)
/* 8004090C 0003C74C 54 00 28 34 */ slwi r0, r0, 5
/* 80040910 0003C750 39 40 00 8B */ li r10, 0x8b
/* 80040914 0003C754 2C 04 00 00 */ cmpwi r4, 0x0
/* 80040918 0003C758 7D 48 01 AE */ stbx r10, r8, r0
/* 8004091C 0003C75C 39 09 00 C0 */ addi r8, r9, 0xc0
/* 80040920 0003C760 38 00 00 20 */ li r0, 0x20
/* 80040924 0003C764 81 4D E6 FC */ lwz r10, freeCommandBuf@sda21(r13)
/* 80040928 0003C768 81 6D E7 14 */ lwz r11, diCommand@sda21(r13)
/* 8004092C 0003C76C 55 4A 28 34 */ slwi r10, r10, 5
/* 80040930 0003C770 7D 4B 52 14 */ add r10, r11, r10
/* 80040934 0003C774 90 6A 00 04 */ stw r3, 0x4(r10)
/* 80040938 0003C778 80 6D E6 FC */ lwz r3, freeCommandBuf@sda21(r13)
/* 8004093C 0003C77C 81 4D E7 14 */ lwz r10, diCommand@sda21(r13)
/* 80040940 0003C780 54 63 28 34 */ slwi r3, r3, 5
/* 80040944 0003C784 90 08 00 04 */ stw r0, 0x4(r8)
/* 80040948 0003C788 7C 0A 1A 14 */ add r0, r10, r3
/* 8004094C 0003C78C 90 09 00 C0 */ stw r0, 0xc0(r9)
/* 80040950 0003C790 90 88 00 08 */ stw r4, 0x8(r8)
/* 80040954 0003C794 40 82 00 10 */ bne lbl_80040964
/* 80040958 0003C798 38 00 00 00 */ li r0, 0x0
/* 8004095C 0003C79C 90 08 00 0C */ stw r0, 0xc(r8)
/* 80040960 0003C7A0 48 00 00 0C */ b lbl_8004096C
.global lbl_80040964
lbl_80040964:
/* 80040964 0003C7A4 38 00 02 A4 */ li r0, 0x2a4
/* 80040968 0003C7A8 90 08 00 0C */ stw r0, 0xc(r8)
.global lbl_8004096C
lbl_8004096C:
/* 8004096C 0003C7AC 38 69 00 C0 */ addi r3, r9, 0xc0
/* 80040970 0003C7B0 2C 06 00 00 */ cmpwi r6, 0x0
/* 80040974 0003C7B4 90 C3 00 10 */ stw r6, 0x10(r3)
/* 80040978 0003C7B8 40 82 00 10 */ bne lbl_80040988
/* 8004097C 0003C7BC 38 00 00 00 */ li r0, 0x0
/* 80040980 0003C7C0 90 03 00 14 */ stw r0, 0x14(r3)
/* 80040984 0003C7C4 48 00 00 08 */ b lbl_8004098C
.global lbl_80040988
lbl_80040988:
/* 80040988 0003C7C8 90 A3 00 14 */ stw r5, 0x14(r3)
.global lbl_8004098C
lbl_8004098C:
/* 8004098C 0003C7CC 38 C9 00 C0 */ addi r6, r9, 0xc0
/* 80040990 0003C7D0 38 89 01 20 */ addi r4, r9, 0x120
/* 80040994 0003C7D4 90 E6 00 18 */ stw r7, 0x18(r6)
/* 80040998 0003C7D8 38 60 49 E4 */ li r3, 0x49e4
/* 8004099C 0003C7DC 38 00 00 20 */ li r0, 0x20
/* 800409A0 0003C7E0 3D 00 80 04 */ lis r8, doTransactionCallback@ha
/* 800409A4 0003C7E4 90 66 00 1C */ stw r3, 0x1c(r6)
/* 800409A8 0003C7E8 7C C7 33 78 */ mr r7, r6
/* 800409AC 0003C7EC 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 800409B0 0003C7F0 7F C9 F3 78 */ mr r9, r30
/* 800409B4 0003C7F4 90 86 00 20 */ stw r4, 0x20(r6)
/* 800409B8 0003C7F8 39 08 01 E0 */ addi r8, r8, doTransactionCallback@l
/* 800409BC 0003C7FC 38 80 00 8B */ li r4, 0x8b
/* 800409C0 0003C800 38 A0 00 03 */ li r5, 0x3
/* 800409C4 0003C804 90 06 00 24 */ stw r0, 0x24(r6)
/* 800409C8 0003C808 38 C0 00 02 */ li r6, 0x2
/* 800409CC 0003C80C 48 00 F3 B5 */ bl IOS_IoctlvAsync
/* 800409D0 0003C810 2C 03 00 00 */ cmpwi r3, 0x0
/* 800409D4 0003C814 41 82 00 24 */ beq lbl_800409F8
/* 800409D8 0003C818 7C 64 1B 78 */ mr r4, r3
/* 800409DC 0003C81C 38 7F 03 D0 */ addi r3, r31, 0x3d0
/* 800409E0 0003C820 4C C6 31 82 */ crclr 4*cr1+eq
/* 800409E4 0003C824 4B FD CF AD */ bl OSReport
/* 800409E8 0003C828 38 00 00 00 */ li r0, 0x0
/* 800409EC 0003C82C 98 1E 00 08 */ stb r0, 0x8(r30)
/* 800409F0 0003C830 38 60 00 00 */ li r3, 0x0
/* 800409F4 0003C834 48 00 00 08 */ b lbl_800409FC
.global lbl_800409F8
lbl_800409F8:
/* 800409F8 0003C838 38 60 00 01 */ li r3, 0x1
.global lbl_800409FC
lbl_800409FC:
/* 800409FC 0003C83C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80040A00 0003C840 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80040A04 0003C844 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80040A08 0003C848 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80040A0C 0003C84C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80040A10 0003C850 7C 08 03 A6 */ mtlr r0
/* 80040A14 0003C854 38 21 00 20 */ addi r1, r1, 0x20
/* 80040A18 0003C858 4E 80 00 20 */ blr
/* 80040A1C 0003C85C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowOpenPartitionWithTmdAndTicketView
DVDLowOpenPartitionWithTmdAndTicketView:
/* 80040A20 0003C860 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80040A24 0003C864 7C 08 02 A6 */ mflr r0
/* 80040A28 0003C868 90 01 00 24 */ stw r0, 0x24(r1)
/* 80040A2C 0003C86C 39 61 00 20 */ addi r11, r1, 0x20
/* 80040A30 0003C870 4B FC 69 0D */ bl lbl_8000733C
/* 80040A34 0003C874 2C 08 00 00 */ cmpwi r8, 0x0
/* 80040A38 0003C878 3D 40 80 4A */ lis r10, dvdContexts@ha
/* 80040A3C 0003C87C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80040A40 0003C880 39 4A FD 60 */ addi r10, r10, dvdContexts@l
/* 80040A44 0003C884 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80040A48 0003C888 41 82 00 14 */ beq lbl_80040A5C
/* 80040A4C 0003C88C 55 00 06 FF */ clrlwi. r0, r8, 27
/* 80040A50 0003C890 41 82 00 0C */ beq lbl_80040A5C
/* 80040A54 0003C894 38 60 00 00 */ li r3, 0x0
/* 80040A58 0003C898 48 00 02 14 */ b lbl_80040C6C
.global lbl_80040A5C
lbl_80040A5C:
/* 80040A5C 0003C89C 2C 06 00 00 */ cmpwi r6, 0x0
/* 80040A60 0003C8A0 40 82 00 1C */ bne lbl_80040A7C
/* 80040A64 0003C8A4 38 7F 04 58 */ addi r3, r31, 0x458
/* 80040A68 0003C8A8 38 9F 04 C8 */ addi r4, r31, 0x4c8
/* 80040A6C 0003C8AC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040A70 0003C8B0 4B FD CF 21 */ bl OSReport
/* 80040A74 0003C8B4 38 60 00 00 */ li r3, 0x0
/* 80040A78 0003C8B8 48 00 01 F4 */ b lbl_80040C6C
.global lbl_80040A7C
lbl_80040A7C:
/* 80040A7C 0003C8BC 54 C0 06 FF */ clrlwi. r0, r6, 27
/* 80040A80 0003C8C0 41 82 00 1C */ beq lbl_80040A9C
/* 80040A84 0003C8C4 38 7F 04 7C */ addi r3, r31, 0x47c
/* 80040A88 0003C8C8 38 9F 04 C8 */ addi r4, r31, 0x4c8
/* 80040A8C 0003C8CC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040A90 0003C8D0 4B FD CF 01 */ bl OSReport
/* 80040A94 0003C8D4 38 60 00 00 */ li r3, 0x0
/* 80040A98 0003C8D8 48 00 01 D4 */ b lbl_80040C6C
.global lbl_80040A9C
lbl_80040A9C:
/* 80040A9C 0003C8DC 2C 04 00 00 */ cmpwi r4, 0x0
/* 80040AA0 0003C8E0 40 82 00 1C */ bne lbl_80040ABC
/* 80040AA4 0003C8E4 38 7F 04 F0 */ addi r3, r31, 0x4f0
/* 80040AA8 0003C8E8 38 9F 04 C8 */ addi r4, r31, 0x4c8
/* 80040AAC 0003C8EC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040AB0 0003C8F0 4B FD CE E1 */ bl OSReport
/* 80040AB4 0003C8F4 38 60 00 00 */ li r3, 0x0
/* 80040AB8 0003C8F8 48 00 01 B4 */ b lbl_80040C6C
.global lbl_80040ABC
lbl_80040ABC:
/* 80040ABC 0003C8FC 54 80 06 FF */ clrlwi. r0, r4, 27
/* 80040AC0 0003C900 41 82 00 1C */ beq lbl_80040ADC
/* 80040AC4 0003C904 38 7F 05 1C */ addi r3, r31, 0x51c
/* 80040AC8 0003C908 38 9F 04 C8 */ addi r4, r31, 0x4c8
/* 80040ACC 0003C90C 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040AD0 0003C910 4B FD CE C1 */ bl OSReport
/* 80040AD4 0003C914 38 60 00 00 */ li r3, 0x0
/* 80040AD8 0003C918 48 00 01 94 */ b lbl_80040C6C
.global lbl_80040ADC
lbl_80040ADC:
/* 80040ADC 0003C91C 83 8D E7 00 */ lwz r28, freeDvdContext@sda21(r13)
/* 80040AE0 0003C920 3B 60 00 01 */ li r27, 0x1
/* 80040AE4 0003C924 3B AA 00 00 */ addi r29, r10, 0x0
/* 80040AE8 0003C928 9B 6D E6 F8 */ stb r27, requestInProgress@sda21(r13)
/* 80040AEC 0003C92C 57 9E 28 34 */ slwi r30, r28, 5
/* 80040AF0 0003C930 7D 9D F2 14 */ add r12, r29, r30
/* 80040AF4 0003C934 89 6C 00 08 */ lbz r11, 0x8(r12)
/* 80040AF8 0003C938 7C 0B 00 D0 */ neg r0, r11
/* 80040AFC 0003C93C 7C 00 5B 78 */ or r0, r0, r11
/* 80040B00 0003C940 54 00 0F FE */ srwi r0, r0, 31
/* 80040B04 0003C944 28 00 00 01 */ cmplwi r0, 0x1
/* 80040B08 0003C948 40 82 00 24 */ bne lbl_80040B2C
/* 80040B0C 0003C94C 7F 84 E3 78 */ mr r4, r28
/* 80040B10 0003C950 38 7F 02 40 */ addi r3, r31, 0x240
/* 80040B14 0003C954 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040B18 0003C958 4B FD CE 79 */ bl OSReport
/* 80040B1C 0003C95C 38 7F 02 78 */ addi r3, r31, 0x278
/* 80040B20 0003C960 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040B24 0003C964 4B FD CE 6D */ bl OSReport
.global lbl_80040B28
lbl_80040B28:
/* 80040B28 0003C968 48 00 00 00 */ b lbl_80040B28
.global lbl_80040B2C
lbl_80040B2C:
/* 80040B2C 0003C96C 81 6C 00 0C */ lwz r11, 0xc(r12)
/* 80040B30 0003C970 3C 0B 01 15 */ addis r0, r11, 0x115
/* 80040B34 0003C974 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80040B38 0003C978 41 82 00 14 */ beq lbl_80040B4C
/* 80040B3C 0003C97C 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80040B40 0003C980 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040B44 0003C984 4B FD CE 4D */ bl OSReport
.global lbl_80040B48
lbl_80040B48:
/* 80040B48 0003C988 48 00 00 00 */ b lbl_80040B48
.global lbl_80040B4C
lbl_80040B4C:
/* 80040B4C 0003C98C 7D 3D F1 2E */ stwx r9, r29, r30
/* 80040B50 0003C990 38 1C 00 01 */ addi r0, r28, 0x1
/* 80040B54 0003C994 2C 00 00 04 */ cmpwi r0, 0x4
/* 80040B58 0003C998 93 6C 00 04 */ stw r27, 0x4(r12)
/* 80040B5C 0003C99C 9B 6C 00 08 */ stb r27, 0x8(r12)
/* 80040B60 0003C9A0 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80040B64 0003C9A4 41 80 00 0C */ blt lbl_80040B70
/* 80040B68 0003C9A8 38 00 00 00 */ li r0, 0x0
/* 80040B6C 0003C9AC 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80040B70
lbl_80040B70:
/* 80040B70 0003C9B0 81 2D E6 FC */ lwz r9, freeCommandBuf@sda21(r13)
/* 80040B74 0003C9B4 57 8C 28 34 */ slwi r12, r28, 5
/* 80040B78 0003C9B8 39 6A 00 00 */ addi r11, r10, 0x0
/* 80040B7C 0003C9BC 38 09 00 01 */ addi r0, r9, 0x1
/* 80040B80 0003C9C0 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80040B84 0003C9C4 2C 00 00 04 */ cmpwi r0, 0x4
/* 80040B88 0003C9C8 7F CB 62 14 */ add r30, r11, r12
/* 80040B8C 0003C9CC 41 80 00 0C */ blt lbl_80040B98
/* 80040B90 0003C9D0 38 00 00 00 */ li r0, 0x0
/* 80040B94 0003C9D4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80040B98
lbl_80040B98:
/* 80040B98 0003C9D8 81 2D E7 14 */ lwz r9, diCommand@sda21(r13)
/* 80040B9C 0003C9DC 54 00 28 34 */ slwi r0, r0, 5
/* 80040BA0 0003C9E0 39 60 00 94 */ li r11, 0x94
/* 80040BA4 0003C9E4 2C 08 00 00 */ cmpwi r8, 0x0
/* 80040BA8 0003C9E8 7D 69 01 AE */ stbx r11, r9, r0
/* 80040BAC 0003C9EC 39 2A 00 C0 */ addi r9, r10, 0xc0
/* 80040BB0 0003C9F0 39 60 00 20 */ li r11, 0x20
/* 80040BB4 0003C9F4 38 00 00 D8 */ li r0, 0xd8
/* 80040BB8 0003C9F8 81 8D E6 FC */ lwz r12, freeCommandBuf@sda21(r13)
/* 80040BBC 0003C9FC 83 AD E7 14 */ lwz r29, diCommand@sda21(r13)
/* 80040BC0 0003CA00 55 8C 28 34 */ slwi r12, r12, 5
/* 80040BC4 0003CA04 7D 9D 62 14 */ add r12, r29, r12
/* 80040BC8 0003CA08 90 6C 00 04 */ stw r3, 0x4(r12)
/* 80040BCC 0003CA0C 80 6D E6 FC */ lwz r3, freeCommandBuf@sda21(r13)
/* 80040BD0 0003CA10 81 8D E7 14 */ lwz r12, diCommand@sda21(r13)
/* 80040BD4 0003CA14 54 63 28 34 */ slwi r3, r3, 5
/* 80040BD8 0003CA18 91 69 00 04 */ stw r11, 0x4(r9)
/* 80040BDC 0003CA1C 7C 6C 1A 14 */ add r3, r12, r3
/* 80040BE0 0003CA20 90 6A 00 C0 */ stw r3, 0xc0(r10)
/* 80040BE4 0003CA24 90 89 00 08 */ stw r4, 0x8(r9)
/* 80040BE8 0003CA28 90 09 00 0C */ stw r0, 0xc(r9)
/* 80040BEC 0003CA2C 90 C9 00 10 */ stw r6, 0x10(r9)
/* 80040BF0 0003CA30 90 A9 00 14 */ stw r5, 0x14(r9)
/* 80040BF4 0003CA34 91 09 00 18 */ stw r8, 0x18(r9)
/* 80040BF8 0003CA38 40 82 00 10 */ bne lbl_80040C08
/* 80040BFC 0003CA3C 38 00 00 00 */ li r0, 0x0
/* 80040C00 0003CA40 90 09 00 1C */ stw r0, 0x1c(r9)
/* 80040C04 0003CA44 48 00 00 08 */ b lbl_80040C0C
.global lbl_80040C08
lbl_80040C08:
/* 80040C08 0003CA48 90 E9 00 1C */ stw r7, 0x1c(r9)
.global lbl_80040C0C
lbl_80040C0C:
/* 80040C0C 0003CA4C 38 EA 00 C0 */ addi r7, r10, 0xc0
/* 80040C10 0003CA50 38 6A 01 20 */ addi r3, r10, 0x120
/* 80040C14 0003CA54 38 00 00 20 */ li r0, 0x20
/* 80040C18 0003CA58 3D 00 80 04 */ lis r8, doTransactionCallback@ha
/* 80040C1C 0003CA5C 90 67 00 20 */ stw r3, 0x20(r7)
/* 80040C20 0003CA60 7F C9 F3 78 */ mr r9, r30
/* 80040C24 0003CA64 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80040C28 0003CA68 39 08 01 E0 */ addi r8, r8, doTransactionCallback@l
/* 80040C2C 0003CA6C 90 07 00 24 */ stw r0, 0x24(r7)
/* 80040C30 0003CA70 38 80 00 94 */ li r4, 0x94
/* 80040C34 0003CA74 38 A0 00 04 */ li r5, 0x4
/* 80040C38 0003CA78 38 C0 00 01 */ li r6, 0x1
/* 80040C3C 0003CA7C 48 00 F1 45 */ bl IOS_IoctlvAsync
/* 80040C40 0003CA80 2C 03 00 00 */ cmpwi r3, 0x0
/* 80040C44 0003CA84 41 82 00 24 */ beq lbl_80040C68
/* 80040C48 0003CA88 7C 64 1B 78 */ mr r4, r3
/* 80040C4C 0003CA8C 38 7F 03 D0 */ addi r3, r31, 0x3d0
/* 80040C50 0003CA90 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040C54 0003CA94 4B FD CD 3D */ bl OSReport
/* 80040C58 0003CA98 38 00 00 00 */ li r0, 0x0
/* 80040C5C 0003CA9C 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80040C60 0003CAA0 38 60 00 00 */ li r3, 0x0
/* 80040C64 0003CAA4 48 00 00 08 */ b lbl_80040C6C
.global lbl_80040C68
lbl_80040C68:
/* 80040C68 0003CAA8 38 60 00 01 */ li r3, 0x1
.global lbl_80040C6C
lbl_80040C6C:
/* 80040C6C 0003CAAC 39 61 00 20 */ addi r11, r1, 0x20
/* 80040C70 0003CAB0 4B FC 67 19 */ bl lbl_80007388
/* 80040C74 0003CAB4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80040C78 0003CAB8 7C 08 03 A6 */ mtlr r0
/* 80040C7C 0003CABC 38 21 00 20 */ addi r1, r1, 0x20
/* 80040C80 0003CAC0 4E 80 00 20 */ blr
/* 80040C84 0003CAC4 00 00 00 00 */ .4byte 0x00000000
/* 80040C88 0003CAC8 00 00 00 00 */ .4byte 0x00000000
/* 80040C8C 0003CACC 00 00 00 00 */ .4byte 0x00000000
.global DVDLowGetNoDiscBufferSizes
DVDLowGetNoDiscBufferSizes:
/* 80040C90 0003CAD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040C94 0003CAD4 7C 08 02 A6 */ mflr r0
/* 80040C98 0003CAD8 2C 04 00 00 */ cmpwi r4, 0x0
/* 80040C9C 0003CADC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040CA0 0003CAE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80040CA4 0003CAE4 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80040CA8 0003CAE8 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80040CAC 0003CAEC 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80040CB0 0003CAF0 41 82 00 0C */ beq lbl_80040CBC
/* 80040CB4 0003CAF4 2C 05 00 00 */ cmpwi r5, 0x0
/* 80040CB8 0003CAF8 40 82 00 1C */ bne lbl_80040CD4
.global lbl_80040CBC
lbl_80040CBC:
/* 80040CBC 0003CAFC 38 7F 05 60 */ addi r3, r31, 0x560
/* 80040CC0 0003CB00 38 9F 05 44 */ addi r4, r31, 0x544
/* 80040CC4 0003CB04 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040CC8 0003CB08 4B FD CC C9 */ bl OSReport
/* 80040CCC 0003CB0C 38 60 00 00 */ li r3, 0x0
/* 80040CD0 0003CB10 48 00 01 B8 */ b lbl_80040E88
.global lbl_80040CD4
lbl_80040CD4:
/* 80040CD4 0003CB14 54 80 06 FF */ clrlwi. r0, r4, 27
/* 80040CD8 0003CB18 41 82 00 1C */ beq lbl_80040CF4
/* 80040CDC 0003CB1C 38 7F 05 84 */ addi r3, r31, 0x584
/* 80040CE0 0003CB20 38 9F 05 44 */ addi r4, r31, 0x544
/* 80040CE4 0003CB24 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040CE8 0003CB28 4B FD CC A9 */ bl OSReport
/* 80040CEC 0003CB2C 38 60 00 00 */ li r3, 0x0
/* 80040CF0 0003CB30 48 00 01 98 */ b lbl_80040E88
.global lbl_80040CF4
lbl_80040CF4:
/* 80040CF4 0003CB34 54 A0 06 FF */ clrlwi. r0, r5, 27
/* 80040CF8 0003CB38 41 82 00 1C */ beq lbl_80040D14
/* 80040CFC 0003CB3C 38 7F 05 AC */ addi r3, r31, 0x5ac
/* 80040D00 0003CB40 38 9F 05 44 */ addi r4, r31, 0x544
/* 80040D04 0003CB44 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040D08 0003CB48 4B FD CC 89 */ bl OSReport
/* 80040D0C 0003CB4C 38 60 00 00 */ li r3, 0x0
/* 80040D10 0003CB50 48 00 01 78 */ b lbl_80040E88
.global lbl_80040D14
lbl_80040D14:
/* 80040D14 0003CB54 81 6D E7 00 */ lwz r11, freeDvdContext@sda21(r13)
/* 80040D18 0003CB58 3D 20 80 4A */ lis r9, dvdContexts@ha
/* 80040D1C 0003CB5C 39 80 00 01 */ li r12, 0x1
/* 80040D20 0003CB60 99 8D E6 F8 */ stb r12, requestInProgress@sda21(r13)
/* 80040D24 0003CB64 55 6A 28 34 */ slwi r10, r11, 5
/* 80040D28 0003CB68 39 29 FD 60 */ addi r9, r9, dvdContexts@l
/* 80040D2C 0003CB6C 7D 09 52 14 */ add r8, r9, r10
/* 80040D30 0003CB70 88 E8 00 08 */ lbz r7, 0x8(r8)
/* 80040D34 0003CB74 7C 07 00 D0 */ neg r0, r7
/* 80040D38 0003CB78 7C 00 3B 78 */ or r0, r0, r7
/* 80040D3C 0003CB7C 54 00 0F FE */ srwi r0, r0, 31
/* 80040D40 0003CB80 28 00 00 01 */ cmplwi r0, 0x1
/* 80040D44 0003CB84 40 82 00 28 */ bne lbl_80040D6C
/* 80040D48 0003CB88 7D 64 5B 78 */ mr r4, r11
/* 80040D4C 0003CB8C 38 7F 02 40 */ addi r3, r31, 0x240
/* 80040D50 0003CB90 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040D54 0003CB94 4B FD CC 3D */ bl OSReport
/* 80040D58 0003CB98 38 7F 02 78 */ addi r3, r31, 0x278
/* 80040D5C 0003CB9C 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040D60 0003CBA0 4B FD CC 31 */ bl OSReport
/* 80040D64 0003CBA4 60 00 00 00 */ nop
.global lbl_80040D68
lbl_80040D68:
/* 80040D68 0003CBA8 48 00 00 00 */ b lbl_80040D68
.global lbl_80040D6C
lbl_80040D6C:
/* 80040D6C 0003CBAC 80 E8 00 0C */ lwz r7, 0xc(r8)
/* 80040D70 0003CBB0 3C 07 01 15 */ addis r0, r7, 0x115
/* 80040D74 0003CBB4 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80040D78 0003CBB8 41 82 00 14 */ beq lbl_80040D8C
/* 80040D7C 0003CBBC 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80040D80 0003CBC0 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040D84 0003CBC4 4B FD CC 0D */ bl OSReport
.global lbl_80040D88
lbl_80040D88:
/* 80040D88 0003CBC8 48 00 00 00 */ b lbl_80040D88
.global lbl_80040D8C
lbl_80040D8C:
/* 80040D8C 0003CBCC 7C C9 51 2E */ stwx r6, r9, r10
/* 80040D90 0003CBD0 38 0B 00 01 */ addi r0, r11, 0x1
/* 80040D94 0003CBD4 2C 00 00 04 */ cmpwi r0, 0x4
/* 80040D98 0003CBD8 91 88 00 04 */ stw r12, 0x4(r8)
/* 80040D9C 0003CBDC 99 88 00 08 */ stb r12, 0x8(r8)
/* 80040DA0 0003CBE0 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80040DA4 0003CBE4 41 80 00 0C */ blt lbl_80040DB0
/* 80040DA8 0003CBE8 38 00 00 00 */ li r0, 0x0
/* 80040DAC 0003CBEC 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80040DB0
lbl_80040DB0:
/* 80040DB0 0003CBF0 80 CD E6 FC */ lwz r6, freeCommandBuf@sda21(r13)
/* 80040DB4 0003CBF4 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80040DB8 0003CBF8 55 68 28 34 */ slwi r8, r11, 5
/* 80040DBC 0003CBFC 38 06 00 01 */ addi r0, r6, 0x1
/* 80040DC0 0003CC00 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80040DC4 0003CC04 2C 00 00 04 */ cmpwi r0, 0x4
/* 80040DC8 0003CC08 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80040DCC 0003CC0C 7F C7 42 14 */ add r30, r7, r8
/* 80040DD0 0003CC10 41 80 00 0C */ blt lbl_80040DDC
/* 80040DD4 0003CC14 38 00 00 00 */ li r0, 0x0
/* 80040DD8 0003CC18 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80040DDC
lbl_80040DDC:
/* 80040DDC 0003CC1C 80 CD E7 14 */ lwz r6, diCommand@sda21(r13)
/* 80040DE0 0003CC20 3D 00 80 04 */ lis r8, doTransactionCallback@ha
/* 80040DE4 0003CC24 54 00 28 34 */ slwi r0, r0, 5
/* 80040DE8 0003CC28 38 E0 00 92 */ li r7, 0x92
/* 80040DEC 0003CC2C 7C E6 01 AE */ stbx r7, r6, r0
/* 80040DF0 0003CC30 3D 60 80 4A */ lis r11, ioVec@ha
/* 80040DF4 0003CC34 38 EB FE 20 */ addi r7, r11, ioVec@l
/* 80040DF8 0003CC38 39 40 00 20 */ li r10, 0x20
/* 80040DFC 0003CC3C 80 CD E6 FC */ lwz r6, freeCommandBuf@sda21(r13)
/* 80040E00 0003CC40 38 00 00 04 */ li r0, 0x4
/* 80040E04 0003CC44 81 8D E7 14 */ lwz r12, diCommand@sda21(r13)
/* 80040E08 0003CC48 7F C9 F3 78 */ mr r9, r30
/* 80040E0C 0003CC4C 54 C6 28 34 */ slwi r6, r6, 5
/* 80040E10 0003CC50 39 08 01 E0 */ addi r8, r8, doTransactionCallback@l
/* 80040E14 0003CC54 7C CC 32 14 */ add r6, r12, r6
/* 80040E18 0003CC58 90 66 00 04 */ stw r3, 0x4(r6)
/* 80040E1C 0003CC5C 38 C0 00 02 */ li r6, 0x2
/* 80040E20 0003CC60 80 6D E6 FC */ lwz r3, freeCommandBuf@sda21(r13)
/* 80040E24 0003CC64 81 8D E7 14 */ lwz r12, diCommand@sda21(r13)
/* 80040E28 0003CC68 54 63 28 34 */ slwi r3, r3, 5
/* 80040E2C 0003CC6C 90 87 00 08 */ stw r4, 0x8(r7)
/* 80040E30 0003CC70 7D 8C 1A 14 */ add r12, r12, r3
/* 80040E34 0003CC74 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80040E38 0003CC78 90 A7 00 10 */ stw r5, 0x10(r7)
/* 80040E3C 0003CC7C 38 80 00 92 */ li r4, 0x92
/* 80040E40 0003CC80 38 A0 00 01 */ li r5, 0x1
/* 80040E44 0003CC84 91 8B FE 20 */ stw r12, -0x1e0(r11)
/* 80040E48 0003CC88 91 47 00 04 */ stw r10, 0x4(r7)
/* 80040E4C 0003CC8C 90 07 00 0C */ stw r0, 0xc(r7)
/* 80040E50 0003CC90 90 07 00 14 */ stw r0, 0x14(r7)
/* 80040E54 0003CC94 48 00 EF 2D */ bl IOS_IoctlvAsync
/* 80040E58 0003CC98 2C 03 00 00 */ cmpwi r3, 0x0
/* 80040E5C 0003CC9C 41 82 00 28 */ beq lbl_80040E84
/* 80040E60 0003CCA0 7C 65 1B 78 */ mr r5, r3
/* 80040E64 0003CCA4 38 7F 05 D4 */ addi r3, r31, 0x5d4
/* 80040E68 0003CCA8 38 9F 05 44 */ addi r4, r31, 0x544
/* 80040E6C 0003CCAC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040E70 0003CCB0 4B FD CB 21 */ bl OSReport
/* 80040E74 0003CCB4 38 00 00 00 */ li r0, 0x0
/* 80040E78 0003CCB8 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80040E7C 0003CCBC 38 60 00 00 */ li r3, 0x0
/* 80040E80 0003CCC0 48 00 00 08 */ b lbl_80040E88
.global lbl_80040E84
lbl_80040E84:
/* 80040E84 0003CCC4 38 60 00 01 */ li r3, 0x1
.global lbl_80040E88
lbl_80040E88:
/* 80040E88 0003CCC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040E8C 0003CCCC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80040E90 0003CCD0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80040E94 0003CCD4 7C 08 03 A6 */ mtlr r0
/* 80040E98 0003CCD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80040E9C 0003CCDC 4E 80 00 20 */ blr
.global DVDLowGetNoDiscOpenPartitionParams
DVDLowGetNoDiscOpenPartitionParams:
/* 80040EA0 0003CCE0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80040EA4 0003CCE4 7C 08 02 A6 */ mflr r0
/* 80040EA8 0003CCE8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80040EAC 0003CCEC 39 61 00 30 */ addi r11, r1, 0x30
/* 80040EB0 0003CCF0 4B FC 64 81 */ bl lbl_80007330
/* 80040EB4 0003CCF4 2C 04 00 00 */ cmpwi r4, 0x0
/* 80040EB8 0003CCF8 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80040EBC 0003CCFC 83 81 00 38 */ lwz r28, 0x38(r1)
/* 80040EC0 0003CD00 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80040EC4 0003CD04 41 82 00 34 */ beq lbl_80040EF8
/* 80040EC8 0003CD08 2C 05 00 00 */ cmpwi r5, 0x0
/* 80040ECC 0003CD0C 41 82 00 2C */ beq lbl_80040EF8
/* 80040ED0 0003CD10 2C 06 00 00 */ cmpwi r6, 0x0
/* 80040ED4 0003CD14 41 82 00 24 */ beq lbl_80040EF8
/* 80040ED8 0003CD18 2C 07 00 00 */ cmpwi r7, 0x0
/* 80040EDC 0003CD1C 41 82 00 1C */ beq lbl_80040EF8
/* 80040EE0 0003CD20 2C 08 00 00 */ cmpwi r8, 0x0
/* 80040EE4 0003CD24 41 82 00 14 */ beq lbl_80040EF8
/* 80040EE8 0003CD28 2C 09 00 00 */ cmpwi r9, 0x0
/* 80040EEC 0003CD2C 41 82 00 0C */ beq lbl_80040EF8
/* 80040EF0 0003CD30 2C 0A 00 00 */ cmpwi r10, 0x0
/* 80040EF4 0003CD34 40 82 00 1C */ bne lbl_80040F10
.global lbl_80040EF8
lbl_80040EF8:
/* 80040EF8 0003CD38 38 7F 05 60 */ addi r3, r31, 0x560
/* 80040EFC 0003CD3C 38 9F 06 04 */ addi r4, r31, 0x604
/* 80040F00 0003CD40 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040F04 0003CD44 4B FD CA 8D */ bl OSReport
/* 80040F08 0003CD48 38 60 00 00 */ li r3, 0x0
/* 80040F0C 0003CD4C 48 00 02 14 */ b lbl_80041120
.global lbl_80040F10
lbl_80040F10:
/* 80040F10 0003CD50 54 80 06 FF */ clrlwi. r0, r4, 27
/* 80040F14 0003CD54 40 82 00 34 */ bne lbl_80040F48
/* 80040F18 0003CD58 54 A0 06 FF */ clrlwi. r0, r5, 27
/* 80040F1C 0003CD5C 40 82 00 2C */ bne lbl_80040F48
/* 80040F20 0003CD60 54 C0 06 FF */ clrlwi. r0, r6, 27
/* 80040F24 0003CD64 40 82 00 24 */ bne lbl_80040F48
/* 80040F28 0003CD68 54 E0 06 FF */ clrlwi. r0, r7, 27
/* 80040F2C 0003CD6C 40 82 00 1C */ bne lbl_80040F48
/* 80040F30 0003CD70 55 00 06 FF */ clrlwi. r0, r8, 27
/* 80040F34 0003CD74 40 82 00 14 */ bne lbl_80040F48
/* 80040F38 0003CD78 55 20 06 FF */ clrlwi. r0, r9, 27
/* 80040F3C 0003CD7C 40 82 00 0C */ bne lbl_80040F48
/* 80040F40 0003CD80 55 40 06 FF */ clrlwi. r0, r10, 27
/* 80040F44 0003CD84 41 82 00 1C */ beq lbl_80040F60
.global lbl_80040F48
lbl_80040F48:
/* 80040F48 0003CD88 38 7F 06 28 */ addi r3, r31, 0x628
/* 80040F4C 0003CD8C 38 9F 06 04 */ addi r4, r31, 0x604
/* 80040F50 0003CD90 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040F54 0003CD94 4B FD CA 3D */ bl OSReport
/* 80040F58 0003CD98 38 60 00 00 */ li r3, 0x0
/* 80040F5C 0003CD9C 48 00 01 C4 */ b lbl_80041120
.global lbl_80040F60
lbl_80040F60:
/* 80040F60 0003CDA0 83 4D E7 00 */ lwz r26, freeDvdContext@sda21(r13)
/* 80040F64 0003CDA4 3F 00 80 4A */ lis r24, dvdContexts@ha
/* 80040F68 0003CDA8 3B 60 00 01 */ li r27, 0x1
/* 80040F6C 0003CDAC 9B 6D E6 F8 */ stb r27, requestInProgress@sda21(r13)
/* 80040F70 0003CDB0 57 59 28 34 */ slwi r25, r26, 5
/* 80040F74 0003CDB4 3B 18 FD 60 */ addi r24, r24, dvdContexts@l
/* 80040F78 0003CDB8 7D 98 CA 14 */ add r12, r24, r25
/* 80040F7C 0003CDBC 89 6C 00 08 */ lbz r11, 0x8(r12)
/* 80040F80 0003CDC0 7C 0B 00 D0 */ neg r0, r11
/* 80040F84 0003CDC4 7C 00 5B 78 */ or r0, r0, r11
/* 80040F88 0003CDC8 54 00 0F FE */ srwi r0, r0, 31
/* 80040F8C 0003CDCC 28 00 00 01 */ cmplwi r0, 0x1
/* 80040F90 0003CDD0 40 82 00 24 */ bne lbl_80040FB4
/* 80040F94 0003CDD4 7F 44 D3 78 */ mr r4, r26
/* 80040F98 0003CDD8 38 7F 02 40 */ addi r3, r31, 0x240
/* 80040F9C 0003CDDC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040FA0 0003CDE0 4B FD C9 F1 */ bl OSReport
/* 80040FA4 0003CDE4 38 7F 02 78 */ addi r3, r31, 0x278
/* 80040FA8 0003CDE8 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040FAC 0003CDEC 4B FD C9 E5 */ bl OSReport
.global lbl_80040FB0
lbl_80040FB0:
/* 80040FB0 0003CDF0 48 00 00 00 */ b lbl_80040FB0
.global lbl_80040FB4
lbl_80040FB4:
/* 80040FB4 0003CDF4 81 6C 00 0C */ lwz r11, 0xc(r12)
/* 80040FB8 0003CDF8 3C 0B 01 15 */ addis r0, r11, 0x115
/* 80040FBC 0003CDFC 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80040FC0 0003CE00 41 82 00 14 */ beq lbl_80040FD4
/* 80040FC4 0003CE04 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80040FC8 0003CE08 4C C6 31 82 */ crclr 4*cr1+eq
/* 80040FCC 0003CE0C 4B FD C9 C5 */ bl OSReport
.global lbl_80040FD0
lbl_80040FD0:
/* 80040FD0 0003CE10 48 00 00 00 */ b lbl_80040FD0
.global lbl_80040FD4
lbl_80040FD4:
/* 80040FD4 0003CE14 7F 98 C9 2E */ stwx r28, r24, r25
/* 80040FD8 0003CE18 38 1A 00 01 */ addi r0, r26, 0x1
/* 80040FDC 0003CE1C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80040FE0 0003CE20 93 6C 00 04 */ stw r27, 0x4(r12)
/* 80040FE4 0003CE24 9B 6C 00 08 */ stb r27, 0x8(r12)
/* 80040FE8 0003CE28 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80040FEC 0003CE2C 41 80 00 0C */ blt lbl_80040FF8
/* 80040FF0 0003CE30 38 00 00 00 */ li r0, 0x0
/* 80040FF4 0003CE34 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80040FF8
lbl_80040FF8:
/* 80040FF8 0003CE38 81 6D E6 FC */ lwz r11, freeCommandBuf@sda21(r13)
/* 80040FFC 0003CE3C 3D 80 80 4A */ lis r12, dvdContexts@ha
/* 80041000 0003CE40 57 58 28 34 */ slwi r24, r26, 5
/* 80041004 0003CE44 38 0B 00 01 */ addi r0, r11, 0x1
/* 80041008 0003CE48 39 8C FD 60 */ addi r12, r12, dvdContexts@l
/* 8004100C 0003CE4C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041010 0003CE50 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80041014 0003CE54 7F CC C2 14 */ add r30, r12, r24
/* 80041018 0003CE58 41 80 00 0C */ blt lbl_80041024
/* 8004101C 0003CE5C 38 00 00 00 */ li r0, 0x0
/* 80041020 0003CE60 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80041024
lbl_80041024:
/* 80041024 0003CE64 81 6D E7 14 */ lwz r11, diCommand@sda21(r13)
/* 80041028 0003CE68 3F 40 80 4A */ lis r26, ioVec@ha
/* 8004102C 0003CE6C 54 00 28 34 */ slwi r0, r0, 5
/* 80041030 0003CE70 39 80 00 90 */ li r12, 0x90
/* 80041034 0003CE74 7D 8B 01 AE */ stbx r12, r11, r0
/* 80041038 0003CE78 3B 9A FE 20 */ addi r28, r26, ioVec@l
/* 8004103C 0003CE7C 3B 60 00 20 */ li r27, 0x20
/* 80041040 0003CE80 3B A0 00 04 */ li r29, 0x4
/* 80041044 0003CE84 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041048 0003CE88 39 80 02 A4 */ li r12, 0x2a4
/* 8004104C 0003CE8C 83 0D E7 14 */ lwz r24, diCommand@sda21(r13)
/* 80041050 0003CE90 3D 60 00 02 */ lis r11, 0x2
/* 80041054 0003CE94 54 19 28 34 */ slwi r25, r0, 5
/* 80041058 0003CE98 7F 38 CA 14 */ add r25, r24, r25
/* 8004105C 0003CE9C 38 0B 80 00 */ addi r0, r11, -0x8000
/* 80041060 0003CEA0 90 79 00 04 */ stw r3, 0x4(r25)
/* 80041064 0003CEA4 3D 60 80 04 */ lis r11, doTransactionCallback@ha
/* 80041068 0003CEA8 80 6D E6 FC */ lwz r3, freeCommandBuf@sda21(r13)
/* 8004106C 0003CEAC 83 2D E7 14 */ lwz r25, diCommand@sda21(r13)
/* 80041070 0003CEB0 54 63 28 34 */ slwi r3, r3, 5
/* 80041074 0003CEB4 90 9C 00 18 */ stw r4, 0x18(r28)
/* 80041078 0003CEB8 7F 39 1A 14 */ add r25, r25, r3
/* 8004107C 0003CEBC 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80041080 0003CEC0 90 DC 00 28 */ stw r6, 0x28(r28)
/* 80041084 0003CEC4 38 80 00 90 */ li r4, 0x90
/* 80041088 0003CEC8 38 C0 00 07 */ li r6, 0x7
/* 8004108C 0003CECC 93 3A FE 20 */ stw r25, -0x1e0(r26)
/* 80041090 0003CED0 93 7C 00 04 */ stw r27, 0x4(r28)
/* 80041094 0003CED4 90 BC 00 08 */ stw r5, 0x8(r28)
/* 80041098 0003CED8 93 BC 00 0C */ stw r29, 0xc(r28)
/* 8004109C 0003CEDC 90 FC 00 10 */ stw r7, 0x10(r28)
/* 800410A0 0003CEE0 93 BC 00 14 */ stw r29, 0x14(r28)
/* 800410A4 0003CEE4 91 9C 00 1C */ stw r12, 0x1c(r28)
/* 800410A8 0003CEE8 90 BC 00 20 */ stw r5, 0x20(r28)
/* 800410AC 0003CEEC 93 BC 00 24 */ stw r29, 0x24(r28)
/* 800410B0 0003CEF0 81 85 00 00 */ lwz r12, 0x0(r5)
/* 800410B4 0003CEF4 38 A0 00 03 */ li r5, 0x3
/* 800410B8 0003CEF8 91 9C 00 2C */ stw r12, 0x2c(r28)
/* 800410BC 0003CEFC 91 1C 00 38 */ stw r8, 0x38(r28)
/* 800410C0 0003CF00 39 0B 01 E0 */ addi r8, r11, doTransactionCallback@l
/* 800410C4 0003CF04 90 FC 00 30 */ stw r7, 0x30(r28)
/* 800410C8 0003CF08 93 BC 00 34 */ stw r29, 0x34(r28)
/* 800410CC 0003CF0C 81 67 00 00 */ lwz r11, 0x0(r7)
/* 800410D0 0003CF10 7F 87 E3 78 */ mr r7, r28
/* 800410D4 0003CF14 91 7C 00 3C */ stw r11, 0x3c(r28)
/* 800410D8 0003CF18 91 3C 00 40 */ stw r9, 0x40(r28)
/* 800410DC 0003CF1C 7F C9 F3 78 */ mr r9, r30
/* 800410E0 0003CF20 93 BC 00 44 */ stw r29, 0x44(r28)
/* 800410E4 0003CF24 91 5C 00 48 */ stw r10, 0x48(r28)
/* 800410E8 0003CF28 90 1C 00 4C */ stw r0, 0x4c(r28)
/* 800410EC 0003CF2C 48 00 EC 95 */ bl IOS_IoctlvAsync
/* 800410F0 0003CF30 2C 03 00 00 */ cmpwi r3, 0x0
/* 800410F4 0003CF34 41 82 00 28 */ beq lbl_8004111C
/* 800410F8 0003CF38 7C 65 1B 78 */ mr r5, r3
/* 800410FC 0003CF3C 38 7F 05 D4 */ addi r3, r31, 0x5d4
/* 80041100 0003CF40 38 9F 06 04 */ addi r4, r31, 0x604
/* 80041104 0003CF44 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041108 0003CF48 4B FD C8 89 */ bl OSReport
/* 8004110C 0003CF4C 38 00 00 00 */ li r0, 0x0
/* 80041110 0003CF50 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041114 0003CF54 38 60 00 00 */ li r3, 0x0
/* 80041118 0003CF58 48 00 00 08 */ b lbl_80041120
.global lbl_8004111C
lbl_8004111C:
/* 8004111C 0003CF5C 38 60 00 01 */ li r3, 0x1
.global lbl_80041120
lbl_80041120:
/* 80041120 0003CF60 39 61 00 30 */ addi r11, r1, 0x30
/* 80041124 0003CF64 4B FC 62 59 */ bl lbl_8000737C
/* 80041128 0003CF68 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8004112C 0003CF6C 7C 08 03 A6 */ mtlr r0
/* 80041130 0003CF70 38 21 00 30 */ addi r1, r1, 0x30
/* 80041134 0003CF74 4E 80 00 20 */ blr
/* 80041138 0003CF78 00 00 00 00 */ .4byte 0x00000000
/* 8004113C 0003CF7C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowClosePartition
DVDLowClosePartition:
/* 80041140 0003CF80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041144 0003CF84 7C 08 02 A6 */ mflr r0
/* 80041148 0003CF88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004114C 0003CF8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80041150 0003CF90 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041154 0003CF94 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041158 0003CF98 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8004115C 0003CF9C 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 80041160 0003CFA0 38 04 00 01 */ addi r0, r4, 0x1
/* 80041164 0003CFA4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80041168 0003CFA8 2C 00 00 04 */ cmpwi r0, 0x4
/* 8004116C 0003CFAC 41 80 00 0C */ blt lbl_80041178
/* 80041170 0003CFB0 38 00 00 00 */ li r0, 0x0
/* 80041174 0003CFB4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80041178
lbl_80041178:
/* 80041178 0003CFB8 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 8004117C 0003CFBC 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80041180 0003CFC0 54 00 28 34 */ slwi r0, r0, 5
/* 80041184 0003CFC4 38 A0 00 8C */ li r5, 0x8c
/* 80041188 0003CFC8 7C A4 01 AE */ stbx r5, r4, r0
/* 8004118C 0003CFCC 39 20 00 01 */ li r9, 0x1
/* 80041190 0003CFD0 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80041194 0003CFD4 80 8D E7 00 */ lwz r4, freeDvdContext@sda21(r13)
/* 80041198 0003CFD8 99 2D E6 F8 */ stb r9, requestInProgress@sda21(r13)
/* 8004119C 0003CFDC 54 88 28 34 */ slwi r8, r4, 5
/* 800411A0 0003CFE0 7C C7 42 14 */ add r6, r7, r8
/* 800411A4 0003CFE4 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 800411A8 0003CFE8 7C 05 00 D0 */ neg r0, r5
/* 800411AC 0003CFEC 7C 00 2B 78 */ or r0, r0, r5
/* 800411B0 0003CFF0 54 00 0F FE */ srwi r0, r0, 31
/* 800411B4 0003CFF4 28 00 00 01 */ cmplwi r0, 0x1
/* 800411B8 0003CFF8 40 82 00 24 */ bne lbl_800411DC
/* 800411BC 0003CFFC 38 7F 02 40 */ addi r3, r31, 0x240
/* 800411C0 0003D000 4C C6 31 82 */ crclr 4*cr1+eq
/* 800411C4 0003D004 4B FD C7 CD */ bl OSReport
/* 800411C8 0003D008 38 7F 02 78 */ addi r3, r31, 0x278
/* 800411CC 0003D00C 4C C6 31 82 */ crclr 4*cr1+eq
/* 800411D0 0003D010 4B FD C7 C1 */ bl OSReport
/* 800411D4 0003D014 60 00 00 00 */ nop
.global lbl_800411D8
lbl_800411D8:
/* 800411D8 0003D018 48 00 00 00 */ b lbl_800411D8
.global lbl_800411DC
lbl_800411DC:
/* 800411DC 0003D01C 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 800411E0 0003D020 3C 05 01 15 */ addis r0, r5, 0x115
/* 800411E4 0003D024 28 00 DA ED */ cmplwi r0, 0xdaed
/* 800411E8 0003D028 41 82 00 14 */ beq lbl_800411FC
/* 800411EC 0003D02C 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 800411F0 0003D030 4C C6 31 82 */ crclr 4*cr1+eq
/* 800411F4 0003D034 4B FD C7 9D */ bl OSReport
.global lbl_800411F8
lbl_800411F8:
/* 800411F8 0003D038 48 00 00 00 */ b lbl_800411F8
.global lbl_800411FC
lbl_800411FC:
/* 800411FC 0003D03C 7C 67 41 2E */ stwx r3, r7, r8
/* 80041200 0003D040 38 04 00 01 */ addi r0, r4, 0x1
/* 80041204 0003D044 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041208 0003D048 91 26 00 04 */ stw r9, 0x4(r6)
/* 8004120C 0003D04C 99 26 00 08 */ stb r9, 0x8(r6)
/* 80041210 0003D050 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80041214 0003D054 41 80 00 0C */ blt lbl_80041220
/* 80041218 0003D058 38 00 00 00 */ li r0, 0x0
/* 8004121C 0003D05C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041220
lbl_80041220:
/* 80041220 0003D060 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041224 0003D064 3C 60 80 4A */ lis r3, dvdContexts@ha
/* 80041228 0003D068 54 85 28 34 */ slwi r5, r4, 5
/* 8004122C 0003D06C 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 80041230 0003D070 38 63 FD 60 */ addi r3, r3, dvdContexts@l
/* 80041234 0003D074 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80041238 0003D078 7F C3 2A 14 */ add r30, r3, r5
/* 8004123C 0003D07C 54 00 28 34 */ slwi r0, r0, 5
/* 80041240 0003D080 7C A4 02 14 */ add r5, r4, r0
/* 80041244 0003D084 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80041248 0003D088 7F CA F3 78 */ mr r10, r30
/* 8004124C 0003D08C 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80041250 0003D090 38 80 00 8C */ li r4, 0x8c
/* 80041254 0003D094 38 C0 00 20 */ li r6, 0x20
/* 80041258 0003D098 38 E0 00 00 */ li r7, 0x0
/* 8004125C 0003D09C 39 00 00 00 */ li r8, 0x0
/* 80041260 0003D0A0 48 00 E7 71 */ bl IOS_IoctlAsync
/* 80041264 0003D0A4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80041268 0003D0A8 41 82 00 24 */ beq lbl_8004128C
/* 8004126C 0003D0AC 7C 64 1B 78 */ mr r4, r3
/* 80041270 0003D0B0 38 7F 06 68 */ addi r3, r31, 0x668
/* 80041274 0003D0B4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041278 0003D0B8 4B FD C7 19 */ bl OSReport
/* 8004127C 0003D0BC 38 00 00 00 */ li r0, 0x0
/* 80041280 0003D0C0 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041284 0003D0C4 38 60 00 00 */ li r3, 0x0
/* 80041288 0003D0C8 48 00 00 08 */ b lbl_80041290
.global lbl_8004128C
lbl_8004128C:
/* 8004128C 0003D0CC 38 60 00 01 */ li r3, 0x1
.global lbl_80041290
lbl_80041290:
/* 80041290 0003D0D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041294 0003D0D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80041298 0003D0D8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8004129C 0003D0DC 7C 08 03 A6 */ mtlr r0
/* 800412A0 0003D0E0 38 21 00 10 */ addi r1, r1, 0x10
/* 800412A4 0003D0E4 4E 80 00 20 */ blr
/* 800412A8 0003D0E8 00 00 00 00 */ .4byte 0x00000000
/* 800412AC 0003D0EC 00 00 00 00 */ .4byte 0x00000000
.global DVDLowUnencryptedRead
DVDLowUnencryptedRead:
/* 800412B0 0003D0F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800412B4 0003D0F4 7C 08 02 A6 */ mflr r0
/* 800412B8 0003D0F8 3D 20 80 4A */ lis r9, dvdContexts@ha
/* 800412BC 0003D0FC 39 80 00 01 */ li r12, 0x1
/* 800412C0 0003D100 90 01 00 14 */ stw r0, 0x14(r1)
/* 800412C4 0003D104 39 29 FD 60 */ addi r9, r9, dvdContexts@l
/* 800412C8 0003D108 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800412CC 0003D10C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 800412D0 0003D110 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 800412D4 0003D114 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800412D8 0003D118 81 6D E7 00 */ lwz r11, freeDvdContext@sda21(r13)
/* 800412DC 0003D11C 99 8D E6 F8 */ stb r12, requestInProgress@sda21(r13)
/* 800412E0 0003D120 55 6A 28 34 */ slwi r10, r11, 5
/* 800412E4 0003D124 7D 09 52 14 */ add r8, r9, r10
/* 800412E8 0003D128 88 E8 00 08 */ lbz r7, 0x8(r8)
/* 800412EC 0003D12C 7C 07 00 D0 */ neg r0, r7
/* 800412F0 0003D130 7C 00 3B 78 */ or r0, r0, r7
/* 800412F4 0003D134 54 00 0F FE */ srwi r0, r0, 31
/* 800412F8 0003D138 28 00 00 01 */ cmplwi r0, 0x1
/* 800412FC 0003D13C 40 82 00 28 */ bne lbl_80041324
/* 80041300 0003D140 7D 64 5B 78 */ mr r4, r11
/* 80041304 0003D144 38 7F 02 40 */ addi r3, r31, 0x240
/* 80041308 0003D148 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004130C 0003D14C 4B FD C6 85 */ bl OSReport
/* 80041310 0003D150 38 7F 02 78 */ addi r3, r31, 0x278
/* 80041314 0003D154 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041318 0003D158 4B FD C6 79 */ bl OSReport
/* 8004131C 0003D15C 60 00 00 00 */ nop
.global lbl_80041320
lbl_80041320:
/* 80041320 0003D160 48 00 00 00 */ b lbl_80041320
.global lbl_80041324
lbl_80041324:
/* 80041324 0003D164 80 E8 00 0C */ lwz r7, 0xc(r8)
/* 80041328 0003D168 3C 07 01 15 */ addis r0, r7, 0x115
/* 8004132C 0003D16C 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80041330 0003D170 41 82 00 14 */ beq lbl_80041344
/* 80041334 0003D174 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80041338 0003D178 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004133C 0003D17C 4B FD C6 55 */ bl OSReport
.global lbl_80041340
lbl_80041340:
/* 80041340 0003D180 48 00 00 00 */ b lbl_80041340
.global lbl_80041344
lbl_80041344:
/* 80041344 0003D184 7C C9 51 2E */ stwx r6, r9, r10
/* 80041348 0003D188 38 0B 00 01 */ addi r0, r11, 0x1
/* 8004134C 0003D18C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041350 0003D190 91 88 00 04 */ stw r12, 0x4(r8)
/* 80041354 0003D194 99 88 00 08 */ stb r12, 0x8(r8)
/* 80041358 0003D198 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 8004135C 0003D19C 41 80 00 0C */ blt lbl_80041368
/* 80041360 0003D1A0 38 00 00 00 */ li r0, 0x0
/* 80041364 0003D1A4 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041368
lbl_80041368:
/* 80041368 0003D1A8 80 CD E6 FC */ lwz r6, freeCommandBuf@sda21(r13)
/* 8004136C 0003D1AC 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80041370 0003D1B0 90 8D E7 0C */ stw r4, readLength@sda21(r13)
/* 80041374 0003D1B4 55 68 28 34 */ slwi r8, r11, 5
/* 80041378 0003D1B8 38 06 00 01 */ addi r0, r6, 0x1
/* 8004137C 0003D1BC 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80041380 0003D1C0 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041384 0003D1C4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80041388 0003D1C8 7F C7 42 14 */ add r30, r7, r8
/* 8004138C 0003D1CC 41 80 00 0C */ blt lbl_80041398
/* 80041390 0003D1D0 38 00 00 00 */ li r0, 0x0
/* 80041394 0003D1D4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80041398
lbl_80041398:
/* 80041398 0003D1D8 80 CD E7 14 */ lwz r6, diCommand@sda21(r13)
/* 8004139C 0003D1DC 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 800413A0 0003D1E0 54 00 28 34 */ slwi r0, r0, 5
/* 800413A4 0003D1E4 38 E0 00 8D */ li r7, 0x8d
/* 800413A8 0003D1E8 7C E6 01 AE */ stbx r7, r6, r0
/* 800413AC 0003D1EC 7C 67 1B 78 */ mr r7, r3
/* 800413B0 0003D1F0 7C 88 23 78 */ mr r8, r4
/* 800413B4 0003D1F4 7F CA F3 78 */ mr r10, r30
/* 800413B8 0003D1F8 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800413BC 0003D1FC 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 800413C0 0003D200 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 800413C4 0003D204 38 C0 00 20 */ li r6, 0x20
/* 800413C8 0003D208 54 00 28 34 */ slwi r0, r0, 5
/* 800413CC 0003D20C 7C 63 02 14 */ add r3, r3, r0
/* 800413D0 0003D210 90 83 00 04 */ stw r4, 0x4(r3)
/* 800413D4 0003D214 38 80 00 8D */ li r4, 0x8d
/* 800413D8 0003D218 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800413DC 0003D21C 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 800413E0 0003D220 54 00 28 34 */ slwi r0, r0, 5
/* 800413E4 0003D224 7C 63 02 14 */ add r3, r3, r0
/* 800413E8 0003D228 90 A3 00 08 */ stw r5, 0x8(r3)
/* 800413EC 0003D22C 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800413F0 0003D230 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 800413F4 0003D234 54 00 28 34 */ slwi r0, r0, 5
/* 800413F8 0003D238 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 800413FC 0003D23C 7C A5 02 14 */ add r5, r5, r0
/* 80041400 0003D240 48 00 E5 D1 */ bl IOS_IoctlAsync
/* 80041404 0003D244 2C 03 00 00 */ cmpwi r3, 0x0
/* 80041408 0003D248 41 82 00 24 */ beq lbl_8004142C
/* 8004140C 0003D24C 7C 64 1B 78 */ mr r4, r3
/* 80041410 0003D250 38 7F 06 A8 */ addi r3, r31, 0x6a8
/* 80041414 0003D254 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041418 0003D258 4B FD C5 79 */ bl OSReport
/* 8004141C 0003D25C 38 00 00 00 */ li r0, 0x0
/* 80041420 0003D260 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041424 0003D264 38 60 00 00 */ li r3, 0x0
/* 80041428 0003D268 48 00 00 08 */ b lbl_80041430
.global lbl_8004142C
lbl_8004142C:
/* 8004142C 0003D26C 38 60 00 01 */ li r3, 0x1
.global lbl_80041430
lbl_80041430:
/* 80041430 0003D270 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041434 0003D274 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80041438 0003D278 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8004143C 0003D27C 7C 08 03 A6 */ mtlr r0
/* 80041440 0003D280 38 21 00 10 */ addi r1, r1, 0x10
/* 80041444 0003D284 4E 80 00 20 */ blr
/* 80041448 0003D288 00 00 00 00 */ .4byte 0x00000000
/* 8004144C 0003D28C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowStopMotor
DVDLowStopMotor:
/* 80041450 0003D290 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041454 0003D294 7C 08 02 A6 */ mflr r0
/* 80041458 0003D298 3D 00 80 4A */ lis r8, dvdContexts@ha
/* 8004145C 0003D29C 39 60 00 01 */ li r11, 0x1
/* 80041460 0003D2A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041464 0003D2A4 39 08 FD 60 */ addi r8, r8, dvdContexts@l
/* 80041468 0003D2A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004146C 0003D2AC 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041470 0003D2B0 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041474 0003D2B4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041478 0003D2B8 81 4D E7 00 */ lwz r10, freeDvdContext@sda21(r13)
/* 8004147C 0003D2BC 99 6D E6 F8 */ stb r11, requestInProgress@sda21(r13)
/* 80041480 0003D2C0 55 49 28 34 */ slwi r9, r10, 5
/* 80041484 0003D2C4 7C E8 4A 14 */ add r7, r8, r9
/* 80041488 0003D2C8 88 C7 00 08 */ lbz r6, 0x8(r7)
/* 8004148C 0003D2CC 7C 06 00 D0 */ neg r0, r6
/* 80041490 0003D2D0 7C 00 33 78 */ or r0, r0, r6
/* 80041494 0003D2D4 54 00 0F FE */ srwi r0, r0, 31
/* 80041498 0003D2D8 28 00 00 01 */ cmplwi r0, 0x1
/* 8004149C 0003D2DC 40 82 00 28 */ bne lbl_800414C4
/* 800414A0 0003D2E0 7D 44 53 78 */ mr r4, r10
/* 800414A4 0003D2E4 38 7F 02 40 */ addi r3, r31, 0x240
/* 800414A8 0003D2E8 4C C6 31 82 */ crclr 4*cr1+eq
/* 800414AC 0003D2EC 4B FD C4 E5 */ bl OSReport
/* 800414B0 0003D2F0 38 7F 02 78 */ addi r3, r31, 0x278
/* 800414B4 0003D2F4 4C C6 31 82 */ crclr 4*cr1+eq
/* 800414B8 0003D2F8 4B FD C4 D9 */ bl OSReport
/* 800414BC 0003D2FC 60 00 00 00 */ nop
.global lbl_800414C0
lbl_800414C0:
/* 800414C0 0003D300 48 00 00 00 */ b lbl_800414C0
.global lbl_800414C4
lbl_800414C4:
/* 800414C4 0003D304 80 C7 00 0C */ lwz r6, 0xc(r7)
/* 800414C8 0003D308 3C 06 01 15 */ addis r0, r6, 0x115
/* 800414CC 0003D30C 28 00 DA ED */ cmplwi r0, 0xdaed
/* 800414D0 0003D310 41 82 00 14 */ beq lbl_800414E4
/* 800414D4 0003D314 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 800414D8 0003D318 4C C6 31 82 */ crclr 4*cr1+eq
/* 800414DC 0003D31C 4B FD C4 B5 */ bl OSReport
.global lbl_800414E0
lbl_800414E0:
/* 800414E0 0003D320 48 00 00 00 */ b lbl_800414E0
.global lbl_800414E4
lbl_800414E4:
/* 800414E4 0003D324 7C A8 49 2E */ stwx r5, r8, r9
/* 800414E8 0003D328 38 0A 00 01 */ addi r0, r10, 0x1
/* 800414EC 0003D32C 2C 00 00 04 */ cmpwi r0, 0x4
/* 800414F0 0003D330 91 67 00 04 */ stw r11, 0x4(r7)
/* 800414F4 0003D334 99 67 00 08 */ stb r11, 0x8(r7)
/* 800414F8 0003D338 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 800414FC 0003D33C 41 80 00 0C */ blt lbl_80041508
/* 80041500 0003D340 38 00 00 00 */ li r0, 0x0
/* 80041504 0003D344 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041508
lbl_80041508:
/* 80041508 0003D348 80 AD E6 FC */ lwz r5, freeCommandBuf@sda21(r13)
/* 8004150C 0003D34C 3C C0 80 4A */ lis r6, dvdContexts@ha
/* 80041510 0003D350 55 47 28 34 */ slwi r7, r10, 5
/* 80041514 0003D354 38 05 00 01 */ addi r0, r5, 0x1
/* 80041518 0003D358 38 C6 FD 60 */ addi r6, r6, dvdContexts@l
/* 8004151C 0003D35C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041520 0003D360 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80041524 0003D364 7F C6 3A 14 */ add r30, r6, r7
/* 80041528 0003D368 41 80 00 0C */ blt lbl_80041534
/* 8004152C 0003D36C 38 00 00 00 */ li r0, 0x0
/* 80041530 0003D370 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80041534
lbl_80041534:
/* 80041534 0003D374 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041538 0003D378 3C E0 80 4A */ lis r7, diRegValCache@ha
/* 8004153C 0003D37C 54 00 28 34 */ slwi r0, r0, 5
/* 80041540 0003D380 38 C0 00 E3 */ li r6, 0xe3
/* 80041544 0003D384 7C C5 01 AE */ stbx r6, r5, r0
/* 80041548 0003D388 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 8004154C 0003D38C 7F CA F3 78 */ mr r10, r30
/* 80041550 0003D390 38 E7 FD E0 */ addi r7, r7, diRegValCache@l
/* 80041554 0003D394 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041558 0003D398 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 8004155C 0003D39C 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041560 0003D3A0 38 C0 00 20 */ li r6, 0x20
/* 80041564 0003D3A4 54 00 28 34 */ slwi r0, r0, 5
/* 80041568 0003D3A8 39 00 00 20 */ li r8, 0x20
/* 8004156C 0003D3AC 7C A5 02 14 */ add r5, r5, r0
/* 80041570 0003D3B0 90 65 00 04 */ stw r3, 0x4(r5)
/* 80041574 0003D3B4 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041578 0003D3B8 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 8004157C 0003D3BC 54 00 28 34 */ slwi r0, r0, 5
/* 80041580 0003D3C0 7C 63 02 14 */ add r3, r3, r0
/* 80041584 0003D3C4 90 83 00 08 */ stw r4, 0x8(r3)
/* 80041588 0003D3C8 38 80 00 E3 */ li r4, 0xe3
/* 8004158C 0003D3CC 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041590 0003D3D0 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041594 0003D3D4 54 00 28 34 */ slwi r0, r0, 5
/* 80041598 0003D3D8 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 8004159C 0003D3DC 7C A5 02 14 */ add r5, r5, r0
/* 800415A0 0003D3E0 48 00 E4 31 */ bl IOS_IoctlAsync
/* 800415A4 0003D3E4 2C 03 00 00 */ cmpwi r3, 0x0
/* 800415A8 0003D3E8 41 82 00 24 */ beq lbl_800415CC
/* 800415AC 0003D3EC 7C 64 1B 78 */ mr r4, r3
/* 800415B0 0003D3F0 38 7F 06 E8 */ addi r3, r31, 0x6e8
/* 800415B4 0003D3F4 4C C6 31 82 */ crclr 4*cr1+eq
/* 800415B8 0003D3F8 4B FD C3 D9 */ bl OSReport
/* 800415BC 0003D3FC 38 00 00 00 */ li r0, 0x0
/* 800415C0 0003D400 98 1E 00 08 */ stb r0, 0x8(r30)
/* 800415C4 0003D404 38 60 00 00 */ li r3, 0x0
/* 800415C8 0003D408 48 00 00 08 */ b lbl_800415D0
.global lbl_800415CC
lbl_800415CC:
/* 800415CC 0003D40C 38 60 00 01 */ li r3, 0x1
.global lbl_800415D0
lbl_800415D0:
/* 800415D0 0003D410 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800415D4 0003D414 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800415D8 0003D418 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800415DC 0003D41C 7C 08 03 A6 */ mtlr r0
/* 800415E0 0003D420 38 21 00 10 */ addi r1, r1, 0x10
/* 800415E4 0003D424 4E 80 00 20 */ blr
/* 800415E8 0003D428 00 00 00 00 */ .4byte 0x00000000
/* 800415EC 0003D42C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowInquiry
DVDLowInquiry:
/* 800415F0 0003D430 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800415F4 0003D434 7C 08 02 A6 */ mflr r0
/* 800415F8 0003D438 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 800415FC 0003D43C 39 40 00 01 */ li r10, 0x1
/* 80041600 0003D440 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041604 0003D444 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80041608 0003D448 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004160C 0003D44C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041610 0003D450 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041614 0003D454 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041618 0003D458 81 2D E7 00 */ lwz r9, freeDvdContext@sda21(r13)
/* 8004161C 0003D45C 99 4D E6 F8 */ stb r10, requestInProgress@sda21(r13)
/* 80041620 0003D460 55 28 28 34 */ slwi r8, r9, 5
/* 80041624 0003D464 7C C7 42 14 */ add r6, r7, r8
/* 80041628 0003D468 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 8004162C 0003D46C 7C 05 00 D0 */ neg r0, r5
/* 80041630 0003D470 7C 00 2B 78 */ or r0, r0, r5
/* 80041634 0003D474 54 00 0F FE */ srwi r0, r0, 31
/* 80041638 0003D478 28 00 00 01 */ cmplwi r0, 0x1
/* 8004163C 0003D47C 40 82 00 28 */ bne lbl_80041664
/* 80041640 0003D480 7D 24 4B 78 */ mr r4, r9
/* 80041644 0003D484 38 7F 02 40 */ addi r3, r31, 0x240
/* 80041648 0003D488 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004164C 0003D48C 4B FD C3 45 */ bl OSReport
/* 80041650 0003D490 38 7F 02 78 */ addi r3, r31, 0x278
/* 80041654 0003D494 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041658 0003D498 4B FD C3 39 */ bl OSReport
/* 8004165C 0003D49C 60 00 00 00 */ nop
.global lbl_80041660
lbl_80041660:
/* 80041660 0003D4A0 48 00 00 00 */ b lbl_80041660
.global lbl_80041664
lbl_80041664:
/* 80041664 0003D4A4 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80041668 0003D4A8 3C 05 01 15 */ addis r0, r5, 0x115
/* 8004166C 0003D4AC 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80041670 0003D4B0 41 82 00 14 */ beq lbl_80041684
/* 80041674 0003D4B4 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80041678 0003D4B8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004167C 0003D4BC 4B FD C3 15 */ bl OSReport
.global lbl_80041680
lbl_80041680:
/* 80041680 0003D4C0 48 00 00 00 */ b lbl_80041680
.global lbl_80041684
lbl_80041684:
/* 80041684 0003D4C4 7C 87 41 2E */ stwx r4, r7, r8
/* 80041688 0003D4C8 38 09 00 01 */ addi r0, r9, 0x1
/* 8004168C 0003D4CC 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041690 0003D4D0 91 46 00 04 */ stw r10, 0x4(r6)
/* 80041694 0003D4D4 99 46 00 08 */ stb r10, 0x8(r6)
/* 80041698 0003D4D8 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 8004169C 0003D4DC 41 80 00 0C */ blt lbl_800416A8
/* 800416A0 0003D4E0 38 00 00 00 */ li r0, 0x0
/* 800416A4 0003D4E4 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_800416A8
lbl_800416A8:
/* 800416A8 0003D4E8 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 800416AC 0003D4EC 3C A0 80 4A */ lis r5, dvdContexts@ha
/* 800416B0 0003D4F0 55 26 28 34 */ slwi r6, r9, 5
/* 800416B4 0003D4F4 38 04 00 01 */ addi r0, r4, 0x1
/* 800416B8 0003D4F8 38 A5 FD 60 */ addi r5, r5, dvdContexts@l
/* 800416BC 0003D4FC 2C 00 00 04 */ cmpwi r0, 0x4
/* 800416C0 0003D500 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 800416C4 0003D504 7F C5 32 14 */ add r30, r5, r6
/* 800416C8 0003D508 41 80 00 0C */ blt lbl_800416D4
/* 800416CC 0003D50C 38 00 00 00 */ li r0, 0x0
/* 800416D0 0003D510 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_800416D4
lbl_800416D4:
/* 800416D4 0003D514 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 800416D8 0003D518 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 800416DC 0003D51C 54 00 28 34 */ slwi r0, r0, 5
/* 800416E0 0003D520 38 A0 00 12 */ li r5, 0x12
/* 800416E4 0003D524 7C A4 01 AE */ stbx r5, r4, r0
/* 800416E8 0003D528 7C 67 1B 78 */ mr r7, r3
/* 800416EC 0003D52C 7F CA F3 78 */ mr r10, r30
/* 800416F0 0003D530 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 800416F4 0003D534 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800416F8 0003D538 38 80 00 12 */ li r4, 0x12
/* 800416FC 0003D53C 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041700 0003D540 38 C0 00 20 */ li r6, 0x20
/* 80041704 0003D544 54 00 28 34 */ slwi r0, r0, 5
/* 80041708 0003D548 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 8004170C 0003D54C 7C A5 02 14 */ add r5, r5, r0
/* 80041710 0003D550 39 00 00 20 */ li r8, 0x20
/* 80041714 0003D554 48 00 E2 BD */ bl IOS_IoctlAsync
/* 80041718 0003D558 2C 03 00 00 */ cmpwi r3, 0x0
/* 8004171C 0003D55C 41 82 00 24 */ beq lbl_80041740
/* 80041720 0003D560 7C 64 1B 78 */ mr r4, r3
/* 80041724 0003D564 38 7F 07 68 */ addi r3, r31, 0x768
/* 80041728 0003D568 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004172C 0003D56C 4B FD C2 65 */ bl OSReport
/* 80041730 0003D570 38 00 00 00 */ li r0, 0x0
/* 80041734 0003D574 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041738 0003D578 38 60 00 00 */ li r3, 0x0
/* 8004173C 0003D57C 48 00 00 08 */ b lbl_80041744
.global lbl_80041740
lbl_80041740:
/* 80041740 0003D580 38 60 00 01 */ li r3, 0x1
.global lbl_80041744
lbl_80041744:
/* 80041744 0003D584 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041748 0003D588 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004174C 0003D58C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80041750 0003D590 7C 08 03 A6 */ mtlr r0
/* 80041754 0003D594 38 21 00 10 */ addi r1, r1, 0x10
/* 80041758 0003D598 4E 80 00 20 */ blr
/* 8004175C 0003D59C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowRequestError
DVDLowRequestError:
/* 80041760 0003D5A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041764 0003D5A4 7C 08 02 A6 */ mflr r0
/* 80041768 0003D5A8 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 8004176C 0003D5AC 39 20 00 01 */ li r9, 0x1
/* 80041770 0003D5B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041774 0003D5B4 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80041778 0003D5B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004177C 0003D5BC 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041780 0003D5C0 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041784 0003D5C4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041788 0003D5C8 80 8D E7 00 */ lwz r4, freeDvdContext@sda21(r13)
/* 8004178C 0003D5CC 99 2D E6 F8 */ stb r9, requestInProgress@sda21(r13)
/* 80041790 0003D5D0 54 88 28 34 */ slwi r8, r4, 5
/* 80041794 0003D5D4 7C C7 42 14 */ add r6, r7, r8
/* 80041798 0003D5D8 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 8004179C 0003D5DC 7C 05 00 D0 */ neg r0, r5
/* 800417A0 0003D5E0 7C 00 2B 78 */ or r0, r0, r5
/* 800417A4 0003D5E4 54 00 0F FE */ srwi r0, r0, 31
/* 800417A8 0003D5E8 28 00 00 01 */ cmplwi r0, 0x1
/* 800417AC 0003D5EC 40 82 00 20 */ bne lbl_800417CC
/* 800417B0 0003D5F0 38 7F 02 40 */ addi r3, r31, 0x240
/* 800417B4 0003D5F4 4C C6 31 82 */ crclr 4*cr1+eq
/* 800417B8 0003D5F8 4B FD C1 D9 */ bl OSReport
/* 800417BC 0003D5FC 38 7F 02 78 */ addi r3, r31, 0x278
/* 800417C0 0003D600 4C C6 31 82 */ crclr 4*cr1+eq
/* 800417C4 0003D604 4B FD C1 CD */ bl OSReport
.global lbl_800417C8
lbl_800417C8:
/* 800417C8 0003D608 48 00 00 00 */ b lbl_800417C8
.global lbl_800417CC
lbl_800417CC:
/* 800417CC 0003D60C 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 800417D0 0003D610 3C 05 01 15 */ addis r0, r5, 0x115
/* 800417D4 0003D614 28 00 DA ED */ cmplwi r0, 0xdaed
/* 800417D8 0003D618 41 82 00 14 */ beq lbl_800417EC
/* 800417DC 0003D61C 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 800417E0 0003D620 4C C6 31 82 */ crclr 4*cr1+eq
/* 800417E4 0003D624 4B FD C1 AD */ bl OSReport
.global lbl_800417E8
lbl_800417E8:
/* 800417E8 0003D628 48 00 00 00 */ b lbl_800417E8
.global lbl_800417EC
lbl_800417EC:
/* 800417EC 0003D62C 7C 67 41 2E */ stwx r3, r7, r8
/* 800417F0 0003D630 38 04 00 01 */ addi r0, r4, 0x1
/* 800417F4 0003D634 2C 00 00 04 */ cmpwi r0, 0x4
/* 800417F8 0003D638 91 26 00 04 */ stw r9, 0x4(r6)
/* 800417FC 0003D63C 99 26 00 08 */ stb r9, 0x8(r6)
/* 80041800 0003D640 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80041804 0003D644 41 80 00 0C */ blt lbl_80041810
/* 80041808 0003D648 38 00 00 00 */ li r0, 0x0
/* 8004180C 0003D64C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041810
lbl_80041810:
/* 80041810 0003D650 80 6D E6 FC */ lwz r3, freeCommandBuf@sda21(r13)
/* 80041814 0003D654 3C A0 80 4A */ lis r5, dvdContexts@ha
/* 80041818 0003D658 54 84 28 34 */ slwi r4, r4, 5
/* 8004181C 0003D65C 38 03 00 01 */ addi r0, r3, 0x1
/* 80041820 0003D660 38 A5 FD 60 */ addi r5, r5, dvdContexts@l
/* 80041824 0003D664 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041828 0003D668 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 8004182C 0003D66C 7F C5 22 14 */ add r30, r5, r4
/* 80041830 0003D670 41 80 00 0C */ blt lbl_8004183C
/* 80041834 0003D674 38 00 00 00 */ li r0, 0x0
/* 80041838 0003D678 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_8004183C
lbl_8004183C:
/* 8004183C 0003D67C 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 80041840 0003D680 3C E0 80 4A */ lis r7, diRegValCache@ha
/* 80041844 0003D684 54 00 28 34 */ slwi r0, r0, 5
/* 80041848 0003D688 38 80 00 E0 */ li r4, 0xe0
/* 8004184C 0003D68C 7C 83 01 AE */ stbx r4, r3, r0
/* 80041850 0003D690 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80041854 0003D694 7F CA F3 78 */ mr r10, r30
/* 80041858 0003D698 38 E7 FD E0 */ addi r7, r7, diRegValCache@l
/* 8004185C 0003D69C 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041860 0003D6A0 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80041864 0003D6A4 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041868 0003D6A8 38 80 00 E0 */ li r4, 0xe0
/* 8004186C 0003D6AC 54 00 28 34 */ slwi r0, r0, 5
/* 80041870 0003D6B0 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80041874 0003D6B4 7C A5 02 14 */ add r5, r5, r0
/* 80041878 0003D6B8 38 C0 00 20 */ li r6, 0x20
/* 8004187C 0003D6BC 39 00 00 20 */ li r8, 0x20
/* 80041880 0003D6C0 48 00 E1 51 */ bl IOS_IoctlAsync
/* 80041884 0003D6C4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80041888 0003D6C8 41 82 00 24 */ beq lbl_800418AC
/* 8004188C 0003D6CC 7C 64 1B 78 */ mr r4, r3
/* 80041890 0003D6D0 38 7F 07 A0 */ addi r3, r31, 0x7a0
/* 80041894 0003D6D4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041898 0003D6D8 4B FD C0 F9 */ bl OSReport
/* 8004189C 0003D6DC 38 00 00 00 */ li r0, 0x0
/* 800418A0 0003D6E0 98 1E 00 08 */ stb r0, 0x8(r30)
/* 800418A4 0003D6E4 38 60 00 00 */ li r3, 0x0
/* 800418A8 0003D6E8 48 00 00 08 */ b lbl_800418B0
.global lbl_800418AC
lbl_800418AC:
/* 800418AC 0003D6EC 38 60 00 01 */ li r3, 0x1
.global lbl_800418B0
lbl_800418B0:
/* 800418B0 0003D6F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800418B4 0003D6F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800418B8 0003D6F8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800418BC 0003D6FC 7C 08 03 A6 */ mtlr r0
/* 800418C0 0003D700 38 21 00 10 */ addi r1, r1, 0x10
/* 800418C4 0003D704 4E 80 00 20 */ blr
/* 800418C8 0003D708 00 00 00 00 */ .4byte 0x00000000
/* 800418CC 0003D70C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowSetSpinupFlag
DVDLowSetSpinupFlag:
/* 800418D0 0003D710 90 6D E7 08 */ stw r3, spinUpValue@sda21(r13)
/* 800418D4 0003D714 38 60 00 01 */ li r3, 0x1
/* 800418D8 0003D718 4E 80 00 20 */ blr
/* 800418DC 0003D71C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowReset
DVDLowReset:
/* 800418E0 0003D720 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800418E4 0003D724 7C 08 02 A6 */ mflr r0
/* 800418E8 0003D728 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 800418EC 0003D72C 39 20 00 01 */ li r9, 0x1
/* 800418F0 0003D730 90 01 00 14 */ stw r0, 0x14(r1)
/* 800418F4 0003D734 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 800418F8 0003D738 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800418FC 0003D73C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041900 0003D740 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041904 0003D744 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041908 0003D748 80 8D E7 00 */ lwz r4, freeDvdContext@sda21(r13)
/* 8004190C 0003D74C 99 2D E6 F8 */ stb r9, requestInProgress@sda21(r13)
/* 80041910 0003D750 54 88 28 34 */ slwi r8, r4, 5
/* 80041914 0003D754 7C C7 42 14 */ add r6, r7, r8
/* 80041918 0003D758 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 8004191C 0003D75C 7C 05 00 D0 */ neg r0, r5
/* 80041920 0003D760 7C 00 2B 78 */ or r0, r0, r5
/* 80041924 0003D764 54 00 0F FE */ srwi r0, r0, 31
/* 80041928 0003D768 28 00 00 01 */ cmplwi r0, 0x1
/* 8004192C 0003D76C 40 82 00 20 */ bne lbl_8004194C
/* 80041930 0003D770 38 7F 02 40 */ addi r3, r31, 0x240
/* 80041934 0003D774 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041938 0003D778 4B FD C0 59 */ bl OSReport
/* 8004193C 0003D77C 38 7F 02 78 */ addi r3, r31, 0x278
/* 80041940 0003D780 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041944 0003D784 4B FD C0 4D */ bl OSReport
.global lbl_80041948
lbl_80041948:
/* 80041948 0003D788 48 00 00 00 */ b lbl_80041948
.global lbl_8004194C
lbl_8004194C:
/* 8004194C 0003D78C 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80041950 0003D790 3C 05 01 15 */ addis r0, r5, 0x115
/* 80041954 0003D794 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80041958 0003D798 41 82 00 14 */ beq lbl_8004196C
/* 8004195C 0003D79C 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80041960 0003D7A0 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041964 0003D7A4 4B FD C0 2D */ bl OSReport
.global lbl_80041968
lbl_80041968:
/* 80041968 0003D7A8 48 00 00 00 */ b lbl_80041968
.global lbl_8004196C
lbl_8004196C:
/* 8004196C 0003D7AC 7C 67 41 2E */ stwx r3, r7, r8
/* 80041970 0003D7B0 38 04 00 01 */ addi r0, r4, 0x1
/* 80041974 0003D7B4 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041978 0003D7B8 91 26 00 04 */ stw r9, 0x4(r6)
/* 8004197C 0003D7BC 99 26 00 08 */ stb r9, 0x8(r6)
/* 80041980 0003D7C0 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80041984 0003D7C4 41 80 00 0C */ blt lbl_80041990
/* 80041988 0003D7C8 38 00 00 00 */ li r0, 0x0
/* 8004198C 0003D7CC 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041990
lbl_80041990:
/* 80041990 0003D7D0 80 6D E6 FC */ lwz r3, freeCommandBuf@sda21(r13)
/* 80041994 0003D7D4 3C A0 80 4A */ lis r5, dvdContexts@ha
/* 80041998 0003D7D8 54 84 28 34 */ slwi r4, r4, 5
/* 8004199C 0003D7DC 38 03 00 01 */ addi r0, r3, 0x1
/* 800419A0 0003D7E0 38 A5 FD 60 */ addi r5, r5, dvdContexts@l
/* 800419A4 0003D7E4 2C 00 00 04 */ cmpwi r0, 0x4
/* 800419A8 0003D7E8 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 800419AC 0003D7EC 7F C5 22 14 */ add r30, r5, r4
/* 800419B0 0003D7F0 41 80 00 0C */ blt lbl_800419BC
/* 800419B4 0003D7F4 38 00 00 00 */ li r0, 0x0
/* 800419B8 0003D7F8 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_800419BC
lbl_800419BC:
/* 800419BC 0003D7FC 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 800419C0 0003D800 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 800419C4 0003D804 54 00 28 34 */ slwi r0, r0, 5
/* 800419C8 0003D808 38 80 00 8A */ li r4, 0x8a
/* 800419CC 0003D80C 7C 83 01 AE */ stbx r4, r3, r0
/* 800419D0 0003D810 7F CA F3 78 */ mr r10, r30
/* 800419D4 0003D814 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 800419D8 0003D818 38 80 00 8A */ li r4, 0x8a
/* 800419DC 0003D81C 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800419E0 0003D820 38 C0 00 20 */ li r6, 0x20
/* 800419E4 0003D824 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 800419E8 0003D828 38 E0 00 00 */ li r7, 0x0
/* 800419EC 0003D82C 54 00 28 34 */ slwi r0, r0, 5
/* 800419F0 0003D830 80 AD E7 08 */ lwz r5, spinUpValue@sda21(r13)
/* 800419F4 0003D834 7C 63 02 14 */ add r3, r3, r0
/* 800419F8 0003D838 39 00 00 00 */ li r8, 0x0
/* 800419FC 0003D83C 90 A3 00 04 */ stw r5, 0x4(r3)
/* 80041A00 0003D840 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041A04 0003D844 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041A08 0003D848 54 00 28 34 */ slwi r0, r0, 5
/* 80041A0C 0003D84C 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80041A10 0003D850 7C A5 02 14 */ add r5, r5, r0
/* 80041A14 0003D854 48 00 DF BD */ bl IOS_IoctlAsync
/* 80041A18 0003D858 2C 03 00 00 */ cmpwi r3, 0x0
/* 80041A1C 0003D85C 41 82 00 24 */ beq lbl_80041A40
/* 80041A20 0003D860 7C 64 1B 78 */ mr r4, r3
/* 80041A24 0003D864 38 7F 08 60 */ addi r3, r31, 0x860
/* 80041A28 0003D868 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041A2C 0003D86C 4B FD BF 65 */ bl OSReport
/* 80041A30 0003D870 38 00 00 00 */ li r0, 0x0
/* 80041A34 0003D874 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041A38 0003D878 38 60 00 00 */ li r3, 0x0
/* 80041A3C 0003D87C 48 00 00 08 */ b lbl_80041A44
.global lbl_80041A40
lbl_80041A40:
/* 80041A40 0003D880 38 60 00 01 */ li r3, 0x1
.global lbl_80041A44
lbl_80041A44:
/* 80041A44 0003D884 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041A48 0003D888 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80041A4C 0003D88C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80041A50 0003D890 7C 08 03 A6 */ mtlr r0
/* 80041A54 0003D894 38 21 00 10 */ addi r1, r1, 0x10
/* 80041A58 0003D898 4E 80 00 20 */ blr
/* 80041A5C 0003D89C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowAudioBufferConfig
DVDLowAudioBufferConfig:
/* 80041A60 0003D8A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041A64 0003D8A4 7C 08 02 A6 */ mflr r0
/* 80041A68 0003D8A8 3D 00 80 4A */ lis r8, dvdContexts@ha
/* 80041A6C 0003D8AC 39 60 00 01 */ li r11, 0x1
/* 80041A70 0003D8B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041A74 0003D8B4 39 08 FD 60 */ addi r8, r8, dvdContexts@l
/* 80041A78 0003D8B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80041A7C 0003D8BC 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041A80 0003D8C0 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041A84 0003D8C4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041A88 0003D8C8 81 4D E7 00 */ lwz r10, freeDvdContext@sda21(r13)
/* 80041A8C 0003D8CC 99 6D E6 F8 */ stb r11, requestInProgress@sda21(r13)
/* 80041A90 0003D8D0 55 49 28 34 */ slwi r9, r10, 5
/* 80041A94 0003D8D4 7C E8 4A 14 */ add r7, r8, r9
/* 80041A98 0003D8D8 88 C7 00 08 */ lbz r6, 0x8(r7)
/* 80041A9C 0003D8DC 7C 06 00 D0 */ neg r0, r6
/* 80041AA0 0003D8E0 7C 00 33 78 */ or r0, r0, r6
/* 80041AA4 0003D8E4 54 00 0F FE */ srwi r0, r0, 31
/* 80041AA8 0003D8E8 28 00 00 01 */ cmplwi r0, 0x1
/* 80041AAC 0003D8EC 40 82 00 28 */ bne lbl_80041AD4
/* 80041AB0 0003D8F0 7D 44 53 78 */ mr r4, r10
/* 80041AB4 0003D8F4 38 7F 02 40 */ addi r3, r31, 0x240
/* 80041AB8 0003D8F8 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041ABC 0003D8FC 4B FD BE D5 */ bl OSReport
/* 80041AC0 0003D900 38 7F 02 78 */ addi r3, r31, 0x278
/* 80041AC4 0003D904 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041AC8 0003D908 4B FD BE C9 */ bl OSReport
/* 80041ACC 0003D90C 60 00 00 00 */ nop
.global lbl_80041AD0
lbl_80041AD0:
/* 80041AD0 0003D910 48 00 00 00 */ b lbl_80041AD0
.global lbl_80041AD4
lbl_80041AD4:
/* 80041AD4 0003D914 80 C7 00 0C */ lwz r6, 0xc(r7)
/* 80041AD8 0003D918 3C 06 01 15 */ addis r0, r6, 0x115
/* 80041ADC 0003D91C 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80041AE0 0003D920 41 82 00 14 */ beq lbl_80041AF4
/* 80041AE4 0003D924 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80041AE8 0003D928 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041AEC 0003D92C 4B FD BE A5 */ bl OSReport
.global lbl_80041AF0
lbl_80041AF0:
/* 80041AF0 0003D930 48 00 00 00 */ b lbl_80041AF0
.global lbl_80041AF4
lbl_80041AF4:
/* 80041AF4 0003D934 7C A8 49 2E */ stwx r5, r8, r9
/* 80041AF8 0003D938 38 0A 00 01 */ addi r0, r10, 0x1
/* 80041AFC 0003D93C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041B00 0003D940 91 67 00 04 */ stw r11, 0x4(r7)
/* 80041B04 0003D944 99 67 00 08 */ stb r11, 0x8(r7)
/* 80041B08 0003D948 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80041B0C 0003D94C 41 80 00 0C */ blt lbl_80041B18
/* 80041B10 0003D950 38 00 00 00 */ li r0, 0x0
/* 80041B14 0003D954 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041B18
lbl_80041B18:
/* 80041B18 0003D958 80 AD E6 FC */ lwz r5, freeCommandBuf@sda21(r13)
/* 80041B1C 0003D95C 3C C0 80 4A */ lis r6, dvdContexts@ha
/* 80041B20 0003D960 55 47 28 34 */ slwi r7, r10, 5
/* 80041B24 0003D964 38 05 00 01 */ addi r0, r5, 0x1
/* 80041B28 0003D968 38 C6 FD 60 */ addi r6, r6, dvdContexts@l
/* 80041B2C 0003D96C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041B30 0003D970 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80041B34 0003D974 7F C6 3A 14 */ add r30, r6, r7
/* 80041B38 0003D978 41 80 00 0C */ blt lbl_80041B44
/* 80041B3C 0003D97C 38 00 00 00 */ li r0, 0x0
/* 80041B40 0003D980 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80041B44
lbl_80041B44:
/* 80041B44 0003D984 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041B48 0003D988 3C E0 80 4A */ lis r7, diRegValCache@ha
/* 80041B4C 0003D98C 54 00 28 34 */ slwi r0, r0, 5
/* 80041B50 0003D990 38 C0 00 E4 */ li r6, 0xe4
/* 80041B54 0003D994 7C C5 01 AE */ stbx r6, r5, r0
/* 80041B58 0003D998 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80041B5C 0003D99C 7F CA F3 78 */ mr r10, r30
/* 80041B60 0003D9A0 38 E7 FD E0 */ addi r7, r7, diRegValCache@l
/* 80041B64 0003D9A4 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041B68 0003D9A8 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80041B6C 0003D9AC 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041B70 0003D9B0 38 C0 00 20 */ li r6, 0x20
/* 80041B74 0003D9B4 54 00 28 34 */ slwi r0, r0, 5
/* 80041B78 0003D9B8 39 00 00 20 */ li r8, 0x20
/* 80041B7C 0003D9BC 7C A5 02 14 */ add r5, r5, r0
/* 80041B80 0003D9C0 90 65 00 04 */ stw r3, 0x4(r5)
/* 80041B84 0003D9C4 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041B88 0003D9C8 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 80041B8C 0003D9CC 54 00 28 34 */ slwi r0, r0, 5
/* 80041B90 0003D9D0 7C 63 02 14 */ add r3, r3, r0
/* 80041B94 0003D9D4 90 83 00 08 */ stw r4, 0x8(r3)
/* 80041B98 0003D9D8 38 80 00 E4 */ li r4, 0xe4
/* 80041B9C 0003D9DC 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041BA0 0003D9E0 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041BA4 0003D9E4 54 00 28 34 */ slwi r0, r0, 5
/* 80041BA8 0003D9E8 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80041BAC 0003D9EC 7C A5 02 14 */ add r5, r5, r0
/* 80041BB0 0003D9F0 48 00 DE 21 */ bl IOS_IoctlAsync
/* 80041BB4 0003D9F4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80041BB8 0003D9F8 41 82 00 24 */ beq lbl_80041BDC
/* 80041BBC 0003D9FC 7C 64 1B 78 */ mr r4, r3
/* 80041BC0 0003DA00 38 7F 08 98 */ addi r3, r31, 0x898
/* 80041BC4 0003DA04 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041BC8 0003DA08 4B FD BD C9 */ bl OSReport
/* 80041BCC 0003DA0C 38 00 00 00 */ li r0, 0x0
/* 80041BD0 0003DA10 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041BD4 0003DA14 38 60 00 00 */ li r3, 0x0
/* 80041BD8 0003DA18 48 00 00 08 */ b lbl_80041BE0
.global lbl_80041BDC
lbl_80041BDC:
/* 80041BDC 0003DA1C 38 60 00 01 */ li r3, 0x1
.global lbl_80041BE0
lbl_80041BE0:
/* 80041BE0 0003DA20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041BE4 0003DA24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80041BE8 0003DA28 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80041BEC 0003DA2C 7C 08 03 A6 */ mtlr r0
/* 80041BF0 0003DA30 38 21 00 10 */ addi r1, r1, 0x10
/* 80041BF4 0003DA34 4E 80 00 20 */ blr
/* 80041BF8 0003DA38 00 00 00 00 */ .4byte 0x00000000
/* 80041BFC 0003DA3C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowReportKey
DVDLowReportKey:
/* 80041C00 0003DA40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041C04 0003DA44 7C 08 02 A6 */ mflr r0
/* 80041C08 0003DA48 3D 20 80 4A */ lis r9, dvdContexts@ha
/* 80041C0C 0003DA4C 39 80 00 01 */ li r12, 0x1
/* 80041C10 0003DA50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041C14 0003DA54 39 29 FD 60 */ addi r9, r9, dvdContexts@l
/* 80041C18 0003DA58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80041C1C 0003DA5C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041C20 0003DA60 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041C24 0003DA64 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041C28 0003DA68 81 6D E7 00 */ lwz r11, freeDvdContext@sda21(r13)
/* 80041C2C 0003DA6C 99 8D E6 F8 */ stb r12, requestInProgress@sda21(r13)
/* 80041C30 0003DA70 55 6A 28 34 */ slwi r10, r11, 5
/* 80041C34 0003DA74 7D 09 52 14 */ add r8, r9, r10
/* 80041C38 0003DA78 88 E8 00 08 */ lbz r7, 0x8(r8)
/* 80041C3C 0003DA7C 7C 07 00 D0 */ neg r0, r7
/* 80041C40 0003DA80 7C 00 3B 78 */ or r0, r0, r7
/* 80041C44 0003DA84 54 00 0F FE */ srwi r0, r0, 31
/* 80041C48 0003DA88 28 00 00 01 */ cmplwi r0, 0x1
/* 80041C4C 0003DA8C 40 82 00 28 */ bne lbl_80041C74
/* 80041C50 0003DA90 7D 64 5B 78 */ mr r4, r11
/* 80041C54 0003DA94 38 7F 02 40 */ addi r3, r31, 0x240
/* 80041C58 0003DA98 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041C5C 0003DA9C 4B FD BD 35 */ bl OSReport
/* 80041C60 0003DAA0 38 7F 02 78 */ addi r3, r31, 0x278
/* 80041C64 0003DAA4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041C68 0003DAA8 4B FD BD 29 */ bl OSReport
/* 80041C6C 0003DAAC 60 00 00 00 */ nop
.global lbl_80041C70
lbl_80041C70:
/* 80041C70 0003DAB0 48 00 00 00 */ b lbl_80041C70
.global lbl_80041C74
lbl_80041C74:
/* 80041C74 0003DAB4 80 E8 00 0C */ lwz r7, 0xc(r8)
/* 80041C78 0003DAB8 3C 07 01 15 */ addis r0, r7, 0x115
/* 80041C7C 0003DABC 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80041C80 0003DAC0 41 82 00 14 */ beq lbl_80041C94
/* 80041C84 0003DAC4 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80041C88 0003DAC8 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041C8C 0003DACC 4B FD BD 05 */ bl OSReport
.global lbl_80041C90
lbl_80041C90:
/* 80041C90 0003DAD0 48 00 00 00 */ b lbl_80041C90
.global lbl_80041C94
lbl_80041C94:
/* 80041C94 0003DAD4 7C C9 51 2E */ stwx r6, r9, r10
/* 80041C98 0003DAD8 38 0B 00 01 */ addi r0, r11, 0x1
/* 80041C9C 0003DADC 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041CA0 0003DAE0 91 88 00 04 */ stw r12, 0x4(r8)
/* 80041CA4 0003DAE4 99 88 00 08 */ stb r12, 0x8(r8)
/* 80041CA8 0003DAE8 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80041CAC 0003DAEC 41 80 00 0C */ blt lbl_80041CB8
/* 80041CB0 0003DAF0 38 00 00 00 */ li r0, 0x0
/* 80041CB4 0003DAF4 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041CB8
lbl_80041CB8:
/* 80041CB8 0003DAF8 80 CD E6 FC */ lwz r6, freeCommandBuf@sda21(r13)
/* 80041CBC 0003DAFC 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80041CC0 0003DB00 55 68 28 34 */ slwi r8, r11, 5
/* 80041CC4 0003DB04 38 06 00 01 */ addi r0, r6, 0x1
/* 80041CC8 0003DB08 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80041CCC 0003DB0C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041CD0 0003DB10 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80041CD4 0003DB14 7F C7 42 14 */ add r30, r7, r8
/* 80041CD8 0003DB18 41 80 00 0C */ blt lbl_80041CE4
/* 80041CDC 0003DB1C 38 00 00 00 */ li r0, 0x0
/* 80041CE0 0003DB20 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80041CE4
lbl_80041CE4:
/* 80041CE4 0003DB24 80 CD E7 14 */ lwz r6, diCommand@sda21(r13)
/* 80041CE8 0003DB28 54 8B 84 3E */ srwi r11, r4, 16
/* 80041CEC 0003DB2C 54 00 28 34 */ slwi r0, r0, 5
/* 80041CF0 0003DB30 38 80 00 A4 */ li r4, 0xa4
/* 80041CF4 0003DB34 7C 86 01 AE */ stbx r4, r6, r0
/* 80041CF8 0003DB38 7C 67 1B 78 */ mr r7, r3
/* 80041CFC 0003DB3C 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80041D00 0003DB40 7F CA F3 78 */ mr r10, r30
/* 80041D04 0003DB44 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041D08 0003DB48 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80041D0C 0003DB4C 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 80041D10 0003DB50 38 80 00 A4 */ li r4, 0xa4
/* 80041D14 0003DB54 54 00 28 34 */ slwi r0, r0, 5
/* 80041D18 0003DB58 38 C0 00 20 */ li r6, 0x20
/* 80041D1C 0003DB5C 7C 63 02 14 */ add r3, r3, r0
/* 80041D20 0003DB60 39 00 00 20 */ li r8, 0x20
/* 80041D24 0003DB64 91 63 00 04 */ stw r11, 0x4(r3)
/* 80041D28 0003DB68 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041D2C 0003DB6C 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 80041D30 0003DB70 54 00 28 34 */ slwi r0, r0, 5
/* 80041D34 0003DB74 7C 63 02 14 */ add r3, r3, r0
/* 80041D38 0003DB78 90 A3 00 08 */ stw r5, 0x8(r3)
/* 80041D3C 0003DB7C 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041D40 0003DB80 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041D44 0003DB84 54 00 28 34 */ slwi r0, r0, 5
/* 80041D48 0003DB88 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80041D4C 0003DB8C 7C A5 02 14 */ add r5, r5, r0
/* 80041D50 0003DB90 48 00 DC 81 */ bl IOS_IoctlAsync
/* 80041D54 0003DB94 2C 03 00 00 */ cmpwi r3, 0x0
/* 80041D58 0003DB98 41 82 00 24 */ beq lbl_80041D7C
/* 80041D5C 0003DB9C 7C 64 1B 78 */ mr r4, r3
/* 80041D60 0003DBA0 38 7F 0A 98 */ addi r3, r31, 0xa98
/* 80041D64 0003DBA4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041D68 0003DBA8 4B FD BC 29 */ bl OSReport
/* 80041D6C 0003DBAC 38 00 00 00 */ li r0, 0x0
/* 80041D70 0003DBB0 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041D74 0003DBB4 38 60 00 00 */ li r3, 0x0
/* 80041D78 0003DBB8 48 00 00 08 */ b lbl_80041D80
.global lbl_80041D7C
lbl_80041D7C:
/* 80041D7C 0003DBBC 38 60 00 01 */ li r3, 0x1
.global lbl_80041D80
lbl_80041D80:
/* 80041D80 0003DBC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041D84 0003DBC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80041D88 0003DBC8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80041D8C 0003DBCC 7C 08 03 A6 */ mtlr r0
/* 80041D90 0003DBD0 38 21 00 10 */ addi r1, r1, 0x10
/* 80041D94 0003DBD4 4E 80 00 20 */ blr
/* 80041D98 0003DBD8 00 00 00 00 */ .4byte 0x00000000
/* 80041D9C 0003DBDC 00 00 00 00 */ .4byte 0x00000000
.global DVDLowSetMaximumRotation
DVDLowSetMaximumRotation:
/* 80041DA0 0003DBE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041DA4 0003DBE4 7C 08 02 A6 */ mflr r0
/* 80041DA8 0003DBE8 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80041DAC 0003DBEC 39 40 00 01 */ li r10, 0x1
/* 80041DB0 0003DBF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041DB4 0003DBF4 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80041DB8 0003DBF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80041DBC 0003DBFC 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041DC0 0003DC00 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041DC4 0003DC04 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041DC8 0003DC08 81 2D E7 00 */ lwz r9, freeDvdContext@sda21(r13)
/* 80041DCC 0003DC0C 99 4D E6 F8 */ stb r10, requestInProgress@sda21(r13)
/* 80041DD0 0003DC10 55 28 28 34 */ slwi r8, r9, 5
/* 80041DD4 0003DC14 7C C7 42 14 */ add r6, r7, r8
/* 80041DD8 0003DC18 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 80041DDC 0003DC1C 7C 05 00 D0 */ neg r0, r5
/* 80041DE0 0003DC20 7C 00 2B 78 */ or r0, r0, r5
/* 80041DE4 0003DC24 54 00 0F FE */ srwi r0, r0, 31
/* 80041DE8 0003DC28 28 00 00 01 */ cmplwi r0, 0x1
/* 80041DEC 0003DC2C 40 82 00 28 */ bne lbl_80041E14
/* 80041DF0 0003DC30 7D 24 4B 78 */ mr r4, r9
/* 80041DF4 0003DC34 38 7F 02 40 */ addi r3, r31, 0x240
/* 80041DF8 0003DC38 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041DFC 0003DC3C 4B FD BB 95 */ bl OSReport
/* 80041E00 0003DC40 38 7F 02 78 */ addi r3, r31, 0x278
/* 80041E04 0003DC44 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041E08 0003DC48 4B FD BB 89 */ bl OSReport
/* 80041E0C 0003DC4C 60 00 00 00 */ nop
.global lbl_80041E10
lbl_80041E10:
/* 80041E10 0003DC50 48 00 00 00 */ b lbl_80041E10
.global lbl_80041E14
lbl_80041E14:
/* 80041E14 0003DC54 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80041E18 0003DC58 3C 05 01 15 */ addis r0, r5, 0x115
/* 80041E1C 0003DC5C 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80041E20 0003DC60 41 82 00 14 */ beq lbl_80041E34
/* 80041E24 0003DC64 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80041E28 0003DC68 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041E2C 0003DC6C 4B FD BB 65 */ bl OSReport
.global lbl_80041E30
lbl_80041E30:
/* 80041E30 0003DC70 48 00 00 00 */ b lbl_80041E30
.global lbl_80041E34
lbl_80041E34:
/* 80041E34 0003DC74 7C 87 41 2E */ stwx r4, r7, r8
/* 80041E38 0003DC78 38 09 00 01 */ addi r0, r9, 0x1
/* 80041E3C 0003DC7C 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041E40 0003DC80 91 46 00 04 */ stw r10, 0x4(r6)
/* 80041E44 0003DC84 99 46 00 08 */ stb r10, 0x8(r6)
/* 80041E48 0003DC88 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80041E4C 0003DC8C 41 80 00 0C */ blt lbl_80041E58
/* 80041E50 0003DC90 38 00 00 00 */ li r0, 0x0
/* 80041E54 0003DC94 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80041E58
lbl_80041E58:
/* 80041E58 0003DC98 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 80041E5C 0003DC9C 3C A0 80 4A */ lis r5, dvdContexts@ha
/* 80041E60 0003DCA0 55 26 28 34 */ slwi r6, r9, 5
/* 80041E64 0003DCA4 38 04 00 01 */ addi r0, r4, 0x1
/* 80041E68 0003DCA8 38 A5 FD 60 */ addi r5, r5, dvdContexts@l
/* 80041E6C 0003DCAC 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041E70 0003DCB0 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80041E74 0003DCB4 7F C5 32 14 */ add r30, r5, r6
/* 80041E78 0003DCB8 41 80 00 0C */ blt lbl_80041E84
/* 80041E7C 0003DCBC 38 00 00 00 */ li r0, 0x0
/* 80041E80 0003DCC0 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80041E84
lbl_80041E84:
/* 80041E84 0003DCC4 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 80041E88 0003DCC8 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80041E8C 0003DCCC 54 00 28 34 */ slwi r0, r0, 5
/* 80041E90 0003DCD0 38 A0 00 DD */ li r5, 0xdd
/* 80041E94 0003DCD4 7C A4 01 AE */ stbx r5, r4, r0
/* 80041E98 0003DCD8 54 65 87 BE */ extrwi r5, r3, 2, 14
/* 80041E9C 0003DCDC 7F CA F3 78 */ mr r10, r30
/* 80041EA0 0003DCE0 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80041EA4 0003DCE4 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041EA8 0003DCE8 38 80 00 DD */ li r4, 0xdd
/* 80041EAC 0003DCEC 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 80041EB0 0003DCF0 38 C0 00 20 */ li r6, 0x20
/* 80041EB4 0003DCF4 54 00 28 34 */ slwi r0, r0, 5
/* 80041EB8 0003DCF8 38 E0 00 00 */ li r7, 0x0
/* 80041EBC 0003DCFC 7C 63 02 14 */ add r3, r3, r0
/* 80041EC0 0003DD00 39 00 00 00 */ li r8, 0x0
/* 80041EC4 0003DD04 90 A3 00 04 */ stw r5, 0x4(r3)
/* 80041EC8 0003DD08 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80041ECC 0003DD0C 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 80041ED0 0003DD10 54 00 28 34 */ slwi r0, r0, 5
/* 80041ED4 0003DD14 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80041ED8 0003DD18 7C A5 02 14 */ add r5, r5, r0
/* 80041EDC 0003DD1C 48 00 DA F5 */ bl IOS_IoctlAsync
/* 80041EE0 0003DD20 2C 03 00 00 */ cmpwi r3, 0x0
/* 80041EE4 0003DD24 41 82 00 24 */ beq lbl_80041F08
/* 80041EE8 0003DD28 7C 64 1B 78 */ mr r4, r3
/* 80041EEC 0003DD2C 38 7F 0C 4C */ addi r3, r31, 0xc4c
/* 80041EF0 0003DD30 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041EF4 0003DD34 4B FD BA 9D */ bl OSReport
/* 80041EF8 0003DD38 38 00 00 00 */ li r0, 0x0
/* 80041EFC 0003DD3C 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80041F00 0003DD40 38 60 00 00 */ li r3, 0x0
/* 80041F04 0003DD44 48 00 00 08 */ b lbl_80041F0C
.global lbl_80041F08
lbl_80041F08:
/* 80041F08 0003DD48 38 60 00 01 */ li r3, 0x1
.global lbl_80041F0C
lbl_80041F0C:
/* 80041F0C 0003DD4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80041F10 0003DD50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80041F14 0003DD54 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80041F18 0003DD58 7C 08 03 A6 */ mtlr r0
/* 80041F1C 0003DD5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80041F20 0003DD60 4E 80 00 20 */ blr
/* 80041F24 0003DD64 00 00 00 00 */ .4byte 0x00000000
/* 80041F28 0003DD68 00 00 00 00 */ .4byte 0x00000000
/* 80041F2C 0003DD6C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowRead
DVDLowRead:
/* 80041F30 0003DD70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80041F34 0003DD74 7C 08 02 A6 */ mflr r0
/* 80041F38 0003DD78 90 01 00 14 */ stw r0, 0x14(r1)
/* 80041F3C 0003DD7C 54 60 06 FF */ clrlwi. r0, r3, 27
/* 80041F40 0003DD80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80041F44 0003DD84 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80041F48 0003DD88 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80041F4C 0003DD8C 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80041F50 0003DD90 41 82 00 18 */ beq lbl_80041F68
/* 80041F54 0003DD94 38 7F 0C 8C */ addi r3, r31, 0xc8c
/* 80041F58 0003DD98 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041F5C 0003DD9C 4B FD BA 35 */ bl OSReport
/* 80041F60 0003DDA0 38 60 00 00 */ li r3, 0x0
/* 80041F64 0003DDA4 48 00 01 64 */ b lbl_800420C8
.global lbl_80041F68
lbl_80041F68:
/* 80041F68 0003DDA8 81 6D E7 00 */ lwz r11, freeDvdContext@sda21(r13)
/* 80041F6C 0003DDAC 3D 20 80 4A */ lis r9, dvdContexts@ha
/* 80041F70 0003DDB0 39 80 00 01 */ li r12, 0x1
/* 80041F74 0003DDB4 99 8D E6 F8 */ stb r12, requestInProgress@sda21(r13)
/* 80041F78 0003DDB8 55 6A 28 34 */ slwi r10, r11, 5
/* 80041F7C 0003DDBC 39 29 FD 60 */ addi r9, r9, dvdContexts@l
/* 80041F80 0003DDC0 7D 09 52 14 */ add r8, r9, r10
/* 80041F84 0003DDC4 88 E8 00 08 */ lbz r7, 0x8(r8)
/* 80041F88 0003DDC8 7C 07 00 D0 */ neg r0, r7
/* 80041F8C 0003DDCC 7C 00 3B 78 */ or r0, r0, r7
/* 80041F90 0003DDD0 54 00 0F FE */ srwi r0, r0, 31
/* 80041F94 0003DDD4 28 00 00 01 */ cmplwi r0, 0x1
/* 80041F98 0003DDD8 40 82 00 24 */ bne lbl_80041FBC
/* 80041F9C 0003DDDC 7D 64 5B 78 */ mr r4, r11
/* 80041FA0 0003DDE0 38 7F 02 40 */ addi r3, r31, 0x240
/* 80041FA4 0003DDE4 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041FA8 0003DDE8 4B FD B9 E9 */ bl OSReport
/* 80041FAC 0003DDEC 38 7F 02 78 */ addi r3, r31, 0x278
/* 80041FB0 0003DDF0 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041FB4 0003DDF4 4B FD B9 DD */ bl OSReport
.global lbl_80041FB8
lbl_80041FB8:
/* 80041FB8 0003DDF8 48 00 00 00 */ b lbl_80041FB8
.global lbl_80041FBC
lbl_80041FBC:
/* 80041FBC 0003DDFC 80 E8 00 0C */ lwz r7, 0xc(r8)
/* 80041FC0 0003DE00 3C 07 01 15 */ addis r0, r7, 0x115
/* 80041FC4 0003DE04 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80041FC8 0003DE08 41 82 00 14 */ beq lbl_80041FDC
/* 80041FCC 0003DE0C 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80041FD0 0003DE10 4C C6 31 82 */ crclr 4*cr1+eq
/* 80041FD4 0003DE14 4B FD B9 BD */ bl OSReport
.global lbl_80041FD8
lbl_80041FD8:
/* 80041FD8 0003DE18 48 00 00 00 */ b lbl_80041FD8
.global lbl_80041FDC
lbl_80041FDC:
/* 80041FDC 0003DE1C 7C C9 51 2E */ stwx r6, r9, r10
/* 80041FE0 0003DE20 38 0B 00 01 */ addi r0, r11, 0x1
/* 80041FE4 0003DE24 2C 00 00 04 */ cmpwi r0, 0x4
/* 80041FE8 0003DE28 91 88 00 04 */ stw r12, 0x4(r8)
/* 80041FEC 0003DE2C 99 88 00 08 */ stb r12, 0x8(r8)
/* 80041FF0 0003DE30 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80041FF4 0003DE34 41 80 00 0C */ blt lbl_80042000
/* 80041FF8 0003DE38 38 00 00 00 */ li r0, 0x0
/* 80041FFC 0003DE3C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80042000
lbl_80042000:
/* 80042000 0003DE40 80 CD E6 FC */ lwz r6, freeCommandBuf@sda21(r13)
/* 80042004 0003DE44 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80042008 0003DE48 90 8D E7 0C */ stw r4, readLength@sda21(r13)
/* 8004200C 0003DE4C 55 68 28 34 */ slwi r8, r11, 5
/* 80042010 0003DE50 38 06 00 01 */ addi r0, r6, 0x1
/* 80042014 0003DE54 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80042018 0003DE58 2C 00 00 04 */ cmpwi r0, 0x4
/* 8004201C 0003DE5C 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80042020 0003DE60 7F C7 42 14 */ add r30, r7, r8
/* 80042024 0003DE64 41 80 00 0C */ blt lbl_80042030
/* 80042028 0003DE68 38 00 00 00 */ li r0, 0x0
/* 8004202C 0003DE6C 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80042030
lbl_80042030:
/* 80042030 0003DE70 80 CD E7 14 */ lwz r6, diCommand@sda21(r13)
/* 80042034 0003DE74 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80042038 0003DE78 54 00 28 34 */ slwi r0, r0, 5
/* 8004203C 0003DE7C 38 E0 00 71 */ li r7, 0x71
/* 80042040 0003DE80 7C E6 01 AE */ stbx r7, r6, r0
/* 80042044 0003DE84 7C 67 1B 78 */ mr r7, r3
/* 80042048 0003DE88 7C 88 23 78 */ mr r8, r4
/* 8004204C 0003DE8C 7F CA F3 78 */ mr r10, r30
/* 80042050 0003DE90 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80042054 0003DE94 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80042058 0003DE98 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 8004205C 0003DE9C 38 C0 00 20 */ li r6, 0x20
/* 80042060 0003DEA0 54 00 28 34 */ slwi r0, r0, 5
/* 80042064 0003DEA4 7C 63 02 14 */ add r3, r3, r0
/* 80042068 0003DEA8 90 83 00 04 */ stw r4, 0x4(r3)
/* 8004206C 0003DEAC 38 80 00 71 */ li r4, 0x71
/* 80042070 0003DEB0 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80042074 0003DEB4 80 6D E7 14 */ lwz r3, diCommand@sda21(r13)
/* 80042078 0003DEB8 54 00 28 34 */ slwi r0, r0, 5
/* 8004207C 0003DEBC 7C 63 02 14 */ add r3, r3, r0
/* 80042080 0003DEC0 90 A3 00 08 */ stw r5, 0x8(r3)
/* 80042084 0003DEC4 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80042088 0003DEC8 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 8004208C 0003DECC 54 00 28 34 */ slwi r0, r0, 5
/* 80042090 0003DED0 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80042094 0003DED4 7C A5 02 14 */ add r5, r5, r0
/* 80042098 0003DED8 48 00 D9 39 */ bl IOS_IoctlAsync
/* 8004209C 0003DEDC 2C 03 00 00 */ cmpwi r3, 0x0
/* 800420A0 0003DEE0 41 82 00 24 */ beq lbl_800420C4
/* 800420A4 0003DEE4 7C 64 1B 78 */ mr r4, r3
/* 800420A8 0003DEE8 38 7F 0C CC */ addi r3, r31, 0xccc
/* 800420AC 0003DEEC 4C C6 31 82 */ crclr 4*cr1+eq
/* 800420B0 0003DEF0 4B FD B8 E1 */ bl OSReport
/* 800420B4 0003DEF4 38 00 00 00 */ li r0, 0x0
/* 800420B8 0003DEF8 98 1E 00 08 */ stb r0, 0x8(r30)
/* 800420BC 0003DEFC 38 60 00 00 */ li r3, 0x0
/* 800420C0 0003DF00 48 00 00 08 */ b lbl_800420C8
.global lbl_800420C4
lbl_800420C4:
/* 800420C4 0003DF04 38 60 00 01 */ li r3, 0x1
.global lbl_800420C8
lbl_800420C8:
/* 800420C8 0003DF08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800420CC 0003DF0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800420D0 0003DF10 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800420D4 0003DF14 7C 08 03 A6 */ mtlr r0
/* 800420D8 0003DF18 38 21 00 10 */ addi r1, r1, 0x10
/* 800420DC 0003DF1C 4E 80 00 20 */ blr
.global DVDLowSeek
DVDLowSeek:
/* 800420E0 0003DF20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800420E4 0003DF24 7C 08 02 A6 */ mflr r0
/* 800420E8 0003DF28 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 800420EC 0003DF2C 39 40 00 01 */ li r10, 0x1
/* 800420F0 0003DF30 90 01 00 14 */ stw r0, 0x14(r1)
/* 800420F4 0003DF34 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 800420F8 0003DF38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800420FC 0003DF3C 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80042100 0003DF40 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80042104 0003DF44 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80042108 0003DF48 81 2D E7 00 */ lwz r9, freeDvdContext@sda21(r13)
/* 8004210C 0003DF4C 99 4D E6 F8 */ stb r10, requestInProgress@sda21(r13)
/* 80042110 0003DF50 55 28 28 34 */ slwi r8, r9, 5
/* 80042114 0003DF54 7C C7 42 14 */ add r6, r7, r8
/* 80042118 0003DF58 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 8004211C 0003DF5C 7C 05 00 D0 */ neg r0, r5
/* 80042120 0003DF60 7C 00 2B 78 */ or r0, r0, r5
/* 80042124 0003DF64 54 00 0F FE */ srwi r0, r0, 31
/* 80042128 0003DF68 28 00 00 01 */ cmplwi r0, 0x1
/* 8004212C 0003DF6C 40 82 00 28 */ bne lbl_80042154
/* 80042130 0003DF70 7D 24 4B 78 */ mr r4, r9
/* 80042134 0003DF74 38 7F 02 40 */ addi r3, r31, 0x240
/* 80042138 0003DF78 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004213C 0003DF7C 4B FD B8 55 */ bl OSReport
/* 80042140 0003DF80 38 7F 02 78 */ addi r3, r31, 0x278
/* 80042144 0003DF84 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042148 0003DF88 4B FD B8 49 */ bl OSReport
/* 8004214C 0003DF8C 60 00 00 00 */ nop
.global lbl_80042150
lbl_80042150:
/* 80042150 0003DF90 48 00 00 00 */ b lbl_80042150
.global lbl_80042154
lbl_80042154:
/* 80042154 0003DF94 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80042158 0003DF98 3C 05 01 15 */ addis r0, r5, 0x115
/* 8004215C 0003DF9C 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80042160 0003DFA0 41 82 00 14 */ beq lbl_80042174
/* 80042164 0003DFA4 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80042168 0003DFA8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004216C 0003DFAC 4B FD B8 25 */ bl OSReport
.global lbl_80042170
lbl_80042170:
/* 80042170 0003DFB0 48 00 00 00 */ b lbl_80042170
.global lbl_80042174
lbl_80042174:
/* 80042174 0003DFB4 7C 87 41 2E */ stwx r4, r7, r8
/* 80042178 0003DFB8 38 09 00 01 */ addi r0, r9, 0x1
/* 8004217C 0003DFBC 2C 00 00 04 */ cmpwi r0, 0x4
/* 80042180 0003DFC0 91 46 00 04 */ stw r10, 0x4(r6)
/* 80042184 0003DFC4 99 46 00 08 */ stb r10, 0x8(r6)
/* 80042188 0003DFC8 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 8004218C 0003DFCC 41 80 00 0C */ blt lbl_80042198
/* 80042190 0003DFD0 38 00 00 00 */ li r0, 0x0
/* 80042194 0003DFD4 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80042198
lbl_80042198:
/* 80042198 0003DFD8 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 8004219C 0003DFDC 3C A0 80 4A */ lis r5, dvdContexts@ha
/* 800421A0 0003DFE0 55 26 28 34 */ slwi r6, r9, 5
/* 800421A4 0003DFE4 38 04 00 01 */ addi r0, r4, 0x1
/* 800421A8 0003DFE8 38 A5 FD 60 */ addi r5, r5, dvdContexts@l
/* 800421AC 0003DFEC 2C 00 00 04 */ cmpwi r0, 0x4
/* 800421B0 0003DFF0 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 800421B4 0003DFF4 7F C5 32 14 */ add r30, r5, r6
/* 800421B8 0003DFF8 41 80 00 0C */ blt lbl_800421C4
/* 800421BC 0003DFFC 38 00 00 00 */ li r0, 0x0
/* 800421C0 0003E000 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_800421C4
lbl_800421C4:
/* 800421C4 0003E004 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 800421C8 0003E008 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 800421CC 0003E00C 54 00 28 34 */ slwi r0, r0, 5
/* 800421D0 0003E010 38 A0 00 AB */ li r5, 0xab
/* 800421D4 0003E014 7C A4 01 AE */ stbx r5, r4, r0
/* 800421D8 0003E018 7F CA F3 78 */ mr r10, r30
/* 800421DC 0003E01C 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 800421E0 0003E020 38 80 00 AB */ li r4, 0xab
/* 800421E4 0003E024 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800421E8 0003E028 38 C0 00 20 */ li r6, 0x20
/* 800421EC 0003E02C 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 800421F0 0003E030 38 E0 00 00 */ li r7, 0x0
/* 800421F4 0003E034 54 00 28 34 */ slwi r0, r0, 5
/* 800421F8 0003E038 39 00 00 00 */ li r8, 0x0
/* 800421FC 0003E03C 7C A5 02 14 */ add r5, r5, r0
/* 80042200 0003E040 90 65 00 04 */ stw r3, 0x4(r5)
/* 80042204 0003E044 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80042208 0003E048 80 AD E7 14 */ lwz r5, diCommand@sda21(r13)
/* 8004220C 0003E04C 54 00 28 34 */ slwi r0, r0, 5
/* 80042210 0003E050 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80042214 0003E054 7C A5 02 14 */ add r5, r5, r0
/* 80042218 0003E058 48 00 D7 B9 */ bl IOS_IoctlAsync
/* 8004221C 0003E05C 2C 03 00 00 */ cmpwi r3, 0x0
/* 80042220 0003E060 41 82 00 24 */ beq lbl_80042244
/* 80042224 0003E064 7C 64 1B 78 */ mr r4, r3
/* 80042228 0003E068 38 7F 0D 00 */ addi r3, r31, 0xd00
/* 8004222C 0003E06C 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042230 0003E070 4B FD B7 61 */ bl OSReport
/* 80042234 0003E074 38 00 00 00 */ li r0, 0x0
/* 80042238 0003E078 98 1E 00 08 */ stb r0, 0x8(r30)
/* 8004223C 0003E07C 38 60 00 00 */ li r3, 0x0
/* 80042240 0003E080 48 00 00 08 */ b lbl_80042248
.global lbl_80042244
lbl_80042244:
/* 80042244 0003E084 38 60 00 01 */ li r3, 0x1
.global lbl_80042248
lbl_80042248:
/* 80042248 0003E088 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004224C 0003E08C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80042250 0003E090 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80042254 0003E094 7C 08 03 A6 */ mtlr r0
/* 80042258 0003E098 38 21 00 10 */ addi r1, r1, 0x10
/* 8004225C 0003E09C 4E 80 00 20 */ blr
.global DVDLowGetCoverRegister
DVDLowGetCoverRegister:
/* 80042260 0003E0A0 3C 60 80 4A */ lis r3, diRegValCache@ha
/* 80042264 0003E0A4 38 63 FD E0 */ addi r3, r3, diRegValCache@l
/* 80042268 0003E0A8 80 63 00 04 */ lwz r3, 0x4(r3)
/* 8004226C 0003E0AC 4E 80 00 20 */ blr
.global DVDLowGetStatusRegister
DVDLowGetStatusRegister:
/* 80042270 0003E0B0 3C 60 80 4A */ lis r3, statusRegister@ha
/* 80042274 0003E0B4 80 63 FE E0 */ lwz r3, statusRegister@l(r3)
/* 80042278 0003E0B8 4E 80 00 20 */ blr
/* 8004227C 0003E0BC 00 00 00 00 */ .4byte 0x00000000
.global DVDLowGetControlRegister
DVDLowGetControlRegister:
/* 80042280 0003E0C0 3C 60 80 4A */ lis r3, controlRegister@ha
/* 80042284 0003E0C4 80 63 FF 00 */ lwz r3, controlRegister@l(r3)
/* 80042288 0003E0C8 4E 80 00 20 */ blr
/* 8004228C 0003E0CC 00 00 00 00 */ .4byte 0x00000000
.global DVDLowPrepareCoverRegister
DVDLowPrepareCoverRegister:
/* 80042290 0003E0D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80042294 0003E0D4 7C 08 02 A6 */ mflr r0
/* 80042298 0003E0D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004229C 0003E0DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800422A0 0003E0E0 3F E0 80 43 */ lis r31, "@3815"@ha
/* 800422A4 0003E0E4 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 800422A8 0003E0E8 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800422AC 0003E0EC 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 800422B0 0003E0F0 38 04 00 01 */ addi r0, r4, 0x1
/* 800422B4 0003E0F4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 800422B8 0003E0F8 2C 00 00 04 */ cmpwi r0, 0x4
/* 800422BC 0003E0FC 41 80 00 0C */ blt lbl_800422C8
/* 800422C0 0003E100 38 00 00 00 */ li r0, 0x0
/* 800422C4 0003E104 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_800422C8
lbl_800422C8:
/* 800422C8 0003E108 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 800422CC 0003E10C 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 800422D0 0003E110 54 00 28 34 */ slwi r0, r0, 5
/* 800422D4 0003E114 38 A0 00 7A */ li r5, 0x7a
/* 800422D8 0003E118 7C A4 01 AE */ stbx r5, r4, r0
/* 800422DC 0003E11C 39 20 00 01 */ li r9, 0x1
/* 800422E0 0003E120 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 800422E4 0003E124 80 8D E7 00 */ lwz r4, freeDvdContext@sda21(r13)
/* 800422E8 0003E128 99 2D E6 F8 */ stb r9, requestInProgress@sda21(r13)
/* 800422EC 0003E12C 54 88 28 34 */ slwi r8, r4, 5
/* 800422F0 0003E130 7C C7 42 14 */ add r6, r7, r8
/* 800422F4 0003E134 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 800422F8 0003E138 7C 05 00 D0 */ neg r0, r5
/* 800422FC 0003E13C 7C 00 2B 78 */ or r0, r0, r5
/* 80042300 0003E140 54 00 0F FE */ srwi r0, r0, 31
/* 80042304 0003E144 28 00 00 01 */ cmplwi r0, 0x1
/* 80042308 0003E148 40 82 00 24 */ bne lbl_8004232C
/* 8004230C 0003E14C 38 7F 02 40 */ addi r3, r31, 0x240
/* 80042310 0003E150 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042314 0003E154 4B FD B6 7D */ bl OSReport
/* 80042318 0003E158 38 7F 02 78 */ addi r3, r31, 0x278
/* 8004231C 0003E15C 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042320 0003E160 4B FD B6 71 */ bl OSReport
/* 80042324 0003E164 60 00 00 00 */ nop
.global lbl_80042328
lbl_80042328:
/* 80042328 0003E168 48 00 00 00 */ b lbl_80042328
.global lbl_8004232C
lbl_8004232C:
/* 8004232C 0003E16C 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80042330 0003E170 3C 05 01 15 */ addis r0, r5, 0x115
/* 80042334 0003E174 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80042338 0003E178 41 82 00 14 */ beq lbl_8004234C
/* 8004233C 0003E17C 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80042340 0003E180 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042344 0003E184 4B FD B6 4D */ bl OSReport
.global lbl_80042348
lbl_80042348:
/* 80042348 0003E188 48 00 00 00 */ b lbl_80042348
.global lbl_8004234C
lbl_8004234C:
/* 8004234C 0003E18C 7C 67 41 2E */ stwx r3, r7, r8
/* 80042350 0003E190 38 04 00 01 */ addi r0, r4, 0x1
/* 80042354 0003E194 2C 00 00 04 */ cmpwi r0, 0x4
/* 80042358 0003E198 91 26 00 04 */ stw r9, 0x4(r6)
/* 8004235C 0003E19C 99 26 00 08 */ stb r9, 0x8(r6)
/* 80042360 0003E1A0 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80042364 0003E1A4 41 80 00 0C */ blt lbl_80042370
/* 80042368 0003E1A8 38 00 00 00 */ li r0, 0x0
/* 8004236C 0003E1AC 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80042370
lbl_80042370:
/* 80042370 0003E1B0 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80042374 0003E1B4 3C 60 80 4A */ lis r3, dvdContexts@ha
/* 80042378 0003E1B8 54 85 28 34 */ slwi r5, r4, 5
/* 8004237C 0003E1BC 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 80042380 0003E1C0 38 63 FD 60 */ addi r3, r3, dvdContexts@l
/* 80042384 0003E1C4 3C E0 80 4A */ lis r7, registerBuf@ha
/* 80042388 0003E1C8 7F C3 2A 14 */ add r30, r3, r5
/* 8004238C 0003E1CC 54 00 28 34 */ slwi r0, r0, 5
/* 80042390 0003E1D0 3D 20 80 04 */ lis r9, doPrepareCoverRegisterCallback@ha
/* 80042394 0003E1D4 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80042398 0003E1D8 7C A4 02 14 */ add r5, r4, r0
/* 8004239C 0003E1DC 7F CA F3 78 */ mr r10, r30
/* 800423A0 0003E1E0 38 E7 FE 00 */ addi r7, r7, registerBuf@l
/* 800423A4 0003E1E4 39 29 02 A0 */ addi r9, r9, doPrepareCoverRegisterCallback@l
/* 800423A8 0003E1E8 38 80 00 7A */ li r4, 0x7a
/* 800423AC 0003E1EC 38 C0 00 20 */ li r6, 0x20
/* 800423B0 0003E1F0 39 00 00 20 */ li r8, 0x20
/* 800423B4 0003E1F4 48 00 D6 1D */ bl IOS_IoctlAsync
/* 800423B8 0003E1F8 2C 03 00 00 */ cmpwi r3, 0x0
/* 800423BC 0003E1FC 41 82 00 24 */ beq lbl_800423E0
/* 800423C0 0003E200 7C 64 1B 78 */ mr r4, r3
/* 800423C4 0003E204 38 7F 0D B0 */ addi r3, r31, 0xdb0
/* 800423C8 0003E208 4C C6 31 82 */ crclr 4*cr1+eq
/* 800423CC 0003E20C 4B FD B5 C5 */ bl OSReport
/* 800423D0 0003E210 38 00 00 00 */ li r0, 0x0
/* 800423D4 0003E214 98 1E 00 08 */ stb r0, 0x8(r30)
/* 800423D8 0003E218 38 60 00 00 */ li r3, 0x0
/* 800423DC 0003E21C 48 00 00 08 */ b lbl_800423E4
.global lbl_800423E0
lbl_800423E0:
/* 800423E0 0003E220 38 60 00 01 */ li r3, 0x1
.global lbl_800423E4
lbl_800423E4:
/* 800423E4 0003E224 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800423E8 0003E228 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800423EC 0003E22C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800423F0 0003E230 7C 08 03 A6 */ mtlr r0
/* 800423F4 0003E234 38 21 00 10 */ addi r1, r1, 0x10
/* 800423F8 0003E238 4E 80 00 20 */ blr
/* 800423FC 0003E23C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowPrepareStatusRegister
DVDLowPrepareStatusRegister:
/* 80042400 0003E240 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80042404 0003E244 7C 08 02 A6 */ mflr r0
/* 80042408 0003E248 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004240C 0003E24C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80042410 0003E250 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80042414 0003E254 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80042418 0003E258 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8004241C 0003E25C 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 80042420 0003E260 38 04 00 01 */ addi r0, r4, 0x1
/* 80042424 0003E264 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80042428 0003E268 2C 00 00 04 */ cmpwi r0, 0x4
/* 8004242C 0003E26C 41 80 00 0C */ blt lbl_80042438
/* 80042430 0003E270 38 00 00 00 */ li r0, 0x0
/* 80042434 0003E274 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80042438
lbl_80042438:
/* 80042438 0003E278 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 8004243C 0003E27C 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80042440 0003E280 54 00 28 34 */ slwi r0, r0, 5
/* 80042444 0003E284 38 A0 00 95 */ li r5, 0x95
/* 80042448 0003E288 7C A4 01 AE */ stbx r5, r4, r0
/* 8004244C 0003E28C 39 20 00 01 */ li r9, 0x1
/* 80042450 0003E290 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80042454 0003E294 80 8D E7 00 */ lwz r4, freeDvdContext@sda21(r13)
/* 80042458 0003E298 99 2D E6 F8 */ stb r9, requestInProgress@sda21(r13)
/* 8004245C 0003E29C 54 88 28 34 */ slwi r8, r4, 5
/* 80042460 0003E2A0 7C C7 42 14 */ add r6, r7, r8
/* 80042464 0003E2A4 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 80042468 0003E2A8 7C 05 00 D0 */ neg r0, r5
/* 8004246C 0003E2AC 7C 00 2B 78 */ or r0, r0, r5
/* 80042470 0003E2B0 54 00 0F FE */ srwi r0, r0, 31
/* 80042474 0003E2B4 28 00 00 01 */ cmplwi r0, 0x1
/* 80042478 0003E2B8 40 82 00 24 */ bne lbl_8004249C
/* 8004247C 0003E2BC 38 7F 02 40 */ addi r3, r31, 0x240
/* 80042480 0003E2C0 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042484 0003E2C4 4B FD B5 0D */ bl OSReport
/* 80042488 0003E2C8 38 7F 02 78 */ addi r3, r31, 0x278
/* 8004248C 0003E2CC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042490 0003E2D0 4B FD B5 01 */ bl OSReport
/* 80042494 0003E2D4 60 00 00 00 */ nop
.global lbl_80042498
lbl_80042498:
/* 80042498 0003E2D8 48 00 00 00 */ b lbl_80042498
.global lbl_8004249C
lbl_8004249C:
/* 8004249C 0003E2DC 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 800424A0 0003E2E0 3C 05 01 15 */ addis r0, r5, 0x115
/* 800424A4 0003E2E4 28 00 DA ED */ cmplwi r0, 0xdaed
/* 800424A8 0003E2E8 41 82 00 14 */ beq lbl_800424BC
/* 800424AC 0003E2EC 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 800424B0 0003E2F0 4C C6 31 82 */ crclr 4*cr1+eq
/* 800424B4 0003E2F4 4B FD B4 DD */ bl OSReport
.global lbl_800424B8
lbl_800424B8:
/* 800424B8 0003E2F8 48 00 00 00 */ b lbl_800424B8
.global lbl_800424BC
lbl_800424BC:
/* 800424BC 0003E2FC 7C 67 41 2E */ stwx r3, r7, r8
/* 800424C0 0003E300 38 04 00 01 */ addi r0, r4, 0x1
/* 800424C4 0003E304 2C 00 00 04 */ cmpwi r0, 0x4
/* 800424C8 0003E308 91 26 00 04 */ stw r9, 0x4(r6)
/* 800424CC 0003E30C 99 26 00 08 */ stb r9, 0x8(r6)
/* 800424D0 0003E310 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 800424D4 0003E314 41 80 00 0C */ blt lbl_800424E0
/* 800424D8 0003E318 38 00 00 00 */ li r0, 0x0
/* 800424DC 0003E31C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_800424E0
lbl_800424E0:
/* 800424E0 0003E320 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800424E4 0003E324 3C 60 80 4A */ lis r3, dvdContexts@ha
/* 800424E8 0003E328 54 85 28 34 */ slwi r5, r4, 5
/* 800424EC 0003E32C 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 800424F0 0003E330 38 63 FD 60 */ addi r3, r3, dvdContexts@l
/* 800424F4 0003E334 3C E0 80 4A */ lis r7, statusRegister@ha
/* 800424F8 0003E338 7F C3 2A 14 */ add r30, r3, r5
/* 800424FC 0003E33C 54 00 28 34 */ slwi r0, r0, 5
/* 80042500 0003E340 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80042504 0003E344 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80042508 0003E348 7C A4 02 14 */ add r5, r4, r0
/* 8004250C 0003E34C 7F CA F3 78 */ mr r10, r30
/* 80042510 0003E350 38 E7 FE E0 */ addi r7, r7, statusRegister@l
/* 80042514 0003E354 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80042518 0003E358 38 80 00 95 */ li r4, 0x95
/* 8004251C 0003E35C 38 C0 00 20 */ li r6, 0x20
/* 80042520 0003E360 39 00 00 20 */ li r8, 0x20
/* 80042524 0003E364 48 00 D4 AD */ bl IOS_IoctlAsync
/* 80042528 0003E368 2C 03 00 00 */ cmpwi r3, 0x0
/* 8004252C 0003E36C 41 82 00 24 */ beq lbl_80042550
/* 80042530 0003E370 7C 64 1B 78 */ mr r4, r3
/* 80042534 0003E374 38 7F 0D F4 */ addi r3, r31, 0xdf4
/* 80042538 0003E378 4C C6 31 82 */ crclr 4*cr1+eq
/* 8004253C 0003E37C 4B FD B4 55 */ bl OSReport
/* 80042540 0003E380 38 00 00 00 */ li r0, 0x0
/* 80042544 0003E384 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80042548 0003E388 38 60 00 00 */ li r3, 0x0
/* 8004254C 0003E38C 48 00 00 08 */ b lbl_80042554
.global lbl_80042550
lbl_80042550:
/* 80042550 0003E390 38 60 00 01 */ li r3, 0x1
.global lbl_80042554
lbl_80042554:
/* 80042554 0003E394 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80042558 0003E398 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004255C 0003E39C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80042560 0003E3A0 7C 08 03 A6 */ mtlr r0
/* 80042564 0003E3A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80042568 0003E3A8 4E 80 00 20 */ blr
/* 8004256C 0003E3AC 00 00 00 00 */ .4byte 0x00000000
.global DVDLowPrepareControlRegister
DVDLowPrepareControlRegister:
/* 80042570 0003E3B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80042574 0003E3B4 7C 08 02 A6 */ mflr r0
/* 80042578 0003E3B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004257C 0003E3BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80042580 0003E3C0 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80042584 0003E3C4 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80042588 0003E3C8 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8004258C 0003E3CC 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 80042590 0003E3D0 38 04 00 01 */ addi r0, r4, 0x1
/* 80042594 0003E3D4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80042598 0003E3D8 2C 00 00 04 */ cmpwi r0, 0x4
/* 8004259C 0003E3DC 41 80 00 0C */ blt lbl_800425A8
/* 800425A0 0003E3E0 38 00 00 00 */ li r0, 0x0
/* 800425A4 0003E3E4 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_800425A8
lbl_800425A8:
/* 800425A8 0003E3E8 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 800425AC 0003E3EC 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 800425B0 0003E3F0 54 00 28 34 */ slwi r0, r0, 5
/* 800425B4 0003E3F4 38 A0 00 96 */ li r5, 0x96
/* 800425B8 0003E3F8 7C A4 01 AE */ stbx r5, r4, r0
/* 800425BC 0003E3FC 39 20 00 01 */ li r9, 0x1
/* 800425C0 0003E400 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 800425C4 0003E404 80 8D E7 00 */ lwz r4, freeDvdContext@sda21(r13)
/* 800425C8 0003E408 99 2D E6 F8 */ stb r9, requestInProgress@sda21(r13)
/* 800425CC 0003E40C 54 88 28 34 */ slwi r8, r4, 5
/* 800425D0 0003E410 7C C7 42 14 */ add r6, r7, r8
/* 800425D4 0003E414 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 800425D8 0003E418 7C 05 00 D0 */ neg r0, r5
/* 800425DC 0003E41C 7C 00 2B 78 */ or r0, r0, r5
/* 800425E0 0003E420 54 00 0F FE */ srwi r0, r0, 31
/* 800425E4 0003E424 28 00 00 01 */ cmplwi r0, 0x1
/* 800425E8 0003E428 40 82 00 24 */ bne lbl_8004260C
/* 800425EC 0003E42C 38 7F 02 40 */ addi r3, r31, 0x240
/* 800425F0 0003E430 4C C6 31 82 */ crclr 4*cr1+eq
/* 800425F4 0003E434 4B FD B3 9D */ bl OSReport
/* 800425F8 0003E438 38 7F 02 78 */ addi r3, r31, 0x278
/* 800425FC 0003E43C 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042600 0003E440 4B FD B3 91 */ bl OSReport
/* 80042604 0003E444 60 00 00 00 */ nop
.global lbl_80042608
lbl_80042608:
/* 80042608 0003E448 48 00 00 00 */ b lbl_80042608
.global lbl_8004260C
lbl_8004260C:
/* 8004260C 0003E44C 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80042610 0003E450 3C 05 01 15 */ addis r0, r5, 0x115
/* 80042614 0003E454 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80042618 0003E458 41 82 00 14 */ beq lbl_8004262C
/* 8004261C 0003E45C 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 80042620 0003E460 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042624 0003E464 4B FD B3 6D */ bl OSReport
.global lbl_80042628
lbl_80042628:
/* 80042628 0003E468 48 00 00 00 */ b lbl_80042628
.global lbl_8004262C
lbl_8004262C:
/* 8004262C 0003E46C 7C 67 41 2E */ stwx r3, r7, r8
/* 80042630 0003E470 38 04 00 01 */ addi r0, r4, 0x1
/* 80042634 0003E474 2C 00 00 04 */ cmpwi r0, 0x4
/* 80042638 0003E478 91 26 00 04 */ stw r9, 0x4(r6)
/* 8004263C 0003E47C 99 26 00 08 */ stb r9, 0x8(r6)
/* 80042640 0003E480 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 80042644 0003E484 41 80 00 0C */ blt lbl_80042650
/* 80042648 0003E488 38 00 00 00 */ li r0, 0x0
/* 8004264C 0003E48C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_80042650
lbl_80042650:
/* 80042650 0003E490 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 80042654 0003E494 3C 60 80 4A */ lis r3, dvdContexts@ha
/* 80042658 0003E498 54 85 28 34 */ slwi r5, r4, 5
/* 8004265C 0003E49C 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 80042660 0003E4A0 38 63 FD 60 */ addi r3, r3, dvdContexts@l
/* 80042664 0003E4A4 3C E0 80 4A */ lis r7, controlRegister@ha
/* 80042668 0003E4A8 7F C3 2A 14 */ add r30, r3, r5
/* 8004266C 0003E4AC 54 00 28 34 */ slwi r0, r0, 5
/* 80042670 0003E4B0 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 80042674 0003E4B4 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 80042678 0003E4B8 7C A4 02 14 */ add r5, r4, r0
/* 8004267C 0003E4BC 7F CA F3 78 */ mr r10, r30
/* 80042680 0003E4C0 38 E7 FF 00 */ addi r7, r7, controlRegister@l
/* 80042684 0003E4C4 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80042688 0003E4C8 38 80 00 96 */ li r4, 0x96
/* 8004268C 0003E4CC 38 C0 00 20 */ li r6, 0x20
/* 80042690 0003E4D0 39 00 00 20 */ li r8, 0x20
/* 80042694 0003E4D4 48 00 D3 3D */ bl IOS_IoctlAsync
/* 80042698 0003E4D8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8004269C 0003E4DC 41 82 00 24 */ beq lbl_800426C0
/* 800426A0 0003E4E0 7C 64 1B 78 */ mr r4, r3
/* 800426A4 0003E4E4 38 7F 0E 3C */ addi r3, r31, 0xe3c
/* 800426A8 0003E4E8 4C C6 31 82 */ crclr 4*cr1+eq
/* 800426AC 0003E4EC 4B FD B2 E5 */ bl OSReport
/* 800426B0 0003E4F0 38 00 00 00 */ li r0, 0x0
/* 800426B4 0003E4F4 98 1E 00 08 */ stb r0, 0x8(r30)
/* 800426B8 0003E4F8 38 60 00 00 */ li r3, 0x0
/* 800426BC 0003E4FC 48 00 00 08 */ b lbl_800426C4
.global lbl_800426C0
lbl_800426C0:
/* 800426C0 0003E500 38 60 00 01 */ li r3, 0x1
.global lbl_800426C4
lbl_800426C4:
/* 800426C4 0003E504 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800426C8 0003E508 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800426CC 0003E50C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800426D0 0003E510 7C 08 03 A6 */ mtlr r0
/* 800426D4 0003E514 38 21 00 10 */ addi r1, r1, 0x10
/* 800426D8 0003E518 4E 80 00 20 */ blr
/* 800426DC 0003E51C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowGetImmBufferReg
DVDLowGetImmBufferReg:
/* 800426E0 0003E520 3C 60 80 4A */ lis r3, diRegValCache@ha
/* 800426E4 0003E524 80 63 FD E0 */ lwz r3, diRegValCache@l(r3)
/* 800426E8 0003E528 4E 80 00 20 */ blr
/* 800426EC 0003E52C 00 00 00 00 */ .4byte 0x00000000
.global DVDLowClearCoverInterrupt
DVDLowClearCoverInterrupt:
/* 800426F0 0003E530 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800426F4 0003E534 7C 08 02 A6 */ mflr r0
/* 800426F8 0003E538 90 01 00 14 */ stw r0, 0x14(r1)
/* 800426FC 0003E53C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80042700 0003E540 3F E0 80 43 */ lis r31, "@3815"@ha
/* 80042704 0003E544 3B FF 20 38 */ addi r31, r31, "@3815"@l
/* 80042708 0003E548 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8004270C 0003E54C 80 8D E6 FC */ lwz r4, freeCommandBuf@sda21(r13)
/* 80042710 0003E550 38 04 00 01 */ addi r0, r4, 0x1
/* 80042714 0003E554 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
/* 80042718 0003E558 2C 00 00 04 */ cmpwi r0, 0x4
/* 8004271C 0003E55C 41 80 00 0C */ blt lbl_80042728
/* 80042720 0003E560 38 00 00 00 */ li r0, 0x0
/* 80042724 0003E564 90 0D E6 FC */ stw r0, freeCommandBuf@sda21(r13)
.global lbl_80042728
lbl_80042728:
/* 80042728 0003E568 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 8004272C 0003E56C 3C E0 80 4A */ lis r7, dvdContexts@ha
/* 80042730 0003E570 54 00 28 34 */ slwi r0, r0, 5
/* 80042734 0003E574 38 A0 00 86 */ li r5, 0x86
/* 80042738 0003E578 7C A4 01 AE */ stbx r5, r4, r0
/* 8004273C 0003E57C 39 20 00 01 */ li r9, 0x1
/* 80042740 0003E580 38 E7 FD 60 */ addi r7, r7, dvdContexts@l
/* 80042744 0003E584 80 8D E7 00 */ lwz r4, freeDvdContext@sda21(r13)
/* 80042748 0003E588 99 2D E6 F8 */ stb r9, requestInProgress@sda21(r13)
/* 8004274C 0003E58C 54 88 28 34 */ slwi r8, r4, 5
/* 80042750 0003E590 7C C7 42 14 */ add r6, r7, r8
/* 80042754 0003E594 88 A6 00 08 */ lbz r5, 0x8(r6)
/* 80042758 0003E598 7C 05 00 D0 */ neg r0, r5
/* 8004275C 0003E59C 7C 00 2B 78 */ or r0, r0, r5
/* 80042760 0003E5A0 54 00 0F FE */ srwi r0, r0, 31
/* 80042764 0003E5A4 28 00 00 01 */ cmplwi r0, 0x1
/* 80042768 0003E5A8 40 82 00 24 */ bne lbl_8004278C
/* 8004276C 0003E5AC 38 7F 02 40 */ addi r3, r31, 0x240
/* 80042770 0003E5B0 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042774 0003E5B4 4B FD B2 1D */ bl OSReport
/* 80042778 0003E5B8 38 7F 02 78 */ addi r3, r31, 0x278
/* 8004277C 0003E5BC 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042780 0003E5C0 4B FD B2 11 */ bl OSReport
/* 80042784 0003E5C4 60 00 00 00 */ nop
.global lbl_80042788
lbl_80042788:
/* 80042788 0003E5C8 48 00 00 00 */ b lbl_80042788
.global lbl_8004278C
lbl_8004278C:
/* 8004278C 0003E5CC 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80042790 0003E5D0 3C 05 01 15 */ addis r0, r5, 0x115
/* 80042794 0003E5D4 28 00 DA ED */ cmplwi r0, 0xdaed
/* 80042798 0003E5D8 41 82 00 14 */ beq lbl_800427AC
/* 8004279C 0003E5DC 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 800427A0 0003E5E0 4C C6 31 82 */ crclr 4*cr1+eq
/* 800427A4 0003E5E4 4B FD B1 ED */ bl OSReport
.global lbl_800427A8
lbl_800427A8:
/* 800427A8 0003E5E8 48 00 00 00 */ b lbl_800427A8
.global lbl_800427AC
lbl_800427AC:
/* 800427AC 0003E5EC 7C 67 41 2E */ stwx r3, r7, r8
/* 800427B0 0003E5F0 38 04 00 01 */ addi r0, r4, 0x1
/* 800427B4 0003E5F4 2C 00 00 04 */ cmpwi r0, 0x4
/* 800427B8 0003E5F8 91 26 00 04 */ stw r9, 0x4(r6)
/* 800427BC 0003E5FC 99 26 00 08 */ stb r9, 0x8(r6)
/* 800427C0 0003E600 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
/* 800427C4 0003E604 41 80 00 0C */ blt lbl_800427D0
/* 800427C8 0003E608 38 00 00 00 */ li r0, 0x0
/* 800427CC 0003E60C 90 0D E7 00 */ stw r0, freeDvdContext@sda21(r13)
.global lbl_800427D0
lbl_800427D0:
/* 800427D0 0003E610 80 0D E6 FC */ lwz r0, freeCommandBuf@sda21(r13)
/* 800427D4 0003E614 3C 60 80 4A */ lis r3, dvdContexts@ha
/* 800427D8 0003E618 54 85 28 34 */ slwi r5, r4, 5
/* 800427DC 0003E61C 80 8D E7 14 */ lwz r4, diCommand@sda21(r13)
/* 800427E0 0003E620 38 63 FD 60 */ addi r3, r3, dvdContexts@l
/* 800427E4 0003E624 3D 20 80 04 */ lis r9, doTransactionCallback@ha
/* 800427E8 0003E628 7F C3 2A 14 */ add r30, r3, r5
/* 800427EC 0003E62C 54 00 28 34 */ slwi r0, r0, 5
/* 800427F0 0003E630 7C A4 02 14 */ add r5, r4, r0
/* 800427F4 0003E634 80 6D 81 E0 */ lwz r3, DiFD@sda21(r13)
/* 800427F8 0003E638 7F CA F3 78 */ mr r10, r30
/* 800427FC 0003E63C 39 29 01 E0 */ addi r9, r9, doTransactionCallback@l
/* 80042800 0003E640 38 80 00 86 */ li r4, 0x86
/* 80042804 0003E644 38 C0 00 20 */ li r6, 0x20
/* 80042808 0003E648 38 E0 00 00 */ li r7, 0x0
/* 8004280C 0003E64C 39 00 00 00 */ li r8, 0x0
/* 80042810 0003E650 48 00 D1 C1 */ bl IOS_IoctlAsync
/* 80042814 0003E654 2C 03 00 00 */ cmpwi r3, 0x0
/* 80042818 0003E658 41 82 00 24 */ beq lbl_8004283C
/* 8004281C 0003E65C 7C 64 1B 78 */ mr r4, r3
/* 80042820 0003E660 38 7F 0E 84 */ addi r3, r31, 0xe84
/* 80042824 0003E664 4C C6 31 82 */ crclr 4*cr1+eq
/* 80042828 0003E668 4B FD B1 69 */ bl OSReport
/* 8004282C 0003E66C 38 00 00 00 */ li r0, 0x0
/* 80042830 0003E670 98 1E 00 08 */ stb r0, 0x8(r30)
/* 80042834 0003E674 38 60 00 00 */ li r3, 0x0
/* 80042838 0003E678 48 00 00 08 */ b lbl_80042840
.global lbl_8004283C
lbl_8004283C:
/* 8004283C 0003E67C 38 60 00 01 */ li r3, 0x1
.global lbl_80042840
lbl_80042840:
/* 80042840 0003E680 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80042844 0003E684 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80042848 0003E688 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8004284C 0003E68C 7C 08 03 A6 */ mtlr r0
/* 80042850 0003E690 38 21 00 10 */ addi r1, r1, 0x10
/* 80042854 0003E694 4E 80 00 20 */ blr
/* 80042858 0003E698 00 00 00 00 */ .4byte 0x00000000
/* 8004285C 0003E69C 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@3815"
"@3815":
.4byte 0x28646F54
.4byte 0x72616E73
.4byte 0x61637469
.4byte 0x6F6E4361
.4byte 0x6C6C6261
.4byte 0x636B2920
.4byte 0x4572726F
.4byte 0x72202D20
.4byte 0x636F6E74
.4byte 0x65787420
.4byte 0x6D616E67
.4byte 0x6C656421
.4byte 0x0A000000
.4byte 0x28646F43
.4byte 0x6F766572
.4byte 0x43616C6C
.4byte 0x6261636B
.4byte 0x29204572
.4byte 0x726F7220
.4byte 0x2D20636F
.4byte 0x6E746578
.4byte 0x74206D61
.4byte 0x6E676C65
.4byte 0x64210A00
.global "@3832"
"@3832":
.4byte 0x28445644
.4byte 0x4C6F7746
.4byte 0x696E6973
.4byte 0x68292045
.4byte 0x72726F72
.4byte 0x3A20494F
.4byte 0x535F436C
.4byte 0x6F736520
.4byte 0x6661696C
.4byte 0x65640A00
.4byte 0x49504343
.4byte 0x6C74496E
.4byte 0x69742072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x28646472
.4byte 0x416C6C6F
.4byte 0x63416C69
.4byte 0x676E6564
.4byte 0x33322920
.4byte 0x4E6F7420
.4byte 0x656E6F75
.4byte 0x67682073
.4byte 0x70616365
.4byte 0x20746F20
.4byte 0x616C6C6F
.4byte 0x63617465
.4byte 0x20256420
.4byte 0x62797465
.4byte 0x730A0000
.4byte 0x416C6C6F
.4byte 0x63617469
.4byte 0x6F6E206F
.4byte 0x66206469
.4byte 0x436F6D6D
.4byte 0x616E6420
.4byte 0x626C6F63
.4byte 0x6B732066
.4byte 0x61696C65
.4byte 0x640A0000
.4byte 0x416C6C6F
.4byte 0x63617469
.4byte 0x6F6E206F
.4byte 0x66207061
.4byte 0x74684275
.4byte 0x66206661
.4byte 0x696C6564
.4byte 0x0A000000
.4byte 0x28445644
.4byte 0x4C6F7749
.4byte 0x6E697429
.4byte 0x20457272
.4byte 0x6F723A20
.4byte 0x494F535F
.4byte 0x4F70656E
.4byte 0x20666169
.4byte 0x6C656420
.4byte 0x2D207061
.4byte 0x74686E61
.4byte 0x6D652027
.4byte 0x2F646576
.4byte 0x2F646927
.4byte 0x20646F65
.4byte 0x73206E6F
.4byte 0x74206578
.4byte 0x6973740A
.4byte 0
.4byte 0x28445644
.4byte 0x4C6F7749
.4byte 0x6E697429
.4byte 0x20457272
.4byte 0x6F723A20
.4byte 0x494F535F
.4byte 0x4F70656E
.4byte 0x20666169
.4byte 0x6C656420
.4byte 0x2D206361
.4byte 0x6C6C696E
.4byte 0x67207468
.4byte 0x72656164
.4byte 0x206C6163
.4byte 0x6B732070
.4byte 0x65726D69
.4byte 0x7373696F
.4byte 0x6E0A0000
.4byte 0x28445644
.4byte 0x4C6F7749
.4byte 0x6E697429
.4byte 0x20457272
.4byte 0x6F723A20
.4byte 0x494F535F
.4byte 0x4F70656E
.4byte 0x20666169
.4byte 0x6C656420
.4byte 0x2D20636F
.4byte 0x6E6E6563
.4byte 0x74696F6E
.4byte 0x206C696D
.4byte 0x69742068
.4byte 0x61732062
.4byte 0x65656E20
.4byte 0x72656163
.4byte 0x6865640A
.4byte 0
.4byte 0x28445644
.4byte 0x4C6F7749
.4byte 0x6E697429
.4byte 0x20494F53
.4byte 0x5F4F7065
.4byte 0x6E206661
.4byte 0x696C6564
.4byte 0x2C206572
.4byte 0x726F7263
.4byte 0x6F646520
.4byte 0x3D202564
.4byte 0x0A000000
.4byte 0
.4byte 0x286E6577
.4byte 0x436F6E74
.4byte 0x65787429
.4byte 0x20455252
.4byte 0x4F523A20
.4byte 0x66726565
.4byte 0x44766443
.4byte 0x6F6E7465
.4byte 0x78742E69
.4byte 0x6E557365
.4byte 0x20282325
.4byte 0x64292069
.4byte 0x73207472
.4byte 0x75650A00
.4byte 0x286E6577
.4byte 0x436F6E74
.4byte 0x65787429
.4byte 0x204E6F77
.4byte 0x20737069
.4byte 0x6E6E696E
.4byte 0x6720696E
.4byte 0x20696E66
.4byte 0x696E6974
.4byte 0x65206C6F
.4byte 0x6F700A00
.4byte 0
.4byte 0x286E6577
.4byte 0x436F6E74
.4byte 0x65787429
.4byte 0x20536F6D
.4byte 0x65746869
.4byte 0x6E67206F
.4byte 0x76657277
.4byte 0x726F7465
.4byte 0x20746865
.4byte 0x20636F6E
.4byte 0x74657874
.4byte 0x206D6167
.4byte 0x6963202D
.4byte 0x20737069
.4byte 0x6E6E696E
.4byte 0x67200A00
.4byte 0x40404040
.4byte 0x40402057
.4byte 0x41524E49
.4byte 0x4E47202D
.4byte 0x2043616C
.4byte 0x6C696E67
.4byte 0x20445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x69736B49
.4byte 0x64207769
.4byte 0x7468204E
.4byte 0x554C4C20
.4byte 0x7074720A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x69736B49
.4byte 0x44292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x28445644
.4byte 0x4C6F774F
.4byte 0x70656E50
.4byte 0x61727469
.4byte 0x74696F6E
.4byte 0x29206554
.4byte 0x69636B65
.4byte 0x74206D65
.4byte 0x6D6F7279
.4byte 0x20697320
.4byte 0x756E616C
.4byte 0x69676E65
.4byte 0x640A0000
.4byte 0
.4byte 0x28445644
.4byte 0x4C6F774F
.4byte 0x70656E50
.4byte 0x61727469
.4byte 0x74696F6E
.4byte 0x29206365
.4byte 0x72746966
.4byte 0x69636174
.4byte 0x6573206D
.4byte 0x656D6F72
.4byte 0x79206973
.4byte 0x20756E61
.4byte 0x6C69676E
.4byte 0x65640A00
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F774F
.4byte 0x70656E50
.4byte 0x61727469
.4byte 0x74696F6E
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C76
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x4456444C
.4byte 0x6F774F70
.4byte 0x656E5061
.4byte 0x72746974
.4byte 0x696F6E57
.4byte 0x69746854
.4byte 0x6D64416E
.4byte 0x64546963
.4byte 0x6B657400
.4byte 0x28257329
.4byte 0x20655469
.4byte 0x636B6574
.4byte 0x206D656D
.4byte 0x6F727920
.4byte 0x69732075
.4byte 0x6E616C69
.4byte 0x676E6564
.4byte 0x0A000000
.4byte 0x28257329
.4byte 0x20746D64
.4byte 0x20706172
.4byte 0x616D6574
.4byte 0x65722063
.4byte 0x616E6E6F
.4byte 0x74206265
.4byte 0x204E554C
.4byte 0x4C0A0000
.4byte 0x28257329
.4byte 0x20746D64
.4byte 0x206D656D
.4byte 0x6F727920
.4byte 0x69732075
.4byte 0x6E616C69
.4byte 0x676E6564
.4byte 0x0A000000
.4byte 0x28257329
.4byte 0x20655469
.4byte 0x636B6574
.4byte 0x20706172
.4byte 0x616D6574
.4byte 0x65722063
.4byte 0x616E6E6F
.4byte 0x74206265
.4byte 0x204E554C
.4byte 0x4C0A0000
.4byte 0
.4byte 0x4456444C
.4byte 0x6F774F70
.4byte 0x656E5061
.4byte 0x72746974
.4byte 0x696F6E57
.4byte 0x69746854
.4byte 0x6D64416E
.4byte 0x64546963
.4byte 0x6B657456
.4byte 0x69657700
.4byte 0x28257329
.4byte 0x20655469
.4byte 0x636B6574
.4byte 0x56696577
.4byte 0x20706172
.4byte 0x616D6574
.4byte 0x65722063
.4byte 0x616E6E6F
.4byte 0x74206265
.4byte 0x204E554C
.4byte 0x4C0A0000
.4byte 0x28257329
.4byte 0x20655469
.4byte 0x636B6574
.4byte 0x56696577
.4byte 0x206D656D
.4byte 0x6F727920
.4byte 0x69732075
.4byte 0x6E616C69
.4byte 0x676E6564
.4byte 0x0A000000
.4byte 0x4456444C
.4byte 0x6F774765
.4byte 0x744E6F44
.4byte 0x69736342
.4byte 0x75666665
.4byte 0x7253697A
.4byte 0x65730000
.4byte 0x28257329
.4byte 0x20457272
.4byte 0x6F723A20
.4byte 0x4E554C4C
.4byte 0x20706F69
.4byte 0x6E746572
.4byte 0x20617267
.4byte 0x756D656E
.4byte 0x740A0000
.4byte 0x28257329
.4byte 0x206E756D
.4byte 0x546D6442
.4byte 0x79746573
.4byte 0x206D656D
.4byte 0x6F727920
.4byte 0x69732075
.4byte 0x6E616C69
.4byte 0x676E6564
.4byte 0x0A000000
.4byte 0x28257329
.4byte 0x20636572
.4byte 0x74696669
.4byte 0x63617465
.4byte 0x73206D65
.4byte 0x6D6F7279
.4byte 0x20697320
.4byte 0x756E616C
.4byte 0x69676E65
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28257329
.4byte 0x20494F53
.4byte 0x5F496F63
.4byte 0x746C7641
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x4456444C
.4byte 0x6F774765
.4byte 0x744E6F44
.4byte 0x6973634F
.4byte 0x70656E50
.4byte 0x61727469
.4byte 0x74696F6E
.4byte 0x50617261
.4byte 0x6D730000
.4byte 0x28257329
.4byte 0x20706F69
.4byte 0x6E746572
.4byte 0x20617267
.4byte 0x756D656E
.4byte 0x74206973
.4byte 0x20756E61
.4byte 0x6C69676E
.4byte 0x65640A00
.4byte 0x4456444C
.4byte 0x6F774E6F
.4byte 0x44697363
.4byte 0x4F70656E
.4byte 0x50617274
.4byte 0x6974696F
.4byte 0x6E000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7743
.4byte 0x6C6F7365
.4byte 0x50617274
.4byte 0x6974696F
.4byte 0x6E292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7755
.4byte 0x6E656E63
.4byte 0x72797074
.4byte 0x65645265
.4byte 0x61642920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C417379
.4byte 0x6E632072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7753
.4byte 0x746F704D
.4byte 0x6F746F72
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7757
.4byte 0x61697446
.4byte 0x6F72436F
.4byte 0x76657243
.4byte 0x6C6F7365
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7749
.4byte 0x6E717569
.4byte 0x72792920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C417379
.4byte 0x6E632072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65717565
.4byte 0x73744572
.4byte 0x726F7229
.4byte 0x20494F53
.4byte 0x5F496F63
.4byte 0x746C4173
.4byte 0x796E6320
.4byte 0x72657475
.4byte 0x726E6564
.4byte 0x20657272
.4byte 0x6F723A20
.4byte 0x25640A00
.4byte 0x28445644
.4byte 0x4C6F7753
.4byte 0x65745370
.4byte 0x696E7570
.4byte 0x466C6167
.4byte 0x293A2053
.4byte 0x796E6368
.4byte 0x2066756E
.4byte 0x6374696F
.4byte 0x6E732063
.4byte 0x616E2774
.4byte 0x20626520
.4byte 0x63616C6C
.4byte 0x65642069
.4byte 0x6E206361
.4byte 0x6C6C6261
.4byte 0x636B730A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F774E
.4byte 0x6F746966
.4byte 0x79526573
.4byte 0x65742920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C417379
.4byte 0x6E632072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65736574
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7741
.4byte 0x7564696F
.4byte 0x42756666
.4byte 0x6572436F
.4byte 0x6E666967
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x28445644
.4byte 0x4C6F7747
.4byte 0x6574436F
.4byte 0x76657253
.4byte 0x74617475
.4byte 0x73293A20
.4byte 0x53796E63
.4byte 0x68206675
.4byte 0x6E637469
.4byte 0x6F6E7320
.4byte 0x63616E27
.4byte 0x74206265
.4byte 0x2063616C
.4byte 0x6C656420
.4byte 0x696E2063
.4byte 0x616C6C62
.4byte 0x61636B73
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7747
.4byte 0x6574436F
.4byte 0x76657253
.4byte 0x74617475
.4byte 0x73292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x56442920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C417379
.4byte 0x6E632072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x5644436F
.4byte 0x6E666967
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x7664436F
.4byte 0x70797269
.4byte 0x67687429
.4byte 0x20494F53
.4byte 0x5F496F63
.4byte 0x746C4173
.4byte 0x796E6320
.4byte 0x72657475
.4byte 0x726E6564
.4byte 0x20657272
.4byte 0x6F723A20
.4byte 0x25640A00
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x76645068
.4byte 0x79736963
.4byte 0x616C2920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C417379
.4byte 0x6E632072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x76644469
.4byte 0x73634B65
.4byte 0x79292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65706F72
.4byte 0x744B6579
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F774F
.4byte 0x66667365
.4byte 0x74292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7753
.4byte 0x746F704C
.4byte 0x61736572
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616444
.4byte 0x69736B42
.4byte 0x63612920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C417379
.4byte 0x6E632072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7753
.4byte 0x65724D65
.4byte 0x6173436F
.4byte 0x6E74726F
.4byte 0x6C292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65717565
.4byte 0x73744469
.4byte 0x73635374
.4byte 0x61747573
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65717565
.4byte 0x73745265
.4byte 0x7472794E
.4byte 0x756D6265
.4byte 0x72292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7753
.4byte 0x65744D61
.4byte 0x78526F74
.4byte 0x6174696F
.4byte 0x6E292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616429
.4byte 0x3A204552
.4byte 0x524F5220
.4byte 0x2D206465
.4byte 0x73744164
.4byte 0x64722062
.4byte 0x75666665
.4byte 0x72206973
.4byte 0x206E6F74
.4byte 0x20333220
.4byte 0x62797465
.4byte 0x20616C69
.4byte 0x676E6564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7752
.4byte 0x65616429
.4byte 0x20494F53
.4byte 0x5F496F63
.4byte 0x746C4173
.4byte 0x796E6320
.4byte 0x72657475
.4byte 0x726E6564
.4byte 0x20657272
.4byte 0x6F723A20
.4byte 0x25640A00
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7753
.4byte 0x65656B29
.4byte 0x20494F53
.4byte 0x5F496F63
.4byte 0x746C4173
.4byte 0x796E6320
.4byte 0x72657475
.4byte 0x726E6564
.4byte 0x20657272
.4byte 0x6F723A20
.4byte 0x25640A00
.4byte 0x28445644
.4byte 0x4C6F7747
.4byte 0x6574436F
.4byte 0x76657252
.4byte 0x6567293A
.4byte 0x2053796E
.4byte 0x63682066
.4byte 0x756E6374
.4byte 0x696F6E73
.4byte 0x2063616E
.4byte 0x27742062
.4byte 0x65206361
.4byte 0x6C6C6564
.4byte 0x20696E20
.4byte 0x63616C6C
.4byte 0x6261636B
.4byte 0x730A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7747
.4byte 0x6574436F
.4byte 0x76657252
.4byte 0x65672920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7750
.4byte 0x72657061
.4byte 0x7265436F
.4byte 0x76657252
.4byte 0x65677369
.4byte 0x74657229
.4byte 0x20494F53
.4byte 0x5F496F63
.4byte 0x746C4173
.4byte 0x796E6320
.4byte 0x72657475
.4byte 0x726E6564
.4byte 0x20657272
.4byte 0x6F723A20
.4byte 0x25640A00
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7750
.4byte 0x72657061
.4byte 0x72655374
.4byte 0x61747573
.4byte 0x52656773
.4byte 0x69746572
.4byte 0x2920494F
.4byte 0x535F496F
.4byte 0x63746C41
.4byte 0x73796E63
.4byte 0x20726574
.4byte 0x75726E65
.4byte 0x64206572
.4byte 0x726F723A
.4byte 0x2025640A
.4byte 0
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7750
.4byte 0x72657061
.4byte 0x7265436F
.4byte 0x6E74726F
.4byte 0x6C526567
.4byte 0x69737465
.4byte 0x72292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7743
.4byte 0x6C656172
.4byte 0x436F7665
.4byte 0x72496E74
.4byte 0x65727275
.4byte 0x70742920
.4byte 0x494F535F
.4byte 0x496F6374
.4byte 0x6C417379
.4byte 0x6E632072
.4byte 0x65747572
.4byte 0x6E656420
.4byte 0x6572726F
.4byte 0x723A2025
.4byte 0x640A0000
.4byte 0x40404020
.4byte 0x28445644
.4byte 0x4C6F7745
.4byte 0x6E61626C
.4byte 0x65447664
.4byte 0x56696465
.4byte 0x6F292049
.4byte 0x4F535F49
.4byte 0x6F63746C
.4byte 0x4173796E
.4byte 0x63207265
.4byte 0x7475726E
.4byte 0x65642065
.4byte 0x72726F72
.4byte 0x3A202564
.4byte 0x0A000000
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global dvdContexts
dvdContexts:
.skip 0x80
.global diRegValCache
diRegValCache:
.skip 0x20
.global registerBuf
registerBuf:
.skip 0x20
.global ioVec
ioVec:
.skip 0xC0
.global statusRegister
statusRegister:
.skip 0x20
.global controlRegister
controlRegister:
.skip 0x20
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global DiFD
DiFD:
.4byte 0xFFFFFFFF
.4byte 0
.global "@3856"
"@3856":
.4byte 0x2F646576
.4byte 0x2F646900
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global requestInProgress
requestInProgress:
.skip 0x1
.global callbackInProgress
callbackInProgress:
.skip 0x3
.global freeCommandBuf
freeCommandBuf:
.skip 0x4
.global freeDvdContext
freeDvdContext:
.skip 0x4
.global dvdContextsInited
dvdContextsInited:
.skip 0x1
.global DVDLowInitCalled
DVDLowInitCalled:
.skip 0x3
.global spinUpValue
spinUpValue:
.skip 0x4
.global readLength
readLength:
.skip 0x4
.global pathBuf
pathBuf:
.skip 0x4
.global diCommand
diCommand:
.skip 0x4
.global breakRequested
breakRequested:
.skip 0x8