prime/asm/Dolphin/dvd/dvdfs.s

734 lines
32 KiB
ArmAsm

.include "macros.inc"
.section .sbss
.balign 8
.global lbl_805A97B0
lbl_805A97B0:
.skip 0x4
.global lbl_805A97B4
lbl_805A97B4:
.skip 0x4
.global lbl_805A97B8
lbl_805A97B8:
.skip 0x4
.global lbl_805A97BC
lbl_805A97BC:
.skip 0x4
.global lbl_805A97C0
lbl_805A97C0:
.skip 0x4
.global __DVDLongFileNameFlag
__DVDLongFileNameFlag:
.skip 0x4
.global __DVDThreadQueue
__DVDThreadQueue:
.skip 0x8
.section .sdata
.balign 8
.global lbl_805A8A90
lbl_805A8A90:
# ROM: 0x3F6430
.asciz "dvdfs.c"
.section .data
.balign 8
lbl_803EFB90:
.asciz "DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): specified directory or file (%s) doesn't match standard 8.3 format. This is a temporary restriction and will be removed soon\n"
.balign 4
lbl_803EFC58:
.asciz "Warning: DVDOpen(): file '%s' was not found under %s.\n"
.balign 4
lbl_803EFC90:
# ROM: 0x3ECC90
.asciz "DVDReadAsync(): specified area is out of the file "
.asciz "DVDRead(): specified area is out of the file "
.balign 4
.asciz "DVDSeek(): offset is out of the file "
.balign 4
.asciz "Warning: DVDOpenDir(): file '%s' was not found under %s.\n"
.balign 4
.asciz "DVDPrepareStreamAsync(): Specified start address (filestart(0x%x) + offset(0x%x)) is not 32KB aligned"
.balign 4
.asciz "DVDPrepareStreamAsync(): Specified length (0x%x) is not a multiple of 32768(32*1024)"
.balign 4
.asciz "DVDPrepareStreamAsync(): The area specified (offset(0x%x), length(0x%x)) is out of the file"
.asciz "DVDPrepareStream(): Specified start address (filestart(0x%x) + offset(0x%x)) is not 32KB aligned"
.balign 4
.asciz "DVDPrepareStream(): Specified length (0x%x) is not a multiple of 32768(32*1024)"
.asciz "DVDPrepareStream(): The area specified (offset(0x%x), length(0x%x)) is out of the file"
.balign 4
.section .text, "ax"
.global __DVDFSInit
__DVDFSInit:
/* 803712E4 0036E244 3C 60 80 00 */ lis r3, 0x80000038@ha
/* 803712E8 0036E248 90 6D AB F0 */ stw r3, lbl_805A97B0@sda21(r13)
/* 803712EC 0036E24C 80 03 00 38 */ lwz r0, 0x80000038@l(r3)
/* 803712F0 0036E250 90 0D AB F4 */ stw r0, lbl_805A97B4@sda21(r13)
/* 803712F4 0036E254 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803712F8 0036E258 28 03 00 00 */ cmplwi r3, 0
/* 803712FC 0036E25C 4D 82 00 20 */ beqlr
/* 80371300 0036E260 80 03 00 08 */ lwz r0, 8(r3)
/* 80371304 0036E264 90 0D AB FC */ stw r0, lbl_805A97BC@sda21(r13)
/* 80371308 0036E268 80 0D AB FC */ lwz r0, lbl_805A97BC@sda21(r13)
/* 8037130C 0036E26C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80371310 0036E270 7C 03 02 14 */ add r0, r3, r0
/* 80371314 0036E274 90 0D AB F8 */ stw r0, lbl_805A97B8@sda21(r13)
/* 80371318 0036E278 4E 80 00 20 */ blr
.global DVDConvertPathToEntrynum
DVDConvertPathToEntrynum:
/* 8037131C 0036E27C 7C 08 02 A6 */ mflr r0
/* 80371320 0036E280 90 01 00 04 */ stw r0, 4(r1)
/* 80371324 0036E284 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 80371328 0036E288 BE 81 00 18 */ stmw r20, 0x18(r1)
/* 8037132C 0036E28C 7C 77 1B 78 */ mr r23, r3
/* 80371330 0036E290 3C 60 80 3F */ lis r3, lbl_803EFB90@ha
/* 80371334 0036E294 3B 37 00 00 */ addi r25, r23, 0
/* 80371338 0036E298 3B E3 FB 90 */ addi r31, r3, lbl_803EFB90@l
/* 8037133C 0036E29C 83 4D AC 00 */ lwz r26, lbl_805A97C0@sda21(r13)
lbl_80371340:
/* 80371340 0036E2A0 88 77 00 00 */ lbz r3, 0(r23)
/* 80371344 0036E2A4 7C 60 07 75 */ extsb. r0, r3
/* 80371348 0036E2A8 40 82 00 0C */ bne lbl_80371354
/* 8037134C 0036E2AC 7F 43 D3 78 */ mr r3, r26
/* 80371350 0036E2B0 48 00 02 AC */ b lbl_803715FC
lbl_80371354:
/* 80371354 0036E2B4 7C 60 07 74 */ extsb r0, r3
/* 80371358 0036E2B8 2C 00 00 2F */ cmpwi r0, 0x2f
/* 8037135C 0036E2BC 40 82 00 10 */ bne lbl_8037136C
/* 80371360 0036E2C0 3B 40 00 00 */ li r26, 0
/* 80371364 0036E2C4 3A F7 00 01 */ addi r23, r23, 1
/* 80371368 0036E2C8 4B FF FF D8 */ b lbl_80371340
lbl_8037136C:
/* 8037136C 0036E2CC 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80371370 0036E2D0 40 82 00 74 */ bne lbl_803713E4
/* 80371374 0036E2D4 88 77 00 01 */ lbz r3, 1(r23)
/* 80371378 0036E2D8 7C 60 07 74 */ extsb r0, r3
/* 8037137C 0036E2DC 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80371380 0036E2E0 40 82 00 44 */ bne lbl_803713C4
/* 80371384 0036E2E4 88 77 00 02 */ lbz r3, 2(r23)
/* 80371388 0036E2E8 2C 03 00 2F */ cmpwi r3, 0x2f
/* 8037138C 0036E2EC 40 82 00 1C */ bne lbl_803713A8
/* 80371390 0036E2F0 1C 7A 00 0C */ mulli r3, r26, 0xc
/* 80371394 0036E2F4 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 80371398 0036E2F8 38 03 00 04 */ addi r0, r3, 4
/* 8037139C 0036E2FC 7F 44 00 2E */ lwzx r26, r4, r0
/* 803713A0 0036E300 3A F7 00 03 */ addi r23, r23, 3
/* 803713A4 0036E304 4B FF FF 9C */ b lbl_80371340
lbl_803713A8:
/* 803713A8 0036E308 7C 60 07 75 */ extsb. r0, r3
/* 803713AC 0036E30C 40 82 00 38 */ bne lbl_803713E4
/* 803713B0 0036E310 1C 1A 00 0C */ mulli r0, r26, 0xc
/* 803713B4 0036E314 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803713B8 0036E318 7C 63 02 14 */ add r3, r3, r0
/* 803713BC 0036E31C 80 63 00 04 */ lwz r3, 4(r3)
/* 803713C0 0036E320 48 00 02 3C */ b lbl_803715FC
lbl_803713C4:
/* 803713C4 0036E324 2C 00 00 2F */ cmpwi r0, 0x2f
/* 803713C8 0036E328 40 82 00 0C */ bne lbl_803713D4
/* 803713CC 0036E32C 3A F7 00 02 */ addi r23, r23, 2
/* 803713D0 0036E330 4B FF FF 70 */ b lbl_80371340
lbl_803713D4:
/* 803713D4 0036E334 7C 60 07 75 */ extsb. r0, r3
/* 803713D8 0036E338 40 82 00 0C */ bne lbl_803713E4
/* 803713DC 0036E33C 7F 43 D3 78 */ mr r3, r26
/* 803713E0 0036E340 48 00 02 1C */ b lbl_803715FC
lbl_803713E4:
/* 803713E4 0036E344 80 0D AC 04 */ lwz r0, __DVDLongFileNameFlag@sda21(r13)
/* 803713E8 0036E348 28 00 00 00 */ cmplwi r0, 0
/* 803713EC 0036E34C 40 82 00 AC */ bne lbl_80371498
/* 803713F0 0036E350 3B 97 00 00 */ addi r28, r23, 0
/* 803713F4 0036E354 38 A0 00 00 */ li r5, 0
/* 803713F8 0036E358 38 80 00 00 */ li r4, 0
/* 803713FC 0036E35C 48 00 00 48 */ b lbl_80371444
lbl_80371400:
/* 80371400 0036E360 7C 60 07 74 */ extsb r0, r3
/* 80371404 0036E364 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80371408 0036E368 40 82 00 2C */ bne lbl_80371434
/* 8037140C 0036E36C 7C 17 E0 50 */ subf r0, r23, r28
/* 80371410 0036E370 2C 00 00 08 */ cmpwi r0, 8
/* 80371414 0036E374 41 81 00 0C */ bgt lbl_80371420
/* 80371418 0036E378 2C 05 00 01 */ cmpwi r5, 1
/* 8037141C 0036E37C 40 82 00 0C */ bne lbl_80371428
lbl_80371420:
/* 80371420 0036E380 38 80 00 01 */ li r4, 1
/* 80371424 0036E384 48 00 00 38 */ b lbl_8037145C
lbl_80371428:
/* 80371428 0036E388 3B 1C 00 01 */ addi r24, r28, 1
/* 8037142C 0036E38C 38 A0 00 01 */ li r5, 1
/* 80371430 0036E390 48 00 00 10 */ b lbl_80371440
lbl_80371434:
/* 80371434 0036E394 2C 00 00 20 */ cmpwi r0, 0x20
/* 80371438 0036E398 40 82 00 08 */ bne lbl_80371440
/* 8037143C 0036E39C 38 80 00 01 */ li r4, 1
lbl_80371440:
/* 80371440 0036E3A0 3B 9C 00 01 */ addi r28, r28, 1
lbl_80371444:
/* 80371444 0036E3A4 88 7C 00 00 */ lbz r3, 0(r28)
/* 80371448 0036E3A8 7C 60 07 75 */ extsb. r0, r3
/* 8037144C 0036E3AC 41 82 00 10 */ beq lbl_8037145C
/* 80371450 0036E3B0 7C 60 07 74 */ extsb r0, r3
/* 80371454 0036E3B4 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80371458 0036E3B8 40 82 FF A8 */ bne lbl_80371400
lbl_8037145C:
/* 8037145C 0036E3BC 2C 05 00 01 */ cmpwi r5, 1
/* 80371460 0036E3C0 40 82 00 14 */ bne lbl_80371474
/* 80371464 0036E3C4 7C 18 E0 50 */ subf r0, r24, r28
/* 80371468 0036E3C8 2C 00 00 03 */ cmpwi r0, 3
/* 8037146C 0036E3CC 40 81 00 08 */ ble lbl_80371474
/* 80371470 0036E3D0 38 80 00 01 */ li r4, 1
lbl_80371474:
/* 80371474 0036E3D4 2C 04 00 00 */ cmpwi r4, 0
/* 80371478 0036E3D8 41 82 00 44 */ beq lbl_803714BC
/* 8037147C 0036E3DC 38 BF 00 00 */ addi r5, r31, 0
/* 80371480 0036E3E0 4C C6 31 82 */ crclr 6
/* 80371484 0036E3E4 38 D9 00 00 */ addi r6, r25, 0
/* 80371488 0036E3E8 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 8037148C 0036E3EC 38 80 01 7B */ li r4, 0x17b
/* 80371490 0036E3F0 48 00 E5 9D */ bl OSPanic
/* 80371494 0036E3F4 48 00 00 28 */ b lbl_803714BC
lbl_80371498:
/* 80371498 0036E3F8 7E FC BB 78 */ mr r28, r23
/* 8037149C 0036E3FC 48 00 00 08 */ b lbl_803714A4
lbl_803714A0:
/* 803714A0 0036E400 3B 9C 00 01 */ addi r28, r28, 1
lbl_803714A4:
/* 803714A4 0036E404 88 7C 00 00 */ lbz r3, 0(r28)
/* 803714A8 0036E408 7C 60 07 75 */ extsb. r0, r3
/* 803714AC 0036E40C 41 82 00 10 */ beq lbl_803714BC
/* 803714B0 0036E410 7C 60 07 74 */ extsb r0, r3
/* 803714B4 0036E414 2C 00 00 2F */ cmpwi r0, 0x2f
/* 803714B8 0036E418 40 82 FF E8 */ bne lbl_803714A0
lbl_803714BC:
/* 803714BC 0036E41C 88 1C 00 00 */ lbz r0, 0(r28)
/* 803714C0 0036E420 7C 00 07 75 */ extsb. r0, r0
/* 803714C4 0036E424 40 82 00 0C */ bne lbl_803714D0
/* 803714C8 0036E428 3B C0 00 00 */ li r30, 0
/* 803714CC 0036E42C 48 00 00 08 */ b lbl_803714D4
lbl_803714D0:
/* 803714D0 0036E430 3B C0 00 01 */ li r30, 1
lbl_803714D4:
/* 803714D4 0036E434 1F BA 00 0C */ mulli r29, r26, 0xc
/* 803714D8 0036E438 7F 77 E0 50 */ subf r27, r23, r28
/* 803714DC 0036E43C 3B 5A 00 01 */ addi r26, r26, 1
/* 803714E0 0036E440 48 00 00 E4 */ b lbl_803715C4
lbl_803714E4:
/* 803714E4 0036E444 1F 9A 00 0C */ mulli r28, r26, 0xc
/* 803714E8 0036E448 7C 83 E0 2E */ lwzx r4, r3, r28
/* 803714EC 0036E44C 54 80 00 0F */ rlwinm. r0, r4, 0, 0, 7
/* 803714F0 0036E450 40 82 00 0C */ bne lbl_803714FC
/* 803714F4 0036E454 38 00 00 00 */ li r0, 0
/* 803714F8 0036E458 48 00 00 08 */ b lbl_80371500
lbl_803714FC:
/* 803714FC 0036E45C 38 00 00 01 */ li r0, 1
lbl_80371500:
/* 80371500 0036E460 2C 00 00 00 */ cmpwi r0, 0
/* 80371504 0036E464 40 82 00 0C */ bne lbl_80371510
/* 80371508 0036E468 2C 1E 00 01 */ cmpwi r30, 1
/* 8037150C 0036E46C 41 82 00 80 */ beq lbl_8037158C
lbl_80371510:
/* 80371510 0036E470 80 6D AB F8 */ lwz r3, lbl_805A97B8@sda21(r13)
/* 80371514 0036E474 54 80 02 3E */ clrlwi r0, r4, 8
/* 80371518 0036E478 3A B7 00 00 */ addi r21, r23, 0
/* 8037151C 0036E47C 7E 83 02 14 */ add r20, r3, r0
/* 80371520 0036E480 48 00 00 38 */ b lbl_80371558
lbl_80371524:
/* 80371524 0036E484 88 14 00 00 */ lbz r0, 0(r20)
/* 80371528 0036E488 3A 94 00 01 */ addi r20, r20, 1
/* 8037152C 0036E48C 7C 03 07 74 */ extsb r3, r0
/* 80371530 0036E490 48 01 B9 F5 */ bl tolower
/* 80371534 0036E494 88 15 00 00 */ lbz r0, 0(r21)
/* 80371538 0036E498 3A C3 00 00 */ addi r22, r3, 0
/* 8037153C 0036E49C 3A B5 00 01 */ addi r21, r21, 1
/* 80371540 0036E4A0 7C 03 07 74 */ extsb r3, r0
/* 80371544 0036E4A4 48 01 B9 E1 */ bl tolower
/* 80371548 0036E4A8 7C 03 B0 00 */ cmpw r3, r22
/* 8037154C 0036E4AC 41 82 00 0C */ beq lbl_80371558
/* 80371550 0036E4B0 38 00 00 00 */ li r0, 0
/* 80371554 0036E4B4 48 00 00 30 */ b lbl_80371584
lbl_80371558:
/* 80371558 0036E4B8 88 14 00 00 */ lbz r0, 0(r20)
/* 8037155C 0036E4BC 7C 00 07 75 */ extsb. r0, r0
/* 80371560 0036E4C0 40 82 FF C4 */ bne lbl_80371524
/* 80371564 0036E4C4 88 75 00 00 */ lbz r3, 0(r21)
/* 80371568 0036E4C8 2C 03 00 2F */ cmpwi r3, 0x2f
/* 8037156C 0036E4CC 41 82 00 0C */ beq lbl_80371578
/* 80371570 0036E4D0 7C 60 07 75 */ extsb. r0, r3
/* 80371574 0036E4D4 40 82 00 0C */ bne lbl_80371580
lbl_80371578:
/* 80371578 0036E4D8 38 00 00 01 */ li r0, 1
/* 8037157C 0036E4DC 48 00 00 08 */ b lbl_80371584
lbl_80371580:
/* 80371580 0036E4E0 38 00 00 00 */ li r0, 0
lbl_80371584:
/* 80371584 0036E4E4 2C 00 00 01 */ cmpwi r0, 1
/* 80371588 0036E4E8 41 82 00 58 */ beq lbl_803715E0
lbl_8037158C:
/* 8037158C 0036E4EC 80 0D AB F4 */ lwz r0, lbl_805A97B4@sda21(r13)
/* 80371590 0036E4F0 7C 60 E2 14 */ add r3, r0, r28
/* 80371594 0036E4F4 80 03 00 00 */ lwz r0, 0(r3)
/* 80371598 0036E4F8 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 8037159C 0036E4FC 40 82 00 0C */ bne lbl_803715A8
/* 803715A0 0036E500 38 00 00 00 */ li r0, 0
/* 803715A4 0036E504 48 00 00 08 */ b lbl_803715AC
lbl_803715A8:
/* 803715A8 0036E508 38 00 00 01 */ li r0, 1
lbl_803715AC:
/* 803715AC 0036E50C 2C 00 00 00 */ cmpwi r0, 0
/* 803715B0 0036E510 41 82 00 0C */ beq lbl_803715BC
/* 803715B4 0036E514 80 03 00 08 */ lwz r0, 8(r3)
/* 803715B8 0036E518 48 00 00 08 */ b lbl_803715C0
lbl_803715BC:
/* 803715BC 0036E51C 38 1A 00 01 */ addi r0, r26, 1
lbl_803715C0:
/* 803715C0 0036E520 7C 1A 03 78 */ mr r26, r0
lbl_803715C4:
/* 803715C4 0036E524 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803715C8 0036E528 38 03 00 08 */ addi r0, r3, 8
/* 803715CC 0036E52C 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803715D0 0036E530 7C 1A 00 40 */ cmplw r26, r0
/* 803715D4 0036E534 41 80 FF 10 */ blt lbl_803714E4
/* 803715D8 0036E538 38 60 FF FF */ li r3, -1
/* 803715DC 0036E53C 48 00 00 20 */ b lbl_803715FC
lbl_803715E0:
/* 803715E0 0036E540 2C 1E 00 00 */ cmpwi r30, 0
/* 803715E4 0036E544 40 82 00 0C */ bne lbl_803715F0
/* 803715E8 0036E548 7F 43 D3 78 */ mr r3, r26
/* 803715EC 0036E54C 48 00 00 10 */ b lbl_803715FC
lbl_803715F0:
/* 803715F0 0036E550 7E FB BA 14 */ add r23, r27, r23
/* 803715F4 0036E554 3A F7 00 01 */ addi r23, r23, 1
/* 803715F8 0036E558 4B FF FD 48 */ b lbl_80371340
lbl_803715FC:
/* 803715FC 0036E55C BA 81 00 18 */ lmw r20, 0x18(r1)
/* 80371600 0036E560 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80371604 0036E564 38 21 00 48 */ addi r1, r1, 0x48
/* 80371608 0036E568 7C 08 03 A6 */ mtlr r0
/* 8037160C 0036E56C 4E 80 00 20 */ blr
.global DVDFastOpen
DVDFastOpen:
/* 80371610 0036E570 2C 03 00 00 */ cmpwi r3, 0
/* 80371614 0036E574 41 80 00 38 */ blt lbl_8037164C
/* 80371618 0036E578 80 0D AB FC */ lwz r0, lbl_805A97BC@sda21(r13)
/* 8037161C 0036E57C 7C 03 00 40 */ cmplw r3, r0
/* 80371620 0036E580 40 80 00 2C */ bge lbl_8037164C
/* 80371624 0036E584 1C C3 00 0C */ mulli r6, r3, 0xc
/* 80371628 0036E588 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 8037162C 0036E58C 7C 03 30 2E */ lwzx r0, r3, r6
/* 80371630 0036E590 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 80371634 0036E594 40 82 00 0C */ bne lbl_80371640
/* 80371638 0036E598 38 00 00 00 */ li r0, 0
/* 8037163C 0036E59C 48 00 00 08 */ b lbl_80371644
lbl_80371640:
/* 80371640 0036E5A0 38 00 00 01 */ li r0, 1
lbl_80371644:
/* 80371644 0036E5A4 2C 00 00 00 */ cmpwi r0, 0
/* 80371648 0036E5A8 41 82 00 0C */ beq lbl_80371654
lbl_8037164C:
/* 8037164C 0036E5AC 38 60 00 00 */ li r3, 0
/* 80371650 0036E5B0 4E 80 00 20 */ blr
lbl_80371654:
/* 80371654 0036E5B4 7C 63 32 14 */ add r3, r3, r6
/* 80371658 0036E5B8 80 A3 00 04 */ lwz r5, 4(r3)
/* 8037165C 0036E5BC 38 00 00 00 */ li r0, 0
/* 80371660 0036E5C0 38 60 00 01 */ li r3, 1
/* 80371664 0036E5C4 90 A4 00 30 */ stw r5, 0x30(r4)
/* 80371668 0036E5C8 80 AD AB F4 */ lwz r5, lbl_805A97B4@sda21(r13)
/* 8037166C 0036E5CC 7C A5 32 14 */ add r5, r5, r6
/* 80371670 0036E5D0 80 A5 00 08 */ lwz r5, 8(r5)
/* 80371674 0036E5D4 90 A4 00 34 */ stw r5, 0x34(r4)
/* 80371678 0036E5D8 90 04 00 38 */ stw r0, 0x38(r4)
/* 8037167C 0036E5DC 90 04 00 0C */ stw r0, 0xc(r4)
/* 80371680 0036E5E0 4E 80 00 20 */ blr
.global DVDOpen
DVDOpen:
/* 80371684 0036E5E4 7C 08 02 A6 */ mflr r0
/* 80371688 0036E5E8 90 01 00 04 */ stw r0, 4(r1)
/* 8037168C 0036E5EC 94 21 FF 68 */ stwu r1, -0x98(r1)
/* 80371690 0036E5F0 93 E1 00 94 */ stw r31, 0x94(r1)
/* 80371694 0036E5F4 3B E4 00 00 */ addi r31, r4, 0
/* 80371698 0036E5F8 93 C1 00 90 */ stw r30, 0x90(r1)
/* 8037169C 0036E5FC 3B C3 00 00 */ addi r30, r3, 0
/* 803716A0 0036E600 4B FF FC 7D */ bl DVDConvertPathToEntrynum
/* 803716A4 0036E604 2C 03 00 00 */ cmpwi r3, 0
/* 803716A8 0036E608 40 80 00 30 */ bge lbl_803716D8
/* 803716AC 0036E60C 38 61 00 10 */ addi r3, r1, 0x10
/* 803716B0 0036E610 38 80 00 80 */ li r4, 0x80
/* 803716B4 0036E614 48 00 02 1D */ bl DVDGetCurrentDir
/* 803716B8 0036E618 3C 60 80 3F */ lis r3, lbl_803EFC58@ha
/* 803716BC 0036E61C 4C C6 31 82 */ crclr 6
/* 803716C0 0036E620 38 63 FC 58 */ addi r3, r3, lbl_803EFC58@l
/* 803716C4 0036E624 38 9E 00 00 */ addi r4, r30, 0
/* 803716C8 0036E628 38 A1 00 10 */ addi r5, r1, 0x10
/* 803716CC 0036E62C 48 00 E2 E1 */ bl OSReport
/* 803716D0 0036E630 38 60 00 00 */ li r3, 0
/* 803716D4 0036E634 48 00 00 60 */ b lbl_80371734
lbl_803716D8:
/* 803716D8 0036E638 1C A3 00 0C */ mulli r5, r3, 0xc
/* 803716DC 0036E63C 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803716E0 0036E640 7C 03 28 2E */ lwzx r0, r3, r5
/* 803716E4 0036E644 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 803716E8 0036E648 40 82 00 0C */ bne lbl_803716F4
/* 803716EC 0036E64C 38 00 00 00 */ li r0, 0
/* 803716F0 0036E650 48 00 00 08 */ b lbl_803716F8
lbl_803716F4:
/* 803716F4 0036E654 38 00 00 01 */ li r0, 1
lbl_803716F8:
/* 803716F8 0036E658 2C 00 00 00 */ cmpwi r0, 0
/* 803716FC 0036E65C 41 82 00 0C */ beq lbl_80371708
/* 80371700 0036E660 38 60 00 00 */ li r3, 0
/* 80371704 0036E664 48 00 00 30 */ b lbl_80371734
lbl_80371708:
/* 80371708 0036E668 7C 63 2A 14 */ add r3, r3, r5
/* 8037170C 0036E66C 80 83 00 04 */ lwz r4, 4(r3)
/* 80371710 0036E670 38 00 00 00 */ li r0, 0
/* 80371714 0036E674 38 60 00 01 */ li r3, 1
/* 80371718 0036E678 90 9F 00 30 */ stw r4, 0x30(r31)
/* 8037171C 0036E67C 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 80371720 0036E680 7C 84 2A 14 */ add r4, r4, r5
/* 80371724 0036E684 80 84 00 08 */ lwz r4, 8(r4)
/* 80371728 0036E688 90 9F 00 34 */ stw r4, 0x34(r31)
/* 8037172C 0036E68C 90 1F 00 38 */ stw r0, 0x38(r31)
/* 80371730 0036E690 90 1F 00 0C */ stw r0, 0xc(r31)
lbl_80371734:
/* 80371734 0036E694 80 01 00 9C */ lwz r0, 0x9c(r1)
/* 80371738 0036E698 83 E1 00 94 */ lwz r31, 0x94(r1)
/* 8037173C 0036E69C 83 C1 00 90 */ lwz r30, 0x90(r1)
/* 80371740 0036E6A0 38 21 00 98 */ addi r1, r1, 0x98
/* 80371744 0036E6A4 7C 08 03 A6 */ mtlr r0
/* 80371748 0036E6A8 4E 80 00 20 */ blr
.global DVDClose
DVDClose:
/* 8037174C 0036E6AC 7C 08 02 A6 */ mflr r0
/* 80371750 0036E6B0 90 01 00 04 */ stw r0, 4(r1)
/* 80371754 0036E6B4 94 21 FF F8 */ stwu r1, -8(r1)
/* 80371758 0036E6B8 48 00 2D 25 */ bl DVDCancel
/* 8037175C 0036E6BC 38 60 00 01 */ li r3, 1
/* 80371760 0036E6C0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80371764 0036E6C4 38 21 00 08 */ addi r1, r1, 8
/* 80371768 0036E6C8 7C 08 03 A6 */ mtlr r0
/* 8037176C 0036E6CC 4E 80 00 20 */ blr
.global entryToPath
entryToPath:
/* 80371770 0036E6D0 7C 08 02 A6 */ mflr r0
/* 80371774 0036E6D4 28 03 00 00 */ cmplwi r3, 0
/* 80371778 0036E6D8 90 01 00 04 */ stw r0, 4(r1)
/* 8037177C 0036E6DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80371780 0036E6E0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80371784 0036E6E4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80371788 0036E6E8 3B C5 00 00 */ addi r30, r5, 0
/* 8037178C 0036E6EC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80371790 0036E6F0 3B A4 00 00 */ addi r29, r4, 0
/* 80371794 0036E6F4 93 81 00 20 */ stw r28, 0x20(r1)
/* 80371798 0036E6F8 40 82 00 0C */ bne lbl_803717A4
/* 8037179C 0036E6FC 38 60 00 00 */ li r3, 0
/* 803717A0 0036E700 48 00 01 10 */ b lbl_803718B0
lbl_803717A4:
/* 803717A4 0036E704 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 803717A8 0036E708 1C 63 00 0C */ mulli r3, r3, 0xc
/* 803717AC 0036E70C 80 CD AB F8 */ lwz r6, lbl_805A97B8@sda21(r13)
/* 803717B0 0036E710 38 A4 00 04 */ addi r5, r4, 4
/* 803717B4 0036E714 7C 04 18 2E */ lwzx r0, r4, r3
/* 803717B8 0036E718 7C 65 18 2E */ lwzx r3, r5, r3
/* 803717BC 0036E71C 54 00 02 3E */ clrlwi r0, r0, 8
/* 803717C0 0036E720 28 03 00 00 */ cmplwi r3, 0
/* 803717C4 0036E724 7F E6 02 14 */ add r31, r6, r0
/* 803717C8 0036E728 40 82 00 0C */ bne lbl_803717D4
/* 803717CC 0036E72C 38 60 00 00 */ li r3, 0
/* 803717D0 0036E730 48 00 00 80 */ b lbl_80371850
lbl_803717D4:
/* 803717D4 0036E734 1C 63 00 0C */ mulli r3, r3, 0xc
/* 803717D8 0036E738 7C 04 18 2E */ lwzx r0, r4, r3
/* 803717DC 0036E73C 7F A4 EB 78 */ mr r4, r29
/* 803717E0 0036E740 7C 65 18 2E */ lwzx r3, r5, r3
/* 803717E4 0036E744 38 BE 00 00 */ addi r5, r30, 0
/* 803717E8 0036E748 54 00 02 3E */ clrlwi r0, r0, 8
/* 803717EC 0036E74C 7F 86 02 14 */ add r28, r6, r0
/* 803717F0 0036E750 4B FF FF 81 */ bl entryToPath
/* 803717F4 0036E754 7C 03 F0 40 */ cmplw r3, r30
/* 803717F8 0036E758 40 82 00 08 */ bne lbl_80371800
/* 803717FC 0036E75C 48 00 00 54 */ b lbl_80371850
lbl_80371800:
/* 80371800 0036E760 38 03 00 00 */ addi r0, r3, 0
/* 80371804 0036E764 38 63 00 01 */ addi r3, r3, 1
/* 80371808 0036E768 38 80 00 2F */ li r4, 0x2f
/* 8037180C 0036E76C 7C C3 F0 50 */ subf r6, r3, r30
/* 80371810 0036E770 7C 9D 01 AE */ stbx r4, r29, r0
/* 80371814 0036E774 38 86 00 00 */ addi r4, r6, 0
/* 80371818 0036E778 7C BD 1A 14 */ add r5, r29, r3
/* 8037181C 0036E77C 48 00 00 18 */ b lbl_80371834
lbl_80371820:
/* 80371820 0036E780 88 1C 00 00 */ lbz r0, 0(r28)
/* 80371824 0036E784 3B 9C 00 01 */ addi r28, r28, 1
/* 80371828 0036E788 38 84 FF FF */ addi r4, r4, -1
/* 8037182C 0036E78C 98 05 00 00 */ stb r0, 0(r5)
/* 80371830 0036E790 38 A5 00 01 */ addi r5, r5, 1
lbl_80371834:
/* 80371834 0036E794 28 04 00 00 */ cmplwi r4, 0
/* 80371838 0036E798 41 82 00 10 */ beq lbl_80371848
/* 8037183C 0036E79C 88 1C 00 00 */ lbz r0, 0(r28)
/* 80371840 0036E7A0 7C 00 07 75 */ extsb. r0, r0
/* 80371844 0036E7A4 40 82 FF DC */ bne lbl_80371820
lbl_80371848:
/* 80371848 0036E7A8 7C 04 30 50 */ subf r0, r4, r6
/* 8037184C 0036E7AC 7C 63 02 14 */ add r3, r3, r0
lbl_80371850:
/* 80371850 0036E7B0 7C 03 F0 40 */ cmplw r3, r30
/* 80371854 0036E7B4 40 82 00 08 */ bne lbl_8037185C
/* 80371858 0036E7B8 48 00 00 58 */ b lbl_803718B0
lbl_8037185C:
/* 8037185C 0036E7BC 38 03 00 00 */ addi r0, r3, 0
/* 80371860 0036E7C0 38 63 00 01 */ addi r3, r3, 1
/* 80371864 0036E7C4 38 80 00 2F */ li r4, 0x2f
/* 80371868 0036E7C8 7C E3 F0 50 */ subf r7, r3, r30
/* 8037186C 0036E7CC 7C 9D 01 AE */ stbx r4, r29, r0
/* 80371870 0036E7D0 38 DF 00 00 */ addi r6, r31, 0
/* 80371874 0036E7D4 38 87 00 00 */ addi r4, r7, 0
/* 80371878 0036E7D8 7C BD 1A 14 */ add r5, r29, r3
/* 8037187C 0036E7DC 48 00 00 18 */ b lbl_80371894
lbl_80371880:
/* 80371880 0036E7E0 88 06 00 00 */ lbz r0, 0(r6)
/* 80371884 0036E7E4 38 C6 00 01 */ addi r6, r6, 1
/* 80371888 0036E7E8 38 84 FF FF */ addi r4, r4, -1
/* 8037188C 0036E7EC 98 05 00 00 */ stb r0, 0(r5)
/* 80371890 0036E7F0 38 A5 00 01 */ addi r5, r5, 1
lbl_80371894:
/* 80371894 0036E7F4 28 04 00 00 */ cmplwi r4, 0
/* 80371898 0036E7F8 41 82 00 10 */ beq lbl_803718A8
/* 8037189C 0036E7FC 88 06 00 00 */ lbz r0, 0(r6)
/* 803718A0 0036E800 7C 00 07 75 */ extsb. r0, r0
/* 803718A4 0036E804 40 82 FF DC */ bne lbl_80371880
lbl_803718A8:
/* 803718A8 0036E808 7C 04 38 50 */ subf r0, r4, r7
/* 803718AC 0036E80C 7C 63 02 14 */ add r3, r3, r0
lbl_803718B0:
/* 803718B0 0036E810 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803718B4 0036E814 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803718B8 0036E818 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803718BC 0036E81C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803718C0 0036E820 83 81 00 20 */ lwz r28, 0x20(r1)
/* 803718C4 0036E824 38 21 00 30 */ addi r1, r1, 0x30
/* 803718C8 0036E828 7C 08 03 A6 */ mtlr r0
/* 803718CC 0036E82C 4E 80 00 20 */ blr
.global DVDGetCurrentDir
DVDGetCurrentDir:
/* 803718D0 0036E830 7C 08 02 A6 */ mflr r0
/* 803718D4 0036E834 90 01 00 04 */ stw r0, 4(r1)
/* 803718D8 0036E838 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803718DC 0036E83C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803718E0 0036E840 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803718E4 0036E844 3B C4 00 00 */ addi r30, r4, 0
/* 803718E8 0036E848 38 BE 00 00 */ addi r5, r30, 0
/* 803718EC 0036E84C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803718F0 0036E850 3B A3 00 00 */ addi r29, r3, 0
/* 803718F4 0036E854 38 9D 00 00 */ addi r4, r29, 0
/* 803718F8 0036E858 83 ED AC 00 */ lwz r31, lbl_805A97C0@sda21(r13)
/* 803718FC 0036E85C 38 7F 00 00 */ addi r3, r31, 0
/* 80371900 0036E860 4B FF FE 71 */ bl entryToPath
/* 80371904 0036E864 7C 03 F0 40 */ cmplw r3, r30
/* 80371908 0036E868 40 82 00 14 */ bne lbl_8037191C
/* 8037190C 0036E86C 38 00 00 00 */ li r0, 0
/* 80371910 0036E870 7C 7D F2 14 */ add r3, r29, r30
/* 80371914 0036E874 98 03 FF FF */ stb r0, -1(r3)
/* 80371918 0036E878 48 00 00 5C */ b lbl_80371974
lbl_8037191C:
/* 8037191C 0036E87C 1C 1F 00 0C */ mulli r0, r31, 0xc
/* 80371920 0036E880 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 80371924 0036E884 7C 04 00 2E */ lwzx r0, r4, r0
/* 80371928 0036E888 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 8037192C 0036E88C 40 82 00 0C */ bne lbl_80371938
/* 80371930 0036E890 38 00 00 00 */ li r0, 0
/* 80371934 0036E894 48 00 00 08 */ b lbl_8037193C
lbl_80371938:
/* 80371938 0036E898 38 00 00 01 */ li r0, 1
lbl_8037193C:
/* 8037193C 0036E89C 2C 00 00 00 */ cmpwi r0, 0
/* 80371940 0036E8A0 41 82 00 28 */ beq lbl_80371968
/* 80371944 0036E8A4 38 1E FF FF */ addi r0, r30, -1
/* 80371948 0036E8A8 7C 03 00 40 */ cmplw r3, r0
/* 8037194C 0036E8AC 40 82 00 10 */ bne lbl_8037195C
/* 80371950 0036E8B0 38 00 00 00 */ li r0, 0
/* 80371954 0036E8B4 7C 1D 19 AE */ stbx r0, r29, r3
/* 80371958 0036E8B8 48 00 00 1C */ b lbl_80371974
lbl_8037195C:
/* 8037195C 0036E8BC 38 00 00 2F */ li r0, 0x2f
/* 80371960 0036E8C0 7C 1D 19 AE */ stbx r0, r29, r3
/* 80371964 0036E8C4 38 63 00 01 */ addi r3, r3, 1
lbl_80371968:
/* 80371968 0036E8C8 38 00 00 00 */ li r0, 0
/* 8037196C 0036E8CC 7C 1D 19 AE */ stbx r0, r29, r3
/* 80371970 0036E8D0 38 00 00 01 */ li r0, 1
lbl_80371974:
/* 80371974 0036E8D4 7C 03 03 78 */ mr r3, r0
/* 80371978 0036E8D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037197C 0036E8DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80371980 0036E8E0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80371984 0036E8E4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80371988 0036E8E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8037198C 0036E8EC 7C 08 03 A6 */ mtlr r0
/* 80371990 0036E8F0 4E 80 00 20 */ blr
.global DVDReadAsyncPrio
DVDReadAsyncPrio:
/* 80371994 0036E8F4 7C 08 02 A6 */ mflr r0
/* 80371998 0036E8F8 90 01 00 04 */ stw r0, 4(r1)
/* 8037199C 0036E8FC 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 803719A0 0036E900 BF 41 00 20 */ stmw r26, 0x20(r1)
/* 803719A4 0036E904 7C DD 33 79 */ or. r29, r6, r6
/* 803719A8 0036E908 3B 43 00 00 */ addi r26, r3, 0
/* 803719AC 0036E90C 3B 64 00 00 */ addi r27, r4, 0
/* 803719B0 0036E910 3B 85 00 00 */ addi r28, r5, 0
/* 803719B4 0036E914 3B C7 00 00 */ addi r30, r7, 0
/* 803719B8 0036E918 3B E8 00 00 */ addi r31, r8, 0
/* 803719BC 0036E91C 41 80 00 10 */ blt lbl_803719CC
/* 803719C0 0036E920 80 1A 00 34 */ lwz r0, 0x34(r26)
/* 803719C4 0036E924 7C 1D 00 40 */ cmplw r29, r0
/* 803719C8 0036E928 41 80 00 1C */ blt lbl_803719E4
lbl_803719CC:
/* 803719CC 0036E92C 3C 60 80 3F */ lis r3, lbl_803EFC90@ha
/* 803719D0 0036E930 4C C6 31 82 */ crclr 6
/* 803719D4 0036E934 38 A3 FC 90 */ addi r5, r3, lbl_803EFC90@l
/* 803719D8 0036E938 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 803719DC 0036E93C 38 80 02 E6 */ li r4, 0x2e6
/* 803719E0 0036E940 48 00 E0 4D */ bl OSPanic
lbl_803719E4:
/* 803719E4 0036E944 7C 9D E2 15 */ add. r4, r29, r28
/* 803719E8 0036E948 41 80 00 14 */ blt lbl_803719FC
/* 803719EC 0036E94C 80 7A 00 34 */ lwz r3, 0x34(r26)
/* 803719F0 0036E950 38 03 00 20 */ addi r0, r3, 0x20
/* 803719F4 0036E954 7C 04 00 40 */ cmplw r4, r0
/* 803719F8 0036E958 41 80 00 1C */ blt lbl_80371A14
lbl_803719FC:
/* 803719FC 0036E95C 3C 60 80 3F */ lis r3, lbl_803EFC90@ha
/* 80371A00 0036E960 4C C6 31 82 */ crclr 6
/* 80371A04 0036E964 38 A3 FC 90 */ addi r5, r3, lbl_803EFC90@l
/* 80371A08 0036E968 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371A0C 0036E96C 38 80 02 EC */ li r4, 0x2ec
/* 80371A10 0036E970 48 00 E0 1D */ bl OSPanic
lbl_80371A14:
/* 80371A14 0036E974 93 DA 00 38 */ stw r30, 0x38(r26)
/* 80371A18 0036E978 3C 60 80 37 */ lis r3, cbForReadAsync@ha
/* 80371A1C 0036E97C 38 E3 1A 54 */ addi r7, r3, cbForReadAsync@l
/* 80371A20 0036E980 80 1A 00 30 */ lwz r0, 0x30(r26)
/* 80371A24 0036E984 38 7A 00 00 */ addi r3, r26, 0
/* 80371A28 0036E988 38 9B 00 00 */ addi r4, r27, 0
/* 80371A2C 0036E98C 38 BC 00 00 */ addi r5, r28, 0
/* 80371A30 0036E990 39 1F 00 00 */ addi r8, r31, 0
/* 80371A34 0036E994 7C C0 EA 14 */ add r6, r0, r29
/* 80371A38 0036E998 48 00 1E BD */ bl DVDReadAbsAsyncPrio
/* 80371A3C 0036E99C BB 41 00 20 */ lmw r26, 0x20(r1)
/* 80371A40 0036E9A0 38 60 00 01 */ li r3, 1
/* 80371A44 0036E9A4 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80371A48 0036E9A8 38 21 00 38 */ addi r1, r1, 0x38
/* 80371A4C 0036E9AC 7C 08 03 A6 */ mtlr r0
/* 80371A50 0036E9B0 4E 80 00 20 */ blr
.global cbForReadAsync
cbForReadAsync:
/* 80371A54 0036E9B4 7C 08 02 A6 */ mflr r0
/* 80371A58 0036E9B8 90 01 00 04 */ stw r0, 4(r1)
/* 80371A5C 0036E9BC 94 21 FF F8 */ stwu r1, -8(r1)
/* 80371A60 0036E9C0 81 84 00 38 */ lwz r12, 0x38(r4)
/* 80371A64 0036E9C4 28 0C 00 00 */ cmplwi r12, 0
/* 80371A68 0036E9C8 41 82 00 0C */ beq lbl_80371A74
/* 80371A6C 0036E9CC 7D 88 03 A6 */ mtlr r12
/* 80371A70 0036E9D0 4E 80 00 21 */ blrl
lbl_80371A74:
/* 80371A74 0036E9D4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80371A78 0036E9D8 38 21 00 08 */ addi r1, r1, 8
/* 80371A7C 0036E9DC 7C 08 03 A6 */ mtlr r0
/* 80371A80 0036E9E0 4E 80 00 20 */ blr
.global DVDPrepareStreamAsync
DVDPrepareStreamAsync:
/* 80371A84 0036E9E4 7C 08 02 A6 */ mflr r0
/* 80371A88 0036E9E8 90 01 00 04 */ stw r0, 4(r1)
/* 80371A8C 0036E9EC 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 80371A90 0036E9F0 BF 61 00 24 */ stmw r27, 0x24(r1)
/* 80371A94 0036E9F4 3B A5 00 00 */ addi r29, r5, 0
/* 80371A98 0036E9F8 7C 7B 1B 78 */ mr r27, r3
/* 80371A9C 0036E9FC 3B 84 00 00 */ addi r28, r4, 0
/* 80371AA0 0036EA00 3B C6 00 00 */ addi r30, r6, 0
/* 80371AA4 0036EA04 80 E3 00 30 */ lwz r7, 0x30(r3)
/* 80371AA8 0036EA08 3C 60 80 3F */ lis r3, lbl_803EFB90@ha
/* 80371AAC 0036EA0C 3B E3 FB 90 */ addi r31, r3, lbl_803EFB90@l
/* 80371AB0 0036EA10 7C 07 EA 14 */ add r0, r7, r29
/* 80371AB4 0036EA14 54 00 04 7F */ clrlwi. r0, r0, 0x11
/* 80371AB8 0036EA18 41 82 00 20 */ beq lbl_80371AD8
/* 80371ABC 0036EA1C 38 C7 00 00 */ addi r6, r7, 0
/* 80371AC0 0036EA20 4C C6 31 82 */ crclr 6
/* 80371AC4 0036EA24 38 FD 00 00 */ addi r7, r29, 0
/* 80371AC8 0036EA28 38 BF 01 C8 */ addi r5, r31, 0x1c8
/* 80371ACC 0036EA2C 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371AD0 0036EA30 38 80 04 A5 */ li r4, 0x4a5
/* 80371AD4 0036EA34 48 00 DF 59 */ bl OSPanic
lbl_80371AD8:
/* 80371AD8 0036EA38 28 1C 00 00 */ cmplwi r28, 0
/* 80371ADC 0036EA3C 40 82 00 0C */ bne lbl_80371AE8
/* 80371AE0 0036EA40 80 1B 00 34 */ lwz r0, 0x34(r27)
/* 80371AE4 0036EA44 7F 9D 00 50 */ subf r28, r29, r0
lbl_80371AE8:
/* 80371AE8 0036EA48 57 80 04 7F */ clrlwi. r0, r28, 0x11
/* 80371AEC 0036EA4C 41 82 00 1C */ beq lbl_80371B08
/* 80371AF0 0036EA50 38 DC 00 00 */ addi r6, r28, 0
/* 80371AF4 0036EA54 4C C6 31 82 */ crclr 6
/* 80371AF8 0036EA58 38 BF 02 30 */ addi r5, r31, 0x230
/* 80371AFC 0036EA5C 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371B00 0036EA60 38 80 04 AF */ li r4, 0x4af
/* 80371B04 0036EA64 48 00 DF 29 */ bl OSPanic
lbl_80371B08:
/* 80371B08 0036EA68 80 7B 00 34 */ lwz r3, 0x34(r27)
/* 80371B0C 0036EA6C 7C 1D 18 40 */ cmplw r29, r3
/* 80371B10 0036EA70 40 80 00 10 */ bge lbl_80371B20
/* 80371B14 0036EA74 7C 1D E2 14 */ add r0, r29, r28
/* 80371B18 0036EA78 7C 00 18 40 */ cmplw r0, r3
/* 80371B1C 0036EA7C 40 81 00 20 */ ble lbl_80371B3C
lbl_80371B20:
/* 80371B20 0036EA80 38 DD 00 00 */ addi r6, r29, 0
/* 80371B24 0036EA84 4C C6 31 82 */ crclr 6
/* 80371B28 0036EA88 38 FC 00 00 */ addi r7, r28, 0
/* 80371B2C 0036EA8C 38 BF 02 88 */ addi r5, r31, 0x288
/* 80371B30 0036EA90 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371B34 0036EA94 38 80 04 B7 */ li r4, 0x4b7
/* 80371B38 0036EA98 48 00 DE F5 */ bl OSPanic
lbl_80371B3C:
/* 80371B3C 0036EA9C 93 DB 00 38 */ stw r30, 0x38(r27)
/* 80371B40 0036EAA0 3C 60 80 37 */ lis r3, cbForPrepareStreamAsync@ha
/* 80371B44 0036EAA4 38 C3 1B 70 */ addi r6, r3, cbForPrepareStreamAsync@l
/* 80371B48 0036EAA8 80 1B 00 30 */ lwz r0, 0x30(r27)
/* 80371B4C 0036EAAC 38 7B 00 00 */ addi r3, r27, 0
/* 80371B50 0036EAB0 38 9C 00 00 */ addi r4, r28, 0
/* 80371B54 0036EAB4 7C A0 EA 14 */ add r5, r0, r29
/* 80371B58 0036EAB8 48 00 20 1D */ bl DVDPrepareStreamAbsAsync
/* 80371B5C 0036EABC BB 61 00 24 */ lmw r27, 0x24(r1)
/* 80371B60 0036EAC0 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80371B64 0036EAC4 38 21 00 38 */ addi r1, r1, 0x38
/* 80371B68 0036EAC8 7C 08 03 A6 */ mtlr r0
/* 80371B6C 0036EACC 4E 80 00 20 */ blr
.global cbForPrepareStreamAsync
cbForPrepareStreamAsync:
/* 80371B70 0036EAD0 7C 08 02 A6 */ mflr r0
/* 80371B74 0036EAD4 90 01 00 04 */ stw r0, 4(r1)
/* 80371B78 0036EAD8 94 21 FF F8 */ stwu r1, -8(r1)
/* 80371B7C 0036EADC 81 84 00 38 */ lwz r12, 0x38(r4)
/* 80371B80 0036EAE0 28 0C 00 00 */ cmplwi r12, 0
/* 80371B84 0036EAE4 41 82 00 0C */ beq lbl_80371B90
/* 80371B88 0036EAE8 7D 88 03 A6 */ mtlr r12
/* 80371B8C 0036EAEC 4E 80 00 21 */ blrl
lbl_80371B90:
/* 80371B90 0036EAF0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80371B94 0036EAF4 38 21 00 08 */ addi r1, r1, 8
/* 80371B98 0036EAF8 7C 08 03 A6 */ mtlr r0
/* 80371B9C 0036EAFC 4E 80 00 20 */ blr