875 lines
36 KiB
ArmAsm
875 lines
36 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global ARCInitHandle
|
|
ARCInitHandle:
|
|
/* 8004DD70 00049BB0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8004DD74 00049BB4 7C 08 02 A6 */ mflr r0
|
|
/* 8004DD78 00049BB8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8004DD7C 00049BBC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8004DD80 00049BC0 7C 9F 23 78 */ mr r31, r4
|
|
/* 8004DD84 00049BC4 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
/* 8004DD88 00049BC8 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8004DD8C 00049BCC 80 A3 00 00 */ lwz r5, 0x0(r3)
|
|
/* 8004DD90 00049BD0 3C 05 AA 56 */ addis r0, r5, 0xaa56
|
|
/* 8004DD94 00049BD4 28 00 38 2D */ cmplwi r0, 0x382d
|
|
/* 8004DD98 00049BD8 41 82 00 1C */ beq lbl_8004DDB4
|
|
/* 8004DD9C 00049BDC 3C A0 80 44 */ lis r5, "@1127"@ha
|
|
/* 8004DDA0 00049BE0 38 6D 83 80 */ addi r3, r13, "@1126"@sda21
|
|
/* 8004DDA4 00049BE4 38 A5 84 98 */ addi r5, r5, "@1127"@l
|
|
/* 8004DDA8 00049BE8 38 80 00 4A */ li r4, 0x4a
|
|
/* 8004DDAC 00049BEC 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 8004DDB0 00049BF0 48 13 CA 41 */ bl OSPanic
|
|
.global lbl_8004DDB4
|
|
lbl_8004DDB4:
|
|
/* 8004DDB4 00049BF4 93 DF 00 00 */ stw r30, 0x0(r31)
|
|
/* 8004DDB8 00049BF8 38 00 00 00 */ li r0, 0x0
|
|
/* 8004DDBC 00049BFC 38 60 00 01 */ li r3, 0x1
|
|
/* 8004DDC0 00049C00 80 9E 00 04 */ lwz r4, 0x4(r30)
|
|
/* 8004DDC4 00049C04 7C BE 22 14 */ add r5, r30, r4
|
|
/* 8004DDC8 00049C08 90 BF 00 04 */ stw r5, 0x4(r31)
|
|
/* 8004DDCC 00049C0C 80 9E 00 0C */ lwz r4, 0xc(r30)
|
|
/* 8004DDD0 00049C10 7C 9E 22 14 */ add r4, r30, r4
|
|
/* 8004DDD4 00049C14 90 9F 00 08 */ stw r4, 0x8(r31)
|
|
/* 8004DDD8 00049C18 80 85 00 08 */ lwz r4, 0x8(r5)
|
|
/* 8004DDDC 00049C1C 90 9F 00 0C */ stw r4, 0xc(r31)
|
|
/* 8004DDE0 00049C20 1C 84 00 0C */ mulli r4, r4, 0xc
|
|
/* 8004DDE4 00049C24 7C 85 22 14 */ add r4, r5, r4
|
|
/* 8004DDE8 00049C28 90 9F 00 10 */ stw r4, 0x10(r31)
|
|
/* 8004DDEC 00049C2C 80 9E 00 08 */ lwz r4, 0x8(r30)
|
|
/* 8004DDF0 00049C30 90 9F 00 14 */ stw r4, 0x14(r31)
|
|
/* 8004DDF4 00049C34 90 1F 00 18 */ stw r0, 0x18(r31)
|
|
/* 8004DDF8 00049C38 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8004DDFC 00049C3C 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
/* 8004DE00 00049C40 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8004DE04 00049C44 7C 08 03 A6 */ mtlr r0
|
|
/* 8004DE08 00049C48 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8004DE0C 00049C4C 4E 80 00 20 */ blr
|
|
.global ARCOpen
|
|
ARCOpen:
|
|
/* 8004DE10 00049C50 94 21 FF 60 */ stwu r1, -0xa0(r1)
|
|
/* 8004DE14 00049C54 7C 08 02 A6 */ mflr r0
|
|
/* 8004DE18 00049C58 90 01 00 A4 */ stw r0, 0xa4(r1)
|
|
/* 8004DE1C 00049C5C 39 61 00 A0 */ addi r11, r1, 0xa0
|
|
/* 8004DE20 00049C60 4B FB 95 19 */ bl lbl_80007338
|
|
/* 8004DE24 00049C64 83 83 00 04 */ lwz r28, 0x4(r3)
|
|
/* 8004DE28 00049C68 7C 7A 1B 78 */ mr r26, r3
|
|
/* 8004DE2C 00049C6C 7C 9B 23 78 */ mr r27, r4
|
|
/* 8004DE30 00049C70 7C BD 2B 78 */ mr r29, r5
|
|
/* 8004DE34 00049C74 48 00 02 DD */ bl ARCConvertPathToEntrynum
|
|
/* 8004DE38 00049C78 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004DE3C 00049C7C 40 80 02 34 */ bge lbl_8004E070
|
|
/* 8004DE40 00049C80 83 BA 00 18 */ lwz r29, 0x18(r26)
|
|
/* 8004DE44 00049C84 83 9A 00 04 */ lwz r28, 0x4(r26)
|
|
/* 8004DE48 00049C88 2C 1D 00 00 */ cmpwi r29, 0x0
|
|
/* 8004DE4C 00049C8C 40 82 00 0C */ bne lbl_8004DE58
|
|
/* 8004DE50 00049C90 38 80 00 00 */ li r4, 0x0
|
|
/* 8004DE54 00049C94 48 00 01 A4 */ b lbl_8004DFF8
|
|
.global lbl_8004DE58
|
|
lbl_8004DE58:
|
|
/* 8004DE58 00049C98 1C 1D 00 0C */ mulli r0, r29, 0xc
|
|
/* 8004DE5C 00049C9C 80 FA 00 10 */ lwz r7, 0x10(r26)
|
|
/* 8004DE60 00049CA0 7C 7C 02 14 */ add r3, r28, r0
|
|
/* 8004DE64 00049CA4 7C 1C 00 2E */ lwzx r0, r28, r0
|
|
/* 8004DE68 00049CA8 80 63 00 04 */ lwz r3, 0x4(r3)
|
|
/* 8004DE6C 00049CAC 54 00 02 3E */ clrlwi r0, r0, 8
|
|
/* 8004DE70 00049CB0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004DE74 00049CB4 7F C7 02 14 */ add r30, r7, r0
|
|
/* 8004DE78 00049CB8 40 82 00 0C */ bne lbl_8004DE84
|
|
/* 8004DE7C 00049CBC 38 80 00 00 */ li r4, 0x0
|
|
/* 8004DE80 00049CC0 48 00 01 18 */ b lbl_8004DF98
|
|
.global lbl_8004DE84
|
|
lbl_8004DE84:
|
|
/* 8004DE84 00049CC4 1C 03 00 0C */ mulli r0, r3, 0xc
|
|
/* 8004DE88 00049CC8 7C 7C 02 14 */ add r3, r28, r0
|
|
/* 8004DE8C 00049CCC 7C 1C 00 2E */ lwzx r0, r28, r0
|
|
/* 8004DE90 00049CD0 80 63 00 04 */ lwz r3, 0x4(r3)
|
|
/* 8004DE94 00049CD4 54 00 02 3E */ clrlwi r0, r0, 8
|
|
/* 8004DE98 00049CD8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004DE9C 00049CDC 7F E7 02 14 */ add r31, r7, r0
|
|
/* 8004DEA0 00049CE0 40 82 00 0C */ bne lbl_8004DEAC
|
|
/* 8004DEA4 00049CE4 38 80 00 00 */ li r4, 0x0
|
|
/* 8004DEA8 00049CE8 48 00 00 90 */ b lbl_8004DF38
|
|
.global lbl_8004DEAC
|
|
lbl_8004DEAC:
|
|
/* 8004DEAC 00049CEC 1C 83 00 0C */ mulli r4, r3, 0xc
|
|
/* 8004DEB0 00049CF0 7F 43 D3 78 */ mr r3, r26
|
|
/* 8004DEB4 00049CF4 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 8004DEB8 00049CF8 38 C0 00 80 */ li r6, 0x80
|
|
/* 8004DEBC 00049CFC 7C 1C 20 2E */ lwzx r0, r28, r4
|
|
/* 8004DEC0 00049D00 7C 9C 22 14 */ add r4, r28, r4
|
|
/* 8004DEC4 00049D04 80 84 00 04 */ lwz r4, 0x4(r4)
|
|
/* 8004DEC8 00049D08 54 00 02 3E */ clrlwi r0, r0, 8
|
|
/* 8004DECC 00049D0C 7F 47 02 14 */ add r26, r7, r0
|
|
/* 8004DED0 00049D10 48 00 04 C1 */ bl entryToPath_8004E390
|
|
/* 8004DED4 00049D14 28 03 00 80 */ cmplwi r3, 0x80
|
|
/* 8004DED8 00049D18 7C 64 1B 78 */ mr r4, r3
|
|
/* 8004DEDC 00049D1C 40 82 00 08 */ bne lbl_8004DEE4
|
|
/* 8004DEE0 00049D20 48 00 00 58 */ b lbl_8004DF38
|
|
.global lbl_8004DEE4
|
|
lbl_8004DEE4:
|
|
/* 8004DEE4 00049D24 38 83 00 01 */ addi r4, r3, 0x1
|
|
/* 8004DEE8 00049D28 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 8004DEEC 00049D2C 38 00 00 2F */ li r0, 0x2f
|
|
/* 8004DEF0 00049D30 7C 05 19 AE */ stbx r0, r5, r3
|
|
/* 8004DEF4 00049D34 20 C4 00 80 */ subfic r6, r4, 0x80
|
|
/* 8004DEF8 00049D38 7C A5 22 14 */ add r5, r5, r4
|
|
/* 8004DEFC 00049D3C 7C C3 33 78 */ mr r3, r6
|
|
/* 8004DF00 00049D40 48 00 00 1C */ b lbl_8004DF1C
|
|
/* 8004DF04 00049D44 60 00 00 00 */ nop
|
|
.global lbl_8004DF08
|
|
lbl_8004DF08:
|
|
/* 8004DF08 00049D48 88 1A 00 00 */ lbz r0, 0x0(r26)
|
|
/* 8004DF0C 00049D4C 3B 5A 00 01 */ addi r26, r26, 0x1
|
|
/* 8004DF10 00049D50 98 05 00 00 */ stb r0, 0x0(r5)
|
|
/* 8004DF14 00049D54 38 A5 00 01 */ addi r5, r5, 0x1
|
|
/* 8004DF18 00049D58 38 63 FF FF */ addi r3, r3, -0x1
|
|
.global lbl_8004DF1C
|
|
lbl_8004DF1C:
|
|
/* 8004DF1C 00049D5C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004DF20 00049D60 41 82 00 10 */ beq lbl_8004DF30
|
|
/* 8004DF24 00049D64 88 1A 00 00 */ lbz r0, 0x0(r26)
|
|
/* 8004DF28 00049D68 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004DF2C 00049D6C 40 82 FF DC */ bne lbl_8004DF08
|
|
.global lbl_8004DF30
|
|
lbl_8004DF30:
|
|
/* 8004DF30 00049D70 7C 03 30 50 */ subf r0, r3, r6
|
|
/* 8004DF34 00049D74 7C 84 02 14 */ add r4, r4, r0
|
|
.global lbl_8004DF38
|
|
lbl_8004DF38:
|
|
/* 8004DF38 00049D78 28 04 00 80 */ cmplwi r4, 0x80
|
|
/* 8004DF3C 00049D7C 40 82 00 08 */ bne lbl_8004DF44
|
|
/* 8004DF40 00049D80 48 00 00 58 */ b lbl_8004DF98
|
|
.global lbl_8004DF44
|
|
lbl_8004DF44:
|
|
/* 8004DF44 00049D84 38 A4 00 01 */ addi r5, r4, 0x1
|
|
/* 8004DF48 00049D88 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 8004DF4C 00049D8C 38 00 00 2F */ li r0, 0x2f
|
|
/* 8004DF50 00049D90 7C 03 21 AE */ stbx r0, r3, r4
|
|
/* 8004DF54 00049D94 20 C5 00 80 */ subfic r6, r5, 0x80
|
|
/* 8004DF58 00049D98 7C 63 2A 14 */ add r3, r3, r5
|
|
/* 8004DF5C 00049D9C 7C C4 33 78 */ mr r4, r6
|
|
/* 8004DF60 00049DA0 48 00 00 1C */ b lbl_8004DF7C
|
|
/* 8004DF64 00049DA4 60 00 00 00 */ nop
|
|
.global lbl_8004DF68
|
|
lbl_8004DF68:
|
|
/* 8004DF68 00049DA8 88 1F 00 00 */ lbz r0, 0x0(r31)
|
|
/* 8004DF6C 00049DAC 3B FF 00 01 */ addi r31, r31, 0x1
|
|
/* 8004DF70 00049DB0 98 03 00 00 */ stb r0, 0x0(r3)
|
|
/* 8004DF74 00049DB4 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 8004DF78 00049DB8 38 84 FF FF */ addi r4, r4, -0x1
|
|
.global lbl_8004DF7C
|
|
lbl_8004DF7C:
|
|
/* 8004DF7C 00049DBC 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8004DF80 00049DC0 41 82 00 10 */ beq lbl_8004DF90
|
|
/* 8004DF84 00049DC4 88 1F 00 00 */ lbz r0, 0x0(r31)
|
|
/* 8004DF88 00049DC8 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004DF8C 00049DCC 40 82 FF DC */ bne lbl_8004DF68
|
|
.global lbl_8004DF90
|
|
lbl_8004DF90:
|
|
/* 8004DF90 00049DD0 7C 04 30 50 */ subf r0, r4, r6
|
|
/* 8004DF94 00049DD4 7C 85 02 14 */ add r4, r5, r0
|
|
.global lbl_8004DF98
|
|
lbl_8004DF98:
|
|
/* 8004DF98 00049DD8 28 04 00 80 */ cmplwi r4, 0x80
|
|
/* 8004DF9C 00049DDC 40 82 00 08 */ bne lbl_8004DFA4
|
|
/* 8004DFA0 00049DE0 48 00 00 58 */ b lbl_8004DFF8
|
|
.global lbl_8004DFA4
|
|
lbl_8004DFA4:
|
|
/* 8004DFA4 00049DE4 38 A4 00 01 */ addi r5, r4, 0x1
|
|
/* 8004DFA8 00049DE8 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 8004DFAC 00049DEC 38 00 00 2F */ li r0, 0x2f
|
|
/* 8004DFB0 00049DF0 7C 03 21 AE */ stbx r0, r3, r4
|
|
/* 8004DFB4 00049DF4 20 C5 00 80 */ subfic r6, r5, 0x80
|
|
/* 8004DFB8 00049DF8 7C 63 2A 14 */ add r3, r3, r5
|
|
/* 8004DFBC 00049DFC 7C C4 33 78 */ mr r4, r6
|
|
/* 8004DFC0 00049E00 48 00 00 1C */ b lbl_8004DFDC
|
|
/* 8004DFC4 00049E04 60 00 00 00 */ nop
|
|
.global lbl_8004DFC8
|
|
lbl_8004DFC8:
|
|
/* 8004DFC8 00049E08 88 1E 00 00 */ lbz r0, 0x0(r30)
|
|
/* 8004DFCC 00049E0C 3B DE 00 01 */ addi r30, r30, 0x1
|
|
/* 8004DFD0 00049E10 98 03 00 00 */ stb r0, 0x0(r3)
|
|
/* 8004DFD4 00049E14 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 8004DFD8 00049E18 38 84 FF FF */ addi r4, r4, -0x1
|
|
.global lbl_8004DFDC
|
|
lbl_8004DFDC:
|
|
/* 8004DFDC 00049E1C 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8004DFE0 00049E20 41 82 00 10 */ beq lbl_8004DFF0
|
|
/* 8004DFE4 00049E24 88 1E 00 00 */ lbz r0, 0x0(r30)
|
|
/* 8004DFE8 00049E28 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004DFEC 00049E2C 40 82 FF DC */ bne lbl_8004DFC8
|
|
.global lbl_8004DFF0
|
|
lbl_8004DFF0:
|
|
/* 8004DFF0 00049E30 7C 04 30 50 */ subf r0, r4, r6
|
|
/* 8004DFF4 00049E34 7C 85 02 14 */ add r4, r5, r0
|
|
.global lbl_8004DFF8
|
|
lbl_8004DFF8:
|
|
/* 8004DFF8 00049E38 28 04 00 80 */ cmplwi r4, 0x80
|
|
/* 8004DFFC 00049E3C 40 82 00 10 */ bne lbl_8004E00C
|
|
/* 8004E000 00049E40 38 00 00 00 */ li r0, 0x0
|
|
/* 8004E004 00049E44 98 01 00 87 */ stb r0, 0x87(r1)
|
|
/* 8004E008 00049E48 48 00 00 48 */ b lbl_8004E050
|
|
.global lbl_8004E00C
|
|
lbl_8004E00C:
|
|
/* 8004E00C 00049E4C 1C 1D 00 0C */ mulli r0, r29, 0xc
|
|
/* 8004E010 00049E50 7C 1C 00 2E */ lwzx r0, r28, r0
|
|
/* 8004E014 00049E54 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 8004E018 00049E58 41 82 00 2C */ beq lbl_8004E044
|
|
/* 8004E01C 00049E5C 28 04 00 7F */ cmplwi r4, 0x7f
|
|
/* 8004E020 00049E60 40 82 00 14 */ bne lbl_8004E034
|
|
/* 8004E024 00049E64 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 8004E028 00049E68 38 00 00 00 */ li r0, 0x0
|
|
/* 8004E02C 00049E6C 7C 03 21 AE */ stbx r0, r3, r4
|
|
/* 8004E030 00049E70 48 00 00 20 */ b lbl_8004E050
|
|
.global lbl_8004E034
|
|
lbl_8004E034:
|
|
/* 8004E034 00049E74 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 8004E038 00049E78 38 00 00 2F */ li r0, 0x2f
|
|
/* 8004E03C 00049E7C 7C 03 21 AE */ stbx r0, r3, r4
|
|
/* 8004E040 00049E80 38 84 00 01 */ addi r4, r4, 0x1
|
|
.global lbl_8004E044
|
|
lbl_8004E044:
|
|
/* 8004E044 00049E84 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 8004E048 00049E88 38 00 00 00 */ li r0, 0x0
|
|
/* 8004E04C 00049E8C 7C 03 21 AE */ stbx r0, r3, r4
|
|
.global lbl_8004E050
|
|
lbl_8004E050:
|
|
/* 8004E050 00049E90 3C 60 80 44 */ lis r3, "@1189"@ha
|
|
/* 8004E054 00049E94 7F 64 DB 78 */ mr r4, r27
|
|
/* 8004E058 00049E98 38 63 84 BC */ addi r3, r3, "@1189"@l
|
|
/* 8004E05C 00049E9C 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 8004E060 00049EA0 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 8004E064 00049EA4 4B FC F9 2D */ bl OSReport
|
|
/* 8004E068 00049EA8 38 60 00 00 */ li r3, 0x0
|
|
/* 8004E06C 00049EAC 48 00 00 38 */ b lbl_8004E0A4
|
|
.global lbl_8004E070
|
|
lbl_8004E070:
|
|
/* 8004E070 00049EB0 1C 63 00 0C */ mulli r3, r3, 0xc
|
|
/* 8004E074 00049EB4 7C 1C 18 2E */ lwzx r0, r28, r3
|
|
/* 8004E078 00049EB8 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 8004E07C 00049EBC 41 82 00 0C */ beq lbl_8004E088
|
|
/* 8004E080 00049EC0 38 60 00 00 */ li r3, 0x0
|
|
/* 8004E084 00049EC4 48 00 00 20 */ b lbl_8004E0A4
|
|
.global lbl_8004E088
|
|
lbl_8004E088:
|
|
/* 8004E088 00049EC8 93 5D 00 00 */ stw r26, 0x0(r29)
|
|
/* 8004E08C 00049ECC 7C 9C 1A 14 */ add r4, r28, r3
|
|
/* 8004E090 00049ED0 38 60 00 01 */ li r3, 0x1
|
|
/* 8004E094 00049ED4 80 04 00 04 */ lwz r0, 0x4(r4)
|
|
/* 8004E098 00049ED8 90 1D 00 04 */ stw r0, 0x4(r29)
|
|
/* 8004E09C 00049EDC 80 04 00 08 */ lwz r0, 0x8(r4)
|
|
/* 8004E0A0 00049EE0 90 1D 00 08 */ stw r0, 0x8(r29)
|
|
.global lbl_8004E0A4
|
|
lbl_8004E0A4:
|
|
/* 8004E0A4 00049EE4 39 61 00 A0 */ addi r11, r1, 0xa0
|
|
/* 8004E0A8 00049EE8 4B FB 92 DD */ bl lbl_80007384
|
|
/* 8004E0AC 00049EEC 80 01 00 A4 */ lwz r0, 0xa4(r1)
|
|
/* 8004E0B0 00049EF0 7C 08 03 A6 */ mtlr r0
|
|
/* 8004E0B4 00049EF4 38 21 00 A0 */ addi r1, r1, 0xa0
|
|
/* 8004E0B8 00049EF8 4E 80 00 20 */ blr
|
|
/* 8004E0BC 00049EFC 00 00 00 00 */ .4byte 0x00000000
|
|
.global ARCFastOpen
|
|
ARCFastOpen:
|
|
/* 8004E0C0 00049F00 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8004E0C4 00049F04 80 C3 00 04 */ lwz r6, 0x4(r3)
|
|
/* 8004E0C8 00049F08 41 80 00 20 */ blt lbl_8004E0E8
|
|
/* 8004E0CC 00049F0C 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8004E0D0 00049F10 7C 04 00 40 */ cmplw r4, r0
|
|
/* 8004E0D4 00049F14 40 80 00 14 */ bge lbl_8004E0E8
|
|
/* 8004E0D8 00049F18 1C 84 00 0C */ mulli r4, r4, 0xc
|
|
/* 8004E0DC 00049F1C 7C 06 20 2E */ lwzx r0, r6, r4
|
|
/* 8004E0E0 00049F20 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 8004E0E4 00049F24 41 82 00 0C */ beq lbl_8004E0F0
|
|
.global lbl_8004E0E8
|
|
lbl_8004E0E8:
|
|
/* 8004E0E8 00049F28 38 60 00 00 */ li r3, 0x0
|
|
/* 8004E0EC 00049F2C 4E 80 00 20 */ blr
|
|
.global lbl_8004E0F0
|
|
lbl_8004E0F0:
|
|
/* 8004E0F0 00049F30 90 65 00 00 */ stw r3, 0x0(r5)
|
|
/* 8004E0F4 00049F34 7C 86 22 14 */ add r4, r6, r4
|
|
/* 8004E0F8 00049F38 38 60 00 01 */ li r3, 0x1
|
|
/* 8004E0FC 00049F3C 80 04 00 04 */ lwz r0, 0x4(r4)
|
|
/* 8004E100 00049F40 90 05 00 04 */ stw r0, 0x4(r5)
|
|
/* 8004E104 00049F44 80 04 00 08 */ lwz r0, 0x8(r4)
|
|
/* 8004E108 00049F48 90 05 00 08 */ stw r0, 0x8(r5)
|
|
/* 8004E10C 00049F4C 4E 80 00 20 */ blr
|
|
.global ARCConvertPathToEntrynum
|
|
ARCConvertPathToEntrynum:
|
|
/* 8004E110 00049F50 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8004E114 00049F54 3C C0 80 42 */ lis r6, _current_locale@ha
|
|
/* 8004E118 00049F58 38 C6 15 10 */ addi r6, r6, _current_locale@l
|
|
/* 8004E11C 00049F5C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8004E120 00049F60 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 8004E124 00049F64 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8004E128 00049F68 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 8004E12C 00049F6C 81 23 00 18 */ lwz r9, 0x18(r3)
|
|
/* 8004E130 00049F70 81 43 00 04 */ lwz r10, 0x4(r3)
|
|
/* 8004E134 00049F74 60 00 00 00 */ nop
|
|
.global lbl_8004E138
|
|
lbl_8004E138:
|
|
/* 8004E138 00049F78 88 04 00 00 */ lbz r0, 0x0(r4)
|
|
/* 8004E13C 00049F7C 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004E140 00049F80 40 82 00 0C */ bne lbl_8004E14C
|
|
/* 8004E144 00049F84 7D 23 4B 78 */ mr r3, r9
|
|
/* 8004E148 00049F88 48 00 02 2C */ b lbl_8004E374
|
|
.global lbl_8004E14C
|
|
lbl_8004E14C:
|
|
/* 8004E14C 00049F8C 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 8004E150 00049F90 40 82 00 10 */ bne lbl_8004E160
|
|
/* 8004E154 00049F94 39 20 00 00 */ li r9, 0x0
|
|
/* 8004E158 00049F98 38 84 00 01 */ addi r4, r4, 0x1
|
|
/* 8004E15C 00049F9C 4B FF FF DC */ b lbl_8004E138
|
|
.global lbl_8004E160
|
|
lbl_8004E160:
|
|
/* 8004E160 00049FA0 2C 00 00 2E */ cmpwi r0, 0x2e
|
|
/* 8004E164 00049FA4 40 82 00 70 */ bne lbl_8004E1D4
|
|
/* 8004E168 00049FA8 88 04 00 01 */ lbz r0, 0x1(r4)
|
|
/* 8004E16C 00049FAC 7C 00 07 74 */ extsb r0, r0
|
|
/* 8004E170 00049FB0 2C 00 00 2E */ cmpwi r0, 0x2e
|
|
/* 8004E174 00049FB4 40 82 00 40 */ bne lbl_8004E1B4
|
|
/* 8004E178 00049FB8 88 04 00 02 */ lbz r0, 0x2(r4)
|
|
/* 8004E17C 00049FBC 7C 00 07 74 */ extsb r0, r0
|
|
/* 8004E180 00049FC0 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 8004E184 00049FC4 40 82 00 18 */ bne lbl_8004E19C
|
|
/* 8004E188 00049FC8 1C 09 00 0C */ mulli r0, r9, 0xc
|
|
/* 8004E18C 00049FCC 38 84 00 03 */ addi r4, r4, 0x3
|
|
/* 8004E190 00049FD0 7C AA 02 14 */ add r5, r10, r0
|
|
/* 8004E194 00049FD4 81 25 00 04 */ lwz r9, 0x4(r5)
|
|
/* 8004E198 00049FD8 4B FF FF A0 */ b lbl_8004E138
|
|
.global lbl_8004E19C
|
|
lbl_8004E19C:
|
|
/* 8004E19C 00049FDC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8004E1A0 00049FE0 40 82 00 34 */ bne lbl_8004E1D4
|
|
/* 8004E1A4 00049FE4 1C 09 00 0C */ mulli r0, r9, 0xc
|
|
/* 8004E1A8 00049FE8 7C 6A 02 14 */ add r3, r10, r0
|
|
/* 8004E1AC 00049FEC 80 63 00 04 */ lwz r3, 0x4(r3)
|
|
/* 8004E1B0 00049FF0 48 00 01 C4 */ b lbl_8004E374
|
|
.global lbl_8004E1B4
|
|
lbl_8004E1B4:
|
|
/* 8004E1B4 00049FF4 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 8004E1B8 00049FF8 40 82 00 0C */ bne lbl_8004E1C4
|
|
/* 8004E1BC 00049FFC 38 84 00 02 */ addi r4, r4, 0x2
|
|
/* 8004E1C0 0004A000 4B FF FF 78 */ b lbl_8004E138
|
|
.global lbl_8004E1C4
|
|
lbl_8004E1C4:
|
|
/* 8004E1C4 0004A004 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8004E1C8 0004A008 40 82 00 0C */ bne lbl_8004E1D4
|
|
/* 8004E1CC 0004A00C 7D 23 4B 78 */ mr r3, r9
|
|
/* 8004E1D0 0004A010 48 00 01 A4 */ b lbl_8004E374
|
|
.global lbl_8004E1D4
|
|
lbl_8004E1D4:
|
|
/* 8004E1D4 0004A014 7C 88 23 78 */ mr r8, r4
|
|
/* 8004E1D8 0004A018 48 00 00 0C */ b lbl_8004E1E4
|
|
/* 8004E1DC 0004A01C 60 00 00 00 */ nop
|
|
.global lbl_8004E1E0
|
|
lbl_8004E1E0:
|
|
/* 8004E1E0 0004A020 39 08 00 01 */ addi r8, r8, 0x1
|
|
.global lbl_8004E1E4
|
|
lbl_8004E1E4:
|
|
/* 8004E1E4 0004A024 88 08 00 00 */ lbz r0, 0x0(r8)
|
|
/* 8004E1E8 0004A028 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004E1EC 0004A02C 41 82 00 10 */ beq lbl_8004E1FC
|
|
/* 8004E1F0 0004A030 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 8004E1F4 0004A034 41 82 00 10 */ beq lbl_8004E204
|
|
/* 8004E1F8 0004A038 4B FF FF E8 */ b lbl_8004E1E0
|
|
.global lbl_8004E1FC
|
|
lbl_8004E1FC:
|
|
/* 8004E1FC 0004A03C 38 00 00 00 */ li r0, 0x0
|
|
/* 8004E200 0004A040 48 00 00 08 */ b lbl_8004E208
|
|
.global lbl_8004E204
|
|
lbl_8004E204:
|
|
/* 8004E204 0004A044 38 00 00 01 */ li r0, 0x1
|
|
.global lbl_8004E208
|
|
lbl_8004E208:
|
|
/* 8004E208 0004A048 1C E9 00 0C */ mulli r7, r9, 0xc
|
|
/* 8004E20C 0004A04C 80 A6 00 38 */ lwz r5, 0x38(r6)
|
|
/* 8004E210 0004A050 7D 04 40 50 */ subf r8, r4, r8
|
|
/* 8004E214 0004A054 39 29 00 01 */ addi r9, r9, 0x1
|
|
/* 8004E218 0004A058 7C EA 3A 14 */ add r7, r10, r7
|
|
/* 8004E21C 0004A05C 80 E7 00 08 */ lwz r7, 0x8(r7)
|
|
/* 8004E220 0004A060 48 00 01 28 */ b lbl_8004E348
|
|
/* 8004E224 0004A064 60 00 00 00 */ nop
|
|
.global lbl_8004E228
|
|
lbl_8004E228:
|
|
/* 8004E228 0004A068 1D 69 00 0C */ mulli r11, r9, 0xc
|
|
/* 8004E22C 0004A06C 7F AA 5A 14 */ add r29, r10, r11
|
|
.global lbl_8004E230
|
|
lbl_8004E230:
|
|
/* 8004E230 0004A070 83 DD 00 00 */ lwz r30, 0x0(r29)
|
|
/* 8004E234 0004A074 57 CB 00 0F */ clrrwi. r11, r30, 24
|
|
/* 8004E238 0004A078 40 82 00 0C */ bne lbl_8004E244
|
|
/* 8004E23C 0004A07C 2C 00 00 01 */ cmpwi r0, 0x1
|
|
/* 8004E240 0004A080 41 82 00 E8 */ beq lbl_8004E328
|
|
.global lbl_8004E244
|
|
lbl_8004E244:
|
|
/* 8004E244 0004A084 81 83 00 10 */ lwz r12, 0x10(r3)
|
|
/* 8004E248 0004A088 57 CB 02 3E */ clrlwi r11, r30, 8
|
|
/* 8004E24C 0004A08C 7F 8C 5A 14 */ add r28, r12, r11
|
|
/* 8004E250 0004A090 7D 6C 58 AE */ lbzx r11, r12, r11
|
|
/* 8004E254 0004A094 2C 0B 00 2E */ cmpwi r11, 0x2e
|
|
/* 8004E258 0004A098 40 82 00 1C */ bne lbl_8004E274
|
|
/* 8004E25C 0004A09C 89 7C 00 01 */ lbz r11, 0x1(r28)
|
|
/* 8004E260 0004A0A0 7D 6B 07 75 */ extsb. r11, r11
|
|
/* 8004E264 0004A0A4 40 82 00 10 */ bne lbl_8004E274
|
|
/* 8004E268 0004A0A8 3B BD 00 0C */ addi r29, r29, 0xc
|
|
/* 8004E26C 0004A0AC 39 29 00 01 */ addi r9, r9, 0x1
|
|
/* 8004E270 0004A0B0 4B FF FF C0 */ b lbl_8004E230
|
|
.global lbl_8004E274
|
|
lbl_8004E274:
|
|
/* 8004E274 0004A0B4 7C 8C 23 78 */ mr r12, r4
|
|
/* 8004E278 0004A0B8 48 00 00 78 */ b lbl_8004E2F0
|
|
/* 8004E27C 0004A0BC 60 00 00 00 */ nop
|
|
.global lbl_8004E280
|
|
lbl_8004E280:
|
|
/* 8004E280 0004A0C0 89 7C 00 00 */ lbz r11, 0x0(r28)
|
|
/* 8004E284 0004A0C4 3B E0 00 01 */ li r31, 0x1
|
|
/* 8004E288 0004A0C8 3B 9C 00 01 */ addi r28, r28, 0x1
|
|
/* 8004E28C 0004A0CC 7D 7E 07 74 */ extsb r30, r11
|
|
/* 8004E290 0004A0D0 28 1E 00 FF */ cmplwi r30, 0xff
|
|
/* 8004E294 0004A0D4 41 81 00 08 */ bgt lbl_8004E29C
|
|
/* 8004E298 0004A0D8 3B E0 00 00 */ li r31, 0x0
|
|
.global lbl_8004E29C
|
|
lbl_8004E29C:
|
|
/* 8004E29C 0004A0DC 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
/* 8004E2A0 0004A0E0 41 82 00 08 */ beq lbl_8004E2A8
|
|
/* 8004E2A4 0004A0E4 48 00 00 0C */ b lbl_8004E2B0
|
|
.global lbl_8004E2A8
|
|
lbl_8004E2A8:
|
|
/* 8004E2A8 0004A0E8 81 65 00 10 */ lwz r11, 0x10(r5)
|
|
/* 8004E2AC 0004A0EC 7F CB F0 AE */ lbzx r30, r11, r30
|
|
.global lbl_8004E2B0
|
|
lbl_8004E2B0:
|
|
/* 8004E2B0 0004A0F0 89 6C 00 00 */ lbz r11, 0x0(r12)
|
|
/* 8004E2B4 0004A0F4 3B A0 00 01 */ li r29, 0x1
|
|
/* 8004E2B8 0004A0F8 39 8C 00 01 */ addi r12, r12, 0x1
|
|
/* 8004E2BC 0004A0FC 7D 7F 07 74 */ extsb r31, r11
|
|
/* 8004E2C0 0004A100 28 1F 00 FF */ cmplwi r31, 0xff
|
|
/* 8004E2C4 0004A104 41 81 00 08 */ bgt lbl_8004E2CC
|
|
/* 8004E2C8 0004A108 3B A0 00 00 */ li r29, 0x0
|
|
.global lbl_8004E2CC
|
|
lbl_8004E2CC:
|
|
/* 8004E2CC 0004A10C 2C 1D 00 00 */ cmpwi r29, 0x0
|
|
/* 8004E2D0 0004A110 41 82 00 08 */ beq lbl_8004E2D8
|
|
/* 8004E2D4 0004A114 48 00 00 0C */ b lbl_8004E2E0
|
|
.global lbl_8004E2D8
|
|
lbl_8004E2D8:
|
|
/* 8004E2D8 0004A118 81 65 00 10 */ lwz r11, 0x10(r5)
|
|
/* 8004E2DC 0004A11C 7F EB F8 AE */ lbzx r31, r11, r31
|
|
.global lbl_8004E2E0
|
|
lbl_8004E2E0:
|
|
/* 8004E2E0 0004A120 7C 1F F0 00 */ cmpw r31, r30
|
|
/* 8004E2E4 0004A124 41 82 00 0C */ beq lbl_8004E2F0
|
|
/* 8004E2E8 0004A128 39 60 00 00 */ li r11, 0x0
|
|
/* 8004E2EC 0004A12C 48 00 00 34 */ b lbl_8004E320
|
|
.global lbl_8004E2F0
|
|
lbl_8004E2F0:
|
|
/* 8004E2F0 0004A130 89 7C 00 00 */ lbz r11, 0x0(r28)
|
|
/* 8004E2F4 0004A134 7D 6B 07 75 */ extsb. r11, r11
|
|
/* 8004E2F8 0004A138 40 82 FF 88 */ bne lbl_8004E280
|
|
/* 8004E2FC 0004A13C 89 6C 00 00 */ lbz r11, 0x0(r12)
|
|
/* 8004E300 0004A140 7D 6B 07 74 */ extsb r11, r11
|
|
/* 8004E304 0004A144 2C 0B 00 2F */ cmpwi r11, 0x2f
|
|
/* 8004E308 0004A148 41 82 00 0C */ beq lbl_8004E314
|
|
/* 8004E30C 0004A14C 2C 0B 00 00 */ cmpwi r11, 0x0
|
|
/* 8004E310 0004A150 40 82 00 0C */ bne lbl_8004E31C
|
|
.global lbl_8004E314
|
|
lbl_8004E314:
|
|
/* 8004E314 0004A154 39 60 00 01 */ li r11, 0x1
|
|
/* 8004E318 0004A158 48 00 00 08 */ b lbl_8004E320
|
|
.global lbl_8004E31C
|
|
lbl_8004E31C:
|
|
/* 8004E31C 0004A15C 39 60 00 00 */ li r11, 0x0
|
|
.global lbl_8004E320
|
|
lbl_8004E320:
|
|
/* 8004E320 0004A160 2C 0B 00 01 */ cmpwi r11, 0x1
|
|
/* 8004E324 0004A164 41 82 00 34 */ beq lbl_8004E358
|
|
.global lbl_8004E328
|
|
lbl_8004E328:
|
|
/* 8004E328 0004A168 1D 69 00 0C */ mulli r11, r9, 0xc
|
|
/* 8004E32C 0004A16C 7D 8A 5A 14 */ add r12, r10, r11
|
|
/* 8004E330 0004A170 7D 6A 58 2E */ lwzx r11, r10, r11
|
|
/* 8004E334 0004A174 55 6B 00 0F */ clrrwi. r11, r11, 24
|
|
/* 8004E338 0004A178 41 82 00 0C */ beq lbl_8004E344
|
|
/* 8004E33C 0004A17C 81 2C 00 08 */ lwz r9, 0x8(r12)
|
|
/* 8004E340 0004A180 48 00 00 08 */ b lbl_8004E348
|
|
.global lbl_8004E344
|
|
lbl_8004E344:
|
|
/* 8004E344 0004A184 39 29 00 01 */ addi r9, r9, 0x1
|
|
.global lbl_8004E348
|
|
lbl_8004E348:
|
|
/* 8004E348 0004A188 7C 09 38 40 */ cmplw r9, r7
|
|
/* 8004E34C 0004A18C 41 80 FE DC */ blt lbl_8004E228
|
|
/* 8004E350 0004A190 38 60 FF FF */ li r3, -0x1
|
|
/* 8004E354 0004A194 48 00 00 20 */ b lbl_8004E374
|
|
.global lbl_8004E358
|
|
lbl_8004E358:
|
|
/* 8004E358 0004A198 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8004E35C 0004A19C 40 82 00 0C */ bne lbl_8004E368
|
|
/* 8004E360 0004A1A0 7D 23 4B 78 */ mr r3, r9
|
|
/* 8004E364 0004A1A4 48 00 00 10 */ b lbl_8004E374
|
|
.global lbl_8004E368
|
|
lbl_8004E368:
|
|
/* 8004E368 0004A1A8 7C 88 22 14 */ add r4, r8, r4
|
|
/* 8004E36C 0004A1AC 38 84 00 01 */ addi r4, r4, 0x1
|
|
/* 8004E370 0004A1B0 4B FF FD C8 */ b lbl_8004E138
|
|
.global lbl_8004E374
|
|
lbl_8004E374:
|
|
/* 8004E374 0004A1B4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8004E378 0004A1B8 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8004E37C 0004A1BC 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8004E380 0004A1C0 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 8004E384 0004A1C4 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8004E388 0004A1C8 4E 80 00 20 */ blr
|
|
/* 8004E38C 0004A1CC 00 00 00 00 */ .4byte 0x00000000
|
|
.global entryToPath_8004E390
|
|
entryToPath_8004E390:
|
|
/* 8004E390 0004A1D0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8004E394 0004A1D4 7C 08 02 A6 */ mflr r0
|
|
/* 8004E398 0004A1D8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8004E39C 0004A1DC 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8004E3A0 0004A1E0 4B FB 8F 9D */ bl lbl_8000733C
|
|
/* 8004E3A4 0004A1E4 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8004E3A8 0004A1E8 80 E3 00 04 */ lwz r7, 0x4(r3)
|
|
/* 8004E3AC 0004A1EC 7C BC 2B 78 */ mr r28, r5
|
|
/* 8004E3B0 0004A1F0 7C DD 33 78 */ mr r29, r6
|
|
/* 8004E3B4 0004A1F4 40 82 00 0C */ bne lbl_8004E3C0
|
|
/* 8004E3B8 0004A1F8 38 60 00 00 */ li r3, 0x0
|
|
/* 8004E3BC 0004A1FC 48 00 01 8C */ b lbl_8004E548
|
|
.global lbl_8004E3C0
|
|
lbl_8004E3C0:
|
|
/* 8004E3C0 0004A200 1C 04 00 0C */ mulli r0, r4, 0xc
|
|
/* 8004E3C4 0004A204 81 03 00 10 */ lwz r8, 0x10(r3)
|
|
/* 8004E3C8 0004A208 7C 87 02 14 */ add r4, r7, r0
|
|
/* 8004E3CC 0004A20C 7C 07 00 2E */ lwzx r0, r7, r0
|
|
/* 8004E3D0 0004A210 80 84 00 04 */ lwz r4, 0x4(r4)
|
|
/* 8004E3D4 0004A214 54 00 02 3E */ clrlwi r0, r0, 8
|
|
/* 8004E3D8 0004A218 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8004E3DC 0004A21C 7F C8 02 14 */ add r30, r8, r0
|
|
/* 8004E3E0 0004A220 40 82 00 0C */ bne lbl_8004E3EC
|
|
/* 8004E3E4 0004A224 38 80 00 00 */ li r4, 0x0
|
|
/* 8004E3E8 0004A228 48 00 01 00 */ b lbl_8004E4E8
|
|
.global lbl_8004E3EC
|
|
lbl_8004E3EC:
|
|
/* 8004E3EC 0004A22C 1C 04 00 0C */ mulli r0, r4, 0xc
|
|
/* 8004E3F0 0004A230 7C 87 02 14 */ add r4, r7, r0
|
|
/* 8004E3F4 0004A234 7C 07 00 2E */ lwzx r0, r7, r0
|
|
/* 8004E3F8 0004A238 80 84 00 04 */ lwz r4, 0x4(r4)
|
|
/* 8004E3FC 0004A23C 54 00 02 3E */ clrlwi r0, r0, 8
|
|
/* 8004E400 0004A240 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8004E404 0004A244 7F E8 02 14 */ add r31, r8, r0
|
|
/* 8004E408 0004A248 40 82 00 0C */ bne lbl_8004E414
|
|
/* 8004E40C 0004A24C 38 80 00 00 */ li r4, 0x0
|
|
/* 8004E410 0004A250 48 00 00 80 */ b lbl_8004E490
|
|
.global lbl_8004E414
|
|
lbl_8004E414:
|
|
/* 8004E414 0004A254 1C 84 00 0C */ mulli r4, r4, 0xc
|
|
/* 8004E418 0004A258 7C 07 20 2E */ lwzx r0, r7, r4
|
|
/* 8004E41C 0004A25C 7C 87 22 14 */ add r4, r7, r4
|
|
/* 8004E420 0004A260 80 84 00 04 */ lwz r4, 0x4(r4)
|
|
/* 8004E424 0004A264 54 00 02 3E */ clrlwi r0, r0, 8
|
|
/* 8004E428 0004A268 7F 68 02 14 */ add r27, r8, r0
|
|
/* 8004E42C 0004A26C 4B FF FF 65 */ bl entryToPath_8004E390
|
|
/* 8004E430 0004A270 7C 03 E8 40 */ cmplw r3, r29
|
|
/* 8004E434 0004A274 7C 64 1B 78 */ mr r4, r3
|
|
/* 8004E438 0004A278 40 82 00 08 */ bne lbl_8004E440
|
|
/* 8004E43C 0004A27C 48 00 00 54 */ b lbl_8004E490
|
|
.global lbl_8004E440
|
|
lbl_8004E440:
|
|
/* 8004E440 0004A280 38 83 00 01 */ addi r4, r3, 0x1
|
|
/* 8004E444 0004A284 38 00 00 2F */ li r0, 0x2f
|
|
/* 8004E448 0004A288 7C C4 E8 50 */ subf r6, r4, r29
|
|
/* 8004E44C 0004A28C 7C 1C 19 AE */ stbx r0, r28, r3
|
|
/* 8004E450 0004A290 7C 7C 22 14 */ add r3, r28, r4
|
|
/* 8004E454 0004A294 7C C5 33 78 */ mr r5, r6
|
|
/* 8004E458 0004A298 48 00 00 1C */ b lbl_8004E474
|
|
/* 8004E45C 0004A29C 60 00 00 00 */ nop
|
|
.global lbl_8004E460
|
|
lbl_8004E460:
|
|
/* 8004E460 0004A2A0 88 1B 00 00 */ lbz r0, 0x0(r27)
|
|
/* 8004E464 0004A2A4 3B 7B 00 01 */ addi r27, r27, 0x1
|
|
/* 8004E468 0004A2A8 98 03 00 00 */ stb r0, 0x0(r3)
|
|
/* 8004E46C 0004A2AC 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 8004E470 0004A2B0 38 A5 FF FF */ addi r5, r5, -0x1
|
|
.global lbl_8004E474
|
|
lbl_8004E474:
|
|
/* 8004E474 0004A2B4 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 8004E478 0004A2B8 41 82 00 10 */ beq lbl_8004E488
|
|
/* 8004E47C 0004A2BC 88 1B 00 00 */ lbz r0, 0x0(r27)
|
|
/* 8004E480 0004A2C0 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004E484 0004A2C4 40 82 FF DC */ bne lbl_8004E460
|
|
.global lbl_8004E488
|
|
lbl_8004E488:
|
|
/* 8004E488 0004A2C8 7C 05 30 50 */ subf r0, r5, r6
|
|
/* 8004E48C 0004A2CC 7C 84 02 14 */ add r4, r4, r0
|
|
.global lbl_8004E490
|
|
lbl_8004E490:
|
|
/* 8004E490 0004A2D0 7C 04 E8 40 */ cmplw r4, r29
|
|
/* 8004E494 0004A2D4 40 82 00 08 */ bne lbl_8004E49C
|
|
/* 8004E498 0004A2D8 48 00 00 50 */ b lbl_8004E4E8
|
|
.global lbl_8004E49C
|
|
lbl_8004E49C:
|
|
/* 8004E49C 0004A2DC 38 64 00 01 */ addi r3, r4, 0x1
|
|
/* 8004E4A0 0004A2E0 38 00 00 2F */ li r0, 0x2f
|
|
/* 8004E4A4 0004A2E4 7C C3 E8 50 */ subf r6, r3, r29
|
|
/* 8004E4A8 0004A2E8 7C 1C 21 AE */ stbx r0, r28, r4
|
|
/* 8004E4AC 0004A2EC 7C 9C 1A 14 */ add r4, r28, r3
|
|
/* 8004E4B0 0004A2F0 7C C5 33 78 */ mr r5, r6
|
|
/* 8004E4B4 0004A2F4 48 00 00 18 */ b lbl_8004E4CC
|
|
.global lbl_8004E4B8
|
|
lbl_8004E4B8:
|
|
/* 8004E4B8 0004A2F8 88 1F 00 00 */ lbz r0, 0x0(r31)
|
|
/* 8004E4BC 0004A2FC 3B FF 00 01 */ addi r31, r31, 0x1
|
|
/* 8004E4C0 0004A300 98 04 00 00 */ stb r0, 0x0(r4)
|
|
/* 8004E4C4 0004A304 38 84 00 01 */ addi r4, r4, 0x1
|
|
/* 8004E4C8 0004A308 38 A5 FF FF */ addi r5, r5, -0x1
|
|
.global lbl_8004E4CC
|
|
lbl_8004E4CC:
|
|
/* 8004E4CC 0004A30C 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 8004E4D0 0004A310 41 82 00 10 */ beq lbl_8004E4E0
|
|
/* 8004E4D4 0004A314 88 1F 00 00 */ lbz r0, 0x0(r31)
|
|
/* 8004E4D8 0004A318 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004E4DC 0004A31C 40 82 FF DC */ bne lbl_8004E4B8
|
|
.global lbl_8004E4E0
|
|
lbl_8004E4E0:
|
|
/* 8004E4E0 0004A320 7C 05 30 50 */ subf r0, r5, r6
|
|
/* 8004E4E4 0004A324 7C 83 02 14 */ add r4, r3, r0
|
|
.global lbl_8004E4E8
|
|
lbl_8004E4E8:
|
|
/* 8004E4E8 0004A328 7C 04 E8 40 */ cmplw r4, r29
|
|
/* 8004E4EC 0004A32C 40 82 00 0C */ bne lbl_8004E4F8
|
|
/* 8004E4F0 0004A330 7C 83 23 78 */ mr r3, r4
|
|
/* 8004E4F4 0004A334 48 00 00 54 */ b lbl_8004E548
|
|
.global lbl_8004E4F8
|
|
lbl_8004E4F8:
|
|
/* 8004E4F8 0004A338 38 C4 00 01 */ addi r6, r4, 0x1
|
|
/* 8004E4FC 0004A33C 38 00 00 2F */ li r0, 0x2f
|
|
/* 8004E500 0004A340 7C A6 E8 50 */ subf r5, r6, r29
|
|
/* 8004E504 0004A344 7C 1C 21 AE */ stbx r0, r28, r4
|
|
/* 8004E508 0004A348 7C 7C 32 14 */ add r3, r28, r6
|
|
/* 8004E50C 0004A34C 7C A4 2B 78 */ mr r4, r5
|
|
/* 8004E510 0004A350 48 00 00 1C */ b lbl_8004E52C
|
|
/* 8004E514 0004A354 60 00 00 00 */ nop
|
|
.global lbl_8004E518
|
|
lbl_8004E518:
|
|
/* 8004E518 0004A358 88 1E 00 00 */ lbz r0, 0x0(r30)
|
|
/* 8004E51C 0004A35C 3B DE 00 01 */ addi r30, r30, 0x1
|
|
/* 8004E520 0004A360 98 03 00 00 */ stb r0, 0x0(r3)
|
|
/* 8004E524 0004A364 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 8004E528 0004A368 38 84 FF FF */ addi r4, r4, -0x1
|
|
.global lbl_8004E52C
|
|
lbl_8004E52C:
|
|
/* 8004E52C 0004A36C 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8004E530 0004A370 41 82 00 10 */ beq lbl_8004E540
|
|
/* 8004E534 0004A374 88 1E 00 00 */ lbz r0, 0x0(r30)
|
|
/* 8004E538 0004A378 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004E53C 0004A37C 40 82 FF DC */ bne lbl_8004E518
|
|
.global lbl_8004E540
|
|
lbl_8004E540:
|
|
/* 8004E540 0004A380 7C 04 28 50 */ subf r0, r4, r5
|
|
/* 8004E544 0004A384 7C 66 02 14 */ add r3, r6, r0
|
|
.global lbl_8004E548
|
|
lbl_8004E548:
|
|
/* 8004E548 0004A388 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8004E54C 0004A38C 4B FB 8E 3D */ bl lbl_80007388
|
|
/* 8004E550 0004A390 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8004E554 0004A394 7C 08 03 A6 */ mtlr r0
|
|
/* 8004E558 0004A398 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8004E55C 0004A39C 4E 80 00 20 */ blr
|
|
.global ARCGetStartAddrInMem
|
|
ARCGetStartAddrInMem:
|
|
/* 8004E560 0004A3A0 80 83 00 00 */ lwz r4, 0x0(r3)
|
|
/* 8004E564 0004A3A4 80 03 00 04 */ lwz r0, 0x4(r3)
|
|
/* 8004E568 0004A3A8 80 64 00 00 */ lwz r3, 0x0(r4)
|
|
/* 8004E56C 0004A3AC 7C 63 02 14 */ add r3, r3, r0
|
|
/* 8004E570 0004A3B0 4E 80 00 20 */ blr
|
|
/* 8004E574 0004A3B4 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8004E578 0004A3B8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8004E57C 0004A3BC 00 00 00 00 */ .4byte 0x00000000
|
|
.global ARCGetLength
|
|
ARCGetLength:
|
|
/* 8004E580 0004A3C0 80 63 00 08 */ lwz r3, 0x8(r3)
|
|
/* 8004E584 0004A3C4 4E 80 00 20 */ blr
|
|
/* 8004E588 0004A3C8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8004E58C 0004A3CC 00 00 00 00 */ .4byte 0x00000000
|
|
.global ARCChangeDir
|
|
ARCChangeDir:
|
|
/* 8004E590 0004A3D0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8004E594 0004A3D4 7C 08 02 A6 */ mflr r0
|
|
/* 8004E598 0004A3D8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8004E59C 0004A3DC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8004E5A0 0004A3E0 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8004E5A4 0004A3E4 4B FF FB 6D */ bl ARCConvertPathToEntrynum
|
|
/* 8004E5A8 0004A3E8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004E5AC 0004A3EC 80 9F 00 04 */ lwz r4, 0x4(r31)
|
|
/* 8004E5B0 0004A3F0 41 80 00 14 */ blt lbl_8004E5C4
|
|
/* 8004E5B4 0004A3F4 1C 03 00 0C */ mulli r0, r3, 0xc
|
|
/* 8004E5B8 0004A3F8 7C 04 00 2E */ lwzx r0, r4, r0
|
|
/* 8004E5BC 0004A3FC 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 8004E5C0 0004A400 40 82 00 0C */ bne lbl_8004E5CC
|
|
.global lbl_8004E5C4
|
|
lbl_8004E5C4:
|
|
/* 8004E5C4 0004A404 38 60 00 00 */ li r3, 0x0
|
|
/* 8004E5C8 0004A408 48 00 00 0C */ b lbl_8004E5D4
|
|
.global lbl_8004E5CC
|
|
lbl_8004E5CC:
|
|
/* 8004E5CC 0004A40C 90 7F 00 18 */ stw r3, 0x18(r31)
|
|
/* 8004E5D0 0004A410 38 60 00 01 */ li r3, 0x1
|
|
.global lbl_8004E5D4
|
|
lbl_8004E5D4:
|
|
/* 8004E5D4 0004A414 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8004E5D8 0004A418 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8004E5DC 0004A41C 7C 08 03 A6 */ mtlr r0
|
|
/* 8004E5E0 0004A420 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8004E5E4 0004A424 4E 80 00 20 */ blr
|
|
/* 8004E5E8 0004A428 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8004E5EC 0004A42C 00 00 00 00 */ .4byte 0x00000000
|
|
.global ARCOpenDir
|
|
ARCOpenDir:
|
|
/* 8004E5F0 0004A430 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8004E5F4 0004A434 7C 08 02 A6 */ mflr r0
|
|
/* 8004E5F8 0004A438 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8004E5FC 0004A43C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8004E600 0004A440 7C BF 2B 78 */ mr r31, r5
|
|
/* 8004E604 0004A444 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
/* 8004E608 0004A448 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8004E60C 0004A44C 4B FF FB 05 */ bl ARCConvertPathToEntrynum
|
|
/* 8004E610 0004A450 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004E614 0004A454 80 BE 00 04 */ lwz r5, 0x4(r30)
|
|
/* 8004E618 0004A458 41 80 00 14 */ blt lbl_8004E62C
|
|
/* 8004E61C 0004A45C 1C 83 00 0C */ mulli r4, r3, 0xc
|
|
/* 8004E620 0004A460 7C 05 20 2E */ lwzx r0, r5, r4
|
|
/* 8004E624 0004A464 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 8004E628 0004A468 40 82 00 0C */ bne lbl_8004E634
|
|
.global lbl_8004E62C
|
|
lbl_8004E62C:
|
|
/* 8004E62C 0004A46C 38 60 00 00 */ li r3, 0x0
|
|
/* 8004E630 0004A470 48 00 00 24 */ b lbl_8004E654
|
|
.global lbl_8004E634
|
|
lbl_8004E634:
|
|
/* 8004E634 0004A474 38 03 00 01 */ addi r0, r3, 0x1
|
|
/* 8004E638 0004A478 90 7F 00 04 */ stw r3, 0x4(r31)
|
|
/* 8004E63C 0004A47C 7C 85 22 14 */ add r4, r5, r4
|
|
/* 8004E640 0004A480 38 60 00 01 */ li r3, 0x1
|
|
/* 8004E644 0004A484 93 DF 00 00 */ stw r30, 0x0(r31)
|
|
/* 8004E648 0004A488 90 1F 00 08 */ stw r0, 0x8(r31)
|
|
/* 8004E64C 0004A48C 80 04 00 08 */ lwz r0, 0x8(r4)
|
|
/* 8004E650 0004A490 90 1F 00 0C */ stw r0, 0xc(r31)
|
|
.global lbl_8004E654
|
|
lbl_8004E654:
|
|
/* 8004E654 0004A494 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8004E658 0004A498 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8004E65C 0004A49C 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
/* 8004E660 0004A4A0 7C 08 03 A6 */ mtlr r0
|
|
/* 8004E664 0004A4A4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8004E668 0004A4A8 4E 80 00 20 */ blr
|
|
/* 8004E66C 0004A4AC 00 00 00 00 */ .4byte 0x00000000
|
|
.global ARCReadDir
|
|
ARCReadDir:
|
|
/* 8004E670 0004A4B0 80 E3 00 08 */ lwz r7, 0x8(r3)
|
|
/* 8004E674 0004A4B4 81 23 00 00 */ lwz r9, 0x0(r3)
|
|
/* 8004E678 0004A4B8 1C 07 00 0C */ mulli r0, r7, 0xc
|
|
/* 8004E67C 0004A4BC 81 09 00 04 */ lwz r8, 0x4(r9)
|
|
/* 8004E680 0004A4C0 7C C8 02 14 */ add r6, r8, r0
|
|
/* 8004E684 0004A4C4 60 00 00 00 */ nop
|
|
.global lbl_8004E688
|
|
lbl_8004E688:
|
|
/* 8004E688 0004A4C8 80 03 00 04 */ lwz r0, 0x4(r3)
|
|
/* 8004E68C 0004A4CC 7C 07 00 40 */ cmplw r7, r0
|
|
/* 8004E690 0004A4D0 40 81 00 10 */ ble lbl_8004E6A0
|
|
/* 8004E694 0004A4D4 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8004E698 0004A4D8 7C 00 38 40 */ cmplw r0, r7
|
|
/* 8004E69C 0004A4DC 41 81 00 0C */ bgt lbl_8004E6A8
|
|
.global lbl_8004E6A0
|
|
lbl_8004E6A0:
|
|
/* 8004E6A0 0004A4E0 38 60 00 00 */ li r3, 0x0
|
|
/* 8004E6A4 0004A4E4 4E 80 00 20 */ blr
|
|
.global lbl_8004E6A8
|
|
lbl_8004E6A8:
|
|
/* 8004E6A8 0004A4E8 91 24 00 00 */ stw r9, 0x0(r4)
|
|
/* 8004E6AC 0004A4EC 90 E4 00 04 */ stw r7, 0x4(r4)
|
|
/* 8004E6B0 0004A4F0 80 06 00 00 */ lwz r0, 0x0(r6)
|
|
/* 8004E6B4 0004A4F4 54 05 00 0E */ clrrwi r5, r0, 24
|
|
/* 8004E6B8 0004A4F8 7C 05 00 D0 */ neg r0, r5
|
|
/* 8004E6BC 0004A4FC 7C 00 2B 78 */ or r0, r0, r5
|
|
/* 8004E6C0 0004A500 54 00 0F FE */ srwi r0, r0, 31
|
|
/* 8004E6C4 0004A504 90 04 00 08 */ stw r0, 0x8(r4)
|
|
/* 8004E6C8 0004A508 80 06 00 00 */ lwz r0, 0x0(r6)
|
|
/* 8004E6CC 0004A50C 80 A9 00 10 */ lwz r5, 0x10(r9)
|
|
/* 8004E6D0 0004A510 54 00 02 3E */ clrlwi r0, r0, 8
|
|
/* 8004E6D4 0004A514 7C A5 02 14 */ add r5, r5, r0
|
|
/* 8004E6D8 0004A518 90 A4 00 0C */ stw r5, 0xc(r4)
|
|
/* 8004E6DC 0004A51C 88 05 00 00 */ lbz r0, 0x0(r5)
|
|
/* 8004E6E0 0004A520 2C 00 00 2E */ cmpwi r0, 0x2e
|
|
/* 8004E6E4 0004A524 40 82 00 1C */ bne lbl_8004E700
|
|
/* 8004E6E8 0004A528 88 05 00 01 */ lbz r0, 0x1(r5)
|
|
/* 8004E6EC 0004A52C 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8004E6F0 0004A530 40 82 00 10 */ bne lbl_8004E700
|
|
/* 8004E6F4 0004A534 38 C6 00 0C */ addi r6, r6, 0xc
|
|
/* 8004E6F8 0004A538 38 E7 00 01 */ addi r7, r7, 0x1
|
|
/* 8004E6FC 0004A53C 4B FF FF 8C */ b lbl_8004E688
|
|
.global lbl_8004E700
|
|
lbl_8004E700:
|
|
/* 8004E700 0004A540 1C 87 00 0C */ mulli r4, r7, 0xc
|
|
/* 8004E704 0004A544 7C 08 20 2E */ lwzx r0, r8, r4
|
|
/* 8004E708 0004A548 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 8004E70C 0004A54C 41 82 00 10 */ beq lbl_8004E71C
|
|
/* 8004E710 0004A550 7C 88 22 14 */ add r4, r8, r4
|
|
/* 8004E714 0004A554 80 04 00 08 */ lwz r0, 0x8(r4)
|
|
/* 8004E718 0004A558 48 00 00 08 */ b lbl_8004E720
|
|
.global lbl_8004E71C
|
|
lbl_8004E71C:
|
|
/* 8004E71C 0004A55C 38 07 00 01 */ addi r0, r7, 0x1
|
|
.global lbl_8004E720
|
|
lbl_8004E720:
|
|
/* 8004E720 0004A560 90 03 00 08 */ stw r0, 0x8(r3)
|
|
/* 8004E724 0004A564 38 60 00 01 */ li r3, 0x1
|
|
/* 8004E728 0004A568 4E 80 00 20 */ blr
|
|
/* 8004E72C 0004A56C 00 00 00 00 */ .4byte 0x00000000
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@1127"
|
|
"@1127":
|
|
|
|
.4byte 0x41524349
|
|
.4byte 0x6E697448
|
|
.4byte 0x616E646C
|
|
.4byte 0x653A2062
|
|
.4byte 0x61642061
|
|
.4byte 0x72636869
|
|
.4byte 0x76652066
|
|
.4byte 0x6F726D61
|
|
.4byte 0x74000000
|
|
|
|
.global "@1189"
|
|
"@1189":
|
|
|
|
.4byte 0x5761726E
|
|
.4byte 0x696E673A
|
|
.4byte 0x20415243
|
|
.4byte 0x4F70656E
|
|
.4byte 0x28293A20
|
|
.4byte 0x66696C65
|
|
.4byte 0x20272573
|
|
.4byte 0x27207761
|
|
.4byte 0x73206E6F
|
|
.4byte 0x7420666F
|
|
.4byte 0x756E6420
|
|
.4byte 0x756E6465
|
|
.4byte 0x72202573
|
|
.4byte 0x20696E20
|
|
.4byte 0x74686520
|
|
.4byte 0x61726368
|
|
.4byte 0x6976652E
|
|
.4byte 0x0A000000
|
|
.4byte 0
|
|
.include "macros.inc"
|
|
|
|
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
|
|
.global "@1126"
|
|
"@1126":
|
|
|
|
.4byte 0x6172632E
|
|
.4byte 0x63000000
|