8000F09C
"mflr r0",
"stw r0, 4 (r1)",
"stwu r1, -72 (r1)",
"stmw r20, 24 (r1)",
"mr r23, r3",
"lis r3, 0x8003",
"addi r25, r23, 0",
"subi r31, r3, 0x66A8",
"lwz r26, -0x7CD8 (r13)" // currentDirectory
8000F0C0 - Loop1
"lbz r3, 0 (r23)",
"extsb. r0, r3",
"bne- 0x8000F0D4",
"mr r3, r26",
"b 0x8000F37C"
8000F0D4
"extsb r0, r3",
"cmpwi r0, 47 // '/'",
"bne- 0x8000F0EC",
"li r26, 0",
"addi r23, r23, 1",
"b 0x8000F0C0"
8000F0EC
"cmpwi r0, 46 // '.'",
"bne- 0x8000F164 ",
"lbz r3, 1 (r23)",
"extsb r0, r3",
"cmpwi r0, 46 // '.'",
"bne- 0x8000F144 ",
"lbz r3, 2 (r23)",
"cmpwi r3, 47 // '/'",
"bne- 0x8000F128 ",
"mulli r3, r26, 12",
"lwz r4, -0x7CE4 (r13)", // FstStart
"addi r0, r3, 4",
"lwzx r26, r4, r0",
"addi r23, r23, 3",
"b 0x8000F0C0"
8000F128
"extsb. r0, r3",
"bne- 0x8000F164 ",
"mulli r0, r26, 12",
"lwz r3, -0x7CE4 (r13)", // FstStart
"add r3, r3, r0",
"lwz r3, 4 (r3)",
"b 0x8000F37C"
8000F144
"cmpwi r0, 47 // '/'",
"bne- 0x8000F154",
"addi r23, r23, 2",
"b 0x8000F0C0 ",
8000F164
"lwz r0, -0x7CD4 (r13)", // __DVDLongFileNameFlag
"cmplwi r0, 0",
"bne- 0x8000F218 ",
"addi r28, r23, 0",
"li r5, 0",
"li r4, 0",
"b 0x8000F1C4"
8000F1F4
"cmpwi r4, 0",
"beq- 0x8000F23C ",
"addi r5, r31, 0",
"crclr 6",
"addi r6, r25, 0",
"subi r3, r13, 0x7EE0",
"li r4, 0x0178",
"bl OSPanic ",
"b 0x8000F23C"
8000F264
"mulli r28, r26, 12",
"lwzx r4, r3, r28",
"rlwinm. r0, r4, 0, 0, 7 // mask:0xFF000000",
"bne- 0x8000F27C ",
"li r0, 0",
"b 0x8000F280"
8000F27C
"li r0, 1"
8000F280
"cmpwi r0, 0",
"bne- 0x8000F290 ",
"cmpwi r30, 1",
"beq- 0x8000F30C"
8000F344 - Loop2
"lwz r3, -0x7CE4 (r13)", // FstStart
"addi r0, r3, 8",
"lwzx r0, r29, r0",
"cmplw r26, r0",
"blt+ 0x8000F264 ",
"li r3, -1 // Bad path",
"b 0x8000F37C"
8000F37C
"lmw r20, 24 (r1)",
"lwz r0, 76 (r1)",
"addi r1, r1, 72",
"mtlr r0",
"blr"
8000F154
"extsb. r0, r3",
"bne- 0x8000F164 ",
"mr r3, r26",
"b 0x8000F37C"
Loop 1 - Group 1
Folder 1
8000F218
"mr r28, r23",
"b 0x8000F224"
8000F220
"addi r28, r28, 1"
8000F224
"lbz r3, 0 (r28)",
"extsb. r0, r3",
"beq- 0x8000F23C ",
"extsb r0, r3",
"cmpwi r0, 47",
"bne+ 0x8000F220"
Loop 1 - Group 2
Folder 2
8000F180
"extsb r0, r3",
"cmpwi r0, 46",
"bne- 0x8000F1B4 ",
"subf r0, r23, r28",
"cmpwi r0, 8",
"bgt- 0x8000F1A0 ",
"cmpwi r5, 1",
"bne- 0x8000F1A8"
8000F1A0
"li r4, 1",
"b 0x8000F1DC"
8000F1A8
"addi r24, r28, 1",
"li r5, 1",
"b 0x8000F1C0"
8000F1B4
"cmpwi r0, 32 // ' '",
"bne- 0x8000F1C0 ",
"li r4, 1"
8000F1C0
"addi r28, r28, 1"
8000F1C4
"lbz r3, 0 (r28)",
"extsb. r0, r3",
"beq- 0x8000F1DC",
"extsb r0, r3",
"cmpwi r0, 47 // '/'",
"bne+ 0x8000F180"
8000F1DC
"cmpwi r5, 1",
"bne- 0x8000F1F4 ",
"subf r0, r24, r28",
"cmpwi r0, 3",
"ble- 0x8000F1F4 ",
"li r4, 1"
Loop 2 - Group 2
Folder 3
8000F30C
"lwz r0, -0x7CE4 (r13)", // FstStart
"add r3, r0, r28",
"lwz r0, 0 (r3)",
"rlwinm. r0, r0, 0, 0, 7 // mask:0xFF000000",
"bne- 0x8000F328 ",
"li r0, 0",
"b 0x8000F32C"
8000F328
"li r0, 1"
8000F32C
"cmpwi r0, 0",
"beq- 0x8000F33C ",
"lwz r0, 8 (r3)",
"b 0x8000F340"
8000F33C
"addi r0, r26, 1"
8000F340
"mr r26, r0"
Loop2 - Group 1
Folder 4
8000F290
"lwz r3, -0x7CE0 (r13)", // FstStringStart
"rlwinm r0, r4, 0, 8, 31 // mask:0x00FFFFFF",
"addi r21, r23, 0",
"add r20, r3, r0",
"b 0x8000F2D8"
8000F2A4
"lbz r0, 0 (r20)",
"addi r20, r20, 1",
"extsb r3, r0",
"bl tolower ",
"lbz r0, 0 (r21)",
"addi r22, r3, 0",
"addi r21, r21, 1",
"extsb r3, r0",
"bl tolower ",
"cmpw r3, r22",
"beq- 0x8000F2D8 ",
"li r0, 0",
"b 0x8000F304"
8000F2D8
"lbz r0, 0 (r20)",
"extsb. r0, r0",
"bne+ 0x8000F2A4 ",
"lbz r3, 0 (r21)",
"cmpwi r3, 47 // '/'",
"beq- 0x8000F2F8 ",
"extsb. r0, r3",
"bne- 0x8000F300"
8000F2F8
"li r0, 1",
"b 0x8000F304"
8000F300
"li r0, 0"
8000F304
"cmpwi r0, 1",
"beq- 0x8000F360"
Loop 2 - Group 3
Folder 5
8000F360
"cmpwi r30, 0",
"bne- 0x8000F370 ",
"mr r3, r26",
"b 0x8000F37C"
8000F370
"add r23, r27, r23",
"addi r23, r23, 1",
"b 0x8000F0C0"
8000F23C - Loop 2 Prepare
"lbz r0, 0 (r28)",
"extsb. r0, r0",
"bne- 0x8000F250 ",
"li r30, 0",
"b 0x8000F254"
8000F250
"li r30, 1"
8000F254
"mulli r29, r26, 12",
"subf r27, r23, r28",
"addi r26, r26, 1",
"b 0x8000F344"
return
return
return r26
return