VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.3/crypto/genasm-nasm/sha256-mb-x86_64.S@ 95221

Last change on this file since 95221 was 95221, checked in by vboxsync, 3 years ago

libs/openssl-3.0.3: Recreated openssl assembler files, bugref:10128

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette