# functions

name: IOS_Open
address: 296864
prototype: int()
primes_value: 7
mangled_function: IOS_Open
bytes_hash: 68b14482661239a64677159d3a3f4453
prototype2: s32(const unsigned __int8 *filepath, u32 mode)
rva: 296864
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
switches: []
function_hash: 86e9ac452fff1d90f05220f98f5be880
md_index: 1.703287923549910974286694706
constants: []
segment_rva: 252
mnemonics:
  ["stwu", "mflr", "stmw", "mr.", "stw", "mr", "li", "beq", "bl", "li", "mr.", "beq", "li", "mr", "stw", "li", "stw", "li", "stw", "bl", "addi", "mr", "clrlwi", "bl", "stw", "mr", "stw", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["strnlen", "__argv_0", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "DCFlushRange", "_start", "_restgpr_28_x"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r28, 0x18+var_10(r1)
  mr.       r30, r3
  stw       r0, 0x18+sender_lr(r1)
  mr        r29, r4
  li        r28, -4
  beq       loc_4881C
  loc_487c0:
  bl        __ipc_allocreq
  li        r28, -0x16
  mr.       r31, r3
  beq       loc_4881C
  loc_487d0:
  li        r0, 1
  mr        r3, r30
  stw       r0, 0(r31)
  li        r0, 0
  stw       r0, 0x20(r31)
  li        r4, 0x40 # '@'
  stw       r0, 0x28(r31)
  bl        strnlen
  addi      r4, r3, 1
  mr        r3, r30
  clrlwi    r30, r30, 2
  bl        DCFlushRange
  stw       r30, 0xC(r31)
  mr        r3, r31# req
  stw       r29, 0x10(r31)
  bl        __ipc_syncrequest
  mr        r28, r3
  mr        r3, r31# ptr
  bl        __ipc_freereq
  loc_4881c:
  addi      r11, r1, 0x18+pre_back_chain
  mr        r3, r28
  b         _restgpr_28_x
  loc_15e3d0:
  .extern _restgpr_28_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r28, 0x18+var_10(r1)
  mr.       r30, r3
  stw       r0, 0x18+sender_lr(r1)
  mr        r29, r4
  li        r28, -4
  beq       XXXX
  XXXX:
  bl        __ipc_allocreq
  li        r28, -0x16
  mr.       r31, r3
  beq       XXXX
  XXXX:
  li        r0, 1
  mr        r3, r30
  stw       r0, 0(r31)
  li        r0, 0
  stw       r0, 0x20(r31)
  li        r4, 0x40
  stw       r0, 0x28(r31)
  bl        strnlen
  addi      r4, r3, 1
  mr        r3, r30
  clrlwi    r30, r30, 2
  bl        DCFlushRange
  stw       r30, 0xC(r31)
  mr        r3, r31# req
  stw       r29, 0x10(r31)
  bl        __ipc_syncrequest
  mr        r28, r3
  mr        r3, r31# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x18+pre_back_chain
  mr        r3, r28
  b         _restgpr_28_x
  XXXX:
  .extern _restgpr_28_x

mnemonics_spp:
  5533265544835289486955846460999155450865156923343870396177836666097124969456374253130305845847451389


name: IOS_OpenAsync
address: 297000
prototype: int()
primes_value: 3
mangled_function: IOS_OpenAsync
bytes_hash: 39d3e0b60e15ec64405a311be0d91e23
prototype2: s32(const unsigned __int8 *filepath, u32 mode, ipccallback ipc_cb, void *usrdata)
rva: 297000
tarjan_topological_sort: [[0], [2], [4], [1], [3]]
strongly_connected_spp: 1
switches: []
function_hash: 2afd25be2e598dbbfc92f2088e1c9873
md_index: 1.433525310453458947282319581
constants: []
segment_rva: 480
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "bl", "mr.", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "li", "bl", "addi", "mr", "clrlwi", "bl", "stw", "mr", "stw", "lwz", "lmw", "mtlr", "addi", "b", "addi", "li", "b", "mr", "bclr"]

names:
  ["strnlen", "__ipc_asyncrequest", "__ipc_allocreq", "startup", "DCFlushRange", "_start", "_restgpr_27_x"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r30, r4
  mr        r28, r5
  mr        r27, r6
  bl        __ipc_allocreq
  mr.       r29, r3
  beq       loc_488A8
  loc_479d8:
  mr        r11, r1
  loc_48854:
  li        r0, 1
  stw       r28, 0x20(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x28(r29)
  mr        r3, r31
  stw       r27, 0x24(r29)
  li        r4, 0x40 # '@'
  bl        strnlen
  addi      r4, r3, 1
  mr        r3, r31
  clrlwi    r31, r31, 2
  bl        DCFlushRange
  stw       r31, 0xC(r29)
  mr        r3, r29
  stw       r30, 0x10(r29)
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r27, 0x20+var_14(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  loc_488a8:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r30, r4
  mr        r28, r5
  mr        r27, r6
  bl        __ipc_allocreq
  mr.       r29, r3
  beq       XXXX
  XXXX:
  mr        r11, r1
  XXXX:
  li        r0, 1
  stw       r28, 0x20(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x28(r29)
  mr        r3, r31
  stw       r27, 0x24(r29)
  li        r4, 0x40
  bl        strnlen
  addi      r4, r3, 1
  mr        r3, r31
  clrlwi    r31, r31, 2
  bl        DCFlushRange
  stw       r31, 0xC(r29)
  mr        r3, r29
  stw       r30, 0x10(r29)
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r27, 0x20+var_14(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x

mnemonics_spp:
  1644464149824111736355170308682999416091270530193133343980093344998755111480118538596727270048875091701467396454110551


name: IOS_Close
address: 297140
prototype: int()
primes_value: 5
mangled_function: IOS_Close
bytes_hash: ce1af2421de4ca43ef227fc6229e47ab
prototype2: s32(s32 fd)
rva: 297140
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 1571176931480929296456219476610832743549128856048466580569938258363077
switches: []
function_hash: fca2fcfef8dd31719051fb60915fa762
md_index: 1.288678829894477420686681368
constants: []
segment_rva: 124
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "bl", "mr.", "li", "beq", "li", "stw", "stw", "li", "stw", "stw", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["__argv_0", "_restgpr_29_x", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r29, r3
  stw       r0, 0x18+sender_lr(r1)
  bl        __ipc_allocreq
  mr.       r31, r3
  li        r30, -0x16
  beq       loc_48900
  loc_488d8:
  li        r0, 2
  stw       r29, 8(r31)
  stw       r0, 0(r31)
  li        r0, 0
  stw       r0, 0x20(r31)
  stw       r0, 0x28(r31)
  bl        __ipc_syncrequest
  mr        r30, r3
  mr        r3, r31# ptr
  bl        __ipc_freereq
  loc_48900:
  addi      r11, r1, 0x18+pre_back_chain
  mr        r3, r30
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r29, r3
  stw       r0, 0x18+sender_lr(r1)
  bl        __ipc_allocreq
  mr.       r31, r3
  li        r30, -0x16
  beq       XXXX
  XXXX:
  li        r0, 2
  stw       r29, 8(r31)
  stw       r0, 0(r31)
  li        r0, 0
  stw       r0, 0x20(r31)
  stw       r0, 0x28(r31)
  bl        __ipc_syncrequest
  mr        r30, r3
  mr        r3, r31# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x18+pre_back_chain
  mr        r3, r30
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x


name: IOS_CloseAsync
address: 297228
names: ["__argv_0", "__ipc_asyncrequest", "__ipc_allocreq", "startup", "_start", "_restgpr_29_x"]
prototype: int()
primes_value: 3
mangled_function: IOS_CloseAsync
bytes_hash: 93546f09b024caf3608484985c3107c9
prototype2: s32(s32 fd, ipccallback ipc_cb, void *usrdata)
rva: 297228
tarjan_topological_sort: [[0], [2], [4], [1], [3]]
strongly_connected_spp: 1
mnemonics_spp: 63836661919323920425597596048712297824291161235195560794201352573354004500687028166079413
switches: []
function_hash: e464d115044d97ded398134ceb93a1a7
md_index: 1.433525310453458947282319581
constants: []
segment_rva: 124
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "bl", "mr.", "beq", "li", "stw", "stw", "li", "stw", "stw", "stw", "lwz", "lmw", "mtlr", "addi", "b", "addi", "li", "b", "mr", "bclr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r31, r3
  stw       r0, 0x18+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  bl        __ipc_allocreq
  mr.       r9, r3
  beq       loc_48964
  loc_479d8:
  mr        r11, r1
  loc_48934:
  li        r0, 2
  stw       r31, 8(r9)
  stw       r0, 0(r9)
  li        r0, 0
  stw       r30, 0x20(r9)
  stw       r29, 0x24(r9)
  stw       r0, 0x28(r9)
  lwz       r0, 0x18+sender_lr(r1)
  lmw       r29, 0x18+var_C(r1)
  mtlr      r0
  addi      r1, r1, 0x18
  b         __ipc_asyncrequest
  loc_48964:
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, -0x16
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r31, r3
  stw       r0, 0x18+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  bl        __ipc_allocreq
  mr.       r9, r3
  beq       XXXX
  XXXX:
  mr        r11, r1
  XXXX:
  li        r0, 2
  stw       r31, 8(r9)
  stw       r0, 0(r9)
  li        r0, 0
  stw       r30, 0x20(r9)
  stw       r29, 0x24(r9)
  stw       r0, 0x28(r9)
  lwz       r0, 0x18+sender_lr(r1)
  lmw       r29, 0x18+var_C(r1)
  mtlr      r0
  addi      r1, r1, 0x18
  b         __ipc_asyncrequest
  XXXX:
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, -0x16
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x


name: IOS_Read
address: 297328
prototype: int()
primes_value: 5
mangled_function: IOS_Read
bytes_hash: 8ff97169cdcc7a39517ab8215ebc109a
prototype2: s32(s32 fd, void *buf, s32 len)
rva: 297328
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
switches: []
function_hash: f9e62e0276d4e4be19a1c497238e83c7
md_index: 1.288678829894477420686681368
constants: []
segment_rva: 480
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "bl", "mr.", "li", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "mr", "clrlwi", "bl", "stw", "stw", "mr", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["__argv_0", "__ipc_allocreq", "startup", "DCInvalidateRange", "__ipc_syncrequest", "__ipc_freereq", "_start", "_restgpr_27_x"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r28, r5
  bl        __ipc_allocreq
  mr.       r29, r3
  li        r27, -0x16
  beq       loc_489E0
  loc_4899c:
  li        r0, 3
  stw       r30, 8(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x20(r29)
  mr        r3, r31
  stw       r0, 0x28(r29)
  mr        r4, r28
  clrlwi    r31, r31, 2
  bl        DCInvalidateRange
  stw       r31, 0xC(r29)
  stw       r28, 0x10(r29)
  mr        r3, r29# req
  bl        __ipc_syncrequest
  mr        r27, r3
  mr        r3, r29# ptr
  bl        __ipc_freereq
  loc_489e0:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r27
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r28, r5
  bl        __ipc_allocreq
  mr.       r29, r3
  li        r27, -0x16
  beq       XXXX
  XXXX:
  li        r0, 3
  stw       r30, 8(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x20(r29)
  mr        r3, r31
  stw       r0, 0x28(r29)
  mr        r4, r28
  clrlwi    r31, r31, 2
  bl        DCInvalidateRange
  stw       r31, 0xC(r29)
  stw       r28, 0x10(r29)
  mr        r3, r29# req
  bl        __ipc_syncrequest
  mr        r27, r3
  mr        r3, r29# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r27
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x

mnemonics_spp:
  28322257319539688534944269239740998048941401835028649137000135263867645039238552354919304522052949649


name: IOS_ReadAsync
address: 297452
prototype: int()
primes_value: 3
mangled_function: IOS_ReadAsync
bytes_hash: 5040e98686fff5fa2c85d6d47b716e8e
prototype2: s32(s32 fd, void *buf, s32 len, ipccallback ipc_cb, void *usrdata)
rva: 297452
tarjan_topological_sort: [[0], [2], [4], [1], [3]]
strongly_connected_spp: 1
switches: []
function_hash: 48f802dd2b9387e387b0c0e7c7915d48
md_index: 1.433525310453458947282319581
constants: []
segment_rva: 244
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "mr.", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "mr", "stw", "clrlwi", "bl", "stw", "stw", "mr", "lwz", "lmw", "mtlr", "addi", "b", "addi", "li", "b", "mr", "bclr"]

names:
  ["__argv_0", "__ipc_asyncrequest", "__ipc_allocreq", "startup", "DCInvalidateRange", "_restgpr_26_x", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x20+var_18(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r29, r5
  mr        r27, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r28, r3
  beq       loc_48A68
  loc_479d8:
  mr        r11, r1
  loc_48a1c:
  li        r0, 3
  stw       r30, 8(r28)
  stw       r0, 0(r28)
  li        r0, 0
  stw       r0, 0x28(r28)
  mr        r3, r31
  stw       r27, 0x20(r28)
  mr        r4, r29
  stw       r26, 0x24(r28)
  clrlwi    r31, r31, 2
  bl        DCInvalidateRange
  stw       r31, 0xC(r28)
  stw       r29, 0x10(r28)
  mr        r3, r28
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r26, 0x20+var_18(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  loc_48a68:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_26_x
  loc_15e3c8:
  .extern _restgpr_26_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x20+var_18(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r29, r5
  mr        r27, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r28, r3
  beq       XXXX
  XXXX:
  mr        r11, r1
  XXXX:
  li        r0, 3
  stw       r30, 8(r28)
  stw       r0, 0(r28)
  li        r0, 0
  stw       r0, 0x28(r28)
  mr        r3, r31
  stw       r27, 0x20(r28)
  mr        r4, r29
  stw       r26, 0x24(r28)
  clrlwi    r31, r31, 2
  bl        DCInvalidateRange
  stw       r31, 0xC(r28)
  stw       r29, 0x10(r28)
  mr        r3, r28
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r26, 0x20+var_18(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_26_x
  XXXX:
  .extern _restgpr_26_x

mnemonics_spp:
  1150728685658212015936882170661088592582455883744945420315560965292988477119828700865215046851637945653958537201613868481


name: IOS_Write
address: 297588
prototype: int()
primes_value: 5
mangled_function: IOS_Write
bytes_hash: 3d0d56672c26a2b733080c3b9f2efb78
prototype2: s32(s32 fd, const void *buf, s32 len)
rva: 297588
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
switches: []
function_hash: 9abe6f915be4d278d193d7ca84256c9f
md_index: 1.288678829894477420686681368
constants: []
segment_rva: 480
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "bl", "mr.", "li", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "mr", "clrlwi", "bl", "stw", "stw", "mr", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["__argv_0", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "DCFlushRange", "_start", "_restgpr_27_x"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r28, r5
  bl        __ipc_allocreq
  mr.       r29, r3
  li        r27, -0x16
  beq       loc_48AE4
  loc_48aa0:
  li        r0, 4
  stw       r30, 8(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x20(r29)
  mr        r3, r31
  stw       r0, 0x28(r29)
  mr        r4, r28
  clrlwi    r31, r31, 2
  bl        DCFlushRange
  stw       r31, 0xC(r29)
  stw       r28, 0x10(r29)
  mr        r3, r29# req
  bl        __ipc_syncrequest
  mr        r27, r3
  mr        r3, r29# ptr
  bl        __ipc_freereq
  loc_48ae4:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r27
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r28, r5
  bl        __ipc_allocreq
  mr.       r29, r3
  li        r27, -0x16
  beq       XXXX
  XXXX:
  li        r0, 4
  stw       r30, 8(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x20(r29)
  mr        r3, r31
  stw       r0, 0x28(r29)
  mr        r4, r28
  clrlwi    r31, r31, 2
  bl        DCFlushRange
  stw       r31, 0xC(r29)
  stw       r28, 0x10(r29)
  mr        r3, r29# req
  bl        __ipc_syncrequest
  mr        r27, r3
  mr        r3, r29# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r27
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x

mnemonics_spp:
  28322257319539688534944269239740998048941401835028649137000135263867645039238552354919304522052949649


name: IOS_WriteAsync
address: 297712
prototype: int()
primes_value: 3
mangled_function: IOS_WriteAsync
bytes_hash: 251cc9e1cf8b86391bae70b313f1b9de
prototype2: s32(s32 fd, const void *buf, s32 len, ipccallback ipc_cb, void *usrdata)
rva: 297712
tarjan_topological_sort: [[0], [2], [4], [1], [3]]
strongly_connected_spp: 1
switches: []
function_hash: cb92caf935f5b847ba19e720a0c2c915
md_index: 1.433525310453458947282319581
constants: []
segment_rva: 244
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "mr.", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "mr", "stw", "clrlwi", "bl", "stw", "stw", "mr", "lwz", "lmw", "mtlr", "addi", "b", "addi", "li", "b", "mr", "bclr"]

names:
  ["__argv_0", "__ipc_asyncrequest", "__ipc_allocreq", "startup", "_restgpr_26_x", "DCFlushRange", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x20+var_18(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r29, r5
  mr        r27, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r28, r3
  beq       loc_48B6C
  loc_479d8:
  mr        r11, r1
  loc_48b20:
  li        r0, 4
  stw       r30, 8(r28)
  stw       r0, 0(r28)
  li        r0, 0
  stw       r0, 0x28(r28)
  mr        r3, r31
  stw       r27, 0x20(r28)
  mr        r4, r29
  stw       r26, 0x24(r28)
  clrlwi    r31, r31, 2
  bl        DCFlushRange
  stw       r31, 0xC(r28)
  stw       r29, 0x10(r28)
  mr        r3, r28
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r26, 0x20+var_18(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  loc_48b6c:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_26_x
  loc_15e3c8:
  .extern _restgpr_26_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x20+var_18(r1)
  mr        r30, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r4
  mr        r29, r5
  mr        r27, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r28, r3
  beq       XXXX
  XXXX:
  mr        r11, r1
  XXXX:
  li        r0, 4
  stw       r30, 8(r28)
  stw       r0, 0(r28)
  li        r0, 0
  stw       r0, 0x28(r28)
  mr        r3, r31
  stw       r27, 0x20(r28)
  mr        r4, r29
  stw       r26, 0x24(r28)
  clrlwi    r31, r31, 2
  bl        DCFlushRange
  stw       r31, 0xC(r28)
  stw       r29, 0x10(r28)
  mr        r3, r28
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r26, 0x20+var_18(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_26_x
  XXXX:
  .extern _restgpr_26_x

mnemonics_spp:
  1150728685658212015936882170661088592582455883744945420315560965292988477119828700865215046851637945653958537201613868481


name: IOS_Seek
address: 297848
prototype: int()
primes_value: 5
mangled_function: IOS_Seek
bytes_hash: 3fb364606e6b31416f43ee1332049cfa
prototype2: s32(s32 fd, s32 where, s32 whence)
rva: 297848
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 52604434679071471104562083001688595428363658555717910759810052586878626095332960847893
switches: []
function_hash: 571e2926618e3d5feb79ecc9c9604d81
md_index: 1.288678829894477420686681368
constants: []
segment_rva: 480
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "bl", "mr.", "li", "beq", "li", "stw", "stw", "li", "stw", "stw", "stw", "stw", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["__argv_0", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "_start", "_restgpr_27_x"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r30, r4
  mr        r27, r5
  bl        __ipc_allocreq
  mr.       r29, r3
  li        r28, -0x16
  beq       loc_48BD4
  loc_48ba4:
  li        r0, 5
  stw       r31, 8(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x20(r29)
  stw       r0, 0x28(r29)
  stw       r30, 0xC(r29)
  stw       r27, 0x10(r29)
  bl        __ipc_syncrequest
  mr        r28, r3
  mr        r3, r29# ptr
  bl        __ipc_freereq
  loc_48bd4:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r28
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r30, r4
  mr        r27, r5
  bl        __ipc_allocreq
  mr.       r29, r3
  li        r28, -0x16
  beq       XXXX
  XXXX:
  li        r0, 5
  stw       r31, 8(r29)
  stw       r0, 0(r29)
  li        r0, 0
  stw       r0, 0x20(r29)
  stw       r0, 0x28(r29)
  stw       r30, 0xC(r29)
  stw       r27, 0x10(r29)
  bl        __ipc_syncrequest
  mr        r28, r3
  mr        r3, r29# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r28
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x


name: IOS_SeekAsync
address: 297952
names: ["__argv_0", "__ipc_asyncrequest", "__ipc_allocreq", "startup", "_start", "_restgpr_27_x"]
prototype: int()
primes_value: 3
mangled_function: IOS_SeekAsync
bytes_hash: e33a010302f71b16c03dba5b62d930aa
prototype2: s32(s32 fd, s32 where, s32 whence, ipccallback ipc_cb, void *usrdata)
rva: 297952
tarjan_topological_sort: [[0], [2], [4], [1], [3]]
strongly_connected_spp: 1
switches: []
function_hash: d2eca96b923c537745f4f1c8c0e76c03
md_index: 1.433525310453458947282319581
constants: []
segment_rva: 480
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "mr.", "beq", "li", "stw", "stw", "li", "stw", "stw", "stw", "stw", "stw", "lwz", "lmw", "mtlr", "addi", "b", "addi", "li", "b", "mr", "bclr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  mr        r28, r6
  mr        r27, r7
  bl        __ipc_allocreq
  mr.       r9, r3
  beq       loc_48C48
  loc_479d8:
  mr        r11, r1
  loc_48c10:
  li        r0, 5
  stw       r31, 8(r9)
  stw       r0, 0(r9)
  li        r0, 0
  stw       r28, 0x20(r9)
  stw       r27, 0x24(r9)
  stw       r0, 0x28(r9)
  stw       r30, 0xC(r9)
  stw       r29, 0x10(r9)
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r27, 0x20+var_14(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  loc_48c48:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r27, 0x20+var_14(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  mr        r28, r6
  mr        r27, r7
  bl        __ipc_allocreq
  mr.       r9, r3
  beq       XXXX
  XXXX:
  mr        r11, r1
  XXXX:
  li        r0, 5
  stw       r31, 8(r9)
  stw       r0, 0(r9)
  li        r0, 0
  stw       r28, 0x20(r9)
  stw       r27, 0x24(r9)
  stw       r0, 0x28(r9)
  stw       r30, 0xC(r9)
  stw       r29, 0x10(r9)
  lwz       r0, 0x20+sender_lr(r1)
  lmw       r27, 0x20+var_14(r1)
  mtlr      r0
  addi      r1, r1, 0x20
  b         __ipc_asyncrequest
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  li        r3, -0x16
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x

mnemonics_spp:
  2137309582886912704169874378883606023825399195511229581861345262852783157495235926766835418374734454208517


name: IOS_Ioctl
address: 298068
prototype: int()
primes_value: 5
mangled_function: IOS_Ioctl
bytes_hash: 2ebc6b49ba58a7e5b45f669c3b1f4d72
prototype2: s32(s32 fd, s32 ioctl, void *buffer_in, s32 len_in, void *buffer_io, s32 len_io)
rva: 298068
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
switches: []
function_hash: d357e125d3ee5cdca2a3db4a00824582
md_index: 1.288678829894477420686681368
constants: []
segment_rva: 272
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "mr", "bl", "li", "mr.", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "clrlwi", "stw", "clrlwi", "stw", "mr", "stw", "stw", "stw", "bl", "mr", "mr", "bl", "mr", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["_restgpr_24_x", "__argv_0", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "DCFlushRange", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r24, 0x28+var_20(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  mr        r27, r6
  mr        r28, r7
  mr        r25, r8
  bl        __ipc_allocreq
  li        r24, -0x16
  mr.       r26, r3
  beq       loc_48CEC
  loc_48c8c:
  li        r0, 6
  stw       r31, 8(r26)
  stw       r0, 0(r26)
  li        r0, 0
  stw       r0, 0x20(r26)
  mr        r3, r29
  stw       r0, 0x28(r26)
  clrlwi    r0, r29, 2
  stw       r0, 0x10(r26)
  clrlwi    r0, r28, 2
  stw       r0, 0x18(r26)
  mr        r4, r27
  stw       r30, 0xC(r26)
  stw       r27, 0x14(r26)
  stw       r25, 0x1C(r26)
  bl        DCFlushRange
  mr        r3, r28
  mr        r4, r25
  bl        DCFlushRange
  mr        r3, r26# req
  bl        __ipc_syncrequest
  mr        r24, r3
  mr        r3, r26# ptr
  bl        __ipc_freereq
  loc_48cec:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r24
  b         _restgpr_24_x
  loc_15e3e4:
  .extern _restgpr_24_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r24, 0x28+var_20(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  mr        r27, r6
  mr        r28, r7
  mr        r25, r8
  bl        __ipc_allocreq
  li        r24, -0x16
  mr.       r26, r3
  beq       XXXX
  XXXX:
  li        r0, 6
  stw       r31, 8(r26)
  stw       r0, 0(r26)
  li        r0, 0
  stw       r0, 0x20(r26)
  mr        r3, r29
  stw       r0, 0x28(r26)
  clrlwi    r0, r29, 2
  stw       r0, 0x10(r26)
  clrlwi    r0, r28, 2
  stw       r0, 0x18(r26)
  mr        r4, r27
  stw       r30, 0xC(r26)
  stw       r27, 0x14(r26)
  stw       r25, 0x1C(r26)
  bl        DCFlushRange
  mr        r3, r28
  mr        r4, r25
  bl        DCFlushRange
  mr        r3, r26# req
  bl        __ipc_syncrequest
  mr        r24, r3
  mr        r3, r26# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r24
  b         _restgpr_24_x
  XXXX:
  .extern _restgpr_24_x

mnemonics_spp:
  7539159115227231094812344704135108200123347686735271161369874863590156026012881539984574972117722563589675432550668979327550482685999171


name: IOS_IoctlAsync
address: 298232
prototype: int()
primes_value: 3
mangled_function: IOS_IoctlAsync
bytes_hash: 8d687c8a39d5d7b5bb4bca13d3b44847
rva: 298232
tarjan_topological_sort: [[0], [2], [4], [1], [3]]
strongly_connected_spp: 1
switches: []
function_hash: 206b906f5744fe316ae70b25e1151e0b
md_index: 1.433525310453458947282319581
constants: []
segment_rva: 24
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "mr", "mr", "mr", "bl", "mr.", "beq", "li", "stw", "stw", "li", "stw", "clrlwi", "stw", "clrlwi", "stw", "mr", "stw", "mr", "stw", "stw", "stw", "stw", "bl", "mr", "mr", "bl", "lwz", "mr", "lmw", "mtlr", "addi", "b", "addi", "li", "b", "mr", "bclr"]

names:
  ["__argv_0", "__ipc_asyncrequest", "__ipc_allocreq", "startup", "_restgpr_23_x", "DCFlushRange", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r23, 0x30+var_24(r1)
  mr        r31, r3
  stw       r0, 0x30+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  mr        r27, r6
  mr        r28, r7
  mr        r26, r8
  mr        r24, r9
  mr        r23, r10
  bl        __ipc_allocreq
  mr.       r25, r3
  beq       loc_48D9C
  loc_479d8:
  mr        r11, r1
  loc_48d34:
  li        r0, 6
  stw       r31, 8(r25)
  stw       r0, 0(r25)
  li        r0, 0
  stw       r0, 0x28(r25)
  clrlwi    r0, r29, 2
  stw       r0, 0x10(r25)
  clrlwi    r0, r28, 2
  stw       r0, 0x18(r25)
  mr        r3, r29
  stw       r24, 0x20(r25)
  mr        r4, r27
  stw       r23, 0x24(r25)
  stw       r30, 0xC(r25)
  stw       r27, 0x14(r25)
  stw       r26, 0x1C(r25)
  bl        DCFlushRange
  mr        r3, r28
  mr        r4, r26
  bl        DCFlushRange
  lwz       r0, 0x30+sender_lr(r1)
  mr        r3, r25
  lmw       r23, 0x30+var_24(r1)
  mtlr      r0
  addi      r1, r1, 0x30
  b         __ipc_asyncrequest
  loc_48d9c:
  addi      r11, r1, 0x30+pre_back_chain
  li        r3, -0x16
  b         _restgpr_23_x
  loc_15e2ec:
  .extern _restgpr_23_x

prototype2:
  s32(s32 fd, s32 ioctl, void *buffer_in, s32 len_in, void *buffer_io, s32 len_io, ipccallback ipc_cb, void *usrdata)

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r23, 0x30+var_24(r1)
  mr        r31, r3
  stw       r0, 0x30+sender_lr(r1)
  mr        r30, r4
  mr        r29, r5
  mr        r27, r6
  mr        r28, r7
  mr        r26, r8
  mr        r24, r9
  mr        r23, r10
  bl        __ipc_allocreq
  mr.       r25, r3
  beq       XXXX
  XXXX:
  mr        r11, r1
  XXXX:
  li        r0, 6
  stw       r31, 8(r25)
  stw       r0, 0(r25)
  li        r0, 0
  stw       r0, 0x28(r25)
  clrlwi    r0, r29, 2
  stw       r0, 0x10(r25)
  clrlwi    r0, r28, 2
  stw       r0, 0x18(r25)
  mr        r3, r29
  stw       r24, 0x20(r25)
  mr        r4, r27
  stw       r23, 0x24(r25)
  stw       r30, 0xC(r25)
  stw       r27, 0x14(r25)
  stw       r26, 0x1C(r25)
  bl        DCFlushRange
  mr        r3, r28
  mr        r4, r26
  bl        DCFlushRange
  lwz       r0, 0x30+sender_lr(r1)
  mr        r3, r25
  lmw       r23, 0x30+var_24(r1)
  mtlr      r0
  addi      r1, r1, 0x30
  b         __ipc_asyncrequest
  XXXX:
  addi      r11, r1, 0x30+pre_back_chain
  li        r3, -0x16
  b         _restgpr_23_x
  XXXX:
  .extern _restgpr_23_x

mnemonics_spp:
  306314802586313076021933380964552680913953888913182682395067068361396147208047034354917703731938398728924887425275891262952151261154848662910318512862886099


name: IOS_Ioctlv
address: 298408
prototype: int()
primes_value: 23
mangled_function: IOS_Ioctlv
bytes_hash: 36dce0d47efa0661bb9ae9e2089193b3
prototype2: s32(s32 fd, s32 ioctl, s32 cnt_in, s32 cnt_io, ioctlv *argv)
rva: 298408
tarjan_topological_sort: [[0], [1], [6, 2, 3, 4, 5], [7], [12, 8, 9, 10, 11], [13], [14], [15]]
strongly_connected_spp: 169
switches: []
function_hash: a466220563318e6b575e59e6450da1d1
md_index: 5.736072665893994915387693546
constants: []
segment_rva: 260
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "mr.", "li", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "clrlwi", "stw", "li", "stw", "stw", "stw", "b", "lwz", "cmpwi", "beq", "lwz", "cmpwi", "beq+", "bl", "lwz", "clrlwi", "stw", "addi", "addi", "cmpw", "blt", "slwi", "li", "li", "add", "b", "lwzx", "cmpwi", "beq", "add", "lwz", "cmpwi", "beq+", "bl", "lwzx", "clrlwi", "stwx", "addi", "addi", "cmpw", "blt", "add", "mr", "slwi", "bl", "mr", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["_restgpr_25_x", "__argv_0", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "DCFlushRange", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x28+var_1C(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r27, r3
  li        r25, -0x16
  beq       loc_48EC0
  loc_48ddc:
  li        r0, 7
  stw       r31, 8(r27)
  stw       r0, 0(r27)
  li        r0, 0
  stw       r0, 0x20(r27)
  mr        r31, r26
  stw       r0, 0x28(r27)
  clrlwi    r0, r26, 2
  stw       r29, 0xC(r27)
  li        r29, 0
  stw       r30, 0x10(r27)
  stw       r28, 0x14(r27)
  stw       r0, 0x18(r27)
  b         loc_48E44
  loc_48e14:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, loc_48E3C
  loc_48e20:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_48E3C
  loc_48e2c:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  loc_48e3c:
  addi      r29, r29, 1
  addi      r31, r31, 8
  loc_48e44:
  cmpw      cr7, r29, r30
  blt       cr7, loc_48E14
  loc_48e4c:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r26, r29
  b         loc_48E94
  loc_48e60:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, loc_48E8C
  loc_48e6c:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_48E8C
  loc_48e7c:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  loc_48e8c:
  addi      r25, r25, 1
  addi      r31, r31, 8
  loc_48e94:
  cmpw      cr7, r25, r28
  blt       cr7, loc_48E60
  loc_48e9c:
  add       r30, r30, r28
  mr        r3, r26
  slwi      r4, r30, 3
  bl        DCFlushRange
  mr        r3, r27# req
  bl        __ipc_syncrequest
  mr        r25, r3
  mr        r3, r27# ptr
  bl        __ipc_freereq
  loc_48ec0:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  loc_15e3d8:
  .extern _restgpr_25_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x28+var_1C(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r27, r3
  li        r25, -0x16
  beq       XXXX
  XXXX:
  li        r0, 7
  stw       r31, 8(r27)
  stw       r0, 0(r27)
  li        r0, 0
  stw       r0, 0x20(r27)
  mr        r31, r26
  stw       r0, 0x28(r27)
  clrlwi    r0, r26, 2
  stw       r29, 0xC(r27)
  li        r29, 0
  stw       r30, 0x10(r27)
  stw       r28, 0x14(r27)
  stw       r0, 0x18(r27)
  b         XXXX
  XXXX:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  XXXX:
  addi      r29, r29, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r29, r30
  blt       cr7, XXXX
  XXXX:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r26, r29
  b         XXXX
  XXXX:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  XXXX:
  addi      r25, r25, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r25, r28
  blt       cr7, XXXX
  XXXX:
  add       r30, r30, r28
  mr        r3, r26
  slwi      r4, r30, 3
  bl        DCFlushRange
  mr        r3, r27# req
  bl        __ipc_syncrequest
  mr        r25, r3
  mr        r3, r27# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  XXXX:
  .extern _restgpr_25_x

mnemonics_spp:
  1881378434906887943866045596361888994108080630561877093514111289525941104213349127876904368670946078867817364217871221801078192828810570402371464683302376397400557480546173629867660745215205505155687589889406459


name: IOS_IoctlvAsync
address: 298700
prototype: int()
primes_value: 19
mangled_function: IOS_IoctlvAsync
bytes_hash: 1efa71288b64a16559f735703138c6c3
prototype2: s32(s32 fd, s32 ioctl, s32 cnt_in, s32 cnt_io, ioctlv *argv, ipccallback ipc_cb, void *usrdata)
rva: 298700
tarjan_topological_sort: [[0], [14], [16], [1], [6, 2, 3, 4, 5], [7], [12, 8, 9, 10, 11], [13], [15]]
strongly_connected_spp: 169
switches: []
function_hash: e00f5e2ccc60b7981873b68990b4bc60
md_index: 5.651558448217902193334349056
constants: []
segment_rva: 272
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "mr", "mr", "bl", "mr.", "beq", "li", "stw", "stw", "li", "stw", "clrlwi", "stw", "mr", "stw", "li", "stw", "stw", "stw", "stw", "b", "lwz", "cmpwi", "beq", "lwz", "cmpwi", "beq+", "bl", "lwz", "clrlwi", "stw", "addi", "addi", "cmpw", "blt", "slwi", "li", "li", "add", "b", "lwzx", "cmpwi", "beq", "add", "lwz", "cmpwi", "beq+", "bl", "lwzx", "clrlwi", "stwx", "addi", "addi", "cmpw", "blt", "add", "mr", "slwi", "bl", "lwz", "mr", "lmw", "mtlr", "addi", "b", "addi", "li", "b", "mr", "bclr"]

names:
  ["_restgpr_24_x", "__argv_0", "__ipc_asyncrequest", "__ipc_allocreq", "startup", "DCFlushRange", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r24, 0x28+var_20(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r27, r7
  mr        r25, r8
  mr        r24, r9
  bl        __ipc_allocreq
  mr.       r26, r3
  beq       loc_48FF0
  loc_479d8:
  mr        r11, r1
  loc_48f04:
  li        r0, 7
  stw       r31, 8(r26)
  stw       r0, 0(r26)
  li        r0, 0
  stw       r0, 0x28(r26)
  clrlwi    r0, r27, 2
  stw       r29, 0xC(r26)
  mr        r31, r27
  stw       r25, 0x20(r26)
  li        r29, 0
  stw       r24, 0x24(r26)
  stw       r30, 0x10(r26)
  stw       r28, 0x14(r26)
  stw       r0, 0x18(r26)
  b         loc_48F70
  loc_48f40:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, loc_48F68
  loc_48f4c:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_48F68
  loc_48f58:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  loc_48f68:
  addi      r29, r29, 1
  addi      r31, r31, 8
  loc_48f70:
  cmpw      cr7, r29, r30
  blt       cr7, loc_48F40
  loc_48f78:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r27, r29
  b         loc_48FC0
  loc_48f8c:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, loc_48FB8
  loc_48f98:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_48FB8
  loc_48fa8:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  loc_48fb8:
  addi      r25, r25, 1
  addi      r31, r31, 8
  loc_48fc0:
  cmpw      cr7, r25, r28
  blt       cr7, loc_48F8C
  loc_48fc8:
  add       r30, r30, r28
  mr        r3, r27
  slwi      r4, r30, 3
  bl        DCFlushRange
  lwz       r0, 0x28+sender_lr(r1)
  mr        r3, r26
  lmw       r24, 0x28+var_20(r1)
  mtlr      r0
  addi      r1, r1, 0x28
  b         __ipc_asyncrequest
  loc_48ff0:
  addi      r11, r1, 0x28+pre_back_chain
  li        r3, -0x16
  b         _restgpr_24_x
  loc_15e3e4:
  .extern _restgpr_24_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r24, 0x28+var_20(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r27, r7
  mr        r25, r8
  mr        r24, r9
  bl        __ipc_allocreq
  mr.       r26, r3
  beq       XXXX
  XXXX:
  mr        r11, r1
  XXXX:
  li        r0, 7
  stw       r31, 8(r26)
  stw       r0, 0(r26)
  li        r0, 0
  stw       r0, 0x28(r26)
  clrlwi    r0, r27, 2
  stw       r29, 0xC(r26)
  mr        r31, r27
  stw       r25, 0x20(r26)
  li        r29, 0
  stw       r24, 0x24(r26)
  stw       r30, 0x10(r26)
  stw       r28, 0x14(r26)
  stw       r0, 0x18(r26)
  b         XXXX
  XXXX:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  XXXX:
  addi      r29, r29, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r29, r30
  blt       cr7, XXXX
  XXXX:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r27, r29
  b         XXXX
  XXXX:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  XXXX:
  addi      r25, r25, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r25, r28
  blt       cr7, XXXX
  XXXX:
  add       r30, r30, r28
  mr        r3, r27
  slwi      r4, r30, 3
  bl        DCFlushRange
  lwz       r0, 0x28+sender_lr(r1)
  mr        r3, r26
  lmw       r24, 0x28+var_20(r1)
  mtlr      r0
  addi      r1, r1, 0x28
  b         __ipc_asyncrequest
  XXXX:
  addi      r11, r1, 0x28+pre_back_chain
  li        r3, -0x16
  b         _restgpr_24_x
  XXXX:
  .extern _restgpr_24_x

mnemonics_spp:
  76440098301504076833439942992391744215160885527452982772820213223355842875145416791856858244462018577252760928573212163721759696121767068994072318232159029270742996401427768102699997357551986753670642454283997144105226316373551371


name: IOS_IoctlvFormat
address: 299004
prototype: int(s32 hId, s32 fd, s32 ioctl, unsigned __int8 *format, __int16)
primes_value: 11
mangled_function: IOS_IoctlvFormat
bytes_hash: c74ac17fb5dd573f3d77daac902daf01
prototype2: s32(s32 hId, s32 fd, s32 ioctl, const unsigned __int8 *format, ...)
rva: 299004
tarjan_topological_sort: [[0], [1], [2], [3], [5], [4], [6], [7]]
strongly_connected_spp: 1
switches: []
function_hash: 808301b24ca4ad09441d3849d2dff25f
md_index: 2.689082429981594866021253298
constants: [4294958832]
segment_rva: 260
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "stw", "stw", "stw", "stw", "bne", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "lis", "li", "addi", "mr", "mr", "li", "bl", "mr.", "beq", "li", "li", "bl", "li", "stb", "li", "mr", "stb", "addi", "mr", "stwu", "addi", "mr", "addi", "stw", "addi", "addi", "mr", "bl", "mr.", "bge+", "mr", "mr", "bl", "b", "lwz", "mr", "lwz", "mr", "lwz", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["_restgpr_25_x", "IOS_Ioctlv", "__argv_0", "memset", "__ioctlvfmtCB", "__ios_ioctlvformat_parse", "__lwp_heap_allocate", "__lwp_heap_free", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x98+var_1C(r1)
  mr        r29, r3
  stw       r0, 0x98+sender_lr(r1)
  mr        r30, r4
  mr        r31, r5
  stw       r7, 0x98+var_70(r1)
  stw       r8, 0x98+var_6C(r1)
  stw       r9, 0x98+var_68(r1)
  stw       r10, 0x98+var_64(r1)
  bne       cr1, loc_4904C
  loc_4902c:
  stfd      f1, 0x98+var_60(r1)
  stfd      f2, 0x98+var_58(r1)
  stfd      f3, 0x98+var_50(r1)
  stfd      f4, 0x98+var_48(r1)
  stfd      f5, 0x98+var_40(r1)
  stfd      f6, 0x98+var_38(r1)
  stfd      f7, 0x98+var_30(r1)
  stfd      f8, 0x98+var_28(r1)
  loc_4904c:
  lis       r27, __wkspace_heap@ha
  li        r4, 0x14# size
  addi      r27, r27, __wkspace_heap@l
  mr        r26, r6
  mr        r3, r27# theheap
  li        r25, -0x16
  bl        __lwp_heap_allocate
  mr.       r28, r3
  beq       loc_490F8
  loc_49070:
  li        r4, 0# c
  li        r5, 0x14# n
  bl        memset
  li        r0, 4
  stb       r0, 0x98+args(r1)
  li        r0, 0
  mr        r9, r1
  stb       r0, 0x98+args.fpr(r1)
  addi      r0, r1, 0x98+arg_8
  mr        r3, r26# format
  stwu      r0, 0x18(r9)
  addi      r4, r1, 0x98+args# args
  mr        r5, r28# cbdata
  addi      r6, r1, 0x98+cnt_in# cnt_in
  stw       r9, 0x98+args.reg_save_area(r1)
  addi      r7, r1, 0x98+cnt_io# cnt_io
  addi      r8, r1, 0x98+argv# argv
  mr        r9, r29# hId
  bl        __ios_ioctlvformat_parse
  mr.       r25, r3
  bge+      loc_490D4
  loc_490c4:
  mr        r3, r27# theheap
  mr        r4, r28# ptr
  bl        __lwp_heap_free
  b         loc_490F8
  loc_490d4:
  lwz       r5, 0x98+cnt_in(r1)# cnt_in
  mr        r4, r31# ioctl
  lwz       r6, 0x98+cnt_io(r1)# cnt_io
  mr        r3, r30# fd
  lwz       r7, 0x98+argv(r1)# argv
  bl        IOS_Ioctlv
  mr        r4, r28# userdata
  mr        r25, r3
  bl        __ioctlvfmtCB
  loc_490f8:
  addi      r11, r1, 0x98+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  loc_15e3d8:
  .extern _restgpr_25_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x98+var_1C(r1)
  mr        r29, r3
  stw       r0, 0x98+sender_lr(r1)
  mr        r30, r4
  mr        r31, r5
  stw       r7, 0x98+var_70(r1)
  stw       r8, 0x98+var_6C(r1)
  stw       r9, 0x98+var_68(r1)
  stw       r10, 0x98+var_64(r1)
  bne       cr1, XXXX
  XXXX:
  stfd      f1, 0x98+var_60(r1)
  stfd      f2, 0x98+var_58(r1)
  stfd      f3, 0x98+var_50(r1)
  stfd      f4, 0x98+var_48(r1)
  stfd      f5, 0x98+var_40(r1)
  stfd      f6, 0x98+var_38(r1)
  stfd      f7, 0x98+var_30(r1)
  stfd      f8, 0x98+var_28(r1)
  XXXX:
  lis       r27, __wkspace_heap@ha
  li        r4, 0x14# size
  addi      r27, r27, __wkspace_heap@l
  mr        r26, r6
  mr        r3, r27# theheap
  li        r25, -0x16
  bl        __lwp_heap_allocate
  mr.       r28, r3
  beq       XXXX
  XXXX:
  li        r4, 0# c
  li        r5, 0x14# n
  bl        memset
  li        r0, 4
  stb       r0, 0x98+args(r1)
  li        r0, 0
  mr        r9, r1
  stb       r0, 0x98+args.fpr(r1)
  addi      r0, r1, 0x98+aXXX
  mr        r3, r26# format
  stwu      r0, 0x18(r9)
  addi      r4, r1, 0x98+args# args
  mr        r5, r28# cbdata
  addi      r6, r1, 0x98+cnt_in# cnt_in
  stw       r9, 0x98+args.reg_save_area(r1)
  addi      r7, r1, 0x98+cnt_io# cnt_io
  addi      r8, r1, 0x98+argv# argv
  mr        r9, r29# hId
  bl        __ios_ioctlvformat_parse
  mr.       r25, r3
  bge+      XXXX
  XXXX:
  mr        r3, r27# theheap
  mr        r4, r28# ptr
  bl        __lwp_heap_free
  b         XXXX
  XXXX:
  lwz       r5, 0x98+cnt_in(r1)# cnt_in
  mr        r4, r31# ioctl
  lwz       r6, 0x98+cnt_io(r1)# cnt_io
  mr        r3, r30# fd
  lwz       r7, 0x98+argv(r1)# argv
  bl        IOS_Ioctlv
  mr        r4, r28# userdata
  mr        r25, r3
  bl        __ioctlvfmtCB
  XXXX:
  addi      r11, r1, 0x98+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  XXXX:
  .extern _restgpr_25_x

mnemonics_spp:
  90192850149672088627351554914834126549723067915385690190197474573419291450062491650175514105135344824906887868759281305212229717290532317887693458581589692085645930881517353986004466536204055403233501521722203


name: IOS_IoctlvFormatAsync
address: 299268
prototype: int(s32 hId, s32 fd, s32 ioctl, __int16)
primes_value: 11
mangled_function: IOS_IoctlvFormatAsync
bytes_hash: 11d6d7603fbd438e79b3ac45765ef914
rva: 299268
tarjan_topological_sort: [[0], [1], [2], [3], [5], [4], [6], [7]]
strongly_connected_spp: 1
switches: []
function_hash: e73c5ea99394b061ca42e766f76c94d3
md_index: 2.689082429981594866021253298
constants: [4294958832, 4294935660]
segment_rva: 24
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "stw", "stw", "bne", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "lis", "li", "addi", "mr", "mr", "li", "bl", "mr.", "beq", "li", "li", "bl", "li", "stb", "li", "stb", "addi", "addi", "mr", "addi", "mr", "addi", "addi", "mr", "stw", "stw", "bl", "mr.", "bge+", "mr", "mr", "bl", "b", "stw", "lis", "stw", "mr", "lwz", "mr", "lwz", "addi", "lwz", "mr", "bl", "mr", "addi", "mr", "b", "bclr"]

names:
  ["__argv_0", "IOS_IoctlvAsync", "memset", "__ios_ioctlvformat_parse", "__lwp_heap_allocate", "__lwp_heap_free", "_restgpr_23_x", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r23, 0x98+var_24(r1)
  mr        r27, r3
  stw       r0, 0x98+sender_lr(r1)
  mr        r30, r4
  mr        r31, r5
  mr        r28, r6
  mr        r29, r7
  stw       r9, 0x98+var_70(r1)
  stw       r10, 0x98+var_6C(r1)
  bne       cr1, loc_49154
  loc_49134:
  stfd      f1, 0x98+var_68(r1)
  stfd      f2, 0x98+var_60(r1)
  stfd      f3, 0x98+var_58(r1)
  stfd      f4, 0x98+var_50(r1)
  stfd      f5, 0x98+var_48(r1)
  stfd      f6, 0x98+var_40(r1)
  stfd      f7, 0x98+var_38(r1)
  stfd      f8, 0x98+var_30(r1)
  loc_49154:
  lis       r25, __wkspace_heap@ha
  li        r4, 0x14# size
  addi      r25, r25, __wkspace_heap@l
  mr        r24, r8
  mr        r3, r25# theheap
  li        r23, -0x16
  bl        __lwp_heap_allocate
  mr.       r26, r3
  beq       loc_49208
  loc_49178:
  li        r4, 0# c
  li        r5, 0x14# n
  bl        memset
  li        r0, 6
  stb       r0, 0x98+args(r1)
  li        r0, 0
  stb       r0, 0x98+args.fpr(r1)
  addi      r6, r1, 0x98+cnt_in# cnt_in
  addi      r0, r1, 0x98+arg_8
  mr        r3, r24# format
  addi      r4, r1, 0x98+args# args
  mr        r5, r26# cbdata
  addi      r7, r1, 0x98+cnt_io# cnt_io
  addi      r8, r1, 0x98+argv# argv
  mr        r9, r27# hId
  stw       r0, 0x98+args.overflow_arg_area(r1)
  stw       r6, 0x98+args.reg_save_area(r1)
  bl        __ios_ioctlvformat_parse
  mr.       r23, r3
  bge+      loc_491D8
  loc_491c8:
  mr        r3, r25# theheap
  mr        r4, r26# ptr
  bl        __lwp_heap_free
  b         loc_49208
  loc_491d8:
  stw       r28, 0(r26)
  lis       r8, __ioctlvfmtCB@ha
  stw       r29, 4(r26)
  mr        r3, r30# fd
  lwz       r5, 0x98+cnt_in(r1)# cnt_in
  mr        r4, r31# ioctl
  lwz       r6, 0x98+cnt_io(r1)# cnt_io
  addi      r8, r8, __ioctlvfmtCB@l# ipc_cb
  lwz       r7, 0x98+argv(r1)# argv
  mr        r9, r26# usrdata
  bl        IOS_IoctlvAsync
  mr        r23, r3
  loc_49208:
  addi      r11, r1, 0x98+pre_back_chain
  mr        r3, r23
  b         _restgpr_23_x
  loc_15e2ec:
  .extern _restgpr_23_x

prototype2:
  s32(s32 hId, s32 fd, s32 ioctl, ipccallback usr_cb, void *usr_data, const unsigned __int8 *format, ...)

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r23, 0x98+var_24(r1)
  mr        r27, r3
  stw       r0, 0x98+sender_lr(r1)
  mr        r30, r4
  mr        r31, r5
  mr        r28, r6
  mr        r29, r7
  stw       r9, 0x98+var_70(r1)
  stw       r10, 0x98+var_6C(r1)
  bne       cr1, XXXX
  XXXX:
  stfd      f1, 0x98+var_68(r1)
  stfd      f2, 0x98+var_60(r1)
  stfd      f3, 0x98+var_58(r1)
  stfd      f4, 0x98+var_50(r1)
  stfd      f5, 0x98+var_48(r1)
  stfd      f6, 0x98+var_40(r1)
  stfd      f7, 0x98+var_38(r1)
  stfd      f8, 0x98+var_30(r1)
  XXXX:
  lis       r25, __wkspace_heap@ha
  li        r4, 0x14# size
  addi      r25, r25, __wkspace_heap@l
  mr        r24, r8
  mr        r3, r25# theheap
  li        r23, -0x16
  bl        __lwp_heap_allocate
  mr.       r26, r3
  beq       XXXX
  XXXX:
  li        r4, 0# c
  li        r5, 0x14# n
  bl        memset
  li        r0, 6
  stb       r0, 0x98+args(r1)
  li        r0, 0
  stb       r0, 0x98+args.fpr(r1)
  addi      r6, r1, 0x98+cnt_in# cnt_in
  addi      r0, r1, 0x98+aXXX
  mr        r3, r24# format
  addi      r4, r1, 0x98+args# args
  mr        r5, r26# cbdata
  addi      r7, r1, 0x98+cnt_io# cnt_io
  addi      r8, r1, 0x98+argv# argv
  mr        r9, r27# hId
  stw       r0, 0x98+args.overflow_arg_area(r1)
  stw       r6, 0x98+args.reg_save_area(r1)
  bl        __ios_ioctlvformat_parse
  mr.       r23, r3
  bge+      XXXX
  XXXX:
  mr        r3, r25# theheap
  mr        r4, r26# ptr
  bl        __lwp_heap_free
  b         XXXX
  XXXX:
  stw       r28, 0(r26)
  lis       r8, __ioctlvfmtCB@ha
  stw       r29, 4(r26)
  mr        r3, r30# fd
  lwz       r5, 0x98+cnt_in(r1)# cnt_in
  mr        r4, r31# ioctl
  lwz       r6, 0x98+cnt_io(r1)# cnt_io
  addi      r8, r8, __ioctlvfmtCB@l# ipc_cb
  lwz       r7, 0x98+argv(r1)# argv
  mr        r9, r26# usrdata
  bl        IOS_IoctlvAsync
  mr        r23, r3
  XXXX:
  addi      r11, r1, 0x98+pre_back_chain
  mr        r3, r23
  b         _restgpr_23_x
  XXXX:
  .extern _restgpr_23_x

mnemonics_spp:
  291526344903656966045475304815682456695303259080837600274175240198195106340494254953111439411105186203790638962555848662940241740085774265557265291626520874231279811734805445371528216484838089813988535197000660320937639


name: IOS_IoctlvReboot
address: 299540
prototype: int()
primes_value: 23
mangled_function: IOS_IoctlvReboot
bytes_hash: 88b44058274720586f8c582fe7f65551
prototype2: s32(s32 fd, s32 ioctl, s32 cnt_in, s32 cnt_io, ioctlv *argv)
rva: 299540
tarjan_topological_sort: [[0], [1], [6, 2, 3, 4, 5], [7], [12, 8, 9, 10, 11], [13], [14], [15]]
strongly_connected_spp: 169
switches: []
function_hash: 4b7be7cad96d51839a68a2b01b1571c8
md_index: 5.736072665893994915387693546
constants: []
segment_rva: 260
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "mr.", "li", "beq", "li", "stw", "stw", "li", "stw", "li", "stw", "clrlwi", "stw", "mr", "stw", "li", "stw", "stw", "b", "lwz", "cmpwi", "beq", "lwz", "cmpwi", "beq+", "bl", "lwz", "clrlwi", "stw", "addi", "addi", "cmpw", "blt", "slwi", "li", "li", "add", "b", "lwzx", "cmpwi", "beq", "add", "lwz", "cmpwi", "beq+", "bl", "lwzx", "clrlwi", "stwx", "addi", "addi", "cmpw", "blt", "add", "mr", "slwi", "bl", "mr", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["_restgpr_25_x", "__argv_0", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "DCFlushRange", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x28+var_1C(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r27, r3
  li        r25, -0x16
  beq       loc_49330
  loc_49248:
  li        r0, 7
  stw       r31, 8(r27)
  stw       r0, 0(r27)
  li        r0, 0
  stw       r0, 0x20(r27)
  li        r0, 1
  stw       r0, 0x28(r27)
  clrlwi    r0, r26, 2
  stw       r29, 0xC(r27)
  mr        r31, r26
  stw       r30, 0x10(r27)
  li        r29, 0
  stw       r28, 0x14(r27)
  stw       r0, 0x18(r27)
  b         loc_492B4
  loc_49284:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, loc_492AC
  loc_49290:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_492AC
  loc_4929c:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  loc_492ac:
  addi      r29, r29, 1
  addi      r31, r31, 8
  loc_492b4:
  cmpw      cr7, r29, r30
  blt       cr7, loc_49284
  loc_492bc:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r26, r29
  b         loc_49304
  loc_492d0:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, loc_492FC
  loc_492dc:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_492FC
  loc_492ec:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  loc_492fc:
  addi      r25, r25, 1
  addi      r31, r31, 8
  loc_49304:
  cmpw      cr7, r25, r28
  blt       cr7, loc_492D0
  loc_4930c:
  add       r30, r30, r28
  mr        r3, r26
  slwi      r4, r30, 3
  bl        DCFlushRange
  mr        r3, r27# req
  bl        __ipc_syncrequest
  mr        r25, r3
  mr        r3, r27# ptr
  bl        __ipc_freereq
  loc_49330:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  loc_15e3d8:
  .extern _restgpr_25_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x28+var_1C(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r27, r3
  li        r25, -0x16
  beq       XXXX
  XXXX:
  li        r0, 7
  stw       r31, 8(r27)
  stw       r0, 0(r27)
  li        r0, 0
  stw       r0, 0x20(r27)
  li        r0, 1
  stw       r0, 0x28(r27)
  clrlwi    r0, r26, 2
  stw       r29, 0xC(r27)
  mr        r31, r26
  stw       r30, 0x10(r27)
  li        r29, 0
  stw       r28, 0x14(r27)
  stw       r0, 0x18(r27)
  b         XXXX
  XXXX:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  XXXX:
  addi      r29, r29, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r29, r30
  blt       cr7, XXXX
  XXXX:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r26, r29
  b         XXXX
  XXXX:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  XXXX:
  addi      r25, r25, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r25, r28
  blt       cr7, XXXX
  XXXX:
  add       r30, r30, r28
  mr        r3, r26
  slwi      r4, r30, 3
  bl        DCFlushRange
  mr        r3, r27# req
  bl        __ipc_syncrequest
  mr        r25, r3
  mr        r3, r27# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  XXXX:
  .extern _restgpr_25_x

mnemonics_spp:
  21389391426456409033813072385038315974014768688857980676161931250620424413801566234832525767419985970648215613792977920656457974270747374904561181984464717262046937996329447997965435012351671388115012209452662032371


name: IOS_IoctlvRebootBackground
address: 299836
prototype: int()
primes_value: 23
mangled_function: IOS_IoctlvRebootBackground
bytes_hash: f8aa7883098749a197842d4cb0079ebb
prototype2: s32(s32 fd, s32 ioctl, s32 cnt_in, s32 cnt_io, ioctlv *argv)
rva: 299836
tarjan_topological_sort: [[0], [1], [6, 2, 3, 4, 5], [7], [12, 8, 9, 10, 11], [13], [14], [15]]
strongly_connected_spp: 169
switches: []
function_hash: 253ee90ab06cc4695a987b001970e398
md_index: 5.736072665893994915387693546
constants: []
segment_rva: 260
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "mr.", "li", "beq", "li", "stw", "stw", "li", "stw", "mr", "stw", "li", "stw", "clrlwi", "stw", "li", "stw", "stw", "stw", "b", "lwz", "cmpwi", "beq", "lwz", "cmpwi", "beq+", "bl", "lwz", "clrlwi", "stw", "addi", "addi", "cmpw", "blt", "slwi", "li", "li", "add", "b", "lwzx", "cmpwi", "beq", "add", "lwz", "cmpwi", "beq+", "bl", "lwzx", "clrlwi", "stwx", "addi", "addi", "cmpw", "blt", "add", "mr", "slwi", "bl", "mr", "bl", "mr", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["_restgpr_25_x", "__argv_0", "__ipc_allocreq", "startup", "__ipc_syncrequest", "__ipc_freereq", "DCFlushRange", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x28+var_1C(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r27, r3
  li        r25, -0x16
  beq       loc_4945C
  loc_49370:
  li        r0, 7
  stw       r31, 8(r27)
  stw       r0, 0(r27)
  li        r0, 0
  stw       r0, 4(r27)
  mr        r31, r26
  stw       r0, 0x20(r27)
  li        r0, 3
  stw       r0, 0x28(r27)
  clrlwi    r0, r26, 2
  stw       r29, 0xC(r27)
  li        r29, 0
  stw       r30, 0x10(r27)
  stw       r28, 0x14(r27)
  stw       r0, 0x18(r27)
  b         loc_493E0
  loc_493b0:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, loc_493D8
  loc_493bc:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_493D8
  loc_493c8:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  loc_493d8:
  addi      r29, r29, 1
  addi      r31, r31, 8
  loc_493e0:
  cmpw      cr7, r29, r30
  blt       cr7, loc_493B0
  loc_493e8:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r26, r29
  b         loc_49430
  loc_493fc:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, loc_49428
  loc_49408:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, loc_49428
  loc_49418:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  loc_49428:
  addi      r25, r25, 1
  addi      r31, r31, 8
  loc_49430:
  cmpw      cr7, r25, r28
  blt       cr7, loc_493FC
  loc_49438:
  add       r30, r30, r28
  mr        r3, r26
  slwi      r4, r30, 3
  bl        DCFlushRange
  mr        r3, r27# req
  bl        __ipc_syncrequest
  mr        r25, r3
  mr        r3, r27# ptr
  bl        __ipc_freereq
  loc_4945c:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  loc_15e3d8:
  .extern _restgpr_25_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r25, 0x28+var_1C(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r28, r6
  mr        r26, r7
  bl        __ipc_allocreq
  mr.       r27, r3
  li        r25, -0x16
  beq       XXXX
  XXXX:
  li        r0, 7
  stw       r31, 8(r27)
  stw       r0, 0(r27)
  li        r0, 0
  stw       r0, 4(r27)
  mr        r31, r26
  stw       r0, 0x20(r27)
  li        r0, 3
  stw       r0, 0x28(r27)
  clrlwi    r0, r26, 2
  stw       r29, 0xC(r27)
  li        r29, 0
  stw       r30, 0x10(r27)
  stw       r28, 0x14(r27)
  stw       r0, 0x18(r27)
  b         XXXX
  XXXX:
  lwz       r3, 0(r31)
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r4, 4(r31)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwz       r0, 0(r31)
  clrlwi    r0, r0, 2
  stw       r0, 0(r31)
  XXXX:
  addi      r29, r29, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r29, r30
  blt       cr7, XXXX
  XXXX:
  slwi      r29, r30, 3
  li        r31, 0
  li        r25, 0
  add       r29, r26, r29
  b         XXXX
  XXXX:
  lwzx      r3, r29, r31
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  add       r9, r29, r31
  lwz       r4, 4(r9)
  cmpwi     cr7, r4, 0
  beq+      cr7, XXXX
  XXXX:
  bl        DCFlushRange
  lwzx      r0, r29, r31
  clrlwi    r0, r0, 2
  stwx      r0, r29, r31
  XXXX:
  addi      r25, r25, 1
  addi      r31, r31, 8
  XXXX:
  cmpw      cr7, r25, r28
  blt       cr7, XXXX
  XXXX:
  add       r30, r30, r28
  mr        r3, r26
  slwi      r4, r30, 3
  bl        DCFlushRange
  mr        r3, r27# req
  bl        __ipc_syncrequest
  mr        r25, r3
  mr        r3, r27# ptr
  bl        __ipc_freereq
  XXXX:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r25
  b         _restgpr_25_x
  XXXX:
  .extern _restgpr_25_x

mnemonics_spp:
  315857143194481792202317639909860811988276089228365800644883238777911807318607728589771908007490932828562199968880904954333914906056126485215654974364590479808647133391796958585955578827397131388294385296987460232022557


name: __time_exi_unlock
address: 300136
mnemonics: ["mflr", "stwu", "lwz", "stw", "bl", "lwz", "li", "addi", "mtlr", "blr"]
names: ["_start", "LWP_ThreadBroadcast"]
prototype: int()
primes_value: 3
mangled_function: __time_exi_unlock
bytes_hash: 51fa27704f388f60db46e418619667ee
prototype2: s32(s32 chn, s32 dev)
rva: 300136
tarjan_topological_sort: [[0]]
strongly_connected_spp: 1
mnemonics_spp: 1197558224469302447367384653057
switches: []
function_hash: 40e526e5ce9e61658bb2d09501af995b
md_index: 0
constants: []
segment_rva: 36
assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r3, time_exi_wait-0x140000# Relocation out of range
  stw       r0, 8+sender_lr(r1)
  bl        LWP_ThreadBroadcast
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r3, time_exi_wait-0x140000# Relocation out of range
  stw       r0, 8+sender_lr(r1)
  bl        LWP_ThreadBroadcast
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr


name: settime
address: 300208
mnemonics: ["li", "mtspr", "mtspr", "mtspr", "blr"]
names: ["_start"]
prototype: int()
primes_value: 3
mangled_function: settime
bytes_hash: 8b24ac6488587690b09cec230a0c301e
prototype2: void(u64 t)
rva: 300208
tarjan_topological_sort: [[0]]
strongly_connected_spp: 1
clean_assembly:
  li r0, 0
  mtspr tblw, r0
  mtspr tbuw, r3
  mtspr tblw, r4
  blr

mnemonics_spp: 22845311680160171
switches: []
function_hash: 26de2fac5689f9f1d9322020626f7fce
md_index: 0
constants: []
segment_rva: 16
assembly:
  li        r0, 0
  mtspr     tblw, r0 # Time base facility for writing (lower)
  mtspr     tbuw, r3 # Time base facility for writing (upper)
  mtspr     tblw, r4 # Time base facility for writing (lower)
  blr


name: diff_sec
address: 300228
names: ["__udivdi3", "_start"]
prototype: int()
primes_value: 11
mangled_function: diff_sec
bytes_hash: 86779c4f3c0e85a58afcfe8ac48bd6a0
prototype2: u32(u64 start, u64 end)
rva: 300228
tarjan_topological_sort: [[0], [1], [2], [4], [3], [5]]
strongly_connected_spp: 1
mnemonics_spp: 29868923661834913349677681426031564202627300837654558530277642690931567124918032121921
switches: []
function_hash: 675ecb98e7050ac5efdf431ba975cb49
md_index: 2.259425695449152710282010964
constants: []
segment_rva: 112
mnemonics:
  ["cmplw", "mflr", "stwu", "mr", "mr", "mr", "stw", "mr", "bgt", "cmpw", "bne+", "cmplw", "ble+", "not", "not", "addc", "adde", "b", "subfc", "subfe", "lis", "li", "ori", "bl", "lwz", "mr", "mtlr", "addi", "blr"]

assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, loc_494F8
  loc_494e8:
  cmpw      cr7, r3, r5
  bne+      cr7, loc_4950C
  loc_494f0:
  cmplw     cr7, r4, r6
  ble+      cr7, loc_4950C
  loc_494f8:
  not       r6, r10
  not       r7, r11
  addc      r4, r7, r9
  adde      r3, r6, r8
  b         loc_49514
  loc_4950c:
  subfc     r4, r11, r9
  subfe     r3, r10, r8
  loc_49514:
  lis       r6, 0x39E
  li        r5, 0
  ori       r6, r6, 0xF8B0 # 0x39EF8B0
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr

clean_assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, XXXX
  XXXX:
  cmpw      cr7, r3, r5
  bne+      cr7, XXXX
  XXXX:
  cmplw     cr7, r4, r6
  ble+      cr7, XXXX
  XXXX:
  not       r6, r10
  not       r7, r11
  addc      r4, r7, r9
  adde      r3, r6, r8
  b         XXXX
  XXXX:
  subfc     r4, r11, r9
  subfe     r3, r10, r8
  XXXX:
  lis       r6, 0x39E
  li        r5, 0
  ori       r6, r6, 0xF8B0
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr


name: diff_msec
address: 300344
names: ["__udivdi3", "_start"]
prototype: int()
primes_value: 11
mangled_function: diff_msec
bytes_hash: b18d366e83dbb251e1f889fa8480de99
prototype2: u32(u64 start, u64 end)
rva: 300344
tarjan_topological_sort: [[0], [1], [2], [4], [3], [5]]
strongly_connected_spp: 1
mnemonics_spp: 29832187745884312560176189065497044137720265591082726515920804687094877153930695527903
switches: []
function_hash: d5db7e14dd880d8fa87bd4fa5113fc7e
md_index: 2.259425695449152710282010964
constants: []
segment_rva: 112
mnemonics:
  ["cmplw", "mflr", "stwu", "mr", "mr", "mr", "stw", "mr", "bgt", "cmpw", "bne+", "cmplw", "ble+", "not", "not", "addc", "adde", "b", "subfc", "subfe", "li", "li", "ori", "bl", "lwz", "mr", "mtlr", "addi", "blr"]

assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, loc_4956C
  loc_4955c:
  cmpw      cr7, r3, r5
  bne+      cr7, loc_49580
  loc_49564:
  cmplw     cr7, r4, r6
  ble+      cr7, loc_49580
  loc_4956c:
  not       r6, r10
  not       r7, r11
  addc      r4, r7, r9
  adde      r3, r6, r8
  b         loc_49588
  loc_49580:
  subfc     r4, r11, r9
  subfe     r3, r10, r8
  loc_49588:
  li        r6, 0
  li        r5, 0
  ori       r6, r6, 0xED4E
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr

clean_assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, XXXX
  XXXX:
  cmpw      cr7, r3, r5
  bne+      cr7, XXXX
  XXXX:
  cmplw     cr7, r4, r6
  ble+      cr7, XXXX
  XXXX:
  not       r6, r10
  not       r7, r11
  addc      r4, r7, r9
  adde      r3, r6, r8
  b         XXXX
  XXXX:
  subfc     r4, r11, r9
  subfe     r3, r10, r8
  XXXX:
  li        r6, 0
  li        r5, 0
  ori       r6, r6, 0xED4E
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr


name: diff_usec
address: 300460
names: ["__udivdi3", "_start"]
prototype: int()
primes_value: 11
mangled_function: diff_usec
bytes_hash: e9610388aa10b1da7b0927b40408ce2f
prototype2: u32(u64 start, u64 end)
rva: 300460
tarjan_topological_sort: [[0], [1], [2], [4], [3], [5]]
strongly_connected_spp: 1
mnemonics_spp: 82544887366160716239384293635454386133660047308196345637704860513526725897517002630387780698823497
switches: []
function_hash: 61529807e1656b041d40674cce66acb2
md_index: 2.259425695449152710282010964
constants: []
segment_rva: 124
mnemonics:
  ["cmplw", "mflr", "stwu", "mr", "mr", "mr", "stw", "mr", "bgt", "cmpw", "bne+", "cmplw", "ble+", "not", "not", "addc", "adde", "b", "subfc", "subfe", "slwi", "srwi", "or", "slwi", "li", "li", "bl", "lwz", "mr", "mtlr", "addi", "blr"]

assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, loc_495E0
  loc_495d0:
  cmpw      cr7, r3, r5
  bne+      cr7, loc_495F4
  loc_495d8:
  cmplw     cr7, r4, r6
  ble+      cr7, loc_495F4
  loc_495e0:
  not       r6, r10
  not       r7, r11
  addc      r11, r7, r9
  adde      r10, r6, r8
  b         loc_495FC
  loc_495f4:
  subfc     r11, r11, r9
  subfe     r10, r10, r8
  loc_495fc:
  slwi      r0, r10, 3
  srwi      r3, r11, 29
  or        r3, r3, r0
  slwi      r4, r11, 3
  li        r5, 0
  li        r6, 0x1E6
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr

clean_assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, XXXX
  XXXX:
  cmpw      cr7, r3, r5
  bne+      cr7, XXXX
  XXXX:
  cmplw     cr7, r4, r6
  ble+      cr7, XXXX
  XXXX:
  not       r6, r10
  not       r7, r11
  addc      r11, r7, r9
  adde      r10, r6, r8
  b         XXXX
  XXXX:
  subfc     r11, r11, r9
  subfe     r10, r10, r8
  XXXX:
  slwi      r0, r10, 3
  srwi      r3, r11, 29
  or        r3, r3, r0
  slwi      r4, r11, 3
  li        r5, 0
  li        r6, 0x1E6
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr


name: diff_nsec
address: 300588
names: ["__udivdi3", "_start", "__argv_0"]
prototype: int()
primes_value: 11
mangled_function: diff_nsec
bytes_hash: f1f4a7933af03092085052ec832ceda1
prototype2: u32(u64 start, u64 end)
rva: 300588
tarjan_topological_sort: [[0], [1], [2], [4], [3], [5]]
strongly_connected_spp: 1
mnemonics_spp: 167927790601032653923471947713101424835234112727681725879721379254991611261337069558027159482627559
switches: []
function_hash: 5acf437e9207fa6c71687d050545a803
md_index: 2.259425695449152710282010964
constants: []
segment_rva: 128
mnemonics:
  ["cmplw", "mflr", "stwu", "mr", "mr", "mr", "stw", "mr", "bgt", "cmpw", "bne+", "cmplw", "ble+", "not", "not", "addc", "adde", "b", "subfc", "subfe", "li", "mulli", "li", "mulhwu", "li", "mullw", "add", "bl", "lwz", "mr", "mtlr", "addi", "blr"]

assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, loc_49660
  loc_49650:
  cmpw      cr7, r3, r5
  bne+      cr7, loc_49674
  loc_49658:
  cmplw     cr7, r4, r6
  ble+      cr7, loc_49674
  loc_49660:
  not       r6, r10
  not       r7, r11
  addc      r9, r9, r7
  adde      r8, r8, r6
  b         loc_4967C
  loc_49674:
  subfc     r9, r11, r9
  subfe     r8, r10, r8
  loc_4967c:
  li        r11, 0x1F40
  mulli     r0, r8, 0x1F40
  li        r5, 0
  mulhwu    r3, r11, r9
  li        r6, 0x1E6
  mullw     r4, r11, r9
  add       r3, r0, r3
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr

clean_assembly:
  cmplw     cr7, r3, r5
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r11, r4
  mr        r10, r3
  mr        r9, r6
  stw       r0, 8+sender_lr(r1)
  mr        r8, r5
  bgt       cr7, XXXX
  XXXX:
  cmpw      cr7, r3, r5
  bne+      cr7, XXXX
  XXXX:
  cmplw     cr7, r4, r6
  ble+      cr7, XXXX
  XXXX:
  not       r6, r10
  not       r7, r11
  addc      r9, r9, r7
  adde      r8, r8, r6
  b         XXXX
  XXXX:
  subfc     r9, r11, r9
  subfe     r8, r10, r8
  XXXX:
  li        r11, 0x1F40
  mulli     r0, r8, 0x1F40
  li        r5, 0
  mulhwu    r3, r11, r9
  li        r6, 0x1E6
  mullw     r4, r11, r9
  add       r3, r0, r3
  bl        __udivdi3
  lwz       r0, 8+sender_lr(r1)
  mr        r3, r4
  mtlr      r0
  addi      r1, r1, 8
  blr


name: __timesystem_init
address: 300720
names: ["_start", "LWP_InitQueue"]
prototype: int()
primes_value: 5
mangled_function: __timesystem_init
bytes_hash: 03a1b71ebd9c1d4efceaf09eb37950a7
prototype2: void()
rva: 300720
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 84643434086795931331997029340762273892931
switches: []
function_hash: 95d59ff39ad2bb41f248da2a66d90552
md_index: 1.041752623040894078367782257
constants: [4294944504]
segment_rva: 52
mnemonics:
  ["mflr", "stwu", "stw", "lwz", "cmpwi", "bne+", "li", "li", "stw", "bl", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  lwz       r0, exi_wait_inited-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  bne+      cr7, loc_496D8
  loc_496c8:
  li        r0, 1
  li        r3, (time_exi_wait-0x140000)# Relocation out of range
  stw       r0, exi_wait_inited-0x140000# Relocation out of range
  bl        LWP_InitQueue
  loc_496d8:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  lwz       r0, exi_wait_inited-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  bne+      cr7, XXXX
  XXXX:
  li        r0, 1
  li        r3, (time_exi_wait-0x140000)# Relocation out of range
  stw       r0, exi_wait_inited-0x140000# Relocation out of range
  bl        LWP_InitQueue
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: timespec_subtract
address: 300776
names: ["_start", "__argv_0"]
prototype: int()
primes_value: 7
mangled_function: timespec_subtract
bytes_hash: abaf170c2205d4cff27da93061e6e8bd
prototype2: void(const timespec *tp_start, const timespec *tp_end, timespec *result)
rva: 300776
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
switches: []
function_hash: 39f302c272d71874f0b9b01f7b5766ec
md_index: 1.751511600616463176821692892
constants: []
segment_rva: 116
mnemonics:
  ["lwz", "lwz", "lwz", "cmpw", "bge", "lis", "subf", "ori", "divwu", "addi", "mullw", "add", "subf", "lis", "subf", "ori", "cmplw", "ble", "subf", "divwu", "mullw", "subf", "add", "lwz", "subf", "stw", "lwz", "subf", "stw", "blr"]

assembly:
  lwz       r0, 4(r3)
  lwz       r11, 4(r4)
  lwz       r9, 0(r3)
  cmpw      cr7, r11, r0
  bge       cr7, loc_4971C
  loc_496fc:
  lis       r8, 0x3B9A
  subf      r10, r11, r0
  ori       r8, r8, 0xCA00 # 0x3B9ACA00
  divwu     r10, r10, r8
  addi      r10, r10, 1
  mullw     r8, r10, r8
  add       r9, r9, r10
  subf      r0, r8, r0
  loc_4971c:
  lis       r10, 0x3B9A
  subf      r8, r0, r11
  ori       r10, r10, 0xCA00 # 0x3B9ACA00
  cmplw     cr7, r8, r10
  ble       cr7, loc_49744
  loc_49730:
  subf      r11, r11, r0
  divwu     r11, r11, r10
  mullw     r10, r11, r10
  subf      r9, r11, r9
  add       r0, r10, r0
  loc_49744:
  lwz       r11, 0(r4)
  subf      r9, r9, r11
  stw       r9, 0(r5)
  lwz       r9, 4(r4)
  subf      r0, r0, r9
  stw       r0, 4(r5)
  blr

clean_assembly:
  lwz       r0, 4(r3)
  lwz       r11, 4(r4)
  lwz       r9, 0(r3)
  cmpw      cr7, r11, r0
  bge       cr7, XXXX
  XXXX:
  lis       r8, 0x3B9A
  subf      r10, r11, r0
  ori       r8, r8, 0xCA00
  divwu     r10, r10, r8
  addi      r10, r10, 1
  mullw     r8, r10, r8
  add       r9, r9, r10
  subf      r0, r8, r0
  XXXX:
  lis       r10, 0x3B9A
  subf      r8, r0, r11
  ori       r10, r10, 0xCA00
  cmplw     cr7, r8, r10
  ble       cr7, XXXX
  XXXX:
  subf      r11, r11, r0
  divwu     r11, r11, r10
  mullw     r10, r11, r10
  subf      r9, r11, r9
  add       r0, r10, r0
  XXXX:
  lwz       r11, 0(r4)
  subf      r9, r9, r11
  stw       r9, 0(r5)
  lwz       r9, 4(r4)
  subf      r0, r0, r9
  stw       r0, 4(r5)
  blr

mnemonics_spp:
  21932815890357641913612284680844181085806556939428684319679905208654574635700532221154896768525266583


name: timespec_to_ticks
address: 300896
names: ["_restgpr_30_x", "__udivdi3", "_start", "__argv_0"]
prototype: int()
primes_value: 3
mangled_function: timespec_to_ticks
bytes_hash: 4b0a02350fc4fe56e4a835a97049c69a
prototype2: unsigned __int64(const timespec *tp)
rva: 300896
tarjan_topological_sort: [[0], [1]]
strongly_connected_spp: 1
mnemonics_spp: 182977829350745056970960289220027040580125267213720039218040014868103770955799
switches: []
function_hash: 5cdf6847bd8e64d14c5e0718915daafa
md_index: 0.5020045666778900941125390917
constants: []
segment_rva: 104
mnemonics:
  ["mflr", "stwu", "li", "li", "stmw", "stw", "lis", "ori", "lwz", "lwz", "mulhw", "mullw", "li", "mullw", "mulhw", "mr", "mr", "bl", "addi", "addc", "adde", "b", "bclr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r5, 0
  li        r6, 0x1F40
  stmw      r30, 0x10+var_8(r1)
  stw       r0, 0x10+sender_lr(r1)
  lis       r0, 0x39E
  ori       r0, r0, 0xF8B0 # 0x39EF8B0
  lwz       r9, 0(r3)
  lwz       r3, 4(r3)
  mulhw     r30, r9, r0
  mullw     r31, r9, r0
  li        r0, 0x1E6
  mullw     r10, r3, r0
  mulhw     r9, r3, r0
  mr        r4, r10
  mr        r3, r9
  bl        __udivdi3
  addi      r11, r1, 0x10+pre_back_chain
  addc      r4, r4, r31
  adde      r3, r3, r30
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r5, 0
  li        r6, 0x1F40
  stmw      r30, 0x10+var_8(r1)
  stw       r0, 0x10+sender_lr(r1)
  lis       r0, 0x39E
  ori       r0, r0, 0xF8B0
  lwz       r9, 0(r3)
  lwz       r3, 4(r3)
  mulhw     r30, r9, r0
  mullw     r31, r9, r0
  li        r0, 0x1E6
  mullw     r10, r3, r0
  mulhw     r9, r3, r0
  mr        r4, r10
  mr        r3, r9
  bl        __udivdi3
  addi      r11, r1, 0x10+pre_back_chain
  addc      r4, r4, r31
  adde      r3, r3, r30
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x


name: clock_gettime
address: 300984
names: ["__udivdi3", "__argv_0", "__SYS_GetRTC", "_restgpr_30_x", "_start", "CONF_GetCounterBias"]
prototype: int()
primes_value: 11
mangled_function: clock_gettime
bytes_hash: 4cd0feaf56fb2ea67d16bc55f3ea8158
prototype2: int(timespec *tp)
rva: 300984
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [6]]
strongly_connected_spp: 1
switches: []
function_hash: c30d0ecb9abcf040ed1e3ce959710010
md_index: 2.455148668598325456545017033
constants: []
segment_rva: 104
mnemonics:
  ["stwu", "mflr", "stmw", "mr.", "stw", "li", "stw", "li", "beq", "addi", "bl", "cmpwi", "beq", "addi", "bl", "cmpwi", "blt", "lwz", "lwz", "add", "stw", "lwz", "addis", "addi", "stw", "mftb", "li", "li", "mullw", "li", "li", "mulhwu", "mr", "mr", "bl", "stw", "addi", "mr", "b", "bclr"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r30, 0x20+var_8(r1)
  mr.       r31, r3
  stw       r0, 0x20+sender_lr(r1)
  li        r0, 0
  stw       r0, 0x20+wii_bias(r1)
  li        r30, -1
  beq       loc_49848
  loc_497dc:
  addi      r3, r1, 0x20+gctime# gctime
  bl        __SYS_GetRTC
  cmpwi     cr7, r3, 0
  beq       cr7, loc_49848
  loc_497ec:
  addi      r3, r1, 0x20+wii_bias# bias
  bl        CONF_GetCounterBias
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4980C
  loc_497fc:
  lwz       r9, 0x20+gctime(r1)
  lwz       r0, 0x20+wii_bias(r1)
  add       r0, r9, r0
  stw       r0, 0x20+gctime(r1)
  loc_4980c:
  lwz       r9, 0x20+gctime(r1)
  addis     r9, r9, 0x386D
  addi      r0, r9, 0x4380
  stw       r0, 0(r31)
  mftb      r3
  li        r0, 0x1F40
  li        r5, 0
  mullw     r10, r3, r0
  li        r6, 0x1E6
  li        r30, 0
  mulhwu    r9, r3, r0
  mr        r4, r10
  mr        r3, r9
  bl        __udivdi3
  stw       r4, 4(r31)
  loc_49848:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r30
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r30, 0x20+var_8(r1)
  mr.       r31, r3
  stw       r0, 0x20+sender_lr(r1)
  li        r0, 0
  stw       r0, 0x20+wii_bias(r1)
  li        r30, -1
  beq       XXXX
  XXXX:
  addi      r3, r1, 0x20+gctime# gctime
  bl        __SYS_GetRTC
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  addi      r3, r1, 0x20+wii_bias# bias
  bl        CONF_GetCounterBias
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  lwz       r9, 0x20+gctime(r1)
  lwz       r0, 0x20+wii_bias(r1)
  add       r0, r9, r0
  stw       r0, 0x20+gctime(r1)
  XXXX:
  lwz       r9, 0x20+gctime(r1)
  addis     r9, r9, 0x386D
  addi      r0, r9, 0x4380
  stw       r0, 0(r31)
  mftb      r3
  li        r0, 0x1F40
  li        r5, 0
  mullw     r10, r3, r0
  li        r6, 0x1E6
  li        r30, 0
  mulhwu    r9, r3, r0
  mr        r4, r10
  mr        r3, r9
  bl        __udivdi3
  stw       r4, 4(r31)
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r30
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  3303619306608330658229787483419203021980823407329507173443372341215482021387066364701540187714572263000508844161131463


name: udelay
address: 301140
names: ["gettime", "diff_usec", "_start", "_restgpr_29_x"]
prototype: int()
primes_value: 5
mangled_function: udelay
bytes_hash: 02c9a69fbd84108cda2dd4c6d64f4c80
prototype2: void(unsigned int us)
rva: 301140
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 20607219696267706660648355670312587378183750088186715613
switches: []
function_hash: 7601634d2148d222e47bd2a0531ba1d5
md_index: 1.191722710916769640466169696
constants: []
segment_rva: 124
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "bl", "mr", "mr", "bl", "mr", "mr", "mr", "mr", "bl", "cmplw", "blt", "addi", "b", "bclr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r29, r3
  stw       r0, 0x18+sender_lr(r1)
  bl        gettime
  mr        r31, r4
  mr        r30, r3
  loc_49874:
  bl        gettime
  mr        r6, r4# end
  mr        r5, r3# end
  mr        r4, r31# start
  mr        r3, r30# start
  bl        diff_usec
  cmplw     cr7, r3, r29
  blt       cr7, loc_49874
  loc_49894:
  addi      r11, r1, 0x18+pre_back_chain
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r29, r3
  stw       r0, 0x18+sender_lr(r1)
  bl        gettime
  mr        r31, r4
  mr        r30, r3
  XXXX:
  bl        gettime
  mr        r6, r4# end
  mr        r5, r3# end
  mr        r4, r31# start
  mr        r3, r30# start
  bl        diff_usec
  cmplw     cr7, r3, r29
  blt       cr7, XXXX
  XXXX:
  addi      r11, r1, 0x18+pre_back_chain
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x


name: nanosleep
address: 301212
prototype: int()
primes_value: 5
mangled_function: nanosleep
bytes_hash: 71fa8bfe0859ebf0b6b43944c8b2bed4
prototype2: unsigned int(timespec *tb)
rva: 301212
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
switches: []
function_hash: 611441424168668dd493f0b6d1ba0af4
md_index: 1.288678829894477420686681368
constants: [4294958796]
segment_rva: 124
mnemonics:
  ["mflr", "stwu", "lwz", "li", "stmw", "li", "stw", "addi", "stw", "li", "lwz", "lwz", "mulhw", "mullw", "mr", "mr", "bl", "lis", "ori", "mulhw", "mullw", "addc", "adde", "lwz", "lis", "ori", "bl", "lwz", "li", "lwz", "stw", "lis", "stw", "addi", "stw", "stw", "bl", "srawi", "srawi", "xor", "stw", "xor", "stw", "subfc", "subfe", "addc", "adde", "stw", "lis", "stw", "addi", "addi", "bl", "lwz", "addi", "cmpwi", "stw", "bne+", "bl", "addi", "li", "b", "bclr"]

names:
  ["__udivdi3", "__lwp_thread_setstate", "__argv_0", "_restgpr_29_x", "gettime", "__InitGPRS", "__lwp_wd_insert", "_start", "__thread_dispatch"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r9, _thread_dispatch_disable_level-0x160000# Relocation out of range
  li        r5, 0
  stmw      r29, 0x18+var_C(r1)
  li        r6, 0x1F40
  stw       r0, 0x18+sender_lr(r1)
  addi      r0, r9, 1
  stw       r0, _thread_dispatch_disable_level-0x160000# Relocation out of range
  li        r0, 0x1E6
  lwz       r31, 0(r3)
  lwz       r3, 4(r3)
  mulhw     r9, r3, r0
  mullw     r10, r3, r0
  mr        r3, r9
  mr        r4, r10
  bl        __udivdi3
  lis       r0, 0x39E
  ori       r0, r0, 0xF8B0 # 0x39EF8B0
  mulhw     r10, r31, r0
  mullw     r11, r31, r0
  addc      r31, r4, r11
  adde      r30, r3, r10
  lwz       r3, _thr_executing-0x130000# Relocation out of range
  lis       r4, uip_pbuf_chain@h
  ori       r4, r4, uip_pbuf_chain@l# state
  bl        __lwp_thread_setstate
  lwz       r29, _thr_executing-0x130000# Relocation out of range
  li        r9, 0
  lwz       r0, 8(r29)
  stw       r9, 0x84(r29)
  lis       r9, __lwp_thread_delayended@ha
  stw       r0, 0x80(r29)
  addi      r0, r9, __lwp_thread_delayended@l
  stw       r0, 0x90(r29)
  stw       r29, 0x94(r29)
  bl        gettime
  srawi     r10, r30, 0x1F
  srawi     r11, r30, 0x1F
  xor       r9, r11, r31
  stw       r3, 0x78(r29)
  xor       r8, r10, r30
  stw       r4, 0x7C(r29)
  subfc     r11, r11, r9
  subfe     r10, r10, r8
  addc      r11, r11, r4
  adde      r10, r10, r3
  stw       r10, 0x88(r29)
  lis       r3, _wd_ticks_queue@ha
  stw       r11, 0x8C(r29)
  addi      r3, r3, _wd_ticks_queue@l# header
  addi      r4, r29, 0x70# wd
  bl        __lwp_wd_insert
  lwz       r9, _thread_dispatch_disable_level-0x160000# Relocation out of range
  addi      r0, r9, -1
  cmpwi     cr7, r0, 0
  stw       r0, _thread_dispatch_disable_level-0x160000# Relocation out of range
  bne+      cr7, loc_49988
  loc_49984:
  bl        __thread_dispatch
  loc_49988:
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, 0
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r9, _thread_dispatch_disable_level-0x160000# Relocation out of range
  li        r5, 0
  stmw      r29, 0x18+var_C(r1)
  li        r6, 0x1F40
  stw       r0, 0x18+sender_lr(r1)
  addi      r0, r9, 1
  stw       r0, _thread_dispatch_disable_level-0x160000# Relocation out of range
  li        r0, 0x1E6
  lwz       r31, 0(r3)
  lwz       r3, 4(r3)
  mulhw     r9, r3, r0
  mullw     r10, r3, r0
  mr        r3, r9
  mr        r4, r10
  bl        __udivdi3
  lis       r0, 0x39E
  ori       r0, r0, 0xF8B0
  mulhw     r10, r31, r0
  mullw     r11, r31, r0
  addc      r31, r4, r11
  adde      r30, r3, r10
  lwz       r3, _thr_executing-0x130000# Relocation out of range
  lis       r4, uip_pbuf_chain@h
  ori       r4, r4, uip_pbuf_chain@l# state
  bl        __lwp_thread_setstate
  lwz       r29, _thr_executing-0x130000# Relocation out of range
  li        r9, 0
  lwz       r0, 8(r29)
  stw       r9, 0x84(r29)
  lis       r9, __lwp_thread_delayended@ha
  stw       r0, 0x80(r29)
  addi      r0, r9, __lwp_thread_delayended@l
  stw       r0, 0x90(r29)
  stw       r29, 0x94(r29)
  bl        gettime
  srawi     r10, r30, 0x1F
  srawi     r11, r30, 0x1F
  xor       r9, r11, r31
  stw       r3, 0x78(r29)
  xor       r8, r10, r30
  stw       r4, 0x7C(r29)
  subfc     r11, r11, r9
  subfe     r10, r10, r8
  addc      r11, r11, r4
  adde      r10, r10, r3
  stw       r10, 0x88(r29)
  lis       r3, _wd_ticks_queue@ha
  stw       r11, 0x8C(r29)
  addi      r3, r3, _wd_ticks_queue@l# header
  addi      r4, r29, 0x70# wd
  bl        __lwp_wd_insert
  lwz       r9, _thread_dispatch_disable_level-0x160000# Relocation out of range
  addi      r0, r9, -1
  cmpwi     cr7, r0, 0
  stw       r0, _thread_dispatch_disable_level-0x160000# Relocation out of range
  bne+      cr7, XXXX
  XXXX:
  bl        __thread_dispatch
  XXXX:
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, 0
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x

mnemonics_spp:
  424820715990003180302588422399894106014036867004225215818051398030234327779979406786603834617337857034702987907152491510401089904118661524745267657794551346059321473398525101473981183698808000259916233


name: time
address: 301460
prototype: int()
primes_value: 29
mangled_function: time
bytes_hash: 97a5319b7ad8561fa27c551c102158cf
prototype2: time_t(time_t *timer)
rva: 301460
tarjan_topological_sort: [[0], [1, 2], [3], [4, 5, 7, 10], [8], [9], [12], [13], [6], [11], [14], [15]]
strongly_connected_spp: 55
switches: []
function_hash: acb9e1df5054fced340de0d53c24acc0
md_index: 5.694260937484792563129437364
constants: [4294939752]
segment_rva: 124
mnemonics:
  ["mflr", "stwu", "stmw", "lis", "stw", "li", "stw", "mr", "addi", "li", "li", "mr", "bl", "cmpwi", "mr", "beq", "lwz", "bl", "cmpwi", "beq", "li", "stw", "addi", "bl", "cmpwi", "beq", "addi", "bl", "cmpwi", "bne+", "li", "bl", "b", "lwz", "lwz", "cmpw", "bne+", "li", "bl", "addi", "bl", "lwz", "cmpwi", "add", "bge+", "mr", "b", "lwz", "addic.", "stw", "bne", "li", "b", "cmpwi", "addis", "addi", "beq", "stw", "addi", "b", "bclr"]

names:
  ["EXI_Lock", "__argv_0", "_restgpr_29_x", "LWP_ThreadSleep", "EXI_Unlock", "_start", "__getrtc_0", "CONF_GetCounterBias"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x30+var_C(r1)
  lis       r30, __time_exi_unlock@ha
  stw       r0, 0x30+sender_lr(r1)
  li        r0, 0
  stw       r0, 0x30+wii_bias(r1)
  mr        r31, r3
  addi      r30, r30, __time_exi_unlock@l
  loc_499b8:
  li        r3, 0# nChn
  li        r4, 1# nDev
  mr        r5, r30# unlockCB
  bl        EXI_Lock
  cmpwi     cr7, r3, 1
  mr        r29, r3
  beq       cr7, loc_499E4
  loc_499d4:
  lwz       r3, time_exi_wait-0x140000# Relocation out of range
  bl        LWP_ThreadSleep
  cmpwi     cr7, r29, 0
  beq       cr7, loc_499B8
  loc_499e4:
  li        r0, 0x10
  stw       r0, 0x30+var_18(r1)
  loc_499ec:
  addi      r3, r1, 0x30+gctime# gctime
  bl        __getrtc_0
  cmpwi     cr7, r3, 0
  beq       cr7, loc_49A0C
  loc_499fc:
  addi      r3, r1, 0x30+var_28# gctime
  bl        __getrtc_0
  cmpwi     cr7, r3, 0
  bne+      cr7, loc_49A18
  loc_49a0c:
  li        r3, 0# nChn
  bl        EXI_Unlock
  b         loc_49A60
  loc_49a18:
  lwz       r30, 0x30+gctime(r1)
  lwz       r0, 0x30+var_28(r1)
  cmpw      cr7, r30, r0
  bne+      cr7, loc_49A50
  loc_49a28:
  li        r3, 0# nChn
  bl        EXI_Unlock
  addi      r3, r1, 0x30+wii_bias# bias
  bl        CONF_GetCounterBias
  lwz       r9, 0x30+wii_bias(r1)
  cmpwi     cr7, r3, 0
  add       r9, r30, r9
  bge+      cr7, loc_49A68
  loc_49a48:
  mr        r9, r30
  b         loc_49A68
  loc_49a50:
  lwz       r0, 0x30+var_18(r1)
  addic.    r9, r0, -1
  stw       r9, 0x30+var_18(r1)
  bne       loc_499EC
  loc_49a60:
  li        r3, 0
  b         loc_49A7C
  loc_49a68:
  cmpwi     cr7, r31, 0
  addis     r9, r9, 0x386D
  addi      r3, r9, 0x4380
  beq       cr7, loc_49A7C
  loc_49a78:
  stw       r3, 0(r31)
  loc_49a7c:
  addi      r11, r1, 0x30+pre_back_chain
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x30+var_C(r1)
  lis       r30, __time_exi_unlock@ha
  stw       r0, 0x30+sender_lr(r1)
  li        r0, 0
  stw       r0, 0x30+wii_bias(r1)
  mr        r31, r3
  addi      r30, r30, __time_exi_unlock@l
  XXXX:
  li        r3, 0# nChn
  li        r4, 1# nDev
  mr        r5, r30# unlockCB
  bl        EXI_Lock
  cmpwi     cr7, r3, 1
  mr        r29, r3
  beq       cr7, XXXX
  XXXX:
  lwz       r3, time_exi_wait-0x140000# Relocation out of range
  bl        LWP_ThreadSleep
  cmpwi     cr7, r29, 0
  beq       cr7, XXXX
  XXXX:
  li        r0, 0x10
  stw       r0, 0x30+var_18(r1)
  XXXX:
  addi      r3, r1, 0x30+gctime# gctime
  bl        __getrtc_0
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  addi      r3, r1, 0x30+var_28# gctime
  bl        __getrtc_0
  cmpwi     cr7, r3, 0
  bne+      cr7, XXXX
  XXXX:
  li        r3, 0# nChn
  bl        EXI_Unlock
  b         XXXX
  XXXX:
  lwz       r30, 0x30+gctime(r1)
  lwz       r0, 0x30+var_28(r1)
  cmpw      cr7, r30, r0
  bne+      cr7, XXXX
  XXXX:
  li        r3, 0# nChn
  bl        EXI_Unlock
  addi      r3, r1, 0x30+wii_bias# bias
  bl        CONF_GetCounterBias
  lwz       r9, 0x30+wii_bias(r1)
  cmpwi     cr7, r3, 0
  add       r9, r30, r9
  bge+      cr7, XXXX
  XXXX:
  mr        r9, r30
  b         XXXX
  XXXX:
  lwz       r0, 0x30+var_18(r1)
  addic.    r9, r0, -1
  stw       r9, 0x30+var_18(r1)
  bne       XXXX
  XXXX:
  li        r3, 0
  b         XXXX
  XXXX:
  cmpwi     cr7, r31, 0
  addis     r9, r9, 0x386D
  addi      r3, r9, 0x4380
  beq       cr7, XXXX
  XXXX:
  stw       r3, 0(r31)
  XXXX:
  addi      r11, r1, 0x30+pre_back_chain
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x

mnemonics_spp:
  20962448808246070267241993708253365399204480545211193726075317731422107116851168333303627170129685821048734295471157694140812801560881459743034579906789


name: sleep
address: 301700
mnemonics: ["mflr", "stwu", "stw", "addi", "stw", "li", "stw", "bl", "lwz", "addi", "mtlr", "blr"]
names: ["nanosleep", "_start", "__argv_0"]
prototype: int()
primes_value: 3
mangled_function: sleep
bytes_hash: d74ed7910fe0d6bccedfdc7810262caf
prototype2: unsigned int(unsigned int s)
rva: 301700
tarjan_topological_sort: [[0]]
strongly_connected_spp: 1
mnemonics_spp: 512004748390164464389733108144479309
switches: []
function_hash: ec890b908ab8ae65239fcda816eac6f2
md_index: 0
constants: []
segment_rva: 44
assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r3, 0x18+tb(r1)
  addi      r3, r1, 0x18+tb# tb
  stw       r0, 0x18+sender_lr(r1)
  li        r0, 0
  stw       r0, 0x18+tb.tv_nsec(r1)
  bl        nanosleep
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r3, 0x18+tb(r1)
  addi      r3, r1, 0x18+tb# tb
  stw       r0, 0x18+sender_lr(r1)
  li        r0, 0
  stw       r0, 0x18+tb.tv_nsec(r1)
  bl        nanosleep
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr


name: usleep
address: 301748
names: ["nanosleep", "_start", "__argv_0"]
prototype: int()
primes_value: 3
mangled_function: usleep
bytes_hash: b252ed84f21eb8226e46bfd09c46226c
prototype2: unsigned int(unsigned int us)
rva: 301748
tarjan_topological_sort: [[0]]
strongly_connected_spp: 1
mnemonics_spp: 14815723034549774773691093421634841391954286932595340459
switches: []
function_hash: c5f49e04b80c9d2e49271620fa7902b4
md_index: 0
constants: []
segment_rva: 64
mnemonics:
  ["mflr", "stwu", "stw", "lis", "ori", "divwu", "mullw", "stw", "subf", "mulli", "stw", "addi", "bl", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 0x18+sender_lr(r1)
  lis       r0, 0xF
  ori       r0, r0, 0x4240 # 0xF4240
  divwu     r9, r3, r0
  mullw     r0, r9, r0
  stw       r9, 0x18+tb(r1)
  subf      r3, r0, r3
  mulli     r3, r3, 0x3E8
  stw       r3, 0x18+tb.tv_nsec(r1)
  addi      r3, r1, 0x18+tb# tb
  bl        nanosleep
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 0x18+sender_lr(r1)
  lis       r0, 0xF
  ori       r0, r0, 0x4240
  divwu     r9, r3, r0
  mullw     r0, r9, r0
  stw       r9, 0x18+tb(r1)
  subf      r3, r0, r3
  mulli     r3, r3, 0x3E8
  stw       r3, 0x18+tb.tv_nsec(r1)
  addi      r3, r1, 0x18+tb# tb
  bl        nanosleep
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr


name: __libogc_gettod_r
address: 301824
names: ["_restgpr_30_x", "__umoddi3", "_start", "__argv_0", "time"]
prototype: int()
primes_value: 7
mangled_function: __libogc_gettod_r
bytes_hash: dcec35ad3e2c4531daedc979ffd724ad
prototype2: int(_reent *ptr, timeval *tp, timezone *tz)
rva: 301824
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5]]
strongly_connected_spp: 1
mnemonics_spp: 16313584672635757420133949222145821893810305230591387730120240574172299724070291483
switches: []
function_hash: 0e2edd487c504501735a4671aa90b36f
md_index: 1.998386163182243303452188826
constants: []
segment_rva: 104
mnemonics:
  ["stwu", "mflr", "stmw", "mr.", "stw", "mr", "beq", "li", "bl", "stw", "mftb", "li", "srwi", "li", "slwi", "bl", "stw", "cmpwi", "beq", "li", "stw", "stw", "addi", "li", "b", "bclr"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r30, 0x10+var_8(r1)
  mr.       r30, r4
  stw       r0, 0x10+sender_lr(r1)
  mr        r31, r5
  beq       loc_49B44
  loc_49b1c:
  li        r3, 0# timer
  bl        time
  stw       r3, 0(r30)
  mftb      r4
  li        r5, 0
  srwi      r3, r4, 29
  li        r6, 0x1E6
  slwi      r4, r4, 3
  bl        __umoddi3
  stw       r4, 4(r30)
  loc_49b44:
  cmpwi     cr7, r31, 0
  beq       cr7, loc_49B58
  loc_49b4c:
  li        r0, 0
  stw       r0, 0(r31)
  stw       r0, 4(r31)
  loc_49b58:
  addi      r11, r1, 0x10+pre_back_chain
  li        r3, 0
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r30, 0x10+var_8(r1)
  mr.       r30, r4
  stw       r0, 0x10+sender_lr(r1)
  mr        r31, r5
  beq       XXXX
  XXXX:
  li        r3, 0# timer
  bl        time
  stw       r3, 0(r30)
  mftb      r4
  li        r5, 0
  srwi      r3, r4, 29
  li        r6, 0x1E6
  slwi      r4, r4, 3
  bl        __umoddi3
  stw       r4, 4(r30)
  XXXX:
  cmpwi     cr7, r31, 0
  beq       cr7, XXXX
  XXXX:
  li        r0, 0
  stw       r0, 0(r31)
  stw       r0, 4(r31)
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  li        r3, 0
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x


name: __libogc_lock_init
address: 301924
names: ["_restgpr_31_x", "LWP_MutexInit", "_start", "__argv_0", "_savegpr_31"]
prototype: int()
primes_value: 7
mangled_function: __libogc_lock_init
bytes_hash: 2260049910646a794f49f2ad8917d833
prototype2: int(int *lock, int recursive)
rva: 301924
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
mnemonics_spp: 23619269136206152970349021603864825313584621689255265897631509451469
switches: []
function_hash: 8aad7e1fcbb0be2eca3b4f49f7511d2d
md_index: 1.703287923549910974286694706
constants: []
segment_rva: 16
mnemonics:
  ["mr", "stwu", "mflr", "bl", "mr.", "stw", "li", "stw", "beq", "li", "cntlzw", "stw", "srwi", "addi", "xori", "bl", "mr.", "bne", "lwz", "stw", "addi", "mr", "b", "bclr"]

assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  bl        _savegpr_31
  mr.       r31, r3
  stw       r0, 0x20+sender_lr(r1)
  li        r0, -1
  stw       r0, 0x20+retlck(r1)
  beq       loc_49BB4
  loc_49b88:
  li        r0, 0
  cntlzw    r4, r4
  stw       r0, 0(r31)
  srwi      r4, r4, 5
  addi      r3, r1, 0x20+retlck# mutex
  xori      r4, r4, 1# use_recursive
  bl        LWP_MutexInit
  mr.       r0, r3
  bne       loc_49BB4
  loc_49bac:
  lwz       r9, 0x20+retlck(r1)
  stw       r9, 0(r31)
  loc_49bb4:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r0
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  bl        _saXXX
  mr.       r31, r3
  stw       r0, 0x20+sender_lr(r1)
  li        r0, -1
  stw       r0, 0x20+retlck(r1)
  beq       XXXX
  XXXX:
  li        r0, 0
  cntlzw    r4, r4
  stw       r0, 0(r31)
  srwi      r4, r4, 5
  addi      r3, r1, 0x20+retlck# mutex
  xori      r4, r4, 1# use_recursive
  bl        LWP_MutexInit
  mr.       r0, r3
  bne       XXXX
  XXXX:
  lwz       r9, 0x20+retlck(r1)
  stw       r9, 0(r31)
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r0
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: __libogc_lock_close
address: 302016
names: ["_restgpr_31_x", "_start", "LWP_MutexDestroy", "_savegpr_31"]
prototype: int()
primes_value: 11
mangled_function: __libogc_lock_close
bytes_hash: e9cfa51e4180de38e2054a23cb90c0c7
prototype2: int(int *lock)
rva: 302016
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5]]
strongly_connected_spp: 1
mnemonics_spp: 236153516086723860259751743106269553251205267887
switches: []
function_hash: f3f0dd8af4a5d0f29cc8aa487488b700
md_index: 2.104402582330224185489335109
constants: []
segment_rva: 16
mnemonics:
  ["mr", "stwu", "mflr", "bl", "mr.", "stw", "li", "beq", "lwz", "cmpwi", "beq", "bl", "mr.", "bne", "stw", "addi", "mr", "b", "bclr"]

assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  bl        _savegpr_31
  mr.       r31, r3
  stw       r0, 0x10+sender_lr(r1)
  li        r0, -1
  beq       loc_49BFC
  loc_49be0:
  lwz       r3, 0(r31)# mutex
  cmpwi     cr7, r3, 0
  beq       cr7, loc_49BFC
  loc_49bec:
  bl        LWP_MutexDestroy
  mr.       r0, r3
  bne       loc_49BFC
  loc_49bf8:
  stw       r0, 0(r31)
  loc_49bfc:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r0
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  bl        _saXXX
  mr.       r31, r3
  stw       r0, 0x10+sender_lr(r1)
  li        r0, -1
  beq       XXXX
  XXXX:
  lwz       r3, 0(r31)# mutex
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  bl        LWP_MutexDestroy
  mr.       r0, r3
  bne       XXXX
  XXXX:
  stw       r0, 0(r31)
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r0
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: __libogc_lock_acquire
address: 302088
names: ["_start", "LWP_MutexLock"]
prototype: int()
primes_value: 7
mangled_function: __libogc_lock_acquire
bytes_hash: dd61303829119ea483e54dec58381f22
prototype2: int(int *lock)
rva: 302088
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 723512568978098376726013883648164979158296949697
switches: []
function_hash: abbb295509ff91a456818c0b7b6f3af7
md_index: 1.492327708998104691453506439
constants: []
segment_rva: 60
mnemonics:
  ["cmpwi", "mflr", "stwu", "stw", "li", "beq", "lwz", "cmpwi", "beq", "bl", "mr", "mr", "lwz", "addi", "mtlr", "blr"]

assembly:
  cmpwi     r3, 0
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  li        r0, -1
  beq       loc_49C34
  loc_49c20:
  lwz       r3, 0(r3)# mutex
  cmpwi     cr7, r3, 0
  beq       cr7, loc_49C34
  loc_49c2c:
  bl        LWP_MutexLock
  mr        r0, r3
  loc_49c34:
  mr        r3, r0
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  cmpwi     r3, 0
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  li        r0, -1
  beq       XXXX
  XXXX:
  lwz       r3, 0(r3)# mutex
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  bl        LWP_MutexLock
  mr        r0, r3
  XXXX:
  mr        r3, r0
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: __libogc_lock_release
address: 302152
names: ["LWP_MutexUnlock", "_start"]
prototype: int()
primes_value: 7
mangled_function: __libogc_lock_release
bytes_hash: 7539d4d1618a6cf51b5647ad0614b3f3
prototype2: int(int *lock)
rva: 302152
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 723512568978098376726013883648164979158296949697
switches: []
function_hash: 9beb167596d059fafdae5d1c5ba5e10b
md_index: 1.492327708998104691453506439
constants: []
segment_rva: 60
mnemonics:
  ["cmpwi", "mflr", "stwu", "stw", "li", "beq", "lwz", "cmpwi", "beq", "bl", "mr", "mr", "lwz", "addi", "mtlr", "blr"]

assembly:
  cmpwi     r3, 0
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  li        r0, -1
  beq       loc_49C74
  loc_49c60:
  lwz       r3, 0(r3)# mutex
  cmpwi     cr7, r3, 0
  beq       cr7, loc_49C74
  loc_49c6c:
  bl        LWP_MutexUnlock
  mr        r0, r3
  loc_49c74:
  mr        r3, r0
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  cmpwi     r3, 0
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  li        r0, -1
  beq       XXXX
  XXXX:
  lwz       r3, 0(r3)# mutex
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  bl        LWP_MutexUnlock
  mr        r0, r3
  XXXX:
  mr        r3, r0
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: __libc_start_hook
address: 302232
prototype: int()
primes_value: 3
mangled_function: __libc_start_hook
bytes_hash: d3ba42ef29837a0d40b3e273269a7360
prototype2: int(lwp_cntrl *curr_thr, lwp_cntrl *start_thr)
rva: 302232
tarjan_topological_sort: [[0], [2], [3], [1]]
strongly_connected_spp: 1
switches: []
function_hash: 281b7ced3dee4bb3920d4fccc9182be7
md_index: 1.160827952584762872492144867
constants: [4294938157, 4294945741, 4294960749, 4294958828]
segment_rva: 252
mnemonics:
  ["stwu", "mflr", "li", "stmw", "mr", "li", "stw", "bl", "mr.", "bne+", "bl", "addi", "li", "addi", "stw", "addi", "stw", "stw", "li", "stw", "li", "stw", "addi", "bl", "lis", "addi", "stw", "stw", "li", "stw", "li", "stw", "addi", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stb", "bl", "li", "sth", "li", "sth", "li", "sth", "li", "sth", "li", "sth", "li", "li", "li", "sth", "li", "stw", "mr", "stw", "li", "sth", "li", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stb", "stb", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "bl", "addi", "li", "stw", "b", "bclr"]

names:
  ["__argv_0", "memset", "abort", "__enable_iabr", "calloc", "__InitHardware", "_start", "_restgpr_28_x"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r3, 1# nmemb
  stmw      r28, 0x18+var_10(r1)
  mr        r28, r4
  li        r4, 0x440# size
  stw       r0, 0x18+sender_lr(r1)
  bl        calloc
  mr.       r31, r3
  bne+      loc_49CC4
  loc_49cc0:
  bl        abort
  loc_49cc4:
  addi      r0, r31, 0x360
  li        r30, 0
  addi      r29, r31, 0x2F0
  stw       r0, 8(r31)
  addi      r0, r31, 0x3D0
  stw       r30, 0(r31)
  stw       r0, 0xC(r31)
  li        r4, 0# c
  stw       r29, 4(r31)
  li        r5, 0x19# n
  stw       r30, 0x10(r31)
  addi      r3, r31, 0x14# s
  bl        memset
  lis       r9, aC@ha
  addi      r0, r9, aC@l# "C"
  stw       r30, 0x30(r31)
  stw       r0, 0x34(r31)
  li        r4, 0# c
  stw       r30, 0x38(r31)
  li        r5, 0x24 # '$'# n
  stw       r30, 0x3C(r31)
  addi      r3, r31, 0x7C# s
  stw       r30, 0x40(r31)
  stw       r30, 0x44(r31)
  stw       r30, 0x48(r31)
  stw       r30, 0x4C(r31)
  stw       r30, 0x50(r31)
  stw       r30, 0x54(r31)
  stw       r30, 0x58(r31)
  stw       r30, 0x5C(r31)
  stb       r30, 0x60(r31)
  bl        memset
  li        r0, 0x330E
  sth       r0, 0xB0(r31)
  li        r0, -0x5433
  sth       r0, 0xB2(r31)
  li        r0, 0x1234
  sth       r0, 0xB4(r31)
  li        r0, -0x1993
  sth       r0, 0xB6(r31)
  li        r0, -0x2114
  sth       r0, 0xB8(r31)
  li        r0, 5
  li        r11, 1
  li        r10, 0
  sth       r0, 0xBA(r31)
  li        r0, 0xB
  stw       r11, 0xAC(r31)
  mr        r3, r29# s
  stw       r10, 0xA8(r31)
  li        r4, 0# c
  sth       r0, 0xBC(r31)
  li        r5, 0x150# n
  stw       r30, 0xA0(r31)
  stw       r30, 0xC0(r31)
  stw       r30, 0xC4(r31)
  stw       r30, 0xC8(r31)
  stw       r30, 0xCC(r31)
  stw       r30, 0xD0(r31)
  stw       r30, 0xD4(r31)
  stw       r30, 0xFC(r31)
  stw       r30, 0x100(r31)
  stw       r30, 0x104(r31)
  stw       r30, 0x108(r31)
  stw       r30, 0x10C(r31)
  stw       r30, 0x110(r31)
  stw       r30, 0x114(r31)
  stw       r30, 0x118(r31)
  stw       r30, 0x11C(r31)
  stw       r30, 0x120(r31)
  stb       r30, 0xD8(r31)
  stb       r30, 0xE0(r31)
  stw       r30, 0xF8(r31)
  stw       r30, 0x148(r31)
  stw       r30, 0x14C(r31)
  stw       r30, 0x150(r31)
  stw       r30, 0x154(r31)
  stw       r30, 0x2D4(r31)
  stw       r30, 0x1D4(r31)
  stw       r30, 0x2DC(r31)
  stw       r30, 0x2E0(r31)
  stw       r30, 0x2E4(r31)
  stw       r30, 0x2E8(r31)
  bl        memset
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, 1
  stw       r31, 0x3C0(r28)
  b         _restgpr_28_x
  loc_15e3d0:
  .extern _restgpr_28_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r3, 1# nmemb
  stmw      r28, 0x18+var_10(r1)
  mr        r28, r4
  li        r4, 0x440# size
  stw       r0, 0x18+sender_lr(r1)
  bl        calloc
  mr.       r31, r3
  bne+      XXXX
  XXXX:
  bl        abort
  XXXX:
  addi      r0, r31, 0x360
  li        r30, 0
  addi      r29, r31, 0x2F0
  stw       r0, 8(r31)
  addi      r0, r31, 0x3D0
  stw       r30, 0(r31)
  stw       r0, 0xC(r31)
  li        r4, 0# c
  stw       r29, 4(r31)
  li        r5, 0x19# n
  stw       r30, 0x10(r31)
  addi      r3, r31, 0x14# s
  bl        memset
  lis       r9, aC@ha
  addi      r0, r9, aC@l# "C"
  stw       r30, 0x30(r31)
  stw       r0, 0x34(r31)
  li        r4, 0# c
  stw       r30, 0x38(r31)
  li        r5, 0x24
  stw       r30, 0x3C(r31)
  addi      r3, r31, 0x7C# s
  stw       r30, 0x40(r31)
  stw       r30, 0x44(r31)
  stw       r30, 0x48(r31)
  stw       r30, 0x4C(r31)
  stw       r30, 0x50(r31)
  stw       r30, 0x54(r31)
  stw       r30, 0x58(r31)
  stw       r30, 0x5C(r31)
  stb       r30, 0x60(r31)
  bl        memset
  li        r0, 0x330E
  sth       r0, 0xB0(r31)
  li        r0, -0x5433
  sth       r0, 0xB2(r31)
  li        r0, 0x1234
  sth       r0, 0xB4(r31)
  li        r0, -0x1993
  sth       r0, 0xB6(r31)
  li        r0, -0x2114
  sth       r0, 0xB8(r31)
  li        r0, 5
  li        r11, 1
  li        r10, 0
  sth       r0, 0xBA(r31)
  li        r0, 0xB
  stw       r11, 0xAC(r31)
  mr        r3, r29# s
  stw       r10, 0xA8(r31)
  li        r4, 0# c
  sth       r0, 0xBC(r31)
  li        r5, 0x150# n
  stw       r30, 0xA0(r31)
  stw       r30, 0xC0(r31)
  stw       r30, 0xC4(r31)
  stw       r30, 0xC8(r31)
  stw       r30, 0xCC(r31)
  stw       r30, 0xD0(r31)
  stw       r30, 0xD4(r31)
  stw       r30, 0xFC(r31)
  stw       r30, 0x100(r31)
  stw       r30, 0x104(r31)
  stw       r30, 0x108(r31)
  stw       r30, 0x10C(r31)
  stw       r30, 0x110(r31)
  stw       r30, 0x114(r31)
  stw       r30, 0x118(r31)
  stw       r30, 0x11C(r31)
  stw       r30, 0x120(r31)
  stb       r30, 0xD8(r31)
  stb       r30, 0xE0(r31)
  stw       r30, 0xF8(r31)
  stw       r30, 0x148(r31)
  stw       r30, 0x14C(r31)
  stw       r30, 0x150(r31)
  stw       r30, 0x154(r31)
  stw       r30, 0x2D4(r31)
  stw       r30, 0x1D4(r31)
  stw       r30, 0x2DC(r31)
  stw       r30, 0x2E0(r31)
  stw       r30, 0x2E4(r31)
  stw       r30, 0x2E8(r31)
  bl        memset
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, 1
  stw       r31, 0x3C0(r28)
  b         _restgpr_28_x
  XXXX:
  .extern _restgpr_28_x

mnemonics_spp:
  9745949775360890688552874270928976020883972539415981617434206390386627598854133514780731216653100856829803447718260517698777032868528900085989647088351247800821896225527019290515807531480318817984746425591396680238804464709585483029906795483681526829842779464996027770814886316098561153170610338644705944220456071005077996725936757351904019467723752063667735041


name: __libc_delete_hook
address: 302628
names: ["_wrapup_reent", "_start", "_reclaim_reent", "free", "_restgpr_29_x"]
prototype: int()
primes_value: 13
mangled_function: __libc_delete_hook
bytes_hash: 6135c6ec3a136087142faa1ddf7ee05c
prototype2: int(lwp_cntrl *curr_thr, lwp_cntrl *delete_thr)
rva: 302628
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [6], [7], [8]]
strongly_connected_spp: 1
mnemonics_spp: 194525248050183215768222872065512334975577495245680953398042691304487076467932089206275197
switches: []
function_hash: e33f4fdb3fa762145b49191b1ded8cd5
md_index: 3.075633748388629188928800025
constants: [4294958816]
segment_rva: 124
mnemonics:
  ["cmpw", "mflr", "stwu", "stmw", "mr", "stw", "mr", "lwz", "beq", "lwz", "cmpwi", "beq", "lis", "addi", "cmpw", "beq", "mr", "bl", "mr", "bl", "mr", "bl", "cmpw", "li", "stw", "bne+", "stw", "addi", "li", "b", "bclr"]

assembly:
  cmpw      cr7, r3, r4
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r31, r3
  stw       r0, 0x18+sender_lr(r1)
  mr        r29, r4
  lwz       r30, _impure_ptr-0x160000# Relocation out of range
  beq       cr7, loc_49E4C
  loc_49e48:
  lwz       r30, 0x3C0(r4)
  loc_49e4c:
  cmpwi     cr7, r30, 0
  beq       cr7, loc_49E7C
  loc_49e54:
  lis       r9, libc_globl_reent@ha
  addi      r0, r9, libc_globl_reent@l
  cmpw      cr7, r30, r0
  beq       cr7, loc_49E7C
  loc_49e64:
  mr        r3, r30
  bl        _wrapup_reent
  mr        r3, r30
  bl        _reclaim_reent
  mr        r3, r30# ptr
  bl        free
  loc_49e7c:
  cmpw      cr7, r31, r29
  li        r0, 0
  stw       r0, 0x3C0(r29)
  bne+      cr7, loc_49E90
  loc_49e8c:
  stw       r0, _impure_ptr-0x160000# Relocation out of range
  loc_49e90:
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, 1
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  cmpw      cr7, r3, r4
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r29, 0x18+var_C(r1)
  mr        r31, r3
  stw       r0, 0x18+sender_lr(r1)
  mr        r29, r4
  lwz       r30, _impure_ptr-0x160000# Relocation out of range
  beq       cr7, XXXX
  XXXX:
  lwz       r30, 0x3C0(r4)
  XXXX:
  cmpwi     cr7, r30, 0
  beq       cr7, XXXX
  XXXX:
  lis       r9, libc_globl_reent@ha
  addi      r0, r9, libc_globl_reent@l
  cmpw      cr7, r30, r0
  beq       cr7, XXXX
  XXXX:
  mr        r3, r30
  bl        _wrapup_reent
  mr        r3, r30
  bl        _reclaim_reent
  mr        r3, r30# ptr
  bl        free
  XXXX:
  cmpw      cr7, r31, r29
  li        r0, 0
  stw       r0, 0x3C0(r29)
  bne+      cr7, XXXX
  XXXX:
  stw       r0, _impure_ptr-0x160000# Relocation out of range
  XXXX:
  addi      r11, r1, 0x18+pre_back_chain
  li        r3, 1
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x


name: __libc_init
address: 302748
names: ["_restgpr_30_x", "_start", "memset", "__argv_0"]
prototype: int()
primes_value: 5
mangled_function: __libc_init
bytes_hash: c46128767b47d2643a359ae753ce3205
prototype2: void(int reentrant)
rva: 302748
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
switches: []
function_hash: 6a8a869202db825b3c5abc5e04baebc7
md_index: 1.288678829894477420686681368
constants: [4294958816, 4294938157, 4294945741, 4294960749, 4294958828, 4294960240]
segment_rva: 104
mnemonics:
  ["stwu", "mflr", "li", "li", "stmw", "lis", "addi", "mr", "mr", "stw", "bl", "addi", "stw", "addi", "stw", "lis", "addi", "cmpwi", "stw", "addi", "stw", "li", "sth", "li", "sth", "li", "sth", "li", "sth", "li", "sth", "li", "li", "li", "sth", "li", "stw", "stw", "sth", "stw", "beq", "li", "stw", "stw", "addi", "b", "bclr"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 0# c
  li        r5, 0x440# n
  stmw      r30, 0x10+var_8(r1)
  lis       r31, libc_globl_reent@ha
  addi      r31, r31, libc_globl_reent@l
  mr        r30, r3
  mr        r3, r31# s
  stw       r0, 0x10+sender_lr(r1)
  bl        memset
  addi      r0, r31, 0x2F0
  stw       r0, 4(r31)
  addi      r0, r31, 0x360
  stw       r0, 8(r31)
  lis       r9, aC@ha
  addi      r0, r31, 0x3D0
  cmpwi     cr7, r30, 0
  stw       r0, 0xC(r31)
  addi      r0, r9, aC@l# "C"
  stw       r0, 0x34(r31)
  li        r0, 0x330E
  sth       r0, 0xB0(r31)
  li        r0, -0x5433
  sth       r0, 0xB2(r31)
  li        r0, 0x1234
  sth       r0, 0xB4(r31)
  li        r0, -0x1993
  sth       r0, 0xB6(r31)
  li        r0, -0x2114
  sth       r0, 0xB8(r31)
  li        r0, 5
  li        r10, 0
  li        r11, 1
  sth       r0, 0xBA(r31)
  li        r0, 0xB
  stw       r10, 0xA8(r31)
  stw       r11, 0xAC(r31)
  sth       r0, 0xBC(r31)
  stw       r31, _impure_ptr-0x160000# Relocation out of range
  beq       cr7, loc_49F4C
  loc_49f40:
  li        r0, (_impure_ptr-0x160000)# Relocation out of range
  stw       r30, libc_reentrant-0x160000# Relocation out of range
  stw       r0, __lwp_thr_libc_reent-0x130000# Relocation out of range
  loc_49f4c:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 0# c
  li        r5, 0x440# n
  stmw      r30, 0x10+var_8(r1)
  lis       r31, libc_globl_reent@ha
  addi      r31, r31, libc_globl_reent@l
  mr        r30, r3
  mr        r3, r31# s
  stw       r0, 0x10+sender_lr(r1)
  bl        memset
  addi      r0, r31, 0x2F0
  stw       r0, 4(r31)
  addi      r0, r31, 0x360
  stw       r0, 8(r31)
  lis       r9, aC@ha
  addi      r0, r31, 0x3D0
  cmpwi     cr7, r30, 0
  stw       r0, 0xC(r31)
  addi      r0, r9, aC@l# "C"
  stw       r0, 0x34(r31)
  li        r0, 0x330E
  sth       r0, 0xB0(r31)
  li        r0, -0x5433
  sth       r0, 0xB2(r31)
  li        r0, 0x1234
  sth       r0, 0xB4(r31)
  li        r0, -0x1993
  sth       r0, 0xB6(r31)
  li        r0, -0x2114
  sth       r0, 0xB8(r31)
  li        r0, 5
  li        r10, 0
  li        r11, 1
  sth       r0, 0xBA(r31)
  li        r0, 0xB
  stw       r10, 0xA8(r31)
  stw       r11, 0xAC(r31)
  sth       r0, 0xBC(r31)
  stw       r31, _impure_ptr-0x160000# Relocation out of range
  beq       cr7, XXXX
  XXXX:
  li        r0, (_impure_ptr-0x160000)# Relocation out of range
  stw       r30, libc_reentrant-0x160000# Relocation out of range
  stw       r0, __lwp_thr_libc_reent-0x130000# Relocation out of range
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  1080472777375569764376216330200067907873733787043815771506748118588196845424857655236975181285738111143189345388631352393039854312657592861017646394172623191322134079


name: __libc_wrapup
address: 302932
names: ["_restgpr_31_x", "_wrapup_reent", "_start", "_savegpr_31"]
prototype: int()
primes_value: 7
mangled_function: __libc_wrapup
bytes_hash: 22e219c7aee77017d0992ddef826ca53
prototype2: void()
rva: 302932
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
mnemonics_spp: 939260683621101096910175237318974940894370653495597
switches: []
function_hash: 3277be458d99e8294f70af51716051a1
md_index: 1.703287923549910974286694706
constants: [4294958816]
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "stw", "bl", "lwz", "cmpwi", "bne+", "lis", "lwz", "addi", "cmpw", "beq", "mr", "bl", "stw", "addi", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  stw       r0, 0x10+sender_lr(r1)
  bl        _savegpr_31
  lwz       r0, _sys_state_curr-0x160000# Relocation out of range
  cmpwi     cr7, r0, 3
  bne+      cr7, loc_49F94
  loc_49f74:
  lis       r31, libc_globl_reent@ha
  lwz       r0, _impure_ptr-0x160000# Relocation out of range
  addi      r31, r31, libc_globl_reent@l
  cmpw      cr7, r0, r31
  beq       cr7, loc_49F94
  loc_49f88:
  mr        r3, r31
  bl        _wrapup_reent
  stw       r31, _impure_ptr-0x160000# Relocation out of range
  loc_49f94:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  stw       r0, 0x10+sender_lr(r1)
  bl        _saXXX
  lwz       r0, _sys_state_curr-0x160000# Relocation out of range
  cmpwi     cr7, r0, 3
  bne+      cr7, XXXX
  XXXX:
  lis       r31, libc_globl_reent@ha
  lwz       r0, _impure_ptr-0x160000# Relocation out of range
  addi      r31, r31, libc_globl_reent@l
  cmpw      cr7, r0, r31
  beq       cr7, XXXX
  XXXX:
  mr        r3, r31
  bl        _wrapup_reent
  stw       r31, _impure_ptr-0x160000# Relocation out of range
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: __usbgecko_exi_wait
address: 303004
names: ["EXI_Lock", "__argv_0", "LWP_ThreadSleep", "_start", "LWP_InitQueue", "_restgpr_28_x"]
prototype: int __fastcall(s32 nChn)
primes_value: 11
mangled_function: __usbgecko_exi_wait
bytes_hash: dd677b1f30d6b69983139a60722f0faa
prototype2: void(s32 chn)
rva: 303004
tarjan_topological_sort: [[0], [1], [3], [4, 2], [5], [6], [7], [8]]
strongly_connected_spp: 5
switches: []
function_hash: e6df2610aebf17bd914f9d40afce90bf
md_index: 3.014278469213826211826899228
constants: [4294944512, 4294944516, 4294944512, 4294942800]
segment_rva: 252
mnemonics:
  ["stwu", "mflr", "stmw", "li", "stw", "mr", "mr", "mr", "mfmsr", "rlwinm", "mtmsr", "extrwi", "lwz", "mr", "cmpwi", "bne", "li", "bl", "li", "bl", "li", "stw", "b", "lwz", "bl", "b", "lis", "slwi", "li", "addi", "add", "mr", "li", "mr", "bl", "cmpwi", "beq", "li", "cmpwi", "beq", "mfmsr", "ori", "mtmsr", "addi", "b", "bclr"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r28, 0x18+var_10(r1)
  li        r31, 0
  stw       r0, 0x18+sender_lr(r1)
  mr        r30, r3
  mr        r9, r31
  mr        r0, r31
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  lwz       r0, usbgecko_inited-0x140000# Relocation out of range
  mr        r31, r9
  cmpwi     cr7, r0, 0
  bne       cr7, loc_4A004
  loc_49fdc:
  li        r3, (wait_exi_queue-0x140000)# Relocation out of range
  bl        LWP_InitQueue
  li        r3, (wait_exi_queue-0x13FFFC)# Relocation out of range
  bl        LWP_InitQueue
  li        r0, 1
  stw       r0, usbgecko_inited-0x140000# Relocation out of range
  b         loc_4A004
  loc_49ff8:
  lwz       r3, 0(r29)# thequeue
  bl        LWP_ThreadSleep
  b         loc_4A018
  loc_4a004:
  lis       r28, __usbgecko_exi_unlock@ha
  slwi      r0, r30, 2
  li        r29, (wait_exi_queue-0x140000)# Relocation out of range
  addi      r28, r28, __usbgecko_exi_unlock@l
  add       r29, r29, r0
  loc_4a018:
  mr        r3, r30# nChn
  li        r4, 0# nDev
  mr        r5, r28# unlockCB
  bl        EXI_Lock
  cmpwi     cr7, r3, 0
  beq       cr7, loc_49FF8
  loc_4a030:
  li        r0, 0
  cmpwi     r31, 0
  beq       loc_4A048
  loc_4a03c:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  loc_4a048:
  addi      r11, r1, 0x18+pre_back_chain
  b         _restgpr_28_x
  loc_15e3d0:
  .extern _restgpr_28_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r28, 0x18+var_10(r1)
  li        r31, 0
  stw       r0, 0x18+sender_lr(r1)
  mr        r30, r3
  mr        r9, r31
  mr        r0, r31
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  lwz       r0, usbgecko_inited-0x140000# Relocation out of range
  mr        r31, r9
  cmpwi     cr7, r0, 0
  bne       cr7, XXXX
  XXXX:
  li        r3, (wait_exi_queue-0x140000)# Relocation out of range
  bl        LWP_InitQueue
  li        r3, (wait_exi_queue-0x13FFFC)# Relocation out of range
  bl        LWP_InitQueue
  li        r0, 1
  stw       r0, usbgecko_inited-0x140000# Relocation out of range
  b         XXXX
  XXXX:
  lwz       r3, 0(r29)# thequeue
  bl        LWP_ThreadSleep
  b         XXXX
  XXXX:
  lis       r28, __usbgecko_exi_unlock@ha
  slwi      r0, r30, 2
  li        r29, (wait_exi_queue-0x140000)# Relocation out of range
  addi      r28, r28, __usbgecko_exi_unlock@l
  add       r29, r29, r0
  XXXX:
  mr        r3, r30# nChn
  li        r4, 0# nDev
  mr        r5, r28# unlockCB
  bl        EXI_Lock
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  li        r0, 0
  cmpwi     r31, 0
  beq       XXXX
  XXXX:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  XXXX:
  addi      r11, r1, 0x18+pre_back_chain
  b         _restgpr_28_x
  XXXX:
  .extern _restgpr_28_x

mnemonics_spp:
  863597203564533246674084333154868842266955094688813168069132378744275388271048151832206310880098062589346834302018750588340856637338735347898509


name: __usbgecko_exi_unlock
address: 303184
mnemonics: ["mflr", "stwu", "li", "slwi", "stw", "lwzx", "bl", "lwz", "li", "mtlr", "addi", "blr"]
names: ["_start", "LWP_ThreadBroadcast"]
prototype: int()
primes_value: 3
mangled_function: __usbgecko_exi_unlock
bytes_hash: ce4e1293a101fe0b337fa3e112125204
prototype2: s32(s32 chan, s32 dev)
rva: 303184
tarjan_topological_sort: [[0]]
strongly_connected_spp: 1
mnemonics_spp: 191414445518684391695607509758262738593
switches: []
function_hash: a14c5f54490100612e78e4a792d3bdc2
md_index: 0
constants: [4294944512]
segment_rva: 44
assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r9, (wait_exi_queue-0x140000)# Relocation out of range
  slwi      r3, r3, 2
  stw       r0, 8+sender_lr(r1)
  lwzx      r3, r9, r3# thequeue
  bl        LWP_ThreadBroadcast
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  mtlr      r0
  addi      r1, r1, 8
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r9, (wait_exi_queue-0x140000)# Relocation out of range
  slwi      r3, r3, 2
  stw       r0, 8+sender_lr(r1)
  lwzx      r3, r9, r3# thequeue
  bl        LWP_ThreadBroadcast
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  mtlr      r0
  addi      r1, r1, 8
  blr


name: __flashwritecommand
address: 303232
names: ["__argv_0", "EXI_Select", "_restgpr_30_x", "EXI_ImmEx", "_start", "EXI_Deselect"]
prototype: int __fastcall(s32 nChn)
primes_value: 13
mangled_function: __flashwritecommand
bytes_hash: febf9c5950f35f3412727ca8bf1b4ac9
prototype2: int(s32 chn, u32 flashaddress, u8 flashdata)
rva: 303232
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [6], [7], [8]]
strongly_connected_spp: 1
switches: []
function_hash: 1c47b224c24f8dcafd8d934c2e4bd4a6
md_index: 3.093109076077760862456191788
constants: []
segment_rva: 104
mnemonics:
  ["mflr", "lis", "stwu", "ori", "cmplw", "slwi", "stw", "slwi", "oris", "stmw", "or", "mr", "stw", "li", "bgt+", "li", "li", "bl", "addi", "cntlzw", "li", "mr", "li", "bl", "srwi", "cmpwi", "bne", "ori", "mr", "addi", "li", "li", "bl", "cmpwi", "bne", "ori", "mr", "bl", "li", "cmpwi", "beq", "cntlzw", "srwi", "addi", "mr", "b", "bclr"]

assembly:
  mflr      r0
  lis       r9, 7
  stwu      r1, back_chain(r1)
  ori       r9, r9, 0xFFFF # 0x7FFFF
  cmplw     cr7, r4, r9
  slwi      r5, r5, 1
  stw       r0, 0x20+sender_lr(r1)
  slwi      r0, r4, 9
  oris      r0, r0, 0xE000
  stmw      r30, 0x20+var_8(r1)
  or        r0, r0, r5
  mr        r30, r3
  stw       r0, 0x20+val(r1)
  li        r0, 0
  bgt+      cr7, loc_4A12C
  loc_4a0bc:
  li        r4, 0# nDev
  li        r5, 4# nFrq
  bl        EXI_Select
  addi      r4, r1, 0x20+val# pData
  cntlzw    r31, r3
  li        r5, 4# nLen
  mr        r3, r30# nChn
  li        r6, 1# nMode
  bl        EXI_ImmEx
  srwi      r31, r31, 5
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4A0F0
  loc_4a0ec:
  ori       r31, r31, 2
  loc_4a0f0:
  mr        r3, r30# nChn
  addi      r4, r1, 0x20+val# pData
  li        r5, 4# nLen
  li        r6, 1# nMode
  bl        EXI_ImmEx
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4A110
  loc_4a10c:
  ori       r31, r31, 4
  loc_4a110:
  mr        r3, r30# nChn
  bl        EXI_Deselect
  li        r0, 0
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A12C
  loc_4a124:
  cntlzw    r0, r31
  srwi      r0, r0, 5
  loc_4a12c:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r0
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  mflr      r0
  lis       r9, 7
  stwu      r1, back_chain(r1)
  ori       r9, r9, 0xFFFF
  cmplw     cr7, r4, r9
  slwi      r5, r5, 1
  stw       r0, 0x20+sender_lr(r1)
  slwi      r0, r4, 9
  oris      r0, r0, 0xE000
  stmw      r30, 0x20+var_8(r1)
  or        r0, r0, r5
  mr        r30, r3
  stw       r0, 0x20+val(r1)
  li        r0, 0
  bgt+      cr7, XXXX
  XXXX:
  li        r4, 0# nDev
  li        r5, 4# nFrq
  bl        EXI_Select
  addi      r4, r1, 0x20+val# pData
  cntlzw    r31, r3
  li        r5, 4# nLen
  mr        r3, r30# nChn
  li        r6, 1# nMode
  bl        EXI_ImmEx
  srwi      r31, r31, 5
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  ori       r31, r31, 2
  XXXX:
  mr        r3, r30# nChn
  addi      r4, r1, 0x20+val# pData
  li        r5, 4# nLen
  li        r6, 1# nMode
  bl        EXI_ImmEx
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  ori       r31, r31, 4
  XXXX:
  mr        r3, r30# nChn
  bl        EXI_Deselect
  li        r0, 0
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  cntlzw    r0, r31
  srwi      r0, r0, 5
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r0
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  21504215629233516819554995367278332302502043961716015749326191135811729405457556273857823204803017203627090189279719309404937584140467905259178301


name: __flashreadcommand
address: 303416
names: ["__argv_0", "_restgpr_29_x", "EXI_Select", "EXI_ImmEx", "_start", "EXI_Deselect"]
prototype: int __fastcall(s32 nChn)
primes_value: 17
mangled_function: __flashreadcommand
bytes_hash: a426112be24ec087b91015eeeea6d45e
prototype2: int(s32 chn, u32 flashaddress, u8 *flashdata)
rva: 303416
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
strongly_connected_spp: 1
switches: []
function_hash: 6bd2692f934f9f8ef59e456f39bb4b47
md_index: 3.469014573247917164785813280
constants: []
segment_rva: 124
mnemonics:
  ["lis", "mflr", "ori", "stwu", "cmplw", "stw", "slwi", "oris", "stmw", "stw", "mr", "mr", "li", "bgt+", "li", "li", "bl", "addi", "cntlzw", "li", "mr", "li", "bl", "srwi", "cmpwi", "bne", "ori", "mr", "addi", "li", "li", "bl", "cmpwi", "bne", "ori", "mr", "bl", "li", "cmpwi", "beq", "cmpwi", "bne", "lwz", "srwi", "stb", "li", "addi", "mr", "b", "bclr"]

assembly:
  lis       r9, 7
  mflr      r0
  ori       r9, r9, 0xFFFF # 0x7FFFF
  stwu      r1, back_chain(r1)
  cmplw     cr7, r4, r9
  stw       r0, 0x28+sender_lr(r1)
  slwi      r0, r4, 9
  oris      r0, r0, 0xF000
  stmw      r29, 0x28+var_C(r1)
  stw       r0, 0x28+val(r1)
  mr        r30, r3
  mr        r29, r5
  li        r0, 0
  bgt+      cr7, loc_4A1F0
  loc_4a170:
  li        r4, 0# nDev
  li        r5, 4# nFrq
  bl        EXI_Select
  addi      r4, r1, 0x28+val# pData
  cntlzw    r31, r3
  li        r5, 4# nLen
  mr        r3, r30# nChn
  li        r6, 1# nMode
  bl        EXI_ImmEx
  srwi      r31, r31, 5
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4A1A4
  loc_4a1a0:
  ori       r31, r31, 2
  loc_4a1a4:
  mr        r3, r30# nChn
  addi      r4, r1, 0x28+val# pData
  li        r5, 4# nLen
  li        r6, 0# nMode
  bl        EXI_ImmEx
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4A1C4
  loc_4a1c0:
  ori       r31, r31, 4
  loc_4a1c4:
  mr        r3, r30# nChn
  bl        EXI_Deselect
  li        r0, 0
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A1F0
  loc_4a1d8:
  cmpwi     cr7, r31, 0
  bne       cr7, loc_4A1F0
  loc_4a1e0:
  lwz       r0, 0x28+val(r1)
  srwi      r0, r0, 23
  stb       r0, 0(r29)
  li        r0, 1
  loc_4a1f0:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r0
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  lis       r9, 7
  mflr      r0
  ori       r9, r9, 0xFFFF
  stwu      r1, back_chain(r1)
  cmplw     cr7, r4, r9
  stw       r0, 0x28+sender_lr(r1)
  slwi      r0, r4, 9
  oris      r0, r0, 0xF000
  stmw      r29, 0x28+var_C(r1)
  stw       r0, 0x28+val(r1)
  mr        r30, r3
  mr        r29, r5
  li        r0, 0
  bgt+      cr7, XXXX
  XXXX:
  li        r4, 0# nDev
  li        r5, 4# nFrq
  bl        EXI_Select
  addi      r4, r1, 0x28+val# pData
  cntlzw    r31, r3
  li        r5, 4# nLen
  mr        r3, r30# nChn
  li        r6, 1# nMode
  bl        EXI_ImmEx
  srwi      r31, r31, 5
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  ori       r31, r31, 2
  XXXX:
  mr        r3, r30# nChn
  addi      r4, r1, 0x28+val# pData
  li        r5, 4# nLen
  li        r6, 0# nMode
  bl        EXI_ImmEx
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  ori       r31, r31, 4
  XXXX:
  mr        r3, r30# nChn
  bl        EXI_Deselect
  li        r0, 0
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r31, 0
  bne       cr7, XXXX
  XXXX:
  lwz       r0, 0x28+val(r1)
  srwi      r0, r0, 23
  stb       r0, 0(r29)
  li        r0, 1
  XXXX:
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r0
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x

mnemonics_spp:
  511706909338520659106149053306643508785737013910079698407175928990042225743647279678702003507752092358722984675942348278021331530807465740349025536686510281


name: __usb_sendbyte
address: 303612
names: ["__send_command_0", "_start", "__argv_0"]
prototype: int()
primes_value: 5
mangled_function: __usb_sendbyte
bytes_hash: b9595408c0b0df37a0bd9dd84d23c4cd
prototype2: int(s32 chn, unsigned __int8 ch)
rva: 303612
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 163438409003984878895428899213879422459253907416235697
switches: []
function_hash: e259d31eba92721aa5cf1a41317159d1
md_index: 1.041752623040894078367782257
constants: [4294946816]
segment_rva: 64
mnemonics:
  ["mflr", "stwu", "slwi", "stw", "li", "or", "mr", "sthu", "bl", "cmpwi", "bne+", "lhz", "extrwi", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  slwi      r4, r4, 4
  stw       r0, 0x18+sender_lr(r1)
  li        r0, -0x5000
  or        r0, r4, r0
  mr        r4, r1
  sthu      r0, 8(r4)# cmd
  bl        __send_command_0
  cmpwi     cr7, r3, 1
  bne+      cr7, loc_4A230
  loc_4a228:
  lhz       r3, 0x18+var_10(r1)
  extrwi    r3, r3, 1,21
  loc_4a230:
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  slwi      r4, r4, 4
  stw       r0, 0x18+sender_lr(r1)
  li        r0, -0x5000
  or        r0, r4, r0
  mr        r4, r1
  sthu      r0, 8(r4)# cmd
  bl        __send_commaXXX
  cmpwi     cr7, r3, 1
  bne+      cr7, XXXX
  XXXX:
  lhz       r3, 0x18+var_10(r1)
  extrwi    r3, r3, 1,21
  XXXX:
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr


name: __usb_checksend
address: 303680
names: ["__send_command_0", "_start", "__argv_0"]
prototype: int()
primes_value: 5
mangled_function: __usb_checksend
bytes_hash: e40257fc5ff21676852011c12cf91c51
prototype2: int(s32 chn)
rva: 303680
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 893873858699234715306520305104472619704221827
switches: []
function_hash: a1dca153e35d88a12a8ffc8fce2ba3e6
md_index: 1.041752623040894078367782257
constants: [4294950912]
segment_rva: 56
mnemonics:
  ["mflr", "stwu", "mr", "stw", "li", "sthu", "bl", "cmpwi", "bne+", "lhz", "extrwi", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r4, r1
  stw       r0, 0x18+sender_lr(r1)
  li        r0, -0x4000
  sthu      r0, 8(r4)# cmd
  bl        __send_command_0
  cmpwi     cr7, r3, 1
  bne+      cr7, loc_4A26C
  loc_4a264:
  lhz       r3, 0x18+var_10(r1)
  extrwi    r3, r3, 1,21
  loc_4a26c:
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r4, r1
  stw       r0, 0x18+sender_lr(r1)
  li        r0, -0x4000
  sthu      r0, 8(r4)# cmd
  bl        __send_commaXXX
  cmpwi     cr7, r3, 1
  bne+      cr7, XXXX
  XXXX:
  lhz       r3, 0x18+var_10(r1)
  extrwi    r3, r3, 1,21
  XXXX:
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr


name: __usb_checkrecv
address: 303740
names: ["__send_command_0", "_start", "__argv_0"]
prototype: int()
primes_value: 5
mangled_function: __usb_checkrecv
bytes_hash: 24b95cc8275cbf0f350e1fbf8c3efc0b
prototype2: int(s32 chn)
rva: 303740
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 893873858699234715306520305104472619704221827
switches: []
function_hash: 499c672b7a1416c9c70c8bca13dd8184
md_index: 1.041752623040894078367782257
constants: [4294955008]
segment_rva: 56
mnemonics:
  ["mflr", "stwu", "mr", "stw", "li", "sthu", "bl", "cmpwi", "bne+", "lhz", "extrwi", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r4, r1
  stw       r0, 0x18+sender_lr(r1)
  li        r0, -0x3000
  sthu      r0, 8(r4)# cmd
  bl        __send_command_0
  cmpwi     cr7, r3, 1
  bne+      cr7, loc_4A2A8
  loc_4a2a0:
  lhz       r3, 0x18+var_10(r1)
  extrwi    r3, r3, 1,21
  loc_4a2a8:
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  mr        r4, r1
  stw       r0, 0x18+sender_lr(r1)
  li        r0, -0x3000
  sthu      r0, 8(r4)# cmd
  bl        __send_commaXXX
  cmpwi     cr7, r3, 1
  bne+      cr7, XXXX
  XXXX:
  lhz       r3, 0x18+var_10(r1)
  extrwi    r3, r3, 1,21
  XXXX:
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr


name: usb_flush
address: 303800
names: ["_savegpr_31", "EXI_Unlock", "__usbgecko_exi_wait", "_restgpr_31_x", "__usb_recvbyte_0", "_start"]
prototype: int()
primes_value: 5
mangled_function: usb_flush
bytes_hash: 426a4af5ad15562a1d7b2c41544713fa
prototype2: void(s32 chn)
rva: 303800
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 19072729664512757286580352224858387239037
switches: []
function_hash: 4f512d984f5e95155949c98fed73555e
md_index: 1.191722710916769640466169696
constants: []
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "bl", "stw", "mr", "bl", "mr", "addi", "bl", "cmpwi", "bne", "mr", "bl", "addi", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _savegpr_31
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  bl        __usbgecko_exi_wait
  loc_4a2d4:
  mr        r3, r31# chn
  addi      r4, r1, 0x20+tmp# ch
  bl        __usb_recvbyte_0
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4A2D4
  loc_4a2e8:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _saXXX
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  bl        __usbgecko_exi_wait
  XXXX:
  mr        r3, r31# chn
  addi      r4, r1, 0x20+tmp# ch
  bl        __usb_recvXXXX
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: usb_isgeckoalive
address: 303864
prototype: int __fastcall(s32 nChn)
primes_value: 11
mangled_function: usb_isgeckoalive
bytes_hash: 0c683c1463b76deb0e681d19d3229325
prototype2: int(s32 chn)
rva: 303864
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [6]]
strongly_connected_spp: 1
switches: []
function_hash: 2489fc917a994ff07f0b1114b9ee572a
md_index: 2.455148668598325456545017033
constants: [4294938624]
segment_rva: 104
mnemonics:
  ["mflr", "stwu", "li", "mr", "stmw", "stw", "li", "stwu", "mr", "li", "bl", "cmpwi", "beq", "lwz", "cmpwi", "bne+", "mr", "bl", "mr", "li", "mr", "sthu", "bl", "cmpwi", "mr", "bne+", "lhz", "andi.", "mfcr", "extrwi", "xori", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["__send_command_0", "__argv_0", "__usbgecko_exi_wait", "EXI_Unlock", "EXI_GetID", "_restgpr_30_x", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r4, 0# nDev
  mr        r5, r1
  stmw      r30, 0x20+var_8(r1)
  stw       r0, 0x20+sender_lr(r1)
  li        r0, 0
  stwu      r0, 0xC(r5)# nId
  mr        r31, r3
  li        r30, 0
  bl        EXI_GetID
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A37C
  loc_4a32c:
  lwz       r0, 0x20+var_14(r1)
  cmpwi     cr7, r0, 0
  bne+      cr7, loc_4A37C
  loc_4a338:
  mr        r3, r31# chn
  bl        __usbgecko_exi_wait
  mr        r4, r1
  li        r0, -0x7000
  mr        r3, r31# chn
  sthu      r0, 8(r4)# cmd
  bl        __send_command_0
  cmpwi     cr7, r3, 1
  mr        r30, r3
  bne+      cr7, loc_4A374
  loc_4a360:
  lhz       r0, 0x20+var_18(r1)
  andi.     r9, r0, 0x470
  mfcr      r30
  extrwi    r30, r30, 1,2
  xori      r30, r30, 1
  loc_4a374:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  loc_4a37c:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r30
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r4, 0# nDev
  mr        r5, r1
  stmw      r30, 0x20+var_8(r1)
  stw       r0, 0x20+sender_lr(r1)
  li        r0, 0
  stwu      r0, 0xC(r5)# nId
  mr        r31, r3
  li        r30, 0
  bl        EXI_GetID
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r0, 0x20+var_14(r1)
  cmpwi     cr7, r0, 0
  bne+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  bl        __usbgecko_exi_wait
  mr        r4, r1
  li        r0, -0x7000
  mr        r3, r31# chn
  sthu      r0, 8(r4)# cmd
  bl        __send_commaXXX
  cmpwi     cr7, r3, 1
  mr        r30, r3
  bne+      cr7, XXXX
  XXXX:
  lhz       r0, 0x20+var_18(r1)
  andi.     r9, r0, 0x470
  mfcr      r30
  extrwi    r30, r30, 1,2
  xori      r30, r30, 1
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r30
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  41630087424149073826298318420143987068296718962054659951042494098460325295700281374641438077677260532165367317


name: usb_recvbuffer_ex
address: 304008
names: ["EXI_Unlock", "_restgpr_27_x", "_start", "__usb_recvbyte_0", "__usbgecko_exi_wait"]
prototype: int __fastcall(s32 nChn, unsigned __int8 *ch)
primes_value: 13
mangled_function: usb_recvbuffer_ex
bytes_hash: 5784464b9760936819f75f384159a93c
prototype2: int(s32 chn, void *buffer, int size, int retries)
rva: 304008
tarjan_topological_sort: [[0], [4, 1, 2, 3], [5], [6]]
strongly_connected_spp: 11
mnemonics_spp: 98778270943935650815023613638879666939954304114463462853180858777799065030551431
switches: []
function_hash: 9c0bef8ca40eb221b2740945d3867c07
md_index: 2.597995147213663210015125092
constants: []
segment_rva: 480
mnemonics:
  ["stwu", "mflr", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "b", "mr", "mr", "bl", "cmpwi", "beq", "cmpwi", "addi", "addi", "blt", "addic.", "beq", "cmpwi", "bgt", "mr", "bl", "addi", "subf", "b", "bclr"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         loc_4A3E0
  loc_4a3b4:
  mr        r3, r31# chn
  mr        r4, r29# ch
  bl        __usb_recvbyte_0
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A3E8
  loc_4a3c8:
  cmpwi     cr7, r27, 0
  addi      r29, r29, 1
  addi      r28, r28, -1
  blt       cr7, loc_4A3E0
  loc_4a3d8:
  addic.    r27, r27, -1
  beq       loc_4A3E8
  loc_4a3e0:
  cmpwi     cr7, r28, 0
  bgt       cr7, loc_4A3B4
  loc_4a3e8:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         XXXX
  XXXX:
  mr        r3, r31# chn
  mr        r4, r29# ch
  bl        __usb_recvXXXX
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r27, 0
  addi      r29, r29, 1
  addi      r28, r28, -1
  blt       cr7, XXXX
  XXXX:
  addic.    r27, r27, -1
  beq       XXXX
  XXXX:
  cmpwi     cr7, r28, 0
  bgt       cr7, XXXX
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x


name: usb_sendbuffer_ex
address: 304132
names: ["EXI_Unlock", "_start", "_restgpr_27_x", "__usb_sendbyte", "__usbgecko_exi_wait"]
prototype: int __fastcall(s32 nChn)
primes_value: 13
mangled_function: usb_sendbuffer_ex
bytes_hash: cd04e674d81380ea930f5576b02c4e24
prototype2: int(s32 chn, const void *buffer, int size, int retries)
rva: 304132
tarjan_topological_sort: [[0], [4, 1, 2, 3], [5], [6]]
strongly_connected_spp: 11
mnemonics_spp: 87474293202147195254075870588283962983788118719070904518437056199563323426700093
switches: []
function_hash: 837b142ca6c3728e99016de6cb9deb80
md_index: 2.597995147213663210015125092
constants: []
segment_rva: 480
mnemonics:
  ["stwu", "mflr", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "b", "lbz", "mr", "bl", "cmpwi", "beq", "cmpwi", "addi", "addi", "blt", "addic.", "beq", "cmpwi", "bgt", "mr", "bl", "addi", "subf", "b", "bclr"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         loc_4A45C
  loc_4a430:
  lbz       r4, 0(r29)# ch
  mr        r3, r31# chn
  bl        __usb_sendbyte
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A464
  loc_4a444:
  cmpwi     cr7, r27, 0
  addi      r29, r29, 1
  addi      r28, r28, -1
  blt       cr7, loc_4A45C
  loc_4a454:
  addic.    r27, r27, -1
  beq       loc_4A464
  loc_4a45c:
  cmpwi     cr7, r28, 0
  bgt       cr7, loc_4A430
  loc_4a464:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         XXXX
  XXXX:
  lbz       r4, 0(r29)# ch
  mr        r3, r31# chn
  bl        __usb_sendbyte
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r27, 0
  addi      r29, r29, 1
  addi      r28, r28, -1
  blt       cr7, XXXX
  XXXX:
  addic.    r27, r27, -1
  beq       XXXX
  XXXX:
  cmpwi     cr7, r28, 0
  bgt       cr7, XXXX
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x


name: usb_recvbuffer_safe_ex
address: 304256
prototype: int __fastcall(s32 nChn, unsigned __int8 *ch)
primes_value: 17
mangled_function: usb_recvbuffer_safe_ex
bytes_hash: b47192d5572f36d8793ea09084d666c0
prototype2: int(s32 chn, void *buffer, int size, int retries)
rva: 304256
tarjan_topological_sort: [[0], [6, 1, 2, 3, 4, 5], [7], [8]]
strongly_connected_spp: 17
mnemonics_spp: 515287814767115099333811148168329698235301962340855359417994652889713158428089931020341
switches: []
function_hash: 65eb798a24d0c39432b4927a4aa9e278
md_index: 3.401627744455285913705641214
constants: []
segment_rva: 480
mnemonics:
  ["stwu", "mflr", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "b", "mr", "bl", "cmpwi", "beq+", "mr", "mr", "bl", "cmpwi", "beq", "addi", "addi", "cmpwi", "blt", "addic.", "beq", "cmpwi", "bgt", "mr", "bl", "addi", "subf", "b", "bclr"]

names:
  ["__usbgecko_exi_wait", "EXI_Unlock", "__usb_recvbyte_0", "__usb_checkrecv", "_start", "_restgpr_27_x"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         loc_4A4E8
  loc_4a4ac:
  mr        r3, r31# chn
  bl        __usb_checkrecv
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A4D8
  loc_4a4bc:
  mr        r3, r31# chn
  mr        r4, r29# ch
  bl        __usb_recvbyte_0
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A4F0
  loc_4a4d0:
  addi      r29, r29, 1
  addi      r28, r28, -1
  loc_4a4d8:
  cmpwi     cr7, r27, 0
  blt       cr7, loc_4A4E8
  loc_4a4e0:
  addic.    r27, r27, -1
  beq       loc_4A4F0
  loc_4a4e8:
  cmpwi     cr7, r28, 0
  bgt       cr7, loc_4A4AC
  loc_4a4f0:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         XXXX
  XXXX:
  mr        r3, r31# chn
  bl        __usb_checkrecv
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  mr        r4, r29# ch
  bl        __usb_recvXXXX
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  addi      r29, r29, 1
  addi      r28, r28, -1
  XXXX:
  cmpwi     cr7, r27, 0
  blt       cr7, XXXX
  XXXX:
  addic.    r27, r27, -1
  beq       XXXX
  XXXX:
  cmpwi     cr7, r28, 0
  bgt       cr7, XXXX
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x


name: usb_sendbuffer_safe_ex
address: 304396
prototype: int __fastcall(s32 nChn)
primes_value: 17
mangled_function: usb_sendbuffer_safe_ex
bytes_hash: f2e9dfde18363d071aedbe77cf9bf751
prototype2: int(s32 chn, const void *buffer, int size, int retries)
rva: 304396
tarjan_topological_sort: [[0], [6, 1, 2, 3, 4, 5], [7], [8]]
strongly_connected_spp: 17
mnemonics_spp: 456319360135546282381559981345418592424821921779211190290828450178260228184281398844823
switches: []
function_hash: 82014d55478dfa65ecfae5d7c617fd7a
md_index: 3.401627744455285913705641214
constants: []
segment_rva: 480
mnemonics:
  ["stwu", "mflr", "stmw", "mr", "stw", "mr", "mr", "mr", "mr", "bl", "b", "mr", "bl", "cmpwi", "beq+", "lbz", "mr", "bl", "cmpwi", "beq", "addi", "addi", "cmpwi", "blt", "addic.", "beq", "cmpwi", "bgt", "mr", "bl", "addi", "subf", "b", "bclr"]

names:
  ["__usb_sendbyte", "__usbgecko_exi_wait", "EXI_Unlock", "__usb_checksend", "_start", "_restgpr_27_x"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         loc_4A574
  loc_4a538:
  mr        r3, r31# chn
  bl        __usb_checksend
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A564
  loc_4a548:
  lbz       r4, 0(r29)# ch
  mr        r3, r31# chn
  bl        __usb_sendbyte
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A57C
  loc_4a55c:
  addi      r29, r29, 1
  addi      r28, r28, -1
  loc_4a564:
  cmpwi     cr7, r27, 0
  blt       cr7, loc_4A574
  loc_4a56c:
  addic.    r27, r27, -1
  beq       loc_4A57C
  loc_4a574:
  cmpwi     cr7, r28, 0
  bgt       cr7, loc_4A538
  loc_4a57c:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  mr        r30, r5
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r29, r4
  mr        r27, r6
  mr        r28, r30
  bl        __usbgecko_exi_wait
  b         XXXX
  XXXX:
  mr        r3, r31# chn
  bl        __usb_checksend
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  lbz       r4, 0(r29)# ch
  mr        r3, r31# chn
  bl        __usb_sendbyte
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  addi      r29, r29, 1
  addi      r28, r28, -1
  XXXX:
  cmpwi     cr7, r27, 0
  blt       cr7, XXXX
  XXXX:
  addic.    r27, r27, -1
  beq       XXXX
  XXXX:
  cmpwi     cr7, r28, 0
  bgt       cr7, XXXX
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  subf      r3, r28, r30
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x


name: usb_flashread
address: 304536
names: ["__argv_0", "__usbgecko_exi_wait", "EXI_Unlock", "__flashreadcommand", "_start", "_restgpr_27_x"]
prototype: int __fastcall(s32 nChn)
primes_value: 7
mangled_function: usb_flashread
bytes_hash: ca1b95897942259de33679f8659db5e9
prototype2: int(s32 chn, u32 offset, void *buffer, size_t length)
rva: 304536
tarjan_topological_sort: [[0], [3, 1, 2], [4], [5]]
strongly_connected_spp: 7
mnemonics_spp: 898520263849474842841636443083492730476597656588895104121767146384894891516709985293
switches: []
function_hash: d41d23d011d3d355c85cc3b19c0b46a9
md_index: 2.005663969045200225269589086
constants: []
segment_rva: 480
mnemonics:
  ["stwu", "mflr", "stmw", "mr", "stw", "mr", "stw", "mr", "li", "bl", "mr", "lwz", "b", "mr", "addi", "addi", "bl", "mr.", "addi", "beq", "mr", "mr", "cmpwi", "bne", "mr", "bl", "addi", "mr", "b", "bclr"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x28+var_14(r1)
  mr        r29, r5
  stw       r4, 0x28+offset(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r30, r6
  li        r27, 1
  bl        __usbgecko_exi_wait
  mr        r5, r29
  lwz       r4, 0x28+offset(r1)
  b         loc_4A5F0
  loc_4a5cc:
  mr        r3, r31# chn
  addi      r29, r4, 1
  addi      r28, r5, 1
  bl        __flashreadcommand
  mr.       r27, r3
  addi      r30, r30, -1
  beq       loc_4A5F8
  loc_4a5e8:
  mr        r5, r28# flashdata
  mr        r4, r29# flashaddress
  loc_4a5f0:
  cmpwi     cr7, r30, 0
  bne       cr7, loc_4A5CC
  loc_4a5f8:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r27
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x28+var_14(r1)
  mr        r29, r5
  stw       r4, 0x28+offset(r1)
  mr        r31, r3
  stw       r0, 0x28+sender_lr(r1)
  mr        r30, r6
  li        r27, 1
  bl        __usbgecko_exi_wait
  mr        r5, r29
  lwz       r4, 0x28+offset(r1)
  b         XXXX
  XXXX:
  mr        r3, r31# chn
  addi      r29, r4, 1
  addi      r28, r5, 1
  bl        __flashreadcommand
  mr.       r27, r3
  addi      r30, r30, -1
  beq       XXXX
  XXXX:
  mr        r5, r28# flashdata
  mr        r4, r29# flashaddress
  XXXX:
  cmpwi     cr7, r30, 0
  bne       cr7, XXXX
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x28+pre_back_chain
  mr        r3, r27
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x


name: usb_flashwrite
address: 304652
prototype: int __fastcall(s32 nChn)
primes_value: 23
mangled_function: usb_flashwrite
bytes_hash: 2f54eaf91ca2ada3a0c1dfa9b918339f
prototype2: int(s32 chn, u32 offset, const void *buffer, size_t length)
rva: 304652
tarjan_topological_sort: [[0], [8, 1, 2, 3, 4, 5, 6], [9], [7], [10], [11]]
strongly_connected_spp: 19
switches: []
function_hash: d47946c24bf76930b576f09df6250689
md_index: 4.552325102358896057048954300
constants: []
segment_rva: 244
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "mr", "li", "bl", "b", "mr", "li", "li", "bl", "cmpwi", "beq+", "mr", "li", "li", "bl", "cmpwi", "beq+", "mr", "li", "li", "bl", "cmpwi", "beq+", "lbzx", "mr", "mr", "bl", "cmpwi", "beq+", "li", "bl", "mr", "mr", "addi", "bl", "cmpwi", "beq", "lbzx", "addi", "lbz", "cmpw", "beq", "li", "b", "cmpw", "add", "bne", "li", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["usleep", "__argv_0", "__usbgecko_exi_wait", "EXI_Unlock", "__flashwritecommand", "_restgpr_26_x", "__flashreadcommand", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x30+var_18(r1)
  mr        r31, r3
  stw       r0, 0x30+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r26, r6
  li        r28, 0
  bl        __usbgecko_exi_wait
  b         loc_4A6D4
  loc_4a638:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xAA# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A6CC
  loc_4a650:
  mr        r3, r31# chn
  li        r4, 0x2AAA# flashaddress
  li        r5, 0x55 # 'U'# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A6CC
  loc_4a668:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xA0# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A6CC
  loc_4a680:
  lbzx      r5, r30, r28# flashdata
  mr        r3, r31# chn
  mr        r4, r27# flashaddress
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A6CC
  loc_4a698:
  li        r3, 0x14# us
  bl        usleep
  mr        r3, r31# chn
  mr        r4, r27# flashaddress
  addi      r5, r1, 0x30+verify# flashdata
  bl        __flashreadcommand
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A6CC
  loc_4a6b8:
  lbzx      r0, r30, r28
  addi      r28, r28, 1
  lbz       r9, 0x30+verify(r1)
  cmpw      cr7, r9, r0
  beq       cr7, loc_4A6D4
  loc_4a6cc:
  li        r30, 0
  b         loc_4A6E4
  loc_4a6d4:
  cmpw      cr7, r28, r26
  add       r27, r28, r29
  bne       cr7, loc_4A638
  loc_4a6e0:
  li        r30, 1
  loc_4a6e4:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x30+pre_back_chain
  mr        r3, r30
  b         _restgpr_26_x
  loc_15e3c8:
  .extern _restgpr_26_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x30+var_18(r1)
  mr        r31, r3
  stw       r0, 0x30+sender_lr(r1)
  mr        r29, r4
  mr        r30, r5
  mr        r26, r6
  li        r28, 0
  bl        __usbgecko_exi_wait
  b         XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xAA# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x2AAA# flashaddress
  li        r5, 0x55
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xA0# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  lbzx      r5, r30, r28# flashdata
  mr        r3, r31# chn
  mr        r4, r27# flashaddress
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  li        r3, 0x14# us
  bl        usleep
  mr        r3, r31# chn
  mr        r4, r27# flashaddress
  addi      r5, r1, 0x30+verify# flashdata
  bl        __flashreadcommand
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  lbzx      r0, r30, r28
  addi      r28, r28, 1
  lbz       r9, 0x30+verify(r1)
  cmpw      cr7, r9, r0
  beq       cr7, XXXX
  XXXX:
  li        r30, 0
  b         XXXX
  XXXX:
  cmpw      cr7, r28, r26
  add       r27, r28, r29
  bne       cr7, XXXX
  XXXX:
  li        r30, 1
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x30+pre_back_chain
  mr        r3, r30
  b         _restgpr_26_x
  XXXX:
  .extern _restgpr_26_x

mnemonics_spp:
  3922549770815332726482004340485505995518308323237517260511202824814071278256624347133244155826782771416957327094423382161994319436433402533139343562650463945163


name: usb_flashverify
address: 304888
prototype: int __fastcall(s32 chn)
primes_value: 37
mangled_function: usb_flashverify
bytes_hash: f1fda3ca5d7913c2546f6ff24249ff4e
prototype2: int(s32 chn)
rva: 304888
tarjan_topological_sort: [[0], [1], [2], [12], [13], [4], [5], [6], [7], [8], [9], [3], [10], [11], [14]]
strongly_connected_spp: 1
switches: []
function_hash: a0ed35becb5789c28ab149695610e401
md_index: 5.283690944372752071752346786
constants: []
segment_rva: 104
mnemonics:
  ["stwu", "mflr", "stmw", "mr", "stw", "bl", "mr", "li", "li", "bl", "cmpwi", "beq+", "mr", "li", "li", "bl", "cmpwi", "beq+", "mr", "li", "li", "bl", "cmpwi", "bne", "b", "mr", "li", "addi", "li", "bl", "cmpwi", "beq", "lbz", "cmpwi", "bne+", "lbz", "cmpwi", "bne+", "mr", "li", "li", "bl", "cmpwi", "beq+", "mr", "li", "li", "bl", "cmpwi", "beq+", "mr", "li", "li", "li", "bl", "cmpwi", "bne", "li", "mr", "bl", "addi", "mr", "b", "mr", "li", "addi", "bl", "cmpwi", "beq", "b", "bclr"]

names:
  ["__argv_0", "__usbgecko_exi_wait", "EXI_Unlock", "__flashwritecommand", "_restgpr_30_x", "__flashreadcommand", "_start"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r30, 0x20+var_8(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  bl        __usbgecko_exi_wait
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xAA# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A7DC
  loc_4a728:
  mr        r3, r31# chn
  li        r4, 0x2AAA# flashaddress
  li        r5, 0x55 # 'U'# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A7DC
  loc_4a740:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0x90# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4A7F4
  loc_4a758:
  b         loc_4A7DC
  loc_4a75c:
  mr        r3, r31# chn
  li        r4, 1# flashaddress
  addi      r5, r1, 0x20+id+1# flashdata
  li        r30, 0
  bl        __flashreadcommand
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A7E0
  loc_4a778:
  lbz       r0, 0x20+id(r1)
  cmpwi     cr7, r0, 0xBF
  bne+      cr7, loc_4A7E0
  loc_4a784:
  lbz       r0, 0x20+id+1(r1)
  cmpwi     cr7, r0, 0xD7
  bne+      cr7, loc_4A7E0
  loc_4a790:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xAA# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A7DC
  loc_4a7a8:
  mr        r3, r31# chn
  li        r4, 0x2AAA# flashaddress
  li        r5, 0x55 # 'U'# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4A7DC
  loc_4a7c0:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xF0# flashdata
  li        r30, 1
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4A7E0
  loc_4a7dc:
  li        r30, 0
  loc_4a7e0:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r30
  b         _restgpr_30_x
  loc_4a7f4:
  mr        r3, r31# chn
  li        r4, 0# flashaddress
  addi      r5, r1, 0x20+id# flashdata
  bl        __flashreadcommand
  cmpwi     cr7, r3, 0
  beq       cr7, loc_4A7DC
  loc_4a80c:
  b         loc_4A75C
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r30, 0x20+var_8(r1)
  mr        r31, r3
  stw       r0, 0x20+sender_lr(r1)
  bl        __usbgecko_exi_wait
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xAA# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x2AAA# flashaddress
  li        r5, 0x55
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0x90# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 1# flashaddress
  addi      r5, r1, 0x20+id+1# flashdata
  li        r30, 0
  bl        __flashreadcommand
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  lbz       r0, 0x20+id(r1)
  cmpwi     cr7, r0, 0xBF
  bne+      cr7, XXXX
  XXXX:
  lbz       r0, 0x20+id+1(r1)
  cmpwi     cr7, r0, 0xD7
  bne+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xAA# flashdata
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x2AAA# flashaddress
  li        r5, 0x55
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  mr        r3, r31# chn
  li        r4, 0x5555# flashaddress
  li        r5, 0xF0# flashdata
  li        r30, 1
  bl        __flashwritecommand
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  li        r30, 0
  XXXX:
  mr        r3, r31# nChn
  bl        EXI_Unlock
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r30
  b         _restgpr_30_x
  XXXX:
  mr        r3, r31# chn
  li        r4, 0# flashaddress
  addi      r5, r1, 0x20+id# flashdata
  bl        __flashreadcommand
  cmpwi     cr7, r3, 0
  beq       cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  272652392712642951531747583898953921002404104380365750385762712530750323968214084023674603314501838374416840270963763633063288003720848640414114210487151209946908595788193529599674633343


name: _mouse_event_cb
address: 305168
names: ["LWP_SemPost", "_start", "__argv_0"]
prototype: int()
primes_value: 19
mangled_function: _mouse_event_cb
bytes_hash: 80b072249de534ad0da9001885ced50f
prototype2: s32(s32 result, mouse_event *event)
rva: 305168
tarjan_topological_sort: [[0], [7], [1], [2], [3], [4], [5], [6], [8], [9], [10]]
strongly_connected_spp: 1
switches: []
function_hash: 5887fa6a713556050781e1952629eade
md_index: 3.991146491440221729594571907
constants: []
segment_rva: 168
mnemonics:
  ["cmpwi", "mflr", "stwu", "stw", "ble", "lwz", "lwz", "lbz", "stb", "lbz", "extsb", "stw", "lbz", "extsb", "stw", "lbz", "cmpwi", "beq", "cmpwi", "beq", "lbz", "extsb", "cmpwi", "blt", "cmpwi", "ble", "li", "stb", "li", "stw", "b", "lwz", "li", "stb", "lwz", "cmpwi", "beq", "bl", "lwz", "li", "addi", "mtlr", "blr"]

assembly:
  cmpwi     cr7, r3, 2
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  ble       cr7, loc_4A88C
  loc_4a824:
  lwz       r9, _mousedata-0x140000# Relocation out of range
  lwz       r11, _mouse-0x140000# Relocation out of range
  lbz       r0, 0(r9)
  stb       r0, 0(r4)
  lbz       r0, 1(r9)
  extsb     r0, r0
  stw       r0, 4(r4)
  lbz       r0, 2(r9)
  extsb     r0, r0
  stw       r0, 8(r4)
  lbz       r0, 1(r11)
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4A884
  loc_4a858:
  cmpwi     cr7, r3, 3
  beq       cr7, loc_4A878
  loc_4a860:
  lbz       r0, 3(r9)
  extsb     r0, r0
  cmpwi     cr7, r0, -1
  blt       cr7, loc_4A878
  loc_4a870:
  cmpwi     cr7, r0, 1
  ble       cr7, loc_4A884
  loc_4a878:
  li        r0, 0
  stb       r0, 1(r11)
  li        r0, 0
  loc_4a884:
  stw       r0, 0xC(r4)
  b         loc_4A898
  loc_4a88c:
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r0, 0
  stb       r0, 0(r9)
  loc_4a898:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  cmpwi     cr7, r3, -1
  beq       cr7, loc_4A8A8
  loc_4a8a4:
  bl        LWP_SemPost
  loc_4a8a8:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 0
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  cmpwi     cr7, r3, 2
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  ble       cr7, XXXX
  XXXX:
  lwz       r9, _mousedata-0x140000# Relocation out of range
  lwz       r11, _mouse-0x140000# Relocation out of range
  lbz       r0, 0(r9)
  stb       r0, 0(r4)
  lbz       r0, 1(r9)
  extsb     r0, r0
  stw       r0, 4(r4)
  lbz       r0, 2(r9)
  extsb     r0, r0
  stw       r0, 8(r4)
  lbz       r0, 1(r11)
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r3, 3
  beq       cr7, XXXX
  XXXX:
  lbz       r0, 3(r9)
  extsb     r0, r0
  cmpwi     cr7, r0, -1
  blt       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 1
  ble       cr7, XXXX
  XXXX:
  li        r0, 0
  stb       r0, 1(r11)
  li        r0, 0
  XXXX:
  stw       r0, 0xC(r4)
  b         XXXX
  XXXX:
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r0, 0
  stb       r0, 0(r9)
  XXXX:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  cmpwi     cr7, r3, -1
  beq       cr7, XXXX
  XXXX:
  bl        LWP_SemPost
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 0
  addi      r1, r1, 8
  mtlr      r0
  blr

mnemonics_spp:
  30930367137528802623963105421020210505614446765083798537880932187957849073551610993480395885923907250280373188116641960830776921535126944006739


name: _disconnect
address: 305340
names: ["LWP_SemPost", "_start"]
prototype: int()
primes_value: 5
mangled_function: _disconnect
bytes_hash: a0cfa702abb68cf770d1ca9fee60d1c0
prototype2: s32(s32 retval, void *data)
rva: 305340
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 142038684886410199535967214968806580095745197059
switches: []
function_hash: 087551248129334af7c631220b11cff1
md_index: 1.041752623040894078367782257
constants: []
segment_rva: 56
mnemonics:
  ["mflr", "stwu", "lwz", "stw", "li", "stb", "lwz", "cmpwi", "beq", "bl", "lwz", "li", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r9, _mouse-0x140000# Relocation out of range
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  stb       r0, 0(r9)
  lwz       r3, _mousesema-0x80000# Relocation out of range
  cmpwi     cr7, r3, -1
  beq       cr7, loc_4A8E4
  loc_4a8e0:
  bl        LWP_SemPost
  loc_4a8e4:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r9, _mouse-0x140000# Relocation out of range
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  stb       r0, 0(r9)
  lwz       r3, _mousesema-0x80000# Relocation out of range
  cmpwi     cr7, r3, -1
  beq       cr7, XXXX
  XXXX:
  bl        LWP_SemPost
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr


name: _disconnect_0
address: 305400
mnemonics: ["mflr", "stwu", "lwz", "li", "li", "stw", "li", "stb", "bl", "lwz", "li", "mtlr", "addi", "blr"]
names: ["_submit", "_start"]
prototype: int()
primes_value: 3
mangled_function: _disconnect_0
bytes_hash: d9b4545916857485e08fe2f0e425c5ae
prototype2: s32(s32 retval, void *data)
rva: 305400
tarjan_topological_sort: [[0]]
strongly_connected_spp: 1
mnemonics_spp: 24948691711290510988573643776295611867536621401
switches: []
function_hash: b8d57bb4ebb1fed4440848819adb7cf0
md_index: 0
constants: []
segment_rva: 112
assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r9, _kbd-0x150000# Relocation out of range
  li        r3, 2# type
  li        r4, 0# code
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  stb       r0, 0(r9)
  bl        _submit
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  mtlr      r0
  addi      r1, r1, 8
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lwz       r9, _kbd-0x150000# Relocation out of range
  li        r3, 2# type
  li        r4, 0# code
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  stb       r0, 0(r9)
  bl        _submit
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  mtlr      r0
  addi      r1, r1, 8
  blr


name: _device_change
address: 305456
mnemonics: ["lwz", "mflr", "stwu", "cmpwi", "stw", "beq", "bl", "lwz", "li", "addi", "mtlr", "blr"]
names: ["LWP_SemPost", "_start"]
prototype: int()
primes_value: 5
mangled_function: _device_change
bytes_hash: e3e514e784c5c6d1387de1e0bb3b6cdf
prototype2: s32(s32 retval, void *data)
rva: 305456
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 75121629862734873220908671901612553
switches: []
function_hash: 0c01de3799f2da9fdc1bdf188544a4db
md_index: 1.041752623040894078367782257
constants: []
segment_rva: 44
assembly:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r3, -1
  stw       r0, 8+sender_lr(r1)
  beq       cr7, loc_4A94C
  loc_4a948:
  bl        LWP_SemPost
  loc_4a94c:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r3, -1
  stw       r0, 8+sender_lr(r1)
  beq       cr7, XXXX
  XXXX:
  bl        LWP_SemPost
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr


name: USBMouse_Close
address: 305504
names: ["_start", "USB_CloseDevice"]
prototype: int()
primes_value: 7
mangled_function: USBMouse_Close
bytes_hash: 5b7d44ec263162fe32546e70ec033084
prototype2: void()
rva: 305504
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 220253869338854176356959293938623443075630153540533937
switches: []
function_hash: 2060960eef8b1a3dcdb80b985adefaca
md_index: 1.492327708998104691453506439
constants: []
segment_rva: 68
mnemonics:
  ["lwz", "mflr", "stwu", "cmpwi", "stw", "beq", "lwz", "cmpwi", "beq", "addi", "bl", "lwz", "li", "stw", "lwz", "addi", "mtlr", "blr"]

assembly:
  lwz       r3, _mouse-0x140000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r3, 0
  stw       r0, 8+sender_lr(r1)
  beq       cr7, loc_4A998
  loc_4a978:
  lwz       r0, 4(r3)
  cmpwi     cr7, r0, -1
  beq       cr7, loc_4A998
  loc_4a984:
  addi      r3, r3, 4# fd
  bl        USB_CloseDevice
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r0, -1
  stw       r0, 4(r9)
  loc_4a998:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  lwz       r3, _mouse-0x140000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r3, 0
  stw       r0, 8+sender_lr(r1)
  beq       cr7, XXXX
  XXXX:
  lwz       r0, 4(r3)
  cmpwi     cr7, r0, -1
  beq       cr7, XXXX
  XXXX:
  addi      r3, r3, 4# fd
  bl        USB_CloseDevice
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r0, -1
  stw       r0, 4(r9)
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: MOUSE_IsConnected
address: 305576
mnemonics: ["lwz", "li", "cmpwi", "beqlr", "lbz", "blr"]
names: ["_start"]
prototype: int()
primes_value: 3
mangled_function: MOUSE_IsConnected
bytes_hash: 05e671b9143ccaae5b52ac68324989d9
prototype2: _Bool()
rva: 305576
tarjan_topological_sort: [[0], [1]]
strongly_connected_spp: 1
mnemonics_spp: 616119247485787
switches: []
function_hash: 450bed52aab5c14cec3dca8b461e18f7
md_index: 0.5020045666778900941125390917
constants: []
segment_rva: 20
assembly:
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r3, 0
  cmpwi     cr7, r9, 0
  beqlr     cr7
  loc_4a9b8:
  lbz       r3, 0(r9)
  blr

clean_assembly:
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r3, 0
  cmpwi     cr7, r9, 0
  beqlr     cr7
  XXXX:
  lbz       r3, 0(r9)
  blr


name: _mouse_thread_func
address: 305600
prototype: int()
primes_value: 97
mangled_function: _mouse_thread_func
bytes_hash: 4dd522e479fb038ff9dbcfb693b95720
prototype2: void *(void *arg)
rva: 305600
strongly_connected_spp: 173
switches: []
function_hash: f313d5581cf574decb6f8e88dc381344
md_index: 16.85227018216322928707378410
constants: [4294944784, 4294944528, 4294945072, 4294944956]
segment_rva: 24
mnemonics:
  ["stwu", "mflr", "li", "li", "stmw", "addi", "mr", "lis", "lis", "lis", "lis", "stw", "addi", "bl", "addi", "addi", "addi", "b", "bl", "cmpwi", "bne", "bl", "lwz", "li", "bl", "mr.", "beq", "li", "li", "bl", "mr", "li", "li", "addi", "li", "bl", "li", "cmpwi", "bge+", "lwz", "mr", "bl", "b", "mulli", "add", "lhz", "lhz", "cmpwi", "beq", "cmpwi", "beq+", "stw", "addi", "lwzx", "bl", "cmpwi", "blt", "lwz", "addi", "bl", "cmpwi", "blt", "lbz", "li", "lwz", "b", "lbz", "li", "b", "mulli", "lwz", "add", "lbz", "cmpwi", "bne+", "lbz", "cmpwi", "bne+", "lbz", "cmpwi", "bne+", "lbz", "li", "cmpwi", "addi", "bne+", "li", "b", "lwz", "mulli", "add", "lbz", "cmpwi", "bne+", "lbz", "extsb", "cmpwi", "bge+", "lhz", "cmplwi", "bgt", "lwz", "li", "lwz", "stw", "lbz", "stb", "lbz", "stw", "lbz", "stw", "lbz", "stb", "lhz", "stw", "b", "addi", "addic.", "bne", "addi", "cmplw", "blt", "addi", "addi", "cmplw", "blt", "li", "addi", "bl", "cmpwi", "bne", "addi", "bl", "addi", "clrlwi", "lbz", "cmplw", "bgt", "li", "lwz", "mr", "bl", "cmpwi", "beq", "lwz", "mr", "li", "lwz", "bl", "cmpwi", "bge+", "bl", "b", "lwz", "li", "li", "li", "lwz", "li", "lhz", "li", "bl", "lwz", "li", "stb", "stb", "b", "mr", "li", "li", "bl", "lwz", "bl", "b", "lwz", "mr", "lwz", "mr", "lwz", "lbz", "lhz", "bl", "cmpwi", "blt", "lwz", "bl", "li", "bl", "addi", "mr", "lswi", "stswi", "mr", "bl", "mr", "li", "li", "bl", "lbz", "cmpwi", "beq", "addi", "li", "b", "bclr"]

names:
  ["USB_FreeDescriptors", "malloc", "USB_DeviceChangeNotifyAsync", "__lwp_queue_append", "__argv_0", "USB_CloseDevice", "MOUSE_IsConnected", "USB_GetDeviceList", "memset", "USB_WriteCtrlMsg", "USB_GetDescriptors", "USB_ReadIntrMsgAsync", "USB_DeviceRemovalNotifyAsync", "iosAlloc", "USB_OpenDevice", "iosFree", "LWP_SemWait", "_restgpr_23_x", "_start", "USBMouse_Close"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 0# c
  li        r5, 0x10# n
  stmw      r23, 0x60+var_24(r1)
  addi      r31, r1, 0x60+event
  mr        r3, r31# s
  lis       r27, _mouse_event_cb@ha
  lis       r28, _queue@ha
  lis       r29, _device_change@ha
  lis       r30, _disconnect@ha
  stw       r0, 0x60+sender_lr(r1)
  addi      r27, r27, _mouse_event_cb@l
  bl        memset
  addi      r28, r28, _queue@l
  addi      r29, r29, _device_change@l
  addi      r30, r30, _disconnect@l
  b         loc_4ACD8
  loc_4aa08:
  bl        MOUSE_IsConnected
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4AC78
  loc_4aa14:
  bl        USBMouse_Close
  lwz       r3, hId_3-0x80010# Relocation out of range
  li        r4, 0x60 # '`'# size
  bl        iosAlloc
  mr.       r26, r3
  beq       loc_4AC5C
  loc_4aa2c:
  li        r4, 0# c
  li        r5, 0x60 # '`'# n
  bl        memset
  mr        r3, r26# descr_buffer
  li        r4, 8# num_descr
  li        r5, 3# interface_class
  addi      r6, r1, 0x60+var_58# cnt_descr
  li        r25, 0
  bl        USB_GetDeviceList
  li        r24, 0
  cmpwi     cr7, r3, 0
  bge+      cr7, loc_4ABDC
  loc_4aa5c:
  lwz       r3, hId_3-0x80010# Relocation out of range
  mr        r4, r26# ptr
  bl        iosFree
  b         loc_4AC5C
  loc_4aa6c:
  mulli     r0, r25, 0xC
  add       r9, r26, r0
  lhz       r4, 4(r9)# vid
  lhz       r5, 6(r9)# pid
  cmpwi     cr7, r4, 0
  beq       cr7, loc_4ABD4
  loc_4aa84:
  cmpwi     cr7, r5, 0
  beq+      cr7, loc_4ABD4
  loc_4aa8c:
  stw       r24, 0x60+var_54(r1)
  addi      r6, r1, 0x60+var_54# fd
  lwzx      r3, r26, r0# device_id
  bl        USB_OpenDevice
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4ABD4
  loc_4aaa4:
  lwz       r3, 0x60+var_54(r1)# fd
  addi      r4, r1, 0x60+var_40# udd
  bl        USB_GetDescriptors
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4ABCC
  loc_4aab8:
  lbz       r5, 0x60+var_2F(r1)
  li        r7, 0
  lwz       r8, 0x60+var_2E(r1)
  b         loc_4ABB0
  loc_4aac8:
  lbz       r4, 4(r8)
  li        r11, 0
  b         loc_4ABA0
  loc_4aad4:
  mulli     r0, r11, 0x13
  lwz       r9, 9(r8)
  add       r9, r9, r0
  lbz       r0, 5(r9)
  cmpwi     cr7, r0, 3
  bne+      cr7, loc_4AB9C
  loc_4aaec:
  lbz       r0, 6(r9)
  cmpwi     cr7, r0, 1
  bne+      cr7, loc_4AB9C
  loc_4aaf8:
  lbz       r0, 7(r9)
  cmpwi     cr7, r0, 2
  bne+      cr7, loc_4AB9C
  loc_4ab04:
  lbz       r10, 4(r9)
  li        r6, 0
  cmpwi     cr7, r10, 0
  addi      r0, r10, 1
  bne+      cr7, loc_4AB94
  loc_4ab18:
  li        r0, 1
  b         loc_4AB94
  loc_4ab20:
  lwz       r3, 0xF(r9)
  mulli     r10, r6, 7
  add       r10, r3, r10
  lbz       r3, 3(r10)
  cmpwi     cr7, r3, 3
  bne+      cr7, loc_4AB90
  loc_4ab38:
  lbz       r3, 2(r10)
  extsb     r3, r3
  cmpwi     cr7, r3, 0
  bge+      cr7, loc_4AB90
  loc_4ab48:
  lhz       r3, 4(r10)
  cmplwi    cr7, r3, 0x20
  bgt       cr7, loc_4AB90
  loc_4ab54:
  lwz       r11, _mouse-0x140000# Relocation out of range
  li        r23, 1
  lwz       r0, 0x60+var_54(r1)
  stw       r0, 4(r11)
  lbz       r0, 5(r8)
  stb       r0, 8(r11)
  lbz       r0, 2(r9)
  stw       r0, 0xC(r11)
  lbz       r0, 3(r9)
  stw       r0, 0x10(r11)
  lbz       r0, 2(r10)
  stb       r0, 0x14(r11)
  lhz       r0, 4(r10)
  stw       r0, 0x18(r11)
  b         loc_4ABBC
  loc_4ab90:
  addi      r6, r6, 1
  loc_4ab94:
  addic.    r0, r0, -1
  bne       loc_4AB20
  loc_4ab9c:
  addi      r11, r11, 1
  loc_4aba0:
  cmplw     cr7, r11, r4
  blt       cr7, loc_4AAD4
  loc_4aba8:
  addi      r7, r7, 1
  addi      r8, r8, 0xD
  loc_4abb0:
  cmplw     cr7, r7, r5
  blt       cr7, loc_4AAC8
  loc_4abb8:
  li        r23, 0
  loc_4abbc:
  addi      r3, r1, 0x60+var_40# udd
  bl        USB_FreeDescriptors
  cmpwi     cr7, r23, 0
  bne       cr7, loc_4ABEC
  loc_4abcc:
  addi      r3, r1, 0x60+var_54# fd
  bl        USB_CloseDevice
  loc_4abd4:
  addi      r25, r25, 1
  clrlwi    r25, r25, 24
  loc_4abdc:
  lbz       r0, 0x60+var_58(r1)
  cmplw     cr7, r0, r25
  bgt       cr7, loc_4AA6C
  loc_4abe8:
  li        r23, 0
  loc_4abec:
  lwz       r3, hId_3-0x80010# Relocation out of range
  mr        r4, r26# ptr
  bl        iosFree
  cmpwi     cr7, r23, 0
  beq       cr7, loc_4AC5C
  loc_4ac00:
  lwz       r9, _mouse-0x140000# Relocation out of range
  mr        r4, r30# cb
  li        r5, 0# userdata
  lwz       r3, 4(r9)# fd
  bl        USB_DeviceRemovalNotifyAsync
  cmpwi     cr7, r3, 0
  bge+      cr7, loc_4AC24
  loc_4ac1c:
  bl        USBMouse_Close
  b         loc_4AC5C
  loc_4ac24:
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r4, 0x21 # '!'# bmRequestType
  li        r5, 0xB# bmRequest
  li        r6, 0# wValue
  lwz       r3, 4(r9)# fd
  li        r8, 0# wLength
  lhz       r7, 0xE(r9)# wIndex
  li        r9, 0# rpData
  bl        USB_WriteCtrlMsg
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r0, 1
  stb       r0, 1(r9)
  stb       r0, 0(r9)
  b         loc_4AC78
  loc_4ac5c:
  mr        r4, r29# cb
  li        r5, 0# userdata
  li        r3, 3# interface_class
  bl        USB_DeviceChangeNotifyAsync
  lwz       r3, _mousesema-0x80000# Relocation out of range
  bl        LWP_SemWait
  b         loc_4ACD8
  loc_4ac78:
  lwz       r9, _mouse-0x140000# Relocation out of range
  mr        r7, r27# cb
  lwz       r6, _mousedata-0x140000# Relocation out of range
  mr        r8, r31# userdata
  lwz       r3, 4(r9)# fd
  lbz       r4, 0x14(r9)# bEndpoint
  lhz       r5, 0x1A(r9)# wLength
  bl        USB_ReadIntrMsgAsync
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4ACE4
  loc_4aca0:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  bl        LWP_SemWait
  li        r3, 0x18# size
  bl        malloc
  addi      r9, r3, 8
  mr        r4, r3# node
  lswi      r5, r31, 0x10
  stswi     r5, r9, 0x10
  mr        r3, r28# queue
  bl        __lwp_queue_append
  mr        r3, r31# s
  li        r4, 0# c
  li        r5, 0x10# n
  bl        memset
  loc_4acd8:
  lbz       r0, _mouse_thread_quit-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4AA08
  loc_4ace4:
  addi      r11, r1, 0x60+pre_back_chain
  li        r3, 0
  b         _restgpr_23_x
  loc_15e2ec:
  .extern _restgpr_23_x

tarjan_topological_sort:
  [[0], [39, 1, 2, 3, 4, 36, 30, 5, 6, 7, 8, 9, 25, 10, 23, 11, 12, 13, 14, 15, 21, 16, 17, 18, 19, 27, 28, 29, 32, 33, 34, 35, 37, 38, 20, 22, 24, 26, 31], [40], [41]]

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 0# c
  li        r5, 0x10# n
  stmw      r23, 0x60+var_24(r1)
  addi      r31, r1, 0x60+event
  mr        r3, r31# s
  lis       r27, _mouse_event_cb@ha
  lis       r28, _queue@ha
  lis       r29, _device_change@ha
  lis       r30, _disconnect@ha
  stw       r0, 0x60+sender_lr(r1)
  addi      r27, r27, _mouse_event_cb@l
  bl        memset
  addi      r28, r28, _queue@l
  addi      r29, r29, _device_change@l
  addi      r30, r30, _disconnect@l
  b         XXXX
  XXXX:
  bl        MOUSE_IsConnected
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  bl        USBMouse_Close
  lwz       r3, hId_3-0x80010# Relocation out of range
  li        r4, 0x60
  bl        iosAlloc
  mr.       r26, r3
  beq       XXXX
  XXXX:
  li        r4, 0# c
  li        r5, 0x60
  bl        memset
  mr        r3, r26# descr_buffer
  li        r4, 8# num_descr
  li        r5, 3# interface_class
  addi      r6, r1, 0x60+var_58# cnt_descr
  li        r25, 0
  bl        USB_GetDeviceList
  li        r24, 0
  cmpwi     cr7, r3, 0
  bge+      cr7, XXXX
  XXXX:
  lwz       r3, hId_3-0x80010# Relocation out of range
  mr        r4, r26# ptr
  bl        iosFree
  b         XXXX
  XXXX:
  mulli     r0, r25, 0xC
  add       r9, r26, r0
  lhz       r4, 4(r9)# vid
  lhz       r5, 6(r9)# pid
  cmpwi     cr7, r4, 0
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r5, 0
  beq+      cr7, XXXX
  XXXX:
  stw       r24, 0x60+var_54(r1)
  addi      r6, r1, 0x60+var_54# fd
  lwzx      r3, r26, r0# device_id
  bl        USB_OpenDevice
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  lwz       r3, 0x60+var_54(r1)# fd
  addi      r4, r1, 0x60+var_40# udd
  bl        USB_GetDescriptors
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  lbz       r5, 0x60+var_2F(r1)
  li        r7, 0
  lwz       r8, 0x60+var_2E(r1)
  b         XXXX
  XXXX:
  lbz       r4, 4(r8)
  li        r11, 0
  b         XXXX
  XXXX:
  mulli     r0, r11, 0x13
  lwz       r9, 9(r8)
  add       r9, r9, r0
  lbz       r0, 5(r9)
  cmpwi     cr7, r0, 3
  bne+      cr7, XXXX
  XXXX:
  lbz       r0, 6(r9)
  cmpwi     cr7, r0, 1
  bne+      cr7, XXXX
  XXXX:
  lbz       r0, 7(r9)
  cmpwi     cr7, r0, 2
  bne+      cr7, XXXX
  XXXX:
  lbz       r10, 4(r9)
  li        r6, 0
  cmpwi     cr7, r10, 0
  addi      r0, r10, 1
  bne+      cr7, XXXX
  XXXX:
  li        r0, 1
  b         XXXX
  XXXX:
  lwz       r3, 0xF(r9)
  mulli     r10, r6, 7
  add       r10, r3, r10
  lbz       r3, 3(r10)
  cmpwi     cr7, r3, 3
  bne+      cr7, XXXX
  XXXX:
  lbz       r3, 2(r10)
  extsb     r3, r3
  cmpwi     cr7, r3, 0
  bge+      cr7, XXXX
  XXXX:
  lhz       r3, 4(r10)
  cmplwi    cr7, r3, 0x20
  bgt       cr7, XXXX
  XXXX:
  lwz       r11, _mouse-0x140000# Relocation out of range
  li        r23, 1
  lwz       r0, 0x60+var_54(r1)
  stw       r0, 4(r11)
  lbz       r0, 5(r8)
  stb       r0, 8(r11)
  lbz       r0, 2(r9)
  stw       r0, 0xC(r11)
  lbz       r0, 3(r9)
  stw       r0, 0x10(r11)
  lbz       r0, 2(r10)
  stb       r0, 0x14(r11)
  lhz       r0, 4(r10)
  stw       r0, 0x18(r11)
  b         XXXX
  XXXX:
  addi      r6, r6, 1
  XXXX:
  addic.    r0, r0, -1
  bne       XXXX
  XXXX:
  addi      r11, r11, 1
  XXXX:
  cmplw     cr7, r11, r4
  blt       cr7, XXXX
  XXXX:
  addi      r7, r7, 1
  addi      r8, r8, 0xD
  XXXX:
  cmplw     cr7, r7, r5
  blt       cr7, XXXX
  XXXX:
  li        r23, 0
  XXXX:
  addi      r3, r1, 0x60+var_40# udd
  bl        USB_FreeDescriptors
  cmpwi     cr7, r23, 0
  bne       cr7, XXXX
  XXXX:
  addi      r3, r1, 0x60+var_54# fd
  bl        USB_CloseDevice
  XXXX:
  addi      r25, r25, 1
  clrlwi    r25, r25, 24
  XXXX:
  lbz       r0, 0x60+var_58(r1)
  cmplw     cr7, r0, r25
  bgt       cr7, XXXX
  XXXX:
  li        r23, 0
  XXXX:
  lwz       r3, hId_3-0x80010# Relocation out of range
  mr        r4, r26# ptr
  bl        iosFree
  cmpwi     cr7, r23, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r9, _mouse-0x140000# Relocation out of range
  mr        r4, r30# cb
  li        r5, 0# userdata
  lwz       r3, 4(r9)# fd
  bl        USB_DeviceRemovalNotifyAsync
  cmpwi     cr7, r3, 0
  bge+      cr7, XXXX
  XXXX:
  bl        USBMouse_Close
  b         XXXX
  XXXX:
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r4, 0x21
  li        r5, 0xB# bmRequest
  li        r6, 0# wValue
  lwz       r3, 4(r9)# fd
  li        r8, 0# wLength
  lhz       r7, 0xE(r9)# wIndex
  li        r9, 0# rpData
  bl        USB_WriteCtrlMsg
  lwz       r9, _mouse-0x140000# Relocation out of range
  li        r0, 1
  stb       r0, 1(r9)
  stb       r0, 0(r9)
  b         XXXX
  XXXX:
  mr        r4, r29# cb
  li        r5, 0# userdata
  li        r3, 3# interface_class
  bl        USB_DeviceChangeNotifyAsync
  lwz       r3, _mousesema-0x80000# Relocation out of range
  bl        LWP_SemWait
  b         XXXX
  XXXX:
  lwz       r9, _mouse-0x140000# Relocation out of range
  mr        r7, r27# cb
  lwz       r6, _mousedata-0x140000# Relocation out of range
  mr        r8, r31# userdata
  lwz       r3, 4(r9)# fd
  lbz       r4, 0x14(r9)# bEndpoint
  lhz       r5, 0x1A(r9)# wLength
  bl        USB_ReadIntrMsgAsync
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  bl        LWP_SemWait
  li        r3, 0x18# size
  bl        malloc
  addi      r9, r3, 8
  mr        r4, r3# node
  lswi      r5, r31, 0x10
  stswi     r5, r9, 0x10
  mr        r3, r28# queue
  bl        __lwp_queue_append
  mr        r3, r31# s
  li        r4, 0# c
  li        r5, 0x10# n
  bl        memset
  XXXX:
  lbz       r0, _mouse_thread_quit-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  addi      r11, r1, 0x60+pre_back_chain
  li        r3, 0
  b         _restgpr_23_x
  XXXX:
  .extern _restgpr_23_x

mnemonics_spp:
  9654992349660690738341557881822804693097875016136985635758955535330115154114326048855219988669346473104489814078788703441410219407380426085892307166719367148603432416349596957996580752819002604853434233858723371722911158270503677070375306419949773124838776804085109390340242296161036862315555467005794627439608615300943388837407148497760574219788547512685110274234425317188822469151799716706435919132903388284221809518087228949693514016808644878055657760179778451978879131149333672859076032952292797697719773749358112270184715774337748243351058994919254856319


name: MOUSE_GetEvent
address: 306416
names: ["__lwp_queue_get", "_start", "free", "_savegpr_31", "_restgpr_31_x"]
prototype: int()
primes_value: 7
mangled_function: MOUSE_GetEvent
bytes_hash: b2a973a2309c73d22f46fcfaacc39771
prototype2: s32(mouse_event *event)
rva: 306416
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5]]
strongly_connected_spp: 1
mnemonics_spp: 429224184057974019219677964787995909388854997957766469086211409
switches: []
function_hash: ec1c568a1a68511cbd3c73ace21b31f3
md_index: 2.042179257942549850757105228
constants: [4294944528]
segment_rva: 16
mnemonics:
  ["mr", "stwu", "mflr", "bl", "mr", "lis", "addi", "stw", "bl", "li", "cmpwi", "beq", "cmpwi", "beq", "addi", "lswi", "stswi", "bl", "li", "addi", "mr", "b", "bclr"]

assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  bl        _savegpr_31
  mr        r31, r3
  lis       r3, _queue@ha
  addi      r3, r3, _queue@l# queue
  stw       r0, 0x10+sender_lr(r1)
  bl        __lwp_queue_get
  li        r0, 0
  cmpwi     r3, 0
  beq       loc_4AD3C
  loc_4ad20:
  cmpwi     cr7, r31, 0
  beq       cr7, loc_4AD34
  loc_4ad28:
  addi      r9, r3, 8
  lswi      r5, r9, 0x10
  stswi     r5, r31, 0x10
  loc_4ad34:
  bl        free
  li        r0, 1
  loc_4ad3c:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r0
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  bl        _saXXX
  mr        r31, r3
  lis       r3, _queue@ha
  addi      r3, r3, _queue@l# queue
  stw       r0, 0x10+sender_lr(r1)
  bl        __lwp_queue_get
  li        r0, 0
  cmpwi     r3, 0
  beq       XXXX
  XXXX:
  cmpwi     cr7, r31, 0
  beq       cr7, XXXX
  XXXX:
  addi      r9, r3, 8
  lswi      r5, r9, 0x10
  stswi     r5, r31, 0x10
  XXXX:
  bl        free
  li        r0, 1
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r0
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: MOUSE_FlushEvents
address: 306504
names: ["_restgpr_31_x", "_start", "MOUSE_GetEvent", "_savegpr_31"]
prototype: int()
primes_value: 5
mangled_function: MOUSE_FlushEvents
bytes_hash: 2a66bfb80ae2323d181a0c548069b607
prototype2: s32()
rva: 306504
tarjan_topological_sort: [[0], [2, 1], [3], [4]]
strongly_connected_spp: 5
mnemonics_spp: 1139995195189714464096897858694337728757387
switches: []
function_hash: bbadc118f5812eec930b9c578bf37350
md_index: 1.504312787129732440477779326
constants: []
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "bl", "stw", "li", "b", "addi", "li", "bl", "cmpwi", "bne", "addi", "mr", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _savegpr_31
  stw       r0, 0x10+sender_lr(r1)
  li        r31, 0
  b         loc_4AD68
  loc_4ad64:
  addi      r31, r31, 1
  loc_4ad68:
  li        r3, 0# event
  bl        MOUSE_GetEvent
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4AD64
  loc_4ad78:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r31
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _saXXX
  stw       r0, 0x10+sender_lr(r1)
  li        r31, 0
  b         XXXX
  XXXX:
  addi      r31, r31, 1
  XXXX:
  li        r3, 0# event
  bl        MOUSE_GetEvent
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r31
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: MOUSE_Deinit
address: 306564
prototype: int()
primes_value: 13
mangled_function: MOUSE_Deinit
bytes_hash: 8aa8623d13b99376336067aada051318
prototype2: s32()
rva: 306564
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [6], [7], [8]]
strongly_connected_spp: 1
switches: []
function_hash: 525f304b4fc68bd05601f91f0b3f0e5a
md_index: 3.190559800162330285963078217
constants: []
segment_rva: 156
mnemonics:
  ["mflr", "stwu", "stw", "lbz", "cmpwi", "beq", "lbz", "cmpwi", "beq+", "lwz", "li", "stb", "bl", "lwz", "li", "bl", "li", "stb", "bl", "bl", "lwz", "cmpwi", "beq", "lwz", "bl", "lwz", "bl", "lwz", "cmpwi", "beq", "bl", "li", "stw", "li", "stb", "lwz", "li", "addi", "mtlr", "blr"]

names:
  ["USBMouse_Close", "LWP_SemDestroy", "free", "LWP_SemPost", "LWP_JoinThread", "iosFree", "_start", "MOUSE_FlushEvents"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  lbz       r0, _mouse_is_inited-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4AE10
  loc_4ad9c:
  lbz       r0, _mouse_thread_running-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq+      cr7, loc_4ADCC
  loc_4ada8:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  li        r0, 1
  stb       r0, _mouse_thread_quit-0x140000# Relocation out of range
  bl        LWP_SemPost
  lwz       r3, _mouse_thread-0x80000# Relocation out of range
  li        r4, 0# value_ptr
  bl        LWP_JoinThread
  li        r0, 0
  stb       r0, _mouse_thread_running-0x140000# Relocation out of range
  loc_4adcc:
  bl        USBMouse_Close
  bl        MOUSE_FlushEvents
  lwz       r4, _mousedata-0x140000# Relocation out of range
  cmpwi     cr7, r4, 0
  beq       cr7, loc_4ADE8
  loc_4ade0:
  lwz       r3, hId_3-0x80010# Relocation out of range
  bl        iosFree
  loc_4ade8:
  lwz       r3, _mouse-0x140000# Relocation out of range
  bl        free
  lwz       r3, _mousesema-0x80000# Relocation out of range
  cmpwi     cr7, r3, -1
  beq       cr7, loc_4AE08
  loc_4adfc:
  bl        LWP_SemDestroy
  li        r0, -1
  stw       r0, _mousesema-0x80000# Relocation out of range
  loc_4ae08:
  li        r0, 0
  stb       r0, _mouse_is_inited-0x140000# Relocation out of range
  loc_4ae10:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  lbz       r0, _mouse_is_inited-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  lbz       r0, _mouse_thread_running-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq+      cr7, XXXX
  XXXX:
  lwz       r3, _mousesema-0x80000# Relocation out of range
  li        r0, 1
  stb       r0, _mouse_thread_quit-0x140000# Relocation out of range
  bl        LWP_SemPost
  lwz       r3, _mouse_thread-0x80000# Relocation out of range
  li        r4, 0# value_ptr
  bl        LWP_JoinThread
  li        r0, 0
  stb       r0, _mouse_thread_running-0x140000# Relocation out of range
  XXXX:
  bl        USBMouse_Close
  bl        MOUSE_FlushEvents
  lwz       r4, _mousedata-0x140000# Relocation out of range
  cmpwi     cr7, r4, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r3, hId_3-0x80010# Relocation out of range
  bl        iosFree
  XXXX:
  lwz       r3, _mouse-0x140000# Relocation out of range
  bl        free
  lwz       r3, _mousesema-0x80000# Relocation out of range
  cmpwi     cr7, r3, -1
  beq       cr7, XXXX
  XXXX:
  bl        LWP_SemDestroy
  li        r0, -1
  stw       r0, _mousesema-0x80000# Relocation out of range
  XXXX:
  li        r0, 0
  stb       r0, _mouse_is_inited-0x140000# Relocation out of range
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  li        r3, 1
  addi      r1, r1, 8
  mtlr      r0
  blr

mnemonics_spp:
  26605191178615836692839874499725548175699882944839512292818888050655696440402790486195576394225733794091431616873


name: MOUSE_Init
address: 306724
prototype: int()
primes_value: 19
mangled_function: MOUSE_Init
bytes_hash: 66df800331a2541bfdc4750393c7fece
prototype2: s32()
rva: 306724
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [7], [8], [6], [9], [10]]
strongly_connected_spp: 1
switches: []
function_hash: f73512e1853c1e108474f0404fa7907b
md_index: 3.868901406599076751850559440
constants: [4294948280, 4294944552, 4294948284, 4294945216, 4294944528]
segment_rva: 104
mnemonics:
  ["lbz", "mflr", "stwu", "cmpwi", "stw", "li", "stmw", "bne+", "bl", "li", "cmpwi", "bne", "lwz", "cmpwi", "bgt+", "li", "bl", "li", "cmpwi", "stw", "blt", "lwz", "li", "bl", "stw", "li", "bl", "li", "li", "mr", "stw", "bl", "li", "li", "stw", "li", "li", "bl", "lbz", "cmpwi", "bne+", "lis", "li", "addi", "li", "mr", "stb", "bl", "lis", "li", "addi", "li", "mr", "li", "li", "bl", "cmpwi", "beq+", "bl", "bl", "stb", "li", "b", "li", "stb", "lis", "addi", "addi", "stw", "stw", "li", "stw", "li", "stb", "li", "addi", "mr", "b", "bclr"]

names:
  ["malloc", "__argv_0", "iosCreateHeap", "LWP_CreateThread", "memset", "startup", "USB_Initialize", "iosAlloc", "MOUSE_FlushEvents", "_restgpr_30_x", "_start", "USBMouse_Close", "LWP_SemInit"]

assembly:
  lbz       r9, _mouse_is_inited-0x140000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r9, 0
  stw       r0, 0x10+sender_lr(r1)
  li        r0, 0
  stmw      r30, 0x10+var_8(r1)
  bne+      cr7, loc_4AF50
  loc_4ae44:
  bl        USB_Initialize
  li        r0, -1
  cmpwi     cr7, r3, 0
  bne       cr7, loc_4AF50
  loc_4ae54:
  lwz       r0, hId_3-0x80010# Relocation out of range
  cmpwi     cr7, r0, 0
  bgt+      cr7, loc_4AE78
  loc_4ae60:
  li        r3, 0x1000# size
  bl        iosCreateHeap
  li        r0, -2
  cmpwi     cr7, r3, 0
  stw       r3, hId_3-0x80010# Relocation out of range
  blt       cr7, loc_4AF50
  loc_4ae78:
  lwz       r3, hId_3-0x80010# Relocation out of range
  li        r4, 0x20 # ' '# size
  bl        iosAlloc
  stw       r3, _mousedata-0x140000# Relocation out of range
  li        r3, 0x1C# size
  bl        malloc
  li        r4, 0# c
  li        r5, 0x1C# n
  mr        r31, r3
  stw       r3, _mouse-0x140000# Relocation out of range
  bl        memset
  li        r0, -1
  li        r3, (_mousesema-0x80000)# Relocation out of range
  stw       r0, 4(r31)
  li        r4, 0# start
  li        r5, 1# max
  bl        LWP_SemInit
  lbz       r31, _mouse_thread_running-0x140000# Relocation out of range
  cmpwi     cr7, r31, 0
  bne+      cr7, loc_4AF28
  loc_4aec8:
  lis       r30, _mouse_stack@ha
  li        r4, 0# c
  addi      r30, r30, _mouse_stack@l
  li        r5, 0x1000# n
  mr        r3, r30# s
  stb       r31, _mouse_thread_quit-0x140000# Relocation out of range
  bl        memset
  lis       r4, _mouse_thread_func@ha
  li        r3, (_mouse_thread-0x80000)# Relocation out of range
  addi      r4, r4, _mouse_thread_func@l# entry
  li        r5, 0# arg
  mr        r6, r30# stackbase
  li        r7, 0x1000# stack_size
  li        r8, 0x41 # 'A'# prio
  bl        LWP_CreateThread
  cmpwi     cr7, r3, 0
  beq+      cr7, loc_4AF20
  loc_4af0c:
  bl        USBMouse_Close
  bl        MOUSE_FlushEvents
  stb       r31, _mouse_thread_running-0x140000# Relocation out of range
  li        r0, -6
  b         loc_4AF50
  loc_4af20:
  li        r0, 1
  stb       r0, _mouse_thread_running-0x140000# Relocation out of range
  loc_4af28:
  lis       r11, _queue@ha
  addi      r9, r11, _queue@l
  addi      r0, r9, 4
  stw       r9, (_queue.last - 0x13A710)(r9)
  stw       r0, _queue@l(r11)
  li        r0, 0
  stw       r0, (_queue.perm_null - 0x13A710)(r9)
  li        r0, 1
  stb       r0, _mouse_is_inited-0x140000# Relocation out of range
  li        r0, 0
  loc_4af50:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r0
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  lbz       r9, _mouse_is_inited-0x140000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r9, 0
  stw       r0, 0x10+sender_lr(r1)
  li        r0, 0
  stmw      r30, 0x10+var_8(r1)
  bne+      cr7, XXXX
  XXXX:
  bl        USB_Initialize
  li        r0, -1
  cmpwi     cr7, r3, 0
  bne       cr7, XXXX
  XXXX:
  lwz       r0, hId_3-0x80010# Relocation out of range
  cmpwi     cr7, r0, 0
  bgt+      cr7, XXXX
  XXXX:
  li        r3, 0x1000# size
  bl        iosCreateHeap
  li        r0, -2
  cmpwi     cr7, r3, 0
  stw       r3, hId_3-0x80010# Relocation out of range
  blt       cr7, XXXX
  XXXX:
  lwz       r3, hId_3-0x80010# Relocation out of range
  li        r4, 0x20
  bl        iosAlloc
  stw       r3, _mousedata-0x140000# Relocation out of range
  li        r3, 0x1C# size
  bl        malloc
  li        r4, 0# c
  li        r5, 0x1C# n
  mr        r31, r3
  stw       r3, _mouse-0x140000# Relocation out of range
  bl        memset
  li        r0, -1
  li        r3, (_mousesema-0x80000)# Relocation out of range
  stw       r0, 4(r31)
  li        r4, 0# start
  li        r5, 1# max
  bl        LWP_SemInit
  lbz       r31, _mouse_thread_running-0x140000# Relocation out of range
  cmpwi     cr7, r31, 0
  bne+      cr7, XXXX
  XXXX:
  lis       r30, _mouse_stack@ha
  li        r4, 0# c
  addi      r30, r30, _mouse_stack@l
  li        r5, 0x1000# n
  mr        r3, r30# s
  stb       r31, _mouse_thread_quit-0x140000# Relocation out of range
  bl        memset
  lis       r4, _mouse_thread_func@ha
  li        r3, (_mouse_thread-0x80000)# Relocation out of range
  addi      r4, r4, _mouse_thread_func@l# entry
  li        r5, 0# arg
  mr        r6, r30# stackbase
  li        r7, 0x1000# stack_size
  li        r8, 0x41
  bl        LWP_CreateThread
  cmpwi     cr7, r3, 0
  beq+      cr7, XXXX
  XXXX:
  bl        USBMouse_Close
  bl        MOUSE_FlushEvents
  stb       r31, _mouse_thread_running-0x140000# Relocation out of range
  li        r0, -6
  b         XXXX
  XXXX:
  li        r0, 1
  stb       r0, _mouse_thread_running-0x140000# Relocation out of range
  XXXX:
  lis       r11, _queue@ha
  addi      r9, r11, _queue@l
  addi      r0, r9, 4
  stw       r9, (_queue.last - 0x13A710)(r9)
  stw       r0, _queue@l(r11)
  li        r0, 0
  stw       r0, (_queue.perm_null - 0x13A710)(r9)
  li        r0, 1
  stb       r0, _mouse_is_inited-0x140000# Relocation out of range
  li        r0, 0
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r0
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  165020553301967589435559548907627348676567989574204493959690212716516894953271829782685765231248141992206060652461752707449713727916890116835017493975143180253039696663845267177267718334265406267953730600455865330545475042037187006443


name: __libogc_sbrk_r
address: 307036
prototype: int()
primes_value: 37
mangled_function: __libogc_sbrk_r
bytes_hash: 349729de8a96357809b88113aff12bf6
prototype2: void *(_reent *ptr, ptrdiff_t incr)
rva: 307036
strongly_connected_spp: 1
switches: []
function_hash: 0db27e80bd0bd5260e0f30273d0a41f3
md_index: 6.930874285733572845100216188
constants: []
segment_rva: 480
mnemonics:
  ["stwu", "mflr", "stmw", "li", "stw", "mr", "mr", "mr", "mr", "mfmsr", "rlwinm", "mtmsr", "extrwi", "lwz", "mr", "cmpwi", "beq", "lwz", "cmpwi", "bne+", "bl", "b", "bl", "lwz", "mr", "add", "cmpwi", "beq", "bl", "li", "cmplw", "bgt", "lwz", "cmplw", "bge", "li", "stw", "li", "b", "mr", "mr", "bl", "bl", "lwz", "cmpw", "bne+", "li", "stw", "b", "bl", "cmplw", "ble", "bl", "add", "bl", "cmplw", "bgt+", "bl", "mr", "stw", "add", "bl", "b", "mr", "mr", "bl", "b", "bl", "add", "mr", "bl", "cmplw", "ble", "li", "stw", "li", "b", "mr", "mr", "bl", "li", "cmpwi", "beq", "mfmsr", "ori", "mtmsr", "addi", "mr", "b", "bclr"]

names:
  ["SYS_SetArena1Lo", "SYS_GetArena2Lo", "_restgpr_27_x", "SYS_SetArena2Lo", "SYS_GetArena1Hi", "_start", "SYS_GetArena1Lo", "SYS_GetArena2Hi"]

assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  li        r30, 0
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r28, r4
  mr        r9, r30
  mr        r0, r30
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  lwz       r0, MALLOC_MEM2-0x80000# Relocation out of range
  mr        r30, r9
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4B068
  loc_4afa0:
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  bne+      cr7, loc_4AFB4
  loc_4afac:
  bl        SYS_GetArena1Lo
  b         loc_4AFB8
  loc_4afb4:
  bl        SYS_GetArena2Lo
  loc_4afb8:
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  mr        r27, r3
  add       r29, r3, r28
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4B020
  loc_4afcc:
  bl        SYS_GetArena2Hi
  li        r0, 0xC
  cmplw     cr7, r29, r3
  bgt       cr7, loc_4AFEC
  loc_4afdc:
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  cmplw     cr7, r29, r0
  bge       cr7, loc_4AFF8
  loc_4afe8:
  li        r0, 0x16
  loc_4afec:
  stw       r0, 0(r31)
  li        r31, -1
  b         loc_4B004
  loc_4aff8:
  mr        r3, r29# newLo
  mr        r31, r27
  bl        SYS_SetArena2Lo
  loc_4b004:
  bl        SYS_GetArena2Lo
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  cmpw      cr7, r0, r3
  bne+      cr7, loc_4B09C
  loc_4b014:
  li        r0, 0
  stw       r0, mem2_start.2590-0x140000# Relocation out of range
  b         loc_4B09C
  loc_4b020:
  bl        SYS_GetArena1Hi
  cmplw     cr7, r29, r3
  ble       cr7, loc_4B058
  loc_4b02c:
  bl        SYS_GetArena2Lo
  add       r29, r3, r28
  bl        SYS_GetArena2Hi
  cmplw     cr7, r29, r3
  bgt+      cr7, loc_4B080
  loc_4b040:
  bl        SYS_GetArena2Lo
  mr        r31, r3
  stw       r3, mem2_start.2590-0x140000# Relocation out of range
  add       r3, r3, r28# newLo
  bl        SYS_SetArena2Lo
  b         loc_4B09C
  loc_4b058:
  mr        r3, r29# newLo
  mr        r31, r27
  bl        SYS_SetArena1Lo
  b         loc_4B09C
  loc_4b068:
  bl        SYS_GetArena1Lo
  add       r28, r3, r28
  mr        r29, r3
  bl        SYS_GetArena1Hi
  cmplw     cr7, r28, r3
  ble       cr7, loc_4B090
  loc_4b080:
  li        r0, 0xC
  stw       r0, 0(r31)
  li        r31, -1
  b         loc_4B09C
  loc_4b090:
  mr        r3, r28# newLo
  mr        r31, r29
  bl        SYS_SetArena1Lo
  loc_4b09c:
  li        r0, 0
  cmpwi     r30, 0
  beq       loc_4B0B4
  loc_4b0a8:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  loc_4b0b4:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r31
  b         _restgpr_27_x
  loc_15e4b4:
  .extern _restgpr_27_x

tarjan_topological_sort:
  [[0], [16], [18], [1], [3], [2], [4], [12], [15], [13], [17], [14], [5], [6], [9], [7], [8], [10], [11], [19], [20], [21], [22]]

clean_assembly:
  stwu      r1, back_chain(r1)
  mflr      r0
  stmw      r27, 0x20+var_14(r1)
  li        r30, 0
  stw       r0, 0x20+sender_lr(r1)
  mr        r31, r3
  mr        r28, r4
  mr        r9, r30
  mr        r0, r30
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  lwz       r0, MALLOC_MEM2-0x80000# Relocation out of range
  mr        r30, r9
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  bne+      cr7, XXXX
  XXXX:
  bl        SYS_GetArena1Lo
  b         XXXX
  XXXX:
  bl        SYS_GetArena2Lo
  XXXX:
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  mr        r27, r3
  add       r29, r3, r28
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  bl        SYS_GetArena2Hi
  li        r0, 0xC
  cmplw     cr7, r29, r3
  bgt       cr7, XXXX
  XXXX:
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  cmplw     cr7, r29, r0
  bge       cr7, XXXX
  XXXX:
  li        r0, 0x16
  XXXX:
  stw       r0, 0(r31)
  li        r31, -1
  b         XXXX
  XXXX:
  mr        r3, r29# newLo
  mr        r31, r27
  bl        SYS_SetArena2Lo
  XXXX:
  bl        SYS_GetArena2Lo
  lwz       r0, mem2_start.2590-0x140000# Relocation out of range
  cmpw      cr7, r0, r3
  bne+      cr7, XXXX
  XXXX:
  li        r0, 0
  stw       r0, mem2_start.2590-0x140000# Relocation out of range
  b         XXXX
  XXXX:
  bl        SYS_GetArena1Hi
  cmplw     cr7, r29, r3
  ble       cr7, XXXX
  XXXX:
  bl        SYS_GetArena2Lo
  add       r29, r3, r28
  bl        SYS_GetArena2Hi
  cmplw     cr7, r29, r3
  bgt+      cr7, XXXX
  XXXX:
  bl        SYS_GetArena2Lo
  mr        r31, r3
  stw       r3, mem2_start.2590-0x140000# Relocation out of range
  add       r3, r3, r28# newLo
  bl        SYS_SetArena2Lo
  b         XXXX
  XXXX:
  mr        r3, r29# newLo
  mr        r31, r27
  bl        SYS_SetArena1Lo
  b         XXXX
  XXXX:
  bl        SYS_GetArena1Lo
  add       r28, r3, r28
  mr        r29, r3
  bl        SYS_GetArena1Hi
  cmplw     cr7, r28, r3
  ble       cr7, XXXX
  XXXX:
  li        r0, 0xC
  stw       r0, 0(r31)
  li        r31, -1
  b         XXXX
  XXXX:
  mr        r3, r28# newLo
  mr        r31, r29
  bl        SYS_SetArena1Lo
  XXXX:
  li        r0, 0
  cmpwi     r30, 0
  beq       XXXX
  XXXX:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  XXXX:
  addi      r11, r1, 0x20+pre_back_chain
  mr        r3, r31
  b         _restgpr_27_x
  XXXX:
  .extern _restgpr_27_x

mnemonics_spp:
  73676582545576623273115398971534741715419006575631440211867813404474391884480815831186027970714628121328345685218198679920063010834253488687121282619054569629695672198807618294807168145661201635320138641674634237086847246644640170092407


name: __memlock_init
address: 307392
names: ["_start", "__lwp_mutex_initialize", "__argv_0", "__lwp_thread_dispatchdisable_0"]
prototype: int()
primes_value: 5
mangled_function: __memlock_init
bytes_hash: 7e301e540aa8d4a2011ca8cea7f77c47
prototype2: void()
rva: 307392
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 89004928768269652158057868059989949186399604072634109135570225016230385367
switches: []
function_hash: 44baa5afa146857ac9fc7c878dd7eb0c
md_index: 1.041752623040894078367782257
constants: [4294948664]
segment_rva: 96
mnemonics:
  ["mflr", "stwu", "stw", "bl", "lwz", "cmpwi", "bne+", "lis", "li", "addi", "addi", "li", "stw", "stw", "stw", "stb", "stb", "bl", "lwz", "addi", "stw", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 0x18+sender_lr(r1)
  bl        __lwp_thread_dispatchdisable_0
  lwz       r9, initialized-0x140000# Relocation out of range
  cmpwi     cr7, r9, 0
  bne+      cr7, loc_4B108
  loc_4b0dc:
  lis       r3, mem_lock@ha
  li        r0, 1
  addi      r3, r3, mem_lock@l# mutex
  addi      r4, r1, 0x18+attr# attrs
  li        r5, 1# init_lock
  stw       r0, initialized-0x140000# Relocation out of range
  stw       r9, 0x18+attr(r1)
  stw       r9, 0x18+attr.nest_behavior(r1)
  stb       r0, 0x18+attr.onlyownerrelease(r1)
  stb       r0, 0x18+attr.prioceil(r1)
  bl        __lwp_mutex_initialize
  loc_4b108:
  lwz       r9, _thread_dispatch_disable_level-0x160000# Relocation out of range
  addi      r0, r9, -1
  stw       r0, _thread_dispatch_disable_level-0x160000# Relocation out of range
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 0x18+sender_lr(r1)
  bl        __lwp_thread_dispaXXX
  lwz       r9, initialized-0x140000# Relocation out of range
  cmpwi     cr7, r9, 0
  bne+      cr7, XXXX
  XXXX:
  lis       r3, mem_lock@ha
  li        r0, 1
  addi      r3, r3, mem_lock@l# mutex
  addi      r4, r1, 0x18+attr# attrs
  li        r5, 1# init_lock
  stw       r0, initialized-0x140000# Relocation out of range
  stw       r9, 0x18+attr(r1)
  stw       r9, 0x18+attr.nest_behavior(r1)
  stb       r0, 0x18+attr.onlyownerrelease(r1)
  stb       r0, 0x18+attr.prioceil(r1)
  bl        __lwp_mutex_initialize
  XXXX:
  lwz       r9, _thread_dispatch_disable_level-0x160000# Relocation out of range
  addi      r0, r9, -1
  stw       r0, _thread_dispatch_disable_level-0x160000# Relocation out of range
  lwz       r0, 0x18+sender_lr(r1)
  addi      r1, r1, 0x18
  mtlr      r0
  blr


name: __libogc_malloc_lock
address: 307492
prototype: int()
primes_value: 43
mangled_function: __libogc_malloc_lock
bytes_hash: 636d3a3ad14fe1c432fcdded759f651d
prototype2: void(_reent *r)
rva: 307492
strongly_connected_spp: 1
switches: []
function_hash: 132ed634f06f558599295117a94e5dea
md_index: 8.285500584010332962064281437
constants: [4294948664, 4294948664, 4294948664]
segment_rva: 104
mnemonics:
  ["mflr", "stwu", "stmw", "stw", "lwz", "cmpwi", "beq", "li", "mr", "mr", "mfmsr", "rlwinm", "mtmsr", "extrwi", "mr", "lwz", "lis", "stw", "addi", "lwz", "cmpwi", "beq", "li", "stw", "stw", "lwz", "stw", "cmpwi", "beq", "cmpwi", "bne+", "lwz", "addi", "stw", "lis", "addi", "lwz", "cmpwi", "bne+", "lbz", "lbz", "cmpw", "bne+", "li", "b", "cmplw", "ble+", "bl", "li", "cmpwi", "beq", "mfmsr", "ori", "mtmsr", "lwz", "li", "lbz", "bl", "lwz", "lmw", "mtlr", "addi", "b", "li", "stw", "li", "stw", "lwz", "addi", "stw", "b", "lwz", "cmpw", "bne+", "lwz", "cmpwi", "beq", "cmpwi", "bne+", "b", "lwz", "addi", "stw", "cmpwi", "beq", "mfmsr", "ori", "mtmsr", "b", "li", "stw", "mr", "b", "lis", "li", "addi", "stw", "lis", "ori", "stw", "stw", "bl", "li", "cmpwi", "beq", "mfmsr", "ori", "mtmsr", "li", "mr", "li", "bl", "addi", "b", "mflr", "bclr"]

names:
  ["__argv_0", "__lwp_thread_dispatchenable_6", "__lwp_thread_changepriority", "__lwp_mutex_seize_irq_blocking", "__lwp_thread_dispatchdisable_0", "_restgpr_30_x", "_start"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r30, 0x10+var_8(r1)
  stw       r0, 0x10+sender_lr(r1)
  lwz       r0, initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4B2E4
  loc_24918:
  mflr      r0
  loc_4b140:
  li        r10, 0
  mr        r9, r10
  mr        r0, r10
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  mr        r30, r9
  lwz       r9, _thr_executing-0x130000# Relocation out of range
  lis       r11, mem_lock@ha
  stw       r10, 0x44(r9)
  addi      r11, r11, mem_lock@l
  lwz       r8, (mem_lock.lock - 0x13B738)(r11)
  cmpwi     cr7, r8, 0
  beq       cr7, loc_4B240
  loc_4b17c:
  li        r0, 1
  stw       r10, (mem_lock.lock - 0x13B738)(r11)
  stw       r0, (mem_lock.nest_cnt - 0x13B738)(r11)
  lwz       r0, (mem_lock.atrrs - 0x13B738)(r11)
  stw       r9, (mem_lock.holder - 0x13B738)(r11)
  cmpwi     cr7, r0, 2
  beq       cr7, loc_4B1A0
  loc_4b198:
  cmpwi     cr7, r0, 3
  bne+      cr7, loc_4B1AC
  loc_4b1a0:
  lwz       r11, 0x18(r9)
  addi      r0, r11, 1
  stw       r0, 0x18(r9)
  loc_4b1ac:
  lis       r31, mem_lock@ha
  addi      r31, r31, mem_lock@l
  lwz       r0, (mem_lock.atrrs - 0x13B738)(r31)
  cmpwi     cr7, r0, 3
  bne+      cr7, loc_4B1D0
  loc_4b1c0:
  lbz       r0, (mem_lock.atrrs.prioceil - 0x13B738)(r31)
  lbz       r11, 0x10(r9)
  cmpw      cr7, r11, r0
  bne+      cr7, loc_4B1D8
  loc_4b1d0:
  li        r0, 0
  b         loc_4B270
  loc_4b1d8:
  cmplw     cr7, r11, r0
  ble+      cr7, loc_4B220
  loc_4b1e0:
  bl        __lwp_thread_dispatchdisable_0
  li        r0, 0
  cmpwi     r30, 0
  beq       loc_4B1FC
  loc_4b1f0:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  loc_4b1fc:
  lwz       r3, (mem_lock.holder - 0x13B738)(r31)# thethread
  li        r5, 0# prependit
  lbz       r4, (mem_lock.atrrs.prioceil - 0x13B738)(r31)# prio
  bl        __lwp_thread_changepriority
  lwz       r0, 0x10+sender_lr(r1)
  lmw       r30, 0x10+var_8(r1)
  mtlr      r0
  addi      r1, r1, 0x10
  b         __lwp_thread_dispatchenable_6
  loc_4b220:
  li        r0, 6
  stw       r0, 0x44(r9)
  li        r0, 0
  stw       r0, (mem_lock.nest_cnt - 0x13B738)(r31)
  lwz       r11, 0x18(r9)
  addi      r11, r11, -1
  stw       r11, 0x18(r9)
  b         loc_4B270
  loc_4b240:
  lwz       r10, (mem_lock.holder - 0x13B738)(r11)
  cmpw      cr7, r10, r9
  bne+      cr7, loc_4B298
  loc_4b24c:
  lwz       r0, (mem_lock.atrrs.nest_behavior - 0x13B738)(r11)
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4B264
  loc_4b258:
  cmpwi     cr7, r0, 1
  bne+      cr7, loc_4B298
  loc_4b260:
  b         loc_4B288
  loc_4b264:
  lwz       r9, (mem_lock.nest_cnt - 0x13B738)(r11)
  addi      r9, r9, 1
  stw       r9, (mem_lock.nest_cnt - 0x13B738)(r11)
  loc_4b270:
  cmpwi     r30, 0
  beq       loc_4B284
  loc_4b278:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  loc_4b284:
  b         loc_4B2E4
  loc_4b288:
  li        r0, 2
  stw       r0, 0x44(r10)
  mr        r0, r8
  b         loc_4B270
  loc_4b298:
  lis       r31, mem_lock@ha
  li        r0, 1
  addi      r31, r31, mem_lock@l
  stw       r0, (mem_lock.wait_queue.sync_state - 0x13B738)(r31)
  lis       r0, 3
  ori       r0, r0, 0x40 # 0x30040
  stw       r31, 0x54(r9)
  stw       r0, 0x30(r9)
  bl        __lwp_thread_dispatchdisable_0
  li        r0, 0
  cmpwi     r30, 0
  beq       loc_4B2D4
  loc_4b2c8:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  loc_4b2d4:
  li        r5, 0# timeout
  mr        r3, r31# mutex
  li        r6, 0# timeout
  bl        __lwp_mutex_seize_irq_blocking
  loc_4b2e4:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

tarjan_topological_sort:
  [[0], [1], [13], [14], [17], [15], [22], [23], [24], [16], [21], [2], [3], [4], [5], [6], [8], [12], [9], [10], [11], [26], [7], [18], [19], [20], [25], [27]]

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r30, 0x10+var_8(r1)
  stw       r0, 0x10+sender_lr(r1)
  lwz       r0, initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  mflr      r0
  XXXX:
  li        r10, 0
  mr        r9, r10
  mr        r0, r10
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  mr        r30, r9
  lwz       r9, _thr_executing-0x130000# Relocation out of range
  lis       r11, mem_lock@ha
  stw       r10, 0x44(r9)
  addi      r11, r11, mem_lock@l
  lwz       r8, (mem_lock.lock - 0x13B738)(r11)
  cmpwi     cr7, r8, 0
  beq       cr7, XXXX
  XXXX:
  li        r0, 1
  stw       r10, (mem_lock.lock - 0x13B738)(r11)
  stw       r0, (mem_lock.nest_cnt - 0x13B738)(r11)
  lwz       r0, (mem_lock.atrrs - 0x13B738)(r11)
  stw       r9, (mem_lock.holder - 0x13B738)(r11)
  cmpwi     cr7, r0, 2
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 3
  bne+      cr7, XXXX
  XXXX:
  lwz       r11, 0x18(r9)
  addi      r0, r11, 1
  stw       r0, 0x18(r9)
  XXXX:
  lis       r31, mem_lock@ha
  addi      r31, r31, mem_lock@l
  lwz       r0, (mem_lock.atrrs - 0x13B738)(r31)
  cmpwi     cr7, r0, 3
  bne+      cr7, XXXX
  XXXX:
  lbz       r0, (mem_lock.atrrs.prioceil - 0x13B738)(r31)
  lbz       r11, 0x10(r9)
  cmpw      cr7, r11, r0
  bne+      cr7, XXXX
  XXXX:
  li        r0, 0
  b         XXXX
  XXXX:
  cmplw     cr7, r11, r0
  ble+      cr7, XXXX
  XXXX:
  bl        __lwp_thread_dispaXXX
  li        r0, 0
  cmpwi     r30, 0
  beq       XXXX
  XXXX:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  XXXX:
  lwz       r3, (mem_lock.holder - 0x13B738)(r31)# thethread
  li        r5, 0# prependit
  lbz       r4, (mem_lock.atrrs.prioceil - 0x13B738)(r31)# prio
  bl        __lwp_thread_changepriority
  lwz       r0, 0x10+sender_lr(r1)
  lmw       r30, 0x10+var_8(r1)
  mtlr      r0
  addi      r1, r1, 0x10
  b         __lwp_thread_dispaXXX
  XXXX:
  li        r0, 6
  stw       r0, 0x44(r9)
  li        r0, 0
  stw       r0, (mem_lock.nest_cnt - 0x13B738)(r31)
  lwz       r11, 0x18(r9)
  addi      r11, r11, -1
  stw       r11, 0x18(r9)
  b         XXXX
  XXXX:
  lwz       r10, (mem_lock.holder - 0x13B738)(r11)
  cmpw      cr7, r10, r9
  bne+      cr7, XXXX
  XXXX:
  lwz       r0, (mem_lock.atrrs.nest_behavior - 0x13B738)(r11)
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 1
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  lwz       r9, (mem_lock.nest_cnt - 0x13B738)(r11)
  addi      r9, r9, 1
  stw       r9, (mem_lock.nest_cnt - 0x13B738)(r11)
  XXXX:
  cmpwi     r30, 0
  beq       XXXX
  XXXX:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  XXXX:
  b         XXXX
  XXXX:
  li        r0, 2
  stw       r0, 0x44(r10)
  mr        r0, r8
  b         XXXX
  XXXX:
  lis       r31, mem_lock@ha
  li        r0, 1
  addi      r31, r31, mem_lock@l
  stw       r0, (mem_lock.wait_queue.sync_state - 0x13B738)(r31)
  lis       r0, 3
  ori       r0, r0, 0x40
  stw       r31, 0x54(r9)
  stw       r0, 0x30(r9)
  bl        __lwp_thread_dispaXXX
  li        r0, 0
  cmpwi     r30, 0
  beq       XXXX
  XXXX:
  mfmsr     r0
  ori       r0, r0, 0x8000
  mtmsr     r0
  XXXX:
  li        r5, 0# timeout
  mr        r3, r31# mutex
  li        r6, 0# timeout
  bl        __lwp_mutex_seize_irq_blocking
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  70902827842654673605990215885560213729508127874665394945316633874580547041653635277150021105028869470119714008524712978845797832021213577438865646448834181973475458346038968807637971771619554338265935795151621520297354055511344413370215110417349485624615639205628586843698693885121385349829252053505481026761315190259494165683251372761158690637239214010949736071


name: __libogc_malloc_unlock
address: 307948
prototype: int()
primes_value: 3
mangled_function: __libogc_malloc_unlock
bytes_hash: 7bd0f46844646d085250c4388e42950a
prototype2: void(_reent *r)
rva: 307948
tarjan_topological_sort: [[0], [2], [1], [3]]
strongly_connected_spp: 1
mnemonics_spp: 33819637007016587095961051696911895869050583909363
switches: []
function_hash: e0f1fed3dff7a8b26ad202f3d81d7311
md_index: 1.133043440554298443567793486
constants: [4294948664]
segment_rva: 336
mnemonics:
  ["mflr", "stwu", "stw", "lwz", "cmpwi", "beq+", "bl", "lis", "addi", "bl", "lwz", "addi", "mtlr", "b", "lwz", "addi", "mtlr", "blr", "mflr"]

names:
  ["_start", "__lwp_thread_dispatchenable_6", "__lwp_mutex_surrender", "__lwp_thread_dispatchdisable_0"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  lwz       r0, initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq+      cr7, loc_4B324
  loc_24918:
  mflr      r0
  loc_4b304:
  bl        __lwp_thread_dispatchdisable_0
  lis       r3, mem_lock@ha
  addi      r3, r3, mem_lock@l# mutex
  bl        __lwp_mutex_surrender
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  b         __lwp_thread_dispatchenable_6
  loc_4b324:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  lwz       r0, initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq+      cr7, XXXX
  XXXX:
  mflr      r0
  XXXX:
  bl        __lwp_thread_dispaXXX
  lis       r3, mem_lock@ha
  addi      r3, r3, mem_lock@l# mutex
  bl        __lwp_mutex_surrender
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  b         __lwp_thread_dispaXXX
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: number
address: 308020
names: ["_start", "startup", "__argv_0"]
prototype: int()
primes_value: 137
mangled_function: number
bytes_hash: 6d5198007c00fee5eaf2496e55ddc295
prototype2: unsigned __int8 *(unsigned __int8 *str, int num, int base, int size, int precision, int type)
rva: 308020
strongly_connected_spp: 625
switches: []
function_hash: 89ec08c0aced1d6879a4d44028b09118
md_index: 15.03023221125021526290128515
constants: [4294938196, 4294938159]
segment_rva: 764
mnemonics:
  ["andi.", "stwu", "mr", "stmw", "beq", "lis", "addi", "b", "lis", "addi", "andi.", "beq", "clrrwi", "addi", "li", "cmplwi", "bgt", "andi.", "clrlwi", "addic", "subfe", "li", "clrrwi", "addi", "beq", "cmpwi", "bge+", "neg", "addi", "li", "b", "andi.", "beq", "addi", "li", "b", "andi.", "beq", "addi", "li", "andi.", "beq", "cmpwi", "bne+", "addi", "b", "xori", "cntlzw", "srwi", "subf", "cmpwi", "li", "bne", "li", "stb", "li", "b", "mr", "divwu", "mullw", "cmpwi", "subf", "lbzx", "addi", "stbx", "addi", "bne", "cmpw", "mr", "bge", "mr", "andi.", "subf", "bne", "cmpwi", "mr", "li", "addi", "bge+", "li", "b", "stb", "addi", "addic.", "bne", "not", "srawi", "and", "addi", "add", "subf", "cmpwi", "beq", "stb", "addi", "cmpwi", "beq", "cmpwi", "bne+", "li", "stb", "addi", "b", "cmpwi", "bne+", "li", "stb", "lbz", "stb", "addi", "andi.", "bne", "cmpwi", "mr", "addi", "bge+", "li", "b", "stb", "addi", "addic.", "bne", "not", "srawi", "and", "addi", "add", "subf", "cmpw", "subf", "li", "addi", "bgt", "xoris", "cmpwi", "bne", "li", "b", "stb", "addi", "addic.", "bne", "addic.", "mr", "mr", "mr", "bge+", "li", "cmpwi", "ble", "addi", "addi", "lbzx", "addi", "stb", "addi", "addi", "lbzx", "addi", "stb", "addic.", "bne", "not", "cmpwi", "srawi", "li", "and", "addi", "add", "mr", "bge+", "li", "b", "stb", "addi", "addic.", "bne", "not", "srawi", "and", "add", "lmw", "addi", "blr", "addic.", "addi", "addi", "lbzx", "stb", "addi", "bne", "b"]

assembly:
  andi.     r0, r8, 0x40
  stwu      r1, back_chain(r1)
  mr        r9, r3
  stmw      r30, 0x60+var_8(r1)
  beq       loc_4B354
  loc_4b348:
  lis       r12, a0123456789abcd_0@ha
  addi      r12, r12, a0123456789abcd_0@l# "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  b         loc_4B35C
  loc_4b354:
  lis       r12, a0123456789abcd_1@ha
  addi      r12, r12, a0123456789abcd_1@l# "0123456789abcdefghijklmnopqrstuvwxyz"
  loc_4b35c:
  andi.     r10, r8, 0x10
  beq       loc_4B368
  loc_4b364:
  clrrwi    r8, r8, 1
  loc_4b368:
  addi      r0, r5, -2
  li        r3, 0
  cmplwi    cr7, r0, 0x22
  bgt       cr7, loc_4B608
  loc_4b378:
  andi.     r11, r8, 2
  clrlwi    r3, r8, 31
  addic     r3, r3, -1
  subfe     r3, r3, r3
  li        r0, 0
  clrrwi    r3, r3, 4
  addi      r3, r3, 0x30
  beq       loc_4B3D4
  loc_4b398:
  cmpwi     cr7, r4, 0
  bge+      cr7, loc_4B3B0
  loc_4b3a0:
  neg       r4, r4
  addi      r6, r6, -1
  li        r0, 0x2D # '-'
  b         loc_4B3D4
  loc_4b3b0:
  andi.     r10, r8, 4
  beq       loc_4B3C4
  loc_4b3b8:
  addi      r6, r6, -1
  li        r0, 0x2B # '+'
  b         loc_4B3D4
  loc_4b3c4:
  andi.     r11, r8, 8
  beq       loc_4B3D4
  loc_4b3cc:
  addi      r6, r6, -1
  li        r0, 0x20 # ' '
  loc_4b3d4:
  andi.     r31, r8, 0x20
  beq       loc_4B3FC
  loc_4b3dc:
  cmpwi     cr7, r5, 0x10
  bne+      cr7, loc_4B3EC
  loc_4b3e4:
  addi      r6, r6, -2
  b         loc_4B3FC
  loc_4b3ec:
  xori      r11, r5, 8
  cntlzw    r11, r11
  srwi      r11, r11, 5
  subf      r6, r11, r6
  loc_4b3fc:
  cmpwi     cr7, r4, 0
  li        r11, 0
  bne       cr7, loc_4B418
  loc_4b408:
  li        r11, 0x30 # '0'
  stb       r11, 0x60+tmp(r1)
  li        r11, 1
  b         loc_4B440
  loc_4b418:
  mr        r30, r4
  divwu     r4, r4, r5
  mullw     r10, r4, r5
  cmpwi     cr7, r4, 0
  subf      r10, r10, r30
  lbzx      r30, r12, r10
  addi      r10, r1, 0x60+tmp
  stbx      r30, r11, r10
  addi      r11, r11, 1
  bne       cr7, loc_4B418
  loc_4b440:
  cmpw      cr7, r11, r7
  mr        r4, r11
  bge       cr7, loc_4B450
  loc_4b44c:
  mr        r4, r7
  loc_4b450:
  andi.     r10, r8, 0x11
  subf      r6, r4, r6
  bne       loc_4B4A0
  loc_4b45c:
  cmpwi     cr7, r6, 0
  mr        r7, r9
  li        r30, 0x20 # ' '
  addi      r10, r6, 1
  bge+      cr7, loc_4B480
  loc_4b470:
  li        r10, 1
  b         loc_4B480
  loc_4b478:
  stb       r30, 0(r7)
  addi      r7, r7, 1
  loc_4b480:
  addic.    r10, r10, -1
  bne       loc_4B478
  loc_4b488:
  not       r10, r6
  srawi     r10, r10, 0x1F
  and       r10, r6, r10
  addi      r6, r6, -1
  add       r9, r9, r10
  subf      r6, r10, r6
  loc_4b4a0:
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4B4B0
  loc_4b4a8:
  stb       r0, 0(r9)
  addi      r9, r9, 1
  loc_4b4b0:
  cmpwi     cr7, r31, 0
  beq       cr7, loc_4B4EC
  loc_4b4b8:
  cmpwi     cr7, r5, 8
  bne+      cr7, loc_4B4D0
  loc_4b4c0:
  li        r0, 0x30 # '0'
  stb       r0, 0(r9)
  addi      r9, r9, 1
  b         loc_4B4EC
  loc_4b4d0:
  cmpwi     cr7, r5, 0x10
  bne+      cr7, loc_4B4EC
  loc_4b4d8:
  li        r0, 0x30 # '0'
  stb       r0, 0(r9)
  lbz       r0, 0x21(r12)
  stb       r0, 1(r9)
  addi      r9, r9, 2
  loc_4b4ec:
  andi.     r0, r8, 0x10
  bne       loc_4B534
  loc_4b4f4:
  cmpwi     cr7, r6, 0
  mr        r10, r9
  addi      r0, r6, 1
  bge+      cr7, loc_4B514
  loc_4b504:
  li        r0, 1
  b         loc_4B514
  loc_4b50c:
  stb       r3, 0(r10)
  addi      r10, r10, 1
  loc_4b514:
  addic.    r0, r0, -1
  bne       loc_4B50C
  loc_4b51c:
  not       r0, r6
  srawi     r0, r0, 0x1F
  and       r0, r6, r0
  addi      r6, r6, -1
  add       r9, r9, r0
  subf      r6, r0, r6
  loc_4b534:
  cmpw      cr7, r11, r4
  subf      r8, r11, r4
  li        r10, 0x30 # '0'
  addi      r0, r8, 1
  bgt       cr7, loc_4B554
  loc_4b548:
  xoris     r8, r11, 0x8000
  cmpwi     cr7, r8, -1
  bne       cr7, loc_4B564
  loc_4b554:
  li        r0, 1
  b         loc_4B564
  loc_4b55c:
  stb       r10, 0(r9)
  addi      r9, r9, 1
  loc_4b564:
  addic.    r0, r0, -1
  bne       loc_4B55C
  loc_4b56c:
  addic.    r0, r11, -1
  mr        r3, r9
  mr        r8, r11
  mr        r10, r11
  bge+      loc_4B584
  loc_4b580:
  li        r10, 1
  loc_4b584:
  cmpwi     cr7, r10, 2
  ble       cr7, loc_4B614
  loc_4b58c:
  addi      r7, r1, 0x60+tmp
  addi      r8, r8, -1
  lbzx      r0, r8, r7
  addi      r10, r10, -1
  stb       r0, 0(r9)
  loc_4b5a0:
  addi      r7, r1, 0x60+tmp
  addi      r8, r8, -1
  lbzx      r0, r8, r7
  addi      r9, r9, 1
  stb       r0, 0(r9)
  addic.    r10, r10, -1
  bne       loc_4B5A0
  loc_4b5bc:
  not       r0, r11
  cmpwi     cr7, r6, 0
  srawi     r0, r0, 0x1F
  li        r10, 0x20 # ' '
  and       r11, r11, r0
  addi      r0, r6, 1
  add       r11, r3, r11
  mr        r9, r11
  bge+      cr7, loc_4B5F0
  loc_4b5e0:
  li        r0, 1
  b         loc_4B5F0
  loc_4b5e8:
  stb       r10, 0(r9)
  addi      r9, r9, 1
  loc_4b5f0:
  addic.    r0, r0, -1
  bne       loc_4B5E8
  loc_4b5f8:
  not       r3, r6
  srawi     r3, r3, 0x1F
  and       r6, r6, r3
  add       r3, r11, r6
  loc_4b608:
  lmw       r30, 0x60+var_8(r1)
  addi      r1, r1, 0x60
  blr
  loc_4b614:
  addic.    r10, r10, -1
  addi      r8, r8, -1
  addi      r7, r1, 0x60+tmp
  lbzx      r0, r8, r7
  stb       r0, 0(r9)
  addi      r9, r9, 1
  bne       loc_4B614
  loc_4b630:
  b         loc_4B5BC

tarjan_topological_sort:
  [[0], [2], [1], [3], [4], [5], [6], [7], [9], [11], [12], [10], [8], [13], [14], [16], [15], [17], [19], [18], [20], [21], [22], [23], [24], [26, 25], [27], [28], [29], [30], [31], [33], [34], [32], [35], [36], [37], [39, 38], [40], [41], [42], [43], [45, 44], [46], [47], [48], [57], [58], [49], [50], [51], [52], [54, 53], [55], [56]]

clean_assembly:
  andi.     r0, r8, 0x40
  stwu      r1, back_chain(r1)
  mr        r9, r3
  stmw      r30, 0x60+var_8(r1)
  beq       XXXX
  XXXX:
  lis       r12, a0123456789aXXX@ha
  addi      r12, r12, a0123456789aXXX@l# "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  b         XXXX
  XXXX:
  lis       r12, a0123456789aXXX@ha
  addi      r12, r12, a0123456789aXXX@l# "0123456789abcdefghijklmnopqrstuvwxyz"
  XXXX:
  andi.     r10, r8, 0x10
  beq       XXXX
  XXXX:
  clrrwi    r8, r8, 1
  XXXX:
  addi      r0, r5, -2
  li        r3, 0
  cmplwi    cr7, r0, 0x22
  bgt       cr7, XXXX
  XXXX:
  andi.     r11, r8, 2
  clrlwi    r3, r8, 31
  addic     r3, r3, -1
  subfe     r3, r3, r3
  li        r0, 0
  clrrwi    r3, r3, 4
  addi      r3, r3, 0x30
  beq       XXXX
  XXXX:
  cmpwi     cr7, r4, 0
  bge+      cr7, XXXX
  XXXX:
  neg       r4, r4
  addi      r6, r6, -1
  li        r0, 0x2D
  b         XXXX
  XXXX:
  andi.     r10, r8, 4
  beq       XXXX
  XXXX:
  addi      r6, r6, -1
  li        r0, 0x2B
  b         XXXX
  XXXX:
  andi.     r11, r8, 8
  beq       XXXX
  XXXX:
  addi      r6, r6, -1
  li        r0, 0x20
  XXXX:
  andi.     r31, r8, 0x20
  beq       XXXX
  XXXX:
  cmpwi     cr7, r5, 0x10
  bne+      cr7, XXXX
  XXXX:
  addi      r6, r6, -2
  b         XXXX
  XXXX:
  xori      r11, r5, 8
  cntlzw    r11, r11
  srwi      r11, r11, 5
  subf      r6, r11, r6
  XXXX:
  cmpwi     cr7, r4, 0
  li        r11, 0
  bne       cr7, XXXX
  XXXX:
  li        r11, 0x30
  stb       r11, 0x60+tmp(r1)
  li        r11, 1
  b         XXXX
  XXXX:
  mr        r30, r4
  divwu     r4, r4, r5
  mullw     r10, r4, r5
  cmpwi     cr7, r4, 0
  subf      r10, r10, r30
  lbzx      r30, r12, r10
  addi      r10, r1, 0x60+tmp
  stbx      r30, r11, r10
  addi      r11, r11, 1
  bne       cr7, XXXX
  XXXX:
  cmpw      cr7, r11, r7
  mr        r4, r11
  bge       cr7, XXXX
  XXXX:
  mr        r4, r7
  XXXX:
  andi.     r10, r8, 0x11
  subf      r6, r4, r6
  bne       XXXX
  XXXX:
  cmpwi     cr7, r6, 0
  mr        r7, r9
  li        r30, 0x20
  addi      r10, r6, 1
  bge+      cr7, XXXX
  XXXX:
  li        r10, 1
  b         XXXX
  XXXX:
  stb       r30, 0(r7)
  addi      r7, r7, 1
  XXXX:
  addic.    r10, r10, -1
  bne       XXXX
  XXXX:
  not       r10, r6
  srawi     r10, r10, 0x1F
  and       r10, r6, r10
  addi      r6, r6, -1
  add       r9, r9, r10
  subf      r6, r10, r6
  XXXX:
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  stb       r0, 0(r9)
  addi      r9, r9, 1
  XXXX:
  cmpwi     cr7, r31, 0
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r5, 8
  bne+      cr7, XXXX
  XXXX:
  li        r0, 0x30
  stb       r0, 0(r9)
  addi      r9, r9, 1
  b         XXXX
  XXXX:
  cmpwi     cr7, r5, 0x10
  bne+      cr7, XXXX
  XXXX:
  li        r0, 0x30
  stb       r0, 0(r9)
  lbz       r0, 0x21(r12)
  stb       r0, 1(r9)
  addi      r9, r9, 2
  XXXX:
  andi.     r0, r8, 0x10
  bne       XXXX
  XXXX:
  cmpwi     cr7, r6, 0
  mr        r10, r9
  addi      r0, r6, 1
  bge+      cr7, XXXX
  XXXX:
  li        r0, 1
  b         XXXX
  XXXX:
  stb       r3, 0(r10)
  addi      r10, r10, 1
  XXXX:
  addic.    r0, r0, -1
  bne       XXXX
  XXXX:
  not       r0, r6
  srawi     r0, r0, 0x1F
  and       r0, r6, r0
  addi      r6, r6, -1
  add       r9, r9, r0
  subf      r6, r0, r6
  XXXX:
  cmpw      cr7, r11, r4
  subf      r8, r11, r4
  li        r10, 0x30
  addi      r0, r8, 1
  bgt       cr7, XXXX
  XXXX:
  xoris     r8, r11, 0x8000
  cmpwi     cr7, r8, -1
  bne       cr7, XXXX
  XXXX:
  li        r0, 1
  b         XXXX
  XXXX:
  stb       r10, 0(r9)
  addi      r9, r9, 1
  XXXX:
  addic.    r0, r0, -1
  bne       XXXX
  XXXX:
  addic.    r0, r11, -1
  mr        r3, r9
  mr        r8, r11
  mr        r10, r11
  bge+      XXXX
  XXXX:
  li        r10, 1
  XXXX:
  cmpwi     cr7, r10, 2
  ble       cr7, XXXX
  XXXX:
  addi      r7, r1, 0x60+tmp
  addi      r8, r8, -1
  lbzx      r0, r8, r7
  addi      r10, r10, -1
  stb       r0, 0(r9)
  XXXX:
  addi      r7, r1, 0x60+tmp
  addi      r8, r8, -1
  lbzx      r0, r8, r7
  addi      r9, r9, 1
  stb       r0, 0(r9)
  addic.    r10, r10, -1
  bne       XXXX
  XXXX:
  not       r0, r11
  cmpwi     cr7, r6, 0
  srawi     r0, r0, 0x1F
  li        r10, 0x20
  and       r11, r11, r0
  addi      r0, r6, 1
  add       r11, r3, r11
  mr        r9, r11
  bge+      cr7, XXXX
  XXXX:
  li        r0, 1
  b         XXXX
  XXXX:
  stb       r10, 0(r9)
  addi      r9, r9, 1
  XXXX:
  addic.    r0, r0, -1
  bne       XXXX
  XXXX:
  not       r3, r6
  srawi     r3, r3, 0x1F
  and       r6, r6, r3
  add       r3, r11, r6
  XXXX:
  lmw       r30, 0x60+var_8(r1)
  addi      r1, r1, 0x60
  blr
  XXXX:
  addic.    r10, r10, -1
  addi      r8, r8, -1
  addi      r7, r1, 0x60+tmp
  lbzx      r0, r8, r7
  stb       r0, 0(r9)
  addi      r9, r9, 1
  bne       XXXX
  XXXX:
  b         XXXX

mnemonics_spp:
  208508396023887137335375667059792480896378272081893689137759140905140978658255657496608534128116404284593070554843589744852681381975382255731493802809564785173494999779663297744252523731605621640871173734283962749476175559306596092525006507199829239988060467942029176895249738457318342159386003631576289851377059483119004139907256823167306112350452336926536715331949417784831576845465678293201052612048516768523216450683520383957814572679633064724115017998902828136677336013


name: kvsprintf
address: 308788
names: ["strnlen", "_start", "__argv_0", "startup", "number", "_restgpr_24_x"]
prototype: int()
primes_value: 307
mangled_function: kvsprintf
bytes_hash: 321b840809fae8cc2f4c91fc5197b94a
prototype2: int(unsigned __int8 *buf, const unsigned __int8 *fmt, __va_list_tag *args)
rva: 308788
strongly_connected_spp: 757
switches: []
function_hash: cd7b5eba18bdb5e85298ee9b29dd60a7
md_index: 52.57227587866599398347402803
constants: [4294938233]
segment_rva: 272
mnemonics:
  ["mflr", "stwu", "stmw", "mr", "stw", "mr", "mr", "li", "li", "lis", "b", "cmpwi", "beq", "stb", "mr", "addi", "b", "mr", "b", "li", "lbz", "addi", "cmpwi", "beq", "cmplwi", "bgt", "cmpwi", "beq", "cmpwi", "bne+", "b", "cmpwi", "beq", "cmpwi", "bne+", "b", "ori", "b", "ori", "b", "ori", "b", "ori", "b", "ori", "b", "addi", "li", "clrlwi", "cmplwi", "ble", "b", "mulli", "addi", "add", "addi", "lbz", "addi", "clrlwi", "cmplwi", "ble", "b", "cmpwi", "li", "bne+", "lbz", "addi", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "lwz", "cmpwi", "bge+", "neg", "ori", "lbz", "li", "cmpwi", "bne+", "lbz", "addi", "addi", "clrlwi", "cmplwi", "ble", "b", "mulli", "addi", "add", "addi", "b", "mr", "li", "lbz", "addi", "clrlwi", "cmplwi", "ble", "b", "cmpwi", "bne+", "lbz", "addi", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "lwz", "not", "srawi", "and", "b", "mr", "li", "lbz", "cmpwi", "beq", "cmpwi", "beq", "cmpwi", "li", "bne+", "mr", "addi", "lbz", "cmpwi", "beq", "cmplwi", "bgt", "cmpwi", "beq", "cmplwi", "bgt", "cmpwi", "beq", "cmpwi", "bne+", "b", "cmpwi", "beq", "cmpwi", "bne+", "b", "cmpwi", "beq", "cmplwi", "bgt", "cmpwi", "beq", "cmpwi", "bne+", "b", "cmpwi", "beq", "cmpwi", "bne+", "b", "andi.", "bne", "b", "stb", "addi", "b", "addic.", "mr", "bge+", "li", "addic.", "addi", "bne", "lbz", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "lwz", "mr", "stb", "addic.", "bge+", "li", "b", "stb", "addic.", "addi", "mr", "bne", "b", "lbz", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "lwz", "cmpwi", "bne+", "addi", "mr", "mr", "stw", "stw", "bl", "lwz", "lwz", "andi.", "bne", "b", "stb", "addi", "b", "cmpw", "subf", "addi", "bgt", "xoris", "cmpwi", "bne", "li", "addic.", "addi", "bne", "cmpwi", "li", "addi", "bge+", "li", "b", "lbzx", "stbx", "addi", "addic.", "bne", "cmpw", "not", "srawi", "subf", "and", "add", "addi", "bgt", "xoris", "cmpwi", "bne", "li", "b", "stb", "addi", "addic.", "bne", "b", "cmpwi", "bne+", "ori", "li", "lbz", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "mr", "lwz", "li", "b", "lbz", "clrlwi", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "lwz", "subf", "stw", "b", "stb", "addi", "b", "li", "b", "ori", "b", "ori", "b", "stb", "lbz", "cmpwi", "beq", "stb", "addi", "b", "addi", "addi", "b", "li", "b", "li", "cmpwi", "lbz", "clrlwi", "beq", "cmpwi", "bne+", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "andi.", "lhz", "beq", "extsh", "b", "cmplwi", "bge", "lwz", "slwi", "addi", "add", "stb", "b", "lwz", "addi", "stw", "lwz", "mr", "bl", "mr", "addi", "lbz", "cmpwi", "bne", "stb", "addi", "subf", "b", "bclr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r24, 0x30+var_20(r1)
  mr        r29, r3
  stw       r0, 0x30+sender_lr(r1)
  mr        r31, r5
  mr        r25, r3
  li        r26, 0x25 # '%'
  li        r28, 0x20 # ' '
  lis       r27, aNull@ha
  b         loc_4BC14
  loc_4b660:
  cmpwi     cr7, r0, 0x25
  beq       cr7, loc_4B680
  loc_4b668:
  stb       r0, 0(r25)
  mr        r30, r4
  addi      r25, r25, 1
  b         loc_4BC10
  loc_4b678:
  mr        r4, r30
  b         loc_4B684
  loc_4b680:
  li        r8, 0
  loc_4b684:
  lbz       r9, 1(r4)
  addi      r30, r4, 1
  cmpwi     cr7, r9, 0x2B
  beq       cr7, loc_4B6CC
  loc_4b694:
  cmplwi    cr7, r9, 0x2B
  bgt       cr7, loc_4B6B0
  loc_4b69c:
  cmpwi     cr7, r9, 0x20
  beq       cr7, loc_4B6D4
  loc_4b6a4:
  cmpwi     cr7, r9, 0x23
  bne+      cr7, loc_4B6EC
  loc_4b6ac:
  b         loc_4B6DC
  loc_4b6b0:
  cmpwi     cr7, r9, 0x2D
  beq       cr7, loc_4B6C4
  loc_4b6b8:
  cmpwi     cr7, r9, 0x30
  bne+      cr7, loc_4B6EC
  loc_4b6c0:
  b         loc_4B6E4
  loc_4b6c4:
  ori       r8, r8, 0x10
  b         loc_4B678
  loc_4b6cc:
  ori       r8, r8, 4
  b         loc_4B678
  loc_4b6d4:
  ori       r8, r8, 8
  b         loc_4B678
  loc_4b6dc:
  ori       r8, r8, 0x20
  b         loc_4B678
  loc_4b6e4:
  ori       r8, r8, 1
  b         loc_4B678
  loc_4b6ec:
  addi      r0, r9, -0x30
  li        r6, 0
  clrlwi    r0, r0, 24
  cmplwi    cr7, r0, 9
  ble       cr7, loc_4B714
  loc_4b700:
  b         loc_4B72C
  loc_4b704:
  mulli     r6, r6, 0xA
  addi      r30, r30, 1
  add       r6, r6, r9
  addi      r6, r6, -0x30
  loc_4b714:
  lbz       r9, 0(r30)
  addi      r0, r9, -0x30
  clrlwi    r0, r0, 24
  cmplwi    cr7, r0, 9
  ble       cr7, loc_4B704
  loc_4b728:
  b         loc_4B780
  loc_4b72c:
  cmpwi     cr7, r9, 0x2A
  li        r6, -1
  bne+      cr7, loc_4B780
  loc_4b738:
  lbz       r11, 0(r31)
  addi      r30, r4, 2
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4B760
  loc_4b748:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4B76C
  loc_4b760:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4b76c:
  lwz       r6, 0(r9)
  cmpwi     cr7, r6, 0
  bge+      cr7, loc_4B780
  loc_4b778:
  neg       r6, r6# size
  ori       r8, r8, 0x10# type
  loc_4b780:
  lbz       r0, 0(r30)
  li        r7, -1
  cmpwi     cr7, r0, 0x2E
  bne+      cr7, loc_4B838
  loc_4b790:
  lbz       r9, 1(r30)
  addi      r0, r30, 1
  addi      r11, r9, -0x30
  clrlwi    r11, r11, 24
  cmplwi    cr7, r11, 9
  ble       cr7, loc_4B7C0
  loc_4b7a8:
  b         loc_4B7E0
  loc_4b7ac:
  mulli     r7, r7, 0xA
  addi      r30, r30, 1
  add       r7, r7, r9
  addi      r7, r7, -0x30
  b         loc_4B7C8
  loc_4b7c0:
  mr        r30, r0
  li        r7, 0
  loc_4b7c8:
  lbz       r9, 0(r30)
  addi      r0, r9, -0x30
  clrlwi    r0, r0, 24
  cmplwi    cr7, r0, 9
  ble       cr7, loc_4B7AC
  loc_4b7dc:
  b         loc_4B838
  loc_4b7e0:
  cmpwi     cr7, r9, 0x2A
  bne+      cr7, loc_4B830
  loc_4b7e8:
  lbz       r11, 0(r31)
  addi      r30, r30, 2
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4B810
  loc_4b7f8:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4B81C
  loc_4b810:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4b81c:
  lwz       r7, 0(r9)
  not       r0, r7
  srawi     r0, r0, 0x1F
  and       r7, r7, r0
  b         loc_4B838
  loc_4b830:
  mr        r30, r0
  li        r7, 0# precision
  loc_4b838:
  lbz       r0, 0(r30)
  cmpwi     cr7, r0, 0x68
  beq       cr7, loc_4B858
  loc_4b844:
  cmpwi     cr7, r0, 0x6C
  beq       cr7, loc_4B858
  loc_4b84c:
  cmpwi     cr7, r0, 0x4C
  li        r9, -1
  bne+      cr7, loc_4B860
  loc_4b858:
  mr        r9, r0
  addi      r30, r30, 1
  loc_4b860:
  lbz       r0, 0(r30)
  cmpwi     cr7, r0, 0x6E
  beq       cr7, loc_4BAE0
  loc_4b86c:
  cmplwi    cr7, r0, 0x6E
  bgt       cr7, loc_4B8AC
  loc_4b874:
  cmpwi     cr7, r0, 0x63
  beq       cr7, loc_4B8E4
  loc_4b87c:
  cmplwi    cr7, r0, 0x63
  bgt       cr7, loc_4B898
  loc_4b884:
  cmpwi     cr7, r0, 0x25
  beq       cr7, loc_4BB24
  loc_4b88c:
  cmpwi     cr7, r0, 0x58
  bne+      cr7, loc_4BB48
  loc_4b894:
  b         loc_4BB38
  loc_4b898:
  cmpwi     cr7, r0, 0x64
  beq       cr7, loc_4BB40
  loc_4b8a0:
  cmpwi     cr7, r0, 0x69
  bne+      cr7, loc_4BB48
  loc_4b8a8:
  b         loc_4BB40
  loc_4b8ac:
  cmpwi     cr7, r0, 0x73
  beq       cr7, loc_4B97C
  loc_4b8b4:
  cmplwi    cr7, r0, 0x73
  bgt       cr7, loc_4B8D0
  loc_4b8bc:
  cmpwi     cr7, r0, 0x6F
  beq       cr7, loc_4BB30
  loc_4b8c4:
  cmpwi     cr7, r0, 0x70
  bne+      cr7, loc_4BB48
  loc_4b8cc:
  b         loc_4BA90
  loc_4b8d0:
  cmpwi     cr7, r0, 0x75
  beq       cr7, loc_4BB70
  loc_4b8d8:
  cmpwi     cr7, r0, 0x78
  bne+      cr7, loc_4BB48
  loc_4b8e0:
  b         loc_4BB78
  loc_4b8e4:
  andi.     r0, r8, 0x10
  bne       loc_4B918
  loc_4b8ec:
  b         loc_4B8FC
  loc_4b8f0:
  stb       r28, 0(r25)
  addi      r25, r25, 1
  b         loc_4B90C
  loc_4b8fc:
  addic.    r9, r6, -1
  mr        r0, r6
  bge+      loc_4B90C
  loc_4b908:
  li        r0, 1
  loc_4b90c:
  addic.    r0, r0, -1
  addi      r6, r6, -1
  bne       loc_4B8F0
  loc_4b918:
  lbz       r11, 0(r31)
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4B93C
  loc_4b924:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4B948
  loc_4b93c:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4b948:
  lwz       r0, 0(r9)
  mr        r9, r25
  stb       r0, 0(r25)
  addic.    r0, r6, -1
  bge+      loc_4B968
  loc_4b95c:
  li        r6, 1
  b         loc_4B968
  loc_4b964:
  stb       r28, 0(r9)
  loc_4b968:
  addic.    r6, r6, -1
  addi      r9, r9, 1
  mr        r25, r9
  bne       loc_4B964
  loc_4b978:
  b         loc_4BC10
  loc_4b97c:
  lbz       r11, 0(r31)
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4B9A0
  loc_4b988:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4B9AC
  loc_4b9a0:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4b9ac:
  lwz       r24, 0(r9)
  cmpwi     cr7, r24, 0
  bne+      cr7, loc_4B9BC
  loc_4b9b8:
  addi      r24, r27, aNull@l# "<NULL>"
  loc_4b9bc:
  mr        r3, r24
  mr        r4, r7
  stw       r6, 0x30+var_24(r1)
  stw       r8, 0x30+var_28(r1)
  bl        strnlen
  lwz       r8, 0x30+var_28(r1)
  lwz       r6, 0x30+var_24(r1)
  andi.     r0, r8, 0x10
  bne       loc_4BA1C
  loc_4b9e0:
  b         loc_4B9F0
  loc_4b9e4:
  stb       r28, 0(r25)
  addi      r25, r25, 1
  b         loc_4BA10
  loc_4b9f0:
  cmpw      cr7, r3, r6
  subf      r9, r3, r6
  addi      r0, r9, 1
  bgt       cr7, loc_4BA0C
  loc_4ba00:
  xoris     r9, r3, 0x8000
  cmpwi     cr7, r9, -1
  bne       cr7, loc_4BA10
  loc_4ba0c:
  li        r0, 1
  loc_4ba10:
  addic.    r0, r0, -1
  addi      r6, r6, -1
  bne       loc_4B9E4
  loc_4ba1c:
  cmpwi     cr7, r3, 0
  li        r9, 0
  addi      r0, r3, 1
  bge+      cr7, loc_4BA40
  loc_4ba2c:
  li        r0, 1
  b         loc_4BA40
  loc_4ba34:
  lbzx      r11, r24, r9
  stbx      r11, r25, r9
  addi      r9, r9, 1
  loc_4ba40:
  addic.    r0, r0, -1
  bne       loc_4BA34
  loc_4ba48:
  cmpw      cr7, r3, r6
  not       r0, r3
  srawi     r0, r0, 0x1F
  subf      r9, r3, r6
  and       r0, r3, r0
  add       r25, r25, r0
  addi      r0, r9, 1
  bgt       cr7, loc_4BA74
  loc_4ba68:
  xoris     r9, r3, 0x8000
  cmpwi     cr7, r9, -1
  bne       cr7, loc_4BA84
  loc_4ba74:
  li        r0, 1
  b         loc_4BA84
  loc_4ba7c:
  stb       r28, 0(r25)
  addi      r25, r25, 1
  loc_4ba84:
  addic.    r0, r0, -1
  bne       loc_4BA7C
  loc_4ba8c:
  b         loc_4BC10
  loc_4ba90:
  cmpwi     cr7, r6, -1
  bne+      cr7, loc_4BAA0
  loc_4ba98:
  ori       r8, r8, 1
  li        r6, 8
  loc_4baa0:
  lbz       r11, 0(r31)
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4BAC4
  loc_4baac:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4BAD0
  loc_4bac4:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4bad0:
  mr        r3, r25
  lwz       r4, 0(r9)
  li        r5, 0x10
  b         loc_4BC08
  loc_4bae0:
  lbz       r11, 0(r31)
  clrlwi    r11, r11, 24
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4BB08
  loc_4baf0:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4BB14
  loc_4bb08:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4bb14:
  lwz       r9, 0(r9)
  subf      r0, r29, r25
  stw       r0, 0(r9)
  b         loc_4BC10
  loc_4bb24:
  stb       r0, 0(r25)
  addi      r25, r25, 1
  b         loc_4BC10
  loc_4bb30:
  li        r5, 8
  b         loc_4BB7C
  loc_4bb38:
  ori       r8, r8, 0x40
  b         loc_4BB78
  loc_4bb40:
  ori       r8, r8, 2
  b         loc_4BB70
  loc_4bb48:
  stb       r26, 0(r25)
  lbz       r0, 0(r30)
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4BB64
  loc_4bb58:
  stb       r0, 1(r25)
  addi      r25, r25, 2
  b         loc_4BC10
  loc_4bb64:
  addi      r25, r25, 1
  addi      r30, r30, -1
  b         loc_4BC10
  loc_4bb70:
  li        r5, 0xA
  b         loc_4BB7C
  loc_4bb78:
  li        r5, 0x10# base
  loc_4bb7c:
  cmpwi     cr7, r9, 0x6C
  lbz       r0, 0(r31)
  clrlwi    r11, r0, 24
  beq       cr7, loc_4BBD4
  loc_4bb8c:
  cmpwi     cr7, r9, 0x68
  bne+      cr7, loc_4BBD4
  loc_4bb94:
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4BBB4
  loc_4bb9c:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4BBC0
  loc_4bbb4:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4bbc0:
  andi.     r0, r8, 2
  lhz       r4, 2(r9)
  beq       loc_4BC04
  loc_4bbcc:
  extsh     r4, r4
  b         loc_4BC04
  loc_4bbd4:
  cmplwi    cr7, r11, 8
  bge       cr7, loc_4BBF4
  loc_4bbdc:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         loc_4BC00
  loc_4bbf4:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  loc_4bc00:
  lwz       r4, 0(r9)# num
  loc_4bc04:
  mr        r3, r25# str
  loc_4bc08:
  bl        number
  mr        r25, r3
  loc_4bc10:
  addi      r4, r30, 1
  loc_4bc14:
  lbz       r0, 0(r4)
  cmpwi     cr7, r0, 0
  bne       cr7, loc_4B660
  loc_4bc20:
  stb       r0, 0(r25)
  addi      r11, r1, 0x30+pre_back_chain
  subf      r3, r29, r25
  b         _restgpr_24_x
  loc_15e3e4:
  .extern _restgpr_24_x

tarjan_topological_sort:
  [[0], [133, 1, 2, 132, 4, 5, 6, 7, 8, 9, 16, 3, 18, 19, 23, 24, 25, 27, 28, 29, 30, 31, 36, 37, 38, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 112, 118, 119, 120, 121, 122, 124, 125, 130, 131, 123, 126, 127, 129, 128, 114, 115, 116, 110, 53, 54, 55, 113, 117, 64, 65, 67, 68, 69, 66, 70, 71, 73, 74, 76, 75, 77, 72, 56, 57, 58, 59, 60, 100, 101, 102, 103, 105, 104, 111, 61, 62, 63, 78, 79, 81, 82, 83, 84, 86, 87, 88, 89, 85, 90, 91, 93, 92, 94, 95, 96, 98, 97, 99, 80, 106, 107, 109, 108, 39, 41, 33, 34, 32, 35, 26, 21, 20, 22, 15, 10, 11, 12, 17, 13, 14], [134], [135]]

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r24, 0x30+var_20(r1)
  mr        r29, r3
  stw       r0, 0x30+sender_lr(r1)
  mr        r31, r5
  mr        r25, r3
  li        r26, 0x25
  li        r28, 0x20
  lis       r27, aNull@ha
  b         XXXX
  XXXX:
  cmpwi     cr7, r0, 0x25
  beq       cr7, XXXX
  XXXX:
  stb       r0, 0(r25)
  mr        r30, r4
  addi      r25, r25, 1
  b         XXXX
  XXXX:
  mr        r4, r30
  b         XXXX
  XXXX:
  li        r8, 0
  XXXX:
  lbz       r9, 1(r4)
  addi      r30, r4, 1
  cmpwi     cr7, r9, 0x2B
  beq       cr7, XXXX
  XXXX:
  cmplwi    cr7, r9, 0x2B
  bgt       cr7, XXXX
  XXXX:
  cmpwi     cr7, r9, 0x20
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r9, 0x23
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  cmpwi     cr7, r9, 0x2D
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r9, 0x30
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  ori       r8, r8, 0x10
  b         XXXX
  XXXX:
  ori       r8, r8, 4
  b         XXXX
  XXXX:
  ori       r8, r8, 8
  b         XXXX
  XXXX:
  ori       r8, r8, 0x20
  b         XXXX
  XXXX:
  ori       r8, r8, 1
  b         XXXX
  XXXX:
  addi      r0, r9, -0x30
  li        r6, 0
  clrlwi    r0, r0, 24
  cmplwi    cr7, r0, 9
  ble       cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  mulli     r6, r6, 0xA
  addi      r30, r30, 1
  add       r6, r6, r9
  addi      r6, r6, -0x30
  XXXX:
  lbz       r9, 0(r30)
  addi      r0, r9, -0x30
  clrlwi    r0, r0, 24
  cmplwi    cr7, r0, 9
  ble       cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  cmpwi     cr7, r9, 0x2A
  li        r6, -1
  bne+      cr7, XXXX
  XXXX:
  lbz       r11, 0(r31)
  addi      r30, r4, 2
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  lwz       r6, 0(r9)
  cmpwi     cr7, r6, 0
  bge+      cr7, XXXX
  XXXX:
  neg       r6, r6# size
  ori       r8, r8, 0x10# type
  XXXX:
  lbz       r0, 0(r30)
  li        r7, -1
  cmpwi     cr7, r0, 0x2E
  bne+      cr7, XXXX
  XXXX:
  lbz       r9, 1(r30)
  addi      r0, r30, 1
  addi      r11, r9, -0x30
  clrlwi    r11, r11, 24
  cmplwi    cr7, r11, 9
  ble       cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  mulli     r7, r7, 0xA
  addi      r30, r30, 1
  add       r7, r7, r9
  addi      r7, r7, -0x30
  b         XXXX
  XXXX:
  mr        r30, r0
  li        r7, 0
  XXXX:
  lbz       r9, 0(r30)
  addi      r0, r9, -0x30
  clrlwi    r0, r0, 24
  cmplwi    cr7, r0, 9
  ble       cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  cmpwi     cr7, r9, 0x2A
  bne+      cr7, XXXX
  XXXX:
  lbz       r11, 0(r31)
  addi      r30, r30, 2
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  lwz       r7, 0(r9)
  not       r0, r7
  srawi     r0, r0, 0x1F
  and       r7, r7, r0
  b         XXXX
  XXXX:
  mr        r30, r0
  li        r7, 0# precision
  XXXX:
  lbz       r0, 0(r30)
  cmpwi     cr7, r0, 0x68
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x6C
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x4C
  li        r9, -1
  bne+      cr7, XXXX
  XXXX:
  mr        r9, r0
  addi      r30, r30, 1
  XXXX:
  lbz       r0, 0(r30)
  cmpwi     cr7, r0, 0x6E
  beq       cr7, XXXX
  XXXX:
  cmplwi    cr7, r0, 0x6E
  bgt       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x63
  beq       cr7, XXXX
  XXXX:
  cmplwi    cr7, r0, 0x63
  bgt       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x25
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x58
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  cmpwi     cr7, r0, 0x64
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x69
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  cmpwi     cr7, r0, 0x73
  beq       cr7, XXXX
  XXXX:
  cmplwi    cr7, r0, 0x73
  bgt       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x6F
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x70
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  cmpwi     cr7, r0, 0x75
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r0, 0x78
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  andi.     r0, r8, 0x10
  bne       XXXX
  XXXX:
  b         XXXX
  XXXX:
  stb       r28, 0(r25)
  addi      r25, r25, 1
  b         XXXX
  XXXX:
  addic.    r9, r6, -1
  mr        r0, r6
  bge+      XXXX
  XXXX:
  li        r0, 1
  XXXX:
  addic.    r0, r0, -1
  addi      r6, r6, -1
  bne       XXXX
  XXXX:
  lbz       r11, 0(r31)
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  lwz       r0, 0(r9)
  mr        r9, r25
  stb       r0, 0(r25)
  addic.    r0, r6, -1
  bge+      XXXX
  XXXX:
  li        r6, 1
  b         XXXX
  XXXX:
  stb       r28, 0(r9)
  XXXX:
  addic.    r6, r6, -1
  addi      r9, r9, 1
  mr        r25, r9
  bne       XXXX
  XXXX:
  b         XXXX
  XXXX:
  lbz       r11, 0(r31)
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  lwz       r24, 0(r9)
  cmpwi     cr7, r24, 0
  bne+      cr7, XXXX
  XXXX:
  addi      r24, r27, aNull@l# "<NULL>"
  XXXX:
  mr        r3, r24
  mr        r4, r7
  stw       r6, 0x30+var_24(r1)
  stw       r8, 0x30+var_28(r1)
  bl        strnlen
  lwz       r8, 0x30+var_28(r1)
  lwz       r6, 0x30+var_24(r1)
  andi.     r0, r8, 0x10
  bne       XXXX
  XXXX:
  b         XXXX
  XXXX:
  stb       r28, 0(r25)
  addi      r25, r25, 1
  b         XXXX
  XXXX:
  cmpw      cr7, r3, r6
  subf      r9, r3, r6
  addi      r0, r9, 1
  bgt       cr7, XXXX
  XXXX:
  xoris     r9, r3, 0x8000
  cmpwi     cr7, r9, -1
  bne       cr7, XXXX
  XXXX:
  li        r0, 1
  XXXX:
  addic.    r0, r0, -1
  addi      r6, r6, -1
  bne       XXXX
  XXXX:
  cmpwi     cr7, r3, 0
  li        r9, 0
  addi      r0, r3, 1
  bge+      cr7, XXXX
  XXXX:
  li        r0, 1
  b         XXXX
  XXXX:
  lbzx      r11, r24, r9
  stbx      r11, r25, r9
  addi      r9, r9, 1
  XXXX:
  addic.    r0, r0, -1
  bne       XXXX
  XXXX:
  cmpw      cr7, r3, r6
  not       r0, r3
  srawi     r0, r0, 0x1F
  subf      r9, r3, r6
  and       r0, r3, r0
  add       r25, r25, r0
  addi      r0, r9, 1
  bgt       cr7, XXXX
  XXXX:
  xoris     r9, r3, 0x8000
  cmpwi     cr7, r9, -1
  bne       cr7, XXXX
  XXXX:
  li        r0, 1
  b         XXXX
  XXXX:
  stb       r28, 0(r25)
  addi      r25, r25, 1
  XXXX:
  addic.    r0, r0, -1
  bne       XXXX
  XXXX:
  b         XXXX
  XXXX:
  cmpwi     cr7, r6, -1
  bne+      cr7, XXXX
  XXXX:
  ori       r8, r8, 1
  li        r6, 8
  XXXX:
  lbz       r11, 0(r31)
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  mr        r3, r25
  lwz       r4, 0(r9)
  li        r5, 0x10
  b         XXXX
  XXXX:
  lbz       r11, 0(r31)
  clrlwi    r11, r11, 24
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  lwz       r9, 0(r9)
  subf      r0, r29, r25
  stw       r0, 0(r9)
  b         XXXX
  XXXX:
  stb       r0, 0(r25)
  addi      r25, r25, 1
  b         XXXX
  XXXX:
  li        r5, 8
  b         XXXX
  XXXX:
  ori       r8, r8, 0x40
  b         XXXX
  XXXX:
  ori       r8, r8, 2
  b         XXXX
  XXXX:
  stb       r26, 0(r25)
  lbz       r0, 0(r30)
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  stb       r0, 1(r25)
  addi      r25, r25, 2
  b         XXXX
  XXXX:
  addi      r25, r25, 1
  addi      r30, r30, -1
  b         XXXX
  XXXX:
  li        r5, 0xA
  b         XXXX
  XXXX:
  li        r5, 0x10# base
  XXXX:
  cmpwi     cr7, r9, 0x6C
  lbz       r0, 0(r31)
  clrlwi    r11, r0, 24
  beq       cr7, XXXX
  XXXX:
  cmpwi     cr7, r9, 0x68
  bne+      cr7, XXXX
  XXXX:
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  andi.     r0, r8, 2
  lhz       r4, 2(r9)
  beq       XXXX
  XXXX:
  extsh     r4, r4
  b         XXXX
  XXXX:
  cmplwi    cr7, r11, 8
  bge       cr7, XXXX
  XXXX:
  lwz       r9, 8(r31)
  slwi      r0, r11, 2
  addi      r11, r11, 1
  add       r9, r9, r0
  stb       r11, 0(r31)
  b         XXXX
  XXXX:
  lwz       r9, 4(r31)
  addi      r0, r9, 4
  stw       r0, 4(r31)
  XXXX:
  lwz       r4, 0(r9)# num
  XXXX:
  mr        r3, r25# str
  XXXX:
  bl        number
  mr        r25, r3
  XXXX:
  addi      r4, r30, 1
  XXXX:
  lbz       r0, 0(r4)
  cmpwi     cr7, r0, 0
  bne       cr7, XXXX
  XXXX:
  stb       r0, 0(r25)
  addi      r11, r1, 0x30+pre_back_chain
  subf      r3, r29, r25
  b         _restgpr_24_x
  XXXX:
  .extern _restgpr_24_x

mnemonics_spp:
  85973266848915577668380433056948468942913875760762735358459150029398391588751960786556307996778420528926217064759712708253726603137713863189098047839546881659622635286812447367333219853080223157706705284600560960707331478240089570334026505995873505020005884369615153047625246065279855186791518952166743084817964642836320445718488994757712807942776908257505273031732281238751643005951476942010045343387154912257488098708077401101954510022357197110469779392508589209252693965158678097590243559015496150423911114850362704440574181510530988266090209974259787125793781887731928089646413654520744429042908048704905762035617516665959573843529291585552897617117278488189316838766176672839849279950456898919635833444287439713774048637046621423629449537575021604413277017368267532800994452783639006536828539866169280433518808610857273823225902415998193907878304124813016371489334929804415764260605984297086856826877489713200668611027203734223221490235220461158556543944876260670102835040750254612256413708335088397


name: kprintf
address: 310320
names: ["_savegpr_31", "__argv_0", "kvsprintf", "startup", "write", "_restgpr_31_x", "_start"]
prototype: int(__int16)
primes_value: 5
mangled_function: kprintf
bytes_hash: 2f552884934280a894e022fa212a4289
prototype2: void(const unsigned __int8 *str, ...)
rva: 310320
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
switches: []
function_hash: 238e0957be83e42eb83edff88c989adc
md_index: 1.288678829894477420686681368
constants: [4294958800]
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "stw", "bl", "stw", "stw", "stw", "stw", "stw", "stw", "stw", "bne", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "stfd", "li", "lis", "stb", "li", "stb", "addi", "addi", "mr", "stw", "addi", "addi", "mr", "stw", "bl", "mr", "mr", "li", "bl", "addi", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  stw       r0, 0x80+sender_lr(r1)
  bl        _savegpr_31
  stw       r4, 0x80+var_64(r1)
  stw       r5, 0x80+var_60(r1)
  stw       r6, 0x80+var_5C(r1)
  stw       r7, 0x80+var_58(r1)
  stw       r8, 0x80+var_54(r1)
  stw       r9, 0x80+var_50(r1)
  stw       r10, 0x80+var_4C(r1)
  bne       cr1, loc_4BC84
  loc_4bc64:
  stfd      f1, 0x80+var_48(r1)
  stfd      f2, 0x80+var_40(r1)
  stfd      f3, 0x80+var_38(r1)
  stfd      f4, 0x80+var_30(r1)
  stfd      f5, 0x80+var_28(r1)
  stfd      f6, 0x80+var_20(r1)
  stfd      f7, 0x80+var_18(r1)
  stfd      f8, 0x80+var_10(r1)
  loc_4bc84:
  li        r0, 1
  lis       r31, __outstr@ha
  stb       r0, 0x80+args(r1)
  li        r0, 0
  stb       r0, 0x80+args.fpr(r1)
  addi      r31, r31, __outstr@l
  addi      r0, r1, 0x80+arg_8
  mr        r4, r3# fmt
  stw       r0, 0x80+args.overflow_arg_area(r1)
  addi      r5, r1, 0x80+args# args
  addi      r0, r1, 0x80+var_68
  mr        r3, r31# buf
  stw       r0, 0x80+args.reg_save_area(r1)
  bl        kvsprintf
  mr        r5, r3# n
  mr        r4, r31# buf
  li        r3, 2# fd
  bl        write
  addi      r11, r1, 0x80+pre_back_chain
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  stw       r0, 0x80+sender_lr(r1)
  bl        _saXXX
  stw       r4, 0x80+var_64(r1)
  stw       r5, 0x80+var_60(r1)
  stw       r6, 0x80+var_5C(r1)
  stw       r7, 0x80+var_58(r1)
  stw       r8, 0x80+var_54(r1)
  stw       r9, 0x80+var_50(r1)
  stw       r10, 0x80+var_4C(r1)
  bne       cr1, XXXX
  XXXX:
  stfd      f1, 0x80+var_48(r1)
  stfd      f2, 0x80+var_40(r1)
  stfd      f3, 0x80+var_38(r1)
  stfd      f4, 0x80+var_30(r1)
  stfd      f5, 0x80+var_28(r1)
  stfd      f6, 0x80+var_20(r1)
  stfd      f7, 0x80+var_18(r1)
  stfd      f8, 0x80+var_10(r1)
  XXXX:
  li        r0, 1
  lis       r31, __outstr@ha
  stb       r0, 0x80+args(r1)
  li        r0, 0
  stb       r0, 0x80+args.fpr(r1)
  addi      r31, r31, __outstr@l
  addi      r0, r1, 0x80+aXXX
  mr        r4, r3# fmt
  stw       r0, 0x80+args.overflow_arg_area(r1)
  addi      r5, r1, 0x80+args# args
  addi      r0, r1, 0x80+var_68
  mr        r3, r31# buf
  stw       r0, 0x80+args.reg_save_area(r1)
  bl        kvsprintf
  mr        r5, r3# n
  mr        r4, r31# buf
  li        r3, 2# fd
  bl        write
  addi      r11, r1, 0x80+pre_back_chain
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x

mnemonics_spp:
  1408926089037505710949592971292826412761083547321200412099659339765181588771140126959204976186894489928119310117808647145551621392190704782969


name: __STM_SetEventHook
address: 310484
names: ["_restgpr_30_x", "_start", "startup", "__argv_0", "IOS_IoctlAsync"]
prototype: int()
primes_value: 7
mangled_function: __STM_SetEventHook
bytes_hash: 59a57a9149108953dc006318a007e44a
prototype2: s32()
rva: 310484
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
switches: []
function_hash: 097f3b51f709683a260ffef48189ada3
md_index: 1.703287923549910974286694706
constants: [4294958848, 4294948768, 4294948800]
segment_rva: 104
mnemonics:
  ["mflr", "stwu", "li", "stmw", "stw", "lwz", "cmpwi", "beq", "li", "stw", "mr", "mr", "mfmsr", "rlwinm", "mtmsr", "extrwi", "lwz", "mr", "lis", "lis", "lis", "li", "addi", "li", "addi", "li", "addi", "li", "bl", "not", "srwi", "stw", "cmpwi", "beq", "mfmsr", "ori", "mtmsr", "addi", "b", "bclr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r3, -0x2100
  stmw      r30, 0x10+var_8(r1)
  stw       r0, 0x10+sender_lr(r1)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4BD68
  loc_4bcf4:
  li        r30, 0
  stw       r30, __stm_ehclear-0x140000# Relocation out of range
  mr        r9, r30
  mr        r0, r30
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  lwz       r3, __stm_eh_fd-0x80000# Relocation out of range
  mr        r31, r9
  lis       r5, __stm_ehbufin@ha
  lis       r7, __stm_ehbufout@ha
  lis       r9, __STMEventHandler_0@ha
  li        r4, 0x1000# ioctl
  addi      r5, r5, __stm_ehbufin@l# buffer_in
  li        r6, 0x20 # ' '# len_in
  addi      r7, r7, __stm_ehbufout@l# buffer_io
  li        r8, 0x20 # ' '# len_io
  addi      r9, r9, __STMEventHandler_0@l# ipc_cb
  li        r10, 0# usrdata
  bl        IOS_IoctlAsync
  not       r0, r3
  srwi      r0, r0, 31
  stw       r0, __stm_ehregistered-0x140000# Relocation out of range
  cmpwi     r31, 0
  beq       loc_4BD68
  loc_4bd5c:
  mfmsr     r30
  ori       r30, r30, 0x8000
  mtmsr     r30
  loc_4bd68:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_30_x
  loc_15e33c:
  .extern _restgpr_30_x

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r3, -0x2100
  stmw      r30, 0x10+var_8(r1)
  stw       r0, 0x10+sender_lr(r1)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  li        r30, 0
  stw       r30, __stm_ehclear-0x140000# Relocation out of range
  mr        r9, r30
  mr        r0, r30
  mfmsr     r9
  rlwinm    r0, r9, 0,17,15
  mtmsr     r0
  extrwi    r9, r9, 1,16
  lwz       r3, __stm_eh_fd-0x80000# Relocation out of range
  mr        r31, r9
  lis       r5, __stm_ehbufin@ha
  lis       r7, __stm_ehbufout@ha
  lis       r9, __STMEventHaXXX@ha
  li        r4, 0x1000# ioctl
  addi      r5, r5, __stm_ehbufin@l# buffer_in
  li        r6, 0x20
  addi      r7, r7, __stm_ehbufout@l# buffer_io
  li        r8, 0x20
  addi      r9, r9, __STMEventHaXXX@l# ipc_cb
  li        r10, 0# usrdata
  bl        IOS_IoctlAsync
  not       r0, r3
  srwi      r0, r0, 31
  stw       r0, __stm_ehregistered-0x140000# Relocation out of range
  cmpwi     r31, 0
  beq       XXXX
  XXXX:
  mfmsr     r30
  ori       r30, r30, 0x8000
  mtmsr     r30
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_30_x
  XXXX:
  .extern _restgpr_30_x

mnemonics_spp:
  439118717102463816781615496749690871681688451380071136625776839997291251384400689983107074788118094634000126299228379191441814097877718229


name: __STM_Init
address: 310640
names: ["_savegpr_31", "__argv_0", "_restgpr_31_x", "IOS_Open", "_start", "__STM_SetEventHook"]
prototype: int()
primes_value: 11
mangled_function: __STM_Init
bytes_hash: c83567bf681df286543ed62498b2e6dc
prototype2: s32()
rva: 310640
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5]]
strongly_connected_spp: 1
switches: []
function_hash: d38270078bc542064fb749e805ee1c1d
md_index: 2.104402582330224185489335109
constants: [4294948320, 4294948352]
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "stw", "bl", "lwz", "li", "cmpwi", "beq", "lis", "li", "addi", "li", "stw", "bl", "cmpwi", "stw", "li", "blt", "lis", "li", "addi", "bl", "cmpwi", "stw", "blt", "li", "li", "stw", "bl", "addi", "mr", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  stw       r0, 0x10+sender_lr(r1)
  bl        _savegpr_31
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  li        r31, 1
  cmpwi     cr7, r0, 1
  beq       cr7, loc_4BDE8
  loc_4bd94:
  lis       r3, __stm_imm_fs@ha
  li        r0, 0
  addi      r3, r3, __stm_imm_fs@l# filepath
  li        r4, 0# mode
  stw       r0, __stm_vdinuse-0x140000# Relocation out of range
  bl        IOS_Open
  cmpwi     cr7, r3, 0
  stw       r3, __stm_imm_fd-0x80000# Relocation out of range
  li        r31, 0
  blt       cr7, loc_4BDE8
  loc_4bdbc:
  lis       r3, __stm_eh_fs@ha
  li        r4, 0# mode
  addi      r3, r3, __stm_eh_fs@l# filepath
  bl        IOS_Open
  cmpwi     cr7, r3, 0
  stw       r3, __stm_eh_fd-0x80000# Relocation out of range
  blt       cr7, loc_4BDE8
  loc_4bdd8:
  li        r0, 1
  li        r31, 1
  stw       r0, __stm_initialized-0x140000# Relocation out of range
  bl        __STM_SetEventHook
  loc_4bde8:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r31
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  stw       r0, 0x10+sender_lr(r1)
  bl        _saXXX
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  li        r31, 1
  cmpwi     cr7, r0, 1
  beq       cr7, XXXX
  XXXX:
  lis       r3, __stm_imm_fs@ha
  li        r0, 0
  addi      r3, r3, __stm_imm_fs@l# filepath
  li        r4, 0# mode
  stw       r0, __stm_vdinuse-0x140000# Relocation out of range
  bl        IOS_Open
  cmpwi     cr7, r3, 0
  stw       r3, __stm_imm_fd-0x80000# Relocation out of range
  li        r31, 0
  blt       cr7, XXXX
  XXXX:
  lis       r3, __stm_eh_fs@ha
  li        r4, 0# mode
  addi      r3, r3, __stm_eh_fs@l# filepath
  bl        IOS_Open
  cmpwi     cr7, r3, 0
  stw       r3, __stm_eh_fd-0x80000# Relocation out of range
  blt       cr7, XXXX
  XXXX:
  li        r0, 1
  li        r31, 1
  stw       r0, __stm_initialized-0x140000# Relocation out of range
  bl        __STM_SetEventHook
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r31
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x

mnemonics_spp:
  22460767970176492913006716349966541927813667425205451228077445779086758856086012232299272762046013619


name: __STM_ReleaseEventHook
address: 310772
names: ["IOS_Ioctl", "_start", "startup"]
prototype: int()
primes_value: 11
mangled_function: __STM_ReleaseEventHook
bytes_hash: 42bf014a92cbcd827416bde22bf23980
prototype2: s32()
rva: 310772
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
mnemonics_spp: 1577341954703368071295249233154500009208164276214857591313497801926427068928656379794982340846327
switches: []
function_hash: 5edc6fb8e82bb4c82b6c03f03aafc249
md_index: 1.918794441963374151719058302
constants: [4294958848, 4294958847, 4294948864, 4294948928]
segment_rva: 116
mnemonics:
  ["mflr", "stwu", "li", "stw", "lwz", "cmpwi", "beq", "lwz", "li", "cmpwi", "beq", "lwz", "lis", "lis", "li", "li", "addi", "li", "addi", "li", "stw", "bl", "cmpwi", "blt", "li", "stw", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r3, -0x2100
  stw       r0, 8+sender_lr(r1)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4BE5C
  loc_4be10:
  lwz       r0, __stm_ehregistered-0x140000# Relocation out of range
  li        r3, -0x2101
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4BE5C
  loc_4be20:
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  lis       r5, __stm_immbufin@ha
  lis       r7, __stm_immbufout@ha
  li        r0, 1
  li        r4, 0x3002# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20 # ' '# len_in
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20 # ' '# len_io
  stw       r0, __stm_ehclear-0x140000# Relocation out of range
  bl        IOS_Ioctl
  cmpwi     r3, 0
  blt       loc_4BE5C
  loc_4be54:
  li        r0, 0
  stw       r0, __stm_ehregistered-0x140000# Relocation out of range
  loc_4be5c:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r3, -0x2100
  stw       r0, 8+sender_lr(r1)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r0, __stm_ehregistered-0x140000# Relocation out of range
  li        r3, -0x2101
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  lis       r5, __stm_immbufin@ha
  lis       r7, __stm_immbufout@ha
  li        r0, 1
  li        r4, 0x3002# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20
  stw       r0, __stm_ehclear-0x140000# Relocation out of range
  bl        IOS_Ioctl
  cmpwi     r3, 0
  blt       XXXX
  XXXX:
  li        r0, 0
  stw       r0, __stm_ehregistered-0x140000# Relocation out of range
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: __STM_Close
address: 310892
names: ["_restgpr_31_x", "_start", "__STM_ReleaseEventHook", "_savegpr_31", "IOS_Close"]
prototype: int()
primes_value: 13
mangled_function: __STM_Close
bytes_hash: 0f6296cabd570386a1063db91dbcbde7
prototype2: s32()
rva: 310892
tarjan_topological_sort: [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
strongly_connected_spp: 1
mnemonics_spp: 28974761931931244693707848474934985807351090832164145411590711811193247392752490056409
switches: []
function_hash: ed28158773c2d79825e031bfbe74287f
md_index: 3.403339431993807044697651868
constants: []
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "bl", "stw", "bl", "lwz", "li", "cmpwi", "blt", "bl", "mr.", "ble", "li", "li", "stw", "lwz", "cmpwi", "blt", "bl", "cmpwi", "bge+", "mr", "li", "stw", "li", "addi", "mr", "stw", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _savegpr_31
  stw       r0, 0x10+sender_lr(r1)
  bl        __STM_ReleaseEventHook
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  li        r31, 0
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4BEAC
  loc_4be94:
  bl        IOS_Close
  mr.       r31, r3
  ble       loc_4BEA4
  loc_4bea0:
  li        r31, 0
  loc_4bea4:
  li        r0, -1
  stw       r0, __stm_imm_fd-0x80000# Relocation out of range
  loc_4beac:
  lwz       r3, __stm_eh_fd-0x80000# Relocation out of range
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4BED0
  loc_4beb8:
  bl        IOS_Close
  cmpwi     r3, 0
  bge+      loc_4BEC8
  loc_4bec4:
  mr        r31, r3
  loc_4bec8:
  li        r0, -1
  stw       r0, __stm_eh_fd-0x80000# Relocation out of range
  loc_4bed0:
  li        r0, 0
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r31
  stw       r0, __stm_initialized-0x140000# Relocation out of range
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _saXXX
  stw       r0, 0x10+sender_lr(r1)
  bl        __STM_ReleaseEventHook
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  li        r31, 0
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  bl        IOS_Close
  mr.       r31, r3
  ble       XXXX
  XXXX:
  li        r31, 0
  XXXX:
  li        r0, -1
  stw       r0, __stm_imm_fd-0x80000# Relocation out of range
  XXXX:
  lwz       r3, __stm_eh_fd-0x80000# Relocation out of range
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  bl        IOS_Close
  cmpwi     r3, 0
  bge+      XXXX
  XXXX:
  mr        r31, r3
  XXXX:
  li        r0, -1
  stw       r0, __stm_eh_fd-0x80000# Relocation out of range
  XXXX:
  li        r0, 0
  addi      r11, r1, 0x10+pre_back_chain
  mr        r3, r31
  stw       r0, __stm_initialized-0x140000# Relocation out of range
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: STM_RegisterEventHandler
address: 311012
mnemonics: ["lwz", "stw", "mr", "blr"]
names: ["_start"]
prototype: int()
primes_value: 3
mangled_function: STM_RegisterEventHandler
bytes_hash: c1a8674cec3a8f118a3777e871327c5c
prototype2: stmcallback(stmcallback newhandler)
rva: 311012
tarjan_topological_sort: [[0]]
strongly_connected_spp: 1
mnemonics_spp: 2146513709707
switches: []
function_hash: 2fdbdfe370da56206f5ee1872cc2a27d
md_index: 0
constants: []
segment_rva: 12
assembly:
  lwz       r0, __stm_eventcb-0x140000# Relocation out of range
  stw       r3, __stm_eventcb-0x140000# Relocation out of range
  mr        r3, r0
  blr

clean_assembly:
  lwz       r0, __stm_eventcb-0x140000# Relocation out of range
  stw       r3, __stm_eventcb-0x140000# Relocation out of range
  mr        r3, r0
  blr


name: STM_ShutdownToStandby
address: 311028
names: ["IOS_Ioctl", "_start", "startup"]
prototype: int()
primes_value: 5
mangled_function: STM_ShutdownToStandby
bytes_hash: 1b94a6f1699331d40be12f7aac6cab02
prototype2: s32()
rva: 311028
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 366654427851190254359110053011233247756279821021103386814454400115974880163271418318449
switches: []
function_hash: a67fe0e2e851fa8f017b2271edaa4397
md_index: 1.041752623040894078367782257
constants: [4294953984, 4294958848, 4294948864, 4294948928]
segment_rva: 100
mnemonics:
  ["mflr", "stwu", "lis", "li", "ori", "stw", "li", "sth", "lwz", "cmpwi", "beq", "lis", "li", "lis", "lwz", "stw", "li", "addi", "li", "addi", "li", "bl", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lis       r9, -0x3400
  li        r3, -0x2100
  ori       r9, r9, 0x2002 # 0xCC002002
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  sth       r0, 0(r9)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4BF4C
  loc_4bf20:
  lis       r5, __stm_immbufin@ha
  li        r0, 0
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  stw       r0, __stm_immbufin@l(r5)
  li        r4, 0x2003# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20 # ' '# len_in
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20 # ' '# len_io
  bl        IOS_Ioctl
  loc_4bf4c:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lis       r9, -0x3400
  li        r3, -0x2100
  ori       r9, r9, 0x2002
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  sth       r0, 0(r9)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  lis       r5, __stm_immbufin@ha
  li        r0, 0
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  stw       r0, __stm_immbufin@l(r5)
  li        r4, 0x2003# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20
  bl        IOS_Ioctl
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: STM_ShutdownToIdle
address: 311132
names: ["IOS_Ioctl", "_start", "startup", "SYS_GetHollywoodRevision"]
prototype: int()
primes_value: 5
mangled_function: STM_ShutdownToIdle
bytes_hash: 55ceae095375f4890a373aab2fc7f51d
prototype2: s32()
rva: 311132
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 4812391675642920521095263370172646089205769421582753895795234543789475088074472665477185787
switches: []
function_hash: 3d10c35368136792edf192487b8add57
md_index: 1.041752623040894078367782257
constants: [4294953984, 4294958848, 4294966496, 4294948864, 4294948928]
segment_rva: 108
mnemonics:
  ["mflr", "stwu", "lis", "li", "ori", "stw", "li", "sth", "lwz", "cmpwi", "beq", "bl", "lis", "lis", "ori", "lis", "lwz", "stw", "li", "addi", "li", "addi", "li", "bl", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lis       r9, -0x3400
  li        r3, -0x2100
  ori       r9, r9, 0x2002 # 0xCC002002
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  sth       r0, 0(r9)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4BFBC
  loc_4bf88:
  bl        SYS_GetHollywoodRevision
  lis       r0, -0x320
  lis       r5, __stm_immbufin@ha
  ori       r0, r0, 0x82C0 # 0xFCE082C0
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  stw       r0, __stm_immbufin@l(r5)
  li        r4, 0x2004# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20 # ' '# len_in
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20 # ' '# len_io
  bl        IOS_Ioctl
  loc_4bfbc:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lis       r9, -0x3400
  li        r3, -0x2100
  ori       r9, r9, 0x2002
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  sth       r0, 0(r9)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  bl        SYS_GetHollywoodRevision
  lis       r0, -0x320
  lis       r5, __stm_immbufin@ha
  ori       r0, r0, 0x82C0
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  stw       r0, __stm_immbufin@l(r5)
  li        r4, 0x2004# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20
  bl        IOS_Ioctl
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: STM_SetLedMode
address: 311244
names: ["IOS_Ioctl", "_start", "startup"]
prototype: int()
primes_value: 5
mangled_function: STM_SetLedMode
bytes_hash: 22568b50611ff5fa356a8742f6f98815
prototype2: s32(u32 mode)
rva: 311244
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 16241816958549099558154670665214968420533549392831822766937074217786859
switches: []
function_hash: b178b4ee6563d3c66af001febf13db6b
md_index: 1.041752623040894078367782257
constants: [4294958848, 4294948864, 4294948928]
segment_rva: 84
mnemonics:
  ["lwz", "mflr", "stwu", "cmpwi", "stw", "mr", "li", "beq", "lis", "lis", "lwz", "li", "stw", "li", "addi", "addi", "li", "bl", "lwz", "addi", "mtlr", "blr"]

assembly:
  lwz       r9, __stm_initialized-0x140000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r9, 0
  stw       r0, 8+sender_lr(r1)
  mr        r0, r3
  li        r3, -0x2100
  beq       cr7, loc_4C014
  loc_4bfec:
  lis       r5, __stm_immbufin@ha
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  li        r4, 0x6002# ioctl
  stw       r0, __stm_immbufin@l(r5)
  li        r6, 0x20 # ' '# len_in
  addi      r5, r5, __stm_immbufin@l# buffer_in
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20 # ' '# len_io
  bl        IOS_Ioctl
  loc_4c014:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  lwz       r9, __stm_initialized-0x140000# Relocation out of range
  mflr      r0
  stwu      r1, back_chain(r1)
  cmpwi     cr7, r9, 0
  stw       r0, 8+sender_lr(r1)
  mr        r0, r3
  li        r3, -0x2100
  beq       cr7, XXXX
  XXXX:
  lis       r5, __stm_immbufin@ha
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  li        r4, 0x6002# ioctl
  stw       r0, __stm_immbufin@l(r5)
  li        r6, 0x20
  addi      r5, r5, __stm_immbufin@l# buffer_in
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20
  bl        IOS_Ioctl
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: STM_RebootSystem
address: 311332
names: ["IOS_Ioctl", "_start", "startup"]
prototype: int()
primes_value: 5
mangled_function: STM_RebootSystem
bytes_hash: 47b741085de5be9bc88ba01c6b869cae
prototype2: s32()
rva: 311332
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 366654427851190254359110053011233247756279821021103386814454400115974880163271418318449
switches: []
function_hash: 6c1984625376d50e126aa57e2be2beae
md_index: 1.041752623040894078367782257
constants: [4294953984, 4294958848, 4294948864, 4294948928]
segment_rva: 100
mnemonics:
  ["mflr", "stwu", "lis", "li", "ori", "stw", "li", "sth", "lwz", "cmpwi", "beq", "lis", "li", "lis", "lwz", "stw", "li", "addi", "li", "addi", "li", "bl", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lis       r9, -0x3400
  li        r3, -0x2100
  ori       r9, r9, 0x2002 # 0xCC002002
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  sth       r0, 0(r9)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4C07C
  loc_4c050:
  lis       r5, __stm_immbufin@ha
  li        r0, 0
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  stw       r0, __stm_immbufin@l(r5)
  li        r4, 0x2001# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20 # ' '# len_in
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20 # ' '# len_io
  bl        IOS_Ioctl
  loc_4c07c:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  lis       r9, -0x3400
  li        r3, -0x2100
  ori       r9, r9, 0x2002
  stw       r0, 8+sender_lr(r1)
  li        r0, 0
  sth       r0, 0(r9)
  lwz       r0, __stm_initialized-0x140000# Relocation out of range
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  lis       r5, __stm_immbufin@ha
  li        r0, 0
  lis       r7, __stm_immbufout@ha
  lwz       r3, __stm_imm_fd-0x80000# Relocation out of range
  stw       r0, __stm_immbufin@l(r5)
  li        r4, 0x2001# ioctl
  addi      r5, r5, __stm_immbufin@l# buffer_in
  li        r6, 0x20
  addi      r7, r7, __stm_immbufout@l# buffer_io
  li        r8, 0x20
  bl        IOS_Ioctl
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: __IOS_InitHeap
address: 311436
names: ["iosCreateHeap", "_start"]
prototype: int()
primes_value: 7
mangled_function: __IOS_InitHeap
bytes_hash: b76edb9d1fa621dae3313d6df3bfea1c
prototype2: s32()
rva: 311436
tarjan_topological_sort: [[0], [1], [2], [3]]
strongly_connected_spp: 1
mnemonics_spp: 70088011784936980110350268344146173217132057012987
switches: []
function_hash: 523ecf61c98bf38742b0d4739a9536e3
md_index: 1.492327708998104691453506439
constants: []
segment_rva: 64
mnemonics:
  ["mflr", "stwu", "li", "stw", "lwz", "cmpwi", "bge+", "li", "bl", "cmpwi", "stw", "ble", "li", "lwz", "addi", "mtlr", "blr"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r3, 0
  stw       r0, 8+sender_lr(r1)
  lwz       r0, __ios_hid-0x80000# Relocation out of range
  cmpwi     cr7, r0, 0
  bge+      cr7, loc_4C0C0
  loc_4c0a8:
  li        r3, 0x1000# size
  bl        iosCreateHeap
  cmpwi     cr7, r3, 0
  stw       r3, __ios_hid-0x80000# Relocation out of range
  ble       cr7, loc_4C0C0
  loc_4c0bc:
  li        r3, 0
  loc_4c0c0:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  li        r3, 0
  stw       r0, 8+sender_lr(r1)
  lwz       r0, __ios_hid-0x80000# Relocation out of range
  cmpwi     cr7, r0, 0
  bge+      cr7, XXXX
  XXXX:
  li        r3, 0x1000# size
  bl        iosCreateHeap
  cmpwi     cr7, r3, 0
  stw       r3, __ios_hid-0x80000# Relocation out of range
  ble       cr7, XXXX
  XXXX:
  li        r3, 0
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: __IOS_InitializeSubsystems
address: 311504
names: ["_restgpr_31_x", "_start", "__ES_Init", "_savegpr_31", "__STM_Init"]
prototype: int()
primes_value: 7
mangled_function: __IOS_InitializeSubsystems
bytes_hash: e57c30da83f81f426c2b654c883ea89e
prototype2: s32()
rva: 311504
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
mnemonics_spp: 51933643136030708590162496575114813903681217
switches: []
function_hash: 1ea72f8c0a69d55441852f12051a4023
md_index: 1.703287923549910974286694706
constants: []
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "bl", "stw", "bl", "mr", "bl", "cmpwi", "blt", "cmpwi", "mr", "ble", "li", "addi", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _savegpr_31
  stw       r0, 0x10+sender_lr(r1)
  bl        __ES_Init
  mr        r31, r3
  bl        __STM_Init
  cmpwi     r3, 0
  blt       loc_4C108
  loc_4c0f8:
  cmpwi     cr7, r31, 0
  mr        r3, r31
  ble       cr7, loc_4C108
  loc_4c104:
  li        r3, 0
  loc_4c108:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _saXXX
  stw       r0, 0x10+sender_lr(r1)
  bl        __ES_Init
  mr        r31, r3
  bl        __STM_Init
  cmpwi     r3, 0
  blt       XXXX
  XXXX:
  cmpwi     cr7, r31, 0
  mr        r3, r31
  ble       cr7, XXXX
  XXXX:
  li        r3, 0
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: __IOS_ShutdownSubsystems
address: 311568
names: ["__ES_Close", "_start", "__STM_Close", "_savegpr_31", "_restgpr_31_x"]
prototype: int()
primes_value: 7
mangled_function: __IOS_ShutdownSubsystems
bytes_hash: ee87b1a7a50f0327adeafa2440596b39
prototype2: s32()
rva: 311568
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
mnemonics_spp: 51933643136030708590162496575114813903681217
switches: []
function_hash: 56128e2b1d758d370978e6db15a0b10c
md_index: 1.703287923549910974286694706
constants: []
segment_rva: 16
mnemonics:
  ["mflr", "mr", "stwu", "bl", "stw", "bl", "mr", "bl", "cmpwi", "blt", "cmpwi", "mr", "ble", "li", "addi", "b", "bclr"]

assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _savegpr_31
  stw       r0, 0x10+sender_lr(r1)
  bl        __STM_Close
  mr        r31, r3
  bl        __ES_Close
  cmpwi     r3, 0
  blt       loc_4C148
  loc_4c138:
  cmpwi     cr7, r31, 0
  mr        r3, r31
  ble       cr7, loc_4C148
  loc_4c144:
  li        r3, 0
  loc_4c148:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mflr      r0
  mr        r11, r1
  stwu      r1, back_chain(r1)
  bl        _saXXX
  stw       r0, 0x10+sender_lr(r1)
  bl        __STM_Close
  mr        r31, r3
  bl        __ES_Close
  cmpwi     r3, 0
  blt       XXXX
  XXXX:
  cmpwi     cr7, r31, 0
  mr        r3, r31
  ble       cr7, XXXX
  XXXX:
  li        r3, 0
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: IOS_GetPreferredVersion
address: 311632
prototype: int()
primes_value: 67
mangled_function: IOS_GetPreferredVersion
bytes_hash: f4f763fc32b9a41c9768ce2322bd9782
prototype2: s32()
rva: 311632
strongly_connected_spp: 59
switches: []
function_hash: a56a65edf90eddbec9ad8ba6f8bfddf6
md_index: 9.845048428272400928332105902
constants: [4294938240, 4294954752]
segment_rva: 244
mnemonics:
  ["mflr", "stwu", "stmw", "stw", "bl", "mr.", "blt", "addi", "bl", "mr.", "blt", "lwz", "lwz", "slwi", "bl", "mr.", "bne+", "lis", "addi", "bl", "b", "lwz", "bl", "mr.", "bge+", "lwz", "mr", "bl", "b", "li", "li", "bl", "mr.", "beq", "mr", "li", "li", "b", "lwz", "mr", "bl", "li", "b", "lwz", "lwz", "cmpwi", "bne+", "cmplwi", "ble", "cmplwi", "bgt+", "li", "mr", "addi", "bl", "cmpwi", "blt", "lwz", "cmplwi", "bgt+", "lwz", "mr", "lwz", "bl", "cmpwi", "blt", "lwz", "cmpwi", "bne", "lwz", "cmpwi", "beq", "cmpw", "ble", "cmpwi", "bne+", "cmpwi", "bne+", "b", "mr", "b", "li", "addi", "addi", "lwz", "cmplw", "blt", "lwz", "mr", "bl", "mr", "bl", "addi", "mr", "b", "bclr"]

names:
  ["memalign", "puts", "_restgpr_26_x", "startup", "__IOS_InitHeap", "ES_GetStoredTMDSize", "ES_GetStoredTMD", "ES_GetNumTitles", "iosAlloc", "free", "iosFree", "_start", "ES_GetTitles", "__argv_0"]

assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x30+var_18(r1)
  stw       r0, 0x30+sender_lr(r1)
  bl        __IOS_InitHeap
  mr.       r30, r3
  blt       loc_4C2C0
  loc_4c16c:
  addi      r3, r1, 0x30+count# cnt
  bl        ES_GetNumTitles
  mr.       r30, r3
  blt       loc_4C2C0
  loc_4c17c:
  lwz       r4, 0x30+count(r1)
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  slwi      r4, r4, 3# size
  bl        iosAlloc
  mr.       r27, r3
  bne+      loc_4C1A4
  loc_4c194:
  lis       r3, aIosallocTitles@ha
  addi      r3, r3, aIosallocTitles@l# " iosAlloc titles failed"
  bl        puts
  b         loc_4C1F4
  loc_4c1a4:
  lwz       r4, 0x30+count(r1)# cnt
  bl        ES_GetTitles
  mr.       r30, r3
  bge+      loc_4C1C4
  loc_4c1b4:
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  mr        r4, r27# ptr
  bl        iosFree
  b         loc_4C2C0
  loc_4c1c4:
  li        r3, 0x20 # ' '# alignment
  li        r4, 0x49E4# size
  bl        memalign
  mr.       r28, r3
  beq       loc_4C1E8
  loc_4c1d8:
  mr        r29, r27
  li        r26, 0
  li        r30, -0x3100
  b         loc_4C2A0
  loc_4c1e8:
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  mr        r4, r27# ptr
  bl        iosFree
  loc_4c1f4:
  li        r30, -1
  b         loc_4C2C0
  loc_4c1fc:
  lwz       r0, 0(r29)
  lwz       r31, 4(r29)
  cmpwi     cr7, r0, 1
  bne+      cr7, loc_4C298
  loc_4c20c:
  cmplwi    cr7, r31, 0x1B
  ble       cr7, loc_4C298
  loc_4c214:
  cmplwi    cr7, r31, 0x3D
  bgt+      cr7, loc_4C298
  loc_4c21c:
  li        r3, 1# titleID
  mr        r4, r31# titleID
  addi      r5, r1, 0x30+tmd_size# size
  bl        ES_GetStoredTMDSize
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4C298
  loc_4c234:
  lwz       r6, 0x30+tmd_size(r1)# size
  cmplwi    cr7, r6, 0x1000
  bgt+      cr7, loc_4C298
  loc_4c240:
  lwz       r3, 0(r29)# titleID
  mr        r5, r28# stmd
  lwz       r4, 4(r29)# titleID
  bl        ES_GetStoredTMD
  cmpwi     cr7, r3, 0
  blt       cr7, loc_4C298
  loc_4c258:
  lwz       r0, 4(r28)
  cmpwi     cr7, r0, 0
  bne       cr7, loc_4C270
  loc_4c264:
  lwz       r0, 8(r28)
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4C298
  loc_4c270:
  cmpw      cr7, r31, r30
  ble       cr7, loc_4C280
  loc_4c278:
  cmpwi     cr7, r30, 0x3A
  bne+      cr7, loc_4C28C
  loc_4c280:
  cmpwi     cr7, r31, 0x3A
  bne+      cr7, loc_4C298
  loc_4c288:
  b         loc_4C294
  loc_4c28c:
  mr        r30, r31
  b         loc_4C298
  loc_4c294:
  li        r30, 0x3A # ':'
  loc_4c298:
  addi      r26, r26, 1
  addi      r29, r29, 8
  loc_4c2a0:
  lwz       r0, 0x30+count(r1)
  cmplw     cr7, r26, r0
  blt       cr7, loc_4C1FC
  loc_4c2ac:
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  mr        r4, r27# ptr
  bl        iosFree
  mr        r3, r28# ptr
  bl        free
  loc_4c2c0:
  addi      r11, r1, 0x30+pre_back_chain
  mr        r3, r30
  b         _restgpr_26_x
  loc_15e3c8:
  .extern _restgpr_26_x

tarjan_topological_sort:
  [[0], [1], [2], [4], [6], [8], [7], [25, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 22], [26], [5], [3], [9], [27], [28]]

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stmw      r26, 0x30+var_18(r1)
  stw       r0, 0x30+sender_lr(r1)
  bl        __IOS_InitHeap
  mr.       r30, r3
  blt       XXXX
  XXXX:
  addi      r3, r1, 0x30+count# cnt
  bl        ES_GetNumTitles
  mr.       r30, r3
  blt       XXXX
  XXXX:
  lwz       r4, 0x30+count(r1)
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  slwi      r4, r4, 3# size
  bl        iosAlloc
  mr.       r27, r3
  bne+      XXXX
  XXXX:
  lis       r3, aIosallocTitles@ha
  addi      r3, r3, aIosallocTitles@l# " iosAlloc titles failed"
  bl        puts
  b         XXXX
  XXXX:
  lwz       r4, 0x30+count(r1)# cnt
  bl        ES_GetTitles
  mr.       r30, r3
  bge+      XXXX
  XXXX:
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  mr        r4, r27# ptr
  bl        iosFree
  b         XXXX
  XXXX:
  li        r3, 0x20
  li        r4, 0x49E4# size
  bl        memalign
  mr.       r28, r3
  beq       XXXX
  XXXX:
  mr        r29, r27
  li        r26, 0
  li        r30, -0x3100
  b         XXXX
  XXXX:
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  mr        r4, r27# ptr
  bl        iosFree
  XXXX:
  li        r30, -1
  b         XXXX
  XXXX:
  lwz       r0, 0(r29)
  lwz       r31, 4(r29)
  cmpwi     cr7, r0, 1
  bne+      cr7, XXXX
  XXXX:
  cmplwi    cr7, r31, 0x1B
  ble       cr7, XXXX
  XXXX:
  cmplwi    cr7, r31, 0x3D
  bgt+      cr7, XXXX
  XXXX:
  li        r3, 1# titleID
  mr        r4, r31# titleID
  addi      r5, r1, 0x30+tmd_size# size
  bl        ES_GetStoredTMDSize
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  lwz       r6, 0x30+tmd_size(r1)# size
  cmplwi    cr7, r6, 0x1000
  bgt+      cr7, XXXX
  XXXX:
  lwz       r3, 0(r29)# titleID
  mr        r5, r28# stmd
  lwz       r4, 4(r29)# titleID
  bl        ES_GetStoredTMD
  cmpwi     cr7, r3, 0
  blt       cr7, XXXX
  XXXX:
  lwz       r0, 4(r28)
  cmpwi     cr7, r0, 0
  bne       cr7, XXXX
  XXXX:
  lwz       r0, 8(r28)
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  cmpw      cr7, r31, r30
  ble       cr7, XXXX
  XXXX:
  cmpwi     cr7, r30, 0x3A
  bne+      cr7, XXXX
  XXXX:
  cmpwi     cr7, r31, 0x3A
  bne+      cr7, XXXX
  XXXX:
  b         XXXX
  XXXX:
  mr        r30, r31
  b         XXXX
  XXXX:
  li        r30, 0x3A
  XXXX:
  addi      r26, r26, 1
  addi      r29, r29, 8
  XXXX:
  lwz       r0, 0x30+count(r1)
  cmplw     cr7, r26, r0
  blt       cr7, XXXX
  XXXX:
  lwz       r3, __ios_hid-0x80000# Relocation out of range
  mr        r4, r27# ptr
  bl        iosFree
  mr        r3, r28# ptr
  bl        free
  XXXX:
  addi      r11, r1, 0x30+pre_back_chain
  mr        r3, r30
  b         _restgpr_26_x
  XXXX:
  .extern _restgpr_26_x

mnemonics_spp:
  83508039993402539516806023875021649628201727628004641691475560217994389545574930261621736451577327989155931311011150932583651008014020010075280262454179244683864244610910035741587907609042907039372550518320570086695050728649


name: IOS_GetVersion
address: 312012
names: ["_restgpr_31_x", "_start", "__argv_0", "_savegpr_31", "DCInvalidateRange"]
prototype: int()
primes_value: 7
mangled_function: IOS_GetVersion
bytes_hash: 29e3d4e05ff33da17d41b44c0d9e4044
prototype2: s32()
rva: 312012
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
mnemonics_spp: 778347417246339828479722039443660681274102845839349717288767
switches: []
function_hash: 299b29c49f26066b61dad8fad6922c1b
md_index: 1.703287923549910974286694706
constants: [4294934528, 4294954752]
segment_rva: 16
mnemonics:
  ["mr", "stwu", "mflr", "li", "bl", "lis", "ori", "mr", "stw", "bl", "lhz", "li", "cmpwi", "beq", "cmplwi", "bgt", "mr", "addi", "b", "bclr"]

assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 8
  bl        _savegpr_31
  lis       r31, -0x8000
  ori       r31, r31, 0x3140 # 0x80003140
  mr        r3, r31
  stw       r0, 0x10+sender_lr(r1)
  bl        DCInvalidateRange
  lhz       r0, 0(r31)
  li        r3, -0x3100
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4C310
  loc_4c304:
  cmplwi    cr7, r0, 0xFF
  bgt       cr7, loc_4C310
  loc_4c30c:
  mr        r3, r0
  loc_4c310:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 8
  bl        _saXXX
  lis       r31, -0x8000
  ori       r31, r31, 0x3140
  mr        r3, r31
  stw       r0, 0x10+sender_lr(r1)
  bl        DCInvalidateRange
  lhz       r0, 0(r31)
  li        r3, -0x3100
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  cmplwi    cr7, r0, 0xFF
  bgt       cr7, XXXX
  XXXX:
  mr        r3, r0
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: IOS_GetRevision
address: 312088
names: ["_restgpr_31_x", "_start", "__argv_0", "_savegpr_31", "DCInvalidateRange"]
prototype: int()
primes_value: 7
mangled_function: IOS_GetRevision
bytes_hash: 20141743791596aa9b1a51111337fe76
prototype2: s32()
rva: 312088
tarjan_topological_sort: [[0], [1], [2], [3], [4]]
strongly_connected_spp: 1
mnemonics_spp: 1760044696137086183645286650520650152071244353465084434723
switches: []
function_hash: 9d80cf411278cb71b5bc12e2ec218272
md_index: 1.703287923549910974286694706
constants: [4294934528, 4294954752]
segment_rva: 16
mnemonics:
  ["mr", "stwu", "mflr", "li", "bl", "lis", "ori", "mr", "stw", "bl", "lwz", "li", "cmpwi", "beq", "andi.", "beq", "mr", "addi", "b", "bclr"]

assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 8
  bl        _savegpr_31
  lis       r31, -0x8000
  ori       r31, r31, 0x3140 # 0x80003140
  mr        r3, r31
  stw       r0, 0x10+sender_lr(r1)
  bl        DCInvalidateRange
  lwz       r0, 0(r31)
  li        r3, -0x3100
  cmpwi     cr7, r0, 0
  beq       cr7, loc_4C35C
  loc_4c350:
  andi.     r0, r0, 0xFFFF
  beq       loc_4C35C
  loc_4c358:
  mr        r3, r0
  loc_4c35c:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  loc_15e2e4:
  .extern _restgpr_31_x

clean_assembly:
  mr        r11, r1
  stwu      r1, back_chain(r1)
  mflr      r0
  li        r4, 8
  bl        _saXXX
  lis       r31, -0x8000
  ori       r31, r31, 0x3140
  mr        r3, r31
  stw       r0, 0x10+sender_lr(r1)
  bl        DCInvalidateRange
  lwz       r0, 0(r31)
  li        r3, -0x3100
  cmpwi     cr7, r0, 0
  beq       cr7, XXXX
  XXXX:
  andi.     r0, r0, 0xFFFF
  beq       XXXX
  XXXX:
  mr        r3, r0
  XXXX:
  addi      r11, r1, 0x10+pre_back_chain
  b         _restgpr_31_x
  XXXX:
  .extern _restgpr_31_x


name: IOS_GetRevisionMajor
address: 312164
mnemonics: ["mflr", "stwu", "stw", "bl", "cmpwi", "blt", "extrwi", "lwz", "addi", "mtlr", "blr"]
names: ["_start", "IOS_GetRevision"]
prototype: int()
primes_value: 5
mangled_function: IOS_GetRevisionMajor
bytes_hash: b47f1c511c4eb90d48a22b6cc6ea5235
prototype2: s32()
rva: 312164
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 6897258252066562031705715773581
switches: []
function_hash: 3ab2c4f318839cb4e9ebf58a0ee9a98f
md_index: 1.041752623040894078367782257
constants: []
segment_rva: 40
assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  bl        IOS_GetRevision
  cmpwi     r3, 0
  blt       loc_4C380
  loc_4c37c:
  extrwi    r3, r3, 8,16
  loc_4c380:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  bl        IOS_GetRevision
  cmpwi     r3, 0
  blt       XXXX
  XXXX:
  extrwi    r3, r3, 8,16
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: IOS_GetRevisionMinor
address: 312208
mnemonics: ["mflr", "stwu", "stw", "bl", "cmpwi", "blt", "clrlwi", "lwz", "addi", "mtlr", "blr"]
names: ["_start", "IOS_GetRevision"]
prototype: int()
primes_value: 5
mangled_function: IOS_GetRevisionMinor
bytes_hash: 19e760d3aedd63ad6d66db9cad7b2c32
prototype2: s32()
rva: 312208
tarjan_topological_sort: [[0], [1], [2]]
strongly_connected_spp: 1
mnemonics_spp: 191496525589604341702415144111
switches: []
function_hash: ea8f3b5e6370a4ce89b2cd730c7c0650
md_index: 1.041752623040894078367782257
constants: []
segment_rva: 40
assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  bl        IOS_GetRevision
  cmpwi     r3, 0
  blt       loc_4C3AC
  loc_4c3a8:
  clrlwi    r3, r3, 24
  loc_4c3ac:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr

clean_assembly:
  mflr      r0
  stwu      r1, back_chain(r1)
  stw       r0, 8+sender_lr(r1)
  bl        IOS_GetRevision
  cmpwi     r3, 0
  blt       XXXX
  XXXX:
  clrlwi    r3, r3, 24
  XXXX:
  lwz       r0, 8+sender_lr(r1)
  addi      r1, r1, 8
  mtlr      r0
  blr


name: __IOS_LaunchNewIOS
address: 312252
prototype: int __fastcall(u64 titleID)
primes_value: 31
mangled_function: __IOS_LaunchNewIOS
bytes_hash: 0eac4ef01b878e9d3f5cf781f779a6c5
prototype2: s32(int version)
rva: 312252
tarjan_topological_sort: [[0], [1], [2], [4], [5], [6], [8, 7], [9], [11, 10], [12], [13], [3], [14], [15]]
strongly_connected_spp: 25
switches: []
function_hash: 5db5df10a4dff120405b590a904c2169
md_index: 5.416127375562042544255293038
constants: [4294954752, 4294938264, 4294954751, 4294950912, 4294950912, 4294954240, 4294954750]
segment_rva: 124
mnemonics:
  ["addi", "mflr", "cmplwi", "stwu", "stw", "li", "stmw", "mr", "bgt", "srawi", "mr", "ori", "addi", "mr", "bl", "mr.", "blt", "lwz", "cmplwi", "ble+", "lis", "mr", "addi", "crclr", "bl", "li", "b", "addi", "addi", "clrlwi", "mr", "subf", "mr", "mr", "bl", "mr.", "blt", "lis", "li", "ori", "stw", "eieio", "mr", "mr", "mr", "bl", "mr.", "blt", "bl", "li", "bl", "li", "bl", "lis", "mr", "ori", "b", "li", "bl", "lwz", "sync", "srwi.", "beq", "li", "lis", "stw", "ori", "b", "li", "bl", "lwz", "addic.", "stw", "beq", "lwz", "sync", "andi.", "beq", "mr", "li", "li", "bl", "li", "bl", "bl", "bl", "mr", "cmpw", "beq+", "li", "addi", "mr", "b", "bclr"]

names:
  ["IRQ_Free", "__IPC_Reinitialize", "__argv_0", "_restgpr_29_x", "udelay", "__ES_Reset", "IRQ_Request", "ES_LaunchTitleBackground", "__UnmaskIrq", "ES_GetNumTicketViews", "__MaskIrq", "printf", "IOS_GetVersion", "_start", "ES_GetTicketViews"]

assembly:
  addi      r9, r3, -3
  mflr      r0
  cmplwi    cr7, r9, 0xFC
  stwu      r1, back_chain(r1)
  stw       r0, 0x3B0+sender_lr(r1)
  li        r0, -0x3100
  stmw      r29, 0x3B0+var_C(r1)
  mr        r31, r3
  bgt       cr7, loc_4C524
  loc_4c3e0:
  srawi     r30, r3, 0x1F
  mr        r4, r31# titleID
  ori       r30, r30, 1
  addi      r5, r1, 0x3B0+numviews# cnt
  mr        r3, r30# titleID
  bl        ES_GetNumTicketViews
  mr.       r0, r3
  blt       loc_4C524
  loc_4c400:
  lwz       r6, 0x3B0+numviews(r1)# cnt
  cmplwi    cr7, r6, 4
  ble+      cr7, loc_4C428
  loc_4c40c:
  lis       r3, aGetnumticketvi@ha
  mr        r4, r6
  addi      r3, r3, aGetnumticketvi@l# " GetNumTicketViews too many views: %u\n"
  crclr     4*cr1+eq
  bl        printf
  li        r0, -0x3101
  b         loc_4C524
  loc_4c428:
  addi      r29, r1, 0x3B0+_al__views
  addi      r0, r1, 0x3B0+_al__views+0x20
  clrlwi    r29, r29, 27
  mr        r3, r30# titleID
  subf      r29, r29, r0
  mr        r4, r31# titleID
  mr        r5, r29# views
  bl        ES_GetTicketViews
  mr.       r0, r3
  blt       loc_4C524
  loc_4c450:
  lis       r9, -0x4000
  li        r0, 0
  ori       r9, r9, 0x3140 # 0xC0003140
  stw       r0, 0(r9)
  eieio
  mr        r3, r30# titleID
  mr        r4, r31# titleID
  mr        r5, r29# view
  bl        ES_LaunchTitleBackground
  mr.       r0, r3
  blt       loc_4C524
  loc_4c47c:
  bl        __ES_Reset
  li        r3, 0x1B# nMask
  bl        __MaskIrq
  li        r3, 0x1B# nIrq
  bl        IRQ_Free
  lis       r29, -0x4000
  mr        r30, r3
  ori       r29, r29, 0x3140 # 0xC0003140
  b         loc_4C4A8
  loc_4c4a0:
  li        r3, 0x3E8# us
  bl        udelay
  loc_4c4a8:
  lwz       r0, 0(r29)
  sync
  srwi.     r9, r0, 16
  beq       loc_4C4A0
  loc_4c4b8:
  li        r0, 0x191
  lis       r29, -0x3300
  stw       r0, 0x3B0+var_18(r1)
  ori       r29, r29, 4 # 0xCD000004
  b         loc_4C4E4
  loc_4c4cc:
  li        r3, 0x3E8# us
  bl        udelay
  lwz       r0, 0x3B0+var_18(r1)
  addic.    r9, r0, -1
  stw       r9, 0x3B0+var_18(r1)
  beq       loc_4C4F4
  loc_4c4e4:
  lwz       r0, 0(r29)
  sync
  andi.     r9, r0, 2
  beq       loc_4C4CC
  loc_4c4f4:
  mr        r4, r30# pHndl
  li        r5, 0# pCtx
  li        r3, 0x1B# nIrq
  bl        IRQ_Request
  li        r3, 0x1B# nMask
  bl        __UnmaskIrq
  bl        __IPC_Reinitialize
  bl        IOS_GetVersion
  mr        r0, r31
  cmpw      cr7, r3, r31
  beq+      cr7, loc_4C524
  loc_4c520:
  li        r0, -0x3102
  loc_4c524:
  addi      r11, r1, 0x3B0+pre_back_chain
  mr        r3, r0
  b         _restgpr_29_x
  loc_15e350:
  .extern _restgpr_29_x

clean_assembly:
  addi      r9, r3, -3
  mflr      r0
  cmplwi    cr7, r9, 0xFC
  stwu      r1, back_chain(r1)
  stw       r0, 0x3B0+sender_lr(r1)
  li        r0, -0x3100
  stmw      r29, 0x3B0+var_C(r1)
  mr        r31, r3
  bgt       cr7, XXXX
  XXXX:
  srawi     r30, r3, 0x1F
  mr        r4, r31# titleID
  ori       r30, r30, 1
  addi      r5, r1, 0x3B0+numviews# cnt
  mr        r3, r30# titleID
  bl        ES_GetNumTicketViews
  mr.       r0, r3
  blt       XXXX
  XXXX:
  lwz       r6, 0x3B0+numviews(r1)# cnt
  cmplwi    cr7, r6, 4
  ble+      cr7, XXXX
  XXXX:
  lis       r3, aGetnumticketvi@ha
  mr        r4, r6
  addi      r3, r3, aGetnumticketvi@l# " GetNumTicketViews too many views: %u\n"
  crclr     4*cr1+eq
  bl        printf
  li        r0, -0x3101
  b         XXXX
  XXXX:
  addi      r29, r1, 0x3B0+_al__views
  addi      r0, r1, 0x3B0+_al__views+0x20
  clrlwi    r29, r29, 27
  mr        r3, r30# titleID
  subf      r29, r29, r0
  mr        r4, r31# titleID
  mr        r5, r29# views
  bl        ES_GetTicketViews
  mr.       r0, r3
  blt       XXXX
  XXXX:
  lis       r9, -0x4000
  li        r0, 0
  ori       r9, r9, 0x3140
  stw       r0, 0(r9)
  eieio
  mr        r3, r30# titleID
  mr        r4, r31# titleID
  mr        r5, r29# view
  bl        ES_LaunchTitleBackground
  mr.       r0, r3
  blt       XXXX
  XXXX:
  bl        __ES_Reset
  li        r3, 0x1B# nMask
  bl        __MaskIrq
  li        r3, 0x1B# nIrq
  bl        IRQ_Free
  lis       r29, -0x4000
  mr        r30, r3
  ori       r29, r29, 0x3140
  b         XXXX
  XXXX:
  li        r3, 0x3E8# us
  bl        udelay
  XXXX:
  lwz       r0, 0(r29)
  sync
  srwi.     r9, r0, 16
  beq       XXXX
  XXXX:
  li        r0, 0x191
  lis       r29, -0x3300
  stw       r0, 0x3B0+var_18(r1)
  ori       r29, r29, 4
  b         XXXX
  XXXX:
  li        r3, 0x3E8# us
  bl        udelay
  lwz       r0, 0x3B0+var_18(r1)
  addic.    r9, r0, -1
  stw       r9, 0x3B0+var_18(r1)
  beq       XXXX
  XXXX:
  lwz       r0, 0(r29)
  sync
  andi.     r9, r0, 2
  beq       XXXX
  XXXX:
  mr        r4, r30# pHndl
  li        r5, 0# pCtx
  li        r3, 0x1B# nIrq
  bl        IRQ_Request
  li        r3, 0x1B# nMask
  bl        __UnmaskIrq
  bl        __IPC_Reinitialize
  bl        IOS_GetVersion
  mr        r0, r31
  cmpw      cr7, r3, r31
  beq+      cr7, XXXX
  XXXX:
  li        r0, -0x3102
  XXXX:
  addi      r11, r1, 0x3B0+pre_back_chain
  mr        r3, r0
  b         _restgpr_29_x
  XXXX:
  .extern _restgpr_29_x

mnemonics_spp:
  9155040022193575460027791684037101128938115415184957953062623254782792661529931631990086216986450176043915947700011434699311353566899294493353837664992534292919314174205740141386787945322498557965813167901510879382915856282683558870698054212931868289


