mirror of https://github.com/zeldaret/tp.git
102 lines
5.5 KiB
ArmAsm
102 lines
5.5 KiB
ArmAsm
/* JKRDecompressFromAramToMainRam__FUlPvUlUlUlPUl JKRDecompressFromAramToMainRam(unsigned long, void *, unsigned long, unsigned long, unsigned long, unsigned long *) */
|
|
/* JKRDecompressFromAramToMainRam */
|
|
/* 802D2830 002CF770 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 802D2834 002CF774 7C 08 02 A6 */ mflr r0
|
|
/* 802D2838 002CF778 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 802D283C 002CF77C 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802D2840 002CF780 48 08 F9 8D */ bl func_803621CC
|
|
/* 802D2844 002CF784 7C 7A 1B 78 */ mr r26, r3
|
|
/* 802D2848 002CF788 7C 9B 23 78 */ mr r27, r4
|
|
/* 802D284C 002CF78C 7C BC 2B 78 */ mr r28, r5
|
|
/* 802D2850 002CF790 7C DD 33 78 */ mr r29, r6
|
|
/* 802D2854 002CF794 7C FE 3B 78 */ mr r30, r7
|
|
/* 802D2858 002CF798 7D 1F 43 78 */ mr r31, r8
|
|
/* 802D285C 002CF79C 48 06 AE 99 */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 802D2860 002CF7A0 7C 79 1B 78 */ mr r25, r3
|
|
/* 802D2864 002CF7A4 88 0D 8E 7C */ lbz r0, lbl_804513FC-_SDA_BASE_(r13)
|
|
/* 802D2868 002CF7A8 28 00 00 00 */ cmplwi r0, 0
|
|
/* 802D286C 002CF7AC 40 82 00 18 */ bne lbl_802D2884
|
|
/* 802D2870 002CF7B0 3C 60 80 43 */ lis r3, lbl_804342E8@ha
|
|
/* 802D2874 002CF7B4 38 63 42 E8 */ addi r3, r3, lbl_804342E8@l
|
|
/* 802D2878 002CF7B8 48 06 C7 91 */ bl OSInitMutex
|
|
/* 802D287C 002CF7BC 38 00 00 01 */ li r0, 1
|
|
/* 802D2880 002CF7C0 98 0D 8E 7C */ stb r0, lbl_804513FC-_SDA_BASE_(r13)
|
|
lbl_802D2884:
|
|
/* 802D2884 002CF7C4 7F 23 CB 78 */ mr r3, r25
|
|
/* 802D2888 002CF7C8 48 06 AE 95 */ bl OSRestoreInterrupts
|
|
/* 802D288C 002CF7CC 3C 60 80 43 */ lis r3, lbl_804342E8@ha
|
|
/* 802D2890 002CF7D0 38 63 42 E8 */ addi r3, r3, lbl_804342E8@l
|
|
/* 802D2894 002CF7D4 48 06 C7 AD */ bl OSLockMutex
|
|
/* 802D2898 002CF7D8 83 2D 83 38 */ lwz r25, lbl_804508B8-_SDA_BASE_(r13)
|
|
/* 802D289C 002CF7DC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
|
/* 802D28A0 002CF7E0 7F 24 CB 78 */ mr r4, r25
|
|
/* 802D28A4 002CF7E4 38 A0 00 20 */ li r5, 0x20
|
|
/* 802D28A8 002CF7E8 4B FF BC 2D */ bl alloc__7JKRHeapFUli
|
|
/* 802D28AC 002CF7EC 90 6D 8E 4C */ stw r3, lbl_804513CC-_SDA_BASE_(r13)
|
|
/* 802D28B0 002CF7F0 7C 03 CA 14 */ add r0, r3, r25
|
|
/* 802D28B4 002CF7F4 90 0D 8E 50 */ stw r0, lbl_804513D0-_SDA_BASE_(r13)
|
|
/* 802D28B8 002CF7F8 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 802D28BC 002CF7FC 41 82 00 28 */ beq lbl_802D28E4
|
|
/* 802D28C0 002CF800 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
|
/* 802D28C4 002CF804 38 80 11 20 */ li r4, 0x1120
|
|
/* 802D28C8 002CF808 38 A0 00 00 */ li r5, 0
|
|
/* 802D28CC 002CF80C 4B FF BC 09 */ bl alloc__7JKRHeapFUli
|
|
/* 802D28D0 002CF810 90 6D 8E 54 */ stw r3, lbl_804513D4-_SDA_BASE_(r13)
|
|
/* 802D28D4 002CF814 38 03 11 20 */ addi r0, r3, 0x1120
|
|
/* 802D28D8 002CF818 90 0D 8E 58 */ stw r0, lbl_804513D8-_SDA_BASE_(r13)
|
|
/* 802D28DC 002CF81C 90 6D 8E 5C */ stw r3, lbl_804513DC-_SDA_BASE_(r13)
|
|
/* 802D28E0 002CF820 48 00 00 0C */ b lbl_802D28EC
|
|
lbl_802D28E4:
|
|
/* 802D28E4 002CF824 38 00 00 00 */ li r0, 0
|
|
/* 802D28E8 002CF828 90 0D 8E 54 */ stw r0, lbl_804513D4-_SDA_BASE_(r13)
|
|
lbl_802D28EC:
|
|
/* 802D28EC 002CF82C 93 4D 8E 6C */ stw r26, lbl_804513EC-_SDA_BASE_(r13)
|
|
/* 802D28F0 002CF830 38 00 00 00 */ li r0, 0
|
|
/* 802D28F4 002CF834 90 0D 8E 60 */ stw r0, lbl_804513E0-_SDA_BASE_(r13)
|
|
/* 802D28F8 002CF838 28 1C 00 00 */ cmplwi r28, 0
|
|
/* 802D28FC 002CF83C 38 00 FF FF */ li r0, -1
|
|
/* 802D2900 002CF840 41 82 00 08 */ beq lbl_802D2908
|
|
/* 802D2904 002CF844 7F 80 E3 78 */ mr r0, r28
|
|
lbl_802D2908:
|
|
/* 802D2908 002CF848 90 0D 8E 64 */ stw r0, lbl_804513E4-_SDA_BASE_(r13)
|
|
/* 802D290C 002CF84C 93 CD 8E 70 */ stw r30, lbl_804513F0-_SDA_BASE_(r13)
|
|
/* 802D2910 002CF850 38 00 00 00 */ li r0, 0
|
|
/* 802D2914 002CF854 90 0D 8E 74 */ stw r0, lbl_804513F4-_SDA_BASE_(r13)
|
|
/* 802D2918 002CF858 93 AD 8E 78 */ stw r29, lbl_804513F8-_SDA_BASE_(r13)
|
|
/* 802D291C 002CF85C 28 1F 00 00 */ cmplwi r31, 0
|
|
/* 802D2920 002CF860 41 82 00 0C */ beq lbl_802D292C
|
|
/* 802D2924 002CF864 7F E3 FB 78 */ mr r3, r31
|
|
/* 802D2928 002CF868 48 00 00 08 */ b lbl_802D2930
|
|
lbl_802D292C:
|
|
/* 802D292C 002CF86C 38 6D 8E 84 */ addi r3, r13, 0x80451404-0x80458580 /* lbl_80451404-_SDA_BASE_ */
|
|
lbl_802D2930:
|
|
/* 802D2930 002CF870 90 6D 8E 80 */ stw r3, lbl_80451400-_SDA_BASE_(r13)
|
|
/* 802D2934 002CF874 38 00 00 00 */ li r0, 0
|
|
/* 802D2938 002CF878 90 03 00 00 */ stw r0, 0(r3)
|
|
/* 802D293C 002CF87C 48 00 03 05 */ bl firstSrcData__Fv
|
|
/* 802D2940 002CF880 7F 64 DB 78 */ mr r4, r27
|
|
/* 802D2944 002CF884 48 00 00 5D */ bl decompSZS_subroutine__FPUcPUc
|
|
/* 802D2948 002CF888 80 6D 8E 4C */ lwz r3, lbl_804513CC-_SDA_BASE_(r13)
|
|
/* 802D294C 002CF88C 38 80 00 00 */ li r4, 0
|
|
/* 802D2950 002CF890 4B FF BB B1 */ bl free__7JKRHeapFPvP7JKRHeap
|
|
/* 802D2954 002CF894 80 6D 8E 54 */ lwz r3, lbl_804513D4-_SDA_BASE_(r13)
|
|
/* 802D2958 002CF898 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802D295C 002CF89C 41 82 00 0C */ beq lbl_802D2968
|
|
/* 802D2960 002CF8A0 38 80 00 00 */ li r4, 0
|
|
/* 802D2964 002CF8A4 4B FF BB 9D */ bl free__7JKRHeapFPvP7JKRHeap
|
|
lbl_802D2968:
|
|
/* 802D2968 002CF8A8 7F 63 DB 78 */ mr r3, r27
|
|
/* 802D296C 002CF8AC 80 8D 8E 80 */ lwz r4, lbl_80451400-_SDA_BASE_(r13)
|
|
/* 802D2970 002CF8B0 80 84 00 00 */ lwz r4, 0(r4)
|
|
/* 802D2974 002CF8B4 48 06 8C C5 */ bl DCStoreRangeNoSync
|
|
/* 802D2978 002CF8B8 3C 60 80 43 */ lis r3, lbl_804342E8@ha
|
|
/* 802D297C 002CF8BC 38 63 42 E8 */ addi r3, r3, lbl_804342E8@l
|
|
/* 802D2980 002CF8C0 48 06 C7 9D */ bl OSUnlockMutex
|
|
/* 802D2984 002CF8C4 38 60 00 00 */ li r3, 0
|
|
/* 802D2988 002CF8C8 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802D298C 002CF8CC 48 08 F8 8D */ bl func_80362218
|
|
/* 802D2990 002CF8D0 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 802D2994 002CF8D4 7C 08 03 A6 */ mtlr r0
|
|
/* 802D2998 002CF8D8 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 802D299C 002CF8DC 4E 80 00 20 */ blr
|