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