Index: third_party/boringssl/win-x86/crypto/sha/sha1-586.asm |
diff --git a/third_party/boringssl/win-x86/crypto/sha/sha1-586.asm b/third_party/boringssl/win-x86/crypto/sha/sha1-586.asm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e24449d2006878e88c882ef27858b1be8d0a7c47 |
--- /dev/null |
+++ b/third_party/boringssl/win-x86/crypto/sha/sha1-586.asm |
@@ -0,0 +1,2805 @@ |
+%ifidn __OUTPUT_FORMAT__,obj |
+section code use32 class=code align=64 |
+%elifidn __OUTPUT_FORMAT__,win32 |
+%ifdef __YASM_VERSION_ID__ |
+%if __YASM_VERSION_ID__ < 01010000h |
+%error yasm version 1.1.0 or later needed. |
+%endif |
+; Yasm automatically includes .00 and complains about redefining it. |
+; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html |
+%else |
+$@feat.00 equ 1 |
+%endif |
+section .text code align=64 |
+%else |
+section .text code |
+%endif |
+;extern _OPENSSL_ia32cap_P |
+global _sha1_block_data_order |
+align 16 |
+_sha1_block_data_order: |
+L$_sha1_block_data_order_begin: |
+ push ebp |
+ push ebx |
+ push esi |
+ push edi |
+ call L$000pic_point |
+L$000pic_point: |
+ pop ebp |
+ lea esi,[_OPENSSL_ia32cap_P] |
+ lea ebp,[(L$K_XX_XX-L$000pic_point)+ebp] |
+ mov eax,DWORD [esi] |
+ mov edx,DWORD [4+esi] |
+ test edx,512 |
+ jz NEAR L$001x86 |
+ mov ecx,DWORD [8+esi] |
+ test eax,16777216 |
+ jz NEAR L$001x86 |
+ test ecx,536870912 |
+ jnz NEAR L$shaext_shortcut |
+ jmp NEAR L$ssse3_shortcut |
+align 16 |
+L$001x86: |
+ mov ebp,DWORD [20+esp] |
+ mov esi,DWORD [24+esp] |
+ mov eax,DWORD [28+esp] |
+ sub esp,76 |
+ shl eax,6 |
+ add eax,esi |
+ mov DWORD [104+esp],eax |
+ mov edi,DWORD [16+ebp] |
+ jmp NEAR L$002loop |
+align 16 |
+L$002loop: |
+ mov eax,DWORD [esi] |
+ mov ebx,DWORD [4+esi] |
+ mov ecx,DWORD [8+esi] |
+ mov edx,DWORD [12+esi] |
+ bswap eax |
+ bswap ebx |
+ bswap ecx |
+ bswap edx |
+ mov DWORD [esp],eax |
+ mov DWORD [4+esp],ebx |
+ mov DWORD [8+esp],ecx |
+ mov DWORD [12+esp],edx |
+ mov eax,DWORD [16+esi] |
+ mov ebx,DWORD [20+esi] |
+ mov ecx,DWORD [24+esi] |
+ mov edx,DWORD [28+esi] |
+ bswap eax |
+ bswap ebx |
+ bswap ecx |
+ bswap edx |
+ mov DWORD [16+esp],eax |
+ mov DWORD [20+esp],ebx |
+ mov DWORD [24+esp],ecx |
+ mov DWORD [28+esp],edx |
+ mov eax,DWORD [32+esi] |
+ mov ebx,DWORD [36+esi] |
+ mov ecx,DWORD [40+esi] |
+ mov edx,DWORD [44+esi] |
+ bswap eax |
+ bswap ebx |
+ bswap ecx |
+ bswap edx |
+ mov DWORD [32+esp],eax |
+ mov DWORD [36+esp],ebx |
+ mov DWORD [40+esp],ecx |
+ mov DWORD [44+esp],edx |
+ mov eax,DWORD [48+esi] |
+ mov ebx,DWORD [52+esi] |
+ mov ecx,DWORD [56+esi] |
+ mov edx,DWORD [60+esi] |
+ bswap eax |
+ bswap ebx |
+ bswap ecx |
+ bswap edx |
+ mov DWORD [48+esp],eax |
+ mov DWORD [52+esp],ebx |
+ mov DWORD [56+esp],ecx |
+ mov DWORD [60+esp],edx |
+ mov DWORD [100+esp],esi |
+ mov eax,DWORD [ebp] |
+ mov ebx,DWORD [4+ebp] |
+ mov ecx,DWORD [8+ebp] |
+ mov edx,DWORD [12+ebp] |
+ ; 00_15 0 |
+ mov esi,ecx |
+ mov ebp,eax |
+ rol ebp,5 |
+ xor esi,edx |
+ add ebp,edi |
+ mov edi,DWORD [esp] |
+ and esi,ebx |
+ ror ebx,2 |
+ xor esi,edx |
+ lea ebp,[1518500249+edi*1+ebp] |
+ add ebp,esi |
+ ; 00_15 1 |
+ mov edi,ebx |
+ mov esi,ebp |
+ rol ebp,5 |
+ xor edi,ecx |
+ add ebp,edx |
+ mov edx,DWORD [4+esp] |
+ and edi,eax |
+ ror eax,2 |
+ xor edi,ecx |
+ lea ebp,[1518500249+edx*1+ebp] |
+ add ebp,edi |
+ ; 00_15 2 |
+ mov edx,eax |
+ mov edi,ebp |
+ rol ebp,5 |
+ xor edx,ebx |
+ add ebp,ecx |
+ mov ecx,DWORD [8+esp] |
+ and edx,esi |
+ ror esi,2 |
+ xor edx,ebx |
+ lea ebp,[1518500249+ecx*1+ebp] |
+ add ebp,edx |
+ ; 00_15 3 |
+ mov ecx,esi |
+ mov edx,ebp |
+ rol ebp,5 |
+ xor ecx,eax |
+ add ebp,ebx |
+ mov ebx,DWORD [12+esp] |
+ and ecx,edi |
+ ror edi,2 |
+ xor ecx,eax |
+ lea ebp,[1518500249+ebx*1+ebp] |
+ add ebp,ecx |
+ ; 00_15 4 |
+ mov ebx,edi |
+ mov ecx,ebp |
+ rol ebp,5 |
+ xor ebx,esi |
+ add ebp,eax |
+ mov eax,DWORD [16+esp] |
+ and ebx,edx |
+ ror edx,2 |
+ xor ebx,esi |
+ lea ebp,[1518500249+eax*1+ebp] |
+ add ebp,ebx |
+ ; 00_15 5 |
+ mov eax,edx |
+ mov ebx,ebp |
+ rol ebp,5 |
+ xor eax,edi |
+ add ebp,esi |
+ mov esi,DWORD [20+esp] |
+ and eax,ecx |
+ ror ecx,2 |
+ xor eax,edi |
+ lea ebp,[1518500249+esi*1+ebp] |
+ add ebp,eax |
+ ; 00_15 6 |
+ mov esi,ecx |
+ mov eax,ebp |
+ rol ebp,5 |
+ xor esi,edx |
+ add ebp,edi |
+ mov edi,DWORD [24+esp] |
+ and esi,ebx |
+ ror ebx,2 |
+ xor esi,edx |
+ lea ebp,[1518500249+edi*1+ebp] |
+ add ebp,esi |
+ ; 00_15 7 |
+ mov edi,ebx |
+ mov esi,ebp |
+ rol ebp,5 |
+ xor edi,ecx |
+ add ebp,edx |
+ mov edx,DWORD [28+esp] |
+ and edi,eax |
+ ror eax,2 |
+ xor edi,ecx |
+ lea ebp,[1518500249+edx*1+ebp] |
+ add ebp,edi |
+ ; 00_15 8 |
+ mov edx,eax |
+ mov edi,ebp |
+ rol ebp,5 |
+ xor edx,ebx |
+ add ebp,ecx |
+ mov ecx,DWORD [32+esp] |
+ and edx,esi |
+ ror esi,2 |
+ xor edx,ebx |
+ lea ebp,[1518500249+ecx*1+ebp] |
+ add ebp,edx |
+ ; 00_15 9 |
+ mov ecx,esi |
+ mov edx,ebp |
+ rol ebp,5 |
+ xor ecx,eax |
+ add ebp,ebx |
+ mov ebx,DWORD [36+esp] |
+ and ecx,edi |
+ ror edi,2 |
+ xor ecx,eax |
+ lea ebp,[1518500249+ebx*1+ebp] |
+ add ebp,ecx |
+ ; 00_15 10 |
+ mov ebx,edi |
+ mov ecx,ebp |
+ rol ebp,5 |
+ xor ebx,esi |
+ add ebp,eax |
+ mov eax,DWORD [40+esp] |
+ and ebx,edx |
+ ror edx,2 |
+ xor ebx,esi |
+ lea ebp,[1518500249+eax*1+ebp] |
+ add ebp,ebx |
+ ; 00_15 11 |
+ mov eax,edx |
+ mov ebx,ebp |
+ rol ebp,5 |
+ xor eax,edi |
+ add ebp,esi |
+ mov esi,DWORD [44+esp] |
+ and eax,ecx |
+ ror ecx,2 |
+ xor eax,edi |
+ lea ebp,[1518500249+esi*1+ebp] |
+ add ebp,eax |
+ ; 00_15 12 |
+ mov esi,ecx |
+ mov eax,ebp |
+ rol ebp,5 |
+ xor esi,edx |
+ add ebp,edi |
+ mov edi,DWORD [48+esp] |
+ and esi,ebx |
+ ror ebx,2 |
+ xor esi,edx |
+ lea ebp,[1518500249+edi*1+ebp] |
+ add ebp,esi |
+ ; 00_15 13 |
+ mov edi,ebx |
+ mov esi,ebp |
+ rol ebp,5 |
+ xor edi,ecx |
+ add ebp,edx |
+ mov edx,DWORD [52+esp] |
+ and edi,eax |
+ ror eax,2 |
+ xor edi,ecx |
+ lea ebp,[1518500249+edx*1+ebp] |
+ add ebp,edi |
+ ; 00_15 14 |
+ mov edx,eax |
+ mov edi,ebp |
+ rol ebp,5 |
+ xor edx,ebx |
+ add ebp,ecx |
+ mov ecx,DWORD [56+esp] |
+ and edx,esi |
+ ror esi,2 |
+ xor edx,ebx |
+ lea ebp,[1518500249+ecx*1+ebp] |
+ add ebp,edx |
+ ; 00_15 15 |
+ mov ecx,esi |
+ mov edx,ebp |
+ rol ebp,5 |
+ xor ecx,eax |
+ add ebp,ebx |
+ mov ebx,DWORD [60+esp] |
+ and ecx,edi |
+ ror edi,2 |
+ xor ecx,eax |
+ lea ebp,[1518500249+ebx*1+ebp] |
+ mov ebx,DWORD [esp] |
+ add ecx,ebp |
+ ; 16_19 16 |
+ mov ebp,edi |
+ xor ebx,DWORD [8+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [32+esp] |
+ and ebp,edx |
+ xor ebx,DWORD [52+esp] |
+ rol ebx,1 |
+ xor ebp,esi |
+ add eax,ebp |
+ mov ebp,ecx |
+ ror edx,2 |
+ mov DWORD [esp],ebx |
+ rol ebp,5 |
+ lea ebx,[1518500249+eax*1+ebx] |
+ mov eax,DWORD [4+esp] |
+ add ebx,ebp |
+ ; 16_19 17 |
+ mov ebp,edx |
+ xor eax,DWORD [12+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [36+esp] |
+ and ebp,ecx |
+ xor eax,DWORD [56+esp] |
+ rol eax,1 |
+ xor ebp,edi |
+ add esi,ebp |
+ mov ebp,ebx |
+ ror ecx,2 |
+ mov DWORD [4+esp],eax |
+ rol ebp,5 |
+ lea eax,[1518500249+esi*1+eax] |
+ mov esi,DWORD [8+esp] |
+ add eax,ebp |
+ ; 16_19 18 |
+ mov ebp,ecx |
+ xor esi,DWORD [16+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [40+esp] |
+ and ebp,ebx |
+ xor esi,DWORD [60+esp] |
+ rol esi,1 |
+ xor ebp,edx |
+ add edi,ebp |
+ mov ebp,eax |
+ ror ebx,2 |
+ mov DWORD [8+esp],esi |
+ rol ebp,5 |
+ lea esi,[1518500249+edi*1+esi] |
+ mov edi,DWORD [12+esp] |
+ add esi,ebp |
+ ; 16_19 19 |
+ mov ebp,ebx |
+ xor edi,DWORD [20+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [44+esp] |
+ and ebp,eax |
+ xor edi,DWORD [esp] |
+ rol edi,1 |
+ xor ebp,ecx |
+ add edx,ebp |
+ mov ebp,esi |
+ ror eax,2 |
+ mov DWORD [12+esp],edi |
+ rol ebp,5 |
+ lea edi,[1518500249+edx*1+edi] |
+ mov edx,DWORD [16+esp] |
+ add edi,ebp |
+ ; 20_39 20 |
+ mov ebp,esi |
+ xor edx,DWORD [24+esp] |
+ xor ebp,eax |
+ xor edx,DWORD [48+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [4+esp] |
+ rol edx,1 |
+ add ecx,ebp |
+ ror esi,2 |
+ mov ebp,edi |
+ rol ebp,5 |
+ mov DWORD [16+esp],edx |
+ lea edx,[1859775393+ecx*1+edx] |
+ mov ecx,DWORD [20+esp] |
+ add edx,ebp |
+ ; 20_39 21 |
+ mov ebp,edi |
+ xor ecx,DWORD [28+esp] |
+ xor ebp,esi |
+ xor ecx,DWORD [52+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [8+esp] |
+ rol ecx,1 |
+ add ebx,ebp |
+ ror edi,2 |
+ mov ebp,edx |
+ rol ebp,5 |
+ mov DWORD [20+esp],ecx |
+ lea ecx,[1859775393+ebx*1+ecx] |
+ mov ebx,DWORD [24+esp] |
+ add ecx,ebp |
+ ; 20_39 22 |
+ mov ebp,edx |
+ xor ebx,DWORD [32+esp] |
+ xor ebp,edi |
+ xor ebx,DWORD [56+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [12+esp] |
+ rol ebx,1 |
+ add eax,ebp |
+ ror edx,2 |
+ mov ebp,ecx |
+ rol ebp,5 |
+ mov DWORD [24+esp],ebx |
+ lea ebx,[1859775393+eax*1+ebx] |
+ mov eax,DWORD [28+esp] |
+ add ebx,ebp |
+ ; 20_39 23 |
+ mov ebp,ecx |
+ xor eax,DWORD [36+esp] |
+ xor ebp,edx |
+ xor eax,DWORD [60+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [16+esp] |
+ rol eax,1 |
+ add esi,ebp |
+ ror ecx,2 |
+ mov ebp,ebx |
+ rol ebp,5 |
+ mov DWORD [28+esp],eax |
+ lea eax,[1859775393+esi*1+eax] |
+ mov esi,DWORD [32+esp] |
+ add eax,ebp |
+ ; 20_39 24 |
+ mov ebp,ebx |
+ xor esi,DWORD [40+esp] |
+ xor ebp,ecx |
+ xor esi,DWORD [esp] |
+ xor ebp,edx |
+ xor esi,DWORD [20+esp] |
+ rol esi,1 |
+ add edi,ebp |
+ ror ebx,2 |
+ mov ebp,eax |
+ rol ebp,5 |
+ mov DWORD [32+esp],esi |
+ lea esi,[1859775393+edi*1+esi] |
+ mov edi,DWORD [36+esp] |
+ add esi,ebp |
+ ; 20_39 25 |
+ mov ebp,eax |
+ xor edi,DWORD [44+esp] |
+ xor ebp,ebx |
+ xor edi,DWORD [4+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [24+esp] |
+ rol edi,1 |
+ add edx,ebp |
+ ror eax,2 |
+ mov ebp,esi |
+ rol ebp,5 |
+ mov DWORD [36+esp],edi |
+ lea edi,[1859775393+edx*1+edi] |
+ mov edx,DWORD [40+esp] |
+ add edi,ebp |
+ ; 20_39 26 |
+ mov ebp,esi |
+ xor edx,DWORD [48+esp] |
+ xor ebp,eax |
+ xor edx,DWORD [8+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [28+esp] |
+ rol edx,1 |
+ add ecx,ebp |
+ ror esi,2 |
+ mov ebp,edi |
+ rol ebp,5 |
+ mov DWORD [40+esp],edx |
+ lea edx,[1859775393+ecx*1+edx] |
+ mov ecx,DWORD [44+esp] |
+ add edx,ebp |
+ ; 20_39 27 |
+ mov ebp,edi |
+ xor ecx,DWORD [52+esp] |
+ xor ebp,esi |
+ xor ecx,DWORD [12+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [32+esp] |
+ rol ecx,1 |
+ add ebx,ebp |
+ ror edi,2 |
+ mov ebp,edx |
+ rol ebp,5 |
+ mov DWORD [44+esp],ecx |
+ lea ecx,[1859775393+ebx*1+ecx] |
+ mov ebx,DWORD [48+esp] |
+ add ecx,ebp |
+ ; 20_39 28 |
+ mov ebp,edx |
+ xor ebx,DWORD [56+esp] |
+ xor ebp,edi |
+ xor ebx,DWORD [16+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [36+esp] |
+ rol ebx,1 |
+ add eax,ebp |
+ ror edx,2 |
+ mov ebp,ecx |
+ rol ebp,5 |
+ mov DWORD [48+esp],ebx |
+ lea ebx,[1859775393+eax*1+ebx] |
+ mov eax,DWORD [52+esp] |
+ add ebx,ebp |
+ ; 20_39 29 |
+ mov ebp,ecx |
+ xor eax,DWORD [60+esp] |
+ xor ebp,edx |
+ xor eax,DWORD [20+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [40+esp] |
+ rol eax,1 |
+ add esi,ebp |
+ ror ecx,2 |
+ mov ebp,ebx |
+ rol ebp,5 |
+ mov DWORD [52+esp],eax |
+ lea eax,[1859775393+esi*1+eax] |
+ mov esi,DWORD [56+esp] |
+ add eax,ebp |
+ ; 20_39 30 |
+ mov ebp,ebx |
+ xor esi,DWORD [esp] |
+ xor ebp,ecx |
+ xor esi,DWORD [24+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [44+esp] |
+ rol esi,1 |
+ add edi,ebp |
+ ror ebx,2 |
+ mov ebp,eax |
+ rol ebp,5 |
+ mov DWORD [56+esp],esi |
+ lea esi,[1859775393+edi*1+esi] |
+ mov edi,DWORD [60+esp] |
+ add esi,ebp |
+ ; 20_39 31 |
+ mov ebp,eax |
+ xor edi,DWORD [4+esp] |
+ xor ebp,ebx |
+ xor edi,DWORD [28+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [48+esp] |
+ rol edi,1 |
+ add edx,ebp |
+ ror eax,2 |
+ mov ebp,esi |
+ rol ebp,5 |
+ mov DWORD [60+esp],edi |
+ lea edi,[1859775393+edx*1+edi] |
+ mov edx,DWORD [esp] |
+ add edi,ebp |
+ ; 20_39 32 |
+ mov ebp,esi |
+ xor edx,DWORD [8+esp] |
+ xor ebp,eax |
+ xor edx,DWORD [32+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [52+esp] |
+ rol edx,1 |
+ add ecx,ebp |
+ ror esi,2 |
+ mov ebp,edi |
+ rol ebp,5 |
+ mov DWORD [esp],edx |
+ lea edx,[1859775393+ecx*1+edx] |
+ mov ecx,DWORD [4+esp] |
+ add edx,ebp |
+ ; 20_39 33 |
+ mov ebp,edi |
+ xor ecx,DWORD [12+esp] |
+ xor ebp,esi |
+ xor ecx,DWORD [36+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [56+esp] |
+ rol ecx,1 |
+ add ebx,ebp |
+ ror edi,2 |
+ mov ebp,edx |
+ rol ebp,5 |
+ mov DWORD [4+esp],ecx |
+ lea ecx,[1859775393+ebx*1+ecx] |
+ mov ebx,DWORD [8+esp] |
+ add ecx,ebp |
+ ; 20_39 34 |
+ mov ebp,edx |
+ xor ebx,DWORD [16+esp] |
+ xor ebp,edi |
+ xor ebx,DWORD [40+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [60+esp] |
+ rol ebx,1 |
+ add eax,ebp |
+ ror edx,2 |
+ mov ebp,ecx |
+ rol ebp,5 |
+ mov DWORD [8+esp],ebx |
+ lea ebx,[1859775393+eax*1+ebx] |
+ mov eax,DWORD [12+esp] |
+ add ebx,ebp |
+ ; 20_39 35 |
+ mov ebp,ecx |
+ xor eax,DWORD [20+esp] |
+ xor ebp,edx |
+ xor eax,DWORD [44+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [esp] |
+ rol eax,1 |
+ add esi,ebp |
+ ror ecx,2 |
+ mov ebp,ebx |
+ rol ebp,5 |
+ mov DWORD [12+esp],eax |
+ lea eax,[1859775393+esi*1+eax] |
+ mov esi,DWORD [16+esp] |
+ add eax,ebp |
+ ; 20_39 36 |
+ mov ebp,ebx |
+ xor esi,DWORD [24+esp] |
+ xor ebp,ecx |
+ xor esi,DWORD [48+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [4+esp] |
+ rol esi,1 |
+ add edi,ebp |
+ ror ebx,2 |
+ mov ebp,eax |
+ rol ebp,5 |
+ mov DWORD [16+esp],esi |
+ lea esi,[1859775393+edi*1+esi] |
+ mov edi,DWORD [20+esp] |
+ add esi,ebp |
+ ; 20_39 37 |
+ mov ebp,eax |
+ xor edi,DWORD [28+esp] |
+ xor ebp,ebx |
+ xor edi,DWORD [52+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [8+esp] |
+ rol edi,1 |
+ add edx,ebp |
+ ror eax,2 |
+ mov ebp,esi |
+ rol ebp,5 |
+ mov DWORD [20+esp],edi |
+ lea edi,[1859775393+edx*1+edi] |
+ mov edx,DWORD [24+esp] |
+ add edi,ebp |
+ ; 20_39 38 |
+ mov ebp,esi |
+ xor edx,DWORD [32+esp] |
+ xor ebp,eax |
+ xor edx,DWORD [56+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [12+esp] |
+ rol edx,1 |
+ add ecx,ebp |
+ ror esi,2 |
+ mov ebp,edi |
+ rol ebp,5 |
+ mov DWORD [24+esp],edx |
+ lea edx,[1859775393+ecx*1+edx] |
+ mov ecx,DWORD [28+esp] |
+ add edx,ebp |
+ ; 20_39 39 |
+ mov ebp,edi |
+ xor ecx,DWORD [36+esp] |
+ xor ebp,esi |
+ xor ecx,DWORD [60+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [16+esp] |
+ rol ecx,1 |
+ add ebx,ebp |
+ ror edi,2 |
+ mov ebp,edx |
+ rol ebp,5 |
+ mov DWORD [28+esp],ecx |
+ lea ecx,[1859775393+ebx*1+ecx] |
+ mov ebx,DWORD [32+esp] |
+ add ecx,ebp |
+ ; 40_59 40 |
+ mov ebp,edi |
+ xor ebx,DWORD [40+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [esp] |
+ and ebp,edx |
+ xor ebx,DWORD [20+esp] |
+ rol ebx,1 |
+ add ebp,eax |
+ ror edx,2 |
+ mov eax,ecx |
+ rol eax,5 |
+ mov DWORD [32+esp],ebx |
+ lea ebx,[2400959708+ebp*1+ebx] |
+ mov ebp,edi |
+ add ebx,eax |
+ and ebp,esi |
+ mov eax,DWORD [36+esp] |
+ add ebx,ebp |
+ ; 40_59 41 |
+ mov ebp,edx |
+ xor eax,DWORD [44+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [4+esp] |
+ and ebp,ecx |
+ xor eax,DWORD [24+esp] |
+ rol eax,1 |
+ add ebp,esi |
+ ror ecx,2 |
+ mov esi,ebx |
+ rol esi,5 |
+ mov DWORD [36+esp],eax |
+ lea eax,[2400959708+ebp*1+eax] |
+ mov ebp,edx |
+ add eax,esi |
+ and ebp,edi |
+ mov esi,DWORD [40+esp] |
+ add eax,ebp |
+ ; 40_59 42 |
+ mov ebp,ecx |
+ xor esi,DWORD [48+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [8+esp] |
+ and ebp,ebx |
+ xor esi,DWORD [28+esp] |
+ rol esi,1 |
+ add ebp,edi |
+ ror ebx,2 |
+ mov edi,eax |
+ rol edi,5 |
+ mov DWORD [40+esp],esi |
+ lea esi,[2400959708+ebp*1+esi] |
+ mov ebp,ecx |
+ add esi,edi |
+ and ebp,edx |
+ mov edi,DWORD [44+esp] |
+ add esi,ebp |
+ ; 40_59 43 |
+ mov ebp,ebx |
+ xor edi,DWORD [52+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [12+esp] |
+ and ebp,eax |
+ xor edi,DWORD [32+esp] |
+ rol edi,1 |
+ add ebp,edx |
+ ror eax,2 |
+ mov edx,esi |
+ rol edx,5 |
+ mov DWORD [44+esp],edi |
+ lea edi,[2400959708+ebp*1+edi] |
+ mov ebp,ebx |
+ add edi,edx |
+ and ebp,ecx |
+ mov edx,DWORD [48+esp] |
+ add edi,ebp |
+ ; 40_59 44 |
+ mov ebp,eax |
+ xor edx,DWORD [56+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [16+esp] |
+ and ebp,esi |
+ xor edx,DWORD [36+esp] |
+ rol edx,1 |
+ add ebp,ecx |
+ ror esi,2 |
+ mov ecx,edi |
+ rol ecx,5 |
+ mov DWORD [48+esp],edx |
+ lea edx,[2400959708+ebp*1+edx] |
+ mov ebp,eax |
+ add edx,ecx |
+ and ebp,ebx |
+ mov ecx,DWORD [52+esp] |
+ add edx,ebp |
+ ; 40_59 45 |
+ mov ebp,esi |
+ xor ecx,DWORD [60+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [20+esp] |
+ and ebp,edi |
+ xor ecx,DWORD [40+esp] |
+ rol ecx,1 |
+ add ebp,ebx |
+ ror edi,2 |
+ mov ebx,edx |
+ rol ebx,5 |
+ mov DWORD [52+esp],ecx |
+ lea ecx,[2400959708+ebp*1+ecx] |
+ mov ebp,esi |
+ add ecx,ebx |
+ and ebp,eax |
+ mov ebx,DWORD [56+esp] |
+ add ecx,ebp |
+ ; 40_59 46 |
+ mov ebp,edi |
+ xor ebx,DWORD [esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [24+esp] |
+ and ebp,edx |
+ xor ebx,DWORD [44+esp] |
+ rol ebx,1 |
+ add ebp,eax |
+ ror edx,2 |
+ mov eax,ecx |
+ rol eax,5 |
+ mov DWORD [56+esp],ebx |
+ lea ebx,[2400959708+ebp*1+ebx] |
+ mov ebp,edi |
+ add ebx,eax |
+ and ebp,esi |
+ mov eax,DWORD [60+esp] |
+ add ebx,ebp |
+ ; 40_59 47 |
+ mov ebp,edx |
+ xor eax,DWORD [4+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [28+esp] |
+ and ebp,ecx |
+ xor eax,DWORD [48+esp] |
+ rol eax,1 |
+ add ebp,esi |
+ ror ecx,2 |
+ mov esi,ebx |
+ rol esi,5 |
+ mov DWORD [60+esp],eax |
+ lea eax,[2400959708+ebp*1+eax] |
+ mov ebp,edx |
+ add eax,esi |
+ and ebp,edi |
+ mov esi,DWORD [esp] |
+ add eax,ebp |
+ ; 40_59 48 |
+ mov ebp,ecx |
+ xor esi,DWORD [8+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [32+esp] |
+ and ebp,ebx |
+ xor esi,DWORD [52+esp] |
+ rol esi,1 |
+ add ebp,edi |
+ ror ebx,2 |
+ mov edi,eax |
+ rol edi,5 |
+ mov DWORD [esp],esi |
+ lea esi,[2400959708+ebp*1+esi] |
+ mov ebp,ecx |
+ add esi,edi |
+ and ebp,edx |
+ mov edi,DWORD [4+esp] |
+ add esi,ebp |
+ ; 40_59 49 |
+ mov ebp,ebx |
+ xor edi,DWORD [12+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [36+esp] |
+ and ebp,eax |
+ xor edi,DWORD [56+esp] |
+ rol edi,1 |
+ add ebp,edx |
+ ror eax,2 |
+ mov edx,esi |
+ rol edx,5 |
+ mov DWORD [4+esp],edi |
+ lea edi,[2400959708+ebp*1+edi] |
+ mov ebp,ebx |
+ add edi,edx |
+ and ebp,ecx |
+ mov edx,DWORD [8+esp] |
+ add edi,ebp |
+ ; 40_59 50 |
+ mov ebp,eax |
+ xor edx,DWORD [16+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [40+esp] |
+ and ebp,esi |
+ xor edx,DWORD [60+esp] |
+ rol edx,1 |
+ add ebp,ecx |
+ ror esi,2 |
+ mov ecx,edi |
+ rol ecx,5 |
+ mov DWORD [8+esp],edx |
+ lea edx,[2400959708+ebp*1+edx] |
+ mov ebp,eax |
+ add edx,ecx |
+ and ebp,ebx |
+ mov ecx,DWORD [12+esp] |
+ add edx,ebp |
+ ; 40_59 51 |
+ mov ebp,esi |
+ xor ecx,DWORD [20+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [44+esp] |
+ and ebp,edi |
+ xor ecx,DWORD [esp] |
+ rol ecx,1 |
+ add ebp,ebx |
+ ror edi,2 |
+ mov ebx,edx |
+ rol ebx,5 |
+ mov DWORD [12+esp],ecx |
+ lea ecx,[2400959708+ebp*1+ecx] |
+ mov ebp,esi |
+ add ecx,ebx |
+ and ebp,eax |
+ mov ebx,DWORD [16+esp] |
+ add ecx,ebp |
+ ; 40_59 52 |
+ mov ebp,edi |
+ xor ebx,DWORD [24+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [48+esp] |
+ and ebp,edx |
+ xor ebx,DWORD [4+esp] |
+ rol ebx,1 |
+ add ebp,eax |
+ ror edx,2 |
+ mov eax,ecx |
+ rol eax,5 |
+ mov DWORD [16+esp],ebx |
+ lea ebx,[2400959708+ebp*1+ebx] |
+ mov ebp,edi |
+ add ebx,eax |
+ and ebp,esi |
+ mov eax,DWORD [20+esp] |
+ add ebx,ebp |
+ ; 40_59 53 |
+ mov ebp,edx |
+ xor eax,DWORD [28+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [52+esp] |
+ and ebp,ecx |
+ xor eax,DWORD [8+esp] |
+ rol eax,1 |
+ add ebp,esi |
+ ror ecx,2 |
+ mov esi,ebx |
+ rol esi,5 |
+ mov DWORD [20+esp],eax |
+ lea eax,[2400959708+ebp*1+eax] |
+ mov ebp,edx |
+ add eax,esi |
+ and ebp,edi |
+ mov esi,DWORD [24+esp] |
+ add eax,ebp |
+ ; 40_59 54 |
+ mov ebp,ecx |
+ xor esi,DWORD [32+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [56+esp] |
+ and ebp,ebx |
+ xor esi,DWORD [12+esp] |
+ rol esi,1 |
+ add ebp,edi |
+ ror ebx,2 |
+ mov edi,eax |
+ rol edi,5 |
+ mov DWORD [24+esp],esi |
+ lea esi,[2400959708+ebp*1+esi] |
+ mov ebp,ecx |
+ add esi,edi |
+ and ebp,edx |
+ mov edi,DWORD [28+esp] |
+ add esi,ebp |
+ ; 40_59 55 |
+ mov ebp,ebx |
+ xor edi,DWORD [36+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [60+esp] |
+ and ebp,eax |
+ xor edi,DWORD [16+esp] |
+ rol edi,1 |
+ add ebp,edx |
+ ror eax,2 |
+ mov edx,esi |
+ rol edx,5 |
+ mov DWORD [28+esp],edi |
+ lea edi,[2400959708+ebp*1+edi] |
+ mov ebp,ebx |
+ add edi,edx |
+ and ebp,ecx |
+ mov edx,DWORD [32+esp] |
+ add edi,ebp |
+ ; 40_59 56 |
+ mov ebp,eax |
+ xor edx,DWORD [40+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [esp] |
+ and ebp,esi |
+ xor edx,DWORD [20+esp] |
+ rol edx,1 |
+ add ebp,ecx |
+ ror esi,2 |
+ mov ecx,edi |
+ rol ecx,5 |
+ mov DWORD [32+esp],edx |
+ lea edx,[2400959708+ebp*1+edx] |
+ mov ebp,eax |
+ add edx,ecx |
+ and ebp,ebx |
+ mov ecx,DWORD [36+esp] |
+ add edx,ebp |
+ ; 40_59 57 |
+ mov ebp,esi |
+ xor ecx,DWORD [44+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [4+esp] |
+ and ebp,edi |
+ xor ecx,DWORD [24+esp] |
+ rol ecx,1 |
+ add ebp,ebx |
+ ror edi,2 |
+ mov ebx,edx |
+ rol ebx,5 |
+ mov DWORD [36+esp],ecx |
+ lea ecx,[2400959708+ebp*1+ecx] |
+ mov ebp,esi |
+ add ecx,ebx |
+ and ebp,eax |
+ mov ebx,DWORD [40+esp] |
+ add ecx,ebp |
+ ; 40_59 58 |
+ mov ebp,edi |
+ xor ebx,DWORD [48+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [8+esp] |
+ and ebp,edx |
+ xor ebx,DWORD [28+esp] |
+ rol ebx,1 |
+ add ebp,eax |
+ ror edx,2 |
+ mov eax,ecx |
+ rol eax,5 |
+ mov DWORD [40+esp],ebx |
+ lea ebx,[2400959708+ebp*1+ebx] |
+ mov ebp,edi |
+ add ebx,eax |
+ and ebp,esi |
+ mov eax,DWORD [44+esp] |
+ add ebx,ebp |
+ ; 40_59 59 |
+ mov ebp,edx |
+ xor eax,DWORD [52+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [12+esp] |
+ and ebp,ecx |
+ xor eax,DWORD [32+esp] |
+ rol eax,1 |
+ add ebp,esi |
+ ror ecx,2 |
+ mov esi,ebx |
+ rol esi,5 |
+ mov DWORD [44+esp],eax |
+ lea eax,[2400959708+ebp*1+eax] |
+ mov ebp,edx |
+ add eax,esi |
+ and ebp,edi |
+ mov esi,DWORD [48+esp] |
+ add eax,ebp |
+ ; 20_39 60 |
+ mov ebp,ebx |
+ xor esi,DWORD [56+esp] |
+ xor ebp,ecx |
+ xor esi,DWORD [16+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [36+esp] |
+ rol esi,1 |
+ add edi,ebp |
+ ror ebx,2 |
+ mov ebp,eax |
+ rol ebp,5 |
+ mov DWORD [48+esp],esi |
+ lea esi,[3395469782+edi*1+esi] |
+ mov edi,DWORD [52+esp] |
+ add esi,ebp |
+ ; 20_39 61 |
+ mov ebp,eax |
+ xor edi,DWORD [60+esp] |
+ xor ebp,ebx |
+ xor edi,DWORD [20+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [40+esp] |
+ rol edi,1 |
+ add edx,ebp |
+ ror eax,2 |
+ mov ebp,esi |
+ rol ebp,5 |
+ mov DWORD [52+esp],edi |
+ lea edi,[3395469782+edx*1+edi] |
+ mov edx,DWORD [56+esp] |
+ add edi,ebp |
+ ; 20_39 62 |
+ mov ebp,esi |
+ xor edx,DWORD [esp] |
+ xor ebp,eax |
+ xor edx,DWORD [24+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [44+esp] |
+ rol edx,1 |
+ add ecx,ebp |
+ ror esi,2 |
+ mov ebp,edi |
+ rol ebp,5 |
+ mov DWORD [56+esp],edx |
+ lea edx,[3395469782+ecx*1+edx] |
+ mov ecx,DWORD [60+esp] |
+ add edx,ebp |
+ ; 20_39 63 |
+ mov ebp,edi |
+ xor ecx,DWORD [4+esp] |
+ xor ebp,esi |
+ xor ecx,DWORD [28+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [48+esp] |
+ rol ecx,1 |
+ add ebx,ebp |
+ ror edi,2 |
+ mov ebp,edx |
+ rol ebp,5 |
+ mov DWORD [60+esp],ecx |
+ lea ecx,[3395469782+ebx*1+ecx] |
+ mov ebx,DWORD [esp] |
+ add ecx,ebp |
+ ; 20_39 64 |
+ mov ebp,edx |
+ xor ebx,DWORD [8+esp] |
+ xor ebp,edi |
+ xor ebx,DWORD [32+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [52+esp] |
+ rol ebx,1 |
+ add eax,ebp |
+ ror edx,2 |
+ mov ebp,ecx |
+ rol ebp,5 |
+ mov DWORD [esp],ebx |
+ lea ebx,[3395469782+eax*1+ebx] |
+ mov eax,DWORD [4+esp] |
+ add ebx,ebp |
+ ; 20_39 65 |
+ mov ebp,ecx |
+ xor eax,DWORD [12+esp] |
+ xor ebp,edx |
+ xor eax,DWORD [36+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [56+esp] |
+ rol eax,1 |
+ add esi,ebp |
+ ror ecx,2 |
+ mov ebp,ebx |
+ rol ebp,5 |
+ mov DWORD [4+esp],eax |
+ lea eax,[3395469782+esi*1+eax] |
+ mov esi,DWORD [8+esp] |
+ add eax,ebp |
+ ; 20_39 66 |
+ mov ebp,ebx |
+ xor esi,DWORD [16+esp] |
+ xor ebp,ecx |
+ xor esi,DWORD [40+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [60+esp] |
+ rol esi,1 |
+ add edi,ebp |
+ ror ebx,2 |
+ mov ebp,eax |
+ rol ebp,5 |
+ mov DWORD [8+esp],esi |
+ lea esi,[3395469782+edi*1+esi] |
+ mov edi,DWORD [12+esp] |
+ add esi,ebp |
+ ; 20_39 67 |
+ mov ebp,eax |
+ xor edi,DWORD [20+esp] |
+ xor ebp,ebx |
+ xor edi,DWORD [44+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [esp] |
+ rol edi,1 |
+ add edx,ebp |
+ ror eax,2 |
+ mov ebp,esi |
+ rol ebp,5 |
+ mov DWORD [12+esp],edi |
+ lea edi,[3395469782+edx*1+edi] |
+ mov edx,DWORD [16+esp] |
+ add edi,ebp |
+ ; 20_39 68 |
+ mov ebp,esi |
+ xor edx,DWORD [24+esp] |
+ xor ebp,eax |
+ xor edx,DWORD [48+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [4+esp] |
+ rol edx,1 |
+ add ecx,ebp |
+ ror esi,2 |
+ mov ebp,edi |
+ rol ebp,5 |
+ mov DWORD [16+esp],edx |
+ lea edx,[3395469782+ecx*1+edx] |
+ mov ecx,DWORD [20+esp] |
+ add edx,ebp |
+ ; 20_39 69 |
+ mov ebp,edi |
+ xor ecx,DWORD [28+esp] |
+ xor ebp,esi |
+ xor ecx,DWORD [52+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [8+esp] |
+ rol ecx,1 |
+ add ebx,ebp |
+ ror edi,2 |
+ mov ebp,edx |
+ rol ebp,5 |
+ mov DWORD [20+esp],ecx |
+ lea ecx,[3395469782+ebx*1+ecx] |
+ mov ebx,DWORD [24+esp] |
+ add ecx,ebp |
+ ; 20_39 70 |
+ mov ebp,edx |
+ xor ebx,DWORD [32+esp] |
+ xor ebp,edi |
+ xor ebx,DWORD [56+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [12+esp] |
+ rol ebx,1 |
+ add eax,ebp |
+ ror edx,2 |
+ mov ebp,ecx |
+ rol ebp,5 |
+ mov DWORD [24+esp],ebx |
+ lea ebx,[3395469782+eax*1+ebx] |
+ mov eax,DWORD [28+esp] |
+ add ebx,ebp |
+ ; 20_39 71 |
+ mov ebp,ecx |
+ xor eax,DWORD [36+esp] |
+ xor ebp,edx |
+ xor eax,DWORD [60+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [16+esp] |
+ rol eax,1 |
+ add esi,ebp |
+ ror ecx,2 |
+ mov ebp,ebx |
+ rol ebp,5 |
+ mov DWORD [28+esp],eax |
+ lea eax,[3395469782+esi*1+eax] |
+ mov esi,DWORD [32+esp] |
+ add eax,ebp |
+ ; 20_39 72 |
+ mov ebp,ebx |
+ xor esi,DWORD [40+esp] |
+ xor ebp,ecx |
+ xor esi,DWORD [esp] |
+ xor ebp,edx |
+ xor esi,DWORD [20+esp] |
+ rol esi,1 |
+ add edi,ebp |
+ ror ebx,2 |
+ mov ebp,eax |
+ rol ebp,5 |
+ mov DWORD [32+esp],esi |
+ lea esi,[3395469782+edi*1+esi] |
+ mov edi,DWORD [36+esp] |
+ add esi,ebp |
+ ; 20_39 73 |
+ mov ebp,eax |
+ xor edi,DWORD [44+esp] |
+ xor ebp,ebx |
+ xor edi,DWORD [4+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [24+esp] |
+ rol edi,1 |
+ add edx,ebp |
+ ror eax,2 |
+ mov ebp,esi |
+ rol ebp,5 |
+ mov DWORD [36+esp],edi |
+ lea edi,[3395469782+edx*1+edi] |
+ mov edx,DWORD [40+esp] |
+ add edi,ebp |
+ ; 20_39 74 |
+ mov ebp,esi |
+ xor edx,DWORD [48+esp] |
+ xor ebp,eax |
+ xor edx,DWORD [8+esp] |
+ xor ebp,ebx |
+ xor edx,DWORD [28+esp] |
+ rol edx,1 |
+ add ecx,ebp |
+ ror esi,2 |
+ mov ebp,edi |
+ rol ebp,5 |
+ mov DWORD [40+esp],edx |
+ lea edx,[3395469782+ecx*1+edx] |
+ mov ecx,DWORD [44+esp] |
+ add edx,ebp |
+ ; 20_39 75 |
+ mov ebp,edi |
+ xor ecx,DWORD [52+esp] |
+ xor ebp,esi |
+ xor ecx,DWORD [12+esp] |
+ xor ebp,eax |
+ xor ecx,DWORD [32+esp] |
+ rol ecx,1 |
+ add ebx,ebp |
+ ror edi,2 |
+ mov ebp,edx |
+ rol ebp,5 |
+ mov DWORD [44+esp],ecx |
+ lea ecx,[3395469782+ebx*1+ecx] |
+ mov ebx,DWORD [48+esp] |
+ add ecx,ebp |
+ ; 20_39 76 |
+ mov ebp,edx |
+ xor ebx,DWORD [56+esp] |
+ xor ebp,edi |
+ xor ebx,DWORD [16+esp] |
+ xor ebp,esi |
+ xor ebx,DWORD [36+esp] |
+ rol ebx,1 |
+ add eax,ebp |
+ ror edx,2 |
+ mov ebp,ecx |
+ rol ebp,5 |
+ mov DWORD [48+esp],ebx |
+ lea ebx,[3395469782+eax*1+ebx] |
+ mov eax,DWORD [52+esp] |
+ add ebx,ebp |
+ ; 20_39 77 |
+ mov ebp,ecx |
+ xor eax,DWORD [60+esp] |
+ xor ebp,edx |
+ xor eax,DWORD [20+esp] |
+ xor ebp,edi |
+ xor eax,DWORD [40+esp] |
+ rol eax,1 |
+ add esi,ebp |
+ ror ecx,2 |
+ mov ebp,ebx |
+ rol ebp,5 |
+ lea eax,[3395469782+esi*1+eax] |
+ mov esi,DWORD [56+esp] |
+ add eax,ebp |
+ ; 20_39 78 |
+ mov ebp,ebx |
+ xor esi,DWORD [esp] |
+ xor ebp,ecx |
+ xor esi,DWORD [24+esp] |
+ xor ebp,edx |
+ xor esi,DWORD [44+esp] |
+ rol esi,1 |
+ add edi,ebp |
+ ror ebx,2 |
+ mov ebp,eax |
+ rol ebp,5 |
+ lea esi,[3395469782+edi*1+esi] |
+ mov edi,DWORD [60+esp] |
+ add esi,ebp |
+ ; 20_39 79 |
+ mov ebp,eax |
+ xor edi,DWORD [4+esp] |
+ xor ebp,ebx |
+ xor edi,DWORD [28+esp] |
+ xor ebp,ecx |
+ xor edi,DWORD [48+esp] |
+ rol edi,1 |
+ add edx,ebp |
+ ror eax,2 |
+ mov ebp,esi |
+ rol ebp,5 |
+ lea edi,[3395469782+edx*1+edi] |
+ add edi,ebp |
+ mov ebp,DWORD [96+esp] |
+ mov edx,DWORD [100+esp] |
+ add edi,DWORD [ebp] |
+ add esi,DWORD [4+ebp] |
+ add eax,DWORD [8+ebp] |
+ add ebx,DWORD [12+ebp] |
+ add ecx,DWORD [16+ebp] |
+ mov DWORD [ebp],edi |
+ add edx,64 |
+ mov DWORD [4+ebp],esi |
+ cmp edx,DWORD [104+esp] |
+ mov DWORD [8+ebp],eax |
+ mov edi,ecx |
+ mov DWORD [12+ebp],ebx |
+ mov esi,edx |
+ mov DWORD [16+ebp],ecx |
+ jb NEAR L$002loop |
+ add esp,76 |
+ pop edi |
+ pop esi |
+ pop ebx |
+ pop ebp |
+ ret |
+align 16 |
+__sha1_block_data_order_shaext: |
+ push ebp |
+ push ebx |
+ push esi |
+ push edi |
+ call L$003pic_point |
+L$003pic_point: |
+ pop ebp |
+ lea ebp,[(L$K_XX_XX-L$003pic_point)+ebp] |
+L$shaext_shortcut: |
+ mov edi,DWORD [20+esp] |
+ mov ebx,esp |
+ mov esi,DWORD [24+esp] |
+ mov ecx,DWORD [28+esp] |
+ sub esp,32 |
+ movdqu xmm0,[edi] |
+ movd xmm1,DWORD [16+edi] |
+ and esp,-32 |
+ movdqa xmm3,[80+ebp] |
+ movdqu xmm4,[esi] |
+ pshufd xmm0,xmm0,27 |
+ movdqu xmm5,[16+esi] |
+ pshufd xmm1,xmm1,27 |
+ movdqu xmm6,[32+esi] |
+db 102,15,56,0,227 |
+ movdqu xmm7,[48+esi] |
+db 102,15,56,0,235 |
+db 102,15,56,0,243 |
+db 102,15,56,0,251 |
+ jmp NEAR L$004loop_shaext |
+align 16 |
+L$004loop_shaext: |
+ dec ecx |
+ lea eax,[64+esi] |
+ movdqa [esp],xmm1 |
+ paddd xmm1,xmm4 |
+ cmovne esi,eax |
+ movdqa [16+esp],xmm0 |
+db 15,56,201,229 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,0 |
+db 15,56,200,213 |
+ pxor xmm4,xmm6 |
+db 15,56,201,238 |
+db 15,56,202,231 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,0 |
+db 15,56,200,206 |
+ pxor xmm5,xmm7 |
+db 15,56,202,236 |
+db 15,56,201,247 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,0 |
+db 15,56,200,215 |
+ pxor xmm6,xmm4 |
+db 15,56,201,252 |
+db 15,56,202,245 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,0 |
+db 15,56,200,204 |
+ pxor xmm7,xmm5 |
+db 15,56,202,254 |
+db 15,56,201,229 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,0 |
+db 15,56,200,213 |
+ pxor xmm4,xmm6 |
+db 15,56,201,238 |
+db 15,56,202,231 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,1 |
+db 15,56,200,206 |
+ pxor xmm5,xmm7 |
+db 15,56,202,236 |
+db 15,56,201,247 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,1 |
+db 15,56,200,215 |
+ pxor xmm6,xmm4 |
+db 15,56,201,252 |
+db 15,56,202,245 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,1 |
+db 15,56,200,204 |
+ pxor xmm7,xmm5 |
+db 15,56,202,254 |
+db 15,56,201,229 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,1 |
+db 15,56,200,213 |
+ pxor xmm4,xmm6 |
+db 15,56,201,238 |
+db 15,56,202,231 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,1 |
+db 15,56,200,206 |
+ pxor xmm5,xmm7 |
+db 15,56,202,236 |
+db 15,56,201,247 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,2 |
+db 15,56,200,215 |
+ pxor xmm6,xmm4 |
+db 15,56,201,252 |
+db 15,56,202,245 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,2 |
+db 15,56,200,204 |
+ pxor xmm7,xmm5 |
+db 15,56,202,254 |
+db 15,56,201,229 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,2 |
+db 15,56,200,213 |
+ pxor xmm4,xmm6 |
+db 15,56,201,238 |
+db 15,56,202,231 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,2 |
+db 15,56,200,206 |
+ pxor xmm5,xmm7 |
+db 15,56,202,236 |
+db 15,56,201,247 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,2 |
+db 15,56,200,215 |
+ pxor xmm6,xmm4 |
+db 15,56,201,252 |
+db 15,56,202,245 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,3 |
+db 15,56,200,204 |
+ pxor xmm7,xmm5 |
+db 15,56,202,254 |
+ movdqu xmm4,[esi] |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,3 |
+db 15,56,200,213 |
+ movdqu xmm5,[16+esi] |
+db 102,15,56,0,227 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,3 |
+db 15,56,200,206 |
+ movdqu xmm6,[32+esi] |
+db 102,15,56,0,235 |
+ movdqa xmm2,xmm0 |
+db 15,58,204,193,3 |
+db 15,56,200,215 |
+ movdqu xmm7,[48+esi] |
+db 102,15,56,0,243 |
+ movdqa xmm1,xmm0 |
+db 15,58,204,194,3 |
+ movdqa xmm2,[esp] |
+db 102,15,56,0,251 |
+db 15,56,200,202 |
+ paddd xmm0,[16+esp] |
+ jnz NEAR L$004loop_shaext |
+ pshufd xmm0,xmm0,27 |
+ pshufd xmm1,xmm1,27 |
+ movdqu [edi],xmm0 |
+ movd DWORD [16+edi],xmm1 |
+ mov esp,ebx |
+ pop edi |
+ pop esi |
+ pop ebx |
+ pop ebp |
+ ret |
+align 16 |
+__sha1_block_data_order_ssse3: |
+ push ebp |
+ push ebx |
+ push esi |
+ push edi |
+ call L$005pic_point |
+L$005pic_point: |
+ pop ebp |
+ lea ebp,[(L$K_XX_XX-L$005pic_point)+ebp] |
+L$ssse3_shortcut: |
+ movdqa xmm7,[ebp] |
+ movdqa xmm0,[16+ebp] |
+ movdqa xmm1,[32+ebp] |
+ movdqa xmm2,[48+ebp] |
+ movdqa xmm6,[64+ebp] |
+ mov edi,DWORD [20+esp] |
+ mov ebp,DWORD [24+esp] |
+ mov edx,DWORD [28+esp] |
+ mov esi,esp |
+ sub esp,208 |
+ and esp,-64 |
+ movdqa [112+esp],xmm0 |
+ movdqa [128+esp],xmm1 |
+ movdqa [144+esp],xmm2 |
+ shl edx,6 |
+ movdqa [160+esp],xmm7 |
+ add edx,ebp |
+ movdqa [176+esp],xmm6 |
+ add ebp,64 |
+ mov DWORD [192+esp],edi |
+ mov DWORD [196+esp],ebp |
+ mov DWORD [200+esp],edx |
+ mov DWORD [204+esp],esi |
+ mov eax,DWORD [edi] |
+ mov ebx,DWORD [4+edi] |
+ mov ecx,DWORD [8+edi] |
+ mov edx,DWORD [12+edi] |
+ mov edi,DWORD [16+edi] |
+ mov esi,ebx |
+ movdqu xmm0,[ebp-64] |
+ movdqu xmm1,[ebp-48] |
+ movdqu xmm2,[ebp-32] |
+ movdqu xmm3,[ebp-16] |
+db 102,15,56,0,198 |
+db 102,15,56,0,206 |
+db 102,15,56,0,214 |
+ movdqa [96+esp],xmm7 |
+db 102,15,56,0,222 |
+ paddd xmm0,xmm7 |
+ paddd xmm1,xmm7 |
+ paddd xmm2,xmm7 |
+ movdqa [esp],xmm0 |
+ psubd xmm0,xmm7 |
+ movdqa [16+esp],xmm1 |
+ psubd xmm1,xmm7 |
+ movdqa [32+esp],xmm2 |
+ mov ebp,ecx |
+ psubd xmm2,xmm7 |
+ xor ebp,edx |
+ pshufd xmm4,xmm0,238 |
+ and esi,ebp |
+ jmp NEAR L$006loop |
+align 16 |
+L$006loop: |
+ ror ebx,2 |
+ xor esi,edx |
+ mov ebp,eax |
+ punpcklqdq xmm4,xmm1 |
+ movdqa xmm6,xmm3 |
+ add edi,DWORD [esp] |
+ xor ebx,ecx |
+ paddd xmm7,xmm3 |
+ movdqa [64+esp],xmm0 |
+ rol eax,5 |
+ add edi,esi |
+ psrldq xmm6,4 |
+ and ebp,ebx |
+ xor ebx,ecx |
+ pxor xmm4,xmm0 |
+ add edi,eax |
+ ror eax,7 |
+ pxor xmm6,xmm2 |
+ xor ebp,ecx |
+ mov esi,edi |
+ add edx,DWORD [4+esp] |
+ pxor xmm4,xmm6 |
+ xor eax,ebx |
+ rol edi,5 |
+ movdqa [48+esp],xmm7 |
+ add edx,ebp |
+ and esi,eax |
+ movdqa xmm0,xmm4 |
+ xor eax,ebx |
+ add edx,edi |
+ ror edi,7 |
+ movdqa xmm6,xmm4 |
+ xor esi,ebx |
+ pslldq xmm0,12 |
+ paddd xmm4,xmm4 |
+ mov ebp,edx |
+ add ecx,DWORD [8+esp] |
+ psrld xmm6,31 |
+ xor edi,eax |
+ rol edx,5 |
+ movdqa xmm7,xmm0 |
+ add ecx,esi |
+ and ebp,edi |
+ xor edi,eax |
+ psrld xmm0,30 |
+ add ecx,edx |
+ ror edx,7 |
+ por xmm4,xmm6 |
+ xor ebp,eax |
+ mov esi,ecx |
+ add ebx,DWORD [12+esp] |
+ pslld xmm7,2 |
+ xor edx,edi |
+ rol ecx,5 |
+ pxor xmm4,xmm0 |
+ movdqa xmm0,[96+esp] |
+ add ebx,ebp |
+ and esi,edx |
+ pxor xmm4,xmm7 |
+ pshufd xmm5,xmm1,238 |
+ xor edx,edi |
+ add ebx,ecx |
+ ror ecx,7 |
+ xor esi,edi |
+ mov ebp,ebx |
+ punpcklqdq xmm5,xmm2 |
+ movdqa xmm7,xmm4 |
+ add eax,DWORD [16+esp] |
+ xor ecx,edx |
+ paddd xmm0,xmm4 |
+ movdqa [80+esp],xmm1 |
+ rol ebx,5 |
+ add eax,esi |
+ psrldq xmm7,4 |
+ and ebp,ecx |
+ xor ecx,edx |
+ pxor xmm5,xmm1 |
+ add eax,ebx |
+ ror ebx,7 |
+ pxor xmm7,xmm3 |
+ xor ebp,edx |
+ mov esi,eax |
+ add edi,DWORD [20+esp] |
+ pxor xmm5,xmm7 |
+ xor ebx,ecx |
+ rol eax,5 |
+ movdqa [esp],xmm0 |
+ add edi,ebp |
+ and esi,ebx |
+ movdqa xmm1,xmm5 |
+ xor ebx,ecx |
+ add edi,eax |
+ ror eax,7 |
+ movdqa xmm7,xmm5 |
+ xor esi,ecx |
+ pslldq xmm1,12 |
+ paddd xmm5,xmm5 |
+ mov ebp,edi |
+ add edx,DWORD [24+esp] |
+ psrld xmm7,31 |
+ xor eax,ebx |
+ rol edi,5 |
+ movdqa xmm0,xmm1 |
+ add edx,esi |
+ and ebp,eax |
+ xor eax,ebx |
+ psrld xmm1,30 |
+ add edx,edi |
+ ror edi,7 |
+ por xmm5,xmm7 |
+ xor ebp,ebx |
+ mov esi,edx |
+ add ecx,DWORD [28+esp] |
+ pslld xmm0,2 |
+ xor edi,eax |
+ rol edx,5 |
+ pxor xmm5,xmm1 |
+ movdqa xmm1,[112+esp] |
+ add ecx,ebp |
+ and esi,edi |
+ pxor xmm5,xmm0 |
+ pshufd xmm6,xmm2,238 |
+ xor edi,eax |
+ add ecx,edx |
+ ror edx,7 |
+ xor esi,eax |
+ mov ebp,ecx |
+ punpcklqdq xmm6,xmm3 |
+ movdqa xmm0,xmm5 |
+ add ebx,DWORD [32+esp] |
+ xor edx,edi |
+ paddd xmm1,xmm5 |
+ movdqa [96+esp],xmm2 |
+ rol ecx,5 |
+ add ebx,esi |
+ psrldq xmm0,4 |
+ and ebp,edx |
+ xor edx,edi |
+ pxor xmm6,xmm2 |
+ add ebx,ecx |
+ ror ecx,7 |
+ pxor xmm0,xmm4 |
+ xor ebp,edi |
+ mov esi,ebx |
+ add eax,DWORD [36+esp] |
+ pxor xmm6,xmm0 |
+ xor ecx,edx |
+ rol ebx,5 |
+ movdqa [16+esp],xmm1 |
+ add eax,ebp |
+ and esi,ecx |
+ movdqa xmm2,xmm6 |
+ xor ecx,edx |
+ add eax,ebx |
+ ror ebx,7 |
+ movdqa xmm0,xmm6 |
+ xor esi,edx |
+ pslldq xmm2,12 |
+ paddd xmm6,xmm6 |
+ mov ebp,eax |
+ add edi,DWORD [40+esp] |
+ psrld xmm0,31 |
+ xor ebx,ecx |
+ rol eax,5 |
+ movdqa xmm1,xmm2 |
+ add edi,esi |
+ and ebp,ebx |
+ xor ebx,ecx |
+ psrld xmm2,30 |
+ add edi,eax |
+ ror eax,7 |
+ por xmm6,xmm0 |
+ xor ebp,ecx |
+ movdqa xmm0,[64+esp] |
+ mov esi,edi |
+ add edx,DWORD [44+esp] |
+ pslld xmm1,2 |
+ xor eax,ebx |
+ rol edi,5 |
+ pxor xmm6,xmm2 |
+ movdqa xmm2,[112+esp] |
+ add edx,ebp |
+ and esi,eax |
+ pxor xmm6,xmm1 |
+ pshufd xmm7,xmm3,238 |
+ xor eax,ebx |
+ add edx,edi |
+ ror edi,7 |
+ xor esi,ebx |
+ mov ebp,edx |
+ punpcklqdq xmm7,xmm4 |
+ movdqa xmm1,xmm6 |
+ add ecx,DWORD [48+esp] |
+ xor edi,eax |
+ paddd xmm2,xmm6 |
+ movdqa [64+esp],xmm3 |
+ rol edx,5 |
+ add ecx,esi |
+ psrldq xmm1,4 |
+ and ebp,edi |
+ xor edi,eax |
+ pxor xmm7,xmm3 |
+ add ecx,edx |
+ ror edx,7 |
+ pxor xmm1,xmm5 |
+ xor ebp,eax |
+ mov esi,ecx |
+ add ebx,DWORD [52+esp] |
+ pxor xmm7,xmm1 |
+ xor edx,edi |
+ rol ecx,5 |
+ movdqa [32+esp],xmm2 |
+ add ebx,ebp |
+ and esi,edx |
+ movdqa xmm3,xmm7 |
+ xor edx,edi |
+ add ebx,ecx |
+ ror ecx,7 |
+ movdqa xmm1,xmm7 |
+ xor esi,edi |
+ pslldq xmm3,12 |
+ paddd xmm7,xmm7 |
+ mov ebp,ebx |
+ add eax,DWORD [56+esp] |
+ psrld xmm1,31 |
+ xor ecx,edx |
+ rol ebx,5 |
+ movdqa xmm2,xmm3 |
+ add eax,esi |
+ and ebp,ecx |
+ xor ecx,edx |
+ psrld xmm3,30 |
+ add eax,ebx |
+ ror ebx,7 |
+ por xmm7,xmm1 |
+ xor ebp,edx |
+ movdqa xmm1,[80+esp] |
+ mov esi,eax |
+ add edi,DWORD [60+esp] |
+ pslld xmm2,2 |
+ xor ebx,ecx |
+ rol eax,5 |
+ pxor xmm7,xmm3 |
+ movdqa xmm3,[112+esp] |
+ add edi,ebp |
+ and esi,ebx |
+ pxor xmm7,xmm2 |
+ pshufd xmm2,xmm6,238 |
+ xor ebx,ecx |
+ add edi,eax |
+ ror eax,7 |
+ pxor xmm0,xmm4 |
+ punpcklqdq xmm2,xmm7 |
+ xor esi,ecx |
+ mov ebp,edi |
+ add edx,DWORD [esp] |
+ pxor xmm0,xmm1 |
+ movdqa [80+esp],xmm4 |
+ xor eax,ebx |
+ rol edi,5 |
+ movdqa xmm4,xmm3 |
+ add edx,esi |
+ paddd xmm3,xmm7 |
+ and ebp,eax |
+ pxor xmm0,xmm2 |
+ xor eax,ebx |
+ add edx,edi |
+ ror edi,7 |
+ xor ebp,ebx |
+ movdqa xmm2,xmm0 |
+ movdqa [48+esp],xmm3 |
+ mov esi,edx |
+ add ecx,DWORD [4+esp] |
+ xor edi,eax |
+ rol edx,5 |
+ pslld xmm0,2 |
+ add ecx,ebp |
+ and esi,edi |
+ psrld xmm2,30 |
+ xor edi,eax |
+ add ecx,edx |
+ ror edx,7 |
+ xor esi,eax |
+ mov ebp,ecx |
+ add ebx,DWORD [8+esp] |
+ xor edx,edi |
+ rol ecx,5 |
+ por xmm0,xmm2 |
+ add ebx,esi |
+ and ebp,edx |
+ movdqa xmm2,[96+esp] |
+ xor edx,edi |
+ add ebx,ecx |
+ add eax,DWORD [12+esp] |
+ xor ebp,edi |
+ mov esi,ebx |
+ pshufd xmm3,xmm7,238 |
+ rol ebx,5 |
+ add eax,ebp |
+ xor esi,edx |
+ ror ecx,7 |
+ add eax,ebx |
+ add edi,DWORD [16+esp] |
+ pxor xmm1,xmm5 |
+ punpcklqdq xmm3,xmm0 |
+ xor esi,ecx |
+ mov ebp,eax |
+ rol eax,5 |
+ pxor xmm1,xmm2 |
+ movdqa [96+esp],xmm5 |
+ add edi,esi |
+ xor ebp,ecx |
+ movdqa xmm5,xmm4 |
+ ror ebx,7 |
+ paddd xmm4,xmm0 |
+ add edi,eax |
+ pxor xmm1,xmm3 |
+ add edx,DWORD [20+esp] |
+ xor ebp,ebx |
+ mov esi,edi |
+ rol edi,5 |
+ movdqa xmm3,xmm1 |
+ movdqa [esp],xmm4 |
+ add edx,ebp |
+ xor esi,ebx |
+ ror eax,7 |
+ add edx,edi |
+ pslld xmm1,2 |
+ add ecx,DWORD [24+esp] |
+ xor esi,eax |
+ psrld xmm3,30 |
+ mov ebp,edx |
+ rol edx,5 |
+ add ecx,esi |
+ xor ebp,eax |
+ ror edi,7 |
+ add ecx,edx |
+ por xmm1,xmm3 |
+ add ebx,DWORD [28+esp] |
+ xor ebp,edi |
+ movdqa xmm3,[64+esp] |
+ mov esi,ecx |
+ rol ecx,5 |
+ add ebx,ebp |
+ xor esi,edi |
+ ror edx,7 |
+ pshufd xmm4,xmm0,238 |
+ add ebx,ecx |
+ add eax,DWORD [32+esp] |
+ pxor xmm2,xmm6 |
+ punpcklqdq xmm4,xmm1 |
+ xor esi,edx |
+ mov ebp,ebx |
+ rol ebx,5 |
+ pxor xmm2,xmm3 |
+ movdqa [64+esp],xmm6 |
+ add eax,esi |
+ xor ebp,edx |
+ movdqa xmm6,[128+esp] |
+ ror ecx,7 |
+ paddd xmm5,xmm1 |
+ add eax,ebx |
+ pxor xmm2,xmm4 |
+ add edi,DWORD [36+esp] |
+ xor ebp,ecx |
+ mov esi,eax |
+ rol eax,5 |
+ movdqa xmm4,xmm2 |
+ movdqa [16+esp],xmm5 |
+ add edi,ebp |
+ xor esi,ecx |
+ ror ebx,7 |
+ add edi,eax |
+ pslld xmm2,2 |
+ add edx,DWORD [40+esp] |
+ xor esi,ebx |
+ psrld xmm4,30 |
+ mov ebp,edi |
+ rol edi,5 |
+ add edx,esi |
+ xor ebp,ebx |
+ ror eax,7 |
+ add edx,edi |
+ por xmm2,xmm4 |
+ add ecx,DWORD [44+esp] |
+ xor ebp,eax |
+ movdqa xmm4,[80+esp] |
+ mov esi,edx |
+ rol edx,5 |
+ add ecx,ebp |
+ xor esi,eax |
+ ror edi,7 |
+ pshufd xmm5,xmm1,238 |
+ add ecx,edx |
+ add ebx,DWORD [48+esp] |
+ pxor xmm3,xmm7 |
+ punpcklqdq xmm5,xmm2 |
+ xor esi,edi |
+ mov ebp,ecx |
+ rol ecx,5 |
+ pxor xmm3,xmm4 |
+ movdqa [80+esp],xmm7 |
+ add ebx,esi |
+ xor ebp,edi |
+ movdqa xmm7,xmm6 |
+ ror edx,7 |
+ paddd xmm6,xmm2 |
+ add ebx,ecx |
+ pxor xmm3,xmm5 |
+ add eax,DWORD [52+esp] |
+ xor ebp,edx |
+ mov esi,ebx |
+ rol ebx,5 |
+ movdqa xmm5,xmm3 |
+ movdqa [32+esp],xmm6 |
+ add eax,ebp |
+ xor esi,edx |
+ ror ecx,7 |
+ add eax,ebx |
+ pslld xmm3,2 |
+ add edi,DWORD [56+esp] |
+ xor esi,ecx |
+ psrld xmm5,30 |
+ mov ebp,eax |
+ rol eax,5 |
+ add edi,esi |
+ xor ebp,ecx |
+ ror ebx,7 |
+ add edi,eax |
+ por xmm3,xmm5 |
+ add edx,DWORD [60+esp] |
+ xor ebp,ebx |
+ movdqa xmm5,[96+esp] |
+ mov esi,edi |
+ rol edi,5 |
+ add edx,ebp |
+ xor esi,ebx |
+ ror eax,7 |
+ pshufd xmm6,xmm2,238 |
+ add edx,edi |
+ add ecx,DWORD [esp] |
+ pxor xmm4,xmm0 |
+ punpcklqdq xmm6,xmm3 |
+ xor esi,eax |
+ mov ebp,edx |
+ rol edx,5 |
+ pxor xmm4,xmm5 |
+ movdqa [96+esp],xmm0 |
+ add ecx,esi |
+ xor ebp,eax |
+ movdqa xmm0,xmm7 |
+ ror edi,7 |
+ paddd xmm7,xmm3 |
+ add ecx,edx |
+ pxor xmm4,xmm6 |
+ add ebx,DWORD [4+esp] |
+ xor ebp,edi |
+ mov esi,ecx |
+ rol ecx,5 |
+ movdqa xmm6,xmm4 |
+ movdqa [48+esp],xmm7 |
+ add ebx,ebp |
+ xor esi,edi |
+ ror edx,7 |
+ add ebx,ecx |
+ pslld xmm4,2 |
+ add eax,DWORD [8+esp] |
+ xor esi,edx |
+ psrld xmm6,30 |
+ mov ebp,ebx |
+ rol ebx,5 |
+ add eax,esi |
+ xor ebp,edx |
+ ror ecx,7 |
+ add eax,ebx |
+ por xmm4,xmm6 |
+ add edi,DWORD [12+esp] |
+ xor ebp,ecx |
+ movdqa xmm6,[64+esp] |
+ mov esi,eax |
+ rol eax,5 |
+ add edi,ebp |
+ xor esi,ecx |
+ ror ebx,7 |
+ pshufd xmm7,xmm3,238 |
+ add edi,eax |
+ add edx,DWORD [16+esp] |
+ pxor xmm5,xmm1 |
+ punpcklqdq xmm7,xmm4 |
+ xor esi,ebx |
+ mov ebp,edi |
+ rol edi,5 |
+ pxor xmm5,xmm6 |
+ movdqa [64+esp],xmm1 |
+ add edx,esi |
+ xor ebp,ebx |
+ movdqa xmm1,xmm0 |
+ ror eax,7 |
+ paddd xmm0,xmm4 |
+ add edx,edi |
+ pxor xmm5,xmm7 |
+ add ecx,DWORD [20+esp] |
+ xor ebp,eax |
+ mov esi,edx |
+ rol edx,5 |
+ movdqa xmm7,xmm5 |
+ movdqa [esp],xmm0 |
+ add ecx,ebp |
+ xor esi,eax |
+ ror edi,7 |
+ add ecx,edx |
+ pslld xmm5,2 |
+ add ebx,DWORD [24+esp] |
+ xor esi,edi |
+ psrld xmm7,30 |
+ mov ebp,ecx |
+ rol ecx,5 |
+ add ebx,esi |
+ xor ebp,edi |
+ ror edx,7 |
+ add ebx,ecx |
+ por xmm5,xmm7 |
+ add eax,DWORD [28+esp] |
+ movdqa xmm7,[80+esp] |
+ ror ecx,7 |
+ mov esi,ebx |
+ xor ebp,edx |
+ rol ebx,5 |
+ pshufd xmm0,xmm4,238 |
+ add eax,ebp |
+ xor esi,ecx |
+ xor ecx,edx |
+ add eax,ebx |
+ add edi,DWORD [32+esp] |
+ pxor xmm6,xmm2 |
+ punpcklqdq xmm0,xmm5 |
+ and esi,ecx |
+ xor ecx,edx |
+ ror ebx,7 |
+ pxor xmm6,xmm7 |
+ movdqa [80+esp],xmm2 |
+ mov ebp,eax |
+ xor esi,ecx |
+ rol eax,5 |
+ movdqa xmm2,xmm1 |
+ add edi,esi |
+ paddd xmm1,xmm5 |
+ xor ebp,ebx |
+ pxor xmm6,xmm0 |
+ xor ebx,ecx |
+ add edi,eax |
+ add edx,DWORD [36+esp] |
+ and ebp,ebx |
+ movdqa xmm0,xmm6 |
+ movdqa [16+esp],xmm1 |
+ xor ebx,ecx |
+ ror eax,7 |
+ mov esi,edi |
+ xor ebp,ebx |
+ rol edi,5 |
+ pslld xmm6,2 |
+ add edx,ebp |
+ xor esi,eax |
+ psrld xmm0,30 |
+ xor eax,ebx |
+ add edx,edi |
+ add ecx,DWORD [40+esp] |
+ and esi,eax |
+ xor eax,ebx |
+ ror edi,7 |
+ por xmm6,xmm0 |
+ mov ebp,edx |
+ xor esi,eax |
+ movdqa xmm0,[96+esp] |
+ rol edx,5 |
+ add ecx,esi |
+ xor ebp,edi |
+ xor edi,eax |
+ add ecx,edx |
+ pshufd xmm1,xmm5,238 |
+ add ebx,DWORD [44+esp] |
+ and ebp,edi |
+ xor edi,eax |
+ ror edx,7 |
+ mov esi,ecx |
+ xor ebp,edi |
+ rol ecx,5 |
+ add ebx,ebp |
+ xor esi,edx |
+ xor edx,edi |
+ add ebx,ecx |
+ add eax,DWORD [48+esp] |
+ pxor xmm7,xmm3 |
+ punpcklqdq xmm1,xmm6 |
+ and esi,edx |
+ xor edx,edi |
+ ror ecx,7 |
+ pxor xmm7,xmm0 |
+ movdqa [96+esp],xmm3 |
+ mov ebp,ebx |
+ xor esi,edx |
+ rol ebx,5 |
+ movdqa xmm3,[144+esp] |
+ add eax,esi |
+ paddd xmm2,xmm6 |
+ xor ebp,ecx |
+ pxor xmm7,xmm1 |
+ xor ecx,edx |
+ add eax,ebx |
+ add edi,DWORD [52+esp] |
+ and ebp,ecx |
+ movdqa xmm1,xmm7 |
+ movdqa [32+esp],xmm2 |
+ xor ecx,edx |
+ ror ebx,7 |
+ mov esi,eax |
+ xor ebp,ecx |
+ rol eax,5 |
+ pslld xmm7,2 |
+ add edi,ebp |
+ xor esi,ebx |
+ psrld xmm1,30 |
+ xor ebx,ecx |
+ add edi,eax |
+ add edx,DWORD [56+esp] |
+ and esi,ebx |
+ xor ebx,ecx |
+ ror eax,7 |
+ por xmm7,xmm1 |
+ mov ebp,edi |
+ xor esi,ebx |
+ movdqa xmm1,[64+esp] |
+ rol edi,5 |
+ add edx,esi |
+ xor ebp,eax |
+ xor eax,ebx |
+ add edx,edi |
+ pshufd xmm2,xmm6,238 |
+ add ecx,DWORD [60+esp] |
+ and ebp,eax |
+ xor eax,ebx |
+ ror edi,7 |
+ mov esi,edx |
+ xor ebp,eax |
+ rol edx,5 |
+ add ecx,ebp |
+ xor esi,edi |
+ xor edi,eax |
+ add ecx,edx |
+ add ebx,DWORD [esp] |
+ pxor xmm0,xmm4 |
+ punpcklqdq xmm2,xmm7 |
+ and esi,edi |
+ xor edi,eax |
+ ror edx,7 |
+ pxor xmm0,xmm1 |
+ movdqa [64+esp],xmm4 |
+ mov ebp,ecx |
+ xor esi,edi |
+ rol ecx,5 |
+ movdqa xmm4,xmm3 |
+ add ebx,esi |
+ paddd xmm3,xmm7 |
+ xor ebp,edx |
+ pxor xmm0,xmm2 |
+ xor edx,edi |
+ add ebx,ecx |
+ add eax,DWORD [4+esp] |
+ and ebp,edx |
+ movdqa xmm2,xmm0 |
+ movdqa [48+esp],xmm3 |
+ xor edx,edi |
+ ror ecx,7 |
+ mov esi,ebx |
+ xor ebp,edx |
+ rol ebx,5 |
+ pslld xmm0,2 |
+ add eax,ebp |
+ xor esi,ecx |
+ psrld xmm2,30 |
+ xor ecx,edx |
+ add eax,ebx |
+ add edi,DWORD [8+esp] |
+ and esi,ecx |
+ xor ecx,edx |
+ ror ebx,7 |
+ por xmm0,xmm2 |
+ mov ebp,eax |
+ xor esi,ecx |
+ movdqa xmm2,[80+esp] |
+ rol eax,5 |
+ add edi,esi |
+ xor ebp,ebx |
+ xor ebx,ecx |
+ add edi,eax |
+ pshufd xmm3,xmm7,238 |
+ add edx,DWORD [12+esp] |
+ and ebp,ebx |
+ xor ebx,ecx |
+ ror eax,7 |
+ mov esi,edi |
+ xor ebp,ebx |
+ rol edi,5 |
+ add edx,ebp |
+ xor esi,eax |
+ xor eax,ebx |
+ add edx,edi |
+ add ecx,DWORD [16+esp] |
+ pxor xmm1,xmm5 |
+ punpcklqdq xmm3,xmm0 |
+ and esi,eax |
+ xor eax,ebx |
+ ror edi,7 |
+ pxor xmm1,xmm2 |
+ movdqa [80+esp],xmm5 |
+ mov ebp,edx |
+ xor esi,eax |
+ rol edx,5 |
+ movdqa xmm5,xmm4 |
+ add ecx,esi |
+ paddd xmm4,xmm0 |
+ xor ebp,edi |
+ pxor xmm1,xmm3 |
+ xor edi,eax |
+ add ecx,edx |
+ add ebx,DWORD [20+esp] |
+ and ebp,edi |
+ movdqa xmm3,xmm1 |
+ movdqa [esp],xmm4 |
+ xor edi,eax |
+ ror edx,7 |
+ mov esi,ecx |
+ xor ebp,edi |
+ rol ecx,5 |
+ pslld xmm1,2 |
+ add ebx,ebp |
+ xor esi,edx |
+ psrld xmm3,30 |
+ xor edx,edi |
+ add ebx,ecx |
+ add eax,DWORD [24+esp] |
+ and esi,edx |
+ xor edx,edi |
+ ror ecx,7 |
+ por xmm1,xmm3 |
+ mov ebp,ebx |
+ xor esi,edx |
+ movdqa xmm3,[96+esp] |
+ rol ebx,5 |
+ add eax,esi |
+ xor ebp,ecx |
+ xor ecx,edx |
+ add eax,ebx |
+ pshufd xmm4,xmm0,238 |
+ add edi,DWORD [28+esp] |
+ and ebp,ecx |
+ xor ecx,edx |
+ ror ebx,7 |
+ mov esi,eax |
+ xor ebp,ecx |
+ rol eax,5 |
+ add edi,ebp |
+ xor esi,ebx |
+ xor ebx,ecx |
+ add edi,eax |
+ add edx,DWORD [32+esp] |
+ pxor xmm2,xmm6 |
+ punpcklqdq xmm4,xmm1 |
+ and esi,ebx |
+ xor ebx,ecx |
+ ror eax,7 |
+ pxor xmm2,xmm3 |
+ movdqa [96+esp],xmm6 |
+ mov ebp,edi |
+ xor esi,ebx |
+ rol edi,5 |
+ movdqa xmm6,xmm5 |
+ add edx,esi |
+ paddd xmm5,xmm1 |
+ xor ebp,eax |
+ pxor xmm2,xmm4 |
+ xor eax,ebx |
+ add edx,edi |
+ add ecx,DWORD [36+esp] |
+ and ebp,eax |
+ movdqa xmm4,xmm2 |
+ movdqa [16+esp],xmm5 |
+ xor eax,ebx |
+ ror edi,7 |
+ mov esi,edx |
+ xor ebp,eax |
+ rol edx,5 |
+ pslld xmm2,2 |
+ add ecx,ebp |
+ xor esi,edi |
+ psrld xmm4,30 |
+ xor edi,eax |
+ add ecx,edx |
+ add ebx,DWORD [40+esp] |
+ and esi,edi |
+ xor edi,eax |
+ ror edx,7 |
+ por xmm2,xmm4 |
+ mov ebp,ecx |
+ xor esi,edi |
+ movdqa xmm4,[64+esp] |
+ rol ecx,5 |
+ add ebx,esi |
+ xor ebp,edx |
+ xor edx,edi |
+ add ebx,ecx |
+ pshufd xmm5,xmm1,238 |
+ add eax,DWORD [44+esp] |
+ and ebp,edx |
+ xor edx,edi |
+ ror ecx,7 |
+ mov esi,ebx |
+ xor ebp,edx |
+ rol ebx,5 |
+ add eax,ebp |
+ xor esi,edx |
+ add eax,ebx |
+ add edi,DWORD [48+esp] |
+ pxor xmm3,xmm7 |
+ punpcklqdq xmm5,xmm2 |
+ xor esi,ecx |
+ mov ebp,eax |
+ rol eax,5 |
+ pxor xmm3,xmm4 |
+ movdqa [64+esp],xmm7 |
+ add edi,esi |
+ xor ebp,ecx |
+ movdqa xmm7,xmm6 |
+ ror ebx,7 |
+ paddd xmm6,xmm2 |
+ add edi,eax |
+ pxor xmm3,xmm5 |
+ add edx,DWORD [52+esp] |
+ xor ebp,ebx |
+ mov esi,edi |
+ rol edi,5 |
+ movdqa xmm5,xmm3 |
+ movdqa [32+esp],xmm6 |
+ add edx,ebp |
+ xor esi,ebx |
+ ror eax,7 |
+ add edx,edi |
+ pslld xmm3,2 |
+ add ecx,DWORD [56+esp] |
+ xor esi,eax |
+ psrld xmm5,30 |
+ mov ebp,edx |
+ rol edx,5 |
+ add ecx,esi |
+ xor ebp,eax |
+ ror edi,7 |
+ add ecx,edx |
+ por xmm3,xmm5 |
+ add ebx,DWORD [60+esp] |
+ xor ebp,edi |
+ mov esi,ecx |
+ rol ecx,5 |
+ add ebx,ebp |
+ xor esi,edi |
+ ror edx,7 |
+ add ebx,ecx |
+ add eax,DWORD [esp] |
+ xor esi,edx |
+ mov ebp,ebx |
+ rol ebx,5 |
+ add eax,esi |
+ xor ebp,edx |
+ ror ecx,7 |
+ paddd xmm7,xmm3 |
+ add eax,ebx |
+ add edi,DWORD [4+esp] |
+ xor ebp,ecx |
+ mov esi,eax |
+ movdqa [48+esp],xmm7 |
+ rol eax,5 |
+ add edi,ebp |
+ xor esi,ecx |
+ ror ebx,7 |
+ add edi,eax |
+ add edx,DWORD [8+esp] |
+ xor esi,ebx |
+ mov ebp,edi |
+ rol edi,5 |
+ add edx,esi |
+ xor ebp,ebx |
+ ror eax,7 |
+ add edx,edi |
+ add ecx,DWORD [12+esp] |
+ xor ebp,eax |
+ mov esi,edx |
+ rol edx,5 |
+ add ecx,ebp |
+ xor esi,eax |
+ ror edi,7 |
+ add ecx,edx |
+ mov ebp,DWORD [196+esp] |
+ cmp ebp,DWORD [200+esp] |
+ je NEAR L$007done |
+ movdqa xmm7,[160+esp] |
+ movdqa xmm6,[176+esp] |
+ movdqu xmm0,[ebp] |
+ movdqu xmm1,[16+ebp] |
+ movdqu xmm2,[32+ebp] |
+ movdqu xmm3,[48+ebp] |
+ add ebp,64 |
+db 102,15,56,0,198 |
+ mov DWORD [196+esp],ebp |
+ movdqa [96+esp],xmm7 |
+ add ebx,DWORD [16+esp] |
+ xor esi,edi |
+ mov ebp,ecx |
+ rol ecx,5 |
+ add ebx,esi |
+ xor ebp,edi |
+ ror edx,7 |
+db 102,15,56,0,206 |
+ add ebx,ecx |
+ add eax,DWORD [20+esp] |
+ xor ebp,edx |
+ mov esi,ebx |
+ paddd xmm0,xmm7 |
+ rol ebx,5 |
+ add eax,ebp |
+ xor esi,edx |
+ ror ecx,7 |
+ movdqa [esp],xmm0 |
+ add eax,ebx |
+ add edi,DWORD [24+esp] |
+ xor esi,ecx |
+ mov ebp,eax |
+ psubd xmm0,xmm7 |
+ rol eax,5 |
+ add edi,esi |
+ xor ebp,ecx |
+ ror ebx,7 |
+ add edi,eax |
+ add edx,DWORD [28+esp] |
+ xor ebp,ebx |
+ mov esi,edi |
+ rol edi,5 |
+ add edx,ebp |
+ xor esi,ebx |
+ ror eax,7 |
+ add edx,edi |
+ add ecx,DWORD [32+esp] |
+ xor esi,eax |
+ mov ebp,edx |
+ rol edx,5 |
+ add ecx,esi |
+ xor ebp,eax |
+ ror edi,7 |
+db 102,15,56,0,214 |
+ add ecx,edx |
+ add ebx,DWORD [36+esp] |
+ xor ebp,edi |
+ mov esi,ecx |
+ paddd xmm1,xmm7 |
+ rol ecx,5 |
+ add ebx,ebp |
+ xor esi,edi |
+ ror edx,7 |
+ movdqa [16+esp],xmm1 |
+ add ebx,ecx |
+ add eax,DWORD [40+esp] |
+ xor esi,edx |
+ mov ebp,ebx |
+ psubd xmm1,xmm7 |
+ rol ebx,5 |
+ add eax,esi |
+ xor ebp,edx |
+ ror ecx,7 |
+ add eax,ebx |
+ add edi,DWORD [44+esp] |
+ xor ebp,ecx |
+ mov esi,eax |
+ rol eax,5 |
+ add edi,ebp |
+ xor esi,ecx |
+ ror ebx,7 |
+ add edi,eax |
+ add edx,DWORD [48+esp] |
+ xor esi,ebx |
+ mov ebp,edi |
+ rol edi,5 |
+ add edx,esi |
+ xor ebp,ebx |
+ ror eax,7 |
+db 102,15,56,0,222 |
+ add edx,edi |
+ add ecx,DWORD [52+esp] |
+ xor ebp,eax |
+ mov esi,edx |
+ paddd xmm2,xmm7 |
+ rol edx,5 |
+ add ecx,ebp |
+ xor esi,eax |
+ ror edi,7 |
+ movdqa [32+esp],xmm2 |
+ add ecx,edx |
+ add ebx,DWORD [56+esp] |
+ xor esi,edi |
+ mov ebp,ecx |
+ psubd xmm2,xmm7 |
+ rol ecx,5 |
+ add ebx,esi |
+ xor ebp,edi |
+ ror edx,7 |
+ add ebx,ecx |
+ add eax,DWORD [60+esp] |
+ xor ebp,edx |
+ mov esi,ebx |
+ rol ebx,5 |
+ add eax,ebp |
+ ror ecx,7 |
+ add eax,ebx |
+ mov ebp,DWORD [192+esp] |
+ add eax,DWORD [ebp] |
+ add esi,DWORD [4+ebp] |
+ add ecx,DWORD [8+ebp] |
+ mov DWORD [ebp],eax |
+ add edx,DWORD [12+ebp] |
+ mov DWORD [4+ebp],esi |
+ add edi,DWORD [16+ebp] |
+ mov DWORD [8+ebp],ecx |
+ mov ebx,ecx |
+ mov DWORD [12+ebp],edx |
+ xor ebx,edx |
+ mov DWORD [16+ebp],edi |
+ mov ebp,esi |
+ pshufd xmm4,xmm0,238 |
+ and esi,ebx |
+ mov ebx,ebp |
+ jmp NEAR L$006loop |
+align 16 |
+L$007done: |
+ add ebx,DWORD [16+esp] |
+ xor esi,edi |
+ mov ebp,ecx |
+ rol ecx,5 |
+ add ebx,esi |
+ xor ebp,edi |
+ ror edx,7 |
+ add ebx,ecx |
+ add eax,DWORD [20+esp] |
+ xor ebp,edx |
+ mov esi,ebx |
+ rol ebx,5 |
+ add eax,ebp |
+ xor esi,edx |
+ ror ecx,7 |
+ add eax,ebx |
+ add edi,DWORD [24+esp] |
+ xor esi,ecx |
+ mov ebp,eax |
+ rol eax,5 |
+ add edi,esi |
+ xor ebp,ecx |
+ ror ebx,7 |
+ add edi,eax |
+ add edx,DWORD [28+esp] |
+ xor ebp,ebx |
+ mov esi,edi |
+ rol edi,5 |
+ add edx,ebp |
+ xor esi,ebx |
+ ror eax,7 |
+ add edx,edi |
+ add ecx,DWORD [32+esp] |
+ xor esi,eax |
+ mov ebp,edx |
+ rol edx,5 |
+ add ecx,esi |
+ xor ebp,eax |
+ ror edi,7 |
+ add ecx,edx |
+ add ebx,DWORD [36+esp] |
+ xor ebp,edi |
+ mov esi,ecx |
+ rol ecx,5 |
+ add ebx,ebp |
+ xor esi,edi |
+ ror edx,7 |
+ add ebx,ecx |
+ add eax,DWORD [40+esp] |
+ xor esi,edx |
+ mov ebp,ebx |
+ rol ebx,5 |
+ add eax,esi |
+ xor ebp,edx |
+ ror ecx,7 |
+ add eax,ebx |
+ add edi,DWORD [44+esp] |
+ xor ebp,ecx |
+ mov esi,eax |
+ rol eax,5 |
+ add edi,ebp |
+ xor esi,ecx |
+ ror ebx,7 |
+ add edi,eax |
+ add edx,DWORD [48+esp] |
+ xor esi,ebx |
+ mov ebp,edi |
+ rol edi,5 |
+ add edx,esi |
+ xor ebp,ebx |
+ ror eax,7 |
+ add edx,edi |
+ add ecx,DWORD [52+esp] |
+ xor ebp,eax |
+ mov esi,edx |
+ rol edx,5 |
+ add ecx,ebp |
+ xor esi,eax |
+ ror edi,7 |
+ add ecx,edx |
+ add ebx,DWORD [56+esp] |
+ xor esi,edi |
+ mov ebp,ecx |
+ rol ecx,5 |
+ add ebx,esi |
+ xor ebp,edi |
+ ror edx,7 |
+ add ebx,ecx |
+ add eax,DWORD [60+esp] |
+ xor ebp,edx |
+ mov esi,ebx |
+ rol ebx,5 |
+ add eax,ebp |
+ ror ecx,7 |
+ add eax,ebx |
+ mov ebp,DWORD [192+esp] |
+ add eax,DWORD [ebp] |
+ mov esp,DWORD [204+esp] |
+ add esi,DWORD [4+ebp] |
+ add ecx,DWORD [8+ebp] |
+ mov DWORD [ebp],eax |
+ add edx,DWORD [12+ebp] |
+ mov DWORD [4+ebp],esi |
+ add edi,DWORD [16+ebp] |
+ mov DWORD [8+ebp],ecx |
+ mov DWORD [12+ebp],edx |
+ mov DWORD [16+ebp],edi |
+ pop edi |
+ pop esi |
+ pop ebx |
+ pop ebp |
+ ret |
+align 64 |
+L$K_XX_XX: |
+dd 1518500249,1518500249,1518500249,1518500249 |
+dd 1859775393,1859775393,1859775393,1859775393 |
+dd 2400959708,2400959708,2400959708,2400959708 |
+dd 3395469782,3395469782,3395469782,3395469782 |
+dd 66051,67438087,134810123,202182159 |
+db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 |
+db 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 |
+db 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82 |
+db 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 |
+db 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 |
+segment .bss |
+common _OPENSSL_ia32cap_P 16 |