/* JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl JKRDecompressFromDVD(JKRDvdFile *, void *, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long *) */ /* JKRDecompressFromDVD */ /* 802DA1E4 002D7124 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802DA1E8 002D7128 7C 08 02 A6 */ mflr r0 /* 802DA1EC 002D712C 90 01 00 34 */ stw r0, 0x34(r1) /* 802DA1F0 002D7130 39 61 00 30 */ addi r11, r1, 0x30 /* 802DA1F4 002D7134 48 08 7F D5 */ bl _savegpr_24 /* 802DA1F8 002D7138 7C 79 1B 78 */ mr r25, r3 /* 802DA1FC 002D713C 7C 9A 23 78 */ mr r26, r4 /* 802DA200 002D7140 7C BB 2B 78 */ mr r27, r5 /* 802DA204 002D7144 7C DC 33 78 */ mr r28, r6 /* 802DA208 002D7148 7C FD 3B 78 */ mr r29, r7 /* 802DA20C 002D714C 7D 1E 43 78 */ mr r30, r8 /* 802DA210 002D7150 7D 3F 4B 78 */ mr r31, r9 /* 802DA214 002D7154 48 06 34 E1 */ bl __RAS_OSDisableInterrupts_begin /* 802DA218 002D7158 7C 78 1B 78 */ mr r24, r3 /* 802DA21C 002D715C 88 0D 8E D8 */ lbz r0, lbl_80451458-_SDA_BASE_(r13) /* 802DA220 002D7160 28 00 00 00 */ cmplwi r0, 0 /* 802DA224 002D7164 40 82 00 18 */ bne lbl_802DA23C /* 802DA228 002D7168 3C 60 80 43 */ lis r3, lbl_80434390@ha /* 802DA22C 002D716C 38 63 43 90 */ addi r3, r3, lbl_80434390@l /* 802DA230 002D7170 48 06 4D D9 */ bl OSInitMutex /* 802DA234 002D7174 38 00 00 01 */ li r0, 1 /* 802DA238 002D7178 98 0D 8E D8 */ stb r0, lbl_80451458-_SDA_BASE_(r13) lbl_802DA23C: /* 802DA23C 002D717C 7F 03 C3 78 */ mr r3, r24 /* 802DA240 002D7180 48 06 34 DD */ bl OSRestoreInterrupts /* 802DA244 002D7184 3C 60 80 43 */ lis r3, lbl_80434390@ha /* 802DA248 002D7188 38 63 43 90 */ addi r3, r3, lbl_80434390@l /* 802DA24C 002D718C 48 06 4D F5 */ bl OSLockMutex /* 802DA250 002D7190 83 0D 83 4C */ lwz r24, lbl_804508CC-_SDA_BASE_(r13) /* 802DA254 002D7194 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) /* 802DA258 002D7198 7F 04 C3 78 */ mr r4, r24 /* 802DA25C 002D719C 38 A0 FF E0 */ li r5, -32 /* 802DA260 002D71A0 4B FF 42 75 */ bl alloc__7JKRHeapFUli /* 802DA264 002D71A4 90 6D 8E A8 */ stw r3, lbl_80451428-_SDA_BASE_(r13) /* 802DA268 002D71A8 7C 03 C2 14 */ add r0, r3, r24 /* 802DA26C 002D71AC 90 0D 8E AC */ stw r0, lbl_8045142C-_SDA_BASE_(r13) /* 802DA270 002D71B0 28 1D 00 00 */ cmplwi r29, 0 /* 802DA274 002D71B4 41 82 00 28 */ beq lbl_802DA29C /* 802DA278 002D71B8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) /* 802DA27C 002D71BC 38 80 11 20 */ li r4, 0x1120 /* 802DA280 002D71C0 38 A0 FF FC */ li r5, -4 /* 802DA284 002D71C4 4B FF 42 51 */ bl alloc__7JKRHeapFUli /* 802DA288 002D71C8 90 6D 8E B0 */ stw r3, lbl_80451430-_SDA_BASE_(r13) /* 802DA28C 002D71CC 38 03 11 20 */ addi r0, r3, 0x1120 /* 802DA290 002D71D0 90 0D 8E B4 */ stw r0, lbl_80451434-_SDA_BASE_(r13) /* 802DA294 002D71D4 90 6D 8E B8 */ stw r3, lbl_80451438-_SDA_BASE_(r13) /* 802DA298 002D71D8 48 00 00 0C */ b lbl_802DA2A4 lbl_802DA29C: /* 802DA29C 002D71DC 38 00 00 00 */ li r0, 0 /* 802DA2A0 002D71E0 90 0D 8E B0 */ stw r0, lbl_80451430-_SDA_BASE_(r13) lbl_802DA2A4: /* 802DA2A4 002D71E4 93 2D 8E C8 */ stw r25, lbl_80451448-_SDA_BASE_(r13) /* 802DA2A8 002D71E8 93 CD 8E BC */ stw r30, lbl_8045143C-_SDA_BASE_(r13) /* 802DA2AC 002D71EC 7C 1E D8 50 */ subf r0, r30, r27 /* 802DA2B0 002D71F0 90 0D 8E C0 */ stw r0, lbl_80451440-_SDA_BASE_(r13) /* 802DA2B4 002D71F4 93 AD 8E CC */ stw r29, lbl_8045144C-_SDA_BASE_(r13) /* 802DA2B8 002D71F8 38 00 00 00 */ li r0, 0 /* 802DA2BC 002D71FC 90 0D 8E D0 */ stw r0, lbl_80451450-_SDA_BASE_(r13) /* 802DA2C0 002D7200 93 8D 8E D4 */ stw r28, lbl_80451454-_SDA_BASE_(r13) /* 802DA2C4 002D7204 28 1F 00 00 */ cmplwi r31, 0 /* 802DA2C8 002D7208 41 82 00 0C */ beq lbl_802DA2D4 /* 802DA2CC 002D720C 7F E3 FB 78 */ mr r3, r31 /* 802DA2D0 002D7210 48 00 00 08 */ b lbl_802DA2D8 lbl_802DA2D4: /* 802DA2D4 002D7214 38 6D 8E E0 */ addi r3, r13, 0x80451460-0x80458580 /*lbl_80451460-_SDA_BASE_*/ lbl_802DA2D8: /* 802DA2D8 002D7218 90 6D 8E DC */ stw r3, lbl_8045145C-_SDA_BASE_(r13) /* 802DA2DC 002D721C 38 00 00 00 */ li r0, 0 /* 802DA2E0 002D7220 90 03 00 00 */ stw r0, 0(r3) /* 802DA2E4 002D7224 48 00 03 29 */ bl firstSrcData__Fv /* 802DA2E8 002D7228 28 03 00 00 */ cmplwi r3, 0 /* 802DA2EC 002D722C 41 82 00 10 */ beq lbl_802DA2FC /* 802DA2F0 002D7230 7F 44 D3 78 */ mr r4, r26 /* 802DA2F4 002D7234 48 00 00 69 */ bl decompSZS_subroutine__FPUcPUc /* 802DA2F8 002D7238 48 00 00 08 */ b lbl_802DA300 lbl_802DA2FC: /* 802DA2FC 002D723C 38 60 FF FF */ li r3, -1 lbl_802DA300: /* 802DA300 002D7240 7C 78 1B 78 */ mr r24, r3 /* 802DA304 002D7244 80 6D 8E A8 */ lwz r3, lbl_80451428-_SDA_BASE_(r13) /* 802DA308 002D7248 38 80 00 00 */ li r4, 0 /* 802DA30C 002D724C 4B FF 41 F5 */ bl free__7JKRHeapFPvP7JKRHeap /* 802DA310 002D7250 80 6D 8E B0 */ lwz r3, lbl_80451430-_SDA_BASE_(r13) /* 802DA314 002D7254 28 03 00 00 */ cmplwi r3, 0 /* 802DA318 002D7258 41 82 00 0C */ beq lbl_802DA324 /* 802DA31C 002D725C 38 80 00 00 */ li r4, 0 /* 802DA320 002D7260 4B FF 41 E1 */ bl free__7JKRHeapFPvP7JKRHeap lbl_802DA324: /* 802DA324 002D7264 7F 43 D3 78 */ mr r3, r26 /* 802DA328 002D7268 80 8D 8E DC */ lwz r4, lbl_8045145C-_SDA_BASE_(r13) /* 802DA32C 002D726C 80 84 00 00 */ lwz r4, 0(r4) /* 802DA330 002D7270 48 06 13 09 */ bl DCStoreRangeNoSync /* 802DA334 002D7274 3C 60 80 43 */ lis r3, lbl_80434390@ha /* 802DA338 002D7278 38 63 43 90 */ addi r3, r3, lbl_80434390@l /* 802DA33C 002D727C 48 06 4D E1 */ bl OSUnlockMutex /* 802DA340 002D7280 7F 03 C3 78 */ mr r3, r24 /* 802DA344 002D7284 39 61 00 30 */ addi r11, r1, 0x30 /* 802DA348 002D7288 48 08 7E CD */ bl _restgpr_24 /* 802DA34C 002D728C 80 01 00 34 */ lwz r0, 0x34(r1) /* 802DA350 002D7290 7C 08 03 A6 */ mtlr r0 /* 802DA354 002D7294 38 21 00 30 */ addi r1, r1, 0x30 /* 802DA358 002D7298 4E 80 00 20 */ blr