diff --git a/BCB/Cheang et al/Figure 3b/Figure_3b.bir b/BCB/Cheang et al/Figure 3b/Figure_3b.bir
index 880687b25bc2273f8cddf2f2bf0d1b44266cb2aa..24d5065fff73d29b90a7bff591738f4cb41892c8 100644
--- a/BCB/Cheang et al/Figure 3b/Figure_3b.bir	
+++ b/BCB/Cheang et al/Figure 3b/Figure_3b.bir	
@@ -1,15 +1,15 @@
-00019569: program
-0001956a: sub foo(foo_result)
-00019617: foo_result :: out u32 = low:32[RAX]
+00019545: program
+00019546: sub foo(foo_result)
+000195f3: foo_result :: out u32 = low:32[RAX]
 
-000143bb:
-000143bd: goto %0001343b
+00014397:
+00014399: goto %0001343b
 
 0001343b:
-00013441: RAX := pad:64[low:32[RCX]]
-00013463: CF := RAX < mem[0x180008000, el]:u64
+00013441: RAX := pad:64[mem[0x180008223]]
+00013463: CF := low:32[RCX] < low:32[RAX]
 00013484: when ~CF goto %00013481
-0001956b: goto %000134e3
+00019547: goto %000134f7
 
 00013481:
 00013493: RAX := 63:8[RAX].0
@@ -17,55 +17,57 @@
 000134b6: RSP := RSP + 8
 000134b9: call #12582290 with noreturn
 
-000134e3:
-000134e9: RDX := pad:64[mem[0x180008230]]
-00013508: RDX := pad:64[low:32[RDX] << 9]
-0001354a: #12582286 := mem[RDX + 0x180008228]
-00013550: RCX := 63:8[RCX].low:8[RCX] + #12582286
-00013579: RAX := pad:64[low:8[RCX]]
-00013586: #12582284 := mem[RSP, el]:u64
-0001358a: RSP := RSP + 8
-0001358d: call #12582284 with noreturn
-
-0001956c: sub sub_180001005(sub_180001005_result)
-00019618: 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
-0001956d: goto %00019557
-
-00019557:
-00019560: RSP := RSP - 8
-00019565: mem := mem with [RSP, el]:u64 <- 0x180001771
-00019567: 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_1800015a8 with noreturn
-
-0001956e: sub sub_18000100f(sub_18000100f_result)
-00019619: sub_18000100f_result :: out u32 = low:32[RAX]
+000134f7:
+000134ff: RAX := pad:64[low:32[RCX]]
+00013505: RDX := 0x180000000
+00013511: RCX := pad:64[mem[RAX + 0x180008230]]
+00013519: RAX := pad:64[mem[0x180008218]]
+0001352f: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]]
+00013533: RCX := pad:64[low:32[#12582289]]
+00013555: RAX := pad:64[mem[RCX + 0x180008228]]
+00013562: #12582288 := mem[RSP, el]:u64
+00013566: RSP := RSP + 8
+00013569: call #12582288 with noreturn
+
+00019548: sub sub_180001005(sub_180001005_result)
+000195f4: 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
+00019549: goto %00019533
+
+00019533:
+0001953c: RSP := RSP - 8
+00019541: mem := mem with [RSP, el]:u64 <- 0x180001785
+00019543: call @sub_1800010fa with return %00004abc
+
+00004abc:
+00004ac8: R8 := RDI
+00004ad0: RDX := pad:64[low:32[RBX]]
+00004ad8: RCX := RSI
+00004ae2: RBX := mem[RSP + 0x30, el]:u64
+00004aec: RSI := mem[RSP + 0x38, el]:u64
+00004b0d: RSP := RSP + 0x20
+00004b38: RDI := mem[RSP, el]:u64
+00004b3c: RSP := RSP + 8
+00004b41: call @sub_1800015bc with noreturn
+
+0001954a: sub sub_18000100f(sub_18000100f_result)
+000195f5: sub_18000100f_result :: out u32 = low:32[RAX]
 
 000118a5:
 000118b4: goto %000118b2
@@ -76,8 +78,8 @@
 000118ca: RSP := RSP + 8
 000118cd: call #12582417 with noreturn
 
-0001956f: sub sub_180001019(sub_180001019_result)
-0001961a: sub_180001019_result :: out u32 = low:32[RAX]
+0001954b: sub sub_180001019(sub_180001019_result)
+000195f6: sub_180001019_result :: out u32 = low:32[RAX]
 
 0001190d:
 00011910: goto %0001190e
@@ -86,7 +88,7 @@
 0001192d: RSP := RSP - 0x28
 00011955: RCX := 0
 00011972: RSP := RSP - 8
-00011977: mem := mem with [RSP, el]:u64 <- 0x180001AE7
+00011977: mem := mem with [RSP, el]:u64 <- 0x180001AFB
 00011979: call @sub_18000105a with return %0001197b
 
 0001197b:
@@ -98,8 +100,8 @@
 000119fc: RSP := RSP + 8
 000119ff: call #12582407 with noreturn
 
-00019570: sub sub_18000101e(sub_18000101e_result)
-0001961b: sub_18000101e_result :: out u32 = low:32[RAX]
+0001954c: sub sub_18000101e(sub_18000101e_result)
+000195f7: sub_18000101e_result :: out u32 = low:32[RAX]
 
 0001206b:
 0001206d: goto %000118df
@@ -110,26 +112,26 @@
 000118f4: RSP := RSP + 8
 000118f7: call #12582416 with noreturn
 
-00019571: sub sub_18000102d(sub_18000102d_result)
-0001961c: sub_18000102d_result :: out u32 = low:32[RAX]
+0001954d: sub sub_18000102d(sub_18000102d_result)
+000195f8: sub_18000102d_result :: out u32 = low:32[RAX]
 
 00011803:
-00011811: call @sub_180002790 with noreturn
+00011811: call @sub_1800027a0 with noreturn
 
-00019572: sub sub_180001032(sub_180001032_result)
-0001961d: sub_180001032_result :: out u32 = low:32[RAX]
+0001954e: sub sub_180001032(sub_180001032_result)
+000195f9: sub_180001032_result :: out u32 = low:32[RAX]
 
 00011813:
-00011815: goto %00004ecb
+00011815: goto %00004edb
 
-00004ecb:
-00004ed5: RAX := 0
-00004ef4: #12582878 := mem[RSP, el]:u64
-00004ef8: RSP := RSP + 8
-00004efb: call #12582878 with noreturn
+00004edb:
+00004ee5: RAX := 0
+00004f04: #12582878 := mem[RSP, el]:u64
+00004f08: RSP := RSP + 8
+00004f0b: call #12582878 with noreturn
 
-00019573: sub sub_18000103c(sub_18000103c_result)
-0001961e: sub_18000103c_result :: out u32 = low:32[RAX]
+0001954f: sub sub_18000103c(sub_18000103c_result)
+000195fa: sub_18000103c_result :: out u32 = low:32[RAX]
 
 0000dd5b:
 0000dd6a: goto %0000dd68
@@ -143,19 +145,19 @@
 0000ddef: ZF := 0 = #12582815
 0000ddf7: RBX := RCX
 0000ddfe: when ~ZF goto %0000ddfb
-00019574: goto %0000df81
+00019550: goto %0000df81
 
 0000ddfb:
 0000de07: RDX := RBX
 0000de0d: RCX := 0x1800081D0
 0000de18: RSP := RSP - 8
-0000de1d: mem := mem with [RSP, el]:u64 <- 0x180001E71
-0000de1f: call @sub_18000276c with return %0000de21
+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 <- 0x180001E60
-0000df91: call @sub_180002778 with return %0000df93
+0000df8f: mem := mem with [RSP, el]:u64 <- 0x180001E74
+0000df91: call @sub_180002788 with return %0000df93
 
 0000df93:
 0000df95: goto %0000de21
@@ -173,30 +175,30 @@
 0000deda: RSP := RSP + 8
 0000dedd: call #12582808 with noreturn
 
-00019575: sub sub_180001041(sub_180001041_result)
-0001961f: sub_180001041_result :: out u32 = low:32[RAX]
+00019551: sub sub_180001041(sub_180001041_result)
+000195fb: sub_180001041_result :: out u32 = low:32[RAX]
 
 0000df97:
-0000df99: goto %00004d9d
+0000df99: goto %00004dad
 
-00004d9d:
-00004da1: RCX := 0x180008180
-00004da7: call mem[0x18000A028, el]:u64 with noreturn
+00004dad:
+00004db1: RCX := 0x180008180
+00004db7: call mem[0x18000A028, el]:u64 with noreturn
 
-00019576: sub sub_180001046(sub_180001046_result)
-00019620: sub_180001046_result :: out u32 = low:32[RAX]
+00019552: sub sub_180001046(sub_180001046_result)
+000195fc: sub_180001046_result :: out u32 = low:32[RAX]
 
 0000df9b:
-0000df9d: call @sub_18000279c with noreturn
+0000df9d: call @sub_1800027ac with noreturn
 
-00019577: sub sub_180001055(sub_180001055_result)
-00019621: sub_180001055_result :: out u32 = low:32[RAX]
+00019553: sub sub_180001055(sub_180001055_result)
+000195fd: sub_180001055_result :: out u32 = low:32[RAX]
 
 0000f067:
-0000f069: call @sub_180002794 with noreturn
+0000f069: call @sub_1800027a4 with noreturn
 
-00019578: sub sub_18000105a(sub_18000105a_result)
-00019622: sub_18000105a_result :: out u32 = low:32[RAX]
+00019554: sub sub_18000105a(sub_18000105a_result)
+000195fe: sub_18000105a_result :: out u32 = low:32[RAX]
 
 0000f06b:
 0000f06e: goto %0000f06c
@@ -210,20 +212,47 @@
 0000f0f3: ZF := 0 = #12582706
 0000f0fb: RBX := pad:64[low:32[RCX]]
 0000f102: when ~ZF goto %0000f0ff
-00019582: goto %000141f7
+0001955e: goto %000141d3
 
-000141f7:
-0001420d: #12582214 := low:32[RCX] - 1
-00014211: CF := low:32[RCX] < 1
-00014229: ZF := 0 = #12582214
-00014231: when ~(CF | ZF) goto %0000f171
-00019581: goto %00014235
+000141d3:
+000141e9: #12582218 := low:32[RCX] - 1
+000141ed: CF := low:32[RCX] < 1
+00014205: ZF := 0 = #12582218
+0001420d: when ~(CF | ZF) goto %0000f171
+0001955d: goto %00014211
 
 0000f171:
 0000f175: RCX := 5
 0000f181: RSP := RSP - 8
-0000f186: mem := mem with [RSP, el]:u64 <- 0x180001CFE
-0000f188: call @sub_18000114a with return %0001415f
+0000f186: mem := mem with [RSP, el]:u64 <- 0x180001D12
+0000f188: call @sub_18000114a with return %0001413b
+
+0001413b:
+0001413d: call @interrupt:#3 with noreturn
+
+0001413f:
+00014141: call @interrupt:#3 with noreturn
+
+00014143:
+00014145: call @interrupt:#3 with noreturn
+
+00014147:
+00014149: call @interrupt:#3 with noreturn
+
+0001414b:
+0001414d: call @interrupt:#3 with noreturn
+
+0001414f:
+00014151: call @interrupt:#3 with noreturn
+
+00014153:
+00014155: call @interrupt:#3 with noreturn
+
+00014157:
+00014159: call @interrupt:#3 with noreturn
+
+0001415b:
+0001415d: call @interrupt:#3 with noreturn
 
 0001415f:
 00014161: call @interrupt:#3 with noreturn
@@ -312,94 +341,67 @@
 000141cf:
 000141d1: call @interrupt:#3 with noreturn
 
-000141d3:
-000141d5: call @interrupt:#3 with noreturn
-
-000141d7:
-000141d9: call @interrupt:#3 with noreturn
-
-000141db:
-000141dd: call @interrupt:#3 with noreturn
-
-000141df:
-000141e1: call @interrupt:#3 with noreturn
-
-000141e3:
-000141e5: call @interrupt:#3 with noreturn
-
-000141e7:
-000141e9: call @interrupt:#3 with noreturn
-
-000141eb:
-000141ed: call @interrupt:#3 with noreturn
-
-000141ef:
-000141f1: call @interrupt:#3 with noreturn
-
-000141f3:
-000141f5: call @interrupt:#3 with noreturn
-
-00014235:
-0001423e: RSP := RSP - 8
-00014243: mem := mem with [RSP, el]:u64 <- 0x180001C8F
-00014245: call @sub_180001087 with return %00014247
-
-00014247:
-00014257: #12582212 := low:32[RAX]
-0001426d: ZF := 0 = #12582212
-00014274: when ZF goto %00014271
-0001957f: goto %000142cf
-
-000142cf:
-000142df: #12582209 := low:32[RBX]
-000142f5: ZF := 0 = #12582209
-000142fb: when ~ZF goto %00014271
-0001957e: goto %000142ff
-
-00014271:
-0001427f: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128
-0001428b: RAX := 0xFFFFFFFFFFFFFFFF
-000142a7: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0]
-000142b1: mem := mem with [0x1800081E0, el]:u64 <- 0xFFFFFFFFFFFFFFFF
-000142bb: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0]
-000142c5: mem := mem with [0x1800081F8, el]:u64 <- 0xFFFFFFFFFFFFFFFF
-0001957d: goto %000142c7
-
-000142ff:
-00014303: RCX := 0x1800081D0
-0001430e: RSP := RSP - 8
-00014313: mem := mem with [RSP, el]:u64 <- 0x180001CA3
-00014315: call @sub_180002766 with return %00014317
-
-00014317:
-00014327: #12582207 := low:32[RAX]
-0001433d: ZF := 0 = #12582207
-00014344: when ~ZF goto %00014341
-0001957c: goto %0001436b
-
-0001436b:
-0001436f: RCX := 0x1800081E8
-0001437a: RSP := RSP - 8
-0001437f: mem := mem with [RSP, el]:u64 <- 0x180001CB3
-00014381: call @sub_180002766 with return %00014383
-
-00014383:
-00014393: #12582205 := low:32[RAX]
-000143a9: ZF := 0 = #12582205
-000143af: when ZF goto %000142c7
-0001957b: goto %00014341
-
-000142c7:
-000142cd: mem := mem with [0x1800081C9] <- 1
-0001957a: goto %0000f0ff
+00014211:
+0001421a: RSP := RSP - 8
+0001421f: mem := mem with [RSP, el]:u64 <- 0x180001CA3
+00014221: call @sub_180001087 with return %00014223
+
+00014223:
+00014233: #12582216 := low:32[RAX]
+00014249: ZF := 0 = #12582216
+00014250: when ZF goto %0001424d
+0001955b: goto %000142ab
+
+000142ab:
+000142bb: #12582213 := low:32[RBX]
+000142d1: ZF := 0 = #12582213
+000142d7: when ~ZF goto %0001424d
+0001955a: goto %000142db
+
+0001424d:
+0001425b: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128
+00014267: RAX := 0xFFFFFFFFFFFFFFFF
+00014283: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0]
+0001428d: mem := mem with [0x1800081E0, el]:u64 <- 0xFFFFFFFFFFFFFFFF
+00014297: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0]
+000142a1: mem := mem with [0x1800081F8, el]:u64 <- 0xFFFFFFFFFFFFFFFF
+00019559: goto %000142a3
+
+000142db:
+000142df: RCX := 0x1800081D0
+000142ea: RSP := RSP - 8
+000142ef: mem := mem with [RSP, el]:u64 <- 0x180001CB7
+000142f1: call @sub_180002776 with return %000142f3
+
+000142f3:
+00014303: #12582211 := low:32[RAX]
+00014319: ZF := 0 = #12582211
+00014320: when ~ZF goto %0001431d
+00019558: goto %00014347
+
+00014347:
+0001434b: RCX := 0x1800081E8
+00014356: RSP := RSP - 8
+0001435b: mem := mem with [RSP, el]:u64 <- 0x180001CC7
+0001435d: call @sub_180002776 with return %0001435f
+
+0001435f:
+0001436f: #12582209 := low:32[RAX]
+00014385: ZF := 0 = #12582209
+0001438b: when ZF goto %000142a3
+00019557: goto %0001431d
+
+000142a3:
+000142a9: mem := mem with [0x1800081C9] <- 1
+00019556: goto %0000f0ff
 
 0000f0ff:
 0000f10b: RAX := high:56[RAX].1
