summaryrefslogtreecommitdiff
path: root/asm/SDK/VF/pf_path.s
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-10-10 10:49:32 -0400
committerGitHub <noreply@github.com>2020-10-10 10:49:32 -0400
commit7a84a70e2495aa1a1e9db29fd2c5daa2d15414dd (patch)
tree5717787164a7ff00e7f27974b7d4ec8308fff5e8 /asm/SDK/VF/pf_path.s
parent1711bb64c15af3c27d03e60e805bede1228f9e85 (diff)
parentc570a9471a62dd9a94ab48346667a5fd112e8932 (diff)
Merge pull request #136 from mparisi20/master
start splitting VF library
Diffstat (limited to 'asm/SDK/VF/pf_path.s')
-rw-r--r--asm/SDK/VF/pf_path.s3324
1 files changed, 3324 insertions, 0 deletions
diff --git a/asm/SDK/VF/pf_path.s b/asm/SDK/VF/pf_path.s
new file mode 100644
index 0000000..8f23358
--- /dev/null
+++ b/asm/SDK/VF/pf_path.s
@@ -0,0 +1,3324 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+VFiPFPATH_DoSplitPath:
+/* 80315C30 00311890 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80315C34 00311894 7C 08 02 A6 */ mflr r0
+/* 80315C38 00311898 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80315C3C 0031189C 39 61 00 40 */ addi r11, r1, 0x40
+/* 80315C40 003118A0 4B EB 14 E5 */ bl _savegpr_26
+/* 80315C44 003118A4 2C 04 00 00 */ cmpwi r4, 0
+/* 80315C48 003118A8 7C 7B 1B 78 */ mr r27, r3
+/* 80315C4C 003118AC 7C 9C 23 78 */ mr r28, r4
+/* 80315C50 003118B0 7C BD 2B 78 */ mr r29, r5
+/* 80315C54 003118B4 7C DE 33 78 */ mr r30, r6
+/* 80315C58 003118B8 40 82 00 0C */ bne lbl_80315C64
+/* 80315C5C 003118BC 38 60 00 0A */ li r3, 0xa
+/* 80315C60 003118C0 48 00 01 B0 */ b lbl_80315E10
+lbl_80315C64:
+/* 80315C64 003118C4 4B FE F6 7D */ bl VFiPFSTR_GetCodeMode
+/* 80315C68 003118C8 7C 7A 1B 78 */ mr r26, r3
+/* 80315C6C 003118CC 7F 83 E3 78 */ mr r3, r28
+/* 80315C70 003118D0 7F 44 D3 78 */ mr r4, r26
+/* 80315C74 003118D4 4B FE F6 65 */ bl VFiPFSTR_SetCodeMode
+/* 80315C78 003118D8 7F A3 EB 78 */ mr r3, r29
+/* 80315C7C 003118DC 7F 44 D3 78 */ mr r4, r26
+/* 80315C80 003118E0 4B FE F6 59 */ bl VFiPFSTR_SetCodeMode
+/* 80315C84 003118E4 38 00 00 00 */ li r0, 0
+/* 80315C88 003118E8 2C 1D 00 00 */ cmpwi r29, 0
+/* 80315C8C 003118EC 90 1C 00 00 */ stw r0, 0(r28)
+/* 80315C90 003118F0 41 82 00 08 */ beq lbl_80315C98
+/* 80315C94 003118F4 90 1D 00 00 */ stw r0, 0(r29)
+lbl_80315C98:
+/* 80315C98 003118F8 7F 63 DB 78 */ mr r3, r27
+/* 80315C9C 003118FC 38 8D 8C F8 */ addi r4, r13, lbl_8063DFB8-_SDA_BASE_
+/* 80315CA0 00311900 38 A0 00 01 */ li r5, 1
+/* 80315CA4 00311904 38 C0 00 01 */ li r6, 1
+/* 80315CA8 00311908 38 E0 00 01 */ li r7, 1
+/* 80315CAC 0031190C 4B FE F9 B5 */ bl VFiPFSTR_StrNCmp
+/* 80315CB0 00311910 2C 03 00 00 */ cmpwi r3, 0
+/* 80315CB4 00311914 40 82 00 10 */ bne lbl_80315CC4
+/* 80315CB8 00311918 7F 63 DB 78 */ mr r3, r27
+/* 80315CBC 0031191C 38 80 00 02 */ li r4, 2
+/* 80315CC0 00311920 4B FE F6 79 */ bl VFiPFSTR_MoveStrPos
+lbl_80315CC4:
+/* 80315CC4 00311924 83 FB 00 00 */ lwz r31, 0(r27)
+/* 80315CC8 00311928 7F C4 F3 78 */ mr r4, r30
+/* 80315CCC 0031192C 38 61 00 18 */ addi r3, r1, 0x18
+/* 80315CD0 00311930 93 E1 00 18 */ stw r31, 0x18(r1)
+/* 80315CD4 00311934 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80315CD8 00311938 93 41 00 24 */ stw r26, 0x24(r1)
+/* 80315CDC 0031193C 48 00 0E 2D */ bl VFiPFPATH_GetNextTokenOfPath
+/* 80315CE0 00311940 2C 03 00 00 */ cmpwi r3, 0
+/* 80315CE4 00311944 41 82 00 08 */ beq lbl_80315CEC
+/* 80315CE8 00311948 48 00 01 28 */ b lbl_80315E10
+lbl_80315CEC:
+/* 80315CEC 0031194C 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 80315CF0 00311950 2C 00 00 00 */ cmpwi r0, 0
+/* 80315CF4 00311954 41 82 00 14 */ beq lbl_80315D08
+/* 80315CF8 00311958 38 61 00 18 */ addi r3, r1, 0x18
+/* 80315CFC 0031195C 4B FE F7 CD */ bl VFiPFSTR_StrLen
+/* 80315D00 00311960 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 80315D04 00311964 40 82 00 0C */ bne lbl_80315D10
+lbl_80315D08:
+/* 80315D08 00311968 38 60 00 02 */ li r3, 2
+/* 80315D0C 0031196C 48 00 01 04 */ b lbl_80315E10
+lbl_80315D10:
+/* 80315D10 00311970 80 1B 00 04 */ lwz r0, 4(r27)
+/* 80315D14 00311974 80 A1 00 1C */ lwz r5, 0x1c(r1)
+/* 80315D18 00311978 7C 00 28 40 */ cmplw r0, r5
+/* 80315D1C 0031197C 40 80 00 0C */ bge lbl_80315D28
+/* 80315D20 00311980 38 60 00 02 */ li r3, 2
+/* 80315D24 00311984 48 00 00 EC */ b lbl_80315E10
+lbl_80315D28:
+/* 80315D28 00311988 80 81 00 18 */ lwz r4, 0x18(r1)
+/* 80315D2C 0031198C 80 61 00 20 */ lwz r3, 0x20(r1)
+/* 80315D30 00311990 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80315D34 00311994 90 81 00 08 */ stw r4, 8(r1)
+/* 80315D38 00311998 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 80315D3C 0031199C 90 61 00 10 */ stw r3, 0x10(r1)
+/* 80315D40 003119A0 90 01 00 14 */ stw r0, 0x14(r1)
+lbl_80315D44:
+/* 80315D44 003119A4 38 61 00 18 */ addi r3, r1, 0x18
+/* 80315D48 003119A8 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_
+/* 80315D4C 003119AC 38 A0 00 02 */ li r5, 2
+/* 80315D50 003119B0 38 C0 00 00 */ li r6, 0
+/* 80315D54 003119B4 38 E0 00 01 */ li r7, 1
+/* 80315D58 003119B8 4B FE F9 09 */ bl VFiPFSTR_StrNCmp
+/* 80315D5C 003119BC 2C 03 00 00 */ cmpwi r3, 0
+/* 80315D60 003119C0 40 82 00 0C */ bne lbl_80315D6C
+/* 80315D64 003119C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80315D68 003119C8 48 00 00 70 */ b lbl_80315DD8
+lbl_80315D6C:
+/* 80315D6C 003119CC 7F C4 F3 78 */ mr r4, r30
+/* 80315D70 003119D0 38 61 00 18 */ addi r3, r1, 0x18
+/* 80315D74 003119D4 48 00 0D 95 */ bl VFiPFPATH_GetNextTokenOfPath
+/* 80315D78 003119D8 2C 03 00 00 */ cmpwi r3, 0
+/* 80315D7C 003119DC 41 82 00 08 */ beq lbl_80315D84
+/* 80315D80 003119E0 48 00 00 90 */ b lbl_80315E10
+lbl_80315D84:
+/* 80315D84 003119E4 38 61 00 18 */ addi r3, r1, 0x18
+/* 80315D88 003119E8 4B FE F7 41 */ bl VFiPFSTR_StrLen
+/* 80315D8C 003119EC 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 80315D90 003119F0 40 82 00 0C */ bne lbl_80315D9C
+/* 80315D94 003119F4 38 60 00 02 */ li r3, 2
+/* 80315D98 003119F8 48 00 00 78 */ b lbl_80315E10
+lbl_80315D9C:
+/* 80315D9C 003119FC 80 1B 00 04 */ lwz r0, 4(r27)
+/* 80315DA0 00311A00 80 A1 00 1C */ lwz r5, 0x1c(r1)
+/* 80315DA4 00311A04 7C 00 28 40 */ cmplw r0, r5
+/* 80315DA8 00311A08 41 80 00 30 */ blt lbl_80315DD8
+/* 80315DAC 00311A0C 80 81 00 18 */ lwz r4, 0x18(r1)
+/* 80315DB0 00311A10 2C 04 00 00 */ cmpwi r4, 0
+/* 80315DB4 00311A14 41 82 00 24 */ beq lbl_80315DD8
+/* 80315DB8 00311A18 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80315DBC 00311A1C 80 61 00 20 */ lwz r3, 0x20(r1)
+/* 80315DC0 00311A20 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80315DC4 00311A24 90 81 00 08 */ stw r4, 8(r1)
+/* 80315DC8 00311A28 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 80315DCC 00311A2C 90 61 00 10 */ stw r3, 0x10(r1)
+/* 80315DD0 00311A30 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80315DD4 00311A34 4B FF FF 70 */ b lbl_80315D44
+lbl_80315DD8:
+/* 80315DD8 00311A38 80 1B 00 00 */ lwz r0, 0(r27)
+/* 80315DDC 00311A3C 2C 1D 00 00 */ cmpwi r29, 0
+/* 80315DE0 00311A40 90 1C 00 00 */ stw r0, 0(r28)
+/* 80315DE4 00311A44 93 FC 00 04 */ stw r31, 4(r28)
+/* 80315DE8 00311A48 41 82 00 24 */ beq lbl_80315E0C
+/* 80315DEC 00311A4C 80 A1 00 08 */ lwz r5, 8(r1)
+/* 80315DF0 00311A50 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 80315DF4 00311A54 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 80315DF8 00311A58 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80315DFC 00311A5C 90 BD 00 00 */ stw r5, 0(r29)
+/* 80315E00 00311A60 90 9D 00 04 */ stw r4, 4(r29)
+/* 80315E04 00311A64 90 7D 00 08 */ stw r3, 8(r29)
+/* 80315E08 00311A68 90 1D 00 0C */ stw r0, 0xc(r29)
+lbl_80315E0C:
+/* 80315E0C 00311A6C 38 60 00 00 */ li r3, 0
+lbl_80315E10:
+/* 80315E10 00311A70 39 61 00 40 */ addi r11, r1, 0x40
+/* 80315E14 00311A74 4B EB 13 5D */ bl _restgpr_26
+/* 80315E18 00311A78 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80315E1C 00311A7C 7C 08 03 A6 */ mtlr r0
+/* 80315E20 00311A80 38 21 00 40 */ addi r1, r1, 0x40
+/* 80315E24 00311A84 4E 80 00 20 */ blr
+
+.global VFiPFPATH_GetNextCharOfPattern
+VFiPFPATH_GetNextCharOfPattern:
+/* 80315E28 00311A88 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80315E2C 00311A8C 7C 08 02 A6 */ mflr r0
+/* 80315E30 00311A90 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80315E34 00311A94 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80315E38 00311A98 7C 9F 23 78 */ mr r31, r4
+/* 80315E3C 00311A9C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80315E40 00311AA0 7C 7E 1B 78 */ mr r30, r3
+/* 80315E44 00311AA4 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80315E48 00311AA8 28 00 00 01 */ cmplwi r0, 1
+/* 80315E4C 00311AAC 40 82 00 C4 */ bne lbl_80315F10
+/* 80315E50 00311AB0 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80315E54 00311AB4 38 00 00 00 */ li r0, 0
+/* 80315E58 00311AB8 38 85 00 01 */ addi r4, r5, 1
+/* 80315E5C 00311ABC 90 83 00 00 */ stw r4, 0(r3)
+/* 80315E60 00311AC0 88 85 00 00 */ lbz r4, 0(r5)
+/* 80315E64 00311AC4 7C 86 07 75 */ extsb. r6, r4
+/* 80315E68 00311AC8 98 81 00 10 */ stb r4, 0x10(r1)
+/* 80315E6C 00311ACC 98 01 00 11 */ stb r0, 0x11(r1)
+/* 80315E70 00311AD0 41 82 00 14 */ beq lbl_80315E84
+/* 80315E74 00311AD4 80 83 00 04 */ lwz r4, 4(r3)
+/* 80315E78 00311AD8 80 03 00 00 */ lwz r0, 0(r3)
+/* 80315E7C 00311ADC 7C 04 00 40 */ cmplw r4, r0
+/* 80315E80 00311AE0 40 80 00 0C */ bge lbl_80315E8C
+lbl_80315E84:
+/* 80315E84 00311AE4 38 60 00 00 */ li r3, 0
+/* 80315E88 00311AE8 48 00 02 48 */ b lbl_803160D0
+lbl_80315E8C:
+/* 80315E8C 00311AEC 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha
+/* 80315E90 00311AF0 7C C3 33 78 */ mr r3, r6
+/* 80315E94 00311AF4 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l
+/* 80315E98 00311AF8 38 80 00 01 */ li r4, 1
+/* 80315E9C 00311AFC 81 85 00 30 */ lwz r12, 0x30(r5)
+/* 80315EA0 00311B00 7D 89 03 A6 */ mtctr r12
+/* 80315EA4 00311B04 4E 80 04 21 */ bctrl
+/* 80315EA8 00311B08 2C 03 00 00 */ cmpwi r3, 0
+/* 80315EAC 00311B0C 41 82 00 30 */ beq lbl_80315EDC
+/* 80315EB0 00311B10 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80315EB4 00311B14 88 03 00 00 */ lbz r0, 0(r3)
+/* 80315EB8 00311B18 38 63 00 01 */ addi r3, r3, 1
+/* 80315EBC 00311B1C 98 01 00 11 */ stb r0, 0x11(r1)
+/* 80315EC0 00311B20 90 7E 00 00 */ stw r3, 0(r30)
+/* 80315EC4 00311B24 88 61 00 10 */ lbz r3, 0x10(r1)
+/* 80315EC8 00311B28 88 01 00 11 */ lbz r0, 0x11(r1)
+/* 80315ECC 00311B2C 54 63 40 2E */ slwi r3, r3, 8
+/* 80315ED0 00311B30 7C 03 02 14 */ add r0, r3, r0
+/* 80315ED4 00311B34 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 80315ED8 00311B38 48 00 00 10 */ b lbl_80315EE8
+lbl_80315EDC:
+/* 80315EDC 00311B3C 88 01 00 10 */ lbz r0, 0x10(r1)
+/* 80315EE0 00311B40 7C 00 07 74 */ extsb r0, r0
+/* 80315EE4 00311B44 B0 01 00 0C */ sth r0, 0xc(r1)
+lbl_80315EE8:
+/* 80315EE8 00311B48 2C 1F 00 00 */ cmpwi r31, 0
+/* 80315EEC 00311B4C 41 82 00 EC */ beq lbl_80315FD8
+/* 80315EF0 00311B50 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha
+/* 80315EF4 00311B54 38 61 00 10 */ addi r3, r1, 0x10
+/* 80315EF8 00311B58 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l
+/* 80315EFC 00311B5C 38 81 00 0C */ addi r4, r1, 0xc
+/* 80315F00 00311B60 81 85 00 24 */ lwz r12, 0x24(r5)
+/* 80315F04 00311B64 7D 89 03 A6 */ mtctr r12
+/* 80315F08 00311B68 4E 80 04 21 */ bctrl
+/* 80315F0C 00311B6C 48 00 00 CC */ b lbl_80315FD8
+lbl_80315F10:
+/* 80315F10 00311B70 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80315F14 00311B74 38 00 00 00 */ li r0, 0
+/* 80315F18 00311B78 A0 A5 00 00 */ lhz r5, 0(r5)
+/* 80315F1C 00311B7C 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 80315F20 00311B80 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80315F24 00311B84 A0 A5 00 00 */ lhz r5, 0(r5)
+/* 80315F28 00311B88 7C A5 46 70 */ srawi r5, r5, 8
+/* 80315F2C 00311B8C 98 A1 00 11 */ stb r5, 0x11(r1)
+/* 80315F30 00311B90 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80315F34 00311B94 38 A5 00 02 */ addi r5, r5, 2
+/* 80315F38 00311B98 90 A3 00 00 */ stw r5, 0(r3)
+/* 80315F3C 00311B9C 88 C1 00 10 */ lbz r6, 0x10(r1)
+/* 80315F40 00311BA0 98 01 00 12 */ stb r0, 0x12(r1)
+/* 80315F44 00311BA4 7C C0 07 75 */ extsb. r0, r6
+/* 80315F48 00311BA8 40 82 00 10 */ bne lbl_80315F58
+/* 80315F4C 00311BAC 88 01 00 11 */ lbz r0, 0x11(r1)
+/* 80315F50 00311BB0 7C 00 07 75 */ extsb. r0, r0
+/* 80315F54 00311BB4 41 82 00 14 */ beq lbl_80315F68
+lbl_80315F58:
+/* 80315F58 00311BB8 80 A3 00 04 */ lwz r5, 4(r3)
+/* 80315F5C 00311BBC 80 03 00 00 */ lwz r0, 0(r3)
+/* 80315F60 00311BC0 7C 05 00 40 */ cmplw r5, r0
+/* 80315F64 00311BC4 40 80 00 0C */ bge lbl_80315F70
+lbl_80315F68:
+/* 80315F68 00311BC8 38 60 00 00 */ li r3, 0
+/* 80315F6C 00311BCC 48 00 01 64 */ b lbl_803160D0
+lbl_80315F70:
+/* 80315F70 00311BD0 88 01 00 11 */ lbz r0, 0x11(r1)
+/* 80315F74 00311BD4 2C 04 00 00 */ cmpwi r4, 0
+/* 80315F78 00311BD8 54 00 40 2E */ slwi r0, r0, 8
+/* 80315F7C 00311BDC 7C 00 32 14 */ add r0, r0, r6
+/* 80315F80 00311BE0 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 80315F84 00311BE4 40 82 00 54 */ bne lbl_80315FD8
+/* 80315F88 00311BE8 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha
+/* 80315F8C 00311BEC 38 61 00 0C */ addi r3, r1, 0xc
+/* 80315F90 00311BF0 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l
+/* 80315F94 00311BF4 38 81 00 0A */ addi r4, r1, 0xa
+/* 80315F98 00311BF8 81 9E 00 28 */ lwz r12, 0x28(r30)
+/* 80315F9C 00311BFC 7D 89 03 A6 */ mtctr r12
+/* 80315FA0 00311C00 4E 80 04 21 */ bctrl
+/* 80315FA4 00311C04 A0 01 00 0A */ lhz r0, 0xa(r1)
+/* 80315FA8 00311C08 38 80 00 01 */ li r4, 1
+/* 80315FAC 00311C0C 81 9E 00 30 */ lwz r12, 0x30(r30)
+/* 80315FB0 00311C10 7C 03 46 70 */ srawi r3, r0, 8
+/* 80315FB4 00311C14 7D 89 03 A6 */ mtctr r12
+/* 80315FB8 00311C18 4E 80 04 21 */ bctrl
+/* 80315FBC 00311C1C 2C 03 00 00 */ cmpwi r3, 0
+/* 80315FC0 00311C20 41 82 00 0C */ beq lbl_80315FCC
+/* 80315FC4 00311C24 A0 01 00 0A */ lhz r0, 0xa(r1)
+/* 80315FC8 00311C28 48 00 00 0C */ b lbl_80315FD4
+lbl_80315FCC:
+/* 80315FCC 00311C2C 88 01 00 10 */ lbz r0, 0x10(r1)
+/* 80315FD0 00311C30 7C 00 07 74 */ extsb r0, r0
+lbl_80315FD4:
+/* 80315FD4 00311C34 B0 01 00 0C */ sth r0, 0xc(r1)
+lbl_80315FD8:
+/* 80315FD8 00311C38 A0 61 00 0C */ lhz r3, 0xc(r1)
+/* 80315FDC 00311C3C 38 00 00 00 */ li r0, 0
+/* 80315FE0 00311C40 28 03 00 61 */ cmplwi r3, 0x61
+/* 80315FE4 00311C44 41 80 00 10 */ blt lbl_80315FF4
+/* 80315FE8 00311C48 28 03 00 7A */ cmplwi r3, 0x7a
+/* 80315FEC 00311C4C 41 81 00 08 */ bgt lbl_80315FF4
+/* 80315FF0 00311C50 38 00 00 01 */ li r0, 1
+lbl_80315FF4:
+/* 80315FF4 00311C54 2C 00 00 00 */ cmpwi r0, 0
+/* 80315FF8 00311C58 41 82 00 08 */ beq lbl_80316000
+/* 80315FFC 00311C5C 38 63 FF E0 */ addi r3, r3, -32
+lbl_80316000:
+/* 80316000 00311C60 2C 1F 00 00 */ cmpwi r31, 0
+/* 80316004 00311C64 B0 61 00 0C */ sth r3, 0xc(r1)
+/* 80316008 00311C68 41 82 00 40 */ beq lbl_80316048
+/* 8031600C 00311C6C 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 80316010 00311C70 28 03 FF 41 */ cmplwi r3, 0xff41
+/* 80316014 00311C74 41 80 00 1C */ blt lbl_80316030
+/* 80316018 00311C78 28 03 FF 5A */ cmplwi r3, 0xff5a
+/* 8031601C 00311C7C 41 81 00 14 */ bgt lbl_80316030
+/* 80316020 00311C80 38 03 FF E0 */ addi r0, r3, -32
+/* 80316024 00311C84 38 60 00 01 */ li r3, 1
+/* 80316028 00311C88 B0 01 00 08 */ sth r0, 8(r1)
+/* 8031602C 00311C8C 48 00 00 08 */ b lbl_80316034
+lbl_80316030:
+/* 80316030 00311C90 38 60 00 00 */ li r3, 0
+lbl_80316034:
+/* 80316034 00311C94 28 03 00 01 */ cmplwi r3, 1
+/* 80316038 00311C98 40 82 00 94 */ bne lbl_803160CC
+/* 8031603C 00311C9C A0 01 00 08 */ lhz r0, 8(r1)
+/* 80316040 00311CA0 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 80316044 00311CA4 48 00 00 88 */ b lbl_803160CC
+lbl_80316048:
+/* 80316048 00311CA8 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha
+/* 8031604C 00311CAC 38 61 00 0C */ addi r3, r1, 0xc
+/* 80316050 00311CB0 38 A5 F5 C8 */ addi r5, r5, lbl_8057F5C8@l
+/* 80316054 00311CB4 38 81 00 08 */ addi r4, r1, 8
+/* 80316058 00311CB8 81 85 00 24 */ lwz r12, 0x24(r5)
+/* 8031605C 00311CBC 7D 89 03 A6 */ mtctr r12
+/* 80316060 00311CC0 4E 80 04 21 */ bctrl
+/* 80316064 00311CC4 A0 61 00 08 */ lhz r3, 8(r1)
+/* 80316068 00311CC8 28 03 FF 41 */ cmplwi r3, 0xff41
+/* 8031606C 00311CCC 41 80 00 1C */ blt lbl_80316088
+/* 80316070 00311CD0 28 03 FF 5A */ cmplwi r3, 0xff5a
+/* 80316074 00311CD4 41 81 00 14 */ bgt lbl_80316088
+/* 80316078 00311CD8 38 03 FF E0 */ addi r0, r3, -32
+/* 8031607C 00311CDC 38 60 00 01 */ li r3, 1
+/* 80316080 00311CE0 B0 01 00 08 */ sth r0, 8(r1)
+/* 80316084 00311CE4 48 00 00 08 */ b lbl_8031608C
+lbl_80316088:
+/* 80316088 00311CE8 38 60 00 00 */ li r3, 0
+lbl_8031608C:
+/* 8031608C 00311CEC 28 03 00 01 */ cmplwi r3, 1
+/* 80316090 00311CF0 40 82 00 28 */ bne lbl_803160B8
+/* 80316094 00311CF4 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80316098 00311CF8 38 61 00 08 */ addi r3, r1, 8
+/* 8031609C 00311CFC 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 803160A0 00311D00 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 803160A4 00311D04 7C 64 1B 78 */ mr r4, r3
+/* 803160A8 00311D08 7D 89 03 A6 */ mtctr r12
+/* 803160AC 00311D0C 4E 80 04 21 */ bctrl
+/* 803160B0 00311D10 38 60 00 01 */ li r3, 1
+/* 803160B4 00311D14 48 00 00 08 */ b lbl_803160BC
+lbl_803160B8:
+/* 803160B8 00311D18 38 60 00 00 */ li r3, 0
+lbl_803160BC:
+/* 803160BC 00311D1C 28 03 00 01 */ cmplwi r3, 1
+/* 803160C0 00311D20 40 82 00 0C */ bne lbl_803160CC
+/* 803160C4 00311D24 A0 01 00 08 */ lhz r0, 8(r1)
+/* 803160C8 00311D28 B0 01 00 0C */ sth r0, 0xc(r1)
+lbl_803160CC:
+/* 803160CC 00311D2C A0 61 00 0C */ lhz r3, 0xc(r1)
+lbl_803160D0:
+/* 803160D0 00311D30 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803160D4 00311D34 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803160D8 00311D38 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803160DC 00311D3C 7C 08 03 A6 */ mtlr r0
+/* 803160E0 00311D40 38 21 00 20 */ addi r1, r1, 0x20
+/* 803160E4 00311D44 4E 80 00 20 */ blr
+
+.global VFiPFPATH_DoMatchFileNameWithPattern
+VFiPFPATH_DoMatchFileNameWithPattern:
+/* 803160E8 00311D48 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 803160EC 00311D4C 7C 08 02 A6 */ mflr r0
+/* 803160F0 00311D50 90 01 00 54 */ stw r0, 0x54(r1)
+/* 803160F4 00311D54 39 61 00 50 */ addi r11, r1, 0x50
+/* 803160F8 00311D58 4B EB 10 25 */ bl _savegpr_24
+/* 803160FC 00311D5C 3F A0 80 58 */ lis r29, lbl_8057F5C8@ha
+/* 80316100 00311D60 7C 78 1B 78 */ mr r24, r3
+/* 80316104 00311D64 7C 99 23 78 */ mr r25, r4
+/* 80316108 00311D68 7C BA 2B 78 */ mr r26, r5
+/* 8031610C 00311D6C 7C DB 33 78 */ mr r27, r6
+/* 80316110 00311D70 7C FC 3B 78 */ mr r28, r7
+/* 80316114 00311D74 3B BD F5 C8 */ addi r29, r29, lbl_8057F5C8@l
+/* 80316118 00311D78 48 00 04 98 */ b lbl_803165B0
+lbl_8031611C:
+/* 8031611C 00311D7C 57 40 04 3E */ clrlwi r0, r26, 0x10
+/* 80316120 00311D80 2C 00 00 3F */ cmpwi r0, 0x3f
+/* 80316124 00311D84 41 82 00 14 */ beq lbl_80316138
+/* 80316128 00311D88 40 80 03 40 */ bge lbl_80316468
+/* 8031612C 00311D8C 2C 00 00 2A */ cmpwi r0, 0x2a
+/* 80316130 00311D90 41 82 00 18 */ beq lbl_80316148
+/* 80316134 00311D94 48 00 03 34 */ b lbl_80316468
+lbl_80316138:
+/* 80316138 00311D98 57 00 04 3F */ clrlwi. r0, r24, 0x10
+/* 8031613C 00311D9C 40 82 03 44 */ bne lbl_80316480
+/* 80316140 00311DA0 38 60 00 00 */ li r3, 0
+/* 80316144 00311DA4 48 00 04 80 */ b lbl_803165C4
+lbl_80316148:
+/* 80316148 00311DA8 7F 63 DB 78 */ mr r3, r27
+/* 8031614C 00311DAC 7F 84 E3 78 */ mr r4, r28
+/* 80316150 00311DB0 4B FF FC D9 */ bl VFiPFPATH_GetNextCharOfPattern
+/* 80316154 00311DB4 7C 7A 1B 78 */ mr r26, r3
+/* 80316158 00311DB8 48 00 00 14 */ b lbl_8031616C
+lbl_8031615C:
+/* 8031615C 00311DBC 7F 63 DB 78 */ mr r3, r27
+/* 80316160 00311DC0 7F 84 E3 78 */ mr r4, r28
+/* 80316164 00311DC4 4B FF FC C5 */ bl VFiPFPATH_GetNextCharOfPattern
+/* 80316168 00311DC8 7C 7A 1B 78 */ mr r26, r3
+lbl_8031616C:
+/* 8031616C 00311DCC 57 40 04 3E */ clrlwi r0, r26, 0x10
+/* 80316170 00311DD0 28 00 00 2A */ cmplwi r0, 0x2a
+/* 80316174 00311DD4 41 82 FF E8 */ beq lbl_8031615C
+/* 80316178 00311DD8 28 00 00 3F */ cmplwi r0, 0x3f
+/* 8031617C 00311DDC 41 82 FF E0 */ beq lbl_8031615C
+/* 80316180 00311DE0 2C 00 00 00 */ cmpwi r0, 0
+/* 80316184 00311DE4 40 82 00 0C */ bne lbl_80316190
+/* 80316188 00311DE8 38 60 00 01 */ li r3, 1
+/* 8031618C 00311DEC 48 00 04 38 */ b lbl_803165C4
+lbl_80316190:
+/* 80316190 00311DF0 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha
+/* 80316194 00311DF4 3B E3 F5 C8 */ addi r31, r3, lbl_8057F5C8@l
+/* 80316198 00311DF8 48 00 02 C0 */ b lbl_80316458
+lbl_8031619C:
+/* 8031619C 00311DFC 57 03 04 3E */ clrlwi r3, r24, 0x10
+/* 803161A0 00311E00 57 40 04 3E */ clrlwi r0, r26, 0x10
+/* 803161A4 00311E04 7C 03 00 40 */ cmplw r3, r0
+/* 803161A8 00311E08 40 82 01 90 */ bne lbl_80316338
+/* 803161AC 00311E0C 80 B9 00 00 */ lwz r5, 0(r25)
+/* 803161B0 00311E10 80 19 00 04 */ lwz r0, 4(r25)
+/* 803161B4 00311E14 90 A1 00 18 */ stw r5, 0x18(r1)
+/* 803161B8 00311E18 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 803161BC 00311E1C 80 79 00 08 */ lwz r3, 8(r25)
+/* 803161C0 00311E20 80 19 00 0C */ lwz r0, 0xc(r25)
+/* 803161C4 00311E24 2C 03 00 00 */ cmpwi r3, 0
+/* 803161C8 00311E28 90 61 00 20 */ stw r3, 0x20(r1)
+/* 803161CC 00311E2C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803161D0 00311E30 80 7B 00 00 */ lwz r3, 0(r27)
+/* 803161D4 00311E34 80 1B 00 04 */ lwz r0, 4(r27)
+/* 803161D8 00311E38 90 61 00 08 */ stw r3, 8(r1)
+/* 803161DC 00311E3C 90 01 00 0C */ stw r0, 0xc(r1)
+/* 803161E0 00311E40 80 7B 00 08 */ lwz r3, 8(r27)
+/* 803161E4 00311E44 80 1B 00 0C */ lwz r0, 0xc(r27)
+/* 803161E8 00311E48 90 61 00 10 */ stw r3, 0x10(r1)
+/* 803161EC 00311E4C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803161F0 00311E50 41 82 00 80 */ beq lbl_80316270
+/* 803161F4 00311E54 A0 61 00 24 */ lhz r3, 0x24(r1)
+/* 803161F8 00311E58 28 03 02 0A */ cmplwi r3, 0x20a
+/* 803161FC 00311E5C 40 81 00 0C */ ble lbl_80316208
+/* 80316200 00311E60 3B 00 00 00 */ li r24, 0
+/* 80316204 00311E64 48 00 00 FC */ b lbl_80316300
+lbl_80316208:
+/* 80316208 00311E68 7C 85 1A 2E */ lhzx r4, r5, r3
+/* 8031620C 00311E6C 38 63 00 02 */ addi r3, r3, 2
+/* 80316210 00311E70 38 00 00 00 */ li r0, 0
+/* 80316214 00311E74 28 04 00 61 */ cmplwi r4, 0x61
+/* 80316218 00311E78 B0 61 00 24 */ sth r3, 0x24(r1)
+/* 8031621C 00311E7C 41 80 00 10 */ blt lbl_8031622C
+/* 80316220 00311E80 28 04 00 7A */ cmplwi r4, 0x7a
+/* 80316224 00311E84 41 81 00 08 */ bgt lbl_8031622C
+/* 80316228 00311E88 38 00 00 01 */ li r0, 1
+lbl_8031622C:
+/* 8031622C 00311E8C 2C 00 00 00 */ cmpwi r0, 0
+/* 80316230 00311E90 41 82 00 08 */ beq lbl_80316238
+/* 80316234 00311E94 38 84 FF E0 */ addi r4, r4, -32
+lbl_80316238:
+/* 80316238 00311E98 54 98 04 3E */ clrlwi r24, r4, 0x10
+/* 8031623C 00311E9C 28 18 FF 41 */ cmplwi r24, 0xff41
+/* 80316240 00311EA0 41 80 00 1C */ blt lbl_8031625C
+/* 80316244 00311EA4 28 18 FF 5A */ cmplwi r24, 0xff5a
+/* 80316248 00311EA8 41 81 00 14 */ bgt lbl_8031625C
+/* 8031624C 00311EAC 38 18 FF E0 */ addi r0, r24, -32
+/* 80316250 00311EB0 38 60 00 01 */ li r3, 1
+/* 80316254 00311EB4 54 1E 04 3E */ clrlwi r30, r0, 0x10
+/* 80316258 00311EB8 48 00 00 08 */ b lbl_80316260
+lbl_8031625C:
+/* 8031625C 00311EBC 38 60 00 00 */ li r3, 0
+lbl_80316260:
+/* 80316260 00311EC0 28 03 00 01 */ cmplwi r3, 1
+/* 80316264 00311EC4 40 82 00 9C */ bne lbl_80316300
+/* 80316268 00311EC8 7F D8 F3 78 */ mr r24, r30
+/* 8031626C 00311ECC 48 00 00 94 */ b lbl_80316300
+lbl_80316270:
+/* 80316270 00311ED0 A0 61 00 24 */ lhz r3, 0x24(r1)
+/* 80316274 00311ED4 28 03 00 0C */ cmplwi r3, 0xc
+/* 80316278 00311ED8 41 80 00 0C */ blt lbl_80316284
+/* 8031627C 00311EDC 3B 00 00 00 */ li r24, 0
+/* 80316280 00311EE0 48 00 00 80 */ b lbl_80316300
+lbl_80316284:
+/* 80316284 00311EE4 38 03 00 01 */ addi r0, r3, 1
+/* 80316288 00311EE8 81 9F 00 30 */ lwz r12, 0x30(r31)
+/* 8031628C 00311EEC B0 01 00 24 */ sth r0, 0x24(r1)
+/* 80316290 00311EF0 38 80 00 01 */ li r4, 1
+/* 80316294 00311EF4 7F 05 18 AE */ lbzx r24, r5, r3
+/* 80316298 00311EF8 7F 18 07 74 */ extsb r24, r24
+/* 8031629C 00311EFC 7F 03 C3 78 */ mr r3, r24
+/* 803162A0 00311F00 7D 89 03 A6 */ mtctr r12
+/* 803162A4 00311F04 4E 80 04 21 */ bctrl
+/* 803162A8 00311F08 2C 03 00 00 */ cmpwi r3, 0
+/* 803162AC 00311F0C 41 82 00 24 */ beq lbl_803162D0
+/* 803162B0 00311F10 A0 81 00 24 */ lhz r4, 0x24(r1)
+/* 803162B4 00311F14 57 00 44 2E */ rlwinm r0, r24, 8, 0x10, 0x17
+/* 803162B8 00311F18 80 A1 00 18 */ lwz r5, 0x18(r1)
+/* 803162BC 00311F1C 38 64 00 01 */ addi r3, r4, 1
+/* 803162C0 00311F20 B0 61 00 24 */ sth r3, 0x24(r1)
+/* 803162C4 00311F24 7C 65 20 AE */ lbzx r3, r5, r4
+/* 803162C8 00311F28 7C 00 1A 14 */ add r0, r0, r3
+/* 803162CC 00311F2C 54 18 04 3E */ clrlwi r24, r0, 0x10
+lbl_803162D0:
+/* 803162D0 00311F30 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 803162D4 00311F34 38 60 00 00 */ li r3, 0
+/* 803162D8 00311F38 28 00 00 61 */ cmplwi r0, 0x61
+/* 803162DC 00311F3C 41 80 00 10 */ blt lbl_803162EC
+/* 803162E0 00311F40 28 00 00 7A */ cmplwi r0, 0x7a
+/* 803162E4 00311F44 41 81 00 08 */ bgt lbl_803162EC
+/* 803162E8 00311F48 38 60 00 01 */ li r3, 1
+lbl_803162EC:
+/* 803162EC 00311F4C 2C 03 00 00 */ cmpwi r3, 0
+/* 803162F0 00311F50 57 03 04 3E */ clrlwi r3, r24, 0x10
+/* 803162F4 00311F54 41 82 00 08 */ beq lbl_803162FC
+/* 803162F8 00311F58 38 63 FF E0 */ addi r3, r3, -32
+lbl_803162FC:
+/* 803162FC 00311F5C 54 78 04 3E */ clrlwi r24, r3, 0x10
+lbl_80316300:
+/* 80316300 00311F60 7F 84 E3 78 */ mr r4, r28
+/* 80316304 00311F64 38 61 00 08 */ addi r3, r1, 8
+/* 80316308 00311F68 4B FF FB 21 */ bl VFiPFPATH_GetNextCharOfPattern
+/* 8031630C 00311F6C 7C 7A 1B 78 */ mr r26, r3
+/* 80316310 00311F70 7F 87 E3 78 */ mr r7, r28
+/* 80316314 00311F74 57 03 04 3E */ clrlwi r3, r24, 0x10
+/* 80316318 00311F78 38 81 00 18 */ addi r4, r1, 0x18
+/* 8031631C 00311F7C 57 45 04 3E */ clrlwi r5, r26, 0x10
+/* 80316320 00311F80 38 C1 00 08 */ addi r6, r1, 8
+/* 80316324 00311F84 4B FF FD C5 */ bl VFiPFPATH_DoMatchFileNameWithPattern
+/* 80316328 00311F88 2C 03 00 00 */ cmpwi r3, 0
+/* 8031632C 00311F8C 41 82 00 0C */ beq lbl_80316338
+/* 80316330 00311F90 38 60 00 01 */ li r3, 1
+/* 80316334 00311F94 48 00 02 90 */ b lbl_803165C4
+lbl_80316338:
+/* 80316338 00311F98 80 19 00 08 */ lwz r0, 8(r25)
+/* 8031633C 00311F9C 2C 00 00 00 */ cmpwi r0, 0
+/* 80316340 00311FA0 41 82 00 84 */ beq lbl_803163C4
+/* 80316344 00311FA4 A0 B9 00 0C */ lhz r5, 0xc(r25)
+/* 80316348 00311FA8 28 05 02 0A */ cmplwi r5, 0x20a
+/* 8031634C 00311FAC 40 81 00 0C */ ble lbl_80316358
+/* 80316350 00311FB0 3B 00 00 00 */ li r24, 0
+/* 80316354 00311FB4 48 00 01 04 */ b lbl_80316458
+lbl_80316358:
+/* 80316358 00311FB8 80 99 00 00 */ lwz r4, 0(r25)
+/* 8031635C 00311FBC 38 65 00 02 */ addi r3, r5, 2
+/* 80316360 00311FC0 38 00 00 00 */ li r0, 0
+/* 80316364 00311FC4 7C 84 2A 2E */ lhzx r4, r4, r5
+/* 80316368 00311FC8 28 04 00 61 */ cmplwi r4, 0x61
+/* 8031636C 00311FCC B0 79 00 0C */ sth r3, 0xc(r25)
+/* 80316370 00311FD0 41 80 00 10 */ blt lbl_80316380
+/* 80316374 00311FD4 28 04 00 7A */ cmplwi r4, 0x7a
+/* 80316378 00311FD8 41 81 00 08 */ bgt lbl_80316380
+/* 8031637C 00311FDC 38 00 00 01 */ li r0, 1
+lbl_80316380:
+/* 80316380 00311FE0 2C 00 00 00 */ cmpwi r0, 0
+/* 80316384 00311FE4 41 82 00 08 */ beq lbl_8031638C
+/* 80316388 00311FE8 38 84 FF E0 */ addi r4, r4, -32
+lbl_8031638C:
+/* 8031638C 00311FEC 54 98 04 3E */ clrlwi r24, r4, 0x10
+/* 80316390 00311FF0 28 18 FF 41 */ cmplwi r24, 0xff41
+/* 80316394 00311FF4 41 80 00 1C */ blt lbl_803163B0
+/* 80316398 00311FF8 28 18 FF 5A */ cmplwi r24, 0xff5a
+/* 8031639C 00311FFC 41 81 00 14 */ bgt lbl_803163B0
+/* 803163A0 00312000 38 18 FF E0 */ addi r0, r24, -32
+/* 803163A4 00312004 38 60 00 01 */ li r3, 1
+/* 803163A8 00312008 54 1D 04 3E */ clrlwi r29, r0, 0x10
+/* 803163AC 0031200C 48 00 00 08 */ b lbl_803163B4
+lbl_803163B0:
+/* 803163B0 00312010 38 60 00 00 */ li r3, 0
+lbl_803163B4:
+/* 803163B4 00312014 28 03 00 01 */ cmplwi r3, 1
+/* 803163B8 00312018 40 82 00 A0 */ bne lbl_80316458
+/* 803163BC 0031201C 7F B8 EB 78 */ mr r24, r29
+/* 803163C0 00312020 48 00 00 98 */ b lbl_80316458
+lbl_803163C4:
+/* 803163C4 00312024 A0 B9 00 0C */ lhz r5, 0xc(r25)
+/* 803163C8 00312028 28 05 00 0C */ cmplwi r5, 0xc
+/* 803163CC 0031202C 41 80 00 0C */ blt lbl_803163D8
+/* 803163D0 00312030 3B 00 00 00 */ li r24, 0
+/* 803163D4 00312034 48 00 00 84 */ b lbl_80316458
+lbl_803163D8:
+/* 803163D8 00312038 38 05 00 01 */ addi r0, r5, 1
+/* 803163DC 0031203C 80 79 00 00 */ lwz r3, 0(r25)
+/* 803163E0 00312040 B0 19 00 0C */ sth r0, 0xc(r25)
+/* 803163E4 00312044 38 80 00 01 */ li r4, 1
+/* 803163E8 00312048 7F 03 28 AE */ lbzx r24, r3, r5
+/* 803163EC 0031204C 81 9F 00 30 */ lwz r12, 0x30(r31)
+/* 803163F0 00312050 7F 18 07 74 */ extsb r24, r24
+/* 803163F4 00312054 7F 03 C3 78 */ mr r3, r24
+/* 803163F8 00312058 7D 89 03 A6 */ mtctr r12
+/* 803163FC 0031205C 4E 80 04 21 */ bctrl
+/* 80316400 00312060 2C 03 00 00 */ cmpwi r3, 0
+/* 80316404 00312064 41 82 00 24 */ beq lbl_80316428
+/* 80316408 00312068 A0 99 00 0C */ lhz r4, 0xc(r25)
+/* 8031640C 0031206C 57 00 44 2E */ rlwinm r0, r24, 8, 0x10, 0x17
+/* 80316410 00312070 80 B9 00 00 */ lwz r5, 0(r25)
+/* 80316414 00312074 38 64 00 01 */ addi r3, r4, 1
+/* 80316418 00312078 B0 79 00 0C */ sth r3, 0xc(r25)
+/* 8031641C 0031207C 7C 65 20 AE */ lbzx r3, r5, r4
+/* 80316420 00312080 7C 00 1A 14 */ add r0, r0, r3
+/* 80316424 00312084 54 18 04 3E */ clrlwi r24, r0, 0x10
+lbl_80316428:
+/* 80316428 00312088 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 8031642C 0031208C 38 60 00 00 */ li r3, 0
+/* 80316430 00312090 28 00 00 61 */ cmplwi r0, 0x61
+/* 80316434 00312094 41 80 00 10 */ blt lbl_80316444
+/* 80316438 00312098 28 00 00 7A */ cmplwi r0, 0x7a
+/* 8031643C 0031209C 41 81 00 08 */ bgt lbl_80316444
+/* 80316440 003120A0 38 60 00 01 */ li r3, 1
+lbl_80316444:
+/* 80316444 003120A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80316448 003120A8 57 03 04 3E */ clrlwi r3, r24, 0x10
+/* 8031644C 003120AC 41 82 00 08 */ beq lbl_80316454
+/* 80316450 003120B0 38 63 FF E0 */ addi r3, r3, -32
+lbl_80316454:
+/* 80316454 003120B4 54 78 04 3E */ clrlwi r24, r3, 0x10
+lbl_80316458:
+/* 80316458 003120B8 57 00 04 3F */ clrlwi. r0, r24, 0x10
+/* 8031645C 003120BC 40 82 FD 40 */ bne lbl_8031619C
+/* 80316460 003120C0 38 60 00 00 */ li r3, 0
+/* 80316464 003120C4 48 00 01 60 */ b lbl_803165C4
+lbl_80316468:
+/* 80316468 003120C8 57 03 04 3E */ clrlwi r3, r24, 0x10
+/* 8031646C 003120CC 57 40 04 3E */ clrlwi r0, r26, 0x10
+/* 80316470 003120D0 7C 03 00 40 */ cmplw r3, r0
+/* 80316474 003120D4 41 82 00 0C */ beq lbl_80316480
+/* 80316478 003120D8 38 60 00 00 */ li r3, 0
+/* 8031647C 003120DC 48 00 01 48 */ b lbl_803165C4
+lbl_80316480:
+/* 80316480 003120E0 80 19 00 08 */ lwz r0, 8(r25)
+/* 80316484 003120E4 2C 00 00 00 */ cmpwi r0, 0
+/* 80316488 003120E8 41 82 00 84 */ beq lbl_8031650C
+/* 8031648C 003120EC A0 B9 00 0C */ lhz r5, 0xc(r25)
+/* 80316490 003120F0 28 05 02 0A */ cmplwi r5, 0x20a
+/* 80316494 003120F4 40 81 00 0C */ ble lbl_803164A0
+/* 80316498 003120F8 3B 00 00 00 */ li r24, 0
+/* 8031649C 003120FC 48 00 01 04 */ b lbl_803165A0
+lbl_803164A0:
+/* 803164A0 00312100 80 99 00 00 */ lwz r4, 0(r25)
+/* 803164A4 00312104 38 65 00 02 */ addi r3, r5, 2
+/* 803164A8 00312108 38 00 00 00 */ li r0, 0
+/* 803164AC 0031210C 7C 84 2A 2E */ lhzx r4, r4, r5
+/* 803164B0 00312110 28 04 00 61 */ cmplwi r4, 0x61
+/* 803164B4 00312114 B0 79 00 0C */ sth r3, 0xc(r25)
+/* 803164B8 00312118 41 80 00 10 */ blt lbl_803164C8
+/* 803164BC 0031211C 28 04 00 7A */ cmplwi r4, 0x7a
+/* 803164C0 00312120 41 81 00 08 */ bgt lbl_803164C8
+/* 803164C4 00312124 38 00 00 01 */ li r0, 1
+lbl_803164C8:
+/* 803164C8 00312128 2C 00 00 00 */ cmpwi r0, 0
+/* 803164CC 0031212C 41 82 00 08 */ beq lbl_803164D4
+/* 803164D0 00312130 38 84 FF E0 */ addi r4, r4, -32
+lbl_803164D4:
+/* 803164D4 00312134 54 98 04 3E */ clrlwi r24, r4, 0x10
+/* 803164D8 00312138 28 18 FF 41 */ cmplwi r24, 0xff41
+/* 803164DC 0031213C 41 80 00 1C */ blt lbl_803164F8
+/* 803164E0 00312140 28 18 FF 5A */ cmplwi r24, 0xff5a
+/* 803164E4 00312144 41 81 00 14 */ bgt lbl_803164F8
+/* 803164E8 00312148 38 18 FF E0 */ addi r0, r24, -32
+/* 803164EC 0031214C 38 60 00 01 */ li r3, 1
+/* 803164F0 00312150 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 803164F4 00312154 48 00 00 08 */ b lbl_803164FC
+lbl_803164F8:
+/* 803164F8 00312158 38 60 00 00 */ li r3, 0
+lbl_803164FC:
+/* 803164FC 0031215C 28 03 00 01 */ cmplwi r3, 1
+/* 80316500 00312160 40 82 00 A0 */ bne lbl_803165A0
+/* 80316504 00312164 7F F8 FB 78 */ mr r24, r31
+/* 80316508 00312168 48 00 00 98 */ b lbl_803165A0
+lbl_8031650C:
+/* 8031650C 0031216C A0 B9 00 0C */ lhz r5, 0xc(r25)
+/* 80316510 00312170 28 05 00 0C */ cmplwi r5, 0xc
+/* 80316514 00312174 41 80 00 0C */ blt lbl_80316520
+/* 80316518 00312178 3B 00 00 00 */ li r24, 0
+/* 8031651C 0031217C 48 00 00 84 */ b lbl_803165A0
+lbl_80316520:
+/* 80316520 00312180 38 05 00 01 */ addi r0, r5, 1
+/* 80316524 00312184 80 79 00 00 */ lwz r3, 0(r25)
+/* 80316528 00312188 B0 19 00 0C */ sth r0, 0xc(r25)
+/* 8031652C 0031218C 38 80 00 01 */ li r4, 1
+/* 80316530 00312190 7F 03 28 AE */ lbzx r24, r3, r5
+/* 80316534 00312194 81 9D 00 30 */ lwz r12, 0x30(r29)
+/* 80316538 00312198 7F 18 07 74 */ extsb r24, r24
+/* 8031653C 0031219C 7F 03 C3 78 */ mr r3, r24
+/* 80316540 003121A0 7D 89 03 A6 */ mtctr r12
+/* 80316544 003121A4 4E 80 04 21 */ bctrl
+/* 80316548 003121A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8031654C 003121AC 41 82 00 24 */ beq lbl_80316570
+/* 80316550 003121B0 A0 99 00 0C */ lhz r4, 0xc(r25)
+/* 80316554 003121B4 57 00 44 2E */ rlwinm r0, r24, 8, 0x10, 0x17
+/* 80316558 003121B8 80 B9 00 00 */ lwz r5, 0(r25)
+/* 8031655C 003121BC 38 64 00 01 */ addi r3, r4, 1
+/* 80316560 003121C0 B0 79 00 0C */ sth r3, 0xc(r25)
+/* 80316564 003121C4 7C 65 20 AE */ lbzx r3, r5, r4
+/* 80316568 003121C8 7C 00 1A 14 */ add r0, r0, r3
+/* 8031656C 003121CC 54 18 04 3E */ clrlwi r24, r0, 0x10
+lbl_80316570:
+/* 80316570 003121D0 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 80316574 003121D4 38 60 00 00 */ li r3, 0
+/* 80316578 003121D8 28 00 00 61 */ cmplwi r0, 0x61
+/* 8031657C 003121DC 41 80 00 10 */ blt lbl_8031658C
+/* 80316580 003121E0 28 00 00 7A */ cmplwi r0, 0x7a
+/* 80316584 003121E4 41 81 00 08 */ bgt lbl_8031658C
+/* 80316588 003121E8 38 60 00 01 */ li r3, 1
+lbl_8031658C:
+/* 8031658C 003121EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80316590 003121F0 57 03 04 3E */ clrlwi r3, r24, 0x10
+/* 80316594 003121F4 41 82 00 08 */ beq lbl_8031659C
+/* 80316598 003121F8 38 63 FF E0 */ addi r3, r3, -32
+lbl_8031659C:
+/* 8031659C 003121FC 54 78 04 3E */ clrlwi r24, r3, 0x10
+lbl_803165A0:
+/* 803165A0 00312200 7F 63 DB 78 */ mr r3, r27
+/* 803165A4 00312204 7F 84 E3 78 */ mr r4, r28
+/* 803165A8 00312208 4B FF F8 81 */ bl VFiPFPATH_GetNextCharOfPattern
+/* 803165AC 0031220C 7C 7A 1B 78 */ mr r26, r3
+lbl_803165B0:
+/* 803165B0 00312210 57 40 04 3F */ clrlwi. r0, r26, 0x10
+/* 803165B4 00312214 40 82 FB 68 */ bne lbl_8031611C
+/* 803165B8 00312218 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 803165BC 0031221C 7C 00 00 34 */ cntlzw r0, r0
+/* 803165C0 00312220 54 03 D9 7E */ srwi r3, r0, 5
+lbl_803165C4:
+/* 803165C4 00312224 39 61 00 50 */ addi r11, r1, 0x50
+/* 803165C8 00312228 4B EB 0B A1 */ bl _restgpr_24
+/* 803165CC 0031222C 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 803165D0 00312230 7C 08 03 A6 */ mtlr r0
+/* 803165D4 00312234 38 21 00 50 */ addi r1, r1, 0x50
+/* 803165D8 00312238 4E 80 00 20 */ blr
+
+.global VFiPFPATH_cmpNameImpl
+VFiPFPATH_cmpNameImpl:
+/* 803165DC 0031223C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 803165E0 00312240 7C 08 02 A6 */ mflr r0
+/* 803165E4 00312244 90 01 00 44 */ stw r0, 0x44(r1)
+/* 803165E8 00312248 39 61 00 40 */ addi r11, r1, 0x40
+/* 803165EC 0031224C 4B EB 0B 2D */ bl _savegpr_23
+/* 803165F0 00312250 3C C0 80 58 */ lis r6, lbl_8057F5C8@ha
+/* 803165F4 00312254 7C 7A 1B 78 */ mr r26, r3
+/* 803165F8 00312258 7C 9B 23 78 */ mr r27, r4
+/* 803165FC 0031225C 7C BC 2B 78 */ mr r28, r5
+/* 80316600 00312260 3B 06 F5 C8 */ addi r24, r6, lbl_8057F5C8@l
+/* 80316604 00312264 3B 20 00 01 */ li r25, 1
+/* 80316608 00312268 48 00 03 04 */ b lbl_8031690C
+lbl_8031660C:
+/* 8031660C 0031226C 81 98 00 2C */ lwz r12, 0x2c(r24)
+/* 80316610 00312270 7F 63 DB 78 */ mr r3, r27
+/* 80316614 00312274 7D 89 03 A6 */ mtctr r12
+/* 80316618 00312278 4E 80 04 21 */ bctrl
+/* 8031661C 0031227C 81 98 00 2C */ lwz r12, 0x2c(r24)
+/* 80316620 00312280 7C 77 1B 78 */ mr r23, r3
+/* 80316624 00312284 7F 43 D3 78 */ mr r3, r26
+/* 80316628 00312288 7D 89 03 A6 */ mtctr r12
+/* 8031662C 0031228C 4E 80 04 21 */ bctrl
+/* 80316630 00312290 2C 17 00 01 */ cmpwi r23, 1
+/* 80316634 00312294 7C 7F 1B 78 */ mr r31, r3
+/* 80316638 00312298 40 82 00 14 */ bne lbl_8031664C
+/* 8031663C 0031229C 88 7B 00 00 */ lbz r3, 0(r27)
+/* 80316640 003122A0 7C 63 07 74 */ extsb r3, r3
+/* 80316644 003122A4 4B FE E8 51 */ bl VFipf_toupper
+/* 80316648 003122A8 48 00 00 10 */ b lbl_80316658
+lbl_8031664C:
+/* 8031664C 003122AC 7F 63 DB 78 */ mr r3, r27
+/* 80316650 003122B0 4B FE EB 61 */ bl VFiPF_GET_LE_U16
+/* 80316654 003122B4 54 63 04 3E */ clrlwi r3, r3, 0x10
+lbl_80316658:
+/* 80316658 003122B8 2C 1F 00 01 */ cmpwi r31, 1
+/* 8031665C 003122BC 54 7E 04 3E */ clrlwi r30, r3, 0x10
+/* 80316660 003122C0 40 82 00 14 */ bne lbl_80316674
+/* 80316664 003122C4 88 7A 00 00 */ lbz r3, 0(r26)
+/* 80316668 003122C8 7C 63 07 74 */ extsb r3, r3
+/* 8031666C 003122CC 4B FE E8 29 */ bl VFipf_toupper
+/* 80316670 003122D0 48 00 00 10 */ b lbl_80316680
+lbl_80316674:
+/* 80316674 003122D4 7F 43 D3 78 */ mr r3, r26
+/* 80316678 003122D8 4B FE EB 39 */ bl VFiPF_GET_LE_U16
+/* 8031667C 003122DC 54 63 04 3E */ clrlwi r3, r3, 0x10
+lbl_80316680:
+/* 80316680 003122E0 2C 17 00 02 */ cmpwi r23, 2
+/* 80316684 003122E4 54 7D 04 3E */ clrlwi r29, r3, 0x10
+/* 80316688 003122E8 40 82 00 74 */ bne lbl_803166FC
+/* 8031668C 003122EC 81 98 00 24 */ lwz r12, 0x24(r24)
+/* 80316690 003122F0 7F 63 DB 78 */ mr r3, r27
+/* 80316694 003122F4 38 81 00 0A */ addi r4, r1, 0xa
+/* 80316698 003122F8 7D 89 03 A6 */ mtctr r12
+/* 8031669C 003122FC 4E 80 04 21 */ bctrl
+/* 803166A0 00312300 A0 61 00 0A */ lhz r3, 0xa(r1)
+/* 803166A4 00312304 28 03 FF 41 */ cmplwi r3, 0xff41
+/* 803166A8 00312308 41 80 00 1C */ blt lbl_803166C4
+/* 803166AC 0031230C 28 03 FF 5A */ cmplwi r3, 0xff5a
+/* 803166B0 00312310 41 81 00 14 */ bgt lbl_803166C4
+/* 803166B4 00312314 38 03 FF E0 */ addi r0, r3, -32
+/* 803166B8 00312318 38 60 00 01 */ li r3, 1
+/* 803166BC 0031231C B0 01 00 0A */ sth r0, 0xa(r1)
+/* 803166C0 00312320 48 00 00 08 */ b lbl_803166C8
+lbl_803166C4:
+/* 803166C4 00312324 38 60 00 00 */ li r3, 0
+lbl_803166C8:
+/* 803166C8 00312328 28 03 00 01 */ cmplwi r3, 1
+/* 803166CC 0031232C 40 82 00 20 */ bne lbl_803166EC
+/* 803166D0 00312330 81 98 00 28 */ lwz r12, 0x28(r24)
+/* 803166D4 00312334 38 61 00 0A */ addi r3, r1, 0xa
+/* 803166D8 00312338 7C 64 1B 78 */ mr r4, r3
+/* 803166DC 0031233C 7D 89 03 A6 */ mtctr r12
+/* 803166E0 00312340 4E 80 04 21 */ bctrl
+/* 803166E4 00312344 38 60 00 01 */ li r3, 1
+/* 803166E8 00312348 48 00 00 08 */ b lbl_803166F0
+lbl_803166EC:
+/* 803166EC 0031234C 38 60 00 00 */ li r3, 0
+lbl_803166F0:
+/* 803166F0 00312350 28 03 00 01 */ cmplwi r3, 1
+/* 803166F4 00312354 40 82 00 08 */ bne lbl_803166FC
+/* 803166F8 00312358 A3 C1 00 0A */ lhz r30, 0xa(r1)
+lbl_803166FC:
+/* 803166FC 0031235C 2C 1F 00 02 */ cmpwi r31, 2
+/* 80316700 00312360 40 82 00 74 */ bne lbl_80316774
+/* 80316704 00312364 81 98 00 24 */ lwz r12, 0x24(r24)
+/* 80316708 00312368 7F 43 D3 78 */ mr r3, r26
+/* 8031670C 0031236C 38 81 00 08 */ addi r4, r1, 8
+/* 80316710 00312370 7D 89 03 A6 */ mtctr r12
+/* 80316714 00312374 4E 80 04 21 */ bctrl
+/* 80316718 00312378 A0 61 00 08 */ lhz r3, 8(r1)
+/* 8031671C 0031237C 28 03 FF 41 */ cmplwi r3, 0xff41
+/* 80316720 00312380 41 80 00 1C */ blt lbl_8031673C
+/* 80316724 00312384 28 03 FF 5A */ cmplwi r3, 0xff5a
+/* 80316728 00312388 41 81 00 14 */ bgt lbl_8031673C
+/* 8031672C 0031238C 38 03 FF E0 */ addi r0, r3, -32
+/* 80316730 00312390 38 60 00 01 */ li r3, 1
+/* 80316734 00312394 B0 01 00 08 */ sth r0, 8(r1)
+/* 80316738 00312398 48 00 00 08 */ b lbl_80316740
+lbl_8031673C:
+/* 8031673C 0031239C 38 60 00 00 */ li r3, 0
+lbl_80316740:
+/* 80316740 003123A0 28 03 00 01 */ cmplwi r3, 1
+/* 80316744 003123A4 40 82 00 20 */ bne lbl_80316764
+/* 80316748 003123A8 81 98 00 28 */ lwz r12, 0x28(r24)
+/* 8031674C 003123AC 38 61 00 08 */ addi r3, r1, 8
+/* 80316750 003123B0 7C 64 1B 78 */ mr r4, r3
+/* 80316754 003123B4 7D 89 03 A6 */ mtctr r12
+/* 80316758 003123B8 4E 80 04 21 */ bctrl
+/* 8031675C 003123BC 38 60 00 01 */ li r3, 1
+/* 80316760 003123C0 48 00 00 08 */ b lbl_80316768
+lbl_80316764:
+/* 80316764 003123C4 38 60 00 00 */ li r3, 0
+lbl_80316768:
+/* 80316768 003123C8 28 03 00 01 */ cmplwi r3, 1
+/* 8031676C 003123CC 40 82 00 08 */ bne lbl_80316774
+/* 80316770 003123D0 A3 A1 00 08 */ lhz r29, 8(r1)
+lbl_80316774:
+/* 80316774 003123D4 2C 1E 00 3F */ cmpwi r30, 0x3f
+/* 80316778 003123D8 7F 7B BA 14 */ add r27, r27, r23
+/* 8031677C 003123DC 41 82 00 14 */ beq lbl_80316790
+/* 80316780 003123E0 40 80 01 78 */ bge lbl_803168F8
+/* 80316784 003123E4 2C 1E 00 2A */ cmpwi r30, 0x2a
+/* 80316788 003123E8 41 82 00 18 */ beq lbl_803167A0
+/* 8031678C 003123EC 48 00 01 6C */ b lbl_803168F8
+lbl_80316790:
+/* 80316790 003123F0 2C 1D 00 00 */ cmpwi r29, 0
+/* 80316794 003123F4 40 82 01 74 */ bne lbl_80316908
+/* 80316798 003123F8 38 60 00 01 */ li r3, 1
+/* 8031679C 003123FC 48 00 01 90 */ b lbl_8031692C
+lbl_803167A0:
+/* 803167A0 00312400 81 98 00 2C */ lwz r12, 0x2c(r24)
+/* 803167A4 00312404 7F 63 DB 78 */ mr r3, r27
+/* 803167A8 00312408 7D 89 03 A6 */ mtctr r12
+/* 803167AC 0031240C 4E 80 04 21 */ bctrl
+/* 803167B0 00312410 2C 03 00 01 */ cmpwi r3, 1
+/* 803167B4 00312414 7C 77 1B 78 */ mr r23, r3
+/* 803167B8 00312418 41 82 00 14 */ beq lbl_803167CC
+/* 803167BC 0031241C 7F 63 DB 78 */ mr r3, r27
+/* 803167C0 00312420 4B FE E9 F1 */ bl VFiPF_GET_LE_U16
+/* 803167C4 00312424 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 803167C8 00312428 48 00 00 10 */ b lbl_803167D8
+lbl_803167CC:
+/* 803167CC 0031242C 88 7B 00 00 */ lbz r3, 0(r27)
+/* 803167D0 00312430 7C 63 07 74 */ extsb r3, r3
+/* 803167D4 00312434 4B FE E6 C1 */ bl VFipf_toupper
+lbl_803167D8:
+/* 803167D8 00312438 54 7E 04 3E */ clrlwi r30, r3, 0x10
+/* 803167DC 0031243C 7F 7B BA 14 */ add r27, r27, r23
+/* 803167E0 00312440 28 1E 00 3F */ cmplwi r30, 0x3f
+/* 803167E4 00312444 40 82 00 54 */ bne lbl_80316838
+/* 803167E8 00312448 2C 1D 00 00 */ cmpwi r29, 0
+/* 803167EC 0031244C 40 82 00 0C */ bne lbl_803167F8
+/* 803167F0 00312450 38 60 00 01 */ li r3, 1
+/* 803167F4 00312454 48 00 01 38 */ b lbl_8031692C
+lbl_803167F8:
+/* 803167F8 00312458 81 98 00 2C */ lwz r12, 0x2c(r24)
+/* 803167FC 0031245C 7F 5A FA 14 */ add r26, r26, r31
+/* 80316800 00312460 7F 43 D3 78 */ mr r3, r26
+/* 80316804 00312464 7D 89 03 A6 */ mtctr r12
+/* 80316808 00312468 4E 80 04 21 */ bctrl
+/* 8031680C 0031246C 2C 03 00 01 */ cmpwi r3, 1
+/* 80316810 00312470 7C 7F 1B 78 */ mr r31, r3
+/* 80316814 00312474 40 82 00 14 */ bne lbl_80316828
+/* 80316818 00312478 88 7A 00 00 */ lbz r3, 0(r26)
+/* 8031681C 0031247C 7C 63 07 74 */ extsb r3, r3
+/* 80316820 00312480 4B FE E6 75 */ bl VFipf_toupper
+/* 80316824 00312484 48 00 00 10 */ b lbl_80316834
+lbl_80316828:
+/* 80316828 00312488 7F 43 D3 78 */ mr r3, r26
+/* 8031682C 0031248C 4B FE E9 85 */ bl VFiPF_GET_LE_U16
+/* 80316830 00312490 54 63 04 3E */ clrlwi r3, r3, 0x10
+lbl_80316834:
+/* 80316834 00312494 54 7D 04 3E */ clrlwi r29, r3, 0x10
+lbl_80316838:
+/* 80316838 00312498 28 1E 00 3F */ cmplwi r30, 0x3f
+/* 8031683C 0031249C 41 82 FF 64 */ beq lbl_803167A0
+/* 80316840 003124A0 28 1E 00 2A */ cmplwi r30, 0x2a
+/* 80316844 003124A4 41 82 FF 5C */ beq lbl_803167A0
+/* 80316848 003124A8 2C 1E 00 00 */ cmpwi r30, 0
+/* 8031684C 003124AC 40 82 00 88 */ bne lbl_803168D4
+/* 80316850 003124B0 38 60 00 00 */ li r3, 0
+/* 80316854 003124B4 48 00 00 D8 */ b lbl_8031692C
+/* 80316858 003124B8 48 00 00 7C */ b lbl_803168D4
+lbl_8031685C:
+/* 8031685C 003124BC 7C 1D F0 40 */ cmplw r29, r30
+/* 80316860 003124C0 7F 5A FA 14 */ add r26, r26, r31
+/* 80316864 003124C4 40 82 00 34 */ bne lbl_80316898
+/* 80316868 003124C8 7F 43 D3 78 */ mr r3, r26
+/* 8031686C 003124CC 7F 64 DB 78 */ mr r4, r27
+/* 80316870 003124D0 7F 85 E3 78 */ mr r5, r28
+/* 80316874 003124D4 4B FF FD 69 */ bl VFiPFPATH_cmpNameImpl
+/* 80316878 003124D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8031687C 003124DC 40 82 00 0C */ bne lbl_80316888
+/* 80316880 003124E0 38 60 00 00 */ li r3, 0
+/* 80316884 003124E4 48 00 00 A8 */ b lbl_8031692C
+lbl_80316888:
+/* 80316888 003124E8 80 1C 00 00 */ lwz r0, 0(r28)
+/* 8031688C 003124EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80316890 003124F0 41 82 00 08 */ beq lbl_80316898
+/* 80316894 003124F4 48 00 00 98 */ b lbl_8031692C
+lbl_80316898:
+/* 80316898 003124F8 81 98 00 2C */ lwz r12, 0x2c(r24)
+/* 8031689C 003124FC 7F 43 D3 78 */ mr r3, r26
+/* 803168A0 00312500 7D 89 03 A6 */ mtctr r12
+/* 803168A4 00312504 4E 80 04 21 */ bctrl
+/* 803168A8 00312508 2C 03 00 01 */ cmpwi r3, 1
+/* 803168AC 0031250C 7C 7F 1B 78 */ mr r31, r3
+/* 803168B0 00312510 40 82 00 14 */ bne lbl_803168C4
+/* 803168B4 00312514 88 7A 00 00 */ lbz r3, 0(r26)
+/* 803168B8 00312518 7C 63 07 74 */ extsb r3, r3
+/* 803168BC 0031251C 4B FE E5 D9 */ bl VFipf_toupper
+/* 803168C0 00312520 48 00 00 10 */ b lbl_803168D0
+lbl_803168C4:
+/* 803168C4 00312524 7F 43 D3 78 */ mr r3, r26
+/* 803168C8 00312528 4B FE E8 E9 */ bl VFiPF_GET_LE_U16
+/* 803168CC 0031252C 54 63 04 3E */ clrlwi r3, r3, 0x10
+lbl_803168D0:
+/* 803168D0 00312530 54 7D 04 3E */ clrlwi r29, r3, 0x10
+lbl_803168D4:
+/* 803168D4 00312534 2C 1D 00 00 */ cmpwi r29, 0
+/* 803168D8 00312538 40 82 FF 84 */ bne lbl_8031685C
+/* 803168DC 0031253C 88 1A 00 00 */ lbz r0, 0(r26)
+/* 803168E0 00312540 7C 00 07 75 */ extsb. r0, r0
+/* 803168E4 00312544 41 82 00 10 */ beq lbl_803168F4
+/* 803168E8 00312548 88 1B 00 00 */ lbz r0, 0(r27)
+/* 803168EC 0031254C 7C 00 07 75 */ extsb. r0, r0
+/* 803168F0 00312550 40 82 00 08 */ bne lbl_803168F8
+lbl_803168F4:
+/* 803168F4 00312554 93 3C 00 00 */ stw r25, 0(r28)
+lbl_803168F8:
+/* 803168F8 00312558 7C 1D F0 40 */ cmplw r29, r30
+/* 803168FC 0031255C 41 82 00 0C */ beq lbl_80316908
+/* 80316900 00312560 38 60 00 01 */ li r3, 1
+/* 80316904 00312564 48 00 00 28 */ b lbl_8031692C
+lbl_80316908:
+/* 80316908 00312568 7F 5A FA 14 */ add r26, r26, r31
+lbl_8031690C:
+/* 8031690C 0031256C 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80316910 00312570 7C 00 07 75 */ extsb. r0, r0
+/* 80316914 00312574 40 82 FC F8 */ bne lbl_8031660C
+/* 80316918 00312578 88 1A 00 00 */ lbz r0, 0(r26)
+/* 8031691C 0031257C 7C 03 07 74 */ extsb r3, r0
+/* 80316920 00312580 7C 03 00 D0 */ neg r0, r3
+/* 80316924 00312584 7C 00 1B 78 */ or r0, r0, r3
+/* 80316928 00312588 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_8031692C:
+/* 8031692C 0031258C 39 61 00 40 */ addi r11, r1, 0x40
+/* 80316930 00312590 4B EB 08 35 */ bl _restgpr_23
+/* 80316934 00312594 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80316938 00312598 7C 08 03 A6 */ mtlr r0
+/* 8031693C 0031259C 38 21 00 40 */ addi r1, r1, 0x40
+/* 80316940 003125A0 4E 80 00 20 */ blr
+
+.global VFiPFPATH_cmpNameUni
+VFiPFPATH_cmpNameUni:
+/* 80316944 003125A4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80316948 003125A8 7C 08 02 A6 */ mflr r0
+/* 8031694C 003125AC 38 A0 00 01 */ li r5, 1
+/* 80316950 003125B0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80316954 003125B4 48 00 05 D9 */ bl VFiPFPATH_MatchFileNameWithPattern
+/* 80316958 003125B8 7C 60 00 34 */ cntlzw r0, r3
+/* 8031695C 003125BC 54 03 D9 7E */ srwi r3, r0, 5
+/* 80316960 003125C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80316964 003125C4 7C 08 03 A6 */ mtlr r0
+/* 80316968 003125C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031696C 003125CC 4E 80 00 20 */ blr
+
+.global VFiPFPATH_cmpName
+VFiPFPATH_cmpName:
+/* 80316970 003125D0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80316974 003125D4 7C 08 02 A6 */ mflr r0
+/* 80316978 003125D8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8031697C 003125DC 39 61 00 40 */ addi r11, r1, 0x40
+/* 80316980 003125E0 4B EB 07 A9 */ bl _savegpr_27
+/* 80316984 003125E4 38 00 00 00 */ li r0, 0
+/* 80316988 003125E8 7C 9C 23 78 */ mr r28, r4
+/* 8031698C 003125EC 90 01 00 08 */ stw r0, 8(r1)
+/* 80316990 003125F0 7C 7B 1B 78 */ mr r27, r3
+/* 80316994 003125F4 7C BD 2B 78 */ mr r29, r5
+/* 80316998 003125F8 7F 83 E3 78 */ mr r3, r28
+/* 8031699C 003125FC 3B E1 00 0C */ addi r31, r1, 0xc
+/* 803169A0 00312600 38 80 00 03 */ li r4, 3
+/* 803169A4 00312604 4B FE E9 6D */ bl VFiPFSTR_GetStrPos
+/* 803169A8 00312608 7C 7E 1B 78 */ mr r30, r3
+/* 803169AC 0031260C 7F E3 FB 78 */ mr r3, r31
+/* 803169B0 00312610 7F 64 DB 78 */ mr r4, r27
+/* 803169B4 00312614 4B FE E7 39 */ bl VFipf_strcpy
+/* 803169B8 00312618 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha
+/* 803169BC 0031261C 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l
+/* 803169C0 00312620 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 803169C4 00312624 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 803169C8 00312628 28 00 00 02 */ cmplwi r0, 2
+/* 803169CC 0031262C 40 82 00 64 */ bne lbl_80316A30
+/* 803169D0 00312630 7F 83 E3 78 */ mr r3, r28
+/* 803169D4 00312634 4B FE E9 0D */ bl VFiPFSTR_GetCodeMode
+/* 803169D8 00312638 28 03 00 02 */ cmplwi r3, 2
+/* 803169DC 0031263C 40 82 00 54 */ bne lbl_80316A30
+/* 803169E0 00312640 7F E3 FB 78 */ mr r3, r31
+/* 803169E4 00312644 38 8D 8D 00 */ addi r4, r13, lbl_8063DFC0-_SDA_BASE_
+/* 803169E8 00312648 4B FE E7 29 */ bl VFipf_strcmp
+/* 803169EC 0031264C 2C 03 00 00 */ cmpwi r3, 0
+/* 803169F0 00312650 41 82 00 40 */ beq lbl_80316A30
+/* 803169F4 00312654 7F E3 FB 78 */ mr r3, r31
+/* 803169F8 00312658 38 8D 8D 04 */ addi r4, r13, lbl_8063DFC4-_SDA_BASE_
+/* 803169FC 0031265C 4B FE E7 15 */ bl VFipf_strcmp
+/* 80316A00 00312660 2C 03 00 00 */ cmpwi r3, 0
+/* 80316A04 00312664 41 82 00 2C */ beq lbl_80316A30
+/* 80316A08 00312668 7F 83 E3 78 */ mr r3, r28
+/* 80316A0C 0031266C 38 80 00 03 */ li r4, 3
+/* 80316A10 00312670 38 A0 00 01 */ li r5, 1
+/* 80316A14 00312674 48 00 1A 21 */ bl VFiPFPATH_CheckExtShortName
+/* 80316A18 00312678 2C 03 00 00 */ cmpwi r3, 0
+/* 80316A1C 0031267C 40 82 00 14 */ bne lbl_80316A30
+/* 80316A20 00312680 2C 1D 00 00 */ cmpwi r29, 0
+/* 80316A24 00312684 40 82 00 0C */ bne lbl_80316A30
+/* 80316A28 00312688 38 60 00 01 */ li r3, 1
+/* 80316A2C 0031268C 48 00 00 88 */ b lbl_80316AB4
+lbl_80316A30:
+/* 80316A30 00312690 7F C3 F3 78 */ mr r3, r30
+/* 80316A34 00312694 38 8D 8D 08 */ addi r4, r13, lbl_8063DFC8-_SDA_BASE_
+/* 80316A38 00312698 4B FE E6 D9 */ bl VFipf_strcmp
+/* 80316A3C 0031269C 2C 03 00 00 */ cmpwi r3, 0
+/* 80316A40 003126A0 40 82 00 3C */ bne lbl_80316A7C
+/* 80316A44 003126A4 48 00 00 08 */ b lbl_80316A4C
+lbl_80316A48:
+/* 80316A48 003126A8 3B FF 00 01 */ addi r31, r31, 1
+lbl_80316A4C:
+/* 80316A4C 003126AC 88 7F 00 00 */ lbz r3, 0(r31)
+/* 80316A50 003126B0 7C 60 07 75 */ extsb. r0, r3
+/* 80316A54 003126B4 41 82 00 0C */ beq lbl_80316A60
+/* 80316A58 003126B8 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80316A5C 003126BC 40 82 FF EC */ bne lbl_80316A48
+lbl_80316A60:
+/* 80316A60 003126C0 7C 60 07 75 */ extsb. r0, r3
+/* 80316A64 003126C4 40 82 00 40 */ bne lbl_80316AA4
+/* 80316A68 003126C8 38 60 00 2E */ li r3, 0x2e
+/* 80316A6C 003126CC 38 00 00 00 */ li r0, 0
+/* 80316A70 003126D0 98 7F 00 00 */ stb r3, 0(r31)
+/* 80316A74 003126D4 98 1F 00 01 */ stb r0, 1(r31)
+/* 80316A78 003126D8 48 00 00 2C */ b lbl_80316AA4
+lbl_80316A7C:
+/* 80316A7C 003126DC 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80316A80 003126E0 7C 00 07 75 */ extsb. r0, r0
+/* 80316A84 003126E4 40 82 00 0C */ bne lbl_80316A90
+/* 80316A88 003126E8 38 60 00 01 */ li r3, 1
+/* 80316A8C 003126EC 48 00 00 28 */ b lbl_80316AB4
+lbl_80316A90:
+/* 80316A90 003126F0 88 01 00 0C */ lbz r0, 0xc(r1)
+/* 80316A94 003126F4 7C 00 07 75 */ extsb. r0, r0
+/* 80316A98 003126F8 40 82 00 0C */ bne lbl_80316AA4
+/* 80316A9C 003126FC 38 60 00 01 */ li r3, 1
+/* 80316AA0 00312700 48 00 00 14 */ b lbl_80316AB4
+lbl_80316AA4:
+/* 80316AA4 00312704 7F C4 F3 78 */ mr r4, r30
+/* 80316AA8 00312708 38 61 00 0C */ addi r3, r1, 0xc
+/* 80316AAC 0031270C 38 A1 00 08 */ addi r5, r1, 8
+/* 80316AB0 00312710 4B FF FB 2D */ bl VFiPFPATH_cmpNameImpl
+lbl_80316AB4:
+/* 80316AB4 00312714 39 61 00 40 */ addi r11, r1, 0x40
+/* 80316AB8 00312718 4B EB 06 BD */ bl _restgpr_27
+/* 80316ABC 0031271C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80316AC0 00312720 7C 08 03 A6 */ mtlr r0
+/* 80316AC4 00312724 38 21 00 40 */ addi r1, r1, 0x40
+/* 80316AC8 00312728 4E 80 00 20 */ blr
+
+.global VFiPFPATH_cmpTailSFN
+VFiPFPATH_cmpTailSFN:
+/* 80316ACC 0031272C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80316AD0 00312730 7C 08 02 A6 */ mflr r0
+/* 80316AD4 00312734 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80316AD8 00312738 4B FE E6 39 */ bl VFipf_strcmp
+/* 80316ADC 0031273C 7C 03 00 D0 */ neg r0, r3
+/* 80316AE0 00312740 7C 00 1B 78 */ or r0, r0, r3
+/* 80316AE4 00312744 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80316AE8 00312748 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80316AEC 0031274C 7C 08 03 A6 */ mtlr r0
+/* 80316AF0 00312750 38 21 00 10 */ addi r1, r1, 0x10
+/* 80316AF4 00312754 4E 80 00 20 */ blr
+
+.global VFiPFPATH_InitTokenOfPath
+VFiPFPATH_InitTokenOfPath:
+/* 80316AF8 00312758 90 83 00 00 */ stw r4, 0(r3)
+/* 80316AFC 0031275C 90 83 00 04 */ stw r4, 4(r3)
+/* 80316B00 00312760 90 A3 00 0C */ stw r5, 0xc(r3)
+/* 80316B04 00312764 4E 80 00 20 */ blr
+
+.global VFiPFPATH_GetNextTokenOfPath
+VFiPFPATH_GetNextTokenOfPath:
+/* 80316B08 00312768 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80316B0C 0031276C 7C 08 02 A6 */ mflr r0
+/* 80316B10 00312770 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80316B14 00312774 39 61 00 20 */ addi r11, r1, 0x20
+/* 80316B18 00312778 4B EB 06 11 */ bl _savegpr_27
+/* 80316B1C 0031277C 80 03 00 04 */ lwz r0, 4(r3)
+/* 80316B20 00312780 7C 9D 23 78 */ mr r29, r4
+/* 80316B24 00312784 7C 7C 1B 78 */ mr r28, r3
+/* 80316B28 00312788 3B 60 00 00 */ li r27, 0
+/* 80316B2C 0031278C 90 03 00 00 */ stw r0, 0(r3)
+/* 80316B30 00312790 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_
+/* 80316B34 00312794 38 A0 00 01 */ li r5, 1
+/* 80316B38 00312798 38 C0 00 00 */ li r6, 0
+/* 80316B3C 0031279C 38 E0 00 01 */ li r7, 1
+/* 80316B40 003127A0 4B FE EB 21 */ bl VFiPFSTR_StrNCmp
+/* 80316B44 003127A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80316B48 003127A8 40 82 00 18 */ bne lbl_80316B60
+/* 80316B4C 003127AC 38 00 00 00 */ li r0, 0
+/* 80316B50 003127B0 38 60 00 00 */ li r3, 0
+/* 80316B54 003127B4 90 1C 00 04 */ stw r0, 4(r28)
+/* 80316B58 003127B8 90 1C 00 00 */ stw r0, 0(r28)
+/* 80316B5C 003127BC 48 00 03 18 */ b lbl_80316E74
+lbl_80316B60:
+/* 80316B60 003127C0 7F 83 E3 78 */ mr r3, r28
+/* 80316B64 003127C4 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_
+/* 80316B68 003127C8 38 A0 00 01 */ li r5, 1
+/* 80316B6C 003127CC 38 C0 00 00 */ li r6, 0
+/* 80316B70 003127D0 38 E0 00 01 */ li r7, 1
+/* 80316B74 003127D4 4B FE EA ED */ bl VFiPFSTR_StrNCmp
+/* 80316B78 003127D8 2C 03 00 00 */ cmpwi r3, 0
+/* 80316B7C 003127DC 41 82 00 24 */ beq lbl_80316BA0
+/* 80316B80 003127E0 7F 83 E3 78 */ mr r3, r28
+/* 80316B84 003127E4 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_
+/* 80316B88 003127E8 38 A0 00 01 */ li r5, 1
+/* 80316B8C 003127EC 38 C0 00 00 */ li r6, 0
+/* 80316B90 003127F0 38 E0 00 01 */ li r7, 1
+/* 80316B94 003127F4 4B FE EA CD */ bl VFiPFSTR_StrNCmp
+/* 80316B98 003127F8 2C 03 00 00 */ cmpwi r3, 0
+/* 80316B9C 003127FC 40 82 00 10 */ bne lbl_80316BAC
+lbl_80316BA0:
+/* 80316BA0 00312800 7F 83 E3 78 */ mr r3, r28
+/* 80316BA4 00312804 38 80 00 01 */ li r4, 1
+/* 80316BA8 00312808 4B FE E7 91 */ bl VFiPFSTR_MoveStrPos
+lbl_80316BAC:
+/* 80316BAC 0031280C 7F 83 E3 78 */ mr r3, r28
+/* 80316BB0 00312810 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_
+/* 80316BB4 00312814 38 A0 00 01 */ li r5, 1
+/* 80316BB8 00312818 38 C0 00 00 */ li r6, 0
+/* 80316BBC 0031281C 38 E0 00 01 */ li r7, 1
+/* 80316BC0 00312820 4B FE EA A1 */ bl VFiPFSTR_StrNCmp
+/* 80316BC4 00312824 2C 03 00 00 */ cmpwi r3, 0
+/* 80316BC8 00312828 41 82 00 24 */ beq lbl_80316BEC
+/* 80316BCC 0031282C 7F 83 E3 78 */ mr r3, r28
+/* 80316BD0 00312830 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_
+/* 80316BD4 00312834 38 A0 00 01 */ li r5, 1
+/* 80316BD8 00312838 38 C0 00 00 */ li r6, 0
+/* 80316BDC 0031283C 38 E0 00 01 */ li r7, 1
+/* 80316BE0 00312840 4B FE EA 81 */ bl VFiPFSTR_StrNCmp
+/* 80316BE4 00312844 2C 03 00 00 */ cmpwi r3, 0
+/* 80316BE8 00312848 40 82 00 0C */ bne lbl_80316BF4
+lbl_80316BEC:
+/* 80316BEC 0031284C 38 60 00 02 */ li r3, 2
+/* 80316BF0 00312850 48 00 02 84 */ b lbl_80316E74
+lbl_80316BF4:
+/* 80316BF4 00312854 7F 83 E3 78 */ mr r3, r28
+/* 80316BF8 00312858 4B FE E6 E9 */ bl VFiPFSTR_GetCodeMode
+/* 80316BFC 0031285C 80 1C 00 00 */ lwz r0, 0(r28)
+/* 80316C00 00312860 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80316C04 00312864 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80316C08 00312868 7C 7E 1B 78 */ mr r30, r3
+/* 80316C0C 0031286C 90 1C 00 04 */ stw r0, 4(r28)
+/* 80316C10 00312870 80 04 00 3C */ lwz r0, 0x3c(r4)
+/* 80316C14 00312874 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 80316C18 00312878 28 00 00 02 */ cmplwi r0, 2
+/* 80316C1C 0031287C 40 82 00 48 */ bne lbl_80316C64
+/* 80316C20 00312880 7F 83 E3 78 */ mr r3, r28
+/* 80316C24 00312884 7F A5 EB 78 */ mr r5, r29
+/* 80316C28 00312888 38 80 00 02 */ li r4, 2
+/* 80316C2C 0031288C 48 00 18 09 */ bl VFiPFPATH_CheckExtShortName
+/* 80316C30 00312890 2C 03 00 00 */ cmpwi r3, 0
+/* 80316C34 00312894 7C 7B 1B 78 */ mr r27, r3
+/* 80316C38 00312898 41 82 00 2C */ beq lbl_80316C64
+/* 80316C3C 0031289C 28 1E 00 01 */ cmplwi r30, 1
+/* 80316C40 003128A0 40 82 00 14 */ bne lbl_80316C54
+/* 80316C44 003128A4 80 1C 00 04 */ lwz r0, 4(r28)
+/* 80316C48 003128A8 7C 00 1A 14 */ add r0, r0, r3
+/* 80316C4C 003128AC 90 1C 00 04 */ stw r0, 4(r28)
+/* 80316C50 003128B0 48 00 00 14 */ b lbl_80316C64
+lbl_80316C54:
+/* 80316C54 003128B4 80 9C 00 04 */ lwz r4, 4(r28)
+/* 80316C58 003128B8 54 60 08 3C */ slwi r0, r3, 1
+/* 80316C5C 003128BC 7C 04 02 14 */ add r0, r4, r0
+/* 80316C60 003128C0 90 1C 00 04 */ stw r0, 4(r28)
+lbl_80316C64:
+/* 80316C64 003128C4 2C 1B 00 00 */ cmpwi r27, 0
+/* 80316C68 003128C8 40 82 02 08 */ bne lbl_80316E70
+/* 80316C6C 003128CC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80316C70 003128D0 3C 60 80 40 */ lis r3, lbl_803FE220@ha
+/* 80316C74 003128D4 3B E4 F5 C8 */ addi r31, r4, lbl_8057F5C8@l
+/* 80316C78 003128D8 3B 63 E2 20 */ addi r27, r3, lbl_803FE220@l
+/* 80316C7C 003128DC 48 00 01 D4 */ b lbl_80316E50
+lbl_80316C80:
+/* 80316C80 003128E0 28 1E 00 01 */ cmplwi r30, 1
+/* 80316C84 003128E4 40 82 00 6C */ bne lbl_80316CF0
+/* 80316C88 003128E8 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80316C8C 003128EC 38 80 00 01 */ li r4, 1
+/* 80316C90 003128F0 81 9F 00 30 */ lwz r12, 0x30(r31)
+/* 80316C94 003128F4 88 03 00 00 */ lbz r0, 0(r3)
+/* 80316C98 003128F8 7C 03 07 74 */ extsb r3, r0
+/* 80316C9C 003128FC 7D 89 03 A6 */ mtctr r12
+/* 80316CA0 00312900 4E 80 04 21 */ bctrl
+/* 80316CA4 00312904 2C 03 00 00 */ cmpwi r3, 0
+/* 80316CA8 00312908 41 82 00 48 */ beq lbl_80316CF0
+/* 80316CAC 0031290C 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80316CB0 00312910 38 80 00 02 */ li r4, 2
+/* 80316CB4 00312914 38 63 00 01 */ addi r3, r3, 1
+/* 80316CB8 00312918 90 7C 00 04 */ stw r3, 4(r28)
+/* 80316CBC 0031291C 88 03 00 00 */ lbz r0, 0(r3)
+/* 80316CC0 00312920 81 9F 00 30 */ lwz r12, 0x30(r31)
+/* 80316CC4 00312924 7C 03 07 74 */ extsb r3, r0
+/* 80316CC8 00312928 7D 89 03 A6 */ mtctr r12
+/* 80316CCC 0031292C 4E 80 04 21 */ bctrl
+/* 80316CD0 00312930 2C 03 00 00 */ cmpwi r3, 0
+/* 80316CD4 00312934 41 82 00 14 */ beq lbl_80316CE8
+/* 80316CD8 00312938 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80316CDC 0031293C 88 03 00 00 */ lbz r0, 0(r3)
+/* 80316CE0 00312940 7C 00 07 75 */ extsb. r0, r0
+/* 80316CE4 00312944 40 82 01 48 */ bne lbl_80316E2C
+lbl_80316CE8:
+/* 80316CE8 00312948 38 60 00 02 */ li r3, 2
+/* 80316CEC 0031294C 48 00 01 88 */ b lbl_80316E74
+lbl_80316CF0:
+/* 80316CF0 00312950 7F 83 E3 78 */ mr r3, r28
+/* 80316CF4 00312954 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_
+/* 80316CF8 00312958 38 A0 00 02 */ li r5, 2
+/* 80316CFC 0031295C 38 C0 00 00 */ li r6, 0
+/* 80316D00 00312960 38 E0 00 01 */ li r7, 1
+/* 80316D04 00312964 4B FE E9 5D */ bl VFiPFSTR_StrNCmp
+/* 80316D08 00312968 2C 03 00 00 */ cmpwi r3, 0
+/* 80316D0C 0031296C 41 82 01 64 */ beq lbl_80316E70
+/* 80316D10 00312970 7F 83 E3 78 */ mr r3, r28
+/* 80316D14 00312974 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_
+/* 80316D18 00312978 38 A0 00 02 */ li r5, 2
+/* 80316D1C 0031297C 38 C0 00 00 */ li r6, 0
+/* 80316D20 00312980 38 E0 00 01 */ li r7, 1
+/* 80316D24 00312984 4B FE E9 3D */ bl VFiPFSTR_StrNCmp
+/* 80316D28 00312988 2C 03 00 00 */ cmpwi r3, 0
+/* 80316D2C 0031298C 41 82 01 44 */ beq lbl_80316E70
+/* 80316D30 00312990 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 80316D34 00312994 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
+/* 80316D38 00312998 40 82 00 F4 */ bne lbl_80316E2C
+/* 80316D3C 0031299C 28 1E 00 01 */ cmplwi r30, 1
+/* 80316D40 003129A0 40 82 00 2C */ bne lbl_80316D6C
+/* 80316D44 003129A4 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80316D48 003129A8 88 03 00 00 */ lbz r0, 0(r3)
+/* 80316D4C 003129AC 28 00 00 80 */ cmplwi r0, 0x80
+/* 80316D50 003129B0 40 80 00 1C */ bge lbl_80316D6C
+/* 80316D54 003129B4 28 00 00 20 */ cmplwi r0, 0x20
+/* 80316D58 003129B8 41 80 00 84 */ blt lbl_80316DDC
+/* 80316D5C 003129BC 7C 7B 02 14 */ add r3, r27, r0
+/* 80316D60 003129C0 88 03 FF E0 */ lbz r0, -0x20(r3)
+/* 80316D64 003129C4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80316D68 003129C8 41 82 00 74 */ beq lbl_80316DDC
+lbl_80316D6C:
+/* 80316D6C 003129CC 28 1E 00 02 */ cmplwi r30, 2
+/* 80316D70 003129D0 40 82 00 BC */ bne lbl_80316E2C
+/* 80316D74 003129D4 80 9C 00 04 */ lwz r4, 4(r28)
+/* 80316D78 003129D8 38 A0 00 01 */ li r5, 1
+/* 80316D7C 003129DC 88 64 00 00 */ lbz r3, 0(r4)
+/* 80316D80 003129E0 88 04 00 01 */ lbz r0, 1(r4)
+/* 80316D84 003129E4 54 63 40 2E */ slwi r3, r3, 8
+/* 80316D88 003129E8 7C 63 02 14 */ add r3, r3, r0
+/* 80316D8C 003129EC 54 60 04 3E */ clrlwi r0, r3, 0x10
+/* 80316D90 003129F0 28 00 00 80 */ cmplwi r0, 0x80
+/* 80316D94 003129F4 40 80 00 40 */ bge lbl_80316DD4
+/* 80316D98 003129F8 54 63 06 3E */ clrlwi r3, r3, 0x18
+/* 80316D9C 003129FC 38 80 00 00 */ li r4, 0
+/* 80316DA0 00312A00 28 03 00 20 */ cmplwi r3, 0x20
+/* 80316DA4 00312A04 41 80 00 24 */ blt lbl_80316DC8
+/* 80316DA8 00312A08 54 60 04 2F */ rlwinm. r0, r3, 0, 0x10, 0x17
+/* 80316DAC 00312A0C 40 82 00 1C */ bne lbl_80316DC8
+/* 80316DB0 00312A10 38 03 FF E0 */ addi r0, r3, -32
+/* 80316DB4 00312A14 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 80316DB8 00312A18 7C 1B 00 AE */ lbzx r0, r27, r0
+/* 80316DBC 00312A1C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80316DC0 00312A20 41 82 00 08 */ beq lbl_80316DC8
+/* 80316DC4 00312A24 38 80 00 01 */ li r4, 1
+lbl_80316DC8:
+/* 80316DC8 00312A28 2C 04 00 00 */ cmpwi r4, 0
+/* 80316DCC 00312A2C 40 82 00 08 */ bne lbl_80316DD4
+/* 80316DD0 00312A30 38 A0 00 00 */ li r5, 0
+lbl_80316DD4:
+/* 80316DD4 00312A34 2C 05 00 00 */ cmpwi r5, 0
+/* 80316DD8 00312A38 40 82 00 54 */ bne lbl_80316E2C
+lbl_80316DDC:
+/* 80316DDC 00312A3C 2C 1D 00 00 */ cmpwi r29, 0
+/* 80316DE0 00312A40 41 82 00 44 */ beq lbl_80316E24
+/* 80316DE4 00312A44 7F 83 E3 78 */ mr r3, r28
+/* 80316DE8 00312A48 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_
+/* 80316DEC 00312A4C 38 A0 00 02 */ li r5, 2
+/* 80316DF0 00312A50 38 C0 00 00 */ li r6, 0
+/* 80316DF4 00312A54 38 E0 00 01 */ li r7, 1
+/* 80316DF8 00312A58 4B FE E8 69 */ bl VFiPFSTR_StrNCmp
+/* 80316DFC 00312A5C 2C 03 00 00 */ cmpwi r3, 0
+/* 80316E00 00312A60 41 82 00 2C */ beq lbl_80316E2C
+/* 80316E04 00312A64 7F 83 E3 78 */ mr r3, r28
+/* 80316E08 00312A68 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_
+/* 80316E0C 00312A6C 38 A0 00 02 */ li r5, 2
+/* 80316E10 00312A70 38 C0 00 00 */ li r6, 0
+/* 80316E14 00312A74 38 E0 00 01 */ li r7, 1
+/* 80316E18 00312A78 4B FE E8 49 */ bl VFiPFSTR_StrNCmp
+/* 80316E1C 00312A7C 2C 03 00 00 */ cmpwi r3, 0
+/* 80316E20 00312A80 41 82 00 0C */ beq lbl_80316E2C
+lbl_80316E24:
+/* 80316E24 00312A84 38 60 00 02 */ li r3, 2
+/* 80316E28 00312A88 48 00 00 4C */ b lbl_80316E74
+lbl_80316E2C:
+/* 80316E2C 00312A8C 28 1E 00 01 */ cmplwi r30, 1
+/* 80316E30 00312A90 40 82 00 14 */ bne lbl_80316E44
+/* 80316E34 00312A94 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80316E38 00312A98 38 03 00 01 */ addi r0, r3, 1
+/* 80316E3C 00312A9C 90 1C 00 04 */ stw r0, 4(r28)
+/* 80316E40 00312AA0 48 00 00 10 */ b lbl_80316E50
+lbl_80316E44:
+/* 80316E44 00312AA4 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80316E48 00312AA8 38 03 00 02 */ addi r0, r3, 2
+/* 80316E4C 00312AAC 90 1C 00 04 */ stw r0, 4(r28)
+lbl_80316E50:
+/* 80316E50 00312AB0 7F 83 E3 78 */ mr r3, r28
+/* 80316E54 00312AB4 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_
+/* 80316E58 00312AB8 38 A0 00 02 */ li r5, 2
+/* 80316E5C 00312ABC 38 C0 00 00 */ li r6, 0
+/* 80316E60 00312AC0 38 E0 00 01 */ li r7, 1
+/* 80316E64 00312AC4 4B FE E7 FD */ bl VFiPFSTR_StrNCmp
+/* 80316E68 00312AC8 2C 03 00 00 */ cmpwi r3, 0
+/* 80316E6C 00312ACC 40 82 FE 14 */ bne lbl_80316C80
+lbl_80316E70:
+/* 80316E70 00312AD0 38 60 00 00 */ li r3, 0
+lbl_80316E74:
+/* 80316E74 00312AD4 39 61 00 20 */ addi r11, r1, 0x20
+/* 80316E78 00312AD8 4B EB 02 FD */ bl _restgpr_27
+/* 80316E7C 00312ADC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80316E80 00312AE0 7C 08 03 A6 */ mtlr r0
+/* 80316E84 00312AE4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80316E88 00312AE8 4E 80 00 20 */ blr
+
+.global VFiPFPATH_SplitPath
+VFiPFPATH_SplitPath:
+/* 80316E8C 00312AEC 38 C0 00 00 */ li r6, 0
+/* 80316E90 00312AF0 4B FF ED A0 */ b VFiPFPATH_DoSplitPath
+
+.global VFiPFPATH_GetVolumeFromPath
+VFiPFPATH_GetVolumeFromPath:
+/* 80316E94 00312AF4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80316E98 00312AF8 7C 08 02 A6 */ mflr r0
+/* 80316E9C 00312AFC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80316EA0 00312B00 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80316EA4 00312B04 7C 7F 1B 78 */ mr r31, r3
+/* 80316EA8 00312B08 4B FE E6 21 */ bl VFiPFSTR_StrLen
+/* 80316EAC 00312B0C 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 80316EB0 00312B10 40 82 00 0C */ bne lbl_80316EBC
+/* 80316EB4 00312B14 38 60 00 00 */ li r3, 0
+/* 80316EB8 00312B18 48 00 00 60 */ b lbl_80316F18
+lbl_80316EBC:
+/* 80316EBC 00312B1C 7F E3 FB 78 */ mr r3, r31
+/* 80316EC0 00312B20 38 80 00 01 */ li r4, 1
+/* 80316EC4 00312B24 4B FE E6 19 */ bl VFiPFSTR_StrNumChar
+/* 80316EC8 00312B28 54 60 04 3E */ clrlwi r0, r3, 0x10
+/* 80316ECC 00312B2C 28 00 00 02 */ cmplwi r0, 2
+/* 80316ED0 00312B30 41 80 00 44 */ blt lbl_80316F14
+/* 80316ED4 00312B34 7F E3 FB 78 */ mr r3, r31
+/* 80316ED8 00312B38 38 8D 8C F8 */ addi r4, r13, lbl_8063DFB8-_SDA_BASE_
+/* 80316EDC 00312B3C 38 A0 00 01 */ li r5, 1
+/* 80316EE0 00312B40 38 C0 00 01 */ li r6, 1
+/* 80316EE4 00312B44 38 E0 00 01 */ li r7, 1
+/* 80316EE8 00312B48 4B FE E7 79 */ bl VFiPFSTR_StrNCmp
+/* 80316EEC 00312B4C 2C 03 00 00 */ cmpwi r3, 0
+/* 80316EF0 00312B50 40 82 00 24 */ bne lbl_80316F14
+/* 80316EF4 00312B54 7F E3 FB 78 */ mr r3, r31
+/* 80316EF8 00312B58 38 A1 00 08 */ addi r5, r1, 8
+/* 80316EFC 00312B5C 38 80 00 01 */ li r4, 1
+/* 80316F00 00312B60 4B FE E8 79 */ bl VFiPFSTR_ToUpperNStr
+/* 80316F04 00312B64 88 01 00 08 */ lbz r0, 8(r1)
+/* 80316F08 00312B68 7C 03 07 74 */ extsb r3, r0
+/* 80316F0C 00312B6C 48 00 2C 4D */ bl VFiPFVOL_GetVolumeFromDrvChar
+/* 80316F10 00312B70 48 00 00 08 */ b lbl_80316F18
+lbl_80316F14:
+/* 80316F14 00312B74 48 00 2A F1 */ bl VFiPFVOL_GetCurrentVolume
+lbl_80316F18:
+/* 80316F18 00312B78 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80316F1C 00312B7C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80316F20 00312B80 7C 08 03 A6 */ mtlr r0
+/* 80316F24 00312B84 38 21 00 20 */ addi r1, r1, 0x20
+/* 80316F28 00312B88 4E 80 00 20 */ blr
+
+.global VFiPFPATH_MatchFileNameWithPattern
+VFiPFPATH_MatchFileNameWithPattern:
+/* 80316F2C 00312B8C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80316F30 00312B90 7C 08 02 A6 */ mflr r0
+/* 80316F34 00312B94 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80316F38 00312B98 38 00 00 00 */ li r0, 0
+/* 80316F3C 00312B9C 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 80316F40 00312BA0 3B E0 00 01 */ li r31, 1
+/* 80316F44 00312BA4 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 80316F48 00312BA8 7C BE 2B 78 */ mr r30, r5
+/* 80316F4C 00312BAC 93 A1 00 34 */ stw r29, 0x34(r1)
+/* 80316F50 00312BB0 7C 9D 23 78 */ mr r29, r4
+/* 80316F54 00312BB4 93 81 00 30 */ stw r28, 0x30(r1)
+/* 80316F58 00312BB8 7C 7C 1B 78 */ mr r28, r3
+/* 80316F5C 00312BBC 88 E2 A4 A0 */ lbz r7, lbl_80642AA0-_SDA2_BASE_(r2)
+/* 80316F60 00312BC0 88 C2 A4 A1 */ lbz r6, lbl_80642AA1-_SDA2_BASE_(r2)
+/* 80316F64 00312BC4 90 61 00 20 */ stw r3, 0x20(r1)
+/* 80316F68 00312BC8 7F A3 EB 78 */ mr r3, r29
+/* 80316F6C 00312BCC 98 E1 00 0C */ stb r7, 0xc(r1)
+/* 80316F70 00312BD0 98 C1 00 0D */ stb r6, 0xd(r1)
+/* 80316F74 00312BD4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80316F78 00312BD8 90 A1 00 28 */ stw r5, 0x28(r1)
+/* 80316F7C 00312BDC B0 01 00 2C */ sth r0, 0x2c(r1)
+/* 80316F80 00312BE0 80 A4 00 00 */ lwz r5, 0(r4)
+/* 80316F84 00312BE4 80 04 00 04 */ lwz r0, 4(r4)
+/* 80316F88 00312BE8 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 80316F8C 00312BEC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80316F90 00312BF0 80 A4 00 08 */ lwz r5, 8(r4)
+/* 80316F94 00312BF4 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 80316F98 00312BF8 90 A1 00 18 */ stw r5, 0x18(r1)
+/* 80316F9C 00312BFC 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 80316FA0 00312C00 4B FE E3 41 */ bl VFiPFSTR_GetCodeMode
+/* 80316FA4 00312C04 28 03 00 01 */ cmplwi r3, 1
+/* 80316FA8 00312C08 40 82 00 A4 */ bne lbl_8031704C
+/* 80316FAC 00312C0C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80316FB0 00312C10 40 82 01 18 */ bne lbl_803170C8
+/* 80316FB4 00312C14 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha
+/* 80316FB8 00312C18 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l
+/* 80316FBC 00312C1C 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 80316FC0 00312C20 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 80316FC4 00312C24 28 00 00 02 */ cmplwi r0, 2
+/* 80316FC8 00312C28 40 82 01 00 */ bne lbl_803170C8
+/* 80316FCC 00312C2C 88 8D 8D 1C */ lbz r4, lbl_8063DFDC-_SDA_BASE_(r13)
+/* 80316FD0 00312C30 34 61 00 10 */ addic. r3, r1, 0x10
+/* 80316FD4 00312C34 88 0D 8D 1D */ lbz r0, lbl_8063DFDD-_SDA_BASE_(r13)
+/* 80316FD8 00312C38 3B A0 00 00 */ li r29, 0
+/* 80316FDC 00312C3C 98 81 00 08 */ stb r4, 8(r1)
+/* 80316FE0 00312C40 98 01 00 09 */ stb r0, 9(r1)
+/* 80316FE4 00312C44 40 82 00 0C */ bne lbl_80316FF0
+/* 80316FE8 00312C48 3B A0 00 0A */ li r29, 0xa
+/* 80316FEC 00312C4C 48 00 00 24 */ b lbl_80317010
+lbl_80316FF0:
+/* 80316FF0 00312C50 38 81 00 08 */ addi r4, r1, 8
+/* 80316FF4 00312C54 38 A0 00 01 */ li r5, 1
+/* 80316FF8 00312C58 38 C0 00 00 */ li r6, 0
+/* 80316FFC 00312C5C 38 E0 00 02 */ li r7, 2
+/* 80317000 00312C60 4B FE E6 61 */ bl VFiPFSTR_StrNCmp
+/* 80317004 00312C64 2C 03 00 00 */ cmpwi r3, 0
+/* 80317008 00312C68 40 82 00 08 */ bne lbl_80317010
+/* 8031700C 00312C6C 3B A0 00 01 */ li r29, 1
+lbl_80317010:
+/* 80317010 00312C70 28 1D 00 01 */ cmplwi r29, 1
+/* 80317014 00312C74 40 82 00 B4 */ bne lbl_803170C8
+/* 80317018 00312C78 7F 83 E3 78 */ mr r3, r28
+/* 8031701C 00312C7C 38 81 00 0C */ addi r4, r1, 0xc
+/* 80317020 00312C80 38 A0 00 02 */ li r5, 2
+/* 80317024 00312C84 4B FE E1 25 */ bl VFipf_strncmp
+/* 80317028 00312C88 2C 03 00 00 */ cmpwi r3, 0
+/* 8031702C 00312C8C 40 82 00 9C */ bne lbl_803170C8
+/* 80317030 00312C90 A0 81 00 2C */ lhz r4, 0x2c(r1)
+/* 80317034 00312C94 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 80317038 00312C98 38 84 00 02 */ addi r4, r4, 2
+/* 8031703C 00312C9C 38 03 00 02 */ addi r0, r3, 2
+/* 80317040 00312CA0 B0 81 00 2C */ sth r4, 0x2c(r1)
+/* 80317044 00312CA4 90 01 00 10 */ stw r0, 0x10(r1)
+/* 80317048 00312CA8 48 00 00 80 */ b lbl_803170C8
+lbl_8031704C:
+/* 8031704C 00312CAC 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha
+/* 80317050 00312CB0 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l
+/* 80317054 00312CB4 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 80317058 00312CB8 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 8031705C 00312CBC 28 00 00 02 */ cmplwi r0, 2
+/* 80317060 00312CC0 40 82 00 68 */ bne lbl_803170C8
+/* 80317064 00312CC4 2C 1E 00 00 */ cmpwi r30, 0
+/* 80317068 00312CC8 40 82 00 60 */ bne lbl_803170C8
+/* 8031706C 00312CCC 7F A3 EB 78 */ mr r3, r29
+/* 80317070 00312CD0 38 8D 8D 00 */ addi r4, r13, lbl_8063DFC0-_SDA_BASE_
+/* 80317074 00312CD4 38 A0 00 01 */ li r5, 1
+/* 80317078 00312CD8 38 C0 00 00 */ li r6, 0
+/* 8031707C 00312CDC 38 E0 00 01 */ li r7, 1
+/* 80317080 00312CE0 4B FE E5 E1 */ bl VFiPFSTR_StrNCmp
+/* 80317084 00312CE4 2C 03 00 00 */ cmpwi r3, 0
+/* 80317088 00312CE8 41 82 00 40 */ beq lbl_803170C8
+/* 8031708C 00312CEC 7F A3 EB 78 */ mr r3, r29
+/* 80317090 00312CF0 38 8D 8D 04 */ addi r4, r13, lbl_8063DFC4-_SDA_BASE_
+/* 80317094 00312CF4 38 A0 00 01 */ li r5, 1
+/* 80317098 00312CF8 38 C0 00 00 */ li r6, 0
+/* 8031709C 00312CFC 38 E0 00 02 */ li r7, 2
+/* 803170A0 00312D00 4B FE E5 C1 */ bl VFiPFSTR_StrNCmp
+/* 803170A4 00312D04 2C 03 00 00 */ cmpwi r3, 0
+/* 803170A8 00312D08 41 82 00 20 */ beq lbl_803170C8
+/* 803170AC 00312D0C 7F A3 EB 78 */ mr r3, r29
+/* 803170B0 00312D10 38 80 00 01 */ li r4, 1
+/* 803170B4 00312D14 38 A0 00 00 */ li r5, 0
+/* 803170B8 00312D18 48 00 13 7D */ bl VFiPFPATH_CheckExtShortName
+/* 803170BC 00312D1C 2C 03 00 00 */ cmpwi r3, 0
+/* 803170C0 00312D20 40 82 00 08 */ bne lbl_803170C8
+/* 803170C4 00312D24 3B E0 00 00 */ li r31, 0
+lbl_803170C8:
+/* 803170C8 00312D28 28 1F 00 01 */ cmplwi r31, 1
+/* 803170CC 00312D2C 40 82 01 58 */ bne lbl_80317224
+/* 803170D0 00312D30 80 01 00 28 */ lwz r0, 0x28(r1)
+/* 803170D4 00312D34 2C 00 00 00 */ cmpwi r0, 0
+/* 803170D8 00312D38 41 82 00 84 */ beq lbl_8031715C
+/* 803170DC 00312D3C A0 A1 00 2C */ lhz r5, 0x2c(r1)
+/* 803170E0 00312D40 28 05 02 0A */ cmplwi r5, 0x20a
+/* 803170E4 00312D44 40 81 00 0C */ ble lbl_803170F0
+/* 803170E8 00312D48 3B E0 00 00 */ li r31, 0
+/* 803170EC 00312D4C 48 00 01 0C */ b lbl_803171F8
+lbl_803170F0:
+/* 803170F0 00312D50 80 81 00 20 */ lwz r4, 0x20(r1)
+/* 803170F4 00312D54 38 65 00 02 */ addi r3, r5, 2
+/* 803170F8 00312D58 38 00 00 00 */ li r0, 0
+/* 803170FC 00312D5C 7C 84 2A 2E */ lhzx r4, r4, r5
+/* 80317100 00312D60 28 04 00 61 */ cmplwi r4, 0x61
+/* 80317104 00312D64 B0 61 00 2C */ sth r3, 0x2c(r1)
+/* 80317108 00312D68 41 80 00 10 */ blt lbl_80317118
+/* 8031710C 00312D6C 28 04 00 7A */ cmplwi r4, 0x7a
+/* 80317110 00312D70 41 81 00 08 */ bgt lbl_80317118
+/* 80317114 00312D74 38 00 00 01 */ li r0, 1
+lbl_80317118:
+/* 80317118 00312D78 2C 00 00 00 */ cmpwi r0, 0
+/* 8031711C 00312D7C 41 82 00 08 */ beq lbl_80317124
+/* 80317120 00312D80 38 84 FF E0 */ addi r4, r4, -32
+lbl_80317124:
+/* 80317124 00312D84 54 9F 04 3E */ clrlwi r31, r4, 0x10
+/* 80317128 00312D88 28 1F FF 41 */ cmplwi r31, 0xff41
+/* 8031712C 00312D8C 41 80 00 1C */ blt lbl_80317148
+/* 80317130 00312D90 28 1F FF 5A */ cmplwi r31, 0xff5a
+/* 80317134 00312D94 41 81 00 14 */ bgt lbl_80317148
+/* 80317138 00312D98 38 1F FF E0 */ addi r0, r31, -32
+/* 8031713C 00312D9C 38 60 00 01 */ li r3, 1
+/* 80317140 00312DA0 54 1D 04 3E */ clrlwi r29, r0, 0x10
+/* 80317144 00312DA4 48 00 00 08 */ b lbl_8031714C
+lbl_80317148:
+/* 80317148 00312DA8 38 60 00 00 */ li r3, 0
+lbl_8031714C:
+/* 8031714C 00312DAC 28 03 00 01 */ cmplwi r3, 1
+/* 80317150 00312DB0 40 82 00 A8 */ bne lbl_803171F8
+/* 80317154 00312DB4 7F BF EB 78 */ mr r31, r29
+/* 80317158 00312DB8 48 00 00 A0 */ b lbl_803171F8
+lbl_8031715C:
+/* 8031715C 00312DBC A0 C1 00 2C */ lhz r6, 0x2c(r1)
+/* 80317160 00312DC0 28 06 00 0C */ cmplwi r6, 0xc
+/* 80317164 00312DC4 41 80 00 0C */ blt lbl_80317170
+/* 80317168 00312DC8 3B E0 00 00 */ li r31, 0
+/* 8031716C 00312DCC 48 00 00 8C */ b lbl_803171F8
+lbl_80317170:
+/* 80317170 00312DD0 38 06 00 01 */ addi r0, r6, 1
+/* 80317174 00312DD4 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha
+/* 80317178 00312DD8 B0 01 00 2C */ sth r0, 0x2c(r1)
+/* 8031717C 00312DDC 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l
+/* 80317180 00312DE0 80 A1 00 20 */ lwz r5, 0x20(r1)
+/* 80317184 00312DE4 38 80 00 01 */ li r4, 1
+/* 80317188 00312DE8 81 83 00 30 */ lwz r12, 0x30(r3)
+/* 8031718C 00312DEC 7F A5 30 AE */ lbzx r29, r5, r6
+/* 80317190 00312DF0 7F BD 07 74 */ extsb r29, r29
+/* 80317194 00312DF4 7F A3 EB 78 */ mr r3, r29
+/* 80317198 00312DF8 7D 89 03 A6 */ mtctr r12
+/* 8031719C 00312DFC 4E 80 04 21 */ bctrl
+/* 803171A0 00312E00 2C 03 00 00 */ cmpwi r3, 0
+/* 803171A4 00312E04 41 82 00 24 */ beq lbl_803171C8
+/* 803171A8 00312E08 A0 81 00 2C */ lhz r4, 0x2c(r1)
+/* 803171AC 00312E0C 57 A0 44 2E */ rlwinm r0, r29, 8, 0x10, 0x17
+/* 803171B0 00312E10 80 A1 00 20 */ lwz r5, 0x20(r1)
+/* 803171B4 00312E14 38 64 00 01 */ addi r3, r4, 1
+/* 803171B8 00312E18 B0 61 00 2C */ sth r3, 0x2c(r1)
+/* 803171BC 00312E1C 7C 65 20 AE */ lbzx r3, r5, r4
+/* 803171C0 00312E20 7C 00 1A 14 */ add r0, r0, r3
+/* 803171C4 00312E24 54 1D 04 3E */ clrlwi r29, r0, 0x10
+lbl_803171C8:
+/* 803171C8 00312E28 57 A0 04 3E */ clrlwi r0, r29, 0x10
+/* 803171CC 00312E2C 38 60 00 00 */ li r3, 0
+/* 803171D0 00312E30 28 00 00 61 */ cmplwi r0, 0x61
+/* 803171D4 00312E34 41 80 00 10 */ blt lbl_803171E4
+/* 803171D8 00312E38 28 00 00 7A */ cmplwi r0, 0x7a
+/* 803171DC 00312E3C 41 81 00 08 */ bgt lbl_803171E4
+/* 803171E0 00312E40 38 60 00 01 */ li r3, 1
+lbl_803171E4:
+/* 803171E4 00312E44 2C 03 00 00 */ cmpwi r3, 0
+/* 803171E8 00312E48 57 A3 04 3E */ clrlwi r3, r29, 0x10
+/* 803171EC 00312E4C 41 82 00 08 */ beq lbl_803171F4
+/* 803171F0 00312E50 38 63 FF E0 */ addi r3, r3, -32
+lbl_803171F4:
+/* 803171F4 00312E54 54 7F 04 3E */ clrlwi r31, r3, 0x10
+lbl_803171F8:
+/* 803171F8 00312E58 7F C4 F3 78 */ mr r4, r30
+/* 803171FC 00312E5C 38 61 00 10 */ addi r3, r1, 0x10
+/* 80317200 00312E60 4B FF EC 29 */ bl VFiPFPATH_GetNextCharOfPattern
+/* 80317204 00312E64 7C 60 1B 78 */ mr r0, r3
+/* 80317208 00312E68 7F C7 F3 78 */ mr r7, r30
+/* 8031720C 00312E6C 57 E3 04 3E */ clrlwi r3, r31, 0x10
+/* 80317210 00312E70 38 81 00 20 */ addi r4, r1, 0x20
+/* 80317214 00312E74 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 80317218 00312E78 38 C1 00 10 */ addi r6, r1, 0x10
+/* 8031721C 00312E7C 4B FF EE CD */ bl VFiPFPATH_DoMatchFileNameWithPattern
+/* 80317220 00312E80 7C 7F 1B 78 */ mr r31, r3
+lbl_80317224:
+/* 80317224 00312E84 7F E3 FB 78 */ mr r3, r31
+/* 80317228 00312E88 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 8031722C 00312E8C 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 80317230 00312E90 83 A1 00 34 */ lwz r29, 0x34(r1)
+/* 80317234 00312E94 83 81 00 30 */ lwz r28, 0x30(r1)
+/* 80317238 00312E98 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8031723C 00312E9C 7C 08 03 A6 */ mtlr r0
+/* 80317240 00312EA0 38 21 00 40 */ addi r1, r1, 0x40
+/* 80317244 00312EA4 4E 80 00 20 */ blr
+
+.global VFiPFPATH_putShortName
+VFiPFPATH_putShortName:
+/* 80317248 00312EA8 39 20 00 00 */ li r9, 0
+/* 8031724C 00312EAC 48 00 00 18 */ b lbl_80317264
+lbl_80317250:
+/* 80317250 00312EB0 88 04 00 00 */ lbz r0, 0(r4)
+/* 80317254 00312EB4 39 29 00 01 */ addi r9, r9, 1
+/* 80317258 00312EB8 38 84 00 01 */ addi r4, r4, 1
+/* 8031725C 00312EBC 98 03 00 00 */ stb r0, 0(r3)
+/* 80317260 00312EC0 38 63 00 01 */ addi r3, r3, 1
+lbl_80317264:
+/* 80317264 00312EC4 2C 09 00 08 */ cmpwi r9, 8
+/* 80317268 00312EC8 40 80 00 18 */ bge lbl_80317280
+/* 8031726C 00312ECC 88 04 00 00 */ lbz r0, 0(r4)
+/* 80317270 00312ED0 7C 00 07 75 */ extsb. r0, r0
+/* 80317274 00312ED4 41 82 00 0C */ beq lbl_80317280
+/* 80317278 00312ED8 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 8031727C 00312EDC 40 82 FF D4 */ bne lbl_80317250
+lbl_80317280:
+/* 80317280 00312EE0 2C 09 00 00 */ cmpwi r9, 0
+/* 80317284 00312EE4 40 82 00 34 */ bne lbl_803172B8
+/* 80317288 00312EE8 39 20 00 00 */ li r9, 0
+/* 8031728C 00312EEC 48 00 00 18 */ b lbl_803172A4
+lbl_80317290:
+/* 80317290 00312EF0 88 04 00 00 */ lbz r0, 0(r4)
+/* 80317294 00312EF4 39 29 00 01 */ addi r9, r9, 1
+/* 80317298 00312EF8 38 84 00 01 */ addi r4, r4, 1
+/* 8031729C 00312EFC 98 03 00 00 */ stb r0, 0(r3)
+/* 803172A0 00312F00 38 63 00 01 */ addi r3, r3, 1
+lbl_803172A4:
+/* 803172A4 00312F04 2C 09 00 02 */ cmpwi r9, 2
+/* 803172A8 00312F08 40 80 00 10 */ bge lbl_803172B8
+/* 803172AC 00312F0C 88 04 00 00 */ lbz r0, 0(r4)
+/* 803172B0 00312F10 7C 00 07 75 */ extsb. r0, r0
+/* 803172B4 00312F14 40 82 FF DC */ bne lbl_80317290
+lbl_803172B8:
+/* 803172B8 00312F18 2C 89 00 08 */ cmpwi cr1, r9, 8
+/* 803172BC 00312F1C 40 85 00 0C */ ble cr1, lbl_803172C8
+/* 803172C0 00312F20 38 60 00 0A */ li r3, 0xa
+/* 803172C4 00312F24 4E 80 00 20 */ blr
+lbl_803172C8:
+/* 803172C8 00312F28 54 A8 07 39 */ rlwinm. r8, r5, 0, 0x1c, 0x1c
+/* 803172CC 00312F2C 40 82 00 64 */ bne lbl_80317330
+/* 803172D0 00312F30 20 C9 00 08 */ subfic r6, r9, 8
+/* 803172D4 00312F34 38 E0 00 20 */ li r7, 0x20
+/* 803172D8 00312F38 40 84 00 58 */ bge cr1, lbl_80317330
+/* 803172DC 00312F3C 54 C5 E8 FF */ rlwinm. r5, r6, 0x1d, 3, 0x1f
+/* 803172E0 00312F40 7C C0 33 78 */ mr r0, r6
+/* 803172E4 00312F44 7C A9 03 A6 */ mtctr r5
+/* 803172E8 00312F48 41 82 00 34 */ beq lbl_8031731C
+lbl_803172EC:
+/* 803172EC 00312F4C 98 E3 00 00 */ stb r7, 0(r3)
+/* 803172F0 00312F50 98 E3 00 01 */ stb r7, 1(r3)
+/* 803172F4 00312F54 98 E3 00 02 */ stb r7, 2(r3)
+/* 803172F8 00312F58 98 E3 00 03 */ stb r7, 3(r3)
+/* 803172FC 00312F5C 98 E3 00 04 */ stb r7, 4(r3)
+/* 80317300 00312F60 98 E3 00 05 */ stb r7, 5(r3)
+/* 80317304 00312F64 98 E3 00 06 */ stb r7, 6(r3)
+/* 80317308 00312F68 98 E3 00 07 */ stb r7, 7(r3)
+/* 8031730C 00312F6C 38 63 00 08 */ addi r3, r3, 8
+/* 80317310 00312F70 42 00 FF DC */ bdnz lbl_803172EC
+/* 80317314 00312F74 70 C6 00 07 */ andi. r6, r6, 7
+/* 80317318 00312F78 41 82 00 14 */ beq lbl_8031732C
+lbl_8031731C:
+/* 8031731C 00312F7C 7C C9 03 A6 */ mtctr r6
+lbl_80317320:
+/* 80317320 00312F80 98 E3 00 00 */ stb r7, 0(r3)
+/* 80317324 00312F84 38 63 00 01 */ addi r3, r3, 1
+/* 80317328 00312F88 42 00 FF F8 */ bdnz lbl_80317320
+lbl_8031732C:
+/* 8031732C 00312F8C 7D 29 02 14 */ add r9, r9, r0
+lbl_80317330:
+/* 80317330 00312F90 88 04 00 00 */ lbz r0, 0(r4)
+/* 80317334 00312F94 7C 00 07 75 */ extsb. r0, r0
+/* 80317338 00312F98 41 82 00 34 */ beq lbl_8031736C
+/* 8031733C 00312F9C 2C 08 00 00 */ cmpwi r8, 0
+/* 80317340 00312FA0 40 82 00 20 */ bne lbl_80317360
+/* 80317344 00312FA4 38 84 00 01 */ addi r4, r4, 1
+/* 80317348 00312FA8 48 00 00 18 */ b lbl_80317360
+lbl_8031734C:
+/* 8031734C 00312FAC 88 04 00 00 */ lbz r0, 0(r4)
+/* 80317350 00312FB0 39 29 00 01 */ addi r9, r9, 1
+/* 80317354 00312FB4 38 84 00 01 */ addi r4, r4, 1
+/* 80317358 00312FB8 98 03 00 00 */ stb r0, 0(r3)
+/* 8031735C 00312FBC 38 63 00 01 */ addi r3, r3, 1
+lbl_80317360:
+/* 80317360 00312FC0 88 04 00 00 */ lbz r0, 0(r4)
+/* 80317364 00312FC4 7C 00 07 75 */ extsb. r0, r0
+/* 80317368 00312FC8 40 82 FF E4 */ bne lbl_8031734C
+lbl_8031736C:
+/* 8031736C 00312FCC 2C 09 00 0B */ cmpwi r9, 0xb
+/* 80317370 00312FD0 20 89 00 0B */ subfic r4, r9, 0xb
+/* 80317374 00312FD4 38 A0 00 20 */ li r5, 0x20
+/* 80317378 00312FD8 40 80 00 50 */ bge lbl_803173C8
+/* 8031737C 00312FDC 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f
+/* 80317380 00312FE0 7C 09 03 A6 */ mtctr r0
+/* 80317384 00312FE4 41 82 00 34 */ beq lbl_803173B8
+lbl_80317388:
+/* 80317388 00312FE8 98 A3 00 00 */ stb r5, 0(r3)
+/* 8031738C 00312FEC 98 A3 00 01 */ stb r5, 1(r3)
+/* 80317390 00312FF0 98 A3 00 02 */ stb r5, 2(r3)
+/* 80317394 00312FF4 98 A3 00 03 */ stb r5, 3(r3)
+/* 80317398 00312FF8 98 A3 00 04 */ stb r5, 4(r3)
+/* 8031739C 00312FFC 98 A3 00 05 */ stb r5, 5(r3)
+/* 803173A0 00313000 98 A3 00 06 */ stb r5, 6(r3)
+/* 803173A4 00313004 98 A3 00 07 */ stb r5, 7(r3)
+/* 803173A8 00313008 38 63 00 08 */ addi r3, r3, 8
+/* 803173AC 0031300C 42 00 FF DC */ bdnz lbl_80317388
+/* 803173B0 00313010 70 84 00 07 */ andi. r4, r4, 7
+/* 803173B4 00313014 41 82 00 14 */ beq lbl_803173C8
+lbl_803173B8:
+/* 803173B8 00313018 7C 89 03 A6 */ mtctr r4
+lbl_803173BC:
+/* 803173BC 0031301C 98 A3 00 00 */ stb r5, 0(r3)
+/* 803173C0 00313020 38 63 00 01 */ addi r3, r3, 1
+/* 803173C4 00313024 42 00 FF F8 */ bdnz lbl_803173BC
+lbl_803173C8:
+/* 803173C8 00313028 38 60 00 00 */ li r3, 0
+/* 803173CC 0031302C 4E 80 00 20 */ blr
+
+.global VFiPFPATH_getShortName
+VFiPFPATH_getShortName:
+/* 803173D0 00313030 88 C4 00 00 */ lbz r6, 0(r4)
+/* 803173D4 00313034 38 E0 FF FF */ li r7, -1
+/* 803173D8 00313038 2C 06 00 20 */ cmpwi r6, 0x20
+/* 803173DC 0031303C 98 C3 00 00 */ stb r6, 0(r3)
+/* 803173E0 00313040 41 82 00 08 */ beq lbl_803173E8
+/* 803173E4 00313044 38 E0 00 00 */ li r7, 0
+lbl_803173E8:
+/* 803173E8 00313048 88 C4 00 01 */ lbz r6, 1(r4)
+/* 803173EC 0031304C 2C 06 00 20 */ cmpwi r6, 0x20
+/* 803173F0 00313050 98 C3 00 01 */ stb r6, 1(r3)
+/* 803173F4 00313054 41 82 00 08 */ beq lbl_803173FC
+/* 803173F8 00313058 38 E0 00 01 */ li r7, 1
+lbl_803173FC:
+/* 803173FC 0031305C 88 C4 00 02 */ lbz r6, 2(r4)
+/* 80317400 00313060 2C 06 00 20 */ cmpwi r6, 0x20
+/* 80317404 00313064 98 C3 00 02 */ stb r6, 2(r3)
+/* 80317408 00313068 41 82 00 08 */ beq lbl_80317410
+/* 8031740C 0031306C 38 E0 00 02 */ li r7, 2
+lbl_80317410:
+/* 80317410 00313070 88 C4 00 03 */ lbz r6, 3(r4)
+/* 80317414 00313074 2C 06 00 20 */ cmpwi r6, 0x20
+/* 80317418 00313078 98 C3 00 03 */ stb r6, 3(r3)
+/* 8031741C 0031307C 41 82 00 08 */ beq lbl_80317424
+/* 80317420 00313080 38 E0 00 03 */ li r7, 3
+lbl_80317424:
+/* 80317424 00313084 88 C4 00 04 */ lbz r6, 4(r4)
+/* 80317428 00313088 2C 06 00 20 */ cmpwi r6, 0x20
+/* 8031742C 0031308C 98 C3 00 04 */ stb r6, 4(r3)
+/* 80317430 00313090 41 82 00 08 */ beq lbl_80317438
+/* 80317434 00313094 38 E0 00 04 */ li r7, 4
+lbl_80317438:
+/* 80317438 00313098 88 C4 00 05 */ lbz r6, 5(r4)
+/* 8031743C 0031309C 2C 06 00 20 */ cmpwi r6, 0x20
+/* 80317440 003130A0 98 C3 00 05 */ stb r6, 5(r3)
+/* 80317444 003130A4 41 82 00 08 */ beq lbl_8031744C
+/* 80317448 003130A8 38 E0 00 05 */ li r7, 5
+lbl_8031744C:
+/* 8031744C 003130AC 88 C4 00 06 */ lbz r6, 6(r4)
+/* 80317450 003130B0 2C 06 00 20 */ cmpwi r6, 0x20
+/* 80317454 003130B4 98 C3 00 06 */ stb r6, 6(r3)
+/* 80317458 003130B8 41 82 00 08 */ beq lbl_80317460
+/* 8031745C 003130BC 38 E0 00 06 */ li r7, 6
+lbl_80317460:
+/* 80317460 003130C0 88 C4 00 07 */ lbz r6, 7(r4)
+/* 80317464 003130C4 2C 06 00 20 */ cmpwi r6, 0x20
+/* 80317468 003130C8 98 C3 00 07 */ stb r6, 7(r3)
+/* 8031746C 003130CC 41 82 00 08 */ beq lbl_80317474
+/* 80317470 003130D0 38 E0 00 07 */ li r7, 7
+lbl_80317474:
+/* 80317474 003130D4 34 E7 00 01 */ addic. r7, r7, 1
+/* 80317478 003130D8 7C E3 3A 14 */ add r7, r3, r7
+/* 8031747C 003130DC 40 82 00 0C */ bne lbl_80317488
+/* 80317480 003130E0 38 60 00 0A */ li r3, 0xa
+/* 80317484 003130E4 4E 80 00 20 */ blr
+lbl_80317488:
+/* 80317488 003130E8 88 04 00 08 */ lbz r0, 8(r4)
+/* 8031748C 003130EC 38 C0 00 07 */ li r6, 7
+/* 80317490 003130F0 28 00 00 20 */ cmplwi r0, 0x20
+/* 80317494 003130F4 41 82 00 08 */ beq lbl_8031749C
+/* 80317498 003130F8 38 C0 00 08 */ li r6, 8
+lbl_8031749C:
+/* 8031749C 003130FC 88 04 00 09 */ lbz r0, 9(r4)
+/* 803174A0 00313100 28 00 00 20 */ cmplwi r0, 0x20
+/* 803174A4 00313104 41 82 00 08 */ beq lbl_803174AC
+/* 803174A8 00313108 38 C0 00 09 */ li r6, 9
+lbl_803174AC:
+/* 803174AC 0031310C 88 04 00 0A */ lbz r0, 0xa(r4)
+/* 803174B0 00313110 28 00 00 20 */ cmplwi r0, 0x20
+/* 803174B4 00313114 41 82 00 08 */ beq lbl_803174BC
+/* 803174B8 00313118 38 C0 00 0A */ li r6, 0xa
+lbl_803174BC:
+/* 803174BC 0031311C 2C 06 00 07 */ cmpwi r6, 7
+/* 803174C0 00313120 40 81 01 5C */ ble lbl_8031761C
+/* 803174C4 00313124 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c
+/* 803174C8 00313128 40 82 00 10 */ bne lbl_803174D8
+/* 803174CC 0031312C 38 00 00 2E */ li r0, 0x2e
+/* 803174D0 00313130 98 07 00 00 */ stb r0, 0(r7)
+/* 803174D4 00313134 38 E7 00 01 */ addi r7, r7, 1
+lbl_803174D8:
+/* 803174D8 00313138 2C 86 00 08 */ cmpwi cr1, r6, 8
+/* 803174DC 0031313C 38 60 00 08 */ li r3, 8
+/* 803174E0 00313140 41 84 01 3C */ blt cr1, lbl_8031761C
+/* 803174E4 00313144 38 06 FF F9 */ addi r0, r6, -7
+/* 803174E8 00313148 39 06 FF F8 */ addi r8, r6, -8
+/* 803174EC 0031314C 2C 00 00 08 */ cmpwi r0, 8
+/* 803174F0 00313150 40 81 01 00 */ ble lbl_803175F0
+/* 803174F4 00313154 39 20 00 00 */ li r9, 0
+/* 803174F8 00313158 39 40 00 00 */ li r10, 0
+/* 803174FC 0031315C 39 60 00 00 */ li r11, 0
+/* 80317500 00313160 41 84 00 18 */ blt cr1, lbl_80317518
+/* 80317504 00313164 3C A0 80 00 */ lis r5, 0x7FFFFFFE@ha
+/* 80317508 00313168 38 05 FF FE */ addi r0, r5, 0x7FFFFFFE@l
+/* 8031750C 0031316C 7C 06 00 00 */ cmpw r6, r0
+/* 80317510 00313170 41 81 00 08 */ bgt lbl_80317518
+/* 80317514 00313174 39 60 00 01 */ li r11, 1
+lbl_80317518:
+/* 80317518 00313178 2C 0B 00 00 */ cmpwi r11, 0
+/* 8031751C 0031317C 41 82 00 38 */ beq lbl_80317554
+/* 80317520 00313180 54 CB 00 00 */ rlwinm r11, r6, 0, 0, 0
+/* 80317524 00313184 38 A0 00 01 */ li r5, 1
+/* 80317528 00313188 3C 0B 80 00 */ addis r0, r11, 0x8000
+/* 8031752C 0031318C 28 00 00 00 */ cmplwi r0, 0
+/* 80317530 00313190 40 82 00 18 */ bne lbl_80317548
+/* 80317534 00313194 38 06 FF F8 */ addi r0, r6, -8
+/* 80317538 00313198 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
+/* 8031753C 0031319C 7C 0B 00 00 */ cmpw r11, r0
+/* 80317540 003131A0 41 82 00 08 */ beq lbl_80317548
+/* 80317544 003131A4 38 A0 00 00 */ li r5, 0
+lbl_80317548:
+/* 80317548 003131A8 2C 05 00 00 */ cmpwi r5, 0
+/* 8031754C 003131AC 41 82 00 08 */ beq lbl_80317554
+/* 80317550 003131B0 39 40 00 01 */ li r10, 1
+lbl_80317554:
+/* 80317554 003131B4 2C 0A 00 00 */ cmpwi r10, 0
+/* 80317558 003131B8 41 82 00 30 */ beq lbl_80317588
+/* 8031755C 003131BC 38 06 FF F8 */ addi r0, r6, -8
+/* 80317560 003131C0 38 A0 00 01 */ li r5, 1
+/* 80317564 003131C4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 80317568 003131C8 40 82 00 14 */ bne lbl_8031757C
+/* 8031756C 003131CC 38 06 FF F9 */ addi r0, r6, -7
+/* 80317570 003131D0 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 80317574 003131D4 41 82 00 08 */ beq lbl_8031757C
+/* 80317578 003131D8 38 A0 00 00 */ li r5, 0
+lbl_8031757C:
+/* 8031757C 003131DC 2C 05 00 00 */ cmpwi r5, 0
+/* 80317580 003131E0 41 82 00 08 */ beq lbl_80317588
+/* 80317584 003131E4 39 20 00 01 */ li r9, 1
+lbl_80317588:
+/* 80317588 003131E8 2C 09 00 00 */ cmpwi r9, 0
+/* 8031758C 003131EC 41 82 00 64 */ beq lbl_803175F0
+/* 80317590 003131F0 55 00 E8 FE */ srwi r0, r8, 3
+/* 80317594 003131F4 7C 09 03 A6 */ mtctr r0
+/* 80317598 003131F8 2C 08 00 08 */ cmpwi r8, 8
+/* 8031759C 003131FC 41 80 00 54 */ blt lbl_803175F0
+lbl_803175A0:
+/* 803175A0 00313200 7C A4 18 AE */ lbzx r5, r4, r3
+/* 803175A4 00313204 7D 04 1A 14 */ add r8, r4, r3
+/* 803175A8 00313208 88 08 00 01 */ lbz r0, 1(r8)
+/* 803175AC 0031320C 38 63 00 08 */ addi r3, r3, 8
+/* 803175B0 00313210 98 A7 00 00 */ stb r5, 0(r7)
+/* 803175B4 00313214 88 A8 00 02 */ lbz r5, 2(r8)
+/* 803175B8 00313218 98 07 00 01 */ stb r0, 1(r7)
+/* 803175BC 0031321C 88 08 00 03 */ lbz r0, 3(r8)
+/* 803175C0 00313220 98 A7 00 02 */ stb r5, 2(r7)
+/* 803175C4 00313224 88 A8 00 04 */ lbz r5, 4(r8)
+/* 803175C8 00313228 98 07 00 03 */ stb r0, 3(r7)
+/* 803175CC 0031322C 88 08 00 05 */ lbz r0, 5(r8)
+/* 803175D0 00313230 98 A7 00 04 */ stb r5, 4(r7)
+/* 803175D4 00313234 88 A8 00 06 */ lbz r5, 6(r8)
+/* 803175D8 00313238 98 07 00 05 */ stb r0, 5(r7)
+/* 803175DC 0031323C 88 08 00 07 */ lbz r0, 7(r8)
+/* 803175E0 00313240 98 A7 00 06 */ stb r5, 6(r7)
+/* 803175E4 00313244 98 07 00 07 */ stb r0, 7(r7)
+/* 803175E8 00313248 38 E7 00 08 */ addi r7, r7, 8
+/* 803175EC 0031324C 42 00 FF B4 */ bdnz lbl_803175A0
+lbl_803175F0:
+/* 803175F0 00313250 38 06 00 01 */ addi r0, r6, 1
+/* 803175F4 00313254 7C 84 1A 14 */ add r4, r4, r3
+/* 803175F8 00313258 7C 03 00 50 */ subf r0, r3, r0
+/* 803175FC 0031325C 7C 09 03 A6 */ mtctr r0
+/* 80317600 00313260 7C 03 30 00 */ cmpw r3, r6
+/* 80317604 00313264 41 81 00 18 */ bgt lbl_8031761C
+lbl_80317608:
+/* 80317608 00313268 88 04 00 00 */ lbz r0, 0(r4)
+/* 8031760C 0031326C 38 84 00 01 */ addi r4, r4, 1
+/* 80317610 00313270 98 07 00 00 */ stb r0, 0(r7)
+/* 80317614 00313274 38 E7 00 01 */ addi r7, r7, 1
+/* 80317618 00313278 42 00 FF F0 */ bdnz lbl_80317608
+lbl_8031761C:
+/* 8031761C 0031327C 38 00 00 00 */ li r0, 0
+/* 80317620 00313280 38 60 00 00 */ li r3, 0
+/* 80317624 00313284 98 07 00 00 */ stb r0, 0(r7)
+/* 80317628 00313288 4E 80 00 20 */ blr
+
+.global VFiPFPATH_getLongNameformShortName
+VFiPFPATH_getLongNameformShortName:
+/* 8031762C 0031328C 38 00 00 02 */ li r0, 2
+/* 80317630 00313290 7C 67 1B 78 */ mr r7, r3
+/* 80317634 00313294 7C 86 23 78 */ mr r6, r4
+/* 80317638 00313298 54 A8 07 38 */ rlwinm r8, r5, 0, 0x1c, 0x1c
+/* 8031763C 0031329C 39 40 00 00 */ li r10, 0
+/* 80317640 003132A0 7C 09 03 A6 */ mtctr r0
+lbl_80317644:
+/* 80317644 003132A4 89 27 00 00 */ lbz r9, 0(r7)
+/* 80317648 003132A8 7D 20 07 75 */ extsb. r0, r9
+/* 8031764C 003132AC 41 82 01 04 */ beq lbl_80317750
+/* 80317650 003132B0 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80317654 003132B4 41 82 00 FC */ beq lbl_80317750
+/* 80317658 003132B8 2C 08 00 00 */ cmpwi r8, 0
+/* 8031765C 003132BC 41 82 00 20 */ beq lbl_8031767C
+/* 80317660 003132C0 2C 00 00 41 */ cmpwi r0, 0x41
+/* 80317664 003132C4 41 80 00 18 */ blt lbl_8031767C
+/* 80317668 003132C8 2C 00 00 5A */ cmpwi r0, 0x5a
+/* 8031766C 003132CC 41 81 00 10 */ bgt lbl_8031767C
+/* 80317670 003132D0 38 09 00 20 */ addi r0, r9, 0x20
+/* 80317674 003132D4 98 06 00 00 */ stb r0, 0(r6)
+/* 80317678 003132D8 48 00 00 08 */ b lbl_80317680
+lbl_8031767C:
+/* 8031767C 003132DC 99 26 00 00 */ stb r9, 0(r6)
+lbl_80317680:
+/* 80317680 003132E0 89 27 00 01 */ lbz r9, 1(r7)
+/* 80317684 003132E4 39 4A 00 01 */ addi r10, r10, 1
+/* 80317688 003132E8 7D 20 07 75 */ extsb. r0, r9
+/* 8031768C 003132EC 41 82 00 C4 */ beq lbl_80317750
+/* 80317690 003132F0 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80317694 003132F4 41 82 00 BC */ beq lbl_80317750
+/* 80317698 003132F8 2C 08 00 00 */ cmpwi r8, 0
+/* 8031769C 003132FC 41 82 00 20 */ beq lbl_803176BC
+/* 803176A0 00313300 2C 00 00 41 */ cmpwi r0, 0x41
+/* 803176A4 00313304 41 80 00 18 */ blt lbl_803176BC
+/* 803176A8 00313308 2C 00 00 5A */ cmpwi r0, 0x5a
+/* 803176AC 0031330C 41 81 00 10 */ bgt lbl_803176BC
+/* 803176B0 00313310 38 09 00 20 */ addi r0, r9, 0x20
+/* 803176B4 00313314 98 06 00 01 */ stb r0, 1(r6)
+/* 803176B8 00313318 48 00 00 08 */ b lbl_803176C0
+lbl_803176BC:
+/* 803176BC 0031331C 99 26 00 01 */ stb r9, 1(r6)
+lbl_803176C0:
+/* 803176C0 00313320 89 27 00 02 */ lbz r9, 2(r7)
+/* 803176C4 00313324 39 4A 00 01 */ addi r10, r10, 1
+/* 803176C8 00313328 7D 20 07 75 */ extsb. r0, r9
+/* 803176CC 0031332C 41 82 00 84 */ beq lbl_80317750
+/* 803176D0 00313330 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 803176D4 00313334 41 82 00 7C */ beq lbl_80317750
+/* 803176D8 00313338 2C 08 00 00 */ cmpwi r8, 0
+/* 803176DC 0031333C 41 82 00 20 */ beq lbl_803176FC
+/* 803176E0 00313340 2C 00 00 41 */ cmpwi r0, 0x41
+/* 803176E4 00313344 41 80 00 18 */ blt lbl_803176FC
+/* 803176E8 00313348 2C 00 00 5A */ cmpwi r0, 0x5a
+/* 803176EC 0031334C 41 81 00 10 */ bgt lbl_803176FC
+/* 803176F0 00313350 38 09 00 20 */ addi r0, r9, 0x20
+/* 803176F4 00313354 98 06 00 02 */ stb r0, 2(r6)
+/* 803176F8 00313358 48 00 00 08 */ b lbl_80317700
+lbl_803176FC:
+/* 803176FC 0031335C 99 26 00 02 */ stb r9, 2(r6)
+lbl_80317700:
+/* 80317700 00313360 89 27 00 03 */ lbz r9, 3(r7)
+/* 80317704 00313364 39 4A 00 01 */ addi r10, r10, 1
+/* 80317708 00313368 7D 20 07 75 */ extsb. r0, r9
+/* 8031770C 0031336C 41 82 00 44 */ beq lbl_80317750
+/* 80317710 00313370 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80317714 00313374 41 82 00 3C */ beq lbl_80317750
+/* 80317718 00313378 2C 08 00 00 */ cmpwi r8, 0
+/* 8031771C 0031337C 41 82 00 20 */ beq lbl_8031773C
+/* 80317720 00313380 2C 00 00 41 */ cmpwi r0, 0x41
+/* 80317724 00313384 41 80 00 18 */ blt lbl_8031773C
+/* 80317728 00313388 2C 00 00 5A */ cmpwi r0, 0x5a
+/* 8031772C 0031338C 41 81 00 10 */ bgt lbl_8031773C
+/* 80317730 00313390 38 09 00 20 */ addi r0, r9, 0x20
+/* 80317734 00313394 98 06 00 03 */ stb r0, 3(r6)
+/* 80317738 00313398 48 00 00 08 */ b lbl_80317740
+lbl_8031773C:
+/* 8031773C 0031339C 99 26 00 03 */ stb r9, 3(r6)
+lbl_80317740:
+/* 80317740 003133A0 39 4A 00 01 */ addi r10, r10, 1
+/* 80317744 003133A4 38 C6 00 04 */ addi r6, r6, 4
+/* 80317748 003133A8 38 E7 00 04 */ addi r7, r7, 4
+/* 8031774C 003133AC 42 00 FE F8 */ bdnz lbl_80317644
+lbl_80317750:
+/* 80317750 003133B0 7C 03 50 AE */ lbzx r0, r3, r10
+/* 80317754 003133B4 7C 00 07 74 */ extsb r0, r0
+/* 80317758 003133B8 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 8031775C 003133BC 40 82 00 10 */ bne lbl_8031776C
+/* 80317760 003133C0 38 00 00 2E */ li r0, 0x2e
+/* 80317764 003133C4 7C 04 51 AE */ stbx r0, r4, r10
+/* 80317768 003133C8 39 4A 00 01 */ addi r10, r10, 1
+lbl_8031776C:
+/* 8031776C 003133CC 38 EA 00 03 */ addi r7, r10, 3
+/* 80317770 003133D0 54 A6 06 F6 */ rlwinm r6, r5, 0, 0x1b, 0x1b
+/* 80317774 003133D4 7C 0A 38 50 */ subf r0, r10, r7
+/* 80317778 003133D8 7C A3 52 14 */ add r5, r3, r10
+/* 8031777C 003133DC 7C 64 52 14 */ add r3, r4, r10
+/* 80317780 003133E0 7C 09 03 A6 */ mtctr r0
+/* 80317784 003133E4 7C 0A 38 00 */ cmpw r10, r7
+/* 80317788 003133E8 40 80 00 48 */ bge lbl_803177D0
+lbl_8031778C:
+/* 8031778C 003133EC 88 E5 00 00 */ lbz r7, 0(r5)
+/* 80317790 003133F0 7C E0 07 75 */ extsb. r0, r7
+/* 80317794 003133F4 41 82 00 3C */ beq lbl_803177D0
+/* 80317798 003133F8 2C 06 00 00 */ cmpwi r6, 0
+/* 8031779C 003133FC 41 82 00 20 */ beq lbl_803177BC
+/* 803177A0 00313400 2C 00 00 41 */ cmpwi r0, 0x41
+/* 803177A4 00313404 41 80 00 18 */ blt lbl_803177BC
+/* 803177A8 00313408 2C 00 00 5A */ cmpwi r0, 0x5a
+/* 803177AC 0031340C 41 81 00 10 */ bgt lbl_803177BC
+/* 803177B0 00313410 38 07 00 20 */ addi r0, r7, 0x20
+/* 803177B4 00313414 98 03 00 00 */ stb r0, 0(r3)
+/* 803177B8 00313418 48 00 00 08 */ b lbl_803177C0
+lbl_803177BC:
+/* 803177BC 0031341C 98 E3 00 00 */ stb r7, 0(r3)
+lbl_803177C0:
+/* 803177C0 00313420 39 4A 00 01 */ addi r10, r10, 1
+/* 803177C4 00313424 38 63 00 01 */ addi r3, r3, 1
+/* 803177C8 00313428 38 A5 00 01 */ addi r5, r5, 1
+/* 803177CC 0031342C 42 00 FF C0 */ bdnz lbl_8031778C
+lbl_803177D0:
+/* 803177D0 00313430 38 00 00 00 */ li r0, 0
+/* 803177D4 00313434 7C 04 51 AE */ stbx r0, r4, r10
+/* 803177D8 00313438 4E 80 00 20 */ blr
+
+.global VFiPFPATH_GetLengthFromShortname
+VFiPFPATH_GetLengthFromShortname:
+/* 803177DC 0031343C 38 C0 00 00 */ li r6, 0
+/* 803177E0 00313440 38 E0 00 00 */ li r7, 0
+/* 803177E4 00313444 48 00 00 48 */ b lbl_8031782C
+lbl_803177E8:
+/* 803177E8 00313448 2C 06 00 08 */ cmpwi r6, 8
+/* 803177EC 0031344C 40 82 00 2C */ bne lbl_80317818
+/* 803177F0 00313450 7C A0 07 74 */ extsb r0, r5
+/* 803177F4 00313454 2C 00 00 20 */ cmpwi r0, 0x20
+/* 803177F8 00313458 40 82 00 1C */ bne lbl_80317814
+/* 803177FC 0031345C 88 04 00 01 */ lbz r0, 1(r4)
+/* 80317800 00313460 2C 00 00 20 */ cmpwi r0, 0x20
+/* 80317804 00313464 40 82 00 10 */ bne lbl_80317814
+/* 80317808 00313468 88 04 00 02 */ lbz r0, 2(r4)
+/* 8031780C 0031346C 2C 00 00 20 */ cmpwi r0, 0x20
+/* 80317810 00313470 41 82 00 08 */ beq lbl_80317818
+lbl_80317814:
+/* 80317814 00313474 38 E7 00 01 */ addi r7, r7, 1
+lbl_80317818:
+/* 80317818 00313478 7C A0 07 74 */ extsb r0, r5
+/* 8031781C 0031347C 2C 00 00 20 */ cmpwi r0, 0x20
+/* 80317820 00313480 41 82 00 08 */ beq lbl_80317828
+/* 80317824 00313484 38 E7 00 01 */ addi r7, r7, 1
+lbl_80317828:
+/* 80317828 00313488 38 C6 00 01 */ addi r6, r6, 1
+lbl_8031782C:
+/* 8031782C 0031348C 7C A3 30 AE */ lbzx r5, r3, r6
+/* 80317830 00313490 7C 83 32 14 */ add r4, r3, r6
+/* 80317834 00313494 7C A0 07 75 */ extsb. r0, r5
+/* 80317838 00313498 40 82 FF B0 */ bne lbl_803177E8
+/* 8031783C 0031349C 7C E3 3B 78 */ mr r3, r7
+/* 80317840 003134A0 4E 80 00 20 */ blr
+
+.global VFiPFPATH_GetLengthFromUnicode
+VFiPFPATH_GetLengthFromUnicode:
+/* 80317844 003134A4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80317848 003134A8 7C 08 02 A6 */ mflr r0
+/* 8031784C 003134AC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80317850 003134B0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80317854 003134B4 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
+/* 80317858 003134B8 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
+/* 8031785C 003134BC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80317860 003134C0 3B C0 00 00 */ li r30, 0
+/* 80317864 003134C4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80317868 003134C8 3B A0 00 00 */ li r29, 0
+/* 8031786C 003134CC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80317870 003134D0 7C 7C 1B 78 */ mr r28, r3
+/* 80317874 003134D4 48 00 00 38 */ b lbl_803178AC
+lbl_80317878:
+/* 80317878 003134D8 81 9F 00 28 */ lwz r12, 0x28(r31)
+/* 8031787C 003134DC 7C 7C 1A 14 */ add r3, r28, r3
+/* 80317880 003134E0 38 81 00 08 */ addi r4, r1, 8
+/* 80317884 003134E4 7D 89 03 A6 */ mtctr r12
+/* 80317888 003134E8 4E 80 04 21 */ bctrl
+/* 8031788C 003134EC 38 81 00 0E */ addi r4, r1, 0xe
+/* 80317890 003134F0 38 A1 00 0C */ addi r5, r1, 0xc
+/* 80317894 003134F4 4B FE D9 0D */ bl VFiPFCODE_Divide_Width
+/* 80317898 003134F8 A8 01 00 0C */ lha r0, 0xc(r1)
+/* 8031789C 003134FC A8 61 00 0E */ lha r3, 0xe(r1)
+/* 803178A0 00313500 7C 00 0E 70 */ srawi r0, r0, 1
+/* 803178A4 00313504 7F BD 1A 14 */ add r29, r29, r3
+/* 803178A8 00313508 7F DE 02 14 */ add r30, r30, r0
+lbl_803178AC:
+/* 803178AC 0031350C 57 C3 08 3C */ slwi r3, r30, 1
+/* 803178B0 00313510 7C 1C 1A 2E */ lhzx r0, r28, r3
+/* 803178B4 00313514 2C 00 00 00 */ cmpwi r0, 0
+/* 803178B8 00313518 40 82 FF C0 */ bne lbl_80317878
+/* 803178BC 0031351C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803178C0 00313520 7F A3 EB 78 */ mr r3, r29
+/* 803178C4 00313524 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803178C8 00313528 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803178CC 0031352C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 803178D0 00313530 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803178D4 00313534 7C 08 03 A6 */ mtlr r0
+/* 803178D8 00313538 38 21 00 20 */ addi r1, r1, 0x20
+/* 803178DC 0031353C 4E 80 00 20 */ blr
+
+.global VFiPFPATH_transformFromUnicodeToNormal
+VFiPFPATH_transformFromUnicodeToNormal:
+/* 803178E0 00313540 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803178E4 00313544 7C 08 02 A6 */ mflr r0
+/* 803178E8 00313548 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803178EC 0031354C 39 61 00 30 */ addi r11, r1, 0x30
+/* 803178F0 00313550 4B EA F8 35 */ bl _savegpr_26
+/* 803178F4 00313554 3C A0 80 58 */ lis r5, lbl_8057F5C8@ha
+/* 803178F8 00313558 7C 7F 1B 78 */ mr r31, r3
+/* 803178FC 0031355C 3B 85 F5 C8 */ addi r28, r5, lbl_8057F5C8@l
+/* 80317900 00313560 7C 9A 23 78 */ mr r26, r4
+/* 80317904 00313564 80 1C 00 3C */ lwz r0, 0x3c(r28)
+/* 80317908 00313568 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 8031790C 0031356C 28 00 00 02 */ cmplwi r0, 2
+/* 80317910 00313570 40 82 00 8C */ bne lbl_8031799C
+/* 80317914 00313574 38 00 00 00 */ li r0, 0
+/* 80317918 00313578 3B 80 00 2E */ li r28, 0x2e
+/* 8031791C 0031357C 3B A0 00 20 */ li r29, 0x20
+/* 80317920 00313580 B3 81 00 10 */ sth r28, 0x10(r1)
+/* 80317924 00313584 7F 5B D3 78 */ mr r27, r26
+/* 80317928 00313588 3B C0 00 5F */ li r30, 0x5f
+/* 8031792C 0031358C B0 01 00 12 */ sth r0, 0x12(r1)
+/* 80317930 00313590 B3 A1 00 0C */ sth r29, 0xc(r1)
+/* 80317934 00313594 B0 01 00 0E */ sth r0, 0xe(r1)
+/* 80317938 00313598 48 00 00 54 */ b lbl_8031798C
+lbl_8031793C:
+/* 8031793C 0031359C 7F 43 D3 78 */ mr r3, r26
+/* 80317940 003135A0 38 81 00 10 */ addi r4, r1, 0x10
+/* 80317944 003135A4 38 A0 00 01 */ li r5, 1
+/* 80317948 003135A8 4B FE DF 61 */ bl VFipf_w_strncmp
+/* 8031794C 003135AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80317950 003135B0 40 82 00 0C */ bne lbl_8031795C
+/* 80317954 003135B4 9B 9F 00 00 */ stb r28, 0(r31)
+/* 80317958 003135B8 48 00 00 28 */ b lbl_80317980
+lbl_8031795C:
+/* 8031795C 003135BC 7F 43 D3 78 */ mr r3, r26
+/* 80317960 003135C0 38 81 00 0C */ addi r4, r1, 0xc
+/* 80317964 003135C4 38 A0 00 01 */ li r5, 1
+/* 80317968 003135C8 4B FE DF 41 */ bl VFipf_w_strncmp
+/* 8031796C 003135CC 2C 03 00 00 */ cmpwi r3, 0
+/* 80317970 003135D0 40 82 00 0C */ bne lbl_8031797C
+/* 80317974 003135D4 9B BF 00 00 */ stb r29, 0(r31)
+/* 80317978 003135D8 48 00 00 08 */ b lbl_80317980
+lbl_8031797C:
+/* 8031797C 003135DC 9B DF 00 00 */ stb r30, 0(r31)
+lbl_80317980:
+/* 80317980 003135E0 3B FF 00 01 */ addi r31, r31, 1
+/* 80317984 003135E4 3B 5A 00 02 */ addi r26, r26, 2
+/* 80317988 003135E8 3B 7B 00 02 */ addi r27, r27, 2
+lbl_8031798C:
+/* 8031798C 003135EC A0 1B 00 00 */ lhz r0, 0(r27)
+/* 80317990 003135F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80317994 003135F4 40 82 FF A8 */ bne lbl_8031793C
+/* 80317998 003135F8 48 00 00 50 */ b lbl_803179E8
+lbl_8031799C:
+/* 8031799C 003135FC 3B 60 00 00 */ li r27, 0
+/* 803179A0 00313600 48 00 00 38 */ b lbl_803179D8
+lbl_803179A4:
+/* 803179A4 00313604 81 9C 00 28 */ lwz r12, 0x28(r28)
+/* 803179A8 00313608 7F E4 FB 78 */ mr r4, r31
+/* 803179AC 0031360C 7C 7A 1A 14 */ add r3, r26, r3
+/* 803179B0 00313610 7D 89 03 A6 */ mtctr r12
+/* 803179B4 00313614 4E 80 04 21 */ bctrl
+/* 803179B8 00313618 38 81 00 0A */ addi r4, r1, 0xa
+/* 803179BC 0031361C 38 A1 00 08 */ addi r5, r1, 8
+/* 803179C0 00313620 4B FE D7 E1 */ bl VFiPFCODE_Divide_Width
+/* 803179C4 00313624 A8 01 00 08 */ lha r0, 8(r1)
+/* 803179C8 00313628 A8 61 00 0A */ lha r3, 0xa(r1)
+/* 803179CC 0031362C 7C 00 0E 70 */ srawi r0, r0, 1
+/* 803179D0 00313630 7F FF 1A 14 */ add r31, r31, r3
+/* 803179D4 00313634 7F 7B 02 14 */ add r27, r27, r0
+lbl_803179D8:
+/* 803179D8 00313638 57 63 08 3C */ slwi r3, r27, 1
+/* 803179DC 0031363C 7C 1A 1A 2E */ lhzx r0, r26, r3
+/* 803179E0 00313640 2C 00 00 00 */ cmpwi r0, 0
+/* 803179E4 00313644 40 82 FF C0 */ bne lbl_803179A4
+lbl_803179E8:
+/* 803179E8 00313648 38 00 00 00 */ li r0, 0
+/* 803179EC 0031364C 39 61 00 30 */ addi r11, r1, 0x30
+/* 803179F0 00313650 98 1F 00 00 */ stb r0, 0(r31)
+/* 803179F4 00313654 38 60 00 00 */ li r3, 0
+/* 803179F8 00313658 4B EA F7 79 */ bl _restgpr_26
+/* 803179FC 0031365C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80317A00 00313660 7C 08 03 A6 */ mtlr r0
+/* 80317A04 00313664 38 21 00 30 */ addi r1, r1, 0x30
+/* 80317A08 00313668 4E 80 00 20 */ blr
+
+.global VFiPFPATH_transformInUnicode
+VFiPFPATH_transformInUnicode:
+/* 80317A0C 0031366C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80317A10 00313670 7C 08 02 A6 */ mflr r0
+/* 80317A14 00313674 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80317A18 00313678 39 61 00 30 */ addi r11, r1, 0x30
+/* 80317A1C 0031367C 4B EA F7 0D */ bl _savegpr_27
+/* 80317A20 00313680 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
+/* 80317A24 00313684 7C 7B 1B 78 */ mr r27, r3
+/* 80317A28 00313688 7C 9C 23 78 */ mr r28, r4
+/* 80317A2C 0031368C 3B A0 00 00 */ li r29, 0
+/* 80317A30 00313690 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
+/* 80317A34 00313694 3B C0 00 00 */ li r30, 0
+/* 80317A38 00313698 48 00 00 3C */ b lbl_80317A74
+lbl_80317A3C:
+/* 80317A3C 0031369C 81 9F 00 24 */ lwz r12, 0x24(r31)
+/* 80317A40 003136A0 7F 64 DB 78 */ mr r4, r27
+/* 80317A44 003136A4 7C 7C F2 14 */ add r3, r28, r30
+/* 80317A48 003136A8 7D 89 03 A6 */ mtctr r12
+/* 80317A4C 003136AC 4E 80 04 21 */ bctrl
+/* 80317A50 003136B0 38 81 00 0A */ addi r4, r1, 0xa
+/* 80317A54 003136B4 38 A1 00 08 */ addi r5, r1, 8
+/* 80317A58 003136B8 4B FE D7 49 */ bl VFiPFCODE_Divide_Width
+/* 80317A5C 003136BC A8 61 00 08 */ lha r3, 8(r1)
+/* 80317A60 003136C0 3B BD 00 01 */ addi r29, r29, 1
+/* 80317A64 003136C4 A8 01 00 0A */ lha r0, 0xa(r1)
+/* 80317A68 003136C8 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e
+/* 80317A6C 003136CC 7F 7B 1A 14 */ add r27, r27, r3
+/* 80317A70 003136D0 7F DE 02 14 */ add r30, r30, r0
+lbl_80317A74:
+/* 80317A74 003136D4 7C 1C F0 AE */ lbzx r0, r28, r30
+/* 80317A78 003136D8 7C 00 07 75 */ extsb. r0, r0
+/* 80317A7C 003136DC 40 82 FF C0 */ bne lbl_80317A3C
+/* 80317A80 003136E0 38 00 00 00 */ li r0, 0
+/* 80317A84 003136E4 39 61 00 30 */ addi r11, r1, 0x30
+/* 80317A88 003136E8 B0 1B 00 00 */ sth r0, 0(r27)
+/* 80317A8C 003136EC 7F A3 EB 78 */ mr r3, r29
+/* 80317A90 003136F0 4B EA F6 E5 */ bl _restgpr_27
+/* 80317A94 003136F4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80317A98 003136F8 7C 08 03 A6 */ mtlr r0
+/* 80317A9C 003136FC 38 21 00 30 */ addi r1, r1, 0x30
+/* 80317AA0 00313700 4E 80 00 20 */ blr
+
+.global VFiPFPATH_parseShortName
+VFiPFPATH_parseShortName:
+/* 80317AA4 00313704 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 80317AA8 00313708 7C 08 02 A6 */ mflr r0
+/* 80317AAC 0031370C 90 01 00 64 */ stw r0, 0x64(r1)
+/* 80317AB0 00313710 39 61 00 60 */ addi r11, r1, 0x60
+/* 80317AB4 00313714 4B EA F6 41 */ bl __save_gpr
+/* 80317AB8 00313718 90 81 00 08 */ stw r4, 8(r1)
+/* 80317ABC 0031371C 7C 7F 1B 78 */ mr r31, r3
+/* 80317AC0 00313720 7C 83 23 78 */ mr r3, r4
+/* 80317AC4 00313724 3A A0 00 00 */ li r21, 0
+/* 80317AC8 00313728 3A 80 00 00 */ li r20, 0
+/* 80317ACC 0031372C 38 80 00 03 */ li r4, 3
+/* 80317AD0 00313730 4B FE D8 41 */ bl VFiPFSTR_GetStrPos
+/* 80317AD4 00313734 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
+/* 80317AD8 00313738 7C 76 1B 78 */ mr r22, r3
+/* 80317ADC 0031373C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
+/* 80317AE0 00313740 80 04 00 3C */ lwz r0, 0x3c(r4)
+/* 80317AE4 00313744 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80317AE8 00313748 40 82 06 88 */ bne lbl_80318170
+/* 80317AEC 0031374C 48 00 00 0C */ b lbl_80317AF8
+lbl_80317AF0:
+/* 80317AF0 00313750 3A 80 00 01 */ li r20, 1
+/* 80317AF4 00313754 3A D6 00 01 */ addi r22, r22, 1
+lbl_80317AF8:
+/* 80317AF8 00313758 88 16 00 00 */ lbz r0, 0(r22)
+/* 80317AFC 0031375C 7C 00 07 74 */ extsb r0, r0
+/* 80317B00 00313760 2C 00 00 20 */ cmpwi r0, 0x20
+/* 80317B04 00313764 41 82 FF EC */ beq lbl_80317AF0
+/* 80317B08 00313768 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80317B0C 0031376C 41 82 FF E4 */ beq lbl_80317AF0
+/* 80317B10 00313770 3A 00 00 00 */ li r16, 0
+/* 80317B14 00313774 38 80 00 00 */ li r4, 0
+/* 80317B18 00313778 38 A0 00 00 */ li r5, 0
+/* 80317B1C 0031377C 48 00 00 24 */ b lbl_80317B40
+lbl_80317B20:
+/* 80317B20 00313780 7C 60 07 74 */ extsb r0, r3
+/* 80317B24 00313784 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80317B28 00313788 40 82 00 14 */ bne lbl_80317B3C
+/* 80317B2C 0031378C 56 00 04 3F */ clrlwi. r0, r16, 0x10
+/* 80317B30 00313790 41 82 00 08 */ beq lbl_80317B38
+/* 80317B34 00313794 7E 04 83 78 */ mr r4, r16
+lbl_80317B38:
+/* 80317B38 00313798 7C B0 2B 78 */ mr r16, r5
+lbl_80317B3C:
+/* 80317B3C 0031379C 38 A5 00 01 */ addi r5, r5, 1
+lbl_80317B40:
+/* 80317B40 003137A0 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 80317B44 003137A4 7C 76 00 AE */ lbzx r3, r22, r0
+/* 80317B48 003137A8 7C 60 07 75 */ extsb. r0, r3
+/* 80317B4C 003137AC 40 82 FF D4 */ bne lbl_80317B20
+/* 80317B50 003137B0 56 00 04 3F */ clrlwi. r0, r16, 0x10
+/* 80317B54 003137B4 41 82 00 24 */ beq lbl_80317B78
+/* 80317B58 003137B8 7C 60 B2 14 */ add r3, r0, r22
+/* 80317B5C 003137BC 88 03 00 01 */ lbz r0, 1(r3)
+/* 80317B60 003137C0 7C 00 07 75 */ extsb. r0, r0
+/* 80317B64 003137C4 40 82 00 14 */ bne lbl_80317B78
+/* 80317B68 003137C8 54 80 04 3F */ clrlwi. r0, r4, 0x10
+/* 80317B6C 003137CC 41 82 00 08 */ beq lbl_80317B74
+/* 80317B70 003137D0 7C 90 23 78 */ mr r16, r4
+lbl_80317B74:
+/* 80317B74 003137D4 3A 80 00 01 */ li r20, 1
+lbl_80317B78:
+/* 80317B78 003137D8 39 E0 00 00 */ li r15, 0
+/* 80317B7C 003137DC 3A 61 00 10 */ addi r19, r1, 0x10
+/* 80317B80 003137E0 3F 60 80 58 */ lis r27, lbl_8057F5C8@ha
+/* 80317B84 003137E4 3F A0 80 40 */ lis r29, lbl_803FE220@ha
+/* 80317B88 003137E8 B1 E1 00 10 */ sth r15, 0x10(r1)
+/* 80317B8C 003137EC 7E 7A 9B 78 */ mr r26, r19
+/* 80317B90 003137F0 7E 7C 9B 78 */ mr r28, r19
+/* 80317B94 003137F4 3B 7B F5 C8 */ addi r27, r27, lbl_8057F5C8@l
+/* 80317B98 003137F8 B1 E1 00 0E */ sth r15, 0xe(r1)
+/* 80317B9C 003137FC 3B BD E2 20 */ addi r29, r29, lbl_803FE220@l
+/* 80317BA0 00313800 3B 21 00 0E */ addi r25, r1, 0xe
+/* 80317BA4 00313804 3B 00 00 00 */ li r24, 0
+/* 80317BA8 00313808 3A 40 00 01 */ li r18, 1
+/* 80317BAC 0031380C 3A 20 00 01 */ li r17, 1
+/* 80317BB0 00313810 39 C0 00 5F */ li r14, 0x5f
+/* 80317BB4 00313814 48 00 02 84 */ b lbl_80317E38
+lbl_80317BB8:
+/* 80317BB8 00313818 A0 01 00 10 */ lhz r0, 0x10(r1)
+/* 80317BBC 0031381C 28 00 00 08 */ cmplwi r0, 8
+/* 80317BC0 00313820 41 82 00 18 */ beq lbl_80317BD8
+/* 80317BC4 00313824 56 03 04 3F */ clrlwi. r3, r16, 0x10
+/* 80317BC8 00313828 41 82 00 18 */ beq lbl_80317BE0
+/* 80317BCC 0031382C 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 80317BD0 00313830 7C 00 18 40 */ cmplw r0, r3
+/* 80317BD4 00313834 40 82 00 0C */ bne lbl_80317BE0
+lbl_80317BD8:
+/* 80317BD8 00313838 7C 13 C8 40 */ cmplw r19, r25
+/* 80317BDC 0031383C 40 82 02 24 */ bne lbl_80317E00
+lbl_80317BE0:
+/* 80317BE0 00313840 7C 80 07 74 */ extsb r0, r4
+/* 80317BE4 00313844 2C 00 00 20 */ cmpwi r0, 0x20
+/* 80317BE8 00313848 41 82 02 10 */ beq lbl_80317DF8
+/* 80317BEC 0031384C 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80317BF0 00313850 41 82 02 08 */ beq lbl_80317DF8
+/* 80317BF4 00313854 81 9B 00 2C */ lwz r12, 0x2c(r27)
+/* 80317BF8 00313858 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 80317BFC 0031385C 7C 76 02 14 */ add r3, r22, r0
+/* 80317C00 00313860 7D 89 03 A6 */ mtctr r12
+/* 80317C04 00313864 4E 80 04 21 */ bctrl
+/* 80317C08 00313868 2C 03 00 01 */ cmpwi r3, 1
+/* 80317C0C 0031386C 7C 77 1B 78 */ mr r23, r3
+/* 80317C10 00313870 41 82 01 44 */ beq lbl_80317D54
+/* 80317C14 00313874 57 04 04 3E */ clrlwi r4, r24, 0x10
+/* 80317C18 00313878 56 00 04 3E */ clrlwi r0, r16, 0x10
+/* 80317C1C 0031387C 7C 04 00 40 */ cmplw r4, r0
+/* 80317C20 00313880 41 80 00 0C */ blt lbl_80317C2C
+/* 80317C24 00313884 2C 00 00 00 */ cmpwi r0, 0
+/* 80317C28 00313888 40 82 00 1C */ bne lbl_80317C44
+lbl_80317C2C:
+/* 80317C2C 0031388C A0 01 00 10 */ lhz r0, 0x10(r1)
+/* 80317C30 00313890 7C 00 1A 14 */ add r0, r0, r3
+/* 80317C34 00313894 2C 00 00 08 */ cmpwi r0, 8
+/* 80317C38 00313898 40 81 00 0C */ ble lbl_80317C44
+/* 80317C3C 0031389C 3A 80 00 01 */ li r20, 1
+/* 80317C40 003138A0 48 00 01 F4 */ b lbl_80317E34
+lbl_80317C44:
+/* 80317C44 003138A4 56 04 04 3F */ clrlwi. r4, r16, 0x10
+/* 80317C48 003138A8 41 82 00 28 */ beq lbl_80317C70
+/* 80317C4C 003138AC 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 80317C50 003138B0 7C 00 20 40 */ cmplw r0, r4
+/* 80317C54 003138B4 40 81 00 1C */ ble lbl_80317C70
+/* 80317C58 003138B8 A0 A1 00 0E */ lhz r5, 0xe(r1)
+/* 80317C5C 003138BC 7C 05 1A 14 */ add r0, r5, r3
+/* 80317C60 003138C0 2C 00 00 03 */ cmpwi r0, 3
+/* 80317C64 003138C4 40 81 00 0C */ ble lbl_80317C70
+/* 80317C68 003138C8 3A 80 00 01 */ li r20, 1
+/* 80317C6C 003138CC 48 00 01 E8 */ b lbl_80317E54
+lbl_80317C70:
+/* 80317C70 003138D0 7C 13 D0 40 */ cmplw r19, r26
+/* 80317C74 003138D4 40 82 00 D0 */ bne lbl_80317D44
+/* 80317C78 003138D8 7E 51 93 78 */ mr r17, r18
+/* 80317C7C 003138DC 54 72 04 3E */ clrlwi r18, r3, 0x10
+/* 80317C80 003138E0 48 00 00 C4 */ b lbl_80317D44
+lbl_80317C84:
+/* 80317C84 003138E4 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 80317C88 003138E8 81 9B 00 24 */ lwz r12, 0x24(r27)
+/* 80317C8C 003138EC 7C B6 00 AE */ lbzx r5, r22, r0
+/* 80317C90 003138F0 7C 76 02 14 */ add r3, r22, r0
+/* 80317C94 003138F4 88 03 00 01 */ lbz r0, 1(r3)
+/* 80317C98 003138F8 38 81 00 0C */ addi r4, r1, 0xc
+/* 80317C9C 003138FC 54 A5 40 2E */ slwi r5, r5, 8
+/* 80317CA0 00313900 7C 05 02 14 */ add r0, r5, r0
+/* 80317CA4 00313904 54 1E 04 3E */ clrlwi r30, r0, 0x10
+/* 80317CA8 00313908 7D 89 03 A6 */ mtctr r12
+/* 80317CAC 0031390C 4E 80 04 21 */ bctrl
+/* 80317CB0 00313910 A0 61 00 0C */ lhz r3, 0xc(r1)
+/* 80317CB4 00313914 28 03 FF 41 */ cmplwi r3, 0xff41
+/* 80317CB8 00313918 41 80 00 1C */ blt lbl_80317CD4
+/* 80317CBC 0031391C 28 03 FF 5A */ cmplwi r3, 0xff5a
+/* 80317CC0 00313920 41 81 00 14 */ bgt lbl_80317CD4
+/* 80317CC4 00313924 38 03 FF E0 */ addi r0, r3, -32
+/* 80317CC8 00313928 38 60 00 01 */ li r3, 1
+/* 80317CCC 0031392C B0 01 00 0C */ sth r0, 0xc(r1)
+/* 80317CD0 00313930 48 00 00 08 */ b lbl_80317CD8
+lbl_80317CD4:
+/* 80317CD4 00313934 38 60 00 00 */ li r3, 0
+lbl_80317CD8:
+/* 80317CD8 00313938 28 03 00 01 */ cmplwi r3, 1
+/* 80317CDC 0031393C 40 82 00 20 */ bne lbl_80317CFC
+/* 80317CE0 00313940 81 9B 00 28 */ lwz r12, 0x28(r27)
+/* 80317CE4 00313944 38 61 00 0C */ addi r3, r1, 0xc
+/* 80317CE8 00313948 7C 64 1B 78 */ mr r4, r3
+/* 80317CEC 0031394C 7D 89 03 A6 */ mtctr r12
+/* 80317CF0 00313950 4E 80 04 21 */ bctrl
+/* 80317CF4 00313954 38 60 00 01 */ li r3, 1
+/* 80317CF8 00313958 48 00 00 08 */ b lbl_80317D00
+lbl_80317CFC:
+/* 80317CFC 0031395C 38 60 00 00 */ li r3, 0
+lbl_80317D00:
+/* 80317D00 00313960 2C 03 00 00 */ cmpwi r3, 0
+/* 80317D04 00313964 41 82 00 0C */ beq lbl_80317D10
+/* 80317D08 00313968 A3 C1 00 0C */ lhz r30, 0xc(r1)
+/* 80317D0C 0031396C 3A A0 00 01 */ li r21, 1
+lbl_80317D10:
+/* 80317D10 00313970 55 E0 04 3E */ clrlwi r0, r15, 0x10
+/* 80317D14 00313974 38 6F 00 02 */ addi r3, r15, 2
+/* 80317D18 00313978 7C 9F 02 14 */ add r4, r31, r0
+/* 80317D1C 0031397C 3A F7 FF FE */ addi r23, r23, -2
+/* 80317D20 00313980 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f
+/* 80317D24 00313984 54 6F 04 3E */ clrlwi r15, r3, 0x10
+/* 80317D28 00313988 98 04 00 00 */ stb r0, 0(r4)
+/* 80317D2C 0031398C 38 18 00 02 */ addi r0, r24, 2
+/* 80317D30 00313990 54 18 04 3E */ clrlwi r24, r0, 0x10
+/* 80317D34 00313994 9B C4 00 01 */ stb r30, 1(r4)
+/* 80317D38 00313998 A0 73 00 00 */ lhz r3, 0(r19)
+/* 80317D3C 0031399C 38 03 00 02 */ addi r0, r3, 2
+/* 80317D40 003139A0 B0 13 00 00 */ sth r0, 0(r19)
+lbl_80317D44:
+/* 80317D44 003139A4 2C 17 00 00 */ cmpwi r23, 0
+/* 80317D48 003139A8 40 82 FF 3C */ bne lbl_80317C84
+/* 80317D4C 003139AC 3B 18 FF FF */ addi r24, r24, -1
+/* 80317D50 003139B0 48 00 00 E4 */ b lbl_80317E34
+lbl_80317D54:
+/* 80317D54 003139B4 7C 13 E0 40 */ cmplw r19, r28
+/* 80317D58 003139B8 40 82 00 0C */ bne lbl_80317D64
+/* 80317D5C 003139BC 7E 51 93 78 */ mr r17, r18
+/* 80317D60 003139C0 3A 40 00 01 */ li r18, 1
+lbl_80317D64:
+/* 80317D64 003139C4 80 1B 00 14 */ lwz r0, 0x14(r27)
+/* 80317D68 003139C8 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
+/* 80317D6C 003139CC 40 82 00 28 */ bne lbl_80317D94
+/* 80317D70 003139D0 7C 16 F0 AE */ lbzx r0, r22, r30
+/* 80317D74 003139D4 28 00 00 80 */ cmplwi r0, 0x80
+/* 80317D78 003139D8 40 80 00 1C */ bge lbl_80317D94
+/* 80317D7C 003139DC 28 00 00 20 */ cmplwi r0, 0x20
+/* 80317D80 003139E0 41 80 00 58 */ blt lbl_80317DD8
+/* 80317D84 003139E4 7C 7D 02 14 */ add r3, r29, r0
+/* 80317D88 003139E8 88 03 FF E0 */ lbz r0, -0x20(r3)
+/* 80317D8C 003139EC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80317D90 003139F0 41 82 00 48 */ beq lbl_80317DD8
+lbl_80317D94:
+/* 80317D94 003139F4 7C 76 F0 AE */ lbzx r3, r22, r30
+/* 80317D98 003139F8 7C 63 07 74 */ extsb r3, r3
+/* 80317D9C 003139FC 4B FE D0 F9 */ bl VFipf_toupper
+/* 80317DA0 00313A00 55 E0 04 3E */ clrlwi r0, r15, 0x10
+/* 80317DA4 00313A04 39 EF 00 01 */ addi r15, r15, 1
+/* 80317DA8 00313A08 7C 7F 01 AE */ stbx r3, r31, r0
+/* 80317DAC 00313A0C A0 73 00 00 */ lhz r3, 0(r19)
+/* 80317DB0 00313A10 38 03 00 01 */ addi r0, r3, 1
+/* 80317DB4 00313A14 B0 13 00 00 */ sth r0, 0(r19)
+/* 80317DB8 00313A18 7C 16 F0 AE */ lbzx r0, r22, r30
+/* 80317DBC 00313A1C 7C 00 07 74 */ extsb r0, r0
+/* 80317DC0 00313A20 2C 00 00 61 */ cmpwi r0, 0x61
+/* 80317DC4 00313A24 41 80 00 70 */ blt lbl_80317E34
+/* 80317DC8 00313A28 2C 00 00 7A */ cmpwi r0, 0x7a
+/* 80317DCC 00313A2C 41 81 00 68 */ bgt lbl_80317E34
+/* 80317DD0 00313A30 3A A0 00 01 */ li r21, 1
+/* 80317DD4 00313A34 48 00 00 60 */ b lbl_80317E34
+lbl_80317DD8:
+/* 80317DD8 00313A38 55 E0 04 3E */ clrlwi r0, r15, 0x10
+/* 80317DDC 00313A3C 3A 80 00 01 */ li r20, 1
+/* 80317DE0 00313A40 7D DF 01 AE */ stbx r14, r31, r0
+/* 80317DE4 00313A44 39 EF 00 01 */ addi r15, r15, 1
+/* 80317DE8 00313A48 A0 73 00 00 */ lhz r3, 0(r19)
+/* 80317DEC 00313A4C 38 03 00 01 */ addi r0, r3, 1
+/* 80317DF0 00313A50 B0 13 00 00 */ sth r0, 0(r19)
+/* 80317DF4 00313A54 48 00 00 40 */ b lbl_80317E34
+lbl_80317DF8:
+/* 80317DF8 00313A58 3A 80 00 01 */ li r20, 1
+/* 80317DFC 00313A5C 48 00 00 38 */ b lbl_80317E34
+lbl_80317E00:
+/* 80317E00 00313A60 7C 80 07 75 */ extsb. r0, r4
+/* 80317E04 00313A64 7F 33 CB 78 */ mr r19, r25
+/* 80317E08 00313A68 41 82 00 10 */ beq lbl_80317E18
+/* 80317E0C 00313A6C 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80317E10 00313A70 41 82 00 08 */ beq lbl_80317E18
+/* 80317E14 00313A74 3A 80 00 01 */ li r20, 1
+lbl_80317E18:
+/* 80317E18 00313A78 56 00 04 3F */ clrlwi. r0, r16, 0x10
+/* 80317E1C 00313A7C 41 82 00 38 */ beq lbl_80317E54
+/* 80317E20 00313A80 55 E3 04 3E */ clrlwi r3, r15, 0x10
+/* 80317E24 00313A84 38 00 00 2E */ li r0, 0x2e
+/* 80317E28 00313A88 7C 1F 19 AE */ stbx r0, r31, r3
+/* 80317E2C 00313A8C 7E 18 83 78 */ mr r24, r16
+/* 80317E30 00313A90 39 EF 00 01 */ addi r15, r15, 1
+lbl_80317E34:
+/* 80317E34 00313A94 3B 18 00 01 */ addi r24, r24, 1
+lbl_80317E38:
+/* 80317E38 00313A98 A0 A1 00 0E */ lhz r5, 0xe(r1)
+/* 80317E3C 00313A9C 28 05 00 03 */ cmplwi r5, 3
+/* 80317E40 00313AA0 40 80 00 14 */ bge lbl_80317E54
+/* 80317E44 00313AA4 57 1E 04 3E */ clrlwi r30, r24, 0x10
+/* 80317E48 00313AA8 7C 96 F0 AE */ lbzx r4, r22, r30
+/* 80317E4C 00313AAC 7C 80 07 75 */ extsb. r0, r4
+/* 80317E50 00313AB0 40 82 FD 68 */ bne lbl_80317BB8
+lbl_80317E54:
+/* 80317E54 00313AB4 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 80317E58 00313AB8 28 00 00 03 */ cmplwi r0, 3
+/* 80317E5C 00313ABC 40 82 00 18 */ bne lbl_80317E74
+/* 80317E60 00313AC0 57 00 04 3E */ clrlwi r0, r24, 0x10
+/* 80317E64 00313AC4 7C 16 00 AE */ lbzx r0, r22, r0
+/* 80317E68 00313AC8 7C 00 07 75 */ extsb. r0, r0
+/* 80317E6C 00313ACC 41 82 00 08 */ beq lbl_80317E74
+/* 80317E70 00313AD0 3A 80 00 01 */ li r20, 1
+lbl_80317E74:
+/* 80317E74 00313AD4 2C 14 00 00 */ cmpwi r20, 0
+/* 80317E78 00313AD8 55 E0 04 3E */ clrlwi r0, r15, 0x10
+/* 80317E7C 00313ADC 38 60 00 00 */ li r3, 0
+/* 80317E80 00313AE0 7C 7F 01 AE */ stbx r3, r31, r0
+/* 80317E84 00313AE4 41 82 02 B4 */ beq lbl_80318138
+/* 80317E88 00313AE8 A0 81 00 10 */ lhz r4, 0x10(r1)
+/* 80317E8C 00313AEC 28 04 00 08 */ cmplwi r4, 8
+/* 80317E90 00313AF0 7C 85 23 78 */ mr r5, r4
+/* 80317E94 00313AF4 40 82 00 38 */ bne lbl_80317ECC
+/* 80317E98 00313AF8 28 12 00 01 */ cmplwi r18, 1
+/* 80317E9C 00313AFC 41 82 00 10 */ beq lbl_80317EAC
+/* 80317EA0 00313B00 20 12 00 08 */ subfic r0, r18, 8
+/* 80317EA4 00313B04 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 80317EA8 00313B08 48 00 00 34 */ b lbl_80317EDC
+lbl_80317EAC:
+/* 80317EAC 00313B0C 56 23 04 3E */ clrlwi r3, r17, 0x10
+/* 80317EB0 00313B10 38 00 00 02 */ li r0, 2
+/* 80317EB4 00313B14 28 03 00 01 */ cmplwi r3, 1
+/* 80317EB8 00313B18 41 82 00 08 */ beq lbl_80317EC0
+/* 80317EBC 00313B1C 38 03 00 01 */ addi r0, r3, 1
+lbl_80317EC0:
+/* 80317EC0 00313B20 20 00 00 08 */ subfic r0, r0, 8
+/* 80317EC4 00313B24 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 80317EC8 00313B28 48 00 00 14 */ b lbl_80317EDC
+lbl_80317ECC:
+/* 80317ECC 00313B2C 28 04 00 07 */ cmplwi r4, 7
+/* 80317ED0 00313B30 40 82 00 0C */ bne lbl_80317EDC
+/* 80317ED4 00313B34 7C 11 20 50 */ subf r0, r17, r4
+/* 80317ED8 00313B38 54 05 04 3E */ clrlwi r5, r0, 0x10
+lbl_80317EDC:
+/* 80317EDC 00313B3C 38 05 00 02 */ addi r0, r5, 2
+/* 80317EE0 00313B40 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 80317EE4 00313B44 7C 00 20 40 */ cmplw r0, r4
+/* 80317EE8 00313B48 40 80 00 50 */ bge lbl_80317F38
+/* 80317EEC 00313B4C 7C 00 20 50 */ subf r0, r0, r4
+/* 80317EF0 00313B50 38 E0 FF FF */ li r7, -1
+/* 80317EF4 00313B54 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 80317EF8 00313B58 7C DF 02 14 */ add r6, r31, r0
+/* 80317EFC 00313B5C 38 C6 FF FF */ addi r6, r6, -1
+/* 80317F00 00313B60 48 00 00 20 */ b lbl_80317F20
+lbl_80317F04:
+/* 80317F04 00313B64 A0 01 00 10 */ lhz r0, 0x10(r1)
+/* 80317F08 00313B68 7C E3 07 34 */ extsh r3, r7
+/* 80317F0C 00313B6C 38 E7 00 01 */ addi r7, r7, 1
+/* 80317F10 00313B70 7C 86 00 AE */ lbzx r4, r6, r0
+/* 80317F14 00313B74 7C 1F 02 14 */ add r0, r31, r0
+/* 80317F18 00313B78 38 C6 00 01 */ addi r6, r6, 1
+/* 80317F1C 00313B7C 7C 83 01 AE */ stbx r4, r3, r0
+lbl_80317F20:
+/* 80317F20 00313B80 A0 61 00 0E */ lhz r3, 0xe(r1)
+/* 80317F24 00313B84 7C E4 07 34 */ extsh r4, r7
+/* 80317F28 00313B88 38 03 00 01 */ addi r0, r3, 1
+/* 80317F2C 00313B8C 7C 04 00 00 */ cmpw r4, r0
+/* 80317F30 00313B90 41 80 FF D4 */ blt lbl_80317F04
+/* 80317F34 00313B94 48 00 01 A4 */ b lbl_803180D8
+lbl_80317F38:
+/* 80317F38 00313B98 40 81 01 A0 */ ble lbl_803180D8
+/* 80317F3C 00313B9C A0 61 00 0E */ lhz r3, 0xe(r1)
+/* 80317F40 00313BA0 7C 04 00 50 */ subf r0, r4, r0
+/* 80317F44 00313BA4 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 80317F48 00313BA8 38 E3 00 01 */ addi r7, r3, 1
+/* 80317F4C 00313BAC 7C E6 07 34 */ extsh r6, r7
+/* 80317F50 00313BB0 2C 86 00 00 */ cmpwi cr1, r6, 0
+/* 80317F54 00313BB4 41 84 01 84 */ blt cr1, lbl_803180D8
+/* 80317F58 00313BB8 39 06 00 01 */ addi r8, r6, 1
+/* 80317F5C 00313BBC 7D 03 07 34 */ extsh r3, r8
+/* 80317F60 00313BC0 2C 03 00 08 */ cmpwi r3, 8
+/* 80317F64 00313BC4 40 81 01 3C */ ble lbl_803180A0
+/* 80317F68 00313BC8 38 80 00 00 */ li r4, 0
+/* 80317F6C 00313BCC 38 60 00 00 */ li r3, 0
+/* 80317F70 00313BD0 41 84 00 10 */ blt cr1, lbl_80317F80
+/* 80317F74 00313BD4 2C 06 80 01 */ cmpwi r6, -32767
+/* 80317F78 00313BD8 41 80 00 08 */ blt lbl_80317F80
+/* 80317F7C 00313BDC 38 60 00 01 */ li r3, 1
+lbl_80317F80:
+/* 80317F80 00313BE0 2C 03 00 00 */ cmpwi r3, 0
+/* 80317F84 00313BE4 41 82 00 34 */ beq lbl_80317FB8
+/* 80317F88 00313BE8 7C E3 07 34 */ extsh r3, r7
+/* 80317F8C 00313BEC 38 E0 00 01 */ li r7, 1
+/* 80317F90 00313BF0 54 63 00 20 */ rlwinm r3, r3, 0, 0, 0x10
+/* 80317F94 00313BF4 7C 63 07 35 */ extsh. r3, r3
+/* 80317F98 00313BF8 40 82 00 14 */ bne lbl_80317FAC
+/* 80317F9C 00313BFC 55 03 00 20 */ rlwinm r3, r8, 0, 0, 0x10
+/* 80317FA0 00313C00 7C 63 07 35 */ extsh. r3, r3
+/* 80317FA4 00313C04 41 82 00 08 */ beq lbl_80317FAC
+/* 80317FA8 00313C08 38 E0 00 00 */ li r7, 0
+lbl_80317FAC:
+/* 80317FAC 00313C0C 2C 07 00 00 */ cmpwi r7, 0
+/* 80317FB0 00313C10 41 82 00 08 */ beq lbl_80317FB8
+/* 80317FB4 00313C14 38 80 00 01 */ li r4, 1
+lbl_80317FB8:
+/* 80317FB8 00313C18 2C 04 00 00 */ cmpwi r4, 0
+/* 80317FBC 00313C1C 41 82 00 E4 */ beq lbl_803180A0
+/* 80317FC0 00313C20 7C 9F 02 14 */ add r4, r31, r0
+/* 80317FC4 00313C24 54 C3 E8 FE */ srwi r3, r6, 3
+/* 80317FC8 00313C28 7C 86 22 14 */ add r4, r6, r4
+/* 80317FCC 00313C2C 7C 69 03 A6 */ mtctr r3
+/* 80317FD0 00313C30 2C 06 00 08 */ cmpwi r6, 8
+/* 80317FD4 00313C34 41 80 00 CC */ blt lbl_803180A0
+lbl_80317FD8:
+/* 80317FD8 00313C38 A1 01 00 10 */ lhz r8, 0x10(r1)
+/* 80317FDC 00313C3C 7C C3 07 34 */ extsh r3, r6
+/* 80317FE0 00313C40 38 C6 FF F8 */ addi r6, r6, -8
+/* 80317FE4 00313C44 7C FF 42 14 */ add r7, r31, r8
+/* 80317FE8 00313C48 7C E3 38 AE */ lbzx r7, r3, r7
+/* 80317FEC 00313C4C 7C E4 41 AE */ stbx r7, r4, r8
+/* 80317FF0 00313C50 A0 E1 00 10 */ lhz r7, 0x10(r1)
+/* 80317FF4 00313C54 7D 1F 3A 14 */ add r8, r31, r7
+/* 80317FF8 00313C58 7C E4 3A 14 */ add r7, r4, r7
+/* 80317FFC 00313C5C 7D 03 42 14 */ add r8, r3, r8
+/* 80318000 00313C60 89 08 FF FF */ lbz r8, -1(r8)
+/* 80318004 00313C64 99 07 FF FF */ stb r8, -1(r7)
+/* 80318008 00313C68 A0 E1 00 10 */ lhz r7, 0x10(r1)
+/* 8031800C 00313C6C 7D 1F 3A 14 */ add r8, r31, r7
+/* 80318010 00313C70 7C E4 3A 14 */ add r7, r4, r7
+/* 80318014 00313C74 7D 03 42 14 */ add r8, r3, r8
+/* 80318018 00313C78 89 08 FF FE */ lbz r8, -2(r8)
+/* 8031801C 00313C7C 99 07 FF FE */ stb r8, -2(r7)
+/* 80318020 00313C80 A0 E1 00 10 */ lhz r7, 0x10(r1)
+/* 80318024 00313C84 7D 1F 3A 14 */ add r8, r31, r7
+/* 80318028 00313C88 7C E4 3A 14 */ add r7, r4, r7
+/* 8031802C 00313C8C 7D 03 42 14 */ add r8, r3, r8
+/* 80318030 00313C90 89 08 FF FD */ lbz r8, -3(r8)
+/* 80318034 00313C94 99 07 FF FD */ stb r8, -3(r7)
+/* 80318038 00313C98 A0 E1 00 10 */ lhz r7, 0x10(r1)
+/* 8031803C 00313C9C 7D 1F 3A 14 */ add r8, r31, r7
+/* 80318040 00313CA0 7C E4 3A 14 */ add r7, r4, r7
+/* 80318044 00313CA4 7D 03 42 14 */ add r8, r3, r8
+/* 80318048 00313CA8 89 08 FF FC */ lbz r8, -4(r8)
+/* 8031804C 00313CAC 99 07 FF FC */ stb r8, -4(r7)
+/* 80318050 00313CB0 A0 E1 00 10 */ lhz r7, 0x10(r1)
+/* 80318054 00313CB4 7D 1F 3A 14 */ add r8, r31, r7
+/* 80318058 00313CB8 7C E4 3A 14 */ add r7, r4, r7
+/* 8031805C 00313CBC 7D 03 42 14 */ add r8, r3, r8
+/* 80318060 00313CC0 89 08 FF FB */ lbz r8, -5(r8)
+/* 80318064 00313CC4 99 07 FF FB */ stb r8, -5(r7)
+/* 80318068 00313CC8 A0 E1 00 10 */ lhz r7, 0x10(r1)
+/* 8031806C 00313CCC 7D 1F 3A 14 */ add r8, r31, r7
+/* 80318070 00313CD0 7C E4 3A 14 */ add r7, r4, r7
+/* 80318074 00313CD4 7D 03 42 14 */ add r8, r3, r8
+/* 80318078 00313CD8 89 08 FF FA */ lbz r8, -6(r8)
+/* 8031807C 00313CDC 99 07 FF FA */ stb r8, -6(r7)
+/* 80318080 00313CE0 A0 E1 00 10 */ lhz r7, 0x10(r1)
+/* 80318084 00313CE4 7D 1F 3A 14 */ add r8, r31, r7
+/* 80318088 00313CE8 7C E4 3A 14 */ add r7, r4, r7
+/* 8031808C 00313CEC 7C 63 42 14 */ add r3, r3, r8
+/* 80318090 00313CF0 38 84 FF F8 */ addi r4, r4, -8
+/* 80318094 00313CF4 88 63 FF F9 */ lbz r3, -7(r3)
+/* 80318098 00313CF8 98 67 FF F9 */ stb r3, -7(r7)
+/* 8031809C 00313CFC 42 00 FF 3C */ bdnz lbl_80317FD8
+lbl_803180A0:
+/* 803180A0 00313D00 7C C4 07 35 */ extsh. r4, r6
+/* 803180A4 00313D04 7C 7F 02 14 */ add r3, r31, r0
+/* 803180A8 00313D08 38 04 00 01 */ addi r0, r4, 1
+/* 803180AC 00313D0C 7C E4 1A 14 */ add r7, r4, r3
+/* 803180B0 00313D10 7C 09 03 A6 */ mtctr r0
+/* 803180B4 00313D14 41 80 00 24 */ blt lbl_803180D8
+lbl_803180B8:
+/* 803180B8 00313D18 A0 81 00 10 */ lhz r4, 0x10(r1)
+/* 803180BC 00313D1C 7C C3 07 34 */ extsh r3, r6
+/* 803180C0 00313D20 38 C6 FF FF */ addi r6, r6, -1
+/* 803180C4 00313D24 7C 1F 22 14 */ add r0, r31, r4
+/* 803180C8 00313D28 7C 03 00 AE */ lbzx r0, r3, r0
+/* 803180CC 00313D2C 7C 07 21 AE */ stbx r0, r7, r4
+/* 803180D0 00313D30 38 E7 FF FF */ addi r7, r7, -1
+/* 803180D4 00313D34 42 00 FF E4 */ bdnz lbl_803180B8
+lbl_803180D8:
+/* 803180D8 00313D38 A0 01 00 10 */ lhz r0, 0x10(r1)
+/* 803180DC 00313D3C 2C 00 00 00 */ cmpwi r0, 0
+/* 803180E0 00313D40 41 82 00 54 */ beq lbl_80318134
+/* 803180E4 00313D44 3C 60 80 58 */ lis r3, lbl_8057F5C8@ha
+/* 803180E8 00313D48 38 63 F5 C8 */ addi r3, r3, lbl_8057F5C8@l
+/* 803180EC 00313D4C 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 803180F0 00313D50 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 803180F4 00313D54 28 00 00 02 */ cmplwi r0, 2
+/* 803180F8 00313D58 41 82 00 24 */ beq lbl_8031811C
+/* 803180FC 00313D5C 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 80318100 00313D60 38 60 00 7E */ li r3, 0x7e
+/* 80318104 00313D64 7C 7F 01 AE */ stbx r3, r31, r0
+/* 80318108 00313D68 38 A5 00 01 */ addi r5, r5, 1
+/* 8031810C 00313D6C 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 80318110 00313D70 38 60 00 31 */ li r3, 0x31
+/* 80318114 00313D74 7C 7F 01 AE */ stbx r3, r31, r0
+/* 80318118 00313D78 48 00 00 1C */ b lbl_80318134
+lbl_8031811C:
+/* 8031811C 00313D7C 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 80318120 00313D80 38 60 00 5F */ li r3, 0x5f
+/* 80318124 00313D84 7C 7F 01 AE */ stbx r3, r31, r0
+/* 80318128 00313D88 38 A5 00 01 */ addi r5, r5, 1
+/* 8031812C 00313D8C 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 80318130 00313D90 7C 7F 01 AE */ stbx r3, r31, r0
+lbl_80318134:
+/* 80318134 00313D94 3A A0 00 01 */ li r21, 1
+lbl_80318138:
+/* 80318138 00313D98 80 61 00 08 */ lwz r3, 8(r1)
+/* 8031813C 00313D9C 4B FE D1 A5 */ bl VFiPFSTR_GetCodeMode
+/* 80318140 00313DA0 28 03 00 02 */ cmplwi r3, 2
+/* 80318144 00313DA4 40 82 00 8C */ bne lbl_803181D0
+/* 80318148 00313DA8 3A A0 00 01 */ li r21, 1
+/* 8031814C 00313DAC 48 00 00 84 */ b lbl_803181D0
+/* 80318150 00313DB0 48 00 00 20 */ b lbl_80318170
+lbl_80318154:
+/* 80318154 00313DB4 7C 60 07 74 */ extsb r0, r3
+/* 80318158 00313DB8 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 8031815C 00313DBC 41 82 00 10 */ beq lbl_8031816C
+/* 80318160 00313DC0 2C 00 00 20 */ cmpwi r0, 0x20
+/* 80318164 00313DC4 41 82 00 08 */ beq lbl_8031816C
+/* 80318168 00313DC8 3A 80 00 01 */ li r20, 1
+lbl_8031816C:
+/* 8031816C 00313DCC 3A D6 00 01 */ addi r22, r22, 1
+lbl_80318170:
+/* 80318170 00313DD0 88 76 00 00 */ lbz r3, 0(r22)
+/* 80318174 00313DD4 7C 60 07 75 */ extsb. r0, r3
+/* 80318178 00313DD8 41 82 00 0C */ beq lbl_80318184
+/* 8031817C 00313DDC 2C 14 00 00 */ cmpwi r20, 0
+/* 80318180 00313DE0 41 82 FF D4 */ beq lbl_80318154
+lbl_80318184:
+/* 80318184 00313DE4 2C 14 00 00 */ cmpwi r20, 0
+/* 80318188 00313DE8 41 82 00 3C */ beq lbl_803181C4
+/* 8031818C 00313DEC 38 60 00 30 */ li r3, 0x30
+/* 80318190 00313DF0 38 A0 00 01 */ li r5, 1
+/* 80318194 00313DF4 38 80 00 02 */ li r4, 2
+/* 80318198 00313DF8 38 00 00 00 */ li r0, 0
+/* 8031819C 00313DFC 98 BF 00 00 */ stb r5, 0(r31)
+/* 803181A0 00313E00 98 9F 00 01 */ stb r4, 1(r31)
+/* 803181A4 00313E04 98 7F 00 02 */ stb r3, 2(r31)
+/* 803181A8 00313E08 98 7F 00 03 */ stb r3, 3(r31)
+/* 803181AC 00313E0C 98 7F 00 04 */ stb r3, 4(r31)
+/* 803181B0 00313E10 98 7F 00 05 */ stb r3, 5(r31)
+/* 803181B4 00313E14 98 7F 00 06 */ stb r3, 6(r31)
+/* 803181B8 00313E18 98 7F 00 07 */ stb r3, 7(r31)
+/* 803181BC 00313E1C 98 1F 00 08 */ stb r0, 8(r31)
+/* 803181C0 00313E20 48 00 00 0C */ b lbl_803181CC
+lbl_803181C4:
+/* 803181C4 00313E24 38 00 00 00 */ li r0, 0
+/* 803181C8 00313E28 98 1F 00 00 */ stb r0, 0(r31)
+lbl_803181CC:
+/* 803181CC 00313E2C 3A A0 00 01 */ li r21, 1
+lbl_803181D0:
+/* 803181D0 00313E30 39 61 00 60 */ addi r11, r1, 0x60
+/* 803181D4 00313E34 7E A3 AB 78 */ mr r3, r21
+/* 803181D8 00313E38 4B EA EF 69 */ bl __restore_gpr
+/* 803181DC 00313E3C 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 803181E0 00313E40 7C 08 03 A6 */ mtlr r0
+/* 803181E4 00313E44 38 21 00 60 */ addi r1, r1, 0x60
+/* 803181E8 00313E48 4E 80 00 20 */ blr
+
+.global VFiPFPATH_parseShortNameNumeric
+VFiPFPATH_parseShortNameNumeric:
+/* 803181EC 00313E4C 2C 04 00 00 */ cmpwi r4, 0
+/* 803181F0 00313E50 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803181F4 00313E54 40 82 00 0C */ bne lbl_80318200
+/* 803181F8 00313E58 38 60 00 00 */ li r3, 0
+/* 803181FC 00313E5C 48 00 01 C4 */ b lbl_803183C0
+lbl_80318200:
+/* 80318200 00313E60 38 C3 00 01 */ addi r6, r3, 1
+/* 80318204 00313E64 38 A0 00 01 */ li r5, 1
+/* 80318208 00313E68 48 00 00 0C */ b lbl_80318214
+lbl_8031820C:
+/* 8031820C 00313E6C 38 A5 00 01 */ addi r5, r5, 1
+/* 80318210 00313E70 38 C6 00 01 */ addi r6, r6, 1
+lbl_80318214:
+/* 80318214 00313E74 88 06 00 00 */ lbz r0, 0(r6)
+/* 80318218 00313E78 2C 00 00 7E */ cmpwi r0, 0x7e
+/* 8031821C 00313E7C 40 82 FF F0 */ bne lbl_8031820C
+/* 80318220 00313E80 38 C5 00 01 */ addi r6, r5, 1
+/* 80318224 00313E84 7C E3 32 14 */ add r7, r3, r6
+/* 80318228 00313E88 48 00 00 0C */ b lbl_80318234
+lbl_8031822C:
+/* 8031822C 00313E8C 38 C6 00 01 */ addi r6, r6, 1
+/* 80318230 00313E90 38 E7 00 01 */ addi r7, r7, 1
+lbl_80318234:
+/* 80318234 00313E94 89 07 00 00 */ lbz r8, 0(r7)
+/* 80318238 00313E98 7D 00 07 74 */ extsb r0, r8
+/* 8031823C 00313E9C 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80318240 00313EA0 41 82 00 0C */ beq lbl_8031824C
+/* 80318244 00313EA4 2C 00 00 00 */ cmpwi r0, 0
+/* 80318248 00313EA8 40 82 FF E4 */ bne lbl_8031822C
+lbl_8031824C:
+/* 8031824C 00313EAC 7D 00 07 74 */ extsb r0, r8
+/* 80318250 00313EB0 39 66 00 01 */ addi r11, r6, 1
+/* 80318254 00313EB4 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80318258 00313EB8 40 82 00 34 */ bne lbl_8031828C
+/* 8031825C 00313EBC 7C 03 58 AE */ lbzx r0, r3, r11
+/* 80318260 00313EC0 7C 00 07 75 */ extsb. r0, r0
+/* 80318264 00313EC4 41 82 00 28 */ beq lbl_8031828C
+/* 80318268 00313EC8 39 8B 00 01 */ addi r12, r11, 1
+/* 8031826C 00313ECC 7C E3 62 14 */ add r7, r3, r12
+/* 80318270 00313ED0 48 00 00 0C */ b lbl_8031827C
+lbl_80318274:
+/* 80318274 00313ED4 39 8C 00 01 */ addi r12, r12, 1
+/* 80318278 00313ED8 38 E7 00 01 */ addi r7, r7, 1
+lbl_8031827C:
+/* 8031827C 00313EDC 88 07 00 00 */ lbz r0, 0(r7)
+/* 80318280 00313EE0 7C 00 07 75 */ extsb. r0, r0
+/* 80318284 00313EE4 40 82 FF F0 */ bne lbl_80318274
+/* 80318288 00313EE8 48 00 00 08 */ b lbl_80318290
+lbl_8031828C:
+/* 8031828C 00313EEC 7D 6C 5B 78 */ mr r12, r11
+lbl_80318290:
+/* 80318290 00313EF0 3C E0 CC CD */ lis r7, 0xCCCCCCCD@ha
+/* 80318294 00313EF4 39 21 00 08 */ addi r9, r1, 8
+/* 80318298 00313EF8 39 07 CC CD */ addi r8, r7, 0xCCCCCCCD@l
+/* 8031829C 00313EFC 39 40 00 00 */ li r10, 0
+/* 803182A0 00313F00 48 00 00 2C */ b lbl_803182CC
+lbl_803182A4:
+/* 803182A4 00313F04 7C E8 20 16 */ mulhwu r7, r8, r4
+/* 803182A8 00313F08 39 4A 00 01 */ addi r10, r10, 1
+/* 803182AC 00313F0C 7C E0 3B 78 */ mr r0, r7
+/* 803182B0 00313F10 54 E7 E8 FE */ srwi r7, r7, 3
+/* 803182B4 00313F14 1C E7 00 0A */ mulli r7, r7, 0xa
+/* 803182B8 00313F18 7C E7 20 50 */ subf r7, r7, r4
+/* 803182BC 00313F1C 54 04 E8 FE */ srwi r4, r0, 3
+/* 803182C0 00313F20 38 07 00 30 */ addi r0, r7, 0x30
+/* 803182C4 00313F24 98 09 00 00 */ stb r0, 0(r9)
+/* 803182C8 00313F28 39 29 00 01 */ addi r9, r9, 1
+lbl_803182CC:
+/* 803182CC 00313F2C 2C 04 00 00 */ cmpwi r4, 0
+/* 803182D0 00313F30 40 82 FF D4 */ bne lbl_803182A4
+/* 803182D4 00313F34 7D 05 52 14 */ add r8, r5, r10
+/* 803182D8 00313F38 7C 08 58 40 */ cmplw r8, r11
+/* 803182DC 00313F3C 41 80 00 44 */ blt lbl_80318320
+/* 803182E0 00313F40 39 28 00 01 */ addi r9, r8, 1
+/* 803182E4 00313F44 28 09 00 08 */ cmplwi r9, 8
+/* 803182E8 00313F48 40 81 00 08 */ ble lbl_803182F0
+/* 803182EC 00313F4C 39 20 00 08 */ li r9, 8
+lbl_803182F0:
+/* 803182F0 00313F50 7C 03 60 AE */ lbzx r0, r3, r12
+/* 803182F4 00313F54 7C E3 4A 14 */ add r7, r3, r9
+/* 803182F8 00313F58 7C 83 5A 14 */ add r4, r3, r11
+/* 803182FC 00313F5C 98 07 00 04 */ stb r0, 4(r7)
+/* 80318300 00313F60 88 04 00 02 */ lbz r0, 2(r4)
+/* 80318304 00313F64 98 07 00 03 */ stb r0, 3(r7)
+/* 80318308 00313F68 88 04 00 01 */ lbz r0, 1(r4)
+/* 8031830C 00313F6C 98 07 00 02 */ stb r0, 2(r7)
+/* 80318310 00313F70 7C 03 58 AE */ lbzx r0, r3, r11
+/* 80318314 00313F74 98 07 00 01 */ stb r0, 1(r7)
+/* 80318318 00313F78 7C 03 30 AE */ lbzx r0, r3, r6
+/* 8031831C 00313F7C 7C 03 49 AE */ stbx r0, r3, r9
+lbl_80318320:
+/* 80318320 00313F80 28 08 00 08 */ cmplwi r8, 8
+/* 80318324 00313F84 41 80 00 08 */ blt lbl_8031832C
+/* 80318328 00313F88 20 AA 00 07 */ subfic r5, r10, 7
+lbl_8031832C:
+/* 8031832C 00313F8C 38 00 00 7E */ li r0, 0x7e
+/* 80318330 00313F90 2C 0A 00 00 */ cmpwi r10, 0
+/* 80318334 00313F94 7C 03 29 AE */ stbx r0, r3, r5
+/* 80318338 00313F98 38 81 00 08 */ addi r4, r1, 8
+/* 8031833C 00313F9C 38 A5 00 01 */ addi r5, r5, 1
+/* 80318340 00313FA0 7C 84 52 14 */ add r4, r4, r10
+/* 80318344 00313FA4 7C 63 2A 14 */ add r3, r3, r5
+/* 80318348 00313FA8 41 82 00 74 */ beq lbl_803183BC
+/* 8031834C 00313FAC 55 40 E8 FF */ rlwinm. r0, r10, 0x1d, 3, 0x1f
+/* 80318350 00313FB0 7C 09 03 A6 */ mtctr r0
+/* 80318354 00313FB4 41 82 00 54 */ beq lbl_803183A8
+lbl_80318358:
+/* 80318358 00313FB8 88 04 FF FF */ lbz r0, -1(r4)
+/* 8031835C 00313FBC 98 03 00 00 */ stb r0, 0(r3)
+/* 80318360 00313FC0 88 04 FF FE */ lbz r0, -2(r4)
+/* 80318364 00313FC4 98 03 00 01 */ stb r0, 1(r3)
+/* 80318368 00313FC8 88 04 FF FD */ lbz r0, -3(r4)
+/* 8031836C 00313FCC 98 03 00 02 */ stb r0, 2(r3)
+/* 80318370 00313FD0 88 04 FF FC */ lbz r0, -4(r4)
+/* 80318374 00313FD4 98 03 00 03 */ stb r0, 3(r3)
+/* 80318378 00313FD8 88 04 FF FB */ lbz r0, -5(r4)
+/* 8031837C 00313FDC 98 03 00 04 */ stb r0, 4(r3)
+/* 80318380 00313FE0 88 04 FF FA */ lbz r0, -6(r4)
+/* 80318384 00313FE4 98 03 00 05 */ stb r0, 5(r3)
+/* 80318388 00313FE8 88 04 FF F9 */ lbz r0, -7(r4)
+/* 8031838C 00313FEC 98 03 00 06 */ stb r0, 6(r3)
+/* 80318390 00313FF0 8C 04 FF F8 */ lbzu r0, -8(r4)
+/* 80318394 00313FF4 98 03 00 07 */ stb r0, 7(r3)
+/* 80318398 00313FF8 38 63 00 08 */ addi r3, r3, 8
+/* 8031839C 00313FFC 42 00 FF BC */ bdnz lbl_80318358
+/* 803183A0 00314000 71 4A 00 07 */ andi. r10, r10, 7
+/* 803183A4 00314004 41 82 00 18 */ beq lbl_803183BC
+lbl_803183A8:
+/* 803183A8 00314008 7D 49 03 A6 */ mtctr r10
+lbl_803183AC:
+/* 803183AC 0031400C 8C 04 FF FF */ lbzu r0, -1(r4)
+/* 803183B0 00314010 98 03 00 00 */ stb r0, 0(r3)
+/* 803183B4 00314014 38 63 00 01 */ addi r3, r3, 1
+/* 803183B8 00314018 42 00 FF F4 */ bdnz lbl_803183AC
+lbl_803183BC:
+/* 803183BC 0031401C 38 60 00 00 */ li r3, 0
+lbl_803183C0:
+/* 803183C0 00314020 38 21 00 10 */ addi r1, r1, 0x10
+/* 803183C4 00314024 4E 80 00 20 */ blr
+
+.global VFiPFPATH_CheckExtShortNameSignature
+VFiPFPATH_CheckExtShortNameSignature:
+/* 803183C8 00314028 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803183CC 0031402C 7C 08 02 A6 */ mflr r0
+/* 803183D0 00314030 2C 03 00 00 */ cmpwi r3, 0
+/* 803183D4 00314034 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803183D8 00314038 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803183DC 0031403C 3B E0 00 00 */ li r31, 0
+/* 803183E0 00314040 88 8D 8D 1C */ lbz r4, lbl_8063DFDC-_SDA_BASE_(r13)
+/* 803183E4 00314044 88 0D 8D 1D */ lbz r0, lbl_8063DFDD-_SDA_BASE_(r13)
+/* 803183E8 00314048 98 81 00 08 */ stb r4, 8(r1)
+/* 803183EC 0031404C 98 01 00 09 */ stb r0, 9(r1)
+/* 803183F0 00314050 40 82 00 0C */ bne lbl_803183FC
+/* 803183F4 00314054 38 60 00 0A */ li r3, 0xa
+/* 803183F8 00314058 48 00 00 28 */ b lbl_80318420
+lbl_803183FC:
+/* 803183FC 0031405C 38 81 00 08 */ addi r4, r1, 8
+/* 80318400 00314060 38 A0 00 01 */ li r5, 1
+/* 80318404 00314064 38 C0 00 00 */ li r6, 0
+/* 80318408 00314068 38 E0 00 02 */ li r7, 2
+/* 8031840C 0031406C 4B FE D2 55 */ bl VFiPFSTR_StrNCmp
+/* 80318410 00314070 2C 03 00 00 */ cmpwi r3, 0
+/* 80318414 00314074 40 82 00 08 */ bne lbl_8031841C
+/* 80318418 00314078 3B E0 00 01 */ li r31, 1
+lbl_8031841C:
+/* 8031841C 0031407C 7F E3 FB 78 */ mr r3, r31
+lbl_80318420:
+/* 80318420 00314080 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80318424 00314084 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80318428 00314088 7C 08 03 A6 */ mtlr r0
+/* 8031842C 0031408C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80318430 00314090 4E 80 00 20 */ blr
+
+.global VFiPFPATH_CheckExtShortName
+VFiPFPATH_CheckExtShortName:
+/* 80318434 00314094 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80318438 00314098 7C 08 02 A6 */ mflr r0
+/* 8031843C 0031409C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80318440 003140A0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80318444 003140A4 4B EA EC D9 */ bl _savegpr_24
+/* 80318448 003140A8 88 C2 A4 A4 */ lbz r6, lbl_80642AA4-_SDA2_BASE_(r2)
+/* 8031844C 003140AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80318450 003140B0 88 02 A4 A5 */ lbz r0, lbl_80642AA5-_SDA2_BASE_(r2)
+/* 80318454 003140B4 7C 7E 1B 78 */ mr r30, r3
+/* 80318458 003140B8 98 C1 00 08 */ stb r6, 8(r1)
+/* 8031845C 003140BC 7C 9F 23 78 */ mr r31, r4
+/* 80318460 003140C0 7C B8 2B 78 */ mr r24, r5
+/* 80318464 003140C4 3B 60 00 00 */ li r27, 0
+/* 80318468 003140C8 98 01 00 09 */ stb r0, 9(r1)
+/* 8031846C 003140CC 3B 20 00 00 */ li r25, 0
+/* 80318470 003140D0 40 82 00 0C */ bne lbl_8031847C
+/* 80318474 003140D4 38 60 00 0A */ li r3, 0xa
+/* 80318478 003140D8 48 00 02 C8 */ b lbl_80318740
+lbl_8031847C:
+/* 8031847C 003140DC 7F E5 FB 78 */ mr r5, r31
+/* 80318480 003140E0 38 81 00 08 */ addi r4, r1, 8
+/* 80318484 003140E4 38 C0 00 00 */ li r6, 0
+/* 80318488 003140E8 38 E0 00 02 */ li r7, 2
+/* 8031848C 003140EC 4B FE D1 D5 */ bl VFiPFSTR_StrNCmp
+/* 80318490 003140F0 2C 03 00 00 */ cmpwi r3, 0
+/* 80318494 003140F4 41 82 00 84 */ beq lbl_80318518
+/* 80318498 003140F8 7F C3 F3 78 */ mr r3, r30
+/* 8031849C 003140FC 7F E5 FB 78 */ mr r5, r31
+/* 803184A0 00314100 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_
+/* 803184A4 00314104 38 C0 00 00 */ li r6, 0
+/* 803184A8 00314108 38 E0 00 01 */ li r7, 1
+/* 803184AC 0031410C 4B FE D1 B5 */ bl VFiPFSTR_StrNCmp
+/* 803184B0 00314110 2C 03 00 00 */ cmpwi r3, 0
+/* 803184B4 00314114 40 82 00 44 */ bne lbl_803184F8
+/* 803184B8 00314118 7F C3 F3 78 */ mr r3, r30
+/* 803184BC 0031411C 7F E5 FB 78 */ mr r5, r31
+/* 803184C0 00314120 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_
+/* 803184C4 00314124 38 C0 00 01 */ li r6, 1
+/* 803184C8 00314128 38 E0 00 01 */ li r7, 1
+/* 803184CC 0031412C 4B FE D1 95 */ bl VFiPFSTR_StrNCmp
+/* 803184D0 00314130 2C 03 00 00 */ cmpwi r3, 0
+/* 803184D4 00314134 41 82 00 44 */ beq lbl_80318518
+/* 803184D8 00314138 7F C3 F3 78 */ mr r3, r30
+/* 803184DC 0031413C 7F E5 FB 78 */ mr r5, r31
+/* 803184E0 00314140 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_
+/* 803184E4 00314144 38 C0 00 00 */ li r6, 0
+/* 803184E8 00314148 38 E0 00 01 */ li r7, 1
+/* 803184EC 0031414C 4B FE D1 75 */ bl VFiPFSTR_StrNCmp
+/* 803184F0 00314150 2C 03 00 00 */ cmpwi r3, 0
+/* 803184F4 00314154 41 82 00 24 */ beq lbl_80318518
+lbl_803184F8:
+/* 803184F8 00314158 7F C3 F3 78 */ mr r3, r30
+/* 803184FC 0031415C 7F E5 FB 78 */ mr r5, r31
+/* 80318500 00314160 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_
+/* 80318504 00314164 38 C0 00 00 */ li r6, 0
+/* 80318508 00314168 38 E0 00 01 */ li r7, 1
+/* 8031850C 0031416C 4B FE D1 55 */ bl VFiPFSTR_StrNCmp
+/* 80318510 00314170 2C 03 00 00 */ cmpwi r3, 0
+/* 80318514 00314174 40 82 02 28 */ bne lbl_8031873C
+lbl_80318518:
+/* 80318518 00314178 3B 40 00 02 */ li r26, 2
+/* 8031851C 0031417C 3B 80 00 04 */ li r28, 4
+/* 80318520 00314180 48 00 00 DC */ b lbl_803185FC
+lbl_80318524:
+/* 80318524 00314184 7F C3 F3 78 */ mr r3, r30
+/* 80318528 00314188 4B FE CD B9 */ bl VFiPFSTR_GetCodeMode
+/* 8031852C 0031418C 28 03 00 01 */ cmplwi r3, 1
+/* 80318530 00314190 40 82 00 28 */ bne lbl_80318558
+/* 80318534 00314194 7F C3 F3 78 */ mr r3, r30
+/* 80318538 00314198 7F E4 FB 78 */ mr r4, r31
+/* 8031853C 0031419C 4B FE CD D5 */ bl VFiPFSTR_GetStrPos
+/* 80318540 003141A0 7F 40 07 34 */ extsh r0, r26
+/* 80318544 003141A4 7C 03 00 AE */ lbzx r0, r3, r0
+/* 80318548 003141A8 7C 03 07 74 */ extsb r3, r0
+/* 8031854C 003141AC 38 03 FF D0 */ addi r0, r3, -48
+/* 80318550 003141B0 7C 00 07 34 */ extsh r0, r0
+/* 80318554 003141B4 48 00 00 1C */ b lbl_80318570
+lbl_80318558:
+/* 80318558 003141B8 7F C3 F3 78 */ mr r3, r30
+/* 8031855C 003141BC 7F E4 FB 78 */ mr r4, r31
+/* 80318560 003141C0 4B FE CD B1 */ bl VFiPFSTR_GetStrPos
+/* 80318564 003141C4 7C 63 E2 2E */ lhzx r3, r3, r28
+/* 80318568 003141C8 38 03 FF D0 */ addi r0, r3, -48
+/* 8031856C 003141CC 7C 00 07 34 */ extsh r0, r0
+lbl_80318570:
+/* 80318570 003141D0 2C 00 00 00 */ cmpwi r0, 0
+/* 80318574 003141D4 41 80 00 0C */ blt lbl_80318580
+/* 80318578 003141D8 2C 00 00 09 */ cmpwi r0, 9
+/* 8031857C 003141DC 40 81 00 78 */ ble lbl_803185F4
+lbl_80318580:
+/* 80318580 003141E0 2C 18 00 00 */ cmpwi r24, 0
+/* 80318584 003141E4 41 82 01 10 */ beq lbl_80318694
+/* 80318588 003141E8 7F C3 F3 78 */ mr r3, r30
+/* 8031858C 003141EC 7F E5 FB 78 */ mr r5, r31
+/* 80318590 003141F0 7F 46 07 34 */ extsh r6, r26
+/* 80318594 003141F4 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_
+/* 80318598 003141F8 38 E0 00 01 */ li r7, 1
+/* 8031859C 003141FC 4B FE D0 C5 */ bl VFiPFSTR_StrNCmp
+/* 803185A0 00314200 2C 03 00 00 */ cmpwi r3, 0
+/* 803185A4 00314204 41 82 00 24 */ beq lbl_803185C8
+/* 803185A8 00314208 7F C3 F3 78 */ mr r3, r30
+/* 803185AC 0031420C 7F E5 FB 78 */ mr r5, r31
+/* 803185B0 00314210 7F 46 07 34 */ extsh r6, r26
+/* 803185B4 00314214 38 8D 8D 18 */ addi r4, r13, lbl_8063DFD8-_SDA_BASE_
+/* 803185B8 00314218 38 E0 00 01 */ li r7, 1
+/* 803185BC 0031421C 4B FE D0 A5 */ bl VFiPFSTR_StrNCmp
+/* 803185C0 00314220 2C 03 00 00 */ cmpwi r3, 0
+/* 803185C4 00314224 40 82 00 D0 */ bne lbl_80318694
+lbl_803185C8:
+/* 803185C8 00314228 28 18 00 01 */ cmplwi r24, 1
+/* 803185CC 0031422C 40 82 00 28 */ bne lbl_803185F4
+/* 803185D0 00314230 7F C3 F3 78 */ mr r3, r30
+/* 803185D4 00314234 7F E5 FB 78 */ mr r5, r31
+/* 803185D8 00314238 7F 46 07 34 */ extsh r6, r26
+/* 803185DC 0031423C 38 8D 8D 14 */ addi r4, r13, lbl_8063DFD4-_SDA_BASE_
+/* 803185E0 00314240 38 E0 00 01 */ li r7, 1
+/* 803185E4 00314244 4B FE D0 7D */ bl VFiPFSTR_StrNCmp
+/* 803185E8 00314248 2C 03 00 00 */ cmpwi r3, 0
+/* 803185EC 0031424C 40 82 00 08 */ bne lbl_803185F4
+/* 803185F0 00314250 3B 20 00 01 */ li r25, 1
+lbl_803185F4:
+/* 803185F4 00314254 3B 9C 00 02 */ addi r28, r28, 2
+/* 803185F8 00314258 3B 5A 00 01 */ addi r26, r26, 1
+lbl_803185FC:
+/* 803185FC 0031425C 7F 46 07 34 */ extsh r6, r26
+/* 80318600 00314260 2C 06 00 08 */ cmpwi r6, 8
+/* 80318604 00314264 40 80 00 90 */ bge lbl_80318694
+/* 80318608 00314268 7F C3 F3 78 */ mr r3, r30
+/* 8031860C 0031426C 7F E5 FB 78 */ mr r5, r31
+/* 80318610 00314270 3B A0 00 00 */ li r29, 0
+/* 80318614 00314274 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_
+/* 80318618 00314278 38 E0 00 01 */ li r7, 1
+/* 8031861C 0031427C 4B FE D0 45 */ bl VFiPFSTR_StrNCmp
+/* 80318620 00314280 2C 03 00 00 */ cmpwi r3, 0
+/* 80318624 00314284 41 82 00 24 */ beq lbl_80318648
+/* 80318628 00314288 7F C3 F3 78 */ mr r3, r30
+/* 8031862C 0031428C 7F E5 FB 78 */ mr r5, r31
+/* 80318630 00314290 7F 46 07 34 */ extsh r6, r26
+/* 80318634 00314294 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_
+/* 80318638 00314298 38 E0 00 01 */ li r7, 1
+/* 8031863C 0031429C 4B FE D0 25 */ bl VFiPFSTR_StrNCmp
+/* 80318640 003142A0 2C 03 00 00 */ cmpwi r3, 0
+/* 80318644 003142A4 40 82 00 08 */ bne lbl_8031864C
+lbl_80318648:
+/* 80318648 003142A8 3B A0 00 01 */ li r29, 1
+lbl_8031864C:
+/* 8031864C 003142AC 2C 1D 00 00 */ cmpwi r29, 0
+/* 80318650 003142B0 40 82 00 44 */ bne lbl_80318694
+/* 80318654 003142B4 7F C3 F3 78 */ mr r3, r30
+/* 80318658 003142B8 7F E5 FB 78 */ mr r5, r31
+/* 8031865C 003142BC 7F 46 07 34 */ extsh r6, r26
+/* 80318660 003142C0 38 8D 8D 20 */ addi r4, r13, lbl_8063DFE0-_SDA_BASE_
+/* 80318664 003142C4 38 E0 00 01 */ li r7, 1
+/* 80318668 003142C8 4B FE CF F9 */ bl VFiPFSTR_StrNCmp
+/* 8031866C 003142CC 2C 03 00 00 */ cmpwi r3, 0
+/* 80318670 003142D0 41 82 00 24 */ beq lbl_80318694
+/* 80318674 003142D4 7F C3 F3 78 */ mr r3, r30
+/* 80318678 003142D8 7F E5 FB 78 */ mr r5, r31
+/* 8031867C 003142DC 7F 46 07 34 */ extsh r6, r26
+/* 80318680 003142E0 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_
+/* 80318684 003142E4 38 E0 00 01 */ li r7, 1
+/* 80318688 003142E8 4B FE CF D9 */ bl VFiPFSTR_StrNCmp
+/* 8031868C 003142EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80318690 003142F0 40 82 FE 94 */ bne lbl_80318524
+lbl_80318694:
+/* 80318694 003142F4 7F 40 07 34 */ extsh r0, r26
+/* 80318698 003142F8 2C 00 00 08 */ cmpwi r0, 8
+/* 8031869C 003142FC 41 82 00 0C */ beq lbl_803186A8
+/* 803186A0 00314300 28 19 00 01 */ cmplwi r25, 1
+/* 803186A4 00314304 40 82 00 98 */ bne lbl_8031873C
+lbl_803186A8:
+/* 803186A8 00314308 7F C3 F3 78 */ mr r3, r30
+/* 803186AC 0031430C 7F E5 FB 78 */ mr r5, r31
+/* 803186B0 00314310 7F 46 07 34 */ extsh r6, r26
+/* 803186B4 00314314 38 8D 8D 20 */ addi r4, r13, lbl_8063DFE0-_SDA_BASE_
+/* 803186B8 00314318 38 E0 00 01 */ li r7, 1
+/* 803186BC 0031431C 4B FE CF A5 */ bl VFiPFSTR_StrNCmp
+/* 803186C0 00314320 2C 03 00 00 */ cmpwi r3, 0
+/* 803186C4 00314324 41 82 00 74 */ beq lbl_80318738
+/* 803186C8 00314328 7F C3 F3 78 */ mr r3, r30
+/* 803186CC 0031432C 7F E5 FB 78 */ mr r5, r31
+/* 803186D0 00314330 7F 46 07 34 */ extsh r6, r26
+/* 803186D4 00314334 3B A0 00 00 */ li r29, 0
+/* 803186D8 00314338 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_
+/* 803186DC 0031433C 38 E0 00 01 */ li r7, 1
+/* 803186E0 00314340 4B FE CF 81 */ bl VFiPFSTR_StrNCmp
+/* 803186E4 00314344 2C 03 00 00 */ cmpwi r3, 0
+/* 803186E8 00314348 41 82 00 24 */ beq lbl_8031870C
+/* 803186EC 0031434C 7F C3 F3 78 */ mr r3, r30
+/* 803186F0 00314350 7F E5 FB 78 */ mr r5, r31
+/* 803186F4 00314354 7F 46 07 34 */ extsh r6, r26
+/* 803186F8 00314358 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_
+/* 803186FC 0031435C 38 E0 00 01 */ li r7, 1
+/* 80318700 00314360 4B FE CF 61 */ bl VFiPFSTR_StrNCmp
+/* 80318704 00314364 2C 03 00 00 */ cmpwi r3, 0
+/* 80318708 00314368 40 82 00 08 */ bne lbl_80318710
+lbl_8031870C:
+/* 8031870C 0031436C 3B A0 00 01 */ li r29, 1
+lbl_80318710:
+/* 80318710 00314370 2C 1D 00 00 */ cmpwi r29, 0
+/* 80318714 00314374 41 82 00 24 */ beq lbl_80318738
+/* 80318718 00314378 7F C3 F3 78 */ mr r3, r30
+/* 8031871C 0031437C 7F E5 FB 78 */ mr r5, r31
+/* 80318720 00314380 7F 46 07 34 */ extsh r6, r26
+/* 80318724 00314384 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_
+/* 80318728 00314388 38 E0 00 01 */ li r7, 1
+/* 8031872C 0031438C 4B FE CF 35 */ bl VFiPFSTR_StrNCmp
+/* 80318730 00314390 2C 03 00 00 */ cmpwi r3, 0
+/* 80318734 00314394 40 82 00 08 */ bne lbl_8031873C
+lbl_80318738:
+/* 80318738 00314398 7F 5B 07 34 */ extsh r27, r26
+lbl_8031873C:
+/* 8031873C 0031439C 7F 63 DB 78 */ mr r3, r27
+lbl_80318740:
+/* 80318740 003143A0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80318744 003143A4 4B EA EA 25 */ bl _restgpr_24
+/* 80318748 003143A8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8031874C 003143AC 7C 08 03 A6 */ mtlr r0
+/* 80318750 003143B0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80318754 003143B4 4E 80 00 20 */ blr
+
+.global VFiPFPATH_GetExtShortNameIndex
+VFiPFPATH_GetExtShortNameIndex:
+/* 80318758 003143B8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8031875C 003143BC 7C 08 02 A6 */ mflr r0
+/* 80318760 003143C0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80318764 003143C4 39 61 00 30 */ addi r11, r1, 0x30
+/* 80318768 003143C8 4B EA E9 BD */ bl _savegpr_26
+/* 8031876C 003143CC 88 A2 A4 A8 */ lbz r5, lbl_80642AA8-_SDA2_BASE_(r2)
+/* 80318770 003143D0 2C 03 00 00 */ cmpwi r3, 0
+/* 80318774 003143D4 88 02 A4 A9 */ lbz r0, lbl_80642AA9-_SDA2_BASE_(r2)
+/* 80318778 003143D8 7C 7A 1B 78 */ mr r26, r3
+/* 8031877C 003143DC 98 A1 00 08 */ stb r5, 8(r1)
+/* 80318780 003143E0 7C 9B 23 78 */ mr r27, r4
+/* 80318784 003143E4 3B C0 00 00 */ li r30, 0
+/* 80318788 003143E8 98 01 00 09 */ stb r0, 9(r1)
+/* 8031878C 003143EC 41 82 00 0C */ beq lbl_80318798
+/* 80318790 003143F0 2C 04 00 00 */ cmpwi r4, 0
+/* 80318794 003143F4 40 82 00 0C */ bne lbl_803187A0
+lbl_80318798:
+/* 80318798 003143F8 38 60 00 0A */ li r3, 0xa
+/* 8031879C 003143FC 48 00 01 48 */ b lbl_803188E4
+lbl_803187A0:
+/* 803187A0 00314400 38 81 00 08 */ addi r4, r1, 8
+/* 803187A4 00314404 38 A0 00 01 */ li r5, 1
+/* 803187A8 00314408 38 C0 00 00 */ li r6, 0
+/* 803187AC 0031440C 38 E0 00 02 */ li r7, 2
+/* 803187B0 00314410 4B FE CE B1 */ bl VFiPFSTR_StrNCmp
+/* 803187B4 00314414 2C 03 00 00 */ cmpwi r3, 0
+/* 803187B8 00314418 40 82 01 28 */ bne lbl_803188E0
+/* 803187BC 0031441C 3B 80 00 00 */ li r28, 0
+/* 803187C0 00314420 3B A0 00 02 */ li r29, 2
+/* 803187C4 00314424 3B E0 00 04 */ li r31, 4
+/* 803187C8 00314428 48 00 00 70 */ b lbl_80318838
+lbl_803187CC:
+/* 803187CC 0031442C 7F 43 D3 78 */ mr r3, r26
+/* 803187D0 00314430 4B FE CB 11 */ bl VFiPFSTR_GetCodeMode
+/* 803187D4 00314434 28 03 00 01 */ cmplwi r3, 1
+/* 803187D8 00314438 40 82 00 28 */ bne lbl_80318800
+/* 803187DC 0031443C 7F 43 D3 78 */ mr r3, r26
+/* 803187E0 00314440 38 80 00 01 */ li r4, 1
+/* 803187E4 00314444 4B FE CB 2D */ bl VFiPFSTR_GetStrPos
+/* 803187E8 00314448 7F A0 07 34 */ extsh r0, r29
+/* 803187EC 0031444C 7C 03 00 AE */ lbzx r0, r3, r0
+/* 803187F0 00314450 7C 03 07 74 */ extsb r3, r0
+/* 803187F4 00314454 38 03 FF D0 */ addi r0, r3, -48
+/* 803187F8 00314458 7C 00 07 34 */ extsh r0, r0
+/* 803187FC 0031445C 48 00 00 1C */ b lbl_80318818
+lbl_80318800:
+/* 80318800 00314460 7F 43 D3 78 */ mr r3, r26
+/* 80318804 00314464 38 80 00 01 */ li r4, 1
+/* 80318808 00314468 4B FE CB 09 */ bl VFiPFSTR_GetStrPos
+/* 8031880C 0031446C 7C 63 FA 2E */ lhzx r3, r3, r31
+/* 80318810 00314470 38 03 FF D0 */ addi r0, r3, -48
+/* 80318814 00314474 7C 00 07 34 */ extsh r0, r0
+lbl_80318818:
+/* 80318818 00314478 2C 00 00 00 */ cmpwi r0, 0
+/* 8031881C 0031447C 41 80 00 44 */ blt lbl_80318860
+/* 80318820 00314480 2C 00 00 09 */ cmpwi r0, 9
+/* 80318824 00314484 41 81 00 3C */ bgt lbl_80318860
+/* 80318828 00314488 1F 9C 00 0A */ mulli r28, r28, 0xa
+/* 8031882C 0031448C 3B FF 00 02 */ addi r31, r31, 2
+/* 80318830 00314490 3B BD 00 01 */ addi r29, r29, 1
+/* 80318834 00314494 7F 9C 02 14 */ add r28, r28, r0
+lbl_80318838:
+/* 80318838 00314498 7F A6 07 34 */ extsh r6, r29
+/* 8031883C 0031449C 2C 06 00 08 */ cmpwi r6, 8
+/* 80318840 003144A0 41 80 FF 8C */ blt lbl_803187CC
+/* 80318844 003144A4 7F 43 D3 78 */ mr r3, r26
+/* 80318848 003144A8 38 8D 8C FC */ addi r4, r13, lbl_8063DFBC-_SDA_BASE_
+/* 8031884C 003144AC 38 A0 00 01 */ li r5, 1
+/* 80318850 003144B0 38 E0 00 01 */ li r7, 1
+/* 80318854 003144B4 4B FE CE 0D */ bl VFiPFSTR_StrNCmp
+/* 80318858 003144B8 2C 03 00 00 */ cmpwi r3, 0
+/* 8031885C 003144BC 40 82 FF 70 */ bne lbl_803187CC
+lbl_80318860:
+/* 80318860 003144C0 7F A6 07 34 */ extsh r6, r29
+/* 80318864 003144C4 2C 06 00 08 */ cmpwi r6, 8
+/* 80318868 003144C8 40 82 00 78 */ bne lbl_803188E0
+/* 8031886C 003144CC 7F 43 D3 78 */ mr r3, r26
+/* 80318870 003144D0 3B E0 00 00 */ li r31, 0
+/* 80318874 003144D4 38 8D 8D 0C */ addi r4, r13, lbl_8063DFCC-_SDA_BASE_
+/* 80318878 003144D8 38 A0 00 01 */ li r5, 1
+/* 8031887C 003144DC 38 E0 00 01 */ li r7, 1
+/* 80318880 003144E0 4B FE CD E1 */ bl VFiPFSTR_StrNCmp
+/* 80318884 003144E4 2C 03 00 00 */ cmpwi r3, 0
+/* 80318888 003144E8 41 82 00 24 */ beq lbl_803188AC
+/* 8031888C 003144EC 7F 43 D3 78 */ mr r3, r26
+/* 80318890 003144F0 7F A6 07 34 */ extsh r6, r29
+/* 80318894 003144F4 38 8D 8D 10 */ addi r4, r13, lbl_8063DFD0-_SDA_BASE_
+/* 80318898 003144F8 38 A0 00 01 */ li r5, 1
+/* 8031889C 003144FC 38 E0 00 01 */ li r7, 1
+/* 803188A0 00314500 4B FE CD C1 */ bl VFiPFSTR_StrNCmp
+/* 803188A4 00314504 2C 03 00 00 */ cmpwi r3, 0
+/* 803188A8 00314508 40 82 00 08 */ bne lbl_803188B0
+lbl_803188AC:
+/* 803188AC 0031450C 3B E0 00 01 */ li r31, 1
+lbl_803188B0:
+/* 803188B0 00314510 2C 1F 00 00 */ cmpwi r31, 0
+/* 803188B4 00314514 41 82 00 24 */ beq lbl_803188D8
+/* 803188B8 00314518 7F 43 D3 78 */ mr r3, r26
+/* 803188BC 0031451C 7F A6 07 34 */ extsh r6, r29
+/* 803188C0 00314520 38 80 00 00 */ li r4, 0
+/* 803188C4 00314524 38 A0 00 01 */ li r5, 1
+/* 803188C8 00314528 38 E0 00 01 */ li r7, 1
+/* 803188CC 0031452C 4B FE CD 95 */ bl VFiPFSTR_StrNCmp
+/* 803188D0 00314530 2C 03 00 00 */ cmpwi r3, 0
+/* 803188D4 00314534 40 82 00 0C */ bne lbl_803188E0
+lbl_803188D8:
+/* 803188D8 00314538 93 9B 00 00 */ stw r28, 0(r27)
+/* 803188DC 0031453C 3B C0 00 01 */ li r30, 1
+lbl_803188E0:
+/* 803188E0 00314540 7F C3 F3 78 */ mr r3, r30
+lbl_803188E4:
+/* 803188E4 00314544 39 61 00 30 */ addi r11, r1, 0x30
+/* 803188E8 00314548 4B EA E8 89 */ bl _restgpr_26
+/* 803188EC 0031454C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803188F0 00314550 7C 08 03 A6 */ mtlr r0
+/* 803188F4 00314554 38 21 00 30 */ addi r1, r1, 0x30
+/* 803188F8 00314558 4E 80 00 20 */ blr
+
+.global VFiPFPATH_AdjustExtShortName
+VFiPFPATH_AdjustExtShortName:
+/* 803188FC 0031455C 2C 03 00 00 */ cmpwi r3, 0
+/* 80318900 00314560 40 82 00 0C */ bne lbl_8031890C
+/* 80318904 00314564 38 60 00 0A */ li r3, 0xa
+/* 80318908 00314568 4E 80 00 20 */ blr
+lbl_8031890C:
+/* 8031890C 0031456C 38 63 00 07 */ addi r3, r3, 7
+/* 80318910 00314570 38 C0 00 07 */ li r6, 7
+/* 80318914 00314574 38 E0 00 0A */ li r7, 0xa
+/* 80318918 00314578 39 00 00 01 */ li r8, 1
+/* 8031891C 0031457C 48 00 00 3C */ b lbl_80318958
+lbl_80318920:
+/* 80318920 00314580 7C 04 3B 96 */ divwu r0, r4, r7
+/* 80318924 00314584 7C 00 39 D6 */ mullw r0, r0, r7
+/* 80318928 00314588 7C 00 20 51 */ subf. r0, r0, r4
+/* 8031892C 0031458C 41 82 00 1C */ beq lbl_80318948
+/* 80318930 00314590 7C 80 20 50 */ subf r4, r0, r4
+/* 80318934 00314594 88 A3 00 00 */ lbz r5, 0(r3)
+/* 80318938 00314598 7C 00 43 96 */ divwu r0, r0, r8
+/* 8031893C 0031459C 7C 00 07 74 */ extsb r0, r0
+/* 80318940 003145A0 7C 05 02 14 */ add r0, r5, r0
+/* 80318944 003145A4 98 03 00 00 */ stb r0, 0(r3)
+lbl_80318948:
+/* 80318948 003145A8 1C E7 00 0A */ mulli r7, r7, 0xa
+/* 8031894C 003145AC 38 C6 FF FF */ addi r6, r6, -1
+/* 80318950 003145B0 38 63 FF FF */ addi r3, r3, -1
+/* 80318954 003145B4 1D 08 00 0A */ mulli r8, r8, 0xa
+lbl_80318958:
+/* 80318958 003145B8 28 06 00 01 */ cmplwi r6, 1
+/* 8031895C 003145BC 40 81 00 0C */ ble lbl_80318968
+/* 80318960 003145C0 2C 04 00 00 */ cmpwi r4, 0
+/* 80318964 003145C4 40 82 FF BC */ bne lbl_80318920
+lbl_80318968:
+/* 80318968 003145C8 38 60 00 00 */ li r3, 0
+/* 8031896C 003145CC 4E 80 00 20 */ blr