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