| %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 |
| and edx,268435456 |
| and eax,1073741824 |
| or eax,edx |
| cmp eax,1342177280 |
| je NEAR L$avx_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_ssse3: |
| 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$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$004loop |
| align 16 |
| L$004loop: |
| 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$005done |
| 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$004loop |
| align 16 |
| L$005done: |
| 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 16 |
| __sha1_block_data_order_avx: |
| push ebp |
| push ebx |
| push esi |
| push edi |
| call L$006pic_point |
| L$006pic_point: |
| pop ebp |
| lea ebp,[(L$K_XX_XX-L$006pic_point)+ebp] |
| L$avx_shortcut: |
| vzeroall |
| vmovdqa xmm7,[ebp] |
| vmovdqa xmm0,[16+ebp] |
| vmovdqa xmm1,[32+ebp] |
| vmovdqa xmm2,[48+ebp] |
| vmovdqa 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 |
| vmovdqa [112+esp],xmm0 |
| vmovdqa [128+esp],xmm1 |
| vmovdqa [144+esp],xmm2 |
| shl edx,6 |
| vmovdqa [160+esp],xmm7 |
| add edx,ebp |
| vmovdqa [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 |
| vmovdqu xmm0,[ebp-64] |
| vmovdqu xmm1,[ebp-48] |
| vmovdqu xmm2,[ebp-32] |
| vmovdqu xmm3,[ebp-16] |
| vpshufb xmm0,xmm0,xmm6 |
| vpshufb xmm1,xmm1,xmm6 |
| vpshufb xmm2,xmm2,xmm6 |
| vmovdqa [96+esp],xmm7 |
| vpshufb xmm3,xmm3,xmm6 |
| vpaddd xmm4,xmm0,xmm7 |
| vpaddd xmm5,xmm1,xmm7 |
| vpaddd xmm6,xmm2,xmm7 |
| vmovdqa [esp],xmm4 |
| mov ebp,ecx |
| vmovdqa [16+esp],xmm5 |
| xor ebp,edx |
| vmovdqa [32+esp],xmm6 |
| and esi,ebp |
| jmp NEAR L$007loop |
| align 16 |
| L$007loop: |
| shrd ebx,ebx,2 |
| xor esi,edx |
| vpalignr xmm4,xmm1,xmm0,8 |
| mov ebp,eax |
| add edi,DWORD [esp] |
| vpaddd xmm7,xmm7,xmm3 |
| vmovdqa [64+esp],xmm0 |
| xor ebx,ecx |
| shld eax,eax,5 |
| vpsrldq xmm6,xmm3,4 |
| add edi,esi |
| and ebp,ebx |
| vpxor xmm4,xmm4,xmm0 |
| xor ebx,ecx |
| add edi,eax |
| vpxor xmm6,xmm6,xmm2 |
| shrd eax,eax,7 |
| xor ebp,ecx |
| vmovdqa [48+esp],xmm7 |
| mov esi,edi |
| add edx,DWORD [4+esp] |
| vpxor xmm4,xmm4,xmm6 |
| xor eax,ebx |
| shld edi,edi,5 |
| add edx,ebp |
| and esi,eax |
| vpsrld xmm6,xmm4,31 |
| xor eax,ebx |
| add edx,edi |
| shrd edi,edi,7 |
| xor esi,ebx |
| vpslldq xmm0,xmm4,12 |
| vpaddd xmm4,xmm4,xmm4 |
| mov ebp,edx |
| add ecx,DWORD [8+esp] |
| xor edi,eax |
| shld edx,edx,5 |
| vpsrld xmm7,xmm0,30 |
| vpor xmm4,xmm4,xmm6 |
| add ecx,esi |
| and ebp,edi |
| xor edi,eax |
| add ecx,edx |
| vpslld xmm0,xmm0,2 |
| shrd edx,edx,7 |
| xor ebp,eax |
| vpxor xmm4,xmm4,xmm7 |
| mov esi,ecx |
| add ebx,DWORD [12+esp] |
| xor edx,edi |
| shld ecx,ecx,5 |
| vpxor xmm4,xmm4,xmm0 |
| add ebx,ebp |
| and esi,edx |
| vmovdqa xmm0,[96+esp] |
| xor edx,edi |
| add ebx,ecx |
| shrd ecx,ecx,7 |
| xor esi,edi |
| vpalignr xmm5,xmm2,xmm1,8 |
| mov ebp,ebx |
| add eax,DWORD [16+esp] |
| vpaddd xmm0,xmm0,xmm4 |
| vmovdqa [80+esp],xmm1 |
| xor ecx,edx |
| shld ebx,ebx,5 |
| vpsrldq xmm7,xmm4,4 |
| add eax,esi |
| and ebp,ecx |
| vpxor xmm5,xmm5,xmm1 |
| xor ecx,edx |
| add eax,ebx |
| vpxor xmm7,xmm7,xmm3 |
| shrd ebx,ebx,7 |
| xor ebp,edx |
| vmovdqa [esp],xmm0 |
| mov esi,eax |
| add edi,DWORD [20+esp] |
| vpxor xmm5,xmm5,xmm7 |
| xor ebx,ecx |
| shld eax,eax,5 |
| add edi,ebp |
| and esi,ebx |
| vpsrld xmm7,xmm5,31 |
| xor ebx,ecx |
| add edi,eax |
| shrd eax,eax,7 |
| xor esi,ecx |
| vpslldq xmm1,xmm5,12 |
| vpaddd xmm5,xmm5,xmm5 |
| mov ebp,edi |
| add edx,DWORD [24+esp] |
| xor eax,ebx |
| shld edi,edi,5 |
| vpsrld xmm0,xmm1,30 |
| vpor xmm5,xmm5,xmm7 |
| add edx,esi |
| and ebp,eax |
| xor eax,ebx |
| add edx,edi |
| vpslld xmm1,xmm1,2 |
| shrd edi,edi,7 |
| xor ebp,ebx |
| vpxor xmm5,xmm5,xmm0 |
| mov esi,edx |
| add ecx,DWORD [28+esp] |
| xor edi,eax |
| shld edx,edx,5 |
| vpxor xmm5,xmm5,xmm1 |
| add ecx,ebp |
| and esi,edi |
| vmovdqa xmm1,[112+esp] |
| xor edi,eax |
| add ecx,edx |
| shrd edx,edx,7 |
| xor esi,eax |
| vpalignr xmm6,xmm3,xmm2,8 |
| mov ebp,ecx |
| add ebx,DWORD [32+esp] |
| vpaddd xmm1,xmm1,xmm5 |
| vmovdqa [96+esp],xmm2 |
| xor edx,edi |
| shld ecx,ecx,5 |
| vpsrldq xmm0,xmm5,4 |
| add ebx,esi |
| and ebp,edx |
| vpxor xmm6,xmm6,xmm2 |
| xor edx,edi |
| add ebx,ecx |
| vpxor xmm0,xmm0,xmm4 |
| shrd ecx,ecx,7 |
| xor ebp,edi |
| vmovdqa [16+esp],xmm1 |
| mov esi,ebx |
| add eax,DWORD [36+esp] |
| vpxor xmm6,xmm6,xmm0 |
| xor ecx,edx |
| shld ebx,ebx,5 |
| add eax,ebp |
| and esi,ecx |
| vpsrld xmm0,xmm6,31 |
| xor ecx,edx |
| add eax,ebx |
| shrd ebx,ebx,7 |
| xor esi,edx |
| vpslldq xmm2,xmm6,12 |
| vpaddd xmm6,xmm6,xmm6 |
| mov ebp,eax |
| add edi,DWORD [40+esp] |
| xor ebx,ecx |
| shld eax,eax,5 |
| vpsrld xmm1,xmm2,30 |
| vpor xmm6,xmm6,xmm0 |
| add edi,esi |
| and ebp,ebx |
| xor ebx,ecx |
| add edi,eax |
| vpslld xmm2,xmm2,2 |
| vmovdqa xmm0,[64+esp] |
| shrd eax,eax,7 |
| xor ebp,ecx |
| vpxor xmm6,xmm6,xmm1 |
| mov esi,edi |
| add edx,DWORD [44+esp] |
| xor eax,ebx |
| shld edi,edi,5 |
| vpxor xmm6,xmm6,xmm2 |
| add edx,ebp |
| and esi,eax |
| vmovdqa xmm2,[112+esp] |
| xor eax,ebx |
| add edx,edi |
| shrd edi,edi,7 |
| xor esi,ebx |
| vpalignr xmm7,xmm4,xmm3,8 |
| mov ebp,edx |
| add ecx,DWORD [48+esp] |
| vpaddd xmm2,xmm2,xmm6 |
| vmovdqa [64+esp],xmm3 |
| xor edi,eax |
| shld edx,edx,5 |
| vpsrldq xmm1,xmm6,4 |
| add ecx,esi |
| and ebp,edi |
| vpxor xmm7,xmm7,xmm3 |
| xor edi,eax |
| add ecx,edx |
| vpxor xmm1,xmm1,xmm5 |
| shrd edx,edx,7 |
| xor ebp,eax |
| vmovdqa [32+esp],xmm2 |
| mov esi,ecx |
| add ebx,DWORD [52+esp] |
| vpxor xmm7,xmm7,xmm1 |
| xor edx,edi |
| shld ecx,ecx,5 |
| add ebx,ebp |
| and esi,edx |
| vpsrld xmm1,xmm7,31 |
| xor edx,edi |
| add ebx,ecx |
| shrd ecx,ecx,7 |
| xor esi,edi |
| vpslldq xmm3,xmm7,12 |
| vpaddd xmm7,xmm7,xmm7 |
| mov ebp,ebx |
| add eax,DWORD [56+esp] |
| xor ecx,edx |
| shld ebx,ebx,5 |
| vpsrld xmm2,xmm3,30 |
| vpor xmm7,xmm7,xmm1 |
| add eax,esi |
| and ebp,ecx |
| xor ecx,edx |
| add eax,ebx |
| vpslld xmm3,xmm3,2 |
| vmovdqa xmm1,[80+esp] |
| shrd ebx,ebx,7 |
| xor ebp,edx |
| vpxor xmm7,xmm7,xmm2 |
| mov esi,eax |
| add edi,DWORD [60+esp] |
| xor ebx,ecx |
| shld eax,eax,5 |
| vpxor xmm7,xmm7,xmm3 |
| add edi,ebp |
| and esi,ebx |
| vmovdqa xmm3,[112+esp] |
| xor ebx,ecx |
| add edi,eax |
| vpalignr xmm2,xmm7,xmm6,8 |
| vpxor xmm0,xmm0,xmm4 |
| shrd eax,eax,7 |
| xor esi,ecx |
| mov ebp,edi |
| add edx,DWORD [esp] |
| vpxor xmm0,xmm0,xmm1 |
| vmovdqa [80+esp],xmm4 |
| xor eax,ebx |
| shld edi,edi,5 |
| vmovdqa xmm4,xmm3 |
| vpaddd xmm3,xmm3,xmm7 |
| add edx,esi |
| and ebp,eax |
| vpxor xmm0,xmm0,xmm2 |
| xor eax,ebx |
| add edx,edi |
| shrd edi,edi,7 |
| xor ebp,ebx |
| vpsrld xmm2,xmm0,30 |
| vmovdqa [48+esp],xmm3 |
| mov esi,edx |
| add ecx,DWORD [4+esp] |
| xor edi,eax |
| shld edx,edx,5 |
| vpslld xmm0,xmm0,2 |
| add ecx,ebp |
| and esi,edi |
| xor edi,eax |
| add ecx,edx |
| shrd edx,edx,7 |
| xor esi,eax |
| mov ebp,ecx |
| add ebx,DWORD [8+esp] |
| vpor xmm0,xmm0,xmm2 |
| xor edx,edi |
| shld ecx,ecx,5 |
| vmovdqa xmm2,[96+esp] |
| add ebx,esi |
| and ebp,edx |
| xor edx,edi |
| add ebx,ecx |
| add eax,DWORD [12+esp] |
| xor ebp,edi |
| mov esi,ebx |
| shld ebx,ebx,5 |
| add eax,ebp |
| xor esi,edx |
| shrd ecx,ecx,7 |
| add eax,ebx |
| vpalignr xmm3,xmm0,xmm7,8 |
| vpxor xmm1,xmm1,xmm5 |
| add edi,DWORD [16+esp] |
| xor esi,ecx |
| mov ebp,eax |
| shld eax,eax,5 |
| vpxor xmm1,xmm1,xmm2 |
| vmovdqa [96+esp],xmm5 |
| add edi,esi |
| xor ebp,ecx |
| vmovdqa xmm5,xmm4 |
| vpaddd xmm4,xmm4,xmm0 |
| shrd ebx,ebx,7 |
| add edi,eax |
| vpxor xmm1,xmm1,xmm3 |
| add edx,DWORD [20+esp] |
| xor ebp,ebx |
| mov esi,edi |
| shld edi,edi,5 |
| vpsrld xmm3,xmm1,30 |
| vmovdqa [esp],xmm4 |
| add edx,ebp |
| xor esi,ebx |
| shrd eax,eax,7 |
| add edx,edi |
| vpslld xmm1,xmm1,2 |
| add ecx,DWORD [24+esp] |
| xor esi,eax |
| mov ebp,edx |
| shld edx,edx,5 |
| add ecx,esi |
| xor ebp,eax |
| shrd edi,edi,7 |
| add ecx,edx |
| vpor xmm1,xmm1,xmm3 |
| add ebx,DWORD [28+esp] |
| xor ebp,edi |
| vmovdqa xmm3,[64+esp] |
| mov esi,ecx |
| shld ecx,ecx,5 |
| add ebx,ebp |
| xor esi,edi |
| shrd edx,edx,7 |
| add ebx,ecx |
| vpalignr xmm4,xmm1,xmm0,8 |
| vpxor xmm2,xmm2,xmm6 |
| add eax,DWORD [32+esp] |
| xor esi,edx |
| mov ebp,ebx |
| shld ebx,ebx,5 |
| vpxor xmm2,xmm2,xmm3 |
| vmovdqa [64+esp],xmm6 |
| add eax,esi |
| xor ebp,edx |
| vmovdqa xmm6,[128+esp] |
| vpaddd xmm5,xmm5,xmm1 |
| shrd ecx,ecx,7 |
| add eax,ebx |
| vpxor xmm2,xmm2,xmm4 |
| add edi,DWORD [36+esp] |
| xor ebp,ecx |
| mov esi,eax |
| shld eax,eax,5 |
| vpsrld xmm4,xmm2,30 |
| vmovdqa [16+esp],xmm5 |
| add edi,ebp |
| xor esi,ecx |
| shrd ebx,ebx,7 |
| add edi,eax |
| vpslld xmm2,xmm2,2 |
| add edx,DWORD [40+esp] |
| xor esi,ebx |
| mov ebp,edi |
| shld edi,edi,5 |
| add edx,esi |
| xor ebp,ebx |
| shrd eax,eax,7 |
| add edx,edi |
| vpor xmm2,xmm2,xmm4 |
| add ecx,DWORD [44+esp] |
| xor ebp,eax |
| vmovdqa xmm4,[80+esp] |
| mov esi,edx |
| shld edx,edx,5 |
| add ecx,ebp |
| xor esi,eax |
| shrd edi,edi,7 |
| add ecx,edx |
| vpalignr xmm5,xmm2,xmm1,8 |
| vpxor xmm3,xmm3,xmm7 |
| add ebx,DWORD [48+esp] |
| xor esi,edi |
| mov ebp,ecx |
| shld ecx,ecx,5 |
| vpxor xmm3,xmm3,xmm4 |
| vmovdqa [80+esp],xmm7 |
| add ebx,esi |
| xor ebp,edi |
| vmovdqa xmm7,xmm6 |
| vpaddd xmm6,xmm6,xmm2 |
| shrd edx,edx,7 |
| add ebx,ecx |
| vpxor xmm3,xmm3,xmm5 |
| add eax,DWORD [52+esp] |
| xor ebp,edx |
| mov esi,ebx |
| shld ebx,ebx,5 |
| vpsrld xmm5,xmm3,30 |
| vmovdqa [32+esp],xmm6 |
| add eax,ebp |
| xor esi,edx |
| shrd ecx,ecx,7 |
| add eax,ebx |
| vpslld xmm3,xmm3,2 |
| add edi,DWORD [56+esp] |
| xor esi,ecx |
| mov ebp,eax |
| shld eax,eax,5 |
| add edi,esi |
| xor ebp,ecx |
| shrd ebx,ebx,7 |
| add edi,eax |
| vpor xmm3,xmm3,xmm5 |
| add edx,DWORD [60+esp] |
| xor ebp,ebx |
| vmovdqa xmm5,[96+esp] |
| mov esi,edi |
| shld edi,edi,5 |
| add edx,ebp |
| xor esi,ebx |
| shrd eax,eax,7 |
| add edx,edi |
| vpalignr xmm6,xmm3,xmm2,8 |
| vpxor xmm4,xmm4,xmm0 |
| add ecx,DWORD [esp] |
| xor esi,eax |
| mov ebp,edx |
| shld edx,edx,5 |
| vpxor xmm4,xmm4,xmm5 |
| vmovdqa [96+esp],xmm0 |
| add ecx,esi |
| xor ebp,eax |
| vmovdqa xmm0,xmm7 |
| vpaddd xmm7,xmm7,xmm3 |
| shrd edi,edi,7 |
| add ecx,edx |
| vpxor xmm4,xmm4,xmm6 |
| add ebx,DWORD [4+esp] |
| xor ebp,edi |
| mov esi,ecx |
| shld ecx,ecx,5 |
| vpsrld xmm6,xmm4,30 |
| vmovdqa [48+esp],xmm7 |
| add ebx,ebp |
| xor esi,edi |
| shrd edx,edx,7 |
| add ebx,ecx |
| vpslld xmm4,xmm4,2 |
| add eax,DWORD [8+esp] |
| xor esi,edx |
| mov ebp,ebx |
| shld ebx,ebx,5 |
| add eax,esi |
| xor ebp,edx |
| shrd ecx,ecx,7 |
| add eax,ebx |
| vpor xmm4,xmm4,xmm6 |
| add edi,DWORD [12+esp] |
| xor ebp,ecx |
| vmovdqa xmm6,[64+esp] |
| mov esi,eax |
| shld eax,eax,5 |
| add edi,ebp |
| xor esi,ecx |
| shrd ebx,ebx,7 |
| add edi,eax |
| vpalignr xmm7,xmm4,xmm3,8 |
| vpxor xmm5,xmm5,xmm1 |
| add edx,DWORD [16+esp] |
| xor esi,ebx |
| mov ebp,edi |
| shld edi,edi,5 |
| vpxor xmm5,xmm5,xmm6 |
| vmovdqa [64+esp],xmm1 |
| add edx,esi |
| xor ebp,ebx |
| vmovdqa xmm1,xmm0 |
| vpaddd xmm0,xmm0,xmm4 |
| shrd eax,eax,7 |
| add edx,edi |
| vpxor xmm5,xmm5,xmm7 |
| add ecx,DWORD [20+esp] |
| xor ebp,eax |
| mov esi,edx |
| shld edx,edx,5 |
| vpsrld xmm7,xmm5,30 |
| vmovdqa [esp],xmm0 |
| add ecx,ebp |
| xor esi,eax |
| shrd edi,edi,7 |
| add ecx,edx |
| vpslld xmm5,xmm5,2 |
| add ebx,DWORD [24+esp] |
| xor esi,edi |
| mov ebp,ecx |
| shld ecx,ecx,5 |
| add ebx,esi |
| xor ebp,edi |
| shrd edx,edx,7 |
| add ebx,ecx |
| vpor xmm5,xmm5,xmm7 |
| add eax,DWORD [28+esp] |
| vmovdqa xmm7,[80+esp] |
| shrd ecx,ecx,7 |
| mov esi,ebx |
| xor ebp,edx |
| shld ebx,ebx,5 |
| add eax,ebp |
| xor esi,ecx |
| xor ecx,edx |
| add eax,ebx |
| vpalignr xmm0,xmm5,xmm4,8 |
| vpxor xmm6,xmm6,xmm2 |
| add edi,DWORD [32+esp] |
| and esi,ecx |
| xor ecx,edx |
| shrd ebx,ebx,7 |
| vpxor xmm6,xmm6,xmm7 |
| vmovdqa [80+esp],xmm2 |
| mov ebp,eax |
| xor esi,ecx |
| vmovdqa xmm2,xmm1 |
| vpaddd xmm1,xmm1,xmm5 |
| shld eax,eax,5 |
| add edi,esi |
| vpxor xmm6,xmm6,xmm0 |
| xor ebp,ebx |
| xor ebx,ecx |
| add edi,eax |
| add edx,DWORD [36+esp] |
| vpsrld xmm0,xmm6,30 |
| vmovdqa [16+esp],xmm1 |
| and ebp,ebx |
| xor ebx,ecx |
| shrd eax,eax,7 |
| mov esi,edi |
| vpslld xmm6,xmm6,2 |
| xor ebp,ebx |
| shld edi,edi,5 |
| add edx,ebp |
| xor esi,eax |
| xor eax,ebx |
| add edx,edi |
| add ecx,DWORD [40+esp] |
| and esi,eax |
| vpor xmm6,xmm6,xmm0 |
| xor eax,ebx |
| shrd edi,edi,7 |
| vmovdqa xmm0,[96+esp] |
| mov ebp,edx |
| xor esi,eax |
| shld edx,edx,5 |
| add ecx,esi |
| xor ebp,edi |
| xor edi,eax |
| add ecx,edx |
| add ebx,DWORD [44+esp] |
| and ebp,edi |
| xor edi,eax |
| shrd edx,edx,7 |
| mov esi,ecx |
| xor ebp,edi |
| shld ecx,ecx,5 |
| add ebx,ebp |
| xor esi,edx |
| xor edx,edi |
| add ebx,ecx |
| vpalignr xmm1,xmm6,xmm5,8 |
| vpxor xmm7,xmm7,xmm3 |
| add eax,DWORD [48+esp] |
| and esi,edx |
| xor edx,edi |
| shrd ecx,ecx,7 |
| vpxor xmm7,xmm7,xmm0 |
| vmovdqa [96+esp],xmm3 |
| mov ebp,ebx |
| xor esi,edx |
| vmovdqa xmm3,[144+esp] |
| vpaddd xmm2,xmm2,xmm6 |
| shld ebx,ebx,5 |
| add eax,esi |
| vpxor xmm7,xmm7,xmm1 |
| xor ebp,ecx |
| xor ecx,edx |
| add eax,ebx |
| add edi,DWORD [52+esp] |
| vpsrld xmm1,xmm7,30 |
| vmovdqa [32+esp],xmm2 |
| and ebp,ecx |
| xor ecx,edx |
| shrd ebx,ebx,7 |
| mov esi,eax |
| vpslld xmm7,xmm7,2 |
| xor ebp,ecx |
| shld eax,eax,5 |
| add edi,ebp |
| xor esi,ebx |
| xor ebx,ecx |
| add edi,eax |
| add edx,DWORD [56+esp] |
| and esi,ebx |
| vpor xmm7,xmm7,xmm1 |
| xor ebx,ecx |
| shrd eax,eax,7 |
| vmovdqa xmm1,[64+esp] |
| mov ebp,edi |
| xor esi,ebx |
| shld edi,edi,5 |
| add edx,esi |
| xor ebp,eax |
| xor eax,ebx |
| add edx,edi |
| add ecx,DWORD [60+esp] |
| and ebp,eax |
| xor eax,ebx |
| shrd edi,edi,7 |
| mov esi,edx |
| xor ebp,eax |
| shld edx,edx,5 |
| add ecx,ebp |
| xor esi,edi |
| xor edi,eax |
| add ecx,edx |
| vpalignr xmm2,xmm7,xmm6,8 |
| vpxor xmm0,xmm0,xmm4 |
| add ebx,DWORD [esp] |
| and esi,edi |
| xor edi,eax |
| shrd edx,edx,7 |
| vpxor xmm0,xmm0,xmm1 |
| vmovdqa [64+esp],xmm4 |
| mov ebp,ecx |
| xor esi,edi |
| vmovdqa xmm4,xmm3 |
| vpaddd xmm3,xmm3,xmm7 |
| shld ecx,ecx,5 |
| add ebx,esi |
| vpxor xmm0,xmm0,xmm2 |
| xor ebp,edx |
| xor edx,edi |
| add ebx,ecx |
| add eax,DWORD [4+esp] |
| vpsrld xmm2,xmm0,30 |
| vmovdqa [48+esp],xmm3 |
| and ebp,edx |
| xor edx,edi |
| shrd ecx,ecx,7 |