[PATCH v2 2/2] CryptoPkg/OpensslLib: Commit the auto-generated assembly files for X64


Zurcher, Christopher J
 

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2507

Adding the auto-generated assembly files for the X64 architecture.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Christopher J Zurcher <christopher.j.zurcher@intel.com>
---
CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm | 73=
2 +++
CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm | 191=
6 ++++++++
CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.nasm | 7=
8 +
CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm | 510=
3 ++++++++++++++++++++
CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm | 117=
3 +++++
CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm | 156=
9 ++++++
CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm | 313=
7 ++++++++++++
CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm | 288=
4 +++++++++++
CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-mb-x86_64.nasm | 346=
1 +++++++++++++
CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-x86_64.nasm | 331=
3 +++++++++++++
CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha512-x86_64.nasm | 193=
8 ++++++++
CryptoPkg/Library/OpensslLib/X64/crypto/x86_64cpuid.nasm | 49=
1 ++
12 files changed, 25795 insertions(+)

diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.na=
sm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm
new file mode 100644
index 0000000000..1a3ed1dd35
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm
@@ -0,0 +1,732 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/aes/asm/aesni-mb-x86_64.pl=0D
+;=0D
+; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+=0D
+EXTERN OPENSSL_ia32cap_P=0D
+=0D
+global aesni_multi_cbc_encrypt=0D
+=0D
+ALIGN 32=0D
+aesni_multi_cbc_encrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_multi_cbc_encrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ mov rax,rsp=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ push r15=0D
+=0D
+ lea rsp,[((-168))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+ movaps XMMWORD[64+rsp],xmm10=0D
+ movaps XMMWORD[80+rsp],xmm11=0D
+ movaps XMMWORD[96+rsp],xmm12=0D
+ movaps XMMWORD[(-104)+rax],xmm13=0D
+ movaps XMMWORD[(-88)+rax],xmm14=0D
+ movaps XMMWORD[(-72)+rax],xmm15=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ sub rsp,48=0D
+ and rsp,-64=0D
+ mov QWORD[16+rsp],rax=0D
+=0D
+=0D
+$L$enc4x_body:=0D
+ movdqu xmm12,XMMWORD[rsi]=0D
+ lea rsi,[120+rsi]=0D
+ lea rdi,[80+rdi]=0D
+=0D
+$L$enc4x_loop_grande:=0D
+ mov DWORD[24+rsp],edx=0D
+ xor edx,edx=0D
+ mov ecx,DWORD[((-64))+rdi]=0D
+ mov r8,QWORD[((-80))+rdi]=0D
+ cmp ecx,edx=0D
+ mov r12,QWORD[((-72))+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm2,XMMWORD[((-56))+rdi]=0D
+ mov DWORD[32+rsp],ecx=0D
+ cmovle r8,rsp=0D
+ mov ecx,DWORD[((-24))+rdi]=0D
+ mov r9,QWORD[((-40))+rdi]=0D
+ cmp ecx,edx=0D
+ mov r13,QWORD[((-32))+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm3,XMMWORD[((-16))+rdi]=0D
+ mov DWORD[36+rsp],ecx=0D
+ cmovle r9,rsp=0D
+ mov ecx,DWORD[16+rdi]=0D
+ mov r10,QWORD[rdi]=0D
+ cmp ecx,edx=0D
+ mov r14,QWORD[8+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm4,XMMWORD[24+rdi]=0D
+ mov DWORD[40+rsp],ecx=0D
+ cmovle r10,rsp=0D
+ mov ecx,DWORD[56+rdi]=0D
+ mov r11,QWORD[40+rdi]=0D
+ cmp ecx,edx=0D
+ mov r15,QWORD[48+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm5,XMMWORD[64+rdi]=0D
+ mov DWORD[44+rsp],ecx=0D
+ cmovle r11,rsp=0D
+ test edx,edx=0D
+ jz NEAR $L$enc4x_done=0D
+=0D
+ movups xmm1,XMMWORD[((16-120))+rsi]=0D
+ pxor xmm2,xmm12=0D
+ movups xmm0,XMMWORD[((32-120))+rsi]=0D
+ pxor xmm3,xmm12=0D
+ mov eax,DWORD[((240-120))+rsi]=0D
+ pxor xmm4,xmm12=0D
+ movdqu xmm6,XMMWORD[r8]=0D
+ pxor xmm5,xmm12=0D
+ movdqu xmm7,XMMWORD[r9]=0D
+ pxor xmm2,xmm6=0D
+ movdqu xmm8,XMMWORD[r10]=0D
+ pxor xmm3,xmm7=0D
+ movdqu xmm9,XMMWORD[r11]=0D
+ pxor xmm4,xmm8=0D
+ pxor xmm5,xmm9=0D
+ movdqa xmm10,XMMWORD[32+rsp]=0D
+ xor rbx,rbx=0D
+ jmp NEAR $L$oop_enc4x=0D
+=0D
+ALIGN 32=0D
+$L$oop_enc4x:=0D
+ add rbx,16=0D
+ lea rbp,[16+rsp]=0D
+ mov ecx,1=0D
+ sub rbp,rbx=0D
+=0D
+DB 102,15,56,220,209=0D
+ prefetcht0 [31+rbx*1+r8]=0D
+ prefetcht0 [31+rbx*1+r9]=0D
+DB 102,15,56,220,217=0D
+ prefetcht0 [31+rbx*1+r10]=0D
+ prefetcht0 [31+rbx*1+r10]=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[((48-120))+rsi]=0D
+ cmp ecx,DWORD[32+rsp]=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+ cmovge r8,rbp=0D
+ cmovg r12,rbp=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((-56))+rsi]=0D
+ cmp ecx,DWORD[36+rsp]=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+ cmovge r9,rbp=0D
+ cmovg r13,rbp=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[((-40))+rsi]=0D
+ cmp ecx,DWORD[40+rsp]=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+ cmovge r10,rbp=0D
+ cmovg r14,rbp=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((-24))+rsi]=0D
+ cmp ecx,DWORD[44+rsp]=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+ cmovge r11,rbp=0D
+ cmovg r15,rbp=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[((-8))+rsi]=0D
+ movdqa xmm11,xmm10=0D
+DB 102,15,56,220,208=0D
+ prefetcht0 [15+rbx*1+r12]=0D
+ prefetcht0 [15+rbx*1+r13]=0D
+DB 102,15,56,220,216=0D
+ prefetcht0 [15+rbx*1+r14]=0D
+ prefetcht0 [15+rbx*1+r15]=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((128-120))+rsi]=0D
+ pxor xmm12,xmm12=0D
+=0D
+DB 102,15,56,220,209=0D
+ pcmpgtd xmm11,xmm12=0D
+ movdqu xmm12,XMMWORD[((-120))+rsi]=0D
+DB 102,15,56,220,217=0D
+ paddd xmm10,xmm11=0D
+ movdqa XMMWORD[32+rsp],xmm10=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[((144-120))+rsi]=0D
+=0D
+ cmp eax,11=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((160-120))+rsi]=0D
+=0D
+ jb NEAR $L$enc4x_tail=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[((176-120))+rsi]=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((192-120))+rsi]=0D
+=0D
+ je NEAR $L$enc4x_tail=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[((208-120))+rsi]=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((224-120))+rsi]=0D
+ jmp NEAR $L$enc4x_tail=0D
+=0D
+ALIGN 32=0D
+$L$enc4x_tail:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movdqu xmm6,XMMWORD[rbx*1+r8]=0D
+ movdqu xmm1,XMMWORD[((16-120))+rsi]=0D
+=0D
+DB 102,15,56,221,208=0D
+ movdqu xmm7,XMMWORD[rbx*1+r9]=0D
+ pxor xmm6,xmm12=0D
+DB 102,15,56,221,216=0D
+ movdqu xmm8,XMMWORD[rbx*1+r10]=0D
+ pxor xmm7,xmm12=0D
+DB 102,15,56,221,224=0D
+ movdqu xmm9,XMMWORD[rbx*1+r11]=0D
+ pxor xmm8,xmm12=0D
+DB 102,15,56,221,232=0D
+ movdqu xmm0,XMMWORD[((32-120))+rsi]=0D
+ pxor xmm9,xmm12=0D
+=0D
+ movups XMMWORD[(-16)+rbx*1+r12],xmm2=0D
+ pxor xmm2,xmm6=0D
+ movups XMMWORD[(-16)+rbx*1+r13],xmm3=0D
+ pxor xmm3,xmm7=0D
+ movups XMMWORD[(-16)+rbx*1+r14],xmm4=0D
+ pxor xmm4,xmm8=0D
+ movups XMMWORD[(-16)+rbx*1+r15],xmm5=0D
+ pxor xmm5,xmm9=0D
+=0D
+ dec edx=0D
+ jnz NEAR $L$oop_enc4x=0D
+=0D
+ mov rax,QWORD[16+rsp]=0D
+=0D
+ mov edx,DWORD[24+rsp]=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ lea rdi,[160+rdi]=0D
+ dec edx=0D
+ jnz NEAR $L$enc4x_loop_grande=0D
+=0D
+$L$enc4x_done:=0D
+ movaps xmm6,XMMWORD[((-216))+rax]=0D
+ movaps xmm7,XMMWORD[((-200))+rax]=0D
+ movaps xmm8,XMMWORD[((-184))+rax]=0D
+ movaps xmm9,XMMWORD[((-168))+rax]=0D
+ movaps xmm10,XMMWORD[((-152))+rax]=0D
+ movaps xmm11,XMMWORD[((-136))+rax]=0D
+ movaps xmm12,XMMWORD[((-120))+rax]=0D
+=0D
+=0D
+=0D
+ mov r15,QWORD[((-48))+rax]=0D
+=0D
+ mov r14,QWORD[((-40))+rax]=0D
+=0D
+ mov r13,QWORD[((-32))+rax]=0D
+=0D
+ mov r12,QWORD[((-24))+rax]=0D
+=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+=0D
+ lea rsp,[rax]=0D
+=0D
+$L$enc4x_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_multi_cbc_encrypt:=0D
+=0D
+global aesni_multi_cbc_decrypt=0D
+=0D
+ALIGN 32=0D
+aesni_multi_cbc_decrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_multi_cbc_decrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ mov rax,rsp=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ push r15=0D
+=0D
+ lea rsp,[((-168))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+ movaps XMMWORD[64+rsp],xmm10=0D
+ movaps XMMWORD[80+rsp],xmm11=0D
+ movaps XMMWORD[96+rsp],xmm12=0D
+ movaps XMMWORD[(-104)+rax],xmm13=0D
+ movaps XMMWORD[(-88)+rax],xmm14=0D
+ movaps XMMWORD[(-72)+rax],xmm15=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ sub rsp,48=0D
+ and rsp,-64=0D
+ mov QWORD[16+rsp],rax=0D
+=0D
+=0D
+$L$dec4x_body:=0D
+ movdqu xmm12,XMMWORD[rsi]=0D
+ lea rsi,[120+rsi]=0D
+ lea rdi,[80+rdi]=0D
+=0D
+$L$dec4x_loop_grande:=0D
+ mov DWORD[24+rsp],edx=0D
+ xor edx,edx=0D
+ mov ecx,DWORD[((-64))+rdi]=0D
+ mov r8,QWORD[((-80))+rdi]=0D
+ cmp ecx,edx=0D
+ mov r12,QWORD[((-72))+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm6,XMMWORD[((-56))+rdi]=0D
+ mov DWORD[32+rsp],ecx=0D
+ cmovle r8,rsp=0D
+ mov ecx,DWORD[((-24))+rdi]=0D
+ mov r9,QWORD[((-40))+rdi]=0D
+ cmp ecx,edx=0D
+ mov r13,QWORD[((-32))+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm7,XMMWORD[((-16))+rdi]=0D
+ mov DWORD[36+rsp],ecx=0D
+ cmovle r9,rsp=0D
+ mov ecx,DWORD[16+rdi]=0D
+ mov r10,QWORD[rdi]=0D
+ cmp ecx,edx=0D
+ mov r14,QWORD[8+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm8,XMMWORD[24+rdi]=0D
+ mov DWORD[40+rsp],ecx=0D
+ cmovle r10,rsp=0D
+ mov ecx,DWORD[56+rdi]=0D
+ mov r11,QWORD[40+rdi]=0D
+ cmp ecx,edx=0D
+ mov r15,QWORD[48+rdi]=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ movdqu xmm9,XMMWORD[64+rdi]=0D
+ mov DWORD[44+rsp],ecx=0D
+ cmovle r11,rsp=0D
+ test edx,edx=0D
+ jz NEAR $L$dec4x_done=0D
+=0D
+ movups xmm1,XMMWORD[((16-120))+rsi]=0D
+ movups xmm0,XMMWORD[((32-120))+rsi]=0D
+ mov eax,DWORD[((240-120))+rsi]=0D
+ movdqu xmm2,XMMWORD[r8]=0D
+ movdqu xmm3,XMMWORD[r9]=0D
+ pxor xmm2,xmm12=0D
+ movdqu xmm4,XMMWORD[r10]=0D
+ pxor xmm3,xmm12=0D
+ movdqu xmm5,XMMWORD[r11]=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm5,xmm12=0D
+ movdqa xmm10,XMMWORD[32+rsp]=0D
+ xor rbx,rbx=0D
+ jmp NEAR $L$oop_dec4x=0D
+=0D
+ALIGN 32=0D
+$L$oop_dec4x:=0D
+ add rbx,16=0D
+ lea rbp,[16+rsp]=0D
+ mov ecx,1=0D
+ sub rbp,rbx=0D
+=0D
+DB 102,15,56,222,209=0D
+ prefetcht0 [31+rbx*1+r8]=0D
+ prefetcht0 [31+rbx*1+r9]=0D
+DB 102,15,56,222,217=0D
+ prefetcht0 [31+rbx*1+r10]=0D
+ prefetcht0 [31+rbx*1+r11]=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[((48-120))+rsi]=0D
+ cmp ecx,DWORD[32+rsp]=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+ cmovge r8,rbp=0D
+ cmovg r12,rbp=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((-56))+rsi]=0D
+ cmp ecx,DWORD[36+rsp]=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+ cmovge r9,rbp=0D
+ cmovg r13,rbp=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[((-40))+rsi]=0D
+ cmp ecx,DWORD[40+rsp]=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+ cmovge r10,rbp=0D
+ cmovg r14,rbp=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((-24))+rsi]=0D
+ cmp ecx,DWORD[44+rsp]=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+ cmovge r11,rbp=0D
+ cmovg r15,rbp=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[((-8))+rsi]=0D
+ movdqa xmm11,xmm10=0D
+DB 102,15,56,222,208=0D
+ prefetcht0 [15+rbx*1+r12]=0D
+ prefetcht0 [15+rbx*1+r13]=0D
+DB 102,15,56,222,216=0D
+ prefetcht0 [15+rbx*1+r14]=0D
+ prefetcht0 [15+rbx*1+r15]=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((128-120))+rsi]=0D
+ pxor xmm12,xmm12=0D
+=0D
+DB 102,15,56,222,209=0D
+ pcmpgtd xmm11,xmm12=0D
+ movdqu xmm12,XMMWORD[((-120))+rsi]=0D
+DB 102,15,56,222,217=0D
+ paddd xmm10,xmm11=0D
+ movdqa XMMWORD[32+rsp],xmm10=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[((144-120))+rsi]=0D
+=0D
+ cmp eax,11=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((160-120))+rsi]=0D
+=0D
+ jb NEAR $L$dec4x_tail=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[((176-120))+rsi]=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((192-120))+rsi]=0D
+=0D
+ je NEAR $L$dec4x_tail=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[((208-120))+rsi]=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((224-120))+rsi]=0D
+ jmp NEAR $L$dec4x_tail=0D
+=0D
+ALIGN 32=0D
+$L$dec4x_tail:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+ pxor xmm6,xmm0=0D
+ pxor xmm7,xmm0=0D
+DB 102,15,56,222,233=0D
+ movdqu xmm1,XMMWORD[((16-120))+rsi]=0D
+ pxor xmm8,xmm0=0D
+ pxor xmm9,xmm0=0D
+ movdqu xmm0,XMMWORD[((32-120))+rsi]=0D
+=0D
+DB 102,15,56,223,214=0D
+DB 102,15,56,223,223=0D
+ movdqu xmm6,XMMWORD[((-16))+rbx*1+r8]=0D
+ movdqu xmm7,XMMWORD[((-16))+rbx*1+r9]=0D
+DB 102,65,15,56,223,224=0D
+DB 102,65,15,56,223,233=0D
+ movdqu xmm8,XMMWORD[((-16))+rbx*1+r10]=0D
+ movdqu xmm9,XMMWORD[((-16))+rbx*1+r11]=0D
+=0D
+ movups XMMWORD[(-16)+rbx*1+r12],xmm2=0D
+ movdqu xmm2,XMMWORD[rbx*1+r8]=0D
+ movups XMMWORD[(-16)+rbx*1+r13],xmm3=0D
+ movdqu xmm3,XMMWORD[rbx*1+r9]=0D
+ pxor xmm2,xmm12=0D
+ movups XMMWORD[(-16)+rbx*1+r14],xmm4=0D
+ movdqu xmm4,XMMWORD[rbx*1+r10]=0D
+ pxor xmm3,xmm12=0D
+ movups XMMWORD[(-16)+rbx*1+r15],xmm5=0D
+ movdqu xmm5,XMMWORD[rbx*1+r11]=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm5,xmm12=0D
+=0D
+ dec edx=0D
+ jnz NEAR $L$oop_dec4x=0D
+=0D
+ mov rax,QWORD[16+rsp]=0D
+=0D
+ mov edx,DWORD[24+rsp]=0D
+=0D
+ lea rdi,[160+rdi]=0D
+ dec edx=0D
+ jnz NEAR $L$dec4x_loop_grande=0D
+=0D
+$L$dec4x_done:=0D
+ movaps xmm6,XMMWORD[((-216))+rax]=0D
+ movaps xmm7,XMMWORD[((-200))+rax]=0D
+ movaps xmm8,XMMWORD[((-184))+rax]=0D
+ movaps xmm9,XMMWORD[((-168))+rax]=0D
+ movaps xmm10,XMMWORD[((-152))+rax]=0D
+ movaps xmm11,XMMWORD[((-136))+rax]=0D
+ movaps xmm12,XMMWORD[((-120))+rax]=0D
+=0D
+=0D
+=0D
+ mov r15,QWORD[((-48))+rax]=0D
+=0D
+ mov r14,QWORD[((-40))+rax]=0D
+=0D
+ mov r13,QWORD[((-32))+rax]=0D
+=0D
+ mov r12,QWORD[((-24))+rax]=0D
+=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+=0D
+ lea rsp,[rax]=0D
+=0D
+$L$dec4x_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_multi_cbc_decrypt:=0D
+EXTERN __imp_RtlVirtualUnwind=0D
+=0D
+ALIGN 16=0D
+se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$in_prologue=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$in_prologue=0D
+=0D
+ mov rax,QWORD[16+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+ mov r12,QWORD[((-24))+rax]=0D
+ mov r13,QWORD[((-32))+rax]=0D
+ mov r14,QWORD[((-40))+rax]=0D
+ mov r15,QWORD[((-48))+rax]=0D
+ mov QWORD[144+r8],rbx=0D
+ mov QWORD[160+r8],rbp=0D
+ mov QWORD[216+r8],r12=0D
+ mov QWORD[224+r8],r13=0D
+ mov QWORD[232+r8],r14=0D
+ mov QWORD[240+r8],r15=0D
+=0D
+ lea rsi,[((-56-160))+rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+=0D
+$L$in_prologue:=0D
+ mov rdi,QWORD[8+rax]=0D
+ mov rsi,QWORD[16+rax]=0D
+ mov QWORD[152+r8],rax=0D
+ mov QWORD[168+r8],rsi=0D
+ mov QWORD[176+r8],rdi=0D
+=0D
+ mov rdi,QWORD[40+r9]=0D
+ mov rsi,r8=0D
+ mov ecx,154=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rsi,r9=0D
+ xor rcx,rcx=0D
+ mov rdx,QWORD[8+rsi]=0D
+ mov r8,QWORD[rsi]=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov r10,QWORD[40+rsi]=0D
+ lea r11,[56+rsi]=0D
+ lea r12,[24+rsi]=0D
+ mov QWORD[32+rsp],r10=0D
+ mov QWORD[40+rsp],r11=0D
+ mov QWORD[48+rsp],r12=0D
+ mov QWORD[56+rsp],rcx=0D
+ call QWORD[__imp_RtlVirtualUnwind]=0D
+=0D
+ mov eax,1=0D
+ add rsp,64=0D
+ popfq=0D
+ pop r15=0D
+ pop r14=0D
+ pop r13=0D
+ pop r12=0D
+ pop rbp=0D
+ pop rbx=0D
+ pop rdi=0D
+ pop rsi=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+section .pdata rdata align=3D4=0D
+ALIGN 4=0D
+ DD $L$SEH_begin_aesni_multi_cbc_encrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_multi_cbc_encrypt wrt ..imagebase=0D
+ DD $L$SEH_info_aesni_multi_cbc_encrypt wrt ..imagebase=0D
+ DD $L$SEH_begin_aesni_multi_cbc_decrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_multi_cbc_decrypt wrt ..imagebase=0D
+ DD $L$SEH_info_aesni_multi_cbc_decrypt wrt ..imagebase=0D
+section .xdata rdata align=3D8=0D
+ALIGN 8=0D
+$L$SEH_info_aesni_multi_cbc_encrypt:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$enc4x_body wrt ..imagebase,$L$enc4x_epilogue wrt ..imag=
ebase=0D
+$L$SEH_info_aesni_multi_cbc_decrypt:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$dec4x_body wrt ..imagebase,$L$dec4x_epilogue wrt ..imag=
ebase=0D
diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.=
nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm
new file mode 100644
index 0000000000..f4fd9ca50d
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm
@@ -0,0 +1,1916 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/aes/asm/aesni-sha1-x86_64.pl=0D
+;=0D
+; Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+EXTERN OPENSSL_ia32cap_P=0D
+=0D
+global aesni_cbc_sha1_enc=0D
+=0D
+ALIGN 32=0D
+aesni_cbc_sha1_enc:=0D
+=0D
+=0D
+ mov r10d,DWORD[((OPENSSL_ia32cap_P+0))]=0D
+ mov r11,QWORD[((OPENSSL_ia32cap_P+4))]=0D
+ bt r11,61=0D
+ jc NEAR aesni_cbc_sha1_enc_shaext=0D
+ jmp NEAR aesni_cbc_sha1_enc_ssse3=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 32=0D
+aesni_cbc_sha1_enc_ssse3:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_cbc_sha1_enc_ssse3:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ mov r10,QWORD[56+rsp]=0D
+=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ push r15=0D
+=0D
+ lea rsp,[((-264))+rsp]=0D
+=0D
+=0D
+=0D
+ movaps XMMWORD[(96+0)+rsp],xmm6=0D
+ movaps XMMWORD[(96+16)+rsp],xmm7=0D
+ movaps XMMWORD[(96+32)+rsp],xmm8=0D
+ movaps XMMWORD[(96+48)+rsp],xmm9=0D
+ movaps XMMWORD[(96+64)+rsp],xmm10=0D
+ movaps XMMWORD[(96+80)+rsp],xmm11=0D
+ movaps XMMWORD[(96+96)+rsp],xmm12=0D
+ movaps XMMWORD[(96+112)+rsp],xmm13=0D
+ movaps XMMWORD[(96+128)+rsp],xmm14=0D
+ movaps XMMWORD[(96+144)+rsp],xmm15=0D
+$L$prologue_ssse3:=0D
+ mov r12,rdi=0D
+ mov r13,rsi=0D
+ mov r14,rdx=0D
+ lea r15,[112+rcx]=0D
+ movdqu xmm2,XMMWORD[r8]=0D
+ mov QWORD[88+rsp],r8=0D
+ shl r14,6=0D
+ sub r13,r12=0D
+ mov r8d,DWORD[((240-112))+r15]=0D
+ add r14,r10=0D
+=0D
+ lea r11,[K_XX_XX]=0D
+ mov eax,DWORD[r9]=0D
+ mov ebx,DWORD[4+r9]=0D
+ mov ecx,DWORD[8+r9]=0D
+ mov edx,DWORD[12+r9]=0D
+ mov esi,ebx=0D
+ mov ebp,DWORD[16+r9]=0D
+ mov edi,ecx=0D
+ xor edi,edx=0D
+ and esi,edi=0D
+=0D
+ movdqa xmm3,XMMWORD[64+r11]=0D
+ movdqa xmm13,XMMWORD[r11]=0D
+ movdqu xmm4,XMMWORD[r10]=0D
+ movdqu xmm5,XMMWORD[16+r10]=0D
+ movdqu xmm6,XMMWORD[32+r10]=0D
+ movdqu xmm7,XMMWORD[48+r10]=0D
+DB 102,15,56,0,227=0D
+DB 102,15,56,0,235=0D
+DB 102,15,56,0,243=0D
+ add r10,64=0D
+ paddd xmm4,xmm13=0D
+DB 102,15,56,0,251=0D
+ paddd xmm5,xmm13=0D
+ paddd xmm6,xmm13=0D
+ movdqa XMMWORD[rsp],xmm4=0D
+ psubd xmm4,xmm13=0D
+ movdqa XMMWORD[16+rsp],xmm5=0D
+ psubd xmm5,xmm13=0D
+ movdqa XMMWORD[32+rsp],xmm6=0D
+ psubd xmm6,xmm13=0D
+ movups xmm15,XMMWORD[((-112))+r15]=0D
+ movups xmm0,XMMWORD[((16-112))+r15]=0D
+ jmp NEAR $L$oop_ssse3=0D
+ALIGN 32=0D
+$L$oop_ssse3:=0D
+ ror ebx,2=0D
+ movups xmm14,XMMWORD[r12]=0D
+ xorps xmm14,xmm15=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+r15]=0D
+DB 102,15,56,220,208=0D
+ pshufd xmm8,xmm4,238=0D
+ xor esi,edx=0D
+ movdqa xmm12,xmm7=0D
+ paddd xmm13,xmm7=0D
+ mov edi,eax=0D
+ add ebp,DWORD[rsp]=0D
+ punpcklqdq xmm8,xmm5=0D
+ xor ebx,ecx=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ psrldq xmm12,4=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ pxor xmm8,xmm4=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ pxor xmm12,xmm6=0D
+ xor edi,ecx=0D
+ mov esi,ebp=0D
+ add edx,DWORD[4+rsp]=0D
+ pxor xmm8,xmm12=0D
+ xor eax,ebx=0D
+ rol ebp,5=0D
+ movdqa XMMWORD[48+rsp],xmm13=0D
+ add edx,edi=0D
+ movups xmm0,XMMWORD[((-64))+r15]=0D
+DB 102,15,56,220,209=0D
+ and esi,eax=0D
+ movdqa xmm3,xmm8=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ ror ebp,7=0D
+ movdqa xmm12,xmm8=0D
+ xor esi,ebx=0D
+ pslldq xmm3,12=0D
+ paddd xmm8,xmm8=0D
+ mov edi,edx=0D
+ add ecx,DWORD[8+rsp]=0D
+ psrld xmm12,31=0D
+ xor ebp,eax=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movdqa xmm13,xmm3=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ psrld xmm3,30=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ por xmm8,xmm12=0D
+ xor edi,eax=0D
+ mov esi,ecx=0D
+ add ebx,DWORD[12+rsp]=0D
+ movups xmm1,XMMWORD[((-48))+r15]=0D
+DB 102,15,56,220,208=0D
+ pslld xmm13,2=0D
+ pxor xmm8,xmm3=0D
+ xor edx,ebp=0D
+ movdqa xmm3,XMMWORD[r11]=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ and esi,edx=0D
+ pxor xmm8,xmm13=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ ror ecx,7=0D
+ pshufd xmm9,xmm5,238=0D
+ xor esi,ebp=0D
+ movdqa xmm13,xmm8=0D
+ paddd xmm3,xmm8=0D
+ mov edi,ebx=0D
+ add eax,DWORD[16+rsp]=0D
+ punpcklqdq xmm9,xmm6=0D
+ xor ecx,edx=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ psrldq xmm13,4=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ pxor xmm9,xmm5=0D
+ add eax,ebx=0D
+ ror ebx,7=0D
+ movups xmm0,XMMWORD[((-32))+r15]=0D
+DB 102,15,56,220,209=0D
+ pxor xmm13,xmm7=0D
+ xor edi,edx=0D
+ mov esi,eax=0D
+ add ebp,DWORD[20+rsp]=0D
+ pxor xmm9,xmm13=0D
+ xor ebx,ecx=0D
+ rol eax,5=0D
+ movdqa XMMWORD[rsp],xmm3=0D
+ add ebp,edi=0D
+ and esi,ebx=0D
+ movdqa xmm12,xmm9=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ movdqa xmm13,xmm9=0D
+ xor esi,ecx=0D
+ pslldq xmm12,12=0D
+ paddd xmm9,xmm9=0D
+ mov edi,ebp=0D
+ add edx,DWORD[24+rsp]=0D
+ psrld xmm13,31=0D
+ xor eax,ebx=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ movups xmm1,XMMWORD[((-16))+r15]=0D
+DB 102,15,56,220,208=0D
+ movdqa xmm3,xmm12=0D
+ and edi,eax=0D
+ xor eax,ebx=0D
+ psrld xmm12,30=0D
+ add edx,ebp=0D
+ ror ebp,7=0D
+ por xmm9,xmm13=0D
+ xor edi,ebx=0D
+ mov esi,edx=0D
+ add ecx,DWORD[28+rsp]=0D
+ pslld xmm3,2=0D
+ pxor xmm9,xmm12=0D
+ xor ebp,eax=0D
+ movdqa xmm12,XMMWORD[16+r11]=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ and esi,ebp=0D
+ pxor xmm9,xmm3=0D
+ xor ebp,eax=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ pshufd xmm10,xmm6,238=0D
+ xor esi,eax=0D
+ movdqa xmm3,xmm9=0D
+ paddd xmm12,xmm9=0D
+ mov edi,ecx=0D
+ add ebx,DWORD[32+rsp]=0D
+ movups xmm0,XMMWORD[r15]=0D
+DB 102,15,56,220,209=0D
+ punpcklqdq xmm10,xmm7=0D
+ xor edx,ebp=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ psrldq xmm3,4=0D
+ and edi,edx=0D
+ xor edx,ebp=0D
+ pxor xmm10,xmm6=0D
+ add ebx,ecx=0D
+ ror ecx,7=0D
+ pxor xmm3,xmm8=0D
+ xor edi,ebp=0D
+ mov esi,ebx=0D
+ add eax,DWORD[36+rsp]=0D
+ pxor xmm10,xmm3=0D
+ xor ecx,edx=0D
+ rol ebx,5=0D
+ movdqa XMMWORD[16+rsp],xmm12=0D
+ add eax,edi=0D
+ and esi,ecx=0D
+ movdqa xmm13,xmm10=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ ror ebx,7=0D
+ movups xmm1,XMMWORD[16+r15]=0D
+DB 102,15,56,220,208=0D
+ movdqa xmm3,xmm10=0D
+ xor esi,edx=0D
+ pslldq xmm13,12=0D
+ paddd xmm10,xmm10=0D
+ mov edi,eax=0D
+ add ebp,DWORD[40+rsp]=0D
+ psrld xmm3,31=0D
+ xor ebx,ecx=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ movdqa xmm12,xmm13=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ psrld xmm13,30=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ por xmm10,xmm3=0D
+ xor edi,ecx=0D
+ mov esi,ebp=0D
+ add edx,DWORD[44+rsp]=0D
+ pslld xmm12,2=0D
+ pxor xmm10,xmm13=0D
+ xor eax,ebx=0D
+ movdqa xmm13,XMMWORD[16+r11]=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ movups xmm0,XMMWORD[32+r15]=0D
+DB 102,15,56,220,209=0D
+ and esi,eax=0D
+ pxor xmm10,xmm12=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ ror ebp,7=0D
+ pshufd xmm11,xmm7,238=0D
+ xor esi,ebx=0D
+ movdqa xmm12,xmm10=0D
+ paddd xmm13,xmm10=0D
+ mov edi,edx=0D
+ add ecx,DWORD[48+rsp]=0D
+ punpcklqdq xmm11,xmm8=0D
+ xor ebp,eax=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ psrldq xmm12,4=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ pxor xmm11,xmm7=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ pxor xmm12,xmm9=0D
+ xor edi,eax=0D
+ mov esi,ecx=0D
+ add ebx,DWORD[52+rsp]=0D
+ movups xmm1,XMMWORD[48+r15]=0D
+DB 102,15,56,220,208=0D
+ pxor xmm11,xmm12=0D
+ xor edx,ebp=0D
+ rol ecx,5=0D
+ movdqa XMMWORD[32+rsp],xmm13=0D
+ add ebx,edi=0D
+ and esi,edx=0D
+ movdqa xmm3,xmm11=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ ror ecx,7=0D
+ movdqa xmm12,xmm11=0D
+ xor esi,ebp=0D
+ pslldq xmm3,12=0D
+ paddd xmm11,xmm11=0D
+ mov edi,ebx=0D
+ add eax,DWORD[56+rsp]=0D
+ psrld xmm12,31=0D
+ xor ecx,edx=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ movdqa xmm13,xmm3=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ psrld xmm3,30=0D
+ add eax,ebx=0D
+ ror ebx,7=0D
+ cmp r8d,11=0D
+ jb NEAR $L$aesenclast1=0D
+ movups xmm0,XMMWORD[64+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+r15]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast1=0D
+ movups xmm0,XMMWORD[96+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+r15]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast1:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+r15]=0D
+ por xmm11,xmm12=0D
+ xor edi,edx=0D
+ mov esi,eax=0D
+ add ebp,DWORD[60+rsp]=0D
+ pslld xmm13,2=0D
+ pxor xmm11,xmm3=0D
+ xor ebx,ecx=0D
+ movdqa xmm3,XMMWORD[16+r11]=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ and esi,ebx=0D
+ pxor xmm11,xmm13=0D
+ pshufd xmm13,xmm10,238=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ pxor xmm4,xmm8=0D
+ xor esi,ecx=0D
+ mov edi,ebp=0D
+ add edx,DWORD[rsp]=0D
+ punpcklqdq xmm13,xmm11=0D
+ xor eax,ebx=0D
+ rol ebp,5=0D
+ pxor xmm4,xmm5=0D
+ add edx,esi=0D
+ movups xmm14,XMMWORD[16+r12]=0D
+ xorps xmm14,xmm15=0D
+ movups XMMWORD[r13*1+r12],xmm2=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+r15]=0D
+DB 102,15,56,220,208=0D
+ and edi,eax=0D
+ movdqa xmm12,xmm3=0D
+ xor eax,ebx=0D
+ paddd xmm3,xmm11=0D
+ add edx,ebp=0D
+ pxor xmm4,xmm13=0D
+ ror ebp,7=0D
+ xor edi,ebx=0D
+ mov esi,edx=0D
+ add ecx,DWORD[4+rsp]=0D
+ movdqa xmm13,xmm4=0D
+ xor ebp,eax=0D
+ rol edx,5=0D
+ movdqa XMMWORD[48+rsp],xmm3=0D
+ add ecx,edi=0D
+ and esi,ebp=0D
+ xor ebp,eax=0D
+ pslld xmm4,2=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ psrld xmm13,30=0D
+ xor esi,eax=0D
+ mov edi,ecx=0D
+ add ebx,DWORD[8+rsp]=0D
+ movups xmm0,XMMWORD[((-64))+r15]=0D
+DB 102,15,56,220,209=0D
+ por xmm4,xmm13=0D
+ xor edx,ebp=0D
+ rol ecx,5=0D
+ pshufd xmm3,xmm11,238=0D
+ add ebx,esi=0D
+ and edi,edx=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ add eax,DWORD[12+rsp]=0D
+ xor edi,ebp=0D
+ mov esi,ebx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,edx=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ pxor xmm5,xmm9=0D
+ add ebp,DWORD[16+rsp]=0D
+ movups xmm1,XMMWORD[((-48))+r15]=0D
+DB 102,15,56,220,208=0D
+ xor esi,ecx=0D
+ punpcklqdq xmm3,xmm4=0D
+ mov edi,eax=0D
+ rol eax,5=0D
+ pxor xmm5,xmm6=0D
+ add ebp,esi=0D
+ xor edi,ecx=0D
+ movdqa xmm13,xmm12=0D
+ ror ebx,7=0D
+ paddd xmm12,xmm4=0D
+ add ebp,eax=0D
+ pxor xmm5,xmm3=0D
+ add edx,DWORD[20+rsp]=0D
+ xor edi,ebx=0D
+ mov esi,ebp=0D
+ rol ebp,5=0D
+ movdqa xmm3,xmm5=0D
+ add edx,edi=0D
+ xor esi,ebx=0D
+ movdqa XMMWORD[rsp],xmm12=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ add ecx,DWORD[24+rsp]=0D
+ pslld xmm5,2=0D
+ xor esi,eax=0D
+ mov edi,edx=0D
+ psrld xmm3,30=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movups xmm0,XMMWORD[((-32))+r15]=0D
+DB 102,15,56,220,209=0D
+ xor edi,eax=0D
+ ror ebp,7=0D
+ por xmm5,xmm3=0D
+ add ecx,edx=0D
+ add ebx,DWORD[28+rsp]=0D
+ pshufd xmm12,xmm4,238=0D
+ xor edi,ebp=0D
+ mov esi,ecx=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,ebp=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ pxor xmm6,xmm10=0D
+ add eax,DWORD[32+rsp]=0D
+ xor esi,edx=0D
+ punpcklqdq xmm12,xmm5=0D
+ mov edi,ebx=0D
+ rol ebx,5=0D
+ pxor xmm6,xmm7=0D
+ add eax,esi=0D
+ xor edi,edx=0D
+ movdqa xmm3,XMMWORD[32+r11]=0D
+ ror ecx,7=0D
+ paddd xmm13,xmm5=0D
+ add eax,ebx=0D
+ pxor xmm6,xmm12=0D
+ add ebp,DWORD[36+rsp]=0D
+ movups xmm1,XMMWORD[((-16))+r15]=0D
+DB 102,15,56,220,208=0D
+ xor edi,ecx=0D
+ mov esi,eax=0D
+ rol eax,5=0D
+ movdqa xmm12,xmm6=0D
+ add ebp,edi=0D
+ xor esi,ecx=0D
+ movdqa XMMWORD[16+rsp],xmm13=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ add edx,DWORD[40+rsp]=0D
+ pslld xmm6,2=0D
+ xor esi,ebx=0D
+ mov edi,ebp=0D
+ psrld xmm12,30=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ xor edi,ebx=0D
+ ror eax,7=0D
+ por xmm6,xmm12=0D
+ add edx,ebp=0D
+ add ecx,DWORD[44+rsp]=0D
+ pshufd xmm13,xmm5,238=0D
+ xor edi,eax=0D
+ mov esi,edx=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ movups xmm0,XMMWORD[r15]=0D
+DB 102,15,56,220,209=0D
+ xor esi,eax=0D
+ ror ebp,7=0D
+ add ecx,edx=0D
+ pxor xmm7,xmm11=0D
+ add ebx,DWORD[48+rsp]=0D
+ xor esi,ebp=0D
+ punpcklqdq xmm13,xmm6=0D
+ mov edi,ecx=0D
+ rol ecx,5=0D
+ pxor xmm7,xmm8=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ movdqa xmm12,xmm3=0D
+ ror edx,7=0D
+ paddd xmm3,xmm6=0D
+ add ebx,ecx=0D
+ pxor xmm7,xmm13=0D
+ add eax,DWORD[52+rsp]=0D
+ xor edi,edx=0D
+ mov esi,ebx=0D
+ rol ebx,5=0D
+ movdqa xmm13,xmm7=0D
+ add eax,edi=0D
+ xor esi,edx=0D
+ movdqa XMMWORD[32+rsp],xmm3=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ add ebp,DWORD[56+rsp]=0D
+ movups xmm1,XMMWORD[16+r15]=0D
+DB 102,15,56,220,208=0D
+ pslld xmm7,2=0D
+ xor esi,ecx=0D
+ mov edi,eax=0D
+ psrld xmm13,30=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ xor edi,ecx=0D
+ ror ebx,7=0D
+ por xmm7,xmm13=0D
+ add ebp,eax=0D
+ add edx,DWORD[60+rsp]=0D
+ pshufd xmm3,xmm6,238=0D
+ xor edi,ebx=0D
+ mov esi,ebp=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ xor esi,ebx=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ pxor xmm8,xmm4=0D
+ add ecx,DWORD[rsp]=0D
+ xor esi,eax=0D
+ punpcklqdq xmm3,xmm7=0D
+ mov edi,edx=0D
+ rol edx,5=0D
+ pxor xmm8,xmm9=0D
+ add ecx,esi=0D
+ movups xmm0,XMMWORD[32+r15]=0D
+DB 102,15,56,220,209=0D
+ xor edi,eax=0D
+ movdqa xmm13,xmm12=0D
+ ror ebp,7=0D
+ paddd xmm12,xmm7=0D
+ add ecx,edx=0D
+ pxor xmm8,xmm3=0D
+ add ebx,DWORD[4+rsp]=0D
+ xor edi,ebp=0D
+ mov esi,ecx=0D
+ rol ecx,5=0D
+ movdqa xmm3,xmm8=0D
+ add ebx,edi=0D
+ xor esi,ebp=0D
+ movdqa XMMWORD[48+rsp],xmm12=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ add eax,DWORD[8+rsp]=0D
+ pslld xmm8,2=0D
+ xor esi,edx=0D
+ mov edi,ebx=0D
+ psrld xmm3,30=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ xor edi,edx=0D
+ ror ecx,7=0D
+ por xmm8,xmm3=0D
+ add eax,ebx=0D
+ add ebp,DWORD[12+rsp]=0D
+ movups xmm1,XMMWORD[48+r15]=0D
+DB 102,15,56,220,208=0D
+ pshufd xmm12,xmm7,238=0D
+ xor edi,ecx=0D
+ mov esi,eax=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ecx=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ pxor xmm9,xmm5=0D
+ add edx,DWORD[16+rsp]=0D
+ xor esi,ebx=0D
+ punpcklqdq xmm12,xmm8=0D
+ mov edi,ebp=0D
+ rol ebp,5=0D
+ pxor xmm9,xmm10=0D
+ add edx,esi=0D
+ xor edi,ebx=0D
+ movdqa xmm3,xmm13=0D
+ ror eax,7=0D
+ paddd xmm13,xmm8=0D
+ add edx,ebp=0D
+ pxor xmm9,xmm12=0D
+ add ecx,DWORD[20+rsp]=0D
+ xor edi,eax=0D
+ mov esi,edx=0D
+ rol edx,5=0D
+ movdqa xmm12,xmm9=0D
+ add ecx,edi=0D
+ cmp r8d,11=0D
+ jb NEAR $L$aesenclast2=0D
+ movups xmm0,XMMWORD[64+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+r15]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast2=0D
+ movups xmm0,XMMWORD[96+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+r15]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast2:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+r15]=0D
+ xor esi,eax=0D
+ movdqa XMMWORD[rsp],xmm13=0D
+ ror ebp,7=0D
+ add ecx,edx=0D
+ add ebx,DWORD[24+rsp]=0D
+ pslld xmm9,2=0D
+ xor esi,ebp=0D
+ mov edi,ecx=0D
+ psrld xmm12,30=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ ror edx,7=0D
+ por xmm9,xmm12=0D
+ add ebx,ecx=0D
+ add eax,DWORD[28+rsp]=0D
+ pshufd xmm13,xmm8,238=0D
+ ror ecx,7=0D
+ mov esi,ebx=0D
+ xor edi,edx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,ecx=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ pxor xmm10,xmm6=0D
+ add ebp,DWORD[32+rsp]=0D
+ movups xmm14,XMMWORD[32+r12]=0D
+ xorps xmm14,xmm15=0D
+ movups XMMWORD[16+r12*1+r13],xmm2=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+r15]=0D
+DB 102,15,56,220,208=0D
+ and esi,ecx=0D
+ xor ecx,edx=0D
+ ror ebx,7=0D
+ punpcklqdq xmm13,xmm9=0D
+ mov edi,eax=0D
+ xor esi,ecx=0D
+ pxor xmm10,xmm11=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ movdqa xmm12,xmm3=0D
+ xor edi,ebx=0D
+ paddd xmm3,xmm9=0D
+ xor ebx,ecx=0D
+ pxor xmm10,xmm13=0D
+ add ebp,eax=0D
+ add edx,DWORD[36+rsp]=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ ror eax,7=0D
+ movdqa xmm13,xmm10=0D
+ mov esi,ebp=0D
+ xor edi,ebx=0D
+ movdqa XMMWORD[16+rsp],xmm3=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ movups xmm0,XMMWORD[((-64))+r15]=0D
+DB 102,15,56,220,209=0D
+ xor esi,eax=0D
+ pslld xmm10,2=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ psrld xmm13,30=0D
+ add ecx,DWORD[40+rsp]=0D
+ and esi,eax=0D
+ xor eax,ebx=0D
+ por xmm10,xmm13=0D
+ ror ebp,7=0D
+ mov edi,edx=0D
+ xor esi,eax=0D
+ rol edx,5=0D
+ pshufd xmm3,xmm9,238=0D
+ add ecx,esi=0D
+ xor edi,ebp=0D
+ xor ebp,eax=0D
+ add ecx,edx=0D
+ add ebx,DWORD[44+rsp]=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ ror edx,7=0D
+ movups xmm1,XMMWORD[((-48))+r15]=0D
+DB 102,15,56,220,208=0D
+ mov esi,ecx=0D
+ xor edi,ebp=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,edx=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ pxor xmm11,xmm7=0D
+ add eax,DWORD[48+rsp]=0D
+ and esi,edx=0D
+ xor edx,ebp=0D
+ ror ecx,7=0D
+ punpcklqdq xmm3,xmm10=0D
+ mov edi,ebx=0D
+ xor esi,edx=0D
+ pxor xmm11,xmm4=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ movdqa xmm13,XMMWORD[48+r11]=0D
+ xor edi,ecx=0D
+ paddd xmm12,xmm10=0D
+ xor ecx,edx=0D
+ pxor xmm11,xmm3=0D
+ add eax,ebx=0D
+ add ebp,DWORD[52+rsp]=0D
+ movups xmm0,XMMWORD[((-32))+r15]=0D
+DB 102,15,56,220,209=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ ror ebx,7=0D
+ movdqa xmm3,xmm11=0D
+ mov esi,eax=0D
+ xor edi,ecx=0D
+ movdqa XMMWORD[32+rsp],xmm12=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ebx=0D
+ pslld xmm11,2=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ psrld xmm3,30=0D
+ add edx,DWORD[56+rsp]=0D
+ and esi,ebx=0D
+ xor ebx,ecx=0D
+ por xmm11,xmm3=0D
+ ror eax,7=0D
+ mov edi,ebp=0D
+ xor esi,ebx=0D
+ rol ebp,5=0D
+ pshufd xmm12,xmm10,238=0D
+ add edx,esi=0D
+ movups xmm1,XMMWORD[((-16))+r15]=0D
+DB 102,15,56,220,208=0D
+ xor edi,eax=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ add ecx,DWORD[60+rsp]=0D
+ and edi,eax=0D
+ xor eax,ebx=0D
+ ror ebp,7=0D
+ mov esi,edx=0D
+ xor edi,eax=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ xor esi,ebp=0D
+ xor ebp,eax=0D
+ add ecx,edx=0D
+ pxor xmm4,xmm8=0D
+ add ebx,DWORD[rsp]=0D
+ and esi,ebp=0D
+ xor ebp,eax=0D
+ ror edx,7=0D
+ movups xmm0,XMMWORD[r15]=0D
+DB 102,15,56,220,209=0D
+ punpcklqdq xmm12,xmm11=0D
+ mov edi,ecx=0D
+ xor esi,ebp=0D
+ pxor xmm4,xmm5=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ movdqa xmm3,xmm13=0D
+ xor edi,edx=0D
+ paddd xmm13,xmm11=0D
+ xor edx,ebp=0D
+ pxor xmm4,xmm12=0D
+ add ebx,ecx=0D
+ add eax,DWORD[4+rsp]=0D
+ and edi,edx=0D
+ xor edx,ebp=0D
+ ror ecx,7=0D
+ movdqa xmm12,xmm4=0D
+ mov esi,ebx=0D
+ xor edi,edx=0D
+ movdqa XMMWORD[48+rsp],xmm13=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,ecx=0D
+ pslld xmm4,2=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ psrld xmm12,30=0D
+ add ebp,DWORD[8+rsp]=0D
+ movups xmm1,XMMWORD[16+r15]=0D
+DB 102,15,56,220,208=0D
+ and esi,ecx=0D
+ xor ecx,edx=0D
+ por xmm4,xmm12=0D
+ ror ebx,7=0D
+ mov edi,eax=0D
+ xor esi,ecx=0D
+ rol eax,5=0D
+ pshufd xmm13,xmm11,238=0D
+ add ebp,esi=0D
+ xor edi,ebx=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ add edx,DWORD[12+rsp]=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ ror eax,7=0D
+ mov esi,ebp=0D
+ xor edi,ebx=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ movups xmm0,XMMWORD[32+r15]=0D
+DB 102,15,56,220,209=0D
+ xor esi,eax=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ pxor xmm5,xmm9=0D
+ add ecx,DWORD[16+rsp]=0D
+ and esi,eax=0D
+ xor eax,ebx=0D
+ ror ebp,7=0D
+ punpcklqdq xmm13,xmm4=0D
+ mov edi,edx=0D
+ xor esi,eax=0D
+ pxor xmm5,xmm6=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movdqa xmm12,xmm3=0D
+ xor edi,ebp=0D
+ paddd xmm3,xmm4=0D
+ xor ebp,eax=0D
+ pxor xmm5,xmm13=0D
+ add ecx,edx=0D
+ add ebx,DWORD[20+rsp]=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ ror edx,7=0D
+ movups xmm1,XMMWORD[48+r15]=0D
+DB 102,15,56,220,208=0D
+ movdqa xmm13,xmm5=0D
+ mov esi,ecx=0D
+ xor edi,ebp=0D
+ movdqa XMMWORD[rsp],xmm3=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,edx=0D
+ pslld xmm5,2=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ psrld xmm13,30=0D
+ add eax,DWORD[24+rsp]=0D
+ and esi,edx=0D
+ xor edx,ebp=0D
+ por xmm5,xmm13=0D
+ ror ecx,7=0D
+ mov edi,ebx=0D
+ xor esi,edx=0D
+ rol ebx,5=0D
+ pshufd xmm3,xmm4,238=0D
+ add eax,esi=0D
+ xor edi,ecx=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ add ebp,DWORD[28+rsp]=0D
+ cmp r8d,11=0D
+ jb NEAR $L$aesenclast3=0D
+ movups xmm0,XMMWORD[64+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+r15]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast3=0D
+ movups xmm0,XMMWORD[96+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+r15]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast3:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+r15]=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ ror ebx,7=0D
+ mov esi,eax=0D
+ xor edi,ecx=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ebx=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ pxor xmm6,xmm10=0D
+ add edx,DWORD[32+rsp]=0D
+ and esi,ebx=0D
+ xor ebx,ecx=0D
+ ror eax,7=0D
+ punpcklqdq xmm3,xmm5=0D
+ mov edi,ebp=0D
+ xor esi,ebx=0D
+ pxor xmm6,xmm7=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ movups xmm14,XMMWORD[48+r12]=0D
+ xorps xmm14,xmm15=0D
+ movups XMMWORD[32+r12*1+r13],xmm2=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+r15]=0D
+DB 102,15,56,220,208=0D
+ movdqa xmm13,xmm12=0D
+ xor edi,eax=0D
+ paddd xmm12,xmm5=0D
+ xor eax,ebx=0D
+ pxor xmm6,xmm3=0D
+ add edx,ebp=0D
+ add ecx,DWORD[36+rsp]=0D
+ and edi,eax=0D
+ xor eax,ebx=0D
+ ror ebp,7=0D
+ movdqa xmm3,xmm6=0D
+ mov esi,edx=0D
+ xor edi,eax=0D
+ movdqa XMMWORD[16+rsp],xmm12=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ xor esi,ebp=0D
+ pslld xmm6,2=0D
+ xor ebp,eax=0D
+ add ecx,edx=0D
+ psrld xmm3,30=0D
+ add ebx,DWORD[40+rsp]=0D
+ and esi,ebp=0D
+ xor ebp,eax=0D
+ por xmm6,xmm3=0D
+ ror edx,7=0D
+ movups xmm0,XMMWORD[((-64))+r15]=0D
+DB 102,15,56,220,209=0D
+ mov edi,ecx=0D
+ xor esi,ebp=0D
+ rol ecx,5=0D
+ pshufd xmm12,xmm5,238=0D
+ add ebx,esi=0D
+ xor edi,edx=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ add eax,DWORD[44+rsp]=0D
+ and edi,edx=0D
+ xor edx,ebp=0D
+ ror ecx,7=0D
+ mov esi,ebx=0D
+ xor edi,edx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,edx=0D
+ add eax,ebx=0D
+ pxor xmm7,xmm11=0D
+ add ebp,DWORD[48+rsp]=0D
+ movups xmm1,XMMWORD[((-48))+r15]=0D
+DB 102,15,56,220,208=0D
+ xor esi,ecx=0D
+ punpcklqdq xmm12,xmm6=0D
+ mov edi,eax=0D
+ rol eax,5=0D
+ pxor xmm7,xmm8=0D
+ add ebp,esi=0D
+ xor edi,ecx=0D
+ movdqa xmm3,xmm13=0D
+ ror ebx,7=0D
+ paddd xmm13,xmm6=0D
+ add ebp,eax=0D
+ pxor xmm7,xmm12=0D
+ add edx,DWORD[52+rsp]=0D
+ xor edi,ebx=0D
+ mov esi,ebp=0D
+ rol ebp,5=0D
+ movdqa xmm12,xmm7=0D
+ add edx,edi=0D
+ xor esi,ebx=0D
+ movdqa XMMWORD[32+rsp],xmm13=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ add ecx,DWORD[56+rsp]=0D
+ pslld xmm7,2=0D
+ xor esi,eax=0D
+ mov edi,edx=0D
+ psrld xmm12,30=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movups xmm0,XMMWORD[((-32))+r15]=0D
+DB 102,15,56,220,209=0D
+ xor edi,eax=0D
+ ror ebp,7=0D
+ por xmm7,xmm12=0D
+ add ecx,edx=0D
+ add ebx,DWORD[60+rsp]=0D
+ xor edi,ebp=0D
+ mov esi,ecx=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,ebp=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ add eax,DWORD[rsp]=0D
+ xor esi,edx=0D
+ mov edi,ebx=0D
+ rol ebx,5=0D
+ paddd xmm3,xmm7=0D
+ add eax,esi=0D
+ xor edi,edx=0D
+ movdqa XMMWORD[48+rsp],xmm3=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ add ebp,DWORD[4+rsp]=0D
+ movups xmm1,XMMWORD[((-16))+r15]=0D
+DB 102,15,56,220,208=0D
+ xor edi,ecx=0D
+ mov esi,eax=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ecx=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ add edx,DWORD[8+rsp]=0D
+ xor esi,ebx=0D
+ mov edi,ebp=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ xor edi,ebx=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ add ecx,DWORD[12+rsp]=0D
+ xor edi,eax=0D
+ mov esi,edx=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ movups xmm0,XMMWORD[r15]=0D
+DB 102,15,56,220,209=0D
+ xor esi,eax=0D
+ ror ebp,7=0D
+ add ecx,edx=0D
+ cmp r10,r14=0D
+ je NEAR $L$done_ssse3=0D
+ movdqa xmm3,XMMWORD[64+r11]=0D
+ movdqa xmm13,XMMWORD[r11]=0D
+ movdqu xmm4,XMMWORD[r10]=0D
+ movdqu xmm5,XMMWORD[16+r10]=0D
+ movdqu xmm6,XMMWORD[32+r10]=0D
+ movdqu xmm7,XMMWORD[48+r10]=0D
+DB 102,15,56,0,227=0D
+ add r10,64=0D
+ add ebx,DWORD[16+rsp]=0D
+ xor esi,ebp=0D
+ mov edi,ecx=0D
+DB 102,15,56,0,235=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ ror edx,7=0D
+ paddd xmm4,xmm13=0D
+ add ebx,ecx=0D
+ add eax,DWORD[20+rsp]=0D
+ xor edi,edx=0D
+ mov esi,ebx=0D
+ movdqa XMMWORD[rsp],xmm4=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,edx=0D
+ ror ecx,7=0D
+ psubd xmm4,xmm13=0D
+ add eax,ebx=0D
+ add ebp,DWORD[24+rsp]=0D
+ movups xmm1,XMMWORD[16+r15]=0D
+DB 102,15,56,220,208=0D
+ xor esi,ecx=0D
+ mov edi,eax=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ xor edi,ecx=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ add edx,DWORD[28+rsp]=0D
+ xor edi,ebx=0D
+ mov esi,ebp=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ xor esi,ebx=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ add ecx,DWORD[32+rsp]=0D
+ xor esi,eax=0D
+ mov edi,edx=0D
+DB 102,15,56,0,243=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movups xmm0,XMMWORD[32+r15]=0D
+DB 102,15,56,220,209=0D
+ xor edi,eax=0D
+ ror ebp,7=0D
+ paddd xmm5,xmm13=0D
+ add ecx,edx=0D
+ add ebx,DWORD[36+rsp]=0D
+ xor edi,ebp=0D
+ mov esi,ecx=0D
+ movdqa XMMWORD[16+rsp],xmm5=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,ebp=0D
+ ror edx,7=0D
+ psubd xmm5,xmm13=0D
+ add ebx,ecx=0D
+ add eax,DWORD[40+rsp]=0D
+ xor esi,edx=0D
+ mov edi,ebx=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ xor edi,edx=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ add ebp,DWORD[44+rsp]=0D
+ movups xmm1,XMMWORD[48+r15]=0D
+DB 102,15,56,220,208=0D
+ xor edi,ecx=0D
+ mov esi,eax=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ecx=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ add edx,DWORD[48+rsp]=0D
+ xor esi,ebx=0D
+ mov edi,ebp=0D
+DB 102,15,56,0,251=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ xor edi,ebx=0D
+ ror eax,7=0D
+ paddd xmm6,xmm13=0D
+ add edx,ebp=0D
+ add ecx,DWORD[52+rsp]=0D
+ xor edi,eax=0D
+ mov esi,edx=0D
+ movdqa XMMWORD[32+rsp],xmm6=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ cmp r8d,11=0D
+ jb NEAR $L$aesenclast4=0D
+ movups xmm0,XMMWORD[64+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+r15]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast4=0D
+ movups xmm0,XMMWORD[96+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+r15]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast4:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+r15]=0D
+ xor esi,eax=0D
+ ror ebp,7=0D
+ psubd xmm6,xmm13=0D
+ add ecx,edx=0D
+ add ebx,DWORD[56+rsp]=0D
+ xor esi,ebp=0D
+ mov edi,ecx=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ add eax,DWORD[60+rsp]=0D
+ xor edi,edx=0D
+ mov esi,ebx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ movups XMMWORD[48+r12*1+r13],xmm2=0D
+ lea r12,[64+r12]=0D
+=0D
+ add eax,DWORD[r9]=0D
+ add esi,DWORD[4+r9]=0D
+ add ecx,DWORD[8+r9]=0D
+ add edx,DWORD[12+r9]=0D
+ mov DWORD[r9],eax=0D
+ add ebp,DWORD[16+r9]=0D
+ mov DWORD[4+r9],esi=0D
+ mov ebx,esi=0D
+ mov DWORD[8+r9],ecx=0D
+ mov edi,ecx=0D
+ mov DWORD[12+r9],edx=0D
+ xor edi,edx=0D
+ mov DWORD[16+r9],ebp=0D
+ and esi,edi=0D
+ jmp NEAR $L$oop_ssse3=0D
+=0D
+$L$done_ssse3:=0D
+ add ebx,DWORD[16+rsp]=0D
+ xor esi,ebp=0D
+ mov edi,ecx=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ add eax,DWORD[20+rsp]=0D
+ xor edi,edx=0D
+ mov esi,ebx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,edx=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ add ebp,DWORD[24+rsp]=0D
+ movups xmm1,XMMWORD[16+r15]=0D
+DB 102,15,56,220,208=0D
+ xor esi,ecx=0D
+ mov edi,eax=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ xor edi,ecx=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ add edx,DWORD[28+rsp]=0D
+ xor edi,ebx=0D
+ mov esi,ebp=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ xor esi,ebx=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ add ecx,DWORD[32+rsp]=0D
+ xor esi,eax=0D
+ mov edi,edx=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movups xmm0,XMMWORD[32+r15]=0D
+DB 102,15,56,220,209=0D
+ xor edi,eax=0D
+ ror ebp,7=0D
+ add ecx,edx=0D
+ add ebx,DWORD[36+rsp]=0D
+ xor edi,ebp=0D
+ mov esi,ecx=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,ebp=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ add eax,DWORD[40+rsp]=0D
+ xor esi,edx=0D
+ mov edi,ebx=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ xor edi,edx=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ add ebp,DWORD[44+rsp]=0D
+ movups xmm1,XMMWORD[48+r15]=0D
+DB 102,15,56,220,208=0D
+ xor edi,ecx=0D
+ mov esi,eax=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ecx=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ add edx,DWORD[48+rsp]=0D
+ xor esi,ebx=0D
+ mov edi,ebp=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ xor edi,ebx=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ add ecx,DWORD[52+rsp]=0D
+ xor edi,eax=0D
+ mov esi,edx=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ cmp r8d,11=0D
+ jb NEAR $L$aesenclast5=0D
+ movups xmm0,XMMWORD[64+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+r15]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast5=0D
+ movups xmm0,XMMWORD[96+r15]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+r15]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast5:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+r15]=0D
+ xor esi,eax=0D
+ ror ebp,7=0D
+ add ecx,edx=0D
+ add ebx,DWORD[56+rsp]=0D
+ xor esi,ebp=0D
+ mov edi,ecx=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ add eax,DWORD[60+rsp]=0D
+ xor edi,edx=0D
+ mov esi,ebx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ movups XMMWORD[48+r12*1+r13],xmm2=0D
+ mov r8,QWORD[88+rsp]=0D
+=0D
+ add eax,DWORD[r9]=0D
+ add esi,DWORD[4+r9]=0D
+ add ecx,DWORD[8+r9]=0D
+ mov DWORD[r9],eax=0D
+ add edx,DWORD[12+r9]=0D
+ mov DWORD[4+r9],esi=0D
+ add ebp,DWORD[16+r9]=0D
+ mov DWORD[8+r9],ecx=0D
+ mov DWORD[12+r9],edx=0D
+ mov DWORD[16+r9],ebp=0D
+ movups XMMWORD[r8],xmm2=0D
+ movaps xmm6,XMMWORD[((96+0))+rsp]=0D
+ movaps xmm7,XMMWORD[((96+16))+rsp]=0D
+ movaps xmm8,XMMWORD[((96+32))+rsp]=0D
+ movaps xmm9,XMMWORD[((96+48))+rsp]=0D
+ movaps xmm10,XMMWORD[((96+64))+rsp]=0D
+ movaps xmm11,XMMWORD[((96+80))+rsp]=0D
+ movaps xmm12,XMMWORD[((96+96))+rsp]=0D
+ movaps xmm13,XMMWORD[((96+112))+rsp]=0D
+ movaps xmm14,XMMWORD[((96+128))+rsp]=0D
+ movaps xmm15,XMMWORD[((96+144))+rsp]=0D
+ lea rsi,[264+rsp]=0D
+=0D
+ mov r15,QWORD[rsi]=0D
+=0D
+ mov r14,QWORD[8+rsi]=0D
+=0D
+ mov r13,QWORD[16+rsi]=0D
+=0D
+ mov r12,QWORD[24+rsi]=0D
+=0D
+ mov rbp,QWORD[32+rsi]=0D
+=0D
+ mov rbx,QWORD[40+rsi]=0D
+=0D
+ lea rsp,[48+rsi]=0D
+=0D
+$L$epilogue_ssse3:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_cbc_sha1_enc_ssse3:=0D
+ALIGN 64=0D
+K_XX_XX:=0D
+ DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999=0D
+ DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1=0D
+ DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc=0D
+ DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6=0D
+ DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f=0D
+DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0=0D
+=0D
+DB 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115=0D
+DB 116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52=0D
+DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32=0D
+DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111=0D
+DB 114,103,62,0=0D
+ALIGN 64=0D
+=0D
+ALIGN 32=0D
+aesni_cbc_sha1_enc_shaext:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_cbc_sha1_enc_shaext:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ mov r10,QWORD[56+rsp]=0D
+ lea rsp,[((-168))+rsp]=0D
+ movaps XMMWORD[(-8-160)+rax],xmm6=0D
+ movaps XMMWORD[(-8-144)+rax],xmm7=0D
+ movaps XMMWORD[(-8-128)+rax],xmm8=0D
+ movaps XMMWORD[(-8-112)+rax],xmm9=0D
+ movaps XMMWORD[(-8-96)+rax],xmm10=0D
+ movaps XMMWORD[(-8-80)+rax],xmm11=0D
+ movaps XMMWORD[(-8-64)+rax],xmm12=0D
+ movaps XMMWORD[(-8-48)+rax],xmm13=0D
+ movaps XMMWORD[(-8-32)+rax],xmm14=0D
+ movaps XMMWORD[(-8-16)+rax],xmm15=0D
+$L$prologue_shaext:=0D
+ movdqu xmm8,XMMWORD[r9]=0D
+ movd xmm9,DWORD[16+r9]=0D
+ movdqa xmm7,XMMWORD[((K_XX_XX+80))]=0D
+=0D
+ mov r11d,DWORD[240+rcx]=0D
+ sub rsi,rdi=0D
+ movups xmm15,XMMWORD[rcx]=0D
+ movups xmm2,XMMWORD[r8]=0D
+ movups xmm0,XMMWORD[16+rcx]=0D
+ lea rcx,[112+rcx]=0D
+=0D
+ pshufd xmm8,xmm8,27=0D
+ pshufd xmm9,xmm9,27=0D
+ jmp NEAR $L$oop_shaext=0D
+=0D
+ALIGN 16=0D
+$L$oop_shaext:=0D
+ movups xmm14,XMMWORD[rdi]=0D
+ xorps xmm14,xmm15=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+rcx]=0D
+DB 102,15,56,220,208=0D
+ movdqu xmm3,XMMWORD[r10]=0D
+ movdqa xmm12,xmm9=0D
+DB 102,15,56,0,223=0D
+ movdqu xmm4,XMMWORD[16+r10]=0D
+ movdqa xmm11,xmm8=0D
+ movups xmm0,XMMWORD[((-64))+rcx]=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,0,231=0D
+=0D
+ paddd xmm9,xmm3=0D
+ movdqu xmm5,XMMWORD[32+r10]=0D
+ lea r10,[64+r10]=0D
+ pxor xmm3,xmm12=0D
+ movups xmm1,XMMWORD[((-48))+rcx]=0D
+DB 102,15,56,220,208=0D
+ pxor xmm3,xmm12=0D
+ movdqa xmm10,xmm8=0D
+DB 102,15,56,0,239=0D
+DB 69,15,58,204,193,0=0D
+DB 68,15,56,200,212=0D
+ movups xmm0,XMMWORD[((-32))+rcx]=0D
+DB 102,15,56,220,209=0D
+DB 15,56,201,220=0D
+ movdqu xmm6,XMMWORD[((-16))+r10]=0D
+ movdqa xmm9,xmm8=0D
+DB 102,15,56,0,247=0D
+ movups xmm1,XMMWORD[((-16))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 69,15,58,204,194,0=0D
+DB 68,15,56,200,205=0D
+ pxor xmm3,xmm5=0D
+DB 15,56,201,229=0D
+ movups xmm0,XMMWORD[rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,0=0D
+DB 68,15,56,200,214=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,222=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,0=0D
+DB 68,15,56,200,203=0D
+ movups xmm1,XMMWORD[48+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,227=0D
+ pxor xmm5,xmm3=0D
+DB 15,56,201,243=0D
+ cmp r11d,11=0D
+ jb NEAR $L$aesenclast6=0D
+ movups xmm0,XMMWORD[64+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+rcx]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast6=0D
+ movups xmm0,XMMWORD[96+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+rcx]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast6:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+rcx]=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,0=0D
+DB 68,15,56,200,212=0D
+ movups xmm14,XMMWORD[16+rdi]=0D
+ xorps xmm14,xmm15=0D
+ movups XMMWORD[rdi*1+rsi],xmm2=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,236=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,220=0D
+ movups xmm0,XMMWORD[((-64))+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,1=0D
+DB 68,15,56,200,205=0D
+ movups xmm1,XMMWORD[((-48))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,245=0D
+ pxor xmm3,xmm5=0D
+DB 15,56,201,229=0D
+ movups xmm0,XMMWORD[((-32))+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,1=0D
+DB 68,15,56,200,214=0D
+ movups xmm1,XMMWORD[((-16))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,222=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ movups xmm0,XMMWORD[rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,1=0D
+DB 68,15,56,200,203=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,227=0D
+ pxor xmm5,xmm3=0D
+DB 15,56,201,243=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,1=0D
+DB 68,15,56,200,212=0D
+ movups xmm1,XMMWORD[48+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,236=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,220=0D
+ cmp r11d,11=0D
+ jb NEAR $L$aesenclast7=0D
+ movups xmm0,XMMWORD[64+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+rcx]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast7=0D
+ movups xmm0,XMMWORD[96+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+rcx]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast7:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+rcx]=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,1=0D
+DB 68,15,56,200,205=0D
+ movups xmm14,XMMWORD[32+rdi]=0D
+ xorps xmm14,xmm15=0D
+ movups XMMWORD[16+rdi*1+rsi],xmm2=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,245=0D
+ pxor xmm3,xmm5=0D
+DB 15,56,201,229=0D
+ movups xmm0,XMMWORD[((-64))+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,2=0D
+DB 68,15,56,200,214=0D
+ movups xmm1,XMMWORD[((-48))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,222=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ movups xmm0,XMMWORD[((-32))+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,2=0D
+DB 68,15,56,200,203=0D
+ movups xmm1,XMMWORD[((-16))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,227=0D
+ pxor xmm5,xmm3=0D
+DB 15,56,201,243=0D
+ movups xmm0,XMMWORD[rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,2=0D
+DB 68,15,56,200,212=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,236=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,220=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,2=0D
+DB 68,15,56,200,205=0D
+ movups xmm1,XMMWORD[48+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,245=0D
+ pxor xmm3,xmm5=0D
+DB 15,56,201,229=0D
+ cmp r11d,11=0D
+ jb NEAR $L$aesenclast8=0D
+ movups xmm0,XMMWORD[64+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+rcx]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast8=0D
+ movups xmm0,XMMWORD[96+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+rcx]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast8:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+rcx]=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,2=0D
+DB 68,15,56,200,214=0D
+ movups xmm14,XMMWORD[48+rdi]=0D
+ xorps xmm14,xmm15=0D
+ movups XMMWORD[32+rdi*1+rsi],xmm2=0D
+ xorps xmm2,xmm14=0D
+ movups xmm1,XMMWORD[((-80))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,222=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ movups xmm0,XMMWORD[((-64))+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,3=0D
+DB 68,15,56,200,203=0D
+ movups xmm1,XMMWORD[((-48))+rcx]=0D
+DB 102,15,56,220,208=0D
+DB 15,56,202,227=0D
+ pxor xmm5,xmm3=0D
+DB 15,56,201,243=0D
+ movups xmm0,XMMWORD[((-32))+rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,3=0D
+DB 68,15,56,200,212=0D
+DB 15,56,202,236=0D
+ pxor xmm6,xmm4=0D
+ movups xmm1,XMMWORD[((-16))+rcx]=0D
+DB 102,15,56,220,208=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,3=0D
+DB 68,15,56,200,205=0D
+DB 15,56,202,245=0D
+ movups xmm0,XMMWORD[rcx]=0D
+DB 102,15,56,220,209=0D
+ movdqa xmm5,xmm12=0D
+ movdqa xmm10,xmm8=0D
+DB 69,15,58,204,193,3=0D
+DB 68,15,56,200,214=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+DB 102,15,56,220,208=0D
+ movdqa xmm9,xmm8=0D
+DB 69,15,58,204,194,3=0D
+DB 68,15,56,200,205=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[48+rcx]=0D
+DB 102,15,56,220,208=0D
+ cmp r11d,11=0D
+ jb NEAR $L$aesenclast9=0D
+ movups xmm0,XMMWORD[64+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[80+rcx]=0D
+DB 102,15,56,220,208=0D
+ je NEAR $L$aesenclast9=0D
+ movups xmm0,XMMWORD[96+rcx]=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[112+rcx]=0D
+DB 102,15,56,220,208=0D
+$L$aesenclast9:=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[((16-112))+rcx]=0D
+ dec rdx=0D
+=0D
+ paddd xmm8,xmm11=0D
+ movups XMMWORD[48+rdi*1+rsi],xmm2=0D
+ lea rdi,[64+rdi]=0D
+ jnz NEAR $L$oop_shaext=0D
+=0D
+ pshufd xmm8,xmm8,27=0D
+ pshufd xmm9,xmm9,27=0D
+ movups XMMWORD[r8],xmm2=0D
+ movdqu XMMWORD[r9],xmm8=0D
+ movd DWORD[16+r9],xmm9=0D
+ movaps xmm6,XMMWORD[((-8-160))+rax]=0D
+ movaps xmm7,XMMWORD[((-8-144))+rax]=0D
+ movaps xmm8,XMMWORD[((-8-128))+rax]=0D
+ movaps xmm9,XMMWORD[((-8-112))+rax]=0D
+ movaps xmm10,XMMWORD[((-8-96))+rax]=0D
+ movaps xmm11,XMMWORD[((-8-80))+rax]=0D
+ movaps xmm12,XMMWORD[((-8-64))+rax]=0D
+ movaps xmm13,XMMWORD[((-8-48))+rax]=0D
+ movaps xmm14,XMMWORD[((-8-32))+rax]=0D
+ movaps xmm15,XMMWORD[((-8-16))+rax]=0D
+ mov rsp,rax=0D
+$L$epilogue_shaext:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_cbc_sha1_enc_shaext:=0D
+EXTERN __imp_RtlVirtualUnwind=0D
+=0D
+ALIGN 16=0D
+ssse3_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$common_seh_tail=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$common_seh_tail=0D
+ lea r10,[aesni_cbc_sha1_enc_shaext]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$seh_no_shaext=0D
+=0D
+ lea rsi,[rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+ lea rax,[168+rax]=0D
+ jmp NEAR $L$common_seh_tail=0D
+$L$seh_no_shaext:=0D
+ lea rsi,[96+rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+ lea rax,[264+rax]=0D
+=0D
+ mov r15,QWORD[rax]=0D
+ mov r14,QWORD[8+rax]=0D
+ mov r13,QWORD[16+rax]=0D
+ mov r12,QWORD[24+rax]=0D
+ mov rbp,QWORD[32+rax]=0D
+ mov rbx,QWORD[40+rax]=0D
+ lea rax,[48+rax]=0D
+ mov QWORD[144+r8],rbx=0D
+ mov QWORD[160+r8],rbp=0D
+ mov QWORD[216+r8],r12=0D
+ mov QWORD[224+r8],r13=0D
+ mov QWORD[232+r8],r14=0D
+ mov QWORD[240+r8],r15=0D
+=0D
+$L$common_seh_tail:=0D
+ mov rdi,QWORD[8+rax]=0D
+ mov rsi,QWORD[16+rax]=0D
+ mov QWORD[152+r8],rax=0D
+ mov QWORD[168+r8],rsi=0D
+ mov QWORD[176+r8],rdi=0D
+=0D
+ mov rdi,QWORD[40+r9]=0D
+ mov rsi,r8=0D
+ mov ecx,154=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rsi,r9=0D
+ xor rcx,rcx=0D
+ mov rdx,QWORD[8+rsi]=0D
+ mov r8,QWORD[rsi]=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov r10,QWORD[40+rsi]=0D
+ lea r11,[56+rsi]=0D
+ lea r12,[24+rsi]=0D
+ mov QWORD[32+rsp],r10=0D
+ mov QWORD[40+rsp],r11=0D
+ mov QWORD[48+rsp],r12=0D
+ mov QWORD[56+rsp],rcx=0D
+ call QWORD[__imp_RtlVirtualUnwind]=0D
+=0D
+ mov eax,1=0D
+ add rsp,64=0D
+ popfq=0D
+ pop r15=0D
+ pop r14=0D
+ pop r13=0D
+ pop r12=0D
+ pop rbp=0D
+ pop rbx=0D
+ pop rdi=0D
+ pop rsi=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+section .pdata rdata align=3D4=0D
+ALIGN 4=0D
+ DD $L$SEH_begin_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase=0D
+ DD $L$SEH_info_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase=0D
+ DD $L$SEH_begin_aesni_cbc_sha1_enc_shaext wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_cbc_sha1_enc_shaext wrt ..imagebase=0D
+ DD $L$SEH_info_aesni_cbc_sha1_enc_shaext wrt ..imagebase=0D
+section .xdata rdata align=3D8=0D
+ALIGN 8=0D
+$L$SEH_info_aesni_cbc_sha1_enc_ssse3:=0D
+DB 9,0,0,0=0D
+ DD ssse3_handler wrt ..imagebase=0D
+ DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..=
imagebase=0D
+$L$SEH_info_aesni_cbc_sha1_enc_shaext:=0D
+DB 9,0,0,0=0D
+ DD ssse3_handler wrt ..imagebase=0D
+ DD $L$prologue_shaext wrt ..imagebase,$L$epilogue_shaext wrt =
..imagebase=0D
diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_6=
4.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.na=
sm
new file mode 100644
index 0000000000..f5c250b904
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.nasm
@@ -0,0 +1,78 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/aes/asm/aesni-sha256-x86_64.pl=0D
+;=0D
+; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+=0D
+EXTERN OPENSSL_ia32cap_P=0D
+global aesni_cbc_sha256_enc=0D
+=0D
+ALIGN 16=0D
+aesni_cbc_sha256_enc:=0D
+=0D
+ xor eax,eax=0D
+ cmp rcx,0=0D
+ je NEAR $L$probe=0D
+ ud2=0D
+$L$probe:=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 64=0D
+=0D
+K256:=0D
+ DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5=0D
+ DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5=0D
+ DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5=0D
+ DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5=0D
+ DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3=0D
+ DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3=0D
+ DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174=0D
+ DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174=0D
+ DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc=0D
+ DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc=0D
+ DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da=0D
+ DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da=0D
+ DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7=0D
+ DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7=0D
+ DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967=0D
+ DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967=0D
+ DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13=0D
+ DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13=0D
+ DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85=0D
+ DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85=0D
+ DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3=0D
+ DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3=0D
+ DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070=0D
+ DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070=0D
+ DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5=0D
+ DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5=0D
+ DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3=0D
+ DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3=0D
+ DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208=0D
+ DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208=0D
+ DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2=0D
+ DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2=0D
+=0D
+ DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f=0D
+ DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f=0D
+ DD 0,0,0,0,0,0,0,0,-1,-1,-1,-1=0D
+ DD 0,0,0,0,0,0,0,0=0D
+DB 65,69,83,78,73,45,67,66,67,43,83,72,65,50,53,54=0D
+DB 32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95=0D
+DB 54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98=0D
+DB 121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108=0D
+DB 46,111,114,103,62,0=0D
+ALIGN 64=0D
diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm =
b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm
new file mode 100644
index 0000000000..57ee23ea8c
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm
@@ -0,0 +1,5103 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/aes/asm/aesni-x86_64.pl=0D
+;=0D
+; Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+EXTERN OPENSSL_ia32cap_P=0D
+global aesni_encrypt=0D
+=0D
+ALIGN 16=0D
+aesni_encrypt:=0D
+=0D
+ movups xmm2,XMMWORD[rcx]=0D
+ mov eax,DWORD[240+r8]=0D
+ movups xmm0,XMMWORD[r8]=0D
+ movups xmm1,XMMWORD[16+r8]=0D
+ lea r8,[32+r8]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_1:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[r8]=0D
+ lea r8,[16+r8]=0D
+ jnz NEAR $L$oop_enc1_1=0D
+DB 102,15,56,221,209=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ movups XMMWORD[rdx],xmm2=0D
+ pxor xmm2,xmm2=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+global aesni_decrypt=0D
+=0D
+ALIGN 16=0D
+aesni_decrypt:=0D
+=0D
+ movups xmm2,XMMWORD[rcx]=0D
+ mov eax,DWORD[240+r8]=0D
+ movups xmm0,XMMWORD[r8]=0D
+ movups xmm1,XMMWORD[16+r8]=0D
+ lea r8,[32+r8]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_dec1_2:=0D
+DB 102,15,56,222,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[r8]=0D
+ lea r8,[16+r8]=0D
+ jnz NEAR $L$oop_dec1_2=0D
+DB 102,15,56,223,209=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ movups XMMWORD[rdx],xmm2=0D
+ pxor xmm2,xmm2=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_encrypt2:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+ add rax,16=0D
+=0D
+$L$enc_loop2:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$enc_loop2=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,221,208=0D
+DB 102,15,56,221,216=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_decrypt2:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+ add rax,16=0D
+=0D
+$L$dec_loop2:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$dec_loop2=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,223,208=0D
+DB 102,15,56,223,216=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_encrypt3:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ xorps xmm4,xmm0=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+ add rax,16=0D
+=0D
+$L$enc_loop3:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$enc_loop3=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,221,208=0D
+DB 102,15,56,221,216=0D
+DB 102,15,56,221,224=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_decrypt3:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ xorps xmm4,xmm0=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+ add rax,16=0D
+=0D
+$L$dec_loop3:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$dec_loop3=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,223,208=0D
+DB 102,15,56,223,216=0D
+DB 102,15,56,223,224=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_encrypt4:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ xorps xmm4,xmm0=0D
+ xorps xmm5,xmm0=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+DB 0x0f,0x1f,0x00=0D
+ add rax,16=0D
+=0D
+$L$enc_loop4:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$enc_loop4=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,221,208=0D
+DB 102,15,56,221,216=0D
+DB 102,15,56,221,224=0D
+DB 102,15,56,221,232=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_decrypt4:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ xorps xmm4,xmm0=0D
+ xorps xmm5,xmm0=0D
+ movups xmm0,XMMWORD[32+rcx]=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+DB 0x0f,0x1f,0x00=0D
+ add rax,16=0D
+=0D
+$L$dec_loop4:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$dec_loop4=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,223,208=0D
+DB 102,15,56,223,216=0D
+DB 102,15,56,223,224=0D
+DB 102,15,56,223,232=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_encrypt6:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ pxor xmm3,xmm0=0D
+ pxor xmm4,xmm0=0D
+DB 102,15,56,220,209=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+DB 102,15,56,220,217=0D
+ pxor xmm5,xmm0=0D
+ pxor xmm6,xmm0=0D
+DB 102,15,56,220,225=0D
+ pxor xmm7,xmm0=0D
+ movups xmm0,XMMWORD[rax*1+rcx]=0D
+ add rax,16=0D
+ jmp NEAR $L$enc_loop6_enter=0D
+ALIGN 16=0D
+$L$enc_loop6:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+$L$enc_loop6_enter:=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$enc_loop6=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,15,56,221,208=0D
+DB 102,15,56,221,216=0D
+DB 102,15,56,221,224=0D
+DB 102,15,56,221,232=0D
+DB 102,15,56,221,240=0D
+DB 102,15,56,221,248=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_decrypt6:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ pxor xmm3,xmm0=0D
+ pxor xmm4,xmm0=0D
+DB 102,15,56,222,209=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+DB 102,15,56,222,217=0D
+ pxor xmm5,xmm0=0D
+ pxor xmm6,xmm0=0D
+DB 102,15,56,222,225=0D
+ pxor xmm7,xmm0=0D
+ movups xmm0,XMMWORD[rax*1+rcx]=0D
+ add rax,16=0D
+ jmp NEAR $L$dec_loop6_enter=0D
+ALIGN 16=0D
+$L$dec_loop6:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+$L$dec_loop6_enter:=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$dec_loop6=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,15,56,223,208=0D
+DB 102,15,56,223,216=0D
+DB 102,15,56,223,224=0D
+DB 102,15,56,223,232=0D
+DB 102,15,56,223,240=0D
+DB 102,15,56,223,248=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_encrypt8:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ pxor xmm4,xmm0=0D
+ pxor xmm5,xmm0=0D
+ pxor xmm6,xmm0=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+DB 102,15,56,220,209=0D
+ pxor xmm7,xmm0=0D
+ pxor xmm8,xmm0=0D
+DB 102,15,56,220,217=0D
+ pxor xmm9,xmm0=0D
+ movups xmm0,XMMWORD[rax*1+rcx]=0D
+ add rax,16=0D
+ jmp NEAR $L$enc_loop8_inner=0D
+ALIGN 16=0D
+$L$enc_loop8:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+$L$enc_loop8_inner:=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+$L$enc_loop8_enter:=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+DB 102,68,15,56,220,192=0D
+DB 102,68,15,56,220,200=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$enc_loop8=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+DB 102,15,56,221,208=0D
+DB 102,15,56,221,216=0D
+DB 102,15,56,221,224=0D
+DB 102,15,56,221,232=0D
+DB 102,15,56,221,240=0D
+DB 102,15,56,221,248=0D
+DB 102,68,15,56,221,192=0D
+DB 102,68,15,56,221,200=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_aesni_decrypt8:=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ shl eax,4=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm0=0D
+ pxor xmm4,xmm0=0D
+ pxor xmm5,xmm0=0D
+ pxor xmm6,xmm0=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ neg rax=0D
+DB 102,15,56,222,209=0D
+ pxor xmm7,xmm0=0D
+ pxor xmm8,xmm0=0D
+DB 102,15,56,222,217=0D
+ pxor xmm9,xmm0=0D
+ movups xmm0,XMMWORD[rax*1+rcx]=0D
+ add rax,16=0D
+ jmp NEAR $L$dec_loop8_inner=0D
+ALIGN 16=0D
+$L$dec_loop8:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+$L$dec_loop8_inner:=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+$L$dec_loop8_enter:=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+DB 102,68,15,56,222,192=0D
+DB 102,68,15,56,222,200=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$dec_loop8=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+DB 102,15,56,223,208=0D
+DB 102,15,56,223,216=0D
+DB 102,15,56,223,224=0D
+DB 102,15,56,223,232=0D
+DB 102,15,56,223,240=0D
+DB 102,15,56,223,248=0D
+DB 102,68,15,56,223,192=0D
+DB 102,68,15,56,223,200=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+global aesni_ecb_encrypt=0D
+=0D
+ALIGN 16=0D
+aesni_ecb_encrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_ecb_encrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+=0D
+=0D
+=0D
+ lea rsp,[((-88))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+$L$ecb_enc_body:=0D
+ and rdx,-16=0D
+ jz NEAR $L$ecb_ret=0D
+=0D
+ mov eax,DWORD[240+rcx]=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ mov r11,rcx=0D
+ mov r10d,eax=0D
+ test r8d,r8d=0D
+ jz NEAR $L$ecb_decrypt=0D
+=0D
+ cmp rdx,0x80=0D
+ jb NEAR $L$ecb_enc_tail=0D
+=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ movdqu xmm8,XMMWORD[96+rdi]=0D
+ movdqu xmm9,XMMWORD[112+rdi]=0D
+ lea rdi,[128+rdi]=0D
+ sub rdx,0x80=0D
+ jmp NEAR $L$ecb_enc_loop8_enter=0D
+ALIGN 16=0D
+$L$ecb_enc_loop8:=0D
+ movups XMMWORD[rsi],xmm2=0D
+ mov rcx,r11=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ mov eax,r10d=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ movdqu xmm8,XMMWORD[96+rdi]=0D
+ movups XMMWORD[112+rsi],xmm9=0D
+ lea rsi,[128+rsi]=0D
+ movdqu xmm9,XMMWORD[112+rdi]=0D
+ lea rdi,[128+rdi]=0D
+$L$ecb_enc_loop8_enter:=0D
+=0D
+ call _aesni_encrypt8=0D
+=0D
+ sub rdx,0x80=0D
+ jnc NEAR $L$ecb_enc_loop8=0D
+=0D
+ movups XMMWORD[rsi],xmm2=0D
+ mov rcx,r11=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ mov eax,r10d=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ movups XMMWORD[112+rsi],xmm9=0D
+ lea rsi,[128+rsi]=0D
+ add rdx,0x80=0D
+ jz NEAR $L$ecb_ret=0D
+=0D
+$L$ecb_enc_tail:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ cmp rdx,0x20=0D
+ jb NEAR $L$ecb_enc_one=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ je NEAR $L$ecb_enc_two=0D
+ movups xmm4,XMMWORD[32+rdi]=0D
+ cmp rdx,0x40=0D
+ jb NEAR $L$ecb_enc_three=0D
+ movups xmm5,XMMWORD[48+rdi]=0D
+ je NEAR $L$ecb_enc_four=0D
+ movups xmm6,XMMWORD[64+rdi]=0D
+ cmp rdx,0x60=0D
+ jb NEAR $L$ecb_enc_five=0D
+ movups xmm7,XMMWORD[80+rdi]=0D
+ je NEAR $L$ecb_enc_six=0D
+ movdqu xmm8,XMMWORD[96+rdi]=0D
+ xorps xmm9,xmm9=0D
+ call _aesni_encrypt8=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_enc_one:=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_3:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_enc1_3=0D
+DB 102,15,56,221,209=0D
+ movups XMMWORD[rsi],xmm2=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_enc_two:=0D
+ call _aesni_encrypt2=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_enc_three:=0D
+ call _aesni_encrypt3=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_enc_four:=0D
+ call _aesni_encrypt4=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_enc_five:=0D
+ xorps xmm7,xmm7=0D
+ call _aesni_encrypt6=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_enc_six:=0D
+ call _aesni_encrypt6=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ jmp NEAR $L$ecb_ret=0D
+=0D
+ALIGN 16=0D
+$L$ecb_decrypt:=0D
+ cmp rdx,0x80=0D
+ jb NEAR $L$ecb_dec_tail=0D
+=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ movdqu xmm8,XMMWORD[96+rdi]=0D
+ movdqu xmm9,XMMWORD[112+rdi]=0D
+ lea rdi,[128+rdi]=0D
+ sub rdx,0x80=0D
+ jmp NEAR $L$ecb_dec_loop8_enter=0D
+ALIGN 16=0D
+$L$ecb_dec_loop8:=0D
+ movups XMMWORD[rsi],xmm2=0D
+ mov rcx,r11=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ mov eax,r10d=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ movdqu xmm8,XMMWORD[96+rdi]=0D
+ movups XMMWORD[112+rsi],xmm9=0D
+ lea rsi,[128+rsi]=0D
+ movdqu xmm9,XMMWORD[112+rdi]=0D
+ lea rdi,[128+rdi]=0D
+$L$ecb_dec_loop8_enter:=0D
+=0D
+ call _aesni_decrypt8=0D
+=0D
+ movups xmm0,XMMWORD[r11]=0D
+ sub rdx,0x80=0D
+ jnc NEAR $L$ecb_dec_loop8=0D
+=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ mov rcx,r11=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ mov eax,r10d=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ pxor xmm6,xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ pxor xmm7,xmm7=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ pxor xmm8,xmm8=0D
+ movups XMMWORD[112+rsi],xmm9=0D
+ pxor xmm9,xmm9=0D
+ lea rsi,[128+rsi]=0D
+ add rdx,0x80=0D
+ jz NEAR $L$ecb_ret=0D
+=0D
+$L$ecb_dec_tail:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ cmp rdx,0x20=0D
+ jb NEAR $L$ecb_dec_one=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ je NEAR $L$ecb_dec_two=0D
+ movups xmm4,XMMWORD[32+rdi]=0D
+ cmp rdx,0x40=0D
+ jb NEAR $L$ecb_dec_three=0D
+ movups xmm5,XMMWORD[48+rdi]=0D
+ je NEAR $L$ecb_dec_four=0D
+ movups xmm6,XMMWORD[64+rdi]=0D
+ cmp rdx,0x60=0D
+ jb NEAR $L$ecb_dec_five=0D
+ movups xmm7,XMMWORD[80+rdi]=0D
+ je NEAR $L$ecb_dec_six=0D
+ movups xmm8,XMMWORD[96+rdi]=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ xorps xmm9,xmm9=0D
+ call _aesni_decrypt8=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ pxor xmm6,xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ pxor xmm7,xmm7=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ pxor xmm8,xmm8=0D
+ pxor xmm9,xmm9=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_dec_one:=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_dec1_4:=0D
+DB 102,15,56,222,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_dec1_4=0D
+DB 102,15,56,223,209=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_dec_two:=0D
+ call _aesni_decrypt2=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_dec_three:=0D
+ call _aesni_decrypt3=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_dec_four:=0D
+ call _aesni_decrypt4=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_dec_five:=0D
+ xorps xmm7,xmm7=0D
+ call _aesni_decrypt6=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ pxor xmm6,xmm6=0D
+ pxor xmm7,xmm7=0D
+ jmp NEAR $L$ecb_ret=0D
+ALIGN 16=0D
+$L$ecb_dec_six:=0D
+ call _aesni_decrypt6=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ pxor xmm6,xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ pxor xmm7,xmm7=0D
+=0D
+$L$ecb_ret:=0D
+ xorps xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ movaps xmm6,XMMWORD[rsp]=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps xmm7,XMMWORD[16+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps xmm8,XMMWORD[32+rsp]=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps xmm9,XMMWORD[48+rsp]=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ lea rsp,[88+rsp]=0D
+$L$ecb_enc_ret:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_ecb_encrypt:=0D
+global aesni_ccm64_encrypt_blocks=0D
+=0D
+ALIGN 16=0D
+aesni_ccm64_encrypt_blocks:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_ccm64_encrypt_blocks:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ lea rsp,[((-88))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+$L$ccm64_enc_body:=0D
+ mov eax,DWORD[240+rcx]=0D
+ movdqu xmm6,XMMWORD[r8]=0D
+ movdqa xmm9,XMMWORD[$L$increment64]=0D
+ movdqa xmm7,XMMWORD[$L$bswap_mask]=0D
+=0D
+ shl eax,4=0D
+ mov r10d,16=0D
+ lea r11,[rcx]=0D
+ movdqu xmm3,XMMWORD[r9]=0D
+ movdqa xmm2,xmm6=0D
+ lea rcx,[32+rax*1+rcx]=0D
+DB 102,15,56,0,247=0D
+ sub r10,rax=0D
+ jmp NEAR $L$ccm64_enc_outer=0D
+ALIGN 16=0D
+$L$ccm64_enc_outer:=0D
+ movups xmm0,XMMWORD[r11]=0D
+ mov rax,r10=0D
+ movups xmm8,XMMWORD[rdi]=0D
+=0D
+ xorps xmm2,xmm0=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ xorps xmm0,xmm8=0D
+ xorps xmm3,xmm0=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+=0D
+$L$ccm64_enc2_loop:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ccm64_enc2_loop=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ paddq xmm6,xmm9=0D
+ dec rdx=0D
+DB 102,15,56,221,208=0D
+DB 102,15,56,221,216=0D
+=0D
+ lea rdi,[16+rdi]=0D
+ xorps xmm8,xmm2=0D
+ movdqa xmm2,xmm6=0D
+ movups XMMWORD[rsi],xmm8=0D
+DB 102,15,56,0,215=0D
+ lea rsi,[16+rsi]=0D
+ jnz NEAR $L$ccm64_enc_outer=0D
+=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[r9],xmm3=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm8,xmm8=0D
+ pxor xmm6,xmm6=0D
+ movaps xmm6,XMMWORD[rsp]=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps xmm7,XMMWORD[16+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps xmm8,XMMWORD[32+rsp]=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps xmm9,XMMWORD[48+rsp]=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ lea rsp,[88+rsp]=0D
+$L$ccm64_enc_ret:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_ccm64_encrypt_blocks:=0D
+global aesni_ccm64_decrypt_blocks=0D
+=0D
+ALIGN 16=0D
+aesni_ccm64_decrypt_blocks:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_ccm64_decrypt_blocks:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ lea rsp,[((-88))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+$L$ccm64_dec_body:=0D
+ mov eax,DWORD[240+rcx]=0D
+ movups xmm6,XMMWORD[r8]=0D
+ movdqu xmm3,XMMWORD[r9]=0D
+ movdqa xmm9,XMMWORD[$L$increment64]=0D
+ movdqa xmm7,XMMWORD[$L$bswap_mask]=0D
+=0D
+ movaps xmm2,xmm6=0D
+ mov r10d,eax=0D
+ mov r11,rcx=0D
+DB 102,15,56,0,247=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_5:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_enc1_5=0D
+DB 102,15,56,221,209=0D
+ shl r10d,4=0D
+ mov eax,16=0D
+ movups xmm8,XMMWORD[rdi]=0D
+ paddq xmm6,xmm9=0D
+ lea rdi,[16+rdi]=0D
+ sub rax,r10=0D
+ lea rcx,[32+r10*1+r11]=0D
+ mov r10,rax=0D
+ jmp NEAR $L$ccm64_dec_outer=0D
+ALIGN 16=0D
+$L$ccm64_dec_outer:=0D
+ xorps xmm8,xmm2=0D
+ movdqa xmm2,xmm6=0D
+ movups XMMWORD[rsi],xmm8=0D
+ lea rsi,[16+rsi]=0D
+DB 102,15,56,0,215=0D
+=0D
+ sub rdx,1=0D
+ jz NEAR $L$ccm64_dec_break=0D
+=0D
+ movups xmm0,XMMWORD[r11]=0D
+ mov rax,r10=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ xorps xmm8,xmm0=0D
+ xorps xmm2,xmm0=0D
+ xorps xmm3,xmm8=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+ jmp NEAR $L$ccm64_dec2_loop=0D
+ALIGN 16=0D
+$L$ccm64_dec2_loop:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ccm64_dec2_loop=0D
+ movups xmm8,XMMWORD[rdi]=0D
+ paddq xmm6,xmm9=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,221,208=0D
+DB 102,15,56,221,216=0D
+ lea rdi,[16+rdi]=0D
+ jmp NEAR $L$ccm64_dec_outer=0D
+=0D
+ALIGN 16=0D
+$L$ccm64_dec_break:=0D
+=0D
+ mov eax,DWORD[240+r11]=0D
+ movups xmm0,XMMWORD[r11]=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ xorps xmm8,xmm0=0D
+ lea r11,[32+r11]=0D
+ xorps xmm3,xmm8=0D
+$L$oop_enc1_6:=0D
+DB 102,15,56,220,217=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[r11]=0D
+ lea r11,[16+r11]=0D
+ jnz NEAR $L$oop_enc1_6=0D
+DB 102,15,56,221,217=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ movups XMMWORD[r9],xmm3=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm8,xmm8=0D
+ pxor xmm6,xmm6=0D
+ movaps xmm6,XMMWORD[rsp]=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps xmm7,XMMWORD[16+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps xmm8,XMMWORD[32+rsp]=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps xmm9,XMMWORD[48+rsp]=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ lea rsp,[88+rsp]=0D
+$L$ccm64_dec_ret:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_ccm64_decrypt_blocks:=0D
+global aesni_ctr32_encrypt_blocks=0D
+=0D
+ALIGN 16=0D
+aesni_ctr32_encrypt_blocks:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_ctr32_encrypt_blocks:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+=0D
+=0D
+=0D
+ cmp rdx,1=0D
+ jne NEAR $L$ctr32_bulk=0D
+=0D
+=0D
+=0D
+ movups xmm2,XMMWORD[r8]=0D
+ movups xmm3,XMMWORD[rdi]=0D
+ mov edx,DWORD[240+rcx]=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_7:=0D
+DB 102,15,56,220,209=0D
+ dec edx=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_enc1_7=0D
+DB 102,15,56,221,209=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ xorps xmm2,xmm3=0D
+ pxor xmm3,xmm3=0D
+ movups XMMWORD[rsi],xmm2=0D
+ xorps xmm2,xmm2=0D
+ jmp NEAR $L$ctr32_epilogue=0D
+=0D
+ALIGN 16=0D
+$L$ctr32_bulk:=0D
+ lea r11,[rsp]=0D
+=0D
+ push rbp=0D
+=0D
+ sub rsp,288=0D
+ and rsp,-16=0D
+ movaps XMMWORD[(-168)+r11],xmm6=0D
+ movaps XMMWORD[(-152)+r11],xmm7=0D
+ movaps XMMWORD[(-136)+r11],xmm8=0D
+ movaps XMMWORD[(-120)+r11],xmm9=0D
+ movaps XMMWORD[(-104)+r11],xmm10=0D
+ movaps XMMWORD[(-88)+r11],xmm11=0D
+ movaps XMMWORD[(-72)+r11],xmm12=0D
+ movaps XMMWORD[(-56)+r11],xmm13=0D
+ movaps XMMWORD[(-40)+r11],xmm14=0D
+ movaps XMMWORD[(-24)+r11],xmm15=0D
+$L$ctr32_body:=0D
+=0D
+=0D
+=0D
+=0D
+ movdqu xmm2,XMMWORD[r8]=0D
+ movdqu xmm0,XMMWORD[rcx]=0D
+ mov r8d,DWORD[12+r8]=0D
+ pxor xmm2,xmm0=0D
+ mov ebp,DWORD[12+rcx]=0D
+ movdqa XMMWORD[rsp],xmm2=0D
+ bswap r8d=0D
+ movdqa xmm3,xmm2=0D
+ movdqa xmm4,xmm2=0D
+ movdqa xmm5,xmm2=0D
+ movdqa XMMWORD[64+rsp],xmm2=0D
+ movdqa XMMWORD[80+rsp],xmm2=0D
+ movdqa XMMWORD[96+rsp],xmm2=0D
+ mov r10,rdx=0D
+ movdqa XMMWORD[112+rsp],xmm2=0D
+=0D
+ lea rax,[1+r8]=0D
+ lea rdx,[2+r8]=0D
+ bswap eax=0D
+ bswap edx=0D
+ xor eax,ebp=0D
+ xor edx,ebp=0D
+DB 102,15,58,34,216,3=0D
+ lea rax,[3+r8]=0D
+ movdqa XMMWORD[16+rsp],xmm3=0D
+DB 102,15,58,34,226,3=0D
+ bswap eax=0D
+ mov rdx,r10=0D
+ lea r10,[4+r8]=0D
+ movdqa XMMWORD[32+rsp],xmm4=0D
+ xor eax,ebp=0D
+ bswap r10d=0D
+DB 102,15,58,34,232,3=0D
+ xor r10d,ebp=0D
+ movdqa XMMWORD[48+rsp],xmm5=0D
+ lea r9,[5+r8]=0D
+ mov DWORD[((64+12))+rsp],r10d=0D
+ bswap r9d=0D
+ lea r10,[6+r8]=0D
+ mov eax,DWORD[240+rcx]=0D
+ xor r9d,ebp=0D
+ bswap r10d=0D
+ mov DWORD[((80+12))+rsp],r9d=0D
+ xor r10d,ebp=0D
+ lea r9,[7+r8]=0D
+ mov DWORD[((96+12))+rsp],r10d=0D
+ bswap r9d=0D
+ mov r10d,DWORD[((OPENSSL_ia32cap_P+4))]=0D
+ xor r9d,ebp=0D
+ and r10d,71303168=0D
+ mov DWORD[((112+12))+rsp],r9d=0D
+=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+=0D
+ movdqa xmm6,XMMWORD[64+rsp]=0D
+ movdqa xmm7,XMMWORD[80+rsp]=0D
+=0D
+ cmp rdx,8=0D
+ jb NEAR $L$ctr32_tail=0D
+=0D
+ sub rdx,6=0D
+ cmp r10d,4194304=0D
+ je NEAR $L$ctr32_6x=0D
+=0D
+ lea rcx,[128+rcx]=0D
+ sub rdx,2=0D
+ jmp NEAR $L$ctr32_loop8=0D
+=0D
+ALIGN 16=0D
+$L$ctr32_6x:=0D
+ shl eax,4=0D
+ mov r10d,48=0D
+ bswap ebp=0D
+ lea rcx,[32+rax*1+rcx]=0D
+ sub r10,rax=0D
+ jmp NEAR $L$ctr32_loop6=0D
+=0D
+ALIGN 16=0D
+$L$ctr32_loop6:=0D
+ add r8d,6=0D
+ movups xmm0,XMMWORD[((-48))+r10*1+rcx]=0D
+DB 102,15,56,220,209=0D
+ mov eax,r8d=0D
+ xor eax,ebp=0D
+DB 102,15,56,220,217=0D
+DB 0x0f,0x38,0xf1,0x44,0x24,12=0D
+ lea eax,[1+r8]=0D
+DB 102,15,56,220,225=0D
+ xor eax,ebp=0D
+DB 0x0f,0x38,0xf1,0x44,0x24,28=0D
+DB 102,15,56,220,233=0D
+ lea eax,[2+r8]=0D
+ xor eax,ebp=0D
+DB 102,15,56,220,241=0D
+DB 0x0f,0x38,0xf1,0x44,0x24,44=0D
+ lea eax,[3+r8]=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[((-32))+r10*1+rcx]=0D
+ xor eax,ebp=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 0x0f,0x38,0xf1,0x44,0x24,60=0D
+ lea eax,[4+r8]=0D
+DB 102,15,56,220,216=0D
+ xor eax,ebp=0D
+DB 0x0f,0x38,0xf1,0x44,0x24,76=0D
+DB 102,15,56,220,224=0D
+ lea eax,[5+r8]=0D
+ xor eax,ebp=0D
+DB 102,15,56,220,232=0D
+DB 0x0f,0x38,0xf1,0x44,0x24,92=0D
+ mov rax,r10=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+ movups xmm0,XMMWORD[((-16))+r10*1+rcx]=0D
+=0D
+ call $L$enc_loop6=0D
+=0D
+ movdqu xmm8,XMMWORD[rdi]=0D
+ movdqu xmm9,XMMWORD[16+rdi]=0D
+ movdqu xmm10,XMMWORD[32+rdi]=0D
+ movdqu xmm11,XMMWORD[48+rdi]=0D
+ movdqu xmm12,XMMWORD[64+rdi]=0D
+ movdqu xmm13,XMMWORD[80+rdi]=0D
+ lea rdi,[96+rdi]=0D
+ movups xmm1,XMMWORD[((-64))+r10*1+rcx]=0D
+ pxor xmm8,xmm2=0D
+ movaps xmm2,XMMWORD[rsp]=0D
+ pxor xmm9,xmm3=0D
+ movaps xmm3,XMMWORD[16+rsp]=0D
+ pxor xmm10,xmm4=0D
+ movaps xmm4,XMMWORD[32+rsp]=0D
+ pxor xmm11,xmm5=0D
+ movaps xmm5,XMMWORD[48+rsp]=0D
+ pxor xmm12,xmm6=0D
+ movaps xmm6,XMMWORD[64+rsp]=0D
+ pxor xmm13,xmm7=0D
+ movaps xmm7,XMMWORD[80+rsp]=0D
+ movdqu XMMWORD[rsi],xmm8=0D
+ movdqu XMMWORD[16+rsi],xmm9=0D
+ movdqu XMMWORD[32+rsi],xmm10=0D
+ movdqu XMMWORD[48+rsi],xmm11=0D
+ movdqu XMMWORD[64+rsi],xmm12=0D
+ movdqu XMMWORD[80+rsi],xmm13=0D
+ lea rsi,[96+rsi]=0D
+=0D
+ sub rdx,6=0D
+ jnc NEAR $L$ctr32_loop6=0D
+=0D
+ add rdx,6=0D
+ jz NEAR $L$ctr32_done=0D
+=0D
+ lea eax,[((-48))+r10]=0D
+ lea rcx,[((-80))+r10*1+rcx]=0D
+ neg eax=0D
+ shr eax,4=0D
+ jmp NEAR $L$ctr32_tail=0D
+=0D
+ALIGN 32=0D
+$L$ctr32_loop8:=0D
+ add r8d,8=0D
+ movdqa xmm8,XMMWORD[96+rsp]=0D
+DB 102,15,56,220,209=0D
+ mov r9d,r8d=0D
+ movdqa xmm9,XMMWORD[112+rsp]=0D
+DB 102,15,56,220,217=0D
+ bswap r9d=0D
+ movups xmm0,XMMWORD[((32-128))+rcx]=0D
+DB 102,15,56,220,225=0D
+ xor r9d,ebp=0D
+ nop=0D
+DB 102,15,56,220,233=0D
+ mov DWORD[((0+12))+rsp],r9d=0D
+ lea r9,[1+r8]=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+ movups xmm1,XMMWORD[((48-128))+rcx]=0D
+ bswap r9d=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+ xor r9d,ebp=0D
+DB 0x66,0x90=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ mov DWORD[((16+12))+rsp],r9d=0D
+ lea r9,[2+r8]=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+DB 102,68,15,56,220,192=0D
+DB 102,68,15,56,220,200=0D
+ movups xmm0,XMMWORD[((64-128))+rcx]=0D
+ bswap r9d=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ xor r9d,ebp=0D
+DB 0x66,0x90=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ mov DWORD[((32+12))+rsp],r9d=0D
+ lea r9,[3+r8]=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+ movups xmm1,XMMWORD[((80-128))+rcx]=0D
+ bswap r9d=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+ xor r9d,ebp=0D
+DB 0x66,0x90=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ mov DWORD[((48+12))+rsp],r9d=0D
+ lea r9,[4+r8]=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+DB 102,68,15,56,220,192=0D
+DB 102,68,15,56,220,200=0D
+ movups xmm0,XMMWORD[((96-128))+rcx]=0D
+ bswap r9d=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ xor r9d,ebp=0D
+DB 0x66,0x90=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ mov DWORD[((64+12))+rsp],r9d=0D
+ lea r9,[5+r8]=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+ movups xmm1,XMMWORD[((112-128))+rcx]=0D
+ bswap r9d=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+ xor r9d,ebp=0D
+DB 0x66,0x90=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ mov DWORD[((80+12))+rsp],r9d=0D
+ lea r9,[6+r8]=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+DB 102,68,15,56,220,192=0D
+DB 102,68,15,56,220,200=0D
+ movups xmm0,XMMWORD[((128-128))+rcx]=0D
+ bswap r9d=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ xor r9d,ebp=0D
+DB 0x66,0x90=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ mov DWORD[((96+12))+rsp],r9d=0D
+ lea r9,[7+r8]=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+ movups xmm1,XMMWORD[((144-128))+rcx]=0D
+ bswap r9d=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+ xor r9d,ebp=0D
+ movdqu xmm10,XMMWORD[rdi]=0D
+DB 102,15,56,220,232=0D
+ mov DWORD[((112+12))+rsp],r9d=0D
+ cmp eax,11=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+DB 102,68,15,56,220,192=0D
+DB 102,68,15,56,220,200=0D
+ movups xmm0,XMMWORD[((160-128))+rcx]=0D
+=0D
+ jb NEAR $L$ctr32_enc_done=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+ movups xmm1,XMMWORD[((176-128))+rcx]=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+DB 102,68,15,56,220,192=0D
+DB 102,68,15,56,220,200=0D
+ movups xmm0,XMMWORD[((192-128))+rcx]=0D
+ je NEAR $L$ctr32_enc_done=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+ movups xmm1,XMMWORD[((208-128))+rcx]=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+DB 102,68,15,56,220,192=0D
+DB 102,68,15,56,220,200=0D
+ movups xmm0,XMMWORD[((224-128))+rcx]=0D
+ jmp NEAR $L$ctr32_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$ctr32_enc_done:=0D
+ movdqu xmm11,XMMWORD[16+rdi]=0D
+ pxor xmm10,xmm0=0D
+ movdqu xmm12,XMMWORD[32+rdi]=0D
+ pxor xmm11,xmm0=0D
+ movdqu xmm13,XMMWORD[48+rdi]=0D
+ pxor xmm12,xmm0=0D
+ movdqu xmm14,XMMWORD[64+rdi]=0D
+ pxor xmm13,xmm0=0D
+ movdqu xmm15,XMMWORD[80+rdi]=0D
+ pxor xmm14,xmm0=0D
+ pxor xmm15,xmm0=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+DB 102,68,15,56,220,201=0D
+ movdqu xmm1,XMMWORD[96+rdi]=0D
+ lea rdi,[128+rdi]=0D
+=0D
+DB 102,65,15,56,221,210=0D
+ pxor xmm1,xmm0=0D
+ movdqu xmm10,XMMWORD[((112-128))+rdi]=0D
+DB 102,65,15,56,221,219=0D
+ pxor xmm10,xmm0=0D
+ movdqa xmm11,XMMWORD[rsp]=0D
+DB 102,65,15,56,221,228=0D
+DB 102,65,15,56,221,237=0D
+ movdqa xmm12,XMMWORD[16+rsp]=0D
+ movdqa xmm13,XMMWORD[32+rsp]=0D
+DB 102,65,15,56,221,246=0D
+DB 102,65,15,56,221,255=0D
+ movdqa xmm14,XMMWORD[48+rsp]=0D
+ movdqa xmm15,XMMWORD[64+rsp]=0D
+DB 102,68,15,56,221,193=0D
+ movdqa xmm0,XMMWORD[80+rsp]=0D
+ movups xmm1,XMMWORD[((16-128))+rcx]=0D
+DB 102,69,15,56,221,202=0D
+=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movdqa xmm2,xmm11=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movdqa xmm3,xmm12=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movdqa xmm4,xmm13=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movdqa xmm5,xmm14=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movdqa xmm6,xmm15=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ movdqa xmm7,xmm0=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ movups XMMWORD[112+rsi],xmm9=0D
+ lea rsi,[128+rsi]=0D
+=0D
+ sub rdx,8=0D
+ jnc NEAR $L$ctr32_loop8=0D
+=0D
+ add rdx,8=0D
+ jz NEAR $L$ctr32_done=0D
+ lea rcx,[((-128))+rcx]=0D
+=0D
+$L$ctr32_tail:=0D
+=0D
+=0D
+ lea rcx,[16+rcx]=0D
+ cmp rdx,4=0D
+ jb NEAR $L$ctr32_loop3=0D
+ je NEAR $L$ctr32_loop4=0D
+=0D
+=0D
+ shl eax,4=0D
+ movdqa xmm8,XMMWORD[96+rsp]=0D
+ pxor xmm9,xmm9=0D
+=0D
+ movups xmm0,XMMWORD[16+rcx]=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+ lea rcx,[((32-16))+rax*1+rcx]=0D
+ neg rax=0D
+DB 102,15,56,220,225=0D
+ add rax,16=0D
+ movups xmm10,XMMWORD[rdi]=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+ movups xmm11,XMMWORD[16+rdi]=0D
+ movups xmm12,XMMWORD[32+rdi]=0D
+DB 102,15,56,220,249=0D
+DB 102,68,15,56,220,193=0D
+=0D
+ call $L$enc_loop8_enter=0D
+=0D
+ movdqu xmm13,XMMWORD[48+rdi]=0D
+ pxor xmm2,xmm10=0D
+ movdqu xmm10,XMMWORD[64+rdi]=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm6,xmm10=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ movdqu XMMWORD[64+rsi],xmm6=0D
+ cmp rdx,6=0D
+ jb NEAR $L$ctr32_done=0D
+=0D
+ movups xmm11,XMMWORD[80+rdi]=0D
+ xorps xmm7,xmm11=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ je NEAR $L$ctr32_done=0D
+=0D
+ movups xmm12,XMMWORD[96+rdi]=0D
+ xorps xmm8,xmm12=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ jmp NEAR $L$ctr32_done=0D
+=0D
+ALIGN 32=0D
+$L$ctr32_loop4:=0D
+DB 102,15,56,220,209=0D
+ lea rcx,[16+rcx]=0D
+ dec eax=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ jnz NEAR $L$ctr32_loop4=0D
+DB 102,15,56,221,209=0D
+DB 102,15,56,221,217=0D
+ movups xmm10,XMMWORD[rdi]=0D
+ movups xmm11,XMMWORD[16+rdi]=0D
+DB 102,15,56,221,225=0D
+DB 102,15,56,221,233=0D
+ movups xmm12,XMMWORD[32+rdi]=0D
+ movups xmm13,XMMWORD[48+rdi]=0D
+=0D
+ xorps xmm2,xmm10=0D
+ movups XMMWORD[rsi],xmm2=0D
+ xorps xmm3,xmm11=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ jmp NEAR $L$ctr32_done=0D
+=0D
+ALIGN 32=0D
+$L$ctr32_loop3:=0D
+DB 102,15,56,220,209=0D
+ lea rcx,[16+rcx]=0D
+ dec eax=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ jnz NEAR $L$ctr32_loop3=0D
+DB 102,15,56,221,209=0D
+DB 102,15,56,221,217=0D
+DB 102,15,56,221,225=0D
+=0D
+ movups xmm10,XMMWORD[rdi]=0D
+ xorps xmm2,xmm10=0D
+ movups XMMWORD[rsi],xmm2=0D
+ cmp rdx,2=0D
+ jb NEAR $L$ctr32_done=0D
+=0D
+ movups xmm11,XMMWORD[16+rdi]=0D
+ xorps xmm3,xmm11=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ je NEAR $L$ctr32_done=0D
+=0D
+ movups xmm12,XMMWORD[32+rdi]=0D
+ xorps xmm4,xmm12=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+=0D
+$L$ctr32_done:=0D
+ xorps xmm0,xmm0=0D
+ xor ebp,ebp=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+ movaps xmm6,XMMWORD[((-168))+r11]=0D
+ movaps XMMWORD[(-168)+r11],xmm0=0D
+ movaps xmm7,XMMWORD[((-152))+r11]=0D
+ movaps XMMWORD[(-152)+r11],xmm0=0D
+ movaps xmm8,XMMWORD[((-136))+r11]=0D
+ movaps XMMWORD[(-136)+r11],xmm0=0D
+ movaps xmm9,XMMWORD[((-120))+r11]=0D
+ movaps XMMWORD[(-120)+r11],xmm0=0D
+ movaps xmm10,XMMWORD[((-104))+r11]=0D
+ movaps XMMWORD[(-104)+r11],xmm0=0D
+ movaps xmm11,XMMWORD[((-88))+r11]=0D
+ movaps XMMWORD[(-88)+r11],xmm0=0D
+ movaps xmm12,XMMWORD[((-72))+r11]=0D
+ movaps XMMWORD[(-72)+r11],xmm0=0D
+ movaps xmm13,XMMWORD[((-56))+r11]=0D
+ movaps XMMWORD[(-56)+r11],xmm0=0D
+ movaps xmm14,XMMWORD[((-40))+r11]=0D
+ movaps XMMWORD[(-40)+r11],xmm0=0D
+ movaps xmm15,XMMWORD[((-24))+r11]=0D
+ movaps XMMWORD[(-24)+r11],xmm0=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ movaps XMMWORD[64+rsp],xmm0=0D
+ movaps XMMWORD[80+rsp],xmm0=0D
+ movaps XMMWORD[96+rsp],xmm0=0D
+ movaps XMMWORD[112+rsp],xmm0=0D
+ mov rbp,QWORD[((-8))+r11]=0D
+=0D
+ lea rsp,[r11]=0D
+=0D
+$L$ctr32_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_ctr32_encrypt_blocks:=0D
+global aesni_xts_encrypt=0D
+=0D
+ALIGN 16=0D
+aesni_xts_encrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_xts_encrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ lea r11,[rsp]=0D
+=0D
+ push rbp=0D
+=0D
+ sub rsp,272=0D
+ and rsp,-16=0D
+ movaps XMMWORD[(-168)+r11],xmm6=0D
+ movaps XMMWORD[(-152)+r11],xmm7=0D
+ movaps XMMWORD[(-136)+r11],xmm8=0D
+ movaps XMMWORD[(-120)+r11],xmm9=0D
+ movaps XMMWORD[(-104)+r11],xmm10=0D
+ movaps XMMWORD[(-88)+r11],xmm11=0D
+ movaps XMMWORD[(-72)+r11],xmm12=0D
+ movaps XMMWORD[(-56)+r11],xmm13=0D
+ movaps XMMWORD[(-40)+r11],xmm14=0D
+ movaps XMMWORD[(-24)+r11],xmm15=0D
+$L$xts_enc_body:=0D
+ movups xmm2,XMMWORD[r9]=0D
+ mov eax,DWORD[240+r8]=0D
+ mov r10d,DWORD[240+rcx]=0D
+ movups xmm0,XMMWORD[r8]=0D
+ movups xmm1,XMMWORD[16+r8]=0D
+ lea r8,[32+r8]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_8:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[r8]=0D
+ lea r8,[16+r8]=0D
+ jnz NEAR $L$oop_enc1_8=0D
+DB 102,15,56,221,209=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ mov rbp,rcx=0D
+ mov eax,r10d=0D
+ shl r10d,4=0D
+ mov r9,rdx=0D
+ and rdx,-16=0D
+=0D
+ movups xmm1,XMMWORD[16+r10*1+rcx]=0D
+=0D
+ movdqa xmm8,XMMWORD[$L$xts_magic]=0D
+ movdqa xmm15,xmm2=0D
+ pshufd xmm9,xmm2,0x5f=0D
+ pxor xmm1,xmm0=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm10,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm10,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm11,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm11,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm12,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm12,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm13,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm13,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm15=0D
+ psrad xmm9,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm9,xmm8=0D
+ pxor xmm14,xmm0=0D
+ pxor xmm15,xmm9=0D
+ movaps XMMWORD[96+rsp],xmm1=0D
+=0D
+ sub rdx,16*6=0D
+ jc NEAR $L$xts_enc_short=0D
+=0D
+ mov eax,16+96=0D
+ lea rcx,[32+r10*1+rbp]=0D
+ sub rax,r10=0D
+ movups xmm1,XMMWORD[16+rbp]=0D
+ mov r10,rax=0D
+ lea r8,[$L$xts_magic]=0D
+ jmp NEAR $L$xts_enc_grandloop=0D
+=0D
+ALIGN 32=0D
+$L$xts_enc_grandloop:=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqa xmm8,xmm0=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ pxor xmm2,xmm10=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ pxor xmm3,xmm11=0D
+DB 102,15,56,220,209=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ pxor xmm4,xmm12=0D
+DB 102,15,56,220,217=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ pxor xmm5,xmm13=0D
+DB 102,15,56,220,225=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ pxor xmm8,xmm15=0D
+ movdqa xmm9,XMMWORD[96+rsp]=0D
+ pxor xmm6,xmm14=0D
+DB 102,15,56,220,233=0D
+ movups xmm0,XMMWORD[32+rbp]=0D
+ lea rdi,[96+rdi]=0D
+ pxor xmm7,xmm8=0D
+=0D
+ pxor xmm10,xmm9=0D
+DB 102,15,56,220,241=0D
+ pxor xmm11,xmm9=0D
+ movdqa XMMWORD[rsp],xmm10=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[48+rbp]=0D
+ pxor xmm12,xmm9=0D
+=0D
+DB 102,15,56,220,208=0D
+ pxor xmm13,xmm9=0D
+ movdqa XMMWORD[16+rsp],xmm11=0D
+DB 102,15,56,220,216=0D
+ pxor xmm14,xmm9=0D
+ movdqa XMMWORD[32+rsp],xmm12=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ pxor xmm8,xmm9=0D
+ movdqa XMMWORD[64+rsp],xmm14=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+ movups xmm0,XMMWORD[64+rbp]=0D
+ movdqa XMMWORD[80+rsp],xmm8=0D
+ pshufd xmm9,xmm15,0x5f=0D
+ jmp NEAR $L$xts_enc_loop6=0D
+ALIGN 32=0D
+$L$xts_enc_loop6:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[((-64))+rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+ movups xmm0,XMMWORD[((-80))+rax*1+rcx]=0D
+ jnz NEAR $L$xts_enc_loop6=0D
+=0D
+ movdqa xmm8,XMMWORD[r8]=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,220,209=0D
+ paddq xmm15,xmm15=0D
+ psrad xmm14,31=0D
+DB 102,15,56,220,217=0D
+ pand xmm14,xmm8=0D
+ movups xmm10,XMMWORD[rbp]=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+ pxor xmm15,xmm14=0D
+ movaps xmm11,xmm10=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[((-64))+rcx]=0D
+=0D
+ movdqa xmm14,xmm9=0D
+DB 102,15,56,220,208=0D
+ paddd xmm9,xmm9=0D
+ pxor xmm10,xmm15=0D
+DB 102,15,56,220,216=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ pand xmm14,xmm8=0D
+ movaps xmm12,xmm11=0D
+DB 102,15,56,220,240=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+DB 102,15,56,220,248=0D
+ movups xmm0,XMMWORD[((-48))+rcx]=0D
+=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,220,209=0D
+ pxor xmm11,xmm15=0D
+ psrad xmm14,31=0D
+DB 102,15,56,220,217=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movdqa XMMWORD[48+rsp],xmm13=0D
+ pxor xmm15,xmm14=0D
+DB 102,15,56,220,241=0D
+ movaps xmm13,xmm12=0D
+ movdqa xmm14,xmm9=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[((-32))+rcx]=0D
+=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,220,208=0D
+ pxor xmm12,xmm15=0D
+ psrad xmm14,31=0D
+DB 102,15,56,220,216=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+ pxor xmm15,xmm14=0D
+ movaps xmm14,xmm13=0D
+DB 102,15,56,220,248=0D
+=0D
+ movdqa xmm0,xmm9=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,220,209=0D
+ pxor xmm13,xmm15=0D
+ psrad xmm0,31=0D
+DB 102,15,56,220,217=0D
+ paddq xmm15,xmm15=0D
+ pand xmm0,xmm8=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ pxor xmm15,xmm0=0D
+ movups xmm0,XMMWORD[rbp]=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[16+rbp]=0D
+=0D
+ pxor xmm14,xmm15=0D
+DB 102,15,56,221,84,36,0=0D
+ psrad xmm9,31=0D
+ paddq xmm15,xmm15=0D
+DB 102,15,56,221,92,36,16=0D
+DB 102,15,56,221,100,36,32=0D
+ pand xmm9,xmm8=0D
+ mov rax,r10=0D
+DB 102,15,56,221,108,36,48=0D
+DB 102,15,56,221,116,36,64=0D
+DB 102,15,56,221,124,36,80=0D
+ pxor xmm15,xmm9=0D
+=0D
+ lea rsi,[96+rsi]=0D
+ movups XMMWORD[(-96)+rsi],xmm2=0D
+ movups XMMWORD[(-80)+rsi],xmm3=0D
+ movups XMMWORD[(-64)+rsi],xmm4=0D
+ movups XMMWORD[(-48)+rsi],xmm5=0D
+ movups XMMWORD[(-32)+rsi],xmm6=0D
+ movups XMMWORD[(-16)+rsi],xmm7=0D
+ sub rdx,16*6=0D
+ jnc NEAR $L$xts_enc_grandloop=0D
+=0D
+ mov eax,16+96=0D
+ sub eax,r10d=0D
+ mov rcx,rbp=0D
+ shr eax,4=0D
+=0D
+$L$xts_enc_short:=0D
+=0D
+ mov r10d,eax=0D
+ pxor xmm10,xmm0=0D
+ add rdx,16*6=0D
+ jz NEAR $L$xts_enc_done=0D
+=0D
+ pxor xmm11,xmm0=0D
+ cmp rdx,0x20=0D
+ jb NEAR $L$xts_enc_one=0D
+ pxor xmm12,xmm0=0D
+ je NEAR $L$xts_enc_two=0D
+=0D
+ pxor xmm13,xmm0=0D
+ cmp rdx,0x40=0D
+ jb NEAR $L$xts_enc_three=0D
+ pxor xmm14,xmm0=0D
+ je NEAR $L$xts_enc_four=0D
+=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ pxor xmm2,xmm10=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ pxor xmm3,xmm11=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ lea rdi,[80+rdi]=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm5,xmm13=0D
+ pxor xmm6,xmm14=0D
+ pxor xmm7,xmm7=0D
+=0D
+ call _aesni_encrypt6=0D
+=0D
+ xorps xmm2,xmm10=0D
+ movdqa xmm10,xmm15=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm4,xmm12=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ xorps xmm5,xmm13=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ xorps xmm6,xmm14=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ movdqu XMMWORD[64+rsi],xmm6=0D
+ lea rsi,[80+rsi]=0D
+ jmp NEAR $L$xts_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_enc_one:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ lea rdi,[16+rdi]=0D
+ xorps xmm2,xmm10=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_9:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_enc1_9=0D
+DB 102,15,56,221,209=0D
+ xorps xmm2,xmm10=0D
+ movdqa xmm10,xmm11=0D
+ movups XMMWORD[rsi],xmm2=0D
+ lea rsi,[16+rsi]=0D
+ jmp NEAR $L$xts_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_enc_two:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ lea rdi,[32+rdi]=0D
+ xorps xmm2,xmm10=0D
+ xorps xmm3,xmm11=0D
+=0D
+ call _aesni_encrypt2=0D
+=0D
+ xorps xmm2,xmm10=0D
+ movdqa xmm10,xmm12=0D
+ xorps xmm3,xmm11=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ lea rsi,[32+rsi]=0D
+ jmp NEAR $L$xts_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_enc_three:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ movups xmm4,XMMWORD[32+rdi]=0D
+ lea rdi,[48+rdi]=0D
+ xorps xmm2,xmm10=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm4,xmm12=0D
+=0D
+ call _aesni_encrypt3=0D
+=0D
+ xorps xmm2,xmm10=0D
+ movdqa xmm10,xmm13=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm4,xmm12=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ lea rsi,[48+rsi]=0D
+ jmp NEAR $L$xts_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_enc_four:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ movups xmm4,XMMWORD[32+rdi]=0D
+ xorps xmm2,xmm10=0D
+ movups xmm5,XMMWORD[48+rdi]=0D
+ lea rdi,[64+rdi]=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm4,xmm12=0D
+ xorps xmm5,xmm13=0D
+=0D
+ call _aesni_encrypt4=0D
+=0D
+ pxor xmm2,xmm10=0D
+ movdqa xmm10,xmm14=0D
+ pxor xmm3,xmm11=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ lea rsi,[64+rsi]=0D
+ jmp NEAR $L$xts_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_enc_done:=0D
+ and r9,15=0D
+ jz NEAR $L$xts_enc_ret=0D
+ mov rdx,r9=0D
+=0D
+$L$xts_enc_steal:=0D
+ movzx eax,BYTE[rdi]=0D
+ movzx ecx,BYTE[((-16))+rsi]=0D
+ lea rdi,[1+rdi]=0D
+ mov BYTE[((-16))+rsi],al=0D
+ mov BYTE[rsi],cl=0D
+ lea rsi,[1+rsi]=0D
+ sub rdx,1=0D
+ jnz NEAR $L$xts_enc_steal=0D
+=0D
+ sub rsi,r9=0D
+ mov rcx,rbp=0D
+ mov eax,r10d=0D
+=0D
+ movups xmm2,XMMWORD[((-16))+rsi]=0D
+ xorps xmm2,xmm10=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_10:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_enc1_10=0D
+DB 102,15,56,221,209=0D
+ xorps xmm2,xmm10=0D
+ movups XMMWORD[(-16)+rsi],xmm2=0D
+=0D
+$L$xts_enc_ret:=0D
+ xorps xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+ movaps xmm6,XMMWORD[((-168))+r11]=0D
+ movaps XMMWORD[(-168)+r11],xmm0=0D
+ movaps xmm7,XMMWORD[((-152))+r11]=0D
+ movaps XMMWORD[(-152)+r11],xmm0=0D
+ movaps xmm8,XMMWORD[((-136))+r11]=0D
+ movaps XMMWORD[(-136)+r11],xmm0=0D
+ movaps xmm9,XMMWORD[((-120))+r11]=0D
+ movaps XMMWORD[(-120)+r11],xmm0=0D
+ movaps xmm10,XMMWORD[((-104))+r11]=0D
+ movaps XMMWORD[(-104)+r11],xmm0=0D
+ movaps xmm11,XMMWORD[((-88))+r11]=0D
+ movaps XMMWORD[(-88)+r11],xmm0=0D
+ movaps xmm12,XMMWORD[((-72))+r11]=0D
+ movaps XMMWORD[(-72)+r11],xmm0=0D
+ movaps xmm13,XMMWORD[((-56))+r11]=0D
+ movaps XMMWORD[(-56)+r11],xmm0=0D
+ movaps xmm14,XMMWORD[((-40))+r11]=0D
+ movaps XMMWORD[(-40)+r11],xmm0=0D
+ movaps xmm15,XMMWORD[((-24))+r11]=0D
+ movaps XMMWORD[(-24)+r11],xmm0=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ movaps XMMWORD[64+rsp],xmm0=0D
+ movaps XMMWORD[80+rsp],xmm0=0D
+ movaps XMMWORD[96+rsp],xmm0=0D
+ mov rbp,QWORD[((-8))+r11]=0D
+=0D
+ lea rsp,[r11]=0D
+=0D
+$L$xts_enc_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_xts_encrypt:=0D
+global aesni_xts_decrypt=0D
+=0D
+ALIGN 16=0D
+aesni_xts_decrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_xts_decrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ lea r11,[rsp]=0D
+=0D
+ push rbp=0D
+=0D
+ sub rsp,272=0D
+ and rsp,-16=0D
+ movaps XMMWORD[(-168)+r11],xmm6=0D
+ movaps XMMWORD[(-152)+r11],xmm7=0D
+ movaps XMMWORD[(-136)+r11],xmm8=0D
+ movaps XMMWORD[(-120)+r11],xmm9=0D
+ movaps XMMWORD[(-104)+r11],xmm10=0D
+ movaps XMMWORD[(-88)+r11],xmm11=0D
+ movaps XMMWORD[(-72)+r11],xmm12=0D
+ movaps XMMWORD[(-56)+r11],xmm13=0D
+ movaps XMMWORD[(-40)+r11],xmm14=0D
+ movaps XMMWORD[(-24)+r11],xmm15=0D
+$L$xts_dec_body:=0D
+ movups xmm2,XMMWORD[r9]=0D
+ mov eax,DWORD[240+r8]=0D
+ mov r10d,DWORD[240+rcx]=0D
+ movups xmm0,XMMWORD[r8]=0D
+ movups xmm1,XMMWORD[16+r8]=0D
+ lea r8,[32+r8]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_enc1_11:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[r8]=0D
+ lea r8,[16+r8]=0D
+ jnz NEAR $L$oop_enc1_11=0D
+DB 102,15,56,221,209=0D
+ xor eax,eax=0D
+ test rdx,15=0D
+ setnz al=0D
+ shl rax,4=0D
+ sub rdx,rax=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ mov rbp,rcx=0D
+ mov eax,r10d=0D
+ shl r10d,4=0D
+ mov r9,rdx=0D
+ and rdx,-16=0D
+=0D
+ movups xmm1,XMMWORD[16+r10*1+rcx]=0D
+=0D
+ movdqa xmm8,XMMWORD[$L$xts_magic]=0D
+ movdqa xmm15,xmm2=0D
+ pshufd xmm9,xmm2,0x5f=0D
+ pxor xmm1,xmm0=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm10,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm10,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm11,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm11,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm12,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm12,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+ movdqa xmm13,xmm15=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+ pxor xmm13,xmm0=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm15=0D
+ psrad xmm9,31=0D
+ paddq xmm15,xmm15=0D
+ pand xmm9,xmm8=0D
+ pxor xmm14,xmm0=0D
+ pxor xmm15,xmm9=0D
+ movaps XMMWORD[96+rsp],xmm1=0D
+=0D
+ sub rdx,16*6=0D
+ jc NEAR $L$xts_dec_short=0D
+=0D
+ mov eax,16+96=0D
+ lea rcx,[32+r10*1+rbp]=0D
+ sub rax,r10=0D
+ movups xmm1,XMMWORD[16+rbp]=0D
+ mov r10,rax=0D
+ lea r8,[$L$xts_magic]=0D
+ jmp NEAR $L$xts_dec_grandloop=0D
+=0D
+ALIGN 32=0D
+$L$xts_dec_grandloop:=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqa xmm8,xmm0=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ pxor xmm2,xmm10=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ pxor xmm3,xmm11=0D
+DB 102,15,56,222,209=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ pxor xmm4,xmm12=0D
+DB 102,15,56,222,217=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ pxor xmm5,xmm13=0D
+DB 102,15,56,222,225=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ pxor xmm8,xmm15=0D
+ movdqa xmm9,XMMWORD[96+rsp]=0D
+ pxor xmm6,xmm14=0D
+DB 102,15,56,222,233=0D
+ movups xmm0,XMMWORD[32+rbp]=0D
+ lea rdi,[96+rdi]=0D
+ pxor xmm7,xmm8=0D
+=0D
+ pxor xmm10,xmm9=0D
+DB 102,15,56,222,241=0D
+ pxor xmm11,xmm9=0D
+ movdqa XMMWORD[rsp],xmm10=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[48+rbp]=0D
+ pxor xmm12,xmm9=0D
+=0D
+DB 102,15,56,222,208=0D
+ pxor xmm13,xmm9=0D
+ movdqa XMMWORD[16+rsp],xmm11=0D
+DB 102,15,56,222,216=0D
+ pxor xmm14,xmm9=0D
+ movdqa XMMWORD[32+rsp],xmm12=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ pxor xmm8,xmm9=0D
+ movdqa XMMWORD[64+rsp],xmm14=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+ movups xmm0,XMMWORD[64+rbp]=0D
+ movdqa XMMWORD[80+rsp],xmm8=0D
+ pshufd xmm9,xmm15,0x5f=0D
+ jmp NEAR $L$xts_dec_loop6=0D
+ALIGN 32=0D
+$L$xts_dec_loop6:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[((-64))+rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+ movups xmm0,XMMWORD[((-80))+rax*1+rcx]=0D
+ jnz NEAR $L$xts_dec_loop6=0D
+=0D
+ movdqa xmm8,XMMWORD[r8]=0D
+ movdqa xmm14,xmm9=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,222,209=0D
+ paddq xmm15,xmm15=0D
+ psrad xmm14,31=0D
+DB 102,15,56,222,217=0D
+ pand xmm14,xmm8=0D
+ movups xmm10,XMMWORD[rbp]=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+ pxor xmm15,xmm14=0D
+ movaps xmm11,xmm10=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[((-64))+rcx]=0D
+=0D
+ movdqa xmm14,xmm9=0D
+DB 102,15,56,222,208=0D
+ paddd xmm9,xmm9=0D
+ pxor xmm10,xmm15=0D
+DB 102,15,56,222,216=0D
+ psrad xmm14,31=0D
+ paddq xmm15,xmm15=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ pand xmm14,xmm8=0D
+ movaps xmm12,xmm11=0D
+DB 102,15,56,222,240=0D
+ pxor xmm15,xmm14=0D
+ movdqa xmm14,xmm9=0D
+DB 102,15,56,222,248=0D
+ movups xmm0,XMMWORD[((-48))+rcx]=0D
+=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,222,209=0D
+ pxor xmm11,xmm15=0D
+ psrad xmm14,31=0D
+DB 102,15,56,222,217=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movdqa XMMWORD[48+rsp],xmm13=0D
+ pxor xmm15,xmm14=0D
+DB 102,15,56,222,241=0D
+ movaps xmm13,xmm12=0D
+ movdqa xmm14,xmm9=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[((-32))+rcx]=0D
+=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,222,208=0D
+ pxor xmm12,xmm15=0D
+ psrad xmm14,31=0D
+DB 102,15,56,222,216=0D
+ paddq xmm15,xmm15=0D
+ pand xmm14,xmm8=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+ pxor xmm15,xmm14=0D
+ movaps xmm14,xmm13=0D
+DB 102,15,56,222,248=0D
+=0D
+ movdqa xmm0,xmm9=0D
+ paddd xmm9,xmm9=0D
+DB 102,15,56,222,209=0D
+ pxor xmm13,xmm15=0D
+ psrad xmm0,31=0D
+DB 102,15,56,222,217=0D
+ paddq xmm15,xmm15=0D
+ pand xmm0,xmm8=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ pxor xmm15,xmm0=0D
+ movups xmm0,XMMWORD[rbp]=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[16+rbp]=0D
+=0D
+ pxor xmm14,xmm15=0D
+DB 102,15,56,223,84,36,0=0D
+ psrad xmm9,31=0D
+ paddq xmm15,xmm15=0D
+DB 102,15,56,223,92,36,16=0D
+DB 102,15,56,223,100,36,32=0D
+ pand xmm9,xmm8=0D
+ mov rax,r10=0D
+DB 102,15,56,223,108,36,48=0D
+DB 102,15,56,223,116,36,64=0D
+DB 102,15,56,223,124,36,80=0D
+ pxor xmm15,xmm9=0D
+=0D
+ lea rsi,[96+rsi]=0D
+ movups XMMWORD[(-96)+rsi],xmm2=0D
+ movups XMMWORD[(-80)+rsi],xmm3=0D
+ movups XMMWORD[(-64)+rsi],xmm4=0D
+ movups XMMWORD[(-48)+rsi],xmm5=0D
+ movups XMMWORD[(-32)+rsi],xmm6=0D
+ movups XMMWORD[(-16)+rsi],xmm7=0D
+ sub rdx,16*6=0D
+ jnc NEAR $L$xts_dec_grandloop=0D
+=0D
+ mov eax,16+96=0D
+ sub eax,r10d=0D
+ mov rcx,rbp=0D
+ shr eax,4=0D
+=0D
+$L$xts_dec_short:=0D
+=0D
+ mov r10d,eax=0D
+ pxor xmm10,xmm0=0D
+ pxor xmm11,xmm0=0D
+ add rdx,16*6=0D
+ jz NEAR $L$xts_dec_done=0D
+=0D
+ pxor xmm12,xmm0=0D
+ cmp rdx,0x20=0D
+ jb NEAR $L$xts_dec_one=0D
+ pxor xmm13,xmm0=0D
+ je NEAR $L$xts_dec_two=0D
+=0D
+ pxor xmm14,xmm0=0D
+ cmp rdx,0x40=0D
+ jb NEAR $L$xts_dec_three=0D
+ je NEAR $L$xts_dec_four=0D
+=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ pxor xmm2,xmm10=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ pxor xmm3,xmm11=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ lea rdi,[80+rdi]=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm5,xmm13=0D
+ pxor xmm6,xmm14=0D
+=0D
+ call _aesni_decrypt6=0D
+=0D
+ xorps xmm2,xmm10=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm4,xmm12=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ xorps xmm5,xmm13=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ xorps xmm6,xmm14=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm14,xmm14=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ pcmpgtd xmm14,xmm15=0D
+ movdqu XMMWORD[64+rsi],xmm6=0D
+ lea rsi,[80+rsi]=0D
+ pshufd xmm11,xmm14,0x13=0D
+ and r9,15=0D
+ jz NEAR $L$xts_dec_ret=0D
+=0D
+ movdqa xmm10,xmm15=0D
+ paddq xmm15,xmm15=0D
+ pand xmm11,xmm8=0D
+ pxor xmm11,xmm15=0D
+ jmp NEAR $L$xts_dec_done2=0D
+=0D
+ALIGN 16=0D
+$L$xts_dec_one:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ lea rdi,[16+rdi]=0D
+ xorps xmm2,xmm10=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_dec1_12:=0D
+DB 102,15,56,222,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_dec1_12=0D
+DB 102,15,56,223,209=0D
+ xorps xmm2,xmm10=0D
+ movdqa xmm10,xmm11=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movdqa xmm11,xmm12=0D
+ lea rsi,[16+rsi]=0D
+ jmp NEAR $L$xts_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_dec_two:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ lea rdi,[32+rdi]=0D
+ xorps xmm2,xmm10=0D
+ xorps xmm3,xmm11=0D
+=0D
+ call _aesni_decrypt2=0D
+=0D
+ xorps xmm2,xmm10=0D
+ movdqa xmm10,xmm12=0D
+ xorps xmm3,xmm11=0D
+ movdqa xmm11,xmm13=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ lea rsi,[32+rsi]=0D
+ jmp NEAR $L$xts_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_dec_three:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ movups xmm4,XMMWORD[32+rdi]=0D
+ lea rdi,[48+rdi]=0D
+ xorps xmm2,xmm10=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm4,xmm12=0D
+=0D
+ call _aesni_decrypt3=0D
+=0D
+ xorps xmm2,xmm10=0D
+ movdqa xmm10,xmm13=0D
+ xorps xmm3,xmm11=0D
+ movdqa xmm11,xmm14=0D
+ xorps xmm4,xmm12=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ lea rsi,[48+rsi]=0D
+ jmp NEAR $L$xts_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_dec_four:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ movups xmm4,XMMWORD[32+rdi]=0D
+ xorps xmm2,xmm10=0D
+ movups xmm5,XMMWORD[48+rdi]=0D
+ lea rdi,[64+rdi]=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm4,xmm12=0D
+ xorps xmm5,xmm13=0D
+=0D
+ call _aesni_decrypt4=0D
+=0D
+ pxor xmm2,xmm10=0D
+ movdqa xmm10,xmm14=0D
+ pxor xmm3,xmm11=0D
+ movdqa xmm11,xmm15=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ lea rsi,[64+rsi]=0D
+ jmp NEAR $L$xts_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$xts_dec_done:=0D
+ and r9,15=0D
+ jz NEAR $L$xts_dec_ret=0D
+$L$xts_dec_done2:=0D
+ mov rdx,r9=0D
+ mov rcx,rbp=0D
+ mov eax,r10d=0D
+=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ xorps xmm2,xmm11=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_dec1_13:=0D
+DB 102,15,56,222,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_dec1_13=0D
+DB 102,15,56,223,209=0D
+ xorps xmm2,xmm11=0D
+ movups XMMWORD[rsi],xmm2=0D
+=0D
+$L$xts_dec_steal:=0D
+ movzx eax,BYTE[16+rdi]=0D
+ movzx ecx,BYTE[rsi]=0D
+ lea rdi,[1+rdi]=0D
+ mov BYTE[rsi],al=0D
+ mov BYTE[16+rsi],cl=0D
+ lea rsi,[1+rsi]=0D
+ sub rdx,1=0D
+ jnz NEAR $L$xts_dec_steal=0D
+=0D
+ sub rsi,r9=0D
+ mov rcx,rbp=0D
+ mov eax,r10d=0D
+=0D
+ movups xmm2,XMMWORD[rsi]=0D
+ xorps xmm2,xmm10=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_dec1_14:=0D
+DB 102,15,56,222,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_dec1_14=0D
+DB 102,15,56,223,209=0D
+ xorps xmm2,xmm10=0D
+ movups XMMWORD[rsi],xmm2=0D
+=0D
+$L$xts_dec_ret:=0D
+ xorps xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+ movaps xmm6,XMMWORD[((-168))+r11]=0D
+ movaps XMMWORD[(-168)+r11],xmm0=0D
+ movaps xmm7,XMMWORD[((-152))+r11]=0D
+ movaps XMMWORD[(-152)+r11],xmm0=0D
+ movaps xmm8,XMMWORD[((-136))+r11]=0D
+ movaps XMMWORD[(-136)+r11],xmm0=0D
+ movaps xmm9,XMMWORD[((-120))+r11]=0D
+ movaps XMMWORD[(-120)+r11],xmm0=0D
+ movaps xmm10,XMMWORD[((-104))+r11]=0D
+ movaps XMMWORD[(-104)+r11],xmm0=0D
+ movaps xmm11,XMMWORD[((-88))+r11]=0D
+ movaps XMMWORD[(-88)+r11],xmm0=0D
+ movaps xmm12,XMMWORD[((-72))+r11]=0D
+ movaps XMMWORD[(-72)+r11],xmm0=0D
+ movaps xmm13,XMMWORD[((-56))+r11]=0D
+ movaps XMMWORD[(-56)+r11],xmm0=0D
+ movaps xmm14,XMMWORD[((-40))+r11]=0D
+ movaps XMMWORD[(-40)+r11],xmm0=0D
+ movaps xmm15,XMMWORD[((-24))+r11]=0D
+ movaps XMMWORD[(-24)+r11],xmm0=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ movaps XMMWORD[64+rsp],xmm0=0D
+ movaps XMMWORD[80+rsp],xmm0=0D
+ movaps XMMWORD[96+rsp],xmm0=0D
+ mov rbp,QWORD[((-8))+r11]=0D
+=0D
+ lea rsp,[r11]=0D
+=0D
+$L$xts_dec_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_xts_decrypt:=0D
+global aesni_ocb_encrypt=0D
+=0D
+ALIGN 32=0D
+aesni_ocb_encrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_ocb_encrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ lea rax,[rsp]=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ lea rsp,[((-160))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+ movaps XMMWORD[64+rsp],xmm10=0D
+ movaps XMMWORD[80+rsp],xmm11=0D
+ movaps XMMWORD[96+rsp],xmm12=0D
+ movaps XMMWORD[112+rsp],xmm13=0D
+ movaps XMMWORD[128+rsp],xmm14=0D
+ movaps XMMWORD[144+rsp],xmm15=0D
+$L$ocb_enc_body:=0D
+ mov rbx,QWORD[56+rax]=0D
+ mov rbp,QWORD[((56+8))+rax]=0D
+=0D
+ mov r10d,DWORD[240+rcx]=0D
+ mov r11,rcx=0D
+ shl r10d,4=0D
+ movups xmm9,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+r10*1+rcx]=0D
+=0D
+ movdqu xmm15,XMMWORD[r9]=0D
+ pxor xmm9,xmm1=0D
+ pxor xmm15,xmm1=0D
+=0D
+ mov eax,16+32=0D
+ lea rcx,[32+r10*1+r11]=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ sub rax,r10=0D
+ mov r10,rax=0D
+=0D
+ movdqu xmm10,XMMWORD[rbx]=0D
+ movdqu xmm8,XMMWORD[rbp]=0D
+=0D
+ test r8,1=0D
+ jnz NEAR $L$ocb_enc_odd=0D
+=0D
+ bsf r12,r8=0D
+ add r8,1=0D
+ shl r12,4=0D
+ movdqu xmm7,XMMWORD[r12*1+rbx]=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ lea rdi,[16+rdi]=0D
+=0D
+ call __ocb_encrypt1=0D
+=0D
+ movdqa xmm15,xmm7=0D
+ movups XMMWORD[rsi],xmm2=0D
+ lea rsi,[16+rsi]=0D
+ sub rdx,1=0D
+ jz NEAR $L$ocb_enc_done=0D
+=0D
+$L$ocb_enc_odd:=0D
+ lea r12,[1+r8]=0D
+ lea r13,[3+r8]=0D
+ lea r14,[5+r8]=0D
+ lea r8,[6+r8]=0D
+ bsf r12,r12=0D
+ bsf r13,r13=0D
+ bsf r14,r14=0D
+ shl r12,4=0D
+ shl r13,4=0D
+ shl r14,4=0D
+=0D
+ sub rdx,6=0D
+ jc NEAR $L$ocb_enc_short=0D
+ jmp NEAR $L$ocb_enc_grandloop=0D
+=0D
+ALIGN 32=0D
+$L$ocb_enc_grandloop:=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ lea rdi,[96+rdi]=0D
+=0D
+ call __ocb_encrypt6=0D
+=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ lea rsi,[96+rsi]=0D
+ sub rdx,6=0D
+ jnc NEAR $L$ocb_enc_grandloop=0D
+=0D
+$L$ocb_enc_short:=0D
+ add rdx,6=0D
+ jz NEAR $L$ocb_enc_done=0D
+=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ cmp rdx,2=0D
+ jb NEAR $L$ocb_enc_one=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ je NEAR $L$ocb_enc_two=0D
+=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ cmp rdx,4=0D
+ jb NEAR $L$ocb_enc_three=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ je NEAR $L$ocb_enc_four=0D
+=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ pxor xmm7,xmm7=0D
+=0D
+ call __ocb_encrypt6=0D
+=0D
+ movdqa xmm15,xmm14=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+=0D
+ jmp NEAR $L$ocb_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_enc_one:=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ call __ocb_encrypt1=0D
+=0D
+ movdqa xmm15,xmm7=0D
+ movups XMMWORD[rsi],xmm2=0D
+ jmp NEAR $L$ocb_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_enc_two:=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+=0D
+ call __ocb_encrypt4=0D
+=0D
+ movdqa xmm15,xmm11=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+=0D
+ jmp NEAR $L$ocb_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_enc_three:=0D
+ pxor xmm5,xmm5=0D
+=0D
+ call __ocb_encrypt4=0D
+=0D
+ movdqa xmm15,xmm12=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+=0D
+ jmp NEAR $L$ocb_enc_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_enc_four:=0D
+ call __ocb_encrypt4=0D
+=0D
+ movdqa xmm15,xmm13=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+=0D
+$L$ocb_enc_done:=0D
+ pxor xmm15,xmm0=0D
+ movdqu XMMWORD[rbp],xmm8=0D
+ movdqu XMMWORD[r9],xmm15=0D
+=0D
+ xorps xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+ movaps xmm6,XMMWORD[rsp]=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps xmm7,XMMWORD[16+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps xmm8,XMMWORD[32+rsp]=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps xmm9,XMMWORD[48+rsp]=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ movaps xmm10,XMMWORD[64+rsp]=0D
+ movaps XMMWORD[64+rsp],xmm0=0D
+ movaps xmm11,XMMWORD[80+rsp]=0D
+ movaps XMMWORD[80+rsp],xmm0=0D
+ movaps xmm12,XMMWORD[96+rsp]=0D
+ movaps XMMWORD[96+rsp],xmm0=0D
+ movaps xmm13,XMMWORD[112+rsp]=0D
+ movaps XMMWORD[112+rsp],xmm0=0D
+ movaps xmm14,XMMWORD[128+rsp]=0D
+ movaps XMMWORD[128+rsp],xmm0=0D
+ movaps xmm15,XMMWORD[144+rsp]=0D
+ movaps XMMWORD[144+rsp],xmm0=0D
+ lea rax,[((160+40))+rsp]=0D
+$L$ocb_enc_pop:=0D
+ mov r14,QWORD[((-40))+rax]=0D
+=0D
+ mov r13,QWORD[((-32))+rax]=0D
+=0D
+ mov r12,QWORD[((-24))+rax]=0D
+=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+=0D
+ lea rsp,[rax]=0D
+=0D
+$L$ocb_enc_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_ocb_encrypt:=0D
+=0D
+=0D
+ALIGN 32=0D
+__ocb_encrypt6:=0D
+=0D
+ pxor xmm15,xmm9=0D
+ movdqu xmm11,XMMWORD[r12*1+rbx]=0D
+ movdqa xmm12,xmm10=0D
+ movdqu xmm13,XMMWORD[r13*1+rbx]=0D
+ movdqa xmm14,xmm10=0D
+ pxor xmm10,xmm15=0D
+ movdqu xmm15,XMMWORD[r14*1+rbx]=0D
+ pxor xmm11,xmm10=0D
+ pxor xmm8,xmm2=0D
+ pxor xmm2,xmm10=0D
+ pxor xmm12,xmm11=0D
+ pxor xmm8,xmm3=0D
+ pxor xmm3,xmm11=0D
+ pxor xmm13,xmm12=0D
+ pxor xmm8,xmm4=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm14,xmm13=0D
+ pxor xmm8,xmm5=0D
+ pxor xmm5,xmm13=0D
+ pxor xmm15,xmm14=0D
+ pxor xmm8,xmm6=0D
+ pxor xmm6,xmm14=0D
+ pxor xmm8,xmm7=0D
+ pxor xmm7,xmm15=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+=0D
+ lea r12,[1+r8]=0D
+ lea r13,[3+r8]=0D
+ lea r14,[5+r8]=0D
+ add r8,6=0D
+ pxor xmm10,xmm9=0D
+ bsf r12,r12=0D
+ bsf r13,r13=0D
+ bsf r14,r14=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ pxor xmm11,xmm9=0D
+ pxor xmm12,xmm9=0D
+DB 102,15,56,220,241=0D
+ pxor xmm13,xmm9=0D
+ pxor xmm14,xmm9=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[48+r11]=0D
+ pxor xmm15,xmm9=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+ movups xmm0,XMMWORD[64+r11]=0D
+ shl r12,4=0D
+ shl r13,4=0D
+ jmp NEAR $L$ocb_enc_loop6=0D
+=0D
+ALIGN 32=0D
+$L$ocb_enc_loop6:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+DB 102,15,56,220,240=0D
+DB 102,15,56,220,248=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ocb_enc_loop6=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+DB 102,15,56,220,241=0D
+DB 102,15,56,220,249=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ shl r14,4=0D
+=0D
+DB 102,65,15,56,221,210=0D
+ movdqu xmm10,XMMWORD[rbx]=0D
+ mov rax,r10=0D
+DB 102,65,15,56,221,219=0D
+DB 102,65,15,56,221,228=0D
+DB 102,65,15,56,221,237=0D
+DB 102,65,15,56,221,246=0D
+DB 102,65,15,56,221,255=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 32=0D
+__ocb_encrypt4:=0D
+=0D
+ pxor xmm15,xmm9=0D
+ movdqu xmm11,XMMWORD[r12*1+rbx]=0D
+ movdqa xmm12,xmm10=0D
+ movdqu xmm13,XMMWORD[r13*1+rbx]=0D
+ pxor xmm10,xmm15=0D
+ pxor xmm11,xmm10=0D
+ pxor xmm8,xmm2=0D
+ pxor xmm2,xmm10=0D
+ pxor xmm12,xmm11=0D
+ pxor xmm8,xmm3=0D
+ pxor xmm3,xmm11=0D
+ pxor xmm13,xmm12=0D
+ pxor xmm8,xmm4=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm8,xmm5=0D
+ pxor xmm5,xmm13=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+=0D
+ pxor xmm10,xmm9=0D
+ pxor xmm11,xmm9=0D
+ pxor xmm12,xmm9=0D
+ pxor xmm13,xmm9=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[48+r11]=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[64+r11]=0D
+ jmp NEAR $L$ocb_enc_loop4=0D
+=0D
+ALIGN 32=0D
+$L$ocb_enc_loop4:=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,220,208=0D
+DB 102,15,56,220,216=0D
+DB 102,15,56,220,224=0D
+DB 102,15,56,220,232=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ocb_enc_loop4=0D
+=0D
+DB 102,15,56,220,209=0D
+DB 102,15,56,220,217=0D
+DB 102,15,56,220,225=0D
+DB 102,15,56,220,233=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ mov rax,r10=0D
+=0D
+DB 102,65,15,56,221,210=0D
+DB 102,65,15,56,221,219=0D
+DB 102,65,15,56,221,228=0D
+DB 102,65,15,56,221,237=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 32=0D
+__ocb_encrypt1:=0D
+=0D
+ pxor xmm7,xmm15=0D
+ pxor xmm7,xmm9=0D
+ pxor xmm8,xmm2=0D
+ pxor xmm2,xmm7=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[48+r11]=0D
+ pxor xmm7,xmm9=0D
+=0D
+DB 102,15,56,220,208=0D
+ movups xmm0,XMMWORD[64+r11]=0D
+ jmp NEAR $L$ocb_enc_loop1=0D
+=0D
+ALIGN 32=0D
+$L$ocb_enc_loop1:=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,220,208=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ocb_enc_loop1=0D
+=0D
+DB 102,15,56,220,209=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ mov rax,r10=0D
+=0D
+DB 102,15,56,221,215=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+global aesni_ocb_decrypt=0D
+=0D
+ALIGN 32=0D
+aesni_ocb_decrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_ocb_decrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ lea rax,[rsp]=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ lea rsp,[((-160))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+ movaps XMMWORD[64+rsp],xmm10=0D
+ movaps XMMWORD[80+rsp],xmm11=0D
+ movaps XMMWORD[96+rsp],xmm12=0D
+ movaps XMMWORD[112+rsp],xmm13=0D
+ movaps XMMWORD[128+rsp],xmm14=0D
+ movaps XMMWORD[144+rsp],xmm15=0D
+$L$ocb_dec_body:=0D
+ mov rbx,QWORD[56+rax]=0D
+ mov rbp,QWORD[((56+8))+rax]=0D
+=0D
+ mov r10d,DWORD[240+rcx]=0D
+ mov r11,rcx=0D
+ shl r10d,4=0D
+ movups xmm9,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+r10*1+rcx]=0D
+=0D
+ movdqu xmm15,XMMWORD[r9]=0D
+ pxor xmm9,xmm1=0D
+ pxor xmm15,xmm1=0D
+=0D
+ mov eax,16+32=0D
+ lea rcx,[32+r10*1+r11]=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ sub rax,r10=0D
+ mov r10,rax=0D
+=0D
+ movdqu xmm10,XMMWORD[rbx]=0D
+ movdqu xmm8,XMMWORD[rbp]=0D
+=0D
+ test r8,1=0D
+ jnz NEAR $L$ocb_dec_odd=0D
+=0D
+ bsf r12,r8=0D
+ add r8,1=0D
+ shl r12,4=0D
+ movdqu xmm7,XMMWORD[r12*1+rbx]=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ lea rdi,[16+rdi]=0D
+=0D
+ call __ocb_decrypt1=0D
+=0D
+ movdqa xmm15,xmm7=0D
+ movups XMMWORD[rsi],xmm2=0D
+ xorps xmm8,xmm2=0D
+ lea rsi,[16+rsi]=0D
+ sub rdx,1=0D
+ jz NEAR $L$ocb_dec_done=0D
+=0D
+$L$ocb_dec_odd:=0D
+ lea r12,[1+r8]=0D
+ lea r13,[3+r8]=0D
+ lea r14,[5+r8]=0D
+ lea r8,[6+r8]=0D
+ bsf r12,r12=0D
+ bsf r13,r13=0D
+ bsf r14,r14=0D
+ shl r12,4=0D
+ shl r13,4=0D
+ shl r14,4=0D
+=0D
+ sub rdx,6=0D
+ jc NEAR $L$ocb_dec_short=0D
+ jmp NEAR $L$ocb_dec_grandloop=0D
+=0D
+ALIGN 32=0D
+$L$ocb_dec_grandloop:=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ lea rdi,[96+rdi]=0D
+=0D
+ call __ocb_decrypt6=0D
+=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm8,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm8,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm8,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm8,xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ pxor xmm8,xmm6=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ pxor xmm8,xmm7=0D
+ lea rsi,[96+rsi]=0D
+ sub rdx,6=0D
+ jnc NEAR $L$ocb_dec_grandloop=0D
+=0D
+$L$ocb_dec_short:=0D
+ add rdx,6=0D
+ jz NEAR $L$ocb_dec_done=0D
+=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ cmp rdx,2=0D
+ jb NEAR $L$ocb_dec_one=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ je NEAR $L$ocb_dec_two=0D
+=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ cmp rdx,4=0D
+ jb NEAR $L$ocb_dec_three=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ je NEAR $L$ocb_dec_four=0D
+=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ pxor xmm7,xmm7=0D
+=0D
+ call __ocb_decrypt6=0D
+=0D
+ movdqa xmm15,xmm14=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm8,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm8,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm8,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm8,xmm5=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ pxor xmm8,xmm6=0D
+=0D
+ jmp NEAR $L$ocb_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_dec_one:=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ call __ocb_decrypt1=0D
+=0D
+ movdqa xmm15,xmm7=0D
+ movups XMMWORD[rsi],xmm2=0D
+ xorps xmm8,xmm2=0D
+ jmp NEAR $L$ocb_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_dec_two:=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+=0D
+ call __ocb_decrypt4=0D
+=0D
+ movdqa xmm15,xmm11=0D
+ movups XMMWORD[rsi],xmm2=0D
+ xorps xmm8,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ xorps xmm8,xmm3=0D
+=0D
+ jmp NEAR $L$ocb_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_dec_three:=0D
+ pxor xmm5,xmm5=0D
+=0D
+ call __ocb_decrypt4=0D
+=0D
+ movdqa xmm15,xmm12=0D
+ movups XMMWORD[rsi],xmm2=0D
+ xorps xmm8,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ xorps xmm8,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ xorps xmm8,xmm4=0D
+=0D
+ jmp NEAR $L$ocb_dec_done=0D
+=0D
+ALIGN 16=0D
+$L$ocb_dec_four:=0D
+ call __ocb_decrypt4=0D
+=0D
+ movdqa xmm15,xmm13=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm8,xmm2=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ pxor xmm8,xmm3=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ pxor xmm8,xmm4=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ pxor xmm8,xmm5=0D
+=0D
+$L$ocb_dec_done:=0D
+ pxor xmm15,xmm0=0D
+ movdqu XMMWORD[rbp],xmm8=0D
+ movdqu XMMWORD[r9],xmm15=0D
+=0D
+ xorps xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+ movaps xmm6,XMMWORD[rsp]=0D
+ movaps XMMWORD[rsp],xmm0=0D
+ movaps xmm7,XMMWORD[16+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps xmm8,XMMWORD[32+rsp]=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps xmm9,XMMWORD[48+rsp]=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ movaps xmm10,XMMWORD[64+rsp]=0D
+ movaps XMMWORD[64+rsp],xmm0=0D
+ movaps xmm11,XMMWORD[80+rsp]=0D
+ movaps XMMWORD[80+rsp],xmm0=0D
+ movaps xmm12,XMMWORD[96+rsp]=0D
+ movaps XMMWORD[96+rsp],xmm0=0D
+ movaps xmm13,XMMWORD[112+rsp]=0D
+ movaps XMMWORD[112+rsp],xmm0=0D
+ movaps xmm14,XMMWORD[128+rsp]=0D
+ movaps XMMWORD[128+rsp],xmm0=0D
+ movaps xmm15,XMMWORD[144+rsp]=0D
+ movaps XMMWORD[144+rsp],xmm0=0D
+ lea rax,[((160+40))+rsp]=0D
+$L$ocb_dec_pop:=0D
+ mov r14,QWORD[((-40))+rax]=0D
+=0D
+ mov r13,QWORD[((-32))+rax]=0D
+=0D
+ mov r12,QWORD[((-24))+rax]=0D
+=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+=0D
+ lea rsp,[rax]=0D
+=0D
+$L$ocb_dec_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_ocb_decrypt:=0D
+=0D
+=0D
+ALIGN 32=0D
+__ocb_decrypt6:=0D
+=0D
+ pxor xmm15,xmm9=0D
+ movdqu xmm11,XMMWORD[r12*1+rbx]=0D
+ movdqa xmm12,xmm10=0D
+ movdqu xmm13,XMMWORD[r13*1+rbx]=0D
+ movdqa xmm14,xmm10=0D
+ pxor xmm10,xmm15=0D
+ movdqu xmm15,XMMWORD[r14*1+rbx]=0D
+ pxor xmm11,xmm10=0D
+ pxor xmm2,xmm10=0D
+ pxor xmm12,xmm11=0D
+ pxor xmm3,xmm11=0D
+ pxor xmm13,xmm12=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm14,xmm13=0D
+ pxor xmm5,xmm13=0D
+ pxor xmm15,xmm14=0D
+ pxor xmm6,xmm14=0D
+ pxor xmm7,xmm15=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+=0D
+ lea r12,[1+r8]=0D
+ lea r13,[3+r8]=0D
+ lea r14,[5+r8]=0D
+ add r8,6=0D
+ pxor xmm10,xmm9=0D
+ bsf r12,r12=0D
+ bsf r13,r13=0D
+ bsf r14,r14=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ pxor xmm11,xmm9=0D
+ pxor xmm12,xmm9=0D
+DB 102,15,56,222,241=0D
+ pxor xmm13,xmm9=0D
+ pxor xmm14,xmm9=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[48+r11]=0D
+ pxor xmm15,xmm9=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+ movups xmm0,XMMWORD[64+r11]=0D
+ shl r12,4=0D
+ shl r13,4=0D
+ jmp NEAR $L$ocb_dec_loop6=0D
+=0D
+ALIGN 32=0D
+$L$ocb_dec_loop6:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ocb_dec_loop6=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ shl r14,4=0D
+=0D
+DB 102,65,15,56,223,210=0D
+ movdqu xmm10,XMMWORD[rbx]=0D
+ mov rax,r10=0D
+DB 102,65,15,56,223,219=0D
+DB 102,65,15,56,223,228=0D
+DB 102,65,15,56,223,237=0D
+DB 102,65,15,56,223,246=0D
+DB 102,65,15,56,223,255=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 32=0D
+__ocb_decrypt4:=0D
+=0D
+ pxor xmm15,xmm9=0D
+ movdqu xmm11,XMMWORD[r12*1+rbx]=0D
+ movdqa xmm12,xmm10=0D
+ movdqu xmm13,XMMWORD[r13*1+rbx]=0D
+ pxor xmm10,xmm15=0D
+ pxor xmm11,xmm10=0D
+ pxor xmm2,xmm10=0D
+ pxor xmm12,xmm11=0D
+ pxor xmm3,xmm11=0D
+ pxor xmm13,xmm12=0D
+ pxor xmm4,xmm12=0D
+ pxor xmm5,xmm13=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+=0D
+ pxor xmm10,xmm9=0D
+ pxor xmm11,xmm9=0D
+ pxor xmm12,xmm9=0D
+ pxor xmm13,xmm9=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[48+r11]=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[64+r11]=0D
+ jmp NEAR $L$ocb_dec_loop4=0D
+=0D
+ALIGN 32=0D
+$L$ocb_dec_loop4:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ocb_dec_loop4=0D
+=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ mov rax,r10=0D
+=0D
+DB 102,65,15,56,223,210=0D
+DB 102,65,15,56,223,219=0D
+DB 102,65,15,56,223,228=0D
+DB 102,65,15,56,223,237=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 32=0D
+__ocb_decrypt1:=0D
+=0D
+ pxor xmm7,xmm15=0D
+ pxor xmm7,xmm9=0D
+ pxor xmm2,xmm7=0D
+ movups xmm0,XMMWORD[32+r11]=0D
+=0D
+DB 102,15,56,222,209=0D
+ movups xmm1,XMMWORD[48+r11]=0D
+ pxor xmm7,xmm9=0D
+=0D
+DB 102,15,56,222,208=0D
+ movups xmm0,XMMWORD[64+r11]=0D
+ jmp NEAR $L$ocb_dec_loop1=0D
+=0D
+ALIGN 32=0D
+$L$ocb_dec_loop1:=0D
+DB 102,15,56,222,209=0D
+ movups xmm1,XMMWORD[rax*1+rcx]=0D
+ add rax,32=0D
+=0D
+DB 102,15,56,222,208=0D
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]=0D
+ jnz NEAR $L$ocb_dec_loop1=0D
+=0D
+DB 102,15,56,222,209=0D
+ movups xmm1,XMMWORD[16+r11]=0D
+ mov rax,r10=0D
+=0D
+DB 102,15,56,223,215=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+global aesni_cbc_encrypt=0D
+=0D
+ALIGN 16=0D
+aesni_cbc_encrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_aesni_cbc_encrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ test rdx,rdx=0D
+ jz NEAR $L$cbc_ret=0D
+=0D
+ mov r10d,DWORD[240+rcx]=0D
+ mov r11,rcx=0D
+ test r9d,r9d=0D
+ jz NEAR $L$cbc_decrypt=0D
+=0D
+ movups xmm2,XMMWORD[r8]=0D
+ mov eax,r10d=0D
+ cmp rdx,16=0D
+ jb NEAR $L$cbc_enc_tail=0D
+ sub rdx,16=0D
+ jmp NEAR $L$cbc_enc_loop=0D
+ALIGN 16=0D
+$L$cbc_enc_loop:=0D
+ movups xmm3,XMMWORD[rdi]=0D
+ lea rdi,[16+rdi]=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ xorps xmm3,xmm0=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm3=0D
+$L$oop_enc1_15:=0D
+DB 102,15,56,220,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_enc1_15=0D
+DB 102,15,56,221,209=0D
+ mov eax,r10d=0D
+ mov rcx,r11=0D
+ movups XMMWORD[rsi],xmm2=0D
+ lea rsi,[16+rsi]=0D
+ sub rdx,16=0D
+ jnc NEAR $L$cbc_enc_loop=0D
+ add rdx,16=0D
+ jnz NEAR $L$cbc_enc_tail=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ movups XMMWORD[r8],xmm2=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ jmp NEAR $L$cbc_ret=0D
+=0D
+$L$cbc_enc_tail:=0D
+ mov rcx,rdx=0D
+ xchg rsi,rdi=0D
+ DD 0x9066A4F3=0D
+ mov ecx,16=0D
+ sub rcx,rdx=0D
+ xor eax,eax=0D
+ DD 0x9066AAF3=0D
+ lea rdi,[((-16))+rdi]=0D
+ mov eax,r10d=0D
+ mov rsi,rdi=0D
+ mov rcx,r11=0D
+ xor rdx,rdx=0D
+ jmp NEAR $L$cbc_enc_loop=0D
+=0D
+ALIGN 16=0D
+$L$cbc_decrypt:=0D
+ cmp rdx,16=0D
+ jne NEAR $L$cbc_decrypt_bulk=0D
+=0D
+=0D
+=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[r8]=0D
+ movdqa xmm4,xmm2=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_dec1_16:=0D
+DB 102,15,56,222,209=0D
+ dec r10d=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_dec1_16=0D
+DB 102,15,56,223,209=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ movdqu XMMWORD[r8],xmm4=0D
+ xorps xmm2,xmm3=0D
+ pxor xmm3,xmm3=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ jmp NEAR $L$cbc_ret=0D
+ALIGN 16=0D
+$L$cbc_decrypt_bulk:=0D
+ lea r11,[rsp]=0D
+=0D
+ push rbp=0D
+=0D
+ sub rsp,176=0D
+ and rsp,-16=0D
+ movaps XMMWORD[16+rsp],xmm6=0D
+ movaps XMMWORD[32+rsp],xmm7=0D
+ movaps XMMWORD[48+rsp],xmm8=0D
+ movaps XMMWORD[64+rsp],xmm9=0D
+ movaps XMMWORD[80+rsp],xmm10=0D
+ movaps XMMWORD[96+rsp],xmm11=0D
+ movaps XMMWORD[112+rsp],xmm12=0D
+ movaps XMMWORD[128+rsp],xmm13=0D
+ movaps XMMWORD[144+rsp],xmm14=0D
+ movaps XMMWORD[160+rsp],xmm15=0D
+$L$cbc_decrypt_body:=0D
+ mov rbp,rcx=0D
+ movups xmm10,XMMWORD[r8]=0D
+ mov eax,r10d=0D
+ cmp rdx,0x50=0D
+ jbe NEAR $L$cbc_dec_tail=0D
+=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqa xmm11,xmm2=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movdqa xmm12,xmm3=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movdqa xmm13,xmm4=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movdqa xmm14,xmm5=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ movdqa xmm15,xmm6=0D
+ mov r9d,DWORD[((OPENSSL_ia32cap_P+4))]=0D
+ cmp rdx,0x70=0D
+ jbe NEAR $L$cbc_dec_six_or_seven=0D
+=0D
+ and r9d,71303168=0D
+ sub rdx,0x50=0D
+ cmp r9d,4194304=0D
+ je NEAR $L$cbc_dec_loop6_enter=0D
+ sub rdx,0x20=0D
+ lea rcx,[112+rcx]=0D
+ jmp NEAR $L$cbc_dec_loop8_enter=0D
+ALIGN 16=0D
+$L$cbc_dec_loop8:=0D
+ movups XMMWORD[rsi],xmm9=0D
+ lea rsi,[16+rsi]=0D
+$L$cbc_dec_loop8_enter:=0D
+ movdqu xmm8,XMMWORD[96+rdi]=0D
+ pxor xmm2,xmm0=0D
+ movdqu xmm9,XMMWORD[112+rdi]=0D
+ pxor xmm3,xmm0=0D
+ movups xmm1,XMMWORD[((16-112))+rcx]=0D
+ pxor xmm4,xmm0=0D
+ mov rbp,-1=0D
+ cmp rdx,0x70=0D
+ pxor xmm5,xmm0=0D
+ pxor xmm6,xmm0=0D
+ pxor xmm7,xmm0=0D
+ pxor xmm8,xmm0=0D
+=0D
+DB 102,15,56,222,209=0D
+ pxor xmm9,xmm0=0D
+ movups xmm0,XMMWORD[((32-112))+rcx]=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+ adc rbp,0=0D
+ and rbp,128=0D
+DB 102,68,15,56,222,201=0D
+ add rbp,rdi=0D
+ movups xmm1,XMMWORD[((48-112))+rcx]=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+DB 102,68,15,56,222,192=0D
+DB 102,68,15,56,222,200=0D
+ movups xmm0,XMMWORD[((64-112))+rcx]=0D
+ nop=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+ movups xmm1,XMMWORD[((80-112))+rcx]=0D
+ nop=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+DB 102,68,15,56,222,192=0D
+DB 102,68,15,56,222,200=0D
+ movups xmm0,XMMWORD[((96-112))+rcx]=0D
+ nop=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+ movups xmm1,XMMWORD[((112-112))+rcx]=0D
+ nop=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+DB 102,68,15,56,222,192=0D
+DB 102,68,15,56,222,200=0D
+ movups xmm0,XMMWORD[((128-112))+rcx]=0D
+ nop=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+ movups xmm1,XMMWORD[((144-112))+rcx]=0D
+ cmp eax,11=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+DB 102,68,15,56,222,192=0D
+DB 102,68,15,56,222,200=0D
+ movups xmm0,XMMWORD[((160-112))+rcx]=0D
+ jb NEAR $L$cbc_dec_done=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+ movups xmm1,XMMWORD[((176-112))+rcx]=0D
+ nop=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+DB 102,68,15,56,222,192=0D
+DB 102,68,15,56,222,200=0D
+ movups xmm0,XMMWORD[((192-112))+rcx]=0D
+ je NEAR $L$cbc_dec_done=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+ movups xmm1,XMMWORD[((208-112))+rcx]=0D
+ nop=0D
+DB 102,15,56,222,208=0D
+DB 102,15,56,222,216=0D
+DB 102,15,56,222,224=0D
+DB 102,15,56,222,232=0D
+DB 102,15,56,222,240=0D
+DB 102,15,56,222,248=0D
+DB 102,68,15,56,222,192=0D
+DB 102,68,15,56,222,200=0D
+ movups xmm0,XMMWORD[((224-112))+rcx]=0D
+ jmp NEAR $L$cbc_dec_done=0D
+ALIGN 16=0D
+$L$cbc_dec_done:=0D
+DB 102,15,56,222,209=0D
+DB 102,15,56,222,217=0D
+ pxor xmm10,xmm0=0D
+ pxor xmm11,xmm0=0D
+DB 102,15,56,222,225=0D
+DB 102,15,56,222,233=0D
+ pxor xmm12,xmm0=0D
+ pxor xmm13,xmm0=0D
+DB 102,15,56,222,241=0D
+DB 102,15,56,222,249=0D
+ pxor xmm14,xmm0=0D
+ pxor xmm15,xmm0=0D
+DB 102,68,15,56,222,193=0D
+DB 102,68,15,56,222,201=0D
+ movdqu xmm1,XMMWORD[80+rdi]=0D
+=0D
+DB 102,65,15,56,223,210=0D
+ movdqu xmm10,XMMWORD[96+rdi]=0D
+ pxor xmm1,xmm0=0D
+DB 102,65,15,56,223,219=0D
+ pxor xmm10,xmm0=0D
+ movdqu xmm0,XMMWORD[112+rdi]=0D
+DB 102,65,15,56,223,228=0D
+ lea rdi,[128+rdi]=0D
+ movdqu xmm11,XMMWORD[rbp]=0D
+DB 102,65,15,56,223,237=0D
+DB 102,65,15,56,223,246=0D
+ movdqu xmm12,XMMWORD[16+rbp]=0D
+ movdqu xmm13,XMMWORD[32+rbp]=0D
+DB 102,65,15,56,223,255=0D
+DB 102,68,15,56,223,193=0D
+ movdqu xmm14,XMMWORD[48+rbp]=0D
+ movdqu xmm15,XMMWORD[64+rbp]=0D
+DB 102,69,15,56,223,202=0D
+ movdqa xmm10,xmm0=0D
+ movdqu xmm1,XMMWORD[80+rbp]=0D
+ movups xmm0,XMMWORD[((-112))+rcx]=0D
+=0D
+ movups XMMWORD[rsi],xmm2=0D
+ movdqa xmm2,xmm11=0D
+ movups XMMWORD[16+rsi],xmm3=0D
+ movdqa xmm3,xmm12=0D
+ movups XMMWORD[32+rsi],xmm4=0D
+ movdqa xmm4,xmm13=0D
+ movups XMMWORD[48+rsi],xmm5=0D
+ movdqa xmm5,xmm14=0D
+ movups XMMWORD[64+rsi],xmm6=0D
+ movdqa xmm6,xmm15=0D
+ movups XMMWORD[80+rsi],xmm7=0D
+ movdqa xmm7,xmm1=0D
+ movups XMMWORD[96+rsi],xmm8=0D
+ lea rsi,[112+rsi]=0D
+=0D
+ sub rdx,0x80=0D
+ ja NEAR $L$cbc_dec_loop8=0D
+=0D
+ movaps xmm2,xmm9=0D
+ lea rcx,[((-112))+rcx]=0D
+ add rdx,0x70=0D
+ jle NEAR $L$cbc_dec_clear_tail_collected=0D
+ movups XMMWORD[rsi],xmm9=0D
+ lea rsi,[16+rsi]=0D
+ cmp rdx,0x50=0D
+ jbe NEAR $L$cbc_dec_tail=0D
+=0D
+ movaps xmm2,xmm11=0D
+$L$cbc_dec_six_or_seven:=0D
+ cmp rdx,0x60=0D
+ ja NEAR $L$cbc_dec_seven=0D
+=0D
+ movaps xmm8,xmm7=0D
+ call _aesni_decrypt6=0D
+ pxor xmm2,xmm10=0D
+ movaps xmm10,xmm8=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm6,xmm14=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ pxor xmm7,xmm15=0D
+ movdqu XMMWORD[64+rsi],xmm6=0D
+ pxor xmm6,xmm6=0D
+ lea rsi,[80+rsi]=0D
+ movdqa xmm2,xmm7=0D
+ pxor xmm7,xmm7=0D
+ jmp NEAR $L$cbc_dec_tail_collected=0D
+=0D
+ALIGN 16=0D
+$L$cbc_dec_seven:=0D
+ movups xmm8,XMMWORD[96+rdi]=0D
+ xorps xmm9,xmm9=0D
+ call _aesni_decrypt8=0D
+ movups xmm9,XMMWORD[80+rdi]=0D
+ pxor xmm2,xmm10=0D
+ movups xmm10,XMMWORD[96+rdi]=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm6,xmm14=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ pxor xmm7,xmm15=0D
+ movdqu XMMWORD[64+rsi],xmm6=0D
+ pxor xmm6,xmm6=0D
+ pxor xmm8,xmm9=0D
+ movdqu XMMWORD[80+rsi],xmm7=0D
+ pxor xmm7,xmm7=0D
+ lea rsi,[96+rsi]=0D
+ movdqa xmm2,xmm8=0D
+ pxor xmm8,xmm8=0D
+ pxor xmm9,xmm9=0D
+ jmp NEAR $L$cbc_dec_tail_collected=0D
+=0D
+ALIGN 16=0D
+$L$cbc_dec_loop6:=0D
+ movups XMMWORD[rsi],xmm7=0D
+ lea rsi,[16+rsi]=0D
+ movdqu xmm2,XMMWORD[rdi]=0D
+ movdqu xmm3,XMMWORD[16+rdi]=0D
+ movdqa xmm11,xmm2=0D
+ movdqu xmm4,XMMWORD[32+rdi]=0D
+ movdqa xmm12,xmm3=0D
+ movdqu xmm5,XMMWORD[48+rdi]=0D
+ movdqa xmm13,xmm4=0D
+ movdqu xmm6,XMMWORD[64+rdi]=0D
+ movdqa xmm14,xmm5=0D
+ movdqu xmm7,XMMWORD[80+rdi]=0D
+ movdqa xmm15,xmm6=0D
+$L$cbc_dec_loop6_enter:=0D
+ lea rdi,[96+rdi]=0D
+ movdqa xmm8,xmm7=0D
+=0D
+ call _aesni_decrypt6=0D
+=0D
+ pxor xmm2,xmm10=0D
+ movdqa xmm10,xmm8=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm6,xmm14=0D
+ mov rcx,rbp=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ pxor xmm7,xmm15=0D
+ mov eax,r10d=0D
+ movdqu XMMWORD[64+rsi],xmm6=0D
+ lea rsi,[80+rsi]=0D
+ sub rdx,0x60=0D
+ ja NEAR $L$cbc_dec_loop6=0D
+=0D
+ movdqa xmm2,xmm7=0D
+ add rdx,0x50=0D
+ jle NEAR $L$cbc_dec_clear_tail_collected=0D
+ movups XMMWORD[rsi],xmm7=0D
+ lea rsi,[16+rsi]=0D
+=0D
+$L$cbc_dec_tail:=0D
+ movups xmm2,XMMWORD[rdi]=0D
+ sub rdx,0x10=0D
+ jbe NEAR $L$cbc_dec_one=0D
+=0D
+ movups xmm3,XMMWORD[16+rdi]=0D
+ movaps xmm11,xmm2=0D
+ sub rdx,0x10=0D
+ jbe NEAR $L$cbc_dec_two=0D
+=0D
+ movups xmm4,XMMWORD[32+rdi]=0D
+ movaps xmm12,xmm3=0D
+ sub rdx,0x10=0D
+ jbe NEAR $L$cbc_dec_three=0D
+=0D
+ movups xmm5,XMMWORD[48+rdi]=0D
+ movaps xmm13,xmm4=0D
+ sub rdx,0x10=0D
+ jbe NEAR $L$cbc_dec_four=0D
+=0D
+ movups xmm6,XMMWORD[64+rdi]=0D
+ movaps xmm14,xmm5=0D
+ movaps xmm15,xmm6=0D
+ xorps xmm7,xmm7=0D
+ call _aesni_decrypt6=0D
+ pxor xmm2,xmm10=0D
+ movaps xmm10,xmm15=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm6,xmm14=0D
+ movdqu XMMWORD[48+rsi],xmm5=0D
+ pxor xmm5,xmm5=0D
+ lea rsi,[64+rsi]=0D
+ movdqa xmm2,xmm6=0D
+ pxor xmm6,xmm6=0D
+ pxor xmm7,xmm7=0D
+ sub rdx,0x10=0D
+ jmp NEAR $L$cbc_dec_tail_collected=0D
+=0D
+ALIGN 16=0D
+$L$cbc_dec_one:=0D
+ movaps xmm11,xmm2=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ movups xmm1,XMMWORD[16+rcx]=0D
+ lea rcx,[32+rcx]=0D
+ xorps xmm2,xmm0=0D
+$L$oop_dec1_17:=0D
+DB 102,15,56,222,209=0D
+ dec eax=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ lea rcx,[16+rcx]=0D
+ jnz NEAR $L$oop_dec1_17=0D
+DB 102,15,56,223,209=0D
+ xorps xmm2,xmm10=0D
+ movaps xmm10,xmm11=0D
+ jmp NEAR $L$cbc_dec_tail_collected=0D
+ALIGN 16=0D
+$L$cbc_dec_two:=0D
+ movaps xmm12,xmm3=0D
+ call _aesni_decrypt2=0D
+ pxor xmm2,xmm10=0D
+ movaps xmm10,xmm12=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ movdqa xmm2,xmm3=0D
+ pxor xmm3,xmm3=0D
+ lea rsi,[16+rsi]=0D
+ jmp NEAR $L$cbc_dec_tail_collected=0D
+ALIGN 16=0D
+$L$cbc_dec_three:=0D
+ movaps xmm13,xmm4=0D
+ call _aesni_decrypt3=0D
+ pxor xmm2,xmm10=0D
+ movaps xmm10,xmm13=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ movdqa xmm2,xmm4=0D
+ pxor xmm4,xmm4=0D
+ lea rsi,[32+rsi]=0D
+ jmp NEAR $L$cbc_dec_tail_collected=0D
+ALIGN 16=0D
+$L$cbc_dec_four:=0D
+ movaps xmm14,xmm5=0D
+ call _aesni_decrypt4=0D
+ pxor xmm2,xmm10=0D
+ movaps xmm10,xmm14=0D
+ pxor xmm3,xmm11=0D
+ movdqu XMMWORD[rsi],xmm2=0D
+ pxor xmm4,xmm12=0D
+ movdqu XMMWORD[16+rsi],xmm3=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm5,xmm13=0D
+ movdqu XMMWORD[32+rsi],xmm4=0D
+ pxor xmm4,xmm4=0D
+ movdqa xmm2,xmm5=0D
+ pxor xmm5,xmm5=0D
+ lea rsi,[48+rsi]=0D
+ jmp NEAR $L$cbc_dec_tail_collected=0D
+=0D
+ALIGN 16=0D
+$L$cbc_dec_clear_tail_collected:=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+$L$cbc_dec_tail_collected:=0D
+ movups XMMWORD[r8],xmm10=0D
+ and rdx,15=0D
+ jnz NEAR $L$cbc_dec_tail_partial=0D
+ movups XMMWORD[rsi],xmm2=0D
+ pxor xmm2,xmm2=0D
+ jmp NEAR $L$cbc_dec_ret=0D
+ALIGN 16=0D
+$L$cbc_dec_tail_partial:=0D
+ movaps XMMWORD[rsp],xmm2=0D
+ pxor xmm2,xmm2=0D
+ mov rcx,16=0D
+ mov rdi,rsi=0D
+ sub rcx,rdx=0D
+ lea rsi,[rsp]=0D
+ DD 0x9066A4F3=0D
+ movdqa XMMWORD[rsp],xmm2=0D
+=0D
+$L$cbc_dec_ret:=0D
+ xorps xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ movaps xmm6,XMMWORD[16+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm0=0D
+ movaps xmm7,XMMWORD[32+rsp]=0D
+ movaps XMMWORD[32+rsp],xmm0=0D
+ movaps xmm8,XMMWORD[48+rsp]=0D
+ movaps XMMWORD[48+rsp],xmm0=0D
+ movaps xmm9,XMMWORD[64+rsp]=0D
+ movaps XMMWORD[64+rsp],xmm0=0D
+ movaps xmm10,XMMWORD[80+rsp]=0D
+ movaps XMMWORD[80+rsp],xmm0=0D
+ movaps xmm11,XMMWORD[96+rsp]=0D
+ movaps XMMWORD[96+rsp],xmm0=0D
+ movaps xmm12,XMMWORD[112+rsp]=0D
+ movaps XMMWORD[112+rsp],xmm0=0D
+ movaps xmm13,XMMWORD[128+rsp]=0D
+ movaps XMMWORD[128+rsp],xmm0=0D
+ movaps xmm14,XMMWORD[144+rsp]=0D
+ movaps XMMWORD[144+rsp],xmm0=0D
+ movaps xmm15,XMMWORD[160+rsp]=0D
+ movaps XMMWORD[160+rsp],xmm0=0D
+ mov rbp,QWORD[((-8))+r11]=0D
+=0D
+ lea rsp,[r11]=0D
+=0D
+$L$cbc_ret:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_aesni_cbc_encrypt:=0D
+global aesni_set_decrypt_key=0D
+=0D
+ALIGN 16=0D
+aesni_set_decrypt_key:=0D
+=0D
+DB 0x48,0x83,0xEC,0x08=0D
+=0D
+ call __aesni_set_encrypt_key=0D
+ shl edx,4=0D
+ test eax,eax=0D
+ jnz NEAR $L$dec_key_ret=0D
+ lea rcx,[16+rdx*1+r8]=0D
+=0D
+ movups xmm0,XMMWORD[r8]=0D
+ movups xmm1,XMMWORD[rcx]=0D
+ movups XMMWORD[rcx],xmm0=0D
+ movups XMMWORD[r8],xmm1=0D
+ lea r8,[16+r8]=0D
+ lea rcx,[((-16))+rcx]=0D
+=0D
+$L$dec_key_inverse:=0D
+ movups xmm0,XMMWORD[r8]=0D
+ movups xmm1,XMMWORD[rcx]=0D
+DB 102,15,56,219,192=0D
+DB 102,15,56,219,201=0D
+ lea r8,[16+r8]=0D
+ lea rcx,[((-16))+rcx]=0D
+ movups XMMWORD[16+rcx],xmm0=0D
+ movups XMMWORD[(-16)+r8],xmm1=0D
+ cmp rcx,r8=0D
+ ja NEAR $L$dec_key_inverse=0D
+=0D
+ movups xmm0,XMMWORD[r8]=0D
+DB 102,15,56,219,192=0D
+ pxor xmm1,xmm1=0D
+ movups XMMWORD[rcx],xmm0=0D
+ pxor xmm0,xmm0=0D
+$L$dec_key_ret:=0D
+ add rsp,8=0D
+=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_set_decrypt_key:=0D
+=0D
+global aesni_set_encrypt_key=0D
+=0D
+ALIGN 16=0D
+aesni_set_encrypt_key:=0D
+__aesni_set_encrypt_key:=0D
+=0D
+DB 0x48,0x83,0xEC,0x08=0D
+=0D
+ mov rax,-1=0D
+ test rcx,rcx=0D
+ jz NEAR $L$enc_key_ret=0D
+ test r8,r8=0D
+ jz NEAR $L$enc_key_ret=0D
+=0D
+ mov r10d,268437504=0D
+ movups xmm0,XMMWORD[rcx]=0D
+ xorps xmm4,xmm4=0D
+ and r10d,DWORD[((OPENSSL_ia32cap_P+4))]=0D
+ lea rax,[16+r8]=0D
+ cmp edx,256=0D
+ je NEAR $L$14rounds=0D
+ cmp edx,192=0D
+ je NEAR $L$12rounds=0D
+ cmp edx,128=0D
+ jne NEAR $L$bad_keybits=0D
+=0D
+$L$10rounds:=0D
+ mov edx,9=0D
+ cmp r10d,268435456=0D
+ je NEAR $L$10rounds_alt=0D
+=0D
+ movups XMMWORD[r8],xmm0=0D
+DB 102,15,58,223,200,1=0D
+ call $L$key_expansion_128_cold=0D
+DB 102,15,58,223,200,2=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,4=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,8=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,16=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,32=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,64=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,128=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,27=0D
+ call $L$key_expansion_128=0D
+DB 102,15,58,223,200,54=0D
+ call $L$key_expansion_128=0D
+ movups XMMWORD[rax],xmm0=0D
+ mov DWORD[80+rax],edx=0D
+ xor eax,eax=0D
+ jmp NEAR $L$enc_key_ret=0D
+=0D
+ALIGN 16=0D
+$L$10rounds_alt:=0D
+ movdqa xmm5,XMMWORD[$L$key_rotate]=0D
+ mov r10d,8=0D
+ movdqa xmm4,XMMWORD[$L$key_rcon1]=0D
+ movdqa xmm2,xmm0=0D
+ movdqu XMMWORD[r8],xmm0=0D
+ jmp NEAR $L$oop_key128=0D
+=0D
+ALIGN 16=0D
+$L$oop_key128:=0D
+DB 102,15,56,0,197=0D
+DB 102,15,56,221,196=0D
+ pslld xmm4,1=0D
+ lea rax,[16+rax]=0D
+=0D
+ movdqa xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm2,xmm3=0D
+=0D
+ pxor xmm0,xmm2=0D
+ movdqu XMMWORD[(-16)+rax],xmm0=0D
+ movdqa xmm2,xmm0=0D
+=0D
+ dec r10d=0D
+ jnz NEAR $L$oop_key128=0D
+=0D
+ movdqa xmm4,XMMWORD[$L$key_rcon1b]=0D
+=0D
+DB 102,15,56,0,197=0D
+DB 102,15,56,221,196=0D
+ pslld xmm4,1=0D
+=0D
+ movdqa xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm2,xmm3=0D
+=0D
+ pxor xmm0,xmm2=0D
+ movdqu XMMWORD[rax],xmm0=0D
+=0D
+ movdqa xmm2,xmm0=0D
+DB 102,15,56,0,197=0D
+DB 102,15,56,221,196=0D
+=0D
+ movdqa xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm3,xmm2=0D
+ pslldq xmm2,4=0D
+ pxor xmm2,xmm3=0D
+=0D
+ pxor xmm0,xmm2=0D
+ movdqu XMMWORD[16+rax],xmm0=0D
+=0D
+ mov DWORD[96+rax],edx=0D
+ xor eax,eax=0D
+ jmp NEAR $L$enc_key_ret=0D
+=0D
+ALIGN 16=0D
+$L$12rounds:=0D
+ movq xmm2,QWORD[16+rcx]=0D
+ mov edx,11=0D
+ cmp r10d,268435456=0D
+ je NEAR $L$12rounds_alt=0D
+=0D
+ movups XMMWORD[r8],xmm0=0D
+DB 102,15,58,223,202,1=0D
+ call $L$key_expansion_192a_cold=0D
+DB 102,15,58,223,202,2=0D
+ call $L$key_expansion_192b=0D
+DB 102,15,58,223,202,4=0D
+ call $L$key_expansion_192a=0D
+DB 102,15,58,223,202,8=0D
+ call $L$key_expansion_192b=0D
+DB 102,15,58,223,202,16=0D
+ call $L$key_expansion_192a=0D
+DB 102,15,58,223,202,32=0D
+ call $L$key_expansion_192b=0D
+DB 102,15,58,223,202,64=0D
+ call $L$key_expansion_192a=0D
+DB 102,15,58,223,202,128=0D
+ call $L$key_expansion_192b=0D
+ movups XMMWORD[rax],xmm0=0D
+ mov DWORD[48+rax],edx=0D
+ xor rax,rax=0D
+ jmp NEAR $L$enc_key_ret=0D
+=0D
+ALIGN 16=0D
+$L$12rounds_alt:=0D
+ movdqa xmm5,XMMWORD[$L$key_rotate192]=0D
+ movdqa xmm4,XMMWORD[$L$key_rcon1]=0D
+ mov r10d,8=0D
+ movdqu XMMWORD[r8],xmm0=0D
+ jmp NEAR $L$oop_key192=0D
+=0D
+ALIGN 16=0D
+$L$oop_key192:=0D
+ movq QWORD[rax],xmm2=0D
+ movdqa xmm1,xmm2=0D
+DB 102,15,56,0,213=0D
+DB 102,15,56,221,212=0D
+ pslld xmm4,1=0D
+ lea rax,[24+rax]=0D
+=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,4=0D
+ pxor xmm3,xmm0=0D
+ pslldq xmm0,4=0D
+ pxor xmm3,xmm0=0D
+ pslldq xmm0,4=0D
+ pxor xmm0,xmm3=0D
+=0D
+ pshufd xmm3,xmm0,0xff=0D
+ pxor xmm3,xmm1=0D
+ pslldq xmm1,4=0D
+ pxor xmm3,xmm1=0D
+=0D
+ pxor xmm0,xmm2=0D
+ pxor xmm2,xmm3=0D
+ movdqu XMMWORD[(-16)+rax],xmm0=0D
+=0D
+ dec r10d=0D
+ jnz NEAR $L$oop_key192=0D
+=0D
+ mov DWORD[32+rax],edx=0D
+ xor eax,eax=0D
+ jmp NEAR $L$enc_key_ret=0D
+=0D
+ALIGN 16=0D
+$L$14rounds:=0D
+ movups xmm2,XMMWORD[16+rcx]=0D
+ mov edx,13=0D
+ lea rax,[16+rax]=0D
+ cmp r10d,268435456=0D
+ je NEAR $L$14rounds_alt=0D
+=0D
+ movups XMMWORD[r8],xmm0=0D
+ movups XMMWORD[16+r8],xmm2=0D
+DB 102,15,58,223,202,1=0D
+ call $L$key_expansion_256a_cold=0D
+DB 102,15,58,223,200,1=0D
+ call $L$key_expansion_256b=0D
+DB 102,15,58,223,202,2=0D
+ call $L$key_expansion_256a=0D
+DB 102,15,58,223,200,2=0D
+ call $L$key_expansion_256b=0D
+DB 102,15,58,223,202,4=0D
+ call $L$key_expansion_256a=0D
+DB 102,15,58,223,200,4=0D
+ call $L$key_expansion_256b=0D
+DB 102,15,58,223,202,8=0D
+ call $L$key_expansion_256a=0D
+DB 102,15,58,223,200,8=0D
+ call $L$key_expansion_256b=0D
+DB 102,15,58,223,202,16=0D
+ call $L$key_expansion_256a=0D
+DB 102,15,58,223,200,16=0D
+ call $L$key_expansion_256b=0D
+DB 102,15,58,223,202,32=0D
+ call $L$key_expansion_256a=0D
+DB 102,15,58,223,200,32=0D
+ call $L$key_expansion_256b=0D
+DB 102,15,58,223,202,64=0D
+ call $L$key_expansion_256a=0D
+ movups XMMWORD[rax],xmm0=0D
+ mov DWORD[16+rax],edx=0D
+ xor rax,rax=0D
+ jmp NEAR $L$enc_key_ret=0D
+=0D
+ALIGN 16=0D
+$L$14rounds_alt:=0D
+ movdqa xmm5,XMMWORD[$L$key_rotate]=0D
+ movdqa xmm4,XMMWORD[$L$key_rcon1]=0D
+ mov r10d,7=0D
+ movdqu XMMWORD[r8],xmm0=0D
+ movdqa xmm1,xmm2=0D
+ movdqu XMMWORD[16+r8],xmm2=0D
+ jmp NEAR $L$oop_key256=0D
+=0D
+ALIGN 16=0D
+$L$oop_key256:=0D
+DB 102,15,56,0,213=0D
+DB 102,15,56,221,212=0D
+=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,4=0D
+ pxor xmm3,xmm0=0D
+ pslldq xmm0,4=0D
+ pxor xmm3,xmm0=0D
+ pslldq xmm0,4=0D
+ pxor xmm0,xmm3=0D
+ pslld xmm4,1=0D
+=0D
+ pxor xmm0,xmm2=0D
+ movdqu XMMWORD[rax],xmm0=0D
+=0D
+ dec r10d=0D
+ jz NEAR $L$done_key256=0D
+=0D
+ pshufd xmm2,xmm0,0xff=0D
+ pxor xmm3,xmm3=0D
+DB 102,15,56,221,211=0D
+=0D
+ movdqa xmm3,xmm1=0D
+ pslldq xmm1,4=0D
+ pxor xmm3,xmm1=0D
+ pslldq xmm1,4=0D
+ pxor xmm3,xmm1=0D
+ pslldq xmm1,4=0D
+ pxor xmm1,xmm3=0D
+=0D
+ pxor xmm2,xmm1=0D
+ movdqu XMMWORD[16+rax],xmm2=0D
+ lea rax,[32+rax]=0D
+ movdqa xmm1,xmm2=0D
+=0D
+ jmp NEAR $L$oop_key256=0D
+=0D
+$L$done_key256:=0D
+ mov DWORD[16+rax],edx=0D
+ xor eax,eax=0D
+ jmp NEAR $L$enc_key_ret=0D
+=0D
+ALIGN 16=0D
+$L$bad_keybits:=0D
+ mov rax,-2=0D
+$L$enc_key_ret:=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+ add rsp,8=0D
+=0D
+ DB 0F3h,0C3h ;repret=0D
+$L$SEH_end_set_encrypt_key:=0D
+=0D
+ALIGN 16=0D
+$L$key_expansion_128:=0D
+ movups XMMWORD[rax],xmm0=0D
+ lea rax,[16+rax]=0D
+$L$key_expansion_128_cold:=0D
+ shufps xmm4,xmm0,16=0D
+ xorps xmm0,xmm4=0D
+ shufps xmm4,xmm0,140=0D
+ xorps xmm0,xmm4=0D
+ shufps xmm1,xmm1,255=0D
+ xorps xmm0,xmm1=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+ALIGN 16=0D
+$L$key_expansion_192a:=0D
+ movups XMMWORD[rax],xmm0=0D
+ lea rax,[16+rax]=0D
+$L$key_expansion_192a_cold:=0D
+ movaps xmm5,xmm2=0D
+$L$key_expansion_192b_warm:=0D
+ shufps xmm4,xmm0,16=0D
+ movdqa xmm3,xmm2=0D
+ xorps xmm0,xmm4=0D
+ shufps xmm4,xmm0,140=0D
+ pslldq xmm3,4=0D
+ xorps xmm0,xmm4=0D
+ pshufd xmm1,xmm1,85=0D
+ pxor xmm2,xmm3=0D
+ pxor xmm0,xmm1=0D
+ pshufd xmm3,xmm0,255=0D
+ pxor xmm2,xmm3=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+ALIGN 16=0D
+$L$key_expansion_192b:=0D
+ movaps xmm3,xmm0=0D
+ shufps xmm5,xmm0,68=0D
+ movups XMMWORD[rax],xmm5=0D
+ shufps xmm3,xmm2,78=0D
+ movups XMMWORD[16+rax],xmm3=0D
+ lea rax,[32+rax]=0D
+ jmp NEAR $L$key_expansion_192b_warm=0D
+=0D
+ALIGN 16=0D
+$L$key_expansion_256a:=0D
+ movups XMMWORD[rax],xmm2=0D
+ lea rax,[16+rax]=0D
+$L$key_expansion_256a_cold:=0D
+ shufps xmm4,xmm0,16=0D
+ xorps xmm0,xmm4=0D
+ shufps xmm4,xmm0,140=0D
+ xorps xmm0,xmm4=0D
+ shufps xmm1,xmm1,255=0D
+ xorps xmm0,xmm1=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+ALIGN 16=0D
+$L$key_expansion_256b:=0D
+ movups XMMWORD[rax],xmm0=0D
+ lea rax,[16+rax]=0D
+=0D
+ shufps xmm4,xmm2,16=0D
+ xorps xmm2,xmm4=0D
+ shufps xmm4,xmm2,140=0D
+ xorps xmm2,xmm4=0D
+ shufps xmm1,xmm1,170=0D
+ xorps xmm2,xmm1=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+ALIGN 64=0D
+$L$bswap_mask:=0D
+DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0=0D
+$L$increment32:=0D
+ DD 6,6,6,0=0D
+$L$increment64:=0D
+ DD 1,0,0,0=0D
+$L$xts_magic:=0D
+ DD 0x87,0,1,0=0D
+$L$increment1:=0D
+DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1=0D
+$L$key_rotate:=0D
+ DD 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d=0D
+$L$key_rotate192:=0D
+ DD 0x04070605,0x04070605,0x04070605,0x04070605=0D
+$L$key_rcon1:=0D
+ DD 1,1,1,1=0D
+$L$key_rcon1b:=0D
+ DD 0x1b,0x1b,0x1b,0x1b=0D
+=0D
+DB 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69=0D
+DB 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83=0D
+DB 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115=0D
+DB 115,108,46,111,114,103,62,0=0D
+ALIGN 64=0D
+EXTERN __imp_RtlVirtualUnwind=0D
+=0D
+ALIGN 16=0D
+ecb_ccm64_se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$common_seh_tail=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$common_seh_tail=0D
+=0D
+ lea rsi,[rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,8=0D
+ DD 0xa548f3fc=0D
+ lea rax,[88+rax]=0D
+=0D
+ jmp NEAR $L$common_seh_tail=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+ctr_xts_se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$common_seh_tail=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$common_seh_tail=0D
+=0D
+ mov rax,QWORD[208+r8]=0D
+=0D
+ lea rsi,[((-168))+rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rbp,QWORD[((-8))+rax]=0D
+ mov QWORD[160+r8],rbp=0D
+ jmp NEAR $L$common_seh_tail=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+ocb_se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$common_seh_tail=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$common_seh_tail=0D
+=0D
+ mov r10d,DWORD[8+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$ocb_no_xmm=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ lea rsi,[rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+ lea rax,[((160+40))+rax]=0D
+=0D
+$L$ocb_no_xmm:=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+ mov r12,QWORD[((-24))+rax]=0D
+ mov r13,QWORD[((-32))+rax]=0D
+ mov r14,QWORD[((-40))+rax]=0D
+=0D
+ mov QWORD[144+r8],rbx=0D
+ mov QWORD[160+r8],rbp=0D
+ mov QWORD[216+r8],r12=0D
+ mov QWORD[224+r8],r13=0D
+ mov QWORD[232+r8],r14=0D
+=0D
+ jmp NEAR $L$common_seh_tail=0D
+=0D
+=0D
+ALIGN 16=0D
+cbc_se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ lea r10,[$L$cbc_decrypt_bulk]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$common_seh_tail=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+=0D
+ lea r10,[$L$cbc_decrypt_body]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$common_seh_tail=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ lea r10,[$L$cbc_ret]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$common_seh_tail=0D
+=0D
+ lea rsi,[16+rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rax,QWORD[208+r8]=0D
+=0D
+ mov rbp,QWORD[((-8))+rax]=0D
+ mov QWORD[160+r8],rbp=0D
+=0D
+$L$common_seh_tail:=0D
+ mov rdi,QWORD[8+rax]=0D
+ mov rsi,QWORD[16+rax]=0D
+ mov QWORD[152+r8],rax=0D
+ mov QWORD[168+r8],rsi=0D
+ mov QWORD[176+r8],rdi=0D
+=0D
+ mov rdi,QWORD[40+r9]=0D
+ mov rsi,r8=0D
+ mov ecx,154=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rsi,r9=0D
+ xor rcx,rcx=0D
+ mov rdx,QWORD[8+rsi]=0D
+ mov r8,QWORD[rsi]=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov r10,QWORD[40+rsi]=0D
+ lea r11,[56+rsi]=0D
+ lea r12,[24+rsi]=0D
+ mov QWORD[32+rsp],r10=0D
+ mov QWORD[40+rsp],r11=0D
+ mov QWORD[48+rsp],r12=0D
+ mov QWORD[56+rsp],rcx=0D
+ call QWORD[__imp_RtlVirtualUnwind]=0D
+=0D
+ mov eax,1=0D
+ add rsp,64=0D
+ popfq=0D
+ pop r15=0D
+ pop r14=0D
+ pop r13=0D
+ pop r12=0D
+ pop rbp=0D
+ pop rbx=0D
+ pop rdi=0D
+ pop rsi=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+section .pdata rdata align=3D4=0D
+ALIGN 4=0D
+ DD $L$SEH_begin_aesni_ecb_encrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_ecb_encrypt wrt ..imagebase=0D
+ DD $L$SEH_info_ecb wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_aesni_ccm64_encrypt_blocks wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_ccm64_encrypt_blocks wrt ..imagebase=0D
+ DD $L$SEH_info_ccm64_enc wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_aesni_ccm64_decrypt_blocks wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_ccm64_decrypt_blocks wrt ..imagebase=0D
+ DD $L$SEH_info_ccm64_dec wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_aesni_ctr32_encrypt_blocks wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_ctr32_encrypt_blocks wrt ..imagebase=0D
+ DD $L$SEH_info_ctr32 wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_aesni_xts_encrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_xts_encrypt wrt ..imagebase=0D
+ DD $L$SEH_info_xts_enc wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_aesni_xts_decrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_xts_decrypt wrt ..imagebase=0D
+ DD $L$SEH_info_xts_dec wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_aesni_ocb_encrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_ocb_encrypt wrt ..imagebase=0D
+ DD $L$SEH_info_ocb_enc wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_aesni_ocb_decrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_ocb_decrypt wrt ..imagebase=0D
+ DD $L$SEH_info_ocb_dec wrt ..imagebase=0D
+ DD $L$SEH_begin_aesni_cbc_encrypt wrt ..imagebase=0D
+ DD $L$SEH_end_aesni_cbc_encrypt wrt ..imagebase=0D
+ DD $L$SEH_info_cbc wrt ..imagebase=0D
+=0D
+ DD aesni_set_decrypt_key wrt ..imagebase=0D
+ DD $L$SEH_end_set_decrypt_key wrt ..imagebase=0D
+ DD $L$SEH_info_key wrt ..imagebase=0D
+=0D
+ DD aesni_set_encrypt_key wrt ..imagebase=0D
+ DD $L$SEH_end_set_encrypt_key wrt ..imagebase=0D
+ DD $L$SEH_info_key wrt ..imagebase=0D
+section .xdata rdata align=3D8=0D
+ALIGN 8=0D
+$L$SEH_info_ecb:=0D
+DB 9,0,0,0=0D
+ DD ecb_ccm64_se_handler wrt ..imagebase=0D
+ DD $L$ecb_enc_body wrt ..imagebase,$L$ecb_enc_ret wrt ..image=
base=0D
+$L$SEH_info_ccm64_enc:=0D
+DB 9,0,0,0=0D
+ DD ecb_ccm64_se_handler wrt ..imagebase=0D
+ DD $L$ccm64_enc_body wrt ..imagebase,$L$ccm64_enc_ret wrt ..i=
magebase=0D
+$L$SEH_info_ccm64_dec:=0D
+DB 9,0,0,0=0D
+ DD ecb_ccm64_se_handler wrt ..imagebase=0D
+ DD $L$ccm64_dec_body wrt ..imagebase,$L$ccm64_dec_ret wrt ..i=
magebase=0D
+$L$SEH_info_ctr32:=0D
+DB 9,0,0,0=0D
+ DD ctr_xts_se_handler wrt ..imagebase=0D
+ DD $L$ctr32_body wrt ..imagebase,$L$ctr32_epilogue wrt ..imag=
ebase=0D
+$L$SEH_info_xts_enc:=0D
+DB 9,0,0,0=0D
+ DD ctr_xts_se_handler wrt ..imagebase=0D
+ DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..=
imagebase=0D
+$L$SEH_info_xts_dec:=0D
+DB 9,0,0,0=0D
+ DD ctr_xts_se_handler wrt ..imagebase=0D
+ DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..=
imagebase=0D
+$L$SEH_info_ocb_enc:=0D
+DB 9,0,0,0=0D
+ DD ocb_se_handler wrt ..imagebase=0D
+ DD $L$ocb_enc_body wrt ..imagebase,$L$ocb_enc_epilogue wrt ..=
imagebase=0D
+ DD $L$ocb_enc_pop wrt ..imagebase=0D
+ DD 0=0D
+$L$SEH_info_ocb_dec:=0D
+DB 9,0,0,0=0D
+ DD ocb_se_handler wrt ..imagebase=0D
+ DD $L$ocb_dec_body wrt ..imagebase,$L$ocb_dec_epilogue wrt ..=
imagebase=0D
+ DD $L$ocb_dec_pop wrt ..imagebase=0D
+ DD 0=0D
+$L$SEH_info_cbc:=0D
+DB 9,0,0,0=0D
+ DD cbc_se_handler wrt ..imagebase=0D
+$L$SEH_info_key:=0D
+DB 0x01,0x04,0x01,0x00=0D
+DB 0x04,0x02,0x00,0x00=0D
diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm =
b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm
new file mode 100644
index 0000000000..1c911fa294
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm
@@ -0,0 +1,1173 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/aes/asm/vpaes-x86_64.pl=0D
+;=0D
+; Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_encrypt_core:=0D
+=0D
+ mov r9,rdx=0D
+ mov r11,16=0D
+ mov eax,DWORD[240+rdx]=0D
+ movdqa xmm1,xmm9=0D
+ movdqa xmm2,XMMWORD[$L$k_ipt]=0D
+ pandn xmm1,xmm0=0D
+ movdqu xmm5,XMMWORD[r9]=0D
+ psrld xmm1,4=0D
+ pand xmm0,xmm9=0D
+DB 102,15,56,0,208=0D
+ movdqa xmm0,XMMWORD[(($L$k_ipt+16))]=0D
+DB 102,15,56,0,193=0D
+ pxor xmm2,xmm5=0D
+ add r9,16=0D
+ pxor xmm0,xmm2=0D
+ lea r10,[$L$k_mc_backward]=0D
+ jmp NEAR $L$enc_entry=0D
+=0D
+ALIGN 16=0D
+$L$enc_loop:=0D
+=0D
+ movdqa xmm4,xmm13=0D
+ movdqa xmm0,xmm12=0D
+DB 102,15,56,0,226=0D
+DB 102,15,56,0,195=0D
+ pxor xmm4,xmm5=0D
+ movdqa xmm5,xmm15=0D
+ pxor xmm0,xmm4=0D
+ movdqa xmm1,XMMWORD[((-64))+r10*1+r11]=0D
+DB 102,15,56,0,234=0D
+ movdqa xmm4,XMMWORD[r10*1+r11]=0D
+ movdqa xmm2,xmm14=0D
+DB 102,15,56,0,211=0D
+ movdqa xmm3,xmm0=0D
+ pxor xmm2,xmm5=0D
+DB 102,15,56,0,193=0D
+ add r9,16=0D
+ pxor xmm0,xmm2=0D
+DB 102,15,56,0,220=0D
+ add r11,16=0D
+ pxor xmm3,xmm0=0D
+DB 102,15,56,0,193=0D
+ and r11,0x30=0D
+ sub rax,1=0D
+ pxor xmm0,xmm3=0D
+=0D
+$L$enc_entry:=0D
+=0D
+ movdqa xmm1,xmm9=0D
+ movdqa xmm5,xmm11=0D
+ pandn xmm1,xmm0=0D
+ psrld xmm1,4=0D
+ pand xmm0,xmm9=0D
+DB 102,15,56,0,232=0D
+ movdqa xmm3,xmm10=0D
+ pxor xmm0,xmm1=0D
+DB 102,15,56,0,217=0D
+ movdqa xmm4,xmm10=0D
+ pxor xmm3,xmm5=0D
+DB 102,15,56,0,224=0D
+ movdqa xmm2,xmm10=0D
+ pxor xmm4,xmm5=0D
+DB 102,15,56,0,211=0D
+ movdqa xmm3,xmm10=0D
+ pxor xmm2,xmm0=0D
+DB 102,15,56,0,220=0D
+ movdqu xmm5,XMMWORD[r9]=0D
+ pxor xmm3,xmm1=0D
+ jnz NEAR $L$enc_loop=0D
+=0D
+=0D
+ movdqa xmm4,XMMWORD[((-96))+r10]=0D
+ movdqa xmm0,XMMWORD[((-80))+r10]=0D
+DB 102,15,56,0,226=0D
+ pxor xmm4,xmm5=0D
+DB 102,15,56,0,195=0D
+ movdqa xmm1,XMMWORD[64+r10*1+r11]=0D
+ pxor xmm0,xmm4=0D
+DB 102,15,56,0,193=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_decrypt_core:=0D
+=0D
+ mov r9,rdx=0D
+ mov eax,DWORD[240+rdx]=0D
+ movdqa xmm1,xmm9=0D
+ movdqa xmm2,XMMWORD[$L$k_dipt]=0D
+ pandn xmm1,xmm0=0D
+ mov r11,rax=0D
+ psrld xmm1,4=0D
+ movdqu xmm5,XMMWORD[r9]=0D
+ shl r11,4=0D
+ pand xmm0,xmm9=0D
+DB 102,15,56,0,208=0D
+ movdqa xmm0,XMMWORD[(($L$k_dipt+16))]=0D
+ xor r11,0x30=0D
+ lea r10,[$L$k_dsbd]=0D
+DB 102,15,56,0,193=0D
+ and r11,0x30=0D
+ pxor xmm2,xmm5=0D
+ movdqa xmm5,XMMWORD[(($L$k_mc_forward+48))]=0D
+ pxor xmm0,xmm2=0D
+ add r9,16=0D
+ add r11,r10=0D
+ jmp NEAR $L$dec_entry=0D
+=0D
+ALIGN 16=0D
+$L$dec_loop:=0D
+=0D
+=0D
+=0D
+ movdqa xmm4,XMMWORD[((-32))+r10]=0D
+ movdqa xmm1,XMMWORD[((-16))+r10]=0D
+DB 102,15,56,0,226=0D
+DB 102,15,56,0,203=0D
+ pxor xmm0,xmm4=0D
+ movdqa xmm4,XMMWORD[r10]=0D
+ pxor xmm0,xmm1=0D
+ movdqa xmm1,XMMWORD[16+r10]=0D
+=0D
+DB 102,15,56,0,226=0D
+DB 102,15,56,0,197=0D
+DB 102,15,56,0,203=0D
+ pxor xmm0,xmm4=0D
+ movdqa xmm4,XMMWORD[32+r10]=0D
+ pxor xmm0,xmm1=0D
+ movdqa xmm1,XMMWORD[48+r10]=0D
+=0D
+DB 102,15,56,0,226=0D
+DB 102,15,56,0,197=0D
+DB 102,15,56,0,203=0D
+ pxor xmm0,xmm4=0D
+ movdqa xmm4,XMMWORD[64+r10]=0D
+ pxor xmm0,xmm1=0D
+ movdqa xmm1,XMMWORD[80+r10]=0D
+=0D
+DB 102,15,56,0,226=0D
+DB 102,15,56,0,197=0D
+DB 102,15,56,0,203=0D
+ pxor xmm0,xmm4=0D
+ add r9,16=0D
+DB 102,15,58,15,237,12=0D
+ pxor xmm0,xmm1=0D
+ sub rax,1=0D
+=0D
+$L$dec_entry:=0D
+=0D
+ movdqa xmm1,xmm9=0D
+ pandn xmm1,xmm0=0D
+ movdqa xmm2,xmm11=0D
+ psrld xmm1,4=0D
+ pand xmm0,xmm9=0D
+DB 102,15,56,0,208=0D
+ movdqa xmm3,xmm10=0D
+ pxor xmm0,xmm1=0D
+DB 102,15,56,0,217=0D
+ movdqa xmm4,xmm10=0D
+ pxor xmm3,xmm2=0D
+DB 102,15,56,0,224=0D
+ pxor xmm4,xmm2=0D
+ movdqa xmm2,xmm10=0D
+DB 102,15,56,0,211=0D
+ movdqa xmm3,xmm10=0D
+ pxor xmm2,xmm0=0D
+DB 102,15,56,0,220=0D
+ movdqu xmm0,XMMWORD[r9]=0D
+ pxor xmm3,xmm1=0D
+ jnz NEAR $L$dec_loop=0D
+=0D
+=0D
+ movdqa xmm4,XMMWORD[96+r10]=0D
+DB 102,15,56,0,226=0D
+ pxor xmm4,xmm0=0D
+ movdqa xmm0,XMMWORD[112+r10]=0D
+ movdqa xmm2,XMMWORD[((-352))+r11]=0D
+DB 102,15,56,0,195=0D
+ pxor xmm0,xmm4=0D
+DB 102,15,56,0,194=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_schedule_core:=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ call _vpaes_preheat=0D
+ movdqa xmm8,XMMWORD[$L$k_rcon]=0D
+ movdqu xmm0,XMMWORD[rdi]=0D
+=0D
+=0D
+ movdqa xmm3,xmm0=0D
+ lea r11,[$L$k_ipt]=0D
+ call _vpaes_schedule_transform=0D
+ movdqa xmm7,xmm0=0D
+=0D
+ lea r10,[$L$k_sr]=0D
+ test rcx,rcx=0D
+ jnz NEAR $L$schedule_am_decrypting=0D
+=0D
+=0D
+ movdqu XMMWORD[rdx],xmm0=0D
+ jmp NEAR $L$schedule_go=0D
+=0D
+$L$schedule_am_decrypting:=0D
+=0D
+ movdqa xmm1,XMMWORD[r10*1+r8]=0D
+DB 102,15,56,0,217=0D
+ movdqu XMMWORD[rdx],xmm3=0D
+ xor r8,0x30=0D
+=0D
+$L$schedule_go:=0D
+ cmp esi,192=0D
+ ja NEAR $L$schedule_256=0D
+ je NEAR $L$schedule_192=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+$L$schedule_128:=0D
+ mov esi,10=0D
+=0D
+$L$oop_schedule_128:=0D
+ call _vpaes_schedule_round=0D
+ dec rsi=0D
+ jz NEAR $L$schedule_mangle_last=0D
+ call _vpaes_schedule_mangle=0D
+ jmp NEAR $L$oop_schedule_128=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+$L$schedule_192:=0D
+ movdqu xmm0,XMMWORD[8+rdi]=0D
+ call _vpaes_schedule_transform=0D
+ movdqa xmm6,xmm0=0D
+ pxor xmm4,xmm4=0D
+ movhlps xmm6,xmm4=0D
+ mov esi,4=0D
+=0D
+$L$oop_schedule_192:=0D
+ call _vpaes_schedule_round=0D
+DB 102,15,58,15,198,8=0D
+ call _vpaes_schedule_mangle=0D
+ call _vpaes_schedule_192_smear=0D
+ call _vpaes_schedule_mangle=0D
+ call _vpaes_schedule_round=0D
+ dec rsi=0D
+ jz NEAR $L$schedule_mangle_last=0D
+ call _vpaes_schedule_mangle=0D
+ call _vpaes_schedule_192_smear=0D
+ jmp NEAR $L$oop_schedule_192=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+$L$schedule_256:=0D
+ movdqu xmm0,XMMWORD[16+rdi]=0D
+ call _vpaes_schedule_transform=0D
+ mov esi,7=0D
+=0D
+$L$oop_schedule_256:=0D
+ call _vpaes_schedule_mangle=0D
+ movdqa xmm6,xmm0=0D
+=0D
+=0D
+ call _vpaes_schedule_round=0D
+ dec rsi=0D
+ jz NEAR $L$schedule_mangle_last=0D
+ call _vpaes_schedule_mangle=0D
+=0D
+=0D
+ pshufd xmm0,xmm0,0xFF=0D
+ movdqa xmm5,xmm7=0D
+ movdqa xmm7,xmm6=0D
+ call _vpaes_schedule_low_round=0D
+ movdqa xmm7,xmm5=0D
+=0D
+ jmp NEAR $L$oop_schedule_256=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+$L$schedule_mangle_last:=0D
+=0D
+ lea r11,[$L$k_deskew]=0D
+ test rcx,rcx=0D
+ jnz NEAR $L$schedule_mangle_last_dec=0D
+=0D
+=0D
+ movdqa xmm1,XMMWORD[r10*1+r8]=0D
+DB 102,15,56,0,193=0D
+ lea r11,[$L$k_opt]=0D
+ add rdx,32=0D
+=0D
+$L$schedule_mangle_last_dec:=0D
+ add rdx,-16=0D
+ pxor xmm0,XMMWORD[$L$k_s63]=0D
+ call _vpaes_schedule_transform=0D
+ movdqu XMMWORD[rdx],xmm0=0D
+=0D
+=0D
+ pxor xmm0,xmm0=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm2,xmm2=0D
+ pxor xmm3,xmm3=0D
+ pxor xmm4,xmm4=0D
+ pxor xmm5,xmm5=0D
+ pxor xmm6,xmm6=0D
+ pxor xmm7,xmm7=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_schedule_192_smear:=0D
+=0D
+ pshufd xmm1,xmm6,0x80=0D
+ pshufd xmm0,xmm7,0xFE=0D
+ pxor xmm6,xmm1=0D
+ pxor xmm1,xmm1=0D
+ pxor xmm6,xmm0=0D
+ movdqa xmm0,xmm6=0D
+ movhlps xmm6,xmm1=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_schedule_round:=0D
+=0D
+=0D
+ pxor xmm1,xmm1=0D
+DB 102,65,15,58,15,200,15=0D
+DB 102,69,15,58,15,192,15=0D
+ pxor xmm7,xmm1=0D
+=0D
+=0D
+ pshufd xmm0,xmm0,0xFF=0D
+DB 102,15,58,15,192,1=0D
+=0D
+=0D
+=0D
+=0D
+_vpaes_schedule_low_round:=0D
+=0D
+ movdqa xmm1,xmm7=0D
+ pslldq xmm7,4=0D
+ pxor xmm7,xmm1=0D
+ movdqa xmm1,xmm7=0D
+ pslldq xmm7,8=0D
+ pxor xmm7,xmm1=0D
+ pxor xmm7,XMMWORD[$L$k_s63]=0D
+=0D
+=0D
+ movdqa xmm1,xmm9=0D
+ pandn xmm1,xmm0=0D
+ psrld xmm1,4=0D
+ pand xmm0,xmm9=0D
+ movdqa xmm2,xmm11=0D
+DB 102,15,56,0,208=0D
+ pxor xmm0,xmm1=0D
+ movdqa xmm3,xmm10=0D
+DB 102,15,56,0,217=0D
+ pxor xmm3,xmm2=0D
+ movdqa xmm4,xmm10=0D
+DB 102,15,56,0,224=0D
+ pxor xmm4,xmm2=0D
+ movdqa xmm2,xmm10=0D
+DB 102,15,56,0,211=0D
+ pxor xmm2,xmm0=0D
+ movdqa xmm3,xmm10=0D
+DB 102,15,56,0,220=0D
+ pxor xmm3,xmm1=0D
+ movdqa xmm4,xmm13=0D
+DB 102,15,56,0,226=0D
+ movdqa xmm0,xmm12=0D
+DB 102,15,56,0,195=0D
+ pxor xmm0,xmm4=0D
+=0D
+=0D
+ pxor xmm0,xmm7=0D
+ movdqa xmm7,xmm0=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_schedule_transform:=0D
+=0D
+ movdqa xmm1,xmm9=0D
+ pandn xmm1,xmm0=0D
+ psrld xmm1,4=0D
+ pand xmm0,xmm9=0D
+ movdqa xmm2,XMMWORD[r11]=0D
+DB 102,15,56,0,208=0D
+ movdqa xmm0,XMMWORD[16+r11]=0D
+DB 102,15,56,0,193=0D
+ pxor xmm0,xmm2=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_schedule_mangle:=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm5,XMMWORD[$L$k_mc_forward]=0D
+ test rcx,rcx=0D
+ jnz NEAR $L$schedule_mangle_dec=0D
+=0D
+=0D
+ add rdx,16=0D
+ pxor xmm4,XMMWORD[$L$k_s63]=0D
+DB 102,15,56,0,229=0D
+ movdqa xmm3,xmm4=0D
+DB 102,15,56,0,229=0D
+ pxor xmm3,xmm4=0D
+DB 102,15,56,0,229=0D
+ pxor xmm3,xmm4=0D
+=0D
+ jmp NEAR $L$schedule_mangle_both=0D
+ALIGN 16=0D
+$L$schedule_mangle_dec:=0D
+=0D
+ lea r11,[$L$k_dksd]=0D
+ movdqa xmm1,xmm9=0D
+ pandn xmm1,xmm4=0D
+ psrld xmm1,4=0D
+ pand xmm4,xmm9=0D
+=0D
+ movdqa xmm2,XMMWORD[r11]=0D
+DB 102,15,56,0,212=0D
+ movdqa xmm3,XMMWORD[16+r11]=0D
+DB 102,15,56,0,217=0D
+ pxor xmm3,xmm2=0D
+DB 102,15,56,0,221=0D
+=0D
+ movdqa xmm2,XMMWORD[32+r11]=0D
+DB 102,15,56,0,212=0D
+ pxor xmm2,xmm3=0D
+ movdqa xmm3,XMMWORD[48+r11]=0D
+DB 102,15,56,0,217=0D
+ pxor xmm3,xmm2=0D
+DB 102,15,56,0,221=0D
+=0D
+ movdqa xmm2,XMMWORD[64+r11]=0D
+DB 102,15,56,0,212=0D
+ pxor xmm2,xmm3=0D
+ movdqa xmm3,XMMWORD[80+r11]=0D
+DB 102,15,56,0,217=0D
+ pxor xmm3,xmm2=0D
+DB 102,15,56,0,221=0D
+=0D
+ movdqa xmm2,XMMWORD[96+r11]=0D
+DB 102,15,56,0,212=0D
+ pxor xmm2,xmm3=0D
+ movdqa xmm3,XMMWORD[112+r11]=0D
+DB 102,15,56,0,217=0D
+ pxor xmm3,xmm2=0D
+=0D
+ add rdx,-16=0D
+=0D
+$L$schedule_mangle_both:=0D
+ movdqa xmm1,XMMWORD[r10*1+r8]=0D
+DB 102,15,56,0,217=0D
+ add r8,-16=0D
+ and r8,0x30=0D
+ movdqu XMMWORD[rdx],xmm3=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+global vpaes_set_encrypt_key=0D
+=0D
+ALIGN 16=0D
+vpaes_set_encrypt_key:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_vpaes_set_encrypt_key:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ lea rsp,[((-184))+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm6=0D
+ movaps XMMWORD[32+rsp],xmm7=0D
+ movaps XMMWORD[48+rsp],xmm8=0D
+ movaps XMMWORD[64+rsp],xmm9=0D
+ movaps XMMWORD[80+rsp],xmm10=0D
+ movaps XMMWORD[96+rsp],xmm11=0D
+ movaps XMMWORD[112+rsp],xmm12=0D
+ movaps XMMWORD[128+rsp],xmm13=0D
+ movaps XMMWORD[144+rsp],xmm14=0D
+ movaps XMMWORD[160+rsp],xmm15=0D
+$L$enc_key_body:=0D
+ mov eax,esi=0D
+ shr eax,5=0D
+ add eax,5=0D
+ mov DWORD[240+rdx],eax=0D
+=0D
+ mov ecx,0=0D
+ mov r8d,0x30=0D
+ call _vpaes_schedule_core=0D
+ movaps xmm6,XMMWORD[16+rsp]=0D
+ movaps xmm7,XMMWORD[32+rsp]=0D
+ movaps xmm8,XMMWORD[48+rsp]=0D
+ movaps xmm9,XMMWORD[64+rsp]=0D
+ movaps xmm10,XMMWORD[80+rsp]=0D
+ movaps xmm11,XMMWORD[96+rsp]=0D
+ movaps xmm12,XMMWORD[112+rsp]=0D
+ movaps xmm13,XMMWORD[128+rsp]=0D
+ movaps xmm14,XMMWORD[144+rsp]=0D
+ movaps xmm15,XMMWORD[160+rsp]=0D
+ lea rsp,[184+rsp]=0D
+$L$enc_key_epilogue:=0D
+ xor eax,eax=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_vpaes_set_encrypt_key:=0D
+=0D
+global vpaes_set_decrypt_key=0D
+=0D
+ALIGN 16=0D
+vpaes_set_decrypt_key:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_vpaes_set_decrypt_key:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ lea rsp,[((-184))+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm6=0D
+ movaps XMMWORD[32+rsp],xmm7=0D
+ movaps XMMWORD[48+rsp],xmm8=0D
+ movaps XMMWORD[64+rsp],xmm9=0D
+ movaps XMMWORD[80+rsp],xmm10=0D
+ movaps XMMWORD[96+rsp],xmm11=0D
+ movaps XMMWORD[112+rsp],xmm12=0D
+ movaps XMMWORD[128+rsp],xmm13=0D
+ movaps XMMWORD[144+rsp],xmm14=0D
+ movaps XMMWORD[160+rsp],xmm15=0D
+$L$dec_key_body:=0D
+ mov eax,esi=0D
+ shr eax,5=0D
+ add eax,5=0D
+ mov DWORD[240+rdx],eax=0D
+ shl eax,4=0D
+ lea rdx,[16+rax*1+rdx]=0D
+=0D
+ mov ecx,1=0D
+ mov r8d,esi=0D
+ shr r8d,1=0D
+ and r8d,32=0D
+ xor r8d,32=0D
+ call _vpaes_schedule_core=0D
+ movaps xmm6,XMMWORD[16+rsp]=0D
+ movaps xmm7,XMMWORD[32+rsp]=0D
+ movaps xmm8,XMMWORD[48+rsp]=0D
+ movaps xmm9,XMMWORD[64+rsp]=0D
+ movaps xmm10,XMMWORD[80+rsp]=0D
+ movaps xmm11,XMMWORD[96+rsp]=0D
+ movaps xmm12,XMMWORD[112+rsp]=0D
+ movaps xmm13,XMMWORD[128+rsp]=0D
+ movaps xmm14,XMMWORD[144+rsp]=0D
+ movaps xmm15,XMMWORD[160+rsp]=0D
+ lea rsp,[184+rsp]=0D
+$L$dec_key_epilogue:=0D
+ xor eax,eax=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_vpaes_set_decrypt_key:=0D
+=0D
+global vpaes_encrypt=0D
+=0D
+ALIGN 16=0D
+vpaes_encrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_vpaes_encrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ lea rsp,[((-184))+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm6=0D
+ movaps XMMWORD[32+rsp],xmm7=0D
+ movaps XMMWORD[48+rsp],xmm8=0D
+ movaps XMMWORD[64+rsp],xmm9=0D
+ movaps XMMWORD[80+rsp],xmm10=0D
+ movaps XMMWORD[96+rsp],xmm11=0D
+ movaps XMMWORD[112+rsp],xmm12=0D
+ movaps XMMWORD[128+rsp],xmm13=0D
+ movaps XMMWORD[144+rsp],xmm14=0D
+ movaps XMMWORD[160+rsp],xmm15=0D
+$L$enc_body:=0D
+ movdqu xmm0,XMMWORD[rdi]=0D
+ call _vpaes_preheat=0D
+ call _vpaes_encrypt_core=0D
+ movdqu XMMWORD[rsi],xmm0=0D
+ movaps xmm6,XMMWORD[16+rsp]=0D
+ movaps xmm7,XMMWORD[32+rsp]=0D
+ movaps xmm8,XMMWORD[48+rsp]=0D
+ movaps xmm9,XMMWORD[64+rsp]=0D
+ movaps xmm10,XMMWORD[80+rsp]=0D
+ movaps xmm11,XMMWORD[96+rsp]=0D
+ movaps xmm12,XMMWORD[112+rsp]=0D
+ movaps xmm13,XMMWORD[128+rsp]=0D
+ movaps xmm14,XMMWORD[144+rsp]=0D
+ movaps xmm15,XMMWORD[160+rsp]=0D
+ lea rsp,[184+rsp]=0D
+$L$enc_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_vpaes_encrypt:=0D
+=0D
+global vpaes_decrypt=0D
+=0D
+ALIGN 16=0D
+vpaes_decrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_vpaes_decrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ lea rsp,[((-184))+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm6=0D
+ movaps XMMWORD[32+rsp],xmm7=0D
+ movaps XMMWORD[48+rsp],xmm8=0D
+ movaps XMMWORD[64+rsp],xmm9=0D
+ movaps XMMWORD[80+rsp],xmm10=0D
+ movaps XMMWORD[96+rsp],xmm11=0D
+ movaps XMMWORD[112+rsp],xmm12=0D
+ movaps XMMWORD[128+rsp],xmm13=0D
+ movaps XMMWORD[144+rsp],xmm14=0D
+ movaps XMMWORD[160+rsp],xmm15=0D
+$L$dec_body:=0D
+ movdqu xmm0,XMMWORD[rdi]=0D
+ call _vpaes_preheat=0D
+ call _vpaes_decrypt_core=0D
+ movdqu XMMWORD[rsi],xmm0=0D
+ movaps xmm6,XMMWORD[16+rsp]=0D
+ movaps xmm7,XMMWORD[32+rsp]=0D
+ movaps xmm8,XMMWORD[48+rsp]=0D
+ movaps xmm9,XMMWORD[64+rsp]=0D
+ movaps xmm10,XMMWORD[80+rsp]=0D
+ movaps xmm11,XMMWORD[96+rsp]=0D
+ movaps xmm12,XMMWORD[112+rsp]=0D
+ movaps xmm13,XMMWORD[128+rsp]=0D
+ movaps xmm14,XMMWORD[144+rsp]=0D
+ movaps xmm15,XMMWORD[160+rsp]=0D
+ lea rsp,[184+rsp]=0D
+$L$dec_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_vpaes_decrypt:=0D
+global vpaes_cbc_encrypt=0D
+=0D
+ALIGN 16=0D
+vpaes_cbc_encrypt:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_vpaes_cbc_encrypt:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+ mov r8,QWORD[40+rsp]=0D
+ mov r9,QWORD[48+rsp]=0D
+=0D
+=0D
+=0D
+ xchg rdx,rcx=0D
+ sub rcx,16=0D
+ jc NEAR $L$cbc_abort=0D
+ lea rsp,[((-184))+rsp]=0D
+ movaps XMMWORD[16+rsp],xmm6=0D
+ movaps XMMWORD[32+rsp],xmm7=0D
+ movaps XMMWORD[48+rsp],xmm8=0D
+ movaps XMMWORD[64+rsp],xmm9=0D
+ movaps XMMWORD[80+rsp],xmm10=0D
+ movaps XMMWORD[96+rsp],xmm11=0D
+ movaps XMMWORD[112+rsp],xmm12=0D
+ movaps XMMWORD[128+rsp],xmm13=0D
+ movaps XMMWORD[144+rsp],xmm14=0D
+ movaps XMMWORD[160+rsp],xmm15=0D
+$L$cbc_body:=0D
+ movdqu xmm6,XMMWORD[r8]=0D
+ sub rsi,rdi=0D
+ call _vpaes_preheat=0D
+ cmp r9d,0=0D
+ je NEAR $L$cbc_dec_loop=0D
+ jmp NEAR $L$cbc_enc_loop=0D
+ALIGN 16=0D
+$L$cbc_enc_loop:=0D
+ movdqu xmm0,XMMWORD[rdi]=0D
+ pxor xmm0,xmm6=0D
+ call _vpaes_encrypt_core=0D
+ movdqa xmm6,xmm0=0D
+ movdqu XMMWORD[rdi*1+rsi],xmm0=0D
+ lea rdi,[16+rdi]=0D
+ sub rcx,16=0D
+ jnc NEAR $L$cbc_enc_loop=0D
+ jmp NEAR $L$cbc_done=0D
+ALIGN 16=0D
+$L$cbc_dec_loop:=0D
+ movdqu xmm0,XMMWORD[rdi]=0D
+ movdqa xmm7,xmm0=0D
+ call _vpaes_decrypt_core=0D
+ pxor xmm0,xmm6=0D
+ movdqa xmm6,xmm7=0D
+ movdqu XMMWORD[rdi*1+rsi],xmm0=0D
+ lea rdi,[16+rdi]=0D
+ sub rcx,16=0D
+ jnc NEAR $L$cbc_dec_loop=0D
+$L$cbc_done:=0D
+ movdqu XMMWORD[r8],xmm6=0D
+ movaps xmm6,XMMWORD[16+rsp]=0D
+ movaps xmm7,XMMWORD[32+rsp]=0D
+ movaps xmm8,XMMWORD[48+rsp]=0D
+ movaps xmm9,XMMWORD[64+rsp]=0D
+ movaps xmm10,XMMWORD[80+rsp]=0D
+ movaps xmm11,XMMWORD[96+rsp]=0D
+ movaps xmm12,XMMWORD[112+rsp]=0D
+ movaps xmm13,XMMWORD[128+rsp]=0D
+ movaps xmm14,XMMWORD[144+rsp]=0D
+ movaps xmm15,XMMWORD[160+rsp]=0D
+ lea rsp,[184+rsp]=0D
+$L$cbc_epilogue:=0D
+$L$cbc_abort:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_vpaes_cbc_encrypt:=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 16=0D
+_vpaes_preheat:=0D
+=0D
+ lea r10,[$L$k_s0F]=0D
+ movdqa xmm10,XMMWORD[((-32))+r10]=0D
+ movdqa xmm11,XMMWORD[((-16))+r10]=0D
+ movdqa xmm9,XMMWORD[r10]=0D
+ movdqa xmm13,XMMWORD[48+r10]=0D
+ movdqa xmm12,XMMWORD[64+r10]=0D
+ movdqa xmm15,XMMWORD[80+r10]=0D
+ movdqa xmm14,XMMWORD[96+r10]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ALIGN 64=0D
+_vpaes_consts:=0D
+$L$k_inv:=0D
+ DQ 0x0E05060F0D080180,0x040703090A0B0C02=0D
+ DQ 0x01040A060F0B0780,0x030D0E0C02050809=0D
+=0D
+$L$k_s0F:=0D
+ DQ 0x0F0F0F0F0F0F0F0F,0x0F0F0F0F0F0F0F0F=0D
+=0D
+$L$k_ipt:=0D
+ DQ 0xC2B2E8985A2A7000,0xCABAE09052227808=0D
+ DQ 0x4C01307D317C4D00,0xCD80B1FCB0FDCC81=0D
+=0D
+$L$k_sb1:=0D
+ DQ 0xB19BE18FCB503E00,0xA5DF7A6E142AF544=0D
+ DQ 0x3618D415FAE22300,0x3BF7CCC10D2ED9EF=0D
+$L$k_sb2:=0D
+ DQ 0xE27A93C60B712400,0x5EB7E955BC982FCD=0D
+ DQ 0x69EB88400AE12900,0xC2A163C8AB82234A=0D
+$L$k_sbo:=0D
+ DQ 0xD0D26D176FBDC700,0x15AABF7AC502A878=0D
+ DQ 0xCFE474A55FBB6A00,0x8E1E90D1412B35FA=0D
+=0D
+$L$k_mc_forward:=0D
+ DQ 0x0407060500030201,0x0C0F0E0D080B0A09=0D
+ DQ 0x080B0A0904070605,0x000302010C0F0E0D=0D
+ DQ 0x0C0F0E0D080B0A09,0x0407060500030201=0D
+ DQ 0x000302010C0F0E0D,0x080B0A0904070605=0D
+=0D
+$L$k_mc_backward:=0D
+ DQ 0x0605040702010003,0x0E0D0C0F0A09080B=0D
+ DQ 0x020100030E0D0C0F,0x0A09080B06050407=0D
+ DQ 0x0E0D0C0F0A09080B,0x0605040702010003=0D
+ DQ 0x0A09080B06050407,0x020100030E0D0C0F=0D
+=0D
+$L$k_sr:=0D
+ DQ 0x0706050403020100,0x0F0E0D0C0B0A0908=0D
+ DQ 0x030E09040F0A0500,0x0B06010C07020D08=0D
+ DQ 0x0F060D040B020900,0x070E050C030A0108=0D
+ DQ 0x0B0E0104070A0D00,0x0306090C0F020508=0D
+=0D
+$L$k_rcon:=0D
+ DQ 0x1F8391B9AF9DEEB6,0x702A98084D7C7D81=0D
+=0D
+$L$k_s63:=0D
+ DQ 0x5B5B5B5B5B5B5B5B,0x5B5B5B5B5B5B5B5B=0D
+=0D
+$L$k_opt:=0D
+ DQ 0xFF9F4929D6B66000,0xF7974121DEBE6808=0D
+ DQ 0x01EDBD5150BCEC00,0xE10D5DB1B05C0CE0=0D
+=0D
+$L$k_deskew:=0D
+ DQ 0x07E4A34047A4E300,0x1DFEB95A5DBEF91A=0D
+ DQ 0x5F36B5DC83EA6900,0x2841C2ABF49D1E77=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+$L$k_dksd:=0D
+ DQ 0xFEB91A5DA3E44700,0x0740E3A45A1DBEF9=0D
+ DQ 0x41C277F4B5368300,0x5FDC69EAAB289D1E=0D
+$L$k_dksb:=0D
+ DQ 0x9A4FCA1F8550D500,0x03D653861CC94C99=0D
+ DQ 0x115BEDA7B6FC4A00,0xD993256F7E3482C8=0D
+$L$k_dkse:=0D
+ DQ 0xD5031CCA1FC9D600,0x53859A4C994F5086=0D
+ DQ 0xA23196054FDC7BE8,0xCD5EF96A20B31487=0D
+$L$k_dks9:=0D
+ DQ 0xB6116FC87ED9A700,0x4AED933482255BFC=0D
+ DQ 0x4576516227143300,0x8BB89FACE9DAFDCE=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+$L$k_dipt:=0D
+ DQ 0x0F505B040B545F00,0x154A411E114E451A=0D
+ DQ 0x86E383E660056500,0x12771772F491F194=0D
+=0D
+$L$k_dsb9:=0D
+ DQ 0x851C03539A86D600,0xCAD51F504F994CC9=0D
+ DQ 0xC03B1789ECD74900,0x725E2C9EB2FBA565=0D
+$L$k_dsbd:=0D
+ DQ 0x7D57CCDFE6B1A200,0xF56E9B13882A4439=0D
+ DQ 0x3CE2FAF724C6CB00,0x2931180D15DEEFD3=0D
+$L$k_dsbb:=0D
+ DQ 0xD022649296B44200,0x602646F6B0F2D404=0D
+ DQ 0xC19498A6CD596700,0xF3FF0C3E3255AA6B=0D
+$L$k_dsbe:=0D
+ DQ 0x46F2929626D4D000,0x2242600464B4F6B0=0D
+ DQ 0x0C55A6CDFFAAC100,0x9467F36B98593E32=0D
+$L$k_dsbo:=0D
+ DQ 0x1387EA537EF94000,0xC7AA6DB9D4943E2D=0D
+ DQ 0x12D7560F93441D00,0xCA4B8159D8C58E9C=0D
+DB 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105=0D
+DB 111,110,32,65,69,83,32,102,111,114,32,120,56,54,95,54=0D
+DB 52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97=0D
+DB 109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32=0D
+DB 85,110,105,118,101,114,115,105,116,121,41,0=0D
+ALIGN 64=0D
+=0D
+EXTERN __imp_RtlVirtualUnwind=0D
+=0D
+ALIGN 16=0D
+se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$in_prologue=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$in_prologue=0D
+=0D
+ lea rsi,[16+rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+ lea rax,[184+rax]=0D
+=0D
+$L$in_prologue:=0D
+ mov rdi,QWORD[8+rax]=0D
+ mov rsi,QWORD[16+rax]=0D
+ mov QWORD[152+r8],rax=0D
+ mov QWORD[168+r8],rsi=0D
+ mov QWORD[176+r8],rdi=0D
+=0D
+ mov rdi,QWORD[40+r9]=0D
+ mov rsi,r8=0D
+ mov ecx,154=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rsi,r9=0D
+ xor rcx,rcx=0D
+ mov rdx,QWORD[8+rsi]=0D
+ mov r8,QWORD[rsi]=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov r10,QWORD[40+rsi]=0D
+ lea r11,[56+rsi]=0D
+ lea r12,[24+rsi]=0D
+ mov QWORD[32+rsp],r10=0D
+ mov QWORD[40+rsp],r11=0D
+ mov QWORD[48+rsp],r12=0D
+ mov QWORD[56+rsp],rcx=0D
+ call QWORD[__imp_RtlVirtualUnwind]=0D
+=0D
+ mov eax,1=0D
+ add rsp,64=0D
+ popfq=0D
+ pop r15=0D
+ pop r14=0D
+ pop r13=0D
+ pop r12=0D
+ pop rbp=0D
+ pop rbx=0D
+ pop rdi=0D
+ pop rsi=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+section .pdata rdata align=3D4=0D
+ALIGN 4=0D
+ DD $L$SEH_begin_vpaes_set_encrypt_key wrt ..imagebase=0D
+ DD $L$SEH_end_vpaes_set_encrypt_key wrt ..imagebase=0D
+ DD $L$SEH_info_vpaes_set_encrypt_key wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_vpaes_set_decrypt_key wrt ..imagebase=0D
+ DD $L$SEH_end_vpaes_set_decrypt_key wrt ..imagebase=0D
+ DD $L$SEH_info_vpaes_set_decrypt_key wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_vpaes_encrypt wrt ..imagebase=0D
+ DD $L$SEH_end_vpaes_encrypt wrt ..imagebase=0D
+ DD $L$SEH_info_vpaes_encrypt wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_vpaes_decrypt wrt ..imagebase=0D
+ DD $L$SEH_end_vpaes_decrypt wrt ..imagebase=0D
+ DD $L$SEH_info_vpaes_decrypt wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_vpaes_cbc_encrypt wrt ..imagebase=0D
+ DD $L$SEH_end_vpaes_cbc_encrypt wrt ..imagebase=0D
+ DD $L$SEH_info_vpaes_cbc_encrypt wrt ..imagebase=0D
+=0D
+section .xdata rdata align=3D8=0D
+ALIGN 8=0D
+$L$SEH_info_vpaes_set_encrypt_key:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$enc_key_body wrt ..imagebase,$L$enc_key_epilogue wrt ..=
imagebase=0D
+$L$SEH_info_vpaes_set_decrypt_key:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$dec_key_body wrt ..imagebase,$L$dec_key_epilogue wrt ..=
imagebase=0D
+$L$SEH_info_vpaes_encrypt:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$enc_body wrt ..imagebase,$L$enc_epilogue wrt ..imagebas=
e=0D
+$L$SEH_info_vpaes_decrypt:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$dec_body wrt ..imagebase,$L$dec_epilogue wrt ..imagebas=
e=0D
+$L$SEH_info_vpaes_cbc_encrypt:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$cbc_body wrt ..imagebase,$L$cbc_epilogue wrt ..imagebas=
e=0D
diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nas=
m b/CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm
new file mode 100644
index 0000000000..60f283d5fb
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm
@@ -0,0 +1,1569 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/modes/asm/ghash-x86_64.pl=0D
+;=0D
+; Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+EXTERN OPENSSL_ia32cap_P=0D
+=0D
+global gcm_gmult_4bit=0D
+=0D
+ALIGN 16=0D
+gcm_gmult_4bit:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_gcm_gmult_4bit:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+=0D
+=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ push r15=0D
+=0D
+ sub rsp,280=0D
+=0D
+$L$gmult_prologue:=0D
+=0D
+ movzx r8,BYTE[15+rdi]=0D
+ lea r11,[$L$rem_4bit]=0D
+ xor rax,rax=0D
+ xor rbx,rbx=0D
+ mov al,r8b=0D
+ mov bl,r8b=0D
+ shl al,4=0D
+ mov rcx,14=0D
+ mov r8,QWORD[8+rax*1+rsi]=0D
+ mov r9,QWORD[rax*1+rsi]=0D
+ and bl,0xf0=0D
+ mov rdx,r8=0D
+ jmp NEAR $L$oop1=0D
+=0D
+ALIGN 16=0D
+$L$oop1:=0D
+ shr r8,4=0D
+ and rdx,0xf=0D
+ mov r10,r9=0D
+ mov al,BYTE[rcx*1+rdi]=0D
+ shr r9,4=0D
+ xor r8,QWORD[8+rbx*1+rsi]=0D
+ shl r10,60=0D
+ xor r9,QWORD[rbx*1+rsi]=0D
+ mov bl,al=0D
+ xor r9,QWORD[rdx*8+r11]=0D
+ mov rdx,r8=0D
+ shl al,4=0D
+ xor r8,r10=0D
+ dec rcx=0D
+ js NEAR $L$break1=0D
+=0D
+ shr r8,4=0D
+ and rdx,0xf=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ shl r10,60=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ and bl,0xf0=0D
+ xor r9,QWORD[rdx*8+r11]=0D
+ mov rdx,r8=0D
+ xor r8,r10=0D
+ jmp NEAR $L$oop1=0D
+=0D
+ALIGN 16=0D
+$L$break1:=0D
+ shr r8,4=0D
+ and rdx,0xf=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ shl r10,60=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ and bl,0xf0=0D
+ xor r9,QWORD[rdx*8+r11]=0D
+ mov rdx,r8=0D
+ xor r8,r10=0D
+=0D
+ shr r8,4=0D
+ and rdx,0xf=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ xor r8,QWORD[8+rbx*1+rsi]=0D
+ shl r10,60=0D
+ xor r9,QWORD[rbx*1+rsi]=0D
+ xor r8,r10=0D
+ xor r9,QWORD[rdx*8+r11]=0D
+=0D
+ bswap r8=0D
+ bswap r9=0D
+ mov QWORD[8+rdi],r8=0D
+ mov QWORD[rdi],r9=0D
+=0D
+ lea rsi,[((280+48))+rsp]=0D
+=0D
+ mov rbx,QWORD[((-8))+rsi]=0D
+=0D
+ lea rsp,[rsi]=0D
+=0D
+$L$gmult_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_gcm_gmult_4bit:=0D
+global gcm_ghash_4bit=0D
+=0D
+ALIGN 16=0D
+gcm_ghash_4bit:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_gcm_ghash_4bit:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+ mov rcx,r9=0D
+=0D
+=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ push r15=0D
+=0D
+ sub rsp,280=0D
+=0D
+$L$ghash_prologue:=0D
+ mov r14,rdx=0D
+ mov r15,rcx=0D
+ sub rsi,-128=0D
+ lea rbp,[((16+128))+rsp]=0D
+ xor edx,edx=0D
+ mov r8,QWORD[((0+0-128))+rsi]=0D
+ mov rax,QWORD[((0+8-128))+rsi]=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov r9,QWORD[((16+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov rbx,QWORD[((16+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[rbp],r8=0D
+ mov r8,QWORD[((32+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((0-128))+rbp],rax=0D
+ mov rax,QWORD[((32+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[1+rsp],dl=0D
+ or rbx,r10=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov QWORD[8+rbp],r9=0D
+ mov r9,QWORD[((48+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((8-128))+rbp],rbx=0D
+ mov rbx,QWORD[((48+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[2+rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[16+rbp],r8=0D
+ mov r8,QWORD[((64+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((16-128))+rbp],rax=0D
+ mov rax,QWORD[((64+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[3+rsp],dl=0D
+ or rbx,r10=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov QWORD[24+rbp],r9=0D
+ mov r9,QWORD[((80+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((24-128))+rbp],rbx=0D
+ mov rbx,QWORD[((80+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[4+rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[32+rbp],r8=0D
+ mov r8,QWORD[((96+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((32-128))+rbp],rax=0D
+ mov rax,QWORD[((96+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[5+rsp],dl=0D
+ or rbx,r10=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov QWORD[40+rbp],r9=0D
+ mov r9,QWORD[((112+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((40-128))+rbp],rbx=0D
+ mov rbx,QWORD[((112+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[6+rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[48+rbp],r8=0D
+ mov r8,QWORD[((128+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((48-128))+rbp],rax=0D
+ mov rax,QWORD[((128+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[7+rsp],dl=0D
+ or rbx,r10=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov QWORD[56+rbp],r9=0D
+ mov r9,QWORD[((144+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((56-128))+rbp],rbx=0D
+ mov rbx,QWORD[((144+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[8+rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[64+rbp],r8=0D
+ mov r8,QWORD[((160+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((64-128))+rbp],rax=0D
+ mov rax,QWORD[((160+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[9+rsp],dl=0D
+ or rbx,r10=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov QWORD[72+rbp],r9=0D
+ mov r9,QWORD[((176+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((72-128))+rbp],rbx=0D
+ mov rbx,QWORD[((176+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[10+rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[80+rbp],r8=0D
+ mov r8,QWORD[((192+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((80-128))+rbp],rax=0D
+ mov rax,QWORD[((192+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[11+rsp],dl=0D
+ or rbx,r10=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov QWORD[88+rbp],r9=0D
+ mov r9,QWORD[((208+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((88-128))+rbp],rbx=0D
+ mov rbx,QWORD[((208+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[12+rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[96+rbp],r8=0D
+ mov r8,QWORD[((224+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((96-128))+rbp],rax=0D
+ mov rax,QWORD[((224+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[13+rsp],dl=0D
+ or rbx,r10=0D
+ mov dl,al=0D
+ shr rax,4=0D
+ mov r10,r8=0D
+ shr r8,4=0D
+ mov QWORD[104+rbp],r9=0D
+ mov r9,QWORD[((240+0-128))+rsi]=0D
+ shl dl,4=0D
+ mov QWORD[((104-128))+rbp],rbx=0D
+ mov rbx,QWORD[((240+8-128))+rsi]=0D
+ shl r10,60=0D
+ mov BYTE[14+rsp],dl=0D
+ or rax,r10=0D
+ mov dl,bl=0D
+ shr rbx,4=0D
+ mov r10,r9=0D
+ shr r9,4=0D
+ mov QWORD[112+rbp],r8=0D
+ shl dl,4=0D
+ mov QWORD[((112-128))+rbp],rax=0D
+ shl r10,60=0D
+ mov BYTE[15+rsp],dl=0D
+ or rbx,r10=0D
+ mov QWORD[120+rbp],r9=0D
+ mov QWORD[((120-128))+rbp],rbx=0D
+ add rsi,-128=0D
+ mov r8,QWORD[8+rdi]=0D
+ mov r9,QWORD[rdi]=0D
+ add r15,r14=0D
+ lea r11,[$L$rem_8bit]=0D
+ jmp NEAR $L$outer_loop=0D
+ALIGN 16=0D
+$L$outer_loop:=0D
+ xor r9,QWORD[r14]=0D
+ mov rdx,QWORD[8+r14]=0D
+ lea r14,[16+r14]=0D
+ xor rdx,r8=0D
+ mov QWORD[rdi],r9=0D
+ mov QWORD[8+rdi],rdx=0D
+ shr rdx,32=0D
+ xor rax,rax=0D
+ rol edx,8=0D
+ mov al,dl=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ shr ebx,4=0D
+ rol edx,8=0D
+ mov r8,QWORD[8+rax*1+rsi]=0D
+ mov r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ shr ecx,4=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ movzx r13,BYTE[rcx*1+rsp]=0D
+ shr ebx,4=0D
+ shl r12,48=0D
+ xor r13,r8=0D
+ mov r10,r9=0D
+ xor r9,r12=0D
+ shr r8,8=0D
+ movzx r13,r13b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rcx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rcx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ shr ecx,4=0D
+ shl r13,48=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ xor r9,r13=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ mov edx,DWORD[8+rdi]=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ movzx r13,BYTE[rcx*1+rsp]=0D
+ shr ebx,4=0D
+ shl r12,48=0D
+ xor r13,r8=0D
+ mov r10,r9=0D
+ xor r9,r12=0D
+ shr r8,8=0D
+ movzx r13,r13b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rcx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rcx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ shr ecx,4=0D
+ shl r13,48=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ xor r9,r13=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ movzx r13,BYTE[rcx*1+rsp]=0D
+ shr ebx,4=0D
+ shl r12,48=0D
+ xor r13,r8=0D
+ mov r10,r9=0D
+ xor r9,r12=0D
+ shr r8,8=0D
+ movzx r13,r13b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rcx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rcx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ shr ecx,4=0D
+ shl r13,48=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ xor r9,r13=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ mov edx,DWORD[4+rdi]=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ movzx r13,BYTE[rcx*1+rsp]=0D
+ shr ebx,4=0D
+ shl r12,48=0D
+ xor r13,r8=0D
+ mov r10,r9=0D
+ xor r9,r12=0D
+ shr r8,8=0D
+ movzx r13,r13b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rcx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rcx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ shr ecx,4=0D
+ shl r13,48=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ xor r9,r13=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ movzx r13,BYTE[rcx*1+rsp]=0D
+ shr ebx,4=0D
+ shl r12,48=0D
+ xor r13,r8=0D
+ mov r10,r9=0D
+ xor r9,r12=0D
+ shr r8,8=0D
+ movzx r13,r13b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rcx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rcx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ shr ecx,4=0D
+ shl r13,48=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ xor r9,r13=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ mov edx,DWORD[rdi]=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ movzx r13,BYTE[rcx*1+rsp]=0D
+ shr ebx,4=0D
+ shl r12,48=0D
+ xor r13,r8=0D
+ mov r10,r9=0D
+ xor r9,r12=0D
+ shr r8,8=0D
+ movzx r13,r13b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rcx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rcx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ shr ecx,4=0D
+ shl r13,48=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ xor r9,r13=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ movzx ebx,dl=0D
+ shl al,4=0D
+ movzx r13,BYTE[rcx*1+rsp]=0D
+ shr ebx,4=0D
+ shl r12,48=0D
+ xor r13,r8=0D
+ mov r10,r9=0D
+ xor r9,r12=0D
+ shr r8,8=0D
+ movzx r13,r13b=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rcx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rcx*8+rbp]=0D
+ rol edx,8=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ mov al,dl=0D
+ xor r8,r10=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ movzx ecx,dl=0D
+ shl al,4=0D
+ movzx r12,BYTE[rbx*1+rsp]=0D
+ and ecx,240=0D
+ shl r13,48=0D
+ xor r12,r8=0D
+ mov r10,r9=0D
+ xor r9,r13=0D
+ shr r8,8=0D
+ movzx r12,r12b=0D
+ mov edx,DWORD[((-4))+rdi]=0D
+ shr r9,8=0D
+ xor r8,QWORD[((-128))+rbx*8+rbp]=0D
+ shl r10,56=0D
+ xor r9,QWORD[rbx*8+rbp]=0D
+ movzx r12,WORD[r12*2+r11]=0D
+ xor r8,QWORD[8+rax*1+rsi]=0D
+ xor r9,QWORD[rax*1+rsi]=0D
+ shl r12,48=0D
+ xor r8,r10=0D
+ xor r9,r12=0D
+ movzx r13,r8b=0D
+ shr r8,4=0D
+ mov r10,r9=0D
+ shl r13b,4=0D
+ shr r9,4=0D
+ xor r8,QWORD[8+rcx*1+rsi]=0D
+ movzx r13,WORD[r13*2+r11]=0D
+ shl r10,60=0D
+ xor r9,QWORD[rcx*1+rsi]=0D
+ xor r8,r10=0D
+ shl r13,48=0D
+ bswap r8=0D
+ xor r9,r13=0D
+ bswap r9=0D
+ cmp r14,r15=0D
+ jb NEAR $L$outer_loop=0D
+ mov QWORD[8+rdi],r8=0D
+ mov QWORD[rdi],r9=0D
+=0D
+ lea rsi,[((280+48))+rsp]=0D
+=0D
+ mov r15,QWORD[((-48))+rsi]=0D
+=0D
+ mov r14,QWORD[((-40))+rsi]=0D
+=0D
+ mov r13,QWORD[((-32))+rsi]=0D
+=0D
+ mov r12,QWORD[((-24))+rsi]=0D
+=0D
+ mov rbp,QWORD[((-16))+rsi]=0D
+=0D
+ mov rbx,QWORD[((-8))+rsi]=0D
+=0D
+ lea rsp,[rsi]=0D
+=0D
+$L$ghash_epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_gcm_ghash_4bit:=0D
+global gcm_init_clmul=0D
+=0D
+ALIGN 16=0D
+gcm_init_clmul:=0D
+=0D
+$L$_init_clmul:=0D
+$L$SEH_begin_gcm_init_clmul:=0D
+=0D
+DB 0x48,0x83,0xec,0x18=0D
+DB 0x0f,0x29,0x34,0x24=0D
+ movdqu xmm2,XMMWORD[rdx]=0D
+ pshufd xmm2,xmm2,78=0D
+=0D
+=0D
+ pshufd xmm4,xmm2,255=0D
+ movdqa xmm3,xmm2=0D
+ psllq xmm2,1=0D
+ pxor xmm5,xmm5=0D
+ psrlq xmm3,63=0D
+ pcmpgtd xmm5,xmm4=0D
+ pslldq xmm3,8=0D
+ por xmm2,xmm3=0D
+=0D
+=0D
+ pand xmm5,XMMWORD[$L$0x1c2_polynomial]=0D
+ pxor xmm2,xmm5=0D
+=0D
+=0D
+ pshufd xmm6,xmm2,78=0D
+ movdqa xmm0,xmm2=0D
+ pxor xmm6,xmm2=0D
+ movdqa xmm1,xmm0=0D
+ pshufd xmm3,xmm0,78=0D
+ pxor xmm3,xmm0=0D
+DB 102,15,58,68,194,0=0D
+DB 102,15,58,68,202,17=0D
+DB 102,15,58,68,222,0=0D
+ pxor xmm3,xmm0=0D
+ pxor xmm3,xmm1=0D
+=0D
+ movdqa xmm4,xmm3=0D
+ psrldq xmm3,8=0D
+ pslldq xmm4,8=0D
+ pxor xmm1,xmm3=0D
+ pxor xmm0,xmm4=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm3,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm3,xmm0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm3=0D
+ psllq xmm0,57=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm3,8=0D
+ pxor xmm0,xmm4=0D
+ pxor xmm1,xmm3=0D
+=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ psrlq xmm0,1=0D
+ pxor xmm1,xmm4=0D
+ pxor xmm4,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm4=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+ pshufd xmm3,xmm2,78=0D
+ pshufd xmm4,xmm0,78=0D
+ pxor xmm3,xmm2=0D
+ movdqu XMMWORD[rcx],xmm2=0D
+ pxor xmm4,xmm0=0D
+ movdqu XMMWORD[16+rcx],xmm0=0D
+DB 102,15,58,15,227,8=0D
+ movdqu XMMWORD[32+rcx],xmm4=0D
+ movdqa xmm1,xmm0=0D
+ pshufd xmm3,xmm0,78=0D
+ pxor xmm3,xmm0=0D
+DB 102,15,58,68,194,0=0D
+DB 102,15,58,68,202,17=0D
+DB 102,15,58,68,222,0=0D
+ pxor xmm3,xmm0=0D
+ pxor xmm3,xmm1=0D
+=0D
+ movdqa xmm4,xmm3=0D
+ psrldq xmm3,8=0D
+ pslldq xmm4,8=0D
+ pxor xmm1,xmm3=0D
+ pxor xmm0,xmm4=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm3,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm3,xmm0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm3=0D
+ psllq xmm0,57=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm3,8=0D
+ pxor xmm0,xmm4=0D
+ pxor xmm1,xmm3=0D
+=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ psrlq xmm0,1=0D
+ pxor xmm1,xmm4=0D
+ pxor xmm4,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm4=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+ movdqa xmm5,xmm0=0D
+ movdqa xmm1,xmm0=0D
+ pshufd xmm3,xmm0,78=0D
+ pxor xmm3,xmm0=0D
+DB 102,15,58,68,194,0=0D
+DB 102,15,58,68,202,17=0D
+DB 102,15,58,68,222,0=0D
+ pxor xmm3,xmm0=0D
+ pxor xmm3,xmm1=0D
+=0D
+ movdqa xmm4,xmm3=0D
+ psrldq xmm3,8=0D
+ pslldq xmm4,8=0D
+ pxor xmm1,xmm3=0D
+ pxor xmm0,xmm4=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm3,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm3,xmm0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm3=0D
+ psllq xmm0,57=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm3,8=0D
+ pxor xmm0,xmm4=0D
+ pxor xmm1,xmm3=0D
+=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ psrlq xmm0,1=0D
+ pxor xmm1,xmm4=0D
+ pxor xmm4,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm4=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+ pshufd xmm3,xmm5,78=0D
+ pshufd xmm4,xmm0,78=0D
+ pxor xmm3,xmm5=0D
+ movdqu XMMWORD[48+rcx],xmm5=0D
+ pxor xmm4,xmm0=0D
+ movdqu XMMWORD[64+rcx],xmm0=0D
+DB 102,15,58,15,227,8=0D
+ movdqu XMMWORD[80+rcx],xmm4=0D
+ movaps xmm6,XMMWORD[rsp]=0D
+ lea rsp,[24+rsp]=0D
+$L$SEH_end_gcm_init_clmul:=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+global gcm_gmult_clmul=0D
+=0D
+ALIGN 16=0D
+gcm_gmult_clmul:=0D
+=0D
+$L$_gmult_clmul:=0D
+ movdqu xmm0,XMMWORD[rcx]=0D
+ movdqa xmm5,XMMWORD[$L$bswap_mask]=0D
+ movdqu xmm2,XMMWORD[rdx]=0D
+ movdqu xmm4,XMMWORD[32+rdx]=0D
+DB 102,15,56,0,197=0D
+ movdqa xmm1,xmm0=0D
+ pshufd xmm3,xmm0,78=0D
+ pxor xmm3,xmm0=0D
+DB 102,15,58,68,194,0=0D
+DB 102,15,58,68,202,17=0D
+DB 102,15,58,68,220,0=0D
+ pxor xmm3,xmm0=0D
+ pxor xmm3,xmm1=0D
+=0D
+ movdqa xmm4,xmm3=0D
+ psrldq xmm3,8=0D
+ pslldq xmm4,8=0D
+ pxor xmm1,xmm3=0D
+ pxor xmm0,xmm4=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm3,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm3,xmm0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm3=0D
+ psllq xmm0,57=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm3,8=0D
+ pxor xmm0,xmm4=0D
+ pxor xmm1,xmm3=0D
+=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ psrlq xmm0,1=0D
+ pxor xmm1,xmm4=0D
+ pxor xmm4,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm4=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+DB 102,15,56,0,197=0D
+ movdqu XMMWORD[rcx],xmm0=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+global gcm_ghash_clmul=0D
+=0D
+ALIGN 32=0D
+gcm_ghash_clmul:=0D
+=0D
+$L$_ghash_clmul:=0D
+ lea rax,[((-136))+rsp]=0D
+$L$SEH_begin_gcm_ghash_clmul:=0D
+=0D
+DB 0x48,0x8d,0x60,0xe0=0D
+DB 0x0f,0x29,0x70,0xe0=0D
+DB 0x0f,0x29,0x78,0xf0=0D
+DB 0x44,0x0f,0x29,0x00=0D
+DB 0x44,0x0f,0x29,0x48,0x10=0D
+DB 0x44,0x0f,0x29,0x50,0x20=0D
+DB 0x44,0x0f,0x29,0x58,0x30=0D
+DB 0x44,0x0f,0x29,0x60,0x40=0D
+DB 0x44,0x0f,0x29,0x68,0x50=0D
+DB 0x44,0x0f,0x29,0x70,0x60=0D
+DB 0x44,0x0f,0x29,0x78,0x70=0D
+ movdqa xmm10,XMMWORD[$L$bswap_mask]=0D
+=0D
+ movdqu xmm0,XMMWORD[rcx]=0D
+ movdqu xmm2,XMMWORD[rdx]=0D
+ movdqu xmm7,XMMWORD[32+rdx]=0D
+DB 102,65,15,56,0,194=0D
+=0D
+ sub r9,0x10=0D
+ jz NEAR $L$odd_tail=0D
+=0D
+ movdqu xmm6,XMMWORD[16+rdx]=0D
+ mov eax,DWORD[((OPENSSL_ia32cap_P+4))]=0D
+ cmp r9,0x30=0D
+ jb NEAR $L$skip4x=0D
+=0D
+ and eax,71303168=0D
+ cmp eax,4194304=0D
+ je NEAR $L$skip4x=0D
+=0D
+ sub r9,0x30=0D
+ mov rax,0xA040608020C0E000=0D
+ movdqu xmm14,XMMWORD[48+rdx]=0D
+ movdqu xmm15,XMMWORD[64+rdx]=0D
+=0D
+=0D
+=0D
+=0D
+ movdqu xmm3,XMMWORD[48+r8]=0D
+ movdqu xmm11,XMMWORD[32+r8]=0D
+DB 102,65,15,56,0,218=0D
+DB 102,69,15,56,0,218=0D
+ movdqa xmm5,xmm3=0D
+ pshufd xmm4,xmm3,78=0D
+ pxor xmm4,xmm3=0D
+DB 102,15,58,68,218,0=0D
+DB 102,15,58,68,234,17=0D
+DB 102,15,58,68,231,0=0D
+=0D
+ movdqa xmm13,xmm11=0D
+ pshufd xmm12,xmm11,78=0D
+ pxor xmm12,xmm11=0D
+DB 102,68,15,58,68,222,0=0D
+DB 102,68,15,58,68,238,17=0D
+DB 102,68,15,58,68,231,16=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm5,xmm13=0D
+ movups xmm7,XMMWORD[80+rdx]=0D
+ xorps xmm4,xmm12=0D
+=0D
+ movdqu xmm11,XMMWORD[16+r8]=0D
+ movdqu xmm8,XMMWORD[r8]=0D
+DB 102,69,15,56,0,218=0D
+DB 102,69,15,56,0,194=0D
+ movdqa xmm13,xmm11=0D
+ pshufd xmm12,xmm11,78=0D
+ pxor xmm0,xmm8=0D
+ pxor xmm12,xmm11=0D
+DB 102,69,15,58,68,222,0=0D
+ movdqa xmm1,xmm0=0D
+ pshufd xmm8,xmm0,78=0D
+ pxor xmm8,xmm0=0D
+DB 102,69,15,58,68,238,17=0D
+DB 102,68,15,58,68,231,0=0D
+ xorps xmm3,xmm11=0D
+ xorps xmm5,xmm13=0D
+=0D
+ lea r8,[64+r8]=0D
+ sub r9,0x40=0D
+ jc NEAR $L$tail4x=0D
+=0D
+ jmp NEAR $L$mod4_loop=0D
+ALIGN 32=0D
+$L$mod4_loop:=0D
+DB 102,65,15,58,68,199,0=0D
+ xorps xmm4,xmm12=0D
+ movdqu xmm11,XMMWORD[48+r8]=0D
+DB 102,69,15,56,0,218=0D
+DB 102,65,15,58,68,207,17=0D
+ xorps xmm0,xmm3=0D
+ movdqu xmm3,XMMWORD[32+r8]=0D
+ movdqa xmm13,xmm11=0D
+DB 102,68,15,58,68,199,16=0D
+ pshufd xmm12,xmm11,78=0D
+ xorps xmm1,xmm5=0D
+ pxor xmm12,xmm11=0D
+DB 102,65,15,56,0,218=0D
+ movups xmm7,XMMWORD[32+rdx]=0D
+ xorps xmm8,xmm4=0D
+DB 102,68,15,58,68,218,0=0D
+ pshufd xmm4,xmm3,78=0D
+=0D
+ pxor xmm8,xmm0=0D
+ movdqa xmm5,xmm3=0D
+ pxor xmm8,xmm1=0D
+ pxor xmm4,xmm3=0D
+ movdqa xmm9,xmm8=0D
+DB 102,68,15,58,68,234,17=0D
+ pslldq xmm8,8=0D
+ psrldq xmm9,8=0D
+ pxor xmm0,xmm8=0D
+ movdqa xmm8,XMMWORD[$L$7_mask]=0D
+ pxor xmm1,xmm9=0D
+DB 102,76,15,110,200=0D
+=0D
+ pand xmm8,xmm0=0D
+DB 102,69,15,56,0,200=0D
+ pxor xmm9,xmm0=0D
+DB 102,68,15,58,68,231,0=0D
+ psllq xmm9,57=0D
+ movdqa xmm8,xmm9=0D
+ pslldq xmm9,8=0D
+DB 102,15,58,68,222,0=0D
+ psrldq xmm8,8=0D
+ pxor xmm0,xmm9=0D
+ pxor xmm1,xmm8=0D
+ movdqu xmm8,XMMWORD[r8]=0D
+=0D
+ movdqa xmm9,xmm0=0D
+ psrlq xmm0,1=0D
+DB 102,15,58,68,238,17=0D
+ xorps xmm3,xmm11=0D
+ movdqu xmm11,XMMWORD[16+r8]=0D
+DB 102,69,15,56,0,218=0D
+DB 102,15,58,68,231,16=0D
+ xorps xmm5,xmm13=0D
+ movups xmm7,XMMWORD[80+rdx]=0D
+DB 102,69,15,56,0,194=0D
+ pxor xmm1,xmm9=0D
+ pxor xmm9,xmm0=0D
+ psrlq xmm0,5=0D
+=0D
+ movdqa xmm13,xmm11=0D
+ pxor xmm4,xmm12=0D
+ pshufd xmm12,xmm11,78=0D
+ pxor xmm0,xmm9=0D
+ pxor xmm1,xmm8=0D
+ pxor xmm12,xmm11=0D
+DB 102,69,15,58,68,222,0=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+ movdqa xmm1,xmm0=0D
+DB 102,69,15,58,68,238,17=0D
+ xorps xmm3,xmm11=0D
+ pshufd xmm8,xmm0,78=0D
+ pxor xmm8,xmm0=0D
+=0D
+DB 102,68,15,58,68,231,0=0D
+ xorps xmm5,xmm13=0D
+=0D
+ lea r8,[64+r8]=0D
+ sub r9,0x40=0D
+ jnc NEAR $L$mod4_loop=0D
+=0D
+$L$tail4x:=0D
+DB 102,65,15,58,68,199,0=0D
+DB 102,65,15,58,68,207,17=0D
+DB 102,68,15,58,68,199,16=0D
+ xorps xmm4,xmm12=0D
+ xorps xmm0,xmm3=0D
+ xorps xmm1,xmm5=0D
+ pxor xmm1,xmm0=0D
+ pxor xmm8,xmm4=0D
+=0D
+ pxor xmm8,xmm1=0D
+ pxor xmm1,xmm0=0D
+=0D
+ movdqa xmm9,xmm8=0D
+ psrldq xmm8,8=0D
+ pslldq xmm9,8=0D
+ pxor xmm1,xmm8=0D
+ pxor xmm0,xmm9=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm3,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm3,xmm0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm3=0D
+ psllq xmm0,57=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm3,8=0D
+ pxor xmm0,xmm4=0D
+ pxor xmm1,xmm3=0D
+=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ psrlq xmm0,1=0D
+ pxor xmm1,xmm4=0D
+ pxor xmm4,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm4=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+ add r9,0x40=0D
+ jz NEAR $L$done=0D
+ movdqu xmm7,XMMWORD[32+rdx]=0D
+ sub r9,0x10=0D
+ jz NEAR $L$odd_tail=0D
+$L$skip4x:=0D
+=0D
+=0D
+=0D
+=0D
+=0D
+ movdqu xmm8,XMMWORD[r8]=0D
+ movdqu xmm3,XMMWORD[16+r8]=0D
+DB 102,69,15,56,0,194=0D
+DB 102,65,15,56,0,218=0D
+ pxor xmm0,xmm8=0D
+=0D
+ movdqa xmm5,xmm3=0D
+ pshufd xmm4,xmm3,78=0D
+ pxor xmm4,xmm3=0D
+DB 102,15,58,68,218,0=0D
+DB 102,15,58,68,234,17=0D
+DB 102,15,58,68,231,0=0D
+=0D
+ lea r8,[32+r8]=0D
+ nop=0D
+ sub r9,0x20=0D
+ jbe NEAR $L$even_tail=0D
+ nop=0D
+ jmp NEAR $L$mod_loop=0D
+=0D
+ALIGN 32=0D
+$L$mod_loop:=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm8,xmm4=0D
+ pshufd xmm4,xmm0,78=0D
+ pxor xmm4,xmm0=0D
+=0D
+DB 102,15,58,68,198,0=0D
+DB 102,15,58,68,206,17=0D
+DB 102,15,58,68,231,16=0D
+=0D
+ pxor xmm0,xmm3=0D
+ pxor xmm1,xmm5=0D
+ movdqu xmm9,XMMWORD[r8]=0D
+ pxor xmm8,xmm0=0D
+DB 102,69,15,56,0,202=0D
+ movdqu xmm3,XMMWORD[16+r8]=0D
+=0D
+ pxor xmm8,xmm1=0D
+ pxor xmm1,xmm9=0D
+ pxor xmm4,xmm8=0D
+DB 102,65,15,56,0,218=0D
+ movdqa xmm8,xmm4=0D
+ psrldq xmm8,8=0D
+ pslldq xmm4,8=0D
+ pxor xmm1,xmm8=0D
+ pxor xmm0,xmm4=0D
+=0D
+ movdqa xmm5,xmm3=0D
+=0D
+ movdqa xmm9,xmm0=0D
+ movdqa xmm8,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm8,xmm0=0D
+DB 102,15,58,68,218,0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm8=0D
+ psllq xmm0,57=0D
+ movdqa xmm8,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm8,8=0D
+ pxor xmm0,xmm9=0D
+ pshufd xmm4,xmm5,78=0D
+ pxor xmm1,xmm8=0D
+ pxor xmm4,xmm5=0D
+=0D
+ movdqa xmm9,xmm0=0D
+ psrlq xmm0,1=0D
+DB 102,15,58,68,234,17=0D
+ pxor xmm1,xmm9=0D
+ pxor xmm9,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm9=0D
+ lea r8,[32+r8]=0D
+ psrlq xmm0,1=0D
+DB 102,15,58,68,231,0=0D
+ pxor xmm0,xmm1=0D
+=0D
+ sub r9,0x20=0D
+ ja NEAR $L$mod_loop=0D
+=0D
+$L$even_tail:=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm8,xmm4=0D
+ pshufd xmm4,xmm0,78=0D
+ pxor xmm4,xmm0=0D
+=0D
+DB 102,15,58,68,198,0=0D
+DB 102,15,58,68,206,17=0D
+DB 102,15,58,68,231,16=0D
+=0D
+ pxor xmm0,xmm3=0D
+ pxor xmm1,xmm5=0D
+ pxor xmm8,xmm0=0D
+ pxor xmm8,xmm1=0D
+ pxor xmm4,xmm8=0D
+ movdqa xmm8,xmm4=0D
+ psrldq xmm8,8=0D
+ pslldq xmm4,8=0D
+ pxor xmm1,xmm8=0D
+ pxor xmm0,xmm4=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm3,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm3,xmm0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm3=0D
+ psllq xmm0,57=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm3,8=0D
+ pxor xmm0,xmm4=0D
+ pxor xmm1,xmm3=0D
+=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ psrlq xmm0,1=0D
+ pxor xmm1,xmm4=0D
+ pxor xmm4,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm4=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+ test r9,r9=0D
+ jnz NEAR $L$done=0D
+=0D
+$L$odd_tail:=0D
+ movdqu xmm8,XMMWORD[r8]=0D
+DB 102,69,15,56,0,194=0D
+ pxor xmm0,xmm8=0D
+ movdqa xmm1,xmm0=0D
+ pshufd xmm3,xmm0,78=0D
+ pxor xmm3,xmm0=0D
+DB 102,15,58,68,194,0=0D
+DB 102,15,58,68,202,17=0D
+DB 102,15,58,68,223,0=0D
+ pxor xmm3,xmm0=0D
+ pxor xmm3,xmm1=0D
+=0D
+ movdqa xmm4,xmm3=0D
+ psrldq xmm3,8=0D
+ pslldq xmm4,8=0D
+ pxor xmm1,xmm3=0D
+ pxor xmm0,xmm4=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ movdqa xmm3,xmm0=0D
+ psllq xmm0,5=0D
+ pxor xmm3,xmm0=0D
+ psllq xmm0,1=0D
+ pxor xmm0,xmm3=0D
+ psllq xmm0,57=0D
+ movdqa xmm3,xmm0=0D
+ pslldq xmm0,8=0D
+ psrldq xmm3,8=0D
+ pxor xmm0,xmm4=0D
+ pxor xmm1,xmm3=0D
+=0D
+=0D
+ movdqa xmm4,xmm0=0D
+ psrlq xmm0,1=0D
+ pxor xmm1,xmm4=0D
+ pxor xmm4,xmm0=0D
+ psrlq xmm0,5=0D
+ pxor xmm0,xmm4=0D
+ psrlq xmm0,1=0D
+ pxor xmm0,xmm1=0D
+$L$done:=0D
+DB 102,65,15,56,0,194=0D
+ movdqu XMMWORD[rcx],xmm0=0D
+ movaps xmm6,XMMWORD[rsp]=0D
+ movaps xmm7,XMMWORD[16+rsp]=0D
+ movaps xmm8,XMMWORD[32+rsp]=0D
+ movaps xmm9,XMMWORD[48+rsp]=0D
+ movaps xmm10,XMMWORD[64+rsp]=0D
+ movaps xmm11,XMMWORD[80+rsp]=0D
+ movaps xmm12,XMMWORD[96+rsp]=0D
+ movaps xmm13,XMMWORD[112+rsp]=0D
+ movaps xmm14,XMMWORD[128+rsp]=0D
+ movaps xmm15,XMMWORD[144+rsp]=0D
+ lea rsp,[168+rsp]=0D
+$L$SEH_end_gcm_ghash_clmul:=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+global gcm_init_avx=0D
+=0D
+ALIGN 32=0D
+gcm_init_avx:=0D
+=0D
+ jmp NEAR $L$_init_clmul=0D
+=0D
+=0D
+global gcm_gmult_avx=0D
+=0D
+ALIGN 32=0D
+gcm_gmult_avx:=0D
+=0D
+ jmp NEAR $L$_gmult_clmul=0D
+=0D
+=0D
+global gcm_ghash_avx=0D
+=0D
+ALIGN 32=0D
+gcm_ghash_avx:=0D
+=0D
+ jmp NEAR $L$_ghash_clmul=0D
+=0D
+=0D
+ALIGN 64=0D
+$L$bswap_mask:=0D
+DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0=0D
+$L$0x1c2_polynomial:=0D
+DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2=0D
+$L$7_mask:=0D
+ DD 7,0,7,0=0D
+$L$7_mask_poly:=0D
+ DD 7,0,450,0=0D
+ALIGN 64=0D
+=0D
+$L$rem_4bit:=0D
+ DD 0,0,0,471859200,0,943718400,0,610271232=0D
+ DD 0,1887436800,0,1822425088,0,1220542464,0,1423966208=0D
+ DD 0,3774873600,0,4246732800,0,3644850176,0,3311403008=0D
+ DD 0,2441084928,0,2376073216,0,2847932416,0,3051356160=0D
+=0D
+$L$rem_8bit:=0D
+ DW 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E=0D
+ DW 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E=0D
+ DW 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E=0D
+ DW 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E=0D
+ DW 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E=0D
+ DW 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E=0D
+ DW 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E=0D
+ DW 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E=0D
+ DW 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE=0D
+ DW 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE=0D
+ DW 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE=0D
+ DW 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE=0D
+ DW 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E=0D
+ DW 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E=0D
+ DW 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE=0D
+ DW 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE=0D
+ DW 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E=0D
+ DW 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E=0D
+ DW 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E=0D
+ DW 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E=0D
+ DW 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E=0D
+ DW 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E=0D
+ DW 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E=0D
+ DW 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E=0D
+ DW 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE=0D
+ DW 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE=0D
+ DW 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE=0D
+ DW 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE=0D
+ DW 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E=0D
+ DW 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E=0D
+ DW 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE=0D
+ DW 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE=0D
+=0D
+DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52=0D
+DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32=0D
+DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111=0D
+DB 114,103,62,0=0D
+ALIGN 64=0D
+EXTERN __imp_RtlVirtualUnwind=0D
+=0D
+ALIGN 16=0D
+se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$in_prologue=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$in_prologue=0D
+=0D
+ lea rax,[((48+280))+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+ mov r12,QWORD[((-24))+rax]=0D
+ mov r13,QWORD[((-32))+rax]=0D
+ mov r14,QWORD[((-40))+rax]=0D
+ mov r15,QWORD[((-48))+rax]=0D
+ mov QWORD[144+r8],rbx=0D
+ mov QWORD[160+r8],rbp=0D
+ mov QWORD[216+r8],r12=0D
+ mov QWORD[224+r8],r13=0D
+ mov QWORD[232+r8],r14=0D
+ mov QWORD[240+r8],r15=0D
+=0D
+$L$in_prologue:=0D
+ mov rdi,QWORD[8+rax]=0D
+ mov rsi,QWORD[16+rax]=0D
+ mov QWORD[152+r8],rax=0D
+ mov QWORD[168+r8],rsi=0D
+ mov QWORD[176+r8],rdi=0D
+=0D
+ mov rdi,QWORD[40+r9]=0D
+ mov rsi,r8=0D
+ mov ecx,154=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rsi,r9=0D
+ xor rcx,rcx=0D
+ mov rdx,QWORD[8+rsi]=0D
+ mov r8,QWORD[rsi]=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov r10,QWORD[40+rsi]=0D
+ lea r11,[56+rsi]=0D
+ lea r12,[24+rsi]=0D
+ mov QWORD[32+rsp],r10=0D
+ mov QWORD[40+rsp],r11=0D
+ mov QWORD[48+rsp],r12=0D
+ mov QWORD[56+rsp],rcx=0D
+ call QWORD[__imp_RtlVirtualUnwind]=0D
+=0D
+ mov eax,1=0D
+ add rsp,64=0D
+ popfq=0D
+ pop r15=0D
+ pop r14=0D
+ pop r13=0D
+ pop r12=0D
+ pop rbp=0D
+ pop rbx=0D
+ pop rdi=0D
+ pop rsi=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+=0D
+section .pdata rdata align=3D4=0D
+ALIGN 4=0D
+ DD $L$SEH_begin_gcm_gmult_4bit wrt ..imagebase=0D
+ DD $L$SEH_end_gcm_gmult_4bit wrt ..imagebase=0D
+ DD $L$SEH_info_gcm_gmult_4bit wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_gcm_ghash_4bit wrt ..imagebase=0D
+ DD $L$SEH_end_gcm_ghash_4bit wrt ..imagebase=0D
+ DD $L$SEH_info_gcm_ghash_4bit wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_gcm_init_clmul wrt ..imagebase=0D
+ DD $L$SEH_end_gcm_init_clmul wrt ..imagebase=0D
+ DD $L$SEH_info_gcm_init_clmul wrt ..imagebase=0D
+=0D
+ DD $L$SEH_begin_gcm_ghash_clmul wrt ..imagebase=0D
+ DD $L$SEH_end_gcm_ghash_clmul wrt ..imagebase=0D
+ DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase=0D
+section .xdata rdata align=3D8=0D
+ALIGN 8=0D
+$L$SEH_info_gcm_gmult_4bit:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$gmult_prologue wrt ..imagebase,$L$gmult_epilogue wrt ..=
imagebase=0D
+$L$SEH_info_gcm_ghash_4bit:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$ghash_prologue wrt ..imagebase,$L$ghash_epilogue wrt ..=
imagebase=0D
+$L$SEH_info_gcm_init_clmul:=0D
+DB 0x01,0x08,0x03,0x00=0D
+DB 0x08,0x68,0x00,0x00=0D
+DB 0x04,0x22,0x00,0x00=0D
+$L$SEH_info_gcm_ghash_clmul:=0D
+DB 0x01,0x33,0x16,0x00=0D
+DB 0x33,0xf8,0x09,0x00=0D
+DB 0x2e,0xe8,0x08,0x00=0D
+DB 0x29,0xd8,0x07,0x00=0D
+DB 0x24,0xc8,0x06,0x00=0D
+DB 0x1f,0xb8,0x05,0x00=0D
+DB 0x1a,0xa8,0x04,0x00=0D
+DB 0x15,0x98,0x03,0x00=0D
+DB 0x10,0x88,0x02,0x00=0D
+DB 0x0c,0x78,0x01,0x00=0D
+DB 0x08,0x68,0x00,0x00=0D
+DB 0x04,0x01,0x15,0x00=0D
diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nas=
m b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm
new file mode 100644
index 0000000000..f3b7b0e35e
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm
@@ -0,0 +1,3137 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/sha/asm/sha1-mb-x86_64.pl=0D
+;=0D
+; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+=0D
+EXTERN OPENSSL_ia32cap_P=0D
+=0D
+global sha1_multi_block=0D
+=0D
+ALIGN 32=0D
+sha1_multi_block:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_sha1_multi_block:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ mov rcx,QWORD[((OPENSSL_ia32cap_P+4))]=0D
+ bt rcx,61=0D
+ jc NEAR _shaext_shortcut=0D
+ mov rax,rsp=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ lea rsp,[((-168))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+ movaps XMMWORD[(-120)+rax],xmm10=0D
+ movaps XMMWORD[(-104)+rax],xmm11=0D
+ movaps XMMWORD[(-88)+rax],xmm12=0D
+ movaps XMMWORD[(-72)+rax],xmm13=0D
+ movaps XMMWORD[(-56)+rax],xmm14=0D
+ movaps XMMWORD[(-40)+rax],xmm15=0D
+ sub rsp,288=0D
+ and rsp,-256=0D
+ mov QWORD[272+rsp],rax=0D
+=0D
+$L$body:=0D
+ lea rbp,[K_XX_XX]=0D
+ lea rbx,[256+rsp]=0D
+=0D
+$L$oop_grande:=0D
+ mov DWORD[280+rsp],edx=0D
+ xor edx,edx=0D
+ mov r8,QWORD[rsi]=0D
+ mov ecx,DWORD[8+rsi]=0D
+ cmp ecx,edx=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ mov DWORD[rbx],ecx=0D
+ cmovle r8,rbp=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov ecx,DWORD[24+rsi]=0D
+ cmp ecx,edx=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ mov DWORD[4+rbx],ecx=0D
+ cmovle r9,rbp=0D
+ mov r10,QWORD[32+rsi]=0D
+ mov ecx,DWORD[40+rsi]=0D
+ cmp ecx,edx=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ mov DWORD[8+rbx],ecx=0D
+ cmovle r10,rbp=0D
+ mov r11,QWORD[48+rsi]=0D
+ mov ecx,DWORD[56+rsi]=0D
+ cmp ecx,edx=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ mov DWORD[12+rbx],ecx=0D
+ cmovle r11,rbp=0D
+ test edx,edx=0D
+ jz NEAR $L$done=0D
+=0D
+ movdqu xmm10,XMMWORD[rdi]=0D
+ lea rax,[128+rsp]=0D
+ movdqu xmm11,XMMWORD[32+rdi]=0D
+ movdqu xmm12,XMMWORD[64+rdi]=0D
+ movdqu xmm13,XMMWORD[96+rdi]=0D
+ movdqu xmm14,XMMWORD[128+rdi]=0D
+ movdqa xmm5,XMMWORD[96+rbp]=0D
+ movdqa xmm15,XMMWORD[((-32))+rbp]=0D
+ jmp NEAR $L$oop=0D
+=0D
+ALIGN 32=0D
+$L$oop:=0D
+ movd xmm0,DWORD[r8]=0D
+ lea r8,[64+r8]=0D
+ movd xmm2,DWORD[r9]=0D
+ lea r9,[64+r9]=0D
+ movd xmm3,DWORD[r10]=0D
+ lea r10,[64+r10]=0D
+ movd xmm4,DWORD[r11]=0D
+ lea r11,[64+r11]=0D
+ punpckldq xmm0,xmm3=0D
+ movd xmm1,DWORD[((-60))+r8]=0D
+ punpckldq xmm2,xmm4=0D
+ movd xmm9,DWORD[((-60))+r9]=0D
+ punpckldq xmm0,xmm2=0D
+ movd xmm8,DWORD[((-60))+r10]=0D
+DB 102,15,56,0,197=0D
+ movd xmm7,DWORD[((-60))+r11]=0D
+ punpckldq xmm1,xmm8=0D
+ movdqa xmm8,xmm10=0D
+ paddd xmm14,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm11=0D
+ movdqa xmm6,xmm11=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm13=0D
+ pand xmm6,xmm12=0D
+ punpckldq xmm1,xmm9=0D
+ movdqa xmm9,xmm10=0D
+=0D
+ movdqa XMMWORD[(0-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ movd xmm2,DWORD[((-56))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-56))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+DB 102,15,56,0,205=0D
+ movd xmm8,DWORD[((-56))+r10]=0D
+ por xmm11,xmm7=0D
+ movd xmm7,DWORD[((-56))+r11]=0D
+ punpckldq xmm2,xmm8=0D
+ movdqa xmm8,xmm14=0D
+ paddd xmm13,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm10=0D
+ movdqa xmm6,xmm10=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm12=0D
+ pand xmm6,xmm11=0D
+ punpckldq xmm2,xmm9=0D
+ movdqa xmm9,xmm14=0D
+=0D
+ movdqa XMMWORD[(16-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ movd xmm3,DWORD[((-52))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-52))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+DB 102,15,56,0,213=0D
+ movd xmm8,DWORD[((-52))+r10]=0D
+ por xmm10,xmm7=0D
+ movd xmm7,DWORD[((-52))+r11]=0D
+ punpckldq xmm3,xmm8=0D
+ movdqa xmm8,xmm13=0D
+ paddd xmm12,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm14=0D
+ movdqa xmm6,xmm14=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm11=0D
+ pand xmm6,xmm10=0D
+ punpckldq xmm3,xmm9=0D
+ movdqa xmm9,xmm13=0D
+=0D
+ movdqa XMMWORD[(32-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ movd xmm4,DWORD[((-48))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-48))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+DB 102,15,56,0,221=0D
+ movd xmm8,DWORD[((-48))+r10]=0D
+ por xmm14,xmm7=0D
+ movd xmm7,DWORD[((-48))+r11]=0D
+ punpckldq xmm4,xmm8=0D
+ movdqa xmm8,xmm12=0D
+ paddd xmm11,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm13=0D
+ movdqa xmm6,xmm13=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm10=0D
+ pand xmm6,xmm14=0D
+ punpckldq xmm4,xmm9=0D
+ movdqa xmm9,xmm12=0D
+=0D
+ movdqa XMMWORD[(48-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ movd xmm0,DWORD[((-44))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-44))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+DB 102,15,56,0,229=0D
+ movd xmm8,DWORD[((-44))+r10]=0D
+ por xmm13,xmm7=0D
+ movd xmm7,DWORD[((-44))+r11]=0D
+ punpckldq xmm0,xmm8=0D
+ movdqa xmm8,xmm11=0D
+ paddd xmm10,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm12=0D
+ movdqa xmm6,xmm12=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm14=0D
+ pand xmm6,xmm13=0D
+ punpckldq xmm0,xmm9=0D
+ movdqa xmm9,xmm11=0D
+=0D
+ movdqa XMMWORD[(64-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ movd xmm1,DWORD[((-40))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-40))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+DB 102,15,56,0,197=0D
+ movd xmm8,DWORD[((-40))+r10]=0D
+ por xmm12,xmm7=0D
+ movd xmm7,DWORD[((-40))+r11]=0D
+ punpckldq xmm1,xmm8=0D
+ movdqa xmm8,xmm10=0D
+ paddd xmm14,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm11=0D
+ movdqa xmm6,xmm11=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm13=0D
+ pand xmm6,xmm12=0D
+ punpckldq xmm1,xmm9=0D
+ movdqa xmm9,xmm10=0D
+=0D
+ movdqa XMMWORD[(80-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ movd xmm2,DWORD[((-36))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-36))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+DB 102,15,56,0,205=0D
+ movd xmm8,DWORD[((-36))+r10]=0D
+ por xmm11,xmm7=0D
+ movd xmm7,DWORD[((-36))+r11]=0D
+ punpckldq xmm2,xmm8=0D
+ movdqa xmm8,xmm14=0D
+ paddd xmm13,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm10=0D
+ movdqa xmm6,xmm10=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm12=0D
+ pand xmm6,xmm11=0D
+ punpckldq xmm2,xmm9=0D
+ movdqa xmm9,xmm14=0D
+=0D
+ movdqa XMMWORD[(96-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ movd xmm3,DWORD[((-32))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-32))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+DB 102,15,56,0,213=0D
+ movd xmm8,DWORD[((-32))+r10]=0D
+ por xmm10,xmm7=0D
+ movd xmm7,DWORD[((-32))+r11]=0D
+ punpckldq xmm3,xmm8=0D
+ movdqa xmm8,xmm13=0D
+ paddd xmm12,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm14=0D
+ movdqa xmm6,xmm14=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm11=0D
+ pand xmm6,xmm10=0D
+ punpckldq xmm3,xmm9=0D
+ movdqa xmm9,xmm13=0D
+=0D
+ movdqa XMMWORD[(112-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ movd xmm4,DWORD[((-28))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-28))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+DB 102,15,56,0,221=0D
+ movd xmm8,DWORD[((-28))+r10]=0D
+ por xmm14,xmm7=0D
+ movd xmm7,DWORD[((-28))+r11]=0D
+ punpckldq xmm4,xmm8=0D
+ movdqa xmm8,xmm12=0D
+ paddd xmm11,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm13=0D
+ movdqa xmm6,xmm13=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm10=0D
+ pand xmm6,xmm14=0D
+ punpckldq xmm4,xmm9=0D
+ movdqa xmm9,xmm12=0D
+=0D
+ movdqa XMMWORD[(128-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ movd xmm0,DWORD[((-24))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-24))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+DB 102,15,56,0,229=0D
+ movd xmm8,DWORD[((-24))+r10]=0D
+ por xmm13,xmm7=0D
+ movd xmm7,DWORD[((-24))+r11]=0D
+ punpckldq xmm0,xmm8=0D
+ movdqa xmm8,xmm11=0D
+ paddd xmm10,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm12=0D
+ movdqa xmm6,xmm12=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm14=0D
+ pand xmm6,xmm13=0D
+ punpckldq xmm0,xmm9=0D
+ movdqa xmm9,xmm11=0D
+=0D
+ movdqa XMMWORD[(144-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ movd xmm1,DWORD[((-20))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-20))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+DB 102,15,56,0,197=0D
+ movd xmm8,DWORD[((-20))+r10]=0D
+ por xmm12,xmm7=0D
+ movd xmm7,DWORD[((-20))+r11]=0D
+ punpckldq xmm1,xmm8=0D
+ movdqa xmm8,xmm10=0D
+ paddd xmm14,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm11=0D
+ movdqa xmm6,xmm11=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm13=0D
+ pand xmm6,xmm12=0D
+ punpckldq xmm1,xmm9=0D
+ movdqa xmm9,xmm10=0D
+=0D
+ movdqa XMMWORD[(160-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ movd xmm2,DWORD[((-16))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-16))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+DB 102,15,56,0,205=0D
+ movd xmm8,DWORD[((-16))+r10]=0D
+ por xmm11,xmm7=0D
+ movd xmm7,DWORD[((-16))+r11]=0D
+ punpckldq xmm2,xmm8=0D
+ movdqa xmm8,xmm14=0D
+ paddd xmm13,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm10=0D
+ movdqa xmm6,xmm10=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm12=0D
+ pand xmm6,xmm11=0D
+ punpckldq xmm2,xmm9=0D
+ movdqa xmm9,xmm14=0D
+=0D
+ movdqa XMMWORD[(176-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ movd xmm3,DWORD[((-12))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-12))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+DB 102,15,56,0,213=0D
+ movd xmm8,DWORD[((-12))+r10]=0D
+ por xmm10,xmm7=0D
+ movd xmm7,DWORD[((-12))+r11]=0D
+ punpckldq xmm3,xmm8=0D
+ movdqa xmm8,xmm13=0D
+ paddd xmm12,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm14=0D
+ movdqa xmm6,xmm14=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm11=0D
+ pand xmm6,xmm10=0D
+ punpckldq xmm3,xmm9=0D
+ movdqa xmm9,xmm13=0D
+=0D
+ movdqa XMMWORD[(192-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ movd xmm4,DWORD[((-8))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-8))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+DB 102,15,56,0,221=0D
+ movd xmm8,DWORD[((-8))+r10]=0D
+ por xmm14,xmm7=0D
+ movd xmm7,DWORD[((-8))+r11]=0D
+ punpckldq xmm4,xmm8=0D
+ movdqa xmm8,xmm12=0D
+ paddd xmm11,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm13=0D
+ movdqa xmm6,xmm13=0D
+ pslld xmm8,5=0D
+ pandn xmm7,xmm10=0D
+ pand xmm6,xmm14=0D
+ punpckldq xmm4,xmm9=0D
+ movdqa xmm9,xmm12=0D
+=0D
+ movdqa XMMWORD[(208-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ movd xmm0,DWORD[((-4))+r8]=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ por xmm8,xmm9=0D
+ movd xmm9,DWORD[((-4))+r9]=0D
+ pslld xmm7,30=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+DB 102,15,56,0,229=0D
+ movd xmm8,DWORD[((-4))+r10]=0D
+ por xmm13,xmm7=0D
+ movdqa xmm1,XMMWORD[((0-128))+rax]=0D
+ movd xmm7,DWORD[((-4))+r11]=0D
+ punpckldq xmm0,xmm8=0D
+ movdqa xmm8,xmm11=0D
+ paddd xmm10,xmm15=0D
+ punpckldq xmm9,xmm7=0D
+ movdqa xmm7,xmm12=0D
+ movdqa xmm6,xmm12=0D
+ pslld xmm8,5=0D
+ prefetcht0 [63+r8]=0D
+ pandn xmm7,xmm14=0D
+ pand xmm6,xmm13=0D
+ punpckldq xmm0,xmm9=0D
+ movdqa xmm9,xmm11=0D
+=0D
+ movdqa XMMWORD[(224-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+ movdqa xmm7,xmm12=0D
+ prefetcht0 [63+r9]=0D
+=0D
+ por xmm8,xmm9=0D
+ pslld xmm7,30=0D
+ paddd xmm10,xmm6=0D
+ prefetcht0 [63+r10]=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+DB 102,15,56,0,197=0D
+ prefetcht0 [63+r11]=0D
+ por xmm12,xmm7=0D
+ movdqa xmm2,XMMWORD[((16-128))+rax]=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((32-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ pxor xmm1,XMMWORD[((128-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ movdqa xmm7,xmm11=0D
+ pslld xmm8,5=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm6,xmm11=0D
+ pandn xmm7,xmm13=0D
+ movdqa xmm5,xmm1=0D
+ pand xmm6,xmm12=0D
+ movdqa xmm9,xmm10=0D
+ psrld xmm5,31=0D
+ paddd xmm1,xmm1=0D
+=0D
+ movdqa XMMWORD[(240-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+=0D
+ movdqa xmm7,xmm11=0D
+ por xmm8,xmm9=0D
+ pslld xmm7,30=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((48-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ pxor xmm2,XMMWORD[((144-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ movdqa xmm7,xmm10=0D
+ pslld xmm8,5=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm6,xmm10=0D
+ pandn xmm7,xmm12=0D
+ movdqa xmm5,xmm2=0D
+ pand xmm6,xmm11=0D
+ movdqa xmm9,xmm14=0D
+ psrld xmm5,31=0D
+ paddd xmm2,xmm2=0D
+=0D
+ movdqa XMMWORD[(0-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+=0D
+ movdqa xmm7,xmm10=0D
+ por xmm8,xmm9=0D
+ pslld xmm7,30=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((64-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ pxor xmm3,XMMWORD[((160-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ movdqa xmm7,xmm14=0D
+ pslld xmm8,5=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm6,xmm14=0D
+ pandn xmm7,xmm11=0D
+ movdqa xmm5,xmm3=0D
+ pand xmm6,xmm10=0D
+ movdqa xmm9,xmm13=0D
+ psrld xmm5,31=0D
+ paddd xmm3,xmm3=0D
+=0D
+ movdqa XMMWORD[(16-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+=0D
+ movdqa xmm7,xmm14=0D
+ por xmm8,xmm9=0D
+ pslld xmm7,30=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((80-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ pxor xmm4,XMMWORD[((176-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ movdqa xmm7,xmm13=0D
+ pslld xmm8,5=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm6,xmm13=0D
+ pandn xmm7,xmm10=0D
+ movdqa xmm5,xmm4=0D
+ pand xmm6,xmm14=0D
+ movdqa xmm9,xmm12=0D
+ psrld xmm5,31=0D
+ paddd xmm4,xmm4=0D
+=0D
+ movdqa XMMWORD[(32-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+=0D
+ movdqa xmm7,xmm13=0D
+ por xmm8,xmm9=0D
+ pslld xmm7,30=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((96-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ pxor xmm0,XMMWORD[((192-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ movdqa xmm7,xmm12=0D
+ pslld xmm8,5=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm6,xmm12=0D
+ pandn xmm7,xmm14=0D
+ movdqa xmm5,xmm0=0D
+ pand xmm6,xmm13=0D
+ movdqa xmm9,xmm11=0D
+ psrld xmm5,31=0D
+ paddd xmm0,xmm0=0D
+=0D
+ movdqa XMMWORD[(48-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm7=0D
+=0D
+ movdqa xmm7,xmm12=0D
+ por xmm8,xmm9=0D
+ pslld xmm7,30=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ movdqa xmm15,XMMWORD[rbp]=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((112-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((208-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ movdqa XMMWORD[(64-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((128-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((224-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ movdqa XMMWORD[(80-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((144-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((240-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ movdqa XMMWORD[(96-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((160-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((0-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ movdqa XMMWORD[(112-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((176-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm6,xmm14=0D
+ pxor xmm0,XMMWORD[((16-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ movdqa XMMWORD[(128-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ pxor xmm0,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm13=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm10,xmm6=0D
+ paddd xmm0,xmm0=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((192-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((32-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ movdqa XMMWORD[(144-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((208-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((48-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ movdqa XMMWORD[(160-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((224-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((64-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ movdqa XMMWORD[(176-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((240-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((80-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ movdqa XMMWORD[(192-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((0-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm6,xmm14=0D
+ pxor xmm0,XMMWORD[((96-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ movdqa XMMWORD[(208-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ pxor xmm0,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm13=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm10,xmm6=0D
+ paddd xmm0,xmm0=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((16-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((112-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ movdqa XMMWORD[(224-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((32-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((128-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ movdqa XMMWORD[(240-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((48-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((144-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ movdqa XMMWORD[(0-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((64-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((160-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ movdqa XMMWORD[(16-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((80-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm6,xmm14=0D
+ pxor xmm0,XMMWORD[((176-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ movdqa XMMWORD[(32-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ pxor xmm0,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm13=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm10,xmm6=0D
+ paddd xmm0,xmm0=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((96-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((192-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ movdqa XMMWORD[(48-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((112-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((208-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ movdqa XMMWORD[(64-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((128-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((224-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ movdqa XMMWORD[(80-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((144-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((240-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ movdqa XMMWORD[(96-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((160-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm6,xmm14=0D
+ pxor xmm0,XMMWORD[((0-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ movdqa XMMWORD[(112-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ pxor xmm0,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm13=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm10,xmm6=0D
+ paddd xmm0,xmm0=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ movdqa xmm15,XMMWORD[32+rbp]=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((176-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm7,xmm13=0D
+ pxor xmm1,XMMWORD[((16-128))+rax]=0D
+ pxor xmm1,xmm3=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm10=0D
+ pand xmm7,xmm12=0D
+=0D
+ movdqa xmm6,xmm13=0D
+ movdqa xmm5,xmm1=0D
+ psrld xmm9,27=0D
+ paddd xmm14,xmm7=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa XMMWORD[(128-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm11=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm1,xmm1=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((192-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm7,xmm12=0D
+ pxor xmm2,XMMWORD[((32-128))+rax]=0D
+ pxor xmm2,xmm4=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm14=0D
+ pand xmm7,xmm11=0D
+=0D
+ movdqa xmm6,xmm12=0D
+ movdqa xmm5,xmm2=0D
+ psrld xmm9,27=0D
+ paddd xmm13,xmm7=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa XMMWORD[(144-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm10=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm2,xmm2=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((208-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm7,xmm11=0D
+ pxor xmm3,XMMWORD[((48-128))+rax]=0D
+ pxor xmm3,xmm0=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm13=0D
+ pand xmm7,xmm10=0D
+=0D
+ movdqa xmm6,xmm11=0D
+ movdqa xmm5,xmm3=0D
+ psrld xmm9,27=0D
+ paddd xmm12,xmm7=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa XMMWORD[(160-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm14=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm3,xmm3=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((224-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm7,xmm10=0D
+ pxor xmm4,XMMWORD[((64-128))+rax]=0D
+ pxor xmm4,xmm1=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm12=0D
+ pand xmm7,xmm14=0D
+=0D
+ movdqa xmm6,xmm10=0D
+ movdqa xmm5,xmm4=0D
+ psrld xmm9,27=0D
+ paddd xmm11,xmm7=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa XMMWORD[(176-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm13=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm4,xmm4=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((240-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm7,xmm14=0D
+ pxor xmm0,XMMWORD[((80-128))+rax]=0D
+ pxor xmm0,xmm2=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm11=0D
+ pand xmm7,xmm13=0D
+=0D
+ movdqa xmm6,xmm14=0D
+ movdqa xmm5,xmm0=0D
+ psrld xmm9,27=0D
+ paddd xmm10,xmm7=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa XMMWORD[(192-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm12=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm0,xmm0=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((0-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm7,xmm13=0D
+ pxor xmm1,XMMWORD[((96-128))+rax]=0D
+ pxor xmm1,xmm3=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm10=0D
+ pand xmm7,xmm12=0D
+=0D
+ movdqa xmm6,xmm13=0D
+ movdqa xmm5,xmm1=0D
+ psrld xmm9,27=0D
+ paddd xmm14,xmm7=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa XMMWORD[(208-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm11=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm1,xmm1=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((16-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm7,xmm12=0D
+ pxor xmm2,XMMWORD[((112-128))+rax]=0D
+ pxor xmm2,xmm4=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm14=0D
+ pand xmm7,xmm11=0D
+=0D
+ movdqa xmm6,xmm12=0D
+ movdqa xmm5,xmm2=0D
+ psrld xmm9,27=0D
+ paddd xmm13,xmm7=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa XMMWORD[(224-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm10=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm2,xmm2=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((32-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm7,xmm11=0D
+ pxor xmm3,XMMWORD[((128-128))+rax]=0D
+ pxor xmm3,xmm0=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm13=0D
+ pand xmm7,xmm10=0D
+=0D
+ movdqa xmm6,xmm11=0D
+ movdqa xmm5,xmm3=0D
+ psrld xmm9,27=0D
+ paddd xmm12,xmm7=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa XMMWORD[(240-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm14=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm3,xmm3=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((48-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm7,xmm10=0D
+ pxor xmm4,XMMWORD[((144-128))+rax]=0D
+ pxor xmm4,xmm1=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm12=0D
+ pand xmm7,xmm14=0D
+=0D
+ movdqa xmm6,xmm10=0D
+ movdqa xmm5,xmm4=0D
+ psrld xmm9,27=0D
+ paddd xmm11,xmm7=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa XMMWORD[(0-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm13=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm4,xmm4=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((64-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm7,xmm14=0D
+ pxor xmm0,XMMWORD[((160-128))+rax]=0D
+ pxor xmm0,xmm2=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm11=0D
+ pand xmm7,xmm13=0D
+=0D
+ movdqa xmm6,xmm14=0D
+ movdqa xmm5,xmm0=0D
+ psrld xmm9,27=0D
+ paddd xmm10,xmm7=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa XMMWORD[(16-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm12=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm0,xmm0=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((80-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm7,xmm13=0D
+ pxor xmm1,XMMWORD[((176-128))+rax]=0D
+ pxor xmm1,xmm3=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm10=0D
+ pand xmm7,xmm12=0D
+=0D
+ movdqa xmm6,xmm13=0D
+ movdqa xmm5,xmm1=0D
+ psrld xmm9,27=0D
+ paddd xmm14,xmm7=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa XMMWORD[(32-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm11=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm1,xmm1=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((96-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm7,xmm12=0D
+ pxor xmm2,XMMWORD[((192-128))+rax]=0D
+ pxor xmm2,xmm4=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm14=0D
+ pand xmm7,xmm11=0D
+=0D
+ movdqa xmm6,xmm12=0D
+ movdqa xmm5,xmm2=0D
+ psrld xmm9,27=0D
+ paddd xmm13,xmm7=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa XMMWORD[(48-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm10=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm2,xmm2=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((112-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm7,xmm11=0D
+ pxor xmm3,XMMWORD[((208-128))+rax]=0D
+ pxor xmm3,xmm0=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm13=0D
+ pand xmm7,xmm10=0D
+=0D
+ movdqa xmm6,xmm11=0D
+ movdqa xmm5,xmm3=0D
+ psrld xmm9,27=0D
+ paddd xmm12,xmm7=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa XMMWORD[(64-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm14=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm3,xmm3=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((128-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm7,xmm10=0D
+ pxor xmm4,XMMWORD[((224-128))+rax]=0D
+ pxor xmm4,xmm1=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm12=0D
+ pand xmm7,xmm14=0D
+=0D
+ movdqa xmm6,xmm10=0D
+ movdqa xmm5,xmm4=0D
+ psrld xmm9,27=0D
+ paddd xmm11,xmm7=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa XMMWORD[(80-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm13=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm4,xmm4=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((144-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm7,xmm14=0D
+ pxor xmm0,XMMWORD[((240-128))+rax]=0D
+ pxor xmm0,xmm2=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm11=0D
+ pand xmm7,xmm13=0D
+=0D
+ movdqa xmm6,xmm14=0D
+ movdqa xmm5,xmm0=0D
+ psrld xmm9,27=0D
+ paddd xmm10,xmm7=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa XMMWORD[(96-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm12=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm0,xmm0=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((160-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm7,xmm13=0D
+ pxor xmm1,XMMWORD[((0-128))+rax]=0D
+ pxor xmm1,xmm3=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm10=0D
+ pand xmm7,xmm12=0D
+=0D
+ movdqa xmm6,xmm13=0D
+ movdqa xmm5,xmm1=0D
+ psrld xmm9,27=0D
+ paddd xmm14,xmm7=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa XMMWORD[(112-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm11=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm1,xmm1=0D
+ paddd xmm14,xmm6=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((176-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm7,xmm12=0D
+ pxor xmm2,XMMWORD[((16-128))+rax]=0D
+ pxor xmm2,xmm4=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm14=0D
+ pand xmm7,xmm11=0D
+=0D
+ movdqa xmm6,xmm12=0D
+ movdqa xmm5,xmm2=0D
+ psrld xmm9,27=0D
+ paddd xmm13,xmm7=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa XMMWORD[(128-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm10=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm2,xmm2=0D
+ paddd xmm13,xmm6=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((192-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm7,xmm11=0D
+ pxor xmm3,XMMWORD[((32-128))+rax]=0D
+ pxor xmm3,xmm0=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm13=0D
+ pand xmm7,xmm10=0D
+=0D
+ movdqa xmm6,xmm11=0D
+ movdqa xmm5,xmm3=0D
+ psrld xmm9,27=0D
+ paddd xmm12,xmm7=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa XMMWORD[(144-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm14=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm3,xmm3=0D
+ paddd xmm12,xmm6=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((208-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm7,xmm10=0D
+ pxor xmm4,XMMWORD[((48-128))+rax]=0D
+ pxor xmm4,xmm1=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm12=0D
+ pand xmm7,xmm14=0D
+=0D
+ movdqa xmm6,xmm10=0D
+ movdqa xmm5,xmm4=0D
+ psrld xmm9,27=0D
+ paddd xmm11,xmm7=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa XMMWORD[(160-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm13=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm4,xmm4=0D
+ paddd xmm11,xmm6=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((224-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm7,xmm14=0D
+ pxor xmm0,XMMWORD[((64-128))+rax]=0D
+ pxor xmm0,xmm2=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ movdqa xmm9,xmm11=0D
+ pand xmm7,xmm13=0D
+=0D
+ movdqa xmm6,xmm14=0D
+ movdqa xmm5,xmm0=0D
+ psrld xmm9,27=0D
+ paddd xmm10,xmm7=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa XMMWORD[(176-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ pand xmm6,xmm12=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ paddd xmm0,xmm0=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ movdqa xmm15,XMMWORD[64+rbp]=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((240-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((80-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ movdqa XMMWORD[(192-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((0-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((96-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ movdqa XMMWORD[(208-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((16-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((112-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ movdqa XMMWORD[(224-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((32-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((128-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ movdqa XMMWORD[(240-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((48-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm6,xmm14=0D
+ pxor xmm0,XMMWORD[((144-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ movdqa XMMWORD[(0-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ pxor xmm0,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm13=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm10,xmm6=0D
+ paddd xmm0,xmm0=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((64-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((160-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ movdqa XMMWORD[(16-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((80-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((176-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ movdqa XMMWORD[(32-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((96-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((192-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ movdqa XMMWORD[(48-128)+rax],xmm2=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((112-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((208-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ movdqa XMMWORD[(64-128)+rax],xmm3=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((128-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm6,xmm14=0D
+ pxor xmm0,XMMWORD[((224-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ movdqa XMMWORD[(80-128)+rax],xmm4=0D
+ paddd xmm10,xmm4=0D
+ pxor xmm0,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm13=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm10,xmm6=0D
+ paddd xmm0,xmm0=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((144-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((240-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ movdqa XMMWORD[(96-128)+rax],xmm0=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((160-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((0-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ movdqa XMMWORD[(112-128)+rax],xmm1=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((176-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((16-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((192-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((32-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ pxor xmm0,xmm2=0D
+ movdqa xmm2,XMMWORD[((208-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm11=0D
+ movdqa xmm6,xmm14=0D
+ pxor xmm0,XMMWORD[((48-128))+rax]=0D
+ paddd xmm10,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ paddd xmm10,xmm4=0D
+ pxor xmm0,xmm2=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm13=0D
+ movdqa xmm7,xmm12=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm0=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm10,xmm6=0D
+ paddd xmm0,xmm0=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm0,xmm5=0D
+ por xmm12,xmm7=0D
+ pxor xmm1,xmm3=0D
+ movdqa xmm3,XMMWORD[((224-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm10=0D
+ movdqa xmm6,xmm13=0D
+ pxor xmm1,XMMWORD[((64-128))+rax]=0D
+ paddd xmm14,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm11=0D
+=0D
+ movdqa xmm9,xmm10=0D
+ paddd xmm14,xmm0=0D
+ pxor xmm1,xmm3=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm12=0D
+ movdqa xmm7,xmm11=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm1=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm14,xmm6=0D
+ paddd xmm1,xmm1=0D
+=0D
+ psrld xmm11,2=0D
+ paddd xmm14,xmm8=0D
+ por xmm1,xmm5=0D
+ por xmm11,xmm7=0D
+ pxor xmm2,xmm4=0D
+ movdqa xmm4,XMMWORD[((240-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm14=0D
+ movdqa xmm6,xmm12=0D
+ pxor xmm2,XMMWORD[((80-128))+rax]=0D
+ paddd xmm13,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm10=0D
+=0D
+ movdqa xmm9,xmm14=0D
+ paddd xmm13,xmm1=0D
+ pxor xmm2,xmm4=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm11=0D
+ movdqa xmm7,xmm10=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm2=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm13,xmm6=0D
+ paddd xmm2,xmm2=0D
+=0D
+ psrld xmm10,2=0D
+ paddd xmm13,xmm8=0D
+ por xmm2,xmm5=0D
+ por xmm10,xmm7=0D
+ pxor xmm3,xmm0=0D
+ movdqa xmm0,XMMWORD[((0-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm13=0D
+ movdqa xmm6,xmm11=0D
+ pxor xmm3,XMMWORD[((96-128))+rax]=0D
+ paddd xmm12,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm14=0D
+=0D
+ movdqa xmm9,xmm13=0D
+ paddd xmm12,xmm2=0D
+ pxor xmm3,xmm0=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm10=0D
+ movdqa xmm7,xmm14=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm3=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm12,xmm6=0D
+ paddd xmm3,xmm3=0D
+=0D
+ psrld xmm14,2=0D
+ paddd xmm12,xmm8=0D
+ por xmm3,xmm5=0D
+ por xmm14,xmm7=0D
+ pxor xmm4,xmm1=0D
+ movdqa xmm1,XMMWORD[((16-128))+rax]=0D
+=0D
+ movdqa xmm8,xmm12=0D
+ movdqa xmm6,xmm10=0D
+ pxor xmm4,XMMWORD[((112-128))+rax]=0D
+ paddd xmm11,xmm15=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm13=0D
+=0D
+ movdqa xmm9,xmm12=0D
+ paddd xmm11,xmm3=0D
+ pxor xmm4,xmm1=0D
+ psrld xmm9,27=0D
+ pxor xmm6,xmm14=0D
+ movdqa xmm7,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ movdqa xmm5,xmm4=0D
+ por xmm8,xmm9=0D
+ psrld xmm5,31=0D
+ paddd xmm11,xmm6=0D
+ paddd xmm4,xmm4=0D
+=0D
+ psrld xmm13,2=0D
+ paddd xmm11,xmm8=0D
+ por xmm4,xmm5=0D
+ por xmm13,xmm7=0D
+ movdqa xmm8,xmm11=0D
+ paddd xmm10,xmm15=0D
+ movdqa xmm6,xmm14=0D
+ pslld xmm8,5=0D
+ pxor xmm6,xmm12=0D
+=0D
+ movdqa xmm9,xmm11=0D
+ paddd xmm10,xmm4=0D
+ psrld xmm9,27=0D
+ movdqa xmm7,xmm12=0D
+ pxor xmm6,xmm13=0D
+=0D
+ pslld xmm7,30=0D
+ por xmm8,xmm9=0D
+ paddd xmm10,xmm6=0D
+=0D
+ psrld xmm12,2=0D
+ paddd xmm10,xmm8=0D
+ por xmm12,xmm7=0D
+ movdqa xmm0,XMMWORD[rbx]=0D
+ mov ecx,1=0D
+ cmp ecx,DWORD[rbx]=0D
+ pxor xmm8,xmm8=0D
+ cmovge r8,rbp=0D
+ cmp ecx,DWORD[4+rbx]=0D
+ movdqa xmm1,xmm0=0D
+ cmovge r9,rbp=0D
+ cmp ecx,DWORD[8+rbx]=0D
+ pcmpgtd xmm1,xmm8=0D
+ cmovge r10,rbp=0D
+ cmp ecx,DWORD[12+rbx]=0D
+ paddd xmm0,xmm1=0D
+ cmovge r11,rbp=0D
+=0D
+ movdqu xmm6,XMMWORD[rdi]=0D
+ pand xmm10,xmm1=0D
+ movdqu xmm7,XMMWORD[32+rdi]=0D
+ pand xmm11,xmm1=0D
+ paddd xmm10,xmm6=0D
+ movdqu xmm8,XMMWORD[64+rdi]=0D
+ pand xmm12,xmm1=0D
+ paddd xmm11,xmm7=0D
+ movdqu xmm9,XMMWORD[96+rdi]=0D
+ pand xmm13,xmm1=0D
+ paddd xmm12,xmm8=0D
+ movdqu xmm5,XMMWORD[128+rdi]=0D
+ pand xmm14,xmm1=0D
+ movdqu XMMWORD[rdi],xmm10=0D
+ paddd xmm13,xmm9=0D
+ movdqu XMMWORD[32+rdi],xmm11=0D
+ paddd xmm14,xmm5=0D
+ movdqu XMMWORD[64+rdi],xmm12=0D
+ movdqu XMMWORD[96+rdi],xmm13=0D
+ movdqu XMMWORD[128+rdi],xmm14=0D
+=0D
+ movdqa XMMWORD[rbx],xmm0=0D
+ movdqa xmm5,XMMWORD[96+rbp]=0D
+ movdqa xmm15,XMMWORD[((-32))+rbp]=0D
+ dec edx=0D
+ jnz NEAR $L$oop=0D
+=0D
+ mov edx,DWORD[280+rsp]=0D
+ lea rdi,[16+rdi]=0D
+ lea rsi,[64+rsi]=0D
+ dec edx=0D
+ jnz NEAR $L$oop_grande=0D
+=0D
+$L$done:=0D
+ mov rax,QWORD[272+rsp]=0D
+=0D
+ movaps xmm6,XMMWORD[((-184))+rax]=0D
+ movaps xmm7,XMMWORD[((-168))+rax]=0D
+ movaps xmm8,XMMWORD[((-152))+rax]=0D
+ movaps xmm9,XMMWORD[((-136))+rax]=0D
+ movaps xmm10,XMMWORD[((-120))+rax]=0D
+ movaps xmm11,XMMWORD[((-104))+rax]=0D
+ movaps xmm12,XMMWORD[((-88))+rax]=0D
+ movaps xmm13,XMMWORD[((-72))+rax]=0D
+ movaps xmm14,XMMWORD[((-56))+rax]=0D
+ movaps xmm15,XMMWORD[((-40))+rax]=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+=0D
+ lea rsp,[rax]=0D
+=0D
+$L$epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_sha1_multi_block:=0D
+=0D
+ALIGN 32=0D
+sha1_multi_block_shaext:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_sha1_multi_block_shaext:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+_shaext_shortcut:=0D
+ mov rax,rsp=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ lea rsp,[((-168))+rsp]=0D
+ movaps XMMWORD[rsp],xmm6=0D
+ movaps XMMWORD[16+rsp],xmm7=0D
+ movaps XMMWORD[32+rsp],xmm8=0D
+ movaps XMMWORD[48+rsp],xmm9=0D
+ movaps XMMWORD[(-120)+rax],xmm10=0D
+ movaps XMMWORD[(-104)+rax],xmm11=0D
+ movaps XMMWORD[(-88)+rax],xmm12=0D
+ movaps XMMWORD[(-72)+rax],xmm13=0D
+ movaps XMMWORD[(-56)+rax],xmm14=0D
+ movaps XMMWORD[(-40)+rax],xmm15=0D
+ sub rsp,288=0D
+ shl edx,1=0D
+ and rsp,-256=0D
+ lea rdi,[64+rdi]=0D
+ mov QWORD[272+rsp],rax=0D
+$L$body_shaext:=0D
+ lea rbx,[256+rsp]=0D
+ movdqa xmm3,XMMWORD[((K_XX_XX+128))]=0D
+=0D
+$L$oop_grande_shaext:=0D
+ mov DWORD[280+rsp],edx=0D
+ xor edx,edx=0D
+ mov r8,QWORD[rsi]=0D
+ mov ecx,DWORD[8+rsi]=0D
+ cmp ecx,edx=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ mov DWORD[rbx],ecx=0D
+ cmovle r8,rsp=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov ecx,DWORD[24+rsi]=0D
+ cmp ecx,edx=0D
+ cmovg edx,ecx=0D
+ test ecx,ecx=0D
+ mov DWORD[4+rbx],ecx=0D
+ cmovle r9,rsp=0D
+ test edx,edx=0D
+ jz NEAR $L$done_shaext=0D
+=0D
+ movq xmm0,QWORD[((0-64))+rdi]=0D
+ movq xmm4,QWORD[((32-64))+rdi]=0D
+ movq xmm5,QWORD[((64-64))+rdi]=0D
+ movq xmm6,QWORD[((96-64))+rdi]=0D
+ movq xmm7,QWORD[((128-64))+rdi]=0D
+=0D
+ punpckldq xmm0,xmm4=0D
+ punpckldq xmm5,xmm6=0D
+=0D
+ movdqa xmm8,xmm0=0D
+ punpcklqdq xmm0,xmm5=0D
+ punpckhqdq xmm8,xmm5=0D
+=0D
+ pshufd xmm1,xmm7,63=0D
+ pshufd xmm9,xmm7,127=0D
+ pshufd xmm0,xmm0,27=0D
+ pshufd xmm8,xmm8,27=0D
+ jmp NEAR $L$oop_shaext=0D
+=0D
+ALIGN 32=0D
+$L$oop_shaext:=0D
+ movdqu xmm4,XMMWORD[r8]=0D
+ movdqu xmm11,XMMWORD[r9]=0D
+ movdqu xmm5,XMMWORD[16+r8]=0D
+ movdqu xmm12,XMMWORD[16+r9]=0D
+ movdqu xmm6,XMMWORD[32+r8]=0D
+DB 102,15,56,0,227=0D
+ movdqu xmm13,XMMWORD[32+r9]=0D
+DB 102,68,15,56,0,219=0D
+ movdqu xmm7,XMMWORD[48+r8]=0D
+ lea r8,[64+r8]=0D
+DB 102,15,56,0,235=0D
+ movdqu xmm14,XMMWORD[48+r9]=0D
+ lea r9,[64+r9]=0D
+DB 102,68,15,56,0,227=0D
+=0D
+ movdqa XMMWORD[80+rsp],xmm1=0D
+ paddd xmm1,xmm4=0D
+ movdqa XMMWORD[112+rsp],xmm9=0D
+ paddd xmm9,xmm11=0D
+ movdqa XMMWORD[64+rsp],xmm0=0D
+ movdqa xmm2,xmm0=0D
+ movdqa XMMWORD[96+rsp],xmm8=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,0=0D
+DB 15,56,200,213=0D
+DB 69,15,58,204,193,0=0D
+DB 69,15,56,200,212=0D
+DB 102,15,56,0,243=0D
+ prefetcht0 [127+r8]=0D
+DB 15,56,201,229=0D
+DB 102,68,15,56,0,235=0D
+ prefetcht0 [127+r9]=0D
+DB 69,15,56,201,220=0D
+=0D
+DB 102,15,56,0,251=0D
+ movdqa xmm1,xmm0=0D
+DB 102,68,15,56,0,243=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,0=0D
+DB 15,56,200,206=0D
+DB 69,15,58,204,194,0=0D
+DB 69,15,56,200,205=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ pxor xmm11,xmm13=0D
+DB 69,15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,0=0D
+DB 15,56,200,215=0D
+DB 69,15,58,204,193,0=0D
+DB 69,15,56,200,214=0D
+DB 15,56,202,231=0D
+DB 69,15,56,202,222=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,201,247=0D
+ pxor xmm12,xmm14=0D
+DB 69,15,56,201,238=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,0=0D
+DB 15,56,200,204=0D
+DB 69,15,58,204,194,0=0D
+DB 69,15,56,200,203=0D
+DB 15,56,202,236=0D
+DB 69,15,56,202,227=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+ pxor xmm13,xmm11=0D
+DB 69,15,56,201,243=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,0=0D
+DB 15,56,200,213=0D
+DB 69,15,58,204,193,0=0D
+DB 69,15,56,200,212=0D
+DB 15,56,202,245=0D
+DB 69,15,56,202,236=0D
+ pxor xmm7,xmm5=0D
+DB 15,56,201,229=0D
+ pxor xmm14,xmm12=0D
+DB 69,15,56,201,220=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,1=0D
+DB 15,56,200,206=0D
+DB 69,15,58,204,194,1=0D
+DB 69,15,56,200,205=0D
+DB 15,56,202,254=0D
+DB 69,15,56,202,245=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ pxor xmm11,xmm13=0D
+DB 69,15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,1=0D
+DB 15,56,200,215=0D
+DB 69,15,58,204,193,1=0D
+DB 69,15,56,200,214=0D
+DB 15,56,202,231=0D
+DB 69,15,56,202,222=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,201,247=0D
+ pxor xmm12,xmm14=0D
+DB 69,15,56,201,238=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,1=0D
+DB 15,56,200,204=0D
+DB 69,15,58,204,194,1=0D
+DB 69,15,56,200,203=0D
+DB 15,56,202,236=0D
+DB 69,15,56,202,227=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+ pxor xmm13,xmm11=0D
+DB 69,15,56,201,243=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,1=0D
+DB 15,56,200,213=0D
+DB 69,15,58,204,193,1=0D
+DB 69,15,56,200,212=0D
+DB 15,56,202,245=0D
+DB 69,15,56,202,236=0D
+ pxor xmm7,xmm5=0D
+DB 15,56,201,229=0D
+ pxor xmm14,xmm12=0D
+DB 69,15,56,201,220=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,1=0D
+DB 15,56,200,206=0D
+DB 69,15,58,204,194,1=0D
+DB 69,15,56,200,205=0D
+DB 15,56,202,254=0D
+DB 69,15,56,202,245=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ pxor xmm11,xmm13=0D
+DB 69,15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,2=0D
+DB 15,56,200,215=0D
+DB 69,15,58,204,193,2=0D
+DB 69,15,56,200,214=0D
+DB 15,56,202,231=0D
+DB 69,15,56,202,222=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,201,247=0D
+ pxor xmm12,xmm14=0D
+DB 69,15,56,201,238=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,2=0D
+DB 15,56,200,204=0D
+DB 69,15,58,204,194,2=0D
+DB 69,15,56,200,203=0D
+DB 15,56,202,236=0D
+DB 69,15,56,202,227=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+ pxor xmm13,xmm11=0D
+DB 69,15,56,201,243=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,2=0D
+DB 15,56,200,213=0D
+DB 69,15,58,204,193,2=0D
+DB 69,15,56,200,212=0D
+DB 15,56,202,245=0D
+DB 69,15,56,202,236=0D
+ pxor xmm7,xmm5=0D
+DB 15,56,201,229=0D
+ pxor xmm14,xmm12=0D
+DB 69,15,56,201,220=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,2=0D
+DB 15,56,200,206=0D
+DB 69,15,58,204,194,2=0D
+DB 69,15,56,200,205=0D
+DB 15,56,202,254=0D
+DB 69,15,56,202,245=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+ pxor xmm11,xmm13=0D
+DB 69,15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,2=0D
+DB 15,56,200,215=0D
+DB 69,15,58,204,193,2=0D
+DB 69,15,56,200,214=0D
+DB 15,56,202,231=0D
+DB 69,15,56,202,222=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,201,247=0D
+ pxor xmm12,xmm14=0D
+DB 69,15,56,201,238=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,3=0D
+DB 15,56,200,204=0D
+DB 69,15,58,204,194,3=0D
+DB 69,15,56,200,203=0D
+DB 15,56,202,236=0D
+DB 69,15,56,202,227=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+ pxor xmm13,xmm11=0D
+DB 69,15,56,201,243=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,3=0D
+DB 15,56,200,213=0D
+DB 69,15,58,204,193,3=0D
+DB 69,15,56,200,212=0D
+DB 15,56,202,245=0D
+DB 69,15,56,202,236=0D
+ pxor xmm7,xmm5=0D
+ pxor xmm14,xmm12=0D
+=0D
+ mov ecx,1=0D
+ pxor xmm4,xmm4=0D
+ cmp ecx,DWORD[rbx]=0D
+ cmovge r8,rsp=0D
+=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,3=0D
+DB 15,56,200,206=0D
+DB 69,15,58,204,194,3=0D
+DB 69,15,56,200,205=0D
+DB 15,56,202,254=0D
+DB 69,15,56,202,245=0D
+=0D
+ cmp ecx,DWORD[4+rbx]=0D
+ cmovge r9,rsp=0D
+ movq xmm6,QWORD[rbx]=0D
+=0D
+ movdqa xmm2,xmm0=0D
+ movdqa xmm10,xmm8=0D
+DB 15,58,204,193,3=0D
+DB 15,56,200,215=0D
+DB 69,15,58,204,193,3=0D
+DB 69,15,56,200,214=0D
+=0D
+ pshufd xmm11,xmm6,0x00=0D
+ pshufd xmm12,xmm6,0x55=0D
+ movdqa xmm7,xmm6=0D
+ pcmpgtd xmm11,xmm4=0D
+ pcmpgtd xmm12,xmm4=0D
+=0D
+ movdqa xmm1,xmm0=0D
+ movdqa xmm9,xmm8=0D
+DB 15,58,204,194,3=0D
+DB 15,56,200,204=0D
+DB 69,15,58,204,194,3=0D
+DB 68,15,56,200,204=0D
+=0D
+ pcmpgtd xmm7,xmm4=0D
+ pand xmm0,xmm11=0D
+ pand xmm1,xmm11=0D
+ pand xmm8,xmm12=0D
+ pand xmm9,xmm12=0D
+ paddd xmm6,xmm7=0D
+=0D
+ paddd xmm0,XMMWORD[64+rsp]=0D
+ paddd xmm1,XMMWORD[80+rsp]=0D
+ paddd xmm8,XMMWORD[96+rsp]=0D
+ paddd xmm9,XMMWORD[112+rsp]=0D
+=0D
+ movq QWORD[rbx],xmm6=0D
+ dec edx=0D
+ jnz NEAR $L$oop_shaext=0D
+=0D
+ mov edx,DWORD[280+rsp]=0D
+=0D
+ pshufd xmm0,xmm0,27=0D
+ pshufd xmm8,xmm8,27=0D
+=0D
+ movdqa xmm6,xmm0=0D
+ punpckldq xmm0,xmm8=0D
+ punpckhdq xmm6,xmm8=0D
+ punpckhdq xmm1,xmm9=0D
+ movq QWORD[(0-64)+rdi],xmm0=0D
+ psrldq xmm0,8=0D
+ movq QWORD[(64-64)+rdi],xmm6=0D
+ psrldq xmm6,8=0D
+ movq QWORD[(32-64)+rdi],xmm0=0D
+ psrldq xmm1,8=0D
+ movq QWORD[(96-64)+rdi],xmm6=0D
+ movq QWORD[(128-64)+rdi],xmm1=0D
+=0D
+ lea rdi,[8+rdi]=0D
+ lea rsi,[32+rsi]=0D
+ dec edx=0D
+ jnz NEAR $L$oop_grande_shaext=0D
+=0D
+$L$done_shaext:=0D
+=0D
+ movaps xmm6,XMMWORD[((-184))+rax]=0D
+ movaps xmm7,XMMWORD[((-168))+rax]=0D
+ movaps xmm8,XMMWORD[((-152))+rax]=0D
+ movaps xmm9,XMMWORD[((-136))+rax]=0D
+ movaps xmm10,XMMWORD[((-120))+rax]=0D
+ movaps xmm11,XMMWORD[((-104))+rax]=0D
+ movaps xmm12,XMMWORD[((-88))+rax]=0D
+ movaps xmm13,XMMWORD[((-72))+rax]=0D
+ movaps xmm14,XMMWORD[((-56))+rax]=0D
+ movaps xmm15,XMMWORD[((-40))+rax]=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+=0D
+ lea rsp,[rax]=0D
+=0D
+$L$epilogue_shaext:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_sha1_multi_block_shaext:=0D
+=0D
+ALIGN 256=0D
+ DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999=0D
+ DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999=0D
+K_XX_XX:=0D
+ DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1=0D
+ DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1=0D
+ DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc=0D
+ DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc=0D
+ DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6=0D
+ DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6=0D
+ DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f=0D
+ DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f=0D
+DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0=0D
+DB 83,72,65,49,32,109,117,108,116,105,45,98,108,111,99,107=0D
+DB 32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120=0D
+DB 56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77=0D
+DB 83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110=0D
+DB 115,115,108,46,111,114,103,62,0=0D
+EXTERN __imp_RtlVirtualUnwind=0D
+=0D
+ALIGN 16=0D
+se_handler:=0D
+ push rsi=0D
+ push rdi=0D
+ push rbx=0D
+ push rbp=0D
+ push r12=0D
+ push r13=0D
+ push r14=0D
+ push r15=0D
+ pushfq=0D
+ sub rsp,64=0D
+=0D
+ mov rax,QWORD[120+r8]=0D
+ mov rbx,QWORD[248+r8]=0D
+=0D
+ mov rsi,QWORD[8+r9]=0D
+ mov r11,QWORD[56+r9]=0D
+=0D
+ mov r10d,DWORD[r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jb NEAR $L$in_prologue=0D
+=0D
+ mov rax,QWORD[152+r8]=0D
+=0D
+ mov r10d,DWORD[4+r11]=0D
+ lea r10,[r10*1+rsi]=0D
+ cmp rbx,r10=0D
+ jae NEAR $L$in_prologue=0D
+=0D
+ mov rax,QWORD[272+rax]=0D
+=0D
+ mov rbx,QWORD[((-8))+rax]=0D
+ mov rbp,QWORD[((-16))+rax]=0D
+ mov QWORD[144+r8],rbx=0D
+ mov QWORD[160+r8],rbp=0D
+=0D
+ lea rsi,[((-24-160))+rax]=0D
+ lea rdi,[512+r8]=0D
+ mov ecx,20=0D
+ DD 0xa548f3fc=0D
+=0D
+$L$in_prologue:=0D
+ mov rdi,QWORD[8+rax]=0D
+ mov rsi,QWORD[16+rax]=0D
+ mov QWORD[152+r8],rax=0D
+ mov QWORD[168+r8],rsi=0D
+ mov QWORD[176+r8],rdi=0D
+=0D
+ mov rdi,QWORD[40+r9]=0D
+ mov rsi,r8=0D
+ mov ecx,154=0D
+ DD 0xa548f3fc=0D
+=0D
+ mov rsi,r9=0D
+ xor rcx,rcx=0D
+ mov rdx,QWORD[8+rsi]=0D
+ mov r8,QWORD[rsi]=0D
+ mov r9,QWORD[16+rsi]=0D
+ mov r10,QWORD[40+rsi]=0D
+ lea r11,[56+rsi]=0D
+ lea r12,[24+rsi]=0D
+ mov QWORD[32+rsp],r10=0D
+ mov QWORD[40+rsp],r11=0D
+ mov QWORD[48+rsp],r12=0D
+ mov QWORD[56+rsp],rcx=0D
+ call QWORD[__imp_RtlVirtualUnwind]=0D
+=0D
+ mov eax,1=0D
+ add rsp,64=0D
+ popfq=0D
+ pop r15=0D
+ pop r14=0D
+ pop r13=0D
+ pop r12=0D
+ pop rbp=0D
+ pop rbx=0D
+ pop rdi=0D
+ pop rsi=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+section .pdata rdata align=3D4=0D
+ALIGN 4=0D
+ DD $L$SEH_begin_sha1_multi_block wrt ..imagebase=0D
+ DD $L$SEH_end_sha1_multi_block wrt ..imagebase=0D
+ DD $L$SEH_info_sha1_multi_block wrt ..imagebase=0D
+ DD $L$SEH_begin_sha1_multi_block_shaext wrt ..imagebase=0D
+ DD $L$SEH_end_sha1_multi_block_shaext wrt ..imagebase=0D
+ DD $L$SEH_info_sha1_multi_block_shaext wrt ..imagebase=0D
+section .xdata rdata align=3D8=0D
+ALIGN 8=0D
+$L$SEH_info_sha1_multi_block:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$body wrt ..imagebase,$L$epilogue wrt ..imagebase=0D
+$L$SEH_info_sha1_multi_block_shaext:=0D
+DB 9,0,0,0=0D
+ DD se_handler wrt ..imagebase=0D
+ DD $L$body_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..im=
agebase=0D
diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm b=
/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm
new file mode 100644
index 0000000000..c6d68d348f
--- /dev/null
+++ b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm
@@ -0,0 +1,2884 @@
+; WARNING: do not edit!=0D
+; Generated from openssl/crypto/sha/asm/sha1-x86_64.pl=0D
+;=0D
+; Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved.=0D
+;=0D
+; Licensed under the OpenSSL license (the "License"). You may not use=0D
+; this file except in compliance with the License. You can obtain a copy=
=0D
+; in the file LICENSE in the source distribution or at=0D
+; https://www.openssl.org/source/license.html=0D
+=0D
+default rel=0D
+%define XMMWORD=0D
+%define YMMWORD=0D
+%define ZMMWORD=0D
+section .text code align=3D64=0D
+=0D
+EXTERN OPENSSL_ia32cap_P=0D
+=0D
+global sha1_block_data_order=0D
+=0D
+ALIGN 16=0D
+sha1_block_data_order:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_sha1_block_data_order:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+=0D
+ mov r9d,DWORD[((OPENSSL_ia32cap_P+0))]=0D
+ mov r8d,DWORD[((OPENSSL_ia32cap_P+4))]=0D
+ mov r10d,DWORD[((OPENSSL_ia32cap_P+8))]=0D
+ test r8d,512=0D
+ jz NEAR $L$ialu=0D
+ test r10d,536870912=0D
+ jnz NEAR _shaext_shortcut=0D
+ jmp NEAR _ssse3_shortcut=0D
+=0D
+ALIGN 16=0D
+$L$ialu:=0D
+ mov rax,rsp=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ mov r8,rdi=0D
+ sub rsp,72=0D
+ mov r9,rsi=0D
+ and rsp,-64=0D
+ mov r10,rdx=0D
+ mov QWORD[64+rsp],rax=0D
+=0D
+$L$prologue:=0D
+=0D
+ mov esi,DWORD[r8]=0D
+ mov edi,DWORD[4+r8]=0D
+ mov r11d,DWORD[8+r8]=0D
+ mov r12d,DWORD[12+r8]=0D
+ mov r13d,DWORD[16+r8]=0D
+ jmp NEAR $L$loop=0D
+=0D
+ALIGN 16=0D
+$L$loop:=0D
+ mov edx,DWORD[r9]=0D
+ bswap edx=0D
+ mov ebp,DWORD[4+r9]=0D
+ mov eax,r12d=0D
+ mov DWORD[rsp],edx=0D
+ mov ecx,esi=0D
+ bswap ebp=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ and eax,edi=0D
+ lea r13d,[1518500249+r13*1+rdx]=0D
+ add r13d,ecx=0D
+ xor eax,r12d=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ mov r14d,DWORD[8+r9]=0D
+ mov eax,r11d=0D
+ mov DWORD[4+rsp],ebp=0D
+ mov ecx,r13d=0D
+ bswap r14d=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ and eax,esi=0D
+ lea r12d,[1518500249+r12*1+rbp]=0D
+ add r12d,ecx=0D
+ xor eax,r11d=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ mov edx,DWORD[12+r9]=0D
+ mov eax,edi=0D
+ mov DWORD[8+rsp],r14d=0D
+ mov ecx,r12d=0D
+ bswap edx=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ and eax,r13d=0D
+ lea r11d,[1518500249+r11*1+r14]=0D
+ add r11d,ecx=0D
+ xor eax,edi=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ mov ebp,DWORD[16+r9]=0D
+ mov eax,esi=0D
+ mov DWORD[12+rsp],edx=0D
+ mov ecx,r11d=0D
+ bswap ebp=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ and eax,r12d=0D
+ lea edi,[1518500249+rdi*1+rdx]=0D
+ add edi,ecx=0D
+ xor eax,esi=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ mov r14d,DWORD[20+r9]=0D
+ mov eax,r13d=0D
+ mov DWORD[16+rsp],ebp=0D
+ mov ecx,edi=0D
+ bswap r14d=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ and eax,r11d=0D
+ lea esi,[1518500249+rsi*1+rbp]=0D
+ add esi,ecx=0D
+ xor eax,r13d=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ mov edx,DWORD[24+r9]=0D
+ mov eax,r12d=0D
+ mov DWORD[20+rsp],r14d=0D
+ mov ecx,esi=0D
+ bswap edx=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ and eax,edi=0D
+ lea r13d,[1518500249+r13*1+r14]=0D
+ add r13d,ecx=0D
+ xor eax,r12d=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ mov ebp,DWORD[28+r9]=0D
+ mov eax,r11d=0D
+ mov DWORD[24+rsp],edx=0D
+ mov ecx,r13d=0D
+ bswap ebp=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ and eax,esi=0D
+ lea r12d,[1518500249+r12*1+rdx]=0D
+ add r12d,ecx=0D
+ xor eax,r11d=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ mov r14d,DWORD[32+r9]=0D
+ mov eax,edi=0D
+ mov DWORD[28+rsp],ebp=0D
+ mov ecx,r12d=0D
+ bswap r14d=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ and eax,r13d=0D
+ lea r11d,[1518500249+r11*1+rbp]=0D
+ add r11d,ecx=0D
+ xor eax,edi=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ mov edx,DWORD[36+r9]=0D
+ mov eax,esi=0D
+ mov DWORD[32+rsp],r14d=0D
+ mov ecx,r11d=0D
+ bswap edx=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ and eax,r12d=0D
+ lea edi,[1518500249+rdi*1+r14]=0D
+ add edi,ecx=0D
+ xor eax,esi=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ mov ebp,DWORD[40+r9]=0D
+ mov eax,r13d=0D
+ mov DWORD[36+rsp],edx=0D
+ mov ecx,edi=0D
+ bswap ebp=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ and eax,r11d=0D
+ lea esi,[1518500249+rsi*1+rdx]=0D
+ add esi,ecx=0D
+ xor eax,r13d=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ mov r14d,DWORD[44+r9]=0D
+ mov eax,r12d=0D
+ mov DWORD[40+rsp],ebp=0D
+ mov ecx,esi=0D
+ bswap r14d=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ and eax,edi=0D
+ lea r13d,[1518500249+r13*1+rbp]=0D
+ add r13d,ecx=0D
+ xor eax,r12d=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ mov edx,DWORD[48+r9]=0D
+ mov eax,r11d=0D
+ mov DWORD[44+rsp],r14d=0D
+ mov ecx,r13d=0D
+ bswap edx=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ and eax,esi=0D
+ lea r12d,[1518500249+r12*1+r14]=0D
+ add r12d,ecx=0D
+ xor eax,r11d=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ mov ebp,DWORD[52+r9]=0D
+ mov eax,edi=0D
+ mov DWORD[48+rsp],edx=0D
+ mov ecx,r12d=0D
+ bswap ebp=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ and eax,r13d=0D
+ lea r11d,[1518500249+r11*1+rdx]=0D
+ add r11d,ecx=0D
+ xor eax,edi=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ mov r14d,DWORD[56+r9]=0D
+ mov eax,esi=0D
+ mov DWORD[52+rsp],ebp=0D
+ mov ecx,r11d=0D
+ bswap r14d=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ and eax,r12d=0D
+ lea edi,[1518500249+rdi*1+rbp]=0D
+ add edi,ecx=0D
+ xor eax,esi=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ mov edx,DWORD[60+r9]=0D
+ mov eax,r13d=0D
+ mov DWORD[56+rsp],r14d=0D
+ mov ecx,edi=0D
+ bswap edx=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ and eax,r11d=0D
+ lea esi,[1518500249+rsi*1+r14]=0D
+ add esi,ecx=0D
+ xor eax,r13d=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ xor ebp,DWORD[rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[60+rsp],edx=0D
+ mov ecx,esi=0D
+ xor ebp,DWORD[8+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[32+rsp]=0D
+ and eax,edi=0D
+ lea r13d,[1518500249+r13*1+rdx]=0D
+ rol edi,30=0D
+ xor eax,r12d=0D
+ add r13d,ecx=0D
+ rol ebp,1=0D
+ add r13d,eax=0D
+ xor r14d,DWORD[4+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[rsp],ebp=0D
+ mov ecx,r13d=0D
+ xor r14d,DWORD[12+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[36+rsp]=0D
+ and eax,esi=0D
+ lea r12d,[1518500249+r12*1+rbp]=0D
+ rol esi,30=0D
+ xor eax,r11d=0D
+ add r12d,ecx=0D
+ rol r14d,1=0D
+ add r12d,eax=0D
+ xor edx,DWORD[8+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[4+rsp],r14d=0D
+ mov ecx,r12d=0D
+ xor edx,DWORD[16+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor edx,DWORD[40+rsp]=0D
+ and eax,r13d=0D
+ lea r11d,[1518500249+r11*1+r14]=0D
+ rol r13d,30=0D
+ xor eax,edi=0D
+ add r11d,ecx=0D
+ rol edx,1=0D
+ add r11d,eax=0D
+ xor ebp,DWORD[12+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[8+rsp],edx=0D
+ mov ecx,r11d=0D
+ xor ebp,DWORD[20+rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[44+rsp]=0D
+ and eax,r12d=0D
+ lea edi,[1518500249+rdi*1+rdx]=0D
+ rol r12d,30=0D
+ xor eax,esi=0D
+ add edi,ecx=0D
+ rol ebp,1=0D
+ add edi,eax=0D
+ xor r14d,DWORD[16+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[12+rsp],ebp=0D
+ mov ecx,edi=0D
+ xor r14d,DWORD[24+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[48+rsp]=0D
+ and eax,r11d=0D
+ lea esi,[1518500249+rsi*1+rbp]=0D
+ rol r11d,30=0D
+ xor eax,r13d=0D
+ add esi,ecx=0D
+ rol r14d,1=0D
+ add esi,eax=0D
+ xor edx,DWORD[20+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[16+rsp],r14d=0D
+ mov ecx,esi=0D
+ xor edx,DWORD[28+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor edx,DWORD[52+rsp]=0D
+ lea r13d,[1859775393+r13*1+r14]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[24+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[20+rsp],edx=0D
+ mov ecx,r13d=0D
+ xor ebp,DWORD[32+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[56+rsp]=0D
+ lea r12d,[1859775393+r12*1+rdx]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[28+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[24+rsp],ebp=0D
+ mov ecx,r12d=0D
+ xor r14d,DWORD[36+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[60+rsp]=0D
+ lea r11d,[1859775393+r11*1+rbp]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[32+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[28+rsp],r14d=0D
+ mov ecx,r11d=0D
+ xor edx,DWORD[40+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor edx,DWORD[rsp]=0D
+ lea edi,[1859775393+rdi*1+r14]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[36+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[32+rsp],edx=0D
+ mov ecx,edi=0D
+ xor ebp,DWORD[44+rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[4+rsp]=0D
+ lea esi,[1859775393+rsi*1+rdx]=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[40+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[36+rsp],ebp=0D
+ mov ecx,esi=0D
+ xor r14d,DWORD[48+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[8+rsp]=0D
+ lea r13d,[1859775393+r13*1+rbp]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[44+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[40+rsp],r14d=0D
+ mov ecx,r13d=0D
+ xor edx,DWORD[52+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor edx,DWORD[12+rsp]=0D
+ lea r12d,[1859775393+r12*1+r14]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[48+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[44+rsp],edx=0D
+ mov ecx,r12d=0D
+ xor ebp,DWORD[56+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[16+rsp]=0D
+ lea r11d,[1859775393+r11*1+rdx]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[52+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[48+rsp],ebp=0D
+ mov ecx,r11d=0D
+ xor r14d,DWORD[60+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[20+rsp]=0D
+ lea edi,[1859775393+rdi*1+rbp]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[56+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[52+rsp],r14d=0D
+ mov ecx,edi=0D
+ xor edx,DWORD[rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor edx,DWORD[24+rsp]=0D
+ lea esi,[1859775393+rsi*1+r14]=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[60+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[56+rsp],edx=0D
+ mov ecx,esi=0D
+ xor ebp,DWORD[4+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[28+rsp]=0D
+ lea r13d,[1859775393+r13*1+rdx]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[60+rsp],ebp=0D
+ mov ecx,r13d=0D
+ xor r14d,DWORD[8+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[32+rsp]=0D
+ lea r12d,[1859775393+r12*1+rbp]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[4+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[rsp],r14d=0D
+ mov ecx,r12d=0D
+ xor edx,DWORD[12+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor edx,DWORD[36+rsp]=0D
+ lea r11d,[1859775393+r11*1+r14]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[8+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[4+rsp],edx=0D
+ mov ecx,r11d=0D
+ xor ebp,DWORD[16+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[40+rsp]=0D
+ lea edi,[1859775393+rdi*1+rdx]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[12+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[8+rsp],ebp=0D
+ mov ecx,edi=0D
+ xor r14d,DWORD[20+rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[44+rsp]=0D
+ lea esi,[1859775393+rsi*1+rbp]=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[16+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[12+rsp],r14d=0D
+ mov ecx,esi=0D
+ xor edx,DWORD[24+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor edx,DWORD[48+rsp]=0D
+ lea r13d,[1859775393+r13*1+r14]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[20+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[16+rsp],edx=0D
+ mov ecx,r13d=0D
+ xor ebp,DWORD[28+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[52+rsp]=0D
+ lea r12d,[1859775393+r12*1+rdx]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[24+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[20+rsp],ebp=0D
+ mov ecx,r12d=0D
+ xor r14d,DWORD[32+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[56+rsp]=0D
+ lea r11d,[1859775393+r11*1+rbp]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[28+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[24+rsp],r14d=0D
+ mov ecx,r11d=0D
+ xor edx,DWORD[36+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor edx,DWORD[60+rsp]=0D
+ lea edi,[1859775393+rdi*1+r14]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[32+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[28+rsp],edx=0D
+ mov ecx,edi=0D
+ xor ebp,DWORD[40+rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[rsp]=0D
+ lea esi,[1859775393+rsi*1+rdx]=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[36+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[32+rsp],ebp=0D
+ mov ebx,r12d=0D
+ xor r14d,DWORD[44+rsp]=0D
+ and eax,r11d=0D
+ mov ecx,esi=0D
+ xor r14d,DWORD[4+rsp]=0D
+ lea r13d,[((-1894007588))+r13*1+rbp]=0D
+ xor ebx,r11d=0D
+ rol ecx,5=0D
+ add r13d,eax=0D
+ rol r14d,1=0D
+ and ebx,edi=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,ebx=0D
+ xor edx,DWORD[40+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[36+rsp],r14d=0D
+ mov ebx,r11d=0D
+ xor edx,DWORD[48+rsp]=0D
+ and eax,edi=0D
+ mov ecx,r13d=0D
+ xor edx,DWORD[8+rsp]=0D
+ lea r12d,[((-1894007588))+r12*1+r14]=0D
+ xor ebx,edi=0D
+ rol ecx,5=0D
+ add r12d,eax=0D
+ rol edx,1=0D
+ and ebx,esi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,ebx=0D
+ xor ebp,DWORD[44+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[40+rsp],edx=0D
+ mov ebx,edi=0D
+ xor ebp,DWORD[52+rsp]=0D
+ and eax,esi=0D
+ mov ecx,r12d=0D
+ xor ebp,DWORD[12+rsp]=0D
+ lea r11d,[((-1894007588))+r11*1+rdx]=0D
+ xor ebx,esi=0D
+ rol ecx,5=0D
+ add r11d,eax=0D
+ rol ebp,1=0D
+ and ebx,r13d=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,ebx=0D
+ xor r14d,DWORD[48+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[44+rsp],ebp=0D
+ mov ebx,esi=0D
+ xor r14d,DWORD[56+rsp]=0D
+ and eax,r13d=0D
+ mov ecx,r11d=0D
+ xor r14d,DWORD[16+rsp]=0D
+ lea edi,[((-1894007588))+rdi*1+rbp]=0D
+ xor ebx,r13d=0D
+ rol ecx,5=0D
+ add edi,eax=0D
+ rol r14d,1=0D
+ and ebx,r12d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,ebx=0D
+ xor edx,DWORD[52+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[48+rsp],r14d=0D
+ mov ebx,r13d=0D
+ xor edx,DWORD[60+rsp]=0D
+ and eax,r12d=0D
+ mov ecx,edi=0D
+ xor edx,DWORD[20+rsp]=0D
+ lea esi,[((-1894007588))+rsi*1+r14]=0D
+ xor ebx,r12d=0D
+ rol ecx,5=0D
+ add esi,eax=0D
+ rol edx,1=0D
+ and ebx,r11d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,ebx=0D
+ xor ebp,DWORD[56+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[52+rsp],edx=0D
+ mov ebx,r12d=0D
+ xor ebp,DWORD[rsp]=0D
+ and eax,r11d=0D
+ mov ecx,esi=0D
+ xor ebp,DWORD[24+rsp]=0D
+ lea r13d,[((-1894007588))+r13*1+rdx]=0D
+ xor ebx,r11d=0D
+ rol ecx,5=0D
+ add r13d,eax=0D
+ rol ebp,1=0D
+ and ebx,edi=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,ebx=0D
+ xor r14d,DWORD[60+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[56+rsp],ebp=0D
+ mov ebx,r11d=0D
+ xor r14d,DWORD[4+rsp]=0D
+ and eax,edi=0D
+ mov ecx,r13d=0D
+ xor r14d,DWORD[28+rsp]=0D
+ lea r12d,[((-1894007588))+r12*1+rbp]=0D
+ xor ebx,edi=0D
+ rol ecx,5=0D
+ add r12d,eax=0D
+ rol r14d,1=0D
+ and ebx,esi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,ebx=0D
+ xor edx,DWORD[rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[60+rsp],r14d=0D
+ mov ebx,edi=0D
+ xor edx,DWORD[8+rsp]=0D
+ and eax,esi=0D
+ mov ecx,r12d=0D
+ xor edx,DWORD[32+rsp]=0D
+ lea r11d,[((-1894007588))+r11*1+r14]=0D
+ xor ebx,esi=0D
+ rol ecx,5=0D
+ add r11d,eax=0D
+ rol edx,1=0D
+ and ebx,r13d=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,ebx=0D
+ xor ebp,DWORD[4+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[rsp],edx=0D
+ mov ebx,esi=0D
+ xor ebp,DWORD[12+rsp]=0D
+ and eax,r13d=0D
+ mov ecx,r11d=0D
+ xor ebp,DWORD[36+rsp]=0D
+ lea edi,[((-1894007588))+rdi*1+rdx]=0D
+ xor ebx,r13d=0D
+ rol ecx,5=0D
+ add edi,eax=0D
+ rol ebp,1=0D
+ and ebx,r12d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,ebx=0D
+ xor r14d,DWORD[8+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[4+rsp],ebp=0D
+ mov ebx,r13d=0D
+ xor r14d,DWORD[16+rsp]=0D
+ and eax,r12d=0D
+ mov ecx,edi=0D
+ xor r14d,DWORD[40+rsp]=0D
+ lea esi,[((-1894007588))+rsi*1+rbp]=0D
+ xor ebx,r12d=0D
+ rol ecx,5=0D
+ add esi,eax=0D
+ rol r14d,1=0D
+ and ebx,r11d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,ebx=0D
+ xor edx,DWORD[12+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[8+rsp],r14d=0D
+ mov ebx,r12d=0D
+ xor edx,DWORD[20+rsp]=0D
+ and eax,r11d=0D
+ mov ecx,esi=0D
+ xor edx,DWORD[44+rsp]=0D
+ lea r13d,[((-1894007588))+r13*1+r14]=0D
+ xor ebx,r11d=0D
+ rol ecx,5=0D
+ add r13d,eax=0D
+ rol edx,1=0D
+ and ebx,edi=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,ebx=0D
+ xor ebp,DWORD[16+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[12+rsp],edx=0D
+ mov ebx,r11d=0D
+ xor ebp,DWORD[24+rsp]=0D
+ and eax,edi=0D
+ mov ecx,r13d=0D
+ xor ebp,DWORD[48+rsp]=0D
+ lea r12d,[((-1894007588))+r12*1+rdx]=0D
+ xor ebx,edi=0D
+ rol ecx,5=0D
+ add r12d,eax=0D
+ rol ebp,1=0D
+ and ebx,esi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,ebx=0D
+ xor r14d,DWORD[20+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[16+rsp],ebp=0D
+ mov ebx,edi=0D
+ xor r14d,DWORD[28+rsp]=0D
+ and eax,esi=0D
+ mov ecx,r12d=0D
+ xor r14d,DWORD[52+rsp]=0D
+ lea r11d,[((-1894007588))+r11*1+rbp]=0D
+ xor ebx,esi=0D
+ rol ecx,5=0D
+ add r11d,eax=0D
+ rol r14d,1=0D
+ and ebx,r13d=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,ebx=0D
+ xor edx,DWORD[24+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[20+rsp],r14d=0D
+ mov ebx,esi=0D
+ xor edx,DWORD[32+rsp]=0D
+ and eax,r13d=0D
+ mov ecx,r11d=0D
+ xor edx,DWORD[56+rsp]=0D
+ lea edi,[((-1894007588))+rdi*1+r14]=0D
+ xor ebx,r13d=0D
+ rol ecx,5=0D
+ add edi,eax=0D
+ rol edx,1=0D
+ and ebx,r12d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,ebx=0D
+ xor ebp,DWORD[28+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[24+rsp],edx=0D
+ mov ebx,r13d=0D
+ xor ebp,DWORD[36+rsp]=0D
+ and eax,r12d=0D
+ mov ecx,edi=0D
+ xor ebp,DWORD[60+rsp]=0D
+ lea esi,[((-1894007588))+rsi*1+rdx]=0D
+ xor ebx,r12d=0D
+ rol ecx,5=0D
+ add esi,eax=0D
+ rol ebp,1=0D
+ and ebx,r11d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,ebx=0D
+ xor r14d,DWORD[32+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[28+rsp],ebp=0D
+ mov ebx,r12d=0D
+ xor r14d,DWORD[40+rsp]=0D
+ and eax,r11d=0D
+ mov ecx,esi=0D
+ xor r14d,DWORD[rsp]=0D
+ lea r13d,[((-1894007588))+r13*1+rbp]=0D
+ xor ebx,r11d=0D
+ rol ecx,5=0D
+ add r13d,eax=0D
+ rol r14d,1=0D
+ and ebx,edi=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,ebx=0D
+ xor edx,DWORD[36+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[32+rsp],r14d=0D
+ mov ebx,r11d=0D
+ xor edx,DWORD[44+rsp]=0D
+ and eax,edi=0D
+ mov ecx,r13d=0D
+ xor edx,DWORD[4+rsp]=0D
+ lea r12d,[((-1894007588))+r12*1+r14]=0D
+ xor ebx,edi=0D
+ rol ecx,5=0D
+ add r12d,eax=0D
+ rol edx,1=0D
+ and ebx,esi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,ebx=0D
+ xor ebp,DWORD[40+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[36+rsp],edx=0D
+ mov ebx,edi=0D
+ xor ebp,DWORD[48+rsp]=0D
+ and eax,esi=0D
+ mov ecx,r12d=0D
+ xor ebp,DWORD[8+rsp]=0D
+ lea r11d,[((-1894007588))+r11*1+rdx]=0D
+ xor ebx,esi=0D
+ rol ecx,5=0D
+ add r11d,eax=0D
+ rol ebp,1=0D
+ and ebx,r13d=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,ebx=0D
+ xor r14d,DWORD[44+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[40+rsp],ebp=0D
+ mov ebx,esi=0D
+ xor r14d,DWORD[52+rsp]=0D
+ and eax,r13d=0D
+ mov ecx,r11d=0D
+ xor r14d,DWORD[12+rsp]=0D
+ lea edi,[((-1894007588))+rdi*1+rbp]=0D
+ xor ebx,r13d=0D
+ rol ecx,5=0D
+ add edi,eax=0D
+ rol r14d,1=0D
+ and ebx,r12d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,ebx=0D
+ xor edx,DWORD[48+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[44+rsp],r14d=0D
+ mov ebx,r13d=0D
+ xor edx,DWORD[56+rsp]=0D
+ and eax,r12d=0D
+ mov ecx,edi=0D
+ xor edx,DWORD[16+rsp]=0D
+ lea esi,[((-1894007588))+rsi*1+r14]=0D
+ xor ebx,r12d=0D
+ rol ecx,5=0D
+ add esi,eax=0D
+ rol edx,1=0D
+ and ebx,r11d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,ebx=0D
+ xor ebp,DWORD[52+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[48+rsp],edx=0D
+ mov ecx,esi=0D
+ xor ebp,DWORD[60+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[20+rsp]=0D
+ lea r13d,[((-899497514))+r13*1+rdx]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[56+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[52+rsp],ebp=0D
+ mov ecx,r13d=0D
+ xor r14d,DWORD[rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[24+rsp]=0D
+ lea r12d,[((-899497514))+r12*1+rbp]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[60+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[56+rsp],r14d=0D
+ mov ecx,r12d=0D
+ xor edx,DWORD[4+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor edx,DWORD[28+rsp]=0D
+ lea r11d,[((-899497514))+r11*1+r14]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[60+rsp],edx=0D
+ mov ecx,r11d=0D
+ xor ebp,DWORD[8+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[32+rsp]=0D
+ lea edi,[((-899497514))+rdi*1+rdx]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[4+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[rsp],ebp=0D
+ mov ecx,edi=0D
+ xor r14d,DWORD[12+rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[36+rsp]=0D
+ lea esi,[((-899497514))+rsi*1+rbp]=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[8+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[4+rsp],r14d=0D
+ mov ecx,esi=0D
+ xor edx,DWORD[16+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor edx,DWORD[40+rsp]=0D
+ lea r13d,[((-899497514))+r13*1+r14]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[12+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[8+rsp],edx=0D
+ mov ecx,r13d=0D
+ xor ebp,DWORD[20+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[44+rsp]=0D
+ lea r12d,[((-899497514))+r12*1+rdx]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[16+rsp]=0D
+ mov eax,r13d=0D
+ mov DWORD[12+rsp],ebp=0D
+ mov ecx,r12d=0D
+ xor r14d,DWORD[24+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[48+rsp]=0D
+ lea r11d,[((-899497514))+r11*1+rbp]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[20+rsp]=0D
+ mov eax,r12d=0D
+ mov DWORD[16+rsp],r14d=0D
+ mov ecx,r11d=0D
+ xor edx,DWORD[28+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor edx,DWORD[52+rsp]=0D
+ lea edi,[((-899497514))+rdi*1+r14]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[24+rsp]=0D
+ mov eax,r11d=0D
+ mov DWORD[20+rsp],edx=0D
+ mov ecx,edi=0D
+ xor ebp,DWORD[32+rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[56+rsp]=0D
+ lea esi,[((-899497514))+rsi*1+rdx]=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[28+rsp]=0D
+ mov eax,edi=0D
+ mov DWORD[24+rsp],ebp=0D
+ mov ecx,esi=0D
+ xor r14d,DWORD[36+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[60+rsp]=0D
+ lea r13d,[((-899497514))+r13*1+rbp]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[32+rsp]=0D
+ mov eax,esi=0D
+ mov DWORD[28+rsp],r14d=0D
+ mov ecx,r13d=0D
+ xor edx,DWORD[40+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor edx,DWORD[rsp]=0D
+ lea r12d,[((-899497514))+r12*1+r14]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[36+rsp]=0D
+ mov eax,r13d=0D
+=0D
+ mov ecx,r12d=0D
+ xor ebp,DWORD[44+rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[4+rsp]=0D
+ lea r11d,[((-899497514))+r11*1+rdx]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[40+rsp]=0D
+ mov eax,r12d=0D
+=0D
+ mov ecx,r11d=0D
+ xor r14d,DWORD[48+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[8+rsp]=0D
+ lea edi,[((-899497514))+rdi*1+rbp]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[44+rsp]=0D
+ mov eax,r11d=0D
+=0D
+ mov ecx,edi=0D
+ xor edx,DWORD[52+rsp]=0D
+ xor eax,r13d=0D
+ rol ecx,5=0D
+ xor edx,DWORD[12+rsp]=0D
+ lea esi,[((-899497514))+rsi*1+r14]=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[48+rsp]=0D
+ mov eax,edi=0D
+=0D
+ mov ecx,esi=0D
+ xor ebp,DWORD[56+rsp]=0D
+ xor eax,r12d=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[16+rsp]=0D
+ lea r13d,[((-899497514))+r13*1+rdx]=0D
+ xor eax,r11d=0D
+ add r13d,ecx=0D
+ rol edi,30=0D
+ add r13d,eax=0D
+ rol ebp,1=0D
+ xor r14d,DWORD[52+rsp]=0D
+ mov eax,esi=0D
+=0D
+ mov ecx,r13d=0D
+ xor r14d,DWORD[60+rsp]=0D
+ xor eax,r11d=0D
+ rol ecx,5=0D
+ xor r14d,DWORD[20+rsp]=0D
+ lea r12d,[((-899497514))+r12*1+rbp]=0D
+ xor eax,edi=0D
+ add r12d,ecx=0D
+ rol esi,30=0D
+ add r12d,eax=0D
+ rol r14d,1=0D
+ xor edx,DWORD[56+rsp]=0D
+ mov eax,r13d=0D
+=0D
+ mov ecx,r12d=0D
+ xor edx,DWORD[rsp]=0D
+ xor eax,edi=0D
+ rol ecx,5=0D
+ xor edx,DWORD[24+rsp]=0D
+ lea r11d,[((-899497514))+r11*1+r14]=0D
+ xor eax,esi=0D
+ add r11d,ecx=0D
+ rol r13d,30=0D
+ add r11d,eax=0D
+ rol edx,1=0D
+ xor ebp,DWORD[60+rsp]=0D
+ mov eax,r12d=0D
+=0D
+ mov ecx,r11d=0D
+ xor ebp,DWORD[4+rsp]=0D
+ xor eax,esi=0D
+ rol ecx,5=0D
+ xor ebp,DWORD[28+rsp]=0D
+ lea edi,[((-899497514))+rdi*1+rdx]=0D
+ xor eax,r13d=0D
+ add edi,ecx=0D
+ rol r12d,30=0D
+ add edi,eax=0D
+ rol ebp,1=0D
+ mov eax,r11d=0D
+ mov ecx,edi=0D
+ xor eax,r13d=0D
+ lea esi,[((-899497514))+rsi*1+rbp]=0D
+ rol ecx,5=0D
+ xor eax,r12d=0D
+ add esi,ecx=0D
+ rol r11d,30=0D
+ add esi,eax=0D
+ add esi,DWORD[r8]=0D
+ add edi,DWORD[4+r8]=0D
+ add r11d,DWORD[8+r8]=0D
+ add r12d,DWORD[12+r8]=0D
+ add r13d,DWORD[16+r8]=0D
+ mov DWORD[r8],esi=0D
+ mov DWORD[4+r8],edi=0D
+ mov DWORD[8+r8],r11d=0D
+ mov DWORD[12+r8],r12d=0D
+ mov DWORD[16+r8],r13d=0D
+=0D
+ sub r10,1=0D
+ lea r9,[64+r9]=0D
+ jnz NEAR $L$loop=0D
+=0D
+ mov rsi,QWORD[64+rsp]=0D
+=0D
+ mov r14,QWORD[((-40))+rsi]=0D
+=0D
+ mov r13,QWORD[((-32))+rsi]=0D
+=0D
+ mov r12,QWORD[((-24))+rsi]=0D
+=0D
+ mov rbp,QWORD[((-16))+rsi]=0D
+=0D
+ mov rbx,QWORD[((-8))+rsi]=0D
+=0D
+ lea rsp,[rsi]=0D
+=0D
+$L$epilogue:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_sha1_block_data_order:=0D
+=0D
+ALIGN 32=0D
+sha1_block_data_order_shaext:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_sha1_block_data_order_shaext:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+_shaext_shortcut:=0D
+=0D
+ lea rsp,[((-72))+rsp]=0D
+ movaps XMMWORD[(-8-64)+rax],xmm6=0D
+ movaps XMMWORD[(-8-48)+rax],xmm7=0D
+ movaps XMMWORD[(-8-32)+rax],xmm8=0D
+ movaps XMMWORD[(-8-16)+rax],xmm9=0D
+$L$prologue_shaext:=0D
+ movdqu xmm0,XMMWORD[rdi]=0D
+ movd xmm1,DWORD[16+rdi]=0D
+ movdqa xmm3,XMMWORD[((K_XX_XX+160))]=0D
+=0D
+ movdqu xmm4,XMMWORD[rsi]=0D
+ pshufd xmm0,xmm0,27=0D
+ movdqu xmm5,XMMWORD[16+rsi]=0D
+ pshufd xmm1,xmm1,27=0D
+ movdqu xmm6,XMMWORD[32+rsi]=0D
+DB 102,15,56,0,227=0D
+ movdqu xmm7,XMMWORD[48+rsi]=0D
+DB 102,15,56,0,235=0D
+DB 102,15,56,0,243=0D
+ movdqa xmm9,xmm1=0D
+DB 102,15,56,0,251=0D
+ jmp NEAR $L$oop_shaext=0D
+=0D
+ALIGN 16=0D
+$L$oop_shaext:=0D
+ dec rdx=0D
+ lea r8,[64+rsi]=0D
+ paddd xmm1,xmm4=0D
+ cmovne rsi,r8=0D
+ movdqa xmm8,xmm0=0D
+DB 15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,0=0D
+DB 15,56,200,213=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+DB 15,56,202,231=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,0=0D
+DB 15,56,200,206=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,202,236=0D
+DB 15,56,201,247=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,0=0D
+DB 15,56,200,215=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+DB 15,56,202,245=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,0=0D
+DB 15,56,200,204=0D
+ pxor xmm7,xmm5=0D
+DB 15,56,202,254=0D
+DB 15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,0=0D
+DB 15,56,200,213=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+DB 15,56,202,231=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,1=0D
+DB 15,56,200,206=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,202,236=0D
+DB 15,56,201,247=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,1=0D
+DB 15,56,200,215=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+DB 15,56,202,245=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,1=0D
+DB 15,56,200,204=0D
+ pxor xmm7,xmm5=0D
+DB 15,56,202,254=0D
+DB 15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,1=0D
+DB 15,56,200,213=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+DB 15,56,202,231=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,1=0D
+DB 15,56,200,206=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,202,236=0D
+DB 15,56,201,247=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,2=0D
+DB 15,56,200,215=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+DB 15,56,202,245=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,2=0D
+DB 15,56,200,204=0D
+ pxor xmm7,xmm5=0D
+DB 15,56,202,254=0D
+DB 15,56,201,229=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,2=0D
+DB 15,56,200,213=0D
+ pxor xmm4,xmm6=0D
+DB 15,56,201,238=0D
+DB 15,56,202,231=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,2=0D
+DB 15,56,200,206=0D
+ pxor xmm5,xmm7=0D
+DB 15,56,202,236=0D
+DB 15,56,201,247=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,2=0D
+DB 15,56,200,215=0D
+ pxor xmm6,xmm4=0D
+DB 15,56,201,252=0D
+DB 15,56,202,245=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,3=0D
+DB 15,56,200,204=0D
+ pxor xmm7,xmm5=0D
+DB 15,56,202,254=0D
+ movdqu xmm4,XMMWORD[rsi]=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,3=0D
+DB 15,56,200,213=0D
+ movdqu xmm5,XMMWORD[16+rsi]=0D
+DB 102,15,56,0,227=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,3=0D
+DB 15,56,200,206=0D
+ movdqu xmm6,XMMWORD[32+rsi]=0D
+DB 102,15,56,0,235=0D
+=0D
+ movdqa xmm2,xmm0=0D
+DB 15,58,204,193,3=0D
+DB 15,56,200,215=0D
+ movdqu xmm7,XMMWORD[48+rsi]=0D
+DB 102,15,56,0,243=0D
+=0D
+ movdqa xmm1,xmm0=0D
+DB 15,58,204,194,3=0D
+DB 65,15,56,200,201=0D
+DB 102,15,56,0,251=0D
+=0D
+ paddd xmm0,xmm8=0D
+ movdqa xmm9,xmm1=0D
+=0D
+ jnz NEAR $L$oop_shaext=0D
+=0D
+ pshufd xmm0,xmm0,27=0D
+ pshufd xmm1,xmm1,27=0D
+ movdqu XMMWORD[rdi],xmm0=0D
+ movd DWORD[16+rdi],xmm1=0D
+ movaps xmm6,XMMWORD[((-8-64))+rax]=0D
+ movaps xmm7,XMMWORD[((-8-48))+rax]=0D
+ movaps xmm8,XMMWORD[((-8-32))+rax]=0D
+ movaps xmm9,XMMWORD[((-8-16))+rax]=0D
+ mov rsp,rax=0D
+$L$epilogue_shaext:=0D
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue=0D
+ mov rsi,QWORD[16+rsp]=0D
+ DB 0F3h,0C3h ;repret=0D
+=0D
+$L$SEH_end_sha1_block_data_order_shaext:=0D
+=0D
+ALIGN 16=0D
+sha1_block_data_order_ssse3:=0D
+ mov QWORD[8+rsp],rdi ;WIN64 prologue=0D
+ mov QWORD[16+rsp],rsi=0D
+ mov rax,rsp=0D
+$L$SEH_begin_sha1_block_data_order_ssse3:=0D
+ mov rdi,rcx=0D
+ mov rsi,rdx=0D
+ mov rdx,r8=0D
+=0D
+=0D
+_ssse3_shortcut:=0D
+=0D
+ mov r11,rsp=0D
+=0D
+ push rbx=0D
+=0D
+ push rbp=0D
+=0D
+ push r12=0D
+=0D
+ push r13=0D
+=0D
+ push r14=0D
+=0D
+ lea rsp,[((-160))+rsp]=0D
+ movaps XMMWORD[(-40-96)+r11],xmm6=0D
+ movaps XMMWORD[(-40-80)+r11],xmm7=0D
+ movaps XMMWORD[(-40-64)+r11],xmm8=0D
+ movaps XMMWORD[(-40-48)+r11],xmm9=0D
+ movaps XMMWORD[(-40-32)+r11],xmm10=0D
+ movaps XMMWORD[(-40-16)+r11],xmm11=0D
+$L$prologue_ssse3:=0D
+ and rsp,-64=0D
+ mov r8,rdi=0D
+ mov r9,rsi=0D
+ mov r10,rdx=0D
+=0D
+ shl r10,6=0D
+ add r10,r9=0D
+ lea r14,[((K_XX_XX+64))]=0D
+=0D
+ mov eax,DWORD[r8]=0D
+ mov ebx,DWORD[4+r8]=0D
+ mov ecx,DWORD[8+r8]=0D
+ mov edx,DWORD[12+r8]=0D
+ mov esi,ebx=0D
+ mov ebp,DWORD[16+r8]=0D
+ mov edi,ecx=0D
+ xor edi,edx=0D
+ and esi,edi=0D
+=0D
+ movdqa xmm6,XMMWORD[64+r14]=0D
+ movdqa xmm9,XMMWORD[((-64))+r14]=0D
+ movdqu xmm0,XMMWORD[r9]=0D
+ movdqu xmm1,XMMWORD[16+r9]=0D
+ movdqu xmm2,XMMWORD[32+r9]=0D
+ movdqu xmm3,XMMWORD[48+r9]=0D
+DB 102,15,56,0,198=0D
+DB 102,15,56,0,206=0D
+DB 102,15,56,0,214=0D
+ add r9,64=0D
+ paddd xmm0,xmm9=0D
+DB 102,15,56,0,222=0D
+ paddd xmm1,xmm9=0D
+ paddd xmm2,xmm9=0D
+ movdqa XMMWORD[rsp],xmm0=0D
+ psubd xmm0,xmm9=0D
+ movdqa XMMWORD[16+rsp],xmm1=0D
+ psubd xmm1,xmm9=0D
+ movdqa XMMWORD[32+rsp],xmm2=0D
+ psubd xmm2,xmm9=0D
+ jmp NEAR $L$oop_ssse3=0D
+ALIGN 16=0D
+$L$oop_ssse3:=0D
+ ror ebx,2=0D
+ pshufd xmm4,xmm0,238=0D
+ xor esi,edx=0D
+ movdqa xmm8,xmm3=0D
+ paddd xmm9,xmm3=0D
+ mov edi,eax=0D
+ add ebp,DWORD[rsp]=0D
+ punpcklqdq xmm4,xmm1=0D
+ xor ebx,ecx=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ psrldq xmm8,4=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ pxor xmm4,xmm0=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ pxor xmm8,xmm2=0D
+ xor edi,ecx=0D
+ mov esi,ebp=0D
+ add edx,DWORD[4+rsp]=0D
+ pxor xmm4,xmm8=0D
+ xor eax,ebx=0D
+ rol ebp,5=0D
+ movdqa XMMWORD[48+rsp],xmm9=0D
+ add edx,edi=0D
+ and esi,eax=0D
+ movdqa xmm10,xmm4=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ ror ebp,7=0D
+ movdqa xmm8,xmm4=0D
+ xor esi,ebx=0D
+ pslldq xmm10,12=0D
+ paddd xmm4,xmm4=0D
+ mov edi,edx=0D
+ add ecx,DWORD[8+rsp]=0D
+ psrld xmm8,31=0D
+ xor ebp,eax=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movdqa xmm9,xmm10=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ psrld xmm10,30=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ por xmm4,xmm8=0D
+ xor edi,eax=0D
+ mov esi,ecx=0D
+ add ebx,DWORD[12+rsp]=0D
+ pslld xmm9,2=0D
+ pxor xmm4,xmm10=0D
+ xor edx,ebp=0D
+ movdqa xmm10,XMMWORD[((-64))+r14]=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ and esi,edx=0D
+ pxor xmm4,xmm9=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ ror ecx,7=0D
+ pshufd xmm5,xmm1,238=0D
+ xor esi,ebp=0D
+ movdqa xmm9,xmm4=0D
+ paddd xmm10,xmm4=0D
+ mov edi,ebx=0D
+ add eax,DWORD[16+rsp]=0D
+ punpcklqdq xmm5,xmm2=0D
+ xor ecx,edx=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ psrldq xmm9,4=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ pxor xmm5,xmm1=0D
+ add eax,ebx=0D
+ ror ebx,7=0D
+ pxor xmm9,xmm3=0D
+ xor edi,edx=0D
+ mov esi,eax=0D
+ add ebp,DWORD[20+rsp]=0D
+ pxor xmm5,xmm9=0D
+ xor ebx,ecx=0D
+ rol eax,5=0D
+ movdqa XMMWORD[rsp],xmm10=0D
+ add ebp,edi=0D
+ and esi,ebx=0D
+ movdqa xmm8,xmm5=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ movdqa xmm9,xmm5=0D
+ xor esi,ecx=0D
+ pslldq xmm8,12=0D
+ paddd xmm5,xmm5=0D
+ mov edi,ebp=0D
+ add edx,DWORD[24+rsp]=0D
+ psrld xmm9,31=0D
+ xor eax,ebx=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ movdqa xmm10,xmm8=0D
+ and edi,eax=0D
+ xor eax,ebx=0D
+ psrld xmm8,30=0D
+ add edx,ebp=0D
+ ror ebp,7=0D
+ por xmm5,xmm9=0D
+ xor edi,ebx=0D
+ mov esi,edx=0D
+ add ecx,DWORD[28+rsp]=0D
+ pslld xmm10,2=0D
+ pxor xmm5,xmm8=0D
+ xor ebp,eax=0D
+ movdqa xmm8,XMMWORD[((-32))+r14]=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ and esi,ebp=0D
+ pxor xmm5,xmm10=0D
+ xor ebp,eax=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ pshufd xmm6,xmm2,238=0D
+ xor esi,eax=0D
+ movdqa xmm10,xmm5=0D
+ paddd xmm8,xmm5=0D
+ mov edi,ecx=0D
+ add ebx,DWORD[32+rsp]=0D
+ punpcklqdq xmm6,xmm3=0D
+ xor edx,ebp=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ psrldq xmm10,4=0D
+ and edi,edx=0D
+ xor edx,ebp=0D
+ pxor xmm6,xmm2=0D
+ add ebx,ecx=0D
+ ror ecx,7=0D
+ pxor xmm10,xmm4=0D
+ xor edi,ebp=0D
+ mov esi,ebx=0D
+ add eax,DWORD[36+rsp]=0D
+ pxor xmm6,xmm10=0D
+ xor ecx,edx=0D
+ rol ebx,5=0D
+ movdqa XMMWORD[16+rsp],xmm8=0D
+ add eax,edi=0D
+ and esi,ecx=0D
+ movdqa xmm9,xmm6=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ ror ebx,7=0D
+ movdqa xmm10,xmm6=0D
+ xor esi,edx=0D
+ pslldq xmm9,12=0D
+ paddd xmm6,xmm6=0D
+ mov edi,eax=0D
+ add ebp,DWORD[40+rsp]=0D
+ psrld xmm10,31=0D
+ xor ebx,ecx=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ movdqa xmm8,xmm9=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ psrld xmm9,30=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ por xmm6,xmm10=0D
+ xor edi,ecx=0D
+ mov esi,ebp=0D
+ add edx,DWORD[44+rsp]=0D
+ pslld xmm8,2=0D
+ pxor xmm6,xmm9=0D
+ xor eax,ebx=0D
+ movdqa xmm9,XMMWORD[((-32))+r14]=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ and esi,eax=0D
+ pxor xmm6,xmm8=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ ror ebp,7=0D
+ pshufd xmm7,xmm3,238=0D
+ xor esi,ebx=0D
+ movdqa xmm8,xmm6=0D
+ paddd xmm9,xmm6=0D
+ mov edi,edx=0D
+ add ecx,DWORD[48+rsp]=0D
+ punpcklqdq xmm7,xmm4=0D
+ xor ebp,eax=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ psrldq xmm8,4=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ pxor xmm7,xmm3=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ pxor xmm8,xmm5=0D
+ xor edi,eax=0D
+ mov esi,ecx=0D
+ add ebx,DWORD[52+rsp]=0D
+ pxor xmm7,xmm8=0D
+ xor edx,ebp=0D
+ rol ecx,5=0D
+ movdqa XMMWORD[32+rsp],xmm9=0D
+ add ebx,edi=0D
+ and esi,edx=0D
+ movdqa xmm10,xmm7=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ ror ecx,7=0D
+ movdqa xmm8,xmm7=0D
+ xor esi,ebp=0D
+ pslldq xmm10,12=0D
+ paddd xmm7,xmm7=0D
+ mov edi,ebx=0D
+ add eax,DWORD[56+rsp]=0D
+ psrld xmm8,31=0D
+ xor ecx,edx=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ movdqa xmm9,xmm10=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ psrld xmm10,30=0D
+ add eax,ebx=0D
+ ror ebx,7=0D
+ por xmm7,xmm8=0D
+ xor edi,edx=0D
+ mov esi,eax=0D
+ add ebp,DWORD[60+rsp]=0D
+ pslld xmm9,2=0D
+ pxor xmm7,xmm10=0D
+ xor ebx,ecx=0D
+ movdqa xmm10,XMMWORD[((-32))+r14]=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ and esi,ebx=0D
+ pxor xmm7,xmm9=0D
+ pshufd xmm9,xmm6,238=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ ror eax,7=0D
+ pxor xmm0,xmm4=0D
+ xor esi,ecx=0D
+ mov edi,ebp=0D
+ add edx,DWORD[rsp]=0D
+ punpcklqdq xmm9,xmm7=0D
+ xor eax,ebx=0D
+ rol ebp,5=0D
+ pxor xmm0,xmm1=0D
+ add edx,esi=0D
+ and edi,eax=0D
+ movdqa xmm8,xmm10=0D
+ xor eax,ebx=0D
+ paddd xmm10,xmm7=0D
+ add edx,ebp=0D
+ pxor xmm0,xmm9=0D
+ ror ebp,7=0D
+ xor edi,ebx=0D
+ mov esi,edx=0D
+ add ecx,DWORD[4+rsp]=0D
+ movdqa xmm9,xmm0=0D
+ xor ebp,eax=0D
+ rol edx,5=0D
+ movdqa XMMWORD[48+rsp],xmm10=0D
+ add ecx,edi=0D
+ and esi,ebp=0D
+ xor ebp,eax=0D
+ pslld xmm0,2=0D
+ add ecx,edx=0D
+ ror edx,7=0D
+ psrld xmm9,30=0D
+ xor esi,eax=0D
+ mov edi,ecx=0D
+ add ebx,DWORD[8+rsp]=0D
+ por xmm0,xmm9=0D
+ xor edx,ebp=0D
+ rol ecx,5=0D
+ pshufd xmm10,xmm7,238=0D
+ add ebx,esi=0D
+ and edi,edx=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ add eax,DWORD[12+rsp]=0D
+ xor edi,ebp=0D
+ mov esi,ebx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,edx=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ pxor xmm1,xmm5=0D
+ add ebp,DWORD[16+rsp]=0D
+ xor esi,ecx=0D
+ punpcklqdq xmm10,xmm0=0D
+ mov edi,eax=0D
+ rol eax,5=0D
+ pxor xmm1,xmm2=0D
+ add ebp,esi=0D
+ xor edi,ecx=0D
+ movdqa xmm9,xmm8=0D
+ ror ebx,7=0D
+ paddd xmm8,xmm0=0D
+ add ebp,eax=0D
+ pxor xmm1,xmm10=0D
+ add edx,DWORD[20+rsp]=0D
+ xor edi,ebx=0D
+ mov esi,ebp=0D
+ rol ebp,5=0D
+ movdqa xmm10,xmm1=0D
+ add edx,edi=0D
+ xor esi,ebx=0D
+ movdqa XMMWORD[rsp],xmm8=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ add ecx,DWORD[24+rsp]=0D
+ pslld xmm1,2=0D
+ xor esi,eax=0D
+ mov edi,edx=0D
+ psrld xmm10,30=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ xor edi,eax=0D
+ ror ebp,7=0D
+ por xmm1,xmm10=0D
+ add ecx,edx=0D
+ add ebx,DWORD[28+rsp]=0D
+ pshufd xmm8,xmm0,238=0D
+ xor edi,ebp=0D
+ mov esi,ecx=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,ebp=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ pxor xmm2,xmm6=0D
+ add eax,DWORD[32+rsp]=0D
+ xor esi,edx=0D
+ punpcklqdq xmm8,xmm1=0D
+ mov edi,ebx=0D
+ rol ebx,5=0D
+ pxor xmm2,xmm3=0D
+ add eax,esi=0D
+ xor edi,edx=0D
+ movdqa xmm10,XMMWORD[r14]=0D
+ ror ecx,7=0D
+ paddd xmm9,xmm1=0D
+ add eax,ebx=0D
+ pxor xmm2,xmm8=0D
+ add ebp,DWORD[36+rsp]=0D
+ xor edi,ecx=0D
+ mov esi,eax=0D
+ rol eax,5=0D
+ movdqa xmm8,xmm2=0D
+ add ebp,edi=0D
+ xor esi,ecx=0D
+ movdqa XMMWORD[16+rsp],xmm9=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ add edx,DWORD[40+rsp]=0D
+ pslld xmm2,2=0D
+ xor esi,ebx=0D
+ mov edi,ebp=0D
+ psrld xmm8,30=0D
+ rol ebp,5=0D
+ add edx,esi=0D
+ xor edi,ebx=0D
+ ror eax,7=0D
+ por xmm2,xmm8=0D
+ add edx,ebp=0D
+ add ecx,DWORD[44+rsp]=0D
+ pshufd xmm9,xmm1,238=0D
+ xor edi,eax=0D
+ mov esi,edx=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ xor esi,eax=0D
+ ror ebp,7=0D
+ add ecx,edx=0D
+ pxor xmm3,xmm7=0D
+ add ebx,DWORD[48+rsp]=0D
+ xor esi,ebp=0D
+ punpcklqdq xmm9,xmm2=0D
+ mov edi,ecx=0D
+ rol ecx,5=0D
+ pxor xmm3,xmm4=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ movdqa xmm8,xmm10=0D
+ ror edx,7=0D
+ paddd xmm10,xmm2=0D
+ add ebx,ecx=0D
+ pxor xmm3,xmm9=0D
+ add eax,DWORD[52+rsp]=0D
+ xor edi,edx=0D
+ mov esi,ebx=0D
+ rol ebx,5=0D
+ movdqa xmm9,xmm3=0D
+ add eax,edi=0D
+ xor esi,edx=0D
+ movdqa XMMWORD[32+rsp],xmm10=0D
+ ror ecx,7=0D
+ add eax,ebx=0D
+ add ebp,DWORD[56+rsp]=0D
+ pslld xmm3,2=0D
+ xor esi,ecx=0D
+ mov edi,eax=0D
+ psrld xmm9,30=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ xor edi,ecx=0D
+ ror ebx,7=0D
+ por xmm3,xmm9=0D
+ add ebp,eax=0D
+ add edx,DWORD[60+rsp]=0D
+ pshufd xmm10,xmm2,238=0D
+ xor edi,ebx=0D
+ mov esi,ebp=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ xor esi,ebx=0D
+ ror eax,7=0D
+ add edx,ebp=0D
+ pxor xmm4,xmm0=0D
+ add ecx,DWORD[rsp]=0D
+ xor esi,eax=0D
+ punpcklqdq xmm10,xmm3=0D
+ mov edi,edx=0D
+ rol edx,5=0D
+ pxor xmm4,xmm5=0D
+ add ecx,esi=0D
+ xor edi,eax=0D
+ movdqa xmm9,xmm8=0D
+ ror ebp,7=0D
+ paddd xmm8,xmm3=0D
+ add ecx,edx=0D
+ pxor xmm4,xmm10=0D
+ add ebx,DWORD[4+rsp]=0D
+ xor edi,ebp=0D
+ mov esi,ecx=0D
+ rol ecx,5=0D
+ movdqa xmm10,xmm4=0D
+ add ebx,edi=0D
+ xor esi,ebp=0D
+ movdqa XMMWORD[48+rsp],xmm8=0D
+ ror edx,7=0D
+ add ebx,ecx=0D
+ add eax,DWORD[8+rsp]=0D
+ pslld xmm4,2=0D
+ xor esi,edx=0D
+ mov edi,ebx=0D
+ psrld xmm10,30=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ xor edi,edx=0D
+ ror ecx,7=0D
+ por xmm4,xmm10=0D
+ add eax,ebx=0D
+ add ebp,DWORD[12+rsp]=0D
+ pshufd xmm8,xmm3,238=0D
+ xor edi,ecx=0D
+ mov esi,eax=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ecx=0D
+ ror ebx,7=0D
+ add ebp,eax=0D
+ pxor xmm5,xmm1=0D
+ add edx,DWORD[16+rsp]=0D
+ xor esi,ebx=0D
+ punpcklqdq xmm8,xmm4=0D
+ mov edi,ebp=0D
+ rol ebp,5=0D
+ pxor xmm5,xmm6=0D
+ add edx,esi=0D
+ xor edi,ebx=0D
+ movdqa xmm10,xmm9=0D
+ ror eax,7=0D
+ paddd xmm9,xmm4=0D
+ add edx,ebp=0D
+ pxor xmm5,xmm8=0D
+ add ecx,DWORD[20+rsp]=0D
+ xor edi,eax=0D
+ mov esi,edx=0D
+ rol edx,5=0D
+ movdqa xmm8,xmm5=0D
+ add ecx,edi=0D
+ xor esi,eax=0D
+ movdqa XMMWORD[rsp],xmm9=0D
+ ror ebp,7=0D
+ add ecx,edx=0D
+ add ebx,DWORD[24+rsp]=0D
+ pslld xmm5,2=0D
+ xor esi,ebp=0D
+ mov edi,ecx=0D
+ psrld xmm8,30=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ xor edi,ebp=0D
+ ror edx,7=0D
+ por xmm5,xmm8=0D
+ add ebx,ecx=0D
+ add eax,DWORD[28+rsp]=0D
+ pshufd xmm9,xmm4,238=0D
+ ror ecx,7=0D
+ mov esi,ebx=0D
+ xor edi,edx=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,ecx=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ pxor xmm6,xmm2=0D
+ add ebp,DWORD[32+rsp]=0D
+ and esi,ecx=0D
+ xor ecx,edx=0D
+ ror ebx,7=0D
+ punpcklqdq xmm9,xmm5=0D
+ mov edi,eax=0D
+ xor esi,ecx=0D
+ pxor xmm6,xmm7=0D
+ rol eax,5=0D
+ add ebp,esi=0D
+ movdqa xmm8,xmm10=0D
+ xor edi,ebx=0D
+ paddd xmm10,xmm5=0D
+ xor ebx,ecx=0D
+ pxor xmm6,xmm9=0D
+ add ebp,eax=0D
+ add edx,DWORD[36+rsp]=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ ror eax,7=0D
+ movdqa xmm9,xmm6=0D
+ mov esi,ebp=0D
+ xor edi,ebx=0D
+ movdqa XMMWORD[16+rsp],xmm10=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ xor esi,eax=0D
+ pslld xmm6,2=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ psrld xmm9,30=0D
+ add ecx,DWORD[40+rsp]=0D
+ and esi,eax=0D
+ xor eax,ebx=0D
+ por xmm6,xmm9=0D
+ ror ebp,7=0D
+ mov edi,edx=0D
+ xor esi,eax=0D
+ rol edx,5=0D
+ pshufd xmm10,xmm5,238=0D
+ add ecx,esi=0D
+ xor edi,ebp=0D
+ xor ebp,eax=0D
+ add ecx,edx=0D
+ add ebx,DWORD[44+rsp]=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ ror edx,7=0D
+ mov esi,ecx=0D
+ xor edi,ebp=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,edx=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ pxor xmm7,xmm3=0D
+ add eax,DWORD[48+rsp]=0D
+ and esi,edx=0D
+ xor edx,ebp=0D
+ ror ecx,7=0D
+ punpcklqdq xmm10,xmm6=0D
+ mov edi,ebx=0D
+ xor esi,edx=0D
+ pxor xmm7,xmm0=0D
+ rol ebx,5=0D
+ add eax,esi=0D
+ movdqa xmm9,XMMWORD[32+r14]=0D
+ xor edi,ecx=0D
+ paddd xmm8,xmm6=0D
+ xor ecx,edx=0D
+ pxor xmm7,xmm10=0D
+ add eax,ebx=0D
+ add ebp,DWORD[52+rsp]=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ ror ebx,7=0D
+ movdqa xmm10,xmm7=0D
+ mov esi,eax=0D
+ xor edi,ecx=0D
+ movdqa XMMWORD[32+rsp],xmm8=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ebx=0D
+ pslld xmm7,2=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ psrld xmm10,30=0D
+ add edx,DWORD[56+rsp]=0D
+ and esi,ebx=0D
+ xor ebx,ecx=0D
+ por xmm7,xmm10=0D
+ ror eax,7=0D
+ mov edi,ebp=0D
+ xor esi,ebx=0D
+ rol ebp,5=0D
+ pshufd xmm8,xmm6,238=0D
+ add edx,esi=0D
+ xor edi,eax=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ add ecx,DWORD[60+rsp]=0D
+ and edi,eax=0D
+ xor eax,ebx=0D
+ ror ebp,7=0D
+ mov esi,edx=0D
+ xor edi,eax=0D
+ rol edx,5=0D
+ add ecx,edi=0D
+ xor esi,ebp=0D
+ xor ebp,eax=0D
+ add ecx,edx=0D
+ pxor xmm0,xmm4=0D
+ add ebx,DWORD[rsp]=0D
+ and esi,ebp=0D
+ xor ebp,eax=0D
+ ror edx,7=0D
+ punpcklqdq xmm8,xmm7=0D
+ mov edi,ecx=0D
+ xor esi,ebp=0D
+ pxor xmm0,xmm1=0D
+ rol ecx,5=0D
+ add ebx,esi=0D
+ movdqa xmm10,xmm9=0D
+ xor edi,edx=0D
+ paddd xmm9,xmm7=0D
+ xor edx,ebp=0D
+ pxor xmm0,xmm8=0D
+ add ebx,ecx=0D
+ add eax,DWORD[4+rsp]=0D
+ and edi,edx=0D
+ xor edx,ebp=0D
+ ror ecx,7=0D
+ movdqa xmm8,xmm0=0D
+ mov esi,ebx=0D
+ xor edi,edx=0D
+ movdqa XMMWORD[48+rsp],xmm9=0D
+ rol ebx,5=0D
+ add eax,edi=0D
+ xor esi,ecx=0D
+ pslld xmm0,2=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ psrld xmm8,30=0D
+ add ebp,DWORD[8+rsp]=0D
+ and esi,ecx=0D
+ xor ecx,edx=0D
+ por xmm0,xmm8=0D
+ ror ebx,7=0D
+ mov edi,eax=0D
+ xor esi,ecx=0D
+ rol eax,5=0D
+ pshufd xmm9,xmm7,238=0D
+ add ebp,esi=0D
+ xor edi,ebx=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ add edx,DWORD[12+rsp]=0D
+ and edi,ebx=0D
+ xor ebx,ecx=0D
+ ror eax,7=0D
+ mov esi,ebp=0D
+ xor edi,ebx=0D
+ rol ebp,5=0D
+ add edx,edi=0D
+ xor esi,eax=0D
+ xor eax,ebx=0D
+ add edx,ebp=0D
+ pxor xmm1,xmm5=0D
+ add ecx,DWORD[16+rsp]=0D
+ and esi,eax=0D
+ xor eax,ebx=0D
+ ror ebp,7=0D
+ punpcklqdq xmm9,xmm0=0D
+ mov edi,edx=0D
+ xor esi,eax=0D
+ pxor xmm1,xmm2=0D
+ rol edx,5=0D
+ add ecx,esi=0D
+ movdqa xmm8,xmm10=0D
+ xor edi,ebp=0D
+ paddd xmm10,xmm0=0D
+ xor ebp,eax=0D
+ pxor xmm1,xmm9=0D
+ add ecx,edx=0D
+ add ebx,DWORD[20+rsp]=0D
+ and edi,ebp=0D
+ xor ebp,eax=0D
+ ror edx,7=0D
+ movdqa xmm9,xmm1=0D
+ mov esi,ecx=0D
+ xor edi,ebp=0D
+ movdqa XMMWORD[rsp],xmm10=0D
+ rol ecx,5=0D
+ add ebx,edi=0D
+ xor esi,edx=0D
+ pslld xmm1,2=0D
+ xor edx,ebp=0D
+ add ebx,ecx=0D
+ psrld xmm9,30=0D
+ add eax,DWORD[24+rsp]=0D
+ and esi,edx=0D
+ xor edx,ebp=0D
+ por xmm1,xmm9=0D
+ ror ecx,7=0D
+ mov edi,ebx=0D
+ xor esi,edx=0D
+ rol ebx,5=0D
+ pshufd xmm10,xmm0,238=0D
+ add eax,esi=0D
+ xor edi,ecx=0D
+ xor ecx,edx=0D
+ add eax,ebx=0D
+ add ebp,DWORD[28+rsp]=0D
+ and edi,ecx=0D
+ xor ecx,edx=0D
+ ror ebx,7=0D
+ mov esi,eax=0D
+ xor edi,ecx=0D
+ rol eax,5=0D
+ add ebp,edi=0D
+ xor esi,ebx=0D
+ xor ebx,ecx=0D
+ add ebp,eax=0D
+ pxor xmm2,xmm6=0D
+ add edx,DW
This message has been truncated.

Join devel@edk2.groups.io to automatically receive all group messages.