Skip to content

Instantly share code, notes, and snippets.

@vlj
Last active August 29, 2015 14:25
Show Gist options
  • Save vlj/d046b3c6a3d6b845a078 to your computer and use it in GitHub Desktop.
Save vlj/d046b3c6a3d6b845a078 to your computer and use it in GitHub Desktop.
Recompiling block :
00177ab0: 00 00 00 0e mfcr r12
00177ac0: 00 00 00 08 stdu r1,-208(r1) #ffffff30
00177ad0: 00 00 00 08 std r20,112(r1) #70
00177ae0: 00 00 00 0b std r23,136(r1) #88
00177af0: 00 00 00 0e std r25,152(r1) #98
00177b00: 00 00 00 08 std r26,160(r1) #a0
00177b10: 00 00 00 0e std r21,120(r1) #78
00177b20: 00 00 00 0d std r22,128(r1) #80
00177b30: 00 00 00 02 std r24,144(r1) #90
00177b40: 00 00 00 06 std r27,168(r1) #a8
00177b50: 00 00 00 06 std r28,176(r1) #b0
00177b60: 00 00 00 07 std r29,184(r1) #b8
00177b70: 00 00 00 08 std r30,192(r1) #c0
00177b80: 00 00 00 06 std r31,200(r1) #c8
00177b90: 00 00 00 07 mr r26,r3
00177ba0: 00 00 00 07 mr r20,r4
00177bb0: 00 00 00 08 mr r25,r6
00177bc0: 00 00 00 07 mr r23,r7
00177bd0: 00 00 00 09 stw r12,216(r1) #d8
00177be0: 00 00 00 0a mflr r0
00177bf0: 00 00 00 08 std r0,224(r1) #e0
00177c00: 00 00 00 0a lwz r0,8(r3) #8
00177c10: 00 00 00 06 cmpwi cr7,r0,0 #0
00177c20: 00 00 00 07 ble cr7,0x177f08
00177c30: 00 00 00 08 add r0,r5,r8
00177c40: 00 00 00 0a li r21,0 #0
00177c50: 00 00 00 07 divw r22,r0,r6
00177c60: 00 00 00 0a divw r24,r5,r6
00177c70: 00 00 00 09 cmpw cr4,r22,r24
00177c80: 00 00 00 02 ble cr4,0x177f50
00177c90: 00 00 00 07 lwz r4,36(r26) #24
00177ca0: 00 00 00 09 clrldi r27,r23,32
00177cb0: 00 00 00 07 lwz r31,40(r26) #28
00177cc0: 00 00 00 09 extsw r4,r4
00177cd0: 00 00 00 08 mr r3,r27
00177ce0: 00 00 00 0c bl 0x173764
00177cf0: 00 00 00 0a nop
00177d00: 00 00 00 09 cmpwi cr7,r3,0 #0
00177d10: 00 00 00 09 blt cr7,0x177fa0
00177d20: 00 00 00 0a rlwinm r9,r3,2,0,29
00177d30: 00 00 00 0d lwz r0,32(r26) #20
00177d40: 00 00 00 0d add r9,r9,r0
00177d50: 00 00 00 07 clrldi r9,r9,32
00177d60: 00 00 00 09 lwz r11,0(r9) #0
00177d70: 00 00 00 07 cmpwi cr7,r11,0 #0
00177d80: 00 00 00 0b blt cr7,0x177e24
00177d90: 00 00 00 0d lwz r9,28(r26) #1c
00177da0: 00 00 00 0b mr r3,r27
00177db0: 00 00 00 0a addi r30,-1(r11) #ffffffff
00177dc0: 00 00 00 0a add r9,r11,r9
00177dd0: 00 00 00 0e addi r9,-1(r9) #ffffffff
00177de0: 00 00 00 0e clrldi r9,r9,32
00177df0: 00 00 00 0d lbz r4,0(r9) #0
00177e00: 00 00 00 0d extsb r4,r4
00177e10: 00 00 00 08 bl 0x173a48
00177e20: 00 00 00 0e nop
00177e30: 00 00 00 0e cmpwi cr7,r30,-1 #ffffffff
00177e40: 00 00 00 0b beq cr7,0x178034
00177e50: 00 00 00 0d lwz r11,0(r26) #0
00177e60: 00 00 00 0d lwz r0,16(r26) #10
00177e70: 00 00 00 10 cmpwi cr7,r11,0 #0
00177e80: 00 00 00 0a mullw r9,r30,r11
00177e90: 00 00 00 09 rlwinm r9,r9,2,0,29
00177ea0: 00 00 00 09 add r3,r9,r0
00177eb0: 00 00 00 0a ble cr7,0x177e24
00177ec0: 00 00 00 0e clrldi r11,r11,32
00177ed0: 00 00 00 0e mtctr r11
00177ee0: 00 00 00 09 rlwinm r9,r21,2,0,29
00177ef0: 00 00 00 0b rlwinm r11,r24,2,0,29
00177f00: 00 00 00 09 add r9,r9,r20
00177f10: 00 00 00 0d clrldi r10,r3,32
00177f20: 00 00 00 0f clrldi r9,r9,32
00177f30: 00 00 00 0d addi r21,1(r21) #1
00177f40: 00 00 00 09 addi r3,4(r3) #4
00177f50: 00 00 00 08 cmpw cr7,r25,r21
00177f60: 00 00 00 0c lfs f13,0(r10) #0
00177f70: 00 00 00 0d lwz r0,0(r9) #0
00177f80: 00 00 00 0c add r11,r11,r0
00177f90: 00 00 00 0d clrldi r11,r11,32
00177fa0: 00 00 00 09 lfs f0,0(r11) #0
00177fb0: 00 00 00 0e fadds f0,f0,f13
00177fc0: 00 00 00 10 stfs f0,0(r11) #0
00177fd0: 00 00 00 0d beq cr7,0x1781bc
00177fe0: 00 00 00 0e bdnz cr0,0x177fa0
00177ff0: 00 00 00 0d cmpw cr4,r22,r24
00178000: 00 00 00 11 b 0x177f20
00178010: 00 00 00 0f rlwinm r9,r11,0,17,31
00178020: 00 00 00 0c lwz r0,8(r26) #8
00178030: 00 00 00 0d rldicl r30,r11,49,49
00178040: 00 00 00 0d subf r28,r9,r0
00178050: 00 00 00 0f extsw r29,r31
00178060: 00 00 00 00 mr r3,r27
00178070: 00 00 00 07 mr r4,r29
00178080: 00 00 00 09 bl 0x173a1c
00178090: 00 00 00 07 nop
001780a0: 00 00 00 0b cmpwi cr7,r3,0 #0
001780b0: 00 00 00 0e bge cr7,0x1780e8
00178190: 00 00 00 0e rlwinm r0,r3,16,0,31
001781a0: 00 00 00 0f lis r10,255 #ff
001781b0: 00 00 00 0c lis r9,-256 #ffffff00
001781c0: 00 00 00 0c ori r10,255(r10) #ff
001781d0: 00 00 00 0d rlwinm r11,r0,8,0,23
001781e0: 00 00 00 13 ori r9,65280(r9) #ff00
001781f0: 00 00 00 10 rlwinm r0,r0,24,8,31
00178200: 00 00 00 0c and r11,r11,r9
00178210: 00 00 00 0d and r0,r0,r10
00178220: 00 00 00 0b lis r8,3855 #f0f
00178230: 00 00 00 10 or r0,r0,r11
00178240: 00 00 00 00 lis r9,-3856 #fffff0f0
00178250: 00 00 00 0f ori r8,3855(r8) #f0f
00178260: 00 00 00 0a rlwinm r11,r0,4,0,27
00178270: 00 00 00 0a ori r9,61680(r9) #f0f0
00178280: 00 00 00 0f rlwinm r0,r0,28,4,31
00178290: 00 00 00 0f and r11,r11,r9
001782a0: 00 00 00 0f and r0,r0,r8
001782b0: 00 00 00 0e lis r10,13107 #3333
001782c0: 00 00 00 09 or r0,r0,r11
001782d0: 00 00 00 0f lis r9,-13108 #ffffcccc
001782e0: 00 00 00 11 ori r10,13107(r10) #3333
001782f0: 00 00 00 0d rlwinm r11,r0,2,0,29
00178300: 00 00 00 11 ori r9,52428(r9) #cccc
00178310: 00 00 00 0e rlwinm r0,r0,30,2,31
00178320: 00 00 00 14 and r11,r11,r9
00178330: 00 00 00 0f and r0,r0,r10
00178340: 00 00 00 0c lis r8,21845 #5555
00178350: 00 00 00 0d or r0,r0,r11
00178360: 00 00 00 0e lis r10,-21846 #ffffaaaa
00178370: 00 00 00 00 subf r11,r30,r28
00178380: 00 00 00 12 rlwinm r9,r0,1,0,30
00178390: 00 00 00 0e ori r8,21845(r8) #5555
001783a0: 00 00 00 0e ori r10,43690(r10) #aaaa
001783b0: 00 00 00 0d rlwinm r0,r0,31,1,31
001783c0: 00 00 00 00 cmpwi cr7,r11,1 #1
001783d0: 00 00 00 00 and r0,r0,r8
001783e0: 00 00 00 13 and r9,r9,r10
001783f0: 00 00 00 0e or r3,r0,r9
00178400: 00 00 00 0c ble cr7,0x178454
00178410: 00 00 00 11 lwz r8,20(r26) #14
00178420: 00 00 00 12 srawi r11,r11,1
00178430: 00 00 00 11 li r10,1 #1
00178440: 00 00 00 12 add r9,r11,r30
00178450: 00 00 00 07 rlwinm r9,r9,2,0,29
00178460: 00 00 00 0e add r9,r9,r8
00178470: 00 00 00 0f clrldi r9,r9,32
00178480: 00 00 00 0c lwz r0,0(r9) #0
00178490: 00 00 00 0f cmplw cr7,r3,r0
001784a0: 00 00 00 0e blt cr7,0x1784a8
001784b0: 00 00 00 00 li r10,0 #0
001784c0: 00 00 00 0f neg r0,r10
001784d0: 00 00 00 0d addi r9,-1(r10) #ffffffff
001784e0: 00 00 00 0c and r0,r11,r0
001784f0: 00 00 00 0e and r9,r11,r9
00178500: 00 00 00 11 subf r28,r0,r28
00178510: 00 00 00 10 add r30,r30,r9
00178520: 00 00 00 0c subf r11,r30,r28
00178530: 00 00 00 0d cmpwi cr7,r11,1 #1
00178540: 00 00 00 0b bgt cr7,0x1784f8
00178550: 00 00 00 11 lwz r9,28(r26) #1c
00178560: 00 00 00 13 add r9,r30,r9
00178570: 00 00 00 11 clrldi r9,r9,32
00178580: 00 00 00 0d lbz r0,0(r9) #0
00178590: 00 00 00 0e extsb r0,r0
001785a0: 00 00 00 12 cmpw cr7,r0,r31
001785b0: 00 00 00 11 bgt cr7,0x17863c
001785c0: 00 00 00 12 mr r3,r27
001785d0: 00 00 00 10 extsw r4,r0
001785e0: 00 00 00 0c bl 0x174024
001785f0: 00 00 00 00 nop
00178600: 00 00 00 12 b 0x17840c
00178620: 00 00 00 12 ld r0,224(r1) #e0
00178630: 00 00 00 11 extsw r3,r3
00178640: 00 00 00 00 lwz r12,216(r1) #d8
00178650: 00 00 00 00 ld r20,112(r1) #70
00178660: 00 00 00 05 mtlr r0
00178670: 00 00 00 07 ld r21,120(r1) #78
00178680: 00 00 00 05 mtocrf 8,r12
00178690: 00 00 00 09 ld r22,128(r1) #80
001786a0: 00 00 00 0b ld r23,136(r1) #88
001786b0: 00 00 00 09 ld r24,144(r1) #90
001786c0: 00 00 00 07 ld r25,152(r1) #98
001786d0: 00 00 00 07 ld r26,160(r1) #a0
001786e0: 00 00 00 0a ld r27,168(r1) #a8
001786f0: 00 00 00 0a ld r28,176(r1) #b0
00178700: 00 00 00 0a ld r29,184(r1) #b8
00178710: 00 00 00 0a ld r30,192(r1) #c0
00178720: 00 00 00 05 ld r31,200(r1) #c8
00178730: 00 00 00 09 addi r1,208(r1) #d0
00178740: 00 00 00 0a blr
00178780: 00 00 00 0b addi r24,1(r24) #1
00178790: 00 00 00 0c li r21,0 #0
001787a0: 00 00 00 0a bdz cr0,0x1785b4
001787b0: 00 00 00 0a b 0x17857c
001787c0: 00 00 00 0c li r3,0 #0
001787d0: 00 00 00 0e b 0x178764
;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_0x0005DEAC_0(i8* %ppu_state, i64 %context) {
entry:
br label %instr_0x0005DEAC
instr_0x0005DEAC: ; preds = %entry
%0 = getelementptr i8* %ppu_state, i32 1540
%1 = bitcast i8* %0 to i32*
%2 = load i32* %1, align 4
%3 = zext i32 %2 to i64
%4 = getelementptr i8* %ppu_state, i32 864
%5 = bitcast i8* %4 to i64*
store i64 %3, i64* %5, align 8
br label %instr_0x0005DEB0
instr_0x0005DEB0: ; preds = %instr_0x0005DEAC
%6 = getelementptr i8* %ppu_state, i32 776
%7 = bitcast i8* %6 to i64*
%8 = load i64* %7, align 8
%9 = add i64 %8, -208
%10 = getelementptr i8* %ppu_state, i32 776
%11 = bitcast i8* %10 to i64*
%12 = load i64* %11, align 8
%13 = call i64 @llvm.bswap.i64(i64 %12)
%14 = and i64 %9, 4294967295
%15 = add i64 %14, 2147418112
%16 = inttoptr i64 %15 to i64*
store i64 %13, i64* %16
%17 = getelementptr i8* %ppu_state, i32 776
%18 = bitcast i8* %17 to i64*
store i64 %9, i64* %18, align 8
br label %instr_0x0005DEB4
instr_0x0005DEB4: ; preds = %instr_0x0005DEB0
%19 = getelementptr i8* %ppu_state, i32 776
%20 = bitcast i8* %19 to i64*
%21 = load i64* %20, align 8
%22 = add i64 %21, 112
%23 = getelementptr i8* %ppu_state, i32 928
%24 = bitcast i8* %23 to i64*
%25 = load i64* %24, align 8
%26 = call i64 @llvm.bswap.i64(i64 %25)
%27 = and i64 %22, 4294967295
%28 = add i64 %27, 2147418112
%29 = inttoptr i64 %28 to i64*
store i64 %26, i64* %29
br label %instr_0x0005DEB8
instr_0x0005DEB8: ; preds = %instr_0x0005DEB4
%30 = getelementptr i8* %ppu_state, i32 776
%31 = bitcast i8* %30 to i64*
%32 = load i64* %31, align 8
%33 = add i64 %32, 136
%34 = getelementptr i8* %ppu_state, i32 952
%35 = bitcast i8* %34 to i64*
%36 = load i64* %35, align 8
%37 = call i64 @llvm.bswap.i64(i64 %36)
%38 = and i64 %33, 4294967295
%39 = add i64 %38, 2147418112
%40 = inttoptr i64 %39 to i64*
store i64 %37, i64* %40
br label %instr_0x0005DEBC
instr_0x0005DEBC: ; preds = %instr_0x0005DEB8
%41 = getelementptr i8* %ppu_state, i32 776
%42 = bitcast i8* %41 to i64*
%43 = load i64* %42, align 8
%44 = add i64 %43, 152
%45 = getelementptr i8* %ppu_state, i32 968
%46 = bitcast i8* %45 to i64*
%47 = load i64* %46, align 8
%48 = call i64 @llvm.bswap.i64(i64 %47)
%49 = and i64 %44, 4294967295
%50 = add i64 %49, 2147418112
%51 = inttoptr i64 %50 to i64*
store i64 %48, i64* %51
br label %instr_0x0005DEC0
instr_0x0005DEC0: ; preds = %instr_0x0005DEBC
%52 = getelementptr i8* %ppu_state, i32 776
%53 = bitcast i8* %52 to i64*
%54 = load i64* %53, align 8
%55 = add i64 %54, 160
%56 = getelementptr i8* %ppu_state, i32 976
%57 = bitcast i8* %56 to i64*
%58 = load i64* %57, align 8
%59 = call i64 @llvm.bswap.i64(i64 %58)
%60 = and i64 %55, 4294967295
%61 = add i64 %60, 2147418112
%62 = inttoptr i64 %61 to i64*
store i64 %59, i64* %62
br label %instr_0x0005DEC4
instr_0x0005DEC4: ; preds = %instr_0x0005DEC0
%63 = getelementptr i8* %ppu_state, i32 776
%64 = bitcast i8* %63 to i64*
%65 = load i64* %64, align 8
%66 = add i64 %65, 120
%67 = getelementptr i8* %ppu_state, i32 936
%68 = bitcast i8* %67 to i64*
%69 = load i64* %68, align 8
%70 = call i64 @llvm.bswap.i64(i64 %69)
%71 = and i64 %66, 4294967295
%72 = add i64 %71, 2147418112
%73 = inttoptr i64 %72 to i64*
store i64 %70, i64* %73
br label %instr_0x0005DEC8
instr_0x0005DEC8: ; preds = %instr_0x0005DEC4
%74 = getelementptr i8* %ppu_state, i32 776
%75 = bitcast i8* %74 to i64*
%76 = load i64* %75, align 8
%77 = add i64 %76, 128
%78 = getelementptr i8* %ppu_state, i32 944
%79 = bitcast i8* %78 to i64*
%80 = load i64* %79, align 8
%81 = call i64 @llvm.bswap.i64(i64 %80)
%82 = and i64 %77, 4294967295
%83 = add i64 %82, 2147418112
%84 = inttoptr i64 %83 to i64*
store i64 %81, i64* %84
br label %instr_0x0005DECC
instr_0x0005DECC: ; preds = %instr_0x0005DEC8
%85 = getelementptr i8* %ppu_state, i32 776
%86 = bitcast i8* %85 to i64*
%87 = load i64* %86, align 8
%88 = add i64 %87, 144
%89 = getelementptr i8* %ppu_state, i32 960
%90 = bitcast i8* %89 to i64*
%91 = load i64* %90, align 8
%92 = call i64 @llvm.bswap.i64(i64 %91)
%93 = and i64 %88, 4294967295
%94 = add i64 %93, 2147418112
%95 = inttoptr i64 %94 to i64*
store i64 %92, i64* %95
br label %instr_0x0005DED0
instr_0x0005DED0: ; preds = %instr_0x0005DECC
%96 = getelementptr i8* %ppu_state, i32 776
%97 = bitcast i8* %96 to i64*
%98 = load i64* %97, align 8
%99 = add i64 %98, 168
%100 = getelementptr i8* %ppu_state, i32 984
%101 = bitcast i8* %100 to i64*
%102 = load i64* %101, align 8
%103 = call i64 @llvm.bswap.i64(i64 %102)
%104 = and i64 %99, 4294967295
%105 = add i64 %104, 2147418112
%106 = inttoptr i64 %105 to i64*
store i64 %103, i64* %106
br label %instr_0x0005DED4
instr_0x0005DED4: ; preds = %instr_0x0005DED0
%107 = getelementptr i8* %ppu_state, i32 776
%108 = bitcast i8* %107 to i64*
%109 = load i64* %108, align 8
%110 = add i64 %109, 176
%111 = getelementptr i8* %ppu_state, i32 992
%112 = bitcast i8* %111 to i64*
%113 = load i64* %112, align 8
%114 = call i64 @llvm.bswap.i64(i64 %113)
%115 = and i64 %110, 4294967295
%116 = add i64 %115, 2147418112
%117 = inttoptr i64 %116 to i64*
store i64 %114, i64* %117
br label %instr_0x0005DED8
instr_0x0005DED8: ; preds = %instr_0x0005DED4
%118 = getelementptr i8* %ppu_state, i32 776
%119 = bitcast i8* %118 to i64*
%120 = load i64* %119, align 8
%121 = add i64 %120, 184
%122 = getelementptr i8* %ppu_state, i32 1000
%123 = bitcast i8* %122 to i64*
%124 = load i64* %123, align 8
%125 = call i64 @llvm.bswap.i64(i64 %124)
%126 = and i64 %121, 4294967295
%127 = add i64 %126, 2147418112
%128 = inttoptr i64 %127 to i64*
store i64 %125, i64* %128
br label %instr_0x0005DEDC
instr_0x0005DEDC: ; preds = %instr_0x0005DED8
%129 = getelementptr i8* %ppu_state, i32 776
%130 = bitcast i8* %129 to i64*
%131 = load i64* %130, align 8
%132 = add i64 %131, 192
%133 = getelementptr i8* %ppu_state, i32 1008
%134 = bitcast i8* %133 to i64*
%135 = load i64* %134, align 8
%136 = call i64 @llvm.bswap.i64(i64 %135)
%137 = and i64 %132, 4294967295
%138 = add i64 %137, 2147418112
%139 = inttoptr i64 %138 to i64*
store i64 %136, i64* %139
br label %instr_0x0005DEE0
instr_0x0005DEE0: ; preds = %instr_0x0005DEDC
%140 = getelementptr i8* %ppu_state, i32 776
%141 = bitcast i8* %140 to i64*
%142 = load i64* %141, align 8
%143 = add i64 %142, 200
%144 = getelementptr i8* %ppu_state, i32 1016
%145 = bitcast i8* %144 to i64*
%146 = load i64* %145, align 8
%147 = call i64 @llvm.bswap.i64(i64 %146)
%148 = and i64 %143, 4294967295
%149 = add i64 %148, 2147418112
%150 = inttoptr i64 %149 to i64*
store i64 %147, i64* %150
br label %instr_0x0005DEE4
instr_0x0005DEE4: ; preds = %instr_0x0005DEE0
%151 = getelementptr i8* %ppu_state, i32 792
%152 = bitcast i8* %151 to i64*
%153 = load i64* %152, align 8
%154 = getelementptr i8* %ppu_state, i32 792
%155 = bitcast i8* %154 to i64*
%156 = load i64* %155, align 8
%157 = or i64 %153, %156
%158 = getelementptr i8* %ppu_state, i32 976
%159 = bitcast i8* %158 to i64*
store i64 %157, i64* %159, align 8
br label %instr_0x0005DEE8
instr_0x0005DEE8: ; preds = %instr_0x0005DEE4
%160 = getelementptr i8* %ppu_state, i32 800
%161 = bitcast i8* %160 to i64*
%162 = load i64* %161, align 8
%163 = getelementptr i8* %ppu_state, i32 800
%164 = bitcast i8* %163 to i64*
%165 = load i64* %164, align 8
%166 = or i64 %162, %165
%167 = getelementptr i8* %ppu_state, i32 928
%168 = bitcast i8* %167 to i64*
store i64 %166, i64* %168, align 8
br label %instr_0x0005DEEC
instr_0x0005DEEC: ; preds = %instr_0x0005DEE8
%169 = getelementptr i8* %ppu_state, i32 816
%170 = bitcast i8* %169 to i64*
%171 = load i64* %170, align 8
%172 = getelementptr i8* %ppu_state, i32 816
%173 = bitcast i8* %172 to i64*
%174 = load i64* %173, align 8
%175 = or i64 %171, %174
%176 = getelementptr i8* %ppu_state, i32 968
%177 = bitcast i8* %176 to i64*
store i64 %175, i64* %177, align 8
br label %instr_0x0005DEF0
instr_0x0005DEF0: ; preds = %instr_0x0005DEEC
%178 = getelementptr i8* %ppu_state, i32 824
%179 = bitcast i8* %178 to i64*
%180 = load i64* %179, align 8
%181 = getelementptr i8* %ppu_state, i32 824
%182 = bitcast i8* %181 to i64*
%183 = load i64* %182, align 8
%184 = or i64 %180, %183
%185 = getelementptr i8* %ppu_state, i32 952
%186 = bitcast i8* %185 to i64*
store i64 %184, i64* %186, align 8
br label %instr_0x0005DEF4
instr_0x0005DEF4: ; preds = %instr_0x0005DEF0
%187 = getelementptr i8* %ppu_state, i32 776
%188 = bitcast i8* %187 to i64*
%189 = load i64* %188, align 8
%190 = add i64 %189, 216
%191 = getelementptr i8* %ppu_state, i32 864
%192 = bitcast i8* %191 to i32*
%193 = load i32* %192, align 8
%194 = call i32 @llvm.bswap.i32(i32 %193)
%195 = and i64 %190, 4294967295
%196 = add i64 %195, 2147418112
%197 = inttoptr i64 %196 to i32*
store i32 %194, i32* %197
br label %instr_0x0005DEF8
instr_0x0005DEF8: ; preds = %instr_0x0005DEF4
%198 = getelementptr i8* %ppu_state, i32 1568
%199 = bitcast i8* %198 to i64*
%200 = load i64* %199, align 8
%201 = getelementptr i8* %ppu_state, i32 768
%202 = bitcast i8* %201 to i64*
store i64 %200, i64* %202, align 8
br label %instr_0x0005DEFC
instr_0x0005DEFC: ; preds = %instr_0x0005DEF8
%203 = getelementptr i8* %ppu_state, i32 776
%204 = bitcast i8* %203 to i64*
%205 = load i64* %204, align 8
%206 = add i64 %205, 224
%207 = getelementptr i8* %ppu_state, i32 768
%208 = bitcast i8* %207 to i64*
%209 = load i64* %208, align 8
%210 = call i64 @llvm.bswap.i64(i64 %209)
%211 = and i64 %206, 4294967295
%212 = add i64 %211, 2147418112
%213 = inttoptr i64 %212 to i64*
store i64 %210, i64* %213
br label %instr_0x0005DF00
instr_0x0005DF00: ; preds = %instr_0x0005DEFC
%214 = getelementptr i8* %ppu_state, i32 792
%215 = bitcast i8* %214 to i64*
%216 = load i64* %215, align 8
%217 = add i64 %216, 8
%218 = and i64 %217, 4294967295
%219 = add i64 %218, 2147418112
%220 = inttoptr i64 %219 to i32*
%221 = load i32* %220
%222 = call i32 @llvm.bswap.i32(i32 %221)
%223 = zext i32 %222 to i64
%224 = getelementptr i8* %ppu_state, i32 768
%225 = bitcast i8* %224 to i64*
store i64 %223, i64* %225, align 8
br label %instr_0x0005DF04
instr_0x0005DF04: ; preds = %instr_0x0005DF00
%226 = getelementptr i8* %ppu_state, i32 768
%227 = bitcast i8* %226 to i32*
%228 = load i32* %227, align 8
%229 = sext i32 %228 to i64
%230 = icmp slt i64 %229, 0
%231 = icmp sgt i64 %229, 0
%232 = icmp eq i64 %229, 0
%233 = getelementptr i8* %ppu_state, i32 1540
%234 = bitcast i8* %233 to i32*
%235 = load i32* %234, align 4
%236 = getelementptr i8* %ppu_state, i32 1544
%237 = bitcast i8* %236 to i64*
%238 = load i64* %237, align 8
%239 = lshr i64 %238, 31
%240 = and i64 %239, 1
%241 = and i32 %235, -16
%242 = zext i1 %230 to i32
%243 = shl i32 %242, 3
%244 = or i32 %241, %243
%245 = zext i1 %231 to i32
%246 = shl i32 %245, 2
%247 = or i32 %244, %246
%248 = zext i1 %232 to i32
%249 = shl i32 %248, 1
%250 = or i32 %247, %249
%251 = trunc i64 %240 to i32
%252 = or i32 %250, %251
%253 = getelementptr i8* %ppu_state, i32 1540
%254 = bitcast i8* %253 to i32*
store i32 %252, i32* %254, align 4
br label %instr_0x0005DF08
instr_0x0005DF08: ; preds = %instr_0x0005DF04
%255 = getelementptr i8* %ppu_state, i32 1576
%256 = bitcast i8* %255 to i64*
%257 = load i64* %256, align 8
%258 = getelementptr i8* %ppu_state, i32 1540
%259 = bitcast i8* %258 to i32*
%260 = load i32* %259, align 4
%261 = lshr i32 %260, 2
%262 = and i32 %261, 1
%263 = trunc i32 %262 to i1
%264 = xor i1 %263, true
br i1 %264, label %instr_0x0005E1F0, label %instr_0x0005DF0C
instr_0x0005DF0C: ; preds = %instr_0x0005DF08
%265 = getelementptr i8* %ppu_state, i32 808
%266 = bitcast i8* %265 to i64*
%267 = load i64* %266, align 8
%268 = getelementptr i8* %ppu_state, i32 832
%269 = bitcast i8* %268 to i64*
%270 = load i64* %269, align 8
%271 = add i64 %267, %270
%272 = getelementptr i8* %ppu_state, i32 768
%273 = bitcast i8* %272 to i64*
store i64 %271, i64* %273, align 8
br label %instr_0x0005DF10
instr_0x0005DF10: ; preds = %instr_0x0005DF0C
%274 = getelementptr i8* %ppu_state, i32 936
%275 = bitcast i8* %274 to i64*
store i64 0, i64* %275, align 8
br label %instr_0x0005DF14
instr_0x0005DF14: ; preds = %instr_0x0005DF10
%276 = getelementptr i8* %ppu_state, i32 768
%277 = bitcast i8* %276 to i32*
%278 = load i32* %277, align 8
%279 = getelementptr i8* %ppu_state, i32 816
%280 = bitcast i8* %279 to i32*
%281 = load i32* %280, align 8
%282 = sdiv i32 %278, %281
%283 = zext i32 %282 to i64
%284 = getelementptr i8* %ppu_state, i32 944
%285 = bitcast i8* %284 to i64*
store i64 %283, i64* %285, align 8
br label %instr_0x0005DF18
instr_0x0005DF18: ; preds = %instr_0x0005DF14
%286 = getelementptr i8* %ppu_state, i32 808
%287 = bitcast i8* %286 to i32*
%288 = load i32* %287, align 8
%289 = getelementptr i8* %ppu_state, i32 816
%290 = bitcast i8* %289 to i32*
%291 = load i32* %290, align 8
%292 = sdiv i32 %288, %291
%293 = zext i32 %292 to i64
%294 = getelementptr i8* %ppu_state, i32 960
%295 = bitcast i8* %294 to i64*
store i64 %293, i64* %295, align 8
br label %instr_0x0005DF1C
instr_0x0005DF1C: ; preds = %instr_0x0005DF18
%296 = getelementptr i8* %ppu_state, i32 944
%297 = bitcast i8* %296 to i32*
%298 = load i32* %297, align 8
%299 = sext i32 %298 to i64
%300 = getelementptr i8* %ppu_state, i32 960
%301 = bitcast i8* %300 to i32*
%302 = load i32* %301, align 8
%303 = sext i32 %302 to i64
%304 = icmp slt i64 %299, %303
%305 = icmp sgt i64 %299, %303
%306 = icmp eq i64 %299, %303
%307 = getelementptr i8* %ppu_state, i32 1540
%308 = bitcast i8* %307 to i32*
%309 = load i32* %308, align 4
%310 = getelementptr i8* %ppu_state, i32 1544
%311 = bitcast i8* %310 to i64*
%312 = load i64* %311, align 8
%313 = lshr i64 %312, 31
%314 = and i64 %313, 1
%315 = and i32 %309, -61441
%316 = zext i1 %304 to i32
%317 = shl i32 %316, 15
%318 = or i32 %315, %317
%319 = zext i1 %305 to i32
%320 = shl i32 %319, 14
%321 = or i32 %318, %320
%322 = zext i1 %306 to i32
%323 = shl i32 %322, 13
%324 = or i32 %321, %323
%325 = trunc i64 %314 to i32
%326 = shl i32 %325, 12
%327 = or i32 %324, %326
%328 = getelementptr i8* %ppu_state, i32 1540
%329 = bitcast i8* %328 to i32*
store i32 %327, i32* %329, align 4
br label %instr_0x0005DF20
instr_0x0005DF20: ; preds = %instr_0x0005E000, %instr_0x0005DFAC, %instr_0x0005DF1C
%330 = getelementptr i8* %ppu_state, i32 1576
%331 = bitcast i8* %330 to i64*
%332 = load i64* %331, align 8
%333 = getelementptr i8* %ppu_state, i32 1540
%334 = bitcast i8* %333 to i32*
%335 = load i32* %334, align 4
%336 = lshr i32 %335, 14
%337 = and i32 %336, 1
%338 = trunc i32 %337 to i1
%339 = xor i1 %338, true
br i1 %339, label %instr_0x0005E1F0, label %instr_0x0005DF24
instr_0x0005DF24: ; preds = %instr_0x0005DF20
%340 = getelementptr i8* %ppu_state, i32 976
%341 = bitcast i8* %340 to i64*
%342 = load i64* %341, align 8
%343 = add i64 %342, 36
%344 = and i64 %343, 4294967295
%345 = add i64 %344, 2147418112
%346 = inttoptr i64 %345 to i32*
%347 = load i32* %346
%348 = call i32 @llvm.bswap.i32(i32 %347)
%349 = zext i32 %348 to i64
%350 = getelementptr i8* %ppu_state, i32 800
%351 = bitcast i8* %350 to i64*
store i64 %349, i64* %351, align 8
br label %instr_0x0005DF28
instr_0x0005DF28: ; preds = %instr_0x0005DF24
%352 = getelementptr i8* %ppu_state, i32 952
%353 = bitcast i8* %352 to i64*
%354 = load i64* %353, align 8
%355 = and i64 %354, 4294967295
%356 = getelementptr i8* %ppu_state, i32 984
%357 = bitcast i8* %356 to i64*
store i64 %355, i64* %357, align 8
br label %instr_0x0005DF2C
instr_0x0005DF2C: ; preds = %instr_0x0005DF28
%358 = getelementptr i8* %ppu_state, i32 976
%359 = bitcast i8* %358 to i64*
%360 = load i64* %359, align 8
%361 = add i64 %360, 40
%362 = and i64 %361, 4294967295
%363 = add i64 %362, 2147418112
%364 = inttoptr i64 %363 to i32*
%365 = load i32* %364
%366 = call i32 @llvm.bswap.i32(i32 %365)
%367 = zext i32 %366 to i64
%368 = getelementptr i8* %ppu_state, i32 1016
%369 = bitcast i8* %368 to i64*
store i64 %367, i64* %369, align 8
br label %instr_0x0005DF30
instr_0x0005DF30: ; preds = %instr_0x0005DF2C
%370 = getelementptr i8* %ppu_state, i32 800
%371 = bitcast i8* %370 to i32*
%372 = load i32* %371, align 8
%373 = sext i32 %372 to i64
%374 = getelementptr i8* %ppu_state, i32 800
%375 = bitcast i8* %374 to i64*
store i64 %373, i64* %375, align 8
br label %instr_0x0005DF34
instr_0x0005DF34: ; preds = %instr_0x0005DF30
%376 = getelementptr i8* %ppu_state, i32 984
%377 = bitcast i8* %376 to i64*
%378 = load i64* %377, align 8
%379 = getelementptr i8* %ppu_state, i32 984
%380 = bitcast i8* %379 to i64*
%381 = load i64* %380, align 8
%382 = or i64 %378, %381
%383 = getelementptr i8* %ppu_state, i32 792
%384 = bitcast i8* %383 to i64*
store i64 %382, i64* %384, align 8
br label %instr_0x0005DF38
instr_0x0005DF38: ; preds = %instr_0x0005DF34
%385 = getelementptr i8* %ppu_state, i32 1568
%386 = bitcast i8* %385 to i64*
store i64 384828, i64* %386, align 8
%387 = getelementptr i8* %ppu_state, i32 1664
%388 = bitcast i8* %387 to i32*
store i32 367036, i32* %388, align 4
%389 = load i64* inttoptr (i64 8623094872 to i64*)
%390 = inttoptr i64 %389 to i32 (i8*, i64)*
%391 = call i32 %390(i8* %ppu_state, i64 0)
%392 = icmp eq i32 %391, -1
br i1 %392, label %instr_0x0005DF38_then_all_fs, label %instr_0x0005DF38_merge_all_fs
instr_0x0005DF38_then_all_fs: ; preds = %instr_0x0005DF38
ret i32 0
instr_0x0005DF38_merge_all_fs: ; preds = %instr_0x0005DF38
br label %instr_0x0005DF3C
instr_0x0005DF3C: ; preds = %instr_0x0005DF38_merge_all_fs
%393 = getelementptr i8* %ppu_state, i32 768
%394 = bitcast i8* %393 to i64*
%395 = load i64* %394, align 8
%396 = getelementptr i8* %ppu_state, i32 768
%397 = bitcast i8* %396 to i64*
store i64 %395, i64* %397, align 8
br label %instr_0x0005DF40
instr_0x0005DF40: ; preds = %instr_0x0005DF3C
%398 = getelementptr i8* %ppu_state, i32 792
%399 = bitcast i8* %398 to i32*
%400 = load i32* %399, align 8
%401 = sext i32 %400 to i64
%402 = icmp slt i64 %401, 0
%403 = icmp sgt i64 %401, 0
%404 = icmp eq i64 %401, 0
%405 = getelementptr i8* %ppu_state, i32 1540
%406 = bitcast i8* %405 to i32*
%407 = load i32* %406, align 4
%408 = getelementptr i8* %ppu_state, i32 1544
%409 = bitcast i8* %408 to i64*
%410 = load i64* %409, align 8
%411 = lshr i64 %410, 31
%412 = and i64 %411, 1
%413 = and i32 %407, -16
%414 = zext i1 %402 to i32
%415 = shl i32 %414, 3
%416 = or i32 %413, %415
%417 = zext i1 %403 to i32
%418 = shl i32 %417, 2
%419 = or i32 %416, %418
%420 = zext i1 %404 to i32
%421 = shl i32 %420, 1
%422 = or i32 %419, %421
%423 = trunc i64 %412 to i32
%424 = or i32 %422, %423
%425 = getelementptr i8* %ppu_state, i32 1540
%426 = bitcast i8* %425 to i32*
store i32 %424, i32* %426, align 4
br label %instr_0x0005DF44
instr_0x0005DF44: ; preds = %instr_0x0005DF40
%427 = getelementptr i8* %ppu_state, i32 1576
%428 = bitcast i8* %427 to i64*
%429 = load i64* %428, align 8
%430 = getelementptr i8* %ppu_state, i32 1540
%431 = bitcast i8* %430 to i32*
%432 = load i32* %431, align 4
%433 = lshr i32 %432, 3
%434 = and i32 %433, 1
%435 = trunc i32 %434 to i1
br i1 %435, label %instr_0x0005E1D4, label %instr_0x0005DF48
instr_0x0005DF48: ; preds = %instr_0x0005DF44
%436 = getelementptr i8* %ppu_state, i32 792
%437 = bitcast i8* %436 to i32*
%438 = load i32* %437, align 8
%439 = zext i32 %438 to i64
%440 = shl i64 %439, 32
%441 = or i64 %439, %440
%442 = lshr i64 %441, 62
%443 = shl i64 %441, 2
%444 = or i64 %443, %442
%445 = and i64 %444, 4294967292
%446 = getelementptr i8* %ppu_state, i32 840
%447 = bitcast i8* %446 to i64*
store i64 %445, i64* %447, align 8
br label %instr_0x0005DF4C
instr_0x0005DF4C: ; preds = %instr_0x0005DF48
%448 = getelementptr i8* %ppu_state, i32 976
%449 = bitcast i8* %448 to i64*
%450 = load i64* %449, align 8
%451 = add i64 %450, 32
%452 = and i64 %451, 4294967295
%453 = add i64 %452, 2147418112
%454 = inttoptr i64 %453 to i32*
%455 = load i32* %454
%456 = call i32 @llvm.bswap.i32(i32 %455)
%457 = zext i32 %456 to i64
%458 = getelementptr i8* %ppu_state, i32 768
%459 = bitcast i8* %458 to i64*
store i64 %457, i64* %459, align 8
br label %instr_0x0005DF50
instr_0x0005DF50: ; preds = %instr_0x0005DF4C
%460 = getelementptr i8* %ppu_state, i32 840
%461 = bitcast i8* %460 to i64*
%462 = load i64* %461, align 8
%463 = getelementptr i8* %ppu_state, i32 768
%464 = bitcast i8* %463 to i64*
%465 = load i64* %464, align 8
%466 = add i64 %462, %465
%467 = getelementptr i8* %ppu_state, i32 840
%468 = bitcast i8* %467 to i64*
store i64 %466, i64* %468, align 8
br label %instr_0x0005DF54
instr_0x0005DF54: ; preds = %instr_0x0005DF50
%469 = getelementptr i8* %ppu_state, i32 840
%470 = bitcast i8* %469 to i64*
%471 = load i64* %470, align 8
%472 = and i64 %471, 4294967295
%473 = getelementptr i8* %ppu_state, i32 840
%474 = bitcast i8* %473 to i64*
store i64 %472, i64* %474, align 8
br label %instr_0x0005DF58
instr_0x0005DF58: ; preds = %instr_0x0005DF54
%475 = getelementptr i8* %ppu_state, i32 840
%476 = bitcast i8* %475 to i64*
%477 = load i64* %476, align 8
%478 = add i64 %477, 0
%479 = and i64 %478, 4294967295
%480 = add i64 %479, 2147418112
%481 = inttoptr i64 %480 to i32*
%482 = load i32* %481
%483 = call i32 @llvm.bswap.i32(i32 %482)
%484 = zext i32 %483 to i64
%485 = getelementptr i8* %ppu_state, i32 856
%486 = bitcast i8* %485 to i64*
store i64 %484, i64* %486, align 8
br label %instr_0x0005DF5C
instr_0x0005DF5C: ; preds = %instr_0x0005DF58
%487 = getelementptr i8* %ppu_state, i32 856
%488 = bitcast i8* %487 to i32*
%489 = load i32* %488, align 8
%490 = sext i32 %489 to i64
%491 = icmp slt i64 %490, 0
%492 = icmp sgt i64 %490, 0
%493 = icmp eq i64 %490, 0
%494 = getelementptr i8* %ppu_state, i32 1540
%495 = bitcast i8* %494 to i32*
%496 = load i32* %495, align 4
%497 = getelementptr i8* %ppu_state, i32 1544
%498 = bitcast i8* %497 to i64*
%499 = load i64* %498, align 8
%500 = lshr i64 %499, 31
%501 = and i64 %500, 1
%502 = and i32 %496, -16
%503 = zext i1 %491 to i32
%504 = shl i32 %503, 3
%505 = or i32 %502, %504
%506 = zext i1 %492 to i32
%507 = shl i32 %506, 2
%508 = or i32 %505, %507
%509 = zext i1 %493 to i32
%510 = shl i32 %509, 1
%511 = or i32 %508, %510
%512 = trunc i64 %501 to i32
%513 = or i32 %511, %512
%514 = getelementptr i8* %ppu_state, i32 1540
%515 = bitcast i8* %514 to i32*
store i32 %513, i32* %515, align 4
br label %instr_0x0005DF60
instr_0x0005DF60: ; preds = %instr_0x0005DF5C
%516 = getelementptr i8* %ppu_state, i32 1576
%517 = bitcast i8* %516 to i64*
%518 = load i64* %517, align 8
%519 = getelementptr i8* %ppu_state, i32 1540
%520 = bitcast i8* %519 to i32*
%521 = load i32* %520, align 4
%522 = lshr i32 %521, 3
%523 = and i32 %522, 1
%524 = trunc i32 %523 to i1
br i1 %524, label %instr_0x0005E004, label %instr_0x0005DF64
instr_0x0005DF64: ; preds = %instr_0x0005DF60
%525 = getelementptr i8* %ppu_state, i32 976
%526 = bitcast i8* %525 to i64*
%527 = load i64* %526, align 8
%528 = add i64 %527, 28
%529 = and i64 %528, 4294967295
%530 = add i64 %529, 2147418112
%531 = inttoptr i64 %530 to i32*
%532 = load i32* %531
%533 = call i32 @llvm.bswap.i32(i32 %532)
%534 = zext i32 %533 to i64
%535 = getelementptr i8* %ppu_state, i32 840
%536 = bitcast i8* %535 to i64*
store i64 %534, i64* %536, align 8
br label %instr_0x0005DF68
instr_0x0005DF68: ; preds = %instr_0x0005DF64
%537 = getelementptr i8* %ppu_state, i32 984
%538 = bitcast i8* %537 to i64*
%539 = load i64* %538, align 8
%540 = getelementptr i8* %ppu_state, i32 984
%541 = bitcast i8* %540 to i64*
%542 = load i64* %541, align 8
%543 = or i64 %539, %542
%544 = getelementptr i8* %ppu_state, i32 792
%545 = bitcast i8* %544 to i64*
store i64 %543, i64* %545, align 8
br label %instr_0x0005DF6C
instr_0x0005DF6C: ; preds = %instr_0x0005DF68
%546 = getelementptr i8* %ppu_state, i32 856
%547 = bitcast i8* %546 to i64*
%548 = load i64* %547, align 8
%549 = add i64 %548, -1
%550 = getelementptr i8* %ppu_state, i32 1008
%551 = bitcast i8* %550 to i64*
store i64 %549, i64* %551, align 8
br label %instr_0x0005DF70
instr_0x0005DF70: ; preds = %instr_0x0005DF6C
%552 = getelementptr i8* %ppu_state, i32 856
%553 = bitcast i8* %552 to i64*
%554 = load i64* %553, align 8
%555 = getelementptr i8* %ppu_state, i32 840
%556 = bitcast i8* %555 to i64*
%557 = load i64* %556, align 8
%558 = add i64 %554, %557
%559 = getelementptr i8* %ppu_state, i32 840
%560 = bitcast i8* %559 to i64*
store i64 %558, i64* %560, align 8
br label %instr_0x0005DF74
instr_0x0005DF74: ; preds = %instr_0x0005DF70
%561 = getelementptr i8* %ppu_state, i32 840
%562 = bitcast i8* %561 to i64*
%563 = load i64* %562, align 8
%564 = add i64 %563, -1
%565 = getelementptr i8* %ppu_state, i32 840
%566 = bitcast i8* %565 to i64*
store i64 %564, i64* %566, align 8
br label %instr_0x0005DF78
instr_0x0005DF78: ; preds = %instr_0x0005DF74
%567 = getelementptr i8* %ppu_state, i32 840
%568 = bitcast i8* %567 to i64*
%569 = load i64* %568, align 8
%570 = and i64 %569, 4294967295
%571 = getelementptr i8* %ppu_state, i32 840
%572 = bitcast i8* %571 to i64*
store i64 %570, i64* %572, align 8
br label %instr_0x0005DF7C
instr_0x0005DF7C: ; preds = %instr_0x0005DF78
%573 = getelementptr i8* %ppu_state, i32 840
%574 = bitcast i8* %573 to i64*
%575 = load i64* %574, align 8
%576 = add i64 %575, 0
%577 = and i64 %576, 4294967295
%578 = add i64 %577, 2147418112
%579 = inttoptr i64 %578 to i8*
%580 = load i8* %579
%581 = zext i8 %580 to i64
%582 = getelementptr i8* %ppu_state, i32 800
%583 = bitcast i8* %582 to i64*
store i64 %581, i64* %583, align 8
br label %instr_0x0005DF80
instr_0x0005DF80: ; preds = %instr_0x0005DF7C
%584 = getelementptr i8* %ppu_state, i32 800
%585 = load i8* %584, align 8
%586 = sext i8 %585 to i64
%587 = getelementptr i8* %ppu_state, i32 800
%588 = bitcast i8* %587 to i64*
store i64 %586, i64* %588, align 8
br label %instr_0x0005DF84
instr_0x0005DF84: ; preds = %instr_0x0005DF80
%589 = getelementptr i8* %ppu_state, i32 1568
%590 = bitcast i8* %589 to i64*
store i64 384904, i64* %590, align 8
%591 = getelementptr i8* %ppu_state, i32 1664
%592 = bitcast i8* %591 to i32*
store i32 367548, i32* %592, align 4
%593 = load i64* inttoptr (i64 8623094872 to i64*)
%594 = inttoptr i64 %593 to i32 (i8*, i64)*
%595 = call i32 %594(i8* %ppu_state, i64 0)
%596 = icmp eq i32 %595, -1
br i1 %596, label %instr_0x0005DF84_then_all_fs, label %instr_0x0005DF84_merge_all_fs
instr_0x0005DF84_then_all_fs: ; preds = %instr_0x0005DF84
ret i32 0
instr_0x0005DF84_merge_all_fs: ; preds = %instr_0x0005DF84
br label %instr_0x0005DF88
instr_0x0005DF88: ; preds = %instr_0x0005DF84_merge_all_fs
%597 = getelementptr i8* %ppu_state, i32 768
%598 = bitcast i8* %597 to i64*
%599 = load i64* %598, align 8
%600 = getelementptr i8* %ppu_state, i32 768
%601 = bitcast i8* %600 to i64*
store i64 %599, i64* %601, align 8
br label %instr_0x0005DF8C
instr_0x0005DF8C: ; preds = %instr_0x0005E180, %instr_0x0005DF88
%602 = getelementptr i8* %ppu_state, i32 1008
%603 = bitcast i8* %602 to i32*
%604 = load i32* %603, align 8
%605 = sext i32 %604 to i64
%606 = icmp slt i64 %605, -1
%607 = icmp sgt i64 %605, -1
%608 = icmp eq i64 %605, -1
%609 = getelementptr i8* %ppu_state, i32 1540
%610 = bitcast i8* %609 to i32*
%611 = load i32* %610, align 4
%612 = getelementptr i8* %ppu_state, i32 1544
%613 = bitcast i8* %612 to i64*
%614 = load i64* %613, align 8
%615 = lshr i64 %614, 31
%616 = and i64 %615, 1
%617 = and i32 %611, -16
%618 = zext i1 %606 to i32
%619 = shl i32 %618, 3
%620 = or i32 %617, %619
%621 = zext i1 %607 to i32
%622 = shl i32 %621, 2
%623 = or i32 %620, %622
%624 = zext i1 %608 to i32
%625 = shl i32 %624, 1
%626 = or i32 %623, %625
%627 = trunc i64 %616 to i32
%628 = or i32 %626, %627
%629 = getelementptr i8* %ppu_state, i32 1540
%630 = bitcast i8* %629 to i32*
store i32 %628, i32* %630, align 4
br label %instr_0x0005DF90
instr_0x0005DF90: ; preds = %instr_0x0005DF8C
%631 = getelementptr i8* %ppu_state, i32 1576
%632 = bitcast i8* %631 to i64*
%633 = load i64* %632, align 8
%634 = getelementptr i8* %ppu_state, i32 1540
%635 = bitcast i8* %634 to i32*
%636 = load i32* %635, align 4
%637 = lshr i32 %636, 1
%638 = and i32 %637, 1
%639 = trunc i32 %638 to i1
br i1 %639, label %instr_0x0005E184, label %instr_0x0005DF94
instr_0x0005DF94: ; preds = %instr_0x0005DF90
%640 = getelementptr i8* %ppu_state, i32 976
%641 = bitcast i8* %640 to i64*
%642 = load i64* %641, align 8
%643 = add i64 %642, 0
%644 = and i64 %643, 4294967295
%645 = add i64 %644, 2147418112
%646 = inttoptr i64 %645 to i32*
%647 = load i32* %646
%648 = call i32 @llvm.bswap.i32(i32 %647)
%649 = zext i32 %648 to i64
%650 = getelementptr i8* %ppu_state, i32 856
%651 = bitcast i8* %650 to i64*
store i64 %649, i64* %651, align 8
br label %instr_0x0005DF98
instr_0x0005DF98: ; preds = %instr_0x0005DF94
%652 = getelementptr i8* %ppu_state, i32 976
%653 = bitcast i8* %652 to i64*
%654 = load i64* %653, align 8
%655 = add i64 %654, 16
%656 = and i64 %655, 4294967295
%657 = add i64 %656, 2147418112
%658 = inttoptr i64 %657 to i32*
%659 = load i32* %658
%660 = call i32 @llvm.bswap.i32(i32 %659)
%661 = zext i32 %660 to i64
%662 = getelementptr i8* %ppu_state, i32 768
%663 = bitcast i8* %662 to i64*
store i64 %661, i64* %663, align 8
br label %instr_0x0005DF9C
instr_0x0005DF9C: ; preds = %instr_0x0005DF98
%664 = getelementptr i8* %ppu_state, i32 856
%665 = bitcast i8* %664 to i32*
%666 = load i32* %665, align 8
%667 = sext i32 %666 to i64
%668 = icmp slt i64 %667, 0
%669 = icmp sgt i64 %667, 0
%670 = icmp eq i64 %667, 0
%671 = getelementptr i8* %ppu_state, i32 1540
%672 = bitcast i8* %671 to i32*
%673 = load i32* %672, align 4
%674 = getelementptr i8* %ppu_state, i32 1544
%675 = bitcast i8* %674 to i64*
%676 = load i64* %675, align 8
%677 = lshr i64 %676, 31
%678 = and i64 %677, 1
%679 = and i32 %673, -16
%680 = zext i1 %668 to i32
%681 = shl i32 %680, 3
%682 = or i32 %679, %681
%683 = zext i1 %669 to i32
%684 = shl i32 %683, 2
%685 = or i32 %682, %684
%686 = zext i1 %670 to i32
%687 = shl i32 %686, 1
%688 = or i32 %685, %687
%689 = trunc i64 %678 to i32
%690 = or i32 %688, %689
%691 = getelementptr i8* %ppu_state, i32 1540
%692 = bitcast i8* %691 to i32*
store i32 %690, i32* %692, align 4
br label %instr_0x0005DFA0
instr_0x0005DFA0: ; preds = %instr_0x0005DF9C
%693 = getelementptr i8* %ppu_state, i32 1008
%694 = bitcast i8* %693 to i32*
%695 = load i32* %694, align 8
%696 = getelementptr i8* %ppu_state, i32 856
%697 = bitcast i8* %696 to i32*
%698 = load i32* %697, align 8
%699 = sext i32 %695 to i64
%700 = sext i32 %698 to i64
%701 = mul i64 %699, %700
%702 = getelementptr i8* %ppu_state, i32 840
%703 = bitcast i8* %702 to i64*
store i64 %701, i64* %703, align 8
br label %instr_0x0005DFA4
instr_0x0005DFA4: ; preds = %instr_0x0005DFA0
%704 = getelementptr i8* %ppu_state, i32 840
%705 = bitcast i8* %704 to i32*
%706 = load i32* %705, align 8
%707 = zext i32 %706 to i64
%708 = shl i64 %707, 32
%709 = or i64 %707, %708
%710 = lshr i64 %709, 62
%711 = shl i64 %709, 2
%712 = or i64 %711, %710
%713 = and i64 %712, 4294967292
%714 = getelementptr i8* %ppu_state, i32 840
%715 = bitcast i8* %714 to i64*
store i64 %713, i64* %715, align 8
br label %instr_0x0005DFA8
instr_0x0005DFA8: ; preds = %instr_0x0005DFA4
%716 = getelementptr i8* %ppu_state, i32 840
%717 = bitcast i8* %716 to i64*
%718 = load i64* %717, align 8
%719 = getelementptr i8* %ppu_state, i32 768
%720 = bitcast i8* %719 to i64*
%721 = load i64* %720, align 8
%722 = add i64 %718, %721
%723 = getelementptr i8* %ppu_state, i32 792
%724 = bitcast i8* %723 to i64*
store i64 %722, i64* %724, align 8
br label %instr_0x0005DFAC
instr_0x0005DFAC: ; preds = %instr_0x0005DFA8
%725 = getelementptr i8* %ppu_state, i32 1576
%726 = bitcast i8* %725 to i64*
%727 = load i64* %726, align 8
%728 = getelementptr i8* %ppu_state, i32 1540
%729 = bitcast i8* %728 to i32*
%730 = load i32* %729, align 4
%731 = lshr i32 %730, 2
%732 = and i32 %731, 1
%733 = trunc i32 %732 to i1
%734 = xor i1 %733, true
br i1 %734, label %instr_0x0005DF20, label %instr_0x0005DFB0
instr_0x0005DFB0: ; preds = %instr_0x0005DFAC
%735 = getelementptr i8* %ppu_state, i32 856
%736 = bitcast i8* %735 to i64*
%737 = load i64* %736, align 8
%738 = and i64 %737, 4294967295
%739 = getelementptr i8* %ppu_state, i32 856
%740 = bitcast i8* %739 to i64*
store i64 %738, i64* %740, align 8
br label %instr_0x0005DFB4
instr_0x0005DFB4: ; preds = %instr_0x0005DFB0
%741 = getelementptr i8* %ppu_state, i32 856
%742 = bitcast i8* %741 to i64*
%743 = load i64* %742, align 8
%744 = getelementptr i8* %ppu_state, i32 1576
%745 = bitcast i8* %744 to i64*
store i64 %743, i64* %745, align 8
br label %instr_0x0005DFB8
instr_0x0005DFB8: ; preds = %instr_0x0005E1EC, %instr_0x0005DFF8, %instr_0x0005DFB4
%746 = getelementptr i8* %ppu_state, i32 936
%747 = bitcast i8* %746 to i32*
%748 = load i32* %747, align 8
%749 = zext i32 %748 to i64
%750 = shl i64 %749, 32
%751 = or i64 %749, %750
%752 = lshr i64 %751, 62
%753 = shl i64 %751, 2
%754 = or i64 %753, %752
%755 = and i64 %754, 4294967292
%756 = getelementptr i8* %ppu_state, i32 840
%757 = bitcast i8* %756 to i64*
store i64 %755, i64* %757, align 8
br label %instr_0x0005DFBC
instr_0x0005DFBC: ; preds = %instr_0x0005DFB8
%758 = getelementptr i8* %ppu_state, i32 960
%759 = bitcast i8* %758 to i32*
%760 = load i32* %759, align 8
%761 = zext i32 %760 to i64
%762 = shl i64 %761, 32
%763 = or i64 %761, %762
%764 = lshr i64 %763, 62
%765 = shl i64 %763, 2
%766 = or i64 %765, %764
%767 = and i64 %766, 4294967292
%768 = getelementptr i8* %ppu_state, i32 856
%769 = bitcast i8* %768 to i64*
store i64 %767, i64* %769, align 8
br label %instr_0x0005DFC0
instr_0x0005DFC0: ; preds = %instr_0x0005DFBC
%770 = getelementptr i8* %ppu_state, i32 840
%771 = bitcast i8* %770 to i64*
%772 = load i64* %771, align 8
%773 = getelementptr i8* %ppu_state, i32 928
%774 = bitcast i8* %773 to i64*
%775 = load i64* %774, align 8
%776 = add i64 %772, %775
%777 = getelementptr i8* %ppu_state, i32 840
%778 = bitcast i8* %777 to i64*
store i64 %776, i64* %778, align 8
br label %instr_0x0005DFC4
instr_0x0005DFC4: ; preds = %instr_0x0005DFC0
%779 = getelementptr i8* %ppu_state, i32 792
%780 = bitcast i8* %779 to i64*
%781 = load i64* %780, align 8
%782 = and i64 %781, 4294967295
%783 = getelementptr i8* %ppu_state, i32 848
%784 = bitcast i8* %783 to i64*
store i64 %782, i64* %784, align 8
br label %instr_0x0005DFC8
instr_0x0005DFC8: ; preds = %instr_0x0005DFC4
%785 = getelementptr i8* %ppu_state, i32 840
%786 = bitcast i8* %785 to i64*
%787 = load i64* %786, align 8
%788 = and i64 %787, 4294967295
%789 = getelementptr i8* %ppu_state, i32 840
%790 = bitcast i8* %789 to i64*
store i64 %788, i64* %790, align 8
br label %instr_0x0005DFCC
instr_0x0005DFCC: ; preds = %instr_0x0005DFC8
%791 = getelementptr i8* %ppu_state, i32 936
%792 = bitcast i8* %791 to i64*
%793 = load i64* %792, align 8
%794 = add i64 %793, 1
%795 = getelementptr i8* %ppu_state, i32 936
%796 = bitcast i8* %795 to i64*
store i64 %794, i64* %796, align 8
br label %instr_0x0005DFD0
instr_0x0005DFD0: ; preds = %instr_0x0005DFCC
%797 = getelementptr i8* %ppu_state, i32 792
%798 = bitcast i8* %797 to i64*
%799 = load i64* %798, align 8
%800 = add i64 %799, 4
%801 = getelementptr i8* %ppu_state, i32 792
%802 = bitcast i8* %801 to i64*
store i64 %800, i64* %802, align 8
br label %instr_0x0005DFD4
instr_0x0005DFD4: ; preds = %instr_0x0005DFD0
%803 = getelementptr i8* %ppu_state, i32 968
%804 = bitcast i8* %803 to i32*
%805 = load i32* %804, align 8
%806 = sext i32 %805 to i64
%807 = getelementptr i8* %ppu_state, i32 936
%808 = bitcast i8* %807 to i32*
%809 = load i32* %808, align 8
%810 = sext i32 %809 to i64
%811 = icmp slt i64 %806, %810
%812 = icmp sgt i64 %806, %810
%813 = icmp eq i64 %806, %810
%814 = getelementptr i8* %ppu_state, i32 1540
%815 = bitcast i8* %814 to i32*
%816 = load i32* %815, align 4
%817 = getelementptr i8* %ppu_state, i32 1544
%818 = bitcast i8* %817 to i64*
%819 = load i64* %818, align 8
%820 = lshr i64 %819, 31
%821 = and i64 %820, 1
%822 = and i32 %816, -16
%823 = zext i1 %811 to i32
%824 = shl i32 %823, 3
%825 = or i32 %822, %824
%826 = zext i1 %812 to i32
%827 = shl i32 %826, 2
%828 = or i32 %825, %827
%829 = zext i1 %813 to i32
%830 = shl i32 %829, 1
%831 = or i32 %828, %830
%832 = trunc i64 %821 to i32
%833 = or i32 %831, %832
%834 = getelementptr i8* %ppu_state, i32 1540
%835 = bitcast i8* %834 to i32*
store i32 %833, i32* %835, align 4
br label %instr_0x0005DFD8
instr_0x0005DFD8: ; preds = %instr_0x0005DFD4
%836 = getelementptr i8* %ppu_state, i32 848
%837 = bitcast i8* %836 to i64*
%838 = load i64* %837, align 8
%839 = add i64 %838, 0
%840 = and i64 %839, 4294967295
%841 = add i64 %840, 2147418112
%842 = inttoptr i64 %841 to i32*
%843 = load i32* %842
%844 = call i32 @llvm.bswap.i32(i32 %843)
%845 = getelementptr i8* %ppu_state, i32 456
%846 = bitcast i8* %845 to double*
%847 = bitcast i32 %844 to float
%848 = fpext float %847 to double
store double %848, double* %846, align 8
br label %instr_0x0005DFDC
instr_0x0005DFDC: ; preds = %instr_0x0005DFD8
%849 = getelementptr i8* %ppu_state, i32 840
%850 = bitcast i8* %849 to i64*
%851 = load i64* %850, align 8
%852 = add i64 %851, 0
%853 = and i64 %852, 4294967295
%854 = add i64 %853, 2147418112
%855 = inttoptr i64 %854 to i32*
%856 = load i32* %855
%857 = call i32 @llvm.bswap.i32(i32 %856)
%858 = zext i32 %857 to i64
%859 = getelementptr i8* %ppu_state, i32 768
%860 = bitcast i8* %859 to i64*
store i64 %858, i64* %860, align 8
br label %instr_0x0005DFE0
instr_0x0005DFE0: ; preds = %instr_0x0005DFDC
%861 = getelementptr i8* %ppu_state, i32 856
%862 = bitcast i8* %861 to i64*
%863 = load i64* %862, align 8
%864 = getelementptr i8* %ppu_state, i32 768
%865 = bitcast i8* %864 to i64*
%866 = load i64* %865, align 8
%867 = add i64 %863, %866
%868 = getelementptr i8* %ppu_state, i32 856
%869 = bitcast i8* %868 to i64*
store i64 %867, i64* %869, align 8
br label %instr_0x0005DFE4
instr_0x0005DFE4: ; preds = %instr_0x0005DFE0
%870 = getelementptr i8* %ppu_state, i32 856
%871 = bitcast i8* %870 to i64*
%872 = load i64* %871, align 8
%873 = and i64 %872, 4294967295
%874 = getelementptr i8* %ppu_state, i32 856
%875 = bitcast i8* %874 to i64*
store i64 %873, i64* %875, align 8
br label %instr_0x0005DFE8
instr_0x0005DFE8: ; preds = %instr_0x0005DFE4
%876 = getelementptr i8* %ppu_state, i32 856
%877 = bitcast i8* %876 to i64*
%878 = load i64* %877, align 8
%879 = add i64 %878, 0
%880 = and i64 %879, 4294967295
%881 = add i64 %880, 2147418112
%882 = inttoptr i64 %881 to i32*
%883 = load i32* %882
%884 = call i32 @llvm.bswap.i32(i32 %883)
%885 = getelementptr i8* %ppu_state, i32 248
%886 = bitcast i8* %885 to double*
%887 = bitcast i32 %884 to float
%888 = fpext float %887 to double
store double %888, double* %886, align 8
br label %instr_0x0005DFEC
instr_0x0005DFEC: ; preds = %instr_0x0005DFE8
%889 = getelementptr i8* %ppu_state, i32 248
%890 = bitcast i8* %889 to double*
%891 = load double* %890, align 8
%892 = getelementptr i8* %ppu_state, i32 456
%893 = bitcast i8* %892 to double*
%894 = load double* %893, align 8
%895 = fadd double %891, %894
%896 = fptrunc double %895 to float
%897 = getelementptr i8* %ppu_state, i32 248
%898 = bitcast i8* %897 to double*
%899 = fpext float %896 to double
store double %899, double* %898, align 8
br label %instr_0x0005DFF0
instr_0x0005DFF0: ; preds = %instr_0x0005DFEC
%900 = getelementptr i8* %ppu_state, i32 856
%901 = bitcast i8* %900 to i64*
%902 = load i64* %901, align 8
%903 = add i64 %902, 0
%904 = getelementptr i8* %ppu_state, i32 248
%905 = bitcast i8* %904 to double*
%906 = load double* %905, align 8
%907 = fptrunc double %906 to float
%908 = bitcast float %907 to i32
%909 = call i32 @llvm.bswap.i32(i32 %908)
%910 = and i64 %903, 4294967295
%911 = add i64 %910, 2147418112
%912 = inttoptr i64 %911 to i32*
store i32 %909, i32* %912
br label %instr_0x0005DFF4
instr_0x0005DFF4: ; preds = %instr_0x0005DFF0
%913 = getelementptr i8* %ppu_state, i32 1576
%914 = bitcast i8* %913 to i64*
%915 = load i64* %914, align 8
%916 = getelementptr i8* %ppu_state, i32 1540
%917 = bitcast i8* %916 to i32*
%918 = load i32* %917, align 4
%919 = lshr i32 %918, 1
%920 = and i32 %919, 1
%921 = trunc i32 %920 to i1
br i1 %921, label %instr_0x0005E1E0, label %instr_0x0005DFF8
instr_0x0005DFF8: ; preds = %instr_0x0005DFF4
%922 = getelementptr i8* %ppu_state, i32 1576
%923 = bitcast i8* %922 to i64*
%924 = load i64* %923, align 8
%925 = sub i64 %924, 1
%926 = getelementptr i8* %ppu_state, i32 1576
%927 = bitcast i8* %926 to i64*
store i64 %925, i64* %927, align 8
%928 = icmp ne i64 %925, 0
br i1 %928, label %instr_0x0005DFB8, label %instr_0x0005DFFC
instr_0x0005DFFC: ; preds = %instr_0x0005E1E8, %instr_0x0005DFF8
%929 = getelementptr i8* %ppu_state, i32 944
%930 = bitcast i8* %929 to i32*
%931 = load i32* %930, align 8
%932 = sext i32 %931 to i64
%933 = getelementptr i8* %ppu_state, i32 960
%934 = bitcast i8* %933 to i32*
%935 = load i32* %934, align 8
%936 = sext i32 %935 to i64
%937 = icmp slt i64 %932, %936
%938 = icmp sgt i64 %932, %936
%939 = icmp eq i64 %932, %936
%940 = getelementptr i8* %ppu_state, i32 1540
%941 = bitcast i8* %940 to i32*
%942 = load i32* %941, align 4
%943 = getelementptr i8* %ppu_state, i32 1544
%944 = bitcast i8* %943 to i64*
%945 = load i64* %944, align 8
%946 = lshr i64 %945, 31
%947 = and i64 %946, 1
%948 = and i32 %942, -61441
%949 = zext i1 %937 to i32
%950 = shl i32 %949, 15
%951 = or i32 %948, %950
%952 = zext i1 %938 to i32
%953 = shl i32 %952, 14
%954 = or i32 %951, %953
%955 = zext i1 %939 to i32
%956 = shl i32 %955, 13
%957 = or i32 %954, %956
%958 = trunc i64 %947 to i32
%959 = shl i32 %958, 12
%960 = or i32 %957, %959
%961 = getelementptr i8* %ppu_state, i32 1540
%962 = bitcast i8* %961 to i32*
store i32 %960, i32* %962, align 4
br label %instr_0x0005E000
instr_0x0005E000: ; preds = %instr_0x0005DFFC
br label %instr_0x0005DF20
instr_0x0005E004: ; preds = %instr_0x0005DF60
%963 = getelementptr i8* %ppu_state, i32 856
%964 = bitcast i8* %963 to i32*
%965 = load i32* %964, align 8
%966 = zext i32 %965 to i64
%967 = shl i64 %966, 32
%968 = or i64 %966, %967
%969 = and i64 %968, 32767
%970 = getelementptr i8* %ppu_state, i32 840
%971 = bitcast i8* %970 to i64*
store i64 %969, i64* %971, align 8
br label %instr_0x0005E008
instr_0x0005E008: ; preds = %instr_0x0005E004
%972 = getelementptr i8* %ppu_state, i32 976
%973 = bitcast i8* %972 to i64*
%974 = load i64* %973, align 8
%975 = add i64 %974, 8
%976 = and i64 %975, 4294967295
%977 = add i64 %976, 2147418112
%978 = inttoptr i64 %977 to i32*
%979 = load i32* %978
%980 = call i32 @llvm.bswap.i32(i32 %979)
%981 = zext i32 %980 to i64
%982 = getelementptr i8* %ppu_state, i32 768
%983 = bitcast i8* %982 to i64*
store i64 %981, i64* %983, align 8
br label %instr_0x0005E00C
instr_0x0005E00C: ; preds = %instr_0x0005E008
%984 = getelementptr i8* %ppu_state, i32 856
%985 = bitcast i8* %984 to i64*
%986 = load i64* %985, align 8
%987 = lshr i64 %986, 15
%988 = shl i64 %986, 49
%989 = or i64 %988, %987
%990 = and i64 %989, 32767
%991 = getelementptr i8* %ppu_state, i32 1008
%992 = bitcast i8* %991 to i64*
store i64 %990, i64* %992, align 8
br label %instr_0x0005E010
instr_0x0005E010: ; preds = %instr_0x0005E00C
%993 = getelementptr i8* %ppu_state, i32 840
%994 = bitcast i8* %993 to i64*
%995 = load i64* %994, align 8
%996 = getelementptr i8* %ppu_state, i32 768
%997 = bitcast i8* %996 to i64*
%998 = load i64* %997, align 8
%999 = sub i64 %998, %995
%1000 = getelementptr i8* %ppu_state, i32 992
%1001 = bitcast i8* %1000 to i64*
store i64 %999, i64* %1001, align 8
br label %instr_0x0005E014
instr_0x0005E014: ; preds = %instr_0x0005E1DC, %instr_0x0005E010
%1002 = getelementptr i8* %ppu_state, i32 1016
%1003 = bitcast i8* %1002 to i32*
%1004 = load i32* %1003, align 8
%1005 = sext i32 %1004 to i64
%1006 = getelementptr i8* %ppu_state, i32 1000
%1007 = bitcast i8* %1006 to i64*
store i64 %1005, i64* %1007, align 8
br label %instr_0x0005E018
instr_0x0005E018: ; preds = %instr_0x0005E014
%1008 = getelementptr i8* %ppu_state, i32 984
%1009 = bitcast i8* %1008 to i64*
%1010 = load i64* %1009, align 8
%1011 = getelementptr i8* %ppu_state, i32 984
%1012 = bitcast i8* %1011 to i64*
%1013 = load i64* %1012, align 8
%1014 = or i64 %1010, %1013
%1015 = getelementptr i8* %ppu_state, i32 792
%1016 = bitcast i8* %1015 to i64*
store i64 %1014, i64* %1016, align 8
br label %instr_0x0005E01C
instr_0x0005E01C: ; preds = %instr_0x0005E018
%1017 = getelementptr i8* %ppu_state, i32 1000
%1018 = bitcast i8* %1017 to i64*
%1019 = load i64* %1018, align 8
%1020 = getelementptr i8* %ppu_state, i32 1000
%1021 = bitcast i8* %1020 to i64*
%1022 = load i64* %1021, align 8
%1023 = or i64 %1019, %1022
%1024 = getelementptr i8* %ppu_state, i32 800
%1025 = bitcast i8* %1024 to i64*
store i64 %1023, i64* %1025, align 8
br label %instr_0x0005E020
instr_0x0005E020: ; preds = %instr_0x0005E01C
%1026 = getelementptr i8* %ppu_state, i32 1568
%1027 = bitcast i8* %1026 to i64*
store i64 385060, i64* %1027, align 8
%1028 = getelementptr i8* %ppu_state, i32 1664
%1029 = bitcast i8* %1028 to i32*
store i32 367036, i32* %1029, align 4
%1030 = load i64* inttoptr (i64 8623094872 to i64*)
%1031 = inttoptr i64 %1030 to i32 (i8*, i64)*
%1032 = call i32 %1031(i8* %ppu_state, i64 0)
%1033 = icmp eq i32 %1032, -1
br i1 %1033, label %instr_0x0005E020_then_all_fs, label %instr_0x0005E020_merge_all_fs
instr_0x0005E020_then_all_fs: ; preds = %instr_0x0005E020
ret i32 0
instr_0x0005E020_merge_all_fs: ; preds = %instr_0x0005E020
br label %instr_0x0005E024
instr_0x0005E024: ; preds = %instr_0x0005E020_merge_all_fs
%1034 = getelementptr i8* %ppu_state, i32 768
%1035 = bitcast i8* %1034 to i64*
%1036 = load i64* %1035, align 8
%1037 = getelementptr i8* %ppu_state, i32 768
%1038 = bitcast i8* %1037 to i64*
store i64 %1036, i64* %1038, align 8
br label %instr_0x0005E028
instr_0x0005E028: ; preds = %instr_0x0005E024
%1039 = getelementptr i8* %ppu_state, i32 792
%1040 = bitcast i8* %1039 to i32*
%1041 = load i32* %1040, align 8
%1042 = sext i32 %1041 to i64
%1043 = icmp slt i64 %1042, 0
%1044 = icmp sgt i64 %1042, 0
%1045 = icmp eq i64 %1042, 0
%1046 = getelementptr i8* %ppu_state, i32 1540
%1047 = bitcast i8* %1046 to i32*
%1048 = load i32* %1047, align 4
%1049 = getelementptr i8* %ppu_state, i32 1544
%1050 = bitcast i8* %1049 to i64*
%1051 = load i64* %1050, align 8
%1052 = lshr i64 %1051, 31
%1053 = and i64 %1052, 1
%1054 = and i32 %1048, -16
%1055 = zext i1 %1043 to i32
%1056 = shl i32 %1055, 3
%1057 = or i32 %1054, %1056
%1058 = zext i1 %1044 to i32
%1059 = shl i32 %1058, 2
%1060 = or i32 %1057, %1059
%1061 = zext i1 %1045 to i32
%1062 = shl i32 %1061, 1
%1063 = or i32 %1060, %1062
%1064 = trunc i64 %1053 to i32
%1065 = or i32 %1063, %1064
%1066 = getelementptr i8* %ppu_state, i32 1540
%1067 = bitcast i8* %1066 to i32*
store i32 %1065, i32* %1067, align 4
br label %instr_0x0005E02C
instr_0x0005E02C: ; preds = %instr_0x0005E028
%1068 = getelementptr i8* %ppu_state, i32 1576
%1069 = bitcast i8* %1068 to i64*
%1070 = load i64* %1069, align 8
%1071 = getelementptr i8* %ppu_state, i32 1540
%1072 = bitcast i8* %1071 to i32*
%1073 = load i32* %1072, align 4
%1074 = lshr i32 %1073, 3
%1075 = and i32 %1074, 1
%1076 = trunc i32 %1075 to i1
%1077 = xor i1 %1076, true
br i1 %1077, label %instr_0x0005E064, label %instr_0x0005E030
instr_0x0005E030: ; preds = %instr_0x0005E02C
%1078 = getelementptr i8* %ppu_state, i32 1016
%1079 = bitcast i8* %1078 to i32*
%1080 = load i32* %1079, align 8
%1081 = sext i32 %1080 to i64
%1082 = icmp slt i64 %1081, 1
%1083 = icmp sgt i64 %1081, 1
%1084 = icmp eq i64 %1081, 1
%1085 = getelementptr i8* %ppu_state, i32 1540
%1086 = bitcast i8* %1085 to i32*
%1087 = load i32* %1086, align 4
%1088 = getelementptr i8* %ppu_state, i32 1544
%1089 = bitcast i8* %1088 to i64*
%1090 = load i64* %1089, align 8
%1091 = lshr i64 %1090, 31
%1092 = and i64 %1091, 1
%1093 = and i32 %1087, -16
%1094 = zext i1 %1082 to i32
%1095 = shl i32 %1094, 3
%1096 = or i32 %1093, %1095
%1097 = zext i1 %1083 to i32
%1098 = shl i32 %1097, 2
%1099 = or i32 %1096, %1098
%1100 = zext i1 %1084 to i32
%1101 = shl i32 %1100, 1
%1102 = or i32 %1099, %1101
%1103 = trunc i64 %1092 to i32
%1104 = or i32 %1102, %1103
%1105 = getelementptr i8* %ppu_state, i32 1540
%1106 = bitcast i8* %1105 to i32*
store i32 %1104, i32* %1106, align 4
br label %instr_0x0005E034
instr_0x0005E034: ; preds = %instr_0x0005E030
%1107 = getelementptr i8* %ppu_state, i32 1576
%1108 = bitcast i8* %1107 to i64*
%1109 = load i64* %1108, align 8
%1110 = getelementptr i8* %ppu_state, i32 1540
%1111 = bitcast i8* %1110 to i32*
%1112 = load i32* %1111, align 4
%1113 = lshr i32 %1112, 2
%1114 = and i32 %1113, 1
%1115 = trunc i32 %1114 to i1
br i1 %1115, label %instr_0x0005E040, label %instr_0x0005E038
instr_0x0005E038: ; preds = %instr_0x0005E034
%1116 = phi i32 [ 385076, %instr_0x0005E034 ]
%1117 = getelementptr i8* %ppu_state, i32 1664
%1118 = bitcast i8* %1117 to i32*
store i32 385080, i32* %1118, align 4
%1119 = zext i32 %1116 to i64
%1120 = or i64 %1119, 1652205199294464
%1121 = load i64* inttoptr (i64 8623094880 to i64*)
%1122 = inttoptr i64 %1121 to i32 (i8*, i64)*
%1123 = call i32 %1122(i8* %ppu_state, i64 %1120)
%1124 = icmp eq i32 %1123, -1
br i1 %1124, label %instr_0x0005E038_then_all_fs, label %instr_0x0005E038_merge_all_fs
instr_0x0005E038_then_all_fs: ; preds = %instr_0x0005E038
ret i32 0
instr_0x0005E038_merge_all_fs: ; preds = %instr_0x0005E038
%1125 = icmp ne i32 %1123, 0
br i1 %1125, label %instr_0x0005E038_then_0, label %instr_0x0005E038_merge_0
instr_0x0005E038_then_0: ; preds = %instr_0x0005E038_merge_all_fs
%1126 = zext i32 %1123 to i64
%1127 = or i64 %1126, 1652205199294464
%1128 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %1127)
br label %instr_0x0005E038_merge_0
instr_0x0005E038_merge_0: ; preds = %instr_0x0005E038_then_0, %instr_0x0005E038_merge_all_fs
ret i32 0
instr_0x0005E03C: ; preds = %instr_0x0005E060
%1129 = getelementptr i8* %ppu_state, i32 1576
%1130 = bitcast i8* %1129 to i64*
%1131 = load i64* %1130, align 8
%1132 = getelementptr i8* %ppu_state, i32 1540
%1133 = bitcast i8* %1132 to i32*
%1134 = load i32* %1133, align 4
%1135 = lshr i32 %1134, 5
%1136 = and i32 %1135, 1
%1137 = trunc i32 %1136 to i1
br i1 %1137, label %instr_0x0005E184, label %instr_0x0005E040
instr_0x0005E040: ; preds = %instr_0x0005E03C, %instr_0x0005E034
%1138 = getelementptr i8* %ppu_state, i32 1016
%1139 = bitcast i8* %1138 to i64*
%1140 = load i64* %1139, align 8
%1141 = add i64 %1140, -1
%1142 = getelementptr i8* %ppu_state, i32 1016
%1143 = bitcast i8* %1142 to i64*
store i64 %1141, i64* %1143, align 8
br label %instr_0x0005E044
instr_0x0005E044: ; preds = %instr_0x0005E040
%1144 = getelementptr i8* %ppu_state, i32 984
%1145 = bitcast i8* %1144 to i64*
%1146 = load i64* %1145, align 8
%1147 = getelementptr i8* %ppu_state, i32 984
%1148 = bitcast i8* %1147 to i64*
%1149 = load i64* %1148, align 8
%1150 = or i64 %1146, %1149
%1151 = getelementptr i8* %ppu_state, i32 792
%1152 = bitcast i8* %1151 to i64*
store i64 %1150, i64* %1152, align 8
br label %instr_0x0005E048
instr_0x0005E048: ; preds = %instr_0x0005E044
%1153 = getelementptr i8* %ppu_state, i32 1016
%1154 = bitcast i8* %1153 to i32*
%1155 = load i32* %1154, align 8
%1156 = sext i32 %1155 to i64
%1157 = getelementptr i8* %ppu_state, i32 1000
%1158 = bitcast i8* %1157 to i64*
store i64 %1156, i64* %1158, align 8
br label %instr_0x0005E04C
instr_0x0005E04C: ; preds = %instr_0x0005E048
%1159 = getelementptr i8* %ppu_state, i32 1000
%1160 = bitcast i8* %1159 to i64*
%1161 = load i64* %1160, align 8
%1162 = getelementptr i8* %ppu_state, i32 1000
%1163 = bitcast i8* %1162 to i64*
%1164 = load i64* %1163, align 8
%1165 = or i64 %1161, %1164
%1166 = getelementptr i8* %ppu_state, i32 800
%1167 = bitcast i8* %1166 to i64*
store i64 %1165, i64* %1167, align 8
br label %instr_0x0005E050
instr_0x0005E050: ; preds = %instr_0x0005E04C
%1168 = getelementptr i8* %ppu_state, i32 1568
%1169 = bitcast i8* %1168 to i64*
store i64 385108, i64* %1169, align 8
%1170 = getelementptr i8* %ppu_state, i32 1664
%1171 = bitcast i8* %1170 to i32*
store i32 367036, i32* %1171, align 4
%1172 = load i64* inttoptr (i64 8623094872 to i64*)
%1173 = inttoptr i64 %1172 to i32 (i8*, i64)*
%1174 = call i32 %1173(i8* %ppu_state, i64 0)
%1175 = icmp eq i32 %1174, -1
br i1 %1175, label %instr_0x0005E050_then_all_fs, label %instr_0x0005E050_merge_all_fs
instr_0x0005E050_then_all_fs: ; preds = %instr_0x0005E050
ret i32 0
instr_0x0005E050_merge_all_fs: ; preds = %instr_0x0005E050
br label %instr_0x0005E054
instr_0x0005E054: ; preds = %instr_0x0005E050_merge_all_fs
%1176 = getelementptr i8* %ppu_state, i32 768
%1177 = bitcast i8* %1176 to i64*
%1178 = load i64* %1177, align 8
%1179 = getelementptr i8* %ppu_state, i32 768
%1180 = bitcast i8* %1179 to i64*
store i64 %1178, i64* %1180, align 8
br label %instr_0x0005E058
instr_0x0005E058: ; preds = %instr_0x0005E054
%1181 = getelementptr i8* %ppu_state, i32 1016
%1182 = bitcast i8* %1181 to i32*
%1183 = load i32* %1182, align 8
%1184 = sext i32 %1183 to i64
%1185 = icmp slt i64 %1184, 1
%1186 = icmp sgt i64 %1184, 1
%1187 = icmp eq i64 %1184, 1
%1188 = getelementptr i8* %ppu_state, i32 1540
%1189 = bitcast i8* %1188 to i32*
%1190 = load i32* %1189, align 4
%1191 = getelementptr i8* %ppu_state, i32 1544
%1192 = bitcast i8* %1191 to i64*
%1193 = load i64* %1192, align 8
%1194 = lshr i64 %1193, 31
%1195 = and i64 %1194, 1
%1196 = and i32 %1190, -241
%1197 = zext i1 %1185 to i32
%1198 = shl i32 %1197, 7
%1199 = or i32 %1196, %1198
%1200 = zext i1 %1186 to i32
%1201 = shl i32 %1200, 6
%1202 = or i32 %1199, %1201
%1203 = zext i1 %1187 to i32
%1204 = shl i32 %1203, 5
%1205 = or i32 %1202, %1204
%1206 = trunc i64 %1195 to i32
%1207 = shl i32 %1206, 4
%1208 = or i32 %1205, %1207
%1209 = getelementptr i8* %ppu_state, i32 1540
%1210 = bitcast i8* %1209 to i32*
store i32 %1208, i32* %1210, align 4
br label %instr_0x0005E05C
instr_0x0005E05C: ; preds = %instr_0x0005E058
%1211 = getelementptr i8* %ppu_state, i32 792
%1212 = bitcast i8* %1211 to i32*
%1213 = load i32* %1212, align 8
%1214 = sext i32 %1213 to i64
%1215 = icmp slt i64 %1214, 0
%1216 = icmp sgt i64 %1214, 0
%1217 = icmp eq i64 %1214, 0
%1218 = getelementptr i8* %ppu_state, i32 1540
%1219 = bitcast i8* %1218 to i32*
%1220 = load i32* %1219, align 4
%1221 = getelementptr i8* %ppu_state, i32 1544
%1222 = bitcast i8* %1221 to i64*
%1223 = load i64* %1222, align 8
%1224 = lshr i64 %1223, 31
%1225 = and i64 %1224, 1
%1226 = and i32 %1220, -16
%1227 = zext i1 %1215 to i32
%1228 = shl i32 %1227, 3
%1229 = or i32 %1226, %1228
%1230 = zext i1 %1216 to i32
%1231 = shl i32 %1230, 2
%1232 = or i32 %1229, %1231
%1233 = zext i1 %1217 to i32
%1234 = shl i32 %1233, 1
%1235 = or i32 %1232, %1234
%1236 = trunc i64 %1225 to i32
%1237 = or i32 %1235, %1236
%1238 = getelementptr i8* %ppu_state, i32 1540
%1239 = bitcast i8* %1238 to i32*
store i32 %1237, i32* %1239, align 4
br label %instr_0x0005E060
instr_0x0005E060: ; preds = %instr_0x0005E05C
%1240 = getelementptr i8* %ppu_state, i32 1576
%1241 = bitcast i8* %1240 to i64*
%1242 = load i64* %1241, align 8
%1243 = getelementptr i8* %ppu_state, i32 1540
%1244 = bitcast i8* %1243 to i32*
%1245 = load i32* %1244, align 4
%1246 = lshr i32 %1245, 3
%1247 = and i32 %1246, 1
%1248 = trunc i32 %1247 to i1
br i1 %1248, label %instr_0x0005E03C, label %instr_0x0005E064
instr_0x0005E064: ; preds = %instr_0x0005E060, %instr_0x0005E02C
%1249 = getelementptr i8* %ppu_state, i32 792
%1250 = bitcast i8* %1249 to i32*
%1251 = load i32* %1250, align 8
%1252 = zext i32 %1251 to i64
%1253 = shl i64 %1252, 32
%1254 = or i64 %1252, %1253
%1255 = lshr i64 %1254, 48
%1256 = shl i64 %1254, 16
%1257 = or i64 %1256, %1255
%1258 = and i64 %1257, 4294967295
%1259 = getelementptr i8* %ppu_state, i32 768
%1260 = bitcast i8* %1259 to i64*
store i64 %1258, i64* %1260, align 8
br label %instr_0x0005E068
instr_0x0005E068: ; preds = %instr_0x0005E064
%1261 = getelementptr i8* %ppu_state, i32 848
%1262 = bitcast i8* %1261 to i64*
store i64 16711680, i64* %1262, align 8
br label %instr_0x0005E06C
instr_0x0005E06C: ; preds = %instr_0x0005E068
%1263 = getelementptr i8* %ppu_state, i32 840
%1264 = bitcast i8* %1263 to i64*
store i64 -16777216, i64* %1264, align 8
br label %instr_0x0005E070
instr_0x0005E070: ; preds = %instr_0x0005E06C
%1265 = getelementptr i8* %ppu_state, i32 848
%1266 = bitcast i8* %1265 to i64*
%1267 = load i64* %1266, align 8
%1268 = or i64 %1267, 255
%1269 = getelementptr i8* %ppu_state, i32 848
%1270 = bitcast i8* %1269 to i64*
store i64 %1268, i64* %1270, align 8
br label %instr_0x0005E074
instr_0x0005E074: ; preds = %instr_0x0005E070
%1271 = getelementptr i8* %ppu_state, i32 768
%1272 = bitcast i8* %1271 to i32*
%1273 = load i32* %1272, align 8
%1274 = zext i32 %1273 to i64
%1275 = shl i64 %1274, 32
%1276 = or i64 %1274, %1275
%1277 = lshr i64 %1276, 56
%1278 = shl i64 %1276, 8
%1279 = or i64 %1278, %1277
%1280 = and i64 %1279, 4294967040
%1281 = getelementptr i8* %ppu_state, i32 856
%1282 = bitcast i8* %1281 to i64*
store i64 %1280, i64* %1282, align 8
br label %instr_0x0005E078
instr_0x0005E078: ; preds = %instr_0x0005E074
%1283 = getelementptr i8* %ppu_state, i32 840
%1284 = bitcast i8* %1283 to i64*
%1285 = load i64* %1284, align 8
%1286 = or i64 %1285, 65280
%1287 = getelementptr i8* %ppu_state, i32 840
%1288 = bitcast i8* %1287 to i64*
store i64 %1286, i64* %1288, align 8
br label %instr_0x0005E07C
instr_0x0005E07C: ; preds = %instr_0x0005E078
%1289 = getelementptr i8* %ppu_state, i32 768
%1290 = bitcast i8* %1289 to i32*
%1291 = load i32* %1290, align 8
%1292 = zext i32 %1291 to i64
%1293 = shl i64 %1292, 32
%1294 = or i64 %1292, %1293
%1295 = lshr i64 %1294, 40
%1296 = shl i64 %1294, 24
%1297 = or i64 %1296, %1295
%1298 = and i64 %1297, 16777215
%1299 = getelementptr i8* %ppu_state, i32 768
%1300 = bitcast i8* %1299 to i64*
store i64 %1298, i64* %1300, align 8
br label %instr_0x0005E080
instr_0x0005E080: ; preds = %instr_0x0005E07C
%1301 = getelementptr i8* %ppu_state, i32 856
%1302 = bitcast i8* %1301 to i64*
%1303 = load i64* %1302, align 8
%1304 = getelementptr i8* %ppu_state, i32 840
%1305 = bitcast i8* %1304 to i64*
%1306 = load i64* %1305, align 8
%1307 = and i64 %1303, %1306
%1308 = getelementptr i8* %ppu_state, i32 856
%1309 = bitcast i8* %1308 to i64*
store i64 %1307, i64* %1309, align 8
br label %instr_0x0005E084
instr_0x0005E084: ; preds = %instr_0x0005E080
%1310 = getelementptr i8* %ppu_state, i32 768
%1311 = bitcast i8* %1310 to i64*
%1312 = load i64* %1311, align 8
%1313 = getelementptr i8* %ppu_state, i32 848
%1314 = bitcast i8* %1313 to i64*
%1315 = load i64* %1314, align 8
%1316 = and i64 %1312, %1315
%1317 = getelementptr i8* %ppu_state, i32 768
%1318 = bitcast i8* %1317 to i64*
store i64 %1316, i64* %1318, align 8
br label %instr_0x0005E088
instr_0x0005E088: ; preds = %instr_0x0005E084
%1319 = getelementptr i8* %ppu_state, i32 832
%1320 = bitcast i8* %1319 to i64*
store i64 252641280, i64* %1320, align 8
br label %instr_0x0005E08C
instr_0x0005E08C: ; preds = %instr_0x0005E088
%1321 = getelementptr i8* %ppu_state, i32 768
%1322 = bitcast i8* %1321 to i64*
%1323 = load i64* %1322, align 8
%1324 = getelementptr i8* %ppu_state, i32 856
%1325 = bitcast i8* %1324 to i64*
%1326 = load i64* %1325, align 8
%1327 = or i64 %1323, %1326
%1328 = getelementptr i8* %ppu_state, i32 768
%1329 = bitcast i8* %1328 to i64*
store i64 %1327, i64* %1329, align 8
br label %instr_0x0005E090
instr_0x0005E090: ; preds = %instr_0x0005E08C
%1330 = getelementptr i8* %ppu_state, i32 840
%1331 = bitcast i8* %1330 to i64*
store i64 -252706816, i64* %1331, align 8
br label %instr_0x0005E094
instr_0x0005E094: ; preds = %instr_0x0005E090
%1332 = getelementptr i8* %ppu_state, i32 832
%1333 = bitcast i8* %1332 to i64*
%1334 = load i64* %1333, align 8
%1335 = or i64 %1334, 3855
%1336 = getelementptr i8* %ppu_state, i32 832
%1337 = bitcast i8* %1336 to i64*
store i64 %1335, i64* %1337, align 8
br label %instr_0x0005E098
instr_0x0005E098: ; preds = %instr_0x0005E094
%1338 = getelementptr i8* %ppu_state, i32 768
%1339 = bitcast i8* %1338 to i32*
%1340 = load i32* %1339, align 8
%1341 = zext i32 %1340 to i64
%1342 = shl i64 %1341, 32
%1343 = or i64 %1341, %1342
%1344 = lshr i64 %1343, 60
%1345 = shl i64 %1343, 4
%1346 = or i64 %1345, %1344
%1347 = and i64 %1346, 4294967280
%1348 = getelementptr i8* %ppu_state, i32 856
%1349 = bitcast i8* %1348 to i64*
store i64 %1347, i64* %1349, align 8
br label %instr_0x0005E09C
instr_0x0005E09C: ; preds = %instr_0x0005E098
%1350 = getelementptr i8* %ppu_state, i32 840
%1351 = bitcast i8* %1350 to i64*
%1352 = load i64* %1351, align 8
%1353 = or i64 %1352, 61680
%1354 = getelementptr i8* %ppu_state, i32 840
%1355 = bitcast i8* %1354 to i64*
store i64 %1353, i64* %1355, align 8
br label %instr_0x0005E0A0
instr_0x0005E0A0: ; preds = %instr_0x0005E09C
%1356 = getelementptr i8* %ppu_state, i32 768
%1357 = bitcast i8* %1356 to i32*
%1358 = load i32* %1357, align 8
%1359 = zext i32 %1358 to i64
%1360 = shl i64 %1359, 32
%1361 = or i64 %1359, %1360
%1362 = lshr i64 %1361, 36
%1363 = shl i64 %1361, 28
%1364 = or i64 %1363, %1362
%1365 = and i64 %1364, 268435455
%1366 = getelementptr i8* %ppu_state, i32 768
%1367 = bitcast i8* %1366 to i64*
store i64 %1365, i64* %1367, align 8
br label %instr_0x0005E0A4
instr_0x0005E0A4: ; preds = %instr_0x0005E0A0
%1368 = getelementptr i8* %ppu_state, i32 856
%1369 = bitcast i8* %1368 to i64*
%1370 = load i64* %1369, align 8
%1371 = getelementptr i8* %ppu_state, i32 840
%1372 = bitcast i8* %1371 to i64*
%1373 = load i64* %1372, align 8
%1374 = and i64 %1370, %1373
%1375 = getelementptr i8* %ppu_state, i32 856
%1376 = bitcast i8* %1375 to i64*
store i64 %1374, i64* %1376, align 8
br label %instr_0x0005E0A8
instr_0x0005E0A8: ; preds = %instr_0x0005E0A4
%1377 = getelementptr i8* %ppu_state, i32 768
%1378 = bitcast i8* %1377 to i64*
%1379 = load i64* %1378, align 8
%1380 = getelementptr i8* %ppu_state, i32 832
%1381 = bitcast i8* %1380 to i64*
%1382 = load i64* %1381, align 8
%1383 = and i64 %1379, %1382
%1384 = getelementptr i8* %ppu_state, i32 768
%1385 = bitcast i8* %1384 to i64*
store i64 %1383, i64* %1385, align 8
br label %instr_0x0005E0AC
instr_0x0005E0AC: ; preds = %instr_0x0005E0A8
%1386 = getelementptr i8* %ppu_state, i32 848
%1387 = bitcast i8* %1386 to i64*
store i64 858980352, i64* %1387, align 8
br label %instr_0x0005E0B0
instr_0x0005E0B0: ; preds = %instr_0x0005E0AC
%1388 = getelementptr i8* %ppu_state, i32 768
%1389 = bitcast i8* %1388 to i64*
%1390 = load i64* %1389, align 8
%1391 = getelementptr i8* %ppu_state, i32 856
%1392 = bitcast i8* %1391 to i64*
%1393 = load i64* %1392, align 8
%1394 = or i64 %1390, %1393
%1395 = getelementptr i8* %ppu_state, i32 768
%1396 = bitcast i8* %1395 to i64*
store i64 %1394, i64* %1396, align 8
br label %instr_0x0005E0B4
instr_0x0005E0B4: ; preds = %instr_0x0005E0B0
%1397 = getelementptr i8* %ppu_state, i32 840
%1398 = bitcast i8* %1397 to i64*
store i64 -859045888, i64* %1398, align 8
br label %instr_0x0005E0B8
instr_0x0005E0B8: ; preds = %instr_0x0005E0B4
%1399 = getelementptr i8* %ppu_state, i32 848
%1400 = bitcast i8* %1399 to i64*
%1401 = load i64* %1400, align 8
%1402 = or i64 %1401, 13107
%1403 = getelementptr i8* %ppu_state, i32 848
%1404 = bitcast i8* %1403 to i64*
store i64 %1402, i64* %1404, align 8
br label %instr_0x0005E0BC
instr_0x0005E0BC: ; preds = %instr_0x0005E0B8
%1405 = getelementptr i8* %ppu_state, i32 768
%1406 = bitcast i8* %1405 to i32*
%1407 = load i32* %1406, align 8
%1408 = zext i32 %1407 to i64
%1409 = shl i64 %1408, 32
%1410 = or i64 %1408, %1409
%1411 = lshr i64 %1410, 62
%1412 = shl i64 %1410, 2
%1413 = or i64 %1412, %1411
%1414 = and i64 %1413, 4294967292
%1415 = getelementptr i8* %ppu_state, i32 856
%1416 = bitcast i8* %1415 to i64*
store i64 %1414, i64* %1416, align 8
br label %instr_0x0005E0C0
instr_0x0005E0C0: ; preds = %instr_0x0005E0BC
%1417 = getelementptr i8* %ppu_state, i32 840
%1418 = bitcast i8* %1417 to i64*
%1419 = load i64* %1418, align 8
%1420 = or i64 %1419, 52428
%1421 = getelementptr i8* %ppu_state, i32 840
%1422 = bitcast i8* %1421 to i64*
store i64 %1420, i64* %1422, align 8
br label %instr_0x0005E0C4
instr_0x0005E0C4: ; preds = %instr_0x0005E0C0
%1423 = getelementptr i8* %ppu_state, i32 768
%1424 = bitcast i8* %1423 to i32*
%1425 = load i32* %1424, align 8
%1426 = zext i32 %1425 to i64
%1427 = shl i64 %1426, 32
%1428 = or i64 %1426, %1427
%1429 = lshr i64 %1428, 34
%1430 = shl i64 %1428, 30
%1431 = or i64 %1430, %1429
%1432 = and i64 %1431, 1073741823
%1433 = getelementptr i8* %ppu_state, i32 768
%1434 = bitcast i8* %1433 to i64*
store i64 %1432, i64* %1434, align 8
br label %instr_0x0005E0C8
instr_0x0005E0C8: ; preds = %instr_0x0005E0C4
%1435 = getelementptr i8* %ppu_state, i32 856
%1436 = bitcast i8* %1435 to i64*
%1437 = load i64* %1436, align 8
%1438 = getelementptr i8* %ppu_state, i32 840
%1439 = bitcast i8* %1438 to i64*
%1440 = load i64* %1439, align 8
%1441 = and i64 %1437, %1440
%1442 = getelementptr i8* %ppu_state, i32 856
%1443 = bitcast i8* %1442 to i64*
store i64 %1441, i64* %1443, align 8
br label %instr_0x0005E0CC
instr_0x0005E0CC: ; preds = %instr_0x0005E0C8
%1444 = getelementptr i8* %ppu_state, i32 768
%1445 = bitcast i8* %1444 to i64*
%1446 = load i64* %1445, align 8
%1447 = getelementptr i8* %ppu_state, i32 848
%1448 = bitcast i8* %1447 to i64*
%1449 = load i64* %1448, align 8
%1450 = and i64 %1446, %1449
%1451 = getelementptr i8* %ppu_state, i32 768
%1452 = bitcast i8* %1451 to i64*
store i64 %1450, i64* %1452, align 8
br label %instr_0x0005E0D0
instr_0x0005E0D0: ; preds = %instr_0x0005E0CC
%1453 = getelementptr i8* %ppu_state, i32 832
%1454 = bitcast i8* %1453 to i64*
store i64 1431633920, i64* %1454, align 8
br label %instr_0x0005E0D4
instr_0x0005E0D4: ; preds = %instr_0x0005E0D0
%1455 = getelementptr i8* %ppu_state, i32 768
%1456 = bitcast i8* %1455 to i64*
%1457 = load i64* %1456, align 8
%1458 = getelementptr i8* %ppu_state, i32 856
%1459 = bitcast i8* %1458 to i64*
%1460 = load i64* %1459, align 8
%1461 = or i64 %1457, %1460
%1462 = getelementptr i8* %ppu_state, i32 768
%1463 = bitcast i8* %1462 to i64*
store i64 %1461, i64* %1463, align 8
br label %instr_0x0005E0D8
instr_0x0005E0D8: ; preds = %instr_0x0005E0D4
%1464 = getelementptr i8* %ppu_state, i32 848
%1465 = bitcast i8* %1464 to i64*
store i64 -1431699456, i64* %1465, align 8
br label %instr_0x0005E0DC
instr_0x0005E0DC: ; preds = %instr_0x0005E0D8
%1466 = getelementptr i8* %ppu_state, i32 1008
%1467 = bitcast i8* %1466 to i64*
%1468 = load i64* %1467, align 8
%1469 = getelementptr i8* %ppu_state, i32 992
%1470 = bitcast i8* %1469 to i64*
%1471 = load i64* %1470, align 8
%1472 = sub i64 %1471, %1468
%1473 = getelementptr i8* %ppu_state, i32 856
%1474 = bitcast i8* %1473 to i64*
store i64 %1472, i64* %1474, align 8
br label %instr_0x0005E0E0
instr_0x0005E0E0: ; preds = %instr_0x0005E0DC
%1475 = getelementptr i8* %ppu_state, i32 768
%1476 = bitcast i8* %1475 to i32*
%1477 = load i32* %1476, align 8
%1478 = zext i32 %1477 to i64
%1479 = shl i64 %1478, 32
%1480 = or i64 %1478, %1479
%1481 = lshr i64 %1480, 63
%1482 = shl i64 %1480, 1
%1483 = or i64 %1482, %1481
%1484 = and i64 %1483, 4294967294
%1485 = getelementptr i8* %ppu_state, i32 840
%1486 = bitcast i8* %1485 to i64*
store i64 %1484, i64* %1486, align 8
br label %instr_0x0005E0E4
instr_0x0005E0E4: ; preds = %instr_0x0005E0E0
%1487 = getelementptr i8* %ppu_state, i32 832
%1488 = bitcast i8* %1487 to i64*
%1489 = load i64* %1488, align 8
%1490 = or i64 %1489, 21845
%1491 = getelementptr i8* %ppu_state, i32 832
%1492 = bitcast i8* %1491 to i64*
store i64 %1490, i64* %1492, align 8
br label %instr_0x0005E0E8
instr_0x0005E0E8: ; preds = %instr_0x0005E0E4
%1493 = getelementptr i8* %ppu_state, i32 848
%1494 = bitcast i8* %1493 to i64*
%1495 = load i64* %1494, align 8
%1496 = or i64 %1495, 43690
%1497 = getelementptr i8* %ppu_state, i32 848
%1498 = bitcast i8* %1497 to i64*
store i64 %1496, i64* %1498, align 8
br label %instr_0x0005E0EC
instr_0x0005E0EC: ; preds = %instr_0x0005E0E8
%1499 = getelementptr i8* %ppu_state, i32 768
%1500 = bitcast i8* %1499 to i32*
%1501 = load i32* %1500, align 8
%1502 = zext i32 %1501 to i64
%1503 = shl i64 %1502, 32
%1504 = or i64 %1502, %1503
%1505 = lshr i64 %1504, 33
%1506 = shl i64 %1504, 31
%1507 = or i64 %1506, %1505
%1508 = and i64 %1507, 2147483647
%1509 = getelementptr i8* %ppu_state, i32 768
%1510 = bitcast i8* %1509 to i64*
store i64 %1508, i64* %1510, align 8
br label %instr_0x0005E0F0
instr_0x0005E0F0: ; preds = %instr_0x0005E0EC
%1511 = getelementptr i8* %ppu_state, i32 856
%1512 = bitcast i8* %1511 to i32*
%1513 = load i32* %1512, align 8
%1514 = sext i32 %1513 to i64
%1515 = icmp slt i64 %1514, 1
%1516 = icmp sgt i64 %1514, 1
%1517 = icmp eq i64 %1514, 1
%1518 = getelementptr i8* %ppu_state, i32 1540
%1519 = bitcast i8* %1518 to i32*
%1520 = load i32* %1519, align 4
%1521 = getelementptr i8* %ppu_state, i32 1544
%1522 = bitcast i8* %1521 to i64*
%1523 = load i64* %1522, align 8
%1524 = lshr i64 %1523, 31
%1525 = and i64 %1524, 1
%1526 = and i32 %1520, -16
%1527 = zext i1 %1515 to i32
%1528 = shl i32 %1527, 3
%1529 = or i32 %1526, %1528
%1530 = zext i1 %1516 to i32
%1531 = shl i32 %1530, 2
%1532 = or i32 %1529, %1531
%1533 = zext i1 %1517 to i32
%1534 = shl i32 %1533, 1
%1535 = or i32 %1532, %1534
%1536 = trunc i64 %1525 to i32
%1537 = or i32 %1535, %1536
%1538 = getelementptr i8* %ppu_state, i32 1540
%1539 = bitcast i8* %1538 to i32*
store i32 %1537, i32* %1539, align 4
br label %instr_0x0005E0F4
instr_0x0005E0F4: ; preds = %instr_0x0005E0F0
%1540 = getelementptr i8* %ppu_state, i32 768
%1541 = bitcast i8* %1540 to i64*
%1542 = load i64* %1541, align 8
%1543 = getelementptr i8* %ppu_state, i32 832
%1544 = bitcast i8* %1543 to i64*
%1545 = load i64* %1544, align 8
%1546 = and i64 %1542, %1545
%1547 = getelementptr i8* %ppu_state, i32 768
%1548 = bitcast i8* %1547 to i64*
store i64 %1546, i64* %1548, align 8
br label %instr_0x0005E0F8
instr_0x0005E0F8: ; preds = %instr_0x0005E0F4
%1549 = getelementptr i8* %ppu_state, i32 840
%1550 = bitcast i8* %1549 to i64*
%1551 = load i64* %1550, align 8
%1552 = getelementptr i8* %ppu_state, i32 848
%1553 = bitcast i8* %1552 to i64*
%1554 = load i64* %1553, align 8
%1555 = and i64 %1551, %1554
%1556 = getelementptr i8* %ppu_state, i32 840
%1557 = bitcast i8* %1556 to i64*
store i64 %1555, i64* %1557, align 8
br label %instr_0x0005E0FC
instr_0x0005E0FC: ; preds = %instr_0x0005E0F8
%1558 = getelementptr i8* %ppu_state, i32 768
%1559 = bitcast i8* %1558 to i64*
%1560 = load i64* %1559, align 8
%1561 = getelementptr i8* %ppu_state, i32 840
%1562 = bitcast i8* %1561 to i64*
%1563 = load i64* %1562, align 8
%1564 = or i64 %1560, %1563
%1565 = getelementptr i8* %ppu_state, i32 792
%1566 = bitcast i8* %1565 to i64*
store i64 %1564, i64* %1566, align 8
br label %instr_0x0005E100
instr_0x0005E100: ; preds = %instr_0x0005E0FC
%1567 = getelementptr i8* %ppu_state, i32 1576
%1568 = bitcast i8* %1567 to i64*
%1569 = load i64* %1568, align 8
%1570 = getelementptr i8* %ppu_state, i32 1540
%1571 = bitcast i8* %1570 to i32*
%1572 = load i32* %1571, align 4
%1573 = lshr i32 %1572, 2
%1574 = and i32 %1573, 1
%1575 = trunc i32 %1574 to i1
%1576 = xor i1 %1575, true
br i1 %1576, label %instr_0x0005E154, label %instr_0x0005E104
instr_0x0005E104: ; preds = %instr_0x0005E100
%1577 = getelementptr i8* %ppu_state, i32 976
%1578 = bitcast i8* %1577 to i64*
%1579 = load i64* %1578, align 8
%1580 = add i64 %1579, 20
%1581 = and i64 %1580, 4294967295
%1582 = add i64 %1581, 2147418112
%1583 = inttoptr i64 %1582 to i32*
%1584 = load i32* %1583
%1585 = call i32 @llvm.bswap.i32(i32 %1584)
%1586 = zext i32 %1585 to i64
%1587 = getelementptr i8* %ppu_state, i32 832
%1588 = bitcast i8* %1587 to i64*
store i64 %1586, i64* %1588, align 8
br label %instr_0x0005E108
instr_0x0005E108: ; preds = %instr_0x0005E150, %instr_0x0005E104
%1589 = getelementptr i8* %ppu_state, i32 856
%1590 = bitcast i8* %1589 to i32*
%1591 = load i32* %1590, align 8
%1592 = zext i32 %1591 to i64
%1593 = shl i64 %1592, 32
%1594 = ashr i64 %1593, 1
%1595 = ashr i64 %1594, 32
%1596 = getelementptr i8* %ppu_state, i32 856
%1597 = bitcast i8* %1596 to i64*
store i64 %1595, i64* %1597, align 8
%1598 = trunc i64 %1594 to i32
%1599 = icmp slt i64 %1595, 0
%1600 = icmp ne i32 %1598, 0
%1601 = and i1 %1599, %1600
%1602 = getelementptr i8* %ppu_state, i32 1544
%1603 = bitcast i8* %1602 to i64*
%1604 = load i64* %1603, align 8
%1605 = and i64 %1604, -536870913
%1606 = zext i1 %1601 to i64
%1607 = shl i64 %1606, 29
%1608 = or i64 %1605, %1607
%1609 = getelementptr i8* %ppu_state, i32 1544
%1610 = bitcast i8* %1609 to i64*
store i64 %1608, i64* %1610, align 8
br label %instr_0x0005E10C
instr_0x0005E10C: ; preds = %instr_0x0005E108
%1611 = getelementptr i8* %ppu_state, i32 848
%1612 = bitcast i8* %1611 to i64*
store i64 1, i64* %1612, align 8
br label %instr_0x0005E110
instr_0x0005E110: ; preds = %instr_0x0005E10C
%1613 = getelementptr i8* %ppu_state, i32 856
%1614 = bitcast i8* %1613 to i64*
%1615 = load i64* %1614, align 8
%1616 = getelementptr i8* %ppu_state, i32 1008
%1617 = bitcast i8* %1616 to i64*
%1618 = load i64* %1617, align 8
%1619 = add i64 %1615, %1618
%1620 = getelementptr i8* %ppu_state, i32 840
%1621 = bitcast i8* %1620 to i64*
store i64 %1619, i64* %1621, align 8
br label %instr_0x0005E114
instr_0x0005E114: ; preds = %instr_0x0005E110
%1622 = getelementptr i8* %ppu_state, i32 840
%1623 = bitcast i8* %1622 to i32*
%1624 = load i32* %1623, align 8
%1625 = zext i32 %1624 to i64
%1626 = shl i64 %1625, 32
%1627 = or i64 %1625, %1626
%1628 = lshr i64 %1627, 62
%1629 = shl i64 %1627, 2
%1630 = or i64 %1629, %1628
%1631 = and i64 %1630, 4294967292
%1632 = getelementptr i8* %ppu_state, i32 840
%1633 = bitcast i8* %1632 to i64*
store i64 %1631, i64* %1633, align 8
br label %instr_0x0005E118
instr_0x0005E118: ; preds = %instr_0x0005E114
%1634 = getelementptr i8* %ppu_state, i32 840
%1635 = bitcast i8* %1634 to i64*
%1636 = load i64* %1635, align 8
%1637 = getelementptr i8* %ppu_state, i32 832
%1638 = bitcast i8* %1637 to i64*
%1639 = load i64* %1638, align 8
%1640 = add i64 %1636, %1639
%1641 = getelementptr i8* %ppu_state, i32 840
%1642 = bitcast i8* %1641 to i64*
store i64 %1640, i64* %1642, align 8
br label %instr_0x0005E11C
instr_0x0005E11C: ; preds = %instr_0x0005E118
%1643 = getelementptr i8* %ppu_state, i32 840
%1644 = bitcast i8* %1643 to i64*
%1645 = load i64* %1644, align 8
%1646 = and i64 %1645, 4294967295
%1647 = getelementptr i8* %ppu_state, i32 840
%1648 = bitcast i8* %1647 to i64*
store i64 %1646, i64* %1648, align 8
br label %instr_0x0005E120
instr_0x0005E120: ; preds = %instr_0x0005E11C
%1649 = getelementptr i8* %ppu_state, i32 840
%1650 = bitcast i8* %1649 to i64*
%1651 = load i64* %1650, align 8
%1652 = add i64 %1651, 0
%1653 = and i64 %1652, 4294967295
%1654 = add i64 %1653, 2147418112
%1655 = inttoptr i64 %1654 to i32*
%1656 = load i32* %1655
%1657 = call i32 @llvm.bswap.i32(i32 %1656)
%1658 = zext i32 %1657 to i64
%1659 = getelementptr i8* %ppu_state, i32 768
%1660 = bitcast i8* %1659 to i64*
store i64 %1658, i64* %1660, align 8
br label %instr_0x0005E124
instr_0x0005E124: ; preds = %instr_0x0005E120
%1661 = getelementptr i8* %ppu_state, i32 792
%1662 = bitcast i8* %1661 to i32*
%1663 = load i32* %1662, align 8
%1664 = zext i32 %1663 to i64
%1665 = getelementptr i8* %ppu_state, i32 768
%1666 = bitcast i8* %1665 to i32*
%1667 = load i32* %1666, align 8
%1668 = zext i32 %1667 to i64
%1669 = icmp ult i64 %1664, %1668
%1670 = icmp ugt i64 %1664, %1668
%1671 = icmp eq i64 %1664, %1668
%1672 = getelementptr i8* %ppu_state, i32 1540
%1673 = bitcast i8* %1672 to i32*
%1674 = load i32* %1673, align 4
%1675 = getelementptr i8* %ppu_state, i32 1544
%1676 = bitcast i8* %1675 to i64*
%1677 = load i64* %1676, align 8
%1678 = lshr i64 %1677, 31
%1679 = and i64 %1678, 1
%1680 = and i32 %1674, -16
%1681 = zext i1 %1669 to i32
%1682 = shl i32 %1681, 3
%1683 = or i32 %1680, %1682
%1684 = zext i1 %1670 to i32
%1685 = shl i32 %1684, 2
%1686 = or i32 %1683, %1685
%1687 = zext i1 %1671 to i32
%1688 = shl i32 %1687, 1
%1689 = or i32 %1686, %1688
%1690 = trunc i64 %1679 to i32
%1691 = or i32 %1689, %1690
%1692 = getelementptr i8* %ppu_state, i32 1540
%1693 = bitcast i8* %1692 to i32*
store i32 %1691, i32* %1693, align 4
br label %instr_0x0005E128
instr_0x0005E128: ; preds = %instr_0x0005E124
%1694 = getelementptr i8* %ppu_state, i32 1576
%1695 = bitcast i8* %1694 to i64*
%1696 = load i64* %1695, align 8
%1697 = getelementptr i8* %ppu_state, i32 1540
%1698 = bitcast i8* %1697 to i32*
%1699 = load i32* %1698, align 4
%1700 = lshr i32 %1699, 3
%1701 = and i32 %1700, 1
%1702 = trunc i32 %1701 to i1
br i1 %1702, label %instr_0x0005E130, label %instr_0x0005E12C
instr_0x0005E12C: ; preds = %instr_0x0005E128
%1703 = getelementptr i8* %ppu_state, i32 848
%1704 = bitcast i8* %1703 to i64*
store i64 0, i64* %1704, align 8
br label %instr_0x0005E130
instr_0x0005E130: ; preds = %instr_0x0005E12C, %instr_0x0005E128
%1705 = getelementptr i8* %ppu_state, i32 848
%1706 = bitcast i8* %1705 to i64*
%1707 = load i64* %1706, align 8
%1708 = sub i64 0, %1707
%1709 = getelementptr i8* %ppu_state, i32 768
%1710 = bitcast i8* %1709 to i64*
store i64 %1708, i64* %1710, align 8
br label %instr_0x0005E134
instr_0x0005E134: ; preds = %instr_0x0005E130
%1711 = getelementptr i8* %ppu_state, i32 848
%1712 = bitcast i8* %1711 to i64*
%1713 = load i64* %1712, align 8
%1714 = add i64 %1713, -1
%1715 = getelementptr i8* %ppu_state, i32 840
%1716 = bitcast i8* %1715 to i64*
store i64 %1714, i64* %1716, align 8
br label %instr_0x0005E138
instr_0x0005E138: ; preds = %instr_0x0005E134
%1717 = getelementptr i8* %ppu_state, i32 856
%1718 = bitcast i8* %1717 to i64*
%1719 = load i64* %1718, align 8
%1720 = getelementptr i8* %ppu_state, i32 768
%1721 = bitcast i8* %1720 to i64*
%1722 = load i64* %1721, align 8
%1723 = and i64 %1719, %1722
%1724 = getelementptr i8* %ppu_state, i32 768
%1725 = bitcast i8* %1724 to i64*
store i64 %1723, i64* %1725, align 8
br label %instr_0x0005E13C
instr_0x0005E13C: ; preds = %instr_0x0005E138
%1726 = getelementptr i8* %ppu_state, i32 856
%1727 = bitcast i8* %1726 to i64*
%1728 = load i64* %1727, align 8
%1729 = getelementptr i8* %ppu_state, i32 840
%1730 = bitcast i8* %1729 to i64*
%1731 = load i64* %1730, align 8
%1732 = and i64 %1728, %1731
%1733 = getelementptr i8* %ppu_state, i32 840
%1734 = bitcast i8* %1733 to i64*
store i64 %1732, i64* %1734, align 8
br label %instr_0x0005E140
instr_0x0005E140: ; preds = %instr_0x0005E13C
%1735 = getelementptr i8* %ppu_state, i32 768
%1736 = bitcast i8* %1735 to i64*
%1737 = load i64* %1736, align 8
%1738 = getelementptr i8* %ppu_state, i32 992
%1739 = bitcast i8* %1738 to i64*
%1740 = load i64* %1739, align 8
%1741 = sub i64 %1740, %1737
%1742 = getelementptr i8* %ppu_state, i32 992
%1743 = bitcast i8* %1742 to i64*
store i64 %1741, i64* %1743, align 8
br label %instr_0x0005E144
instr_0x0005E144: ; preds = %instr_0x0005E140
%1744 = getelementptr i8* %ppu_state, i32 1008
%1745 = bitcast i8* %1744 to i64*
%1746 = load i64* %1745, align 8
%1747 = getelementptr i8* %ppu_state, i32 840
%1748 = bitcast i8* %1747 to i64*
%1749 = load i64* %1748, align 8
%1750 = add i64 %1746, %1749
%1751 = getelementptr i8* %ppu_state, i32 1008
%1752 = bitcast i8* %1751 to i64*
store i64 %1750, i64* %1752, align 8
br label %instr_0x0005E148
instr_0x0005E148: ; preds = %instr_0x0005E144
%1753 = getelementptr i8* %ppu_state, i32 1008
%1754 = bitcast i8* %1753 to i64*
%1755 = load i64* %1754, align 8
%1756 = getelementptr i8* %ppu_state, i32 992
%1757 = bitcast i8* %1756 to i64*
%1758 = load i64* %1757, align 8
%1759 = sub i64 %1758, %1755
%1760 = getelementptr i8* %ppu_state, i32 856
%1761 = bitcast i8* %1760 to i64*
store i64 %1759, i64* %1761, align 8
br label %instr_0x0005E14C
instr_0x0005E14C: ; preds = %instr_0x0005E148
%1762 = getelementptr i8* %ppu_state, i32 856
%1763 = bitcast i8* %1762 to i32*
%1764 = load i32* %1763, align 8
%1765 = sext i32 %1764 to i64
%1766 = icmp slt i64 %1765, 1
%1767 = icmp sgt i64 %1765, 1
%1768 = icmp eq i64 %1765, 1
%1769 = getelementptr i8* %ppu_state, i32 1540
%1770 = bitcast i8* %1769 to i32*
%1771 = load i32* %1770, align 4
%1772 = getelementptr i8* %ppu_state, i32 1544
%1773 = bitcast i8* %1772 to i64*
%1774 = load i64* %1773, align 8
%1775 = lshr i64 %1774, 31
%1776 = and i64 %1775, 1
%1777 = and i32 %1771, -16
%1778 = zext i1 %1766 to i32
%1779 = shl i32 %1778, 3
%1780 = or i32 %1777, %1779
%1781 = zext i1 %1767 to i32
%1782 = shl i32 %1781, 2
%1783 = or i32 %1780, %1782
%1784 = zext i1 %1768 to i32
%1785 = shl i32 %1784, 1
%1786 = or i32 %1783, %1785
%1787 = trunc i64 %1776 to i32
%1788 = or i32 %1786, %1787
%1789 = getelementptr i8* %ppu_state, i32 1540
%1790 = bitcast i8* %1789 to i32*
store i32 %1788, i32* %1790, align 4
br label %instr_0x0005E150
instr_0x0005E150: ; preds = %instr_0x0005E14C
%1791 = getelementptr i8* %ppu_state, i32 1576
%1792 = bitcast i8* %1791 to i64*
%1793 = load i64* %1792, align 8
%1794 = getelementptr i8* %ppu_state, i32 1540
%1795 = bitcast i8* %1794 to i32*
%1796 = load i32* %1795, align 4
%1797 = lshr i32 %1796, 2
%1798 = and i32 %1797, 1
%1799 = trunc i32 %1798 to i1
br i1 %1799, label %instr_0x0005E108, label %instr_0x0005E154
instr_0x0005E154: ; preds = %instr_0x0005E150, %instr_0x0005E100
%1800 = getelementptr i8* %ppu_state, i32 976
%1801 = bitcast i8* %1800 to i64*
%1802 = load i64* %1801, align 8
%1803 = add i64 %1802, 28
%1804 = and i64 %1803, 4294967295
%1805 = add i64 %1804, 2147418112
%1806 = inttoptr i64 %1805 to i32*
%1807 = load i32* %1806
%1808 = call i32 @llvm.bswap.i32(i32 %1807)
%1809 = zext i32 %1808 to i64
%1810 = getelementptr i8* %ppu_state, i32 840
%1811 = bitcast i8* %1810 to i64*
store i64 %1809, i64* %1811, align 8
br label %instr_0x0005E158
instr_0x0005E158: ; preds = %instr_0x0005E154
%1812 = getelementptr i8* %ppu_state, i32 1008
%1813 = bitcast i8* %1812 to i64*
%1814 = load i64* %1813, align 8
%1815 = getelementptr i8* %ppu_state, i32 840
%1816 = bitcast i8* %1815 to i64*
%1817 = load i64* %1816, align 8
%1818 = add i64 %1814, %1817
%1819 = getelementptr i8* %ppu_state, i32 840
%1820 = bitcast i8* %1819 to i64*
store i64 %1818, i64* %1820, align 8
br label %instr_0x0005E15C
instr_0x0005E15C: ; preds = %instr_0x0005E158
%1821 = getelementptr i8* %ppu_state, i32 840
%1822 = bitcast i8* %1821 to i64*
%1823 = load i64* %1822, align 8
%1824 = and i64 %1823, 4294967295
%1825 = getelementptr i8* %ppu_state, i32 840
%1826 = bitcast i8* %1825 to i64*
store i64 %1824, i64* %1826, align 8
br label %instr_0x0005E160
instr_0x0005E160: ; preds = %instr_0x0005E15C
%1827 = getelementptr i8* %ppu_state, i32 840
%1828 = bitcast i8* %1827 to i64*
%1829 = load i64* %1828, align 8
%1830 = add i64 %1829, 0
%1831 = and i64 %1830, 4294967295
%1832 = add i64 %1831, 2147418112
%1833 = inttoptr i64 %1832 to i8*
%1834 = load i8* %1833
%1835 = zext i8 %1834 to i64
%1836 = getelementptr i8* %ppu_state, i32 768
%1837 = bitcast i8* %1836 to i64*
store i64 %1835, i64* %1837, align 8
br label %instr_0x0005E164
instr_0x0005E164: ; preds = %instr_0x0005E160
%1838 = getelementptr i8* %ppu_state, i32 768
%1839 = load i8* %1838, align 8
%1840 = sext i8 %1839 to i64
%1841 = getelementptr i8* %ppu_state, i32 768
%1842 = bitcast i8* %1841 to i64*
store i64 %1840, i64* %1842, align 8
br label %instr_0x0005E168
instr_0x0005E168: ; preds = %instr_0x0005E164
%1843 = getelementptr i8* %ppu_state, i32 768
%1844 = bitcast i8* %1843 to i32*
%1845 = load i32* %1844, align 8
%1846 = sext i32 %1845 to i64
%1847 = getelementptr i8* %ppu_state, i32 1016
%1848 = bitcast i8* %1847 to i32*
%1849 = load i32* %1848, align 8
%1850 = sext i32 %1849 to i64
%1851 = icmp slt i64 %1846, %1850
%1852 = icmp sgt i64 %1846, %1850
%1853 = icmp eq i64 %1846, %1850
%1854 = getelementptr i8* %ppu_state, i32 1540
%1855 = bitcast i8* %1854 to i32*
%1856 = load i32* %1855, align 4
%1857 = getelementptr i8* %ppu_state, i32 1544
%1858 = bitcast i8* %1857 to i64*
%1859 = load i64* %1858, align 8
%1860 = lshr i64 %1859, 31
%1861 = and i64 %1860, 1
%1862 = and i32 %1856, -16
%1863 = zext i1 %1851 to i32
%1864 = shl i32 %1863, 3
%1865 = or i32 %1862, %1864
%1866 = zext i1 %1852 to i32
%1867 = shl i32 %1866, 2
%1868 = or i32 %1865, %1867
%1869 = zext i1 %1853 to i32
%1870 = shl i32 %1869, 1
%1871 = or i32 %1868, %1870
%1872 = trunc i64 %1861 to i32
%1873 = or i32 %1871, %1872
%1874 = getelementptr i8* %ppu_state, i32 1540
%1875 = bitcast i8* %1874 to i32*
store i32 %1873, i32* %1875, align 4
br label %instr_0x0005E16C
instr_0x0005E16C: ; preds = %instr_0x0005E168
%1876 = getelementptr i8* %ppu_state, i32 1576
%1877 = bitcast i8* %1876 to i64*
%1878 = load i64* %1877, align 8
%1879 = getelementptr i8* %ppu_state, i32 1540
%1880 = bitcast i8* %1879 to i32*
%1881 = load i32* %1880, align 4
%1882 = lshr i32 %1881, 2
%1883 = and i32 %1882, 1
%1884 = trunc i32 %1883 to i1
br i1 %1884, label %instr_0x0005E1F8, label %instr_0x0005E170
instr_0x0005E170: ; preds = %instr_0x0005E16C
%1885 = getelementptr i8* %ppu_state, i32 984
%1886 = bitcast i8* %1885 to i64*
%1887 = load i64* %1886, align 8
%1888 = getelementptr i8* %ppu_state, i32 984
%1889 = bitcast i8* %1888 to i64*
%1890 = load i64* %1889, align 8
%1891 = or i64 %1887, %1890
%1892 = getelementptr i8* %ppu_state, i32 792
%1893 = bitcast i8* %1892 to i64*
store i64 %1891, i64* %1893, align 8
br label %instr_0x0005E174
instr_0x0005E174: ; preds = %instr_0x0005E170
%1894 = getelementptr i8* %ppu_state, i32 768
%1895 = bitcast i8* %1894 to i32*
%1896 = load i32* %1895, align 8
%1897 = sext i32 %1896 to i64
%1898 = getelementptr i8* %ppu_state, i32 800
%1899 = bitcast i8* %1898 to i64*
store i64 %1897, i64* %1899, align 8
br label %instr_0x0005E178
instr_0x0005E178: ; preds = %instr_0x0005E174
%1900 = getelementptr i8* %ppu_state, i32 1568
%1901 = bitcast i8* %1900 to i64*
store i64 385404, i64* %1901, align 8
%1902 = getelementptr i8* %ppu_state, i32 1664
%1903 = bitcast i8* %1902 to i32*
store i32 367548, i32* %1903, align 4
%1904 = load i64* inttoptr (i64 8623094872 to i64*)
%1905 = inttoptr i64 %1904 to i32 (i8*, i64)*
%1906 = call i32 %1905(i8* %ppu_state, i64 0)
%1907 = icmp eq i32 %1906, -1
br i1 %1907, label %instr_0x0005E178_then_all_fs, label %instr_0x0005E178_merge_all_fs
instr_0x0005E178_then_all_fs: ; preds = %instr_0x0005E178
ret i32 0
instr_0x0005E178_merge_all_fs: ; preds = %instr_0x0005E178
br label %instr_0x0005E17C
instr_0x0005E17C: ; preds = %instr_0x0005E178_merge_all_fs
%1908 = getelementptr i8* %ppu_state, i32 768
%1909 = bitcast i8* %1908 to i64*
%1910 = load i64* %1909, align 8
%1911 = getelementptr i8* %ppu_state, i32 768
%1912 = bitcast i8* %1911 to i64*
store i64 %1910, i64* %1912, align 8
br label %instr_0x0005E180
instr_0x0005E180: ; preds = %instr_0x0005E17C
br label %instr_0x0005DF8C
instr_0x0005E184: ; preds = %instr_0x0005E03C, %instr_0x0005DF90
%1913 = phi i32 [ 385084, %instr_0x0005E03C ], [ 384912, %instr_0x0005DF90 ]
%1914 = getelementptr i8* %ppu_state, i32 1664
%1915 = bitcast i8* %1914 to i32*
store i32 385412, i32* %1915, align 4
%1916 = zext i32 %1913 to i64
%1917 = or i64 %1916, 1652205199294464
%1918 = load i64* inttoptr (i64 8623094880 to i64*)
%1919 = inttoptr i64 %1918 to i32 (i8*, i64)*
%1920 = call i32 %1919(i8* %ppu_state, i64 %1917)
%1921 = icmp eq i32 %1920, -1
br i1 %1921, label %instr_0x0005E184_then_all_fs, label %instr_0x0005E184_merge_all_fs
instr_0x0005E184_then_all_fs: ; preds = %instr_0x0005E184
ret i32 0
instr_0x0005E184_merge_all_fs: ; preds = %instr_0x0005E184
%1922 = icmp ne i32 %1920, 0
br i1 %1922, label %instr_0x0005E184_then_0, label %instr_0x0005E184_merge_0
instr_0x0005E184_then_0: ; preds = %instr_0x0005E184_merge_all_fs
%1923 = zext i32 %1920 to i64
%1924 = or i64 %1923, 1652205199294464
%1925 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %1924)
br label %instr_0x0005E184_merge_0
instr_0x0005E184_merge_0: ; preds = %instr_0x0005E184_then_0, %instr_0x0005E184_merge_all_fs
ret i32 0
instr_0x0005E188: ; preds = %instr_0x0005E1F4
%1926 = getelementptr i8* %ppu_state, i32 776
%1927 = bitcast i8* %1926 to i64*
%1928 = load i64* %1927, align 8
%1929 = add i64 %1928, 224
%1930 = and i64 %1929, 4294967295
%1931 = add i64 %1930, 2147418112
%1932 = inttoptr i64 %1931 to i64*
%1933 = load i64* %1932
%1934 = call i64 @llvm.bswap.i64(i64 %1933)
%1935 = getelementptr i8* %ppu_state, i32 768
%1936 = bitcast i8* %1935 to i64*
store i64 %1934, i64* %1936, align 8
br label %instr_0x0005E18C
instr_0x0005E18C: ; preds = %instr_0x0005E188
%1937 = getelementptr i8* %ppu_state, i32 792
%1938 = bitcast i8* %1937 to i32*
%1939 = load i32* %1938, align 8
%1940 = sext i32 %1939 to i64
%1941 = getelementptr i8* %ppu_state, i32 792
%1942 = bitcast i8* %1941 to i64*
store i64 %1940, i64* %1942, align 8
br label %instr_0x0005E190
instr_0x0005E190: ; preds = %instr_0x0005E18C
%1943 = getelementptr i8* %ppu_state, i32 776
%1944 = bitcast i8* %1943 to i64*
%1945 = load i64* %1944, align 8
%1946 = add i64 %1945, 216
%1947 = and i64 %1946, 4294967295
%1948 = add i64 %1947, 2147418112
%1949 = inttoptr i64 %1948 to i32*
%1950 = load i32* %1949
%1951 = call i32 @llvm.bswap.i32(i32 %1950)
%1952 = zext i32 %1951 to i64
%1953 = getelementptr i8* %ppu_state, i32 864
%1954 = bitcast i8* %1953 to i64*
store i64 %1952, i64* %1954, align 8
br label %instr_0x0005E194
instr_0x0005E194: ; preds = %instr_0x0005E190
%1955 = getelementptr i8* %ppu_state, i32 776
%1956 = bitcast i8* %1955 to i64*
%1957 = load i64* %1956, align 8
%1958 = add i64 %1957, 112
%1959 = and i64 %1958, 4294967295
%1960 = add i64 %1959, 2147418112
%1961 = inttoptr i64 %1960 to i64*
%1962 = load i64* %1961
%1963 = call i64 @llvm.bswap.i64(i64 %1962)
%1964 = getelementptr i8* %ppu_state, i32 928
%1965 = bitcast i8* %1964 to i64*
store i64 %1963, i64* %1965, align 8
br label %instr_0x0005E198
instr_0x0005E198: ; preds = %instr_0x0005E194
%1966 = getelementptr i8* %ppu_state, i32 768
%1967 = bitcast i8* %1966 to i64*
%1968 = load i64* %1967, align 8
%1969 = getelementptr i8* %ppu_state, i32 1568
%1970 = bitcast i8* %1969 to i64*
store i64 %1968, i64* %1970, align 8
br label %instr_0x0005E19C
instr_0x0005E19C: ; preds = %instr_0x0005E198
%1971 = getelementptr i8* %ppu_state, i32 776
%1972 = bitcast i8* %1971 to i64*
%1973 = load i64* %1972, align 8
%1974 = add i64 %1973, 120
%1975 = and i64 %1974, 4294967295
%1976 = add i64 %1975, 2147418112
%1977 = inttoptr i64 %1976 to i64*
%1978 = load i64* %1977
%1979 = call i64 @llvm.bswap.i64(i64 %1978)
%1980 = getelementptr i8* %ppu_state, i32 936
%1981 = bitcast i8* %1980 to i64*
store i64 %1979, i64* %1981, align 8
br label %instr_0x0005E1A0
instr_0x0005E1A0: ; preds = %instr_0x0005E19C
%1982 = getelementptr i8* %ppu_state, i32 864
%1983 = bitcast i8* %1982 to i32*
%1984 = load i32* %1983, align 8
%1985 = getelementptr i8* %ppu_state, i32 1540
%1986 = bitcast i8* %1985 to i32*
%1987 = load i32* %1986, align 4
%1988 = and i32 %1987, -983041
%1989 = and i32 %1984, -983041
%1990 = or i32 %1988, %1989
%1991 = getelementptr i8* %ppu_state, i32 1540
%1992 = bitcast i8* %1991 to i32*
store i32 %1990, i32* %1992, align 4
br label %instr_0x0005E1A4
instr_0x0005E1A4: ; preds = %instr_0x0005E1A0
%1993 = getelementptr i8* %ppu_state, i32 776
%1994 = bitcast i8* %1993 to i64*
%1995 = load i64* %1994, align 8
%1996 = add i64 %1995, 128
%1997 = and i64 %1996, 4294967295
%1998 = add i64 %1997, 2147418112
%1999 = inttoptr i64 %1998 to i64*
%2000 = load i64* %1999
%2001 = call i64 @llvm.bswap.i64(i64 %2000)
%2002 = getelementptr i8* %ppu_state, i32 944
%2003 = bitcast i8* %2002 to i64*
store i64 %2001, i64* %2003, align 8
br label %instr_0x0005E1A8
instr_0x0005E1A8: ; preds = %instr_0x0005E1A4
%2004 = getelementptr i8* %ppu_state, i32 776
%2005 = bitcast i8* %2004 to i64*
%2006 = load i64* %2005, align 8
%2007 = add i64 %2006, 136
%2008 = and i64 %2007, 4294967295
%2009 = add i64 %2008, 2147418112
%2010 = inttoptr i64 %2009 to i64*
%2011 = load i64* %2010
%2012 = call i64 @llvm.bswap.i64(i64 %2011)
%2013 = getelementptr i8* %ppu_state, i32 952
%2014 = bitcast i8* %2013 to i64*
store i64 %2012, i64* %2014, align 8
br label %instr_0x0005E1AC
instr_0x0005E1AC: ; preds = %instr_0x0005E1A8
%2015 = getelementptr i8* %ppu_state, i32 776
%2016 = bitcast i8* %2015 to i64*
%2017 = load i64* %2016, align 8
%2018 = add i64 %2017, 144
%2019 = and i64 %2018, 4294967295
%2020 = add i64 %2019, 2147418112
%2021 = inttoptr i64 %2020 to i64*
%2022 = load i64* %2021
%2023 = call i64 @llvm.bswap.i64(i64 %2022)
%2024 = getelementptr i8* %ppu_state, i32 960
%2025 = bitcast i8* %2024 to i64*
store i64 %2023, i64* %2025, align 8
br label %instr_0x0005E1B0
instr_0x0005E1B0: ; preds = %instr_0x0005E1AC
%2026 = getelementptr i8* %ppu_state, i32 776
%2027 = bitcast i8* %2026 to i64*
%2028 = load i64* %2027, align 8
%2029 = add i64 %2028, 152
%2030 = and i64 %2029, 4294967295
%2031 = add i64 %2030, 2147418112
%2032 = inttoptr i64 %2031 to i64*
%2033 = load i64* %2032
%2034 = call i64 @llvm.bswap.i64(i64 %2033)
%2035 = getelementptr i8* %ppu_state, i32 968
%2036 = bitcast i8* %2035 to i64*
store i64 %2034, i64* %2036, align 8
br label %instr_0x0005E1B4
instr_0x0005E1B4: ; preds = %instr_0x0005E1B0
%2037 = getelementptr i8* %ppu_state, i32 776
%2038 = bitcast i8* %2037 to i64*
%2039 = load i64* %2038, align 8
%2040 = add i64 %2039, 160
%2041 = and i64 %2040, 4294967295
%2042 = add i64 %2041, 2147418112
%2043 = inttoptr i64 %2042 to i64*
%2044 = load i64* %2043
%2045 = call i64 @llvm.bswap.i64(i64 %2044)
%2046 = getelementptr i8* %ppu_state, i32 976
%2047 = bitcast i8* %2046 to i64*
store i64 %2045, i64* %2047, align 8
br label %instr_0x0005E1B8
instr_0x0005E1B8: ; preds = %instr_0x0005E1B4
%2048 = getelementptr i8* %ppu_state, i32 776
%2049 = bitcast i8* %2048 to i64*
%2050 = load i64* %2049, align 8
%2051 = add i64 %2050, 168
%2052 = and i64 %2051, 4294967295
%2053 = add i64 %2052, 2147418112
%2054 = inttoptr i64 %2053 to i64*
%2055 = load i64* %2054
%2056 = call i64 @llvm.bswap.i64(i64 %2055)
%2057 = getelementptr i8* %ppu_state, i32 984
%2058 = bitcast i8* %2057 to i64*
store i64 %2056, i64* %2058, align 8
br label %instr_0x0005E1BC
instr_0x0005E1BC: ; preds = %instr_0x0005E1B8
%2059 = getelementptr i8* %ppu_state, i32 776
%2060 = bitcast i8* %2059 to i64*
%2061 = load i64* %2060, align 8
%2062 = add i64 %2061, 176
%2063 = and i64 %2062, 4294967295
%2064 = add i64 %2063, 2147418112
%2065 = inttoptr i64 %2064 to i64*
%2066 = load i64* %2065
%2067 = call i64 @llvm.bswap.i64(i64 %2066)
%2068 = getelementptr i8* %ppu_state, i32 992
%2069 = bitcast i8* %2068 to i64*
store i64 %2067, i64* %2069, align 8
br label %instr_0x0005E1C0
instr_0x0005E1C0: ; preds = %instr_0x0005E1BC
%2070 = getelementptr i8* %ppu_state, i32 776
%2071 = bitcast i8* %2070 to i64*
%2072 = load i64* %2071, align 8
%2073 = add i64 %2072, 184
%2074 = and i64 %2073, 4294967295
%2075 = add i64 %2074, 2147418112
%2076 = inttoptr i64 %2075 to i64*
%2077 = load i64* %2076
%2078 = call i64 @llvm.bswap.i64(i64 %2077)
%2079 = getelementptr i8* %ppu_state, i32 1000
%2080 = bitcast i8* %2079 to i64*
store i64 %2078, i64* %2080, align 8
br label %instr_0x0005E1C4
instr_0x0005E1C4: ; preds = %instr_0x0005E1C0
%2081 = getelementptr i8* %ppu_state, i32 776
%2082 = bitcast i8* %2081 to i64*
%2083 = load i64* %2082, align 8
%2084 = add i64 %2083, 192
%2085 = and i64 %2084, 4294967295
%2086 = add i64 %2085, 2147418112
%2087 = inttoptr i64 %2086 to i64*
%2088 = load i64* %2087
%2089 = call i64 @llvm.bswap.i64(i64 %2088)
%2090 = getelementptr i8* %ppu_state, i32 1008
%2091 = bitcast i8* %2090 to i64*
store i64 %2089, i64* %2091, align 8
br label %instr_0x0005E1C8
instr_0x0005E1C8: ; preds = %instr_0x0005E1C4
%2092 = getelementptr i8* %ppu_state, i32 776
%2093 = bitcast i8* %2092 to i64*
%2094 = load i64* %2093, align 8
%2095 = add i64 %2094, 200
%2096 = and i64 %2095, 4294967295
%2097 = add i64 %2096, 2147418112
%2098 = inttoptr i64 %2097 to i64*
%2099 = load i64* %2098
%2100 = call i64 @llvm.bswap.i64(i64 %2099)
%2101 = getelementptr i8* %ppu_state, i32 1016
%2102 = bitcast i8* %2101 to i64*
store i64 %2100, i64* %2102, align 8
br label %instr_0x0005E1CC
instr_0x0005E1CC: ; preds = %instr_0x0005E1C8
%2103 = getelementptr i8* %ppu_state, i32 776
%2104 = bitcast i8* %2103 to i64*
%2105 = load i64* %2104, align 8
%2106 = add i64 %2105, 208
%2107 = getelementptr i8* %ppu_state, i32 776
%2108 = bitcast i8* %2107 to i64*
store i64 %2106, i64* %2108, align 8
br label %instr_0x0005E1D0
instr_0x0005E1D0: ; preds = %instr_0x0005E1CC
%2109 = getelementptr i8* %ppu_state, i32 1568
%2110 = bitcast i8* %2109 to i64*
%2111 = load i64* %2110, align 8
%2112 = and i64 %2111, -4
%2113 = trunc i64 %2112 to i32
%2114 = getelementptr i8* %ppu_state, i32 1576
%2115 = bitcast i8* %2114 to i64*
%2116 = load i64* %2115, align 8
%2117 = getelementptr i8* %ppu_state, i32 1664
%2118 = bitcast i8* %2117 to i32*
store i32 %2113, i32* %2118, align 4
ret i32 0
instr_0x0005E1D4: ; preds = %instr_0x0005DF44
%2119 = getelementptr i8* %ppu_state, i32 976
%2120 = bitcast i8* %2119 to i64*
%2121 = load i64* %2120, align 8
%2122 = add i64 %2121, 8
%2123 = and i64 %2122, 4294967295
%2124 = add i64 %2123, 2147418112
%2125 = inttoptr i64 %2124 to i32*
%2126 = load i32* %2125
%2127 = call i32 @llvm.bswap.i32(i32 %2126)
%2128 = zext i32 %2127 to i64
%2129 = getelementptr i8* %ppu_state, i32 992
%2130 = bitcast i8* %2129 to i64*
store i64 %2128, i64* %2130, align 8
br label %instr_0x0005E1D8
instr_0x0005E1D8: ; preds = %instr_0x0005E1D4
%2131 = getelementptr i8* %ppu_state, i32 1008
%2132 = bitcast i8* %2131 to i64*
store i64 0, i64* %2132, align 8
br label %instr_0x0005E1DC
instr_0x0005E1DC: ; preds = %instr_0x0005E1D8
br label %instr_0x0005E014
instr_0x0005E1E0: ; preds = %instr_0x0005DFF4
%2133 = getelementptr i8* %ppu_state, i32 960
%2134 = bitcast i8* %2133 to i64*
%2135 = load i64* %2134, align 8
%2136 = add i64 %2135, 1
%2137 = getelementptr i8* %ppu_state, i32 960
%2138 = bitcast i8* %2137 to i64*
store i64 %2136, i64* %2138, align 8
br label %instr_0x0005E1E4
instr_0x0005E1E4: ; preds = %instr_0x0005E1E0
%2139 = getelementptr i8* %ppu_state, i32 936
%2140 = bitcast i8* %2139 to i64*
store i64 0, i64* %2140, align 8
br label %instr_0x0005E1E8
instr_0x0005E1E8: ; preds = %instr_0x0005E1E4
%2141 = getelementptr i8* %ppu_state, i32 1576
%2142 = bitcast i8* %2141 to i64*
%2143 = load i64* %2142, align 8
%2144 = sub i64 %2143, 1
%2145 = getelementptr i8* %ppu_state, i32 1576
%2146 = bitcast i8* %2145 to i64*
store i64 %2144, i64* %2146, align 8
%2147 = icmp ne i64 %2144, 0
%2148 = xor i1 %2147, true
br i1 %2148, label %instr_0x0005DFFC, label %instr_0x0005E1EC
instr_0x0005E1EC: ; preds = %instr_0x0005E1E8
br label %instr_0x0005DFB8
instr_0x0005E1F0: ; preds = %instr_0x0005DF20, %instr_0x0005DF08
%2149 = getelementptr i8* %ppu_state, i32 792
%2150 = bitcast i8* %2149 to i64*
store i64 0, i64* %2150, align 8
br label %instr_0x0005E1F4
instr_0x0005E1F4: ; preds = %instr_0x0005E1F0
br label %instr_0x0005E188
instr_0x0005E1F8: ; preds = %instr_0x0005E16C
%2151 = phi i32 [ 385388, %instr_0x0005E16C ]
%2152 = getelementptr i8* %ppu_state, i32 1664
%2153 = bitcast i8* %2152 to i32*
store i32 385528, i32* %2153, align 4
%2154 = zext i32 %2151 to i64
%2155 = or i64 %2154, 1652205199294464
%2156 = load i64* inttoptr (i64 8623094880 to i64*)
%2157 = inttoptr i64 %2156 to i32 (i8*, i64)*
%2158 = call i32 %2157(i8* %ppu_state, i64 %2155)
%2159 = icmp eq i32 %2158, -1
br i1 %2159, label %instr_0x0005E1F8_then_all_fs, label %instr_0x0005E1F8_merge_all_fs
instr_0x0005E1F8_then_all_fs: ; preds = %instr_0x0005E1F8
ret i32 0
instr_0x0005E1F8_merge_all_fs: ; preds = %instr_0x0005E1F8
%2160 = icmp ne i32 %2158, 0
br i1 %2160, label %instr_0x0005E1F8_then_0, label %instr_0x0005E1F8_merge_0
instr_0x0005E1F8_then_0: ; preds = %instr_0x0005E1F8_merge_all_fs
%2161 = zext i32 %2158 to i64
%2162 = or i64 %2161, 1652205199294464
%2163 = call i32 @execute_unknown_block(i8* %ppu_state, i64 %2162)
br label %instr_0x0005E1F8_merge_0
instr_0x0005E1F8_merge_0: ; preds = %instr_0x0005E1F8_then_0, %instr_0x0005E1F8_merge_all_fs
ret i32 0
}
; 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