OLD | NEW |
| (Empty) |
1 default rel | |
2 %define XMMWORD | |
3 %define YMMWORD | |
4 %define ZMMWORD | |
5 section .text code align=64 | |
6 | |
7 EXTERN OPENSSL_ia32cap_P | |
8 | |
9 global sha1_block_data_order | |
10 | |
11 ALIGN 16 | |
12 sha1_block_data_order: | |
13 mov QWORD[8+rsp],rdi ;WIN64 prologue | |
14 mov QWORD[16+rsp],rsi | |
15 mov rax,rsp | |
16 $L$SEH_begin_sha1_block_data_order: | |
17 mov rdi,rcx | |
18 mov rsi,rdx | |
19 mov rdx,r8 | |
20 | |
21 | |
22 mov r9d,DWORD[((OPENSSL_ia32cap_P+0))] | |
23 mov r8d,DWORD[((OPENSSL_ia32cap_P+4))] | |
24 mov r10d,DWORD[((OPENSSL_ia32cap_P+8))] | |
25 test r8d,512 | |
26 jz NEAR $L$ialu | |
27 and r8d,268435456 | |
28 and r9d,1073741824 | |
29 or r8d,r9d | |
30 cmp r8d,1342177280 | |
31 je NEAR _avx_shortcut | |
32 jmp NEAR _ssse3_shortcut | |
33 | |
34 ALIGN 16 | |
35 $L$ialu: | |
36 mov rax,rsp | |
37 push rbx | |
38 push rbp | |
39 push r12 | |
40 push r13 | |
41 push r14 | |
42 mov r8,rdi | |
43 sub rsp,72 | |
44 mov r9,rsi | |
45 and rsp,-64 | |
46 mov r10,rdx | |
47 mov QWORD[64+rsp],rax | |
48 $L$prologue: | |
49 | |
50 mov esi,DWORD[r8] | |
51 mov edi,DWORD[4+r8] | |
52 mov r11d,DWORD[8+r8] | |
53 mov r12d,DWORD[12+r8] | |
54 mov r13d,DWORD[16+r8] | |
55 jmp NEAR $L$loop | |
56 | |
57 ALIGN 16 | |
58 $L$loop: | |
59 mov edx,DWORD[r9] | |
60 bswap edx | |
61 mov ebp,DWORD[4+r9] | |
62 mov eax,r12d | |
63 mov DWORD[rsp],edx | |
64 mov ecx,esi | |
65 bswap ebp | |
66 xor eax,r11d | |
67 rol ecx,5 | |
68 and eax,edi | |
69 lea r13d,[1518500249+r13*1+rdx] | |
70 add r13d,ecx | |
71 xor eax,r12d | |
72 rol edi,30 | |
73 add r13d,eax | |
74 mov r14d,DWORD[8+r9] | |
75 mov eax,r11d | |
76 mov DWORD[4+rsp],ebp | |
77 mov ecx,r13d | |
78 bswap r14d | |
79 xor eax,edi | |
80 rol ecx,5 | |
81 and eax,esi | |
82 lea r12d,[1518500249+r12*1+rbp] | |
83 add r12d,ecx | |
84 xor eax,r11d | |
85 rol esi,30 | |
86 add r12d,eax | |
87 mov edx,DWORD[12+r9] | |
88 mov eax,edi | |
89 mov DWORD[8+rsp],r14d | |
90 mov ecx,r12d | |
91 bswap edx | |
92 xor eax,esi | |
93 rol ecx,5 | |
94 and eax,r13d | |
95 lea r11d,[1518500249+r11*1+r14] | |
96 add r11d,ecx | |
97 xor eax,edi | |
98 rol r13d,30 | |
99 add r11d,eax | |
100 mov ebp,DWORD[16+r9] | |
101 mov eax,esi | |
102 mov DWORD[12+rsp],edx | |
103 mov ecx,r11d | |
104 bswap ebp | |
105 xor eax,r13d | |
106 rol ecx,5 | |
107 and eax,r12d | |
108 lea edi,[1518500249+rdi*1+rdx] | |
109 add edi,ecx | |
110 xor eax,esi | |
111 rol r12d,30 | |
112 add edi,eax | |
113 mov r14d,DWORD[20+r9] | |
114 mov eax,r13d | |
115 mov DWORD[16+rsp],ebp | |
116 mov ecx,edi | |
117 bswap r14d | |
118 xor eax,r12d | |
119 rol ecx,5 | |
120 and eax,r11d | |
121 lea esi,[1518500249+rsi*1+rbp] | |
122 add esi,ecx | |
123 xor eax,r13d | |
124 rol r11d,30 | |
125 add esi,eax | |
126 mov edx,DWORD[24+r9] | |
127 mov eax,r12d | |
128 mov DWORD[20+rsp],r14d | |
129 mov ecx,esi | |
130 bswap edx | |
131 xor eax,r11d | |
132 rol ecx,5 | |
133 and eax,edi | |
134 lea r13d,[1518500249+r13*1+r14] | |
135 add r13d,ecx | |
136 xor eax,r12d | |
137 rol edi,30 | |
138 add r13d,eax | |
139 mov ebp,DWORD[28+r9] | |
140 mov eax,r11d | |
141 mov DWORD[24+rsp],edx | |
142 mov ecx,r13d | |
143 bswap ebp | |
144 xor eax,edi | |
145 rol ecx,5 | |
146 and eax,esi | |
147 lea r12d,[1518500249+r12*1+rdx] | |
148 add r12d,ecx | |
149 xor eax,r11d | |
150 rol esi,30 | |
151 add r12d,eax | |
152 mov r14d,DWORD[32+r9] | |
153 mov eax,edi | |
154 mov DWORD[28+rsp],ebp | |
155 mov ecx,r12d | |
156 bswap r14d | |
157 xor eax,esi | |
158 rol ecx,5 | |
159 and eax,r13d | |
160 lea r11d,[1518500249+r11*1+rbp] | |
161 add r11d,ecx | |
162 xor eax,edi | |
163 rol r13d,30 | |
164 add r11d,eax | |
165 mov edx,DWORD[36+r9] | |
166 mov eax,esi | |
167 mov DWORD[32+rsp],r14d | |
168 mov ecx,r11d | |
169 bswap edx | |
170 xor eax,r13d | |
171 rol ecx,5 | |
172 and eax,r12d | |
173 lea edi,[1518500249+rdi*1+r14] | |
174 add edi,ecx | |
175 xor eax,esi | |
176 rol r12d,30 | |
177 add edi,eax | |
178 mov ebp,DWORD[40+r9] | |
179 mov eax,r13d | |
180 mov DWORD[36+rsp],edx | |
181 mov ecx,edi | |
182 bswap ebp | |
183 xor eax,r12d | |
184 rol ecx,5 | |
185 and eax,r11d | |
186 lea esi,[1518500249+rsi*1+rdx] | |
187 add esi,ecx | |
188 xor eax,r13d | |
189 rol r11d,30 | |
190 add esi,eax | |
191 mov r14d,DWORD[44+r9] | |
192 mov eax,r12d | |
193 mov DWORD[40+rsp],ebp | |
194 mov ecx,esi | |
195 bswap r14d | |
196 xor eax,r11d | |
197 rol ecx,5 | |
198 and eax,edi | |
199 lea r13d,[1518500249+r13*1+rbp] | |
200 add r13d,ecx | |
201 xor eax,r12d | |
202 rol edi,30 | |
203 add r13d,eax | |
204 mov edx,DWORD[48+r9] | |
205 mov eax,r11d | |
206 mov DWORD[44+rsp],r14d | |
207 mov ecx,r13d | |
208 bswap edx | |
209 xor eax,edi | |
210 rol ecx,5 | |
211 and eax,esi | |
212 lea r12d,[1518500249+r12*1+r14] | |
213 add r12d,ecx | |
214 xor eax,r11d | |
215 rol esi,30 | |
216 add r12d,eax | |
217 mov ebp,DWORD[52+r9] | |
218 mov eax,edi | |
219 mov DWORD[48+rsp],edx | |
220 mov ecx,r12d | |
221 bswap ebp | |
222 xor eax,esi | |
223 rol ecx,5 | |
224 and eax,r13d | |
225 lea r11d,[1518500249+r11*1+rdx] | |
226 add r11d,ecx | |
227 xor eax,edi | |
228 rol r13d,30 | |
229 add r11d,eax | |
230 mov r14d,DWORD[56+r9] | |
231 mov eax,esi | |
232 mov DWORD[52+rsp],ebp | |
233 mov ecx,r11d | |
234 bswap r14d | |
235 xor eax,r13d | |
236 rol ecx,5 | |
237 and eax,r12d | |
238 lea edi,[1518500249+rdi*1+rbp] | |
239 add edi,ecx | |
240 xor eax,esi | |
241 rol r12d,30 | |
242 add edi,eax | |
243 mov edx,DWORD[60+r9] | |
244 mov eax,r13d | |
245 mov DWORD[56+rsp],r14d | |
246 mov ecx,edi | |
247 bswap edx | |
248 xor eax,r12d | |
249 rol ecx,5 | |
250 and eax,r11d | |
251 lea esi,[1518500249+rsi*1+r14] | |
252 add esi,ecx | |
253 xor eax,r13d | |
254 rol r11d,30 | |
255 add esi,eax | |
256 xor ebp,DWORD[rsp] | |
257 mov eax,r12d | |
258 mov DWORD[60+rsp],edx | |
259 mov ecx,esi | |
260 xor ebp,DWORD[8+rsp] | |
261 xor eax,r11d | |
262 rol ecx,5 | |
263 xor ebp,DWORD[32+rsp] | |
264 and eax,edi | |
265 lea r13d,[1518500249+r13*1+rdx] | |
266 rol edi,30 | |
267 xor eax,r12d | |
268 add r13d,ecx | |
269 rol ebp,1 | |
270 add r13d,eax | |
271 xor r14d,DWORD[4+rsp] | |
272 mov eax,r11d | |
273 mov DWORD[rsp],ebp | |
274 mov ecx,r13d | |
275 xor r14d,DWORD[12+rsp] | |
276 xor eax,edi | |
277 rol ecx,5 | |
278 xor r14d,DWORD[36+rsp] | |
279 and eax,esi | |
280 lea r12d,[1518500249+r12*1+rbp] | |
281 rol esi,30 | |
282 xor eax,r11d | |
283 add r12d,ecx | |
284 rol r14d,1 | |
285 add r12d,eax | |
286 xor edx,DWORD[8+rsp] | |
287 mov eax,edi | |
288 mov DWORD[4+rsp],r14d | |
289 mov ecx,r12d | |
290 xor edx,DWORD[16+rsp] | |
291 xor eax,esi | |
292 rol ecx,5 | |
293 xor edx,DWORD[40+rsp] | |
294 and eax,r13d | |
295 lea r11d,[1518500249+r11*1+r14] | |
296 rol r13d,30 | |
297 xor eax,edi | |
298 add r11d,ecx | |
299 rol edx,1 | |
300 add r11d,eax | |
301 xor ebp,DWORD[12+rsp] | |
302 mov eax,esi | |
303 mov DWORD[8+rsp],edx | |
304 mov ecx,r11d | |
305 xor ebp,DWORD[20+rsp] | |
306 xor eax,r13d | |
307 rol ecx,5 | |
308 xor ebp,DWORD[44+rsp] | |
309 and eax,r12d | |
310 lea edi,[1518500249+rdi*1+rdx] | |
311 rol r12d,30 | |
312 xor eax,esi | |
313 add edi,ecx | |
314 rol ebp,1 | |
315 add edi,eax | |
316 xor r14d,DWORD[16+rsp] | |
317 mov eax,r13d | |
318 mov DWORD[12+rsp],ebp | |
319 mov ecx,edi | |
320 xor r14d,DWORD[24+rsp] | |
321 xor eax,r12d | |
322 rol ecx,5 | |
323 xor r14d,DWORD[48+rsp] | |
324 and eax,r11d | |
325 lea esi,[1518500249+rsi*1+rbp] | |
326 rol r11d,30 | |
327 xor eax,r13d | |
328 add esi,ecx | |
329 rol r14d,1 | |
330 add esi,eax | |
331 xor edx,DWORD[20+rsp] | |
332 mov eax,edi | |
333 mov DWORD[16+rsp],r14d | |
334 mov ecx,esi | |
335 xor edx,DWORD[28+rsp] | |
336 xor eax,r12d | |
337 rol ecx,5 | |
338 xor edx,DWORD[52+rsp] | |
339 lea r13d,[1859775393+r13*1+r14] | |
340 xor eax,r11d | |
341 add r13d,ecx | |
342 rol edi,30 | |
343 add r13d,eax | |
344 rol edx,1 | |
345 xor ebp,DWORD[24+rsp] | |
346 mov eax,esi | |
347 mov DWORD[20+rsp],edx | |
348 mov ecx,r13d | |
349 xor ebp,DWORD[32+rsp] | |
350 xor eax,r11d | |
351 rol ecx,5 | |
352 xor ebp,DWORD[56+rsp] | |
353 lea r12d,[1859775393+r12*1+rdx] | |
354 xor eax,edi | |
355 add r12d,ecx | |
356 rol esi,30 | |
357 add r12d,eax | |
358 rol ebp,1 | |
359 xor r14d,DWORD[28+rsp] | |
360 mov eax,r13d | |
361 mov DWORD[24+rsp],ebp | |
362 mov ecx,r12d | |
363 xor r14d,DWORD[36+rsp] | |
364 xor eax,edi | |
365 rol ecx,5 | |
366 xor r14d,DWORD[60+rsp] | |
367 lea r11d,[1859775393+r11*1+rbp] | |
368 xor eax,esi | |
369 add r11d,ecx | |
370 rol r13d,30 | |
371 add r11d,eax | |
372 rol r14d,1 | |
373 xor edx,DWORD[32+rsp] | |
374 mov eax,r12d | |
375 mov DWORD[28+rsp],r14d | |
376 mov ecx,r11d | |
377 xor edx,DWORD[40+rsp] | |
378 xor eax,esi | |
379 rol ecx,5 | |
380 xor edx,DWORD[rsp] | |
381 lea edi,[1859775393+rdi*1+r14] | |
382 xor eax,r13d | |
383 add edi,ecx | |
384 rol r12d,30 | |
385 add edi,eax | |
386 rol edx,1 | |
387 xor ebp,DWORD[36+rsp] | |
388 mov eax,r11d | |
389 mov DWORD[32+rsp],edx | |
390 mov ecx,edi | |
391 xor ebp,DWORD[44+rsp] | |
392 xor eax,r13d | |
393 rol ecx,5 | |
394 xor ebp,DWORD[4+rsp] | |
395 lea esi,[1859775393+rsi*1+rdx] | |
396 xor eax,r12d | |
397 add esi,ecx | |
398 rol r11d,30 | |
399 add esi,eax | |
400 rol ebp,1 | |
401 xor r14d,DWORD[40+rsp] | |
402 mov eax,edi | |
403 mov DWORD[36+rsp],ebp | |
404 mov ecx,esi | |
405 xor r14d,DWORD[48+rsp] | |
406 xor eax,r12d | |
407 rol ecx,5 | |
408 xor r14d,DWORD[8+rsp] | |
409 lea r13d,[1859775393+r13*1+rbp] | |
410 xor eax,r11d | |
411 add r13d,ecx | |
412 rol edi,30 | |
413 add r13d,eax | |
414 rol r14d,1 | |
415 xor edx,DWORD[44+rsp] | |
416 mov eax,esi | |
417 mov DWORD[40+rsp],r14d | |
418 mov ecx,r13d | |
419 xor edx,DWORD[52+rsp] | |
420 xor eax,r11d | |
421 rol ecx,5 | |
422 xor edx,DWORD[12+rsp] | |
423 lea r12d,[1859775393+r12*1+r14] | |
424 xor eax,edi | |
425 add r12d,ecx | |
426 rol esi,30 | |
427 add r12d,eax | |
428 rol edx,1 | |
429 xor ebp,DWORD[48+rsp] | |
430 mov eax,r13d | |
431 mov DWORD[44+rsp],edx | |
432 mov ecx,r12d | |
433 xor ebp,DWORD[56+rsp] | |
434 xor eax,edi | |
435 rol ecx,5 | |
436 xor ebp,DWORD[16+rsp] | |
437 lea r11d,[1859775393+r11*1+rdx] | |
438 xor eax,esi | |
439 add r11d,ecx | |
440 rol r13d,30 | |
441 add r11d,eax | |
442 rol ebp,1 | |
443 xor r14d,DWORD[52+rsp] | |
444 mov eax,r12d | |
445 mov DWORD[48+rsp],ebp | |
446 mov ecx,r11d | |
447 xor r14d,DWORD[60+rsp] | |
448 xor eax,esi | |
449 rol ecx,5 | |
450 xor r14d,DWORD[20+rsp] | |
451 lea edi,[1859775393+rdi*1+rbp] | |
452 xor eax,r13d | |
453 add edi,ecx | |
454 rol r12d,30 | |
455 add edi,eax | |
456 rol r14d,1 | |
457 xor edx,DWORD[56+rsp] | |
458 mov eax,r11d | |
459 mov DWORD[52+rsp],r14d | |
460 mov ecx,edi | |
461 xor edx,DWORD[rsp] | |
462 xor eax,r13d | |
463 rol ecx,5 | |
464 xor edx,DWORD[24+rsp] | |
465 lea esi,[1859775393+rsi*1+r14] | |
466 xor eax,r12d | |
467 add esi,ecx | |
468 rol r11d,30 | |
469 add esi,eax | |
470 rol edx,1 | |
471 xor ebp,DWORD[60+rsp] | |
472 mov eax,edi | |
473 mov DWORD[56+rsp],edx | |
474 mov ecx,esi | |
475 xor ebp,DWORD[4+rsp] | |
476 xor eax,r12d | |
477 rol ecx,5 | |
478 xor ebp,DWORD[28+rsp] | |
479 lea r13d,[1859775393+r13*1+rdx] | |
480 xor eax,r11d | |
481 add r13d,ecx | |
482 rol edi,30 | |
483 add r13d,eax | |
484 rol ebp,1 | |
485 xor r14d,DWORD[rsp] | |
486 mov eax,esi | |
487 mov DWORD[60+rsp],ebp | |
488 mov ecx,r13d | |
489 xor r14d,DWORD[8+rsp] | |
490 xor eax,r11d | |
491 rol ecx,5 | |
492 xor r14d,DWORD[32+rsp] | |
493 lea r12d,[1859775393+r12*1+rbp] | |
494 xor eax,edi | |
495 add r12d,ecx | |
496 rol esi,30 | |
497 add r12d,eax | |
498 rol r14d,1 | |
499 xor edx,DWORD[4+rsp] | |
500 mov eax,r13d | |
501 mov DWORD[rsp],r14d | |
502 mov ecx,r12d | |
503 xor edx,DWORD[12+rsp] | |
504 xor eax,edi | |
505 rol ecx,5 | |
506 xor edx,DWORD[36+rsp] | |
507 lea r11d,[1859775393+r11*1+r14] | |
508 xor eax,esi | |
509 add r11d,ecx | |
510 rol r13d,30 | |
511 add r11d,eax | |
512 rol edx,1 | |
513 xor ebp,DWORD[8+rsp] | |
514 mov eax,r12d | |
515 mov DWORD[4+rsp],edx | |
516 mov ecx,r11d | |
517 xor ebp,DWORD[16+rsp] | |
518 xor eax,esi | |
519 rol ecx,5 | |
520 xor ebp,DWORD[40+rsp] | |
521 lea edi,[1859775393+rdi*1+rdx] | |
522 xor eax,r13d | |
523 add edi,ecx | |
524 rol r12d,30 | |
525 add edi,eax | |
526 rol ebp,1 | |
527 xor r14d,DWORD[12+rsp] | |
528 mov eax,r11d | |
529 mov DWORD[8+rsp],ebp | |
530 mov ecx,edi | |
531 xor r14d,DWORD[20+rsp] | |
532 xor eax,r13d | |
533 rol ecx,5 | |
534 xor r14d,DWORD[44+rsp] | |
535 lea esi,[1859775393+rsi*1+rbp] | |
536 xor eax,r12d | |
537 add esi,ecx | |
538 rol r11d,30 | |
539 add esi,eax | |
540 rol r14d,1 | |
541 xor edx,DWORD[16+rsp] | |
542 mov eax,edi | |
543 mov DWORD[12+rsp],r14d | |
544 mov ecx,esi | |
545 xor edx,DWORD[24+rsp] | |
546 xor eax,r12d | |
547 rol ecx,5 | |
548 xor edx,DWORD[48+rsp] | |
549 lea r13d,[1859775393+r13*1+r14] | |
550 xor eax,r11d | |
551 add r13d,ecx | |
552 rol edi,30 | |
553 add r13d,eax | |
554 rol edx,1 | |
555 xor ebp,DWORD[20+rsp] | |
556 mov eax,esi | |
557 mov DWORD[16+rsp],edx | |
558 mov ecx,r13d | |
559 xor ebp,DWORD[28+rsp] | |
560 xor eax,r11d | |
561 rol ecx,5 | |
562 xor ebp,DWORD[52+rsp] | |
563 lea r12d,[1859775393+r12*1+rdx] | |
564 xor eax,edi | |
565 add r12d,ecx | |
566 rol esi,30 | |
567 add r12d,eax | |
568 rol ebp,1 | |
569 xor r14d,DWORD[24+rsp] | |
570 mov eax,r13d | |
571 mov DWORD[20+rsp],ebp | |
572 mov ecx,r12d | |
573 xor r14d,DWORD[32+rsp] | |
574 xor eax,edi | |
575 rol ecx,5 | |
576 xor r14d,DWORD[56+rsp] | |
577 lea r11d,[1859775393+r11*1+rbp] | |
578 xor eax,esi | |
579 add r11d,ecx | |
580 rol r13d,30 | |
581 add r11d,eax | |
582 rol r14d,1 | |
583 xor edx,DWORD[28+rsp] | |
584 mov eax,r12d | |
585 mov DWORD[24+rsp],r14d | |
586 mov ecx,r11d | |
587 xor edx,DWORD[36+rsp] | |
588 xor eax,esi | |
589 rol ecx,5 | |
590 xor edx,DWORD[60+rsp] | |
591 lea edi,[1859775393+rdi*1+r14] | |
592 xor eax,r13d | |
593 add edi,ecx | |
594 rol r12d,30 | |
595 add edi,eax | |
596 rol edx,1 | |
597 xor ebp,DWORD[32+rsp] | |
598 mov eax,r11d | |
599 mov DWORD[28+rsp],edx | |
600 mov ecx,edi | |
601 xor ebp,DWORD[40+rsp] | |
602 xor eax,r13d | |
603 rol ecx,5 | |
604 xor ebp,DWORD[rsp] | |
605 lea esi,[1859775393+rsi*1+rdx] | |
606 xor eax,r12d | |
607 add esi,ecx | |
608 rol r11d,30 | |
609 add esi,eax | |
610 rol ebp,1 | |
611 xor r14d,DWORD[36+rsp] | |
612 mov eax,r12d | |
613 mov DWORD[32+rsp],ebp | |
614 mov ebx,r12d | |
615 xor r14d,DWORD[44+rsp] | |
616 and eax,r11d | |
617 mov ecx,esi | |
618 xor r14d,DWORD[4+rsp] | |
619 lea r13d,[((-1894007588))+r13*1+rbp] | |
620 xor ebx,r11d | |
621 rol ecx,5 | |
622 add r13d,eax | |
623 rol r14d,1 | |
624 and ebx,edi | |
625 add r13d,ecx | |
626 rol edi,30 | |
627 add r13d,ebx | |
628 xor edx,DWORD[40+rsp] | |
629 mov eax,r11d | |
630 mov DWORD[36+rsp],r14d | |
631 mov ebx,r11d | |
632 xor edx,DWORD[48+rsp] | |
633 and eax,edi | |
634 mov ecx,r13d | |
635 xor edx,DWORD[8+rsp] | |
636 lea r12d,[((-1894007588))+r12*1+r14] | |
637 xor ebx,edi | |
638 rol ecx,5 | |
639 add r12d,eax | |
640 rol edx,1 | |
641 and ebx,esi | |
642 add r12d,ecx | |
643 rol esi,30 | |
644 add r12d,ebx | |
645 xor ebp,DWORD[44+rsp] | |
646 mov eax,edi | |
647 mov DWORD[40+rsp],edx | |
648 mov ebx,edi | |
649 xor ebp,DWORD[52+rsp] | |
650 and eax,esi | |
651 mov ecx,r12d | |
652 xor ebp,DWORD[12+rsp] | |
653 lea r11d,[((-1894007588))+r11*1+rdx] | |
654 xor ebx,esi | |
655 rol ecx,5 | |
656 add r11d,eax | |
657 rol ebp,1 | |
658 and ebx,r13d | |
659 add r11d,ecx | |
660 rol r13d,30 | |
661 add r11d,ebx | |
662 xor r14d,DWORD[48+rsp] | |
663 mov eax,esi | |
664 mov DWORD[44+rsp],ebp | |
665 mov ebx,esi | |
666 xor r14d,DWORD[56+rsp] | |
667 and eax,r13d | |
668 mov ecx,r11d | |
669 xor r14d,DWORD[16+rsp] | |
670 lea edi,[((-1894007588))+rdi*1+rbp] | |
671 xor ebx,r13d | |
672 rol ecx,5 | |
673 add edi,eax | |
674 rol r14d,1 | |
675 and ebx,r12d | |
676 add edi,ecx | |
677 rol r12d,30 | |
678 add edi,ebx | |
679 xor edx,DWORD[52+rsp] | |
680 mov eax,r13d | |
681 mov DWORD[48+rsp],r14d | |
682 mov ebx,r13d | |
683 xor edx,DWORD[60+rsp] | |
684 and eax,r12d | |
685 mov ecx,edi | |
686 xor edx,DWORD[20+rsp] | |
687 lea esi,[((-1894007588))+rsi*1+r14] | |
688 xor ebx,r12d | |
689 rol ecx,5 | |
690 add esi,eax | |
691 rol edx,1 | |
692 and ebx,r11d | |
693 add esi,ecx | |
694 rol r11d,30 | |
695 add esi,ebx | |
696 xor ebp,DWORD[56+rsp] | |
697 mov eax,r12d | |
698 mov DWORD[52+rsp],edx | |
699 mov ebx,r12d | |
700 xor ebp,DWORD[rsp] | |
701 and eax,r11d | |
702 mov ecx,esi | |
703 xor ebp,DWORD[24+rsp] | |
704 lea r13d,[((-1894007588))+r13*1+rdx] | |
705 xor ebx,r11d | |
706 rol ecx,5 | |
707 add r13d,eax | |
708 rol ebp,1 | |
709 and ebx,edi | |
710 add r13d,ecx | |
711 rol edi,30 | |
712 add r13d,ebx | |
713 xor r14d,DWORD[60+rsp] | |
714 mov eax,r11d | |
715 mov DWORD[56+rsp],ebp | |
716 mov ebx,r11d | |
717 xor r14d,DWORD[4+rsp] | |
718 and eax,edi | |
719 mov ecx,r13d | |
720 xor r14d,DWORD[28+rsp] | |
721 lea r12d,[((-1894007588))+r12*1+rbp] | |
722 xor ebx,edi | |
723 rol ecx,5 | |
724 add r12d,eax | |
725 rol r14d,1 | |
726 and ebx,esi | |
727 add r12d,ecx | |
728 rol esi,30 | |
729 add r12d,ebx | |
730 xor edx,DWORD[rsp] | |
731 mov eax,edi | |
732 mov DWORD[60+rsp],r14d | |
733 mov ebx,edi | |
734 xor edx,DWORD[8+rsp] | |
735 and eax,esi | |
736 mov ecx,r12d | |
737 xor edx,DWORD[32+rsp] | |
738 lea r11d,[((-1894007588))+r11*1+r14] | |
739 xor ebx,esi | |
740 rol ecx,5 | |
741 add r11d,eax | |
742 rol edx,1 | |
743 and ebx,r13d | |
744 add r11d,ecx | |
745 rol r13d,30 | |
746 add r11d,ebx | |
747 xor ebp,DWORD[4+rsp] | |
748 mov eax,esi | |
749 mov DWORD[rsp],edx | |
750 mov ebx,esi | |
751 xor ebp,DWORD[12+rsp] | |
752 and eax,r13d | |
753 mov ecx,r11d | |
754 xor ebp,DWORD[36+rsp] | |
755 lea edi,[((-1894007588))+rdi*1+rdx] | |
756 xor ebx,r13d | |
757 rol ecx,5 | |
758 add edi,eax | |
759 rol ebp,1 | |
760 and ebx,r12d | |
761 add edi,ecx | |
762 rol r12d,30 | |
763 add edi,ebx | |
764 xor r14d,DWORD[8+rsp] | |
765 mov eax,r13d | |
766 mov DWORD[4+rsp],ebp | |
767 mov ebx,r13d | |
768 xor r14d,DWORD[16+rsp] | |
769 and eax,r12d | |
770 mov ecx,edi | |
771 xor r14d,DWORD[40+rsp] | |
772 lea esi,[((-1894007588))+rsi*1+rbp] | |
773 xor ebx,r12d | |
774 rol ecx,5 | |
775 add esi,eax | |
776 rol r14d,1 | |
777 and ebx,r11d | |
778 add esi,ecx | |
779 rol r11d,30 | |
780 add esi,ebx | |
781 xor edx,DWORD[12+rsp] | |
782 mov eax,r12d | |
783 mov DWORD[8+rsp],r14d | |
784 mov ebx,r12d | |
785 xor edx,DWORD[20+rsp] | |
786 and eax,r11d | |
787 mov ecx,esi | |
788 xor edx,DWORD[44+rsp] | |
789 lea r13d,[((-1894007588))+r13*1+r14] | |
790 xor ebx,r11d | |
791 rol ecx,5 | |
792 add r13d,eax | |
793 rol edx,1 | |
794 and ebx,edi | |
795 add r13d,ecx | |
796 rol edi,30 | |
797 add r13d,ebx | |
798 xor ebp,DWORD[16+rsp] | |
799 mov eax,r11d | |
800 mov DWORD[12+rsp],edx | |
801 mov ebx,r11d | |
802 xor ebp,DWORD[24+rsp] | |
803 and eax,edi | |
804 mov ecx,r13d | |
805 xor ebp,DWORD[48+rsp] | |
806 lea r12d,[((-1894007588))+r12*1+rdx] | |
807 xor ebx,edi | |
808 rol ecx,5 | |
809 add r12d,eax | |
810 rol ebp,1 | |
811 and ebx,esi | |
812 add r12d,ecx | |
813 rol esi,30 | |
814 add r12d,ebx | |
815 xor r14d,DWORD[20+rsp] | |
816 mov eax,edi | |
817 mov DWORD[16+rsp],ebp | |
818 mov ebx,edi | |
819 xor r14d,DWORD[28+rsp] | |
820 and eax,esi | |
821 mov ecx,r12d | |
822 xor r14d,DWORD[52+rsp] | |
823 lea r11d,[((-1894007588))+r11*1+rbp] | |
824 xor ebx,esi | |
825 rol ecx,5 | |
826 add r11d,eax | |
827 rol r14d,1 | |
828 and ebx,r13d | |
829 add r11d,ecx | |
830 rol r13d,30 | |
831 add r11d,ebx | |
832 xor edx,DWORD[24+rsp] | |
833 mov eax,esi | |
834 mov DWORD[20+rsp],r14d | |
835 mov ebx,esi | |
836 xor edx,DWORD[32+rsp] | |
837 and eax,r13d | |
838 mov ecx,r11d | |
839 xor edx,DWORD[56+rsp] | |
840 lea edi,[((-1894007588))+rdi*1+r14] | |
841 xor ebx,r13d | |
842 rol ecx,5 | |
843 add edi,eax | |
844 rol edx,1 | |
845 and ebx,r12d | |
846 add edi,ecx | |
847 rol r12d,30 | |
848 add edi,ebx | |
849 xor ebp,DWORD[28+rsp] | |
850 mov eax,r13d | |
851 mov DWORD[24+rsp],edx | |
852 mov ebx,r13d | |
853 xor ebp,DWORD[36+rsp] | |
854 and eax,r12d | |
855 mov ecx,edi | |
856 xor ebp,DWORD[60+rsp] | |
857 lea esi,[((-1894007588))+rsi*1+rdx] | |
858 xor ebx,r12d | |
859 rol ecx,5 | |
860 add esi,eax | |
861 rol ebp,1 | |
862 and ebx,r11d | |
863 add esi,ecx | |
864 rol r11d,30 | |
865 add esi,ebx | |
866 xor r14d,DWORD[32+rsp] | |
867 mov eax,r12d | |
868 mov DWORD[28+rsp],ebp | |
869 mov ebx,r12d | |
870 xor r14d,DWORD[40+rsp] | |
871 and eax,r11d | |
872 mov ecx,esi | |
873 xor r14d,DWORD[rsp] | |
874 lea r13d,[((-1894007588))+r13*1+rbp] | |
875 xor ebx,r11d | |
876 rol ecx,5 | |
877 add r13d,eax | |
878 rol r14d,1 | |
879 and ebx,edi | |
880 add r13d,ecx | |
881 rol edi,30 | |
882 add r13d,ebx | |
883 xor edx,DWORD[36+rsp] | |
884 mov eax,r11d | |
885 mov DWORD[32+rsp],r14d | |
886 mov ebx,r11d | |
887 xor edx,DWORD[44+rsp] | |
888 and eax,edi | |
889 mov ecx,r13d | |
890 xor edx,DWORD[4+rsp] | |
891 lea r12d,[((-1894007588))+r12*1+r14] | |
892 xor ebx,edi | |
893 rol ecx,5 | |
894 add r12d,eax | |
895 rol edx,1 | |
896 and ebx,esi | |
897 add r12d,ecx | |
898 rol esi,30 | |
899 add r12d,ebx | |
900 xor ebp,DWORD[40+rsp] | |
901 mov eax,edi | |
902 mov DWORD[36+rsp],edx | |
903 mov ebx,edi | |
904 xor ebp,DWORD[48+rsp] | |
905 and eax,esi | |
906 mov ecx,r12d | |
907 xor ebp,DWORD[8+rsp] | |
908 lea r11d,[((-1894007588))+r11*1+rdx] | |
909 xor ebx,esi | |
910 rol ecx,5 | |
911 add r11d,eax | |
912 rol ebp,1 | |
913 and ebx,r13d | |
914 add r11d,ecx | |
915 rol r13d,30 | |
916 add r11d,ebx | |
917 xor r14d,DWORD[44+rsp] | |
918 mov eax,esi | |
919 mov DWORD[40+rsp],ebp | |
920 mov ebx,esi | |
921 xor r14d,DWORD[52+rsp] | |
922 and eax,r13d | |
923 mov ecx,r11d | |
924 xor r14d,DWORD[12+rsp] | |
925 lea edi,[((-1894007588))+rdi*1+rbp] | |
926 xor ebx,r13d | |
927 rol ecx,5 | |
928 add edi,eax | |
929 rol r14d,1 | |
930 and ebx,r12d | |
931 add edi,ecx | |
932 rol r12d,30 | |
933 add edi,ebx | |
934 xor edx,DWORD[48+rsp] | |
935 mov eax,r13d | |
936 mov DWORD[44+rsp],r14d | |
937 mov ebx,r13d | |
938 xor edx,DWORD[56+rsp] | |
939 and eax,r12d | |
940 mov ecx,edi | |
941 xor edx,DWORD[16+rsp] | |
942 lea esi,[((-1894007588))+rsi*1+r14] | |
943 xor ebx,r12d | |
944 rol ecx,5 | |
945 add esi,eax | |
946 rol edx,1 | |
947 and ebx,r11d | |
948 add esi,ecx | |
949 rol r11d,30 | |
950 add esi,ebx | |
951 xor ebp,DWORD[52+rsp] | |
952 mov eax,edi | |
953 mov DWORD[48+rsp],edx | |
954 mov ecx,esi | |
955 xor ebp,DWORD[60+rsp] | |
956 xor eax,r12d | |
957 rol ecx,5 | |
958 xor ebp,DWORD[20+rsp] | |
959 lea r13d,[((-899497514))+r13*1+rdx] | |
960 xor eax,r11d | |
961 add r13d,ecx | |
962 rol edi,30 | |
963 add r13d,eax | |
964 rol ebp,1 | |
965 xor r14d,DWORD[56+rsp] | |
966 mov eax,esi | |
967 mov DWORD[52+rsp],ebp | |
968 mov ecx,r13d | |
969 xor r14d,DWORD[rsp] | |
970 xor eax,r11d | |
971 rol ecx,5 | |
972 xor r14d,DWORD[24+rsp] | |
973 lea r12d,[((-899497514))+r12*1+rbp] | |
974 xor eax,edi | |
975 add r12d,ecx | |
976 rol esi,30 | |
977 add r12d,eax | |
978 rol r14d,1 | |
979 xor edx,DWORD[60+rsp] | |
980 mov eax,r13d | |
981 mov DWORD[56+rsp],r14d | |
982 mov ecx,r12d | |
983 xor edx,DWORD[4+rsp] | |
984 xor eax,edi | |
985 rol ecx,5 | |
986 xor edx,DWORD[28+rsp] | |
987 lea r11d,[((-899497514))+r11*1+r14] | |
988 xor eax,esi | |
989 add r11d,ecx | |
990 rol r13d,30 | |
991 add r11d,eax | |
992 rol edx,1 | |
993 xor ebp,DWORD[rsp] | |
994 mov eax,r12d | |
995 mov DWORD[60+rsp],edx | |
996 mov ecx,r11d | |
997 xor ebp,DWORD[8+rsp] | |
998 xor eax,esi | |
999 rol ecx,5 | |
1000 xor ebp,DWORD[32+rsp] | |
1001 lea edi,[((-899497514))+rdi*1+rdx] | |
1002 xor eax,r13d | |
1003 add edi,ecx | |
1004 rol r12d,30 | |
1005 add edi,eax | |
1006 rol ebp,1 | |
1007 xor r14d,DWORD[4+rsp] | |
1008 mov eax,r11d | |
1009 mov DWORD[rsp],ebp | |
1010 mov ecx,edi | |
1011 xor r14d,DWORD[12+rsp] | |
1012 xor eax,r13d | |
1013 rol ecx,5 | |
1014 xor r14d,DWORD[36+rsp] | |
1015 lea esi,[((-899497514))+rsi*1+rbp] | |
1016 xor eax,r12d | |
1017 add esi,ecx | |
1018 rol r11d,30 | |
1019 add esi,eax | |
1020 rol r14d,1 | |
1021 xor edx,DWORD[8+rsp] | |
1022 mov eax,edi | |
1023 mov DWORD[4+rsp],r14d | |
1024 mov ecx,esi | |
1025 xor edx,DWORD[16+rsp] | |
1026 xor eax,r12d | |
1027 rol ecx,5 | |
1028 xor edx,DWORD[40+rsp] | |
1029 lea r13d,[((-899497514))+r13*1+r14] | |
1030 xor eax,r11d | |
1031 add r13d,ecx | |
1032 rol edi,30 | |
1033 add r13d,eax | |
1034 rol edx,1 | |
1035 xor ebp,DWORD[12+rsp] | |
1036 mov eax,esi | |
1037 mov DWORD[8+rsp],edx | |
1038 mov ecx,r13d | |
1039 xor ebp,DWORD[20+rsp] | |
1040 xor eax,r11d | |
1041 rol ecx,5 | |
1042 xor ebp,DWORD[44+rsp] | |
1043 lea r12d,[((-899497514))+r12*1+rdx] | |
1044 xor eax,edi | |
1045 add r12d,ecx | |
1046 rol esi,30 | |
1047 add r12d,eax | |
1048 rol ebp,1 | |
1049 xor r14d,DWORD[16+rsp] | |
1050 mov eax,r13d | |
1051 mov DWORD[12+rsp],ebp | |
1052 mov ecx,r12d | |
1053 xor r14d,DWORD[24+rsp] | |
1054 xor eax,edi | |
1055 rol ecx,5 | |
1056 xor r14d,DWORD[48+rsp] | |
1057 lea r11d,[((-899497514))+r11*1+rbp] | |
1058 xor eax,esi | |
1059 add r11d,ecx | |
1060 rol r13d,30 | |
1061 add r11d,eax | |
1062 rol r14d,1 | |
1063 xor edx,DWORD[20+rsp] | |
1064 mov eax,r12d | |
1065 mov DWORD[16+rsp],r14d | |
1066 mov ecx,r11d | |
1067 xor edx,DWORD[28+rsp] | |
1068 xor eax,esi | |
1069 rol ecx,5 | |
1070 xor edx,DWORD[52+rsp] | |
1071 lea edi,[((-899497514))+rdi*1+r14] | |
1072 xor eax,r13d | |
1073 add edi,ecx | |
1074 rol r12d,30 | |
1075 add edi,eax | |
1076 rol edx,1 | |
1077 xor ebp,DWORD[24+rsp] | |
1078 mov eax,r11d | |
1079 mov DWORD[20+rsp],edx | |
1080 mov ecx,edi | |
1081 xor ebp,DWORD[32+rsp] | |
1082 xor eax,r13d | |
1083 rol ecx,5 | |
1084 xor ebp,DWORD[56+rsp] | |
1085 lea esi,[((-899497514))+rsi*1+rdx] | |
1086 xor eax,r12d | |
1087 add esi,ecx | |
1088 rol r11d,30 | |
1089 add esi,eax | |
1090 rol ebp,1 | |
1091 xor r14d,DWORD[28+rsp] | |
1092 mov eax,edi | |
1093 mov DWORD[24+rsp],ebp | |
1094 mov ecx,esi | |
1095 xor r14d,DWORD[36+rsp] | |
1096 xor eax,r12d | |
1097 rol ecx,5 | |
1098 xor r14d,DWORD[60+rsp] | |
1099 lea r13d,[((-899497514))+r13*1+rbp] | |
1100 xor eax,r11d | |
1101 add r13d,ecx | |
1102 rol edi,30 | |
1103 add r13d,eax | |
1104 rol r14d,1 | |
1105 xor edx,DWORD[32+rsp] | |
1106 mov eax,esi | |
1107 mov DWORD[28+rsp],r14d | |
1108 mov ecx,r13d | |
1109 xor edx,DWORD[40+rsp] | |
1110 xor eax,r11d | |
1111 rol ecx,5 | |
1112 xor edx,DWORD[rsp] | |
1113 lea r12d,[((-899497514))+r12*1+r14] | |
1114 xor eax,edi | |
1115 add r12d,ecx | |
1116 rol esi,30 | |
1117 add r12d,eax | |
1118 rol edx,1 | |
1119 xor ebp,DWORD[36+rsp] | |
1120 mov eax,r13d | |
1121 | |
1122 mov ecx,r12d | |
1123 xor ebp,DWORD[44+rsp] | |
1124 xor eax,edi | |
1125 rol ecx,5 | |
1126 xor ebp,DWORD[4+rsp] | |
1127 lea r11d,[((-899497514))+r11*1+rdx] | |
1128 xor eax,esi | |
1129 add r11d,ecx | |
1130 rol r13d,30 | |
1131 add r11d,eax | |
1132 rol ebp,1 | |
1133 xor r14d,DWORD[40+rsp] | |
1134 mov eax,r12d | |
1135 | |
1136 mov ecx,r11d | |
1137 xor r14d,DWORD[48+rsp] | |
1138 xor eax,esi | |
1139 rol ecx,5 | |
1140 xor r14d,DWORD[8+rsp] | |
1141 lea edi,[((-899497514))+rdi*1+rbp] | |
1142 xor eax,r13d | |
1143 add edi,ecx | |
1144 rol r12d,30 | |
1145 add edi,eax | |
1146 rol r14d,1 | |
1147 xor edx,DWORD[44+rsp] | |
1148 mov eax,r11d | |
1149 | |
1150 mov ecx,edi | |
1151 xor edx,DWORD[52+rsp] | |
1152 xor eax,r13d | |
1153 rol ecx,5 | |
1154 xor edx,DWORD[12+rsp] | |
1155 lea esi,[((-899497514))+rsi*1+r14] | |
1156 xor eax,r12d | |
1157 add esi,ecx | |
1158 rol r11d,30 | |
1159 add esi,eax | |
1160 rol edx,1 | |
1161 xor ebp,DWORD[48+rsp] | |
1162 mov eax,edi | |
1163 | |
1164 mov ecx,esi | |
1165 xor ebp,DWORD[56+rsp] | |
1166 xor eax,r12d | |
1167 rol ecx,5 | |
1168 xor ebp,DWORD[16+rsp] | |
1169 lea r13d,[((-899497514))+r13*1+rdx] | |
1170 xor eax,r11d | |
1171 add r13d,ecx | |
1172 rol edi,30 | |
1173 add r13d,eax | |
1174 rol ebp,1 | |
1175 xor r14d,DWORD[52+rsp] | |
1176 mov eax,esi | |
1177 | |
1178 mov ecx,r13d | |
1179 xor r14d,DWORD[60+rsp] | |
1180 xor eax,r11d | |
1181 rol ecx,5 | |
1182 xor r14d,DWORD[20+rsp] | |
1183 lea r12d,[((-899497514))+r12*1+rbp] | |
1184 xor eax,edi | |
1185 add r12d,ecx | |
1186 rol esi,30 | |
1187 add r12d,eax | |
1188 rol r14d,1 | |
1189 xor edx,DWORD[56+rsp] | |
1190 mov eax,r13d | |
1191 | |
1192 mov ecx,r12d | |
1193 xor edx,DWORD[rsp] | |
1194 xor eax,edi | |
1195 rol ecx,5 | |
1196 xor edx,DWORD[24+rsp] | |
1197 lea r11d,[((-899497514))+r11*1+r14] | |
1198 xor eax,esi | |
1199 add r11d,ecx | |
1200 rol r13d,30 | |
1201 add r11d,eax | |
1202 rol edx,1 | |
1203 xor ebp,DWORD[60+rsp] | |
1204 mov eax,r12d | |
1205 | |
1206 mov ecx,r11d | |
1207 xor ebp,DWORD[4+rsp] | |
1208 xor eax,esi | |
1209 rol ecx,5 | |
1210 xor ebp,DWORD[28+rsp] | |
1211 lea edi,[((-899497514))+rdi*1+rdx] | |
1212 xor eax,r13d | |
1213 add edi,ecx | |
1214 rol r12d,30 | |
1215 add edi,eax | |
1216 rol ebp,1 | |
1217 mov eax,r11d | |
1218 mov ecx,edi | |
1219 xor eax,r13d | |
1220 lea esi,[((-899497514))+rsi*1+rbp] | |
1221 rol ecx,5 | |
1222 xor eax,r12d | |
1223 add esi,ecx | |
1224 rol r11d,30 | |
1225 add esi,eax | |
1226 add esi,DWORD[r8] | |
1227 add edi,DWORD[4+r8] | |
1228 add r11d,DWORD[8+r8] | |
1229 add r12d,DWORD[12+r8] | |
1230 add r13d,DWORD[16+r8] | |
1231 mov DWORD[r8],esi | |
1232 mov DWORD[4+r8],edi | |
1233 mov DWORD[8+r8],r11d | |
1234 mov DWORD[12+r8],r12d | |
1235 mov DWORD[16+r8],r13d | |
1236 | |
1237 sub r10,1 | |
1238 lea r9,[64+r9] | |
1239 jnz NEAR $L$loop | |
1240 | |
1241 mov rsi,QWORD[64+rsp] | |
1242 mov r14,QWORD[((-40))+rsi] | |
1243 mov r13,QWORD[((-32))+rsi] | |
1244 mov r12,QWORD[((-24))+rsi] | |
1245 mov rbp,QWORD[((-16))+rsi] | |
1246 mov rbx,QWORD[((-8))+rsi] | |
1247 lea rsp,[rsi] | |
1248 $L$epilogue: | |
1249 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | |
1250 mov rsi,QWORD[16+rsp] | |
1251 DB 0F3h,0C3h ;repret | |
1252 $L$SEH_end_sha1_block_data_order: | |
1253 | |
1254 ALIGN 16 | |
1255 sha1_block_data_order_ssse3: | |
1256 mov QWORD[8+rsp],rdi ;WIN64 prologue | |
1257 mov QWORD[16+rsp],rsi | |
1258 mov rax,rsp | |
1259 $L$SEH_begin_sha1_block_data_order_ssse3: | |
1260 mov rdi,rcx | |
1261 mov rsi,rdx | |
1262 mov rdx,r8 | |
1263 | |
1264 | |
1265 _ssse3_shortcut: | |
1266 mov r11,rsp | |
1267 push rbx | |
1268 push rbp | |
1269 push r12 | |
1270 push r13 | |
1271 push r14 | |
1272 lea rsp,[((-160))+rsp] | |
1273 movaps XMMWORD[(-40-96)+r11],xmm6 | |
1274 movaps XMMWORD[(-40-80)+r11],xmm7 | |
1275 movaps XMMWORD[(-40-64)+r11],xmm8 | |
1276 movaps XMMWORD[(-40-48)+r11],xmm9 | |
1277 movaps XMMWORD[(-40-32)+r11],xmm10 | |
1278 movaps XMMWORD[(-40-16)+r11],xmm11 | |
1279 $L$prologue_ssse3: | |
1280 and rsp,-64 | |
1281 mov r8,rdi | |
1282 mov r9,rsi | |
1283 mov r10,rdx | |
1284 | |
1285 shl r10,6 | |
1286 add r10,r9 | |
1287 lea r14,[((K_XX_XX+64))] | |
1288 | |
1289 mov eax,DWORD[r8] | |
1290 mov ebx,DWORD[4+r8] | |
1291 mov ecx,DWORD[8+r8] | |
1292 mov edx,DWORD[12+r8] | |
1293 mov esi,ebx | |
1294 mov ebp,DWORD[16+r8] | |
1295 mov edi,ecx | |
1296 xor edi,edx | |
1297 and esi,edi | |
1298 | |
1299 movdqa xmm6,XMMWORD[64+r14] | |
1300 movdqa xmm9,XMMWORD[((-64))+r14] | |
1301 movdqu xmm0,XMMWORD[r9] | |
1302 movdqu xmm1,XMMWORD[16+r9] | |
1303 movdqu xmm2,XMMWORD[32+r9] | |
1304 movdqu xmm3,XMMWORD[48+r9] | |
1305 DB 102,15,56,0,198 | |
1306 DB 102,15,56,0,206 | |
1307 DB 102,15,56,0,214 | |
1308 add r9,64 | |
1309 paddd xmm0,xmm9 | |
1310 DB 102,15,56,0,222 | |
1311 paddd xmm1,xmm9 | |
1312 paddd xmm2,xmm9 | |
1313 movdqa XMMWORD[rsp],xmm0 | |
1314 psubd xmm0,xmm9 | |
1315 movdqa XMMWORD[16+rsp],xmm1 | |
1316 psubd xmm1,xmm9 | |
1317 movdqa XMMWORD[32+rsp],xmm2 | |
1318 psubd xmm2,xmm9 | |
1319 jmp NEAR $L$oop_ssse3 | |
1320 ALIGN 16 | |
1321 $L$oop_ssse3: | |
1322 ror ebx,2 | |
1323 pshufd xmm4,xmm0,238 | |
1324 xor esi,edx | |
1325 movdqa xmm8,xmm3 | |
1326 paddd xmm9,xmm3 | |
1327 mov edi,eax | |
1328 add ebp,DWORD[rsp] | |
1329 punpcklqdq xmm4,xmm1 | |
1330 xor ebx,ecx | |
1331 rol eax,5 | |
1332 add ebp,esi | |
1333 psrldq xmm8,4 | |
1334 and edi,ebx | |
1335 xor ebx,ecx | |
1336 pxor xmm4,xmm0 | |
1337 add ebp,eax | |
1338 ror eax,7 | |
1339 pxor xmm8,xmm2 | |
1340 xor edi,ecx | |
1341 mov esi,ebp | |
1342 add edx,DWORD[4+rsp] | |
1343 pxor xmm4,xmm8 | |
1344 xor eax,ebx | |
1345 rol ebp,5 | |
1346 movdqa XMMWORD[48+rsp],xmm9 | |
1347 add edx,edi | |
1348 and esi,eax | |
1349 movdqa xmm10,xmm4 | |
1350 xor eax,ebx | |
1351 add edx,ebp | |
1352 ror ebp,7 | |
1353 movdqa xmm8,xmm4 | |
1354 xor esi,ebx | |
1355 pslldq xmm10,12 | |
1356 paddd xmm4,xmm4 | |
1357 mov edi,edx | |
1358 add ecx,DWORD[8+rsp] | |
1359 psrld xmm8,31 | |
1360 xor ebp,eax | |
1361 rol edx,5 | |
1362 add ecx,esi | |
1363 movdqa xmm9,xmm10 | |
1364 and edi,ebp | |
1365 xor ebp,eax | |
1366 psrld xmm10,30 | |
1367 add ecx,edx | |
1368 ror edx,7 | |
1369 por xmm4,xmm8 | |
1370 xor edi,eax | |
1371 mov esi,ecx | |
1372 add ebx,DWORD[12+rsp] | |
1373 pslld xmm9,2 | |
1374 pxor xmm4,xmm10 | |
1375 xor edx,ebp | |
1376 movdqa xmm10,XMMWORD[((-64))+r14] | |
1377 rol ecx,5 | |
1378 add ebx,edi | |
1379 and esi,edx | |
1380 pxor xmm4,xmm9 | |
1381 xor edx,ebp | |
1382 add ebx,ecx | |
1383 ror ecx,7 | |
1384 pshufd xmm5,xmm1,238 | |
1385 xor esi,ebp | |
1386 movdqa xmm9,xmm4 | |
1387 paddd xmm10,xmm4 | |
1388 mov edi,ebx | |
1389 add eax,DWORD[16+rsp] | |
1390 punpcklqdq xmm5,xmm2 | |
1391 xor ecx,edx | |
1392 rol ebx,5 | |
1393 add eax,esi | |
1394 psrldq xmm9,4 | |
1395 and edi,ecx | |
1396 xor ecx,edx | |
1397 pxor xmm5,xmm1 | |
1398 add eax,ebx | |
1399 ror ebx,7 | |
1400 pxor xmm9,xmm3 | |
1401 xor edi,edx | |
1402 mov esi,eax | |
1403 add ebp,DWORD[20+rsp] | |
1404 pxor xmm5,xmm9 | |
1405 xor ebx,ecx | |
1406 rol eax,5 | |
1407 movdqa XMMWORD[rsp],xmm10 | |
1408 add ebp,edi | |
1409 and esi,ebx | |
1410 movdqa xmm8,xmm5 | |
1411 xor ebx,ecx | |
1412 add ebp,eax | |
1413 ror eax,7 | |
1414 movdqa xmm9,xmm5 | |
1415 xor esi,ecx | |
1416 pslldq xmm8,12 | |
1417 paddd xmm5,xmm5 | |
1418 mov edi,ebp | |
1419 add edx,DWORD[24+rsp] | |
1420 psrld xmm9,31 | |
1421 xor eax,ebx | |
1422 rol ebp,5 | |
1423 add edx,esi | |
1424 movdqa xmm10,xmm8 | |
1425 and edi,eax | |
1426 xor eax,ebx | |
1427 psrld xmm8,30 | |
1428 add edx,ebp | |
1429 ror ebp,7 | |
1430 por xmm5,xmm9 | |
1431 xor edi,ebx | |
1432 mov esi,edx | |
1433 add ecx,DWORD[28+rsp] | |
1434 pslld xmm10,2 | |
1435 pxor xmm5,xmm8 | |
1436 xor ebp,eax | |
1437 movdqa xmm8,XMMWORD[((-32))+r14] | |
1438 rol edx,5 | |
1439 add ecx,edi | |
1440 and esi,ebp | |
1441 pxor xmm5,xmm10 | |
1442 xor ebp,eax | |
1443 add ecx,edx | |
1444 ror edx,7 | |
1445 pshufd xmm6,xmm2,238 | |
1446 xor esi,eax | |
1447 movdqa xmm10,xmm5 | |
1448 paddd xmm8,xmm5 | |
1449 mov edi,ecx | |
1450 add ebx,DWORD[32+rsp] | |
1451 punpcklqdq xmm6,xmm3 | |
1452 xor edx,ebp | |
1453 rol ecx,5 | |
1454 add ebx,esi | |
1455 psrldq xmm10,4 | |
1456 and edi,edx | |
1457 xor edx,ebp | |
1458 pxor xmm6,xmm2 | |
1459 add ebx,ecx | |
1460 ror ecx,7 | |
1461 pxor xmm10,xmm4 | |
1462 xor edi,ebp | |
1463 mov esi,ebx | |
1464 add eax,DWORD[36+rsp] | |
1465 pxor xmm6,xmm10 | |
1466 xor ecx,edx | |
1467 rol ebx,5 | |
1468 movdqa XMMWORD[16+rsp],xmm8 | |
1469 add eax,edi | |
1470 and esi,ecx | |
1471 movdqa xmm9,xmm6 | |
1472 xor ecx,edx | |
1473 add eax,ebx | |
1474 ror ebx,7 | |
1475 movdqa xmm10,xmm6 | |
1476 xor esi,edx | |
1477 pslldq xmm9,12 | |
1478 paddd xmm6,xmm6 | |
1479 mov edi,eax | |
1480 add ebp,DWORD[40+rsp] | |
1481 psrld xmm10,31 | |
1482 xor ebx,ecx | |
1483 rol eax,5 | |
1484 add ebp,esi | |
1485 movdqa xmm8,xmm9 | |
1486 and edi,ebx | |
1487 xor ebx,ecx | |
1488 psrld xmm9,30 | |
1489 add ebp,eax | |
1490 ror eax,7 | |
1491 por xmm6,xmm10 | |
1492 xor edi,ecx | |
1493 mov esi,ebp | |
1494 add edx,DWORD[44+rsp] | |
1495 pslld xmm8,2 | |
1496 pxor xmm6,xmm9 | |
1497 xor eax,ebx | |
1498 movdqa xmm9,XMMWORD[((-32))+r14] | |
1499 rol ebp,5 | |
1500 add edx,edi | |
1501 and esi,eax | |
1502 pxor xmm6,xmm8 | |
1503 xor eax,ebx | |
1504 add edx,ebp | |
1505 ror ebp,7 | |
1506 pshufd xmm7,xmm3,238 | |
1507 xor esi,ebx | |
1508 movdqa xmm8,xmm6 | |
1509 paddd xmm9,xmm6 | |
1510 mov edi,edx | |
1511 add ecx,DWORD[48+rsp] | |
1512 punpcklqdq xmm7,xmm4 | |
1513 xor ebp,eax | |
1514 rol edx,5 | |
1515 add ecx,esi | |
1516 psrldq xmm8,4 | |
1517 and edi,ebp | |
1518 xor ebp,eax | |
1519 pxor xmm7,xmm3 | |
1520 add ecx,edx | |
1521 ror edx,7 | |
1522 pxor xmm8,xmm5 | |
1523 xor edi,eax | |
1524 mov esi,ecx | |
1525 add ebx,DWORD[52+rsp] | |
1526 pxor xmm7,xmm8 | |
1527 xor edx,ebp | |
1528 rol ecx,5 | |
1529 movdqa XMMWORD[32+rsp],xmm9 | |
1530 add ebx,edi | |
1531 and esi,edx | |
1532 movdqa xmm10,xmm7 | |
1533 xor edx,ebp | |
1534 add ebx,ecx | |
1535 ror ecx,7 | |
1536 movdqa xmm8,xmm7 | |
1537 xor esi,ebp | |
1538 pslldq xmm10,12 | |
1539 paddd xmm7,xmm7 | |
1540 mov edi,ebx | |
1541 add eax,DWORD[56+rsp] | |
1542 psrld xmm8,31 | |
1543 xor ecx,edx | |
1544 rol ebx,5 | |
1545 add eax,esi | |
1546 movdqa xmm9,xmm10 | |
1547 and edi,ecx | |
1548 xor ecx,edx | |
1549 psrld xmm10,30 | |
1550 add eax,ebx | |
1551 ror ebx,7 | |
1552 por xmm7,xmm8 | |
1553 xor edi,edx | |
1554 mov esi,eax | |
1555 add ebp,DWORD[60+rsp] | |
1556 pslld xmm9,2 | |
1557 pxor xmm7,xmm10 | |
1558 xor ebx,ecx | |
1559 movdqa xmm10,XMMWORD[((-32))+r14] | |
1560 rol eax,5 | |
1561 add ebp,edi | |
1562 and esi,ebx | |
1563 pxor xmm7,xmm9 | |
1564 pshufd xmm9,xmm6,238 | |
1565 xor ebx,ecx | |
1566 add ebp,eax | |
1567 ror eax,7 | |
1568 pxor xmm0,xmm4 | |
1569 xor esi,ecx | |
1570 mov edi,ebp | |
1571 add edx,DWORD[rsp] | |
1572 punpcklqdq xmm9,xmm7 | |
1573 xor eax,ebx | |
1574 rol ebp,5 | |
1575 pxor xmm0,xmm1 | |
1576 add edx,esi | |
1577 and edi,eax | |
1578 movdqa xmm8,xmm10 | |
1579 xor eax,ebx | |
1580 paddd xmm10,xmm7 | |
1581 add edx,ebp | |
1582 pxor xmm0,xmm9 | |
1583 ror ebp,7 | |
1584 xor edi,ebx | |
1585 mov esi,edx | |
1586 add ecx,DWORD[4+rsp] | |
1587 movdqa xmm9,xmm0 | |
1588 xor ebp,eax | |
1589 rol edx,5 | |
1590 movdqa XMMWORD[48+rsp],xmm10 | |
1591 add ecx,edi | |
1592 and esi,ebp | |
1593 xor ebp,eax | |
1594 pslld xmm0,2 | |
1595 add ecx,edx | |
1596 ror edx,7 | |
1597 psrld xmm9,30 | |
1598 xor esi,eax | |
1599 mov edi,ecx | |
1600 add ebx,DWORD[8+rsp] | |
1601 por xmm0,xmm9 | |
1602 xor edx,ebp | |
1603 rol ecx,5 | |
1604 pshufd xmm10,xmm7,238 | |
1605 add ebx,esi | |
1606 and edi,edx | |
1607 xor edx,ebp | |
1608 add ebx,ecx | |
1609 add eax,DWORD[12+rsp] | |
1610 xor edi,ebp | |
1611 mov esi,ebx | |
1612 rol ebx,5 | |
1613 add eax,edi | |
1614 xor esi,edx | |
1615 ror ecx,7 | |
1616 add eax,ebx | |
1617 pxor xmm1,xmm5 | |
1618 add ebp,DWORD[16+rsp] | |
1619 xor esi,ecx | |
1620 punpcklqdq xmm10,xmm0 | |
1621 mov edi,eax | |
1622 rol eax,5 | |
1623 pxor xmm1,xmm2 | |
1624 add ebp,esi | |
1625 xor edi,ecx | |
1626 movdqa xmm9,xmm8 | |
1627 ror ebx,7 | |
1628 paddd xmm8,xmm0 | |
1629 add ebp,eax | |
1630 pxor xmm1,xmm10 | |
1631 add edx,DWORD[20+rsp] | |
1632 xor edi,ebx | |
1633 mov esi,ebp | |
1634 rol ebp,5 | |
1635 movdqa xmm10,xmm1 | |
1636 add edx,edi | |
1637 xor esi,ebx | |
1638 movdqa XMMWORD[rsp],xmm8 | |
1639 ror eax,7 | |
1640 add edx,ebp | |
1641 add ecx,DWORD[24+rsp] | |
1642 pslld xmm1,2 | |
1643 xor esi,eax | |
1644 mov edi,edx | |
1645 psrld xmm10,30 | |
1646 rol edx,5 | |
1647 add ecx,esi | |
1648 xor edi,eax | |
1649 ror ebp,7 | |
1650 por xmm1,xmm10 | |
1651 add ecx,edx | |
1652 add ebx,DWORD[28+rsp] | |
1653 pshufd xmm8,xmm0,238 | |
1654 xor edi,ebp | |
1655 mov esi,ecx | |
1656 rol ecx,5 | |
1657 add ebx,edi | |
1658 xor esi,ebp | |
1659 ror edx,7 | |
1660 add ebx,ecx | |
1661 pxor xmm2,xmm6 | |
1662 add eax,DWORD[32+rsp] | |
1663 xor esi,edx | |
1664 punpcklqdq xmm8,xmm1 | |
1665 mov edi,ebx | |
1666 rol ebx,5 | |
1667 pxor xmm2,xmm3 | |
1668 add eax,esi | |
1669 xor edi,edx | |
1670 movdqa xmm10,XMMWORD[r14] | |
1671 ror ecx,7 | |
1672 paddd xmm9,xmm1 | |
1673 add eax,ebx | |
1674 pxor xmm2,xmm8 | |
1675 add ebp,DWORD[36+rsp] | |
1676 xor edi,ecx | |
1677 mov esi,eax | |
1678 rol eax,5 | |
1679 movdqa xmm8,xmm2 | |
1680 add ebp,edi | |
1681 xor esi,ecx | |
1682 movdqa XMMWORD[16+rsp],xmm9 | |
1683 ror ebx,7 | |
1684 add ebp,eax | |
1685 add edx,DWORD[40+rsp] | |
1686 pslld xmm2,2 | |
1687 xor esi,ebx | |
1688 mov edi,ebp | |
1689 psrld xmm8,30 | |
1690 rol ebp,5 | |
1691 add edx,esi | |
1692 xor edi,ebx | |
1693 ror eax,7 | |
1694 por xmm2,xmm8 | |
1695 add edx,ebp | |
1696 add ecx,DWORD[44+rsp] | |
1697 pshufd xmm9,xmm1,238 | |
1698 xor edi,eax | |
1699 mov esi,edx | |
1700 rol edx,5 | |
1701 add ecx,edi | |
1702 xor esi,eax | |
1703 ror ebp,7 | |
1704 add ecx,edx | |
1705 pxor xmm3,xmm7 | |
1706 add ebx,DWORD[48+rsp] | |
1707 xor esi,ebp | |
1708 punpcklqdq xmm9,xmm2 | |
1709 mov edi,ecx | |
1710 rol ecx,5 | |
1711 pxor xmm3,xmm4 | |
1712 add ebx,esi | |
1713 xor edi,ebp | |
1714 movdqa xmm8,xmm10 | |
1715 ror edx,7 | |
1716 paddd xmm10,xmm2 | |
1717 add ebx,ecx | |
1718 pxor xmm3,xmm9 | |
1719 add eax,DWORD[52+rsp] | |
1720 xor edi,edx | |
1721 mov esi,ebx | |
1722 rol ebx,5 | |
1723 movdqa xmm9,xmm3 | |
1724 add eax,edi | |
1725 xor esi,edx | |
1726 movdqa XMMWORD[32+rsp],xmm10 | |
1727 ror ecx,7 | |
1728 add eax,ebx | |
1729 add ebp,DWORD[56+rsp] | |
1730 pslld xmm3,2 | |
1731 xor esi,ecx | |
1732 mov edi,eax | |
1733 psrld xmm9,30 | |
1734 rol eax,5 | |
1735 add ebp,esi | |
1736 xor edi,ecx | |
1737 ror ebx,7 | |
1738 por xmm3,xmm9 | |
1739 add ebp,eax | |
1740 add edx,DWORD[60+rsp] | |
1741 pshufd xmm10,xmm2,238 | |
1742 xor edi,ebx | |
1743 mov esi,ebp | |
1744 rol ebp,5 | |
1745 add edx,edi | |
1746 xor esi,ebx | |
1747 ror eax,7 | |
1748 add edx,ebp | |
1749 pxor xmm4,xmm0 | |
1750 add ecx,DWORD[rsp] | |
1751 xor esi,eax | |
1752 punpcklqdq xmm10,xmm3 | |
1753 mov edi,edx | |
1754 rol edx,5 | |
1755 pxor xmm4,xmm5 | |
1756 add ecx,esi | |
1757 xor edi,eax | |
1758 movdqa xmm9,xmm8 | |
1759 ror ebp,7 | |
1760 paddd xmm8,xmm3 | |
1761 add ecx,edx | |
1762 pxor xmm4,xmm10 | |
1763 add ebx,DWORD[4+rsp] | |
1764 xor edi,ebp | |
1765 mov esi,ecx | |
1766 rol ecx,5 | |
1767 movdqa xmm10,xmm4 | |
1768 add ebx,edi | |
1769 xor esi,ebp | |
1770 movdqa XMMWORD[48+rsp],xmm8 | |
1771 ror edx,7 | |
1772 add ebx,ecx | |
1773 add eax,DWORD[8+rsp] | |
1774 pslld xmm4,2 | |
1775 xor esi,edx | |
1776 mov edi,ebx | |
1777 psrld xmm10,30 | |
1778 rol ebx,5 | |
1779 add eax,esi | |
1780 xor edi,edx | |
1781 ror ecx,7 | |
1782 por xmm4,xmm10 | |
1783 add eax,ebx | |
1784 add ebp,DWORD[12+rsp] | |
1785 pshufd xmm8,xmm3,238 | |
1786 xor edi,ecx | |
1787 mov esi,eax | |
1788 rol eax,5 | |
1789 add ebp,edi | |
1790 xor esi,ecx | |
1791 ror ebx,7 | |
1792 add ebp,eax | |
1793 pxor xmm5,xmm1 | |
1794 add edx,DWORD[16+rsp] | |
1795 xor esi,ebx | |
1796 punpcklqdq xmm8,xmm4 | |
1797 mov edi,ebp | |
1798 rol ebp,5 | |
1799 pxor xmm5,xmm6 | |
1800 add edx,esi | |
1801 xor edi,ebx | |
1802 movdqa xmm10,xmm9 | |
1803 ror eax,7 | |
1804 paddd xmm9,xmm4 | |
1805 add edx,ebp | |
1806 pxor xmm5,xmm8 | |
1807 add ecx,DWORD[20+rsp] | |
1808 xor edi,eax | |
1809 mov esi,edx | |
1810 rol edx,5 | |
1811 movdqa xmm8,xmm5 | |
1812 add ecx,edi | |
1813 xor esi,eax | |
1814 movdqa XMMWORD[rsp],xmm9 | |
1815 ror ebp,7 | |
1816 add ecx,edx | |
1817 add ebx,DWORD[24+rsp] | |
1818 pslld xmm5,2 | |
1819 xor esi,ebp | |
1820 mov edi,ecx | |
1821 psrld xmm8,30 | |
1822 rol ecx,5 | |
1823 add ebx,esi | |
1824 xor edi,ebp | |
1825 ror edx,7 | |
1826 por xmm5,xmm8 | |
1827 add ebx,ecx | |
1828 add eax,DWORD[28+rsp] | |
1829 pshufd xmm9,xmm4,238 | |
1830 ror ecx,7 | |
1831 mov esi,ebx | |
1832 xor edi,edx | |
1833 rol ebx,5 | |
1834 add eax,edi | |
1835 xor esi,ecx | |
1836 xor ecx,edx | |
1837 add eax,ebx | |
1838 pxor xmm6,xmm2 | |
1839 add ebp,DWORD[32+rsp] | |
1840 and esi,ecx | |
1841 xor ecx,edx | |
1842 ror ebx,7 | |
1843 punpcklqdq xmm9,xmm5 | |
1844 mov edi,eax | |
1845 xor esi,ecx | |
1846 pxor xmm6,xmm7 | |
1847 rol eax,5 | |
1848 add ebp,esi | |
1849 movdqa xmm8,xmm10 | |
1850 xor edi,ebx | |
1851 paddd xmm10,xmm5 | |
1852 xor ebx,ecx | |
1853 pxor xmm6,xmm9 | |
1854 add ebp,eax | |
1855 add edx,DWORD[36+rsp] | |
1856 and edi,ebx | |
1857 xor ebx,ecx | |
1858 ror eax,7 | |
1859 movdqa xmm9,xmm6 | |
1860 mov esi,ebp | |
1861 xor edi,ebx | |
1862 movdqa XMMWORD[16+rsp],xmm10 | |
1863 rol ebp,5 | |
1864 add edx,edi | |
1865 xor esi,eax | |
1866 pslld xmm6,2 | |
1867 xor eax,ebx | |
1868 add edx,ebp | |
1869 psrld xmm9,30 | |
1870 add ecx,DWORD[40+rsp] | |
1871 and esi,eax | |
1872 xor eax,ebx | |
1873 por xmm6,xmm9 | |
1874 ror ebp,7 | |
1875 mov edi,edx | |
1876 xor esi,eax | |
1877 rol edx,5 | |
1878 pshufd xmm10,xmm5,238 | |
1879 add ecx,esi | |
1880 xor edi,ebp | |
1881 xor ebp,eax | |
1882 add ecx,edx | |
1883 add ebx,DWORD[44+rsp] | |
1884 and edi,ebp | |
1885 xor ebp,eax | |
1886 ror edx,7 | |
1887 mov esi,ecx | |
1888 xor edi,ebp | |
1889 rol ecx,5 | |
1890 add ebx,edi | |
1891 xor esi,edx | |
1892 xor edx,ebp | |
1893 add ebx,ecx | |
1894 pxor xmm7,xmm3 | |
1895 add eax,DWORD[48+rsp] | |
1896 and esi,edx | |
1897 xor edx,ebp | |
1898 ror ecx,7 | |
1899 punpcklqdq xmm10,xmm6 | |
1900 mov edi,ebx | |
1901 xor esi,edx | |
1902 pxor xmm7,xmm0 | |
1903 rol ebx,5 | |
1904 add eax,esi | |
1905 movdqa xmm9,XMMWORD[32+r14] | |
1906 xor edi,ecx | |
1907 paddd xmm8,xmm6 | |
1908 xor ecx,edx | |
1909 pxor xmm7,xmm10 | |
1910 add eax,ebx | |
1911 add ebp,DWORD[52+rsp] | |
1912 and edi,ecx | |
1913 xor ecx,edx | |
1914 ror ebx,7 | |
1915 movdqa xmm10,xmm7 | |
1916 mov esi,eax | |
1917 xor edi,ecx | |
1918 movdqa XMMWORD[32+rsp],xmm8 | |
1919 rol eax,5 | |
1920 add ebp,edi | |
1921 xor esi,ebx | |
1922 pslld xmm7,2 | |
1923 xor ebx,ecx | |
1924 add ebp,eax | |
1925 psrld xmm10,30 | |
1926 add edx,DWORD[56+rsp] | |
1927 and esi,ebx | |
1928 xor ebx,ecx | |
1929 por xmm7,xmm10 | |
1930 ror eax,7 | |
1931 mov edi,ebp | |
1932 xor esi,ebx | |
1933 rol ebp,5 | |
1934 pshufd xmm8,xmm6,238 | |
1935 add edx,esi | |
1936 xor edi,eax | |
1937 xor eax,ebx | |
1938 add edx,ebp | |
1939 add ecx,DWORD[60+rsp] | |
1940 and edi,eax | |
1941 xor eax,ebx | |
1942 ror ebp,7 | |
1943 mov esi,edx | |
1944 xor edi,eax | |
1945 rol edx,5 | |
1946 add ecx,edi | |
1947 xor esi,ebp | |
1948 xor ebp,eax | |
1949 add ecx,edx | |
1950 pxor xmm0,xmm4 | |
1951 add ebx,DWORD[rsp] | |
1952 and esi,ebp | |
1953 xor ebp,eax | |
1954 ror edx,7 | |
1955 punpcklqdq xmm8,xmm7 | |
1956 mov edi,ecx | |
1957 xor esi,ebp | |
1958 pxor xmm0,xmm1 | |
1959 rol ecx,5 | |
1960 add ebx,esi | |
1961 movdqa xmm10,xmm9 | |
1962 xor edi,edx | |
1963 paddd xmm9,xmm7 | |
1964 xor edx,ebp | |
1965 pxor xmm0,xmm8 | |
1966 add ebx,ecx | |
1967 add eax,DWORD[4+rsp] | |
1968 and edi,edx | |
1969 xor edx,ebp | |
1970 ror ecx,7 | |
1971 movdqa xmm8,xmm0 | |
1972 mov esi,ebx | |
1973 xor edi,edx | |
1974 movdqa XMMWORD[48+rsp],xmm9 | |
1975 rol ebx,5 | |
1976 add eax,edi | |
1977 xor esi,ecx | |
1978 pslld xmm0,2 | |
1979 xor ecx,edx | |
1980 add eax,ebx | |
1981 psrld xmm8,30 | |
1982 add ebp,DWORD[8+rsp] | |
1983 and esi,ecx | |
1984 xor ecx,edx | |
1985 por xmm0,xmm8 | |
1986 ror ebx,7 | |
1987 mov edi,eax | |
1988 xor esi,ecx | |
1989 rol eax,5 | |
1990 pshufd xmm9,xmm7,238 | |
1991 add ebp,esi | |
1992 xor edi,ebx | |
1993 xor ebx,ecx | |
1994 add ebp,eax | |
1995 add edx,DWORD[12+rsp] | |
1996 and edi,ebx | |
1997 xor ebx,ecx | |
1998 ror eax,7 | |
1999 mov esi,ebp | |
2000 xor edi,ebx | |
2001 rol ebp,5 | |
2002 add edx,edi | |
2003 xor esi,eax | |
2004 xor eax,ebx | |
2005 add edx,ebp | |
2006 pxor xmm1,xmm5 | |
2007 add ecx,DWORD[16+rsp] | |
2008 and esi,eax | |
2009 xor eax,ebx | |
2010 ror ebp,7 | |
2011 punpcklqdq xmm9,xmm0 | |
2012 mov edi,edx | |
2013 xor esi,eax | |
2014 pxor xmm1,xmm2 | |
2015 rol edx,5 | |
2016 add ecx,esi | |
2017 movdqa xmm8,xmm10 | |
2018 xor edi,ebp | |
2019 paddd xmm10,xmm0 | |
2020 xor ebp,eax | |
2021 pxor xmm1,xmm9 | |
2022 add ecx,edx | |
2023 add ebx,DWORD[20+rsp] | |
2024 and edi,ebp | |
2025 xor ebp,eax | |
2026 ror edx,7 | |
2027 movdqa xmm9,xmm1 | |
2028 mov esi,ecx | |
2029 xor edi,ebp | |
2030 movdqa XMMWORD[rsp],xmm10 | |
2031 rol ecx,5 | |
2032 add ebx,edi | |
2033 xor esi,edx | |
2034 pslld xmm1,2 | |
2035 xor edx,ebp | |
2036 add ebx,ecx | |
2037 psrld xmm9,30 | |
2038 add eax,DWORD[24+rsp] | |
2039 and esi,edx | |
2040 xor edx,ebp | |
2041 por xmm1,xmm9 | |
2042 ror ecx,7 | |
2043 mov edi,ebx | |
2044 xor esi,edx | |
2045 rol ebx,5 | |
2046 pshufd xmm10,xmm0,238 | |
2047 add eax,esi | |
2048 xor edi,ecx | |
2049 xor ecx,edx | |
2050 add eax,ebx | |
2051 add ebp,DWORD[28+rsp] | |
2052 and edi,ecx | |
2053 xor ecx,edx | |
2054 ror ebx,7 | |
2055 mov esi,eax | |
2056 xor edi,ecx | |
2057 rol eax,5 | |
2058 add ebp,edi | |
2059 xor esi,ebx | |
2060 xor ebx,ecx | |
2061 add ebp,eax | |
2062 pxor xmm2,xmm6 | |
2063 add edx,DWORD[32+rsp] | |
2064 and esi,ebx | |
2065 xor ebx,ecx | |
2066 ror eax,7 | |
2067 punpcklqdq xmm10,xmm1 | |
2068 mov edi,ebp | |
2069 xor esi,ebx | |
2070 pxor xmm2,xmm3 | |
2071 rol ebp,5 | |
2072 add edx,esi | |
2073 movdqa xmm9,xmm8 | |
2074 xor edi,eax | |
2075 paddd xmm8,xmm1 | |
2076 xor eax,ebx | |
2077 pxor xmm2,xmm10 | |
2078 add edx,ebp | |
2079 add ecx,DWORD[36+rsp] | |
2080 and edi,eax | |
2081 xor eax,ebx | |
2082 ror ebp,7 | |
2083 movdqa xmm10,xmm2 | |
2084 mov esi,edx | |
2085 xor edi,eax | |
2086 movdqa XMMWORD[16+rsp],xmm8 | |
2087 rol edx,5 | |
2088 add ecx,edi | |
2089 xor esi,ebp | |
2090 pslld xmm2,2 | |
2091 xor ebp,eax | |
2092 add ecx,edx | |
2093 psrld xmm10,30 | |
2094 add ebx,DWORD[40+rsp] | |
2095 and esi,ebp | |
2096 xor ebp,eax | |
2097 por xmm2,xmm10 | |
2098 ror edx,7 | |
2099 mov edi,ecx | |
2100 xor esi,ebp | |
2101 rol ecx,5 | |
2102 pshufd xmm8,xmm1,238 | |
2103 add ebx,esi | |
2104 xor edi,edx | |
2105 xor edx,ebp | |
2106 add ebx,ecx | |
2107 add eax,DWORD[44+rsp] | |
2108 and edi,edx | |
2109 xor edx,ebp | |
2110 ror ecx,7 | |
2111 mov esi,ebx | |
2112 xor edi,edx | |
2113 rol ebx,5 | |
2114 add eax,edi | |
2115 xor esi,edx | |
2116 add eax,ebx | |
2117 pxor xmm3,xmm7 | |
2118 add ebp,DWORD[48+rsp] | |
2119 xor esi,ecx | |
2120 punpcklqdq xmm8,xmm2 | |
2121 mov edi,eax | |
2122 rol eax,5 | |
2123 pxor xmm3,xmm4 | |
2124 add ebp,esi | |
2125 xor edi,ecx | |
2126 movdqa xmm10,xmm9 | |
2127 ror ebx,7 | |
2128 paddd xmm9,xmm2 | |
2129 add ebp,eax | |
2130 pxor xmm3,xmm8 | |
2131 add edx,DWORD[52+rsp] | |
2132 xor edi,ebx | |
2133 mov esi,ebp | |
2134 rol ebp,5 | |
2135 movdqa xmm8,xmm3 | |
2136 add edx,edi | |
2137 xor esi,ebx | |
2138 movdqa XMMWORD[32+rsp],xmm9 | |
2139 ror eax,7 | |
2140 add edx,ebp | |
2141 add ecx,DWORD[56+rsp] | |
2142 pslld xmm3,2 | |
2143 xor esi,eax | |
2144 mov edi,edx | |
2145 psrld xmm8,30 | |
2146 rol edx,5 | |
2147 add ecx,esi | |
2148 xor edi,eax | |
2149 ror ebp,7 | |
2150 por xmm3,xmm8 | |
2151 add ecx,edx | |
2152 add ebx,DWORD[60+rsp] | |
2153 xor edi,ebp | |
2154 mov esi,ecx | |
2155 rol ecx,5 | |
2156 add ebx,edi | |
2157 xor esi,ebp | |
2158 ror edx,7 | |
2159 add ebx,ecx | |
2160 add eax,DWORD[rsp] | |
2161 xor esi,edx | |
2162 mov edi,ebx | |
2163 rol ebx,5 | |
2164 paddd xmm10,xmm3 | |
2165 add eax,esi | |
2166 xor edi,edx | |
2167 movdqa XMMWORD[48+rsp],xmm10 | |
2168 ror ecx,7 | |
2169 add eax,ebx | |
2170 add ebp,DWORD[4+rsp] | |
2171 xor edi,ecx | |
2172 mov esi,eax | |
2173 rol eax,5 | |
2174 add ebp,edi | |
2175 xor esi,ecx | |
2176 ror ebx,7 | |
2177 add ebp,eax | |
2178 add edx,DWORD[8+rsp] | |
2179 xor esi,ebx | |
2180 mov edi,ebp | |
2181 rol ebp,5 | |
2182 add edx,esi | |
2183 xor edi,ebx | |
2184 ror eax,7 | |
2185 add edx,ebp | |
2186 add ecx,DWORD[12+rsp] | |
2187 xor edi,eax | |
2188 mov esi,edx | |
2189 rol edx,5 | |
2190 add ecx,edi | |
2191 xor esi,eax | |
2192 ror ebp,7 | |
2193 add ecx,edx | |
2194 cmp r9,r10 | |
2195 je NEAR $L$done_ssse3 | |
2196 movdqa xmm6,XMMWORD[64+r14] | |
2197 movdqa xmm9,XMMWORD[((-64))+r14] | |
2198 movdqu xmm0,XMMWORD[r9] | |
2199 movdqu xmm1,XMMWORD[16+r9] | |
2200 movdqu xmm2,XMMWORD[32+r9] | |
2201 movdqu xmm3,XMMWORD[48+r9] | |
2202 DB 102,15,56,0,198 | |
2203 add r9,64 | |
2204 add ebx,DWORD[16+rsp] | |
2205 xor esi,ebp | |
2206 mov edi,ecx | |
2207 DB 102,15,56,0,206 | |
2208 rol ecx,5 | |
2209 add ebx,esi | |
2210 xor edi,ebp | |
2211 ror edx,7 | |
2212 paddd xmm0,xmm9 | |
2213 add ebx,ecx | |
2214 add eax,DWORD[20+rsp] | |
2215 xor edi,edx | |
2216 mov esi,ebx | |
2217 movdqa XMMWORD[rsp],xmm0 | |
2218 rol ebx,5 | |
2219 add eax,edi | |
2220 xor esi,edx | |
2221 ror ecx,7 | |
2222 psubd xmm0,xmm9 | |
2223 add eax,ebx | |
2224 add ebp,DWORD[24+rsp] | |
2225 xor esi,ecx | |
2226 mov edi,eax | |
2227 rol eax,5 | |
2228 add ebp,esi | |
2229 xor edi,ecx | |
2230 ror ebx,7 | |
2231 add ebp,eax | |
2232 add edx,DWORD[28+rsp] | |
2233 xor edi,ebx | |
2234 mov esi,ebp | |
2235 rol ebp,5 | |
2236 add edx,edi | |
2237 xor esi,ebx | |
2238 ror eax,7 | |
2239 add edx,ebp | |
2240 add ecx,DWORD[32+rsp] | |
2241 xor esi,eax | |
2242 mov edi,edx | |
2243 DB 102,15,56,0,214 | |
2244 rol edx,5 | |
2245 add ecx,esi | |
2246 xor edi,eax | |
2247 ror ebp,7 | |
2248 paddd xmm1,xmm9 | |
2249 add ecx,edx | |
2250 add ebx,DWORD[36+rsp] | |
2251 xor edi,ebp | |
2252 mov esi,ecx | |
2253 movdqa XMMWORD[16+rsp],xmm1 | |
2254 rol ecx,5 | |
2255 add ebx,edi | |
2256 xor esi,ebp | |
2257 ror edx,7 | |
2258 psubd xmm1,xmm9 | |
2259 add ebx,ecx | |
2260 add eax,DWORD[40+rsp] | |
2261 xor esi,edx | |
2262 mov edi,ebx | |
2263 rol ebx,5 | |
2264 add eax,esi | |
2265 xor edi,edx | |
2266 ror ecx,7 | |
2267 add eax,ebx | |
2268 add ebp,DWORD[44+rsp] | |
2269 xor edi,ecx | |
2270 mov esi,eax | |
2271 rol eax,5 | |
2272 add ebp,edi | |
2273 xor esi,ecx | |
2274 ror ebx,7 | |
2275 add ebp,eax | |
2276 add edx,DWORD[48+rsp] | |
2277 xor esi,ebx | |
2278 mov edi,ebp | |
2279 DB 102,15,56,0,222 | |
2280 rol ebp,5 | |
2281 add edx,esi | |
2282 xor edi,ebx | |
2283 ror eax,7 | |
2284 paddd xmm2,xmm9 | |
2285 add edx,ebp | |
2286 add ecx,DWORD[52+rsp] | |
2287 xor edi,eax | |
2288 mov esi,edx | |
2289 movdqa XMMWORD[32+rsp],xmm2 | |
2290 rol edx,5 | |
2291 add ecx,edi | |
2292 xor esi,eax | |
2293 ror ebp,7 | |
2294 psubd xmm2,xmm9 | |
2295 add ecx,edx | |
2296 add ebx,DWORD[56+rsp] | |
2297 xor esi,ebp | |
2298 mov edi,ecx | |
2299 rol ecx,5 | |
2300 add ebx,esi | |
2301 xor edi,ebp | |
2302 ror edx,7 | |
2303 add ebx,ecx | |
2304 add eax,DWORD[60+rsp] | |
2305 xor edi,edx | |
2306 mov esi,ebx | |
2307 rol ebx,5 | |
2308 add eax,edi | |
2309 ror ecx,7 | |
2310 add eax,ebx | |
2311 add eax,DWORD[r8] | |
2312 add esi,DWORD[4+r8] | |
2313 add ecx,DWORD[8+r8] | |
2314 add edx,DWORD[12+r8] | |
2315 mov DWORD[r8],eax | |
2316 add ebp,DWORD[16+r8] | |
2317 mov DWORD[4+r8],esi | |
2318 mov ebx,esi | |
2319 mov DWORD[8+r8],ecx | |
2320 mov edi,ecx | |
2321 mov DWORD[12+r8],edx | |
2322 xor edi,edx | |
2323 mov DWORD[16+r8],ebp | |
2324 and esi,edi | |
2325 jmp NEAR $L$oop_ssse3 | |
2326 | |
2327 ALIGN 16 | |
2328 $L$done_ssse3: | |
2329 add ebx,DWORD[16+rsp] | |
2330 xor esi,ebp | |
2331 mov edi,ecx | |
2332 rol ecx,5 | |
2333 add ebx,esi | |
2334 xor edi,ebp | |
2335 ror edx,7 | |
2336 add ebx,ecx | |
2337 add eax,DWORD[20+rsp] | |
2338 xor edi,edx | |
2339 mov esi,ebx | |
2340 rol ebx,5 | |
2341 add eax,edi | |
2342 xor esi,edx | |
2343 ror ecx,7 | |
2344 add eax,ebx | |
2345 add ebp,DWORD[24+rsp] | |
2346 xor esi,ecx | |
2347 mov edi,eax | |
2348 rol eax,5 | |
2349 add ebp,esi | |
2350 xor edi,ecx | |
2351 ror ebx,7 | |
2352 add ebp,eax | |
2353 add edx,DWORD[28+rsp] | |
2354 xor edi,ebx | |
2355 mov esi,ebp | |
2356 rol ebp,5 | |
2357 add edx,edi | |
2358 xor esi,ebx | |
2359 ror eax,7 | |
2360 add edx,ebp | |
2361 add ecx,DWORD[32+rsp] | |
2362 xor esi,eax | |
2363 mov edi,edx | |
2364 rol edx,5 | |
2365 add ecx,esi | |
2366 xor edi,eax | |
2367 ror ebp,7 | |
2368 add ecx,edx | |
2369 add ebx,DWORD[36+rsp] | |
2370 xor edi,ebp | |
2371 mov esi,ecx | |
2372 rol ecx,5 | |
2373 add ebx,edi | |
2374 xor esi,ebp | |
2375 ror edx,7 | |
2376 add ebx,ecx | |
2377 add eax,DWORD[40+rsp] | |
2378 xor esi,edx | |
2379 mov edi,ebx | |
2380 rol ebx,5 | |
2381 add eax,esi | |
2382 xor edi,edx | |
2383 ror ecx,7 | |
2384 add eax,ebx | |
2385 add ebp,DWORD[44+rsp] | |
2386 xor edi,ecx | |
2387 mov esi,eax | |
2388 rol eax,5 | |
2389 add ebp,edi | |
2390 xor esi,ecx | |
2391 ror ebx,7 | |
2392 add ebp,eax | |
2393 add edx,DWORD[48+rsp] | |
2394 xor esi,ebx | |
2395 mov edi,ebp | |
2396 rol ebp,5 | |
2397 add edx,esi | |
2398 xor edi,ebx | |
2399 ror eax,7 | |
2400 add edx,ebp | |
2401 add ecx,DWORD[52+rsp] | |
2402 xor edi,eax | |
2403 mov esi,edx | |
2404 rol edx,5 | |
2405 add ecx,edi | |
2406 xor esi,eax | |
2407 ror ebp,7 | |
2408 add ecx,edx | |
2409 add ebx,DWORD[56+rsp] | |
2410 xor esi,ebp | |
2411 mov edi,ecx | |
2412 rol ecx,5 | |
2413 add ebx,esi | |
2414 xor edi,ebp | |
2415 ror edx,7 | |
2416 add ebx,ecx | |
2417 add eax,DWORD[60+rsp] | |
2418 xor edi,edx | |
2419 mov esi,ebx | |
2420 rol ebx,5 | |
2421 add eax,edi | |
2422 ror ecx,7 | |
2423 add eax,ebx | |
2424 add eax,DWORD[r8] | |
2425 add esi,DWORD[4+r8] | |
2426 add ecx,DWORD[8+r8] | |
2427 mov DWORD[r8],eax | |
2428 add edx,DWORD[12+r8] | |
2429 mov DWORD[4+r8],esi | |
2430 add ebp,DWORD[16+r8] | |
2431 mov DWORD[8+r8],ecx | |
2432 mov DWORD[12+r8],edx | |
2433 mov DWORD[16+r8],ebp | |
2434 movaps xmm6,XMMWORD[((-40-96))+r11] | |
2435 movaps xmm7,XMMWORD[((-40-80))+r11] | |
2436 movaps xmm8,XMMWORD[((-40-64))+r11] | |
2437 movaps xmm9,XMMWORD[((-40-48))+r11] | |
2438 movaps xmm10,XMMWORD[((-40-32))+r11] | |
2439 movaps xmm11,XMMWORD[((-40-16))+r11] | |
2440 mov r14,QWORD[((-40))+r11] | |
2441 mov r13,QWORD[((-32))+r11] | |
2442 mov r12,QWORD[((-24))+r11] | |
2443 mov rbp,QWORD[((-16))+r11] | |
2444 mov rbx,QWORD[((-8))+r11] | |
2445 lea rsp,[r11] | |
2446 $L$epilogue_ssse3: | |
2447 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | |
2448 mov rsi,QWORD[16+rsp] | |
2449 DB 0F3h,0C3h ;repret | |
2450 $L$SEH_end_sha1_block_data_order_ssse3: | |
2451 | |
2452 ALIGN 16 | |
2453 sha1_block_data_order_avx: | |
2454 mov QWORD[8+rsp],rdi ;WIN64 prologue | |
2455 mov QWORD[16+rsp],rsi | |
2456 mov rax,rsp | |
2457 $L$SEH_begin_sha1_block_data_order_avx: | |
2458 mov rdi,rcx | |
2459 mov rsi,rdx | |
2460 mov rdx,r8 | |
2461 | |
2462 | |
2463 _avx_shortcut: | |
2464 mov r11,rsp | |
2465 push rbx | |
2466 push rbp | |
2467 push r12 | |
2468 push r13 | |
2469 push r14 | |
2470 lea rsp,[((-160))+rsp] | |
2471 vzeroupper | |
2472 vmovaps XMMWORD[(-40-96)+r11],xmm6 | |
2473 vmovaps XMMWORD[(-40-80)+r11],xmm7 | |
2474 vmovaps XMMWORD[(-40-64)+r11],xmm8 | |
2475 vmovaps XMMWORD[(-40-48)+r11],xmm9 | |
2476 vmovaps XMMWORD[(-40-32)+r11],xmm10 | |
2477 vmovaps XMMWORD[(-40-16)+r11],xmm11 | |
2478 $L$prologue_avx: | |
2479 and rsp,-64 | |
2480 mov r8,rdi | |
2481 mov r9,rsi | |
2482 mov r10,rdx | |
2483 | |
2484 shl r10,6 | |
2485 add r10,r9 | |
2486 lea r14,[((K_XX_XX+64))] | |
2487 | |
2488 mov eax,DWORD[r8] | |
2489 mov ebx,DWORD[4+r8] | |
2490 mov ecx,DWORD[8+r8] | |
2491 mov edx,DWORD[12+r8] | |
2492 mov esi,ebx | |
2493 mov ebp,DWORD[16+r8] | |
2494 mov edi,ecx | |
2495 xor edi,edx | |
2496 and esi,edi | |
2497 | |
2498 vmovdqa xmm6,XMMWORD[64+r14] | |
2499 vmovdqa xmm11,XMMWORD[((-64))+r14] | |
2500 vmovdqu xmm0,XMMWORD[r9] | |
2501 vmovdqu xmm1,XMMWORD[16+r9] | |
2502 vmovdqu xmm2,XMMWORD[32+r9] | |
2503 vmovdqu xmm3,XMMWORD[48+r9] | |
2504 vpshufb xmm0,xmm0,xmm6 | |
2505 add r9,64 | |
2506 vpshufb xmm1,xmm1,xmm6 | |
2507 vpshufb xmm2,xmm2,xmm6 | |
2508 vpshufb xmm3,xmm3,xmm6 | |
2509 vpaddd xmm4,xmm0,xmm11 | |
2510 vpaddd xmm5,xmm1,xmm11 | |
2511 vpaddd xmm6,xmm2,xmm11 | |
2512 vmovdqa XMMWORD[rsp],xmm4 | |
2513 vmovdqa XMMWORD[16+rsp],xmm5 | |
2514 vmovdqa XMMWORD[32+rsp],xmm6 | |
2515 jmp NEAR $L$oop_avx | |
2516 ALIGN 16 | |
2517 $L$oop_avx: | |
2518 shrd ebx,ebx,2 | |
2519 xor esi,edx | |
2520 vpalignr xmm4,xmm1,xmm0,8 | |
2521 mov edi,eax | |
2522 add ebp,DWORD[rsp] | |
2523 vpaddd xmm9,xmm11,xmm3 | |
2524 xor ebx,ecx | |
2525 shld eax,eax,5 | |
2526 vpsrldq xmm8,xmm3,4 | |
2527 add ebp,esi | |
2528 and edi,ebx | |
2529 vpxor xmm4,xmm4,xmm0 | |
2530 xor ebx,ecx | |
2531 add ebp,eax | |
2532 vpxor xmm8,xmm8,xmm2 | |
2533 shrd eax,eax,7 | |
2534 xor edi,ecx | |
2535 mov esi,ebp | |
2536 add edx,DWORD[4+rsp] | |
2537 vpxor xmm4,xmm4,xmm8 | |
2538 xor eax,ebx | |
2539 shld ebp,ebp,5 | |
2540 vmovdqa XMMWORD[48+rsp],xmm9 | |
2541 add edx,edi | |
2542 and esi,eax | |
2543 vpsrld xmm8,xmm4,31 | |
2544 xor eax,ebx | |
2545 add edx,ebp | |
2546 shrd ebp,ebp,7 | |
2547 xor esi,ebx | |
2548 vpslldq xmm10,xmm4,12 | |
2549 vpaddd xmm4,xmm4,xmm4 | |
2550 mov edi,edx | |
2551 add ecx,DWORD[8+rsp] | |
2552 xor ebp,eax | |
2553 shld edx,edx,5 | |
2554 vpsrld xmm9,xmm10,30 | |
2555 vpor xmm4,xmm4,xmm8 | |
2556 add ecx,esi | |
2557 and edi,ebp | |
2558 xor ebp,eax | |
2559 add ecx,edx | |
2560 vpslld xmm10,xmm10,2 | |
2561 vpxor xmm4,xmm4,xmm9 | |
2562 shrd edx,edx,7 | |
2563 xor edi,eax | |
2564 mov esi,ecx | |
2565 add ebx,DWORD[12+rsp] | |
2566 vpxor xmm4,xmm4,xmm10 | |
2567 xor edx,ebp | |
2568 shld ecx,ecx,5 | |
2569 add ebx,edi | |
2570 and esi,edx | |
2571 xor edx,ebp | |
2572 add ebx,ecx | |
2573 shrd ecx,ecx,7 | |
2574 xor esi,ebp | |
2575 vpalignr xmm5,xmm2,xmm1,8 | |
2576 mov edi,ebx | |
2577 add eax,DWORD[16+rsp] | |
2578 vpaddd xmm9,xmm11,xmm4 | |
2579 xor ecx,edx | |
2580 shld ebx,ebx,5 | |
2581 vpsrldq xmm8,xmm4,4 | |
2582 add eax,esi | |
2583 and edi,ecx | |
2584 vpxor xmm5,xmm5,xmm1 | |
2585 xor ecx,edx | |
2586 add eax,ebx | |
2587 vpxor xmm8,xmm8,xmm3 | |
2588 shrd ebx,ebx,7 | |
2589 xor edi,edx | |
2590 mov esi,eax | |
2591 add ebp,DWORD[20+rsp] | |
2592 vpxor xmm5,xmm5,xmm8 | |
2593 xor ebx,ecx | |
2594 shld eax,eax,5 | |
2595 vmovdqa XMMWORD[rsp],xmm9 | |
2596 add ebp,edi | |
2597 and esi,ebx | |
2598 vpsrld xmm8,xmm5,31 | |
2599 xor ebx,ecx | |
2600 add ebp,eax | |
2601 shrd eax,eax,7 | |
2602 xor esi,ecx | |
2603 vpslldq xmm10,xmm5,12 | |
2604 vpaddd xmm5,xmm5,xmm5 | |
2605 mov edi,ebp | |
2606 add edx,DWORD[24+rsp] | |
2607 xor eax,ebx | |
2608 shld ebp,ebp,5 | |
2609 vpsrld xmm9,xmm10,30 | |
2610 vpor xmm5,xmm5,xmm8 | |
2611 add edx,esi | |
2612 and edi,eax | |
2613 xor eax,ebx | |
2614 add edx,ebp | |
2615 vpslld xmm10,xmm10,2 | |
2616 vpxor xmm5,xmm5,xmm9 | |
2617 shrd ebp,ebp,7 | |
2618 xor edi,ebx | |
2619 mov esi,edx | |
2620 add ecx,DWORD[28+rsp] | |
2621 vpxor xmm5,xmm5,xmm10 | |
2622 xor ebp,eax | |
2623 shld edx,edx,5 | |
2624 vmovdqa xmm11,XMMWORD[((-32))+r14] | |
2625 add ecx,edi | |
2626 and esi,ebp | |
2627 xor ebp,eax | |
2628 add ecx,edx | |
2629 shrd edx,edx,7 | |
2630 xor esi,eax | |
2631 vpalignr xmm6,xmm3,xmm2,8 | |
2632 mov edi,ecx | |
2633 add ebx,DWORD[32+rsp] | |
2634 vpaddd xmm9,xmm11,xmm5 | |
2635 xor edx,ebp | |
2636 shld ecx,ecx,5 | |
2637 vpsrldq xmm8,xmm5,4 | |
2638 add ebx,esi | |
2639 and edi,edx | |
2640 vpxor xmm6,xmm6,xmm2 | |
2641 xor edx,ebp | |
2642 add ebx,ecx | |
2643 vpxor xmm8,xmm8,xmm4 | |
2644 shrd ecx,ecx,7 | |
2645 xor edi,ebp | |
2646 mov esi,ebx | |
2647 add eax,DWORD[36+rsp] | |
2648 vpxor xmm6,xmm6,xmm8 | |
2649 xor ecx,edx | |
2650 shld ebx,ebx,5 | |
2651 vmovdqa XMMWORD[16+rsp],xmm9 | |
2652 add eax,edi | |
2653 and esi,ecx | |
2654 vpsrld xmm8,xmm6,31 | |
2655 xor ecx,edx | |
2656 add eax,ebx | |
2657 shrd ebx,ebx,7 | |
2658 xor esi,edx | |
2659 vpslldq xmm10,xmm6,12 | |
2660 vpaddd xmm6,xmm6,xmm6 | |
2661 mov edi,eax | |
2662 add ebp,DWORD[40+rsp] | |
2663 xor ebx,ecx | |
2664 shld eax,eax,5 | |
2665 vpsrld xmm9,xmm10,30 | |
2666 vpor xmm6,xmm6,xmm8 | |
2667 add ebp,esi | |
2668 and edi,ebx | |
2669 xor ebx,ecx | |
2670 add ebp,eax | |
2671 vpslld xmm10,xmm10,2 | |
2672 vpxor xmm6,xmm6,xmm9 | |
2673 shrd eax,eax,7 | |
2674 xor edi,ecx | |
2675 mov esi,ebp | |
2676 add edx,DWORD[44+rsp] | |
2677 vpxor xmm6,xmm6,xmm10 | |
2678 xor eax,ebx | |
2679 shld ebp,ebp,5 | |
2680 add edx,edi | |
2681 and esi,eax | |
2682 xor eax,ebx | |
2683 add edx,ebp | |
2684 shrd ebp,ebp,7 | |
2685 xor esi,ebx | |
2686 vpalignr xmm7,xmm4,xmm3,8 | |
2687 mov edi,edx | |
2688 add ecx,DWORD[48+rsp] | |
2689 vpaddd xmm9,xmm11,xmm6 | |
2690 xor ebp,eax | |
2691 shld edx,edx,5 | |
2692 vpsrldq xmm8,xmm6,4 | |
2693 add ecx,esi | |
2694 and edi,ebp | |
2695 vpxor xmm7,xmm7,xmm3 | |
2696 xor ebp,eax | |
2697 add ecx,edx | |
2698 vpxor xmm8,xmm8,xmm5 | |
2699 shrd edx,edx,7 | |
2700 xor edi,eax | |
2701 mov esi,ecx | |
2702 add ebx,DWORD[52+rsp] | |
2703 vpxor xmm7,xmm7,xmm8 | |
2704 xor edx,ebp | |
2705 shld ecx,ecx,5 | |
2706 vmovdqa XMMWORD[32+rsp],xmm9 | |
2707 add ebx,edi | |
2708 and esi,edx | |
2709 vpsrld xmm8,xmm7,31 | |
2710 xor edx,ebp | |
2711 add ebx,ecx | |
2712 shrd ecx,ecx,7 | |
2713 xor esi,ebp | |
2714 vpslldq xmm10,xmm7,12 | |
2715 vpaddd xmm7,xmm7,xmm7 | |
2716 mov edi,ebx | |
2717 add eax,DWORD[56+rsp] | |
2718 xor ecx,edx | |
2719 shld ebx,ebx,5 | |
2720 vpsrld xmm9,xmm10,30 | |
2721 vpor xmm7,xmm7,xmm8 | |
2722 add eax,esi | |
2723 and edi,ecx | |
2724 xor ecx,edx | |
2725 add eax,ebx | |
2726 vpslld xmm10,xmm10,2 | |
2727 vpxor xmm7,xmm7,xmm9 | |
2728 shrd ebx,ebx,7 | |
2729 xor edi,edx | |
2730 mov esi,eax | |
2731 add ebp,DWORD[60+rsp] | |
2732 vpxor xmm7,xmm7,xmm10 | |
2733 xor ebx,ecx | |
2734 shld eax,eax,5 | |
2735 add ebp,edi | |
2736 and esi,ebx | |
2737 xor ebx,ecx | |
2738 add ebp,eax | |
2739 vpalignr xmm8,xmm7,xmm6,8 | |
2740 vpxor xmm0,xmm0,xmm4 | |
2741 shrd eax,eax,7 | |
2742 xor esi,ecx | |
2743 mov edi,ebp | |
2744 add edx,DWORD[rsp] | |
2745 vpxor xmm0,xmm0,xmm1 | |
2746 xor eax,ebx | |
2747 shld ebp,ebp,5 | |
2748 vpaddd xmm9,xmm11,xmm7 | |
2749 add edx,esi | |
2750 and edi,eax | |
2751 vpxor xmm0,xmm0,xmm8 | |
2752 xor eax,ebx | |
2753 add edx,ebp | |
2754 shrd ebp,ebp,7 | |
2755 xor edi,ebx | |
2756 vpsrld xmm8,xmm0,30 | |
2757 vmovdqa XMMWORD[48+rsp],xmm9 | |
2758 mov esi,edx | |
2759 add ecx,DWORD[4+rsp] | |
2760 xor ebp,eax | |
2761 shld edx,edx,5 | |
2762 vpslld xmm0,xmm0,2 | |
2763 add ecx,edi | |
2764 and esi,ebp | |
2765 xor ebp,eax | |
2766 add ecx,edx | |
2767 shrd edx,edx,7 | |
2768 xor esi,eax | |
2769 mov edi,ecx | |
2770 add ebx,DWORD[8+rsp] | |
2771 vpor xmm0,xmm0,xmm8 | |
2772 xor edx,ebp | |
2773 shld ecx,ecx,5 | |
2774 add ebx,esi | |
2775 and edi,edx | |
2776 xor edx,ebp | |
2777 add ebx,ecx | |
2778 add eax,DWORD[12+rsp] | |
2779 xor edi,ebp | |
2780 mov esi,ebx | |
2781 shld ebx,ebx,5 | |
2782 add eax,edi | |
2783 xor esi,edx | |
2784 shrd ecx,ecx,7 | |
2785 add eax,ebx | |
2786 vpalignr xmm8,xmm0,xmm7,8 | |
2787 vpxor xmm1,xmm1,xmm5 | |
2788 add ebp,DWORD[16+rsp] | |
2789 xor esi,ecx | |
2790 mov edi,eax | |
2791 shld eax,eax,5 | |
2792 vpxor xmm1,xmm1,xmm2 | |
2793 add ebp,esi | |
2794 xor edi,ecx | |
2795 vpaddd xmm9,xmm11,xmm0 | |
2796 shrd ebx,ebx,7 | |
2797 add ebp,eax | |
2798 vpxor xmm1,xmm1,xmm8 | |
2799 add edx,DWORD[20+rsp] | |
2800 xor edi,ebx | |
2801 mov esi,ebp | |
2802 shld ebp,ebp,5 | |
2803 vpsrld xmm8,xmm1,30 | |
2804 vmovdqa XMMWORD[rsp],xmm9 | |
2805 add edx,edi | |
2806 xor esi,ebx | |
2807 shrd eax,eax,7 | |
2808 add edx,ebp | |
2809 vpslld xmm1,xmm1,2 | |
2810 add ecx,DWORD[24+rsp] | |
2811 xor esi,eax | |
2812 mov edi,edx | |
2813 shld edx,edx,5 | |
2814 add ecx,esi | |
2815 xor edi,eax | |
2816 shrd ebp,ebp,7 | |
2817 add ecx,edx | |
2818 vpor xmm1,xmm1,xmm8 | |
2819 add ebx,DWORD[28+rsp] | |
2820 xor edi,ebp | |
2821 mov esi,ecx | |
2822 shld ecx,ecx,5 | |
2823 add ebx,edi | |
2824 xor esi,ebp | |
2825 shrd edx,edx,7 | |
2826 add ebx,ecx | |
2827 vpalignr xmm8,xmm1,xmm0,8 | |
2828 vpxor xmm2,xmm2,xmm6 | |
2829 add eax,DWORD[32+rsp] | |
2830 xor esi,edx | |
2831 mov edi,ebx | |
2832 shld ebx,ebx,5 | |
2833 vpxor xmm2,xmm2,xmm3 | |
2834 add eax,esi | |
2835 xor edi,edx | |
2836 vpaddd xmm9,xmm11,xmm1 | |
2837 vmovdqa xmm11,XMMWORD[r14] | |
2838 shrd ecx,ecx,7 | |
2839 add eax,ebx | |
2840 vpxor xmm2,xmm2,xmm8 | |
2841 add ebp,DWORD[36+rsp] | |
2842 xor edi,ecx | |
2843 mov esi,eax | |
2844 shld eax,eax,5 | |
2845 vpsrld xmm8,xmm2,30 | |
2846 vmovdqa XMMWORD[16+rsp],xmm9 | |
2847 add ebp,edi | |
2848 xor esi,ecx | |
2849 shrd ebx,ebx,7 | |
2850 add ebp,eax | |
2851 vpslld xmm2,xmm2,2 | |
2852 add edx,DWORD[40+rsp] | |
2853 xor esi,ebx | |
2854 mov edi,ebp | |
2855 shld ebp,ebp,5 | |
2856 add edx,esi | |
2857 xor edi,ebx | |
2858 shrd eax,eax,7 | |
2859 add edx,ebp | |
2860 vpor xmm2,xmm2,xmm8 | |
2861 add ecx,DWORD[44+rsp] | |
2862 xor edi,eax | |
2863 mov esi,edx | |
2864 shld edx,edx,5 | |
2865 add ecx,edi | |
2866 xor esi,eax | |
2867 shrd ebp,ebp,7 | |
2868 add ecx,edx | |
2869 vpalignr xmm8,xmm2,xmm1,8 | |
2870 vpxor xmm3,xmm3,xmm7 | |
2871 add ebx,DWORD[48+rsp] | |
2872 xor esi,ebp | |
2873 mov edi,ecx | |
2874 shld ecx,ecx,5 | |
2875 vpxor xmm3,xmm3,xmm4 | |
2876 add ebx,esi | |
2877 xor edi,ebp | |
2878 vpaddd xmm9,xmm11,xmm2 | |
2879 shrd edx,edx,7 | |
2880 add ebx,ecx | |
2881 vpxor xmm3,xmm3,xmm8 | |
2882 add eax,DWORD[52+rsp] | |
2883 xor edi,edx | |
2884 mov esi,ebx | |
2885 shld ebx,ebx,5 | |
2886 vpsrld xmm8,xmm3,30 | |
2887 vmovdqa XMMWORD[32+rsp],xmm9 | |
2888 add eax,edi | |
2889 xor esi,edx | |
2890 shrd ecx,ecx,7 | |
2891 add eax,ebx | |
2892 vpslld xmm3,xmm3,2 | |
2893 add ebp,DWORD[56+rsp] | |
2894 xor esi,ecx | |
2895 mov edi,eax | |
2896 shld eax,eax,5 | |
2897 add ebp,esi | |
2898 xor edi,ecx | |
2899 shrd ebx,ebx,7 | |
2900 add ebp,eax | |
2901 vpor xmm3,xmm3,xmm8 | |
2902 add edx,DWORD[60+rsp] | |
2903 xor edi,ebx | |
2904 mov esi,ebp | |
2905 shld ebp,ebp,5 | |
2906 add edx,edi | |
2907 xor esi,ebx | |
2908 shrd eax,eax,7 | |
2909 add edx,ebp | |
2910 vpalignr xmm8,xmm3,xmm2,8 | |
2911 vpxor xmm4,xmm4,xmm0 | |
2912 add ecx,DWORD[rsp] | |
2913 xor esi,eax | |
2914 mov edi,edx | |
2915 shld edx,edx,5 | |
2916 vpxor xmm4,xmm4,xmm5 | |
2917 add ecx,esi | |
2918 xor edi,eax | |
2919 vpaddd xmm9,xmm11,xmm3 | |
2920 shrd ebp,ebp,7 | |
2921 add ecx,edx | |
2922 vpxor xmm4,xmm4,xmm8 | |
2923 add ebx,DWORD[4+rsp] | |
2924 xor edi,ebp | |
2925 mov esi,ecx | |
2926 shld ecx,ecx,5 | |
2927 vpsrld xmm8,xmm4,30 | |
2928 vmovdqa XMMWORD[48+rsp],xmm9 | |
2929 add ebx,edi | |
2930 xor esi,ebp | |
2931 shrd edx,edx,7 | |
2932 add ebx,ecx | |
2933 vpslld xmm4,xmm4,2 | |
2934 add eax,DWORD[8+rsp] | |
2935 xor esi,edx | |
2936 mov edi,ebx | |
2937 shld ebx,ebx,5 | |
2938 add eax,esi | |
2939 xor edi,edx | |
2940 shrd ecx,ecx,7 | |
2941 add eax,ebx | |
2942 vpor xmm4,xmm4,xmm8 | |
2943 add ebp,DWORD[12+rsp] | |
2944 xor edi,ecx | |
2945 mov esi,eax | |
2946 shld eax,eax,5 | |
2947 add ebp,edi | |
2948 xor esi,ecx | |
2949 shrd ebx,ebx,7 | |
2950 add ebp,eax | |
2951 vpalignr xmm8,xmm4,xmm3,8 | |
2952 vpxor xmm5,xmm5,xmm1 | |
2953 add edx,DWORD[16+rsp] | |
2954 xor esi,ebx | |
2955 mov edi,ebp | |
2956 shld ebp,ebp,5 | |
2957 vpxor xmm5,xmm5,xmm6 | |
2958 add edx,esi | |
2959 xor edi,ebx | |
2960 vpaddd xmm9,xmm11,xmm4 | |
2961 shrd eax,eax,7 | |
2962 add edx,ebp | |
2963 vpxor xmm5,xmm5,xmm8 | |
2964 add ecx,DWORD[20+rsp] | |
2965 xor edi,eax | |
2966 mov esi,edx | |
2967 shld edx,edx,5 | |
2968 vpsrld xmm8,xmm5,30 | |
2969 vmovdqa XMMWORD[rsp],xmm9 | |
2970 add ecx,edi | |
2971 xor esi,eax | |
2972 shrd ebp,ebp,7 | |
2973 add ecx,edx | |
2974 vpslld xmm5,xmm5,2 | |
2975 add ebx,DWORD[24+rsp] | |
2976 xor esi,ebp | |
2977 mov edi,ecx | |
2978 shld ecx,ecx,5 | |
2979 add ebx,esi | |
2980 xor edi,ebp | |
2981 shrd edx,edx,7 | |
2982 add ebx,ecx | |
2983 vpor xmm5,xmm5,xmm8 | |
2984 add eax,DWORD[28+rsp] | |
2985 shrd ecx,ecx,7 | |
2986 mov esi,ebx | |
2987 xor edi,edx | |
2988 shld ebx,ebx,5 | |
2989 add eax,edi | |
2990 xor esi,ecx | |
2991 xor ecx,edx | |
2992 add eax,ebx | |
2993 vpalignr xmm8,xmm5,xmm4,8 | |
2994 vpxor xmm6,xmm6,xmm2 | |
2995 add ebp,DWORD[32+rsp] | |
2996 and esi,ecx | |
2997 xor ecx,edx | |
2998 shrd ebx,ebx,7 | |
2999 vpxor xmm6,xmm6,xmm7 | |
3000 mov edi,eax | |
3001 xor esi,ecx | |
3002 vpaddd xmm9,xmm11,xmm5 | |
3003 shld eax,eax,5 | |
3004 add ebp,esi | |
3005 vpxor xmm6,xmm6,xmm8 | |
3006 xor edi,ebx | |
3007 xor ebx,ecx | |
3008 add ebp,eax | |
3009 add edx,DWORD[36+rsp] | |
3010 vpsrld xmm8,xmm6,30 | |
3011 vmovdqa XMMWORD[16+rsp],xmm9 | |
3012 and edi,ebx | |
3013 xor ebx,ecx | |
3014 shrd eax,eax,7 | |
3015 mov esi,ebp | |
3016 vpslld xmm6,xmm6,2 | |
3017 xor edi,ebx | |
3018 shld ebp,ebp,5 | |
3019 add edx,edi | |
3020 xor esi,eax | |
3021 xor eax,ebx | |
3022 add edx,ebp | |
3023 add ecx,DWORD[40+rsp] | |
3024 and esi,eax | |
3025 vpor xmm6,xmm6,xmm8 | |
3026 xor eax,ebx | |
3027 shrd ebp,ebp,7 | |
3028 mov edi,edx | |
3029 xor esi,eax | |
3030 shld edx,edx,5 | |
3031 add ecx,esi | |
3032 xor edi,ebp | |
3033 xor ebp,eax | |
3034 add ecx,edx | |
3035 add ebx,DWORD[44+rsp] | |
3036 and edi,ebp | |
3037 xor ebp,eax | |
3038 shrd edx,edx,7 | |
3039 mov esi,ecx | |
3040 xor edi,ebp | |
3041 shld ecx,ecx,5 | |
3042 add ebx,edi | |
3043 xor esi,edx | |
3044 xor edx,ebp | |
3045 add ebx,ecx | |
3046 vpalignr xmm8,xmm6,xmm5,8 | |
3047 vpxor xmm7,xmm7,xmm3 | |
3048 add eax,DWORD[48+rsp] | |
3049 and esi,edx | |
3050 xor edx,ebp | |
3051 shrd ecx,ecx,7 | |
3052 vpxor xmm7,xmm7,xmm0 | |
3053 mov edi,ebx | |
3054 xor esi,edx | |
3055 vpaddd xmm9,xmm11,xmm6 | |
3056 vmovdqa xmm11,XMMWORD[32+r14] | |
3057 shld ebx,ebx,5 | |
3058 add eax,esi | |
3059 vpxor xmm7,xmm7,xmm8 | |
3060 xor edi,ecx | |
3061 xor ecx,edx | |
3062 add eax,ebx | |
3063 add ebp,DWORD[52+rsp] | |
3064 vpsrld xmm8,xmm7,30 | |
3065 vmovdqa XMMWORD[32+rsp],xmm9 | |
3066 and edi,ecx | |
3067 xor ecx,edx | |
3068 shrd ebx,ebx,7 | |
3069 mov esi,eax | |
3070 vpslld xmm7,xmm7,2 | |
3071 xor edi,ecx | |
3072 shld eax,eax,5 | |
3073 add ebp,edi | |
3074 xor esi,ebx | |
3075 xor ebx,ecx | |
3076 add ebp,eax | |
3077 add edx,DWORD[56+rsp] | |
3078 and esi,ebx | |
3079 vpor xmm7,xmm7,xmm8 | |
3080 xor ebx,ecx | |
3081 shrd eax,eax,7 | |
3082 mov edi,ebp | |
3083 xor esi,ebx | |
3084 shld ebp,ebp,5 | |
3085 add edx,esi | |
3086 xor edi,eax | |
3087 xor eax,ebx | |
3088 add edx,ebp | |
3089 add ecx,DWORD[60+rsp] | |
3090 and edi,eax | |
3091 xor eax,ebx | |
3092 shrd ebp,ebp,7 | |
3093 mov esi,edx | |
3094 xor edi,eax | |
3095 shld edx,edx,5 | |
3096 add ecx,edi | |
3097 xor esi,ebp | |
3098 xor ebp,eax | |
3099 add ecx,edx | |
3100 vpalignr xmm8,xmm7,xmm6,8 | |
3101 vpxor xmm0,xmm0,xmm4 | |
3102 add ebx,DWORD[rsp] | |
3103 and esi,ebp | |
3104 xor ebp,eax | |
3105 shrd edx,edx,7 | |
3106 vpxor xmm0,xmm0,xmm1 | |
3107 mov edi,ecx | |
3108 xor esi,ebp | |
3109 vpaddd xmm9,xmm11,xmm7 | |
3110 shld ecx,ecx,5 | |
3111 add ebx,esi | |
3112 vpxor xmm0,xmm0,xmm8 | |
3113 xor edi,edx | |
3114 xor edx,ebp | |
3115 add ebx,ecx | |
3116 add eax,DWORD[4+rsp] | |
3117 vpsrld xmm8,xmm0,30 | |
3118 vmovdqa XMMWORD[48+rsp],xmm9 | |
3119 and edi,edx | |
3120 xor edx,ebp | |
3121 shrd ecx,ecx,7 | |
3122 mov esi,ebx | |
3123 vpslld xmm0,xmm0,2 | |
3124 xor edi,edx | |
3125 shld ebx,ebx,5 | |
3126 add eax,edi | |
3127 xor esi,ecx | |
3128 xor ecx,edx | |
3129 add eax,ebx | |
3130 add ebp,DWORD[8+rsp] | |
3131 and esi,ecx | |
3132 vpor xmm0,xmm0,xmm8 | |
3133 xor ecx,edx | |
3134 shrd ebx,ebx,7 | |
3135 mov edi,eax | |
3136 xor esi,ecx | |
3137 shld eax,eax,5 | |
3138 add ebp,esi | |
3139 xor edi,ebx | |
3140 xor ebx,ecx | |
3141 add ebp,eax | |
3142 add edx,DWORD[12+rsp] | |
3143 and edi,ebx | |
3144 xor ebx,ecx | |
3145 shrd eax,eax,7 | |
3146 mov esi,ebp | |
3147 xor edi,ebx | |
3148 shld ebp,ebp,5 | |
3149 add edx,edi | |
3150 xor esi,eax | |
3151 xor eax,ebx | |
3152 add edx,ebp | |
3153 vpalignr xmm8,xmm0,xmm7,8 | |
3154 vpxor xmm1,xmm1,xmm5 | |
3155 add ecx,DWORD[16+rsp] | |
3156 and esi,eax | |
3157 xor eax,ebx | |
3158 shrd ebp,ebp,7 | |
3159 vpxor xmm1,xmm1,xmm2 | |
3160 mov edi,edx | |
3161 xor esi,eax | |
3162 vpaddd xmm9,xmm11,xmm0 | |
3163 shld edx,edx,5 | |
3164 add ecx,esi | |
3165 vpxor xmm1,xmm1,xmm8 | |
3166 xor edi,ebp | |
3167 xor ebp,eax | |
3168 add ecx,edx | |
3169 add ebx,DWORD[20+rsp] | |
3170 vpsrld xmm8,xmm1,30 | |
3171 vmovdqa XMMWORD[rsp],xmm9 | |
3172 and edi,ebp | |
3173 xor ebp,eax | |
3174 shrd edx,edx,7 | |
3175 mov esi,ecx | |
3176 vpslld xmm1,xmm1,2 | |
3177 xor edi,ebp | |
3178 shld ecx,ecx,5 | |
3179 add ebx,edi | |
3180 xor esi,edx | |
3181 xor edx,ebp | |
3182 add ebx,ecx | |
3183 add eax,DWORD[24+rsp] | |
3184 and esi,edx | |
3185 vpor xmm1,xmm1,xmm8 | |
3186 xor edx,ebp | |
3187 shrd ecx,ecx,7 | |
3188 mov edi,ebx | |
3189 xor esi,edx | |
3190 shld ebx,ebx,5 | |
3191 add eax,esi | |
3192 xor edi,ecx | |
3193 xor ecx,edx | |
3194 add eax,ebx | |
3195 add ebp,DWORD[28+rsp] | |
3196 and edi,ecx | |
3197 xor ecx,edx | |
3198 shrd ebx,ebx,7 | |
3199 mov esi,eax | |
3200 xor edi,ecx | |
3201 shld eax,eax,5 | |
3202 add ebp,edi | |
3203 xor esi,ebx | |
3204 xor ebx,ecx | |
3205 add ebp,eax | |
3206 vpalignr xmm8,xmm1,xmm0,8 | |
3207 vpxor xmm2,xmm2,xmm6 | |
3208 add edx,DWORD[32+rsp] | |
3209 and esi,ebx | |
3210 xor ebx,ecx | |
3211 shrd eax,eax,7 | |
3212 vpxor xmm2,xmm2,xmm3 | |
3213 mov edi,ebp | |
3214 xor esi,ebx | |
3215 vpaddd xmm9,xmm11,xmm1 | |
3216 shld ebp,ebp,5 | |
3217 add edx,esi | |
3218 vpxor xmm2,xmm2,xmm8 | |
3219 xor edi,eax | |
3220 xor eax,ebx | |
3221 add edx,ebp | |
3222 add ecx,DWORD[36+rsp] | |
3223 vpsrld xmm8,xmm2,30 | |
3224 vmovdqa XMMWORD[16+rsp],xmm9 | |
3225 and edi,eax | |
3226 xor eax,ebx | |
3227 shrd ebp,ebp,7 | |
3228 mov esi,edx | |
3229 vpslld xmm2,xmm2,2 | |
3230 xor edi,eax | |
3231 shld edx,edx,5 | |
3232 add ecx,edi | |
3233 xor esi,ebp | |
3234 xor ebp,eax | |
3235 add ecx,edx | |
3236 add ebx,DWORD[40+rsp] | |
3237 and esi,ebp | |
3238 vpor xmm2,xmm2,xmm8 | |
3239 xor ebp,eax | |
3240 shrd edx,edx,7 | |
3241 mov edi,ecx | |
3242 xor esi,ebp | |
3243 shld ecx,ecx,5 | |
3244 add ebx,esi | |
3245 xor edi,edx | |
3246 xor edx,ebp | |
3247 add ebx,ecx | |
3248 add eax,DWORD[44+rsp] | |
3249 and edi,edx | |
3250 xor edx,ebp | |
3251 shrd ecx,ecx,7 | |
3252 mov esi,ebx | |
3253 xor edi,edx | |
3254 shld ebx,ebx,5 | |
3255 add eax,edi | |
3256 xor esi,edx | |
3257 add eax,ebx | |
3258 vpalignr xmm8,xmm2,xmm1,8 | |
3259 vpxor xmm3,xmm3,xmm7 | |
3260 add ebp,DWORD[48+rsp] | |
3261 xor esi,ecx | |
3262 mov edi,eax | |
3263 shld eax,eax,5 | |
3264 vpxor xmm3,xmm3,xmm4 | |
3265 add ebp,esi | |
3266 xor edi,ecx | |
3267 vpaddd xmm9,xmm11,xmm2 | |
3268 shrd ebx,ebx,7 | |
3269 add ebp,eax | |
3270 vpxor xmm3,xmm3,xmm8 | |
3271 add edx,DWORD[52+rsp] | |
3272 xor edi,ebx | |
3273 mov esi,ebp | |
3274 shld ebp,ebp,5 | |
3275 vpsrld xmm8,xmm3,30 | |
3276 vmovdqa XMMWORD[32+rsp],xmm9 | |
3277 add edx,edi | |
3278 xor esi,ebx | |
3279 shrd eax,eax,7 | |
3280 add edx,ebp | |
3281 vpslld xmm3,xmm3,2 | |
3282 add ecx,DWORD[56+rsp] | |
3283 xor esi,eax | |
3284 mov edi,edx | |
3285 shld edx,edx,5 | |
3286 add ecx,esi | |
3287 xor edi,eax | |
3288 shrd ebp,ebp,7 | |
3289 add ecx,edx | |
3290 vpor xmm3,xmm3,xmm8 | |
3291 add ebx,DWORD[60+rsp] | |
3292 xor edi,ebp | |
3293 mov esi,ecx | |
3294 shld ecx,ecx,5 | |
3295 add ebx,edi | |
3296 xor esi,ebp | |
3297 shrd edx,edx,7 | |
3298 add ebx,ecx | |
3299 add eax,DWORD[rsp] | |
3300 vpaddd xmm9,xmm11,xmm3 | |
3301 xor esi,edx | |
3302 mov edi,ebx | |
3303 shld ebx,ebx,5 | |
3304 add eax,esi | |
3305 vmovdqa XMMWORD[48+rsp],xmm9 | |
3306 xor edi,edx | |
3307 shrd ecx,ecx,7 | |
3308 add eax,ebx | |
3309 add ebp,DWORD[4+rsp] | |
3310 xor edi,ecx | |
3311 mov esi,eax | |
3312 shld eax,eax,5 | |
3313 add ebp,edi | |
3314 xor esi,ecx | |
3315 shrd ebx,ebx,7 | |
3316 add ebp,eax | |
3317 add edx,DWORD[8+rsp] | |
3318 xor esi,ebx | |
3319 mov edi,ebp | |
3320 shld ebp,ebp,5 | |
3321 add edx,esi | |
3322 xor edi,ebx | |
3323 shrd eax,eax,7 | |
3324 add edx,ebp | |
3325 add ecx,DWORD[12+rsp] | |
3326 xor edi,eax | |
3327 mov esi,edx | |
3328 shld edx,edx,5 | |
3329 add ecx,edi | |
3330 xor esi,eax | |
3331 shrd ebp,ebp,7 | |
3332 add ecx,edx | |
3333 cmp r9,r10 | |
3334 je NEAR $L$done_avx | |
3335 vmovdqa xmm6,XMMWORD[64+r14] | |
3336 vmovdqa xmm11,XMMWORD[((-64))+r14] | |
3337 vmovdqu xmm0,XMMWORD[r9] | |
3338 vmovdqu xmm1,XMMWORD[16+r9] | |
3339 vmovdqu xmm2,XMMWORD[32+r9] | |
3340 vmovdqu xmm3,XMMWORD[48+r9] | |
3341 vpshufb xmm0,xmm0,xmm6 | |
3342 add r9,64 | |
3343 add ebx,DWORD[16+rsp] | |
3344 xor esi,ebp | |
3345 vpshufb xmm1,xmm1,xmm6 | |
3346 mov edi,ecx | |
3347 shld ecx,ecx,5 | |
3348 vpaddd xmm4,xmm0,xmm11 | |
3349 add ebx,esi | |
3350 xor edi,ebp | |
3351 shrd edx,edx,7 | |
3352 add ebx,ecx | |
3353 vmovdqa XMMWORD[rsp],xmm4 | |
3354 add eax,DWORD[20+rsp] | |
3355 xor edi,edx | |
3356 mov esi,ebx | |
3357 shld ebx,ebx,5 | |
3358 add eax,edi | |
3359 xor esi,edx | |
3360 shrd ecx,ecx,7 | |
3361 add eax,ebx | |
3362 add ebp,DWORD[24+rsp] | |
3363 xor esi,ecx | |
3364 mov edi,eax | |
3365 shld eax,eax,5 | |
3366 add ebp,esi | |
3367 xor edi,ecx | |
3368 shrd ebx,ebx,7 | |
3369 add ebp,eax | |
3370 add edx,DWORD[28+rsp] | |
3371 xor edi,ebx | |
3372 mov esi,ebp | |
3373 shld ebp,ebp,5 | |
3374 add edx,edi | |
3375 xor esi,ebx | |
3376 shrd eax,eax,7 | |
3377 add edx,ebp | |
3378 add ecx,DWORD[32+rsp] | |
3379 xor esi,eax | |
3380 vpshufb xmm2,xmm2,xmm6 | |
3381 mov edi,edx | |
3382 shld edx,edx,5 | |
3383 vpaddd xmm5,xmm1,xmm11 | |
3384 add ecx,esi | |
3385 xor edi,eax | |
3386 shrd ebp,ebp,7 | |
3387 add ecx,edx | |
3388 vmovdqa XMMWORD[16+rsp],xmm5 | |
3389 add ebx,DWORD[36+rsp] | |
3390 xor edi,ebp | |
3391 mov esi,ecx | |
3392 shld ecx,ecx,5 | |
3393 add ebx,edi | |
3394 xor esi,ebp | |
3395 shrd edx,edx,7 | |
3396 add ebx,ecx | |
3397 add eax,DWORD[40+rsp] | |
3398 xor esi,edx | |
3399 mov edi,ebx | |
3400 shld ebx,ebx,5 | |
3401 add eax,esi | |
3402 xor edi,edx | |
3403 shrd ecx,ecx,7 | |
3404 add eax,ebx | |
3405 add ebp,DWORD[44+rsp] | |
3406 xor edi,ecx | |
3407 mov esi,eax | |
3408 shld eax,eax,5 | |
3409 add ebp,edi | |
3410 xor esi,ecx | |
3411 shrd ebx,ebx,7 | |
3412 add ebp,eax | |
3413 add edx,DWORD[48+rsp] | |
3414 xor esi,ebx | |
3415 vpshufb xmm3,xmm3,xmm6 | |
3416 mov edi,ebp | |
3417 shld ebp,ebp,5 | |
3418 vpaddd xmm6,xmm2,xmm11 | |
3419 add edx,esi | |
3420 xor edi,ebx | |
3421 shrd eax,eax,7 | |
3422 add edx,ebp | |
3423 vmovdqa XMMWORD[32+rsp],xmm6 | |
3424 add ecx,DWORD[52+rsp] | |
3425 xor edi,eax | |
3426 mov esi,edx | |
3427 shld edx,edx,5 | |
3428 add ecx,edi | |
3429 xor esi,eax | |
3430 shrd ebp,ebp,7 | |
3431 add ecx,edx | |
3432 add ebx,DWORD[56+rsp] | |
3433 xor esi,ebp | |
3434 mov edi,ecx | |
3435 shld ecx,ecx,5 | |
3436 add ebx,esi | |
3437 xor edi,ebp | |
3438 shrd edx,edx,7 | |
3439 add ebx,ecx | |
3440 add eax,DWORD[60+rsp] | |
3441 xor edi,edx | |
3442 mov esi,ebx | |
3443 shld ebx,ebx,5 | |
3444 add eax,edi | |
3445 shrd ecx,ecx,7 | |
3446 add eax,ebx | |
3447 add eax,DWORD[r8] | |
3448 add esi,DWORD[4+r8] | |
3449 add ecx,DWORD[8+r8] | |
3450 add edx,DWORD[12+r8] | |
3451 mov DWORD[r8],eax | |
3452 add ebp,DWORD[16+r8] | |
3453 mov DWORD[4+r8],esi | |
3454 mov ebx,esi | |
3455 mov DWORD[8+r8],ecx | |
3456 mov edi,ecx | |
3457 mov DWORD[12+r8],edx | |
3458 xor edi,edx | |
3459 mov DWORD[16+r8],ebp | |
3460 and esi,edi | |
3461 jmp NEAR $L$oop_avx | |
3462 | |
3463 ALIGN 16 | |
3464 $L$done_avx: | |
3465 add ebx,DWORD[16+rsp] | |
3466 xor esi,ebp | |
3467 mov edi,ecx | |
3468 shld ecx,ecx,5 | |
3469 add ebx,esi | |
3470 xor edi,ebp | |
3471 shrd edx,edx,7 | |
3472 add ebx,ecx | |
3473 add eax,DWORD[20+rsp] | |
3474 xor edi,edx | |
3475 mov esi,ebx | |
3476 shld ebx,ebx,5 | |
3477 add eax,edi | |
3478 xor esi,edx | |
3479 shrd ecx,ecx,7 | |
3480 add eax,ebx | |
3481 add ebp,DWORD[24+rsp] | |
3482 xor esi,ecx | |
3483 mov edi,eax | |
3484 shld eax,eax,5 | |
3485 add ebp,esi | |
3486 xor edi,ecx | |
3487 shrd ebx,ebx,7 | |
3488 add ebp,eax | |
3489 add edx,DWORD[28+rsp] | |
3490 xor edi,ebx | |
3491 mov esi,ebp | |
3492 shld ebp,ebp,5 | |
3493 add edx,edi | |
3494 xor esi,ebx | |
3495 shrd eax,eax,7 | |
3496 add edx,ebp | |
3497 add ecx,DWORD[32+rsp] | |
3498 xor esi,eax | |
3499 mov edi,edx | |
3500 shld edx,edx,5 | |
3501 add ecx,esi | |
3502 xor edi,eax | |
3503 shrd ebp,ebp,7 | |
3504 add ecx,edx | |
3505 add ebx,DWORD[36+rsp] | |
3506 xor edi,ebp | |
3507 mov esi,ecx | |
3508 shld ecx,ecx,5 | |
3509 add ebx,edi | |
3510 xor esi,ebp | |
3511 shrd edx,edx,7 | |
3512 add ebx,ecx | |
3513 add eax,DWORD[40+rsp] | |
3514 xor esi,edx | |
3515 mov edi,ebx | |
3516 shld ebx,ebx,5 | |
3517 add eax,esi | |
3518 xor edi,edx | |
3519 shrd ecx,ecx,7 | |
3520 add eax,ebx | |
3521 add ebp,DWORD[44+rsp] | |
3522 xor edi,ecx | |
3523 mov esi,eax | |
3524 shld eax,eax,5 | |
3525 add ebp,edi | |
3526 xor esi,ecx | |
3527 shrd ebx,ebx,7 | |
3528 add ebp,eax | |
3529 add edx,DWORD[48+rsp] | |
3530 xor esi,ebx | |
3531 mov edi,ebp | |
3532 shld ebp,ebp,5 | |
3533 add edx,esi | |
3534 xor edi,ebx | |
3535 shrd eax,eax,7 | |
3536 add edx,ebp | |
3537 add ecx,DWORD[52+rsp] | |
3538 xor edi,eax | |
3539 mov esi,edx | |
3540 shld edx,edx,5 | |
3541 add ecx,edi | |
3542 xor esi,eax | |
3543 shrd ebp,ebp,7 | |
3544 add ecx,edx | |
3545 add ebx,DWORD[56+rsp] | |
3546 xor esi,ebp | |
3547 mov edi,ecx | |
3548 shld ecx,ecx,5 | |
3549 add ebx,esi | |
3550 xor edi,ebp | |
3551 shrd edx,edx,7 | |
3552 add ebx,ecx | |
3553 add eax,DWORD[60+rsp] | |
3554 xor edi,edx | |
3555 mov esi,ebx | |
3556 shld ebx,ebx,5 | |
3557 add eax,edi | |
3558 shrd ecx,ecx,7 | |
3559 add eax,ebx | |
3560 vzeroupper | |
3561 | |
3562 add eax,DWORD[r8] | |
3563 add esi,DWORD[4+r8] | |
3564 add ecx,DWORD[8+r8] | |
3565 mov DWORD[r8],eax | |
3566 add edx,DWORD[12+r8] | |
3567 mov DWORD[4+r8],esi | |
3568 add ebp,DWORD[16+r8] | |
3569 mov DWORD[8+r8],ecx | |
3570 mov DWORD[12+r8],edx | |
3571 mov DWORD[16+r8],ebp | |
3572 movaps xmm6,XMMWORD[((-40-96))+r11] | |
3573 movaps xmm7,XMMWORD[((-40-80))+r11] | |
3574 movaps xmm8,XMMWORD[((-40-64))+r11] | |
3575 movaps xmm9,XMMWORD[((-40-48))+r11] | |
3576 movaps xmm10,XMMWORD[((-40-32))+r11] | |
3577 movaps xmm11,XMMWORD[((-40-16))+r11] | |
3578 mov r14,QWORD[((-40))+r11] | |
3579 mov r13,QWORD[((-32))+r11] | |
3580 mov r12,QWORD[((-24))+r11] | |
3581 mov rbp,QWORD[((-16))+r11] | |
3582 mov rbx,QWORD[((-8))+r11] | |
3583 lea rsp,[r11] | |
3584 $L$epilogue_avx: | |
3585 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | |
3586 mov rsi,QWORD[16+rsp] | |
3587 DB 0F3h,0C3h ;repret | |
3588 $L$SEH_end_sha1_block_data_order_avx: | |
3589 ALIGN 64 | |
3590 K_XX_XX: | |
3591 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 | |
3592 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 | |
3593 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 | |
3594 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 | |
3595 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc | |
3596 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc | |
3597 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 | |
3598 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 | |
3599 DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f | |
3600 DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f | |
3601 DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 | |
3602 DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 | |
3603 DB 102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44 | |
3604 DB 32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60 | |
3605 DB 97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114 | |
3606 DB 103,62,0 | |
3607 ALIGN 64 | |
3608 EXTERN __imp_RtlVirtualUnwind | |
3609 | |
3610 ALIGN 16 | |
3611 se_handler: | |
3612 push rsi | |
3613 push rdi | |
3614 push rbx | |
3615 push rbp | |
3616 push r12 | |
3617 push r13 | |
3618 push r14 | |
3619 push r15 | |
3620 pushfq | |
3621 sub rsp,64 | |
3622 | |
3623 mov rax,QWORD[120+r8] | |
3624 mov rbx,QWORD[248+r8] | |
3625 | |
3626 lea r10,[$L$prologue] | |
3627 cmp rbx,r10 | |
3628 jb NEAR $L$common_seh_tail | |
3629 | |
3630 mov rax,QWORD[152+r8] | |
3631 | |
3632 lea r10,[$L$epilogue] | |
3633 cmp rbx,r10 | |
3634 jae NEAR $L$common_seh_tail | |
3635 | |
3636 mov rax,QWORD[64+rax] | |
3637 | |
3638 mov rbx,QWORD[((-8))+rax] | |
3639 mov rbp,QWORD[((-16))+rax] | |
3640 mov r12,QWORD[((-24))+rax] | |
3641 mov r13,QWORD[((-32))+rax] | |
3642 mov r14,QWORD[((-40))+rax] | |
3643 mov QWORD[144+r8],rbx | |
3644 mov QWORD[160+r8],rbp | |
3645 mov QWORD[216+r8],r12 | |
3646 mov QWORD[224+r8],r13 | |
3647 mov QWORD[232+r8],r14 | |
3648 | |
3649 jmp NEAR $L$common_seh_tail | |
3650 | |
3651 | |
3652 ALIGN 16 | |
3653 ssse3_handler: | |
3654 push rsi | |
3655 push rdi | |
3656 push rbx | |
3657 push rbp | |
3658 push r12 | |
3659 push r13 | |
3660 push r14 | |
3661 push r15 | |
3662 pushfq | |
3663 sub rsp,64 | |
3664 | |
3665 mov rax,QWORD[120+r8] | |
3666 mov rbx,QWORD[248+r8] | |
3667 | |
3668 mov rsi,QWORD[8+r9] | |
3669 mov r11,QWORD[56+r9] | |
3670 | |
3671 mov r10d,DWORD[r11] | |
3672 lea r10,[r10*1+rsi] | |
3673 cmp rbx,r10 | |
3674 jb NEAR $L$common_seh_tail | |
3675 | |
3676 mov rax,QWORD[208+r8] | |
3677 | |
3678 mov r10d,DWORD[4+r11] | |
3679 lea r10,[r10*1+rsi] | |
3680 cmp rbx,r10 | |
3681 jae NEAR $L$common_seh_tail | |
3682 | |
3683 lea rsi,[((-40-96))+rax] | |
3684 lea rdi,[512+r8] | |
3685 mov ecx,12 | |
3686 DD 0xa548f3fc | |
3687 | |
3688 mov rbx,QWORD[((-8))+rax] | |
3689 mov rbp,QWORD[((-16))+rax] | |
3690 mov r12,QWORD[((-24))+rax] | |
3691 mov r13,QWORD[((-32))+rax] | |
3692 mov r14,QWORD[((-40))+rax] | |
3693 mov QWORD[144+r8],rbx | |
3694 mov QWORD[160+r8],rbp | |
3695 mov QWORD[216+r8],r12 | |
3696 mov QWORD[224+r8],r13 | |
3697 mov QWORD[232+r8],r14 | |
3698 | |
3699 $L$common_seh_tail: | |
3700 mov rdi,QWORD[8+rax] | |
3701 mov rsi,QWORD[16+rax] | |
3702 mov QWORD[152+r8],rax | |
3703 mov QWORD[168+r8],rsi | |
3704 mov QWORD[176+r8],rdi | |
3705 | |
3706 mov rdi,QWORD[40+r9] | |
3707 mov rsi,r8 | |
3708 mov ecx,154 | |
3709 DD 0xa548f3fc | |
3710 | |
3711 mov rsi,r9 | |
3712 xor rcx,rcx | |
3713 mov rdx,QWORD[8+rsi] | |
3714 mov r8,QWORD[rsi] | |
3715 mov r9,QWORD[16+rsi] | |
3716 mov r10,QWORD[40+rsi] | |
3717 lea r11,[56+rsi] | |
3718 lea r12,[24+rsi] | |
3719 mov QWORD[32+rsp],r10 | |
3720 mov QWORD[40+rsp],r11 | |
3721 mov QWORD[48+rsp],r12 | |
3722 mov QWORD[56+rsp],rcx | |
3723 call QWORD[__imp_RtlVirtualUnwind] | |
3724 | |
3725 mov eax,1 | |
3726 add rsp,64 | |
3727 popfq | |
3728 pop r15 | |
3729 pop r14 | |
3730 pop r13 | |
3731 pop r12 | |
3732 pop rbp | |
3733 pop rbx | |
3734 pop rdi | |
3735 pop rsi | |
3736 DB 0F3h,0C3h ;repret | |
3737 | |
3738 | |
3739 section .pdata rdata align=4 | |
3740 ALIGN 4 | |
3741 DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase | |
3742 DD $L$SEH_end_sha1_block_data_order wrt ..imagebase | |
3743 DD $L$SEH_info_sha1_block_data_order wrt ..imagebase | |
3744 DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase | |
3745 DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase | |
3746 DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase | |
3747 DD $L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase | |
3748 DD $L$SEH_end_sha1_block_data_order_avx wrt ..imagebase | |
3749 DD $L$SEH_info_sha1_block_data_order_avx wrt ..imagebase | |
3750 section .xdata rdata align=8 | |
3751 ALIGN 8 | |
3752 $L$SEH_info_sha1_block_data_order: | |
3753 DB 9,0,0,0 | |
3754 DD se_handler wrt ..imagebase | |
3755 $L$SEH_info_sha1_block_data_order_ssse3: | |
3756 DB 9,0,0,0 | |
3757 DD ssse3_handler wrt ..imagebase | |
3758 DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imageb
ase | |
3759 $L$SEH_info_sha1_block_data_order_avx: | |
3760 DB 9,0,0,0 | |
3761 DD ssse3_handler wrt ..imagebase | |
3762 DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase | |
OLD | NEW |