-00019579: goto %0000f10d
+00019555: goto %0000f10d
 
-00014341:
-00014353: RAX := 63:8[RAX].0
-00014369: goto %0000f10d
+0001431d:
+0001432f: RAX := 63:8[RAX].0
+00014345: goto %0000f10d
 
 0000f10d:
 0000f12c: RSP := RSP + 0x20
@@ -409,121 +411,121 @@
 0000f16c: RSP := RSP + 8
 0000f16f: call #12582701 with noreturn
 
-00019583: sub sub_180001082(sub_180001082_result)
-00019623: sub_180001082_result :: out u32 = low:32[RAX]
-
-00013625:
-00013634: goto %00013632
-
-00013632:
-00013641: #12582282 := RBX
-00013645: RSP := RSP - 8
-0001364b: mem := mem with [RSP, el]:u64 <- #12582282
-00013669: RSP := RSP - 0x20
-0001369d: #12582278 := mem[0x1800081C8]
-000136b9: ZF := 0 = #12582278
-000136c3: RBX := high:56[RBX].low:8[RCX]
-000136ca: when ZF goto %000136c7
-00019585: goto %00013793
-
-00013793:
-000137a3: #12582272 := low:8[RDX]
-000137b9: ZF := 0 = #12582272
-000137bf: when ~ZF goto %000136fb
-00019584: goto %000136c7
-
-000136c7:
-000136d6: RSP := RSP - 8
-000136db: mem := mem with [RSP, el]:u64 <- 0x180001E2E
-000136dd: call @sub_1800010e6 with return %000136df
-
-000136df:
-000136e7: RCX := high:56[RCX].low:8[RBX]
-000136f2: RSP := RSP - 8
-000136f7: mem := mem with [RSP, el]:u64 <- 0x180001E35
-000136f9: call @sub_180001046 with return %000136fb
-
-000136fb:
-00013701: RAX := high:56[RAX].1
-00013722: RSP := RSP + 0x20
-0001374d: RBX := mem[RSP, el]:u64
-00013751: RSP := RSP + 8
-0001375e: #12582273 := mem[RSP, el]:u64
-00013762: RSP := RSP + 8
-00013765: call #12582273 with noreturn
-
-00019586: sub sub_180001087(sub_180001087_result)
-00019624: sub_180001087_result :: out u32 = low:32[RAX]
-
-0000d5cd:
-0000d5dc: goto %0000d5da
-
-0000d5da:
-0000d616: #12582866 := mem[0x180008060, el]:u32
-0000d635: ZF := 0 = #12582866
-0000d63f: RAX := 0.pad:8[~ZF]
-0000d64c: #12582864 := mem[RSP, el]:u64
-0000d650: RSP := RSP + 8
-0000d653: call #12582864 with noreturn
-
-00019587: sub sub_18000108c(sub_18000108c_result)
-00019625: sub_18000108c_result :: out u32 = low:32[RAX]
+0001955f: sub sub_180001082(sub_180001082_result)
+000195ff: sub_180001082_result :: out u32 = low:32[RAX]
+
+00013601:
+00013610: goto %0001360e
+
+0001360e:
+0001361d: #12582286 := RBX
+00013621: RSP := RSP - 8
+00013627: mem := mem with [RSP, el]:u64 <- #12582286
+00013645: RSP := RSP - 0x20
+00013679: #12582282 := mem[0x1800081C8]
+00013695: ZF := 0 = #12582282
+0001369f: RBX := high:56[RBX].low:8[RCX]
+000136a6: when ZF goto %000136a3
+00019561: goto %0001376f
+
+0001376f:
+0001377f: #12582276 := low:8[RDX]
+00013795: ZF := 0 = #12582276
+0001379b: when ~ZF goto %000136d7
+00019560: goto %000136a3
+
+000136a3:
+000136b2: RSP := RSP - 8
+000136b7: mem := mem with [RSP, el]:u64 <- 0x180001E42
+000136b9: call @sub_1800010e6 with return %000136bb
+
+000136bb:
+000136c3: RCX := high:56[RCX].low:8[RBX]
+000136ce: RSP := RSP - 8
+000136d3: mem := mem with [RSP, el]:u64 <- 0x180001E49
+000136d5: call @sub_180001046 with return %000136d7
+
+000136d7:
+000136dd: RAX := high:56[RAX].1
+000136fe: RSP := RSP + 0x20
+00013729: RBX := mem[RSP, el]:u64
+0001372d: RSP := RSP + 8
+0001373a: #12582277 := mem[RSP, el]:u64
+0001373e: RSP := RSP + 8
+00013741: call #12582277 with noreturn
+
+00019562: sub sub_180001087(sub_180001087_result)
+00019600: sub_180001087_result :: out u32 = low:32[RAX]
+
+0000d5dd:
+0000d5ec: goto %0000d5ea
+
+0000d5ea:
+0000d626: #12582866 := mem[0x180008060, el]:u32
+0000d645: ZF := 0 = #12582866
+0000d64f: RAX := 0.pad:8[~ZF]
+0000d65c: #12582864 := mem[RSP, el]:u64
+0000d660: RSP := RSP + 8
+0000d663: call #12582864 with noreturn
+
+00019563: sub sub_18000108c(sub_18000108c_result)
+00019601: sub_18000108c_result :: out u32 = low:32[RAX]
 
 0000d6f5:
-0000d6f8: call @sub_180001d24 with noreturn
+0000d6f8: call @sub_180001d38 with noreturn
 
-00019588: sub sub_180001096(sub_180001096_result)
-00019626: sub_180001096_result :: out u32 = low:32[RAX]
+00019564: sub sub_180001096(sub_180001096_result)
+00019602: sub_180001096_result :: out u32 = low:32[RAX]
 
 00011bb9:
-00011bc7: call @sub_180002798 with noreturn
+00011bc7: call @sub_1800027a8 with noreturn
 
-00019589: sub sub_1800010a5(sub_1800010a5_result)
-00019627: sub_1800010a5_result :: out u32 = low:32[RAX]
+00019565: sub sub_1800010a5(sub_1800010a5_result)
+00019603: sub_1800010a5_result :: out u32 = low:32[RAX]
 
 000116cd:
-000116db: call @sub_1800027a0 with noreturn
+000116db: call @sub_1800027b0 with noreturn
 
-0001958a: sub sub_1800010aa(sub_1800010aa_result)
-00019628: sub_1800010aa_result :: out u32 = low:32[RAX]
+00019566: sub sub_1800010aa(sub_1800010aa_result)
+00019604: sub_1800010aa_result :: out u32 = low:32[RAX]
 
 000116dd:
-000116df: call @sub_180002794 with noreturn
-
-0001958b: sub sub_1800010b4(sub_1800010b4_result)
-00019629: 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
-0001958d: goto %00018a6f
-
-00018a6f:
-00018a85: #12582154 := mem[0x180006880, el]:u64
-00018aa1: ZF := 0 = #12582154
-00018aa7: when ~ZF goto %00004d18
-0001958c: goto %00018aab
-
-00018aab:
-00018ab7: #12582152 := mem[0x18000A020, el]:u64
-00018abb: RSP := RSP - 8
-00018ac0: mem := mem with [RSP, el]:u64 <- 0x180001915
-00018ac3: call #12582152 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
-
-0001958e: sub sub_1800010c3(sub_1800010c3_result)
-0001962a: sub_1800010c3_result :: out u32 = low:32[RAX]
+000116df: call @sub_1800027a4 with noreturn
+
+00019567: sub sub_1800010b4(sub_1800010b4_result)
+00019605: 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
+00019569: goto %00018a4b
+
+00018a4b:
+00018a61: #12582158 := mem[0x180006880, el]:u64
+00018a7d: ZF := 0 = #12582158
+00018a83: when ~ZF goto %00004d28
+00019568: goto %00018a87
+
+00018a87:
+00018a93: #12582156 := mem[0x18000A020, el]:u64
+00018a97: RSP := RSP - 8
+00018a9c: mem := mem with [RSP, el]:u64 <- 0x180001929
+00018a9f: call #12582156 with return %00004d28
+
+00004d28:
+00004d32: RAX := 1
+00004d53: RSP := RSP + 0x28
+00004d7f: #12582884 := mem[RSP, el]:u64
+00004d83: RSP := RSP + 8
+00004d86: call #12582884 with noreturn
+
+0001956a: sub sub_1800010c3(sub_1800010c3_result)
+00019606: sub_1800010c3_result :: out u32 = low:32[RAX]
 
 0000fc66:
 0000fc74: goto %0000e915
@@ -534,8 +536,8 @@
 0000e92a: RSP := RSP + 8
 0000e92d: call #12582755 with noreturn
 
-0001958f: sub sub_1800010cd(sub_1800010cd_result)
-0001962b: sub_1800010cd_result :: out u32 = low:32[RAX]
+0001956b: sub sub_1800010cd(sub_1800010cd_result)
+00019607: sub_1800010cd_result :: out u32 = low:32[RAX]
 
 000109b4:
 000109b6: goto %0001007e
@@ -546,14 +548,14 @@
 0001009a: RSP := RSP - 8
 000100a0: mem := mem with [RSP, el]:u64 <- #12582586
 000100be: RSP := RSP - 0x20
-000100e0: RBX := 0x1800070A0
-000100e6: RDI := 0x1800071A8
+000100e0: RBX := 0x1800070E8
+000100e6: RDI := 0x1800071F0
 000100eb: goto %000100e9
 
 000100e9:
-0001010c: CF := RBX < 0x1800071A8
+0001010c: CF := RBX < 0x1800071F0
 0001012d: when CF goto %0001012a
-00019592: goto %000101c4
+0001956e: goto %000101c4
 
 000101c4:
 000101cc: RBX := mem[RSP + 0x30, el]:u64
@@ -569,20 +571,20 @@
 0001014a: #12582580 := RAX
 00010160: ZF := 0 = #12582580
 00010167: when ZF goto %00010164
-00019591: goto %000101aa
+0001956d: goto %000101aa
 
 000101aa:
 000101b6: #12582575 := mem[0x18000B020, el]:u64
 000101ba: RSP := RSP - 8
-000101bf: mem := mem with [RSP, el]:u64 <- 0x1800021F8
+000101bf: mem := mem with [RSP, el]:u64 <- 0x18000220C
 000101c2: call #12582575 with return %00010164
 
 00010164:
 00010189: RBX := RBX + 8
-00019590: goto %000100e9
+0001956c: goto %000100e9
 
-00019593: sub sub_1800010d7(sub_1800010d7_result)
-0001962c: sub_1800010d7_result :: out u32 = low:32[RAX]
+0001956f: sub sub_1800010d7(sub_1800010d7_result)
+00019608: sub_1800010d7_result :: out u32 = low:32[RAX]
 
 00011199:
 0001119b: goto %00010272
@@ -593,14 +595,14 @@
 0001028e: RSP := RSP - 8
 00010294: mem := mem with [RSP, el]:u64 <- #12582570
 000102b2: RSP := RSP - 0x20
-000102d4: RBX := 0x1800072C0
-000102da: RDI := 0x1800073C8
+000102d4: RBX := 0x180007308
+000102da: RDI := 0x180007410
 000102df: goto %000102dd
 
 000102dd:
-00010300: CF := RBX < 0x1800073C8
+00010300: CF := RBX < 0x180007410
 00010321: when CF goto %0001031e
-00019596: goto %000103b8
+00019572: goto %000103b8
 
 000103b8:
 000103c0: RBX := mem[RSP + 0x30, el]:u64
@@ -616,32 +618,32 @@
 0001033e: #12582564 := RAX
 00010354: ZF := 0 = #12582564
 0001035b: when ZF goto %00010358
-00019595: goto %0001039e
+00019571: goto %0001039e
 
 0001039e:
 000103aa: #12582559 := mem[0x18000B020, el]:u64
 000103ae: RSP := RSP - 8
