.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo: /* 80363618 0035F278 80 84 00 3C */ lwz r4, 0x3c(r4) /* 8036361C 0035F27C 38 00 00 00 */ li r0, 0 /* 80363620 0035F280 98 04 00 6C */ stb r0, 0x6c(r4) /* 80363624 0035F284 90 64 00 08 */ stw r3, 8(r4) /* 80363628 0035F288 81 84 00 0C */ lwz r12, 0xc(r4) /* 8036362C 0035F28C 2C 0C 00 00 */ cmpwi r12, 0 /* 80363630 0035F290 4D 82 00 20 */ beqlr /* 80363634 0035F294 80 A4 00 10 */ lwz r5, 0x10(r4) /* 80363638 0035F298 7D 89 03 A6 */ mtctr r12 /* 8036363C 0035F29C 4E 80 04 20 */ bctr /* 80363640 0035F2A0 4E 80 00 20 */ blr .global DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock: /* 80363644 0035F2A4 80 84 00 3C */ lwz r4, 0x3c(r4) /* 80363648 0035F2A8 38 00 00 00 */ li r0, 0 /* 8036364C 0035F2AC 98 04 00 24 */ stb r0, 0x24(r4) /* 80363650 0035F2B0 81 84 00 1C */ lwz r12, 0x1c(r4) /* 80363654 0035F2B4 2C 0C 00 00 */ cmpwi r12, 0 /* 80363658 0035F2B8 4D 82 00 20 */ beqlr /* 8036365C 0035F2BC 80 A4 00 20 */ lwz r5, 0x20(r4) /* 80363660 0035F2C0 7D 89 03 A6 */ mtctr r12 /* 80363664 0035F2C4 4E 80 04 20 */ bctr /* 80363668 0035F2C8 4E 80 00 20 */ blr .global __ct__Q34nw4r2ut13DvdFileStreamFl __ct__Q34nw4r2ut13DvdFileStreamFl: /* 8036366C 0035F2CC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363670 0035F2D0 7C 08 02 A6 */ mflr r0 /* 80363674 0035F2D4 3C A0 80 45 */ lis r5, lbl_8044C6F0@ha /* 80363678 0035F2D8 38 C0 00 00 */ li r6, 0 /* 8036367C 0035F2DC 90 01 00 14 */ stw r0, 0x14(r1) /* 80363680 0035F2E0 38 A5 C6 F0 */ addi r5, r5, lbl_8044C6F0@l /* 80363684 0035F2E4 38 00 00 02 */ li r0, 2 /* 80363688 0035F2E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036368C 0035F2EC 7C 7F 1B 78 */ mr r31, r3 /* 80363690 0035F2F0 98 C3 00 6C */ stb r6, 0x6c(r3) /* 80363694 0035F2F4 90 A3 00 00 */ stw r5, 0(r3) /* 80363698 0035F2F8 90 C3 00 14 */ stw r6, 0x14(r3) /* 8036369C 0035F2FC 90 C3 00 18 */ stw r6, 0x18(r3) /* 803636A0 0035F300 98 C3 00 6D */ stb r6, 0x6d(r3) /* 803636A4 0035F304 98 C3 00 6E */ stb r6, 0x6e(r3) /* 803636A8 0035F308 98 C3 00 04 */ stb r6, 4(r3) /* 803636AC 0035F30C 90 03 00 68 */ stw r0, 0x68(r3) /* 803636B0 0035F310 90 C3 00 0C */ stw r6, 0xc(r3) /* 803636B4 0035F314 90 C3 00 10 */ stw r6, 0x10(r3) /* 803636B8 0035F318 90 C3 00 08 */ stw r6, 8(r3) /* 803636BC 0035F31C 90 C3 00 1C */ stw r6, 0x1c(r3) /* 803636C0 0035F320 98 C3 00 24 */ stb r6, 0x24(r3) /* 803636C4 0035F324 90 C3 00 20 */ stw r6, 0x20(r3) /* 803636C8 0035F328 90 63 00 64 */ stw r3, 0x64(r3) /* 803636CC 0035F32C 48 00 00 08 */ b lbl_803636D4 /* 803636D0 0035F330 4E 80 04 21 */ bctrl lbl_803636D4: /* 803636D4 0035F334 7C 83 23 78 */ mr r3, r4 /* 803636D8 0035F338 38 9F 00 28 */ addi r4, r31, 0x28 /* 803636DC 0035F33C 4B F2 42 E9 */ bl DVDFastOpen /* 803636E0 0035F340 2C 03 00 00 */ cmpwi r3, 0 /* 803636E4 0035F344 41 82 00 2C */ beq lbl_80363710 /* 803636E8 0035F348 80 1F 00 5C */ lwz r0, 0x5c(r31) /* 803636EC 0035F34C 38 7F 00 14 */ addi r3, r31, 0x14 /* 803636F0 0035F350 38 80 00 00 */ li r4, 0 /* 803636F4 0035F354 38 A0 00 00 */ li r5, 0 /* 803636F8 0035F358 90 1F 00 14 */ stw r0, 0x14(r31) /* 803636FC 0035F35C 4B FF FE 79 */ bl Seek__Q44nw4r2ut10FileStream12FilePositionFlUl /* 80363700 0035F360 38 00 00 01 */ li r0, 1 /* 80363704 0035F364 98 1F 00 6D */ stb r0, 0x6d(r31) /* 80363708 0035F368 98 1F 00 6E */ stb r0, 0x6e(r31) /* 8036370C 0035F36C 98 1F 00 04 */ stb r0, 4(r31) lbl_80363710: /* 80363710 0035F370 7F E3 FB 78 */ mr r3, r31 /* 80363714 0035F374 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363718 0035F378 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036371C 0035F37C 7C 08 03 A6 */ mtlr r0 /* 80363720 0035F380 38 21 00 10 */ addi r1, r1, 0x10 /* 80363724 0035F384 4E 80 00 20 */ blr .global __ct__Q34nw4r2ut13DvdFileStreamFPC11DVDFileInfob __ct__Q34nw4r2ut13DvdFileStreamFPC11DVDFileInfob: /* 80363728 0035F388 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8036372C 0035F38C 7C 08 02 A6 */ mflr r0 /* 80363730 0035F390 90 01 00 34 */ stw r0, 0x34(r1) /* 80363734 0035F394 39 61 00 30 */ addi r11, r1, 0x30 /* 80363738 0035F398 4B E6 39 DD */ bl _savegpr_22 /* 8036373C 0035F39C 3C C0 80 45 */ lis r6, lbl_8044C6F0@ha /* 80363740 0035F3A0 38 E0 00 00 */ li r7, 0 /* 80363744 0035F3A4 38 C6 C6 F0 */ addi r6, r6, lbl_8044C6F0@l /* 80363748 0035F3A8 38 00 00 02 */ li r0, 2 /* 8036374C 0035F3AC 98 E3 00 6C */ stb r7, 0x6c(r3) /* 80363750 0035F3B0 7C 7E 1B 78 */ mr r30, r3 /* 80363754 0035F3B4 7C 96 23 78 */ mr r22, r4 /* 80363758 0035F3B8 7C BF 2B 78 */ mr r31, r5 /* 8036375C 0035F3BC 90 C3 00 00 */ stw r6, 0(r3) /* 80363760 0035F3C0 90 E3 00 14 */ stw r7, 0x14(r3) /* 80363764 0035F3C4 90 E3 00 18 */ stw r7, 0x18(r3) /* 80363768 0035F3C8 98 E3 00 6D */ stb r7, 0x6d(r3) /* 8036376C 0035F3CC 98 E3 00 6E */ stb r7, 0x6e(r3) /* 80363770 0035F3D0 98 E3 00 04 */ stb r7, 4(r3) /* 80363774 0035F3D4 90 03 00 68 */ stw r0, 0x68(r3) /* 80363778 0035F3D8 90 E3 00 0C */ stw r7, 0xc(r3) /* 8036377C 0035F3DC 90 E3 00 10 */ stw r7, 0x10(r3) /* 80363780 0035F3E0 90 E3 00 08 */ stw r7, 8(r3) /* 80363784 0035F3E4 90 E3 00 1C */ stw r7, 0x1c(r3) /* 80363788 0035F3E8 98 E3 00 24 */ stb r7, 0x24(r3) /* 8036378C 0035F3EC 90 E3 00 20 */ stw r7, 0x20(r3) /* 80363790 0035F3F0 90 63 00 64 */ stw r3, 0x64(r3) /* 80363794 0035F3F4 48 00 00 08 */ b lbl_8036379C /* 80363798 0035F3F8 4E 80 04 21 */ bctrl lbl_8036379C: /* 8036379C 0035F3FC 80 D6 00 34 */ lwz r6, 0x34(r22) /* 803637A0 0035F400 38 7E 00 14 */ addi r3, r30, 0x14 /* 803637A4 0035F404 82 F6 00 00 */ lwz r23, 0(r22) /* 803637A8 0035F408 38 80 00 00 */ li r4, 0 /* 803637AC 0035F40C 83 16 00 04 */ lwz r24, 4(r22) /* 803637B0 0035F410 38 A0 00 00 */ li r5, 0 /* 803637B4 0035F414 83 36 00 08 */ lwz r25, 8(r22) /* 803637B8 0035F418 83 56 00 0C */ lwz r26, 0xc(r22) /* 803637BC 0035F41C 83 76 00 10 */ lwz r27, 0x10(r22) /* 803637C0 0035F420 83 96 00 14 */ lwz r28, 0x14(r22) /* 803637C4 0035F424 83 B6 00 18 */ lwz r29, 0x18(r22) /* 803637C8 0035F428 81 96 00 1C */ lwz r12, 0x1c(r22) /* 803637CC 0035F42C 81 76 00 20 */ lwz r11, 0x20(r22) /* 803637D0 0035F430 81 56 00 24 */ lwz r10, 0x24(r22) /* 803637D4 0035F434 81 36 00 28 */ lwz r9, 0x28(r22) /* 803637D8 0035F438 81 16 00 2C */ lwz r8, 0x2c(r22) /* 803637DC 0035F43C 80 F6 00 30 */ lwz r7, 0x30(r22) /* 803637E0 0035F440 80 16 00 38 */ lwz r0, 0x38(r22) /* 803637E4 0035F444 92 FE 00 28 */ stw r23, 0x28(r30) /* 803637E8 0035F448 93 1E 00 2C */ stw r24, 0x2c(r30) /* 803637EC 0035F44C 93 3E 00 30 */ stw r25, 0x30(r30) /* 803637F0 0035F450 93 5E 00 34 */ stw r26, 0x34(r30) /* 803637F4 0035F454 93 7E 00 38 */ stw r27, 0x38(r30) /* 803637F8 0035F458 93 9E 00 3C */ stw r28, 0x3c(r30) /* 803637FC 0035F45C 93 BE 00 40 */ stw r29, 0x40(r30) /* 80363800 0035F460 91 9E 00 44 */ stw r12, 0x44(r30) /* 80363804 0035F464 91 7E 00 48 */ stw r11, 0x48(r30) /* 80363808 0035F468 91 5E 00 4C */ stw r10, 0x4c(r30) /* 8036380C 0035F46C 91 3E 00 50 */ stw r9, 0x50(r30) /* 80363810 0035F470 91 1E 00 54 */ stw r8, 0x54(r30) /* 80363814 0035F474 90 FE 00 58 */ stw r7, 0x58(r30) /* 80363818 0035F478 90 DE 00 5C */ stw r6, 0x5c(r30) /* 8036381C 0035F47C 90 1E 00 60 */ stw r0, 0x60(r30) /* 80363820 0035F480 90 DE 00 14 */ stw r6, 0x14(r30) /* 80363824 0035F484 4B FF FD 51 */ bl Seek__Q44nw4r2ut10FileStream12FilePositionFlUl /* 80363828 0035F488 38 60 00 00 */ li r3, 0 /* 8036382C 0035F48C 38 00 00 01 */ li r0, 1 /* 80363830 0035F490 98 7E 00 6D */ stb r3, 0x6d(r30) /* 80363834 0035F494 39 61 00 30 */ addi r11, r1, 0x30 /* 80363838 0035F498 7F C3 F3 78 */ mr r3, r30 /* 8036383C 0035F49C 9B FE 00 6E */ stb r31, 0x6e(r30) /* 80363840 0035F4A0 98 1E 00 04 */ stb r0, 4(r30) /* 80363844 0035F4A4 4B E6 39 1D */ bl _restgpr_22 /* 80363848 0035F4A8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8036384C 0035F4AC 7C 08 03 A6 */ mtlr r0 /* 80363850 0035F4B0 38 21 00 30 */ addi r1, r1, 0x30 /* 80363854 0035F4B4 4E 80 00 20 */ blr .global __dt__Q34nw4r2ut13DvdFileStreamFv __dt__Q34nw4r2ut13DvdFileStreamFv: /* 80363858 0035F4B8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036385C 0035F4BC 7C 08 02 A6 */ mflr r0 /* 80363860 0035F4C0 2C 03 00 00 */ cmpwi r3, 0 /* 80363864 0035F4C4 90 01 00 14 */ stw r0, 0x14(r1) /* 80363868 0035F4C8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8036386C 0035F4CC 7C 9F 23 78 */ mr r31, r4 /* 80363870 0035F4D0 93 C1 00 08 */ stw r30, 8(r1) /* 80363874 0035F4D4 7C 7E 1B 78 */ mr r30, r3 /* 80363878 0035F4D8 41 82 00 3C */ beq lbl_803638B4 /* 8036387C 0035F4DC 88 03 00 6D */ lbz r0, 0x6d(r3) /* 80363880 0035F4E0 3C 80 80 45 */ lis r4, lbl_8044C6F0@ha /* 80363884 0035F4E4 38 84 C6 F0 */ addi r4, r4, lbl_8044C6F0@l /* 80363888 0035F4E8 2C 00 00 00 */ cmpwi r0, 0 /* 8036388C 0035F4EC 90 83 00 00 */ stw r4, 0(r3) /* 80363890 0035F4F0 41 82 00 14 */ beq lbl_803638A4 /* 80363894 0035F4F4 81 83 00 00 */ lwz r12, 0(r3) /* 80363898 0035F4F8 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8036389C 0035F4FC 7D 89 03 A6 */ mtctr r12 /* 803638A0 0035F500 4E 80 04 21 */ bctrl lbl_803638A4: /* 803638A4 0035F504 2C 1F 00 00 */ cmpwi r31, 0 /* 803638A8 0035F508 40 81 00 0C */ ble lbl_803638B4 /* 803638AC 0035F50C 7F C3 F3 78 */ mr r3, r30 /* 803638B0 0035F510 4B E7 72 09 */ bl __dl__FPv lbl_803638B4: /* 803638B4 0035F514 7F C3 F3 78 */ mr r3, r30 /* 803638B8 0035F518 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803638BC 0035F51C 83 C1 00 08 */ lwz r30, 8(r1) /* 803638C0 0035F520 80 01 00 14 */ lwz r0, 0x14(r1) /* 803638C4 0035F524 7C 08 03 A6 */ mtlr r0 /* 803638C8 0035F528 38 21 00 10 */ addi r1, r1, 0x10 /* 803638CC 0035F52C 4E 80 00 20 */ blr .global Close__Q34nw4r2ut13DvdFileStreamFv Close__Q34nw4r2ut13DvdFileStreamFv: /* 803638D0 0035F530 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803638D4 0035F534 7C 08 02 A6 */ mflr r0 /* 803638D8 0035F538 90 01 00 14 */ stw r0, 0x14(r1) /* 803638DC 0035F53C 93 E1 00 0C */ stw r31, 0xc(r1) /* 803638E0 0035F540 7C 7F 1B 78 */ mr r31, r3 /* 803638E4 0035F544 88 03 00 6E */ lbz r0, 0x6e(r3) /* 803638E8 0035F548 2C 00 00 00 */ cmpwi r0, 0 /* 803638EC 0035F54C 41 82 00 20 */ beq lbl_8036390C /* 803638F0 0035F550 88 03 00 04 */ lbz r0, 4(r3) /* 803638F4 0035F554 2C 00 00 00 */ cmpwi r0, 0 /* 803638F8 0035F558 41 82 00 14 */ beq lbl_8036390C /* 803638FC 0035F55C 38 63 00 28 */ addi r3, r3, 0x28 /* 80363900 0035F560 4B F2 43 D9 */ bl DVDClose /* 80363904 0035F564 38 00 00 00 */ li r0, 0 /* 80363908 0035F568 98 1F 00 04 */ stb r0, 4(r31) lbl_8036390C: /* 8036390C 0035F56C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363910 0035F570 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363914 0035F574 7C 08 03 A6 */ mtlr r0 /* 80363918 0035F578 38 21 00 10 */ addi r1, r1, 0x10 /* 8036391C 0035F57C 4E 80 00 20 */ blr .global Read__Q34nw4r2ut13DvdFileStreamFPvUl Read__Q34nw4r2ut13DvdFileStreamFPvUl: /* 80363920 0035F580 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363924 0035F584 7C 08 02 A6 */ mflr r0 /* 80363928 0035F588 90 01 00 14 */ stw r0, 0x14(r1) /* 8036392C 0035F58C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80363930 0035F590 93 C1 00 08 */ stw r30, 8(r1) /* 80363934 0035F594 7C 7E 1B 78 */ mr r30, r3 /* 80363938 0035F598 80 C3 00 18 */ lwz r6, 0x18(r3) /* 8036393C 0035F59C 81 03 00 14 */ lwz r8, 0x14(r3) /* 80363940 0035F5A0 7C E6 2A 14 */ add r7, r6, r5 /* 80363944 0035F5A4 38 E7 00 1F */ addi r7, r7, 0x1f /* 80363948 0035F5A8 38 08 00 1F */ addi r0, r8, 0x1f /* 8036394C 0035F5AC 54 E7 00 34 */ rlwinm r7, r7, 0, 0, 0x1a /* 80363950 0035F5B0 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80363954 0035F5B4 7C 07 00 40 */ cmplw r7, r0 /* 80363958 0035F5B8 40 81 00 10 */ ble lbl_80363968 /* 8036395C 0035F5BC 7C A6 40 50 */ subf r5, r6, r8 /* 80363960 0035F5C0 38 05 00 1F */ addi r0, r5, 0x1f /* 80363964 0035F5C4 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a lbl_80363968: /* 80363968 0035F5C8 80 E3 00 68 */ lwz r7, 0x68(r3) /* 8036396C 0035F5CC 38 63 00 28 */ addi r3, r3, 0x28 /* 80363970 0035F5D0 4B F2 46 35 */ bl DVDReadPrio /* 80363974 0035F5D4 2C 03 00 00 */ cmpwi r3, 0 /* 80363978 0035F5D8 7C 7F 1B 78 */ mr r31, r3 /* 8036397C 0035F5DC 40 81 00 10 */ ble lbl_8036398C /* 80363980 0035F5E0 7F E4 FB 78 */ mr r4, r31 /* 80363984 0035F5E4 38 7E 00 14 */ addi r3, r30, 0x14 /* 80363988 0035F5E8 4B FF FB 89 */ bl Skip__Q44nw4r2ut10FileStream12FilePositionFl lbl_8036398C: /* 8036398C 0035F5EC 7F E3 FB 78 */ mr r3, r31 /* 80363990 0035F5F0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363994 0035F5F4 83 C1 00 08 */ lwz r30, 8(r1) /* 80363998 0035F5F8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8036399C 0035F5FC 7C 08 03 A6 */ mtlr r0 /* 803639A0 0035F600 38 21 00 10 */ addi r1, r1, 0x10 /* 803639A4 0035F604 4E 80 00 20 */ blr .global ReadAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv ReadAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv: /* 803639A8 0035F608 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803639AC 0035F60C 7C 08 02 A6 */ mflr r0 /* 803639B0 0035F610 90 01 00 24 */ stw r0, 0x24(r1) /* 803639B4 0035F614 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803639B8 0035F618 7C 7F 1B 78 */ mr r31, r3 /* 803639BC 0035F61C 93 C1 00 18 */ stw r30, 0x18(r1) /* 803639C0 0035F620 7C BE 2B 78 */ mr r30, r5 /* 803639C4 0035F624 93 A1 00 14 */ stw r29, 0x14(r1) /* 803639C8 0035F628 81 03 00 18 */ lwz r8, 0x18(r3) /* 803639CC 0035F62C 81 23 00 14 */ lwz r9, 0x14(r3) /* 803639D0 0035F630 7C A8 2A 14 */ add r5, r8, r5 /* 803639D4 0035F634 38 A5 00 1F */ addi r5, r5, 0x1f /* 803639D8 0035F638 38 09 00 1F */ addi r0, r9, 0x1f /* 803639DC 0035F63C 54 A5 00 34 */ rlwinm r5, r5, 0, 0, 0x1a /* 803639E0 0035F640 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 803639E4 0035F644 7C 05 00 40 */ cmplw r5, r0 /* 803639E8 0035F648 40 81 00 10 */ ble lbl_803639F8 /* 803639EC 0035F64C 7C A8 48 50 */ subf r5, r8, r9 /* 803639F0 0035F650 38 05 00 1F */ addi r0, r5, 0x1f /* 803639F4 0035F654 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a lbl_803639F8: /* 803639F8 0035F658 81 63 00 18 */ lwz r11, 0x18(r3) /* 803639FC 0035F65C 39 20 00 01 */ li r9, 1 /* 80363A00 0035F660 81 43 00 14 */ lwz r10, 0x14(r3) /* 80363A04 0035F664 7F C5 F3 78 */ mr r5, r30 /* 80363A08 0035F668 7D 0B F2 14 */ add r8, r11, r30 /* 80363A0C 0035F66C 90 C3 00 0C */ stw r6, 0xc(r3) /* 80363A10 0035F670 38 C8 00 1F */ addi r6, r8, 0x1f /* 80363A14 0035F674 38 0A 00 1F */ addi r0, r10, 0x1f /* 80363A18 0035F678 54 C6 00 34 */ rlwinm r6, r6, 0, 0, 0x1a /* 80363A1C 0035F67C 90 E3 00 10 */ stw r7, 0x10(r3) /* 80363A20 0035F680 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80363A24 0035F684 7C 06 00 40 */ cmplw r6, r0 /* 80363A28 0035F688 99 23 00 6C */ stb r9, 0x6c(r3) /* 80363A2C 0035F68C 40 81 00 10 */ ble lbl_80363A3C /* 80363A30 0035F690 7C AB 50 50 */ subf r5, r11, r10 /* 80363A34 0035F694 38 05 00 1F */ addi r0, r5, 0x1f /* 80363A38 0035F698 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a lbl_80363A3C: /* 80363A3C 0035F69C 81 03 00 68 */ lwz r8, 0x68(r3) /* 80363A40 0035F6A0 3C E0 80 36 */ lis r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@ha /* 80363A44 0035F6A4 7D 66 5B 78 */ mr r6, r11 /* 80363A48 0035F6A8 38 63 00 28 */ addi r3, r3, 0x28 /* 80363A4C 0035F6AC 38 E7 36 18 */ addi r7, r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@l /* 80363A50 0035F6B0 4B F2 44 6D */ bl DVDReadAsyncPrio /* 80363A54 0035F6B4 7C 03 00 D0 */ neg r0, r3 /* 80363A58 0035F6B8 7C 00 1B 78 */ or r0, r0, r3 /* 80363A5C 0035F6BC 54 1D 0F FF */ rlwinm. r29, r0, 1, 0x1f, 0x1f /* 80363A60 0035F6C0 41 82 00 14 */ beq lbl_80363A74 /* 80363A64 0035F6C4 7F C4 F3 78 */ mr r4, r30 /* 80363A68 0035F6C8 38 7F 00 14 */ addi r3, r31, 0x14 /* 80363A6C 0035F6CC 4B FF FA A5 */ bl Skip__Q44nw4r2ut10FileStream12FilePositionFl /* 80363A70 0035F6D0 48 00 00 0C */ b lbl_80363A7C lbl_80363A74: /* 80363A74 0035F6D4 38 00 00 00 */ li r0, 0 /* 80363A78 0035F6D8 98 1F 00 6C */ stb r0, 0x6c(r31) lbl_80363A7C: /* 80363A7C 0035F6DC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80363A80 0035F6E0 7F A3 EB 78 */ mr r3, r29 /* 80363A84 0035F6E4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80363A88 0035F6E8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80363A8C 0035F6EC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80363A90 0035F6F0 7C 08 03 A6 */ mtlr r0 /* 80363A94 0035F6F4 38 21 00 20 */ addi r1, r1, 0x20 /* 80363A98 0035F6F8 4E 80 00 20 */ blr .global Peek__Q34nw4r2ut13DvdFileStreamFPvUl Peek__Q34nw4r2ut13DvdFileStreamFPvUl: /* 80363A9C 0035F6FC 80 C3 00 18 */ lwz r6, 0x18(r3) /* 80363AA0 0035F700 81 03 00 14 */ lwz r8, 0x14(r3) /* 80363AA4 0035F704 7C E6 2A 14 */ add r7, r6, r5 /* 80363AA8 0035F708 38 E7 00 1F */ addi r7, r7, 0x1f /* 80363AAC 0035F70C 38 08 00 1F */ addi r0, r8, 0x1f /* 80363AB0 0035F710 54 E7 00 34 */ rlwinm r7, r7, 0, 0, 0x1a /* 80363AB4 0035F714 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80363AB8 0035F718 7C 07 00 40 */ cmplw r7, r0 /* 80363ABC 0035F71C 40 81 00 10 */ ble lbl_80363ACC /* 80363AC0 0035F720 7C A6 40 50 */ subf r5, r6, r8 /* 80363AC4 0035F724 38 05 00 1F */ addi r0, r5, 0x1f /* 80363AC8 0035F728 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a lbl_80363ACC: /* 80363ACC 0035F72C 80 E3 00 68 */ lwz r7, 0x68(r3) /* 80363AD0 0035F730 38 63 00 28 */ addi r3, r3, 0x28 /* 80363AD4 0035F734 4B F2 44 D0 */ b DVDReadPrio .global PeekAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv PeekAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv: /* 80363AD8 0035F738 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363ADC 0035F73C 7C 08 02 A6 */ mflr r0 /* 80363AE0 0035F740 39 20 00 01 */ li r9, 1 /* 80363AE4 0035F744 90 01 00 14 */ stw r0, 0x14(r1) /* 80363AE8 0035F748 81 63 00 18 */ lwz r11, 0x18(r3) /* 80363AEC 0035F74C 81 43 00 14 */ lwz r10, 0x14(r3) /* 80363AF0 0035F750 7D 0B 2A 14 */ add r8, r11, r5 /* 80363AF4 0035F754 90 C3 00 0C */ stw r6, 0xc(r3) /* 80363AF8 0035F758 38 C8 00 1F */ addi r6, r8, 0x1f /* 80363AFC 0035F75C 38 0A 00 1F */ addi r0, r10, 0x1f /* 80363B00 0035F760 54 C6 00 34 */ rlwinm r6, r6, 0, 0, 0x1a /* 80363B04 0035F764 90 E3 00 10 */ stw r7, 0x10(r3) /* 80363B08 0035F768 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80363B0C 0035F76C 7C 06 00 40 */ cmplw r6, r0 /* 80363B10 0035F770 99 23 00 6C */ stb r9, 0x6c(r3) /* 80363B14 0035F774 40 81 00 10 */ ble lbl_80363B24 /* 80363B18 0035F778 7C AB 50 50 */ subf r5, r11, r10 /* 80363B1C 0035F77C 38 05 00 1F */ addi r0, r5, 0x1f /* 80363B20 0035F780 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a lbl_80363B24: /* 80363B24 0035F784 81 03 00 68 */ lwz r8, 0x68(r3) /* 80363B28 0035F788 3C E0 80 36 */ lis r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@ha /* 80363B2C 0035F78C 7D 66 5B 78 */ mr r6, r11 /* 80363B30 0035F790 38 63 00 28 */ addi r3, r3, 0x28 /* 80363B34 0035F794 38 E7 36 18 */ addi r7, r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@l /* 80363B38 0035F798 4B F2 43 85 */ bl DVDReadAsyncPrio /* 80363B3C 0035F79C 7C 03 00 D0 */ neg r0, r3 /* 80363B40 0035F7A0 7C 00 1B 78 */ or r0, r0, r3 /* 80363B44 0035F7A4 54 03 0F FE */ srwi r3, r0, 0x1f /* 80363B48 0035F7A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363B4C 0035F7AC 7C 08 03 A6 */ mtlr r0 /* 80363B50 0035F7B0 38 21 00 10 */ addi r1, r1, 0x10 /* 80363B54 0035F7B4 4E 80 00 20 */ blr .global Seek__Q34nw4r2ut13DvdFileStreamFlUl Seek__Q34nw4r2ut13DvdFileStreamFlUl: /* 80363B58 0035F7B8 38 63 00 14 */ addi r3, r3, 0x14 /* 80363B5C 0035F7BC 4B FF FA 18 */ b Seek__Q44nw4r2ut10FileStream12FilePositionFlUl .global Cancel__Q34nw4r2ut13DvdFileStreamFv Cancel__Q34nw4r2ut13DvdFileStreamFv: /* 80363B60 0035F7C0 38 63 00 28 */ addi r3, r3, 0x28 /* 80363B64 0035F7C4 4B F2 87 B8 */ b DVDCancel .global CancelAsync__Q34nw4r2ut13DvdFileStreamFPFlPQ34nw4r2ut8IOStreamPv_vPv CancelAsync__Q34nw4r2ut13DvdFileStreamFPFlPQ34nw4r2ut8IOStreamPv_vPv: /* 80363B68 0035F7C8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363B6C 0035F7CC 7C 08 02 A6 */ mflr r0 /* 80363B70 0035F7D0 90 01 00 14 */ stw r0, 0x14(r1) /* 80363B74 0035F7D4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80363B78 0035F7D8 7C 7F 1B 78 */ mr r31, r3 /* 80363B7C 0035F7DC 90 83 00 1C */ stw r4, 0x1c(r3) /* 80363B80 0035F7E0 3C 80 80 36 */ lis r4, DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock@ha /* 80363B84 0035F7E4 38 84 36 44 */ addi r4, r4, DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock@l /* 80363B88 0035F7E8 90 A3 00 20 */ stw r5, 0x20(r3) /* 80363B8C 0035F7EC 38 63 00 28 */ addi r3, r3, 0x28 /* 80363B90 0035F7F0 4B F2 84 39 */ bl DVDCancelAsync /* 80363B94 0035F7F4 2C 03 00 00 */ cmpwi r3, 0 /* 80363B98 0035F7F8 41 82 00 0C */ beq lbl_80363BA4 /* 80363B9C 0035F7FC 38 00 00 01 */ li r0, 1 /* 80363BA0 0035F800 98 1F 00 24 */ stb r0, 0x24(r31) lbl_80363BA4: /* 80363BA4 0035F804 7C 03 00 D0 */ neg r0, r3 /* 80363BA8 0035F808 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363BAC 0035F80C 7C 00 1B 78 */ or r0, r0, r3 /* 80363BB0 0035F810 54 03 0F FE */ srwi r3, r0, 0x1f /* 80363BB4 0035F814 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363BB8 0035F818 7C 08 03 A6 */ mtlr r0 /* 80363BBC 0035F81C 38 21 00 10 */ addi r1, r1, 0x10 /* 80363BC0 0035F820 4E 80 00 20 */ blr .global GetBufferAlign__Q34nw4r2ut13DvdFileStreamCFv GetBufferAlign__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BC4 0035F824 38 60 00 20 */ li r3, 0x20 /* 80363BC8 0035F828 4E 80 00 20 */ blr .global GetSizeAlign__Q34nw4r2ut13DvdFileStreamCFv GetSizeAlign__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BCC 0035F82C 38 60 00 20 */ li r3, 0x20 /* 80363BD0 0035F830 4E 80 00 20 */ blr .global GetOffsetAlign__Q34nw4r2ut13DvdFileStreamCFv GetOffsetAlign__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BD4 0035F834 38 60 00 04 */ li r3, 4 /* 80363BD8 0035F838 4E 80 00 20 */ blr .global CanCancel__Q34nw4r2ut13DvdFileStreamCFv CanCancel__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BDC 0035F83C 38 60 00 01 */ li r3, 1 /* 80363BE0 0035F840 4E 80 00 20 */ blr .global CanWrite__Q34nw4r2ut13DvdFileStreamCFv CanWrite__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BE4 0035F844 38 60 00 00 */ li r3, 0 /* 80363BE8 0035F848 4E 80 00 20 */ blr .global CanRead__Q34nw4r2ut13DvdFileStreamCFv CanRead__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BEC 0035F84C 38 60 00 01 */ li r3, 1 /* 80363BF0 0035F850 4E 80 00 20 */ blr .global CanSeek__Q34nw4r2ut13DvdFileStreamCFv CanSeek__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BF4 0035F854 38 60 00 01 */ li r3, 1 /* 80363BF8 0035F858 4E 80 00 20 */ blr .global CanAsync__Q34nw4r2ut13DvdFileStreamCFv CanAsync__Q34nw4r2ut13DvdFileStreamCFv: /* 80363BFC 0035F85C 38 60 00 01 */ li r3, 1 /* 80363C00 0035F860 4E 80 00 20 */ blr .global GetSize__Q34nw4r2ut13DvdFileStreamCFv GetSize__Q34nw4r2ut13DvdFileStreamCFv: /* 80363C04 0035F864 80 63 00 14 */ lwz r3, 0x14(r3) /* 80363C08 0035F868 4E 80 00 20 */ blr .global Tell__Q34nw4r2ut13DvdFileStreamCFv Tell__Q34nw4r2ut13DvdFileStreamCFv: /* 80363C0C 0035F86C 80 63 00 18 */ lwz r3, 0x18(r3) /* 80363C10 0035F870 4E 80 00 20 */ blr .global IsBusy__Q34nw4r2ut13DvdFileStreamCFv IsBusy__Q34nw4r2ut13DvdFileStreamCFv: /* 80363C14 0035F874 88 63 00 6C */ lbz r3, 0x6c(r3) /* 80363C18 0035F878 4E 80 00 20 */ blr .global GetRuntimeTypeInfo__Q34nw4r2ut13DvdFileStreamCFv GetRuntimeTypeInfo__Q34nw4r2ut13DvdFileStreamCFv: /* 80363C1C 0035F87C 38 6D B1 B0 */ addi r3, r13, lbl_80640470-_SDA_BASE_ /* 80363C20 0035F880 4E 80 00 20 */ blr .global __sinit_$3ut_DvdFileStream_cpp __sinit_$3ut_DvdFileStream_cpp: /* 80363C24 0035F884 38 0D B1 A8 */ addi r0, r13, lbl_80640468-_SDA_BASE_ /* 80363C28 0035F888 90 0D B1 B0 */ stw r0, lbl_80640470-_SDA_BASE_(r13) /* 80363C2C 0035F88C 4E 80 00 20 */ blr