mirror of
https://github.com/emu-russia/pureikyubu.git
synced 2025-04-02 10:42:15 -04:00
360 lines
6.5 KiB
JSON
360 lines
6.5 KiB
JSON
{
|
|
"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"
|
|
]
|
|
|
|
}
|
|
|
|
}
|