VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1j/crypto/genasm-nasm/sha1-mb-x86_64.S@ 88461

Last change on this file since 88461 was 83531, checked in by vboxsync, 5 years ago

setting svn:sync-process=export for openssl-1.1.1f, all files except tests

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