Skip to content

Instantly share code, notes, and snippets.

@vlj
Last active August 29, 2015 14:26
Show Gist options
  • Save vlj/0a9047b60dacd04ce756 to your computer and use it in GitHub Desktop.
Save vlj/0a9047b60dacd04ce756 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
%0 = getelementptr i8* %ppu_state, i32 808
%1 = bitcast i8* %0 to i32*
%2 = load i32* %1, align 8
%3 = sext i32 %2 to i64
%4 = icmp slt i64 %3, 0
%5 = icmp sgt i64 %3, 0
%6 = icmp eq i64 %3, 0
%7 = getelementptr i8* %ppu_state, i32 1540
%8 = bitcast i8* %7 to i32*
%9 = load i32* %8, align 4
%10 = getelementptr i8* %ppu_state, i32 1544
%11 = bitcast i8* %10 to i64*
%12 = load i64* %11, align 8
%13 = lshr i64 %12, 31
%14 = and i64 %13, 1
%15 = and i32 %9, -16
%16 = zext i1 %4 to i32
%17 = shl i32 %16, 3
%18 = or i32 %15, %17
%19 = zext i1 %5 to i32
%20 = shl i32 %19, 2
%21 = or i32 %18, %20
%22 = zext i1 %6 to i32
%23 = shl i32 %22, 1
%24 = or i32 %21, %23
%25 = trunc i64 %14 to i32
%26 = or i32 %24, %25
%27 = getelementptr i8* %ppu_state, i32 1540
%28 = bitcast i8* %27 to i32*
store i32 %26, i32* %28, align 4
br label %instr_0x000A6AD0
instr_0x000A6AD0: ; preds = %instr_0x000A6ACC
%29 = getelementptr i8* %ppu_state, i32 1568
%30 = bitcast i8* %29 to i64*
%31 = load i64* %30, align 8
%32 = getelementptr i8* %ppu_state, i32 768
%33 = bitcast i8* %32 to i64*
store i64 %31, i64* %33, align 8
br label %instr_0x000A6AD4
instr_0x000A6AD4: ; preds = %instr_0x000A6AD0
%34 = getelementptr i8* %ppu_state, i32 776
%35 = bitcast i8* %34 to i64*
%36 = load i64* %35, align 8
%37 = add i64 %36, -272
%38 = getelementptr i8* %ppu_state, i32 776
%39 = bitcast i8* %38 to i64*
%40 = load i64* %39, align 8
%41 = call i64 @llvm.bswap.i64(i64 %40)
%42 = and i64 %37, 4294967295
%43 = add i64 %42, 2147418112
%44 = inttoptr i64 %43 to i64*
store i64 %41, i64* %44
%45 = getelementptr i8* %ppu_state, i32 776
%46 = bitcast i8* %45 to i64*
store i64 %37, i64* %46, align 8
br label %instr_0x000A6AD8
instr_0x000A6AD8: ; preds = %instr_0x000A6AD4
%47 = getelementptr i8* %ppu_state, i32 776
%48 = bitcast i8* %47 to i64*
%49 = load i64* %48, align 8
%50 = add i64 %49, 144
%51 = getelementptr i8* %ppu_state, i32 896
%52 = bitcast i8* %51 to i64*
%53 = load i64* %52, align 8
%54 = call i64 @llvm.bswap.i64(i64 %53)
%55 = and i64 %50, 4294967295
%56 = add i64 %55, 2147418112
%57 = inttoptr i64 %56 to i64*
store i64 %54, i64* %57
br label %instr_0x000A6ADC
instr_0x000A6ADC: ; preds = %instr_0x000A6AD8
%58 = getelementptr i8* %ppu_state, i32 776
%59 = bitcast i8* %58 to i64*
%60 = load i64* %59, align 8
%61 = add i64 %60, 152
%62 = getelementptr i8* %ppu_state, i32 904
%63 = bitcast i8* %62 to i64*
%64 = load i64* %63, align 8
%65 = call i64 @llvm.bswap.i64(i64 %64)
%66 = and i64 %61, 4294967295
%67 = add i64 %66, 2147418112
%68 = inttoptr i64 %67 to i64*
store i64 %65, i64* %68
br label %instr_0x000A6AE0
instr_0x000A6AE0: ; preds = %instr_0x000A6ADC
%69 = getelementptr i8* %ppu_state, i32 776
%70 = bitcast i8* %69 to i64*
%71 = load i64* %70, align 8
%72 = add i64 %71, 192
%73 = getelementptr i8* %ppu_state, i32 944
%74 = bitcast i8* %73 to i64*
%75 = load i64* %74, align 8
%76 = call i64 @llvm.bswap.i64(i64 %75)
%77 = and i64 %72, 4294967295
%78 = add i64 %77, 2147418112
%79 = inttoptr i64 %78 to i64*
store i64 %76, i64* %79
br label %instr_0x000A6AE4
instr_0x000A6AE4: ; preds = %instr_0x000A6AE0
%80 = getelementptr i8* %ppu_state, i32 776
%81 = bitcast i8* %80 to i64*
%82 = load i64* %81, align 8
%83 = add i64 %82, 200
%84 = getelementptr i8* %ppu_state, i32 952
%85 = bitcast i8* %84 to i64*
%86 = load i64* %85, align 8
%87 = call i64 @llvm.bswap.i64(i64 %86)
%88 = and i64 %83, 4294967295
%89 = add i64 %88, 2147418112
%90 = inttoptr i64 %89 to i64*
store i64 %87, i64* %90
br label %instr_0x000A6AE8
instr_0x000A6AE8: ; preds = %instr_0x000A6AE4
%91 = getelementptr i8* %ppu_state, i32 776
%92 = bitcast i8* %91 to i64*
%93 = load i64* %92, align 8
%94 = add i64 %93, 128
%95 = getelementptr i8* %ppu_state, i32 880
%96 = bitcast i8* %95 to i64*
%97 = load i64* %96, align 8
%98 = call i64 @llvm.bswap.i64(i64 %97)
%99 = and i64 %94, 4294967295
%100 = add i64 %99, 2147418112
%101 = inttoptr i64 %100 to i64*
store i64 %98, i64* %101
br label %instr_0x000A6AEC
instr_0x000A6AEC: ; preds = %instr_0x000A6AE8
%102 = getelementptr i8* %ppu_state, i32 776
%103 = bitcast i8* %102 to i64*
%104 = load i64* %103, align 8
%105 = add i64 %104, 136
%106 = getelementptr i8* %ppu_state, i32 888
%107 = bitcast i8* %106 to i64*
%108 = load i64* %107, align 8
%109 = call i64 @llvm.bswap.i64(i64 %108)
%110 = and i64 %105, 4294967295
%111 = add i64 %110, 2147418112
%112 = inttoptr i64 %111 to i64*
store i64 %109, i64* %112
br label %instr_0x000A6AF0
instr_0x000A6AF0: ; preds = %instr_0x000A6AEC
%113 = getelementptr i8* %ppu_state, i32 776
%114 = bitcast i8* %113 to i64*
%115 = load i64* %114, align 8
%116 = add i64 %115, 160
%117 = getelementptr i8* %ppu_state, i32 912
%118 = bitcast i8* %117 to i64*
%119 = load i64* %118, align 8
%120 = call i64 @llvm.bswap.i64(i64 %119)
%121 = and i64 %116, 4294967295
%122 = add i64 %121, 2147418112
%123 = inttoptr i64 %122 to i64*
store i64 %120, i64* %123
br label %instr_0x000A6AF4
instr_0x000A6AF4: ; preds = %instr_0x000A6AF0
%124 = getelementptr i8* %ppu_state, i32 776
%125 = bitcast i8* %124 to i64*
%126 = load i64* %125, align 8
%127 = add i64 %126, 168
%128 = getelementptr i8* %ppu_state, i32 920
%129 = bitcast i8* %128 to i64*
%130 = load i64* %129, align 8
%131 = call i64 @llvm.bswap.i64(i64 %130)
%132 = and i64 %127, 4294967295
%133 = add i64 %132, 2147418112
%134 = inttoptr i64 %133 to i64*
store i64 %131, i64* %134
br label %instr_0x000A6AF8
instr_0x000A6AF8: ; preds = %instr_0x000A6AF4
%135 = getelementptr i8* %ppu_state, i32 776
%136 = bitcast i8* %135 to i64*
%137 = load i64* %136, align 8
%138 = add i64 %137, 176
%139 = getelementptr i8* %ppu_state, i32 928
%140 = bitcast i8* %139 to i64*
%141 = load i64* %140, align 8
%142 = call i64 @llvm.bswap.i64(i64 %141)
%143 = and i64 %138, 4294967295
%144 = add i64 %143, 2147418112
%145 = inttoptr i64 %144 to i64*
store i64 %142, i64* %145
br label %instr_0x000A6AFC
instr_0x000A6AFC: ; preds = %instr_0x000A6AF8
%146 = getelementptr i8* %ppu_state, i32 776
%147 = bitcast i8* %146 to i64*
%148 = load i64* %147, align 8
%149 = add i64 %148, 184
%150 = getelementptr i8* %ppu_state, i32 936
%151 = bitcast i8* %150 to i64*
%152 = load i64* %151, align 8
%153 = call i64 @llvm.bswap.i64(i64 %152)
%154 = and i64 %149, 4294967295
%155 = add i64 %154, 2147418112
%156 = inttoptr i64 %155 to i64*
store i64 %153, i64* %156
br label %instr_0x000A6B00
instr_0x000A6B00: ; preds = %instr_0x000A6AFC
%157 = getelementptr i8* %ppu_state, i32 776
%158 = bitcast i8* %157 to i64*
%159 = load i64* %158, align 8
%160 = add i64 %159, 208
%161 = getelementptr i8* %ppu_state, i32 960
%162 = bitcast i8* %161 to i64*
%163 = load i64* %162, align 8
%164 = call i64 @llvm.bswap.i64(i64 %163)
%165 = and i64 %160, 4294967295
%166 = add i64 %165, 2147418112
%167 = inttoptr i64 %166 to i64*
store i64 %164, i64* %167
br label %instr_0x000A6B04
instr_0x000A6B04: ; preds = %instr_0x000A6B00
%168 = getelementptr i8* %ppu_state, i32 776
%169 = bitcast i8* %168 to i64*
%170 = load i64* %169, align 8
%171 = add i64 %170, 216
%172 = getelementptr i8* %ppu_state, i32 968
%173 = bitcast i8* %172 to i64*
%174 = load i64* %173, align 8
%175 = call i64 @llvm.bswap.i64(i64 %174)
%176 = and i64 %171, 4294967295
%177 = add i64 %176, 2147418112
%178 = inttoptr i64 %177 to i64*
store i64 %175, i64* %178
br label %instr_0x000A6B08
instr_0x000A6B08: ; preds = %instr_0x000A6B04
%179 = getelementptr i8* %ppu_state, i32 776
%180 = bitcast i8* %179 to i64*
%181 = load i64* %180, align 8
%182 = add i64 %181, 224
%183 = getelementptr i8* %ppu_state, i32 976
%184 = bitcast i8* %183 to i64*
%185 = load i64* %184, align 8
%186 = call i64 @llvm.bswap.i64(i64 %185)
%187 = and i64 %182, 4294967295
%188 = add i64 %187, 2147418112
%189 = inttoptr i64 %188 to i64*
store i64 %186, i64* %189
br label %instr_0x000A6B0C
instr_0x000A6B0C: ; preds = %instr_0x000A6B08
%190 = getelementptr i8* %ppu_state, i32 776
%191 = bitcast i8* %190 to i64*
%192 = load i64* %191, align 8
%193 = add i64 %192, 232
%194 = getelementptr i8* %ppu_state, i32 984
%195 = bitcast i8* %194 to i64*
%196 = load i64* %195, align 8
%197 = call i64 @llvm.bswap.i64(i64 %196)
%198 = and i64 %193, 4294967295
%199 = add i64 %198, 2147418112
%200 = inttoptr i64 %199 to i64*
store i64 %197, i64* %200
br label %instr_0x000A6B10
instr_0x000A6B10: ; preds = %instr_0x000A6B0C
%201 = getelementptr i8* %ppu_state, i32 776
%202 = bitcast i8* %201 to i64*
%203 = load i64* %202, align 8
%204 = add i64 %203, 240
%205 = getelementptr i8* %ppu_state, i32 992
%206 = bitcast i8* %205 to i64*
%207 = load i64* %206, align 8
%208 = call i64 @llvm.bswap.i64(i64 %207)
%209 = and i64 %204, 4294967295
%210 = add i64 %209, 2147418112
%211 = inttoptr i64 %210 to i64*
store i64 %208, i64* %211
br label %instr_0x000A6B14
instr_0x000A6B14: ; preds = %instr_0x000A6B10
%212 = getelementptr i8* %ppu_state, i32 776
%213 = bitcast i8* %212 to i64*
%214 = load i64* %213, align 8
%215 = add i64 %214, 248
%216 = getelementptr i8* %ppu_state, i32 1000
%217 = bitcast i8* %216 to i64*
%218 = load i64* %217, align 8
%219 = call i64 @llvm.bswap.i64(i64 %218)
%220 = and i64 %215, 4294967295
%221 = add i64 %220, 2147418112
%222 = inttoptr i64 %221 to i64*
store i64 %219, i64* %222
br label %instr_0x000A6B18
instr_0x000A6B18: ; preds = %instr_0x000A6B14
%223 = getelementptr i8* %ppu_state, i32 776
%224 = bitcast i8* %223 to i64*
%225 = load i64* %224, align 8
%226 = add i64 %225, 256
%227 = getelementptr i8* %ppu_state, i32 1008
%228 = bitcast i8* %227 to i64*
%229 = load i64* %228, align 8
%230 = call i64 @llvm.bswap.i64(i64 %229)
%231 = and i64 %226, 4294967295
%232 = add i64 %231, 2147418112
%233 = inttoptr i64 %232 to i64*
store i64 %230, i64* %233
br label %instr_0x000A6B1C
instr_0x000A6B1C: ; preds = %instr_0x000A6B18
%234 = getelementptr i8* %ppu_state, i32 776
%235 = bitcast i8* %234 to i64*
%236 = load i64* %235, align 8
%237 = add i64 %236, 264
%238 = getelementptr i8* %ppu_state, i32 1016
%239 = bitcast i8* %238 to i64*
%240 = load i64* %239, align 8
%241 = call i64 @llvm.bswap.i64(i64 %240)
%242 = and i64 %237, 4294967295
%243 = add i64 %242, 2147418112
%244 = inttoptr i64 %243 to i64*
store i64 %241, i64* %244
br label %instr_0x000A6B20
instr_0x000A6B20: ; preds = %instr_0x000A6B1C
%245 = getelementptr i8* %ppu_state, i32 776
%246 = bitcast i8* %245 to i64*
%247 = load i64* %246, align 8
%248 = add i64 %247, 288
%249 = getelementptr i8* %ppu_state, i32 768
%250 = bitcast i8* %249 to i64*
%251 = load i64* %250, align 8
%252 = call i64 @llvm.bswap.i64(i64 %251)
%253 = and i64 %248, 4294967295
%254 = add i64 %253, 2147418112
%255 = inttoptr i64 %254 to i64*
store i64 %252, i64* %255
br label %instr_0x000A6B24
instr_0x000A6B24: ; preds = %instr_0x000A6B20
%256 = getelementptr i8* %ppu_state, i32 808
%257 = bitcast i8* %256 to i64*
%258 = load i64* %257, align 8
%259 = getelementptr i8* %ppu_state, i32 808
%260 = bitcast i8* %259 to i64*
%261 = load i64* %260, align 8
%262 = or i64 %258, %261
%263 = getelementptr i8* %ppu_state, i32 896
%264 = bitcast i8* %263 to i64*
store i64 %262, i64* %264, align 8
br label %instr_0x000A6B28
instr_0x000A6B28: ; preds = %instr_0x000A6B24
%265 = getelementptr i8* %ppu_state, i32 792
%266 = bitcast i8* %265 to i64*
%267 = load i64* %266, align 8
%268 = getelementptr i8* %ppu_state, i32 792
%269 = bitcast i8* %268 to i64*
%270 = load i64* %269, align 8
%271 = or i64 %267, %270
%272 = getelementptr i8* %ppu_state, i32 944
%273 = bitcast i8* %272 to i64*
store i64 %271, i64* %273, align 8
br label %instr_0x000A6B2C
instr_0x000A6B2C: ; preds = %instr_0x000A6B28
%274 = getelementptr i8* %ppu_state, i32 800
%275 = bitcast i8* %274 to i64*
%276 = load i64* %275, align 8
%277 = getelementptr i8* %ppu_state, i32 800
%278 = bitcast i8* %277 to i64*
%279 = load i64* %278, align 8
%280 = or i64 %276, %279
%281 = getelementptr i8* %ppu_state, i32 952
%282 = bitcast i8* %281 to i64*
store i64 %280, i64* %282, align 8
br label %instr_0x000A6B30
instr_0x000A6B30: ; preds = %instr_0x000A6B2C
%283 = getelementptr i8* %ppu_state, i32 776
%284 = bitcast i8* %283 to i64*
%285 = load i64* %284, align 8
%286 = add i64 %285, 112
%287 = getelementptr i8* %ppu_state, i32 824
%288 = bitcast i8* %287 to i32*
%289 = load i32* %288, align 8
%290 = call i32 @llvm.bswap.i32(i32 %289)
%291 = and i64 %286, 4294967295
%292 = add i64 %291, 2147418112
%293 = inttoptr i64 %292 to i32*
store i32 %290, i32* %293
br label %instr_0x000A6B34
instr_0x000A6B34: ; preds = %instr_0x000A6B30
%294 = getelementptr i8* %ppu_state, i32 816
%295 = bitcast i8* %294 to i64*
%296 = load i64* %295, align 8
%297 = getelementptr i8* %ppu_state, i32 816
%298 = bitcast i8* %297 to i64*
%299 = load i64* %298, align 8
%300 = or i64 %296, %299
%301 = getelementptr i8* %ppu_state, i32 904
%302 = bitcast i8* %301 to i64*
store i64 %300, i64* %302, align 8
br label %instr_0x000A6B38
instr_0x000A6B38: ; preds = %instr_0x000A6B34
%303 = getelementptr i8* %ppu_state, i32 1576
%304 = bitcast i8* %303 to i64*
%305 = load i64* %304, align 8
%306 = getelementptr i8* %ppu_state, i32 1540
%307 = bitcast i8* %306 to i32*
%308 = load i32* %307, align 4
%309 = lshr i32 %308, 1
%310 = and i32 %309, 1
%311 = trunc i32 %310 to i1
br i1 %311, label %instr_0x000A7014, label %instr_0x000A6B3C
instr_0x000A6B3C: ; preds = %instr_0x000A6B38
%312 = getelementptr i8* %ppu_state, i32 800
%313 = bitcast i8* %312 to i32*
%314 = load i32* %313, align 8
%315 = zext i32 %314 to i64
%316 = icmp ult i64 %315, 32
%317 = icmp ugt i64 %315, 32
%318 = icmp eq i64 %315, 32
%319 = getelementptr i8* %ppu_state, i32 1540
%320 = bitcast i8* %319 to i32*
%321 = load i32* %320, align 4
%322 = getelementptr i8* %ppu_state, i32 1544
%323 = bitcast i8* %322 to i64*
%324 = load i64* %323, align 8
%325 = lshr i64 %324, 31
%326 = and i64 %325, 1
%327 = and i32 %321, -16
%328 = zext i1 %316 to i32
%329 = shl i32 %328, 3
%330 = or i32 %327, %329
%331 = zext i1 %317 to i32
%332 = shl i32 %331, 2
%333 = or i32 %330, %332
%334 = zext i1 %318 to i32
%335 = shl i32 %334, 1
%336 = or i32 %333, %335
%337 = trunc i64 %326 to i32
%338 = or i32 %336, %337
%339 = getelementptr i8* %ppu_state, i32 1540
%340 = bitcast i8* %339 to i32*
store i32 %338, i32* %340, align 4
br label %instr_0x000A6B40
instr_0x000A6B40: ; preds = %instr_0x000A6B3C
%341 = getelementptr i8* %ppu_state, i32 1576
%342 = bitcast i8* %341 to i64*
%343 = load i64* %342, align 8
%344 = getelementptr i8* %ppu_state, i32 1540
%345 = bitcast i8* %344 to i32*
%346 = load i32* %345, align 4
%347 = lshr i32 %346, 2
%348 = and i32 %347, 1
%349 = trunc i32 %348 to i1
%350 = xor i1 %349, true
br i1 %350, label %instr_0x000A6EC4, label %instr_0x000A6B44
instr_0x000A6B44: ; preds = %instr_0x000A6B40
%351 = getelementptr i8* %ppu_state, i32 816
%352 = bitcast i8* %351 to i32*
%353 = load i32* %352, align 8
%354 = zext i32 %353 to i64
%355 = shl i64 %354, 32
%356 = or i64 %354, %355
%357 = lshr i64 %356, 61
%358 = shl i64 %356, 3
%359 = or i64 %358, %357
%360 = and i64 %359, 4294967288
%361 = getelementptr i8* %ppu_state, i32 840
%362 = bitcast i8* %361 to i64*
store i64 %360, i64* %362, align 8
br label %instr_0x000A6B48
instr_0x000A6B48: ; preds = %instr_0x000A6B44
%363 = getelementptr i8* %ppu_state, i32 816
%364 = bitcast i8* %363 to i32*
%365 = load i32* %364, align 8
%366 = zext i32 %365 to i64
%367 = shl i64 %366, 32
%368 = or i64 %366, %367
%369 = lshr i64 %368, 59
%370 = shl i64 %368, 5
%371 = or i64 %370, %369
%372 = and i64 %371, 4294967264
%373 = getelementptr i8* %ppu_state, i32 768
%374 = bitcast i8* %373 to i64*
store i64 %372, i64* %374, align 8
br label %instr_0x000A6B4C
instr_0x000A6B4C: ; preds = %instr_0x000A6B48
%375 = getelementptr i8* %ppu_state, i32 816
%376 = bitcast i8* %375 to i64*
%377 = load i64* %376, align 8
%378 = getelementptr i8* %ppu_state, i32 816
%379 = bitcast i8* %378 to i64*
%380 = load i64* %379, align 8
%381 = or i64 %377, %380
%382 = getelementptr i8* %ppu_state, i32 968
%383 = bitcast i8* %382 to i64*
store i64 %381, i64* %383, align 8
br label %instr_0x000A6B50
instr_0x000A6B50: ; preds = %instr_0x000A6B4C
%384 = getelementptr i8* %ppu_state, i32 840
%385 = bitcast i8* %384 to i64*
%386 = load i64* %385, align 8
%387 = getelementptr i8* %ppu_state, i32 768
%388 = bitcast i8* %387 to i64*
%389 = load i64* %388, align 8
%390 = add i64 %386, %389
%391 = getelementptr i8* %ppu_state, i32 880
%392 = bitcast i8* %391 to i64*
store i64 %390, i64* %392, align 8
br label %instr_0x000A6B54
instr_0x000A6B54: ; preds = %instr_0x000A6B50
%393 = getelementptr i8* %ppu_state, i32 816
%394 = bitcast i8* %393 to i64*
%395 = load i64* %394, align 8
%396 = and i64 %395, 4294967295
%397 = getelementptr i8* %ppu_state, i32 936
%398 = bitcast i8* %397 to i64*
store i64 %396, i64* %398, align 8
br label %instr_0x000A6B58
instr_0x000A6B58: ; preds = %instr_0x000A6B54
%399 = getelementptr i8* %ppu_state, i32 824
%400 = bitcast i8* %399 to i64*
%401 = load i64* %400, align 8
%402 = and i64 %401, 4294967295
%403 = getelementptr i8* %ppu_state, i32 960
%404 = bitcast i8* %403 to i64*
store i64 %402, i64* %404, align 8
br label %instr_0x000A6B5C
instr_0x000A6B5C: ; preds = %instr_0x000A6B58
%405 = getelementptr i8* %ppu_state, i32 816
%406 = bitcast i8* %405 to i64*
%407 = load i64* %406, align 8
%408 = sub i64 0, %407
%409 = getelementptr i8* %ppu_state, i32 928
%410 = bitcast i8* %409 to i64*
store i64 %408, i64* %410, align 8
br label %instr_0x000A6B60
instr_0x000A6B60: ; preds = %instr_0x000A6EC0, %instr_0x000A6B5C
%411 = getelementptr i8* %ppu_state, i32 952
%412 = bitcast i8* %411 to i32*
%413 = load i32* %412, align 8
%414 = zext i32 %413 to i64
%415 = shl i64 %414, 32
%416 = or i64 %414, %415
%417 = lshr i64 %416, 33
%418 = shl i64 %416, 31
%419 = or i64 %418, %417
%420 = and i64 %419, 2147483647
%421 = getelementptr i8* %ppu_state, i32 768
%422 = bitcast i8* %421 to i64*
store i64 %420, i64* %422, align 8
br label %instr_0x000A6B64
instr_0x000A6B64: ; preds = %instr_0x000A6B60
%423 = getelementptr i8* %ppu_state, i32 904
%424 = bitcast i8* %423 to i32*
%425 = load i32* %424, align 8
%426 = getelementptr i8* %ppu_state, i32 952
%427 = bitcast i8* %426 to i32*
%428 = load i32* %427, align 8
%429 = sext i32 %425 to i64
%430 = sext i32 %428 to i64
%431 = mul i64 %429, %430
%432 = getelementptr i8* %ppu_state, i32 840
%433 = bitcast i8* %432 to i64*
store i64 %431, i64* %433, align 8
br label %instr_0x000A6B68
instr_0x000A6B68: ; preds = %instr_0x000A6B64
%434 = getelementptr i8* %ppu_state, i32 840
%435 = bitcast i8* %434 to i64*
%436 = load i64* %435, align 8
%437 = getelementptr i8* %ppu_state, i32 944
%438 = bitcast i8* %437 to i64*
%439 = load i64* %438, align 8
%440 = add i64 %436, %439
%441 = getelementptr i8* %ppu_state, i32 912
%442 = bitcast i8* %441 to i64*
store i64 %440, i64* %442, align 8
br label %instr_0x000A6B6C
instr_0x000A6B6C: ; preds = %instr_0x000A6B68
%443 = getelementptr i8* %ppu_state, i32 904
%444 = bitcast i8* %443 to i32*
%445 = load i32* %444, align 8
%446 = getelementptr i8* %ppu_state, i32 768
%447 = bitcast i8* %446 to i32*
%448 = load i32* %447, align 8
%449 = sext i32 %445 to i64
%450 = sext i32 %448 to i64
%451 = mul i64 %449, %450
%452 = getelementptr i8* %ppu_state, i32 768
%453 = bitcast i8* %452 to i64*
store i64 %451, i64* %453, align 8
br label %instr_0x000A6B70
instr_0x000A6B70: ; preds = %instr_0x000A6B6C
%454 = getelementptr i8* %ppu_state, i32 968
%455 = bitcast i8* %454 to i64*
%456 = load i64* %455, align 8
%457 = getelementptr i8* %ppu_state, i32 912
%458 = bitcast i8* %457 to i64*
%459 = load i64* %458, align 8
%460 = sub i64 %459, %456
%461 = getelementptr i8* %ppu_state, i32 1016
%462 = bitcast i8* %461 to i64*
store i64 %460, i64* %462, align 8
br label %instr_0x000A6B74
instr_0x000A6B74: ; preds = %instr_0x000A6B70
%463 = getelementptr i8* %ppu_state, i32 768
%464 = bitcast i8* %463 to i64*
%465 = load i64* %464, align 8
%466 = getelementptr i8* %ppu_state, i32 944
%467 = bitcast i8* %466 to i64*
%468 = load i64* %467, align 8
%469 = add i64 %465, %468
%470 = getelementptr i8* %ppu_state, i32 952
%471 = bitcast i8* %470 to i64*
store i64 %469, i64* %471, align 8
br label %instr_0x000A6B78
instr_0x000A6B78: ; preds = %instr_0x000A6B74
%472 = getelementptr i8* %ppu_state, i32 944
%473 = bitcast i8* %472 to i64*
%474 = load i64* %473, align 8
%475 = getelementptr i8* %ppu_state, i32 1016
%476 = bitcast i8* %475 to i64*
%477 = load i64* %476, align 8
%478 = sub i64 %477, %474
%479 = getelementptr i8* %ppu_state, i32 1000
%480 = bitcast i8* %479 to i64*
store i64 %478, i64* %480, align 8
br label %instr_0x000A6B7C
instr_0x000A6B7C: ; preds = %instr_0x000A6B78
%481 = getelementptr i8* %ppu_state, i32 952
%482 = bitcast i8* %481 to i64*
%483 = load i64* %482, align 8
%484 = getelementptr i8* %ppu_state, i32 968
%485 = bitcast i8* %484 to i64*
%486 = load i64* %485, align 8
%487 = add i64 %483, %486
%488 = getelementptr i8* %ppu_state, i32 920
%489 = bitcast i8* %488 to i64*
store i64 %487, i64* %489, align 8
br label %instr_0x000A6B80
instr_0x000A6B80: ; preds = %instr_0x000A6B7C
%490 = getelementptr i8* %ppu_state, i32 1000
%491 = bitcast i8* %490 to i32*
%492 = load i32* %491, align 8
%493 = zext i32 %492 to i64
%494 = getelementptr i8* %ppu_state, i32 880
%495 = bitcast i8* %494 to i32*
%496 = load i32* %495, align 8
%497 = zext i32 %496 to i64
%498 = icmp ult i64 %493, %497
%499 = icmp ugt i64 %493, %497
%500 = icmp eq i64 %493, %497
%501 = getelementptr i8* %ppu_state, i32 1540
%502 = bitcast i8* %501 to i32*
%503 = load i32* %502, align 4
%504 = getelementptr i8* %ppu_state, i32 1544
%505 = bitcast i8* %504 to i64*
%506 = load i64* %505, align 8
%507 = lshr i64 %506, 31
%508 = and i64 %507, 1
%509 = and i32 %503, -16
%510 = zext i1 %498 to i32
%511 = shl i32 %510, 3
%512 = or i32 %509, %511
%513 = zext i1 %499 to i32
%514 = shl i32 %513, 2
%515 = or i32 %512, %514
%516 = zext i1 %500 to i32
%517 = shl i32 %516, 1
%518 = or i32 %515, %517
%519 = trunc i64 %508 to i32
%520 = or i32 %518, %519
%521 = getelementptr i8* %ppu_state, i32 1540
%522 = bitcast i8* %521 to i32*
store i32 %520, i32* %522, align 4
br label %instr_0x000A6B84
instr_0x000A6B84: ; preds = %instr_0x000A6B80
%523 = getelementptr i8* %ppu_state, i32 1576
%524 = bitcast i8* %523 to i64*
%525 = load i64* %524, align 8
%526 = getelementptr i8* %ppu_state, i32 1540
%527 = bitcast i8* %526 to i32*
%528 = load i32* %527, align 4
%529 = lshr i32 %528, 2
%530 = and i32 %529, 1
%531 = trunc i32 %530 to i1
%532 = xor i1 %531, true
br i1 %532, label %instr_0x000A6FD0, label %instr_0x000A6B88
instr_0x000A6B88: ; preds = %instr_0x000A6B84
%533 = getelementptr i8* %ppu_state, i32 944
%534 = bitcast i8* %533 to i64*
%535 = load i64* %534, align 8
%536 = and i64 %535, 4294967295
%537 = getelementptr i8* %ppu_state, i32 888
%538 = bitcast i8* %537 to i64*
store i64 %536, i64* %538, align 8
br label %instr_0x000A6B8C
instr_0x000A6B8C: ; preds = %instr_0x000A6B88
%539 = getelementptr i8* %ppu_state, i32 936
%540 = bitcast i8* %539 to i64*
%541 = load i64* %540, align 8
%542 = getelementptr i8* %ppu_state, i32 936
%543 = bitcast i8* %542 to i64*
%544 = load i64* %543, align 8
%545 = or i64 %541, %544
%546 = getelementptr i8* %ppu_state, i32 816
%547 = bitcast i8* %546 to i64*
store i64 %545, i64* %547, align 8
br label %instr_0x000A6B90
instr_0x000A6B90: ; preds = %instr_0x000A6B8C
%548 = getelementptr i8* %ppu_state, i32 888
%549 = bitcast i8* %548 to i64*
%550 = load i64* %549, align 8
%551 = getelementptr i8* %ppu_state, i32 888
%552 = bitcast i8* %551 to i64*
%553 = load i64* %552, align 8
%554 = or i64 %550, %553
%555 = getelementptr i8* %ppu_state, i32 792
%556 = bitcast i8* %555 to i64*
store i64 %554, i64* %556, align 8
br label %instr_0x000A6B94
instr_0x000A6B94: ; preds = %instr_0x000A6B90
%557 = getelementptr i8* %ppu_state, i32 960
%558 = bitcast i8* %557 to i64*
%559 = load i64* %558, align 8
%560 = getelementptr i8* %ppu_state, i32 960
%561 = bitcast i8* %560 to i64*
%562 = load i64* %561, align 8
%563 = or i64 %559, %562
%564 = getelementptr i8* %ppu_state, i32 824
%565 = bitcast i8* %564 to i64*
store i64 %563, i64* %565, align 8
br label %instr_0x000A6B98
instr_0x000A6B98: ; preds = %instr_0x000A6B94
%566 = getelementptr i8* %ppu_state, i32 952
%567 = bitcast i8* %566 to i64*
%568 = load i64* %567, align 8
%569 = and i64 %568, 4294967295
%570 = getelementptr i8* %ppu_state, i32 976
%571 = bitcast i8* %570 to i64*
store i64 %569, i64* %571, align 8
br label %instr_0x000A6B9C
instr_0x000A6B9C: ; preds = %instr_0x000A6B98
%572 = getelementptr i8* %ppu_state, i32 1000
%573 = bitcast i8* %572 to i32*
%574 = load i32* %573, align 8
%575 = getelementptr i8* %ppu_state, i32 904
%576 = bitcast i8* %575 to i32*
%577 = load i32* %576, align 8
%578 = udiv i32 %574, %577
%579 = zext i32 %578 to i64
%580 = getelementptr i8* %ppu_state, i32 1000
%581 = bitcast i8* %580 to i64*
store i64 %579, i64* %581, align 8
br label %instr_0x000A6BA0
instr_0x000A6BA0: ; preds = %instr_0x000A6B9C
%582 = getelementptr i8* %ppu_state, i32 1000
%583 = bitcast i8* %582 to i32*
%584 = load i32* %583, align 8
%585 = zext i32 %584 to i64
%586 = shl i64 %585, 32
%587 = or i64 %585, %586
%588 = lshr i64 %587, 35
%589 = shl i64 %587, 29
%590 = or i64 %589, %588
%591 = and i64 %590, 536870911
%592 = getelementptr i8* %ppu_state, i32 1000
%593 = bitcast i8* %592 to i64*
store i64 %591, i64* %593, align 8
br label %instr_0x000A6BA4
instr_0x000A6BA4: ; preds = %instr_0x000A6BA0
%594 = getelementptr i8* %ppu_state, i32 1000
%595 = bitcast i8* %594 to i64*
%596 = load i64* %595, align 8
%597 = add i64 %596, 1
%598 = getelementptr i8* %ppu_state, i32 1000
%599 = bitcast i8* %598 to i64*
store i64 %597, i64* %599, align 8
br label %instr_0x000A6BA8
instr_0x000A6BA8: ; preds = %instr_0x000A6BA4
%600 = getelementptr i8* %ppu_state, i32 904
%601 = bitcast i8* %600 to i32*
%602 = load i32* %601, align 8
%603 = getelementptr i8* %ppu_state, i32 1000
%604 = bitcast i8* %603 to i32*
%605 = load i32* %604, align 8
%606 = sext i32 %602 to i64
%607 = sext i32 %605 to i64
%608 = mul i64 %606, %607
%609 = getelementptr i8* %ppu_state, i32 1000
%610 = bitcast i8* %609 to i64*
store i64 %608, i64* %610, align 8
br label %instr_0x000A6BAC
instr_0x000A6BAC: ; preds = %instr_0x000A6BA8
%611 = getelementptr i8* %ppu_state, i32 1000
%612 = bitcast i8* %611 to i32*
%613 = load i32* %612, align 8
%614 = zext i32 %613 to i64
%615 = shl i64 %614, 32
%616 = or i64 %614, %615
%617 = lshr i64 %616, 63
%618 = shl i64 %616, 1
%619 = or i64 %618, %617
%620 = and i64 %619, 4294967294
%621 = getelementptr i8* %ppu_state, i32 992
%622 = bitcast i8* %621 to i64*
store i64 %620, i64* %622, align 8
br label %instr_0x000A6BB0
instr_0x000A6BB0: ; preds = %instr_0x000A6BAC
%623 = getelementptr i8* %ppu_state, i32 944
%624 = bitcast i8* %623 to i64*
%625 = load i64* %624, align 8
%626 = getelementptr i8* %ppu_state, i32 1000
%627 = bitcast i8* %626 to i64*
%628 = load i64* %627, align 8
%629 = add i64 %625, %628
%630 = getelementptr i8* %ppu_state, i32 984
%631 = bitcast i8* %630 to i64*
store i64 %629, i64* %631, align 8
br label %instr_0x000A6BB4
instr_0x000A6BB4: ; preds = %instr_0x000A6BB0
%632 = getelementptr i8* %ppu_state, i32 944
%633 = bitcast i8* %632 to i64*
%634 = load i64* %633, align 8
%635 = getelementptr i8* %ppu_state, i32 992
%636 = bitcast i8* %635 to i64*
%637 = load i64* %636, align 8
%638 = add i64 %634, %637
%639 = getelementptr i8* %ppu_state, i32 808
%640 = bitcast i8* %639 to i64*
store i64 %638, i64* %640, align 8
br label %instr_0x000A6BB8
instr_0x000A6BB8: ; preds = %instr_0x000A6BB4
%641 = getelementptr i8* %ppu_state, i32 984
%642 = bitcast i8* %641 to i64*
%643 = load i64* %642, align 8
%644 = and i64 %643, 4294967295
%645 = getelementptr i8* %ppu_state, i32 984
%646 = bitcast i8* %645 to i64*
store i64 %644, i64* %646, align 8
br label %instr_0x000A6BBC
instr_0x000A6BBC: ; preds = %instr_0x000A6BB8
%647 = getelementptr i8* %ppu_state, i32 808
%648 = bitcast i8* %647 to i64*
%649 = load i64* %648, align 8
%650 = and i64 %649, 4294967295
%651 = getelementptr i8* %ppu_state, i32 808
%652 = bitcast i8* %651 to i64*
store i64 %650, i64* %652, align 8
br label %instr_0x000A6BC0
instr_0x000A6BC0: ; preds = %instr_0x000A6BBC
%653 = getelementptr i8* %ppu_state, i32 984
%654 = bitcast i8* %653 to i64*
%655 = load i64* %654, align 8
%656 = getelementptr i8* %ppu_state, i32 984
%657 = bitcast i8* %656 to i64*
%658 = load i64* %657, align 8
%659 = or i64 %655, %658
%660 = getelementptr i8* %ppu_state, i32 800
%661 = bitcast i8* %660 to i64*
store i64 %659, i64* %661, align 8
br label %instr_0x000A6BC4
instr_0x000A6BC4: ; preds = %instr_0x000A6BC0
%662 = getelementptr i8* %ppu_state, i32 992
%663 = bitcast i8* %662 to i64*
%664 = load i64* %663, align 8
%665 = getelementptr i8* %ppu_state, i32 1016
%666 = bitcast i8* %665 to i64*
%667 = load i64* %666, align 8
%668 = sub i64 %667, %664
%669 = getelementptr i8* %ppu_state, i32 992
%670 = bitcast i8* %669 to i64*
store i64 %668, i64* %670, align 8
br label %instr_0x000A6BC8
instr_0x000A6BC8: ; preds = %instr_0x000A6BC4
%671 = getelementptr i8* %ppu_state, i32 1568
%672 = bitcast i8* %671 to i64*
store i64 682956, i64* %672, align 8
%673 = getelementptr i8* %ppu_state, i32 1664
%674 = bitcast i8* %673 to i32*
store i32 682104, i32* %674, align 4
%675 = load i64* inttoptr (i64 8623353112 to i64*)
%676 = inttoptr i64 %675 to i32 (i8*, i64)*
%677 = call i32 %676(i8* %ppu_state, i64 0)
%678 = icmp eq i32 %677, -1
br i1 %678, 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
%679 = getelementptr i8* %ppu_state, i32 1000
%680 = bitcast i8* %679 to i64*
%681 = load i64* %680, align 8
%682 = getelementptr i8* %ppu_state, i32 952
%683 = bitcast i8* %682 to i64*
%684 = load i64* %683, align 8
%685 = sub i64 %684, %681
%686 = getelementptr i8* %ppu_state, i32 792
%687 = bitcast i8* %686 to i64*
store i64 %685, i64* %687, align 8
br label %instr_0x000A6BD0
instr_0x000A6BD0: ; preds = %instr_0x000A6BCC
%688 = getelementptr i8* %ppu_state, i32 952
%689 = bitcast i8* %688 to i64*
%690 = load i64* %689, align 8
%691 = getelementptr i8* %ppu_state, i32 1000
%692 = bitcast i8* %691 to i64*
%693 = load i64* %692, align 8
%694 = add i64 %690, %693
%695 = getelementptr i8* %ppu_state, i32 808
%696 = bitcast i8* %695 to i64*
store i64 %694, i64* %696, align 8
br label %instr_0x000A6BD4
instr_0x000A6BD4: ; preds = %instr_0x000A6BD0
%697 = getelementptr i8* %ppu_state, i32 1000
%698 = bitcast i8* %697 to i64*
%699 = load i64* %698, align 8
%700 = getelementptr i8* %ppu_state, i32 1016
%701 = bitcast i8* %700 to i64*
%702 = load i64* %701, align 8
%703 = sub i64 %702, %699
%704 = getelementptr i8* %ppu_state, i32 1000
%705 = bitcast i8* %704 to i64*
store i64 %703, i64* %705, align 8
br label %instr_0x000A6BD8
instr_0x000A6BD8: ; preds = %instr_0x000A6BD4
%706 = getelementptr i8* %ppu_state, i32 792
%707 = bitcast i8* %706 to i64*
%708 = load i64* %707, align 8
%709 = and i64 %708, 4294967295
%710 = getelementptr i8* %ppu_state, i32 792
%711 = bitcast i8* %710 to i64*
store i64 %709, i64* %711, align 8
br label %instr_0x000A6BDC
instr_0x000A6BDC: ; preds = %instr_0x000A6BD8
%712 = getelementptr i8* %ppu_state, i32 808
%713 = bitcast i8* %712 to i64*
%714 = load i64* %713, align 8
%715 = and i64 %714, 4294967295
%716 = getelementptr i8* %ppu_state, i32 808
%717 = bitcast i8* %716 to i64*
store i64 %715, i64* %717, align 8
br label %instr_0x000A6BE0
instr_0x000A6BE0: ; preds = %instr_0x000A6BDC
%718 = getelementptr i8* %ppu_state, i32 976
%719 = bitcast i8* %718 to i64*
%720 = load i64* %719, align 8
%721 = getelementptr i8* %ppu_state, i32 976
%722 = bitcast i8* %721 to i64*
%723 = load i64* %722, align 8
%724 = or i64 %720, %723
%725 = getelementptr i8* %ppu_state, i32 800
%726 = bitcast i8* %725 to i64*
store i64 %724, i64* %726, align 8
br label %instr_0x000A6BE4
instr_0x000A6BE4: ; preds = %instr_0x000A6BE0
%727 = getelementptr i8* %ppu_state, i32 936
%728 = bitcast i8* %727 to i64*
%729 = load i64* %728, align 8
%730 = getelementptr i8* %ppu_state, i32 936
%731 = bitcast i8* %730 to i64*
%732 = load i64* %731, align 8
%733 = or i64 %729, %732
%734 = getelementptr i8* %ppu_state, i32 816
%735 = bitcast i8* %734 to i64*
store i64 %733, i64* %735, align 8
br label %instr_0x000A6BE8
instr_0x000A6BE8: ; preds = %instr_0x000A6BE4
%736 = getelementptr i8* %ppu_state, i32 960
%737 = bitcast i8* %736 to i64*
%738 = load i64* %737, align 8
%739 = getelementptr i8* %ppu_state, i32 960
%740 = bitcast i8* %739 to i64*
%741 = load i64* %740, align 8
%742 = or i64 %738, %741
%743 = getelementptr i8* %ppu_state, i32 824
%744 = bitcast i8* %743 to i64*
store i64 %742, i64* %744, align 8
br label %instr_0x000A6BEC
instr_0x000A6BEC: ; preds = %instr_0x000A6BE8
%745 = getelementptr i8* %ppu_state, i32 1000
%746 = bitcast i8* %745 to i64*
%747 = load i64* %746, align 8
%748 = and i64 %747, 4294967295
%749 = getelementptr i8* %ppu_state, i32 1000
%750 = bitcast i8* %749 to i64*
store i64 %748, i64* %750, align 8
br label %instr_0x000A6BF0
instr_0x000A6BF0: ; preds = %instr_0x000A6BEC
%751 = getelementptr i8* %ppu_state, i32 1568
%752 = bitcast i8* %751 to i64*
store i64 682996, i64* %752, align 8
%753 = getelementptr i8* %ppu_state, i32 1664
%754 = bitcast i8* %753 to i32*
store i32 682104, i32* %754, align 4
%755 = load i64* inttoptr (i64 8623353112 to i64*)
%756 = inttoptr i64 %755 to i32 (i8*, i64)*
%757 = call i32 %756(i8* %ppu_state, i64 0)
%758 = icmp eq i32 %757, -1
br i1 %758, 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
%759 = getelementptr i8* %ppu_state, i32 992
%760 = bitcast i8* %759 to i64*
%761 = load i64* %760, align 8
%762 = and i64 %761, 4294967295
%763 = getelementptr i8* %ppu_state, i32 792
%764 = bitcast i8* %763 to i64*
store i64 %762, i64* %764, align 8
br label %instr_0x000A6BF8
instr_0x000A6BF8: ; preds = %instr_0x000A6BF4
%765 = getelementptr i8* %ppu_state, i32 1016
%766 = bitcast i8* %765 to i64*
%767 = load i64* %766, align 8
%768 = and i64 %767, 4294967295
%769 = getelementptr i8* %ppu_state, i32 808
%770 = bitcast i8* %769 to i64*
store i64 %768, i64* %770, align 8
br label %instr_0x000A6BFC
instr_0x000A6BFC: ; preds = %instr_0x000A6BF8
%771 = getelementptr i8* %ppu_state, i32 1000
%772 = bitcast i8* %771 to i64*
%773 = load i64* %772, align 8
%774 = getelementptr i8* %ppu_state, i32 1000
%775 = bitcast i8* %774 to i64*
%776 = load i64* %775, align 8
%777 = or i64 %773, %776
%778 = getelementptr i8* %ppu_state, i32 800
%779 = bitcast i8* %778 to i64*
store i64 %777, i64* %779, align 8
br label %instr_0x000A6C00
instr_0x000A6C00: ; preds = %instr_0x000A6BFC
%780 = getelementptr i8* %ppu_state, i32 936
%781 = bitcast i8* %780 to i64*
%782 = load i64* %781, align 8
%783 = getelementptr i8* %ppu_state, i32 936
%784 = bitcast i8* %783 to i64*
%785 = load i64* %784, align 8
%786 = or i64 %782, %785
%787 = getelementptr i8* %ppu_state, i32 816
%788 = bitcast i8* %787 to i64*
store i64 %786, i64* %788, align 8
br label %instr_0x000A6C04
instr_0x000A6C04: ; preds = %instr_0x000A6C00
%789 = getelementptr i8* %ppu_state, i32 960
%790 = bitcast i8* %789 to i64*
%791 = load i64* %790, align 8
%792 = getelementptr i8* %ppu_state, i32 960
%793 = bitcast i8* %792 to i64*
%794 = load i64* %793, align 8
%795 = or i64 %791, %794
%796 = getelementptr i8* %ppu_state, i32 824
%797 = bitcast i8* %796 to i64*
store i64 %795, i64* %797, align 8
br label %instr_0x000A6C08
instr_0x000A6C08: ; preds = %instr_0x000A6C04
%798 = getelementptr i8* %ppu_state, i32 1568
%799 = bitcast i8* %798 to i64*
store i64 683020, i64* %799, align 8
%800 = getelementptr i8* %ppu_state, i32 1664
%801 = bitcast i8* %800 to i32*
store i32 682104, i32* %801, align 4
%802 = load i64* inttoptr (i64 8623353112 to i64*)
%803 = inttoptr i64 %802 to i32 (i8*, i64)*
%804 = call i32 %803(i8* %ppu_state, i64 0)
%805 = icmp eq i32 %804, -1
br i1 %805, 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
%806 = getelementptr i8* %ppu_state, i32 984
%807 = bitcast i8* %806 to i64*
%808 = load i64* %807, align 8
%809 = getelementptr i8* %ppu_state, i32 984
%810 = bitcast i8* %809 to i64*
%811 = load i64* %810, align 8
%812 = or i64 %808, %811
%813 = getelementptr i8* %ppu_state, i32 792
%814 = bitcast i8* %813 to i64*
store i64 %812, i64* %814, align 8
br label %instr_0x000A6C10
instr_0x000A6C10: ; preds = %instr_0x000A6C0C
%815 = getelementptr i8* %ppu_state, i32 976
%816 = bitcast i8* %815 to i64*
%817 = load i64* %816, align 8
%818 = getelementptr i8* %ppu_state, i32 976
%819 = bitcast i8* %818 to i64*
%820 = load i64* %819, align 8
%821 = or i64 %817, %820
%822 = getelementptr i8* %ppu_state, i32 800
%823 = bitcast i8* %822 to i64*
store i64 %821, i64* %823, align 8
br label %instr_0x000A6C14
instr_0x000A6C14: ; preds = %instr_0x000A6C10
%824 = getelementptr i8* %ppu_state, i32 1000
%825 = bitcast i8* %824 to i64*
%826 = load i64* %825, align 8
%827 = getelementptr i8* %ppu_state, i32 1000
%828 = bitcast i8* %827 to i64*
%829 = load i64* %828, align 8
%830 = or i64 %826, %829
%831 = getelementptr i8* %ppu_state, i32 808
%832 = bitcast i8* %831 to i64*
store i64 %830, i64* %832, align 8
br label %instr_0x000A6C18
instr_0x000A6C18: ; preds = %instr_0x000A6C14
%833 = getelementptr i8* %ppu_state, i32 936
%834 = bitcast i8* %833 to i64*
%835 = load i64* %834, align 8
%836 = getelementptr i8* %ppu_state, i32 936
%837 = bitcast i8* %836 to i64*
%838 = load i64* %837, align 8
%839 = or i64 %835, %838
%840 = getelementptr i8* %ppu_state, i32 816
%841 = bitcast i8* %840 to i64*
store i64 %839, i64* %841, align 8
br label %instr_0x000A6C1C
instr_0x000A6C1C: ; preds = %instr_0x000A6C18
%842 = getelementptr i8* %ppu_state, i32 960
%843 = bitcast i8* %842 to i64*
%844 = load i64* %843, align 8
%845 = getelementptr i8* %ppu_state, i32 960
%846 = bitcast i8* %845 to i64*
%847 = load i64* %846, align 8
%848 = or i64 %844, %847
%849 = getelementptr i8* %ppu_state, i32 824
%850 = bitcast i8* %849 to i64*
store i64 %848, i64* %850, align 8
br label %instr_0x000A6C20
instr_0x000A6C20: ; preds = %instr_0x000A6C1C
%851 = getelementptr i8* %ppu_state, i32 1568
%852 = bitcast i8* %851 to i64*
store i64 683044, i64* %852, align 8
%853 = getelementptr i8* %ppu_state, i32 1664
%854 = bitcast i8* %853 to i32*
store i32 682104, i32* %854, align 4
%855 = load i64* inttoptr (i64 8623353112 to i64*)
%856 = inttoptr i64 %855 to i32 (i8*, i64)*
%857 = call i32 %856(i8* %ppu_state, i64 0)
%858 = icmp eq i32 %857, -1
br i1 %858, 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
%859 = getelementptr i8* %ppu_state, i32 952
%860 = bitcast i8* %859 to i32*
%861 = load i32* %860, align 8
%862 = zext i32 %861 to i64
%863 = getelementptr i8* %ppu_state, i32 944
%864 = bitcast i8* %863 to i32*
%865 = load i32* %864, align 8
%866 = zext i32 %865 to i64
%867 = icmp ult i64 %862, %866
%868 = icmp ugt i64 %862, %866
%869 = icmp eq i64 %862, %866
%870 = getelementptr i8* %ppu_state, i32 1540
%871 = bitcast i8* %870 to i32*
%872 = load i32* %871, align 4
%873 = getelementptr i8* %ppu_state, i32 1544
%874 = bitcast i8* %873 to i64*
%875 = load i64* %874, align 8
%876 = lshr i64 %875, 31
%877 = and i64 %876, 1
%878 = and i32 %872, -16
%879 = zext i1 %867 to i32
%880 = shl i32 %879, 3
%881 = or i32 %878, %880
%882 = zext i1 %868 to i32
%883 = shl i32 %882, 2
%884 = or i32 %881, %883
%885 = zext i1 %869 to i32
%886 = shl i32 %885, 1
%887 = or i32 %884, %886
%888 = trunc i64 %877 to i32
%889 = or i32 %887, %888
%890 = getelementptr i8* %ppu_state, i32 1540
%891 = bitcast i8* %890 to i32*
store i32 %889, i32* %891, align 4
br label %instr_0x000A6C28
instr_0x000A6C28: ; preds = %instr_0x000A6C24
%892 = getelementptr i8* %ppu_state, i32 952
%893 = bitcast i8* %892 to i64*
%894 = load i64* %893, align 8
%895 = getelementptr i8* %ppu_state, i32 952
%896 = bitcast i8* %895 to i64*
%897 = load i64* %896, align 8
%898 = or i64 %894, %897
%899 = getelementptr i8* %ppu_state, i32 1016
%900 = bitcast i8* %899 to i64*
store i64 %898, i64* %900, align 8
br label %instr_0x000A6C2C
instr_0x000A6C2C: ; preds = %instr_0x000A6C28
%901 = getelementptr i8* %ppu_state, i32 1576
%902 = bitcast i8* %901 to i64*
%903 = load i64* %902, align 8
%904 = getelementptr i8* %ppu_state, i32 1540
%905 = bitcast i8* %904 to i32*
%906 = load i32* %905, align 4
%907 = lshr i32 %906, 2
%908 = and i32 %907, 1
%909 = trunc i32 %908 to i1
%910 = xor i1 %909, true
br i1 %910, label %instr_0x000A6C84, label %instr_0x000A6C30
instr_0x000A6C30: ; preds = %instr_0x000A6C2C
%911 = getelementptr i8* %ppu_state, i32 952
%912 = bitcast i8* %911 to i64*
%913 = load i64* %912, align 8
%914 = getelementptr i8* %ppu_state, i32 952
%915 = bitcast i8* %914 to i64*
%916 = load i64* %915, align 8
%917 = or i64 %913, %916
%918 = getelementptr i8* %ppu_state, i32 1008
%919 = bitcast i8* %918 to i64*
store i64 %917, i64* %919, align 8
br label %instr_0x000A6C34
instr_0x000A6C34: ; preds = %instr_0x000A6C30
%920 = getelementptr i8* %ppu_state, i32 968
%921 = bitcast i8* %920 to i64*
%922 = load i64* %921, align 8
%923 = sub i64 0, %922
%924 = getelementptr i8* %ppu_state, i32 1000
%925 = bitcast i8* %924 to i64*
store i64 %923, i64* %925, align 8
br label %instr_0x000A6C38
instr_0x000A6C38: ; preds = %instr_0x000A6C34
%926 = getelementptr i8* %ppu_state, i32 968
%927 = bitcast i8* %926 to i64*
%928 = load i64* %927, align 8
%929 = getelementptr i8* %ppu_state, i32 952
%930 = bitcast i8* %929 to i64*
%931 = load i64* %930, align 8
%932 = sub i64 %931, %928
%933 = getelementptr i8* %ppu_state, i32 976
%934 = bitcast i8* %933 to i64*
store i64 %932, i64* %934, align 8
br label %instr_0x000A6C3C
instr_0x000A6C3C: ; preds = %instr_0x000A6C38
br label %instr_0x000A6C48
instr_0x000A6C40: ; preds = %instr_0x000A6C7C
%935 = phi i32 [ 683132, %instr_0x000A6C7C ]
%936 = getelementptr i8* %ppu_state, i32 1664
%937 = bitcast i8* %936 to i32*
store i32 683072, i32* %937, align 4
%938 = zext i32 %935 to i64
%939 = or i64 %938, 2932174172979200
%940 = load i64* inttoptr (i64 8623353120 to i64*)
%941 = inttoptr i64 %940 to i32 (i8*, i64)*
%942 = call i32 %941(i8* %ppu_state, i64 %939)
%943 = icmp eq i32 %942, -1
br i1 %943, 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
%944 = icmp ne i32 %942, 0
br i1 %944, label %instr_0x000A6C40_then_0, label %instr_0x000A6C40_merge_0
instr_0x000A6C40_then_0: ; preds = %instr_0x000A6C40_merge_all_fs
%945 = zext i32 %942 to i64
%946 = or i64 %945, 2932174172979200
%947 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %946)
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
%948 = getelementptr i8* %ppu_state, i32 776
%949 = bitcast i8* %948 to i64*
%950 = load i64* %949, align 8
%951 = add i64 %950, 40
%952 = getelementptr i8* %ppu_state, i32 784
%953 = bitcast i8* %952 to i64*
%954 = load i64* %953, align 8
%955 = call i64 @llvm.bswap.i64(i64 %954)
%956 = and i64 %951, 4294967295
%957 = add i64 %956, 2147418112
%958 = inttoptr i64 %957 to i64*
store i64 %955, i64* %958
br label %instr_0x000A6C4C
instr_0x000A6C4C: ; preds = %instr_0x000A6C48
%959 = getelementptr i8* %ppu_state, i32 960
%960 = bitcast i8* %959 to i64*
%961 = load i64* %960, align 8
%962 = add i64 %961, 0
%963 = and i64 %962, 4294967295
%964 = add i64 %963, 2147418112
%965 = inttoptr i64 %964 to i32*
%966 = load i32* %965
%967 = call i32 @llvm.bswap.i32(i32 %966)
%968 = zext i32 %967 to i64
%969 = getelementptr i8* %ppu_state, i32 768
%970 = bitcast i8* %969 to i64*
store i64 %968, i64* %970, align 8
br label %instr_0x000A6C50
instr_0x000A6C50: ; preds = %instr_0x000A6C4C
%971 = getelementptr i8* %ppu_state, i32 1008
%972 = bitcast i8* %971 to i64*
%973 = load i64* %972, align 8
%974 = getelementptr i8* %ppu_state, i32 1000
%975 = bitcast i8* %974 to i64*
%976 = load i64* %975, align 8
%977 = add i64 %973, %976
%978 = getelementptr i8* %ppu_state, i32 1016
%979 = bitcast i8* %978 to i64*
store i64 %977, i64* %979, align 8
br label %instr_0x000A6C54
instr_0x000A6C54: ; preds = %instr_0x000A6C50
%980 = getelementptr i8* %ppu_state, i32 1008
%981 = bitcast i8* %980 to i64*
%982 = load i64* %981, align 8
%983 = and i64 %982, 4294967295
%984 = getelementptr i8* %ppu_state, i32 800
%985 = bitcast i8* %984 to i64*
store i64 %983, i64* %985, align 8
br label %instr_0x000A6C58
instr_0x000A6C58: ; preds = %instr_0x000A6C54
%986 = getelementptr i8* %ppu_state, i32 960
%987 = bitcast i8* %986 to i64*
%988 = load i64* %987, align 8
%989 = add i64 %988, 4
%990 = and i64 %989, 4294967295
%991 = add i64 %990, 2147418112
%992 = inttoptr i64 %991 to i32*
%993 = load i32* %992
%994 = call i32 @llvm.bswap.i32(i32 %993)
%995 = zext i32 %994 to i64
%996 = getelementptr i8* %ppu_state, i32 784
%997 = bitcast i8* %996 to i64*
store i64 %995, i64* %997, align 8
br label %instr_0x000A6C5C
instr_0x000A6C5C: ; preds = %instr_0x000A6C58
%998 = getelementptr i8* %ppu_state, i32 768
%999 = bitcast i8* %998 to i64*
%1000 = load i64* %999, align 8
%1001 = getelementptr i8* %ppu_state, i32 1576
%1002 = bitcast i8* %1001 to i64*
store i64 %1000, i64* %1002, align 8
br label %instr_0x000A6C60
instr_0x000A6C60: ; preds = %instr_0x000A6C5C
%1003 = getelementptr i8* %ppu_state, i32 1016
%1004 = bitcast i8* %1003 to i64*
%1005 = load i64* %1004, align 8
%1006 = and i64 %1005, 4294967295
%1007 = getelementptr i8* %ppu_state, i32 792
%1008 = bitcast i8* %1007 to i64*
store i64 %1006, i64* %1008, align 8
br label %instr_0x000A6C64
instr_0x000A6C64: ; preds = %instr_0x000A6C60
%1009 = getelementptr i8* %ppu_state, i32 976
%1010 = bitcast i8* %1009 to i64*
%1011 = load i64* %1010, align 8
%1012 = getelementptr i8* %ppu_state, i32 1000
%1013 = bitcast i8* %1012 to i64*
%1014 = load i64* %1013, align 8
%1015 = add i64 %1011, %1014
%1016 = getelementptr i8* %ppu_state, i32 976
%1017 = bitcast i8* %1016 to i64*
store i64 %1015, i64* %1017, align 8
br label %instr_0x000A6C68
instr_0x000A6C68: ; preds = %instr_0x000A6C64
%1018 = getelementptr i8* %ppu_state, i32 1576
%1019 = bitcast i8* %1018 to i64*
%1020 = load i64* %1019, align 8
%1021 = and i64 %1020, -4
%1022 = trunc i64 %1021 to i32
%1023 = getelementptr i8* %ppu_state, i32 1576
%1024 = bitcast i8* %1023 to i64*
%1025 = load i64* %1024, align 8
%1026 = getelementptr i8* %ppu_state, i32 1568
%1027 = bitcast i8* %1026 to i64*
store i64 683116, i64* %1027, align 8
%1028 = getelementptr i8* %ppu_state, i32 1664
%1029 = bitcast i8* %1028 to i32*
store i32 %1022, i32* %1029, align 4
switch i32 %1022, label %instr_0x000A6C68_unknown_function [
i32 469328, label %instr_0x000A6C68_0x00072950
]
instr_0x000A6C68_unknown_function: ; preds = %instr_0x000A6C68
%1030 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6C6C
instr_0x000A6C68_0x00072950: ; preds = %instr_0x000A6C68
%1031 = load i64* inttoptr (i64 8623353112 to i64*)
%1032 = inttoptr i64 %1031 to i32 (i8*, i64)*
%1033 = call i32 %1032(i8* %ppu_state, i64 0)
%1034 = icmp eq i32 %1033, -1
br i1 %1034, 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
%1035 = getelementptr i8* %ppu_state, i32 776
%1036 = bitcast i8* %1035 to i64*
%1037 = load i64* %1036, align 8
%1038 = add i64 %1037, 40
%1039 = and i64 %1038, 4294967295
%1040 = add i64 %1039, 2147418112
%1041 = inttoptr i64 %1040 to i64*
%1042 = load i64* %1041
%1043 = call i64 @llvm.bswap.i64(i64 %1042)
%1044 = getelementptr i8* %ppu_state, i32 784
%1045 = bitcast i8* %1044 to i64*
store i64 %1043, i64* %1045, align 8
br label %instr_0x000A6C70
instr_0x000A6C70: ; preds = %instr_0x000A6C6C
%1046 = getelementptr i8* %ppu_state, i32 968
%1047 = bitcast i8* %1046 to i64*
%1048 = load i64* %1047, align 8
%1049 = getelementptr i8* %ppu_state, i32 976
%1050 = bitcast i8* %1049 to i64*
%1051 = load i64* %1050, align 8
%1052 = add i64 %1048, %1051
%1053 = getelementptr i8* %ppu_state, i32 768
%1054 = bitcast i8* %1053 to i64*
store i64 %1052, i64* %1054, align 8
br label %instr_0x000A6C74
instr_0x000A6C74: ; preds = %instr_0x000A6C70
%1055 = getelementptr i8* %ppu_state, i32 792
%1056 = bitcast i8* %1055 to i32*
%1057 = load i32* %1056, align 8
%1058 = sext i32 %1057 to i64
%1059 = icmp slt i64 %1058, 0
%1060 = icmp sgt i64 %1058, 0
%1061 = icmp eq i64 %1058, 0
%1062 = getelementptr i8* %ppu_state, i32 1540
%1063 = bitcast i8* %1062 to i32*
%1064 = load i32* %1063, align 4
%1065 = getelementptr i8* %ppu_state, i32 1544
%1066 = bitcast i8* %1065 to i64*
%1067 = load i64* %1066, align 8
%1068 = lshr i64 %1067, 31
%1069 = and i64 %1068, 1
%1070 = and i32 %1064, -16
%1071 = zext i1 %1059 to i32
%1072 = shl i32 %1071, 3
%1073 = or i32 %1070, %1072
%1074 = zext i1 %1060 to i32
%1075 = shl i32 %1074, 2
%1076 = or i32 %1073, %1075
%1077 = zext i1 %1061 to i32
%1078 = shl i32 %1077, 1
%1079 = or i32 %1076, %1078
%1080 = trunc i64 %1069 to i32
%1081 = or i32 %1079, %1080
%1082 = getelementptr i8* %ppu_state, i32 1540
%1083 = bitcast i8* %1082 to i32*
store i32 %1081, i32* %1083, align 4
br label %instr_0x000A6C78
instr_0x000A6C78: ; preds = %instr_0x000A6C74
%1084 = getelementptr i8* %ppu_state, i32 768
%1085 = bitcast i8* %1084 to i32*
%1086 = load i32* %1085, align 8
%1087 = zext i32 %1086 to i64
%1088 = getelementptr i8* %ppu_state, i32 944
%1089 = bitcast i8* %1088 to i32*
%1090 = load i32* %1089, align 8
%1091 = zext i32 %1090 to i64
%1092 = icmp ult i64 %1087, %1091
%1093 = icmp ugt i64 %1087, %1091
%1094 = icmp eq i64 %1087, %1091
%1095 = getelementptr i8* %ppu_state, i32 1540
%1096 = bitcast i8* %1095 to i32*
%1097 = load i32* %1096, align 4
%1098 = getelementptr i8* %ppu_state, i32 1544
%1099 = bitcast i8* %1098 to i64*
%1100 = load i64* %1099, align 8
%1101 = lshr i64 %1100, 31
%1102 = and i64 %1101, 1
%1103 = and i32 %1097, -241
%1104 = zext i1 %1092 to i32
%1105 = shl i32 %1104, 7
%1106 = or i32 %1103, %1105
%1107 = zext i1 %1093 to i32
%1108 = shl i32 %1107, 6
%1109 = or i32 %1106, %1108
%1110 = zext i1 %1094 to i32
%1111 = shl i32 %1110, 5
%1112 = or i32 %1109, %1111
%1113 = trunc i64 %1102 to i32
%1114 = shl i32 %1113, 4
%1115 = or i32 %1112, %1114
%1116 = getelementptr i8* %ppu_state, i32 1540
%1117 = bitcast i8* %1116 to i32*
store i32 %1115, i32* %1117, align 4
br label %instr_0x000A6C7C
instr_0x000A6C7C: ; preds = %instr_0x000A6C78
%1118 = getelementptr i8* %ppu_state, i32 1576
%1119 = bitcast i8* %1118 to i64*
%1120 = load i64* %1119, align 8
%1121 = getelementptr i8* %ppu_state, i32 1540
%1122 = bitcast i8* %1121 to i32*
%1123 = load i32* %1122, align 4
%1124 = lshr i32 %1123, 1
%1125 = and i32 %1124, 1
%1126 = trunc i32 %1125 to i1
br i1 %1126, label %instr_0x000A6C40, label %instr_0x000A6C80
instr_0x000A6C80: ; preds = %instr_0x000A6C7C
%1127 = getelementptr i8* %ppu_state, i32 1008
%1128 = bitcast i8* %1127 to i64*
%1129 = load i64* %1128, align 8
%1130 = getelementptr i8* %ppu_state, i32 1008
%1131 = bitcast i8* %1130 to i64*
%1132 = load i64* %1131, align 8
%1133 = or i64 %1129, %1132
%1134 = getelementptr i8* %ppu_state, i32 1016
%1135 = bitcast i8* %1134 to i64*
store i64 %1133, i64* %1135, align 8
br label %instr_0x000A6C84
instr_0x000A6C84: ; preds = %instr_0x000A6C80, %instr_0x000A6C2C
%1136 = getelementptr i8* %ppu_state, i32 912
%1137 = bitcast i8* %1136 to i32*
%1138 = load i32* %1137, align 8
%1139 = zext i32 %1138 to i64
%1140 = getelementptr i8* %ppu_state, i32 920
%1141 = bitcast i8* %1140 to i32*
%1142 = load i32* %1141, align 8
%1143 = zext i32 %1142 to i64
%1144 = icmp ult i64 %1139, %1143
%1145 = icmp ugt i64 %1139, %1143
%1146 = icmp eq i64 %1139, %1143
%1147 = getelementptr i8* %ppu_state, i32 1540
%1148 = bitcast i8* %1147 to i32*
%1149 = load i32* %1148, align 4
%1150 = getelementptr i8* %ppu_state, i32 1544
%1151 = bitcast i8* %1150 to i64*
%1152 = load i64* %1151, align 8
%1153 = lshr i64 %1152, 31
%1154 = and i64 %1153, 1
%1155 = and i32 %1149, -16
%1156 = zext i1 %1144 to i32
%1157 = shl i32 %1156, 3
%1158 = or i32 %1155, %1157
%1159 = zext i1 %1145 to i32
%1160 = shl i32 %1159, 2
%1161 = or i32 %1158, %1160
%1162 = zext i1 %1146 to i32
%1163 = shl i32 %1162, 1
%1164 = or i32 %1161, %1163
%1165 = trunc i64 %1154 to i32
%1166 = or i32 %1164, %1165
%1167 = getelementptr i8* %ppu_state, i32 1540
%1168 = bitcast i8* %1167 to i32*
store i32 %1166, i32* %1168, align 4
br label %instr_0x000A6C88
instr_0x000A6C88: ; preds = %instr_0x000A6C84
%1169 = getelementptr i8* %ppu_state, i32 920
%1170 = bitcast i8* %1169 to i64*
%1171 = load i64* %1170, align 8
%1172 = getelementptr i8* %ppu_state, i32 968
%1173 = bitcast i8* %1172 to i64*
%1174 = load i64* %1173, align 8
%1175 = add i64 %1171, %1174
%1176 = getelementptr i8* %ppu_state, i32 1008
%1177 = bitcast i8* %1176 to i64*
store i64 %1175, i64* %1177, align 8
br label %instr_0x000A6C8C
instr_0x000A6C8C: ; preds = %instr_0x000A6C88
%1178 = getelementptr i8* %ppu_state, i32 1016
%1179 = bitcast i8* %1178 to i64*
%1180 = load i64* %1179, align 8
%1181 = and i64 %1180, 4294967295
%1182 = getelementptr i8* %ppu_state, i32 976
%1183 = bitcast i8* %1182 to i64*
store i64 %1181, i64* %1183, align 8
br label %instr_0x000A6C90
instr_0x000A6C90: ; preds = %instr_0x000A6C8C
%1184 = getelementptr i8* %ppu_state, i32 1576
%1185 = bitcast i8* %1184 to i64*
%1186 = load i64* %1185, align 8
%1187 = getelementptr i8* %ppu_state, i32 1540
%1188 = bitcast i8* %1187 to i32*
%1189 = load i32* %1188, align 4
%1190 = lshr i32 %1189, 2
%1191 = and i32 %1190, 1
%1192 = trunc i32 %1191 to i1
br i1 %1192, label %instr_0x000A6CA0, label %instr_0x000A6C94
instr_0x000A6C94: ; preds = %instr_0x000A6C90
%1193 = phi i32 [ 683152, %instr_0x000A6C90 ]
%1194 = getelementptr i8* %ppu_state, i32 1664
%1195 = bitcast i8* %1194 to i32*
store i32 683156, i32* %1195, align 4
%1196 = zext i32 %1193 to i64
%1197 = or i64 %1196, 2932174172979200
%1198 = load i64* inttoptr (i64 8623353120 to i64*)
%1199 = inttoptr i64 %1198 to i32 (i8*, i64)*
%1200 = call i32 %1199(i8* %ppu_state, i64 %1197)
%1201 = icmp eq i32 %1200, -1
br i1 %1201, 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
%1202 = icmp ne i32 %1200, 0
br i1 %1202, label %instr_0x000A6C94_then_0, label %instr_0x000A6C94_merge_0
instr_0x000A6C94_then_0: ; preds = %instr_0x000A6C94_merge_all_fs
%1203 = zext i32 %1200 to i64
%1204 = or i64 %1203, 2932174172979200
%1205 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %1204)
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
%1206 = phi i32 [ 683216, %instr_0x000A6CD0 ]
%1207 = getelementptr i8* %ppu_state, i32 1664
%1208 = bitcast i8* %1207 to i32*
store i32 683160, i32* %1208, align 4
%1209 = zext i32 %1206 to i64
%1210 = or i64 %1209, 2932174172979200
%1211 = load i64* inttoptr (i64 8623353120 to i64*)
%1212 = inttoptr i64 %1211 to i32 (i8*, i64)*
%1213 = call i32 %1212(i8* %ppu_state, i64 %1210)
%1214 = icmp eq i32 %1213, -1
br i1 %1214, 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
%1215 = icmp ne i32 %1213, 0
br i1 %1215, label %instr_0x000A6C98_then_0, label %instr_0x000A6C98_merge_0
instr_0x000A6C98_then_0: ; preds = %instr_0x000A6C98_merge_all_fs
%1216 = zext i32 %1213 to i64
%1217 = or i64 %1216, 2932174172979200
%1218 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %1217)
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
%1219 = getelementptr i8* %ppu_state, i32 776
%1220 = bitcast i8* %1219 to i64*
%1221 = load i64* %1220, align 8
%1222 = add i64 %1221, 40
%1223 = getelementptr i8* %ppu_state, i32 784
%1224 = bitcast i8* %1223 to i64*
%1225 = load i64* %1224, align 8
%1226 = call i64 @llvm.bswap.i64(i64 %1225)
%1227 = and i64 %1222, 4294967295
%1228 = add i64 %1227, 2147418112
%1229 = inttoptr i64 %1228 to i64*
store i64 %1226, i64* %1229
br label %instr_0x000A6CA4
instr_0x000A6CA4: ; preds = %instr_0x000A6CA0
%1230 = getelementptr i8* %ppu_state, i32 960
%1231 = bitcast i8* %1230 to i64*
%1232 = load i64* %1231, align 8
%1233 = add i64 %1232, 0
%1234 = and i64 %1233, 4294967295
%1235 = add i64 %1234, 2147418112
%1236 = inttoptr i64 %1235 to i32*
%1237 = load i32* %1236
%1238 = call i32 @llvm.bswap.i32(i32 %1237)
%1239 = zext i32 %1238 to i64
%1240 = getelementptr i8* %ppu_state, i32 768
%1241 = bitcast i8* %1240 to i64*
store i64 %1239, i64* %1241, align 8
br label %instr_0x000A6CA8
instr_0x000A6CA8: ; preds = %instr_0x000A6CA4
%1242 = getelementptr i8* %ppu_state, i32 920
%1243 = bitcast i8* %1242 to i64*
%1244 = load i64* %1243, align 8
%1245 = and i64 %1244, 4294967295
%1246 = getelementptr i8* %ppu_state, i32 792
%1247 = bitcast i8* %1246 to i64*
store i64 %1245, i64* %1247, align 8
br label %instr_0x000A6CAC
instr_0x000A6CAC: ; preds = %instr_0x000A6CA8
%1248 = getelementptr i8* %ppu_state, i32 976
%1249 = bitcast i8* %1248 to i64*
%1250 = load i64* %1249, align 8
%1251 = getelementptr i8* %ppu_state, i32 976
%1252 = bitcast i8* %1251 to i64*
%1253 = load i64* %1252, align 8
%1254 = or i64 %1250, %1253
%1255 = getelementptr i8* %ppu_state, i32 800
%1256 = bitcast i8* %1255 to i64*
store i64 %1254, i64* %1256, align 8
br label %instr_0x000A6CB0
instr_0x000A6CB0: ; preds = %instr_0x000A6CAC
%1257 = getelementptr i8* %ppu_state, i32 960
%1258 = bitcast i8* %1257 to i64*
%1259 = load i64* %1258, align 8
%1260 = add i64 %1259, 4
%1261 = and i64 %1260, 4294967295
%1262 = add i64 %1261, 2147418112
%1263 = inttoptr i64 %1262 to i32*
%1264 = load i32* %1263
%1265 = call i32 @llvm.bswap.i32(i32 %1264)
%1266 = zext i32 %1265 to i64
%1267 = getelementptr i8* %ppu_state, i32 784
%1268 = bitcast i8* %1267 to i64*
store i64 %1266, i64* %1268, align 8
br label %instr_0x000A6CB4
instr_0x000A6CB4: ; preds = %instr_0x000A6CB0
%1269 = getelementptr i8* %ppu_state, i32 768
%1270 = bitcast i8* %1269 to i64*
%1271 = load i64* %1270, align 8
%1272 = getelementptr i8* %ppu_state, i32 1576
%1273 = bitcast i8* %1272 to i64*
store i64 %1271, i64* %1273, align 8
br label %instr_0x000A6CB8
instr_0x000A6CB8: ; preds = %instr_0x000A6CB4
%1274 = getelementptr i8* %ppu_state, i32 1008
%1275 = bitcast i8* %1274 to i64*
%1276 = load i64* %1275, align 8
%1277 = getelementptr i8* %ppu_state, i32 968
%1278 = bitcast i8* %1277 to i64*
%1279 = load i64* %1278, align 8
%1280 = add i64 %1276, %1279
%1281 = getelementptr i8* %ppu_state, i32 1008
%1282 = bitcast i8* %1281 to i64*
store i64 %1280, i64* %1282, align 8
br label %instr_0x000A6CBC
instr_0x000A6CBC: ; preds = %instr_0x000A6CB8
%1283 = getelementptr i8* %ppu_state, i32 1576
%1284 = bitcast i8* %1283 to i64*
%1285 = load i64* %1284, align 8
%1286 = and i64 %1285, -4
%1287 = trunc i64 %1286 to i32
%1288 = getelementptr i8* %ppu_state, i32 1576
%1289 = bitcast i8* %1288 to i64*
%1290 = load i64* %1289, align 8
%1291 = getelementptr i8* %ppu_state, i32 1568
%1292 = bitcast i8* %1291 to i64*
store i64 683200, i64* %1292, align 8
%1293 = getelementptr i8* %ppu_state, i32 1664
%1294 = bitcast i8* %1293 to i32*
store i32 %1287, i32* %1294, align 4
switch i32 %1287, label %instr_0x000A6CBC_unknown_function [
i32 469328, label %instr_0x000A6CBC_0x00072950
]
instr_0x000A6CBC_unknown_function: ; preds = %instr_0x000A6CBC
%1295 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6CC0
instr_0x000A6CBC_0x00072950: ; preds = %instr_0x000A6CBC
%1296 = load i64* inttoptr (i64 8623353112 to i64*)
%1297 = inttoptr i64 %1296 to i32 (i8*, i64)*
%1298 = call i32 %1297(i8* %ppu_state, i64 0)
%1299 = icmp eq i32 %1298, -1
br i1 %1299, 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
%1300 = getelementptr i8* %ppu_state, i32 776
%1301 = bitcast i8* %1300 to i64*
%1302 = load i64* %1301, align 8
%1303 = add i64 %1302, 40
%1304 = and i64 %1303, 4294967295
%1305 = add i64 %1304, 2147418112
%1306 = inttoptr i64 %1305 to i64*
%1307 = load i64* %1306
%1308 = call i64 @llvm.bswap.i64(i64 %1307)
%1309 = getelementptr i8* %ppu_state, i32 784
%1310 = bitcast i8* %1309 to i64*
store i64 %1308, i64* %1310, align 8
br label %instr_0x000A6CC4
instr_0x000A6CC4: ; preds = %instr_0x000A6CC0
%1311 = getelementptr i8* %ppu_state, i32 968
%1312 = bitcast i8* %1311 to i64*
%1313 = load i64* %1312, align 8
%1314 = getelementptr i8* %ppu_state, i32 1008
%1315 = bitcast i8* %1314 to i64*
%1316 = load i64* %1315, align 8
%1317 = sub i64 %1316, %1313
%1318 = getelementptr i8* %ppu_state, i32 768
%1319 = bitcast i8* %1318 to i64*
store i64 %1317, i64* %1319, align 8
br label %instr_0x000A6CC8
instr_0x000A6CC8: ; preds = %instr_0x000A6CC4
%1320 = getelementptr i8* %ppu_state, i32 792
%1321 = bitcast i8* %1320 to i32*
%1322 = load i32* %1321, align 8
%1323 = sext i32 %1322 to i64
%1324 = icmp slt i64 %1323, 0
%1325 = icmp sgt i64 %1323, 0
%1326 = icmp eq i64 %1323, 0
%1327 = getelementptr i8* %ppu_state, i32 1540
%1328 = bitcast i8* %1327 to i32*
%1329 = load i32* %1328, align 4
%1330 = getelementptr i8* %ppu_state, i32 1544
%1331 = bitcast i8* %1330 to i64*
%1332 = load i64* %1331, align 8
%1333 = lshr i64 %1332, 31
%1334 = and i64 %1333, 1
%1335 = and i32 %1329, -16
%1336 = zext i1 %1324 to i32
%1337 = shl i32 %1336, 3
%1338 = or i32 %1335, %1337
%1339 = zext i1 %1325 to i32
%1340 = shl i32 %1339, 2
%1341 = or i32 %1338, %1340
%1342 = zext i1 %1326 to i32
%1343 = shl i32 %1342, 1
%1344 = or i32 %1341, %1343
%1345 = trunc i64 %1334 to i32
%1346 = or i32 %1344, %1345
%1347 = getelementptr i8* %ppu_state, i32 1540
%1348 = bitcast i8* %1347 to i32*
store i32 %1346, i32* %1348, align 4
br label %instr_0x000A6CCC
instr_0x000A6CCC: ; preds = %instr_0x000A6CC8
%1349 = getelementptr i8* %ppu_state, i32 768
%1350 = bitcast i8* %1349 to i32*
%1351 = load i32* %1350, align 8
%1352 = zext i32 %1351 to i64
%1353 = getelementptr i8* %ppu_state, i32 912
%1354 = bitcast i8* %1353 to i32*
%1355 = load i32* %1354, align 8
%1356 = zext i32 %1355 to i64
%1357 = icmp ult i64 %1352, %1356
%1358 = icmp ugt i64 %1352, %1356
%1359 = icmp eq i64 %1352, %1356
%1360 = getelementptr i8* %ppu_state, i32 1540
%1361 = bitcast i8* %1360 to i32*
%1362 = load i32* %1361, align 4
%1363 = getelementptr i8* %ppu_state, i32 1544
%1364 = bitcast i8* %1363 to i64*
%1365 = load i64* %1364, align 8
%1366 = lshr i64 %1365, 31
%1367 = and i64 %1366, 1
%1368 = and i32 %1362, -241
%1369 = zext i1 %1357 to i32
%1370 = shl i32 %1369, 7
%1371 = or i32 %1368, %1370
%1372 = zext i1 %1358 to i32
%1373 = shl i32 %1372, 6
%1374 = or i32 %1371, %1373
%1375 = zext i1 %1359 to i32
%1376 = shl i32 %1375, 5
%1377 = or i32 %1374, %1376
%1378 = trunc i64 %1367 to i32
%1379 = shl i32 %1378, 4
%1380 = or i32 %1377, %1379
%1381 = getelementptr i8* %ppu_state, i32 1540
%1382 = bitcast i8* %1381 to i32*
store i32 %1380, i32* %1382, align 4
br label %instr_0x000A6CD0
instr_0x000A6CD0: ; preds = %instr_0x000A6CCC
%1383 = getelementptr i8* %ppu_state, i32 1576
%1384 = bitcast i8* %1383 to i64*
%1385 = load i64* %1384, align 8
%1386 = getelementptr i8* %ppu_state, i32 1540
%1387 = bitcast i8* %1386 to i32*
%1388 = load i32* %1387, align 4
%1389 = lshr i32 %1388, 1
%1390 = and i32 %1389, 1
%1391 = trunc i32 %1390 to i1
br i1 %1391, label %instr_0x000A6C98, label %instr_0x000A6CD4
instr_0x000A6CD4: ; preds = %instr_0x000A6CD0
%1392 = getelementptr i8* %ppu_state, i32 920
%1393 = bitcast i8* %1392 to i64*
%1394 = load i64* %1393, align 8
%1395 = getelementptr i8* %ppu_state, i32 920
%1396 = bitcast i8* %1395 to i64*
%1397 = load i64* %1396, align 8
%1398 = or i64 %1394, %1397
%1399 = getelementptr i8* %ppu_state, i32 952
%1400 = bitcast i8* %1399 to i64*
store i64 %1398, i64* %1400, align 8
br label %instr_0x000A6CD8
instr_0x000A6CD8: ; preds = %instr_0x000A6CD4
%1401 = getelementptr i8* %ppu_state, i32 1016
%1402 = bitcast i8* %1401 to i64*
%1403 = load i64* %1402, align 8
%1404 = getelementptr i8* %ppu_state, i32 1016
%1405 = bitcast i8* %1404 to i64*
%1406 = load i64* %1405, align 8
%1407 = or i64 %1403, %1406
%1408 = getelementptr i8* %ppu_state, i32 984
%1409 = bitcast i8* %1408 to i64*
store i64 %1407, i64* %1409, align 8
br label %instr_0x000A6CDC
instr_0x000A6CDC: ; preds = %instr_0x000A6E44, %instr_0x000A6CD8
%1410 = getelementptr i8* %ppu_state, i32 952
%1411 = bitcast i8* %1410 to i32*
%1412 = load i32* %1411, align 8
%1413 = zext i32 %1412 to i64
%1414 = getelementptr i8* %ppu_state, i32 912
%1415 = bitcast i8* %1414 to i32*
%1416 = load i32* %1415, align 8
%1417 = zext i32 %1416 to i64
%1418 = icmp ult i64 %1413, %1417
%1419 = icmp ugt i64 %1413, %1417
%1420 = icmp eq i64 %1413, %1417
%1421 = getelementptr i8* %ppu_state, i32 1540
%1422 = bitcast i8* %1421 to i32*
%1423 = load i32* %1422, align 4
%1424 = getelementptr i8* %ppu_state, i32 1544
%1425 = bitcast i8* %1424 to i64*
%1426 = load i64* %1425, align 8
%1427 = lshr i64 %1426, 31
%1428 = and i64 %1427, 1
%1429 = and i32 %1423, -16
%1430 = zext i1 %1418 to i32
%1431 = shl i32 %1430, 3
%1432 = or i32 %1429, %1431
%1433 = zext i1 %1419 to i32
%1434 = shl i32 %1433, 2
%1435 = or i32 %1432, %1434
%1436 = zext i1 %1420 to i32
%1437 = shl i32 %1436, 1
%1438 = or i32 %1435, %1437
%1439 = trunc i64 %1428 to i32
%1440 = or i32 %1438, %1439
%1441 = getelementptr i8* %ppu_state, i32 1540
%1442 = bitcast i8* %1441 to i32*
store i32 %1440, i32* %1442, align 4
br label %instr_0x000A6CE0
instr_0x000A6CE0: ; preds = %instr_0x000A6CDC
%1443 = getelementptr i8* %ppu_state, i32 1576
%1444 = bitcast i8* %1443 to i64*
%1445 = load i64* %1444, align 8
%1446 = getelementptr i8* %ppu_state, i32 1540
%1447 = bitcast i8* %1446 to i32*
%1448 = load i32* %1447, align 4
%1449 = lshr i32 %1448, 3
%1450 = and i32 %1449, 1
%1451 = trunc i32 %1450 to i1
br i1 %1451, label %instr_0x000A6D88, label %instr_0x000A6CE4
instr_0x000A6CE4: ; preds = %instr_0x000A6DB4, %instr_0x000A6D84, %instr_0x000A6CE0
%1452 = getelementptr i8* %ppu_state, i32 984
%1453 = bitcast i8* %1452 to i32*
%1454 = load i32* %1453, align 8
%1455 = zext i32 %1454 to i64
%1456 = getelementptr i8* %ppu_state, i32 944
%1457 = bitcast i8* %1456 to i32*
%1458 = load i32* %1457, align 8
%1459 = zext i32 %1458 to i64
%1460 = icmp ult i64 %1455, %1459
%1461 = icmp ugt i64 %1455, %1459
%1462 = icmp eq i64 %1455, %1459
%1463 = getelementptr i8* %ppu_state, i32 1540
%1464 = bitcast i8* %1463 to i32*
%1465 = load i32* %1464, align 4
%1466 = getelementptr i8* %ppu_state, i32 1544
%1467 = bitcast i8* %1466 to i64*
%1468 = load i64* %1467, align 8
%1469 = lshr i64 %1468, 31
%1470 = and i64 %1469, 1
%1471 = and i32 %1465, -16
%1472 = zext i1 %1460 to i32
%1473 = shl i32 %1472, 3
%1474 = or i32 %1471, %1473
%1475 = zext i1 %1461 to i32
%1476 = shl i32 %1475, 2
%1477 = or i32 %1474, %1476
%1478 = zext i1 %1462 to i32
%1479 = shl i32 %1478, 1
%1480 = or i32 %1477, %1479
%1481 = trunc i64 %1470 to i32
%1482 = or i32 %1480, %1481
%1483 = getelementptr i8* %ppu_state, i32 1540
%1484 = bitcast i8* %1483 to i32*
store i32 %1482, i32* %1484, align 4
br label %instr_0x000A6CE8
instr_0x000A6CE8: ; preds = %instr_0x000A6CE4
%1485 = getelementptr i8* %ppu_state, i32 1576
%1486 = bitcast i8* %1485 to i64*
%1487 = load i64* %1486, align 8
%1488 = getelementptr i8* %ppu_state, i32 1540
%1489 = bitcast i8* %1488 to i32*
%1490 = load i32* %1489, align 4
%1491 = lshr i32 %1490, 2
%1492 = and i32 %1491, 1
%1493 = trunc i32 %1492 to i1
%1494 = xor i1 %1493, true
br i1 %1494, label %instr_0x000A6D58, label %instr_0x000A6CEC
instr_0x000A6CEC: ; preds = %instr_0x000A6CE8
%1495 = getelementptr i8* %ppu_state, i32 968
%1496 = bitcast i8* %1495 to i64*
%1497 = load i64* %1496, align 8
%1498 = getelementptr i8* %ppu_state, i32 984
%1499 = bitcast i8* %1498 to i64*
%1500 = load i64* %1499, align 8
%1501 = sub i64 %1500, %1497
%1502 = getelementptr i8* %ppu_state, i32 992
%1503 = bitcast i8* %1502 to i64*
store i64 %1501, i64* %1503, align 8
br label %instr_0x000A6CF0
instr_0x000A6CF0: ; preds = %instr_0x000A6CEC
%1504 = getelementptr i8* %ppu_state, i32 984
%1505 = bitcast i8* %1504 to i64*
%1506 = load i64* %1505, align 8
%1507 = getelementptr i8* %ppu_state, i32 984
%1508 = bitcast i8* %1507 to i64*
%1509 = load i64* %1508, align 8
%1510 = or i64 %1506, %1509
%1511 = getelementptr i8* %ppu_state, i32 1008
%1512 = bitcast i8* %1511 to i64*
store i64 %1510, i64* %1512, align 8
br label %instr_0x000A6CF4
instr_0x000A6CF4: ; preds = %instr_0x000A6CF0
%1513 = getelementptr i8* %ppu_state, i32 1016
%1514 = bitcast i8* %1513 to i64*
%1515 = load i64* %1514, align 8
%1516 = and i64 %1515, 4294967295
%1517 = getelementptr i8* %ppu_state, i32 976
%1518 = bitcast i8* %1517 to i64*
store i64 %1516, i64* %1518, align 8
br label %instr_0x000A6CF8
instr_0x000A6CF8: ; preds = %instr_0x000A6D54, %instr_0x000A6CF4
%1519 = getelementptr i8* %ppu_state, i32 928
%1520 = bitcast i8* %1519 to i64*
%1521 = load i64* %1520, align 8
%1522 = getelementptr i8* %ppu_state, i32 984
%1523 = bitcast i8* %1522 to i64*
%1524 = load i64* %1523, align 8
%1525 = add i64 %1521, %1524
%1526 = getelementptr i8* %ppu_state, i32 984
%1527 = bitcast i8* %1526 to i64*
store i64 %1525, i64* %1527, align 8
br label %instr_0x000A6CFC
instr_0x000A6CFC: ; preds = %instr_0x000A6CF8
%1528 = getelementptr i8* %ppu_state, i32 776
%1529 = bitcast i8* %1528 to i64*
%1530 = load i64* %1529, align 8
%1531 = add i64 %1530, 40
%1532 = getelementptr i8* %ppu_state, i32 784
%1533 = bitcast i8* %1532 to i64*
%1534 = load i64* %1533, align 8
%1535 = call i64 @llvm.bswap.i64(i64 %1534)
%1536 = and i64 %1531, 4294967295
%1537 = add i64 %1536, 2147418112
%1538 = inttoptr i64 %1537 to i64*
store i64 %1535, i64* %1538
br label %instr_0x000A6D00
instr_0x000A6D00: ; preds = %instr_0x000A6CFC
%1539 = getelementptr i8* %ppu_state, i32 984
%1540 = bitcast i8* %1539 to i64*
%1541 = load i64* %1540, align 8
%1542 = and i64 %1541, 4294967295
%1543 = getelementptr i8* %ppu_state, i32 1000
%1544 = bitcast i8* %1543 to i64*
store i64 %1542, i64* %1544, align 8
br label %instr_0x000A6D04
instr_0x000A6D04: ; preds = %instr_0x000A6D00
%1545 = getelementptr i8* %ppu_state, i32 960
%1546 = bitcast i8* %1545 to i64*
%1547 = load i64* %1546, align 8
%1548 = add i64 %1547, 0
%1549 = and i64 %1548, 4294967295
%1550 = add i64 %1549, 2147418112
%1551 = inttoptr i64 %1550 to i32*
%1552 = load i32* %1551
%1553 = call i32 @llvm.bswap.i32(i32 %1552)
%1554 = zext i32 %1553 to i64
%1555 = getelementptr i8* %ppu_state, i32 768
%1556 = bitcast i8* %1555 to i64*
store i64 %1554, i64* %1556, align 8
br label %instr_0x000A6D08
instr_0x000A6D08: ; preds = %instr_0x000A6D04
%1557 = getelementptr i8* %ppu_state, i32 976
%1558 = bitcast i8* %1557 to i64*
%1559 = load i64* %1558, align 8
%1560 = getelementptr i8* %ppu_state, i32 976
%1561 = bitcast i8* %1560 to i64*
%1562 = load i64* %1561, align 8
%1563 = or i64 %1559, %1562
%1564 = getelementptr i8* %ppu_state, i32 800
%1565 = bitcast i8* %1564 to i64*
store i64 %1563, i64* %1565, align 8
br label %instr_0x000A6D0C
instr_0x000A6D0C: ; preds = %instr_0x000A6D08
%1566 = getelementptr i8* %ppu_state, i32 960
%1567 = bitcast i8* %1566 to i64*
%1568 = load i64* %1567, align 8
%1569 = add i64 %1568, 4
%1570 = and i64 %1569, 4294967295
%1571 = add i64 %1570, 2147418112
%1572 = inttoptr i64 %1571 to i32*
%1573 = load i32* %1572
%1574 = call i32 @llvm.bswap.i32(i32 %1573)
%1575 = zext i32 %1574 to i64
%1576 = getelementptr i8* %ppu_state, i32 784
%1577 = bitcast i8* %1576 to i64*
store i64 %1575, i64* %1577, align 8
br label %instr_0x000A6D10
instr_0x000A6D10: ; preds = %instr_0x000A6D0C
%1578 = getelementptr i8* %ppu_state, i32 1000
%1579 = bitcast i8* %1578 to i64*
%1580 = load i64* %1579, align 8
%1581 = getelementptr i8* %ppu_state, i32 1000
%1582 = bitcast i8* %1581 to i64*
%1583 = load i64* %1582, align 8
%1584 = or i64 %1580, %1583
%1585 = getelementptr i8* %ppu_state, i32 792
%1586 = bitcast i8* %1585 to i64*
store i64 %1584, i64* %1586, align 8
br label %instr_0x000A6D14
instr_0x000A6D14: ; preds = %instr_0x000A6D10
%1587 = getelementptr i8* %ppu_state, i32 768
%1588 = bitcast i8* %1587 to i64*
%1589 = load i64* %1588, align 8
%1590 = getelementptr i8* %ppu_state, i32 1576
%1591 = bitcast i8* %1590 to i64*
store i64 %1589, i64* %1591, align 8
br label %instr_0x000A6D18
instr_0x000A6D18: ; preds = %instr_0x000A6D14
%1592 = getelementptr i8* %ppu_state, i32 992
%1593 = bitcast i8* %1592 to i64*
%1594 = load i64* %1593, align 8
%1595 = getelementptr i8* %ppu_state, i32 928
%1596 = bitcast i8* %1595 to i64*
%1597 = load i64* %1596, align 8
%1598 = add i64 %1594, %1597
%1599 = getelementptr i8* %ppu_state, i32 992
%1600 = bitcast i8* %1599 to i64*
store i64 %1598, i64* %1600, align 8
br label %instr_0x000A6D1C
instr_0x000A6D1C: ; preds = %instr_0x000A6D18
%1601 = getelementptr i8* %ppu_state, i32 1576
%1602 = bitcast i8* %1601 to i64*
%1603 = load i64* %1602, align 8
%1604 = and i64 %1603, -4
%1605 = trunc i64 %1604 to i32
%1606 = getelementptr i8* %ppu_state, i32 1576
%1607 = bitcast i8* %1606 to i64*
%1608 = load i64* %1607, align 8
%1609 = getelementptr i8* %ppu_state, i32 1568
%1610 = bitcast i8* %1609 to i64*
store i64 683296, i64* %1610, align 8
%1611 = getelementptr i8* %ppu_state, i32 1664
%1612 = bitcast i8* %1611 to i32*
store i32 %1605, i32* %1612, align 4
switch i32 %1605, label %instr_0x000A6D1C_unknown_function [
i32 469328, label %instr_0x000A6D1C_0x00072950
]
instr_0x000A6D1C_unknown_function: ; preds = %instr_0x000A6D1C
%1613 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6D20
instr_0x000A6D1C_0x00072950: ; preds = %instr_0x000A6D1C
%1614 = load i64* inttoptr (i64 8623353112 to i64*)
%1615 = inttoptr i64 %1614 to i32 (i8*, i64)*
%1616 = call i32 %1615(i8* %ppu_state, i64 0)
%1617 = icmp eq i32 %1616, -1
br i1 %1617, 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
%1618 = getelementptr i8* %ppu_state, i32 776
%1619 = bitcast i8* %1618 to i64*
%1620 = load i64* %1619, align 8
%1621 = add i64 %1620, 40
%1622 = and i64 %1621, 4294967295
%1623 = add i64 %1622, 2147418112
%1624 = inttoptr i64 %1623 to i64*
%1625 = load i64* %1624
%1626 = call i64 @llvm.bswap.i64(i64 %1625)
%1627 = getelementptr i8* %ppu_state, i32 784
%1628 = bitcast i8* %1627 to i64*
store i64 %1626, i64* %1628, align 8
br label %instr_0x000A6D24
instr_0x000A6D24: ; preds = %instr_0x000A6D20
%1629 = getelementptr i8* %ppu_state, i32 1000
%1630 = bitcast i8* %1629 to i64*
%1631 = load i64* %1630, align 8
%1632 = getelementptr i8* %ppu_state, i32 1000
%1633 = bitcast i8* %1632 to i64*
%1634 = load i64* %1633, align 8
%1635 = or i64 %1631, %1634
%1636 = getelementptr i8* %ppu_state, i32 800
%1637 = bitcast i8* %1636 to i64*
store i64 %1635, i64* %1637, align 8
br label %instr_0x000A6D28
instr_0x000A6D28: ; preds = %instr_0x000A6D24
%1638 = getelementptr i8* %ppu_state, i32 792
%1639 = bitcast i8* %1638 to i32*
%1640 = load i32* %1639, align 8
%1641 = sext i32 %1640 to i64
%1642 = icmp slt i64 %1641, 0
%1643 = icmp sgt i64 %1641, 0
%1644 = icmp eq i64 %1641, 0
%1645 = getelementptr i8* %ppu_state, i32 1540
%1646 = bitcast i8* %1645 to i32*
%1647 = load i32* %1646, align 4
%1648 = getelementptr i8* %ppu_state, i32 1544
%1649 = bitcast i8* %1648 to i64*
%1650 = load i64* %1649, align 8
%1651 = lshr i64 %1650, 31
%1652 = and i64 %1651, 1
%1653 = and i32 %1647, -16
%1654 = zext i1 %1642 to i32
%1655 = shl i32 %1654, 3
%1656 = or i32 %1653, %1655
%1657 = zext i1 %1643 to i32
%1658 = shl i32 %1657, 2
%1659 = or i32 %1656, %1658
%1660 = zext i1 %1644 to i32
%1661 = shl i32 %1660, 1
%1662 = or i32 %1659, %1661
%1663 = trunc i64 %1652 to i32
%1664 = or i32 %1662, %1663
%1665 = getelementptr i8* %ppu_state, i32 1540
%1666 = bitcast i8* %1665 to i32*
store i32 %1664, i32* %1666, align 4
br label %instr_0x000A6D2C
instr_0x000A6D2C: ; preds = %instr_0x000A6D28
%1667 = getelementptr i8* %ppu_state, i32 936
%1668 = bitcast i8* %1667 to i64*
%1669 = load i64* %1668, align 8
%1670 = getelementptr i8* %ppu_state, i32 936
%1671 = bitcast i8* %1670 to i64*
%1672 = load i64* %1671, align 8
%1673 = or i64 %1669, %1672
%1674 = getelementptr i8* %ppu_state, i32 808
%1675 = bitcast i8* %1674 to i64*
store i64 %1673, i64* %1675, align 8
br label %instr_0x000A6D30
instr_0x000A6D30: ; preds = %instr_0x000A6D2C
%1676 = getelementptr i8* %ppu_state, i32 1576
%1677 = bitcast i8* %1676 to i64*
%1678 = load i64* %1677, align 8
%1679 = getelementptr i8* %ppu_state, i32 1540
%1680 = bitcast i8* %1679 to i32*
%1681 = load i32* %1680, align 4
%1682 = lshr i32 %1681, 3
%1683 = and i32 %1682, 1
%1684 = trunc i32 %1683 to i1
br i1 %1684, label %instr_0x000A6D48, label %instr_0x000A6D34
instr_0x000A6D34: ; preds = %instr_0x000A6D30
%1685 = getelementptr i8* %ppu_state, i32 1576
%1686 = bitcast i8* %1685 to i64*
%1687 = load i64* %1686, align 8
%1688 = getelementptr i8* %ppu_state, i32 1540
%1689 = bitcast i8* %1688 to i32*
%1690 = load i32* %1689, align 4
%1691 = lshr i32 %1690, 1
%1692 = and i32 %1691, 1
%1693 = trunc i32 %1692 to i1
%1694 = xor i1 %1693, true
br i1 %1694, label %instr_0x000A6DD4, label %instr_0x000A6D38
instr_0x000A6D38: ; preds = %instr_0x000A6D34
%1695 = phi i32 [ 683316, %instr_0x000A6D34 ]
%1696 = getelementptr i8* %ppu_state, i32 1664
%1697 = bitcast i8* %1696 to i32*
store i32 683320, i32* %1697, align 4
%1698 = zext i32 %1695 to i64
%1699 = or i64 %1698, 2932174172979200
%1700 = load i64* inttoptr (i64 8623353120 to i64*)
%1701 = inttoptr i64 %1700 to i32 (i8*, i64)*
%1702 = call i32 %1701(i8* %ppu_state, i64 %1699)
%1703 = icmp eq i32 %1702, -1
br i1 %1703, 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
%1704 = icmp ne i32 %1702, 0
br i1 %1704, label %instr_0x000A6D38_then_0, label %instr_0x000A6D38_merge_0
instr_0x000A6D38_then_0: ; preds = %instr_0x000A6D38_merge_all_fs
%1705 = zext i32 %1702 to i64
%1706 = or i64 %1705, 2932174172979200
%1707 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %1706)
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
%1708 = getelementptr i8* %ppu_state, i32 992
%1709 = bitcast i8* %1708 to i64*
%1710 = load i64* %1709, align 8
%1711 = getelementptr i8* %ppu_state, i32 968
%1712 = bitcast i8* %1711 to i64*
%1713 = load i64* %1712, align 8
%1714 = add i64 %1710, %1713
%1715 = getelementptr i8* %ppu_state, i32 768
%1716 = bitcast i8* %1715 to i64*
store i64 %1714, i64* %1716, align 8
br label %instr_0x000A6D4C
instr_0x000A6D4C: ; preds = %instr_0x000A6D48
%1717 = getelementptr i8* %ppu_state, i32 984
%1718 = bitcast i8* %1717 to i64*
%1719 = load i64* %1718, align 8
%1720 = getelementptr i8* %ppu_state, i32 984
%1721 = bitcast i8* %1720 to i64*
%1722 = load i64* %1721, align 8
%1723 = or i64 %1719, %1722
%1724 = getelementptr i8* %ppu_state, i32 1008
%1725 = bitcast i8* %1724 to i64*
store i64 %1723, i64* %1725, align 8
br label %instr_0x000A6D50
instr_0x000A6D50: ; preds = %instr_0x000A6D4C
%1726 = getelementptr i8* %ppu_state, i32 768
%1727 = bitcast i8* %1726 to i32*
%1728 = load i32* %1727, align 8
%1729 = zext i32 %1728 to i64
%1730 = getelementptr i8* %ppu_state, i32 944
%1731 = bitcast i8* %1730 to i32*
%1732 = load i32* %1731, align 8
%1733 = zext i32 %1732 to i64
%1734 = icmp ult i64 %1729, %1733
%1735 = icmp ugt i64 %1729, %1733
%1736 = icmp eq i64 %1729, %1733
%1737 = getelementptr i8* %ppu_state, i32 1540
%1738 = bitcast i8* %1737 to i32*
%1739 = load i32* %1738, align 4
%1740 = getelementptr i8* %ppu_state, i32 1544
%1741 = bitcast i8* %1740 to i64*
%1742 = load i64* %1741, align 8
%1743 = lshr i64 %1742, 31
%1744 = and i64 %1743, 1
%1745 = and i32 %1739, -16
%1746 = zext i1 %1734 to i32
%1747 = shl i32 %1746, 3
%1748 = or i32 %1745, %1747
%1749 = zext i1 %1735 to i32
%1750 = shl i32 %1749, 2
%1751 = or i32 %1748, %1750
%1752 = zext i1 %1736 to i32
%1753 = shl i32 %1752, 1
%1754 = or i32 %1751, %1753
%1755 = trunc i64 %1744 to i32
%1756 = or i32 %1754, %1755
%1757 = getelementptr i8* %ppu_state, i32 1540
%1758 = bitcast i8* %1757 to i32*
store i32 %1756, i32* %1758, align 4
br label %instr_0x000A6D54
instr_0x000A6D54: ; preds = %instr_0x000A6D50
%1759 = getelementptr i8* %ppu_state, i32 1576
%1760 = bitcast i8* %1759 to i64*
%1761 = load i64* %1760, align 8
%1762 = getelementptr i8* %ppu_state, i32 1540
%1763 = bitcast i8* %1762 to i32*
%1764 = load i32* %1763, align 4
%1765 = lshr i32 %1764, 2
%1766 = and i32 %1765, 1
%1767 = trunc i32 %1766 to i1
br i1 %1767, label %instr_0x000A6CF8, label %instr_0x000A6D58
instr_0x000A6D58: ; preds = %instr_0x000A6D54, %instr_0x000A6CE8
%1768 = getelementptr i8* %ppu_state, i32 944
%1769 = bitcast i8* %1768 to i32*
%1770 = load i32* %1769, align 8
%1771 = sext i32 %1770 to i64
%1772 = getelementptr i8* %ppu_state, i32 984
%1773 = bitcast i8* %1772 to i32*
%1774 = load i32* %1773, align 8
%1775 = sext i32 %1774 to i64
%1776 = icmp slt i64 %1771, %1775
%1777 = icmp sgt i64 %1771, %1775
%1778 = icmp eq i64 %1771, %1775
%1779 = getelementptr i8* %ppu_state, i32 1540
%1780 = bitcast i8* %1779 to i32*
%1781 = load i32* %1780, align 4
%1782 = getelementptr i8* %ppu_state, i32 1544
%1783 = bitcast i8* %1782 to i64*
%1784 = load i64* %1783, align 8
%1785 = lshr i64 %1784, 31
%1786 = and i64 %1785, 1
%1787 = and i32 %1781, -16
%1788 = zext i1 %1776 to i32
%1789 = shl i32 %1788, 3
%1790 = or i32 %1787, %1789
%1791 = zext i1 %1777 to i32
%1792 = shl i32 %1791, 2
%1793 = or i32 %1790, %1792
%1794 = zext i1 %1778 to i32
%1795 = shl i32 %1794, 1
%1796 = or i32 %1793, %1795
%1797 = trunc i64 %1786 to i32
%1798 = or i32 %1796, %1797
%1799 = getelementptr i8* %ppu_state, i32 1540
%1800 = bitcast i8* %1799 to i32*
store i32 %1798, i32* %1800, align 4
br label %instr_0x000A6D5C
instr_0x000A6D5C: ; preds = %instr_0x000A6D58
%1801 = getelementptr i8* %ppu_state, i32 1576
%1802 = bitcast i8* %1801 to i64*
%1803 = load i64* %1802, align 8
%1804 = getelementptr i8* %ppu_state, i32 1540
%1805 = bitcast i8* %1804 to i32*
%1806 = load i32* %1805, align 4
%1807 = lshr i32 %1806, 1
%1808 = and i32 %1807, 1
%1809 = trunc i32 %1808 to i1
br i1 %1809, label %instr_0x000A6DE0, label %instr_0x000A6D60
instr_0x000A6D60: ; preds = %instr_0x000A6DDC, %instr_0x000A6D5C
%1810 = getelementptr i8* %ppu_state, i32 952
%1811 = bitcast i8* %1810 to i32*
%1812 = load i32* %1811, align 8
%1813 = sext i32 %1812 to i64
%1814 = getelementptr i8* %ppu_state, i32 912
%1815 = bitcast i8* %1814 to i32*
%1816 = load i32* %1815, align 8
%1817 = sext i32 %1816 to i64
%1818 = icmp slt i64 %1813, %1817
%1819 = icmp sgt i64 %1813, %1817
%1820 = icmp eq i64 %1813, %1817
%1821 = getelementptr i8* %ppu_state, i32 1540
%1822 = bitcast i8* %1821 to i32*
%1823 = load i32* %1822, align 4
%1824 = getelementptr i8* %ppu_state, i32 1544
%1825 = bitcast i8* %1824 to i64*
%1826 = load i64* %1825, align 8
%1827 = lshr i64 %1826, 31
%1828 = and i64 %1827, 1
%1829 = and i32 %1823, -16
%1830 = zext i1 %1818 to i32
%1831 = shl i32 %1830, 3
%1832 = or i32 %1829, %1831
%1833 = zext i1 %1819 to i32
%1834 = shl i32 %1833, 2
%1835 = or i32 %1832, %1834
%1836 = zext i1 %1820 to i32
%1837 = shl i32 %1836, 1
%1838 = or i32 %1835, %1837
%1839 = trunc i64 %1828 to i32
%1840 = or i32 %1838, %1839
%1841 = getelementptr i8* %ppu_state, i32 1540
%1842 = bitcast i8* %1841 to i32*
store i32 %1840, i32* %1842, align 4
br label %instr_0x000A6D64
instr_0x000A6D64: ; preds = %instr_0x000A6D60
%1843 = getelementptr i8* %ppu_state, i32 1576
%1844 = bitcast i8* %1843 to i64*
%1845 = load i64* %1844, align 8
%1846 = getelementptr i8* %ppu_state, i32 1540
%1847 = bitcast i8* %1846 to i32*
%1848 = load i32* %1847, align 4
%1849 = lshr i32 %1848, 1
%1850 = and i32 %1849, 1
%1851 = trunc i32 %1850 to i1
br i1 %1851, label %instr_0x000A6E18, label %instr_0x000A6D68
instr_0x000A6D68: ; preds = %instr_0x000A6D64
%1852 = getelementptr i8* %ppu_state, i32 968
%1853 = bitcast i8* %1852 to i64*
%1854 = load i64* %1853, align 8
%1855 = getelementptr i8* %ppu_state, i32 984
%1856 = bitcast i8* %1855 to i64*
%1857 = load i64* %1856, align 8
%1858 = sub i64 %1857, %1854
%1859 = getelementptr i8* %ppu_state, i32 984
%1860 = bitcast i8* %1859 to i64*
store i64 %1858, i64* %1860, align 8
br label %instr_0x000A6D6C
instr_0x000A6D6C: ; preds = %instr_0x000A6D68
%1861 = getelementptr i8* %ppu_state, i32 952
%1862 = bitcast i8* %1861 to i64*
%1863 = load i64* %1862, align 8
%1864 = and i64 %1863, 4294967295
%1865 = getelementptr i8* %ppu_state, i32 792
%1866 = bitcast i8* %1865 to i64*
store i64 %1864, i64* %1866, align 8
br label %instr_0x000A6D70
instr_0x000A6D70: ; preds = %instr_0x000A6D6C
%1867 = getelementptr i8* %ppu_state, i32 984
%1868 = bitcast i8* %1867 to i64*
%1869 = load i64* %1868, align 8
%1870 = and i64 %1869, 4294967295
%1871 = getelementptr i8* %ppu_state, i32 800
%1872 = bitcast i8* %1871 to i64*
store i64 %1870, i64* %1872, align 8
br label %instr_0x000A6D74
instr_0x000A6D74: ; preds = %instr_0x000A6D70
%1873 = getelementptr i8* %ppu_state, i32 936
%1874 = bitcast i8* %1873 to i64*
%1875 = load i64* %1874, align 8
%1876 = getelementptr i8* %ppu_state, i32 936
%1877 = bitcast i8* %1876 to i64*
%1878 = load i64* %1877, align 8
%1879 = or i64 %1875, %1878
%1880 = getelementptr i8* %ppu_state, i32 808
%1881 = bitcast i8* %1880 to i64*
store i64 %1879, i64* %1881, align 8
br label %instr_0x000A6D78
instr_0x000A6D78: ; preds = %instr_0x000A6D74
%1882 = getelementptr i8* %ppu_state, i32 952
%1883 = bitcast i8* %1882 to i64*
%1884 = load i64* %1883, align 8
%1885 = getelementptr i8* %ppu_state, i32 968
%1886 = bitcast i8* %1885 to i64*
%1887 = load i64* %1886, align 8
%1888 = add i64 %1884, %1887
%1889 = getelementptr i8* %ppu_state, i32 952
%1890 = bitcast i8* %1889 to i64*
store i64 %1888, i64* %1890, align 8
br label %instr_0x000A6D7C
instr_0x000A6D7C: ; preds = %instr_0x000A6D78
%1891 = getelementptr i8* %ppu_state, i32 1568
%1892 = bitcast i8* %1891 to i64*
store i64 683392, i64* %1892, align 8
%1893 = getelementptr i8* %ppu_state, i32 1664
%1894 = bitcast i8* %1893 to i32*
store i32 681316, i32* %1894, align 4
%1895 = load i64* inttoptr (i64 8623353112 to i64*)
%1896 = inttoptr i64 %1895 to i32 (i8*, i64)*
%1897 = call i32 %1896(i8* %ppu_state, i64 0)
%1898 = icmp eq i32 %1897, -1
br i1 %1898, 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
%1899 = getelementptr i8* %ppu_state, i32 952
%1900 = bitcast i8* %1899 to i32*
%1901 = load i32* %1900, align 8
%1902 = zext i32 %1901 to i64
%1903 = getelementptr i8* %ppu_state, i32 912
%1904 = bitcast i8* %1903 to i32*
%1905 = load i32* %1904, align 8
%1906 = zext i32 %1905 to i64
%1907 = icmp ult i64 %1902, %1906
%1908 = icmp ugt i64 %1902, %1906
%1909 = icmp eq i64 %1902, %1906
%1910 = getelementptr i8* %ppu_state, i32 1540
%1911 = bitcast i8* %1910 to i32*
%1912 = load i32* %1911, align 4
%1913 = getelementptr i8* %ppu_state, i32 1544
%1914 = bitcast i8* %1913 to i64*
%1915 = load i64* %1914, align 8
%1916 = lshr i64 %1915, 31
%1917 = and i64 %1916, 1
%1918 = and i32 %1912, -16
%1919 = zext i1 %1907 to i32
%1920 = shl i32 %1919, 3
%1921 = or i32 %1918, %1920
%1922 = zext i1 %1908 to i32
%1923 = shl i32 %1922, 2
%1924 = or i32 %1921, %1923
%1925 = zext i1 %1909 to i32
%1926 = shl i32 %1925, 1
%1927 = or i32 %1924, %1926
%1928 = trunc i64 %1917 to i32
%1929 = or i32 %1927, %1928
%1930 = getelementptr i8* %ppu_state, i32 1540
%1931 = bitcast i8* %1930 to i32*
store i32 %1929, i32* %1931, align 4
br label %instr_0x000A6D84
instr_0x000A6D84: ; preds = %instr_0x000A6D80
%1932 = getelementptr i8* %ppu_state, i32 1576
%1933 = bitcast i8* %1932 to i64*
%1934 = load i64* %1933, align 8
%1935 = getelementptr i8* %ppu_state, i32 1540
%1936 = bitcast i8* %1935 to i32*
%1937 = load i32* %1936, align 4
%1938 = lshr i32 %1937, 3
%1939 = and i32 %1938, 1
%1940 = trunc i32 %1939 to i1
%1941 = xor i1 %1940, true
br i1 %1941, label %instr_0x000A6CE4, label %instr_0x000A6D88
instr_0x000A6D88: ; preds = %instr_0x000A6D84, %instr_0x000A6CE0
%1942 = getelementptr i8* %ppu_state, i32 776
%1943 = bitcast i8* %1942 to i64*
%1944 = load i64* %1943, align 8
%1945 = add i64 %1944, 40
%1946 = getelementptr i8* %ppu_state, i32 784
%1947 = bitcast i8* %1946 to i64*
%1948 = load i64* %1947, align 8
%1949 = call i64 @llvm.bswap.i64(i64 %1948)
%1950 = and i64 %1945, 4294967295
%1951 = add i64 %1950, 2147418112
%1952 = inttoptr i64 %1951 to i64*
store i64 %1949, i64* %1952
br label %instr_0x000A6D8C
instr_0x000A6D8C: ; preds = %instr_0x000A6D88
%1953 = getelementptr i8* %ppu_state, i32 960
%1954 = bitcast i8* %1953 to i64*
%1955 = load i64* %1954, align 8
%1956 = add i64 %1955, 0
%1957 = and i64 %1956, 4294967295
%1958 = add i64 %1957, 2147418112
%1959 = inttoptr i64 %1958 to i32*
%1960 = load i32* %1959
%1961 = call i32 @llvm.bswap.i32(i32 %1960)
%1962 = zext i32 %1961 to i64
%1963 = getelementptr i8* %ppu_state, i32 768
%1964 = bitcast i8* %1963 to i64*
store i64 %1962, i64* %1964, align 8
br label %instr_0x000A6D90
instr_0x000A6D90: ; preds = %instr_0x000A6D8C
%1965 = getelementptr i8* %ppu_state, i32 952
%1966 = bitcast i8* %1965 to i64*
%1967 = load i64* %1966, align 8
%1968 = and i64 %1967, 4294967295
%1969 = getelementptr i8* %ppu_state, i32 1008
%1970 = bitcast i8* %1969 to i64*
store i64 %1968, i64* %1970, align 8
br label %instr_0x000A6D94
instr_0x000A6D94: ; preds = %instr_0x000A6D90
%1971 = getelementptr i8* %ppu_state, i32 1016
%1972 = bitcast i8* %1971 to i64*
%1973 = load i64* %1972, align 8
%1974 = and i64 %1973, 4294967295
%1975 = getelementptr i8* %ppu_state, i32 792
%1976 = bitcast i8* %1975 to i64*
store i64 %1974, i64* %1976, align 8
br label %instr_0x000A6D98
instr_0x000A6D98: ; preds = %instr_0x000A6D94
%1977 = getelementptr i8* %ppu_state, i32 960
%1978 = bitcast i8* %1977 to i64*
%1979 = load i64* %1978, align 8
%1980 = add i64 %1979, 4
%1981 = and i64 %1980, 4294967295
%1982 = add i64 %1981, 2147418112
%1983 = inttoptr i64 %1982 to i32*
%1984 = load i32* %1983
%1985 = call i32 @llvm.bswap.i32(i32 %1984)
%1986 = zext i32 %1985 to i64
%1987 = getelementptr i8* %ppu_state, i32 784
%1988 = bitcast i8* %1987 to i64*
store i64 %1986, i64* %1988, align 8
br label %instr_0x000A6D9C
instr_0x000A6D9C: ; preds = %instr_0x000A6D98
%1989 = getelementptr i8* %ppu_state, i32 1008
%1990 = bitcast i8* %1989 to i64*
%1991 = load i64* %1990, align 8
%1992 = getelementptr i8* %ppu_state, i32 1008
%1993 = bitcast i8* %1992 to i64*
%1994 = load i64* %1993, align 8
%1995 = or i64 %1991, %1994
%1996 = getelementptr i8* %ppu_state, i32 800
%1997 = bitcast i8* %1996 to i64*
store i64 %1995, i64* %1997, align 8
br label %instr_0x000A6DA0
instr_0x000A6DA0: ; preds = %instr_0x000A6D9C
%1998 = getelementptr i8* %ppu_state, i32 768
%1999 = bitcast i8* %1998 to i64*
%2000 = load i64* %1999, align 8
%2001 = getelementptr i8* %ppu_state, i32 1576
%2002 = bitcast i8* %2001 to i64*
store i64 %2000, i64* %2002, align 8
br label %instr_0x000A6DA4
instr_0x000A6DA4: ; preds = %instr_0x000A6DA0
%2003 = getelementptr i8* %ppu_state, i32 1576
%2004 = bitcast i8* %2003 to i64*
%2005 = load i64* %2004, align 8
%2006 = and i64 %2005, -4
%2007 = trunc i64 %2006 to i32
%2008 = getelementptr i8* %ppu_state, i32 1576
%2009 = bitcast i8* %2008 to i64*
%2010 = load i64* %2009, align 8
%2011 = getelementptr i8* %ppu_state, i32 1568
%2012 = bitcast i8* %2011 to i64*
store i64 683432, i64* %2012, align 8
%2013 = getelementptr i8* %ppu_state, i32 1664
%2014 = bitcast i8* %2013 to i32*
store i32 %2007, i32* %2014, align 4
switch i32 %2007, label %instr_0x000A6DA4_unknown_function [
i32 469328, label %instr_0x000A6DA4_0x00072950
]
instr_0x000A6DA4_unknown_function: ; preds = %instr_0x000A6DA4
%2015 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6DA8
instr_0x000A6DA4_0x00072950: ; preds = %instr_0x000A6DA4
%2016 = load i64* inttoptr (i64 8623353112 to i64*)
%2017 = inttoptr i64 %2016 to i32 (i8*, i64)*
%2018 = call i32 %2017(i8* %ppu_state, i64 0)
%2019 = icmp eq i32 %2018, -1
br i1 %2019, 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
%2020 = getelementptr i8* %ppu_state, i32 776
%2021 = bitcast i8* %2020 to i64*
%2022 = load i64* %2021, align 8
%2023 = add i64 %2022, 40
%2024 = and i64 %2023, 4294967295
%2025 = add i64 %2024, 2147418112
%2026 = inttoptr i64 %2025 to i64*
%2027 = load i64* %2026
%2028 = call i64 @llvm.bswap.i64(i64 %2027)
%2029 = getelementptr i8* %ppu_state, i32 784
%2030 = bitcast i8* %2029 to i64*
store i64 %2028, i64* %2030, align 8
br label %instr_0x000A6DAC
instr_0x000A6DAC: ; preds = %instr_0x000A6DA8
%2031 = getelementptr i8* %ppu_state, i32 792
%2032 = bitcast i8* %2031 to i32*
%2033 = load i32* %2032, align 8
%2034 = sext i32 %2033 to i64
%2035 = icmp slt i64 %2034, 0
%2036 = icmp sgt i64 %2034, 0
%2037 = icmp eq i64 %2034, 0
%2038 = getelementptr i8* %ppu_state, i32 1540
%2039 = bitcast i8* %2038 to i32*
%2040 = load i32* %2039, align 4
%2041 = getelementptr i8* %ppu_state, i32 1544
%2042 = bitcast i8* %2041 to i64*
%2043 = load i64* %2042, align 8
%2044 = lshr i64 %2043, 31
%2045 = and i64 %2044, 1
%2046 = and i32 %2040, -16
%2047 = zext i1 %2035 to i32
%2048 = shl i32 %2047, 3
%2049 = or i32 %2046, %2048
%2050 = zext i1 %2036 to i32
%2051 = shl i32 %2050, 2
%2052 = or i32 %2049, %2051
%2053 = zext i1 %2037 to i32
%2054 = shl i32 %2053, 1
%2055 = or i32 %2052, %2054
%2056 = trunc i64 %2045 to i32
%2057 = or i32 %2055, %2056
%2058 = getelementptr i8* %ppu_state, i32 1540
%2059 = bitcast i8* %2058 to i32*
store i32 %2057, i32* %2059, align 4
br label %instr_0x000A6DB0
instr_0x000A6DB0: ; preds = %instr_0x000A6DAC
%2060 = getelementptr i8* %ppu_state, i32 1576
%2061 = bitcast i8* %2060 to i64*
%2062 = load i64* %2061, align 8
%2063 = getelementptr i8* %ppu_state, i32 1540
%2064 = bitcast i8* %2063 to i32*
%2065 = load i32* %2064, align 4
%2066 = lshr i32 %2065, 3
%2067 = and i32 %2066, 1
%2068 = trunc i32 %2067 to i1
br i1 %2068, label %instr_0x000A6DCC, label %instr_0x000A6DB4
instr_0x000A6DB4: ; preds = %instr_0x000A6DB0
%2069 = getelementptr i8* %ppu_state, i32 1576
%2070 = bitcast i8* %2069 to i64*
%2071 = load i64* %2070, align 8
%2072 = getelementptr i8* %ppu_state, i32 1540
%2073 = bitcast i8* %2072 to i32*
%2074 = load i32* %2073, align 4
%2075 = lshr i32 %2074, 1
%2076 = and i32 %2075, 1
%2077 = trunc i32 %2076 to i1
%2078 = xor i1 %2077, true
br i1 %2078, label %instr_0x000A6CE4, label %instr_0x000A6DB8
instr_0x000A6DB8: ; preds = %instr_0x000A6DB4
%2079 = phi i32 [ 683444, %instr_0x000A6DB4 ]
%2080 = getelementptr i8* %ppu_state, i32 1664
%2081 = bitcast i8* %2080 to i32*
store i32 683448, i32* %2081, align 4
%2082 = zext i32 %2079 to i64
%2083 = or i64 %2082, 2932174172979200
%2084 = load i64* inttoptr (i64 8623353120 to i64*)
%2085 = inttoptr i64 %2084 to i32 (i8*, i64)*
%2086 = call i32 %2085(i8* %ppu_state, i64 %2083)
%2087 = icmp eq i32 %2086, -1
br i1 %2087, 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
%2088 = icmp ne i32 %2086, 0
br i1 %2088, label %instr_0x000A6DB8_then_0, label %instr_0x000A6DB8_merge_0
instr_0x000A6DB8_then_0: ; preds = %instr_0x000A6DB8_merge_all_fs
%2089 = zext i32 %2086 to i64
%2090 = or i64 %2089, 2932174172979200
%2091 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %2090)
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
%2092 = phi i32 [ 683440, %instr_0x000A6DB0 ]
%2093 = getelementptr i8* %ppu_state, i32 1664
%2094 = bitcast i8* %2093 to i32*
store i32 683468, i32* %2094, align 4
%2095 = zext i32 %2092 to i64
%2096 = or i64 %2095, 2932174172979200
%2097 = load i64* inttoptr (i64 8623353120 to i64*)
%2098 = inttoptr i64 %2097 to i32 (i8*, i64)*
%2099 = call i32 %2098(i8* %ppu_state, i64 %2096)
%2100 = icmp eq i32 %2099, -1
br i1 %2100, 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
%2101 = icmp ne i32 %2099, 0
br i1 %2101, label %instr_0x000A6DCC_then_0, label %instr_0x000A6DCC_merge_0
instr_0x000A6DCC_then_0: ; preds = %instr_0x000A6DCC_merge_all_fs
%2102 = zext i32 %2099 to i64
%2103 = or i64 %2102, 2932174172979200
%2104 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %2103)
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
%2105 = getelementptr i8* %ppu_state, i32 1008
%2106 = bitcast i8* %2105 to i64*
%2107 = load i64* %2106, align 8
%2108 = getelementptr i8* %ppu_state, i32 1008
%2109 = bitcast i8* %2108 to i64*
%2110 = load i64* %2109, align 8
%2111 = or i64 %2107, %2110
%2112 = getelementptr i8* %ppu_state, i32 984
%2113 = bitcast i8* %2112 to i64*
store i64 %2111, i64* %2113, align 8
br label %instr_0x000A6DD8
instr_0x000A6DD8: ; preds = %instr_0x000A6DD4
%2114 = getelementptr i8* %ppu_state, i32 944
%2115 = bitcast i8* %2114 to i32*
%2116 = load i32* %2115, align 8
%2117 = sext i32 %2116 to i64
%2118 = getelementptr i8* %ppu_state, i32 984
%2119 = bitcast i8* %2118 to i32*
%2120 = load i32* %2119, align 8
%2121 = sext i32 %2120 to i64
%2122 = icmp slt i64 %2117, %2121
%2123 = icmp sgt i64 %2117, %2121
%2124 = icmp eq i64 %2117, %2121
%2125 = getelementptr i8* %ppu_state, i32 1540
%2126 = bitcast i8* %2125 to i32*
%2127 = load i32* %2126, align 4
%2128 = getelementptr i8* %ppu_state, i32 1544
%2129 = bitcast i8* %2128 to i64*
%2130 = load i64* %2129, align 8
%2131 = lshr i64 %2130, 31
%2132 = and i64 %2131, 1
%2133 = and i32 %2127, -16
%2134 = zext i1 %2122 to i32
%2135 = shl i32 %2134, 3
%2136 = or i32 %2133, %2135
%2137 = zext i1 %2123 to i32
%2138 = shl i32 %2137, 2
%2139 = or i32 %2136, %2138
%2140 = zext i1 %2124 to i32
%2141 = shl i32 %2140, 1
%2142 = or i32 %2139, %2141
%2143 = trunc i64 %2132 to i32
%2144 = or i32 %2142, %2143
%2145 = getelementptr i8* %ppu_state, i32 1540
%2146 = bitcast i8* %2145 to i32*
store i32 %2144, i32* %2146, align 4
br label %instr_0x000A6DDC
instr_0x000A6DDC: ; preds = %instr_0x000A6DD8
%2147 = getelementptr i8* %ppu_state, i32 1576
%2148 = bitcast i8* %2147 to i64*
%2149 = load i64* %2148, align 8
%2150 = getelementptr i8* %ppu_state, i32 1540
%2151 = bitcast i8* %2150 to i32*
%2152 = load i32* %2151, align 4
%2153 = lshr i32 %2152, 1
%2154 = and i32 %2153, 1
%2155 = trunc i32 %2154 to i1
%2156 = xor i1 %2155, true
br i1 %2156, label %instr_0x000A6D60, label %instr_0x000A6DE0
instr_0x000A6DE0: ; preds = %instr_0x000A6DDC, %instr_0x000A6D5C
%2157 = getelementptr i8* %ppu_state, i32 952
%2158 = bitcast i8* %2157 to i32*
%2159 = load i32* %2158, align 8
%2160 = sext i32 %2159 to i64
%2161 = getelementptr i8* %ppu_state, i32 912
%2162 = bitcast i8* %2161 to i32*
%2163 = load i32* %2162, align 8
%2164 = sext i32 %2163 to i64
%2165 = icmp slt i64 %2160, %2164
%2166 = icmp sgt i64 %2160, %2164
%2167 = icmp eq i64 %2160, %2164
%2168 = getelementptr i8* %ppu_state, i32 1540
%2169 = bitcast i8* %2168 to i32*
%2170 = load i32* %2169, align 4
%2171 = getelementptr i8* %ppu_state, i32 1544
%2172 = bitcast i8* %2171 to i64*
%2173 = load i64* %2172, align 8
%2174 = lshr i64 %2173, 31
%2175 = and i64 %2174, 1
%2176 = and i32 %2170, -16
%2177 = zext i1 %2165 to i32
%2178 = shl i32 %2177, 3
%2179 = or i32 %2176, %2178
%2180 = zext i1 %2166 to i32
%2181 = shl i32 %2180, 2
%2182 = or i32 %2179, %2181
%2183 = zext i1 %2167 to i32
%2184 = shl i32 %2183, 1
%2185 = or i32 %2182, %2184
%2186 = trunc i64 %2175 to i32
%2187 = or i32 %2185, %2186
%2188 = getelementptr i8* %ppu_state, i32 1540
%2189 = bitcast i8* %2188 to i32*
store i32 %2187, i32* %2189, align 4
br label %instr_0x000A6DE4
instr_0x000A6DE4: ; preds = %instr_0x000A6DE0
%2190 = getelementptr i8* %ppu_state, i32 1576
%2191 = bitcast i8* %2190 to i64*
%2192 = load i64* %2191, align 8
%2193 = getelementptr i8* %ppu_state, i32 1540
%2194 = bitcast i8* %2193 to i32*
%2195 = load i32* %2194, align 4
%2196 = lshr i32 %2195, 1
%2197 = and i32 %2196, 1
%2198 = trunc i32 %2197 to i1
br i1 %2198, label %instr_0x000A6E74, label %instr_0x000A6DE8
instr_0x000A6DE8: ; preds = %instr_0x000A6DE4
%2199 = phi i32 [ 683492, %instr_0x000A6DE4 ]
%2200 = getelementptr i8* %ppu_state, i32 1664
%2201 = bitcast i8* %2200 to i32*
store i32 683496, i32* %2201, align 4
%2202 = zext i32 %2199 to i64
%2203 = or i64 %2202, 2932174172979200
%2204 = load i64* inttoptr (i64 8623353120 to i64*)
%2205 = inttoptr i64 %2204 to i32 (i8*, i64)*
%2206 = call i32 %2205(i8* %ppu_state, i64 %2203)
%2207 = icmp eq i32 %2206, -1
br i1 %2207, 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
%2208 = icmp ne i32 %2206, 0
br i1 %2208, label %instr_0x000A6DE8_then_0, label %instr_0x000A6DE8_merge_0
instr_0x000A6DE8_then_0: ; preds = %instr_0x000A6DE8_merge_all_fs
%2209 = zext i32 %2206 to i64
%2210 = or i64 %2209, 2932174172979200
%2211 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %2210)
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
%2212 = getelementptr i8* %ppu_state, i32 968
%2213 = bitcast i8* %2212 to i64*
%2214 = load i64* %2213, align 8
%2215 = getelementptr i8* %ppu_state, i32 984
%2216 = bitcast i8* %2215 to i64*
%2217 = load i64* %2216, align 8
%2218 = sub i64 %2217, %2214
%2219 = getelementptr i8* %ppu_state, i32 984
%2220 = bitcast i8* %2219 to i64*
store i64 %2218, i64* %2220, align 8
br label %instr_0x000A6E1C
instr_0x000A6E1C: ; preds = %instr_0x000A6E18
%2221 = getelementptr i8* %ppu_state, i32 968
%2222 = bitcast i8* %2221 to i64*
%2223 = load i64* %2222, align 8
%2224 = getelementptr i8* %ppu_state, i32 1016
%2225 = bitcast i8* %2224 to i64*
%2226 = load i64* %2225, align 8
%2227 = sub i64 %2226, %2223
%2228 = getelementptr i8* %ppu_state, i32 1016
%2229 = bitcast i8* %2228 to i64*
store i64 %2227, i64* %2229, align 8
br label %instr_0x000A6E20
instr_0x000A6E20: ; preds = %instr_0x000A6E1C
%2230 = getelementptr i8* %ppu_state, i32 968
%2231 = bitcast i8* %2230 to i64*
%2232 = load i64* %2231, align 8
%2233 = getelementptr i8* %ppu_state, i32 920
%2234 = bitcast i8* %2233 to i64*
%2235 = load i64* %2234, align 8
%2236 = sub i64 %2235, %2232
%2237 = getelementptr i8* %ppu_state, i32 920
%2238 = bitcast i8* %2237 to i64*
store i64 %2236, i64* %2238, align 8
br label %instr_0x000A6E24
instr_0x000A6E24: ; preds = %instr_0x000A6E20
%2239 = getelementptr i8* %ppu_state, i32 984
%2240 = bitcast i8* %2239 to i32*
%2241 = load i32* %2240, align 8
%2242 = sext i32 %2241 to i64
%2243 = getelementptr i8* %ppu_state, i32 1016
%2244 = bitcast i8* %2243 to i32*
%2245 = load i32* %2244, align 8
%2246 = sext i32 %2245 to i64
%2247 = icmp slt i64 %2242, %2246
%2248 = icmp sgt i64 %2242, %2246
%2249 = icmp eq i64 %2242, %2246
%2250 = getelementptr i8* %ppu_state, i32 1540
%2251 = bitcast i8* %2250 to i32*
%2252 = load i32* %2251, align 4
%2253 = getelementptr i8* %ppu_state, i32 1544
%2254 = bitcast i8* %2253 to i64*
%2255 = load i64* %2254, align 8
%2256 = lshr i64 %2255, 31
%2257 = and i64 %2256, 1
%2258 = and i32 %2252, -16
%2259 = zext i1 %2247 to i32
%2260 = shl i32 %2259, 3
%2261 = or i32 %2258, %2260
%2262 = zext i1 %2248 to i32
%2263 = shl i32 %2262, 2
%2264 = or i32 %2261, %2263
%2265 = zext i1 %2249 to i32
%2266 = shl i32 %2265, 1
%2267 = or i32 %2264, %2266
%2268 = trunc i64 %2257 to i32
%2269 = or i32 %2267, %2268
%2270 = getelementptr i8* %ppu_state, i32 1540
%2271 = bitcast i8* %2270 to i32*
store i32 %2269, i32* %2271, align 4
br label %instr_0x000A6E28
instr_0x000A6E28: ; preds = %instr_0x000A6E24
%2272 = getelementptr i8* %ppu_state, i32 1576
%2273 = bitcast i8* %2272 to i64*
%2274 = load i64* %2273, align 8
%2275 = getelementptr i8* %ppu_state, i32 1540
%2276 = bitcast i8* %2275 to i32*
%2277 = load i32* %2276, align 4
%2278 = lshr i32 %2277, 1
%2279 = and i32 %2278, 1
%2280 = trunc i32 %2279 to i1
br i1 %2280, label %instr_0x000A6E48, label %instr_0x000A6E2C
instr_0x000A6E2C: ; preds = %instr_0x000A6E28
%2281 = getelementptr i8* %ppu_state, i32 984
%2282 = bitcast i8* %2281 to i64*
%2283 = load i64* %2282, align 8
%2284 = and i64 %2283, 4294967295
%2285 = getelementptr i8* %ppu_state, i32 792
%2286 = bitcast i8* %2285 to i64*
store i64 %2284, i64* %2286, align 8
br label %instr_0x000A6E30
instr_0x000A6E30: ; preds = %instr_0x000A6E2C
%2287 = getelementptr i8* %ppu_state, i32 920
%2288 = bitcast i8* %2287 to i64*
%2289 = load i64* %2288, align 8
%2290 = and i64 %2289, 4294967295
%2291 = getelementptr i8* %ppu_state, i32 800
%2292 = bitcast i8* %2291 to i64*
store i64 %2290, i64* %2292, align 8
br label %instr_0x000A6E34
instr_0x000A6E34: ; preds = %instr_0x000A6E30
%2293 = getelementptr i8* %ppu_state, i32 1016
%2294 = bitcast i8* %2293 to i64*
%2295 = load i64* %2294, align 8
%2296 = and i64 %2295, 4294967295
%2297 = getelementptr i8* %ppu_state, i32 808
%2298 = bitcast i8* %2297 to i64*
store i64 %2296, i64* %2298, align 8
br label %instr_0x000A6E38
instr_0x000A6E38: ; preds = %instr_0x000A6E34
%2299 = getelementptr i8* %ppu_state, i32 936
%2300 = bitcast i8* %2299 to i64*
%2301 = load i64* %2300, align 8
%2302 = getelementptr i8* %ppu_state, i32 936
%2303 = bitcast i8* %2302 to i64*
%2304 = load i64* %2303, align 8
%2305 = or i64 %2301, %2304
%2306 = getelementptr i8* %ppu_state, i32 816
%2307 = bitcast i8* %2306 to i64*
store i64 %2305, i64* %2307, align 8
br label %instr_0x000A6E3C
instr_0x000A6E3C: ; preds = %instr_0x000A6E38
%2308 = getelementptr i8* %ppu_state, i32 912
%2309 = bitcast i8* %2308 to i64*
%2310 = load i64* %2309, align 8
%2311 = getelementptr i8* %ppu_state, i32 912
%2312 = bitcast i8* %2311 to i64*
%2313 = load i64* %2312, align 8
%2314 = or i64 %2310, %2313
%2315 = getelementptr i8* %ppu_state, i32 952
%2316 = bitcast i8* %2315 to i64*
store i64 %2314, i64* %2316, align 8
br label %instr_0x000A6E40
instr_0x000A6E40: ; preds = %instr_0x000A6E3C
%2317 = getelementptr i8* %ppu_state, i32 1568
%2318 = bitcast i8* %2317 to i64*
store i64 683588, i64* %2318, align 8
%2319 = getelementptr i8* %ppu_state, i32 1664
%2320 = bitcast i8* %2319 to i32*
store i32 680920, i32* %2320, align 4
%2321 = load i64* inttoptr (i64 8623353112 to i64*)
%2322 = inttoptr i64 %2321 to i32 (i8*, i64)*
%2323 = call i32 %2322(i8* %ppu_state, i64 0)
%2324 = icmp eq i32 %2323, -1
br i1 %2324, 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
%2325 = phi i32 [ 683560, %instr_0x000A6E28 ]
%2326 = getelementptr i8* %ppu_state, i32 1664
%2327 = bitcast i8* %2326 to i32*
store i32 683592, i32* %2327, align 4
%2328 = zext i32 %2325 to i64
%2329 = or i64 %2328, 2932174172979200
%2330 = load i64* inttoptr (i64 8623353120 to i64*)
%2331 = inttoptr i64 %2330 to i32 (i8*, i64)*
%2332 = call i32 %2331(i8* %ppu_state, i64 %2329)
%2333 = icmp eq i32 %2332, -1
br i1 %2333, 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
%2334 = icmp ne i32 %2332, 0
br i1 %2334, label %instr_0x000A6E48_then_0, label %instr_0x000A6E48_merge_0
instr_0x000A6E48_then_0: ; preds = %instr_0x000A6E48_merge_all_fs
%2335 = zext i32 %2332 to i64
%2336 = or i64 %2335, 2932174172979200
%2337 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %2336)
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
%2338 = getelementptr i8* %ppu_state, i32 944
%2339 = bitcast i8* %2338 to i64*
%2340 = load i64* %2339, align 8
%2341 = getelementptr i8* %ppu_state, i32 1016
%2342 = bitcast i8* %2341 to i64*
%2343 = load i64* %2342, align 8
%2344 = sub i64 %2343, %2340
%2345 = getelementptr i8* %ppu_state, i32 856
%2346 = bitcast i8* %2345 to i64*
store i64 %2344, i64* %2346, align 8
br label %instr_0x000A6E78
instr_0x000A6E78: ; preds = %instr_0x000A6E74
%2347 = getelementptr i8* %ppu_state, i32 920
%2348 = bitcast i8* %2347 to i64*
%2349 = load i64* %2348, align 8
%2350 = getelementptr i8* %ppu_state, i32 912
%2351 = bitcast i8* %2350 to i64*
%2352 = load i64* %2351, align 8
%2353 = sub i64 %2352, %2349
%2354 = getelementptr i8* %ppu_state, i32 768
%2355 = bitcast i8* %2354 to i64*
store i64 %2353, i64* %2355, align 8
br label %instr_0x000A6E7C
instr_0x000A6E7C: ; preds = %instr_0x000A6E78
%2356 = getelementptr i8* %ppu_state, i32 896
%2357 = bitcast i8* %2356 to i32*
%2358 = load i32* %2357, align 8
%2359 = zext i32 %2358 to i64
%2360 = shl i64 %2359, 32
%2361 = or i64 %2359, %2360
%2362 = lshr i64 %2361, 34
%2363 = shl i64 %2361, 30
%2364 = or i64 %2363, %2362
%2365 = and i64 %2364, 1073741823
%2366 = getelementptr i8* %ppu_state, i32 848
%2367 = bitcast i8* %2366 to i64*
store i64 %2365, i64* %2367, align 8
br label %instr_0x000A6E80
instr_0x000A6E80: ; preds = %instr_0x000A6E7C
%2368 = getelementptr i8* %ppu_state, i32 856
%2369 = bitcast i8* %2368 to i32*
%2370 = load i32* %2369, align 8
%2371 = getelementptr i8* %ppu_state, i32 904
%2372 = bitcast i8* %2371 to i32*
%2373 = load i32* %2372, align 8
%2374 = udiv i32 %2370, %2373
%2375 = zext i32 %2374 to i64
%2376 = getelementptr i8* %ppu_state, i32 856
%2377 = bitcast i8* %2376 to i64*
store i64 %2375, i64* %2377, align 8
br label %instr_0x000A6E84
instr_0x000A6E84: ; preds = %instr_0x000A6E80
%2378 = getelementptr i8* %ppu_state, i32 896
%2379 = bitcast i8* %2378 to i32*
%2380 = load i32* %2379, align 8
%2381 = zext i32 %2380 to i64
%2382 = shl i64 %2381, 32
%2383 = or i64 %2381, %2382
%2384 = lshr i64 %2383, 33
%2385 = shl i64 %2383, 31
%2386 = or i64 %2385, %2384
%2387 = and i64 %2386, 2147483647
%2388 = getelementptr i8* %ppu_state, i32 840
%2389 = bitcast i8* %2388 to i64*
store i64 %2387, i64* %2389, align 8
br label %instr_0x000A6E88
instr_0x000A6E88: ; preds = %instr_0x000A6E84
%2390 = getelementptr i8* %ppu_state, i32 768
%2391 = bitcast i8* %2390 to i32*
%2392 = load i32* %2391, align 8
%2393 = getelementptr i8* %ppu_state, i32 904
%2394 = bitcast i8* %2393 to i32*
%2395 = load i32* %2394, align 8
%2396 = udiv i32 %2392, %2395
%2397 = zext i32 %2396 to i64
%2398 = getelementptr i8* %ppu_state, i32 952
%2399 = bitcast i8* %2398 to i64*
store i64 %2397, i64* %2399, align 8
br label %instr_0x000A6E8C
instr_0x000A6E8C: ; preds = %instr_0x000A6E88
%2400 = getelementptr i8* %ppu_state, i32 856
%2401 = bitcast i8* %2400 to i32*
%2402 = load i32* %2401, align 8
%2403 = zext i32 %2402 to i64
%2404 = getelementptr i8* %ppu_state, i32 952
%2405 = bitcast i8* %2404 to i32*
%2406 = load i32* %2405, align 8
%2407 = zext i32 %2406 to i64
%2408 = icmp ult i64 %2403, %2407
%2409 = icmp ugt i64 %2403, %2407
%2410 = icmp eq i64 %2403, %2407
%2411 = getelementptr i8* %ppu_state, i32 1540
%2412 = bitcast i8* %2411 to i32*
%2413 = load i32* %2412, align 4
%2414 = getelementptr i8* %ppu_state, i32 1544
%2415 = bitcast i8* %2414 to i64*
%2416 = load i64* %2415, align 8
%2417 = lshr i64 %2416, 31
%2418 = and i64 %2417, 1
%2419 = and i32 %2413, -16
%2420 = zext i1 %2408 to i32
%2421 = shl i32 %2420, 3
%2422 = or i32 %2419, %2421
%2423 = zext i1 %2409 to i32
%2424 = shl i32 %2423, 2
%2425 = or i32 %2422, %2424
%2426 = zext i1 %2410 to i32
%2427 = shl i32 %2426, 1
%2428 = or i32 %2425, %2427
%2429 = trunc i64 %2418 to i32
%2430 = or i32 %2428, %2429
%2431 = getelementptr i8* %ppu_state, i32 1540
%2432 = bitcast i8* %2431 to i32*
store i32 %2430, i32* %2432, align 4
br label %instr_0x000A6E90
instr_0x000A6E90: ; preds = %instr_0x000A6E8C
%2433 = getelementptr i8* %ppu_state, i32 840
%2434 = bitcast i8* %2433 to i64*
%2435 = load i64* %2434, align 8
%2436 = getelementptr i8* %ppu_state, i32 848
%2437 = bitcast i8* %2436 to i64*
%2438 = load i64* %2437, align 8
%2439 = add i64 %2435, %2438
%2440 = getelementptr i8* %ppu_state, i32 896
%2441 = bitcast i8* %2440 to i64*
store i64 %2439, i64* %2441, align 8
br label %instr_0x000A6E94
instr_0x000A6E94: ; preds = %instr_0x000A6E90
%2442 = getelementptr i8* %ppu_state, i32 1576
%2443 = bitcast i8* %2442 to i64*
%2444 = load i64* %2443, align 8
%2445 = getelementptr i8* %ppu_state, i32 1540
%2446 = bitcast i8* %2445 to i32*
%2447 = load i32* %2446, align 4
%2448 = lshr i32 %2447, 2
%2449 = and i32 %2448, 1
%2450 = trunc i32 %2449 to i1
br i1 %2450, label %instr_0x000A6FF0, label %instr_0x000A6E98
instr_0x000A6E98: ; preds = %instr_0x000A6E94
%2451 = getelementptr i8* %ppu_state, i32 888
%2452 = bitcast i8* %2451 to i64*
%2453 = load i64* %2452, align 8
%2454 = getelementptr i8* %ppu_state, i32 888
%2455 = bitcast i8* %2454 to i64*
%2456 = load i64* %2455, align 8
%2457 = or i64 %2453, %2456
%2458 = getelementptr i8* %ppu_state, i32 792
%2459 = bitcast i8* %2458 to i64*
store i64 %2457, i64* %2459, align 8
br label %instr_0x000A6E9C
instr_0x000A6E9C: ; preds = %instr_0x000A6E98
%2460 = getelementptr i8* %ppu_state, i32 856
%2461 = bitcast i8* %2460 to i64*
%2462 = load i64* %2461, align 8
%2463 = and i64 %2462, 4294967295
%2464 = getelementptr i8* %ppu_state, i32 800
%2465 = bitcast i8* %2464 to i64*
store i64 %2463, i64* %2465, align 8
br label %instr_0x000A6EA0
instr_0x000A6EA0: ; preds = %instr_0x000A6E9C
%2466 = getelementptr i8* %ppu_state, i32 896
%2467 = bitcast i8* %2466 to i64*
%2468 = load i64* %2467, align 8
%2469 = and i64 %2468, 4294967295
%2470 = getelementptr i8* %ppu_state, i32 808
%2471 = bitcast i8* %2470 to i64*
store i64 %2469, i64* %2471, align 8
br label %instr_0x000A6EA4
instr_0x000A6EA4: ; preds = %instr_0x000A6EA0
%2472 = getelementptr i8* %ppu_state, i32 936
%2473 = bitcast i8* %2472 to i64*
%2474 = load i64* %2473, align 8
%2475 = getelementptr i8* %ppu_state, i32 936
%2476 = bitcast i8* %2475 to i64*
%2477 = load i64* %2476, align 8
%2478 = or i64 %2474, %2477
%2479 = getelementptr i8* %ppu_state, i32 816
%2480 = bitcast i8* %2479 to i64*
store i64 %2478, i64* %2480, align 8
br label %instr_0x000A6EA8
instr_0x000A6EA8: ; preds = %instr_0x000A6EA4
%2481 = getelementptr i8* %ppu_state, i32 960
%2482 = bitcast i8* %2481 to i64*
%2483 = load i64* %2482, align 8
%2484 = getelementptr i8* %ppu_state, i32 960
%2485 = bitcast i8* %2484 to i64*
%2486 = load i64* %2485, align 8
%2487 = or i64 %2483, %2486
%2488 = getelementptr i8* %ppu_state, i32 824
%2489 = bitcast i8* %2488 to i64*
store i64 %2487, i64* %2489, align 8
br label %instr_0x000A6EAC
instr_0x000A6EAC: ; preds = %instr_0x000A6EA8
%2490 = getelementptr i8* %ppu_state, i32 920
%2491 = bitcast i8* %2490 to i64*
%2492 = load i64* %2491, align 8
%2493 = getelementptr i8* %ppu_state, i32 920
%2494 = bitcast i8* %2493 to i64*
%2495 = load i64* %2494, align 8
%2496 = or i64 %2492, %2495
%2497 = getelementptr i8* %ppu_state, i32 944
%2498 = bitcast i8* %2497 to i64*
store i64 %2496, i64* %2498, align 8
br label %instr_0x000A6EB0
instr_0x000A6EB0: ; preds = %instr_0x000A6EAC
%2499 = getelementptr i8* %ppu_state, i32 1568
%2500 = bitcast i8* %2499 to i64*
store i64 683700, i64* %2500, align 8
%2501 = getelementptr i8* %ppu_state, i32 1664
%2502 = bitcast i8* %2501 to i32*
store i32 682700, i32* %2502, align 4
%2503 = load i64* inttoptr (i64 8623353112 to i64*)
%2504 = inttoptr i64 %2503 to i32 (i8*, i64)*
%2505 = call i32 %2504(i8* %ppu_state, i64 0)
%2506 = icmp eq i32 %2505, -1
br i1 %2506, 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
%2507 = getelementptr i8* %ppu_state, i32 896
%2508 = bitcast i8* %2507 to i32*
%2509 = load i32* %2508, align 8
%2510 = sext i32 %2509 to i64
%2511 = icmp slt i64 %2510, 0
%2512 = icmp sgt i64 %2510, 0
%2513 = icmp eq i64 %2510, 0
%2514 = getelementptr i8* %ppu_state, i32 1540
%2515 = bitcast i8* %2514 to i32*
%2516 = load i32* %2515, align 4
%2517 = getelementptr i8* %ppu_state, i32 1544
%2518 = bitcast i8* %2517 to i64*
%2519 = load i64* %2518, align 8
%2520 = lshr i64 %2519, 31
%2521 = and i64 %2520, 1
%2522 = and i32 %2516, -16
%2523 = zext i1 %2511 to i32
%2524 = shl i32 %2523, 3
%2525 = or i32 %2522, %2524
%2526 = zext i1 %2512 to i32
%2527 = shl i32 %2526, 2
%2528 = or i32 %2525, %2527
%2529 = zext i1 %2513 to i32
%2530 = shl i32 %2529, 1
%2531 = or i32 %2528, %2530
%2532 = trunc i64 %2521 to i32
%2533 = or i32 %2531, %2532
%2534 = getelementptr i8* %ppu_state, i32 1540
%2535 = bitcast i8* %2534 to i32*
store i32 %2533, i32* %2535, align 4
br label %instr_0x000A6EB8
instr_0x000A6EB8: ; preds = %instr_0x000A6EB4
%2536 = getelementptr i8* %ppu_state, i32 1576
%2537 = bitcast i8* %2536 to i64*
%2538 = load i64* %2537, align 8
%2539 = getelementptr i8* %ppu_state, i32 1540
%2540 = bitcast i8* %2539 to i32*
%2541 = load i32* %2540, align 4
%2542 = lshr i32 %2541, 1
%2543 = and i32 %2542, 1
%2544 = trunc i32 %2543 to i1
br i1 %2544, label %instr_0x000A7014, label %instr_0x000A6EBC
instr_0x000A6EBC: ; preds = %instr_0x000A7010, %instr_0x000A6EB8
%2545 = getelementptr i8* %ppu_state, i32 952
%2546 = bitcast i8* %2545 to i32*
%2547 = load i32* %2546, align 8
%2548 = zext i32 %2547 to i64
%2549 = icmp ult i64 %2548, 32
%2550 = icmp ugt i64 %2548, 32
%2551 = icmp eq i64 %2548, 32
%2552 = getelementptr i8* %ppu_state, i32 1540
%2553 = bitcast i8* %2552 to i32*
%2554 = load i32* %2553, align 4
%2555 = getelementptr i8* %ppu_state, i32 1544
%2556 = bitcast i8* %2555 to i64*
%2557 = load i64* %2556, align 8
%2558 = lshr i64 %2557, 31
%2559 = and i64 %2558, 1
%2560 = and i32 %2554, -16
%2561 = zext i1 %2549 to i32
%2562 = shl i32 %2561, 3
%2563 = or i32 %2560, %2562
%2564 = zext i1 %2550 to i32
%2565 = shl i32 %2564, 2
%2566 = or i32 %2563, %2565
%2567 = zext i1 %2551 to i32
%2568 = shl i32 %2567, 1
%2569 = or i32 %2566, %2568
%2570 = trunc i64 %2559 to i32
%2571 = or i32 %2569, %2570
%2572 = getelementptr i8* %ppu_state, i32 1540
%2573 = bitcast i8* %2572 to i32*
store i32 %2571, i32* %2573, align 4
br label %instr_0x000A6EC0
instr_0x000A6EC0: ; preds = %instr_0x000A6EBC
%2574 = getelementptr i8* %ppu_state, i32 1576
%2575 = bitcast i8* %2574 to i64*
%2576 = load i64* %2575, align 8
%2577 = getelementptr i8* %ppu_state, i32 1540
%2578 = bitcast i8* %2577 to i32*
%2579 = load i32* %2578, align 4
%2580 = lshr i32 %2579, 2
%2581 = and i32 %2580, 1
%2582 = trunc i32 %2581 to i1
br i1 %2582, label %instr_0x000A6B60, label %instr_0x000A6EC4
instr_0x000A6EC4: ; preds = %instr_0x000A6EC0, %instr_0x000A6B40
%2583 = getelementptr i8* %ppu_state, i32 952
%2584 = bitcast i8* %2583 to i32*
%2585 = load i32* %2584, align 8
%2586 = zext i32 %2585 to i64
%2587 = icmp ult i64 %2586, 1
%2588 = icmp ugt i64 %2586, 1
%2589 = icmp eq i64 %2586, 1
%2590 = getelementptr i8* %ppu_state, i32 1540
%2591 = bitcast i8* %2590 to i32*
%2592 = load i32* %2591, align 4
%2593 = getelementptr i8* %ppu_state, i32 1544
%2594 = bitcast i8* %2593 to i64*
%2595 = load i64* %2594, align 8
%2596 = lshr i64 %2595, 31
%2597 = and i64 %2596, 1
%2598 = and i32 %2592, -16
%2599 = zext i1 %2587 to i32
%2600 = shl i32 %2599, 3
%2601 = or i32 %2598, %2600
%2602 = zext i1 %2588 to i32
%2603 = shl i32 %2602, 2
%2604 = or i32 %2601, %2603
%2605 = zext i1 %2589 to i32
%2606 = shl i32 %2605, 1
%2607 = or i32 %2604, %2606
%2608 = trunc i64 %2597 to i32
%2609 = or i32 %2607, %2608
%2610 = getelementptr i8* %ppu_state, i32 1540
%2611 = bitcast i8* %2610 to i32*
store i32 %2609, i32* %2611, align 4
br label %instr_0x000A6EC8
instr_0x000A6EC8: ; preds = %instr_0x000A6EC4
%2612 = getelementptr i8* %ppu_state, i32 776
%2613 = bitcast i8* %2612 to i64*
%2614 = load i64* %2613, align 8
%2615 = add i64 %2614, 112
%2616 = and i64 %2615, 4294967295
%2617 = add i64 %2616, 2147418112
%2618 = inttoptr i64 %2617 to i32*
%2619 = load i32* %2618
%2620 = call i32 @llvm.bswap.i32(i32 %2619)
%2621 = zext i32 %2620 to i64
%2622 = getelementptr i8* %ppu_state, i32 976
%2623 = bitcast i8* %2622 to i64*
store i64 %2621, i64* %2623, align 8
br label %instr_0x000A6ECC
instr_0x000A6ECC: ; preds = %instr_0x000A6EC8
%2624 = getelementptr i8* %ppu_state, i32 944
%2625 = bitcast i8* %2624 to i64*
%2626 = load i64* %2625, align 8
%2627 = getelementptr i8* %ppu_state, i32 944
%2628 = bitcast i8* %2627 to i64*
%2629 = load i64* %2628, align 8
%2630 = or i64 %2626, %2629
%2631 = getelementptr i8* %ppu_state, i32 984
%2632 = bitcast i8* %2631 to i64*
store i64 %2630, i64* %2632, align 8
br label %instr_0x000A6ED0
instr_0x000A6ED0: ; preds = %instr_0x000A6ECC
%2633 = getelementptr i8* %ppu_state, i32 944
%2634 = bitcast i8* %2633 to i64*
%2635 = load i64* %2634, align 8
%2636 = and i64 %2635, 4294967295
%2637 = getelementptr i8* %ppu_state, i32 968
%2638 = bitcast i8* %2637 to i64*
store i64 %2636, i64* %2638, align 8
br label %instr_0x000A6ED4
instr_0x000A6ED4: ; preds = %instr_0x000A6ED0
%2639 = getelementptr i8* %ppu_state, i32 904
%2640 = bitcast i8* %2639 to i64*
%2641 = load i64* %2640, align 8
%2642 = sub i64 0, %2641
%2643 = getelementptr i8* %ppu_state, i32 1000
%2644 = bitcast i8* %2643 to i64*
store i64 %2642, i64* %2644, align 8
br label %instr_0x000A6ED8
instr_0x000A6ED8: ; preds = %instr_0x000A6ED4
%2645 = getelementptr i8* %ppu_state, i32 1576
%2646 = bitcast i8* %2645 to i64*
%2647 = load i64* %2646, align 8
%2648 = getelementptr i8* %ppu_state, i32 1540
%2649 = bitcast i8* %2648 to i32*
%2650 = load i32* %2649, align 4
%2651 = lshr i32 %2650, 2
%2652 = and i32 %2651, 1
%2653 = trunc i32 %2652 to i1
%2654 = xor i1 %2653, true
br i1 %2654, label %instr_0x000A6F78, label %instr_0x000A6EDC
instr_0x000A6EDC: ; preds = %instr_0x000A70B4, %instr_0x000A6F58, %instr_0x000A6ED8
%2655 = getelementptr i8* %ppu_state, i32 952
%2656 = bitcast i8* %2655 to i64*
%2657 = load i64* %2656, align 8
%2658 = add i64 %2657, -1
%2659 = getelementptr i8* %ppu_state, i32 952
%2660 = bitcast i8* %2659 to i64*
store i64 %2658, i64* %2660, align 8
br label %instr_0x000A6EE0
instr_0x000A6EE0: ; preds = %instr_0x000A6EDC
%2661 = getelementptr i8* %ppu_state, i32 952
%2662 = bitcast i8* %2661 to i32*
%2663 = load i32* %2662, align 8
%2664 = sext i32 %2663 to i64
%2665 = icmp slt i64 %2664, 0
%2666 = icmp sgt i64 %2664, 0
%2667 = icmp eq i64 %2664, 0
%2668 = getelementptr i8* %ppu_state, i32 1540
%2669 = bitcast i8* %2668 to i32*
%2670 = load i32* %2669, align 4
%2671 = getelementptr i8* %ppu_state, i32 1544
%2672 = bitcast i8* %2671 to i64*
%2673 = load i64* %2672, align 8
%2674 = lshr i64 %2673, 31
%2675 = and i64 %2674, 1
%2676 = and i32 %2670, -16
%2677 = zext i1 %2665 to i32
%2678 = shl i32 %2677, 3
%2679 = or i32 %2676, %2678
%2680 = zext i1 %2666 to i32
%2681 = shl i32 %2680, 2
%2682 = or i32 %2679, %2681
%2683 = zext i1 %2667 to i32
%2684 = shl i32 %2683, 1
%2685 = or i32 %2682, %2684
%2686 = trunc i64 %2675 to i32
%2687 = or i32 %2685, %2686
%2688 = getelementptr i8* %ppu_state, i32 1540
%2689 = bitcast i8* %2688 to i32*
store i32 %2687, i32* %2689, align 4
br label %instr_0x000A6EE4
instr_0x000A6EE4: ; preds = %instr_0x000A6EE0
%2690 = getelementptr i8* %ppu_state, i32 1576
%2691 = bitcast i8* %2690 to i64*
%2692 = load i64* %2691, align 8
%2693 = getelementptr i8* %ppu_state, i32 1540
%2694 = bitcast i8* %2693 to i32*
%2695 = load i32* %2694, align 4
%2696 = lshr i32 %2695, 1
%2697 = and i32 %2696, 1
%2698 = trunc i32 %2697 to i1
br i1 %2698, label %instr_0x000A6F78, label %instr_0x000A6EE8
instr_0x000A6EE8: ; preds = %instr_0x000A6F74, %instr_0x000A6EE4
%2699 = getelementptr i8* %ppu_state, i32 984
%2700 = bitcast i8* %2699 to i64*
%2701 = load i64* %2700, align 8
%2702 = getelementptr i8* %ppu_state, i32 904
%2703 = bitcast i8* %2702 to i64*
%2704 = load i64* %2703, align 8
%2705 = add i64 %2701, %2704
%2706 = getelementptr i8* %ppu_state, i32 984
%2707 = bitcast i8* %2706 to i64*
store i64 %2705, i64* %2707, align 8
br label %instr_0x000A6EEC
instr_0x000A6EEC: ; preds = %instr_0x000A6EE8
%2708 = getelementptr i8* %ppu_state, i32 776
%2709 = bitcast i8* %2708 to i64*
%2710 = load i64* %2709, align 8
%2711 = add i64 %2710, 40
%2712 = getelementptr i8* %ppu_state, i32 784
%2713 = bitcast i8* %2712 to i64*
%2714 = load i64* %2713, align 8
%2715 = call i64 @llvm.bswap.i64(i64 %2714)
%2716 = and i64 %2711, 4294967295
%2717 = add i64 %2716, 2147418112
%2718 = inttoptr i64 %2717 to i64*
store i64 %2715, i64* %2718
br label %instr_0x000A6EF0
instr_0x000A6EF0: ; preds = %instr_0x000A6EEC
%2719 = getelementptr i8* %ppu_state, i32 976
%2720 = bitcast i8* %2719 to i64*
%2721 = load i64* %2720, align 8
%2722 = add i64 %2721, 0
%2723 = and i64 %2722, 4294967295
%2724 = add i64 %2723, 2147418112
%2725 = inttoptr i64 %2724 to i32*
%2726 = load i32* %2725
%2727 = call i32 @llvm.bswap.i32(i32 %2726)
%2728 = zext i32 %2727 to i64
%2729 = getelementptr i8* %ppu_state, i32 768
%2730 = bitcast i8* %2729 to i64*
store i64 %2728, i64* %2730, align 8
br label %instr_0x000A6EF4
instr_0x000A6EF4: ; preds = %instr_0x000A6EF0
%2731 = getelementptr i8* %ppu_state, i32 984
%2732 = bitcast i8* %2731 to i64*
%2733 = load i64* %2732, align 8
%2734 = and i64 %2733, 4294967295
%2735 = getelementptr i8* %ppu_state, i32 992
%2736 = bitcast i8* %2735 to i64*
store i64 %2734, i64* %2736, align 8
br label %instr_0x000A6EF8
instr_0x000A6EF8: ; preds = %instr_0x000A6EF4
%2737 = getelementptr i8* %ppu_state, i32 968
%2738 = bitcast i8* %2737 to i64*
%2739 = load i64* %2738, align 8
%2740 = getelementptr i8* %ppu_state, i32 968
%2741 = bitcast i8* %2740 to i64*
%2742 = load i64* %2741, align 8
%2743 = or i64 %2739, %2742
%2744 = getelementptr i8* %ppu_state, i32 800
%2745 = bitcast i8* %2744 to i64*
store i64 %2743, i64* %2745, align 8
br label %instr_0x000A6EFC
instr_0x000A6EFC: ; preds = %instr_0x000A6EF8
%2746 = getelementptr i8* %ppu_state, i32 976
%2747 = bitcast i8* %2746 to i64*
%2748 = load i64* %2747, align 8
%2749 = add i64 %2748, 4
%2750 = and i64 %2749, 4294967295
%2751 = add i64 %2750, 2147418112
%2752 = inttoptr i64 %2751 to i32*
%2753 = load i32* %2752
%2754 = call i32 @llvm.bswap.i32(i32 %2753)
%2755 = zext i32 %2754 to i64
%2756 = getelementptr i8* %ppu_state, i32 784
%2757 = bitcast i8* %2756 to i64*
store i64 %2755, i64* %2757, align 8
br label %instr_0x000A6F00
instr_0x000A6F00: ; preds = %instr_0x000A6EFC
%2758 = getelementptr i8* %ppu_state, i32 992
%2759 = bitcast i8* %2758 to i64*
%2760 = load i64* %2759, align 8
%2761 = getelementptr i8* %ppu_state, i32 992
%2762 = bitcast i8* %2761 to i64*
%2763 = load i64* %2762, align 8
%2764 = or i64 %2760, %2763
%2765 = getelementptr i8* %ppu_state, i32 792
%2766 = bitcast i8* %2765 to i64*
store i64 %2764, i64* %2766, align 8
br label %instr_0x000A6F04
instr_0x000A6F04: ; preds = %instr_0x000A6F00
%2767 = getelementptr i8* %ppu_state, i32 768
%2768 = bitcast i8* %2767 to i64*
%2769 = load i64* %2768, align 8
%2770 = getelementptr i8* %ppu_state, i32 1576
%2771 = bitcast i8* %2770 to i64*
store i64 %2769, i64* %2771, align 8
br label %instr_0x000A6F08
instr_0x000A6F08: ; preds = %instr_0x000A6F04
%2772 = getelementptr i8* %ppu_state, i32 984
%2773 = bitcast i8* %2772 to i64*
%2774 = load i64* %2773, align 8
%2775 = getelementptr i8* %ppu_state, i32 984
%2776 = bitcast i8* %2775 to i64*
%2777 = load i64* %2776, align 8
%2778 = or i64 %2774, %2777
%2779 = getelementptr i8* %ppu_state, i32 1008
%2780 = bitcast i8* %2779 to i64*
store i64 %2778, i64* %2780, align 8
br label %instr_0x000A6F0C
instr_0x000A6F0C: ; preds = %instr_0x000A6F08
%2781 = getelementptr i8* %ppu_state, i32 984
%2782 = bitcast i8* %2781 to i64*
%2783 = load i64* %2782, align 8
%2784 = getelementptr i8* %ppu_state, i32 984
%2785 = bitcast i8* %2784 to i64*
%2786 = load i64* %2785, align 8
%2787 = or i64 %2783, %2786
%2788 = getelementptr i8* %ppu_state, i32 1016
%2789 = bitcast i8* %2788 to i64*
store i64 %2787, i64* %2789, align 8
br label %instr_0x000A6F10
instr_0x000A6F10: ; preds = %instr_0x000A6F0C
%2790 = getelementptr i8* %ppu_state, i32 1576
%2791 = bitcast i8* %2790 to i64*
%2792 = load i64* %2791, align 8
%2793 = and i64 %2792, -4
%2794 = trunc i64 %2793 to i32
%2795 = getelementptr i8* %ppu_state, i32 1576
%2796 = bitcast i8* %2795 to i64*
%2797 = load i64* %2796, align 8
%2798 = getelementptr i8* %ppu_state, i32 1568
%2799 = bitcast i8* %2798 to i64*
store i64 683796, i64* %2799, align 8
%2800 = getelementptr i8* %ppu_state, i32 1664
%2801 = bitcast i8* %2800 to i32*
store i32 %2794, i32* %2801, align 4
switch i32 %2794, label %instr_0x000A6F10_unknown_function [
i32 469328, label %instr_0x000A6F10_0x00072950
]
instr_0x000A6F10_unknown_function: ; preds = %instr_0x000A6F10
%2802 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6F14
instr_0x000A6F10_0x00072950: ; preds = %instr_0x000A6F10
%2803 = load i64* inttoptr (i64 8623353112 to i64*)
%2804 = inttoptr i64 %2803 to i32 (i8*, i64)*
%2805 = call i32 %2804(i8* %ppu_state, i64 0)
%2806 = icmp eq i32 %2805, -1
br i1 %2806, 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
%2807 = getelementptr i8* %ppu_state, i32 776
%2808 = bitcast i8* %2807 to i64*
%2809 = load i64* %2808, align 8
%2810 = add i64 %2809, 40
%2811 = and i64 %2810, 4294967295
%2812 = add i64 %2811, 2147418112
%2813 = inttoptr i64 %2812 to i64*
%2814 = load i64* %2813
%2815 = call i64 @llvm.bswap.i64(i64 %2814)
%2816 = getelementptr i8* %ppu_state, i32 784
%2817 = bitcast i8* %2816 to i64*
store i64 %2815, i64* %2817, align 8
br label %instr_0x000A6F18
instr_0x000A6F18: ; preds = %instr_0x000A6F14
%2818 = getelementptr i8* %ppu_state, i32 792
%2819 = bitcast i8* %2818 to i32*
%2820 = load i32* %2819, align 8
%2821 = sext i32 %2820 to i64
%2822 = icmp slt i64 %2821, 0
%2823 = icmp sgt i64 %2821, 0
%2824 = icmp eq i64 %2821, 0
%2825 = getelementptr i8* %ppu_state, i32 1540
%2826 = bitcast i8* %2825 to i32*
%2827 = load i32* %2826, align 4
%2828 = getelementptr i8* %ppu_state, i32 1544
%2829 = bitcast i8* %2828 to i64*
%2830 = load i64* %2829, align 8
%2831 = lshr i64 %2830, 31
%2832 = and i64 %2831, 1
%2833 = and i32 %2827, -16
%2834 = zext i1 %2822 to i32
%2835 = shl i32 %2834, 3
%2836 = or i32 %2833, %2835
%2837 = zext i1 %2823 to i32
%2838 = shl i32 %2837, 2
%2839 = or i32 %2836, %2838
%2840 = zext i1 %2824 to i32
%2841 = shl i32 %2840, 1
%2842 = or i32 %2839, %2841
%2843 = trunc i64 %2832 to i32
%2844 = or i32 %2842, %2843
%2845 = getelementptr i8* %ppu_state, i32 1540
%2846 = bitcast i8* %2845 to i32*
store i32 %2844, i32* %2846, align 4
br label %instr_0x000A6F1C
instr_0x000A6F1C: ; preds = %instr_0x000A6F18
%2847 = getelementptr i8* %ppu_state, i32 1576
%2848 = bitcast i8* %2847 to i64*
%2849 = load i64* %2848, align 8
%2850 = getelementptr i8* %ppu_state, i32 1540
%2851 = bitcast i8* %2850 to i32*
%2852 = load i32* %2851, align 4
%2853 = lshr i32 %2852, 3
%2854 = and i32 %2853, 1
%2855 = trunc i32 %2854 to i1
%2856 = xor i1 %2855, true
br i1 %2856, label %instr_0x000A6F28, label %instr_0x000A6F20
instr_0x000A6F20: ; preds = %instr_0x000A6F1C
br label %instr_0x000A70A4
instr_0x000A6F24: ; preds = %instr_0x000A6F50
%2857 = getelementptr i8* %ppu_state, i32 1016
%2858 = bitcast i8* %2857 to i64*
%2859 = load i64* %2858, align 8
%2860 = getelementptr i8* %ppu_state, i32 1016
%2861 = bitcast i8* %2860 to i64*
%2862 = load i64* %2861, align 8
%2863 = or i64 %2859, %2862
%2864 = getelementptr i8* %ppu_state, i32 1008
%2865 = bitcast i8* %2864 to i64*
store i64 %2863, i64* %2865, align 8
br label %instr_0x000A6F28
instr_0x000A6F28: ; preds = %instr_0x000A6F24, %instr_0x000A6F1C
%2866 = getelementptr i8* %ppu_state, i32 776
%2867 = bitcast i8* %2866 to i64*
%2868 = load i64* %2867, align 8
%2869 = add i64 %2868, 40
%2870 = getelementptr i8* %ppu_state, i32 784
%2871 = bitcast i8* %2870 to i64*
%2872 = load i64* %2871, align 8
%2873 = call i64 @llvm.bswap.i64(i64 %2872)
%2874 = and i64 %2869, 4294967295
%2875 = add i64 %2874, 2147418112
%2876 = inttoptr i64 %2875 to i64*
store i64 %2873, i64* %2876
br label %instr_0x000A6F2C
instr_0x000A6F2C: ; preds = %instr_0x000A6F28
%2877 = getelementptr i8* %ppu_state, i32 976
%2878 = bitcast i8* %2877 to i64*
%2879 = load i64* %2878, align 8
%2880 = add i64 %2879, 0
%2881 = and i64 %2880, 4294967295
%2882 = add i64 %2881, 2147418112
%2883 = inttoptr i64 %2882 to i32*
%2884 = load i32* %2883
%2885 = call i32 @llvm.bswap.i32(i32 %2884)
%2886 = zext i32 %2885 to i64
%2887 = getelementptr i8* %ppu_state, i32 768
%2888 = bitcast i8* %2887 to i64*
store i64 %2886, i64* %2888, align 8
br label %instr_0x000A6F30
instr_0x000A6F30: ; preds = %instr_0x000A6F2C
%2889 = getelementptr i8* %ppu_state, i32 1016
%2890 = bitcast i8* %2889 to i64*
%2891 = load i64* %2890, align 8
%2892 = getelementptr i8* %ppu_state, i32 1000
%2893 = bitcast i8* %2892 to i64*
%2894 = load i64* %2893, align 8
%2895 = add i64 %2891, %2894
%2896 = getelementptr i8* %ppu_state, i32 1016
%2897 = bitcast i8* %2896 to i64*
store i64 %2895, i64* %2897, align 8
br label %instr_0x000A6F34
instr_0x000A6F34: ; preds = %instr_0x000A6F30
%2898 = getelementptr i8* %ppu_state, i32 992
%2899 = bitcast i8* %2898 to i64*
%2900 = load i64* %2899, align 8
%2901 = getelementptr i8* %ppu_state, i32 992
%2902 = bitcast i8* %2901 to i64*
%2903 = load i64* %2902, align 8
%2904 = or i64 %2900, %2903
%2905 = getelementptr i8* %ppu_state, i32 792
%2906 = bitcast i8* %2905 to i64*
store i64 %2904, i64* %2906, align 8
br label %instr_0x000A6F38
instr_0x000A6F38: ; preds = %instr_0x000A6F34
%2907 = getelementptr i8* %ppu_state, i32 976
%2908 = bitcast i8* %2907 to i64*
%2909 = load i64* %2908, align 8
%2910 = add i64 %2909, 4
%2911 = and i64 %2910, 4294967295
%2912 = add i64 %2911, 2147418112
%2913 = inttoptr i64 %2912 to i32*
%2914 = load i32* %2913
%2915 = call i32 @llvm.bswap.i32(i32 %2914)
%2916 = zext i32 %2915 to i64
%2917 = getelementptr i8* %ppu_state, i32 784
%2918 = bitcast i8* %2917 to i64*
store i64 %2916, i64* %2918, align 8
br label %instr_0x000A6F3C
instr_0x000A6F3C: ; preds = %instr_0x000A6F38
%2919 = getelementptr i8* %ppu_state, i32 1016
%2920 = bitcast i8* %2919 to i64*
%2921 = load i64* %2920, align 8
%2922 = and i64 %2921, 4294967295
%2923 = getelementptr i8* %ppu_state, i32 800
%2924 = bitcast i8* %2923 to i64*
store i64 %2922, i64* %2924, align 8
br label %instr_0x000A6F40
instr_0x000A6F40: ; preds = %instr_0x000A6F3C
%2925 = getelementptr i8* %ppu_state, i32 768
%2926 = bitcast i8* %2925 to i64*
%2927 = load i64* %2926, align 8
%2928 = getelementptr i8* %ppu_state, i32 1576
%2929 = bitcast i8* %2928 to i64*
store i64 %2927, i64* %2929, align 8
br label %instr_0x000A6F44
instr_0x000A6F44: ; preds = %instr_0x000A6F40
%2930 = getelementptr i8* %ppu_state, i32 1576
%2931 = bitcast i8* %2930 to i64*
%2932 = load i64* %2931, align 8
%2933 = and i64 %2932, -4
%2934 = trunc i64 %2933 to i32
%2935 = getelementptr i8* %ppu_state, i32 1576
%2936 = bitcast i8* %2935 to i64*
%2937 = load i64* %2936, align 8
%2938 = getelementptr i8* %ppu_state, i32 1568
%2939 = bitcast i8* %2938 to i64*
store i64 683848, i64* %2939, align 8
%2940 = getelementptr i8* %ppu_state, i32 1664
%2941 = bitcast i8* %2940 to i32*
store i32 %2934, i32* %2941, align 4
switch i32 %2934, label %instr_0x000A6F44_unknown_function [
i32 469328, label %instr_0x000A6F44_0x00072950
]
instr_0x000A6F44_unknown_function: ; preds = %instr_0x000A6F44
%2942 = call i32 @execute_unknown_function(i8* %ppu_state, i64 0)
br label %instr_0x000A6F48
instr_0x000A6F44_0x00072950: ; preds = %instr_0x000A6F44
%2943 = load i64* inttoptr (i64 8623353112 to i64*)
%2944 = inttoptr i64 %2943 to i32 (i8*, i64)*
%2945 = call i32 %2944(i8* %ppu_state, i64 0)
%2946 = icmp eq i32 %2945, -1
br i1 %2946, 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
%2947 = getelementptr i8* %ppu_state, i32 776
%2948 = bitcast i8* %2947 to i64*
%2949 = load i64* %2948, align 8
%2950 = add i64 %2949, 40
%2951 = and i64 %2950, 4294967295
%2952 = add i64 %2951, 2147418112
%2953 = inttoptr i64 %2952 to i64*
%2954 = load i64* %2953
%2955 = call i64 @llvm.bswap.i64(i64 %2954)
%2956 = getelementptr i8* %ppu_state, i32 784
%2957 = bitcast i8* %2956 to i64*
store i64 %2955, i64* %2957, align 8
br label %instr_0x000A6F4C
instr_0x000A6F4C: ; preds = %instr_0x000A6F48
%2958 = getelementptr i8* %ppu_state, i32 792
%2959 = bitcast i8* %2958 to i32*
%2960 = load i32* %2959, align 8
%2961 = sext i32 %2960 to i64
%2962 = icmp slt i64 %2961, 0
%2963 = icmp sgt i64 %2961, 0
%2964 = icmp eq i64 %2961, 0
%2965 = getelementptr i8* %ppu_state, i32 1540
%2966 = bitcast i8* %2965 to i32*
%2967 = load i32* %2966, align 4
%2968 = getelementptr i8* %ppu_state, i32 1544
%2969 = bitcast i8* %2968 to i64*
%2970 = load i64* %2969, align 8
%2971 = lshr i64 %2970, 31
%2972 = and i64 %2971, 1
%2973 = and i32 %2967, -16
%2974 = zext i1 %2962 to i32
%2975 = shl i32 %2974, 3
%2976 = or i32 %2973, %2975
%2977 = zext i1 %2963 to i32
%2978 = shl i32 %2977, 2
%2979 = or i32 %2976, %2978
%2980 = zext i1 %2964 to i32
%2981 = shl i32 %2980, 1
%2982 = or i32 %2979, %2981
%2983 = trunc i64 %2972 to i32
%2984 = or i32 %2982, %2983
%2985 = getelementptr i8* %ppu_state, i32 1540
%2986 = bitcast i8* %2985 to i32*
store i32 %2984, i32* %2986, align 4
br label %instr_0x000A6F50
instr_0x000A6F50: ; preds = %instr_0x000A6F4C
%2987 = getelementptr i8* %ppu_state, i32 1576
%2988 = bitcast i8* %2987 to i64*
%2989 = load i64* %2988, align 8
%2990 = getelementptr i8* %ppu_state, i32 1540
%2991 = bitcast i8* %2990 to i32*
%2992 = load i32* %2991, align 4
%2993 = lshr i32 %2992, 3
%2994 = and i32 %2993, 1
%2995 = trunc i32 %2994 to i1
br i1 %2995, label %instr_0x000A6F24, label %instr_0x000A6F54
instr_0x000A6F54: ; preds = %instr_0x000A6F50
%2996 = getelementptr i8* %ppu_state, i32 984
%2997 = bitcast i8* %2996 to i32*
%2998 = load i32* %2997, align 8
%2999 = sext i32 %2998 to i64
%3000 = getelementptr i8* %ppu_state, i32 1008
%3001 = bitcast i8* %3000 to i32*
%3002 = load i32* %3001, align 8
%3003 = sext i32 %3002 to i64
%3004 = icmp slt i64 %2999, %3003
%3005 = icmp sgt i64 %2999, %3003
%3006 = icmp eq i64 %2999, %3003
%3007 = getelementptr i8* %ppu_state, i32 1540
%3008 = bitcast i8* %3007 to i32*
%3009 = load i32* %3008, align 4
%3010 = getelementptr i8* %ppu_state, i32 1544
%3011 = bitcast i8* %3010 to i64*
%3012 = load i64* %3011, align 8
%3013 = lshr i64 %3012, 31
%3014 = and i64 %3013, 1
%3015 = and i32 %3009, -16
%3016 = zext i1 %3004 to i32
%3017 = shl i32 %3016, 3
%3018 = or i32 %3015, %3017
%3019 = zext i1 %3005 to i32
%3020 = shl i32 %3019, 2
%3021 = or i32 %3018, %3020
%3022 = zext i1 %3006 to i32
%3023 = shl i32 %3022, 1
%3024 = or i32 %3021, %3023
%3025 = trunc i64 %3014 to i32
%3026 = or i32 %3024, %3025
%3027 = getelementptr i8* %ppu_state, i32 1540
%3028 = bitcast i8* %3027 to i32*
store i32 %3026, i32* %3028, align 4
br label %instr_0x000A6F58
instr_0x000A6F58: ; preds = %instr_0x000A6F54
%3029 = getelementptr i8* %ppu_state, i32 1576
%3030 = bitcast i8* %3029 to i64*
%3031 = load i64* %3030, align 8
%3032 = getelementptr i8* %ppu_state, i32 1540
%3033 = bitcast i8* %3032 to i32*
%3034 = load i32* %3033, align 4
%3035 = lshr i32 %3034, 1
%3036 = and i32 %3035, 1
%3037 = trunc i32 %3036 to i1
br i1 %3037, label %instr_0x000A6EDC, label %instr_0x000A6F5C
instr_0x000A6F5C: ; preds = %instr_0x000A6F58
%3038 = getelementptr i8* %ppu_state, i32 1008
%3039 = bitcast i8* %3038 to i64*
%3040 = load i64* %3039, align 8
%3041 = and i64 %3040, 4294967295
%3042 = getelementptr i8* %ppu_state, i32 792
%3043 = bitcast i8* %3042 to i64*
store i64 %3041, i64* %3043, align 8
br label %instr_0x000A6F60
instr_0x000A6F60: ; preds = %instr_0x000A6F5C
%3044 = getelementptr i8* %ppu_state, i32 992
%3045 = bitcast i8* %3044 to i64*
%3046 = load i64* %3045, align 8
%3047 = getelementptr i8* %ppu_state, i32 992
%3048 = bitcast i8* %3047 to i64*
%3049 = load i64* %3048, align 8
%3050 = or i64 %3046, %3049
%3051 = getelementptr i8* %ppu_state, i32 800
%3052 = bitcast i8* %3051 to i64*
store i64 %3050, i64* %3052, align 8
br label %instr_0x000A6F64
instr_0x000A6F64: ; preds = %instr_0x000A6F60
%3053 = getelementptr i8* %ppu_state, i32 904
%3054 = bitcast i8* %3053 to i64*
%3055 = load i64* %3054, align 8
%3056 = and i64 %3055, 4294967295
%3057 = getelementptr i8* %ppu_state, i32 808
%3058 = bitcast i8* %3057 to i64*
store i64 %3056, i64* %3058, align 8
br label %instr_0x000A6F68
instr_0x000A6F68: ; preds = %instr_0x000A6F64
%3059 = getelementptr i8* %ppu_state, i32 952
%3060 = bitcast i8* %3059 to i64*
%3061 = load i64* %3060, align 8
%3062 = add i64 %3061, -1
%3063 = getelementptr i8* %ppu_state, i32 952
%3064 = bitcast i8* %3063 to i64*
store i64 %3062, i64* %3064, align 8
br label %instr_0x000A6F6C
instr_0x000A6F6C: ; preds = %instr_0x000A6F68
%3065 = getelementptr i8* %ppu_state, i32 1568
%3066 = bitcast i8* %3065 to i64*
store i64 683888, i64* %3066, align 8
%3067 = getelementptr i8* %ppu_state, i32 1664
%3068 = bitcast i8* %3067 to i32*
store i32 682448, i32* %3068, align 4
%3069 = load i64* inttoptr (i64 8623353112 to i64*)
%3070 = inttoptr i64 %3069 to i32 (i8*, i64)*
%3071 = call i32 %3070(i8* %ppu_state, i64 0)
%3072 = icmp eq i32 %3071, -1
br i1 %3072, 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
%3073 = getelementptr i8* %ppu_state, i32 952
%3074 = bitcast i8* %3073 to i32*
%3075 = load i32* %3074, align 8
%3076 = sext i32 %3075 to i64
%3077 = icmp slt i64 %3076, 0
%3078 = icmp sgt i64 %3076, 0
%3079 = icmp eq i64 %3076, 0
%3080 = getelementptr i8* %ppu_state, i32 1540
%3081 = bitcast i8* %3080 to i32*
%3082 = load i32* %3081, align 4
%3083 = getelementptr i8* %ppu_state, i32 1544
%3084 = bitcast i8* %3083 to i64*
%3085 = load i64* %3084, align 8
%3086 = lshr i64 %3085, 31
%3087 = and i64 %3086, 1
%3088 = and i32 %3082, -16
%3089 = zext i1 %3077 to i32
%3090 = shl i32 %3089, 3
%3091 = or i32 %3088, %3090
%3092 = zext i1 %3078 to i32
%3093 = shl i32 %3092, 2
%3094 = or i32 %3091, %3093
%3095 = zext i1 %3079 to i32
%3096 = shl i32 %3095, 1
%3097 = or i32 %3094, %3096
%3098 = trunc i64 %3087 to i32
%3099 = or i32 %3097, %3098
%3100 = getelementptr i8* %ppu_state, i32 1540
%3101 = bitcast i8* %3100 to i32*
store i32 %3099, i32* %3101, align 4
br label %instr_0x000A6F74
instr_0x000A6F74: ; preds = %instr_0x000A6F70
%3102 = getelementptr i8* %ppu_state, i32 1576
%3103 = bitcast i8* %3102 to i64*
%3104 = load i64* %3103, align 8
%3105 = getelementptr i8* %ppu_state, i32 1540
%3106 = bitcast i8* %3105 to i32*
%3107 = load i32* %3106, align 4
%3108 = lshr i32 %3107, 1
%3109 = and i32 %3108, 1
%3110 = trunc i32 %3109 to i1
%3111 = xor i1 %3110, true
br i1 %3111, label %instr_0x000A6EE8, label %instr_0x000A6F78
instr_0x000A6F78: ; preds = %instr_0x000A6F74, %instr_0x000A6EE4, %instr_0x000A6ED8
%3112 = getelementptr i8* %ppu_state, i32 776
%3113 = bitcast i8* %3112 to i64*
%3114 = load i64* %3113, align 8
%3115 = add i64 %3114, 288
%3116 = and i64 %3115, 4294967295
%3117 = add i64 %3116, 2147418112
%3118 = inttoptr i64 %3117 to i64*
%3119 = load i64* %3118
%3120 = call i64 @llvm.bswap.i64(i64 %3119)
%3121 = getelementptr i8* %ppu_state, i32 768
%3122 = bitcast i8* %3121 to i64*
store i64 %3120, i64* %3122, align 8
br label %instr_0x000A6F7C
instr_0x000A6F7C: ; preds = %instr_0x000A6F78
%3123 = getelementptr i8* %ppu_state, i32 776
%3124 = bitcast i8* %3123 to i64*
%3125 = load i64* %3124, align 8
%3126 = add i64 %3125, 128
%3127 = and i64 %3126, 4294967295
%3128 = add i64 %3127, 2147418112
%3129 = inttoptr i64 %3128 to i64*
%3130 = load i64* %3129
%3131 = call i64 @llvm.bswap.i64(i64 %3130)
%3132 = getelementptr i8* %ppu_state, i32 880
%3133 = bitcast i8* %3132 to i64*
store i64 %3131, i64* %3133, align 8
br label %instr_0x000A6F80
instr_0x000A6F80: ; preds = %instr_0x000A6F7C
%3134 = getelementptr i8* %ppu_state, i32 776
%3135 = bitcast i8* %3134 to i64*
%3136 = load i64* %3135, align 8
%3137 = add i64 %3136, 136
%3138 = and i64 %3137, 4294967295
%3139 = add i64 %3138, 2147418112
%3140 = inttoptr i64 %3139 to i64*
%3141 = load i64* %3140
%3142 = call i64 @llvm.bswap.i64(i64 %3141)
%3143 = getelementptr i8* %ppu_state, i32 888
%3144 = bitcast i8* %3143 to i64*
store i64 %3142, i64* %3144, align 8
br label %instr_0x000A6F84
instr_0x000A6F84: ; preds = %instr_0x000A6F80
%3145 = getelementptr i8* %ppu_state, i32 768
%3146 = bitcast i8* %3145 to i64*
%3147 = load i64* %3146, align 8
%3148 = getelementptr i8* %ppu_state, i32 1568
%3149 = bitcast i8* %3148 to i64*
store i64 %3147, i64* %3149, align 8
br label %instr_0x000A6F88
instr_0x000A6F88: ; preds = %instr_0x000A6F84
%3150 = getelementptr i8* %ppu_state, i32 776
%3151 = bitcast i8* %3150 to i64*
%3152 = load i64* %3151, align 8
%3153 = add i64 %3152, 144
%3154 = and i64 %3153, 4294967295
%3155 = add i64 %3154, 2147418112
%3156 = inttoptr i64 %3155 to i64*
%3157 = load i64* %3156
%3158 = call i64 @llvm.bswap.i64(i64 %3157)
%3159 = getelementptr i8* %ppu_state, i32 896
%3160 = bitcast i8* %3159 to i64*
store i64 %3158, i64* %3160, align 8
br label %instr_0x000A6F8C
instr_0x000A6F8C: ; preds = %instr_0x000A6F88
%3161 = getelementptr i8* %ppu_state, i32 776
%3162 = bitcast i8* %3161 to i64*
%3163 = load i64* %3162, align 8
%3164 = add i64 %3163, 152
%3165 = and i64 %3164, 4294967295
%3166 = add i64 %3165, 2147418112
%3167 = inttoptr i64 %3166 to i64*
%3168 = load i64* %3167
%3169 = call i64 @llvm.bswap.i64(i64 %3168)
%3170 = getelementptr i8* %ppu_state, i32 904
%3171 = bitcast i8* %3170 to i64*
store i64 %3169, i64* %3171, align 8
br label %instr_0x000A6F90
instr_0x000A6F90: ; preds = %instr_0x000A6F8C
%3172 = getelementptr i8* %ppu_state, i32 776
%3173 = bitcast i8* %3172 to i64*
%3174 = load i64* %3173, align 8
%3175 = add i64 %3174, 160
%3176 = and i64 %3175, 4294967295
%3177 = add i64 %3176, 2147418112
%3178 = inttoptr i64 %3177 to i64*
%3179 = load i64* %3178
%3180 = call i64 @llvm.bswap.i64(i64 %3179)
%3181 = getelementptr i8* %ppu_state, i32 912
%3182 = bitcast i8* %3181 to i64*
store i64 %3180, i64* %3182, align 8
br label %instr_0x000A6F94
instr_0x000A6F94: ; preds = %instr_0x000A6F90
%3183 = getelementptr i8* %ppu_state, i32 776
%3184 = bitcast i8* %3183 to i64*
%3185 = load i64* %3184, align 8
%3186 = add i64 %3185, 168
%3187 = and i64 %3186, 4294967295
%3188 = add i64 %3187, 2147418112
%3189 = inttoptr i64 %3188 to i64*
%3190 = load i64* %3189
%3191 = call i64 @llvm.bswap.i64(i64 %3190)
%3192 = getelementptr i8* %ppu_state, i32 920
%3193 = bitcast i8* %3192 to i64*
store i64 %3191, i64* %3193, align 8
br label %instr_0x000A6F98
instr_0x000A6F98: ; preds = %instr_0x000A6F94
%3194 = getelementptr i8* %ppu_state, i32 776
%3195 = bitcast i8* %3194 to i64*
%3196 = load i64* %3195, align 8
%3197 = add i64 %3196, 176
%3198 = and i64 %3197, 4294967295
%3199 = add i64 %3198, 2147418112
%3200 = inttoptr i64 %3199 to i64*
%3201 = load i64* %3200
%3202 = call i64 @llvm.bswap.i64(i64 %3201)
%3203 = getelementptr i8* %ppu_state, i32 928
%3204 = bitcast i8* %3203 to i64*
store i64 %3202, i64* %3204, align 8
br label %instr_0x000A6F9C
instr_0x000A6F9C: ; preds = %instr_0x000A6F98
%3205 = getelementptr i8* %ppu_state, i32 776
%3206 = bitcast i8* %3205 to i64*
%3207 = load i64* %3206, align 8
%3208 = add i64 %3207, 184
%3209 = and i64 %3208, 4294967295
%3210 = add i64 %3209, 2147418112
%3211 = inttoptr i64 %3210 to i64*
%3212 = load i64* %3211
%3213 = call i64 @llvm.bswap.i64(i64 %3212)
%3214 = getelementptr i8* %ppu_state, i32 936
%3215 = bitcast i8* %3214 to i64*
store i64 %3213, i64* %3215, align 8
br label %instr_0x000A6FA0
instr_0x000A6FA0: ; preds = %instr_0x000A6F9C
%3216 = getelementptr i8* %ppu_state, i32 776
%3217 = bitcast i8* %3216 to i64*
%3218 = load i64* %3217, align 8
%3219 = add i64 %3218, 192
%3220 = and i64 %3219, 4294967295
%3221 = add i64 %3220, 2147418112
%3222 = inttoptr i64 %3221 to i64*
%3223 = load i64* %3222
%3224 = call i64 @llvm.bswap.i64(i64 %3223)
%3225 = getelementptr i8* %ppu_state, i32 944
%3226 = bitcast i8* %3225 to i64*
store i64 %3224, i64* %3226, align 8
br label %instr_0x000A6FA4
instr_0x000A6FA4: ; preds = %instr_0x000A6FA0
%3227 = getelementptr i8* %ppu_state, i32 776
%3228 = bitcast i8* %3227 to i64*
%3229 = load i64* %3228, align 8
%3230 = add i64 %3229, 200
%3231 = and i64 %3230, 4294967295
%3232 = add i64 %3231, 2147418112
%3233 = inttoptr i64 %3232 to i64*
%3234 = load i64* %3233
%3235 = call i64 @llvm.bswap.i64(i64 %3234)
%3236 = getelementptr i8* %ppu_state, i32 952
%3237 = bitcast i8* %3236 to i64*
store i64 %3235, i64* %3237, align 8
br label %instr_0x000A6FA8
instr_0x000A6FA8: ; preds = %instr_0x000A6FA4
%3238 = getelementptr i8* %ppu_state, i32 776
%3239 = bitcast i8* %3238 to i64*
%3240 = load i64* %3239, align 8
%3241 = add i64 %3240, 208
%3242 = and i64 %3241, 4294967295
%3243 = add i64 %3242, 2147418112
%3244 = inttoptr i64 %3243 to i64*
%3245 = load i64* %3244
%3246 = call i64 @llvm.bswap.i64(i64 %3245)
%3247 = getelementptr i8* %ppu_state, i32 960
%3248 = bitcast i8* %3247 to i64*
store i64 %3246, i64* %3248, align 8
br label %instr_0x000A6FAC
instr_0x000A6FAC: ; preds = %instr_0x000A6FA8
%3249 = getelementptr i8* %ppu_state, i32 776
%3250 = bitcast i8* %3249 to i64*
%3251 = load i64* %3250, align 8
%3252 = add i64 %3251, 216
%3253 = and i64 %3252, 4294967295
%3254 = add i64 %3253, 2147418112
%3255 = inttoptr i64 %3254 to i64*
%3256 = load i64* %3255
%3257 = call i64 @llvm.bswap.i64(i64 %3256)
%3258 = getelementptr i8* %ppu_state, i32 968
%3259 = bitcast i8* %3258 to i64*
store i64 %3257, i64* %3259, align 8
br label %instr_0x000A6FB0
instr_0x000A6FB0: ; preds = %instr_0x000A6FAC
%3260 = getelementptr i8* %ppu_state, i32 776
%3261 = bitcast i8* %3260 to i64*
%3262 = load i64* %3261, align 8
%3263 = add i64 %3262, 224
%3264 = and i64 %3263, 4294967295
%3265 = add i64 %3264, 2147418112
%3266 = inttoptr i64 %3265 to i64*
%3267 = load i64* %3266
%3268 = call i64 @llvm.bswap.i64(i64 %3267)
%3269 = getelementptr i8* %ppu_state, i32 976
%3270 = bitcast i8* %3269 to i64*
store i64 %3268, i64* %3270, align 8
br label %instr_0x000A6FB4
instr_0x000A6FB4: ; preds = %instr_0x000A6FB0
%3271 = getelementptr i8* %ppu_state, i32 776
%3272 = bitcast i8* %3271 to i64*
%3273 = load i64* %3272, align 8
%3274 = add i64 %3273, 232
%3275 = and i64 %3274, 4294967295
%3276 = add i64 %3275, 2147418112
%3277 = inttoptr i64 %3276 to i64*
%3278 = load i64* %3277
%3279 = call i64 @llvm.bswap.i64(i64 %3278)
%3280 = getelementptr i8* %ppu_state, i32 984
%3281 = bitcast i8* %3280 to i64*
store i64 %3279, i64* %3281, align 8
br label %instr_0x000A6FB8
instr_0x000A6FB8: ; preds = %instr_0x000A6FB4
%3282 = getelementptr i8* %ppu_state, i32 776
%3283 = bitcast i8* %3282 to i64*
%3284 = load i64* %3283, align 8
%3285 = add i64 %3284, 240
%3286 = and i64 %3285, 4294967295
%3287 = add i64 %3286, 2147418112
%3288 = inttoptr i64 %3287 to i64*
%3289 = load i64* %3288
%3290 = call i64 @llvm.bswap.i64(i64 %3289)
%3291 = getelementptr i8* %ppu_state, i32 992
%3292 = bitcast i8* %3291 to i64*
store i64 %3290, i64* %3292, align 8
br label %instr_0x000A6FBC
instr_0x000A6FBC: ; preds = %instr_0x000A6FB8
%3293 = getelementptr i8* %ppu_state, i32 776
%3294 = bitcast i8* %3293 to i64*
%3295 = load i64* %3294, align 8
%3296 = add i64 %3295, 248
%3297 = and i64 %3296, 4294967295
%3298 = add i64 %3297, 2147418112
%3299 = inttoptr i64 %3298 to i64*
%3300 = load i64* %3299
%3301 = call i64 @llvm.bswap.i64(i64 %3300)
%3302 = getelementptr i8* %ppu_state, i32 1000
%3303 = bitcast i8* %3302 to i64*
store i64 %3301, i64* %3303, align 8
br label %instr_0x000A6FC0
instr_0x000A6FC0: ; preds = %instr_0x000A6FBC
%3304 = getelementptr i8* %ppu_state, i32 776
%3305 = bitcast i8* %3304 to i64*
%3306 = load i64* %3305, align 8
%3307 = add i64 %3306, 256
%3308 = and i64 %3307, 4294967295
%3309 = add i64 %3308, 2147418112
%3310 = inttoptr i64 %3309 to i64*
%3311 = load i64* %3310
%3312 = call i64 @llvm.bswap.i64(i64 %3311)
%3313 = getelementptr i8* %ppu_state, i32 1008
%3314 = bitcast i8* %3313 to i64*
store i64 %3312, i64* %3314, align 8
br label %instr_0x000A6FC4
instr_0x000A6FC4: ; preds = %instr_0x000A6FC0
%3315 = getelementptr i8* %ppu_state, i32 776
%3316 = bitcast i8* %3315 to i64*
%3317 = load i64* %3316, align 8
%3318 = add i64 %3317, 264
%3319 = and i64 %3318, 4294967295
%3320 = add i64 %3319, 2147418112
%3321 = inttoptr i64 %3320 to i64*
%3322 = load i64* %3321
%3323 = call i64 @llvm.bswap.i64(i64 %3322)
%3324 = getelementptr i8* %ppu_state, i32 1016
%3325 = bitcast i8* %3324 to i64*
store i64 %3323, i64* %3325, align 8
br label %instr_0x000A6FC8
instr_0x000A6FC8: ; preds = %instr_0x000A6FC4
%3326 = getelementptr i8* %ppu_state, i32 776
%3327 = bitcast i8* %3326 to i64*
%3328 = load i64* %3327, align 8
%3329 = add i64 %3328, 272
%3330 = getelementptr i8* %ppu_state, i32 776
%3331 = bitcast i8* %3330 to i64*
store i64 %3329, i64* %3331, align 8
br label %instr_0x000A6FCC
instr_0x000A6FCC: ; preds = %instr_0x000A6FC8
%3332 = getelementptr i8* %ppu_state, i32 1568
%3333 = bitcast i8* %3332 to i64*
%3334 = load i64* %3333, align 8
%3335 = and i64 %3334, -4
%3336 = trunc i64 %3335 to i32
%3337 = getelementptr i8* %ppu_state, i32 1576
%3338 = bitcast i8* %3337 to i64*
%3339 = load i64* %3338, align 8
%3340 = getelementptr i8* %ppu_state, i32 1664
%3341 = bitcast i8* %3340 to i32*
store i32 %3336, i32* %3341, align 4
ret i32 0
instr_0x000A6FD0: ; preds = %instr_0x000A6B84
%3342 = phi i32 [ 682884, %instr_0x000A6B84 ]
%3343 = getelementptr i8* %ppu_state, i32 1664
%3344 = bitcast i8* %3343 to i32*
store i32 683984, i32* %3344, align 4
%3345 = zext i32 %3342 to i64
%3346 = or i64 %3345, 2932174172979200
%3347 = load i64* inttoptr (i64 8623353120 to i64*)
%3348 = inttoptr i64 %3347 to i32 (i8*, i64)*
%3349 = call i32 %3348(i8* %ppu_state, i64 %3346)
%3350 = icmp eq i32 %3349, -1
br i1 %3350, 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
%3351 = icmp ne i32 %3349, 0
br i1 %3351, label %instr_0x000A6FD0_then_0, label %instr_0x000A6FD0_merge_0
instr_0x000A6FD0_then_0: ; preds = %instr_0x000A6FD0_merge_all_fs
%3352 = zext i32 %3349 to i64
%3353 = or i64 %3352, 2932174172979200
%3354 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %3353)
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
%3355 = getelementptr i8* %ppu_state, i32 952
%3356 = bitcast i8* %3355 to i64*
%3357 = load i64* %3356, align 8
%3358 = and i64 %3357, 4294967295
%3359 = getelementptr i8* %ppu_state, i32 800
%3360 = bitcast i8* %3359 to i64*
store i64 %3358, i64* %3360, align 8
br label %instr_0x000A6FF4
instr_0x000A6FF4: ; preds = %instr_0x000A6FF0
%3361 = getelementptr i8* %ppu_state, i32 920
%3362 = bitcast i8* %3361 to i64*
%3363 = load i64* %3362, align 8
%3364 = and i64 %3363, 4294967295
%3365 = getelementptr i8* %ppu_state, i32 792
%3366 = bitcast i8* %3365 to i64*
store i64 %3364, i64* %3366, align 8
br label %instr_0x000A6FF8
instr_0x000A6FF8: ; preds = %instr_0x000A6FF4
%3367 = getelementptr i8* %ppu_state, i32 896
%3368 = bitcast i8* %3367 to i64*
%3369 = load i64* %3368, align 8
%3370 = and i64 %3369, 4294967295
%3371 = getelementptr i8* %ppu_state, i32 808
%3372 = bitcast i8* %3371 to i64*
store i64 %3370, i64* %3372, align 8
br label %instr_0x000A6FFC
instr_0x000A6FFC: ; preds = %instr_0x000A6FF8
%3373 = getelementptr i8* %ppu_state, i32 936
%3374 = bitcast i8* %3373 to i64*
%3375 = load i64* %3374, align 8
%3376 = getelementptr i8* %ppu_state, i32 936
%3377 = bitcast i8* %3376 to i64*
%3378 = load i64* %3377, align 8
%3379 = or i64 %3375, %3378
%3380 = getelementptr i8* %ppu_state, i32 816
%3381 = bitcast i8* %3380 to i64*
store i64 %3379, i64* %3381, align 8
br label %instr_0x000A7000
instr_0x000A7000: ; preds = %instr_0x000A6FFC
%3382 = getelementptr i8* %ppu_state, i32 960
%3383 = bitcast i8* %3382 to i64*
%3384 = load i64* %3383, align 8
%3385 = getelementptr i8* %ppu_state, i32 960
%3386 = bitcast i8* %3385 to i64*
%3387 = load i64* %3386, align 8
%3388 = or i64 %3384, %3387
%3389 = getelementptr i8* %ppu_state, i32 824
%3390 = bitcast i8* %3389 to i64*
store i64 %3388, i64* %3390, align 8
br label %instr_0x000A7004
instr_0x000A7004: ; preds = %instr_0x000A7000
%3391 = getelementptr i8* %ppu_state, i32 856
%3392 = bitcast i8* %3391 to i64*
%3393 = load i64* %3392, align 8
%3394 = getelementptr i8* %ppu_state, i32 856
%3395 = bitcast i8* %3394 to i64*
%3396 = load i64* %3395, align 8
%3397 = or i64 %3393, %3396
%3398 = getelementptr i8* %ppu_state, i32 952
%3399 = bitcast i8* %3398 to i64*
store i64 %3397, i64* %3399, align 8
br label %instr_0x000A7008
instr_0x000A7008: ; preds = %instr_0x000A7004
%3400 = getelementptr i8* %ppu_state, i32 1568
%3401 = bitcast i8* %3400 to i64*
store i64 684044, i64* %3401, align 8
%3402 = getelementptr i8* %ppu_state, i32 1664
%3403 = bitcast i8* %3402 to i32*
store i32 682700, i32* %3403, align 4
%3404 = load i64* inttoptr (i64 8623353112 to i64*)
%3405 = inttoptr i64 %3404 to i32 (i8*, i64)*
%3406 = call i32 %3405(i8* %ppu_state, i64 0)
%3407 = icmp eq i32 %3406, -1
br i1 %3407, 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
%3408 = getelementptr i8* %ppu_state, i32 896
%3409 = bitcast i8* %3408 to i32*
%3410 = load i32* %3409, align 8
%3411 = sext i32 %3410 to i64
%3412 = icmp slt i64 %3411, 0
%3413 = icmp sgt i64 %3411, 0
%3414 = icmp eq i64 %3411, 0
%3415 = getelementptr i8* %ppu_state, i32 1540
%3416 = bitcast i8* %3415 to i32*
%3417 = load i32* %3416, align 4
%3418 = getelementptr i8* %ppu_state, i32 1544
%3419 = bitcast i8* %3418 to i64*
%3420 = load i64* %3419, align 8
%3421 = lshr i64 %3420, 31
%3422 = and i64 %3421, 1
%3423 = and i32 %3417, -16
%3424 = zext i1 %3412 to i32
%3425 = shl i32 %3424, 3
%3426 = or i32 %3423, %3425
%3427 = zext i1 %3413 to i32
%3428 = shl i32 %3427, 2
%3429 = or i32 %3426, %3428
%3430 = zext i1 %3414 to i32
%3431 = shl i32 %3430, 1
%3432 = or i32 %3429, %3431
%3433 = trunc i64 %3422 to i32
%3434 = or i32 %3432, %3433
%3435 = getelementptr i8* %ppu_state, i32 1540
%3436 = bitcast i8* %3435 to i32*
store i32 %3434, i32* %3436, align 4
br label %instr_0x000A7010
instr_0x000A7010: ; preds = %instr_0x000A700C
%3437 = getelementptr i8* %ppu_state, i32 1576
%3438 = bitcast i8* %3437 to i64*
%3439 = load i64* %3438, align 8
%3440 = getelementptr i8* %ppu_state, i32 1540
%3441 = bitcast i8* %3440 to i32*
%3442 = load i32* %3441, align 4
%3443 = lshr i32 %3442, 1
%3444 = and i32 %3443, 1
%3445 = trunc i32 %3444 to i1
%3446 = xor i1 %3445, true
br i1 %3446, label %instr_0x000A6EBC, label %instr_0x000A7014
instr_0x000A7014: ; preds = %instr_0x000A7010, %instr_0x000A6EB8, %instr_0x000A6B38
%3447 = phi i32 [ 684048, %instr_0x000A7010 ], [ 683704, %instr_0x000A6EB8 ], [ 682808, %instr_0x000A6B38 ]
%3448 = getelementptr i8* %ppu_state, i32 1664
%3449 = bitcast i8* %3448 to i32*
store i32 684052, i32* %3449, align 4
%3450 = zext i32 %3447 to i64
%3451 = or i64 %3450, 2932174172979200
%3452 = load i64* inttoptr (i64 8623353120 to i64*)
%3453 = inttoptr i64 %3452 to i32 (i8*, i64)*
%3454 = call i32 %3453(i8* %ppu_state, i64 %3451)
%3455 = icmp eq i32 %3454, -1
br i1 %3455, 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
%3456 = icmp ne i32 %3454, 0
br i1 %3456, label %instr_0x000A7014_then_0, label %instr_0x000A7014_merge_0
instr_0x000A7014_then_0: ; preds = %instr_0x000A7014_merge_all_fs
%3457 = zext i32 %3454 to i64
%3458 = or i64 %3457, 2932174172979200
%3459 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %3458)
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
%3460 = getelementptr i8* %ppu_state, i32 992
%3461 = bitcast i8* %3460 to i64*
%3462 = load i64* %3461, align 8
%3463 = getelementptr i8* %ppu_state, i32 992
%3464 = bitcast i8* %3463 to i64*
%3465 = load i64* %3464, align 8
%3466 = or i64 %3462, %3465
%3467 = getelementptr i8* %ppu_state, i32 800
%3468 = bitcast i8* %3467 to i64*
store i64 %3466, i64* %3468, align 8
br label %instr_0x000A70A8
instr_0x000A70A8: ; preds = %instr_0x000A70A4
%3469 = getelementptr i8* %ppu_state, i32 968
%3470 = bitcast i8* %3469 to i64*
%3471 = load i64* %3470, align 8
%3472 = getelementptr i8* %ppu_state, i32 968
%3473 = bitcast i8* %3472 to i64*
%3474 = load i64* %3473, align 8
%3475 = or i64 %3471, %3474
%3476 = getelementptr i8* %ppu_state, i32 792
%3477 = bitcast i8* %3476 to i64*
store i64 %3475, i64* %3477, align 8
br label %instr_0x000A70AC
instr_0x000A70AC: ; preds = %instr_0x000A70A8
%3478 = getelementptr i8* %ppu_state, i32 904
%3479 = bitcast i8* %3478 to i64*
%3480 = load i64* %3479, align 8
%3481 = and i64 %3480, 4294967295
%3482 = getelementptr i8* %ppu_state, i32 808
%3483 = bitcast i8* %3482 to i64*
store i64 %3481, i64* %3483, align 8
br label %instr_0x000A70B0
instr_0x000A70B0: ; preds = %instr_0x000A70AC
%3484 = getelementptr i8* %ppu_state, i32 1568
%3485 = bitcast i8* %3484 to i64*
store i64 684212, i64* %3485, align 8
%3486 = getelementptr i8* %ppu_state, i32 1664
%3487 = bitcast i8* %3486 to i32*
store i32 682448, i32* %3487, align 4
%3488 = load i64* inttoptr (i64 8623353112 to i64*)
%3489 = inttoptr i64 %3488 to i32 (i8*, i64)*
%3490 = call i32 %3489(i8* %ppu_state, i64 0)
%3491 = icmp eq i32 %3490, -1
br i1 %3491, 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
}
; Function Attrs: nounwind readnone
declare i64 @llvm.bswap.i64(i64) #0
; Function Attrs: nounwind readnone
declare i32 @llvm.bswap.i32(i32) #0
attributes #0 = { nounwind readnone }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment