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]