mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
105 lines
5.6 KiB
ArmAsm
105 lines
5.6 KiB
ArmAsm
/* 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
|