Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: third_party/boringssl/win-x86_64/crypto/aes/aes-x86_64.asm

Issue 693893006: Roll BoringSSL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@nasm
Patch Set: roll further Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 OPTION» DOTNAME 1 default»rel
2 .text$» SEGMENT ALIGN(256) 'CODE' 2 %define XMMWORD
3 %define YMMWORD
4 %define ZMMWORD
5 section».text code align=64
6
3 7
4 ALIGN 16 8 ALIGN 16
5 _x86_64_AES_encrypt» PROC PRIVATE 9 _x86_64_AES_encrypt:
6 » xor» eax,DWORD PTR[r15] 10 » xor» eax,DWORD[r15]
7 » xor» ebx,DWORD PTR[4+r15] 11 » xor» ebx,DWORD[4+r15]
8 » xor» ecx,DWORD PTR[8+r15] 12 » xor» ecx,DWORD[8+r15]
9 » xor» edx,DWORD PTR[12+r15] 13 » xor» edx,DWORD[12+r15]
10 14
11 » mov» r13d,DWORD PTR[240+r15] 15 » mov» r13d,DWORD[240+r15]
12 sub r13d,1 16 sub r13d,1
13 » jmp» $L$enc_loop 17 » jmp» NEAR $L$enc_loop
14 ALIGN 16 18 ALIGN 16
15 $L$enc_loop:: 19 $L$enc_loop:
16 20
17 movzx esi,al 21 movzx esi,al
18 movzx edi,bl 22 movzx edi,bl
19 movzx ebp,cl 23 movzx ebp,cl
20 » mov» r10d,DWORD PTR[rsi*8+r14] 24 » mov» r10d,DWORD[rsi*8+r14]
21 » mov» r11d,DWORD PTR[rdi*8+r14] 25 » mov» r11d,DWORD[rdi*8+r14]
22 » mov» r12d,DWORD PTR[rbp*8+r14] 26 » mov» r12d,DWORD[rbp*8+r14]
23 27
24 movzx esi,bh 28 movzx esi,bh
25 movzx edi,ch 29 movzx edi,ch
26 movzx ebp,dl 30 movzx ebp,dl
27 » xor» r10d,DWORD PTR[3+rsi*8+r14] 31 » xor» r10d,DWORD[3+rsi*8+r14]
28 » xor» r11d,DWORD PTR[3+rdi*8+r14] 32 » xor» r11d,DWORD[3+rdi*8+r14]
29 » mov» r8d,DWORD PTR[rbp*8+r14] 33 » mov» r8d,DWORD[rbp*8+r14]
30 34
31 movzx esi,dh 35 movzx esi,dh
32 shr ecx,16 36 shr ecx,16
33 movzx ebp,ah 37 movzx ebp,ah
34 » xor» r12d,DWORD PTR[3+rsi*8+r14] 38 » xor» r12d,DWORD[3+rsi*8+r14]
35 shr edx,16 39 shr edx,16
36 » xor» r8d,DWORD PTR[3+rbp*8+r14] 40 » xor» r8d,DWORD[3+rbp*8+r14]
37 41
38 shr ebx,16 42 shr ebx,16
39 » lea» r15,QWORD PTR[16+r15] 43 » lea» r15,[16+r15]
40 shr eax,16 44 shr eax,16
41 45
42 movzx esi,cl 46 movzx esi,cl
43 movzx edi,dl 47 movzx edi,dl
44 movzx ebp,al 48 movzx ebp,al
45 » xor» r10d,DWORD PTR[2+rsi*8+r14] 49 » xor» r10d,DWORD[2+rsi*8+r14]
46 » xor» r11d,DWORD PTR[2+rdi*8+r14] 50 » xor» r11d,DWORD[2+rdi*8+r14]
47 » xor» r12d,DWORD PTR[2+rbp*8+r14] 51 » xor» r12d,DWORD[2+rbp*8+r14]
48 52
49 movzx esi,dh 53 movzx esi,dh
50 movzx edi,ah 54 movzx edi,ah
51 movzx ebp,bl 55 movzx ebp,bl
52 » xor» r10d,DWORD PTR[1+rsi*8+r14] 56 » xor» r10d,DWORD[1+rsi*8+r14]
53 » xor» r11d,DWORD PTR[1+rdi*8+r14] 57 » xor» r11d,DWORD[1+rdi*8+r14]
54 » xor» r8d,DWORD PTR[2+rbp*8+r14] 58 » xor» r8d,DWORD[2+rbp*8+r14]
55 59
56 » mov» edx,DWORD PTR[12+r15] 60 » mov» edx,DWORD[12+r15]
57 movzx edi,bh 61 movzx edi,bh
58 movzx ebp,ch 62 movzx ebp,ch
59 » mov» eax,DWORD PTR[r15] 63 » mov» eax,DWORD[r15]
60 » xor» r12d,DWORD PTR[1+rdi*8+r14] 64 » xor» r12d,DWORD[1+rdi*8+r14]
61 » xor» r8d,DWORD PTR[1+rbp*8+r14] 65 » xor» r8d,DWORD[1+rbp*8+r14]
62 66
63 » mov» ebx,DWORD PTR[4+r15] 67 » mov» ebx,DWORD[4+r15]
64 » mov» ecx,DWORD PTR[8+r15] 68 » mov» ecx,DWORD[8+r15]
65 xor eax,r10d 69 xor eax,r10d
66 xor ebx,r11d 70 xor ebx,r11d
67 xor ecx,r12d 71 xor ecx,r12d
68 xor edx,r8d 72 xor edx,r8d
69 sub r13d,1 73 sub r13d,1
70 » jnz» $L$enc_loop 74 » jnz» NEAR $L$enc_loop
71 movzx esi,al 75 movzx esi,al
72 movzx edi,bl 76 movzx edi,bl
73 movzx ebp,cl 77 movzx ebp,cl
74 » movzx» r10d,BYTE PTR[2+rsi*8+r14] 78 » movzx» r10d,BYTE[2+rsi*8+r14]
75 » movzx» r11d,BYTE PTR[2+rdi*8+r14] 79 » movzx» r11d,BYTE[2+rdi*8+r14]
76 » movzx» r12d,BYTE PTR[2+rbp*8+r14] 80 » movzx» r12d,BYTE[2+rbp*8+r14]
77 81
78 movzx esi,dl 82 movzx esi,dl
79 movzx edi,bh 83 movzx edi,bh
80 movzx ebp,ch 84 movzx ebp,ch
81 » movzx» r8d,BYTE PTR[2+rsi*8+r14] 85 » movzx» r8d,BYTE[2+rsi*8+r14]
82 » mov» edi,DWORD PTR[rdi*8+r14] 86 » mov» edi,DWORD[rdi*8+r14]
83 » mov» ebp,DWORD PTR[rbp*8+r14] 87 » mov» ebp,DWORD[rbp*8+r14]
84 88
85 » and» edi,00000ff00h 89 » and» edi,0x0000ff00
86 » and» ebp,00000ff00h 90 » and» ebp,0x0000ff00
87 91
88 xor r10d,edi 92 xor r10d,edi
89 xor r11d,ebp 93 xor r11d,ebp
90 shr ecx,16 94 shr ecx,16
91 95
92 movzx esi,dh 96 movzx esi,dh
93 movzx edi,ah 97 movzx edi,ah
94 shr edx,16 98 shr edx,16
95 » mov» esi,DWORD PTR[rsi*8+r14] 99 » mov» esi,DWORD[rsi*8+r14]
96 » mov» edi,DWORD PTR[rdi*8+r14] 100 » mov» edi,DWORD[rdi*8+r14]
97 101
98 » and» esi,00000ff00h 102 » and» esi,0x0000ff00
99 » and» edi,00000ff00h 103 » and» edi,0x0000ff00
100 shr ebx,16 104 shr ebx,16
101 xor r12d,esi 105 xor r12d,esi
102 xor r8d,edi 106 xor r8d,edi
103 shr eax,16 107 shr eax,16
104 108
105 movzx esi,cl 109 movzx esi,cl
106 movzx edi,dl 110 movzx edi,dl
107 movzx ebp,al 111 movzx ebp,al
108 » mov» esi,DWORD PTR[rsi*8+r14] 112 » mov» esi,DWORD[rsi*8+r14]
109 » mov» edi,DWORD PTR[rdi*8+r14] 113 » mov» edi,DWORD[rdi*8+r14]
110 » mov» ebp,DWORD PTR[rbp*8+r14] 114 » mov» ebp,DWORD[rbp*8+r14]
111 115
112 » and» esi,000ff0000h 116 » and» esi,0x00ff0000
113 » and» edi,000ff0000h 117 » and» edi,0x00ff0000
114 » and» ebp,000ff0000h 118 » and» ebp,0x00ff0000
115 119
116 xor r10d,esi 120 xor r10d,esi
117 xor r11d,edi 121 xor r11d,edi
118 xor r12d,ebp 122 xor r12d,ebp
119 123
120 movzx esi,bl 124 movzx esi,bl
121 movzx edi,dh 125 movzx edi,dh
122 movzx ebp,ah 126 movzx ebp,ah
123 » mov» esi,DWORD PTR[rsi*8+r14] 127 » mov» esi,DWORD[rsi*8+r14]
124 » mov» edi,DWORD PTR[2+rdi*8+r14] 128 » mov» edi,DWORD[2+rdi*8+r14]
125 » mov» ebp,DWORD PTR[2+rbp*8+r14] 129 » mov» ebp,DWORD[2+rbp*8+r14]
126 130
127 » and» esi,000ff0000h 131 » and» esi,0x00ff0000
128 » and» edi,0ff000000h 132 » and» edi,0xff000000
129 » and» ebp,0ff000000h 133 » and» ebp,0xff000000
130 134
131 xor r8d,esi 135 xor r8d,esi
132 xor r10d,edi 136 xor r10d,edi
133 xor r11d,ebp 137 xor r11d,ebp
134 138
135 movzx esi,bh 139 movzx esi,bh
136 movzx edi,ch 140 movzx edi,ch
137 » mov» edx,DWORD PTR[((16+12))+r15] 141 » mov» edx,DWORD[((16+12))+r15]
138 » mov» esi,DWORD PTR[2+rsi*8+r14] 142 » mov» esi,DWORD[2+rsi*8+r14]
139 » mov» edi,DWORD PTR[2+rdi*8+r14] 143 » mov» edi,DWORD[2+rdi*8+r14]
140 » mov» eax,DWORD PTR[((16+0))+r15] 144 » mov» eax,DWORD[((16+0))+r15]
141 145
142 » and» esi,0ff000000h 146 » and» esi,0xff000000
143 » and» edi,0ff000000h 147 » and» edi,0xff000000
144 148
145 xor r12d,esi 149 xor r12d,esi
146 xor r8d,edi 150 xor r8d,edi
147 151
148 » mov» ebx,DWORD PTR[((16+4))+r15] 152 » mov» ebx,DWORD[((16+4))+r15]
149 » mov» ecx,DWORD PTR[((16+8))+r15] 153 » mov» ecx,DWORD[((16+8))+r15]
150 xor eax,r10d 154 xor eax,r10d
151 xor ebx,r11d 155 xor ebx,r11d
152 xor ecx,r12d 156 xor ecx,r12d
153 xor edx,r8d 157 xor edx,r8d
154 DB» 0f3h,0c3h 158 DB» 0xf3,0xc3
155 _x86_64_AES_encrypt» ENDP 159
156 160
157 ALIGN 16 161 ALIGN 16
158 _x86_64_AES_encrypt_compact» PROC PRIVATE 162 _x86_64_AES_encrypt_compact:
159 » lea» r8,QWORD PTR[128+r14] 163 » lea» r8,[128+r14]
160 » mov» edi,DWORD PTR[((0-128))+r8] 164 » mov» edi,DWORD[((0-128))+r8]
161 » mov» ebp,DWORD PTR[((32-128))+r8] 165 » mov» ebp,DWORD[((32-128))+r8]
162 » mov» r10d,DWORD PTR[((64-128))+r8] 166 » mov» r10d,DWORD[((64-128))+r8]
163 » mov» r11d,DWORD PTR[((96-128))+r8] 167 » mov» r11d,DWORD[((96-128))+r8]
164 » mov» edi,DWORD PTR[((128-128))+r8] 168 » mov» edi,DWORD[((128-128))+r8]
165 » mov» ebp,DWORD PTR[((160-128))+r8] 169 » mov» ebp,DWORD[((160-128))+r8]
166 » mov» r10d,DWORD PTR[((192-128))+r8] 170 » mov» r10d,DWORD[((192-128))+r8]
167 » mov» r11d,DWORD PTR[((224-128))+r8] 171 » mov» r11d,DWORD[((224-128))+r8]
168 » jmp» $L$enc_loop_compact 172 » jmp» NEAR $L$enc_loop_compact
169 ALIGN 16 173 ALIGN 16
170 $L$enc_loop_compact:: 174 $L$enc_loop_compact:
171 » xor» eax,DWORD PTR[r15] 175 » xor» eax,DWORD[r15]
172 » xor» ebx,DWORD PTR[4+r15] 176 » xor» ebx,DWORD[4+r15]
173 » xor» ecx,DWORD PTR[8+r15] 177 » xor» ecx,DWORD[8+r15]
174 » xor» edx,DWORD PTR[12+r15] 178 » xor» edx,DWORD[12+r15]
175 » lea» r15,QWORD PTR[16+r15] 179 » lea» r15,[16+r15]
176 movzx r10d,al 180 movzx r10d,al
177 movzx r11d,bl 181 movzx r11d,bl
178 movzx r12d,cl 182 movzx r12d,cl
179 movzx r8d,dl 183 movzx r8d,dl
180 movzx esi,bh 184 movzx esi,bh
181 movzx edi,ch 185 movzx edi,ch
182 shr ecx,16 186 shr ecx,16
183 movzx ebp,dh 187 movzx ebp,dh
184 » movzx» r10d,BYTE PTR[r10*1+r14] 188 » movzx» r10d,BYTE[r10*1+r14]
185 » movzx» r11d,BYTE PTR[r11*1+r14] 189 » movzx» r11d,BYTE[r11*1+r14]
186 » movzx» r12d,BYTE PTR[r12*1+r14] 190 » movzx» r12d,BYTE[r12*1+r14]
187 » movzx» r8d,BYTE PTR[r8*1+r14] 191 » movzx» r8d,BYTE[r8*1+r14]
188 192
189 » movzx» r9d,BYTE PTR[rsi*1+r14] 193 » movzx» r9d,BYTE[rsi*1+r14]
190 movzx esi,ah 194 movzx esi,ah
191 » movzx» r13d,BYTE PTR[rdi*1+r14] 195 » movzx» r13d,BYTE[rdi*1+r14]
192 movzx edi,cl 196 movzx edi,cl
193 » movzx» ebp,BYTE PTR[rbp*1+r14] 197 » movzx» ebp,BYTE[rbp*1+r14]
194 » movzx» esi,BYTE PTR[rsi*1+r14] 198 » movzx» esi,BYTE[rsi*1+r14]
195 199
196 shl r9d,8 200 shl r9d,8
197 shr edx,16 201 shr edx,16
198 shl r13d,8 202 shl r13d,8
199 xor r10d,r9d 203 xor r10d,r9d
200 shr eax,16 204 shr eax,16
201 movzx r9d,dl 205 movzx r9d,dl
202 shr ebx,16 206 shr ebx,16
203 xor r11d,r13d 207 xor r11d,r13d
204 shl ebp,8 208 shl ebp,8
205 movzx r13d,al 209 movzx r13d,al
206 » movzx» edi,BYTE PTR[rdi*1+r14] 210 » movzx» edi,BYTE[rdi*1+r14]
207 xor r12d,ebp 211 xor r12d,ebp
208 212
209 shl esi,8 213 shl esi,8
210 movzx ebp,bl 214 movzx ebp,bl
211 shl edi,16 215 shl edi,16
212 xor r8d,esi 216 xor r8d,esi
213 » movzx» r9d,BYTE PTR[r9*1+r14] 217 » movzx» r9d,BYTE[r9*1+r14]
214 movzx esi,dh 218 movzx esi,dh
215 » movzx» r13d,BYTE PTR[r13*1+r14] 219 » movzx» r13d,BYTE[r13*1+r14]
216 xor r10d,edi 220 xor r10d,edi
217 221
218 shr ecx,8 222 shr ecx,8
219 movzx edi,ah 223 movzx edi,ah
220 shl r9d,16 224 shl r9d,16
221 shr ebx,8 225 shr ebx,8
222 shl r13d,16 226 shl r13d,16
223 xor r11d,r9d 227 xor r11d,r9d
224 » movzx» ebp,BYTE PTR[rbp*1+r14] 228 » movzx» ebp,BYTE[rbp*1+r14]
225 » movzx» esi,BYTE PTR[rsi*1+r14] 229 » movzx» esi,BYTE[rsi*1+r14]
226 » movzx» edi,BYTE PTR[rdi*1+r14] 230 » movzx» edi,BYTE[rdi*1+r14]
227 » movzx» edx,BYTE PTR[rcx*1+r14] 231 » movzx» edx,BYTE[rcx*1+r14]
228 » movzx» ecx,BYTE PTR[rbx*1+r14] 232 » movzx» ecx,BYTE[rbx*1+r14]
229 233
230 shl ebp,16 234 shl ebp,16
231 xor r12d,r13d 235 xor r12d,r13d
232 shl esi,24 236 shl esi,24
233 xor r8d,ebp 237 xor r8d,ebp
234 shl edi,24 238 shl edi,24
235 xor r10d,esi 239 xor r10d,esi
236 shl edx,24 240 shl edx,24
237 xor r11d,edi 241 xor r11d,edi
238 shl ecx,24 242 shl ecx,24
239 mov eax,r10d 243 mov eax,r10d
240 mov ebx,r11d 244 mov ebx,r11d
241 xor ecx,r12d 245 xor ecx,r12d
242 xor edx,r8d 246 xor edx,r8d
243 » cmp» r15,QWORD PTR[16+rsp] 247 » cmp» r15,QWORD[16+rsp]
244 » je» $L$enc_compact_done 248 » je» NEAR $L$enc_compact_done
245 » mov» r10d,080808080h 249 » mov» r10d,0x80808080
246 » mov» r11d,080808080h 250 » mov» r11d,0x80808080
247 and r10d,eax 251 and r10d,eax
248 and r11d,ebx 252 and r11d,ebx
249 mov esi,r10d 253 mov esi,r10d
250 mov edi,r11d 254 mov edi,r11d
251 shr r10d,7 255 shr r10d,7
252 » lea» r8d,DWORD PTR[rax*1+rax] 256 » lea» r8d,[rax*1+rax]
253 shr r11d,7 257 shr r11d,7
254 » lea» r9d,DWORD PTR[rbx*1+rbx] 258 » lea» r9d,[rbx*1+rbx]
255 sub esi,r10d 259 sub esi,r10d
256 sub edi,r11d 260 sub edi,r11d
257 » and» r8d,0fefefefeh 261 » and» r8d,0xfefefefe
258 » and» r9d,0fefefefeh 262 » and» r9d,0xfefefefe
259 » and» esi,01b1b1b1bh 263 » and» esi,0x1b1b1b1b
260 » and» edi,01b1b1b1bh 264 » and» edi,0x1b1b1b1b
261 mov r10d,eax 265 mov r10d,eax
262 mov r11d,ebx 266 mov r11d,ebx
263 xor r8d,esi 267 xor r8d,esi
264 xor r9d,edi 268 xor r9d,edi
265 269
266 xor eax,r8d 270 xor eax,r8d
267 xor ebx,r9d 271 xor ebx,r9d
268 » mov» r12d,080808080h 272 » mov» r12d,0x80808080
269 rol eax,24 273 rol eax,24
270 » mov» ebp,080808080h 274 » mov» ebp,0x80808080
271 rol ebx,24 275 rol ebx,24
272 and r12d,ecx 276 and r12d,ecx
273 and ebp,edx 277 and ebp,edx
274 xor eax,r8d 278 xor eax,r8d
275 xor ebx,r9d 279 xor ebx,r9d
276 mov esi,r12d 280 mov esi,r12d
277 ror r10d,16 281 ror r10d,16
278 mov edi,ebp 282 mov edi,ebp
279 ror r11d,16 283 ror r11d,16
280 » lea» r8d,DWORD PTR[rcx*1+rcx] 284 » lea» r8d,[rcx*1+rcx]
281 shr r12d,7 285 shr r12d,7
282 xor eax,r10d 286 xor eax,r10d
283 shr ebp,7 287 shr ebp,7
284 xor ebx,r11d 288 xor ebx,r11d
285 ror r10d,8 289 ror r10d,8
286 » lea» r9d,DWORD PTR[rdx*1+rdx] 290 » lea» r9d,[rdx*1+rdx]
287 ror r11d,8 291 ror r11d,8
288 sub esi,r12d 292 sub esi,r12d
289 sub edi,ebp 293 sub edi,ebp
290 xor eax,r10d 294 xor eax,r10d
291 xor ebx,r11d 295 xor ebx,r11d
292 296
293 » and» r8d,0fefefefeh 297 » and» r8d,0xfefefefe
294 » and» r9d,0fefefefeh 298 » and» r9d,0xfefefefe
295 » and» esi,01b1b1b1bh 299 » and» esi,0x1b1b1b1b
296 » and» edi,01b1b1b1bh 300 » and» edi,0x1b1b1b1b
297 mov r12d,ecx 301 mov r12d,ecx
298 mov ebp,edx 302 mov ebp,edx
299 xor r8d,esi 303 xor r8d,esi
300 xor r9d,edi 304 xor r9d,edi
301 305
302 ror r12d,16 306 ror r12d,16
303 xor ecx,r8d 307 xor ecx,r8d
304 ror ebp,16 308 ror ebp,16
305 xor edx,r9d 309 xor edx,r9d
306 rol ecx,24 310 rol ecx,24
307 » mov» esi,DWORD PTR[r14] 311 » mov» esi,DWORD[r14]
308 rol edx,24 312 rol edx,24
309 xor ecx,r8d 313 xor ecx,r8d
310 » mov» edi,DWORD PTR[64+r14] 314 » mov» edi,DWORD[64+r14]
311 xor edx,r9d 315 xor edx,r9d
312 » mov» r8d,DWORD PTR[128+r14] 316 » mov» r8d,DWORD[128+r14]
313 xor ecx,r12d 317 xor ecx,r12d
314 ror r12d,8 318 ror r12d,8
315 xor edx,ebp 319 xor edx,ebp
316 ror ebp,8 320 ror ebp,8
317 xor ecx,r12d 321 xor ecx,r12d
318 » mov» r9d,DWORD PTR[192+r14] 322 » mov» r9d,DWORD[192+r14]
319 xor edx,ebp 323 xor edx,ebp
320 » jmp» $L$enc_loop_compact 324 » jmp» NEAR $L$enc_loop_compact
321 ALIGN 16 325 ALIGN 16
322 $L$enc_compact_done:: 326 $L$enc_compact_done:
323 » xor» eax,DWORD PTR[r15] 327 » xor» eax,DWORD[r15]
324 » xor» ebx,DWORD PTR[4+r15] 328 » xor» ebx,DWORD[4+r15]
325 » xor» ecx,DWORD PTR[8+r15] 329 » xor» ecx,DWORD[8+r15]
326 » xor» edx,DWORD PTR[12+r15] 330 » xor» edx,DWORD[12+r15]
327 DB» 0f3h,0c3h 331 DB» 0xf3,0xc3
328 _x86_64_AES_encrypt_compact» ENDP 332
329 ALIGN 16 333 ALIGN 16
330 PUBLIC» asm_AES_encrypt 334 global» asm_AES_encrypt
331 335
332 336
333 asm_AES_encrypt»PROC PUBLIC 337 asm_AES_encrypt:
334 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue 338 » mov» QWORD[8+rsp],rdi» ;WIN64 prologue
335 » mov» QWORD PTR[16+rsp],rsi 339 » mov» QWORD[16+rsp],rsi
336 mov rax,rsp 340 mov rax,rsp
337 $L$SEH_begin_asm_AES_encrypt:: 341 $L$SEH_begin_asm_AES_encrypt:
338 mov rdi,rcx 342 mov rdi,rcx
339 mov rsi,rdx 343 mov rsi,rdx
340 mov rdx,r8 344 mov rdx,r8
341 345
342 346
343 push rbx 347 push rbx
344 push rbp 348 push rbp
345 push r12 349 push r12
346 push r13 350 push r13
347 push r14 351 push r14
348 push r15 352 push r15
349 353
350 354
351 mov r10,rsp 355 mov r10,rsp
352 » lea» rcx,QWORD PTR[((-63))+rdx] 356 » lea» rcx,[((-63))+rdx]
353 and rsp,-64 357 and rsp,-64
354 sub rcx,rsp 358 sub rcx,rsp
355 neg rcx 359 neg rcx
356 » and» rcx,03c0h 360 » and» rcx,0x3c0
357 sub rsp,rcx 361 sub rsp,rcx
358 sub rsp,32 362 sub rsp,32
359 363
360 » mov» QWORD PTR[16+rsp],rsi 364 » mov» QWORD[16+rsp],rsi
361 » mov» QWORD PTR[24+rsp],r10 365 » mov» QWORD[24+rsp],r10
362 $L$enc_prologue:: 366 $L$enc_prologue:
363 367
364 mov r15,rdx 368 mov r15,rdx
365 » mov» r13d,DWORD PTR[240+r15] 369 » mov» r13d,DWORD[240+r15]
366 370
367 » mov» eax,DWORD PTR[rdi] 371 » mov» eax,DWORD[rdi]
368 » mov» ebx,DWORD PTR[4+rdi] 372 » mov» ebx,DWORD[4+rdi]
369 » mov» ecx,DWORD PTR[8+rdi] 373 » mov» ecx,DWORD[8+rdi]
370 » mov» edx,DWORD PTR[12+rdi] 374 » mov» edx,DWORD[12+rdi]
371 375
372 shl r13d,4 376 shl r13d,4
373 » lea» rbp,QWORD PTR[r13*1+r15] 377 » lea» rbp,[r13*1+r15]
374 » mov» QWORD PTR[rsp],r15 378 » mov» QWORD[rsp],r15
375 » mov» QWORD PTR[8+rsp],rbp 379 » mov» QWORD[8+rsp],rbp
376 380
377 381
378 » lea» r14,QWORD PTR[(($L$AES_Te+2048))] 382 » lea» r14,[(($L$AES_Te+2048))]
379 » lea» rbp,QWORD PTR[768+rsp] 383 » lea» rbp,[768+rsp]
380 sub rbp,r14 384 sub rbp,r14
381 » and» rbp,0300h 385 » and» rbp,0x300
382 » lea» r14,QWORD PTR[rbp*1+r14] 386 » lea» r14,[rbp*1+r14]
383 387
384 call _x86_64_AES_encrypt_compact 388 call _x86_64_AES_encrypt_compact
385 389
386 » mov» r9,QWORD PTR[16+rsp] 390 » mov» r9,QWORD[16+rsp]
387 » mov» rsi,QWORD PTR[24+rsp] 391 » mov» rsi,QWORD[24+rsp]
388 » mov» DWORD PTR[r9],eax 392 » mov» DWORD[r9],eax
389 » mov» DWORD PTR[4+r9],ebx 393 » mov» DWORD[4+r9],ebx
390 » mov» DWORD PTR[8+r9],ecx 394 » mov» DWORD[8+r9],ecx
391 » mov» DWORD PTR[12+r9],edx 395 » mov» DWORD[12+r9],edx
392 396
393 » mov» r15,QWORD PTR[rsi] 397 » mov» r15,QWORD[rsi]
394 » mov» r14,QWORD PTR[8+rsi] 398 » mov» r14,QWORD[8+rsi]
395 » mov» r13,QWORD PTR[16+rsi] 399 » mov» r13,QWORD[16+rsi]
396 » mov» r12,QWORD PTR[24+rsi] 400 » mov» r12,QWORD[24+rsi]
397 » mov» rbp,QWORD PTR[32+rsi] 401 » mov» rbp,QWORD[32+rsi]
398 » mov» rbx,QWORD PTR[40+rsi] 402 » mov» rbx,QWORD[40+rsi]
399 » lea» rsp,QWORD PTR[48+rsi] 403 » lea» rsp,[48+rsi]
400 $L$enc_epilogue:: 404 $L$enc_epilogue:
401 » mov» rdi,QWORD PTR[8+rsp]» ;WIN64 epilogue 405 » mov» rdi,QWORD[8+rsp]» ;WIN64 epilogue
402 » mov» rsi,QWORD PTR[16+rsp] 406 » mov» rsi,QWORD[16+rsp]
403 DB 0F3h,0C3h ;repret 407 DB 0F3h,0C3h ;repret
404 $L$SEH_end_asm_AES_encrypt:: 408 $L$SEH_end_asm_AES_encrypt:
405 asm_AES_encrypt»ENDP
406 409
407 ALIGN 16 410 ALIGN 16
408 _x86_64_AES_decrypt» PROC PRIVATE 411 _x86_64_AES_decrypt:
409 » xor» eax,DWORD PTR[r15] 412 » xor» eax,DWORD[r15]
410 » xor» ebx,DWORD PTR[4+r15] 413 » xor» ebx,DWORD[4+r15]
411 » xor» ecx,DWORD PTR[8+r15] 414 » xor» ecx,DWORD[8+r15]
412 » xor» edx,DWORD PTR[12+r15] 415 » xor» edx,DWORD[12+r15]
413 416
414 » mov» r13d,DWORD PTR[240+r15] 417 » mov» r13d,DWORD[240+r15]
415 sub r13d,1 418 sub r13d,1
416 » jmp» $L$dec_loop 419 » jmp» NEAR $L$dec_loop
417 ALIGN 16 420 ALIGN 16
418 $L$dec_loop:: 421 $L$dec_loop:
419 422
420 movzx esi,al 423 movzx esi,al
421 movzx edi,bl 424 movzx edi,bl
422 movzx ebp,cl 425 movzx ebp,cl
423 » mov» r10d,DWORD PTR[rsi*8+r14] 426 » mov» r10d,DWORD[rsi*8+r14]
424 » mov» r11d,DWORD PTR[rdi*8+r14] 427 » mov» r11d,DWORD[rdi*8+r14]
425 » mov» r12d,DWORD PTR[rbp*8+r14] 428 » mov» r12d,DWORD[rbp*8+r14]
426 429
427 movzx esi,dh 430 movzx esi,dh
428 movzx edi,ah 431 movzx edi,ah
429 movzx ebp,dl 432 movzx ebp,dl
430 » xor» r10d,DWORD PTR[3+rsi*8+r14] 433 » xor» r10d,DWORD[3+rsi*8+r14]
431 » xor» r11d,DWORD PTR[3+rdi*8+r14] 434 » xor» r11d,DWORD[3+rdi*8+r14]
432 » mov» r8d,DWORD PTR[rbp*8+r14] 435 » mov» r8d,DWORD[rbp*8+r14]
433 436
434 movzx esi,bh 437 movzx esi,bh
435 shr eax,16 438 shr eax,16
436 movzx ebp,ch 439 movzx ebp,ch
437 » xor» r12d,DWORD PTR[3+rsi*8+r14] 440 » xor» r12d,DWORD[3+rsi*8+r14]
438 shr edx,16 441 shr edx,16
439 » xor» r8d,DWORD PTR[3+rbp*8+r14] 442 » xor» r8d,DWORD[3+rbp*8+r14]
440 443
441 shr ebx,16 444 shr ebx,16
442 » lea» r15,QWORD PTR[16+r15] 445 » lea» r15,[16+r15]
443 shr ecx,16 446 shr ecx,16
444 447
445 movzx esi,cl 448 movzx esi,cl
446 movzx edi,dl 449 movzx edi,dl
447 movzx ebp,al 450 movzx ebp,al
448 » xor» r10d,DWORD PTR[2+rsi*8+r14] 451 » xor» r10d,DWORD[2+rsi*8+r14]
449 » xor» r11d,DWORD PTR[2+rdi*8+r14] 452 » xor» r11d,DWORD[2+rdi*8+r14]
450 » xor» r12d,DWORD PTR[2+rbp*8+r14] 453 » xor» r12d,DWORD[2+rbp*8+r14]
451 454
452 movzx esi,bh 455 movzx esi,bh
453 movzx edi,ch 456 movzx edi,ch
454 movzx ebp,bl 457 movzx ebp,bl
455 » xor» r10d,DWORD PTR[1+rsi*8+r14] 458 » xor» r10d,DWORD[1+rsi*8+r14]
456 » xor» r11d,DWORD PTR[1+rdi*8+r14] 459 » xor» r11d,DWORD[1+rdi*8+r14]
457 » xor» r8d,DWORD PTR[2+rbp*8+r14] 460 » xor» r8d,DWORD[2+rbp*8+r14]
458 461
459 movzx esi,dh 462 movzx esi,dh
460 » mov» edx,DWORD PTR[12+r15] 463 » mov» edx,DWORD[12+r15]
461 movzx ebp,ah 464 movzx ebp,ah
462 » xor» r12d,DWORD PTR[1+rsi*8+r14] 465 » xor» r12d,DWORD[1+rsi*8+r14]
463 » mov» eax,DWORD PTR[r15] 466 » mov» eax,DWORD[r15]
464 » xor» r8d,DWORD PTR[1+rbp*8+r14] 467 » xor» r8d,DWORD[1+rbp*8+r14]
465 468
466 xor eax,r10d 469 xor eax,r10d
467 » mov» ebx,DWORD PTR[4+r15] 470 » mov» ebx,DWORD[4+r15]
468 » mov» ecx,DWORD PTR[8+r15] 471 » mov» ecx,DWORD[8+r15]
469 xor ecx,r12d 472 xor ecx,r12d
470 xor ebx,r11d 473 xor ebx,r11d
471 xor edx,r8d 474 xor edx,r8d
472 sub r13d,1 475 sub r13d,1
473 » jnz» $L$dec_loop 476 » jnz» NEAR $L$dec_loop
474 » lea» r14,QWORD PTR[2048+r14] 477 » lea» r14,[2048+r14]
475 movzx esi,al 478 movzx esi,al
476 movzx edi,bl 479 movzx edi,bl
477 movzx ebp,cl 480 movzx ebp,cl
478 » movzx» r10d,BYTE PTR[rsi*1+r14] 481 » movzx» r10d,BYTE[rsi*1+r14]
479 » movzx» r11d,BYTE PTR[rdi*1+r14] 482 » movzx» r11d,BYTE[rdi*1+r14]
480 » movzx» r12d,BYTE PTR[rbp*1+r14] 483 » movzx» r12d,BYTE[rbp*1+r14]
481 484
482 movzx esi,dl 485 movzx esi,dl
483 movzx edi,dh 486 movzx edi,dh
484 movzx ebp,ah 487 movzx ebp,ah
485 » movzx» r8d,BYTE PTR[rsi*1+r14] 488 » movzx» r8d,BYTE[rsi*1+r14]
486 » movzx» edi,BYTE PTR[rdi*1+r14] 489 » movzx» edi,BYTE[rdi*1+r14]
487 » movzx» ebp,BYTE PTR[rbp*1+r14] 490 » movzx» ebp,BYTE[rbp*1+r14]
488 491
489 shl edi,8 492 shl edi,8
490 shl ebp,8 493 shl ebp,8
491 494
492 xor r10d,edi 495 xor r10d,edi
493 xor r11d,ebp 496 xor r11d,ebp
494 shr edx,16 497 shr edx,16
495 498
496 movzx esi,bh 499 movzx esi,bh
497 movzx edi,ch 500 movzx edi,ch
498 shr eax,16 501 shr eax,16
499 » movzx» esi,BYTE PTR[rsi*1+r14] 502 » movzx» esi,BYTE[rsi*1+r14]
500 » movzx» edi,BYTE PTR[rdi*1+r14] 503 » movzx» edi,BYTE[rdi*1+r14]
501 504
502 shl esi,8 505 shl esi,8
503 shl edi,8 506 shl edi,8
504 shr ebx,16 507 shr ebx,16
505 xor r12d,esi 508 xor r12d,esi
506 xor r8d,edi 509 xor r8d,edi
507 shr ecx,16 510 shr ecx,16
508 511
509 movzx esi,cl 512 movzx esi,cl
510 movzx edi,dl 513 movzx edi,dl
511 movzx ebp,al 514 movzx ebp,al
512 » movzx» esi,BYTE PTR[rsi*1+r14] 515 » movzx» esi,BYTE[rsi*1+r14]
513 » movzx» edi,BYTE PTR[rdi*1+r14] 516 » movzx» edi,BYTE[rdi*1+r14]
514 » movzx» ebp,BYTE PTR[rbp*1+r14] 517 » movzx» ebp,BYTE[rbp*1+r14]
515 518
516 shl esi,16 519 shl esi,16
517 shl edi,16 520 shl edi,16
518 shl ebp,16 521 shl ebp,16
519 522
520 xor r10d,esi 523 xor r10d,esi
521 xor r11d,edi 524 xor r11d,edi
522 xor r12d,ebp 525 xor r12d,ebp
523 526
524 movzx esi,bl 527 movzx esi,bl
525 movzx edi,bh 528 movzx edi,bh
526 movzx ebp,ch 529 movzx ebp,ch
527 » movzx» esi,BYTE PTR[rsi*1+r14] 530 » movzx» esi,BYTE[rsi*1+r14]
528 » movzx» edi,BYTE PTR[rdi*1+r14] 531 » movzx» edi,BYTE[rdi*1+r14]
529 » movzx» ebp,BYTE PTR[rbp*1+r14] 532 » movzx» ebp,BYTE[rbp*1+r14]
530 533
531 shl esi,16 534 shl esi,16
532 shl edi,24 535 shl edi,24
533 shl ebp,24 536 shl ebp,24
534 537
535 xor r8d,esi 538 xor r8d,esi
536 xor r10d,edi 539 xor r10d,edi
537 xor r11d,ebp 540 xor r11d,ebp
538 541
539 movzx esi,dh 542 movzx esi,dh
540 movzx edi,ah 543 movzx edi,ah
541 » mov» edx,DWORD PTR[((16+12))+r15] 544 » mov» edx,DWORD[((16+12))+r15]
542 » movzx» esi,BYTE PTR[rsi*1+r14] 545 » movzx» esi,BYTE[rsi*1+r14]
543 » movzx» edi,BYTE PTR[rdi*1+r14] 546 » movzx» edi,BYTE[rdi*1+r14]
544 » mov» eax,DWORD PTR[((16+0))+r15] 547 » mov» eax,DWORD[((16+0))+r15]
545 548
546 shl esi,24 549 shl esi,24
547 shl edi,24 550 shl edi,24
548 551
549 xor r12d,esi 552 xor r12d,esi
550 xor r8d,edi 553 xor r8d,edi
551 554
552 » mov» ebx,DWORD PTR[((16+4))+r15] 555 » mov» ebx,DWORD[((16+4))+r15]
553 » mov» ecx,DWORD PTR[((16+8))+r15] 556 » mov» ecx,DWORD[((16+8))+r15]
554 » lea» r14,QWORD PTR[((-2048))+r14] 557 » lea» r14,[((-2048))+r14]
555 xor eax,r10d 558 xor eax,r10d
556 xor ebx,r11d 559 xor ebx,r11d
557 xor ecx,r12d 560 xor ecx,r12d
558 xor edx,r8d 561 xor edx,r8d
559 DB» 0f3h,0c3h 562 DB» 0xf3,0xc3
560 _x86_64_AES_decrypt» ENDP 563
561 564
562 ALIGN 16 565 ALIGN 16
563 _x86_64_AES_decrypt_compact» PROC PRIVATE 566 _x86_64_AES_decrypt_compact:
564 » lea» r8,QWORD PTR[128+r14] 567 » lea» r8,[128+r14]
565 » mov» edi,DWORD PTR[((0-128))+r8] 568 » mov» edi,DWORD[((0-128))+r8]
566 » mov» ebp,DWORD PTR[((32-128))+r8] 569 » mov» ebp,DWORD[((32-128))+r8]
567 » mov» r10d,DWORD PTR[((64-128))+r8] 570 » mov» r10d,DWORD[((64-128))+r8]
568 » mov» r11d,DWORD PTR[((96-128))+r8] 571 » mov» r11d,DWORD[((96-128))+r8]
569 » mov» edi,DWORD PTR[((128-128))+r8] 572 » mov» edi,DWORD[((128-128))+r8]
570 » mov» ebp,DWORD PTR[((160-128))+r8] 573 » mov» ebp,DWORD[((160-128))+r8]
571 » mov» r10d,DWORD PTR[((192-128))+r8] 574 » mov» r10d,DWORD[((192-128))+r8]
572 » mov» r11d,DWORD PTR[((224-128))+r8] 575 » mov» r11d,DWORD[((224-128))+r8]
573 » jmp» $L$dec_loop_compact 576 » jmp» NEAR $L$dec_loop_compact
574 577
575 ALIGN 16 578 ALIGN 16
576 $L$dec_loop_compact:: 579 $L$dec_loop_compact:
577 » xor» eax,DWORD PTR[r15] 580 » xor» eax,DWORD[r15]
578 » xor» ebx,DWORD PTR[4+r15] 581 » xor» ebx,DWORD[4+r15]
579 » xor» ecx,DWORD PTR[8+r15] 582 » xor» ecx,DWORD[8+r15]
580 » xor» edx,DWORD PTR[12+r15] 583 » xor» edx,DWORD[12+r15]
581 » lea» r15,QWORD PTR[16+r15] 584 » lea» r15,[16+r15]
582 movzx r10d,al 585 movzx r10d,al
583 movzx r11d,bl 586 movzx r11d,bl
584 movzx r12d,cl 587 movzx r12d,cl
585 movzx r8d,dl 588 movzx r8d,dl
586 movzx esi,dh 589 movzx esi,dh
587 movzx edi,ah 590 movzx edi,ah
588 shr edx,16 591 shr edx,16
589 movzx ebp,bh 592 movzx ebp,bh
590 » movzx» r10d,BYTE PTR[r10*1+r14] 593 » movzx» r10d,BYTE[r10*1+r14]
591 » movzx» r11d,BYTE PTR[r11*1+r14] 594 » movzx» r11d,BYTE[r11*1+r14]
592 » movzx» r12d,BYTE PTR[r12*1+r14] 595 » movzx» r12d,BYTE[r12*1+r14]
593 » movzx» r8d,BYTE PTR[r8*1+r14] 596 » movzx» r8d,BYTE[r8*1+r14]
594 597
595 » movzx» r9d,BYTE PTR[rsi*1+r14] 598 » movzx» r9d,BYTE[rsi*1+r14]
596 movzx esi,ch 599 movzx esi,ch
597 » movzx» r13d,BYTE PTR[rdi*1+r14] 600 » movzx» r13d,BYTE[rdi*1+r14]
598 » movzx» ebp,BYTE PTR[rbp*1+r14] 601 » movzx» ebp,BYTE[rbp*1+r14]
599 » movzx» esi,BYTE PTR[rsi*1+r14] 602 » movzx» esi,BYTE[rsi*1+r14]
600 603
601 shr ecx,16 604 shr ecx,16
602 shl r13d,8 605 shl r13d,8
603 shl r9d,8 606 shl r9d,8
604 movzx edi,cl 607 movzx edi,cl
605 shr eax,16 608 shr eax,16
606 xor r10d,r9d 609 xor r10d,r9d
607 shr ebx,16 610 shr ebx,16
608 movzx r9d,dl 611 movzx r9d,dl
609 612
610 shl ebp,8 613 shl ebp,8
611 xor r11d,r13d 614 xor r11d,r13d
612 shl esi,8 615 shl esi,8
613 movzx r13d,al 616 movzx r13d,al
614 » movzx» edi,BYTE PTR[rdi*1+r14] 617 » movzx» edi,BYTE[rdi*1+r14]
615 xor r12d,ebp 618 xor r12d,ebp
616 movzx ebp,bl 619 movzx ebp,bl
617 620
618 shl edi,16 621 shl edi,16
619 xor r8d,esi 622 xor r8d,esi
620 » movzx» r9d,BYTE PTR[r9*1+r14] 623 » movzx» r9d,BYTE[r9*1+r14]
621 movzx esi,bh 624 movzx esi,bh
622 » movzx» ebp,BYTE PTR[rbp*1+r14] 625 » movzx» ebp,BYTE[rbp*1+r14]
623 xor r10d,edi 626 xor r10d,edi
624 » movzx» r13d,BYTE PTR[r13*1+r14] 627 » movzx» r13d,BYTE[r13*1+r14]
625 movzx edi,ch 628 movzx edi,ch
626 629
627 shl ebp,16 630 shl ebp,16
628 shl r9d,16 631 shl r9d,16
629 shl r13d,16 632 shl r13d,16
630 xor r8d,ebp 633 xor r8d,ebp
631 movzx ebp,dh 634 movzx ebp,dh
632 xor r11d,r9d 635 xor r11d,r9d
633 shr eax,8 636 shr eax,8
634 xor r12d,r13d 637 xor r12d,r13d
635 638
636 » movzx» esi,BYTE PTR[rsi*1+r14] 639 » movzx» esi,BYTE[rsi*1+r14]
637 » movzx» ebx,BYTE PTR[rdi*1+r14] 640 » movzx» ebx,BYTE[rdi*1+r14]
638 » movzx» ecx,BYTE PTR[rbp*1+r14] 641 » movzx» ecx,BYTE[rbp*1+r14]
639 » movzx» edx,BYTE PTR[rax*1+r14] 642 » movzx» edx,BYTE[rax*1+r14]
640 643
641 mov eax,r10d 644 mov eax,r10d
642 shl esi,24 645 shl esi,24
643 shl ebx,24 646 shl ebx,24
644 shl ecx,24 647 shl ecx,24
645 xor eax,esi 648 xor eax,esi
646 shl edx,24 649 shl edx,24
647 xor ebx,r11d 650 xor ebx,r11d
648 xor ecx,r12d 651 xor ecx,r12d
649 xor edx,r8d 652 xor edx,r8d
650 » cmp» r15,QWORD PTR[16+rsp] 653 » cmp» r15,QWORD[16+rsp]
651 » je» $L$dec_compact_done 654 » je» NEAR $L$dec_compact_done
652 655
653 » mov» rsi,QWORD PTR[((256+0))+r14] 656 » mov» rsi,QWORD[((256+0))+r14]
654 shl rbx,32 657 shl rbx,32
655 shl rdx,32 658 shl rdx,32
656 » mov» rdi,QWORD PTR[((256+8))+r14] 659 » mov» rdi,QWORD[((256+8))+r14]
657 or rax,rbx 660 or rax,rbx
658 or rcx,rdx 661 or rcx,rdx
659 » mov» rbp,QWORD PTR[((256+16))+r14] 662 » mov» rbp,QWORD[((256+16))+r14]
660 mov r9,rsi 663 mov r9,rsi
661 mov r12,rsi 664 mov r12,rsi
662 and r9,rax 665 and r9,rax
663 and r12,rcx 666 and r12,rcx
664 mov rbx,r9 667 mov rbx,r9
665 mov rdx,r12 668 mov rdx,r12
666 shr r9,7 669 shr r9,7
667 » lea» r8,QWORD PTR[rax*1+rax] 670 » lea» r8,[rax*1+rax]
668 shr r12,7 671 shr r12,7
669 » lea» r11,QWORD PTR[rcx*1+rcx] 672 » lea» r11,[rcx*1+rcx]
670 sub rbx,r9 673 sub rbx,r9
671 sub rdx,r12 674 sub rdx,r12
672 and r8,rdi 675 and r8,rdi
673 and r11,rdi 676 and r11,rdi
674 and rbx,rbp 677 and rbx,rbp
675 and rdx,rbp 678 and rdx,rbp
676 xor r8,rbx 679 xor r8,rbx
677 xor r11,rdx 680 xor r11,rdx
678 mov r10,rsi 681 mov r10,rsi
679 mov r13,rsi 682 mov r13,rsi
680 683
681 and r10,r8 684 and r10,r8
682 and r13,r11 685 and r13,r11
683 mov rbx,r10 686 mov rbx,r10
684 mov rdx,r13 687 mov rdx,r13
685 shr r10,7 688 shr r10,7
686 » lea» r9,QWORD PTR[r8*1+r8] 689 » lea» r9,[r8*1+r8]
687 shr r13,7 690 shr r13,7
688 » lea» r12,QWORD PTR[r11*1+r11] 691 » lea» r12,[r11*1+r11]
689 sub rbx,r10 692 sub rbx,r10
690 sub rdx,r13 693 sub rdx,r13
691 and r9,rdi 694 and r9,rdi
692 and r12,rdi 695 and r12,rdi
693 and rbx,rbp 696 and rbx,rbp
694 and rdx,rbp 697 and rdx,rbp
695 xor r9,rbx 698 xor r9,rbx
696 xor r12,rdx 699 xor r12,rdx
697 mov r10,rsi 700 mov r10,rsi
698 mov r13,rsi 701 mov r13,rsi
699 702
700 and r10,r9 703 and r10,r9
701 and r13,r12 704 and r13,r12
702 mov rbx,r10 705 mov rbx,r10
703 mov rdx,r13 706 mov rdx,r13
704 shr r10,7 707 shr r10,7
705 xor r8,rax 708 xor r8,rax
706 shr r13,7 709 shr r13,7
707 xor r11,rcx 710 xor r11,rcx
708 sub rbx,r10 711 sub rbx,r10
709 sub rdx,r13 712 sub rdx,r13
710 » lea» r10,QWORD PTR[r9*1+r9] 713 » lea» r10,[r9*1+r9]
711 » lea» r13,QWORD PTR[r12*1+r12] 714 » lea» r13,[r12*1+r12]
712 xor r9,rax 715 xor r9,rax
713 xor r12,rcx 716 xor r12,rcx
714 and r10,rdi 717 and r10,rdi
715 and r13,rdi 718 and r13,rdi
716 and rbx,rbp 719 and rbx,rbp
717 and rdx,rbp 720 and rdx,rbp
718 xor r10,rbx 721 xor r10,rbx
719 xor r13,rdx 722 xor r13,rdx
720 723
721 xor rax,r10 724 xor rax,r10
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 xor ecx,r11d 757 xor ecx,r11d
755 rol r10d,24 758 rol r10d,24
756 mov r8,r9 759 mov r8,r9
757 rol r13d,24 760 rol r13d,24
758 mov r11,r12 761 mov r11,r12
759 shr r8,32 762 shr r8,32
760 xor ebx,r10d 763 xor ebx,r10d
761 shr r11,32 764 shr r11,32
762 xor edx,r13d 765 xor edx,r13d
763 766
764 » mov» rsi,QWORD PTR[r14] 767 » mov» rsi,QWORD[r14]
765 rol r9d,16 768 rol r9d,16
766 » mov» rdi,QWORD PTR[64+r14] 769 » mov» rdi,QWORD[64+r14]
767 rol r12d,16 770 rol r12d,16
768 » mov» rbp,QWORD PTR[128+r14] 771 » mov» rbp,QWORD[128+r14]
769 rol r8d,16 772 rol r8d,16
770 » mov» r10,QWORD PTR[192+r14] 773 » mov» r10,QWORD[192+r14]
771 xor eax,r9d 774 xor eax,r9d
772 rol r11d,16 775 rol r11d,16
773 xor ecx,r12d 776 xor ecx,r12d
774 » mov» r13,QWORD PTR[256+r14] 777 » mov» r13,QWORD[256+r14]
775 xor ebx,r8d 778 xor ebx,r8d
776 xor edx,r11d 779 xor edx,r11d
777 » jmp» $L$dec_loop_compact 780 » jmp» NEAR $L$dec_loop_compact
778 ALIGN 16 781 ALIGN 16
779 $L$dec_compact_done:: 782 $L$dec_compact_done:
780 » xor» eax,DWORD PTR[r15] 783 » xor» eax,DWORD[r15]
781 » xor» ebx,DWORD PTR[4+r15] 784 » xor» ebx,DWORD[4+r15]
782 » xor» ecx,DWORD PTR[8+r15] 785 » xor» ecx,DWORD[8+r15]
783 » xor» edx,DWORD PTR[12+r15] 786 » xor» edx,DWORD[12+r15]
784 DB» 0f3h,0c3h 787 DB» 0xf3,0xc3
785 _x86_64_AES_decrypt_compact» ENDP 788
786 ALIGN 16 789 ALIGN 16
787 PUBLIC» asm_AES_decrypt 790 global» asm_AES_decrypt
788 791
789 792
790 asm_AES_decrypt»PROC PUBLIC 793 asm_AES_decrypt:
791 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue 794 » mov» QWORD[8+rsp],rdi» ;WIN64 prologue
792 » mov» QWORD PTR[16+rsp],rsi 795 » mov» QWORD[16+rsp],rsi
793 mov rax,rsp 796 mov rax,rsp
794 $L$SEH_begin_asm_AES_decrypt:: 797 $L$SEH_begin_asm_AES_decrypt:
795 mov rdi,rcx 798 mov rdi,rcx
796 mov rsi,rdx 799 mov rsi,rdx
797 mov rdx,r8 800 mov rdx,r8
798 801
799 802
800 push rbx 803 push rbx
801 push rbp 804 push rbp
802 push r12 805 push r12
803 push r13 806 push r13
804 push r14 807 push r14
805 push r15 808 push r15
806 809
807 810
808 mov r10,rsp 811 mov r10,rsp
809 » lea» rcx,QWORD PTR[((-63))+rdx] 812 » lea» rcx,[((-63))+rdx]
810 and rsp,-64 813 and rsp,-64
811 sub rcx,rsp 814 sub rcx,rsp
812 neg rcx 815 neg rcx
813 » and» rcx,03c0h 816 » and» rcx,0x3c0
814 sub rsp,rcx 817 sub rsp,rcx
815 sub rsp,32 818 sub rsp,32
816 819
817 » mov» QWORD PTR[16+rsp],rsi 820 » mov» QWORD[16+rsp],rsi
818 » mov» QWORD PTR[24+rsp],r10 821 » mov» QWORD[24+rsp],r10
819 $L$dec_prologue:: 822 $L$dec_prologue:
820 823
821 mov r15,rdx 824 mov r15,rdx
822 » mov» r13d,DWORD PTR[240+r15] 825 » mov» r13d,DWORD[240+r15]
823 826
824 » mov» eax,DWORD PTR[rdi] 827 » mov» eax,DWORD[rdi]
825 » mov» ebx,DWORD PTR[4+rdi] 828 » mov» ebx,DWORD[4+rdi]
826 » mov» ecx,DWORD PTR[8+rdi] 829 » mov» ecx,DWORD[8+rdi]
827 » mov» edx,DWORD PTR[12+rdi] 830 » mov» edx,DWORD[12+rdi]
828 831
829 shl r13d,4 832 shl r13d,4
830 » lea» rbp,QWORD PTR[r13*1+r15] 833 » lea» rbp,[r13*1+r15]
831 » mov» QWORD PTR[rsp],r15 834 » mov» QWORD[rsp],r15
832 » mov» QWORD PTR[8+rsp],rbp 835 » mov» QWORD[8+rsp],rbp
833 836
834 837
835 » lea» r14,QWORD PTR[(($L$AES_Td+2048))] 838 » lea» r14,[(($L$AES_Td+2048))]
836 » lea» rbp,QWORD PTR[768+rsp] 839 » lea» rbp,[768+rsp]
837 sub rbp,r14 840 sub rbp,r14
838 » and» rbp,0300h 841 » and» rbp,0x300
839 » lea» r14,QWORD PTR[rbp*1+r14] 842 » lea» r14,[rbp*1+r14]
840 shr rbp,3 843 shr rbp,3
841 add r14,rbp 844 add r14,rbp
842 845
843 call _x86_64_AES_decrypt_compact 846 call _x86_64_AES_decrypt_compact
844 847
845 » mov» r9,QWORD PTR[16+rsp] 848 » mov» r9,QWORD[16+rsp]
846 » mov» rsi,QWORD PTR[24+rsp] 849 » mov» rsi,QWORD[24+rsp]
847 » mov» DWORD PTR[r9],eax 850 » mov» DWORD[r9],eax
848 » mov» DWORD PTR[4+r9],ebx 851 » mov» DWORD[4+r9],ebx
849 » mov» DWORD PTR[8+r9],ecx 852 » mov» DWORD[8+r9],ecx
850 » mov» DWORD PTR[12+r9],edx 853 » mov» DWORD[12+r9],edx
851 854
852 » mov» r15,QWORD PTR[rsi] 855 » mov» r15,QWORD[rsi]
853 » mov» r14,QWORD PTR[8+rsi] 856 » mov» r14,QWORD[8+rsi]
854 » mov» r13,QWORD PTR[16+rsi] 857 » mov» r13,QWORD[16+rsi]
855 » mov» r12,QWORD PTR[24+rsi] 858 » mov» r12,QWORD[24+rsi]
856 » mov» rbp,QWORD PTR[32+rsi] 859 » mov» rbp,QWORD[32+rsi]
857 » mov» rbx,QWORD PTR[40+rsi] 860 » mov» rbx,QWORD[40+rsi]
858 » lea» rsp,QWORD PTR[48+rsi] 861 » lea» rsp,[48+rsi]
859 $L$dec_epilogue:: 862 $L$dec_epilogue:
860 » mov» rdi,QWORD PTR[8+rsp]» ;WIN64 epilogue 863 » mov» rdi,QWORD[8+rsp]» ;WIN64 epilogue
861 » mov» rsi,QWORD PTR[16+rsp] 864 » mov» rsi,QWORD[16+rsp]
862 DB 0F3h,0C3h ;repret 865 DB 0F3h,0C3h ;repret
863 $L$SEH_end_asm_AES_decrypt:: 866 $L$SEH_end_asm_AES_decrypt:
864 asm_AES_decrypt»ENDP
865 ALIGN 16 867 ALIGN 16
866 PUBLIC» asm_AES_set_encrypt_key 868 global» asm_AES_set_encrypt_key
867 869
868 asm_AES_set_encrypt_key»PROC PUBLIC 870 asm_AES_set_encrypt_key:
869 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue 871 » mov» QWORD[8+rsp],rdi» ;WIN64 prologue
870 » mov» QWORD PTR[16+rsp],rsi 872 » mov» QWORD[16+rsp],rsi
871 mov rax,rsp 873 mov rax,rsp
872 $L$SEH_begin_asm_AES_set_encrypt_key:: 874 $L$SEH_begin_asm_AES_set_encrypt_key:
873 mov rdi,rcx 875 mov rdi,rcx
874 mov rsi,rdx 876 mov rsi,rdx
875 mov rdx,r8 877 mov rdx,r8
876 878
877 879
878 push rbx 880 push rbx
879 push rbp 881 push rbp
880 push r12 882 push r12
881 push r13 883 push r13
882 push r14 884 push r14
883 push r15 885 push r15
884 sub rsp,8 886 sub rsp,8
885 $L$enc_key_prologue:: 887 $L$enc_key_prologue:
886 888
887 call _x86_64_AES_set_encrypt_key 889 call _x86_64_AES_set_encrypt_key
888 890
889 » mov» rbp,QWORD PTR[40+rsp] 891 » mov» rbp,QWORD[40+rsp]
890 » mov» rbx,QWORD PTR[48+rsp] 892 » mov» rbx,QWORD[48+rsp]
891 add rsp,56 893 add rsp,56
892 $L$enc_key_epilogue:: 894 $L$enc_key_epilogue:
893 » mov» rdi,QWORD PTR[8+rsp]» ;WIN64 epilogue 895 » mov» rdi,QWORD[8+rsp]» ;WIN64 epilogue
894 » mov» rsi,QWORD PTR[16+rsp] 896 » mov» rsi,QWORD[16+rsp]
895 DB 0F3h,0C3h ;repret 897 DB 0F3h,0C3h ;repret
896 $L$SEH_end_asm_AES_set_encrypt_key:: 898 $L$SEH_end_asm_AES_set_encrypt_key:
897 asm_AES_set_encrypt_key»ENDP
898 899
899 900
900 ALIGN 16 901 ALIGN 16
901 _x86_64_AES_set_encrypt_key» PROC PRIVATE 902 _x86_64_AES_set_encrypt_key:
902 mov ecx,esi 903 mov ecx,esi
903 mov rsi,rdi 904 mov rsi,rdi
904 mov rdi,rdx 905 mov rdi,rdx
905 906
906 test rsi,-1 907 test rsi,-1
907 » jz» $L$badpointer 908 » jz» NEAR $L$badpointer
908 test rdi,-1 909 test rdi,-1
909 » jz» $L$badpointer 910 » jz» NEAR $L$badpointer
910 911
911 » lea» rbp,QWORD PTR[$L$AES_Te] 912 » lea» rbp,[$L$AES_Te]
912 » lea» rbp,QWORD PTR[((2048+128))+rbp] 913 » lea» rbp,[((2048+128))+rbp]
913 914
914 915
915 » mov» eax,DWORD PTR[((0-128))+rbp] 916 » mov» eax,DWORD[((0-128))+rbp]
916 » mov» ebx,DWORD PTR[((32-128))+rbp] 917 » mov» ebx,DWORD[((32-128))+rbp]
917 » mov» r8d,DWORD PTR[((64-128))+rbp] 918 » mov» r8d,DWORD[((64-128))+rbp]
918 » mov» edx,DWORD PTR[((96-128))+rbp] 919 » mov» edx,DWORD[((96-128))+rbp]
919 » mov» eax,DWORD PTR[((128-128))+rbp] 920 » mov» eax,DWORD[((128-128))+rbp]
920 » mov» ebx,DWORD PTR[((160-128))+rbp] 921 » mov» ebx,DWORD[((160-128))+rbp]
921 » mov» r8d,DWORD PTR[((192-128))+rbp] 922 » mov» r8d,DWORD[((192-128))+rbp]
922 » mov» edx,DWORD PTR[((224-128))+rbp] 923 » mov» edx,DWORD[((224-128))+rbp]
923 924
924 cmp ecx,128 925 cmp ecx,128
925 » je» $L$10rounds 926 » je» NEAR $L$10rounds
926 cmp ecx,192 927 cmp ecx,192
927 » je» $L$12rounds 928 » je» NEAR $L$12rounds
928 cmp ecx,256 929 cmp ecx,256
929 » je» $L$14rounds 930 » je» NEAR $L$14rounds
930 mov rax,-2 931 mov rax,-2
931 » jmp» $L$exit 932 » jmp» NEAR $L$exit
932 933
933 $L$10rounds:: 934 $L$10rounds:
934 » mov» rax,QWORD PTR[rsi] 935 » mov» rax,QWORD[rsi]
935 » mov» rdx,QWORD PTR[8+rsi] 936 » mov» rdx,QWORD[8+rsi]
936 » mov» QWORD PTR[rdi],rax 937 » mov» QWORD[rdi],rax
937 » mov» QWORD PTR[8+rdi],rdx 938 » mov» QWORD[8+rdi],rdx
938 939
939 shr rdx,32 940 shr rdx,32
940 xor ecx,ecx 941 xor ecx,ecx
941 » jmp» $L$10shortcut 942 » jmp» NEAR $L$10shortcut
942 ALIGN 4 943 ALIGN 4
943 $L$10loop:: 944 $L$10loop:
944 » mov» eax,DWORD PTR[rdi] 945 » mov» eax,DWORD[rdi]
945 » mov» edx,DWORD PTR[12+rdi] 946 » mov» edx,DWORD[12+rdi]
946 $L$10shortcut:: 947 $L$10shortcut:
947 » movzx» esi,dl 948 » movzx» esi,dl
948 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 949 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
949 » movzx» esi,dh 950 » movzx» esi,dh
950 » shl» ebx,24 951 » shl» ebx,24
951 » xor» eax,ebx 952 » xor» eax,ebx
952 953
953 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 954 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
954 » shr» edx,16 955 » shr» edx,16
955 » movzx» esi,dl 956 » movzx» esi,dl
956 » xor» eax,ebx 957 » xor» eax,ebx
957 958
958 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 959 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
959 » movzx» esi,dh 960 » movzx» esi,dh
960 » shl» ebx,8 961 » shl» ebx,8
961 » xor» eax,ebx 962 » xor» eax,ebx
962 963
963 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 964 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
964 » shl» ebx,16 965 » shl» ebx,16
965 » xor» eax,ebx 966 » xor» eax,ebx
966 967
967 » xor» eax,DWORD PTR[((1024-128))+rcx*4+rbp] 968 » xor» eax,DWORD[((1024-128))+rcx*4+rbp]
968 » mov» DWORD PTR[16+rdi],eax 969 » mov» DWORD[16+rdi],eax
969 » xor» eax,DWORD PTR[4+rdi] 970 » xor» eax,DWORD[4+rdi]
970 » mov» DWORD PTR[20+rdi],eax 971 » mov» DWORD[20+rdi],eax
971 » xor» eax,DWORD PTR[8+rdi] 972 » xor» eax,DWORD[8+rdi]
972 » mov» DWORD PTR[24+rdi],eax 973 » mov» DWORD[24+rdi],eax
973 » xor» eax,DWORD PTR[12+rdi] 974 » xor» eax,DWORD[12+rdi]
974 » mov» DWORD PTR[28+rdi],eax 975 » mov» DWORD[28+rdi],eax
975 add ecx,1 976 add ecx,1
976 » lea» rdi,QWORD PTR[16+rdi] 977 » lea» rdi,[16+rdi]
977 cmp ecx,10 978 cmp ecx,10
978 » jl» $L$10loop 979 » jl» NEAR $L$10loop
979 980
980 » mov» DWORD PTR[80+rdi],10 981 » mov» DWORD[80+rdi],10
981 xor rax,rax 982 xor rax,rax
982 » jmp» $L$exit 983 » jmp» NEAR $L$exit
983 984
984 $L$12rounds:: 985 $L$12rounds:
985 » mov» rax,QWORD PTR[rsi] 986 » mov» rax,QWORD[rsi]
986 » mov» rbx,QWORD PTR[8+rsi] 987 » mov» rbx,QWORD[8+rsi]
987 » mov» rdx,QWORD PTR[16+rsi] 988 » mov» rdx,QWORD[16+rsi]
988 » mov» QWORD PTR[rdi],rax 989 » mov» QWORD[rdi],rax
989 » mov» QWORD PTR[8+rdi],rbx 990 » mov» QWORD[8+rdi],rbx
990 » mov» QWORD PTR[16+rdi],rdx 991 » mov» QWORD[16+rdi],rdx
991 992
992 shr rdx,32 993 shr rdx,32
993 xor ecx,ecx 994 xor ecx,ecx
994 » jmp» $L$12shortcut 995 » jmp» NEAR $L$12shortcut
995 ALIGN 4 996 ALIGN 4
996 $L$12loop:: 997 $L$12loop:
997 » mov» eax,DWORD PTR[rdi] 998 » mov» eax,DWORD[rdi]
998 » mov» edx,DWORD PTR[20+rdi] 999 » mov» edx,DWORD[20+rdi]
999 $L$12shortcut:: 1000 $L$12shortcut:
1000 » movzx» esi,dl 1001 » movzx» esi,dl
1001 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1002 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1002 » movzx» esi,dh 1003 » movzx» esi,dh
1003 » shl» ebx,24 1004 » shl» ebx,24
1004 » xor» eax,ebx 1005 » xor» eax,ebx
1005 1006
1006 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1007 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1007 » shr» edx,16 1008 » shr» edx,16
1008 » movzx» esi,dl 1009 » movzx» esi,dl
1009 » xor» eax,ebx 1010 » xor» eax,ebx
1010 1011
1011 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1012 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1012 » movzx» esi,dh 1013 » movzx» esi,dh
1013 » shl» ebx,8 1014 » shl» ebx,8
1014 » xor» eax,ebx 1015 » xor» eax,ebx
1015 1016
1016 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1017 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1017 » shl» ebx,16 1018 » shl» ebx,16
1018 » xor» eax,ebx 1019 » xor» eax,ebx
1019 1020
1020 » xor» eax,DWORD PTR[((1024-128))+rcx*4+rbp] 1021 » xor» eax,DWORD[((1024-128))+rcx*4+rbp]
1021 » mov» DWORD PTR[24+rdi],eax 1022 » mov» DWORD[24+rdi],eax
1022 » xor» eax,DWORD PTR[4+rdi] 1023 » xor» eax,DWORD[4+rdi]
1023 » mov» DWORD PTR[28+rdi],eax 1024 » mov» DWORD[28+rdi],eax
1024 » xor» eax,DWORD PTR[8+rdi] 1025 » xor» eax,DWORD[8+rdi]
1025 » mov» DWORD PTR[32+rdi],eax 1026 » mov» DWORD[32+rdi],eax
1026 » xor» eax,DWORD PTR[12+rdi] 1027 » xor» eax,DWORD[12+rdi]
1027 » mov» DWORD PTR[36+rdi],eax 1028 » mov» DWORD[36+rdi],eax
1028 1029
1029 cmp ecx,7 1030 cmp ecx,7
1030 » je» $L$12break 1031 » je» NEAR $L$12break
1031 add ecx,1 1032 add ecx,1
1032 1033
1033 » xor» eax,DWORD PTR[16+rdi] 1034 » xor» eax,DWORD[16+rdi]
1034 » mov» DWORD PTR[40+rdi],eax 1035 » mov» DWORD[40+rdi],eax
1035 » xor» eax,DWORD PTR[20+rdi] 1036 » xor» eax,DWORD[20+rdi]
1036 » mov» DWORD PTR[44+rdi],eax 1037 » mov» DWORD[44+rdi],eax
1037 1038
1038 » lea» rdi,QWORD PTR[24+rdi] 1039 » lea» rdi,[24+rdi]
1039 » jmp» $L$12loop 1040 » jmp» NEAR $L$12loop
1040 $L$12break:: 1041 $L$12break:
1041 » mov» DWORD PTR[72+rdi],12 1042 » mov» DWORD[72+rdi],12
1042 xor rax,rax 1043 xor rax,rax
1043 » jmp» $L$exit 1044 » jmp» NEAR $L$exit
1044 1045
1045 $L$14rounds:: 1046 $L$14rounds:
1046 » mov» rax,QWORD PTR[rsi] 1047 » mov» rax,QWORD[rsi]
1047 » mov» rbx,QWORD PTR[8+rsi] 1048 » mov» rbx,QWORD[8+rsi]
1048 » mov» rcx,QWORD PTR[16+rsi] 1049 » mov» rcx,QWORD[16+rsi]
1049 » mov» rdx,QWORD PTR[24+rsi] 1050 » mov» rdx,QWORD[24+rsi]
1050 » mov» QWORD PTR[rdi],rax 1051 » mov» QWORD[rdi],rax
1051 » mov» QWORD PTR[8+rdi],rbx 1052 » mov» QWORD[8+rdi],rbx
1052 » mov» QWORD PTR[16+rdi],rcx 1053 » mov» QWORD[16+rdi],rcx
1053 » mov» QWORD PTR[24+rdi],rdx 1054 » mov» QWORD[24+rdi],rdx
1054 1055
1055 shr rdx,32 1056 shr rdx,32
1056 xor ecx,ecx 1057 xor ecx,ecx
1057 » jmp» $L$14shortcut 1058 » jmp» NEAR $L$14shortcut
1058 ALIGN 4 1059 ALIGN 4
1059 $L$14loop:: 1060 $L$14loop:
1060 » mov» eax,DWORD PTR[rdi] 1061 » mov» eax,DWORD[rdi]
1061 » mov» edx,DWORD PTR[28+rdi] 1062 » mov» edx,DWORD[28+rdi]
1062 $L$14shortcut:: 1063 $L$14shortcut:
1063 » movzx» esi,dl 1064 » movzx» esi,dl
1064 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1065 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1065 » movzx» esi,dh 1066 » movzx» esi,dh
1066 » shl» ebx,24 1067 » shl» ebx,24
1067 » xor» eax,ebx 1068 » xor» eax,ebx
1068 1069
1069 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1070 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1070 » shr» edx,16 1071 » shr» edx,16
1071 » movzx» esi,dl 1072 » movzx» esi,dl
1072 » xor» eax,ebx 1073 » xor» eax,ebx
1073 1074
1074 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1075 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1075 » movzx» esi,dh 1076 » movzx» esi,dh
1076 » shl» ebx,8 1077 » shl» ebx,8
1077 » xor» eax,ebx 1078 » xor» eax,ebx
1078 1079
1079 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1080 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1080 » shl» ebx,16 1081 » shl» ebx,16
1081 » xor» eax,ebx 1082 » xor» eax,ebx
1082 1083
1083 » xor» eax,DWORD PTR[((1024-128))+rcx*4+rbp] 1084 » xor» eax,DWORD[((1024-128))+rcx*4+rbp]
1084 » mov» DWORD PTR[32+rdi],eax 1085 » mov» DWORD[32+rdi],eax
1085 » xor» eax,DWORD PTR[4+rdi] 1086 » xor» eax,DWORD[4+rdi]
1086 » mov» DWORD PTR[36+rdi],eax 1087 » mov» DWORD[36+rdi],eax
1087 » xor» eax,DWORD PTR[8+rdi] 1088 » xor» eax,DWORD[8+rdi]
1088 » mov» DWORD PTR[40+rdi],eax 1089 » mov» DWORD[40+rdi],eax
1089 » xor» eax,DWORD PTR[12+rdi] 1090 » xor» eax,DWORD[12+rdi]
1090 » mov» DWORD PTR[44+rdi],eax 1091 » mov» DWORD[44+rdi],eax
1091 1092
1092 cmp ecx,6 1093 cmp ecx,6
1093 » je» $L$14break 1094 » je» NEAR $L$14break
1094 add ecx,1 1095 add ecx,1
1095 1096
1096 mov edx,eax 1097 mov edx,eax
1097 » mov» eax,DWORD PTR[16+rdi] 1098 » mov» eax,DWORD[16+rdi]
1098 » movzx» esi,dl 1099 » movzx» esi,dl
1099 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1100 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1100 » movzx» esi,dh 1101 » movzx» esi,dh
1101 » xor» eax,ebx 1102 » xor» eax,ebx
1102 1103
1103 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1104 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1104 » shr» edx,16 1105 » shr» edx,16
1105 » shl» ebx,8 1106 » shl» ebx,8
1106 » movzx» esi,dl 1107 » movzx» esi,dl
1107 » xor» eax,ebx 1108 » xor» eax,ebx
1108 1109
1109 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1110 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1110 » movzx» esi,dh 1111 » movzx» esi,dh
1111 » shl» ebx,16 1112 » shl» ebx,16
1112 » xor» eax,ebx 1113 » xor» eax,ebx
1113 1114
1114 » movzx» ebx,BYTE PTR[((-128))+rsi*1+rbp] 1115 » movzx» ebx,BYTE[((-128))+rsi*1+rbp]
1115 » shl» ebx,24 1116 » shl» ebx,24
1116 » xor» eax,ebx 1117 » xor» eax,ebx
1117 1118
1118 » mov» DWORD PTR[48+rdi],eax 1119 » mov» DWORD[48+rdi],eax
1119 » xor» eax,DWORD PTR[20+rdi] 1120 » xor» eax,DWORD[20+rdi]
1120 » mov» DWORD PTR[52+rdi],eax 1121 » mov» DWORD[52+rdi],eax
1121 » xor» eax,DWORD PTR[24+rdi] 1122 » xor» eax,DWORD[24+rdi]
1122 » mov» DWORD PTR[56+rdi],eax 1123 » mov» DWORD[56+rdi],eax
1123 » xor» eax,DWORD PTR[28+rdi] 1124 » xor» eax,DWORD[28+rdi]
1124 » mov» DWORD PTR[60+rdi],eax 1125 » mov» DWORD[60+rdi],eax
1125 1126
1126 » lea» rdi,QWORD PTR[32+rdi] 1127 » lea» rdi,[32+rdi]
1127 » jmp» $L$14loop 1128 » jmp» NEAR $L$14loop
1128 $L$14break:: 1129 $L$14break:
1129 » mov» DWORD PTR[48+rdi],14 1130 » mov» DWORD[48+rdi],14
1130 xor rax,rax 1131 xor rax,rax
1131 » jmp» $L$exit 1132 » jmp» NEAR $L$exit
1132 1133
1133 $L$badpointer:: 1134 $L$badpointer:
1134 mov rax,-1 1135 mov rax,-1
1135 $L$exit:: 1136 $L$exit:
1136 DB» 0f3h,0c3h 1137 DB» 0xf3,0xc3
1137 _x86_64_AES_set_encrypt_key» ENDP 1138
1138 ALIGN 16 1139 ALIGN 16
1139 PUBLIC» asm_AES_set_decrypt_key 1140 global» asm_AES_set_decrypt_key
1140 1141
1141 asm_AES_set_decrypt_key»PROC PUBLIC 1142 asm_AES_set_decrypt_key:
1142 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue 1143 » mov» QWORD[8+rsp],rdi» ;WIN64 prologue
1143 » mov» QWORD PTR[16+rsp],rsi 1144 » mov» QWORD[16+rsp],rsi
1144 mov rax,rsp 1145 mov rax,rsp
1145 $L$SEH_begin_asm_AES_set_decrypt_key:: 1146 $L$SEH_begin_asm_AES_set_decrypt_key:
1146 mov rdi,rcx 1147 mov rdi,rcx
1147 mov rsi,rdx 1148 mov rsi,rdx
1148 mov rdx,r8 1149 mov rdx,r8
1149 1150
1150 1151
1151 push rbx 1152 push rbx
1152 push rbp 1153 push rbp
1153 push r12 1154 push r12
1154 push r13 1155 push r13
1155 push r14 1156 push r14
1156 push r15 1157 push r15
1157 push rdx 1158 push rdx
1158 $L$dec_key_prologue:: 1159 $L$dec_key_prologue:
1159 1160
1160 call _x86_64_AES_set_encrypt_key 1161 call _x86_64_AES_set_encrypt_key
1161 » mov» r8,QWORD PTR[rsp] 1162 » mov» r8,QWORD[rsp]
1162 cmp eax,0 1163 cmp eax,0
1163 » jne» $L$abort 1164 » jne» NEAR $L$abort
1164 1165
1165 » mov» r14d,DWORD PTR[240+r8] 1166 » mov» r14d,DWORD[240+r8]
1166 xor rdi,rdi 1167 xor rdi,rdi
1167 » lea» rcx,QWORD PTR[r14*4+rdi] 1168 » lea» rcx,[r14*4+rdi]
1168 mov rsi,r8 1169 mov rsi,r8
1169 » lea» rdi,QWORD PTR[rcx*4+r8] 1170 » lea» rdi,[rcx*4+r8]
1170 ALIGN 4 1171 ALIGN 4
1171 $L$invert:: 1172 $L$invert:
1172 » mov» rax,QWORD PTR[rsi] 1173 » mov» rax,QWORD[rsi]
1173 » mov» rbx,QWORD PTR[8+rsi] 1174 » mov» rbx,QWORD[8+rsi]
1174 » mov» rcx,QWORD PTR[rdi] 1175 » mov» rcx,QWORD[rdi]
1175 » mov» rdx,QWORD PTR[8+rdi] 1176 » mov» rdx,QWORD[8+rdi]
1176 » mov» QWORD PTR[rdi],rax 1177 » mov» QWORD[rdi],rax
1177 » mov» QWORD PTR[8+rdi],rbx 1178 » mov» QWORD[8+rdi],rbx
1178 » mov» QWORD PTR[rsi],rcx 1179 » mov» QWORD[rsi],rcx
1179 » mov» QWORD PTR[8+rsi],rdx 1180 » mov» QWORD[8+rsi],rdx
1180 » lea» rsi,QWORD PTR[16+rsi] 1181 » lea» rsi,[16+rsi]
1181 » lea» rdi,QWORD PTR[((-16))+rdi] 1182 » lea» rdi,[((-16))+rdi]
1182 cmp rdi,rsi 1183 cmp rdi,rsi
1183 » jne» $L$invert 1184 » jne» NEAR $L$invert
1184 1185
1185 » lea» rax,QWORD PTR[(($L$AES_Te+2048+1024))] 1186 » lea» rax,[(($L$AES_Te+2048+1024))]
1186 1187
1187 » mov» rsi,QWORD PTR[40+rax] 1188 » mov» rsi,QWORD[40+rax]
1188 » mov» rdi,QWORD PTR[48+rax] 1189 » mov» rdi,QWORD[48+rax]
1189 » mov» rbp,QWORD PTR[56+rax] 1190 » mov» rbp,QWORD[56+rax]
1190 1191
1191 mov r15,r8 1192 mov r15,r8
1192 sub r14d,1 1193 sub r14d,1
1193 ALIGN 4 1194 ALIGN 4
1194 $L$permute:: 1195 $L$permute:
1195 » lea» r15,QWORD PTR[16+r15] 1196 » lea» r15,[16+r15]
1196 » mov» rax,QWORD PTR[r15] 1197 » mov» rax,QWORD[r15]
1197 » mov» rcx,QWORD PTR[8+r15] 1198 » mov» rcx,QWORD[8+r15]
1198 mov r9,rsi 1199 mov r9,rsi
1199 mov r12,rsi 1200 mov r12,rsi
1200 and r9,rax 1201 and r9,rax
1201 and r12,rcx 1202 and r12,rcx
1202 mov rbx,r9 1203 mov rbx,r9
1203 mov rdx,r12 1204 mov rdx,r12
1204 shr r9,7 1205 shr r9,7
1205 » lea» r8,QWORD PTR[rax*1+rax] 1206 » lea» r8,[rax*1+rax]
1206 shr r12,7 1207 shr r12,7
1207 » lea» r11,QWORD PTR[rcx*1+rcx] 1208 » lea» r11,[rcx*1+rcx]
1208 sub rbx,r9 1209 sub rbx,r9
1209 sub rdx,r12 1210 sub rdx,r12
1210 and r8,rdi 1211 and r8,rdi
1211 and r11,rdi 1212 and r11,rdi
1212 and rbx,rbp 1213 and rbx,rbp
1213 and rdx,rbp 1214 and rdx,rbp
1214 xor r8,rbx 1215 xor r8,rbx
1215 xor r11,rdx 1216 xor r11,rdx
1216 mov r10,rsi 1217 mov r10,rsi
1217 mov r13,rsi 1218 mov r13,rsi
1218 1219
1219 and r10,r8 1220 and r10,r8
1220 and r13,r11 1221 and r13,r11
1221 mov rbx,r10 1222 mov rbx,r10
1222 mov rdx,r13 1223 mov rdx,r13
1223 shr r10,7 1224 shr r10,7
1224 » lea» r9,QWORD PTR[r8*1+r8] 1225 » lea» r9,[r8*1+r8]
1225 shr r13,7 1226 shr r13,7
1226 » lea» r12,QWORD PTR[r11*1+r11] 1227 » lea» r12,[r11*1+r11]
1227 sub rbx,r10 1228 sub rbx,r10
1228 sub rdx,r13 1229 sub rdx,r13
1229 and r9,rdi 1230 and r9,rdi
1230 and r12,rdi 1231 and r12,rdi
1231 and rbx,rbp 1232 and rbx,rbp
1232 and rdx,rbp 1233 and rdx,rbp
1233 xor r9,rbx 1234 xor r9,rbx
1234 xor r12,rdx 1235 xor r12,rdx
1235 mov r10,rsi 1236 mov r10,rsi
1236 mov r13,rsi 1237 mov r13,rsi
1237 1238
1238 and r10,r9 1239 and r10,r9
1239 and r13,r12 1240 and r13,r12
1240 mov rbx,r10 1241 mov rbx,r10
1241 mov rdx,r13 1242 mov rdx,r13
1242 shr r10,7 1243 shr r10,7
1243 xor r8,rax 1244 xor r8,rax
1244 shr r13,7 1245 shr r13,7
1245 xor r11,rcx 1246 xor r11,rcx
1246 sub rbx,r10 1247 sub rbx,r10
1247 sub rdx,r13 1248 sub rdx,r13
1248 » lea» r10,QWORD PTR[r9*1+r9] 1249 » lea» r10,[r9*1+r9]
1249 » lea» r13,QWORD PTR[r12*1+r12] 1250 » lea» r13,[r12*1+r12]
1250 xor r9,rax 1251 xor r9,rax
1251 xor r12,rcx 1252 xor r12,rcx
1252 and r10,rdi 1253 and r10,rdi
1253 and r13,rdi 1254 and r13,rdi
1254 and rbx,rbp 1255 and rbx,rbp
1255 and rdx,rbp 1256 and rdx,rbp
1256 xor r10,rbx 1257 xor r10,rbx
1257 xor r13,rdx 1258 xor r13,rdx
1258 1259
1259 xor rax,r10 1260 xor rax,r10
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1305 rol r12d,16 1306 rol r12d,16
1306 1307
1307 rol r8d,16 1308 rol r8d,16
1308 1309
1309 xor eax,r9d 1310 xor eax,r9d
1310 rol r11d,16 1311 rol r11d,16
1311 xor ecx,r12d 1312 xor ecx,r12d
1312 1313
1313 xor ebx,r8d 1314 xor ebx,r8d
1314 xor edx,r11d 1315 xor edx,r11d
1315 » mov» DWORD PTR[r15],eax 1316 » mov» DWORD[r15],eax
1316 » mov» DWORD PTR[4+r15],ebx 1317 » mov» DWORD[4+r15],ebx
1317 » mov» DWORD PTR[8+r15],ecx 1318 » mov» DWORD[8+r15],ecx
1318 » mov» DWORD PTR[12+r15],edx 1319 » mov» DWORD[12+r15],edx
1319 sub r14d,1 1320 sub r14d,1
1320 » jnz» $L$permute 1321 » jnz» NEAR $L$permute
1321 1322
1322 xor rax,rax 1323 xor rax,rax
1323 $L$abort:: 1324 $L$abort:
1324 » mov» r15,QWORD PTR[8+rsp] 1325 » mov» r15,QWORD[8+rsp]
1325 » mov» r14,QWORD PTR[16+rsp] 1326 » mov» r14,QWORD[16+rsp]
1326 » mov» r13,QWORD PTR[24+rsp] 1327 » mov» r13,QWORD[24+rsp]
1327 » mov» r12,QWORD PTR[32+rsp] 1328 » mov» r12,QWORD[32+rsp]
1328 » mov» rbp,QWORD PTR[40+rsp] 1329 » mov» rbp,QWORD[40+rsp]
1329 » mov» rbx,QWORD PTR[48+rsp] 1330 » mov» rbx,QWORD[48+rsp]
1330 add rsp,56 1331 add rsp,56
1331 $L$dec_key_epilogue:: 1332 $L$dec_key_epilogue:
1332 » mov» rdi,QWORD PTR[8+rsp]» ;WIN64 epilogue 1333 » mov» rdi,QWORD[8+rsp]» ;WIN64 epilogue
1333 » mov» rsi,QWORD PTR[16+rsp] 1334 » mov» rsi,QWORD[16+rsp]
1334 DB 0F3h,0C3h ;repret 1335 DB 0F3h,0C3h ;repret
1335 $L$SEH_end_asm_AES_set_decrypt_key:: 1336 $L$SEH_end_asm_AES_set_decrypt_key:
1336 asm_AES_set_decrypt_key»ENDP
1337 ALIGN 16 1337 ALIGN 16
1338 PUBLIC» asm_AES_cbc_encrypt 1338 global» asm_AES_cbc_encrypt
1339 1339
1340 EXTERN» OPENSSL_ia32cap_P:NEAR 1340 EXTERN» OPENSSL_ia32cap_P
1341 1341
1342 asm_AES_cbc_encrypt» PROC PUBLIC 1342 asm_AES_cbc_encrypt:
1343 » mov» QWORD PTR[8+rsp],rdi» ;WIN64 prologue 1343 » mov» QWORD[8+rsp],rdi» ;WIN64 prologue
1344 » mov» QWORD PTR[16+rsp],rsi 1344 » mov» QWORD[16+rsp],rsi
1345 mov rax,rsp 1345 mov rax,rsp
1346 $L$SEH_begin_asm_AES_cbc_encrypt:: 1346 $L$SEH_begin_asm_AES_cbc_encrypt:
1347 mov rdi,rcx 1347 mov rdi,rcx
1348 mov rsi,rdx 1348 mov rsi,rdx
1349 mov rdx,r8 1349 mov rdx,r8
1350 mov rcx,r9 1350 mov rcx,r9
1351 » mov» r8,QWORD PTR[40+rsp] 1351 » mov» r8,QWORD[40+rsp]
1352 » mov» r9,QWORD PTR[48+rsp] 1352 » mov» r9,QWORD[48+rsp]
1353 1353
1354 1354
1355 cmp rdx,0 1355 cmp rdx,0
1356 » je» $L$cbc_epilogue 1356 » je» NEAR $L$cbc_epilogue
1357 pushfq 1357 pushfq
1358 push rbx 1358 push rbx
1359 push rbp 1359 push rbp
1360 push r12 1360 push r12
1361 push r13 1361 push r13
1362 push r14 1362 push r14
1363 push r15 1363 push r15
1364 $L$cbc_prologue:: 1364 $L$cbc_prologue:
1365 1365
1366 cld 1366 cld
1367 mov r9d,r9d 1367 mov r9d,r9d
1368 1368
1369 » lea» r14,QWORD PTR[$L$AES_Te] 1369 » lea» r14,[$L$AES_Te]
1370 cmp r9,0 1370 cmp r9,0
1371 » jne» $L$cbc_picked_te 1371 » jne» NEAR $L$cbc_picked_te
1372 » lea» r14,QWORD PTR[$L$AES_Td] 1372 » lea» r14,[$L$AES_Td]
1373 $L$cbc_picked_te:: 1373 $L$cbc_picked_te:
1374 1374
1375 » mov» r10d,DWORD PTR[OPENSSL_ia32cap_P] 1375 » mov» r10d,DWORD[OPENSSL_ia32cap_P]
1376 cmp rdx,512 1376 cmp rdx,512
1377 » jb» $L$cbc_slow_prologue 1377 » jb» NEAR $L$cbc_slow_prologue
1378 test rdx,15 1378 test rdx,15
1379 » jnz» $L$cbc_slow_prologue 1379 » jnz» NEAR $L$cbc_slow_prologue
1380 bt r10d,28 1380 bt r10d,28
1381 » jc» $L$cbc_slow_prologue 1381 » jc» NEAR $L$cbc_slow_prologue
1382 1382
1383 1383
1384 » lea» r15,QWORD PTR[((-88-248))+rsp] 1384 » lea» r15,[((-88-248))+rsp]
1385 and r15,-64 1385 and r15,-64
1386 1386
1387 1387
1388 mov r10,r14 1388 mov r10,r14
1389 » lea» r11,QWORD PTR[2304+r14] 1389 » lea» r11,[2304+r14]
1390 mov r12,r15 1390 mov r12,r15
1391 » and» r10,0FFFh 1391 » and» r10,0xFFF
1392 » and» r11,0FFFh 1392 » and» r11,0xFFF
1393 » and» r12,0FFFh 1393 » and» r12,0xFFF
1394 1394
1395 cmp r12,r11 1395 cmp r12,r11
1396 » jb» $L$cbc_te_break_out 1396 » jb» NEAR $L$cbc_te_break_out
1397 sub r12,r11 1397 sub r12,r11
1398 sub r15,r12 1398 sub r15,r12
1399 » jmp» $L$cbc_te_ok 1399 » jmp» NEAR $L$cbc_te_ok
1400 $L$cbc_te_break_out:: 1400 $L$cbc_te_break_out:
1401 sub r12,r10 1401 sub r12,r10
1402 » and» r12,0FFFh 1402 » and» r12,0xFFF
1403 add r12,320 1403 add r12,320
1404 sub r15,r12 1404 sub r15,r12
1405 ALIGN 4 1405 ALIGN 4
1406 $L$cbc_te_ok:: 1406 $L$cbc_te_ok:
1407 1407
1408 xchg r15,rsp 1408 xchg r15,rsp
1409 1409
1410 » mov» QWORD PTR[16+rsp],r15 1410 » mov» QWORD[16+rsp],r15
1411 $L$cbc_fast_body:: 1411 $L$cbc_fast_body:
1412 » mov» QWORD PTR[24+rsp],rdi 1412 » mov» QWORD[24+rsp],rdi
1413 » mov» QWORD PTR[32+rsp],rsi 1413 » mov» QWORD[32+rsp],rsi
1414 » mov» QWORD PTR[40+rsp],rdx 1414 » mov» QWORD[40+rsp],rdx
1415 » mov» QWORD PTR[48+rsp],rcx 1415 » mov» QWORD[48+rsp],rcx
1416 » mov» QWORD PTR[56+rsp],r8 1416 » mov» QWORD[56+rsp],r8
1417 » mov» DWORD PTR[((80+240))+rsp],0 1417 » mov» DWORD[((80+240))+rsp],0
1418 mov rbp,r8 1418 mov rbp,r8
1419 mov rbx,r9 1419 mov rbx,r9
1420 mov r9,rsi 1420 mov r9,rsi
1421 mov r8,rdi 1421 mov r8,rdi
1422 mov r15,rcx 1422 mov r15,rcx
1423 1423
1424 » mov» eax,DWORD PTR[240+r15] 1424 » mov» eax,DWORD[240+r15]
1425 1425
1426 mov r10,r15 1426 mov r10,r15
1427 sub r10,r14 1427 sub r10,r14
1428 » and» r10,0fffh 1428 » and» r10,0xfff
1429 cmp r10,2304 1429 cmp r10,2304
1430 » jb» $L$cbc_do_ecopy 1430 » jb» NEAR $L$cbc_do_ecopy
1431 cmp r10,4096-248 1431 cmp r10,4096-248
1432 » jb» $L$cbc_skip_ecopy 1432 » jb» NEAR $L$cbc_skip_ecopy
1433 ALIGN» 4 1433 ALIGN» 4
1434 $L$cbc_do_ecopy:: 1434 $L$cbc_do_ecopy:
1435 mov rsi,r15 1435 mov rsi,r15
1436 » lea» rdi,QWORD PTR[80+rsp] 1436 » lea» rdi,[80+rsp]
1437 » lea» r15,QWORD PTR[80+rsp] 1437 » lea» r15,[80+rsp]
1438 mov ecx,240/8 1438 mov ecx,240/8
1439 » DD» 090A548F3h 1439 » DD» 0x90A548F3
1440 » mov» DWORD PTR[rdi],eax 1440 » mov» DWORD[rdi],eax
1441 $L$cbc_skip_ecopy:: 1441 $L$cbc_skip_ecopy:
1442 » mov» QWORD PTR[rsp],r15 1442 » mov» QWORD[rsp],r15
1443 1443
1444 mov ecx,18 1444 mov ecx,18
1445 ALIGN 4 1445 ALIGN 4
1446 $L$cbc_prefetch_te:: 1446 $L$cbc_prefetch_te:
1447 » mov» r10,QWORD PTR[r14] 1447 » mov» r10,QWORD[r14]
1448 » mov» r11,QWORD PTR[32+r14] 1448 » mov» r11,QWORD[32+r14]
1449 » mov» r12,QWORD PTR[64+r14] 1449 » mov» r12,QWORD[64+r14]
1450 » mov» r13,QWORD PTR[96+r14] 1450 » mov» r13,QWORD[96+r14]
1451 » lea» r14,QWORD PTR[128+r14] 1451 » lea» r14,[128+r14]
1452 sub ecx,1 1452 sub ecx,1
1453 » jnz» $L$cbc_prefetch_te 1453 » jnz» NEAR $L$cbc_prefetch_te
1454 » lea» r14,QWORD PTR[((-2304))+r14] 1454 » lea» r14,[((-2304))+r14]
1455 1455
1456 cmp rbx,0 1456 cmp rbx,0
1457 » je» $L$FAST_DECRYPT 1457 » je» NEAR $L$FAST_DECRYPT
1458 1458
1459 1459
1460 » mov» eax,DWORD PTR[rbp] 1460 » mov» eax,DWORD[rbp]
1461 » mov» ebx,DWORD PTR[4+rbp] 1461 » mov» ebx,DWORD[4+rbp]
1462 » mov» ecx,DWORD PTR[8+rbp] 1462 » mov» ecx,DWORD[8+rbp]
1463 » mov» edx,DWORD PTR[12+rbp] 1463 » mov» edx,DWORD[12+rbp]
1464 1464
1465 ALIGN» 4 1465 ALIGN» 4
1466 $L$cbc_fast_enc_loop:: 1466 $L$cbc_fast_enc_loop:
1467 » xor» eax,DWORD PTR[r8] 1467 » xor» eax,DWORD[r8]
1468 » xor» ebx,DWORD PTR[4+r8] 1468 » xor» ebx,DWORD[4+r8]
1469 » xor» ecx,DWORD PTR[8+r8] 1469 » xor» ecx,DWORD[8+r8]
1470 » xor» edx,DWORD PTR[12+r8] 1470 » xor» edx,DWORD[12+r8]
1471 » mov» r15,QWORD PTR[rsp] 1471 » mov» r15,QWORD[rsp]
1472 » mov» QWORD PTR[24+rsp],r8 1472 » mov» QWORD[24+rsp],r8
1473 1473
1474 call _x86_64_AES_encrypt 1474 call _x86_64_AES_encrypt
1475 1475
1476 » mov» r8,QWORD PTR[24+rsp] 1476 » mov» r8,QWORD[24+rsp]
1477 » mov» r10,QWORD PTR[40+rsp] 1477 » mov» r10,QWORD[40+rsp]
1478 » mov» DWORD PTR[r9],eax 1478 » mov» DWORD[r9],eax
1479 » mov» DWORD PTR[4+r9],ebx 1479 » mov» DWORD[4+r9],ebx
1480 » mov» DWORD PTR[8+r9],ecx 1480 » mov» DWORD[8+r9],ecx
1481 » mov» DWORD PTR[12+r9],edx 1481 » mov» DWORD[12+r9],edx
1482 1482
1483 » lea» r8,QWORD PTR[16+r8] 1483 » lea» r8,[16+r8]
1484 » lea» r9,QWORD PTR[16+r9] 1484 » lea» r9,[16+r9]
1485 sub r10,16 1485 sub r10,16
1486 test r10,-16 1486 test r10,-16
1487 » mov» QWORD PTR[40+rsp],r10 1487 » mov» QWORD[40+rsp],r10
1488 » jnz» $L$cbc_fast_enc_loop 1488 » jnz» NEAR $L$cbc_fast_enc_loop
1489 » mov» rbp,QWORD PTR[56+rsp] 1489 » mov» rbp,QWORD[56+rsp]
1490 » mov» DWORD PTR[rbp],eax 1490 » mov» DWORD[rbp],eax
1491 » mov» DWORD PTR[4+rbp],ebx 1491 » mov» DWORD[4+rbp],ebx
1492 » mov» DWORD PTR[8+rbp],ecx 1492 » mov» DWORD[8+rbp],ecx
1493 » mov» DWORD PTR[12+rbp],edx 1493 » mov» DWORD[12+rbp],edx
1494 1494
1495 » jmp» $L$cbc_fast_cleanup 1495 » jmp» NEAR $L$cbc_fast_cleanup
1496 1496
1497 1497
1498 ALIGN 16 1498 ALIGN 16
1499 $L$FAST_DECRYPT:: 1499 $L$FAST_DECRYPT:
1500 cmp r9,r8 1500 cmp r9,r8
1501 » je» $L$cbc_fast_dec_in_place 1501 » je» NEAR $L$cbc_fast_dec_in_place
1502 1502
1503 » mov» QWORD PTR[64+rsp],rbp 1503 » mov» QWORD[64+rsp],rbp
1504 ALIGN» 4 1504 ALIGN» 4
1505 $L$cbc_fast_dec_loop:: 1505 $L$cbc_fast_dec_loop:
1506 » mov» eax,DWORD PTR[r8] 1506 » mov» eax,DWORD[r8]
1507 » mov» ebx,DWORD PTR[4+r8] 1507 » mov» ebx,DWORD[4+r8]
1508 » mov» ecx,DWORD PTR[8+r8] 1508 » mov» ecx,DWORD[8+r8]
1509 » mov» edx,DWORD PTR[12+r8] 1509 » mov» edx,DWORD[12+r8]
1510 » mov» r15,QWORD PTR[rsp] 1510 » mov» r15,QWORD[rsp]
1511 » mov» QWORD PTR[24+rsp],r8 1511 » mov» QWORD[24+rsp],r8
1512 1512
1513 call _x86_64_AES_decrypt 1513 call _x86_64_AES_decrypt
1514 1514
1515 » mov» rbp,QWORD PTR[64+rsp] 1515 » mov» rbp,QWORD[64+rsp]
1516 » mov» r8,QWORD PTR[24+rsp] 1516 » mov» r8,QWORD[24+rsp]
1517 » mov» r10,QWORD PTR[40+rsp] 1517 » mov» r10,QWORD[40+rsp]
1518 » xor» eax,DWORD PTR[rbp] 1518 » xor» eax,DWORD[rbp]
1519 » xor» ebx,DWORD PTR[4+rbp] 1519 » xor» ebx,DWORD[4+rbp]
1520 » xor» ecx,DWORD PTR[8+rbp] 1520 » xor» ecx,DWORD[8+rbp]
1521 » xor» edx,DWORD PTR[12+rbp] 1521 » xor» edx,DWORD[12+rbp]
1522 mov rbp,r8 1522 mov rbp,r8
1523 1523
1524 sub r10,16 1524 sub r10,16
1525 » mov» QWORD PTR[40+rsp],r10 1525 » mov» QWORD[40+rsp],r10
1526 » mov» QWORD PTR[64+rsp],rbp 1526 » mov» QWORD[64+rsp],rbp
1527 1527
1528 » mov» DWORD PTR[r9],eax 1528 » mov» DWORD[r9],eax
1529 » mov» DWORD PTR[4+r9],ebx 1529 » mov» DWORD[4+r9],ebx
1530 » mov» DWORD PTR[8+r9],ecx 1530 » mov» DWORD[8+r9],ecx
1531 » mov» DWORD PTR[12+r9],edx 1531 » mov» DWORD[12+r9],edx
1532 1532
1533 » lea» r8,QWORD PTR[16+r8] 1533 » lea» r8,[16+r8]
1534 » lea» r9,QWORD PTR[16+r9] 1534 » lea» r9,[16+r9]
1535 » jnz» $L$cbc_fast_dec_loop 1535 » jnz» NEAR $L$cbc_fast_dec_loop
1536 » mov» r12,QWORD PTR[56+rsp] 1536 » mov» r12,QWORD[56+rsp]
1537 » mov» r10,QWORD PTR[rbp] 1537 » mov» r10,QWORD[rbp]
1538 » mov» r11,QWORD PTR[8+rbp] 1538 » mov» r11,QWORD[8+rbp]
1539 » mov» QWORD PTR[r12],r10 1539 » mov» QWORD[r12],r10
1540 » mov» QWORD PTR[8+r12],r11 1540 » mov» QWORD[8+r12],r11
1541 » jmp» $L$cbc_fast_cleanup 1541 » jmp» NEAR $L$cbc_fast_cleanup
1542 1542
1543 ALIGN 16 1543 ALIGN 16
1544 $L$cbc_fast_dec_in_place:: 1544 $L$cbc_fast_dec_in_place:
1545 » mov» r10,QWORD PTR[rbp] 1545 » mov» r10,QWORD[rbp]
1546 » mov» r11,QWORD PTR[8+rbp] 1546 » mov» r11,QWORD[8+rbp]
1547 » mov» QWORD PTR[((0+64))+rsp],r10 1547 » mov» QWORD[((0+64))+rsp],r10
1548 » mov» QWORD PTR[((8+64))+rsp],r11 1548 » mov» QWORD[((8+64))+rsp],r11
1549 ALIGN» 4 1549 ALIGN» 4
1550 $L$cbc_fast_dec_in_place_loop:: 1550 $L$cbc_fast_dec_in_place_loop:
1551 » mov» eax,DWORD PTR[r8] 1551 » mov» eax,DWORD[r8]
1552 » mov» ebx,DWORD PTR[4+r8] 1552 » mov» ebx,DWORD[4+r8]
1553 » mov» ecx,DWORD PTR[8+r8] 1553 » mov» ecx,DWORD[8+r8]
1554 » mov» edx,DWORD PTR[12+r8] 1554 » mov» edx,DWORD[12+r8]
1555 » mov» r15,QWORD PTR[rsp] 1555 » mov» r15,QWORD[rsp]
1556 » mov» QWORD PTR[24+rsp],r8 1556 » mov» QWORD[24+rsp],r8
1557 1557
1558 call _x86_64_AES_decrypt 1558 call _x86_64_AES_decrypt
1559 1559
1560 » mov» r8,QWORD PTR[24+rsp] 1560 » mov» r8,QWORD[24+rsp]
1561 » mov» r10,QWORD PTR[40+rsp] 1561 » mov» r10,QWORD[40+rsp]
1562 » xor» eax,DWORD PTR[((0+64))+rsp] 1562 » xor» eax,DWORD[((0+64))+rsp]
1563 » xor» ebx,DWORD PTR[((4+64))+rsp] 1563 » xor» ebx,DWORD[((4+64))+rsp]
1564 » xor» ecx,DWORD PTR[((8+64))+rsp] 1564 » xor» ecx,DWORD[((8+64))+rsp]
1565 » xor» edx,DWORD PTR[((12+64))+rsp] 1565 » xor» edx,DWORD[((12+64))+rsp]
1566 1566
1567 » mov» r11,QWORD PTR[r8] 1567 » mov» r11,QWORD[r8]
1568 » mov» r12,QWORD PTR[8+r8] 1568 » mov» r12,QWORD[8+r8]
1569 sub r10,16 1569 sub r10,16
1570 » jz» $L$cbc_fast_dec_in_place_done 1570 » jz» NEAR $L$cbc_fast_dec_in_place_done
1571 1571
1572 » mov» QWORD PTR[((0+64))+rsp],r11 1572 » mov» QWORD[((0+64))+rsp],r11
1573 » mov» QWORD PTR[((8+64))+rsp],r12 1573 » mov» QWORD[((8+64))+rsp],r12
1574 1574
1575 » mov» DWORD PTR[r9],eax 1575 » mov» DWORD[r9],eax
1576 » mov» DWORD PTR[4+r9],ebx 1576 » mov» DWORD[4+r9],ebx
1577 » mov» DWORD PTR[8+r9],ecx 1577 » mov» DWORD[8+r9],ecx
1578 » mov» DWORD PTR[12+r9],edx 1578 » mov» DWORD[12+r9],edx
1579 1579
1580 » lea» r8,QWORD PTR[16+r8] 1580 » lea» r8,[16+r8]
1581 » lea» r9,QWORD PTR[16+r9] 1581 » lea» r9,[16+r9]
1582 » mov» QWORD PTR[40+rsp],r10 1582 » mov» QWORD[40+rsp],r10
1583 » jmp» $L$cbc_fast_dec_in_place_loop 1583 » jmp» NEAR $L$cbc_fast_dec_in_place_loop
1584 $L$cbc_fast_dec_in_place_done:: 1584 $L$cbc_fast_dec_in_place_done:
1585 » mov» rdi,QWORD PTR[56+rsp] 1585 » mov» rdi,QWORD[56+rsp]
1586 » mov» QWORD PTR[rdi],r11 1586 » mov» QWORD[rdi],r11
1587 » mov» QWORD PTR[8+rdi],r12 1587 » mov» QWORD[8+rdi],r12
1588 1588
1589 » mov» DWORD PTR[r9],eax 1589 » mov» DWORD[r9],eax
1590 » mov» DWORD PTR[4+r9],ebx 1590 » mov» DWORD[4+r9],ebx
1591 » mov» DWORD PTR[8+r9],ecx 1591 » mov» DWORD[8+r9],ecx
1592 » mov» DWORD PTR[12+r9],edx 1592 » mov» DWORD[12+r9],edx
1593 1593
1594 ALIGN» 4 1594 ALIGN» 4
1595 $L$cbc_fast_cleanup:: 1595 $L$cbc_fast_cleanup:
1596 » cmp» DWORD PTR[((80+240))+rsp],0 1596 » cmp» DWORD[((80+240))+rsp],0
1597 » lea» rdi,QWORD PTR[80+rsp] 1597 » lea» rdi,[80+rsp]
1598 » je» $L$cbc_exit 1598 » je» NEAR $L$cbc_exit
1599 mov ecx,240/8 1599 mov ecx,240/8
1600 xor rax,rax 1600 xor rax,rax
1601 » DD» 090AB48F3h 1601 » DD» 0x90AB48F3
1602 1602
1603 » jmp» $L$cbc_exit 1603 » jmp» NEAR $L$cbc_exit
1604 1604
1605 1605
1606 ALIGN 16 1606 ALIGN 16
1607 $L$cbc_slow_prologue:: 1607 $L$cbc_slow_prologue:
1608 1608
1609 » lea» rbp,QWORD PTR[((-88))+rsp] 1609 » lea» rbp,[((-88))+rsp]
1610 and rbp,-64 1610 and rbp,-64
1611 1611
1612 » lea» r10,QWORD PTR[((-88-63))+rcx] 1612 » lea» r10,[((-88-63))+rcx]
1613 sub r10,rbp 1613 sub r10,rbp
1614 neg r10 1614 neg r10
1615 » and» r10,03c0h 1615 » and» r10,0x3c0
1616 sub rbp,r10 1616 sub rbp,r10
1617 1617
1618 xchg rbp,rsp 1618 xchg rbp,rsp
1619 1619
1620 » mov» QWORD PTR[16+rsp],rbp 1620 » mov» QWORD[16+rsp],rbp
1621 $L$cbc_slow_body:: 1621 $L$cbc_slow_body:
1622 1622
1623 1623
1624 1624
1625 1625
1626 » mov» QWORD PTR[56+rsp],r8 1626 » mov» QWORD[56+rsp],r8
1627 mov rbp,r8 1627 mov rbp,r8
1628 mov rbx,r9 1628 mov rbx,r9
1629 mov r9,rsi 1629 mov r9,rsi
1630 mov r8,rdi 1630 mov r8,rdi
1631 mov r15,rcx 1631 mov r15,rcx
1632 mov r10,rdx 1632 mov r10,rdx
1633 1633
1634 » mov» eax,DWORD PTR[240+r15] 1634 » mov» eax,DWORD[240+r15]
1635 » mov» QWORD PTR[rsp],r15 1635 » mov» QWORD[rsp],r15
1636 shl eax,4 1636 shl eax,4
1637 » lea» rax,QWORD PTR[rax*1+r15] 1637 » lea» rax,[rax*1+r15]
1638 » mov» QWORD PTR[8+rsp],rax 1638 » mov» QWORD[8+rsp],rax
1639 1639
1640 1640
1641 » lea» r14,QWORD PTR[2048+r14] 1641 » lea» r14,[2048+r14]
1642 » lea» rax,QWORD PTR[((768-8))+rsp] 1642 » lea» rax,[((768-8))+rsp]
1643 sub rax,r14 1643 sub rax,r14
1644 » and» rax,0300h 1644 » and» rax,0x300
1645 » lea» r14,QWORD PTR[rax*1+r14] 1645 » lea» r14,[rax*1+r14]
1646 1646
1647 cmp rbx,0 1647 cmp rbx,0
1648 » je» $L$SLOW_DECRYPT 1648 » je» NEAR $L$SLOW_DECRYPT
1649 1649
1650 1650
1651 test r10,-16 1651 test r10,-16
1652 » mov» eax,DWORD PTR[rbp] 1652 » mov» eax,DWORD[rbp]
1653 » mov» ebx,DWORD PTR[4+rbp] 1653 » mov» ebx,DWORD[4+rbp]
1654 » mov» ecx,DWORD PTR[8+rbp] 1654 » mov» ecx,DWORD[8+rbp]
1655 » mov» edx,DWORD PTR[12+rbp] 1655 » mov» edx,DWORD[12+rbp]
1656 » jz» $L$cbc_slow_enc_tail 1656 » jz» NEAR $L$cbc_slow_enc_tail
1657 1657
1658 ALIGN 4 1658 ALIGN 4
1659 $L$cbc_slow_enc_loop:: 1659 $L$cbc_slow_enc_loop:
1660 » xor» eax,DWORD PTR[r8] 1660 » xor» eax,DWORD[r8]
1661 » xor» ebx,DWORD PTR[4+r8] 1661 » xor» ebx,DWORD[4+r8]
1662 » xor» ecx,DWORD PTR[8+r8] 1662 » xor» ecx,DWORD[8+r8]
1663 » xor» edx,DWORD PTR[12+r8] 1663 » xor» edx,DWORD[12+r8]
1664 » mov» r15,QWORD PTR[rsp] 1664 » mov» r15,QWORD[rsp]
1665 » mov» QWORD PTR[24+rsp],r8 1665 » mov» QWORD[24+rsp],r8
1666 » mov» QWORD PTR[32+rsp],r9 1666 » mov» QWORD[32+rsp],r9
1667 » mov» QWORD PTR[40+rsp],r10 1667 » mov» QWORD[40+rsp],r10
1668 1668
1669 call _x86_64_AES_encrypt_compact 1669 call _x86_64_AES_encrypt_compact
1670 1670
1671 » mov» r8,QWORD PTR[24+rsp] 1671 » mov» r8,QWORD[24+rsp]
1672 » mov» r9,QWORD PTR[32+rsp] 1672 » mov» r9,QWORD[32+rsp]
1673 » mov» r10,QWORD PTR[40+rsp] 1673 » mov» r10,QWORD[40+rsp]
1674 » mov» DWORD PTR[r9],eax 1674 » mov» DWORD[r9],eax
1675 » mov» DWORD PTR[4+r9],ebx 1675 » mov» DWORD[4+r9],ebx
1676 » mov» DWORD PTR[8+r9],ecx 1676 » mov» DWORD[8+r9],ecx
1677 » mov» DWORD PTR[12+r9],edx 1677 » mov» DWORD[12+r9],edx
1678 1678
1679 » lea» r8,QWORD PTR[16+r8] 1679 » lea» r8,[16+r8]
1680 » lea» r9,QWORD PTR[16+r9] 1680 » lea» r9,[16+r9]
1681 sub r10,16 1681 sub r10,16
1682 test r10,-16 1682 test r10,-16
1683 » jnz» $L$cbc_slow_enc_loop 1683 » jnz» NEAR $L$cbc_slow_enc_loop
1684 test r10,15 1684 test r10,15
1685 » jnz» $L$cbc_slow_enc_tail 1685 » jnz» NEAR $L$cbc_slow_enc_tail
1686 » mov» rbp,QWORD PTR[56+rsp] 1686 » mov» rbp,QWORD[56+rsp]
1687 » mov» DWORD PTR[rbp],eax 1687 » mov» DWORD[rbp],eax
1688 » mov» DWORD PTR[4+rbp],ebx 1688 » mov» DWORD[4+rbp],ebx
1689 » mov» DWORD PTR[8+rbp],ecx 1689 » mov» DWORD[8+rbp],ecx
1690 » mov» DWORD PTR[12+rbp],edx 1690 » mov» DWORD[12+rbp],edx
1691 1691
1692 » jmp» $L$cbc_exit 1692 » jmp» NEAR $L$cbc_exit
1693 1693
1694 ALIGN 4 1694 ALIGN 4
1695 $L$cbc_slow_enc_tail:: 1695 $L$cbc_slow_enc_tail:
1696 mov r11,rax 1696 mov r11,rax
1697 mov r12,rcx 1697 mov r12,rcx
1698 mov rcx,r10 1698 mov rcx,r10
1699 mov rsi,r8 1699 mov rsi,r8
1700 mov rdi,r9 1700 mov rdi,r9
1701 » DD» 09066A4F3h 1701 » DD» 0x9066A4F3
1702 mov rcx,16 1702 mov rcx,16
1703 sub rcx,r10 1703 sub rcx,r10
1704 xor rax,rax 1704 xor rax,rax
1705 » DD» 09066AAF3h 1705 » DD» 0x9066AAF3
1706 mov r8,r9 1706 mov r8,r9
1707 mov r10,16 1707 mov r10,16
1708 mov rax,r11 1708 mov rax,r11
1709 mov rcx,r12 1709 mov rcx,r12
1710 » jmp» $L$cbc_slow_enc_loop 1710 » jmp» NEAR $L$cbc_slow_enc_loop
1711 1711
1712 ALIGN 16 1712 ALIGN 16
1713 $L$SLOW_DECRYPT:: 1713 $L$SLOW_DECRYPT:
1714 shr rax,3 1714 shr rax,3
1715 add r14,rax 1715 add r14,rax
1716 1716
1717 » mov» r11,QWORD PTR[rbp] 1717 » mov» r11,QWORD[rbp]
1718 » mov» r12,QWORD PTR[8+rbp] 1718 » mov» r12,QWORD[8+rbp]
1719 » mov» QWORD PTR[((0+64))+rsp],r11 1719 » mov» QWORD[((0+64))+rsp],r11
1720 » mov» QWORD PTR[((8+64))+rsp],r12 1720 » mov» QWORD[((8+64))+rsp],r12
1721 1721
1722 ALIGN 4 1722 ALIGN 4
1723 $L$cbc_slow_dec_loop:: 1723 $L$cbc_slow_dec_loop:
1724 » mov» eax,DWORD PTR[r8] 1724 » mov» eax,DWORD[r8]
1725 » mov» ebx,DWORD PTR[4+r8] 1725 » mov» ebx,DWORD[4+r8]
1726 » mov» ecx,DWORD PTR[8+r8] 1726 » mov» ecx,DWORD[8+r8]
1727 » mov» edx,DWORD PTR[12+r8] 1727 » mov» edx,DWORD[12+r8]
1728 » mov» r15,QWORD PTR[rsp] 1728 » mov» r15,QWORD[rsp]
1729 » mov» QWORD PTR[24+rsp],r8 1729 » mov» QWORD[24+rsp],r8
1730 » mov» QWORD PTR[32+rsp],r9 1730 » mov» QWORD[32+rsp],r9
1731 » mov» QWORD PTR[40+rsp],r10 1731 » mov» QWORD[40+rsp],r10
1732 1732
1733 call _x86_64_AES_decrypt_compact 1733 call _x86_64_AES_decrypt_compact
1734 1734
1735 » mov» r8,QWORD PTR[24+rsp] 1735 » mov» r8,QWORD[24+rsp]
1736 » mov» r9,QWORD PTR[32+rsp] 1736 » mov» r9,QWORD[32+rsp]
1737 » mov» r10,QWORD PTR[40+rsp] 1737 » mov» r10,QWORD[40+rsp]
1738 » xor» eax,DWORD PTR[((0+64))+rsp] 1738 » xor» eax,DWORD[((0+64))+rsp]
1739 » xor» ebx,DWORD PTR[((4+64))+rsp] 1739 » xor» ebx,DWORD[((4+64))+rsp]
1740 » xor» ecx,DWORD PTR[((8+64))+rsp] 1740 » xor» ecx,DWORD[((8+64))+rsp]
1741 » xor» edx,DWORD PTR[((12+64))+rsp] 1741 » xor» edx,DWORD[((12+64))+rsp]
1742 1742
1743 » mov» r11,QWORD PTR[r8] 1743 » mov» r11,QWORD[r8]
1744 » mov» r12,QWORD PTR[8+r8] 1744 » mov» r12,QWORD[8+r8]
1745 sub r10,16 1745 sub r10,16
1746 » jc» $L$cbc_slow_dec_partial 1746 » jc» NEAR $L$cbc_slow_dec_partial
1747 » jz» $L$cbc_slow_dec_done 1747 » jz» NEAR $L$cbc_slow_dec_done
1748 1748
1749 » mov» QWORD PTR[((0+64))+rsp],r11 1749 » mov» QWORD[((0+64))+rsp],r11
1750 » mov» QWORD PTR[((8+64))+rsp],r12 1750 » mov» QWORD[((8+64))+rsp],r12
1751 1751
1752 » mov» DWORD PTR[r9],eax 1752 » mov» DWORD[r9],eax
1753 » mov» DWORD PTR[4+r9],ebx 1753 » mov» DWORD[4+r9],ebx
1754 » mov» DWORD PTR[8+r9],ecx 1754 » mov» DWORD[8+r9],ecx
1755 » mov» DWORD PTR[12+r9],edx 1755 » mov» DWORD[12+r9],edx
1756 1756
1757 » lea» r8,QWORD PTR[16+r8] 1757 » lea» r8,[16+r8]
1758 » lea» r9,QWORD PTR[16+r9] 1758 » lea» r9,[16+r9]
1759 » jmp» $L$cbc_slow_dec_loop 1759 » jmp» NEAR $L$cbc_slow_dec_loop
1760 $L$cbc_slow_dec_done:: 1760 $L$cbc_slow_dec_done:
1761 » mov» rdi,QWORD PTR[56+rsp] 1761 » mov» rdi,QWORD[56+rsp]
1762 » mov» QWORD PTR[rdi],r11 1762 » mov» QWORD[rdi],r11
1763 » mov» QWORD PTR[8+rdi],r12 1763 » mov» QWORD[8+rdi],r12
1764 1764
1765 » mov» DWORD PTR[r9],eax 1765 » mov» DWORD[r9],eax
1766 » mov» DWORD PTR[4+r9],ebx 1766 » mov» DWORD[4+r9],ebx
1767 » mov» DWORD PTR[8+r9],ecx 1767 » mov» DWORD[8+r9],ecx
1768 » mov» DWORD PTR[12+r9],edx 1768 » mov» DWORD[12+r9],edx
1769 1769
1770 » jmp» $L$cbc_exit 1770 » jmp» NEAR $L$cbc_exit
1771 1771
1772 ALIGN 4 1772 ALIGN 4
1773 $L$cbc_slow_dec_partial:: 1773 $L$cbc_slow_dec_partial:
1774 » mov» rdi,QWORD PTR[56+rsp] 1774 » mov» rdi,QWORD[56+rsp]
1775 » mov» QWORD PTR[rdi],r11 1775 » mov» QWORD[rdi],r11
1776 » mov» QWORD PTR[8+rdi],r12 1776 » mov» QWORD[8+rdi],r12
1777 1777
1778 » mov» DWORD PTR[((0+64))+rsp],eax 1778 » mov» DWORD[((0+64))+rsp],eax
1779 » mov» DWORD PTR[((4+64))+rsp],ebx 1779 » mov» DWORD[((4+64))+rsp],ebx
1780 » mov» DWORD PTR[((8+64))+rsp],ecx 1780 » mov» DWORD[((8+64))+rsp],ecx
1781 » mov» DWORD PTR[((12+64))+rsp],edx 1781 » mov» DWORD[((12+64))+rsp],edx
1782 1782
1783 mov rdi,r9 1783 mov rdi,r9
1784 » lea» rsi,QWORD PTR[64+rsp] 1784 » lea» rsi,[64+rsp]
1785 » lea» rcx,QWORD PTR[16+r10] 1785 » lea» rcx,[16+r10]
1786 » DD» 09066A4F3h 1786 » DD» 0x9066A4F3
1787 » jmp» $L$cbc_exit 1787 » jmp» NEAR $L$cbc_exit
1788 1788
1789 ALIGN 16 1789 ALIGN 16
1790 $L$cbc_exit:: 1790 $L$cbc_exit:
1791 » mov» rsi,QWORD PTR[16+rsp] 1791 » mov» rsi,QWORD[16+rsp]
1792 » mov» r15,QWORD PTR[rsi] 1792 » mov» r15,QWORD[rsi]
1793 » mov» r14,QWORD PTR[8+rsi] 1793 » mov» r14,QWORD[8+rsi]
1794 » mov» r13,QWORD PTR[16+rsi] 1794 » mov» r13,QWORD[16+rsi]
1795 » mov» r12,QWORD PTR[24+rsi] 1795 » mov» r12,QWORD[24+rsi]
1796 » mov» rbp,QWORD PTR[32+rsi] 1796 » mov» rbp,QWORD[32+rsi]
1797 » mov» rbx,QWORD PTR[40+rsi] 1797 » mov» rbx,QWORD[40+rsi]
1798 » lea» rsp,QWORD PTR[48+rsi] 1798 » lea» rsp,[48+rsi]
1799 $L$cbc_popfq:: 1799 $L$cbc_popfq:
1800 popfq 1800 popfq
1801 $L$cbc_epilogue:: 1801 $L$cbc_epilogue:
1802 » mov» rdi,QWORD PTR[8+rsp]» ;WIN64 epilogue 1802 » mov» rdi,QWORD[8+rsp]» ;WIN64 epilogue
1803 » mov» rsi,QWORD PTR[16+rsp] 1803 » mov» rsi,QWORD[16+rsp]
1804 DB 0F3h,0C3h ;repret 1804 DB 0F3h,0C3h ;repret
1805 $L$SEH_end_asm_AES_cbc_encrypt:: 1805 $L$SEH_end_asm_AES_cbc_encrypt:
1806 asm_AES_cbc_encrypt» ENDP
1807 ALIGN 64 1806 ALIGN 64
1808 $L$AES_Te:: 1807 $L$AES_Te:
1809 DD 0a56363c6h,0a56363c6h 1808 DD 0xa56363c6,0xa56363c6
1810 DD 0847c7cf8h,0847c7cf8h 1809 DD 0x847c7cf8,0x847c7cf8
1811 DD 0997777eeh,0997777eeh 1810 DD 0x997777ee,0x997777ee
1812 DD 08d7b7bf6h,08d7b7bf6h 1811 DD 0x8d7b7bf6,0x8d7b7bf6
1813 DD 00df2f2ffh,00df2f2ffh 1812 DD 0x0df2f2ff,0x0df2f2ff
1814 DD 0bd6b6bd6h,0bd6b6bd6h 1813 DD 0xbd6b6bd6,0xbd6b6bd6
1815 DD 0b16f6fdeh,0b16f6fdeh 1814 DD 0xb16f6fde,0xb16f6fde
1816 DD 054c5c591h,054c5c591h 1815 DD 0x54c5c591,0x54c5c591
1817 DD 050303060h,050303060h 1816 DD 0x50303060,0x50303060
1818 DD 003010102h,003010102h 1817 DD 0x03010102,0x03010102
1819 DD 0a96767ceh,0a96767ceh 1818 DD 0xa96767ce,0xa96767ce
1820 DD 07d2b2b56h,07d2b2b56h 1819 DD 0x7d2b2b56,0x7d2b2b56
1821 DD 019fefee7h,019fefee7h 1820 DD 0x19fefee7,0x19fefee7
1822 DD 062d7d7b5h,062d7d7b5h 1821 DD 0x62d7d7b5,0x62d7d7b5
1823 DD 0e6abab4dh,0e6abab4dh 1822 DD 0xe6abab4d,0xe6abab4d
1824 DD 09a7676ech,09a7676ech 1823 DD 0x9a7676ec,0x9a7676ec
1825 DD 045caca8fh,045caca8fh 1824 DD 0x45caca8f,0x45caca8f
1826 DD 09d82821fh,09d82821fh 1825 DD 0x9d82821f,0x9d82821f
1827 DD 040c9c989h,040c9c989h 1826 DD 0x40c9c989,0x40c9c989
1828 DD 0877d7dfah,0877d7dfah 1827 DD 0x877d7dfa,0x877d7dfa
1829 DD 015fafaefh,015fafaefh 1828 DD 0x15fafaef,0x15fafaef
1830 DD 0eb5959b2h,0eb5959b2h 1829 DD 0xeb5959b2,0xeb5959b2
1831 DD 0c947478eh,0c947478eh 1830 DD 0xc947478e,0xc947478e
1832 DD 00bf0f0fbh,00bf0f0fbh 1831 DD 0x0bf0f0fb,0x0bf0f0fb
1833 DD 0ecadad41h,0ecadad41h 1832 DD 0xecadad41,0xecadad41
1834 DD 067d4d4b3h,067d4d4b3h 1833 DD 0x67d4d4b3,0x67d4d4b3
1835 DD 0fda2a25fh,0fda2a25fh 1834 DD 0xfda2a25f,0xfda2a25f
1836 DD 0eaafaf45h,0eaafaf45h 1835 DD 0xeaafaf45,0xeaafaf45
1837 DD 0bf9c9c23h,0bf9c9c23h 1836 DD 0xbf9c9c23,0xbf9c9c23
1838 DD 0f7a4a453h,0f7a4a453h 1837 DD 0xf7a4a453,0xf7a4a453
1839 DD 0967272e4h,0967272e4h 1838 DD 0x967272e4,0x967272e4
1840 DD 05bc0c09bh,05bc0c09bh 1839 DD 0x5bc0c09b,0x5bc0c09b
1841 DD 0c2b7b775h,0c2b7b775h 1840 DD 0xc2b7b775,0xc2b7b775
1842 DD 01cfdfde1h,01cfdfde1h 1841 DD 0x1cfdfde1,0x1cfdfde1
1843 DD 0ae93933dh,0ae93933dh 1842 DD 0xae93933d,0xae93933d
1844 DD 06a26264ch,06a26264ch 1843 DD 0x6a26264c,0x6a26264c
1845 DD 05a36366ch,05a36366ch 1844 DD 0x5a36366c,0x5a36366c
1846 DD 0413f3f7eh,0413f3f7eh 1845 DD 0x413f3f7e,0x413f3f7e
1847 DD 002f7f7f5h,002f7f7f5h 1846 DD 0x02f7f7f5,0x02f7f7f5
1848 DD 04fcccc83h,04fcccc83h 1847 DD 0x4fcccc83,0x4fcccc83
1849 DD 05c343468h,05c343468h 1848 DD 0x5c343468,0x5c343468
1850 DD 0f4a5a551h,0f4a5a551h 1849 DD 0xf4a5a551,0xf4a5a551
1851 DD 034e5e5d1h,034e5e5d1h 1850 DD 0x34e5e5d1,0x34e5e5d1
1852 DD 008f1f1f9h,008f1f1f9h 1851 DD 0x08f1f1f9,0x08f1f1f9
1853 DD 0937171e2h,0937171e2h 1852 DD 0x937171e2,0x937171e2
1854 DD 073d8d8abh,073d8d8abh 1853 DD 0x73d8d8ab,0x73d8d8ab
1855 DD 053313162h,053313162h 1854 DD 0x53313162,0x53313162
1856 DD 03f15152ah,03f15152ah 1855 DD 0x3f15152a,0x3f15152a
1857 DD 00c040408h,00c040408h 1856 DD 0x0c040408,0x0c040408
1858 DD 052c7c795h,052c7c795h 1857 DD 0x52c7c795,0x52c7c795
1859 DD 065232346h,065232346h 1858 DD 0x65232346,0x65232346
1860 DD 05ec3c39dh,05ec3c39dh 1859 DD 0x5ec3c39d,0x5ec3c39d
1861 DD 028181830h,028181830h 1860 DD 0x28181830,0x28181830
1862 DD 0a1969637h,0a1969637h 1861 DD 0xa1969637,0xa1969637
1863 DD 00f05050ah,00f05050ah 1862 DD 0x0f05050a,0x0f05050a
1864 DD 0b59a9a2fh,0b59a9a2fh 1863 DD 0xb59a9a2f,0xb59a9a2f
1865 DD 00907070eh,00907070eh 1864 DD 0x0907070e,0x0907070e
1866 DD 036121224h,036121224h 1865 DD 0x36121224,0x36121224
1867 DD 09b80801bh,09b80801bh 1866 DD 0x9b80801b,0x9b80801b
1868 DD 03de2e2dfh,03de2e2dfh 1867 DD 0x3de2e2df,0x3de2e2df
1869 DD 026ebebcdh,026ebebcdh 1868 DD 0x26ebebcd,0x26ebebcd
1870 DD 06927274eh,06927274eh 1869 DD 0x6927274e,0x6927274e
1871 DD 0cdb2b27fh,0cdb2b27fh 1870 DD 0xcdb2b27f,0xcdb2b27f
1872 DD 09f7575eah,09f7575eah 1871 DD 0x9f7575ea,0x9f7575ea
1873 DD 01b090912h,01b090912h 1872 DD 0x1b090912,0x1b090912
1874 DD 09e83831dh,09e83831dh 1873 DD 0x9e83831d,0x9e83831d
1875 DD 0742c2c58h,0742c2c58h 1874 DD 0x742c2c58,0x742c2c58
1876 DD 02e1a1a34h,02e1a1a34h 1875 DD 0x2e1a1a34,0x2e1a1a34
1877 DD 02d1b1b36h,02d1b1b36h 1876 DD 0x2d1b1b36,0x2d1b1b36
1878 DD 0b26e6edch,0b26e6edch 1877 DD 0xb26e6edc,0xb26e6edc
1879 DD 0ee5a5ab4h,0ee5a5ab4h 1878 DD 0xee5a5ab4,0xee5a5ab4
1880 DD 0fba0a05bh,0fba0a05bh 1879 DD 0xfba0a05b,0xfba0a05b
1881 DD 0f65252a4h,0f65252a4h 1880 DD 0xf65252a4,0xf65252a4
1882 DD 04d3b3b76h,04d3b3b76h 1881 DD 0x4d3b3b76,0x4d3b3b76
1883 DD 061d6d6b7h,061d6d6b7h 1882 DD 0x61d6d6b7,0x61d6d6b7
1884 DD 0ceb3b37dh,0ceb3b37dh 1883 DD 0xceb3b37d,0xceb3b37d
1885 DD 07b292952h,07b292952h 1884 DD 0x7b292952,0x7b292952
1886 DD 03ee3e3ddh,03ee3e3ddh 1885 DD 0x3ee3e3dd,0x3ee3e3dd
1887 DD 0712f2f5eh,0712f2f5eh 1886 DD 0x712f2f5e,0x712f2f5e
1888 DD 097848413h,097848413h 1887 DD 0x97848413,0x97848413
1889 DD 0f55353a6h,0f55353a6h 1888 DD 0xf55353a6,0xf55353a6
1890 DD 068d1d1b9h,068d1d1b9h 1889 DD 0x68d1d1b9,0x68d1d1b9
1891 DD 000000000h,000000000h 1890 DD 0x00000000,0x00000000
1892 DD 02cededc1h,02cededc1h 1891 DD 0x2cededc1,0x2cededc1
1893 DD 060202040h,060202040h 1892 DD 0x60202040,0x60202040
1894 DD 01ffcfce3h,01ffcfce3h 1893 DD 0x1ffcfce3,0x1ffcfce3
1895 DD 0c8b1b179h,0c8b1b179h 1894 DD 0xc8b1b179,0xc8b1b179
1896 DD 0ed5b5bb6h,0ed5b5bb6h 1895 DD 0xed5b5bb6,0xed5b5bb6
1897 DD 0be6a6ad4h,0be6a6ad4h 1896 DD 0xbe6a6ad4,0xbe6a6ad4
1898 DD 046cbcb8dh,046cbcb8dh 1897 DD 0x46cbcb8d,0x46cbcb8d
1899 DD 0d9bebe67h,0d9bebe67h 1898 DD 0xd9bebe67,0xd9bebe67
1900 DD 04b393972h,04b393972h 1899 DD 0x4b393972,0x4b393972
1901 DD 0de4a4a94h,0de4a4a94h 1900 DD 0xde4a4a94,0xde4a4a94
1902 DD 0d44c4c98h,0d44c4c98h 1901 DD 0xd44c4c98,0xd44c4c98
1903 DD 0e85858b0h,0e85858b0h 1902 DD 0xe85858b0,0xe85858b0
1904 DD 04acfcf85h,04acfcf85h 1903 DD 0x4acfcf85,0x4acfcf85
1905 DD 06bd0d0bbh,06bd0d0bbh 1904 DD 0x6bd0d0bb,0x6bd0d0bb
1906 DD 02aefefc5h,02aefefc5h 1905 DD 0x2aefefc5,0x2aefefc5
1907 DD 0e5aaaa4fh,0e5aaaa4fh 1906 DD 0xe5aaaa4f,0xe5aaaa4f
1908 DD 016fbfbedh,016fbfbedh 1907 DD 0x16fbfbed,0x16fbfbed
1909 DD 0c5434386h,0c5434386h 1908 DD 0xc5434386,0xc5434386
1910 DD 0d74d4d9ah,0d74d4d9ah 1909 DD 0xd74d4d9a,0xd74d4d9a
1911 DD 055333366h,055333366h 1910 DD 0x55333366,0x55333366
1912 DD 094858511h,094858511h 1911 DD 0x94858511,0x94858511
1913 DD 0cf45458ah,0cf45458ah 1912 DD 0xcf45458a,0xcf45458a
1914 DD 010f9f9e9h,010f9f9e9h 1913 DD 0x10f9f9e9,0x10f9f9e9
1915 DD 006020204h,006020204h 1914 DD 0x06020204,0x06020204
1916 DD 0817f7ffeh,0817f7ffeh 1915 DD 0x817f7ffe,0x817f7ffe
1917 DD 0f05050a0h,0f05050a0h 1916 DD 0xf05050a0,0xf05050a0
1918 DD 0443c3c78h,0443c3c78h 1917 DD 0x443c3c78,0x443c3c78
1919 DD 0ba9f9f25h,0ba9f9f25h 1918 DD 0xba9f9f25,0xba9f9f25
1920 DD 0e3a8a84bh,0e3a8a84bh 1919 DD 0xe3a8a84b,0xe3a8a84b
1921 DD 0f35151a2h,0f35151a2h 1920 DD 0xf35151a2,0xf35151a2
1922 DD 0fea3a35dh,0fea3a35dh 1921 DD 0xfea3a35d,0xfea3a35d
1923 DD 0c0404080h,0c0404080h 1922 DD 0xc0404080,0xc0404080
1924 DD 08a8f8f05h,08a8f8f05h 1923 DD 0x8a8f8f05,0x8a8f8f05
1925 DD 0ad92923fh,0ad92923fh 1924 DD 0xad92923f,0xad92923f
1926 DD 0bc9d9d21h,0bc9d9d21h 1925 DD 0xbc9d9d21,0xbc9d9d21
1927 DD 048383870h,048383870h 1926 DD 0x48383870,0x48383870
1928 DD 004f5f5f1h,004f5f5f1h 1927 DD 0x04f5f5f1,0x04f5f5f1
1929 DD 0dfbcbc63h,0dfbcbc63h 1928 DD 0xdfbcbc63,0xdfbcbc63
1930 DD 0c1b6b677h,0c1b6b677h 1929 DD 0xc1b6b677,0xc1b6b677
1931 DD 075dadaafh,075dadaafh 1930 DD 0x75dadaaf,0x75dadaaf
1932 DD 063212142h,063212142h 1931 DD 0x63212142,0x63212142
1933 DD 030101020h,030101020h 1932 DD 0x30101020,0x30101020
1934 DD 01affffe5h,01affffe5h 1933 DD 0x1affffe5,0x1affffe5
1935 DD 00ef3f3fdh,00ef3f3fdh 1934 DD 0x0ef3f3fd,0x0ef3f3fd
1936 DD 06dd2d2bfh,06dd2d2bfh 1935 DD 0x6dd2d2bf,0x6dd2d2bf
1937 DD 04ccdcd81h,04ccdcd81h 1936 DD 0x4ccdcd81,0x4ccdcd81
1938 DD 0140c0c18h,0140c0c18h 1937 DD 0x140c0c18,0x140c0c18
1939 DD 035131326h,035131326h 1938 DD 0x35131326,0x35131326
1940 DD 02fececc3h,02fececc3h 1939 DD 0x2fececc3,0x2fececc3
1941 DD 0e15f5fbeh,0e15f5fbeh 1940 DD 0xe15f5fbe,0xe15f5fbe
1942 DD 0a2979735h,0a2979735h 1941 DD 0xa2979735,0xa2979735
1943 DD 0cc444488h,0cc444488h 1942 DD 0xcc444488,0xcc444488
1944 DD 03917172eh,03917172eh 1943 DD 0x3917172e,0x3917172e
1945 DD 057c4c493h,057c4c493h 1944 DD 0x57c4c493,0x57c4c493
1946 DD 0f2a7a755h,0f2a7a755h 1945 DD 0xf2a7a755,0xf2a7a755
1947 DD 0827e7efch,0827e7efch 1946 DD 0x827e7efc,0x827e7efc
1948 DD 0473d3d7ah,0473d3d7ah 1947 DD 0x473d3d7a,0x473d3d7a
1949 DD 0ac6464c8h,0ac6464c8h 1948 DD 0xac6464c8,0xac6464c8
1950 DD 0e75d5dbah,0e75d5dbah 1949 DD 0xe75d5dba,0xe75d5dba
1951 DD 02b191932h,02b191932h 1950 DD 0x2b191932,0x2b191932
1952 DD 0957373e6h,0957373e6h 1951 DD 0x957373e6,0x957373e6
1953 DD 0a06060c0h,0a06060c0h 1952 DD 0xa06060c0,0xa06060c0
1954 DD 098818119h,098818119h 1953 DD 0x98818119,0x98818119
1955 DD 0d14f4f9eh,0d14f4f9eh 1954 DD 0xd14f4f9e,0xd14f4f9e
1956 DD 07fdcdca3h,07fdcdca3h 1955 DD 0x7fdcdca3,0x7fdcdca3
1957 DD 066222244h,066222244h 1956 DD 0x66222244,0x66222244
1958 DD 07e2a2a54h,07e2a2a54h 1957 DD 0x7e2a2a54,0x7e2a2a54
1959 DD 0ab90903bh,0ab90903bh 1958 DD 0xab90903b,0xab90903b
1960 DD 08388880bh,08388880bh 1959 DD 0x8388880b,0x8388880b
1961 DD 0ca46468ch,0ca46468ch 1960 DD 0xca46468c,0xca46468c
1962 DD 029eeeec7h,029eeeec7h 1961 DD 0x29eeeec7,0x29eeeec7
1963 DD 0d3b8b86bh,0d3b8b86bh 1962 DD 0xd3b8b86b,0xd3b8b86b
1964 DD 03c141428h,03c141428h 1963 DD 0x3c141428,0x3c141428
1965 DD 079dedea7h,079dedea7h 1964 DD 0x79dedea7,0x79dedea7
1966 DD 0e25e5ebch,0e25e5ebch 1965 DD 0xe25e5ebc,0xe25e5ebc
1967 DD 01d0b0b16h,01d0b0b16h 1966 DD 0x1d0b0b16,0x1d0b0b16
1968 DD 076dbdbadh,076dbdbadh 1967 DD 0x76dbdbad,0x76dbdbad
1969 DD 03be0e0dbh,03be0e0dbh 1968 DD 0x3be0e0db,0x3be0e0db
1970 DD 056323264h,056323264h 1969 DD 0x56323264,0x56323264
1971 DD 04e3a3a74h,04e3a3a74h 1970 DD 0x4e3a3a74,0x4e3a3a74
1972 DD 01e0a0a14h,01e0a0a14h 1971 DD 0x1e0a0a14,0x1e0a0a14
1973 DD 0db494992h,0db494992h 1972 DD 0xdb494992,0xdb494992
1974 DD 00a06060ch,00a06060ch 1973 DD 0x0a06060c,0x0a06060c
1975 DD 06c242448h,06c242448h 1974 DD 0x6c242448,0x6c242448
1976 DD 0e45c5cb8h,0e45c5cb8h 1975 DD 0xe45c5cb8,0xe45c5cb8
1977 DD 05dc2c29fh,05dc2c29fh 1976 DD 0x5dc2c29f,0x5dc2c29f
1978 DD 06ed3d3bdh,06ed3d3bdh 1977 DD 0x6ed3d3bd,0x6ed3d3bd
1979 DD 0efacac43h,0efacac43h 1978 DD 0xefacac43,0xefacac43
1980 DD 0a66262c4h,0a66262c4h 1979 DD 0xa66262c4,0xa66262c4
1981 DD 0a8919139h,0a8919139h 1980 DD 0xa8919139,0xa8919139
1982 DD 0a4959531h,0a4959531h 1981 DD 0xa4959531,0xa4959531
1983 DD 037e4e4d3h,037e4e4d3h 1982 DD 0x37e4e4d3,0x37e4e4d3
1984 DD 08b7979f2h,08b7979f2h 1983 DD 0x8b7979f2,0x8b7979f2
1985 DD 032e7e7d5h,032e7e7d5h 1984 DD 0x32e7e7d5,0x32e7e7d5
1986 DD 043c8c88bh,043c8c88bh 1985 DD 0x43c8c88b,0x43c8c88b
1987 DD 05937376eh,05937376eh 1986 DD 0x5937376e,0x5937376e
1988 DD 0b76d6ddah,0b76d6ddah 1987 DD 0xb76d6dda,0xb76d6dda
1989 DD 08c8d8d01h,08c8d8d01h 1988 DD 0x8c8d8d01,0x8c8d8d01
1990 DD 064d5d5b1h,064d5d5b1h 1989 DD 0x64d5d5b1,0x64d5d5b1
1991 DD 0d24e4e9ch,0d24e4e9ch 1990 DD 0xd24e4e9c,0xd24e4e9c
1992 DD 0e0a9a949h,0e0a9a949h 1991 DD 0xe0a9a949,0xe0a9a949
1993 DD 0b46c6cd8h,0b46c6cd8h 1992 DD 0xb46c6cd8,0xb46c6cd8
1994 DD 0fa5656ach,0fa5656ach 1993 DD 0xfa5656ac,0xfa5656ac
1995 DD 007f4f4f3h,007f4f4f3h 1994 DD 0x07f4f4f3,0x07f4f4f3
1996 DD 025eaeacfh,025eaeacfh 1995 DD 0x25eaeacf,0x25eaeacf
1997 DD 0af6565cah,0af6565cah 1996 DD 0xaf6565ca,0xaf6565ca
1998 DD 08e7a7af4h,08e7a7af4h 1997 DD 0x8e7a7af4,0x8e7a7af4
1999 DD 0e9aeae47h,0e9aeae47h 1998 DD 0xe9aeae47,0xe9aeae47
2000 DD 018080810h,018080810h 1999 DD 0x18080810,0x18080810
2001 DD 0d5baba6fh,0d5baba6fh 2000 DD 0xd5baba6f,0xd5baba6f
2002 DD 0887878f0h,0887878f0h 2001 DD 0x887878f0,0x887878f0
2003 DD 06f25254ah,06f25254ah 2002 DD 0x6f25254a,0x6f25254a
2004 DD 0722e2e5ch,0722e2e5ch 2003 DD 0x722e2e5c,0x722e2e5c
2005 DD 0241c1c38h,0241c1c38h 2004 DD 0x241c1c38,0x241c1c38
2006 DD 0f1a6a657h,0f1a6a657h 2005 DD 0xf1a6a657,0xf1a6a657
2007 DD 0c7b4b473h,0c7b4b473h 2006 DD 0xc7b4b473,0xc7b4b473
2008 DD 051c6c697h,051c6c697h 2007 DD 0x51c6c697,0x51c6c697
2009 DD 023e8e8cbh,023e8e8cbh 2008 DD 0x23e8e8cb,0x23e8e8cb
2010 DD 07cdddda1h,07cdddda1h 2009 DD 0x7cdddda1,0x7cdddda1
2011 DD 09c7474e8h,09c7474e8h 2010 DD 0x9c7474e8,0x9c7474e8
2012 DD 0211f1f3eh,0211f1f3eh 2011 DD 0x211f1f3e,0x211f1f3e
2013 DD 0dd4b4b96h,0dd4b4b96h 2012 DD 0xdd4b4b96,0xdd4b4b96
2014 DD 0dcbdbd61h,0dcbdbd61h 2013 DD 0xdcbdbd61,0xdcbdbd61
2015 DD 0868b8b0dh,0868b8b0dh 2014 DD 0x868b8b0d,0x868b8b0d
2016 DD 0858a8a0fh,0858a8a0fh 2015 DD 0x858a8a0f,0x858a8a0f
2017 DD 0907070e0h,0907070e0h 2016 DD 0x907070e0,0x907070e0
2018 DD 0423e3e7ch,0423e3e7ch 2017 DD 0x423e3e7c,0x423e3e7c
2019 DD 0c4b5b571h,0c4b5b571h 2018 DD 0xc4b5b571,0xc4b5b571
2020 DD 0aa6666cch,0aa6666cch 2019 DD 0xaa6666cc,0xaa6666cc
2021 DD 0d8484890h,0d8484890h 2020 DD 0xd8484890,0xd8484890
2022 DD 005030306h,005030306h 2021 DD 0x05030306,0x05030306
2023 DD 001f6f6f7h,001f6f6f7h 2022 DD 0x01f6f6f7,0x01f6f6f7
2024 DD 0120e0e1ch,0120e0e1ch 2023 DD 0x120e0e1c,0x120e0e1c
2025 DD 0a36161c2h,0a36161c2h 2024 DD 0xa36161c2,0xa36161c2
2026 DD 05f35356ah,05f35356ah 2025 DD 0x5f35356a,0x5f35356a
2027 DD 0f95757aeh,0f95757aeh 2026 DD 0xf95757ae,0xf95757ae
2028 DD 0d0b9b969h,0d0b9b969h 2027 DD 0xd0b9b969,0xd0b9b969
2029 DD 091868617h,091868617h 2028 DD 0x91868617,0x91868617
2030 DD 058c1c199h,058c1c199h 2029 DD 0x58c1c199,0x58c1c199
2031 DD 0271d1d3ah,0271d1d3ah 2030 DD 0x271d1d3a,0x271d1d3a
2032 DD 0b99e9e27h,0b99e9e27h 2031 DD 0xb99e9e27,0xb99e9e27
2033 DD 038e1e1d9h,038e1e1d9h 2032 DD 0x38e1e1d9,0x38e1e1d9
2034 DD 013f8f8ebh,013f8f8ebh 2033 DD 0x13f8f8eb,0x13f8f8eb
2035 DD 0b398982bh,0b398982bh 2034 DD 0xb398982b,0xb398982b
2036 DD 033111122h,033111122h 2035 DD 0x33111122,0x33111122
2037 DD 0bb6969d2h,0bb6969d2h 2036 DD 0xbb6969d2,0xbb6969d2
2038 DD 070d9d9a9h,070d9d9a9h 2037 DD 0x70d9d9a9,0x70d9d9a9
2039 DD 0898e8e07h,0898e8e07h 2038 DD 0x898e8e07,0x898e8e07
2040 DD 0a7949433h,0a7949433h 2039 DD 0xa7949433,0xa7949433
2041 DD 0b69b9b2dh,0b69b9b2dh 2040 DD 0xb69b9b2d,0xb69b9b2d
2042 DD 0221e1e3ch,0221e1e3ch 2041 DD 0x221e1e3c,0x221e1e3c
2043 DD 092878715h,092878715h 2042 DD 0x92878715,0x92878715
2044 DD 020e9e9c9h,020e9e9c9h 2043 DD 0x20e9e9c9,0x20e9e9c9
2045 DD 049cece87h,049cece87h 2044 DD 0x49cece87,0x49cece87
2046 DD 0ff5555aah,0ff5555aah 2045 DD 0xff5555aa,0xff5555aa
2047 DD 078282850h,078282850h 2046 DD 0x78282850,0x78282850
2048 DD 07adfdfa5h,07adfdfa5h 2047 DD 0x7adfdfa5,0x7adfdfa5
2049 DD 08f8c8c03h,08f8c8c03h 2048 DD 0x8f8c8c03,0x8f8c8c03
2050 DD 0f8a1a159h,0f8a1a159h 2049 DD 0xf8a1a159,0xf8a1a159
2051 DD 080898909h,080898909h 2050 DD 0x80898909,0x80898909
2052 DD 0170d0d1ah,0170d0d1ah 2051 DD 0x170d0d1a,0x170d0d1a
2053 DD 0dabfbf65h,0dabfbf65h 2052 DD 0xdabfbf65,0xdabfbf65
2054 DD 031e6e6d7h,031e6e6d7h 2053 DD 0x31e6e6d7,0x31e6e6d7
2055 DD 0c6424284h,0c6424284h 2054 DD 0xc6424284,0xc6424284
2056 DD 0b86868d0h,0b86868d0h 2055 DD 0xb86868d0,0xb86868d0
2057 DD 0c3414182h,0c3414182h 2056 DD 0xc3414182,0xc3414182
2058 DD 0b0999929h,0b0999929h 2057 DD 0xb0999929,0xb0999929
2059 DD 0772d2d5ah,0772d2d5ah 2058 DD 0x772d2d5a,0x772d2d5a
2060 DD 0110f0f1eh,0110f0f1eh 2059 DD 0x110f0f1e,0x110f0f1e
2061 DD 0cbb0b07bh,0cbb0b07bh 2060 DD 0xcbb0b07b,0xcbb0b07b
2062 DD 0fc5454a8h,0fc5454a8h 2061 DD 0xfc5454a8,0xfc5454a8
2063 DD 0d6bbbb6dh,0d6bbbb6dh 2062 DD 0xd6bbbb6d,0xd6bbbb6d
2064 DD 03a16162ch,03a16162ch 2063 DD 0x3a16162c,0x3a16162c
2065 DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2064 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2066 DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2065 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2067 DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2066 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2068 DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2067 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2069 DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2068 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2070 DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2069 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2071 DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2070 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2072 DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2071 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2073 DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2072 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2074 DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2073 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2075 DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2074 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2076 DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2075 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2077 DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2076 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2078 DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2077 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2079 DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2078 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2080 DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2079 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2081 DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2080 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2082 DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2081 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2083 DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2082 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2084 DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2083 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2085 DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2084 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2086 DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2085 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2087 DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2086 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2088 DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2087 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2089 DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2088 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2090 DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2089 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2091 DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2090 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2092 DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2091 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2093 DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2092 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2094 DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2093 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2095 DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2094 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2096 DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2095 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2097 DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2096 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2098 DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2097 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2099 DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2098 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2100 DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2099 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2101 DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2100 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2102 DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2101 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2103 DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2102 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2104 DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2103 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2105 DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2104 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2106 DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2105 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2107 DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2106 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2108 DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2107 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2109 DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2108 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2110 DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2109 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2111 DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2110 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2112 DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2111 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2113 DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2112 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2114 DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2113 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2115 DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2114 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2116 DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2115 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2117 DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2116 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2118 DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2117 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2119 DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2118 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2120 DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2119 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2121 DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2120 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2122 DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2121 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2123 DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2122 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2124 DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2123 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2125 DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2124 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2126 DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2125 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2127 DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2126 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2128 DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2127 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2129 DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2128 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2130 DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2129 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2131 DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2130 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2132 DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2131 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2133 DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2132 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2134 DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2133 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2135 DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2134 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2136 DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2135 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2137 DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2136 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2138 DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2137 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2139 DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2138 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2140 DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2139 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2141 DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2140 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2142 DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2141 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2143 DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2142 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2144 DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2143 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2145 DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2144 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2146 DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2145 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2147 DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2146 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2148 DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2147 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2149 DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2148 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2150 DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2149 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2151 DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2150 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2152 DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2151 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2153 DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2152 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2154 DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2153 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2155 DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2154 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2156 DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2155 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2157 DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2156 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2158 DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2157 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2159 DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2158 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2160 DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2159 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2161 DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2160 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2162 DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2161 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2163 DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2162 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2164 DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2163 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2165 DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2164 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2166 DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2165 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2167 DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2166 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2168 DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2167 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2169 DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2168 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2170 DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2169 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2171 DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2170 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2172 DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2171 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2173 DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2172 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2174 DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2173 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2175 DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2174 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2176 DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2175 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2177 DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2176 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2178 DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2177 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2179 DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2178 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2180 DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2179 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2181 DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2180 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2182 DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2181 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2183 DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2182 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2184 DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2183 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2185 DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2184 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2186 DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2185 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2187 DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2186 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2188 DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2187 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2189 DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2188 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2190 DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2189 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2191 DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2190 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2192 DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2191 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2193 DD 000000001h,000000002h,000000004h,000000008h 2192 DD 0x00000001,0x00000002,0x00000004,0x00000008
2194 DD 000000010h,000000020h,000000040h,000000080h 2193 DD 0x00000010,0x00000020,0x00000040,0x00000080
2195 DD 00000001bh,000000036h,080808080h,080808080h 2194 DD 0x0000001b,0x00000036,0x80808080,0x80808080
2196 DD 0fefefefeh,0fefefefeh,01b1b1b1bh,01b1b1b1bh 2195 DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b
2197 ALIGN 64 2196 ALIGN 64
2198 $L$AES_Td:: 2197 $L$AES_Td:
2199 DD 050a7f451h,050a7f451h 2198 DD 0x50a7f451,0x50a7f451
2200 DD 05365417eh,05365417eh 2199 DD 0x5365417e,0x5365417e
2201 DD 0c3a4171ah,0c3a4171ah 2200 DD 0xc3a4171a,0xc3a4171a
2202 DD 0965e273ah,0965e273ah 2201 DD 0x965e273a,0x965e273a
2203 DD 0cb6bab3bh,0cb6bab3bh 2202 DD 0xcb6bab3b,0xcb6bab3b
2204 DD 0f1459d1fh,0f1459d1fh 2203 DD 0xf1459d1f,0xf1459d1f
2205 DD 0ab58faach,0ab58faach 2204 DD 0xab58faac,0xab58faac
2206 DD 09303e34bh,09303e34bh 2205 DD 0x9303e34b,0x9303e34b
2207 DD 055fa3020h,055fa3020h 2206 DD 0x55fa3020,0x55fa3020
2208 DD 0f66d76adh,0f66d76adh 2207 DD 0xf66d76ad,0xf66d76ad
2209 DD 09176cc88h,09176cc88h 2208 DD 0x9176cc88,0x9176cc88
2210 DD 0254c02f5h,0254c02f5h 2209 DD 0x254c02f5,0x254c02f5
2211 DD 0fcd7e54fh,0fcd7e54fh 2210 DD 0xfcd7e54f,0xfcd7e54f
2212 DD 0d7cb2ac5h,0d7cb2ac5h 2211 DD 0xd7cb2ac5,0xd7cb2ac5
2213 DD 080443526h,080443526h 2212 DD 0x80443526,0x80443526
2214 DD 08fa362b5h,08fa362b5h 2213 DD 0x8fa362b5,0x8fa362b5
2215 DD 0495ab1deh,0495ab1deh 2214 DD 0x495ab1de,0x495ab1de
2216 DD 0671bba25h,0671bba25h 2215 DD 0x671bba25,0x671bba25
2217 DD 0980eea45h,0980eea45h 2216 DD 0x980eea45,0x980eea45
2218 DD 0e1c0fe5dh,0e1c0fe5dh 2217 DD 0xe1c0fe5d,0xe1c0fe5d
2219 DD 002752fc3h,002752fc3h 2218 DD 0x02752fc3,0x02752fc3
2220 DD 012f04c81h,012f04c81h 2219 DD 0x12f04c81,0x12f04c81
2221 DD 0a397468dh,0a397468dh 2220 DD 0xa397468d,0xa397468d
2222 DD 0c6f9d36bh,0c6f9d36bh 2221 DD 0xc6f9d36b,0xc6f9d36b
2223 DD 0e75f8f03h,0e75f8f03h 2222 DD 0xe75f8f03,0xe75f8f03
2224 DD 0959c9215h,0959c9215h 2223 DD 0x959c9215,0x959c9215
2225 DD 0eb7a6dbfh,0eb7a6dbfh 2224 DD 0xeb7a6dbf,0xeb7a6dbf
2226 DD 0da595295h,0da595295h 2225 DD 0xda595295,0xda595295
2227 DD 02d83bed4h,02d83bed4h 2226 DD 0x2d83bed4,0x2d83bed4
2228 DD 0d3217458h,0d3217458h 2227 DD 0xd3217458,0xd3217458
2229 DD 02969e049h,02969e049h 2228 DD 0x2969e049,0x2969e049
2230 DD 044c8c98eh,044c8c98eh 2229 DD 0x44c8c98e,0x44c8c98e
2231 DD 06a89c275h,06a89c275h 2230 DD 0x6a89c275,0x6a89c275
2232 DD 078798ef4h,078798ef4h 2231 DD 0x78798ef4,0x78798ef4
2233 DD 06b3e5899h,06b3e5899h 2232 DD 0x6b3e5899,0x6b3e5899
2234 DD 0dd71b927h,0dd71b927h 2233 DD 0xdd71b927,0xdd71b927
2235 DD 0b64fe1beh,0b64fe1beh 2234 DD 0xb64fe1be,0xb64fe1be
2236 DD 017ad88f0h,017ad88f0h 2235 DD 0x17ad88f0,0x17ad88f0
2237 DD 066ac20c9h,066ac20c9h 2236 DD 0x66ac20c9,0x66ac20c9
2238 DD 0b43ace7dh,0b43ace7dh 2237 DD 0xb43ace7d,0xb43ace7d
2239 DD 0184adf63h,0184adf63h 2238 DD 0x184adf63,0x184adf63
2240 DD 082311ae5h,082311ae5h 2239 DD 0x82311ae5,0x82311ae5
2241 DD 060335197h,060335197h 2240 DD 0x60335197,0x60335197
2242 DD 0457f5362h,0457f5362h 2241 DD 0x457f5362,0x457f5362
2243 DD 0e07764b1h,0e07764b1h 2242 DD 0xe07764b1,0xe07764b1
2244 DD 084ae6bbbh,084ae6bbbh 2243 DD 0x84ae6bbb,0x84ae6bbb
2245 DD 01ca081feh,01ca081feh 2244 DD 0x1ca081fe,0x1ca081fe
2246 DD 0942b08f9h,0942b08f9h 2245 DD 0x942b08f9,0x942b08f9
2247 DD 058684870h,058684870h 2246 DD 0x58684870,0x58684870
2248 DD 019fd458fh,019fd458fh 2247 DD 0x19fd458f,0x19fd458f
2249 DD 0876cde94h,0876cde94h 2248 DD 0x876cde94,0x876cde94
2250 DD 0b7f87b52h,0b7f87b52h 2249 DD 0xb7f87b52,0xb7f87b52
2251 DD 023d373abh,023d373abh 2250 DD 0x23d373ab,0x23d373ab
2252 DD 0e2024b72h,0e2024b72h 2251 DD 0xe2024b72,0xe2024b72
2253 DD 0578f1fe3h,0578f1fe3h 2252 DD 0x578f1fe3,0x578f1fe3
2254 DD 02aab5566h,02aab5566h 2253 DD 0x2aab5566,0x2aab5566
2255 DD 00728ebb2h,00728ebb2h 2254 DD 0x0728ebb2,0x0728ebb2
2256 DD 003c2b52fh,003c2b52fh 2255 DD 0x03c2b52f,0x03c2b52f
2257 DD 09a7bc586h,09a7bc586h 2256 DD 0x9a7bc586,0x9a7bc586
2258 DD 0a50837d3h,0a50837d3h 2257 DD 0xa50837d3,0xa50837d3
2259 DD 0f2872830h,0f2872830h 2258 DD 0xf2872830,0xf2872830
2260 DD 0b2a5bf23h,0b2a5bf23h 2259 DD 0xb2a5bf23,0xb2a5bf23
2261 DD 0ba6a0302h,0ba6a0302h 2260 DD 0xba6a0302,0xba6a0302
2262 DD 05c8216edh,05c8216edh 2261 DD 0x5c8216ed,0x5c8216ed
2263 DD 02b1ccf8ah,02b1ccf8ah 2262 DD 0x2b1ccf8a,0x2b1ccf8a
2264 DD 092b479a7h,092b479a7h 2263 DD 0x92b479a7,0x92b479a7
2265 DD 0f0f207f3h,0f0f207f3h 2264 DD 0xf0f207f3,0xf0f207f3
2266 DD 0a1e2694eh,0a1e2694eh 2265 DD 0xa1e2694e,0xa1e2694e
2267 DD 0cdf4da65h,0cdf4da65h 2266 DD 0xcdf4da65,0xcdf4da65
2268 DD 0d5be0506h,0d5be0506h 2267 DD 0xd5be0506,0xd5be0506
2269 DD 01f6234d1h,01f6234d1h 2268 DD 0x1f6234d1,0x1f6234d1
2270 DD 08afea6c4h,08afea6c4h 2269 DD 0x8afea6c4,0x8afea6c4
2271 DD 09d532e34h,09d532e34h 2270 DD 0x9d532e34,0x9d532e34
2272 DD 0a055f3a2h,0a055f3a2h 2271 DD 0xa055f3a2,0xa055f3a2
2273 DD 032e18a05h,032e18a05h 2272 DD 0x32e18a05,0x32e18a05
2274 DD 075ebf6a4h,075ebf6a4h 2273 DD 0x75ebf6a4,0x75ebf6a4
2275 DD 039ec830bh,039ec830bh 2274 DD 0x39ec830b,0x39ec830b
2276 DD 0aaef6040h,0aaef6040h 2275 DD 0xaaef6040,0xaaef6040
2277 DD 0069f715eh,0069f715eh 2276 DD 0x069f715e,0x069f715e
2278 DD 051106ebdh,051106ebdh 2277 DD 0x51106ebd,0x51106ebd
2279 DD 0f98a213eh,0f98a213eh 2278 DD 0xf98a213e,0xf98a213e
2280 DD 03d06dd96h,03d06dd96h 2279 DD 0x3d06dd96,0x3d06dd96
2281 DD 0ae053eddh,0ae053eddh 2280 DD 0xae053edd,0xae053edd
2282 DD 046bde64dh,046bde64dh 2281 DD 0x46bde64d,0x46bde64d
2283 DD 0b58d5491h,0b58d5491h 2282 DD 0xb58d5491,0xb58d5491
2284 DD 0055dc471h,0055dc471h 2283 DD 0x055dc471,0x055dc471
2285 DD 06fd40604h,06fd40604h 2284 DD 0x6fd40604,0x6fd40604
2286 DD 0ff155060h,0ff155060h 2285 DD 0xff155060,0xff155060
2287 DD 024fb9819h,024fb9819h 2286 DD 0x24fb9819,0x24fb9819
2288 DD 097e9bdd6h,097e9bdd6h 2287 DD 0x97e9bdd6,0x97e9bdd6
2289 DD 0cc434089h,0cc434089h 2288 DD 0xcc434089,0xcc434089
2290 DD 0779ed967h,0779ed967h 2289 DD 0x779ed967,0x779ed967
2291 DD 0bd42e8b0h,0bd42e8b0h 2290 DD 0xbd42e8b0,0xbd42e8b0
2292 DD 0888b8907h,0888b8907h 2291 DD 0x888b8907,0x888b8907
2293 DD 0385b19e7h,0385b19e7h 2292 DD 0x385b19e7,0x385b19e7
2294 DD 0dbeec879h,0dbeec879h 2293 DD 0xdbeec879,0xdbeec879
2295 DD 0470a7ca1h,0470a7ca1h 2294 DD 0x470a7ca1,0x470a7ca1
2296 DD 0e90f427ch,0e90f427ch 2295 DD 0xe90f427c,0xe90f427c
2297 DD 0c91e84f8h,0c91e84f8h 2296 DD 0xc91e84f8,0xc91e84f8
2298 DD 000000000h,000000000h 2297 DD 0x00000000,0x00000000
2299 DD 083868009h,083868009h 2298 DD 0x83868009,0x83868009
2300 DD 048ed2b32h,048ed2b32h 2299 DD 0x48ed2b32,0x48ed2b32
2301 DD 0ac70111eh,0ac70111eh 2300 DD 0xac70111e,0xac70111e
2302 DD 04e725a6ch,04e725a6ch 2301 DD 0x4e725a6c,0x4e725a6c
2303 DD 0fbff0efdh,0fbff0efdh 2302 DD 0xfbff0efd,0xfbff0efd
2304 DD 05638850fh,05638850fh 2303 DD 0x5638850f,0x5638850f
2305 DD 01ed5ae3dh,01ed5ae3dh 2304 DD 0x1ed5ae3d,0x1ed5ae3d
2306 DD 027392d36h,027392d36h 2305 DD 0x27392d36,0x27392d36
2307 DD 064d90f0ah,064d90f0ah 2306 DD 0x64d90f0a,0x64d90f0a
2308 DD 021a65c68h,021a65c68h 2307 DD 0x21a65c68,0x21a65c68
2309 DD 0d1545b9bh,0d1545b9bh 2308 DD 0xd1545b9b,0xd1545b9b
2310 DD 03a2e3624h,03a2e3624h 2309 DD 0x3a2e3624,0x3a2e3624
2311 DD 0b1670a0ch,0b1670a0ch 2310 DD 0xb1670a0c,0xb1670a0c
2312 DD 00fe75793h,00fe75793h 2311 DD 0x0fe75793,0x0fe75793
2313 DD 0d296eeb4h,0d296eeb4h 2312 DD 0xd296eeb4,0xd296eeb4
2314 DD 09e919b1bh,09e919b1bh 2313 DD 0x9e919b1b,0x9e919b1b
2315 DD 04fc5c080h,04fc5c080h 2314 DD 0x4fc5c080,0x4fc5c080
2316 DD 0a220dc61h,0a220dc61h 2315 DD 0xa220dc61,0xa220dc61
2317 DD 0694b775ah,0694b775ah 2316 DD 0x694b775a,0x694b775a
2318 DD 0161a121ch,0161a121ch 2317 DD 0x161a121c,0x161a121c
2319 DD 00aba93e2h,00aba93e2h 2318 DD 0x0aba93e2,0x0aba93e2
2320 DD 0e52aa0c0h,0e52aa0c0h 2319 DD 0xe52aa0c0,0xe52aa0c0
2321 DD 043e0223ch,043e0223ch 2320 DD 0x43e0223c,0x43e0223c
2322 DD 01d171b12h,01d171b12h 2321 DD 0x1d171b12,0x1d171b12
2323 DD 00b0d090eh,00b0d090eh 2322 DD 0x0b0d090e,0x0b0d090e
2324 DD 0adc78bf2h,0adc78bf2h 2323 DD 0xadc78bf2,0xadc78bf2
2325 DD 0b9a8b62dh,0b9a8b62dh 2324 DD 0xb9a8b62d,0xb9a8b62d
2326 DD 0c8a91e14h,0c8a91e14h 2325 DD 0xc8a91e14,0xc8a91e14
2327 DD 08519f157h,08519f157h 2326 DD 0x8519f157,0x8519f157
2328 DD 04c0775afh,04c0775afh 2327 DD 0x4c0775af,0x4c0775af
2329 DD 0bbdd99eeh,0bbdd99eeh 2328 DD 0xbbdd99ee,0xbbdd99ee
2330 DD 0fd607fa3h,0fd607fa3h 2329 DD 0xfd607fa3,0xfd607fa3
2331 DD 09f2601f7h,09f2601f7h 2330 DD 0x9f2601f7,0x9f2601f7
2332 DD 0bcf5725ch,0bcf5725ch 2331 DD 0xbcf5725c,0xbcf5725c
2333 DD 0c53b6644h,0c53b6644h 2332 DD 0xc53b6644,0xc53b6644
2334 DD 0347efb5bh,0347efb5bh 2333 DD 0x347efb5b,0x347efb5b
2335 DD 07629438bh,07629438bh 2334 DD 0x7629438b,0x7629438b
2336 DD 0dcc623cbh,0dcc623cbh 2335 DD 0xdcc623cb,0xdcc623cb
2337 DD 068fcedb6h,068fcedb6h 2336 DD 0x68fcedb6,0x68fcedb6
2338 DD 063f1e4b8h,063f1e4b8h 2337 DD 0x63f1e4b8,0x63f1e4b8
2339 DD 0cadc31d7h,0cadc31d7h 2338 DD 0xcadc31d7,0xcadc31d7
2340 DD 010856342h,010856342h 2339 DD 0x10856342,0x10856342
2341 DD 040229713h,040229713h 2340 DD 0x40229713,0x40229713
2342 DD 02011c684h,02011c684h 2341 DD 0x2011c684,0x2011c684
2343 DD 07d244a85h,07d244a85h 2342 DD 0x7d244a85,0x7d244a85
2344 DD 0f83dbbd2h,0f83dbbd2h 2343 DD 0xf83dbbd2,0xf83dbbd2
2345 DD 01132f9aeh,01132f9aeh 2344 DD 0x1132f9ae,0x1132f9ae
2346 DD 06da129c7h,06da129c7h 2345 DD 0x6da129c7,0x6da129c7
2347 DD 04b2f9e1dh,04b2f9e1dh 2346 DD 0x4b2f9e1d,0x4b2f9e1d
2348 DD 0f330b2dch,0f330b2dch 2347 DD 0xf330b2dc,0xf330b2dc
2349 DD 0ec52860dh,0ec52860dh 2348 DD 0xec52860d,0xec52860d
2350 DD 0d0e3c177h,0d0e3c177h 2349 DD 0xd0e3c177,0xd0e3c177
2351 DD 06c16b32bh,06c16b32bh 2350 DD 0x6c16b32b,0x6c16b32b
2352 DD 099b970a9h,099b970a9h 2351 DD 0x99b970a9,0x99b970a9
2353 DD 0fa489411h,0fa489411h 2352 DD 0xfa489411,0xfa489411
2354 DD 02264e947h,02264e947h 2353 DD 0x2264e947,0x2264e947
2355 DD 0c48cfca8h,0c48cfca8h 2354 DD 0xc48cfca8,0xc48cfca8
2356 DD 01a3ff0a0h,01a3ff0a0h 2355 DD 0x1a3ff0a0,0x1a3ff0a0
2357 DD 0d82c7d56h,0d82c7d56h 2356 DD 0xd82c7d56,0xd82c7d56
2358 DD 0ef903322h,0ef903322h 2357 DD 0xef903322,0xef903322
2359 DD 0c74e4987h,0c74e4987h 2358 DD 0xc74e4987,0xc74e4987
2360 DD 0c1d138d9h,0c1d138d9h 2359 DD 0xc1d138d9,0xc1d138d9
2361 DD 0fea2ca8ch,0fea2ca8ch 2360 DD 0xfea2ca8c,0xfea2ca8c
2362 DD 0360bd498h,0360bd498h 2361 DD 0x360bd498,0x360bd498
2363 DD 0cf81f5a6h,0cf81f5a6h 2362 DD 0xcf81f5a6,0xcf81f5a6
2364 DD 028de7aa5h,028de7aa5h 2363 DD 0x28de7aa5,0x28de7aa5
2365 DD 0268eb7dah,0268eb7dah 2364 DD 0x268eb7da,0x268eb7da
2366 DD 0a4bfad3fh,0a4bfad3fh 2365 DD 0xa4bfad3f,0xa4bfad3f
2367 DD 0e49d3a2ch,0e49d3a2ch 2366 DD 0xe49d3a2c,0xe49d3a2c
2368 DD 00d927850h,00d927850h 2367 DD 0x0d927850,0x0d927850
2369 DD 09bcc5f6ah,09bcc5f6ah 2368 DD 0x9bcc5f6a,0x9bcc5f6a
2370 DD 062467e54h,062467e54h 2369 DD 0x62467e54,0x62467e54
2371 DD 0c2138df6h,0c2138df6h 2370 DD 0xc2138df6,0xc2138df6
2372 DD 0e8b8d890h,0e8b8d890h 2371 DD 0xe8b8d890,0xe8b8d890
2373 DD 05ef7392eh,05ef7392eh 2372 DD 0x5ef7392e,0x5ef7392e
2374 DD 0f5afc382h,0f5afc382h 2373 DD 0xf5afc382,0xf5afc382
2375 DD 0be805d9fh,0be805d9fh 2374 DD 0xbe805d9f,0xbe805d9f
2376 DD 07c93d069h,07c93d069h 2375 DD 0x7c93d069,0x7c93d069
2377 DD 0a92dd56fh,0a92dd56fh 2376 DD 0xa92dd56f,0xa92dd56f
2378 DD 0b31225cfh,0b31225cfh 2377 DD 0xb31225cf,0xb31225cf
2379 DD 03b99acc8h,03b99acc8h 2378 DD 0x3b99acc8,0x3b99acc8
2380 DD 0a77d1810h,0a77d1810h 2379 DD 0xa77d1810,0xa77d1810
2381 DD 06e639ce8h,06e639ce8h 2380 DD 0x6e639ce8,0x6e639ce8
2382 DD 07bbb3bdbh,07bbb3bdbh 2381 DD 0x7bbb3bdb,0x7bbb3bdb
2383 DD 0097826cdh,0097826cdh 2382 DD 0x097826cd,0x097826cd
2384 DD 0f418596eh,0f418596eh 2383 DD 0xf418596e,0xf418596e
2385 DD 001b79aech,001b79aech 2384 DD 0x01b79aec,0x01b79aec
2386 DD 0a89a4f83h,0a89a4f83h 2385 DD 0xa89a4f83,0xa89a4f83
2387 DD 0656e95e6h,0656e95e6h 2386 DD 0x656e95e6,0x656e95e6
2388 DD 07ee6ffaah,07ee6ffaah 2387 DD 0x7ee6ffaa,0x7ee6ffaa
2389 DD 008cfbc21h,008cfbc21h 2388 DD 0x08cfbc21,0x08cfbc21
2390 DD 0e6e815efh,0e6e815efh 2389 DD 0xe6e815ef,0xe6e815ef
2391 DD 0d99be7bah,0d99be7bah 2390 DD 0xd99be7ba,0xd99be7ba
2392 DD 0ce366f4ah,0ce366f4ah 2391 DD 0xce366f4a,0xce366f4a
2393 DD 0d4099feah,0d4099feah 2392 DD 0xd4099fea,0xd4099fea
2394 DD 0d67cb029h,0d67cb029h 2393 DD 0xd67cb029,0xd67cb029
2395 DD 0afb2a431h,0afb2a431h 2394 DD 0xafb2a431,0xafb2a431
2396 DD 031233f2ah,031233f2ah 2395 DD 0x31233f2a,0x31233f2a
2397 DD 03094a5c6h,03094a5c6h 2396 DD 0x3094a5c6,0x3094a5c6
2398 DD 0c066a235h,0c066a235h 2397 DD 0xc066a235,0xc066a235
2399 DD 037bc4e74h,037bc4e74h 2398 DD 0x37bc4e74,0x37bc4e74
2400 DD 0a6ca82fch,0a6ca82fch 2399 DD 0xa6ca82fc,0xa6ca82fc
2401 DD 0b0d090e0h,0b0d090e0h 2400 DD 0xb0d090e0,0xb0d090e0
2402 DD 015d8a733h,015d8a733h 2401 DD 0x15d8a733,0x15d8a733
2403 DD 04a9804f1h,04a9804f1h 2402 DD 0x4a9804f1,0x4a9804f1
2404 DD 0f7daec41h,0f7daec41h 2403 DD 0xf7daec41,0xf7daec41
2405 DD 00e50cd7fh,00e50cd7fh 2404 DD 0x0e50cd7f,0x0e50cd7f
2406 DD 02ff69117h,02ff69117h 2405 DD 0x2ff69117,0x2ff69117
2407 DD 08dd64d76h,08dd64d76h 2406 DD 0x8dd64d76,0x8dd64d76
2408 DD 04db0ef43h,04db0ef43h 2407 DD 0x4db0ef43,0x4db0ef43
2409 DD 0544daacch,0544daacch 2408 DD 0x544daacc,0x544daacc
2410 DD 0df0496e4h,0df0496e4h 2409 DD 0xdf0496e4,0xdf0496e4
2411 DD 0e3b5d19eh,0e3b5d19eh 2410 DD 0xe3b5d19e,0xe3b5d19e
2412 DD 01b886a4ch,01b886a4ch 2411 DD 0x1b886a4c,0x1b886a4c
2413 DD 0b81f2cc1h,0b81f2cc1h 2412 DD 0xb81f2cc1,0xb81f2cc1
2414 DD 07f516546h,07f516546h 2413 DD 0x7f516546,0x7f516546
2415 DD 004ea5e9dh,004ea5e9dh 2414 DD 0x04ea5e9d,0x04ea5e9d
2416 DD 05d358c01h,05d358c01h 2415 DD 0x5d358c01,0x5d358c01
2417 DD 0737487fah,0737487fah 2416 DD 0x737487fa,0x737487fa
2418 DD 02e410bfbh,02e410bfbh 2417 DD 0x2e410bfb,0x2e410bfb
2419 DD 05a1d67b3h,05a1d67b3h 2418 DD 0x5a1d67b3,0x5a1d67b3
2420 DD 052d2db92h,052d2db92h 2419 DD 0x52d2db92,0x52d2db92
2421 DD 0335610e9h,0335610e9h 2420 DD 0x335610e9,0x335610e9
2422 DD 01347d66dh,01347d66dh 2421 DD 0x1347d66d,0x1347d66d
2423 DD 08c61d79ah,08c61d79ah 2422 DD 0x8c61d79a,0x8c61d79a
2424 DD 07a0ca137h,07a0ca137h 2423 DD 0x7a0ca137,0x7a0ca137
2425 DD 08e14f859h,08e14f859h 2424 DD 0x8e14f859,0x8e14f859
2426 DD 0893c13ebh,0893c13ebh 2425 DD 0x893c13eb,0x893c13eb
2427 DD 0ee27a9ceh,0ee27a9ceh 2426 DD 0xee27a9ce,0xee27a9ce
2428 DD 035c961b7h,035c961b7h 2427 DD 0x35c961b7,0x35c961b7
2429 DD 0ede51ce1h,0ede51ce1h 2428 DD 0xede51ce1,0xede51ce1
2430 DD 03cb1477ah,03cb1477ah 2429 DD 0x3cb1477a,0x3cb1477a
2431 DD 059dfd29ch,059dfd29ch 2430 DD 0x59dfd29c,0x59dfd29c
2432 DD 03f73f255h,03f73f255h 2431 DD 0x3f73f255,0x3f73f255
2433 DD 079ce1418h,079ce1418h 2432 DD 0x79ce1418,0x79ce1418
2434 DD 0bf37c773h,0bf37c773h 2433 DD 0xbf37c773,0xbf37c773
2435 DD 0eacdf753h,0eacdf753h 2434 DD 0xeacdf753,0xeacdf753
2436 DD 05baafd5fh,05baafd5fh 2435 DD 0x5baafd5f,0x5baafd5f
2437 DD 0146f3ddfh,0146f3ddfh 2436 DD 0x146f3ddf,0x146f3ddf
2438 DD 086db4478h,086db4478h 2437 DD 0x86db4478,0x86db4478
2439 DD 081f3afcah,081f3afcah 2438 DD 0x81f3afca,0x81f3afca
2440 DD 03ec468b9h,03ec468b9h 2439 DD 0x3ec468b9,0x3ec468b9
2441 DD 02c342438h,02c342438h 2440 DD 0x2c342438,0x2c342438
2442 DD 05f40a3c2h,05f40a3c2h 2441 DD 0x5f40a3c2,0x5f40a3c2
2443 DD 072c31d16h,072c31d16h 2442 DD 0x72c31d16,0x72c31d16
2444 DD 00c25e2bch,00c25e2bch 2443 DD 0x0c25e2bc,0x0c25e2bc
2445 DD 08b493c28h,08b493c28h 2444 DD 0x8b493c28,0x8b493c28
2446 DD 041950dffh,041950dffh 2445 DD 0x41950dff,0x41950dff
2447 DD 07101a839h,07101a839h 2446 DD 0x7101a839,0x7101a839
2448 DD 0deb30c08h,0deb30c08h 2447 DD 0xdeb30c08,0xdeb30c08
2449 DD 09ce4b4d8h,09ce4b4d8h 2448 DD 0x9ce4b4d8,0x9ce4b4d8
2450 DD 090c15664h,090c15664h 2449 DD 0x90c15664,0x90c15664
2451 DD 06184cb7bh,06184cb7bh 2450 DD 0x6184cb7b,0x6184cb7b
2452 DD 070b632d5h,070b632d5h 2451 DD 0x70b632d5,0x70b632d5
2453 DD 0745c6c48h,0745c6c48h 2452 DD 0x745c6c48,0x745c6c48
2454 DD 04257b8d0h,04257b8d0h 2453 DD 0x4257b8d0,0x4257b8d0
2455 DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2454 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2456 DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2455 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2457 DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2456 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2458 DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2457 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2459 DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2458 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2460 DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2459 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2461 DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2460 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2462 DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2461 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2463 DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2462 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2464 DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2463 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2465 DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2464 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2466 DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2465 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2467 DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2466 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2468 DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2467 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2469 DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2468 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2470 DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2469 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2471 DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2470 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2472 DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2471 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2473 DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2472 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2474 DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2473 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2475 DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2474 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2476 DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2475 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2477 DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2476 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2478 DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2477 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2479 DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2478 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2480 DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2479 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2481 DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2480 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2482 DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2481 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2483 DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2482 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2484 DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2483 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2485 DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2484 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2486 DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2485 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2487 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2486 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2488 DD 01b1b1b1bh,01b1b1b1bh,0,0 2487 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2489 DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2488 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2490 DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2489 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2491 DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2490 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2492 DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2491 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2493 DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2492 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2494 DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2493 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2495 DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2494 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2496 DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2495 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2497 DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2496 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2498 DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2497 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2499 DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2498 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2500 DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2499 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2501 DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2500 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2502 DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2501 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2503 DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2502 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2504 DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2503 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2505 DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2504 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2506 DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2505 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2507 DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2506 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2508 DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2507 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2509 DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2508 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2510 DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2509 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2511 DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2510 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2512 DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2511 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2513 DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2512 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2514 DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2513 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2515 DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2514 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2516 DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2515 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2517 DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2516 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2518 DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2517 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2519 DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2518 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2520 DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2519 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2521 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2520 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2522 DD 01b1b1b1bh,01b1b1b1bh,0,0 2521 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2523 DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2522 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2524 DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2523 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2525 DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2524 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2526 DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2525 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2527 DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2526 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2528 DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2527 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2529 DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2528 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2530 DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2529 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2531 DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2530 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2532 DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2531 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2533 DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2532 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2534 DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2533 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2535 DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2534 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2536 DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2535 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2537 DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2536 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2538 DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2537 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2539 DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2538 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2540 DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2539 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2541 DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2540 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2542 DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2541 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2543 DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2542 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2544 DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2543 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2545 DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2544 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2546 DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2545 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2547 DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2546 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2548 DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2547 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2549 DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2548 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2550 DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2549 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2551 DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2550 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2552 DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2551 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2553 DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2552 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2554 DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2553 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2555 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2554 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2556 DD 01b1b1b1bh,01b1b1b1bh,0,0 2555 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2557 DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2556 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2558 DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2557 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2559 DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2558 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2560 DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2559 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2561 DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2560 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2562 DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2561 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2563 DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2562 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2564 DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2563 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2565 DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2564 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2566 DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2565 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2567 DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2566 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2568 DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2567 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2569 DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2568 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2570 DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2569 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2571 DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2570 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2572 DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2571 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2573 DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2572 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2574 DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2573 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2575 DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2574 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2576 DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2575 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2577 DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2576 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2578 DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2577 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2579 DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2578 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2580 DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2579 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2581 DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2580 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2582 DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2581 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2583 DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2582 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2584 DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2583 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2585 DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2584 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2586 DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2585 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2587 DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2586 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2588 DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2587 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2589 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2588 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2590 DD 01b1b1b1bh,01b1b1b1bh,0,0 2589 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2591 DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32 2590 DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32
2592 DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 2591 DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
2593 DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 2592 DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
2594 DB 62,0 2593 DB 62,0
2595 ALIGN 64 2594 ALIGN 64
2596 EXTERN» __imp_RtlVirtualUnwind:NEAR 2595 EXTERN» __imp_RtlVirtualUnwind
2597 2596
2598 ALIGN 16 2597 ALIGN 16
2599 block_se_handler» PROC PRIVATE 2598 block_se_handler:
2600 push rsi 2599 push rsi
2601 push rdi 2600 push rdi
2602 push rbx 2601 push rbx
2603 push rbp 2602 push rbp
2604 push r12 2603 push r12
2605 push r13 2604 push r13
2606 push r14 2605 push r14
2607 push r15 2606 push r15
2608 pushfq 2607 pushfq
2609 sub rsp,64 2608 sub rsp,64
2610 2609
2611 » mov» rax,QWORD PTR[120+r8] 2610 » mov» rax,QWORD[120+r8]
2612 » mov» rbx,QWORD PTR[248+r8] 2611 » mov» rbx,QWORD[248+r8]
2613 2612
2614 » mov» rsi,QWORD PTR[8+r9] 2613 » mov» rsi,QWORD[8+r9]
2615 » mov» r11,QWORD PTR[56+r9] 2614 » mov» r11,QWORD[56+r9]
2616 2615
2617 » mov» r10d,DWORD PTR[r11] 2616 » mov» r10d,DWORD[r11]
2618 » lea» r10,QWORD PTR[r10*1+rsi] 2617 » lea» r10,[r10*1+rsi]
2619 cmp rbx,r10 2618 cmp rbx,r10
2620 » jb» $L$in_block_prologue 2619 » jb» NEAR $L$in_block_prologue
2621 2620
2622 » mov» rax,QWORD PTR[152+r8] 2621 » mov» rax,QWORD[152+r8]
2623 2622
2624 » mov» r10d,DWORD PTR[4+r11] 2623 » mov» r10d,DWORD[4+r11]
2625 » lea» r10,QWORD PTR[r10*1+rsi] 2624 » lea» r10,[r10*1+rsi]
2626 cmp rbx,r10 2625 cmp rbx,r10
2627 » jae» $L$in_block_prologue 2626 » jae» NEAR $L$in_block_prologue
2628 2627
2629 » mov» rax,QWORD PTR[24+rax] 2628 » mov» rax,QWORD[24+rax]
2630 » lea» rax,QWORD PTR[48+rax] 2629 » lea» rax,[48+rax]
2631 2630
2632 » mov» rbx,QWORD PTR[((-8))+rax] 2631 » mov» rbx,QWORD[((-8))+rax]
2633 » mov» rbp,QWORD PTR[((-16))+rax] 2632 » mov» rbp,QWORD[((-16))+rax]
2634 » mov» r12,QWORD PTR[((-24))+rax] 2633 » mov» r12,QWORD[((-24))+rax]
2635 » mov» r13,QWORD PTR[((-32))+rax] 2634 » mov» r13,QWORD[((-32))+rax]
2636 » mov» r14,QWORD PTR[((-40))+rax] 2635 » mov» r14,QWORD[((-40))+rax]
2637 » mov» r15,QWORD PTR[((-48))+rax] 2636 » mov» r15,QWORD[((-48))+rax]
2638 » mov» QWORD PTR[144+r8],rbx 2637 » mov» QWORD[144+r8],rbx
2639 » mov» QWORD PTR[160+r8],rbp 2638 » mov» QWORD[160+r8],rbp
2640 » mov» QWORD PTR[216+r8],r12 2639 » mov» QWORD[216+r8],r12
2641 » mov» QWORD PTR[224+r8],r13 2640 » mov» QWORD[224+r8],r13
2642 » mov» QWORD PTR[232+r8],r14 2641 » mov» QWORD[232+r8],r14
2643 » mov» QWORD PTR[240+r8],r15 2642 » mov» QWORD[240+r8],r15
2644 2643
2645 $L$in_block_prologue:: 2644 $L$in_block_prologue:
2646 » mov» rdi,QWORD PTR[8+rax] 2645 » mov» rdi,QWORD[8+rax]
2647 » mov» rsi,QWORD PTR[16+rax] 2646 » mov» rsi,QWORD[16+rax]
2648 » mov» QWORD PTR[152+r8],rax 2647 » mov» QWORD[152+r8],rax
2649 » mov» QWORD PTR[168+r8],rsi 2648 » mov» QWORD[168+r8],rsi
2650 » mov» QWORD PTR[176+r8],rdi 2649 » mov» QWORD[176+r8],rdi
2651 2650
2652 » jmp» $L$common_seh_exit 2651 » jmp» NEAR $L$common_seh_exit
2653 block_se_handler» ENDP 2652
2654 2653
2655 2654
2656 ALIGN 16 2655 ALIGN 16
2657 key_se_handler» PROC PRIVATE 2656 key_se_handler:
2658 push rsi 2657 push rsi
2659 push rdi 2658 push rdi
2660 push rbx 2659 push rbx
2661 push rbp 2660 push rbp
2662 push r12 2661 push r12
2663 push r13 2662 push r13
2664 push r14 2663 push r14
2665 push r15 2664 push r15
2666 pushfq 2665 pushfq
2667 sub rsp,64 2666 sub rsp,64
2668 2667
2669 » mov» rax,QWORD PTR[120+r8] 2668 » mov» rax,QWORD[120+r8]
2670 » mov» rbx,QWORD PTR[248+r8] 2669 » mov» rbx,QWORD[248+r8]
2671 2670
2672 » mov» rsi,QWORD PTR[8+r9] 2671 » mov» rsi,QWORD[8+r9]
2673 » mov» r11,QWORD PTR[56+r9] 2672 » mov» r11,QWORD[56+r9]
2674 2673
2675 » mov» r10d,DWORD PTR[r11] 2674 » mov» r10d,DWORD[r11]
2676 » lea» r10,QWORD PTR[r10*1+rsi] 2675 » lea» r10,[r10*1+rsi]
2677 cmp rbx,r10 2676 cmp rbx,r10
2678 » jb» $L$in_key_prologue 2677 » jb» NEAR $L$in_key_prologue
2679 2678
2680 » mov» rax,QWORD PTR[152+r8] 2679 » mov» rax,QWORD[152+r8]
2681 2680
2682 » mov» r10d,DWORD PTR[4+r11] 2681 » mov» r10d,DWORD[4+r11]
2683 » lea» r10,QWORD PTR[r10*1+rsi] 2682 » lea» r10,[r10*1+rsi]
2684 cmp rbx,r10 2683 cmp rbx,r10
2685 » jae» $L$in_key_prologue 2684 » jae» NEAR $L$in_key_prologue
2686 2685
2687 » lea» rax,QWORD PTR[56+rax] 2686 » lea» rax,[56+rax]
2688 2687
2689 » mov» rbx,QWORD PTR[((-8))+rax] 2688 » mov» rbx,QWORD[((-8))+rax]
2690 » mov» rbp,QWORD PTR[((-16))+rax] 2689 » mov» rbp,QWORD[((-16))+rax]
2691 » mov» r12,QWORD PTR[((-24))+rax] 2690 » mov» r12,QWORD[((-24))+rax]
2692 » mov» r13,QWORD PTR[((-32))+rax] 2691 » mov» r13,QWORD[((-32))+rax]
2693 » mov» r14,QWORD PTR[((-40))+rax] 2692 » mov» r14,QWORD[((-40))+rax]
2694 » mov» r15,QWORD PTR[((-48))+rax] 2693 » mov» r15,QWORD[((-48))+rax]
2695 » mov» QWORD PTR[144+r8],rbx 2694 » mov» QWORD[144+r8],rbx
2696 » mov» QWORD PTR[160+r8],rbp 2695 » mov» QWORD[160+r8],rbp
2697 » mov» QWORD PTR[216+r8],r12 2696 » mov» QWORD[216+r8],r12
2698 » mov» QWORD PTR[224+r8],r13 2697 » mov» QWORD[224+r8],r13
2699 » mov» QWORD PTR[232+r8],r14 2698 » mov» QWORD[232+r8],r14
2700 » mov» QWORD PTR[240+r8],r15 2699 » mov» QWORD[240+r8],r15
2701 2700
2702 $L$in_key_prologue:: 2701 $L$in_key_prologue:
2703 » mov» rdi,QWORD PTR[8+rax] 2702 » mov» rdi,QWORD[8+rax]
2704 » mov» rsi,QWORD PTR[16+rax] 2703 » mov» rsi,QWORD[16+rax]
2705 » mov» QWORD PTR[152+r8],rax 2704 » mov» QWORD[152+r8],rax
2706 » mov» QWORD PTR[168+r8],rsi 2705 » mov» QWORD[168+r8],rsi
2707 » mov» QWORD PTR[176+r8],rdi 2706 » mov» QWORD[176+r8],rdi
2708 2707
2709 » jmp» $L$common_seh_exit 2708 » jmp» NEAR $L$common_seh_exit
2710 key_se_handler» ENDP 2709
2711 2710
2712 2711
2713 ALIGN 16 2712 ALIGN 16
2714 cbc_se_handler» PROC PRIVATE 2713 cbc_se_handler:
2715 push rsi 2714 push rsi
2716 push rdi 2715 push rdi
2717 push rbx 2716 push rbx
2718 push rbp 2717 push rbp
2719 push r12 2718 push r12
2720 push r13 2719 push r13
2721 push r14 2720 push r14
2722 push r15 2721 push r15
2723 pushfq 2722 pushfq
2724 sub rsp,64 2723 sub rsp,64
2725 2724
2726 » mov» rax,QWORD PTR[120+r8] 2725 » mov» rax,QWORD[120+r8]
2727 » mov» rbx,QWORD PTR[248+r8] 2726 » mov» rbx,QWORD[248+r8]
2728 2727
2729 » lea» r10,QWORD PTR[$L$cbc_prologue] 2728 » lea» r10,[$L$cbc_prologue]
2730 cmp rbx,r10 2729 cmp rbx,r10
2731 » jb» $L$in_cbc_prologue 2730 » jb» NEAR $L$in_cbc_prologue
2732 2731
2733 » lea» r10,QWORD PTR[$L$cbc_fast_body] 2732 » lea» r10,[$L$cbc_fast_body]
2734 cmp rbx,r10 2733 cmp rbx,r10
2735 » jb» $L$in_cbc_frame_setup 2734 » jb» NEAR $L$in_cbc_frame_setup
2736 2735
2737 » lea» r10,QWORD PTR[$L$cbc_slow_prologue] 2736 » lea» r10,[$L$cbc_slow_prologue]
2738 cmp rbx,r10 2737 cmp rbx,r10
2739 » jb» $L$in_cbc_body 2738 » jb» NEAR $L$in_cbc_body
2740 2739
2741 » lea» r10,QWORD PTR[$L$cbc_slow_body] 2740 » lea» r10,[$L$cbc_slow_body]
2742 cmp rbx,r10 2741 cmp rbx,r10
2743 » jb» $L$in_cbc_frame_setup 2742 » jb» NEAR $L$in_cbc_frame_setup
2744 2743
2745 $L$in_cbc_body:: 2744 $L$in_cbc_body:
2746 » mov» rax,QWORD PTR[152+r8] 2745 » mov» rax,QWORD[152+r8]
2747 2746
2748 » lea» r10,QWORD PTR[$L$cbc_epilogue] 2747 » lea» r10,[$L$cbc_epilogue]
2749 cmp rbx,r10 2748 cmp rbx,r10
2750 » jae» $L$in_cbc_prologue 2749 » jae» NEAR $L$in_cbc_prologue
2751 2750
2752 » lea» rax,QWORD PTR[8+rax] 2751 » lea» rax,[8+rax]
2753 2752
2754 » lea» r10,QWORD PTR[$L$cbc_popfq] 2753 » lea» r10,[$L$cbc_popfq]
2755 cmp rbx,r10 2754 cmp rbx,r10
2756 » jae» $L$in_cbc_prologue 2755 » jae» NEAR $L$in_cbc_prologue
2757 2756
2758 » mov» rax,QWORD PTR[8+rax] 2757 » mov» rax,QWORD[8+rax]
2759 » lea» rax,QWORD PTR[56+rax] 2758 » lea» rax,[56+rax]
2760 2759
2761 $L$in_cbc_frame_setup:: 2760 $L$in_cbc_frame_setup:
2762 » mov» rbx,QWORD PTR[((-16))+rax] 2761 » mov» rbx,QWORD[((-16))+rax]
2763 » mov» rbp,QWORD PTR[((-24))+rax] 2762 » mov» rbp,QWORD[((-24))+rax]
2764 » mov» r12,QWORD PTR[((-32))+rax] 2763 » mov» r12,QWORD[((-32))+rax]
2765 » mov» r13,QWORD PTR[((-40))+rax] 2764 » mov» r13,QWORD[((-40))+rax]
2766 » mov» r14,QWORD PTR[((-48))+rax] 2765 » mov» r14,QWORD[((-48))+rax]
2767 » mov» r15,QWORD PTR[((-56))+rax] 2766 » mov» r15,QWORD[((-56))+rax]
2768 » mov» QWORD PTR[144+r8],rbx 2767 » mov» QWORD[144+r8],rbx
2769 » mov» QWORD PTR[160+r8],rbp 2768 » mov» QWORD[160+r8],rbp
2770 » mov» QWORD PTR[216+r8],r12 2769 » mov» QWORD[216+r8],r12
2771 » mov» QWORD PTR[224+r8],r13 2770 » mov» QWORD[224+r8],r13
2772 » mov» QWORD PTR[232+r8],r14 2771 » mov» QWORD[232+r8],r14
2773 » mov» QWORD PTR[240+r8],r15 2772 » mov» QWORD[240+r8],r15
2774 2773
2775 $L$in_cbc_prologue:: 2774 $L$in_cbc_prologue:
2776 » mov» rdi,QWORD PTR[8+rax] 2775 » mov» rdi,QWORD[8+rax]
2777 » mov» rsi,QWORD PTR[16+rax] 2776 » mov» rsi,QWORD[16+rax]
2778 » mov» QWORD PTR[152+r8],rax 2777 » mov» QWORD[152+r8],rax
2779 » mov» QWORD PTR[168+r8],rsi 2778 » mov» QWORD[168+r8],rsi
2780 » mov» QWORD PTR[176+r8],rdi 2779 » mov» QWORD[176+r8],rdi
2781 2780
2782 $L$common_seh_exit:: 2781 $L$common_seh_exit:
2783 2782
2784 » mov» rdi,QWORD PTR[40+r9] 2783 » mov» rdi,QWORD[40+r9]
2785 mov rsi,r8 2784 mov rsi,r8
2786 mov ecx,154 2785 mov ecx,154
2787 » DD» 0a548f3fch 2786 » DD» 0xa548f3fc
2788 2787
2789 mov rsi,r9 2788 mov rsi,r9
2790 xor rcx,rcx 2789 xor rcx,rcx
2791 » mov» rdx,QWORD PTR[8+rsi] 2790 » mov» rdx,QWORD[8+rsi]
2792 » mov» r8,QWORD PTR[rsi] 2791 » mov» r8,QWORD[rsi]
2793 » mov» r9,QWORD PTR[16+rsi] 2792 » mov» r9,QWORD[16+rsi]
2794 » mov» r10,QWORD PTR[40+rsi] 2793 » mov» r10,QWORD[40+rsi]
2795 » lea» r11,QWORD PTR[56+rsi] 2794 » lea» r11,[56+rsi]
2796 » lea» r12,QWORD PTR[24+rsi] 2795 » lea» r12,[24+rsi]
2797 » mov» QWORD PTR[32+rsp],r10 2796 » mov» QWORD[32+rsp],r10
2798 » mov» QWORD PTR[40+rsp],r11 2797 » mov» QWORD[40+rsp],r11
2799 » mov» QWORD PTR[48+rsp],r12 2798 » mov» QWORD[48+rsp],r12
2800 » mov» QWORD PTR[56+rsp],rcx 2799 » mov» QWORD[56+rsp],rcx
2801 » call» QWORD PTR[__imp_RtlVirtualUnwind] 2800 » call» QWORD[__imp_RtlVirtualUnwind]
2802 2801
2803 mov eax,1 2802 mov eax,1
2804 add rsp,64 2803 add rsp,64
2805 popfq 2804 popfq
2806 pop r15 2805 pop r15
2807 pop r14 2806 pop r14
2808 pop r13 2807 pop r13
2809 pop r12 2808 pop r12
2810 pop rbp 2809 pop rbp
2811 pop rbx 2810 pop rbx
2812 pop rdi 2811 pop rdi
2813 pop rsi 2812 pop rsi
2814 DB 0F3h,0C3h ;repret 2813 DB 0F3h,0C3h ;repret
2815 cbc_se_handler ENDP
2816 2814
2817 .text$» ENDS 2815
2818 .pdata» SEGMENT READONLY ALIGN(4) 2816 section».pdata rdata align=4
2819 ALIGN 4 2817 ALIGN 4
2820 » DD» imagerel $L$SEH_begin_asm_AES_encrypt 2818 » DD» $L$SEH_begin_asm_AES_encrypt wrt ..imagebase
2821 » DD» imagerel $L$SEH_end_asm_AES_encrypt 2819 » DD» $L$SEH_end_asm_AES_encrypt wrt ..imagebase
2822 » DD» imagerel $L$SEH_info_asm_AES_encrypt 2820 » DD» $L$SEH_info_asm_AES_encrypt wrt ..imagebase
2823 2821
2824 » DD» imagerel $L$SEH_begin_asm_AES_decrypt 2822 » DD» $L$SEH_begin_asm_AES_decrypt wrt ..imagebase
2825 » DD» imagerel $L$SEH_end_asm_AES_decrypt 2823 » DD» $L$SEH_end_asm_AES_decrypt wrt ..imagebase
2826 » DD» imagerel $L$SEH_info_asm_AES_decrypt 2824 » DD» $L$SEH_info_asm_AES_decrypt wrt ..imagebase
2827 2825
2828 » DD» imagerel $L$SEH_begin_asm_AES_set_encrypt_key 2826 » DD» $L$SEH_begin_asm_AES_set_encrypt_key wrt ..imagebase
2829 » DD» imagerel $L$SEH_end_asm_AES_set_encrypt_key 2827 » DD» $L$SEH_end_asm_AES_set_encrypt_key wrt ..imagebase
2830 » DD» imagerel $L$SEH_info_asm_AES_set_encrypt_key 2828 » DD» $L$SEH_info_asm_AES_set_encrypt_key wrt ..imagebase
2831 2829
2832 » DD» imagerel $L$SEH_begin_asm_AES_set_decrypt_key 2830 » DD» $L$SEH_begin_asm_AES_set_decrypt_key wrt ..imagebase
2833 » DD» imagerel $L$SEH_end_asm_AES_set_decrypt_key 2831 » DD» $L$SEH_end_asm_AES_set_decrypt_key wrt ..imagebase
2834 » DD» imagerel $L$SEH_info_asm_AES_set_decrypt_key 2832 » DD» $L$SEH_info_asm_AES_set_decrypt_key wrt ..imagebase
2835 2833
2836 » DD» imagerel $L$SEH_begin_asm_AES_cbc_encrypt 2834 » DD» $L$SEH_begin_asm_AES_cbc_encrypt wrt ..imagebase
2837 » DD» imagerel $L$SEH_end_asm_AES_cbc_encrypt 2835 » DD» $L$SEH_end_asm_AES_cbc_encrypt wrt ..imagebase
2838 » DD» imagerel $L$SEH_info_asm_AES_cbc_encrypt 2836 » DD» $L$SEH_info_asm_AES_cbc_encrypt wrt ..imagebase
2839 2837
2840 .pdata» ENDS 2838 section».xdata rdata align=8
2841 .xdata» SEGMENT READONLY ALIGN(8)
2842 ALIGN 8 2839 ALIGN 8
2843 $L$SEH_info_asm_AES_encrypt:: 2840 $L$SEH_info_asm_AES_encrypt:
2844 DB 9,0,0,0 2841 DB 9,0,0,0
2845 » DD» imagerel block_se_handler 2842 » DD» block_se_handler wrt ..imagebase
2846 » DD» imagerel $L$enc_prologue,imagerel $L$enc_epilogue 2843 » DD» $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase
2847 $L$SEH_info_asm_AES_decrypt:: 2844 $L$SEH_info_asm_AES_decrypt:
2848 DB 9,0,0,0 2845 DB 9,0,0,0
2849 » DD» imagerel block_se_handler 2846 » DD» block_se_handler wrt ..imagebase
2850 » DD» imagerel $L$dec_prologue,imagerel $L$dec_epilogue 2847 » DD» $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase
2851 $L$SEH_info_asm_AES_set_encrypt_key:: 2848 $L$SEH_info_asm_AES_set_encrypt_key:
2852 DB 9,0,0,0 2849 DB 9,0,0,0
2853 » DD» imagerel key_se_handler 2850 » DD» key_se_handler wrt ..imagebase
2854 » DD» imagerel $L$enc_key_prologue,imagerel $L$enc_key_epilogue 2851 » DD» $L$enc_key_prologue wrt ..imagebase,$L$enc_key_epilogue wrt ..im agebase
2855 $L$SEH_info_asm_AES_set_decrypt_key:: 2852 $L$SEH_info_asm_AES_set_decrypt_key:
2856 DB 9,0,0,0 2853 DB 9,0,0,0
2857 » DD» imagerel key_se_handler 2854 » DD» key_se_handler wrt ..imagebase
2858 » DD» imagerel $L$dec_key_prologue,imagerel $L$dec_key_epilogue 2855 » DD» $L$dec_key_prologue wrt ..imagebase,$L$dec_key_epilogue wrt ..im agebase
2859 $L$SEH_info_asm_AES_cbc_encrypt:: 2856 $L$SEH_info_asm_AES_cbc_encrypt:
2860 DB 9,0,0,0 2857 DB 9,0,0,0
2861 » DD» imagerel cbc_se_handler 2858 » DD» cbc_se_handler wrt ..imagebase
2862
2863 .xdata» ENDS
2864 END
OLDNEW
« no previous file with comments | « third_party/boringssl/update_gypi_and_asm.py ('k') | third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698