-000103b3: mem := mem with [RSP, el]:u64 <- 0x180002244
+000103b3: mem := mem with [RSP, el]:u64 <- 0x180002258
 000103b6: call #12582559 with return %00010358
 
 00010358:
 0001037d: RBX := RBX + 8
-00019594: goto %000102dd
+00019570: goto %000102dd
 
-00019597: sub sub_1800010e1(sub_1800010e1_result)
-0001962d: sub_1800010e1_result :: out u32 = low:32[RAX]
+00019573: sub sub_1800010e1(sub_1800010e1_result)
+00019609: sub_1800010e1_result :: out u32 = low:32[RAX]
 
 000111a1:
-000111a3: call @sub_180002798 with noreturn
+000111a3: call @sub_1800027a8 with noreturn
 
-00019598: sub sub_1800010e6(sub_1800010e6_result)
-0001962e: sub_1800010e6_result :: out u32 = low:32[RAX]
+00019574: sub sub_1800010e6(sub_1800010e6_result)
+0001960a: sub_1800010e6_result :: out u32 = low:32[RAX]
 
 000111a5:
-000111a7: call @sub_18000279c with noreturn
+000111a7: call @sub_1800027ac with noreturn
 
-00019599: sub sub_1800010fa(sub_1800010fa_result)
-0001962f: sub_1800010fa_result :: out u32 = low:32[RAX]
+00019575: sub sub_1800010fa(sub_1800010fa_result)
+0001960b: sub_1800010fa_result :: out u32 = low:32[RAX]
 
 000111b5:
 000111b8: goto %000111b6
@@ -658,14 +660,14 @@
 00011248: #12582456 := RAX - 0x2B992DDFA232
 00011267: ZF := 0 = #12582456
 0001126e: when ~ZF goto %0001126b
-0001959b: goto %000113a1
+00019577: 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 <- 0x180001856
+000113f0: mem := mem with [RSP, el]:u64 <- 0x18000186A
 000113f3: call #12582449 with return %000113f5
 
 000113f5:
@@ -673,7 +675,7 @@
 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 <- 0x180001864
+00011420: mem := mem with [RSP, el]:u64 <- 0x180001878
 00011423: call #12582448 with return %00011425
 
 00011425:
@@ -682,7 +684,7 @@
           mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX
 00011471: #12582446 := mem[0x18000A008, el]:u64
 00011475: RSP := RSP - 8
-0001147a: mem := mem with [RSP, el]:u64 <- 0x180001870
+0001147a: mem := mem with [RSP, el]:u64 <- 0x180001884
 0001147d: call #12582446 with return %0001147f
 
 0001147f:
@@ -692,7 +694,7 @@
           mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX
 000114d3: #12582444 := mem[0x18000A000, el]:u64
 000114d7: RSP := RSP - 8
-000114dc: mem := mem with [RSP, el]:u64 <- 0x180001880
+000114dc: mem := mem with [RSP, el]:u64 <- 0x180001894
 000114df: call #12582444 with return %000114e1
 
 000114e1:
@@ -708,7 +710,7 @@
 00011615: ZF := 0 = #12582437
 00011621: RAX := if ZF then 0x2B992DDFA233 else RAX
 0001162b: mem := mem with [0x180008020, el]:u64 <- RAX
-0001959a: goto %0001126b
+00019576: goto %0001126b
 
 0001126b:
 00011279: RBX := mem[RSP + 0x48, el]:u64
@@ -721,8 +723,8 @@
 000112ec: RSP := RSP + 8
 000112ef: call #12582451 with noreturn
 
-0001959c: sub sub_180001109(sub_180001109_result)
-00019630: sub_180001109_result :: out u32 = low:32[RAX]
+00019578: sub sub_180001109(sub_180001109_result)
+0001960c: sub_180001109_result :: out u32 = low:32[RAX]
 
 00011635:
 00011638: goto %00011636
@@ -733,21 +735,21 @@
 0001164e: RSP := RSP + 8
 00011651: call #12582435 with noreturn
 
-0001959d: sub sub_18000110e(sub_18000110e_result)
-00019631: sub_18000110e_result :: out u32 = low:32[RAX]
+00019579: sub sub_18000110e(sub_18000110e_result)
+0001960d: sub_18000110e_result :: out u32 = low:32[RAX]
 
 00011663:
-00011665: goto %00004dc1
+00011665: goto %00004dd1
 
-00004dc1:
-00004dc5: RCX := 0x180008180
-00004dca: goto %00004dc8
+00004dd1:
+00004dd5: RCX := 0x180008180
+00004dda: goto %00004dd8
 
-00004dc8:
-00004dcf: call mem[0x18000A0F0, el]:u64 with noreturn
+00004dd8:
+00004ddf: call mem[0x18000A0F0, el]:u64 with noreturn
 
-0001959e: sub sub_180001118(sub_180001118_result)
-00019632: sub_180001118_result :: out u32 = low:32[RAX]
+0001957a: sub sub_180001118(sub_180001118_result)
+0001960e: sub_180001118_result :: out u32 = low:32[RAX]
 
 0001166b:
 0001166e: goto %0001166c
@@ -756,7 +758,7 @@
 0001168b: RSP := RSP - 0x28
 000116b3: RCX := 0
 000116d1: RSP := RSP - 8
-000116d6: mem := mem with [RSP, el]:u64 <- 0x180001C07
+000116d6: mem := mem with [RSP, el]:u64 <- 0x180001C1B
 000116d8: call @sub_1800010a5 with return %000116e5
 
 000116e5:
@@ -764,10 +766,10 @@
 00011727: goto %000111b1
 
 000111b1:
-000111b3: call @sub_1800027a0 with noreturn
+000111b3: call @sub_1800027b0 with noreturn
 
-0001959f: sub sub_18000111d(sub_18000111d_result)
-00019633: sub_18000111d_result :: out u32 = low:32[RAX]
+0001957b: sub sub_18000111d(sub_18000111d_result)
+0001960f: sub_18000111d_result :: out u32 = low:32[RAX]
 
 000122af:
 000122b1: goto %00011a1d
@@ -775,33 +777,33 @@
 00011a1d:
 00011a39: RSP := RSP - 0x28
 00011a60: RSP := RSP - 8
-00011a65: mem := mem with [RSP, el]:u64 <- 0x180001B01
+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
-000195a2: goto %00012044
+0001957e: goto %00012044
 
 00011a93:
 00011aa2: RSP := RSP - 8
-00011aa7: mem := mem with [RSP, el]:u64 <- 0x180001B0E
+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
-000195a1: goto %00012031
+0001957d: goto %00012031
 
 00011ad5:
 00011ae1: RAX := high:56[RAX].1
-000195a0: goto %00011ae3
+0001957c: goto %00011ae3
 
 00012031:
 0001203a: RSP := RSP - 8
-0001203f: mem := mem with [RSP, el]:u64 <- 0x180001B17
+0001203f: mem := mem with [RSP, el]:u64 <- 0x180001B2B
 00012041: call @sub_180001096 with return %00012043
 
 00012043:
@@ -817,14 +819,14 @@
 00011b32: RSP := RSP + 8
 00011b35: call #12582396 with noreturn
 
-000195a3: sub sub_180001122(sub_180001122_result)
-00019634: sub_180001122_result :: out u32 = low:32[RAX]
+0001957f: sub sub_180001122(sub_180001122_result)
+00019610: sub_180001122_result :: out u32 = low:32[RAX]
 
 00011851:
-0001185f: call @sub_180002790 with noreturn
+0001185f: call @sub_1800027a0 with noreturn
 
-000195a4: sub sub_180001127(sub_180001127_result)
-00019635: sub_180001127_result :: out u32 = low:32[RAX]
+00019580: sub sub_180001127(sub_180001127_result)
+00019611: sub_180001127_result :: out u32 = low:32[RAX]
 
 00011861:
 00011864: goto %00011862
@@ -832,13 +834,13 @@
 00011862:
 00011881: RSP := RSP - 0x28
 000118a9: RSP := RSP - 8
-000118ae: mem := mem with [RSP, el]:u64 <- 0x18000196D
+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 <- 0x180001976
+000120bb: mem := mem with [RSP, el]:u64 <- 0x18000198A
 000120bd: call @sub_18000101e with return %000120bf
 
 000120bf:
@@ -848,8 +850,8 @@
 00012144: RSP := RSP + 8
 00012147: call #12582357 with noreturn
 
-000195a5: sub sub_18000112c(sub_18000112c_result)
-00019636: sub_18000112c_result :: out u32 = low:32[RAX]
+00019581: sub sub_18000112c(sub_18000112c_result)
+00019612: sub_18000112c_result :: out u32 = low:32[RAX]
 
 0000f257:
 0000f266: goto %0000f264
@@ -860,8 +862,8 @@
 0000f29e: RSP := RSP + 8
 0000f2a1: call #12582692 with noreturn
 
-000195a6: sub sub_18000113b(sub_18000113b_result)
-00019637: sub_18000113b_result :: out u32 = low:32[RAX]
+00019582: sub sub_18000113b(sub_18000113b_result)
+00019613: sub_18000113b_result :: out u32 = low:32[RAX]
 
 0000fbe0:
 0000fbe3: goto %0000fbe1
@@ -869,36 +871,36 @@
 0000fbe1:
 0000fc00: RSP := RSP - 0x28
 0000fc27: RSP := RSP - 8
-0000fc2c: mem := mem with [RSP, el]:u64 <- 0x180001AA1
+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
-000195a9: goto %000123cf
+00019585: goto %000123cf
 
 0000fc5a:
 0000fc6a: RSP := RSP - 8
-0000fc6f: mem := mem with [RSP, el]:u64 <- 0x180001AB1
+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 <- 0x180001AB8
-000122cb: call @sub_18000275a with return %000122cd
+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
-000195a8: goto %000123ab
+00019584: goto %000123ab
 
 000122f7:
 00012306: RSP := RSP - 8
-0001230b: mem := mem with [RSP, el]:u64 <- 0x180001AC5
-0001230d: call @sub_180002760 with return %0001230f
+0001230b: mem := mem with [RSP, el]:u64 <- 0x180001AD9
+0001230d: call @sub_180002770 with return %0001230f
 
 000123ab:
 000123b7: RAX := 63:8[RAX].0
@@ -906,7 +908,7 @@
 
 000123cf:
 000123d8: RSP := RSP - 8
-000123dd: mem := mem with [RSP, el]:u64 <- 0x180001AAA
+000123dd: mem := mem with [RSP, el]:u64 <- 0x180001ABE
 000123df: call @sub_180001145 with return %000123e1
 
 000123e1:
@@ -914,7 +916,7 @@
 
 0001230f:
 00012315: RAX := high:56[RAX].1
-000195a7: goto %00012317
+00019583: goto %00012317
 
 00012317:
 00012336: RSP := RSP + 0x28
@@ -922,50 +924,50 @@
 00012366: RSP := RSP + 8
 00012369: call #12582345 with noreturn
 
-000195aa: sub sub_180001140(sub_180001140_result)
-00019638: sub_180001140_result :: out u32 = low:32[RAX]
-
-0000d564:
-0000d56a: goto %0000d568
-
-0000d568:
-0000d577: #12582870 := RBX
-0000d57b: RSP := RSP - 8
-0000d581: mem := mem with [RSP, el]:u64 <- #12582870
-0000d59f: RSP := RSP - 0x20
-0000d5c5: RBX := high:56[RBX].low:8[RCX]
-0000d5d1: RSP := RSP - 8
-0000d5d6: mem := mem with [RSP, el]:u64 <- 0x180001DF1
-0000d5d8: call @sub_180001087 with return %00014529
-
-00014529:
-00014533: RDX := 0
-00014557: #12582190 := low:32[RAX]
-0001456d: ZF := 0 = #12582190
-00014574: when ZF goto %00014571
-000195ad: goto %0001460b
-
-0001460b:
-0001461b: #12582184 := low:8[RBX]
-00014631: ZF := 0 = #12582184
-00014637: when ~ZF goto %00014571
-000195ac: goto %0001463b
-
-0001463b:
-0001464a: RDX := mem[0x1800081C0, el]:u64
-0001464f: mem := mem with [0x1800081C0, el]:u64 <- 0
-000195ab: goto %00014571
-
-00014571:
-00014596: RSP := RSP + 0x20
-000145c1: RBX := mem[RSP, el]:u64
-000145c5: RSP := RSP + 8
-000145d2: #12582185 := mem[RSP, el]:u64
-000145d6: RSP := RSP + 8
-000145d9: call #12582185 with noreturn
-
-000195ae: sub sub_180001145(sub_180001145_result)
-00019639: sub_180001145_result :: out u32 = low:32[RAX]
+00019586: sub sub_180001140(sub_180001140_result)
+00019614: sub_180001140_result :: out u32 = low:32[RAX]
+
+0000d574:
+0000d57a: goto %0000d578
+
+0000d578:
+0000d587: #12582870 := RBX
+0000d58b: RSP := RSP - 8
+0000d591: mem := mem with [RSP, el]:u64 <- #12582870
+0000d5af: RSP := RSP - 0x20
+0000d5d5: RBX := high:56[RBX].low:8[RCX]
+0000d5e1: RSP := RSP - 8
+0000d5e6: mem := mem with [RSP, el]:u64 <- 0x180001E05
+0000d5e8: call @sub_180001087 with return %00014505
+
+00014505:
+0001450f: RDX := 0
+00014533: #12582194 := low:32[RAX]
+00014549: ZF := 0 = #12582194
+00014550: when ZF goto %0001454d
+00019589: goto %000145e7
+
+000145e7:
+000145f7: #12582188 := low:8[RBX]
+0001460d: ZF := 0 = #12582188
+00014613: when ~ZF goto %0001454d
+00019588: goto %00014617
+
+00014617:
+00014626: RDX := mem[0x1800081C0, el]:u64
+0001462b: mem := mem with [0x1800081C0, el]:u64 <- 0
+00019587: goto %0001454d
+
+0001454d:
+00014572: RSP := RSP + 0x20
+0001459d: RBX := mem[RSP, el]:u64
+000145a1: RSP := RSP + 8
+000145ae: #12582189 := mem[RSP, el]:u64
+000145b2: RSP := RSP + 8
+000145b5: call #12582189 with noreturn
+
+0001958a: sub sub_180001145(sub_180001145_result)
+00019615: sub_180001145_result :: out u32 = low:32[RAX]
 
 000117ed:
 000117fb: goto %0000e3ff
