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

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

Issue 377783004: Add BoringSSL GYP files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Final Python fix. Created 6 years, 5 months 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 OPTION DOTNAME
2 .text$ SEGMENT ALIGN(64) 'CODE'
3 EXTERN OPENSSL_ia32cap_P:NEAR
4
5 PUBLIC sha1_block_data_order
6
7 ALIGN 16
8 sha1_block_data_order PROC PUBLIC
9 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
10 mov QWORD PTR[16+rsp],rsi
11 mov rax,rsp
12 $L$SEH_begin_sha1_block_data_order::
13 mov rdi,rcx
14 mov rsi,rdx
15 mov rdx,r8
16
17
18 mov r9d,DWORD PTR[((OPENSSL_ia32cap_P+0))]
19 mov r8d,DWORD PTR[((OPENSSL_ia32cap_P+4))]
20 mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))]
21 test r8d,512
22 jz $L$ialu
23 jmp _ssse3_shortcut
24
25 ALIGN 16
26 $L$ialu::
27 mov rax,rsp
28 push rbx
29 push rbp
30 push r12
31 push r13
32 push r14
33 mov r8,rdi
34 sub rsp,72
35 mov r9,rsi
36 and rsp,-64
37 mov r10,rdx
38 mov QWORD PTR[64+rsp],rax
39 $L$prologue::
40
41 mov esi,DWORD PTR[r8]
42 mov edi,DWORD PTR[4+r8]
43 mov r11d,DWORD PTR[8+r8]
44 mov r12d,DWORD PTR[12+r8]
45 mov r13d,DWORD PTR[16+r8]
46 jmp $L$loop
47
48 ALIGN 16
49 $L$loop::
50 mov edx,DWORD PTR[r9]
51 bswap edx
52 mov ebp,DWORD PTR[4+r9]
53 mov eax,r12d
54 mov DWORD PTR[rsp],edx
55 mov ecx,esi
56 bswap ebp
57 xor eax,r11d
58 rol ecx,5
59 and eax,edi
60 lea r13d,DWORD PTR[1518500249+r13*1+rdx]
61 add r13d,ecx
62 xor eax,r12d
63 rol edi,30
64 add r13d,eax
65 mov r14d,DWORD PTR[8+r9]
66 mov eax,r11d
67 mov DWORD PTR[4+rsp],ebp
68 mov ecx,r13d
69 bswap r14d
70 xor eax,edi
71 rol ecx,5
72 and eax,esi
73 lea r12d,DWORD PTR[1518500249+r12*1+rbp]
74 add r12d,ecx
75 xor eax,r11d
76 rol esi,30
77 add r12d,eax
78 mov edx,DWORD PTR[12+r9]
79 mov eax,edi
80 mov DWORD PTR[8+rsp],r14d
81 mov ecx,r12d
82 bswap edx
83 xor eax,esi
84 rol ecx,5
85 and eax,r13d
86 lea r11d,DWORD PTR[1518500249+r11*1+r14]
87 add r11d,ecx
88 xor eax,edi
89 rol r13d,30
90 add r11d,eax
91 mov ebp,DWORD PTR[16+r9]
92 mov eax,esi
93 mov DWORD PTR[12+rsp],edx
94 mov ecx,r11d
95 bswap ebp
96 xor eax,r13d
97 rol ecx,5
98 and eax,r12d
99 lea edi,DWORD PTR[1518500249+rdi*1+rdx]
100 add edi,ecx
101 xor eax,esi
102 rol r12d,30
103 add edi,eax
104 mov r14d,DWORD PTR[20+r9]
105 mov eax,r13d
106 mov DWORD PTR[16+rsp],ebp
107 mov ecx,edi
108 bswap r14d
109 xor eax,r12d
110 rol ecx,5
111 and eax,r11d
112 lea esi,DWORD PTR[1518500249+rsi*1+rbp]
113 add esi,ecx
114 xor eax,r13d
115 rol r11d,30
116 add esi,eax
117 mov edx,DWORD PTR[24+r9]
118 mov eax,r12d
119 mov DWORD PTR[20+rsp],r14d
120 mov ecx,esi
121 bswap edx
122 xor eax,r11d
123 rol ecx,5
124 and eax,edi
125 lea r13d,DWORD PTR[1518500249+r13*1+r14]
126 add r13d,ecx
127 xor eax,r12d
128 rol edi,30
129 add r13d,eax
130 mov ebp,DWORD PTR[28+r9]
131 mov eax,r11d
132 mov DWORD PTR[24+rsp],edx
133 mov ecx,r13d
134 bswap ebp
135 xor eax,edi
136 rol ecx,5
137 and eax,esi
138 lea r12d,DWORD PTR[1518500249+r12*1+rdx]
139 add r12d,ecx
140 xor eax,r11d
141 rol esi,30
142 add r12d,eax
143 mov r14d,DWORD PTR[32+r9]
144 mov eax,edi
145 mov DWORD PTR[28+rsp],ebp
146 mov ecx,r12d
147 bswap r14d
148 xor eax,esi
149 rol ecx,5
150 and eax,r13d
151 lea r11d,DWORD PTR[1518500249+r11*1+rbp]
152 add r11d,ecx
153 xor eax,edi
154 rol r13d,30
155 add r11d,eax
156 mov edx,DWORD PTR[36+r9]
157 mov eax,esi
158 mov DWORD PTR[32+rsp],r14d
159 mov ecx,r11d
160 bswap edx
161 xor eax,r13d
162 rol ecx,5
163 and eax,r12d
164 lea edi,DWORD PTR[1518500249+rdi*1+r14]
165 add edi,ecx
166 xor eax,esi
167 rol r12d,30
168 add edi,eax
169 mov ebp,DWORD PTR[40+r9]
170 mov eax,r13d
171 mov DWORD PTR[36+rsp],edx
172 mov ecx,edi
173 bswap ebp
174 xor eax,r12d
175 rol ecx,5
176 and eax,r11d
177 lea esi,DWORD PTR[1518500249+rsi*1+rdx]
178 add esi,ecx
179 xor eax,r13d
180 rol r11d,30
181 add esi,eax
182 mov r14d,DWORD PTR[44+r9]
183 mov eax,r12d
184 mov DWORD PTR[40+rsp],ebp
185 mov ecx,esi
186 bswap r14d
187 xor eax,r11d
188 rol ecx,5
189 and eax,edi
190 lea r13d,DWORD PTR[1518500249+r13*1+rbp]
191 add r13d,ecx
192 xor eax,r12d
193 rol edi,30
194 add r13d,eax
195 mov edx,DWORD PTR[48+r9]
196 mov eax,r11d
197 mov DWORD PTR[44+rsp],r14d
198 mov ecx,r13d
199 bswap edx
200 xor eax,edi
201 rol ecx,5
202 and eax,esi
203 lea r12d,DWORD PTR[1518500249+r12*1+r14]
204 add r12d,ecx
205 xor eax,r11d
206 rol esi,30
207 add r12d,eax
208 mov ebp,DWORD PTR[52+r9]
209 mov eax,edi
210 mov DWORD PTR[48+rsp],edx
211 mov ecx,r12d
212 bswap ebp
213 xor eax,esi
214 rol ecx,5
215 and eax,r13d
216 lea r11d,DWORD PTR[1518500249+r11*1+rdx]
217 add r11d,ecx
218 xor eax,edi
219 rol r13d,30
220 add r11d,eax
221 mov r14d,DWORD PTR[56+r9]
222 mov eax,esi
223 mov DWORD PTR[52+rsp],ebp
224 mov ecx,r11d
225 bswap r14d
226 xor eax,r13d
227 rol ecx,5
228 and eax,r12d
229 lea edi,DWORD PTR[1518500249+rdi*1+rbp]
230 add edi,ecx
231 xor eax,esi
232 rol r12d,30
233 add edi,eax
234 mov edx,DWORD PTR[60+r9]
235 mov eax,r13d
236 mov DWORD PTR[56+rsp],r14d
237 mov ecx,edi
238 bswap edx
239 xor eax,r12d
240 rol ecx,5
241 and eax,r11d
242 lea esi,DWORD PTR[1518500249+rsi*1+r14]
243 add esi,ecx
244 xor eax,r13d
245 rol r11d,30
246 add esi,eax
247 xor ebp,DWORD PTR[rsp]
248 mov eax,r12d
249 mov DWORD PTR[60+rsp],edx
250 mov ecx,esi
251 xor ebp,DWORD PTR[8+rsp]
252 xor eax,r11d
253 rol ecx,5
254 xor ebp,DWORD PTR[32+rsp]
255 and eax,edi
256 lea r13d,DWORD PTR[1518500249+r13*1+rdx]
257 rol edi,30
258 xor eax,r12d
259 add r13d,ecx
260 rol ebp,1
261 add r13d,eax
262 xor r14d,DWORD PTR[4+rsp]
263 mov eax,r11d
264 mov DWORD PTR[rsp],ebp
265 mov ecx,r13d
266 xor r14d,DWORD PTR[12+rsp]
267 xor eax,edi
268 rol ecx,5
269 xor r14d,DWORD PTR[36+rsp]
270 and eax,esi
271 lea r12d,DWORD PTR[1518500249+r12*1+rbp]
272 rol esi,30
273 xor eax,r11d
274 add r12d,ecx
275 rol r14d,1
276 add r12d,eax
277 xor edx,DWORD PTR[8+rsp]
278 mov eax,edi
279 mov DWORD PTR[4+rsp],r14d
280 mov ecx,r12d
281 xor edx,DWORD PTR[16+rsp]
282 xor eax,esi
283 rol ecx,5
284 xor edx,DWORD PTR[40+rsp]
285 and eax,r13d
286 lea r11d,DWORD PTR[1518500249+r11*1+r14]
287 rol r13d,30
288 xor eax,edi
289 add r11d,ecx
290 rol edx,1
291 add r11d,eax
292 xor ebp,DWORD PTR[12+rsp]
293 mov eax,esi
294 mov DWORD PTR[8+rsp],edx
295 mov ecx,r11d
296 xor ebp,DWORD PTR[20+rsp]
297 xor eax,r13d
298 rol ecx,5
299 xor ebp,DWORD PTR[44+rsp]
300 and eax,r12d
301 lea edi,DWORD PTR[1518500249+rdi*1+rdx]
302 rol r12d,30
303 xor eax,esi
304 add edi,ecx
305 rol ebp,1
306 add edi,eax
307 xor r14d,DWORD PTR[16+rsp]
308 mov eax,r13d
309 mov DWORD PTR[12+rsp],ebp
310 mov ecx,edi
311 xor r14d,DWORD PTR[24+rsp]
312 xor eax,r12d
313 rol ecx,5
314 xor r14d,DWORD PTR[48+rsp]
315 and eax,r11d
316 lea esi,DWORD PTR[1518500249+rsi*1+rbp]
317 rol r11d,30
318 xor eax,r13d
319 add esi,ecx
320 rol r14d,1
321 add esi,eax
322 xor edx,DWORD PTR[20+rsp]
323 mov eax,edi
324 mov DWORD PTR[16+rsp],r14d
325 mov ecx,esi
326 xor edx,DWORD PTR[28+rsp]
327 xor eax,r12d
328 rol ecx,5
329 xor edx,DWORD PTR[52+rsp]
330 lea r13d,DWORD PTR[1859775393+r13*1+r14]
331 xor eax,r11d
332 add r13d,ecx
333 rol edi,30
334 add r13d,eax
335 rol edx,1
336 xor ebp,DWORD PTR[24+rsp]
337 mov eax,esi
338 mov DWORD PTR[20+rsp],edx
339 mov ecx,r13d
340 xor ebp,DWORD PTR[32+rsp]
341 xor eax,r11d
342 rol ecx,5
343 xor ebp,DWORD PTR[56+rsp]
344 lea r12d,DWORD PTR[1859775393+r12*1+rdx]
345 xor eax,edi
346 add r12d,ecx
347 rol esi,30
348 add r12d,eax
349 rol ebp,1
350 xor r14d,DWORD PTR[28+rsp]
351 mov eax,r13d
352 mov DWORD PTR[24+rsp],ebp
353 mov ecx,r12d
354 xor r14d,DWORD PTR[36+rsp]
355 xor eax,edi
356 rol ecx,5
357 xor r14d,DWORD PTR[60+rsp]
358 lea r11d,DWORD PTR[1859775393+r11*1+rbp]
359 xor eax,esi
360 add r11d,ecx
361 rol r13d,30
362 add r11d,eax
363 rol r14d,1
364 xor edx,DWORD PTR[32+rsp]
365 mov eax,r12d
366 mov DWORD PTR[28+rsp],r14d
367 mov ecx,r11d
368 xor edx,DWORD PTR[40+rsp]
369 xor eax,esi
370 rol ecx,5
371 xor edx,DWORD PTR[rsp]
372 lea edi,DWORD PTR[1859775393+rdi*1+r14]
373 xor eax,r13d
374 add edi,ecx
375 rol r12d,30
376 add edi,eax
377 rol edx,1
378 xor ebp,DWORD PTR[36+rsp]
379 mov eax,r11d
380 mov DWORD PTR[32+rsp],edx
381 mov ecx,edi
382 xor ebp,DWORD PTR[44+rsp]
383 xor eax,r13d
384 rol ecx,5
385 xor ebp,DWORD PTR[4+rsp]
386 lea esi,DWORD PTR[1859775393+rsi*1+rdx]
387 xor eax,r12d
388 add esi,ecx
389 rol r11d,30
390 add esi,eax
391 rol ebp,1
392 xor r14d,DWORD PTR[40+rsp]
393 mov eax,edi
394 mov DWORD PTR[36+rsp],ebp
395 mov ecx,esi
396 xor r14d,DWORD PTR[48+rsp]
397 xor eax,r12d
398 rol ecx,5
399 xor r14d,DWORD PTR[8+rsp]
400 lea r13d,DWORD PTR[1859775393+r13*1+rbp]
401 xor eax,r11d
402 add r13d,ecx
403 rol edi,30
404 add r13d,eax
405 rol r14d,1
406 xor edx,DWORD PTR[44+rsp]
407 mov eax,esi
408 mov DWORD PTR[40+rsp],r14d
409 mov ecx,r13d
410 xor edx,DWORD PTR[52+rsp]
411 xor eax,r11d
412 rol ecx,5
413 xor edx,DWORD PTR[12+rsp]
414 lea r12d,DWORD PTR[1859775393+r12*1+r14]
415 xor eax,edi
416 add r12d,ecx
417 rol esi,30
418 add r12d,eax
419 rol edx,1
420 xor ebp,DWORD PTR[48+rsp]
421 mov eax,r13d
422 mov DWORD PTR[44+rsp],edx
423 mov ecx,r12d
424 xor ebp,DWORD PTR[56+rsp]
425 xor eax,edi
426 rol ecx,5
427 xor ebp,DWORD PTR[16+rsp]
428 lea r11d,DWORD PTR[1859775393+r11*1+rdx]
429 xor eax,esi
430 add r11d,ecx
431 rol r13d,30
432 add r11d,eax
433 rol ebp,1
434 xor r14d,DWORD PTR[52+rsp]
435 mov eax,r12d
436 mov DWORD PTR[48+rsp],ebp
437 mov ecx,r11d
438 xor r14d,DWORD PTR[60+rsp]
439 xor eax,esi
440 rol ecx,5
441 xor r14d,DWORD PTR[20+rsp]
442 lea edi,DWORD PTR[1859775393+rdi*1+rbp]
443 xor eax,r13d
444 add edi,ecx
445 rol r12d,30
446 add edi,eax
447 rol r14d,1
448 xor edx,DWORD PTR[56+rsp]
449 mov eax,r11d
450 mov DWORD PTR[52+rsp],r14d
451 mov ecx,edi
452 xor edx,DWORD PTR[rsp]
453 xor eax,r13d
454 rol ecx,5
455 xor edx,DWORD PTR[24+rsp]
456 lea esi,DWORD PTR[1859775393+rsi*1+r14]
457 xor eax,r12d
458 add esi,ecx
459 rol r11d,30
460 add esi,eax
461 rol edx,1
462 xor ebp,DWORD PTR[60+rsp]
463 mov eax,edi
464 mov DWORD PTR[56+rsp],edx
465 mov ecx,esi
466 xor ebp,DWORD PTR[4+rsp]
467 xor eax,r12d
468 rol ecx,5
469 xor ebp,DWORD PTR[28+rsp]
470 lea r13d,DWORD PTR[1859775393+r13*1+rdx]
471 xor eax,r11d
472 add r13d,ecx
473 rol edi,30
474 add r13d,eax
475 rol ebp,1
476 xor r14d,DWORD PTR[rsp]
477 mov eax,esi
478 mov DWORD PTR[60+rsp],ebp
479 mov ecx,r13d
480 xor r14d,DWORD PTR[8+rsp]
481 xor eax,r11d
482 rol ecx,5
483 xor r14d,DWORD PTR[32+rsp]
484 lea r12d,DWORD PTR[1859775393+r12*1+rbp]
485 xor eax,edi
486 add r12d,ecx
487 rol esi,30
488 add r12d,eax
489 rol r14d,1
490 xor edx,DWORD PTR[4+rsp]
491 mov eax,r13d
492 mov DWORD PTR[rsp],r14d
493 mov ecx,r12d
494 xor edx,DWORD PTR[12+rsp]
495 xor eax,edi
496 rol ecx,5
497 xor edx,DWORD PTR[36+rsp]
498 lea r11d,DWORD PTR[1859775393+r11*1+r14]
499 xor eax,esi
500 add r11d,ecx
501 rol r13d,30
502 add r11d,eax
503 rol edx,1
504 xor ebp,DWORD PTR[8+rsp]
505 mov eax,r12d
506 mov DWORD PTR[4+rsp],edx
507 mov ecx,r11d
508 xor ebp,DWORD PTR[16+rsp]
509 xor eax,esi
510 rol ecx,5
511 xor ebp,DWORD PTR[40+rsp]
512 lea edi,DWORD PTR[1859775393+rdi*1+rdx]
513 xor eax,r13d
514 add edi,ecx
515 rol r12d,30
516 add edi,eax
517 rol ebp,1
518 xor r14d,DWORD PTR[12+rsp]
519 mov eax,r11d
520 mov DWORD PTR[8+rsp],ebp
521 mov ecx,edi
522 xor r14d,DWORD PTR[20+rsp]
523 xor eax,r13d
524 rol ecx,5
525 xor r14d,DWORD PTR[44+rsp]
526 lea esi,DWORD PTR[1859775393+rsi*1+rbp]
527 xor eax,r12d
528 add esi,ecx
529 rol r11d,30
530 add esi,eax
531 rol r14d,1
532 xor edx,DWORD PTR[16+rsp]
533 mov eax,edi
534 mov DWORD PTR[12+rsp],r14d
535 mov ecx,esi
536 xor edx,DWORD PTR[24+rsp]
537 xor eax,r12d
538 rol ecx,5
539 xor edx,DWORD PTR[48+rsp]
540 lea r13d,DWORD PTR[1859775393+r13*1+r14]
541 xor eax,r11d
542 add r13d,ecx
543 rol edi,30
544 add r13d,eax
545 rol edx,1
546 xor ebp,DWORD PTR[20+rsp]
547 mov eax,esi
548 mov DWORD PTR[16+rsp],edx
549 mov ecx,r13d
550 xor ebp,DWORD PTR[28+rsp]
551 xor eax,r11d
552 rol ecx,5
553 xor ebp,DWORD PTR[52+rsp]
554 lea r12d,DWORD PTR[1859775393+r12*1+rdx]
555 xor eax,edi
556 add r12d,ecx
557 rol esi,30
558 add r12d,eax
559 rol ebp,1
560 xor r14d,DWORD PTR[24+rsp]
561 mov eax,r13d
562 mov DWORD PTR[20+rsp],ebp
563 mov ecx,r12d
564 xor r14d,DWORD PTR[32+rsp]
565 xor eax,edi
566 rol ecx,5
567 xor r14d,DWORD PTR[56+rsp]
568 lea r11d,DWORD PTR[1859775393+r11*1+rbp]
569 xor eax,esi
570 add r11d,ecx
571 rol r13d,30
572 add r11d,eax
573 rol r14d,1
574 xor edx,DWORD PTR[28+rsp]
575 mov eax,r12d
576 mov DWORD PTR[24+rsp],r14d
577 mov ecx,r11d
578 xor edx,DWORD PTR[36+rsp]
579 xor eax,esi
580 rol ecx,5
581 xor edx,DWORD PTR[60+rsp]
582 lea edi,DWORD PTR[1859775393+rdi*1+r14]
583 xor eax,r13d
584 add edi,ecx
585 rol r12d,30
586 add edi,eax
587 rol edx,1
588 xor ebp,DWORD PTR[32+rsp]
589 mov eax,r11d
590 mov DWORD PTR[28+rsp],edx
591 mov ecx,edi
592 xor ebp,DWORD PTR[40+rsp]
593 xor eax,r13d
594 rol ecx,5
595 xor ebp,DWORD PTR[rsp]
596 lea esi,DWORD PTR[1859775393+rsi*1+rdx]
597 xor eax,r12d
598 add esi,ecx
599 rol r11d,30
600 add esi,eax
601 rol ebp,1
602 xor r14d,DWORD PTR[36+rsp]
603 mov eax,r12d
604 mov DWORD PTR[32+rsp],ebp
605 mov ebx,r12d
606 xor r14d,DWORD PTR[44+rsp]
607 and eax,r11d
608 mov ecx,esi
609 xor r14d,DWORD PTR[4+rsp]
610 lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp]
611 xor ebx,r11d
612 rol ecx,5
613 add r13d,eax
614 rol r14d,1
615 and ebx,edi
616 add r13d,ecx
617 rol edi,30
618 add r13d,ebx
619 xor edx,DWORD PTR[40+rsp]
620 mov eax,r11d
621 mov DWORD PTR[36+rsp],r14d
622 mov ebx,r11d
623 xor edx,DWORD PTR[48+rsp]
624 and eax,edi
625 mov ecx,r13d
626 xor edx,DWORD PTR[8+rsp]
627 lea r12d,DWORD PTR[((-1894007588))+r12*1+r14]
628 xor ebx,edi
629 rol ecx,5
630 add r12d,eax
631 rol edx,1
632 and ebx,esi
633 add r12d,ecx
634 rol esi,30
635 add r12d,ebx
636 xor ebp,DWORD PTR[44+rsp]
637 mov eax,edi
638 mov DWORD PTR[40+rsp],edx
639 mov ebx,edi
640 xor ebp,DWORD PTR[52+rsp]
641 and eax,esi
642 mov ecx,r12d
643 xor ebp,DWORD PTR[12+rsp]
644 lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx]
645 xor ebx,esi
646 rol ecx,5
647 add r11d,eax
648 rol ebp,1
649 and ebx,r13d
650 add r11d,ecx
651 rol r13d,30
652 add r11d,ebx
653 xor r14d,DWORD PTR[48+rsp]
654 mov eax,esi
655 mov DWORD PTR[44+rsp],ebp
656 mov ebx,esi
657 xor r14d,DWORD PTR[56+rsp]
658 and eax,r13d
659 mov ecx,r11d
660 xor r14d,DWORD PTR[16+rsp]
661 lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp]
662 xor ebx,r13d
663 rol ecx,5
664 add edi,eax
665 rol r14d,1
666 and ebx,r12d
667 add edi,ecx
668 rol r12d,30
669 add edi,ebx
670 xor edx,DWORD PTR[52+rsp]
671 mov eax,r13d
672 mov DWORD PTR[48+rsp],r14d
673 mov ebx,r13d
674 xor edx,DWORD PTR[60+rsp]
675 and eax,r12d
676 mov ecx,edi
677 xor edx,DWORD PTR[20+rsp]
678 lea esi,DWORD PTR[((-1894007588))+rsi*1+r14]
679 xor ebx,r12d
680 rol ecx,5
681 add esi,eax
682 rol edx,1
683 and ebx,r11d
684 add esi,ecx
685 rol r11d,30
686 add esi,ebx
687 xor ebp,DWORD PTR[56+rsp]
688 mov eax,r12d
689 mov DWORD PTR[52+rsp],edx
690 mov ebx,r12d
691 xor ebp,DWORD PTR[rsp]
692 and eax,r11d
693 mov ecx,esi
694 xor ebp,DWORD PTR[24+rsp]
695 lea r13d,DWORD PTR[((-1894007588))+r13*1+rdx]
696 xor ebx,r11d
697 rol ecx,5
698 add r13d,eax
699 rol ebp,1
700 and ebx,edi
701 add r13d,ecx
702 rol edi,30
703 add r13d,ebx
704 xor r14d,DWORD PTR[60+rsp]
705 mov eax,r11d
706 mov DWORD PTR[56+rsp],ebp
707 mov ebx,r11d
708 xor r14d,DWORD PTR[4+rsp]
709 and eax,edi
710 mov ecx,r13d
711 xor r14d,DWORD PTR[28+rsp]
712 lea r12d,DWORD PTR[((-1894007588))+r12*1+rbp]
713 xor ebx,edi
714 rol ecx,5
715 add r12d,eax
716 rol r14d,1
717 and ebx,esi
718 add r12d,ecx
719 rol esi,30
720 add r12d,ebx
721 xor edx,DWORD PTR[rsp]
722 mov eax,edi
723 mov DWORD PTR[60+rsp],r14d
724 mov ebx,edi
725 xor edx,DWORD PTR[8+rsp]
726 and eax,esi
727 mov ecx,r12d
728 xor edx,DWORD PTR[32+rsp]
729 lea r11d,DWORD PTR[((-1894007588))+r11*1+r14]
730 xor ebx,esi
731 rol ecx,5
732 add r11d,eax
733 rol edx,1
734 and ebx,r13d
735 add r11d,ecx
736 rol r13d,30
737 add r11d,ebx
738 xor ebp,DWORD PTR[4+rsp]
739 mov eax,esi
740 mov DWORD PTR[rsp],edx
741 mov ebx,esi
742 xor ebp,DWORD PTR[12+rsp]
743 and eax,r13d
744 mov ecx,r11d
745 xor ebp,DWORD PTR[36+rsp]
746 lea edi,DWORD PTR[((-1894007588))+rdi*1+rdx]
747 xor ebx,r13d
748 rol ecx,5
749 add edi,eax
750 rol ebp,1
751 and ebx,r12d
752 add edi,ecx
753 rol r12d,30
754 add edi,ebx
755 xor r14d,DWORD PTR[8+rsp]
756 mov eax,r13d
757 mov DWORD PTR[4+rsp],ebp
758 mov ebx,r13d
759 xor r14d,DWORD PTR[16+rsp]
760 and eax,r12d
761 mov ecx,edi
762 xor r14d,DWORD PTR[40+rsp]
763 lea esi,DWORD PTR[((-1894007588))+rsi*1+rbp]
764 xor ebx,r12d
765 rol ecx,5
766 add esi,eax
767 rol r14d,1
768 and ebx,r11d
769 add esi,ecx
770 rol r11d,30
771 add esi,ebx
772 xor edx,DWORD PTR[12+rsp]
773 mov eax,r12d
774 mov DWORD PTR[8+rsp],r14d
775 mov ebx,r12d
776 xor edx,DWORD PTR[20+rsp]
777 and eax,r11d
778 mov ecx,esi
779 xor edx,DWORD PTR[44+rsp]
780 lea r13d,DWORD PTR[((-1894007588))+r13*1+r14]
781 xor ebx,r11d
782 rol ecx,5
783 add r13d,eax
784 rol edx,1
785 and ebx,edi
786 add r13d,ecx
787 rol edi,30
788 add r13d,ebx
789 xor ebp,DWORD PTR[16+rsp]
790 mov eax,r11d
791 mov DWORD PTR[12+rsp],edx
792 mov ebx,r11d
793 xor ebp,DWORD PTR[24+rsp]
794 and eax,edi
795 mov ecx,r13d
796 xor ebp,DWORD PTR[48+rsp]
797 lea r12d,DWORD PTR[((-1894007588))+r12*1+rdx]
798 xor ebx,edi
799 rol ecx,5
800 add r12d,eax
801 rol ebp,1
802 and ebx,esi
803 add r12d,ecx
804 rol esi,30
805 add r12d,ebx
806 xor r14d,DWORD PTR[20+rsp]
807 mov eax,edi
808 mov DWORD PTR[16+rsp],ebp
809 mov ebx,edi
810 xor r14d,DWORD PTR[28+rsp]
811 and eax,esi
812 mov ecx,r12d
813 xor r14d,DWORD PTR[52+rsp]
814 lea r11d,DWORD PTR[((-1894007588))+r11*1+rbp]
815 xor ebx,esi
816 rol ecx,5
817 add r11d,eax
818 rol r14d,1
819 and ebx,r13d
820 add r11d,ecx
821 rol r13d,30
822 add r11d,ebx
823 xor edx,DWORD PTR[24+rsp]
824 mov eax,esi
825 mov DWORD PTR[20+rsp],r14d
826 mov ebx,esi
827 xor edx,DWORD PTR[32+rsp]
828 and eax,r13d
829 mov ecx,r11d
830 xor edx,DWORD PTR[56+rsp]
831 lea edi,DWORD PTR[((-1894007588))+rdi*1+r14]
832 xor ebx,r13d
833 rol ecx,5
834 add edi,eax
835 rol edx,1
836 and ebx,r12d
837 add edi,ecx
838 rol r12d,30
839 add edi,ebx
840 xor ebp,DWORD PTR[28+rsp]
841 mov eax,r13d
842 mov DWORD PTR[24+rsp],edx
843 mov ebx,r13d
844 xor ebp,DWORD PTR[36+rsp]
845 and eax,r12d
846 mov ecx,edi
847 xor ebp,DWORD PTR[60+rsp]
848 lea esi,DWORD PTR[((-1894007588))+rsi*1+rdx]
849 xor ebx,r12d
850 rol ecx,5
851 add esi,eax
852 rol ebp,1
853 and ebx,r11d
854 add esi,ecx
855 rol r11d,30
856 add esi,ebx
857 xor r14d,DWORD PTR[32+rsp]
858 mov eax,r12d
859 mov DWORD PTR[28+rsp],ebp
860 mov ebx,r12d
861 xor r14d,DWORD PTR[40+rsp]
862 and eax,r11d
863 mov ecx,esi
864 xor r14d,DWORD PTR[rsp]
865 lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp]
866 xor ebx,r11d
867 rol ecx,5
868 add r13d,eax
869 rol r14d,1
870 and ebx,edi
871 add r13d,ecx
872 rol edi,30
873 add r13d,ebx
874 xor edx,DWORD PTR[36+rsp]
875 mov eax,r11d
876 mov DWORD PTR[32+rsp],r14d
877 mov ebx,r11d
878 xor edx,DWORD PTR[44+rsp]
879 and eax,edi
880 mov ecx,r13d
881 xor edx,DWORD PTR[4+rsp]
882 lea r12d,DWORD PTR[((-1894007588))+r12*1+r14]
883 xor ebx,edi
884 rol ecx,5
885 add r12d,eax
886 rol edx,1
887 and ebx,esi
888 add r12d,ecx
889 rol esi,30
890 add r12d,ebx
891 xor ebp,DWORD PTR[40+rsp]
892 mov eax,edi
893 mov DWORD PTR[36+rsp],edx
894 mov ebx,edi
895 xor ebp,DWORD PTR[48+rsp]
896 and eax,esi
897 mov ecx,r12d
898 xor ebp,DWORD PTR[8+rsp]
899 lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx]
900 xor ebx,esi
901 rol ecx,5
902 add r11d,eax
903 rol ebp,1
904 and ebx,r13d
905 add r11d,ecx
906 rol r13d,30
907 add r11d,ebx
908 xor r14d,DWORD PTR[44+rsp]
909 mov eax,esi
910 mov DWORD PTR[40+rsp],ebp
911 mov ebx,esi
912 xor r14d,DWORD PTR[52+rsp]
913 and eax,r13d
914 mov ecx,r11d
915 xor r14d,DWORD PTR[12+rsp]
916 lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp]
917 xor ebx,r13d
918 rol ecx,5
919 add edi,eax
920 rol r14d,1
921 and ebx,r12d
922 add edi,ecx
923 rol r12d,30
924 add edi,ebx
925 xor edx,DWORD PTR[48+rsp]
926 mov eax,r13d
927 mov DWORD PTR[44+rsp],r14d
928 mov ebx,r13d
929 xor edx,DWORD PTR[56+rsp]
930 and eax,r12d
931 mov ecx,edi
932 xor edx,DWORD PTR[16+rsp]
933 lea esi,DWORD PTR[((-1894007588))+rsi*1+r14]
934 xor ebx,r12d
935 rol ecx,5
936 add esi,eax
937 rol edx,1
938 and ebx,r11d
939 add esi,ecx
940 rol r11d,30
941 add esi,ebx
942 xor ebp,DWORD PTR[52+rsp]
943 mov eax,edi
944 mov DWORD PTR[48+rsp],edx
945 mov ecx,esi
946 xor ebp,DWORD PTR[60+rsp]
947 xor eax,r12d
948 rol ecx,5
949 xor ebp,DWORD PTR[20+rsp]
950 lea r13d,DWORD PTR[((-899497514))+r13*1+rdx]
951 xor eax,r11d
952 add r13d,ecx
953 rol edi,30
954 add r13d,eax
955 rol ebp,1
956 xor r14d,DWORD PTR[56+rsp]
957 mov eax,esi
958 mov DWORD PTR[52+rsp],ebp
959 mov ecx,r13d
960 xor r14d,DWORD PTR[rsp]
961 xor eax,r11d
962 rol ecx,5
963 xor r14d,DWORD PTR[24+rsp]
964 lea r12d,DWORD PTR[((-899497514))+r12*1+rbp]
965 xor eax,edi
966 add r12d,ecx
967 rol esi,30
968 add r12d,eax
969 rol r14d,1
970 xor edx,DWORD PTR[60+rsp]
971 mov eax,r13d
972 mov DWORD PTR[56+rsp],r14d
973 mov ecx,r12d
974 xor edx,DWORD PTR[4+rsp]
975 xor eax,edi
976 rol ecx,5
977 xor edx,DWORD PTR[28+rsp]
978 lea r11d,DWORD PTR[((-899497514))+r11*1+r14]
979 xor eax,esi
980 add r11d,ecx
981 rol r13d,30
982 add r11d,eax
983 rol edx,1
984 xor ebp,DWORD PTR[rsp]
985 mov eax,r12d
986 mov DWORD PTR[60+rsp],edx
987 mov ecx,r11d
988 xor ebp,DWORD PTR[8+rsp]
989 xor eax,esi
990 rol ecx,5
991 xor ebp,DWORD PTR[32+rsp]
992 lea edi,DWORD PTR[((-899497514))+rdi*1+rdx]
993 xor eax,r13d
994 add edi,ecx
995 rol r12d,30
996 add edi,eax
997 rol ebp,1
998 xor r14d,DWORD PTR[4+rsp]
999 mov eax,r11d
1000 mov DWORD PTR[rsp],ebp
1001 mov ecx,edi
1002 xor r14d,DWORD PTR[12+rsp]
1003 xor eax,r13d
1004 rol ecx,5
1005 xor r14d,DWORD PTR[36+rsp]
1006 lea esi,DWORD PTR[((-899497514))+rsi*1+rbp]
1007 xor eax,r12d
1008 add esi,ecx
1009 rol r11d,30
1010 add esi,eax
1011 rol r14d,1
1012 xor edx,DWORD PTR[8+rsp]
1013 mov eax,edi
1014 mov DWORD PTR[4+rsp],r14d
1015 mov ecx,esi
1016 xor edx,DWORD PTR[16+rsp]
1017 xor eax,r12d
1018 rol ecx,5
1019 xor edx,DWORD PTR[40+rsp]
1020 lea r13d,DWORD PTR[((-899497514))+r13*1+r14]
1021 xor eax,r11d
1022 add r13d,ecx
1023 rol edi,30
1024 add r13d,eax
1025 rol edx,1
1026 xor ebp,DWORD PTR[12+rsp]
1027 mov eax,esi
1028 mov DWORD PTR[8+rsp],edx
1029 mov ecx,r13d
1030 xor ebp,DWORD PTR[20+rsp]
1031 xor eax,r11d
1032 rol ecx,5
1033 xor ebp,DWORD PTR[44+rsp]
1034 lea r12d,DWORD PTR[((-899497514))+r12*1+rdx]
1035 xor eax,edi
1036 add r12d,ecx
1037 rol esi,30
1038 add r12d,eax
1039 rol ebp,1
1040 xor r14d,DWORD PTR[16+rsp]
1041 mov eax,r13d
1042 mov DWORD PTR[12+rsp],ebp
1043 mov ecx,r12d
1044 xor r14d,DWORD PTR[24+rsp]
1045 xor eax,edi
1046 rol ecx,5
1047 xor r14d,DWORD PTR[48+rsp]
1048 lea r11d,DWORD PTR[((-899497514))+r11*1+rbp]
1049 xor eax,esi
1050 add r11d,ecx
1051 rol r13d,30
1052 add r11d,eax
1053 rol r14d,1
1054 xor edx,DWORD PTR[20+rsp]
1055 mov eax,r12d
1056 mov DWORD PTR[16+rsp],r14d
1057 mov ecx,r11d
1058 xor edx,DWORD PTR[28+rsp]
1059 xor eax,esi
1060 rol ecx,5
1061 xor edx,DWORD PTR[52+rsp]
1062 lea edi,DWORD PTR[((-899497514))+rdi*1+r14]
1063 xor eax,r13d
1064 add edi,ecx
1065 rol r12d,30
1066 add edi,eax
1067 rol edx,1
1068 xor ebp,DWORD PTR[24+rsp]
1069 mov eax,r11d
1070 mov DWORD PTR[20+rsp],edx
1071 mov ecx,edi
1072 xor ebp,DWORD PTR[32+rsp]
1073 xor eax,r13d
1074 rol ecx,5
1075 xor ebp,DWORD PTR[56+rsp]
1076 lea esi,DWORD PTR[((-899497514))+rsi*1+rdx]
1077 xor eax,r12d
1078 add esi,ecx
1079 rol r11d,30
1080 add esi,eax
1081 rol ebp,1
1082 xor r14d,DWORD PTR[28+rsp]
1083 mov eax,edi
1084 mov DWORD PTR[24+rsp],ebp
1085 mov ecx,esi
1086 xor r14d,DWORD PTR[36+rsp]
1087 xor eax,r12d
1088 rol ecx,5
1089 xor r14d,DWORD PTR[60+rsp]
1090 lea r13d,DWORD PTR[((-899497514))+r13*1+rbp]
1091 xor eax,r11d
1092 add r13d,ecx
1093 rol edi,30
1094 add r13d,eax
1095 rol r14d,1
1096 xor edx,DWORD PTR[32+rsp]
1097 mov eax,esi
1098 mov DWORD PTR[28+rsp],r14d
1099 mov ecx,r13d
1100 xor edx,DWORD PTR[40+rsp]
1101 xor eax,r11d
1102 rol ecx,5
1103 xor edx,DWORD PTR[rsp]
1104 lea r12d,DWORD PTR[((-899497514))+r12*1+r14]
1105 xor eax,edi
1106 add r12d,ecx
1107 rol esi,30
1108 add r12d,eax
1109 rol edx,1
1110 xor ebp,DWORD PTR[36+rsp]
1111 mov eax,r13d
1112
1113 mov ecx,r12d
1114 xor ebp,DWORD PTR[44+rsp]
1115 xor eax,edi
1116 rol ecx,5
1117 xor ebp,DWORD PTR[4+rsp]
1118 lea r11d,DWORD PTR[((-899497514))+r11*1+rdx]
1119 xor eax,esi
1120 add r11d,ecx
1121 rol r13d,30
1122 add r11d,eax
1123 rol ebp,1
1124 xor r14d,DWORD PTR[40+rsp]
1125 mov eax,r12d
1126
1127 mov ecx,r11d
1128 xor r14d,DWORD PTR[48+rsp]
1129 xor eax,esi
1130 rol ecx,5
1131 xor r14d,DWORD PTR[8+rsp]
1132 lea edi,DWORD PTR[((-899497514))+rdi*1+rbp]
1133 xor eax,r13d
1134 add edi,ecx
1135 rol r12d,30
1136 add edi,eax
1137 rol r14d,1
1138 xor edx,DWORD PTR[44+rsp]
1139 mov eax,r11d
1140
1141 mov ecx,edi
1142 xor edx,DWORD PTR[52+rsp]
1143 xor eax,r13d
1144 rol ecx,5
1145 xor edx,DWORD PTR[12+rsp]
1146 lea esi,DWORD PTR[((-899497514))+rsi*1+r14]
1147 xor eax,r12d
1148 add esi,ecx
1149 rol r11d,30
1150 add esi,eax
1151 rol edx,1
1152 xor ebp,DWORD PTR[48+rsp]
1153 mov eax,edi
1154
1155 mov ecx,esi
1156 xor ebp,DWORD PTR[56+rsp]
1157 xor eax,r12d
1158 rol ecx,5
1159 xor ebp,DWORD PTR[16+rsp]
1160 lea r13d,DWORD PTR[((-899497514))+r13*1+rdx]
1161 xor eax,r11d
1162 add r13d,ecx
1163 rol edi,30
1164 add r13d,eax
1165 rol ebp,1
1166 xor r14d,DWORD PTR[52+rsp]
1167 mov eax,esi
1168
1169 mov ecx,r13d
1170 xor r14d,DWORD PTR[60+rsp]
1171 xor eax,r11d
1172 rol ecx,5
1173 xor r14d,DWORD PTR[20+rsp]
1174 lea r12d,DWORD PTR[((-899497514))+r12*1+rbp]
1175 xor eax,edi
1176 add r12d,ecx
1177 rol esi,30
1178 add r12d,eax
1179 rol r14d,1
1180 xor edx,DWORD PTR[56+rsp]
1181 mov eax,r13d
1182
1183 mov ecx,r12d
1184 xor edx,DWORD PTR[rsp]
1185 xor eax,edi
1186 rol ecx,5
1187 xor edx,DWORD PTR[24+rsp]
1188 lea r11d,DWORD PTR[((-899497514))+r11*1+r14]
1189 xor eax,esi
1190 add r11d,ecx
1191 rol r13d,30
1192 add r11d,eax
1193 rol edx,1
1194 xor ebp,DWORD PTR[60+rsp]
1195 mov eax,r12d
1196
1197 mov ecx,r11d
1198 xor ebp,DWORD PTR[4+rsp]
1199 xor eax,esi
1200 rol ecx,5
1201 xor ebp,DWORD PTR[28+rsp]
1202 lea edi,DWORD PTR[((-899497514))+rdi*1+rdx]
1203 xor eax,r13d
1204 add edi,ecx
1205 rol r12d,30
1206 add edi,eax
1207 rol ebp,1
1208 mov eax,r11d
1209 mov ecx,edi
1210 xor eax,r13d
1211 lea esi,DWORD PTR[((-899497514))+rsi*1+rbp]
1212 rol ecx,5
1213 xor eax,r12d
1214 add esi,ecx
1215 rol r11d,30
1216 add esi,eax
1217 add esi,DWORD PTR[r8]
1218 add edi,DWORD PTR[4+r8]
1219 add r11d,DWORD PTR[8+r8]
1220 add r12d,DWORD PTR[12+r8]
1221 add r13d,DWORD PTR[16+r8]
1222 mov DWORD PTR[r8],esi
1223 mov DWORD PTR[4+r8],edi
1224 mov DWORD PTR[8+r8],r11d
1225 mov DWORD PTR[12+r8],r12d
1226 mov DWORD PTR[16+r8],r13d
1227
1228 sub r10,1
1229 lea r9,QWORD PTR[64+r9]
1230 jnz $L$loop
1231
1232 mov rsi,QWORD PTR[64+rsp]
1233 mov r14,QWORD PTR[((-40))+rsi]
1234 mov r13,QWORD PTR[((-32))+rsi]
1235 mov r12,QWORD PTR[((-24))+rsi]
1236 mov rbp,QWORD PTR[((-16))+rsi]
1237 mov rbx,QWORD PTR[((-8))+rsi]
1238 lea rsp,QWORD PTR[rsi]
1239 $L$epilogue::
1240 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
1241 mov rsi,QWORD PTR[16+rsp]
1242 DB 0F3h,0C3h ;repret
1243 $L$SEH_end_sha1_block_data_order::
1244 sha1_block_data_order ENDP
1245
1246 ALIGN 16
1247 sha1_block_data_order_ssse3 PROC PRIVATE
1248 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
1249 mov QWORD PTR[16+rsp],rsi
1250 mov rax,rsp
1251 $L$SEH_begin_sha1_block_data_order_ssse3::
1252 mov rdi,rcx
1253 mov rsi,rdx
1254 mov rdx,r8
1255
1256
1257 _ssse3_shortcut::
1258 mov rax,rsp
1259 push rbx
1260 push rbp
1261 push r12
1262 push r13
1263 push r14
1264 lea rsp,QWORD PTR[((-160))+rsp]
1265 movaps XMMWORD PTR[(-40-96)+rax],xmm6
1266 movaps XMMWORD PTR[(-40-80)+rax],xmm7
1267 movaps XMMWORD PTR[(-40-64)+rax],xmm8
1268 movaps XMMWORD PTR[(-40-48)+rax],xmm9
1269 movaps XMMWORD PTR[(-40-32)+rax],xmm10
1270 movaps XMMWORD PTR[(-40-16)+rax],xmm11
1271 $L$prologue_ssse3::
1272 mov r14,rax
1273 and rsp,-64
1274 mov r8,rdi
1275 mov r9,rsi
1276 mov r10,rdx
1277
1278 shl r10,6
1279 add r10,r9
1280 lea r11,QWORD PTR[((K_XX_XX+64))]
1281
1282 mov eax,DWORD PTR[r8]
1283 mov ebx,DWORD PTR[4+r8]
1284 mov ecx,DWORD PTR[8+r8]
1285 mov edx,DWORD PTR[12+r8]
1286 mov esi,ebx
1287 mov ebp,DWORD PTR[16+r8]
1288 mov edi,ecx
1289 xor edi,edx
1290 and esi,edi
1291
1292 movdqa xmm6,XMMWORD PTR[64+r11]
1293 movdqa xmm9,XMMWORD PTR[((-64))+r11]
1294 movdqu xmm0,XMMWORD PTR[r9]
1295 movdqu xmm1,XMMWORD PTR[16+r9]
1296 movdqu xmm2,XMMWORD PTR[32+r9]
1297 movdqu xmm3,XMMWORD PTR[48+r9]
1298 DB 102,15,56,0,198
1299 DB 102,15,56,0,206
1300 DB 102,15,56,0,214
1301 add r9,64
1302 paddd xmm0,xmm9
1303 DB 102,15,56,0,222
1304 paddd xmm1,xmm9
1305 paddd xmm2,xmm9
1306 movdqa XMMWORD PTR[rsp],xmm0
1307 psubd xmm0,xmm9
1308 movdqa XMMWORD PTR[16+rsp],xmm1
1309 psubd xmm1,xmm9
1310 movdqa XMMWORD PTR[32+rsp],xmm2
1311 psubd xmm2,xmm9
1312 jmp $L$oop_ssse3
1313 ALIGN 16
1314 $L$oop_ssse3::
1315 ror ebx,2
1316 pshufd xmm4,xmm0,238
1317 xor esi,edx
1318 movdqa xmm8,xmm3
1319 paddd xmm9,xmm3
1320 mov edi,eax
1321 add ebp,DWORD PTR[rsp]
1322 punpcklqdq xmm4,xmm1
1323 xor ebx,ecx
1324 rol eax,5
1325 add ebp,esi
1326 psrldq xmm8,4
1327 and edi,ebx
1328 xor ebx,ecx
1329 pxor xmm4,xmm0
1330 add ebp,eax
1331 ror eax,7
1332 pxor xmm8,xmm2
1333 xor edi,ecx
1334 mov esi,ebp
1335 add edx,DWORD PTR[4+rsp]
1336 pxor xmm4,xmm8
1337 xor eax,ebx
1338 rol ebp,5
1339 movdqa XMMWORD PTR[48+rsp],xmm9
1340 add edx,edi
1341 and esi,eax
1342 movdqa xmm10,xmm4
1343 xor eax,ebx
1344 add edx,ebp
1345 ror ebp,7
1346 movdqa xmm8,xmm4
1347 xor esi,ebx
1348 pslldq xmm10,12
1349 paddd xmm4,xmm4
1350 mov edi,edx
1351 add ecx,DWORD PTR[8+rsp]
1352 psrld xmm8,31
1353 xor ebp,eax
1354 rol edx,5
1355 add ecx,esi
1356 movdqa xmm9,xmm10
1357 and edi,ebp
1358 xor ebp,eax
1359 psrld xmm10,30
1360 add ecx,edx
1361 ror edx,7
1362 por xmm4,xmm8
1363 xor edi,eax
1364 mov esi,ecx
1365 add ebx,DWORD PTR[12+rsp]
1366 pslld xmm9,2
1367 pxor xmm4,xmm10
1368 xor edx,ebp
1369 movdqa xmm10,XMMWORD PTR[((-64))+r11]
1370 rol ecx,5
1371 add ebx,edi
1372 and esi,edx
1373 pxor xmm4,xmm9
1374 xor edx,ebp
1375 add ebx,ecx
1376 ror ecx,7
1377 pshufd xmm5,xmm1,238
1378 xor esi,ebp
1379 movdqa xmm9,xmm4
1380 paddd xmm10,xmm4
1381 mov edi,ebx
1382 add eax,DWORD PTR[16+rsp]
1383 punpcklqdq xmm5,xmm2
1384 xor ecx,edx
1385 rol ebx,5
1386 add eax,esi
1387 psrldq xmm9,4
1388 and edi,ecx
1389 xor ecx,edx
1390 pxor xmm5,xmm1
1391 add eax,ebx
1392 ror ebx,7
1393 pxor xmm9,xmm3
1394 xor edi,edx
1395 mov esi,eax
1396 add ebp,DWORD PTR[20+rsp]
1397 pxor xmm5,xmm9
1398 xor ebx,ecx
1399 rol eax,5
1400 movdqa XMMWORD PTR[rsp],xmm10
1401 add ebp,edi
1402 and esi,ebx
1403 movdqa xmm8,xmm5
1404 xor ebx,ecx
1405 add ebp,eax
1406 ror eax,7
1407 movdqa xmm9,xmm5
1408 xor esi,ecx
1409 pslldq xmm8,12
1410 paddd xmm5,xmm5
1411 mov edi,ebp
1412 add edx,DWORD PTR[24+rsp]
1413 psrld xmm9,31
1414 xor eax,ebx
1415 rol ebp,5
1416 add edx,esi
1417 movdqa xmm10,xmm8
1418 and edi,eax
1419 xor eax,ebx
1420 psrld xmm8,30
1421 add edx,ebp
1422 ror ebp,7
1423 por xmm5,xmm9
1424 xor edi,ebx
1425 mov esi,edx
1426 add ecx,DWORD PTR[28+rsp]
1427 pslld xmm10,2
1428 pxor xmm5,xmm8
1429 xor ebp,eax
1430 movdqa xmm8,XMMWORD PTR[((-32))+r11]
1431 rol edx,5
1432 add ecx,edi
1433 and esi,ebp
1434 pxor xmm5,xmm10
1435 xor ebp,eax
1436 add ecx,edx
1437 ror edx,7
1438 pshufd xmm6,xmm2,238
1439 xor esi,eax
1440 movdqa xmm10,xmm5
1441 paddd xmm8,xmm5
1442 mov edi,ecx
1443 add ebx,DWORD PTR[32+rsp]
1444 punpcklqdq xmm6,xmm3
1445 xor edx,ebp
1446 rol ecx,5
1447 add ebx,esi
1448 psrldq xmm10,4
1449 and edi,edx
1450 xor edx,ebp
1451 pxor xmm6,xmm2
1452 add ebx,ecx
1453 ror ecx,7
1454 pxor xmm10,xmm4
1455 xor edi,ebp
1456 mov esi,ebx
1457 add eax,DWORD PTR[36+rsp]
1458 pxor xmm6,xmm10
1459 xor ecx,edx
1460 rol ebx,5
1461 movdqa XMMWORD PTR[16+rsp],xmm8
1462 add eax,edi
1463 and esi,ecx
1464 movdqa xmm9,xmm6
1465 xor ecx,edx
1466 add eax,ebx
1467 ror ebx,7
1468 movdqa xmm10,xmm6
1469 xor esi,edx
1470 pslldq xmm9,12
1471 paddd xmm6,xmm6
1472 mov edi,eax
1473 add ebp,DWORD PTR[40+rsp]
1474 psrld xmm10,31
1475 xor ebx,ecx
1476 rol eax,5
1477 add ebp,esi
1478 movdqa xmm8,xmm9
1479 and edi,ebx
1480 xor ebx,ecx
1481 psrld xmm9,30
1482 add ebp,eax
1483 ror eax,7
1484 por xmm6,xmm10
1485 xor edi,ecx
1486 mov esi,ebp
1487 add edx,DWORD PTR[44+rsp]
1488 pslld xmm8,2
1489 pxor xmm6,xmm9
1490 xor eax,ebx
1491 movdqa xmm9,XMMWORD PTR[((-32))+r11]
1492 rol ebp,5
1493 add edx,edi
1494 and esi,eax
1495 pxor xmm6,xmm8
1496 xor eax,ebx
1497 add edx,ebp
1498 ror ebp,7
1499 pshufd xmm7,xmm3,238
1500 xor esi,ebx
1501 movdqa xmm8,xmm6
1502 paddd xmm9,xmm6
1503 mov edi,edx
1504 add ecx,DWORD PTR[48+rsp]
1505 punpcklqdq xmm7,xmm4
1506 xor ebp,eax
1507 rol edx,5
1508 add ecx,esi
1509 psrldq xmm8,4
1510 and edi,ebp
1511 xor ebp,eax
1512 pxor xmm7,xmm3
1513 add ecx,edx
1514 ror edx,7
1515 pxor xmm8,xmm5
1516 xor edi,eax
1517 mov esi,ecx
1518 add ebx,DWORD PTR[52+rsp]
1519 pxor xmm7,xmm8
1520 xor edx,ebp
1521 rol ecx,5
1522 movdqa XMMWORD PTR[32+rsp],xmm9
1523 add ebx,edi
1524 and esi,edx
1525 movdqa xmm10,xmm7
1526 xor edx,ebp
1527 add ebx,ecx
1528 ror ecx,7
1529 movdqa xmm8,xmm7
1530 xor esi,ebp
1531 pslldq xmm10,12
1532 paddd xmm7,xmm7
1533 mov edi,ebx
1534 add eax,DWORD PTR[56+rsp]
1535 psrld xmm8,31
1536 xor ecx,edx
1537 rol ebx,5
1538 add eax,esi
1539 movdqa xmm9,xmm10
1540 and edi,ecx
1541 xor ecx,edx
1542 psrld xmm10,30
1543 add eax,ebx
1544 ror ebx,7
1545 por xmm7,xmm8
1546 xor edi,edx
1547 mov esi,eax
1548 add ebp,DWORD PTR[60+rsp]
1549 pslld xmm9,2
1550 pxor xmm7,xmm10
1551 xor ebx,ecx
1552 movdqa xmm10,XMMWORD PTR[((-32))+r11]
1553 rol eax,5
1554 add ebp,edi
1555 and esi,ebx
1556 pxor xmm7,xmm9
1557 pshufd xmm9,xmm6,238
1558 xor ebx,ecx
1559 add ebp,eax
1560 ror eax,7
1561 pxor xmm0,xmm4
1562 xor esi,ecx
1563 mov edi,ebp
1564 add edx,DWORD PTR[rsp]
1565 punpcklqdq xmm9,xmm7
1566 xor eax,ebx
1567 rol ebp,5
1568 pxor xmm0,xmm1
1569 add edx,esi
1570 and edi,eax
1571 movdqa xmm8,xmm10
1572 xor eax,ebx
1573 paddd xmm10,xmm7
1574 add edx,ebp
1575 pxor xmm0,xmm9
1576 ror ebp,7
1577 xor edi,ebx
1578 mov esi,edx
1579 add ecx,DWORD PTR[4+rsp]
1580 movdqa xmm9,xmm0
1581 xor ebp,eax
1582 rol edx,5
1583 movdqa XMMWORD PTR[48+rsp],xmm10
1584 add ecx,edi
1585 and esi,ebp
1586 xor ebp,eax
1587 pslld xmm0,2
1588 add ecx,edx
1589 ror edx,7
1590 psrld xmm9,30
1591 xor esi,eax
1592 mov edi,ecx
1593 add ebx,DWORD PTR[8+rsp]
1594 por xmm0,xmm9
1595 xor edx,ebp
1596 rol ecx,5
1597 pshufd xmm10,xmm7,238
1598 add ebx,esi
1599 and edi,edx
1600 xor edx,ebp
1601 add ebx,ecx
1602 add eax,DWORD PTR[12+rsp]
1603 xor edi,ebp
1604 mov esi,ebx
1605 rol ebx,5
1606 add eax,edi
1607 xor esi,edx
1608 ror ecx,7
1609 add eax,ebx
1610 pxor xmm1,xmm5
1611 add ebp,DWORD PTR[16+rsp]
1612 xor esi,ecx
1613 punpcklqdq xmm10,xmm0
1614 mov edi,eax
1615 rol eax,5
1616 pxor xmm1,xmm2
1617 add ebp,esi
1618 xor edi,ecx
1619 movdqa xmm9,xmm8
1620 ror ebx,7
1621 paddd xmm8,xmm0
1622 add ebp,eax
1623 pxor xmm1,xmm10
1624 add edx,DWORD PTR[20+rsp]
1625 xor edi,ebx
1626 mov esi,ebp
1627 rol ebp,5
1628 movdqa xmm10,xmm1
1629 add edx,edi
1630 xor esi,ebx
1631 movdqa XMMWORD PTR[rsp],xmm8
1632 ror eax,7
1633 add edx,ebp
1634 add ecx,DWORD PTR[24+rsp]
1635 pslld xmm1,2
1636 xor esi,eax
1637 mov edi,edx
1638 psrld xmm10,30
1639 rol edx,5
1640 add ecx,esi
1641 xor edi,eax
1642 ror ebp,7
1643 por xmm1,xmm10
1644 add ecx,edx
1645 add ebx,DWORD PTR[28+rsp]
1646 pshufd xmm8,xmm0,238
1647 xor edi,ebp
1648 mov esi,ecx
1649 rol ecx,5
1650 add ebx,edi
1651 xor esi,ebp
1652 ror edx,7
1653 add ebx,ecx
1654 pxor xmm2,xmm6
1655 add eax,DWORD PTR[32+rsp]
1656 xor esi,edx
1657 punpcklqdq xmm8,xmm1
1658 mov edi,ebx
1659 rol ebx,5
1660 pxor xmm2,xmm3
1661 add eax,esi
1662 xor edi,edx
1663 movdqa xmm10,XMMWORD PTR[r11]
1664 ror ecx,7
1665 paddd xmm9,xmm1
1666 add eax,ebx
1667 pxor xmm2,xmm8
1668 add ebp,DWORD PTR[36+rsp]
1669 xor edi,ecx
1670 mov esi,eax
1671 rol eax,5
1672 movdqa xmm8,xmm2
1673 add ebp,edi
1674 xor esi,ecx
1675 movdqa XMMWORD PTR[16+rsp],xmm9
1676 ror ebx,7
1677 add ebp,eax
1678 add edx,DWORD PTR[40+rsp]
1679 pslld xmm2,2
1680 xor esi,ebx
1681 mov edi,ebp
1682 psrld xmm8,30
1683 rol ebp,5
1684 add edx,esi
1685 xor edi,ebx
1686 ror eax,7
1687 por xmm2,xmm8
1688 add edx,ebp
1689 add ecx,DWORD PTR[44+rsp]
1690 pshufd xmm9,xmm1,238
1691 xor edi,eax
1692 mov esi,edx
1693 rol edx,5
1694 add ecx,edi
1695 xor esi,eax
1696 ror ebp,7
1697 add ecx,edx
1698 pxor xmm3,xmm7
1699 add ebx,DWORD PTR[48+rsp]
1700 xor esi,ebp
1701 punpcklqdq xmm9,xmm2
1702 mov edi,ecx
1703 rol ecx,5
1704 pxor xmm3,xmm4
1705 add ebx,esi
1706 xor edi,ebp
1707 movdqa xmm8,xmm10
1708 ror edx,7
1709 paddd xmm10,xmm2
1710 add ebx,ecx
1711 pxor xmm3,xmm9
1712 add eax,DWORD PTR[52+rsp]
1713 xor edi,edx
1714 mov esi,ebx
1715 rol ebx,5
1716 movdqa xmm9,xmm3
1717 add eax,edi
1718 xor esi,edx
1719 movdqa XMMWORD PTR[32+rsp],xmm10
1720 ror ecx,7
1721 add eax,ebx
1722 add ebp,DWORD PTR[56+rsp]
1723 pslld xmm3,2
1724 xor esi,ecx
1725 mov edi,eax
1726 psrld xmm9,30
1727 rol eax,5
1728 add ebp,esi
1729 xor edi,ecx
1730 ror ebx,7
1731 por xmm3,xmm9
1732 add ebp,eax
1733 add edx,DWORD PTR[60+rsp]
1734 pshufd xmm10,xmm2,238
1735 xor edi,ebx
1736 mov esi,ebp
1737 rol ebp,5
1738 add edx,edi
1739 xor esi,ebx
1740 ror eax,7
1741 add edx,ebp
1742 pxor xmm4,xmm0
1743 add ecx,DWORD PTR[rsp]
1744 xor esi,eax
1745 punpcklqdq xmm10,xmm3
1746 mov edi,edx
1747 rol edx,5
1748 pxor xmm4,xmm5
1749 add ecx,esi
1750 xor edi,eax
1751 movdqa xmm9,xmm8
1752 ror ebp,7
1753 paddd xmm8,xmm3
1754 add ecx,edx
1755 pxor xmm4,xmm10
1756 add ebx,DWORD PTR[4+rsp]
1757 xor edi,ebp
1758 mov esi,ecx
1759 rol ecx,5
1760 movdqa xmm10,xmm4
1761 add ebx,edi
1762 xor esi,ebp
1763 movdqa XMMWORD PTR[48+rsp],xmm8
1764 ror edx,7
1765 add ebx,ecx
1766 add eax,DWORD PTR[8+rsp]
1767 pslld xmm4,2
1768 xor esi,edx
1769 mov edi,ebx
1770 psrld xmm10,30
1771 rol ebx,5
1772 add eax,esi
1773 xor edi,edx
1774 ror ecx,7
1775 por xmm4,xmm10
1776 add eax,ebx
1777 add ebp,DWORD PTR[12+rsp]
1778 pshufd xmm8,xmm3,238
1779 xor edi,ecx
1780 mov esi,eax
1781 rol eax,5
1782 add ebp,edi
1783 xor esi,ecx
1784 ror ebx,7
1785 add ebp,eax
1786 pxor xmm5,xmm1
1787 add edx,DWORD PTR[16+rsp]
1788 xor esi,ebx
1789 punpcklqdq xmm8,xmm4
1790 mov edi,ebp
1791 rol ebp,5
1792 pxor xmm5,xmm6
1793 add edx,esi
1794 xor edi,ebx
1795 movdqa xmm10,xmm9
1796 ror eax,7
1797 paddd xmm9,xmm4
1798 add edx,ebp
1799 pxor xmm5,xmm8
1800 add ecx,DWORD PTR[20+rsp]
1801 xor edi,eax
1802 mov esi,edx
1803 rol edx,5
1804 movdqa xmm8,xmm5
1805 add ecx,edi
1806 xor esi,eax
1807 movdqa XMMWORD PTR[rsp],xmm9
1808 ror ebp,7
1809 add ecx,edx
1810 add ebx,DWORD PTR[24+rsp]
1811 pslld xmm5,2
1812 xor esi,ebp
1813 mov edi,ecx
1814 psrld xmm8,30
1815 rol ecx,5
1816 add ebx,esi
1817 xor edi,ebp
1818 ror edx,7
1819 por xmm5,xmm8
1820 add ebx,ecx
1821 add eax,DWORD PTR[28+rsp]
1822 pshufd xmm9,xmm4,238
1823 ror ecx,7
1824 mov esi,ebx
1825 xor edi,edx
1826 rol ebx,5
1827 add eax,edi
1828 xor esi,ecx
1829 xor ecx,edx
1830 add eax,ebx
1831 pxor xmm6,xmm2
1832 add ebp,DWORD PTR[32+rsp]
1833 and esi,ecx
1834 xor ecx,edx
1835 ror ebx,7
1836 punpcklqdq xmm9,xmm5
1837 mov edi,eax
1838 xor esi,ecx
1839 pxor xmm6,xmm7
1840 rol eax,5
1841 add ebp,esi
1842 movdqa xmm8,xmm10
1843 xor edi,ebx
1844 paddd xmm10,xmm5
1845 xor ebx,ecx
1846 pxor xmm6,xmm9
1847 add ebp,eax
1848 add edx,DWORD PTR[36+rsp]
1849 and edi,ebx
1850 xor ebx,ecx
1851 ror eax,7
1852 movdqa xmm9,xmm6
1853 mov esi,ebp
1854 xor edi,ebx
1855 movdqa XMMWORD PTR[16+rsp],xmm10
1856 rol ebp,5
1857 add edx,edi
1858 xor esi,eax
1859 pslld xmm6,2
1860 xor eax,ebx
1861 add edx,ebp
1862 psrld xmm9,30
1863 add ecx,DWORD PTR[40+rsp]
1864 and esi,eax
1865 xor eax,ebx
1866 por xmm6,xmm9
1867 ror ebp,7
1868 mov edi,edx
1869 xor esi,eax
1870 rol edx,5
1871 pshufd xmm10,xmm5,238
1872 add ecx,esi
1873 xor edi,ebp
1874 xor ebp,eax
1875 add ecx,edx
1876 add ebx,DWORD PTR[44+rsp]
1877 and edi,ebp
1878 xor ebp,eax
1879 ror edx,7
1880 mov esi,ecx
1881 xor edi,ebp
1882 rol ecx,5
1883 add ebx,edi
1884 xor esi,edx
1885 xor edx,ebp
1886 add ebx,ecx
1887 pxor xmm7,xmm3
1888 add eax,DWORD PTR[48+rsp]
1889 and esi,edx
1890 xor edx,ebp
1891 ror ecx,7
1892 punpcklqdq xmm10,xmm6
1893 mov edi,ebx
1894 xor esi,edx
1895 pxor xmm7,xmm0
1896 rol ebx,5
1897 add eax,esi
1898 movdqa xmm9,XMMWORD PTR[32+r11]
1899 xor edi,ecx
1900 paddd xmm8,xmm6
1901 xor ecx,edx
1902 pxor xmm7,xmm10
1903 add eax,ebx
1904 add ebp,DWORD PTR[52+rsp]
1905 and edi,ecx
1906 xor ecx,edx
1907 ror ebx,7
1908 movdqa xmm10,xmm7
1909 mov esi,eax
1910 xor edi,ecx
1911 movdqa XMMWORD PTR[32+rsp],xmm8
1912 rol eax,5
1913 add ebp,edi
1914 xor esi,ebx
1915 pslld xmm7,2
1916 xor ebx,ecx
1917 add ebp,eax
1918 psrld xmm10,30
1919 add edx,DWORD PTR[56+rsp]
1920 and esi,ebx
1921 xor ebx,ecx
1922 por xmm7,xmm10
1923 ror eax,7
1924 mov edi,ebp
1925 xor esi,ebx
1926 rol ebp,5
1927 pshufd xmm8,xmm6,238
1928 add edx,esi
1929 xor edi,eax
1930 xor eax,ebx
1931 add edx,ebp
1932 add ecx,DWORD PTR[60+rsp]
1933 and edi,eax
1934 xor eax,ebx
1935 ror ebp,7
1936 mov esi,edx
1937 xor edi,eax
1938 rol edx,5
1939 add ecx,edi
1940 xor esi,ebp
1941 xor ebp,eax
1942 add ecx,edx
1943 pxor xmm0,xmm4
1944 add ebx,DWORD PTR[rsp]
1945 and esi,ebp
1946 xor ebp,eax
1947 ror edx,7
1948 punpcklqdq xmm8,xmm7
1949 mov edi,ecx
1950 xor esi,ebp
1951 pxor xmm0,xmm1
1952 rol ecx,5
1953 add ebx,esi
1954 movdqa xmm10,xmm9
1955 xor edi,edx
1956 paddd xmm9,xmm7
1957 xor edx,ebp
1958 pxor xmm0,xmm8
1959 add ebx,ecx
1960 add eax,DWORD PTR[4+rsp]
1961 and edi,edx
1962 xor edx,ebp
1963 ror ecx,7
1964 movdqa xmm8,xmm0
1965 mov esi,ebx
1966 xor edi,edx
1967 movdqa XMMWORD PTR[48+rsp],xmm9
1968 rol ebx,5
1969 add eax,edi
1970 xor esi,ecx
1971 pslld xmm0,2
1972 xor ecx,edx
1973 add eax,ebx
1974 psrld xmm8,30
1975 add ebp,DWORD PTR[8+rsp]
1976 and esi,ecx
1977 xor ecx,edx
1978 por xmm0,xmm8
1979 ror ebx,7
1980 mov edi,eax
1981 xor esi,ecx
1982 rol eax,5
1983 pshufd xmm9,xmm7,238
1984 add ebp,esi
1985 xor edi,ebx
1986 xor ebx,ecx
1987 add ebp,eax
1988 add edx,DWORD PTR[12+rsp]
1989 and edi,ebx
1990 xor ebx,ecx
1991 ror eax,7
1992 mov esi,ebp
1993 xor edi,ebx
1994 rol ebp,5
1995 add edx,edi
1996 xor esi,eax
1997 xor eax,ebx
1998 add edx,ebp
1999 pxor xmm1,xmm5
2000 add ecx,DWORD PTR[16+rsp]
2001 and esi,eax
2002 xor eax,ebx
2003 ror ebp,7
2004 punpcklqdq xmm9,xmm0
2005 mov edi,edx
2006 xor esi,eax
2007 pxor xmm1,xmm2
2008 rol edx,5
2009 add ecx,esi
2010 movdqa xmm8,xmm10
2011 xor edi,ebp
2012 paddd xmm10,xmm0
2013 xor ebp,eax
2014 pxor xmm1,xmm9
2015 add ecx,edx
2016 add ebx,DWORD PTR[20+rsp]
2017 and edi,ebp
2018 xor ebp,eax
2019 ror edx,7
2020 movdqa xmm9,xmm1
2021 mov esi,ecx
2022 xor edi,ebp
2023 movdqa XMMWORD PTR[rsp],xmm10
2024 rol ecx,5
2025 add ebx,edi
2026 xor esi,edx
2027 pslld xmm1,2
2028 xor edx,ebp
2029 add ebx,ecx
2030 psrld xmm9,30
2031 add eax,DWORD PTR[24+rsp]
2032 and esi,edx
2033 xor edx,ebp
2034 por xmm1,xmm9
2035 ror ecx,7
2036 mov edi,ebx
2037 xor esi,edx
2038 rol ebx,5
2039 pshufd xmm10,xmm0,238
2040 add eax,esi
2041 xor edi,ecx
2042 xor ecx,edx
2043 add eax,ebx
2044 add ebp,DWORD PTR[28+rsp]
2045 and edi,ecx
2046 xor ecx,edx
2047 ror ebx,7
2048 mov esi,eax
2049 xor edi,ecx
2050 rol eax,5
2051 add ebp,edi
2052 xor esi,ebx
2053 xor ebx,ecx
2054 add ebp,eax
2055 pxor xmm2,xmm6
2056 add edx,DWORD PTR[32+rsp]
2057 and esi,ebx
2058 xor ebx,ecx
2059 ror eax,7
2060 punpcklqdq xmm10,xmm1
2061 mov edi,ebp
2062 xor esi,ebx
2063 pxor xmm2,xmm3
2064 rol ebp,5
2065 add edx,esi
2066 movdqa xmm9,xmm8
2067 xor edi,eax
2068 paddd xmm8,xmm1
2069 xor eax,ebx
2070 pxor xmm2,xmm10
2071 add edx,ebp
2072 add ecx,DWORD PTR[36+rsp]
2073 and edi,eax
2074 xor eax,ebx
2075 ror ebp,7
2076 movdqa xmm10,xmm2
2077 mov esi,edx
2078 xor edi,eax
2079 movdqa XMMWORD PTR[16+rsp],xmm8
2080 rol edx,5
2081 add ecx,edi
2082 xor esi,ebp
2083 pslld xmm2,2
2084 xor ebp,eax
2085 add ecx,edx
2086 psrld xmm10,30
2087 add ebx,DWORD PTR[40+rsp]
2088 and esi,ebp
2089 xor ebp,eax
2090 por xmm2,xmm10
2091 ror edx,7
2092 mov edi,ecx
2093 xor esi,ebp
2094 rol ecx,5
2095 pshufd xmm8,xmm1,238
2096 add ebx,esi
2097 xor edi,edx
2098 xor edx,ebp
2099 add ebx,ecx
2100 add eax,DWORD PTR[44+rsp]
2101 and edi,edx
2102 xor edx,ebp
2103 ror ecx,7
2104 mov esi,ebx
2105 xor edi,edx
2106 rol ebx,5
2107 add eax,edi
2108 xor esi,edx
2109 add eax,ebx
2110 pxor xmm3,xmm7
2111 add ebp,DWORD PTR[48+rsp]
2112 xor esi,ecx
2113 punpcklqdq xmm8,xmm2
2114 mov edi,eax
2115 rol eax,5
2116 pxor xmm3,xmm4
2117 add ebp,esi
2118 xor edi,ecx
2119 movdqa xmm10,xmm9
2120 ror ebx,7
2121 paddd xmm9,xmm2
2122 add ebp,eax
2123 pxor xmm3,xmm8
2124 add edx,DWORD PTR[52+rsp]
2125 xor edi,ebx
2126 mov esi,ebp
2127 rol ebp,5
2128 movdqa xmm8,xmm3
2129 add edx,edi
2130 xor esi,ebx
2131 movdqa XMMWORD PTR[32+rsp],xmm9
2132 ror eax,7
2133 add edx,ebp
2134 add ecx,DWORD PTR[56+rsp]
2135 pslld xmm3,2
2136 xor esi,eax
2137 mov edi,edx
2138 psrld xmm8,30
2139 rol edx,5
2140 add ecx,esi
2141 xor edi,eax
2142 ror ebp,7
2143 por xmm3,xmm8
2144 add ecx,edx
2145 add ebx,DWORD PTR[60+rsp]
2146 xor edi,ebp
2147 mov esi,ecx
2148 rol ecx,5
2149 add ebx,edi
2150 xor esi,ebp
2151 ror edx,7
2152 add ebx,ecx
2153 add eax,DWORD PTR[rsp]
2154 xor esi,edx
2155 mov edi,ebx
2156 rol ebx,5
2157 paddd xmm10,xmm3
2158 add eax,esi
2159 xor edi,edx
2160 movdqa XMMWORD PTR[48+rsp],xmm10
2161 ror ecx,7
2162 add eax,ebx
2163 add ebp,DWORD PTR[4+rsp]
2164 xor edi,ecx
2165 mov esi,eax
2166 rol eax,5
2167 add ebp,edi
2168 xor esi,ecx
2169 ror ebx,7
2170 add ebp,eax
2171 add edx,DWORD PTR[8+rsp]
2172 xor esi,ebx
2173 mov edi,ebp
2174 rol ebp,5
2175 add edx,esi
2176 xor edi,ebx
2177 ror eax,7
2178 add edx,ebp
2179 add ecx,DWORD PTR[12+rsp]
2180 xor edi,eax
2181 mov esi,edx
2182 rol edx,5
2183 add ecx,edi
2184 xor esi,eax
2185 ror ebp,7
2186 add ecx,edx
2187 cmp r9,r10
2188 je $L$done_ssse3
2189 movdqa xmm6,XMMWORD PTR[64+r11]
2190 movdqa xmm9,XMMWORD PTR[((-64))+r11]
2191 movdqu xmm0,XMMWORD PTR[r9]
2192 movdqu xmm1,XMMWORD PTR[16+r9]
2193 movdqu xmm2,XMMWORD PTR[32+r9]
2194 movdqu xmm3,XMMWORD PTR[48+r9]
2195 DB 102,15,56,0,198
2196 add r9,64
2197 add ebx,DWORD PTR[16+rsp]
2198 xor esi,ebp
2199 mov edi,ecx
2200 DB 102,15,56,0,206
2201 rol ecx,5
2202 add ebx,esi
2203 xor edi,ebp
2204 ror edx,7
2205 paddd xmm0,xmm9
2206 add ebx,ecx
2207 add eax,DWORD PTR[20+rsp]
2208 xor edi,edx
2209 mov esi,ebx
2210 movdqa XMMWORD PTR[rsp],xmm0
2211 rol ebx,5
2212 add eax,edi
2213 xor esi,edx
2214 ror ecx,7
2215 psubd xmm0,xmm9
2216 add eax,ebx
2217 add ebp,DWORD PTR[24+rsp]
2218 xor esi,ecx
2219 mov edi,eax
2220 rol eax,5
2221 add ebp,esi
2222 xor edi,ecx
2223 ror ebx,7
2224 add ebp,eax
2225 add edx,DWORD PTR[28+rsp]
2226 xor edi,ebx
2227 mov esi,ebp
2228 rol ebp,5
2229 add edx,edi
2230 xor esi,ebx
2231 ror eax,7
2232 add edx,ebp
2233 add ecx,DWORD PTR[32+rsp]
2234 xor esi,eax
2235 mov edi,edx
2236 DB 102,15,56,0,214
2237 rol edx,5
2238 add ecx,esi
2239 xor edi,eax
2240 ror ebp,7
2241 paddd xmm1,xmm9
2242 add ecx,edx
2243 add ebx,DWORD PTR[36+rsp]
2244 xor edi,ebp
2245 mov esi,ecx
2246 movdqa XMMWORD PTR[16+rsp],xmm1
2247 rol ecx,5
2248 add ebx,edi
2249 xor esi,ebp
2250 ror edx,7
2251 psubd xmm1,xmm9
2252 add ebx,ecx
2253 add eax,DWORD PTR[40+rsp]
2254 xor esi,edx
2255 mov edi,ebx
2256 rol ebx,5
2257 add eax,esi
2258 xor edi,edx
2259 ror ecx,7
2260 add eax,ebx
2261 add ebp,DWORD PTR[44+rsp]
2262 xor edi,ecx
2263 mov esi,eax
2264 rol eax,5
2265 add ebp,edi
2266 xor esi,ecx
2267 ror ebx,7
2268 add ebp,eax
2269 add edx,DWORD PTR[48+rsp]
2270 xor esi,ebx
2271 mov edi,ebp
2272 DB 102,15,56,0,222
2273 rol ebp,5
2274 add edx,esi
2275 xor edi,ebx
2276 ror eax,7
2277 paddd xmm2,xmm9
2278 add edx,ebp
2279 add ecx,DWORD PTR[52+rsp]
2280 xor edi,eax
2281 mov esi,edx
2282 movdqa XMMWORD PTR[32+rsp],xmm2
2283 rol edx,5
2284 add ecx,edi
2285 xor esi,eax
2286 ror ebp,7
2287 psubd xmm2,xmm9
2288 add ecx,edx
2289 add ebx,DWORD PTR[56+rsp]
2290 xor esi,ebp
2291 mov edi,ecx
2292 rol ecx,5
2293 add ebx,esi
2294 xor edi,ebp
2295 ror edx,7
2296 add ebx,ecx
2297 add eax,DWORD PTR[60+rsp]
2298 xor edi,edx
2299 mov esi,ebx
2300 rol ebx,5
2301 add eax,edi
2302 ror ecx,7
2303 add eax,ebx
2304 add eax,DWORD PTR[r8]
2305 add esi,DWORD PTR[4+r8]
2306 add ecx,DWORD PTR[8+r8]
2307 add edx,DWORD PTR[12+r8]
2308 mov DWORD PTR[r8],eax
2309 add ebp,DWORD PTR[16+r8]
2310 mov DWORD PTR[4+r8],esi
2311 mov ebx,esi
2312 mov DWORD PTR[8+r8],ecx
2313 mov edi,ecx
2314 mov DWORD PTR[12+r8],edx
2315 xor edi,edx
2316 mov DWORD PTR[16+r8],ebp
2317 and esi,edi
2318 jmp $L$oop_ssse3
2319
2320 ALIGN 16
2321 $L$done_ssse3::
2322 add ebx,DWORD PTR[16+rsp]
2323 xor esi,ebp
2324 mov edi,ecx
2325 rol ecx,5
2326 add ebx,esi
2327 xor edi,ebp
2328 ror edx,7
2329 add ebx,ecx
2330 add eax,DWORD PTR[20+rsp]
2331 xor edi,edx
2332 mov esi,ebx
2333 rol ebx,5
2334 add eax,edi
2335 xor esi,edx
2336 ror ecx,7
2337 add eax,ebx
2338 add ebp,DWORD PTR[24+rsp]
2339 xor esi,ecx
2340 mov edi,eax
2341 rol eax,5
2342 add ebp,esi
2343 xor edi,ecx
2344 ror ebx,7
2345 add ebp,eax
2346 add edx,DWORD PTR[28+rsp]
2347 xor edi,ebx
2348 mov esi,ebp
2349 rol ebp,5
2350 add edx,edi
2351 xor esi,ebx
2352 ror eax,7
2353 add edx,ebp
2354 add ecx,DWORD PTR[32+rsp]
2355 xor esi,eax
2356 mov edi,edx
2357 rol edx,5
2358 add ecx,esi
2359 xor edi,eax
2360 ror ebp,7
2361 add ecx,edx
2362 add ebx,DWORD PTR[36+rsp]
2363 xor edi,ebp
2364 mov esi,ecx
2365 rol ecx,5
2366 add ebx,edi
2367 xor esi,ebp
2368 ror edx,7
2369 add ebx,ecx
2370 add eax,DWORD PTR[40+rsp]
2371 xor esi,edx
2372 mov edi,ebx
2373 rol ebx,5
2374 add eax,esi
2375 xor edi,edx
2376 ror ecx,7
2377 add eax,ebx
2378 add ebp,DWORD PTR[44+rsp]
2379 xor edi,ecx
2380 mov esi,eax
2381 rol eax,5
2382 add ebp,edi
2383 xor esi,ecx
2384 ror ebx,7
2385 add ebp,eax
2386 add edx,DWORD PTR[48+rsp]
2387 xor esi,ebx
2388 mov edi,ebp
2389 rol ebp,5
2390 add edx,esi
2391 xor edi,ebx
2392 ror eax,7
2393 add edx,ebp
2394 add ecx,DWORD PTR[52+rsp]
2395 xor edi,eax
2396 mov esi,edx
2397 rol edx,5
2398 add ecx,edi
2399 xor esi,eax
2400 ror ebp,7
2401 add ecx,edx
2402 add ebx,DWORD PTR[56+rsp]
2403 xor esi,ebp
2404 mov edi,ecx
2405 rol ecx,5
2406 add ebx,esi
2407 xor edi,ebp
2408 ror edx,7
2409 add ebx,ecx
2410 add eax,DWORD PTR[60+rsp]
2411 xor edi,edx
2412 mov esi,ebx
2413 rol ebx,5
2414 add eax,edi
2415 ror ecx,7
2416 add eax,ebx
2417 add eax,DWORD PTR[r8]
2418 add esi,DWORD PTR[4+r8]
2419 add ecx,DWORD PTR[8+r8]
2420 mov DWORD PTR[r8],eax
2421 add edx,DWORD PTR[12+r8]
2422 mov DWORD PTR[4+r8],esi
2423 add ebp,DWORD PTR[16+r8]
2424 mov DWORD PTR[8+r8],ecx
2425 mov DWORD PTR[12+r8],edx
2426 mov DWORD PTR[16+r8],ebp
2427 movaps xmm6,XMMWORD PTR[((-40-96))+r14]
2428 movaps xmm7,XMMWORD PTR[((-40-80))+r14]
2429 movaps xmm8,XMMWORD PTR[((-40-64))+r14]
2430 movaps xmm9,XMMWORD PTR[((-40-48))+r14]
2431 movaps xmm10,XMMWORD PTR[((-40-32))+r14]
2432 movaps xmm11,XMMWORD PTR[((-40-16))+r14]
2433 lea rsi,QWORD PTR[r14]
2434 mov r14,QWORD PTR[((-40))+rsi]
2435 mov r13,QWORD PTR[((-32))+rsi]
2436 mov r12,QWORD PTR[((-24))+rsi]
2437 mov rbp,QWORD PTR[((-16))+rsi]
2438 mov rbx,QWORD PTR[((-8))+rsi]
2439 lea rsp,QWORD PTR[rsi]
2440 $L$epilogue_ssse3::
2441 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
2442 mov rsi,QWORD PTR[16+rsp]
2443 DB 0F3h,0C3h ;repret
2444 $L$SEH_end_sha1_block_data_order_ssse3::
2445 sha1_block_data_order_ssse3 ENDP
2446 ALIGN 64
2447 K_XX_XX::
2448 DD 05a827999h,05a827999h,05a827999h,05a827999h
2449 DD 05a827999h,05a827999h,05a827999h,05a827999h
2450 DD 06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h
2451 DD 06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h
2452 DD 08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch
2453 DD 08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch
2454 DD 0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h
2455 DD 0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h
2456 DD 000010203h,004050607h,008090a0bh,00c0d0e0fh
2457 DD 000010203h,004050607h,008090a0bh,00c0d0e0fh
2458 DB 0fh,0eh,0dh,0ch,0bh,0ah,09h,08h,07h,06h,05h,04h,03h,02h,01h,00h
2459 DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
2460 DB 102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44
2461 DB 32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60
2462 DB 97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114
2463 DB 103,62,0
2464 ALIGN 64
2465 EXTERN __imp_RtlVirtualUnwind:NEAR
2466
2467 ALIGN 16
2468 se_handler PROC PRIVATE
2469 push rsi
2470 push rdi
2471 push rbx
2472 push rbp
2473 push r12
2474 push r13
2475 push r14
2476 push r15
2477 pushfq
2478 sub rsp,64
2479
2480 mov rax,QWORD PTR[120+r8]
2481 mov rbx,QWORD PTR[248+r8]
2482
2483 lea r10,QWORD PTR[$L$prologue]
2484 cmp rbx,r10
2485 jb $L$common_seh_tail
2486
2487 mov rax,QWORD PTR[152+r8]
2488
2489 lea r10,QWORD PTR[$L$epilogue]
2490 cmp rbx,r10
2491 jae $L$common_seh_tail
2492
2493 mov rax,QWORD PTR[64+rax]
2494
2495 mov rbx,QWORD PTR[((-8))+rax]
2496 mov rbp,QWORD PTR[((-16))+rax]
2497 mov r12,QWORD PTR[((-24))+rax]
2498 mov r13,QWORD PTR[((-32))+rax]
2499 mov r14,QWORD PTR[((-40))+rax]
2500 mov QWORD PTR[144+r8],rbx
2501 mov QWORD PTR[160+r8],rbp
2502 mov QWORD PTR[216+r8],r12
2503 mov QWORD PTR[224+r8],r13
2504 mov QWORD PTR[232+r8],r14
2505
2506 jmp $L$common_seh_tail
2507 se_handler ENDP
2508
2509 ALIGN 16
2510 ssse3_handler PROC PRIVATE
2511 push rsi
2512 push rdi
2513 push rbx
2514 push rbp
2515 push r12
2516 push r13
2517 push r14
2518 push r15
2519 pushfq
2520 sub rsp,64
2521
2522 mov rax,QWORD PTR[120+r8]
2523 mov rbx,QWORD PTR[248+r8]
2524
2525 mov rsi,QWORD PTR[8+r9]
2526 mov r11,QWORD PTR[56+r9]
2527
2528 mov r10d,DWORD PTR[r11]
2529 lea r10,QWORD PTR[r10*1+rsi]
2530 cmp rbx,r10
2531 jb $L$common_seh_tail
2532
2533 mov rax,QWORD PTR[152+r8]
2534
2535 mov r10d,DWORD PTR[4+r11]
2536 lea r10,QWORD PTR[r10*1+rsi]
2537 cmp rbx,r10
2538 jae $L$common_seh_tail
2539
2540 mov rax,QWORD PTR[232+r8]
2541
2542 lea rsi,QWORD PTR[((-40-96))+rax]
2543 lea rdi,QWORD PTR[512+r8]
2544 mov ecx,12
2545 DD 0a548f3fch
2546
2547 mov rbx,QWORD PTR[((-8))+rax]
2548 mov rbp,QWORD PTR[((-16))+rax]
2549 mov r12,QWORD PTR[((-24))+rax]
2550 mov r13,QWORD PTR[((-32))+rax]
2551 mov r14,QWORD PTR[((-40))+rax]
2552 mov QWORD PTR[144+r8],rbx
2553 mov QWORD PTR[160+r8],rbp
2554 mov QWORD PTR[216+r8],r12
2555 mov QWORD PTR[224+r8],r13
2556 mov QWORD PTR[232+r8],r14
2557
2558 $L$common_seh_tail::
2559 mov rdi,QWORD PTR[8+rax]
2560 mov rsi,QWORD PTR[16+rax]
2561 mov QWORD PTR[152+r8],rax
2562 mov QWORD PTR[168+r8],rsi
2563 mov QWORD PTR[176+r8],rdi
2564
2565 mov rdi,QWORD PTR[40+r9]
2566 mov rsi,r8
2567 mov ecx,154
2568 DD 0a548f3fch
2569
2570 mov rsi,r9
2571 xor rcx,rcx
2572 mov rdx,QWORD PTR[8+rsi]
2573 mov r8,QWORD PTR[rsi]
2574 mov r9,QWORD PTR[16+rsi]
2575 mov r10,QWORD PTR[40+rsi]
2576 lea r11,QWORD PTR[56+rsi]
2577 lea r12,QWORD PTR[24+rsi]
2578 mov QWORD PTR[32+rsp],r10
2579 mov QWORD PTR[40+rsp],r11
2580 mov QWORD PTR[48+rsp],r12
2581 mov QWORD PTR[56+rsp],rcx
2582 call QWORD PTR[__imp_RtlVirtualUnwind]
2583
2584 mov eax,1
2585 add rsp,64
2586 popfq
2587 pop r15
2588 pop r14
2589 pop r13
2590 pop r12
2591 pop rbp
2592 pop rbx
2593 pop rdi
2594 pop rsi
2595 DB 0F3h,0C3h ;repret
2596 ssse3_handler ENDP
2597
2598 .text$ ENDS
2599 .pdata SEGMENT READONLY ALIGN(4)
2600 ALIGN 4
2601 DD imagerel $L$SEH_begin_sha1_block_data_order
2602 DD imagerel $L$SEH_end_sha1_block_data_order
2603 DD imagerel $L$SEH_info_sha1_block_data_order
2604 DD imagerel $L$SEH_begin_sha1_block_data_order_ssse3
2605 DD imagerel $L$SEH_end_sha1_block_data_order_ssse3
2606 DD imagerel $L$SEH_info_sha1_block_data_order_ssse3
2607 .pdata ENDS
2608 .xdata SEGMENT READONLY ALIGN(8)
2609 ALIGN 8
2610 $L$SEH_info_sha1_block_data_order::
2611 DB 9,0,0,0
2612 DD imagerel se_handler
2613 $L$SEH_info_sha1_block_data_order_ssse3::
2614 DB 9,0,0,0
2615 DD imagerel ssse3_handler
2616 DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3
2617
2618 .xdata ENDS
2619 END
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698