2 .text$ SEGMENT ALIGN(256) 'CODE'
3 EXTERN OPENSSL_ia32cap_P:NEAR
5 PUBLIC sha1_block_data_order
8 sha1_block_data_order PROC PUBLIC
9 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
10 mov QWORD PTR[16+rsp],rsi
12 $L$SEH_begin_sha1_block_data_order::
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))]
38 mov QWORD PTR[64+rsp],rax
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]
52 mov ebp,DWORD PTR[4+r9]
54 mov DWORD PTR[rsp],edx
60 lea r13d,DWORD PTR[1518500249+r13*1+rdx]
65 mov r14d,DWORD PTR[8+r9]
67 mov DWORD PTR[4+rsp],ebp
73 lea r12d,DWORD PTR[1518500249+r12*1+rbp]
78 mov edx,DWORD PTR[12+r9]
80 mov DWORD PTR[8+rsp],r14d
86 lea r11d,DWORD PTR[1518500249+r11*1+r14]
91 mov ebp,DWORD PTR[16+r9]
93 mov DWORD PTR[12+rsp],edx
99 lea edi,DWORD PTR[1518500249+rdi*1+rdx]
104 mov r14d,DWORD PTR[20+r9]
106 mov DWORD PTR[16+rsp],ebp
112 lea esi,DWORD PTR[1518500249+rsi*1+rbp]
117 mov edx,DWORD PTR[24+r9]
119 mov DWORD PTR[20+rsp],r14d
125 lea r13d,DWORD PTR[1518500249+r13*1+r14]
130 mov ebp,DWORD PTR[28+r9]
132 mov DWORD PTR[24+rsp],edx
138 lea r12d,DWORD PTR[1518500249+r12*1+rdx]
143 mov r14d,DWORD PTR[32+r9]
145 mov DWORD PTR[28+rsp],ebp
151 lea r11d,DWORD PTR[1518500249+r11*1+rbp]
156 mov edx,DWORD PTR[36+r9]
158 mov DWORD PTR[32+rsp],r14d
164 lea edi,DWORD PTR[1518500249+rdi*1+r14]
169 mov ebp,DWORD PTR[40+r9]
171 mov DWORD PTR[36+rsp],edx
177 lea esi,DWORD PTR[1518500249+rsi*1+rdx]
182 mov r14d,DWORD PTR[44+r9]
184 mov DWORD PTR[40+rsp],ebp
190 lea r13d,DWORD PTR[1518500249+r13*1+rbp]
195 mov edx,DWORD PTR[48+r9]
197 mov DWORD PTR[44+rsp],r14d
203 lea r12d,DWORD PTR[1518500249+r12*1+r14]
208 mov ebp,DWORD PTR[52+r9]
210 mov DWORD PTR[48+rsp],edx
216 lea r11d,DWORD PTR[1518500249+r11*1+rdx]
221 mov r14d,DWORD PTR[56+r9]
223 mov DWORD PTR[52+rsp],ebp
229 lea edi,DWORD PTR[1518500249+rdi*1+rbp]
234 mov edx,DWORD PTR[60+r9]
236 mov DWORD PTR[56+rsp],r14d
242 lea esi,DWORD PTR[1518500249+rsi*1+r14]
247 xor ebp,DWORD PTR[rsp]
249 mov DWORD PTR[60+rsp],edx
251 xor ebp,DWORD PTR[8+rsp]
254 xor ebp,DWORD PTR[32+rsp]
256 lea r13d,DWORD PTR[1518500249+r13*1+rdx]
262 xor r14d,DWORD PTR[4+rsp]
264 mov DWORD PTR[rsp],ebp
266 xor r14d,DWORD PTR[12+rsp]
269 xor r14d,DWORD PTR[36+rsp]
271 lea r12d,DWORD PTR[1518500249+r12*1+rbp]
277 xor edx,DWORD PTR[8+rsp]
279 mov DWORD PTR[4+rsp],r14d
281 xor edx,DWORD PTR[16+rsp]
284 xor edx,DWORD PTR[40+rsp]
286 lea r11d,DWORD PTR[1518500249+r11*1+r14]
292 xor ebp,DWORD PTR[12+rsp]
294 mov DWORD PTR[8+rsp],edx
296 xor ebp,DWORD PTR[20+rsp]
299 xor ebp,DWORD PTR[44+rsp]
301 lea edi,DWORD PTR[1518500249+rdi*1+rdx]
307 xor r14d,DWORD PTR[16+rsp]
309 mov DWORD PTR[12+rsp],ebp
311 xor r14d,DWORD PTR[24+rsp]
314 xor r14d,DWORD PTR[48+rsp]
316 lea esi,DWORD PTR[1518500249+rsi*1+rbp]
322 xor edx,DWORD PTR[20+rsp]
324 mov DWORD PTR[16+rsp],r14d
326 xor edx,DWORD PTR[28+rsp]
329 xor edx,DWORD PTR[52+rsp]
330 lea r13d,DWORD PTR[1859775393+r13*1+r14]
336 xor ebp,DWORD PTR[24+rsp]
338 mov DWORD PTR[20+rsp],edx
340 xor ebp,DWORD PTR[32+rsp]
343 xor ebp,DWORD PTR[56+rsp]
344 lea r12d,DWORD PTR[1859775393+r12*1+rdx]
350 xor r14d,DWORD PTR[28+rsp]
352 mov DWORD PTR[24+rsp],ebp
354 xor r14d,DWORD PTR[36+rsp]
357 xor r14d,DWORD PTR[60+rsp]
358 lea r11d,DWORD PTR[1859775393+r11*1+rbp]
364 xor edx,DWORD PTR[32+rsp]
366 mov DWORD PTR[28+rsp],r14d
368 xor edx,DWORD PTR[40+rsp]
371 xor edx,DWORD PTR[rsp]
372 lea edi,DWORD PTR[1859775393+rdi*1+r14]
378 xor ebp,DWORD PTR[36+rsp]
380 mov DWORD PTR[32+rsp],edx
382 xor ebp,DWORD PTR[44+rsp]
385 xor ebp,DWORD PTR[4+rsp]
386 lea esi,DWORD PTR[1859775393+rsi*1+rdx]
392 xor r14d,DWORD PTR[40+rsp]
394 mov DWORD PTR[36+rsp],ebp
396 xor r14d,DWORD PTR[48+rsp]
399 xor r14d,DWORD PTR[8+rsp]
400 lea r13d,DWORD PTR[1859775393+r13*1+rbp]
406 xor edx,DWORD PTR[44+rsp]
408 mov DWORD PTR[40+rsp],r14d
410 xor edx,DWORD PTR[52+rsp]
413 xor edx,DWORD PTR[12+rsp]
414 lea r12d,DWORD PTR[1859775393+r12*1+r14]
420 xor ebp,DWORD PTR[48+rsp]
422 mov DWORD PTR[44+rsp],edx
424 xor ebp,DWORD PTR[56+rsp]
427 xor ebp,DWORD PTR[16+rsp]
428 lea r11d,DWORD PTR[1859775393+r11*1+rdx]
434 xor r14d,DWORD PTR[52+rsp]
436 mov DWORD PTR[48+rsp],ebp
438 xor r14d,DWORD PTR[60+rsp]
441 xor r14d,DWORD PTR[20+rsp]
442 lea edi,DWORD PTR[1859775393+rdi*1+rbp]
448 xor edx,DWORD PTR[56+rsp]
450 mov DWORD PTR[52+rsp],r14d
452 xor edx,DWORD PTR[rsp]
455 xor edx,DWORD PTR[24+rsp]
456 lea esi,DWORD PTR[1859775393+rsi*1+r14]
462 xor ebp,DWORD PTR[60+rsp]
464 mov DWORD PTR[56+rsp],edx
466 xor ebp,DWORD PTR[4+rsp]
469 xor ebp,DWORD PTR[28+rsp]
470 lea r13d,DWORD PTR[1859775393+r13*1+rdx]
476 xor r14d,DWORD PTR[rsp]
478 mov DWORD PTR[60+rsp],ebp
480 xor r14d,DWORD PTR[8+rsp]
483 xor r14d,DWORD PTR[32+rsp]
484 lea r12d,DWORD PTR[1859775393+r12*1+rbp]
490 xor edx,DWORD PTR[4+rsp]
492 mov DWORD PTR[rsp],r14d
494 xor edx,DWORD PTR[12+rsp]
497 xor edx,DWORD PTR[36+rsp]
498 lea r11d,DWORD PTR[1859775393+r11*1+r14]
504 xor ebp,DWORD PTR[8+rsp]
506 mov DWORD PTR[4+rsp],edx
508 xor ebp,DWORD PTR[16+rsp]
511 xor ebp,DWORD PTR[40+rsp]
512 lea edi,DWORD PTR[1859775393+rdi*1+rdx]
518 xor r14d,DWORD PTR[12+rsp]
520 mov DWORD PTR[8+rsp],ebp
522 xor r14d,DWORD PTR[20+rsp]
525 xor r14d,DWORD PTR[44+rsp]
526 lea esi,DWORD PTR[1859775393+rsi*1+rbp]
532 xor edx,DWORD PTR[16+rsp]
534 mov DWORD PTR[12+rsp],r14d
536 xor edx,DWORD PTR[24+rsp]
539 xor edx,DWORD PTR[48+rsp]
540 lea r13d,DWORD PTR[1859775393+r13*1+r14]
546 xor ebp,DWORD PTR[20+rsp]
548 mov DWORD PTR[16+rsp],edx
550 xor ebp,DWORD PTR[28+rsp]
553 xor ebp,DWORD PTR[52+rsp]
554 lea r12d,DWORD PTR[1859775393+r12*1+rdx]
560 xor r14d,DWORD PTR[24+rsp]
562 mov DWORD PTR[20+rsp],ebp
564 xor r14d,DWORD PTR[32+rsp]
567 xor r14d,DWORD PTR[56+rsp]
568 lea r11d,DWORD PTR[1859775393+r11*1+rbp]
574 xor edx,DWORD PTR[28+rsp]
576 mov DWORD PTR[24+rsp],r14d
578 xor edx,DWORD PTR[36+rsp]
581 xor edx,DWORD PTR[60+rsp]
582 lea edi,DWORD PTR[1859775393+rdi*1+r14]
588 xor ebp,DWORD PTR[32+rsp]
590 mov DWORD PTR[28+rsp],edx
592 xor ebp,DWORD PTR[40+rsp]
595 xor ebp,DWORD PTR[rsp]
596 lea esi,DWORD PTR[1859775393+rsi*1+rdx]
602 xor r14d,DWORD PTR[36+rsp]
604 mov DWORD PTR[32+rsp],ebp
606 xor r14d,DWORD PTR[44+rsp]
609 xor r14d,DWORD PTR[4+rsp]
610 lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp]
619 xor edx,DWORD PTR[40+rsp]
621 mov DWORD PTR[36+rsp],r14d
623 xor edx,DWORD PTR[48+rsp]
626 xor edx,DWORD PTR[8+rsp]
627 lea r12d,DWORD PTR[((-1894007588))+r12*1+r14]
636 xor ebp,DWORD PTR[44+rsp]
638 mov DWORD PTR[40+rsp],edx
640 xor ebp,DWORD PTR[52+rsp]
643 xor ebp,DWORD PTR[12+rsp]
644 lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx]
653 xor r14d,DWORD PTR[48+rsp]
655 mov DWORD PTR[44+rsp],ebp
657 xor r14d,DWORD PTR[56+rsp]
660 xor r14d,DWORD PTR[16+rsp]
661 lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp]
670 xor edx,DWORD PTR[52+rsp]
672 mov DWORD PTR[48+rsp],r14d
674 xor edx,DWORD PTR[60+rsp]
677 xor edx,DWORD PTR[20+rsp]
678 lea esi,DWORD PTR[((-1894007588))+rsi*1+r14]
687 xor ebp,DWORD PTR[56+rsp]
689 mov DWORD PTR[52+rsp],edx
691 xor ebp,DWORD PTR[rsp]
694 xor ebp,DWORD PTR[24+rsp]
695 lea r13d,DWORD PTR[((-1894007588))+r13*1+rdx]
704 xor r14d,DWORD PTR[60+rsp]
706 mov DWORD PTR[56+rsp],ebp
708 xor r14d,DWORD PTR[4+rsp]
711 xor r14d,DWORD PTR[28+rsp]
712 lea r12d,DWORD PTR[((-1894007588))+r12*1+rbp]
721 xor edx,DWORD PTR[rsp]
723 mov DWORD PTR[60+rsp],r14d
725 xor edx,DWORD PTR[8+rsp]
728 xor edx,DWORD PTR[32+rsp]
729 lea r11d,DWORD PTR[((-1894007588))+r11*1+r14]
738 xor ebp,DWORD PTR[4+rsp]
740 mov DWORD PTR[rsp],edx
742 xor ebp,DWORD PTR[12+rsp]
745 xor ebp,DWORD PTR[36+rsp]
746 lea edi,DWORD PTR[((-1894007588))+rdi*1+rdx]
755 xor r14d,DWORD PTR[8+rsp]
757 mov DWORD PTR[4+rsp],ebp
759 xor r14d,DWORD PTR[16+rsp]
762 xor r14d,DWORD PTR[40+rsp]
763 lea esi,DWORD PTR[((-1894007588))+rsi*1+rbp]
772 xor edx,DWORD PTR[12+rsp]
774 mov DWORD PTR[8+rsp],r14d
776 xor edx,DWORD PTR[20+rsp]
779 xor edx,DWORD PTR[44+rsp]
780 lea r13d,DWORD PTR[((-1894007588))+r13*1+r14]
789 xor ebp,DWORD PTR[16+rsp]
791 mov DWORD PTR[12+rsp],edx
793 xor ebp,DWORD PTR[24+rsp]
796 xor ebp,DWORD PTR[48+rsp]
797 lea r12d,DWORD PTR[((-1894007588))+r12*1+rdx]
806 xor r14d,DWORD PTR[20+rsp]
808 mov DWORD PTR[16+rsp],ebp
810 xor r14d,DWORD PTR[28+rsp]
813 xor r14d,DWORD PTR[52+rsp]
814 lea r11d,DWORD PTR[((-1894007588))+r11*1+rbp]
823 xor edx,DWORD PTR[24+rsp]
825 mov DWORD PTR[20+rsp],r14d
827 xor edx,DWORD PTR[32+rsp]
830 xor edx,DWORD PTR[56+rsp]
831 lea edi,DWORD PTR[((-1894007588))+rdi*1+r14]
840 xor ebp,DWORD PTR[28+rsp]
842 mov DWORD PTR[24+rsp],edx
844 xor ebp,DWORD PTR[36+rsp]
847 xor ebp,DWORD PTR[60+rsp]
848 lea esi,DWORD PTR[((-1894007588))+rsi*1+rdx]
857 xor r14d,DWORD PTR[32+rsp]
859 mov DWORD PTR[28+rsp],ebp
861 xor r14d,DWORD PTR[40+rsp]
864 xor r14d,DWORD PTR[rsp]
865 lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp]
874 xor edx,DWORD PTR[36+rsp]
876 mov DWORD PTR[32+rsp],r14d
878 xor edx,DWORD PTR[44+rsp]
881 xor edx,DWORD PTR[4+rsp]
882 lea r12d,DWORD PTR[((-1894007588))+r12*1+r14]
891 xor ebp,DWORD PTR[40+rsp]
893 mov DWORD PTR[36+rsp],edx
895 xor ebp,DWORD PTR[48+rsp]
898 xor ebp,DWORD PTR[8+rsp]
899 lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx]
908 xor r14d,DWORD PTR[44+rsp]
910 mov DWORD PTR[40+rsp],ebp
912 xor r14d,DWORD PTR[52+rsp]
915 xor r14d,DWORD PTR[12+rsp]
916 lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp]
925 xor edx,DWORD PTR[48+rsp]
927 mov DWORD PTR[44+rsp],r14d
929 xor edx,DWORD PTR[56+rsp]
932 xor edx,DWORD PTR[16+rsp]
933 lea esi,DWORD PTR[((-1894007588))+rsi*1+r14]
942 xor ebp,DWORD PTR[52+rsp]
944 mov DWORD PTR[48+rsp],edx
946 xor ebp,DWORD PTR[60+rsp]
949 xor ebp,DWORD PTR[20+rsp]
950 lea r13d,DWORD PTR[((-899497514))+r13*1+rdx]
956 xor r14d,DWORD PTR[56+rsp]
958 mov DWORD PTR[52+rsp],ebp
960 xor r14d,DWORD PTR[rsp]
963 xor r14d,DWORD PTR[24+rsp]
964 lea r12d,DWORD PTR[((-899497514))+r12*1+rbp]
970 xor edx,DWORD PTR[60+rsp]
972 mov DWORD PTR[56+rsp],r14d
974 xor edx,DWORD PTR[4+rsp]
977 xor edx,DWORD PTR[28+rsp]
978 lea r11d,DWORD PTR[((-899497514))+r11*1+r14]
984 xor ebp,DWORD PTR[rsp]
986 mov DWORD PTR[60+rsp],edx
988 xor ebp,DWORD PTR[8+rsp]
991 xor ebp,DWORD PTR[32+rsp]
992 lea edi,DWORD PTR[((-899497514))+rdi*1+rdx]
998 xor r14d,DWORD PTR[4+rsp]
1000 mov DWORD PTR[rsp],ebp
1002 xor r14d,DWORD PTR[12+rsp]
1005 xor r14d,DWORD PTR[36+rsp]
1006 lea esi,DWORD PTR[((-899497514))+rsi*1+rbp]
1012 xor edx,DWORD PTR[8+rsp]
1014 mov DWORD PTR[4+rsp],r14d
1016 xor edx,DWORD PTR[16+rsp]
1019 xor edx,DWORD PTR[40+rsp]
1020 lea r13d,DWORD PTR[((-899497514))+r13*1+r14]
1026 xor ebp,DWORD PTR[12+rsp]
1028 mov DWORD PTR[8+rsp],edx
1030 xor ebp,DWORD PTR[20+rsp]
1033 xor ebp,DWORD PTR[44+rsp]
1034 lea r12d,DWORD PTR[((-899497514))+r12*1+rdx]
1040 xor r14d,DWORD PTR[16+rsp]
1042 mov DWORD PTR[12+rsp],ebp
1044 xor r14d,DWORD PTR[24+rsp]
1047 xor r14d,DWORD PTR[48+rsp]
1048 lea r11d,DWORD PTR[((-899497514))+r11*1+rbp]
1054 xor edx,DWORD PTR[20+rsp]
1056 mov DWORD PTR[16+rsp],r14d
1058 xor edx,DWORD PTR[28+rsp]
1061 xor edx,DWORD PTR[52+rsp]
1062 lea edi,DWORD PTR[((-899497514))+rdi*1+r14]
1068 xor ebp,DWORD PTR[24+rsp]
1070 mov DWORD PTR[20+rsp],edx
1072 xor ebp,DWORD PTR[32+rsp]
1075 xor ebp,DWORD PTR[56+rsp]
1076 lea esi,DWORD PTR[((-899497514))+rsi*1+rdx]
1082 xor r14d,DWORD PTR[28+rsp]
1084 mov DWORD PTR[24+rsp],ebp
1086 xor r14d,DWORD PTR[36+rsp]
1089 xor r14d,DWORD PTR[60+rsp]
1090 lea r13d,DWORD PTR[((-899497514))+r13*1+rbp]
1096 xor edx,DWORD PTR[32+rsp]
1098 mov DWORD PTR[28+rsp],r14d
1100 xor edx,DWORD PTR[40+rsp]
1103 xor edx,DWORD PTR[rsp]
1104 lea r12d,DWORD PTR[((-899497514))+r12*1+r14]
1110 xor ebp,DWORD PTR[36+rsp]
1114 xor ebp,DWORD PTR[44+rsp]
1117 xor ebp,DWORD PTR[4+rsp]
1118 lea r11d,DWORD PTR[((-899497514))+r11*1+rdx]
1124 xor r14d,DWORD PTR[40+rsp]
1128 xor r14d,DWORD PTR[48+rsp]
1131 xor r14d,DWORD PTR[8+rsp]
1132 lea edi,DWORD PTR[((-899497514))+rdi*1+rbp]
1138 xor edx,DWORD PTR[44+rsp]
1142 xor edx,DWORD PTR[52+rsp]
1145 xor edx,DWORD PTR[12+rsp]
1146 lea esi,DWORD PTR[((-899497514))+rsi*1+r14]
1152 xor ebp,DWORD PTR[48+rsp]
1156 xor ebp,DWORD PTR[56+rsp]
1159 xor ebp,DWORD PTR[16+rsp]
1160 lea r13d,DWORD PTR[((-899497514))+r13*1+rdx]
1166 xor r14d,DWORD PTR[52+rsp]
1170 xor r14d,DWORD PTR[60+rsp]
1173 xor r14d,DWORD PTR[20+rsp]
1174 lea r12d,DWORD PTR[((-899497514))+r12*1+rbp]
1180 xor edx,DWORD PTR[56+rsp]
1184 xor edx,DWORD PTR[rsp]
1187 xor edx,DWORD PTR[24+rsp]
1188 lea r11d,DWORD PTR[((-899497514))+r11*1+r14]
1194 xor ebp,DWORD PTR[60+rsp]
1198 xor ebp,DWORD PTR[4+rsp]
1201 xor ebp,DWORD PTR[28+rsp]
1202 lea edi,DWORD PTR[((-899497514))+rdi*1+rdx]
1211 lea esi,DWORD PTR[((-899497514))+rsi*1+rbp]
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
1229 lea r9,QWORD PTR[64+r9]
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]
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
1247 sha1_block_data_order_ssse3 PROC PRIVATE
1248 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
1249 mov QWORD PTR[16+rsp],rsi
1251 $L$SEH_begin_sha1_block_data_order_ssse3::
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
1280 lea r11,QWORD PTR[((K_XX_XX+64))]
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]
1287 mov ebp,DWORD PTR[16+r8]
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]
1306 movdqa XMMWORD PTR[rsp],xmm0
1308 movdqa XMMWORD PTR[16+rsp],xmm1
1310 movdqa XMMWORD PTR[32+rsp],xmm2
1316 pshufd xmm4,xmm0,238
1321 add ebp,DWORD PTR[rsp]
1322 punpcklqdq xmm4,xmm1
1335 add edx,DWORD PTR[4+rsp]
1339 movdqa XMMWORD PTR[48+rsp],xmm9
1351 add ecx,DWORD PTR[8+rsp]
1365 add ebx,DWORD PTR[12+rsp]
1369 movdqa xmm10,XMMWORD PTR[((-64))+r11]
1377 pshufd xmm5,xmm1,238
1382 add eax,DWORD PTR[16+rsp]
1383 punpcklqdq xmm5,xmm2
1396 add ebp,DWORD PTR[20+rsp]
1400 movdqa XMMWORD PTR[rsp],xmm10
1412 add edx,DWORD PTR[24+rsp]
1426 add ecx,DWORD PTR[28+rsp]
1430 movdqa xmm8,XMMWORD PTR[((-32))+r11]
1438 pshufd xmm6,xmm2,238
1443 add ebx,DWORD PTR[32+rsp]
1444 punpcklqdq xmm6,xmm3
1457 add eax,DWORD PTR[36+rsp]
1461 movdqa XMMWORD PTR[16+rsp],xmm8
1473 add ebp,DWORD PTR[40+rsp]
1487 add edx,DWORD PTR[44+rsp]
1491 movdqa xmm9,XMMWORD PTR[((-32))+r11]
1499 pshufd xmm7,xmm3,238
1504 add ecx,DWORD PTR[48+rsp]
1505 punpcklqdq xmm7,xmm4
1518 add ebx,DWORD PTR[52+rsp]
1522 movdqa XMMWORD PTR[32+rsp],xmm9
1534 add eax,DWORD PTR[56+rsp]
1548 add ebp,DWORD PTR[60+rsp]
1552 movdqa xmm10,XMMWORD PTR[((-32))+r11]
1557 pshufd xmm9,xmm6,238
1564 add edx,DWORD PTR[rsp]
1565 punpcklqdq xmm9,xmm7
1579 add ecx,DWORD PTR[4+rsp]
1583 movdqa XMMWORD PTR[48+rsp],xmm10
1593 add ebx,DWORD PTR[8+rsp]
1597 pshufd xmm10,xmm7,238
1602 add eax,DWORD PTR[12+rsp]
1611 add ebp,DWORD PTR[16+rsp]
1613 punpcklqdq xmm10,xmm0
1624 add edx,DWORD PTR[20+rsp]
1631 movdqa XMMWORD PTR[rsp],xmm8
1634 add ecx,DWORD PTR[24+rsp]
1645 add ebx,DWORD PTR[28+rsp]
1646 pshufd xmm8,xmm0,238
1655 add eax,DWORD PTR[32+rsp]
1657 punpcklqdq xmm8,xmm1
1663 movdqa xmm10,XMMWORD PTR[r11]
1668 add ebp,DWORD PTR[36+rsp]
1675 movdqa XMMWORD PTR[16+rsp],xmm9
1678 add edx,DWORD PTR[40+rsp]
1689 add ecx,DWORD PTR[44+rsp]
1690 pshufd xmm9,xmm1,238
1699 add ebx,DWORD PTR[48+rsp]
1701 punpcklqdq xmm9,xmm2
1712 add eax,DWORD PTR[52+rsp]
1719 movdqa XMMWORD PTR[32+rsp],xmm10
1722 add ebp,DWORD PTR[56+rsp]
1733 add edx,DWORD PTR[60+rsp]
1734 pshufd xmm10,xmm2,238
1743 add ecx,DWORD PTR[rsp]
1745 punpcklqdq xmm10,xmm3
1756 add ebx,DWORD PTR[4+rsp]
1763 movdqa XMMWORD PTR[48+rsp],xmm8
1766 add eax,DWORD PTR[8+rsp]
1777 add ebp,DWORD PTR[12+rsp]
1778 pshufd xmm8,xmm3,238
1787 add edx,DWORD PTR[16+rsp]
1789 punpcklqdq xmm8,xmm4
1800 add ecx,DWORD PTR[20+rsp]
1807 movdqa XMMWORD PTR[rsp],xmm9
1810 add ebx,DWORD PTR[24+rsp]
1821 add eax,DWORD PTR[28+rsp]
1822 pshufd xmm9,xmm4,238
1832 add ebp,DWORD PTR[32+rsp]
1836 punpcklqdq xmm9,xmm5
1848 add edx,DWORD PTR[36+rsp]
1855 movdqa XMMWORD PTR[16+rsp],xmm10
1863 add ecx,DWORD PTR[40+rsp]
1871 pshufd xmm10,xmm5,238
1876 add ebx,DWORD PTR[44+rsp]
1888 add eax,DWORD PTR[48+rsp]
1892 punpcklqdq xmm10,xmm6
1898 movdqa xmm9,XMMWORD PTR[32+r11]
1904 add ebp,DWORD PTR[52+rsp]
1911 movdqa XMMWORD PTR[32+rsp],xmm8
1919 add edx,DWORD PTR[56+rsp]
1927 pshufd xmm8,xmm6,238
1932 add ecx,DWORD PTR[60+rsp]
1944 add ebx,DWORD PTR[rsp]
1948 punpcklqdq xmm8,xmm7
1960 add eax,DWORD PTR[4+rsp]
1967 movdqa XMMWORD PTR[48+rsp],xmm9
1975 add ebp,DWORD PTR[8+rsp]
1983 pshufd xmm9,xmm7,238
1988 add edx,DWORD PTR[12+rsp]
2000 add ecx,DWORD PTR[16+rsp]
2004 punpcklqdq xmm9,xmm0
2016 add ebx,DWORD PTR[20+rsp]
2023 movdqa XMMWORD PTR[rsp],xmm10
2031 add eax,DWORD PTR[24+rsp]
2039 pshufd xmm10,xmm0,238
2044 add ebp,DWORD PTR[28+rsp]
2056 add edx,DWORD PTR[32+rsp]
2060 punpcklqdq xmm10,xmm1
2072 add ecx,DWORD PTR[36+rsp]
2079 movdqa XMMWORD PTR[16+rsp],xmm8
2087 add ebx,DWORD PTR[40+rsp]
2095 pshufd xmm8,xmm1,238
2100 add eax,DWORD PTR[44+rsp]
2111 add ebp,DWORD PTR[48+rsp]
2113 punpcklqdq xmm8,xmm2
2124 add edx,DWORD PTR[52+rsp]
2131 movdqa XMMWORD PTR[32+rsp],xmm9
2134 add ecx,DWORD PTR[56+rsp]
2145 add ebx,DWORD PTR[60+rsp]
2153 add eax,DWORD PTR[rsp]
2160 movdqa XMMWORD PTR[48+rsp],xmm10
2163 add ebp,DWORD PTR[4+rsp]
2171 add edx,DWORD PTR[8+rsp]
2179 add ecx,DWORD PTR[12+rsp]
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]
2197 add ebx,DWORD PTR[16+rsp]
2207 add eax,DWORD PTR[20+rsp]
2210 movdqa XMMWORD PTR[rsp],xmm0
2217 add ebp,DWORD PTR[24+rsp]
2225 add edx,DWORD PTR[28+rsp]
2233 add ecx,DWORD PTR[32+rsp]
2243 add ebx,DWORD PTR[36+rsp]
2246 movdqa XMMWORD PTR[16+rsp],xmm1
2253 add eax,DWORD PTR[40+rsp]
2261 add ebp,DWORD PTR[44+rsp]
2269 add edx,DWORD PTR[48+rsp]
2279 add ecx,DWORD PTR[52+rsp]
2282 movdqa XMMWORD PTR[32+rsp],xmm2
2289 add ebx,DWORD PTR[56+rsp]
2297 add eax,DWORD PTR[60+rsp]
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
2312 mov DWORD PTR[8+r8],ecx
2314 mov DWORD PTR[12+r8],edx
2316 mov DWORD PTR[16+r8],ebp
2322 add ebx,DWORD PTR[16+rsp]
2330 add eax,DWORD PTR[20+rsp]
2338 add ebp,DWORD PTR[24+rsp]
2346 add edx,DWORD PTR[28+rsp]
2354 add ecx,DWORD PTR[32+rsp]
2362 add ebx,DWORD PTR[36+rsp]
2370 add eax,DWORD PTR[40+rsp]
2378 add ebp,DWORD PTR[44+rsp]
2386 add edx,DWORD PTR[48+rsp]
2394 add ecx,DWORD PTR[52+rsp]
2402 add ebx,DWORD PTR[56+rsp]
2410 add eax,DWORD PTR[60+rsp]
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]
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
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
2465 EXTERN __imp_RtlVirtualUnwind:NEAR
2468 se_handler PROC PRIVATE
2480 mov rax,QWORD PTR[120+r8]
2481 mov rbx,QWORD PTR[248+r8]
2483 lea r10,QWORD PTR[$L$prologue]
2485 jb $L$common_seh_tail
2487 mov rax,QWORD PTR[152+r8]
2489 lea r10,QWORD PTR[$L$epilogue]
2491 jae $L$common_seh_tail
2493 mov rax,QWORD PTR[64+rax]
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
2506 jmp $L$common_seh_tail
2510 ssse3_handler PROC PRIVATE
2522 mov rax,QWORD PTR[120+r8]
2523 mov rbx,QWORD PTR[248+r8]
2525 mov rsi,QWORD PTR[8+r9]
2526 mov r11,QWORD PTR[56+r9]
2528 mov r10d,DWORD PTR[r11]
2529 lea r10,QWORD PTR[r10*1+rsi]
2531 jb $L$common_seh_tail
2533 mov rax,QWORD PTR[152+r8]
2535 mov r10d,DWORD PTR[4+r11]
2536 lea r10,QWORD PTR[r10*1+rsi]
2538 jae $L$common_seh_tail
2540 mov rax,QWORD PTR[232+r8]
2542 lea rsi,QWORD PTR[((-40-96))+rax]
2543 lea rdi,QWORD PTR[512+r8]
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
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
2565 mov rdi,QWORD PTR[40+r9]
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]
2595 DB 0F3h,0C3h ;repret
2599 .pdata SEGMENT READONLY 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
2608 .xdata SEGMENT READONLY ALIGN(8)
2610 $L$SEH_info_sha1_block_data_order::
2612 DD imagerel se_handler
2613 $L$SEH_info_sha1_block_data_order_ssse3::
2615 DD imagerel ssse3_handler
2616 DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3