@@ -1004,7 +1006,7 @@
 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
-000195c0: goto %0000ed25
+0001959c: goto %0000ed25
 
 0000ed25:
 0000ed35: mem := mem with [0x180008048, el]:u64 <- 0xFFFFFFFFFFFFFFFF
@@ -1013,19 +1015,19 @@
 0000ed93: #12582734 := low:32[RAX] - 0x106C0
 0000edaf: ZF := 0 = #12582734
 0000edb6: when ZF goto %0000edb3
-000195bf: goto %0000edf7
+0001959b: goto %0000edf7
 
 0000edf7:
 0000ee0d: #12582731 := low:32[RAX] - 0x20660
 0000ee29: ZF := 0 = #12582731
 0000ee2f: when ZF goto %0000edb3
-000195be: goto %0000ee33
+0001959a: goto %0000ee33
 
 0000ee33:
 0000ee49: #12582729 := low:32[RAX] - 0x20670
 0000ee65: ZF := 0 = #12582729
 0000ee6b: when ZF goto %0000edb3
-000195bd: goto %0000ee6f
+00019599: goto %0000ee6f
 
 0000ee6f:
 0000ee8e: RAX := pad:64[low:32[RAX] - 0x30650]
@@ -1033,18 +1035,18 @@
 0000eec9: CF := low:32[RAX] < 0x20
 0000eee1: ZF := 0 = #12582724
 0000eee9: when ~(CF | ZF) goto %0000e633
-000195bc: goto %0000eeed
+00019598: goto %0000eeed
 
 0000eeed:
 0000eef1: RCX := 0x100010001
 0000ef01: #12582722 := low:6[RAX]
 0000ef06: CF := low:1[0x100010001 >> #12582722]
 0000ef1b: when ~CF goto %0000e633
-000195bb: goto %0000edb3
+00019597: goto %0000edb3
 
 0000e633:
 0000e63f: R8 := pad:64[mem[0x180008214, el]:u32]
-000195ba: goto %0000e641
+00019596: goto %0000e641
 
 0000edb3:
 0000edbf: R8 := pad:64[mem[0x180008214, el]:u32]
@@ -1059,7 +1061,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
-000195b9: goto %0000ec65
+00019595: goto %0000ec65
 
 0000ec65:
 0000ec6f: RCX := 0
@@ -1074,19 +1076,19 @@
 0000eccb: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX]
 0000ecd8: CF := low:1[RBX >> 9]
 0000eced: when ~CF goto %0000e690
-000195b8: goto %0000ecf1
+00019594: goto %0000ecf1
 
 0000ecf1:
 0000ed03: R8 := pad:64[low:32[R8] | 2]
 0000ed23: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
-000195b7: goto %0000e690
+00019593: 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
-000195b6: goto %0000e937
+00019592: goto %0000e937
 
 0000e937:
 0000e93f: mem := mem with [0x180008038, el]:u32 <- 2
@@ -1094,12 +1096,12 @@
 0000e94f: mem := mem with [0x18000803C, el]:u32 <- 6
 0000e95c: CF := low:1[RDI >> 0x1B]
 0000e971: when ~CF goto %0000e6c9
-000195b5: goto %0000e975
+00019591: goto %0000e975
 
 0000e975:
 0000e980: CF := low:1[RDI >> 0x1C]
 0000e995: when ~CF goto %0000e6c9
-000195b4: goto %0000e999
+00019590: goto %0000e999
 
 0000e999:
 0000e9a3: RCX := 0
@@ -1113,7 +1115,7 @@
 0000ea78: #12582750 := low:8[RAX] - 6
 0000ea97: ZF := 0 = #12582750
 0000ea9d: when ~ZF goto %0000e6c9
-000195b3: goto %0000eaa1
+0001958f: goto %0000eaa1
 
 0000eaa1:
 0000eaa7: RAX := pad:64[mem[0x18000803C, el]:u32]
@@ -1123,7 +1125,7 @@
 0000eaf3: #12582747 := low:8[R11] & 0x20
 0000eb09: ZF := 0 = #12582747
 0000eb0f: when ZF goto %0000e6c9
-000195b2: goto %0000eb13
+0001958e: goto %0000eb13
 
 0000eb13:
 0000eb23: RAX := pad:64[low:32[RAX] | 0x20]
@@ -1134,7 +1136,7 @@
 0000eb98: #12582743 := low:32[R11] - 0xD0030000
 0000ebb7: ZF := 0 = #12582743
 0000ebbd: when ~ZF goto %0000e6c9
-000195b1: goto %0000ebc1
+0001958d: goto %0000ebc1
 
 0000ebc1:
 0000ebc9: RAX := mem[RSP + 0x20, el]:u64
@@ -1142,13 +1144,13 @@
 0000ec0b: #12582740 := low:8[RAX] - 0xE0
 0000ec27: ZF := 0 = #12582740
 0000ec2d: when ~ZF goto %0000e6c9
-000195b0: goto %0000ec31
+0001958c: goto %0000ec31
 
 0000ec31:
 0000ec43: mem :=
           mem with [0x18000803C, el]:u32 <- mem[0x18000803C, el]:u32 | 0x40
 0000ec63: mem := mem with [0x180008038, el]:u32 <- 6
-000195af: goto %0000e6c9
+0001958b: goto %0000e6c9
 
 0000e6c9:
 0000e6d7: RBX := mem[RSP + 0x28, el]:u64
@@ -1161,8 +1163,8 @@
 0000e760: RSP := RSP + 8
 0000e763: call #12582756 with noreturn
 
-000195c1: sub sub_18000114a(sub_18000114a_result)
-0001963a: sub_18000114a_result :: out u32 = low:32[RAX]
+0001959d: sub sub_18000114a(sub_18000114a_result)
+00019616: sub_18000114a_result :: out u32 = low:32[RAX]
 
 0000f17d:
 0000f18c: goto %0000f18a
@@ -1178,14 +1180,14 @@
 0000f1ff: RCX := 0x17
 0000f20d: #12582696 := mem[0x18000A068, el]:u64
 0000f211: RSP := RSP - 8
-0000f216: mem := mem with [RSP, el]:u64 <- 0x180001F0A
+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
-000195c5: goto %00012aeb
+000195a1: goto %00012aeb
 
 00012aeb:
 00012af1: RCX := pad:64[low:32[RBX]]
@@ -1194,7 +1196,7 @@
 0000f245:
 0000f24f: RCX := 3
 0000f25b: RSP := RSP - 8
-0000f260: mem := mem with [RSP, el]:u64 <- 0x180001F1C
+0000f260: mem := mem with [RSP, el]:u64 <- 0x180001F30
 0000f262: call @sub_18000112c with return %000123e5
 
 000123e5:
@@ -1202,14 +1204,14 @@
 00012409: RCX := RBP - 0x10
 0001240f: R8 := 0x4D0
 0001241a: RSP := RSP - 8
-0001241f: mem := mem with [RSP, el]:u64 <- 0x180001F2D
-00012421: call @sub_180002742 with return %00012423
+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 <- 0x180001F37
+00012440: mem := mem with [RSP, el]:u64 <- 0x180001F4B
 00012443: call #12582344 with return %00012445
 
 00012445:
@@ -1219,14 +1221,14 @@
 00012469: R8 := 0
 00012489: #12582343 := mem[0x18000A038, el]:u64
 0001248d: RSP := RSP - 8
-00012492: mem := mem with [RSP, el]:u64 <- 0x180001F51
+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
-000195c4: goto %00012a2b
+000195a0: goto %00012a2b
 
 00012a2b:
 00012a41: mem := mem with [RSP + 0x38, el]:u64 <- 0
@@ -1242,7 +1244,7 @@
 00012abd: RCX := 0
 00012add: #12582313 := mem[0x18000A040, el]:u64
 00012ae1: RSP := RSP - 8
-00012ae6: mem := mem with [RSP, el]:u64 <- 0x180001F92
+00012ae6: mem := mem with [RSP, el]:u64 <- 0x180001FA6
 00012ae9: call #12582313 with return %000124c1
 
 000124c1:
@@ -1255,8 +1257,8 @@
 00012530: RAX := RAX + 8
 0001255b: mem := mem with [RBP + 0x88, el]:u64 <- RAX
 00012566: RSP := RSP - 8
-0001256b: mem := mem with [RSP, el]:u64 <- 0x180001FC4
-0001256d: call @sub_180002742 with return %0001256f
+0001256b: mem := mem with [RSP, el]:u64 <- 0x180001FD8
+0001256d: call @sub_180002752 with return %0001256f
 
 0001256f:
 00012577: RAX := mem[RBP + 0x4C8, el]:u64
@@ -1265,7 +1267,7 @@
 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 <- 0x180001FE6
+000125ae: mem := mem with [RSP, el]:u64 <- 0x180001FFA
 000125b1: call #12582337 with return %000125b3
 
 000125b3:
@@ -1279,32 +1281,32 @@
 00012623: RCX := 0
 00012643: #12582334 := mem[0x18000A058, el]:u64
 00012647: RSP := RSP - 8
-0001264c: mem := mem with [RSP, el]:u64 <- 0x180002007
+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 <- 0x180002012
+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
-000195c3: goto %000129e1
+0001959f: goto %000129e1
 
 000129e1:
 000129f1: #12582316 := low:8[RBX]
 00012a07: ZF := 0 = #12582316
 00012a0d: when ~ZF goto %0001269d
-000195c2: goto %00012a11
+0001959e: goto %00012a11
 
 00012a11:
 00012a17: RCX := pad:64[low:32[RAX + 3]]
 00012a22: RSP := RSP - 8
-00012a27: mem := mem with [RSP, el]:u64 <- 0x180002022
+00012a27: mem := mem with [RSP, el]:u64 <- 0x180002036
 00012a29: call @sub_18000112c with return %0001269d
 
 0001269d:
@@ -1316,8 +1318,8 @@
 0001270c: RSP := RSP + 8
 0001270f: call #12582327 with noreturn
 
-000195c6: sub sub_180001154(sub_180001154_result)
-0001963b: sub_180001154_result :: out u32 = low:32[RAX]
+000195a2: sub sub_180001154(sub_180001154_result)
+00019617: sub_180001154_result :: out u32 = low:32[RAX]
 
 00012afb:
 00012afd: goto %00010cd4
@@ -1325,14 +1327,14 @@
 00010cd4:
 00010cf0: RSP := RSP - 0x28
 00010d17: RSP := RSP - 8
-00010d1c: mem := mem with [RSP, el]:u64 <- 0x180001A59
+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
-000195ca: goto %00010e0c
+000195a6: goto %00010e0c
 
 00010e0c:
 00010e14: RAX := mem[GS_BASE + 0x30, el]:u64
@@ -1366,18 +1368,18 @@
 
 00010eab:
 00010eb0: when ~ZF goto %00010ead
-000195c9: goto %00010d4a
+000195a5: goto %00010d4a
 
 00010d4a:
 00010d5c: RAX := 63:8[RAX].0
 00010d62: ZF := 1
-000195c8: goto %00010d70
+000195a4: goto %00010d70
 
 00010ead:
 00010ece: #12582483 := RCX - RAX
 00010eed: ZF := 0 = #12582483
 00010ef3: when ZF goto %00010dc4
-000195c7: goto %00010e21
+000195a3: goto %00010e21
 
 00010dc4:
 00010dca: RAX := high:56[RAX].1
@@ -1389,8 +1391,8 @@
 00010dbf: RSP := RSP + 8
 00010dc2: call #12582487 with noreturn
 
-000195cb: sub sub_180001163(sub_180001163_result)
-0001963c: sub_180001163_result :: out u32 = low:32[RAX]
+000195a7: sub sub_180001163(sub_180001163_result)
+00019618: sub_180001163_result :: out u32 = low:32[RAX]
 
 00012b07:
 00012b09: goto %00011c49
@@ -1408,20 +1410,20 @@
 00011cd5: RBX := pad:64[low:32[RDX]]
 00011cdd: RBP := RCX
 00011ce8: RSP := RSP - 8
-00011ced: mem := mem with [RSP, el]:u64 <- 0x180001B6C
+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
-000195cd: goto %00011fa5
+000195a9: goto %00011fa5
 
 00011fa5:
 00011fbb: #12582365 := low:32[RBX] - 1
 00011fd7: ZF := 0 = #12582365
 00011fdd: when ~ZF goto %00011d1b
-000195cc: goto %00011fe1
+000195a8: goto %00011fe1
 
 00011fe1:
 00011fe7: R8 := RSI
@@ -1430,7 +1432,7 @@
 00012015: RAX := RDI
 00012023: #12582363 := mem[0x18000B020, el]:u64
 00012027: RSP := RSP - 8
-0001202c: mem := mem with [RSP, el]:u64 <- 0x180001B86
+0001202c: mem := mem with [RSP, el]:u64 <- 0x180001B9A
 0001202f: call #12582363 with return %00011d1b
 
 00011d1b:
@@ -1442,13 +1444,13 @@
 00011d72: RSP := RSP + 0x20
 00011d9d: RDI := mem[RSP, el]:u64
 00011da1: RSP := RSP + 8
-00011da5: goto %00004def
+00011da5: goto %00004dff
 
-00004def:
-00004df3: call mem[0x18000A180, el]:u64 with noreturn
+00004dff:
+00004e03: call mem[0x18000A180, el]:u64 with noreturn
 
-000195ce: sub sub_180001168(sub_180001168_result)
-0001963d: sub_180001168_result :: out u32 = low:32[RAX]
+000195aa: sub sub_180001168(sub_180001168_result)
+00019619: sub_180001168_result :: out u32 = low:32[RAX]
 
 00012b0b:
 00012b0d: goto %00011749
