{ "info": { "description": "DVDConvertPathToEntrynum graph. There is no money for a paid IDA Pro, and downloading a pirate conscience is not allowed (plus I stream progress). Therefore, we will try to reverse this branching bitch with improvised means." }, "graph": { "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)" ], "8000F0C0": [ "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)", "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)", "add r3, r3, r0", "lwz r3, 4 (r3)", "b 0x8000F37C" ], "8000F144": [ "cmpwi r0, 47 // '/'", "bne- 0x8000F154", "addi r23, r23, 2", "b 0x8000F0C0 ", ], "8000F154": [ "extsb. r0, r3", "bne- 0x8000F164 ", "mr r3, r26", "b 0x8000F37C" ], "8000F164": [ "lwz r0, -0x7CD4 (r13)", "cmplwi r0, 0", "bne- 0x8000F218 ", "addi r28, r23, 0", "li r5, 0", "li r4, 0", "b 0x8000F1C4" ], "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" ], "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" ], "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" ], "8000F23C": [ "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" ], "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" ], "8000F290": [ "lwz r3, -0x7CE0 (r13)", "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" ], "8000F30C": [ "lwz r0, -0x7CE4 (r13)", "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" ], "8000F344": [ "lwz r3, -0x7CE4 (r13)", "addi r0, r3, 8", "lwzx r0, r29, r0", "cmplw r26, r0", "blt+ 0x8000F264 ", "li r3, -1 // Bad path", "b 0x8000F37C" ], "8000F360": [ "cmpwi r30, 0", "bne- 0x8000F370 ", "mr r3, r26", "b 0x8000F37C" ], "8000F370": [ "add r23, r27, r23", "addi r23, r23, 1", "b 0x8000F0C0" ], "8000F37C": [ "lmw r20, 24 (r1)", "lwz r0, 76 (r1)", "addi r1, r1, 72", "mtlr r0", "blr" ] } }