Skip to content

Instantly share code, notes, and snippets.

@vlj
Created August 9, 2015 15:36
Show Gist options
  • Save vlj/65e6458bfa0647961145 to your computer and use it in GitHub Desktop.
Save vlj/65e6458bfa0647961145 to your computer and use it in GitHub Desktop.
Recompiling block :
0029ab30: 04 fd 02 00 cmpwi cr7,r5,0 #0
0029ab40: fd fd fb fd mflr r0
0029ab50: fd f9 fb fb stdu r1,-272(r1) #fffffef0
0029ab60: 00 f9 00 fd std r16,144(r1) #90
0029ab70: 04 fd 0c fd std r17,152(r1) #98
0029ab80: 06 04 04 06 std r22,192(r1) #c0
0029ab90: 02 02 00 02 std r23,200(r1) #c8
0029aba0: fd fd fd fb std r14,128(r1) #80
0029abb0: fd f9 fb fb std r15,136(r1) #88
0029abc0: f9 fb fb f9 std r18,160(r1) #a0
0029abd0: fd f9 fb fb std r19,168(r1) #a8
0029abe0: fb f9 fd f9 std r20,176(r1) #b0
0029abf0: fb f9 fd f9 std r21,184(r1) #b8
0029ac00: f9 fb fd f9 std r24,208(r1) #d0
0029ac10: fd fb fd fd std r25,216(r1) #d8
0029ac20: fd 00 fd 00 std r26,224(r1) #e0
0029ac30: 02 00 02 02 std r27,232(r1) #e8
0029ac40: 04 02 02 04 std r28,240(r1) #f0
0029ac50: 04 02 06 02 std r29,248(r1) #f8
0029ac60: 06 02 06 02 std r30,256(r1) #100
0029ac70: 06 02 06 02 std r31,264(r1) #108
0029ac80: 00 06 02 04 std r0,288(r1) #120
0029ac90: 02 02 00 02 mr r16,r5
0029aca0: 02 fb 00 fd mr r22,r3
0029acb0: fd f9 fd f9 mr r23,r4
0029acc0: fd fb fb fd stw r7,112(r1) #70
0029acd0: 00 00 02 00 mr r17,r6
0029ace0: 06 02 06 04 beq cr7,0x29b1bc
0029acf0: 06 00 06 00 cmplwi cr7,r4,32 #20
0029ad00: 02 fd 00 fd ble cr7,0x29b084
0029ad10: 00 f3 00 f9 rlwinm r9,r6,3,0,28
0029ad20: f9 fd f9 fb rlwinm r0,r6,5,0,26
0029ad30: fb fb fb fb mr r25,r6
0029ad40: f9 fd f9 fb add r14,r9,r0
0029ad50: fb fb f9 fd clrldi r21,r6,32
0029ad60: f9 fd f9 fb clrldi r24,r7,32
0029ad70: fd fb fb fd neg r20,r6
0029ad80: fd fd 00 fd rlwinm r0,r23,31,1,31
0029ad90: fd 02 00 00 mullw r9,r17,r23
0029ada0: 02 02 02 04 add r18,r9,r22
0029adb0: 04 02 04 04 mullw r0,r17,r0
0029adc0: 04 04 04 04 subf r31,r25,r18
0029add0: 02 04 04 04 add r23,r0,r22
0029ade0: 02 06 00 06 subf r29,r22,r31
0029adf0: 00 04 02 00 add r19,r23,r25
0029ae00: fd 02 fd 00 cmplw cr7,r29,r14
0029ae10: fb fd fb fb ble cr7,0x29b25c
0029ae20: fd fb f9 fd clrldi r15,r22,32
0029ae30: fd 00 fd 00 mr r6,r21
0029ae40: 02 04 04 02 mr r3,r15
0029ae50: 06 02 06 00 mr r7,r24
0029ae60: 02 fd 02 00 clrldi r26,r23,32
0029ae70: f9 00 fb fb divwu r29,r29,r17
0029ae80: fb fb fb fb rlwinm r29,r29,29,3,31
0029ae90: fb fb fb fb addi r29,1(r29) #1
0029aea0: fb fb fb fb mullw r29,r17,r29
0029aeb0: fb fb fb fb rlwinm r28,r29,1,0,30
0029aec0: fb fb fb fb add r27,r22,r29
0029aed0: fb fb fb fd add r5,r22,r28
0029aee0: 02 f9 00 fd clrldi r27,r27,32
0029aef0: 00 00 00 fd clrldi r5,r5,32
0029af00: 02 02 02 00 mr r4,r27
0029af10: 00 04 02 04 subf r28,r28,r31
0029af20: 00 0c 00 06 bl 0x29abd0
0029af30: 04 04 02 06 subf r3,r29,r23
0029af40: 04 02 06 02 add r5,r23,r29
0029af50: 02 02 04 02 subf r29,r29,r31
0029af60: 00 00 02 fd clrldi r3,r3,32
0029af70: fb 00 f9 00 clrldi r5,r5,32
0029af80: f9 fd f9 fb mr r4,r26
0029af90: fb fd fd fd mr r6,r21
0029afa0: 02 00 06 00 mr r7,r24
0029afb0: 02 06 02 06 clrldi r29,r29,32
0029afc0: 02 02 02 00 bl 0x29ac48
0029afd0: fb 00 fb 00 clrldi r3,r28,32
0029afe0: fd fb fb fb clrldi r5,r31,32
0029aff0: fb fb fb fb mr r4,r29
0029b000: fb fb fb fb mr r6,r21
0029b010: fb fb fb fb mr r7,r24
0029b020: fb fb fb fb bl 0x29ac90
0029b030: fb fb fb fb mr r3,r27
0029b040: fb 00 f9 00 mr r4,r26
0029b050: 02 fb 02 fd mr r5,r29
0029b060: 02 00 02 00 mr r6,r21
0029b070: 00 04 02 02 mr r7,r24
0029b080: 02 04 04 02 bl 0x29acd8
0029b090: 02 04 04 02 cmplw cr7,r23,r22
0029b0a0: 02 04 04 02 mr r31,r23
0029b0b0: 02 04 00 06 ble cr7,0x29b108
0029b0c0: 00 02 00 02 mr r30,r23
0029b0d0: fd 00 fd fd neg r29,r25
0029b0e0: f9 fd fb fb subf r26,r25,r23
0029b0f0: f9 fd fb fd b 0x29b0fc
0029b120: 02 02 04 00 std r2,40(r1) #28
0029b130: fd 00 00 fd lwz r0,0(r24) #0
0029b140: f9 00 f9 00 add r31,r30,r29
0029b150: f9 fd f9 fd clrldi r4,r30,32
0029b160: f9 fd f9 fd lwz r2,4(r24) #4
0029b170: f9 fd f9 fd mtctr r0
0029b180: f9 fd f9 fd clrldi r3,r31,32
0029b190: f9 fd f9 fd add r26,r26,r29
0029b1a0: fd fb fd fb bcctrl 20,0,0
0029b1b0: fd 00 fb 02 ld r2,40(r1) #28
0029b1c0: 00 00 00 02 add r0,r25,r26
0029b1d0: 00 02 04 00 cmpwi cr7,r3,0 #0
0029b1e0: 04 02 04 02 cmplw cr6,r0,r22
0029b1f0: 04 04 02 04 beq cr7,0x29b1b4
0029b200: 04 04 02 04 mr r31,r30
0029b210: 02 04 02 04 cmplw cr7,r18,r19
0029b220: 02 02 02 02 add r30,r19,r25
0029b230: 00 fd 00 00 clrldi r26,r31,32
0029b240: fb fd fb fb bgt cr7,0x29b250
0029b280: 02 04 04 02 std r2,40(r1) #28
0029b290: 02 00 00 02 lwz r0,0(r24) #0
0029b2a0: fb 00 fb fd clrldi r3,r19,32
0029b2b0: f3 00 f9 fd mr r4,r26
0029b2c0: fd fb fb fb lwz r2,4(r24) #4
0029b2d0: fb fb fb fb mtctr r0
0029b2e0: fd f9 fd f9 add r30,r30,r25
0029b2f0: fb fb fb fb bcctrl 20,0,0
0029b300: fd fb fd fb ld r2,40(r1) #28
0029b310: fd fd fd fd subf r0,r25,r30
0029b320: fd 02 fd 00 cmpwi cr7,r3,0 #0
0029b330: 04 00 02 02 cmplw cr6,r0,r18
0029b340: 00 06 00 04 beq cr7,0x29b308
0029b350: 02 04 02 04 mr r23,r19
0029b360: 02 04 02 04 mr r27,r31
0029b370: 02 04 02 04 cmplw cr7,r23,r18
0029b380: 00 04 02 00 blt cr7,0x29b428
0029b390: 00 02 fd 02 cmplw cr7,r27,r22
0029b3a0: 02 f9 00 fb ble cr7,0x29b410
0029b3b0: fd f9 fd fb subf r28,r25,r27
0029b3c0: fb 00 fb 00 mr r30,r27
0029b3d0: 02 00 04 00 clrldi r26,r31,32
0029b3e0: 04 04 04 02 add r27,r20,r27
0029b3f0: 04 00 02 02 std r2,40(r1) #28
0029b400: fd fd 00 fb clrldi r29,r27,32
0029b410: fd fb fd f9 lwz r0,0(r24) #0
0029b420: fb fd f9 fd mr r4,r26
0029b430: fd f9 fd fb lwz r2,4(r24) #4
0029b440: f9 fd fb fb mr r3,r29
0029b450: fd fb fb fd mtctr r0
0029b460: fb fb fd fb add r28,r28,r20
0029b470: fb 00 fb fd bcctrl 20,0,0
0029b480: fd 02 fb 02 ld r2,40(r1) #28
0029b490: 04 00 00 02 mr r4,r29
0029b4a0: 00 04 00 04 cmpwi cr7,r3,0 #0
0029b4b0: 02 04 02 04 mr r5,r21
0029b4c0: 02 04 02 04 blt cr7,0x29b4d8
0029b4d0: 02 04 02 04 bne cr7,0x29b570
0029b520: fb fd fb fd add r0,r28,r25
0029b530: 00 00 02 00 mr r30,r27
0029b540: 04 04 02 06 cmplw cr7,r0,r22
0029b550: 02 02 04 02 bgt cr7,0x29b4f4
0029b560: 00 00 fd 02 cmpw cr7,r22,r27
0029b570: f9 00 fb fd beq cr7,0x29b5f4
0029b580: f9 00 f9 fd cmpw cr7,r23,r18
0029b590: f9 00 f9 fd beq cr7,0x29b644
0029b5a0: fb fb fd fb subf r27,r25,r27
0029b5b0: fb fd f9 00 clrldi r3,r23,32
0029b5c0: fd f9 00 f9 clrldi r4,r27,32
0029b5d0: fb 00 f9 00 mr r5,r21
0029b5e0: fd 00 fb 00 add r23,r23,r25
0029b5f0: fd 02 fd 02 bl 0x29add8
0029b600: 02 02 00 04 cmplw cr7,r23,r18
0029b610: 04 02 02 04 bge cr7,0x29b570
0029b620: 02 04 02 04 std r2,40(r1) #28
0029b630: 02 04 02 04 lwz r0,0(r24) #0
0029b640: 02 02 04 02 clrldi r30,r23,32
0029b650: 02 00 04 fd clrldi r3,r31,32
0029b660: 00 00 00 fd lwz r2,4(r24) #4
0029b670: fd fb fd fb mr r4,r30
0029b680: fb fb fd fb mtctr r0
0029b690: fd 00 fd 02 bcctrl 20,0,0
0029b6a0: 02 02 04 02 ld r2,40(r1) #28
0029b6b0: 04 02 04 02 cmpwi cr7,r3,0 #0
0029b6c0: 00 02 fd 02 blt cr7,0x29b6dc
0029b6d0: 00 fd fd fd bne cr7,0x29b600
0029b750: 02 fd 00 00 mr r27,r30
0029b760: 02 00 02 00 cmpw cr7,r22,r27
0029b770: 04 00 04 02 bne cr7,0x29b6f4
0029b780: 02 04 00 06 cmpw cr7,r23,r18
0029b790: 02 04 02 02 beq cr7,0x29b820
0029b860: fb fd fb fb subf r27,r25,r27
0029b870: fd fb fb fd subf r31,r25,r31
0029b880: fd fb fb fd subf r19,r25,r19
0029b890: 00 f9 00 fb cmpw cr7,r27,r31
0029b8a0: fd fd fd fd beq cr7,0x29b8c0
0029b8b0: 00 fd 00 fd clrldi r3,r27,32
0029b8c0: fd 04 fd 02 clrldi r4,r19,32
0029b8d0: 00 02 02 02 clrldi r5,r31,32
0029b8e0: 04 00 06 fd mr r6,r21
0029b8f0: fd 0c fd 06 mr r23,r18
0029b900: 02 04 02 02 bl 0x29ae98
0029b910: 02 02 02 02 b 0x29b7a8
0029b9d0: fb fd fb fb subf r11,r22,r31
0029b9e0: fd fb fb fd subf r0,r19,r18
0029b9f0: fb fb fd fb rlwinm r10,r16,30,2,31
0029ba00: fd fd fb 00 divwu r11,r11,r17
0029ba10: 00 fd fd 00 rlwinm r9,r16,31,1,31
0029ba20: fd 02 fd 02 divwu r23,r0,r17
0029ba30: 02 00 02 02 cmplw cr7,r11,r23
0029ba40: 02 02 02 04 add r16,r9,r10
0029ba50: 02 02 02 04 bgt cr7,0x29bbac
0029ba60: 02 02 04 00 mr r3,r15
0029ba70: 00 04 00 04 clrldi r4,r11,32
0029ba80: 00 02 00 02 clrldi r5,r16,32
0029ba90: fd 00 00 fd mr r6,r21
0029baa0: fb 00 fb fd mr r7,r24
0029bab0: fb fd fb fd mr r22,r19
0029bac0: fd 00 fd 02 bl 0x29b6dc
0029bad0: 04 00 04 02 cmpwi cr7,r16,0 #0
0029bae0: 04 02 04 02 beq cr7,0x29bc3c
0029baf0: fd 04 fd 02 cmplwi cr7,r23,32 #20
0029bb00: fd 00 fd fd bgt cr7,0x29b7a0
0029bb10: fb fd fb fd cmplwi cr7,r23,1 #1
0029bb20: fb fd fb fd lwz r26,112(r1) #70
0029bb30: fb fd fb fd mr r27,r22
0029bb40: fb fd fb fd clrldi r25,r22,32
0029bb50: fb fd fb fd neg r29,r17
0029bb60: fb fd fb fd ble cr7,0x29bc00
0029bb70: fd fd fd fd addi r23,-1(r23) #ffffffff
0029bb80: 00 fd 02 fd cmpwi cr7,r23,0 #0
0029bb90: 02 00 02 00 beq cr7,0x29bc24
0029bba0: 04 00 04 00 add r27,r27,r17
0029bbb0: 02 02 02 04 std r2,40(r1) #28
0029bbc0: 02 02 04 00 lwz r0,0(r26) #0
0029bbd0: 00 04 00 04 clrldi r28,r27,32
0029bbe0: 02 02 00 04 mr r4,r25
0029bbf0: 04 fd 00 00 lwz r2,4(r26) #4
0029bc00: fd fd fd fd mr r3,r28
0029bc10: fd fb fd fb mtctr r0
0029bc20: fd fd 00 fb mr r30,r27
0029bc30: 04 00 02 02 mr r31,r27
0029bc40: 02 04 02 04 bcctrl 20,0,0
0029bc50: 02 02 02 00 ld r2,40(r1) #28
0029bc60: 00 fd 00 fd cmpwi cr7,r3,0 #0
0029bc70: fd fb 00 fb bge cr7,0x29bc7c
0029bc80: fd fb fd fb b 0x29be04
0029bc90: fd fb fd fb mr r30,r31
0029bca0: fd fb fd fb std r2,40(r1) #28
0029bcb0: fd fb fd fb lwz r0,0(r26) #0
0029bcc0: fd fb fd fb add r31,r31,r29
0029bcd0: f9 02 fb fd mr r3,r28
0029bce0: 00 fd 00 00 lwz r2,4(r26) #4
0029bcf0: 00 00 00 02 clrldi r4,r31,32
0029bd00: 02 00 fd 02 mtctr r0
0029bd10: f7 09 1c 1e bcctrl 20,0,0
0029bd20: dc f7 1b 1c ld r2,40(r1) #28
0029bd30: ee fb fb fb cmpwi cr7,r3,0 #0
0029bd40: fb e4 f5 11 blt cr7,0x29bd14
0029bd50: 22 1e 1b 18 cmpw cr7,r27,r30
0029bd60: 25 23 23 25 beq cr7,0x29bce4
0029bd70: 1b 18 18 1b clrldi r3,r30,32
0029bd80: 1e 1e 23 1c mr r4,r28
0029bd90: 22 1b 15 1b clrldi r5,r17,32
0029bda0: 25 22 23 23 addi r23,-1(r23) #ffffffff
0029bdb0: dc dc da e3 bl 0x29b814
0029bdc0: 23 22 1e 15 cmpwi cr7,r23,0 #0
0029bdd0: e7 ef e7 dd bne cr7,0x29bd44
0029bde0: da e3 e7 f2 ld r0,288(r1) #120
0029bdf0: ee ea dd e3 ld r14,128(r1) #80
0029be00: e3 dd dd dc ld r15,136(r1) #88
0029be10: dc dc dd dc mtlr r0
0029be20: e3 e4 e4 e4 ld r16,144(r1) #90
0029be30: fb fd 02 1b ld r17,152(r1) #98
0029be40: 23 22 1b 0d ld r18,160(r1) #a0
0029be50: 22 10 08 fb ld r19,168(r1) #a8
0029be60: 18 1b 1e 1e ld r20,176(r1) #b0
0029be70: e7 eb ee f2 ld r21,184(r1) #b8
0029be80: ef e7 e1 dd ld r22,192(r1) #c0
0029be90: ee e4 dd dc ld r23,200(r1) #c8
0029bea0: f7 01 0a 09 ld r24,208(r1) #d0
0029beb0: 1b 1c 1c 1c ld r25,216(r1) #d8
0029bec0: 23 22 23 23 ld r26,224(r1) #e0
0029bed0: 23 1e 22 1b ld r27,232(r1) #e8
0029bee0: 1c 22 1b 11 ld r28,240(r1) #f0
0029bef0: 10 18 1b 25 ld r29,248(r1) #f8
0029bf00: 18 1e 14 1e ld r30,256(r1) #100
0029bf10: ee e1 e1 da ld r31,264(r1) #108
0029bf20: 18 22 23 22 addi r1,272(r1) #110
0029bf30: e1 dc e1 dd blr
0029bfc0: dc e4 f5 04 clrldi r4,r23,32
0029bfd0: 23 18 fd ee clrldi r3,r19,32
0029bfe0: ef ee f2 ef clrldi r5,r16,32
0029bff0: dd e7 ef ee mr r6,r21
0029c000: e3 e3 e3 ea mr r7,r24
0029c010: 14 10 15 14 mr r23,r11
0029c020: 18 1b 1c 23 bl 0x29bae4
0029c030: 1e 22 1e 25 cmpwi cr7,r16,0 #0
0029c040: 1b 1b 22 1e bne cr7,0x29beec
0029c290: 0a 0a fd eb mr r4,r28
0029c2a0: 01 04 14 1c mr r3,r25
0029c2b0: e7 f5 04 1b clrldi r5,r17,32
0029c2c0: dc e1 e4 e7 bl 0x29bbe0
0029c2d0: ee e3 e1 f5 b 0x29c0f8
LLVM bytecode:
; ModuleID = 'Module'
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-elf"
declare x86_64_win64cc i32 @execute_unknown_function(i8*, i64)
declare x86_64_win64cc i32 @execute_unknown_block(i8*, i64)
define x86_64_win64cc i32 @fn_0x000A6ACC_0(i8* %ppu_state, i64 %context) {
entry:
br label %instr_0x000A6ACC
instr_0x000A6ACC: ; preds = %entry
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 5, i32 0)
br label %instr_0x000A6AD0
instr_0x000A6AD0: ; preds = %instr_0x000A6ACC
%0 = call i32 @MFSPR(i8* %ppu_state, i32 0, i32 256)
br label %instr_0x000A6AD4
instr_0x000A6AD4: ; preds = %instr_0x000A6AD0
%1 = call i32 @STDU(i8* %ppu_state, i32 1, i32 1, i32 -272)
br label %instr_0x000A6AD8
instr_0x000A6AD8: ; preds = %instr_0x000A6AD4
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 16, i32 1, i32 144)
br label %instr_0x000A6ADC
instr_0x000A6ADC: ; preds = %instr_0x000A6AD8
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 17, i32 1, i32 152)
br label %instr_0x000A6AE0
instr_0x000A6AE0: ; preds = %instr_0x000A6ADC
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 22, i32 1, i32 192)
br label %instr_0x000A6AE4
instr_0x000A6AE4: ; preds = %instr_0x000A6AE0
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 23, i32 1, i32 200)
br label %instr_0x000A6AE8
instr_0x000A6AE8: ; preds = %instr_0x000A6AE4
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 14, i32 1, i32 128)
br label %instr_0x000A6AEC
instr_0x000A6AEC: ; preds = %instr_0x000A6AE8
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 15, i32 1, i32 136)
br label %instr_0x000A6AF0
instr_0x000A6AF0: ; preds = %instr_0x000A6AEC
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 18, i32 1, i32 160)
br label %instr_0x000A6AF4
instr_0x000A6AF4: ; preds = %instr_0x000A6AF0
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 19, i32 1, i32 168)
br label %instr_0x000A6AF8
instr_0x000A6AF8: ; preds = %instr_0x000A6AF4
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 20, i32 1, i32 176)
br label %instr_0x000A6AFC
instr_0x000A6AFC: ; preds = %instr_0x000A6AF8
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 21, i32 1, i32 184)
br label %instr_0x000A6B00
instr_0x000A6B00: ; preds = %instr_0x000A6AFC
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 24, i32 1, i32 208)
br label %instr_0x000A6B04
instr_0x000A6B04: ; preds = %instr_0x000A6B00
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 25, i32 1, i32 216)
br label %instr_0x000A6B08
instr_0x000A6B08: ; preds = %instr_0x000A6B04
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 26, i32 1, i32 224)
br label %instr_0x000A6B0C
instr_0x000A6B0C: ; preds = %instr_0x000A6B08
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 27, i32 1, i32 232)
br label %instr_0x000A6B10
instr_0x000A6B10: ; preds = %instr_0x000A6B0C
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 28, i32 1, i32 240)
br label %instr_0x000A6B14
instr_0x000A6B14: ; preds = %instr_0x000A6B10
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 29, i32 1, i32 248)
br label %instr_0x000A6B18
instr_0x000A6B18: ; preds = %instr_0x000A6B14
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 30, i32 1, i32 256)
br label %instr_0x000A6B1C
instr_0x000A6B1C: ; preds = %instr_0x000A6B18
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 31, i32 1, i32 264)
br label %instr_0x000A6B20
instr_0x000A6B20: ; preds = %instr_0x000A6B1C
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 0, i32 1, i32 288)
br label %instr_0x000A6B24
instr_0x000A6B24: ; preds = %instr_0x000A6B20
%2 = call i32 @OR(i8* %ppu_state, i32 16, i32 5, i32 5, i32 0)
br label %instr_0x000A6B28
instr_0x000A6B28: ; preds = %instr_0x000A6B24
%3 = call i32 @OR(i8* %ppu_state, i32 22, i32 3, i32 3, i32 0)
br label %instr_0x000A6B2C
instr_0x000A6B2C: ; preds = %instr_0x000A6B28
%4 = call i32 @OR(i8* %ppu_state, i32 23, i32 4, i32 4, i32 0)
br label %instr_0x000A6B30
instr_0x000A6B30: ; preds = %instr_0x000A6B2C
call void @STW(i8* %ppu_state, i32 7, i32 1, i32 112)
br label %instr_0x000A6B34
instr_0x000A6B34: ; preds = %instr_0x000A6B30
%5 = call i32 @OR(i8* %ppu_state, i32 17, i32 6, i32 6, i32 0)
br label %instr_0x000A6B38
instr_0x000A6B38: ; preds = %instr_0x000A6B34
%6 = getelementptr i8* %ppu_state, i32 1576
%7 = bitcast i8* %6 to i64*
%8 = load i64* %7, align 8
%9 = getelementptr i8* %ppu_state, i32 1540
%10 = bitcast i8* %9 to i32*
%11 = load i32* %10, align 4
%12 = lshr i32 %11, 1
%13 = and i32 %12, 1
%14 = trunc i32 %13 to i1
br i1 %14, label %instr_0x000A7014, label %instr_0x000A6B3C
instr_0x000A6B3C: ; preds = %instr_0x000A6B38
call void @CMPLI(i8* %ppu_state, i32 7, i32 0, i32 4, i32 32)
br label %instr_0x000A6B40
instr_0x000A6B40: ; preds = %instr_0x000A6B3C
%15 = getelementptr i8* %ppu_state, i32 1576
%16 = bitcast i8* %15 to i64*
%17 = load i64* %16, align 8
%18 = getelementptr i8* %ppu_state, i32 1540
%19 = bitcast i8* %18 to i32*
%20 = load i32* %19, align 4
%21 = lshr i32 %20, 2
%22 = and i32 %21, 1
%23 = trunc i32 %22 to i1
%24 = xor i1 %23, true
br i1 %24, label %instr_0x000A6EC4, label %instr_0x000A6B44
instr_0x000A6B44: ; preds = %instr_0x000A6B40
call void @RLWINM(i8* %ppu_state, i32 9, i32 6, i32 3, i32 0, i32 28, i32 0)
br label %instr_0x000A6B48
instr_0x000A6B48: ; preds = %instr_0x000A6B44
call void @RLWINM(i8* %ppu_state, i32 0, i32 6, i32 5, i32 0, i32 26, i32 0)
br label %instr_0x000A6B4C
instr_0x000A6B4C: ; preds = %instr_0x000A6B48
%25 = call i32 @OR(i8* %ppu_state, i32 25, i32 6, i32 6, i32 0)
br label %instr_0x000A6B50
instr_0x000A6B50: ; preds = %instr_0x000A6B4C
call void @ADD(i8* %ppu_state, i32 14, i32 9, i32 0, i32 0, i32 0)
br label %instr_0x000A6B54
instr_0x000A6B54: ; preds = %instr_0x000A6B50
call void @RLDICL(i8* %ppu_state, i32 21, i32 6, i32 0, i32 32, i32 0)
br label %instr_0x000A6B58
instr_0x000A6B58: ; preds = %instr_0x000A6B54
call void @RLDICL(i8* %ppu_state, i32 24, i32 7, i32 0, i32 32, i32 0)
br label %instr_0x000A6B5C
instr_0x000A6B5C: ; preds = %instr_0x000A6B58
call void @NEG(i8* %ppu_state, i32 20, i32 6, i32 0, i32 0)
br label %instr_0x000A6B60
instr_0x000A6B60: ; preds = %instr_0x000A6EC0, %instr_0x000A6B5C
call void @RLWINM(i8* %ppu_state, i32 0, i32 23, i32 31, i32 1, i32 31, i32 0)
br label %instr_0x000A6B64
instr_0x000A6B64: ; preds = %instr_0x000A6B60
call void @MULLW(i8* %ppu_state, i32 9, i32 17, i32 23, i32 0, i32 0)
br label %instr_0x000A6B68
instr_0x000A6B68: ; preds = %instr_0x000A6B64
call void @ADD(i8* %ppu_state, i32 18, i32 9, i32 22, i32 0, i32 0)
br label %instr_0x000A6B6C
instr_0x000A6B6C: ; preds = %instr_0x000A6B68
call void @MULLW(i8* %ppu_state, i32 0, i32 17, i32 0, i32 0, i32 0)
br label %instr_0x000A6B70
instr_0x000A6B70: ; preds = %instr_0x000A6B6C
call void @SUBF(i8* %ppu_state, i32 31, i32 25, i32 18, i32 0, i32 0)
br label %instr_0x000A6B74
instr_0x000A6B74: ; preds = %instr_0x000A6B70
call void @ADD(i8* %ppu_state, i32 23, i32 0, i32 22, i32 0, i32 0)
br label %instr_0x000A6B78
instr_0x000A6B78: ; preds = %instr_0x000A6B74
call void @SUBF(i8* %ppu_state, i32 29, i32 22, i32 31, i32 0, i32 0)
br label %instr_0x000A6B7C
instr_0x000A6B7C: ; preds = %instr_0x000A6B78
call void @ADD(i8* %ppu_state, i32 19, i32 23, i32 25, i32 0, i32 0)
br label %instr_0x000A6B80
instr_0x000A6B80: ; preds = %instr_0x000A6B7C
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 29, i32 14)
br label %instr_0x000A6B84
instr_0x000A6B84: ; preds = %instr_0x000A6B80
%26 = getelementptr i8* %ppu_state, i32 1576
%27 = bitcast i8* %26 to i64*
%28 = load i64* %27, align 8
%29 = getelementptr i8* %ppu_state, i32 1540
%30 = bitcast i8* %29 to i32*
%31 = load i32* %30, align 4
%32 = lshr i32 %31, 2
%33 = and i32 %32, 1
%34 = trunc i32 %33 to i1
%35 = xor i1 %34, true
br i1 %35, label %instr_0x000A6FD0, label %instr_0x000A6B88
instr_0x000A6B88: ; preds = %instr_0x000A6B84
call void @RLDICL(i8* %ppu_state, i32 15, i32 22, i32 0, i32 32, i32 0)
br label %instr_0x000A6B8C
instr_0x000A6B8C: ; preds = %instr_0x000A6B88
%36 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0)
br label %instr_0x000A6B90
instr_0x000A6B90: ; preds = %instr_0x000A6B8C
%37 = call i32 @OR(i8* %ppu_state, i32 3, i32 15, i32 15, i32 0)
br label %instr_0x000A6B94
instr_0x000A6B94: ; preds = %instr_0x000A6B90
%38 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0)
br label %instr_0x000A6B98
instr_0x000A6B98: ; preds = %instr_0x000A6B94
call void @RLDICL(i8* %ppu_state, i32 26, i32 23, i32 0, i32 32, i32 0)
br label %instr_0x000A6B9C
instr_0x000A6B9C: ; preds = %instr_0x000A6B98
call void @DIVWU(i8* %ppu_state, i32 29, i32 29, i32 17, i32 0, i32 0)
br label %instr_0x000A6BA0
instr_0x000A6BA0: ; preds = %instr_0x000A6B9C
call void @RLWINM(i8* %ppu_state, i32 29, i32 29, i32 29, i32 3, i32 31, i32 0)
br label %instr_0x000A6BA4
instr_0x000A6BA4: ; preds = %instr_0x000A6BA0
call void @ADDI(i8* %ppu_state, i32 29, i32 29, i32 1)
br label %instr_0x000A6BA8
instr_0x000A6BA8: ; preds = %instr_0x000A6BA4
call void @MULLW(i8* %ppu_state, i32 29, i32 17, i32 29, i32 0, i32 0)
br label %instr_0x000A6BAC
instr_0x000A6BAC: ; preds = %instr_0x000A6BA8
call void @RLWINM(i8* %ppu_state, i32 28, i32 29, i32 1, i32 0, i32 30, i32 0)
br label %instr_0x000A6BB0
instr_0x000A6BB0: ; preds = %instr_0x000A6BAC
call void @ADD(i8* %ppu_state, i32 27, i32 22, i32 29, i32 0, i32 0)
br label %instr_0x000A6BB4
instr_0x000A6BB4: ; preds = %instr_0x000A6BB0
call void @ADD(i8* %ppu_state, i32 5, i32 22, i32 28, i32 0, i32 0)
br label %instr_0x000A6BB8
instr_0x000A6BB8: ; preds = %instr_0x000A6BB4
call void @RLDICL(i8* %ppu_state, i32 27, i32 27, i32 0, i32 32, i32 0)
br label %instr_0x000A6BBC
instr_0x000A6BBC: ; preds = %instr_0x000A6BB8
call void @RLDICL(i8* %ppu_state, i32 5, i32 5, i32 0, i32 32, i32 0)
br label %instr_0x000A6BC0
instr_0x000A6BC0: ; preds = %instr_0x000A6BBC
%39 = call i32 @OR(i8* %ppu_state, i32 4, i32 27, i32 27, i32 0)
br label %instr_0x000A6BC4
instr_0x000A6BC4: ; preds = %instr_0x000A6BC0
call void @SUBF(i8* %ppu_state, i32 28, i32 28, i32 31, i32 0, i32 0)
br label %instr_0x000A6BC8
instr_0x000A6BC8: ; preds = %instr_0x000A6BC4
%40 = getelementptr i8* %ppu_state, i32 1568
%41 = bitcast i8* %40 to i64*
store i64 682956, i64* %41, align 8
%42 = getelementptr i8* %ppu_state, i32 1664
%43 = bitcast i8* %42 to i32*
store i32 682104, i32* %43, align 4
%44 = load i64* inttoptr (i64 8623115688 to i64*)
%45 = inttoptr i64 %44 to i32 (i8*, i64)*
%46 = call i32 %45(i8* %ppu_state, i64 0)
%47 = icmp eq i32 %46, -1
br i1 %47, label %instr_0x000A6BC8_then_all_fs, label %instr_0x000A6BC8_merge_all_fs
instr_0x000A6BC8_then_all_fs: ; preds = %instr_0x000A6BC8
ret i32 0
instr_0x000A6BC8_merge_all_fs: ; preds = %instr_0x000A6BC8
br label %instr_0x000A6BCC
instr_0x000A6BCC: ; preds = %instr_0x000A6BC8_merge_all_fs
call void @SUBF(i8* %ppu_state, i32 3, i32 29, i32 23, i32 0, i32 0)
br label %instr_0x000A6BD0
instr_0x000A6BD0: ; preds = %instr_0x000A6BCC
call void @ADD(i8* %ppu_state, i32 5, i32 23, i32 29, i32 0, i32 0)
br label %instr_0x000A6BD4
instr_0x000A6BD4: ; preds = %instr_0x000A6BD0
call void @SUBF(i8* %ppu_state, i32 29, i32 29, i32 31, i32 0, i32 0)
br label %instr_0x000A6BD8
instr_0x000A6BD8: ; preds = %instr_0x000A6BD4
call void @RLDICL(i8* %ppu_state, i32 3, i32 3, i32 0, i32 32, i32 0)
br label %instr_0x000A6BDC
instr_0x000A6BDC: ; preds = %instr_0x000A6BD8
call void @RLDICL(i8* %ppu_state, i32 5, i32 5, i32 0, i32 32, i32 0)
br label %instr_0x000A6BE0
instr_0x000A6BE0: ; preds = %instr_0x000A6BDC
%48 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0)
br label %instr_0x000A6BE4
instr_0x000A6BE4: ; preds = %instr_0x000A6BE0
%49 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0)
br label %instr_0x000A6BE8
instr_0x000A6BE8: ; preds = %instr_0x000A6BE4
%50 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0)
br label %instr_0x000A6BEC
instr_0x000A6BEC: ; preds = %instr_0x000A6BE8
call void @RLDICL(i8* %ppu_state, i32 29, i32 29, i32 0, i32 32, i32 0)
br label %instr_0x000A6BF0
instr_0x000A6BF0: ; preds = %instr_0x000A6BEC
%51 = getelementptr i8* %ppu_state, i32 1568
%52 = bitcast i8* %51 to i64*
store i64 682996, i64* %52, align 8
%53 = getelementptr i8* %ppu_state, i32 1664
%54 = bitcast i8* %53 to i32*
store i32 682104, i32* %54, align 4
%55 = load i64* inttoptr (i64 8623115688 to i64*)
%56 = inttoptr i64 %55 to i32 (i8*, i64)*
%57 = call i32 %56(i8* %ppu_state, i64 0)
%58 = icmp eq i32 %57, -1
br i1 %58, label %instr_0x000A6BF0_then_all_fs, label %instr_0x000A6BF0_merge_all_fs
instr_0x000A6BF0_then_all_fs: ; preds = %instr_0x000A6BF0
ret i32 0
instr_0x000A6BF0_merge_all_fs: ; preds = %instr_0x000A6BF0
br label %instr_0x000A6BF4
instr_0x000A6BF4: ; preds = %instr_0x000A6BF0_merge_all_fs
call void @RLDICL(i8* %ppu_state, i32 3, i32 28, i32 0, i32 32, i32 0)
br label %instr_0x000A6BF8
instr_0x000A6BF8: ; preds = %instr_0x000A6BF4
call void @RLDICL(i8* %ppu_state, i32 5, i32 31, i32 0, i32 32, i32 0)
br label %instr_0x000A6BFC
instr_0x000A6BFC: ; preds = %instr_0x000A6BF8
%59 = call i32 @OR(i8* %ppu_state, i32 4, i32 29, i32 29, i32 0)
br label %instr_0x000A6C00
instr_0x000A6C00: ; preds = %instr_0x000A6BFC
%60 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0)
br label %instr_0x000A6C04
instr_0x000A6C04: ; preds = %instr_0x000A6C00
%61 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0)
br label %instr_0x000A6C08
instr_0x000A6C08: ; preds = %instr_0x000A6C04
%62 = getelementptr i8* %ppu_state, i32 1568
%63 = bitcast i8* %62 to i64*
store i64 683020, i64* %63, align 8
%64 = getelementptr i8* %ppu_state, i32 1664
%65 = bitcast i8* %64 to i32*
store i32 682104, i32* %65, align 4
%66 = load i64* inttoptr (i64 8623115688 to i64*)
%67 = inttoptr i64 %66 to i32 (i8*, i64)*
%68 = call i32 %67(i8* %ppu_state, i64 0)
%69 = icmp eq i32 %68, -1
br i1 %69, label %instr_0x000A6C08_then_all_fs, label %instr_0x000A6C08_merge_all_fs
instr_0x000A6C08_then_all_fs: ; preds = %instr_0x000A6C08
ret i32 0
instr_0x000A6C08_merge_all_fs: ; preds = %instr_0x000A6C08
br label %instr_0x000A6C0C
instr_0x000A6C0C: ; preds = %instr_0x000A6C08_merge_all_fs
%70 = call i32 @OR(i8* %ppu_state, i32 3, i32 27, i32 27, i32 0)
br label %instr_0x000A6C10
instr_0x000A6C10: ; preds = %instr_0x000A6C0C
%71 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0)
br label %instr_0x000A6C14
instr_0x000A6C14: ; preds = %instr_0x000A6C10
%72 = call i32 @OR(i8* %ppu_state, i32 5, i32 29, i32 29, i32 0)
br label %instr_0x000A6C18
instr_0x000A6C18: ; preds = %instr_0x000A6C14
%73 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0)
br label %instr_0x000A6C1C
instr_0x000A6C1C: ; preds = %instr_0x000A6C18
%74 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0)
br label %instr_0x000A6C20
instr_0x000A6C20: ; preds = %instr_0x000A6C1C
%75 = getelementptr i8* %ppu_state, i32 1568
%76 = bitcast i8* %75 to i64*
store i64 683044, i64* %76, align 8
%77 = getelementptr i8* %ppu_state, i32 1664
%78 = bitcast i8* %77 to i32*
store i32 682104, i32* %78, align 4
%79 = load i64* inttoptr (i64 8623115688 to i64*)
%80 = inttoptr i64 %79 to i32 (i8*, i64)*
%81 = call i32 %80(i8* %ppu_state, i64 0)
%82 = icmp eq i32 %81, -1
br i1 %82, label %instr_0x000A6C20_then_all_fs, label %instr_0x000A6C20_merge_all_fs
instr_0x000A6C20_then_all_fs: ; preds = %instr_0x000A6C20
ret i32 0
instr_0x000A6C20_merge_all_fs: ; preds = %instr_0x000A6C20
br label %instr_0x000A6C24
instr_0x000A6C24: ; preds = %instr_0x000A6C20_merge_all_fs
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 23, i32 22)
br label %instr_0x000A6C28
instr_0x000A6C28: ; preds = %instr_0x000A6C24
%83 = call i32 @OR(i8* %ppu_state, i32 31, i32 23, i32 23, i32 0)
br label %instr_0x000A6C2C
instr_0x000A6C2C: ; preds = %instr_0x000A6C28
%84 = getelementptr i8* %ppu_state, i32 1576
%85 = bitcast i8* %84 to i64*
%86 = load i64* %85, align 8
%87 = getelementptr i8* %ppu_state, i32 1540
%88 = bitcast i8* %87 to i32*
%89 = load i32* %88, align 4
%90 = lshr i32 %89, 2
%91 = and i32 %90, 1
%92 = trunc i32 %91 to i1
%93 = xor i1 %92, true
br i1 %93, label %instr_0x000A6C84, label %instr_0x000A6C30
instr_0x000A6C30: ; preds = %instr_0x000A6C2C
%94 = call i32 @OR(i8* %ppu_state, i32 30, i32 23, i32 23, i32 0)
br label %instr_0x000A6C34
instr_0x000A6C34: ; preds = %instr_0x000A6C30
call void @NEG(i8* %ppu_state, i32 29, i32 25, i32 0, i32 0)
br label %instr_0x000A6C38
instr_0x000A6C38: ; preds = %instr_0x000A6C34
call void @SUBF(i8* %ppu_state, i32 26, i32 25, i32 23, i32 0, i32 0)
br label %instr_0x000A6C3C
instr_0x000A6C3C: ; preds = %instr_0x000A6C38
br label %instr_0x000A6C48
instr_0x000A6C40: ; preds = %instr_0x000A6C7C
%95 = phi i32 [ 683132, %instr_0x000A6C7C ]
%96 = getelementptr i8* %ppu_state, i32 1664
%97 = bitcast i8* %96 to i32*
store i32 683072, i32* %97, align 4
%98 = zext i32 %95 to i64
%99 = or i64 %98, 2932174172979200
%100 = load i64* inttoptr (i64 8623115696 to i64*)
%101 = inttoptr i64 %100 to i32 (i8*, i64)*
%102 = call i32 %101(i8* %ppu_state, i64 %99)
%103 = icmp eq i32 %102, -1
br i1 %103, label %instr_0x000A6C40_then_all_fs, label %instr_0x000A6C40_merge_all_fs
instr_0x000A6C40_then_all_fs: ; preds = %instr_0x000A6C40
ret i32 0
instr_0x000A6C40_merge_all_fs: ; preds = %instr_0x000A6C40
%104 = icmp ne i32 %102, 0
br i1 %104, label %instr_0x000A6C40_then_0, label %instr_0x000A6C40_merge_0
instr_0x000A6C40_then_0: ; preds = %instr_0x000A6C40_merge_all_fs
%105 = zext i32 %102 to i64
%106 = or i64 %105, 2932174172979200
%107 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %106)
br label %instr_0x000A6C40_merge_0
instr_0x000A6C40_merge_0: ; preds = %instr_0x000A6C40_then_0, %instr_0x000A6C40_merge_all_fs
ret i32 0
instr_0x000A6C48: ; preds = %instr_0x000A6C3C
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40)
br label %instr_0x000A6C4C
instr_0x000A6C4C: ; preds = %instr_0x000A6C48
%108 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0)
br label %instr_0x000A6C50
instr_0x000A6C50: ; preds = %instr_0x000A6C4C
call void @ADD(i8* %ppu_state, i32 31, i32 30, i32 29, i32 0, i32 0)
br label %instr_0x000A6C54
instr_0x000A6C54: ; preds = %instr_0x000A6C50
call void @RLDICL(i8* %ppu_state, i32 4, i32 30, i32 0, i32 32, i32 0)
br label %instr_0x000A6C58
instr_0x000A6C58: ; preds = %instr_0x000A6C54
%109 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4)
br label %instr_0x000A6C5C
instr_0x000A6C5C: ; preds = %instr_0x000A6C58
%110 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0)
br label %instr_0x000A6C60
instr_0x000A6C60: ; preds = %instr_0x000A6C5C
call void @RLDICL(i8* %ppu_state, i32 3, i32 31, i32 0, i32 32, i32 0)
br label %instr_0x000A6C64
instr_0x000A6C64: ; preds = %instr_0x000A6C60
call void @ADD(i8* %ppu_state, i32 26, i32 26, i32 29, i32 0, i32 0)
br label %instr_0x000A6C68
instr_0x000A6C68: ; preds = %instr_0x000A6C64
%111 = getelementptr i8* %ppu_state, i32 1576
%112 = bitcast i8* %111 to i64*
%113 = load i64* %112, align 8
%114 = and i64 %113, -4
%115 = trunc i64 %114 to i32
%116 = getelementptr i8* %ppu_state, i32 1576
%117 = bitcast i8* %116 to i64*
%118 = load i64* %117, align 8
%119 = getelementptr i8* %ppu_state, i32 1568
%120 = bitcast i8* %119 to i64*
store i64 683116, i64* %120, align 8
%121 = getelementptr i8* %ppu_state, i32 1664
%122 = bitcast i8* %121 to i32*
store i32 %115, i32* %122, align 4
switch i32 %115, label %instr_0x000A6C68_unknown_function [
i32 469328, label %instr_0x000A6C68_0x00072950
]
instr_0x000A6C68_unknown_function: ; preds = %instr_0x000A6C68
%123 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6C6C
instr_0x000A6C68_0x00072950: ; preds = %instr_0x000A6C68
%124 = load i64* inttoptr (i64 8623115688 to i64*)
%125 = inttoptr i64 %124 to i32 (i8*, i64)*
%126 = call i32 %125(i8* %ppu_state, i64 0)
%127 = icmp eq i32 %126, -1
br i1 %127, label %instr_0x000A6C68_then_all_fs, label %instr_0x000A6C68_merge_all_fs
instr_0x000A6C68_then_all_fs: ; preds = %instr_0x000A6C68_0x00072950
ret i32 0
instr_0x000A6C68_merge_all_fs: ; preds = %instr_0x000A6C68_0x00072950
br label %instr_0x000A6C6C
instr_0x000A6C6C: ; preds = %instr_0x000A6C68_merge_all_fs, %instr_0x000A6C68_unknown_function
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6C70
instr_0x000A6C70: ; preds = %instr_0x000A6C6C
call void @ADD(i8* %ppu_state, i32 0, i32 25, i32 26, i32 0, i32 0)
br label %instr_0x000A6C74
instr_0x000A6C74: ; preds = %instr_0x000A6C70
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0)
br label %instr_0x000A6C78
instr_0x000A6C78: ; preds = %instr_0x000A6C74
call void @CMPL(i8* %ppu_state, i32 6, i32 0, i32 0, i32 22)
br label %instr_0x000A6C7C
instr_0x000A6C7C: ; preds = %instr_0x000A6C78
%128 = getelementptr i8* %ppu_state, i32 1576
%129 = bitcast i8* %128 to i64*
%130 = load i64* %129, align 8
%131 = getelementptr i8* %ppu_state, i32 1540
%132 = bitcast i8* %131 to i32*
%133 = load i32* %132, align 4
%134 = lshr i32 %133, 1
%135 = and i32 %134, 1
%136 = trunc i32 %135 to i1
br i1 %136, label %instr_0x000A6C40, label %instr_0x000A6C80
instr_0x000A6C80: ; preds = %instr_0x000A6C7C
%137 = call i32 @OR(i8* %ppu_state, i32 31, i32 30, i32 30, i32 0)
br label %instr_0x000A6C84
instr_0x000A6C84: ; preds = %instr_0x000A6C80, %instr_0x000A6C2C
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 18, i32 19)
br label %instr_0x000A6C88
instr_0x000A6C88: ; preds = %instr_0x000A6C84
call void @ADD(i8* %ppu_state, i32 30, i32 19, i32 25, i32 0, i32 0)
br label %instr_0x000A6C8C
instr_0x000A6C8C: ; preds = %instr_0x000A6C88
call void @RLDICL(i8* %ppu_state, i32 26, i32 31, i32 0, i32 32, i32 0)
br label %instr_0x000A6C90
instr_0x000A6C90: ; preds = %instr_0x000A6C8C
%138 = getelementptr i8* %ppu_state, i32 1576
%139 = bitcast i8* %138 to i64*
%140 = load i64* %139, align 8
%141 = getelementptr i8* %ppu_state, i32 1540
%142 = bitcast i8* %141 to i32*
%143 = load i32* %142, align 4
%144 = lshr i32 %143, 2
%145 = and i32 %144, 1
%146 = trunc i32 %145 to i1
br i1 %146, label %instr_0x000A6CA0, label %instr_0x000A6C94
instr_0x000A6C94: ; preds = %instr_0x000A6C90
%147 = phi i32 [ 683152, %instr_0x000A6C90 ]
%148 = getelementptr i8* %ppu_state, i32 1664
%149 = bitcast i8* %148 to i32*
store i32 683156, i32* %149, align 4
%150 = zext i32 %147 to i64
%151 = or i64 %150, 2932174172979200
%152 = load i64* inttoptr (i64 8623115696 to i64*)
%153 = inttoptr i64 %152 to i32 (i8*, i64)*
%154 = call i32 %153(i8* %ppu_state, i64 %151)
%155 = icmp eq i32 %154, -1
br i1 %155, label %instr_0x000A6C94_then_all_fs, label %instr_0x000A6C94_merge_all_fs
instr_0x000A6C94_then_all_fs: ; preds = %instr_0x000A6C94
ret i32 0
instr_0x000A6C94_merge_all_fs: ; preds = %instr_0x000A6C94
%156 = icmp ne i32 %154, 0
br i1 %156, label %instr_0x000A6C94_then_0, label %instr_0x000A6C94_merge_0
instr_0x000A6C94_then_0: ; preds = %instr_0x000A6C94_merge_all_fs
%157 = zext i32 %154 to i64
%158 = or i64 %157, 2932174172979200
%159 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %158)
br label %instr_0x000A6C94_merge_0
instr_0x000A6C94_merge_0: ; preds = %instr_0x000A6C94_then_0, %instr_0x000A6C94_merge_all_fs
ret i32 0
instr_0x000A6C98: ; preds = %instr_0x000A6CD0
%160 = phi i32 [ 683216, %instr_0x000A6CD0 ]
%161 = getelementptr i8* %ppu_state, i32 1664
%162 = bitcast i8* %161 to i32*
store i32 683160, i32* %162, align 4
%163 = zext i32 %160 to i64
%164 = or i64 %163, 2932174172979200
%165 = load i64* inttoptr (i64 8623115696 to i64*)
%166 = inttoptr i64 %165 to i32 (i8*, i64)*
%167 = call i32 %166(i8* %ppu_state, i64 %164)
%168 = icmp eq i32 %167, -1
br i1 %168, label %instr_0x000A6C98_then_all_fs, label %instr_0x000A6C98_merge_all_fs
instr_0x000A6C98_then_all_fs: ; preds = %instr_0x000A6C98
ret i32 0
instr_0x000A6C98_merge_all_fs: ; preds = %instr_0x000A6C98
%169 = icmp ne i32 %167, 0
br i1 %169, label %instr_0x000A6C98_then_0, label %instr_0x000A6C98_merge_0
instr_0x000A6C98_then_0: ; preds = %instr_0x000A6C98_merge_all_fs
%170 = zext i32 %167 to i64
%171 = or i64 %170, 2932174172979200
%172 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %171)
br label %instr_0x000A6C98_merge_0
instr_0x000A6C98_merge_0: ; preds = %instr_0x000A6C98_then_0, %instr_0x000A6C98_merge_all_fs
ret i32 0
instr_0x000A6CA0: ; preds = %instr_0x000A6C90
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40)
br label %instr_0x000A6CA4
instr_0x000A6CA4: ; preds = %instr_0x000A6CA0
%173 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0)
br label %instr_0x000A6CA8
instr_0x000A6CA8: ; preds = %instr_0x000A6CA4
call void @RLDICL(i8* %ppu_state, i32 3, i32 19, i32 0, i32 32, i32 0)
br label %instr_0x000A6CAC
instr_0x000A6CAC: ; preds = %instr_0x000A6CA8
%174 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0)
br label %instr_0x000A6CB0
instr_0x000A6CB0: ; preds = %instr_0x000A6CAC
%175 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4)
br label %instr_0x000A6CB4
instr_0x000A6CB4: ; preds = %instr_0x000A6CB0
%176 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0)
br label %instr_0x000A6CB8
instr_0x000A6CB8: ; preds = %instr_0x000A6CB4
call void @ADD(i8* %ppu_state, i32 30, i32 30, i32 25, i32 0, i32 0)
br label %instr_0x000A6CBC
instr_0x000A6CBC: ; preds = %instr_0x000A6CB8
%177 = getelementptr i8* %ppu_state, i32 1576
%178 = bitcast i8* %177 to i64*
%179 = load i64* %178, align 8
%180 = and i64 %179, -4
%181 = trunc i64 %180 to i32
%182 = getelementptr i8* %ppu_state, i32 1576
%183 = bitcast i8* %182 to i64*
%184 = load i64* %183, align 8
%185 = getelementptr i8* %ppu_state, i32 1568
%186 = bitcast i8* %185 to i64*
store i64 683200, i64* %186, align 8
%187 = getelementptr i8* %ppu_state, i32 1664
%188 = bitcast i8* %187 to i32*
store i32 %181, i32* %188, align 4
switch i32 %181, label %instr_0x000A6CBC_unknown_function [
i32 469328, label %instr_0x000A6CBC_0x00072950
]
instr_0x000A6CBC_unknown_function: ; preds = %instr_0x000A6CBC
%189 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6CC0
instr_0x000A6CBC_0x00072950: ; preds = %instr_0x000A6CBC
%190 = load i64* inttoptr (i64 8623115688 to i64*)
%191 = inttoptr i64 %190 to i32 (i8*, i64)*
%192 = call i32 %191(i8* %ppu_state, i64 0)
%193 = icmp eq i32 %192, -1
br i1 %193, label %instr_0x000A6CBC_then_all_fs, label %instr_0x000A6CBC_merge_all_fs
instr_0x000A6CBC_then_all_fs: ; preds = %instr_0x000A6CBC_0x00072950
ret i32 0
instr_0x000A6CBC_merge_all_fs: ; preds = %instr_0x000A6CBC_0x00072950
br label %instr_0x000A6CC0
instr_0x000A6CC0: ; preds = %instr_0x000A6CBC_merge_all_fs, %instr_0x000A6CBC_unknown_function
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6CC4
instr_0x000A6CC4: ; preds = %instr_0x000A6CC0
call void @SUBF(i8* %ppu_state, i32 0, i32 25, i32 30, i32 0, i32 0)
br label %instr_0x000A6CC8
instr_0x000A6CC8: ; preds = %instr_0x000A6CC4
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0)
br label %instr_0x000A6CCC
instr_0x000A6CCC: ; preds = %instr_0x000A6CC8
call void @CMPL(i8* %ppu_state, i32 6, i32 0, i32 0, i32 18)
br label %instr_0x000A6CD0
instr_0x000A6CD0: ; preds = %instr_0x000A6CCC
%194 = getelementptr i8* %ppu_state, i32 1576
%195 = bitcast i8* %194 to i64*
%196 = load i64* %195, align 8
%197 = getelementptr i8* %ppu_state, i32 1540
%198 = bitcast i8* %197 to i32*
%199 = load i32* %198, align 4
%200 = lshr i32 %199, 1
%201 = and i32 %200, 1
%202 = trunc i32 %201 to i1
br i1 %202, label %instr_0x000A6C98, label %instr_0x000A6CD4
instr_0x000A6CD4: ; preds = %instr_0x000A6CD0
%203 = call i32 @OR(i8* %ppu_state, i32 23, i32 19, i32 19, i32 0)
br label %instr_0x000A6CD8
instr_0x000A6CD8: ; preds = %instr_0x000A6CD4
%204 = call i32 @OR(i8* %ppu_state, i32 27, i32 31, i32 31, i32 0)
br label %instr_0x000A6CDC
instr_0x000A6CDC: ; preds = %instr_0x000A6E44, %instr_0x000A6CD8
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18)
br label %instr_0x000A6CE0
instr_0x000A6CE0: ; preds = %instr_0x000A6CDC
%205 = getelementptr i8* %ppu_state, i32 1576
%206 = bitcast i8* %205 to i64*
%207 = load i64* %206, align 8
%208 = getelementptr i8* %ppu_state, i32 1540
%209 = bitcast i8* %208 to i32*
%210 = load i32* %209, align 4
%211 = lshr i32 %210, 3
%212 = and i32 %211, 1
%213 = trunc i32 %212 to i1
br i1 %213, label %instr_0x000A6D88, label %instr_0x000A6CE4
instr_0x000A6CE4: ; preds = %instr_0x000A6DB4, %instr_0x000A6D84, %instr_0x000A6CE0
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 27, i32 22)
br label %instr_0x000A6CE8
instr_0x000A6CE8: ; preds = %instr_0x000A6CE4
%214 = getelementptr i8* %ppu_state, i32 1576
%215 = bitcast i8* %214 to i64*
%216 = load i64* %215, align 8
%217 = getelementptr i8* %ppu_state, i32 1540
%218 = bitcast i8* %217 to i32*
%219 = load i32* %218, align 4
%220 = lshr i32 %219, 2
%221 = and i32 %220, 1
%222 = trunc i32 %221 to i1
%223 = xor i1 %222, true
br i1 %223, label %instr_0x000A6D58, label %instr_0x000A6CEC
instr_0x000A6CEC: ; preds = %instr_0x000A6CE8
call void @SUBF(i8* %ppu_state, i32 28, i32 25, i32 27, i32 0, i32 0)
br label %instr_0x000A6CF0
instr_0x000A6CF0: ; preds = %instr_0x000A6CEC
%224 = call i32 @OR(i8* %ppu_state, i32 30, i32 27, i32 27, i32 0)
br label %instr_0x000A6CF4
instr_0x000A6CF4: ; preds = %instr_0x000A6CF0
call void @RLDICL(i8* %ppu_state, i32 26, i32 31, i32 0, i32 32, i32 0)
br label %instr_0x000A6CF8
instr_0x000A6CF8: ; preds = %instr_0x000A6D54, %instr_0x000A6CF4
call void @ADD(i8* %ppu_state, i32 27, i32 20, i32 27, i32 0, i32 0)
br label %instr_0x000A6CFC
instr_0x000A6CFC: ; preds = %instr_0x000A6CF8
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40)
br label %instr_0x000A6D00
instr_0x000A6D00: ; preds = %instr_0x000A6CFC
call void @RLDICL(i8* %ppu_state, i32 29, i32 27, i32 0, i32 32, i32 0)
br label %instr_0x000A6D04
instr_0x000A6D04: ; preds = %instr_0x000A6D00
%225 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0)
br label %instr_0x000A6D08
instr_0x000A6D08: ; preds = %instr_0x000A6D04
%226 = call i32 @OR(i8* %ppu_state, i32 4, i32 26, i32 26, i32 0)
br label %instr_0x000A6D0C
instr_0x000A6D0C: ; preds = %instr_0x000A6D08
%227 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4)
br label %instr_0x000A6D10
instr_0x000A6D10: ; preds = %instr_0x000A6D0C
%228 = call i32 @OR(i8* %ppu_state, i32 3, i32 29, i32 29, i32 0)
br label %instr_0x000A6D14
instr_0x000A6D14: ; preds = %instr_0x000A6D10
%229 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0)
br label %instr_0x000A6D18
instr_0x000A6D18: ; preds = %instr_0x000A6D14
call void @ADD(i8* %ppu_state, i32 28, i32 28, i32 20, i32 0, i32 0)
br label %instr_0x000A6D1C
instr_0x000A6D1C: ; preds = %instr_0x000A6D18
%230 = getelementptr i8* %ppu_state, i32 1576
%231 = bitcast i8* %230 to i64*
%232 = load i64* %231, align 8
%233 = and i64 %232, -4
%234 = trunc i64 %233 to i32
%235 = getelementptr i8* %ppu_state, i32 1576
%236 = bitcast i8* %235 to i64*
%237 = load i64* %236, align 8
%238 = getelementptr i8* %ppu_state, i32 1568
%239 = bitcast i8* %238 to i64*
store i64 683296, i64* %239, align 8
%240 = getelementptr i8* %ppu_state, i32 1664
%241 = bitcast i8* %240 to i32*
store i32 %234, i32* %241, align 4
switch i32 %234, label %instr_0x000A6D1C_unknown_function [
i32 469328, label %instr_0x000A6D1C_0x00072950
]
instr_0x000A6D1C_unknown_function: ; preds = %instr_0x000A6D1C
%242 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6D20
instr_0x000A6D1C_0x00072950: ; preds = %instr_0x000A6D1C
%243 = load i64* inttoptr (i64 8623115688 to i64*)
%244 = inttoptr i64 %243 to i32 (i8*, i64)*
%245 = call i32 %244(i8* %ppu_state, i64 0)
%246 = icmp eq i32 %245, -1
br i1 %246, label %instr_0x000A6D1C_then_all_fs, label %instr_0x000A6D1C_merge_all_fs
instr_0x000A6D1C_then_all_fs: ; preds = %instr_0x000A6D1C_0x00072950
ret i32 0
instr_0x000A6D1C_merge_all_fs: ; preds = %instr_0x000A6D1C_0x00072950
br label %instr_0x000A6D20
instr_0x000A6D20: ; preds = %instr_0x000A6D1C_merge_all_fs, %instr_0x000A6D1C_unknown_function
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6D24
instr_0x000A6D24: ; preds = %instr_0x000A6D20
%247 = call i32 @OR(i8* %ppu_state, i32 4, i32 29, i32 29, i32 0)
br label %instr_0x000A6D28
instr_0x000A6D28: ; preds = %instr_0x000A6D24
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0)
br label %instr_0x000A6D2C
instr_0x000A6D2C: ; preds = %instr_0x000A6D28
%248 = call i32 @OR(i8* %ppu_state, i32 5, i32 21, i32 21, i32 0)
br label %instr_0x000A6D30
instr_0x000A6D30: ; preds = %instr_0x000A6D2C
%249 = getelementptr i8* %ppu_state, i32 1576
%250 = bitcast i8* %249 to i64*
%251 = load i64* %250, align 8
%252 = getelementptr i8* %ppu_state, i32 1540
%253 = bitcast i8* %252 to i32*
%254 = load i32* %253, align 4
%255 = lshr i32 %254, 3
%256 = and i32 %255, 1
%257 = trunc i32 %256 to i1
br i1 %257, label %instr_0x000A6D48, label %instr_0x000A6D34
instr_0x000A6D34: ; preds = %instr_0x000A6D30
%258 = getelementptr i8* %ppu_state, i32 1576
%259 = bitcast i8* %258 to i64*
%260 = load i64* %259, align 8
%261 = getelementptr i8* %ppu_state, i32 1540
%262 = bitcast i8* %261 to i32*
%263 = load i32* %262, align 4
%264 = lshr i32 %263, 1
%265 = and i32 %264, 1
%266 = trunc i32 %265 to i1
%267 = xor i1 %266, true
br i1 %267, label %instr_0x000A6DD4, label %instr_0x000A6D38
instr_0x000A6D38: ; preds = %instr_0x000A6D34
%268 = phi i32 [ 683316, %instr_0x000A6D34 ]
%269 = getelementptr i8* %ppu_state, i32 1664
%270 = bitcast i8* %269 to i32*
store i32 683320, i32* %270, align 4
%271 = zext i32 %268 to i64
%272 = or i64 %271, 2932174172979200
%273 = load i64* inttoptr (i64 8623115696 to i64*)
%274 = inttoptr i64 %273 to i32 (i8*, i64)*
%275 = call i32 %274(i8* %ppu_state, i64 %272)
%276 = icmp eq i32 %275, -1
br i1 %276, label %instr_0x000A6D38_then_all_fs, label %instr_0x000A6D38_merge_all_fs
instr_0x000A6D38_then_all_fs: ; preds = %instr_0x000A6D38
ret i32 0
instr_0x000A6D38_merge_all_fs: ; preds = %instr_0x000A6D38
%277 = icmp ne i32 %275, 0
br i1 %277, label %instr_0x000A6D38_then_0, label %instr_0x000A6D38_merge_0
instr_0x000A6D38_then_0: ; preds = %instr_0x000A6D38_merge_all_fs
%278 = zext i32 %275 to i64
%279 = or i64 %278, 2932174172979200
%280 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %279)
br label %instr_0x000A6D38_merge_0
instr_0x000A6D38_merge_0: ; preds = %instr_0x000A6D38_then_0, %instr_0x000A6D38_merge_all_fs
ret i32 0
instr_0x000A6D48: ; preds = %instr_0x000A6D30
call void @ADD(i8* %ppu_state, i32 0, i32 28, i32 25, i32 0, i32 0)
br label %instr_0x000A6D4C
instr_0x000A6D4C: ; preds = %instr_0x000A6D48
%281 = call i32 @OR(i8* %ppu_state, i32 30, i32 27, i32 27, i32 0)
br label %instr_0x000A6D50
instr_0x000A6D50: ; preds = %instr_0x000A6D4C
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 0, i32 22)
br label %instr_0x000A6D54
instr_0x000A6D54: ; preds = %instr_0x000A6D50
%282 = getelementptr i8* %ppu_state, i32 1576
%283 = bitcast i8* %282 to i64*
%284 = load i64* %283, align 8
%285 = getelementptr i8* %ppu_state, i32 1540
%286 = bitcast i8* %285 to i32*
%287 = load i32* %286, align 4
%288 = lshr i32 %287, 2
%289 = and i32 %288, 1
%290 = trunc i32 %289 to i1
br i1 %290, label %instr_0x000A6CF8, label %instr_0x000A6D58
instr_0x000A6D58: ; preds = %instr_0x000A6D54, %instr_0x000A6CE8
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 22, i32 27)
br label %instr_0x000A6D5C
instr_0x000A6D5C: ; preds = %instr_0x000A6D58
%291 = getelementptr i8* %ppu_state, i32 1576
%292 = bitcast i8* %291 to i64*
%293 = load i64* %292, align 8
%294 = getelementptr i8* %ppu_state, i32 1540
%295 = bitcast i8* %294 to i32*
%296 = load i32* %295, align 4
%297 = lshr i32 %296, 1
%298 = and i32 %297, 1
%299 = trunc i32 %298 to i1
br i1 %299, label %instr_0x000A6DE0, label %instr_0x000A6D60
instr_0x000A6D60: ; preds = %instr_0x000A6DDC, %instr_0x000A6D5C
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18)
br label %instr_0x000A6D64
instr_0x000A6D64: ; preds = %instr_0x000A6D60
%300 = getelementptr i8* %ppu_state, i32 1576
%301 = bitcast i8* %300 to i64*
%302 = load i64* %301, align 8
%303 = getelementptr i8* %ppu_state, i32 1540
%304 = bitcast i8* %303 to i32*
%305 = load i32* %304, align 4
%306 = lshr i32 %305, 1
%307 = and i32 %306, 1
%308 = trunc i32 %307 to i1
br i1 %308, label %instr_0x000A6E18, label %instr_0x000A6D68
instr_0x000A6D68: ; preds = %instr_0x000A6D64
call void @SUBF(i8* %ppu_state, i32 27, i32 25, i32 27, i32 0, i32 0)
br label %instr_0x000A6D6C
instr_0x000A6D6C: ; preds = %instr_0x000A6D68
call void @RLDICL(i8* %ppu_state, i32 3, i32 23, i32 0, i32 32, i32 0)
br label %instr_0x000A6D70
instr_0x000A6D70: ; preds = %instr_0x000A6D6C
call void @RLDICL(i8* %ppu_state, i32 4, i32 27, i32 0, i32 32, i32 0)
br label %instr_0x000A6D74
instr_0x000A6D74: ; preds = %instr_0x000A6D70
%309 = call i32 @OR(i8* %ppu_state, i32 5, i32 21, i32 21, i32 0)
br label %instr_0x000A6D78
instr_0x000A6D78: ; preds = %instr_0x000A6D74
call void @ADD(i8* %ppu_state, i32 23, i32 23, i32 25, i32 0, i32 0)
br label %instr_0x000A6D7C
instr_0x000A6D7C: ; preds = %instr_0x000A6D78
%310 = getelementptr i8* %ppu_state, i32 1568
%311 = bitcast i8* %310 to i64*
store i64 683392, i64* %311, align 8
%312 = getelementptr i8* %ppu_state, i32 1664
%313 = bitcast i8* %312 to i32*
store i32 681316, i32* %313, align 4
%314 = load i64* inttoptr (i64 8623115688 to i64*)
%315 = inttoptr i64 %314 to i32 (i8*, i64)*
%316 = call i32 %315(i8* %ppu_state, i64 0)
%317 = icmp eq i32 %316, -1
br i1 %317, label %instr_0x000A6D7C_then_all_fs, label %instr_0x000A6D7C_merge_all_fs
instr_0x000A6D7C_then_all_fs: ; preds = %instr_0x000A6D7C
ret i32 0
instr_0x000A6D7C_merge_all_fs: ; preds = %instr_0x000A6D7C
br label %instr_0x000A6D80
instr_0x000A6D80: ; preds = %instr_0x000A6D7C_merge_all_fs
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18)
br label %instr_0x000A6D84
instr_0x000A6D84: ; preds = %instr_0x000A6D80
%318 = getelementptr i8* %ppu_state, i32 1576
%319 = bitcast i8* %318 to i64*
%320 = load i64* %319, align 8
%321 = getelementptr i8* %ppu_state, i32 1540
%322 = bitcast i8* %321 to i32*
%323 = load i32* %322, align 4
%324 = lshr i32 %323, 3
%325 = and i32 %324, 1
%326 = trunc i32 %325 to i1
%327 = xor i1 %326, true
br i1 %327, label %instr_0x000A6CE4, label %instr_0x000A6D88
instr_0x000A6D88: ; preds = %instr_0x000A6D84, %instr_0x000A6CE0
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40)
br label %instr_0x000A6D8C
instr_0x000A6D8C: ; preds = %instr_0x000A6D88
%328 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 24, i32 0)
br label %instr_0x000A6D90
instr_0x000A6D90: ; preds = %instr_0x000A6D8C
call void @RLDICL(i8* %ppu_state, i32 30, i32 23, i32 0, i32 32, i32 0)
br label %instr_0x000A6D94
instr_0x000A6D94: ; preds = %instr_0x000A6D90
call void @RLDICL(i8* %ppu_state, i32 3, i32 31, i32 0, i32 32, i32 0)
br label %instr_0x000A6D98
instr_0x000A6D98: ; preds = %instr_0x000A6D94
%329 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 24, i32 4)
br label %instr_0x000A6D9C
instr_0x000A6D9C: ; preds = %instr_0x000A6D98
%330 = call i32 @OR(i8* %ppu_state, i32 4, i32 30, i32 30, i32 0)
br label %instr_0x000A6DA0
instr_0x000A6DA0: ; preds = %instr_0x000A6D9C
%331 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0)
br label %instr_0x000A6DA4
instr_0x000A6DA4: ; preds = %instr_0x000A6DA0
%332 = getelementptr i8* %ppu_state, i32 1576
%333 = bitcast i8* %332 to i64*
%334 = load i64* %333, align 8
%335 = and i64 %334, -4
%336 = trunc i64 %335 to i32
%337 = getelementptr i8* %ppu_state, i32 1576
%338 = bitcast i8* %337 to i64*
%339 = load i64* %338, align 8
%340 = getelementptr i8* %ppu_state, i32 1568
%341 = bitcast i8* %340 to i64*
store i64 683432, i64* %341, align 8
%342 = getelementptr i8* %ppu_state, i32 1664
%343 = bitcast i8* %342 to i32*
store i32 %336, i32* %343, align 4
switch i32 %336, label %instr_0x000A6DA4_unknown_function [
i32 469328, label %instr_0x000A6DA4_0x00072950
]
instr_0x000A6DA4_unknown_function: ; preds = %instr_0x000A6DA4
%344 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6DA8
instr_0x000A6DA4_0x00072950: ; preds = %instr_0x000A6DA4
%345 = load i64* inttoptr (i64 8623115688 to i64*)
%346 = inttoptr i64 %345 to i32 (i8*, i64)*
%347 = call i32 %346(i8* %ppu_state, i64 0)
%348 = icmp eq i32 %347, -1
br i1 %348, label %instr_0x000A6DA4_then_all_fs, label %instr_0x000A6DA4_merge_all_fs
instr_0x000A6DA4_then_all_fs: ; preds = %instr_0x000A6DA4_0x00072950
ret i32 0
instr_0x000A6DA4_merge_all_fs: ; preds = %instr_0x000A6DA4_0x00072950
br label %instr_0x000A6DA8
instr_0x000A6DA8: ; preds = %instr_0x000A6DA4_merge_all_fs, %instr_0x000A6DA4_unknown_function
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6DAC
instr_0x000A6DAC: ; preds = %instr_0x000A6DA8
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0)
br label %instr_0x000A6DB0
instr_0x000A6DB0: ; preds = %instr_0x000A6DAC
%349 = getelementptr i8* %ppu_state, i32 1576
%350 = bitcast i8* %349 to i64*
%351 = load i64* %350, align 8
%352 = getelementptr i8* %ppu_state, i32 1540
%353 = bitcast i8* %352 to i32*
%354 = load i32* %353, align 4
%355 = lshr i32 %354, 3
%356 = and i32 %355, 1
%357 = trunc i32 %356 to i1
br i1 %357, label %instr_0x000A6DCC, label %instr_0x000A6DB4
instr_0x000A6DB4: ; preds = %instr_0x000A6DB0
%358 = getelementptr i8* %ppu_state, i32 1576
%359 = bitcast i8* %358 to i64*
%360 = load i64* %359, align 8
%361 = getelementptr i8* %ppu_state, i32 1540
%362 = bitcast i8* %361 to i32*
%363 = load i32* %362, align 4
%364 = lshr i32 %363, 1
%365 = and i32 %364, 1
%366 = trunc i32 %365 to i1
%367 = xor i1 %366, true
br i1 %367, label %instr_0x000A6CE4, label %instr_0x000A6DB8
instr_0x000A6DB8: ; preds = %instr_0x000A6DB4
%368 = phi i32 [ 683444, %instr_0x000A6DB4 ]
%369 = getelementptr i8* %ppu_state, i32 1664
%370 = bitcast i8* %369 to i32*
store i32 683448, i32* %370, align 4
%371 = zext i32 %368 to i64
%372 = or i64 %371, 2932174172979200
%373 = load i64* inttoptr (i64 8623115696 to i64*)
%374 = inttoptr i64 %373 to i32 (i8*, i64)*
%375 = call i32 %374(i8* %ppu_state, i64 %372)
%376 = icmp eq i32 %375, -1
br i1 %376, label %instr_0x000A6DB8_then_all_fs, label %instr_0x000A6DB8_merge_all_fs
instr_0x000A6DB8_then_all_fs: ; preds = %instr_0x000A6DB8
ret i32 0
instr_0x000A6DB8_merge_all_fs: ; preds = %instr_0x000A6DB8
%377 = icmp ne i32 %375, 0
br i1 %377, label %instr_0x000A6DB8_then_0, label %instr_0x000A6DB8_merge_0
instr_0x000A6DB8_then_0: ; preds = %instr_0x000A6DB8_merge_all_fs
%378 = zext i32 %375 to i64
%379 = or i64 %378, 2932174172979200
%380 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %379)
br label %instr_0x000A6DB8_merge_0
instr_0x000A6DB8_merge_0: ; preds = %instr_0x000A6DB8_then_0, %instr_0x000A6DB8_merge_all_fs
ret i32 0
instr_0x000A6DCC: ; preds = %instr_0x000A6DB0
%381 = phi i32 [ 683440, %instr_0x000A6DB0 ]
%382 = getelementptr i8* %ppu_state, i32 1664
%383 = bitcast i8* %382 to i32*
store i32 683468, i32* %383, align 4
%384 = zext i32 %381 to i64
%385 = or i64 %384, 2932174172979200
%386 = load i64* inttoptr (i64 8623115696 to i64*)
%387 = inttoptr i64 %386 to i32 (i8*, i64)*
%388 = call i32 %387(i8* %ppu_state, i64 %385)
%389 = icmp eq i32 %388, -1
br i1 %389, label %instr_0x000A6DCC_then_all_fs, label %instr_0x000A6DCC_merge_all_fs
instr_0x000A6DCC_then_all_fs: ; preds = %instr_0x000A6DCC
ret i32 0
instr_0x000A6DCC_merge_all_fs: ; preds = %instr_0x000A6DCC
%390 = icmp ne i32 %388, 0
br i1 %390, label %instr_0x000A6DCC_then_0, label %instr_0x000A6DCC_merge_0
instr_0x000A6DCC_then_0: ; preds = %instr_0x000A6DCC_merge_all_fs
%391 = zext i32 %388 to i64
%392 = or i64 %391, 2932174172979200
%393 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %392)
br label %instr_0x000A6DCC_merge_0
instr_0x000A6DCC_merge_0: ; preds = %instr_0x000A6DCC_then_0, %instr_0x000A6DCC_merge_all_fs
ret i32 0
instr_0x000A6DD4: ; preds = %instr_0x000A6D34
%394 = call i32 @OR(i8* %ppu_state, i32 27, i32 30, i32 30, i32 0)
br label %instr_0x000A6DD8
instr_0x000A6DD8: ; preds = %instr_0x000A6DD4
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 22, i32 27)
br label %instr_0x000A6DDC
instr_0x000A6DDC: ; preds = %instr_0x000A6DD8
%395 = getelementptr i8* %ppu_state, i32 1576
%396 = bitcast i8* %395 to i64*
%397 = load i64* %396, align 8
%398 = getelementptr i8* %ppu_state, i32 1540
%399 = bitcast i8* %398 to i32*
%400 = load i32* %399, align 4
%401 = lshr i32 %400, 1
%402 = and i32 %401, 1
%403 = trunc i32 %402 to i1
%404 = xor i1 %403, true
br i1 %404, label %instr_0x000A6D60, label %instr_0x000A6DE0
instr_0x000A6DE0: ; preds = %instr_0x000A6DDC, %instr_0x000A6D5C
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 23, i32 18)
br label %instr_0x000A6DE4
instr_0x000A6DE4: ; preds = %instr_0x000A6DE0
%405 = getelementptr i8* %ppu_state, i32 1576
%406 = bitcast i8* %405 to i64*
%407 = load i64* %406, align 8
%408 = getelementptr i8* %ppu_state, i32 1540
%409 = bitcast i8* %408 to i32*
%410 = load i32* %409, align 4
%411 = lshr i32 %410, 1
%412 = and i32 %411, 1
%413 = trunc i32 %412 to i1
br i1 %413, label %instr_0x000A6E74, label %instr_0x000A6DE8
instr_0x000A6DE8: ; preds = %instr_0x000A6DE4
%414 = phi i32 [ 683492, %instr_0x000A6DE4 ]
%415 = getelementptr i8* %ppu_state, i32 1664
%416 = bitcast i8* %415 to i32*
store i32 683496, i32* %416, align 4
%417 = zext i32 %414 to i64
%418 = or i64 %417, 2932174172979200
%419 = load i64* inttoptr (i64 8623115696 to i64*)
%420 = inttoptr i64 %419 to i32 (i8*, i64)*
%421 = call i32 %420(i8* %ppu_state, i64 %418)
%422 = icmp eq i32 %421, -1
br i1 %422, label %instr_0x000A6DE8_then_all_fs, label %instr_0x000A6DE8_merge_all_fs
instr_0x000A6DE8_then_all_fs: ; preds = %instr_0x000A6DE8
ret i32 0
instr_0x000A6DE8_merge_all_fs: ; preds = %instr_0x000A6DE8
%423 = icmp ne i32 %421, 0
br i1 %423, label %instr_0x000A6DE8_then_0, label %instr_0x000A6DE8_merge_0
instr_0x000A6DE8_then_0: ; preds = %instr_0x000A6DE8_merge_all_fs
%424 = zext i32 %421 to i64
%425 = or i64 %424, 2932174172979200
%426 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %425)
br label %instr_0x000A6DE8_merge_0
instr_0x000A6DE8_merge_0: ; preds = %instr_0x000A6DE8_then_0, %instr_0x000A6DE8_merge_all_fs
ret i32 0
instr_0x000A6E18: ; preds = %instr_0x000A6D64
call void @SUBF(i8* %ppu_state, i32 27, i32 25, i32 27, i32 0, i32 0)
br label %instr_0x000A6E1C
instr_0x000A6E1C: ; preds = %instr_0x000A6E18
call void @SUBF(i8* %ppu_state, i32 31, i32 25, i32 31, i32 0, i32 0)
br label %instr_0x000A6E20
instr_0x000A6E20: ; preds = %instr_0x000A6E1C
call void @SUBF(i8* %ppu_state, i32 19, i32 25, i32 19, i32 0, i32 0)
br label %instr_0x000A6E24
instr_0x000A6E24: ; preds = %instr_0x000A6E20
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 27, i32 31)
br label %instr_0x000A6E28
instr_0x000A6E28: ; preds = %instr_0x000A6E24
%427 = getelementptr i8* %ppu_state, i32 1576
%428 = bitcast i8* %427 to i64*
%429 = load i64* %428, align 8
%430 = getelementptr i8* %ppu_state, i32 1540
%431 = bitcast i8* %430 to i32*
%432 = load i32* %431, align 4
%433 = lshr i32 %432, 1
%434 = and i32 %433, 1
%435 = trunc i32 %434 to i1
br i1 %435, label %instr_0x000A6E48, label %instr_0x000A6E2C
instr_0x000A6E2C: ; preds = %instr_0x000A6E28
call void @RLDICL(i8* %ppu_state, i32 3, i32 27, i32 0, i32 32, i32 0)
br label %instr_0x000A6E30
instr_0x000A6E30: ; preds = %instr_0x000A6E2C
call void @RLDICL(i8* %ppu_state, i32 4, i32 19, i32 0, i32 32, i32 0)
br label %instr_0x000A6E34
instr_0x000A6E34: ; preds = %instr_0x000A6E30
call void @RLDICL(i8* %ppu_state, i32 5, i32 31, i32 0, i32 32, i32 0)
br label %instr_0x000A6E38
instr_0x000A6E38: ; preds = %instr_0x000A6E34
%436 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0)
br label %instr_0x000A6E3C
instr_0x000A6E3C: ; preds = %instr_0x000A6E38
%437 = call i32 @OR(i8* %ppu_state, i32 23, i32 18, i32 18, i32 0)
br label %instr_0x000A6E40
instr_0x000A6E40: ; preds = %instr_0x000A6E3C
%438 = getelementptr i8* %ppu_state, i32 1568
%439 = bitcast i8* %438 to i64*
store i64 683588, i64* %439, align 8
%440 = getelementptr i8* %ppu_state, i32 1664
%441 = bitcast i8* %440 to i32*
store i32 680920, i32* %441, align 4
%442 = load i64* inttoptr (i64 8623115688 to i64*)
%443 = inttoptr i64 %442 to i32 (i8*, i64)*
%444 = call i32 %443(i8* %ppu_state, i64 0)
%445 = icmp eq i32 %444, -1
br i1 %445, label %instr_0x000A6E40_then_all_fs, label %instr_0x000A6E40_merge_all_fs
instr_0x000A6E40_then_all_fs: ; preds = %instr_0x000A6E40
ret i32 0
instr_0x000A6E40_merge_all_fs: ; preds = %instr_0x000A6E40
br label %instr_0x000A6E44
instr_0x000A6E44: ; preds = %instr_0x000A6E40_merge_all_fs
br label %instr_0x000A6CDC
instr_0x000A6E48: ; preds = %instr_0x000A6E28
%446 = phi i32 [ 683560, %instr_0x000A6E28 ]
%447 = getelementptr i8* %ppu_state, i32 1664
%448 = bitcast i8* %447 to i32*
store i32 683592, i32* %448, align 4
%449 = zext i32 %446 to i64
%450 = or i64 %449, 2932174172979200
%451 = load i64* inttoptr (i64 8623115696 to i64*)
%452 = inttoptr i64 %451 to i32 (i8*, i64)*
%453 = call i32 %452(i8* %ppu_state, i64 %450)
%454 = icmp eq i32 %453, -1
br i1 %454, label %instr_0x000A6E48_then_all_fs, label %instr_0x000A6E48_merge_all_fs
instr_0x000A6E48_then_all_fs: ; preds = %instr_0x000A6E48
ret i32 0
instr_0x000A6E48_merge_all_fs: ; preds = %instr_0x000A6E48
%455 = icmp ne i32 %453, 0
br i1 %455, label %instr_0x000A6E48_then_0, label %instr_0x000A6E48_merge_0
instr_0x000A6E48_then_0: ; preds = %instr_0x000A6E48_merge_all_fs
%456 = zext i32 %453 to i64
%457 = or i64 %456, 2932174172979200
%458 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %457)
br label %instr_0x000A6E48_merge_0
instr_0x000A6E48_merge_0: ; preds = %instr_0x000A6E48_then_0, %instr_0x000A6E48_merge_all_fs
ret i32 0
instr_0x000A6E74: ; preds = %instr_0x000A6DE4
call void @SUBF(i8* %ppu_state, i32 11, i32 22, i32 31, i32 0, i32 0)
br label %instr_0x000A6E78
instr_0x000A6E78: ; preds = %instr_0x000A6E74
call void @SUBF(i8* %ppu_state, i32 0, i32 19, i32 18, i32 0, i32 0)
br label %instr_0x000A6E7C
instr_0x000A6E7C: ; preds = %instr_0x000A6E78
call void @RLWINM(i8* %ppu_state, i32 10, i32 16, i32 30, i32 2, i32 31, i32 0)
br label %instr_0x000A6E80
instr_0x000A6E80: ; preds = %instr_0x000A6E7C
call void @DIVWU(i8* %ppu_state, i32 11, i32 11, i32 17, i32 0, i32 0)
br label %instr_0x000A6E84
instr_0x000A6E84: ; preds = %instr_0x000A6E80
call void @RLWINM(i8* %ppu_state, i32 9, i32 16, i32 31, i32 1, i32 31, i32 0)
br label %instr_0x000A6E88
instr_0x000A6E88: ; preds = %instr_0x000A6E84
call void @DIVWU(i8* %ppu_state, i32 23, i32 0, i32 17, i32 0, i32 0)
br label %instr_0x000A6E8C
instr_0x000A6E8C: ; preds = %instr_0x000A6E88
call void @CMPL(i8* %ppu_state, i32 7, i32 0, i32 11, i32 23)
br label %instr_0x000A6E90
instr_0x000A6E90: ; preds = %instr_0x000A6E8C
call void @ADD(i8* %ppu_state, i32 16, i32 9, i32 10, i32 0, i32 0)
br label %instr_0x000A6E94
instr_0x000A6E94: ; preds = %instr_0x000A6E90
%459 = getelementptr i8* %ppu_state, i32 1576
%460 = bitcast i8* %459 to i64*
%461 = load i64* %460, align 8
%462 = getelementptr i8* %ppu_state, i32 1540
%463 = bitcast i8* %462 to i32*
%464 = load i32* %463, align 4
%465 = lshr i32 %464, 2
%466 = and i32 %465, 1
%467 = trunc i32 %466 to i1
br i1 %467, label %instr_0x000A6FF0, label %instr_0x000A6E98
instr_0x000A6E98: ; preds = %instr_0x000A6E94
%468 = call i32 @OR(i8* %ppu_state, i32 3, i32 15, i32 15, i32 0)
br label %instr_0x000A6E9C
instr_0x000A6E9C: ; preds = %instr_0x000A6E98
call void @RLDICL(i8* %ppu_state, i32 4, i32 11, i32 0, i32 32, i32 0)
br label %instr_0x000A6EA0
instr_0x000A6EA0: ; preds = %instr_0x000A6E9C
call void @RLDICL(i8* %ppu_state, i32 5, i32 16, i32 0, i32 32, i32 0)
br label %instr_0x000A6EA4
instr_0x000A6EA4: ; preds = %instr_0x000A6EA0
%469 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0)
br label %instr_0x000A6EA8
instr_0x000A6EA8: ; preds = %instr_0x000A6EA4
%470 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0)
br label %instr_0x000A6EAC
instr_0x000A6EAC: ; preds = %instr_0x000A6EA8
%471 = call i32 @OR(i8* %ppu_state, i32 22, i32 19, i32 19, i32 0)
br label %instr_0x000A6EB0
instr_0x000A6EB0: ; preds = %instr_0x000A6EAC
%472 = getelementptr i8* %ppu_state, i32 1568
%473 = bitcast i8* %472 to i64*
store i64 683700, i64* %473, align 8
%474 = getelementptr i8* %ppu_state, i32 1664
%475 = bitcast i8* %474 to i32*
store i32 682700, i32* %475, align 4
%476 = load i64* inttoptr (i64 8623115688 to i64*)
%477 = inttoptr i64 %476 to i32 (i8*, i64)*
%478 = call i32 %477(i8* %ppu_state, i64 0)
%479 = icmp eq i32 %478, -1
br i1 %479, label %instr_0x000A6EB0_then_all_fs, label %instr_0x000A6EB0_merge_all_fs
instr_0x000A6EB0_then_all_fs: ; preds = %instr_0x000A6EB0
ret i32 0
instr_0x000A6EB0_merge_all_fs: ; preds = %instr_0x000A6EB0
br label %instr_0x000A6EB4
instr_0x000A6EB4: ; preds = %instr_0x000A6EB0_merge_all_fs
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 16, i32 0)
br label %instr_0x000A6EB8
instr_0x000A6EB8: ; preds = %instr_0x000A6EB4
%480 = getelementptr i8* %ppu_state, i32 1576
%481 = bitcast i8* %480 to i64*
%482 = load i64* %481, align 8
%483 = getelementptr i8* %ppu_state, i32 1540
%484 = bitcast i8* %483 to i32*
%485 = load i32* %484, align 4
%486 = lshr i32 %485, 1
%487 = and i32 %486, 1
%488 = trunc i32 %487 to i1
br i1 %488, label %instr_0x000A7014, label %instr_0x000A6EBC
instr_0x000A6EBC: ; preds = %instr_0x000A7010, %instr_0x000A6EB8
call void @CMPLI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 32)
br label %instr_0x000A6EC0
instr_0x000A6EC0: ; preds = %instr_0x000A6EBC
%489 = getelementptr i8* %ppu_state, i32 1576
%490 = bitcast i8* %489 to i64*
%491 = load i64* %490, align 8
%492 = getelementptr i8* %ppu_state, i32 1540
%493 = bitcast i8* %492 to i32*
%494 = load i32* %493, align 4
%495 = lshr i32 %494, 2
%496 = and i32 %495, 1
%497 = trunc i32 %496 to i1
br i1 %497, label %instr_0x000A6B60, label %instr_0x000A6EC4
instr_0x000A6EC4: ; preds = %instr_0x000A6EC0, %instr_0x000A6B40
call void @CMPLI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 1)
br label %instr_0x000A6EC8
instr_0x000A6EC8: ; preds = %instr_0x000A6EC4
%498 = call i32 @LWZ(i8* %ppu_state, i32 26, i32 1, i32 112)
br label %instr_0x000A6ECC
instr_0x000A6ECC: ; preds = %instr_0x000A6EC8
%499 = call i32 @OR(i8* %ppu_state, i32 27, i32 22, i32 22, i32 0)
br label %instr_0x000A6ED0
instr_0x000A6ED0: ; preds = %instr_0x000A6ECC
call void @RLDICL(i8* %ppu_state, i32 25, i32 22, i32 0, i32 32, i32 0)
br label %instr_0x000A6ED4
instr_0x000A6ED4: ; preds = %instr_0x000A6ED0
call void @NEG(i8* %ppu_state, i32 29, i32 17, i32 0, i32 0)
br label %instr_0x000A6ED8
instr_0x000A6ED8: ; preds = %instr_0x000A6ED4
%500 = getelementptr i8* %ppu_state, i32 1576
%501 = bitcast i8* %500 to i64*
%502 = load i64* %501, align 8
%503 = getelementptr i8* %ppu_state, i32 1540
%504 = bitcast i8* %503 to i32*
%505 = load i32* %504, align 4
%506 = lshr i32 %505, 2
%507 = and i32 %506, 1
%508 = trunc i32 %507 to i1
%509 = xor i1 %508, true
br i1 %509, label %instr_0x000A6F78, label %instr_0x000A6EDC
instr_0x000A6EDC: ; preds = %instr_0x000A70B4, %instr_0x000A6F58, %instr_0x000A6ED8
call void @ADDI(i8* %ppu_state, i32 23, i32 23, i32 -1)
br label %instr_0x000A6EE0
instr_0x000A6EE0: ; preds = %instr_0x000A6EDC
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 0)
br label %instr_0x000A6EE4
instr_0x000A6EE4: ; preds = %instr_0x000A6EE0
%510 = getelementptr i8* %ppu_state, i32 1576
%511 = bitcast i8* %510 to i64*
%512 = load i64* %511, align 8
%513 = getelementptr i8* %ppu_state, i32 1540
%514 = bitcast i8* %513 to i32*
%515 = load i32* %514, align 4
%516 = lshr i32 %515, 1
%517 = and i32 %516, 1
%518 = trunc i32 %517 to i1
br i1 %518, label %instr_0x000A6F78, label %instr_0x000A6EE8
instr_0x000A6EE8: ; preds = %instr_0x000A6F74, %instr_0x000A6EE4
call void @ADD(i8* %ppu_state, i32 27, i32 27, i32 17, i32 0, i32 0)
br label %instr_0x000A6EEC
instr_0x000A6EEC: ; preds = %instr_0x000A6EE8
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40)
br label %instr_0x000A6EF0
instr_0x000A6EF0: ; preds = %instr_0x000A6EEC
%519 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 26, i32 0)
br label %instr_0x000A6EF4
instr_0x000A6EF4: ; preds = %instr_0x000A6EF0
call void @RLDICL(i8* %ppu_state, i32 28, i32 27, i32 0, i32 32, i32 0)
br label %instr_0x000A6EF8
instr_0x000A6EF8: ; preds = %instr_0x000A6EF4
%520 = call i32 @OR(i8* %ppu_state, i32 4, i32 25, i32 25, i32 0)
br label %instr_0x000A6EFC
instr_0x000A6EFC: ; preds = %instr_0x000A6EF8
%521 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 26, i32 4)
br label %instr_0x000A6F00
instr_0x000A6F00: ; preds = %instr_0x000A6EFC
%522 = call i32 @OR(i8* %ppu_state, i32 3, i32 28, i32 28, i32 0)
br label %instr_0x000A6F04
instr_0x000A6F04: ; preds = %instr_0x000A6F00
%523 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0)
br label %instr_0x000A6F08
instr_0x000A6F08: ; preds = %instr_0x000A6F04
%524 = call i32 @OR(i8* %ppu_state, i32 30, i32 27, i32 27, i32 0)
br label %instr_0x000A6F0C
instr_0x000A6F0C: ; preds = %instr_0x000A6F08
%525 = call i32 @OR(i8* %ppu_state, i32 31, i32 27, i32 27, i32 0)
br label %instr_0x000A6F10
instr_0x000A6F10: ; preds = %instr_0x000A6F0C
%526 = getelementptr i8* %ppu_state, i32 1576
%527 = bitcast i8* %526 to i64*
%528 = load i64* %527, align 8
%529 = and i64 %528, -4
%530 = trunc i64 %529 to i32
%531 = getelementptr i8* %ppu_state, i32 1576
%532 = bitcast i8* %531 to i64*
%533 = load i64* %532, align 8
%534 = getelementptr i8* %ppu_state, i32 1568
%535 = bitcast i8* %534 to i64*
store i64 683796, i64* %535, align 8
%536 = getelementptr i8* %ppu_state, i32 1664
%537 = bitcast i8* %536 to i32*
store i32 %530, i32* %537, align 4
switch i32 %530, label %instr_0x000A6F10_unknown_function [
i32 469328, label %instr_0x000A6F10_0x00072950
]
instr_0x000A6F10_unknown_function: ; preds = %instr_0x000A6F10
%538 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6F14
instr_0x000A6F10_0x00072950: ; preds = %instr_0x000A6F10
%539 = load i64* inttoptr (i64 8623115688 to i64*)
%540 = inttoptr i64 %539 to i32 (i8*, i64)*
%541 = call i32 %540(i8* %ppu_state, i64 0)
%542 = icmp eq i32 %541, -1
br i1 %542, label %instr_0x000A6F10_then_all_fs, label %instr_0x000A6F10_merge_all_fs
instr_0x000A6F10_then_all_fs: ; preds = %instr_0x000A6F10_0x00072950
ret i32 0
instr_0x000A6F10_merge_all_fs: ; preds = %instr_0x000A6F10_0x00072950
br label %instr_0x000A6F14
instr_0x000A6F14: ; preds = %instr_0x000A6F10_merge_all_fs, %instr_0x000A6F10_unknown_function
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F18
instr_0x000A6F18: ; preds = %instr_0x000A6F14
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0)
br label %instr_0x000A6F1C
instr_0x000A6F1C: ; preds = %instr_0x000A6F18
%543 = getelementptr i8* %ppu_state, i32 1576
%544 = bitcast i8* %543 to i64*
%545 = load i64* %544, align 8
%546 = getelementptr i8* %ppu_state, i32 1540
%547 = bitcast i8* %546 to i32*
%548 = load i32* %547, align 4
%549 = lshr i32 %548, 3
%550 = and i32 %549, 1
%551 = trunc i32 %550 to i1
%552 = xor i1 %551, true
br i1 %552, label %instr_0x000A6F28, label %instr_0x000A6F20
instr_0x000A6F20: ; preds = %instr_0x000A6F1C
br label %instr_0x000A70A4
instr_0x000A6F24: ; preds = %instr_0x000A6F50
%553 = call i32 @OR(i8* %ppu_state, i32 30, i32 31, i32 31, i32 0)
br label %instr_0x000A6F28
instr_0x000A6F28: ; preds = %instr_0x000A6F24, %instr_0x000A6F1C
call void @updateLastInst(i8* %ppu_state)
call void @STD(i8* %ppu_state, i32 2, i32 1, i32 40)
br label %instr_0x000A6F2C
instr_0x000A6F2C: ; preds = %instr_0x000A6F28
%554 = call i32 @LWZ(i8* %ppu_state, i32 0, i32 26, i32 0)
br label %instr_0x000A6F30
instr_0x000A6F30: ; preds = %instr_0x000A6F2C
call void @ADD(i8* %ppu_state, i32 31, i32 31, i32 29, i32 0, i32 0)
br label %instr_0x000A6F34
instr_0x000A6F34: ; preds = %instr_0x000A6F30
%555 = call i32 @OR(i8* %ppu_state, i32 3, i32 28, i32 28, i32 0)
br label %instr_0x000A6F38
instr_0x000A6F38: ; preds = %instr_0x000A6F34
%556 = call i32 @LWZ(i8* %ppu_state, i32 2, i32 26, i32 4)
br label %instr_0x000A6F3C
instr_0x000A6F3C: ; preds = %instr_0x000A6F38
call void @RLDICL(i8* %ppu_state, i32 4, i32 31, i32 0, i32 32, i32 0)
br label %instr_0x000A6F40
instr_0x000A6F40: ; preds = %instr_0x000A6F3C
%557 = call i32 @MTSPR(i8* %ppu_state, i32 288, i32 0)
br label %instr_0x000A6F44
instr_0x000A6F44: ; preds = %instr_0x000A6F40
%558 = getelementptr i8* %ppu_state, i32 1576
%559 = bitcast i8* %558 to i64*
%560 = load i64* %559, align 8
%561 = and i64 %560, -4
%562 = trunc i64 %561 to i32
%563 = getelementptr i8* %ppu_state, i32 1576
%564 = bitcast i8* %563 to i64*
%565 = load i64* %564, align 8
%566 = getelementptr i8* %ppu_state, i32 1568
%567 = bitcast i8* %566 to i64*
store i64 683848, i64* %567, align 8
%568 = getelementptr i8* %ppu_state, i32 1664
%569 = bitcast i8* %568 to i32*
store i32 %562, i32* %569, align 4
switch i32 %562, label %instr_0x000A6F44_unknown_function [
i32 469328, label %instr_0x000A6F44_0x00072950
]
instr_0x000A6F44_unknown_function: ; preds = %instr_0x000A6F44
%570 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6F48
instr_0x000A6F44_0x00072950: ; preds = %instr_0x000A6F44
%571 = load i64* inttoptr (i64 8623115688 to i64*)
%572 = inttoptr i64 %571 to i32 (i8*, i64)*
%573 = call i32 %572(i8* %ppu_state, i64 0)
%574 = icmp eq i32 %573, -1
br i1 %574, label %instr_0x000A6F44_then_all_fs, label %instr_0x000A6F44_merge_all_fs
instr_0x000A6F44_then_all_fs: ; preds = %instr_0x000A6F44_0x00072950
ret i32 0
instr_0x000A6F44_merge_all_fs: ; preds = %instr_0x000A6F44_0x00072950
br label %instr_0x000A6F48
instr_0x000A6F48: ; preds = %instr_0x000A6F44_merge_all_fs, %instr_0x000A6F44_unknown_function
call void @LD(i8* %ppu_state, i32 2, i32 1, i32 40)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F4C
instr_0x000A6F4C: ; preds = %instr_0x000A6F48
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 3, i32 0)
br label %instr_0x000A6F50
instr_0x000A6F50: ; preds = %instr_0x000A6F4C
%575 = getelementptr i8* %ppu_state, i32 1576
%576 = bitcast i8* %575 to i64*
%577 = load i64* %576, align 8
%578 = getelementptr i8* %ppu_state, i32 1540
%579 = bitcast i8* %578 to i32*
%580 = load i32* %579, align 4
%581 = lshr i32 %580, 3
%582 = and i32 %581, 1
%583 = trunc i32 %582 to i1
br i1 %583, label %instr_0x000A6F24, label %instr_0x000A6F54
instr_0x000A6F54: ; preds = %instr_0x000A6F50
call void @CMP(i8* %ppu_state, i32 7, i32 0, i32 27, i32 30)
br label %instr_0x000A6F58
instr_0x000A6F58: ; preds = %instr_0x000A6F54
%584 = getelementptr i8* %ppu_state, i32 1576
%585 = bitcast i8* %584 to i64*
%586 = load i64* %585, align 8
%587 = getelementptr i8* %ppu_state, i32 1540
%588 = bitcast i8* %587 to i32*
%589 = load i32* %588, align 4
%590 = lshr i32 %589, 1
%591 = and i32 %590, 1
%592 = trunc i32 %591 to i1
br i1 %592, label %instr_0x000A6EDC, label %instr_0x000A6F5C
instr_0x000A6F5C: ; preds = %instr_0x000A6F58
call void @RLDICL(i8* %ppu_state, i32 3, i32 30, i32 0, i32 32, i32 0)
br label %instr_0x000A6F60
instr_0x000A6F60: ; preds = %instr_0x000A6F5C
%593 = call i32 @OR(i8* %ppu_state, i32 4, i32 28, i32 28, i32 0)
br label %instr_0x000A6F64
instr_0x000A6F64: ; preds = %instr_0x000A6F60
call void @RLDICL(i8* %ppu_state, i32 5, i32 17, i32 0, i32 32, i32 0)
br label %instr_0x000A6F68
instr_0x000A6F68: ; preds = %instr_0x000A6F64
call void @ADDI(i8* %ppu_state, i32 23, i32 23, i32 -1)
br label %instr_0x000A6F6C
instr_0x000A6F6C: ; preds = %instr_0x000A6F68
%594 = getelementptr i8* %ppu_state, i32 1568
%595 = bitcast i8* %594 to i64*
store i64 683888, i64* %595, align 8
%596 = getelementptr i8* %ppu_state, i32 1664
%597 = bitcast i8* %596 to i32*
store i32 682448, i32* %597, align 4
%598 = load i64* inttoptr (i64 8623115688 to i64*)
%599 = inttoptr i64 %598 to i32 (i8*, i64)*
%600 = call i32 %599(i8* %ppu_state, i64 0)
%601 = icmp eq i32 %600, -1
br i1 %601, label %instr_0x000A6F6C_then_all_fs, label %instr_0x000A6F6C_merge_all_fs
instr_0x000A6F6C_then_all_fs: ; preds = %instr_0x000A6F6C
ret i32 0
instr_0x000A6F6C_merge_all_fs: ; preds = %instr_0x000A6F6C
br label %instr_0x000A6F70
instr_0x000A6F70: ; preds = %instr_0x000A6F6C_merge_all_fs
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 23, i32 0)
br label %instr_0x000A6F74
instr_0x000A6F74: ; preds = %instr_0x000A6F70
%602 = getelementptr i8* %ppu_state, i32 1576
%603 = bitcast i8* %602 to i64*
%604 = load i64* %603, align 8
%605 = getelementptr i8* %ppu_state, i32 1540
%606 = bitcast i8* %605 to i32*
%607 = load i32* %606, align 4
%608 = lshr i32 %607, 1
%609 = and i32 %608, 1
%610 = trunc i32 %609 to i1
%611 = xor i1 %610, true
br i1 %611, label %instr_0x000A6EE8, label %instr_0x000A6F78
instr_0x000A6F78: ; preds = %instr_0x000A6F74, %instr_0x000A6EE4, %instr_0x000A6ED8
call void @LD(i8* %ppu_state, i32 0, i32 1, i32 288)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F7C
instr_0x000A6F7C: ; preds = %instr_0x000A6F78
call void @LD(i8* %ppu_state, i32 14, i32 1, i32 128)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F80
instr_0x000A6F80: ; preds = %instr_0x000A6F7C
call void @LD(i8* %ppu_state, i32 15, i32 1, i32 136)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F84
instr_0x000A6F84: ; preds = %instr_0x000A6F80
%612 = call i32 @MTSPR(i8* %ppu_state, i32 256, i32 0)
br label %instr_0x000A6F88
instr_0x000A6F88: ; preds = %instr_0x000A6F84
call void @LD(i8* %ppu_state, i32 16, i32 1, i32 144)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F8C
instr_0x000A6F8C: ; preds = %instr_0x000A6F88
call void @LD(i8* %ppu_state, i32 17, i32 1, i32 152)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F90
instr_0x000A6F90: ; preds = %instr_0x000A6F8C
call void @LD(i8* %ppu_state, i32 18, i32 1, i32 160)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F94
instr_0x000A6F94: ; preds = %instr_0x000A6F90
call void @LD(i8* %ppu_state, i32 19, i32 1, i32 168)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F98
instr_0x000A6F98: ; preds = %instr_0x000A6F94
call void @LD(i8* %ppu_state, i32 20, i32 1, i32 176)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6F9C
instr_0x000A6F9C: ; preds = %instr_0x000A6F98
call void @LD(i8* %ppu_state, i32 21, i32 1, i32 184)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FA0
instr_0x000A6FA0: ; preds = %instr_0x000A6F9C
call void @LD(i8* %ppu_state, i32 22, i32 1, i32 192)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FA4
instr_0x000A6FA4: ; preds = %instr_0x000A6FA0
call void @LD(i8* %ppu_state, i32 23, i32 1, i32 200)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FA8
instr_0x000A6FA8: ; preds = %instr_0x000A6FA4
call void @LD(i8* %ppu_state, i32 24, i32 1, i32 208)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FAC
instr_0x000A6FAC: ; preds = %instr_0x000A6FA8
call void @LD(i8* %ppu_state, i32 25, i32 1, i32 216)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FB0
instr_0x000A6FB0: ; preds = %instr_0x000A6FAC
call void @LD(i8* %ppu_state, i32 26, i32 1, i32 224)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FB4
instr_0x000A6FB4: ; preds = %instr_0x000A6FB0
call void @LD(i8* %ppu_state, i32 27, i32 1, i32 232)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FB8
instr_0x000A6FB8: ; preds = %instr_0x000A6FB4
call void @LD(i8* %ppu_state, i32 28, i32 1, i32 240)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FBC
instr_0x000A6FBC: ; preds = %instr_0x000A6FB8
call void @LD(i8* %ppu_state, i32 29, i32 1, i32 248)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FC0
instr_0x000A6FC0: ; preds = %instr_0x000A6FBC
call void @LD(i8* %ppu_state, i32 30, i32 1, i32 256)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FC4
instr_0x000A6FC4: ; preds = %instr_0x000A6FC0
call void @LD(i8* %ppu_state, i32 31, i32 1, i32 264)
call void @updateLastInst(i8* %ppu_state)
br label %instr_0x000A6FC8
instr_0x000A6FC8: ; preds = %instr_0x000A6FC4
call void @ADDI(i8* %ppu_state, i32 1, i32 1, i32 272)
br label %instr_0x000A6FCC
instr_0x000A6FCC: ; preds = %instr_0x000A6FC8
%613 = getelementptr i8* %ppu_state, i32 1568
%614 = bitcast i8* %613 to i64*
%615 = load i64* %614, align 8
%616 = and i64 %615, -4
%617 = trunc i64 %616 to i32
%618 = getelementptr i8* %ppu_state, i32 1576
%619 = bitcast i8* %618 to i64*
%620 = load i64* %619, align 8
%621 = getelementptr i8* %ppu_state, i32 1664
%622 = bitcast i8* %621 to i32*
store i32 %617, i32* %622, align 4
ret i32 0
instr_0x000A6FD0: ; preds = %instr_0x000A6B84
%623 = phi i32 [ 682884, %instr_0x000A6B84 ]
%624 = getelementptr i8* %ppu_state, i32 1664
%625 = bitcast i8* %624 to i32*
store i32 683984, i32* %625, align 4
%626 = zext i32 %623 to i64
%627 = or i64 %626, 2932174172979200
%628 = load i64* inttoptr (i64 8623115696 to i64*)
%629 = inttoptr i64 %628 to i32 (i8*, i64)*
%630 = call i32 %629(i8* %ppu_state, i64 %627)
%631 = icmp eq i32 %630, -1
br i1 %631, label %instr_0x000A6FD0_then_all_fs, label %instr_0x000A6FD0_merge_all_fs
instr_0x000A6FD0_then_all_fs: ; preds = %instr_0x000A6FD0
ret i32 0
instr_0x000A6FD0_merge_all_fs: ; preds = %instr_0x000A6FD0
%632 = icmp ne i32 %630, 0
br i1 %632, label %instr_0x000A6FD0_then_0, label %instr_0x000A6FD0_merge_0
instr_0x000A6FD0_then_0: ; preds = %instr_0x000A6FD0_merge_all_fs
%633 = zext i32 %630 to i64
%634 = or i64 %633, 2932174172979200
%635 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %634)
br label %instr_0x000A6FD0_merge_0
instr_0x000A6FD0_merge_0: ; preds = %instr_0x000A6FD0_then_0, %instr_0x000A6FD0_merge_all_fs
ret i32 0
instr_0x000A6FF0: ; preds = %instr_0x000A6E94
call void @RLDICL(i8* %ppu_state, i32 4, i32 23, i32 0, i32 32, i32 0)
br label %instr_0x000A6FF4
instr_0x000A6FF4: ; preds = %instr_0x000A6FF0
call void @RLDICL(i8* %ppu_state, i32 3, i32 19, i32 0, i32 32, i32 0)
br label %instr_0x000A6FF8
instr_0x000A6FF8: ; preds = %instr_0x000A6FF4
call void @RLDICL(i8* %ppu_state, i32 5, i32 16, i32 0, i32 32, i32 0)
br label %instr_0x000A6FFC
instr_0x000A6FFC: ; preds = %instr_0x000A6FF8
%636 = call i32 @OR(i8* %ppu_state, i32 6, i32 21, i32 21, i32 0)
br label %instr_0x000A7000
instr_0x000A7000: ; preds = %instr_0x000A6FFC
%637 = call i32 @OR(i8* %ppu_state, i32 7, i32 24, i32 24, i32 0)
br label %instr_0x000A7004
instr_0x000A7004: ; preds = %instr_0x000A7000
%638 = call i32 @OR(i8* %ppu_state, i32 23, i32 11, i32 11, i32 0)
br label %instr_0x000A7008
instr_0x000A7008: ; preds = %instr_0x000A7004
%639 = getelementptr i8* %ppu_state, i32 1568
%640 = bitcast i8* %639 to i64*
store i64 684044, i64* %640, align 8
%641 = getelementptr i8* %ppu_state, i32 1664
%642 = bitcast i8* %641 to i32*
store i32 682700, i32* %642, align 4
%643 = load i64* inttoptr (i64 8623115688 to i64*)
%644 = inttoptr i64 %643 to i32 (i8*, i64)*
%645 = call i32 %644(i8* %ppu_state, i64 0)
%646 = icmp eq i32 %645, -1
br i1 %646, label %instr_0x000A7008_then_all_fs, label %instr_0x000A7008_merge_all_fs
instr_0x000A7008_then_all_fs: ; preds = %instr_0x000A7008
ret i32 0
instr_0x000A7008_merge_all_fs: ; preds = %instr_0x000A7008
br label %instr_0x000A700C
instr_0x000A700C: ; preds = %instr_0x000A7008_merge_all_fs
call void @CMPI(i8* %ppu_state, i32 7, i32 0, i32 16, i32 0)
br label %instr_0x000A7010
instr_0x000A7010: ; preds = %instr_0x000A700C
%647 = getelementptr i8* %ppu_state, i32 1576
%648 = bitcast i8* %647 to i64*
%649 = load i64* %648, align 8
%650 = getelementptr i8* %ppu_state, i32 1540
%651 = bitcast i8* %650 to i32*
%652 = load i32* %651, align 4
%653 = lshr i32 %652, 1
%654 = and i32 %653, 1
%655 = trunc i32 %654 to i1
%656 = xor i1 %655, true
br i1 %656, label %instr_0x000A6EBC, label %instr_0x000A7014
instr_0x000A7014: ; preds = %instr_0x000A7010, %instr_0x000A6EB8, %instr_0x000A6B38
%657 = phi i32 [ 684048, %instr_0x000A7010 ], [ 683704, %instr_0x000A6EB8 ], [ 682808, %instr_0x000A6B38 ]
%658 = getelementptr i8* %ppu_state, i32 1664
%659 = bitcast i8* %658 to i32*
store i32 684052, i32* %659, align 4
%660 = zext i32 %657 to i64
%661 = or i64 %660, 2932174172979200
%662 = load i64* inttoptr (i64 8623115696 to i64*)
%663 = inttoptr i64 %662 to i32 (i8*, i64)*
%664 = call i32 %663(i8* %ppu_state, i64 %661)
%665 = icmp eq i32 %664, -1
br i1 %665, label %instr_0x000A7014_then_all_fs, label %instr_0x000A7014_merge_all_fs
instr_0x000A7014_then_all_fs: ; preds = %instr_0x000A7014
ret i32 0
instr_0x000A7014_merge_all_fs: ; preds = %instr_0x000A7014
%666 = icmp ne i32 %664, 0
br i1 %666, label %instr_0x000A7014_then_0, label %instr_0x000A7014_merge_0
instr_0x000A7014_then_0: ; preds = %instr_0x000A7014_merge_all_fs
%667 = zext i32 %664 to i64
%668 = or i64 %667, 2932174172979200
%669 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %668)
br label %instr_0x000A7014_merge_0
instr_0x000A7014_merge_0: ; preds = %instr_0x000A7014_then_0, %instr_0x000A7014_merge_all_fs
ret i32 0
instr_0x000A70A4: ; preds = %instr_0x000A6F20
%670 = call i32 @OR(i8* %ppu_state, i32 4, i32 28, i32 28, i32 0)
br label %instr_0x000A70A8
instr_0x000A70A8: ; preds = %instr_0x000A70A4
%671 = call i32 @OR(i8* %ppu_state, i32 3, i32 25, i32 25, i32 0)
br label %instr_0x000A70AC
instr_0x000A70AC: ; preds = %instr_0x000A70A8
call void @RLDICL(i8* %ppu_state, i32 5, i32 17, i32 0, i32 32, i32 0)
br label %instr_0x000A70B0
instr_0x000A70B0: ; preds = %instr_0x000A70AC
%672 = getelementptr i8* %ppu_state, i32 1568
%673 = bitcast i8* %672 to i64*
store i64 684212, i64* %673, align 8
%674 = getelementptr i8* %ppu_state, i32 1664
%675 = bitcast i8* %674 to i32*
store i32 682448, i32* %675, align 4
%676 = load i64* inttoptr (i64 8623115688 to i64*)
%677 = inttoptr i64 %676 to i32 (i8*, i64)*
%678 = call i32 %677(i8* %ppu_state, i64 0)
%679 = icmp eq i32 %678, -1
br i1 %679, label %instr_0x000A70B0_then_all_fs, label %instr_0x000A70B0_merge_all_fs
instr_0x000A70B0_then_all_fs: ; preds = %instr_0x000A70B0
ret i32 0
instr_0x000A70B0_merge_all_fs: ; preds = %instr_0x000A70B0
br label %instr_0x000A70B4
instr_0x000A70B4: ; preds = %instr_0x000A70B0_merge_all_fs
br label %instr_0x000A6EDC
}
declare x86_64_win64cc void @CMPI(i8*, i32, i32, i32, i32)
declare x86_64_win64cc i32 @MFSPR(i8*, i32, i32)
declare x86_64_win64cc i32 @STDU(i8*, i32, i32, i32)
declare x86_64_win64cc void @updateLastInst(i8*)
declare x86_64_win64cc void @STD(i8*, i32, i32, i32)
declare x86_64_win64cc i32 @OR(i8*, i32, i32, i32, i32)
declare x86_64_win64cc void @STW(i8*, i32, i32, i32)
declare x86_64_win64cc void @CMPLI(i8*, i32, i32, i32, i32)
declare x86_64_win64cc void @RLWINM(i8*, i32, i32, i32, i32, i32, i32)
declare x86_64_win64cc void @ADD(i8*, i32, i32, i32, i32, i32)
declare x86_64_win64cc void @RLDICL(i8*, i32, i32, i32, i32, i32)
declare x86_64_win64cc void @NEG(i8*, i32, i32, i32, i32)
declare x86_64_win64cc void @MULLW(i8*, i32, i32, i32, i32, i32)
declare x86_64_win64cc void @SUBF(i8*, i32, i32, i32, i32, i32)
declare x86_64_win64cc void @CMPL(i8*, i32, i32, i32, i32)
declare x86_64_win64cc void @DIVWU(i8*, i32, i32, i32, i32, i32)
declare x86_64_win64cc void @ADDI(i8*, i32, i32, i32)
declare x86_64_win64cc i32 @LWZ(i8*, i32, i32, i32)
declare x86_64_win64cc i32 @MTSPR(i8*, i32, i32)
declare x86_64_win64cc void @LD(i8*, i32, i32, i32)
declare x86_64_win64cc void @CMP(i8*, i32, i32, i32, i32)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment