diff --git a/BCB/Cheang et al/Figure 3d/Figure_3d.bir b/BCB/Cheang et al/Figure 3d/Figure_3d.bir
index 512fb0f877ece6b232825b740f1f555682fb6479..719bac57f4daa0f43a5bc1809adda53400269844 100644
--- a/BCB/Cheang et al/Figure 3d/Figure_3d.bir	
+++ b/BCB/Cheang et al/Figure 3d/Figure_3d.bir	
@@ -1,2162 +1,2364 @@
-000194eb: program
-000194ec: sub foo(foo_result)
-00019599: foo_result :: out u32 = low:32[RAX]
-
-0001433d:
-0001433f: goto %000133db
-
-000133db:
-000133e1: RAX := pad:64[mem[0x180008175]]
-00013403: CF := low:32[RCX] < low:32[RAX]
-00013424: when ~CF goto %00013421
-000194ed: 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:
-000134a3: RAX := pad:64[low:32[RCX]]
-000134a9: RDX := 0x180000000
-000134b5: RAX := pad:64[mem[RAX + 0x180008190]]
-000134bf: RCX := pad:64[mem[0x180008174]]
-000134d5: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]]
-000134d9: RCX := pad:64[low:32[#12582289]]
-000134fb: RAX := pad:64[mem[RCX + 0x180008178]]
-00013508: #12582288 := mem[RSP, el]:u64
-0001350c: RSP := RSP + 8
-0001350f: call #12582288 with noreturn
-
-000194ee: sub sub_180001005(sub_180001005_result)
-0001959a: 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
-000194ef: goto %000194d9
-
-000194d9:
-000194e2: RSP := RSP - 8
-000194e7: mem := mem with [RSP, el]:u64 <- 0x180001789
-000194e9: 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
-
-000194f0: sub sub_18000100f(sub_18000100f_result)
-0001959b: sub_18000100f_result :: out u32 = low:32[RAX]
+0001954c: program
+0001954d: sub foo(foo_result)
+000195fa: foo_result :: out u32 = low:32[RAX]
+
+0001439e:
+000143a0: goto %0001343b
+
+0001343b:
+00013441: RAX := pad:64[mem[0x180008223]]
+00013463: CF := low:32[RCX] < low:32[RAX]
+00013484: when ~CF goto %00013481
+0001954e: 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:
+000134fd: RAX := pad:64[low:32[RCX]]
+00013503: RDX := 0x180000000
+0001350f: RAX := pad:64[mem[RAX + 0x180008230]]
+00013518: call @intrinsic:llvm-x86_64:LFENCE with return %0001351a
+
+0001351a:
+00013520: RCX := pad:64[mem[0x180008218]]
+00013536: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]]
+0001353a: RCX := pad:64[low:32[#12582289]]
+0001355c: RAX := pad:64[mem[RCX + 0x180008228]]
+00013569: #12582288 := mem[RSP, el]:u64
+0001356d: RSP := RSP + 8
+00013570: call #12582288 with noreturn
+
+0001954f: sub sub_180001005(sub_180001005_result)
+000195fb: 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
+00019550: goto %0001953a
+
+0001953a:
+00019543: RSP := RSP - 8
+00019548: mem := mem with [RSP, el]:u64 <- 0x180001785
+0001954a: 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
+
+00019551: sub sub_18000100f(sub_18000100f_result)
+000195fc: 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
+
+00019552: sub sub_180001019(sub_180001019_result)
+000195fd: 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
+
+00019553: sub sub_18000101e(sub_18000101e_result)
+000195fe: 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
+
+00019554: sub sub_18000102d(sub_18000102d_result)
+000195ff: sub_18000102d_result :: out u32 = low:32[RAX]
+
+00011803:
+00011811: call @sub_1800027a0 with noreturn
+
+00019555: sub sub_180001032(sub_180001032_result)
+00019600: 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
+
+00019556: sub sub_18000103c(sub_18000103c_result)
+00019601: 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
+00019557: 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
+
+00019558: sub sub_180001041(sub_180001041_result)
+00019602: sub_180001041_result :: out u32 = low:32[RAX]
+
+0000df97:
+0000df99: goto %00004dad
+
+00004dad:
+00004db1: RCX := 0x180008180
+00004db7: call mem[0x18000A028, el]:u64 with noreturn
+
+00019559: sub sub_180001046(sub_180001046_result)
+00019603: sub_180001046_result :: out u32 = low:32[RAX]
+
+0000df9b:
+0000df9d: call @sub_1800027ac with noreturn
+
+0001955a: sub sub_180001055(sub_180001055_result)
+00019604: sub_180001055_result :: out u32 = low:32[RAX]
+
+0000f067:
+0000f069: call @sub_1800027a4 with noreturn
+
+0001955b: sub sub_18000105a(sub_18000105a_result)
+00019605: sub_18000105a_result :: out u32 = low:32[RAX]
 
-00011845:
-00011854: goto %00011852
-
-00011852:
-00011859: RAX := 0x180008198
-00011866: #12582417 := mem[RSP, el]:u64
-0001186a: RSP := RSP + 8
-0001186d: call #12582417 with noreturn
-
-000194f1: sub sub_180001019(sub_180001019_result)
-0001959c: 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
-
-000194f2: sub sub_18000101e(sub_18000101e_result)
-0001959d: 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
-
-000194f3: sub sub_18000102d(sub_18000102d_result)
-0001959e: sub_18000102d_result :: out u32 = low:32[RAX]
-
-000117a3:
-000117b1: call @sub_1800027a0 with noreturn
-
-000194f4: sub sub_180001032(sub_180001032_result)
-0001959f: 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
-
-000194f5: sub sub_18000103c(sub_18000103c_result)
-000195a0: 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
-000194f6: 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
-
-000194f7: sub sub_180001041(sub_180001041_result)
-000195a1: sub_180001041_result :: out u32 = low:32[RAX]
-
-0000df37:
-0000df39: goto %00004d9d
-
-00004d9d:
-00004da1: RCX := 0x180008180
-00004da7: call mem[0x18000A028, el]:u64 with noreturn
-
-000194f8: sub sub_180001046(sub_180001046_result)
-000195a2: sub_180001046_result :: out u32 = low:32[RAX]
-
-0000df3b:
-0000df3d: call @sub_1800027ac with noreturn
-
-000194f9: sub sub_180001055(sub_180001055_result)
-000195a3: sub_180001055_result :: out u32 = low:32[RAX]
-
-0000f007:
-0000f009: call @sub_1800027a4 with noreturn
-
-000194fa: sub sub_18000105a(sub_18000105a_result)
-000195a4: 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
-00019504: goto %00014179
-
-00014179:
-0001418f: #12582218 := low:32[RCX] - 1
-00014193: CF := low:32[RCX] < 1
-000141ab: ZF := 0 = #12582218
-000141b3: when ~(CF | ZF) goto %0000f111
-00019503: goto %000141b7
-
-0000f111:
-0000f115: RCX := 5
-0000f121: RSP := RSP - 8
-0000f126: mem := mem with [RSP, el]:u64 <- 0x180001D16
-0000f128: call @sub_18000114a with return %000140e1
-
-000140e1:
-000140e3: call @interrupt:#3 with noreturn
-
-000140e5:
-000140e7: call @interrupt:#3 with noreturn
-
-000140e9:
-000140eb: call @interrupt:#3 with noreturn
-
-000140ed:
-000140ef: call @interrupt:#3 with noreturn
-
-000140f1:
-000140f3: call @interrupt:#3 with noreturn
-
-000140f5:
-000140f7: call @interrupt:#3 with noreturn
-
-000140f9:
-000140fb: call @interrupt:#3 with noreturn
-
-000140fd:
-000140ff: call @interrupt:#3 with noreturn
-
-00014101:
-00014103: call @interrupt:#3 with noreturn
-
-00014105:
-00014107: call @interrupt:#3 with noreturn
+0000f06b:
+0000f06e: goto %0000f06c
 
-00014109:
-0001410b: call @interrupt:#3 with noreturn
+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
+00019565: goto %000141da
 
-0001410d:
-0001410f: call @interrupt:#3 with noreturn
+000141da:
+000141f0: #12582218 := low:32[RCX] - 1
+000141f4: CF := low:32[RCX] < 1
+000141fa: OF := high:1[(low:32[RCX] ^ 1) & (low:32[RCX] ^ #12582218)]
+000141ff: AF := 0x10 = (0x10 & (#12582218 ^ low:32[RCX] ^ 1))
+00014204: PF :=
+          ~low:1[let $0 = #12582218 >> 4 ^ #12582218 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014208: SF := high:1[#12582218]
+0001420c: ZF := 0 = #12582218
+00014214: when ~(CF | ZF) goto %0000f171
+00019564: goto %00014218
 
-00014111:
-00014113: call @interrupt:#3 with noreturn
+0000f171:
+0000f175: RCX := 5
+0000f181: RSP := RSP - 8
+0000f186: mem := mem with [RSP, el]:u64 <- 0x180001D12
+0000f188: call @sub_18000114a with return %00014142
 
-00014115:
-00014117: call @interrupt:#3 with noreturn
+00014142:
+00014144: call @interrupt:#3 with noreturn
 
-00014119:
-0001411b: call @interrupt:#3 with noreturn
+00014146:
+00014148: call @interrupt:#3 with noreturn
 
-0001411d:
-0001411f: call @interrupt:#3 with noreturn
+0001414a:
+0001414c: call @interrupt:#3 with noreturn
 
-00014121:
-00014123: call @interrupt:#3 with noreturn
+0001414e:
+00014150: call @interrupt:#3 with noreturn
 
-00014125:
-00014127: call @interrupt:#3 with noreturn
+00014152:
+00014154: call @interrupt:#3 with noreturn
 
-00014129:
-0001412b: call @interrupt:#3 with noreturn
+00014156:
+00014158: call @interrupt:#3 with noreturn
 
-0001412d:
-0001412f: call @interrupt:#3 with noreturn
+0001415a:
+0001415c: call @interrupt:#3 with noreturn
 
-00014131:
-00014133: call @interrupt:#3 with noreturn
+0001415e:
+00014160: call @interrupt:#3 with noreturn
 
-00014135:
-00014137: call @interrupt:#3 with noreturn
+00014162:
+00014164: call @interrupt:#3 with noreturn
 
-00014139:
-0001413b: call @interrupt:#3 with noreturn
+00014166:
+00014168: call @interrupt:#3 with noreturn
 
-0001413d:
-0001413f: call @interrupt:#3 with noreturn
+0001416a:
+0001416c: call @interrupt:#3 with noreturn
 
-00014141:
-00014143: call @interrupt:#3 with noreturn
+0001416e:
+00014170: call @interrupt:#3 with noreturn
 
-00014145:
-00014147: call @interrupt:#3 with noreturn
+00014172:
+00014174: call @interrupt:#3 with noreturn
 
-00014149:
-0001414b: call @interrupt:#3 with noreturn
+00014176:
+00014178: call @interrupt:#3 with noreturn
 
-0001414d:
-0001414f: call @interrupt:#3 with noreturn
+0001417a:
+0001417c: call @interrupt:#3 with noreturn
 
-00014151:
-00014153: call @interrupt:#3 with noreturn
+0001417e:
+00014180: call @interrupt:#3 with noreturn
 
-00014155:
-00014157: call @interrupt:#3 with noreturn
+00014182:
+00014184: call @interrupt:#3 with noreturn
 
-00014159:
-0001415b: call @interrupt:#3 with noreturn
+00014186:
+00014188: call @interrupt:#3 with noreturn
 
-0001415d:
-0001415f: call @interrupt:#3 with noreturn
+0001418a:
+0001418c: call @interrupt:#3 with noreturn
+
+0001418e:
+00014190: call @interrupt:#3 with noreturn
+
+00014192:
+00014194: call @interrupt:#3 with noreturn
+
+00014196:
+00014198: call @interrupt:#3 with noreturn
+
+0001419a:
+0001419c: call @interrupt:#3 with noreturn
+
+0001419e:
+000141a0: call @interrupt:#3 with noreturn
+
+000141a2:
+000141a4: call @interrupt:#3 with noreturn
+
+000141a6:
+000141a8: call @interrupt:#3 with noreturn
+
+000141aa:
+000141ac: call @interrupt:#3 with noreturn
+
+000141ae:
+000141b0: call @interrupt:#3 with noreturn
+
+000141b2:
+000141b4: call @interrupt:#3 with noreturn
+
+000141b6:
+000141b8: call @interrupt:#3 with noreturn
+
+000141ba:
+000141bc: call @interrupt:#3 with noreturn
+
+000141be:
+000141c0: call @interrupt:#3 with noreturn
+
+000141c2:
+000141c4: call @interrupt:#3 with noreturn
+
+000141c6:
+000141c8: call @interrupt:#3 with noreturn
+
+000141ca:
+000141cc: call @interrupt:#3 with noreturn
+
+000141ce:
+000141d0: call @interrupt:#3 with noreturn
+
+000141d2:
+000141d4: call @interrupt:#3 with noreturn
+
+000141d6:
+000141d8: call @interrupt:#3 with noreturn
+00019563: call @sub_180001d38 with noreturn
+
+00014218:
+00014221: RSP := RSP - 8
+00014226: mem := mem with [RSP, el]:u64 <- 0x180001CA3
+00014228: call @sub_180001087 with return %0001422a
+
+0001422a:
+0001423a: #12582216 := low:32[RAX]
+0001423d: OF := 0
+00014240: CF := 0
+00014243: AF := unknown[bits]:u1
+00014248: PF :=
+          ~low:1[let $0 = #12582216 >> 4 ^ #12582216 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001424c: SF := high:1[#12582216]
+00014250: ZF := 0 = #12582216
+00014257: when ZF goto %00014254
+00019562: goto %000142b2
+
+000142b2:
+000142c2: #12582213 := low:32[RBX]
+000142c5: OF := 0
+000142c8: CF := 0
+000142cb: AF := unknown[bits]:u1
+000142d0: PF :=
+          ~low:1[let $0 = #12582213 >> 4 ^ #12582213 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000142d4: SF := high:1[#12582213]
+000142d8: ZF := 0 = #12582213
+000142de: when ~ZF goto %00014254
+00019561: goto %000142e2
+
+00014254:
+00014262: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128
+0001426e: RAX := 0xFFFFFFFFFFFFFFFF
+00014271: OF := 0
+00014274: CF := 0
+00014277: AF := unknown[bits]:u1
+0001427a: PF := 1
+0001427d: SF := 1
+00014280: ZF := 0
+0001428a: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0]
+00014294: mem := mem with [0x1800081E0, el]:u64 <- RAX
+0001429e: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0]
+000142a8: mem := mem with [0x1800081F8, el]:u64 <- RAX
+00019560: goto %000142aa
+
+000142e2:
+000142e6: RCX := 0x1800081D0
+000142f1: RSP := RSP - 8
+000142f6: mem := mem with [RSP, el]:u64 <- 0x180001CB7
+000142f8: call @sub_180002776 with return %000142fa
+
+000142fa:
+0001430a: #12582211 := low:32[RAX]
+0001430d: OF := 0
+00014310: CF := 0
+00014313: AF := unknown[bits]:u1
+00014318: PF :=
+          ~low:1[let $0 = #12582211 >> 4 ^ #12582211 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001431c: SF := high:1[#12582211]
+00014320: ZF := 0 = #12582211
+00014327: when ~ZF goto %00014324
+0001955f: goto %0001434e
+
+0001434e:
+00014352: RCX := 0x1800081E8
+0001435d: RSP := RSP - 8
+00014362: mem := mem with [RSP, el]:u64 <- 0x180001CC7
+00014364: call @sub_180002776 with return %00014366
+
+00014366:
+00014376: #12582209 := low:32[RAX]
+00014379: OF := 0
+0001437c: CF := 0
+0001437f: AF := unknown[bits]:u1
+00014384: PF :=
+          ~low:1[let $0 = #12582209 >> 4 ^ #12582209 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014388: SF := high:1[#12582209]
+0001438c: ZF := 0 = #12582209
+00014392: when ZF goto %000142aa
+0001955e: goto %00014324
+
+000142aa:
+000142b0: mem := mem with [0x1800081C9] <- 1
+0001955d: goto %0000f0ff
+
+0000f0ff:
+0000f10b: RAX := high:56[RAX].1
+
+00014324:
+00014336: RAX := 63:8[RAX].0
+00014339: AF := unknown[bits]:u1
+0001433c: ZF := 1
+0001433f: PF := 1
+00014342: OF := 0
+00014345: CF := 0
+00014348: SF := 0
+0001434c: 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
+
+00019566: sub sub_180001082(sub_180001082_result)
+00019606: sub_180001082_result :: out u32 = low:32[RAX]
+
+00013608:
+00013617: goto %00013615
+
+00013615:
+00013624: #12582286 := RBX
+00013628: RSP := RSP - 8
+0001362e: mem := mem with [RSP, el]:u64 <- #12582286
+00013648: #12582285 := RSP
+0001364c: RSP := RSP - 0x20
+00013650: CF := #12582285 < 0x20
+00013656: OF := high:1[(#12582285 ^ 0x20) & (#12582285 ^ RSP)]
+0001365b: AF := 0x10 = (0x10 & (RSP ^ #12582285 ^ 0x20))
+00013660: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013664: SF := high:1[RSP]
+00013668: ZF := 0 = RSP
+00013680: #12582282 := mem[0x1800081C8]
+00013684: CF := mem[0x1800081C8] < 0
+0001368a: OF := high:1[mem[0x1800081C8] & (mem[0x1800081C8] ^ #12582282)]
+0001368f: AF := 0x10 = (0x10 & (#12582282 ^ mem[0x1800081C8]))
+00013694: PF :=
+          ~low:1[let $0 = #12582282 >> 4 ^ #12582282 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013698: SF := high:1[#12582282]
+0001369c: ZF := 0 = #12582282
+000136a6: RBX := high:56[RBX].low:8[RCX]
+000136ad: when ZF goto %000136aa
+00019568: goto %00013776
+
+00013776:
+00013786: #12582276 := low:8[RDX]
+00013789: OF := 0
+0001378c: CF := 0
+0001378f: AF := unknown[bits]:u1
+00013794: PF :=
+          ~low:1[let $0 = #12582276 >> 4 ^ #12582276 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013798: SF := high:1[#12582276]
+0001379c: ZF := 0 = #12582276
+000137a2: when ~ZF goto %000136de
+00019567: goto %000136aa
+
+000136aa:
+000136b9: RSP := RSP - 8
+000136be: mem := mem with [RSP, el]:u64 <- 0x180001E42
+000136c0: call @sub_1800010e6 with return %000136c2
+
+000136c2:
+000136ca: RCX := high:56[RCX].low:8[RBX]
+000136d5: RSP := RSP - 8
+000136da: mem := mem with [RSP, el]:u64 <- 0x180001E49
+000136dc: call @sub_180001046 with return %000136de
+
+000136de:
+000136e4: RAX := high:56[RAX].1
+00013701: #12582280 := RSP
+00013705: RSP := RSP + 0x20
+0001370a: CF := RSP < #12582280
+00013712: OF := ~high:1[#12582280] & (high:1[#12582280] | high:1[RSP]) &
+          ~(high:1[#12582280] & high:1[RSP])
+00013717: AF := 0x10 = (0x10 & (RSP ^ #12582280 ^ 0x20))
+0001371c: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013720: SF := high:1[RSP]
+00013724: ZF := 0 = RSP
+00013730: RBX := mem[RSP, el]:u64
+00013734: RSP := RSP + 8
+00013741: #12582277 := mem[RSP, el]:u64
+00013745: RSP := RSP + 8
+00013748: call #12582277 with noreturn
+
+00019569: sub sub_180001087(sub_180001087_result)
+00019607: 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
+
+0001956a: sub sub_18000108c(sub_18000108c_result)
+00019608: sub_18000108c_result :: out u32 = low:32[RAX]
+
+0000d6f5:
+0000d6f8: call @sub_180001d38 with noreturn
+
+0001956b: sub sub_180001096(sub_180001096_result)
+00019609: sub_180001096_result :: out u32 = low:32[RAX]
+
+00011bb9:
+00011bc7: call @sub_1800027a8 with noreturn
+
+0001956c: sub sub_1800010a5(sub_1800010a5_result)
+0001960a: sub_1800010a5_result :: out u32 = low:32[RAX]
+
+000116cd:
+000116db: call @sub_1800027b0 with noreturn
+
+0001956d: sub sub_1800010aa(sub_1800010aa_result)
+0001960b: sub_1800010aa_result :: out u32 = low:32[RAX]
+
+000116dd:
+000116df: call @sub_1800027a4 with noreturn
+
+0001956e: sub sub_1800010b4(sub_1800010b4_result)
+0001960c: 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
+00019570: goto %00018a52
+
+00018a52:
+00018a68: #12582158 := mem[0x180006880, el]:u64
+00018a6c: CF := mem[0x180006880, el]:u64 < 0
+00018a72: OF := high:1[mem[0x180006880, el]:u64 &
+          (mem[0x180006880, el]:u64 ^ #12582158)]
+00018a77: AF := 0x10 = (0x10 & (#12582158 ^ mem[0x180006880, el]:u64))
+00018a7c: PF :=
+          ~low:1[let $0 = #12582158 >> 4 ^ #12582158 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018a80: SF := high:1[#12582158]
+00018a84: ZF := 0 = #12582158
+00018a8a: when ~ZF goto %00004d28
+0001956f: goto %00018a8e
+
+00018a8e:
+00018a9a: #12582156 := mem[0x18000A020, el]:u64
+00018a9e: RSP := RSP - 8
+00018aa3: mem := mem with [RSP, el]:u64 <- 0x180001929
+00018aa6: 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
+
+00019571: sub sub_1800010c3(sub_1800010c3_result)
+0001960d: sub_1800010c3_result :: out u32 = low:32[RAX]
+
+0000fc66:
+0000fc74: goto %0000e915
 
-00014161:
-00014163: call @interrupt:#3 with noreturn
-
-00014165:
-00014167: call @interrupt:#3 with noreturn
-
-00014169:
-0001416b: call @interrupt:#3 with noreturn
-
-0001416d:
-0001416f: call @interrupt:#3 with noreturn
-
-00014171:
-00014173: call @interrupt:#3 with noreturn
-
-00014175:
-00014177: call @interrupt:#3 with noreturn
-
-000141b7:
-000141c0: RSP := RSP - 8
-000141c5: mem := mem with [RSP, el]:u64 <- 0x180001CA7
-000141c7: call @sub_180001087 with return %000141c9
-
-000141c9:
-000141d9: #12582216 := low:32[RAX]
-000141ef: ZF := 0 = #12582216
-000141f6: when ZF goto %000141f3
-00019501: goto %00014251
-
-00014251:
-00014261: #12582213 := low:32[RBX]
-00014277: ZF := 0 = #12582213
-0001427d: when ~ZF goto %000141f3
-00019500: goto %00014281
-
-000141f3:
-00014201: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128
-0001420d: RAX := 0xFFFFFFFFFFFFFFFF
-00014229: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0]
-00014233: mem := mem with [0x1800081E0, el]:u64 <- 0xFFFFFFFFFFFFFFFF
-0001423d: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0]
-00014247: mem := mem with [0x1800081F8, el]:u64 <- 0xFFFFFFFFFFFFFFFF
-000194ff: goto %00014249
-
-00014281:
-00014285: RCX := 0x1800081D0
-00014290: RSP := RSP - 8
-00014295: mem := mem with [RSP, el]:u64 <- 0x180001CBB
-00014297: call @sub_180002776 with return %00014299
-
-00014299:
-000142a9: #12582211 := low:32[RAX]
-000142bf: ZF := 0 = #12582211
-000142c6: when ~ZF goto %000142c3
-000194fe: goto %000142ed
-
-000142ed:
-000142f1: RCX := 0x1800081E8
-000142fc: RSP := RSP - 8
-00014301: mem := mem with [RSP, el]:u64 <- 0x180001CCB
-00014303: call @sub_180002776 with return %00014305
-
-00014305:
-00014315: #12582209 := low:32[RAX]
-0001432b: ZF := 0 = #12582209
-00014331: when ZF goto %00014249
-000194fd: goto %000142c3
-
-00014249:
-0001424f: mem := mem with [0x1800081C9] <- 1
-000194fc: goto %0000f09f
-
-0000f09f:
-0000f0ab: RAX := high:56[RAX].1
-000194fb: goto %0000f0ad
-
-000142c3:
-000142d5: RAX := 63:8[RAX].0
-000142eb: 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
-
-00019505: sub sub_180001082(sub_180001082_result)
-000195a5: sub_180001082_result :: out u32 = low:32[RAX]
-
-000135a7:
-000135b6: goto %000135b4
-
-000135b4:
-000135c3: #12582286 := RBX
-000135c7: RSP := RSP - 8
-000135cd: mem := mem with [RSP, el]:u64 <- #12582286
-000135eb: RSP := RSP - 0x20
-0001361f: #12582282 := mem[0x1800081C8]
-0001363b: ZF := 0 = #12582282
-00013645: RBX := high:56[RBX].low:8[RCX]
-0001364c: when ZF goto %00013649
-00019507: goto %00013715
-
-00013715:
-00013725: #12582276 := low:8[RDX]
-0001373b: ZF := 0 = #12582276
-00013741: when ~ZF goto %0001367d
-00019506: goto %00013649
-
-00013649:
-00013658: RSP := RSP - 8
-0001365d: mem := mem with [RSP, el]:u64 <- 0x180001E46
-0001365f: call @sub_1800010e6 with return %00013661
-
-00013661:
-00013669: RCX := high:56[RCX].low:8[RBX]
-00013674: RSP := RSP - 8
-00013679: mem := mem with [RSP, el]:u64 <- 0x180001E4D
-0001367b: call @sub_180001046 with return %0001367d
-
-0001367d:
-00013683: RAX := high:56[RAX].1
-000136a4: RSP := RSP + 0x20
-000136cf: RBX := mem[RSP, el]:u64
-000136d3: RSP := RSP + 8
-000136e0: #12582277 := mem[RSP, el]:u64
-000136e4: RSP := RSP + 8
-000136e7: call #12582277 with noreturn
-
-00019508: sub sub_180001087(sub_180001087_result)
-000195a6: 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
-
-00019509: sub sub_18000108c(sub_18000108c_result)
-000195a7: sub_18000108c_result :: out u32 = low:32[RAX]
-
-0000d695:
-0000d698: call @sub_180001d3c with noreturn
-
-0001950a: sub sub_180001096(sub_180001096_result)
-000195a8: sub_180001096_result :: out u32 = low:32[RAX]
-
-00011b59:
-00011b67: call @sub_1800027a8 with noreturn
-
-0001950b: sub sub_1800010a5(sub_1800010a5_result)
-000195a9: sub_1800010a5_result :: out u32 = low:32[RAX]
-
-0001166d:
-0001167b: call @sub_1800027b0 with noreturn
-
-0001950c: sub sub_1800010aa(sub_1800010aa_result)
-000195aa: sub_1800010aa_result :: out u32 = low:32[RAX]
-
-0001167d:
-0001167f: call @sub_1800027a4 with noreturn
-
-0001950d: sub sub_1800010b4(sub_1800010b4_result)
-000195ab: 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
-0001950f: goto %000189f1
-
-000189f1:
-00018a07: #12582158 := mem[0x180006880, el]:u64
-00018a23: ZF := 0 = #12582158
-00018a29: when ~ZF goto %00004d18
-0001950e: goto %00018a2d
-
-00018a2d:
-00018a39: #12582156 := mem[0x18000A020, el]:u64
-00018a3d: RSP := RSP - 8
-00018a42: mem := mem with [RSP, el]:u64 <- 0x18000192D
-00018a45: 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
-
-00019510: sub sub_1800010c3(sub_1800010c3_result)
-000195ac: 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
-
-00019511: sub sub_1800010cd(sub_1800010cd_result)
-000195ad: 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 := 0x1800070E8
-00010086: RDI := 0x1800071F0
-0001008b: goto %00010089
-
-00010089:
-000100ac: CF := RBX < 0x1800071F0
-000100cd: when CF goto %000100ca
-00019514: goto %00010164
+0000e915:
+0000e919: RAX := 1
+0000e926: #12582755 := mem[RSP, el]:u64
+0000e92a: RSP := RSP + 8
+0000e92d: call #12582755 with noreturn
+
+00019572: sub sub_1800010cd(sub_1800010cd_result)
+0001960e: 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
+00019575: 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
+00019574: 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
 
 00010164:
-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
-00019513: 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
-00019512: goto %00010089
-
-00019515: sub sub_1800010d7(sub_1800010d7_result)
-000195ae: 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 := 0x180007308
-0001027a: RDI := 0x180007410
-0001027f: goto %0001027d
-
-0001027d:
-000102a0: CF := RBX < 0x180007410
-000102c1: when CF goto %000102be
-00019518: goto %00010358
+00010189: RBX := RBX + 8
+00019573: goto %000100e9
+
+00019576: sub sub_1800010d7(sub_1800010d7_result)
+0001960f: 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
+00019579: 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
+00019578: 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
 
 00010358:
-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
-00019517: 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
-00019516: goto %0001027d
-
-00019519: sub sub_1800010e1(sub_1800010e1_result)
-000195af: sub_1800010e1_result :: out u32 = low:32[RAX]
-
-00011141:
-00011143: call @sub_1800027a8 with noreturn
-
-0001951a: sub sub_1800010e6(sub_1800010e6_result)
-000195b0: sub_1800010e6_result :: out u32 = low:32[RAX]
-
-00011145:
-00011147: call @sub_1800027ac with noreturn
-
-0001951b: sub sub_1800010fa(sub_1800010fa_result)
-000195b1: 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
-0001951d: 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 :=
+0001037d: RBX := RBX + 8
+00019577: goto %000102dd
+
+0001957a: sub sub_1800010e1(sub_1800010e1_result)
+00019610: sub_1800010e1_result :: out u32 = low:32[RAX]
+
+000111a1:
+000111a3: call @sub_1800027a8 with noreturn
+
+0001957b: sub sub_1800010e6(sub_1800010e6_result)
+00019611: sub_1800010e6_result :: out u32 = low:32[RAX]
+
+000111a5:
+000111a7: call @sub_1800027ac with noreturn
+
+0001957c: sub sub_1800010fa(sub_1800010fa_result)
+00019612: 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
+0001957e: 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 :=
           mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX
-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 :=
+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 :=
           mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ 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
-0001951c: 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
-
-0001951e: sub sub_180001109(sub_180001109_result)
-000195b2: 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
-
-0001951f: sub sub_18000110e(sub_18000110e_result)
-000195b3: 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
-
-00019520: sub sub_180001118(sub_180001118_result)
-000195b4: 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
-
-00019521: sub sub_18000111d(sub_18000111d_result)
-000195b5: 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
-00019524: 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
-00019523: goto %00011fd1
-
-00011a75:
-00011a81: RAX := high:56[RAX].1
-00019522: 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
-
-00019525: sub sub_180001122(sub_180001122_result)
-000195b6: sub_180001122_result :: out u32 = low:32[RAX]
-
-000117f1:
-000117ff: call @sub_1800027a0 with noreturn
-
-00019526: sub sub_180001127(sub_180001127_result)
-000195b7: 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
-
-00019527: sub sub_18000112c(sub_18000112c_result)
-000195b8: 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
-
-00019528: sub sub_18000113b(sub_18000113b_result)
-000195b9: 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
-0001952b: 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
-0001952a: 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:
-000122b5: RAX := high:56[RAX].1
-00019529: goto %000122b7
-
-000122b7:
-000122d6: RSP := RSP + 0x28
-00012302: #12582345 := mem[RSP, el]:u64
-00012306: RSP := RSP + 8
-00012309: call #12582345 with noreturn
-
-0001952c: sub sub_180001140(sub_180001140_result)
-000195ba: 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 %000144ab
-
-000144ab:
-000144b5: RDX := 0
-000144d9: #12582194 := low:32[RAX]
-000144ef: ZF := 0 = #12582194
-000144f6: when ZF goto %000144f3
-0001952f: goto %0001458d
-
-0001458d:
-0001459d: #12582188 := low:8[RBX]
-000145b3: ZF := 0 = #12582188
-000145b9: when ~ZF goto %000144f3
-0001952e: goto %000145bd
-
-000145bd:
-000145cc: RDX := mem[0x1800081C0, el]:u64
-000145d1: mem := mem with [0x1800081C0, el]:u64 <- 0
-0001952d: goto %000144f3
-
-000144f3:
-00014518: RSP := RSP + 0x20
-00014543: RBX := mem[RSP, el]:u64
-00014547: RSP := RSP + 8
-00014554: #12582189 := mem[RSP, el]:u64
-00014558: RSP := RSP + 8
-0001455b: call #12582189 with noreturn
-
-00019530: sub sub_180001145(sub_180001145_result)
-000195bb: 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
-00019542: 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
-00019541: goto %0000ed97
-
-0000ed97:
-0000edad: #12582731 := low:32[RAX] - 0x20660
-0000edc9: ZF := 0 = #12582731
-0000edcf: when ZF goto %0000ed53
-00019540: goto %0000edd3
-
-0000edd3:
-0000ede9: #12582729 := low:32[RAX] - 0x20670
-0000ee05: ZF := 0 = #12582729
-0000ee0b: when ZF goto %0000ed53
-0001953f: 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
-0001953e: goto %0000ee8d
-
-0000ee8d:
-0000ee91: RCX := 0x100010001
-0000eea1: #12582722 := low:6[RAX]
-0000eea6: CF := low:1[0x100010001 >> #12582722]
-0000eebb: when ~CF goto %0000e5d3
-0001953d: goto %0000ed53
-
-0000e5d3:
-0000e5df: R8 := pad:64[mem[0x180008214, el]:u32]
-0001953c: 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
-0001953b: 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
-0001953a: goto %0000ec91
-
-0000ec91:
-0000eca3: R8 := pad:64[low:32[R8] | 2]
-0000ecc3: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
-00019539: 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
-00019538: 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
-00019537: goto %0000e915
-
-0000e915:
-0000e920: CF := low:1[RDI >> 0x1C]
-0000e935: when ~CF goto %0000e669
-00019536: 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
-00019535: 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
-00019534: 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
-00019533: 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
-00019532: goto %0000ebd1
-
-0000ebd1:
-0000ebe3: mem :=
-          mem with [0x18000803C, el]:u32 <- mem[0x18000803C, el]:u32 | 0x40
-0000ec03: mem := mem with [0x180008038, el]:u32 <- 6
-00019531: 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
-
-00019543: sub sub_18000114a(sub_18000114a_result)
-000195bc: 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
-00019547: 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:
-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
-00019546: 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
-00019545: goto %00012981
-
-00012981:
-00012991: #12582316 := low:8[RBX]
-000129a7: ZF := 0 = #12582316
-000129ad: when ~ZF goto %0001263d
-00019544: 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
-
-00019548: sub sub_180001154(sub_180001154_result)
-000195bd: 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
-0001954c: 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
-0001954b: goto %00010cea
-
-00010cea:
-00010cfc: RAX := 63:8[RAX].0
-00010d02: ZF := 1
-0001954a: goto %00010d10
-
-00010e4d:
-00010e6e: #12582483 := RCX - RAX
-00010e8d: ZF := 0 = #12582483
-00010e93: when ZF goto %00010d64
-00019549: 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
-
-0001954d: sub sub_180001163(sub_180001163_result)
-000195be: 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
-0001954f: goto %00011f45
-
-00011f45:
-00011f5b: #12582365 := low:32[RBX] - 1
-00011f77: ZF := 0 = #12582365
-00011f7d: when ~ZF goto %00011cbb
-0001954e: 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
-
-00019550: sub sub_180001168(sub_180001168_result)
-000195bf: 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
-00019553: 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
-00019552: goto %000121f7
-
-00012137:
-00012145: RAX := high:56[RAX].1
-00019551: 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
-
-00019554: sub sub_180001177(sub_180001177_result)
-000195c0: 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
-
-00019555: sub sub_180001181(sub_180001181_result)
-000195c1: 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
-00019557: 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
-00019556: 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
-
-00019558: sub sub_180001358(sub_180001358_result)
-000195c2: 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
-00019567: goto %00013eeb
-
-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
-
-00013eeb:
-00013f07: RDX := pad:64[low:32[RDX] - 1]
-00013f23: ZF := 0 = low:32[RDX]
-00013f2a: when ZF goto %00013f27
-00019566: goto %00013f79
-
-00013f27:
-00013f33: RDX := R8
-00013f54: RSP := RSP + 0x28
-00013f77: goto %000138f1
-
-000138f1:
-000138fb: mem := mem with [RSP + 8, el]:u64 <- RBX
-00013907: mem := mem with [RSP + 0x10, el]:u64 <- RSI
-00013913: mem := mem with [RSP + 0x20, el]:u64 <- RDI
-00013921: #12582264 := R14
-00013925: RSP := RSP - 8
-0001392b: mem := mem with [RSP, el]:u64 <- #12582264
-00013949: RSP := RSP - 0x20
-0001396d: RSI := RDX
-00013975: R14 := RCX
-00013981: RCX := 0
-0001399e: RSP := RSP - 8
-000139a3: mem := mem with [RSP, el]:u64 <- 0x1800013DE
-000139a5: call @sub_180001168 with return %000139a7
-
-000139a7:
-000139b7: #12582260 := low:8[RAX]
-000139cd: ZF := 0 = #12582260
-000139d4: when ZF goto %000139d1
-00019565: goto %00013bad
-
-00013bad:
-00013bb6: RSP := RSP - 8
-00013bbb: mem := mem with [RSP, el]:u64 <- 0x1800013EB
-00013bbd: call @sub_180001154 with return %00013bbf
-
-00013bbf:
-00013bc7: RBX := high:56[RBX].low:8[RAX]
-00013bd3: mem := mem with [RSP + 0x40] <- low:8[RAX]
-00013bdb: RDI := high:56[RDI].1
-00013bf3: #12582254 := mem[0x1800081B8, el]:u32
-00013c0f: ZF := 0 = #12582254
-00013c15: when ~ZF goto %00013a77
-00019564: goto %00013c19
-
-00013a77:
-00013a7b: RCX := 7
-00013a86: RSP := RSP - 8
-00013a8b: mem := mem with [RSP, el]:u64 <- 0x1800014D0
-00013a8d: call @sub_18000114a with return %00013a8f
-
-00013a8f:
-00013a93: call @interrupt:#3 with noreturn
-
-00013a95:
-00013a97: call @interrupt:#3 with noreturn
+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
+0001957d: 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
+
+0001957f: sub sub_180001109(sub_180001109_result)
+00019613: 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
+
+00019580: sub sub_18000110e(sub_18000110e_result)
+00019614: sub_18000110e_result :: out u32 = low:32[RAX]
+
+00011663:
+00011665: goto %00004dd1
 
-00013a99:
-00013a9b: call @interrupt:#3 with noreturn
-
-00013a9d:
-00013a9f: call @interrupt:#3 with noreturn
-
-00013aa1:
-00013aa3: call @interrupt:#3 with noreturn
-
-00013aa5:
-00013aa7: call @interrupt:#3 with noreturn
-
-00013aa9:
-00013aab: call @interrupt:#3 with noreturn
-
-00013aad:
-00013aaf: call @interrupt:#3 with noreturn
-
-00013ab1:
-00013ab3: call @interrupt:#3 with noreturn
+00004dd1:
+00004dd5: RCX := 0x180008180
+00004dda: goto %00004dd8
 
-00013ab5:
-00013ab7: call @interrupt:#3 with noreturn
+00004dd8:
+00004ddf: call mem[0x18000A0F0, el]:u64 with noreturn
 
-00013ab9:
-00013abb: call @interrupt:#3 with noreturn
+00019581: sub sub_180001118(sub_180001118_result)
+00019615: sub_180001118_result :: out u32 = low:32[RAX]
 
-00013abd:
-00013abf: call @interrupt:#3 with noreturn
+0001166b:
+0001166e: goto %0001166c
 
-00013ac1:
-00013ac3: call @interrupt:#3 with noreturn
+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
 
-00013ac5:
-00013ac7: call @interrupt:#3 with noreturn
+000116e5:
+00011704: RSP := RSP + 0x28
+00011727: goto %000111b1
 
-00013ac9:
-00013acb: call @interrupt:#3 with noreturn
+000111b1:
+000111b3: call @sub_1800027b0 with noreturn
 
-00013acd:
-00013acf: call @interrupt:#3 with noreturn
+00019582: sub sub_18000111d(sub_18000111d_result)
+00019616: sub_18000111d_result :: out u32 = low:32[RAX]
 
-00013ad1:
-00013ad3: call @interrupt:#3 with noreturn
+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
+00019585: 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
+00019584: goto %00012031
+
+00011ad5:
+00011ae1: RAX := high:56[RAX].1
+00019583: 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
+
+00019586: sub sub_180001122(sub_180001122_result)
+00019617: sub_180001122_result :: out u32 = low:32[RAX]
+
+00011851:
+0001185f: call @sub_1800027a0 with noreturn
+
+00019587: sub sub_180001127(sub_180001127_result)
+00019618: 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
+
+00019588: sub sub_18000112c(sub_18000112c_result)
+00019619: 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
+
+00019589: sub sub_18000113b(sub_18000113b_result)
+0001961a: 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
+0001958c: 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
+0001958b: 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
+0001958a: goto %00012317
+
+00012317:
+00012336: RSP := RSP + 0x28
+00012362: #12582345 := mem[RSP, el]:u64
+00012366: RSP := RSP + 8
+00012369: call #12582345 with noreturn
+
+0001958d: sub sub_180001140(sub_180001140_result)
+0001961b: 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 %0001450c
+
+0001450c:
+00014516: RDX := 0
+00014519: AF := unknown[bits]:u1
+0001451c: ZF := 1
+0001451f: PF := 1
+00014522: OF := 0
+00014525: CF := 0
+00014528: SF := 0
+0001453a: #12582194 := low:32[RAX]
+0001453d: OF := 0
+00014540: CF := 0
+00014543: AF := unknown[bits]:u1
+00014548: PF :=
+          ~low:1[let $0 = #12582194 >> 4 ^ #12582194 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001454c: SF := high:1[#12582194]
+00014550: ZF := 0 = #12582194
+00014557: when ZF goto %00014554
+00019590: goto %000145ee
+
+000145ee:
+000145fe: #12582188 := low:8[RBX]
+00014601: OF := 0
+00014604: CF := 0
+00014607: AF := unknown[bits]:u1
+0001460c: PF :=
+          ~low:1[let $0 = #12582188 >> 4 ^ #12582188 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014610: SF := high:1[#12582188]
+00014614: ZF := 0 = #12582188
+0001461a: when ~ZF goto %00014554
+0001958f: goto %0001461e
+
+0001461e:
+00014629: #12582186 := RDX
+0001462d: RDX := mem[0x1800081C0, el]:u64
+00014632: mem := mem with [0x1800081C0, el]:u64 <- #12582186
+0001958e: goto %00014554
+
+00014554:
+00014575: #12582192 := RSP
+00014579: RSP := RSP + 0x20
+0001457e: CF := RSP < #12582192
+00014586: OF := ~high:1[#12582192] & (high:1[#12582192] | high:1[RSP]) &
+          ~(high:1[#12582192] & high:1[RSP])
+0001458b: AF := 0x10 = (0x10 & (RSP ^ #12582192 ^ 0x20))
+00014590: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014594: SF := high:1[RSP]
+00014598: ZF := 0 = RSP
+000145a4: RBX := mem[RSP, el]:u64
+000145a8: RSP := RSP + 8
+000145b5: #12582189 := mem[RSP, el]:u64
+000145b9: RSP := RSP + 8
+000145bc: call #12582189 with noreturn
+
+00019591: sub sub_180001145(sub_180001145_result)
+0001961c: 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
+000195a3: 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
+000195a2: goto %0000edf7
+
+0000edf7:
+0000ee0d: #12582731 := low:32[RAX] - 0x20660
+0000ee29: ZF := 0 = #12582731
+0000ee2f: when ZF goto %0000edb3
+000195a1: goto %0000ee33
+
+0000ee33:
+0000ee49: #12582729 := low:32[RAX] - 0x20670
+0000ee65: ZF := 0 = #12582729
+0000ee6b: when ZF goto %0000edb3
+000195a0: 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
+0001959f: goto %0000eeed
+
+0000eeed:
+0000eef1: RCX := 0x100010001
+0000ef01: #12582722 := low:6[RAX]
+0000ef06: CF := low:1[0x100010001 >> #12582722]
+0000ef1b: when ~CF goto %0000e633
+0001959e: goto %0000edb3
+
+0000e633:
+0000e63f: R8 := pad:64[mem[0x180008214, el]:u32]
+0001959d: 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
+0001959c: 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
+0001959b: goto %0000ecf1
+
+0000ecf1:
+0000ed03: R8 := pad:64[low:32[R8] | 2]
+0000ed23: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
+0001959a: 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
+00019599: 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
+00019598: goto %0000e975
+
+0000e975:
+0000e980: CF := low:1[RDI >> 0x1C]
+0000e995: when ~CF goto %0000e6c9
+00019597: 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
+00019596: 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
+00019595: 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
+00019594: 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
+00019593: goto %0000ec31
+
+0000ec31:
+0000ec43: mem :=
+          mem with [0x18000803C, el]:u32 <- mem[0x18000803C, el]:u32 | 0x40
+0000ec63: mem := mem with [0x180008038, el]:u32 <- 6
+00019592: 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
+
+000195a4: sub sub_18000114a(sub_18000114a_result)
+0001961d: 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
+000195a8: 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
 
-00013ad5:
-00013ad7: call @interrupt:#3 with noreturn
+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
+000195a7: 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
+000195a6: goto %000129e1
+
+000129e1:
+000129f1: #12582316 := low:8[RBX]
+00012a07: ZF := 0 = #12582316
+00012a0d: when ~ZF goto %0001269d
+000195a5: 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
+
+000195a9: sub sub_180001154(sub_180001154_result)
+0001961e: 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
+000195ad: 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
+000195ac: goto %00010d4a
+
+00010d4a:
+00010d5c: RAX := 63:8[RAX].0
+00010d62: ZF := 1
+000195ab: goto %00010d70
+
+00010ead:
+00010ece: #12582483 := RCX - RAX
+00010eed: ZF := 0 = #12582483
+00010ef3: when ZF goto %00010dc4
+000195aa: 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
+
+000195ae: sub sub_180001163(sub_180001163_result)
+0001961f: 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
+000195b0: goto %00011fa5
+
+00011fa5:
+00011fbb: #12582365 := low:32[RBX] - 1
+00011fd7: ZF := 0 = #12582365
+00011fdd: when ~ZF goto %00011d1b
+000195af: 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
+
+000195b1: sub sub_180001168(sub_180001168_result)
+00019620: 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
+000195b4: goto %00012288
 
-00013ad9:
-00013adb: call @interrupt:#3 with noreturn
+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
+000195b3: goto %00012257
+
+00012197:
+000121a5: RAX := high:56[RAX].1
+000195b2: 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
+
+000195b5: sub sub_180001177(sub_180001177_result)
+00019621: 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
+
+000195b6: sub sub_180001181(sub_180001181_result)
+00019622: 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
+000195b8: 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
+000195b7: 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
+
+000195b9: sub sub_180001354(sub_180001354_result)
+00019623: 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
+000195c8: goto %00013f4c
+
+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
+
+00013f4c:
+00013f64: #12582237 := low:32[RDX]
+00013f68: RDX := pad:64[low:32[RDX] - 1]
+00013f6c: CF := #12582237 < 1
+00013f72: OF := high:1[(#12582237 ^ 1) & (#12582237 ^ low:32[RDX])]
+00013f77: AF := 0x10 = (0x10 & (low:32[RDX] ^ #12582237 ^ 1))
+00013f7c: PF :=
+          ~low:1[let $0 = low:32[RDX] >> 4 ^ low:32[RDX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013f80: SF := high:1[low:32[RDX]]
+00013f84: ZF := 0 = low:32[RDX]
+00013f8b: when ZF goto %00013f88
+000195c7: goto %00013fda
+
+00013f88:
+00013f94: RDX := R8
+00013fb1: #12582234 := RSP
+00013fb5: RSP := RSP + 0x28
+00013fba: CF := RSP < #12582234
+00013fc2: OF := ~high:1[#12582234] & (high:1[#12582234] | high:1[RSP]) &
+          ~(high:1[#12582234] & high:1[RSP])
+00013fc7: AF := 0x10 = (0x10 & (RSP ^ #12582234 ^ 0x28))
+00013fcc: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013fd0: SF := high:1[RSP]
+00013fd4: ZF := 0 = RSP
+00013fd8: goto %00013952
+
+00013952:
+0001395c: mem := mem with [RSP + 8, el]:u64 <- RBX
+00013968: mem := mem with [RSP + 0x10, el]:u64 <- RSI
+00013974: mem := mem with [RSP + 0x20, el]:u64 <- RDI
+00013982: #12582264 := R14
+00013986: RSP := RSP - 8
+0001398c: mem := mem with [RSP, el]:u64 <- #12582264
+000139a6: #12582263 := RSP
+000139aa: RSP := RSP - 0x20
+000139ae: CF := #12582263 < 0x20
+000139b4: OF := high:1[(#12582263 ^ 0x20) & (#12582263 ^ RSP)]
+000139b9: AF := 0x10 = (0x10 & (RSP ^ #12582263 ^ 0x20))
+000139be: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000139c2: SF := high:1[RSP]
+000139c6: ZF := 0 = RSP
+000139ce: RSI := RDX
+000139d6: R14 := RCX
+000139e2: RCX := 0
+000139e5: AF := unknown[bits]:u1
+000139e8: ZF := 1
+000139eb: PF := 1
+000139ee: OF := 0
+000139f1: CF := 0
+000139f4: SF := 0
+000139ff: RSP := RSP - 8
+00013a04: mem := mem with [RSP, el]:u64 <- 0x1800013DA
+00013a06: call @sub_180001168 with return %00013a08
+
+00013a08:
+00013a18: #12582260 := low:8[RAX]
+00013a1b: OF := 0
+00013a1e: CF := 0
+00013a21: AF := unknown[bits]:u1
+00013a26: PF :=
+          ~low:1[let $0 = #12582260 >> 4 ^ #12582260 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013a2a: SF := high:1[#12582260]
+00013a2e: ZF := 0 = #12582260
+00013a35: when ZF goto %00013a32
+000195c6: goto %00013c0e
+
+00013c0e:
+00013c17: RSP := RSP - 8
+00013c1c: mem := mem with [RSP, el]:u64 <- 0x1800013E7
+00013c1e: call @sub_180001154 with return %00013c20
+
+00013c20:
+00013c28: RBX := high:56[RBX].low:8[RAX]
+00013c34: mem := mem with [RSP + 0x40] <- low:8[RAX]
+00013c3c: RDI := high:56[RDI].1
+00013c54: #12582254 := mem[0x1800081B8, el]:u32
+00013c58: CF := mem[0x1800081B8, el]:u32 < 0
+00013c5e: OF := high:1[mem[0x1800081B8, el]:u32 &
+          (mem[0x1800081B8, el]:u32 ^ #12582254)]
+00013c63: AF := 0x10 = (0x10 & (#12582254 ^ mem[0x1800081B8, el]:u32))
+00013c68: PF :=
+          ~low:1[let $0 = #12582254 >> 4 ^ #12582254 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013c6c: SF := high:1[#12582254]
+00013c70: ZF := 0 = #12582254
+00013c76: when ~ZF goto %00013ad8
+000195c5: goto %00013c7a
+
+00013ad8:
+00013adc: RCX := 7
+00013ae7: RSP := RSP - 8
+00013aec: mem := mem with [RSP, el]:u64 <- 0x1800014CC
+00013aee: call @sub_18000114a with return %00013af0
+
+00013af0:
+00013af4: call @interrupt:#3 with noreturn
+
+00013af6:
+00013af8: call @interrupt:#3 with noreturn
+
+00013afa:
+00013afc: call @interrupt:#3 with noreturn
+
+00013afe:
+00013b00: call @interrupt:#3 with noreturn
+
+00013b02:
+00013b04: call @interrupt:#3 with noreturn
+
+00013b06:
+00013b08: call @interrupt:#3 with noreturn
+
+00013b0a:
+00013b0c: call @interrupt:#3 with noreturn
+
+00013b0e:
+00013b10: call @interrupt:#3 with noreturn
+
+00013b12:
+00013b14: call @interrupt:#3 with noreturn
+
+00013b16:
+00013b18: call @interrupt:#3 with noreturn
+
+00013b1a:
+00013b1c: call @interrupt:#3 with noreturn
+
+00013b1e:
+00013b20: call @interrupt:#3 with noreturn
 
-00013add:
-00013adf: call @interrupt:#3 with noreturn
+00013b22:
+00013b24: call @interrupt:#3 with noreturn
 
-00013ae1:
-00013ae3: call @interrupt:#3 with noreturn
+00013b26:
+00013b28: call @interrupt:#3 with noreturn
 
-00013ae5:
-00013ae7: call @interrupt:#3 with noreturn
+00013b2a:
+00013b2c: call @interrupt:#3 with noreturn
 
-00013ae9:
-00013aeb: call @interrupt:#3 with noreturn
+00013b2e:
+00013b30: call @interrupt:#3 with noreturn
 
-00013aed:
-00013aef: call @interrupt:#3 with noreturn
+00013b32:
+00013b34: call @interrupt:#3 with noreturn
 
-00013af1:
-00013af3: call @interrupt:#3 with noreturn
+00013b36:
+00013b38: call @interrupt:#3 with noreturn
 
-00013af5:
-00013af7: call @interrupt:#3 with noreturn
+00013b3a:
+00013b3c: call @interrupt:#3 with noreturn
 
-00013af9:
-00013afb: call @interrupt:#3 with noreturn
+00013b3e:
+00013b40: call @interrupt:#3 with noreturn
 
-00013afd:
-00013aff: call @interrupt:#3 with noreturn
+00013b42:
+00013b44: call @interrupt:#3 with noreturn
 
-00013b01:
-00013b03: call @interrupt:#3 with noreturn
+00013b46:
+00013b48: call @interrupt:#3 with noreturn
 
-00013b05:
-00013b07: call @interrupt:#3 with noreturn
+00013b4a:
+00013b4c: call @interrupt:#3 with noreturn
 
-00013b09:
-00013b0b: call @interrupt:#3 with noreturn
+00013b4e:
+00013b50: call @interrupt:#3 with noreturn
 
-00013b0d:
-00013b0f: call @interrupt:#3 with noreturn
+00013b52:
+00013b54: call @interrupt:#3 with noreturn
 
-00013b11:
-00013b13: call @interrupt:#3 with noreturn
+00013b56:
+00013b58: call @interrupt:#3 with noreturn
 
-00013b15:
-00013b17: call @interrupt:#3 with noreturn
+00013b5a:
+00013b5c: call @interrupt:#3 with noreturn
 
-00013b19:
-00013b1b: call @interrupt:#3 with noreturn
+00013b5e:
+00013b60: call @interrupt:#3 with noreturn
 
-00013b1d:
-00013b1f: call @interrupt:#3 with noreturn
+00013b62:
+00013b64: call @interrupt:#3 with noreturn
 
-00013b21:
-00013b23: call @interrupt:#3 with noreturn
+00013b66:
+00013b68: call @interrupt:#3 with noreturn
 
-00013b25:
-00013b27: call @interrupt:#3 with noreturn
+00013b6a:
+00013b6c: call @interrupt:#3 with noreturn
 
-00013b29:
-00013b2b: call @interrupt:#3 with noreturn
+00013b6e:
+00013b70: call @interrupt:#3 with noreturn
 
-00013b2d:
-00013b2f: call @interrupt:#3 with noreturn
+00013b72:
+00013b74: call @interrupt:#3 with noreturn
 
-00013b31:
-00013b33: call @interrupt:#3 with noreturn
+00013b76:
+00013b78: call @interrupt:#3 with noreturn
 
-00013b35:
-00013b37: call @interrupt:#3 with noreturn
+00013b7a:
+00013b7c: call @interrupt:#3 with noreturn
 
-00013b39:
-00013b3b: call @interrupt:#3 with noreturn
+00013b7e:
+00013b80: call @interrupt:#3 with noreturn
 
-00013b3d:
-00013b3f: call @interrupt:#3 with noreturn
+00013b82:
+00013b84: call @interrupt:#3 with noreturn
 
-00013b41:
-00013b43: call @interrupt:#3 with noreturn
+00013b86:
+00013b88: call @interrupt:#3 with noreturn
 
-00013b45:
-00013b47: call @interrupt:#3 with noreturn
+00013b8a:
+00013b8c: call @interrupt:#3 with noreturn
 
-00013b49:
-00013b4b: call @interrupt:#3 with noreturn
+00013b8e:
+00013b90: call @interrupt:#3 with noreturn
 
-00013b4d:
-00013b4f: call @interrupt:#3 with noreturn
+00013b92:
+00013b94: call @interrupt:#3 with noreturn
 
-00013b51:
-00013b53: call @interrupt:#3 with noreturn
+00013b96:
+00013b98: call @interrupt:#3 with noreturn
 
-00013b55:
-00013b57: call @interrupt:#3 with noreturn
+00013b9a:
+00013b9c: call @interrupt:#3 with noreturn
 
-00013b59:
-00013b5b: call @interrupt:#3 with noreturn
+00013b9e:
+00013ba0: call @interrupt:#3 with noreturn
 
-00013b5d:
-00013b5f: call @interrupt:#3 with noreturn
+00013ba2:
+00013ba4: call @interrupt:#3 with noreturn
 
-00013b61:
-00013b63: call @interrupt:#3 with noreturn
+00013ba6:
+00013ba8: call @interrupt:#3 with noreturn
 
-00013b65:
-00013b67: call @interrupt:#3 with noreturn
+00013baa:
+00013bac: call @interrupt:#3 with noreturn
 
-00013b69:
-00013b6b: call @interrupt:#3 with noreturn
+00013bae:
+00013bb0: call @interrupt:#3 with noreturn
 
-00013b6d:
-00013b6f: call @interrupt:#3 with noreturn
+00013bb2:
+00013bb4: call @interrupt:#3 with noreturn
 
-00013b71:
-00013b73: call @interrupt:#3 with noreturn
+00013bb6:
+00013bb8: call @interrupt:#3 with noreturn
 
-00013b75:
-00013b77: call @interrupt:#3 with noreturn
+00013bba:
+00013bbc: call @interrupt:#3 with noreturn
 
-00013b79:
-00013b7b: call @interrupt:#3 with noreturn
+00013bbe:
+00013bc0: call @interrupt:#3 with noreturn
 
-00013b7d:
-00013b7f: call @interrupt:#3 with noreturn
+00013bc2:
+00013bc4: call @interrupt:#3 with noreturn
 
-00013b81:
-00013b83: call @interrupt:#3 with noreturn
+00013bc6:
+00013bc8: call @interrupt:#3 with noreturn
 
-00013b85:
-00013b87: call @interrupt:#3 with noreturn
+00013bca:
+00013bcc: call @interrupt:#3 with noreturn
 
-00013b89:
-00013b8b: call @interrupt:#3 with noreturn
+00013bce:
+00013bd0: call @interrupt:#3 with noreturn
 
-00013b8d:
-00013b8f: call @interrupt:#3 with noreturn
+00013bd2:
+00013bd4: call @interrupt:#3 with noreturn
 
-00013b91:
-00013b93: call @interrupt:#3 with noreturn
+00013bd6:
+00013bd8: call @interrupt:#3 with noreturn
 
-00013b95:
-00013b97: call @interrupt:#3 with noreturn
+00013bda:
+00013bdc: call @interrupt:#3 with noreturn
 
-00013b99:
-00013b9b: call @interrupt:#3 with noreturn
+00013bde:
+00013be0: call @interrupt:#3 with noreturn
 
-00013b9d:
-00013b9f: call @interrupt:#3 with noreturn
+00013be2:
+00013be4: call @interrupt:#3 with noreturn
 
-00013ba1:
-00013ba3: call @interrupt:#3 with noreturn
+00013be6:
+00013be8: call @interrupt:#3 with noreturn
 
-00013ba5:
-00013ba7: call @interrupt:#3 with noreturn
+00013bea:
+00013bec: call @interrupt:#3 with noreturn
 
-00013ba9:
-00013bab: call @interrupt:#3 with noreturn
+00013bee:
+00013bf0: call @interrupt:#3 with noreturn
 
-00013c19:
-00013c1f: mem := mem with [0x1800081B8, el]:u32 <- 1
-00013c2a: RSP := RSP - 8
-00013c2f: mem := mem with [RSP, el]:u64 <- 0x180001410
-00013c31: call @sub_180001019 with return %00013c33
+00013bf2:
+00013bf4: call @interrupt:#3 with noreturn
 
-00013c33:
-00013c43: #12582252 := low:8[RAX]
-00013c59: ZF := 0 = #12582252
-00013c60: when ZF goto %00013c5d
-00019562: goto %00013ddf
-
-00013ddf:
-00013de8: RSP := RSP - 8
-00013ded: mem := mem with [RSP, el]:u64 <- 0x180001419
-00013def: call @sub_1800010cd with return %00013df1
-
-00013df1:
-00013dfa: RSP := RSP - 8
-00013dff: mem := mem with [RSP, el]:u64 <- 0x18000141E
-00013e01: call @sub_180001041 with return %00013e03
-
-00013e03:
-00013e0c: RSP := RSP - 8
-00013e11: mem := mem with [RSP, el]:u64 <- 0x180001423
-00013e13: call @sub_180001127 with return %00013e15
-
-00013e15:
-00013e19: RDX := 0x180006330
-00013e1f: RCX := 0x180006220
-00013e2a: RSP := RSP - 8
-00013e2f: mem := mem with [RSP, el]:u64 <- 0x180001436
-00013e31: call @sub_18000275e with return %00013e33
-
-00013e33:
-00013e43: #12582241 := low:32[RAX]
-00013e59: ZF := 0 = #12582241
-00013e5f: when ~ZF goto %00013c5d
-00019561: goto %00013e63
-
-00013e63:
-00013e6c: RSP := RSP - 8
-00013e71: mem := mem with [RSP, el]:u64 <- 0x18000143F
-00013e73: call @sub_18000113b with return %00013e75
-
-00013e75:
-00013e85: #12582239 := low:8[RAX]
-00013e9b: ZF := 0 = #12582239
-00013ea1: when ZF goto %00013c5d
-00019560: goto %00013ea5
-
-00013ea5:
-00013ea9: RDX := 0x180006110
-00013eaf: RCX := 0x180006000
-00013eba: RSP := RSP - 8
-00013ebf: mem := mem with [RSP, el]:u64 <- 0x180001456
-00013ec1: call @sub_180002758 with return %00013ec3
-
-00013ec3:
-00013ec9: mem := mem with [0x1800081B8, el]:u32 <- 2
-00013ed7: RDI := 63:8[RDI].0
-0001955f: goto %00013c5d
-
-00013c5d:
-00013c6b: RCX := high:56[RCX].low:8[RBX]
-00013c76: RSP := RSP - 8
-00013c7b: mem := mem with [RSP, el]:u64 <- 0x18000146A
-00013c7d: call @sub_180001140 with return %00013c7f
-
-00013c7f:
-00013c8f: #12582250 := low:8[RDI]
-00013ca5: ZF := 0 = #12582250
-00013cab: when ~ZF goto %000139d1
-0001955e: goto %00013caf
-
-000139d1:
-000139e1: RAX := 0
-0001955d: goto %000139f5
-
-00013caf:
-00013cb8: RSP := RSP - 8
-00013cbd: mem := mem with [RSP, el]:u64 <- 0x180001474
-00013cbf: call @sub_180001109 with return %00013cc1
-
-00013cc1:
-00013cc7: RBX := RAX
-00013ce5: #12582248 := mem[RAX, el]:u64
-00013d05: ZF := 0 = #12582248
-00013d0c: when ZF goto %00013d09
-0001955c: goto %00013d53
-
-00013d53:
-00013d59: RCX := RAX
-00013d64: RSP := RSP - 8
-00013d69: mem := mem with [RSP, el]:u64 <- 0x180001485
-00013d6b: call @sub_18000108c with return %00013d6d
-
-00013d6d:
-00013d7d: #12582244 := low:8[RAX]
-00013d93: ZF := 0 = #12582244
-00013d99: when ZF goto %00013d09
-0001955b: goto %00013d9d
-
-00013d9d:
-00013da3: R8 := RSI
-00013da9: RDX := 2
-00013db1: RCX := R14
-00013dbb: RAX := mem[RBX, el]:u64
-00013dc3: R9 := mem[0x18000B020, el]:u64
-00013dd1: #12582242 := R9
-00013dd5: RSP := RSP - 8
-00013dda: mem := mem with [RSP, el]:u64 <- 0x1800014A1
-00013ddd: call #12582242 with return %00013d09
-
-00013d09:
-00013d2d: mem :=
+00013bf6:
+00013bf8: call @interrupt:#3 with noreturn
+
+00013bfa:
+00013bfc: call @interrupt:#3 with noreturn
+
+00013bfe:
+00013c00: call @interrupt:#3 with noreturn
+
+00013c02:
+00013c04: call @interrupt:#3 with noreturn
+
+00013c06:
+00013c08: call @interrupt:#3 with noreturn
+
+00013c0a:
+00013c0c: call @interrupt:#3 with noreturn
+000195c4: call @sub_180001514 with noreturn
+
+00013c7a:
+00013c80: mem := mem with [0x1800081B8, el]:u32 <- 1
+00013c8b: RSP := RSP - 8
+00013c90: mem := mem with [RSP, el]:u64 <- 0x18000140C
+00013c92: call @sub_180001019 with return %00013c94
+
+00013c94:
+00013ca4: #12582252 := low:8[RAX]
+00013ca7: OF := 0
+00013caa: CF := 0
+00013cad: AF := unknown[bits]:u1
+00013cb2: PF :=
+          ~low:1[let $0 = #12582252 >> 4 ^ #12582252 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013cb6: SF := high:1[#12582252]
+00013cba: ZF := 0 = #12582252
+00013cc1: when ZF goto %00013cbe
+000195c3: goto %00013e40
+
+00013e40:
+00013e49: RSP := RSP - 8
+00013e4e: mem := mem with [RSP, el]:u64 <- 0x180001415
+00013e50: call @sub_1800010cd with return %00013e52
+
+00013e52:
+00013e5b: RSP := RSP - 8
+00013e60: mem := mem with [RSP, el]:u64 <- 0x18000141A
+00013e62: call @sub_180001041 with return %00013e64
+
+00013e64:
+00013e6d: RSP := RSP - 8
+00013e72: mem := mem with [RSP, el]:u64 <- 0x18000141F
+00013e74: call @sub_180001127 with return %00013e76
+
+00013e76:
+00013e7a: RDX := 0x180006330
+00013e80: RCX := 0x180006220
+00013e8b: RSP := RSP - 8
+00013e90: mem := mem with [RSP, el]:u64 <- 0x180001432
+00013e92: call @sub_18000275e with return %00013e94
+
+00013e94:
+00013ea4: #12582241 := low:32[RAX]
+00013ea7: OF := 0
+00013eaa: CF := 0
+00013ead: AF := unknown[bits]:u1
+00013eb2: PF :=
+          ~low:1[let $0 = #12582241 >> 4 ^ #12582241 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013eb6: SF := high:1[#12582241]
+00013eba: ZF := 0 = #12582241
+00013ec0: when ~ZF goto %00013cbe
+000195c2: goto %00013ec4
+
+00013ec4:
+00013ecd: RSP := RSP - 8
+00013ed2: mem := mem with [RSP, el]:u64 <- 0x18000143B
+00013ed4: call @sub_18000113b with return %00013ed6
+
+00013ed6:
+00013ee6: #12582239 := low:8[RAX]
+00013ee9: OF := 0
+00013eec: CF := 0
+00013eef: AF := unknown[bits]:u1
+00013ef4: PF :=
+          ~low:1[let $0 = #12582239 >> 4 ^ #12582239 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013ef8: SF := high:1[#12582239]
+00013efc: ZF := 0 = #12582239
+00013f02: when ZF goto %00013cbe
+000195c1: goto %00013f06
+
+00013f06:
+00013f0a: RDX := 0x180006110
+00013f10: RCX := 0x180006000
+00013f1b: RSP := RSP - 8
+00013f20: mem := mem with [RSP, el]:u64 <- 0x180001452
+00013f22: call @sub_180002758 with return %00013f24
+
+00013f24:
+00013f2a: mem := mem with [0x1800081B8, el]:u32 <- 2
+00013f38: RDI := 63:8[RDI].0
+00013f3b: AF := unknown[bits]:u1
+00013f3e: ZF := 1
+00013f41: PF := 1
+00013f44: OF := 0
+00013f47: CF := 0
+00013f4a: SF := 0
+000195c0: goto %00013cbe
+
+00013cbe:
+00013ccc: RCX := high:56[RCX].low:8[RBX]
+00013cd7: RSP := RSP - 8
+00013cdc: mem := mem with [RSP, el]:u64 <- 0x180001466
+00013cde: call @sub_180001140 with return %00013ce0
+
+00013ce0:
+00013cf0: #12582250 := low:8[RDI]
+00013cf3: OF := 0
+00013cf6: CF := 0
+00013cf9: AF := unknown[bits]:u1
+00013cfe: PF :=
+          ~low:1[let $0 = #12582250 >> 4 ^ #12582250 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013d02: SF := high:1[#12582250]
+00013d06: ZF := 0 = #12582250
+00013d0c: when ~ZF goto %00013a32
+000195bf: goto %00013d10
+
+00013a32:
+00013a42: RAX := 0
+00013a45: AF := unknown[bits]:u1
+00013a48: ZF := 1
+00013a4b: PF := 1
+00013a4e: OF := 0
+00013a51: CF := 0
+00013a54: SF := 0
+000195be: goto %00013a56
+
+00013d10:
+00013d19: RSP := RSP - 8
+00013d1e: mem := mem with [RSP, el]:u64 <- 0x180001470
+00013d20: call @sub_180001109 with return %00013d22
+
+00013d22:
+00013d28: RBX := RAX
+00013d46: #12582248 := mem[RAX, el]:u64
+00013d4b: CF := mem[RAX, el]:u64 < 0
+00013d53: OF := high:1[mem[RAX, el]:u64 & (mem[RAX, el]:u64 ^ #12582248)]
+00013d59: AF := 0x10 = (0x10 & (#12582248 ^ mem[RAX, el]:u64))
+00013d5e: PF :=
+          ~low:1[let $0 = #12582248 >> 4 ^ #12582248 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013d62: SF := high:1[#12582248]
+00013d66: ZF := 0 = #12582248
+00013d6d: when ZF goto %00013d6a
+
+00013db4:
+00013dba: RCX := RAX
+00013dc5: RSP := RSP - 8
+00013dca: mem := mem with [RSP, el]:u64 <- 0x180001481
+00013dcc: call @sub_18000108c with return %00013dce
+
+00013dce:
+00013dde: #12582244 := low:8[RAX]
+00013de1: OF := 0
+00013de4: CF := 0
+00013de7: AF := unknown[bits]:u1
+00013dec: PF :=
+          ~low:1[let $0 = #12582244 >> 4 ^ #12582244 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013df0: SF := high:1[#12582244]
+00013df4: ZF := 0 = #12582244
+00013dfa: when ZF goto %00013d6a
+000195bc: goto %00013dfe
+
+00013dfe:
+00013e04: R8 := RSI
+00013e0a: RDX := 2
+00013e12: RCX := R14
+00013e1c: RAX := mem[RBX, el]:u64
+00013e24: R9 := mem[0x18000B020, el]:u64
+00013e32: #12582242 := R9
+00013e36: RSP := RSP - 8
+00013e3b: mem := mem with [RSP, el]:u64 <- 0x18000149D
+00013e3e: call #12582242 with return %00013d6a
+
+00013d6a:
+00013d89: #12582246 := mem[0x180008170, el]:u32
+00013d8e: mem :=
           mem with [0x180008170, el]:u32 <- mem[0x180008170, el]:u32 + 1
-00013d4d: RAX := 1
-00013d51: goto %000139f5
-
-000139f5:
-000139fd: RBX := mem[RSP + 0x30, el]:u64
-00013a07: RSI := mem[RSP + 0x38, el]:u64
-00013a11: RDI := mem[RSP + 0x48, el]:u64
-00013a32: RSP := RSP + 0x20
-00013a5d: R14 := mem[RSP, el]:u64
-00013a61: RSP := RSP + 8
-00013a6e: #12582255 := mem[RSP, el]:u64
-00013a72: RSP := RSP + 8
-00013a75: call #12582255 with noreturn
-
-00013f79:
-00013f95: RDX := pad:64[low:32[RDX] - 1]
-00013fb1: ZF := 0 = low:32[RDX]
-00013fb8: when ZF goto %00013fb5
-0001955a: goto %00014029
-
-00013fb5:
-00013fc4: RSP := RSP - 8
-00013fc9: mem := mem with [RSP, el]:u64 <- 0x180001385
-00013fcb: call @sub_18000111d with return %00013fcd
-
-00014029:
-0001403f: #12582224 := low:32[RDX] - 1
-0001405b: ZF := 0 = #12582224
-00014062: when ZF goto %0001405f
-00019559: goto %0001407b
-
-0001405f:
-0001406e: RSP := RSP - 8
-00014073: mem := mem with [RSP, el]:u64 <- 0x18000137E
-00014075: call @sub_180001177 with return %00014077
-
-00014077:
-00014079: goto %00013fcd
-
-00013fcd:
-00013fd3: RAX := pad:64[low:8[RAX]]
-00013ff4: RSP := RSP + 0x28
-00014020: #12582225 := mem[RSP, el]:u64
-00014024: RSP := RSP + 8
-00014027: call #12582225 with noreturn
-
-0001407b:
-0001407f: RAX := 1
-000140a0: RSP := RSP + 0x28
-000140cc: #12582219 := mem[RSP, el]:u64
-000140d0: RSP := RSP + 8
-000140d3: call #12582219 with noreturn
-
-00019568: sub sub_180001518(sub_180001518_result)
-000195c3: 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
-0001956c: goto %00013883
-
-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
-0001956b: 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
-
-00012d49:
-00012d4b: call @interrupt:#3 with noreturn
-
-00012d4d:
-00012d4f: call @interrupt:#3 with noreturn
-
-00012d51:
-00012d53: call @interrupt:#3 with noreturn
-
-00012d55:
-00012d57: call @interrupt:#3 with noreturn
-
-00012d59:
-00012d5b: call @interrupt:#3 with noreturn
-
-00012d5d:
-00012d5f: call @interrupt:#3 with noreturn
-
-00012d61:
-00012d63: call @interrupt:#3 with noreturn
+00013d96: OF := ~high:1[#12582246] &
+          (high:1[#12582246] | high:1[mem[0x180008170, el]:u32]) &
+          ~(high:1[#12582246] & high:1[mem[0x180008170, el]:u32])
+00013d9b: AF := 0x10 = (0x10 & (mem[0x180008170, el]:u32 ^ #12582246 ^ 1))
+00013da0: PF :=
+          ~low:1[let $0 = mem[0x180008170, el]:u32 >> 4 ^
+                 mem[0x180008170, el]:u32 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013da4: SF := high:1[mem[0x180008170, el]:u32]
+00013da8: ZF := 0 = mem[0x180008170, el]:u32
+00013dae: RAX := 1
+00013db2: goto %00013a56
+
+00013a56:
+00013a5e: RBX := mem[RSP + 0x30, el]:u64
+00013a68: RSI := mem[RSP + 0x38, el]:u64
+00013a72: RDI := mem[RSP + 0x48, el]:u64
+00013a8f: #12582258 := RSP
+00013a93: RSP := RSP + 0x20
+00013a98: CF := RSP < #12582258
+00013aa0: OF := ~high:1[#12582258] & (high:1[#12582258] | high:1[RSP]) &
+          ~(high:1[#12582258] & high:1[RSP])
+00013aa5: AF := 0x10 = (0x10 & (RSP ^ #12582258 ^ 0x20))
+00013aaa: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013aae: SF := high:1[RSP]
+00013ab2: ZF := 0 = RSP
+00013abe: R14 := mem[RSP, el]:u64
+00013ac2: RSP := RSP + 8
+00013acf: #12582255 := mem[RSP, el]:u64
+00013ad3: RSP := RSP + 8
+00013ad6: call #12582255 with noreturn
+
+00013fda:
+00013ff2: #12582231 := low:32[RDX]
+00013ff6: RDX := pad:64[low:32[RDX] - 1]
+00013ffa: CF := #12582231 < 1
+00014000: OF := high:1[(#12582231 ^ 1) & (#12582231 ^ low:32[RDX])]
+00014005: AF := 0x10 = (0x10 & (low:32[RDX] ^ #12582231 ^ 1))
+0001400a: PF :=
+          ~low:1[let $0 = low:32[RDX] >> 4 ^ low:32[RDX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001400e: SF := high:1[low:32[RDX]]
+00014012: ZF := 0 = low:32[RDX]
+00014019: when ZF goto %00014016
+000195bb: goto %0001408a
+
+00014016:
+00014025: RSP := RSP - 8
+0001402a: mem := mem with [RSP, el]:u64 <- 0x180001381
+0001402c: call @sub_18000111d with return %0001402e
+
+0001408a:
+000140a0: #12582224 := low:32[RDX] - 1
+000140a4: CF := low:32[RDX] < 1
+000140aa: OF := high:1[(low:32[RDX] ^ 1) & (low:32[RDX] ^ #12582224)]
+000140af: AF := 0x10 = (0x10 & (#12582224 ^ low:32[RDX] ^ 1))
+000140b4: PF :=
+          ~low:1[let $0 = #12582224 >> 4 ^ #12582224 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000140b8: SF := high:1[#12582224]
+000140bc: ZF := 0 = #12582224
+000140c3: when ZF goto %000140c0
+000195ba: goto %000140dc
+
+000140c0:
+000140cf: RSP := RSP - 8
+000140d4: mem := mem with [RSP, el]:u64 <- 0x18000137A
+000140d6: call @sub_180001177 with return %000140d8
+
+000140d8:
+000140da: goto %0001402e
+
+0001402e:
+00014034: RAX := pad:64[low:8[RAX]]
+00014051: #12582228 := RSP
+00014055: RSP := RSP + 0x28
+0001405a: CF := RSP < #12582228
+00014062: OF := ~high:1[#12582228] & (high:1[#12582228] | high:1[RSP]) &
+          ~(high:1[#12582228] & high:1[RSP])
+00014067: AF := 0x10 = (0x10 & (RSP ^ #12582228 ^ 0x28))
+0001406c: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00014070: SF := high:1[RSP]
+00014074: ZF := 0 = RSP
+00014081: #12582225 := mem[RSP, el]:u64
+00014085: RSP := RSP + 8
+00014088: call #12582225 with noreturn
+
+000140dc:
+000140e0: RAX := 1
+000140fd: #12582222 := RSP
+00014101: RSP := RSP + 0x28
+00014106: CF := RSP < #12582222
+0001410e: OF := ~high:1[#12582222] & (high:1[#12582222] | high:1[RSP]) &
+          ~(high:1[#12582222] & high:1[RSP])
+00014113: AF := 0x10 = (0x10 & (RSP ^ #12582222 ^ 0x28))
+00014118: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001411c: SF := high:1[RSP]
+00014120: ZF := 0 = RSP
+0001412d: #12582219 := mem[RSP, el]:u64
+00014131: RSP := RSP + 8
+00014134: call #12582219 with noreturn
+
+000195c9: sub sub_180001514(sub_180001514_result)
+00019624: 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
+000195cd: goto %000138e4
+
+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
+000195cc: 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
 
 00012d65:
-00012d67: call @interrupt:#3 with noreturn
-
-00012d69:
 00012d6b: call @interrupt:#3 with noreturn
 
 00012d6d:
@@ -2196,509 +2398,750 @@
 00012d9b: call @interrupt:#3 with noreturn
 
 00012d9d:
-00012da7: RSP := RSP - 8
-00012dac: mem := mem with [RSP, el]:u64 <- 0x18000155D
-00012dae: call @sub_180001181 with return %00013511
-
-00013511:
-0001351a: RSP := RSP - 8
-0001351f: mem := mem with [RSP, el]:u64 <- 0x180001562
-00013521: call @sub_18000110e with return %00013523
-
-00013523:
-0001352c: RSP := RSP - 8
-00013531: mem := mem with [RSP, el]:u64 <- 0x180001567
-00013533: call @sub_1800010d7 with return %00013535
-
-00013535:
-00013545: mem := mem with [0x1800081B8, el]:u32 <- 0
-00013565: RCX := high:56[RCX].low:8[RBX]
-00013570: RSP := RSP - 8
-00013575: mem := mem with [RSP, el]:u64 <- 0x180001575
-00013577: call @sub_180001140 with return %00013579
-
-00013579:
-00013583: RDX := 0
-0001359f: RCX := high:56[RCX].low:8[RDI]
-000135ab: RSP := RSP - 8
-000135b0: mem := mem with [RSP, el]:u64 <- 0x18000157F
-000135b2: call @sub_180001082 with return %00013745
-
-00013745:
-0001375c: #12582274 := low:8[RAX]
-00013761: RAX := 63:8[RAX].-low:8[RAX]
-00013765: CF := #12582274 <> 0
-000137a0: #12582272 := low:32[RBX]
-000137a4: #12582271 := low:32[RBX]
-000137aa: RBX := pad:64[#12582271 - #12582272 + pad:32[CF]]
-000137df: RBX := pad:64[low:32[RBX] & 1]
-00013800: RSP := RSP - 8
-00013805: mem := mem with [RSP, el]:u64 <- 0x18000158B
-00013807: call @sub_180001118 with return %00013809
-
-00013809:
-0001380f: RAX := pad:64[low:32[RBX]]
-00013814: goto %00013812
-
-00013883:
-0001388d: RAX := 0
-00019569: goto %00013812
-
-00013812:
-0001381d: RBX := mem[RSP + 0x40, el]:u64
-0001383e: RSP := RSP + 0x30
-00013869: RDI := mem[RSP, el]:u64
-0001386d: RSP := RSP + 8
-0001387a: #12582265 := mem[RSP, el]:u64
-0001387e: RSP := RSP + 8
-00013881: call #12582265 with noreturn
-
-0001956d: sub sub_1800015c0(sub_1800015c0_result)
-000195c4: 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
-0001957c: goto %000190c9
-
-000190c9:
-000190e4: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX]
-000190f0: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) &
+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
+000195cb: call @sub_1800015bc with noreturn
+
+00012dfd:
+00012e07: RSP := RSP - 8
+00012e0c: mem := mem with [RSP, el]:u64 <- 0x180001559
+00012e0e: call @sub_180001181 with return %00013572
+
+00013572:
+0001357b: RSP := RSP - 8
+00013580: mem := mem with [RSP, el]:u64 <- 0x18000155E
+00013582: call @sub_18000110e with return %00013584
+
+00013584:
+0001358d: RSP := RSP - 8
+00013592: mem := mem with [RSP, el]:u64 <- 0x180001563
+00013594: call @sub_1800010d7 with return %00013596
+
+00013596:
+000135a6: mem := mem with [0x1800081B8, el]:u32 <- 0
+000135a9: OF := 0
+000135ac: CF := 0
+000135af: AF := unknown[bits]:u1
+000135b4: PF :=
+          ~low:1[let $0 = mem[0x1800081B8, el]:u32 >> 4 ^
+                 mem[0x1800081B8, el]:u32 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000135b8: SF := high:1[mem[0x1800081B8, el]:u32]
+000135bc: ZF := 0 = mem[0x1800081B8, el]:u32
+000135c6: RCX := high:56[RCX].low:8[RBX]
+000135d1: RSP := RSP - 8
+000135d6: mem := mem with [RSP, el]:u64 <- 0x180001571
+000135d8: call @sub_180001140 with return %000135da
+
+000135da:
+000135e4: RDX := 0
+000135e7: AF := unknown[bits]:u1
+000135ea: ZF := 1
+000135ed: PF := 1
+000135f0: OF := 0
+000135f3: CF := 0
+000135f6: SF := 0
+00013600: RCX := high:56[RCX].low:8[RDI]
+0001360c: RSP := RSP - 8
+00013611: mem := mem with [RSP, el]:u64 <- 0x18000157B
+00013613: call @sub_180001082 with return %000137a6
+
+000137a6:
+000137bd: #12582274 := low:8[RAX]
+000137c2: RAX := 63:8[RAX].-low:8[RAX]
+000137c6: CF := #12582274 <> 0
+000137ca: OF := #12582274 = 0x80
+000137cf: AF := 0x10 = (0x10 & (low:8[RAX] ^ #12582274))
+000137d4: PF :=
+          ~low:1[let $0 = low:8[RAX] >> 4 ^ low:8[RAX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000137d8: SF := high:1[low:8[RAX]]
+000137dc: ZF := 0 = low:8[RAX]
+00013801: #12582272 := low:32[RBX]
+00013805: #12582271 := low:32[RBX]
+00013812: OF := high:1[(#12582272 ^ #12582271) & (#12582271 ^ low:32[RBX])]
+0001381b: CF := #12582271 < #12582272 + pad:32[CF] | #12582272 + pad:32[CF] <
+          #12582272
+00013821: AF := 0x10 = (0x10 & (low:32[RBX] ^ #12582272 ^ #12582271))
+00013826: PF :=
+          ~low:1[let $0 = low:32[RBX] >> 4 ^ low:32[RBX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001382a: SF := high:1[low:32[RBX]]
+0001382e: ZF := 0 = low:32[RBX]
+00013840: RBX := pad:64[low:32[RBX] & 1]
+00013843: OF := 0
+00013846: CF := 0
+00013849: AF := unknown[bits]:u1
+0001384e: PF :=
+          ~low:1[let $0 = low:32[RBX] >> 4 ^ low:32[RBX] in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00013852: SF := high:1[low:32[RBX]]
+00013856: ZF := 0 = low:32[RBX]
+00013861: RSP := RSP - 8
+00013866: mem := mem with [RSP, el]:u64 <- 0x180001587
+00013868: call @sub_180001118 with return %0001386a
+
+0001386a:
+00013870: RAX := pad:64[low:32[RBX]]
+00013875: goto %00013873
+
+000138e4:
+000138ee: RAX := 0
+000138f1: AF := unknown[bits]:u1
+000138f4: ZF := 1
+000138f7: PF := 1
+000138fa: OF := 0
+000138fd: CF := 0
+00013900: SF := 0
+000195ca: goto %00013873
+
+00013873:
+0001387e: RBX := mem[RSP + 0x40, el]:u64
+0001389b: #12582268 := RSP
+0001389f: RSP := RSP + 0x30
+000138a4: CF := RSP < #12582268
+000138ac: OF := ~high:1[#12582268] & (high:1[#12582268] | high:1[RSP]) &
+          ~(high:1[#12582268] & high:1[RSP])
+000138b1: AF := 0x10 = (0x10 & (RSP ^ #12582268 ^ 0x30))
+000138b6: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000138ba: SF := high:1[RSP]
+000138be: ZF := 0 = RSP
+000138ca: RDI := mem[RSP, el]:u64
+000138ce: RSP := RSP + 8
+000138db: #12582265 := mem[RSP, el]:u64
+000138df: RSP := RSP + 8
+000138e2: call #12582265 with noreturn
+
+000195ce: sub sub_1800015bc(sub_1800015bc_result)
+00019625: 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
+000195dd: goto %0001912a
+
+0001912a:
+00019145: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX]
+0001914a: CF := mem[0x180008170, el]:u32 < low:32[RDX]
+00019151: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) &
           (mem[0x180008170, el]:u32 ^ #12582123)]
-000190ff: SF := high:1[#12582123]
-00019103: ZF := 0 = #12582123
-00019111: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c2e
-0001957b: goto %00019115
-
-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
-0001957a: goto %00018fb7
-
-00018fb7:
-00018fbd: RAX := mem[0x180006880, el]:u64
-00018fcf: #12582130 := RAX
-00018fe5: ZF := 0 = #12582130
-00018fec: when ~ZF goto %00018fe9
-00019579: goto %000190bb
-
-00018fe9:
-00018ffb: #12582128 := mem[0x18000B020, el]:u64
-00018fff: RSP := RSP - 8
-00019004: mem := mem with [RSP, el]:u64 <- 0x180001619
-00019007: call #12582128 with return %00019009
-
-00019009:
-0001900f: RBX := pad:64[low:32[RAX]]
-0001901b: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-0001902d: #12582127 := low:32[RAX]
-00019043: ZF := 0 = #12582127
-00019049: when ZF goto %00018b37
-00019578: goto %0001904d
-
-000190bb:
-000190c3: mem := mem with [RSP + 0x30, el]:u32 <- 1
-000190c7: goto %0001904d
-
-0001904d:
-00019053: R8 := RSI
-0001905b: RDX := pad:64[low:32[RDI]]
-00019063: RCX := R14
-0001906e: RSP := RSP - 8
-00019073: mem := mem with [RSP, el]:u64 <- 0x180001634
-00019075: call @sub_180001358 with return %00019077
-
-00019077:
-0001907d: RBX := pad:64[low:32[RAX]]
-00019089: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-0001909b: #12582125 := low:32[RAX]
-000190b1: ZF := 0 = #12582125
-000190b7: when ZF goto %00018b37
-00019577: 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 %00018a4f
-
-00018a4f:
-00018a55: RBX := pad:64[low:32[RAX]]
-00018a61: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00018a79: #12582155 := low:32[RDI] - 1
-00018a95: ZF := 0 = #12582155
-00018a9c: when ~ZF goto %00018a99
-00019576: goto %00018e83
-
-00018e83:
-00018e93: #12582137 := low:32[RAX]
-00018ea9: ZF := 0 = #12582137
-00018eaf: when ~ZF goto %00018a99
-00019575: goto %00018eb3
-
-00018eb3:
-00018eb9: R8 := RSI
-00018ec5: RDX := 0
-00018edf: RCX := R14
-00018eea: RSP := RSP - 8
-00018eef: mem := mem with [RSP, el]:u64 <- 0x18000166B
-00018ef1: call @sub_1800010b4 with return %00018ef3
-
-00018ef3:
-00018f03: #12582135 := RSI
-00018f19: ZF := 0 = #12582135
-00018f23: RCX := 63:8[RCX].pad:8[~ZF]
-00018f2e: RSP := RSP - 8
-00018f33: mem := mem with [RSP, el]:u64 <- 0x180001676
-00018f35: call @sub_180001518 with return %00018f37
-
-00018f37:
-00018f3d: RAX := mem[0x180006880, el]:u64
-00018f4f: #12582133 := RAX
-00018f65: ZF := 0 = #12582133
-00018f6b: when ZF goto %00018a99
-00019574: goto %00018f6f
-
-00018f6f:
-00018f75: R8 := RSI
-00018f81: RDX := 0
-00018f9b: RCX := R14
-00018fa9: #12582131 := mem[0x18000B020, el]:u64
-00018fad: RSP := RSP - 8
-00018fb2: mem := mem with [RSP, el]:u64 <- 0x180001690
-00018fb5: call #12582131 with return %00018a99
-
-00018a99:
-00018aaf: #12582153 := low:32[RDI]
-00018ac5: ZF := 0 = #12582153
-00018acc: when ZF goto %00018ac9
-00019573: goto %00018e47
-
-00018e47:
-00018e5d: #12582139 := low:32[RDI] - 3
-00018e79: ZF := 0 = #12582139
-00018e7f: when ~ZF goto %00018b37
-00019572: goto %00018ac9
-
-00018ac9:
-00018ad5: R8 := RSI
-00018add: RDX := pad:64[low:32[RDI]]
-00018ae5: RCX := R14
-00018af0: RSP := RSP - 8
-00018af5: mem := mem with [RSP, el]:u64 <- 0x1800016A6
-00018af7: call @sub_180001358 with return %00018af9
-
-00018af9:
-00018aff: RBX := pad:64[low:32[RAX]]
-00018b0b: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00018b1d: #12582151 := low:32[RAX]
-00018b33: ZF := 0 = #12582151
-00018b3a: when ZF goto %00018b37
-00019571: goto %00018db1
-
-00018db1:
-00018db7: RAX := mem[0x180006880, el]:u64
-00018dc9: #12582142 := RAX
-00018ddf: ZF := 0 = #12582142
-00018de6: when ~ZF goto %00018de3
-00019570: goto %00018e2f
-
-00018de3:
-00018def: R8 := RSI
-00018df7: RDX := pad:64[low:32[RDI]]
-00018dff: RCX := R14
-00018e0d: #12582140 := mem[0x18000B020, el]:u64
-00018e11: RSP := RSP - 8
-00018e16: mem := mem with [RSP, el]:u64 <- 0x1800016D3
-00018e19: call #12582140 with return %00018e1b
-
-00018e1b:
-00018e21: RBX := pad:64[low:32[RAX]]
-00018e2d: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-0001956f: goto %00018b37
-
-00018e2f:
-00018e35: RBX := pad:64[low:32[RAX + 1]]
-00018e41: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX]
-00018e45: goto %00018b37
-
-00018b37:
-00018b40: goto %00018b3e
-
-00018b3e:
-00018b47: RAX := pad:64[low:32[RBX]]
-0001956e: goto %00018b49
-
-00019115:
-0001911f: RAX := 0
-00019135: goto %00018b49
-
-00018b49:
-00018b51: RBX := mem[RSP + 0x78, el]:u64
-00018b72: RSP := RSP + 0x40
-00018b9d: R14 := mem[RSP, el]:u64
-00018ba1: RSP := RSP + 8
-00018bad: RDI := mem[RSP, el]:u64
-00018bb1: RSP := RSP + 8
-00018bbd: RSI := mem[RSP, el]:u64
-00018bc1: RSP := RSP + 8
-00018bce: #12582146 := mem[RSP, el]:u64
-00018bd2: RSP := RSP + 8
-00018bd5: call #12582146 with noreturn
-
-0001957d: sub sub_180001d3c(sub_180001d3c_result)
-000195c5: 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
-00019587: 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
-00019586: goto %0000d8fd
-
-0000d8fd:
-0000d901: RAX := 0x20B
-0000d924: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B
-0000d947: ZF := 0 = #12582849
-0000d94d: when ~ZF goto %0000d71f
-00019585: 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)
-00019584: goto %0000da4d
-
-0000da4d:
-0000da57: mem := mem with [RSP, el]:u64 <- RDX
-0000da74: #12582838 := RDX - R9
-0000da93: ZF := 0 = #12582838
-0000da9a: when ZF goto %0000da97
-00019583: goto %0000db8b
-
-0000da97:
-0000daa7: RDX := 0
-00019582: goto %0000dabb
-
-0000db8b:
-0000db93: RCX := pad:64[mem[RDX + 0xC, el]:u32]
-0000dbb5: CF := R8 < RCX
-0000dbd6: when CF goto %0000dbd3
-00019581: 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
-00019580: goto %0000dbd3
-
-0000dabb:
-0000dacb: #12582836 := RDX
-0000dae1: ZF := 0 = #12582836
-0000dae8: when ~ZF goto %0000dae5
-0001957f: goto %0000db67
-
-0000dae5:
-0000db07: #12582834 := mem[RDX + 0x24, el]:u32
-0000db14: OF := high:1[mem[RDX + 0x24, el]:u32 &
+00019157: AF := 0x10 =
+          (0x10 & (#12582123 ^ mem[0x180008170, el]:u32 ^ low:32[RDX]))
+0001915c: PF :=
+          ~low:1[let $0 = #12582123 >> 4 ^ #12582123 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00019160: SF := high:1[#12582123]
+00019164: ZF := 0 = #12582123
+00019172: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c3e
+000195dc: goto %00019176
+
+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
+000195db: goto %00019018
+
+00019018:
+0001901e: RAX := mem[0x180006880, el]:u64
+00019030: #12582130 := RAX
+00019033: OF := 0
+00019036: CF := 0
+00019039: AF := unknown[bits]:u1
+0001903e: PF :=
+          ~low:1[let $0 = #12582130 >> 4 ^ #12582130 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00019042: SF := high:1[#12582130]
+00019046: ZF := 0 = #12582130
+0001904d: when ~ZF goto %0001904a
+000195da: goto %0001911c
+
+0001904a:
+0001905c: #12582128 := mem[0x18000B020, el]:u64
+00019060: RSP := RSP - 8
+00019065: mem := mem with [RSP, el]:u64 <- 0x180001615
+00019068: call #12582128 with return %0001906a
+
+0001906a:
+00019070: RBX := pad:64[low:32[RAX]]
+0001907c: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+0001908e: #12582127 := low:32[RAX]
+00019091: OF := 0
+00019094: CF := 0
+00019097: AF := unknown[bits]:u1
+0001909c: PF :=
+          ~low:1[let $0 = #12582127 >> 4 ^ #12582127 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+000190a0: SF := high:1[#12582127]
+000190a4: ZF := 0 = #12582127
+000190aa: when ZF goto %00018b98
+000195d9: goto %000190ae
+
+0001911c:
+00019124: mem := mem with [RSP + 0x30, el]:u32 <- 1
+00019128: goto %000190ae
+
+000190ae:
+000190b4: R8 := RSI
+000190bc: RDX := pad:64[low:32[RDI]]
+000190c4: RCX := R14
+000190cf: RSP := RSP - 8
+000190d4: mem := mem with [RSP, el]:u64 <- 0x180001630
+000190d6: call @sub_180001354 with return %000190d8
+
+000190d8:
+000190de: RBX := pad:64[low:32[RAX]]
+000190ea: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+000190fc: #12582125 := low:32[RAX]
+000190ff: OF := 0
+00019102: CF := 0
+00019105: AF := unknown[bits]:u1
+0001910a: PF :=
+          ~low:1[let $0 = #12582125 >> 4 ^ #12582125 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+0001910e: SF := high:1[#12582125]
+00019112: ZF := 0 = #12582125
+00019118: when ZF goto %00018b98
+000195d8: 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 %00018ab0
+
+00018ab0:
+00018ab6: RBX := pad:64[low:32[RAX]]
+00018ac2: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018ada: #12582155 := low:32[RDI] - 1
+00018ade: CF := low:32[RDI] < 1
+00018ae4: OF := high:1[(low:32[RDI] ^ 1) & (low:32[RDI] ^ #12582155)]
+00018ae9: AF := 0x10 = (0x10 & (#12582155 ^ low:32[RDI] ^ 1))
+00018aee: PF :=
+          ~low:1[let $0 = #12582155 >> 4 ^ #12582155 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018af2: SF := high:1[#12582155]
+00018af6: ZF := 0 = #12582155
+00018afd: when ~ZF goto %00018afa
+000195d7: goto %00018ee4
+
+00018ee4:
+00018ef4: #12582137 := low:32[RAX]
+00018ef7: OF := 0
+00018efa: CF := 0
+00018efd: AF := unknown[bits]:u1
+00018f02: PF :=
+          ~low:1[let $0 = #12582137 >> 4 ^ #12582137 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018f06: SF := high:1[#12582137]
+00018f0a: ZF := 0 = #12582137
+00018f10: when ~ZF goto %00018afa
+000195d6: goto %00018f14
+
+00018f14:
+00018f1a: R8 := RSI
+00018f26: RDX := 0
+00018f29: AF := unknown[bits]:u1
+00018f2c: ZF := 1
+00018f2f: PF := 1
+00018f32: OF := 0
+00018f35: CF := 0
+00018f38: SF := 0
+00018f40: RCX := R14
+00018f4b: RSP := RSP - 8
+00018f50: mem := mem with [RSP, el]:u64 <- 0x180001667
+00018f52: call @sub_1800010b4 with return %00018f54
+
+00018f54:
+00018f64: #12582135 := RSI
+00018f67: OF := 0
+00018f6a: CF := 0
+00018f6d: AF := unknown[bits]:u1
+00018f72: PF :=
+          ~low:1[let $0 = #12582135 >> 4 ^ #12582135 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018f76: SF := high:1[#12582135]
+00018f7a: ZF := 0 = #12582135
+00018f84: RCX := 63:8[RCX].pad:8[~ZF]
+00018f8f: RSP := RSP - 8
+00018f94: mem := mem with [RSP, el]:u64 <- 0x180001672
+00018f96: call @sub_180001514 with return %00018f98
+
+00018f98:
+00018f9e: RAX := mem[0x180006880, el]:u64
+00018fb0: #12582133 := RAX
+00018fb3: OF := 0
+00018fb6: CF := 0
+00018fb9: AF := unknown[bits]:u1
+00018fbe: PF :=
+          ~low:1[let $0 = #12582133 >> 4 ^ #12582133 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018fc2: SF := high:1[#12582133]
+00018fc6: ZF := 0 = #12582133
+00018fcc: when ZF goto %00018afa
+000195d5: goto %00018fd0
+
+00018fd0:
+00018fd6: R8 := RSI
+00018fe2: RDX := 0
+00018fe5: AF := unknown[bits]:u1
+00018fe8: ZF := 1
+00018feb: PF := 1
+00018fee: OF := 0
+00018ff1: CF := 0
+00018ff4: SF := 0
+00018ffc: RCX := R14
+0001900a: #12582131 := mem[0x18000B020, el]:u64
+0001900e: RSP := RSP - 8
+00019013: mem := mem with [RSP, el]:u64 <- 0x18000168C
+00019016: call #12582131 with return %00018afa
+
+00018afa:
+00018b10: #12582153 := low:32[RDI]
+00018b13: OF := 0
+00018b16: CF := 0
+00018b19: AF := unknown[bits]:u1
+00018b1e: PF :=
+          ~low:1[let $0 = #12582153 >> 4 ^ #12582153 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018b22: SF := high:1[#12582153]
+00018b26: ZF := 0 = #12582153
+00018b2d: when ZF goto %00018b2a
+000195d4: goto %00018ea8
+
+00018ea8:
+00018ebe: #12582139 := low:32[RDI] - 3
+00018ec2: CF := low:32[RDI] < 3
+00018ec8: OF := high:1[(low:32[RDI] ^ 3) & (low:32[RDI] ^ #12582139)]
+00018ecd: AF := 0x10 = (0x10 & (#12582139 ^ low:32[RDI] ^ 3))
+00018ed2: PF :=
+          ~low:1[let $0 = #12582139 >> 4 ^ #12582139 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018ed6: SF := high:1[#12582139]
+00018eda: ZF := 0 = #12582139
+00018ee0: when ~ZF goto %00018b98
+000195d3: goto %00018b2a
+
+00018b2a:
+00018b36: R8 := RSI
+00018b3e: RDX := pad:64[low:32[RDI]]
+00018b46: RCX := R14
+00018b51: RSP := RSP - 8
+00018b56: mem := mem with [RSP, el]:u64 <- 0x1800016A2
+00018b58: call @sub_180001354 with return %00018b5a
+
+00018b5a:
+00018b60: RBX := pad:64[low:32[RAX]]
+00018b6c: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018b7e: #12582151 := low:32[RAX]
+00018b81: OF := 0
+00018b84: CF := 0
+00018b87: AF := unknown[bits]:u1
+00018b8c: PF :=
+          ~low:1[let $0 = #12582151 >> 4 ^ #12582151 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018b90: SF := high:1[#12582151]
+00018b94: ZF := 0 = #12582151
+00018b9b: when ZF goto %00018b98
+000195d2: goto %00018e12
+
+00018e12:
+00018e18: RAX := mem[0x180006880, el]:u64
+00018e2a: #12582142 := RAX
+00018e2d: OF := 0
+00018e30: CF := 0
+00018e33: AF := unknown[bits]:u1
+00018e38: PF :=
+          ~low:1[let $0 = #12582142 >> 4 ^ #12582142 in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018e3c: SF := high:1[#12582142]
+00018e40: ZF := 0 = #12582142
+00018e47: when ~ZF goto %00018e44
+000195d1: goto %00018e90
+
+00018e44:
+00018e50: R8 := RSI
+00018e58: RDX := pad:64[low:32[RDI]]
+00018e60: RCX := R14
+00018e6e: #12582140 := mem[0x18000B020, el]:u64
+00018e72: RSP := RSP - 8
+00018e77: mem := mem with [RSP, el]:u64 <- 0x1800016CF
+00018e7a: call #12582140 with return %00018e7c
+
+00018e7c:
+00018e82: RBX := pad:64[low:32[RAX]]
+00018e8e: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+000195d0: goto %00018b98
+
+00018e90:
+00018e96: RBX := pad:64[low:32[RAX + 1]]
+00018ea2: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX]
+00018ea6: goto %00018b98
+
+00018b98:
+00018ba1: goto %00018b9f
+
+00018b9f:
+00018ba8: RAX := pad:64[low:32[RBX]]
+000195cf: goto %00018baa
+
+00019176:
+00019180: RAX := 0
+00019183: AF := unknown[bits]:u1
+00019186: ZF := 1
+00019189: PF := 1
+0001918c: OF := 0
+0001918f: CF := 0
+00019192: SF := 0
+00019196: goto %00018baa
+
+00018baa:
+00018bb2: RBX := mem[RSP + 0x78, el]:u64
+00018bcf: #12582149 := RSP
+00018bd3: RSP := RSP + 0x40
+00018bd8: CF := RSP < #12582149
+00018be0: OF := ~high:1[#12582149] & (high:1[#12582149] | high:1[RSP]) &
+          ~(high:1[#12582149] & high:1[RSP])
+00018be5: AF := 0x10 = (0x10 & (RSP ^ #12582149 ^ 0x40))
+00018bea: PF :=
+          ~low:1[let $0 = RSP >> 4 ^ RSP in
+                 let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1]
+00018bee: SF := high:1[RSP]
+00018bf2: ZF := 0 = RSP
+00018bfe: R14 := mem[RSP, el]:u64
+00018c02: RSP := RSP + 8
+00018c0e: RDI := mem[RSP, el]:u64
+00018c12: RSP := RSP + 8
+00018c1e: RSI := mem[RSP, el]:u64
+00018c22: RSP := RSP + 8
+00018c2f: #12582146 := mem[RSP, el]:u64
+00018c33: RSP := RSP + 8
+00018c36: call #12582146 with noreturn
+
+000195de: sub sub_180001d38(sub_180001d38_result)
+00019626: 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
+000195e8: 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
+000195e7: goto %0000d95d
+
+0000d95d:
+0000d961: RAX := 0x20B
+0000d984: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B
+0000d9a7: ZF := 0 = #12582849
+0000d9ad: when ~ZF goto %0000d77f
+000195e6: 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)
+000195e5: goto %0000daad
+
+0000daad:
+0000dab7: mem := mem with [RSP, el]:u64 <- RDX
+0000dad4: #12582838 := RDX - R9
+0000daf3: ZF := 0 = #12582838
+0000dafa: when ZF goto %0000daf7
+000195e4: goto %0000dbeb
+
+0000daf7:
+0000db07: RDX := 0
+000195e3: goto %0000db1b
+
+0000dbeb:
+0000dbf3: RCX := pad:64[mem[RDX + 0xC, el]:u32]
+0000dc15: CF := R8 < RCX
+0000dc36: when CF goto %0000dc33
+000195e2: 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
+000195e1: goto %0000dc33
+
+0000db1b:
+0000db2b: #12582836 := RDX
+0000db41: ZF := 0 = #12582836
+0000db48: when ~ZF goto %0000db45
+000195e0: goto %0000dbc7
+
+0000db45:
+0000db67: #12582834 := mem[RDX + 0x24, el]:u32
+0000db74: OF := high:1[mem[RDX + 0x24, el]:u32 &
           (mem[RDX + 0x24, el]:u32 ^ #12582834)]
-0000db23: SF := high:1[#12582834]
-0000db34: when ~((SF | OF) & ~(SF & OF)) goto %0000db2e
-0001957e: goto %0000db43
+0000db83: SF := high:1[#12582834]
+0000db94: when ~((SF | OF) & ~(SF & OF)) goto %0000db8e
+000195df: goto %0000dba3
 
-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
 
-00019588: sub sub_180002746(sub_180002746_result)
-000195c6: sub_180002746_result :: out u32 = low:32[RAX]
+000195e9: sub sub_180002746(sub_180002746_result)
+00019627: sub_180002746_result :: out u32 = low:32[RAX]
 
-00004dd1:
-00004dd5: call mem[0x18000A0F8, el]:u64 with noreturn
+00004de1:
+00004de5: call mem[0x18000A0F8, el]:u64 with noreturn
+
+000195ea: sub sub_18000274c(sub_18000274c_result)
+00019628: sub_18000274c_result :: out u32 = low:32[RAX]
+
+00004de7:
+00004deb: call mem[0x18000A100, el]:u64 with noreturn
 
-00019589: sub sub_18000274c(sub_18000274c_result)
-000195c7: sub_18000274c_result :: out u32 = low:32[RAX]
+000195eb: sub sub_180002752(sub_180002752_result)
+00019629: sub_180002752_result :: out u32 = low:32[RAX]
 
-00004dd7:
-00004ddb: call mem[0x18000A100, el]:u64 with noreturn
+00004ded:
+00004df1: call mem[0x18000A108, el]:u64 with noreturn
 
-0001958a: sub sub_180002752(sub_180002752_result)
-000195c8: sub_180002752_result :: out u32 = low:32[RAX]
+000195ec: sub sub_180002758(sub_180002758_result)
+0001962a: sub_180002758_result :: out u32 = low:32[RAX]
 
-00004ddd:
-00004de1: call mem[0x18000A108, el]:u64 with noreturn
+00004df3:
+00004df7: call mem[0x18000A1A0, el]:u64 with noreturn
 
-0001958b: sub sub_180002758(sub_180002758_result)
-000195c9: sub_180002758_result :: out u32 = low:32[RAX]
+000195ed: sub sub_18000275e(sub_18000275e_result)
+0001962b: sub_18000275e_result :: out u32 = low:32[RAX]
 
-00004de3:
-00004de7: call mem[0x18000A1A0, el]:u64 with noreturn
+00004df9:
+00004dfd: call mem[0x18000A178, el]:u64 with noreturn
 
-0001958c: sub sub_18000275e(sub_18000275e_result)
-000195ca: sub_18000275e_result :: out u32 = low:32[RAX]
+000195ee: sub sub_18000276a(sub_18000276a_result)
+0001962c: sub_18000276a_result :: out u32 = low:32[RAX]
 
-00004de9:
-00004ded: call mem[0x18000A178, el]:u64 with noreturn
+00004e05:
+00004e09: call mem[0x18000A188, el]:u64 with noreturn
 
-0001958d: sub sub_18000276a(sub_18000276a_result)
-000195cb: sub_18000276a_result :: out u32 = low:32[RAX]
+000195ef: sub sub_180002770(sub_180002770_result)
+0001962d: sub_180002770_result :: out u32 = low:32[RAX]
 
-00004df5:
-00004df9: call mem[0x18000A188, el]:u64 with noreturn
+00004e0b:
+00004e0f: call mem[0x18000A190, el]:u64 with noreturn
 
-0001958e: sub sub_180002770(sub_180002770_result)
-000195cc: sub_180002770_result :: out u32 = low:32[RAX]
+000195f0: sub sub_180002776(sub_180002776_result)
+0001962e: sub_180002776_result :: out u32 = low:32[RAX]
 
-00004dfb:
-00004dff: call mem[0x18000A190, el]:u64 with noreturn
+00004e11:
+00004e15: call mem[0x18000A198, el]:u64 with noreturn
 
-0001958f: sub sub_180002776(sub_180002776_result)
-000195cd: sub_180002776_result :: out u32 = low:32[RAX]
+000195f1: sub sub_18000277c(sub_18000277c_result)
+0001962f: sub_18000277c_result :: out u32 = low:32[RAX]
 
-00004e01:
-00004e05: call mem[0x18000A198, el]:u64 with noreturn
+00004e17:
+00004e1b: call mem[0x18000A1D0, el]:u64 with noreturn
 
-00019590: sub sub_18000277c(sub_18000277c_result)
-000195ce: sub_18000277c_result :: out u32 = low:32[RAX]
+000195f2: sub sub_180002788(sub_180002788_result)
+00019630: sub_180002788_result :: out u32 = low:32[RAX]
 
-00004e07:
-00004e0b: call mem[0x18000A1D0, el]:u64 with noreturn
+00004e23:
+00004e27: call mem[0x18000A1B0, el]:u64 with noreturn
 
-00019591: sub sub_180002788(sub_180002788_result)
-000195cf: sub_180002788_result :: out u32 = low:32[RAX]
+000195f3: sub sub_180002794(sub_180002794_result)
+00019631: sub_180002794_result :: out u32 = low:32[RAX]
 
-00004e13:
-00004e17: call mem[0x18000A1B0, el]:u64 with noreturn
+00004e2f:
+00004e33: call mem[0x18000A1C0, el]:u64 with noreturn
 
-00019592: sub sub_180002794(sub_180002794_result)
-000195d0: sub_180002794_result :: out u32 = low:32[RAX]
+000195f4: sub sub_18000279a(sub_18000279a_result)
+00019632: sub_18000279a_result :: out u32 = low:32[RAX]
 
-00004e1f:
-00004e23: call mem[0x18000A1C0, el]:u64 with noreturn
+00004e35:
+00004e39: call mem[0x18000A1C8, el]:u64 with noreturn
 
-00019593: sub sub_18000279a(sub_18000279a_result)
-000195d1: sub_18000279a_result :: out u32 = low:32[RAX]
+000195f5: sub sub_1800027a0(sub_1800027a0_result)
+00019633: sub_1800027a0_result :: out u32 = low:32[RAX]
 
-00004e25:
-00004e29: call mem[0x18000A1C8, el]:u64 with noreturn
+00004e3b:
+00004e41: RAX := high:56[RAX].1
+00004e4e: #12582883 := mem[RSP, el]:u64
+00004e52: RSP := RSP + 8
+00004e55: call #12582883 with noreturn
 
-00019594: sub sub_1800027a0(sub_1800027a0_result)
-000195d2: sub_1800027a0_result :: out u32 = low:32[RAX]
+000195f6: sub sub_1800027a4(sub_1800027a4_result)
+00019634: sub_1800027a4_result :: out u32 = low:32[RAX]
 
-00004e2b:
-00004e31: RAX := high:56[RAX].1
-00004e3e: #12582883 := mem[RSP, el]:u64
-00004e42: RSP := RSP + 8
-00004e45: call #12582883 with noreturn
+00004e5b:
+00004e61: RAX := high:56[RAX].1
+00004e6e: #12582882 := mem[RSP, el]:u64
+00004e72: RSP := RSP + 8
+00004e75: call #12582882 with noreturn
 
-00019595: sub sub_1800027a4(sub_1800027a4_result)
-000195d3: sub_1800027a4_result :: out u32 = low:32[RAX]
+000195f7: sub sub_1800027a8(sub_1800027a8_result)
+00019635: sub_1800027a8_result :: out u32 = low:32[RAX]
 
-00004e4b:
-00004e51: RAX := high:56[RAX].1
-00004e5e: #12582882 := mem[RSP, el]:u64
-00004e62: RSP := RSP + 8
-00004e65: call #12582882 with noreturn
+00004e7b:
+00004e81: RAX := high:56[RAX].1
+00004e8e: #12582881 := mem[RSP, el]:u64
+00004e92: RSP := RSP + 8
+00004e95: call #12582881 with noreturn
 
-00019596: sub sub_1800027a8(sub_1800027a8_result)
-000195d4: sub_1800027a8_result :: out u32 = low:32[RAX]
+000195f8: sub sub_1800027ac(sub_1800027ac_result)
+00019636: sub_1800027ac_result :: out u32 = low:32[RAX]
 
-00004e6b:
-00004e71: RAX := high:56[RAX].1
-00004e7e: #12582881 := mem[RSP, el]:u64
-00004e82: RSP := RSP + 8
-00004e85: call #12582881 with noreturn
+00004e9b:
+00004ea1: RAX := high:56[RAX].1
+00004eae: #12582880 := mem[RSP, el]:u64
+00004eb2: RSP := RSP + 8
+00004eb5: call #12582880 with noreturn
 
-00019597: sub sub_1800027ac(sub_1800027ac_result)
-000195d5: sub_1800027ac_result :: out u32 = low:32[RAX]
+000195f9: sub sub_1800027b0(sub_1800027b0_result)
+00019637: sub_1800027b0_result :: out u32 = low:32[RAX]
 
-00004e8b:
-00004e91: RAX := high:56[RAX].1
-00004e9e: #12582880 := mem[RSP, el]:u64
-00004ea2: RSP := RSP + 8
-00004ea5: call #12582880 with noreturn
+00004ebb:
+00004ec1: RAX := high:56[RAX].1
+00004ece: #12582879 := mem[RSP, el]:u64
+00004ed2: RSP := RSP + 8
+00004ed5: call #12582879 with noreturn
 
-00019598: sub sub_1800027b0(sub_1800027b0_result)
-000195d6: sub_1800027b0_result :: out u32 = low:32[RAX]
+00010e43: sub intrinsic:x86:lock()
 
-00004eab:
-00004eb1: RAX := high:56[RAX].1
-00004ebe: #12582879 := mem[RSP, el]:u64
-00004ec2: RSP := RSP + 8
-00004ec5: call #12582879 with noreturn
 
-00010de3: sub intrinsic:x86:lock()
+00010e63: sub intrinsic:x86:unlock()
 
 
-00010e03: sub intrinsic:x86:unlock()
+00013513: sub intrinsic:llvm-x86_64:LFENCE()
 
 
-00004d79: sub interrupt:#3(interrupt:#3_result)
-000195d7: interrupt:#3_result :: out u32 = low:32[RAX]
+00004d89: sub interrupt:#3(interrupt:#3_result)
+00019638: interrupt:#3_result :: out u32 = low:32[RAX]
 
-0000f628: sub interrupt:#41(interrupt:#41_result)
-000195d8: interrupt:#41_result :: out u32 = low:32[RAX]
+0000f688: sub interrupt:#41(interrupt:#41_result)
+00019639: interrupt:#41_result :: out u32 = low:32[RAX]