@@ -1465,39 +1467,39 @@
 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 <- 0x180001C3A
+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 <- 0x180001C3F
+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
-000195d1: goto %00012288
+000195ad: goto %00012288
 
 00011845:
 00011855: RSP := RSP - 8
-0001185a: mem := mem with [RSP, el]:u64 <- 0x180001C4C
+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
-000195d0: goto %00012257
+000195ac: goto %00012257
 
 00012197:
 000121a5: RAX := high:56[RAX].1
-000195cf: goto %000121a7
+000195ab: goto %000121a7
 
 00012257:
 00012261: RCX := 0
 0001227e: RSP := RSP - 8
-00012283: mem := mem with [RSP, el]:u64 <- 0x180001C57
+00012283: mem := mem with [RSP, el]:u64 <- 0x180001C6B
 00012285: call @sub_180001046 with return %00012287
 
 00012287:
@@ -1515,8 +1517,8 @@
 00012206: RSP := RSP + 8
 00012209: call #12582351 with noreturn
 
-000195d2: sub sub_180001177(sub_180001177_result)
-0001963e: sub_180001177_result :: out u32 = low:32[RAX]
+000195ae: sub sub_180001177(sub_180001177_result)
+0001961a: sub_180001177_result :: out u32 = low:32[RAX]
 
 00012b17:
 00012b19: goto %00011b67
@@ -1524,12 +1526,12 @@
 00011b67:
 00011b83: RSP := RSP - 0x28
 00011baa: RSP := RSP - 8
-00011baf: mem := mem with [RSP, el]:u64 <- 0x180001B35
+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 <- 0x180001B3A
+00011bc2: mem := mem with [RSP, el]:u64 <- 0x180001B4E
 00011bc4: call @sub_180001096 with return %00011bd1
 
 00011bd1:
@@ -1539,8 +1541,8 @@
 00011c28: RSP := RSP + 8
 00011c2b: call #12582389 with noreturn
 
-000195d3: sub sub_180001181(sub_180001181_result)
-0001963f: sub_180001181_result :: out u32 = low:32[RAX]
+000195af: sub sub_180001181(sub_180001181_result)
+0001961b: sub_180001181_result :: out u32 = low:32[RAX]
 
 00012e03:
 00012e11: goto %00011e07
@@ -1548,30 +1550,30 @@
 00011e07:
 00011e23: RSP := RSP - 0x28
 00011e4a: RSP := RSP - 8
-00011e4f: mem := mem with [RSP, el]:u64 <- 0x180001BC9
+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
-000195d5: goto %00011f5b
+000195b1: goto %00011f5b
 
 00011e7d:
 00011e8c: RSP := RSP - 8
-00011e91: mem := mem with [RSP, el]:u64 <- 0x180001BE2
+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
-000195d4: goto %00011f49
+000195b0: goto %00011f49
 
 00011f49:
 00011f52: RSP := RSP - 8
-00011f57: mem := mem with [RSP, el]:u64 <- 0x180001BEB
-00011f59: call @sub_180002784 with return %00011ebf
+00011f57: mem := mem with [RSP, el]:u64 <- 0x180001BFF
+00011f59: call @sub_180002794 with return %00011ebf
 
 00011ebf:
 00011ee4: RSP := RSP + 0x28
@@ -1582,81 +1584,108 @@
 00011f5b:
 00011f5f: RCX := 0x1800081D0
 00011f80: RSP := RSP + 0x28
-00011fa3: goto %00004e0d
+00011fa3: goto %00004e1d
 
-00004e0d:
-00004e11: call mem[0x18000A1A8, el]:u64 with noreturn
+00004e1d:
+00004e21: call mem[0x18000A1A8, el]:u64 with noreturn
 
-000195d6: sub sub_180001340(sub_180001340_result)
-00019640: sub_180001340_result :: out u32 = low:32[RAX]
+000195b2: sub sub_180001354(sub_180001354_result)
+0001961c: 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
-000195e5: goto %00013f69
+000195c1: goto %00013f45
 
 00012b87:
 00012b9d: #12582307 := R8
 00012bb3: ZF := 0 = #12582307
 00012bbd: RCX := 63:8[RCX].pad:8[~ZF]
 00012bde: RSP := RSP + 0x28
-00012c02: call @sub_180001500 with noreturn
-
-00013f69:
-00013f85: RDX := pad:64[low:32[RDX] - 1]
-00013fa1: ZF := 0 = low:32[RDX]
-00013fa8: when ZF goto %00013fa5
-000195e4: goto %00013ff7
-
-00013fa5:
-00013fb1: RDX := R8
-00013fd2: RSP := RSP + 0x28
-00013ff5: goto %0001396f
-
-0001396f:
-00013979: mem := mem with [RSP + 8, el]:u64 <- RBX
-00013985: mem := mem with [RSP + 0x10, el]:u64 <- RSI
-00013991: mem := mem with [RSP + 0x20, el]:u64 <- RDI
-0001399f: #12582260 := R14
-000139a3: RSP := RSP - 8
-000139a9: mem := mem with [RSP, el]:u64 <- #12582260
-000139c7: RSP := RSP - 0x20
-000139eb: RSI := RDX
-000139f3: R14 := RCX
-000139ff: RCX := 0
-00013a1c: RSP := RSP - 8
-00013a21: mem := mem with [RSP, el]:u64 <- 0x1800013C6
-00013a23: call @sub_180001168 with return %00013a25
-
-00013a25:
-00013a35: #12582256 := low:8[RAX]
-00013a4b: ZF := 0 = #12582256
-00013a52: when ZF goto %00013a4f
-000195e3: goto %00013c2b
-
-00013c2b:
-00013c34: RSP := RSP - 8
-00013c39: mem := mem with [RSP, el]:u64 <- 0x1800013D3
-00013c3b: call @sub_180001154 with return %00013c3d
-
-00013c3d:
-00013c45: RBX := high:56[RBX].low:8[RAX]
-00013c51: mem := mem with [RSP + 0x40] <- low:8[RAX]
-00013c59: RDI := high:56[RDI].1
-00013c71: #12582250 := mem[0x1800081B8, el]:u32
-00013c8d: ZF := 0 = #12582250
-00013c93: when ~ZF goto %00013af5
-000195e2: goto %00013c97
-
-00013af5:
-00013af9: RCX := 7
-00013b04: RSP := RSP - 8
-00013b09: mem := mem with [RSP, el]:u64 <- 0x1800014B8
-00013b0b: call @sub_18000114a with return %00013b0d
-
-00013b0d:
+00012c02: call @sub_180001514 with noreturn
+
+00013f45:
+00013f61: RDX := pad:64[low:32[RDX] - 1]
+00013f7d: ZF := 0 = low:32[RDX]
+00013f84: when ZF goto %00013f81
+000195c0: goto %00013fd3
+
+00013f81:
+00013f8d: RDX := R8
+00013fae: RSP := RSP + 0x28
+00013fd1: goto %0001394b
+
+0001394b:
+00013955: mem := mem with [RSP + 8, el]:u64 <- RBX
+00013961: mem := mem with [RSP + 0x10, el]:u64 <- RSI
+0001396d: mem := mem with [RSP + 0x20, el]:u64 <- RDI
+0001397b: #12582264 := R14
+0001397f: RSP := RSP - 8
+00013985: mem := mem with [RSP, el]:u64 <- #12582264
+000139a3: RSP := RSP - 0x20
+000139c7: RSI := RDX
+000139cf: R14 := RCX
+000139db: RCX := 0
+000139f8: RSP := RSP - 8
+000139fd: mem := mem with [RSP, el]:u64 <- 0x1800013DA
+000139ff: call @sub_180001168 with return %00013a01
+
+00013a01:
+00013a11: #12582260 := low:8[RAX]
+00013a27: ZF := 0 = #12582260
+00013a2e: when ZF goto %00013a2b
+000195bf: goto %00013c07
+
+00013c07:
+00013c10: RSP := RSP - 8
+00013c15: mem := mem with [RSP, el]:u64 <- 0x1800013E7
+00013c17: call @sub_180001154 with return %00013c19
+
+00013c19:
+00013c21: RBX := high:56[RBX].low:8[RAX]
+00013c2d: mem := mem with [RSP + 0x40] <- low:8[RAX]
+00013c35: RDI := high:56[RDI].1
+00013c4d: #12582254 := mem[0x1800081B8, el]:u32
+00013c69: ZF := 0 = #12582254
+00013c6f: when ~ZF goto %00013ad1
+000195be: goto %00013c73
+
+00013ad1:
+00013ad5: RCX := 7
+00013ae0: RSP := RSP - 8
+00013ae5: mem := mem with [RSP, el]:u64 <- 0x1800014CC
+00013ae7: call @sub_18000114a with return %00013ae9
+
+00013ae9:
+00013aed: call @interrupt:#3 with noreturn
+
+00013aef:
+00013af1: call @interrupt:#3 with noreturn
+
+00013af3:
+00013af5: call @interrupt:#3 with noreturn
+
+00013af7:
+00013af9: call @interrupt:#3 with noreturn
+
+00013afb:
+00013afd: call @interrupt:#3 with noreturn
+
+00013aff:
+00013b01: call @interrupt:#3 with noreturn
+
+00013b03:
+00013b05: call @interrupt:#3 with noreturn
+
+00013b07:
+00013b09: call @interrupt:#3 with noreturn
+
+00013b0b:
+00013b0d: call @interrupt:#3 with noreturn
+
+00013b0f:
 00013b11: call @interrupt:#3 with noreturn
 
 00013b13:
@@ -1842,205 +1871,178 @@
 00013c03:
 00013c05: call @interrupt:#3 with noreturn
 
-00013c07:
-00013c09: call @interrupt:#3 with noreturn
-
-00013c0b:
-00013c0d: call @interrupt:#3 with noreturn
-
-00013c0f:
-00013c11: call @interrupt:#3 with noreturn
-
-00013c13:
-00013c15: call @interrupt:#3 with noreturn
+00013c73:
+00013c79: mem := mem with [0x1800081B8, el]:u32 <- 1
+00013c84: RSP := RSP - 8
+00013c89: mem := mem with [RSP, el]:u64 <- 0x18000140C
+00013c8b: call @sub_180001019 with return %00013c8d
 
-00013c17:
-00013c19: call @interrupt:#3 with noreturn
+00013c8d:
+00013c9d: #12582252 := low:8[RAX]
+00013cb3: ZF := 0 = #12582252
+00013cba: when ZF goto %00013cb7
+000195bc: goto %00013e39
 
-00013c1b:
-00013c1d: call @interrupt:#3 with noreturn
+00013e39:
+00013e42: RSP := RSP - 8
+00013e47: mem := mem with [RSP, el]:u64 <- 0x180001415
+00013e49: call @sub_1800010cd with return %00013e4b
 
-00013c1f:
-00013c21: call @interrupt:#3 with noreturn
-
-00013c23:
-00013c25: call @interrupt:#3 with noreturn
-
-00013c27:
-00013c29: call @interrupt:#3 with noreturn
-
-00013c97:
-00013c9d: mem := mem with [0x1800081B8, el]:u32 <- 1
-00013ca8: RSP := RSP - 8
-00013cad: mem := mem with [RSP, el]:u64 <- 0x1800013F8
-00013caf: call @sub_180001019 with return %00013cb1
-
-00013cb1:
-00013cc1: #12582248 := low:8[RAX]
-00013cd7: ZF := 0 = #12582248
-00013cde: when ZF goto %00013cdb
-000195e0: goto %00013e5d
+00013e4b:
+00013e54: RSP := RSP - 8
+00013e59: mem := mem with [RSP, el]:u64 <- 0x18000141A
+00013e5b: call @sub_180001041 with return %00013e5d
 
 00013e5d:
 00013e66: RSP := RSP - 8
-00013e6b: mem := mem with [RSP, el]:u64 <- 0x180001401
-00013e6d: call @sub_1800010cd with return %00013e6f
+00013e6b: mem := mem with [RSP, el]:u64 <- 0x18000141F
+00013e6d: call @sub_180001127 with return %00013e6f
 
 00013e6f:
