summaryrefslogtreecommitdiff
path: root/deps/openssl/asm/x64-win32-masm/sha/sha1-x86_64.asm
diff options
context:
space:
mode:
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.asm1394
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