diff options
Diffstat (limited to 'deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm')
-rw-r--r-- | deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm | 3624 |
1 files changed, 2457 insertions, 1167 deletions
diff --git a/deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm b/deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm index 9323f2b26a..9589f7fa08 100644 --- a/deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm +++ b/deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm @@ -1,5 +1,7 @@ OPTION DOTNAME .text$ SEGMENT ALIGN(64) 'CODE' +EXTERN OPENSSL_ia32cap_P:NEAR + PUBLIC sha1_block_data_order ALIGN 16 @@ -13,9 +15,18 @@ $L$SEH_begin_sha1_block_data_order:: mov rdx,r8 + mov r9d,DWORD PTR[((OPENSSL_ia32cap_P+0))] + mov r8d,DWORD PTR[((OPENSSL_ia32cap_P+4))] + test r8d,512 + jz $L$ialu + jmp _ssse3_shortcut + +ALIGN 16 +$L$ialu:: push rbx push rbp push r12 + push r13 mov r11,rsp mov r8,rdi sub rsp,72 @@ -25,1278 +36,2499 @@ $L$SEH_begin_sha1_block_data_order:: mov QWORD PTR[64+rsp],r11 $L$prologue:: - mov edx,DWORD PTR[r8] - mov esi,DWORD PTR[4+r8] - mov edi,DWORD PTR[8+r8] - mov ebp,DWORD PTR[12+r8] - mov r11d,DWORD PTR[16+r8] -ALIGN 4 + mov esi,DWORD PTR[r8] + mov edi,DWORD PTR[4+r8] + mov r11d,DWORD PTR[8+r8] + mov r12d,DWORD PTR[12+r8] + mov r13d,DWORD PTR[16+r8] + jmp $L$loop + +ALIGN 16 $L$loop:: - mov eax,DWORD PTR[r9] - bswap eax - mov DWORD PTR[rsp],eax - lea r12d,DWORD PTR[05a827999h+r11*1+rax] - mov ebx,edi - mov eax,DWORD PTR[4+r9] - mov r11d,edx - xor ebx,ebp - bswap eax - rol r11d,5 - and ebx,esi - mov DWORD PTR[4+rsp],eax - add r12d,r11d - xor ebx,ebp + mov edx,DWORD PTR[r9] + bswap edx + mov DWORD PTR[rsp],edx + mov eax,r11d + mov ebp,DWORD PTR[4+r9] + mov ecx,esi + xor eax,r12d + bswap ebp + rol ecx,5 + lea r13d,DWORD PTR[1518500249+r13*1+rdx] + and eax,edi + mov DWORD PTR[4+rsp],ebp + add r13d,ecx + xor eax,r12d + rol edi,30 + add r13d,eax + mov eax,edi + mov edx,DWORD PTR[8+r9] + mov ecx,r13d + xor eax,r11d + bswap edx + rol ecx,5 + lea r12d,DWORD PTR[1518500249+r12*1+rbp] + and eax,esi + mov DWORD PTR[8+rsp],edx + add r12d,ecx + xor eax,r11d rol esi,30 - add r12d,ebx - lea r11d,DWORD PTR[05a827999h+rbp*1+rax] - mov ebx,esi - mov eax,DWORD PTR[8+r9] - mov ebp,r12d - xor ebx,edi - bswap eax - rol ebp,5 - and ebx,edx - mov DWORD PTR[8+rsp],eax - add r11d,ebp - xor ebx,edi - rol edx,30 - add r11d,ebx - lea ebp,DWORD PTR[05a827999h+rdi*1+rax] - mov ebx,edx - mov eax,DWORD PTR[12+r9] - mov edi,r11d - xor ebx,esi - bswap eax - rol edi,5 - and ebx,r12d - mov DWORD PTR[12+rsp],eax - add ebp,edi - xor ebx,esi + add r12d,eax + mov eax,esi + mov ebp,DWORD PTR[12+r9] + mov ecx,r12d + xor eax,edi + bswap ebp + rol ecx,5 + lea r11d,DWORD PTR[1518500249+r11*1+rdx] + and eax,r13d + mov DWORD PTR[12+rsp],ebp + add r11d,ecx + xor eax,edi + rol r13d,30 + add r11d,eax + mov eax,r13d + mov edx,DWORD PTR[16+r9] + mov ecx,r11d + xor eax,esi + bswap edx + rol ecx,5 + lea edi,DWORD PTR[1518500249+rdi*1+rbp] + and eax,r12d + mov DWORD PTR[16+rsp],edx + add edi,ecx + xor eax,esi rol r12d,30 - add ebp,ebx - lea edi,DWORD PTR[05a827999h+rsi*1+rax] - mov ebx,r12d - mov eax,DWORD PTR[16+r9] - mov esi,ebp - xor ebx,edx - bswap eax - rol esi,5 - and ebx,r11d - mov DWORD PTR[16+rsp],eax - add edi,esi - xor ebx,edx + add edi,eax + mov eax,r12d + mov ebp,DWORD PTR[20+r9] + mov ecx,edi + xor eax,r13d + bswap ebp + rol ecx,5 + lea esi,DWORD PTR[1518500249+rsi*1+rdx] + and eax,r11d + mov DWORD PTR[20+rsp],ebp + add esi,ecx + xor eax,r13d rol r11d,30 - add edi,ebx - lea esi,DWORD PTR[05a827999h+rdx*1+rax] + add esi,eax + mov eax,r11d + mov edx,DWORD PTR[24+r9] + mov ecx,esi + xor eax,r12d + bswap edx + rol ecx,5 + lea r13d,DWORD PTR[1518500249+r13*1+rbp] + and eax,edi + mov DWORD PTR[24+rsp],edx + add r13d,ecx + xor eax,r12d + rol edi,30 + add r13d,eax + mov eax,edi + mov ebp,DWORD PTR[28+r9] + mov ecx,r13d + xor eax,r11d + bswap ebp + rol ecx,5 + lea r12d,DWORD PTR[1518500249+r12*1+rdx] + and eax,esi + mov DWORD PTR[28+rsp],ebp + add r12d,ecx + xor eax,r11d + rol esi,30 + add r12d,eax + mov eax,esi + mov edx,DWORD PTR[32+r9] + mov ecx,r12d + xor eax,edi + bswap edx + rol ecx,5 + lea r11d,DWORD PTR[1518500249+r11*1+rbp] + and eax,r13d + mov DWORD PTR[32+rsp],edx + add r11d,ecx + xor eax,edi + rol r13d,30 + add r11d,eax + mov eax,r13d + mov ebp,DWORD PTR[36+r9] + mov ecx,r11d + xor eax,esi + bswap ebp + rol ecx,5 + lea edi,DWORD PTR[1518500249+rdi*1+rdx] + and eax,r12d + mov DWORD PTR[36+rsp],ebp + add edi,ecx + xor eax,esi + rol r12d,30 + add edi,eax + mov eax,r12d + mov edx,DWORD PTR[40+r9] + mov ecx,edi + xor eax,r13d + bswap edx + rol ecx,5 + lea esi,DWORD PTR[1518500249+rsi*1+rbp] + and eax,r11d + mov DWORD PTR[40+rsp],edx + add esi,ecx + xor eax,r13d + rol r11d,30 + add esi,eax + mov eax,r11d + mov ebp,DWORD PTR[44+r9] + mov ecx,esi + xor eax,r12d + bswap ebp + rol ecx,5 + lea r13d,DWORD PTR[1518500249+r13*1+rdx] + and eax,edi + mov DWORD PTR[44+rsp],ebp + add r13d,ecx + xor eax,r12d + rol edi,30 + add r13d,eax + mov eax,edi + mov edx,DWORD PTR[48+r9] + mov ecx,r13d + xor eax,r11d + bswap edx + rol ecx,5 + lea r12d,DWORD PTR[1518500249+r12*1+rbp] + and eax,esi + mov DWORD PTR[48+rsp],edx + add r12d,ecx + xor eax,r11d + rol esi,30 + add r12d,eax + mov eax,esi + mov ebp,DWORD PTR[52+r9] + mov ecx,r12d + xor eax,edi + bswap ebp + rol ecx,5 + lea r11d,DWORD PTR[1518500249+r11*1+rdx] + and eax,r13d + mov DWORD PTR[52+rsp],ebp + add r11d,ecx + xor eax,edi + rol r13d,30 + add r11d,eax + mov eax,r13d + mov edx,DWORD PTR[56+r9] + mov ecx,r11d + xor eax,esi + bswap edx + rol ecx,5 + lea edi,DWORD PTR[1518500249+rdi*1+rbp] + and eax,r12d + mov DWORD PTR[56+rsp],edx + add edi,ecx + xor eax,esi + rol r12d,30 + add edi,eax + mov eax,r12d + mov ebp,DWORD PTR[60+r9] + mov ecx,edi + xor eax,r13d + bswap ebp + rol ecx,5 + lea esi,DWORD PTR[1518500249+rsi*1+rdx] + and eax,r11d + mov DWORD PTR[60+rsp],ebp + add esi,ecx + xor eax,r13d + rol r11d,30 + add esi,eax + mov edx,DWORD PTR[rsp] + mov eax,r11d + mov ecx,esi + xor edx,DWORD PTR[8+rsp] + xor eax,r12d + rol ecx,5 + xor edx,DWORD PTR[32+rsp] + and eax,edi + lea r13d,DWORD PTR[1518500249+r13*1+rbp] + xor edx,DWORD PTR[52+rsp] + xor eax,r12d + rol edx,1 + add r13d,ecx + rol edi,30 + mov DWORD PTR[rsp],edx + add r13d,eax + mov ebp,DWORD PTR[4+rsp] + mov eax,edi + mov ecx,r13d + xor ebp,DWORD PTR[12+rsp] + xor eax,r11d + rol ecx,5 + xor ebp,DWORD PTR[36+rsp] + and eax,esi + lea r12d,DWORD PTR[1518500249+r12*1+rdx] + xor ebp,DWORD PTR[56+rsp] + xor eax,r11d + rol ebp,1 + add r12d,ecx + rol esi,30 + mov DWORD PTR[4+rsp],ebp + add r12d,eax + mov edx,DWORD PTR[8+rsp] + mov eax,esi + mov ecx,r12d + xor edx,DWORD PTR[16+rsp] + xor eax,edi + rol ecx,5 + xor edx,DWORD PTR[40+rsp] + and eax,r13d + lea r11d,DWORD PTR[1518500249+r11*1+rbp] + xor edx,DWORD PTR[60+rsp] + xor eax,edi + rol edx,1 + add r11d,ecx + rol r13d,30 + mov DWORD PTR[8+rsp],edx + add r11d,eax + mov ebp,DWORD PTR[12+rsp] + mov eax,r13d + mov ecx,r11d + xor ebp,DWORD PTR[20+rsp] + xor eax,esi + rol ecx,5 + xor ebp,DWORD PTR[44+rsp] + and eax,r12d + lea edi,DWORD PTR[1518500249+rdi*1+rdx] + xor ebp,DWORD PTR[rsp] + xor eax,esi + rol ebp,1 + add edi,ecx + rol r12d,30 + mov DWORD PTR[12+rsp],ebp + add edi,eax + mov edx,DWORD PTR[16+rsp] + mov eax,r12d + mov ecx,edi + xor edx,DWORD PTR[24+rsp] + xor eax,r13d + rol ecx,5 + xor edx,DWORD PTR[48+rsp] + and eax,r11d + lea esi,DWORD PTR[1518500249+rsi*1+rbp] + xor edx,DWORD PTR[4+rsp] + xor eax,r13d + rol edx,1 + add esi,ecx + rol r11d,30 + mov DWORD PTR[16+rsp],edx + add esi,eax + mov ebp,DWORD PTR[20+rsp] + mov eax,r11d + mov ecx,esi + xor ebp,DWORD PTR[28+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[1859775393+r13*1+rdx] + xor ebp,DWORD PTR[52+rsp] + xor eax,r12d + add r13d,ecx + xor ebp,DWORD PTR[8+rsp] + rol edi,30 + add r13d,eax + rol ebp,1 + mov DWORD PTR[20+rsp],ebp + mov edx,DWORD PTR[24+rsp] + mov eax,edi + mov ecx,r13d + xor edx,DWORD PTR[32+rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[1859775393+r12*1+rbp] + xor edx,DWORD PTR[56+rsp] + xor eax,r11d + add r12d,ecx + xor edx,DWORD PTR[12+rsp] + rol esi,30 + add r12d,eax + rol edx,1 + mov DWORD PTR[24+rsp],edx + mov ebp,DWORD PTR[28+rsp] + mov eax,esi + mov ecx,r12d + xor ebp,DWORD PTR[36+rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[1859775393+r11*1+rdx] + xor ebp,DWORD PTR[60+rsp] + xor eax,edi + add r11d,ecx + xor ebp,DWORD PTR[16+rsp] + rol r13d,30 + add r11d,eax + rol ebp,1 + mov DWORD PTR[28+rsp],ebp + mov edx,DWORD PTR[32+rsp] + mov eax,r13d + mov ecx,r11d + xor edx,DWORD PTR[40+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[1859775393+rdi*1+rbp] + xor edx,DWORD PTR[rsp] + xor eax,esi + add edi,ecx + xor edx,DWORD PTR[20+rsp] + rol r12d,30 + add edi,eax + rol edx,1 + mov DWORD PTR[32+rsp],edx + mov ebp,DWORD PTR[36+rsp] + mov eax,r12d + mov ecx,edi + xor ebp,DWORD PTR[44+rsp] + xor eax,r11d + rol ecx,5 + lea esi,DWORD PTR[1859775393+rsi*1+rdx] + xor ebp,DWORD PTR[4+rsp] + xor eax,r13d + add esi,ecx + xor ebp,DWORD PTR[24+rsp] + rol r11d,30 + add esi,eax + rol ebp,1 + mov DWORD PTR[36+rsp],ebp + mov edx,DWORD PTR[40+rsp] + mov eax,r11d + mov ecx,esi + xor edx,DWORD PTR[48+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[1859775393+r13*1+rbp] + xor edx,DWORD PTR[8+rsp] + xor eax,r12d + add r13d,ecx + xor edx,DWORD PTR[28+rsp] + rol edi,30 + add r13d,eax + rol edx,1 + mov DWORD PTR[40+rsp],edx + mov ebp,DWORD PTR[44+rsp] + mov eax,edi + mov ecx,r13d + xor ebp,DWORD PTR[52+rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[1859775393+r12*1+rdx] + xor ebp,DWORD PTR[12+rsp] + xor eax,r11d + add r12d,ecx + xor ebp,DWORD PTR[32+rsp] + rol esi,30 + add r12d,eax + rol ebp,1 + mov DWORD PTR[44+rsp],ebp + mov edx,DWORD PTR[48+rsp] + mov eax,esi + mov ecx,r12d + xor edx,DWORD PTR[56+rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[1859775393+r11*1+rbp] + xor edx,DWORD PTR[16+rsp] + xor eax,edi + add r11d,ecx + xor edx,DWORD PTR[36+rsp] + rol r13d,30 + add r11d,eax + rol edx,1 + mov DWORD PTR[48+rsp],edx + mov ebp,DWORD PTR[52+rsp] + mov eax,r13d + mov ecx,r11d + xor ebp,DWORD PTR[60+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[1859775393+rdi*1+rdx] + xor ebp,DWORD PTR[20+rsp] + xor eax,esi + add edi,ecx + xor ebp,DWORD PTR[40+rsp] + rol r12d,30 + add edi,eax + rol ebp,1 + mov DWORD PTR[52+rsp],ebp + mov edx,DWORD PTR[56+rsp] + mov eax,r12d + mov ecx,edi + xor edx,DWORD PTR[rsp] + xor eax,r11d + rol ecx,5 + lea esi,DWORD PTR[1859775393+rsi*1+rbp] + xor edx,DWORD PTR[24+rsp] + xor eax,r13d + add esi,ecx + xor edx,DWORD PTR[44+rsp] + rol r11d,30 + add esi,eax + rol edx,1 + mov DWORD PTR[56+rsp],edx + mov ebp,DWORD PTR[60+rsp] + mov eax,r11d + mov ecx,esi + xor ebp,DWORD PTR[4+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[1859775393+r13*1+rdx] + xor ebp,DWORD PTR[28+rsp] + xor eax,r12d + add r13d,ecx + xor ebp,DWORD PTR[48+rsp] + rol edi,30 + add r13d,eax + rol ebp,1 + mov DWORD PTR[60+rsp],ebp + mov edx,DWORD PTR[rsp] + mov eax,edi + mov ecx,r13d + xor edx,DWORD PTR[8+rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[1859775393+r12*1+rbp] + xor edx,DWORD PTR[32+rsp] + xor eax,r11d + add r12d,ecx + xor edx,DWORD PTR[52+rsp] + rol esi,30 + add r12d,eax + rol edx,1 + mov DWORD PTR[rsp],edx + mov ebp,DWORD PTR[4+rsp] + mov eax,esi + mov ecx,r12d + xor ebp,DWORD PTR[12+rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[1859775393+r11*1+rdx] + xor ebp,DWORD PTR[36+rsp] + xor eax,edi + add r11d,ecx + xor ebp,DWORD PTR[56+rsp] + rol r13d,30 + add r11d,eax + rol ebp,1 + mov DWORD PTR[4+rsp],ebp + mov edx,DWORD PTR[8+rsp] + mov eax,r13d + mov ecx,r11d + xor edx,DWORD PTR[16+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[1859775393+rdi*1+rbp] + xor edx,DWORD PTR[40+rsp] + xor eax,esi + add edi,ecx + xor edx,DWORD PTR[60+rsp] + rol r12d,30 + add edi,eax + rol edx,1 + mov DWORD PTR[8+rsp],edx + mov ebp,DWORD PTR[12+rsp] + mov eax,r12d + mov ecx,edi + xor ebp,DWORD PTR[20+rsp] + xor eax,r11d + rol ecx,5 + lea esi,DWORD PTR[1859775393+rsi*1+rdx] + xor ebp,DWORD PTR[44+rsp] + xor eax,r13d + add esi,ecx + xor ebp,DWORD PTR[rsp] + rol r11d,30 + add esi,eax + rol ebp,1 + mov DWORD PTR[12+rsp],ebp + mov edx,DWORD PTR[16+rsp] + mov eax,r11d + mov ecx,esi + xor edx,DWORD PTR[24+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[1859775393+r13*1+rbp] + xor edx,DWORD PTR[48+rsp] + xor eax,r12d + add r13d,ecx + xor edx,DWORD PTR[4+rsp] + rol edi,30 + add r13d,eax + rol edx,1 + mov DWORD PTR[16+rsp],edx + mov ebp,DWORD PTR[20+rsp] + mov eax,edi + mov ecx,r13d + xor ebp,DWORD PTR[28+rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[1859775393+r12*1+rdx] + xor ebp,DWORD PTR[52+rsp] + xor eax,r11d + add r12d,ecx + xor ebp,DWORD PTR[8+rsp] + rol esi,30 + add r12d,eax + rol ebp,1 + mov DWORD PTR[20+rsp],ebp + mov edx,DWORD PTR[24+rsp] + mov eax,esi + mov ecx,r12d + xor edx,DWORD PTR[32+rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[1859775393+r11*1+rbp] + xor edx,DWORD PTR[56+rsp] + xor eax,edi + add r11d,ecx + xor edx,DWORD PTR[12+rsp] + rol r13d,30 + add r11d,eax + rol edx,1 + mov DWORD PTR[24+rsp],edx + mov ebp,DWORD PTR[28+rsp] + mov eax,r13d + mov ecx,r11d + xor ebp,DWORD PTR[36+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[1859775393+rdi*1+rdx] + xor ebp,DWORD PTR[60+rsp] + xor eax,esi + add edi,ecx + xor ebp,DWORD PTR[16+rsp] + rol r12d,30 + add edi,eax + rol ebp,1 + mov DWORD PTR[28+rsp],ebp + mov edx,DWORD PTR[32+rsp] + mov eax,r12d + mov ecx,edi + xor edx,DWORD PTR[40+rsp] + xor eax,r11d + rol ecx,5 + lea esi,DWORD PTR[1859775393+rsi*1+rbp] + xor edx,DWORD PTR[rsp] + xor eax,r13d + add esi,ecx + xor edx,DWORD PTR[20+rsp] + rol r11d,30 + add esi,eax + rol edx,1 + mov DWORD PTR[32+rsp],edx + mov ebp,DWORD PTR[36+rsp] + mov eax,r11d mov ebx,r11d - mov eax,DWORD PTR[20+r9] - mov edx,edi - xor ebx,r12d - bswap eax - rol edx,5 - and ebx,ebp - mov DWORD PTR[20+rsp],eax - add esi,edx + xor ebp,DWORD PTR[44+rsp] + and eax,r12d + mov ecx,esi + xor ebp,DWORD PTR[4+rsp] xor ebx,r12d - rol ebp,30 - add esi,ebx - lea edx,DWORD PTR[05a827999h+r12*1+rax] - mov ebx,ebp - mov eax,DWORD PTR[24+r9] - mov r12d,esi - xor ebx,r11d - bswap eax - rol r12d,5 + lea r13d,DWORD PTR[((-1894007588))+r13*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[24+rsp] + add r13d,eax and ebx,edi - mov DWORD PTR[24+rsp],eax - add edx,r12d - xor ebx,r11d + rol ebp,1 + add r13d,ebx rol edi,30 - add edx,ebx - lea r12d,DWORD PTR[05a827999h+r11*1+rax] + mov DWORD PTR[36+rsp],ebp + add r13d,ecx + mov edx,DWORD PTR[40+rsp] + mov eax,edi mov ebx,edi - mov eax,DWORD PTR[28+r9] - mov r11d,edx - xor ebx,ebp - bswap eax - rol r11d,5 + xor edx,DWORD PTR[48+rsp] + and eax,r11d + mov ecx,r13d + xor edx,DWORD PTR[8+rsp] + xor ebx,r11d + lea r12d,DWORD PTR[((-1894007588))+r12*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[28+rsp] + add r12d,eax and ebx,esi - mov DWORD PTR[28+rsp],eax - add r12d,r11d - xor ebx,ebp - rol esi,30 + rol edx,1 add r12d,ebx - lea r11d,DWORD PTR[05a827999h+rbp*1+rax] + rol esi,30 + mov DWORD PTR[40+rsp],edx + add r12d,ecx + mov ebp,DWORD PTR[44+rsp] + mov eax,esi mov ebx,esi - mov eax,DWORD PTR[32+r9] - mov ebp,r12d - xor ebx,edi - bswap eax - rol ebp,5 - and ebx,edx - mov DWORD PTR[32+rsp],eax - add r11d,ebp + xor ebp,DWORD PTR[52+rsp] + and eax,edi + mov ecx,r12d + xor ebp,DWORD PTR[12+rsp] xor ebx,edi - rol edx,30 + lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[32+rsp] + add r11d,eax + and ebx,r13d + rol ebp,1 add r11d,ebx - lea ebp,DWORD PTR[05a827999h+rdi*1+rax] - mov ebx,edx - mov eax,DWORD PTR[36+r9] - mov edi,r11d + rol r13d,30 + mov DWORD PTR[44+rsp],ebp + add r11d,ecx + mov edx,DWORD PTR[48+rsp] + mov eax,r13d + mov ebx,r13d + xor edx,DWORD PTR[56+rsp] + and eax,esi + mov ecx,r11d + xor edx,DWORD PTR[16+rsp] xor ebx,esi - bswap eax - rol edi,5 + lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[36+rsp] + add edi,eax and ebx,r12d - mov DWORD PTR[36+rsp],eax - add ebp,edi - xor ebx,esi + rol edx,1 + add edi,ebx rol r12d,30 - add ebp,ebx - lea edi,DWORD PTR[05a827999h+rsi*1+rax] + mov DWORD PTR[48+rsp],edx + add edi,ecx + mov ebp,DWORD PTR[52+rsp] + mov eax,r12d mov ebx,r12d - mov eax,DWORD PTR[40+r9] - mov esi,ebp - xor ebx,edx - bswap eax - rol esi,5 + xor ebp,DWORD PTR[60+rsp] + and eax,r13d + mov ecx,edi + xor ebp,DWORD PTR[20+rsp] + xor ebx,r13d + lea esi,DWORD PTR[((-1894007588))+rsi*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[40+rsp] + add esi,eax and ebx,r11d - mov DWORD PTR[40+rsp],eax - add edi,esi - xor ebx,edx + rol ebp,1 + add esi,ebx rol r11d,30 - add edi,ebx - lea esi,DWORD PTR[05a827999h+rdx*1+rax] + mov DWORD PTR[52+rsp],ebp + add esi,ecx + mov edx,DWORD PTR[56+rsp] + mov eax,r11d mov ebx,r11d - mov eax,DWORD PTR[44+r9] - mov edx,edi - xor ebx,r12d - bswap eax - rol edx,5 - and ebx,ebp - mov DWORD PTR[44+rsp],eax - add esi,edx + xor edx,DWORD PTR[rsp] + and eax,r12d + mov ecx,esi + xor edx,DWORD PTR[24+rsp] xor ebx,r12d - rol ebp,30 - add esi,ebx - lea edx,DWORD PTR[05a827999h+r12*1+rax] - mov ebx,ebp - mov eax,DWORD PTR[48+r9] - mov r12d,esi - xor ebx,r11d - bswap eax - rol r12d,5 + lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[44+rsp] + add r13d,eax and ebx,edi - mov DWORD PTR[48+rsp],eax - add edx,r12d - xor ebx,r11d + rol edx,1 + add r13d,ebx rol edi,30 - add edx,ebx - lea r12d,DWORD PTR[05a827999h+r11*1+rax] + mov DWORD PTR[56+rsp],edx + add r13d,ecx + mov ebp,DWORD PTR[60+rsp] + mov eax,edi mov ebx,edi - mov eax,DWORD PTR[52+r9] - mov r11d,edx - xor ebx,ebp - bswap eax - rol r11d,5 + xor ebp,DWORD PTR[4+rsp] + and eax,r11d + mov ecx,r13d + xor ebp,DWORD PTR[28+rsp] + xor ebx,r11d + lea r12d,DWORD PTR[((-1894007588))+r12*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[48+rsp] + add r12d,eax and ebx,esi - mov DWORD PTR[52+rsp],eax - add r12d,r11d - xor ebx,ebp - rol esi,30 + rol ebp,1 add r12d,ebx - lea r11d,DWORD PTR[05a827999h+rbp*1+rax] + rol esi,30 + mov DWORD PTR[60+rsp],ebp + add r12d,ecx + mov edx,DWORD PTR[rsp] + mov eax,esi mov ebx,esi - mov eax,DWORD PTR[56+r9] - mov ebp,r12d - xor ebx,edi - bswap eax - rol ebp,5 - and ebx,edx - mov DWORD PTR[56+rsp],eax - add r11d,ebp + xor edx,DWORD PTR[8+rsp] + and eax,edi + mov ecx,r12d + xor edx,DWORD PTR[32+rsp] xor ebx,edi - rol edx,30 + lea r11d,DWORD PTR[((-1894007588))+r11*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[52+rsp] + add r11d,eax + and ebx,r13d + rol edx,1 add r11d,ebx - lea ebp,DWORD PTR[05a827999h+rdi*1+rax] - mov ebx,edx - mov eax,DWORD PTR[60+r9] - mov edi,r11d + rol r13d,30 + mov DWORD PTR[rsp],edx + add r11d,ecx + mov ebp,DWORD PTR[4+rsp] + mov eax,r13d + mov ebx,r13d + xor ebp,DWORD PTR[12+rsp] + and eax,esi + mov ecx,r11d + xor ebp,DWORD PTR[36+rsp] xor ebx,esi - bswap eax - rol edi,5 + lea edi,DWORD PTR[((-1894007588))+rdi*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[56+rsp] + add edi,eax and ebx,r12d - mov DWORD PTR[60+rsp],eax - add ebp,edi - xor ebx,esi + rol ebp,1 + add edi,ebx rol r12d,30 - add ebp,ebx - lea edi,DWORD PTR[05a827999h+rsi*1+rax] - mov eax,DWORD PTR[rsp] + mov DWORD PTR[4+rsp],ebp + add edi,ecx + mov edx,DWORD PTR[8+rsp] + mov eax,r12d mov ebx,r12d - mov esi,ebp - xor eax,DWORD PTR[8+rsp] - xor ebx,edx - rol esi,5 - xor eax,DWORD PTR[32+rsp] + xor edx,DWORD PTR[16+rsp] + and eax,r13d + mov ecx,edi + xor edx,DWORD PTR[40+rsp] + xor ebx,r13d + lea esi,DWORD PTR[((-1894007588))+rsi*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[60+rsp] + add esi,eax and ebx,r11d - add edi,esi - xor eax,DWORD PTR[52+rsp] - xor ebx,edx + rol edx,1 + add esi,ebx rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[rsp],eax - lea esi,DWORD PTR[05a827999h+rdx*1+rax] - mov eax,DWORD PTR[4+rsp] + mov DWORD PTR[8+rsp],edx + add esi,ecx + mov ebp,DWORD PTR[12+rsp] + mov eax,r11d mov ebx,r11d - mov edx,edi - xor eax,DWORD PTR[12+rsp] - xor ebx,r12d - rol edx,5 - xor eax,DWORD PTR[36+rsp] - and ebx,ebp - add esi,edx - xor eax,DWORD PTR[56+rsp] + xor ebp,DWORD PTR[20+rsp] + and eax,r12d + mov ecx,esi + xor ebp,DWORD PTR[44+rsp] xor ebx,r12d - rol ebp,30 - add esi,ebx - rol eax,1 - mov DWORD PTR[4+rsp],eax - lea edx,DWORD PTR[05a827999h+r12*1+rax] - mov eax,DWORD PTR[8+rsp] - mov ebx,ebp - mov r12d,esi - xor eax,DWORD PTR[16+rsp] - xor ebx,r11d - rol r12d,5 - xor eax,DWORD PTR[40+rsp] + lea r13d,DWORD PTR[((-1894007588))+r13*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[rsp] + add r13d,eax and ebx,edi - add edx,r12d - xor eax,DWORD PTR[60+rsp] - xor ebx,r11d + rol ebp,1 + add r13d,ebx rol edi,30 - add edx,ebx - rol eax,1 - mov DWORD PTR[8+rsp],eax - lea r12d,DWORD PTR[05a827999h+r11*1+rax] - mov eax,DWORD PTR[12+rsp] + mov DWORD PTR[12+rsp],ebp + add r13d,ecx + mov edx,DWORD PTR[16+rsp] + mov eax,edi mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[20+rsp] - xor ebx,ebp - rol r11d,5 - xor eax,DWORD PTR[44+rsp] + xor edx,DWORD PTR[24+rsp] + and eax,r11d + mov ecx,r13d + xor edx,DWORD PTR[48+rsp] + xor ebx,r11d + lea r12d,DWORD PTR[((-1894007588))+r12*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[4+rsp] + add r12d,eax and ebx,esi - add r12d,r11d - xor eax,DWORD PTR[rsp] - xor ebx,ebp - rol esi,30 + rol edx,1 add r12d,ebx - rol eax,1 - mov DWORD PTR[12+rsp],eax - lea r11d,DWORD PTR[05a827999h+rbp*1+rax] - mov eax,DWORD PTR[16+rsp] + rol esi,30 + mov DWORD PTR[16+rsp],edx + add r12d,ecx + mov ebp,DWORD PTR[20+rsp] + mov eax,esi mov ebx,esi - mov ebp,r12d - xor eax,DWORD PTR[24+rsp] - xor ebx,edi - rol ebp,5 - xor eax,DWORD PTR[48+rsp] - and ebx,edx - add r11d,ebp - xor eax,DWORD PTR[4+rsp] + xor ebp,DWORD PTR[28+rsp] + and eax,edi + mov ecx,r12d + xor ebp,DWORD PTR[52+rsp] xor ebx,edi - rol edx,30 + lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[8+rsp] + add r11d,eax + and ebx,r13d + rol ebp,1 add r11d,ebx - rol eax,1 - mov DWORD PTR[16+rsp],eax - lea ebp,DWORD PTR[1859775393+rdi*1+rax] - mov eax,DWORD PTR[20+rsp] - mov ebx,edx - mov edi,r11d - xor eax,DWORD PTR[28+rsp] - xor ebx,r12d - rol edi,5 - xor eax,DWORD PTR[52+rsp] + rol r13d,30 + mov DWORD PTR[20+rsp],ebp + add r11d,ecx + mov edx,DWORD PTR[24+rsp] + mov eax,r13d + mov ebx,r13d + xor edx,DWORD PTR[32+rsp] + and eax,esi + mov ecx,r11d + xor edx,DWORD PTR[56+rsp] xor ebx,esi - add ebp,edi - xor eax,DWORD PTR[8+rsp] + lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[12+rsp] + add edi,eax + and ebx,r12d + rol edx,1 + add edi,ebx rol r12d,30 - add ebp,ebx - rol eax,1 - mov DWORD PTR[20+rsp],eax - lea edi,DWORD PTR[1859775393+rsi*1+rax] - mov eax,DWORD PTR[24+rsp] + mov DWORD PTR[24+rsp],edx + add edi,ecx + mov ebp,DWORD PTR[28+rsp] + mov eax,r12d mov ebx,r12d - mov esi,ebp - xor eax,DWORD PTR[32+rsp] - xor ebx,r11d - rol esi,5 - xor eax,DWORD PTR[56+rsp] - xor ebx,edx - add edi,esi - xor eax,DWORD PTR[12+rsp] + xor ebp,DWORD PTR[36+rsp] + and eax,r13d + mov ecx,edi + xor ebp,DWORD PTR[60+rsp] + xor ebx,r13d + lea esi,DWORD PTR[((-1894007588))+rsi*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[16+rsp] + add esi,eax + and ebx,r11d + rol ebp,1 + add esi,ebx rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[24+rsp],eax - lea esi,DWORD PTR[1859775393+rdx*1+rax] - mov eax,DWORD PTR[28+rsp] + mov DWORD PTR[28+rsp],ebp + add esi,ecx + mov edx,DWORD PTR[32+rsp] + mov eax,r11d mov ebx,r11d - mov edx,edi - xor eax,DWORD PTR[36+rsp] - xor ebx,ebp - rol edx,5 - xor eax,DWORD PTR[60+rsp] + xor edx,DWORD PTR[40+rsp] + and eax,r12d + mov ecx,esi + xor edx,DWORD PTR[rsp] xor ebx,r12d - add esi,edx - xor eax,DWORD PTR[16+rsp] - rol ebp,30 - add esi,ebx - rol eax,1 - mov DWORD PTR[28+rsp],eax - lea edx,DWORD PTR[1859775393+r12*1+rax] - mov eax,DWORD PTR[32+rsp] - mov ebx,ebp - mov r12d,esi - xor eax,DWORD PTR[40+rsp] - xor ebx,edi - rol r12d,5 - xor eax,DWORD PTR[rsp] - xor ebx,r11d - add edx,r12d - xor eax,DWORD PTR[20+rsp] + lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[20+rsp] + add r13d,eax + and ebx,edi + rol edx,1 + add r13d,ebx rol edi,30 - add edx,ebx - rol eax,1 - mov DWORD PTR[32+rsp],eax - lea r12d,DWORD PTR[1859775393+r11*1+rax] - mov eax,DWORD PTR[36+rsp] + mov DWORD PTR[32+rsp],edx + add r13d,ecx + mov ebp,DWORD PTR[36+rsp] + mov eax,edi mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[44+rsp] - xor ebx,esi - rol r11d,5 - xor eax,DWORD PTR[4+rsp] - xor ebx,ebp - add r12d,r11d - xor eax,DWORD PTR[24+rsp] - rol esi,30 + xor ebp,DWORD PTR[44+rsp] + and eax,r11d + mov ecx,r13d + xor ebp,DWORD PTR[4+rsp] + xor ebx,r11d + lea r12d,DWORD PTR[((-1894007588))+r12*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[24+rsp] + add r12d,eax + and ebx,esi + rol ebp,1 add r12d,ebx - rol eax,1 - mov DWORD PTR[36+rsp],eax - lea r11d,DWORD PTR[1859775393+rbp*1+rax] - mov eax,DWORD PTR[40+rsp] + rol esi,30 + mov DWORD PTR[36+rsp],ebp + add r12d,ecx + mov edx,DWORD PTR[40+rsp] + mov eax,esi mov ebx,esi - mov ebp,r12d - xor eax,DWORD PTR[48+rsp] - xor ebx,edx - rol ebp,5 - xor eax,DWORD PTR[8+rsp] + xor edx,DWORD PTR[48+rsp] + and eax,edi + mov ecx,r12d + xor edx,DWORD PTR[8+rsp] xor ebx,edi - add r11d,ebp - xor eax,DWORD PTR[28+rsp] - rol edx,30 + lea r11d,DWORD PTR[((-1894007588))+r11*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[28+rsp] + add r11d,eax + and ebx,r13d + rol edx,1 add r11d,ebx - rol eax,1 - mov DWORD PTR[40+rsp],eax - lea ebp,DWORD PTR[1859775393+rdi*1+rax] - mov eax,DWORD PTR[44+rsp] - mov ebx,edx - mov edi,r11d - xor eax,DWORD PTR[52+rsp] - xor ebx,r12d - rol edi,5 - xor eax,DWORD PTR[12+rsp] + rol r13d,30 + mov DWORD PTR[40+rsp],edx + add r11d,ecx + mov ebp,DWORD PTR[44+rsp] + mov eax,r13d + mov ebx,r13d + xor ebp,DWORD PTR[52+rsp] + and eax,esi + mov ecx,r11d + xor ebp,DWORD PTR[12+rsp] xor ebx,esi - add ebp,edi - xor eax,DWORD PTR[32+rsp] + lea edi,DWORD PTR[((-1894007588))+rdi*1+rdx] + rol ecx,5 + xor ebp,DWORD PTR[32+rsp] + add edi,eax + and ebx,r12d + rol ebp,1 + add edi,ebx rol r12d,30 - add ebp,ebx - rol eax,1 - mov DWORD PTR[44+rsp],eax - lea edi,DWORD PTR[1859775393+rsi*1+rax] - mov eax,DWORD PTR[48+rsp] + mov DWORD PTR[44+rsp],ebp + add edi,ecx + mov edx,DWORD PTR[48+rsp] + mov eax,r12d mov ebx,r12d - mov esi,ebp - xor eax,DWORD PTR[56+rsp] - xor ebx,r11d - rol esi,5 - xor eax,DWORD PTR[16+rsp] - xor ebx,edx - add edi,esi - xor eax,DWORD PTR[36+rsp] - rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[48+rsp],eax - lea esi,DWORD PTR[1859775393+rdx*1+rax] - mov eax,DWORD PTR[52+rsp] - mov ebx,r11d - mov edx,edi - xor eax,DWORD PTR[60+rsp] - xor ebx,ebp - rol edx,5 - xor eax,DWORD PTR[20+rsp] - xor ebx,r12d - add esi,edx - xor eax,DWORD PTR[40+rsp] - rol ebp,30 + xor edx,DWORD PTR[56+rsp] + and eax,r13d + mov ecx,edi + xor edx,DWORD PTR[16+rsp] + xor ebx,r13d + lea esi,DWORD PTR[((-1894007588))+rsi*1+rbp] + rol ecx,5 + xor edx,DWORD PTR[36+rsp] + add esi,eax + and ebx,r11d + rol edx,1 add esi,ebx - rol eax,1 - mov DWORD PTR[52+rsp],eax - lea edx,DWORD PTR[1859775393+r12*1+rax] - mov eax,DWORD PTR[56+rsp] - mov ebx,ebp - mov r12d,esi - xor eax,DWORD PTR[rsp] - xor ebx,edi - rol r12d,5 - xor eax,DWORD PTR[24+rsp] - xor ebx,r11d - add edx,r12d - xor eax,DWORD PTR[44+rsp] + rol r11d,30 + mov DWORD PTR[48+rsp],edx + add esi,ecx + mov ebp,DWORD PTR[52+rsp] + mov eax,r11d + mov ecx,esi + xor ebp,DWORD PTR[60+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[((-899497514))+r13*1+rdx] + xor ebp,DWORD PTR[20+rsp] + xor eax,r12d + add r13d,ecx + xor ebp,DWORD PTR[40+rsp] rol edi,30 - add edx,ebx - rol eax,1 - mov DWORD PTR[56+rsp],eax - lea r12d,DWORD PTR[1859775393+r11*1+rax] - mov eax,DWORD PTR[60+rsp] - mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[4+rsp] - xor ebx,esi - rol r11d,5 - xor eax,DWORD PTR[28+rsp] - xor ebx,ebp - add r12d,r11d - xor eax,DWORD PTR[48+rsp] + add r13d,eax + rol ebp,1 + mov DWORD PTR[52+rsp],ebp + mov edx,DWORD PTR[56+rsp] + mov eax,edi + mov ecx,r13d + xor edx,DWORD PTR[rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[((-899497514))+r12*1+rbp] + xor edx,DWORD PTR[24+rsp] + xor eax,r11d + add r12d,ecx + xor edx,DWORD PTR[44+rsp] rol esi,30 - add r12d,ebx - rol eax,1 - mov DWORD PTR[60+rsp],eax - lea r11d,DWORD PTR[1859775393+rbp*1+rax] - mov eax,DWORD PTR[rsp] - mov ebx,esi - mov ebp,r12d - xor eax,DWORD PTR[8+rsp] - xor ebx,edx - rol ebp,5 - xor eax,DWORD PTR[32+rsp] - xor ebx,edi - add r11d,ebp - xor eax,DWORD PTR[52+rsp] - rol edx,30 - add r11d,ebx - rol eax,1 - mov DWORD PTR[rsp],eax - lea ebp,DWORD PTR[1859775393+rdi*1+rax] - mov eax,DWORD PTR[4+rsp] - mov ebx,edx - mov edi,r11d - xor eax,DWORD PTR[12+rsp] - xor ebx,r12d - rol edi,5 - xor eax,DWORD PTR[36+rsp] - xor ebx,esi - add ebp,edi - xor eax,DWORD PTR[56+rsp] + add r12d,eax + rol edx,1 + mov DWORD PTR[56+rsp],edx + mov ebp,DWORD PTR[60+rsp] + mov eax,esi + mov ecx,r12d + xor ebp,DWORD PTR[4+rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[((-899497514))+r11*1+rdx] + xor ebp,DWORD PTR[28+rsp] + xor eax,edi + add r11d,ecx + xor ebp,DWORD PTR[48+rsp] + rol r13d,30 + add r11d,eax + rol ebp,1 + mov DWORD PTR[60+rsp],ebp + mov edx,DWORD PTR[rsp] + mov eax,r13d + mov ecx,r11d + xor edx,DWORD PTR[8+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[((-899497514))+rdi*1+rbp] + xor edx,DWORD PTR[32+rsp] + xor eax,esi + add edi,ecx + xor edx,DWORD PTR[52+rsp] rol r12d,30 - add ebp,ebx - rol eax,1 - mov DWORD PTR[4+rsp],eax - lea edi,DWORD PTR[1859775393+rsi*1+rax] - mov eax,DWORD PTR[8+rsp] - mov ebx,r12d - mov esi,ebp - xor eax,DWORD PTR[16+rsp] - xor ebx,r11d - rol esi,5 - xor eax,DWORD PTR[40+rsp] - xor ebx,edx - add edi,esi - xor eax,DWORD PTR[60+rsp] + add edi,eax + rol edx,1 + mov DWORD PTR[rsp],edx + mov ebp,DWORD PTR[4+rsp] + mov eax,r12d + mov ecx,edi + xor ebp,DWORD PTR[12+rsp] + xor eax,r11d + rol ecx,5 + lea esi,DWORD PTR[((-899497514))+rsi*1+rdx] + xor ebp,DWORD PTR[36+rsp] + xor eax,r13d + add esi,ecx + xor ebp,DWORD PTR[56+rsp] rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[8+rsp],eax - lea esi,DWORD PTR[1859775393+rdx*1+rax] - mov eax,DWORD PTR[12+rsp] - mov ebx,r11d - mov edx,edi - xor eax,DWORD PTR[20+rsp] - xor ebx,ebp - rol edx,5 - xor eax,DWORD PTR[44+rsp] - xor ebx,r12d - add esi,edx - xor eax,DWORD PTR[rsp] - rol ebp,30 - add esi,ebx - rol eax,1 - mov DWORD PTR[12+rsp],eax - lea edx,DWORD PTR[1859775393+r12*1+rax] - mov eax,DWORD PTR[16+rsp] - mov ebx,ebp - mov r12d,esi - xor eax,DWORD PTR[24+rsp] - xor ebx,edi - rol r12d,5 - xor eax,DWORD PTR[48+rsp] - xor ebx,r11d - add edx,r12d - xor eax,DWORD PTR[4+rsp] + add esi,eax + rol ebp,1 + mov DWORD PTR[4+rsp],ebp + mov edx,DWORD PTR[8+rsp] + mov eax,r11d + mov ecx,esi + xor edx,DWORD PTR[16+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[((-899497514))+r13*1+rbp] + xor edx,DWORD PTR[40+rsp] + xor eax,r12d + add r13d,ecx + xor edx,DWORD PTR[60+rsp] rol edi,30 - add edx,ebx - rol eax,1 - mov DWORD PTR[16+rsp],eax - lea r12d,DWORD PTR[1859775393+r11*1+rax] - mov eax,DWORD PTR[20+rsp] - mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[28+rsp] - xor ebx,esi - rol r11d,5 - xor eax,DWORD PTR[52+rsp] - xor ebx,ebp - add r12d,r11d - xor eax,DWORD PTR[8+rsp] + add r13d,eax + rol edx,1 + mov DWORD PTR[8+rsp],edx + mov ebp,DWORD PTR[12+rsp] + mov eax,edi + mov ecx,r13d + xor ebp,DWORD PTR[20+rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[((-899497514))+r12*1+rdx] + xor ebp,DWORD PTR[44+rsp] + xor eax,r11d + add r12d,ecx + xor ebp,DWORD PTR[rsp] rol esi,30 - add r12d,ebx - rol eax,1 - mov DWORD PTR[20+rsp],eax - lea r11d,DWORD PTR[1859775393+rbp*1+rax] - mov eax,DWORD PTR[24+rsp] - mov ebx,esi - mov ebp,r12d - xor eax,DWORD PTR[32+rsp] - xor ebx,edx - rol ebp,5 - xor eax,DWORD PTR[56+rsp] - xor ebx,edi - add r11d,ebp - xor eax,DWORD PTR[12+rsp] - rol edx,30 - add r11d,ebx - rol eax,1 - mov DWORD PTR[24+rsp],eax - lea ebp,DWORD PTR[1859775393+rdi*1+rax] - mov eax,DWORD PTR[28+rsp] - mov ebx,edx - mov edi,r11d - xor eax,DWORD PTR[36+rsp] - xor ebx,r12d - rol edi,5 - xor eax,DWORD PTR[60+rsp] - xor ebx,esi - add ebp,edi - xor eax,DWORD PTR[16+rsp] + add r12d,eax + rol ebp,1 + mov DWORD PTR[12+rsp],ebp + mov edx,DWORD PTR[16+rsp] + mov eax,esi + mov ecx,r12d + xor edx,DWORD PTR[24+rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[((-899497514))+r11*1+rbp] + xor edx,DWORD PTR[48+rsp] + xor eax,edi + add r11d,ecx + xor edx,DWORD PTR[4+rsp] + rol r13d,30 + add r11d,eax + rol edx,1 + mov DWORD PTR[16+rsp],edx + mov ebp,DWORD PTR[20+rsp] + mov eax,r13d + mov ecx,r11d + xor ebp,DWORD PTR[28+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[((-899497514))+rdi*1+rdx] + xor ebp,DWORD PTR[52+rsp] + xor eax,esi + add edi,ecx + xor ebp,DWORD PTR[8+rsp] rol r12d,30 - add ebp,ebx - rol eax,1 - mov DWORD PTR[28+rsp],eax - lea edi,DWORD PTR[1859775393+rsi*1+rax] - mov eax,DWORD PTR[32+rsp] - mov ebx,r12d - mov esi,ebp - xor eax,DWORD PTR[40+rsp] - xor ebx,r11d - rol esi,5 - xor eax,DWORD PTR[rsp] - xor ebx,edx - add edi,esi - xor eax,DWORD PTR[20+rsp] - rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[32+rsp],eax - lea esi,DWORD PTR[08f1bbcdch+rdx*1+rax] - mov eax,DWORD PTR[36+rsp] - mov ebx,ebp - mov ecx,ebp - xor eax,DWORD PTR[44+rsp] - mov edx,edi - and ebx,r11d - xor eax,DWORD PTR[4+rsp] - or ecx,r11d - rol edx,5 - xor eax,DWORD PTR[24+rsp] - and ecx,r12d - add esi,edx - rol eax,1 - or ebx,ecx - rol ebp,30 - mov DWORD PTR[36+rsp],eax - add esi,ebx - lea edx,DWORD PTR[08f1bbcdch+r12*1+rax] - mov eax,DWORD PTR[40+rsp] - mov ebx,edi + add edi,eax + rol ebp,1 + mov DWORD PTR[20+rsp],ebp + mov edx,DWORD PTR[24+rsp] + mov eax,r12d mov ecx,edi - xor eax,DWORD PTR[48+rsp] - mov r12d,esi - and ebx,ebp - xor eax,DWORD PTR[8+rsp] - or ecx,ebp - rol r12d,5 - xor eax,DWORD PTR[28+rsp] - and ecx,r11d - add edx,r12d - rol eax,1 - or ebx,ecx - rol edi,30 - mov DWORD PTR[40+rsp],eax - add edx,ebx - lea r12d,DWORD PTR[08f1bbcdch+r11*1+rax] - mov eax,DWORD PTR[44+rsp] - mov ebx,esi + xor edx,DWORD PTR[32+rsp] + xor eax,r11d + rol ecx,5 + lea esi,DWORD PTR[((-899497514))+rsi*1+rbp] + xor edx,DWORD PTR[56+rsp] + xor eax,r13d + add esi,ecx + xor edx,DWORD PTR[12+rsp] + rol r11d,30 + add esi,eax + rol edx,1 + mov DWORD PTR[24+rsp],edx + mov ebp,DWORD PTR[28+rsp] + mov eax,r11d mov ecx,esi - xor eax,DWORD PTR[52+rsp] - mov r11d,edx - and ebx,edi - xor eax,DWORD PTR[12+rsp] - or ecx,edi - rol r11d,5 - xor eax,DWORD PTR[32+rsp] - and ecx,ebp - add r12d,r11d - rol eax,1 - or ebx,ecx + xor ebp,DWORD PTR[36+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[((-899497514))+r13*1+rdx] + xor ebp,DWORD PTR[60+rsp] + xor eax,r12d + add r13d,ecx + xor ebp,DWORD PTR[16+rsp] + rol edi,30 + add r13d,eax + rol ebp,1 + mov DWORD PTR[28+rsp],ebp + mov edx,DWORD PTR[32+rsp] + mov eax,edi + mov ecx,r13d + xor edx,DWORD PTR[40+rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[((-899497514))+r12*1+rbp] + xor edx,DWORD PTR[rsp] + xor eax,r11d + add r12d,ecx + xor edx,DWORD PTR[20+rsp] rol esi,30 - mov DWORD PTR[44+rsp],eax - add r12d,ebx - lea r11d,DWORD PTR[08f1bbcdch+rbp*1+rax] - mov eax,DWORD PTR[48+rsp] - mov ebx,edx - mov ecx,edx - xor eax,DWORD PTR[56+rsp] - mov ebp,r12d - and ebx,esi - xor eax,DWORD PTR[16+rsp] - or ecx,esi - rol ebp,5 - xor eax,DWORD PTR[36+rsp] - and ecx,edi - add r11d,ebp - rol eax,1 - or ebx,ecx - rol edx,30 - mov DWORD PTR[48+rsp],eax - add r11d,ebx - lea ebp,DWORD PTR[08f1bbcdch+rdi*1+rax] - mov eax,DWORD PTR[52+rsp] - mov ebx,r12d + add r12d,eax + rol edx,1 + mov DWORD PTR[32+rsp],edx + mov ebp,DWORD PTR[36+rsp] + mov eax,esi mov ecx,r12d - xor eax,DWORD PTR[60+rsp] - mov edi,r11d - and ebx,edx - xor eax,DWORD PTR[20+rsp] - or ecx,edx - rol edi,5 - xor eax,DWORD PTR[40+rsp] - and ecx,esi - add ebp,edi - rol eax,1 - or ebx,ecx - rol r12d,30 - mov DWORD PTR[52+rsp],eax - add ebp,ebx - lea edi,DWORD PTR[08f1bbcdch+rsi*1+rax] - mov eax,DWORD PTR[56+rsp] - mov ebx,r11d + xor ebp,DWORD PTR[44+rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[((-899497514))+r11*1+rdx] + xor ebp,DWORD PTR[4+rsp] + xor eax,edi + add r11d,ecx + xor ebp,DWORD PTR[24+rsp] + rol r13d,30 + add r11d,eax + rol ebp,1 + mov DWORD PTR[36+rsp],ebp + mov edx,DWORD PTR[40+rsp] + mov eax,r13d mov ecx,r11d - xor eax,DWORD PTR[rsp] - mov esi,ebp - and ebx,r12d - xor eax,DWORD PTR[24+rsp] - or ecx,r12d - rol esi,5 - xor eax,DWORD PTR[44+rsp] - and ecx,edx - add edi,esi - rol eax,1 - or ebx,ecx - rol r11d,30 - mov DWORD PTR[56+rsp],eax - add edi,ebx - lea esi,DWORD PTR[08f1bbcdch+rdx*1+rax] - mov eax,DWORD PTR[60+rsp] - mov ebx,ebp - mov ecx,ebp - xor eax,DWORD PTR[4+rsp] - mov edx,edi - and ebx,r11d - xor eax,DWORD PTR[28+rsp] - or ecx,r11d - rol edx,5 - xor eax,DWORD PTR[48+rsp] - and ecx,r12d - add esi,edx - rol eax,1 - or ebx,ecx - rol ebp,30 - mov DWORD PTR[60+rsp],eax - add esi,ebx - lea edx,DWORD PTR[08f1bbcdch+r12*1+rax] - mov eax,DWORD PTR[rsp] - mov ebx,edi + xor edx,DWORD PTR[48+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[((-899497514))+rdi*1+rbp] + xor edx,DWORD PTR[8+rsp] + xor eax,esi + add edi,ecx + xor edx,DWORD PTR[28+rsp] + rol r12d,30 + add edi,eax + rol edx,1 + mov DWORD PTR[40+rsp],edx + mov ebp,DWORD PTR[44+rsp] + mov eax,r12d mov ecx,edi - xor eax,DWORD PTR[8+rsp] - mov r12d,esi - and ebx,ebp - xor eax,DWORD PTR[32+rsp] - or ecx,ebp - rol r12d,5 - xor eax,DWORD PTR[52+rsp] - and ecx,r11d - add edx,r12d - rol eax,1 - or ebx,ecx - rol edi,30 - mov DWORD PTR[rsp],eax - add edx,ebx - lea r12d,DWORD PTR[08f1bbcdch+r11*1+rax] - mov eax,DWORD PTR[4+rsp] - mov ebx,esi + xor ebp,DWORD PTR[52+rsp] + xor eax,r11d + rol ecx,5 + lea esi,DWORD PTR[((-899497514))+rsi*1+rdx] + xor ebp,DWORD PTR[12+rsp] + xor eax,r13d + add esi,ecx + xor ebp,DWORD PTR[32+rsp] + rol r11d,30 + add esi,eax + rol ebp,1 + mov DWORD PTR[44+rsp],ebp + mov edx,DWORD PTR[48+rsp] + mov eax,r11d mov ecx,esi - xor eax,DWORD PTR[12+rsp] - mov r11d,edx - and ebx,edi - xor eax,DWORD PTR[36+rsp] - or ecx,edi - rol r11d,5 - xor eax,DWORD PTR[56+rsp] - and ecx,ebp - add r12d,r11d - rol eax,1 - or ebx,ecx + xor edx,DWORD PTR[56+rsp] + xor eax,edi + rol ecx,5 + lea r13d,DWORD PTR[((-899497514))+r13*1+rbp] + xor edx,DWORD PTR[16+rsp] + xor eax,r12d + add r13d,ecx + xor edx,DWORD PTR[36+rsp] + rol edi,30 + add r13d,eax + rol edx,1 + mov DWORD PTR[48+rsp],edx + mov ebp,DWORD PTR[52+rsp] + mov eax,edi + mov ecx,r13d + xor ebp,DWORD PTR[60+rsp] + xor eax,esi + rol ecx,5 + lea r12d,DWORD PTR[((-899497514))+r12*1+rdx] + xor ebp,DWORD PTR[20+rsp] + xor eax,r11d + add r12d,ecx + xor ebp,DWORD PTR[40+rsp] rol esi,30 - mov DWORD PTR[4+rsp],eax - add r12d,ebx - lea r11d,DWORD PTR[08f1bbcdch+rbp*1+rax] - mov eax,DWORD PTR[8+rsp] - mov ebx,edx - mov ecx,edx - xor eax,DWORD PTR[16+rsp] - mov ebp,r12d - and ebx,esi - xor eax,DWORD PTR[40+rsp] - or ecx,esi - rol ebp,5 - xor eax,DWORD PTR[60+rsp] - and ecx,edi - add r11d,ebp - rol eax,1 - or ebx,ecx - rol edx,30 - mov DWORD PTR[8+rsp],eax - add r11d,ebx - lea ebp,DWORD PTR[08f1bbcdch+rdi*1+rax] - mov eax,DWORD PTR[12+rsp] - mov ebx,r12d + add r12d,eax + rol ebp,1 + mov edx,DWORD PTR[56+rsp] + mov eax,esi mov ecx,r12d - xor eax,DWORD PTR[20+rsp] - mov edi,r11d - and ebx,edx - xor eax,DWORD PTR[44+rsp] - or ecx,edx - rol edi,5 - xor eax,DWORD PTR[rsp] - and ecx,esi - add ebp,edi - rol eax,1 - or ebx,ecx - rol r12d,30 - mov DWORD PTR[12+rsp],eax - add ebp,ebx - lea edi,DWORD PTR[08f1bbcdch+rsi*1+rax] - mov eax,DWORD PTR[16+rsp] - mov ebx,r11d + xor edx,DWORD PTR[rsp] + xor eax,r13d + rol ecx,5 + lea r11d,DWORD PTR[((-899497514))+r11*1+rbp] + xor edx,DWORD PTR[24+rsp] + xor eax,edi + add r11d,ecx + xor edx,DWORD PTR[44+rsp] + rol r13d,30 + add r11d,eax + rol edx,1 + mov ebp,DWORD PTR[60+rsp] + mov eax,r13d mov ecx,r11d - xor eax,DWORD PTR[24+rsp] - mov esi,ebp - and ebx,r12d - xor eax,DWORD PTR[48+rsp] - or ecx,r12d - rol esi,5 - xor eax,DWORD PTR[4+rsp] - and ecx,edx - add edi,esi - rol eax,1 - or ebx,ecx + xor ebp,DWORD PTR[4+rsp] + xor eax,r12d + rol ecx,5 + lea edi,DWORD PTR[((-899497514))+rdi*1+rdx] + xor ebp,DWORD PTR[28+rsp] + xor eax,esi + add edi,ecx + xor ebp,DWORD PTR[48+rsp] + rol r12d,30 + add edi,eax + rol ebp,1 + mov eax,r12d + mov ecx,edi + xor eax,r11d + lea esi,DWORD PTR[((-899497514))+rsi*1+rbp] + rol ecx,5 + xor eax,r13d + add esi,ecx rol r11d,30 - mov DWORD PTR[16+rsp],eax - add edi,ebx - lea esi,DWORD PTR[08f1bbcdch+rdx*1+rax] - mov eax,DWORD PTR[20+rsp] - mov ebx,ebp - mov ecx,ebp - xor eax,DWORD PTR[28+rsp] - mov edx,edi - and ebx,r11d - xor eax,DWORD PTR[52+rsp] - or ecx,r11d + add esi,eax + add esi,DWORD PTR[r8] + add edi,DWORD PTR[4+r8] + add r11d,DWORD PTR[8+r8] + add r12d,DWORD PTR[12+r8] + add r13d,DWORD PTR[16+r8] + mov DWORD PTR[r8],esi + mov DWORD PTR[4+r8],edi + mov DWORD PTR[8+r8],r11d + mov DWORD PTR[12+r8],r12d + mov DWORD PTR[16+r8],r13d + + sub r10,1 + lea r9,QWORD PTR[64+r9] + jnz $L$loop + + mov rsi,QWORD PTR[64+rsp] + mov r13,QWORD PTR[rsi] + mov r12,QWORD PTR[8+rsi] + mov rbp,QWORD PTR[16+rsi] + mov rbx,QWORD PTR[24+rsi] + lea rsp,QWORD PTR[32+rsi] +$L$epilogue:: + mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue + mov rsi,QWORD PTR[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_block_data_order:: +sha1_block_data_order ENDP + +ALIGN 16 +sha1_block_data_order_ssse3 PROC PRIVATE + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_ssse3:: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_ssse3_shortcut:: + push rbx + push rbp + push r12 + lea rsp,QWORD PTR[((-144))+rsp] + movaps XMMWORD PTR[(64+0)+rsp],xmm6 + movaps XMMWORD PTR[(64+16)+rsp],xmm7 + movaps XMMWORD PTR[(64+32)+rsp],xmm8 + movaps XMMWORD PTR[(64+48)+rsp],xmm9 + movaps XMMWORD PTR[(64+64)+rsp],xmm10 +$L$prologue_ssse3:: + mov r8,rdi + mov r9,rsi + mov r10,rdx + + shl r10,6 + add r10,r9 + lea r11,QWORD PTR[K_XX_XX] + + mov eax,DWORD PTR[r8] + mov ebx,DWORD PTR[4+r8] + mov ecx,DWORD PTR[8+r8] + mov edx,DWORD PTR[12+r8] + mov esi,ebx + mov ebp,DWORD PTR[16+r8] + + movdqa xmm6,XMMWORD PTR[64+r11] + movdqa xmm9,XMMWORD PTR[r11] + movdqu xmm0,XMMWORD PTR[r9] + movdqu xmm1,XMMWORD PTR[16+r9] + movdqu xmm2,XMMWORD PTR[32+r9] + movdqu xmm3,XMMWORD PTR[48+r9] +DB 102,15,56,0,198 + add r9,64 +DB 102,15,56,0,206 +DB 102,15,56,0,214 +DB 102,15,56,0,222 + paddd xmm0,xmm9 + paddd xmm1,xmm9 + paddd xmm2,xmm9 + movdqa XMMWORD PTR[rsp],xmm0 + psubd xmm0,xmm9 + movdqa XMMWORD PTR[16+rsp],xmm1 + psubd xmm1,xmm9 + movdqa XMMWORD PTR[32+rsp],xmm2 + psubd xmm2,xmm9 + jmp $L$oop_ssse3 +ALIGN 16 +$L$oop_ssse3:: + movdqa xmm4,xmm1 + add ebp,DWORD PTR[rsp] + xor ecx,edx + movdqa xmm8,xmm3 +DB 102,15,58,15,224,8 + mov edi,eax + rol eax,5 + paddd xmm9,xmm3 + and esi,ecx + xor ecx,edx + psrldq xmm8,4 + xor esi,edx + add ebp,eax + pxor xmm4,xmm0 + ror ebx,2 + add ebp,esi + pxor xmm8,xmm2 + add edx,DWORD PTR[4+rsp] + xor ebx,ecx + mov esi,ebp + rol ebp,5 + pxor xmm4,xmm8 + and edi,ebx + xor ebx,ecx + movdqa XMMWORD PTR[48+rsp],xmm9 + xor edi,ecx + add edx,ebp + movdqa xmm10,xmm4 + movdqa xmm8,xmm4 + ror eax,7 + add edx,edi + add ecx,DWORD PTR[8+rsp] + xor eax,ebx + pslldq xmm10,12 + paddd xmm4,xmm4 + mov edi,edx rol edx,5 - xor eax,DWORD PTR[8+rsp] - and ecx,r12d - add esi,edx - rol eax,1 - or ebx,ecx - rol ebp,30 - mov DWORD PTR[20+rsp],eax - add esi,ebx - lea edx,DWORD PTR[08f1bbcdch+r12*1+rax] - mov eax,DWORD PTR[24+rsp] - mov ebx,edi - mov ecx,edi - xor eax,DWORD PTR[32+rsp] - mov r12d,esi - and ebx,ebp - xor eax,DWORD PTR[56+rsp] - or ecx,ebp - rol r12d,5 - xor eax,DWORD PTR[12+rsp] - and ecx,r11d - add edx,r12d - rol eax,1 - or ebx,ecx - rol edi,30 - mov DWORD PTR[24+rsp],eax - add edx,ebx - lea r12d,DWORD PTR[08f1bbcdch+r11*1+rax] - mov eax,DWORD PTR[28+rsp] - mov ebx,esi - mov ecx,esi - xor eax,DWORD PTR[36+rsp] - mov r11d,edx - and ebx,edi - xor eax,DWORD PTR[60+rsp] - or ecx,edi - rol r11d,5 - xor eax,DWORD PTR[16+rsp] - and ecx,ebp - add r12d,r11d - rol eax,1 - or ebx,ecx - rol esi,30 - mov DWORD PTR[28+rsp],eax - add r12d,ebx - lea r11d,DWORD PTR[08f1bbcdch+rbp*1+rax] - mov eax,DWORD PTR[32+rsp] - mov ebx,edx - mov ecx,edx - xor eax,DWORD PTR[40+rsp] - mov ebp,r12d - and ebx,esi - xor eax,DWORD PTR[rsp] - or ecx,esi + and esi,eax + xor eax,ebx + psrld xmm8,31 + xor esi,ebx + add ecx,edx + movdqa xmm9,xmm10 + ror ebp,7 + add ecx,esi + psrld xmm10,30 + por xmm4,xmm8 + add ebx,DWORD PTR[12+rsp] + xor ebp,eax + mov esi,ecx + rol ecx,5 + pslld xmm9,2 + pxor xmm4,xmm10 + and edi,ebp + xor ebp,eax + movdqa xmm10,XMMWORD PTR[r11] + xor edi,eax + add ebx,ecx + pxor xmm4,xmm9 + ror edx,7 + add ebx,edi + movdqa xmm5,xmm2 + add eax,DWORD PTR[16+rsp] + xor edx,ebp + movdqa xmm9,xmm4 +DB 102,15,58,15,233,8 + mov edi,ebx + rol ebx,5 + paddd xmm10,xmm4 + and esi,edx + xor edx,ebp + psrldq xmm9,4 + xor esi,ebp + add eax,ebx + pxor xmm5,xmm1 + ror ecx,7 + add eax,esi + pxor xmm9,xmm3 + add ebp,DWORD PTR[20+rsp] + xor ecx,edx + mov esi,eax + rol eax,5 + pxor xmm5,xmm9 + and edi,ecx + xor ecx,edx + movdqa XMMWORD PTR[rsp],xmm10 + xor edi,edx + add ebp,eax + movdqa xmm8,xmm5 + movdqa xmm9,xmm5 + ror ebx,7 + add ebp,edi + add edx,DWORD PTR[24+rsp] + xor ebx,ecx + pslldq xmm8,12 + paddd xmm5,xmm5 + mov edi,ebp rol ebp,5 - xor eax,DWORD PTR[20+rsp] - and ecx,edi - add r11d,ebp - rol eax,1 - or ebx,ecx - rol edx,30 - mov DWORD PTR[32+rsp],eax - add r11d,ebx - lea ebp,DWORD PTR[08f1bbcdch+rdi*1+rax] - mov eax,DWORD PTR[36+rsp] - mov ebx,r12d - mov ecx,r12d - xor eax,DWORD PTR[44+rsp] - mov edi,r11d - and ebx,edx - xor eax,DWORD PTR[4+rsp] - or ecx,edx - rol edi,5 - xor eax,DWORD PTR[24+rsp] - and ecx,esi + and esi,ebx + xor ebx,ecx + psrld xmm9,31 + xor esi,ecx + add edx,ebp + movdqa xmm10,xmm8 + ror eax,7 + add edx,esi + psrld xmm8,30 + por xmm5,xmm9 + add ecx,DWORD PTR[28+rsp] + xor eax,ebx + mov esi,edx + rol edx,5 + pslld xmm10,2 + pxor xmm5,xmm8 + and edi,eax + xor eax,ebx + movdqa xmm8,XMMWORD PTR[16+r11] + xor edi,ebx + add ecx,edx + pxor xmm5,xmm10 + ror ebp,7 + add ecx,edi + movdqa xmm6,xmm3 + add ebx,DWORD PTR[32+rsp] + xor ebp,eax + movdqa xmm10,xmm5 +DB 102,15,58,15,242,8 + mov edi,ecx + rol ecx,5 + paddd xmm8,xmm5 + and esi,ebp + xor ebp,eax + psrldq xmm10,4 + xor esi,eax + add ebx,ecx + pxor xmm6,xmm2 + ror edx,7 + add ebx,esi + pxor xmm10,xmm4 + add eax,DWORD PTR[36+rsp] + xor edx,ebp + mov esi,ebx + rol ebx,5 + pxor xmm6,xmm10 + and edi,edx + xor edx,ebp + movdqa XMMWORD PTR[16+rsp],xmm8 + xor edi,ebp + add eax,ebx + movdqa xmm9,xmm6 + movdqa xmm10,xmm6 + ror ecx,7 + add eax,edi + add ebp,DWORD PTR[40+rsp] + xor ecx,edx + pslldq xmm9,12 + paddd xmm6,xmm6 + mov edi,eax + rol eax,5 + and esi,ecx + xor ecx,edx + psrld xmm10,31 + xor esi,edx + add ebp,eax + movdqa xmm8,xmm9 + ror ebx,7 + add ebp,esi + psrld xmm9,30 + por xmm6,xmm10 + add edx,DWORD PTR[44+rsp] + xor ebx,ecx + mov esi,ebp + rol ebp,5 + pslld xmm8,2 + pxor xmm6,xmm9 + and edi,ebx + xor ebx,ecx + movdqa xmm9,XMMWORD PTR[16+r11] + xor edi,ecx + add edx,ebp + pxor xmm6,xmm8 + ror eax,7 + add edx,edi + movdqa xmm7,xmm4 + add ecx,DWORD PTR[48+rsp] + xor eax,ebx + movdqa xmm8,xmm6 +DB 102,15,58,15,251,8 + mov edi,edx + rol edx,5 + paddd xmm9,xmm6 + and esi,eax + xor eax,ebx + psrldq xmm8,4 + xor esi,ebx + add ecx,edx + pxor xmm7,xmm3 + ror ebp,7 + add ecx,esi + pxor xmm8,xmm5 + add ebx,DWORD PTR[52+rsp] + xor ebp,eax + mov esi,ecx + rol ecx,5 + pxor xmm7,xmm8 + and edi,ebp + xor ebp,eax + movdqa XMMWORD PTR[32+rsp],xmm9 + xor edi,eax + add ebx,ecx + movdqa xmm10,xmm7 + movdqa xmm8,xmm7 + ror edx,7 + add ebx,edi + add eax,DWORD PTR[56+rsp] + xor edx,ebp + pslldq xmm10,12 + paddd xmm7,xmm7 + mov edi,ebx + rol ebx,5 + and esi,edx + xor edx,ebp + psrld xmm8,31 + xor esi,ebp + add eax,ebx + movdqa xmm9,xmm10 + ror ecx,7 + add eax,esi + psrld xmm10,30 + por xmm7,xmm8 + add ebp,DWORD PTR[60+rsp] + xor ecx,edx + mov esi,eax + rol eax,5 + pslld xmm9,2 + pxor xmm7,xmm10 + and edi,ecx + xor ecx,edx + movdqa xmm10,XMMWORD PTR[16+r11] + xor edi,edx + add ebp,eax + pxor xmm7,xmm9 + ror ebx,7 add ebp,edi - rol eax,1 - or ebx,ecx - rol r12d,30 - mov DWORD PTR[36+rsp],eax - add ebp,ebx - lea edi,DWORD PTR[08f1bbcdch+rsi*1+rax] - mov eax,DWORD PTR[40+rsp] - mov ebx,r11d - mov ecx,r11d - xor eax,DWORD PTR[48+rsp] + movdqa xmm9,xmm7 + add edx,DWORD PTR[rsp] + pxor xmm0,xmm4 +DB 102,68,15,58,15,206,8 + xor ebx,ecx + mov edi,ebp + rol ebp,5 + pxor xmm0,xmm1 + and esi,ebx + xor ebx,ecx + movdqa xmm8,xmm10 + paddd xmm10,xmm7 + xor esi,ecx + add edx,ebp + pxor xmm0,xmm9 + ror eax,7 + add edx,esi + add ecx,DWORD PTR[4+rsp] + xor eax,ebx + movdqa xmm9,xmm0 + movdqa XMMWORD PTR[48+rsp],xmm10 + mov esi,edx + rol edx,5 + and edi,eax + xor eax,ebx + pslld xmm0,2 + xor edi,ebx + add ecx,edx + psrld xmm9,30 + ror ebp,7 + add ecx,edi + add ebx,DWORD PTR[8+rsp] + xor ebp,eax + mov edi,ecx + rol ecx,5 + por xmm0,xmm9 + and esi,ebp + xor ebp,eax + movdqa xmm10,xmm0 + xor esi,eax + add ebx,ecx + ror edx,7 + add ebx,esi + add eax,DWORD PTR[12+rsp] + xor edx,ebp + mov esi,ebx + rol ebx,5 + and edi,edx + xor edx,ebp + xor edi,ebp + add eax,ebx + ror ecx,7 + add eax,edi + add ebp,DWORD PTR[16+rsp] + pxor xmm1,xmm5 +DB 102,68,15,58,15,215,8 + xor esi,edx + mov edi,eax + rol eax,5 + pxor xmm1,xmm2 + xor esi,ecx + add ebp,eax + movdqa xmm9,xmm8 + paddd xmm8,xmm0 + ror ebx,7 + add ebp,esi + pxor xmm1,xmm10 + add edx,DWORD PTR[20+rsp] + xor edi,ecx mov esi,ebp - and ebx,r12d - xor eax,DWORD PTR[8+rsp] - or ecx,r12d - rol esi,5 - xor eax,DWORD PTR[28+rsp] - and ecx,edx - add edi,esi - rol eax,1 - or ebx,ecx - rol r11d,30 - mov DWORD PTR[40+rsp],eax - add edi,ebx - lea esi,DWORD PTR[08f1bbcdch+rdx*1+rax] - mov eax,DWORD PTR[44+rsp] - mov ebx,ebp - mov ecx,ebp - xor eax,DWORD PTR[52+rsp] - mov edx,edi - and ebx,r11d - xor eax,DWORD PTR[12+rsp] - or ecx,r11d + rol ebp,5 + movdqa xmm10,xmm1 + movdqa XMMWORD PTR[rsp],xmm8 + xor edi,ebx + add edx,ebp + ror eax,7 + add edx,edi + pslld xmm1,2 + add ecx,DWORD PTR[24+rsp] + xor esi,ebx + psrld xmm10,30 + mov edi,edx rol edx,5 - xor eax,DWORD PTR[32+rsp] - and ecx,r12d - add esi,edx - rol eax,1 - or ebx,ecx - rol ebp,30 - mov DWORD PTR[44+rsp],eax - add esi,ebx - lea edx,DWORD PTR[08f1bbcdch+r12*1+rax] - mov eax,DWORD PTR[48+rsp] - mov ebx,edi - mov ecx,edi - xor eax,DWORD PTR[56+rsp] - mov r12d,esi - and ebx,ebp - xor eax,DWORD PTR[16+rsp] - or ecx,ebp - rol r12d,5 - xor eax,DWORD PTR[36+rsp] - and ecx,r11d - add edx,r12d - rol eax,1 - or ebx,ecx - rol edi,30 - mov DWORD PTR[48+rsp],eax - add edx,ebx - lea r12d,DWORD PTR[3395469782+r11*1+rax] - mov eax,DWORD PTR[52+rsp] - mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[60+rsp] - xor ebx,esi - rol r11d,5 - xor eax,DWORD PTR[20+rsp] - xor ebx,ebp - add r12d,r11d - xor eax,DWORD PTR[40+rsp] - rol esi,30 - add r12d,ebx - rol eax,1 - mov DWORD PTR[52+rsp],eax - lea r11d,DWORD PTR[3395469782+rbp*1+rax] - mov eax,DWORD PTR[56+rsp] - mov ebx,esi - mov ebp,r12d - xor eax,DWORD PTR[rsp] - xor ebx,edx + xor esi,eax + add ecx,edx + ror ebp,7 + add ecx,esi + por xmm1,xmm10 + add ebx,DWORD PTR[28+rsp] + xor edi,eax + movdqa xmm8,xmm1 + mov esi,ecx + rol ecx,5 + xor edi,ebp + add ebx,ecx + ror edx,7 + add ebx,edi + add eax,DWORD PTR[32+rsp] + pxor xmm2,xmm6 +DB 102,68,15,58,15,192,8 + xor esi,ebp + mov edi,ebx + rol ebx,5 + pxor xmm2,xmm3 + xor esi,edx + add eax,ebx + movdqa xmm10,XMMWORD PTR[32+r11] + paddd xmm9,xmm1 + ror ecx,7 + add eax,esi + pxor xmm2,xmm8 + add ebp,DWORD PTR[36+rsp] + xor edi,edx + mov esi,eax + rol eax,5 + movdqa xmm8,xmm2 + movdqa XMMWORD PTR[16+rsp],xmm9 + xor edi,ecx + add ebp,eax + ror ebx,7 + add ebp,edi + pslld xmm2,2 + add edx,DWORD PTR[40+rsp] + xor esi,ecx + psrld xmm8,30 + mov edi,ebp rol ebp,5 - xor eax,DWORD PTR[24+rsp] - xor ebx,edi - add r11d,ebp - xor eax,DWORD PTR[44+rsp] - rol edx,30 - add r11d,ebx - rol eax,1 - mov DWORD PTR[56+rsp],eax - lea ebp,DWORD PTR[3395469782+rdi*1+rax] - mov eax,DWORD PTR[60+rsp] - mov ebx,edx - mov edi,r11d - xor eax,DWORD PTR[4+rsp] - xor ebx,r12d - rol edi,5 - xor eax,DWORD PTR[28+rsp] - xor ebx,esi + xor esi,ebx + add edx,ebp + ror eax,7 + add edx,esi + por xmm2,xmm8 + add ecx,DWORD PTR[44+rsp] + xor edi,ebx + movdqa xmm9,xmm2 + mov esi,edx + rol edx,5 + xor edi,eax + add ecx,edx + ror ebp,7 + add ecx,edi + add ebx,DWORD PTR[48+rsp] + pxor xmm3,xmm7 +DB 102,68,15,58,15,201,8 + xor esi,eax + mov edi,ecx + rol ecx,5 + pxor xmm3,xmm4 + xor esi,ebp + add ebx,ecx + movdqa xmm8,xmm10 + paddd xmm10,xmm2 + ror edx,7 + add ebx,esi + pxor xmm3,xmm9 + add eax,DWORD PTR[52+rsp] + xor edi,ebp + mov esi,ebx + rol ebx,5 + movdqa xmm9,xmm3 + movdqa XMMWORD PTR[32+rsp],xmm10 + xor edi,edx + add eax,ebx + ror ecx,7 + add eax,edi + pslld xmm3,2 + add ebp,DWORD PTR[56+rsp] + xor esi,edx + psrld xmm9,30 + mov edi,eax + rol eax,5 + xor esi,ecx + add ebp,eax + ror ebx,7 + add ebp,esi + por xmm3,xmm9 + add edx,DWORD PTR[60+rsp] + xor edi,ecx + movdqa xmm10,xmm3 + mov esi,ebp + rol ebp,5 + xor edi,ebx + add edx,ebp + ror eax,7 + add edx,edi + add ecx,DWORD PTR[rsp] + pxor xmm4,xmm0 +DB 102,68,15,58,15,210,8 + xor esi,ebx + mov edi,edx + rol edx,5 + pxor xmm4,xmm5 + xor esi,eax + add ecx,edx + movdqa xmm9,xmm8 + paddd xmm8,xmm3 + ror ebp,7 + add ecx,esi + pxor xmm4,xmm10 + add ebx,DWORD PTR[4+rsp] + xor edi,eax + mov esi,ecx + rol ecx,5 + movdqa xmm10,xmm4 + movdqa XMMWORD PTR[48+rsp],xmm8 + xor edi,ebp + add ebx,ecx + ror edx,7 + add ebx,edi + pslld xmm4,2 + add eax,DWORD PTR[8+rsp] + xor esi,ebp + psrld xmm10,30 + mov edi,ebx + rol ebx,5 + xor esi,edx + add eax,ebx + ror ecx,7 + add eax,esi + por xmm4,xmm10 + add ebp,DWORD PTR[12+rsp] + xor edi,edx + movdqa xmm8,xmm4 + mov esi,eax + rol eax,5 + xor edi,ecx + add ebp,eax + ror ebx,7 add ebp,edi - xor eax,DWORD PTR[48+rsp] - rol r12d,30 - add ebp,ebx - rol eax,1 - mov DWORD PTR[60+rsp],eax - lea edi,DWORD PTR[3395469782+rsi*1+rax] - mov eax,DWORD PTR[rsp] - mov ebx,r12d + add edx,DWORD PTR[16+rsp] + pxor xmm5,xmm1 +DB 102,68,15,58,15,195,8 + xor esi,ecx + mov edi,ebp + rol ebp,5 + pxor xmm5,xmm6 + xor esi,ebx + add edx,ebp + movdqa xmm10,xmm9 + paddd xmm9,xmm4 + ror eax,7 + add edx,esi + pxor xmm5,xmm8 + add ecx,DWORD PTR[20+rsp] + xor edi,ebx + mov esi,edx + rol edx,5 + movdqa xmm8,xmm5 + movdqa XMMWORD PTR[rsp],xmm9 + xor edi,eax + add ecx,edx + ror ebp,7 + add ecx,edi + pslld xmm5,2 + add ebx,DWORD PTR[24+rsp] + xor esi,eax + psrld xmm8,30 + mov edi,ecx + rol ecx,5 + xor esi,ebp + add ebx,ecx + ror edx,7 + add ebx,esi + por xmm5,xmm8 + add eax,DWORD PTR[28+rsp] + xor edi,ebp + movdqa xmm9,xmm5 + mov esi,ebx + rol ebx,5 + xor edi,edx + add eax,ebx + ror ecx,7 + add eax,edi + mov edi,ecx + pxor xmm6,xmm2 +DB 102,68,15,58,15,204,8 + xor ecx,edx + add ebp,DWORD PTR[32+rsp] + and edi,edx + pxor xmm6,xmm7 + and esi,ecx + ror ebx,7 + movdqa xmm8,xmm10 + paddd xmm10,xmm5 + add ebp,edi + mov edi,eax + pxor xmm6,xmm9 + rol eax,5 + add ebp,esi + xor ecx,edx + add ebp,eax + movdqa xmm9,xmm6 + movdqa XMMWORD PTR[16+rsp],xmm10 + mov esi,ebx + xor ebx,ecx + add edx,DWORD PTR[36+rsp] + and esi,ecx + pslld xmm6,2 + and edi,ebx + ror eax,7 + psrld xmm9,30 + add edx,esi mov esi,ebp - xor eax,DWORD PTR[8+rsp] - xor ebx,r11d - rol esi,5 - xor eax,DWORD PTR[32+rsp] - xor ebx,edx - add edi,esi - xor eax,DWORD PTR[52+rsp] - rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[rsp],eax - lea esi,DWORD PTR[3395469782+rdx*1+rax] - mov eax,DWORD PTR[4+rsp] - mov ebx,r11d - mov edx,edi - xor eax,DWORD PTR[12+rsp] - xor ebx,ebp + rol ebp,5 + add edx,edi + xor ebx,ecx + add edx,ebp + por xmm6,xmm9 + mov edi,eax + xor eax,ebx + movdqa xmm10,xmm6 + add ecx,DWORD PTR[40+rsp] + and edi,ebx + and esi,eax + ror ebp,7 + add ecx,edi + mov edi,edx rol edx,5 - xor eax,DWORD PTR[36+rsp] - xor ebx,r12d - add esi,edx - xor eax,DWORD PTR[56+rsp] - rol ebp,30 - add esi,ebx - rol eax,1 - mov DWORD PTR[4+rsp],eax - lea edx,DWORD PTR[3395469782+r12*1+rax] - mov eax,DWORD PTR[8+rsp] - mov ebx,ebp - mov r12d,esi - xor eax,DWORD PTR[16+rsp] - xor ebx,edi - rol r12d,5 - xor eax,DWORD PTR[40+rsp] - xor ebx,r11d - add edx,r12d - xor eax,DWORD PTR[60+rsp] - rol edi,30 - add edx,ebx - rol eax,1 - mov DWORD PTR[8+rsp],eax - lea r12d,DWORD PTR[3395469782+r11*1+rax] - mov eax,DWORD PTR[12+rsp] - mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[20+rsp] - xor ebx,esi - rol r11d,5 - xor eax,DWORD PTR[44+rsp] - xor ebx,ebp - add r12d,r11d - xor eax,DWORD PTR[rsp] - rol esi,30 - add r12d,ebx - rol eax,1 - mov DWORD PTR[12+rsp],eax - lea r11d,DWORD PTR[3395469782+rbp*1+rax] - mov eax,DWORD PTR[16+rsp] - mov ebx,esi - mov ebp,r12d - xor eax,DWORD PTR[24+rsp] - xor ebx,edx + add ecx,esi + xor eax,ebx + add ecx,edx + mov esi,ebp + xor ebp,eax + add ebx,DWORD PTR[44+rsp] + and esi,eax + and edi,ebp + ror edx,7 + add ebx,esi + mov esi,ecx + rol ecx,5 + add ebx,edi + xor ebp,eax + add ebx,ecx + mov edi,edx + pxor xmm7,xmm3 +DB 102,68,15,58,15,213,8 + xor edx,ebp + add eax,DWORD PTR[48+rsp] + and edi,ebp + pxor xmm7,xmm0 + and esi,edx + ror ecx,7 + movdqa xmm9,XMMWORD PTR[48+r11] + paddd xmm8,xmm6 + add eax,edi + mov edi,ebx + pxor xmm7,xmm10 + rol ebx,5 + add eax,esi + xor edx,ebp + add eax,ebx + movdqa xmm10,xmm7 + movdqa XMMWORD PTR[32+rsp],xmm8 + mov esi,ecx + xor ecx,edx + add ebp,DWORD PTR[52+rsp] + and esi,edx + pslld xmm7,2 + and edi,ecx + ror ebx,7 + psrld xmm10,30 + add ebp,esi + mov esi,eax + rol eax,5 + add ebp,edi + xor ecx,edx + add ebp,eax + por xmm7,xmm10 + mov edi,ebx + xor ebx,ecx + movdqa xmm8,xmm7 + add edx,DWORD PTR[56+rsp] + and edi,ecx + and esi,ebx + ror eax,7 + add edx,edi + mov edi,ebp rol ebp,5 - xor eax,DWORD PTR[48+rsp] - xor ebx,edi - add r11d,ebp - xor eax,DWORD PTR[4+rsp] - rol edx,30 - add r11d,ebx - rol eax,1 - mov DWORD PTR[16+rsp],eax - lea ebp,DWORD PTR[3395469782+rdi*1+rax] - mov eax,DWORD PTR[20+rsp] - mov ebx,edx - mov edi,r11d - xor eax,DWORD PTR[28+rsp] - xor ebx,r12d - rol edi,5 - xor eax,DWORD PTR[52+rsp] - xor ebx,esi + add edx,esi + xor ebx,ecx + add edx,ebp + mov esi,eax + xor eax,ebx + add ecx,DWORD PTR[60+rsp] + and esi,ebx + and edi,eax + ror ebp,7 + add ecx,esi + mov esi,edx + rol edx,5 + add ecx,edi + xor eax,ebx + add ecx,edx + mov edi,ebp + pxor xmm0,xmm4 +DB 102,68,15,58,15,198,8 + xor ebp,eax + add ebx,DWORD PTR[rsp] + and edi,eax + pxor xmm0,xmm1 + and esi,ebp + ror edx,7 + movdqa xmm10,xmm9 + paddd xmm9,xmm7 + add ebx,edi + mov edi,ecx + pxor xmm0,xmm8 + rol ecx,5 + add ebx,esi + xor ebp,eax + add ebx,ecx + movdqa xmm8,xmm0 + movdqa XMMWORD PTR[48+rsp],xmm9 + mov esi,edx + xor edx,ebp + add eax,DWORD PTR[4+rsp] + and esi,ebp + pslld xmm0,2 + and edi,edx + ror ecx,7 + psrld xmm8,30 + add eax,esi + mov esi,ebx + rol ebx,5 + add eax,edi + xor edx,ebp + add eax,ebx + por xmm0,xmm8 + mov edi,ecx + xor ecx,edx + movdqa xmm9,xmm0 + add ebp,DWORD PTR[8+rsp] + and edi,edx + and esi,ecx + ror ebx,7 add ebp,edi - xor eax,DWORD PTR[8+rsp] - rol r12d,30 - add ebp,ebx - rol eax,1 - mov DWORD PTR[20+rsp],eax - lea edi,DWORD PTR[3395469782+rsi*1+rax] - mov eax,DWORD PTR[24+rsp] - mov ebx,r12d + mov edi,eax + rol eax,5 + add ebp,esi + xor ecx,edx + add ebp,eax + mov esi,ebx + xor ebx,ecx + add edx,DWORD PTR[12+rsp] + and esi,ecx + and edi,ebx + ror eax,7 + add edx,esi mov esi,ebp - xor eax,DWORD PTR[32+rsp] - xor ebx,r11d - rol esi,5 - xor eax,DWORD PTR[56+rsp] - xor ebx,edx - add edi,esi - xor eax,DWORD PTR[12+rsp] - rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[24+rsp],eax - lea esi,DWORD PTR[3395469782+rdx*1+rax] - mov eax,DWORD PTR[28+rsp] - mov ebx,r11d - mov edx,edi - xor eax,DWORD PTR[36+rsp] - xor ebx,ebp + rol ebp,5 + add edx,edi + xor ebx,ecx + add edx,ebp + mov edi,eax + pxor xmm1,xmm5 +DB 102,68,15,58,15,207,8 + xor eax,ebx + add ecx,DWORD PTR[16+rsp] + and edi,ebx + pxor xmm1,xmm2 + and esi,eax + ror ebp,7 + movdqa xmm8,xmm10 + paddd xmm10,xmm0 + add ecx,edi + mov edi,edx + pxor xmm1,xmm9 rol edx,5 - xor eax,DWORD PTR[60+rsp] - xor ebx,r12d - add esi,edx - xor eax,DWORD PTR[16+rsp] - rol ebp,30 - add esi,ebx - rol eax,1 - mov DWORD PTR[28+rsp],eax - lea edx,DWORD PTR[3395469782+r12*1+rax] - mov eax,DWORD PTR[32+rsp] - mov ebx,ebp - mov r12d,esi - xor eax,DWORD PTR[40+rsp] - xor ebx,edi - rol r12d,5 - xor eax,DWORD PTR[rsp] - xor ebx,r11d - add edx,r12d - xor eax,DWORD PTR[20+rsp] - rol edi,30 - add edx,ebx - rol eax,1 - mov DWORD PTR[32+rsp],eax - lea r12d,DWORD PTR[3395469782+r11*1+rax] - mov eax,DWORD PTR[36+rsp] - mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[44+rsp] - xor ebx,esi - rol r11d,5 - xor eax,DWORD PTR[4+rsp] - xor ebx,ebp - add r12d,r11d - xor eax,DWORD PTR[24+rsp] - rol esi,30 - add r12d,ebx - rol eax,1 - mov DWORD PTR[36+rsp],eax - lea r11d,DWORD PTR[3395469782+rbp*1+rax] - mov eax,DWORD PTR[40+rsp] - mov ebx,esi - mov ebp,r12d - xor eax,DWORD PTR[48+rsp] - xor ebx,edx + add ecx,esi + xor eax,ebx + add ecx,edx + movdqa xmm9,xmm1 + movdqa XMMWORD PTR[rsp],xmm10 + mov esi,ebp + xor ebp,eax + add ebx,DWORD PTR[20+rsp] + and esi,eax + pslld xmm1,2 + and edi,ebp + ror edx,7 + psrld xmm9,30 + add ebx,esi + mov esi,ecx + rol ecx,5 + add ebx,edi + xor ebp,eax + add ebx,ecx + por xmm1,xmm9 + mov edi,edx + xor edx,ebp + movdqa xmm10,xmm1 + add eax,DWORD PTR[24+rsp] + and edi,ebp + and esi,edx + ror ecx,7 + add eax,edi + mov edi,ebx + rol ebx,5 + add eax,esi + xor edx,ebp + add eax,ebx + mov esi,ecx + xor ecx,edx + add ebp,DWORD PTR[28+rsp] + and esi,edx + and edi,ecx + ror ebx,7 + add ebp,esi + mov esi,eax + rol eax,5 + add ebp,edi + xor ecx,edx + add ebp,eax + mov edi,ebx + pxor xmm2,xmm6 +DB 102,68,15,58,15,208,8 + xor ebx,ecx + add edx,DWORD PTR[32+rsp] + and edi,ecx + pxor xmm2,xmm3 + and esi,ebx + ror eax,7 + movdqa xmm9,xmm8 + paddd xmm8,xmm1 + add edx,edi + mov edi,ebp + pxor xmm2,xmm10 rol ebp,5 - xor eax,DWORD PTR[8+rsp] - xor ebx,edi - add r11d,ebp - xor eax,DWORD PTR[28+rsp] - rol edx,30 - add r11d,ebx - rol eax,1 - mov DWORD PTR[40+rsp],eax - lea ebp,DWORD PTR[3395469782+rdi*1+rax] - mov eax,DWORD PTR[44+rsp] - mov ebx,edx - mov edi,r11d - xor eax,DWORD PTR[52+rsp] - xor ebx,r12d - rol edi,5 - xor eax,DWORD PTR[12+rsp] - xor ebx,esi + add edx,esi + xor ebx,ecx + add edx,ebp + movdqa xmm10,xmm2 + movdqa XMMWORD PTR[16+rsp],xmm8 + mov esi,eax + xor eax,ebx + add ecx,DWORD PTR[36+rsp] + and esi,ebx + pslld xmm2,2 + and edi,eax + ror ebp,7 + psrld xmm10,30 + add ecx,esi + mov esi,edx + rol edx,5 + add ecx,edi + xor eax,ebx + add ecx,edx + por xmm2,xmm10 + mov edi,ebp + xor ebp,eax + movdqa xmm8,xmm2 + add ebx,DWORD PTR[40+rsp] + and edi,eax + and esi,ebp + ror edx,7 + add ebx,edi + mov edi,ecx + rol ecx,5 + add ebx,esi + xor ebp,eax + add ebx,ecx + mov esi,edx + xor edx,ebp + add eax,DWORD PTR[44+rsp] + and esi,ebp + and edi,edx + ror ecx,7 + add eax,esi + mov esi,ebx + rol ebx,5 + add eax,edi + xor edx,ebp + add eax,ebx + add ebp,DWORD PTR[48+rsp] + pxor xmm3,xmm7 +DB 102,68,15,58,15,193,8 + xor esi,edx + mov edi,eax + rol eax,5 + pxor xmm3,xmm4 + xor esi,ecx + add ebp,eax + movdqa xmm10,xmm9 + paddd xmm9,xmm2 + ror ebx,7 + add ebp,esi + pxor xmm3,xmm8 + add edx,DWORD PTR[52+rsp] + xor edi,ecx + mov esi,ebp + rol ebp,5 + movdqa xmm8,xmm3 + movdqa XMMWORD PTR[32+rsp],xmm9 + xor edi,ebx + add edx,ebp + ror eax,7 + add edx,edi + pslld xmm3,2 + add ecx,DWORD PTR[56+rsp] + xor esi,ebx + psrld xmm8,30 + mov edi,edx + rol edx,5 + xor esi,eax + add ecx,edx + ror ebp,7 + add ecx,esi + por xmm3,xmm8 + add ebx,DWORD PTR[60+rsp] + xor edi,eax + mov esi,ecx + rol ecx,5 + xor edi,ebp + add ebx,ecx + ror edx,7 + add ebx,edi + add eax,DWORD PTR[rsp] + paddd xmm10,xmm3 + xor esi,ebp + mov edi,ebx + rol ebx,5 + xor esi,edx + movdqa XMMWORD PTR[48+rsp],xmm10 + add eax,ebx + ror ecx,7 + add eax,esi + add ebp,DWORD PTR[4+rsp] + xor edi,edx + mov esi,eax + rol eax,5 + xor edi,ecx + add ebp,eax + ror ebx,7 add ebp,edi - xor eax,DWORD PTR[32+rsp] - rol r12d,30 - add ebp,ebx - rol eax,1 - mov DWORD PTR[44+rsp],eax - lea edi,DWORD PTR[3395469782+rsi*1+rax] - mov eax,DWORD PTR[48+rsp] - mov ebx,r12d + add edx,DWORD PTR[8+rsp] + xor esi,ecx + mov edi,ebp + rol ebp,5 + xor esi,ebx + add edx,ebp + ror eax,7 + add edx,esi + add ecx,DWORD PTR[12+rsp] + xor edi,ebx + mov esi,edx + rol edx,5 + xor edi,eax + add ecx,edx + ror ebp,7 + add ecx,edi + cmp r9,r10 + je $L$done_ssse3 + movdqa xmm6,XMMWORD PTR[64+r11] + movdqa xmm9,XMMWORD PTR[r11] + movdqu xmm0,XMMWORD PTR[r9] + movdqu xmm1,XMMWORD PTR[16+r9] + movdqu xmm2,XMMWORD PTR[32+r9] + movdqu xmm3,XMMWORD PTR[48+r9] +DB 102,15,56,0,198 + add r9,64 + add ebx,DWORD PTR[16+rsp] + xor esi,eax +DB 102,15,56,0,206 + mov edi,ecx + rol ecx,5 + paddd xmm0,xmm9 + xor esi,ebp + add ebx,ecx + ror edx,7 + add ebx,esi + movdqa XMMWORD PTR[rsp],xmm0 + add eax,DWORD PTR[20+rsp] + xor edi,ebp + psubd xmm0,xmm9 + mov esi,ebx + rol ebx,5 + xor edi,edx + add eax,ebx + ror ecx,7 + add eax,edi + add ebp,DWORD PTR[24+rsp] + xor esi,edx + mov edi,eax + rol eax,5 + xor esi,ecx + add ebp,eax + ror ebx,7 + add ebp,esi + add edx,DWORD PTR[28+rsp] + xor edi,ecx mov esi,ebp - xor eax,DWORD PTR[56+rsp] - xor ebx,r11d - rol esi,5 - xor eax,DWORD PTR[16+rsp] - xor ebx,edx - add edi,esi - xor eax,DWORD PTR[36+rsp] - rol r11d,30 - add edi,ebx - rol eax,1 - mov DWORD PTR[48+rsp],eax - lea esi,DWORD PTR[3395469782+rdx*1+rax] - mov eax,DWORD PTR[52+rsp] - mov ebx,r11d - mov edx,edi - xor eax,DWORD PTR[60+rsp] - xor ebx,ebp + rol ebp,5 + xor edi,ebx + add edx,ebp + ror eax,7 + add edx,edi + add ecx,DWORD PTR[32+rsp] + xor esi,ebx +DB 102,15,56,0,214 + mov edi,edx rol edx,5 - xor eax,DWORD PTR[20+rsp] - xor ebx,r12d - add esi,edx - xor eax,DWORD PTR[40+rsp] - rol ebp,30 - add esi,ebx - rol eax,1 - lea edx,DWORD PTR[3395469782+r12*1+rax] - mov eax,DWORD PTR[56+rsp] - mov ebx,ebp - mov r12d,esi - xor eax,DWORD PTR[rsp] - xor ebx,edi - rol r12d,5 - xor eax,DWORD PTR[24+rsp] - xor ebx,r11d - add edx,r12d - xor eax,DWORD PTR[44+rsp] - rol edi,30 - add edx,ebx - rol eax,1 - lea r12d,DWORD PTR[3395469782+r11*1+rax] - mov eax,DWORD PTR[60+rsp] - mov ebx,edi - mov r11d,edx - xor eax,DWORD PTR[4+rsp] - xor ebx,esi - rol r11d,5 - xor eax,DWORD PTR[28+rsp] - xor ebx,ebp - add r12d,r11d - xor eax,DWORD PTR[48+rsp] - rol esi,30 - add r12d,ebx - rol eax,1 - lea r11d,DWORD PTR[3395469782+rbp*1+rax] - mov ebx,esi - mov ebp,r12d - xor ebx,edx + paddd xmm1,xmm9 + xor esi,eax + add ecx,edx + ror ebp,7 + add ecx,esi + movdqa XMMWORD PTR[16+rsp],xmm1 + add ebx,DWORD PTR[36+rsp] + xor edi,eax + psubd xmm1,xmm9 + mov esi,ecx + rol ecx,5 + xor edi,ebp + add ebx,ecx + ror edx,7 + add ebx,edi + add eax,DWORD PTR[40+rsp] + xor esi,ebp + mov edi,ebx + rol ebx,5 + xor esi,edx + add eax,ebx + ror ecx,7 + add eax,esi + add ebp,DWORD PTR[44+rsp] + xor edi,edx + mov esi,eax + rol eax,5 + xor edi,ecx + add ebp,eax + ror ebx,7 + add ebp,edi + add edx,DWORD PTR[48+rsp] + xor esi,ecx +DB 102,15,56,0,222 + mov edi,ebp rol ebp,5 - xor ebx,edi - add r11d,ebp - rol edx,30 - add r11d,ebx - add r11d,DWORD PTR[r8] - add r12d,DWORD PTR[4+r8] - add edx,DWORD PTR[8+r8] - add esi,DWORD PTR[12+r8] - add edi,DWORD PTR[16+r8] - mov DWORD PTR[r8],r11d - mov DWORD PTR[4+r8],r12d - mov DWORD PTR[8+r8],edx - mov DWORD PTR[12+r8],esi - mov DWORD PTR[16+r8],edi - - xchg edx,r11d - xchg esi,r12d - xchg edi,r11d - xchg ebp,r12d + paddd xmm2,xmm9 + xor esi,ebx + add edx,ebp + ror eax,7 + add edx,esi + movdqa XMMWORD PTR[32+rsp],xmm2 + add ecx,DWORD PTR[52+rsp] + xor edi,ebx + psubd xmm2,xmm9 + mov esi,edx + rol edx,5 + xor edi,eax + add ecx,edx + ror ebp,7 + add ecx,edi + add ebx,DWORD PTR[56+rsp] + xor esi,eax + mov edi,ecx + rol ecx,5 + xor esi,ebp + add ebx,ecx + ror edx,7 + add ebx,esi + add eax,DWORD PTR[60+rsp] + xor edi,ebp + mov esi,ebx + rol ebx,5 + xor edi,edx + add eax,ebx + ror ecx,7 + add eax,edi + add eax,DWORD PTR[r8] + add esi,DWORD PTR[4+r8] + add ecx,DWORD PTR[8+r8] + add edx,DWORD PTR[12+r8] + mov DWORD PTR[r8],eax + add ebp,DWORD PTR[16+r8] + mov DWORD PTR[4+r8],esi + mov ebx,esi + mov DWORD PTR[8+r8],ecx + mov DWORD PTR[12+r8],edx + mov DWORD PTR[16+r8],ebp + jmp $L$oop_ssse3 - lea r9,QWORD PTR[64+r9] - sub r10,1 - jnz $L$loop - mov rsi,QWORD PTR[64+rsp] +ALIGN 16 +$L$done_ssse3:: + add ebx,DWORD PTR[16+rsp] + xor esi,eax + mov edi,ecx + rol ecx,5 + xor esi,ebp + add ebx,ecx + ror edx,7 + add ebx,esi + add eax,DWORD PTR[20+rsp] + xor edi,ebp + mov esi,ebx + rol ebx,5 + xor edi,edx + add eax,ebx + ror ecx,7 + add eax,edi + add ebp,DWORD PTR[24+rsp] + xor esi,edx + mov edi,eax + rol eax,5 + xor esi,ecx + add ebp,eax + ror ebx,7 + add ebp,esi + add edx,DWORD PTR[28+rsp] + xor edi,ecx + mov esi,ebp + rol ebp,5 + xor edi,ebx + add edx,ebp + ror eax,7 + add edx,edi + add ecx,DWORD PTR[32+rsp] + xor esi,ebx + mov edi,edx + rol edx,5 + xor esi,eax + add ecx,edx + ror ebp,7 + add ecx,esi + add ebx,DWORD PTR[36+rsp] + xor edi,eax + mov esi,ecx + rol ecx,5 + xor edi,ebp + add ebx,ecx + ror edx,7 + add ebx,edi + add eax,DWORD PTR[40+rsp] + xor esi,ebp + mov edi,ebx + rol ebx,5 + xor esi,edx + add eax,ebx + ror ecx,7 + add eax,esi + add ebp,DWORD PTR[44+rsp] + xor edi,edx + mov esi,eax + rol eax,5 + xor edi,ecx + add ebp,eax + ror ebx,7 + add ebp,edi + add edx,DWORD PTR[48+rsp] + xor esi,ecx + mov edi,ebp + rol ebp,5 + xor esi,ebx + add edx,ebp + ror eax,7 + add edx,esi + add ecx,DWORD PTR[52+rsp] + xor edi,ebx + mov esi,edx + rol edx,5 + xor edi,eax + add ecx,edx + ror ebp,7 + add ecx,edi + add ebx,DWORD PTR[56+rsp] + xor esi,eax + mov edi,ecx + rol ecx,5 + xor esi,ebp + add ebx,ecx + ror edx,7 + add ebx,esi + add eax,DWORD PTR[60+rsp] + xor edi,ebp + mov esi,ebx + rol ebx,5 + xor edi,edx + add eax,ebx + ror ecx,7 + add eax,edi + add eax,DWORD PTR[r8] + add esi,DWORD PTR[4+r8] + add ecx,DWORD PTR[8+r8] + mov DWORD PTR[r8],eax + add edx,DWORD PTR[12+r8] + mov DWORD PTR[4+r8],esi + add ebp,DWORD PTR[16+r8] + mov DWORD PTR[8+r8],ecx + mov DWORD PTR[12+r8],edx + mov DWORD PTR[16+r8],ebp + movaps xmm6,XMMWORD PTR[((64+0))+rsp] + movaps xmm7,XMMWORD PTR[((64+16))+rsp] + movaps xmm8,XMMWORD PTR[((64+32))+rsp] + movaps xmm9,XMMWORD PTR[((64+48))+rsp] + movaps xmm10,XMMWORD PTR[((64+64))+rsp] + lea rsi,QWORD PTR[144+rsp] mov r12,QWORD PTR[rsi] mov rbp,QWORD PTR[8+rsi] mov rbx,QWORD PTR[16+rsi] lea rsp,QWORD PTR[24+rsi] -$L$epilogue:: +$L$epilogue_ssse3:: mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue mov rsi,QWORD PTR[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order:: -sha1_block_data_order ENDP +$L$SEH_end_sha1_block_data_order_ssse3:: +sha1_block_data_order_ssse3 ENDP +ALIGN 64 +K_XX_XX:: + DD 05a827999h,05a827999h,05a827999h,05a827999h + + DD 06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h + + DD 08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch + + DD 0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h + + DD 000010203h,004050607h,008090a0bh,00c0d0e0fh + 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,95,54,52,44 DB 32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60 DB 97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114 DB 103,62,0 -ALIGN 16 +ALIGN 64 EXTERN __imp_RtlVirtualUnwind:NEAR ALIGN 16 @@ -1317,16 +2549,67 @@ se_handler PROC PRIVATE lea r10,QWORD PTR[$L$prologue] cmp rbx,r10 - jb $L$in_prologue + jb $L$common_seh_tail mov rax,QWORD PTR[152+r8] lea r10,QWORD PTR[$L$epilogue] cmp rbx,r10 - jae $L$in_prologue + jae $L$common_seh_tail mov rax,QWORD PTR[64+rax] - lea rax,QWORD PTR[24+rax] + lea rax,QWORD PTR[32+rax] + + mov rbx,QWORD PTR[((-8))+rax] + mov rbp,QWORD PTR[((-16))+rax] + mov r12,QWORD PTR[((-24))+rax] + mov r13,QWORD PTR[((-32))+rax] + mov QWORD PTR[144+r8],rbx + mov QWORD PTR[160+r8],rbp + mov QWORD PTR[216+r8],r12 + mov QWORD PTR[224+r8],r13 + + jmp $L$common_seh_tail +se_handler ENDP + + +ALIGN 16 +ssse3_handler PROC PRIVATE + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD PTR[120+r8] + mov rbx,QWORD PTR[248+r8] + + mov rsi,QWORD PTR[8+r9] + mov r11,QWORD PTR[56+r9] + + mov r10d,DWORD PTR[r11] + lea r10,QWORD PTR[r10*1+rsi] + cmp rbx,r10 + jb $L$common_seh_tail + + mov rax,QWORD PTR[152+r8] + + mov r10d,DWORD PTR[4+r11] + lea r10,QWORD PTR[r10*1+rsi] + cmp rbx,r10 + jae $L$common_seh_tail + + lea rsi,QWORD PTR[64+rax] + lea rdi,QWORD PTR[512+r8] + mov ecx,10 + DD 0a548f3fch + + lea rax,QWORD PTR[168+rax] mov rbx,QWORD PTR[((-8))+rax] mov rbp,QWORD PTR[((-16))+rax] @@ -1335,7 +2618,7 @@ se_handler PROC PRIVATE mov QWORD PTR[160+r8],rbp mov QWORD PTR[216+r8],r12 -$L$in_prologue:: +$L$common_seh_tail:: mov rdi,QWORD PTR[8+rax] mov rsi,QWORD PTR[16+rax] mov QWORD PTR[152+r8],rax @@ -1374,7 +2657,7 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP +ssse3_handler ENDP .text$ ENDS .pdata SEGMENT READONLY ALIGN(4) @@ -1382,13 +2665,20 @@ ALIGN 4 DD imagerel $L$SEH_begin_sha1_block_data_order DD imagerel $L$SEH_end_sha1_block_data_order DD imagerel $L$SEH_info_sha1_block_data_order - + DD imagerel $L$SEH_begin_sha1_block_data_order_ssse3 + DD imagerel $L$SEH_end_sha1_block_data_order_ssse3 + DD imagerel $L$SEH_info_sha1_block_data_order_ssse3 .pdata ENDS .xdata SEGMENT READONLY ALIGN(8) ALIGN 8 $L$SEH_info_sha1_block_data_order:: DB 9,0,0,0 DD imagerel se_handler +$L$SEH_info_sha1_block_data_order_ssse3:: +DB 9,0,0,0 + DD imagerel ssse3_handler + DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3 + .xdata ENDS END |