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 | 1394 |
1 files changed, 1394 insertions, 0 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 new file mode 100644 index 0000000000..9323f2b26a --- /dev/null +++ b/deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm @@ -0,0 +1,1394 @@ +OPTION DOTNAME +.text$ SEGMENT ALIGN(64) 'CODE' +PUBLIC sha1_block_data_order + +ALIGN 16 +sha1_block_data_order PROC PUBLIC + mov QWORD PTR[8+rsp],rdi ;WIN64 prologue + mov QWORD PTR[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order:: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbx + push rbp + push r12 + mov r11,rsp + mov r8,rdi + sub rsp,72 + mov r9,rsi + and rsp,-64 + mov r10,rdx + 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 +$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 + 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 + 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 + rol r11d,30 + add edi,ebx + lea esi,DWORD PTR[05a827999h+rdx*1+rax] + 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 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 + and ebx,edi + mov DWORD PTR[24+rsp],eax + add edx,r12d + xor ebx,r11d + rol edi,30 + add edx,ebx + lea r12d,DWORD PTR[05a827999h+r11*1+rax] + mov ebx,edi + mov eax,DWORD PTR[28+r9] + mov r11d,edx + xor ebx,ebp + bswap eax + rol r11d,5 + and ebx,esi + mov DWORD PTR[28+rsp],eax + add r12d,r11d + xor ebx,ebp + rol esi,30 + add r12d,ebx + lea r11d,DWORD PTR[05a827999h+rbp*1+rax] + 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 ebx,edi + rol edx,30 + add r11d,ebx + lea ebp,DWORD PTR[05a827999h+rdi*1+rax] + mov ebx,edx + mov eax,DWORD PTR[36+r9] + mov edi,r11d + xor ebx,esi + bswap eax + rol edi,5 + and ebx,r12d + mov DWORD PTR[36+rsp],eax + add ebp,edi + xor ebx,esi + rol r12d,30 + add ebp,ebx + lea edi,DWORD PTR[05a827999h+rsi*1+rax] + mov ebx,r12d + mov eax,DWORD PTR[40+r9] + mov esi,ebp + xor ebx,edx + bswap eax + rol esi,5 + and ebx,r11d + mov DWORD PTR[40+rsp],eax + add edi,esi + xor ebx,edx + rol r11d,30 + add edi,ebx + lea esi,DWORD PTR[05a827999h+rdx*1+rax] + 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 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 + and ebx,edi + mov DWORD PTR[48+rsp],eax + add edx,r12d + xor ebx,r11d + rol edi,30 + add edx,ebx + lea r12d,DWORD PTR[05a827999h+r11*1+rax] + mov ebx,edi + mov eax,DWORD PTR[52+r9] + mov r11d,edx + xor ebx,ebp + bswap eax + rol r11d,5 + and ebx,esi + mov DWORD PTR[52+rsp],eax + add r12d,r11d + xor ebx,ebp + rol esi,30 + add r12d,ebx + lea r11d,DWORD PTR[05a827999h+rbp*1+rax] + 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 ebx,edi + rol edx,30 + add r11d,ebx + lea ebp,DWORD PTR[05a827999h+rdi*1+rax] + mov ebx,edx + mov eax,DWORD PTR[60+r9] + mov edi,r11d + xor ebx,esi + bswap eax + rol edi,5 + and ebx,r12d + mov DWORD PTR[60+rsp],eax + add ebp,edi + xor ebx,esi + rol r12d,30 + add ebp,ebx + lea edi,DWORD PTR[05a827999h+rsi*1+rax] + mov eax,DWORD PTR[rsp] + mov ebx,r12d + mov esi,ebp + xor eax,DWORD PTR[8+rsp] + xor ebx,edx + rol esi,5 + xor eax,DWORD PTR[32+rsp] + and ebx,r11d + add edi,esi + xor eax,DWORD PTR[52+rsp] + xor ebx,edx + 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 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 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] + and ebx,edi + add edx,r12d + xor eax,DWORD PTR[60+rsp] + xor ebx,r11d + 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 ebx,edi + mov r11d,edx + xor eax,DWORD PTR[20+rsp] + xor ebx,ebp + rol r11d,5 + xor eax,DWORD PTR[44+rsp] + and ebx,esi + add r12d,r11d + xor eax,DWORD PTR[rsp] + xor ebx,ebp + rol esi,30 + 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] + 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 ebx,edi + rol edx,30 + 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] + xor ebx,esi + 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[1859775393+rsi*1+rax] + mov eax,DWORD PTR[24+rsp] + 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] + 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 ebx,r11d + mov edx,edi + xor eax,DWORD PTR[36+rsp] + xor ebx,ebp + 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[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] + 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 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[1859775393+rbp*1+rax] + mov eax,DWORD PTR[40+rsp] + 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 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[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] + xor ebx,esi + 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[1859775393+rsi*1+rax] + mov eax,DWORD PTR[48+rsp] + 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 + 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 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] + 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] + 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] + 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] + 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] + 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] + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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] + 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 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 + 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 + 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 + 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 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 + 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 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 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 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 + 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 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 + 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 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 + 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 + + lea r9,QWORD PTR[64+r9] + sub r10,1 + jnz $L$loop + mov rsi,QWORD PTR[64+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:: + 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 +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 +EXTERN __imp_RtlVirtualUnwind:NEAR + +ALIGN 16 +se_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] + + lea r10,QWORD PTR[$L$prologue] + cmp rbx,r10 + jb $L$in_prologue + + mov rax,QWORD PTR[152+r8] + + lea r10,QWORD PTR[$L$epilogue] + cmp rbx,r10 + jae $L$in_prologue + + mov rax,QWORD PTR[64+rax] + lea rax,QWORD PTR[24+rax] + + mov rbx,QWORD PTR[((-8))+rax] + mov rbp,QWORD PTR[((-16))+rax] + mov r12,QWORD PTR[((-24))+rax] + mov QWORD PTR[144+r8],rbx + mov QWORD PTR[160+r8],rbp + mov QWORD PTR[216+r8],r12 + +$L$in_prologue:: + mov rdi,QWORD PTR[8+rax] + mov rsi,QWORD PTR[16+rax] + mov QWORD PTR[152+r8],rax + mov QWORD PTR[168+r8],rsi + mov QWORD PTR[176+r8],rdi + + mov rdi,QWORD PTR[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0a548f3fch + + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD PTR[8+rsi] + mov r8,QWORD PTR[rsi] + mov r9,QWORD PTR[16+rsi] + mov r10,QWORD PTR[40+rsi] + lea r11,QWORD PTR[56+rsi] + lea r12,QWORD PTR[24+rsi] + mov QWORD PTR[32+rsp],r10 + mov QWORD PTR[40+rsp],r11 + mov QWORD PTR[48+rsp],r12 + mov QWORD PTR[56+rsp],rcx + call QWORD PTR[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret +se_handler ENDP + +.text$ ENDS +.pdata SEGMENT READONLY ALIGN(4) +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 + +.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 + +.xdata ENDS +END |