diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.bir b/BCB/Cheang et al/Figure 3b/Figure_3b.bir
index 7854eca749c3c01f707b03f74055afdac4f51914..312bed7b70b576a2509f7c2b50723ce76ea217d6 100644
--- a/BCB/Cheang et al/Figure 3b/Figure_3b.bir	
+++ b/BCB/Cheang et al/Figure 3b/Figure_3b.bir	
@@ -1,2087 +1,2401 @@
-00019876: program
-00019546: sub foo(foo_result)
-000198e6: foo_result :: out u32 = low:32[RAX]
-
-00014397:
-00014399: goto %0001343b
-
-0001343b:
-00013441: RAX := pad:64[mem[0x180008223]]
-00013463: CF := low:32[RCX] < low:32[RAX]
-00013484: when ~CF goto %00013481
-00019877: goto %000134f7
-
-00013481:
-00013493: RAX := 63:8[RAX].0
-000134b2: #12582290 := mem[RSP, el]:u64
-000134b6: RSP := RSP + 8
-000134b9: call #12582290 with noreturn
-
-000134f7:
-000134ff: RAX := pad:64[low:32[RCX]]
-00013505: RDX := 0x180000000
-00013511: RCX := pad:64[mem[RAX + 0x180008230]]
-00013519: RAX := pad:64[mem[0x180008218]]
-0001352f: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]]
-00013533: RCX := pad:64[low:32[#12582289]]
-00013555: RAX := pad:64[mem[RCX + 0x180008228]]
-00013562: #12582288 := mem[RSP, el]:u64
-00013566: RSP := RSP + 8
-00013569: call #12582288 with noreturn
-
-00019548: sub sub_180001005(sub_180001005_result)
-000198e7: sub_180001005_result :: out u32 = low:32[RAX]
-
-00004a00:
-00004a03: goto %00004a01
-
-00004a01:
-00004a0e: mem := mem with [RSP + 8, el]:u64 <- RBX
-00004a1a: mem := mem with [RSP + 0x10, el]:u64 <- RSI
-00004a28: #12582911 := RDI
-00004a2c: RSP := RSP - 8
-00004a32: mem := mem with [RSP, el]:u64 <- #12582911
-00004a50: RSP := RSP - 0x20
-00004a74: RDI := R8
-00004a7c: RBX := pad:64[low:32[RDX]]
-00004a84: RSI := RCX
-00004a9c: #12582907 := low:32[RDX] - 1
-00004ab8: ZF := 0 = #12582907
-00004abf: when ~ZF goto %00004abc
-00019878: goto %00019533
-
-00019533:
-0001953c: RSP := RSP - 8
-00019541: mem := mem with [RSP, el]:u64 <- 0x180001785
-00019543: call @sub_1800010fa with return %00004abc
-
-00004abc:
-00004ac8: R8 := RDI
-00004ad0: RDX := pad:64[low:32[RBX]]
-00004ad8: RCX := RSI
-00004ae2: RBX := mem[RSP + 0x30, el]:u64
-00004aec: RSI := mem[RSP + 0x38, el]:u64
-00004b0d: RSP := RSP + 0x20
-00004b38: RDI := mem[RSP, el]:u64
-00004b3c: RSP := RSP + 8
-00004b41: call @sub_1800015bc with noreturn
-
-0001954a: sub sub_18000100f(sub_18000100f_result)
-000198e8: sub_18000100f_result :: out u32 = low:32[RAX]
-
-000118a5:
-000118b4: goto %000118b2
-
-000118b2:
-000118b9: RAX := 0x180008198
-000118c6: #12582417 := mem[RSP, el]:u64
-000118ca: RSP := RSP + 8
-000118cd: call #12582417 with noreturn
-
-0001954b: sub sub_180001019(sub_180001019_result)
-000198e9: sub_180001019_result :: out u32 = low:32[RAX]
-
-0001190d:
-00011910: goto %0001190e
-
-0001190e:
-0001192d: RSP := RSP - 0x28
-00011955: RCX := 0
-00011972: RSP := RSP - 8
-00011977: mem := mem with [RSP, el]:u64 <- 0x180001AFB
-00011979: call @sub_18000105a with return %0001197b
-
-0001197b:
-0001198b: #12582412 := low:8[RAX]
-000119a1: ZF := 0 = #12582412
-000119ab: RAX := 63:8[RAX].pad:8[~ZF]
-000119cc: RSP := RSP + 0x28
-000119f8: #12582407 := mem[RSP, el]:u64
-000119fc: RSP := RSP + 8
-000119ff: call #12582407 with noreturn
-
-0001954c: sub sub_18000101e(sub_18000101e_result)
-000198ea: sub_18000101e_result :: out u32 = low:32[RAX]
-
-0001206b:
-0001206d: goto %000118df
-
-000118df:
-000118e3: RAX := 0x1800081A8
-000118f0: #12582416 := mem[RSP, el]:u64
-000118f4: RSP := RSP + 8
-000118f7: call #12582416 with noreturn
-
-0001954d: sub sub_18000102d(sub_18000102d_result)
-000198eb: sub_18000102d_result :: out u32 = low:32[RAX]
-
-00011803:
-00011811: call @sub_1800027a0 with noreturn
-
-0001954e: sub sub_180001032(sub_180001032_result)
-000198ec: sub_180001032_result :: out u32 = low:32[RAX]
-
-00011813:
-00011815: goto %00004edb
-
-00004edb:
-00004ee5: RAX := 0
-00004f04: #12582878 := mem[RSP, el]:u64
-00004f08: RSP := RSP + 8
-00004f0b: call #12582878 with noreturn
-
-0001954f: sub sub_18000103c(sub_18000103c_result)
-000198ed: sub_18000103c_result :: out u32 = low:32[RAX]
-
-0000dd5b:
-0000dd6a: goto %0000dd68
-
-0000dd68:
-0000dd77: #12582819 := RBX
-0000dd7b: RSP := RSP - 8
-0000dd81: mem := mem with [RSP, el]:u64 <- #12582819
-0000dd9f: RSP := RSP - 0x20
-0000ddd3: #12582815 := mem[0x1800081D0, el]:u64 - 0xFFFFFFFFFFFFFFFF
-0000ddef: ZF := 0 = #12582815
-0000ddf7: RBX := RCX
-0000ddfe: when ~ZF goto %0000ddfb
-00019879: goto %0000df81
-
-0000ddfb:
-0000de07: RDX := RBX
-0000de0d: RCX := 0x1800081D0
-0000de18: RSP := RSP - 8
-0000de1d: mem := mem with [RSP, el]:u64 <- 0x180001E85
-0000de1f: call @sub_18000277c with return %0000de21
-
-0000df81:
-0000df8a: RSP := RSP - 8
-0000df8f: mem := mem with [RSP, el]:u64 <- 0x180001E74
-0000df91: call @sub_180002788 with return %0000df93
-
-0000df93:
-0000df95: goto %0000de21
-
-0000de21:
-0000de2b: RDX := 0
-0000de4f: #12582813 := low:32[RAX]
-0000de65: ZF := 0 = #12582813
-0000de71: RDX := if ZF then RBX else 0
-0000de79: RAX := RDX
-0000de9a: RSP := RSP + 0x20
-0000dec5: RBX := mem[RSP, el]:u64
-0000dec9: RSP := RSP + 8
-0000ded6: #12582808 := mem[RSP, el]:u64
-0000deda: RSP := RSP + 8
-0000dedd: call #12582808 with noreturn
-
-00019551: sub sub_180001041(sub_180001041_result)
-000198ee: sub_180001041_result :: out u32 = low:32[RAX]
-
-0000df97:
-0000df99: goto %00004dad
-
-00004dad:
-00004db1: RCX := 0x180008180
-00004db7: call mem[0x18000A028, el]:u64 with noreturn
-
-00019552: sub sub_180001046(sub_180001046_result)
-000198ef: sub_180001046_result :: out u32 = low:32[RAX]
-
-0000df9b:
-0000df9d: call @sub_1800027ac with noreturn
+000194f8: program
+000194f9: sub foo(foo_result)
+000195a6: foo_result :: out u32 = low:32[RAX]
+
+0001434a:
+0001434c: goto %000133db
+
+000133db:
+000133e1: RAX := pad:64[mem[0x180008175]]
+00013403: CF := low:32[RCX] < low:32[RAX]
+00013424: when ~CF goto %00013421
+000194fa: goto %0001349b
+
+00013421:
+00013433: RAX := 63:8[RAX].0
+00013452: #12582290 := mem[RSP, el]:u64
+00013456: RSP := RSP + 8
+00013459: call #12582290 with noreturn
+
+0001349b:
+000134a2: call @intrinsic:llvm-x86_64:LFENCE with return %000134a4
+
+000134a4:
+000134aa: call @intrinsic:llvm-x86_64:LFENCE with return %000134ac
+
+000134ac:
+000134b2: RAX := pad:64[low:32[RCX]]
+000134b8: RDX := 0x180000000
+000134c4: RCX := pad:64[mem[RAX + 0x180008190]]
+000134cc: RAX := pad:64[mem[0x180008174]]
+000134e2: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]]
+000134e6: RCX := pad:64[low:32[#12582289]]
+00013508: RAX := pad:64[mem[RCX + 0x180008178]]
+00013515: #12582288 := mem[RSP, el]:u64
+00013519: RSP := RSP + 8
+0001351c: call #12582288 with noreturn
+
+000194fb: sub sub_180001005(sub_180001005_result)
+000195a7: sub_180001005_result :: out u32 = low:32[RAX]
+
+000049f0:
+000049f3: goto %000049f1
+
+000049f1:
+000049fe: mem := mem with [RSP + 8, el]:u64 <- RBX
+00004a0a: mem := mem with [RSP + 0x10, el]:u64 <- RSI
+00004a18: #12582911 := RDI
+00004a1c: RSP := RSP - 8
+00004a22: mem := mem with [RSP, el]:u64 <- #12582911
+00004a40: RSP := RSP - 0x20
+00004a64: RDI := R8
+00004a6c: RBX := pad:64[low:32[RDX]]
+00004a74: RSI := RCX
+00004a8c: #12582907 := low:32[RDX] - 1
+00004aa8: ZF := 0 = #12582907
+00004aaf: when ~ZF goto %00004aac
+000194fc: goto %000194e6
+
+000194e6:
+000194ef: RSP := RSP - 8
+000194f4: mem := mem with [RSP, el]:u64 <- 0x180001789
+000194f6: call @sub_1800010fa with return %00004aac
+
+00004aac:
+00004ab8: R8 := RDI
+00004ac0: RDX := pad:64[low:32[RBX]]
+00004ac8: RCX := RSI
+00004ad2: RBX := mem[RSP + 0x30, el]:u64
+00004adc: RSI := mem[RSP + 0x38, el]:u64
+00004afd: RSP := RSP + 0x20
+00004b28: RDI := mem[RSP, el]:u64
+00004b2c: RSP := RSP + 8
+00004b31: call @sub_1800015c0 with noreturn
+
+000194fd: sub sub_18000100f(sub_18000100f_result)
+000195a8: sub_18000100f_result :: out u32 = low:32[RAX]
 
-00019553: sub sub_180001055(sub_180001055_result)
-000198f0: sub_180001055_result :: out u32 = low:32[RAX]
-
-0000f067:
-0000f069: call @sub_1800027a4 with noreturn
-
-00019554: sub sub_18000105a(sub_18000105a_result)
-000198f1: sub_18000105a_result :: out u32 = low:32[RAX]
-
-0000f06b:
-0000f06e: goto %0000f06c
-
-0000f06c:
-0000f07b: #12582710 := RBX
-0000f07f: RSP := RSP - 8
-0000f085: mem := mem with [RSP, el]:u64 <- #12582710
-0000f0a3: RSP := RSP - 0x20
-0000f0d7: #12582706 := mem[0x1800081C9]
-0000f0f3: ZF := 0 = #12582706
-0000f0fb: RBX := pad:64[low:32[RCX]]
-0000f102: when ~ZF goto %0000f0ff
-00019883: goto %000141d3
-
-000141d3:
-000141e9: #12582218 := low:32[RCX] - 1
-000141ed: CF := low:32[RCX] < 1
-00014205: ZF := 0 = #12582218
-0001420d: when ~(CF | ZF) goto %0000f171
-00019882: goto %00014211
-
-0000f171:
-0000f175: RCX := 5
-0000f181: RSP := RSP - 8
-0000f186: mem := mem with [RSP, el]:u64 <- 0x180001D12
-0000f188: call @sub_18000114a with return %0001413b
-
-0001413b:
-0001413d: call @interrupt:#3 with noreturn
-
-0001413f:
-00014141: call @interrupt:#3 with noreturn
-
-00014143:
-00014145: call @interrupt:#3 with noreturn
-
-00014147:
-00014149: call @interrupt:#3 with noreturn
-
-0001414b:
-0001414d: call @interrupt:#3 with noreturn
-
-0001414f:
-00014151: call @interrupt:#3 with noreturn
-
-00014153:
-00014155: call @interrupt:#3 with noreturn
-
-00014157:
-00014159: call @interrupt:#3 with noreturn
-
-0001415b:
-0001415d: call @interrupt:#3 with noreturn
-
-0001415f:
-00014161: call @interrupt:#3 with noreturn
-
-00014163:
-00014165: call @interrupt:#3 with noreturn
-
-00014167:
-00014169: call @interrupt:#3 with noreturn
-
-0001416b:
-0001416d: call @interrupt:#3 with noreturn
-
-0001416f:
-00014171: call @interrupt:#3 with noreturn
-
-00014173:
-00014175: call @interrupt:#3 with noreturn
-
-00014177:
-00014179: call @interrupt:#3 with noreturn
-
-0001417b:
-0001417d: call @interrupt:#3 with noreturn
-
-0001417f:
-00014181: call @interrupt:#3 with noreturn
-
-00014183:
-00014185: call @interrupt:#3 with noreturn
-
-00014187:
-00014189: call @interrupt:#3 with noreturn
-
-0001418b:
-0001418d: call @interrupt:#3 with noreturn
+00011845:
+00011854: goto %00011852
+
+00011852:
+00011859: RAX := 0x180008198
+00011866: #12582417 := mem[RSP, el]:u64
+0001186a: RSP := RSP + 8
+0001186d: call #12582417 with noreturn
+
+000194fe: sub sub_180001019(sub_180001019_result)
+000195a9: sub_180001019_result :: out u32 = low:32[RAX]
+
+000118ad:
+000118b0: goto %000118ae
+
+000118ae:
+000118cd: RSP := RSP - 0x28
+000118f5: RCX := 0
+00011912: RSP := RSP - 8
+00011917: mem := mem with [RSP, el]:u64 <- 0x180001AFF
+00011919: call @sub_18000105a with return %0001191b
+
+0001191b:
+0001192b: #12582412 := low:8[RAX]
+00011941: ZF := 0 = #12582412
+0001194b: RAX := 63:8[RAX].pad:8[~ZF]
+0001196c: RSP := RSP + 0x28
+00011998: #12582407 := mem[RSP, el]:u64
+0001199c: RSP := RSP + 8
+0001199f: call #12582407 with noreturn
+
+000194ff: sub sub_18000101e(sub_18000101e_result)
+000195aa: sub_18000101e_result :: out u32 = low:32[RAX]
+
+0001200b:
+0001200d: goto %0001187f
+
+0001187f:
+00011883: RAX := 0x1800081A8
+00011890: #12582416 := mem[RSP, el]:u64
+00011894: RSP := RSP + 8
+00011897: call #12582416 with noreturn
+
+00019500: sub sub_18000102d(sub_18000102d_result)
+000195ab: sub_18000102d_result :: out u32 = low:32[RAX]
+
+000117a3:
+000117b1: call @sub_1800027a0 with noreturn
+
+00019501: sub sub_180001032(sub_180001032_result)
+000195ac: sub_180001032_result :: out u32 = low:32[RAX]
+
+000117b3:
+000117b5: goto %00004ecb
+
+00004ecb:
+00004ed5: RAX := 0
+00004ed8: AF := unknown[bits]:u1
+00004edb: ZF := 1
+00004ede: PF := 1
+00004ee1: OF := 0
+00004ee4: CF := 0
+00004ee7: SF := 0
+00004ef8: RSP := RSP + 8
+00004efb: call #12582878 with noreturn
+
+00019502: sub sub_18000103c(sub_18000103c_result)
+000195ad: sub_18000103c_result :: out u32 = low:32[RAX]
+
+0000dcfb:
+0000dd0a: goto %0000dd08
+
+0000dd08:
+0000dd17: #12582819 := RBX
+0000dd1b: RSP := RSP - 8
+0000dd21: mem := mem with [RSP, el]:u64 <- #12582819
+0000dd3f: RSP := RSP - 0x20
+0000dd73: #12582815 := mem[0x1800081D0, el]:u64 - 0xFFFFFFFFFFFFFFFF
+0000dd8f: ZF := 0 = #12582815
+0000dd97: RBX := RCX
+0000dd9e: when ~ZF goto %0000dd9b
+00019503: goto %0000df21
+
+0000dd9b:
+0000dda7: RDX := RBX
+0000ddad: RCX := 0x1800081D0
+0000ddb8: RSP := RSP - 8
+0000ddbd: mem := mem with [RSP, el]:u64 <- 0x180001E89
+0000ddbf: call @sub_18000277c with return %0000ddc1
+
+0000df21:
+0000df2a: RSP := RSP - 8
+0000df2f: mem := mem with [RSP, el]:u64 <- 0x180001E78
+0000df31: call @sub_180002788 with return %0000df33
+
+0000df33:
+0000df35: goto %0000ddc1
+
+0000ddc1:
+0000ddcb: RDX := 0
+0000ddef: #12582813 := low:32[RAX]
+0000de05: ZF := 0 = #12582813
+0000de11: RDX := if ZF then RBX else 0
+0000de19: RAX := RDX
+0000de3a: RSP := RSP + 0x20
+0000de65: RBX := mem[RSP, el]:u64
+0000de69: RSP := RSP + 8
+0000de76: #12582808 := mem[RSP, el]:u64
+0000de7a: RSP := RSP + 8
+0000de7d: call #12582808 with noreturn
+
+00019504: sub sub_180001041(sub_180001041_result)
+000195ae: sub_180001041_result :: out u32 = low:32[RAX]
+
+0000df37:
+0000df39: goto %00004d9d
+
+00004d9d:
+00004da1: RCX := 0x180008180
+00004da7: call mem[0x18000A028, el]:u64 with noreturn
+
+00019505: sub sub_180001046(sub_180001046_result)
+000195af: sub_180001046_result :: out u32 = low:32[RAX]
+
+0000df3b:
+0000df3d: call @sub_1800027ac with noreturn
+
+00019506: sub sub_180001055(sub_180001055_result)
+000195b0: sub_180001055_result :: out u32 = low:32[RAX]
+
+0000f007:
+0000f009: call @sub_1800027a4 with noreturn
+
+00019507: sub sub_18000105a(sub_18000105a_result)
+000195b1: sub_18000105a_result :: out u32 = low:32[RAX]
+
+0000f00b:
+0000f00e: goto %0000f00c
+
+0000f00c:
+0000f01b: #12582710 := RBX
+0000f01f: RSP := RSP - 8
+0000f025: mem := mem with [RSP, el]:u64 <- #12582710
+0000f043: RSP := RSP - 0x20
+0000f077: #12582706 := mem[0x1800081C9]
+0000f093: ZF := 0 = #12582706
+0000f09b: RBX := pad:64[low:32[RCX]]
+0000f0a2: when ~ZF goto %0000f09f
+00019511: goto %00014186
+
+00014186:
+0001419c: #12582218 := low:32[RCX] - 1
+000141a0: CF := low:32[RCX] < 1
+000141a6: OF := high:1[(low:32[RCX] ^ 1) & (low:32[RCX] ^ #12582218)]
+000141ab: AF := 0x10 = (0x10 & (#12582218 ^ low:32[RCX] ^ 1))
+000141b0: PF :=
+          ~low:1[let $0 = #12582218 >> 4 ^ #12582218 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000141b4: SF := high:1[#12582218]
+000141b8: ZF := 0 = #12582218
+000141c0: when ~(CF | ZF) goto %0000f111
+00019510: goto %000141c4
 
-0001418f:
-00014191: call @interrupt:#3 with noreturn
+0000f111:
+0000f115: RCX := 5
+0000f121: RSP := RSP - 8
+0000f126: mem := mem with [RSP, el]:u64 <- 0x180001D16
+0000f128: call @sub_18000114a with return %000140ee
 
-00014193:
-00014195: call @interrupt:#3 with noreturn
+000140ee:
+000140f0: call @interrupt:#3 with noreturn
 
-00014197:
-00014199: call @interrupt:#3 with noreturn
+000140f2:
+000140f4: call @interrupt:#3 with noreturn
 
-0001419b:
-0001419d: call @interrupt:#3 with noreturn
+000140f6:
+000140f8: call @interrupt:#3 with noreturn
 
-0001419f:
-000141a1: call @interrupt:#3 with noreturn
+000140fa:
+000140fc: call @interrupt:#3 with noreturn
 
-000141a3:
-000141a5: call @interrupt:#3 with noreturn
+000140fe:
+00014100: call @interrupt:#3 with noreturn
 
-000141a7:
-000141a9: call @interrupt:#3 with noreturn
+00014102:
+00014104: call @interrupt:#3 with noreturn
 
-000141ab:
-000141ad: call @interrupt:#3 with noreturn
+00014106:
+00014108: call @interrupt:#3 with noreturn
 
-000141af:
-000141b1: call @interrupt:#3 with noreturn
+0001410a:
+0001410c: call @interrupt:#3 with noreturn
 
-000141b3:
-000141b5: call @interrupt:#3 with noreturn
+0001410e:
+00014110: call @interrupt:#3 with noreturn
 
-000141b7:
-000141b9: call @interrupt:#3 with noreturn
+00014112:
+00014114: call @interrupt:#3 with noreturn
 
-000141bb:
-000141bd: call @interrupt:#3 with noreturn
+00014116:
+00014118: call @interrupt:#3 with noreturn
 
-000141bf:
-000141c1: call @interrupt:#3 with noreturn
+0001411a:
+0001411c: call @interrupt:#3 with noreturn
 
-000141c3:
-000141c5: call @interrupt:#3 with noreturn
+0001411e:
+00014120: call @interrupt:#3 with noreturn
 
-000141c7:
-000141c9: call @interrupt:#3 with noreturn
+00014122:
+00014124: call @interrupt:#3 with noreturn
 
-000141cb:
-000141cd: call @interrupt:#3 with noreturn
+00014126:
+00014128: call @interrupt:#3 with noreturn
 
-000141cf:
-000141d1: call @interrupt:#3 with noreturn
-00019881: call @sub_180001d38 with noreturn
+0001412a:
+0001412c: call @interrupt:#3 with noreturn
 
-00014211:
-0001421a: RSP := RSP - 8
-0001421f: mem := mem with [RSP, el]:u64 <- 0x180001CA3
-00014221: call @sub_180001087 with return %00014223
+0001412e:
+00014130: call @interrupt:#3 with noreturn
 
-00014223:
-00014233: #12582216 := low:32[RAX]
-00014249: ZF := 0 = #12582216
-00014250: when ZF goto %0001424d
-00019880: goto %000142ab
-
-000142ab:
-000142bb: #12582213 := low:32[RBX]
-000142d1: ZF := 0 = #12582213
-000142d7: when ~ZF goto %0001424d
-0001987f: goto %000142db
-
-0001424d:
-0001425b: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128
-00014267: RAX := 0xFFFFFFFFFFFFFFFF
-00014283: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0]
-0001428d: mem := mem with [0x1800081E0, el]:u64 <- 0xFFFFFFFFFFFFFFFF
-00014297: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0]
-000142a1: mem := mem with [0x1800081F8, el]:u64 <- 0xFFFFFFFFFFFFFFFF
-0001987e: goto %000142a3
-
-000142db:
-000142df: RCX := 0x1800081D0
-000142ea: RSP := RSP - 8
-000142ef: mem := mem with [RSP, el]:u64 <- 0x180001CB7
-000142f1: call @sub_180002776 with return %000142f3
-
-000142f3:
-00014303: #12582211 := low:32[RAX]
-00014319: ZF := 0 = #12582211
-00014320: when ~ZF goto %0001431d
-0001987d: goto %00014347
-
-00014347:
-0001434b: RCX := 0x1800081E8
-00014356: RSP := RSP - 8
-0001435b: mem := mem with [RSP, el]:u64 <- 0x180001CC7
-0001435d: call @sub_180002776 with return %0001435f
-
-0001435f:
-0001436f: #12582209 := low:32[RAX]
-00014385: ZF := 0 = #12582209
-0001438b: when ZF goto %000142a3
-0001987c: goto %0001431d
-
-000142a3:
-000142a9: mem := mem with [0x1800081C9] <- 1
-0001987b: goto %0000f0ff
-
-0000f0ff:
-0000f10b: RAX := high:56[RAX].1
-0001987a: goto %0000f10d
-
-0001431d:
-0001432f: RAX := 63:8[RAX].0
-00014345: goto %0000f10d
-
-0000f10d:
-0000f12c: RSP := RSP + 0x20
-0000f157: RBX := mem[RSP, el]:u64
-0000f15b: RSP := RSP + 8
-0000f168: #12582701 := mem[RSP, el]:u64
-0000f16c: RSP := RSP + 8
-0000f16f: call #12582701 with noreturn
-
-0001955f: sub sub_180001082(sub_180001082_result)
-000198f2: sub_180001082_result :: out u32 = low:32[RAX]
-
-00013601:
-00013610: goto %0001360e
-
-0001360e:
-0001361d: #12582286 := RBX
-00013621: RSP := RSP - 8
-00013627: mem := mem with [RSP, el]:u64 <- #12582286
-00013645: RSP := RSP - 0x20
-00013679: #12582282 := mem[0x1800081C8]
-00013695: ZF := 0 = #12582282
-0001369f: RBX := high:56[RBX].low:8[RCX]
-000136a6: when ZF goto %000136a3
-00019885: goto %0001376f
-
-0001376f:
-0001377f: #12582276 := low:8[RDX]
-00013795: ZF := 0 = #12582276
-0001379b: when ~ZF goto %000136d7
-00019884: goto %000136a3
-
-000136a3:
-000136b2: RSP := RSP - 8
-000136b7: mem := mem with [RSP, el]:u64 <- 0x180001E42
-000136b9: call @sub_1800010e6 with return %000136bb
-
-000136bb:
-000136c3: RCX := high:56[RCX].low:8[RBX]
-000136ce: RSP := RSP - 8
-000136d3: mem := mem with [RSP, el]:u64 <- 0x180001E49
-000136d5: call @sub_180001046 with return %000136d7
-
-000136d7:
-000136dd: RAX := high:56[RAX].1
-000136fe: RSP := RSP + 0x20
-00013729: RBX := mem[RSP, el]:u64
-0001372d: RSP := RSP + 8
-0001373a: #12582277 := mem[RSP, el]:u64
-0001373e: RSP := RSP + 8
-00013741: call #12582277 with noreturn
-
-00019562: sub sub_180001087(sub_180001087_result)
-000198f3: sub_180001087_result :: out u32 = low:32[RAX]
-
-0000d5dd:
-0000d5ec: goto %0000d5ea
-
-0000d5ea:
-0000d626: #12582866 := mem[0x180008060, el]:u32
-0000d645: ZF := 0 = #12582866
-0000d64f: RAX := 0.pad:8[~ZF]
-0000d65c: #12582864 := mem[RSP, el]:u64
-0000d660: RSP := RSP + 8
-0000d663: call #12582864 with noreturn
-
-00019563: sub sub_18000108c(sub_18000108c_result)
-000198f4: sub_18000108c_result :: out u32 = low:32[RAX]
-
-0000d6f5:
-0000d6f8: call @sub_180001d38 with noreturn
-
-00019564: sub sub_180001096(sub_180001096_result)
-000198f5: sub_180001096_result :: out u32 = low:32[RAX]
-
-00011bb9:
-00011bc7: call @sub_1800027a8 with noreturn
-
-00019565: sub sub_1800010a5(sub_1800010a5_result)
-000198f6: sub_1800010a5_result :: out u32 = low:32[RAX]
-
-000116cd:
-000116db: call @sub_1800027b0 with noreturn
-
-00019566: sub sub_1800010aa(sub_1800010aa_result)
-000198f7: sub_1800010aa_result :: out u32 = low:32[RAX]
-
-000116dd:
-000116df: call @sub_1800027a4 with noreturn
-
-00019567: sub sub_1800010b4(sub_1800010b4_result)
-000198f8: sub_1800010b4_result :: out u32 = low:32[RAX]
-
-00004ca8:
-00004cb7: goto %00004cb5
-
-00004cb5:
-00004cd4: RSP := RSP - 0x28
-00004d08: #12582889 := low:32[RDX] - 1
-00004d24: ZF := 0 = #12582889
-00004d2b: when ~ZF goto %00004d28
-00019887: goto %00018a4b
-
-00018a4b:
-00018a61: #12582158 := mem[0x180006880, el]:u64
-00018a7d: ZF := 0 = #12582158
-00018a83: when ~ZF goto %00004d28
-00019886: goto %00018a87
-
-00018a87:
-00018a93: #12582156 := mem[0x18000A020, el]:u64
-00018a97: RSP := RSP - 8
-00018a9c: mem := mem with [RSP, el]:u64 <- 0x180001929
-00018a9f: call #12582156 with return %00004d28
-
-00004d28:
-00004d32: RAX := 1
-00004d53: RSP := RSP + 0x28
-00004d7f: #12582884 := mem[RSP, el]:u64
-00004d83: RSP := RSP + 8
-00004d86: call #12582884 with noreturn
-
-0001956a: sub sub_1800010c3(sub_1800010c3_result)
-000198f9: sub_1800010c3_result :: out u32 = low:32[RAX]
-
-0000fc66:
-0000fc74: goto %0000e915
+00014132:
+00014134: call @interrupt:#3 with noreturn
 
-0000e915:
-0000e919: RAX := 1
-0000e926: #12582755 := mem[RSP, el]:u64
-0000e92a: RSP := RSP + 8
-0000e92d: call #12582755 with noreturn
-
-0001956b: sub sub_1800010cd(sub_1800010cd_result)
-000198fa: sub_1800010cd_result :: out u32 = low:32[RAX]
-
-000109b4:
-000109b6: goto %0001007e
-
-0001007e:
-00010088: mem := mem with [RSP + 8, el]:u64 <- RBX
-00010096: #12582586 := RDI
-0001009a: RSP := RSP - 8
-000100a0: mem := mem with [RSP, el]:u64 <- #12582586
-000100be: RSP := RSP - 0x20
-000100e0: RBX := 0x1800070E8
-000100e6: RDI := 0x1800071F0
-000100eb: goto %000100e9
-
-000100e9:
-0001010c: CF := RBX < 0x1800071F0
-0001012d: when CF goto %0001012a
-0001988a: goto %000101c4
-
-000101c4:
-000101cc: RBX := mem[RSP + 0x30, el]:u64
-000101ed: RSP := RSP + 0x20
-00010218: RDI := mem[RSP, el]:u64
-0001021c: RSP := RSP + 8
-00010229: #12582571 := mem[RSP, el]:u64
-0001022d: RSP := RSP + 8
-00010230: call #12582571 with noreturn
-
-0001012a:
-00010138: RAX := mem[RBX, el]:u64
-0001014a: #12582580 := RAX
-00010160: ZF := 0 = #12582580
-00010167: when ZF goto %00010164
-00019889: goto %000101aa
-
-000101aa:
-000101b6: #12582575 := mem[0x18000B020, el]:u64
-000101ba: RSP := RSP - 8
-000101bf: mem := mem with [RSP, el]:u64 <- 0x18000220C
-000101c2: call #12582575 with return %00010164
+00014136:
+00014138: call @interrupt:#3 with noreturn
+
+0001413a:
+0001413c: call @interrupt:#3 with noreturn
+
+0001413e:
+00014140: call @interrupt:#3 with noreturn
+
+00014142:
+00014144: call @interrupt:#3 with noreturn
+
+00014146:
+00014148: call @interrupt:#3 with noreturn
+
+0001414a:
+0001414c: call @interrupt:#3 with noreturn
+
+0001414e:
+00014150: call @interrupt:#3 with noreturn
+
+00014152:
+00014154: call @interrupt:#3 with noreturn
+
+00014156:
+00014158: call @interrupt:#3 with noreturn
+
+0001415a:
+0001415c: call @interrupt:#3 with noreturn
+
+0001415e:
+00014160: call @interrupt:#3 with noreturn
+
+00014162:
+00014164: call @interrupt:#3 with noreturn
+
+00014166:
+00014168: call @interrupt:#3 with noreturn
+
+0001416a:
+0001416c: call @interrupt:#3 with noreturn
+
+0001416e:
+00014170: call @interrupt:#3 with noreturn
+
+00014172:
+00014174: call @interrupt:#3 with noreturn
+
+00014176:
+00014178: call @interrupt:#3 with noreturn
+
+0001417a:
+0001417c: call @interrupt:#3 with noreturn
+
+0001417e:
+00014180: call @interrupt:#3 with noreturn
+
+00014182:
+00014184: call @interrupt:#3 with noreturn
+0001950f: call @sub_180001d3c with noreturn
+
+000141c4:
+000141cd: RSP := RSP - 8
+000141d2: mem := mem with [RSP, el]:u64 <- 0x180001CA7
+000141d4: call @sub_180001087 with return %000141d6
+
+000141d6:
+000141e6: #12582216 := low:32[RAX]
+000141e9: OF := 0
+000141ec: CF := 0
+000141ef: AF := unknown[bits]:u1
+000141f4: PF :=
+          ~low:1[let $0 = #12582216 >> 4 ^ #12582216 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000141f8: SF := high:1[#12582216]
+000141fc: ZF := 0 = #12582216
+00014203: when ZF goto %00014200
+0001950e: goto %0001425e
+
+0001425e:
+0001426e: #12582213 := low:32[RBX]
+00014271: OF := 0
+00014274: CF := 0
+00014277: AF := unknown[bits]:u1
+0001427c: PF :=
+          ~low:1[let $0 = #12582213 >> 4 ^ #12582213 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014280: SF := high:1[#12582213]
+00014284: ZF := 0 = #12582213
+0001428a: when ~ZF goto %00014200
+0001950d: goto %0001428e
+
+00014200:
+0001420e: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128
+0001421a: RAX := 0xFFFFFFFFFFFFFFFF
+0001421d: OF := 0
+00014220: CF := 0
+00014223: AF := unknown[bits]:u1
+00014226: PF := 1
+00014229: SF := 1
+0001422c: ZF := 0
+00014236: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0]
+00014240: mem := mem with [0x1800081E0, el]:u64 <- RAX
+0001424a: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0]
+00014254: mem := mem with [0x1800081F8, el]:u64 <- RAX
+0001950c: goto %00014256
+
+0001428e:
+00014292: RCX := 0x1800081D0
+0001429d: RSP := RSP - 8
+000142a2: mem := mem with [RSP, el]:u64 <- 0x180001CBB
+000142a4: call @sub_180002776 with return %000142a6
+
+000142a6:
+000142b6: #12582211 := low:32[RAX]
+000142b9: OF := 0
+000142bc: CF := 0
+000142bf: AF := unknown[bits]:u1
+000142c4: PF :=
+          ~low:1[let $0 = #12582211 >> 4 ^ #12582211 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000142c8: SF := high:1[#12582211]
+000142cc: ZF := 0 = #12582211
+000142d3: when ~ZF goto %000142d0
+0001950b: goto %000142fa
+
+000142fa:
+000142fe: RCX := 0x1800081E8
+00014309: RSP := RSP - 8
+0001430e: mem := mem with [RSP, el]:u64 <- 0x180001CCB
+00014310: call @sub_180002776 with return %00014312
+
+00014312:
+00014322: #12582209 := low:32[RAX]
+00014325: OF := 0
+00014328: CF := 0
+0001432b: AF := unknown[bits]:u1
+00014330: PF :=
+          ~low:1[let $0 = #12582209 >> 4 ^ #12582209 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014334: SF := high:1[#12582209]
+00014338: ZF := 0 = #12582209
+0001433e: when ZF goto %00014256
+0001950a: goto %000142d0
+
+00014256:
+0001425c: mem := mem with [0x1800081C9] <- 1
+00019509: goto %0000f09f
+
+0000f09f:
+0000f0ab: RAX := high:56[RAX].1
+00019508: goto %0000f0ad
+
+000142d0:
+000142e2: RAX := 63:8[RAX].0
+000142e5: AF := unknown[bits]:u1
+000142e8: ZF := 1
+000142eb: PF := 1
+000142ee: OF := 0
+000142f1: CF := 0
+000142f4: SF := 0
+000142f8: goto %0000f0ad
+
+0000f0ad:
+0000f0cc: RSP := RSP + 0x20
+0000f0f7: RBX := mem[RSP, el]:u64
+0000f0fb: RSP := RSP + 8
+0000f108: #12582701 := mem[RSP, el]:u64
+0000f10c: RSP := RSP + 8
+0000f10f: call #12582701 with noreturn
+
+00019512: sub sub_180001082(sub_180001082_result)
+000195b2: sub_180001082_result :: out u32 = low:32[RAX]
+
+000135b4:
+000135c3: goto %000135c1
+
+000135c1:
+000135d0: #12582286 := RBX
+000135d4: RSP := RSP - 8
+000135da: mem := mem with [RSP, el]:u64 <- #12582286
+000135f4: #12582285 := RSP
+000135f8: RSP := RSP - 0x20
+000135fc: CF := #12582285 < 0x20
+00013602: OF := high:1[(#12582285 ^ 0x20) & (#12582285 ^ RSP)]
+0001360c: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013610: SF := high:1[RSP]
+00013614: ZF := 0 = RSP
+0001362c: #12582282 := mem[0x1800081C8]
+00013630: CF := mem[0x1800081C8] < 0
+00013636: OF := high:1[mem[0x1800081C8] & (mem[0x1800081C8] ^ #12582282)]
+0001363b: AF := 0x10 = (0x10 & (#12582282 ^ mem[0x1800081C8]))
+00013640: PF :=
+          ~low:1[let $0 = #12582282 >> 4 ^ #12582282 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013644: SF := high:1[#12582282]
+00013648: ZF := 0 = #12582282
+00013652: RBX := high:56[RBX].low:8[RCX]
+00013659: when ZF goto %00013656
+00019514: goto %00013722
+
+00013722:
+00013732: #12582276 := low:8[RDX]
+00013735: OF := 0
+00013738: CF := 0
+0001373b: AF := unknown[bits]:u1
+00013740: PF :=
+          ~low:1[let $0 = #12582276 >> 4 ^ #12582276 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013744: SF := high:1[#12582276]
+00013748: ZF := 0 = #12582276
+0001374e: when ~ZF goto %0001368a
+00019513: goto %00013656
+
+00013656:
+00013665: RSP := RSP - 8
+0001366a: mem := mem with [RSP, el]:u64 <- 0x180001E46
+0001366c: call @sub_1800010e6 with return %0001366e
+
+0001366e:
+00013676: RCX := high:56[RCX].low:8[RBX]
+00013681: RSP := RSP - 8
+00013686: mem := mem with [RSP, el]:u64 <- 0x180001E4D
+00013688: call @sub_180001046 with return %0001368a
+
+0001368a:
+00013690: RAX := high:56[RAX].1
+000136ad: #12582280 := RSP
+000136be: OF := ~high:1[#12582280] & (high:1[#12582280] | high:1[RSP]) &
+          ~(high:1[#12582280] & high:1[RSP])
+000136c8: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000136cc: SF := high:1[RSP]
+000136d0: ZF := 0 = RSP
+000136dc: RBX := mem[RSP, el]:u64
+000136e0: RSP := RSP + 8
+000136ed: #12582277 := mem[RSP, el]:u64
+000136f1: RSP := RSP + 8
+000136f4: call #12582277 with noreturn
+
+00019515: sub sub_180001087(sub_180001087_result)
+000195b3: sub_180001087_result :: out u32 = low:32[RAX]
+
+0000d58d:
+0000d59c: goto %0000d59a
+
+0000d59a:
+0000d5d6: #12582866 := mem[0x180008060, el]:u32
+0000d5f5: ZF := 0 = #12582866
+0000d5ff: RAX := 0.pad:8[~ZF]
+0000d60c: #12582864 := mem[RSP, el]:u64
+0000d610: RSP := RSP + 8
+0000d613: call #12582864 with noreturn
+
+00019516: sub sub_18000108c(sub_18000108c_result)
+000195b4: sub_18000108c_result :: out u32 = low:32[RAX]
+
+0000d695:
+0000d698: call @sub_180001d3c with noreturn
+
+00019517: sub sub_180001096(sub_180001096_result)
+000195b5: sub_180001096_result :: out u32 = low:32[RAX]
+
+00011b59:
+00011b67: call @sub_1800027a8 with noreturn
+
+00019518: sub sub_1800010a5(sub_1800010a5_result)
+000195b6: sub_1800010a5_result :: out u32 = low:32[RAX]
+
+0001166d:
+0001167b: call @sub_1800027b0 with noreturn
+
+00019519: sub sub_1800010aa(sub_1800010aa_result)
+000195b7: sub_1800010aa_result :: out u32 = low:32[RAX]
+
+0001167d:
+0001167f: call @sub_1800027a4 with noreturn
+
+0001951a: sub sub_1800010b4(sub_1800010b4_result)
+000195b8: sub_1800010b4_result :: out u32 = low:32[RAX]
+
+00004c98:
+00004ca7: goto %00004ca5
+
+00004ca5:
+00004cc4: RSP := RSP - 0x28
+00004cf8: #12582889 := low:32[RDX] - 1
+00004d14: ZF := 0 = #12582889
+00004d1b: when ~ZF goto %00004d18
+0001951c: goto %000189fe
+
+000189fe:
+00018a14: #12582158 := mem[0x180006880, el]:u64
+00018a18: CF := mem[0x180006880, el]:u64 < 0
+00018a1e: OF := high:1[mem[0x180006880, el]:u64 &
+          (mem[0x180006880, el]:u64 ^ #12582158)]
+00018a23: AF := 0x10 = (0x10 & (#12582158 ^ mem[0x180006880, el]:u64))
+00018a28: PF :=
+          ~low:1[let $0 = #12582158 >> 4 ^ #12582158 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018a2c: SF := high:1[#12582158]
+00018a30: ZF := 0 = #12582158
+00018a36: when ~ZF goto %00004d18
+0001951b: goto %00018a3a
+
+00018a3a:
+00018a46: #12582156 := mem[0x18000A020, el]:u64
+00018a4a: RSP := RSP - 8
+00018a4f: mem := mem with [RSP, el]:u64 <- 0x18000192D
+00018a52: call #12582156 with return %00004d18
+
+00004d18:
+00004d22: RAX := 1
+00004d43: RSP := RSP + 0x28
+00004d6f: #12582884 := mem[RSP, el]:u64
+00004d73: RSP := RSP + 8
+00004d76: call #12582884 with noreturn
+
+0001951d: sub sub_1800010c3(sub_1800010c3_result)
+000195b9: sub_1800010c3_result :: out u32 = low:32[RAX]
+
+0000fc06:
+0000fc14: goto %0000e8b5
+
+0000e8b5:
+0000e8b9: RAX := 1
+0000e8c6: #12582755 := mem[RSP, el]:u64
+0000e8ca: RSP := RSP + 8
+0000e8cd: call #12582755 with noreturn
+
+0001951e: sub sub_1800010cd(sub_1800010cd_result)
+000195ba: sub_1800010cd_result :: out u32 = low:32[RAX]
+
+00010954:
+00010956: goto %0001001e
+
+0001001e:
+00010028: mem := mem with [RSP + 8, el]:u64 <- RBX
+00010036: #12582586 := RDI
+0001003a: RSP := RSP - 8
+00010040: mem := mem with [RSP, el]:u64 <- #12582586
+0001005e: RSP := RSP - 0x20
+00010080: RBX := 0x1800070A0
+00010086: RDI := 0x1800071A8
+0001008b: goto %00010089
+
+00010089:
+000100ac: CF := RBX < 0x1800071F0
+000100cd: when CF goto %000100ca
+00019521: goto %00010164
 
 00010164:
-00010189: RBX := RBX + 8
-00019888: goto %000100e9
-
-0001956f: sub sub_1800010d7(sub_1800010d7_result)
-000198fb: sub_1800010d7_result :: out u32 = low:32[RAX]
-
-00011199:
-0001119b: goto %00010272
-
-00010272:
-0001027c: mem := mem with [RSP + 8, el]:u64 <- RBX
-0001028a: #12582570 := RDI
-0001028e: RSP := RSP - 8
-00010294: mem := mem with [RSP, el]:u64 <- #12582570
-000102b2: RSP := RSP - 0x20
-000102d4: RBX := 0x180007308
-000102da: RDI := 0x180007410
-000102df: goto %000102dd
-
-000102dd:
-00010300: CF := RBX < 0x180007410
-00010321: when CF goto %0001031e
-0001988d: goto %000103b8
-
-000103b8:
-000103c0: RBX := mem[RSP + 0x30, el]:u64
-000103e1: RSP := RSP + 0x20
-0001040c: RDI := mem[RSP, el]:u64
-00010410: RSP := RSP + 8
-0001041d: #12582555 := mem[RSP, el]:u64
-00010421: RSP := RSP + 8
-00010424: call #12582555 with noreturn
-
-0001031e:
-0001032c: RAX := mem[RBX, el]:u64
-0001033e: #12582564 := RAX
-00010354: ZF := 0 = #12582564
-0001035b: when ZF goto %00010358
-0001988c: goto %0001039e
-
-0001039e:
-000103aa: #12582559 := mem[0x18000B020, el]:u64
-000103ae: RSP := RSP - 8
-000103b3: mem := mem with [RSP, el]:u64 <- 0x180002258
-000103b6: call #12582559 with return %00010358
+0001016c: RBX := mem[RSP + 0x30, el]:u64
+0001018d: RSP := RSP + 0x20
+000101b8: RDI := mem[RSP, el]:u64
+000101bc: RSP := RSP + 8
+000101c9: #12582571 := mem[RSP, el]:u64
+000101cd: RSP := RSP + 8
+000101d0: call #12582571 with noreturn
+
+000100ca:
+000100d8: RAX := mem[RBX, el]:u64
+000100ea: #12582580 := RAX
+00010100: ZF := 0 = #12582580
+00010107: when ZF goto %00010104
+00019520: goto %0001014a
+
+0001014a:
+00010156: #12582575 := mem[0x18000B020, el]:u64
+0001015a: RSP := RSP - 8
+0001015f: mem := mem with [RSP, el]:u64 <- 0x180002210
+00010162: call #12582575 with return %00010104
+
+00010104:
+00010129: RBX := RBX + 8
+0001951f: goto %00010089
+
+00019522: sub sub_1800010d7(sub_1800010d7_result)
+000195bb: sub_1800010d7_result :: out u32 = low:32[RAX]
+
+00011139:
+0001113b: goto %00010212
+
+00010212:
+0001021c: mem := mem with [RSP + 8, el]:u64 <- RBX
+0001022a: #12582570 := RDI
+0001022e: RSP := RSP - 8
+00010234: mem := mem with [RSP, el]:u64 <- #12582570
+00010252: RSP := RSP - 0x20
+00010274: RBX := 0x1800072C0
+0001027a: RDI := 0x1800073C8
+0001027f: goto %0001027d
+
+0001027d:
+000102a0: CF := RBX < 0x180007410
+000102c1: when CF goto %000102be
+00019525: goto %00010358
 
 00010358:
-0001037d: RBX := RBX + 8
-0001988b: goto %000102dd
-
-00019573: sub sub_1800010e1(sub_1800010e1_result)
-000198fc: sub_1800010e1_result :: out u32 = low:32[RAX]
-
-000111a1:
-000111a3: call @sub_1800027a8 with noreturn
-
-00019574: sub sub_1800010e6(sub_1800010e6_result)
-000198fd: sub_1800010e6_result :: out u32 = low:32[RAX]
-
-000111a5:
-000111a7: call @sub_1800027ac with noreturn
-
-00019575: sub sub_1800010fa(sub_1800010fa_result)
-000198fe: sub_1800010fa_result :: out u32 = low:32[RAX]
-
-000111b5:
-000111b8: goto %000111b6
-
-000111b6:
-000111c3: mem := mem with [RSP + 0x20, el]:u64 <- RBX
-000111d1: #12582460 := RBP
-000111d5: RSP := RSP - 8
-000111db: mem := mem with [RSP, el]:u64 <- #12582460
-000111e3: RBP := RSP
-00011201: RSP := RSP - 0x20
-00011225: RAX := mem[0x180008020, el]:u64
-0001122b: RBX := 0x2B992DDFA232
-00011248: #12582456 := RAX - 0x2B992DDFA232
-00011267: ZF := 0 = #12582456
-0001126e: when ~ZF goto %0001126b
-0001988f: goto %000113a1
-
-000113a1:
-000113b7: mem := mem with [RBP + 0x18, el]:u64 <- 0
-000113d9: RCX := RBP + 0x18
-000113e7: #12582449 := mem[0x18000A018, el]:u64
-000113eb: RSP := RSP - 8
-000113f0: mem := mem with [RSP, el]:u64 <- 0x18000186A
-000113f3: call #12582449 with return %000113f5
-
-000113f5:
-000113fd: RAX := mem[RBP + 0x18, el]:u64
-00011409: mem := mem with [RBP + 0x10, el]:u64 <- RAX
-00011417: #12582448 := mem[0x18000A010, el]:u64
-0001141b: RSP := RSP - 8
-00011420: mem := mem with [RSP, el]:u64 <- 0x180001878
-00011423: call #12582448 with return %00011425
-
-00011425:
-0001142b: RAX := pad:64[low:32[RAX]]
-00011449: mem :=
+00010360: RBX := mem[RSP + 0x30, el]:u64
+00010381: RSP := RSP + 0x20
+000103ac: RDI := mem[RSP, el]:u64
+000103b0: RSP := RSP + 8
+000103bd: #12582555 := mem[RSP, el]:u64
+000103c1: RSP := RSP + 8
+000103c4: call #12582555 with noreturn
+
+000102be:
+000102cc: RAX := mem[RBX, el]:u64
+000102de: #12582564 := RAX
+000102f4: ZF := 0 = #12582564
+000102fb: when ZF goto %000102f8
+00019524: goto %0001033e
+
+0001033e:
+0001034a: #12582559 := mem[0x18000B020, el]:u64
+0001034e: RSP := RSP - 8
+00010353: mem := mem with [RSP, el]:u64 <- 0x18000225C
+00010356: call #12582559 with return %000102f8
+
+000102f8:
+0001031d: RBX := RBX + 8
+00019523: goto %0001027d
+
+00019526: sub sub_1800010e1(sub_1800010e1_result)
+000195bc: sub_1800010e1_result :: out u32 = low:32[RAX]
+
+00011141:
+00011143: call @sub_1800027a8 with noreturn
+
+00019527: sub sub_1800010e6(sub_1800010e6_result)
+000195bd: sub_1800010e6_result :: out u32 = low:32[RAX]
+
+00011145:
+00011147: call @sub_1800027ac with noreturn
+
+00019528: sub sub_1800010fa(sub_1800010fa_result)
+000195be: sub_1800010fa_result :: out u32 = low:32[RAX]
+
+00011155:
+00011158: goto %00011156
+
+00011156:
+00011163: mem := mem with [RSP + 0x20, el]:u64 <- RBX
+00011171: #12582460 := RBP
+00011175: RSP := RSP - 8
+0001117b: mem := mem with [RSP, el]:u64 <- #12582460
+00011183: RBP := RSP
+000111a1: RSP := RSP - 0x20
+000111c5: RAX := mem[0x180008020, el]:u64
+000111cb: RBX := 0x2B992DDFA232
+000111e8: #12582456 := RAX - 0x2B992DDFA232
+00011207: ZF := 0 = #12582456
+0001120e: when ~ZF goto %0001120b
+0001952a: goto %00011341
+
+00011341:
+00011357: mem := mem with [RBP + 0x18, el]:u64 <- 0
+00011379: RCX := RBP + 0x18
+00011387: #12582449 := mem[0x18000A018, el]:u64
+0001138b: RSP := RSP - 8
+00011390: mem := mem with [RSP, el]:u64 <- 0x18000186E
+00011393: call #12582449 with return %00011395
+
+00011395:
+0001139d: RAX := mem[RBP + 0x18, el]:u64
+000113a9: mem := mem with [RBP + 0x10, el]:u64 <- RAX
+000113b7: #12582448 := mem[0x18000A010, el]:u64
+000113bb: RSP := RSP - 8
+000113c0: mem := mem with [RSP, el]:u64 <- 0x18000187C
+000113c3: call #12582448 with return %000113c5
+
+000113c5:
+000113cb: RAX := pad:64[low:32[RAX]]
+000113e9: mem :=
           mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX
-00011471: #12582446 := mem[0x18000A008, el]:u64
-00011475: RSP := RSP - 8
-0001147a: mem := mem with [RSP, el]:u64 <- 0x180001884
-0001147d: call #12582446 with return %0001147f
-
-0001147f:
-00011485: RAX := pad:64[low:32[RAX]]
-0001148d: RCX := RBP + 0x20
-000114ab: mem :=
+00011411: #12582446 := mem[0x18000A008, el]:u64
+00011415: RSP := RSP - 8
+0001141a: mem := mem with [RSP, el]:u64 <- 0x180001888
+0001141d: call #12582446 with return %0001141f
+
+0001141f:
+00011425: RAX := pad:64[low:32[RAX]]
+0001142d: RCX := RBP + 0x20
+0001144b: mem :=
           mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX
-000114d3: #12582444 := mem[0x18000A000, el]:u64
-000114d7: RSP := RSP - 8
-000114dc: mem := mem with [RSP, el]:u64 <- 0x180001894
-000114df: call #12582444 with return %000114e1
-
-000114e1:
-000114e9: RAX := pad:64[mem[RBP + 0x20, el]:u32]
-000114f1: RCX := RBP + 0x10
-0001150a: RAX := RAX << 0x20
-00011537: RAX := RAX ^ mem[RBP + 0x20, el]:u64
-00011563: RAX := RAX ^ mem[RBP + 0x10, el]:u64
-0001158d: RAX := RAX ^ RCX
-000115bd: RAX := RAX & 0xFFFFFFFFFFFF
-000115d9: RCX := 0x2B992DDFA233
-000115f6: #12582437 := RAX - 0x2B992DDFA232
-00011615: ZF := 0 = #12582437
-00011621: RAX := if ZF then 0x2B992DDFA233 else RAX
-0001162b: mem := mem with [0x180008020, el]:u64 <- RAX
-0001988e: goto %0001126b
-
-0001126b:
-00011279: RBX := mem[RSP + 0x48, el]:u64
-00011281: RAX := ~RAX
-0001128b: mem := mem with [0x180008028, el]:u64 <- RAX
-000112ac: RSP := RSP + 0x20
-000112d7: RBP := mem[RSP, el]:u64
-000112db: RSP := RSP + 8
-000112e8: #12582451 := mem[RSP, el]:u64
-000112ec: RSP := RSP + 8
-000112ef: call #12582451 with noreturn
-
-00019578: sub sub_180001109(sub_180001109_result)
-000198ff: sub_180001109_result :: out u32 = low:32[RAX]
-
-00011635:
-00011638: goto %00011636
-
-00011636:
-0001163d: RAX := 0x180008238
-0001164a: #12582435 := mem[RSP, el]:u64
-0001164e: RSP := RSP + 8
-00011651: call #12582435 with noreturn
-
-00019579: sub sub_18000110e(sub_18000110e_result)
-00019900: sub_18000110e_result :: out u32 = low:32[RAX]
-
-00011663:
-00011665: goto %00004dd1
-
-00004dd1:
-00004dd5: RCX := 0x180008180
-00004dda: goto %00004dd8
-
-00004dd8:
-00004ddf: call mem[0x18000A0F0, el]:u64 with noreturn
-
-0001957a: sub sub_180001118(sub_180001118_result)
-00019901: sub_180001118_result :: out u32 = low:32[RAX]
-
-0001166b:
-0001166e: goto %0001166c
-
-0001166c:
-0001168b: RSP := RSP - 0x28
-000116b3: RCX := 0
-000116d1: RSP := RSP - 8
-000116d6: mem := mem with [RSP, el]:u64 <- 0x180001C1B
-000116d8: call @sub_1800010a5 with return %000116e5
-
-000116e5:
-00011704: RSP := RSP + 0x28
-00011727: goto %000111b1
-
-000111b1:
-000111b3: call @sub_1800027b0 with noreturn
-
-0001957b: sub sub_18000111d(sub_18000111d_result)
-00019902: sub_18000111d_result :: out u32 = low:32[RAX]
+00011473: #12582444 := mem[0x18000A000, el]:u64
+00011477: RSP := RSP - 8
+0001147c: mem := mem with [RSP, el]:u64 <- 0x180001898
+0001147f: call #12582444 with return %00011481
+
+00011481:
+00011489: RAX := pad:64[mem[RBP + 0x20, el]:u32]
+00011491: RCX := RBP + 0x10
+000114aa: RAX := RAX << 0x20
+000114d7: RAX := RAX ^ mem[RBP + 0x20, el]:u64
+00011503: RAX := RAX ^ mem[RBP + 0x10, el]:u64
+0001152d: RAX := RAX ^ RCX
+0001155d: RAX := RAX & 0xFFFFFFFFFFFF
+00011579: RCX := 0x2B992DDFA233
+00011596: #12582437 := RAX - 0x2B992DDFA232
+000115b5: ZF := 0 = #12582437
+000115c1: RAX := if ZF then 0x2B992DDFA233 else RAX
+000115cb: mem := mem with [0x180008020, el]:u64 <- RAX
+00019529: goto %0001120b
+
+0001120b:
+00011219: RBX := mem[RSP + 0x48, el]:u64
+00011221: RAX := ~RAX
+0001122b: mem := mem with [0x180008028, el]:u64 <- RAX
+0001124c: RSP := RSP + 0x20
+00011277: RBP := mem[RSP, el]:u64
+0001127b: RSP := RSP + 8
+00011288: #12582451 := mem[RSP, el]:u64
+0001128c: RSP := RSP + 8
+0001128f: call #12582451 with noreturn
+
+0001952b: sub sub_180001109(sub_180001109_result)
+000195bf: sub_180001109_result :: out u32 = low:32[RAX]
+
+000115d5:
+000115d8: goto %000115d6
+
+000115d6:
+000115dd: RAX := 0x180008238
+000115ea: #12582435 := mem[RSP, el]:u64
+000115ee: RSP := RSP + 8
+000115f1: call #12582435 with noreturn
+
+0001952c: sub sub_18000110e(sub_18000110e_result)
+000195c0: sub_18000110e_result :: out u32 = low:32[RAX]
+
+00011603:
+00011605: goto %00004dc1
+
+00004dc1:
+00004dc5: RCX := 0x180008180
+00004dca: goto %00004dc8
+
+00004dc8:
+00004dcf: call mem[0x18000A0F0, el]:u64 with noreturn
+
+0001952d: sub sub_180001118(sub_180001118_result)
+000195c1: sub_180001118_result :: out u32 = low:32[RAX]
+
+0001160b:
+0001160e: goto %0001160c
+
+0001160c:
+0001162b: RSP := RSP - 0x28
+00011653: RCX := 0
+00011671: RSP := RSP - 8
+00011676: mem := mem with [RSP, el]:u64 <- 0x180001C1F
+00011678: call @sub_1800010a5 with return %00011685
+
+00011685:
+000116a4: RSP := RSP + 0x28
+000116c7: goto %00011151
+
+00011151:
+00011153: call @sub_1800027b0 with noreturn
+
+0001952e: sub sub_18000111d(sub_18000111d_result)
+000195c2: sub_18000111d_result :: out u32 = low:32[RAX]
+
+0001224f:
+00012251: goto %000119bd
+
+000119bd:
+000119d9: RSP := RSP - 0x28
+00011a00: RSP := RSP - 8
+00011a05: mem := mem with [RSP, el]:u64 <- 0x180001B19
+00011a07: call @sub_180001055 with return %00011a09
+
+00011a09:
+00011a19: #12582403 := low:8[RAX]
+00011a2f: ZF := 0 = #12582403
+00011a36: when ~ZF goto %00011a33
+00019531: goto %00011fe4
+
+00011a33:
+00011a42: RSP := RSP - 8
+00011a47: mem := mem with [RSP, el]:u64 <- 0x180001B26
+00011a49: call @sub_1800010aa with return %00011a4b
+
+00011a4b:
+00011a5b: #12582401 := low:8[RAX]
+00011a71: ZF := 0 = #12582401
+00011a78: when ~ZF goto %00011a75
+00019530: goto %00011fd1
+
+00011a75:
+00011a81: RAX := high:56[RAX].1
+0001952f: goto %00011a83
+
+00011fd1:
+00011fda: RSP := RSP - 8
+00011fdf: mem := mem with [RSP, el]:u64 <- 0x180001B2F
+00011fe1: call @sub_180001096 with return %00011fe3
+
+00011fe3:
+00011fe6: goto %00011fe4
+
+00011fe4:
+00011ff3: RAX := 63:8[RAX].0
+00012009: goto %00011a83
+
+00011a83:
+00011aa2: RSP := RSP + 0x28
+00011ace: #12582396 := mem[RSP, el]:u64
+00011ad2: RSP := RSP + 8
+00011ad5: call #12582396 with noreturn
+
+00019532: sub sub_180001122(sub_180001122_result)
+000195c3: sub_180001122_result :: out u32 = low:32[RAX]
+
+000117f1:
+000117ff: call @sub_1800027a0 with noreturn
+
+00019533: sub sub_180001127(sub_180001127_result)
+000195c4: sub_180001127_result :: out u32 = low:32[RAX]
+
+00011801:
+00011804: goto %00011802
+
+00011802:
+00011821: RSP := RSP - 0x28
+00011849: RSP := RSP - 8
+0001184e: mem := mem with [RSP, el]:u64 <- 0x180001985
+00011850: call @sub_18000100f with return %00012017
+
+00012017:
+00012031: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 0x24
+00012056: RSP := RSP - 8
+0001205b: mem := mem with [RSP, el]:u64 <- 0x18000198E
+0001205d: call @sub_18000101e with return %0001205f
+
+0001205f:
+00012079: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 2
+000120b4: RSP := RSP + 0x28
+000120e0: #12582357 := mem[RSP, el]:u64
+000120e4: RSP := RSP + 8
+000120e7: call #12582357 with noreturn
+
+00019534: sub sub_18000112c(sub_18000112c_result)
+000195c5: sub_18000112c_result :: out u32 = low:32[RAX]
+
+0000f1f7:
+0000f206: goto %0000f204
+
+0000f204:
+0000f217: mem := mem with [0x180008210, el]:u32 <- 0
+0000f23a: #12582692 := mem[RSP, el]:u64
+0000f23e: RSP := RSP + 8
+0000f241: call #12582692 with noreturn
+
+00019535: sub sub_18000113b(sub_18000113b_result)
+000195c6: sub_18000113b_result :: out u32 = low:32[RAX]
+
+0000fb80:
+0000fb83: goto %0000fb81
+
+0000fb81:
+0000fba0: RSP := RSP - 0x28
+0000fbc7: RSP := RSP - 8
+0000fbcc: mem := mem with [RSP, el]:u64 <- 0x180001AB9
+0000fbce: call @sub_180001087 with return %0000fbd0
+
+0000fbd0:
+0000fbe0: #12582610 := low:32[RAX]
+0000fbf6: ZF := 0 = #12582610
+0000fbfd: when ZF goto %0000fbfa
+00019538: goto %0001236f
+
+0000fbfa:
+0000fc0a: RSP := RSP - 8
+0000fc0f: mem := mem with [RSP, el]:u64 <- 0x180001AC9
+0000fc11: call @sub_1800010c3 with return %00012253
+
+00012253:
+00012259: RCX := pad:64[low:32[RAX]]
+00012264: RSP := RSP - 8
+00012269: mem := mem with [RSP, el]:u64 <- 0x180001AD0
+0001226b: call @sub_18000276a with return %0001226d
+
+0001226d:
+0001227d: #12582350 := low:32[RAX]
+00012293: ZF := 0 = #12582350
+0001229a: when ZF goto %00012297
+00019537: goto %0001234b
+
+00012297:
+000122a6: RSP := RSP - 8
+000122ab: mem := mem with [RSP, el]:u64 <- 0x180001ADD
+000122ad: call @sub_180002770 with return %000122af
+
+0001234b:
+00012357: RAX := 63:8[RAX].0
+0001236d: goto %000122b7
+
+0001236f:
+00012378: RSP := RSP - 8
+0001237d: mem := mem with [RSP, el]:u64 <- 0x180001AC2
+0001237f: call @sub_180001145 with return %00012381
+
+00012381:
+00012383: goto %000122af
 
 000122af:
-000122b1: goto %00011a1d
-
-00011a1d:
-00011a39: RSP := RSP - 0x28
-00011a60: RSP := RSP - 8
-00011a65: mem := mem with [RSP, el]:u64 <- 0x180001B15
-00011a67: call @sub_180001055 with return %00011a69
-
-00011a69:
-00011a79: #12582403 := low:8[RAX]
-00011a8f: ZF := 0 = #12582403
-00011a96: when ~ZF goto %00011a93
-00019892: goto %00012044
-
-00011a93:
-00011aa2: RSP := RSP - 8
-00011aa7: mem := mem with [RSP, el]:u64 <- 0x180001B22
-00011aa9: call @sub_1800010aa with return %00011aab
-
-00011aab:
-00011abb: #12582401 := low:8[RAX]
-00011ad1: ZF := 0 = #12582401
-00011ad8: when ~ZF goto %00011ad5
-00019891: goto %00012031
-
-00011ad5:
-00011ae1: RAX := high:56[RAX].1
-00019890: goto %00011ae3
-
-00012031:
-0001203a: RSP := RSP - 8
-0001203f: mem := mem with [RSP, el]:u64 <- 0x180001B2B
-00012041: call @sub_180001096 with return %00012043
-
-00012043:
-00012046: goto %00012044
-
-00012044:
-00012053: RAX := 63:8[RAX].0
-00012069: goto %00011ae3
-
-00011ae3:
-00011b02: RSP := RSP + 0x28
-00011b2e: #12582396 := mem[RSP, el]:u64
-00011b32: RSP := RSP + 8
-00011b35: call #12582396 with noreturn
-
-0001957f: sub sub_180001122(sub_180001122_result)
-00019903: sub_180001122_result :: out u32 = low:32[RAX]
-
-00011851:
-0001185f: call @sub_1800027a0 with noreturn
-
-00019580: sub sub_180001127(sub_180001127_result)
-00019904: sub_180001127_result :: out u32 = low:32[RAX]
-
-00011861:
-00011864: goto %00011862
-
-00011862:
-00011881: RSP := RSP - 0x28
-000118a9: RSP := RSP - 8
-000118ae: mem := mem with [RSP, el]:u64 <- 0x180001981
-000118b0: call @sub_18000100f with return %00012077
-
-00012077:
-00012091: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 0x24
-000120b6: RSP := RSP - 8
-000120bb: mem := mem with [RSP, el]:u64 <- 0x18000198A
-000120bd: call @sub_18000101e with return %000120bf
-
-000120bf:
-000120d9: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 2
-00012114: RSP := RSP + 0x28
-00012140: #12582357 := mem[RSP, el]:u64
-00012144: RSP := RSP + 8
-00012147: call #12582357 with noreturn
-
-00019581: sub sub_18000112c(sub_18000112c_result)
-00019905: sub_18000112c_result :: out u32 = low:32[RAX]
-
-0000f257:
-0000f266: goto %0000f264
-
-0000f264:
-0000f277: mem := mem with [0x180008210, el]:u32 <- 0
-0000f29a: #12582692 := mem[RSP, el]:u64
-0000f29e: RSP := RSP + 8
-0000f2a1: call #12582692 with noreturn
-
-00019582: sub sub_18000113b(sub_18000113b_result)
-00019906: sub_18000113b_result :: out u32 = low:32[RAX]
-
-0000fbe0:
-0000fbe3: goto %0000fbe1
-
-0000fbe1:
-0000fc00: RSP := RSP - 0x28
-0000fc27: RSP := RSP - 8
-0000fc2c: mem := mem with [RSP, el]:u64 <- 0x180001AB5
-0000fc2e: call @sub_180001087 with return %0000fc30
-
-0000fc30:
-0000fc40: #12582610 := low:32[RAX]
-0000fc56: ZF := 0 = #12582610
-0000fc5d: when ZF goto %0000fc5a
-00019895: goto %000123cf
-
-0000fc5a:
-0000fc6a: RSP := RSP - 8
-0000fc6f: mem := mem with [RSP, el]:u64 <- 0x180001AC5
-0000fc71: call @sub_1800010c3 with return %000122b3
-
-000122b3:
-000122b9: RCX := pad:64[low:32[RAX]]
-000122c4: RSP := RSP - 8
-000122c9: mem := mem with [RSP, el]:u64 <- 0x180001ACC
-000122cb: call @sub_18000276a with return %000122cd
-
-000122cd:
-000122dd: #12582350 := low:32[RAX]
-000122f3: ZF := 0 = #12582350
-000122fa: when ZF goto %000122f7
-00019894: goto %000123ab
-
-000122f7:
-00012306: RSP := RSP - 8
-0001230b: mem := mem with [RSP, el]:u64 <- 0x180001AD9
-0001230d: call @sub_180002770 with return %0001230f
-
-000123ab:
-000123b7: RAX := 63:8[RAX].0
-000123cd: goto %00012317
-
-000123cf:
-000123d8: RSP := RSP - 8
-000123dd: mem := mem with [RSP, el]:u64 <- 0x180001ABE
-000123df: call @sub_180001145 with return %000123e1
-
-000123e1:
-000123e3: goto %0001230f
-
-0001230f:
-00012315: RAX := high:56[RAX].1
-00019893: goto %00012317
-
-00012317:
-00012336: RSP := RSP + 0x28
-00012362: #12582345 := mem[RSP, el]:u64
-00012366: RSP := RSP + 8
-00012369: call #12582345 with noreturn
-
-00019586: sub sub_180001140(sub_180001140_result)
-00019907: sub_180001140_result :: out u32 = low:32[RAX]
-
-0000d574:
-0000d57a: goto %0000d578
-
-0000d578:
-0000d587: #12582870 := RBX
-0000d58b: RSP := RSP - 8
-0000d591: mem := mem with [RSP, el]:u64 <- #12582870
-0000d5af: RSP := RSP - 0x20
-0000d5d5: RBX := high:56[RBX].low:8[RCX]
-0000d5e1: RSP := RSP - 8
-0000d5e6: mem := mem with [RSP, el]:u64 <- 0x180001E05
-0000d5e8: call @sub_180001087 with return %00014505
-
-00014505:
-0001450f: RDX := 0
-00014533: #12582194 := low:32[RAX]
-00014549: ZF := 0 = #12582194
-00014550: when ZF goto %0001454d
-00019898: goto %000145e7
-
-000145e7:
-000145f7: #12582188 := low:8[RBX]
-0001460d: ZF := 0 = #12582188
-00014613: when ~ZF goto %0001454d
-00019897: goto %00014617
-
-00014617:
-00014626: RDX := mem[0x1800081C0, el]:u64
-0001462b: mem := mem with [0x1800081C0, el]:u64 <- 0
-00019896: goto %0001454d
-
-0001454d:
-00014572: RSP := RSP + 0x20
-0001459d: RBX := mem[RSP, el]:u64
-000145a1: RSP := RSP + 8
-000145ae: #12582189 := mem[RSP, el]:u64
-000145b2: RSP := RSP + 8
-000145b5: call #12582189 with noreturn
-
-0001958a: sub sub_180001145(sub_180001145_result)
-00019908: sub_180001145_result :: out u32 = low:32[RAX]
-
-000117ed:
-000117fb: goto %0000e3ff
-
-0000e3ff:
-0000e409: mem := mem with [RSP + 0x10, el]:u64 <- RBX
-0000e415: mem := mem with [RSP + 0x18, el]:u64 <- RSI
-0000e423: #12582770 := RDI
-0000e427: RSP := RSP - 8
-0000e42d: mem := mem with [RSP, el]:u64 <- #12582770
-0000e44b: RSP := RSP - 0x10
-0000e4ac: RAX := pad:64[unknown[bits]:u32]
-0000e4af: RBX := pad:64[unknown[bits]:u32]
-0000e4b2: RCX := pad:64[unknown[bits]:u32]
-0000e4b5: RDX := pad:64[unknown[bits]:u32]
-0000e4bd: R8 := pad:64[low:32[RCX]]
-0000e4c9: R11 := 0
-0000e4e3: R10 := pad:64[low:32[RDX]]
-0000e4f5: R8 := pad:64[low:32[R8] ^ 0x6C65746E]
-0000e51d: R10 := pad:64[low:32[R10] ^ 0x49656E69]
-0000e53b: R9 := pad:64[low:32[RBX]]
-0000e543: RSI := pad:64[low:32[RAX]]
-0000e54f: RCX := 0
-0000e569: RAX := 1
-0000e57d: R10 := pad:64[low:32[R10] | low:32[R8]]
-0000e59c: RAX := pad:64[unknown[bits]:u32]
-0000e59f: RBX := pad:64[unknown[bits]:u32]
-0000e5a2: RCX := pad:64[unknown[bits]:u32]
-0000e5a5: RDX := pad:64[unknown[bits]:u32]
-0000e5b7: R9 := pad:64[low:32[R9] ^ 0x756E6547]
-0000e5d9: mem := mem with [RSP, el]:u32 <- low:32[RAX]
-0000e5ed: R10 := pad:64[low:32[R10] | low:32[R9]]
-0000e603: ZF := 0 = low:32[R10]
-0000e60f: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX]
-0000e617: RDI := pad:64[low:32[RCX]]
-0000e623: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX]
-0000e62f: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX]
-0000e636: when ~ZF goto %0000e633
-000198aa: goto %0000ed25
-
-0000ed25:
-0000ed35: mem := mem with [0x180008048, el]:u64 <- 0xFFFFFFFFFFFFFFFF
-0000ed5d: RAX := pad:64[low:32[RAX] & 0xFFF3FF0]
-0000ed7b: mem := mem with [0x180008040, el]:u64 <- 0x8000
-0000ed93: #12582734 := low:32[RAX] - 0x106C0
-0000edaf: ZF := 0 = #12582734
-0000edb6: when ZF goto %0000edb3
-000198a9: goto %0000edf7
-
-0000edf7:
-0000ee0d: #12582731 := low:32[RAX] - 0x20660
-0000ee29: ZF := 0 = #12582731
-0000ee2f: when ZF goto %0000edb3
-000198a8: goto %0000ee33
-
-0000ee33:
-0000ee49: #12582729 := low:32[RAX] - 0x20670
-0000ee65: ZF := 0 = #12582729
-0000ee6b: when ZF goto %0000edb3
-000198a7: goto %0000ee6f
-
-0000ee6f:
-0000ee8e: RAX := pad:64[low:32[RAX] - 0x30650]
-0000eec5: #12582724 := low:32[RAX] - 0x20
-0000eec9: CF := low:32[RAX] < 0x20
-0000eee1: ZF := 0 = #12582724
-0000eee9: when ~(CF | ZF) goto %0000e633
-000198a6: goto %0000eeed
-
-0000eeed:
-0000eef1: RCX := 0x100010001
-0000ef01: #12582722 := low:6[RAX]
-0000ef06: CF := low:1[0x100010001 >> #12582722]
-0000ef1b: when ~CF goto %0000e633
-000198a5: goto %0000edb3
-
-0000e633:
-0000e63f: R8 := pad:64[mem[0x180008214, el]:u32]
-000198a4: goto %0000e641
-
-0000edb3:
-0000edbf: R8 := pad:64[mem[0x180008214, el]:u32]
-0000edd1: R8 := pad:64[low:32[R8] | 1]
-0000edf1: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
-0000edf5: goto %0000e641
-
-0000e641:
-0000e645: RAX := 7
-0000e64d: R9 := 2
-0000e66a: #12582761 := low:32[RSI] - 7
-0000e676: OF := high:1[(low:32[RSI] ^ 7) & (low:32[RSI] ^ #12582761)]
-0000e685: SF := high:1[#12582761]
-0000e696: when (SF | OF) & ~(SF & OF) goto %0000e690
-000198a3: goto %0000ec65
-
-0000ec65:
-0000ec6f: RCX := 0
-0000ec8a: RAX := pad:64[unknown[bits]:u32]
-0000ec8d: RBX := pad:64[unknown[bits]:u32]
-0000ec90: RCX := pad:64[unknown[bits]:u32]
-0000ec93: RDX := pad:64[unknown[bits]:u32]
-0000ec9f: mem := mem with [RSP, el]:u32 <- low:32[RAX]
-0000eca7: R11 := pad:64[low:32[RBX]]
-0000ecb3: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX]
-0000ecbf: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX]
-0000eccb: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX]
-0000ecd8: CF := low:1[RBX >> 9]
-0000eced: when ~CF goto %0000e690
-000198a2: goto %0000ecf1
-
-0000ecf1:
-0000ed03: R8 := pad:64[low:32[R8] | 2]
-0000ed23: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
-000198a1: goto %0000e690
-
-0000e690:
-0000e69f: mem := mem with [0x180008038, el]:u32 <- 1
-0000e6a9: mem := mem with [0x18000803C, el]:u32 <- 2
-0000e6b6: CF := low:1[RDI >> 0x14]
-0000e6cc: when ~CF goto %0000e6c9
-000198a0: goto %0000e937
-
-0000e937:
-0000e93f: mem := mem with [0x180008038, el]:u32 <- 2
-0000e945: RBX := 6
-0000e94f: mem := mem with [0x18000803C, el]:u32 <- 6
-0000e95c: CF := low:1[RDI >> 0x1B]
-0000e971: when ~CF goto %0000e6c9
-0001989f: goto %0000e975
-
-0000e975:
-0000e980: CF := low:1[RDI >> 0x1C]
-0000e995: when ~CF goto %0000e6c9
-0001989e: goto %0000e999
-
-0000e999:
-0000e9a3: RCX := 0
-0000e9bc: RAX := pad:64[unknown[bits]:u32]
-0000e9bf: RDX := pad:64[unknown[bits]:u32]
-0000e9d8: RDX := RDX << 0x20
-0000ea03: RDX := RDX | RAX
-0000ea25: mem := mem with [RSP + 0x20, el]:u64 <- RDX
-0000ea2f: RAX := mem[RSP + 0x20, el]:u64
-0000ea45: RAX := 63:8[RAX].low:8[RAX] & 6
-0000ea78: #12582750 := low:8[RAX] - 6
-0000ea97: ZF := 0 = #12582750
-0000ea9d: when ~ZF goto %0000e6c9
-0001989d: goto %0000eaa1
-
-0000eaa1:
-0000eaa7: RAX := pad:64[mem[0x18000803C, el]:u32]
-0000eab9: RAX := pad:64[low:32[RAX] | 8]
-0000ead7: mem := mem with [0x180008038, el]:u32 <- 3
-0000eae1: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX]
-0000eaf3: #12582747 := low:8[R11] & 0x20
-0000eb09: ZF := 0 = #12582747
-0000eb0f: when ZF goto %0000e6c9
-0001989c: goto %0000eb13
-
-0000eb13:
-0000eb23: RAX := pad:64[low:32[RAX] | 0x20]
-0000eb41: mem := mem with [0x180008038, el]:u32 <- 5
-0000eb4b: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX]
-0000eb51: RAX := 0xD0030000
-0000eb65: R11 := pad:64[low:32[R11] & 0xD0030000]
-0000eb98: #12582743 := low:32[R11] - 0xD0030000
-0000ebb7: ZF := 0 = #12582743
-0000ebbd: when ~ZF goto %0000e6c9
-0001989b: goto %0000ebc1
-
-0000ebc1:
-0000ebc9: RAX := mem[RSP + 0x20, el]:u64
-0000ebdd: RAX := 63:8[RAX].low:8[RAX] & 0xE0
-0000ec0b: #12582740 := low:8[RAX] - 0xE0
-0000ec27: ZF := 0 = #12582740
-0000ec2d: when ~ZF goto %0000e6c9
-0001989a: goto %0000ec31
-
-0000ec31:
-0000ec43: mem :=
+000122b5: RAX := high:56[RAX].1
+00019536: goto %000122b7
+
+000122b7:
+000122d6: RSP := RSP + 0x28
+00012302: #12582345 := mem[RSP, el]:u64
+00012306: RSP := RSP + 8
+00012309: call #12582345 with noreturn
+
+00019539: sub sub_180001140(sub_180001140_result)
+000195c7: sub_180001140_result :: out u32 = low:32[RAX]
+
+0000d524:
+0000d52a: goto %0000d528
+
+0000d528:
+0000d537: #12582870 := RBX
+0000d53b: RSP := RSP - 8
+0000d541: mem := mem with [RSP, el]:u64 <- #12582870
+0000d55f: RSP := RSP - 0x20
+0000d585: RBX := high:56[RBX].low:8[RCX]
+0000d591: RSP := RSP - 8
+0000d596: mem := mem with [RSP, el]:u64 <- 0x180001E09
+0000d598: call @sub_180001087 with return %000144b8
+
+0001459a:
+000145aa: #12582188 := low:8[RBX]
+000145ad: OF := 0
+000145b0: CF := 0
+000145b3: AF := unknown[bits]:u1
+000145b8: PF :=
+          ~low:1[let $0 = #12582188 >> 4 ^ #12582188 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000145bc: SF := high:1[#12582188]
+000145c0: ZF := 0 = #12582188
+000145c6: when ~ZF goto %00014500
+0001953b: goto %000145ca
+
+000145ca:
+000145d5: #12582186 := RDX
+000145d9: RDX := mem[0x1800081C0, el]:u64
+000145de: mem := mem with [0x1800081C0, el]:u64 <- #12582186
+0001953a: goto %00014500
+
+00014500:
+00014521: #12582192 := RSP
+00014532: OF := ~high:1[#12582192] & (high:1[#12582192] | high:1[RSP]) &
+          ~(high:1[#12582192] & high:1[RSP])
+0001453c: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014540: SF := high:1[RSP]
+00014544: ZF := 0 = RSP
+00014550: RBX := mem[RSP, el]:u64
+00014554: RSP := RSP + 8
+00014561: #12582189 := mem[RSP, el]:u64
+00014565: RSP := RSP + 8
+00014568: call #12582189 with noreturn
+
+0001953d: sub sub_180001145(sub_180001145_result)
+000195c8: sub_180001145_result :: out u32 = low:32[RAX]
+
+0001178d:
+0001179b: goto %0000e39f
+
+0000e39f:
+0000e3a9: mem := mem with [RSP + 0x10, el]:u64 <- RBX
+0000e3b5: mem := mem with [RSP + 0x18, el]:u64 <- RSI
+0000e3c3: #12582770 := RDI
+0000e3c7: RSP := RSP - 8
+0000e3cd: mem := mem with [RSP, el]:u64 <- #12582770
+0000e3eb: RSP := RSP - 0x10
+0000e44c: RAX := pad:64[unknown[bits]:u32]
+0000e44f: RBX := pad:64[unknown[bits]:u32]
+0000e452: RCX := pad:64[unknown[bits]:u32]
+0000e455: RDX := pad:64[unknown[bits]:u32]
+0000e45d: R8 := pad:64[low:32[RCX]]
+0000e469: R11 := 0
+0000e483: R10 := pad:64[low:32[RDX]]
+0000e495: R8 := pad:64[low:32[R8] ^ 0x6C65746E]
+0000e4bd: R10 := pad:64[low:32[R10] ^ 0x49656E69]
+0000e4db: R9 := pad:64[low:32[RBX]]
+0000e4e3: RSI := pad:64[low:32[RAX]]
+0000e4ef: RCX := 0
+0000e509: RAX := 1
+0000e51d: R10 := pad:64[low:32[R10] | low:32[R8]]
+0000e53c: RAX := pad:64[unknown[bits]:u32]
+0000e53f: RBX := pad:64[unknown[bits]:u32]
+0000e542: RCX := pad:64[unknown[bits]:u32]
+0000e545: RDX := pad:64[unknown[bits]:u32]
+0000e557: R9 := pad:64[low:32[R9] ^ 0x756E6547]
+0000e579: mem := mem with [RSP, el]:u32 <- low:32[RAX]
+0000e58d: R10 := pad:64[low:32[R10] | low:32[R9]]
+0000e5a3: ZF := 0 = low:32[R10]
+0000e5af: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX]
+0000e5b7: RDI := pad:64[low:32[RCX]]
+0000e5c3: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX]
+0000e5cf: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX]
+0000e5d6: when ~ZF goto %0000e5d3
+0001954f: goto %0000ecc5
+
+0000ecc5:
+0000ecd5: mem := mem with [0x180008048, el]:u64 <- 0xFFFFFFFFFFFFFFFF
+0000ecfd: RAX := pad:64[low:32[RAX] & 0xFFF3FF0]
+0000ed1b: mem := mem with [0x180008040, el]:u64 <- 0x8000
+0000ed33: #12582734 := low:32[RAX] - 0x106C0
+0000ed4f: ZF := 0 = #12582734
+0000ed56: when ZF goto %0000ed53
+0001954e: goto %0000ed97
+
+0000ed97:
+0000edad: #12582731 := low:32[RAX] - 0x20660
+0000edc9: ZF := 0 = #12582731
+0000edcf: when ZF goto %0000ed53
+0001954d: goto %0000edd3
+
+0000edd3:
+0000ede9: #12582729 := low:32[RAX] - 0x20670
+0000ee05: ZF := 0 = #12582729
+0000ee0b: when ZF goto %0000ed53
+0001954c: goto %0000ee0f
+
+0000ee0f:
+0000ee2e: RAX := pad:64[low:32[RAX] - 0x30650]
+0000ee65: #12582724 := low:32[RAX] - 0x20
+0000ee69: CF := low:32[RAX] < 0x20
+0000ee81: ZF := 0 = #12582724
+0000ee89: when ~(CF | ZF) goto %0000e5d3
+0001954b: goto %0000ee8d
+
+0000ee8d:
+0000ee91: RCX := 0x100010001
+0000eea1: #12582722 := low:6[RAX]
+0000eea6: CF := low:1[0x100010001 >> #12582722]
+0000eebb: when ~CF goto %0000e5d3
+0001954a: goto %0000ed53
+
+0000e5d3:
+0000e5df: R8 := pad:64[mem[0x180008214, el]:u32]
+00019549: goto %0000e5e1
+
+0000ed53:
+0000ed5f: R8 := pad:64[mem[0x180008214, el]:u32]
+0000ed71: R8 := pad:64[low:32[R8] | 1]
+0000ed91: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
+0000ed95: goto %0000e5e1
+
+0000e5e1:
+0000e5e5: RAX := 7
+0000e5ed: R9 := 2
+0000e60a: #12582761 := low:32[RSI] - 7
+0000e616: OF := high:1[(low:32[RSI] ^ 7) & (low:32[RSI] ^ #12582761)]
+0000e625: SF := high:1[#12582761]
+0000e636: when (SF | OF) & ~(SF & OF) goto %0000e630
+00019548: goto %0000ec05
+
+0000ec05:
+0000ec0f: RCX := 0
+0000ec2a: RAX := pad:64[unknown[bits]:u32]
+0000ec2d: RBX := pad:64[unknown[bits]:u32]
+0000ec30: RCX := pad:64[unknown[bits]:u32]
+0000ec33: RDX := pad:64[unknown[bits]:u32]
+0000ec3f: mem := mem with [RSP, el]:u32 <- low:32[RAX]
+0000ec47: R11 := pad:64[low:32[RBX]]
+0000ec53: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX]
+0000ec5f: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX]
+0000ec6b: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX]
+0000ec78: CF := low:1[RBX >> 9]
+0000ec8d: when ~CF goto %0000e630
+00019547: goto %0000ec91
+
+0000ec91:
+0000eca3: R8 := pad:64[low:32[R8] | 2]
+0000ecc3: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
+00019546: goto %0000e630
+
+0000e630:
+0000e63f: mem := mem with [0x180008038, el]:u32 <- 1
+0000e649: mem := mem with [0x18000803C, el]:u32 <- 2
+0000e656: CF := low:1[RDI >> 0x14]
+0000e66c: when ~CF goto %0000e669
+00019545: goto %0000e8d7
+
+0000e8d7:
+0000e8df: mem := mem with [0x180008038, el]:u32 <- 2
+0000e8e5: RBX := 6
+0000e8ef: mem := mem with [0x18000803C, el]:u32 <- 6
+0000e8fc: CF := low:1[RDI >> 0x1B]
+0000e911: when ~CF goto %0000e669
+00019544: goto %0000e915
+
+0000e915:
+0000e920: CF := low:1[RDI >> 0x1C]
+0000e935: when ~CF goto %0000e669
+00019543: goto %0000e939
+
+0000e939:
+0000e943: RCX := 0
+0000e95c: RAX := pad:64[unknown[bits]:u32]
+0000e95f: RDX := pad:64[unknown[bits]:u32]
+0000e978: RDX := RDX << 0x20
+0000e9a3: RDX := RDX | RAX
+0000e9c5: mem := mem with [RSP + 0x20, el]:u64 <- RDX
+0000e9cf: RAX := mem[RSP + 0x20, el]:u64
+0000e9e5: RAX := 63:8[RAX].low:8[RAX] & 6
+0000ea18: #12582750 := low:8[RAX] - 6
+0000ea37: ZF := 0 = #12582750
+0000ea3d: when ~ZF goto %0000e669
+00019542: goto %0000ea41
+
+0000ea41:
+0000ea47: RAX := pad:64[mem[0x18000803C, el]:u32]
+0000ea59: RAX := pad:64[low:32[RAX] | 8]
+0000ea77: mem := mem with [0x180008038, el]:u32 <- 3
+0000ea81: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX]
+0000ea93: #12582747 := low:8[R11] & 0x20
+0000eaa9: ZF := 0 = #12582747
+0000eaaf: when ZF goto %0000e669
+00019541: goto %0000eab3
+
+0000eab3:
+0000eac3: RAX := pad:64[low:32[RAX] | 0x20]
+0000eae1: mem := mem with [0x180008038, el]:u32 <- 5
+0000eaeb: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX]
+0000eaf1: RAX := 0xD0030000
+0000eb05: R11 := pad:64[low:32[R11] & 0xD0030000]
+0000eb38: #12582743 := low:32[R11] - 0xD0030000
+0000eb57: ZF := 0 = #12582743
+0000eb5d: when ~ZF goto %0000e669
+00019540: goto %0000eb61
+
+0000eb61:
+0000eb69: RAX := mem[RSP + 0x20, el]:u64
+0000eb7d: RAX := 63:8[RAX].low:8[RAX] & 0xE0
+0000ebab: #12582740 := low:8[RAX] - 0xE0
+0000ebc7: ZF := 0 = #12582740
+0000ebcd: when ~ZF goto %0000e669
+0001953f: goto %0000ebd1
+
+0000ebd1:
+0000ebe3: mem :=
           mem with [0x18000803C, el]:u32 <- mem[0x18000803C, el]:u32 | 0x40
-0000ec63: mem := mem with [0x180008038, el]:u32 <- 6
-00019899: goto %0000e6c9
-
-0000e6c9:
-0000e6d7: RBX := mem[RSP + 0x28, el]:u64
-0000e6e3: RAX := 0
-0000e6ff: RSI := mem[RSP + 0x30, el]:u64
-0000e720: RSP := RSP + 0x10
-0000e74b: RDI := mem[RSP, el]:u64
-0000e74f: RSP := RSP + 8
-0000e75c: #12582756 := mem[RSP, el]:u64
-0000e760: RSP := RSP + 8
-0000e763: call #12582756 with noreturn
-
-0001959d: sub sub_18000114a(sub_18000114a_result)
-00019909: sub_18000114a_result :: out u32 = low:32[RAX]
-
-0000f17d:
-0000f18c: goto %0000f18a
-
-0000f18a:
-0000f197: mem := mem with [RSP + 8, el]:u64 <- RBX
-0000f1a5: #12582700 := RBP
-0000f1a9: RSP := RSP - 8
-0000f1af: mem := mem with [RSP, el]:u64 <- #12582700
-0000f1b7: RBP := RSP - 0x4C0
-0000f1d5: RSP := RSP - 0x5C0
-0000f1f9: RBX := pad:64[low:32[RCX]]
-0000f1ff: RCX := 0x17
-0000f20d: #12582696 := mem[0x18000A068, el]:u64
-0000f211: RSP := RSP - 8
-0000f216: mem := mem with [RSP, el]:u64 <- 0x180001F1E
-0000f219: call #12582696 with return %0000f21b
-
-0000f21b:
-0000f22b: #12582695 := low:32[RAX]
-0000f241: ZF := 0 = #12582695
-0000f248: when ZF goto %0000f245
-000198ae: goto %00012aeb
-
-00012aeb:
-00012af1: RCX := pad:64[low:32[RBX]]
-00012af5: call @interrupt:#41 with noreturn
-
-0000f245:
-0000f24f: RCX := 3
-0000f25b: RSP := RSP - 8
-0000f260: mem := mem with [RSP, el]:u64 <- 0x180001F30
-0000f262: call @sub_18000112c with return %000123e5
+0000ec03: mem := mem with [0x180008038, el]:u32 <- 6
+0001953e: goto %0000e669
+
+0000e669:
+0000e677: RBX := mem[RSP + 0x28, el]:u64
+0000e683: RAX := 0
+0000e69f: RSI := mem[RSP + 0x30, el]:u64
+0000e6c0: RSP := RSP + 0x10
+0000e6eb: RDI := mem[RSP, el]:u64
+0000e6ef: RSP := RSP + 8
+0000e6fc: #12582756 := mem[RSP, el]:u64
+0000e700: RSP := RSP + 8
+0000e703: call #12582756 with noreturn
+
+00019550: sub sub_18000114a(sub_18000114a_result)
+000195c9: sub_18000114a_result :: out u32 = low:32[RAX]
+
+0000f11d:
+0000f12c: goto %0000f12a
+
+0000f12a:
+0000f137: mem := mem with [RSP + 8, el]:u64 <- RBX
+0000f145: #12582700 := RBP
+0000f149: RSP := RSP - 8
+0000f14f: mem := mem with [RSP, el]:u64 <- #12582700
+0000f157: RBP := RSP - 0x4C0
+0000f175: RSP := RSP - 0x5C0
+0000f199: RBX := pad:64[low:32[RCX]]
+0000f19f: RCX := 0x17
+0000f1ad: #12582696 := mem[0x18000A068, el]:u64
+0000f1b1: RSP := RSP - 8
+0000f1b6: mem := mem with [RSP, el]:u64 <- 0x180001F22
+0000f1b9: call #12582696 with return %0000f1bb
+
+0000f1bb:
+0000f1cb: #12582695 := low:32[RAX]
+0000f1e1: ZF := 0 = #12582695
+0000f1e8: when ZF goto %0000f1e5
+00019554: goto %00012a8b
+
+00012a8b:
+00012a91: RCX := pad:64[low:32[RBX]]
+00012a95: call @interrupt:#41 with noreturn
+
+0000f1e5:
+0000f1ef: RCX := 3
+0000f1fb: RSP := RSP - 8
+0000f200: mem := mem with [RSP, el]:u64 <- 0x180001F34
+0000f202: call @sub_18000112c with return %00012385
+
+00012385:
+0001238f: RDX := 0
+000123a9: RCX := RBP - 0x10
+000123af: R8 := 0x4D0
+000123ba: RSP := RSP - 8
+000123bf: mem := mem with [RSP, el]:u64 <- 0x180001F45
+000123c1: call @sub_180002752 with return %000123c3
+
+000123c3:
+000123c9: RCX := RBP - 0x10
+000123d7: #12582344 := mem[0x18000A030, el]:u64
+000123db: RSP := RSP - 8
+000123e0: mem := mem with [RSP, el]:u64 <- 0x180001F4F
+000123e3: call #12582344 with return %000123e5
 
 000123e5:
-000123ef: RDX := 0
-00012409: RCX := RBP - 0x10
-0001240f: R8 := 0x4D0
-0001241a: RSP := RSP - 8
-0001241f: mem := mem with [RSP, el]:u64 <- 0x180001F41
-00012421: call @sub_180002752 with return %00012423
-
-00012423:
-00012429: RCX := RBP - 0x10
-00012437: #12582344 := mem[0x18000A030, el]:u64
-0001243b: RSP := RSP - 8
-00012440: mem := mem with [RSP, el]:u64 <- 0x180001F4B
-00012443: call #12582344 with return %00012445
-
-00012445:
-0001244d: RBX := mem[RBP + 0xE8, el]:u64
-00012455: RDX := RBP + 0x4D8
-0001245d: RCX := RBX
-00012469: R8 := 0
-00012489: #12582343 := mem[0x18000A038, el]:u64
-0001248d: RSP := RSP - 8
-00012492: mem := mem with [RSP, el]:u64 <- 0x180001F65
-00012495: call #12582343 with return %00012497
-
-00012497:
-000124a7: #12582342 := RAX
-000124bd: ZF := 0 = #12582342
-000124c4: when ZF goto %000124c1
-000198ad: goto %00012a2b
-
-00012a2b:
-00012a41: mem := mem with [RSP + 0x38, el]:u64 <- 0
-00012a63: RCX := RBP + 0x4E0
-00012a6d: RDX := mem[RBP + 0x4D8, el]:u64
-00012a75: R9 := RAX
-00012a81: mem := mem with [RSP + 0x30, el]:u64 <- RCX
-00012a89: R8 := RBX
-00012a91: RCX := RBP + 0x4E8
-00012a9d: mem := mem with [RSP + 0x28, el]:u64 <- RCX
-00012aa5: RCX := RBP - 0x10
-00012ab1: mem := mem with [RSP + 0x20, el]:u64 <- RCX
-00012abd: RCX := 0
-00012add: #12582313 := mem[0x18000A040, el]:u64
-00012ae1: RSP := RSP - 8
-00012ae6: mem := mem with [RSP, el]:u64 <- 0x180001FA6
-00012ae9: call #12582313 with return %000124c1
-
-000124c1:
-000124cf: RAX := mem[RBP + 0x4C8, el]:u64
-000124d7: RCX := RSP + 0x50
-000124e3: mem := mem with [RBP + 0xE8, el]:u64 <- RAX
-000124ef: RDX := 0
-00012509: RAX := RBP + 0x4C8
-0001250f: R8 := 0x98
-00012530: RAX := RAX + 8
-0001255b: mem := mem with [RBP + 0x88, el]:u64 <- RAX
-00012566: RSP := RSP - 8
-0001256b: mem := mem with [RSP, el]:u64 <- 0x180001FD8
-0001256d: call @sub_180002752 with return %0001256f
-
-0001256f:
-00012577: RAX := mem[RBP + 0x4C8, el]:u64
-00012583: mem := mem with [RSP + 0x60, el]:u64 <- RAX
-0001258d: mem := mem with [RSP + 0x50, el]:u32 <- 0x40000015
-00012597: mem := mem with [RSP + 0x54, el]:u32 <- 1
-000125a5: #12582337 := mem[0x18000A048, el]:u64
-000125a9: RSP := RSP - 8
-000125ae: mem := mem with [RSP, el]:u64 <- 0x180001FFA
-000125b1: call #12582337 with return %000125b3
-
-000125b3:
-000125c9: #12582336 := low:32[RAX] - 1
-000125e5: ZF := 0 = #12582336
-000125ed: RAX := RSP + 0x50
-000125f9: mem := mem with [RSP + 0x40, el]:u64 <- RAX
-00012601: RAX := RBP - 0x10
-0001260b: RBX := 63:8[RBX].pad:8[ZF]
-00012617: mem := mem with [RSP + 0x48, el]:u64 <- RAX
-00012623: RCX := 0
-00012643: #12582334 := mem[0x18000A058, el]:u64
-00012647: RSP := RSP - 8
-0001264c: mem := mem with [RSP, el]:u64 <- 0x18000201B
-0001264f: call #12582334 with return %00012651
-
-00012651:
-00012657: RCX := RSP + 0x40
-00012665: #12582333 := mem[0x18000A050, el]:u64
-00012669: RSP := RSP - 8
-0001266e: mem := mem with [RSP, el]:u64 <- 0x180002026
-00012671: call #12582333 with return %00012673
-
-00012673:
-00012683: #12582332 := low:32[RAX]
-00012699: ZF := 0 = #12582332
-000126a0: when ~ZF goto %0001269d
-000198ac: goto %000129e1
-
-000129e1:
-000129f1: #12582316 := low:8[RBX]
-00012a07: ZF := 0 = #12582316
-00012a0d: when ~ZF goto %0001269d
-000198ab: goto %00012a11
-
-00012a11:
-00012a17: RCX := pad:64[low:32[RAX + 3]]
-00012a22: RSP := RSP - 8
-00012a27: mem := mem with [RSP, el]:u64 <- 0x180002036
-00012a29: call @sub_18000112c with return %0001269d
-
-0001269d:
-000126ab: RBX := mem[RSP + 0x5D0, el]:u64
-000126cc: RSP := RSP + 0x5C0
-000126f7: RBP := mem[RSP, el]:u64
-000126fb: RSP := RSP + 8
-00012708: #12582327 := mem[RSP, el]:u64
-0001270c: RSP := RSP + 8
-0001270f: call #12582327 with noreturn
-
-000195a2: sub sub_180001154(sub_180001154_result)
-0001990a: sub_180001154_result :: out u32 = low:32[RAX]
-
-00012afb:
-00012afd: goto %00010cd4
-
-00010cd4:
-00010cf0: RSP := RSP - 0x28
-00010d17: RSP := RSP - 8
-00010d1c: mem := mem with [RSP, el]:u64 <- 0x180001A6D
-00010d1e: call @sub_180001087 with return %00010d20
-
-00010d20:
-00010d30: #12582492 := low:32[RAX]
-00010d46: ZF := 0 = #12582492
-00010d4d: when ZF goto %00010d4a
-000198b2: goto %00010e0c
-
-00010e0c:
-00010e14: RAX := mem[GS_BASE + 0x30, el]:u64
-00010e1e: RCX := mem[RAX + 8, el]:u64
-00010e23: goto %00010e21
-
-00010e21:
-00010e2e: RAX := 0
-00010e65: call @intrinsic:x86:lock with return %00010e68
-
-00010e68:
-00010e69: #12582486 := mem[0x1800081C0, el]:u64
-00010e6e: #12582485 := -#12582486
-00010e8d: ZF := 0 = #12582485
-00010ea1: goto %00010e99
-
-00010e99:
-00010e9b: when 0 = #12582486 goto %00010e93
-00010e9c: goto %00010e97
-
-00010e97:
-00010e98: RAX := #12582486
-00010e9e: goto %00010e9a
-
-00010e93:
-00010e94: mem := mem with [0x1800081C0, el]:u64 <- RCX
-00010e9d: goto %00010e9a
-
-00010e9a:
-00010ea0: call @intrinsic:x86:unlock with return %00010eab
-
-00010eab:
-00010eb0: when ~ZF goto %00010ead
-000198b1: goto %00010d4a
-
-00010d4a:
-00010d5c: RAX := 63:8[RAX].0
-00010d62: ZF := 1
-000198b0: goto %00010d70
-
-00010ead:
-00010ece: #12582483 := RCX - RAX
-00010eed: ZF := 0 = #12582483
-00010ef3: when ZF goto %00010dc4
-000198af: goto %00010e21
-
-00010dc4:
-00010dca: RAX := high:56[RAX].1
-00010dce: goto %00010d70
-
-00010d70:
-00010d8f: RSP := RSP + 0x28
-00010dbb: #12582487 := mem[RSP, el]:u64
-00010dbf: RSP := RSP + 8
-00010dc2: call #12582487 with noreturn
-
-000195a7: sub sub_180001163(sub_180001163_result)
-0001990b: sub_180001163_result :: out u32 = low:32[RAX]
-
-00012b07:
-00012b09: goto %00011c49
-
-00011c49:
-00011c53: mem := mem with [RSP + 8, el]:u64 <- RBX
-00011c5f: mem := mem with [RSP + 0x10, el]:u64 <- RBP
-00011c6b: mem := mem with [RSP + 0x18, el]:u64 <- RSI
-00011c79: #12582388 := RDI
-00011c7d: RSP := RSP - 8
-00011c83: mem := mem with [RSP, el]:u64 <- #12582388
-00011ca1: RSP := RSP - 0x20
-00011cc5: RDI := R9
-00011ccd: RSI := R8
-00011cd5: RBX := pad:64[low:32[RDX]]
-00011cdd: RBP := RCX
-00011ce8: RSP := RSP - 8
-00011ced: mem := mem with [RSP, el]:u64 <- 0x180001B80
-00011cef: call @sub_180001087 with return %00011cf1
-
-00011cf1:
-00011d01: #12582384 := low:32[RAX]
-00011d17: ZF := 0 = #12582384
-00011d1e: when ~ZF goto %00011d1b
-000198b4: goto %00011fa5
-
-00011fa5:
-00011fbb: #12582365 := low:32[RBX] - 1
-00011fd7: ZF := 0 = #12582365
-00011fdd: when ~ZF goto %00011d1b
-000198b3: goto %00011fe1
-
-00011fe1:
-00011fe7: R8 := RSI
-00011ff3: RDX := 0
-0001200d: RCX := RBP
-00012015: RAX := RDI
-00012023: #12582363 := mem[0x18000B020, el]:u64
-00012027: RSP := RSP - 8
-0001202c: mem := mem with [RSP, el]:u64 <- 0x180001B9A
-0001202f: call #12582363 with return %00011d1b
-
-00011d1b:
-00011d29: RDX := mem[RSP + 0x58, el]:u64
-00011d33: RCX := pad:64[mem[RSP + 0x50, el]:u32]
-00011d3d: RBX := mem[RSP + 0x30, el]:u64
-00011d47: RBP := mem[RSP + 0x38, el]:u64
-00011d51: RSI := mem[RSP + 0x40, el]:u64
-00011d72: RSP := RSP + 0x20
-00011d9d: RDI := mem[RSP, el]:u64
-00011da1: RSP := RSP + 8
-00011da5: goto %00004dff
-
-00004dff:
-00004e03: call mem[0x18000A180, el]:u64 with noreturn
-
-000195aa: sub sub_180001168(sub_180001168_result)
-0001990c: sub_180001168_result :: out u32 = low:32[RAX]
-
-00012b0b:
-00012b0d: goto %00011749
-
-00011749:
-00011755: #12582428 := RBX
-00011759: RSP := RSP - 8
-0001175f: mem := mem with [RSP, el]:u64 <- #12582428
-0001177d: RSP := RSP - 0x20
-000117a1: RAX := pad:64[mem[0x1800081C8]]
-000117b3: #12582424 := low:32[RCX]
-000117c9: ZF := 0 = #12582424
-000117cf: RBX := 1
-000117db: RAX := pad:64[if ZF then 1 else low:32[RAX]]
-000117e5: mem := mem with [0x1800081C8] <- low:8[RAX]
-000117f1: RSP := RSP - 8
-000117f6: mem := mem with [RSP, el]:u64 <- 0x180001C4E
-000117f8: call @sub_180001145 with return %000117fd
-
-000117fd:
-00011807: RSP := RSP - 8
-0001180c: mem := mem with [RSP, el]:u64 <- 0x180001C53
-0001180e: call @sub_18000102d with return %0001181b
-
-0001181b:
-0001182b: #12582422 := low:8[RAX]
-00011841: ZF := 0 = #12582422
-00011848: when ~ZF goto %00011845
-000198b7: goto %00012288
-
-00011845:
-00011855: RSP := RSP - 8
-0001185a: mem := mem with [RSP, el]:u64 <- 0x180001C60
-0001185c: call @sub_180001122 with return %0001216d
-
-0001216d:
-0001217d: #12582356 := low:8[RAX]
-00012193: ZF := 0 = #12582356
-0001219a: when ~ZF goto %00012197
-000198b6: goto %00012257
-
-00012197:
-000121a5: RAX := high:56[RAX].1
-000198b5: goto %000121a7
-
-00012257:
-00012261: RCX := 0
-0001227e: RSP := RSP - 8
-00012283: mem := mem with [RSP, el]:u64 <- 0x180001C6B
-00012285: call @sub_180001046 with return %00012287
-
-00012287:
-0001228a: goto %00012288
-
-00012288:
-00012297: RAX := 63:8[RAX].0
-000122ad: goto %000121a7
-
-000121a7:
-000121c6: RSP := RSP + 0x20
-000121f1: RBX := mem[RSP, el]:u64
-000121f5: RSP := RSP + 8
-00012202: #12582351 := mem[RSP, el]:u64
-00012206: RSP := RSP + 8
-00012209: call #12582351 with noreturn
-
-000195ae: sub sub_180001177(sub_180001177_result)
-0001990d: sub_180001177_result :: out u32 = low:32[RAX]
-
-00012b17:
-00012b19: goto %00011b67
-
-00011b67:
-00011b83: RSP := RSP - 0x28
-00011baa: RSP := RSP - 8
-00011baf: mem := mem with [RSP, el]:u64 <- 0x180001B49
-00011bb1: call @sub_1800010e1 with return %00011bb3
-
-00011bb3:
-00011bbd: RSP := RSP - 8
-00011bc2: mem := mem with [RSP, el]:u64 <- 0x180001B4E
-00011bc4: call @sub_180001096 with return %00011bd1
-
-00011bd1:
-00011bd7: RAX := high:56[RAX].1
-00011bf8: RSP := RSP + 0x28
-00011c24: #12582389 := mem[RSP, el]:u64
-00011c28: RSP := RSP + 8
-00011c2b: call #12582389 with noreturn
-
-000195af: sub sub_180001181(sub_180001181_result)
-0001990e: sub_180001181_result :: out u32 = low:32[RAX]
-
-00012e03:
-00012e11: goto %00011e07
-
-00011e07:
-00011e23: RSP := RSP - 0x28
-00011e4a: RSP := RSP - 8
-00011e4f: mem := mem with [RSP, el]:u64 <- 0x180001BDD
-00011e51: call @sub_180001087 with return %00011e53
-
-00011e53:
-00011e63: #12582376 := low:32[RAX]
-00011e79: ZF := 0 = #12582376
-00011e80: when ZF goto %00011e7d
-000198b9: goto %00011f5b
-
-00011e7d:
-00011e8c: RSP := RSP - 8
-00011e91: mem := mem with [RSP, el]:u64 <- 0x180001BF6
-00011e93: call @sub_180001032 with return %00011e95
-
-00011e95:
-00011ea5: #12582374 := low:32[RAX]
-00011ebb: ZF := 0 = #12582374
-00011ec2: when ~ZF goto %00011ebf
-000198b8: goto %00011f49
-
-00011f49:
-00011f52: RSP := RSP - 8
-00011f57: mem := mem with [RSP, el]:u64 <- 0x180001BFF
-00011f59: call @sub_180002794 with return %00011ebf
-
-00011ebf:
-00011ee4: RSP := RSP + 0x28
-00011f10: #12582369 := mem[RSP, el]:u64
-00011f14: RSP := RSP + 8
-00011f17: call #12582369 with noreturn
-
-00011f5b:
-00011f5f: RCX := 0x1800081D0
-00011f80: RSP := RSP + 0x28
-00011fa3: goto %00004e1d
-
-00004e1d:
-00004e21: call mem[0x18000A1A8, el]:u64 with noreturn
-
-000195b2: sub sub_180001354(sub_180001354_result)
-0001990f: sub_180001354_result :: out u32 = low:32[RAX]
-
-00012b20:
-00012b3f: RSP := RSP - 0x28
-00012b6d: #12582309 := low:32[RDX]
-00012b83: ZF := 0 = #12582309
-00012b8a: when ZF goto %00012b87
-000198c8: goto %00013f45
-
-00012b87:
-00012b9d: #12582307 := R8
-00012bb3: ZF := 0 = #12582307
-00012bbd: RCX := 63:8[RCX].pad:8[~ZF]
-00012bde: RSP := RSP + 0x28
-00012c02: call @sub_180001514 with noreturn
-
-00013f45:
-00013f61: RDX := pad:64[low:32[RDX] - 1]
-00013f7d: ZF := 0 = low:32[RDX]
-00013f84: when ZF goto %00013f81
-000198c7: goto %00013fd3
-
-00013f81:
-00013f8d: RDX := R8
-00013fae: RSP := RSP + 0x28
-00013fd1: goto %0001394b
-
-0001394b:
-00013955: mem := mem with [RSP + 8, el]:u64 <- RBX
-00013961: mem := mem with [RSP + 0x10, el]:u64 <- RSI
-0001396d: mem := mem with [RSP + 0x20, el]:u64 <- RDI
-0001397b: #12582264 := R14
-0001397f: RSP := RSP - 8
-00013985: mem := mem with [RSP, el]:u64 <- #12582264
-000139a3: RSP := RSP - 0x20
-000139c7: RSI := RDX
-000139cf: R14 := RCX
-000139db: RCX := 0
-000139f8: RSP := RSP - 8
-000139fd: mem := mem with [RSP, el]:u64 <- 0x1800013DA
-000139ff: call @sub_180001168 with return %00013a01
-
-00013a01:
-00013a11: #12582260 := low:8[RAX]
-00013a27: ZF := 0 = #12582260
-00013a2e: when ZF goto %00013a2b
-000198c6: goto %00013c07
-
-00013c07:
-00013c10: RSP := RSP - 8
-00013c15: mem := mem with [RSP, el]:u64 <- 0x1800013E7
-00013c17: call @sub_180001154 with return %00013c19
-
-00013c19:
-00013c21: RBX := high:56[RBX].low:8[RAX]
-00013c2d: mem := mem with [RSP + 0x40] <- low:8[RAX]
-00013c35: RDI := high:56[RDI].1
-00013c4d: #12582254 := mem[0x1800081B8, el]:u32
-00013c69: ZF := 0 = #12582254
-00013c6f: when ~ZF goto %00013ad1
-000198c5: goto %00013c73
-
-00013ad1:
-00013ad5: RCX := 7
-00013ae0: RSP := RSP - 8
-00013ae5: mem := mem with [RSP, el]:u64 <- 0x1800014CC
-00013ae7: call @sub_18000114a with return %00013ae9
-
-00013ae9:
-00013aed: call @interrupt:#3 with noreturn
-
-00013aef:
-00013af1: call @interrupt:#3 with noreturn
-
-00013af3:
-00013af5: call @interrupt:#3 with noreturn
-
-00013af7:
-00013af9: call @interrupt:#3 with noreturn
-
-00013afb:
-00013afd: call @interrupt:#3 with noreturn
-
-00013aff:
-00013b01: call @interrupt:#3 with noreturn
-
-00013b03:
-00013b05: call @interrupt:#3 with noreturn
-
-00013b07:
-00013b09: call @interrupt:#3 with noreturn
-
-00013b0b:
-00013b0d: call @interrupt:#3 with noreturn
-
-00013b0f:
-00013b11: call @interrupt:#3 with noreturn
-
-00013b13:
-00013b15: call @interrupt:#3 with noreturn
-
-00013b17:
-00013b19: call @interrupt:#3 with noreturn
+000123ed: RBX := mem[RBP + 0xE8, el]:u64
+000123f5: RDX := RBP + 0x4D8
+000123fd: RCX := RBX
+00012409: R8 := 0
+00012429: #12582343 := mem[0x18000A038, el]:u64
+0001242d: RSP := RSP - 8
+00012432: mem := mem with [RSP, el]:u64 <- 0x180001F69
+00012435: call #12582343 with return %00012437
+
+00012437:
+00012447: #12582342 := RAX
+0001245d: ZF := 0 = #12582342
+00012464: when ZF goto %00012461
+00019553: goto %000129cb
+
+000129cb:
+000129e1: mem := mem with [RSP + 0x38, el]:u64 <- 0
+00012a03: RCX := RBP + 0x4E0
+00012a0d: RDX := mem[RBP + 0x4D8, el]:u64
+00012a15: R9 := RAX
+00012a21: mem := mem with [RSP + 0x30, el]:u64 <- RCX
+00012a29: R8 := RBX
+00012a31: RCX := RBP + 0x4E8
+00012a3d: mem := mem with [RSP + 0x28, el]:u64 <- RCX
+00012a45: RCX := RBP - 0x10
+00012a51: mem := mem with [RSP + 0x20, el]:u64 <- RCX
+00012a5d: RCX := 0
+00012a7d: #12582313 := mem[0x18000A040, el]:u64
+00012a81: RSP := RSP - 8
+00012a86: mem := mem with [RSP, el]:u64 <- 0x180001FAA
+00012a89: call #12582313 with return %00012461
+
+00012461:
+0001246f: RAX := mem[RBP + 0x4C8, el]:u64
+00012477: RCX := RSP + 0x50
+00012483: mem := mem with [RBP + 0xE8, el]:u64 <- RAX
+0001248f: RDX := 0
+000124a9: RAX := RBP + 0x4C8
+000124af: R8 := 0x98
+000124d0: RAX := RAX + 8
+000124fb: mem := mem with [RBP + 0x88, el]:u64 <- RAX
+00012506: RSP := RSP - 8
+0001250b: mem := mem with [RSP, el]:u64 <- 0x180001FDC
+0001250d: call @sub_180002752 with return %0001250f
+
+0001250f:
+00012517: RAX := mem[RBP + 0x4C8, el]:u64
+00012523: mem := mem with [RSP + 0x60, el]:u64 <- RAX
+0001252d: mem := mem with [RSP + 0x50, el]:u32 <- 0x40000015
+00012537: mem := mem with [RSP + 0x54, el]:u32 <- 1
+00012545: #12582337 := mem[0x18000A048, el]:u64
+00012549: RSP := RSP - 8
+0001254e: mem := mem with [RSP, el]:u64 <- 0x180001FFE
+00012551: call #12582337 with return %00012553
+
+00012553:
+00012569: #12582336 := low:32[RAX] - 1
+00012585: ZF := 0 = #12582336
+0001258d: RAX := RSP + 0x50
+00012599: mem := mem with [RSP + 0x40, el]:u64 <- RAX
+000125a1: RAX := RBP - 0x10
+000125ab: RBX := 63:8[RBX].pad:8[ZF]
+000125b7: mem := mem with [RSP + 0x48, el]:u64 <- RAX
+000125c3: RCX := 0
+000125e3: #12582334 := mem[0x18000A058, el]:u64
+000125e7: RSP := RSP - 8
+000125ec: mem := mem with [RSP, el]:u64 <- 0x18000201F
+000125ef: call #12582334 with return %000125f1
+
+000125f1:
+000125f7: RCX := RSP + 0x40
+00012605: #12582333 := mem[0x18000A050, el]:u64
+00012609: RSP := RSP - 8
+0001260e: mem := mem with [RSP, el]:u64 <- 0x18000202A
+00012611: call #12582333 with return %00012613
+
+00012613:
+00012623: #12582332 := low:32[RAX]
+00012639: ZF := 0 = #12582332
+00012640: when ~ZF goto %0001263d
+00019552: goto %00012981
+
+00012981:
+00012991: #12582316 := low:8[RBX]
+000129a7: ZF := 0 = #12582316
+000129ad: when ~ZF goto %0001263d
+00019551: goto %000129b1
+
+000129b1:
+000129b7: RCX := pad:64[low:32[RAX + 3]]
+000129c2: RSP := RSP - 8
+000129c7: mem := mem with [RSP, el]:u64 <- 0x18000203A
+000129c9: call @sub_18000112c with return %0001263d
+
+0001263d:
+0001264b: RBX := mem[RSP + 0x5D0, el]:u64
+0001266c: RSP := RSP + 0x5C0
+00012697: RBP := mem[RSP, el]:u64
+0001269b: RSP := RSP + 8
+000126a8: #12582327 := mem[RSP, el]:u64
+000126ac: RSP := RSP + 8
+000126af: call #12582327 with noreturn
+
+00019555: sub sub_180001154(sub_180001154_result)
+000195ca: sub_180001154_result :: out u32 = low:32[RAX]
+
+00012a9b:
+00012a9d: goto %00010c74
+
+00010c74:
+00010c90: RSP := RSP - 0x28
+00010cb7: RSP := RSP - 8
+00010cbc: mem := mem with [RSP, el]:u64 <- 0x180001A71
+00010cbe: call @sub_180001087 with return %00010cc0
+
+00010cc0:
+00010cd0: #12582492 := low:32[RAX]
+00010ce6: ZF := 0 = #12582492
+00010ced: when ZF goto %00010cea
+00019559: goto %00010dac
+
+00010dac:
+00010db4: RAX := mem[GS_BASE + 0x30, el]:u64
+00010dbe: RCX := mem[RAX + 8, el]:u64
+00010dc3: goto %00010dc1
+
+00010dc1:
+00010dce: RAX := 0
+00010e05: call @intrinsic:x86:lock with return %00010e08
+
+00010e08:
+00010e09: #12582486 := mem[0x1800081C0, el]:u64
+00010e0e: #12582485 := -#12582486
+00010e2d: ZF := 0 = #12582485
+00010e41: goto %00010e39
+
+00010e39:
+00010e3b: when 0 = #12582486 goto %00010e33
+00010e3c: goto %00010e37
+
+00010e37:
+00010e38: RAX := #12582486
+00010e3e: goto %00010e3a
+
+00010e33:
+00010e34: mem := mem with [0x1800081C0, el]:u64 <- RCX
+00010e3d: goto %00010e3a
+
+00010e3a:
+00010e40: call @intrinsic:x86:unlock with return %00010e4b
+
+00010e4b:
+00010e50: when ~ZF goto %00010e4d
+00019558: goto %00010cea
+
+00010cea:
+00010cfc: RAX := 63:8[RAX].0
+00010d02: ZF := 1
+00019557: goto %00010d10
+
+00010e4d:
+00010e6e: #12582483 := RCX - RAX
+00010e8d: ZF := 0 = #12582483
+00010e93: when ZF goto %00010d64
+00019556: goto %00010dc1
+
+00010d64:
+00010d6a: RAX := high:56[RAX].1
+00010d6e: goto %00010d10
+
+00010d10:
+00010d2f: RSP := RSP + 0x28
+00010d5b: #12582487 := mem[RSP, el]:u64
+00010d5f: RSP := RSP + 8
+00010d62: call #12582487 with noreturn
+
+0001955a: sub sub_180001163(sub_180001163_result)
+000195cb: sub_180001163_result :: out u32 = low:32[RAX]
+
+00012aa7:
+00012aa9: goto %00011be9
+
+00011be9:
+00011bf3: mem := mem with [RSP + 8, el]:u64 <- RBX
+00011bff: mem := mem with [RSP + 0x10, el]:u64 <- RBP
+00011c0b: mem := mem with [RSP + 0x18, el]:u64 <- RSI
+00011c19: #12582388 := RDI
+00011c1d: RSP := RSP - 8
+00011c23: mem := mem with [RSP, el]:u64 <- #12582388
+00011c41: RSP := RSP - 0x20
+00011c65: RDI := R9
+00011c6d: RSI := R8
+00011c75: RBX := pad:64[low:32[RDX]]
+00011c7d: RBP := RCX
+00011c88: RSP := RSP - 8
+00011c8d: mem := mem with [RSP, el]:u64 <- 0x180001B84
+00011c8f: call @sub_180001087 with return %00011c91
+
+00011c91:
+00011ca1: #12582384 := low:32[RAX]
+00011cb7: ZF := 0 = #12582384
+00011cbe: when ~ZF goto %00011cbb
+0001955c: goto %00011f45
+
+00011f45:
+00011f5b: #12582365 := low:32[RBX] - 1
+00011f77: ZF := 0 = #12582365
+00011f7d: when ~ZF goto %00011cbb
+0001955b: goto %00011f81
+
+00011f81:
+00011f87: R8 := RSI
+00011f93: RDX := 0
+00011fad: RCX := RBP
+00011fb5: RAX := RDI
+00011fc3: #12582363 := mem[0x18000B020, el]:u64
+00011fc7: RSP := RSP - 8
+00011fcc: mem := mem with [RSP, el]:u64 <- 0x180001B9E
+00011fcf: call #12582363 with return %00011cbb
+
+00011cbb:
+00011cc9: RDX := mem[RSP + 0x58, el]:u64
+00011cd3: RCX := pad:64[mem[RSP + 0x50, el]:u32]
+00011cdd: RBX := mem[RSP + 0x30, el]:u64
+00011ce7: RBP := mem[RSP + 0x38, el]:u64
+00011cf1: RSI := mem[RSP + 0x40, el]:u64
+00011d12: RSP := RSP + 0x20
+00011d3d: RDI := mem[RSP, el]:u64
+00011d41: RSP := RSP + 8
+00011d45: goto %00004def
+
+00004def:
+00004df3: call mem[0x18000A180, el]:u64 with noreturn
+
+0001955d: sub sub_180001168(sub_180001168_result)
+000195cc: sub_180001168_result :: out u32 = low:32[RAX]
+
+00012aab:
+00012aad: goto %000116e9
+
+000116e9:
+000116f5: #12582428 := RBX
+000116f9: RSP := RSP - 8
+000116ff: mem := mem with [RSP, el]:u64 <- #12582428
+0001171d: RSP := RSP - 0x20
+00011741: RAX := pad:64[mem[0x1800081C8]]
+00011753: #12582424 := low:32[RCX]
+00011769: ZF := 0 = #12582424
+0001176f: RBX := 1
+0001177b: RAX := pad:64[if ZF then 1 else low:32[RAX]]
+00011785: mem := mem with [0x1800081C8] <- low:8[RAX]
+00011791: RSP := RSP - 8
+00011796: mem := mem with [RSP, el]:u64 <- 0x180001C52
+00011798: call @sub_180001145 with return %0001179d
+
+0001179d:
+000117a7: RSP := RSP - 8
+000117ac: mem := mem with [RSP, el]:u64 <- 0x180001C57
+000117ae: call @sub_18000102d with return %000117bb
+
+000117bb:
+000117cb: #12582422 := low:8[RAX]
+000117e1: ZF := 0 = #12582422
+000117e8: when ~ZF goto %000117e5
+00019560: goto %00012228
+
+000117e5:
+000117f5: RSP := RSP - 8
+000117fa: mem := mem with [RSP, el]:u64 <- 0x180001C64
+000117fc: call @sub_180001122 with return %0001210d
+
+0001210d:
+0001211d: #12582356 := low:8[RAX]
+00012133: ZF := 0 = #12582356
+0001213a: when ~ZF goto %00012137
+0001955f: goto %000121f7
+
+00012137:
+00012145: RAX := high:56[RAX].1
+0001955e: goto %00012147
+
+000121f7:
+00012201: RCX := 0
+0001221e: RSP := RSP - 8
+00012223: mem := mem with [RSP, el]:u64 <- 0x180001C6F
+00012225: call @sub_180001046 with return %00012227
+
+00012227:
+0001222a: goto %00012228
+
+00012228:
+00012237: RAX := 63:8[RAX].0
+0001224d: goto %00012147
+
+00012147:
+00012166: RSP := RSP + 0x20
+00012191: RBX := mem[RSP, el]:u64
+00012195: RSP := RSP + 8
+000121a2: #12582351 := mem[RSP, el]:u64
+000121a6: RSP := RSP + 8
+000121a9: call #12582351 with noreturn
+
+00019561: sub sub_180001177(sub_180001177_result)
+000195cd: sub_180001177_result :: out u32 = low:32[RAX]
+
+00012ab7:
+00012ab9: goto %00011b07
+
+00011b07:
+00011b23: RSP := RSP - 0x28
+00011b4a: RSP := RSP - 8
+00011b4f: mem := mem with [RSP, el]:u64 <- 0x180001B4D
+00011b51: call @sub_1800010e1 with return %00011b53
+
+00011b53:
+00011b5d: RSP := RSP - 8
+00011b62: mem := mem with [RSP, el]:u64 <- 0x180001B52
+00011b64: call @sub_180001096 with return %00011b71
+
+00011b71:
+00011b77: RAX := high:56[RAX].1
+00011b98: RSP := RSP + 0x28
+00011bc4: #12582389 := mem[RSP, el]:u64
+00011bc8: RSP := RSP + 8
+00011bcb: call #12582389 with noreturn
+
+00019562: sub sub_180001181(sub_180001181_result)
+000195ce: sub_180001181_result :: out u32 = low:32[RAX]
+
+00012da3:
+00012db1: goto %00011da7
+
+00011da7:
+00011dc3: RSP := RSP - 0x28
+00011dea: RSP := RSP - 8
+00011def: mem := mem with [RSP, el]:u64 <- 0x180001BE1
+00011df1: call @sub_180001087 with return %00011df3
+
+00011df3:
+00011e03: #12582376 := low:32[RAX]
+00011e19: ZF := 0 = #12582376
+00011e20: when ZF goto %00011e1d
+00019564: goto %00011efb
+
+00011e1d:
+00011e2c: RSP := RSP - 8
+00011e31: mem := mem with [RSP, el]:u64 <- 0x180001BFA
+00011e33: call @sub_180001032 with return %00011e35
+
+00011e35:
+00011e45: #12582374 := low:32[RAX]
+00011e5b: ZF := 0 = #12582374
+00011e62: when ~ZF goto %00011e5f
+00019563: goto %00011ee9
+
+00011ee9:
+00011ef2: RSP := RSP - 8
+00011ef7: mem := mem with [RSP, el]:u64 <- 0x180001C03
+00011ef9: call @sub_180002794 with return %00011e5f
+
+00011e5f:
+00011e84: RSP := RSP + 0x28
+00011eb0: #12582369 := mem[RSP, el]:u64
+00011eb4: RSP := RSP + 8
+00011eb7: call #12582369 with noreturn
+
+00011efb:
+00011eff: RCX := 0x1800081D0
+00011f20: RSP := RSP + 0x28
+00011f43: goto %00004e0d
+
+00004e0d:
+00004e11: call mem[0x18000A1A8, el]:u64 with noreturn
+
+00019565: sub sub_180001358(sub_180001358_result)
+000195cf: sub_180001358_result :: out u32 = low:32[RAX]
+
+00012ac0:
+00012adf: RSP := RSP - 0x28
+00012b0d: #12582309 := low:32[RDX]
+00012b23: ZF := 0 = #12582309
+00012b2a: when ZF goto %00012b27
+00019574: goto %00013ef8
+
+00012b27:
+00012b3d: #12582307 := R8
+00012b53: ZF := 0 = #12582307
+00012b5d: RCX := 63:8[RCX].pad:8[~ZF]
+00012b7e: RSP := RSP + 0x28
+00012ba2: call @sub_180001518 with noreturn
+
+00013ef8:
+00013f10: #12582237 := low:32[RDX]
+00013f14: RDX := pad:64[low:32[RDX] - 1]
+00013f18: CF := #12582237 < 1
+00013f1e: OF := high:1[(#12582237 ^ 1) & (#12582237 ^ low:32[RDX])]
+00013f23: AF := 0x10 = (0x10 & (low:32[RDX] ^ #12582237 ^ 1))
+00013f28: PF :=
+          ~low:1[let $0 = low:32[RDX] >> 4 ^ low:32[RDX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013f2c: SF := high:1[low:32[RDX]]
+00013f30: ZF := 0 = low:32[RDX]
+00013f37: when ZF goto %00013f34
+00019573: goto %00013f86
+
+00013f34:
+00013f40: RDX := R8
+00013f5d: #12582234 := RSP
+00013f6e: OF := ~high:1[#12582234] & (high:1[#12582234] | high:1[RSP]) &
+          ~(high:1[#12582234] & high:1[RSP])
+00013f78: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013f7c: SF := high:1[RSP]
+00013f80: ZF := 0 = RSP
+00013f84: goto %000138fe
+
+000138fe:
+00013908: mem := mem with [RSP + 8, el]:u64 <- RBX
+00013914: mem := mem with [RSP + 0x10, el]:u64 <- RSI
+00013920: mem := mem with [RSP + 0x20, el]:u64 <- RDI
+0001392e: #12582264 := R14
+00013932: RSP := RSP - 8
+00013938: mem := mem with [RSP, el]:u64 <- #12582264
+00013952: #12582263 := RSP
+00013956: RSP := RSP - 0x20
+0001395a: CF := #12582263 < 0x20
+00013960: OF := high:1[(#12582263 ^ 0x20) & (#12582263 ^ RSP)]
+0001396a: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001396e: SF := high:1[RSP]
+00013972: ZF := 0 = RSP
+0001397a: RSI := RDX
+00013982: R14 := RCX
+0001398e: RCX := 0
+00013991: AF := unknown[bits]:u1
+00013994: ZF := 1
+00013997: PF := 1
+0001399a: OF := 0
+0001399d: CF := 0
+000139a0: SF := 0
+000139ab: RSP := RSP - 8
+000139b0: mem := mem with [RSP, el]:u64 <- 0x1800013DE
+000139b2: call @sub_180001168 with return %000139b4
+
+000139b4:
+000139c4: #12582260 := low:8[RAX]
+000139c7: OF := 0
+000139ca: CF := 0
+000139cd: AF := unknown[bits]:u1
+000139d2: PF :=
+          ~low:1[let $0 = #12582260 >> 4 ^ #12582260 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000139d6: SF := high:1[#12582260]
+000139da: ZF := 0 = #12582260
+000139e1: when ZF goto %000139de
+00019572: goto %00013bba
+
+00013bba:
+00013bc3: RSP := RSP - 8
+00013bc8: mem := mem with [RSP, el]:u64 <- 0x1800013EB
+00013bca: call @sub_180001154 with return %00013bcc
+
+00013bcc:
+00013bd4: RBX := high:56[RBX].low:8[RAX]
+00013be0: mem := mem with [RSP + 0x40] <- low:8[RAX]
+00013be8: RDI := high:56[RDI].1
+00013c00: #12582254 := mem[0x1800081B8, el]:u32
+00013c04: CF := mem[0x1800081B8, el]:u32 < 0
+00013c0a: OF := high:1[mem[0x1800081B8, el]:u32 &
+          (mem[0x1800081B8, el]:u32 ^ #12582254)]
+00013c0f: AF := 0x10 = (0x10 & (#12582254 ^ mem[0x1800081B8, el]:u32))
+00013c14: PF :=
+          ~low:1[let $0 = #12582254 >> 4 ^ #12582254 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013c18: SF := high:1[#12582254]
+00013c1c: ZF := 0 = #12582254
+00013c22: when ~ZF goto %00013a84
+00019571: goto %00013c26
+
+00013a84:
+00013a88: RCX := 7
+00013a93: RSP := RSP - 8
+00013a98: mem := mem with [RSP, el]:u64 <- 0x1800014D0
+00013a9a: call @sub_18000114a with return %00013a9c
+
+00013a9c:
+00013aa0: call @interrupt:#3 with noreturn
+
+00013aa2:
+00013aa4: call @interrupt:#3 with noreturn
+
+00013aa6:
+00013aa8: call @interrupt:#3 with noreturn
+
+00013aaa:
+00013aac: call @interrupt:#3 with noreturn
+
+00013aae:
+00013ab0: call @interrupt:#3 with noreturn
+
+00013ab2:
+00013ab4: call @interrupt:#3 with noreturn
+
+00013ab6:
+00013ab8: call @interrupt:#3 with noreturn
+
+00013aba:
+00013abc: call @interrupt:#3 with noreturn
+
+00013abe:
+00013ac0: call @interrupt:#3 with noreturn
+
+00013ac2:
+00013ac4: call @interrupt:#3 with noreturn
+
+00013ac6:
+00013ac8: call @interrupt:#3 with noreturn
+
+00013aca:
+00013acc: call @interrupt:#3 with noreturn
 
-00013b1b:
-00013b1d: call @interrupt:#3 with noreturn
+00013ace:
+00013ad0: call @interrupt:#3 with noreturn
 
-00013b1f:
-00013b21: call @interrupt:#3 with noreturn
+00013ad2:
+00013ad4: call @interrupt:#3 with noreturn
 
-00013b23:
-00013b25: call @interrupt:#3 with noreturn
+00013ad6:
+00013ad8: call @interrupt:#3 with noreturn
 
-00013b27:
-00013b29: call @interrupt:#3 with noreturn
+00013ada:
+00013adc: call @interrupt:#3 with noreturn
 
-00013b2b:
-00013b2d: call @interrupt:#3 with noreturn
+00013ade:
+00013ae0: call @interrupt:#3 with noreturn
 
-00013b2f:
-00013b31: call @interrupt:#3 with noreturn
+00013ae2:
+00013ae4: call @interrupt:#3 with noreturn
 
-00013b33:
-00013b35: call @interrupt:#3 with noreturn
+00013ae6:
+00013ae8: call @interrupt:#3 with noreturn
 
-00013b37:
-00013b39: call @interrupt:#3 with noreturn
+00013aea:
+00013aec: call @interrupt:#3 with noreturn
 
-00013b3b:
-00013b3d: call @interrupt:#3 with noreturn
+00013aee:
+00013af0: call @interrupt:#3 with noreturn
 
-00013b3f:
-00013b41: call @interrupt:#3 with noreturn
+00013af2:
+00013af4: call @interrupt:#3 with noreturn
 
-00013b43:
-00013b45: call @interrupt:#3 with noreturn
+00013af6:
+00013af8: call @interrupt:#3 with noreturn
 
-00013b47:
-00013b49: call @interrupt:#3 with noreturn
+00013afa:
+00013afc: call @interrupt:#3 with noreturn
 
-00013b4b:
-00013b4d: call @interrupt:#3 with noreturn
+00013afe:
+00013b00: call @interrupt:#3 with noreturn
 
-00013b4f:
-00013b51: call @interrupt:#3 with noreturn
+00013b02:
+00013b04: call @interrupt:#3 with noreturn
 
-00013b53:
-00013b55: call @interrupt:#3 with noreturn
+00013b06:
+00013b08: call @interrupt:#3 with noreturn
 
-00013b57:
-00013b59: call @interrupt:#3 with noreturn
+00013b0a:
+00013b0c: call @interrupt:#3 with noreturn
 
-00013b5b:
-00013b5d: call @interrupt:#3 with noreturn
+00013b0e:
+00013b10: call @interrupt:#3 with noreturn
 
-00013b5f:
-00013b61: call @interrupt:#3 with noreturn
+00013b12:
+00013b14: call @interrupt:#3 with noreturn
 
-00013b63:
-00013b65: call @interrupt:#3 with noreturn
+00013b16:
+00013b18: call @interrupt:#3 with noreturn
 
-00013b67:
-00013b69: call @interrupt:#3 with noreturn
+00013b1a:
+00013b1c: call @interrupt:#3 with noreturn
 
-00013b6b:
-00013b6d: call @interrupt:#3 with noreturn
+00013b1e:
+00013b20: call @interrupt:#3 with noreturn
 
-00013b6f:
-00013b71: call @interrupt:#3 with noreturn
+00013b22:
+00013b24: call @interrupt:#3 with noreturn
 
-00013b73:
-00013b75: call @interrupt:#3 with noreturn
+00013b26:
+00013b28: call @interrupt:#3 with noreturn
 
-00013b77:
-00013b79: call @interrupt:#3 with noreturn
+00013b2a:
+00013b2c: call @interrupt:#3 with noreturn
 
-00013b7b:
-00013b7d: call @interrupt:#3 with noreturn
+00013b2e:
+00013b30: call @interrupt:#3 with noreturn
 
-00013b7f:
-00013b81: call @interrupt:#3 with noreturn
+00013b32:
+00013b34: call @interrupt:#3 with noreturn
 
-00013b83:
-00013b85: call @interrupt:#3 with noreturn
+00013b36:
+00013b38: call @interrupt:#3 with noreturn
 
-00013b87:
-00013b89: call @interrupt:#3 with noreturn
+00013b3a:
+00013b3c: call @interrupt:#3 with noreturn
 
-00013b8b:
-00013b8d: call @interrupt:#3 with noreturn
+00013b3e:
+00013b40: call @interrupt:#3 with noreturn
 
-00013b8f:
-00013b91: call @interrupt:#3 with noreturn
+00013b42:
+00013b44: call @interrupt:#3 with noreturn
 
-00013b93:
-00013b95: call @interrupt:#3 with noreturn
+00013b46:
+00013b48: call @interrupt:#3 with noreturn
 
-00013b97:
-00013b99: call @interrupt:#3 with noreturn
+00013b4a:
+00013b4c: call @interrupt:#3 with noreturn
 
-00013b9b:
-00013b9d: call @interrupt:#3 with noreturn
+00013b4e:
+00013b50: call @interrupt:#3 with noreturn
 
-00013b9f:
-00013ba1: call @interrupt:#3 with noreturn
+00013b52:
+00013b54: call @interrupt:#3 with noreturn
 
-00013ba3:
-00013ba5: call @interrupt:#3 with noreturn
+00013b56:
+00013b58: call @interrupt:#3 with noreturn
 
-00013ba7:
-00013ba9: call @interrupt:#3 with noreturn
+00013b5a:
+00013b5c: call @interrupt:#3 with noreturn
 
-00013bab:
-00013bad: call @interrupt:#3 with noreturn
+00013b5e:
+00013b60: call @interrupt:#3 with noreturn
 
-00013baf:
-00013bb1: call @interrupt:#3 with noreturn
+00013b62:
+00013b64: call @interrupt:#3 with noreturn
 
-00013bb3:
-00013bb5: call @interrupt:#3 with noreturn
+00013b66:
+00013b68: call @interrupt:#3 with noreturn
 
-00013bb7:
-00013bb9: call @interrupt:#3 with noreturn
+00013b6a:
+00013b6c: call @interrupt:#3 with noreturn
 
-00013bbb:
-00013bbd: call @interrupt:#3 with noreturn
+00013b6e:
+00013b70: call @interrupt:#3 with noreturn
 
-00013bbf:
-00013bc1: call @interrupt:#3 with noreturn
+00013b72:
+00013b74: call @interrupt:#3 with noreturn
 
-00013bc3:
-00013bc5: call @interrupt:#3 with noreturn
+00013b76:
+00013b78: call @interrupt:#3 with noreturn
 
-00013bc7:
-00013bc9: call @interrupt:#3 with noreturn
+00013b7a:
+00013b7c: call @interrupt:#3 with noreturn
 
-00013bcb:
-00013bcd: call @interrupt:#3 with noreturn
+00013b7e:
+00013b80: call @interrupt:#3 with noreturn
 
-00013bcf:
-00013bd1: call @interrupt:#3 with noreturn
+00013b82:
+00013b84: call @interrupt:#3 with noreturn
 
-00013bd3:
-00013bd5: call @interrupt:#3 with noreturn
+00013b86:
+00013b88: call @interrupt:#3 with noreturn
 
-00013bd7:
-00013bd9: call @interrupt:#3 with noreturn
+00013b8a:
+00013b8c: call @interrupt:#3 with noreturn
 
-00013bdb:
-00013bdd: call @interrupt:#3 with noreturn
+00013b8e:
+00013b90: call @interrupt:#3 with noreturn
 
-00013bdf:
-00013be1: call @interrupt:#3 with noreturn
+00013b92:
+00013b94: call @interrupt:#3 with noreturn
 
-00013be3:
-00013be5: call @interrupt:#3 with noreturn
+00013b96:
+00013b98: call @interrupt:#3 with noreturn
 
-00013be7:
-00013be9: call @interrupt:#3 with noreturn
+00013b9a:
+00013b9c: call @interrupt:#3 with noreturn
 
-00013beb:
-00013bed: call @interrupt:#3 with noreturn
+00013b9e:
+00013ba0: call @interrupt:#3 with noreturn
 
-00013bef:
-00013bf1: call @interrupt:#3 with noreturn
+00013ba2:
+00013ba4: call @interrupt:#3 with noreturn
+
+00013ba6:
+00013ba8: call @interrupt:#3 with noreturn
+
+00013baa:
+00013bac: call @interrupt:#3 with noreturn
+
+00013bae:
+00013bb0: call @interrupt:#3 with noreturn
+
+00013bb2:
+00013bb4: call @interrupt:#3 with noreturn
+
+00013bb6:
+00013bb8: call @interrupt:#3 with noreturn
+00019570: call @sub_180001518 with noreturn
+
+00013c26:
+00013c2c: mem := mem with [0x1800081B8, el]:u32 <- 1
+00013c37: RSP := RSP - 8
+00013c3c: mem := mem with [RSP, el]:u64 <- 0x180001410
+00013c3e: call @sub_180001019 with return %00013c40
+
+00013c40:
+00013c50: #12582252 := low:8[RAX]
+00013c53: OF := 0
+00013c56: CF := 0
+00013c59: AF := unknown[bits]:u1
+00013c5e: PF :=
+          ~low:1[let $0 = #12582252 >> 4 ^ #12582252 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013c62: SF := high:1[#12582252]
+00013c66: ZF := 0 = #12582252
+00013c6d: when ZF goto %00013c6a
+0001956f: goto %00013dec
+
+00013dec:
+00013df5: RSP := RSP - 8
+00013dfa: mem := mem with [RSP, el]:u64 <- 0x180001419
+00013dfc: call @sub_1800010cd with return %00013dfe
+
+00013dfe:
+00013e07: RSP := RSP - 8
+00013e0c: mem := mem with [RSP, el]:u64 <- 0x18000141E
+00013e0e: call @sub_180001041 with return %00013e10
+
+00013e10:
+00013e19: RSP := RSP - 8
+00013e1e: mem := mem with [RSP, el]:u64 <- 0x180001423
+00013e20: call @sub_180001127 with return %00013e22
+
+00013e22:
+00013e26: RDX := 0x180006330
+00013e2c: RCX := 0x180006220
+00013e37: RSP := RSP - 8
+00013e3c: mem := mem with [RSP, el]:u64 <- 0x180001436
+00013e3e: call @sub_18000275e with return %00013e40
+
+00013e40:
+00013e50: #12582241 := low:32[RAX]
+00013e53: OF := 0
+00013e56: CF := 0
+00013e59: AF := unknown[bits]:u1
+00013e5e: PF :=
+          ~low:1[let $0 = #12582241 >> 4 ^ #12582241 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013e62: SF := high:1[#12582241]
+00013e66: ZF := 0 = #12582241
+00013e6c: when ~ZF goto %00013c6a
+0001956e: goto %00013e70
+
+00013e70:
+00013e79: RSP := RSP - 8
+00013e7e: mem := mem with [RSP, el]:u64 <- 0x18000143F
+00013e80: call @sub_18000113b with return %00013e82
+
+00013e82:
+00013e92: #12582239 := low:8[RAX]
+00013e95: OF := 0
+00013e98: CF := 0
+00013e9b: AF := unknown[bits]:u1
+00013ea0: PF :=
+          ~low:1[let $0 = #12582239 >> 4 ^ #12582239 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013ea4: SF := high:1[#12582239]
+00013ea8: ZF := 0 = #12582239
+00013eae: when ZF goto %00013c6a
+0001956d: goto %00013eb2
+
+00013eb2:
+00013eb6: RDX := 0x180006110
+00013ebc: RCX := 0x180006000
+00013ec7: RSP := RSP - 8
+00013ecc: mem := mem with [RSP, el]:u64 <- 0x180001456
+00013ece: call @sub_180002758 with return %00013ed0
+
+00013ed0:
+00013ed6: mem := mem with [0x1800081B8, el]:u32 <- 2
+00013ee4: RDI := 63:8[RDI].0
+00013ee7: AF := unknown[bits]:u1
+00013eea: ZF := 1
+00013eed: PF := 1
+00013ef0: OF := 0
+00013ef3: CF := 0
+00013ef6: SF := 0
+0001956c: goto %00013c6a
+
+00013c6a:
+00013c78: RCX := high:56[RCX].low:8[RBX]
+00013c83: RSP := RSP - 8
+00013c88: mem := mem with [RSP, el]:u64 <- 0x18000146A
+00013c8a: call @sub_180001140 with return %00013c8c
+
+00013c8c:
+00013c9c: #12582250 := low:8[RDI]
+00013c9f: OF := 0
+00013ca2: CF := 0
+00013ca5: AF := unknown[bits]:u1
+00013caa: PF :=
+          ~low:1[let $0 = #12582250 >> 4 ^ #12582250 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013cae: SF := high:1[#12582250]
+00013cb2: ZF := 0 = #12582250
+00013cb8: when ~ZF goto %000139de
+0001956b: goto %00013cbc
+
+000139de:
+000139ee: RAX := 0
+000139f1: AF := unknown[bits]:u1
+000139f4: ZF := 1
+000139f7: PF := 1
+000139fa: OF := 0
+000139fd: CF := 0
+00013a00: SF := 0
+0001956a: goto %00013a02
+
+00013cbc:
+00013cc5: RSP := RSP - 8
+00013cca: mem := mem with [RSP, el]:u64 <- 0x180001474
+00013ccc: call @sub_180001109 with return %00013cce
+
+00013cce:
+00013cd4: RBX := RAX
+00013cf7: CF := mem[RAX, el]:u64 < 0
+00013cff: OF := high:1[mem[RAX, el]:u64 & (mem[RAX, el]:u64 ^ #12582248)]
+00013d05: AF := 0x10 = (0x10 & (#12582248 ^ mem[RAX, el]:u64))
+00013d0a: PF :=
+          ~low:1[let $0 = #12582248 >> 4 ^ #12582248 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013d0e: SF := high:1[#12582248]
+00013d12: ZF := 0 = #12582248
+00013d19: when ZF goto %00013d16
+00019569: goto %00013d60
+
+00013d60:
+00013d66: RCX := RAX
+00013d71: RSP := RSP - 8
+00013d76: mem := mem with [RSP, el]:u64 <- 0x180001485
+00013d78: call @sub_18000108c with return %00013d7a
+
+00013d7a:
+00013d8a: #12582244 := low:8[RAX]
+00013d8d: OF := 0
+00013d90: CF := 0
+00013d93: AF := unknown[bits]:u1
+00013d98: PF :=
+          ~low:1[let $0 = #12582244 >> 4 ^ #12582244 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013d9c: SF := high:1[#12582244]
+00013da0: ZF := 0 = #12582244
+00013da6: when ZF goto %00013d16
+00019568: goto %00013daa
+
+00013daa:
+00013db0: R8 := RSI
+00013db6: RDX := 2
+00013dbe: RCX := R14
+00013dc8: RAX := mem[RBX, el]:u64
+00013dd0: R9 := mem[0x18000B020, el]:u64
+00013dde: #12582242 := R9
+00013de2: RSP := RSP - 8
+00013de7: mem := mem with [RSP, el]:u64 <- 0x1800014A1
+00013dea: call #12582242 with return %00013d16
+
+00013d16:
+00013d42: OF := ~high:1[#12582246] &
+          (high:1[#12582246] | high:1[mem[0x180008170, el]:u32]) &
+          ~(high:1[#12582246] & high:1[mem[0x180008170, el]:u32])
+00013d4c: PF :=
+          ~low:1[let $0 = mem[0x180008170, el]:u32 >> 4 ^
+                 mem[0x180008170, el]:u32 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013d50: SF := high:1[mem[0x180008170, el]:u32]
+00013d54: ZF := 0 = mem[0x180008170, el]:u32
+00013d5a: RAX := 1
+00013d5e: goto %00013a02
+
+00013a02:
+00013a0a: RBX := mem[RSP + 0x30, el]:u64
+00013a14: RSI := mem[RSP + 0x38, el]:u64
+00013a1e: RDI := mem[RSP + 0x48, el]:u64
+00013a3b: #12582258 := RSP
+00013a4c: OF := ~high:1[#12582258] & (high:1[#12582258] | high:1[RSP]) &
+          ~(high:1[#12582258] & high:1[RSP])
+00013a56: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013a5a: SF := high:1[RSP]
+00013a5e: ZF := 0 = RSP
+00013a6a: R14 := mem[RSP, el]:u64
+00013a6e: RSP := RSP + 8
+00013a7b: #12582255 := mem[RSP, el]:u64
+00013a7f: RSP := RSP + 8
+00013a82: call #12582255 with noreturn
+
+00013f86:
+00013f9e: #12582231 := low:32[RDX]
+00013fa2: RDX := pad:64[low:32[RDX] - 1]
+00013fa6: CF := #12582231 < 1
+00013fac: OF := high:1[(#12582231 ^ 1) & (#12582231 ^ low:32[RDX])]
+00013fb1: AF := 0x10 = (0x10 & (low:32[RDX] ^ #12582231 ^ 1))
+00013fb6: PF :=
+          ~low:1[let $0 = low:32[RDX] >> 4 ^ low:32[RDX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013fba: SF := high:1[low:32[RDX]]
+00013fbe: ZF := 0 = low:32[RDX]
+00013fc5: when ZF goto %00013fc2
+00019567: goto %00014036
+
+00013fc2:
+00013fd1: RSP := RSP - 8
+00013fd6: mem := mem with [RSP, el]:u64 <- 0x180001385
+00013fd8: call @sub_18000111d with return %00013fda
+
+00014036:
+0001404c: #12582224 := low:32[RDX] - 1
+00014050: CF := low:32[RDX] < 1
+00014056: OF := high:1[(low:32[RDX] ^ 1) & (low:32[RDX] ^ #12582224)]
+0001405b: AF := 0x10 = (0x10 & (#12582224 ^ low:32[RDX] ^ 1))
+00014060: PF :=
+          ~low:1[let $0 = #12582224 >> 4 ^ #12582224 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014064: SF := high:1[#12582224]
+00014068: ZF := 0 = #12582224
+0001406f: when ZF goto %0001406c
+00019566: goto %00014088
+
+0001406c:
+0001407b: RSP := RSP - 8
+00014080: mem := mem with [RSP, el]:u64 <- 0x18000137E
+00014082: call @sub_180001177 with return %00014084
+
+00014084:
+00014086: goto %00013fda
+
+00013fda:
+00013fe0: RAX := pad:64[low:8[RAX]]
+00013ffd: #12582228 := RSP
+0001400e: OF := ~high:1[#12582228] & (high:1[#12582228] | high:1[RSP]) &
+          ~(high:1[#12582228] & high:1[RSP])
+00014018: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001401c: SF := high:1[RSP]
+00014020: ZF := 0 = RSP
+0001402d: #12582225 := mem[RSP, el]:u64
+00014031: RSP := RSP + 8
+00014034: call #12582225 with noreturn
+
+00014088:
+0001408c: RAX := 1
+000140a9: #12582222 := RSP
+000140ba: OF := ~high:1[#12582222] & (high:1[#12582222] | high:1[RSP]) &
+          ~(high:1[#12582222] & high:1[RSP])
+000140c4: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000140c8: SF := high:1[RSP]
+000140cc: ZF := 0 = RSP
+000140d9: #12582219 := mem[RSP, el]:u64
+000140dd: RSP := RSP + 8
+000140e0: call #12582219 with noreturn
+
+00019575: sub sub_180001518(sub_180001518_result)
+000195d0: sub_180001518_result :: out u32 = low:32[RAX]
+
+00012ba0:
+00012bad: mem := mem with [RSP + 8, el]:u64 <- RBX
+00012bbb: #12582302 := RDI
+00012bbf: RSP := RSP - 8
+00012bc5: mem := mem with [RSP, el]:u64 <- #12582302
+00012be3: RSP := RSP - 0x30
+00012c09: RDI := high:56[RDI].low:8[RCX]
+00012c11: RAX := pad:64[mem[0x180008170, el]:u32]
+00012c23: #12582298 := low:32[RAX]
+00012c35: SF := high:1[#12582298]
+00012c39: ZF := 0 = #12582298
+00012c48: when ~(ZF | SF) goto %00012c41
+00019579: goto %00013890
+
+00012c41:
+00012c65: RAX := pad:64[low:32[RAX] - 1]
+00012c87: mem := mem with [0x180008170, el]:u32 <- low:32[RAX]
+00012c92: RSP := RSP - 8
+00012c97: mem := mem with [RSP, el]:u64 <- 0x180001549
+00012c99: call @sub_180001154 with return %00012c9b
+
+00012c9b:
+00012ca3: RBX := high:56[RBX].low:8[RAX]
+00012caf: mem := mem with [RSP + 0x20] <- low:8[RAX]
+00012cc7: #12582294 := mem[0x1800081B8, el]:u32 - 2
+00012ce3: ZF := 0 = #12582294
+00012cea: when ~ZF goto %00012ce7
+00019578: goto %00012d9d
+
+00012ce7:
+00012cf1: RCX := 7
+00012cfc: RSP := RSP - 8
+00012d01: mem := mem with [RSP, el]:u64 <- 0x180001599
+00012d03: call @sub_18000114a with return %00012d05
+
+00012d05:
+00012d0b: call @interrupt:#3 with noreturn
+
+00012d0d:
+00012d0f: call @interrupt:#3 with noreturn
+
+00012d11:
+00012d13: call @interrupt:#3 with noreturn
+
+00012d15:
+00012d17: call @interrupt:#3 with noreturn
+
+00012d19:
+00012d1b: call @interrupt:#3 with noreturn
+
+00012d1d:
+00012d1f: call @interrupt:#3 with noreturn
+
+00012d21:
+00012d23: call @interrupt:#3 with noreturn
+
+00012d25:
+00012d27: call @interrupt:#3 with noreturn
+
+00012d29:
+00012d2b: call @interrupt:#3 with noreturn
+
+00012d2d:
+00012d2f: call @interrupt:#3 with noreturn
+
+00012d31:
+00012d33: call @interrupt:#3 with noreturn
+
+00012d35:
+00012d37: call @interrupt:#3 with noreturn
+
+00012d39:
+00012d3b: call @interrupt:#3 with noreturn
+
+00012d3d:
+00012d3f: call @interrupt:#3 with noreturn
+
+00012d41:
+00012d43: call @interrupt:#3 with noreturn
+
+00012d45:
+00012d47: call @interrupt:#3 with noreturn
 
-00013bf3:
-00013bf5: call @interrupt:#3 with noreturn
+00012d49:
+00012d4b: call @interrupt:#3 with noreturn
 
-00013bf7:
-00013bf9: call @interrupt:#3 with noreturn
+00012d4d:
+00012d4f: call @interrupt:#3 with noreturn
 
-00013bfb:
-00013bfd: call @interrupt:#3 with noreturn
+00012d51:
+00012d53: call @interrupt:#3 with noreturn
 
-00013bff:
-00013c01: call @interrupt:#3 with noreturn
+00012d55:
+00012d57: call @interrupt:#3 with noreturn
 
-00013c03:
-00013c05: call @interrupt:#3 with noreturn
-000198c4: call @sub_180001514 with noreturn
+00012d59:
+00012d5b: call @interrupt:#3 with noreturn
 
-00013c73:
-00013c79: mem := mem with [0x1800081B8, el]:u32 <- 1
-00013c84: RSP := RSP - 8
-00013c89: mem := mem with [RSP, el]:u64 <- 0x18000140C
-00013c8b: call @sub_180001019 with return %00013c8d
+00012d5d:
+00012d5f: call @interrupt:#3 with noreturn
 
-00013c8d:
-00013c9d: #12582252 := low:8[RAX]
-00013cb3: ZF := 0 = #12582252
-00013cba: when ZF goto %00013cb7
-000198c3: goto %00013e39
-
-00013e39:
-00013e42: RSP := RSP - 8
-00013e47: mem := mem with [RSP, el]:u64 <- 0x180001415
-00013e49: call @sub_1800010cd with return %00013e4b
-
-00013e4b:
-00013e54: RSP := RSP - 8
-00013e59: mem := mem with [RSP, el]:u64 <- 0x18000141A
-00013e5b: call @sub_180001041 with return %00013e5d
-
-00013e5d:
-00013e66: RSP := RSP - 8
-00013e6b: mem := mem with [RSP, el]:u64 <- 0x18000141F
-00013e6d: call @sub_180001127 with return %00013e6f
-
-00013e6f:
-00013e73: RDX := 0x180006330
-00013e79: RCX := 0x180006220
-00013e84: RSP := RSP - 8
-00013e89: mem := mem with [RSP, el]:u64 <- 0x180001432
-00013e8b: call @sub_18000275e with return %00013e8d
-
-00013e8d:
-00013e9d: #12582241 := low:32[RAX]
-00013eb3: ZF := 0 = #12582241
-00013eb9: when ~ZF goto %00013cb7
-000198c2: goto %00013ebd
-
-00013ebd:
-00013ec6: RSP := RSP - 8
-00013ecb: mem := mem with [RSP, el]:u64 <- 0x18000143B
-00013ecd: call @sub_18000113b with return %00013ecf
-
-00013ecf:
-00013edf: #12582239 := low:8[RAX]
-00013ef5: ZF := 0 = #12582239
-00013efb: when ZF goto %00013cb7
-000198c1: goto %00013eff
-
-00013eff:
-00013f03: RDX := 0x180006110
-00013f09: RCX := 0x180006000
-00013f14: RSP := RSP - 8
-00013f19: mem := mem with [RSP, el]:u64 <- 0x180001452
-00013f1b: call @sub_180002758 with return %00013f1d
-
-00013f1d:
-00013f23: mem := mem with [0x1800081B8, el]:u32 <- 2
-00013f31: RDI := 63:8[RDI].0
-000198c0: goto %00013cb7
-
-00013cb7:
-00013cc5: RCX := high:56[RCX].low:8[RBX]
-00013cd0: RSP := RSP - 8
-00013cd5: mem := mem with [RSP, el]:u64 <- 0x180001466
-00013cd7: call @sub_180001140 with return %00013cd9
-
-00013cd9:
-00013ce9: #12582250 := low:8[RDI]
-00013cff: ZF := 0 = #12582250
-00013d05: when ~ZF goto %00013a2b
-000198bf: goto %00013d09
-
-00013a2b:
-00013a3b: RAX := 0
-000198be: goto %00013a4f
-
-00013d09:
-00013d12: RSP := RSP - 8
-00013d17: mem := mem with [RSP, el]:u64 <- 0x180001470
-00013d19: call @sub_180001109 with return %00013d1b
-
-00013d1b:
-00013d21: RBX := RAX
-00013d3f: #12582248 := mem[RAX, el]:u64
-00013d5f: ZF := 0 = #12582248
-00013d66: when ZF goto %00013d63
-000198bd: goto %00013dad
-
-00013dad:
-00013db3: RCX := RAX
-00013dbe: RSP := RSP - 8
-00013dc3: mem := mem with [RSP, el]:u64 <- 0x180001481
-00013dc5: call @sub_18000108c with return %00013dc7
-
-00013dc7:
-00013dd7: #12582244 := low:8[RAX]
-00013ded: ZF := 0 = #12582244
-00013df3: when ZF goto %00013d63
-000198bc: goto %00013df7
-
-00013df7:
-00013dfd: R8 := RSI
-00013e03: RDX := 2
-00013e0b: RCX := R14
-00013e15: RAX := mem[RBX, el]:u64
-00013e1d: R9 := mem[0x18000B020, el]:u64
-00013e2b: #12582242 := R9
-00013e2f: RSP := RSP - 8
-00013e34: mem := mem with [RSP, el]:u64 <- 0x18000149D
-00013e37: call #12582242 with return %00013d63
-
-00013d63:
-00013d87: mem :=
-          mem with [0x180008170, el]:u32 <- mem[0x180008170, el]:u32 + 1
-00013da7: RAX := 1
-00013dab: goto %00013a4f
-
-00013a4f:
-00013a57: RBX := mem[RSP + 0x30, el]:u64
-00013a61: RSI := mem[RSP + 0x38, el]:u64
-00013a6b: RDI := mem[RSP + 0x48, el]:u64
-00013a8c: RSP := RSP + 0x20
-00013ab7: R14 := mem[RSP, el]:u64
-00013abb: RSP := RSP + 8
-00013ac8: #12582255 := mem[RSP, el]:u64
-00013acc: RSP := RSP + 8
-00013acf: call #12582255 with noreturn
-
-00013fd3:
-00013fef: RDX := pad:64[low:32[RDX] - 1]
-0001400b: ZF := 0 = low:32[RDX]
-00014012: when ZF goto %0001400f
-000198bb: goto %00014083
-
-0001400f:
-0001401e: RSP := RSP - 8
-00014023: mem := mem with [RSP, el]:u64 <- 0x180001381
-00014025: call @sub_18000111d with return %00014027
-
-00014083:
-00014099: #12582224 := low:32[RDX] - 1
-000140b5: ZF := 0 = #12582224
-000140bc: when ZF goto %000140b9
-000198ba: goto %000140d5
-
-000140b9:
-000140c8: RSP := RSP - 8
-000140cd: mem := mem with [RSP, el]:u64 <- 0x18000137A
-000140cf: call @sub_180001177 with return %000140d1
-
-000140d1:
-000140d3: goto %00014027
-
-00014027:
-0001402d: RAX := pad:64[low:8[RAX]]
-0001404e: RSP := RSP + 0x28
-0001407a: #12582225 := mem[RSP, el]:u64
-0001407e: RSP := RSP + 8
-00014081: call #12582225 with noreturn
-
-000140d5:
-000140d9: RAX := 1
-000140fa: RSP := RSP + 0x28
-00014126: #12582219 := mem[RSP, el]:u64
-0001412a: RSP := RSP + 8
-0001412d: call #12582219 with noreturn
-
-000195c2: sub sub_180001514(sub_180001514_result)
-00019910: sub_180001514_result :: out u32 = low:32[RAX]
-
-00012c00:
-00012c0d: mem := mem with [RSP + 8, el]:u64 <- RBX
-00012c1b: #12582302 := RDI
-00012c1f: RSP := RSP - 8
-00012c25: mem := mem with [RSP, el]:u64 <- #12582302
-00012c43: RSP := RSP - 0x30
-00012c69: RDI := high:56[RDI].low:8[RCX]
-00012c71: RAX := pad:64[mem[0x180008170, el]:u32]
-00012c83: #12582298 := low:32[RAX]
-00012c95: SF := high:1[#12582298]
-00012c99: ZF := 0 = #12582298
-00012ca8: when ~(ZF | SF) goto %00012ca1
-000198cc: goto %000138dd
-
-00012ca1:
-00012cc5: RAX := pad:64[low:32[RAX] - 1]
-00012ce7: mem := mem with [0x180008170, el]:u32 <- low:32[RAX]
-00012cf2: RSP := RSP - 8
-00012cf7: mem := mem with [RSP, el]:u64 <- 0x180001545
-00012cf9: call @sub_180001154 with return %00012cfb
-
-00012cfb:
-00012d03: RBX := high:56[RBX].low:8[RAX]
-00012d0f: mem := mem with [RSP + 0x20] <- low:8[RAX]
-00012d27: #12582294 := mem[0x1800081B8, el]:u32 - 2
-00012d43: ZF := 0 = #12582294
-00012d4a: when ~ZF goto %00012d47
-000198cb: goto %00012dfd
-
-00012d47:
-00012d51: RCX := 7
-00012d5c: RSP := RSP - 8
-00012d61: mem := mem with [RSP, el]:u64 <- 0x180001595
-00012d63: call @sub_18000114a with return %00012d65
+00012d61:
+00012d63: call @interrupt:#3 with noreturn
 
 00012d65:
+00012d67: call @interrupt:#3 with noreturn
+
+00012d69:
 00012d6b: call @interrupt:#3 with noreturn
 
 00012d6d:
@@ -2119,584 +2433,634 @@
 
 00012d99:
 00012d9b: call @interrupt:#3 with noreturn
+00019577: call @sub_1800015c0 with noreturn
 
 00012d9d:
-00012d9f: call @interrupt:#3 with noreturn
-
-00012da1:
-00012da3: call @interrupt:#3 with noreturn
-
-00012da5:
-00012da7: call @interrupt:#3 with noreturn
-
-00012da9:
-00012dab: call @interrupt:#3 with noreturn
-
-00012dad:
-00012daf: call @interrupt:#3 with noreturn
-
-00012db1:
-00012db3: call @interrupt:#3 with noreturn
-
-00012db5:
-00012db7: call @interrupt:#3 with noreturn
-
-00012db9:
-00012dbb: call @interrupt:#3 with noreturn
-
-00012dbd:
-00012dbf: call @interrupt:#3 with noreturn
-
-00012dc1:
-00012dc3: call @interrupt:#3 with noreturn
-
-00012dc5:
-00012dc7: call @interrupt:#3 with noreturn
-
-00012dc9:
-00012dcb: call @interrupt:#3 with noreturn
-
-00012dcd:
-00012dcf: call @interrupt:#3 with noreturn
-
-00012dd1:
-00012dd3: call @interrupt:#3 with noreturn
-
-00012dd5:
-00012dd7: call @interrupt:#3 with noreturn
-
-00012dd9:
-00012ddb: call @interrupt:#3 with noreturn
-
-00012ddd:
-00012ddf: call @interrupt:#3 with noreturn
-
-00012de1:
-00012de3: call @interrupt:#3 with noreturn
-
-00012de5:
-00012de7: call @interrupt:#3 with noreturn
-
-00012de9:
-00012deb: call @interrupt:#3 with noreturn
-
-00012ded:
-00012def: call @interrupt:#3 with noreturn
-
-00012df1:
-00012df3: call @interrupt:#3 with noreturn
-
-00012df5:
-00012df7: call @interrupt:#3 with noreturn
-
-00012df9:
-00012dfb: call @interrupt:#3 with noreturn
-000198ca: call @sub_1800015bc with noreturn
-
-00012dfd:
-00012e07: RSP := RSP - 8
-00012e0c: mem := mem with [RSP, el]:u64 <- 0x180001559
-00012e0e: call @sub_180001181 with return %0001356b
-
-0001356b:
-00013574: RSP := RSP - 8
-00013579: mem := mem with [RSP, el]:u64 <- 0x18000155E
-0001357b: call @sub_18000110e with return %0001357d
-
-0001357d:
-00013586: RSP := RSP - 8
-0001358b: mem := mem with [RSP, el]:u64 <- 0x180001563
-0001358d: call @sub_1800010d7 with return %0001358f
-
-0001358f:
-0001359f: mem := mem with [0x1800081B8, el]:u32 <- 0
-000135bf: RCX := high:56[RCX].low:8[RBX]
-000135ca: RSP := RSP - 8
-000135cf: mem := mem with [RSP, el]:u64 <- 0x180001571
-000135d1: call @sub_180001140 with return %000135d3
-
-000135d3:
-000135dd: RDX := 0
-000135f9: RCX := high:56[RCX].low:8[RDI]
-00013605: RSP := RSP - 8
-0001360a: mem := mem with [RSP, el]:u64 <- 0x18000157B
-0001360c: call @sub_180001082 with return %0001379f
-
-0001379f:
-000137b6: #12582274 := low:8[RAX]
-000137bb: RAX := 63:8[RAX].-low:8[RAX]
-000137bf: CF := #12582274 <> 0
-000137fa: #12582272 := low:32[RBX]
-000137fe: #12582271 := low:32[RBX]
-00013804: RBX := pad:64[#12582271 - #12582272 + pad:32[CF]]
-00013839: RBX := pad:64[low:32[RBX] & 1]
-0001385a: RSP := RSP - 8
-0001385f: mem := mem with [RSP, el]:u64 <- 0x180001587
-00013861: call @sub_180001118 with return %00013863
-
-00013863:
-00013869: RAX := pad:64[low:32[RBX]]
-0001386e: goto %0001386c
-
-000138dd:
-000138e7: RAX := 0
-000198c9: goto %0001386c
-
-0001386c:
-00013877: RBX := mem[RSP + 0x40, el]:u64
-00013898: RSP := RSP + 0x30
-000138c3: RDI := mem[RSP, el]:u64
-000138c7: RSP := RSP + 8
-000138d4: #12582265 := mem[RSP, el]:u64
-000138d8: RSP := RSP + 8
-000138db: call #12582265 with noreturn
-
-000195c7: sub sub_1800015bc(sub_1800015bc_result)
-00019911: sub_1800015bc_result :: out u32 = low:32[RAX]
-
-00004b3f:
-00004b48: RAX := RSP
-00004b54: mem := mem with [RAX + 0x20, el]:u64 <- RBX
-00004b60: mem := mem with [RAX + 0x18, el]:u64 <- R8
-00004b6c: mem := mem with [RAX + 0x10, el]:u32 <- low:32[RDX]
-00004b78: mem := mem with [RAX + 8, el]:u64 <- RCX
-00004b86: #12582902 := RSI
-00004b8a: RSP := RSP - 8
-00004b90: mem := mem with [RSP, el]:u64 <- #12582902
-00004b9e: #12582901 := RDI
-00004ba2: RSP := RSP - 8
-00004ba8: mem := mem with [RSP, el]:u64 <- #12582901
-00004bb6: #12582900 := R14
-00004bba: RSP := RSP - 8
-00004bc0: mem := mem with [RSP, el]:u64 <- #12582900
-00004bde: RSP := RSP - 0x40
-00004c02: RSI := R8
-00004c0a: RDI := pad:64[low:32[RDX]]
-00004c12: R14 := RCX
-00004c24: #12582896 := low:32[RDX]
-00004c3a: ZF := 0 = #12582896
-00004c41: when ~ZF goto %00004c3e
-000198db: goto %00019123
-
-00019123:
-0001913e: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX]
-0001914a: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) &
+00012da7: RSP := RSP - 8
+00012dac: mem := mem with [RSP, el]:u64 <- 0x18000155D
+00012dae: call @sub_180001181 with return %0001351e
+
+0001351e:
+00013527: RSP := RSP - 8
+0001352c: mem := mem with [RSP, el]:u64 <- 0x180001562
+0001352e: call @sub_18000110e with return %00013530
+
+00013530:
+00013539: RSP := RSP - 8
+0001353e: mem := mem with [RSP, el]:u64 <- 0x180001567
+00013540: call @sub_1800010d7 with return %00013542
+
+00013542:
+00013552: mem := mem with [0x1800081B8, el]:u32 <- 0
+00013555: OF := 0
+00013558: CF := 0
+00013560: PF :=
+          ~low:1[let $0 = mem[0x1800081B8, el]:u32 >> 4 ^
+                 mem[0x1800081B8, el]:u32 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013564: SF := high:1[mem[0x1800081B8, el]:u32]
+00013568: ZF := 0 = mem[0x1800081B8, el]:u32
+00013572: RCX := high:56[RCX].low:8[RBX]
+0001357d: RSP := RSP - 8
+00013582: mem := mem with [RSP, el]:u64 <- 0x180001575
+00013584: call @sub_180001140 with return %00013586
+
+00013752:
+00013772: CF := #12582274 <> 0
+00013776: OF := #12582274 = 0x80
+00013780: PF :=
+          ~low:1[let $0 = low:8[RAX] >> 4 ^ low:8[RAX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013784: SF := high:1[low:8[RAX]]
+00013788: ZF := 0 = low:8[RAX]
+000137ad: #12582272 := low:32[RBX]
+000137b7: RBX := pad:64[#12582271 - #12582272 + pad:32[CF]]
+000137be: OF := high:1[(#12582272 ^ #12582271) & (#12582271 ^ low:32[RBX])]
+000137c7: CF := #12582271 < #12582272 + pad:32[CF] | #12582272 + pad:32[CF] <
+          #12582272
+000137d2: PF :=
+          ~low:1[let $0 = low:32[RBX] >> 4 ^ low:32[RBX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000137d6: SF := high:1[low:32[RBX]]
+000137da: ZF := 0 = low:32[RBX]
+000137ec: RBX := pad:64[low:32[RBX] & 1]
+000137ef: OF := 0
+000137f2: CF := 0
+000137fa: PF :=
+          ~low:1[let $0 = low:32[RBX] >> 4 ^ low:32[RBX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000137fe: SF := high:1[low:32[RBX]]
+00013802: ZF := 0 = low:32[RBX]
+0001380d: RSP := RSP - 8
+00013812: mem := mem with [RSP, el]:u64 <- 0x18000158B
+00013814: call @sub_180001118 with return %00013816
+
+00013816:
+0001381c: RAX := pad:64[low:32[RBX]]
+00013821: goto %0001381f
+
+0001381f:
+0001382a: RBX := mem[RSP + 0x40, el]:u64
+00013847: #12582268 := RSP
+00013858: OF := ~high:1[#12582268] & (high:1[#12582268] | high:1[RSP]) &
+          ~(high:1[#12582268] & high:1[RSP])
+00013862: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013866: SF := high:1[RSP]
+0001386a: ZF := 0 = RSP
+00013876: RDI := mem[RSP, el]:u64
+0001387a: RSP := RSP + 8
+00013887: #12582265 := mem[RSP, el]:u64
+0001388b: RSP := RSP + 8
+0001388e: call #12582265 with noreturn
+
+0001957a: sub sub_1800015c0(sub_1800015c0_result)
+000195d1: sub_1800015c0_result :: out u32 = low:32[RAX]
+
+00004b2f:
+00004b38: RAX := RSP
+00004b44: mem := mem with [RAX + 0x20, el]:u64 <- RBX
+00004b50: mem := mem with [RAX + 0x18, el]:u64 <- R8
+00004b5c: mem := mem with [RAX + 0x10, el]:u32 <- low:32[RDX]
+00004b68: mem := mem with [RAX + 8, el]:u64 <- RCX
+00004b76: #12582902 := RSI
+00004b7a: RSP := RSP - 8
+00004b80: mem := mem with [RSP, el]:u64 <- #12582902
+00004b8e: #12582901 := RDI
+00004b92: RSP := RSP - 8
+00004b98: mem := mem with [RSP, el]:u64 <- #12582901
+00004ba6: #12582900 := R14
+00004baa: RSP := RSP - 8
+00004bb0: mem := mem with [RSP, el]:u64 <- #12582900
+00004bce: RSP := RSP - 0x40
+00004bf2: RSI := R8
+00004bfa: RDI := pad:64[low:32[RDX]]
+00004c02: R14 := RCX
+00004c14: #12582896 := low:32[RDX]
+00004c2a: ZF := 0 = #12582896
+00004c31: when ~ZF goto %00004c2e
+00019589: goto %000190d6
+
+000190d6:
+000190f1: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX]
+000190fd: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) &
           (mem[0x180008170, el]:u32 ^ #12582123)]
-00019159: SF := high:1[#12582123]
-0001915d: ZF := 0 = #12582123
-0001916b: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c3e
-000198da: goto %0001916f
-
-00004c3e:
-00004c4a: RAX := pad:64[low:32[RDX - 1]]
-00004c62: #12582894 := low:32[RAX] - 1
-00004c66: CF := low:32[RAX] < 1
-00004c7e: ZF := 0 = #12582894
-00004c87: when ~(CF | ZF) goto %00004c83
-000198d9: goto %00019011
-
-00019011:
-00019017: RAX := mem[0x180006880, el]:u64
-00019029: #12582130 := RAX
-0001903f: ZF := 0 = #12582130
-00019046: when ~ZF goto %00019043
-000198d8: goto %00019115
-
-00019043:
-00019055: #12582128 := mem[0x18000B020, el]:u64
-00019059: RSP := RSP - 8
-0001905e: mem := mem with [RSP, el]:u64 <- 0x180001615
-00019061: call #12582128 with return %00019063
-
-00019063:
-00019069: RBX := pad:64[low:32[RAX]]
-00019075: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00019087: #12582127 := low:32[RAX]
-0001909d: ZF := 0 = #12582127
-000190a3: when ZF goto %00018b91
-000198d7: goto %000190a7
-
-00019115:
-0001911d: mem := mem with [RSP + 0x30, el]:u32 <- 1
-00019121: goto %000190a7
-
-000190a7:
-000190ad: R8 := RSI
-000190b5: RDX := pad:64[low:32[RDI]]
-000190bd: RCX := R14
-000190c8: RSP := RSP - 8
-000190cd: mem := mem with [RSP, el]:u64 <- 0x180001630
-000190cf: call @sub_180001354 with return %000190d1
-
-000190d1:
-000190d7: RBX := pad:64[low:32[RAX]]
-000190e3: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-000190f5: #12582125 := low:32[RAX]
-0001910b: ZF := 0 = #12582125
-00019111: when ZF goto %00018b91
-000198d6: goto %00004c83
-
-00004c83:
-00004c90: R8 := RSI
-00004c98: RDX := pad:64[low:32[RDI]]
-00004ca0: RCX := R14
-00004cac: RSP := RSP - 8
-00004cb1: mem := mem with [RSP, el]:u64 <- 0x18000164B
-00004cb3: call @sub_1800010b4 with return %00018aa9
-
-00018aa9:
-00018aaf: RBX := pad:64[low:32[RAX]]
-00018abb: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00018ad3: #12582155 := low:32[RDI] - 1
-00018aef: ZF := 0 = #12582155
-00018af6: when ~ZF goto %00018af3
-000198d5: goto %00018edd
-
-00018edd:
-00018eed: #12582137 := low:32[RAX]
-00018f03: ZF := 0 = #12582137
-00018f09: when ~ZF goto %00018af3
-000198d4: goto %00018f0d
-
-00018f0d:
-00018f13: R8 := RSI
-00018f1f: RDX := 0
-00018f39: RCX := R14
-00018f44: RSP := RSP - 8
-00018f49: mem := mem with [RSP, el]:u64 <- 0x180001667
-00018f4b: call @sub_1800010b4 with return %00018f4d
-
-00018f4d:
-00018f5d: #12582135 := RSI
-00018f73: ZF := 0 = #12582135
-00018f7d: RCX := 63:8[RCX].pad:8[~ZF]
-00018f88: RSP := RSP - 8
-00018f8d: mem := mem with [RSP, el]:u64 <- 0x180001672
-00018f8f: call @sub_180001514 with return %00018f91
-
-00018f91:
-00018f97: RAX := mem[0x180006880, el]:u64
-00018fa9: #12582133 := RAX
-00018fbf: ZF := 0 = #12582133
-00018fc5: when ZF goto %00018af3
-000198d3: goto %00018fc9
-
-00018fc9:
-00018fcf: R8 := RSI
-00018fdb: RDX := 0
-00018ff5: RCX := R14
-00019003: #12582131 := mem[0x18000B020, el]:u64
-00019007: RSP := RSP - 8
-0001900c: mem := mem with [RSP, el]:u64 <- 0x18000168C
-0001900f: call #12582131 with return %00018af3
-
-00018af3:
-00018b09: #12582153 := low:32[RDI]
-00018b1f: ZF := 0 = #12582153
-00018b26: when ZF goto %00018b23
-000198d2: goto %00018ea1
-
-00018ea1:
-00018eb7: #12582139 := low:32[RDI] - 3
-00018ed3: ZF := 0 = #12582139
-00018ed9: when ~ZF goto %00018b91
-000198d1: goto %00018b23
-
-00018b23:
-00018b2f: R8 := RSI
-00018b37: RDX := pad:64[low:32[RDI]]
-00018b3f: RCX := R14
-00018b4a: RSP := RSP - 8
-00018b4f: mem := mem with [RSP, el]:u64 <- 0x1800016A2
-00018b51: call @sub_180001354 with return %00018b53
-
-00018b53:
-00018b59: RBX := pad:64[low:32[RAX]]
-00018b65: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00018b77: #12582151 := low:32[RAX]
-00018b8d: ZF := 0 = #12582151
-00018b94: when ZF goto %00018b91
-000198d0: goto %00018e0b
-
-00018e0b:
-00018e11: RAX := mem[0x180006880, el]:u64
-00018e23: #12582142 := RAX
-00018e39: ZF := 0 = #12582142
-00018e40: when ~ZF goto %00018e3d
-000198cf: goto %00018e89
-
-00018e3d:
-00018e49: R8 := RSI
-00018e51: RDX := pad:64[low:32[RDI]]
-00018e59: RCX := R14
-00018e67: #12582140 := mem[0x18000B020, el]:u64
-00018e6b: RSP := RSP - 8
-00018e70: mem := mem with [RSP, el]:u64 <- 0x1800016CF
-00018e73: call #12582140 with return %00018e75
-
-00018e75:
-00018e7b: RBX := pad:64[low:32[RAX]]
-00018e87: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-000198ce: goto %00018b91
-
-00018e89:
-00018e8f: RBX := pad:64[low:32[RAX + 1]]
-00018e9b: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX]
-00018e9f: goto %00018b91
-
-00018b91:
-00018b9a: goto %00018b98
-
-00018b98:
-00018ba1: RAX := pad:64[low:32[RBX]]
-000198cd: goto %00018ba3
-
-0001916f:
-00019179: RAX := 0
-0001918f: goto %00018ba3
-
-00018ba3:
-00018bab: RBX := mem[RSP + 0x78, el]:u64
-00018bcc: RSP := RSP + 0x40
-00018bf7: R14 := mem[RSP, el]:u64
-00018bfb: RSP := RSP + 8
-00018c07: RDI := mem[RSP, el]:u64
-00018c0b: RSP := RSP + 8
-00018c17: RSI := mem[RSP, el]:u64
-00018c1b: RSP := RSP + 8
-00018c28: #12582146 := mem[RSP, el]:u64
-00018c2c: RSP := RSP + 8
-00018c2f: call #12582146 with noreturn
-
-000195d7: sub sub_180001d38(sub_180001d38_result)
-00019912: sub_180001d38_result :: out u32 = low:32[RAX]
-
-0000d6f6:
-0000d715: RSP := RSP - 0x18
-0000d739: R8 := RCX
-0000d73f: RAX := 0x5A4D
-0000d75c: #12582860 := mem[0x180000000, el]:u16 - 0x5A4D
-0000d77b: ZF := 0 = #12582860
-0000d782: when ~ZF goto %0000d77f
-000198e5: goto %0000d8bd
-
-0000d8bd:
-0000d8c3: RCX := extend:64[mem[0x18000003C, el]:u32]
-0000d8c9: RDX := 0x180000000
-0000d8f4: RCX := RCX + 0x180000000
-0000d933: #12582851 := mem[RCX, el]:u32 - 0x4550
-0000d953: ZF := 0 = #12582851
-0000d959: when ~ZF goto %0000d77f
-000198e4: goto %0000d95d
-
-0000d95d:
-0000d961: RAX := 0x20B
-0000d984: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B
-0000d9a7: ZF := 0 = #12582849
-0000d9ad: when ~ZF goto %0000d77f
-000198e3: goto %0000d9b1
-
-0000d77f:
-0000d791: RAX := 63:8[RAX].0
-0000d7a8: goto %0000d7a6
-
-0000d9b1:
-0000d9d8: R8 := R8 - 0x180000000
-0000da01: RDX := pad:64[mem[RCX + 0x14, el]:u16]
-0000da22: RDX := RDX + 0x18
-0000da67: #12582840 := RCX
-0000da6c: RDX := RDX + #12582840
-0000da97: RAX := pad:64[mem[RCX + 6, el]:u16]
-0000daa1: RCX := RAX + (RAX << 2)
-0000daab: R9 := RDX + (RCX << 3)
-000198e2: goto %0000daad
-
-0000daad:
-0000dab7: mem := mem with [RSP, el]:u64 <- RDX
-0000dad4: #12582838 := RDX - R9
-0000daf3: ZF := 0 = #12582838
-0000dafa: when ZF goto %0000daf7
-000198e1: goto %0000dbeb
-
-0000daf7:
-0000db07: RDX := 0
-000198e0: goto %0000db1b
-
-0000dbeb:
-0000dbf3: RCX := pad:64[mem[RDX + 0xC, el]:u32]
-0000dc15: CF := R8 < RCX
-0000dc36: when CF goto %0000dc33
-000198df: goto %0000dc7d
-
-0000dc7d:
-0000dc85: RAX := pad:64[mem[RDX + 8, el]:u32]
-0000dcab: #12582826 := low:32[RCX]
-0000dcb0: RAX := pad:64[low:32[RAX] + #12582826]
-0000dcf3: CF := R8 < RAX
-0000dd13: when CF goto %0000db1b
-000198de: goto %0000dc33
-
-0000db1b:
-0000db2b: #12582836 := RDX
-0000db41: ZF := 0 = #12582836
-0000db48: when ~ZF goto %0000db45
-000198dd: goto %0000dbc7
-
-0000db45:
-0000db67: #12582834 := mem[RDX + 0x24, el]:u32
-0000db74: OF := high:1[mem[RDX + 0x24, el]:u32 &
+00019103: AF := 0x10 =
+          (0x10 & (#12582123 ^ mem[0x180008170, el]:u32 ^ low:32[RDX]))
+00019108: PF :=
+          ~low:1[let $0 = #12582123 >> 4 ^ #12582123 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001910c: SF := high:1[#12582123]
+00019110: ZF := 0 = #12582123
+0001911e: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c2e
+00019588: goto %00019122
+
+00004c2e:
+00004c3a: RAX := pad:64[low:32[RDX - 1]]
+00004c52: #12582894 := low:32[RAX] - 1
+00004c56: CF := low:32[RAX] < 1
+00004c6e: ZF := 0 = #12582894
+00004c77: when ~(CF | ZF) goto %00004c73
+00019587: goto %00018fc4
+
+00018fc4:
+00018fca: RAX := mem[0x180006880, el]:u64
+00018fdc: #12582130 := RAX
+00018fdf: OF := 0
+00018fe2: CF := 0
+00018fe5: AF := unknown[bits]:u1
+00018fea: PF :=
+          ~low:1[let $0 = #12582130 >> 4 ^ #12582130 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018fee: SF := high:1[#12582130]
+00018ff2: ZF := 0 = #12582130
+00018ff9: when ~ZF goto %00018ff6
+00019586: goto %000190c8
+
+00018ff6:
+00019008: #12582128 := mem[0x18000B020, el]:u64
+0001900c: RSP := RSP - 8
+00019011: mem := mem with [RSP, el]:u64 <- 0x180001619
+00019014: call #12582128 with return %00019016
+
+00019016:
+0001901c: RBX := pad:64[low:32[RAX]]
+00019028: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+0001903a: #12582127 := low:32[RAX]
+0001903d: OF := 0
+00019040: CF := 0
+00019043: AF := unknown[bits]:u1
+00019048: PF :=
+          ~low:1[let $0 = #12582127 >> 4 ^ #12582127 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001904c: SF := high:1[#12582127]
+00019050: ZF := 0 = #12582127
+00019056: when ZF goto %00018b44
+00019585: goto %0001905a
+
+000190c8:
+000190d0: mem := mem with [RSP + 0x30, el]:u32 <- 1
+000190d4: goto %0001905a
+
+0001905a:
+00019060: R8 := RSI
+00019068: RDX := pad:64[low:32[RDI]]
+00019070: RCX := R14
+0001907b: RSP := RSP - 8
+00019080: mem := mem with [RSP, el]:u64 <- 0x180001634
+00019082: call @sub_180001358 with return %00019084
+
+00019084:
+0001908a: RBX := pad:64[low:32[RAX]]
+00019096: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+000190a8: #12582125 := low:32[RAX]
+000190ab: OF := 0
+000190ae: CF := 0
+000190b1: AF := unknown[bits]:u1
+000190b6: PF :=
+          ~low:1[let $0 = #12582125 >> 4 ^ #12582125 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000190ba: SF := high:1[#12582125]
+000190be: ZF := 0 = #12582125
+000190c4: when ZF goto %00018b44
+00019584: goto %00004c73
+
+00004c73:
+00004c80: R8 := RSI
+00004c88: RDX := pad:64[low:32[RDI]]
+00004c90: RCX := R14
+00004c9c: RSP := RSP - 8
+00004ca1: mem := mem with [RSP, el]:u64 <- 0x18000164F
+00004ca3: call @sub_1800010b4 with return %00018a5c
+
+00018a5c:
+00018a62: RBX := pad:64[low:32[RAX]]
+00018a6e: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018a86: #12582155 := low:32[RDI] - 1
+00018a8a: CF := low:32[RDI] < 1
+00018a90: OF := high:1[(low:32[RDI] ^ 1) & (low:32[RDI] ^ #12582155)]
+00018a95: AF := 0x10 = (0x10 & (#12582155 ^ low:32[RDI] ^ 1))
+00018a9a: PF :=
+          ~low:1[let $0 = #12582155 >> 4 ^ #12582155 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018a9e: SF := high:1[#12582155]
+00018aa2: ZF := 0 = #12582155
+00018aa9: when ~ZF goto %00018aa6
+00019583: goto %00018e90
+
+00018e90:
+00018ea0: #12582137 := low:32[RAX]
+00018ea3: OF := 0
+00018ea6: CF := 0
+00018ea9: AF := unknown[bits]:u1
+00018eae: PF :=
+          ~low:1[let $0 = #12582137 >> 4 ^ #12582137 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018eb2: SF := high:1[#12582137]
+00018eb6: ZF := 0 = #12582137
+00018ebc: when ~ZF goto %00018aa6
+00019582: goto %00018ec0
+
+00018ec0:
+00018ec6: R8 := RSI
+00018ed2: RDX := 0
+00018ed5: AF := unknown[bits]:u1
+00018ed8: ZF := 1
+00018edb: PF := 1
+00018ede: OF := 0
+00018ee1: CF := 0
+00018ee4: SF := 0
+00018eec: RCX := R14
+00018ef7: RSP := RSP - 8
+00018efc: mem := mem with [RSP, el]:u64 <- 0x18000166B
+00018efe: call @sub_1800010b4 with return %00018f00
+
+00018f00:
+00018f10: #12582135 := RSI
+00018f13: OF := 0
+00018f16: CF := 0
+00018f19: AF := unknown[bits]:u1
+00018f1e: PF :=
+          ~low:1[let $0 = #12582135 >> 4 ^ #12582135 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018f22: SF := high:1[#12582135]
+00018f26: ZF := 0 = #12582135
+00018f30: RCX := 63:8[RCX].pad:8[~ZF]
+00018f3b: RSP := RSP - 8
+00018f40: mem := mem with [RSP, el]:u64 <- 0x180001676
+00018f42: call @sub_180001518 with return %00018f44
+
+00018f44:
+00018f4a: RAX := mem[0x180006880, el]:u64
+00018f5c: #12582133 := RAX
+00018f5f: OF := 0
+00018f62: CF := 0
+00018f65: AF := unknown[bits]:u1
+00018f6a: PF :=
+          ~low:1[let $0 = #12582133 >> 4 ^ #12582133 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018f6e: SF := high:1[#12582133]
+00018f72: ZF := 0 = #12582133
+00018f78: when ZF goto %00018aa6
+00019581: goto %00018f7c
+
+00018f7c:
+00018f82: R8 := RSI
+00018f8e: RDX := 0
+00018f91: AF := unknown[bits]:u1
+00018f94: ZF := 1
+00018f97: PF := 1
+00018f9a: OF := 0
+00018f9d: CF := 0
+00018fa0: SF := 0
+00018fa8: RCX := R14
+00018fb6: #12582131 := mem[0x18000B020, el]:u64
+00018fba: RSP := RSP - 8
+00018fbf: mem := mem with [RSP, el]:u64 <- 0x180001690
+00018fc2: call #12582131 with return %00018aa6
+
+00018aa6:
+00018abc: #12582153 := low:32[RDI]
+00018abf: OF := 0
+00018ac2: CF := 0
+00018ac5: AF := unknown[bits]:u1
+00018aca: PF :=
+          ~low:1[let $0 = #12582153 >> 4 ^ #12582153 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018ace: SF := high:1[#12582153]
+00018ad2: ZF := 0 = #12582153
+00018ad9: when ZF goto %00018ad6
+00019580: goto %00018e54
+
+00018e54:
+00018e6a: #12582139 := low:32[RDI] - 3
+00018e6e: CF := low:32[RDI] < 3
+00018e74: OF := high:1[(low:32[RDI] ^ 3) & (low:32[RDI] ^ #12582139)]
+00018e79: AF := 0x10 = (0x10 & (#12582139 ^ low:32[RDI] ^ 3))
+00018e7e: PF :=
+          ~low:1[let $0 = #12582139 >> 4 ^ #12582139 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018e82: SF := high:1[#12582139]
+00018e86: ZF := 0 = #12582139
+00018e8c: when ~ZF goto %00018b44
+0001957f: goto %00018ad6
+
+00018ad6:
+00018ae2: R8 := RSI
+00018aea: RDX := pad:64[low:32[RDI]]
+00018af2: RCX := R14
+00018afd: RSP := RSP - 8
+00018b02: mem := mem with [RSP, el]:u64 <- 0x1800016A6
+00018b04: call @sub_180001358 with return %00018b06
+
+00018b06:
+00018b0c: RBX := pad:64[low:32[RAX]]
+00018b18: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018b2a: #12582151 := low:32[RAX]
+00018b2d: OF := 0
+00018b30: CF := 0
+00018b33: AF := unknown[bits]:u1
+00018b38: PF :=
+          ~low:1[let $0 = #12582151 >> 4 ^ #12582151 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018b3c: SF := high:1[#12582151]
+00018b40: ZF := 0 = #12582151
+00018b47: when ZF goto %00018b44
+0001957e: goto %00018dbe
+
+00018dbe:
+00018dc4: RAX := mem[0x180006880, el]:u64
+00018dd6: #12582142 := RAX
+00018dd9: OF := 0
+00018ddc: CF := 0
+00018ddf: AF := unknown[bits]:u1
+00018de4: PF :=
+          ~low:1[let $0 = #12582142 >> 4 ^ #12582142 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018de8: SF := high:1[#12582142]
+00018dec: ZF := 0 = #12582142
+00018df3: when ~ZF goto %00018df0
+0001957d: goto %00018e3c
+
+00018df0:
+00018dfc: R8 := RSI
+00018e04: RDX := pad:64[low:32[RDI]]
+00018e0c: RCX := R14
+00018e1a: #12582140 := mem[0x18000B020, el]:u64
+00018e1e: RSP := RSP - 8
+00018e23: mem := mem with [RSP, el]:u64 <- 0x1800016D3
+00018e26: call #12582140 with return %00018e28
+
+00018e28:
+00018e2e: RBX := pad:64[low:32[RAX]]
+00018e3a: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+0001957c: goto %00018b44
+
+00018e3c:
+00018e42: RBX := pad:64[low:32[RAX + 1]]
+00018e4e: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX]
+00018e52: goto %00018b44
+
+00018b44:
+00018b4d: goto %00018b4b
+
+00018b4b:
+00018b54: RAX := pad:64[low:32[RBX]]
+0001957b: goto %00018b56
+
+00018b56:
+00018b5e: RBX := mem[RSP + 0x78, el]:u64
+00018b7b: #12582149 := RSP
+00018b8c: OF := ~high:1[#12582149] & (high:1[#12582149] | high:1[RSP]) &
+          ~(high:1[#12582149] & high:1[RSP])
+00018b96: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018b9a: SF := high:1[RSP]
+00018b9e: ZF := 0 = RSP
+00018baa: R14 := mem[RSP, el]:u64
+00018bae: RSP := RSP + 8
+00018bba: RDI := mem[RSP, el]:u64
+00018bbe: RSP := RSP + 8
+00018bca: RSI := mem[RSP, el]:u64
+00018bce: RSP := RSP + 8
+00018bdb: #12582146 := mem[RSP, el]:u64
+00018bdf: RSP := RSP + 8
+00018be2: call #12582146 with noreturn
+
+0001958a: sub sub_180001d3c(sub_180001d3c_result)
+000195d2: sub_180001d3c_result :: out u32 = low:32[RAX]
+
+0000d696:
+0000d6b5: RSP := RSP - 0x18
+0000d6d9: R8 := RCX
+0000d6df: RAX := 0x5A4D
+0000d6fc: #12582860 := mem[0x180000000, el]:u16 - 0x5A4D
+0000d71b: ZF := 0 = #12582860
+0000d722: when ~ZF goto %0000d71f
+00019594: goto %0000d85d
+
+0000d85d:
+0000d863: RCX := extend:64[mem[0x18000003C, el]:u32]
+0000d869: RDX := 0x180000000
+0000d894: RCX := RCX + 0x180000000
+0000d8d3: #12582851 := mem[RCX, el]:u32 - 0x4550
+0000d8f3: ZF := 0 = #12582851
+0000d8f9: when ~ZF goto %0000d71f
+00019593: goto %0000d8fd
+
+0000d8fd:
+0000d901: RAX := 0x20B
+0000d924: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B
+0000d947: ZF := 0 = #12582849
+0000d94d: when ~ZF goto %0000d71f
+00019592: goto %0000d951
+
+0000d71f:
+0000d731: RAX := 63:8[RAX].0
+0000d748: goto %0000d746
+
+0000d951:
+0000d978: R8 := R8 - 0x180000000
+0000d9a1: RDX := pad:64[mem[RCX + 0x14, el]:u16]
+0000d9c2: RDX := RDX + 0x18
+0000da07: #12582840 := RCX
+0000da0c: RDX := RDX + #12582840
+0000da37: RAX := pad:64[mem[RCX + 6, el]:u16]
+0000da41: RCX := RAX + (RAX << 2)
+0000da4b: R9 := RDX + (RCX << 3)
+00019591: goto %0000da4d
+
+0000da4d:
+0000da57: mem := mem with [RSP, el]:u64 <- RDX
+0000da74: #12582838 := RDX - R9
+0000da93: ZF := 0 = #12582838
+0000da9a: when ZF goto %0000da97
+00019590: goto %0000db8b
+
+0000da97:
+0000daa7: RDX := 0
+0001958f: goto %0000dabb
+
+0000db8b:
+0000db93: RCX := pad:64[mem[RDX + 0xC, el]:u32]
+0000dbb5: CF := R8 < RCX
+0000dbd6: when CF goto %0000dbd3
+0001958e: goto %0000dc1d
+
+0000dc1d:
+0000dc25: RAX := pad:64[mem[RDX + 8, el]:u32]
+0000dc4b: #12582826 := low:32[RCX]
+0000dc50: RAX := pad:64[low:32[RAX] + #12582826]
+0000dc93: CF := R8 < RAX
+0000dcb3: when CF goto %0000dabb
+0001958d: goto %0000dbd3
+
+0000dabb:
+0000dacb: #12582836 := RDX
+0000dae1: ZF := 0 = #12582836
+0000dae8: when ~ZF goto %0000dae5
+0001958c: goto %0000db67
+
+0000dae5:
+0000db07: #12582834 := mem[RDX + 0x24, el]:u32
+0000db14: OF := high:1[mem[RDX + 0x24, el]:u32 &
           (mem[RDX + 0x24, el]:u32 ^ #12582834)]
-0000db83: SF := high:1[#12582834]
-0000db94: when ~((SF | OF) & ~(SF & OF)) goto %0000db8e
-000198dc: goto %0000dba3
+0000db23: SF := high:1[#12582834]
+0000db34: when ~((SF | OF) & ~(SF & OF)) goto %0000db2e
+0001958b: goto %0000db43
+
+0000db2e:
+0000db3d: RAX := high:56[RAX].1
+0000db41: goto %0000d746
 
-0000db8e:
-0000db9d: RAX := high:56[RAX].1
-0000dba1: goto %0000d7a6
+0000db43:
+0000db4f: RAX := 63:8[RAX].0
+0000db65: goto %0000d746
 
-0000dba3:
-0000dbaf: RAX := 63:8[RAX].0
-0000dbc5: goto %0000d7a6
+0000db67:
+0000db73: RAX := 63:8[RAX].0
+0000db89: goto %0000d746
 
-0000dbc7:
-0000dbd3: RAX := 63:8[RAX].0
-0000dbe9: goto %0000d7a6
+0000d746:
+0000d768: RSP := RSP + 0x18
+0000d794: #12582855 := mem[RSP, el]:u64
+0000d798: RSP := RSP + 8
+0000d79b: call #12582855 with noreturn
 
-0000d7a6:
-0000d7c8: RSP := RSP + 0x18
-0000d7f4: #12582855 := mem[RSP, el]:u64
-0000d7f8: RSP := RSP + 8
-0000d7fb: call #12582855 with noreturn
+0000dbd3:
+0000dbf8: RDX := RDX + 0x28
+0000dc1b: goto %0000da4d
 
-0000dc33:
-0000dc58: RDX := RDX + 0x28
-0000dc7b: goto %0000daad
+00019595: sub sub_180002746(sub_180002746_result)
+000195d3: sub_180002746_result :: out u32 = low:32[RAX]
+
+00004dd1:
+00004dd5: call mem[0x18000A0F8, el]:u64 with noreturn
 
-000195e2: sub sub_180002746(sub_180002746_result)
-00019913: sub_180002746_result :: out u32 = low:32[RAX]
+00019596: sub sub_18000274c(sub_18000274c_result)
+000195d4: sub_18000274c_result :: out u32 = low:32[RAX]
 
-00004de1:
-00004de5: call mem[0x18000A0F8, el]:u64 with noreturn
+00004dd7:
+00004ddb: call mem[0x18000A100, el]:u64 with noreturn
 
-000195e3: sub sub_18000274c(sub_18000274c_result)
-00019914: sub_18000274c_result :: out u32 = low:32[RAX]
+00019597: sub sub_180002752(sub_180002752_result)
+000195d5: sub_180002752_result :: out u32 = low:32[RAX]
 
-00004de7:
-00004deb: call mem[0x18000A100, el]:u64 with noreturn
+00004ddd:
+00004de1: call mem[0x18000A108, el]:u64 with noreturn
 
-000195e4: sub sub_180002752(sub_180002752_result)
-00019915: sub_180002752_result :: out u32 = low:32[RAX]
+00019598: sub sub_180002758(sub_180002758_result)
+000195d6: sub_180002758_result :: out u32 = low:32[RAX]
 
-00004ded:
-00004df1: call mem[0x18000A108, el]:u64 with noreturn
+00004de3:
+00004de7: call mem[0x18000A1A0, el]:u64 with noreturn
 
-000195e5: sub sub_180002758(sub_180002758_result)
-00019916: sub_180002758_result :: out u32 = low:32[RAX]
+00019599: sub sub_18000275e(sub_18000275e_result)
+000195d7: sub_18000275e_result :: out u32 = low:32[RAX]
 
-00004df3:
-00004df7: call mem[0x18000A1A0, el]:u64 with noreturn
+00004de9:
+00004ded: call mem[0x18000A178, el]:u64 with noreturn
 
-000195e6: sub sub_18000275e(sub_18000275e_result)
-00019917: sub_18000275e_result :: out u32 = low:32[RAX]
+0001959a: sub sub_18000276a(sub_18000276a_result)
+000195d8: sub_18000276a_result :: out u32 = low:32[RAX]
 
-00004df9:
-00004dfd: call mem[0x18000A178, el]:u64 with noreturn
+00004df5:
+00004df9: call mem[0x18000A188, el]:u64 with noreturn
 
-000195e7: sub sub_18000276a(sub_18000276a_result)
-00019918: sub_18000276a_result :: out u32 = low:32[RAX]
+0001959b: sub sub_180002770(sub_180002770_result)
+000195d9: sub_180002770_result :: out u32 = low:32[RAX]
 
-00004e05:
-00004e09: call mem[0x18000A188, el]:u64 with noreturn
+00004dfb:
+00004dff: call mem[0x18000A190, el]:u64 with noreturn
 
-000195e8: sub sub_180002770(sub_180002770_result)
-00019919: sub_180002770_result :: out u32 = low:32[RAX]
+0001959c: sub sub_180002776(sub_180002776_result)
+000195da: sub_180002776_result :: out u32 = low:32[RAX]
 
-00004e0b:
-00004e0f: call mem[0x18000A190, el]:u64 with noreturn
+00004e01:
+00004e05: call mem[0x18000A198, el]:u64 with noreturn
 
-000195e9: sub sub_180002776(sub_180002776_result)
-0001991a: sub_180002776_result :: out u32 = low:32[RAX]
+0001959d: sub sub_18000277c(sub_18000277c_result)
+000195db: sub_18000277c_result :: out u32 = low:32[RAX]
 
-00004e11:
-00004e15: call mem[0x18000A198, el]:u64 with noreturn
+00004e07:
+00004e0b: call mem[0x18000A1D0, el]:u64 with noreturn
 
-000195ea: sub sub_18000277c(sub_18000277c_result)
-0001991b: sub_18000277c_result :: out u32 = low:32[RAX]
+0001959e: sub sub_180002788(sub_180002788_result)
+000195dc: sub_180002788_result :: out u32 = low:32[RAX]
 
-00004e17:
-00004e1b: call mem[0x18000A1D0, el]:u64 with noreturn
+00004e13:
+00004e17: call mem[0x18000A1B0, el]:u64 with noreturn
 
-000195eb: sub sub_180002788(sub_180002788_result)
-0001991c: sub_180002788_result :: out u32 = low:32[RAX]
+0001959f: sub sub_180002794(sub_180002794_result)
+000195dd: sub_180002794_result :: out u32 = low:32[RAX]
 
-00004e23:
-00004e27: call mem[0x18000A1B0, el]:u64 with noreturn
+00004e1f:
+00004e23: call mem[0x18000A1C0, el]:u64 with noreturn
 
-000195ec: sub sub_180002794(sub_180002794_result)
-0001991d: sub_180002794_result :: out u32 = low:32[RAX]
+000195a0: sub sub_18000279a(sub_18000279a_result)
+000195de: sub_18000279a_result :: out u32 = low:32[RAX]
 
-00004e2f:
-00004e33: call mem[0x18000A1C0, el]:u64 with noreturn
+00004e25:
+00004e29: call mem[0x18000A1C8, el]:u64 with noreturn
 
-000195ed: sub sub_18000279a(sub_18000279a_result)
-0001991e: sub_18000279a_result :: out u32 = low:32[RAX]
+000195a1: sub sub_1800027a0(sub_1800027a0_result)
+000195df: sub_1800027a0_result :: out u32 = low:32[RAX]
 
-00004e35:
-00004e39: call mem[0x18000A1C8, el]:u64 with noreturn
+00004e2b:
+00004e31: RAX := high:56[RAX].1
+00004e3e: #12582883 := mem[RSP, el]:u64
+00004e42: RSP := RSP + 8
+00004e45: call #12582883 with noreturn
 
-000195ee: sub sub_1800027a0(sub_1800027a0_result)
-0001991f: sub_1800027a0_result :: out u32 = low:32[RAX]
+000195a2: sub sub_1800027a4(sub_1800027a4_result)
+000195e0: sub_1800027a4_result :: out u32 = low:32[RAX]
 
-00004e3b:
-00004e41: RAX := high:56[RAX].1
-00004e4e: #12582883 := mem[RSP, el]:u64
-00004e52: RSP := RSP + 8
-00004e55: call #12582883 with noreturn
+00004e4b:
+00004e51: RAX := high:56[RAX].1
+00004e5e: #12582882 := mem[RSP, el]:u64
+00004e62: RSP := RSP + 8
+00004e65: call #12582882 with noreturn
 
-000195ef: sub sub_1800027a4(sub_1800027a4_result)
-00019920: sub_1800027a4_result :: out u32 = low:32[RAX]
+000195a3: sub sub_1800027a8(sub_1800027a8_result)
+000195e1: sub_1800027a8_result :: out u32 = low:32[RAX]
 
-00004e5b:
-00004e61: RAX := high:56[RAX].1
-00004e6e: #12582882 := mem[RSP, el]:u64
-00004e72: RSP := RSP + 8
-00004e75: call #12582882 with noreturn
+00004e6b:
+00004e71: RAX := high:56[RAX].1
+00004e7e: #12582881 := mem[RSP, el]:u64
+00004e82: RSP := RSP + 8
+00004e85: call #12582881 with noreturn
 
-000195f0: sub sub_1800027a8(sub_1800027a8_result)
-00019921: sub_1800027a8_result :: out u32 = low:32[RAX]
+000195a4: sub sub_1800027ac(sub_1800027ac_result)
+000195e2: sub_1800027ac_result :: out u32 = low:32[RAX]
 
-00004e7b:
-00004e81: RAX := high:56[RAX].1
-00004e8e: #12582881 := mem[RSP, el]:u64
-00004e92: RSP := RSP + 8
-00004e95: call #12582881 with noreturn
+00004e8b:
+00004e91: RAX := high:56[RAX].1
+00004e9e: #12582880 := mem[RSP, el]:u64
+00004ea2: RSP := RSP + 8
+00004ea5: call #12582880 with noreturn
 
-000195f1: sub sub_1800027ac(sub_1800027ac_result)
-00019922: sub_1800027ac_result :: out u32 = low:32[RAX]
+000195a5: sub sub_1800027b0(sub_1800027b0_result)
+000195e3: sub_1800027b0_result :: out u32 = low:32[RAX]
 
-00004e9b:
-00004ea1: RAX := high:56[RAX].1
-00004eae: #12582880 := mem[RSP, el]:u64
-00004eb2: RSP := RSP + 8
-00004eb5: call #12582880 with noreturn
+00004eab:
+00004eb1: RAX := high:56[RAX].1
+00004ebe: #12582879 := mem[RSP, el]:u64
+00004ec2: RSP := RSP + 8
+00004ec5: call #12582879 with noreturn
 
-000195f2: sub sub_1800027b0(sub_1800027b0_result)
-00019923: sub_1800027b0_result :: out u32 = low:32[RAX]
+00010de3: sub intrinsic:x86:lock()
 
-00004ebb:
-00004ec1: RAX := high:56[RAX].1
-00004ece: #12582879 := mem[RSP, el]:u64
-00004ed2: RSP := RSP + 8
-00004ed5: call #12582879 with noreturn
 
-00010e43: sub intrinsic:x86:lock()
+00010e03: sub intrinsic:x86:unlock()
 
 
-00010e63: sub intrinsic:x86:unlock()
+0001349d: sub intrinsic:llvm-x86_64:LFENCE()
 
 
-00004d89: sub interrupt:#3(interrupt:#3_result)
-00019924: interrupt:#3_result :: out u32 = low:32[RAX]
+00004d79: sub interrupt:#3(interrupt:#3_result)
+000195e4: interrupt:#3_result :: out u32 = low:32[RAX]
 
-0000f688: sub interrupt:#41(interrupt:#41_result)
-00019925: interrupt:#41_result :: out u32 = low:32[RAX]
+0000f628: sub interrupt:#41(interrupt:#41_result)
+000195e5: interrupt:#41_result :: out u32 = low:32[RAX]