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