From c37f541e52d8bc2ce957483c7d1b12c85e9ee29a Mon Sep 17 00:00:00 2001
From: matt-j-griffin <maattgriffin@outlook.com>
Date: Sat, 22 Jul 2023 11:45:34 +0100
Subject: [PATCH] 3a bir

---
 BCB/Cheang et al/Figure_3a/Figure_3a.bir | 2699 ++++++++++++++++++++++
 1 file changed, 2699 insertions(+)
 create mode 100644 BCB/Cheang et al/Figure_3a/Figure_3a.bir

diff --git a/BCB/Cheang et al/Figure_3a/Figure_3a.bir b/BCB/Cheang et al/Figure_3a/Figure_3a.bir
new file mode 100644
index 0000000..4776db0
--- /dev/null
+++ b/BCB/Cheang et al/Figure_3a/Figure_3a.bir	
@@ -0,0 +1,2699 @@
+0001954f: program
+00019550: sub foo(foo_result)
+000195fd: foo_result :: out u32 = low:32[RAX]
+
+000143a1:
+000143a3: goto %0001344b
+
+0001344b:
+00013451: RAX := pad:64[mem[0x180008223]]
+00013473: CF := low:32[RCX] < low:32[RAX]
+00013494: when ~CF goto %00013491
+00019551: goto %00013503
+
+00013491:
+000134a3: RAX := 63:8[RAX].0
+000134c2: #12582290 := mem[RSP, el]:u64
+000134c6: RSP := RSP + 8
+000134c9: call #12582290 with noreturn
+
+00013503:
+00013509: RAX := pad:64[low:32[RCX]]
+0001350f: RDX := 0x180000000
+0001351b: RCX := pad:64[mem[RAX + 0x180008230]]
+00013523: RAX := pad:64[mem[0x180008218]]
+00013539: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]]
+0001353d: RCX := pad:64[low:32[#12582289]]
+0001355f: RAX := pad:64[mem[RCX + 0x180008228]]
+0001356c: #12582288 := mem[RSP, el]:u64
+00013570: RSP := RSP + 8
+00013573: call #12582288 with noreturn
+
+00019552: sub sub_180001005(sub_180001005_result)
+000195fe: 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
+00019553: goto %0001953d
+
+0001953d:
+00019546: RSP := RSP - 8
+0001954b: mem := mem with [RSP, el]:u64 <- 0x180001781
+0001954d: 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_1800015b8 with noreturn
+
+00019554: sub sub_18000100f(sub_18000100f_result)
+000195ff: sub_18000100f_result :: out u32 = low:32[RAX]
+
+000118b5:
+000118c4: goto %000118c2
+
+000118c2:
+000118c9: RAX := 0x180008198
+000118d6: #12582417 := mem[RSP, el]:u64
+000118da: RSP := RSP + 8
+000118dd: call #12582417 with noreturn
+
+00019555: sub sub_180001019(sub_180001019_result)
+00019600: sub_180001019_result :: out u32 = low:32[RAX]
+
+0001191d:
+00011920: goto %0001191e
+
+0001191e:
+0001193d: RSP := RSP - 0x28
+00011965: RCX := 0
+00011982: RSP := RSP - 8
+00011987: mem := mem with [RSP, el]:u64 <- 0x180001AF7
+00011989: call @sub_18000105a with return %0001198b
+
+0001198b:
+0001199b: #12582412 := low:8[RAX]
+000119b1: ZF := 0 = #12582412
+000119bb: RAX := 63:8[RAX].pad:8[~ZF]
+000119dc: RSP := RSP + 0x28
+00011a08: #12582407 := mem[RSP, el]:u64
+00011a0c: RSP := RSP + 8
+00011a0f: call #12582407 with noreturn
+
+00019556: sub sub_18000101e(sub_18000101e_result)
+00019601: sub_18000101e_result :: out u32 = low:32[RAX]
+
+0001207b:
+0001207d: goto %000118ef
+
+000118ef:
+000118f3: RAX := 0x1800081A8
+00011900: #12582416 := mem[RSP, el]:u64
+00011904: RSP := RSP + 8
+00011907: call #12582416 with noreturn
+
+00019557: sub sub_18000102d(sub_18000102d_result)
+00019602: sub_18000102d_result :: out u32 = low:32[RAX]
+
+00011813:
+00011821: call @sub_1800027a0 with noreturn
+
+00019558: sub sub_180001032(sub_180001032_result)
+00019603: sub_180001032_result :: out u32 = low:32[RAX]
+
+00011823:
+00011825: goto %00004edb
+
+00004edb:
+00004ee5: RAX := 0
+00004f04: #12582878 := mem[RSP, el]:u64
+00004f08: RSP := RSP + 8
+00004f0b: call #12582878 with noreturn
+
+00019559: sub sub_18000103c(sub_18000103c_result)
+00019604: sub_18000103c_result :: out u32 = low:32[RAX]
+
+0000dd6b:
+0000dd7a: goto %0000dd78
+
+0000dd78:
+0000dd87: #12582819 := RBX
+0000dd8b: RSP := RSP - 8
+0000dd91: mem := mem with [RSP, el]:u64 <- #12582819
+0000ddaf: RSP := RSP - 0x20
+0000dde3: #12582815 := mem[0x1800081D0, el]:u64 - 0xFFFFFFFFFFFFFFFF
+0000ddff: ZF := 0 = #12582815
+0000de07: RBX := RCX
+0000de0e: when ~ZF goto %0000de0b
+0001955a: goto %0000df91
+
+0000de0b:
+0000de17: RDX := RBX
+0000de1d: RCX := 0x1800081D0
+0000de28: RSP := RSP - 8
+0000de2d: mem := mem with [RSP, el]:u64 <- 0x180001E81
+0000de2f: call @sub_18000277c with return %0000de31
+
+0000df91:
+0000df9a: RSP := RSP - 8
+0000df9f: mem := mem with [RSP, el]:u64 <- 0x180001E70
+0000dfa1: call @sub_180002788 with return %0000dfa3
+
+0000dfa3:
+0000dfa5: goto %0000de31
+
+0000de31:
+0000de3b: RDX := 0
+0000de5f: #12582813 := low:32[RAX]
+0000de75: ZF := 0 = #12582813
+0000de81: RDX := if ZF then RBX else 0
+0000de89: RAX := RDX
+0000deaa: RSP := RSP + 0x20
+0000ded5: RBX := mem[RSP, el]:u64
+0000ded9: RSP := RSP + 8
+0000dee6: #12582808 := mem[RSP, el]:u64
+0000deea: RSP := RSP + 8
+0000deed: call #12582808 with noreturn
+
+0001955b: sub sub_180001041(sub_180001041_result)
+00019605: sub_180001041_result :: out u32 = low:32[RAX]
+
+0000dfa7:
+0000dfa9: goto %00004dad
+
+00004dad:
+00004db1: RCX := 0x180008180
+00004db7: call mem[0x18000A028, el]:u64 with noreturn
+
+0001955c: sub sub_180001046(sub_180001046_result)
+00019606: sub_180001046_result :: out u32 = low:32[RAX]
+
+0000dfab:
+0000dfad: call @sub_1800027ac with noreturn
+
+0001955d: sub sub_180001055(sub_180001055_result)
+00019607: sub_180001055_result :: out u32 = low:32[RAX]
+
+0000f077:
+0000f079: call @sub_1800027a4 with noreturn
+
+0001955e: sub sub_18000105a(sub_18000105a_result)
+00019608: sub_18000105a_result :: out u32 = low:32[RAX]
+
+0000f07b:
+0000f07e: goto %0000f07c
+
+0000f07c:
+0000f08b: #12582710 := RBX
+0000f08f: RSP := RSP - 8
+0000f095: mem := mem with [RSP, el]:u64 <- #12582710
+0000f0b3: RSP := RSP - 0x20
+0000f0e7: #12582706 := mem[0x1800081C9]
+0000f103: ZF := 0 = #12582706
+0000f10b: RBX := pad:64[low:32[RCX]]
+0000f112: when ~ZF goto %0000f10f
+00019568: goto %000141dd
+
+000141dd:
+000141f3: #12582218 := low:32[RCX] - 1
+000141f7: CF := low:32[RCX] < 1
+0001420f: ZF := 0 = #12582218
+00014217: when ~(CF | ZF) goto %0000f181
+00019567: goto %0001421b
+
+0000f181:
+0000f185: RCX := 5
+0000f191: RSP := RSP - 8
+0000f196: mem := mem with [RSP, el]:u64 <- 0x180001D0E
+0000f198: call @sub_18000114a with return %00014145
+
+00014145:
+00014147: call @interrupt:#3 with noreturn
+
+00014149:
+0001414b: call @interrupt:#3 with noreturn
+
+0001414d:
+0001414f: call @interrupt:#3 with noreturn
+
+00014151:
+00014153: call @interrupt:#3 with noreturn
+
+00014155:
+00014157: call @interrupt:#3 with noreturn
+
+00014159:
+0001415b: call @interrupt:#3 with noreturn
+
+0001415d:
+0001415f: call @interrupt:#3 with noreturn
+
+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
+
+00014179:
+0001417b: call @interrupt:#3 with noreturn
+
+0001417d:
+0001417f: call @interrupt:#3 with noreturn
+
+00014181:
+00014183: call @interrupt:#3 with noreturn
+
+00014185:
+00014187: call @interrupt:#3 with noreturn
+
+00014189:
+0001418b: call @interrupt:#3 with noreturn
+
+0001418d:
+0001418f: call @interrupt:#3 with noreturn
+
+00014191:
+00014193: call @interrupt:#3 with noreturn
+
+00014195:
+00014197: call @interrupt:#3 with noreturn
+
+00014199:
+0001419b: call @interrupt:#3 with noreturn
+
+0001419d:
+0001419f: call @interrupt:#3 with noreturn
+
+000141a1:
+000141a3: call @interrupt:#3 with noreturn
+
+000141a5:
+000141a7: call @interrupt:#3 with noreturn
+
+000141a9:
+000141ab: call @interrupt:#3 with noreturn
+
+000141ad:
+000141af: call @interrupt:#3 with noreturn
+
+000141b1:
+000141b3: call @interrupt:#3 with noreturn
+
+000141b5:
+000141b7: call @interrupt:#3 with noreturn
+
+000141b9:
+000141bb: call @interrupt:#3 with noreturn
+
+000141bd:
+000141bf: call @interrupt:#3 with noreturn
+
+000141c1:
+000141c3: call @interrupt:#3 with noreturn
+
+000141c5:
+000141c7: call @interrupt:#3 with noreturn
+
+000141c9:
+000141cb: call @interrupt:#3 with noreturn
+
+000141cd:
+000141cf: call @interrupt:#3 with noreturn
+
+000141d1:
+000141d3: call @interrupt:#3 with noreturn
+
+000141d5:
+000141d7: call @interrupt:#3 with noreturn
+
+000141d9:
+000141db: call @interrupt:#3 with noreturn
+
+0001421b:
+00014224: RSP := RSP - 8
+00014229: mem := mem with [RSP, el]:u64 <- 0x180001C9F
+0001422b: call @sub_180001087 with return %0001422d
+
+0001422d:
+0001423d: #12582216 := low:32[RAX]
+00014253: ZF := 0 = #12582216
+0001425a: when ZF goto %00014257
+00019565: goto %000142b5
+
+000142b5:
+000142c5: #12582213 := low:32[RBX]
+000142db: ZF := 0 = #12582213
+000142e1: when ~ZF goto %00014257
+00019564: goto %000142e5
+
+00014257:
+00014265: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128
+00014271: RAX := 0xFFFFFFFFFFFFFFFF
+0001428d: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0]
+00014297: mem := mem with [0x1800081E0, el]:u64 <- 0xFFFFFFFFFFFFFFFF
+000142a1: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0]
+000142ab: mem := mem with [0x1800081F8, el]:u64 <- 0xFFFFFFFFFFFFFFFF
+00019563: goto %000142ad
+
+000142e5:
+000142e9: RCX := 0x1800081D0
+000142f4: RSP := RSP - 8
+000142f9: mem := mem with [RSP, el]:u64 <- 0x180001CB3
+000142fb: call @sub_180002776 with return %000142fd
+
+000142fd:
+0001430d: #12582211 := low:32[RAX]
+00014323: ZF := 0 = #12582211
+0001432a: when ~ZF goto %00014327
+00019562: goto %00014351
+
+00014351:
+00014355: RCX := 0x1800081E8
+00014360: RSP := RSP - 8
+00014365: mem := mem with [RSP, el]:u64 <- 0x180001CC3
+00014367: call @sub_180002776 with return %00014369
+
+00014369:
+00014379: #12582209 := low:32[RAX]
+0001438f: ZF := 0 = #12582209
+00014395: when ZF goto %000142ad
+00019561: goto %00014327
+
+000142ad:
+000142b3: mem := mem with [0x1800081C9] <- 1
+00019560: goto %0000f10f
+
+0000f10f:
+0000f11b: RAX := high:56[RAX].1
+0001955f: goto %0000f11d
+
+00014327:
+00014339: RAX := 63:8[RAX].0
+0001434f: goto %0000f11d
+
+0000f11d:
+0000f13c: RSP := RSP + 0x20
+0000f167: RBX := mem[RSP, el]:u64
+0000f16b: RSP := RSP + 8
+0000f178: #12582701 := mem[RSP, el]:u64
+0000f17c: RSP := RSP + 8
+0000f17f: call #12582701 with noreturn
+
+00019569: sub sub_180001082(sub_180001082_result)
+00019609: sub_180001082_result :: out u32 = low:32[RAX]
+
+0001360b:
+0001361a: goto %00013618
+
+00013618:
+00013627: #12582286 := RBX
+0001362b: RSP := RSP - 8
+00013631: mem := mem with [RSP, el]:u64 <- #12582286
+0001364f: RSP := RSP - 0x20
+00013683: #12582282 := mem[0x1800081C8]
+0001369f: ZF := 0 = #12582282
+000136a9: RBX := high:56[RBX].low:8[RCX]
+000136b0: when ZF goto %000136ad
+0001956b: goto %00013779
+
+00013779:
+00013789: #12582276 := low:8[RDX]
+0001379f: ZF := 0 = #12582276
+000137a5: when ~ZF goto %000136e1
+0001956a: goto %000136ad
+
+000136ad:
+000136bc: RSP := RSP - 8
+000136c1: mem := mem with [RSP, el]:u64 <- 0x180001E3E
+000136c3: call @sub_1800010e6 with return %000136c5
+
+000136c5:
+000136cd: RCX := high:56[RCX].low:8[RBX]
+000136d8: RSP := RSP - 8
+000136dd: mem := mem with [RSP, el]:u64 <- 0x180001E45
+000136df: call @sub_180001046 with return %000136e1
+
+000136e1:
+000136e7: RAX := high:56[RAX].1
+00013708: RSP := RSP + 0x20
+00013733: RBX := mem[RSP, el]:u64
+00013737: RSP := RSP + 8
+00013744: #12582277 := mem[RSP, el]:u64
+00013748: RSP := RSP + 8
+0001374b: call #12582277 with noreturn
+
+0001956c: sub sub_180001087(sub_180001087_result)
+0001960a: 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
+
+0001956d: sub sub_18000108c(sub_18000108c_result)
+0001960b: sub_18000108c_result :: out u32 = low:32[RAX]
+
+0000d705:
+0000d708: call @sub_180001d34 with noreturn
+
+0001956e: sub sub_180001096(sub_180001096_result)
+0001960c: sub_180001096_result :: out u32 = low:32[RAX]
+
+00011bc9:
+00011bd7: call @sub_1800027a8 with noreturn
+
+0001956f: sub sub_1800010a5(sub_1800010a5_result)
+0001960d: sub_1800010a5_result :: out u32 = low:32[RAX]
+
+000116dd:
+000116eb: call @sub_1800027b0 with noreturn
+
+00019570: sub sub_1800010aa(sub_1800010aa_result)
+0001960e: sub_1800010aa_result :: out u32 = low:32[RAX]
+
+000116ed:
+000116ef: call @sub_1800027a4 with noreturn
+
+00019571: sub sub_1800010b4(sub_1800010b4_result)
+0001960f: 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
+00019573: goto %00018a55
+
+00018a55:
+00018a6b: #12582158 := mem[0x180006880, el]:u64
+00018a87: ZF := 0 = #12582158
+00018a8d: when ~ZF goto %00004d28
+00019572: goto %00018a91
+
+00018a91:
+00018a9d: #12582156 := mem[0x18000A020, el]:u64
+00018aa1: RSP := RSP - 8
+00018aa6: mem := mem with [RSP, el]:u64 <- 0x180001925
+00018aa9: 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
+
+00019574: sub sub_1800010c3(sub_1800010c3_result)
+00019610: sub_1800010c3_result :: out u32 = low:32[RAX]
+
+0000fc76:
+0000fc84: goto %0000e925
+
+0000e925:
+0000e929: RAX := 1
+0000e936: #12582755 := mem[RSP, el]:u64
+0000e93a: RSP := RSP + 8
+0000e93d: call #12582755 with noreturn
+
+00019575: sub sub_1800010cd(sub_1800010cd_result)
+00019611: sub_1800010cd_result :: out u32 = low:32[RAX]
+
+000109c4:
+000109c6: goto %0001008e
+
+0001008e:
+00010098: mem := mem with [RSP + 8, el]:u64 <- RBX
+000100a6: #12582586 := RDI
+000100aa: RSP := RSP - 8
+000100b0: mem := mem with [RSP, el]:u64 <- #12582586
+000100ce: RSP := RSP - 0x20
+000100f0: RBX := 0x1800070A0
+000100f6: RDI := 0x1800071A8
+000100fb: goto %000100f9
+
+000100f9:
+0001011c: CF := RBX < 0x1800071A8
+0001013d: when CF goto %0001013a
+00019578: goto %000101d4
+
+000101d4:
+000101dc: RBX := mem[RSP + 0x30, el]:u64
+000101fd: RSP := RSP + 0x20
+00010228: RDI := mem[RSP, el]:u64
+0001022c: RSP := RSP + 8
+00010239: #12582571 := mem[RSP, el]:u64
+0001023d: RSP := RSP + 8
+00010240: call #12582571 with noreturn
+
+0001013a:
+00010148: RAX := mem[RBX, el]:u64
+0001015a: #12582580 := RAX
+00010170: ZF := 0 = #12582580
+00010177: when ZF goto %00010174
+00019577: goto %000101ba
+
+000101ba:
+000101c6: #12582575 := mem[0x18000B020, el]:u64
+000101ca: RSP := RSP - 8
+000101cf: mem := mem with [RSP, el]:u64 <- 0x180002208
+000101d2: call #12582575 with return %00010174
+
+00010174:
+00010199: RBX := RBX + 8
+00019576: goto %000100f9
+
+00019579: sub sub_1800010d7(sub_1800010d7_result)
+00019612: sub_1800010d7_result :: out u32 = low:32[RAX]
+
+000111a9:
+000111ab: goto %00010282
+
+00010282:
+0001028c: mem := mem with [RSP + 8, el]:u64 <- RBX
+0001029a: #12582570 := RDI
+0001029e: RSP := RSP - 8
+000102a4: mem := mem with [RSP, el]:u64 <- #12582570
+000102c2: RSP := RSP - 0x20
+000102e4: RBX := 0x1800072C0
+000102ea: RDI := 0x1800073C8
+000102ef: goto %000102ed
+
+000102ed:
+00010310: CF := RBX < 0x1800073C8
+00010331: when CF goto %0001032e
+0001957c: goto %000103c8
+
+000103c8:
+000103d0: RBX := mem[RSP + 0x30, el]:u64
+000103f1: RSP := RSP + 0x20
+0001041c: RDI := mem[RSP, el]:u64
+00010420: RSP := RSP + 8
+0001042d: #12582555 := mem[RSP, el]:u64
+00010431: RSP := RSP + 8
+00010434: call #12582555 with noreturn
+
+0001032e:
+0001033c: RAX := mem[RBX, el]:u64
+0001034e: #12582564 := RAX
+00010364: ZF := 0 = #12582564
+0001036b: when ZF goto %00010368
+0001957b: goto %000103ae
+
+000103ae:
+000103ba: #12582559 := mem[0x18000B020, el]:u64
+000103be: RSP := RSP - 8
+000103c3: mem := mem with [RSP, el]:u64 <- 0x180002254
+000103c6: call #12582559 with return %00010368
+
+00010368:
+0001038d: RBX := RBX + 8
+0001957a: goto %000102ed
+
+0001957d: sub sub_1800010e1(sub_1800010e1_result)
+00019613: sub_1800010e1_result :: out u32 = low:32[RAX]
+
+000111b1:
+000111b3: call @sub_1800027a8 with noreturn
+
+0001957e: sub sub_1800010e6(sub_1800010e6_result)
+00019614: sub_1800010e6_result :: out u32 = low:32[RAX]
+
+000111b5:
+000111b7: call @sub_1800027ac with noreturn
+
+0001957f: sub sub_1800010fa(sub_1800010fa_result)
+00019615: sub_1800010fa_result :: out u32 = low:32[RAX]
+
+000111c5:
+000111c8: goto %000111c6
+
+000111c6:
+000111d3: mem := mem with [RSP + 0x20, el]:u64 <- RBX
+000111e1: #12582460 := RBP
+000111e5: RSP := RSP - 8
+000111eb: mem := mem with [RSP, el]:u64 <- #12582460
+000111f3: RBP := RSP
+00011211: RSP := RSP - 0x20
+00011235: RAX := mem[0x180008020, el]:u64
+0001123b: RBX := 0x2B992DDFA232
+00011258: #12582456 := RAX - 0x2B992DDFA232
+00011277: ZF := 0 = #12582456
+0001127e: when ~ZF goto %0001127b
+00019581: goto %000113b1
+
+000113b1:
+000113c7: mem := mem with [RBP + 0x18, el]:u64 <- 0
+000113e9: RCX := RBP + 0x18
+000113f7: #12582449 := mem[0x18000A018, el]:u64
+000113fb: RSP := RSP - 8
+00011400: mem := mem with [RSP, el]:u64 <- 0x180001866
+00011403: call #12582449 with return %00011405
+
+00011405:
+0001140d: RAX := mem[RBP + 0x18, el]:u64
+00011419: mem := mem with [RBP + 0x10, el]:u64 <- RAX
+00011427: #12582448 := mem[0x18000A010, el]:u64
+0001142b: RSP := RSP - 8
+00011430: mem := mem with [RSP, el]:u64 <- 0x180001874
+00011433: call #12582448 with return %00011435
+
+00011435:
+0001143b: RAX := pad:64[low:32[RAX]]
+00011459: mem :=
+          mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX
+00011481: #12582446 := mem[0x18000A008, el]:u64
+00011485: RSP := RSP - 8
+0001148a: mem := mem with [RSP, el]:u64 <- 0x180001880
+0001148d: call #12582446 with return %0001148f
+
+0001148f:
+00011495: RAX := pad:64[low:32[RAX]]
+0001149d: RCX := RBP + 0x20
+000114bb: mem :=
+          mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX
+000114e3: #12582444 := mem[0x18000A000, el]:u64
+000114e7: RSP := RSP - 8
+000114ec: mem := mem with [RSP, el]:u64 <- 0x180001890
+000114ef: call #12582444 with return %000114f1
+
+000114f1:
+000114f9: RAX := pad:64[mem[RBP + 0x20, el]:u32]
+00011501: RCX := RBP + 0x10
+0001151a: RAX := RAX << 0x20
+00011547: RAX := RAX ^ mem[RBP + 0x20, el]:u64
+00011573: RAX := RAX ^ mem[RBP + 0x10, el]:u64
+0001159d: RAX := RAX ^ RCX
+000115cd: RAX := RAX & 0xFFFFFFFFFFFF
+000115e9: RCX := 0x2B992DDFA233
+00011606: #12582437 := RAX - 0x2B992DDFA232
+00011625: ZF := 0 = #12582437
+00011631: RAX := if ZF then 0x2B992DDFA233 else RAX
+0001163b: mem := mem with [0x180008020, el]:u64 <- RAX
+00019580: goto %0001127b
+
+0001127b:
+00011289: RBX := mem[RSP + 0x48, el]:u64
+00011291: RAX := ~RAX
+0001129b: mem := mem with [0x180008028, el]:u64 <- RAX
+000112bc: RSP := RSP + 0x20
+000112e7: RBP := mem[RSP, el]:u64
+000112eb: RSP := RSP + 8
+000112f8: #12582451 := mem[RSP, el]:u64
+000112fc: RSP := RSP + 8
+000112ff: call #12582451 with noreturn
+
+00019582: sub sub_180001109(sub_180001109_result)
+00019616: sub_180001109_result :: out u32 = low:32[RAX]
+
+00011645:
+00011648: goto %00011646
+
+00011646:
+0001164d: RAX := 0x180008238
+0001165a: #12582435 := mem[RSP, el]:u64
+0001165e: RSP := RSP + 8
+00011661: call #12582435 with noreturn
+
+00019583: sub sub_18000110e(sub_18000110e_result)
+00019617: sub_18000110e_result :: out u32 = low:32[RAX]
+
+00011673:
+00011675: goto %00004dd1
+
+00004dd1:
+00004dd5: RCX := 0x180008180
+00004dda: goto %00004dd8
+
+00004dd8:
+00004ddf: call mem[0x18000A0F0, el]:u64 with noreturn
+
+00019584: sub sub_180001118(sub_180001118_result)
+00019618: sub_180001118_result :: out u32 = low:32[RAX]
+
+0001167b:
+0001167e: goto %0001167c
+
+0001167c:
+0001169b: RSP := RSP - 0x28
+000116c3: RCX := 0
+000116e1: RSP := RSP - 8
+000116e6: mem := mem with [RSP, el]:u64 <- 0x180001C17
+000116e8: call @sub_1800010a5 with return %000116f5
+
+000116f5:
+00011714: RSP := RSP + 0x28
+00011737: goto %000111c1
+
+000111c1:
+000111c3: call @sub_1800027b0 with noreturn
+
+00019585: sub sub_18000111d(sub_18000111d_result)
+00019619: sub_18000111d_result :: out u32 = low:32[RAX]
+
+000122bf:
+000122c1: goto %00011a2d
+
+00011a2d:
+00011a49: RSP := RSP - 0x28
+00011a70: RSP := RSP - 8
+00011a75: mem := mem with [RSP, el]:u64 <- 0x180001B11
+00011a77: call @sub_180001055 with return %00011a79
+
+00011a79:
+00011a89: #12582403 := low:8[RAX]
+00011a9f: ZF := 0 = #12582403
+00011aa6: when ~ZF goto %00011aa3
+00019588: goto %00012054
+
+00011aa3:
+00011ab2: RSP := RSP - 8
+00011ab7: mem := mem with [RSP, el]:u64 <- 0x180001B1E
+00011ab9: call @sub_1800010aa with return %00011abb
+
+00011abb:
+00011acb: #12582401 := low:8[RAX]
+00011ae1: ZF := 0 = #12582401
+00011ae8: when ~ZF goto %00011ae5
+00019587: goto %00012041
+
+00011ae5:
+00011af1: RAX := high:56[RAX].1
+00019586: goto %00011af3
+
+00012041:
+0001204a: RSP := RSP - 8
+0001204f: mem := mem with [RSP, el]:u64 <- 0x180001B27
+00012051: call @sub_180001096 with return %00012053
+
+00012053:
+00012056: goto %00012054
+
+00012054:
+00012063: RAX := 63:8[RAX].0
+00012079: goto %00011af3
+
+00011af3:
+00011b12: RSP := RSP + 0x28
+00011b3e: #12582396 := mem[RSP, el]:u64
+00011b42: RSP := RSP + 8
+00011b45: call #12582396 with noreturn
+
+00019589: sub sub_180001122(sub_180001122_result)
+0001961a: sub_180001122_result :: out u32 = low:32[RAX]
+
+00011861:
+0001186f: call @sub_1800027a0 with noreturn
+
+0001958a: sub sub_180001127(sub_180001127_result)
+0001961b: sub_180001127_result :: out u32 = low:32[RAX]
+
+00011871:
+00011874: goto %00011872
+
+00011872:
+00011891: RSP := RSP - 0x28
+000118b9: RSP := RSP - 8
+000118be: mem := mem with [RSP, el]:u64 <- 0x18000197D
+000118c0: call @sub_18000100f with return %00012087
+
+00012087:
+000120a1: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 0x24
+000120c6: RSP := RSP - 8
+000120cb: mem := mem with [RSP, el]:u64 <- 0x180001986
+000120cd: call @sub_18000101e with return %000120cf
+
+000120cf:
+000120e9: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 2
+00012124: RSP := RSP + 0x28
+00012150: #12582357 := mem[RSP, el]:u64
+00012154: RSP := RSP + 8
+00012157: call #12582357 with noreturn
+
+0001958b: sub sub_18000112c(sub_18000112c_result)
+0001961c: sub_18000112c_result :: out u32 = low:32[RAX]
+
+0000f267:
+0000f276: goto %0000f274
+
+0000f274:
+0000f287: mem := mem with [0x180008210, el]:u32 <- 0
+0000f2aa: #12582692 := mem[RSP, el]:u64
+0000f2ae: RSP := RSP + 8
+0000f2b1: call #12582692 with noreturn
+
+0001958c: sub sub_18000113b(sub_18000113b_result)
+0001961d: sub_18000113b_result :: out u32 = low:32[RAX]
+
+0000fbf0:
+0000fbf3: goto %0000fbf1
+
+0000fbf1:
+0000fc10: RSP := RSP - 0x28
+0000fc37: RSP := RSP - 8
+0000fc3c: mem := mem with [RSP, el]:u64 <- 0x180001AB1
+0000fc3e: call @sub_180001087 with return %0000fc40
+
+0000fc40:
+0000fc50: #12582610 := low:32[RAX]
+0000fc66: ZF := 0 = #12582610
+0000fc6d: when ZF goto %0000fc6a
+0001958f: goto %000123df
+
+0000fc6a:
+0000fc7a: RSP := RSP - 8
+0000fc7f: mem := mem with [RSP, el]:u64 <- 0x180001AC1
+0000fc81: call @sub_1800010c3 with return %000122c3
+
+000122c3:
+000122c9: RCX := pad:64[low:32[RAX]]
+000122d4: RSP := RSP - 8
+000122d9: mem := mem with [RSP, el]:u64 <- 0x180001AC8
+000122db: call @sub_18000276a with return %000122dd
+
+000122dd:
+000122ed: #12582350 := low:32[RAX]
+00012303: ZF := 0 = #12582350
+0001230a: when ZF goto %00012307
+0001958e: goto %000123bb
+
+00012307:
+00012316: RSP := RSP - 8
+0001231b: mem := mem with [RSP, el]:u64 <- 0x180001AD5
+0001231d: call @sub_180002770 with return %0001231f
+
+000123bb:
+000123c7: RAX := 63:8[RAX].0
+000123dd: goto %00012327
+
+000123df:
+000123e8: RSP := RSP - 8
+000123ed: mem := mem with [RSP, el]:u64 <- 0x180001ABA
+000123ef: call @sub_180001145 with return %000123f1
+
+000123f1:
+000123f3: goto %0001231f
+
+0001231f:
+00012325: RAX := high:56[RAX].1
+0001958d: goto %00012327
+
+00012327:
+00012346: RSP := RSP + 0x28
+00012372: #12582345 := mem[RSP, el]:u64
+00012376: RSP := RSP + 8
+00012379: call #12582345 with noreturn
+
+00019590: sub sub_180001140(sub_180001140_result)
+0001961e: 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 <- 0x180001E01
+0000d5e8: call @sub_180001087 with return %0001450f
+
+0001450f:
+00014519: RDX := 0
+0001453d: #12582194 := low:32[RAX]
+00014553: ZF := 0 = #12582194
+0001455a: when ZF goto %00014557
+00019593: goto %000145f1
+
+000145f1:
+00014601: #12582188 := low:8[RBX]
+00014617: ZF := 0 = #12582188
+0001461d: when ~ZF goto %00014557
+00019592: goto %00014621
+
+00014621:
+00014630: RDX := mem[0x1800081C0, el]:u64
+00014635: mem := mem with [0x1800081C0, el]:u64 <- 0
+00019591: goto %00014557
+
+00014557:
+0001457c: RSP := RSP + 0x20
+000145a7: RBX := mem[RSP, el]:u64
+000145ab: RSP := RSP + 8
+000145b8: #12582189 := mem[RSP, el]:u64
+000145bc: RSP := RSP + 8
+000145bf: call #12582189 with noreturn
+
+00019594: sub sub_180001145(sub_180001145_result)
+0001961f: sub_180001145_result :: out u32 = low:32[RAX]
+
+000117fd:
+0001180b: goto %0000e40f
+
+0000e40f:
+0000e419: mem := mem with [RSP + 0x10, el]:u64 <- RBX
+0000e425: mem := mem with [RSP + 0x18, el]:u64 <- RSI
+0000e433: #12582770 := RDI
+0000e437: RSP := RSP - 8
+0000e43d: mem := mem with [RSP, el]:u64 <- #12582770
+0000e45b: RSP := RSP - 0x10
+0000e4bc: RAX := pad:64[unknown[bits]:u32]
+0000e4bf: RBX := pad:64[unknown[bits]:u32]
+0000e4c2: RCX := pad:64[unknown[bits]:u32]
+0000e4c5: RDX := pad:64[unknown[bits]:u32]
+0000e4cd: R8 := pad:64[low:32[RCX]]
+0000e4d9: R11 := 0
+0000e4f3: R10 := pad:64[low:32[RDX]]
+0000e505: R8 := pad:64[low:32[R8] ^ 0x6C65746E]
+0000e52d: R10 := pad:64[low:32[R10] ^ 0x49656E69]
+0000e54b: R9 := pad:64[low:32[RBX]]
+0000e553: RSI := pad:64[low:32[RAX]]
+0000e55f: RCX := 0
+0000e579: RAX := 1
+0000e58d: R10 := pad:64[low:32[R10] | low:32[R8]]
+0000e5ac: RAX := pad:64[unknown[bits]:u32]
+0000e5af: RBX := pad:64[unknown[bits]:u32]
+0000e5b2: RCX := pad:64[unknown[bits]:u32]
+0000e5b5: RDX := pad:64[unknown[bits]:u32]
+0000e5c7: R9 := pad:64[low:32[R9] ^ 0x756E6547]
+0000e5e9: mem := mem with [RSP, el]:u32 <- low:32[RAX]
+0000e5fd: R10 := pad:64[low:32[R10] | low:32[R9]]
+0000e613: ZF := 0 = low:32[R10]
+0000e61f: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX]
+0000e627: RDI := pad:64[low:32[RCX]]
+0000e633: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX]
+0000e63f: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX]
+0000e646: when ~ZF goto %0000e643
+000195a6: goto %0000ed35
+
+0000ed35:
+0000ed45: mem := mem with [0x180008048, el]:u64 <- 0xFFFFFFFFFFFFFFFF
+0000ed6d: RAX := pad:64[low:32[RAX] & 0xFFF3FF0]
+0000ed8b: mem := mem with [0x180008040, el]:u64 <- 0x8000
+0000eda3: #12582734 := low:32[RAX] - 0x106C0
+0000edbf: ZF := 0 = #12582734
+0000edc6: when ZF goto %0000edc3
+000195a5: goto %0000ee07
+
+0000ee07:
+0000ee1d: #12582731 := low:32[RAX] - 0x20660
+0000ee39: ZF := 0 = #12582731
+0000ee3f: when ZF goto %0000edc3
+000195a4: goto %0000ee43
+
+0000ee43:
+0000ee59: #12582729 := low:32[RAX] - 0x20670
+0000ee75: ZF := 0 = #12582729
+0000ee7b: when ZF goto %0000edc3
+000195a3: goto %0000ee7f
+
+0000ee7f:
+0000ee9e: RAX := pad:64[low:32[RAX] - 0x30650]
+0000eed5: #12582724 := low:32[RAX] - 0x20
+0000eed9: CF := low:32[RAX] < 0x20
+0000eef1: ZF := 0 = #12582724
+0000eef9: when ~(CF | ZF) goto %0000e643
+000195a2: goto %0000eefd
+
+0000eefd:
+0000ef01: RCX := 0x100010001
+0000ef11: #12582722 := low:6[RAX]
+0000ef16: CF := low:1[0x100010001 >> #12582722]
+0000ef2b: when ~CF goto %0000e643
+000195a1: goto %0000edc3
+
+0000e643:
+0000e64f: R8 := pad:64[mem[0x180008214, el]:u32]
+000195a0: goto %0000e651
+
+0000edc3:
+0000edcf: R8 := pad:64[mem[0x180008214, el]:u32]
+0000ede1: R8 := pad:64[low:32[R8] | 1]
+0000ee01: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
+0000ee05: goto %0000e651
+
+0000e651:
+0000e655: RAX := 7
+0000e65d: R9 := 2
+0000e67a: #12582761 := low:32[RSI] - 7
+0000e686: OF := high:1[(low:32[RSI] ^ 7) & (low:32[RSI] ^ #12582761)]
+0000e695: SF := high:1[#12582761]
+0000e6a6: when (SF | OF) & ~(SF & OF) goto %0000e6a0
+0001959f: goto %0000ec75
+
+0000ec75:
+0000ec7f: RCX := 0
+0000ec9a: RAX := pad:64[unknown[bits]:u32]
+0000ec9d: RBX := pad:64[unknown[bits]:u32]
+0000eca0: RCX := pad:64[unknown[bits]:u32]
+0000eca3: RDX := pad:64[unknown[bits]:u32]
+0000ecaf: mem := mem with [RSP, el]:u32 <- low:32[RAX]
+0000ecb7: R11 := pad:64[low:32[RBX]]
+0000ecc3: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX]
+0000eccf: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX]
+0000ecdb: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX]
+0000ece8: CF := low:1[RBX >> 9]
+0000ecfd: when ~CF goto %0000e6a0
+0001959e: goto %0000ed01
+
+0000ed01:
+0000ed13: R8 := pad:64[low:32[R8] | 2]
+0000ed33: mem := mem with [0x180008214, el]:u32 <- low:32[R8]
+0001959d: goto %0000e6a0
+
+0000e6a0:
+0000e6af: mem := mem with [0x180008038, el]:u32 <- 1
+0000e6b9: mem := mem with [0x18000803C, el]:u32 <- 2
+0000e6c6: CF := low:1[RDI >> 0x14]
+0000e6dc: when ~CF goto %0000e6d9
+0001959c: goto %0000e947
+
+0000e947:
+0000e94f: mem := mem with [0x180008038, el]:u32 <- 2
+0000e955: RBX := 6
+0000e95f: mem := mem with [0x18000803C, el]:u32 <- 6
+0000e96c: CF := low:1[RDI >> 0x1B]
+0000e981: when ~CF goto %0000e6d9
+0001959b: goto %0000e985
+
+0000e985:
+0000e990: CF := low:1[RDI >> 0x1C]
+0000e9a5: when ~CF goto %0000e6d9
+0001959a: goto %0000e9a9
+
+0000e9a9:
+0000e9b3: RCX := 0
+0000e9cc: RAX := pad:64[unknown[bits]:u32]
+0000e9cf: RDX := pad:64[unknown[bits]:u32]
+0000e9e8: RDX := RDX << 0x20
+0000ea13: RDX := RDX | RAX
+0000ea35: mem := mem with [RSP + 0x20, el]:u64 <- RDX
+0000ea3f: RAX := mem[RSP + 0x20, el]:u64
+0000ea55: RAX := 63:8[RAX].low:8[RAX] & 6
+0000ea88: #12582750 := low:8[RAX] - 6
+0000eaa7: ZF := 0 = #12582750
+0000eaad: when ~ZF goto %0000e6d9
+00019599: goto %0000eab1
+
+0000eab1:
+0000eab7: RAX := pad:64[mem[0x18000803C, el]:u32]
+0000eac9: RAX := pad:64[low:32[RAX] | 8]
+0000eae7: mem := mem with [0x180008038, el]:u32 <- 3
+0000eaf1: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX]
+0000eb03: #12582747 := low:8[R11] & 0x20
+0000eb19: ZF := 0 = #12582747
+0000eb1f: when ZF goto %0000e6d9
+00019598: goto %0000eb23
+
+0000eb23:
+0000eb33: RAX := pad:64[low:32[RAX] | 0x20]
+0000eb51: mem := mem with [0x180008038, el]:u32 <- 5
+0000eb5b: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX]
+0000eb61: RAX := 0xD0030000
+0000eb75: R11 := pad:64[low:32[R11] & 0xD0030000]
+0000eba8: #12582743 := low:32[R11] - 0xD0030000
+0000ebc7: ZF := 0 = #12582743
+0000ebcd: when ~ZF goto %0000e6d9
+00019597: goto %0000ebd1
+
+0000ebd1:
+0000ebd9: RAX := mem[RSP + 0x20, el]:u64
+0000ebed: RAX := 63:8[RAX].low:8[RAX] & 0xE0
+0000ec1b: #12582740 := low:8[RAX] - 0xE0
+0000ec37: ZF := 0 = #12582740
+0000ec3d: when ~ZF goto %0000e6d9
+00019596: goto %0000ec41
+
+0000ec41:
+0000ec53: mem :=
+          mem with [0x18000803C, el]:u32 <- mem[0x18000803C, el]:u32 | 0x40
+0000ec73: mem := mem with [0x180008038, el]:u32 <- 6
+00019595: goto %0000e6d9
+
+0000e6d9:
+0000e6e7: RBX := mem[RSP + 0x28, el]:u64
+0000e6f3: RAX := 0
+0000e70f: RSI := mem[RSP + 0x30, el]:u64
+0000e730: RSP := RSP + 0x10
+0000e75b: RDI := mem[RSP, el]:u64
+0000e75f: RSP := RSP + 8
+0000e76c: #12582756 := mem[RSP, el]:u64
+0000e770: RSP := RSP + 8
+0000e773: call #12582756 with noreturn
+
+000195a7: sub sub_18000114a(sub_18000114a_result)
+00019620: sub_18000114a_result :: out u32 = low:32[RAX]
+
+0000f18d:
+0000f19c: goto %0000f19a
+
+0000f19a:
+0000f1a7: mem := mem with [RSP + 8, el]:u64 <- RBX
+0000f1b5: #12582700 := RBP
+0000f1b9: RSP := RSP - 8
+0000f1bf: mem := mem with [RSP, el]:u64 <- #12582700
+0000f1c7: RBP := RSP - 0x4C0
+0000f1e5: RSP := RSP - 0x5C0
+0000f209: RBX := pad:64[low:32[RCX]]
+0000f20f: RCX := 0x17
+0000f21d: #12582696 := mem[0x18000A068, el]:u64
+0000f221: RSP := RSP - 8
+0000f226: mem := mem with [RSP, el]:u64 <- 0x180001F1A
+0000f229: call #12582696 with return %0000f22b
+
+0000f22b:
+0000f23b: #12582695 := low:32[RAX]
+0000f251: ZF := 0 = #12582695
+0000f258: when ZF goto %0000f255
+000195ab: goto %00012afb
+
+00012afb:
+00012b01: RCX := pad:64[low:32[RBX]]
+00012b05: call @interrupt:#41 with noreturn
+
+0000f255:
+0000f25f: RCX := 3
+0000f26b: RSP := RSP - 8
+0000f270: mem := mem with [RSP, el]:u64 <- 0x180001F2C
+0000f272: call @sub_18000112c with return %000123f5
+
+000123f5:
+000123ff: RDX := 0
+00012419: RCX := RBP - 0x10
+0001241f: R8 := 0x4D0
+0001242a: RSP := RSP - 8
+0001242f: mem := mem with [RSP, el]:u64 <- 0x180001F3D
+00012431: call @sub_180002752 with return %00012433
+
+00012433:
+00012439: RCX := RBP - 0x10
+00012447: #12582344 := mem[0x18000A030, el]:u64
+0001244b: RSP := RSP - 8
+00012450: mem := mem with [RSP, el]:u64 <- 0x180001F47
+00012453: call #12582344 with return %00012455
+
+00012455:
+0001245d: RBX := mem[RBP + 0xE8, el]:u64
+00012465: RDX := RBP + 0x4D8
+0001246d: RCX := RBX
+00012479: R8 := 0
+00012499: #12582343 := mem[0x18000A038, el]:u64
+0001249d: RSP := RSP - 8
+000124a2: mem := mem with [RSP, el]:u64 <- 0x180001F61
+000124a5: call #12582343 with return %000124a7
+
+000124a7:
+000124b7: #12582342 := RAX
+000124cd: ZF := 0 = #12582342
+000124d4: when ZF goto %000124d1
+000195aa: goto %00012a3b
+
+00012a3b:
+00012a51: mem := mem with [RSP + 0x38, el]:u64 <- 0
+00012a73: RCX := RBP + 0x4E0
+00012a7d: RDX := mem[RBP + 0x4D8, el]:u64
+00012a85: R9 := RAX
+00012a91: mem := mem with [RSP + 0x30, el]:u64 <- RCX
+00012a99: R8 := RBX
+00012aa1: RCX := RBP + 0x4E8
+00012aad: mem := mem with [RSP + 0x28, el]:u64 <- RCX
+00012ab5: RCX := RBP - 0x10
+00012ac1: mem := mem with [RSP + 0x20, el]:u64 <- RCX
+00012acd: RCX := 0
+00012aed: #12582313 := mem[0x18000A040, el]:u64
+00012af1: RSP := RSP - 8
+00012af6: mem := mem with [RSP, el]:u64 <- 0x180001FA2
+00012af9: call #12582313 with return %000124d1
+
+000124d1:
+000124df: RAX := mem[RBP + 0x4C8, el]:u64
+000124e7: RCX := RSP + 0x50
+000124f3: mem := mem with [RBP + 0xE8, el]:u64 <- RAX
+000124ff: RDX := 0
+00012519: RAX := RBP + 0x4C8
+0001251f: R8 := 0x98
+00012540: RAX := RAX + 8
+0001256b: mem := mem with [RBP + 0x88, el]:u64 <- RAX
+00012576: RSP := RSP - 8
+0001257b: mem := mem with [RSP, el]:u64 <- 0x180001FD4
+0001257d: call @sub_180002752 with return %0001257f
+
+0001257f:
+00012587: RAX := mem[RBP + 0x4C8, el]:u64
+00012593: mem := mem with [RSP + 0x60, el]:u64 <- RAX
+0001259d: mem := mem with [RSP + 0x50, el]:u32 <- 0x40000015
+000125a7: mem := mem with [RSP + 0x54, el]:u32 <- 1
+000125b5: #12582337 := mem[0x18000A048, el]:u64
+000125b9: RSP := RSP - 8
+000125be: mem := mem with [RSP, el]:u64 <- 0x180001FF6
+000125c1: call #12582337 with return %000125c3
+
+000125c3:
+000125d9: #12582336 := low:32[RAX] - 1
+000125f5: ZF := 0 = #12582336
+000125fd: RAX := RSP + 0x50
+00012609: mem := mem with [RSP + 0x40, el]:u64 <- RAX
+00012611: RAX := RBP - 0x10
+0001261b: RBX := 63:8[RBX].pad:8[ZF]
+00012627: mem := mem with [RSP + 0x48, el]:u64 <- RAX
+00012633: RCX := 0
+00012653: #12582334 := mem[0x18000A058, el]:u64
+00012657: RSP := RSP - 8
+0001265c: mem := mem with [RSP, el]:u64 <- 0x180002017
+0001265f: call #12582334 with return %00012661
+
+00012661:
+00012667: RCX := RSP + 0x40
+00012675: #12582333 := mem[0x18000A050, el]:u64
+00012679: RSP := RSP - 8
+0001267e: mem := mem with [RSP, el]:u64 <- 0x180002022
+00012681: call #12582333 with return %00012683
+
+00012683:
+00012693: #12582332 := low:32[RAX]
+000126a9: ZF := 0 = #12582332
+000126b0: when ~ZF goto %000126ad
+000195a9: goto %000129f1
+
+000129f1:
+00012a01: #12582316 := low:8[RBX]
+00012a17: ZF := 0 = #12582316
+00012a1d: when ~ZF goto %000126ad
+000195a8: goto %00012a21
+
+00012a21:
+00012a27: RCX := pad:64[low:32[RAX + 3]]
+00012a32: RSP := RSP - 8
+00012a37: mem := mem with [RSP, el]:u64 <- 0x180002032
+00012a39: call @sub_18000112c with return %000126ad
+
+000126ad:
+000126bb: RBX := mem[RSP + 0x5D0, el]:u64
+000126dc: RSP := RSP + 0x5C0
+00012707: RBP := mem[RSP, el]:u64
+0001270b: RSP := RSP + 8
+00012718: #12582327 := mem[RSP, el]:u64
+0001271c: RSP := RSP + 8
+0001271f: call #12582327 with noreturn
+
+000195ac: sub sub_180001154(sub_180001154_result)
+00019621: sub_180001154_result :: out u32 = low:32[RAX]
+
+00012b0b:
+00012b0d: goto %00010ce4
+
+00010ce4:
+00010d00: RSP := RSP - 0x28
+00010d27: RSP := RSP - 8
+00010d2c: mem := mem with [RSP, el]:u64 <- 0x180001A69
+00010d2e: call @sub_180001087 with return %00010d30
+
+00010d30:
+00010d40: #12582492 := low:32[RAX]
+00010d56: ZF := 0 = #12582492
+00010d5d: when ZF goto %00010d5a
+000195b0: goto %00010e1c
+
+00010e1c:
+00010e24: RAX := mem[GS_BASE + 0x30, el]:u64
+00010e2e: RCX := mem[RAX + 8, el]:u64
+00010e33: goto %00010e31
+
+00010e31:
+00010e3e: RAX := 0
+00010e75: call @intrinsic:x86:lock with return %00010e78
+
+00010e78:
+00010e79: #12582486 := mem[0x1800081C0, el]:u64
+00010e7e: #12582485 := -#12582486
+00010e9d: ZF := 0 = #12582485
+00010eb1: goto %00010ea9
+
+00010ea9:
+00010eab: when 0 = #12582486 goto %00010ea3
+00010eac: goto %00010ea7
+
+00010ea7:
+00010ea8: RAX := #12582486
+00010eae: goto %00010eaa
+
+00010ea3:
+00010ea4: mem := mem with [0x1800081C0, el]:u64 <- RCX
+00010ead: goto %00010eaa
+
+00010eaa:
+00010eb0: call @intrinsic:x86:unlock with return %00010ebb
+
+00010ebb:
+00010ec0: when ~ZF goto %00010ebd
+000195af: goto %00010d5a
+
+00010d5a:
+00010d6c: RAX := 63:8[RAX].0
+00010d72: ZF := 1
+000195ae: goto %00010d80
+
+00010ebd:
+00010ede: #12582483 := RCX - RAX
+00010efd: ZF := 0 = #12582483
+00010f03: when ZF goto %00010dd4
+000195ad: goto %00010e31
+
+00010dd4:
+00010dda: RAX := high:56[RAX].1
+00010dde: goto %00010d80
+
+00010d80:
+00010d9f: RSP := RSP + 0x28
+00010dcb: #12582487 := mem[RSP, el]:u64
+00010dcf: RSP := RSP + 8
+00010dd2: call #12582487 with noreturn
+
+000195b1: sub sub_180001163(sub_180001163_result)
+00019622: sub_180001163_result :: out u32 = low:32[RAX]
+
+00012b17:
+00012b19: goto %00011c59
+
+00011c59:
+00011c63: mem := mem with [RSP + 8, el]:u64 <- RBX
+00011c6f: mem := mem with [RSP + 0x10, el]:u64 <- RBP
+00011c7b: mem := mem with [RSP + 0x18, el]:u64 <- RSI
+00011c89: #12582388 := RDI
+00011c8d: RSP := RSP - 8
+00011c93: mem := mem with [RSP, el]:u64 <- #12582388
+00011cb1: RSP := RSP - 0x20
+00011cd5: RDI := R9
+00011cdd: RSI := R8
+00011ce5: RBX := pad:64[low:32[RDX]]
+00011ced: RBP := RCX
+00011cf8: RSP := RSP - 8
+00011cfd: mem := mem with [RSP, el]:u64 <- 0x180001B7C
+00011cff: call @sub_180001087 with return %00011d01
+
+00011d01:
+00011d11: #12582384 := low:32[RAX]
+00011d27: ZF := 0 = #12582384
+00011d2e: when ~ZF goto %00011d2b
+000195b3: goto %00011fb5
+
+00011fb5:
+00011fcb: #12582365 := low:32[RBX] - 1
+00011fe7: ZF := 0 = #12582365
+00011fed: when ~ZF goto %00011d2b
+000195b2: goto %00011ff1
+
+00011ff1:
+00011ff7: R8 := RSI
+00012003: RDX := 0
+0001201d: RCX := RBP
+00012025: RAX := RDI
+00012033: #12582363 := mem[0x18000B020, el]:u64
+00012037: RSP := RSP - 8
+0001203c: mem := mem with [RSP, el]:u64 <- 0x180001B96
+0001203f: call #12582363 with return %00011d2b
+
+00011d2b:
+00011d39: RDX := mem[RSP + 0x58, el]:u64
+00011d43: RCX := pad:64[mem[RSP + 0x50, el]:u32]
+00011d4d: RBX := mem[RSP + 0x30, el]:u64
+00011d57: RBP := mem[RSP + 0x38, el]:u64
+00011d61: RSI := mem[RSP + 0x40, el]:u64
+00011d82: RSP := RSP + 0x20
+00011dad: RDI := mem[RSP, el]:u64
+00011db1: RSP := RSP + 8
+00011db5: goto %00004dff
+
+00004dff:
+00004e03: call mem[0x18000A180, el]:u64 with noreturn
+
+000195b4: sub sub_180001168(sub_180001168_result)
+00019623: sub_180001168_result :: out u32 = low:32[RAX]
+
+00012b1b:
+00012b1d: goto %00011759
+
+00011759:
+00011765: #12582428 := RBX
+00011769: RSP := RSP - 8
+0001176f: mem := mem with [RSP, el]:u64 <- #12582428
+0001178d: RSP := RSP - 0x20
+000117b1: RAX := pad:64[mem[0x1800081C8]]
+000117c3: #12582424 := low:32[RCX]
+000117d9: ZF := 0 = #12582424
+000117df: RBX := 1
+000117eb: RAX := pad:64[if ZF then 1 else low:32[RAX]]
+000117f5: mem := mem with [0x1800081C8] <- low:8[RAX]
+00011801: RSP := RSP - 8
+00011806: mem := mem with [RSP, el]:u64 <- 0x180001C4A
+00011808: call @sub_180001145 with return %0001180d
+
+0001180d:
+00011817: RSP := RSP - 8
+0001181c: mem := mem with [RSP, el]:u64 <- 0x180001C4F
+0001181e: call @sub_18000102d with return %0001182b
+
+0001182b:
+0001183b: #12582422 := low:8[RAX]
+00011851: ZF := 0 = #12582422
+00011858: when ~ZF goto %00011855
+000195b7: goto %00012298
+
+00011855:
+00011865: RSP := RSP - 8
+0001186a: mem := mem with [RSP, el]:u64 <- 0x180001C5C
+0001186c: call @sub_180001122 with return %0001217d
+
+0001217d:
+0001218d: #12582356 := low:8[RAX]
+000121a3: ZF := 0 = #12582356
+000121aa: when ~ZF goto %000121a7
+000195b6: goto %00012267
+
+000121a7:
+000121b5: RAX := high:56[RAX].1
+000195b5: goto %000121b7
+
+00012267:
+00012271: RCX := 0
+0001228e: RSP := RSP - 8
+00012293: mem := mem with [RSP, el]:u64 <- 0x180001C67
+00012295: call @sub_180001046 with return %00012297
+
+00012297:
+0001229a: goto %00012298
+
+00012298:
+000122a7: RAX := 63:8[RAX].0
+000122bd: goto %000121b7
+
+000121b7:
+000121d6: RSP := RSP + 0x20
+00012201: RBX := mem[RSP, el]:u64
+00012205: RSP := RSP + 8
+00012212: #12582351 := mem[RSP, el]:u64
+00012216: RSP := RSP + 8
+00012219: call #12582351 with noreturn
+
+000195b8: sub sub_180001177(sub_180001177_result)
+00019624: sub_180001177_result :: out u32 = low:32[RAX]
+
+00012b27:
+00012b29: goto %00011b77
+
+00011b77:
+00011b93: RSP := RSP - 0x28
+00011bba: RSP := RSP - 8
+00011bbf: mem := mem with [RSP, el]:u64 <- 0x180001B45
+00011bc1: call @sub_1800010e1 with return %00011bc3
+
+00011bc3:
+00011bcd: RSP := RSP - 8
+00011bd2: mem := mem with [RSP, el]:u64 <- 0x180001B4A
+00011bd4: call @sub_180001096 with return %00011be1
+
+00011be1:
+00011be7: RAX := high:56[RAX].1
+00011c08: RSP := RSP + 0x28
+00011c34: #12582389 := mem[RSP, el]:u64
+00011c38: RSP := RSP + 8
+00011c3b: call #12582389 with noreturn
+
+000195b9: sub sub_180001181(sub_180001181_result)
+00019625: sub_180001181_result :: out u32 = low:32[RAX]
+
+00012e13:
+00012e21: goto %00011e17
+
+00011e17:
+00011e33: RSP := RSP - 0x28
+00011e5a: RSP := RSP - 8
+00011e5f: mem := mem with [RSP, el]:u64 <- 0x180001BD9
+00011e61: call @sub_180001087 with return %00011e63
+
+00011e63:
+00011e73: #12582376 := low:32[RAX]
+00011e89: ZF := 0 = #12582376
+00011e90: when ZF goto %00011e8d
+000195bb: goto %00011f6b
+
+00011e8d:
+00011e9c: RSP := RSP - 8
+00011ea1: mem := mem with [RSP, el]:u64 <- 0x180001BF2
+00011ea3: call @sub_180001032 with return %00011ea5
+
+00011ea5:
+00011eb5: #12582374 := low:32[RAX]
+00011ecb: ZF := 0 = #12582374
+00011ed2: when ~ZF goto %00011ecf
+000195ba: goto %00011f59
+
+00011f59:
+00011f62: RSP := RSP - 8
+00011f67: mem := mem with [RSP, el]:u64 <- 0x180001BFB
+00011f69: call @sub_180002794 with return %00011ecf
+
+00011ecf:
+00011ef4: RSP := RSP + 0x28
+00011f20: #12582369 := mem[RSP, el]:u64
+00011f24: RSP := RSP + 8
+00011f27: call #12582369 with noreturn
+
+00011f6b:
+00011f6f: RCX := 0x1800081D0
+00011f90: RSP := RSP + 0x28
+00011fb3: goto %00004e1d
+
+00004e1d:
+00004e21: call mem[0x18000A1A8, el]:u64 with noreturn
+
+000195bc: sub sub_180001350(sub_180001350_result)
+00019626: sub_180001350_result :: out u32 = low:32[RAX]
+
+00012b30:
+00012b4f: RSP := RSP - 0x28
+00012b7d: #12582309 := low:32[RDX]
+00012b93: ZF := 0 = #12582309
+00012b9a: when ZF goto %00012b97
+000195cb: goto %00013f4f
+
+00012b97:
+00012bad: #12582307 := R8
+00012bc3: ZF := 0 = #12582307
+00012bcd: RCX := 63:8[RCX].pad:8[~ZF]
+00012bee: RSP := RSP + 0x28
+00012c12: call @sub_180001510 with noreturn
+
+00013f4f:
+00013f6b: RDX := pad:64[low:32[RDX] - 1]
+00013f87: ZF := 0 = low:32[RDX]
+00013f8e: when ZF goto %00013f8b
+000195ca: goto %00013fdd
+
+00013f8b:
+00013f97: RDX := R8
+00013fb8: RSP := RSP + 0x28
+00013fdb: goto %00013955
+
+00013955:
+0001395f: mem := mem with [RSP + 8, el]:u64 <- RBX
+0001396b: mem := mem with [RSP + 0x10, el]:u64 <- RSI
+00013977: mem := mem with [RSP + 0x20, el]:u64 <- RDI
+00013985: #12582264 := R14
+00013989: RSP := RSP - 8
+0001398f: mem := mem with [RSP, el]:u64 <- #12582264
+000139ad: RSP := RSP - 0x20
+000139d1: RSI := RDX
+000139d9: R14 := RCX
+000139e5: RCX := 0
+00013a02: RSP := RSP - 8
+00013a07: mem := mem with [RSP, el]:u64 <- 0x1800013D6
+00013a09: call @sub_180001168 with return %00013a0b
+
+00013a0b:
+00013a1b: #12582260 := low:8[RAX]
+00013a31: ZF := 0 = #12582260
+00013a38: when ZF goto %00013a35
+000195c9: goto %00013c11
+
+00013c11:
+00013c1a: RSP := RSP - 8
+00013c1f: mem := mem with [RSP, el]:u64 <- 0x1800013E3
+00013c21: call @sub_180001154 with return %00013c23
+
+00013c23:
+00013c2b: RBX := high:56[RBX].low:8[RAX]
+00013c37: mem := mem with [RSP + 0x40] <- low:8[RAX]
+00013c3f: RDI := high:56[RDI].1
+00013c57: #12582254 := mem[0x1800081B8, el]:u32
+00013c73: ZF := 0 = #12582254
+00013c79: when ~ZF goto %00013adb
+000195c8: goto %00013c7d
+
+00013adb:
+00013adf: RCX := 7
+00013aea: RSP := RSP - 8
+00013aef: mem := mem with [RSP, el]:u64 <- 0x1800014C8
+00013af1: call @sub_18000114a with return %00013af3
+
+00013af3:
+00013af7: call @interrupt:#3 with noreturn
+
+00013af9:
+00013afb: call @interrupt:#3 with noreturn
+
+00013afd:
+00013aff: call @interrupt:#3 with noreturn
+
+00013b01:
+00013b03: call @interrupt:#3 with noreturn
+
+00013b05:
+00013b07: call @interrupt:#3 with noreturn
+
+00013b09:
+00013b0b: call @interrupt:#3 with noreturn
+
+00013b0d:
+00013b0f: call @interrupt:#3 with noreturn
+
+00013b11:
+00013b13: call @interrupt:#3 with noreturn
+
+00013b15:
+00013b17: call @interrupt:#3 with noreturn
+
+00013b19:
+00013b1b: call @interrupt:#3 with noreturn
+
+00013b1d:
+00013b1f: call @interrupt:#3 with noreturn
+
+00013b21:
+00013b23: call @interrupt:#3 with noreturn
+
+00013b25:
+00013b27: call @interrupt:#3 with noreturn
+
+00013b29:
+00013b2b: call @interrupt:#3 with noreturn
+
+00013b2d:
+00013b2f: call @interrupt:#3 with noreturn
+
+00013b31:
+00013b33: call @interrupt:#3 with noreturn
+
+00013b35:
+00013b37: call @interrupt:#3 with noreturn
+
+00013b39:
+00013b3b: call @interrupt:#3 with noreturn
+
+00013b3d:
+00013b3f: call @interrupt:#3 with noreturn
+
+00013b41:
+00013b43: call @interrupt:#3 with noreturn
+
+00013b45:
+00013b47: call @interrupt:#3 with noreturn
+
+00013b49:
+00013b4b: call @interrupt:#3 with noreturn
+
+00013b4d:
+00013b4f: call @interrupt:#3 with noreturn
+
+00013b51:
+00013b53: call @interrupt:#3 with noreturn
+
+00013b55:
+00013b57: call @interrupt:#3 with noreturn
+
+00013b59:
+00013b5b: call @interrupt:#3 with noreturn
+
+00013b5d:
+00013b5f: call @interrupt:#3 with noreturn
+
+00013b61:
+00013b63: call @interrupt:#3 with noreturn
+
+00013b65:
+00013b67: call @interrupt:#3 with noreturn
+
+00013b69:
+00013b6b: call @interrupt:#3 with noreturn
+
+00013b6d:
+00013b6f: call @interrupt:#3 with noreturn
+
+00013b71:
+00013b73: call @interrupt:#3 with noreturn
+
+00013b75:
+00013b77: call @interrupt:#3 with noreturn
+
+00013b79:
+00013b7b: call @interrupt:#3 with noreturn
+
+00013b7d:
+00013b7f: call @interrupt:#3 with noreturn
+
+00013b81:
+00013b83: call @interrupt:#3 with noreturn
+
+00013b85:
+00013b87: call @interrupt:#3 with noreturn
+
+00013b89:
+00013b8b: call @interrupt:#3 with noreturn
+
+00013b8d:
+00013b8f: call @interrupt:#3 with noreturn
+
+00013b91:
+00013b93: call @interrupt:#3 with noreturn
+
+00013b95:
+00013b97: call @interrupt:#3 with noreturn
+
+00013b99:
+00013b9b: call @interrupt:#3 with noreturn
+
+00013b9d:
+00013b9f: call @interrupt:#3 with noreturn
+
+00013ba1:
+00013ba3: call @interrupt:#3 with noreturn
+
+00013ba5:
+00013ba7: call @interrupt:#3 with noreturn
+
+00013ba9:
+00013bab: call @interrupt:#3 with noreturn
+
+00013bad:
+00013baf: call @interrupt:#3 with noreturn
+
+00013bb1:
+00013bb3: call @interrupt:#3 with noreturn
+
+00013bb5:
+00013bb7: call @interrupt:#3 with noreturn
+
+00013bb9:
+00013bbb: call @interrupt:#3 with noreturn
+
+00013bbd:
+00013bbf: call @interrupt:#3 with noreturn
+
+00013bc1:
+00013bc3: call @interrupt:#3 with noreturn
+
+00013bc5:
+00013bc7: call @interrupt:#3 with noreturn
+
+00013bc9:
+00013bcb: call @interrupt:#3 with noreturn
+
+00013bcd:
+00013bcf: call @interrupt:#3 with noreturn
+
+00013bd1:
+00013bd3: call @interrupt:#3 with noreturn
+
+00013bd5:
+00013bd7: call @interrupt:#3 with noreturn
+
+00013bd9:
+00013bdb: call @interrupt:#3 with noreturn
+
+00013bdd:
+00013bdf: call @interrupt:#3 with noreturn
+
+00013be1:
+00013be3: call @interrupt:#3 with noreturn
+
+00013be5:
+00013be7: call @interrupt:#3 with noreturn
+
+00013be9:
+00013beb: call @interrupt:#3 with noreturn
+
+00013bed:
+00013bef: call @interrupt:#3 with noreturn
+
+00013bf1:
+00013bf3: call @interrupt:#3 with noreturn
+
+00013bf5:
+00013bf7: call @interrupt:#3 with noreturn
+
+00013bf9:
+00013bfb: call @interrupt:#3 with noreturn
+
+00013bfd:
+00013bff: call @interrupt:#3 with noreturn
+
+00013c01:
+00013c03: call @interrupt:#3 with noreturn
+
+00013c05:
+00013c07: call @interrupt:#3 with noreturn
+
+00013c09:
+00013c0b: call @interrupt:#3 with noreturn
+
+00013c0d:
+00013c0f: call @interrupt:#3 with noreturn
+
+00013c7d:
+00013c83: mem := mem with [0x1800081B8, el]:u32 <- 1
+00013c8e: RSP := RSP - 8
+00013c93: mem := mem with [RSP, el]:u64 <- 0x180001408
+00013c95: call @sub_180001019 with return %00013c97
+
+00013c97:
+00013ca7: #12582252 := low:8[RAX]
+00013cbd: ZF := 0 = #12582252
+00013cc4: when ZF goto %00013cc1
+000195c6: goto %00013e43
+
+00013e43:
+00013e4c: RSP := RSP - 8
+00013e51: mem := mem with [RSP, el]:u64 <- 0x180001411
+00013e53: call @sub_1800010cd with return %00013e55
+
+00013e55:
+00013e5e: RSP := RSP - 8
+00013e63: mem := mem with [RSP, el]:u64 <- 0x180001416
+00013e65: call @sub_180001041 with return %00013e67
+
+00013e67:
+00013e70: RSP := RSP - 8
+00013e75: mem := mem with [RSP, el]:u64 <- 0x18000141B
+00013e77: call @sub_180001127 with return %00013e79
+
+00013e79:
+00013e7d: RDX := 0x180006330
+00013e83: RCX := 0x180006220
+00013e8e: RSP := RSP - 8
+00013e93: mem := mem with [RSP, el]:u64 <- 0x18000142E
+00013e95: call @sub_18000275e with return %00013e97
+
+00013e97:
+00013ea7: #12582241 := low:32[RAX]
+00013ebd: ZF := 0 = #12582241
+00013ec3: when ~ZF goto %00013cc1
+000195c5: goto %00013ec7
+
+00013ec7:
+00013ed0: RSP := RSP - 8
+00013ed5: mem := mem with [RSP, el]:u64 <- 0x180001437
+00013ed7: call @sub_18000113b with return %00013ed9
+
+00013ed9:
+00013ee9: #12582239 := low:8[RAX]
+00013eff: ZF := 0 = #12582239
+00013f05: when ZF goto %00013cc1
+000195c4: goto %00013f09
+
+00013f09:
+00013f0d: RDX := 0x180006110
+00013f13: RCX := 0x180006000
+00013f1e: RSP := RSP - 8
+00013f23: mem := mem with [RSP, el]:u64 <- 0x18000144E
+00013f25: call @sub_180002758 with return %00013f27
+
+00013f27:
+00013f2d: mem := mem with [0x1800081B8, el]:u32 <- 2
+00013f3b: RDI := 63:8[RDI].0
+000195c3: goto %00013cc1
+
+00013cc1:
+00013ccf: RCX := high:56[RCX].low:8[RBX]
+00013cda: RSP := RSP - 8
+00013cdf: mem := mem with [RSP, el]:u64 <- 0x180001462
+00013ce1: call @sub_180001140 with return %00013ce3
+
+00013ce3:
+00013cf3: #12582250 := low:8[RDI]
+00013d09: ZF := 0 = #12582250
+00013d0f: when ~ZF goto %00013a35
+000195c2: goto %00013d13
+
+00013a35:
+00013a45: RAX := 0
+000195c1: goto %00013a59
+
+00013d13:
+00013d1c: RSP := RSP - 8
+00013d21: mem := mem with [RSP, el]:u64 <- 0x18000146C
+00013d23: call @sub_180001109 with return %00013d25
+
+00013d25:
+00013d2b: RBX := RAX
+00013d49: #12582248 := mem[RAX, el]:u64
+00013d69: ZF := 0 = #12582248
+00013d70: when ZF goto %00013d6d
+000195c0: goto %00013db7
+
+00013db7:
+00013dbd: RCX := RAX
+00013dc8: RSP := RSP - 8
+00013dcd: mem := mem with [RSP, el]:u64 <- 0x18000147D
+00013dcf: call @sub_18000108c with return %00013dd1
+
+00013dd1:
+00013de1: #12582244 := low:8[RAX]
+00013df7: ZF := 0 = #12582244
+00013dfd: when ZF goto %00013d6d
+000195bf: goto %00013e01
+
+00013e01:
+00013e07: R8 := RSI
+00013e0d: RDX := 2
+00013e15: RCX := R14
+00013e1f: RAX := mem[RBX, el]:u64
+00013e27: R9 := mem[0x18000B020, el]:u64
+00013e35: #12582242 := R9
+00013e39: RSP := RSP - 8
+00013e3e: mem := mem with [RSP, el]:u64 <- 0x180001499
+00013e41: call #12582242 with return %00013d6d
+
+00013d6d:
+00013d91: mem :=
+          mem with [0x180008170, el]:u32 <- mem[0x180008170, el]:u32 + 1
+00013db1: RAX := 1
+00013db5: goto %00013a59
+
+00013a59:
+00013a61: RBX := mem[RSP + 0x30, el]:u64
+00013a6b: RSI := mem[RSP + 0x38, el]:u64
+00013a75: RDI := mem[RSP + 0x48, el]:u64
+00013a96: RSP := RSP + 0x20
+00013ac1: R14 := mem[RSP, el]:u64
+00013ac5: RSP := RSP + 8
+00013ad2: #12582255 := mem[RSP, el]:u64
+00013ad6: RSP := RSP + 8
+00013ad9: call #12582255 with noreturn
+
+00013fdd:
+00013ff9: RDX := pad:64[low:32[RDX] - 1]
+00014015: ZF := 0 = low:32[RDX]
+0001401c: when ZF goto %00014019
+000195be: goto %0001408d
+
+00014019:
+00014028: RSP := RSP - 8
+0001402d: mem := mem with [RSP, el]:u64 <- 0x18000137D
+0001402f: call @sub_18000111d with return %00014031
+
+0001408d:
+000140a3: #12582224 := low:32[RDX] - 1
+000140bf: ZF := 0 = #12582224
+000140c6: when ZF goto %000140c3
+000195bd: goto %000140df
+
+000140c3:
+000140d2: RSP := RSP - 8
+000140d7: mem := mem with [RSP, el]:u64 <- 0x180001376
+000140d9: call @sub_180001177 with return %000140db
+
+000140db:
+000140dd: goto %00014031
+
+00014031:
+00014037: RAX := pad:64[low:8[RAX]]
+00014058: RSP := RSP + 0x28
+00014084: #12582225 := mem[RSP, el]:u64
+00014088: RSP := RSP + 8
+0001408b: call #12582225 with noreturn
+
+000140df:
+000140e3: RAX := 1
+00014104: RSP := RSP + 0x28
+00014130: #12582219 := mem[RSP, el]:u64
+00014134: RSP := RSP + 8
+00014137: call #12582219 with noreturn
+
+000195cc: sub sub_180001510(sub_180001510_result)
+00019627: sub_180001510_result :: out u32 = low:32[RAX]
+
+00012c10:
+00012c1d: mem := mem with [RSP + 8, el]:u64 <- RBX
+00012c2b: #12582302 := RDI
+00012c2f: RSP := RSP - 8
+00012c35: mem := mem with [RSP, el]:u64 <- #12582302
+00012c53: RSP := RSP - 0x30
+00012c79: RDI := high:56[RDI].low:8[RCX]
+00012c81: RAX := pad:64[mem[0x180008170, el]:u32]
+00012c93: #12582298 := low:32[RAX]
+00012ca5: SF := high:1[#12582298]
+00012ca9: ZF := 0 = #12582298
+00012cb8: when ~(ZF | SF) goto %00012cb1
+000195d0: goto %000138e7
+
+00012cb1:
+00012cd5: RAX := pad:64[low:32[RAX] - 1]
+00012cf7: mem := mem with [0x180008170, el]:u32 <- low:32[RAX]
+00012d02: RSP := RSP - 8
+00012d07: mem := mem with [RSP, el]:u64 <- 0x180001541
+00012d09: call @sub_180001154 with return %00012d0b
+
+00012d0b:
+00012d13: RBX := high:56[RBX].low:8[RAX]
+00012d1f: mem := mem with [RSP + 0x20] <- low:8[RAX]
+00012d37: #12582294 := mem[0x1800081B8, el]:u32 - 2
+00012d53: ZF := 0 = #12582294
+00012d5a: when ~ZF goto %00012d57
+000195cf: goto %00012e0d
+
+00012d57:
+00012d61: RCX := 7
+00012d6c: RSP := RSP - 8
+00012d71: mem := mem with [RSP, el]:u64 <- 0x180001591
+00012d73: call @sub_18000114a with return %00012d75
+
+00012d75:
+00012d7b: call @interrupt:#3 with noreturn
+
+00012d7d:
+00012d7f: call @interrupt:#3 with noreturn
+
+00012d81:
+00012d83: call @interrupt:#3 with noreturn
+
+00012d85:
+00012d87: call @interrupt:#3 with noreturn
+
+00012d89:
+00012d8b: call @interrupt:#3 with noreturn
+
+00012d8d:
+00012d8f: call @interrupt:#3 with noreturn
+
+00012d91:
+00012d93: call @interrupt:#3 with noreturn
+
+00012d95:
+00012d97: call @interrupt:#3 with noreturn
+
+00012d99:
+00012d9b: call @interrupt:#3 with noreturn
+
+00012d9d:
+00012d9f: call @interrupt:#3 with noreturn
+
+00012da1:
+00012da3: call @interrupt:#3 with noreturn
+
+00012da5:
+00012da7: call @interrupt:#3 with noreturn
+
+00012da9:
+00012dab: call @interrupt:#3 with noreturn
+
+00012dad:
+00012daf: call @interrupt:#3 with noreturn
+
+00012db1:
+00012db3: call @interrupt:#3 with noreturn
+
+00012db5:
+00012db7: call @interrupt:#3 with noreturn
+
+00012db9:
+00012dbb: call @interrupt:#3 with noreturn
+
+00012dbd:
+00012dbf: call @interrupt:#3 with noreturn
+
+00012dc1:
+00012dc3: call @interrupt:#3 with noreturn
+
+00012dc5:
+00012dc7: call @interrupt:#3 with noreturn
+
+00012dc9:
+00012dcb: call @interrupt:#3 with noreturn
+
+00012dcd:
+00012dcf: call @interrupt:#3 with noreturn
+
+00012dd1:
+00012dd3: call @interrupt:#3 with noreturn
+
+00012dd5:
+00012dd7: call @interrupt:#3 with noreturn
+
+00012dd9:
+00012ddb: call @interrupt:#3 with noreturn
+
+00012ddd:
+00012ddf: call @interrupt:#3 with noreturn
+
+00012de1:
+00012de3: call @interrupt:#3 with noreturn
+
+00012de5:
+00012de7: call @interrupt:#3 with noreturn
+
+00012de9:
+00012deb: call @interrupt:#3 with noreturn
+
+00012ded:
+00012def: call @interrupt:#3 with noreturn
+
+00012df1:
+00012df3: call @interrupt:#3 with noreturn
+
+00012df5:
+00012df7: call @interrupt:#3 with noreturn
+
+00012df9:
+00012dfb: call @interrupt:#3 with noreturn
+
+00012dfd:
+00012dff: call @interrupt:#3 with noreturn
+
+00012e01:
+00012e03: call @interrupt:#3 with noreturn
+
+00012e05:
+00012e07: call @interrupt:#3 with noreturn
+
+00012e09:
+00012e0b: call @interrupt:#3 with noreturn
+
+00012e0d:
+00012e17: RSP := RSP - 8
+00012e1c: mem := mem with [RSP, el]:u64 <- 0x180001555
+00012e1e: call @sub_180001181 with return %00013575
+
+00013575:
+0001357e: RSP := RSP - 8
+00013583: mem := mem with [RSP, el]:u64 <- 0x18000155A
+00013585: call @sub_18000110e with return %00013587
+
+00013587:
+00013590: RSP := RSP - 8
+00013595: mem := mem with [RSP, el]:u64 <- 0x18000155F
+00013597: call @sub_1800010d7 with return %00013599
+
+00013599:
+000135a9: mem := mem with [0x1800081B8, el]:u32 <- 0
+000135c9: RCX := high:56[RCX].low:8[RBX]
+000135d4: RSP := RSP - 8
+000135d9: mem := mem with [RSP, el]:u64 <- 0x18000156D
+000135db: call @sub_180001140 with return %000135dd
+
+000135dd:
+000135e7: RDX := 0
+00013603: RCX := high:56[RCX].low:8[RDI]
+0001360f: RSP := RSP - 8
+00013614: mem := mem with [RSP, el]:u64 <- 0x180001577
+00013616: call @sub_180001082 with return %000137a9
+
+000137a9:
+000137c0: #12582274 := low:8[RAX]
+000137c5: RAX := 63:8[RAX].-low:8[RAX]
+000137c9: CF := #12582274 <> 0
+00013804: #12582272 := low:32[RBX]
+00013808: #12582271 := low:32[RBX]
+0001380e: RBX := pad:64[#12582271 - #12582272 + pad:32[CF]]
+00013843: RBX := pad:64[low:32[RBX] & 1]
+00013864: RSP := RSP - 8
+00013869: mem := mem with [RSP, el]:u64 <- 0x180001583
+0001386b: call @sub_180001118 with return %0001386d
+
+0001386d:
+00013873: RAX := pad:64[low:32[RBX]]
+00013878: goto %00013876
+
+000138e7:
+000138f1: RAX := 0
+000195cd: goto %00013876
+
+00013876:
+00013881: RBX := mem[RSP + 0x40, el]:u64
+000138a2: RSP := RSP + 0x30
+000138cd: RDI := mem[RSP, el]:u64
+000138d1: RSP := RSP + 8
+000138de: #12582265 := mem[RSP, el]:u64
+000138e2: RSP := RSP + 8
+000138e5: call #12582265 with noreturn
+
+000195d1: sub sub_1800015b8(sub_1800015b8_result)
+00019628: sub_1800015b8_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
+000195e0: goto %0001912d
+
+0001912d:
+00019148: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX]
+00019154: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) &
+          (mem[0x180008170, el]:u32 ^ #12582123)]
+00019163: SF := high:1[#12582123]
+00019167: ZF := 0 = #12582123
+00019175: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c3e
+000195df: goto %00019179
+
+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
+000195de: goto %0001901b
+
+0001901b:
+00019021: RAX := mem[0x180006880, el]:u64
+00019033: #12582130 := RAX
+00019049: ZF := 0 = #12582130
+00019050: when ~ZF goto %0001904d
+000195dd: goto %0001911f
+
+0001904d:
+0001905f: #12582128 := mem[0x18000B020, el]:u64
+00019063: RSP := RSP - 8
+00019068: mem := mem with [RSP, el]:u64 <- 0x180001611
+0001906b: call #12582128 with return %0001906d
+
+0001906d:
+00019073: RBX := pad:64[low:32[RAX]]
+0001907f: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00019091: #12582127 := low:32[RAX]
+000190a7: ZF := 0 = #12582127
+000190ad: when ZF goto %00018b9b
+000195dc: goto %000190b1
+
+0001911f:
+00019127: mem := mem with [RSP + 0x30, el]:u32 <- 1
+0001912b: goto %000190b1
+
+000190b1:
+000190b7: R8 := RSI
+000190bf: RDX := pad:64[low:32[RDI]]
+000190c7: RCX := R14
+000190d2: RSP := RSP - 8
+000190d7: mem := mem with [RSP, el]:u64 <- 0x18000162C
+000190d9: call @sub_180001350 with return %000190db
+
+000190db:
+000190e1: RBX := pad:64[low:32[RAX]]
+000190ed: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+000190ff: #12582125 := low:32[RAX]
+00019115: ZF := 0 = #12582125
+0001911b: when ZF goto %00018b9b
+000195db: 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 <- 0x180001647
+00004cb3: call @sub_1800010b4 with return %00018ab3
+
+00018ab3:
+00018ab9: RBX := pad:64[low:32[RAX]]
+00018ac5: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018add: #12582155 := low:32[RDI] - 1
+00018af9: ZF := 0 = #12582155
+00018b00: when ~ZF goto %00018afd
+000195da: goto %00018ee7
+
+00018ee7:
+00018ef7: #12582137 := low:32[RAX]
+00018f0d: ZF := 0 = #12582137
+00018f13: when ~ZF goto %00018afd
+000195d9: goto %00018f17
+
+00018f17:
+00018f1d: R8 := RSI
+00018f29: RDX := 0
+00018f43: RCX := R14
+00018f4e: RSP := RSP - 8
+00018f53: mem := mem with [RSP, el]:u64 <- 0x180001663
+00018f55: call @sub_1800010b4 with return %00018f57
+
+00018f57:
+00018f67: #12582135 := RSI
+00018f7d: ZF := 0 = #12582135
+00018f87: RCX := 63:8[RCX].pad:8[~ZF]
+00018f92: RSP := RSP - 8
+00018f97: mem := mem with [RSP, el]:u64 <- 0x18000166E
+00018f99: call @sub_180001510 with return %00018f9b
+
+00018f9b:
+00018fa1: RAX := mem[0x180006880, el]:u64
+00018fb3: #12582133 := RAX
+00018fc9: ZF := 0 = #12582133
+00018fcf: when ZF goto %00018afd
+000195d8: goto %00018fd3
+
+00018fd3:
+00018fd9: R8 := RSI
+00018fe5: RDX := 0
+00018fff: RCX := R14
+0001900d: #12582131 := mem[0x18000B020, el]:u64
+00019011: RSP := RSP - 8
+00019016: mem := mem with [RSP, el]:u64 <- 0x180001688
+00019019: call #12582131 with return %00018afd
+
+00018afd:
+00018b13: #12582153 := low:32[RDI]
+00018b29: ZF := 0 = #12582153
+00018b30: when ZF goto %00018b2d
+000195d7: goto %00018eab
+
+00018eab:
+00018ec1: #12582139 := low:32[RDI] - 3
+00018edd: ZF := 0 = #12582139
+00018ee3: when ~ZF goto %00018b9b
+000195d6: goto %00018b2d
+
+00018b2d:
+00018b39: R8 := RSI
+00018b41: RDX := pad:64[low:32[RDI]]
+00018b49: RCX := R14
+00018b54: RSP := RSP - 8
+00018b59: mem := mem with [RSP, el]:u64 <- 0x18000169E
+00018b5b: call @sub_180001350 with return %00018b5d
+
+00018b5d:
+00018b63: RBX := pad:64[low:32[RAX]]
+00018b6f: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+00018b81: #12582151 := low:32[RAX]
+00018b97: ZF := 0 = #12582151
+00018b9e: when ZF goto %00018b9b
+000195d5: goto %00018e15
+
+00018e15:
+00018e1b: RAX := mem[0x180006880, el]:u64
+00018e2d: #12582142 := RAX
+00018e43: ZF := 0 = #12582142
+00018e4a: when ~ZF goto %00018e47
+000195d4: goto %00018e93
+
+00018e47:
+00018e53: R8 := RSI
+00018e5b: RDX := pad:64[low:32[RDI]]
+00018e63: RCX := R14
+00018e71: #12582140 := mem[0x18000B020, el]:u64
+00018e75: RSP := RSP - 8
+00018e7a: mem := mem with [RSP, el]:u64 <- 0x1800016CB
+00018e7d: call #12582140 with return %00018e7f
+
+00018e7f:
+00018e85: RBX := pad:64[low:32[RAX]]
+00018e91: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX]
+000195d3: goto %00018b9b
+
+00018e93:
+00018e99: RBX := pad:64[low:32[RAX + 1]]
+00018ea5: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX]
+00018ea9: goto %00018b9b
+
+00018b9b:
+00018ba4: goto %00018ba2
+
+00018ba2:
+00018bab: RAX := pad:64[low:32[RBX]]
+000195d2: goto %00018bad
+
+00019179:
+00019183: RAX := 0
+00019199: goto %00018bad
+
+00018bad:
+00018bb5: RBX := mem[RSP + 0x78, el]:u64
+00018bd6: RSP := RSP + 0x40
+00018c01: R14 := mem[RSP, el]:u64
+00018c05: RSP := RSP + 8
+00018c11: RDI := mem[RSP, el]:u64
+00018c15: RSP := RSP + 8
+00018c21: RSI := mem[RSP, el]:u64
+00018c25: RSP := RSP + 8
+00018c32: #12582146 := mem[RSP, el]:u64
+00018c36: RSP := RSP + 8
+00018c39: call #12582146 with noreturn
+
+000195e1: sub sub_180001d34(sub_180001d34_result)
+00019629: sub_180001d34_result :: out u32 = low:32[RAX]
+
+0000d706:
+0000d725: RSP := RSP - 0x18
+0000d749: R8 := RCX
+0000d74f: RAX := 0x5A4D
+0000d76c: #12582860 := mem[0x180000000, el]:u16 - 0x5A4D
+0000d78b: ZF := 0 = #12582860
+0000d792: when ~ZF goto %0000d78f
+000195eb: goto %0000d8cd
+
+0000d8cd:
+0000d8d3: RCX := extend:64[mem[0x18000003C, el]:u32]
+0000d8d9: RDX := 0x180000000
+0000d904: RCX := RCX + 0x180000000
+0000d943: #12582851 := mem[RCX, el]:u32 - 0x4550
+0000d963: ZF := 0 = #12582851
+0000d969: when ~ZF goto %0000d78f
+000195ea: goto %0000d96d
+
+0000d96d:
+0000d971: RAX := 0x20B
+0000d994: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B
+0000d9b7: ZF := 0 = #12582849
+0000d9bd: when ~ZF goto %0000d78f
+000195e9: goto %0000d9c1
+
+0000d78f:
+0000d7a1: RAX := 63:8[RAX].0
+0000d7b8: goto %0000d7b6
+
+0000d9c1:
+0000d9e8: R8 := R8 - 0x180000000
+0000da11: RDX := pad:64[mem[RCX + 0x14, el]:u16]
+0000da32: RDX := RDX + 0x18
+0000da77: #12582840 := RCX
+0000da7c: RDX := RDX + #12582840
+0000daa7: RAX := pad:64[mem[RCX + 6, el]:u16]
+0000dab1: RCX := RAX + (RAX << 2)
+0000dabb: R9 := RDX + (RCX << 3)
+000195e8: goto %0000dabd
+
+0000dabd:
+0000dac7: mem := mem with [RSP, el]:u64 <- RDX
+0000dae4: #12582838 := RDX - R9
+0000db03: ZF := 0 = #12582838
+0000db0a: when ZF goto %0000db07
+000195e7: goto %0000dbfb
+
+0000db07:
+0000db17: RDX := 0
+000195e6: goto %0000db2b
+
+0000dbfb:
+0000dc03: RCX := pad:64[mem[RDX + 0xC, el]:u32]
+0000dc25: CF := R8 < RCX
+0000dc46: when CF goto %0000dc43
+000195e5: goto %0000dc8d
+
+0000dc8d:
+0000dc95: RAX := pad:64[mem[RDX + 8, el]:u32]
+0000dcbb: #12582826 := low:32[RCX]
+0000dcc0: RAX := pad:64[low:32[RAX] + #12582826]
+0000dd03: CF := R8 < RAX
+0000dd23: when CF goto %0000db2b
+000195e4: goto %0000dc43
+
+0000db2b:
+0000db3b: #12582836 := RDX
+0000db51: ZF := 0 = #12582836
+0000db58: when ~ZF goto %0000db55
+000195e3: goto %0000dbd7
+
+0000db55:
+0000db77: #12582834 := mem[RDX + 0x24, el]:u32
+0000db84: OF := high:1[mem[RDX + 0x24, el]:u32 &
+          (mem[RDX + 0x24, el]:u32 ^ #12582834)]
+0000db93: SF := high:1[#12582834]
+0000dba4: when ~((SF | OF) & ~(SF & OF)) goto %0000db9e
+000195e2: goto %0000dbb3
+
+0000db9e:
+0000dbad: RAX := high:56[RAX].1
+0000dbb1: goto %0000d7b6
+
+0000dbb3:
+0000dbbf: RAX := 63:8[RAX].0
+0000dbd5: goto %0000d7b6
+
+0000dbd7:
+0000dbe3: RAX := 63:8[RAX].0
+0000dbf9: goto %0000d7b6
+
+0000d7b6:
+0000d7d8: RSP := RSP + 0x18
+0000d804: #12582855 := mem[RSP, el]:u64
+0000d808: RSP := RSP + 8
+0000d80b: call #12582855 with noreturn
+
+0000dc43:
+0000dc68: RDX := RDX + 0x28
+0000dc8b: goto %0000dabd
+
+000195ec: sub sub_180002746(sub_180002746_result)
+0001962a: sub_180002746_result :: out u32 = low:32[RAX]
+
+00004de1:
+00004de5: call mem[0x18000A0F8, el]:u64 with noreturn
+
+000195ed: sub sub_18000274c(sub_18000274c_result)
+0001962b: sub_18000274c_result :: out u32 = low:32[RAX]
+
+00004de7:
+00004deb: call mem[0x18000A100, el]:u64 with noreturn
+
+000195ee: sub sub_180002752(sub_180002752_result)
+0001962c: sub_180002752_result :: out u32 = low:32[RAX]
+
+00004ded:
+00004df1: call mem[0x18000A108, el]:u64 with noreturn
+
+000195ef: sub sub_180002758(sub_180002758_result)
+0001962d: sub_180002758_result :: out u32 = low:32[RAX]
+
+00004df3:
+00004df7: call mem[0x18000A1A0, el]:u64 with noreturn
+
+000195f0: sub sub_18000275e(sub_18000275e_result)
+0001962e: sub_18000275e_result :: out u32 = low:32[RAX]
+
+00004df9:
+00004dfd: call mem[0x18000A178, el]:u64 with noreturn
+
+000195f1: sub sub_18000276a(sub_18000276a_result)
+0001962f: sub_18000276a_result :: out u32 = low:32[RAX]
+
+00004e05:
+00004e09: call mem[0x18000A188, el]:u64 with noreturn
+
+000195f2: sub sub_180002770(sub_180002770_result)
+00019630: sub_180002770_result :: out u32 = low:32[RAX]
+
+00004e0b:
+00004e0f: call mem[0x18000A190, el]:u64 with noreturn
+
+000195f3: sub sub_180002776(sub_180002776_result)
+00019631: sub_180002776_result :: out u32 = low:32[RAX]
+
+00004e11:
+00004e15: call mem[0x18000A198, el]:u64 with noreturn
+
+000195f4: sub sub_18000277c(sub_18000277c_result)
+00019632: sub_18000277c_result :: out u32 = low:32[RAX]
+
+00004e17:
+00004e1b: call mem[0x18000A1D0, el]:u64 with noreturn
+
+000195f5: sub sub_180002788(sub_180002788_result)
+00019633: sub_180002788_result :: out u32 = low:32[RAX]
+
+00004e23:
+00004e27: call mem[0x18000A1B0, el]:u64 with noreturn
+
+000195f6: sub sub_180002794(sub_180002794_result)
+00019634: sub_180002794_result :: out u32 = low:32[RAX]
+
+00004e2f:
+00004e33: call mem[0x18000A1C0, el]:u64 with noreturn
+
+000195f7: sub sub_18000279a(sub_18000279a_result)
+00019635: sub_18000279a_result :: out u32 = low:32[RAX]
+
+00004e35:
+00004e39: call mem[0x18000A1C8, el]:u64 with noreturn
+
+000195f8: sub sub_1800027a0(sub_1800027a0_result)
+00019636: sub_1800027a0_result :: out u32 = low:32[RAX]
+
+00004e3b:
+00004e41: RAX := high:56[RAX].1
+00004e4e: #12582883 := mem[RSP, el]:u64
+00004e52: RSP := RSP + 8
+00004e55: call #12582883 with noreturn
+
+000195f9: sub sub_1800027a4(sub_1800027a4_result)
+00019637: sub_1800027a4_result :: out u32 = low:32[RAX]
+
+00004e5b:
+00004e61: RAX := high:56[RAX].1
+00004e6e: #12582882 := mem[RSP, el]:u64
+00004e72: RSP := RSP + 8
+00004e75: call #12582882 with noreturn
+
+000195fa: sub sub_1800027a8(sub_1800027a8_result)
+00019638: sub_1800027a8_result :: out u32 = low:32[RAX]
+
+00004e7b:
+00004e81: RAX := high:56[RAX].1
+00004e8e: #12582881 := mem[RSP, el]:u64
+00004e92: RSP := RSP + 8
+00004e95: call #12582881 with noreturn
+
+000195fb: sub sub_1800027ac(sub_1800027ac_result)
+00019639: sub_1800027ac_result :: out u32 = low:32[RAX]
+
+00004e9b:
+00004ea1: RAX := high:56[RAX].1
+00004eae: #12582880 := mem[RSP, el]:u64
+00004eb2: RSP := RSP + 8
+00004eb5: call #12582880 with noreturn
+
+000195fc: sub sub_1800027b0(sub_1800027b0_result)
+0001963a: sub_1800027b0_result :: out u32 = low:32[RAX]
+
+00004ebb:
+00004ec1: RAX := high:56[RAX].1
+00004ece: #12582879 := mem[RSP, el]:u64
+00004ed2: RSP := RSP + 8
+00004ed5: call #12582879 with noreturn
+
+00010e53: sub intrinsic:x86:lock()
+
+
+00010e73: sub intrinsic:x86:unlock()
+
+
+00004d89: sub interrupt:#3(interrupt:#3_result)
+0001963b: interrupt:#3_result :: out u32 = low:32[RAX]
+
+0000f698: sub interrupt:#41(interrupt:#41_result)
+0001963c: interrupt:#41_result :: out u32 = low:32[RAX]
-- 
GitLab