-00013e78: RSP := RSP - 8
-00013e7d: mem := mem with [RSP, el]:u64 <- 0x180001406
-00013e7f: call @sub_180001041 with return %00013e81
-
-00013e81:
-00013e8a: RSP := RSP - 8
-00013e8f: mem := mem with [RSP, el]:u64 <- 0x18000140B
-00013e91: call @sub_180001127 with return %00013e93
-
-00013e93:
-00013e97: RDX := 0x180006330
-00013e9d: RCX := 0x180006220
-00013ea8: RSP := RSP - 8
-00013ead: mem := mem with [RSP, el]:u64 <- 0x18000141E
-00013eaf: call @sub_18000274e with return %00013eb1
-
-00013eb1:
-00013ec1: #12582237 := low:32[RAX]
-00013ed7: ZF := 0 = #12582237
-00013edd: when ~ZF goto %00013cdb
-000195df: goto %00013ee1
-
-00013ee1:
-00013eea: RSP := RSP - 8
-00013eef: mem := mem with [RSP, el]:u64 <- 0x180001427
-00013ef1: call @sub_18000113b with return %00013ef3
-
-00013ef3:
-00013f03: #12582235 := low:8[RAX]
-00013f19: ZF := 0 = #12582235
-00013f1f: when ZF goto %00013cdb
-000195de: goto %00013f23
-
-00013f23:
-00013f27: RDX := 0x180006110
-00013f2d: RCX := 0x180006000
-00013f38: RSP := RSP - 8
-00013f3d: mem := mem with [RSP, el]:u64 <- 0x18000143E
-00013f3f: call @sub_180002748 with return %00013f41
-
-00013f41:
-00013f47: mem := mem with [0x1800081B8, el]:u32 <- 2
-00013f55: RDI := 63:8[RDI].0
-000195dd: goto %00013cdb
-
-00013cdb:
-00013ce9: RCX := high:56[RCX].low:8[RBX]
-00013cf4: RSP := RSP - 8
-00013cf9: mem := mem with [RSP, el]:u64 <- 0x180001452
-00013cfb: call @sub_180001140 with return %00013cfd
-
-00013cfd:
-00013d0d: #12582246 := low:8[RDI]
-00013d23: ZF := 0 = #12582246
-00013d29: when ~ZF goto %00013a4f
-000195dc: goto %00013d2d
+00013e73: RDX := 0x180006330
+00013e79: RCX := 0x180006220
+00013e84: RSP := RSP - 8
+00013e89: mem := mem with [RSP, el]:u64 <- 0x180001432
+00013e8b: call @sub_18000275e with return %00013e8d
+
+00013e8d:
+00013e9d: #12582241 := low:32[RAX]
+00013eb3: ZF := 0 = #12582241
+00013eb9: when ~ZF goto %00013cb7
+000195bb: goto %00013ebd
+
+00013ebd:
+00013ec6: RSP := RSP - 8
+00013ecb: mem := mem with [RSP, el]:u64 <- 0x18000143B
+00013ecd: call @sub_18000113b with return %00013ecf
+
+00013ecf:
+00013edf: #12582239 := low:8[RAX]
+00013ef5: ZF := 0 = #12582239
+00013efb: when ZF goto %00013cb7
+000195ba: goto %00013eff
+
+00013eff:
+00013f03: RDX := 0x180006110
+00013f09: RCX := 0x180006000
+00013f14: RSP := RSP - 8
+00013f19: mem := mem with [RSP, el]:u64 <- 0x180001452
+00013f1b: call @sub_180002758 with return %00013f1d
+
+00013f1d:
+00013f23: mem := mem with [0x1800081B8, el]:u32 <- 2
+00013f31: RDI := 63:8[RDI].0
+000195b9: goto %00013cb7
+
+00013cb7:
+00013cc5: RCX := high:56[RCX].low:8[RBX]
+00013cd0: RSP := RSP - 8
+00013cd5: mem := mem with [RSP, el]:u64 <- 0x180001466
+00013cd7: call @sub_180001140 with return %00013cd9
+
+00013cd9:
+00013ce9: #12582250 := low:8[RDI]
+00013cff: ZF := 0 = #12582250
+00013d05: when ~ZF goto %00013a2b
+000195b8: goto %00013d09
+
+00013a2b:
+00013a3b: RAX := 0
+000195b7: goto %00013a4f
+
+00013d09:
+00013d12: RSP := RSP - 8
+00013d17: mem := mem with [RSP, el]:u64 <- 0x180001470
+00013d19: call @sub_180001109 with return %00013d1b
+
+00013d1b:
+00013d21: RBX := RAX
+00013d3f: #12582248 := mem[RAX, el]:u64
+00013d5f: ZF := 0 = #12582248
+00013d66: when ZF goto %00013d63
+000195b6: goto %00013dad
+
+00013dad:
+00013db3: RCX := RAX
+00013dbe: RSP := RSP - 8
+00013dc3: mem := mem with [RSP, el]:u64 <- 0x180001481
+00013dc5: call @sub_18000108c with return %00013dc7
+
+00013dc7:
+00013dd7: #12582244 := low:8[RAX]
+00013ded: ZF := 0 = #12582244
+00013df3: when ZF goto %00013d63
+000195b5: goto %00013df7
+
+00013df7:
+00013dfd: R8 := RSI
+00013e03: RDX := 2
+00013e0b: RCX := R14
+00013e15: RAX := mem[RBX, el]:u64
+00013e1d: R9 := mem[0x18000B020, el]:u64
+00013e2b: #12582242 := R9
+00013e2f: RSP := RSP - 8
+00013e34: mem := mem with [RSP, el]:u64 <- 0x18000149D
+00013e37: call #12582242 with return %00013d63
+
+00013d63:
+00013d87: mem :=
+          mem with [0x180008170, el]:u32 <- mem[0x180008170, el]:u32 + 1
+00013da7: RAX := 1
+00013dab: goto %00013a4f
 
 00013a4f:
-00013a5f: RAX := 0
-000195db: goto %00013a73
-
-00013d2d:
-00013d36: RSP := RSP - 8
-00013d3b: mem := mem with [RSP, el]:u64 <- 0x18000145C
-00013d3d: call @sub_180001109 with return %00013d3f
-
-00013d3f:
-00013d45: RBX := RAX
-00013d63: #12582244 := mem[RAX, el]:u64
-00013d83: ZF := 0 = #12582244
-00013d8a: when ZF goto %00013d87
-000195da: goto %00013dd1
-
-00013dd1:
-00013dd7: RCX := RAX
-00013de2: RSP := RSP - 8
-00013de7: mem := mem with [RSP, el]:u64 <- 0x18000146D
-00013de9: call @sub_18000108c with return %00013deb
-
-00013deb:
-00013dfb: #12582240 := low:8[RAX]
-00013e11: ZF := 0 = #12582240
-00013e17: when ZF goto %00013d87
-000195d9: goto %00013e1b
-
-00013e1b:
-00013e21: R8 := RSI
-00013e27: RDX := 2
-00013e2f: RCX := R14
-00013e39: RAX := mem[RBX, el]:u64
-00013e41: R9 := mem[0x18000B020, el]:u64
-00013e4f: #12582238 := R9
-00013e53: RSP := RSP - 8
-00013e58: mem := mem with [RSP, el]:u64 <- 0x180001489
-00013e5b: call #12582238 with return %00013d87
-
-00013d87:
-00013dab: mem :=
-          mem with [0x180008170, el]:u32 <- mem[0x180008170, el]:u32 + 1
-00013dcb: RAX := 1
-00013dcf: goto %00013a73
-
-00013a73:
-00013a7b: RBX := mem[RSP + 0x30, el]:u64
-00013a85: RSI := mem[RSP + 0x38, el]:u64
-00013a8f: RDI := mem[RSP + 0x48, el]:u64
-00013ab0: RSP := RSP + 0x20
-00013adb: R14 := mem[RSP, el]:u64
-00013adf: RSP := RSP + 8
-00013aec: #12582251 := mem[RSP, el]:u64
-00013af0: RSP := RSP + 8
-00013af3: call #12582251 with noreturn
-
-00013ff7:
-00014013: RDX := pad:64[low:32[RDX] - 1]
-0001402f: ZF := 0 = low:32[RDX]
-00014036: when ZF goto %00014033
-000195d8: goto %000140a7
-
-00014033:
-00014042: RSP := RSP - 8
-00014047: mem := mem with [RSP, el]:u64 <- 0x18000136D
-00014049: call @sub_18000111d with return %0001404b
-
-000140a7:
-000140bd: #12582220 := low:32[RDX] - 1
-000140d9: ZF := 0 = #12582220
-000140e0: when ZF goto %000140dd
-000195d7: goto %000140f9
-
-000140dd:
-000140ec: RSP := RSP - 8
-000140f1: mem := mem with [RSP, el]:u64 <- 0x180001366
-000140f3: call @sub_180001177 with return %000140f5
-
-000140f5:
-000140f7: goto %0001404b
-
-0001404b:
-00014051: RAX := pad:64[low:8[RAX]]
-00014072: RSP := RSP + 0x28
-0001409e: #12582221 := mem[RSP, el]:u64
-000140a2: RSP := RSP + 8
-000140a5: call #12582221 with noreturn
-
-000140f9:
-000140fd: RAX := 1
-0001411e: RSP := RSP + 0x28
-0001414a: #12582215 := mem[RSP, el]:u64
-0001414e: RSP := RSP + 8
-00014151: call #12582215 with noreturn
-
-000195e6: sub sub_180001500(sub_180001500_result)
-00019641: sub_180001500_result :: out u32 = low:32[RAX]
+00013a57: RBX := mem[RSP + 0x30, el]:u64
+00013a61: RSI := mem[RSP + 0x38, el]:u64
+00013a6b: RDI := mem[RSP + 0x48, el]:u64
+00013a8c: RSP := RSP + 0x20
+00013ab7: R14 := mem[RSP, el]:u64
+00013abb: RSP := RSP + 8
+00013ac8: #12582255 := mem[RSP, el]:u64
+00013acc: RSP := RSP + 8
+00013acf: call #12582255 with noreturn
+
+00013fd3:
+00013fef: RDX := pad:64[low:32[RDX] - 1]
+0001400b: ZF := 0 = low:32[RDX]
+00014012: when ZF goto %0001400f
+000195b4: goto %00014083
+
+0001400f:
+0001401e: RSP := RSP - 8
+00014023: mem := mem with [RSP, el]:u64 <- 0x180001381
+00014025: call @sub_18000111d with return %00014027
+
+00014083:
+00014099: #12582224 := low:32[RDX] - 1
+000140b5: ZF := 0 = #12582224
+000140bc: when ZF goto %000140b9
+000195b3: goto %000140d5
+
+000140b9:
+000140c8: RSP := RSP - 8
+000140cd: mem := mem with [RSP, el]:u64 <- 0x18000137A
+000140cf: call @sub_180001177 with return %000140d1
+
+000140d1:
+000140d3: goto %00014027
+
+00014027:
+0001402d: RAX := pad:64[low:8[RAX]]
+0001404e: RSP := RSP + 0x28
+0001407a: #12582225 := mem[RSP, el]:u64
+0001407e: RSP := RSP + 8
+00014081: call #12582225 with noreturn
+
+000140d5:
+000140d9: RAX := 1
+000140fa: RSP := RSP + 0x28
+00014126: #12582219 := mem[RSP, el]:u64
+0001412a: RSP := RSP + 8
+0001412d: call #12582219 with noreturn
+
+000195c2: sub sub_180001514(sub_180001514_result)
+0001961d: sub_180001514_result :: out u32 = low:32[RAX]
 
 00012c00:
 00012c0d: mem := mem with [RSP + 8, el]:u64 <- RBX
