Skip to content

Instantly share code, notes, and snippets.

@dgrahn
Created September 24, 2019 10:57
Show Gist options
  • Save dgrahn/2d291efe66f98ee9312bd93d673f5776 to your computer and use it in GitHub Desktop.
Save dgrahn/2d291efe66f98ee9312bd93d673f5776 to your computer and use it in GitHub Desktop.
0x42232b: mov qword ptr [rsp + 0x48], rcx
0x422330: pcmpeqd xmm1, xmm1
0x422334: movq xmm0, qword ptr [rsp + 0x48]
0x42233a: mov qword ptr [rsp + 0x48], rdi
0x42233f: movhps xmm0, qword ptr [rsp + 0x48]
0x422344: mov dword ptr [rsp + 0x60], r11d
0x422349: mov dword ptr [rsp + 0x58], r10d
0x42234e: mov byte ptr [rsp + 0x120], r9b
0x422356: mov r10, qword ptr [r13 + 0x470]
0x42235d: mov rcx, rax
0x422360: pxor xmm0, xmm1
0x422364: mov byte ptr [rsp + 0x121], sil
0x42236c: mov qword ptr [rsp + 0x50], rdx
0x422371: mov rsi, rdx
0x422374: mov qword ptr [rsp + 0x48], rax
0x422379: mov rdi, rsp
0x42237c: xor ebx, ebx
0x42237e: movdqa xmmword ptr [rsp + 0x110], xmm0
0x422387: rep movsd dword ptr [rdi], dword ptr [rsi]
00 | ------ IMark(0x42232b, 5, 0) ------
01 | t20 = GET:I64(rsp)
02 | t19 = Add64(t20,0x0000000000000048)
03 | t21 = GET:I64(rcx)
04 | STle(t19) = t21
05 | ------ IMark(0x422330, 4, 0) ------
06 | PUT(xmm1) = ffffffffffffffffffffffffffffffff
07 | PUT(rip) = 0x0000000000422334
08 | ------ IMark(0x422334, 6, 0) ------
09 | t25 = Add64(t20,0x0000000000000048)
10 | PUT(xmm0) = 0
11 | t27 = LDle:I64(t25)
12 | PUT(ymm0) = t27
13 | PUT(rip) = 0x000000000042233a
14 | ------ IMark(0x42233a, 5, 0) ------
15 | t28 = Add64(t20,0x0000000000000048)
16 | t30 = GET:I64(rdi)
17 | STle(t28) = t30
18 | PUT(rip) = 0x000000000042233f
19 | ------ IMark(0x42233f, 5, 0) ------
20 | t31 = Add64(t20,0x0000000000000048)
21 | t33 = LDle:I64(t31)
22 | PUT(232) = t33
23 | PUT(rip) = 0x0000000000422344
24 | ------ IMark(0x422344, 5, 0) ------
25 | t34 = Add64(t20,0x0000000000000060)
26 | t37 = GET:I64(r11)
27 | t36 = 64to32(t37)
28 | STle(t34) = t36
29 | PUT(rip) = 0x0000000000422349
30 | ------ IMark(0x422349, 5, 0) ------
31 | t38 = Add64(t20,0x0000000000000058)
32 | t41 = GET:I64(r10)
33 | t40 = 64to32(t41)
34 | STle(t38) = t40
35 | PUT(rip) = 0x000000000042234e
36 | ------ IMark(0x42234e, 8, 0) ------
37 | t42 = Add64(t20,0x0000000000000120)
38 | t44 = GET:I8(r9b)
39 | STle(t42) = t44
40 | PUT(rip) = 0x0000000000422356
41 | ------ IMark(0x422356, 7, 0) ------
42 | t46 = GET:I64(r13)
43 | t45 = Add64(t46,0x0000000000000470)
44 | t47 = LDle:I64(t45)
45 | PUT(r10) = t47
46 | ------ IMark(0x42235d, 3, 0) ------
47 | t48 = GET:I64(rax)
48 | PUT(rcx) = t48
49 | ------ IMark(0x422360, 4, 0) ------
50 | t51 = GET:V128(xmm0)
51 | t49 = XorV128(t51,ffffffffffffffffffffffffffffffff)
52 | PUT(xmm0) = t49
53 | PUT(rip) = 0x0000000000422364
54 | ------ IMark(0x422364, 8, 0) ------
55 | t52 = Add64(t20,0x0000000000000121)
56 | t54 = GET:I8(sil)
57 | STle(t52) = t54
58 | PUT(rip) = 0x000000000042236c
59 | ------ IMark(0x42236c, 5, 0) ------
60 | t55 = Add64(t20,0x0000000000000050)
61 | t57 = GET:I64(rdx)
62 | STle(t55) = t57
63 | ------ IMark(0x422371, 3, 0) ------
64 | PUT(rsi) = t57
65 | PUT(rip) = 0x0000000000422374
66 | ------ IMark(0x422374, 5, 0) ------
67 | t59 = Add64(t20,0x0000000000000048)
68 | STle(t59) = t48
69 | ------ IMark(0x422379, 3, 0) ------
70 | PUT(rdi) = t20
71 | ------ IMark(0x42237c, 2, 0) ------
72 | PUT(cc_op) = 0x0000000000000013
73 | PUT(cc_dep1) = 0x0000000000000000
74 | PUT(cc_dep2) = 0x0000000000000000
75 | PUT(rbx) = 0x0000000000000000
76 | PUT(rip) = 0x000000000042237e
77 | ------ IMark(0x42237e, 9, 0) ------
78 | t70 = Add64(t20,0x0000000000000110)
79 | t73 = And64(t70,0x000000000000000f)
80 | t72 = CmpNE64(t73,0x0000000000000000)
81 | if (t72) { PUT(rip) = 0x42237e; Ijk_SigSEGV }
82 | STle(t70) = t49
83 | PUT(rip) = 0x0000000000422387
84 | ------ IMark(0x422387, 2, 0) ------
85 | t75 = CmpEQ64(t48,0x0000000000000000)
86 | if (t75) { PUT(rip) = 0x422389; Ijk_Boring }
87 | t76 = Sub64(t48,0x0000000000000001)
88 | PUT(rcx) = t76
89 | t78 = GET:I64(d)
90 | t77 = Shl64(t78,0x02)
91 | t79 = LDle:I32(t57)
92 | STle(t20) = t79
93 | t80 = Add64(t20,t77)
94 | PUT(rdi) = t80
95 | t81 = Add64(t57,t77)
96 | PUT(rsi) = t81
NEXT: PUT(rip) = 0x0000000000422387; Ijk_Boring
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment