-
Notifications
You must be signed in to change notification settings - Fork 13
/
asm64.asm
208 lines (186 loc) · 5.79 KB
/
asm64.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
sub rsp, 0x7FFFFFFF
pushfq
pop qword ptr [rsp+0x7FFFFFFF]
mov qword ptr [rsp+0x7FFFFFFF], rax
mov qword ptr [rsp+0x7FFFFFFF], rcx
mov qword ptr [rsp+0x7FFFFFFF], rdx
mov qword ptr [rsp+0x7FFFFFFF], rbx
mov qword ptr [rsp+0x7FFFFFFF], rsp
add qword ptr [rsp+0x7FFFFFFF], 0x7FFFFFFF
mov qword ptr [rsp+0x7FFFFFFF], rbp
mov qword ptr [rsp+0x7FFFFFFF], rsi
mov qword ptr [rsp+0x7FFFFFFF], rdi
mov qword ptr [rsp+0x7FFFFFFF], r8
mov qword ptr [rsp+0x7FFFFFFF], r9
mov qword ptr [rsp+0x7FFFFFFF], r10
mov qword ptr [rsp+0x7FFFFFFF], r11
mov qword ptr [rsp+0x7FFFFFFF], r12
mov qword ptr [rsp+0x7FFFFFFF], r13
mov qword ptr [rsp+0x7FFFFFFF], r14
mov qword ptr [rsp+0x7FFFFFFF], r15
stmxcsr [rsp+0x7FFFFFFF]
vmovups [rsp+0x7FFFFFFF], xmm0
vmovups [rsp+0x7FFFFFFF], xmm1
vmovups [rsp+0x7FFFFFFF], xmm2
vmovups [rsp+0x7FFFFFFF], xmm3
vmovups [rsp+0x7FFFFFFF], xmm4
vmovups [rsp+0x7FFFFFFF], xmm5
vmovups [rsp+0x7FFFFFFF], xmm6
vmovups [rsp+0x7FFFFFFF], xmm7
vmovups [rsp+0x7FFFFFFF], xmm8
vmovups [rsp+0x7FFFFFFF], xmm9
vmovups [rsp+0x7FFFFFFF], xmm10
vmovups [rsp+0x7FFFFFFF], xmm11
vmovups [rsp+0x7FFFFFFF], xmm12
vmovups [rsp+0x7FFFFFFF], xmm13
vmovups [rsp+0x7FFFFFFF], xmm14
vmovups [rsp+0x7FFFFFFF], xmm15
vmovups [rsp+0x7FFFFFFF], ymm0
vmovups [rsp+0x7FFFFFFF], ymm1
vmovups [rsp+0x7FFFFFFF], ymm2
vmovups [rsp+0x7FFFFFFF], ymm3
vmovups [rsp+0x7FFFFFFF], ymm4
vmovups [rsp+0x7FFFFFFF], ymm5
vmovups [rsp+0x7FFFFFFF], ymm6
vmovups [rsp+0x7FFFFFFF], ymm7
vmovups [rsp+0x7FFFFFFF], ymm8
vmovups [rsp+0x7FFFFFFF], ymm9
vmovups [rsp+0x7FFFFFFF], ymm10
vmovups [rsp+0x7FFFFFFF], ymm11
vmovups [rsp+0x7FFFFFFF], ymm12
vmovups [rsp+0x7FFFFFFF], ymm13
vmovups [rsp+0x7FFFFFFF], ymm14
vmovups [rsp+0x7FFFFFFF], ymm15
vmovups [rsp+0x7FFFFFFF], zmm0
vmovups [rsp+0x7FFFFFFF], zmm1
vmovups [rsp+0x7FFFFFFF], zmm2
vmovups [rsp+0x7FFFFFFF], zmm3
vmovups [rsp+0x7FFFFFFF], zmm4
vmovups [rsp+0x7FFFFFFF], zmm5
vmovups [rsp+0x7FFFFFFF], zmm6
vmovups [rsp+0x7FFFFFFF], zmm7
vmovups [rsp+0x7FFFFFFF], zmm8
vmovups [rsp+0x7FFFFFFF], zmm9
vmovups [rsp+0x7FFFFFFF], zmm10
vmovups [rsp+0x7FFFFFFF], zmm11
vmovups [rsp+0x7FFFFFFF], zmm12
vmovups [rsp+0x7FFFFFFF], zmm13
vmovups [rsp+0x7FFFFFFF], zmm14
vmovups [rsp+0x7FFFFFFF], zmm15
vmovups [rsp+0x7FFFFFFF], zmm16
vmovups [rsp+0x7FFFFFFF], zmm17
vmovups [rsp+0x7FFFFFFF], zmm18
vmovups [rsp+0x7FFFFFFF], zmm19
vmovups [rsp+0x7FFFFFFF], zmm20
vmovups [rsp+0x7FFFFFFF], zmm21
vmovups [rsp+0x7FFFFFFF], zmm22
vmovups [rsp+0x7FFFFFFF], zmm23
vmovups [rsp+0x7FFFFFFF], zmm24
vmovups [rsp+0x7FFFFFFF], zmm25
vmovups [rsp+0x7FFFFFFF], zmm26
vmovups [rsp+0x7FFFFFFF], zmm27
vmovups [rsp+0x7FFFFFFF], zmm28
vmovups [rsp+0x7FFFFFFF], zmm29
vmovups [rsp+0x7FFFFFFF], zmm30
vmovups [rsp+0x7FFFFFFF], zmm31
fsave [rsp+0x7FFFFFFF]
push rax
push rcx
lea rcx, [rsp+0x10]
mov dword ptr [rsp-0x8], 0x7FFFFFFF
mov dword ptr [rsp-0x4], 0x7FFFFFFF
call [rsp-0x8]
movzx eax, al
test eax, eax
je nothing_modified
pop rcx
pop rax
frstor [rsp+0x7FFFFFFF]
vmovups zmm31, [rsp+0x7FFFFFFF]
vmovups zmm30, [rsp+0x7FFFFFFF]
vmovups zmm29, [rsp+0x7FFFFFFF]
vmovups zmm28, [rsp+0x7FFFFFFF]
vmovups zmm27, [rsp+0x7FFFFFFF]
vmovups zmm26, [rsp+0x7FFFFFFF]
vmovups zmm25, [rsp+0x7FFFFFFF]
vmovups zmm24, [rsp+0x7FFFFFFF]
vmovups zmm23, [rsp+0x7FFFFFFF]
vmovups zmm22, [rsp+0x7FFFFFFF]
vmovups zmm21, [rsp+0x7FFFFFFF]
vmovups zmm20, [rsp+0x7FFFFFFF]
vmovups zmm19, [rsp+0x7FFFFFFF]
vmovups zmm18, [rsp+0x7FFFFFFF]
vmovups zmm17, [rsp+0x7FFFFFFF]
vmovups zmm16, [rsp+0x7FFFFFFF]
vmovups zmm15, [rsp+0x7FFFFFFF]
vmovups zmm14, [rsp+0x7FFFFFFF]
vmovups zmm13, [rsp+0x7FFFFFFF]
vmovups zmm12, [rsp+0x7FFFFFFF]
vmovups zmm11, [rsp+0x7FFFFFFF]
vmovups zmm10, [rsp+0x7FFFFFFF]
vmovups zmm9, [rsp+0x7FFFFFFF]
vmovups zmm8, [rsp+0x7FFFFFFF]
vmovups zmm7, [rsp+0x7FFFFFFF]
vmovups zmm6, [rsp+0x7FFFFFFF]
vmovups zmm5, [rsp+0x7FFFFFFF]
vmovups zmm4, [rsp+0x7FFFFFFF]
vmovups zmm3, [rsp+0x7FFFFFFF]
vmovups zmm2, [rsp+0x7FFFFFFF]
vmovups zmm1, [rsp+0x7FFFFFFF]
vmovups zmm0, [rsp+0x7FFFFFFF]
vmovups ymm15, [rsp+0x7FFFFFFF]
vmovups ymm14, [rsp+0x7FFFFFFF]
vmovups ymm13, [rsp+0x7FFFFFFF]
vmovups ymm12, [rsp+0x7FFFFFFF]
vmovups ymm11, [rsp+0x7FFFFFFF]
vmovups ymm10, [rsp+0x7FFFFFFF]
vmovups ymm9, [rsp+0x7FFFFFFF]
vmovups ymm8, [rsp+0x7FFFFFFF]
vmovups ymm7, [rsp+0x7FFFFFFF]
vmovups ymm6, [rsp+0x7FFFFFFF]
vmovups ymm5, [rsp+0x7FFFFFFF]
vmovups ymm4, [rsp+0x7FFFFFFF]
vmovups ymm3, [rsp+0x7FFFFFFF]
vmovups ymm2, [rsp+0x7FFFFFFF]
vmovups ymm1, [rsp+0x7FFFFFFF]
vmovups ymm0, [rsp+0x7FFFFFFF]
vmovups xmm15, [rsp+0x7FFFFFFF]
vmovups xmm14, [rsp+0x7FFFFFFF]
vmovups xmm13, [rsp+0x7FFFFFFF]
vmovups xmm12, [rsp+0x7FFFFFFF]
vmovups xmm11, [rsp+0x7FFFFFFF]
vmovups xmm10, [rsp+0x7FFFFFFF]
vmovups xmm9, [rsp+0x7FFFFFFF]
vmovups xmm8, [rsp+0x7FFFFFFF]
vmovups xmm7, [rsp+0x7FFFFFFF]
vmovups xmm6, [rsp+0x7FFFFFFF]
vmovups xmm5, [rsp+0x7FFFFFFF]
vmovups xmm4, [rsp+0x7FFFFFFF]
vmovups xmm3, [rsp+0x7FFFFFFF]
vmovups xmm2, [rsp+0x7FFFFFFF]
vmovups xmm1, [rsp+0x7FFFFFFF]
vmovups xmm0, [rsp+0x7FFFFFFF]
ldmxcsr [rsp+0x7FFFFFFF]
mov r15, qword ptr [rsp+0x7FFFFFFF]
mov r14, qword ptr [rsp+0x7FFFFFFF]
mov r13, qword ptr [rsp+0x7FFFFFFF]
mov r12, qword ptr [rsp+0x7FFFFFFF]
mov r11, qword ptr [rsp+0x7FFFFFFF]
mov r10, qword ptr [rsp+0x7FFFFFFF]
mov r9, qword ptr [rsp+0x7FFFFFFF]
mov r8, qword ptr [rsp+0x7FFFFFFF]
mov rdi, qword ptr [rsp+0x7FFFFFFF]
mov rsi, qword ptr [rsp+0x7FFFFFFF]
mov rbp, qword ptr [rsp+0x7FFFFFFF]
mov rbx, qword ptr [rsp+0x7FFFFFFF]
mov rdx, qword ptr [rsp+0x7FFFFFFF]
mov rcx, qword ptr [rsp+0x7FFFFFFF]
mov rax, qword ptr [rsp+0x7FFFFFFF]
push qword ptr [rsp+0x7FFFFFFF]
popfq
mov rsp, qword ptr [rsp+0x7FFFFFFF]
ret 0x0
nothing_modified:
pop rax
pop rcx
add rsp, 0x7FFFFFFF