.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __ct__Q34nw4r2ut19DvdLockedFileStreamFl __ct__Q34nw4r2ut19DvdLockedFileStreamFl: /* 80363C30 0035F890 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363C34 0035F894 7C 08 02 A6 */ mflr r0 /* 80363C38 0035F898 90 01 00 14 */ stw r0, 0x14(r1) /* 80363C3C 0035F89C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80363C40 0035F8A0 93 C1 00 08 */ stw r30, 8(r1) /* 80363C44 0035F8A4 7C 7E 1B 78 */ mr r30, r3 /* 80363C48 0035F8A8 4B FF FA 25 */ bl __ct__Q34nw4r2ut13DvdFileStreamFl /* 80363C4C 0035F8AC 3C 60 80 45 */ lis r3, lbl_8044C758@ha /* 80363C50 0035F8B0 38 63 C7 58 */ addi r3, r3, lbl_8044C758@l /* 80363C54 0035F8B4 90 7E 00 00 */ stw r3, 0(r30) /* 80363C58 0035F8B8 4B F0 AB 05 */ bl OSDisableInterrupts /* 80363C5C 0035F8BC 88 0D B1 BC */ lbz r0, lbl_8064047C-_SDA_BASE_(r13) /* 80363C60 0035F8C0 7C 7F 1B 78 */ mr r31, r3 /* 80363C64 0035F8C4 2C 00 00 00 */ cmpwi r0, 0 /* 80363C68 0035F8C8 40 82 00 18 */ bne lbl_80363C80 /* 80363C6C 0035F8CC 3C 60 80 62 */ lis r3, lbl_806216F0@ha /* 80363C70 0035F8D0 38 63 16 F0 */ addi r3, r3, lbl_806216F0@l /* 80363C74 0035F8D4 4B F0 BC 9D */ bl OSInitMutex /* 80363C78 0035F8D8 38 00 00 01 */ li r0, 1 /* 80363C7C 0035F8DC 98 0D B1 BC */ stb r0, lbl_8064047C-_SDA_BASE_(r13) lbl_80363C80: /* 80363C80 0035F8E0 7F E3 FB 78 */ mr r3, r31 /* 80363C84 0035F8E4 4B F0 AB 01 */ bl OSRestoreInterrupts /* 80363C88 0035F8E8 7F C3 F3 78 */ mr r3, r30 /* 80363C8C 0035F8EC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363C90 0035F8F0 83 C1 00 08 */ lwz r30, 8(r1) /* 80363C94 0035F8F4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363C98 0035F8F8 7C 08 03 A6 */ mtlr r0 /* 80363C9C 0035F8FC 38 21 00 10 */ addi r1, r1, 0x10 /* 80363CA0 0035F900 4E 80 00 20 */ blr .global __ct__Q34nw4r2ut19DvdLockedFileStreamFPC11DVDFileInfob __ct__Q34nw4r2ut19DvdLockedFileStreamFPC11DVDFileInfob: /* 80363CA4 0035F904 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363CA8 0035F908 7C 08 02 A6 */ mflr r0 /* 80363CAC 0035F90C 90 01 00 14 */ stw r0, 0x14(r1) /* 80363CB0 0035F910 93 E1 00 0C */ stw r31, 0xc(r1) /* 80363CB4 0035F914 93 C1 00 08 */ stw r30, 8(r1) /* 80363CB8 0035F918 7C 7E 1B 78 */ mr r30, r3 /* 80363CBC 0035F91C 4B FF FA 6D */ bl __ct__Q34nw4r2ut13DvdFileStreamFPC11DVDFileInfob /* 80363CC0 0035F920 3C 60 80 45 */ lis r3, lbl_8044C758@ha /* 80363CC4 0035F924 38 63 C7 58 */ addi r3, r3, lbl_8044C758@l /* 80363CC8 0035F928 90 7E 00 00 */ stw r3, 0(r30) /* 80363CCC 0035F92C 4B F0 AA 91 */ bl OSDisableInterrupts /* 80363CD0 0035F930 88 0D B1 BC */ lbz r0, lbl_8064047C-_SDA_BASE_(r13) /* 80363CD4 0035F934 7C 7F 1B 78 */ mr r31, r3 /* 80363CD8 0035F938 2C 00 00 00 */ cmpwi r0, 0 /* 80363CDC 0035F93C 40 82 00 18 */ bne lbl_80363CF4 /* 80363CE0 0035F940 3C 60 80 62 */ lis r3, lbl_806216F0@ha /* 80363CE4 0035F944 38 63 16 F0 */ addi r3, r3, lbl_806216F0@l /* 80363CE8 0035F948 4B F0 BC 29 */ bl OSInitMutex /* 80363CEC 0035F94C 38 00 00 01 */ li r0, 1 /* 80363CF0 0035F950 98 0D B1 BC */ stb r0, lbl_8064047C-_SDA_BASE_(r13) lbl_80363CF4: /* 80363CF4 0035F954 7F E3 FB 78 */ mr r3, r31 /* 80363CF8 0035F958 4B F0 AA 8D */ bl OSRestoreInterrupts /* 80363CFC 0035F95C 7F C3 F3 78 */ mr r3, r30 /* 80363D00 0035F960 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363D04 0035F964 83 C1 00 08 */ lwz r30, 8(r1) /* 80363D08 0035F968 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363D0C 0035F96C 7C 08 03 A6 */ mtlr r0 /* 80363D10 0035F970 38 21 00 10 */ addi r1, r1, 0x10 /* 80363D14 0035F974 4E 80 00 20 */ blr .global __dt__Q34nw4r2ut19DvdLockedFileStreamFv __dt__Q34nw4r2ut19DvdLockedFileStreamFv: /* 80363D18 0035F978 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363D1C 0035F97C 7C 08 02 A6 */ mflr r0 /* 80363D20 0035F980 2C 03 00 00 */ cmpwi r3, 0 /* 80363D24 0035F984 90 01 00 14 */ stw r0, 0x14(r1) /* 80363D28 0035F988 93 E1 00 0C */ stw r31, 0xc(r1) /* 80363D2C 0035F98C 7C 9F 23 78 */ mr r31, r4 /* 80363D30 0035F990 93 C1 00 08 */ stw r30, 8(r1) /* 80363D34 0035F994 7C 7E 1B 78 */ mr r30, r3 /* 80363D38 0035F998 41 82 00 1C */ beq lbl_80363D54 /* 80363D3C 0035F99C 38 80 00 00 */ li r4, 0 /* 80363D40 0035F9A0 4B FF FB 19 */ bl __dt__Q34nw4r2ut13DvdFileStreamFv /* 80363D44 0035F9A4 2C 1F 00 00 */ cmpwi r31, 0 /* 80363D48 0035F9A8 40 81 00 0C */ ble lbl_80363D54 /* 80363D4C 0035F9AC 7F C3 F3 78 */ mr r3, r30 /* 80363D50 0035F9B0 4B E7 6D 69 */ bl __dl__FPv lbl_80363D54: /* 80363D54 0035F9B4 7F C3 F3 78 */ mr r3, r30 /* 80363D58 0035F9B8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363D5C 0035F9BC 83 C1 00 08 */ lwz r30, 8(r1) /* 80363D60 0035F9C0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363D64 0035F9C4 7C 08 03 A6 */ mtlr r0 /* 80363D68 0035F9C8 38 21 00 10 */ addi r1, r1, 0x10 /* 80363D6C 0035F9CC 4E 80 00 20 */ blr .global Read__Q34nw4r2ut19DvdLockedFileStreamFPvUl Read__Q34nw4r2ut19DvdLockedFileStreamFPvUl: /* 80363D70 0035F9D0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80363D74 0035F9D4 7C 08 02 A6 */ mflr r0 /* 80363D78 0035F9D8 90 01 00 24 */ stw r0, 0x24(r1) /* 80363D7C 0035F9DC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80363D80 0035F9E0 3F E0 80 62 */ lis r31, lbl_806216F0@ha /* 80363D84 0035F9E4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80363D88 0035F9E8 7C BE 2B 78 */ mr r30, r5 /* 80363D8C 0035F9EC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80363D90 0035F9F0 7C 9D 23 78 */ mr r29, r4 /* 80363D94 0035F9F4 93 81 00 10 */ stw r28, 0x10(r1) /* 80363D98 0035F9F8 7C 7C 1B 78 */ mr r28, r3 /* 80363D9C 0035F9FC 38 7F 16 F0 */ addi r3, r31, lbl_806216F0@l /* 80363DA0 0035FA00 4B F0 BB A9 */ bl OSLockMutex /* 80363DA4 0035FA04 7F 83 E3 78 */ mr r3, r28 /* 80363DA8 0035FA08 7F A4 EB 78 */ mr r4, r29 /* 80363DAC 0035FA0C 7F C5 F3 78 */ mr r5, r30 /* 80363DB0 0035FA10 4B FF FB 71 */ bl Read__Q34nw4r2ut13DvdFileStreamFPvUl /* 80363DB4 0035FA14 7C 7E 1B 78 */ mr r30, r3 /* 80363DB8 0035FA18 38 7F 16 F0 */ addi r3, r31, 0x16f0 /* 80363DBC 0035FA1C 4B F0 BC 69 */ bl OSUnlockMutex /* 80363DC0 0035FA20 7F C3 F3 78 */ mr r3, r30 /* 80363DC4 0035FA24 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80363DC8 0035FA28 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80363DCC 0035FA2C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80363DD0 0035FA30 83 81 00 10 */ lwz r28, 0x10(r1) /* 80363DD4 0035FA34 80 01 00 24 */ lwz r0, 0x24(r1) /* 80363DD8 0035FA38 7C 08 03 A6 */ mtlr r0 /* 80363DDC 0035FA3C 38 21 00 20 */ addi r1, r1, 0x20 /* 80363DE0 0035FA40 4E 80 00 20 */ blr .global Peek__Q34nw4r2ut19DvdLockedFileStreamFPvUl Peek__Q34nw4r2ut19DvdLockedFileStreamFPvUl: /* 80363DE4 0035FA44 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80363DE8 0035FA48 7C 08 02 A6 */ mflr r0 /* 80363DEC 0035FA4C 90 01 00 24 */ stw r0, 0x24(r1) /* 80363DF0 0035FA50 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80363DF4 0035FA54 3F E0 80 62 */ lis r31, lbl_806216F0@ha /* 80363DF8 0035FA58 93 C1 00 18 */ stw r30, 0x18(r1) /* 80363DFC 0035FA5C 7C BE 2B 78 */ mr r30, r5 /* 80363E00 0035FA60 93 A1 00 14 */ stw r29, 0x14(r1) /* 80363E04 0035FA64 7C 9D 23 78 */ mr r29, r4 /* 80363E08 0035FA68 93 81 00 10 */ stw r28, 0x10(r1) /* 80363E0C 0035FA6C 7C 7C 1B 78 */ mr r28, r3 /* 80363E10 0035FA70 38 7F 16 F0 */ addi r3, r31, lbl_806216F0@l /* 80363E14 0035FA74 4B F0 BB 35 */ bl OSLockMutex /* 80363E18 0035FA78 7F 83 E3 78 */ mr r3, r28 /* 80363E1C 0035FA7C 7F A4 EB 78 */ mr r4, r29 /* 80363E20 0035FA80 7F C5 F3 78 */ mr r5, r30 /* 80363E24 0035FA84 4B FF FC 79 */ bl Peek__Q34nw4r2ut13DvdFileStreamFPvUl /* 80363E28 0035FA88 7C 7E 1B 78 */ mr r30, r3 /* 80363E2C 0035FA8C 38 7F 16 F0 */ addi r3, r31, 0x16f0 /* 80363E30 0035FA90 4B F0 BB F5 */ bl OSUnlockMutex /* 80363E34 0035FA94 7F C3 F3 78 */ mr r3, r30 /* 80363E38 0035FA98 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80363E3C 0035FA9C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80363E40 0035FAA0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80363E44 0035FAA4 83 81 00 10 */ lwz r28, 0x10(r1) /* 80363E48 0035FAA8 80 01 00 24 */ lwz r0, 0x24(r1) /* 80363E4C 0035FAAC 7C 08 03 A6 */ mtlr r0 /* 80363E50 0035FAB0 38 21 00 20 */ addi r1, r1, 0x20 /* 80363E54 0035FAB4 4E 80 00 20 */ blr .global CanAsync__Q34nw4r2ut19DvdLockedFileStreamCFv CanAsync__Q34nw4r2ut19DvdLockedFileStreamCFv: /* 80363E58 0035FAB8 38 60 00 00 */ li r3, 0 /* 80363E5C 0035FABC 4E 80 00 20 */ blr .global PeekAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv PeekAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv: /* 80363E60 0035FAC0 38 60 00 00 */ li r3, 0 /* 80363E64 0035FAC4 4E 80 00 20 */ blr .global ReadAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv ReadAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv: /* 80363E68 0035FAC8 38 60 00 00 */ li r3, 0 /* 80363E6C 0035FACC 4E 80 00 20 */ blr .global GetRuntimeTypeInfo__Q34nw4r2ut19DvdLockedFileStreamCFv GetRuntimeTypeInfo__Q34nw4r2ut19DvdLockedFileStreamCFv: /* 80363E70 0035FAD0 38 6D B1 B8 */ addi r3, r13, lbl_80640478-_SDA_BASE_ /* 80363E74 0035FAD4 4E 80 00 20 */ blr .global __sinit_$3ut_DvdLockedFileStream_cpp __sinit_$3ut_DvdLockedFileStream_cpp: /* 80363E78 0035FAD8 38 0D B1 B0 */ addi r0, r13, lbl_80640470-_SDA_BASE_ /* 80363E7C 0035FADC 90 0D B1 B8 */ stw r0, lbl_80640478-_SDA_BASE_(r13) /* 80363E80 0035FAE0 4E 80 00 20 */ blr