tp/asm/JKernel/JKRCompArchive.s

933 lines
45 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 802d87d4
.global JKRCompArchive
JKRCompArchive:
/* 802D87D4 002D5714 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D87D8 002D5718 7C 08 02 A6 */ mflr r0
/* 802D87DC 002D571C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D87E0 002D5720 39 61 00 20 */ addi r11, r1, 0x20
/* 802D87E4 002D5724 48 08 99 F9 */ bl _savegpr_29
/* 802D87E8 002D5728 7C 7D 1B 78 */ mr r29, r3
/* 802D87EC 002D572C 7C 9E 23 78 */ mr r30, r4
/* 802D87F0 002D5730 7C BF 2B 78 */ mr r31, r5
/* 802D87F4 002D5734 38 A0 00 04 */ li r5, 4
/* 802D87F8 002D5738 4B FF DA 9D */ bl JKRArchive
/* 802D87FC 002D573C 3C 60 80 3D */ lis r3, lbl_803CC3E8@ha
/* 802D8800 002D5740 38 03 C3 E8 */ addi r0, r3, lbl_803CC3E8@l
/* 802D8804 002D5744 90 1D 00 00 */ stw r0, 0(r29)
/* 802D8808 002D5748 93 FD 00 60 */ stw r31, 0x60(r29)
/* 802D880C 002D574C 7F A3 EB 78 */ mr r3, r29
/* 802D8810 002D5750 7F C4 F3 78 */ mr r4, r30
/* 802D8814 002D5754 48 00 01 A9 */ bl JKRCompArchive_NS_open
/* 802D8818 002D5758 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D881C 002D575C 40 82 00 0C */ bne lbl_802D8828
/* 802D8820 002D5760 7F A3 EB 78 */ mr r3, r29
/* 802D8824 002D5764 48 00 00 40 */ b lbl_802D8864
lbl_802D8828:
/* 802D8828 002D5768 3C 60 52 41 */ lis r3, 0x52415243@ha
/* 802D882C 002D576C 38 03 52 43 */ addi r0, r3, 0x52415243@l
/* 802D8830 002D5770 90 1D 00 2C */ stw r0, 0x2c(r29)
/* 802D8834 002D5774 80 9D 00 54 */ lwz r4, 0x54(r29)
/* 802D8838 002D5778 80 7D 00 48 */ lwz r3, 0x48(r29)
/* 802D883C 002D577C 80 03 00 04 */ lwz r0, 4(r3)
/* 802D8840 002D5780 7C 04 02 14 */ add r0, r4, r0
/* 802D8844 002D5784 90 1D 00 28 */ stw r0, 0x28(r29)
/* 802D8848 002D5788 3C 60 80 43 */ lis r3, lbl_80434354@ha
/* 802D884C 002D578C 38 63 43 54 */ addi r3, r3, lbl_80434354@l
/* 802D8850 002D5790 38 9D 00 18 */ addi r4, r29, 0x18
/* 802D8854 002D5794 48 00 37 9D */ bl JSUPtrList_NS_prepend
/* 802D8858 002D5798 38 00 00 01 */ li r0, 1
/* 802D885C 002D579C 98 1D 00 30 */ stb r0, 0x30(r29)
/* 802D8860 002D57A0 7F A3 EB 78 */ mr r3, r29
lbl_802D8864:
/* 802D8864 002D57A4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D8868 002D57A8 48 08 99 C1 */ bl _restgpr_29
/* 802D886C 002D57AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D8870 002D57B0 7C 08 03 A6 */ mtlr r0
/* 802D8874 002D57B4 38 21 00 20 */ addi r1, r1, 0x20
/* 802D8878 002D57B8 4E 80 00 20 */ blr
/* 802D887C 002D57BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D8880 002D57C0 7C 08 02 A6 */ mflr r0
/* 802D8884 002D57C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D8888 002D57C8 39 61 00 20 */ addi r11, r1, 0x20
/* 802D888C 002D57CC 48 08 99 4D */ bl _savegpr_28
/* 802D8890 002D57D0 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D8894 002D57D4 7C 9F 23 78 */ mr r31, r4
/* 802D8898 002D57D8 41 82 01 08 */ beq lbl_802D89A0
/* 802D889C 002D57DC 3C 60 80 3D */ lis r3, lbl_803CC3E8@ha
/* 802D88A0 002D57E0 38 03 C3 E8 */ addi r0, r3, lbl_803CC3E8@l
/* 802D88A4 002D57E4 90 1E 00 00 */ stw r0, 0(r30)
/* 802D88A8 002D57E8 80 1E 00 44 */ lwz r0, 0x44(r30)
/* 802D88AC 002D57EC 28 00 00 00 */ cmplwi r0, 0
/* 802D88B0 002D57F0 41 82 00 58 */ beq lbl_802D8908
/* 802D88B4 002D57F4 83 BE 00 4C */ lwz r29, 0x4c(r30)
/* 802D88B8 002D57F8 3B 80 00 00 */ li r28, 0
/* 802D88BC 002D57FC 48 00 00 2C */ b lbl_802D88E8
lbl_802D88C0:
/* 802D88C0 002D5800 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D88C4 002D5804 54 00 46 F7 */ rlwinm. r0, r0, 8, 0x1b, 0x1b
/* 802D88C8 002D5808 40 82 00 18 */ bne lbl_802D88E0
/* 802D88CC 002D580C 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 802D88D0 002D5810 28 03 00 00 */ cmplwi r3, 0
/* 802D88D4 002D5814 41 82 00 0C */ beq lbl_802D88E0
/* 802D88D8 002D5818 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 802D88DC 002D581C 4B FF 5C 25 */ bl JKRHeap_NS_free
lbl_802D88E0:
/* 802D88E0 002D5820 3B BD 00 14 */ addi r29, r29, 0x14
/* 802D88E4 002D5824 3B 9C 00 01 */ addi r28, r28, 1
lbl_802D88E8:
/* 802D88E8 002D5828 80 7E 00 44 */ lwz r3, 0x44(r30)
/* 802D88EC 002D582C 80 03 00 08 */ lwz r0, 8(r3)
/* 802D88F0 002D5830 7C 1C 00 40 */ cmplw r28, r0
/* 802D88F4 002D5834 41 80 FF CC */ blt lbl_802D88C0
/* 802D88F8 002D5838 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 802D88FC 002D583C 4B FF 5C 05 */ bl JKRHeap_NS_free
/* 802D8900 002D5840 38 00 00 00 */ li r0, 0
/* 802D8904 002D5844 90 1E 00 44 */ stw r0, 0x44(r30)
lbl_802D8908:
/* 802D8908 002D5848 80 7E 00 68 */ lwz r3, 0x68(r30)
/* 802D890C 002D584C 28 03 00 00 */ cmplwi r3, 0
/* 802D8910 002D5850 41 82 00 1C */ beq lbl_802D892C
/* 802D8914 002D5854 41 82 00 18 */ beq lbl_802D892C
/* 802D8918 002D5858 38 80 00 01 */ li r4, 1
/* 802D891C 002D585C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8920 002D5860 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D8924 002D5864 7D 89 03 A6 */ mtctr r12
/* 802D8928 002D5868 4E 80 04 21 */ bctrl
lbl_802D892C:
/* 802D892C 002D586C 80 7E 00 50 */ lwz r3, 0x50(r30)
/* 802D8930 002D5870 28 03 00 00 */ cmplwi r3, 0
/* 802D8934 002D5874 41 82 00 14 */ beq lbl_802D8948
/* 802D8938 002D5878 38 80 00 00 */ li r4, 0
/* 802D893C 002D587C 4B FF 5B C5 */ bl JKRHeap_NS_free
/* 802D8940 002D5880 38 00 00 00 */ li r0, 0
/* 802D8944 002D5884 90 1E 00 50 */ stw r0, 0x50(r30)
lbl_802D8948:
/* 802D8948 002D5888 80 7E 00 70 */ lwz r3, 0x70(r30)
/* 802D894C 002D588C 28 03 00 00 */ cmplwi r3, 0
/* 802D8950 002D5890 41 82 00 1C */ beq lbl_802D896C
/* 802D8954 002D5894 41 82 00 18 */ beq lbl_802D896C
/* 802D8958 002D5898 38 80 00 01 */ li r4, 1
/* 802D895C 002D589C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8960 002D58A0 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D8964 002D58A4 7D 89 03 A6 */ mtctr r12
/* 802D8968 002D58A8 4E 80 04 21 */ bctrl
lbl_802D896C:
/* 802D896C 002D58AC 3C 60 80 43 */ lis r3, lbl_80434354@ha
/* 802D8970 002D58B0 38 63 43 54 */ addi r3, r3, lbl_80434354@l
/* 802D8974 002D58B4 38 9E 00 18 */ addi r4, r30, 0x18
/* 802D8978 002D58B8 48 00 37 E5 */ bl JSUPtrList_NS_remove
/* 802D897C 002D58BC 38 00 00 00 */ li r0, 0
/* 802D8980 002D58C0 98 1E 00 30 */ stb r0, 0x30(r30)
/* 802D8984 002D58C4 7F C3 F3 78 */ mr r3, r30
/* 802D8988 002D58C8 38 80 00 00 */ li r4, 0
/* 802D898C 002D58CC 4B FF D9 A9 */ bl JKRArchive_NS_dtor
/* 802D8990 002D58D0 7F E0 07 35 */ extsh. r0, r31
/* 802D8994 002D58D4 40 81 00 0C */ ble lbl_802D89A0
/* 802D8998 002D58D8 7F C3 F3 78 */ mr r3, r30
/* 802D899C 002D58DC 4B FF 63 A1 */ bl __dl
lbl_802D89A0:
/* 802D89A0 002D58E0 7F C3 F3 78 */ mr r3, r30
/* 802D89A4 002D58E4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D89A8 002D58E8 48 08 98 7D */ bl _restgpr_28
/* 802D89AC 002D58EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D89B0 002D58F0 7C 08 03 A6 */ mtlr r0
/* 802D89B4 002D58F4 38 21 00 20 */ addi r1, r1, 0x20
/* 802D89B8 002D58F8 4E 80 00 20 */ blr
.global JKRCompArchive_NS_open
JKRCompArchive_NS_open:
/* 802D89BC 002D58FC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D89C0 002D5900 7C 08 02 A6 */ mflr r0
/* 802D89C4 002D5904 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D89C8 002D5908 39 61 00 30 */ addi r11, r1, 0x30
/* 802D89CC 002D590C 48 08 98 01 */ bl func_803621CC
/* 802D89D0 002D5910 7C 7F 1B 78 */ mr r31, r3
/* 802D89D4 002D5914 7C 9A 23 78 */ mr r26, r4
/* 802D89D8 002D5918 38 00 00 00 */ li r0, 0
/* 802D89DC 002D591C 90 03 00 44 */ stw r0, 0x44(r3)
/* 802D89E0 002D5920 90 03 00 64 */ stw r0, 0x64(r3)
/* 802D89E4 002D5924 90 03 00 68 */ stw r0, 0x68(r3)
/* 802D89E8 002D5928 90 03 00 6C */ stw r0, 0x6c(r3)
/* 802D89EC 002D592C 90 03 00 74 */ stw r0, 0x74(r3)
/* 802D89F0 002D5930 90 03 00 78 */ stw r0, 0x78(r3)
/* 802D89F4 002D5934 90 03 00 7C */ stw r0, 0x7c(r3)
/* 802D89F8 002D5938 90 03 00 48 */ stw r0, 0x48(r3)
/* 802D89FC 002D593C 90 03 00 4C */ stw r0, 0x4c(r3)
/* 802D8A00 002D5940 90 03 00 54 */ stw r0, 0x54(r3)
/* 802D8A04 002D5944 38 60 00 F8 */ li r3, 0xf8
/* 802D8A08 002D5948 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
/* 802D8A0C 002D594C 38 A0 00 00 */ li r5, 0
/* 802D8A10 002D5950 4B FF 62 89 */ bl __nw_X2_
/* 802D8A14 002D5954 7C 60 1B 79 */ or. r0, r3, r3
/* 802D8A18 002D5958 41 82 00 10 */ beq lbl_802D8A28
/* 802D8A1C 002D595C 7F 44 D3 78 */ mr r4, r26
/* 802D8A20 002D5960 48 00 0C 81 */ bl JKRDvdFile_X2_
/* 802D8A24 002D5964 7C 60 1B 78 */ mr r0, r3
lbl_802D8A28:
/* 802D8A28 002D5968 90 1F 00 70 */ stw r0, 0x70(r31)
/* 802D8A2C 002D596C 80 1F 00 70 */ lwz r0, 0x70(r31)
/* 802D8A30 002D5970 28 00 00 00 */ cmplwi r0, 0
/* 802D8A34 002D5974 40 82 00 14 */ bne lbl_802D8A48
/* 802D8A38 002D5978 38 00 00 00 */ li r0, 0
/* 802D8A3C 002D597C 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8A40 002D5980 38 60 00 00 */ li r3, 0
/* 802D8A44 002D5984 48 00 04 E4 */ b lbl_802D8F28
lbl_802D8A48:
/* 802D8A48 002D5988 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
/* 802D8A4C 002D598C 38 80 00 20 */ li r4, 0x20
/* 802D8A50 002D5990 38 A0 FF E0 */ li r5, -32
/* 802D8A54 002D5994 4B FF 5A 81 */ bl JKRHeap_NS_alloc_X1_
/* 802D8A58 002D5998 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D8A5C 002D599C 40 82 00 10 */ bne lbl_802D8A6C
/* 802D8A60 002D59A0 38 00 00 00 */ li r0, 0
/* 802D8A64 002D59A4 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8A68 002D59A8 48 00 04 70 */ b lbl_802D8ED8
lbl_802D8A6C:
/* 802D8A6C 002D59AC 38 00 00 00 */ li r0, 0
/* 802D8A70 002D59B0 90 01 00 08 */ stw r0, 8(r1)
/* 802D8A74 002D59B4 7F 43 D3 78 */ mr r3, r26
/* 802D8A78 002D59B8 7F C4 F3 78 */ mr r4, r30
/* 802D8A7C 002D59BC 38 A0 00 01 */ li r5, 1
/* 802D8A80 002D59C0 38 C0 00 20 */ li r6, 0x20
/* 802D8A84 002D59C4 38 E0 00 00 */ li r7, 0
/* 802D8A88 002D59C8 39 00 00 01 */ li r8, 1
/* 802D8A8C 002D59CC 39 20 00 00 */ li r9, 0
/* 802D8A90 002D59D0 39 5F 00 5C */ addi r10, r31, 0x5c
/* 802D8A94 002D59D4 48 00 11 C1 */ bl JKRDvdRipper_NS_loadToMainRAM_X1_
/* 802D8A98 002D59D8 7F C3 F3 78 */ mr r3, r30
/* 802D8A9C 002D59DC 38 80 00 20 */ li r4, 0x20
/* 802D8AA0 002D59E0 48 06 2A E1 */ bl DCInvalidateRange
/* 802D8AA4 002D59E4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 802D8AA8 002D59E8 90 1F 00 74 */ stw r0, 0x74(r31)
/* 802D8AAC 002D59EC 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 802D8AB0 002D59F0 90 1F 00 78 */ stw r0, 0x78(r31)
/* 802D8AB4 002D59F4 80 1F 00 5C */ lwz r0, 0x5c(r31)
/* 802D8AB8 002D59F8 2C 00 00 01 */ cmpwi r0, 1
/* 802D8ABC 002D59FC 41 82 01 60 */ beq lbl_802D8C1C
/* 802D8AC0 002D5A00 40 80 00 10 */ bge lbl_802D8AD0
/* 802D8AC4 002D5A04 2C 00 00 00 */ cmpwi r0, 0
/* 802D8AC8 002D5A08 40 80 00 10 */ bge lbl_802D8AD8
/* 802D8ACC 002D5A0C 48 00 03 58 */ b lbl_802D8E24
lbl_802D8AD0:
/* 802D8AD0 002D5A10 2C 00 00 03 */ cmpwi r0, 3
/* 802D8AD4 002D5A14 40 80 03 50 */ bge lbl_802D8E24
lbl_802D8AD8:
/* 802D8AD8 002D5A18 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 802D8ADC 002D5A1C 2C 00 00 01 */ cmpwi r0, 1
/* 802D8AE0 002D5A20 38 80 FF E0 */ li r4, -32
/* 802D8AE4 002D5A24 40 82 00 08 */ bne lbl_802D8AEC
/* 802D8AE8 002D5A28 38 80 00 20 */ li r4, 0x20
lbl_802D8AEC:
/* 802D8AEC 002D5A2C 7C 9D 23 78 */ mr r29, r4
/* 802D8AF0 002D5A30 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802D8AF4 002D5A34 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8AF8 002D5A38 7C 63 02 14 */ add r3, r3, r0
/* 802D8AFC 002D5A3C 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D8B00 002D5A40 4B FF 59 75 */ bl JKRHeap_NS_alloc
/* 802D8B04 002D5A44 90 7F 00 44 */ stw r3, 0x44(r31)
/* 802D8B08 002D5A48 80 9F 00 44 */ lwz r4, 0x44(r31)
/* 802D8B0C 002D5A4C 28 04 00 00 */ cmplwi r4, 0
/* 802D8B10 002D5A50 40 82 00 10 */ bne lbl_802D8B20
/* 802D8B14 002D5A54 38 00 00 00 */ li r0, 0
/* 802D8B18 002D5A58 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8B1C 002D5A5C 48 00 03 08 */ b lbl_802D8E24
lbl_802D8B20:
/* 802D8B20 002D5A60 38 00 00 00 */ li r0, 0
/* 802D8B24 002D5A64 90 01 00 08 */ stw r0, 8(r1)
/* 802D8B28 002D5A68 7F 43 D3 78 */ mr r3, r26
/* 802D8B2C 002D5A6C 38 A0 00 01 */ li r5, 1
/* 802D8B30 002D5A70 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 802D8B34 002D5A74 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8B38 002D5A78 7C C6 02 14 */ add r6, r6, r0
/* 802D8B3C 002D5A7C 38 E0 00 00 */ li r7, 0
/* 802D8B40 002D5A80 39 00 00 01 */ li r8, 1
/* 802D8B44 002D5A84 39 20 00 20 */ li r9, 0x20
/* 802D8B48 002D5A88 39 40 00 00 */ li r10, 0
/* 802D8B4C 002D5A8C 48 00 11 09 */ bl JKRDvdRipper_NS_loadToMainRAM_X1_
/* 802D8B50 002D5A90 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8B54 002D5A94 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802D8B58 002D5A98 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8B5C 002D5A9C 7C 84 02 14 */ add r4, r4, r0
/* 802D8B60 002D5AA0 48 06 2A 21 */ bl DCInvalidateRange
/* 802D8B64 002D5AA4 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8B68 002D5AA8 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8B6C 002D5AAC 7C 03 02 14 */ add r0, r3, r0
/* 802D8B70 002D5AB0 90 1F 00 64 */ stw r0, 0x64(r31)
/* 802D8B74 002D5AB4 80 9F 00 78 */ lwz r4, 0x78(r31)
/* 802D8B78 002D5AB8 28 04 00 00 */ cmplwi r4, 0
/* 802D8B7C 002D5ABC 41 82 00 5C */ beq lbl_802D8BD8
/* 802D8B80 002D5AC0 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
/* 802D8B84 002D5AC4 80 63 00 94 */ lwz r3, 0x94(r3)
/* 802D8B88 002D5AC8 38 A0 00 00 */ li r5, 0
/* 802D8B8C 002D5ACC 4B FF A4 31 */ bl JKRAramHeap_NS_alloc
/* 802D8B90 002D5AD0 90 7F 00 68 */ stw r3, 0x68(r31)
/* 802D8B94 002D5AD4 80 7F 00 68 */ lwz r3, 0x68(r31)
/* 802D8B98 002D5AD8 28 03 00 00 */ cmplwi r3, 0
/* 802D8B9C 002D5ADC 40 82 00 10 */ bne lbl_802D8BAC
/* 802D8BA0 002D5AE0 38 00 00 00 */ li r0, 0
/* 802D8BA4 002D5AE4 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8BA8 002D5AE8 48 00 02 7C */ b lbl_802D8E24
lbl_802D8BAC:
/* 802D8BAC 002D5AEC 80 83 00 14 */ lwz r4, 0x14(r3)
/* 802D8BB0 002D5AF0 7F 43 D3 78 */ mr r3, r26
/* 802D8BB4 002D5AF4 38 A0 00 01 */ li r5, 1
/* 802D8BB8 002D5AF8 80 DF 00 74 */ lwz r6, 0x74(r31)
/* 802D8BBC 002D5AFC 80 FE 00 08 */ lwz r7, 8(r30)
/* 802D8BC0 002D5B00 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8BC4 002D5B04 7C C0 32 14 */ add r6, r0, r6
/* 802D8BC8 002D5B08 7C C7 32 14 */ add r6, r7, r6
/* 802D8BCC 002D5B0C 38 E0 00 00 */ li r7, 0
/* 802D8BD0 002D5B10 39 00 00 00 */ li r8, 0
/* 802D8BD4 002D5B14 48 00 1C A1 */ bl JKRDvdAramRipper_NS_loadToAram
lbl_802D8BD8:
/* 802D8BD8 002D5B18 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8BDC 002D5B1C 80 03 00 04 */ lwz r0, 4(r3)
/* 802D8BE0 002D5B20 7C 03 02 14 */ add r0, r3, r0
/* 802D8BE4 002D5B24 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802D8BE8 002D5B28 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8BEC 002D5B2C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802D8BF0 002D5B30 7C 03 02 14 */ add r0, r3, r0
/* 802D8BF4 002D5B34 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 802D8BF8 002D5B38 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8BFC 002D5B3C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802D8C00 002D5B40 7C 03 02 14 */ add r0, r3, r0
/* 802D8C04 002D5B44 90 1F 00 54 */ stw r0, 0x54(r31)
/* 802D8C08 002D5B48 80 7E 00 08 */ lwz r3, 8(r30)
/* 802D8C0C 002D5B4C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8C10 002D5B50 7C 03 02 14 */ add r0, r3, r0
/* 802D8C14 002D5B54 90 1F 00 6C */ stw r0, 0x6c(r31)
/* 802D8C18 002D5B58 48 00 02 0C */ b lbl_802D8E24
lbl_802D8C1C:
/* 802D8C1C 002D5B5C 80 7F 00 70 */ lwz r3, 0x70(r31)
/* 802D8C20 002D5B60 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8C24 002D5B64 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802D8C28 002D5B68 7D 89 03 A6 */ mtctr r12
/* 802D8C2C 002D5B6C 4E 80 04 21 */ bctrl
/* 802D8C30 002D5B70 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D8C34 002D5B74 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
/* 802D8C38 002D5B78 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 802D8C3C 002D5B7C 2C 00 00 01 */ cmpwi r0, 1
/* 802D8C40 002D5B80 3B A0 FF E0 */ li r29, -32
/* 802D8C44 002D5B84 40 82 00 08 */ bne lbl_802D8C4C
/* 802D8C48 002D5B88 3B A0 00 20 */ li r29, 0x20
lbl_802D8C4C:
/* 802D8C4C 002D5B8C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
/* 802D8C50 002D5B90 7F 24 CB 78 */ mr r4, r25
/* 802D8C54 002D5B94 7F 9D 00 D0 */ neg r28, r29
/* 802D8C58 002D5B98 7F 85 E3 78 */ mr r5, r28
/* 802D8C5C 002D5B9C 4B FF 58 79 */ bl JKRHeap_NS_alloc_X1_
/* 802D8C60 002D5BA0 7C 7B 1B 79 */ or. r27, r3, r3
/* 802D8C64 002D5BA4 40 82 00 10 */ bne lbl_802D8C74
/* 802D8C68 002D5BA8 38 00 00 00 */ li r0, 0
/* 802D8C6C 002D5BAC 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8C70 002D5BB0 48 00 01 74 */ b lbl_802D8DE4
lbl_802D8C74:
/* 802D8C74 002D5BB4 38 00 00 00 */ li r0, 0
/* 802D8C78 002D5BB8 90 01 00 08 */ stw r0, 8(r1)
/* 802D8C7C 002D5BBC 7F 43 D3 78 */ mr r3, r26
/* 802D8C80 002D5BC0 7F 64 DB 78 */ mr r4, r27
/* 802D8C84 002D5BC4 38 A0 00 02 */ li r5, 2
/* 802D8C88 002D5BC8 7F 26 CB 78 */ mr r6, r25
/* 802D8C8C 002D5BCC 38 E0 00 00 */ li r7, 0
/* 802D8C90 002D5BD0 39 00 00 01 */ li r8, 1
/* 802D8C94 002D5BD4 39 20 00 00 */ li r9, 0
/* 802D8C98 002D5BD8 39 40 00 00 */ li r10, 0
/* 802D8C9C 002D5BDC 48 00 0F B9 */ bl JKRDvdRipper_NS_loadToMainRAM_X1_
/* 802D8CA0 002D5BE0 7F 63 DB 78 */ mr r3, r27
/* 802D8CA4 002D5BE4 7F 24 CB 78 */ mr r4, r25
/* 802D8CA8 002D5BE8 48 06 28 D9 */ bl DCInvalidateRange
/* 802D8CAC 002D5BEC 88 BB 00 07 */ lbz r5, 7(r27)
/* 802D8CB0 002D5BF0 88 9B 00 06 */ lbz r4, 6(r27)
/* 802D8CB4 002D5BF4 88 7B 00 04 */ lbz r3, 4(r27)
/* 802D8CB8 002D5BF8 88 1B 00 05 */ lbz r0, 5(r27)
/* 802D8CBC 002D5BFC 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D8CC0 002D5C00 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D8CC4 002D5C04 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D8CC8 002D5C08 7C A3 03 78 */ or r3, r5, r0
/* 802D8CCC 002D5C0C 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D8CD0 002D5C10 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
/* 802D8CD4 002D5C14 7F 23 CB 78 */ mr r3, r25
/* 802D8CD8 002D5C18 7F 84 E3 78 */ mr r4, r28
/* 802D8CDC 002D5C1C 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D8CE0 002D5C20 4B FF 57 95 */ bl JKRHeap_NS_alloc
/* 802D8CE4 002D5C24 7C 7C 1B 79 */ or. r28, r3, r3
/* 802D8CE8 002D5C28 40 82 00 10 */ bne lbl_802D8CF8
/* 802D8CEC 002D5C2C 38 00 00 00 */ li r0, 0
/* 802D8CF0 002D5C30 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8CF4 002D5C34 48 00 00 F0 */ b lbl_802D8DE4
lbl_802D8CF8:
/* 802D8CF8 002D5C38 7F 9E E3 78 */ mr r30, r28
/* 802D8CFC 002D5C3C 7F 63 DB 78 */ mr r3, r27
/* 802D8D00 002D5C40 7F 84 E3 78 */ mr r4, r28
/* 802D8D04 002D5C44 7F 25 CB 78 */ mr r5, r25
/* 802D8D08 002D5C48 38 C0 00 00 */ li r6, 0
/* 802D8D0C 002D5C4C 48 00 2C 7D */ bl JKRDecomp_NS_orderSync
/* 802D8D10 002D5C50 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
/* 802D8D14 002D5C54 7F 64 DB 78 */ mr r4, r27
/* 802D8D18 002D5C58 4B FF 58 31 */ bl JKRHeap_NS_free_X1_
/* 802D8D1C 002D5C5C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802D8D20 002D5C60 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8D24 002D5C64 7C 63 02 14 */ add r3, r3, r0
/* 802D8D28 002D5C68 7F A4 EB 78 */ mr r4, r29
/* 802D8D2C 002D5C6C 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D8D30 002D5C70 4B FF 57 45 */ bl JKRHeap_NS_alloc
/* 802D8D34 002D5C74 90 7F 00 44 */ stw r3, 0x44(r31)
/* 802D8D38 002D5C78 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8D3C 002D5C7C 28 03 00 00 */ cmplwi r3, 0
/* 802D8D40 002D5C80 40 82 00 10 */ bne lbl_802D8D50
/* 802D8D44 002D5C84 38 00 00 00 */ li r0, 0
/* 802D8D48 002D5C88 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8D4C 002D5C8C 48 00 00 98 */ b lbl_802D8DE4
lbl_802D8D50:
/* 802D8D50 002D5C90 38 9E 00 20 */ addi r4, r30, 0x20
/* 802D8D54 002D5C94 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 802D8D58 002D5C98 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8D5C 002D5C9C 7C A5 02 14 */ add r5, r5, r0
/* 802D8D60 002D5CA0 4B FF 5D B9 */ bl JKRHeap_NS_copyMemory
/* 802D8D64 002D5CA4 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8D68 002D5CA8 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8D6C 002D5CAC 7C 03 02 14 */ add r0, r3, r0
/* 802D8D70 002D5CB0 90 1F 00 64 */ stw r0, 0x64(r31)
/* 802D8D74 002D5CB4 80 9F 00 78 */ lwz r4, 0x78(r31)
/* 802D8D78 002D5CB8 28 04 00 00 */ cmplwi r4, 0
/* 802D8D7C 002D5CBC 41 82 00 68 */ beq lbl_802D8DE4
/* 802D8D80 002D5CC0 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
/* 802D8D84 002D5CC4 80 63 00 94 */ lwz r3, 0x94(r3)
/* 802D8D88 002D5CC8 38 A0 00 00 */ li r5, 0
/* 802D8D8C 002D5CCC 4B FF A2 31 */ bl JKRAramHeap_NS_alloc
/* 802D8D90 002D5CD0 90 7F 00 68 */ stw r3, 0x68(r31)
/* 802D8D94 002D5CD4 80 7F 00 68 */ lwz r3, 0x68(r31)
/* 802D8D98 002D5CD8 28 03 00 00 */ cmplwi r3, 0
/* 802D8D9C 002D5CDC 40 82 00 10 */ bne lbl_802D8DAC
/* 802D8DA0 002D5CE0 38 00 00 00 */ li r0, 0
/* 802D8DA4 002D5CE4 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8DA8 002D5CE8 48 00 00 3C */ b lbl_802D8DE4
lbl_802D8DAC:
/* 802D8DAC 002D5CEC 80 83 00 14 */ lwz r4, 0x14(r3)
/* 802D8DB0 002D5CF0 80 7E 00 08 */ lwz r3, 8(r30)
/* 802D8DB4 002D5CF4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8DB8 002D5CF8 7C 63 02 14 */ add r3, r3, r0
/* 802D8DBC 002D5CFC 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8DC0 002D5D00 7C 63 02 14 */ add r3, r3, r0
/* 802D8DC4 002D5D04 7C 7C 1A 14 */ add r3, r28, r3
/* 802D8DC8 002D5D08 80 BF 00 78 */ lwz r5, 0x78(r31)
/* 802D8DCC 002D5D0C 38 C0 00 00 */ li r6, 0
/* 802D8DD0 002D5D10 38 E0 00 00 */ li r7, 0
/* 802D8DD4 002D5D14 39 00 00 00 */ li r8, 0
/* 802D8DD8 002D5D18 39 20 FF FF */ li r9, -1
/* 802D8DDC 002D5D1C 39 40 00 00 */ li r10, 0
/* 802D8DE0 002D5D20 4B FF 95 5D */ bl JKRAram_NS_mainRamToAram
lbl_802D8DE4:
/* 802D8DE4 002D5D24 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8DE8 002D5D28 80 03 00 04 */ lwz r0, 4(r3)
/* 802D8DEC 002D5D2C 7C 03 02 14 */ add r0, r3, r0
/* 802D8DF0 002D5D30 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802D8DF4 002D5D34 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8DF8 002D5D38 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802D8DFC 002D5D3C 7C 03 02 14 */ add r0, r3, r0
/* 802D8E00 002D5D40 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 802D8E04 002D5D44 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8E08 002D5D48 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802D8E0C 002D5D4C 7C 03 02 14 */ add r0, r3, r0
/* 802D8E10 002D5D50 90 1F 00 54 */ stw r0, 0x54(r31)
/* 802D8E14 002D5D54 80 7E 00 08 */ lwz r3, 8(r30)
/* 802D8E18 002D5D58 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8E1C 002D5D5C 7C 03 02 14 */ add r0, r3, r0
/* 802D8E20 002D5D60 90 1F 00 6C */ stw r0, 0x6c(r31)
lbl_802D8E24:
/* 802D8E24 002D5D64 38 00 00 00 */ li r0, 0
/* 802D8E28 002D5D68 90 1F 00 50 */ stw r0, 0x50(r31)
/* 802D8E2C 002D5D6C 38 80 00 00 */ li r4, 0
/* 802D8E30 002D5D70 80 BF 00 4C */ lwz r5, 0x4c(r31)
/* 802D8E34 002D5D74 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8E38 002D5D78 80 03 00 08 */ lwz r0, 8(r3)
/* 802D8E3C 002D5D7C 7C 09 03 A6 */ mtctr r0
/* 802D8E40 002D5D80 28 00 00 00 */ cmplwi r0, 0
/* 802D8E44 002D5D84 40 81 00 30 */ ble lbl_802D8E74
lbl_802D8E48:
/* 802D8E48 002D5D88 80 05 00 04 */ lwz r0, 4(r5)
/* 802D8E4C 002D5D8C 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D8E50 002D5D90 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f
/* 802D8E54 002D5D94 41 82 00 18 */ beq lbl_802D8E6C
/* 802D8E58 002D5D98 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D8E5C 002D5D9C 40 82 00 10 */ bne lbl_802D8E6C
/* 802D8E60 002D5DA0 54 60 07 7A */ rlwinm r0, r3, 0, 0x1d, 0x1d
/* 802D8E64 002D5DA4 7C 80 03 78 */ or r0, r4, r0
/* 802D8E68 002D5DA8 54 04 06 3E */ clrlwi r4, r0, 0x18
lbl_802D8E6C:
/* 802D8E6C 002D5DAC 38 A5 00 14 */ addi r5, r5, 0x14
/* 802D8E70 002D5DB0 42 00 FF D8 */ bdnz lbl_802D8E48
lbl_802D8E74:
/* 802D8E74 002D5DB4 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802D8E78 002D5DB8 41 82 00 60 */ beq lbl_802D8ED8
/* 802D8E7C 002D5DBC 7F A3 EB 78 */ mr r3, r29
/* 802D8E80 002D5DC0 48 08 C2 51 */ bl func_803650D0
/* 802D8E84 002D5DC4 7C 64 1B 78 */ mr r4, r3
/* 802D8E88 002D5DC8 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D8E8C 002D5DCC 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8E90 002D5DD0 80 03 00 08 */ lwz r0, 8(r3)
/* 802D8E94 002D5DD4 54 03 10 3A */ slwi r3, r0, 2
/* 802D8E98 002D5DD8 4B FF 55 DD */ bl JKRHeap_NS_alloc
/* 802D8E9C 002D5DDC 90 7F 00 50 */ stw r3, 0x50(r31)
/* 802D8EA0 002D5DE0 80 7F 00 50 */ lwz r3, 0x50(r31)
/* 802D8EA4 002D5DE4 28 03 00 00 */ cmplwi r3, 0
/* 802D8EA8 002D5DE8 40 82 00 1C */ bne lbl_802D8EC4
/* 802D8EAC 002D5DEC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
/* 802D8EB0 002D5DF0 80 9F 00 44 */ lwz r4, 0x44(r31)
/* 802D8EB4 002D5DF4 4B FF 56 95 */ bl JKRHeap_NS_free_X1_
/* 802D8EB8 002D5DF8 38 00 00 00 */ li r0, 0
/* 802D8EBC 002D5DFC 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8EC0 002D5E00 48 00 00 18 */ b lbl_802D8ED8
lbl_802D8EC4:
/* 802D8EC4 002D5E04 38 80 00 00 */ li r4, 0
/* 802D8EC8 002D5E08 80 BF 00 44 */ lwz r5, 0x44(r31)
/* 802D8ECC 002D5E0C 80 05 00 08 */ lwz r0, 8(r5)
/* 802D8ED0 002D5E10 54 05 10 3A */ slwi r5, r0, 2
/* 802D8ED4 002D5E14 4B D2 A5 85 */ bl func_80003458
lbl_802D8ED8:
/* 802D8ED8 002D5E18 28 1E 00 00 */ cmplwi r30, 0
/* 802D8EDC 002D5E1C 41 82 00 10 */ beq lbl_802D8EEC
/* 802D8EE0 002D5E20 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
/* 802D8EE4 002D5E24 7F C4 F3 78 */ mr r4, r30
/* 802D8EE8 002D5E28 4B FF 56 61 */ bl JKRHeap_NS_free_X1_
lbl_802D8EEC:
/* 802D8EEC 002D5E2C 88 1F 00 3C */ lbz r0, 0x3c(r31)
/* 802D8EF0 002D5E30 28 00 00 00 */ cmplwi r0, 0
/* 802D8EF4 002D5E34 40 82 00 30 */ bne lbl_802D8F24
/* 802D8EF8 002D5E38 80 7F 00 70 */ lwz r3, 0x70(r31)
/* 802D8EFC 002D5E3C 28 03 00 00 */ cmplwi r3, 0
/* 802D8F00 002D5E40 41 82 00 1C */ beq lbl_802D8F1C
/* 802D8F04 002D5E44 41 82 00 18 */ beq lbl_802D8F1C
/* 802D8F08 002D5E48 38 80 00 01 */ li r4, 1
/* 802D8F0C 002D5E4C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8F10 002D5E50 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D8F14 002D5E54 7D 89 03 A6 */ mtctr r12
/* 802D8F18 002D5E58 4E 80 04 21 */ bctrl
lbl_802D8F1C:
/* 802D8F1C 002D5E5C 38 60 00 00 */ li r3, 0
/* 802D8F20 002D5E60 48 00 00 08 */ b lbl_802D8F28
lbl_802D8F24:
/* 802D8F24 002D5E64 38 60 00 01 */ li r3, 1
lbl_802D8F28:
/* 802D8F28 002D5E68 39 61 00 30 */ addi r11, r1, 0x30
/* 802D8F2C 002D5E6C 48 08 92 ED */ bl func_80362218
/* 802D8F30 002D5E70 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D8F34 002D5E74 7C 08 03 A6 */ mtlr r0
/* 802D8F38 002D5E78 38 21 00 30 */ addi r1, r1, 0x30
/* 802D8F3C 002D5E7C 4E 80 00 20 */ blr
/* 802D8F40 002D5E80 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D8F44 002D5E84 7C 08 02 A6 */ mflr r0
/* 802D8F48 002D5E88 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D8F4C 002D5E8C 39 61 00 30 */ addi r11, r1, 0x30
/* 802D8F50 002D5E90 48 08 92 89 */ bl _savegpr_28
/* 802D8F54 002D5E94 7C 7C 1B 78 */ mr r28, r3
/* 802D8F58 002D5E98 7C 9D 23 78 */ mr r29, r4
/* 802D8F5C 002D5E9C 7C BE 2B 78 */ mr r30, r5
/* 802D8F60 002D5EA0 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 802D8F64 002D5EA4 7C A4 2B 78 */ mr r4, r5
/* 802D8F68 002D5EA8 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D8F6C 002D5EAC 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D8F70 002D5EB0 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D8F74 002D5EB4 40 82 00 0C */ bne lbl_802D8F80
/* 802D8F78 002D5EB8 3B E0 00 00 */ li r31, 0
/* 802D8F7C 002D5EBC 48 00 00 18 */ b lbl_802D8F94
lbl_802D8F80:
/* 802D8F80 002D5EC0 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 802D8F84 002D5EC4 41 82 00 0C */ beq lbl_802D8F90
/* 802D8F88 002D5EC8 3B E0 00 02 */ li r31, 2
/* 802D8F8C 002D5ECC 48 00 00 08 */ b lbl_802D8F94
lbl_802D8F90:
/* 802D8F90 002D5ED0 3B E0 00 01 */ li r31, 1
lbl_802D8F94:
/* 802D8F94 002D5ED4 28 1E 00 00 */ cmplwi r30, 0
/* 802D8F98 002D5ED8 40 82 00 08 */ bne lbl_802D8FA0
/* 802D8F9C 002D5EDC 3B C1 00 10 */ addi r30, r1, 0x10
lbl_802D8FA0:
/* 802D8FA0 002D5EE0 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 802D8FA4 002D5EE4 28 00 00 00 */ cmplwi r0, 0
/* 802D8FA8 002D5EE8 40 82 00 F0 */ bne lbl_802D9098
/* 802D8FAC 002D5EEC 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D8FB0 002D5EF0 41 82 00 1C */ beq lbl_802D8FCC
/* 802D8FB4 002D5EF4 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 802D8FB8 002D5EF8 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D8FBC 002D5EFC 7C 03 02 14 */ add r0, r3, r0
/* 802D8FC0 002D5F00 90 1D 00 10 */ stw r0, 0x10(r29)
/* 802D8FC4 002D5F04 90 9E 00 00 */ stw r4, 0(r30)
/* 802D8FC8 002D5F08 48 00 00 DC */ b lbl_802D90A4
lbl_802D8FCC:
/* 802D8FCC 002D5F0C 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 802D8FD0 002D5F10 41 82 00 60 */ beq lbl_802D9030
/* 802D8FD4 002D5F14 80 7C 00 68 */ lwz r3, 0x68(r28)
/* 802D8FD8 002D5F18 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 802D8FDC 002D5F1C 80 7C 00 74 */ lwz r3, 0x74(r28)
/* 802D8FE0 002D5F20 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D8FE4 002D5F24 7C 00 2A 14 */ add r0, r0, r5
/* 802D8FE8 002D5F28 7C 63 00 50 */ subf r3, r3, r0
/* 802D8FEC 002D5F2C 80 BC 00 38 */ lwz r5, 0x38(r28)
/* 802D8FF0 002D5F30 7F E6 FB 78 */ mr r6, r31
/* 802D8FF4 002D5F34 38 E1 00 0C */ addi r7, r1, 0xc
/* 802D8FF8 002D5F38 4B FF E9 1D */ bl JKRAramArchive_NS_fetchResource_subroutine_X1_
/* 802D8FFC 002D5F3C 90 7E 00 00 */ stw r3, 0(r30)
/* 802D9000 002D5F40 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802D9004 002D5F44 90 1D 00 10 */ stw r0, 0x10(r29)
/* 802D9008 002D5F48 2C 1F 00 02 */ cmpwi r31, 2
/* 802D900C 002D5F4C 40 82 00 98 */ bne lbl_802D90A4
/* 802D9010 002D5F50 7F 83 E3 78 */ mr r3, r28
/* 802D9014 002D5F54 7F A4 EB 78 */ mr r4, r29
/* 802D9018 002D5F58 80 BE 00 00 */ lwz r5, 0(r30)
/* 802D901C 002D5F5C 81 9C 00 00 */ lwz r12, 0(r28)
/* 802D9020 002D5F60 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D9024 002D5F64 7D 89 03 A6 */ mtctr r12
/* 802D9028 002D5F68 4E 80 04 21 */ bctrl
/* 802D902C 002D5F6C 48 00 00 78 */ b lbl_802D90A4
lbl_802D9030:
/* 802D9030 002D5F70 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 802D9034 002D5F74 41 82 00 70 */ beq lbl_802D90A4
/* 802D9038 002D5F78 80 7C 00 40 */ lwz r3, 0x40(r28)
/* 802D903C 002D5F7C 80 9C 00 6C */ lwz r4, 0x6c(r28)
/* 802D9040 002D5F80 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D9044 002D5F84 7C 84 02 14 */ add r4, r4, r0
/* 802D9048 002D5F88 80 DC 00 38 */ lwz r6, 0x38(r28)
/* 802D904C 002D5F8C 7F E7 FB 78 */ mr r7, r31
/* 802D9050 002D5F90 81 1C 00 5C */ lwz r8, 0x5c(r28)
/* 802D9054 002D5F94 39 21 00 08 */ addi r9, r1, 8
/* 802D9058 002D5F98 4B FF F4 1D */ bl JKRDvdArchive_NS_fetchResource_subroutine_X1_
/* 802D905C 002D5F9C 28 1E 00 00 */ cmplwi r30, 0
/* 802D9060 002D5FA0 41 82 00 08 */ beq lbl_802D9068
/* 802D9064 002D5FA4 90 7E 00 00 */ stw r3, 0(r30)
lbl_802D9068:
/* 802D9068 002D5FA8 80 01 00 08 */ lwz r0, 8(r1)
/* 802D906C 002D5FAC 90 1D 00 10 */ stw r0, 0x10(r29)
/* 802D9070 002D5FB0 2C 1F 00 02 */ cmpwi r31, 2
/* 802D9074 002D5FB4 40 82 00 30 */ bne lbl_802D90A4
/* 802D9078 002D5FB8 7F 83 E3 78 */ mr r3, r28
/* 802D907C 002D5FBC 7F A4 EB 78 */ mr r4, r29
/* 802D9080 002D5FC0 80 BE 00 00 */ lwz r5, 0(r30)
/* 802D9084 002D5FC4 81 9C 00 00 */ lwz r12, 0(r28)
/* 802D9088 002D5FC8 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D908C 002D5FCC 7D 89 03 A6 */ mtctr r12
/* 802D9090 002D5FD0 4E 80 04 21 */ bctrl
/* 802D9094 002D5FD4 48 00 00 10 */ b lbl_802D90A4
lbl_802D9098:
/* 802D9098 002D5FD8 28 1E 00 00 */ cmplwi r30, 0
/* 802D909C 002D5FDC 41 82 00 08 */ beq lbl_802D90A4
/* 802D90A0 002D5FE0 90 BE 00 00 */ stw r5, 0(r30)
lbl_802D90A4:
/* 802D90A4 002D5FE4 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 802D90A8 002D5FE8 39 61 00 30 */ addi r11, r1, 0x30
/* 802D90AC 002D5FEC 48 08 91 79 */ bl _restgpr_28
/* 802D90B0 002D5FF0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D90B4 002D5FF4 7C 08 03 A6 */ mtlr r0
/* 802D90B8 002D5FF8 38 21 00 30 */ addi r1, r1, 0x30
/* 802D90BC 002D5FFC 4E 80 00 20 */ blr
/* 802D90C0 002D6000 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D90C4 002D6004 7C 08 02 A6 */ mflr r0
/* 802D90C8 002D6008 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D90CC 002D600C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D90D0 002D6010 48 08 91 01 */ bl func_803621D0
/* 802D90D4 002D6014 7C 69 1B 78 */ mr r9, r3
/* 802D90D8 002D6018 7C 9C 23 78 */ mr r28, r4
/* 802D90DC 002D601C 7C BD 2B 78 */ mr r29, r5
/* 802D90E0 002D6020 7C DE 33 78 */ mr r30, r6
/* 802D90E4 002D6024 7C FF 3B 78 */ mr r31, r7
/* 802D90E8 002D6028 3B 60 00 00 */ li r27, 0
/* 802D90EC 002D602C 83 46 00 0C */ lwz r26, 0xc(r6)
/* 802D90F0 002D6030 38 1A 00 1F */ addi r0, r26, 0x1f
/* 802D90F4 002D6034 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 802D90F8 002D6038 80 06 00 04 */ lwz r0, 4(r6)
/* 802D90FC 002D603C 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D9100 002D6040 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D9104 002D6044 40 82 00 0C */ bne lbl_802D9110
/* 802D9108 002D6048 39 00 00 00 */ li r8, 0
/* 802D910C 002D604C 48 00 00 18 */ b lbl_802D9124
lbl_802D9110:
/* 802D9110 002D6050 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 802D9114 002D6054 41 82 00 0C */ beq lbl_802D9120
/* 802D9118 002D6058 39 00 00 02 */ li r8, 2
/* 802D911C 002D605C 48 00 00 08 */ b lbl_802D9124
lbl_802D9120:
/* 802D9120 002D6060 39 00 00 01 */ li r8, 1
lbl_802D9124:
/* 802D9124 002D6064 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 802D9128 002D6068 28 00 00 00 */ cmplwi r0, 0
/* 802D912C 002D606C 41 82 00 54 */ beq lbl_802D9180
/* 802D9130 002D6070 2C 08 00 02 */ cmpwi r8, 2
/* 802D9134 002D6074 40 82 00 28 */ bne lbl_802D915C
/* 802D9138 002D6078 7D 23 4B 78 */ mr r3, r9
/* 802D913C 002D607C 7F C4 F3 78 */ mr r4, r30
/* 802D9140 002D6080 81 89 00 00 */ lwz r12, 0(r9)
/* 802D9144 002D6084 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 802D9148 002D6088 7D 89 03 A6 */ mtctr r12
/* 802D914C 002D608C 4E 80 04 21 */ bctrl
/* 802D9150 002D6090 28 03 00 00 */ cmplwi r3, 0
/* 802D9154 002D6094 41 82 00 08 */ beq lbl_802D915C
/* 802D9158 002D6098 7C 7A 1B 78 */ mr r26, r3
lbl_802D915C:
/* 802D915C 002D609C 7C 1A E8 40 */ cmplw r26, r29
/* 802D9160 002D60A0 40 81 00 08 */ ble lbl_802D9168
/* 802D9164 002D60A4 7F BA EB 78 */ mr r26, r29
lbl_802D9168:
/* 802D9168 002D60A8 7F 83 E3 78 */ mr r3, r28
/* 802D916C 002D60AC 80 9E 00 10 */ lwz r4, 0x10(r30)
/* 802D9170 002D60B0 7F 45 D3 78 */ mr r5, r26
/* 802D9174 002D60B4 4B FF 59 A5 */ bl JKRHeap_NS_copyMemory
/* 802D9178 002D60B8 7F 5B D3 78 */ mr r27, r26
/* 802D917C 002D60BC 48 00 00 BC */ b lbl_802D9238
lbl_802D9180:
/* 802D9180 002D60C0 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D9184 002D60C4 41 82 00 2C */ beq lbl_802D91B0
/* 802D9188 002D60C8 80 69 00 64 */ lwz r3, 0x64(r9)
/* 802D918C 002D60CC 80 1E 00 08 */ lwz r0, 8(r30)
/* 802D9190 002D60D0 7C 63 02 14 */ add r3, r3, r0
/* 802D9194 002D60D4 7C A4 2B 78 */ mr r4, r5
/* 802D9198 002D60D8 7F 85 E3 78 */ mr r5, r28
/* 802D919C 002D60DC 57 A6 00 34 */ rlwinm r6, r29, 0, 0, 0x1a
/* 802D91A0 002D60E0 7D 07 43 78 */ mr r7, r8
/* 802D91A4 002D60E4 4B FF DD B9 */ bl JKRMemArchive_NS_fetchResource_subroutine
/* 802D91A8 002D60E8 7C 7B 1B 78 */ mr r27, r3
/* 802D91AC 002D60EC 48 00 00 8C */ b lbl_802D9238
lbl_802D91B0:
/* 802D91B0 002D60F0 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 802D91B4 002D60F4 41 82 00 38 */ beq lbl_802D91EC
/* 802D91B8 002D60F8 80 69 00 68 */ lwz r3, 0x68(r9)
/* 802D91BC 002D60FC 80 83 00 14 */ lwz r4, 0x14(r3)
/* 802D91C0 002D6100 80 69 00 74 */ lwz r3, 0x74(r9)
/* 802D91C4 002D6104 80 1E 00 08 */ lwz r0, 8(r30)
/* 802D91C8 002D6108 7C 00 22 14 */ add r0, r0, r4
/* 802D91CC 002D610C 7C 63 00 50 */ subf r3, r3, r0
/* 802D91D0 002D6110 7C A4 2B 78 */ mr r4, r5
/* 802D91D4 002D6114 7F 85 E3 78 */ mr r5, r28
/* 802D91D8 002D6118 57 A6 00 34 */ rlwinm r6, r29, 0, 0, 0x1a
/* 802D91DC 002D611C 7D 07 43 78 */ mr r7, r8
/* 802D91E0 002D6120 4B FF E6 79 */ bl JKRAramArchive_NS_fetchResource_subroutine
/* 802D91E4 002D6124 7C 7B 1B 78 */ mr r27, r3
/* 802D91E8 002D6128 48 00 00 50 */ b lbl_802D9238
lbl_802D91EC:
/* 802D91EC 002D612C 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 802D91F0 002D6130 41 82 00 2C */ beq lbl_802D921C
/* 802D91F4 002D6134 80 69 00 40 */ lwz r3, 0x40(r9)
/* 802D91F8 002D6138 80 89 00 6C */ lwz r4, 0x6c(r9)
/* 802D91FC 002D613C 80 1E 00 08 */ lwz r0, 8(r30)
/* 802D9200 002D6140 7C 84 02 14 */ add r4, r4, r0
/* 802D9204 002D6144 7F 86 E3 78 */ mr r6, r28
/* 802D9208 002D6148 57 A7 00 34 */ rlwinm r7, r29, 0, 0, 0x1a
/* 802D920C 002D614C 81 29 00 5C */ lwz r9, 0x5c(r9)
/* 802D9210 002D6150 4B FF F0 5D */ bl JKRDvdArchive_NS_fetchResource_subroutine
/* 802D9214 002D6154 7C 7B 1B 78 */ mr r27, r3
/* 802D9218 002D6158 48 00 00 20 */ b lbl_802D9238
lbl_802D921C:
/* 802D921C 002D615C 3C 60 80 3A */ lis r3, lbl_8039D220@ha
/* 802D9220 002D6160 38 63 D2 20 */ addi r3, r3, lbl_8039D220@l
/* 802D9224 002D6164 38 80 03 08 */ li r4, 0x308
/* 802D9228 002D6168 38 A3 00 13 */ addi r5, r3, 0x13
/* 802D922C 002D616C 38 C3 00 16 */ addi r6, r3, 0x16
/* 802D9230 002D6170 4C C6 31 82 */ crclr 6
/* 802D9234 002D6174 48 00 8F C9 */ bl JUTException_NS_panic_f
lbl_802D9238:
/* 802D9238 002D6178 28 1F 00 00 */ cmplwi r31, 0
/* 802D923C 002D617C 41 82 00 08 */ beq lbl_802D9244
/* 802D9240 002D6180 93 7F 00 00 */ stw r27, 0(r31)
lbl_802D9244:
/* 802D9244 002D6184 7F 83 E3 78 */ mr r3, r28
/* 802D9248 002D6188 39 61 00 20 */ addi r11, r1, 0x20
/* 802D924C 002D618C 48 08 8F D1 */ bl func_8036221C
/* 802D9250 002D6190 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D9254 002D6194 7C 08 03 A6 */ mtlr r0
/* 802D9258 002D6198 38 21 00 20 */ addi r1, r1, 0x20
/* 802D925C 002D619C 4E 80 00 20 */ blr
/* 802D9260 002D61A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D9264 002D61A4 7C 08 02 A6 */ mflr r0
/* 802D9268 002D61A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D926C 002D61AC 39 61 00 20 */ addi r11, r1, 0x20
/* 802D9270 002D61B0 48 08 8F 69 */ bl _savegpr_28
/* 802D9274 002D61B4 7C 7C 1B 78 */ mr r28, r3
/* 802D9278 002D61B8 80 03 00 44 */ lwz r0, 0x44(r3)
/* 802D927C 002D61BC 28 00 00 00 */ cmplwi r0, 0
/* 802D9280 002D61C0 41 82 00 5C */ beq lbl_802D92DC
/* 802D9284 002D61C4 88 1C 00 3C */ lbz r0, 0x3c(r28)
/* 802D9288 002D61C8 28 00 00 01 */ cmplwi r0, 1
/* 802D928C 002D61CC 41 82 00 50 */ beq lbl_802D92DC
/* 802D9290 002D61D0 83 DC 00 4C */ lwz r30, 0x4c(r28)
/* 802D9294 002D61D4 3B A0 00 00 */ li r29, 0
/* 802D9298 002D61D8 3B E0 00 00 */ li r31, 0
/* 802D929C 002D61DC 48 00 00 30 */ b lbl_802D92CC
lbl_802D92A0:
/* 802D92A0 002D61E0 80 1E 00 04 */ lwz r0, 4(r30)
/* 802D92A4 002D61E4 54 00 46 3E */ srwi r0, r0, 0x18
/* 802D92A8 002D61E8 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 802D92AC 002D61EC 28 03 00 00 */ cmplwi r3, 0
/* 802D92B0 002D61F0 41 82 00 18 */ beq lbl_802D92C8
/* 802D92B4 002D61F4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802D92B8 002D61F8 40 82 00 0C */ bne lbl_802D92C4
/* 802D92BC 002D61FC 80 9C 00 38 */ lwz r4, 0x38(r28)
/* 802D92C0 002D6200 4B FF 52 41 */ bl JKRHeap_NS_free
lbl_802D92C4:
/* 802D92C4 002D6204 93 FE 00 10 */ stw r31, 0x10(r30)
lbl_802D92C8:
/* 802D92C8 002D6208 3B BD 00 01 */ addi r29, r29, 1
lbl_802D92CC:
/* 802D92CC 002D620C 80 7C 00 44 */ lwz r3, 0x44(r28)
/* 802D92D0 002D6210 80 03 00 08 */ lwz r0, 8(r3)
/* 802D92D4 002D6214 7C 1D 00 40 */ cmplw r29, r0
/* 802D92D8 002D6218 41 80 FF C8 */ blt lbl_802D92A0
lbl_802D92DC:
/* 802D92DC 002D621C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D92E0 002D6220 48 08 8F 45 */ bl _restgpr_28
/* 802D92E4 002D6224 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D92E8 002D6228 7C 08 03 A6 */ mtlr r0
/* 802D92EC 002D622C 38 21 00 20 */ addi r1, r1, 0x20
/* 802D92F0 002D6230 4E 80 00 20 */ blr
/* 802D92F4 002D6234 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D92F8 002D6238 7C 08 02 A6 */ mflr r0
/* 802D92FC 002D623C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D9300 002D6240 39 61 00 20 */ addi r11, r1, 0x20
/* 802D9304 002D6244 48 08 8E D9 */ bl _savegpr_29
/* 802D9308 002D6248 7C 7D 1B 78 */ mr r29, r3
/* 802D930C 002D624C 7C 9E 23 78 */ mr r30, r4
/* 802D9310 002D6250 4B FF D4 25 */ bl JKRArchive_NS_findPtrResource
/* 802D9314 002D6254 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D9318 002D6258 40 82 00 0C */ bne lbl_802D9324
/* 802D931C 002D625C 38 60 00 00 */ li r3, 0
/* 802D9320 002D6260 48 00 00 28 */ b lbl_802D9348
lbl_802D9324:
/* 802D9324 002D6264 80 1F 00 04 */ lwz r0, 4(r31)
/* 802D9328 002D6268 54 00 46 F7 */ rlwinm. r0, r0, 8, 0x1b, 0x1b
/* 802D932C 002D626C 40 82 00 10 */ bne lbl_802D933C
/* 802D9330 002D6270 7F C3 F3 78 */ mr r3, r30
/* 802D9334 002D6274 80 9D 00 38 */ lwz r4, 0x38(r29)
/* 802D9338 002D6278 4B FF 51 C9 */ bl JKRHeap_NS_free
lbl_802D933C:
/* 802D933C 002D627C 38 00 00 00 */ li r0, 0
/* 802D9340 002D6280 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802D9344 002D6284 38 60 00 01 */ li r3, 1
lbl_802D9348:
/* 802D9348 002D6288 39 61 00 20 */ addi r11, r1, 0x20
/* 802D934C 002D628C 48 08 8E DD */ bl _restgpr_29
/* 802D9350 002D6290 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D9354 002D6294 7C 08 03 A6 */ mtlr r0
/* 802D9358 002D6298 38 21 00 20 */ addi r1, r1, 0x20
/* 802D935C 002D629C 4E 80 00 20 */ blr
/* 802D9360 002D62A0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802D9364 002D62A4 7C 08 02 A6 */ mflr r0
/* 802D9368 002D62A8 90 01 00 64 */ stw r0, 0x64(r1)
/* 802D936C 002D62AC 39 61 00 60 */ addi r11, r1, 0x60
/* 802D9370 002D62B0 48 08 8E 6D */ bl _savegpr_29
/* 802D9374 002D62B4 7C 7E 1B 78 */ mr r30, r3
/* 802D9378 002D62B8 7C 9D 23 78 */ mr r29, r4
/* 802D937C 002D62BC 80 03 00 50 */ lwz r0, 0x50(r3)
/* 802D9380 002D62C0 28 00 00 00 */ cmplwi r0, 0
/* 802D9384 002D62C4 40 82 00 18 */ bne lbl_802D939C
/* 802D9388 002D62C8 81 83 00 00 */ lwz r12, 0(r3)
/* 802D938C 002D62CC 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802D9390 002D62D0 7D 89 03 A6 */ mtctr r12
/* 802D9394 002D62D4 4E 80 04 21 */ bctrl
/* 802D9398 002D62D8 48 00 01 68 */ b lbl_802D9500
lbl_802D939C:
/* 802D939C 002D62DC 4B FF D3 99 */ bl JKRArchive_NS_findPtrResource
/* 802D93A0 002D62E0 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D93A4 002D62E4 40 82 00 0C */ bne lbl_802D93B0
/* 802D93A8 002D62E8 38 60 FF FF */ li r3, -1
/* 802D93AC 002D62EC 48 00 01 54 */ b lbl_802D9500
lbl_802D93B0:
/* 802D93B0 002D62F0 80 1F 00 04 */ lwz r0, 4(r31)
/* 802D93B4 002D62F4 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D93B8 002D62F8 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D93BC 002D62FC 40 82 00 20 */ bne lbl_802D93DC
/* 802D93C0 002D6300 7F C3 F3 78 */ mr r3, r30
/* 802D93C4 002D6304 7F A4 EB 78 */ mr r4, r29
/* 802D93C8 002D6308 81 9E 00 00 */ lwz r12, 0(r30)
/* 802D93CC 002D630C 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802D93D0 002D6310 7D 89 03 A6 */ mtctr r12
/* 802D93D4 002D6314 4E 80 04 21 */ bctrl
/* 802D93D8 002D6318 48 00 01 28 */ b lbl_802D9500
lbl_802D93DC:
/* 802D93DC 002D631C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D93E0 002D6320 41 82 00 28 */ beq lbl_802D9408
/* 802D93E4 002D6324 88 BD 00 07 */ lbz r5, 7(r29)
/* 802D93E8 002D6328 88 9D 00 06 */ lbz r4, 6(r29)
/* 802D93EC 002D632C 88 7D 00 04 */ lbz r3, 4(r29)
/* 802D93F0 002D6330 88 1D 00 05 */ lbz r0, 5(r29)
/* 802D93F4 002D6334 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D93F8 002D6338 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D93FC 002D633C 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D9400 002D6340 7C A3 03 78 */ or r3, r5, r0
/* 802D9404 002D6344 48 00 00 FC */ b lbl_802D9500
lbl_802D9408:
/* 802D9408 002D6348 38 01 00 2F */ addi r0, r1, 0x2f
/* 802D940C 002D634C 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a
/* 802D9410 002D6350 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 802D9414 002D6354 41 82 00 44 */ beq lbl_802D9458
/* 802D9418 002D6358 80 7E 00 68 */ lwz r3, 0x68(r30)
/* 802D941C 002D635C 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802D9420 002D6360 80 1F 00 08 */ lwz r0, 8(r31)
/* 802D9424 002D6364 7C 60 1A 14 */ add r3, r0, r3
/* 802D9428 002D6368 7F A4 EB 78 */ mr r4, r29
/* 802D942C 002D636C 38 A0 00 20 */ li r5, 0x20
/* 802D9430 002D6370 38 C0 00 00 */ li r6, 0
/* 802D9434 002D6374 38 E0 00 00 */ li r7, 0
/* 802D9438 002D6378 39 00 00 00 */ li r8, 0
/* 802D943C 002D637C 39 20 FF FF */ li r9, -1
/* 802D9440 002D6380 39 40 00 00 */ li r10, 0
/* 802D9444 002D6384 4B FF 91 71 */ bl JKRAram_NS_aramToMainRam
/* 802D9448 002D6388 7F A3 EB 78 */ mr r3, r29
/* 802D944C 002D638C 38 80 00 20 */ li r4, 0x20
/* 802D9450 002D6390 48 06 21 31 */ bl DCInvalidateRange
/* 802D9454 002D6394 48 00 00 6C */ b lbl_802D94C0
lbl_802D9458:
/* 802D9458 002D6398 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 802D945C 002D639C 41 82 00 48 */ beq lbl_802D94A4
/* 802D9460 002D63A0 38 00 00 00 */ li r0, 0
/* 802D9464 002D63A4 90 01 00 08 */ stw r0, 8(r1)
/* 802D9468 002D63A8 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 802D946C 002D63AC 7F A4 EB 78 */ mr r4, r29
/* 802D9470 002D63B0 38 A0 00 02 */ li r5, 2
/* 802D9474 002D63B4 38 C0 00 20 */ li r6, 0x20
/* 802D9478 002D63B8 38 E0 00 00 */ li r7, 0
/* 802D947C 002D63BC 39 00 00 01 */ li r8, 1
/* 802D9480 002D63C0 81 3E 00 6C */ lwz r9, 0x6c(r30)
/* 802D9484 002D63C4 80 1F 00 08 */ lwz r0, 8(r31)
/* 802D9488 002D63C8 7D 29 02 14 */ add r9, r9, r0
/* 802D948C 002D63CC 39 40 00 00 */ li r10, 0
/* 802D9490 002D63D0 48 00 07 C5 */ bl JKRDvdRipper_NS_loadToMainRAM_X1_
/* 802D9494 002D63D4 7F A3 EB 78 */ mr r3, r29
/* 802D9498 002D63D8 38 80 00 20 */ li r4, 0x20
/* 802D949C 002D63DC 48 06 20 E5 */ bl DCInvalidateRange
/* 802D94A0 002D63E0 48 00 00 20 */ b lbl_802D94C0
lbl_802D94A4:
/* 802D94A4 002D63E4 3C 60 80 3A */ lis r3, lbl_8039D220@ha
/* 802D94A8 002D63E8 38 63 D2 20 */ addi r3, r3, lbl_8039D220@l
/* 802D94AC 002D63EC 38 80 03 AF */ li r4, 0x3af
/* 802D94B0 002D63F0 38 A3 00 13 */ addi r5, r3, 0x13
/* 802D94B4 002D63F4 38 C3 00 27 */ addi r6, r3, 0x27
/* 802D94B8 002D63F8 4C C6 31 82 */ crclr 6
/* 802D94BC 002D63FC 48 00 8D 41 */ bl JUTException_NS_panic_f
lbl_802D94C0:
/* 802D94C0 002D6400 88 BD 00 07 */ lbz r5, 7(r29)
/* 802D94C4 002D6404 88 9D 00 06 */ lbz r4, 6(r29)
/* 802D94C8 002D6408 88 7D 00 04 */ lbz r3, 4(r29)
/* 802D94CC 002D640C 88 1D 00 05 */ lbz r0, 5(r29)
/* 802D94D0 002D6410 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D94D4 002D6414 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D94D8 002D6418 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D94DC 002D641C 7C BD 03 78 */ or r29, r5, r0
/* 802D94E0 002D6420 7F C3 F3 78 */ mr r3, r30
/* 802D94E4 002D6424 7F E4 FB 78 */ mr r4, r31
/* 802D94E8 002D6428 7F A5 EB 78 */ mr r5, r29
/* 802D94EC 002D642C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802D94F0 002D6430 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D94F4 002D6434 7D 89 03 A6 */ mtctr r12
/* 802D94F8 002D6438 4E 80 04 21 */ bctrl
/* 802D94FC 002D643C 7F A3 EB 78 */ mr r3, r29
lbl_802D9500:
/* 802D9500 002D6440 39 61 00 60 */ addi r11, r1, 0x60
/* 802D9504 002D6444 48 08 8D 25 */ bl _restgpr_29
/* 802D9508 002D6448 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802D950C 002D644C 7C 08 03 A6 */ mtlr r0
/* 802D9510 002D6450 38 21 00 60 */ addi r1, r1, 0x60
/* 802D9514 002D6454 4E 80 00 20 */ blr