diff --git a/BCB/Cheang et al/Figure 3d/Figure_3d.bir b/BCB/Cheang et al/Figure 3d/Figure_3d.bir index 512fb0f877ece6b232825b740f1f555682fb6479..719bac57f4daa0f43a5bc1809adda53400269844 100644 --- a/BCB/Cheang et al/Figure 3d/Figure_3d.bir +++ b/BCB/Cheang et al/Figure 3d/Figure_3d.bir @@ -1,2162 +1,2364 @@ -000194eb: program -000194ec: sub foo(foo_result) -00019599: foo_result :: out u32 = low:32[RAX] - -0001433d: -0001433f: goto %000133db - -000133db: -000133e1: RAX := pad:64[mem[0x180008175]] -00013403: CF := low:32[RCX] < low:32[RAX] -00013424: when ~CF goto %00013421 -000194ed: goto %0001349b - -00013421: -00013433: RAX := 63:8[RAX].0 -00013452: #12582290 := mem[RSP, el]:u64 -00013456: RSP := RSP + 8 -00013459: call #12582290 with noreturn - -0001349b: -000134a3: RAX := pad:64[low:32[RCX]] -000134a9: RDX := 0x180000000 -000134b5: RAX := pad:64[mem[RAX + 0x180008190]] -000134bf: RCX := pad:64[mem[0x180008174]] -000134d5: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]] -000134d9: RCX := pad:64[low:32[#12582289]] -000134fb: RAX := pad:64[mem[RCX + 0x180008178]] -00013508: #12582288 := mem[RSP, el]:u64 -0001350c: RSP := RSP + 8 -0001350f: call #12582288 with noreturn - -000194ee: sub sub_180001005(sub_180001005_result) -0001959a: sub_180001005_result :: out u32 = low:32[RAX] - -000049f0: -000049f3: goto %000049f1 - -000049f1: -000049fe: mem := mem with [RSP + 8, el]:u64 <- RBX -00004a0a: mem := mem with [RSP + 0x10, el]:u64 <- RSI -00004a18: #12582911 := RDI -00004a1c: RSP := RSP - 8 -00004a22: mem := mem with [RSP, el]:u64 <- #12582911 -00004a40: RSP := RSP - 0x20 -00004a64: RDI := R8 -00004a6c: RBX := pad:64[low:32[RDX]] -00004a74: RSI := RCX -00004a8c: #12582907 := low:32[RDX] - 1 -00004aa8: ZF := 0 = #12582907 -00004aaf: when ~ZF goto %00004aac -000194ef: goto %000194d9 - -000194d9: -000194e2: RSP := RSP - 8 -000194e7: mem := mem with [RSP, el]:u64 <- 0x180001789 -000194e9: call @sub_1800010fa with return %00004aac - -00004aac: -00004ab8: R8 := RDI -00004ac0: RDX := pad:64[low:32[RBX]] -00004ac8: RCX := RSI -00004ad2: RBX := mem[RSP + 0x30, el]:u64 -00004adc: RSI := mem[RSP + 0x38, el]:u64 -00004afd: RSP := RSP + 0x20 -00004b28: RDI := mem[RSP, el]:u64 -00004b2c: RSP := RSP + 8 -00004b31: call @sub_1800015c0 with noreturn - -000194f0: sub sub_18000100f(sub_18000100f_result) -0001959b: sub_18000100f_result :: out u32 = low:32[RAX] +0001954c: program +0001954d: sub foo(foo_result) +000195fa: foo_result :: out u32 = low:32[RAX] + +0001439e: +000143a0: goto %0001343b + +0001343b: +00013441: RAX := pad:64[mem[0x180008223]] +00013463: CF := low:32[RCX] < low:32[RAX] +00013484: when ~CF goto %00013481 +0001954e: goto %000134f7 + +00013481: +00013493: RAX := 63:8[RAX].0 +000134b2: #12582290 := mem[RSP, el]:u64 +000134b6: RSP := RSP + 8 +000134b9: call #12582290 with noreturn + +000134f7: +000134fd: RAX := pad:64[low:32[RCX]] +00013503: RDX := 0x180000000 +0001350f: RAX := pad:64[mem[RAX + 0x180008230]] +00013518: call @intrinsic:llvm-x86_64:LFENCE with return %0001351a + +0001351a: +00013520: RCX := pad:64[mem[0x180008218]] +00013536: #12582289 := extend:64[low:32[RCX]] * extend:64[low:32[RAX]] +0001353a: RCX := pad:64[low:32[#12582289]] +0001355c: RAX := pad:64[mem[RCX + 0x180008228]] +00013569: #12582288 := mem[RSP, el]:u64 +0001356d: RSP := RSP + 8 +00013570: call #12582288 with noreturn + +0001954f: sub sub_180001005(sub_180001005_result) +000195fb: sub_180001005_result :: out u32 = low:32[RAX] + +00004a00: +00004a03: goto %00004a01 + +00004a01: +00004a0e: mem := mem with [RSP + 8, el]:u64 <- RBX +00004a1a: mem := mem with [RSP + 0x10, el]:u64 <- RSI +00004a28: #12582911 := RDI +00004a2c: RSP := RSP - 8 +00004a32: mem := mem with [RSP, el]:u64 <- #12582911 +00004a50: RSP := RSP - 0x20 +00004a74: RDI := R8 +00004a7c: RBX := pad:64[low:32[RDX]] +00004a84: RSI := RCX +00004a9c: #12582907 := low:32[RDX] - 1 +00004ab8: ZF := 0 = #12582907 +00004abf: when ~ZF goto %00004abc +00019550: goto %0001953a + +0001953a: +00019543: RSP := RSP - 8 +00019548: mem := mem with [RSP, el]:u64 <- 0x180001785 +0001954a: call @sub_1800010fa with return %00004abc + +00004abc: +00004ac8: R8 := RDI +00004ad0: RDX := pad:64[low:32[RBX]] +00004ad8: RCX := RSI +00004ae2: RBX := mem[RSP + 0x30, el]:u64 +00004aec: RSI := mem[RSP + 0x38, el]:u64 +00004b0d: RSP := RSP + 0x20 +00004b38: RDI := mem[RSP, el]:u64 +00004b3c: RSP := RSP + 8 +00004b41: call @sub_1800015bc with noreturn + +00019551: sub sub_18000100f(sub_18000100f_result) +000195fc: sub_18000100f_result :: out u32 = low:32[RAX] + +000118a5: +000118b4: goto %000118b2 + +000118b2: +000118b9: RAX := 0x180008198 +000118c6: #12582417 := mem[RSP, el]:u64 +000118ca: RSP := RSP + 8 +000118cd: call #12582417 with noreturn + +00019552: sub sub_180001019(sub_180001019_result) +000195fd: sub_180001019_result :: out u32 = low:32[RAX] + +0001190d: +00011910: goto %0001190e + +0001190e: +0001192d: RSP := RSP - 0x28 +00011955: RCX := 0 +00011972: RSP := RSP - 8 +00011977: mem := mem with [RSP, el]:u64 <- 0x180001AFB +00011979: call @sub_18000105a with return %0001197b + +0001197b: +0001198b: #12582412 := low:8[RAX] +000119a1: ZF := 0 = #12582412 +000119ab: RAX := 63:8[RAX].pad:8[~ZF] +000119cc: RSP := RSP + 0x28 +000119f8: #12582407 := mem[RSP, el]:u64 +000119fc: RSP := RSP + 8 +000119ff: call #12582407 with noreturn + +00019553: sub sub_18000101e(sub_18000101e_result) +000195fe: sub_18000101e_result :: out u32 = low:32[RAX] + +0001206b: +0001206d: goto %000118df + +000118df: +000118e3: RAX := 0x1800081A8 +000118f0: #12582416 := mem[RSP, el]:u64 +000118f4: RSP := RSP + 8 +000118f7: call #12582416 with noreturn + +00019554: sub sub_18000102d(sub_18000102d_result) +000195ff: sub_18000102d_result :: out u32 = low:32[RAX] + +00011803: +00011811: call @sub_1800027a0 with noreturn + +00019555: sub sub_180001032(sub_180001032_result) +00019600: sub_180001032_result :: out u32 = low:32[RAX] + +00011813: +00011815: goto %00004edb + +00004edb: +00004ee5: RAX := 0 +00004f04: #12582878 := mem[RSP, el]:u64 +00004f08: RSP := RSP + 8 +00004f0b: call #12582878 with noreturn + +00019556: sub sub_18000103c(sub_18000103c_result) +00019601: sub_18000103c_result :: out u32 = low:32[RAX] + +0000dd5b: +0000dd6a: goto %0000dd68 + +0000dd68: +0000dd77: #12582819 := RBX +0000dd7b: RSP := RSP - 8 +0000dd81: mem := mem with [RSP, el]:u64 <- #12582819 +0000dd9f: RSP := RSP - 0x20 +0000ddd3: #12582815 := mem[0x1800081D0, el]:u64 - 0xFFFFFFFFFFFFFFFF +0000ddef: ZF := 0 = #12582815 +0000ddf7: RBX := RCX +0000ddfe: when ~ZF goto %0000ddfb +00019557: goto %0000df81 + +0000ddfb: +0000de07: RDX := RBX +0000de0d: RCX := 0x1800081D0 +0000de18: RSP := RSP - 8 +0000de1d: mem := mem with [RSP, el]:u64 <- 0x180001E85 +0000de1f: call @sub_18000277c with return %0000de21 + +0000df81: +0000df8a: RSP := RSP - 8 +0000df8f: mem := mem with [RSP, el]:u64 <- 0x180001E74 +0000df91: call @sub_180002788 with return %0000df93 + +0000df93: +0000df95: goto %0000de21 + +0000de21: +0000de2b: RDX := 0 +0000de4f: #12582813 := low:32[RAX] +0000de65: ZF := 0 = #12582813 +0000de71: RDX := if ZF then RBX else 0 +0000de79: RAX := RDX +0000de9a: RSP := RSP + 0x20 +0000dec5: RBX := mem[RSP, el]:u64 +0000dec9: RSP := RSP + 8 +0000ded6: #12582808 := mem[RSP, el]:u64 +0000deda: RSP := RSP + 8 +0000dedd: call #12582808 with noreturn + +00019558: sub sub_180001041(sub_180001041_result) +00019602: sub_180001041_result :: out u32 = low:32[RAX] + +0000df97: +0000df99: goto %00004dad + +00004dad: +00004db1: RCX := 0x180008180 +00004db7: call mem[0x18000A028, el]:u64 with noreturn + +00019559: sub sub_180001046(sub_180001046_result) +00019603: sub_180001046_result :: out u32 = low:32[RAX] + +0000df9b: +0000df9d: call @sub_1800027ac with noreturn + +0001955a: sub sub_180001055(sub_180001055_result) +00019604: sub_180001055_result :: out u32 = low:32[RAX] + +0000f067: +0000f069: call @sub_1800027a4 with noreturn + +0001955b: sub sub_18000105a(sub_18000105a_result) +00019605: sub_18000105a_result :: out u32 = low:32[RAX] -00011845: -00011854: goto %00011852 - -00011852: -00011859: RAX := 0x180008198 -00011866: #12582417 := mem[RSP, el]:u64 -0001186a: RSP := RSP + 8 -0001186d: call #12582417 with noreturn - -000194f1: sub sub_180001019(sub_180001019_result) -0001959c: sub_180001019_result :: out u32 = low:32[RAX] - -000118ad: -000118b0: goto %000118ae - -000118ae: -000118cd: RSP := RSP - 0x28 -000118f5: RCX := 0 -00011912: RSP := RSP - 8 -00011917: mem := mem with [RSP, el]:u64 <- 0x180001AFF -00011919: call @sub_18000105a with return %0001191b - -0001191b: -0001192b: #12582412 := low:8[RAX] -00011941: ZF := 0 = #12582412 -0001194b: RAX := 63:8[RAX].pad:8[~ZF] -0001196c: RSP := RSP + 0x28 -00011998: #12582407 := mem[RSP, el]:u64 -0001199c: RSP := RSP + 8 -0001199f: call #12582407 with noreturn - -000194f2: sub sub_18000101e(sub_18000101e_result) -0001959d: sub_18000101e_result :: out u32 = low:32[RAX] - -0001200b: -0001200d: goto %0001187f - -0001187f: -00011883: RAX := 0x1800081A8 -00011890: #12582416 := mem[RSP, el]:u64 -00011894: RSP := RSP + 8 -00011897: call #12582416 with noreturn - -000194f3: sub sub_18000102d(sub_18000102d_result) -0001959e: sub_18000102d_result :: out u32 = low:32[RAX] - -000117a3: -000117b1: call @sub_1800027a0 with noreturn - -000194f4: sub sub_180001032(sub_180001032_result) -0001959f: sub_180001032_result :: out u32 = low:32[RAX] - -000117b3: -000117b5: goto %00004ecb - -00004ecb: -00004ed5: RAX := 0 -00004ed8: AF := unknown[bits]:u1 -00004edb: ZF := 1 -00004ede: PF := 1 -00004ee1: OF := 0 -00004ee4: CF := 0 -00004ee7: SF := 0 -00004ef8: RSP := RSP + 8 -00004efb: call #12582878 with noreturn - -000194f5: sub sub_18000103c(sub_18000103c_result) -000195a0: sub_18000103c_result :: out u32 = low:32[RAX] - -0000dcfb: -0000dd0a: goto %0000dd08 - -0000dd08: -0000dd17: #12582819 := RBX -0000dd1b: RSP := RSP - 8 -0000dd21: mem := mem with [RSP, el]:u64 <- #12582819 -0000dd3f: RSP := RSP - 0x20 -0000dd73: #12582815 := mem[0x1800081D0, el]:u64 - 0xFFFFFFFFFFFFFFFF -0000dd8f: ZF := 0 = #12582815 -0000dd97: RBX := RCX -0000dd9e: when ~ZF goto %0000dd9b -000194f6: goto %0000df21 - -0000dd9b: -0000dda7: RDX := RBX -0000ddad: RCX := 0x1800081D0 -0000ddb8: RSP := RSP - 8 -0000ddbd: mem := mem with [RSP, el]:u64 <- 0x180001E89 -0000ddbf: call @sub_18000277c with return %0000ddc1 - -0000df21: -0000df2a: RSP := RSP - 8 -0000df2f: mem := mem with [RSP, el]:u64 <- 0x180001E78 -0000df31: call @sub_180002788 with return %0000df33 - -0000df33: -0000df35: goto %0000ddc1 - -0000ddc1: -0000ddcb: RDX := 0 -0000ddef: #12582813 := low:32[RAX] -0000de05: ZF := 0 = #12582813 -0000de11: RDX := if ZF then RBX else 0 -0000de19: RAX := RDX -0000de3a: RSP := RSP + 0x20 -0000de65: RBX := mem[RSP, el]:u64 -0000de69: RSP := RSP + 8 -0000de76: #12582808 := mem[RSP, el]:u64 -0000de7a: RSP := RSP + 8 -0000de7d: call #12582808 with noreturn - -000194f7: sub sub_180001041(sub_180001041_result) -000195a1: sub_180001041_result :: out u32 = low:32[RAX] - -0000df37: -0000df39: goto %00004d9d - -00004d9d: -00004da1: RCX := 0x180008180 -00004da7: call mem[0x18000A028, el]:u64 with noreturn - -000194f8: sub sub_180001046(sub_180001046_result) -000195a2: sub_180001046_result :: out u32 = low:32[RAX] - -0000df3b: -0000df3d: call @sub_1800027ac with noreturn - -000194f9: sub sub_180001055(sub_180001055_result) -000195a3: sub_180001055_result :: out u32 = low:32[RAX] - -0000f007: -0000f009: call @sub_1800027a4 with noreturn - -000194fa: sub sub_18000105a(sub_18000105a_result) -000195a4: sub_18000105a_result :: out u32 = low:32[RAX] - -0000f00b: -0000f00e: goto %0000f00c - -0000f00c: -0000f01b: #12582710 := RBX -0000f01f: RSP := RSP - 8 -0000f025: mem := mem with [RSP, el]:u64 <- #12582710 -0000f043: RSP := RSP - 0x20 -0000f077: #12582706 := mem[0x1800081C9] -0000f093: ZF := 0 = #12582706 -0000f09b: RBX := pad:64[low:32[RCX]] -0000f0a2: when ~ZF goto %0000f09f -00019504: goto %00014179 - -00014179: -0001418f: #12582218 := low:32[RCX] - 1 -00014193: CF := low:32[RCX] < 1 -000141ab: ZF := 0 = #12582218 -000141b3: when ~(CF | ZF) goto %0000f111 -00019503: goto %000141b7 - -0000f111: -0000f115: RCX := 5 -0000f121: RSP := RSP - 8 -0000f126: mem := mem with [RSP, el]:u64 <- 0x180001D16 -0000f128: call @sub_18000114a with return %000140e1 - -000140e1: -000140e3: call @interrupt:#3 with noreturn - -000140e5: -000140e7: call @interrupt:#3 with noreturn - -000140e9: -000140eb: call @interrupt:#3 with noreturn - -000140ed: -000140ef: call @interrupt:#3 with noreturn - -000140f1: -000140f3: call @interrupt:#3 with noreturn - -000140f5: -000140f7: call @interrupt:#3 with noreturn - -000140f9: -000140fb: call @interrupt:#3 with noreturn - -000140fd: -000140ff: call @interrupt:#3 with noreturn - -00014101: -00014103: call @interrupt:#3 with noreturn - -00014105: -00014107: call @interrupt:#3 with noreturn +0000f06b: +0000f06e: goto %0000f06c -00014109: -0001410b: call @interrupt:#3 with noreturn +0000f06c: +0000f07b: #12582710 := RBX +0000f07f: RSP := RSP - 8 +0000f085: mem := mem with [RSP, el]:u64 <- #12582710 +0000f0a3: RSP := RSP - 0x20 +0000f0d7: #12582706 := mem[0x1800081C9] +0000f0f3: ZF := 0 = #12582706 +0000f0fb: RBX := pad:64[low:32[RCX]] +0000f102: when ~ZF goto %0000f0ff +00019565: goto %000141da -0001410d: -0001410f: call @interrupt:#3 with noreturn +000141da: +000141f0: #12582218 := low:32[RCX] - 1 +000141f4: CF := low:32[RCX] < 1 +000141fa: OF := high:1[(low:32[RCX] ^ 1) & (low:32[RCX] ^ #12582218)] +000141ff: AF := 0x10 = (0x10 & (#12582218 ^ low:32[RCX] ^ 1)) +00014204: PF := + ~low:1[let $0 = #12582218 >> 4 ^ #12582218 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00014208: SF := high:1[#12582218] +0001420c: ZF := 0 = #12582218 +00014214: when ~(CF | ZF) goto %0000f171 +00019564: goto %00014218 -00014111: -00014113: call @interrupt:#3 with noreturn +0000f171: +0000f175: RCX := 5 +0000f181: RSP := RSP - 8 +0000f186: mem := mem with [RSP, el]:u64 <- 0x180001D12 +0000f188: call @sub_18000114a with return %00014142 -00014115: -00014117: call @interrupt:#3 with noreturn +00014142: +00014144: call @interrupt:#3 with noreturn -00014119: -0001411b: call @interrupt:#3 with noreturn +00014146: +00014148: call @interrupt:#3 with noreturn -0001411d: -0001411f: call @interrupt:#3 with noreturn +0001414a: +0001414c: call @interrupt:#3 with noreturn -00014121: -00014123: call @interrupt:#3 with noreturn +0001414e: +00014150: call @interrupt:#3 with noreturn -00014125: -00014127: call @interrupt:#3 with noreturn +00014152: +00014154: call @interrupt:#3 with noreturn -00014129: -0001412b: call @interrupt:#3 with noreturn +00014156: +00014158: call @interrupt:#3 with noreturn -0001412d: -0001412f: call @interrupt:#3 with noreturn +0001415a: +0001415c: call @interrupt:#3 with noreturn -00014131: -00014133: call @interrupt:#3 with noreturn +0001415e: +00014160: call @interrupt:#3 with noreturn -00014135: -00014137: call @interrupt:#3 with noreturn +00014162: +00014164: call @interrupt:#3 with noreturn -00014139: -0001413b: call @interrupt:#3 with noreturn +00014166: +00014168: call @interrupt:#3 with noreturn -0001413d: -0001413f: call @interrupt:#3 with noreturn +0001416a: +0001416c: call @interrupt:#3 with noreturn -00014141: -00014143: call @interrupt:#3 with noreturn +0001416e: +00014170: call @interrupt:#3 with noreturn -00014145: -00014147: call @interrupt:#3 with noreturn +00014172: +00014174: call @interrupt:#3 with noreturn -00014149: -0001414b: call @interrupt:#3 with noreturn +00014176: +00014178: call @interrupt:#3 with noreturn -0001414d: -0001414f: call @interrupt:#3 with noreturn +0001417a: +0001417c: call @interrupt:#3 with noreturn -00014151: -00014153: call @interrupt:#3 with noreturn +0001417e: +00014180: call @interrupt:#3 with noreturn -00014155: -00014157: call @interrupt:#3 with noreturn +00014182: +00014184: call @interrupt:#3 with noreturn -00014159: -0001415b: call @interrupt:#3 with noreturn +00014186: +00014188: call @interrupt:#3 with noreturn -0001415d: -0001415f: call @interrupt:#3 with noreturn +0001418a: +0001418c: call @interrupt:#3 with noreturn + +0001418e: +00014190: call @interrupt:#3 with noreturn + +00014192: +00014194: call @interrupt:#3 with noreturn + +00014196: +00014198: call @interrupt:#3 with noreturn + +0001419a: +0001419c: call @interrupt:#3 with noreturn + +0001419e: +000141a0: call @interrupt:#3 with noreturn + +000141a2: +000141a4: call @interrupt:#3 with noreturn + +000141a6: +000141a8: call @interrupt:#3 with noreturn + +000141aa: +000141ac: call @interrupt:#3 with noreturn + +000141ae: +000141b0: call @interrupt:#3 with noreturn + +000141b2: +000141b4: call @interrupt:#3 with noreturn + +000141b6: +000141b8: call @interrupt:#3 with noreturn + +000141ba: +000141bc: call @interrupt:#3 with noreturn + +000141be: +000141c0: call @interrupt:#3 with noreturn + +000141c2: +000141c4: call @interrupt:#3 with noreturn + +000141c6: +000141c8: call @interrupt:#3 with noreturn + +000141ca: +000141cc: call @interrupt:#3 with noreturn + +000141ce: +000141d0: call @interrupt:#3 with noreturn + +000141d2: +000141d4: call @interrupt:#3 with noreturn + +000141d6: +000141d8: call @interrupt:#3 with noreturn +00019563: call @sub_180001d38 with noreturn + +00014218: +00014221: RSP := RSP - 8 +00014226: mem := mem with [RSP, el]:u64 <- 0x180001CA3 +00014228: call @sub_180001087 with return %0001422a + +0001422a: +0001423a: #12582216 := low:32[RAX] +0001423d: OF := 0 +00014240: CF := 0 +00014243: AF := unknown[bits]:u1 +00014248: PF := + ~low:1[let $0 = #12582216 >> 4 ^ #12582216 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +0001424c: SF := high:1[#12582216] +00014250: ZF := 0 = #12582216 +00014257: when ZF goto %00014254 +00019562: goto %000142b2 + +000142b2: +000142c2: #12582213 := low:32[RBX] +000142c5: OF := 0 +000142c8: CF := 0 +000142cb: AF := unknown[bits]:u1 +000142d0: PF := + ~low:1[let $0 = #12582213 >> 4 ^ #12582213 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +000142d4: SF := high:1[#12582213] +000142d8: ZF := 0 = #12582213 +000142de: when ~ZF goto %00014254 +00019561: goto %000142e2 + +00014254: +00014262: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128 +0001426e: RAX := 0xFFFFFFFFFFFFFFFF +00014271: OF := 0 +00014274: CF := 0 +00014277: AF := unknown[bits]:u1 +0001427a: PF := 1 +0001427d: SF := 1 +00014280: ZF := 0 +0001428a: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0] +00014294: mem := mem with [0x1800081E0, el]:u64 <- RAX +0001429e: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0] +000142a8: mem := mem with [0x1800081F8, el]:u64 <- RAX +00019560: goto %000142aa + +000142e2: +000142e6: RCX := 0x1800081D0 +000142f1: RSP := RSP - 8 +000142f6: mem := mem with [RSP, el]:u64 <- 0x180001CB7 +000142f8: call @sub_180002776 with return %000142fa + +000142fa: +0001430a: #12582211 := low:32[RAX] +0001430d: OF := 0 +00014310: CF := 0 +00014313: AF := unknown[bits]:u1 +00014318: PF := + ~low:1[let $0 = #12582211 >> 4 ^ #12582211 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +0001431c: SF := high:1[#12582211] +00014320: ZF := 0 = #12582211 +00014327: when ~ZF goto %00014324 +0001955f: goto %0001434e + +0001434e: +00014352: RCX := 0x1800081E8 +0001435d: RSP := RSP - 8 +00014362: mem := mem with [RSP, el]:u64 <- 0x180001CC7 +00014364: call @sub_180002776 with return %00014366 + +00014366: +00014376: #12582209 := low:32[RAX] +00014379: OF := 0 +0001437c: CF := 0 +0001437f: AF := unknown[bits]:u1 +00014384: PF := + ~low:1[let $0 = #12582209 >> 4 ^ #12582209 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00014388: SF := high:1[#12582209] +0001438c: ZF := 0 = #12582209 +00014392: when ZF goto %000142aa +0001955e: goto %00014324 + +000142aa: +000142b0: mem := mem with [0x1800081C9] <- 1 +0001955d: goto %0000f0ff + +0000f0ff: +0000f10b: RAX := high:56[RAX].1 + +00014324: +00014336: RAX := 63:8[RAX].0 +00014339: AF := unknown[bits]:u1 +0001433c: ZF := 1 +0001433f: PF := 1 +00014342: OF := 0 +00014345: CF := 0 +00014348: SF := 0 +0001434c: goto %0000f10d + +0000f10d: +0000f12c: RSP := RSP + 0x20 +0000f157: RBX := mem[RSP, el]:u64 +0000f15b: RSP := RSP + 8 +0000f168: #12582701 := mem[RSP, el]:u64 +0000f16c: RSP := RSP + 8 +0000f16f: call #12582701 with noreturn + +00019566: sub sub_180001082(sub_180001082_result) +00019606: sub_180001082_result :: out u32 = low:32[RAX] + +00013608: +00013617: goto %00013615 + +00013615: +00013624: #12582286 := RBX +00013628: RSP := RSP - 8 +0001362e: mem := mem with [RSP, el]:u64 <- #12582286 +00013648: #12582285 := RSP +0001364c: RSP := RSP - 0x20 +00013650: CF := #12582285 < 0x20 +00013656: OF := high:1[(#12582285 ^ 0x20) & (#12582285 ^ RSP)] +0001365b: AF := 0x10 = (0x10 & (RSP ^ #12582285 ^ 0x20)) +00013660: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013664: SF := high:1[RSP] +00013668: ZF := 0 = RSP +00013680: #12582282 := mem[0x1800081C8] +00013684: CF := mem[0x1800081C8] < 0 +0001368a: OF := high:1[mem[0x1800081C8] & (mem[0x1800081C8] ^ #12582282)] +0001368f: AF := 0x10 = (0x10 & (#12582282 ^ mem[0x1800081C8])) +00013694: PF := + ~low:1[let $0 = #12582282 >> 4 ^ #12582282 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013698: SF := high:1[#12582282] +0001369c: ZF := 0 = #12582282 +000136a6: RBX := high:56[RBX].low:8[RCX] +000136ad: when ZF goto %000136aa +00019568: goto %00013776 + +00013776: +00013786: #12582276 := low:8[RDX] +00013789: OF := 0 +0001378c: CF := 0 +0001378f: AF := unknown[bits]:u1 +00013794: PF := + ~low:1[let $0 = #12582276 >> 4 ^ #12582276 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013798: SF := high:1[#12582276] +0001379c: ZF := 0 = #12582276 +000137a2: when ~ZF goto %000136de +00019567: goto %000136aa + +000136aa: +000136b9: RSP := RSP - 8 +000136be: mem := mem with [RSP, el]:u64 <- 0x180001E42 +000136c0: call @sub_1800010e6 with return %000136c2 + +000136c2: +000136ca: RCX := high:56[RCX].low:8[RBX] +000136d5: RSP := RSP - 8 +000136da: mem := mem with [RSP, el]:u64 <- 0x180001E49 +000136dc: call @sub_180001046 with return %000136de + +000136de: +000136e4: RAX := high:56[RAX].1 +00013701: #12582280 := RSP +00013705: RSP := RSP + 0x20 +0001370a: CF := RSP < #12582280 +00013712: OF := ~high:1[#12582280] & (high:1[#12582280] | high:1[RSP]) & + ~(high:1[#12582280] & high:1[RSP]) +00013717: AF := 0x10 = (0x10 & (RSP ^ #12582280 ^ 0x20)) +0001371c: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013720: SF := high:1[RSP] +00013724: ZF := 0 = RSP +00013730: RBX := mem[RSP, el]:u64 +00013734: RSP := RSP + 8 +00013741: #12582277 := mem[RSP, el]:u64 +00013745: RSP := RSP + 8 +00013748: call #12582277 with noreturn + +00019569: sub sub_180001087(sub_180001087_result) +00019607: sub_180001087_result :: out u32 = low:32[RAX] + +0000d5dd: +0000d5ec: goto %0000d5ea + +0000d5ea: +0000d626: #12582866 := mem[0x180008060, el]:u32 +0000d645: ZF := 0 = #12582866 +0000d64f: RAX := 0.pad:8[~ZF] +0000d65c: #12582864 := mem[RSP, el]:u64 +0000d660: RSP := RSP + 8 +0000d663: call #12582864 with noreturn + +0001956a: sub sub_18000108c(sub_18000108c_result) +00019608: sub_18000108c_result :: out u32 = low:32[RAX] + +0000d6f5: +0000d6f8: call @sub_180001d38 with noreturn + +0001956b: sub sub_180001096(sub_180001096_result) +00019609: sub_180001096_result :: out u32 = low:32[RAX] + +00011bb9: +00011bc7: call @sub_1800027a8 with noreturn + +0001956c: sub sub_1800010a5(sub_1800010a5_result) +0001960a: sub_1800010a5_result :: out u32 = low:32[RAX] + +000116cd: +000116db: call @sub_1800027b0 with noreturn + +0001956d: sub sub_1800010aa(sub_1800010aa_result) +0001960b: sub_1800010aa_result :: out u32 = low:32[RAX] + +000116dd: +000116df: call @sub_1800027a4 with noreturn + +0001956e: sub sub_1800010b4(sub_1800010b4_result) +0001960c: sub_1800010b4_result :: out u32 = low:32[RAX] + +00004ca8: +00004cb7: goto %00004cb5 + +00004cb5: +00004cd4: RSP := RSP - 0x28 +00004d08: #12582889 := low:32[RDX] - 1 +00004d24: ZF := 0 = #12582889 +00004d2b: when ~ZF goto %00004d28 +00019570: goto %00018a52 + +00018a52: +00018a68: #12582158 := mem[0x180006880, el]:u64 +00018a6c: CF := mem[0x180006880, el]:u64 < 0 +00018a72: OF := high:1[mem[0x180006880, el]:u64 & + (mem[0x180006880, el]:u64 ^ #12582158)] +00018a77: AF := 0x10 = (0x10 & (#12582158 ^ mem[0x180006880, el]:u64)) +00018a7c: PF := + ~low:1[let $0 = #12582158 >> 4 ^ #12582158 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018a80: SF := high:1[#12582158] +00018a84: ZF := 0 = #12582158 +00018a8a: when ~ZF goto %00004d28 +0001956f: goto %00018a8e + +00018a8e: +00018a9a: #12582156 := mem[0x18000A020, el]:u64 +00018a9e: RSP := RSP - 8 +00018aa3: mem := mem with [RSP, el]:u64 <- 0x180001929 +00018aa6: call #12582156 with return %00004d28 + +00004d28: +00004d32: RAX := 1 +00004d53: RSP := RSP + 0x28 +00004d7f: #12582884 := mem[RSP, el]:u64 +00004d83: RSP := RSP + 8 +00004d86: call #12582884 with noreturn + +00019571: sub sub_1800010c3(sub_1800010c3_result) +0001960d: sub_1800010c3_result :: out u32 = low:32[RAX] + +0000fc66: +0000fc74: goto %0000e915 -00014161: -00014163: call @interrupt:#3 with noreturn - -00014165: -00014167: call @interrupt:#3 with noreturn - -00014169: -0001416b: call @interrupt:#3 with noreturn - -0001416d: -0001416f: call @interrupt:#3 with noreturn - -00014171: -00014173: call @interrupt:#3 with noreturn - -00014175: -00014177: call @interrupt:#3 with noreturn - -000141b7: -000141c0: RSP := RSP - 8 -000141c5: mem := mem with [RSP, el]:u64 <- 0x180001CA7 -000141c7: call @sub_180001087 with return %000141c9 - -000141c9: -000141d9: #12582216 := low:32[RAX] -000141ef: ZF := 0 = #12582216 -000141f6: when ZF goto %000141f3 -00019501: goto %00014251 - -00014251: -00014261: #12582213 := low:32[RBX] -00014277: ZF := 0 = #12582213 -0001427d: when ~ZF goto %000141f3 -00019500: goto %00014281 - -000141f3: -00014201: YMM0 := 255:128[YMM0].mem[0x180006890, el]:u128 -0001420d: RAX := 0xFFFFFFFFFFFFFFFF -00014229: mem := mem with [0x1800081D0, el]:u128 <- low:128[YMM0] -00014233: mem := mem with [0x1800081E0, el]:u64 <- 0xFFFFFFFFFFFFFFFF -0001423d: mem := mem with [0x1800081E8, el]:u128 <- low:128[YMM0] -00014247: mem := mem with [0x1800081F8, el]:u64 <- 0xFFFFFFFFFFFFFFFF -000194ff: goto %00014249 - -00014281: -00014285: RCX := 0x1800081D0 -00014290: RSP := RSP - 8 -00014295: mem := mem with [RSP, el]:u64 <- 0x180001CBB -00014297: call @sub_180002776 with return %00014299 - -00014299: -000142a9: #12582211 := low:32[RAX] -000142bf: ZF := 0 = #12582211 -000142c6: when ~ZF goto %000142c3 -000194fe: goto %000142ed - -000142ed: -000142f1: RCX := 0x1800081E8 -000142fc: RSP := RSP - 8 -00014301: mem := mem with [RSP, el]:u64 <- 0x180001CCB -00014303: call @sub_180002776 with return %00014305 - -00014305: -00014315: #12582209 := low:32[RAX] -0001432b: ZF := 0 = #12582209 -00014331: when ZF goto %00014249 -000194fd: goto %000142c3 - -00014249: -0001424f: mem := mem with [0x1800081C9] <- 1 -000194fc: goto %0000f09f - -0000f09f: -0000f0ab: RAX := high:56[RAX].1 -000194fb: goto %0000f0ad - -000142c3: -000142d5: RAX := 63:8[RAX].0 -000142eb: goto %0000f0ad - -0000f0ad: -0000f0cc: RSP := RSP + 0x20 -0000f0f7: RBX := mem[RSP, el]:u64 -0000f0fb: RSP := RSP + 8 -0000f108: #12582701 := mem[RSP, el]:u64 -0000f10c: RSP := RSP + 8 -0000f10f: call #12582701 with noreturn - -00019505: sub sub_180001082(sub_180001082_result) -000195a5: sub_180001082_result :: out u32 = low:32[RAX] - -000135a7: -000135b6: goto %000135b4 - -000135b4: -000135c3: #12582286 := RBX -000135c7: RSP := RSP - 8 -000135cd: mem := mem with [RSP, el]:u64 <- #12582286 -000135eb: RSP := RSP - 0x20 -0001361f: #12582282 := mem[0x1800081C8] -0001363b: ZF := 0 = #12582282 -00013645: RBX := high:56[RBX].low:8[RCX] -0001364c: when ZF goto %00013649 -00019507: goto %00013715 - -00013715: -00013725: #12582276 := low:8[RDX] -0001373b: ZF := 0 = #12582276 -00013741: when ~ZF goto %0001367d -00019506: goto %00013649 - -00013649: -00013658: RSP := RSP - 8 -0001365d: mem := mem with [RSP, el]:u64 <- 0x180001E46 -0001365f: call @sub_1800010e6 with return %00013661 - -00013661: -00013669: RCX := high:56[RCX].low:8[RBX] -00013674: RSP := RSP - 8 -00013679: mem := mem with [RSP, el]:u64 <- 0x180001E4D -0001367b: call @sub_180001046 with return %0001367d - -0001367d: -00013683: RAX := high:56[RAX].1 -000136a4: RSP := RSP + 0x20 -000136cf: RBX := mem[RSP, el]:u64 -000136d3: RSP := RSP + 8 -000136e0: #12582277 := mem[RSP, el]:u64 -000136e4: RSP := RSP + 8 -000136e7: call #12582277 with noreturn - -00019508: sub sub_180001087(sub_180001087_result) -000195a6: sub_180001087_result :: out u32 = low:32[RAX] - -0000d58d: -0000d59c: goto %0000d59a - -0000d59a: -0000d5d6: #12582866 := mem[0x180008060, el]:u32 -0000d5f5: ZF := 0 = #12582866 -0000d5ff: RAX := 0.pad:8[~ZF] -0000d60c: #12582864 := mem[RSP, el]:u64 -0000d610: RSP := RSP + 8 -0000d613: call #12582864 with noreturn - -00019509: sub sub_18000108c(sub_18000108c_result) -000195a7: sub_18000108c_result :: out u32 = low:32[RAX] - -0000d695: -0000d698: call @sub_180001d3c with noreturn - -0001950a: sub sub_180001096(sub_180001096_result) -000195a8: sub_180001096_result :: out u32 = low:32[RAX] - -00011b59: -00011b67: call @sub_1800027a8 with noreturn - -0001950b: sub sub_1800010a5(sub_1800010a5_result) -000195a9: sub_1800010a5_result :: out u32 = low:32[RAX] - -0001166d: -0001167b: call @sub_1800027b0 with noreturn - -0001950c: sub sub_1800010aa(sub_1800010aa_result) -000195aa: sub_1800010aa_result :: out u32 = low:32[RAX] - -0001167d: -0001167f: call @sub_1800027a4 with noreturn - -0001950d: sub sub_1800010b4(sub_1800010b4_result) -000195ab: sub_1800010b4_result :: out u32 = low:32[RAX] - -00004c98: -00004ca7: goto %00004ca5 - -00004ca5: -00004cc4: RSP := RSP - 0x28 -00004cf8: #12582889 := low:32[RDX] - 1 -00004d14: ZF := 0 = #12582889 -00004d1b: when ~ZF goto %00004d18 -0001950f: goto %000189f1 - -000189f1: -00018a07: #12582158 := mem[0x180006880, el]:u64 -00018a23: ZF := 0 = #12582158 -00018a29: when ~ZF goto %00004d18 -0001950e: goto %00018a2d - -00018a2d: -00018a39: #12582156 := mem[0x18000A020, el]:u64 -00018a3d: RSP := RSP - 8 -00018a42: mem := mem with [RSP, el]:u64 <- 0x18000192D -00018a45: call #12582156 with return %00004d18 - -00004d18: -00004d22: RAX := 1 -00004d43: RSP := RSP + 0x28 -00004d6f: #12582884 := mem[RSP, el]:u64 -00004d73: RSP := RSP + 8 -00004d76: call #12582884 with noreturn - -00019510: sub sub_1800010c3(sub_1800010c3_result) -000195ac: sub_1800010c3_result :: out u32 = low:32[RAX] - -0000fc06: -0000fc14: goto %0000e8b5 - -0000e8b5: -0000e8b9: RAX := 1 -0000e8c6: #12582755 := mem[RSP, el]:u64 -0000e8ca: RSP := RSP + 8 -0000e8cd: call #12582755 with noreturn - -00019511: sub sub_1800010cd(sub_1800010cd_result) -000195ad: sub_1800010cd_result :: out u32 = low:32[RAX] - -00010954: -00010956: goto %0001001e - -0001001e: -00010028: mem := mem with [RSP + 8, el]:u64 <- RBX -00010036: #12582586 := RDI -0001003a: RSP := RSP - 8 -00010040: mem := mem with [RSP, el]:u64 <- #12582586 -0001005e: RSP := RSP - 0x20 -00010080: RBX := 0x1800070E8 -00010086: RDI := 0x1800071F0 -0001008b: goto %00010089 - -00010089: -000100ac: CF := RBX < 0x1800071F0 -000100cd: when CF goto %000100ca -00019514: goto %00010164 +0000e915: +0000e919: RAX := 1 +0000e926: #12582755 := mem[RSP, el]:u64 +0000e92a: RSP := RSP + 8 +0000e92d: call #12582755 with noreturn + +00019572: sub sub_1800010cd(sub_1800010cd_result) +0001960e: sub_1800010cd_result :: out u32 = low:32[RAX] + +000109b4: +000109b6: goto %0001007e + +0001007e: +00010088: mem := mem with [RSP + 8, el]:u64 <- RBX +00010096: #12582586 := RDI +0001009a: RSP := RSP - 8 +000100a0: mem := mem with [RSP, el]:u64 <- #12582586 +000100be: RSP := RSP - 0x20 +000100e0: RBX := 0x1800070E8 +000100e6: RDI := 0x1800071F0 +000100eb: goto %000100e9 + +000100e9: +0001010c: CF := RBX < 0x1800071F0 +0001012d: when CF goto %0001012a +00019575: goto %000101c4 + +000101c4: +000101cc: RBX := mem[RSP + 0x30, el]:u64 +000101ed: RSP := RSP + 0x20 +00010218: RDI := mem[RSP, el]:u64 +0001021c: RSP := RSP + 8 +00010229: #12582571 := mem[RSP, el]:u64 +0001022d: RSP := RSP + 8 +00010230: call #12582571 with noreturn + +0001012a: +00010138: RAX := mem[RBX, el]:u64 +0001014a: #12582580 := RAX +00010160: ZF := 0 = #12582580 +00010167: when ZF goto %00010164 +00019574: goto %000101aa + +000101aa: +000101b6: #12582575 := mem[0x18000B020, el]:u64 +000101ba: RSP := RSP - 8 +000101bf: mem := mem with [RSP, el]:u64 <- 0x18000220C +000101c2: call #12582575 with return %00010164 00010164: -0001016c: RBX := mem[RSP + 0x30, el]:u64 -0001018d: RSP := RSP + 0x20 -000101b8: RDI := mem[RSP, el]:u64 -000101bc: RSP := RSP + 8 -000101c9: #12582571 := mem[RSP, el]:u64 -000101cd: RSP := RSP + 8 -000101d0: call #12582571 with noreturn - -000100ca: -000100d8: RAX := mem[RBX, el]:u64 -000100ea: #12582580 := RAX -00010100: ZF := 0 = #12582580 -00010107: when ZF goto %00010104 -00019513: goto %0001014a - -0001014a: -00010156: #12582575 := mem[0x18000B020, el]:u64 -0001015a: RSP := RSP - 8 -0001015f: mem := mem with [RSP, el]:u64 <- 0x180002210 -00010162: call #12582575 with return %00010104 - -00010104: -00010129: RBX := RBX + 8 -00019512: goto %00010089 - -00019515: sub sub_1800010d7(sub_1800010d7_result) -000195ae: sub_1800010d7_result :: out u32 = low:32[RAX] - -00011139: -0001113b: goto %00010212 - -00010212: -0001021c: mem := mem with [RSP + 8, el]:u64 <- RBX -0001022a: #12582570 := RDI -0001022e: RSP := RSP - 8 -00010234: mem := mem with [RSP, el]:u64 <- #12582570 -00010252: RSP := RSP - 0x20 -00010274: RBX := 0x180007308 -0001027a: RDI := 0x180007410 -0001027f: goto %0001027d - -0001027d: -000102a0: CF := RBX < 0x180007410 -000102c1: when CF goto %000102be -00019518: goto %00010358 +00010189: RBX := RBX + 8 +00019573: goto %000100e9 + +00019576: sub sub_1800010d7(sub_1800010d7_result) +0001960f: sub_1800010d7_result :: out u32 = low:32[RAX] + +00011199: +0001119b: goto %00010272 + +00010272: +0001027c: mem := mem with [RSP + 8, el]:u64 <- RBX +0001028a: #12582570 := RDI +0001028e: RSP := RSP - 8 +00010294: mem := mem with [RSP, el]:u64 <- #12582570 +000102b2: RSP := RSP - 0x20 +000102d4: RBX := 0x180007308 +000102da: RDI := 0x180007410 +000102df: goto %000102dd + +000102dd: +00010300: CF := RBX < 0x180007410 +00010321: when CF goto %0001031e +00019579: goto %000103b8 + +000103b8: +000103c0: RBX := mem[RSP + 0x30, el]:u64 +000103e1: RSP := RSP + 0x20 +0001040c: RDI := mem[RSP, el]:u64 +00010410: RSP := RSP + 8 +0001041d: #12582555 := mem[RSP, el]:u64 +00010421: RSP := RSP + 8 +00010424: call #12582555 with noreturn + +0001031e: +0001032c: RAX := mem[RBX, el]:u64 +0001033e: #12582564 := RAX +00010354: ZF := 0 = #12582564 +0001035b: when ZF goto %00010358 +00019578: goto %0001039e + +0001039e: +000103aa: #12582559 := mem[0x18000B020, el]:u64 +000103ae: RSP := RSP - 8 +000103b3: mem := mem with [RSP, el]:u64 <- 0x180002258 +000103b6: call #12582559 with return %00010358 00010358: -00010360: RBX := mem[RSP + 0x30, el]:u64 -00010381: RSP := RSP + 0x20 -000103ac: RDI := mem[RSP, el]:u64 -000103b0: RSP := RSP + 8 -000103bd: #12582555 := mem[RSP, el]:u64 -000103c1: RSP := RSP + 8 -000103c4: call #12582555 with noreturn - -000102be: -000102cc: RAX := mem[RBX, el]:u64 -000102de: #12582564 := RAX -000102f4: ZF := 0 = #12582564 -000102fb: when ZF goto %000102f8 -00019517: goto %0001033e - -0001033e: -0001034a: #12582559 := mem[0x18000B020, el]:u64 -0001034e: RSP := RSP - 8 -00010353: mem := mem with [RSP, el]:u64 <- 0x18000225C -00010356: call #12582559 with return %000102f8 - -000102f8: -0001031d: RBX := RBX + 8 -00019516: goto %0001027d - -00019519: sub sub_1800010e1(sub_1800010e1_result) -000195af: sub_1800010e1_result :: out u32 = low:32[RAX] - -00011141: -00011143: call @sub_1800027a8 with noreturn - -0001951a: sub sub_1800010e6(sub_1800010e6_result) -000195b0: sub_1800010e6_result :: out u32 = low:32[RAX] - -00011145: -00011147: call @sub_1800027ac with noreturn - -0001951b: sub sub_1800010fa(sub_1800010fa_result) -000195b1: sub_1800010fa_result :: out u32 = low:32[RAX] - -00011155: -00011158: goto %00011156 - -00011156: -00011163: mem := mem with [RSP + 0x20, el]:u64 <- RBX -00011171: #12582460 := RBP -00011175: RSP := RSP - 8 -0001117b: mem := mem with [RSP, el]:u64 <- #12582460 -00011183: RBP := RSP -000111a1: RSP := RSP - 0x20 -000111c5: RAX := mem[0x180008020, el]:u64 -000111cb: RBX := 0x2B992DDFA232 -000111e8: #12582456 := RAX - 0x2B992DDFA232 -00011207: ZF := 0 = #12582456 -0001120e: when ~ZF goto %0001120b -0001951d: goto %00011341 - -00011341: -00011357: mem := mem with [RBP + 0x18, el]:u64 <- 0 -00011379: RCX := RBP + 0x18 -00011387: #12582449 := mem[0x18000A018, el]:u64 -0001138b: RSP := RSP - 8 -00011390: mem := mem with [RSP, el]:u64 <- 0x18000186E -00011393: call #12582449 with return %00011395 - -00011395: -0001139d: RAX := mem[RBP + 0x18, el]:u64 -000113a9: mem := mem with [RBP + 0x10, el]:u64 <- RAX -000113b7: #12582448 := mem[0x18000A010, el]:u64 -000113bb: RSP := RSP - 8 -000113c0: mem := mem with [RSP, el]:u64 <- 0x18000187C -000113c3: call #12582448 with return %000113c5 - -000113c5: -000113cb: RAX := pad:64[low:32[RAX]] -000113e9: mem := +0001037d: RBX := RBX + 8 +00019577: goto %000102dd + +0001957a: sub sub_1800010e1(sub_1800010e1_result) +00019610: sub_1800010e1_result :: out u32 = low:32[RAX] + +000111a1: +000111a3: call @sub_1800027a8 with noreturn + +0001957b: sub sub_1800010e6(sub_1800010e6_result) +00019611: sub_1800010e6_result :: out u32 = low:32[RAX] + +000111a5: +000111a7: call @sub_1800027ac with noreturn + +0001957c: sub sub_1800010fa(sub_1800010fa_result) +00019612: sub_1800010fa_result :: out u32 = low:32[RAX] + +000111b5: +000111b8: goto %000111b6 + +000111b6: +000111c3: mem := mem with [RSP + 0x20, el]:u64 <- RBX +000111d1: #12582460 := RBP +000111d5: RSP := RSP - 8 +000111db: mem := mem with [RSP, el]:u64 <- #12582460 +000111e3: RBP := RSP +00011201: RSP := RSP - 0x20 +00011225: RAX := mem[0x180008020, el]:u64 +0001122b: RBX := 0x2B992DDFA232 +00011248: #12582456 := RAX - 0x2B992DDFA232 +00011267: ZF := 0 = #12582456 +0001126e: when ~ZF goto %0001126b +0001957e: goto %000113a1 + +000113a1: +000113b7: mem := mem with [RBP + 0x18, el]:u64 <- 0 +000113d9: RCX := RBP + 0x18 +000113e7: #12582449 := mem[0x18000A018, el]:u64 +000113eb: RSP := RSP - 8 +000113f0: mem := mem with [RSP, el]:u64 <- 0x18000186A +000113f3: call #12582449 with return %000113f5 + +000113f5: +000113fd: RAX := mem[RBP + 0x18, el]:u64 +00011409: mem := mem with [RBP + 0x10, el]:u64 <- RAX +00011417: #12582448 := mem[0x18000A010, el]:u64 +0001141b: RSP := RSP - 8 +00011420: mem := mem with [RSP, el]:u64 <- 0x180001878 +00011423: call #12582448 with return %00011425 + +00011425: +0001142b: RAX := pad:64[low:32[RAX]] +00011449: mem := mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX -00011411: #12582446 := mem[0x18000A008, el]:u64 -00011415: RSP := RSP - 8 -0001141a: mem := mem with [RSP, el]:u64 <- 0x180001888 -0001141d: call #12582446 with return %0001141f - -0001141f: -00011425: RAX := pad:64[low:32[RAX]] -0001142d: RCX := RBP + 0x20 -0001144b: mem := +00011471: #12582446 := mem[0x18000A008, el]:u64 +00011475: RSP := RSP - 8 +0001147a: mem := mem with [RSP, el]:u64 <- 0x180001884 +0001147d: call #12582446 with return %0001147f + +0001147f: +00011485: RAX := pad:64[low:32[RAX]] +0001148d: RCX := RBP + 0x20 +000114ab: mem := mem with [RBP + 0x10, el]:u64 <- mem[RBP + 0x10, el]:u64 ^ RAX -00011473: #12582444 := mem[0x18000A000, el]:u64 -00011477: RSP := RSP - 8 -0001147c: mem := mem with [RSP, el]:u64 <- 0x180001898 -0001147f: call #12582444 with return %00011481 - -00011481: -00011489: RAX := pad:64[mem[RBP + 0x20, el]:u32] -00011491: RCX := RBP + 0x10 -000114aa: RAX := RAX << 0x20 -000114d7: RAX := RAX ^ mem[RBP + 0x20, el]:u64 -00011503: RAX := RAX ^ mem[RBP + 0x10, el]:u64 -0001152d: RAX := RAX ^ RCX -0001155d: RAX := RAX & 0xFFFFFFFFFFFF -00011579: RCX := 0x2B992DDFA233 -00011596: #12582437 := RAX - 0x2B992DDFA232 -000115b5: ZF := 0 = #12582437 -000115c1: RAX := if ZF then 0x2B992DDFA233 else RAX -000115cb: mem := mem with [0x180008020, el]:u64 <- RAX -0001951c: goto %0001120b - -0001120b: -00011219: RBX := mem[RSP + 0x48, el]:u64 -00011221: RAX := ~RAX -0001122b: mem := mem with [0x180008028, el]:u64 <- RAX -0001124c: RSP := RSP + 0x20 -00011277: RBP := mem[RSP, el]:u64 -0001127b: RSP := RSP + 8 -00011288: #12582451 := mem[RSP, el]:u64 -0001128c: RSP := RSP + 8 -0001128f: call #12582451 with noreturn - -0001951e: sub sub_180001109(sub_180001109_result) -000195b2: sub_180001109_result :: out u32 = low:32[RAX] - -000115d5: -000115d8: goto %000115d6 - -000115d6: -000115dd: RAX := 0x180008238 -000115ea: #12582435 := mem[RSP, el]:u64 -000115ee: RSP := RSP + 8 -000115f1: call #12582435 with noreturn - -0001951f: sub sub_18000110e(sub_18000110e_result) -000195b3: sub_18000110e_result :: out u32 = low:32[RAX] - -00011603: -00011605: goto %00004dc1 - -00004dc1: -00004dc5: RCX := 0x180008180 -00004dca: goto %00004dc8 - -00004dc8: -00004dcf: call mem[0x18000A0F0, el]:u64 with noreturn - -00019520: sub sub_180001118(sub_180001118_result) -000195b4: sub_180001118_result :: out u32 = low:32[RAX] - -0001160b: -0001160e: goto %0001160c - -0001160c: -0001162b: RSP := RSP - 0x28 -00011653: RCX := 0 -00011671: RSP := RSP - 8 -00011676: mem := mem with [RSP, el]:u64 <- 0x180001C1F -00011678: call @sub_1800010a5 with return %00011685 - -00011685: -000116a4: RSP := RSP + 0x28 -000116c7: goto %00011151 - -00011151: -00011153: call @sub_1800027b0 with noreturn - -00019521: sub sub_18000111d(sub_18000111d_result) -000195b5: sub_18000111d_result :: out u32 = low:32[RAX] - -0001224f: -00012251: goto %000119bd - -000119bd: -000119d9: RSP := RSP - 0x28 -00011a00: RSP := RSP - 8 -00011a05: mem := mem with [RSP, el]:u64 <- 0x180001B19 -00011a07: call @sub_180001055 with return %00011a09 - -00011a09: -00011a19: #12582403 := low:8[RAX] -00011a2f: ZF := 0 = #12582403 -00011a36: when ~ZF goto %00011a33 -00019524: goto %00011fe4 - -00011a33: -00011a42: RSP := RSP - 8 -00011a47: mem := mem with [RSP, el]:u64 <- 0x180001B26 -00011a49: call @sub_1800010aa with return %00011a4b - -00011a4b: -00011a5b: #12582401 := low:8[RAX] -00011a71: ZF := 0 = #12582401 -00011a78: when ~ZF goto %00011a75 -00019523: goto %00011fd1 - -00011a75: -00011a81: RAX := high:56[RAX].1 -00019522: goto %00011a83 - -00011fd1: -00011fda: RSP := RSP - 8 -00011fdf: mem := mem with [RSP, el]:u64 <- 0x180001B2F -00011fe1: call @sub_180001096 with return %00011fe3 - -00011fe3: -00011fe6: goto %00011fe4 - -00011fe4: -00011ff3: RAX := 63:8[RAX].0 -00012009: goto %00011a83 - -00011a83: -00011aa2: RSP := RSP + 0x28 -00011ace: #12582396 := mem[RSP, el]:u64 -00011ad2: RSP := RSP + 8 -00011ad5: call #12582396 with noreturn - -00019525: sub sub_180001122(sub_180001122_result) -000195b6: sub_180001122_result :: out u32 = low:32[RAX] - -000117f1: -000117ff: call @sub_1800027a0 with noreturn - -00019526: sub sub_180001127(sub_180001127_result) -000195b7: sub_180001127_result :: out u32 = low:32[RAX] - -00011801: -00011804: goto %00011802 - -00011802: -00011821: RSP := RSP - 0x28 -00011849: RSP := RSP - 8 -0001184e: mem := mem with [RSP, el]:u64 <- 0x180001985 -00011850: call @sub_18000100f with return %00012017 - -00012017: -00012031: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 0x24 -00012056: RSP := RSP - 8 -0001205b: mem := mem with [RSP, el]:u64 <- 0x18000198E -0001205d: call @sub_18000101e with return %0001205f - -0001205f: -00012079: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 2 -000120b4: RSP := RSP + 0x28 -000120e0: #12582357 := mem[RSP, el]:u64 -000120e4: RSP := RSP + 8 -000120e7: call #12582357 with noreturn - -00019527: sub sub_18000112c(sub_18000112c_result) -000195b8: sub_18000112c_result :: out u32 = low:32[RAX] - -0000f1f7: -0000f206: goto %0000f204 - -0000f204: -0000f217: mem := mem with [0x180008210, el]:u32 <- 0 -0000f23a: #12582692 := mem[RSP, el]:u64 -0000f23e: RSP := RSP + 8 -0000f241: call #12582692 with noreturn - -00019528: sub sub_18000113b(sub_18000113b_result) -000195b9: sub_18000113b_result :: out u32 = low:32[RAX] - -0000fb80: -0000fb83: goto %0000fb81 - -0000fb81: -0000fba0: RSP := RSP - 0x28 -0000fbc7: RSP := RSP - 8 -0000fbcc: mem := mem with [RSP, el]:u64 <- 0x180001AB9 -0000fbce: call @sub_180001087 with return %0000fbd0 - -0000fbd0: -0000fbe0: #12582610 := low:32[RAX] -0000fbf6: ZF := 0 = #12582610 -0000fbfd: when ZF goto %0000fbfa -0001952b: goto %0001236f - -0000fbfa: -0000fc0a: RSP := RSP - 8 -0000fc0f: mem := mem with [RSP, el]:u64 <- 0x180001AC9 -0000fc11: call @sub_1800010c3 with return %00012253 - -00012253: -00012259: RCX := pad:64[low:32[RAX]] -00012264: RSP := RSP - 8 -00012269: mem := mem with [RSP, el]:u64 <- 0x180001AD0 -0001226b: call @sub_18000276a with return %0001226d - -0001226d: -0001227d: #12582350 := low:32[RAX] -00012293: ZF := 0 = #12582350 -0001229a: when ZF goto %00012297 -0001952a: goto %0001234b - -00012297: -000122a6: RSP := RSP - 8 -000122ab: mem := mem with [RSP, el]:u64 <- 0x180001ADD -000122ad: call @sub_180002770 with return %000122af - -0001234b: -00012357: RAX := 63:8[RAX].0 -0001236d: goto %000122b7 - -0001236f: -00012378: RSP := RSP - 8 -0001237d: mem := mem with [RSP, el]:u64 <- 0x180001AC2 -0001237f: call @sub_180001145 with return %00012381 - -00012381: -00012383: goto %000122af - -000122af: -000122b5: RAX := high:56[RAX].1 -00019529: goto %000122b7 - -000122b7: -000122d6: RSP := RSP + 0x28 -00012302: #12582345 := mem[RSP, el]:u64 -00012306: RSP := RSP + 8 -00012309: call #12582345 with noreturn - -0001952c: sub sub_180001140(sub_180001140_result) -000195ba: sub_180001140_result :: out u32 = low:32[RAX] - -0000d524: -0000d52a: goto %0000d528 - -0000d528: -0000d537: #12582870 := RBX -0000d53b: RSP := RSP - 8 -0000d541: mem := mem with [RSP, el]:u64 <- #12582870 -0000d55f: RSP := RSP - 0x20 -0000d585: RBX := high:56[RBX].low:8[RCX] -0000d591: RSP := RSP - 8 -0000d596: mem := mem with [RSP, el]:u64 <- 0x180001E09 -0000d598: call @sub_180001087 with return %000144ab - -000144ab: -000144b5: RDX := 0 -000144d9: #12582194 := low:32[RAX] -000144ef: ZF := 0 = #12582194 -000144f6: when ZF goto %000144f3 -0001952f: goto %0001458d - -0001458d: -0001459d: #12582188 := low:8[RBX] -000145b3: ZF := 0 = #12582188 -000145b9: when ~ZF goto %000144f3 -0001952e: goto %000145bd - -000145bd: -000145cc: RDX := mem[0x1800081C0, el]:u64 -000145d1: mem := mem with [0x1800081C0, el]:u64 <- 0 -0001952d: goto %000144f3 - -000144f3: -00014518: RSP := RSP + 0x20 -00014543: RBX := mem[RSP, el]:u64 -00014547: RSP := RSP + 8 -00014554: #12582189 := mem[RSP, el]:u64 -00014558: RSP := RSP + 8 -0001455b: call #12582189 with noreturn - -00019530: sub sub_180001145(sub_180001145_result) -000195bb: sub_180001145_result :: out u32 = low:32[RAX] - -0001178d: -0001179b: goto %0000e39f - -0000e39f: -0000e3a9: mem := mem with [RSP + 0x10, el]:u64 <- RBX -0000e3b5: mem := mem with [RSP + 0x18, el]:u64 <- RSI -0000e3c3: #12582770 := RDI -0000e3c7: RSP := RSP - 8 -0000e3cd: mem := mem with [RSP, el]:u64 <- #12582770 -0000e3eb: RSP := RSP - 0x10 -0000e44c: RAX := pad:64[unknown[bits]:u32] -0000e44f: RBX := pad:64[unknown[bits]:u32] -0000e452: RCX := pad:64[unknown[bits]:u32] -0000e455: RDX := pad:64[unknown[bits]:u32] -0000e45d: R8 := pad:64[low:32[RCX]] -0000e469: R11 := 0 -0000e483: R10 := pad:64[low:32[RDX]] -0000e495: R8 := pad:64[low:32[R8] ^ 0x6C65746E] -0000e4bd: R10 := pad:64[low:32[R10] ^ 0x49656E69] -0000e4db: R9 := pad:64[low:32[RBX]] -0000e4e3: RSI := pad:64[low:32[RAX]] -0000e4ef: RCX := 0 -0000e509: RAX := 1 -0000e51d: R10 := pad:64[low:32[R10] | low:32[R8]] -0000e53c: RAX := pad:64[unknown[bits]:u32] -0000e53f: RBX := pad:64[unknown[bits]:u32] -0000e542: RCX := pad:64[unknown[bits]:u32] -0000e545: RDX := pad:64[unknown[bits]:u32] -0000e557: R9 := pad:64[low:32[R9] ^ 0x756E6547] -0000e579: mem := mem with [RSP, el]:u32 <- low:32[RAX] -0000e58d: R10 := pad:64[low:32[R10] | low:32[R9]] -0000e5a3: ZF := 0 = low:32[R10] -0000e5af: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX] -0000e5b7: RDI := pad:64[low:32[RCX]] -0000e5c3: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX] -0000e5cf: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX] -0000e5d6: when ~ZF goto %0000e5d3 -00019542: goto %0000ecc5 - -0000ecc5: -0000ecd5: mem := mem with [0x180008048, el]:u64 <- 0xFFFFFFFFFFFFFFFF -0000ecfd: RAX := pad:64[low:32[RAX] & 0xFFF3FF0] -0000ed1b: mem := mem with [0x180008040, el]:u64 <- 0x8000 -0000ed33: #12582734 := low:32[RAX] - 0x106C0 -0000ed4f: ZF := 0 = #12582734 -0000ed56: when ZF goto %0000ed53 -00019541: goto %0000ed97 - -0000ed97: -0000edad: #12582731 := low:32[RAX] - 0x20660 -0000edc9: ZF := 0 = #12582731 -0000edcf: when ZF goto %0000ed53 -00019540: goto %0000edd3 - -0000edd3: -0000ede9: #12582729 := low:32[RAX] - 0x20670 -0000ee05: ZF := 0 = #12582729 -0000ee0b: when ZF goto %0000ed53 -0001953f: goto %0000ee0f - -0000ee0f: -0000ee2e: RAX := pad:64[low:32[RAX] - 0x30650] -0000ee65: #12582724 := low:32[RAX] - 0x20 -0000ee69: CF := low:32[RAX] < 0x20 -0000ee81: ZF := 0 = #12582724 -0000ee89: when ~(CF | ZF) goto %0000e5d3 -0001953e: goto %0000ee8d - -0000ee8d: -0000ee91: RCX := 0x100010001 -0000eea1: #12582722 := low:6[RAX] -0000eea6: CF := low:1[0x100010001 >> #12582722] -0000eebb: when ~CF goto %0000e5d3 -0001953d: goto %0000ed53 - -0000e5d3: -0000e5df: R8 := pad:64[mem[0x180008214, el]:u32] -0001953c: goto %0000e5e1 - -0000ed53: -0000ed5f: R8 := pad:64[mem[0x180008214, el]:u32] -0000ed71: R8 := pad:64[low:32[R8] | 1] -0000ed91: mem := mem with [0x180008214, el]:u32 <- low:32[R8] -0000ed95: goto %0000e5e1 - -0000e5e1: -0000e5e5: RAX := 7 -0000e5ed: R9 := 2 -0000e60a: #12582761 := low:32[RSI] - 7 -0000e616: OF := high:1[(low:32[RSI] ^ 7) & (low:32[RSI] ^ #12582761)] -0000e625: SF := high:1[#12582761] -0000e636: when (SF | OF) & ~(SF & OF) goto %0000e630 -0001953b: goto %0000ec05 - -0000ec05: -0000ec0f: RCX := 0 -0000ec2a: RAX := pad:64[unknown[bits]:u32] -0000ec2d: RBX := pad:64[unknown[bits]:u32] -0000ec30: RCX := pad:64[unknown[bits]:u32] -0000ec33: RDX := pad:64[unknown[bits]:u32] -0000ec3f: mem := mem with [RSP, el]:u32 <- low:32[RAX] -0000ec47: R11 := pad:64[low:32[RBX]] -0000ec53: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX] -0000ec5f: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX] -0000ec6b: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX] -0000ec78: CF := low:1[RBX >> 9] -0000ec8d: when ~CF goto %0000e630 -0001953a: goto %0000ec91 - -0000ec91: -0000eca3: R8 := pad:64[low:32[R8] | 2] -0000ecc3: mem := mem with [0x180008214, el]:u32 <- low:32[R8] -00019539: goto %0000e630 - -0000e630: -0000e63f: mem := mem with [0x180008038, el]:u32 <- 1 -0000e649: mem := mem with [0x18000803C, el]:u32 <- 2 -0000e656: CF := low:1[RDI >> 0x14] -0000e66c: when ~CF goto %0000e669 -00019538: goto %0000e8d7 - -0000e8d7: -0000e8df: mem := mem with [0x180008038, el]:u32 <- 2 -0000e8e5: RBX := 6 -0000e8ef: mem := mem with [0x18000803C, el]:u32 <- 6 -0000e8fc: CF := low:1[RDI >> 0x1B] -0000e911: when ~CF goto %0000e669 -00019537: goto %0000e915 - -0000e915: -0000e920: CF := low:1[RDI >> 0x1C] -0000e935: when ~CF goto %0000e669 -00019536: goto %0000e939 - -0000e939: -0000e943: RCX := 0 -0000e95c: RAX := pad:64[unknown[bits]:u32] -0000e95f: RDX := pad:64[unknown[bits]:u32] -0000e978: RDX := RDX << 0x20 -0000e9a3: RDX := RDX | RAX -0000e9c5: mem := mem with [RSP + 0x20, el]:u64 <- RDX -0000e9cf: RAX := mem[RSP + 0x20, el]:u64 -0000e9e5: RAX := 63:8[RAX].low:8[RAX] & 6 -0000ea18: #12582750 := low:8[RAX] - 6 -0000ea37: ZF := 0 = #12582750 -0000ea3d: when ~ZF goto %0000e669 -00019535: goto %0000ea41 - -0000ea41: -0000ea47: RAX := pad:64[mem[0x18000803C, el]:u32] -0000ea59: RAX := pad:64[low:32[RAX] | 8] -0000ea77: mem := mem with [0x180008038, el]:u32 <- 3 -0000ea81: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX] -0000ea93: #12582747 := low:8[R11] & 0x20 -0000eaa9: ZF := 0 = #12582747 -0000eaaf: when ZF goto %0000e669 -00019534: goto %0000eab3 - -0000eab3: -0000eac3: RAX := pad:64[low:32[RAX] | 0x20] -0000eae1: mem := mem with [0x180008038, el]:u32 <- 5 -0000eaeb: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX] -0000eaf1: RAX := 0xD0030000 -0000eb05: R11 := pad:64[low:32[R11] & 0xD0030000] -0000eb38: #12582743 := low:32[R11] - 0xD0030000 -0000eb57: ZF := 0 = #12582743 -0000eb5d: when ~ZF goto %0000e669 -00019533: goto %0000eb61 - -0000eb61: -0000eb69: RAX := mem[RSP + 0x20, el]:u64 -0000eb7d: RAX := 63:8[RAX].low:8[RAX] & 0xE0 -0000ebab: #12582740 := low:8[RAX] - 0xE0 -0000ebc7: ZF := 0 = #12582740 -0000ebcd: when ~ZF goto %0000e669 -00019532: goto %0000ebd1 - -0000ebd1: -0000ebe3: mem := - mem with [0x18000803C, el]:u32 <- mem[0x18000803C, el]:u32 | 0x40 -0000ec03: mem := mem with [0x180008038, el]:u32 <- 6 -00019531: goto %0000e669 - -0000e669: -0000e677: RBX := mem[RSP + 0x28, el]:u64 -0000e683: RAX := 0 -0000e69f: RSI := mem[RSP + 0x30, el]:u64 -0000e6c0: RSP := RSP + 0x10 -0000e6eb: RDI := mem[RSP, el]:u64 -0000e6ef: RSP := RSP + 8 -0000e6fc: #12582756 := mem[RSP, el]:u64 -0000e700: RSP := RSP + 8 -0000e703: call #12582756 with noreturn - -00019543: sub sub_18000114a(sub_18000114a_result) -000195bc: sub_18000114a_result :: out u32 = low:32[RAX] - -0000f11d: -0000f12c: goto %0000f12a - -0000f12a: -0000f137: mem := mem with [RSP + 8, el]:u64 <- RBX -0000f145: #12582700 := RBP -0000f149: RSP := RSP - 8 -0000f14f: mem := mem with [RSP, el]:u64 <- #12582700 -0000f157: RBP := RSP - 0x4C0 -0000f175: RSP := RSP - 0x5C0 -0000f199: RBX := pad:64[low:32[RCX]] -0000f19f: RCX := 0x17 -0000f1ad: #12582696 := mem[0x18000A068, el]:u64 -0000f1b1: RSP := RSP - 8 -0000f1b6: mem := mem with [RSP, el]:u64 <- 0x180001F22 -0000f1b9: call #12582696 with return %0000f1bb - -0000f1bb: -0000f1cb: #12582695 := low:32[RAX] -0000f1e1: ZF := 0 = #12582695 -0000f1e8: when ZF goto %0000f1e5 -00019547: goto %00012a8b - -00012a8b: -00012a91: RCX := pad:64[low:32[RBX]] -00012a95: call @interrupt:#41 with noreturn - -0000f1e5: -0000f1ef: RCX := 3 -0000f1fb: RSP := RSP - 8 -0000f200: mem := mem with [RSP, el]:u64 <- 0x180001F34 -0000f202: call @sub_18000112c with return %00012385 - -00012385: -0001238f: RDX := 0 -000123a9: RCX := RBP - 0x10 -000123af: R8 := 0x4D0 -000123ba: RSP := RSP - 8 -000123bf: mem := mem with [RSP, el]:u64 <- 0x180001F45 -000123c1: call @sub_180002752 with return %000123c3 - -000123c3: -000123c9: RCX := RBP - 0x10 -000123d7: #12582344 := mem[0x18000A030, el]:u64 -000123db: RSP := RSP - 8 -000123e0: mem := mem with [RSP, el]:u64 <- 0x180001F4F -000123e3: call #12582344 with return %000123e5 - -000123e5: -000123ed: RBX := mem[RBP + 0xE8, el]:u64 -000123f5: RDX := RBP + 0x4D8 -000123fd: RCX := RBX -00012409: R8 := 0 -00012429: #12582343 := mem[0x18000A038, el]:u64 -0001242d: RSP := RSP - 8 -00012432: mem := mem with [RSP, el]:u64 <- 0x180001F69 -00012435: call #12582343 with return %00012437 - -00012437: -00012447: #12582342 := RAX -0001245d: ZF := 0 = #12582342 -00012464: when ZF goto %00012461 -00019546: goto %000129cb - -000129cb: -000129e1: mem := mem with [RSP + 0x38, el]:u64 <- 0 -00012a03: RCX := RBP + 0x4E0 -00012a0d: RDX := mem[RBP + 0x4D8, el]:u64 -00012a15: R9 := RAX -00012a21: mem := mem with [RSP + 0x30, el]:u64 <- RCX -00012a29: R8 := RBX -00012a31: RCX := RBP + 0x4E8 -00012a3d: mem := mem with [RSP + 0x28, el]:u64 <- RCX -00012a45: RCX := RBP - 0x10 -00012a51: mem := mem with [RSP + 0x20, el]:u64 <- RCX -00012a5d: RCX := 0 -00012a7d: #12582313 := mem[0x18000A040, el]:u64 -00012a81: RSP := RSP - 8 -00012a86: mem := mem with [RSP, el]:u64 <- 0x180001FAA -00012a89: call #12582313 with return %00012461 - -00012461: -0001246f: RAX := mem[RBP + 0x4C8, el]:u64 -00012477: RCX := RSP + 0x50 -00012483: mem := mem with [RBP + 0xE8, el]:u64 <- RAX -0001248f: RDX := 0 -000124a9: RAX := RBP + 0x4C8 -000124af: R8 := 0x98 -000124d0: RAX := RAX + 8 -000124fb: mem := mem with [RBP + 0x88, el]:u64 <- RAX -00012506: RSP := RSP - 8 -0001250b: mem := mem with [RSP, el]:u64 <- 0x180001FDC -0001250d: call @sub_180002752 with return %0001250f - -0001250f: -00012517: RAX := mem[RBP + 0x4C8, el]:u64 -00012523: mem := mem with [RSP + 0x60, el]:u64 <- RAX -0001252d: mem := mem with [RSP + 0x50, el]:u32 <- 0x40000015 -00012537: mem := mem with [RSP + 0x54, el]:u32 <- 1 -00012545: #12582337 := mem[0x18000A048, el]:u64 -00012549: RSP := RSP - 8 -0001254e: mem := mem with [RSP, el]:u64 <- 0x180001FFE -00012551: call #12582337 with return %00012553 - -00012553: -00012569: #12582336 := low:32[RAX] - 1 -00012585: ZF := 0 = #12582336 -0001258d: RAX := RSP + 0x50 -00012599: mem := mem with [RSP + 0x40, el]:u64 <- RAX -000125a1: RAX := RBP - 0x10 -000125ab: RBX := 63:8[RBX].pad:8[ZF] -000125b7: mem := mem with [RSP + 0x48, el]:u64 <- RAX -000125c3: RCX := 0 -000125e3: #12582334 := mem[0x18000A058, el]:u64 -000125e7: RSP := RSP - 8 -000125ec: mem := mem with [RSP, el]:u64 <- 0x18000201F -000125ef: call #12582334 with return %000125f1 - -000125f1: -000125f7: RCX := RSP + 0x40 -00012605: #12582333 := mem[0x18000A050, el]:u64 -00012609: RSP := RSP - 8 -0001260e: mem := mem with [RSP, el]:u64 <- 0x18000202A -00012611: call #12582333 with return %00012613 - -00012613: -00012623: #12582332 := low:32[RAX] -00012639: ZF := 0 = #12582332 -00012640: when ~ZF goto %0001263d -00019545: goto %00012981 - -00012981: -00012991: #12582316 := low:8[RBX] -000129a7: ZF := 0 = #12582316 -000129ad: when ~ZF goto %0001263d -00019544: goto %000129b1 - -000129b1: -000129b7: RCX := pad:64[low:32[RAX + 3]] -000129c2: RSP := RSP - 8 -000129c7: mem := mem with [RSP, el]:u64 <- 0x18000203A -000129c9: call @sub_18000112c with return %0001263d - -0001263d: -0001264b: RBX := mem[RSP + 0x5D0, el]:u64 -0001266c: RSP := RSP + 0x5C0 -00012697: RBP := mem[RSP, el]:u64 -0001269b: RSP := RSP + 8 -000126a8: #12582327 := mem[RSP, el]:u64 -000126ac: RSP := RSP + 8 -000126af: call #12582327 with noreturn - -00019548: sub sub_180001154(sub_180001154_result) -000195bd: sub_180001154_result :: out u32 = low:32[RAX] - -00012a9b: -00012a9d: goto %00010c74 - -00010c74: -00010c90: RSP := RSP - 0x28 -00010cb7: RSP := RSP - 8 -00010cbc: mem := mem with [RSP, el]:u64 <- 0x180001A71 -00010cbe: call @sub_180001087 with return %00010cc0 - -00010cc0: -00010cd0: #12582492 := low:32[RAX] -00010ce6: ZF := 0 = #12582492 -00010ced: when ZF goto %00010cea -0001954c: goto %00010dac - -00010dac: -00010db4: RAX := mem[GS_BASE + 0x30, el]:u64 -00010dbe: RCX := mem[RAX + 8, el]:u64 -00010dc3: goto %00010dc1 - -00010dc1: -00010dce: RAX := 0 -00010e05: call @intrinsic:x86:lock with return %00010e08 - -00010e08: -00010e09: #12582486 := mem[0x1800081C0, el]:u64 -00010e0e: #12582485 := -#12582486 -00010e2d: ZF := 0 = #12582485 -00010e41: goto %00010e39 - -00010e39: -00010e3b: when 0 = #12582486 goto %00010e33 -00010e3c: goto %00010e37 - -00010e37: -00010e38: RAX := #12582486 -00010e3e: goto %00010e3a - -00010e33: -00010e34: mem := mem with [0x1800081C0, el]:u64 <- RCX -00010e3d: goto %00010e3a - -00010e3a: -00010e40: call @intrinsic:x86:unlock with return %00010e4b - -00010e4b: -00010e50: when ~ZF goto %00010e4d -0001954b: goto %00010cea - -00010cea: -00010cfc: RAX := 63:8[RAX].0 -00010d02: ZF := 1 -0001954a: goto %00010d10 - -00010e4d: -00010e6e: #12582483 := RCX - RAX -00010e8d: ZF := 0 = #12582483 -00010e93: when ZF goto %00010d64 -00019549: goto %00010dc1 - -00010d64: -00010d6a: RAX := high:56[RAX].1 -00010d6e: goto %00010d10 - -00010d10: -00010d2f: RSP := RSP + 0x28 -00010d5b: #12582487 := mem[RSP, el]:u64 -00010d5f: RSP := RSP + 8 -00010d62: call #12582487 with noreturn - -0001954d: sub sub_180001163(sub_180001163_result) -000195be: sub_180001163_result :: out u32 = low:32[RAX] - -00012aa7: -00012aa9: goto %00011be9 - -00011be9: -00011bf3: mem := mem with [RSP + 8, el]:u64 <- RBX -00011bff: mem := mem with [RSP + 0x10, el]:u64 <- RBP -00011c0b: mem := mem with [RSP + 0x18, el]:u64 <- RSI -00011c19: #12582388 := RDI -00011c1d: RSP := RSP - 8 -00011c23: mem := mem with [RSP, el]:u64 <- #12582388 -00011c41: RSP := RSP - 0x20 -00011c65: RDI := R9 -00011c6d: RSI := R8 -00011c75: RBX := pad:64[low:32[RDX]] -00011c7d: RBP := RCX -00011c88: RSP := RSP - 8 -00011c8d: mem := mem with [RSP, el]:u64 <- 0x180001B84 -00011c8f: call @sub_180001087 with return %00011c91 - -00011c91: -00011ca1: #12582384 := low:32[RAX] -00011cb7: ZF := 0 = #12582384 -00011cbe: when ~ZF goto %00011cbb -0001954f: goto %00011f45 - -00011f45: -00011f5b: #12582365 := low:32[RBX] - 1 -00011f77: ZF := 0 = #12582365 -00011f7d: when ~ZF goto %00011cbb -0001954e: goto %00011f81 - -00011f81: -00011f87: R8 := RSI -00011f93: RDX := 0 -00011fad: RCX := RBP -00011fb5: RAX := RDI -00011fc3: #12582363 := mem[0x18000B020, el]:u64 -00011fc7: RSP := RSP - 8 -00011fcc: mem := mem with [RSP, el]:u64 <- 0x180001B9E -00011fcf: call #12582363 with return %00011cbb - -00011cbb: -00011cc9: RDX := mem[RSP + 0x58, el]:u64 -00011cd3: RCX := pad:64[mem[RSP + 0x50, el]:u32] -00011cdd: RBX := mem[RSP + 0x30, el]:u64 -00011ce7: RBP := mem[RSP + 0x38, el]:u64 -00011cf1: RSI := mem[RSP + 0x40, el]:u64 -00011d12: RSP := RSP + 0x20 -00011d3d: RDI := mem[RSP, el]:u64 -00011d41: RSP := RSP + 8 -00011d45: goto %00004def - -00004def: -00004df3: call mem[0x18000A180, el]:u64 with noreturn - -00019550: sub sub_180001168(sub_180001168_result) -000195bf: sub_180001168_result :: out u32 = low:32[RAX] - -00012aab: -00012aad: goto %000116e9 - -000116e9: -000116f5: #12582428 := RBX -000116f9: RSP := RSP - 8 -000116ff: mem := mem with [RSP, el]:u64 <- #12582428 -0001171d: RSP := RSP - 0x20 -00011741: RAX := pad:64[mem[0x1800081C8]] -00011753: #12582424 := low:32[RCX] -00011769: ZF := 0 = #12582424 -0001176f: RBX := 1 -0001177b: RAX := pad:64[if ZF then 1 else low:32[RAX]] -00011785: mem := mem with [0x1800081C8] <- low:8[RAX] -00011791: RSP := RSP - 8 -00011796: mem := mem with [RSP, el]:u64 <- 0x180001C52 -00011798: call @sub_180001145 with return %0001179d - -0001179d: -000117a7: RSP := RSP - 8 -000117ac: mem := mem with [RSP, el]:u64 <- 0x180001C57 -000117ae: call @sub_18000102d with return %000117bb - -000117bb: -000117cb: #12582422 := low:8[RAX] -000117e1: ZF := 0 = #12582422 -000117e8: when ~ZF goto %000117e5 -00019553: goto %00012228 - -000117e5: -000117f5: RSP := RSP - 8 -000117fa: mem := mem with [RSP, el]:u64 <- 0x180001C64 -000117fc: call @sub_180001122 with return %0001210d - -0001210d: -0001211d: #12582356 := low:8[RAX] -00012133: ZF := 0 = #12582356 -0001213a: when ~ZF goto %00012137 -00019552: goto %000121f7 - -00012137: -00012145: RAX := high:56[RAX].1 -00019551: goto %00012147 - -000121f7: -00012201: RCX := 0 -0001221e: RSP := RSP - 8 -00012223: mem := mem with [RSP, el]:u64 <- 0x180001C6F -00012225: call @sub_180001046 with return %00012227 - -00012227: -0001222a: goto %00012228 - -00012228: -00012237: RAX := 63:8[RAX].0 -0001224d: goto %00012147 - -00012147: -00012166: RSP := RSP + 0x20 -00012191: RBX := mem[RSP, el]:u64 -00012195: RSP := RSP + 8 -000121a2: #12582351 := mem[RSP, el]:u64 -000121a6: RSP := RSP + 8 -000121a9: call #12582351 with noreturn - -00019554: sub sub_180001177(sub_180001177_result) -000195c0: sub_180001177_result :: out u32 = low:32[RAX] - -00012ab7: -00012ab9: goto %00011b07 - -00011b07: -00011b23: RSP := RSP - 0x28 -00011b4a: RSP := RSP - 8 -00011b4f: mem := mem with [RSP, el]:u64 <- 0x180001B4D -00011b51: call @sub_1800010e1 with return %00011b53 - -00011b53: -00011b5d: RSP := RSP - 8 -00011b62: mem := mem with [RSP, el]:u64 <- 0x180001B52 -00011b64: call @sub_180001096 with return %00011b71 - -00011b71: -00011b77: RAX := high:56[RAX].1 -00011b98: RSP := RSP + 0x28 -00011bc4: #12582389 := mem[RSP, el]:u64 -00011bc8: RSP := RSP + 8 -00011bcb: call #12582389 with noreturn - -00019555: sub sub_180001181(sub_180001181_result) -000195c1: sub_180001181_result :: out u32 = low:32[RAX] - -00012da3: -00012db1: goto %00011da7 - -00011da7: -00011dc3: RSP := RSP - 0x28 -00011dea: RSP := RSP - 8 -00011def: mem := mem with [RSP, el]:u64 <- 0x180001BE1 -00011df1: call @sub_180001087 with return %00011df3 - -00011df3: -00011e03: #12582376 := low:32[RAX] -00011e19: ZF := 0 = #12582376 -00011e20: when ZF goto %00011e1d -00019557: goto %00011efb - -00011e1d: -00011e2c: RSP := RSP - 8 -00011e31: mem := mem with [RSP, el]:u64 <- 0x180001BFA -00011e33: call @sub_180001032 with return %00011e35 - -00011e35: -00011e45: #12582374 := low:32[RAX] -00011e5b: ZF := 0 = #12582374 -00011e62: when ~ZF goto %00011e5f -00019556: goto %00011ee9 - -00011ee9: -00011ef2: RSP := RSP - 8 -00011ef7: mem := mem with [RSP, el]:u64 <- 0x180001C03 -00011ef9: call @sub_180002794 with return %00011e5f - -00011e5f: -00011e84: RSP := RSP + 0x28 -00011eb0: #12582369 := mem[RSP, el]:u64 -00011eb4: RSP := RSP + 8 -00011eb7: call #12582369 with noreturn - -00011efb: -00011eff: RCX := 0x1800081D0 -00011f20: RSP := RSP + 0x28 -00011f43: goto %00004e0d - -00004e0d: -00004e11: call mem[0x18000A1A8, el]:u64 with noreturn - -00019558: sub sub_180001358(sub_180001358_result) -000195c2: sub_180001358_result :: out u32 = low:32[RAX] - -00012ac0: -00012adf: RSP := RSP - 0x28 -00012b0d: #12582309 := low:32[RDX] -00012b23: ZF := 0 = #12582309 -00012b2a: when ZF goto %00012b27 -00019567: goto %00013eeb - -00012b27: -00012b3d: #12582307 := R8 -00012b53: ZF := 0 = #12582307 -00012b5d: RCX := 63:8[RCX].pad:8[~ZF] -00012b7e: RSP := RSP + 0x28 -00012ba2: call @sub_180001518 with noreturn - -00013eeb: -00013f07: RDX := pad:64[low:32[RDX] - 1] -00013f23: ZF := 0 = low:32[RDX] -00013f2a: when ZF goto %00013f27 -00019566: goto %00013f79 - -00013f27: -00013f33: RDX := R8 -00013f54: RSP := RSP + 0x28 -00013f77: goto %000138f1 - -000138f1: -000138fb: mem := mem with [RSP + 8, el]:u64 <- RBX -00013907: mem := mem with [RSP + 0x10, el]:u64 <- RSI -00013913: mem := mem with [RSP + 0x20, el]:u64 <- RDI -00013921: #12582264 := R14 -00013925: RSP := RSP - 8 -0001392b: mem := mem with [RSP, el]:u64 <- #12582264 -00013949: RSP := RSP - 0x20 -0001396d: RSI := RDX -00013975: R14 := RCX -00013981: RCX := 0 -0001399e: RSP := RSP - 8 -000139a3: mem := mem with [RSP, el]:u64 <- 0x1800013DE -000139a5: call @sub_180001168 with return %000139a7 - -000139a7: -000139b7: #12582260 := low:8[RAX] -000139cd: ZF := 0 = #12582260 -000139d4: when ZF goto %000139d1 -00019565: goto %00013bad - -00013bad: -00013bb6: RSP := RSP - 8 -00013bbb: mem := mem with [RSP, el]:u64 <- 0x1800013EB -00013bbd: call @sub_180001154 with return %00013bbf - -00013bbf: -00013bc7: RBX := high:56[RBX].low:8[RAX] -00013bd3: mem := mem with [RSP + 0x40] <- low:8[RAX] -00013bdb: RDI := high:56[RDI].1 -00013bf3: #12582254 := mem[0x1800081B8, el]:u32 -00013c0f: ZF := 0 = #12582254 -00013c15: when ~ZF goto %00013a77 -00019564: goto %00013c19 - -00013a77: -00013a7b: RCX := 7 -00013a86: RSP := RSP - 8 -00013a8b: mem := mem with [RSP, el]:u64 <- 0x1800014D0 -00013a8d: call @sub_18000114a with return %00013a8f - -00013a8f: -00013a93: call @interrupt:#3 with noreturn - -00013a95: -00013a97: call @interrupt:#3 with noreturn +000114d3: #12582444 := mem[0x18000A000, el]:u64 +000114d7: RSP := RSP - 8 +000114dc: mem := mem with [RSP, el]:u64 <- 0x180001894 +000114df: call #12582444 with return %000114e1 + +000114e1: +000114e9: RAX := pad:64[mem[RBP + 0x20, el]:u32] +000114f1: RCX := RBP + 0x10 +0001150a: RAX := RAX << 0x20 +00011537: RAX := RAX ^ mem[RBP + 0x20, el]:u64 +00011563: RAX := RAX ^ mem[RBP + 0x10, el]:u64 +0001158d: RAX := RAX ^ RCX +000115bd: RAX := RAX & 0xFFFFFFFFFFFF +000115d9: RCX := 0x2B992DDFA233 +000115f6: #12582437 := RAX - 0x2B992DDFA232 +00011615: ZF := 0 = #12582437 +00011621: RAX := if ZF then 0x2B992DDFA233 else RAX +0001162b: mem := mem with [0x180008020, el]:u64 <- RAX +0001957d: goto %0001126b + +0001126b: +00011279: RBX := mem[RSP + 0x48, el]:u64 +00011281: RAX := ~RAX +0001128b: mem := mem with [0x180008028, el]:u64 <- RAX +000112ac: RSP := RSP + 0x20 +000112d7: RBP := mem[RSP, el]:u64 +000112db: RSP := RSP + 8 +000112e8: #12582451 := mem[RSP, el]:u64 +000112ec: RSP := RSP + 8 +000112ef: call #12582451 with noreturn + +0001957f: sub sub_180001109(sub_180001109_result) +00019613: sub_180001109_result :: out u32 = low:32[RAX] + +00011635: +00011638: goto %00011636 + +00011636: +0001163d: RAX := 0x180008238 +0001164a: #12582435 := mem[RSP, el]:u64 +0001164e: RSP := RSP + 8 +00011651: call #12582435 with noreturn + +00019580: sub sub_18000110e(sub_18000110e_result) +00019614: sub_18000110e_result :: out u32 = low:32[RAX] + +00011663: +00011665: goto %00004dd1 -00013a99: -00013a9b: call @interrupt:#3 with noreturn - -00013a9d: -00013a9f: call @interrupt:#3 with noreturn - -00013aa1: -00013aa3: call @interrupt:#3 with noreturn - -00013aa5: -00013aa7: call @interrupt:#3 with noreturn - -00013aa9: -00013aab: call @interrupt:#3 with noreturn - -00013aad: -00013aaf: call @interrupt:#3 with noreturn - -00013ab1: -00013ab3: call @interrupt:#3 with noreturn +00004dd1: +00004dd5: RCX := 0x180008180 +00004dda: goto %00004dd8 -00013ab5: -00013ab7: call @interrupt:#3 with noreturn +00004dd8: +00004ddf: call mem[0x18000A0F0, el]:u64 with noreturn -00013ab9: -00013abb: call @interrupt:#3 with noreturn +00019581: sub sub_180001118(sub_180001118_result) +00019615: sub_180001118_result :: out u32 = low:32[RAX] -00013abd: -00013abf: call @interrupt:#3 with noreturn +0001166b: +0001166e: goto %0001166c -00013ac1: -00013ac3: call @interrupt:#3 with noreturn +0001166c: +0001168b: RSP := RSP - 0x28 +000116b3: RCX := 0 +000116d1: RSP := RSP - 8 +000116d6: mem := mem with [RSP, el]:u64 <- 0x180001C1B +000116d8: call @sub_1800010a5 with return %000116e5 -00013ac5: -00013ac7: call @interrupt:#3 with noreturn +000116e5: +00011704: RSP := RSP + 0x28 +00011727: goto %000111b1 -00013ac9: -00013acb: call @interrupt:#3 with noreturn +000111b1: +000111b3: call @sub_1800027b0 with noreturn -00013acd: -00013acf: call @interrupt:#3 with noreturn +00019582: sub sub_18000111d(sub_18000111d_result) +00019616: sub_18000111d_result :: out u32 = low:32[RAX] -00013ad1: -00013ad3: call @interrupt:#3 with noreturn +000122af: +000122b1: goto %00011a1d + +00011a1d: +00011a39: RSP := RSP - 0x28 +00011a60: RSP := RSP - 8 +00011a65: mem := mem with [RSP, el]:u64 <- 0x180001B15 +00011a67: call @sub_180001055 with return %00011a69 + +00011a69: +00011a79: #12582403 := low:8[RAX] +00011a8f: ZF := 0 = #12582403 +00011a96: when ~ZF goto %00011a93 +00019585: goto %00012044 + +00011a93: +00011aa2: RSP := RSP - 8 +00011aa7: mem := mem with [RSP, el]:u64 <- 0x180001B22 +00011aa9: call @sub_1800010aa with return %00011aab + +00011aab: +00011abb: #12582401 := low:8[RAX] +00011ad1: ZF := 0 = #12582401 +00011ad8: when ~ZF goto %00011ad5 +00019584: goto %00012031 + +00011ad5: +00011ae1: RAX := high:56[RAX].1 +00019583: goto %00011ae3 + +00012031: +0001203a: RSP := RSP - 8 +0001203f: mem := mem with [RSP, el]:u64 <- 0x180001B2B +00012041: call @sub_180001096 with return %00012043 + +00012043: +00012046: goto %00012044 + +00012044: +00012053: RAX := 63:8[RAX].0 +00012069: goto %00011ae3 + +00011ae3: +00011b02: RSP := RSP + 0x28 +00011b2e: #12582396 := mem[RSP, el]:u64 +00011b32: RSP := RSP + 8 +00011b35: call #12582396 with noreturn + +00019586: sub sub_180001122(sub_180001122_result) +00019617: sub_180001122_result :: out u32 = low:32[RAX] + +00011851: +0001185f: call @sub_1800027a0 with noreturn + +00019587: sub sub_180001127(sub_180001127_result) +00019618: sub_180001127_result :: out u32 = low:32[RAX] + +00011861: +00011864: goto %00011862 + +00011862: +00011881: RSP := RSP - 0x28 +000118a9: RSP := RSP - 8 +000118ae: mem := mem with [RSP, el]:u64 <- 0x180001981 +000118b0: call @sub_18000100f with return %00012077 + +00012077: +00012091: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 0x24 +000120b6: RSP := RSP - 8 +000120bb: mem := mem with [RSP, el]:u64 <- 0x18000198A +000120bd: call @sub_18000101e with return %000120bf + +000120bf: +000120d9: mem := mem with [RAX, el]:u64 <- mem[RAX, el]:u64 | 2 +00012114: RSP := RSP + 0x28 +00012140: #12582357 := mem[RSP, el]:u64 +00012144: RSP := RSP + 8 +00012147: call #12582357 with noreturn + +00019588: sub sub_18000112c(sub_18000112c_result) +00019619: sub_18000112c_result :: out u32 = low:32[RAX] + +0000f257: +0000f266: goto %0000f264 + +0000f264: +0000f277: mem := mem with [0x180008210, el]:u32 <- 0 +0000f29a: #12582692 := mem[RSP, el]:u64 +0000f29e: RSP := RSP + 8 +0000f2a1: call #12582692 with noreturn + +00019589: sub sub_18000113b(sub_18000113b_result) +0001961a: sub_18000113b_result :: out u32 = low:32[RAX] + +0000fbe0: +0000fbe3: goto %0000fbe1 + +0000fbe1: +0000fc00: RSP := RSP - 0x28 +0000fc27: RSP := RSP - 8 +0000fc2c: mem := mem with [RSP, el]:u64 <- 0x180001AB5 +0000fc2e: call @sub_180001087 with return %0000fc30 + +0000fc30: +0000fc40: #12582610 := low:32[RAX] +0000fc56: ZF := 0 = #12582610 +0000fc5d: when ZF goto %0000fc5a +0001958c: goto %000123cf + +0000fc5a: +0000fc6a: RSP := RSP - 8 +0000fc6f: mem := mem with [RSP, el]:u64 <- 0x180001AC5 +0000fc71: call @sub_1800010c3 with return %000122b3 + +000122b3: +000122b9: RCX := pad:64[low:32[RAX]] +000122c4: RSP := RSP - 8 +000122c9: mem := mem with [RSP, el]:u64 <- 0x180001ACC +000122cb: call @sub_18000276a with return %000122cd + +000122cd: +000122dd: #12582350 := low:32[RAX] +000122f3: ZF := 0 = #12582350 +000122fa: when ZF goto %000122f7 +0001958b: goto %000123ab + +000122f7: +00012306: RSP := RSP - 8 +0001230b: mem := mem with [RSP, el]:u64 <- 0x180001AD9 +0001230d: call @sub_180002770 with return %0001230f + +000123ab: +000123b7: RAX := 63:8[RAX].0 +000123cd: goto %00012317 + +000123cf: +000123d8: RSP := RSP - 8 +000123dd: mem := mem with [RSP, el]:u64 <- 0x180001ABE +000123df: call @sub_180001145 with return %000123e1 + +000123e1: +000123e3: goto %0001230f + +0001230f: +00012315: RAX := high:56[RAX].1 +0001958a: goto %00012317 + +00012317: +00012336: RSP := RSP + 0x28 +00012362: #12582345 := mem[RSP, el]:u64 +00012366: RSP := RSP + 8 +00012369: call #12582345 with noreturn + +0001958d: sub sub_180001140(sub_180001140_result) +0001961b: sub_180001140_result :: out u32 = low:32[RAX] + +0000d574: +0000d57a: goto %0000d578 + +0000d578: +0000d587: #12582870 := RBX +0000d58b: RSP := RSP - 8 +0000d591: mem := mem with [RSP, el]:u64 <- #12582870 +0000d5af: RSP := RSP - 0x20 +0000d5d5: RBX := high:56[RBX].low:8[RCX] +0000d5e1: RSP := RSP - 8 +0000d5e6: mem := mem with [RSP, el]:u64 <- 0x180001E05 +0000d5e8: call @sub_180001087 with return %0001450c + +0001450c: +00014516: RDX := 0 +00014519: AF := unknown[bits]:u1 +0001451c: ZF := 1 +0001451f: PF := 1 +00014522: OF := 0 +00014525: CF := 0 +00014528: SF := 0 +0001453a: #12582194 := low:32[RAX] +0001453d: OF := 0 +00014540: CF := 0 +00014543: AF := unknown[bits]:u1 +00014548: PF := + ~low:1[let $0 = #12582194 >> 4 ^ #12582194 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +0001454c: SF := high:1[#12582194] +00014550: ZF := 0 = #12582194 +00014557: when ZF goto %00014554 +00019590: goto %000145ee + +000145ee: +000145fe: #12582188 := low:8[RBX] +00014601: OF := 0 +00014604: CF := 0 +00014607: AF := unknown[bits]:u1 +0001460c: PF := + ~low:1[let $0 = #12582188 >> 4 ^ #12582188 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00014610: SF := high:1[#12582188] +00014614: ZF := 0 = #12582188 +0001461a: when ~ZF goto %00014554 +0001958f: goto %0001461e + +0001461e: +00014629: #12582186 := RDX +0001462d: RDX := mem[0x1800081C0, el]:u64 +00014632: mem := mem with [0x1800081C0, el]:u64 <- #12582186 +0001958e: goto %00014554 + +00014554: +00014575: #12582192 := RSP +00014579: RSP := RSP + 0x20 +0001457e: CF := RSP < #12582192 +00014586: OF := ~high:1[#12582192] & (high:1[#12582192] | high:1[RSP]) & + ~(high:1[#12582192] & high:1[RSP]) +0001458b: AF := 0x10 = (0x10 & (RSP ^ #12582192 ^ 0x20)) +00014590: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00014594: SF := high:1[RSP] +00014598: ZF := 0 = RSP +000145a4: RBX := mem[RSP, el]:u64 +000145a8: RSP := RSP + 8 +000145b5: #12582189 := mem[RSP, el]:u64 +000145b9: RSP := RSP + 8 +000145bc: call #12582189 with noreturn + +00019591: sub sub_180001145(sub_180001145_result) +0001961c: sub_180001145_result :: out u32 = low:32[RAX] + +000117ed: +000117fb: goto %0000e3ff + +0000e3ff: +0000e409: mem := mem with [RSP + 0x10, el]:u64 <- RBX +0000e415: mem := mem with [RSP + 0x18, el]:u64 <- RSI +0000e423: #12582770 := RDI +0000e427: RSP := RSP - 8 +0000e42d: mem := mem with [RSP, el]:u64 <- #12582770 +0000e44b: RSP := RSP - 0x10 +0000e4ac: RAX := pad:64[unknown[bits]:u32] +0000e4af: RBX := pad:64[unknown[bits]:u32] +0000e4b2: RCX := pad:64[unknown[bits]:u32] +0000e4b5: RDX := pad:64[unknown[bits]:u32] +0000e4bd: R8 := pad:64[low:32[RCX]] +0000e4c9: R11 := 0 +0000e4e3: R10 := pad:64[low:32[RDX]] +0000e4f5: R8 := pad:64[low:32[R8] ^ 0x6C65746E] +0000e51d: R10 := pad:64[low:32[R10] ^ 0x49656E69] +0000e53b: R9 := pad:64[low:32[RBX]] +0000e543: RSI := pad:64[low:32[RAX]] +0000e54f: RCX := 0 +0000e569: RAX := 1 +0000e57d: R10 := pad:64[low:32[R10] | low:32[R8]] +0000e59c: RAX := pad:64[unknown[bits]:u32] +0000e59f: RBX := pad:64[unknown[bits]:u32] +0000e5a2: RCX := pad:64[unknown[bits]:u32] +0000e5a5: RDX := pad:64[unknown[bits]:u32] +0000e5b7: R9 := pad:64[low:32[R9] ^ 0x756E6547] +0000e5d9: mem := mem with [RSP, el]:u32 <- low:32[RAX] +0000e5ed: R10 := pad:64[low:32[R10] | low:32[R9]] +0000e603: ZF := 0 = low:32[R10] +0000e60f: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX] +0000e617: RDI := pad:64[low:32[RCX]] +0000e623: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX] +0000e62f: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX] +0000e636: when ~ZF goto %0000e633 +000195a3: goto %0000ed25 + +0000ed25: +0000ed35: mem := mem with [0x180008048, el]:u64 <- 0xFFFFFFFFFFFFFFFF +0000ed5d: RAX := pad:64[low:32[RAX] & 0xFFF3FF0] +0000ed7b: mem := mem with [0x180008040, el]:u64 <- 0x8000 +0000ed93: #12582734 := low:32[RAX] - 0x106C0 +0000edaf: ZF := 0 = #12582734 +0000edb6: when ZF goto %0000edb3 +000195a2: goto %0000edf7 + +0000edf7: +0000ee0d: #12582731 := low:32[RAX] - 0x20660 +0000ee29: ZF := 0 = #12582731 +0000ee2f: when ZF goto %0000edb3 +000195a1: goto %0000ee33 + +0000ee33: +0000ee49: #12582729 := low:32[RAX] - 0x20670 +0000ee65: ZF := 0 = #12582729 +0000ee6b: when ZF goto %0000edb3 +000195a0: goto %0000ee6f + +0000ee6f: +0000ee8e: RAX := pad:64[low:32[RAX] - 0x30650] +0000eec5: #12582724 := low:32[RAX] - 0x20 +0000eec9: CF := low:32[RAX] < 0x20 +0000eee1: ZF := 0 = #12582724 +0000eee9: when ~(CF | ZF) goto %0000e633 +0001959f: goto %0000eeed + +0000eeed: +0000eef1: RCX := 0x100010001 +0000ef01: #12582722 := low:6[RAX] +0000ef06: CF := low:1[0x100010001 >> #12582722] +0000ef1b: when ~CF goto %0000e633 +0001959e: goto %0000edb3 + +0000e633: +0000e63f: R8 := pad:64[mem[0x180008214, el]:u32] +0001959d: goto %0000e641 + +0000edb3: +0000edbf: R8 := pad:64[mem[0x180008214, el]:u32] +0000edd1: R8 := pad:64[low:32[R8] | 1] +0000edf1: mem := mem with [0x180008214, el]:u32 <- low:32[R8] +0000edf5: goto %0000e641 + +0000e641: +0000e645: RAX := 7 +0000e64d: R9 := 2 +0000e66a: #12582761 := low:32[RSI] - 7 +0000e676: OF := high:1[(low:32[RSI] ^ 7) & (low:32[RSI] ^ #12582761)] +0000e685: SF := high:1[#12582761] +0000e696: when (SF | OF) & ~(SF & OF) goto %0000e690 +0001959c: goto %0000ec65 + +0000ec65: +0000ec6f: RCX := 0 +0000ec8a: RAX := pad:64[unknown[bits]:u32] +0000ec8d: RBX := pad:64[unknown[bits]:u32] +0000ec90: RCX := pad:64[unknown[bits]:u32] +0000ec93: RDX := pad:64[unknown[bits]:u32] +0000ec9f: mem := mem with [RSP, el]:u32 <- low:32[RAX] +0000eca7: R11 := pad:64[low:32[RBX]] +0000ecb3: mem := mem with [RSP + 4, el]:u32 <- low:32[RBX] +0000ecbf: mem := mem with [RSP + 8, el]:u32 <- low:32[RCX] +0000eccb: mem := mem with [RSP + 0xC, el]:u32 <- low:32[RDX] +0000ecd8: CF := low:1[RBX >> 9] +0000eced: when ~CF goto %0000e690 +0001959b: goto %0000ecf1 + +0000ecf1: +0000ed03: R8 := pad:64[low:32[R8] | 2] +0000ed23: mem := mem with [0x180008214, el]:u32 <- low:32[R8] +0001959a: goto %0000e690 + +0000e690: +0000e69f: mem := mem with [0x180008038, el]:u32 <- 1 +0000e6a9: mem := mem with [0x18000803C, el]:u32 <- 2 +0000e6b6: CF := low:1[RDI >> 0x14] +0000e6cc: when ~CF goto %0000e6c9 +00019599: goto %0000e937 + +0000e937: +0000e93f: mem := mem with [0x180008038, el]:u32 <- 2 +0000e945: RBX := 6 +0000e94f: mem := mem with [0x18000803C, el]:u32 <- 6 +0000e95c: CF := low:1[RDI >> 0x1B] +0000e971: when ~CF goto %0000e6c9 +00019598: goto %0000e975 + +0000e975: +0000e980: CF := low:1[RDI >> 0x1C] +0000e995: when ~CF goto %0000e6c9 +00019597: goto %0000e999 + +0000e999: +0000e9a3: RCX := 0 +0000e9bc: RAX := pad:64[unknown[bits]:u32] +0000e9bf: RDX := pad:64[unknown[bits]:u32] +0000e9d8: RDX := RDX << 0x20 +0000ea03: RDX := RDX | RAX +0000ea25: mem := mem with [RSP + 0x20, el]:u64 <- RDX +0000ea2f: RAX := mem[RSP + 0x20, el]:u64 +0000ea45: RAX := 63:8[RAX].low:8[RAX] & 6 +0000ea78: #12582750 := low:8[RAX] - 6 +0000ea97: ZF := 0 = #12582750 +0000ea9d: when ~ZF goto %0000e6c9 +00019596: goto %0000eaa1 + +0000eaa1: +0000eaa7: RAX := pad:64[mem[0x18000803C, el]:u32] +0000eab9: RAX := pad:64[low:32[RAX] | 8] +0000ead7: mem := mem with [0x180008038, el]:u32 <- 3 +0000eae1: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX] +0000eaf3: #12582747 := low:8[R11] & 0x20 +0000eb09: ZF := 0 = #12582747 +0000eb0f: when ZF goto %0000e6c9 +00019595: goto %0000eb13 + +0000eb13: +0000eb23: RAX := pad:64[low:32[RAX] | 0x20] +0000eb41: mem := mem with [0x180008038, el]:u32 <- 5 +0000eb4b: mem := mem with [0x18000803C, el]:u32 <- low:32[RAX] +0000eb51: RAX := 0xD0030000 +0000eb65: R11 := pad:64[low:32[R11] & 0xD0030000] +0000eb98: #12582743 := low:32[R11] - 0xD0030000 +0000ebb7: ZF := 0 = #12582743 +0000ebbd: when ~ZF goto %0000e6c9 +00019594: goto %0000ebc1 + +0000ebc1: +0000ebc9: RAX := mem[RSP + 0x20, el]:u64 +0000ebdd: RAX := 63:8[RAX].low:8[RAX] & 0xE0 +0000ec0b: #12582740 := low:8[RAX] - 0xE0 +0000ec27: ZF := 0 = #12582740 +0000ec2d: when ~ZF goto %0000e6c9 +00019593: goto %0000ec31 + +0000ec31: +0000ec43: mem := + mem with [0x18000803C, el]:u32 <- mem[0x18000803C, el]:u32 | 0x40 +0000ec63: mem := mem with [0x180008038, el]:u32 <- 6 +00019592: goto %0000e6c9 + +0000e6c9: +0000e6d7: RBX := mem[RSP + 0x28, el]:u64 +0000e6e3: RAX := 0 +0000e6ff: RSI := mem[RSP + 0x30, el]:u64 +0000e720: RSP := RSP + 0x10 +0000e74b: RDI := mem[RSP, el]:u64 +0000e74f: RSP := RSP + 8 +0000e75c: #12582756 := mem[RSP, el]:u64 +0000e760: RSP := RSP + 8 +0000e763: call #12582756 with noreturn + +000195a4: sub sub_18000114a(sub_18000114a_result) +0001961d: sub_18000114a_result :: out u32 = low:32[RAX] + +0000f17d: +0000f18c: goto %0000f18a + +0000f18a: +0000f197: mem := mem with [RSP + 8, el]:u64 <- RBX +0000f1a5: #12582700 := RBP +0000f1a9: RSP := RSP - 8 +0000f1af: mem := mem with [RSP, el]:u64 <- #12582700 +0000f1b7: RBP := RSP - 0x4C0 +0000f1d5: RSP := RSP - 0x5C0 +0000f1f9: RBX := pad:64[low:32[RCX]] +0000f1ff: RCX := 0x17 +0000f20d: #12582696 := mem[0x18000A068, el]:u64 +0000f211: RSP := RSP - 8 +0000f216: mem := mem with [RSP, el]:u64 <- 0x180001F1E +0000f219: call #12582696 with return %0000f21b + +0000f21b: +0000f22b: #12582695 := low:32[RAX] +0000f241: ZF := 0 = #12582695 +0000f248: when ZF goto %0000f245 +000195a8: goto %00012aeb + +00012aeb: +00012af1: RCX := pad:64[low:32[RBX]] +00012af5: call @interrupt:#41 with noreturn + +0000f245: +0000f24f: RCX := 3 +0000f25b: RSP := RSP - 8 +0000f260: mem := mem with [RSP, el]:u64 <- 0x180001F30 +0000f262: call @sub_18000112c with return %000123e5 -00013ad5: -00013ad7: call @interrupt:#3 with noreturn +000123e5: +000123ef: RDX := 0 +00012409: RCX := RBP - 0x10 +0001240f: R8 := 0x4D0 +0001241a: RSP := RSP - 8 +0001241f: mem := mem with [RSP, el]:u64 <- 0x180001F41 +00012421: call @sub_180002752 with return %00012423 + +00012423: +00012429: RCX := RBP - 0x10 +00012437: #12582344 := mem[0x18000A030, el]:u64 +0001243b: RSP := RSP - 8 +00012440: mem := mem with [RSP, el]:u64 <- 0x180001F4B +00012443: call #12582344 with return %00012445 + +00012445: +0001244d: RBX := mem[RBP + 0xE8, el]:u64 +00012455: RDX := RBP + 0x4D8 +0001245d: RCX := RBX +00012469: R8 := 0 +00012489: #12582343 := mem[0x18000A038, el]:u64 +0001248d: RSP := RSP - 8 +00012492: mem := mem with [RSP, el]:u64 <- 0x180001F65 +00012495: call #12582343 with return %00012497 + +00012497: +000124a7: #12582342 := RAX +000124bd: ZF := 0 = #12582342 +000124c4: when ZF goto %000124c1 +000195a7: goto %00012a2b + +00012a2b: +00012a41: mem := mem with [RSP + 0x38, el]:u64 <- 0 +00012a63: RCX := RBP + 0x4E0 +00012a6d: RDX := mem[RBP + 0x4D8, el]:u64 +00012a75: R9 := RAX +00012a81: mem := mem with [RSP + 0x30, el]:u64 <- RCX +00012a89: R8 := RBX +00012a91: RCX := RBP + 0x4E8 +00012a9d: mem := mem with [RSP + 0x28, el]:u64 <- RCX +00012aa5: RCX := RBP - 0x10 +00012ab1: mem := mem with [RSP + 0x20, el]:u64 <- RCX +00012abd: RCX := 0 +00012add: #12582313 := mem[0x18000A040, el]:u64 +00012ae1: RSP := RSP - 8 +00012ae6: mem := mem with [RSP, el]:u64 <- 0x180001FA6 +00012ae9: call #12582313 with return %000124c1 + +000124c1: +000124cf: RAX := mem[RBP + 0x4C8, el]:u64 +000124d7: RCX := RSP + 0x50 +000124e3: mem := mem with [RBP + 0xE8, el]:u64 <- RAX +000124ef: RDX := 0 +00012509: RAX := RBP + 0x4C8 +0001250f: R8 := 0x98 +00012530: RAX := RAX + 8 +0001255b: mem := mem with [RBP + 0x88, el]:u64 <- RAX +00012566: RSP := RSP - 8 +0001256b: mem := mem with [RSP, el]:u64 <- 0x180001FD8 +0001256d: call @sub_180002752 with return %0001256f + +0001256f: +00012577: RAX := mem[RBP + 0x4C8, el]:u64 +00012583: mem := mem with [RSP + 0x60, el]:u64 <- RAX +0001258d: mem := mem with [RSP + 0x50, el]:u32 <- 0x40000015 +00012597: mem := mem with [RSP + 0x54, el]:u32 <- 1 +000125a5: #12582337 := mem[0x18000A048, el]:u64 +000125a9: RSP := RSP - 8 +000125ae: mem := mem with [RSP, el]:u64 <- 0x180001FFA +000125b1: call #12582337 with return %000125b3 + +000125b3: +000125c9: #12582336 := low:32[RAX] - 1 +000125e5: ZF := 0 = #12582336 +000125ed: RAX := RSP + 0x50 +000125f9: mem := mem with [RSP + 0x40, el]:u64 <- RAX +00012601: RAX := RBP - 0x10 +0001260b: RBX := 63:8[RBX].pad:8[ZF] +00012617: mem := mem with [RSP + 0x48, el]:u64 <- RAX +00012623: RCX := 0 +00012643: #12582334 := mem[0x18000A058, el]:u64 +00012647: RSP := RSP - 8 +0001264c: mem := mem with [RSP, el]:u64 <- 0x18000201B +0001264f: call #12582334 with return %00012651 + +00012651: +00012657: RCX := RSP + 0x40 +00012665: #12582333 := mem[0x18000A050, el]:u64 +00012669: RSP := RSP - 8 +0001266e: mem := mem with [RSP, el]:u64 <- 0x180002026 +00012671: call #12582333 with return %00012673 + +00012673: +00012683: #12582332 := low:32[RAX] +00012699: ZF := 0 = #12582332 +000126a0: when ~ZF goto %0001269d +000195a6: goto %000129e1 + +000129e1: +000129f1: #12582316 := low:8[RBX] +00012a07: ZF := 0 = #12582316 +00012a0d: when ~ZF goto %0001269d +000195a5: goto %00012a11 + +00012a11: +00012a17: RCX := pad:64[low:32[RAX + 3]] +00012a22: RSP := RSP - 8 +00012a27: mem := mem with [RSP, el]:u64 <- 0x180002036 +00012a29: call @sub_18000112c with return %0001269d + +0001269d: +000126ab: RBX := mem[RSP + 0x5D0, el]:u64 +000126cc: RSP := RSP + 0x5C0 +000126f7: RBP := mem[RSP, el]:u64 +000126fb: RSP := RSP + 8 +00012708: #12582327 := mem[RSP, el]:u64 +0001270c: RSP := RSP + 8 +0001270f: call #12582327 with noreturn + +000195a9: sub sub_180001154(sub_180001154_result) +0001961e: sub_180001154_result :: out u32 = low:32[RAX] + +00012afb: +00012afd: goto %00010cd4 + +00010cd4: +00010cf0: RSP := RSP - 0x28 +00010d17: RSP := RSP - 8 +00010d1c: mem := mem with [RSP, el]:u64 <- 0x180001A6D +00010d1e: call @sub_180001087 with return %00010d20 + +00010d20: +00010d30: #12582492 := low:32[RAX] +00010d46: ZF := 0 = #12582492 +00010d4d: when ZF goto %00010d4a +000195ad: goto %00010e0c + +00010e0c: +00010e14: RAX := mem[GS_BASE + 0x30, el]:u64 +00010e1e: RCX := mem[RAX + 8, el]:u64 +00010e23: goto %00010e21 + +00010e21: +00010e2e: RAX := 0 +00010e65: call @intrinsic:x86:lock with return %00010e68 + +00010e68: +00010e69: #12582486 := mem[0x1800081C0, el]:u64 +00010e6e: #12582485 := -#12582486 +00010e8d: ZF := 0 = #12582485 +00010ea1: goto %00010e99 + +00010e99: +00010e9b: when 0 = #12582486 goto %00010e93 +00010e9c: goto %00010e97 + +00010e97: +00010e98: RAX := #12582486 +00010e9e: goto %00010e9a + +00010e93: +00010e94: mem := mem with [0x1800081C0, el]:u64 <- RCX +00010e9d: goto %00010e9a + +00010e9a: +00010ea0: call @intrinsic:x86:unlock with return %00010eab + +00010eab: +00010eb0: when ~ZF goto %00010ead +000195ac: goto %00010d4a + +00010d4a: +00010d5c: RAX := 63:8[RAX].0 +00010d62: ZF := 1 +000195ab: goto %00010d70 + +00010ead: +00010ece: #12582483 := RCX - RAX +00010eed: ZF := 0 = #12582483 +00010ef3: when ZF goto %00010dc4 +000195aa: goto %00010e21 + +00010dc4: +00010dca: RAX := high:56[RAX].1 +00010dce: goto %00010d70 + +00010d70: +00010d8f: RSP := RSP + 0x28 +00010dbb: #12582487 := mem[RSP, el]:u64 +00010dbf: RSP := RSP + 8 +00010dc2: call #12582487 with noreturn + +000195ae: sub sub_180001163(sub_180001163_result) +0001961f: sub_180001163_result :: out u32 = low:32[RAX] + +00012b07: +00012b09: goto %00011c49 + +00011c49: +00011c53: mem := mem with [RSP + 8, el]:u64 <- RBX +00011c5f: mem := mem with [RSP + 0x10, el]:u64 <- RBP +00011c6b: mem := mem with [RSP + 0x18, el]:u64 <- RSI +00011c79: #12582388 := RDI +00011c7d: RSP := RSP - 8 +00011c83: mem := mem with [RSP, el]:u64 <- #12582388 +00011ca1: RSP := RSP - 0x20 +00011cc5: RDI := R9 +00011ccd: RSI := R8 +00011cd5: RBX := pad:64[low:32[RDX]] +00011cdd: RBP := RCX +00011ce8: RSP := RSP - 8 +00011ced: mem := mem with [RSP, el]:u64 <- 0x180001B80 +00011cef: call @sub_180001087 with return %00011cf1 + +00011cf1: +00011d01: #12582384 := low:32[RAX] +00011d17: ZF := 0 = #12582384 +00011d1e: when ~ZF goto %00011d1b +000195b0: goto %00011fa5 + +00011fa5: +00011fbb: #12582365 := low:32[RBX] - 1 +00011fd7: ZF := 0 = #12582365 +00011fdd: when ~ZF goto %00011d1b +000195af: goto %00011fe1 + +00011fe1: +00011fe7: R8 := RSI +00011ff3: RDX := 0 +0001200d: RCX := RBP +00012015: RAX := RDI +00012023: #12582363 := mem[0x18000B020, el]:u64 +00012027: RSP := RSP - 8 +0001202c: mem := mem with [RSP, el]:u64 <- 0x180001B9A +0001202f: call #12582363 with return %00011d1b + +00011d1b: +00011d29: RDX := mem[RSP + 0x58, el]:u64 +00011d33: RCX := pad:64[mem[RSP + 0x50, el]:u32] +00011d3d: RBX := mem[RSP + 0x30, el]:u64 +00011d47: RBP := mem[RSP + 0x38, el]:u64 +00011d51: RSI := mem[RSP + 0x40, el]:u64 +00011d72: RSP := RSP + 0x20 +00011d9d: RDI := mem[RSP, el]:u64 +00011da1: RSP := RSP + 8 +00011da5: goto %00004dff + +00004dff: +00004e03: call mem[0x18000A180, el]:u64 with noreturn + +000195b1: sub sub_180001168(sub_180001168_result) +00019620: sub_180001168_result :: out u32 = low:32[RAX] + +00012b0b: +00012b0d: goto %00011749 + +00011749: +00011755: #12582428 := RBX +00011759: RSP := RSP - 8 +0001175f: mem := mem with [RSP, el]:u64 <- #12582428 +0001177d: RSP := RSP - 0x20 +000117a1: RAX := pad:64[mem[0x1800081C8]] +000117b3: #12582424 := low:32[RCX] +000117c9: ZF := 0 = #12582424 +000117cf: RBX := 1 +000117db: RAX := pad:64[if ZF then 1 else low:32[RAX]] +000117e5: mem := mem with [0x1800081C8] <- low:8[RAX] +000117f1: RSP := RSP - 8 +000117f6: mem := mem with [RSP, el]:u64 <- 0x180001C4E +000117f8: call @sub_180001145 with return %000117fd + +000117fd: +00011807: RSP := RSP - 8 +0001180c: mem := mem with [RSP, el]:u64 <- 0x180001C53 +0001180e: call @sub_18000102d with return %0001181b + +0001181b: +0001182b: #12582422 := low:8[RAX] +00011841: ZF := 0 = #12582422 +00011848: when ~ZF goto %00011845 +000195b4: goto %00012288 -00013ad9: -00013adb: call @interrupt:#3 with noreturn +00011845: +00011855: RSP := RSP - 8 +0001185a: mem := mem with [RSP, el]:u64 <- 0x180001C60 +0001185c: call @sub_180001122 with return %0001216d + +0001216d: +0001217d: #12582356 := low:8[RAX] +00012193: ZF := 0 = #12582356 +0001219a: when ~ZF goto %00012197 +000195b3: goto %00012257 + +00012197: +000121a5: RAX := high:56[RAX].1 +000195b2: goto %000121a7 + +00012257: +00012261: RCX := 0 +0001227e: RSP := RSP - 8 +00012283: mem := mem with [RSP, el]:u64 <- 0x180001C6B +00012285: call @sub_180001046 with return %00012287 + +00012287: +0001228a: goto %00012288 + +00012288: +00012297: RAX := 63:8[RAX].0 +000122ad: goto %000121a7 + +000121a7: +000121c6: RSP := RSP + 0x20 +000121f1: RBX := mem[RSP, el]:u64 +000121f5: RSP := RSP + 8 +00012202: #12582351 := mem[RSP, el]:u64 +00012206: RSP := RSP + 8 +00012209: call #12582351 with noreturn + +000195b5: sub sub_180001177(sub_180001177_result) +00019621: sub_180001177_result :: out u32 = low:32[RAX] + +00012b17: +00012b19: goto %00011b67 + +00011b67: +00011b83: RSP := RSP - 0x28 +00011baa: RSP := RSP - 8 +00011baf: mem := mem with [RSP, el]:u64 <- 0x180001B49 +00011bb1: call @sub_1800010e1 with return %00011bb3 + +00011bb3: +00011bbd: RSP := RSP - 8 +00011bc2: mem := mem with [RSP, el]:u64 <- 0x180001B4E +00011bc4: call @sub_180001096 with return %00011bd1 + +00011bd1: +00011bd7: RAX := high:56[RAX].1 +00011bf8: RSP := RSP + 0x28 +00011c24: #12582389 := mem[RSP, el]:u64 +00011c28: RSP := RSP + 8 +00011c2b: call #12582389 with noreturn + +000195b6: sub sub_180001181(sub_180001181_result) +00019622: sub_180001181_result :: out u32 = low:32[RAX] + +00012e03: +00012e11: goto %00011e07 + +00011e07: +00011e23: RSP := RSP - 0x28 +00011e4a: RSP := RSP - 8 +00011e4f: mem := mem with [RSP, el]:u64 <- 0x180001BDD +00011e51: call @sub_180001087 with return %00011e53 + +00011e53: +00011e63: #12582376 := low:32[RAX] +00011e79: ZF := 0 = #12582376 +00011e80: when ZF goto %00011e7d +000195b8: goto %00011f5b + +00011e7d: +00011e8c: RSP := RSP - 8 +00011e91: mem := mem with [RSP, el]:u64 <- 0x180001BF6 +00011e93: call @sub_180001032 with return %00011e95 + +00011e95: +00011ea5: #12582374 := low:32[RAX] +00011ebb: ZF := 0 = #12582374 +00011ec2: when ~ZF goto %00011ebf +000195b7: goto %00011f49 + +00011f49: +00011f52: RSP := RSP - 8 +00011f57: mem := mem with [RSP, el]:u64 <- 0x180001BFF +00011f59: call @sub_180002794 with return %00011ebf + +00011ebf: +00011ee4: RSP := RSP + 0x28 +00011f10: #12582369 := mem[RSP, el]:u64 +00011f14: RSP := RSP + 8 +00011f17: call #12582369 with noreturn + +00011f5b: +00011f5f: RCX := 0x1800081D0 +00011f80: RSP := RSP + 0x28 +00011fa3: goto %00004e1d + +00004e1d: +00004e21: call mem[0x18000A1A8, el]:u64 with noreturn + +000195b9: sub sub_180001354(sub_180001354_result) +00019623: sub_180001354_result :: out u32 = low:32[RAX] + +00012b20: +00012b3f: RSP := RSP - 0x28 +00012b6d: #12582309 := low:32[RDX] +00012b83: ZF := 0 = #12582309 +00012b8a: when ZF goto %00012b87 +000195c8: goto %00013f4c + +00012b87: +00012b9d: #12582307 := R8 +00012bb3: ZF := 0 = #12582307 +00012bbd: RCX := 63:8[RCX].pad:8[~ZF] +00012bde: RSP := RSP + 0x28 +00012c02: call @sub_180001514 with noreturn + +00013f4c: +00013f64: #12582237 := low:32[RDX] +00013f68: RDX := pad:64[low:32[RDX] - 1] +00013f6c: CF := #12582237 < 1 +00013f72: OF := high:1[(#12582237 ^ 1) & (#12582237 ^ low:32[RDX])] +00013f77: AF := 0x10 = (0x10 & (low:32[RDX] ^ #12582237 ^ 1)) +00013f7c: PF := + ~low:1[let $0 = low:32[RDX] >> 4 ^ low:32[RDX] in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013f80: SF := high:1[low:32[RDX]] +00013f84: ZF := 0 = low:32[RDX] +00013f8b: when ZF goto %00013f88 +000195c7: goto %00013fda + +00013f88: +00013f94: RDX := R8 +00013fb1: #12582234 := RSP +00013fb5: RSP := RSP + 0x28 +00013fba: CF := RSP < #12582234 +00013fc2: OF := ~high:1[#12582234] & (high:1[#12582234] | high:1[RSP]) & + ~(high:1[#12582234] & high:1[RSP]) +00013fc7: AF := 0x10 = (0x10 & (RSP ^ #12582234 ^ 0x28)) +00013fcc: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013fd0: SF := high:1[RSP] +00013fd4: ZF := 0 = RSP +00013fd8: goto %00013952 + +00013952: +0001395c: mem := mem with [RSP + 8, el]:u64 <- RBX +00013968: mem := mem with [RSP + 0x10, el]:u64 <- RSI +00013974: mem := mem with [RSP + 0x20, el]:u64 <- RDI +00013982: #12582264 := R14 +00013986: RSP := RSP - 8 +0001398c: mem := mem with [RSP, el]:u64 <- #12582264 +000139a6: #12582263 := RSP +000139aa: RSP := RSP - 0x20 +000139ae: CF := #12582263 < 0x20 +000139b4: OF := high:1[(#12582263 ^ 0x20) & (#12582263 ^ RSP)] +000139b9: AF := 0x10 = (0x10 & (RSP ^ #12582263 ^ 0x20)) +000139be: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +000139c2: SF := high:1[RSP] +000139c6: ZF := 0 = RSP +000139ce: RSI := RDX +000139d6: R14 := RCX +000139e2: RCX := 0 +000139e5: AF := unknown[bits]:u1 +000139e8: ZF := 1 +000139eb: PF := 1 +000139ee: OF := 0 +000139f1: CF := 0 +000139f4: SF := 0 +000139ff: RSP := RSP - 8 +00013a04: mem := mem with [RSP, el]:u64 <- 0x1800013DA +00013a06: call @sub_180001168 with return %00013a08 + +00013a08: +00013a18: #12582260 := low:8[RAX] +00013a1b: OF := 0 +00013a1e: CF := 0 +00013a21: AF := unknown[bits]:u1 +00013a26: PF := + ~low:1[let $0 = #12582260 >> 4 ^ #12582260 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013a2a: SF := high:1[#12582260] +00013a2e: ZF := 0 = #12582260 +00013a35: when ZF goto %00013a32 +000195c6: goto %00013c0e + +00013c0e: +00013c17: RSP := RSP - 8 +00013c1c: mem := mem with [RSP, el]:u64 <- 0x1800013E7 +00013c1e: call @sub_180001154 with return %00013c20 + +00013c20: +00013c28: RBX := high:56[RBX].low:8[RAX] +00013c34: mem := mem with [RSP + 0x40] <- low:8[RAX] +00013c3c: RDI := high:56[RDI].1 +00013c54: #12582254 := mem[0x1800081B8, el]:u32 +00013c58: CF := mem[0x1800081B8, el]:u32 < 0 +00013c5e: OF := high:1[mem[0x1800081B8, el]:u32 & + (mem[0x1800081B8, el]:u32 ^ #12582254)] +00013c63: AF := 0x10 = (0x10 & (#12582254 ^ mem[0x1800081B8, el]:u32)) +00013c68: PF := + ~low:1[let $0 = #12582254 >> 4 ^ #12582254 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013c6c: SF := high:1[#12582254] +00013c70: ZF := 0 = #12582254 +00013c76: when ~ZF goto %00013ad8 +000195c5: goto %00013c7a + +00013ad8: +00013adc: RCX := 7 +00013ae7: RSP := RSP - 8 +00013aec: mem := mem with [RSP, el]:u64 <- 0x1800014CC +00013aee: call @sub_18000114a with return %00013af0 + +00013af0: +00013af4: call @interrupt:#3 with noreturn + +00013af6: +00013af8: call @interrupt:#3 with noreturn + +00013afa: +00013afc: call @interrupt:#3 with noreturn + +00013afe: +00013b00: call @interrupt:#3 with noreturn + +00013b02: +00013b04: call @interrupt:#3 with noreturn + +00013b06: +00013b08: call @interrupt:#3 with noreturn + +00013b0a: +00013b0c: call @interrupt:#3 with noreturn + +00013b0e: +00013b10: call @interrupt:#3 with noreturn + +00013b12: +00013b14: call @interrupt:#3 with noreturn + +00013b16: +00013b18: call @interrupt:#3 with noreturn + +00013b1a: +00013b1c: call @interrupt:#3 with noreturn + +00013b1e: +00013b20: call @interrupt:#3 with noreturn -00013add: -00013adf: call @interrupt:#3 with noreturn +00013b22: +00013b24: call @interrupt:#3 with noreturn -00013ae1: -00013ae3: call @interrupt:#3 with noreturn +00013b26: +00013b28: call @interrupt:#3 with noreturn -00013ae5: -00013ae7: call @interrupt:#3 with noreturn +00013b2a: +00013b2c: call @interrupt:#3 with noreturn -00013ae9: -00013aeb: call @interrupt:#3 with noreturn +00013b2e: +00013b30: call @interrupt:#3 with noreturn -00013aed: -00013aef: call @interrupt:#3 with noreturn +00013b32: +00013b34: call @interrupt:#3 with noreturn -00013af1: -00013af3: call @interrupt:#3 with noreturn +00013b36: +00013b38: call @interrupt:#3 with noreturn -00013af5: -00013af7: call @interrupt:#3 with noreturn +00013b3a: +00013b3c: call @interrupt:#3 with noreturn -00013af9: -00013afb: call @interrupt:#3 with noreturn +00013b3e: +00013b40: call @interrupt:#3 with noreturn -00013afd: -00013aff: call @interrupt:#3 with noreturn +00013b42: +00013b44: call @interrupt:#3 with noreturn -00013b01: -00013b03: call @interrupt:#3 with noreturn +00013b46: +00013b48: call @interrupt:#3 with noreturn -00013b05: -00013b07: call @interrupt:#3 with noreturn +00013b4a: +00013b4c: call @interrupt:#3 with noreturn -00013b09: -00013b0b: call @interrupt:#3 with noreturn +00013b4e: +00013b50: call @interrupt:#3 with noreturn -00013b0d: -00013b0f: call @interrupt:#3 with noreturn +00013b52: +00013b54: call @interrupt:#3 with noreturn -00013b11: -00013b13: call @interrupt:#3 with noreturn +00013b56: +00013b58: call @interrupt:#3 with noreturn -00013b15: -00013b17: call @interrupt:#3 with noreturn +00013b5a: +00013b5c: call @interrupt:#3 with noreturn -00013b19: -00013b1b: call @interrupt:#3 with noreturn +00013b5e: +00013b60: call @interrupt:#3 with noreturn -00013b1d: -00013b1f: call @interrupt:#3 with noreturn +00013b62: +00013b64: call @interrupt:#3 with noreturn -00013b21: -00013b23: call @interrupt:#3 with noreturn +00013b66: +00013b68: call @interrupt:#3 with noreturn -00013b25: -00013b27: call @interrupt:#3 with noreturn +00013b6a: +00013b6c: call @interrupt:#3 with noreturn -00013b29: -00013b2b: call @interrupt:#3 with noreturn +00013b6e: +00013b70: call @interrupt:#3 with noreturn -00013b2d: -00013b2f: call @interrupt:#3 with noreturn +00013b72: +00013b74: call @interrupt:#3 with noreturn -00013b31: -00013b33: call @interrupt:#3 with noreturn +00013b76: +00013b78: call @interrupt:#3 with noreturn -00013b35: -00013b37: call @interrupt:#3 with noreturn +00013b7a: +00013b7c: call @interrupt:#3 with noreturn -00013b39: -00013b3b: call @interrupt:#3 with noreturn +00013b7e: +00013b80: call @interrupt:#3 with noreturn -00013b3d: -00013b3f: call @interrupt:#3 with noreturn +00013b82: +00013b84: call @interrupt:#3 with noreturn -00013b41: -00013b43: call @interrupt:#3 with noreturn +00013b86: +00013b88: call @interrupt:#3 with noreturn -00013b45: -00013b47: call @interrupt:#3 with noreturn +00013b8a: +00013b8c: call @interrupt:#3 with noreturn -00013b49: -00013b4b: call @interrupt:#3 with noreturn +00013b8e: +00013b90: call @interrupt:#3 with noreturn -00013b4d: -00013b4f: call @interrupt:#3 with noreturn +00013b92: +00013b94: call @interrupt:#3 with noreturn -00013b51: -00013b53: call @interrupt:#3 with noreturn +00013b96: +00013b98: call @interrupt:#3 with noreturn -00013b55: -00013b57: call @interrupt:#3 with noreturn +00013b9a: +00013b9c: call @interrupt:#3 with noreturn -00013b59: -00013b5b: call @interrupt:#3 with noreturn +00013b9e: +00013ba0: call @interrupt:#3 with noreturn -00013b5d: -00013b5f: call @interrupt:#3 with noreturn +00013ba2: +00013ba4: call @interrupt:#3 with noreturn -00013b61: -00013b63: call @interrupt:#3 with noreturn +00013ba6: +00013ba8: call @interrupt:#3 with noreturn -00013b65: -00013b67: call @interrupt:#3 with noreturn +00013baa: +00013bac: call @interrupt:#3 with noreturn -00013b69: -00013b6b: call @interrupt:#3 with noreturn +00013bae: +00013bb0: call @interrupt:#3 with noreturn -00013b6d: -00013b6f: call @interrupt:#3 with noreturn +00013bb2: +00013bb4: call @interrupt:#3 with noreturn -00013b71: -00013b73: call @interrupt:#3 with noreturn +00013bb6: +00013bb8: call @interrupt:#3 with noreturn -00013b75: -00013b77: call @interrupt:#3 with noreturn +00013bba: +00013bbc: call @interrupt:#3 with noreturn -00013b79: -00013b7b: call @interrupt:#3 with noreturn +00013bbe: +00013bc0: call @interrupt:#3 with noreturn -00013b7d: -00013b7f: call @interrupt:#3 with noreturn +00013bc2: +00013bc4: call @interrupt:#3 with noreturn -00013b81: -00013b83: call @interrupt:#3 with noreturn +00013bc6: +00013bc8: call @interrupt:#3 with noreturn -00013b85: -00013b87: call @interrupt:#3 with noreturn +00013bca: +00013bcc: call @interrupt:#3 with noreturn -00013b89: -00013b8b: call @interrupt:#3 with noreturn +00013bce: +00013bd0: call @interrupt:#3 with noreturn -00013b8d: -00013b8f: call @interrupt:#3 with noreturn +00013bd2: +00013bd4: call @interrupt:#3 with noreturn -00013b91: -00013b93: call @interrupt:#3 with noreturn +00013bd6: +00013bd8: call @interrupt:#3 with noreturn -00013b95: -00013b97: call @interrupt:#3 with noreturn +00013bda: +00013bdc: call @interrupt:#3 with noreturn -00013b99: -00013b9b: call @interrupt:#3 with noreturn +00013bde: +00013be0: call @interrupt:#3 with noreturn -00013b9d: -00013b9f: call @interrupt:#3 with noreturn +00013be2: +00013be4: call @interrupt:#3 with noreturn -00013ba1: -00013ba3: call @interrupt:#3 with noreturn +00013be6: +00013be8: call @interrupt:#3 with noreturn -00013ba5: -00013ba7: call @interrupt:#3 with noreturn +00013bea: +00013bec: call @interrupt:#3 with noreturn -00013ba9: -00013bab: call @interrupt:#3 with noreturn +00013bee: +00013bf0: call @interrupt:#3 with noreturn -00013c19: -00013c1f: mem := mem with [0x1800081B8, el]:u32 <- 1 -00013c2a: RSP := RSP - 8 -00013c2f: mem := mem with [RSP, el]:u64 <- 0x180001410 -00013c31: call @sub_180001019 with return %00013c33 +00013bf2: +00013bf4: call @interrupt:#3 with noreturn -00013c33: -00013c43: #12582252 := low:8[RAX] -00013c59: ZF := 0 = #12582252 -00013c60: when ZF goto %00013c5d -00019562: goto %00013ddf - -00013ddf: -00013de8: RSP := RSP - 8 -00013ded: mem := mem with [RSP, el]:u64 <- 0x180001419 -00013def: call @sub_1800010cd with return %00013df1 - -00013df1: -00013dfa: RSP := RSP - 8 -00013dff: mem := mem with [RSP, el]:u64 <- 0x18000141E -00013e01: call @sub_180001041 with return %00013e03 - -00013e03: -00013e0c: RSP := RSP - 8 -00013e11: mem := mem with [RSP, el]:u64 <- 0x180001423 -00013e13: call @sub_180001127 with return %00013e15 - -00013e15: -00013e19: RDX := 0x180006330 -00013e1f: RCX := 0x180006220 -00013e2a: RSP := RSP - 8 -00013e2f: mem := mem with [RSP, el]:u64 <- 0x180001436 -00013e31: call @sub_18000275e with return %00013e33 - -00013e33: -00013e43: #12582241 := low:32[RAX] -00013e59: ZF := 0 = #12582241 -00013e5f: when ~ZF goto %00013c5d -00019561: goto %00013e63 - -00013e63: -00013e6c: RSP := RSP - 8 -00013e71: mem := mem with [RSP, el]:u64 <- 0x18000143F -00013e73: call @sub_18000113b with return %00013e75 - -00013e75: -00013e85: #12582239 := low:8[RAX] -00013e9b: ZF := 0 = #12582239 -00013ea1: when ZF goto %00013c5d -00019560: goto %00013ea5 - -00013ea5: -00013ea9: RDX := 0x180006110 -00013eaf: RCX := 0x180006000 -00013eba: RSP := RSP - 8 -00013ebf: mem := mem with [RSP, el]:u64 <- 0x180001456 -00013ec1: call @sub_180002758 with return %00013ec3 - -00013ec3: -00013ec9: mem := mem with [0x1800081B8, el]:u32 <- 2 -00013ed7: RDI := 63:8[RDI].0 -0001955f: goto %00013c5d - -00013c5d: -00013c6b: RCX := high:56[RCX].low:8[RBX] -00013c76: RSP := RSP - 8 -00013c7b: mem := mem with [RSP, el]:u64 <- 0x18000146A -00013c7d: call @sub_180001140 with return %00013c7f - -00013c7f: -00013c8f: #12582250 := low:8[RDI] -00013ca5: ZF := 0 = #12582250 -00013cab: when ~ZF goto %000139d1 -0001955e: goto %00013caf - -000139d1: -000139e1: RAX := 0 -0001955d: goto %000139f5 - -00013caf: -00013cb8: RSP := RSP - 8 -00013cbd: mem := mem with [RSP, el]:u64 <- 0x180001474 -00013cbf: call @sub_180001109 with return %00013cc1 - -00013cc1: -00013cc7: RBX := RAX -00013ce5: #12582248 := mem[RAX, el]:u64 -00013d05: ZF := 0 = #12582248 -00013d0c: when ZF goto %00013d09 -0001955c: goto %00013d53 - -00013d53: -00013d59: RCX := RAX -00013d64: RSP := RSP - 8 -00013d69: mem := mem with [RSP, el]:u64 <- 0x180001485 -00013d6b: call @sub_18000108c with return %00013d6d - -00013d6d: -00013d7d: #12582244 := low:8[RAX] -00013d93: ZF := 0 = #12582244 -00013d99: when ZF goto %00013d09 -0001955b: goto %00013d9d - -00013d9d: -00013da3: R8 := RSI -00013da9: RDX := 2 -00013db1: RCX := R14 -00013dbb: RAX := mem[RBX, el]:u64 -00013dc3: R9 := mem[0x18000B020, el]:u64 -00013dd1: #12582242 := R9 -00013dd5: RSP := RSP - 8 -00013dda: mem := mem with [RSP, el]:u64 <- 0x1800014A1 -00013ddd: call #12582242 with return %00013d09 - -00013d09: -00013d2d: mem := +00013bf6: +00013bf8: call @interrupt:#3 with noreturn + +00013bfa: +00013bfc: call @interrupt:#3 with noreturn + +00013bfe: +00013c00: call @interrupt:#3 with noreturn + +00013c02: +00013c04: call @interrupt:#3 with noreturn + +00013c06: +00013c08: call @interrupt:#3 with noreturn + +00013c0a: +00013c0c: call @interrupt:#3 with noreturn +000195c4: call @sub_180001514 with noreturn + +00013c7a: +00013c80: mem := mem with [0x1800081B8, el]:u32 <- 1 +00013c8b: RSP := RSP - 8 +00013c90: mem := mem with [RSP, el]:u64 <- 0x18000140C +00013c92: call @sub_180001019 with return %00013c94 + +00013c94: +00013ca4: #12582252 := low:8[RAX] +00013ca7: OF := 0 +00013caa: CF := 0 +00013cad: AF := unknown[bits]:u1 +00013cb2: PF := + ~low:1[let $0 = #12582252 >> 4 ^ #12582252 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013cb6: SF := high:1[#12582252] +00013cba: ZF := 0 = #12582252 +00013cc1: when ZF goto %00013cbe +000195c3: goto %00013e40 + +00013e40: +00013e49: RSP := RSP - 8 +00013e4e: mem := mem with [RSP, el]:u64 <- 0x180001415 +00013e50: call @sub_1800010cd with return %00013e52 + +00013e52: +00013e5b: RSP := RSP - 8 +00013e60: mem := mem with [RSP, el]:u64 <- 0x18000141A +00013e62: call @sub_180001041 with return %00013e64 + +00013e64: +00013e6d: RSP := RSP - 8 +00013e72: mem := mem with [RSP, el]:u64 <- 0x18000141F +00013e74: call @sub_180001127 with return %00013e76 + +00013e76: +00013e7a: RDX := 0x180006330 +00013e80: RCX := 0x180006220 +00013e8b: RSP := RSP - 8 +00013e90: mem := mem with [RSP, el]:u64 <- 0x180001432 +00013e92: call @sub_18000275e with return %00013e94 + +00013e94: +00013ea4: #12582241 := low:32[RAX] +00013ea7: OF := 0 +00013eaa: CF := 0 +00013ead: AF := unknown[bits]:u1 +00013eb2: PF := + ~low:1[let $0 = #12582241 >> 4 ^ #12582241 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013eb6: SF := high:1[#12582241] +00013eba: ZF := 0 = #12582241 +00013ec0: when ~ZF goto %00013cbe +000195c2: goto %00013ec4 + +00013ec4: +00013ecd: RSP := RSP - 8 +00013ed2: mem := mem with [RSP, el]:u64 <- 0x18000143B +00013ed4: call @sub_18000113b with return %00013ed6 + +00013ed6: +00013ee6: #12582239 := low:8[RAX] +00013ee9: OF := 0 +00013eec: CF := 0 +00013eef: AF := unknown[bits]:u1 +00013ef4: PF := + ~low:1[let $0 = #12582239 >> 4 ^ #12582239 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013ef8: SF := high:1[#12582239] +00013efc: ZF := 0 = #12582239 +00013f02: when ZF goto %00013cbe +000195c1: goto %00013f06 + +00013f06: +00013f0a: RDX := 0x180006110 +00013f10: RCX := 0x180006000 +00013f1b: RSP := RSP - 8 +00013f20: mem := mem with [RSP, el]:u64 <- 0x180001452 +00013f22: call @sub_180002758 with return %00013f24 + +00013f24: +00013f2a: mem := mem with [0x1800081B8, el]:u32 <- 2 +00013f38: RDI := 63:8[RDI].0 +00013f3b: AF := unknown[bits]:u1 +00013f3e: ZF := 1 +00013f41: PF := 1 +00013f44: OF := 0 +00013f47: CF := 0 +00013f4a: SF := 0 +000195c0: goto %00013cbe + +00013cbe: +00013ccc: RCX := high:56[RCX].low:8[RBX] +00013cd7: RSP := RSP - 8 +00013cdc: mem := mem with [RSP, el]:u64 <- 0x180001466 +00013cde: call @sub_180001140 with return %00013ce0 + +00013ce0: +00013cf0: #12582250 := low:8[RDI] +00013cf3: OF := 0 +00013cf6: CF := 0 +00013cf9: AF := unknown[bits]:u1 +00013cfe: PF := + ~low:1[let $0 = #12582250 >> 4 ^ #12582250 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013d02: SF := high:1[#12582250] +00013d06: ZF := 0 = #12582250 +00013d0c: when ~ZF goto %00013a32 +000195bf: goto %00013d10 + +00013a32: +00013a42: RAX := 0 +00013a45: AF := unknown[bits]:u1 +00013a48: ZF := 1 +00013a4b: PF := 1 +00013a4e: OF := 0 +00013a51: CF := 0 +00013a54: SF := 0 +000195be: goto %00013a56 + +00013d10: +00013d19: RSP := RSP - 8 +00013d1e: mem := mem with [RSP, el]:u64 <- 0x180001470 +00013d20: call @sub_180001109 with return %00013d22 + +00013d22: +00013d28: RBX := RAX +00013d46: #12582248 := mem[RAX, el]:u64 +00013d4b: CF := mem[RAX, el]:u64 < 0 +00013d53: OF := high:1[mem[RAX, el]:u64 & (mem[RAX, el]:u64 ^ #12582248)] +00013d59: AF := 0x10 = (0x10 & (#12582248 ^ mem[RAX, el]:u64)) +00013d5e: PF := + ~low:1[let $0 = #12582248 >> 4 ^ #12582248 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013d62: SF := high:1[#12582248] +00013d66: ZF := 0 = #12582248 +00013d6d: when ZF goto %00013d6a + +00013db4: +00013dba: RCX := RAX +00013dc5: RSP := RSP - 8 +00013dca: mem := mem with [RSP, el]:u64 <- 0x180001481 +00013dcc: call @sub_18000108c with return %00013dce + +00013dce: +00013dde: #12582244 := low:8[RAX] +00013de1: OF := 0 +00013de4: CF := 0 +00013de7: AF := unknown[bits]:u1 +00013dec: PF := + ~low:1[let $0 = #12582244 >> 4 ^ #12582244 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013df0: SF := high:1[#12582244] +00013df4: ZF := 0 = #12582244 +00013dfa: when ZF goto %00013d6a +000195bc: goto %00013dfe + +00013dfe: +00013e04: R8 := RSI +00013e0a: RDX := 2 +00013e12: RCX := R14 +00013e1c: RAX := mem[RBX, el]:u64 +00013e24: R9 := mem[0x18000B020, el]:u64 +00013e32: #12582242 := R9 +00013e36: RSP := RSP - 8 +00013e3b: mem := mem with [RSP, el]:u64 <- 0x18000149D +00013e3e: call #12582242 with return %00013d6a + +00013d6a: +00013d89: #12582246 := mem[0x180008170, el]:u32 +00013d8e: mem := mem with [0x180008170, el]:u32 <- mem[0x180008170, el]:u32 + 1 -00013d4d: RAX := 1 -00013d51: goto %000139f5 - -000139f5: -000139fd: RBX := mem[RSP + 0x30, el]:u64 -00013a07: RSI := mem[RSP + 0x38, el]:u64 -00013a11: RDI := mem[RSP + 0x48, el]:u64 -00013a32: RSP := RSP + 0x20 -00013a5d: R14 := mem[RSP, el]:u64 -00013a61: RSP := RSP + 8 -00013a6e: #12582255 := mem[RSP, el]:u64 -00013a72: RSP := RSP + 8 -00013a75: call #12582255 with noreturn - -00013f79: -00013f95: RDX := pad:64[low:32[RDX] - 1] -00013fb1: ZF := 0 = low:32[RDX] -00013fb8: when ZF goto %00013fb5 -0001955a: goto %00014029 - -00013fb5: -00013fc4: RSP := RSP - 8 -00013fc9: mem := mem with [RSP, el]:u64 <- 0x180001385 -00013fcb: call @sub_18000111d with return %00013fcd - -00014029: -0001403f: #12582224 := low:32[RDX] - 1 -0001405b: ZF := 0 = #12582224 -00014062: when ZF goto %0001405f -00019559: goto %0001407b - -0001405f: -0001406e: RSP := RSP - 8 -00014073: mem := mem with [RSP, el]:u64 <- 0x18000137E -00014075: call @sub_180001177 with return %00014077 - -00014077: -00014079: goto %00013fcd - -00013fcd: -00013fd3: RAX := pad:64[low:8[RAX]] -00013ff4: RSP := RSP + 0x28 -00014020: #12582225 := mem[RSP, el]:u64 -00014024: RSP := RSP + 8 -00014027: call #12582225 with noreturn - -0001407b: -0001407f: RAX := 1 -000140a0: RSP := RSP + 0x28 -000140cc: #12582219 := mem[RSP, el]:u64 -000140d0: RSP := RSP + 8 -000140d3: call #12582219 with noreturn - -00019568: sub sub_180001518(sub_180001518_result) -000195c3: sub_180001518_result :: out u32 = low:32[RAX] - -00012ba0: -00012bad: mem := mem with [RSP + 8, el]:u64 <- RBX -00012bbb: #12582302 := RDI -00012bbf: RSP := RSP - 8 -00012bc5: mem := mem with [RSP, el]:u64 <- #12582302 -00012be3: RSP := RSP - 0x30 -00012c09: RDI := high:56[RDI].low:8[RCX] -00012c11: RAX := pad:64[mem[0x180008170, el]:u32] -00012c23: #12582298 := low:32[RAX] -00012c35: SF := high:1[#12582298] -00012c39: ZF := 0 = #12582298 -00012c48: when ~(ZF | SF) goto %00012c41 -0001956c: goto %00013883 - -00012c41: -00012c65: RAX := pad:64[low:32[RAX] - 1] -00012c87: mem := mem with [0x180008170, el]:u32 <- low:32[RAX] -00012c92: RSP := RSP - 8 -00012c97: mem := mem with [RSP, el]:u64 <- 0x180001549 -00012c99: call @sub_180001154 with return %00012c9b - -00012c9b: -00012ca3: RBX := high:56[RBX].low:8[RAX] -00012caf: mem := mem with [RSP + 0x20] <- low:8[RAX] -00012cc7: #12582294 := mem[0x1800081B8, el]:u32 - 2 -00012ce3: ZF := 0 = #12582294 -00012cea: when ~ZF goto %00012ce7 -0001956b: goto %00012d9d - -00012ce7: -00012cf1: RCX := 7 -00012cfc: RSP := RSP - 8 -00012d01: mem := mem with [RSP, el]:u64 <- 0x180001599 -00012d03: call @sub_18000114a with return %00012d05 - -00012d05: -00012d0b: call @interrupt:#3 with noreturn - -00012d0d: -00012d0f: call @interrupt:#3 with noreturn - -00012d11: -00012d13: call @interrupt:#3 with noreturn - -00012d15: -00012d17: call @interrupt:#3 with noreturn - -00012d19: -00012d1b: call @interrupt:#3 with noreturn - -00012d1d: -00012d1f: call @interrupt:#3 with noreturn - -00012d21: -00012d23: call @interrupt:#3 with noreturn - -00012d25: -00012d27: call @interrupt:#3 with noreturn - -00012d29: -00012d2b: call @interrupt:#3 with noreturn - -00012d2d: -00012d2f: call @interrupt:#3 with noreturn - -00012d31: -00012d33: call @interrupt:#3 with noreturn - -00012d35: -00012d37: call @interrupt:#3 with noreturn - -00012d39: -00012d3b: call @interrupt:#3 with noreturn - -00012d3d: -00012d3f: call @interrupt:#3 with noreturn - -00012d41: -00012d43: call @interrupt:#3 with noreturn - -00012d45: -00012d47: call @interrupt:#3 with noreturn - -00012d49: -00012d4b: call @interrupt:#3 with noreturn - -00012d4d: -00012d4f: call @interrupt:#3 with noreturn - -00012d51: -00012d53: call @interrupt:#3 with noreturn - -00012d55: -00012d57: call @interrupt:#3 with noreturn - -00012d59: -00012d5b: call @interrupt:#3 with noreturn - -00012d5d: -00012d5f: call @interrupt:#3 with noreturn - -00012d61: -00012d63: call @interrupt:#3 with noreturn +00013d96: OF := ~high:1[#12582246] & + (high:1[#12582246] | high:1[mem[0x180008170, el]:u32]) & + ~(high:1[#12582246] & high:1[mem[0x180008170, el]:u32]) +00013d9b: AF := 0x10 = (0x10 & (mem[0x180008170, el]:u32 ^ #12582246 ^ 1)) +00013da0: PF := + ~low:1[let $0 = mem[0x180008170, el]:u32 >> 4 ^ + mem[0x180008170, el]:u32 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013da4: SF := high:1[mem[0x180008170, el]:u32] +00013da8: ZF := 0 = mem[0x180008170, el]:u32 +00013dae: RAX := 1 +00013db2: goto %00013a56 + +00013a56: +00013a5e: RBX := mem[RSP + 0x30, el]:u64 +00013a68: RSI := mem[RSP + 0x38, el]:u64 +00013a72: RDI := mem[RSP + 0x48, el]:u64 +00013a8f: #12582258 := RSP +00013a93: RSP := RSP + 0x20 +00013a98: CF := RSP < #12582258 +00013aa0: OF := ~high:1[#12582258] & (high:1[#12582258] | high:1[RSP]) & + ~(high:1[#12582258] & high:1[RSP]) +00013aa5: AF := 0x10 = (0x10 & (RSP ^ #12582258 ^ 0x20)) +00013aaa: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013aae: SF := high:1[RSP] +00013ab2: ZF := 0 = RSP +00013abe: R14 := mem[RSP, el]:u64 +00013ac2: RSP := RSP + 8 +00013acf: #12582255 := mem[RSP, el]:u64 +00013ad3: RSP := RSP + 8 +00013ad6: call #12582255 with noreturn + +00013fda: +00013ff2: #12582231 := low:32[RDX] +00013ff6: RDX := pad:64[low:32[RDX] - 1] +00013ffa: CF := #12582231 < 1 +00014000: OF := high:1[(#12582231 ^ 1) & (#12582231 ^ low:32[RDX])] +00014005: AF := 0x10 = (0x10 & (low:32[RDX] ^ #12582231 ^ 1)) +0001400a: PF := + ~low:1[let $0 = low:32[RDX] >> 4 ^ low:32[RDX] in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +0001400e: SF := high:1[low:32[RDX]] +00014012: ZF := 0 = low:32[RDX] +00014019: when ZF goto %00014016 +000195bb: goto %0001408a + +00014016: +00014025: RSP := RSP - 8 +0001402a: mem := mem with [RSP, el]:u64 <- 0x180001381 +0001402c: call @sub_18000111d with return %0001402e + +0001408a: +000140a0: #12582224 := low:32[RDX] - 1 +000140a4: CF := low:32[RDX] < 1 +000140aa: OF := high:1[(low:32[RDX] ^ 1) & (low:32[RDX] ^ #12582224)] +000140af: AF := 0x10 = (0x10 & (#12582224 ^ low:32[RDX] ^ 1)) +000140b4: PF := + ~low:1[let $0 = #12582224 >> 4 ^ #12582224 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +000140b8: SF := high:1[#12582224] +000140bc: ZF := 0 = #12582224 +000140c3: when ZF goto %000140c0 +000195ba: goto %000140dc + +000140c0: +000140cf: RSP := RSP - 8 +000140d4: mem := mem with [RSP, el]:u64 <- 0x18000137A +000140d6: call @sub_180001177 with return %000140d8 + +000140d8: +000140da: goto %0001402e + +0001402e: +00014034: RAX := pad:64[low:8[RAX]] +00014051: #12582228 := RSP +00014055: RSP := RSP + 0x28 +0001405a: CF := RSP < #12582228 +00014062: OF := ~high:1[#12582228] & (high:1[#12582228] | high:1[RSP]) & + ~(high:1[#12582228] & high:1[RSP]) +00014067: AF := 0x10 = (0x10 & (RSP ^ #12582228 ^ 0x28)) +0001406c: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00014070: SF := high:1[RSP] +00014074: ZF := 0 = RSP +00014081: #12582225 := mem[RSP, el]:u64 +00014085: RSP := RSP + 8 +00014088: call #12582225 with noreturn + +000140dc: +000140e0: RAX := 1 +000140fd: #12582222 := RSP +00014101: RSP := RSP + 0x28 +00014106: CF := RSP < #12582222 +0001410e: OF := ~high:1[#12582222] & (high:1[#12582222] | high:1[RSP]) & + ~(high:1[#12582222] & high:1[RSP]) +00014113: AF := 0x10 = (0x10 & (RSP ^ #12582222 ^ 0x28)) +00014118: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +0001411c: SF := high:1[RSP] +00014120: ZF := 0 = RSP +0001412d: #12582219 := mem[RSP, el]:u64 +00014131: RSP := RSP + 8 +00014134: call #12582219 with noreturn + +000195c9: sub sub_180001514(sub_180001514_result) +00019624: sub_180001514_result :: out u32 = low:32[RAX] + +00012c00: +00012c0d: mem := mem with [RSP + 8, el]:u64 <- RBX +00012c1b: #12582302 := RDI +00012c1f: RSP := RSP - 8 +00012c25: mem := mem with [RSP, el]:u64 <- #12582302 +00012c43: RSP := RSP - 0x30 +00012c69: RDI := high:56[RDI].low:8[RCX] +00012c71: RAX := pad:64[mem[0x180008170, el]:u32] +00012c83: #12582298 := low:32[RAX] +00012c95: SF := high:1[#12582298] +00012c99: ZF := 0 = #12582298 +00012ca8: when ~(ZF | SF) goto %00012ca1 +000195cd: goto %000138e4 + +00012ca1: +00012cc5: RAX := pad:64[low:32[RAX] - 1] +00012ce7: mem := mem with [0x180008170, el]:u32 <- low:32[RAX] +00012cf2: RSP := RSP - 8 +00012cf7: mem := mem with [RSP, el]:u64 <- 0x180001545 +00012cf9: call @sub_180001154 with return %00012cfb + +00012cfb: +00012d03: RBX := high:56[RBX].low:8[RAX] +00012d0f: mem := mem with [RSP + 0x20] <- low:8[RAX] +00012d27: #12582294 := mem[0x1800081B8, el]:u32 - 2 +00012d43: ZF := 0 = #12582294 +00012d4a: when ~ZF goto %00012d47 +000195cc: goto %00012dfd + +00012d47: +00012d51: RCX := 7 +00012d5c: RSP := RSP - 8 +00012d61: mem := mem with [RSP, el]:u64 <- 0x180001595 +00012d63: call @sub_18000114a with return %00012d65 00012d65: -00012d67: call @interrupt:#3 with noreturn - -00012d69: 00012d6b: call @interrupt:#3 with noreturn 00012d6d: @@ -2196,509 +2398,750 @@ 00012d9b: call @interrupt:#3 with noreturn 00012d9d: -00012da7: RSP := RSP - 8 -00012dac: mem := mem with [RSP, el]:u64 <- 0x18000155D -00012dae: call @sub_180001181 with return %00013511 - -00013511: -0001351a: RSP := RSP - 8 -0001351f: mem := mem with [RSP, el]:u64 <- 0x180001562 -00013521: call @sub_18000110e with return %00013523 - -00013523: -0001352c: RSP := RSP - 8 -00013531: mem := mem with [RSP, el]:u64 <- 0x180001567 -00013533: call @sub_1800010d7 with return %00013535 - -00013535: -00013545: mem := mem with [0x1800081B8, el]:u32 <- 0 -00013565: RCX := high:56[RCX].low:8[RBX] -00013570: RSP := RSP - 8 -00013575: mem := mem with [RSP, el]:u64 <- 0x180001575 -00013577: call @sub_180001140 with return %00013579 - -00013579: -00013583: RDX := 0 -0001359f: RCX := high:56[RCX].low:8[RDI] -000135ab: RSP := RSP - 8 -000135b0: mem := mem with [RSP, el]:u64 <- 0x18000157F -000135b2: call @sub_180001082 with return %00013745 - -00013745: -0001375c: #12582274 := low:8[RAX] -00013761: RAX := 63:8[RAX].-low:8[RAX] -00013765: CF := #12582274 <> 0 -000137a0: #12582272 := low:32[RBX] -000137a4: #12582271 := low:32[RBX] -000137aa: RBX := pad:64[#12582271 - #12582272 + pad:32[CF]] -000137df: RBX := pad:64[low:32[RBX] & 1] -00013800: RSP := RSP - 8 -00013805: mem := mem with [RSP, el]:u64 <- 0x18000158B -00013807: call @sub_180001118 with return %00013809 - -00013809: -0001380f: RAX := pad:64[low:32[RBX]] -00013814: goto %00013812 - -00013883: -0001388d: RAX := 0 -00019569: goto %00013812 - -00013812: -0001381d: RBX := mem[RSP + 0x40, el]:u64 -0001383e: RSP := RSP + 0x30 -00013869: RDI := mem[RSP, el]:u64 -0001386d: RSP := RSP + 8 -0001387a: #12582265 := mem[RSP, el]:u64 -0001387e: RSP := RSP + 8 -00013881: call #12582265 with noreturn - -0001956d: sub sub_1800015c0(sub_1800015c0_result) -000195c4: sub_1800015c0_result :: out u32 = low:32[RAX] - -00004b2f: -00004b38: RAX := RSP -00004b44: mem := mem with [RAX + 0x20, el]:u64 <- RBX -00004b50: mem := mem with [RAX + 0x18, el]:u64 <- R8 -00004b5c: mem := mem with [RAX + 0x10, el]:u32 <- low:32[RDX] -00004b68: mem := mem with [RAX + 8, el]:u64 <- RCX -00004b76: #12582902 := RSI -00004b7a: RSP := RSP - 8 -00004b80: mem := mem with [RSP, el]:u64 <- #12582902 -00004b8e: #12582901 := RDI -00004b92: RSP := RSP - 8 -00004b98: mem := mem with [RSP, el]:u64 <- #12582901 -00004ba6: #12582900 := R14 -00004baa: RSP := RSP - 8 -00004bb0: mem := mem with [RSP, el]:u64 <- #12582900 -00004bce: RSP := RSP - 0x40 -00004bf2: RSI := R8 -00004bfa: RDI := pad:64[low:32[RDX]] -00004c02: R14 := RCX -00004c14: #12582896 := low:32[RDX] -00004c2a: ZF := 0 = #12582896 -00004c31: when ~ZF goto %00004c2e -0001957c: goto %000190c9 - -000190c9: -000190e4: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX] -000190f0: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) & +00012d9f: call @interrupt:#3 with noreturn + +00012da1: +00012da3: call @interrupt:#3 with noreturn + +00012da5: +00012da7: call @interrupt:#3 with noreturn + +00012da9: +00012dab: call @interrupt:#3 with noreturn + +00012dad: +00012daf: call @interrupt:#3 with noreturn + +00012db1: +00012db3: call @interrupt:#3 with noreturn + +00012db5: +00012db7: call @interrupt:#3 with noreturn + +00012db9: +00012dbb: call @interrupt:#3 with noreturn + +00012dbd: +00012dbf: call @interrupt:#3 with noreturn + +00012dc1: +00012dc3: call @interrupt:#3 with noreturn + +00012dc5: +00012dc7: call @interrupt:#3 with noreturn + +00012dc9: +00012dcb: call @interrupt:#3 with noreturn + +00012dcd: +00012dcf: call @interrupt:#3 with noreturn + +00012dd1: +00012dd3: call @interrupt:#3 with noreturn + +00012dd5: +00012dd7: call @interrupt:#3 with noreturn + +00012dd9: +00012ddb: call @interrupt:#3 with noreturn + +00012ddd: +00012ddf: call @interrupt:#3 with noreturn + +00012de1: +00012de3: call @interrupt:#3 with noreturn + +00012de5: +00012de7: call @interrupt:#3 with noreturn + +00012de9: +00012deb: call @interrupt:#3 with noreturn + +00012ded: +00012def: call @interrupt:#3 with noreturn + +00012df1: +00012df3: call @interrupt:#3 with noreturn + +00012df5: +00012df7: call @interrupt:#3 with noreturn + +00012df9: +00012dfb: call @interrupt:#3 with noreturn +000195cb: call @sub_1800015bc with noreturn + +00012dfd: +00012e07: RSP := RSP - 8 +00012e0c: mem := mem with [RSP, el]:u64 <- 0x180001559 +00012e0e: call @sub_180001181 with return %00013572 + +00013572: +0001357b: RSP := RSP - 8 +00013580: mem := mem with [RSP, el]:u64 <- 0x18000155E +00013582: call @sub_18000110e with return %00013584 + +00013584: +0001358d: RSP := RSP - 8 +00013592: mem := mem with [RSP, el]:u64 <- 0x180001563 +00013594: call @sub_1800010d7 with return %00013596 + +00013596: +000135a6: mem := mem with [0x1800081B8, el]:u32 <- 0 +000135a9: OF := 0 +000135ac: CF := 0 +000135af: AF := unknown[bits]:u1 +000135b4: PF := + ~low:1[let $0 = mem[0x1800081B8, el]:u32 >> 4 ^ + mem[0x1800081B8, el]:u32 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +000135b8: SF := high:1[mem[0x1800081B8, el]:u32] +000135bc: ZF := 0 = mem[0x1800081B8, el]:u32 +000135c6: RCX := high:56[RCX].low:8[RBX] +000135d1: RSP := RSP - 8 +000135d6: mem := mem with [RSP, el]:u64 <- 0x180001571 +000135d8: call @sub_180001140 with return %000135da + +000135da: +000135e4: RDX := 0 +000135e7: AF := unknown[bits]:u1 +000135ea: ZF := 1 +000135ed: PF := 1 +000135f0: OF := 0 +000135f3: CF := 0 +000135f6: SF := 0 +00013600: RCX := high:56[RCX].low:8[RDI] +0001360c: RSP := RSP - 8 +00013611: mem := mem with [RSP, el]:u64 <- 0x18000157B +00013613: call @sub_180001082 with return %000137a6 + +000137a6: +000137bd: #12582274 := low:8[RAX] +000137c2: RAX := 63:8[RAX].-low:8[RAX] +000137c6: CF := #12582274 <> 0 +000137ca: OF := #12582274 = 0x80 +000137cf: AF := 0x10 = (0x10 & (low:8[RAX] ^ #12582274)) +000137d4: PF := + ~low:1[let $0 = low:8[RAX] >> 4 ^ low:8[RAX] in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +000137d8: SF := high:1[low:8[RAX]] +000137dc: ZF := 0 = low:8[RAX] +00013801: #12582272 := low:32[RBX] +00013805: #12582271 := low:32[RBX] +00013812: OF := high:1[(#12582272 ^ #12582271) & (#12582271 ^ low:32[RBX])] +0001381b: CF := #12582271 < #12582272 + pad:32[CF] | #12582272 + pad:32[CF] < + #12582272 +00013821: AF := 0x10 = (0x10 & (low:32[RBX] ^ #12582272 ^ #12582271)) +00013826: PF := + ~low:1[let $0 = low:32[RBX] >> 4 ^ low:32[RBX] in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +0001382a: SF := high:1[low:32[RBX]] +0001382e: ZF := 0 = low:32[RBX] +00013840: RBX := pad:64[low:32[RBX] & 1] +00013843: OF := 0 +00013846: CF := 0 +00013849: AF := unknown[bits]:u1 +0001384e: PF := + ~low:1[let $0 = low:32[RBX] >> 4 ^ low:32[RBX] in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00013852: SF := high:1[low:32[RBX]] +00013856: ZF := 0 = low:32[RBX] +00013861: RSP := RSP - 8 +00013866: mem := mem with [RSP, el]:u64 <- 0x180001587 +00013868: call @sub_180001118 with return %0001386a + +0001386a: +00013870: RAX := pad:64[low:32[RBX]] +00013875: goto %00013873 + +000138e4: +000138ee: RAX := 0 +000138f1: AF := unknown[bits]:u1 +000138f4: ZF := 1 +000138f7: PF := 1 +000138fa: OF := 0 +000138fd: CF := 0 +00013900: SF := 0 +000195ca: goto %00013873 + +00013873: +0001387e: RBX := mem[RSP + 0x40, el]:u64 +0001389b: #12582268 := RSP +0001389f: RSP := RSP + 0x30 +000138a4: CF := RSP < #12582268 +000138ac: OF := ~high:1[#12582268] & (high:1[#12582268] | high:1[RSP]) & + ~(high:1[#12582268] & high:1[RSP]) +000138b1: AF := 0x10 = (0x10 & (RSP ^ #12582268 ^ 0x30)) +000138b6: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +000138ba: SF := high:1[RSP] +000138be: ZF := 0 = RSP +000138ca: RDI := mem[RSP, el]:u64 +000138ce: RSP := RSP + 8 +000138db: #12582265 := mem[RSP, el]:u64 +000138df: RSP := RSP + 8 +000138e2: call #12582265 with noreturn + +000195ce: sub sub_1800015bc(sub_1800015bc_result) +00019625: sub_1800015bc_result :: out u32 = low:32[RAX] + +00004b3f: +00004b48: RAX := RSP +00004b54: mem := mem with [RAX + 0x20, el]:u64 <- RBX +00004b60: mem := mem with [RAX + 0x18, el]:u64 <- R8 +00004b6c: mem := mem with [RAX + 0x10, el]:u32 <- low:32[RDX] +00004b78: mem := mem with [RAX + 8, el]:u64 <- RCX +00004b86: #12582902 := RSI +00004b8a: RSP := RSP - 8 +00004b90: mem := mem with [RSP, el]:u64 <- #12582902 +00004b9e: #12582901 := RDI +00004ba2: RSP := RSP - 8 +00004ba8: mem := mem with [RSP, el]:u64 <- #12582901 +00004bb6: #12582900 := R14 +00004bba: RSP := RSP - 8 +00004bc0: mem := mem with [RSP, el]:u64 <- #12582900 +00004bde: RSP := RSP - 0x40 +00004c02: RSI := R8 +00004c0a: RDI := pad:64[low:32[RDX]] +00004c12: R14 := RCX +00004c24: #12582896 := low:32[RDX] +00004c3a: ZF := 0 = #12582896 +00004c41: when ~ZF goto %00004c3e +000195dd: goto %0001912a + +0001912a: +00019145: #12582123 := mem[0x180008170, el]:u32 - low:32[RDX] +0001914a: CF := mem[0x180008170, el]:u32 < low:32[RDX] +00019151: OF := high:1[(mem[0x180008170, el]:u32 ^ low:32[RDX]) & (mem[0x180008170, el]:u32 ^ #12582123)] -000190ff: SF := high:1[#12582123] -00019103: ZF := 0 = #12582123 -00019111: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c2e -0001957b: goto %00019115 - -00004c2e: -00004c3a: RAX := pad:64[low:32[RDX - 1]] -00004c52: #12582894 := low:32[RAX] - 1 -00004c56: CF := low:32[RAX] < 1 -00004c6e: ZF := 0 = #12582894 -00004c77: when ~(CF | ZF) goto %00004c73 -0001957a: goto %00018fb7 - -00018fb7: -00018fbd: RAX := mem[0x180006880, el]:u64 -00018fcf: #12582130 := RAX -00018fe5: ZF := 0 = #12582130 -00018fec: when ~ZF goto %00018fe9 -00019579: goto %000190bb - -00018fe9: -00018ffb: #12582128 := mem[0x18000B020, el]:u64 -00018fff: RSP := RSP - 8 -00019004: mem := mem with [RSP, el]:u64 <- 0x180001619 -00019007: call #12582128 with return %00019009 - -00019009: -0001900f: RBX := pad:64[low:32[RAX]] -0001901b: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] -0001902d: #12582127 := low:32[RAX] -00019043: ZF := 0 = #12582127 -00019049: when ZF goto %00018b37 -00019578: goto %0001904d - -000190bb: -000190c3: mem := mem with [RSP + 0x30, el]:u32 <- 1 -000190c7: goto %0001904d - -0001904d: -00019053: R8 := RSI -0001905b: RDX := pad:64[low:32[RDI]] -00019063: RCX := R14 -0001906e: RSP := RSP - 8 -00019073: mem := mem with [RSP, el]:u64 <- 0x180001634 -00019075: call @sub_180001358 with return %00019077 - -00019077: -0001907d: RBX := pad:64[low:32[RAX]] -00019089: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] -0001909b: #12582125 := low:32[RAX] -000190b1: ZF := 0 = #12582125 -000190b7: when ZF goto %00018b37 -00019577: goto %00004c73 - -00004c73: -00004c80: R8 := RSI -00004c88: RDX := pad:64[low:32[RDI]] -00004c90: RCX := R14 -00004c9c: RSP := RSP - 8 -00004ca1: mem := mem with [RSP, el]:u64 <- 0x18000164F -00004ca3: call @sub_1800010b4 with return %00018a4f - -00018a4f: -00018a55: RBX := pad:64[low:32[RAX]] -00018a61: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] -00018a79: #12582155 := low:32[RDI] - 1 -00018a95: ZF := 0 = #12582155 -00018a9c: when ~ZF goto %00018a99 -00019576: goto %00018e83 - -00018e83: -00018e93: #12582137 := low:32[RAX] -00018ea9: ZF := 0 = #12582137 -00018eaf: when ~ZF goto %00018a99 -00019575: goto %00018eb3 - -00018eb3: -00018eb9: R8 := RSI -00018ec5: RDX := 0 -00018edf: RCX := R14 -00018eea: RSP := RSP - 8 -00018eef: mem := mem with [RSP, el]:u64 <- 0x18000166B -00018ef1: call @sub_1800010b4 with return %00018ef3 - -00018ef3: -00018f03: #12582135 := RSI -00018f19: ZF := 0 = #12582135 -00018f23: RCX := 63:8[RCX].pad:8[~ZF] -00018f2e: RSP := RSP - 8 -00018f33: mem := mem with [RSP, el]:u64 <- 0x180001676 -00018f35: call @sub_180001518 with return %00018f37 - -00018f37: -00018f3d: RAX := mem[0x180006880, el]:u64 -00018f4f: #12582133 := RAX -00018f65: ZF := 0 = #12582133 -00018f6b: when ZF goto %00018a99 -00019574: goto %00018f6f - -00018f6f: -00018f75: R8 := RSI -00018f81: RDX := 0 -00018f9b: RCX := R14 -00018fa9: #12582131 := mem[0x18000B020, el]:u64 -00018fad: RSP := RSP - 8 -00018fb2: mem := mem with [RSP, el]:u64 <- 0x180001690 -00018fb5: call #12582131 with return %00018a99 - -00018a99: -00018aaf: #12582153 := low:32[RDI] -00018ac5: ZF := 0 = #12582153 -00018acc: when ZF goto %00018ac9 -00019573: goto %00018e47 - -00018e47: -00018e5d: #12582139 := low:32[RDI] - 3 -00018e79: ZF := 0 = #12582139 -00018e7f: when ~ZF goto %00018b37 -00019572: goto %00018ac9 - -00018ac9: -00018ad5: R8 := RSI -00018add: RDX := pad:64[low:32[RDI]] -00018ae5: RCX := R14 -00018af0: RSP := RSP - 8 -00018af5: mem := mem with [RSP, el]:u64 <- 0x1800016A6 -00018af7: call @sub_180001358 with return %00018af9 - -00018af9: -00018aff: RBX := pad:64[low:32[RAX]] -00018b0b: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] -00018b1d: #12582151 := low:32[RAX] -00018b33: ZF := 0 = #12582151 -00018b3a: when ZF goto %00018b37 -00019571: goto %00018db1 - -00018db1: -00018db7: RAX := mem[0x180006880, el]:u64 -00018dc9: #12582142 := RAX -00018ddf: ZF := 0 = #12582142 -00018de6: when ~ZF goto %00018de3 -00019570: goto %00018e2f - -00018de3: -00018def: R8 := RSI -00018df7: RDX := pad:64[low:32[RDI]] -00018dff: RCX := R14 -00018e0d: #12582140 := mem[0x18000B020, el]:u64 -00018e11: RSP := RSP - 8 -00018e16: mem := mem with [RSP, el]:u64 <- 0x1800016D3 -00018e19: call #12582140 with return %00018e1b - -00018e1b: -00018e21: RBX := pad:64[low:32[RAX]] -00018e2d: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] -0001956f: goto %00018b37 - -00018e2f: -00018e35: RBX := pad:64[low:32[RAX + 1]] -00018e41: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX] -00018e45: goto %00018b37 - -00018b37: -00018b40: goto %00018b3e - -00018b3e: -00018b47: RAX := pad:64[low:32[RBX]] -0001956e: goto %00018b49 - -00019115: -0001911f: RAX := 0 -00019135: goto %00018b49 - -00018b49: -00018b51: RBX := mem[RSP + 0x78, el]:u64 -00018b72: RSP := RSP + 0x40 -00018b9d: R14 := mem[RSP, el]:u64 -00018ba1: RSP := RSP + 8 -00018bad: RDI := mem[RSP, el]:u64 -00018bb1: RSP := RSP + 8 -00018bbd: RSI := mem[RSP, el]:u64 -00018bc1: RSP := RSP + 8 -00018bce: #12582146 := mem[RSP, el]:u64 -00018bd2: RSP := RSP + 8 -00018bd5: call #12582146 with noreturn - -0001957d: sub sub_180001d3c(sub_180001d3c_result) -000195c5: sub_180001d3c_result :: out u32 = low:32[RAX] - -0000d696: -0000d6b5: RSP := RSP - 0x18 -0000d6d9: R8 := RCX -0000d6df: RAX := 0x5A4D -0000d6fc: #12582860 := mem[0x180000000, el]:u16 - 0x5A4D -0000d71b: ZF := 0 = #12582860 -0000d722: when ~ZF goto %0000d71f -00019587: goto %0000d85d - -0000d85d: -0000d863: RCX := extend:64[mem[0x18000003C, el]:u32] -0000d869: RDX := 0x180000000 -0000d894: RCX := RCX + 0x180000000 -0000d8d3: #12582851 := mem[RCX, el]:u32 - 0x4550 -0000d8f3: ZF := 0 = #12582851 -0000d8f9: when ~ZF goto %0000d71f -00019586: goto %0000d8fd - -0000d8fd: -0000d901: RAX := 0x20B -0000d924: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B -0000d947: ZF := 0 = #12582849 -0000d94d: when ~ZF goto %0000d71f -00019585: goto %0000d951 - -0000d71f: -0000d731: RAX := 63:8[RAX].0 -0000d748: goto %0000d746 - -0000d951: -0000d978: R8 := R8 - 0x180000000 -0000d9a1: RDX := pad:64[mem[RCX + 0x14, el]:u16] -0000d9c2: RDX := RDX + 0x18 -0000da07: #12582840 := RCX -0000da0c: RDX := RDX + #12582840 -0000da37: RAX := pad:64[mem[RCX + 6, el]:u16] -0000da41: RCX := RAX + (RAX << 2) -0000da4b: R9 := RDX + (RCX << 3) -00019584: goto %0000da4d - -0000da4d: -0000da57: mem := mem with [RSP, el]:u64 <- RDX -0000da74: #12582838 := RDX - R9 -0000da93: ZF := 0 = #12582838 -0000da9a: when ZF goto %0000da97 -00019583: goto %0000db8b - -0000da97: -0000daa7: RDX := 0 -00019582: goto %0000dabb - -0000db8b: -0000db93: RCX := pad:64[mem[RDX + 0xC, el]:u32] -0000dbb5: CF := R8 < RCX -0000dbd6: when CF goto %0000dbd3 -00019581: goto %0000dc1d - -0000dc1d: -0000dc25: RAX := pad:64[mem[RDX + 8, el]:u32] -0000dc4b: #12582826 := low:32[RCX] -0000dc50: RAX := pad:64[low:32[RAX] + #12582826] -0000dc93: CF := R8 < RAX -0000dcb3: when CF goto %0000dabb -00019580: goto %0000dbd3 - -0000dabb: -0000dacb: #12582836 := RDX -0000dae1: ZF := 0 = #12582836 -0000dae8: when ~ZF goto %0000dae5 -0001957f: goto %0000db67 - -0000dae5: -0000db07: #12582834 := mem[RDX + 0x24, el]:u32 -0000db14: OF := high:1[mem[RDX + 0x24, el]:u32 & +00019157: AF := 0x10 = + (0x10 & (#12582123 ^ mem[0x180008170, el]:u32 ^ low:32[RDX])) +0001915c: PF := + ~low:1[let $0 = #12582123 >> 4 ^ #12582123 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00019160: SF := high:1[#12582123] +00019164: ZF := 0 = #12582123 +00019172: when ~(ZF | (SF | OF) & ~(SF & OF)) goto %00004c3e +000195dc: goto %00019176 + +00004c3e: +00004c4a: RAX := pad:64[low:32[RDX - 1]] +00004c62: #12582894 := low:32[RAX] - 1 +00004c66: CF := low:32[RAX] < 1 +00004c7e: ZF := 0 = #12582894 +00004c87: when ~(CF | ZF) goto %00004c83 +000195db: goto %00019018 + +00019018: +0001901e: RAX := mem[0x180006880, el]:u64 +00019030: #12582130 := RAX +00019033: OF := 0 +00019036: CF := 0 +00019039: AF := unknown[bits]:u1 +0001903e: PF := + ~low:1[let $0 = #12582130 >> 4 ^ #12582130 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00019042: SF := high:1[#12582130] +00019046: ZF := 0 = #12582130 +0001904d: when ~ZF goto %0001904a +000195da: goto %0001911c + +0001904a: +0001905c: #12582128 := mem[0x18000B020, el]:u64 +00019060: RSP := RSP - 8 +00019065: mem := mem with [RSP, el]:u64 <- 0x180001615 +00019068: call #12582128 with return %0001906a + +0001906a: +00019070: RBX := pad:64[low:32[RAX]] +0001907c: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] +0001908e: #12582127 := low:32[RAX] +00019091: OF := 0 +00019094: CF := 0 +00019097: AF := unknown[bits]:u1 +0001909c: PF := + ~low:1[let $0 = #12582127 >> 4 ^ #12582127 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +000190a0: SF := high:1[#12582127] +000190a4: ZF := 0 = #12582127 +000190aa: when ZF goto %00018b98 +000195d9: goto %000190ae + +0001911c: +00019124: mem := mem with [RSP + 0x30, el]:u32 <- 1 +00019128: goto %000190ae + +000190ae: +000190b4: R8 := RSI +000190bc: RDX := pad:64[low:32[RDI]] +000190c4: RCX := R14 +000190cf: RSP := RSP - 8 +000190d4: mem := mem with [RSP, el]:u64 <- 0x180001630 +000190d6: call @sub_180001354 with return %000190d8 + +000190d8: +000190de: RBX := pad:64[low:32[RAX]] +000190ea: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] +000190fc: #12582125 := low:32[RAX] +000190ff: OF := 0 +00019102: CF := 0 +00019105: AF := unknown[bits]:u1 +0001910a: PF := + ~low:1[let $0 = #12582125 >> 4 ^ #12582125 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +0001910e: SF := high:1[#12582125] +00019112: ZF := 0 = #12582125 +00019118: when ZF goto %00018b98 +000195d8: goto %00004c83 + +00004c83: +00004c90: R8 := RSI +00004c98: RDX := pad:64[low:32[RDI]] +00004ca0: RCX := R14 +00004cac: RSP := RSP - 8 +00004cb1: mem := mem with [RSP, el]:u64 <- 0x18000164B +00004cb3: call @sub_1800010b4 with return %00018ab0 + +00018ab0: +00018ab6: RBX := pad:64[low:32[RAX]] +00018ac2: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] +00018ada: #12582155 := low:32[RDI] - 1 +00018ade: CF := low:32[RDI] < 1 +00018ae4: OF := high:1[(low:32[RDI] ^ 1) & (low:32[RDI] ^ #12582155)] +00018ae9: AF := 0x10 = (0x10 & (#12582155 ^ low:32[RDI] ^ 1)) +00018aee: PF := + ~low:1[let $0 = #12582155 >> 4 ^ #12582155 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018af2: SF := high:1[#12582155] +00018af6: ZF := 0 = #12582155 +00018afd: when ~ZF goto %00018afa +000195d7: goto %00018ee4 + +00018ee4: +00018ef4: #12582137 := low:32[RAX] +00018ef7: OF := 0 +00018efa: CF := 0 +00018efd: AF := unknown[bits]:u1 +00018f02: PF := + ~low:1[let $0 = #12582137 >> 4 ^ #12582137 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018f06: SF := high:1[#12582137] +00018f0a: ZF := 0 = #12582137 +00018f10: when ~ZF goto %00018afa +000195d6: goto %00018f14 + +00018f14: +00018f1a: R8 := RSI +00018f26: RDX := 0 +00018f29: AF := unknown[bits]:u1 +00018f2c: ZF := 1 +00018f2f: PF := 1 +00018f32: OF := 0 +00018f35: CF := 0 +00018f38: SF := 0 +00018f40: RCX := R14 +00018f4b: RSP := RSP - 8 +00018f50: mem := mem with [RSP, el]:u64 <- 0x180001667 +00018f52: call @sub_1800010b4 with return %00018f54 + +00018f54: +00018f64: #12582135 := RSI +00018f67: OF := 0 +00018f6a: CF := 0 +00018f6d: AF := unknown[bits]:u1 +00018f72: PF := + ~low:1[let $0 = #12582135 >> 4 ^ #12582135 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018f76: SF := high:1[#12582135] +00018f7a: ZF := 0 = #12582135 +00018f84: RCX := 63:8[RCX].pad:8[~ZF] +00018f8f: RSP := RSP - 8 +00018f94: mem := mem with [RSP, el]:u64 <- 0x180001672 +00018f96: call @sub_180001514 with return %00018f98 + +00018f98: +00018f9e: RAX := mem[0x180006880, el]:u64 +00018fb0: #12582133 := RAX +00018fb3: OF := 0 +00018fb6: CF := 0 +00018fb9: AF := unknown[bits]:u1 +00018fbe: PF := + ~low:1[let $0 = #12582133 >> 4 ^ #12582133 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018fc2: SF := high:1[#12582133] +00018fc6: ZF := 0 = #12582133 +00018fcc: when ZF goto %00018afa +000195d5: goto %00018fd0 + +00018fd0: +00018fd6: R8 := RSI +00018fe2: RDX := 0 +00018fe5: AF := unknown[bits]:u1 +00018fe8: ZF := 1 +00018feb: PF := 1 +00018fee: OF := 0 +00018ff1: CF := 0 +00018ff4: SF := 0 +00018ffc: RCX := R14 +0001900a: #12582131 := mem[0x18000B020, el]:u64 +0001900e: RSP := RSP - 8 +00019013: mem := mem with [RSP, el]:u64 <- 0x18000168C +00019016: call #12582131 with return %00018afa + +00018afa: +00018b10: #12582153 := low:32[RDI] +00018b13: OF := 0 +00018b16: CF := 0 +00018b19: AF := unknown[bits]:u1 +00018b1e: PF := + ~low:1[let $0 = #12582153 >> 4 ^ #12582153 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018b22: SF := high:1[#12582153] +00018b26: ZF := 0 = #12582153 +00018b2d: when ZF goto %00018b2a +000195d4: goto %00018ea8 + +00018ea8: +00018ebe: #12582139 := low:32[RDI] - 3 +00018ec2: CF := low:32[RDI] < 3 +00018ec8: OF := high:1[(low:32[RDI] ^ 3) & (low:32[RDI] ^ #12582139)] +00018ecd: AF := 0x10 = (0x10 & (#12582139 ^ low:32[RDI] ^ 3)) +00018ed2: PF := + ~low:1[let $0 = #12582139 >> 4 ^ #12582139 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018ed6: SF := high:1[#12582139] +00018eda: ZF := 0 = #12582139 +00018ee0: when ~ZF goto %00018b98 +000195d3: goto %00018b2a + +00018b2a: +00018b36: R8 := RSI +00018b3e: RDX := pad:64[low:32[RDI]] +00018b46: RCX := R14 +00018b51: RSP := RSP - 8 +00018b56: mem := mem with [RSP, el]:u64 <- 0x1800016A2 +00018b58: call @sub_180001354 with return %00018b5a + +00018b5a: +00018b60: RBX := pad:64[low:32[RAX]] +00018b6c: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] +00018b7e: #12582151 := low:32[RAX] +00018b81: OF := 0 +00018b84: CF := 0 +00018b87: AF := unknown[bits]:u1 +00018b8c: PF := + ~low:1[let $0 = #12582151 >> 4 ^ #12582151 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018b90: SF := high:1[#12582151] +00018b94: ZF := 0 = #12582151 +00018b9b: when ZF goto %00018b98 +000195d2: goto %00018e12 + +00018e12: +00018e18: RAX := mem[0x180006880, el]:u64 +00018e2a: #12582142 := RAX +00018e2d: OF := 0 +00018e30: CF := 0 +00018e33: AF := unknown[bits]:u1 +00018e38: PF := + ~low:1[let $0 = #12582142 >> 4 ^ #12582142 in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018e3c: SF := high:1[#12582142] +00018e40: ZF := 0 = #12582142 +00018e47: when ~ZF goto %00018e44 +000195d1: goto %00018e90 + +00018e44: +00018e50: R8 := RSI +00018e58: RDX := pad:64[low:32[RDI]] +00018e60: RCX := R14 +00018e6e: #12582140 := mem[0x18000B020, el]:u64 +00018e72: RSP := RSP - 8 +00018e77: mem := mem with [RSP, el]:u64 <- 0x1800016CF +00018e7a: call #12582140 with return %00018e7c + +00018e7c: +00018e82: RBX := pad:64[low:32[RAX]] +00018e8e: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RAX] +000195d0: goto %00018b98 + +00018e90: +00018e96: RBX := pad:64[low:32[RAX + 1]] +00018ea2: mem := mem with [RSP + 0x30, el]:u32 <- low:32[RBX] +00018ea6: goto %00018b98 + +00018b98: +00018ba1: goto %00018b9f + +00018b9f: +00018ba8: RAX := pad:64[low:32[RBX]] +000195cf: goto %00018baa + +00019176: +00019180: RAX := 0 +00019183: AF := unknown[bits]:u1 +00019186: ZF := 1 +00019189: PF := 1 +0001918c: OF := 0 +0001918f: CF := 0 +00019192: SF := 0 +00019196: goto %00018baa + +00018baa: +00018bb2: RBX := mem[RSP + 0x78, el]:u64 +00018bcf: #12582149 := RSP +00018bd3: RSP := RSP + 0x40 +00018bd8: CF := RSP < #12582149 +00018be0: OF := ~high:1[#12582149] & (high:1[#12582149] | high:1[RSP]) & + ~(high:1[#12582149] & high:1[RSP]) +00018be5: AF := 0x10 = (0x10 & (RSP ^ #12582149 ^ 0x40)) +00018bea: PF := + ~low:1[let $0 = RSP >> 4 ^ RSP in + let $1 = $0 >> 2 ^ $0 in $1 >> 1 ^ $1] +00018bee: SF := high:1[RSP] +00018bf2: ZF := 0 = RSP +00018bfe: R14 := mem[RSP, el]:u64 +00018c02: RSP := RSP + 8 +00018c0e: RDI := mem[RSP, el]:u64 +00018c12: RSP := RSP + 8 +00018c1e: RSI := mem[RSP, el]:u64 +00018c22: RSP := RSP + 8 +00018c2f: #12582146 := mem[RSP, el]:u64 +00018c33: RSP := RSP + 8 +00018c36: call #12582146 with noreturn + +000195de: sub sub_180001d38(sub_180001d38_result) +00019626: sub_180001d38_result :: out u32 = low:32[RAX] + +0000d6f6: +0000d715: RSP := RSP - 0x18 +0000d739: R8 := RCX +0000d73f: RAX := 0x5A4D +0000d75c: #12582860 := mem[0x180000000, el]:u16 - 0x5A4D +0000d77b: ZF := 0 = #12582860 +0000d782: when ~ZF goto %0000d77f +000195e8: goto %0000d8bd + +0000d8bd: +0000d8c3: RCX := extend:64[mem[0x18000003C, el]:u32] +0000d8c9: RDX := 0x180000000 +0000d8f4: RCX := RCX + 0x180000000 +0000d933: #12582851 := mem[RCX, el]:u32 - 0x4550 +0000d953: ZF := 0 = #12582851 +0000d959: when ~ZF goto %0000d77f +000195e7: goto %0000d95d + +0000d95d: +0000d961: RAX := 0x20B +0000d984: #12582849 := mem[RCX + 0x18, el]:u16 - 0x20B +0000d9a7: ZF := 0 = #12582849 +0000d9ad: when ~ZF goto %0000d77f +000195e6: goto %0000d9b1 + +0000d77f: +0000d791: RAX := 63:8[RAX].0 +0000d7a8: goto %0000d7a6 + +0000d9b1: +0000d9d8: R8 := R8 - 0x180000000 +0000da01: RDX := pad:64[mem[RCX + 0x14, el]:u16] +0000da22: RDX := RDX + 0x18 +0000da67: #12582840 := RCX +0000da6c: RDX := RDX + #12582840 +0000da97: RAX := pad:64[mem[RCX + 6, el]:u16] +0000daa1: RCX := RAX + (RAX << 2) +0000daab: R9 := RDX + (RCX << 3) +000195e5: goto %0000daad + +0000daad: +0000dab7: mem := mem with [RSP, el]:u64 <- RDX +0000dad4: #12582838 := RDX - R9 +0000daf3: ZF := 0 = #12582838 +0000dafa: when ZF goto %0000daf7 +000195e4: goto %0000dbeb + +0000daf7: +0000db07: RDX := 0 +000195e3: goto %0000db1b + +0000dbeb: +0000dbf3: RCX := pad:64[mem[RDX + 0xC, el]:u32] +0000dc15: CF := R8 < RCX +0000dc36: when CF goto %0000dc33 +000195e2: goto %0000dc7d + +0000dc7d: +0000dc85: RAX := pad:64[mem[RDX + 8, el]:u32] +0000dcab: #12582826 := low:32[RCX] +0000dcb0: RAX := pad:64[low:32[RAX] + #12582826] +0000dcf3: CF := R8 < RAX +0000dd13: when CF goto %0000db1b +000195e1: goto %0000dc33 + +0000db1b: +0000db2b: #12582836 := RDX +0000db41: ZF := 0 = #12582836 +0000db48: when ~ZF goto %0000db45 +000195e0: goto %0000dbc7 + +0000db45: +0000db67: #12582834 := mem[RDX + 0x24, el]:u32 +0000db74: OF := high:1[mem[RDX + 0x24, el]:u32 & (mem[RDX + 0x24, el]:u32 ^ #12582834)] -0000db23: SF := high:1[#12582834] -0000db34: when ~((SF | OF) & ~(SF & OF)) goto %0000db2e -0001957e: goto %0000db43 +0000db83: SF := high:1[#12582834] +0000db94: when ~((SF | OF) & ~(SF & OF)) goto %0000db8e +000195df: goto %0000dba3 -0000db2e: -0000db3d: RAX := high:56[RAX].1 -0000db41: goto %0000d746 +0000db8e: +0000db9d: RAX := high:56[RAX].1 +0000dba1: goto %0000d7a6 -0000db43: -0000db4f: RAX := 63:8[RAX].0 -0000db65: goto %0000d746 +0000dba3: +0000dbaf: RAX := 63:8[RAX].0 +0000dbc5: goto %0000d7a6 -0000db67: -0000db73: RAX := 63:8[RAX].0 -0000db89: goto %0000d746 +0000dbc7: +0000dbd3: RAX := 63:8[RAX].0 +0000dbe9: goto %0000d7a6 -0000d746: -0000d768: RSP := RSP + 0x18 -0000d794: #12582855 := mem[RSP, el]:u64 -0000d798: RSP := RSP + 8 -0000d79b: call #12582855 with noreturn +0000d7a6: +0000d7c8: RSP := RSP + 0x18 +0000d7f4: #12582855 := mem[RSP, el]:u64 +0000d7f8: RSP := RSP + 8 +0000d7fb: call #12582855 with noreturn -0000dbd3: -0000dbf8: RDX := RDX + 0x28 -0000dc1b: goto %0000da4d +0000dc33: +0000dc58: RDX := RDX + 0x28 +0000dc7b: goto %0000daad -00019588: sub sub_180002746(sub_180002746_result) -000195c6: sub_180002746_result :: out u32 = low:32[RAX] +000195e9: sub sub_180002746(sub_180002746_result) +00019627: sub_180002746_result :: out u32 = low:32[RAX] -00004dd1: -00004dd5: call mem[0x18000A0F8, el]:u64 with noreturn +00004de1: +00004de5: call mem[0x18000A0F8, el]:u64 with noreturn + +000195ea: sub sub_18000274c(sub_18000274c_result) +00019628: sub_18000274c_result :: out u32 = low:32[RAX] + +00004de7: +00004deb: call mem[0x18000A100, el]:u64 with noreturn -00019589: sub sub_18000274c(sub_18000274c_result) -000195c7: sub_18000274c_result :: out u32 = low:32[RAX] +000195eb: sub sub_180002752(sub_180002752_result) +00019629: sub_180002752_result :: out u32 = low:32[RAX] -00004dd7: -00004ddb: call mem[0x18000A100, el]:u64 with noreturn +00004ded: +00004df1: call mem[0x18000A108, el]:u64 with noreturn -0001958a: sub sub_180002752(sub_180002752_result) -000195c8: sub_180002752_result :: out u32 = low:32[RAX] +000195ec: sub sub_180002758(sub_180002758_result) +0001962a: sub_180002758_result :: out u32 = low:32[RAX] -00004ddd: -00004de1: call mem[0x18000A108, el]:u64 with noreturn +00004df3: +00004df7: call mem[0x18000A1A0, el]:u64 with noreturn -0001958b: sub sub_180002758(sub_180002758_result) -000195c9: sub_180002758_result :: out u32 = low:32[RAX] +000195ed: sub sub_18000275e(sub_18000275e_result) +0001962b: sub_18000275e_result :: out u32 = low:32[RAX] -00004de3: -00004de7: call mem[0x18000A1A0, el]:u64 with noreturn +00004df9: +00004dfd: call mem[0x18000A178, el]:u64 with noreturn -0001958c: sub sub_18000275e(sub_18000275e_result) -000195ca: sub_18000275e_result :: out u32 = low:32[RAX] +000195ee: sub sub_18000276a(sub_18000276a_result) +0001962c: sub_18000276a_result :: out u32 = low:32[RAX] -00004de9: -00004ded: call mem[0x18000A178, el]:u64 with noreturn +00004e05: +00004e09: call mem[0x18000A188, el]:u64 with noreturn -0001958d: sub sub_18000276a(sub_18000276a_result) -000195cb: sub_18000276a_result :: out u32 = low:32[RAX] +000195ef: sub sub_180002770(sub_180002770_result) +0001962d: sub_180002770_result :: out u32 = low:32[RAX] -00004df5: -00004df9: call mem[0x18000A188, el]:u64 with noreturn +00004e0b: +00004e0f: call mem[0x18000A190, el]:u64 with noreturn -0001958e: sub sub_180002770(sub_180002770_result) -000195cc: sub_180002770_result :: out u32 = low:32[RAX] +000195f0: sub sub_180002776(sub_180002776_result) +0001962e: sub_180002776_result :: out u32 = low:32[RAX] -00004dfb: -00004dff: call mem[0x18000A190, el]:u64 with noreturn +00004e11: +00004e15: call mem[0x18000A198, el]:u64 with noreturn -0001958f: sub sub_180002776(sub_180002776_result) -000195cd: sub_180002776_result :: out u32 = low:32[RAX] +000195f1: sub sub_18000277c(sub_18000277c_result) +0001962f: sub_18000277c_result :: out u32 = low:32[RAX] -00004e01: -00004e05: call mem[0x18000A198, el]:u64 with noreturn +00004e17: +00004e1b: call mem[0x18000A1D0, el]:u64 with noreturn -00019590: sub sub_18000277c(sub_18000277c_result) -000195ce: sub_18000277c_result :: out u32 = low:32[RAX] +000195f2: sub sub_180002788(sub_180002788_result) +00019630: sub_180002788_result :: out u32 = low:32[RAX] -00004e07: -00004e0b: call mem[0x18000A1D0, el]:u64 with noreturn +00004e23: +00004e27: call mem[0x18000A1B0, el]:u64 with noreturn -00019591: sub sub_180002788(sub_180002788_result) -000195cf: sub_180002788_result :: out u32 = low:32[RAX] +000195f3: sub sub_180002794(sub_180002794_result) +00019631: sub_180002794_result :: out u32 = low:32[RAX] -00004e13: -00004e17: call mem[0x18000A1B0, el]:u64 with noreturn +00004e2f: +00004e33: call mem[0x18000A1C0, el]:u64 with noreturn -00019592: sub sub_180002794(sub_180002794_result) -000195d0: sub_180002794_result :: out u32 = low:32[RAX] +000195f4: sub sub_18000279a(sub_18000279a_result) +00019632: sub_18000279a_result :: out u32 = low:32[RAX] -00004e1f: -00004e23: call mem[0x18000A1C0, el]:u64 with noreturn +00004e35: +00004e39: call mem[0x18000A1C8, el]:u64 with noreturn -00019593: sub sub_18000279a(sub_18000279a_result) -000195d1: sub_18000279a_result :: out u32 = low:32[RAX] +000195f5: sub sub_1800027a0(sub_1800027a0_result) +00019633: sub_1800027a0_result :: out u32 = low:32[RAX] -00004e25: -00004e29: call mem[0x18000A1C8, el]:u64 with noreturn +00004e3b: +00004e41: RAX := high:56[RAX].1 +00004e4e: #12582883 := mem[RSP, el]:u64 +00004e52: RSP := RSP + 8 +00004e55: call #12582883 with noreturn -00019594: sub sub_1800027a0(sub_1800027a0_result) -000195d2: sub_1800027a0_result :: out u32 = low:32[RAX] +000195f6: sub sub_1800027a4(sub_1800027a4_result) +00019634: sub_1800027a4_result :: out u32 = low:32[RAX] -00004e2b: -00004e31: RAX := high:56[RAX].1 -00004e3e: #12582883 := mem[RSP, el]:u64 -00004e42: RSP := RSP + 8 -00004e45: call #12582883 with noreturn +00004e5b: +00004e61: RAX := high:56[RAX].1 +00004e6e: #12582882 := mem[RSP, el]:u64 +00004e72: RSP := RSP + 8 +00004e75: call #12582882 with noreturn -00019595: sub sub_1800027a4(sub_1800027a4_result) -000195d3: sub_1800027a4_result :: out u32 = low:32[RAX] +000195f7: sub sub_1800027a8(sub_1800027a8_result) +00019635: sub_1800027a8_result :: out u32 = low:32[RAX] -00004e4b: -00004e51: RAX := high:56[RAX].1 -00004e5e: #12582882 := mem[RSP, el]:u64 -00004e62: RSP := RSP + 8 -00004e65: call #12582882 with noreturn +00004e7b: +00004e81: RAX := high:56[RAX].1 +00004e8e: #12582881 := mem[RSP, el]:u64 +00004e92: RSP := RSP + 8 +00004e95: call #12582881 with noreturn -00019596: sub sub_1800027a8(sub_1800027a8_result) -000195d4: sub_1800027a8_result :: out u32 = low:32[RAX] +000195f8: sub sub_1800027ac(sub_1800027ac_result) +00019636: sub_1800027ac_result :: out u32 = low:32[RAX] -00004e6b: -00004e71: RAX := high:56[RAX].1 -00004e7e: #12582881 := mem[RSP, el]:u64 -00004e82: RSP := RSP + 8 -00004e85: call #12582881 with noreturn +00004e9b: +00004ea1: RAX := high:56[RAX].1 +00004eae: #12582880 := mem[RSP, el]:u64 +00004eb2: RSP := RSP + 8 +00004eb5: call #12582880 with noreturn -00019597: sub sub_1800027ac(sub_1800027ac_result) -000195d5: sub_1800027ac_result :: out u32 = low:32[RAX] +000195f9: sub sub_1800027b0(sub_1800027b0_result) +00019637: sub_1800027b0_result :: out u32 = low:32[RAX] -00004e8b: -00004e91: RAX := high:56[RAX].1 -00004e9e: #12582880 := mem[RSP, el]:u64 -00004ea2: RSP := RSP + 8 -00004ea5: call #12582880 with noreturn +00004ebb: +00004ec1: RAX := high:56[RAX].1 +00004ece: #12582879 := mem[RSP, el]:u64 +00004ed2: RSP := RSP + 8 +00004ed5: call #12582879 with noreturn -00019598: sub sub_1800027b0(sub_1800027b0_result) -000195d6: sub_1800027b0_result :: out u32 = low:32[RAX] +00010e43: sub intrinsic:x86:lock() -00004eab: -00004eb1: RAX := high:56[RAX].1 -00004ebe: #12582879 := mem[RSP, el]:u64 -00004ec2: RSP := RSP + 8 -00004ec5: call #12582879 with noreturn -00010de3: sub intrinsic:x86:lock() +00010e63: sub intrinsic:x86:unlock() -00010e03: sub intrinsic:x86:unlock() +00013513: sub intrinsic:llvm-x86_64:LFENCE() -00004d79: sub interrupt:#3(interrupt:#3_result) -000195d7: interrupt:#3_result :: out u32 = low:32[RAX] +00004d89: sub interrupt:#3(interrupt:#3_result) +00019638: interrupt:#3_result :: out u32 = low:32[RAX] -0000f628: sub interrupt:#41(interrupt:#41_result) -000195d8: interrupt:#41_result :: out u32 = low:32[RAX] +0000f688: sub interrupt:#41(interrupt:#41_result) +00019639: interrupt:#41_result :: out u32 = low:32[RAX]