Copy JKernel (#126)

* start JSystem

* JKRAram and JUTGamePad

* started heap and thread

* more JKernel

* mostly finished JKernel

* delete unused asm

* JKRFileFinder

* delete unused asm and match findNextFile

* format

* fix mtx_vec
This commit is contained in:
lepelog
2021-05-03 02:03:24 +02:00
committed by GitHub
parent 913bb08f51
commit 0b8db42226
360 changed files with 6646 additions and 12699 deletions
@@ -1,116 +0,0 @@
lbl_802D4AB4:
/* 802D4AB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D4AB8 7C 08 02 A6 */ mflr r0
/* 802D4ABC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D4AC0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D4AC4 48 08 D7 15 */ bl _savegpr_28
/* 802D4AC8 7C 7F 1B 78 */ mr r31, r3
/* 802D4ACC 7C 9C 23 78 */ mr r28, r4
/* 802D4AD0 7C BD 2B 78 */ mr r29, r5
/* 802D4AD4 4B FF F6 1D */ bl __ct__13JKRFileLoaderFv
/* 802D4AD8 3C 60 80 3D */ lis r3, __vt__12JKRFileCache@ha /* 0x803CC238@ha */
/* 802D4ADC 38 03 C2 38 */ addi r0, r3, __vt__12JKRFileCache@l /* 0x803CC238@l */
/* 802D4AE0 90 1F 00 00 */ stw r0, 0(r31)
/* 802D4AE4 38 7F 00 3C */ addi r3, r31, 0x3c
/* 802D4AE8 48 00 74 2D */ bl initiate__10JSUPtrListFv
/* 802D4AEC 7F E3 FB 78 */ mr r3, r31
/* 802D4AF0 4B FF 9D 4D */ bl findFromRoot__7JKRHeapFPv
/* 802D4AF4 90 7F 00 38 */ stw r3, 0x38(r31)
/* 802D4AF8 38 00 00 01 */ li r0, 1
/* 802D4AFC 90 1F 00 34 */ stw r0, 0x34(r31)
/* 802D4B00 3C 60 43 41 */ lis r3, 0x4341 /* 0x43415348@ha */
/* 802D4B04 38 03 53 48 */ addi r0, r3, 0x5348 /* 0x43415348@l */
/* 802D4B08 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 802D4B0C 7F 83 E3 78 */ mr r3, r28
/* 802D4B10 48 09 40 D5 */ bl strlen
/* 802D4B14 7C 7E 1B 78 */ mr r30, r3
/* 802D4B18 38 7E 00 01 */ addi r3, r30, 1
/* 802D4B1C 38 80 00 01 */ li r4, 1
/* 802D4B20 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D4B24 4B FF 99 51 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D4B28 90 7F 00 48 */ stw r3, 0x48(r31)
/* 802D4B2C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D4B30 38 9E 00 02 */ addi r4, r30, 2
/* 802D4B34 38 A0 00 01 */ li r5, 1
/* 802D4B38 4B FF 99 9D */ bl alloc__7JKRHeapFUli
/* 802D4B3C 90 7F 00 4C */ stw r3, 0x4c(r31)
/* 802D4B40 80 7F 00 48 */ lwz r3, 0x48(r31)
/* 802D4B44 7F 84 E3 78 */ mr r4, r28
/* 802D4B48 48 09 3F E5 */ bl strcpy
/* 802D4B4C 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 802D4B50 7F 84 E3 78 */ mr r4, r28
/* 802D4B54 48 09 3F D9 */ bl strcpy
/* 802D4B58 88 1C 00 01 */ lbz r0, 1(r28)
/* 802D4B5C 7C 00 07 75 */ extsb. r0, r0
/* 802D4B60 41 82 00 88 */ beq lbl_802D4BE8
/* 802D4B64 7F E3 FB 78 */ mr r3, r31
/* 802D4B68 80 9F 00 48 */ lwz r4, 0x48(r31)
/* 802D4B6C 48 00 0A B9 */ bl convStrLower__12JKRFileCacheCFPc
/* 802D4B70 7F E3 FB 78 */ mr r3, r31
/* 802D4B74 80 9F 00 4C */ lwz r4, 0x4c(r31)
/* 802D4B78 48 00 0A AD */ bl convStrLower__12JKRFileCacheCFPc
/* 802D4B7C 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 802D4B80 3C 80 80 3A */ lis r4, JKRFileCache__stringBase0@ha /* 0x8039D158@ha */
/* 802D4B84 38 84 D1 58 */ addi r4, r4, JKRFileCache__stringBase0@l /* 0x8039D158@l */
/* 802D4B88 48 09 3F 35 */ bl strcat
/* 802D4B8C 7F BE EB 78 */ mr r30, r29
/* 802D4B90 28 1D 00 00 */ cmplwi r29, 0
/* 802D4B94 40 82 00 14 */ bne lbl_802D4BA8
/* 802D4B98 80 7F 00 48 */ lwz r3, 0x48(r31)
/* 802D4B9C 38 80 00 2F */ li r4, 0x2f
/* 802D4BA0 48 09 3D 3D */ bl strrchr
/* 802D4BA4 3B C3 00 01 */ addi r30, r3, 1
lbl_802D4BA8:
/* 802D4BA8 7F C3 F3 78 */ mr r3, r30
/* 802D4BAC 48 09 40 39 */ bl strlen
/* 802D4BB0 38 83 00 01 */ addi r4, r3, 1
/* 802D4BB4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D4BB8 38 A0 00 00 */ li r5, 0
/* 802D4BBC 4B FF 99 19 */ bl alloc__7JKRHeapFUli
/* 802D4BC0 90 7F 00 50 */ stw r3, 0x50(r31)
/* 802D4BC4 80 7F 00 50 */ lwz r3, 0x50(r31)
/* 802D4BC8 7F C4 F3 78 */ mr r4, r30
/* 802D4BCC 48 09 3F 61 */ bl strcpy
/* 802D4BD0 7F E3 FB 78 */ mr r3, r31
/* 802D4BD4 80 9F 00 50 */ lwz r4, 0x50(r31)
/* 802D4BD8 48 00 0A 4D */ bl convStrLower__12JKRFileCacheCFPc
/* 802D4BDC 80 1F 00 50 */ lwz r0, 0x50(r31)
/* 802D4BE0 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802D4BE4 48 00 00 58 */ b lbl_802D4C3C
lbl_802D4BE8:
/* 802D4BE8 7F BE EB 78 */ mr r30, r29
/* 802D4BEC 28 1D 00 00 */ cmplwi r29, 0
/* 802D4BF0 40 82 00 10 */ bne lbl_802D4C00
/* 802D4BF4 3C 60 80 3A */ lis r3, JKRFileCache__stringBase0@ha /* 0x8039D158@ha */
/* 802D4BF8 38 63 D1 58 */ addi r3, r3, JKRFileCache__stringBase0@l /* 0x8039D158@l */
/* 802D4BFC 3B C3 00 02 */ addi r30, r3, 2
lbl_802D4C00:
/* 802D4C00 7F C3 F3 78 */ mr r3, r30
/* 802D4C04 48 09 3F E1 */ bl strlen
/* 802D4C08 38 83 00 01 */ addi r4, r3, 1
/* 802D4C0C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D4C10 38 A0 00 00 */ li r5, 0
/* 802D4C14 4B FF 98 C1 */ bl alloc__7JKRHeapFUli
/* 802D4C18 90 7F 00 50 */ stw r3, 0x50(r31)
/* 802D4C1C 80 7F 00 50 */ lwz r3, 0x50(r31)
/* 802D4C20 7F C4 F3 78 */ mr r4, r30
/* 802D4C24 48 09 3F 09 */ bl strcpy
/* 802D4C28 7F E3 FB 78 */ mr r3, r31
/* 802D4C2C 80 9F 00 50 */ lwz r4, 0x50(r31)
/* 802D4C30 48 00 09 F5 */ bl convStrLower__12JKRFileCacheCFPc
/* 802D4C34 80 1F 00 50 */ lwz r0, 0x50(r31)
/* 802D4C38 90 1F 00 28 */ stw r0, 0x28(r31)
lbl_802D4C3C:
/* 802D4C3C 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D4C40 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 0x80434354@l */
/* 802D4C44 38 9F 00 18 */ addi r4, r31, 0x18
/* 802D4C48 48 00 73 A9 */ bl prepend__10JSUPtrListFP10JSUPtrLink
/* 802D4C4C 38 00 00 01 */ li r0, 1
/* 802D4C50 98 1F 00 30 */ stb r0, 0x30(r31)
/* 802D4C54 7F E3 FB 78 */ mr r3, r31
/* 802D4C58 39 61 00 20 */ addi r11, r1, 0x20
/* 802D4C5C 48 08 D5 C9 */ bl _restgpr_28
/* 802D4C60 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D4C64 7C 08 03 A6 */ mtlr r0
/* 802D4C68 38 21 00 20 */ addi r1, r1, 0x20
/* 802D4C6C 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_802D566C:
/* 802D566C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D5670 7C 08 02 A6 */ mflr r0
/* 802D5674 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D5678 39 61 00 20 */ addi r11, r1, 0x20
/* 802D567C 48 08 CB 5D */ bl _savegpr_28
/* 802D5680 7C 7C 1B 78 */ mr r28, r3
/* 802D5684 7C 9D 23 78 */ mr r29, r4
/* 802D5688 7C BE 2B 78 */ mr r30, r5
/* 802D568C 7C DF 33 78 */ mr r31, r6
/* 802D5690 7F 84 E3 78 */ mr r4, r28
/* 802D5694 48 00 67 69 */ bl __ct__10JSUPtrLinkFPv
/* 802D5698 38 00 00 01 */ li r0, 1
/* 802D569C 90 1C 00 10 */ stw r0, 0x10(r28)
/* 802D56A0 93 BC 00 14 */ stw r29, 0x14(r28)
/* 802D56A4 93 DC 00 18 */ stw r30, 0x18(r28)
/* 802D56A8 93 FC 00 1C */ stw r31, 0x1c(r28)
/* 802D56AC 7F 83 E3 78 */ mr r3, r28
/* 802D56B0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D56B4 48 08 CB 71 */ bl _restgpr_28
/* 802D56B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D56BC 7C 08 03 A6 */ mtlr r0
/* 802D56C0 38 21 00 20 */ addi r1, r1, 0x20
/* 802D56C4 4E 80 00 20 */ blr
@@ -1,59 +0,0 @@
lbl_802D4C70:
/* 802D4C70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D4C74 7C 08 02 A6 */ mflr r0
/* 802D4C78 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D4C7C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D4C80 93 C1 00 08 */ stw r30, 8(r1)
/* 802D4C84 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D4C88 7C 9F 23 78 */ mr r31, r4
/* 802D4C8C 41 82 00 9C */ beq lbl_802D4D28
/* 802D4C90 3C 80 80 3D */ lis r4, __vt__12JKRFileCache@ha /* 0x803CC238@ha */
/* 802D4C94 38 04 C2 38 */ addi r0, r4, __vt__12JKRFileCache@l /* 0x803CC238@l */
/* 802D4C98 90 1E 00 00 */ stw r0, 0(r30)
/* 802D4C9C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D4CA0 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802D4CA4 7D 89 03 A6 */ mtctr r12
/* 802D4CA8 4E 80 04 21 */ bctrl
/* 802D4CAC 80 7E 00 48 */ lwz r3, 0x48(r30)
/* 802D4CB0 28 03 00 00 */ cmplwi r3, 0
/* 802D4CB4 41 82 00 0C */ beq lbl_802D4CC0
/* 802D4CB8 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 802D4CBC 4B FF 98 45 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D4CC0:
/* 802D4CC0 80 9E 00 4C */ lwz r4, 0x4c(r30)
/* 802D4CC4 28 04 00 00 */ cmplwi r4, 0
/* 802D4CC8 41 82 00 0C */ beq lbl_802D4CD4
/* 802D4CCC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D4CD0 4B FF 98 79 */ bl free__7JKRHeapFPv
lbl_802D4CD4:
/* 802D4CD4 80 9E 00 50 */ lwz r4, 0x50(r30)
/* 802D4CD8 28 04 00 00 */ cmplwi r4, 0
/* 802D4CDC 41 82 00 0C */ beq lbl_802D4CE8
/* 802D4CE0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D4CE4 4B FF 98 65 */ bl free__7JKRHeapFPv
lbl_802D4CE8:
/* 802D4CE8 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D4CEC 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 0x80434354@l */
/* 802D4CF0 38 9E 00 18 */ addi r4, r30, 0x18
/* 802D4CF4 48 00 74 69 */ bl remove__10JSUPtrListFP10JSUPtrLink
/* 802D4CF8 34 1E 00 3C */ addic. r0, r30, 0x3c
/* 802D4CFC 41 82 00 10 */ beq lbl_802D4D0C
/* 802D4D00 38 7E 00 3C */ addi r3, r30, 0x3c
/* 802D4D04 38 80 00 00 */ li r4, 0
/* 802D4D08 48 00 71 A5 */ bl __dt__10JSUPtrListFv
lbl_802D4D0C:
/* 802D4D0C 7F C3 F3 78 */ mr r3, r30
/* 802D4D10 38 80 00 00 */ li r4, 0
/* 802D4D14 4B FF F4 35 */ bl __dt__13JKRFileLoaderFv
/* 802D4D18 7F E0 07 35 */ extsh. r0, r31
/* 802D4D1C 40 81 00 0C */ ble lbl_802D4D28
/* 802D4D20 7F C3 F3 78 */ mr r3, r30
/* 802D4D24 4B FF A0 19 */ bl __dl__FPv
lbl_802D4D28:
/* 802D4D28 7F C3 F3 78 */ mr r3, r30
/* 802D4D2C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D4D30 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D4D34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D4D38 7C 08 03 A6 */ mtlr r0
/* 802D4D3C 38 21 00 10 */ addi r1, r1, 0x10
/* 802D4D40 4E 80 00 20 */ blr
@@ -1,21 +0,0 @@
lbl_802D5624:
/* 802D5624 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D5628 7C 08 02 A6 */ mflr r0
/* 802D562C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5630 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D5634 7C 9F 23 78 */ mr r31, r4
/* 802D5638 48 00 00 14 */ b lbl_802D564C
lbl_802D563C:
/* 802D563C 7C 63 07 74 */ extsb r3, r3
/* 802D5640 48 08 FE 31 */ bl tolower
/* 802D5644 98 7F 00 00 */ stb r3, 0(r31)
/* 802D5648 3B FF 00 01 */ addi r31, r31, 1
lbl_802D564C:
/* 802D564C 88 7F 00 00 */ lbz r3, 0(r31)
/* 802D5650 7C 60 07 75 */ extsb. r0, r3
/* 802D5654 40 82 FF E8 */ bne lbl_802D563C
/* 802D5658 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D565C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D5660 7C 08 03 A6 */ mtlr r0
/* 802D5664 38 21 00 10 */ addi r1, r1, 0x10
/* 802D5668 4E 80 00 20 */ blr
@@ -1,35 +0,0 @@
lbl_802D52A0:
/* 802D52A0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D52A4 7C 08 02 A6 */ mflr r0
/* 802D52A8 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D52AC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802D52B0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802D52B4 3B E0 00 00 */ li r31, 0
/* 802D52B8 48 00 02 65 */ bl getDvdPathName__12JKRFileCacheCFPCc
/* 802D52BC 7C 7E 1B 78 */ mr r30, r3
/* 802D52C0 38 81 00 14 */ addi r4, r1, 0x14
/* 802D52C4 48 07 3C BD */ bl DVDOpenDir
/* 802D52C8 2C 03 00 00 */ cmpwi r3, 0
/* 802D52CC 41 82 00 28 */ beq lbl_802D52F4
/* 802D52D0 48 00 00 08 */ b lbl_802D52D8
lbl_802D52D4:
/* 802D52D4 3B FF 00 01 */ addi r31, r31, 1
lbl_802D52D8:
/* 802D52D8 38 61 00 14 */ addi r3, r1, 0x14
/* 802D52DC 38 81 00 08 */ addi r4, r1, 8
/* 802D52E0 48 07 3D 61 */ bl DVDReadDir
/* 802D52E4 2C 03 00 00 */ cmpwi r3, 0
/* 802D52E8 40 82 FF EC */ bne lbl_802D52D4
/* 802D52EC 38 61 00 14 */ addi r3, r1, 0x14
/* 802D52F0 48 07 3D F5 */ bl DVDCloseDir
lbl_802D52F4:
/* 802D52F4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D52F8 7F C4 F3 78 */ mr r4, r30
/* 802D52FC 4B FF 92 4D */ bl free__7JKRHeapFPv
/* 802D5300 7F E3 FB 78 */ mr r3, r31
/* 802D5304 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802D5308 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802D530C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D5310 7C 08 03 A6 */ mtlr r0
/* 802D5314 38 21 00 30 */ addi r1, r1, 0x30
/* 802D5318 4E 80 00 20 */ blr
@@ -1,34 +0,0 @@
lbl_802D51F8:
/* 802D51F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D51FC 7C 08 02 A6 */ mflr r0
/* 802D5200 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5204 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D5208 93 C1 00 08 */ stw r30, 8(r1)
/* 802D520C 7C 7E 1B 78 */ mr r30, r3
/* 802D5210 48 00 01 A9 */ bl findCacheBlock__12JKRFileCacheCFPCv
/* 802D5214 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D5218 40 82 00 0C */ bne lbl_802D5224
/* 802D521C 38 60 00 00 */ li r3, 0
/* 802D5220 48 00 00 34 */ b lbl_802D5254
lbl_802D5224:
/* 802D5224 38 7E 00 3C */ addi r3, r30, 0x3c
/* 802D5228 7F E4 FB 78 */ mr r4, r31
/* 802D522C 48 00 6F 31 */ bl remove__10JSUPtrListFP10JSUPtrLink
/* 802D5230 28 1F 00 00 */ cmplwi r31, 0
/* 802D5234 41 82 00 1C */ beq lbl_802D5250
/* 802D5238 41 82 00 10 */ beq lbl_802D5248
/* 802D523C 7F E3 FB 78 */ mr r3, r31
/* 802D5240 38 80 00 00 */ li r4, 0
/* 802D5244 48 00 6B D1 */ bl __dt__10JSUPtrLinkFv
lbl_802D5248:
/* 802D5248 7F E3 FB 78 */ mr r3, r31
/* 802D524C 4B FF 9A F1 */ bl __dl__FPv
lbl_802D5250:
/* 802D5250 38 60 00 01 */ li r3, 1
lbl_802D5254:
/* 802D5254 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D5258 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D525C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D5260 7C 08 03 A6 */ mtlr r0
/* 802D5264 38 21 00 10 */ addi r1, r1, 0x10
/* 802D5268 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_802D53B8:
/* 802D53B8 80 A3 00 3C */ lwz r5, 0x3c(r3)
/* 802D53BC 48 00 00 18 */ b lbl_802D53D4
lbl_802D53C0:
/* 802D53C0 80 65 00 00 */ lwz r3, 0(r5)
/* 802D53C4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 802D53C8 7C 00 20 40 */ cmplw r0, r4
/* 802D53CC 4D 82 00 20 */ beqlr
/* 802D53D0 80 A5 00 0C */ lwz r5, 0xc(r5)
lbl_802D53D4:
/* 802D53D4 28 05 00 00 */ cmplwi r5, 0
/* 802D53D8 40 82 FF E8 */ bne lbl_802D53C0
/* 802D53DC 38 60 00 00 */ li r3, 0
/* 802D53E0 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_802D53E4:
/* 802D53E4 80 A3 00 3C */ lwz r5, 0x3c(r3)
/* 802D53E8 48 00 00 18 */ b lbl_802D5400
lbl_802D53EC:
/* 802D53EC 80 65 00 00 */ lwz r3, 0(r5)
/* 802D53F0 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802D53F4 7C 04 00 40 */ cmplw r4, r0
/* 802D53F8 4D 82 00 20 */ beqlr
/* 802D53FC 80 A5 00 0C */ lwz r5, 0xc(r5)
lbl_802D5400:
/* 802D5400 28 05 00 00 */ cmplwi r5, 0
/* 802D5404 40 82 FF E8 */ bne lbl_802D53EC
/* 802D5408 38 60 00 00 */ li r3, 0
/* 802D540C 4E 80 00 20 */ blr
@@ -1,73 +0,0 @@
lbl_802D5410:
/* 802D5410 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802D5414 7C 08 02 A6 */ mflr r0
/* 802D5418 90 01 00 44 */ stw r0, 0x44(r1)
/* 802D541C 39 61 00 40 */ addi r11, r1, 0x40
/* 802D5420 48 08 CD B1 */ bl _savegpr_26
/* 802D5424 7C 7A 1B 78 */ mr r26, r3
/* 802D5428 7C 9B 23 78 */ mr r27, r4
/* 802D542C 7C BC 2B 78 */ mr r28, r5
/* 802D5430 3B A0 00 00 */ li r29, 0
/* 802D5434 7F 63 DB 78 */ mr r3, r27
/* 802D5438 48 09 37 AD */ bl strlen
/* 802D543C 7C 7F 1B 78 */ mr r31, r3
/* 802D5440 7F 63 DB 78 */ mr r3, r27
/* 802D5444 38 81 00 14 */ addi r4, r1, 0x14
/* 802D5448 48 07 3B 39 */ bl DVDOpenDir
/* 802D544C 2C 03 00 00 */ cmpwi r3, 0
/* 802D5450 41 82 00 B0 */ beq lbl_802D5500
/* 802D5454 7F DB FA 14 */ add r30, r27, r31
/* 802D5458 3B FE 00 01 */ addi r31, r30, 1
/* 802D545C 48 00 00 88 */ b lbl_802D54E4
lbl_802D5460:
/* 802D5460 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802D5464 2C 00 00 00 */ cmpwi r0, 0
/* 802D5468 41 82 00 40 */ beq lbl_802D54A8
/* 802D546C 38 00 00 2F */ li r0, 0x2f
/* 802D5470 98 1E 00 00 */ stb r0, 0(r30)
/* 802D5474 7F E3 FB 78 */ mr r3, r31
/* 802D5478 80 81 00 10 */ lwz r4, 0x10(r1)
/* 802D547C 48 09 36 B1 */ bl strcpy
/* 802D5480 7F 43 D3 78 */ mr r3, r26
/* 802D5484 7F 64 DB 78 */ mr r4, r27
/* 802D5488 7F 85 E3 78 */ mr r5, r28
/* 802D548C 4B FF FF 85 */ bl findFile__12JKRFileCacheCFPcPCc
/* 802D5490 7C 7D 1B 78 */ mr r29, r3
/* 802D5494 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D5498 40 82 00 60 */ bne lbl_802D54F8
/* 802D549C 38 00 00 00 */ li r0, 0
/* 802D54A0 98 1E 00 00 */ stb r0, 0(r30)
/* 802D54A4 48 00 00 40 */ b lbl_802D54E4
lbl_802D54A8:
/* 802D54A8 7F 83 E3 78 */ mr r3, r28
/* 802D54AC 80 81 00 10 */ lwz r4, 0x10(r1)
/* 802D54B0 48 09 34 E5 */ bl strcmp
/* 802D54B4 7C 60 00 34 */ cntlzw r0, r3
/* 802D54B8 54 1D D9 7E */ srwi r29, r0, 5
/* 802D54BC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
/* 802D54C0 41 82 00 24 */ beq lbl_802D54E4
/* 802D54C4 7F 63 DB 78 */ mr r3, r27
/* 802D54C8 3C 80 80 3A */ lis r4, JKRFileCache__stringBase0@ha /* 0x8039D158@ha */
/* 802D54CC 38 84 D1 58 */ addi r4, r4, JKRFileCache__stringBase0@l /* 0x8039D158@l */
/* 802D54D0 48 09 35 ED */ bl strcat
/* 802D54D4 7F 63 DB 78 */ mr r3, r27
/* 802D54D8 7F 84 E3 78 */ mr r4, r28
/* 802D54DC 48 09 35 E1 */ bl strcat
/* 802D54E0 48 00 00 18 */ b lbl_802D54F8
lbl_802D54E4:
/* 802D54E4 38 61 00 14 */ addi r3, r1, 0x14
/* 802D54E8 38 81 00 08 */ addi r4, r1, 8
/* 802D54EC 48 07 3B 55 */ bl DVDReadDir
/* 802D54F0 2C 03 00 00 */ cmpwi r3, 0
/* 802D54F4 40 82 FF 6C */ bne lbl_802D5460
lbl_802D54F8:
/* 802D54F8 38 61 00 14 */ addi r3, r1, 0x14
/* 802D54FC 48 07 3B E9 */ bl DVDCloseDir
lbl_802D5500:
/* 802D5500 7F A3 EB 78 */ mr r3, r29
/* 802D5504 39 61 00 40 */ addi r11, r1, 0x40
/* 802D5508 48 08 CD 15 */ bl _restgpr_26
/* 802D550C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802D5510 7C 08 03 A6 */ mtlr r0
/* 802D5514 38 21 00 40 */ addi r1, r1, 0x40
/* 802D5518 4E 80 00 20 */ blr
@@ -1,70 +0,0 @@
lbl_802D551C:
/* 802D551C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D5520 7C 08 02 A6 */ mflr r0
/* 802D5524 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D5528 39 61 00 20 */ addi r11, r1, 0x20
/* 802D552C 48 08 CC B1 */ bl _savegpr_29
/* 802D5530 7C 7D 1B 78 */ mr r29, r3
/* 802D5534 7C 9E 23 78 */ mr r30, r4
/* 802D5538 88 04 00 00 */ lbz r0, 0(r4)
/* 802D553C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802D5540 40 82 00 78 */ bne lbl_802D55B8
/* 802D5544 7F C3 F3 78 */ mr r3, r30
/* 802D5548 48 09 36 9D */ bl strlen
/* 802D554C 7C 7F 1B 78 */ mr r31, r3
/* 802D5550 80 7D 00 48 */ lwz r3, 0x48(r29)
/* 802D5554 48 09 36 91 */ bl strlen
/* 802D5558 38 9F 00 02 */ addi r4, r31, 2
/* 802D555C 7C 83 22 14 */ add r4, r3, r4
/* 802D5560 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D5564 38 A0 00 01 */ li r5, 1
/* 802D5568 4B FF 8F 6D */ bl alloc__7JKRHeapFUli
/* 802D556C 7C 60 1B 78 */ mr r0, r3
/* 802D5570 7C 1F 03 78 */ mr r31, r0
/* 802D5574 80 9D 00 48 */ lwz r4, 0x48(r29)
/* 802D5578 48 09 35 B5 */ bl strcpy
/* 802D557C 88 1E 00 01 */ lbz r0, 1(r30)
/* 802D5580 7C 00 07 75 */ extsb. r0, r0
/* 802D5584 41 82 00 78 */ beq lbl_802D55FC
/* 802D5588 80 7D 00 48 */ lwz r3, 0x48(r29)
/* 802D558C 88 03 00 01 */ lbz r0, 1(r3)
/* 802D5590 7C 00 07 75 */ extsb. r0, r0
/* 802D5594 40 82 00 14 */ bne lbl_802D55A8
/* 802D5598 7F E3 FB 78 */ mr r3, r31
/* 802D559C 38 9E 00 01 */ addi r4, r30, 1
/* 802D55A0 48 09 35 1D */ bl strcat
/* 802D55A4 48 00 00 58 */ b lbl_802D55FC
lbl_802D55A8:
/* 802D55A8 7F E3 FB 78 */ mr r3, r31
/* 802D55AC 7F C4 F3 78 */ mr r4, r30
/* 802D55B0 48 09 35 0D */ bl strcat
/* 802D55B4 48 00 00 48 */ b lbl_802D55FC
lbl_802D55B8:
/* 802D55B8 7F C3 F3 78 */ mr r3, r30
/* 802D55BC 48 09 36 29 */ bl strlen
/* 802D55C0 7C 7F 1B 78 */ mr r31, r3
/* 802D55C4 80 7D 00 4C */ lwz r3, 0x4c(r29)
/* 802D55C8 48 09 36 1D */ bl strlen
/* 802D55CC 38 9F 00 02 */ addi r4, r31, 2
/* 802D55D0 7C 83 22 14 */ add r4, r3, r4
/* 802D55D4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D55D8 38 A0 00 01 */ li r5, 1
/* 802D55DC 4B FF 8E F9 */ bl alloc__7JKRHeapFUli
/* 802D55E0 7C 60 1B 78 */ mr r0, r3
/* 802D55E4 7C 1F 03 78 */ mr r31, r0
/* 802D55E8 80 9D 00 4C */ lwz r4, 0x4c(r29)
/* 802D55EC 48 09 35 41 */ bl strcpy
/* 802D55F0 7F E3 FB 78 */ mr r3, r31
/* 802D55F4 7F C4 F3 78 */ mr r4, r30
/* 802D55F8 48 09 34 C5 */ bl strcat
lbl_802D55FC:
/* 802D55FC 7F A3 EB 78 */ mr r3, r29
/* 802D5600 7F E4 FB 78 */ mr r4, r31
/* 802D5604 48 00 00 21 */ bl convStrLower__12JKRFileCacheCFPc
/* 802D5608 7F E3 FB 78 */ mr r3, r31
/* 802D560C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D5610 48 08 CC 19 */ bl _restgpr_29
/* 802D5614 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D5618 7C 08 03 A6 */ mtlr r0
/* 802D561C 38 21 00 20 */ addi r1, r1, 0x20
/* 802D5620 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
lbl_802D531C:
/* 802D531C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D5320 7C 08 02 A6 */ mflr r0
/* 802D5324 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5328 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D532C 93 C1 00 08 */ stw r30, 8(r1)
/* 802D5330 48 00 01 ED */ bl getDvdPathName__12JKRFileCacheCFPCc
/* 802D5334 7C 7E 1B 78 */ mr r30, r3
/* 802D5338 38 60 00 24 */ li r3, 0x24
/* 802D533C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13)
/* 802D5340 38 A0 00 00 */ li r5, 0
/* 802D5344 4B FF 99 55 */ bl __nw__FUlP7JKRHeapi
/* 802D5348 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D534C 41 82 00 10 */ beq lbl_802D535C
/* 802D5350 7F C4 F3 78 */ mr r4, r30
/* 802D5354 4B FF F4 1D */ bl __ct__12JKRDvdFinderFPCc
/* 802D5358 7C 7F 1B 78 */ mr r31, r3
lbl_802D535C:
/* 802D535C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D5360 7F C4 F3 78 */ mr r4, r30
/* 802D5364 4B FF 91 E5 */ bl free__7JKRHeapFPv
/* 802D5368 88 1F 00 10 */ lbz r0, 0x10(r31)
/* 802D536C 28 00 00 01 */ cmplwi r0, 1
/* 802D5370 41 82 00 2C */ beq lbl_802D539C
/* 802D5374 28 1F 00 00 */ cmplwi r31, 0
/* 802D5378 41 82 00 1C */ beq lbl_802D5394
/* 802D537C 7F E3 FB 78 */ mr r3, r31
/* 802D5380 38 80 00 01 */ li r4, 1
/* 802D5384 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 802D5388 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D538C 7D 89 03 A6 */ mtctr r12
/* 802D5390 4E 80 04 21 */ bctrl
lbl_802D5394:
/* 802D5394 38 60 00 00 */ li r3, 0
/* 802D5398 48 00 00 08 */ b lbl_802D53A0
lbl_802D539C:
/* 802D539C 7F E3 FB 78 */ mr r3, r31
lbl_802D53A0:
/* 802D53A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D53A4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D53A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D53AC 7C 08 03 A6 */ mtlr r0
/* 802D53B0 38 21 00 10 */ addi r1, r1, 0x10
/* 802D53B4 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_802D56C8:
/* 802D56C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D56CC 7C 08 02 A6 */ mflr r0
/* 802D56D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D56D4 81 83 00 00 */ lwz r12, 0(r3)
/* 802D56D8 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802D56DC 7D 89 03 A6 */ mtctr r12
/* 802D56E0 4E 80 04 21 */ bctrl
/* 802D56E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D56E8 7C 08 03 A6 */ mtlr r0
/* 802D56EC 38 21 00 10 */ addi r1, r1, 0x10
/* 802D56F0 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_802D56F4:
/* 802D56F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D56F8 7C 08 02 A6 */ mflr r0
/* 802D56FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5700 81 83 00 00 */ lwz r12, 0(r3)
/* 802D5704 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802D5708 7D 89 03 A6 */ mtctr r12
/* 802D570C 4E 80 04 21 */ bctrl
/* 802D5710 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D5714 7C 08 03 A6 */ mtlr r0
/* 802D5718 38 21 00 10 */ addi r1, r1, 0x10
/* 802D571C 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_802D526C:
/* 802D526C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D5270 7C 08 02 A6 */ mflr r0
/* 802D5274 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5278 48 00 01 41 */ bl findCacheBlock__12JKRFileCacheCFPCv
/* 802D527C 28 03 00 00 */ cmplwi r3, 0
/* 802D5280 40 82 00 0C */ bne lbl_802D528C
/* 802D5284 38 60 FF FF */ li r3, -1
/* 802D5288 48 00 00 08 */ b lbl_802D5290
lbl_802D528C:
/* 802D528C 80 63 00 18 */ lwz r3, 0x18(r3)
lbl_802D5290:
/* 802D5290 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D5294 7C 08 03 A6 */ mtlr r0
/* 802D5298 38 21 00 10 */ addi r1, r1, 0x10
/* 802D529C 4E 80 00 20 */ blr
@@ -1,69 +0,0 @@
lbl_802D4DD8:
/* 802D4DD8 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 802D4DDC 7C 08 02 A6 */ mflr r0
/* 802D4DE0 90 01 01 14 */ stw r0, 0x114(r1)
/* 802D4DE4 39 61 01 10 */ addi r11, r1, 0x110
/* 802D4DE8 48 08 D3 F1 */ bl _savegpr_28
/* 802D4DEC 7C 7C 1B 78 */ mr r28, r3
/* 802D4DF0 3B E0 00 00 */ li r31, 0
/* 802D4DF4 48 00 07 29 */ bl getDvdPathName__12JKRFileCacheCFPCc
/* 802D4DF8 7C 7E 1B 78 */ mr r30, r3
/* 802D4DFC 38 61 00 08 */ addi r3, r1, 8
/* 802D4E00 7F C4 F3 78 */ mr r4, r30
/* 802D4E04 48 00 47 F5 */ bl __ct__10JKRDvdFileFPCc
/* 802D4E08 88 01 00 20 */ lbz r0, 0x20(r1)
/* 802D4E0C 28 00 00 00 */ cmplwi r0, 0
/* 802D4E10 41 82 00 98 */ beq lbl_802D4EA8
/* 802D4E14 7F 83 E3 78 */ mr r3, r28
/* 802D4E18 80 81 00 94 */ lwz r4, 0x94(r1)
/* 802D4E1C 48 00 05 C9 */ bl findCacheBlock__12JKRFileCacheCFUl
/* 802D4E20 28 03 00 00 */ cmplwi r3, 0
/* 802D4E24 40 82 00 74 */ bne lbl_802D4E98
/* 802D4E28 80 61 00 98 */ lwz r3, 0x98(r1)
/* 802D4E2C 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D4E30 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a
/* 802D4E34 7F A3 EB 78 */ mr r3, r29
/* 802D4E38 38 80 00 20 */ li r4, 0x20
/* 802D4E3C 80 BC 00 38 */ lwz r5, 0x38(r28)
/* 802D4E40 4B FF 96 35 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D4E44 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D4E48 41 82 00 60 */ beq lbl_802D4EA8
/* 802D4E4C 38 61 00 08 */ addi r3, r1, 8
/* 802D4E50 7F E4 FB 78 */ mr r4, r31
/* 802D4E54 7F A5 EB 78 */ mr r5, r29
/* 802D4E58 38 C0 00 00 */ li r6, 0
/* 802D4E5C 48 00 46 BD */ bl read__7JKRFileFPvll
/* 802D4E60 38 60 00 20 */ li r3, 0x20
/* 802D4E64 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13)
/* 802D4E68 38 A0 00 00 */ li r5, 0
/* 802D4E6C 4B FF 9E 2D */ bl __nw__FUlP7JKRHeapi
/* 802D4E70 7C 64 1B 79 */ or. r4, r3, r3
/* 802D4E74 41 82 00 18 */ beq lbl_802D4E8C
/* 802D4E78 80 81 00 94 */ lwz r4, 0x94(r1)
/* 802D4E7C 80 A1 00 98 */ lwz r5, 0x98(r1)
/* 802D4E80 7F E6 FB 78 */ mr r6, r31
/* 802D4E84 48 00 07 E9 */ bl __ct__Q212JKRFileCache11CCacheBlockFUlUlPCv
/* 802D4E88 7C 64 1B 78 */ mr r4, r3
lbl_802D4E8C:
/* 802D4E8C 38 7C 00 3C */ addi r3, r28, 0x3c
/* 802D4E90 48 00 70 BD */ bl append__10JSUPtrListFP10JSUPtrLink
/* 802D4E94 48 00 00 14 */ b lbl_802D4EA8
lbl_802D4E98:
/* 802D4E98 80 83 00 10 */ lwz r4, 0x10(r3)
/* 802D4E9C 38 04 00 01 */ addi r0, r4, 1
/* 802D4EA0 90 03 00 10 */ stw r0, 0x10(r3)
/* 802D4EA4 83 E3 00 1C */ lwz r31, 0x1c(r3)
lbl_802D4EA8:
/* 802D4EA8 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D4EAC 7F C4 F3 78 */ mr r4, r30
/* 802D4EB0 4B FF 96 99 */ bl free__7JKRHeapFPv
/* 802D4EB4 38 61 00 08 */ addi r3, r1, 8
/* 802D4EB8 38 80 FF FF */ li r4, -1
/* 802D4EBC 48 00 48 8D */ bl __dt__10JKRDvdFileFv
/* 802D4EC0 7F E3 FB 78 */ mr r3, r31
/* 802D4EC4 39 61 01 10 */ addi r11, r1, 0x110
/* 802D4EC8 48 08 D3 5D */ bl _restgpr_28
/* 802D4ECC 80 01 01 14 */ lwz r0, 0x114(r1)
/* 802D4ED0 7C 08 03 A6 */ mtlr r0
/* 802D4ED4 38 21 01 10 */ addi r1, r1, 0x110
/* 802D4ED8 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_802D4EDC:
/* 802D4EDC 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802D4EE0 7C 08 02 A6 */ mflr r0
/* 802D4EE4 90 01 01 24 */ stw r0, 0x124(r1)
/* 802D4EE8 39 61 01 20 */ addi r11, r1, 0x120
/* 802D4EEC 48 08 D2 F1 */ bl _savegpr_29
/* 802D4EF0 7C 7D 1B 78 */ mr r29, r3
/* 802D4EF4 7C BE 2B 78 */ mr r30, r5
/* 802D4EF8 80 63 00 48 */ lwz r3, 0x48(r3)
/* 802D4EFC 48 09 3C E9 */ bl strlen
/* 802D4F00 3B E1 00 08 */ addi r31, r1, 8
/* 802D4F04 7F FF 1A 14 */ add r31, r31, r3
/* 802D4F08 38 61 00 08 */ addi r3, r1, 8
/* 802D4F0C 80 9D 00 48 */ lwz r4, 0x48(r29)
/* 802D4F10 48 09 3C 1D */ bl strcpy
/* 802D4F14 7F A3 EB 78 */ mr r3, r29
/* 802D4F18 38 81 00 08 */ addi r4, r1, 8
/* 802D4F1C 7F C5 F3 78 */ mr r5, r30
/* 802D4F20 48 00 04 F1 */ bl findFile__12JKRFileCacheCFPcPCc
/* 802D4F24 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D4F28 41 82 00 20 */ beq lbl_802D4F48
/* 802D4F2C 7F A3 EB 78 */ mr r3, r29
/* 802D4F30 7F E4 FB 78 */ mr r4, r31
/* 802D4F34 81 9D 00 00 */ lwz r12, 0(r29)
/* 802D4F38 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802D4F3C 7D 89 03 A6 */ mtctr r12
/* 802D4F40 4E 80 04 21 */ bctrl
/* 802D4F44 48 00 00 08 */ b lbl_802D4F4C
lbl_802D4F48:
/* 802D4F48 38 60 00 00 */ li r3, 0
lbl_802D4F4C:
/* 802D4F4C 39 61 01 20 */ addi r11, r1, 0x120
/* 802D4F50 48 08 D2 D9 */ bl _restgpr_29
/* 802D4F54 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802D4F58 7C 08 03 A6 */ mtlr r0
/* 802D4F5C 38 21 01 20 */ addi r1, r1, 0x120
/* 802D4F60 4E 80 00 20 */ blr
@@ -1,73 +0,0 @@
lbl_802D49B4:
/* 802D49B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D49B8 7C 08 02 A6 */ mflr r0
/* 802D49BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D49C0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D49C4 48 08 D8 11 */ bl _savegpr_27
/* 802D49C8 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D49CC 7C 9B 23 78 */ mr r27, r4
/* 802D49D0 7C BF 2B 78 */ mr r31, r5
/* 802D49D4 41 82 00 10 */ beq lbl_802D49E4
/* 802D49D8 88 1E 00 00 */ lbz r0, 0(r30)
/* 802D49DC 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802D49E0 41 82 00 0C */ beq lbl_802D49EC
lbl_802D49E4:
/* 802D49E4 38 60 00 00 */ li r3, 0
/* 802D49E8 48 00 00 B4 */ b lbl_802D4A9C
lbl_802D49EC:
/* 802D49EC 48 09 41 F9 */ bl strlen
/* 802D49F0 28 03 00 01 */ cmplwi r3, 1
/* 802D49F4 41 82 00 1C */ beq lbl_802D4A10
/* 802D49F8 7C 7E 1A 14 */ add r3, r30, r3
/* 802D49FC 88 03 FF FF */ lbz r0, -1(r3)
/* 802D4A00 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802D4A04 40 82 00 0C */ bne lbl_802D4A10
/* 802D4A08 38 60 00 00 */ li r3, 0
/* 802D4A0C 48 00 00 90 */ b lbl_802D4A9C
lbl_802D4A10:
/* 802D4A10 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D4A14 83 A3 43 54 */ lwz r29, sVolumeList__13JKRFileLoader@l(r3) /* 0x80434354@l */
/* 802D4A18 48 00 00 50 */ b lbl_802D4A68
lbl_802D4A1C:
/* 802D4A1C 80 9D 00 00 */ lwz r4, 0(r29)
/* 802D4A20 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 802D4A24 3C 03 BC BF */ addis r0, r3, 0xbcbf
/* 802D4A28 28 00 53 48 */ cmplwi r0, 0x5348
/* 802D4A2C 40 82 00 38 */ bne lbl_802D4A64
/* 802D4A30 7C 9C 23 78 */ mr r28, r4
/* 802D4A34 80 64 00 48 */ lwz r3, 0x48(r4)
/* 802D4A38 28 03 00 00 */ cmplwi r3, 0
/* 802D4A3C 41 82 00 28 */ beq lbl_802D4A64
/* 802D4A40 7F C4 F3 78 */ mr r4, r30
/* 802D4A44 48 09 3F 51 */ bl strcmp
/* 802D4A48 2C 03 00 00 */ cmpwi r3, 0
/* 802D4A4C 40 82 00 18 */ bne lbl_802D4A64
/* 802D4A50 80 7C 00 34 */ lwz r3, 0x34(r28)
/* 802D4A54 38 03 00 01 */ addi r0, r3, 1
/* 802D4A58 90 1C 00 34 */ stw r0, 0x34(r28)
/* 802D4A5C 7F 83 E3 78 */ mr r3, r28
/* 802D4A60 48 00 00 3C */ b lbl_802D4A9C
lbl_802D4A64:
/* 802D4A64 83 BD 00 0C */ lwz r29, 0xc(r29)
lbl_802D4A68:
/* 802D4A68 28 1D 00 00 */ cmplwi r29, 0
/* 802D4A6C 40 82 FF B0 */ bne lbl_802D4A1C
/* 802D4A70 38 60 00 54 */ li r3, 0x54
/* 802D4A74 7F 64 DB 78 */ mr r4, r27
/* 802D4A78 38 A0 00 00 */ li r5, 0
/* 802D4A7C 4B FF A2 1D */ bl __nw__FUlP7JKRHeapi
/* 802D4A80 7C 60 1B 79 */ or. r0, r3, r3
/* 802D4A84 41 82 00 14 */ beq lbl_802D4A98
/* 802D4A88 7F C4 F3 78 */ mr r4, r30
/* 802D4A8C 7F E5 FB 78 */ mr r5, r31
/* 802D4A90 48 00 00 25 */ bl __ct__12JKRFileCacheFPCcPCc
/* 802D4A94 7C 60 1B 78 */ mr r0, r3
lbl_802D4A98:
/* 802D4A98 7C 03 03 78 */ mr r3, r0
lbl_802D4A9C:
/* 802D4A9C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D4AA0 48 08 D7 81 */ bl _restgpr_27
/* 802D4AA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D4AA8 7C 08 03 A6 */ mtlr r0
/* 802D4AAC 38 21 00 20 */ addi r1, r1, 0x20
/* 802D4AB0 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_802D5720:
/* 802D5720 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D5724 7C 08 02 A6 */ mflr r0
/* 802D5728 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D572C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D5730 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802D5734 7D 89 03 A6 */ mtctr r12
/* 802D5738 4E 80 04 21 */ bctrl
/* 802D573C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D5740 7C 08 03 A6 */ mtlr r0
/* 802D5744 38 21 00 10 */ addi r1, r1, 0x10
/* 802D5748 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_802D574C:
/* 802D574C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D5750 7C 08 02 A6 */ mflr r0
/* 802D5754 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5758 81 83 00 00 */ lwz r12, 0(r3)
/* 802D575C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802D5760 7D 89 03 A6 */ mtctr r12
/* 802D5764 4E 80 04 21 */ bctrl
/* 802D5768 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D576C 7C 08 03 A6 */ mtlr r0
/* 802D5770 38 21 00 10 */ addi r1, r1, 0x10
/* 802D5774 4E 80 00 20 */ blr
@@ -1,59 +0,0 @@
lbl_802D4F64:
/* 802D4F64 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802D4F68 7C 08 02 A6 */ mflr r0
/* 802D4F6C 90 01 01 24 */ stw r0, 0x124(r1)
/* 802D4F70 39 61 01 20 */ addi r11, r1, 0x120
/* 802D4F74 48 08 D2 61 */ bl _savegpr_27
/* 802D4F78 7C 7B 1B 78 */ mr r27, r3
/* 802D4F7C 7C 9C 23 78 */ mr r28, r4
/* 802D4F80 7C BD 2B 78 */ mr r29, r5
/* 802D4F84 7C C4 33 78 */ mr r4, r6
/* 802D4F88 48 00 05 95 */ bl getDvdPathName__12JKRFileCacheCFPCc
/* 802D4F8C 7C 7F 1B 78 */ mr r31, r3
/* 802D4F90 38 61 00 08 */ addi r3, r1, 8
/* 802D4F94 7F E4 FB 78 */ mr r4, r31
/* 802D4F98 48 00 46 61 */ bl __ct__10JKRDvdFileFPCc
/* 802D4F9C 3B C0 00 00 */ li r30, 0
lbl_802D4FA0:
/* 802D4FA0 88 01 00 20 */ lbz r0, 0x20(r1)
/* 802D4FA4 28 00 00 00 */ cmplwi r0, 0
/* 802D4FA8 41 82 00 60 */ beq lbl_802D5008
/* 802D4FAC 80 61 00 98 */ lwz r3, 0x98(r1)
/* 802D4FB0 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D4FB4 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a
/* 802D4FB8 57 BD 00 34 */ rlwinm r29, r29, 0, 0, 0x1a
/* 802D4FBC 7C 1E E8 40 */ cmplw r30, r29
/* 802D4FC0 40 81 00 08 */ ble lbl_802D4FC8
/* 802D4FC4 7F BE EB 78 */ mr r30, r29
lbl_802D4FC8:
/* 802D4FC8 7F 63 DB 78 */ mr r3, r27
/* 802D4FCC 80 81 00 94 */ lwz r4, 0x94(r1)
/* 802D4FD0 48 00 04 15 */ bl findCacheBlock__12JKRFileCacheCFUl
/* 802D4FD4 7C 64 1B 79 */ or. r4, r3, r3
/* 802D4FD8 40 82 00 1C */ bne lbl_802D4FF4
/* 802D4FDC 38 61 00 08 */ addi r3, r1, 8
/* 802D4FE0 7F 84 E3 78 */ mr r4, r28
/* 802D4FE4 7F C5 F3 78 */ mr r5, r30
/* 802D4FE8 38 C0 00 00 */ li r6, 0
/* 802D4FEC 48 00 45 2D */ bl read__7JKRFileFPvll
/* 802D4FF0 4B FF FF B0 */ b lbl_802D4FA0
lbl_802D4FF4:
/* 802D4FF4 7F 83 E3 78 */ mr r3, r28
/* 802D4FF8 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 802D4FFC 7F C5 F3 78 */ mr r5, r30
/* 802D5000 4B D2 E5 41 */ bl memcpy
/* 802D5004 4B FF FF 9C */ b lbl_802D4FA0
lbl_802D5008:
/* 802D5008 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802D500C 7F E4 FB 78 */ mr r4, r31
/* 802D5010 4B FF 95 39 */ bl free__7JKRHeapFPv
/* 802D5014 38 61 00 08 */ addi r3, r1, 8
/* 802D5018 38 80 FF FF */ li r4, -1
/* 802D501C 48 00 47 2D */ bl __dt__10JKRDvdFileFv
/* 802D5020 7F C3 F3 78 */ mr r3, r30
/* 802D5024 39 61 01 20 */ addi r11, r1, 0x120
/* 802D5028 48 08 D1 F9 */ bl _restgpr_27
/* 802D502C 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802D5030 7C 08 03 A6 */ mtlr r0
/* 802D5034 38 21 01 20 */ addi r1, r1, 0x120
/* 802D5038 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_802D503C:
/* 802D503C 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802D5040 7C 08 02 A6 */ mflr r0
/* 802D5044 90 01 01 24 */ stw r0, 0x124(r1)
/* 802D5048 39 61 01 20 */ addi r11, r1, 0x120
/* 802D504C 48 08 D1 89 */ bl _savegpr_27
/* 802D5050 7C 7B 1B 78 */ mr r27, r3
/* 802D5054 7C 9C 23 78 */ mr r28, r4
/* 802D5058 7C BD 2B 78 */ mr r29, r5
/* 802D505C 7C FE 3B 78 */ mr r30, r7
/* 802D5060 80 63 00 48 */ lwz r3, 0x48(r3)
/* 802D5064 48 09 3B 81 */ bl strlen
/* 802D5068 3B E1 00 08 */ addi r31, r1, 8
/* 802D506C 7F FF 1A 14 */ add r31, r31, r3
/* 802D5070 38 61 00 08 */ addi r3, r1, 8
/* 802D5074 80 9B 00 48 */ lwz r4, 0x48(r27)
/* 802D5078 48 09 3A B5 */ bl strcpy
/* 802D507C 7F 63 DB 78 */ mr r3, r27
/* 802D5080 38 81 00 08 */ addi r4, r1, 8
/* 802D5084 7F C5 F3 78 */ mr r5, r30
/* 802D5088 48 00 03 89 */ bl findFile__12JKRFileCacheCFPcPCc
/* 802D508C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D5090 41 82 00 28 */ beq lbl_802D50B8
/* 802D5094 7F 63 DB 78 */ mr r3, r27
/* 802D5098 7F 84 E3 78 */ mr r4, r28
/* 802D509C 7F A5 EB 78 */ mr r5, r29
/* 802D50A0 7F E6 FB 78 */ mr r6, r31
/* 802D50A4 81 9B 00 00 */ lwz r12, 0(r27)
/* 802D50A8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802D50AC 7D 89 03 A6 */ mtctr r12
/* 802D50B0 4E 80 04 21 */ bctrl
/* 802D50B4 48 00 00 08 */ b lbl_802D50BC
lbl_802D50B8:
/* 802D50B8 38 60 00 00 */ li r3, 0
lbl_802D50BC:
/* 802D50BC 39 61 01 20 */ addi r11, r1, 0x120
/* 802D50C0 48 08 D1 61 */ bl _restgpr_27
/* 802D50C4 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802D50C8 7C 08 03 A6 */ mtlr r0
/* 802D50CC 38 21 01 20 */ addi r1, r1, 0x120
/* 802D50D0 4E 80 00 20 */ blr
@@ -1,42 +0,0 @@
lbl_802D5164:
/* 802D5164 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D5168 7C 08 02 A6 */ mflr r0
/* 802D516C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D5170 39 61 00 20 */ addi r11, r1, 0x20
/* 802D5174 48 08 D0 69 */ bl _savegpr_29
/* 802D5178 7C 7D 1B 78 */ mr r29, r3
/* 802D517C 7C 9E 23 78 */ mr r30, r4
/* 802D5180 48 00 02 39 */ bl findCacheBlock__12JKRFileCacheCFPCv
/* 802D5184 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D5188 40 82 00 0C */ bne lbl_802D5194
/* 802D518C 38 60 00 00 */ li r3, 0
/* 802D5190 48 00 00 50 */ b lbl_802D51E0
lbl_802D5194:
/* 802D5194 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 802D5198 34 03 FF FF */ addic. r0, r3, -1
/* 802D519C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802D51A0 40 82 00 3C */ bne lbl_802D51DC
/* 802D51A4 7F C3 F3 78 */ mr r3, r30
/* 802D51A8 80 9D 00 38 */ lwz r4, 0x38(r29)
/* 802D51AC 4B FF 93 55 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D51B0 38 7D 00 3C */ addi r3, r29, 0x3c
/* 802D51B4 7F E4 FB 78 */ mr r4, r31
/* 802D51B8 48 00 6F A5 */ bl remove__10JSUPtrListFP10JSUPtrLink
/* 802D51BC 28 1F 00 00 */ cmplwi r31, 0
/* 802D51C0 41 82 00 1C */ beq lbl_802D51DC
/* 802D51C4 41 82 00 10 */ beq lbl_802D51D4
/* 802D51C8 7F E3 FB 78 */ mr r3, r31
/* 802D51CC 38 80 00 00 */ li r4, 0
/* 802D51D0 48 00 6C 45 */ bl __dt__10JSUPtrLinkFv
lbl_802D51D4:
/* 802D51D4 7F E3 FB 78 */ mr r3, r31
/* 802D51D8 4B FF 9B 65 */ bl __dl__FPv
lbl_802D51DC:
/* 802D51DC 38 60 00 01 */ li r3, 1
lbl_802D51E0:
/* 802D51E0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D51E4 48 08 D0 45 */ bl _restgpr_29
/* 802D51E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D51EC 7C 08 03 A6 */ mtlr r0
/* 802D51F0 38 21 00 20 */ addi r1, r1, 0x20
/* 802D51F4 4E 80 00 20 */ blr