@@ -2054,13 +2056,13 @@
 00012c95: SF := high:1[#12582298]
 00012c99: ZF := 0 = #12582298
 00012ca8: when ~(ZF | SF) goto %00012ca1
-000195ea: goto %00013901
+000195c6: goto %000138dd
 
 00012ca1:
 00012cc5: RAX := pad:64[low:32[RAX] - 1]
 00012ce7: mem := mem with [0x180008170, el]:u32 <- low:32[RAX]
 00012cf2: RSP := RSP - 8
-00012cf7: mem := mem with [RSP, el]:u64 <- 0x180001531
+00012cf7: mem := mem with [RSP, el]:u64 <- 0x180001545
 00012cf9: call @sub_180001154 with return %00012cfb
 
 00012cfb:
@@ -2069,12 +2071,12 @@
 00012d27: #12582294 := mem[0x1800081B8, el]:u32 - 2
 00012d43: ZF := 0 = #12582294
 00012d4a: when ~ZF goto %00012d47
-000195e9: goto %00012dfd
+000195c5: goto %00012dfd
 
 00012d47:
 00012d51: RCX := 7
 00012d5c: RSP := RSP - 8
-00012d61: mem := mem with [RSP, el]:u64 <- 0x180001581
+00012d61: mem := mem with [RSP, el]:u64 <- 0x180001595
 00012d63: call @sub_18000114a with return %00012d65
 
 00012d65:
@@ -2190,281 +2192,281 @@
 
 00012dfd:
 00012e07: RSP := RSP - 8
-00012e0c: mem := mem with [RSP, el]:u64 <- 0x180001545
-00012e0e: call @sub_180001181 with return %0001358f
+00012e0c: mem := mem with [RSP, el]:u64 <- 0x180001559
+00012e0e: call @sub_180001181 with return %0001356b
+
+0001356b:
+00013574: RSP := RSP - 8
+00013579: mem := mem with [RSP, el]:u64 <- 0x18000155E
+0001357b: call @sub_18000110e with return %0001357d
+
+0001357d:
+00013586: RSP := RSP - 8
+0001358b: mem := mem with [RSP, el]:u64 <- 0x180001563
+0001358d: call @sub_1800010d7 with return %0001358f
 
 0001358f:
-00013598: RSP := RSP - 8
-0001359d: mem := mem with [RSP, el]:u64 <- 0x18000154A
-0001359f: call @sub_18000110e with return %000135a1
-
-000135a1:
-000135aa: RSP := RSP - 8
-000135af: mem := mem with [RSP, el]:u64 <- 0x18000154F
-000135b1: call @sub_1800010d7 with return %000135b3
-
-000135b3:
-000135c3: mem := mem with [0x1800081B8, el]:u32 <- 0
-000135e3: RCX := high:56[RCX].low:8[RBX]
-000135ee: RSP := RSP - 8
-000135f3: mem := mem with [RSP, el]:u64 <- 0x18000155D
-000135f5: call @sub_180001140 with return %000135f7
-
-000135f7:
-00013601: RDX := 0
-0001361d: RCX := high:56[RCX].low:8[RDI]
-00013629: RSP := RSP - 8
-0001362e: mem := mem with [RSP, el]:u64 <- 0x180001567
-00013630: call @sub_180001082 with return %000137c3
-
-000137c3:
-000137da: #12582270 := low:8[RAX]
-000137df: RAX := 63:8[RAX].-low:8[RAX]
-000137e3: CF := #12582270 <> 0
-0001381e: #12582268 := low:32[RBX]
-00013822: #12582267 := low:32[RBX]
-00013828: RBX := pad:64[#12582267 - #12582268 + pad:32[CF]]
-0001385d: RBX := pad:64[low:32[RBX] & 1]
-0001387e: RSP := RSP - 8
-00013883: mem := mem with [RSP, el]:u64 <- 0x180001573
-00013885: call @sub_180001118 with return %00013887
-
-00013887:
-0001388d: RAX := pad:64[low:32[RBX]]
-00013892: goto %00013890
-
-00013901:
-0001390b: RAX := 0
-000195e7: goto %00013890
-
-00013890:
-0001389b: RBX := mem[RSP + 0x40, el]:u64
-000138bc: RSP := RSP + 0x30
-000138e7: RDI := mem[RSP, el]:u64
-000138eb: RSP := RSP + 8
-000138f8: #12582261 := mem[RSP, el]:u64
-000138fc: RSP := RSP + 8
-000138ff: call #12582261 with noreturn
-
-000195eb: sub sub_1800015a8(sub_1800015a8_result)
-00019642: sub_1800015a8_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
-000195fa: goto %00019147
-
-00019147:
-00019162: #12582119 := mem[0x180008170, el]:u32 - low:32[RDX]
-0001916e: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) &
-          (mem[0x180008170, el]:u32 ^ #12582119)]
-0001917d: SF := high:1[#12582119]
-00019181: ZF := 0 = #12582119
-0001918f: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c2e
-000195f9: goto %00019193
-
-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
-000195f8: goto %00019035
-
-00019035:
-0001903b: RAX := mem[0x180006880, el]:u64
-0001904d: #12582126 := RAX
-00019063: ZF := 0 = #12582126
-0001906a: when ~ZF goto %00019067
-000195f7: goto %00019139
-
-00019067:
-00019079: #12582124 := mem[0x18000B020, el]:u64
-0001907d: RSP := RSP - 8
-00019082: mem := mem with [RSP, el]:u64 <- 0x180001601
-00019085: call #12582124 with return %00019087
-
-00019087:
-0001908d: RBX := pad:64[low:32[RAX]]
-00019099: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-000190ab: #12582123 := low:32[RAX]
-000190c1: ZF := 0 = #12582123
-000190c7: when ZF goto %00018bb5
-000195f6: goto %000190cb
-
-00019139:
-00019141: mem := mem with [RSP + 0x30, el]:u32 <- 1
-00019145: goto %000190cb
-
-000190cb:
-000190d1: R8 := RSI
-000190d9: RDX := pad:64[low:32[RDI]]
-000190e1: RCX := R14
-000190ec: RSP := RSP - 8
-000190f1: mem := mem with [RSP, el]:u64 <- 0x18000161C
-000190f3: call @sub_180001340 with return %000190f5
-
-000190f5:
-000190fb: RBX := pad:64[low:32[RAX]]
-00019107: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00019119: #12582121 := low:32[RAX]
-0001912f: ZF := 0 = #12582121
-00019135: when ZF goto %00018bb5
-000195f5: 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 <- 0x180001637
-00004ca3: call @sub_1800010b4 with return %00018acd
-
-00018acd:
-00018ad3: RBX := pad:64[low:32[RAX]]
-00018adf: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00018af7: #12582151 := low:32[RDI] - 1
-00018b13: ZF := 0 = #12582151
-00018b1a: when ~ZF goto %00018b17
-000195f4: goto %00018f01
-
-00018f01:
-00018f11: #12582133 := low:32[RAX]
-00018f27: ZF := 0 = #12582133
-00018f2d: when ~ZF goto %00018b17
-000195f3: goto %00018f31
-
-00018f31:
-00018f37: R8 := RSI
-00018f43: RDX := 0
-00018f5d: RCX := R14
-00018f68: RSP := RSP - 8
-00018f6d: mem := mem with [RSP, el]:u64 <- 0x180001653
-00018f6f: call @sub_1800010b4 with return %00018f71
-
-00018f71:
-00018f81: #12582131 := RSI
-00018f97: ZF := 0 = #12582131
-00018fa1: RCX := 63:8[RCX].pad:8[~ZF]
-00018fac: RSP := RSP - 8
-00018fb1: mem := mem with [RSP, el]:u64 <- 0x18000165E
-00018fb3: call @sub_180001500 with return %00018fb5
-
-00018fb5:
-00018fbb: RAX := mem[0x180006880, el]:u64
-00018fcd: #12582129 := RAX
-00018fe3: ZF := 0 = #12582129
-00018fe9: when ZF goto %00018b17
-000195f2: goto %00018fed
-
-00018fed:
-00018ff3: R8 := RSI
-00018fff: RDX := 0
-00019019: RCX := R14
-00019027: #12582127 := mem[0x18000B020, el]:u64
-0001902b: RSP := RSP - 8
-00019030: mem := mem with [RSP, el]:u64 <- 0x180001678
-00019033: call #12582127 with return %00018b17
-
-00018b17:
-00018b2d: #12582149 := low:32[RDI]
-00018b43: ZF := 0 = #12582149
-00018b4a: when ZF goto %00018b47
-000195f1: goto %00018ec5
-
-00018ec5:
-00018edb: #12582135 := low:32[RDI] - 3
-00018ef7: ZF := 0 = #12582135
-00018efd: when ~ZF goto %00018bb5
-000195f0: goto %00018b47
-
-00018b47:
-00018b53: R8 := RSI
-00018b5b: RDX := pad:64[low:32[RDI]]
-00018b63: RCX := R14
-00018b6e: RSP := RSP - 8
-00018b73: mem := mem with [RSP, el]:u64 <- 0x18000168E
-00018b75: call @sub_180001340 with return %00018b77
-
-00018b77:
-00018b7d: RBX := pad:64[low:32[RAX]]
-00018b89: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-00018b9b: #12582147 := low:32[RAX]
-00018bb1: ZF := 0 = #12582147
-00018bb8: when ZF goto %00018bb5
-000195ef: goto %00018e2f
-
-00018e2f:
-00018e35: RAX := mem[0x180006880, el]:u64
-00018e47: #12582138 := RAX
-00018e5d: ZF := 0 = #12582138
-00018e64: when ~ZF goto %00018e61
-000195ee: goto %00018ead
-
-00018e61:
-00018e6d: R8 := RSI
-00018e75: RDX := pad:64[low:32[RDI]]
-00018e7d: RCX := R14
-00018e8b: #12582136 := mem[0x18000B020, el]:u64
-00018e8f: RSP := RSP - 8
-00018e94: mem := mem with [RSP, el]:u64 <- 0x1800016BB
-00018e97: call #12582136 with return %00018e99
-
-00018e99:
-00018e9f: RBX := pad:64[low:32[RAX]]
-00018eab: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
-000195ed: goto %00018bb5
-
-00018ead:
-00018eb3: RBX := pad:64[low:32[RAX + 1]]
-00018ebf: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX]
-00018ec3: goto %00018bb5
-
-00018bb5:
-00018bbe: goto %00018bbc
-
-00018bbc:
-00018bc5: RAX := pad:64[low:32[RBX]]
-000195ec: goto %00018bc7
-
-00019193:
-0001919d: RAX := 0
-000191b3: goto %00018bc7
-
-00018bc7:
-00018bcf: RBX := mem[RSP + 0x78, el]:u64
-00018bf0: RSP := RSP + 0x40
-00018c1b: R14 := mem[RSP, el]:u64
-00018c1f: RSP := RSP + 8
-00018c2b: RDI := mem[RSP, el]:u64
-00018c2f: RSP := RSP + 8
-00018c3b: RSI := mem[RSP, el]:u64
-00018c3f: RSP := RSP + 8
-00018c4c: #12582142 := mem[RSP, el]:u64
-00018c50: RSP := RSP + 8
-00018c53: call #12582142 with noreturn
-
-000195fb: sub sub_180001d24(sub_180001d24_result)
-00019643: sub_180001d24_result :: out u32 = low:32[RAX]
+0001359f: mem := mem with [0x1800081B8, el]:u32 <- 0
+000135bf: RCX := high:56[RCX].low:8[RBX]
+000135ca: RSP := RSP - 8
+000135cf: mem := mem with [RSP, el]:u64 <- 0x180001571
+000135d1: call @sub_180001140 with return %000135d3
+
+000135d3:
+000135dd: RDX := 0
+000135f9: RCX := high:56[RCX].low:8[RDI]
+00013605: RSP := RSP - 8
+0001360a: mem := mem with [RSP, el]:u64 <- 0x18000157B
+0001360c: call @sub_180001082 with return %0001379f
+
+0001379f:
+000137b6: #12582274 := low:8[RAX]
+000137bb: RAX := 63:8[RAX].-low:8[RAX]
+000137bf: CF := #12582274 <> 0
+000137fa: #12582272 := low:32[RBX]
+000137fe: #12582271 := low:32[RBX]
+00013804: RBX := pad:64[#12582271 - #12582272 + pad:32[CF]]
+00013839: RBX := pad:64[low:32[RBX] & 1]
+0001385a: RSP := RSP - 8
+0001385f: mem := mem with [RSP, el]:u64 <- 0x180001587
+00013861: call @sub_180001118 with return %00013863
+
+00013863:
+00013869: RAX := pad:64[low:32[RBX]]
+0001386e: goto %0001386c
+
+000138dd:
+000138e7: RAX := 0
+000195c3: goto %0001386c
+
+0001386c:
+00013877: RBX := mem[RSP + 0x40, el]:u64
+00013898: RSP := RSP + 0x30
+000138c3: RDI := mem[RSP, el]:u64
+000138c7: RSP := RSP + 8
+000138d4: #12582265 := mem[RSP, el]:u64
+000138d8: RSP := RSP + 8
+000138db: call #12582265 with noreturn
+
+000195c7: sub sub_1800015bc(sub_1800015bc_result)
+0001961e: 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
+000195d6: goto %00019123
+
+00019123:
+0001913e: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX]
+0001914a: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) &
+          (mem[0x180008170, el]:u32 ^ #12582123)]
+00019159: SF := high:1[#12582123]
+0001915d: ZF := 0 = #12582123
+0001916b: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c3e
+000195d5: goto %0001916f
+
+00004c3e:
+00004c4a: RAX := pad:64[low:32[RDX - 1]]
+00004c62: #12582894 := low:32[RAX] - 1
+00004c66: CF := low:32[RAX] < 1
+00004c7e: ZF := 0 = #12582894
+00004c87: when ~(CF | ZF) goto %00004c83
+000195d4: goto %00019011
+
+00019011:
+00019017: RAX := mem[0x180006880, el]:u64
+00019029: #12582130 := RAX
+0001903f: ZF := 0 = #12582130
+00019046: when ~ZF goto %00019043
+000195d3: goto %00019115
+
+00019043:
+00019055: #12582128 := mem[0x18000B020, el]:u64
+00019059: RSP := RSP - 8
+0001905e: mem := mem with [RSP, el]:u64 <- 0x180001615
+00019061: call #12582128 with return %00019063
+
+00019063:
+00019069: RBX := pad:64[low:32[RAX]]
+00019075: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00019087: #12582127 := low:32[RAX]
+0001909d: ZF := 0 = #12582127
+000190a3: when ZF goto %00018b91
+000195d2: goto %000190a7
+
+00019115:
+0001911d: mem := mem with [RSP + 0x30, el]:u32 <- 1
+00019121: goto %000190a7
+
+000190a7:
+000190ad: R8 := RSI
+000190b5: RDX := pad:64[low:32[RDI]]
+000190bd: RCX := R14
+000190c8: RSP := RSP - 8
+000190cd: mem := mem with [RSP, el]:u64 <- 0x180001630
+000190cf: call @sub_180001354 with return %000190d1
+
+000190d1:
+000190d7: RBX := pad:64[low:32[RAX]]
+000190e3: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+000190f5: #12582125 := low:32[RAX]
+0001910b: ZF := 0 = #12582125
+00019111: when ZF goto %00018b91
+000195d1: goto %00004c83
+
+00004c83:
+00004c90: R8 := RSI
+00004c98: RDX := pad:64[low:32[RDI]]
+00004ca0: RCX := R14
+00004cac: RSP := RSP - 8
+00004cb1: mem := mem with [RSP, el]:u64 <- 0x18000164B
+00004cb3: call @sub_1800010b4 with return %00018aa9
+
+00018aa9:
+00018aaf: RBX := pad:64[low:32[RAX]]
+00018abb: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018ad3: #12582155 := low:32[RDI] - 1
+00018aef: ZF := 0 = #12582155
+00018af6: when ~ZF goto %00018af3
+000195d0: goto %00018edd
+
+00018edd:
+00018eed: #12582137 := low:32[RAX]
+00018f03: ZF := 0 = #12582137
+00018f09: when ~ZF goto %00018af3
+000195cf: goto %00018f0d
+
+00018f0d:
+00018f13: R8 := RSI
+00018f1f: RDX := 0
+00018f39: RCX := R14
+00018f44: RSP := RSP - 8
+00018f49: mem := mem with [RSP, el]:u64 <- 0x180001667
+00018f4b: call @sub_1800010b4 with return %00018f4d
+
+00018f4d:
+00018f5d: #12582135 := RSI
+00018f73: ZF := 0 = #12582135
+00018f7d: RCX := 63:8[RCX].pad:8[~ZF]
+00018f88: RSP := RSP - 8
+00018f8d: mem := mem with [RSP, el]:u64 <- 0x180001672
+00018f8f: call @sub_180001514 with return %00018f91
+
+00018f91:
+00018f97: RAX := mem[0x180006880, el]:u64
+00018fa9: #12582133 := RAX
+00018fbf: ZF := 0 = #12582133
+00018fc5: when ZF goto %00018af3
+000195ce: goto %00018fc9
+
+00018fc9:
+00018fcf: R8 := RSI
+00018fdb: RDX := 0
+00018ff5: RCX := R14
+00019003: #12582131 := mem[0x18000B020, el]:u64
+00019007: RSP := RSP - 8
+0001900c: mem := mem with [RSP, el]:u64 <- 0x18000168C
+0001900f: call #12582131 with return %00018af3
+
+00018af3:
+00018b09: #12582153 := low:32[RDI]
+00018b1f: ZF := 0 = #12582153
+00018b26: when ZF goto %00018b23
+000195cd: goto %00018ea1
+
+00018ea1:
+00018eb7: #12582139 := low:32[RDI] - 3
+00018ed3: ZF := 0 = #12582139
+00018ed9: when ~ZF goto %00018b91
+000195cc: goto %00018b23
+
+00018b23:
+00018b2f: R8 := RSI
+00018b37: RDX := pad:64[low:32[RDI]]
+00018b3f: RCX := R14
+00018b4a: RSP := RSP - 8
+00018b4f: mem := mem with [RSP, el]:u64 <- 0x1800016A2
+00018b51: call @sub_180001354 with return %00018b53
+
+00018b53:
+00018b59: RBX := pad:64[low:32[RAX]]
+00018b65: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018b77: #12582151 := low:32[RAX]
+00018b8d: ZF := 0 = #12582151
+00018b94: when ZF goto %00018b91
+000195cb: goto %00018e0b
+
+00018e0b:
+00018e11: RAX := mem[0x180006880, el]:u64
+00018e23: #12582142 := RAX
+00018e39: ZF := 0 = #12582142
+00018e40: when ~ZF goto %00018e3d
+000195ca: goto %00018e89
+
+00018e3d:
+00018e49: R8 := RSI
+00018e51: RDX := pad:64[low:32[RDI]]
+00018e59: RCX := R14
+00018e67: #12582140 := mem[0x18000B020, el]:u64
+00018e6b: RSP := RSP - 8
+00018e70: mem := mem with [RSP, el]:u64 <- 0x1800016CF
+00018e73: call #12582140 with return %00018e75
+
+00018e75:
+00018e7b: RBX := pad:64[low:32[RAX]]
+00018e87: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+000195c9: goto %00018b91
+
+00018e89:
+00018e8f: RBX := pad:64[low:32[RAX + 1]]
+00018e9b: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX]
+00018e9f: goto %00018b91
+
+00018b91:
+00018b9a: goto %00018b98
+
+00018b98:
+00018ba1: RAX := pad:64[low:32[RBX]]
+000195c8: goto %00018ba3
+
+0001916f:
+00019179: RAX := 0
+0001918f: goto %00018ba3
+
+00018ba3:
+00018bab: RBX := mem[RSP + 0x78, el]:u64
+00018bcc: RSP := RSP + 0x40
+00018bf7: R14 := mem[RSP, el]:u64
+00018bfb: RSP := RSP + 8
+00018c07: RDI := mem[RSP, el]:u64
+00018c0b: RSP := RSP + 8
+00018c17: RSI := mem[RSP, el]:u64
+00018c1b: RSP := RSP + 8
+00018c28: #12582146 := mem[RSP, el]:u64
+00018c2c: RSP := RSP + 8
+00018c2f: call #12582146 with noreturn
+
+000195d7: sub sub_180001d38(sub_180001d38_result)
+0001961f: sub_180001d38_result :: out u32 = low:32[RAX]
 
 0000d6f6:
 0000d715: RSP := RSP - 0x18
@@ -2473,7 +2475,7 @@
 0000d75c: #12582860 := mem[0x180000000, el]:u16 - 0x5A4D
 0000d77b: ZF := 0 = #12582860
 0000d782: when ~ZF goto %0000d77f
-00019605: goto %0000d8bd
+000195e1: goto %0000d8bd
 
 0000d8bd:
 0000d8c3: RCX := extend:64[mem[0x18000003C, el]:u32]
@@ -2482,14 +2484,14 @@
 0000d933: #12582851 := mem[RCX, el]:u32 - 0x4550
 0000d953: ZF := 0 = #12582851
 0000d959: when ~ZF goto %0000d77f
-00019604: goto %0000d95d
+000195e0: goto %0000d95d
 
 0000d95d:
 0000d961: RAX := 0x20B
 0000d984: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B
 0000d9a7: ZF := 0 = #12582849
 0000d9ad: when ~ZF goto %0000d77f
-00019603: goto %0000d9b1
+000195df: goto %0000d9b1
 
 0000d77f:
 0000d791: RAX := 63:8[RAX].0
@@ -2504,24 +2506,24 @@
 0000da97: RAX := pad:64[mem[RCX + 6, el]:u16]
 0000daa1: RCX := RAX + (RAX << 2)
 0000daab: R9 := RDX + (RCX << 3)
-00019602: goto %0000daad
+000195de: goto %0000daad
 
 0000daad:
 0000dab7: mem := mem with [RSP, el]:u64 <- RDX
 0000dad4: #12582838 := RDX - R9
 0000daf3: ZF := 0 = #12582838
 0000dafa: when ZF goto %0000daf7
-00019601: goto %0000dbeb
+000195dd: goto %0000dbeb
 
 0000daf7:
 0000db07: RDX := 0
-00019600: goto %0000db1b
+000195dc: goto %0000db1b
 
 0000dbeb:
 0000dbf3: RCX := pad:64[mem[RDX + 0xC, el]:u32]
 0000dc15: CF := R8 < RCX
 0000dc36: when CF goto %0000dc33
-000195ff: goto %0000dc7d
+000195db: goto %0000dc7d
 
 0000dc7d:
 0000dc85: RAX := pad:64[mem[RDX + 8, el]:u32]
@@ -2529,13 +2531,13 @@
 0000dcb0: RAX := pad:64[low:32[RAX] + #12582826]
 0000dcf3: CF := R8 < RAX
 0000dd13: when CF goto %0000db1b
-000195fe: goto %0000dc33
+000195da: goto %0000dc33
 
 0000db1b:
 0000db2b: #12582836 := RDX
 0000db41: ZF := 0 = #12582836
 0000db48: when ~ZF goto %0000db45
-000195fd: goto %0000dbc7
+000195d9: goto %0000dbc7
 
 0000db45:
 0000db67: #12582834 := mem[RDX + 0x24, el]:u32
@@ -2543,7 +2545,7 @@
           (mem[RDX + 0x24, el]:u32 ^ #12582834)]
 0000db83: SF := high:1[#12582834]
 0000db94: when ~((SF | OF) & ~(SF & OF)) goto %0000db8e
-000195fc: goto %0000dba3
+000195d8: goto %0000dba3
 
 0000db8e:
 0000db9d: RAX := high:56[RAX].1
@@ -2567,122 +2569,122 @@
 0000dc58: RDX := RDX + 0x28
 0000dc7b: goto %0000daad
 
-00019606: sub sub_180002736(sub_180002736_result)
-00019644: sub_180002736_result :: out u32 = low:32[RAX]
+000195e2: sub sub_180002746(sub_180002746_result)
+00019620: 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
 
-00019607: sub sub_18000273c(sub_18000273c_result)
-00019645: sub_18000273c_result :: out u32 = low:32[RAX]
+000195e3: sub sub_18000274c(sub_18000274c_result)
+00019621: sub_18000274c_result :: out u32 = low:32[RAX]
 
-00004dd7:
-00004ddb: call mem[0x18000A100, el]:u64 with noreturn
+00004de7:
+00004deb: call mem[0x18000A100, el]:u64 with noreturn
 
-00019608: sub sub_180002742(sub_180002742_result)
-00019646: sub_180002742_result :: out u32 = low:32[RAX]
+000195e4: sub sub_180002752(sub_180002752_result)
+00019622: sub_180002752_result :: out u32 = low:32[RAX]
 
-00004ddd:
-00004de1: call mem[0x18000A108, el]:u64 with noreturn
+00004ded:
+00004df1: call mem[0x18000A108, el]:u64 with noreturn
 
-00019609: sub sub_180002748(sub_180002748_result)
-00019647: sub_180002748_result :: out u32 = low:32[RAX]
+000195e5: sub sub_180002758(sub_180002758_result)
+00019623: sub_180002758_result :: out u32 = low:32[RAX]
 
-00004de3:
-00004de7: call mem[0x18000A1A0, el]:u64 with noreturn
+00004df3:
+00004df7: call mem[0x18000A1A0, el]:u64 with noreturn
 
-0001960a: sub sub_18000274e(sub_18000274e_result)
-00019648: sub_18000274e_result :: out u32 = low:32[RAX]
+000195e6: sub sub_18000275e(sub_18000275e_result)
+00019624: sub_18000275e_result :: out u32 = low:32[RAX]
 
-00004de9:
-00004ded: call mem[0x18000A178, el]:u64 with noreturn
+00004df9:
+00004dfd: call mem[0x18000A178, el]:u64 with noreturn
 
-0001960b: sub sub_18000275a(sub_18000275a_result)
-00019649: sub_18000275a_result :: out u32 = low:32[RAX]
+000195e7: sub sub_18000276a(sub_18000276a_result)
+00019625: sub_18000276a_result :: out u32 = low:32[RAX]
 
-00004df5:
-00004df9: call mem[0x18000A188, el]:u64 with noreturn
+00004e05:
+00004e09: call mem[0x18000A188, el]:u64 with noreturn
 
-0001960c: sub sub_180002760(sub_180002760_result)
-0001964a: sub_180002760_result :: out u32 = low:32[RAX]
+000195e8: sub sub_180002770(sub_180002770_result)
+00019626: sub_180002770_result :: out u32 = low:32[RAX]
 
-00004dfb:
-00004dff: call mem[0x18000A190, el]:u64 with noreturn
+00004e0b:
+00004e0f: call mem[0x18000A190, el]:u64 with noreturn
 
-0001960d: sub sub_180002766(sub_180002766_result)
-0001964b: sub_180002766_result :: out u32 = low:32[RAX]
+000195e9: sub sub_180002776(sub_180002776_result)
+00019627: sub_180002776_result :: out u32 = low:32[RAX]
 
-00004e01:
-00004e05: call mem[0x18000A198, el]:u64 with noreturn
+00004e11:
+00004e15: call mem[0x18000A198, el]:u64 with noreturn
 
-0001960e: sub sub_18000276c(sub_18000276c_result)
-0001964c: sub_18000276c_result :: out u32 = low:32[RAX]
+000195ea: sub sub_18000277c(sub_18000277c_result)
+00019628: sub_18000277c_result :: out u32 = low:32[RAX]
 
-00004e07:
-00004e0b: call mem[0x18000A1D0, el]:u64 with noreturn
+00004e17:
+00004e1b: call mem[0x18000A1D0, el]:u64 with noreturn
 
-0001960f: sub sub_180002778(sub_180002778_result)
-0001964d: sub_180002778_result :: out u32 = low:32[RAX]
+000195eb: sub sub_180002788(sub_180002788_result)
+00019629: sub_180002788_result :: out u32 = low:32[RAX]
 
-00004e13:
-00004e17: call mem[0x18000A1B0, el]:u64 with noreturn
+00004e23:
+00004e27: call mem[0x18000A1B0, el]:u64 with noreturn
 
-00019610: sub sub_180002784(sub_180002784_result)
-0001964e: sub_180002784_result :: out u32 = low:32[RAX]
+000195ec: sub sub_180002794(sub_180002794_result)
+0001962a: sub_180002794_result :: out u32 = low:32[RAX]
 
-00004e1f:
-00004e23: call mem[0x18000A1C0, el]:u64 with noreturn
+00004e2f:
+00004e33: call mem[0x18000A1C0, el]:u64 with noreturn
 
-00019611: sub sub_18000278a(sub_18000278a_result)
-0001964f: sub_18000278a_result :: out u32 = low:32[RAX]
+000195ed: sub sub_18000279a(sub_18000279a_result)
+0001962b: sub_18000279a_result :: out u32 = low:32[RAX]
 
-00004e25:
-00004e29: call mem[0x18000A1C8, el]:u64 with noreturn
+00004e35:
+00004e39: call mem[0x18000A1C8, el]:u64 with noreturn
 
-00019612: sub sub_180002790(sub_180002790_result)
-00019650: sub_180002790_result :: out u32 = low:32[RAX]
+000195ee: sub sub_1800027a0(sub_1800027a0_result)
+0001962c: sub_1800027a0_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
+00004e3b:
+00004e41: RAX := high:56[RAX].1
+00004e4e: #12582883 := mem[RSP, el]:u64
+00004e52: RSP := RSP + 8
+00004e55: call #12582883 with noreturn
 
-00019613: sub sub_180002794(sub_180002794_result)
-00019651: sub_180002794_result :: out u32 = low:32[RAX]
+000195ef: sub sub_1800027a4(sub_1800027a4_result)
+0001962d: sub_1800027a4_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
+00004e5b:
+00004e61: RAX := high:56[RAX].1
+00004e6e: #12582882 := mem[RSP, el]:u64
+00004e72: RSP := RSP + 8
+00004e75: call #12582882 with noreturn
 
-00019614: sub sub_180002798(sub_180002798_result)
-00019652: sub_180002798_result :: out u32 = low:32[RAX]
+000195f0: sub sub_1800027a8(sub_1800027a8_result)
+0001962e: sub_1800027a8_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
+00004e7b:
+00004e81: RAX := high:56[RAX].1
+00004e8e: #12582881 := mem[RSP, el]:u64
+00004e92: RSP := RSP + 8
+00004e95: call #12582881 with noreturn
 
-00019615: sub sub_18000279c(sub_18000279c_result)
-00019653: sub_18000279c_result :: out u32 = low:32[RAX]
+000195f1: sub sub_1800027ac(sub_1800027ac_result)
+0001962f: sub_1800027ac_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
+00004e9b:
+00004ea1: RAX := high:56[RAX].1
+00004eae: #12582880 := mem[RSP, el]:u64
+00004eb2: RSP := RSP + 8
+00004eb5: call #12582880 with noreturn
 
-00019616: sub sub_1800027a0(sub_1800027a0_result)
-00019654: sub_1800027a0_result :: out u32 = low:32[RAX]
+000195f2: sub sub_1800027b0(sub_1800027b0_result)
+00019630: sub_1800027b0_result :: out u32 = low:32[RAX]
 
-00004eab:
-00004eb1: RAX := high:56[RAX].1
-00004ebe: #12582879 := mem[RSP, el]:u64
-00004ec2: RSP := RSP + 8
-00004ec5: call #12582879 with noreturn
+00004ebb:
+00004ec1: RAX := high:56[RAX].1
+00004ece: #12582879 := mem[RSP, el]:u64
+00004ed2: RSP := RSP + 8
+00004ed5: call #12582879 with noreturn
 
 00010e43: sub intrinsic:x86:lock()
 
@@ -2690,8 +2692,8 @@
 00010e63: sub intrinsic:x86:unlock()
 
 
-00004d79: sub interrupt:#3(interrupt:#3_result)
-00019655: interrupt:#3_result :: out u32 = low:32[RAX]
+00004d89: sub interrupt:#3(interrupt:#3_result)
+00019631: interrupt:#3_result :: out u32 = low:32[RAX]
 
 0000f688: sub interrupt:#41(interrupt:#41_result)
-00019656: interrupt:#41_result :: out u32 = low:32[RAX]
+00019632: interrupt:#41_result :: out u32 = low:32[RAX]