summaryrefslogtreecommitdiffstats
path: root/CryptoPkg/Library/OpensslLib/IA32/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'CryptoPkg/Library/OpensslLib/IA32/crypto')
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm3212
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm651
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm700
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm1394
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm3364
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm579
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm433
7 files changed, 0 insertions, 10333 deletions
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm
deleted file mode 100644
index e0b5058273..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm
+++ /dev/null
@@ -1,3212 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/aes/asm/aesni-x86.pl
-;
-; Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-;extern _OPENSSL_ia32cap_P
-global _aesni_encrypt
-align 16
-_aesni_encrypt:
-L$_aesni_encrypt_begin:
- mov eax,DWORD [4+esp]
- mov edx,DWORD [12+esp]
- movups xmm2,[eax]
- mov ecx,DWORD [240+edx]
- mov eax,DWORD [8+esp]
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$000enc1_loop_1:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$000enc1_loop_1
-db 102,15,56,221,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- movups [eax],xmm2
- pxor xmm2,xmm2
- ret
-global _aesni_decrypt
-align 16
-_aesni_decrypt:
-L$_aesni_decrypt_begin:
- mov eax,DWORD [4+esp]
- mov edx,DWORD [12+esp]
- movups xmm2,[eax]
- mov ecx,DWORD [240+edx]
- mov eax,DWORD [8+esp]
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$001dec1_loop_2:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$001dec1_loop_2
-db 102,15,56,223,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- movups [eax],xmm2
- pxor xmm2,xmm2
- ret
-align 16
-__aesni_encrypt2:
- movups xmm0,[edx]
- shl ecx,4
- movups xmm1,[16+edx]
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- movups xmm0,[32+edx]
- lea edx,[32+ecx*1+edx]
- neg ecx
- add ecx,16
-L$002enc2_loop:
-db 102,15,56,220,209
-db 102,15,56,220,217
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,220,208
-db 102,15,56,220,216
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$002enc2_loop
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,221,208
-db 102,15,56,221,216
- ret
-align 16
-__aesni_decrypt2:
- movups xmm0,[edx]
- shl ecx,4
- movups xmm1,[16+edx]
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- movups xmm0,[32+edx]
- lea edx,[32+ecx*1+edx]
- neg ecx
- add ecx,16
-L$003dec2_loop:
-db 102,15,56,222,209
-db 102,15,56,222,217
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,222,208
-db 102,15,56,222,216
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$003dec2_loop
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,223,208
-db 102,15,56,223,216
- ret
-align 16
-__aesni_encrypt3:
- movups xmm0,[edx]
- shl ecx,4
- movups xmm1,[16+edx]
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
- movups xmm0,[32+edx]
- lea edx,[32+ecx*1+edx]
- neg ecx
- add ecx,16
-L$004enc3_loop:
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,220,208
-db 102,15,56,220,216
-db 102,15,56,220,224
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$004enc3_loop
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
-db 102,15,56,221,208
-db 102,15,56,221,216
-db 102,15,56,221,224
- ret
-align 16
-__aesni_decrypt3:
- movups xmm0,[edx]
- shl ecx,4
- movups xmm1,[16+edx]
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
- movups xmm0,[32+edx]
- lea edx,[32+ecx*1+edx]
- neg ecx
- add ecx,16
-L$005dec3_loop:
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,222,208
-db 102,15,56,222,216
-db 102,15,56,222,224
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$005dec3_loop
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
-db 102,15,56,223,208
-db 102,15,56,223,216
-db 102,15,56,223,224
- ret
-align 16
-__aesni_encrypt4:
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- shl ecx,4
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
- pxor xmm5,xmm0
- movups xmm0,[32+edx]
- lea edx,[32+ecx*1+edx]
- neg ecx
-db 15,31,64,0
- add ecx,16
-L$006enc4_loop:
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
-db 102,15,56,220,233
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,220,208
-db 102,15,56,220,216
-db 102,15,56,220,224
-db 102,15,56,220,232
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$006enc4_loop
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
-db 102,15,56,220,233
-db 102,15,56,221,208
-db 102,15,56,221,216
-db 102,15,56,221,224
-db 102,15,56,221,232
- ret
-align 16
-__aesni_decrypt4:
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- shl ecx,4
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
- pxor xmm5,xmm0
- movups xmm0,[32+edx]
- lea edx,[32+ecx*1+edx]
- neg ecx
-db 15,31,64,0
- add ecx,16
-L$007dec4_loop:
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
-db 102,15,56,222,233
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,222,208
-db 102,15,56,222,216
-db 102,15,56,222,224
-db 102,15,56,222,232
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$007dec4_loop
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
-db 102,15,56,222,233
-db 102,15,56,223,208
-db 102,15,56,223,216
-db 102,15,56,223,224
-db 102,15,56,223,232
- ret
-align 16
-__aesni_encrypt6:
- movups xmm0,[edx]
- shl ecx,4
- movups xmm1,[16+edx]
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
-db 102,15,56,220,209
- pxor xmm5,xmm0
- pxor xmm6,xmm0
-db 102,15,56,220,217
- lea edx,[32+ecx*1+edx]
- neg ecx
-db 102,15,56,220,225
- pxor xmm7,xmm0
- movups xmm0,[ecx*1+edx]
- add ecx,16
- jmp NEAR L$008_aesni_encrypt6_inner
-align 16
-L$009enc6_loop:
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
-L$008_aesni_encrypt6_inner:
-db 102,15,56,220,233
-db 102,15,56,220,241
-db 102,15,56,220,249
-L$_aesni_encrypt6_enter:
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,220,208
-db 102,15,56,220,216
-db 102,15,56,220,224
-db 102,15,56,220,232
-db 102,15,56,220,240
-db 102,15,56,220,248
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$009enc6_loop
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
-db 102,15,56,220,233
-db 102,15,56,220,241
-db 102,15,56,220,249
-db 102,15,56,221,208
-db 102,15,56,221,216
-db 102,15,56,221,224
-db 102,15,56,221,232
-db 102,15,56,221,240
-db 102,15,56,221,248
- ret
-align 16
-__aesni_decrypt6:
- movups xmm0,[edx]
- shl ecx,4
- movups xmm1,[16+edx]
- xorps xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
-db 102,15,56,222,209
- pxor xmm5,xmm0
- pxor xmm6,xmm0
-db 102,15,56,222,217
- lea edx,[32+ecx*1+edx]
- neg ecx
-db 102,15,56,222,225
- pxor xmm7,xmm0
- movups xmm0,[ecx*1+edx]
- add ecx,16
- jmp NEAR L$010_aesni_decrypt6_inner
-align 16
-L$011dec6_loop:
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
-L$010_aesni_decrypt6_inner:
-db 102,15,56,222,233
-db 102,15,56,222,241
-db 102,15,56,222,249
-L$_aesni_decrypt6_enter:
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,222,208
-db 102,15,56,222,216
-db 102,15,56,222,224
-db 102,15,56,222,232
-db 102,15,56,222,240
-db 102,15,56,222,248
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$011dec6_loop
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
-db 102,15,56,222,233
-db 102,15,56,222,241
-db 102,15,56,222,249
-db 102,15,56,223,208
-db 102,15,56,223,216
-db 102,15,56,223,224
-db 102,15,56,223,232
-db 102,15,56,223,240
-db 102,15,56,223,248
- ret
-global _aesni_ecb_encrypt
-align 16
-_aesni_ecb_encrypt:
-L$_aesni_ecb_encrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- mov ebx,DWORD [36+esp]
- and eax,-16
- jz NEAR L$012ecb_ret
- mov ecx,DWORD [240+edx]
- test ebx,ebx
- jz NEAR L$013ecb_decrypt
- mov ebp,edx
- mov ebx,ecx
- cmp eax,96
- jb NEAR L$014ecb_enc_tail
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- movdqu xmm6,[64+esi]
- movdqu xmm7,[80+esi]
- lea esi,[96+esi]
- sub eax,96
- jmp NEAR L$015ecb_enc_loop6_enter
-align 16
-L$016ecb_enc_loop6:
- movups [edi],xmm2
- movdqu xmm2,[esi]
- movups [16+edi],xmm3
- movdqu xmm3,[16+esi]
- movups [32+edi],xmm4
- movdqu xmm4,[32+esi]
- movups [48+edi],xmm5
- movdqu xmm5,[48+esi]
- movups [64+edi],xmm6
- movdqu xmm6,[64+esi]
- movups [80+edi],xmm7
- lea edi,[96+edi]
- movdqu xmm7,[80+esi]
- lea esi,[96+esi]
-L$015ecb_enc_loop6_enter:
- call __aesni_encrypt6
- mov edx,ebp
- mov ecx,ebx
- sub eax,96
- jnc NEAR L$016ecb_enc_loop6
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- movups [64+edi],xmm6
- movups [80+edi],xmm7
- lea edi,[96+edi]
- add eax,96
- jz NEAR L$012ecb_ret
-L$014ecb_enc_tail:
- movups xmm2,[esi]
- cmp eax,32
- jb NEAR L$017ecb_enc_one
- movups xmm3,[16+esi]
- je NEAR L$018ecb_enc_two
- movups xmm4,[32+esi]
- cmp eax,64
- jb NEAR L$019ecb_enc_three
- movups xmm5,[48+esi]
- je NEAR L$020ecb_enc_four
- movups xmm6,[64+esi]
- xorps xmm7,xmm7
- call __aesni_encrypt6
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- movups [64+edi],xmm6
- jmp NEAR L$012ecb_ret
-align 16
-L$017ecb_enc_one:
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$021enc1_loop_3:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$021enc1_loop_3
-db 102,15,56,221,209
- movups [edi],xmm2
- jmp NEAR L$012ecb_ret
-align 16
-L$018ecb_enc_two:
- call __aesni_encrypt2
- movups [edi],xmm2
- movups [16+edi],xmm3
- jmp NEAR L$012ecb_ret
-align 16
-L$019ecb_enc_three:
- call __aesni_encrypt3
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- jmp NEAR L$012ecb_ret
-align 16
-L$020ecb_enc_four:
- call __aesni_encrypt4
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- jmp NEAR L$012ecb_ret
-align 16
-L$013ecb_decrypt:
- mov ebp,edx
- mov ebx,ecx
- cmp eax,96
- jb NEAR L$022ecb_dec_tail
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- movdqu xmm6,[64+esi]
- movdqu xmm7,[80+esi]
- lea esi,[96+esi]
- sub eax,96
- jmp NEAR L$023ecb_dec_loop6_enter
-align 16
-L$024ecb_dec_loop6:
- movups [edi],xmm2
- movdqu xmm2,[esi]
- movups [16+edi],xmm3
- movdqu xmm3,[16+esi]
- movups [32+edi],xmm4
- movdqu xmm4,[32+esi]
- movups [48+edi],xmm5
- movdqu xmm5,[48+esi]
- movups [64+edi],xmm6
- movdqu xmm6,[64+esi]
- movups [80+edi],xmm7
- lea edi,[96+edi]
- movdqu xmm7,[80+esi]
- lea esi,[96+esi]
-L$023ecb_dec_loop6_enter:
- call __aesni_decrypt6
- mov edx,ebp
- mov ecx,ebx
- sub eax,96
- jnc NEAR L$024ecb_dec_loop6
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- movups [64+edi],xmm6
- movups [80+edi],xmm7
- lea edi,[96+edi]
- add eax,96
- jz NEAR L$012ecb_ret
-L$022ecb_dec_tail:
- movups xmm2,[esi]
- cmp eax,32
- jb NEAR L$025ecb_dec_one
- movups xmm3,[16+esi]
- je NEAR L$026ecb_dec_two
- movups xmm4,[32+esi]
- cmp eax,64
- jb NEAR L$027ecb_dec_three
- movups xmm5,[48+esi]
- je NEAR L$028ecb_dec_four
- movups xmm6,[64+esi]
- xorps xmm7,xmm7
- call __aesni_decrypt6
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- movups [64+edi],xmm6
- jmp NEAR L$012ecb_ret
-align 16
-L$025ecb_dec_one:
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$029dec1_loop_4:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$029dec1_loop_4
-db 102,15,56,223,209
- movups [edi],xmm2
- jmp NEAR L$012ecb_ret
-align 16
-L$026ecb_dec_two:
- call __aesni_decrypt2
- movups [edi],xmm2
- movups [16+edi],xmm3
- jmp NEAR L$012ecb_ret
-align 16
-L$027ecb_dec_three:
- call __aesni_decrypt3
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- jmp NEAR L$012ecb_ret
-align 16
-L$028ecb_dec_four:
- call __aesni_decrypt4
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
-L$012ecb_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pxor xmm7,xmm7
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_ccm64_encrypt_blocks
-align 16
-_aesni_ccm64_encrypt_blocks:
-L$_aesni_ccm64_encrypt_blocks_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- mov ebx,DWORD [36+esp]
- mov ecx,DWORD [40+esp]
- mov ebp,esp
- sub esp,60
- and esp,-16
- mov DWORD [48+esp],ebp
- movdqu xmm7,[ebx]
- movdqu xmm3,[ecx]
- mov ecx,DWORD [240+edx]
- mov DWORD [esp],202182159
- mov DWORD [4+esp],134810123
- mov DWORD [8+esp],67438087
- mov DWORD [12+esp],66051
- mov ebx,1
- xor ebp,ebp
- mov DWORD [16+esp],ebx
- mov DWORD [20+esp],ebp
- mov DWORD [24+esp],ebp
- mov DWORD [28+esp],ebp
- shl ecx,4
- mov ebx,16
- lea ebp,[edx]
- movdqa xmm5,[esp]
- movdqa xmm2,xmm7
- lea edx,[32+ecx*1+edx]
- sub ebx,ecx
-db 102,15,56,0,253
-L$030ccm64_enc_outer:
- movups xmm0,[ebp]
- mov ecx,ebx
- movups xmm6,[esi]
- xorps xmm2,xmm0
- movups xmm1,[16+ebp]
- xorps xmm0,xmm6
- xorps xmm3,xmm0
- movups xmm0,[32+ebp]
-L$031ccm64_enc2_loop:
-db 102,15,56,220,209
-db 102,15,56,220,217
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,220,208
-db 102,15,56,220,216
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$031ccm64_enc2_loop
-db 102,15,56,220,209
-db 102,15,56,220,217
- paddq xmm7,[16+esp]
- dec eax
-db 102,15,56,221,208
-db 102,15,56,221,216
- lea esi,[16+esi]
- xorps xmm6,xmm2
- movdqa xmm2,xmm7
- movups [edi],xmm6
-db 102,15,56,0,213
- lea edi,[16+edi]
- jnz NEAR L$030ccm64_enc_outer
- mov esp,DWORD [48+esp]
- mov edi,DWORD [40+esp]
- movups [edi],xmm3
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pxor xmm7,xmm7
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_ccm64_decrypt_blocks
-align 16
-_aesni_ccm64_decrypt_blocks:
-L$_aesni_ccm64_decrypt_blocks_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- mov ebx,DWORD [36+esp]
- mov ecx,DWORD [40+esp]
- mov ebp,esp
- sub esp,60
- and esp,-16
- mov DWORD [48+esp],ebp
- movdqu xmm7,[ebx]
- movdqu xmm3,[ecx]
- mov ecx,DWORD [240+edx]
- mov DWORD [esp],202182159
- mov DWORD [4+esp],134810123
- mov DWORD [8+esp],67438087
- mov DWORD [12+esp],66051
- mov ebx,1
- xor ebp,ebp
- mov DWORD [16+esp],ebx
- mov DWORD [20+esp],ebp
- mov DWORD [24+esp],ebp
- mov DWORD [28+esp],ebp
- movdqa xmm5,[esp]
- movdqa xmm2,xmm7
- mov ebp,edx
- mov ebx,ecx
-db 102,15,56,0,253
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$032enc1_loop_5:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$032enc1_loop_5
-db 102,15,56,221,209
- shl ebx,4
- mov ecx,16
- movups xmm6,[esi]
- paddq xmm7,[16+esp]
- lea esi,[16+esi]
- sub ecx,ebx
- lea edx,[32+ebx*1+ebp]
- mov ebx,ecx
- jmp NEAR L$033ccm64_dec_outer
-align 16
-L$033ccm64_dec_outer:
- xorps xmm6,xmm2
- movdqa xmm2,xmm7
- movups [edi],xmm6
- lea edi,[16+edi]
-db 102,15,56,0,213
- sub eax,1
- jz NEAR L$034ccm64_dec_break
- movups xmm0,[ebp]
- mov ecx,ebx
- movups xmm1,[16+ebp]
- xorps xmm6,xmm0
- xorps xmm2,xmm0
- xorps xmm3,xmm6
- movups xmm0,[32+ebp]
-L$035ccm64_dec2_loop:
-db 102,15,56,220,209
-db 102,15,56,220,217
- movups xmm1,[ecx*1+edx]
- add ecx,32
-db 102,15,56,220,208
-db 102,15,56,220,216
- movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$035ccm64_dec2_loop
- movups xmm6,[esi]
- paddq xmm7,[16+esp]
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,221,208
-db 102,15,56,221,216
- lea esi,[16+esi]
- jmp NEAR L$033ccm64_dec_outer
-align 16
-L$034ccm64_dec_break:
- mov ecx,DWORD [240+ebp]
- mov edx,ebp
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- xorps xmm6,xmm0
- lea edx,[32+edx]
- xorps xmm3,xmm6
-L$036enc1_loop_6:
-db 102,15,56,220,217
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$036enc1_loop_6
-db 102,15,56,221,217
- mov esp,DWORD [48+esp]
- mov edi,DWORD [40+esp]
- movups [edi],xmm3
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pxor xmm7,xmm7
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_ctr32_encrypt_blocks
-align 16
-_aesni_ctr32_encrypt_blocks:
-L$_aesni_ctr32_encrypt_blocks_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- mov ebx,DWORD [36+esp]
- mov ebp,esp
- sub esp,88
- and esp,-16
- mov DWORD [80+esp],ebp
- cmp eax,1
- je NEAR L$037ctr32_one_shortcut
- movdqu xmm7,[ebx]
- mov DWORD [esp],202182159
- mov DWORD [4+esp],134810123
- mov DWORD [8+esp],67438087
- mov DWORD [12+esp],66051
- mov ecx,6
- xor ebp,ebp
- mov DWORD [16+esp],ecx
- mov DWORD [20+esp],ecx
- mov DWORD [24+esp],ecx
- mov DWORD [28+esp],ebp
-db 102,15,58,22,251,3
-db 102,15,58,34,253,3
- mov ecx,DWORD [240+edx]
- bswap ebx
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- movdqa xmm2,[esp]
-db 102,15,58,34,195,0
- lea ebp,[3+ebx]
-db 102,15,58,34,205,0
- inc ebx
-db 102,15,58,34,195,1
- inc ebp
-db 102,15,58,34,205,1
- inc ebx
-db 102,15,58,34,195,2
- inc ebp
-db 102,15,58,34,205,2
- movdqa [48+esp],xmm0
-db 102,15,56,0,194
- movdqu xmm6,[edx]
- movdqa [64+esp],xmm1
-db 102,15,56,0,202
- pshufd xmm2,xmm0,192
- pshufd xmm3,xmm0,128
- cmp eax,6
- jb NEAR L$038ctr32_tail
- pxor xmm7,xmm6
- shl ecx,4
- mov ebx,16
- movdqa [32+esp],xmm7
- mov ebp,edx
- sub ebx,ecx
- lea edx,[32+ecx*1+edx]
- sub eax,6
- jmp NEAR L$039ctr32_loop6
-align 16
-L$039ctr32_loop6:
- pshufd xmm4,xmm0,64
- movdqa xmm0,[32+esp]
- pshufd xmm5,xmm1,192
- pxor xmm2,xmm0
- pshufd xmm6,xmm1,128
- pxor xmm3,xmm0
- pshufd xmm7,xmm1,64
- movups xmm1,[16+ebp]
- pxor xmm4,xmm0
- pxor xmm5,xmm0
-db 102,15,56,220,209
- pxor xmm6,xmm0
- pxor xmm7,xmm0
-db 102,15,56,220,217
- movups xmm0,[32+ebp]
- mov ecx,ebx
-db 102,15,56,220,225
-db 102,15,56,220,233
-db 102,15,56,220,241
-db 102,15,56,220,249
- call L$_aesni_encrypt6_enter
- movups xmm1,[esi]
- movups xmm0,[16+esi]
- xorps xmm2,xmm1
- movups xmm1,[32+esi]
- xorps xmm3,xmm0
- movups [edi],xmm2
- movdqa xmm0,[16+esp]
- xorps xmm4,xmm1
- movdqa xmm1,[64+esp]
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- paddd xmm1,xmm0
- paddd xmm0,[48+esp]
- movdqa xmm2,[esp]
- movups xmm3,[48+esi]
- movups xmm4,[64+esi]
- xorps xmm5,xmm3
- movups xmm3,[80+esi]
- lea esi,[96+esi]
- movdqa [48+esp],xmm0
-db 102,15,56,0,194
- xorps xmm6,xmm4
- movups [48+edi],xmm5
- xorps xmm7,xmm3
- movdqa [64+esp],xmm1
-db 102,15,56,0,202
- movups [64+edi],xmm6
- pshufd xmm2,xmm0,192
- movups [80+edi],xmm7
- lea edi,[96+edi]
- pshufd xmm3,xmm0,128
- sub eax,6
- jnc NEAR L$039ctr32_loop6
- add eax,6
- jz NEAR L$040ctr32_ret
- movdqu xmm7,[ebp]
- mov edx,ebp
- pxor xmm7,[32+esp]
- mov ecx,DWORD [240+ebp]
-L$038ctr32_tail:
- por xmm2,xmm7
- cmp eax,2
- jb NEAR L$041ctr32_one
- pshufd xmm4,xmm0,64
- por xmm3,xmm7
- je NEAR L$042ctr32_two
- pshufd xmm5,xmm1,192
- por xmm4,xmm7
- cmp eax,4
- jb NEAR L$043ctr32_three
- pshufd xmm6,xmm1,128
- por xmm5,xmm7
- je NEAR L$044ctr32_four
- por xmm6,xmm7
- call __aesni_encrypt6
- movups xmm1,[esi]
- movups xmm0,[16+esi]
- xorps xmm2,xmm1
- movups xmm1,[32+esi]
- xorps xmm3,xmm0
- movups xmm0,[48+esi]
- xorps xmm4,xmm1
- movups xmm1,[64+esi]
- xorps xmm5,xmm0
- movups [edi],xmm2
- xorps xmm6,xmm1
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- movups [64+edi],xmm6
- jmp NEAR L$040ctr32_ret
-align 16
-L$037ctr32_one_shortcut:
- movups xmm2,[ebx]
- mov ecx,DWORD [240+edx]
-L$041ctr32_one:
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$045enc1_loop_7:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$045enc1_loop_7
-db 102,15,56,221,209
- movups xmm6,[esi]
- xorps xmm6,xmm2
- movups [edi],xmm6
- jmp NEAR L$040ctr32_ret
-align 16
-L$042ctr32_two:
- call __aesni_encrypt2
- movups xmm5,[esi]
- movups xmm6,[16+esi]
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- movups [edi],xmm2
- movups [16+edi],xmm3
- jmp NEAR L$040ctr32_ret
-align 16
-L$043ctr32_three:
- call __aesni_encrypt3
- movups xmm5,[esi]
- movups xmm6,[16+esi]
- xorps xmm2,xmm5
- movups xmm7,[32+esi]
- xorps xmm3,xmm6
- movups [edi],xmm2
- xorps xmm4,xmm7
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- jmp NEAR L$040ctr32_ret
-align 16
-L$044ctr32_four:
- call __aesni_encrypt4
- movups xmm6,[esi]
- movups xmm7,[16+esi]
- movups xmm1,[32+esi]
- xorps xmm2,xmm6
- movups xmm0,[48+esi]
- xorps xmm3,xmm7
- movups [edi],xmm2
- xorps xmm4,xmm1
- movups [16+edi],xmm3
- xorps xmm5,xmm0
- movups [32+edi],xmm4
- movups [48+edi],xmm5
-L$040ctr32_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- movdqa [32+esp],xmm0
- pxor xmm5,xmm5
- movdqa [48+esp],xmm0
- pxor xmm6,xmm6
- movdqa [64+esp],xmm0
- pxor xmm7,xmm7
- mov esp,DWORD [80+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_xts_encrypt
-align 16
-_aesni_xts_encrypt:
-L$_aesni_xts_encrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov edx,DWORD [36+esp]
- mov esi,DWORD [40+esp]
- mov ecx,DWORD [240+edx]
- movups xmm2,[esi]
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$046enc1_loop_8:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$046enc1_loop_8
-db 102,15,56,221,209
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- mov ebp,esp
- sub esp,120
- mov ecx,DWORD [240+edx]
- and esp,-16
- mov DWORD [96+esp],135
- mov DWORD [100+esp],0
- mov DWORD [104+esp],1
- mov DWORD [108+esp],0
- mov DWORD [112+esp],eax
- mov DWORD [116+esp],ebp
- movdqa xmm1,xmm2
- pxor xmm0,xmm0
- movdqa xmm3,[96+esp]
- pcmpgtd xmm0,xmm1
- and eax,-16
- mov ebp,edx
- mov ebx,ecx
- sub eax,96
- jc NEAR L$047xts_enc_short
- shl ecx,4
- mov ebx,16
- sub ebx,ecx
- lea edx,[32+ecx*1+edx]
- jmp NEAR L$048xts_enc_loop6
-align 16
-L$048xts_enc_loop6:
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [16+esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [32+esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [48+esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm7,xmm0,19
- movdqa [64+esp],xmm1
- paddq xmm1,xmm1
- movups xmm0,[ebp]
- pand xmm7,xmm3
- movups xmm2,[esi]
- pxor xmm7,xmm1
- mov ecx,ebx
- movdqu xmm3,[16+esi]
- xorps xmm2,xmm0
- movdqu xmm4,[32+esi]
- pxor xmm3,xmm0
- movdqu xmm5,[48+esi]
- pxor xmm4,xmm0
- movdqu xmm6,[64+esi]
- pxor xmm5,xmm0
- movdqu xmm1,[80+esi]
- pxor xmm6,xmm0
- lea esi,[96+esi]
- pxor xmm2,[esp]
- movdqa [80+esp],xmm7
- pxor xmm7,xmm1
- movups xmm1,[16+ebp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
-db 102,15,56,220,209
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
-db 102,15,56,220,217
- pxor xmm7,xmm0
- movups xmm0,[32+ebp]
-db 102,15,56,220,225
-db 102,15,56,220,233
-db 102,15,56,220,241
-db 102,15,56,220,249
- call L$_aesni_encrypt6_enter
- movdqa xmm1,[80+esp]
- pxor xmm0,xmm0
- xorps xmm2,[esp]
- pcmpgtd xmm0,xmm1
- xorps xmm3,[16+esp]
- movups [edi],xmm2
- xorps xmm4,[32+esp]
- movups [16+edi],xmm3
- xorps xmm5,[48+esp]
- movups [32+edi],xmm4
- xorps xmm6,[64+esp]
- movups [48+edi],xmm5
- xorps xmm7,xmm1
- movups [64+edi],xmm6
- pshufd xmm2,xmm0,19
- movups [80+edi],xmm7
- lea edi,[96+edi]
- movdqa xmm3,[96+esp]
- pxor xmm0,xmm0
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- sub eax,96
- jnc NEAR L$048xts_enc_loop6
- mov ecx,DWORD [240+ebp]
- mov edx,ebp
- mov ebx,ecx
-L$047xts_enc_short:
- add eax,96
- jz NEAR L$049xts_enc_done6x
- movdqa xmm5,xmm1
- cmp eax,32
- jb NEAR L$050xts_enc_one
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- je NEAR L$051xts_enc_two
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa xmm6,xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- cmp eax,64
- jb NEAR L$052xts_enc_three
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa xmm7,xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- movdqa [esp],xmm5
- movdqa [16+esp],xmm6
- je NEAR L$053xts_enc_four
- movdqa [32+esp],xmm7
- pshufd xmm7,xmm0,19
- movdqa [48+esp],xmm1
- paddq xmm1,xmm1
- pand xmm7,xmm3
- pxor xmm7,xmm1
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- pxor xmm2,[esp]
- movdqu xmm5,[48+esi]
- pxor xmm3,[16+esp]
- movdqu xmm6,[64+esi]
- pxor xmm4,[32+esp]
- lea esi,[80+esi]
- pxor xmm5,[48+esp]
- movdqa [64+esp],xmm7
- pxor xmm6,xmm7
- call __aesni_encrypt6
- movaps xmm1,[64+esp]
- xorps xmm2,[esp]
- xorps xmm3,[16+esp]
- xorps xmm4,[32+esp]
- movups [edi],xmm2
- xorps xmm5,[48+esp]
- movups [16+edi],xmm3
- xorps xmm6,xmm1
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- movups [64+edi],xmm6
- lea edi,[80+edi]
- jmp NEAR L$054xts_enc_done
-align 16
-L$050xts_enc_one:
- movups xmm2,[esi]
- lea esi,[16+esi]
- xorps xmm2,xmm5
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$055enc1_loop_9:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$055enc1_loop_9
-db 102,15,56,221,209
- xorps xmm2,xmm5
- movups [edi],xmm2
- lea edi,[16+edi]
- movdqa xmm1,xmm5
- jmp NEAR L$054xts_enc_done
-align 16
-L$051xts_enc_two:
- movaps xmm6,xmm1
- movups xmm2,[esi]
- movups xmm3,[16+esi]
- lea esi,[32+esi]
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- call __aesni_encrypt2
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- movups [edi],xmm2
- movups [16+edi],xmm3
- lea edi,[32+edi]
- movdqa xmm1,xmm6
- jmp NEAR L$054xts_enc_done
-align 16
-L$052xts_enc_three:
- movaps xmm7,xmm1
- movups xmm2,[esi]
- movups xmm3,[16+esi]
- movups xmm4,[32+esi]
- lea esi,[48+esi]
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- xorps xmm4,xmm7
- call __aesni_encrypt3
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- xorps xmm4,xmm7
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- lea edi,[48+edi]
- movdqa xmm1,xmm7
- jmp NEAR L$054xts_enc_done
-align 16
-L$053xts_enc_four:
- movaps xmm6,xmm1
- movups xmm2,[esi]
- movups xmm3,[16+esi]
- movups xmm4,[32+esi]
- xorps xmm2,[esp]
- movups xmm5,[48+esi]
- lea esi,[64+esi]
- xorps xmm3,[16+esp]
- xorps xmm4,xmm7
- xorps xmm5,xmm6
- call __aesni_encrypt4
- xorps xmm2,[esp]
- xorps xmm3,[16+esp]
- xorps xmm4,xmm7
- movups [edi],xmm2
- xorps xmm5,xmm6
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- lea edi,[64+edi]
- movdqa xmm1,xmm6
- jmp NEAR L$054xts_enc_done
-align 16
-L$049xts_enc_done6x:
- mov eax,DWORD [112+esp]
- and eax,15
- jz NEAR L$056xts_enc_ret
- movdqa xmm5,xmm1
- mov DWORD [112+esp],eax
- jmp NEAR L$057xts_enc_steal
-align 16
-L$054xts_enc_done:
- mov eax,DWORD [112+esp]
- pxor xmm0,xmm0
- and eax,15
- jz NEAR L$056xts_enc_ret
- pcmpgtd xmm0,xmm1
- mov DWORD [112+esp],eax
- pshufd xmm5,xmm0,19
- paddq xmm1,xmm1
- pand xmm5,[96+esp]
- pxor xmm5,xmm1
-L$057xts_enc_steal:
- movzx ecx,BYTE [esi]
- movzx edx,BYTE [edi-16]
- lea esi,[1+esi]
- mov BYTE [edi-16],cl
- mov BYTE [edi],dl
- lea edi,[1+edi]
- sub eax,1
- jnz NEAR L$057xts_enc_steal
- sub edi,DWORD [112+esp]
- mov edx,ebp
- mov ecx,ebx
- movups xmm2,[edi-16]
- xorps xmm2,xmm5
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$058enc1_loop_10:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$058enc1_loop_10
-db 102,15,56,221,209
- xorps xmm2,xmm5
- movups [edi-16],xmm2
-L$056xts_enc_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- movdqa [esp],xmm0
- pxor xmm3,xmm3
- movdqa [16+esp],xmm0
- pxor xmm4,xmm4
- movdqa [32+esp],xmm0
- pxor xmm5,xmm5
- movdqa [48+esp],xmm0
- pxor xmm6,xmm6
- movdqa [64+esp],xmm0
- pxor xmm7,xmm7
- movdqa [80+esp],xmm0
- mov esp,DWORD [116+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_xts_decrypt
-align 16
-_aesni_xts_decrypt:
-L$_aesni_xts_decrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov edx,DWORD [36+esp]
- mov esi,DWORD [40+esp]
- mov ecx,DWORD [240+edx]
- movups xmm2,[esi]
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$059enc1_loop_11:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$059enc1_loop_11
-db 102,15,56,221,209
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- mov ebp,esp
- sub esp,120
- and esp,-16
- xor ebx,ebx
- test eax,15
- setnz bl
- shl ebx,4
- sub eax,ebx
- mov DWORD [96+esp],135
- mov DWORD [100+esp],0
- mov DWORD [104+esp],1
- mov DWORD [108+esp],0
- mov DWORD [112+esp],eax
- mov DWORD [116+esp],ebp
- mov ecx,DWORD [240+edx]
- mov ebp,edx
- mov ebx,ecx
- movdqa xmm1,xmm2
- pxor xmm0,xmm0
- movdqa xmm3,[96+esp]
- pcmpgtd xmm0,xmm1
- and eax,-16
- sub eax,96
- jc NEAR L$060xts_dec_short
- shl ecx,4
- mov ebx,16
- sub ebx,ecx
- lea edx,[32+ecx*1+edx]
- jmp NEAR L$061xts_dec_loop6
-align 16
-L$061xts_dec_loop6:
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [16+esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [32+esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa [48+esp],xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- pshufd xmm7,xmm0,19
- movdqa [64+esp],xmm1
- paddq xmm1,xmm1
- movups xmm0,[ebp]
- pand xmm7,xmm3
- movups xmm2,[esi]
- pxor xmm7,xmm1
- mov ecx,ebx
- movdqu xmm3,[16+esi]
- xorps xmm2,xmm0
- movdqu xmm4,[32+esi]
- pxor xmm3,xmm0
- movdqu xmm5,[48+esi]
- pxor xmm4,xmm0
- movdqu xmm6,[64+esi]
- pxor xmm5,xmm0
- movdqu xmm1,[80+esi]
- pxor xmm6,xmm0
- lea esi,[96+esi]
- pxor xmm2,[esp]
- movdqa [80+esp],xmm7
- pxor xmm7,xmm1
- movups xmm1,[16+ebp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
-db 102,15,56,222,209
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
-db 102,15,56,222,217
- pxor xmm7,xmm0
- movups xmm0,[32+ebp]
-db 102,15,56,222,225
-db 102,15,56,222,233
-db 102,15,56,222,241
-db 102,15,56,222,249
- call L$_aesni_decrypt6_enter
- movdqa xmm1,[80+esp]
- pxor xmm0,xmm0
- xorps xmm2,[esp]
- pcmpgtd xmm0,xmm1
- xorps xmm3,[16+esp]
- movups [edi],xmm2
- xorps xmm4,[32+esp]
- movups [16+edi],xmm3
- xorps xmm5,[48+esp]
- movups [32+edi],xmm4
- xorps xmm6,[64+esp]
- movups [48+edi],xmm5
- xorps xmm7,xmm1
- movups [64+edi],xmm6
- pshufd xmm2,xmm0,19
- movups [80+edi],xmm7
- lea edi,[96+edi]
- movdqa xmm3,[96+esp]
- pxor xmm0,xmm0
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- sub eax,96
- jnc NEAR L$061xts_dec_loop6
- mov ecx,DWORD [240+ebp]
- mov edx,ebp
- mov ebx,ecx
-L$060xts_dec_short:
- add eax,96
- jz NEAR L$062xts_dec_done6x
- movdqa xmm5,xmm1
- cmp eax,32
- jb NEAR L$063xts_dec_one
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- je NEAR L$064xts_dec_two
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa xmm6,xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- cmp eax,64
- jb NEAR L$065xts_dec_three
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa xmm7,xmm1
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
- movdqa [esp],xmm5
- movdqa [16+esp],xmm6
- je NEAR L$066xts_dec_four
- movdqa [32+esp],xmm7
- pshufd xmm7,xmm0,19
- movdqa [48+esp],xmm1
- paddq xmm1,xmm1
- pand xmm7,xmm3
- pxor xmm7,xmm1
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- pxor xmm2,[esp]
- movdqu xmm5,[48+esi]
- pxor xmm3,[16+esp]
- movdqu xmm6,[64+esi]
- pxor xmm4,[32+esp]
- lea esi,[80+esi]
- pxor xmm5,[48+esp]
- movdqa [64+esp],xmm7
- pxor xmm6,xmm7
- call __aesni_decrypt6
- movaps xmm1,[64+esp]
- xorps xmm2,[esp]
- xorps xmm3,[16+esp]
- xorps xmm4,[32+esp]
- movups [edi],xmm2
- xorps xmm5,[48+esp]
- movups [16+edi],xmm3
- xorps xmm6,xmm1
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- movups [64+edi],xmm6
- lea edi,[80+edi]
- jmp NEAR L$067xts_dec_done
-align 16
-L$063xts_dec_one:
- movups xmm2,[esi]
- lea esi,[16+esi]
- xorps xmm2,xmm5
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$068dec1_loop_12:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$068dec1_loop_12
-db 102,15,56,223,209
- xorps xmm2,xmm5
- movups [edi],xmm2
- lea edi,[16+edi]
- movdqa xmm1,xmm5
- jmp NEAR L$067xts_dec_done
-align 16
-L$064xts_dec_two:
- movaps xmm6,xmm1
- movups xmm2,[esi]
- movups xmm3,[16+esi]
- lea esi,[32+esi]
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- call __aesni_decrypt2
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- movups [edi],xmm2
- movups [16+edi],xmm3
- lea edi,[32+edi]
- movdqa xmm1,xmm6
- jmp NEAR L$067xts_dec_done
-align 16
-L$065xts_dec_three:
- movaps xmm7,xmm1
- movups xmm2,[esi]
- movups xmm3,[16+esi]
- movups xmm4,[32+esi]
- lea esi,[48+esi]
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- xorps xmm4,xmm7
- call __aesni_decrypt3
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- xorps xmm4,xmm7
- movups [edi],xmm2
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- lea edi,[48+edi]
- movdqa xmm1,xmm7
- jmp NEAR L$067xts_dec_done
-align 16
-L$066xts_dec_four:
- movaps xmm6,xmm1
- movups xmm2,[esi]
- movups xmm3,[16+esi]
- movups xmm4,[32+esi]
- xorps xmm2,[esp]
- movups xmm5,[48+esi]
- lea esi,[64+esi]
- xorps xmm3,[16+esp]
- xorps xmm4,xmm7
- xorps xmm5,xmm6
- call __aesni_decrypt4
- xorps xmm2,[esp]
- xorps xmm3,[16+esp]
- xorps xmm4,xmm7
- movups [edi],xmm2
- xorps xmm5,xmm6
- movups [16+edi],xmm3
- movups [32+edi],xmm4
- movups [48+edi],xmm5
- lea edi,[64+edi]
- movdqa xmm1,xmm6
- jmp NEAR L$067xts_dec_done
-align 16
-L$062xts_dec_done6x:
- mov eax,DWORD [112+esp]
- and eax,15
- jz NEAR L$069xts_dec_ret
- mov DWORD [112+esp],eax
- jmp NEAR L$070xts_dec_only_one_more
-align 16
-L$067xts_dec_done:
- mov eax,DWORD [112+esp]
- pxor xmm0,xmm0
- and eax,15
- jz NEAR L$069xts_dec_ret
- pcmpgtd xmm0,xmm1
- mov DWORD [112+esp],eax
- pshufd xmm2,xmm0,19
- pxor xmm0,xmm0
- movdqa xmm3,[96+esp]
- paddq xmm1,xmm1
- pand xmm2,xmm3
- pcmpgtd xmm0,xmm1
- pxor xmm1,xmm2
-L$070xts_dec_only_one_more:
- pshufd xmm5,xmm0,19
- movdqa xmm6,xmm1
- paddq xmm1,xmm1
- pand xmm5,xmm3
- pxor xmm5,xmm1
- mov edx,ebp
- mov ecx,ebx
- movups xmm2,[esi]
- xorps xmm2,xmm5
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$071dec1_loop_13:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$071dec1_loop_13
-db 102,15,56,223,209
- xorps xmm2,xmm5
- movups [edi],xmm2
-L$072xts_dec_steal:
- movzx ecx,BYTE [16+esi]
- movzx edx,BYTE [edi]
- lea esi,[1+esi]
- mov BYTE [edi],cl
- mov BYTE [16+edi],dl
- lea edi,[1+edi]
- sub eax,1
- jnz NEAR L$072xts_dec_steal
- sub edi,DWORD [112+esp]
- mov edx,ebp
- mov ecx,ebx
- movups xmm2,[edi]
- xorps xmm2,xmm6
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$073dec1_loop_14:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$073dec1_loop_14
-db 102,15,56,223,209
- xorps xmm2,xmm6
- movups [edi],xmm2
-L$069xts_dec_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- movdqa [esp],xmm0
- pxor xmm3,xmm3
- movdqa [16+esp],xmm0
- pxor xmm4,xmm4
- movdqa [32+esp],xmm0
- pxor xmm5,xmm5
- movdqa [48+esp],xmm0
- pxor xmm6,xmm6
- movdqa [64+esp],xmm0
- pxor xmm7,xmm7
- movdqa [80+esp],xmm0
- mov esp,DWORD [116+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_ocb_encrypt
-align 16
-_aesni_ocb_encrypt:
-L$_aesni_ocb_encrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov ecx,DWORD [40+esp]
- mov ebx,DWORD [48+esp]
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- movdqu xmm0,[ecx]
- mov ebp,DWORD [36+esp]
- movdqu xmm1,[ebx]
- mov ebx,DWORD [44+esp]
- mov ecx,esp
- sub esp,132
- and esp,-16
- sub edi,esi
- shl eax,4
- lea eax,[eax*1+esi-96]
- mov DWORD [120+esp],edi
- mov DWORD [124+esp],eax
- mov DWORD [128+esp],ecx
- mov ecx,DWORD [240+edx]
- test ebp,1
- jnz NEAR L$074odd
- bsf eax,ebp
- add ebp,1
- shl eax,4
- movdqu xmm7,[eax*1+ebx]
- mov eax,edx
- movdqu xmm2,[esi]
- lea esi,[16+esi]
- pxor xmm7,xmm0
- pxor xmm1,xmm2
- pxor xmm2,xmm7
- movdqa xmm6,xmm1
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$075enc1_loop_15:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$075enc1_loop_15
-db 102,15,56,221,209
- xorps xmm2,xmm7
- movdqa xmm0,xmm7
- movdqa xmm1,xmm6
- movups [esi*1+edi-16],xmm2
- mov ecx,DWORD [240+eax]
- mov edx,eax
- mov eax,DWORD [124+esp]
-L$074odd:
- shl ecx,4
- mov edi,16
- sub edi,ecx
- mov DWORD [112+esp],edx
- lea edx,[32+ecx*1+edx]
- mov DWORD [116+esp],edi
- cmp esi,eax
- ja NEAR L$076short
- jmp NEAR L$077grandloop
-align 32
-L$077grandloop:
- lea ecx,[1+ebp]
- lea eax,[3+ebp]
- lea edi,[5+ebp]
- add ebp,6
- bsf ecx,ecx
- bsf eax,eax
- bsf edi,edi
- shl ecx,4
- shl eax,4
- shl edi,4
- movdqu xmm2,[ebx]
- movdqu xmm3,[ecx*1+ebx]
- mov ecx,DWORD [116+esp]
- movdqa xmm4,xmm2
- movdqu xmm5,[eax*1+ebx]
- movdqa xmm6,xmm2
- movdqu xmm7,[edi*1+ebx]
- pxor xmm2,xmm0
- pxor xmm3,xmm2
- movdqa [esp],xmm2
- pxor xmm4,xmm3
- movdqa [16+esp],xmm3
- pxor xmm5,xmm4
- movdqa [32+esp],xmm4
- pxor xmm6,xmm5
- movdqa [48+esp],xmm5
- pxor xmm7,xmm6
- movdqa [64+esp],xmm6
- movdqa [80+esp],xmm7
- movups xmm0,[ecx*1+edx-48]
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- movdqu xmm6,[64+esi]
- movdqu xmm7,[80+esi]
- lea esi,[96+esi]
- pxor xmm1,xmm2
- pxor xmm2,xmm0
- pxor xmm1,xmm3
- pxor xmm3,xmm0
- pxor xmm1,xmm4
- pxor xmm4,xmm0
- pxor xmm1,xmm5
- pxor xmm5,xmm0
- pxor xmm1,xmm6
- pxor xmm6,xmm0
- pxor xmm1,xmm7
- pxor xmm7,xmm0
- movdqa [96+esp],xmm1
- movups xmm1,[ecx*1+edx-32]
- pxor xmm2,[esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
- pxor xmm7,[80+esp]
- movups xmm0,[ecx*1+edx-16]
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
-db 102,15,56,220,233
-db 102,15,56,220,241
-db 102,15,56,220,249
- mov edi,DWORD [120+esp]
- mov eax,DWORD [124+esp]
- call L$_aesni_encrypt6_enter
- movdqa xmm0,[80+esp]
- pxor xmm2,[esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
- pxor xmm7,xmm0
- movdqa xmm1,[96+esp]
- movdqu [esi*1+edi-96],xmm2
- movdqu [esi*1+edi-80],xmm3
- movdqu [esi*1+edi-64],xmm4
- movdqu [esi*1+edi-48],xmm5
- movdqu [esi*1+edi-32],xmm6
- movdqu [esi*1+edi-16],xmm7
- cmp esi,eax
- jb NEAR L$077grandloop
-L$076short:
- add eax,96
- sub eax,esi
- jz NEAR L$078done
- cmp eax,32
- jb NEAR L$079one
- je NEAR L$080two
- cmp eax,64
- jb NEAR L$081three
- je NEAR L$082four
- lea ecx,[1+ebp]
- lea eax,[3+ebp]
- bsf ecx,ecx
- bsf eax,eax
- shl ecx,4
- shl eax,4
- movdqu xmm2,[ebx]
- movdqu xmm3,[ecx*1+ebx]
- mov ecx,DWORD [116+esp]
- movdqa xmm4,xmm2
- movdqu xmm5,[eax*1+ebx]
- movdqa xmm6,xmm2
- pxor xmm2,xmm0
- pxor xmm3,xmm2
- movdqa [esp],xmm2
- pxor xmm4,xmm3
- movdqa [16+esp],xmm3
- pxor xmm5,xmm4
- movdqa [32+esp],xmm4
- pxor xmm6,xmm5
- movdqa [48+esp],xmm5
- pxor xmm7,xmm6
- movdqa [64+esp],xmm6
- movups xmm0,[ecx*1+edx-48]
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- movdqu xmm6,[64+esi]
- pxor xmm7,xmm7
- pxor xmm1,xmm2
- pxor xmm2,xmm0
- pxor xmm1,xmm3
- pxor xmm3,xmm0
- pxor xmm1,xmm4
- pxor xmm4,xmm0
- pxor xmm1,xmm5
- pxor xmm5,xmm0
- pxor xmm1,xmm6
- pxor xmm6,xmm0
- movdqa [96+esp],xmm1
- movups xmm1,[ecx*1+edx-32]
- pxor xmm2,[esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
- movups xmm0,[ecx*1+edx-16]
-db 102,15,56,220,209
-db 102,15,56,220,217
-db 102,15,56,220,225
-db 102,15,56,220,233
-db 102,15,56,220,241
-db 102,15,56,220,249
- mov edi,DWORD [120+esp]
- call L$_aesni_encrypt6_enter
- movdqa xmm0,[64+esp]
- pxor xmm2,[esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,xmm0
- movdqa xmm1,[96+esp]
- movdqu [esi*1+edi],xmm2
- movdqu [16+esi*1+edi],xmm3
- movdqu [32+esi*1+edi],xmm4
- movdqu [48+esi*1+edi],xmm5
- movdqu [64+esi*1+edi],xmm6
- jmp NEAR L$078done
-align 16
-L$079one:
- movdqu xmm7,[ebx]
- mov edx,DWORD [112+esp]
- movdqu xmm2,[esi]
- mov ecx,DWORD [240+edx]
- pxor xmm7,xmm0
- pxor xmm1,xmm2
- pxor xmm2,xmm7
- movdqa xmm6,xmm1
- mov edi,DWORD [120+esp]
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$083enc1_loop_16:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$083enc1_loop_16
-db 102,15,56,221,209
- xorps xmm2,xmm7
- movdqa xmm0,xmm7
- movdqa xmm1,xmm6
- movups [esi*1+edi],xmm2
- jmp NEAR L$078done
-align 16
-L$080two:
- lea ecx,[1+ebp]
- mov edx,DWORD [112+esp]
- bsf ecx,ecx
- shl ecx,4
- movdqu xmm6,[ebx]
- movdqu xmm7,[ecx*1+ebx]
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- mov ecx,DWORD [240+edx]
- pxor xmm6,xmm0
- pxor xmm7,xmm6
- pxor xmm1,xmm2
- pxor xmm2,xmm6
- pxor xmm1,xmm3
- pxor xmm3,xmm7
- movdqa xmm5,xmm1
- mov edi,DWORD [120+esp]
- call __aesni_encrypt2
- xorps xmm2,xmm6
- xorps xmm3,xmm7
- movdqa xmm0,xmm7
- movdqa xmm1,xmm5
- movups [esi*1+edi],xmm2
- movups [16+esi*1+edi],xmm3
- jmp NEAR L$078done
-align 16
-L$081three:
- lea ecx,[1+ebp]
- mov edx,DWORD [112+esp]
- bsf ecx,ecx
- shl ecx,4
- movdqu xmm5,[ebx]
- movdqu xmm6,[ecx*1+ebx]
- movdqa xmm7,xmm5
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- mov ecx,DWORD [240+edx]
- pxor xmm5,xmm0
- pxor xmm6,xmm5
- pxor xmm7,xmm6
- pxor xmm1,xmm2
- pxor xmm2,xmm5
- pxor xmm1,xmm3
- pxor xmm3,xmm6
- pxor xmm1,xmm4
- pxor xmm4,xmm7
- movdqa [96+esp],xmm1
- mov edi,DWORD [120+esp]
- call __aesni_encrypt3
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- xorps xmm4,xmm7
- movdqa xmm0,xmm7
- movdqa xmm1,[96+esp]
- movups [esi*1+edi],xmm2
- movups [16+esi*1+edi],xmm3
- movups [32+esi*1+edi],xmm4
- jmp NEAR L$078done
-align 16
-L$082four:
- lea ecx,[1+ebp]
- lea eax,[3+ebp]
- bsf ecx,ecx
- bsf eax,eax
- mov edx,DWORD [112+esp]
- shl ecx,4
- shl eax,4
- movdqu xmm4,[ebx]
- movdqu xmm5,[ecx*1+ebx]
- movdqa xmm6,xmm4
- movdqu xmm7,[eax*1+ebx]
- pxor xmm4,xmm0
- movdqu xmm2,[esi]
- pxor xmm5,xmm4
- movdqu xmm3,[16+esi]
- pxor xmm6,xmm5
- movdqa [esp],xmm4
- pxor xmm7,xmm6
- movdqa [16+esp],xmm5
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- mov ecx,DWORD [240+edx]
- pxor xmm1,xmm2
- pxor xmm2,[esp]
- pxor xmm1,xmm3
- pxor xmm3,[16+esp]
- pxor xmm1,xmm4
- pxor xmm4,xmm6
- pxor xmm1,xmm5
- pxor xmm5,xmm7
- movdqa [96+esp],xmm1
- mov edi,DWORD [120+esp]
- call __aesni_encrypt4
- xorps xmm2,[esp]
- xorps xmm3,[16+esp]
- xorps xmm4,xmm6
- movups [esi*1+edi],xmm2
- xorps xmm5,xmm7
- movups [16+esi*1+edi],xmm3
- movdqa xmm0,xmm7
- movups [32+esi*1+edi],xmm4
- movdqa xmm1,[96+esp]
- movups [48+esi*1+edi],xmm5
-L$078done:
- mov edx,DWORD [128+esp]
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- movdqa [esp],xmm2
- pxor xmm4,xmm4
- movdqa [16+esp],xmm2
- pxor xmm5,xmm5
- movdqa [32+esp],xmm2
- pxor xmm6,xmm6
- movdqa [48+esp],xmm2
- pxor xmm7,xmm7
- movdqa [64+esp],xmm2
- movdqa [80+esp],xmm2
- movdqa [96+esp],xmm2
- lea esp,[edx]
- mov ecx,DWORD [40+esp]
- mov ebx,DWORD [48+esp]
- movdqu [ecx],xmm0
- pxor xmm0,xmm0
- movdqu [ebx],xmm1
- pxor xmm1,xmm1
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_ocb_decrypt
-align 16
-_aesni_ocb_decrypt:
-L$_aesni_ocb_decrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov ecx,DWORD [40+esp]
- mov ebx,DWORD [48+esp]
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- movdqu xmm0,[ecx]
- mov ebp,DWORD [36+esp]
- movdqu xmm1,[ebx]
- mov ebx,DWORD [44+esp]
- mov ecx,esp
- sub esp,132
- and esp,-16
- sub edi,esi
- shl eax,4
- lea eax,[eax*1+esi-96]
- mov DWORD [120+esp],edi
- mov DWORD [124+esp],eax
- mov DWORD [128+esp],ecx
- mov ecx,DWORD [240+edx]
- test ebp,1
- jnz NEAR L$084odd
- bsf eax,ebp
- add ebp,1
- shl eax,4
- movdqu xmm7,[eax*1+ebx]
- mov eax,edx
- movdqu xmm2,[esi]
- lea esi,[16+esi]
- pxor xmm7,xmm0
- pxor xmm2,xmm7
- movdqa xmm6,xmm1
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$085dec1_loop_17:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$085dec1_loop_17
-db 102,15,56,223,209
- xorps xmm2,xmm7
- movaps xmm1,xmm6
- movdqa xmm0,xmm7
- xorps xmm1,xmm2
- movups [esi*1+edi-16],xmm2
- mov ecx,DWORD [240+eax]
- mov edx,eax
- mov eax,DWORD [124+esp]
-L$084odd:
- shl ecx,4
- mov edi,16
- sub edi,ecx
- mov DWORD [112+esp],edx
- lea edx,[32+ecx*1+edx]
- mov DWORD [116+esp],edi
- cmp esi,eax
- ja NEAR L$086short
- jmp NEAR L$087grandloop
-align 32
-L$087grandloop:
- lea ecx,[1+ebp]
- lea eax,[3+ebp]
- lea edi,[5+ebp]
- add ebp,6
- bsf ecx,ecx
- bsf eax,eax
- bsf edi,edi
- shl ecx,4
- shl eax,4
- shl edi,4
- movdqu xmm2,[ebx]
- movdqu xmm3,[ecx*1+ebx]
- mov ecx,DWORD [116+esp]
- movdqa xmm4,xmm2
- movdqu xmm5,[eax*1+ebx]
- movdqa xmm6,xmm2
- movdqu xmm7,[edi*1+ebx]
- pxor xmm2,xmm0
- pxor xmm3,xmm2
- movdqa [esp],xmm2
- pxor xmm4,xmm3
- movdqa [16+esp],xmm3
- pxor xmm5,xmm4
- movdqa [32+esp],xmm4
- pxor xmm6,xmm5
- movdqa [48+esp],xmm5
- pxor xmm7,xmm6
- movdqa [64+esp],xmm6
- movdqa [80+esp],xmm7
- movups xmm0,[ecx*1+edx-48]
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- movdqu xmm6,[64+esi]
- movdqu xmm7,[80+esi]
- lea esi,[96+esi]
- movdqa [96+esp],xmm1
- pxor xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
- pxor xmm5,xmm0
- pxor xmm6,xmm0
- pxor xmm7,xmm0
- movups xmm1,[ecx*1+edx-32]
- pxor xmm2,[esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
- pxor xmm7,[80+esp]
- movups xmm0,[ecx*1+edx-16]
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
-db 102,15,56,222,233
-db 102,15,56,222,241
-db 102,15,56,222,249
- mov edi,DWORD [120+esp]
- mov eax,DWORD [124+esp]
- call L$_aesni_decrypt6_enter
- movdqa xmm0,[80+esp]
- pxor xmm2,[esp]
- movdqa xmm1,[96+esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
- pxor xmm7,xmm0
- pxor xmm1,xmm2
- movdqu [esi*1+edi-96],xmm2
- pxor xmm1,xmm3
- movdqu [esi*1+edi-80],xmm3
- pxor xmm1,xmm4
- movdqu [esi*1+edi-64],xmm4
- pxor xmm1,xmm5
- movdqu [esi*1+edi-48],xmm5
- pxor xmm1,xmm6
- movdqu [esi*1+edi-32],xmm6
- pxor xmm1,xmm7
- movdqu [esi*1+edi-16],xmm7
- cmp esi,eax
- jb NEAR L$087grandloop
-L$086short:
- add eax,96
- sub eax,esi
- jz NEAR L$088done
- cmp eax,32
- jb NEAR L$089one
- je NEAR L$090two
- cmp eax,64
- jb NEAR L$091three
- je NEAR L$092four
- lea ecx,[1+ebp]
- lea eax,[3+ebp]
- bsf ecx,ecx
- bsf eax,eax
- shl ecx,4
- shl eax,4
- movdqu xmm2,[ebx]
- movdqu xmm3,[ecx*1+ebx]
- mov ecx,DWORD [116+esp]
- movdqa xmm4,xmm2
- movdqu xmm5,[eax*1+ebx]
- movdqa xmm6,xmm2
- pxor xmm2,xmm0
- pxor xmm3,xmm2
- movdqa [esp],xmm2
- pxor xmm4,xmm3
- movdqa [16+esp],xmm3
- pxor xmm5,xmm4
- movdqa [32+esp],xmm4
- pxor xmm6,xmm5
- movdqa [48+esp],xmm5
- pxor xmm7,xmm6
- movdqa [64+esp],xmm6
- movups xmm0,[ecx*1+edx-48]
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- movdqu xmm6,[64+esi]
- pxor xmm7,xmm7
- movdqa [96+esp],xmm1
- pxor xmm2,xmm0
- pxor xmm3,xmm0
- pxor xmm4,xmm0
- pxor xmm5,xmm0
- pxor xmm6,xmm0
- movups xmm1,[ecx*1+edx-32]
- pxor xmm2,[esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,[64+esp]
- movups xmm0,[ecx*1+edx-16]
-db 102,15,56,222,209
-db 102,15,56,222,217
-db 102,15,56,222,225
-db 102,15,56,222,233
-db 102,15,56,222,241
-db 102,15,56,222,249
- mov edi,DWORD [120+esp]
- call L$_aesni_decrypt6_enter
- movdqa xmm0,[64+esp]
- pxor xmm2,[esp]
- movdqa xmm1,[96+esp]
- pxor xmm3,[16+esp]
- pxor xmm4,[32+esp]
- pxor xmm5,[48+esp]
- pxor xmm6,xmm0
- pxor xmm1,xmm2
- movdqu [esi*1+edi],xmm2
- pxor xmm1,xmm3
- movdqu [16+esi*1+edi],xmm3
- pxor xmm1,xmm4
- movdqu [32+esi*1+edi],xmm4
- pxor xmm1,xmm5
- movdqu [48+esi*1+edi],xmm5
- pxor xmm1,xmm6
- movdqu [64+esi*1+edi],xmm6
- jmp NEAR L$088done
-align 16
-L$089one:
- movdqu xmm7,[ebx]
- mov edx,DWORD [112+esp]
- movdqu xmm2,[esi]
- mov ecx,DWORD [240+edx]
- pxor xmm7,xmm0
- pxor xmm2,xmm7
- movdqa xmm6,xmm1
- mov edi,DWORD [120+esp]
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$093dec1_loop_18:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$093dec1_loop_18
-db 102,15,56,223,209
- xorps xmm2,xmm7
- movaps xmm1,xmm6
- movdqa xmm0,xmm7
- xorps xmm1,xmm2
- movups [esi*1+edi],xmm2
- jmp NEAR L$088done
-align 16
-L$090two:
- lea ecx,[1+ebp]
- mov edx,DWORD [112+esp]
- bsf ecx,ecx
- shl ecx,4
- movdqu xmm6,[ebx]
- movdqu xmm7,[ecx*1+ebx]
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- mov ecx,DWORD [240+edx]
- movdqa xmm5,xmm1
- pxor xmm6,xmm0
- pxor xmm7,xmm6
- pxor xmm2,xmm6
- pxor xmm3,xmm7
- mov edi,DWORD [120+esp]
- call __aesni_decrypt2
- xorps xmm2,xmm6
- xorps xmm3,xmm7
- movdqa xmm0,xmm7
- xorps xmm5,xmm2
- movups [esi*1+edi],xmm2
- xorps xmm5,xmm3
- movups [16+esi*1+edi],xmm3
- movaps xmm1,xmm5
- jmp NEAR L$088done
-align 16
-L$091three:
- lea ecx,[1+ebp]
- mov edx,DWORD [112+esp]
- bsf ecx,ecx
- shl ecx,4
- movdqu xmm5,[ebx]
- movdqu xmm6,[ecx*1+ebx]
- movdqa xmm7,xmm5
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- mov ecx,DWORD [240+edx]
- movdqa [96+esp],xmm1
- pxor xmm5,xmm0
- pxor xmm6,xmm5
- pxor xmm7,xmm6
- pxor xmm2,xmm5
- pxor xmm3,xmm6
- pxor xmm4,xmm7
- mov edi,DWORD [120+esp]
- call __aesni_decrypt3
- movdqa xmm1,[96+esp]
- xorps xmm2,xmm5
- xorps xmm3,xmm6
- xorps xmm4,xmm7
- movups [esi*1+edi],xmm2
- pxor xmm1,xmm2
- movdqa xmm0,xmm7
- movups [16+esi*1+edi],xmm3
- pxor xmm1,xmm3
- movups [32+esi*1+edi],xmm4
- pxor xmm1,xmm4
- jmp NEAR L$088done
-align 16
-L$092four:
- lea ecx,[1+ebp]
- lea eax,[3+ebp]
- bsf ecx,ecx
- bsf eax,eax
- mov edx,DWORD [112+esp]
- shl ecx,4
- shl eax,4
- movdqu xmm4,[ebx]
- movdqu xmm5,[ecx*1+ebx]
- movdqa xmm6,xmm4
- movdqu xmm7,[eax*1+ebx]
- pxor xmm4,xmm0
- movdqu xmm2,[esi]
- pxor xmm5,xmm4
- movdqu xmm3,[16+esi]
- pxor xmm6,xmm5
- movdqa [esp],xmm4
- pxor xmm7,xmm6
- movdqa [16+esp],xmm5
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- mov ecx,DWORD [240+edx]
- movdqa [96+esp],xmm1
- pxor xmm2,[esp]
- pxor xmm3,[16+esp]
- pxor xmm4,xmm6
- pxor xmm5,xmm7
- mov edi,DWORD [120+esp]
- call __aesni_decrypt4
- movdqa xmm1,[96+esp]
- xorps xmm2,[esp]
- xorps xmm3,[16+esp]
- xorps xmm4,xmm6
- movups [esi*1+edi],xmm2
- pxor xmm1,xmm2
- xorps xmm5,xmm7
- movups [16+esi*1+edi],xmm3
- pxor xmm1,xmm3
- movdqa xmm0,xmm7
- movups [32+esi*1+edi],xmm4
- pxor xmm1,xmm4
- movups [48+esi*1+edi],xmm5
- pxor xmm1,xmm5
-L$088done:
- mov edx,DWORD [128+esp]
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- movdqa [esp],xmm2
- pxor xmm4,xmm4
- movdqa [16+esp],xmm2
- pxor xmm5,xmm5
- movdqa [32+esp],xmm2
- pxor xmm6,xmm6
- movdqa [48+esp],xmm2
- pxor xmm7,xmm7
- movdqa [64+esp],xmm2
- movdqa [80+esp],xmm2
- movdqa [96+esp],xmm2
- lea esp,[edx]
- mov ecx,DWORD [40+esp]
- mov ebx,DWORD [48+esp]
- movdqu [ecx],xmm0
- pxor xmm0,xmm0
- movdqu [ebx],xmm1
- pxor xmm1,xmm1
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _aesni_cbc_encrypt
-align 16
-_aesni_cbc_encrypt:
-L$_aesni_cbc_encrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov ebx,esp
- mov edi,DWORD [24+esp]
- sub ebx,24
- mov eax,DWORD [28+esp]
- and ebx,-16
- mov edx,DWORD [32+esp]
- mov ebp,DWORD [36+esp]
- test eax,eax
- jz NEAR L$094cbc_abort
- cmp DWORD [40+esp],0
- xchg ebx,esp
- movups xmm7,[ebp]
- mov ecx,DWORD [240+edx]
- mov ebp,edx
- mov DWORD [16+esp],ebx
- mov ebx,ecx
- je NEAR L$095cbc_decrypt
- movaps xmm2,xmm7
- cmp eax,16
- jb NEAR L$096cbc_enc_tail
- sub eax,16
- jmp NEAR L$097cbc_enc_loop
-align 16
-L$097cbc_enc_loop:
- movups xmm7,[esi]
- lea esi,[16+esi]
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- xorps xmm7,xmm0
- lea edx,[32+edx]
- xorps xmm2,xmm7
-L$098enc1_loop_19:
-db 102,15,56,220,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$098enc1_loop_19
-db 102,15,56,221,209
- mov ecx,ebx
- mov edx,ebp
- movups [edi],xmm2
- lea edi,[16+edi]
- sub eax,16
- jnc NEAR L$097cbc_enc_loop
- add eax,16
- jnz NEAR L$096cbc_enc_tail
- movaps xmm7,xmm2
- pxor xmm2,xmm2
- jmp NEAR L$099cbc_ret
-L$096cbc_enc_tail:
- mov ecx,eax
-dd 2767451785
- mov ecx,16
- sub ecx,eax
- xor eax,eax
-dd 2868115081
- lea edi,[edi-16]
- mov ecx,ebx
- mov esi,edi
- mov edx,ebp
- jmp NEAR L$097cbc_enc_loop
-align 16
-L$095cbc_decrypt:
- cmp eax,80
- jbe NEAR L$100cbc_dec_tail
- movaps [esp],xmm7
- sub eax,80
- jmp NEAR L$101cbc_dec_loop6_enter
-align 16
-L$102cbc_dec_loop6:
- movaps [esp],xmm0
- movups [edi],xmm7
- lea edi,[16+edi]
-L$101cbc_dec_loop6_enter:
- movdqu xmm2,[esi]
- movdqu xmm3,[16+esi]
- movdqu xmm4,[32+esi]
- movdqu xmm5,[48+esi]
- movdqu xmm6,[64+esi]
- movdqu xmm7,[80+esi]
- call __aesni_decrypt6
- movups xmm1,[esi]
- movups xmm0,[16+esi]
- xorps xmm2,[esp]
- xorps xmm3,xmm1
- movups xmm1,[32+esi]
- xorps xmm4,xmm0
- movups xmm0,[48+esi]
- xorps xmm5,xmm1
- movups xmm1,[64+esi]
- xorps xmm6,xmm0
- movups xmm0,[80+esi]
- xorps xmm7,xmm1
- movups [edi],xmm2
- movups [16+edi],xmm3
- lea esi,[96+esi]
- movups [32+edi],xmm4
- mov ecx,ebx
- movups [48+edi],xmm5
- mov edx,ebp
- movups [64+edi],xmm6
- lea edi,[80+edi]
- sub eax,96
- ja NEAR L$102cbc_dec_loop6
- movaps xmm2,xmm7
- movaps xmm7,xmm0
- add eax,80
- jle NEAR L$103cbc_dec_clear_tail_collected
- movups [edi],xmm2
- lea edi,[16+edi]
-L$100cbc_dec_tail:
- movups xmm2,[esi]
- movaps xmm6,xmm2
- cmp eax,16
- jbe NEAR L$104cbc_dec_one
- movups xmm3,[16+esi]
- movaps xmm5,xmm3
- cmp eax,32
- jbe NEAR L$105cbc_dec_two
- movups xmm4,[32+esi]
- cmp eax,48
- jbe NEAR L$106cbc_dec_three
- movups xmm5,[48+esi]
- cmp eax,64
- jbe NEAR L$107cbc_dec_four
- movups xmm6,[64+esi]
- movaps [esp],xmm7
- movups xmm2,[esi]
- xorps xmm7,xmm7
- call __aesni_decrypt6
- movups xmm1,[esi]
- movups xmm0,[16+esi]
- xorps xmm2,[esp]
- xorps xmm3,xmm1
- movups xmm1,[32+esi]
- xorps xmm4,xmm0
- movups xmm0,[48+esi]
- xorps xmm5,xmm1
- movups xmm7,[64+esi]
- xorps xmm6,xmm0
- movups [edi],xmm2
- movups [16+edi],xmm3
- pxor xmm3,xmm3
- movups [32+edi],xmm4
- pxor xmm4,xmm4
- movups [48+edi],xmm5
- pxor xmm5,xmm5
- lea edi,[64+edi]
- movaps xmm2,xmm6
- pxor xmm6,xmm6
- sub eax,80
- jmp NEAR L$108cbc_dec_tail_collected
-align 16
-L$104cbc_dec_one:
- movups xmm0,[edx]
- movups xmm1,[16+edx]
- lea edx,[32+edx]
- xorps xmm2,xmm0
-L$109dec1_loop_20:
-db 102,15,56,222,209
- dec ecx
- movups xmm1,[edx]
- lea edx,[16+edx]
- jnz NEAR L$109dec1_loop_20
-db 102,15,56,223,209
- xorps xmm2,xmm7
- movaps xmm7,xmm6
- sub eax,16
- jmp NEAR L$108cbc_dec_tail_collected
-align 16
-L$105cbc_dec_two:
- call __aesni_decrypt2
- xorps xmm2,xmm7
- xorps xmm3,xmm6
- movups [edi],xmm2
- movaps xmm2,xmm3
- pxor xmm3,xmm3
- lea edi,[16+edi]
- movaps xmm7,xmm5
- sub eax,32
- jmp NEAR L$108cbc_dec_tail_collected
-align 16
-L$106cbc_dec_three:
- call __aesni_decrypt3
- xorps xmm2,xmm7
- xorps xmm3,xmm6
- xorps xmm4,xmm5
- movups [edi],xmm2
- movaps xmm2,xmm4
- pxor xmm4,xmm4
- movups [16+edi],xmm3
- pxor xmm3,xmm3
- lea edi,[32+edi]
- movups xmm7,[32+esi]
- sub eax,48
- jmp NEAR L$108cbc_dec_tail_collected
-align 16
-L$107cbc_dec_four:
- call __aesni_decrypt4
- movups xmm1,[16+esi]
- movups xmm0,[32+esi]
- xorps xmm2,xmm7
- movups xmm7,[48+esi]
- xorps xmm3,xmm6
- movups [edi],xmm2
- xorps xmm4,xmm1
- movups [16+edi],xmm3
- pxor xmm3,xmm3
- xorps xmm5,xmm0
- movups [32+edi],xmm4
- pxor xmm4,xmm4
- lea edi,[48+edi]
- movaps xmm2,xmm5
- pxor xmm5,xmm5
- sub eax,64
- jmp NEAR L$108cbc_dec_tail_collected
-align 16
-L$103cbc_dec_clear_tail_collected:
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
-L$108cbc_dec_tail_collected:
- and eax,15
- jnz NEAR L$110cbc_dec_tail_partial
- movups [edi],xmm2
- pxor xmm0,xmm0
- jmp NEAR L$099cbc_ret
-align 16
-L$110cbc_dec_tail_partial:
- movaps [esp],xmm2
- pxor xmm0,xmm0
- mov ecx,16
- mov esi,esp
- sub ecx,eax
-dd 2767451785
- movdqa [esp],xmm2
-L$099cbc_ret:
- mov esp,DWORD [16+esp]
- mov ebp,DWORD [36+esp]
- pxor xmm2,xmm2
- pxor xmm1,xmm1
- movups [ebp],xmm7
- pxor xmm7,xmm7
-L$094cbc_abort:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-align 16
-__aesni_set_encrypt_key:
- push ebp
- push ebx
- test eax,eax
- jz NEAR L$111bad_pointer
- test edx,edx
- jz NEAR L$111bad_pointer
- call L$112pic
-L$112pic:
- pop ebx
- lea ebx,[(L$key_const-L$112pic)+ebx]
- lea ebp,[_OPENSSL_ia32cap_P]
- movups xmm0,[eax]
- xorps xmm4,xmm4
- mov ebp,DWORD [4+ebp]
- lea edx,[16+edx]
- and ebp,268437504
- cmp ecx,256
- je NEAR L$11314rounds
- cmp ecx,192
- je NEAR L$11412rounds
- cmp ecx,128
- jne NEAR L$115bad_keybits
-align 16
-L$11610rounds:
- cmp ebp,268435456
- je NEAR L$11710rounds_alt
- mov ecx,9
- movups [edx-16],xmm0
-db 102,15,58,223,200,1
- call L$118key_128_cold
-db 102,15,58,223,200,2
- call L$119key_128
-db 102,15,58,223,200,4
- call L$119key_128
-db 102,15,58,223,200,8
- call L$119key_128
-db 102,15,58,223,200,16
- call L$119key_128
-db 102,15,58,223,200,32
- call L$119key_128
-db 102,15,58,223,200,64
- call L$119key_128
-db 102,15,58,223,200,128
- call L$119key_128
-db 102,15,58,223,200,27
- call L$119key_128
-db 102,15,58,223,200,54
- call L$119key_128
- movups [edx],xmm0
- mov DWORD [80+edx],ecx
- jmp NEAR L$120good_key
-align 16
-L$119key_128:
- movups [edx],xmm0
- lea edx,[16+edx]
-L$118key_128_cold:
- shufps xmm4,xmm0,16
- xorps xmm0,xmm4
- shufps xmm4,xmm0,140
- xorps xmm0,xmm4
- shufps xmm1,xmm1,255
- xorps xmm0,xmm1
- ret
-align 16
-L$11710rounds_alt:
- movdqa xmm5,[ebx]
- mov ecx,8
- movdqa xmm4,[32+ebx]
- movdqa xmm2,xmm0
- movdqu [edx-16],xmm0
-L$121loop_key128:
-db 102,15,56,0,197
-db 102,15,56,221,196
- pslld xmm4,1
- lea edx,[16+edx]
- movdqa xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm2,xmm3
- pxor xmm0,xmm2
- movdqu [edx-16],xmm0
- movdqa xmm2,xmm0
- dec ecx
- jnz NEAR L$121loop_key128
- movdqa xmm4,[48+ebx]
-db 102,15,56,0,197
-db 102,15,56,221,196
- pslld xmm4,1
- movdqa xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm2,xmm3
- pxor xmm0,xmm2
- movdqu [edx],xmm0
- movdqa xmm2,xmm0
-db 102,15,56,0,197
-db 102,15,56,221,196
- movdqa xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm2,xmm3
- pxor xmm0,xmm2
- movdqu [16+edx],xmm0
- mov ecx,9
- mov DWORD [96+edx],ecx
- jmp NEAR L$120good_key
-align 16
-L$11412rounds:
- movq xmm2,[16+eax]
- cmp ebp,268435456
- je NEAR L$12212rounds_alt
- mov ecx,11
- movups [edx-16],xmm0
-db 102,15,58,223,202,1
- call L$123key_192a_cold
-db 102,15,58,223,202,2
- call L$124key_192b
-db 102,15,58,223,202,4
- call L$125key_192a
-db 102,15,58,223,202,8
- call L$124key_192b
-db 102,15,58,223,202,16
- call L$125key_192a
-db 102,15,58,223,202,32
- call L$124key_192b
-db 102,15,58,223,202,64
- call L$125key_192a
-db 102,15,58,223,202,128
- call L$124key_192b
- movups [edx],xmm0
- mov DWORD [48+edx],ecx
- jmp NEAR L$120good_key
-align 16
-L$125key_192a:
- movups [edx],xmm0
- lea edx,[16+edx]
-align 16
-L$123key_192a_cold:
- movaps xmm5,xmm2
-L$126key_192b_warm:
- shufps xmm4,xmm0,16
- movdqa xmm3,xmm2
- xorps xmm0,xmm4
- shufps xmm4,xmm0,140
- pslldq xmm3,4
- xorps xmm0,xmm4
- pshufd xmm1,xmm1,85
- pxor xmm2,xmm3
- pxor xmm0,xmm1
- pshufd xmm3,xmm0,255
- pxor xmm2,xmm3
- ret
-align 16
-L$124key_192b:
- movaps xmm3,xmm0
- shufps xmm5,xmm0,68
- movups [edx],xmm5
- shufps xmm3,xmm2,78
- movups [16+edx],xmm3
- lea edx,[32+edx]
- jmp NEAR L$126key_192b_warm
-align 16
-L$12212rounds_alt:
- movdqa xmm5,[16+ebx]
- movdqa xmm4,[32+ebx]
- mov ecx,8
- movdqu [edx-16],xmm0
-L$127loop_key192:
- movq [edx],xmm2
- movdqa xmm1,xmm2
-db 102,15,56,0,213
-db 102,15,56,221,212
- pslld xmm4,1
- lea edx,[24+edx]
- movdqa xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm0,xmm3
- pshufd xmm3,xmm0,255
- pxor xmm3,xmm1
- pslldq xmm1,4
- pxor xmm3,xmm1
- pxor xmm0,xmm2
- pxor xmm2,xmm3
- movdqu [edx-16],xmm0
- dec ecx
- jnz NEAR L$127loop_key192
- mov ecx,11
- mov DWORD [32+edx],ecx
- jmp NEAR L$120good_key
-align 16
-L$11314rounds:
- movups xmm2,[16+eax]
- lea edx,[16+edx]
- cmp ebp,268435456
- je NEAR L$12814rounds_alt
- mov ecx,13
- movups [edx-32],xmm0
- movups [edx-16],xmm2
-db 102,15,58,223,202,1
- call L$129key_256a_cold
-db 102,15,58,223,200,1
- call L$130key_256b
-db 102,15,58,223,202,2
- call L$131key_256a
-db 102,15,58,223,200,2
- call L$130key_256b
-db 102,15,58,223,202,4
- call L$131key_256a
-db 102,15,58,223,200,4
- call L$130key_256b
-db 102,15,58,223,202,8
- call L$131key_256a
-db 102,15,58,223,200,8
- call L$130key_256b
-db 102,15,58,223,202,16
- call L$131key_256a
-db 102,15,58,223,200,16
- call L$130key_256b
-db 102,15,58,223,202,32
- call L$131key_256a
-db 102,15,58,223,200,32
- call L$130key_256b
-db 102,15,58,223,202,64
- call L$131key_256a
- movups [edx],xmm0
- mov DWORD [16+edx],ecx
- xor eax,eax
- jmp NEAR L$120good_key
-align 16
-L$131key_256a:
- movups [edx],xmm2
- lea edx,[16+edx]
-L$129key_256a_cold:
- shufps xmm4,xmm0,16
- xorps xmm0,xmm4
- shufps xmm4,xmm0,140
- xorps xmm0,xmm4
- shufps xmm1,xmm1,255
- xorps xmm0,xmm1
- ret
-align 16
-L$130key_256b:
- movups [edx],xmm0
- lea edx,[16+edx]
- shufps xmm4,xmm2,16
- xorps xmm2,xmm4
- shufps xmm4,xmm2,140
- xorps xmm2,xmm4
- shufps xmm1,xmm1,170
- xorps xmm2,xmm1
- ret
-align 16
-L$12814rounds_alt:
- movdqa xmm5,[ebx]
- movdqa xmm4,[32+ebx]
- mov ecx,7
- movdqu [edx-32],xmm0
- movdqa xmm1,xmm2
- movdqu [edx-16],xmm2
-L$132loop_key256:
-db 102,15,56,0,213
-db 102,15,56,221,212
- movdqa xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm0,xmm3
- pslld xmm4,1
- pxor xmm0,xmm2
- movdqu [edx],xmm0
- dec ecx
- jz NEAR L$133done_key256
- pshufd xmm2,xmm0,255
- pxor xmm3,xmm3
-db 102,15,56,221,211
- movdqa xmm3,xmm1
- pslldq xmm1,4
- pxor xmm3,xmm1
- pslldq xmm1,4
- pxor xmm3,xmm1
- pslldq xmm1,4
- pxor xmm1,xmm3
- pxor xmm2,xmm1
- movdqu [16+edx],xmm2
- lea edx,[32+edx]
- movdqa xmm1,xmm2
- jmp NEAR L$132loop_key256
-L$133done_key256:
- mov ecx,13
- mov DWORD [16+edx],ecx
-L$120good_key:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- xor eax,eax
- pop ebx
- pop ebp
- ret
-align 4
-L$111bad_pointer:
- mov eax,-1
- pop ebx
- pop ebp
- ret
-align 4
-L$115bad_keybits:
- pxor xmm0,xmm0
- mov eax,-2
- pop ebx
- pop ebp
- ret
-global _aesni_set_encrypt_key
-align 16
-_aesni_set_encrypt_key:
-L$_aesni_set_encrypt_key_begin:
- mov eax,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
- mov edx,DWORD [12+esp]
- call __aesni_set_encrypt_key
- ret
-global _aesni_set_decrypt_key
-align 16
-_aesni_set_decrypt_key:
-L$_aesni_set_decrypt_key_begin:
- mov eax,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
- mov edx,DWORD [12+esp]
- call __aesni_set_encrypt_key
- mov edx,DWORD [12+esp]
- shl ecx,4
- test eax,eax
- jnz NEAR L$134dec_key_ret
- lea eax,[16+ecx*1+edx]
- movups xmm0,[edx]
- movups xmm1,[eax]
- movups [eax],xmm0
- movups [edx],xmm1
- lea edx,[16+edx]
- lea eax,[eax-16]
-L$135dec_key_inverse:
- movups xmm0,[edx]
- movups xmm1,[eax]
-db 102,15,56,219,192
-db 102,15,56,219,201
- lea edx,[16+edx]
- lea eax,[eax-16]
- movups [16+eax],xmm0
- movups [edx-16],xmm1
- cmp eax,edx
- ja NEAR L$135dec_key_inverse
- movups xmm0,[edx]
-db 102,15,56,219,192
- movups [edx],xmm0
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- xor eax,eax
-L$134dec_key_ret:
- ret
-align 64
-L$key_const:
-dd 202313229,202313229,202313229,202313229
-dd 67569157,67569157,67569157,67569157
-dd 1,1,1,1
-dd 27,27,27,27
-db 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
-db 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
-db 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
-db 115,108,46,111,114,103,62,0
-segment .bss
-common _OPENSSL_ia32cap_P 16
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm
deleted file mode 100644
index cf2e13f620..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm
+++ /dev/null
@@ -1,651 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/aes/asm/vpaes-x86.pl
-;
-; Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-align 64
-L$_vpaes_consts:
-dd 218628480,235210255,168496130,67568393
-dd 252381056,17041926,33884169,51187212
-dd 252645135,252645135,252645135,252645135
-dd 1512730624,3266504856,1377990664,3401244816
-dd 830229760,1275146365,2969422977,3447763452
-dd 3411033600,2979783055,338359620,2782886510
-dd 4209124096,907596821,221174255,1006095553
-dd 191964160,3799684038,3164090317,1589111125
-dd 182528256,1777043520,2877432650,3265356744
-dd 1874708224,3503451415,3305285752,363511674
-dd 1606117888,3487855781,1093350906,2384367825
-dd 197121,67569157,134941193,202313229
-dd 67569157,134941193,202313229,197121
-dd 134941193,202313229,197121,67569157
-dd 202313229,197121,67569157,134941193
-dd 33619971,100992007,168364043,235736079
-dd 235736079,33619971,100992007,168364043
-dd 168364043,235736079,33619971,100992007
-dd 100992007,168364043,235736079,33619971
-dd 50462976,117835012,185207048,252579084
-dd 252314880,51251460,117574920,184942860
-dd 184682752,252054788,50987272,118359308
-dd 118099200,185467140,251790600,50727180
-dd 2946363062,528716217,1300004225,1881839624
-dd 1532713819,1532713819,1532713819,1532713819
-dd 3602276352,4288629033,3737020424,4153884961
-dd 1354558464,32357713,2958822624,3775749553
-dd 1201988352,132424512,1572796698,503232858
-dd 2213177600,1597421020,4103937655,675398315
-dd 2749646592,4273543773,1511898873,121693092
-dd 3040248576,1103263732,2871565598,1608280554
-dd 2236667136,2588920351,482954393,64377734
-dd 3069987328,291237287,2117370568,3650299247
-dd 533321216,3573750986,2572112006,1401264716
-dd 1339849704,2721158661,548607111,3445553514
-dd 2128193280,3054596040,2183486460,1257083700
-dd 655635200,1165381986,3923443150,2344132524
-dd 190078720,256924420,290342170,357187870
-dd 1610966272,2263057382,4103205268,309794674
-dd 2592527872,2233205587,1335446729,3402964816
-dd 3973531904,3225098121,3002836325,1918774430
-dd 3870401024,2102906079,2284471353,4117666579
-dd 617007872,1021508343,366931923,691083277
-dd 2528395776,3491914898,2968704004,1613121270
-dd 3445188352,3247741094,844474987,4093578302
-dd 651481088,1190302358,1689581232,574775300
-dd 4289380608,206939853,2555985458,2489840491
-dd 2130264064,327674451,3566485037,3349835193
-dd 2470714624,316102159,3636825756,3393945945
-db 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105
-db 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83
-db 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117
-db 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105
-db 118,101,114,115,105,116,121,41,0
-align 64
-align 16
-__vpaes_preheat:
- add ebp,DWORD [esp]
- movdqa xmm7,[ebp-48]
- movdqa xmm6,[ebp-16]
- ret
-align 16
-__vpaes_encrypt_core:
- mov ecx,16
- mov eax,DWORD [240+edx]
- movdqa xmm1,xmm6
- movdqa xmm2,[ebp]
- pandn xmm1,xmm0
- pand xmm0,xmm6
- movdqu xmm5,[edx]
-db 102,15,56,0,208
- movdqa xmm0,[16+ebp]
- pxor xmm2,xmm5
- psrld xmm1,4
- add edx,16
-db 102,15,56,0,193
- lea ebx,[192+ebp]
- pxor xmm0,xmm2
- jmp NEAR L$000enc_entry
-align 16
-L$001enc_loop:
- movdqa xmm4,[32+ebp]
- movdqa xmm0,[48+ebp]
-db 102,15,56,0,226
-db 102,15,56,0,195
- pxor xmm4,xmm5
- movdqa xmm5,[64+ebp]
- pxor xmm0,xmm4
- movdqa xmm1,[ecx*1+ebx-64]
-db 102,15,56,0,234
- movdqa xmm2,[80+ebp]
- movdqa xmm4,[ecx*1+ebx]
-db 102,15,56,0,211
- movdqa xmm3,xmm0
- pxor xmm2,xmm5
-db 102,15,56,0,193
- add edx,16
- pxor xmm0,xmm2
-db 102,15,56,0,220
- add ecx,16
- pxor xmm3,xmm0
-db 102,15,56,0,193
- and ecx,48
- sub eax,1
- pxor xmm0,xmm3
-L$000enc_entry:
- movdqa xmm1,xmm6
- movdqa xmm5,[ebp-32]
- pandn xmm1,xmm0
- psrld xmm1,4
- pand xmm0,xmm6
-db 102,15,56,0,232
- movdqa xmm3,xmm7
- pxor xmm0,xmm1
-db 102,15,56,0,217
- movdqa xmm4,xmm7
- pxor xmm3,xmm5
-db 102,15,56,0,224
- movdqa xmm2,xmm7
- pxor xmm4,xmm5
-db 102,15,56,0,211
- movdqa xmm3,xmm7
- pxor xmm2,xmm0
-db 102,15,56,0,220
- movdqu xmm5,[edx]
- pxor xmm3,xmm1
- jnz NEAR L$001enc_loop
- movdqa xmm4,[96+ebp]
- movdqa xmm0,[112+ebp]
-db 102,15,56,0,226
- pxor xmm4,xmm5
-db 102,15,56,0,195
- movdqa xmm1,[64+ecx*1+ebx]
- pxor xmm0,xmm4
-db 102,15,56,0,193
- ret
-align 16
-__vpaes_decrypt_core:
- lea ebx,[608+ebp]
- mov eax,DWORD [240+edx]
- movdqa xmm1,xmm6
- movdqa xmm2,[ebx-64]
- pandn xmm1,xmm0
- mov ecx,eax
- psrld xmm1,4
- movdqu xmm5,[edx]
- shl ecx,4
- pand xmm0,xmm6
-db 102,15,56,0,208
- movdqa xmm0,[ebx-48]
- xor ecx,48
-db 102,15,56,0,193
- and ecx,48
- pxor xmm2,xmm5
- movdqa xmm5,[176+ebp]
- pxor xmm0,xmm2
- add edx,16
- lea ecx,[ecx*1+ebx-352]
- jmp NEAR L$002dec_entry
-align 16
-L$003dec_loop:
- movdqa xmm4,[ebx-32]
- movdqa xmm1,[ebx-16]
-db 102,15,56,0,226
-db 102,15,56,0,203
- pxor xmm0,xmm4
- movdqa xmm4,[ebx]
- pxor xmm0,xmm1
- movdqa xmm1,[16+ebx]
-db 102,15,56,0,226
-db 102,15,56,0,197
-db 102,15,56,0,203
- pxor xmm0,xmm4
- movdqa xmm4,[32+ebx]
- pxor xmm0,xmm1
- movdqa xmm1,[48+ebx]
-db 102,15,56,0,226
-db 102,15,56,0,197
-db 102,15,56,0,203
- pxor xmm0,xmm4
- movdqa xmm4,[64+ebx]
- pxor xmm0,xmm1
- movdqa xmm1,[80+ebx]
-db 102,15,56,0,226
-db 102,15,56,0,197
-db 102,15,56,0,203
- pxor xmm0,xmm4
- add edx,16
-db 102,15,58,15,237,12
- pxor xmm0,xmm1
- sub eax,1
-L$002dec_entry:
- movdqa xmm1,xmm6
- movdqa xmm2,[ebp-32]
- pandn xmm1,xmm0
- pand xmm0,xmm6
- psrld xmm1,4
-db 102,15,56,0,208
- movdqa xmm3,xmm7
- pxor xmm0,xmm1
-db 102,15,56,0,217
- movdqa xmm4,xmm7
- pxor xmm3,xmm2
-db 102,15,56,0,224
- pxor xmm4,xmm2
- movdqa xmm2,xmm7
-db 102,15,56,0,211
- movdqa xmm3,xmm7
- pxor xmm2,xmm0
-db 102,15,56,0,220
- movdqu xmm0,[edx]
- pxor xmm3,xmm1
- jnz NEAR L$003dec_loop
- movdqa xmm4,[96+ebx]
-db 102,15,56,0,226
- pxor xmm4,xmm0
- movdqa xmm0,[112+ebx]
- movdqa xmm2,[ecx]
-db 102,15,56,0,195
- pxor xmm0,xmm4
-db 102,15,56,0,194
- ret
-align 16
-__vpaes_schedule_core:
- add ebp,DWORD [esp]
- movdqu xmm0,[esi]
- movdqa xmm2,[320+ebp]
- movdqa xmm3,xmm0
- lea ebx,[ebp]
- movdqa [4+esp],xmm2
- call __vpaes_schedule_transform
- movdqa xmm7,xmm0
- test edi,edi
- jnz NEAR L$004schedule_am_decrypting
- movdqu [edx],xmm0
- jmp NEAR L$005schedule_go
-L$004schedule_am_decrypting:
- movdqa xmm1,[256+ecx*1+ebp]
-db 102,15,56,0,217
- movdqu [edx],xmm3
- xor ecx,48
-L$005schedule_go:
- cmp eax,192
- ja NEAR L$006schedule_256
- je NEAR L$007schedule_192
-L$008schedule_128:
- mov eax,10
-L$009loop_schedule_128:
- call __vpaes_schedule_round
- dec eax
- jz NEAR L$010schedule_mangle_last
- call __vpaes_schedule_mangle
- jmp NEAR L$009loop_schedule_128
-align 16
-L$007schedule_192:
- movdqu xmm0,[8+esi]
- call __vpaes_schedule_transform
- movdqa xmm6,xmm0
- pxor xmm4,xmm4
- movhlps xmm6,xmm4
- mov eax,4
-L$011loop_schedule_192:
- call __vpaes_schedule_round
-db 102,15,58,15,198,8
- call __vpaes_schedule_mangle
- call __vpaes_schedule_192_smear
- call __vpaes_schedule_mangle
- call __vpaes_schedule_round
- dec eax
- jz NEAR L$010schedule_mangle_last
- call __vpaes_schedule_mangle
- call __vpaes_schedule_192_smear
- jmp NEAR L$011loop_schedule_192
-align 16
-L$006schedule_256:
- movdqu xmm0,[16+esi]
- call __vpaes_schedule_transform
- mov eax,7
-L$012loop_schedule_256:
- call __vpaes_schedule_mangle
- movdqa xmm6,xmm0
- call __vpaes_schedule_round
- dec eax
- jz NEAR L$010schedule_mangle_last
- call __vpaes_schedule_mangle
- pshufd xmm0,xmm0,255
- movdqa [20+esp],xmm7
- movdqa xmm7,xmm6
- call L$_vpaes_schedule_low_round
- movdqa xmm7,[20+esp]
- jmp NEAR L$012loop_schedule_256
-align 16
-L$010schedule_mangle_last:
- lea ebx,[384+ebp]
- test edi,edi
- jnz NEAR L$013schedule_mangle_last_dec
- movdqa xmm1,[256+ecx*1+ebp]
-db 102,15,56,0,193
- lea ebx,[352+ebp]
- add edx,32
-L$013schedule_mangle_last_dec:
- add edx,-16
- pxor xmm0,[336+ebp]
- call __vpaes_schedule_transform
- movdqu [edx],xmm0
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pxor xmm7,xmm7
- ret
-align 16
-__vpaes_schedule_192_smear:
- pshufd xmm1,xmm6,128
- pshufd xmm0,xmm7,254
- pxor xmm6,xmm1
- pxor xmm1,xmm1
- pxor xmm6,xmm0
- movdqa xmm0,xmm6
- movhlps xmm6,xmm1
- ret
-align 16
-__vpaes_schedule_round:
- movdqa xmm2,[8+esp]
- pxor xmm1,xmm1
-db 102,15,58,15,202,15
-db 102,15,58,15,210,15
- pxor xmm7,xmm1
- pshufd xmm0,xmm0,255
-db 102,15,58,15,192,1
- movdqa [8+esp],xmm2
-L$_vpaes_schedule_low_round:
- movdqa xmm1,xmm7
- pslldq xmm7,4
- pxor xmm7,xmm1
- movdqa xmm1,xmm7
- pslldq xmm7,8
- pxor xmm7,xmm1
- pxor xmm7,[336+ebp]
- movdqa xmm4,[ebp-16]
- movdqa xmm5,[ebp-48]
- movdqa xmm1,xmm4
- pandn xmm1,xmm0
- psrld xmm1,4
- pand xmm0,xmm4
- movdqa xmm2,[ebp-32]
-db 102,15,56,0,208
- pxor xmm0,xmm1
- movdqa xmm3,xmm5
-db 102,15,56,0,217
- pxor xmm3,xmm2
- movdqa xmm4,xmm5
-db 102,15,56,0,224
- pxor xmm4,xmm2
- movdqa xmm2,xmm5
-db 102,15,56,0,211
- pxor xmm2,xmm0
- movdqa xmm3,xmm5
-db 102,15,56,0,220
- pxor xmm3,xmm1
- movdqa xmm4,[32+ebp]
-db 102,15,56,0,226
- movdqa xmm0,[48+ebp]
-db 102,15,56,0,195
- pxor xmm0,xmm4
- pxor xmm0,xmm7
- movdqa xmm7,xmm0
- ret
-align 16
-__vpaes_schedule_transform:
- movdqa xmm2,[ebp-16]
- movdqa xmm1,xmm2
- pandn xmm1,xmm0
- psrld xmm1,4
- pand xmm0,xmm2
- movdqa xmm2,[ebx]
-db 102,15,56,0,208
- movdqa xmm0,[16+ebx]
-db 102,15,56,0,193
- pxor xmm0,xmm2
- ret
-align 16
-__vpaes_schedule_mangle:
- movdqa xmm4,xmm0
- movdqa xmm5,[128+ebp]
- test edi,edi
- jnz NEAR L$014schedule_mangle_dec
- add edx,16
- pxor xmm4,[336+ebp]
-db 102,15,56,0,229
- movdqa xmm3,xmm4
-db 102,15,56,0,229
- pxor xmm3,xmm4
-db 102,15,56,0,229
- pxor xmm3,xmm4
- jmp NEAR L$015schedule_mangle_both
-align 16
-L$014schedule_mangle_dec:
- movdqa xmm2,[ebp-16]
- lea esi,[416+ebp]
- movdqa xmm1,xmm2
- pandn xmm1,xmm4
- psrld xmm1,4
- pand xmm4,xmm2
- movdqa xmm2,[esi]
-db 102,15,56,0,212
- movdqa xmm3,[16+esi]
-db 102,15,56,0,217
- pxor xmm3,xmm2
-db 102,15,56,0,221
- movdqa xmm2,[32+esi]
-db 102,15,56,0,212
- pxor xmm2,xmm3
- movdqa xmm3,[48+esi]
-db 102,15,56,0,217
- pxor xmm3,xmm2
-db 102,15,56,0,221
- movdqa xmm2,[64+esi]
-db 102,15,56,0,212
- pxor xmm2,xmm3
- movdqa xmm3,[80+esi]
-db 102,15,56,0,217
- pxor xmm3,xmm2
-db 102,15,56,0,221
- movdqa xmm2,[96+esi]
-db 102,15,56,0,212
- pxor xmm2,xmm3
- movdqa xmm3,[112+esi]
-db 102,15,56,0,217
- pxor xmm3,xmm2
- add edx,-16
-L$015schedule_mangle_both:
- movdqa xmm1,[256+ecx*1+ebp]
-db 102,15,56,0,217
- add ecx,-16
- and ecx,48
- movdqu [edx],xmm3
- ret
-global _vpaes_set_encrypt_key
-align 16
-_vpaes_set_encrypt_key:
-L$_vpaes_set_encrypt_key_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- lea ebx,[esp-56]
- mov eax,DWORD [24+esp]
- and ebx,-16
- mov edx,DWORD [28+esp]
- xchg ebx,esp
- mov DWORD [48+esp],ebx
- mov ebx,eax
- shr ebx,5
- add ebx,5
- mov DWORD [240+edx],ebx
- mov ecx,48
- mov edi,0
- lea ebp,[(L$_vpaes_consts+0x30-L$016pic_point)]
- call __vpaes_schedule_core
-L$016pic_point:
- mov esp,DWORD [48+esp]
- xor eax,eax
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _vpaes_set_decrypt_key
-align 16
-_vpaes_set_decrypt_key:
-L$_vpaes_set_decrypt_key_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- lea ebx,[esp-56]
- mov eax,DWORD [24+esp]
- and ebx,-16
- mov edx,DWORD [28+esp]
- xchg ebx,esp
- mov DWORD [48+esp],ebx
- mov ebx,eax
- shr ebx,5
- add ebx,5
- mov DWORD [240+edx],ebx
- shl ebx,4
- lea edx,[16+ebx*1+edx]
- mov edi,1
- mov ecx,eax
- shr ecx,1
- and ecx,32
- xor ecx,32
- lea ebp,[(L$_vpaes_consts+0x30-L$017pic_point)]
- call __vpaes_schedule_core
-L$017pic_point:
- mov esp,DWORD [48+esp]
- xor eax,eax
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _vpaes_encrypt
-align 16
-_vpaes_encrypt:
-L$_vpaes_encrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- lea ebp,[(L$_vpaes_consts+0x30-L$018pic_point)]
- call __vpaes_preheat
-L$018pic_point:
- mov esi,DWORD [20+esp]
- lea ebx,[esp-56]
- mov edi,DWORD [24+esp]
- and ebx,-16
- mov edx,DWORD [28+esp]
- xchg ebx,esp
- mov DWORD [48+esp],ebx
- movdqu xmm0,[esi]
- call __vpaes_encrypt_core
- movdqu [edi],xmm0
- mov esp,DWORD [48+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _vpaes_decrypt
-align 16
-_vpaes_decrypt:
-L$_vpaes_decrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- lea ebp,[(L$_vpaes_consts+0x30-L$019pic_point)]
- call __vpaes_preheat
-L$019pic_point:
- mov esi,DWORD [20+esp]
- lea ebx,[esp-56]
- mov edi,DWORD [24+esp]
- and ebx,-16
- mov edx,DWORD [28+esp]
- xchg ebx,esp
- mov DWORD [48+esp],ebx
- movdqu xmm0,[esi]
- call __vpaes_decrypt_core
- movdqu [edi],xmm0
- mov esp,DWORD [48+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _vpaes_cbc_encrypt
-align 16
-_vpaes_cbc_encrypt:
-L$_vpaes_cbc_encrypt_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov edx,DWORD [32+esp]
- sub eax,16
- jc NEAR L$020cbc_abort
- lea ebx,[esp-56]
- mov ebp,DWORD [36+esp]
- and ebx,-16
- mov ecx,DWORD [40+esp]
- xchg ebx,esp
- movdqu xmm1,[ebp]
- sub edi,esi
- mov DWORD [48+esp],ebx
- mov DWORD [esp],edi
- mov DWORD [4+esp],edx
- mov DWORD [8+esp],ebp
- mov edi,eax
- lea ebp,[(L$_vpaes_consts+0x30-L$021pic_point)]
- call __vpaes_preheat
-L$021pic_point:
- cmp ecx,0
- je NEAR L$022cbc_dec_loop
- jmp NEAR L$023cbc_enc_loop
-align 16
-L$023cbc_enc_loop:
- movdqu xmm0,[esi]
- pxor xmm0,xmm1
- call __vpaes_encrypt_core
- mov ebx,DWORD [esp]
- mov edx,DWORD [4+esp]
- movdqa xmm1,xmm0
- movdqu [esi*1+ebx],xmm0
- lea esi,[16+esi]
- sub edi,16
- jnc NEAR L$023cbc_enc_loop
- jmp NEAR L$024cbc_done
-align 16
-L$022cbc_dec_loop:
- movdqu xmm0,[esi]
- movdqa [16+esp],xmm1
- movdqa [32+esp],xmm0
- call __vpaes_decrypt_core
- mov ebx,DWORD [esp]
- mov edx,DWORD [4+esp]
- pxor xmm0,[16+esp]
- movdqa xmm1,[32+esp]
- movdqu [esi*1+ebx],xmm0
- lea esi,[16+esi]
- sub edi,16
- jnc NEAR L$022cbc_dec_loop
-L$024cbc_done:
- mov ebx,DWORD [8+esp]
- mov esp,DWORD [48+esp]
- movdqu [ebx],xmm1
-L$020cbc_abort:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm
deleted file mode 100644
index 88c52f746c..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm
+++ /dev/null
@@ -1,700 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/modes/asm/ghash-x86.pl
-;
-; Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-global _gcm_gmult_4bit_x86
-align 16
-_gcm_gmult_4bit_x86:
-L$_gcm_gmult_4bit_x86_begin:
- push ebp
- push ebx
- push esi
- push edi
- sub esp,84
- mov edi,DWORD [104+esp]
- mov esi,DWORD [108+esp]
- mov ebp,DWORD [edi]
- mov edx,DWORD [4+edi]
- mov ecx,DWORD [8+edi]
- mov ebx,DWORD [12+edi]
- mov DWORD [16+esp],0
- mov DWORD [20+esp],471859200
- mov DWORD [24+esp],943718400
- mov DWORD [28+esp],610271232
- mov DWORD [32+esp],1887436800
- mov DWORD [36+esp],1822425088
- mov DWORD [40+esp],1220542464
- mov DWORD [44+esp],1423966208
- mov DWORD [48+esp],3774873600
- mov DWORD [52+esp],4246732800
- mov DWORD [56+esp],3644850176
- mov DWORD [60+esp],3311403008
- mov DWORD [64+esp],2441084928
- mov DWORD [68+esp],2376073216
- mov DWORD [72+esp],2847932416
- mov DWORD [76+esp],3051356160
- mov DWORD [esp],ebp
- mov DWORD [4+esp],edx
- mov DWORD [8+esp],ecx
- mov DWORD [12+esp],ebx
- shr ebx,20
- and ebx,240
- mov ebp,DWORD [4+ebx*1+esi]
- mov edx,DWORD [ebx*1+esi]
- mov ecx,DWORD [12+ebx*1+esi]
- mov ebx,DWORD [8+ebx*1+esi]
- xor eax,eax
- mov edi,15
- jmp NEAR L$000x86_loop
-align 16
-L$000x86_loop:
- mov al,bl
- shrd ebx,ecx,4
- and al,15
- shrd ecx,edx,4
- shrd edx,ebp,4
- shr ebp,4
- xor ebp,DWORD [16+eax*4+esp]
- mov al,BYTE [edi*1+esp]
- and al,240
- xor ebx,DWORD [8+eax*1+esi]
- xor ecx,DWORD [12+eax*1+esi]
- xor edx,DWORD [eax*1+esi]
- xor ebp,DWORD [4+eax*1+esi]
- dec edi
- js NEAR L$001x86_break
- mov al,bl
- shrd ebx,ecx,4
- and al,15
- shrd ecx,edx,4
- shrd edx,ebp,4
- shr ebp,4
- xor ebp,DWORD [16+eax*4+esp]
- mov al,BYTE [edi*1+esp]
- shl al,4
- xor ebx,DWORD [8+eax*1+esi]
- xor ecx,DWORD [12+eax*1+esi]
- xor edx,DWORD [eax*1+esi]
- xor ebp,DWORD [4+eax*1+esi]
- jmp NEAR L$000x86_loop
-align 16
-L$001x86_break:
- bswap ebx
- bswap ecx
- bswap edx
- bswap ebp
- mov edi,DWORD [104+esp]
- mov DWORD [12+edi],ebx
- mov DWORD [8+edi],ecx
- mov DWORD [4+edi],edx
- mov DWORD [edi],ebp
- add esp,84
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _gcm_ghash_4bit_x86
-align 16
-_gcm_ghash_4bit_x86:
-L$_gcm_ghash_4bit_x86_begin:
- push ebp
- push ebx
- push esi
- push edi
- sub esp,84
- mov ebx,DWORD [104+esp]
- mov esi,DWORD [108+esp]
- mov edi,DWORD [112+esp]
- mov ecx,DWORD [116+esp]
- add ecx,edi
- mov DWORD [116+esp],ecx
- mov ebp,DWORD [ebx]
- mov edx,DWORD [4+ebx]
- mov ecx,DWORD [8+ebx]
- mov ebx,DWORD [12+ebx]
- mov DWORD [16+esp],0
- mov DWORD [20+esp],471859200
- mov DWORD [24+esp],943718400
- mov DWORD [28+esp],610271232
- mov DWORD [32+esp],1887436800
- mov DWORD [36+esp],1822425088
- mov DWORD [40+esp],1220542464
- mov DWORD [44+esp],1423966208
- mov DWORD [48+esp],3774873600
- mov DWORD [52+esp],4246732800
- mov DWORD [56+esp],3644850176
- mov DWORD [60+esp],3311403008
- mov DWORD [64+esp],2441084928
- mov DWORD [68+esp],2376073216
- mov DWORD [72+esp],2847932416
- mov DWORD [76+esp],3051356160
-align 16
-L$002x86_outer_loop:
- xor ebx,DWORD [12+edi]
- xor ecx,DWORD [8+edi]
- xor edx,DWORD [4+edi]
- xor ebp,DWORD [edi]
- mov DWORD [12+esp],ebx
- mov DWORD [8+esp],ecx
- mov DWORD [4+esp],edx
- mov DWORD [esp],ebp
- shr ebx,20
- and ebx,240
- mov ebp,DWORD [4+ebx*1+esi]
- mov edx,DWORD [ebx*1+esi]
- mov ecx,DWORD [12+ebx*1+esi]
- mov ebx,DWORD [8+ebx*1+esi]
- xor eax,eax
- mov edi,15
- jmp NEAR L$003x86_loop
-align 16
-L$003x86_loop:
- mov al,bl
- shrd ebx,ecx,4
- and al,15
- shrd ecx,edx,4
- shrd edx,ebp,4
- shr ebp,4
- xor ebp,DWORD [16+eax*4+esp]
- mov al,BYTE [edi*1+esp]
- and al,240
- xor ebx,DWORD [8+eax*1+esi]
- xor ecx,DWORD [12+eax*1+esi]
- xor edx,DWORD [eax*1+esi]
- xor ebp,DWORD [4+eax*1+esi]
- dec edi
- js NEAR L$004x86_break
- mov al,bl
- shrd ebx,ecx,4
- and al,15
- shrd ecx,edx,4
- shrd edx,ebp,4
- shr ebp,4
- xor ebp,DWORD [16+eax*4+esp]
- mov al,BYTE [edi*1+esp]
- shl al,4
- xor ebx,DWORD [8+eax*1+esi]
- xor ecx,DWORD [12+eax*1+esi]
- xor edx,DWORD [eax*1+esi]
- xor ebp,DWORD [4+eax*1+esi]
- jmp NEAR L$003x86_loop
-align 16
-L$004x86_break:
- bswap ebx
- bswap ecx
- bswap edx
- bswap ebp
- mov edi,DWORD [112+esp]
- lea edi,[16+edi]
- cmp edi,DWORD [116+esp]
- mov DWORD [112+esp],edi
- jb NEAR L$002x86_outer_loop
- mov edi,DWORD [104+esp]
- mov DWORD [12+edi],ebx
- mov DWORD [8+edi],ecx
- mov DWORD [4+edi],edx
- mov DWORD [edi],ebp
- add esp,84
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-align 16
-__mmx_gmult_4bit_inner:
- xor ecx,ecx
- mov edx,ebx
- mov cl,dl
- shl cl,4
- and edx,240
- movq mm0,[8+ecx*1+esi]
- movq mm1,[ecx*1+esi]
- movd ebp,mm0
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [14+edi]
- psllq mm2,60
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [13+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [12+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [11+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [10+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [9+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [8+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [7+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [6+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [5+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [4+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [3+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [2+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [1+edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- mov cl,BYTE [edi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- mov edx,ecx
- movd ebx,mm0
- pxor mm0,mm2
- shl cl,4
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+ecx*1+esi]
- psllq mm2,60
- and edx,240
- pxor mm1,[ebp*8+eax]
- and ebx,15
- pxor mm1,[ecx*1+esi]
- movd ebp,mm0
- pxor mm0,mm2
- psrlq mm0,4
- movq mm2,mm1
- psrlq mm1,4
- pxor mm0,[8+edx*1+esi]
- psllq mm2,60
- pxor mm1,[ebx*8+eax]
- and ebp,15
- pxor mm1,[edx*1+esi]
- movd ebx,mm0
- pxor mm0,mm2
- mov edi,DWORD [4+ebp*8+eax]
- psrlq mm0,32
- movd edx,mm1
- psrlq mm1,32
- movd ecx,mm0
- movd ebp,mm1
- shl edi,4
- bswap ebx
- bswap edx
- bswap ecx
- xor ebp,edi
- bswap ebp
- ret
-global _gcm_gmult_4bit_mmx
-align 16
-_gcm_gmult_4bit_mmx:
-L$_gcm_gmult_4bit_mmx_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov edi,DWORD [20+esp]
- mov esi,DWORD [24+esp]
- call L$005pic_point
-L$005pic_point:
- pop eax
- lea eax,[(L$rem_4bit-L$005pic_point)+eax]
- movzx ebx,BYTE [15+edi]
- call __mmx_gmult_4bit_inner
- mov edi,DWORD [20+esp]
- emms
- mov DWORD [12+edi],ebx
- mov DWORD [4+edi],edx
- mov DWORD [8+edi],ecx
- mov DWORD [edi],ebp
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _gcm_ghash_4bit_mmx
-align 16
-_gcm_ghash_4bit_mmx:
-L$_gcm_ghash_4bit_mmx_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov ebp,DWORD [20+esp]
- mov esi,DWORD [24+esp]
- mov edi,DWORD [28+esp]
- mov ecx,DWORD [32+esp]
- call L$006pic_point
-L$006pic_point:
- pop eax
- lea eax,[(L$rem_4bit-L$006pic_point)+eax]
- add ecx,edi
- mov DWORD [32+esp],ecx
- sub esp,20
- mov ebx,DWORD [12+ebp]
- mov edx,DWORD [4+ebp]
- mov ecx,DWORD [8+ebp]
- mov ebp,DWORD [ebp]
- jmp NEAR L$007mmx_outer_loop
-align 16
-L$007mmx_outer_loop:
- xor ebx,DWORD [12+edi]
- xor edx,DWORD [4+edi]
- xor ecx,DWORD [8+edi]
- xor ebp,DWORD [edi]
- mov DWORD [48+esp],edi
- mov DWORD [12+esp],ebx
- mov DWORD [4+esp],edx
- mov DWORD [8+esp],ecx
- mov DWORD [esp],ebp
- mov edi,esp
- shr ebx,24
- call __mmx_gmult_4bit_inner
- mov edi,DWORD [48+esp]
- lea edi,[16+edi]
- cmp edi,DWORD [52+esp]
- jb NEAR L$007mmx_outer_loop
- mov edi,DWORD [40+esp]
- emms
- mov DWORD [12+edi],ebx
- mov DWORD [4+edi],edx
- mov DWORD [8+edi],ecx
- mov DWORD [edi],ebp
- add esp,20
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-align 64
-L$rem_4bit:
-dd 0,0,0,29491200,0,58982400,0,38141952
-dd 0,117964800,0,113901568,0,76283904,0,88997888
-dd 0,235929600,0,265420800,0,227803136,0,206962688
-dd 0,152567808,0,148504576,0,177995776,0,190709760
-db 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
-db 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
-db 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62
-db 0
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm
deleted file mode 100644
index bf2831e5ea..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm
+++ /dev/null
@@ -1,1394 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/sha/asm/sha1-586.pl
-;
-; Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-global _sha1_block_data_order
-align 16
-_sha1_block_data_order:
-L$_sha1_block_data_order_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov ebp,DWORD [20+esp]
- mov esi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- sub esp,76
- shl eax,6
- add eax,esi
- mov DWORD [104+esp],eax
- mov edi,DWORD [16+ebp]
- jmp NEAR L$000loop
-align 16
-L$000loop:
- mov eax,DWORD [esi]
- mov ebx,DWORD [4+esi]
- mov ecx,DWORD [8+esi]
- mov edx,DWORD [12+esi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- mov DWORD [esp],eax
- mov DWORD [4+esp],ebx
- mov DWORD [8+esp],ecx
- mov DWORD [12+esp],edx
- mov eax,DWORD [16+esi]
- mov ebx,DWORD [20+esi]
- mov ecx,DWORD [24+esi]
- mov edx,DWORD [28+esi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- mov DWORD [16+esp],eax
- mov DWORD [20+esp],ebx
- mov DWORD [24+esp],ecx
- mov DWORD [28+esp],edx
- mov eax,DWORD [32+esi]
- mov ebx,DWORD [36+esi]
- mov ecx,DWORD [40+esi]
- mov edx,DWORD [44+esi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- mov DWORD [32+esp],eax
- mov DWORD [36+esp],ebx
- mov DWORD [40+esp],ecx
- mov DWORD [44+esp],edx
- mov eax,DWORD [48+esi]
- mov ebx,DWORD [52+esi]
- mov ecx,DWORD [56+esi]
- mov edx,DWORD [60+esi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- mov DWORD [48+esp],eax
- mov DWORD [52+esp],ebx
- mov DWORD [56+esp],ecx
- mov DWORD [60+esp],edx
- mov DWORD [100+esp],esi
- mov eax,DWORD [ebp]
- mov ebx,DWORD [4+ebp]
- mov ecx,DWORD [8+ebp]
- mov edx,DWORD [12+ebp]
- ; 00_15 0
- mov esi,ecx
- mov ebp,eax
- rol ebp,5
- xor esi,edx
- add ebp,edi
- mov edi,DWORD [esp]
- and esi,ebx
- ror ebx,2
- xor esi,edx
- lea ebp,[1518500249+edi*1+ebp]
- add ebp,esi
- ; 00_15 1
- mov edi,ebx
- mov esi,ebp
- rol ebp,5
- xor edi,ecx
- add ebp,edx
- mov edx,DWORD [4+esp]
- and edi,eax
- ror eax,2
- xor edi,ecx
- lea ebp,[1518500249+edx*1+ebp]
- add ebp,edi
- ; 00_15 2
- mov edx,eax
- mov edi,ebp
- rol ebp,5
- xor edx,ebx
- add ebp,ecx
- mov ecx,DWORD [8+esp]
- and edx,esi
- ror esi,2
- xor edx,ebx
- lea ebp,[1518500249+ecx*1+ebp]
- add ebp,edx
- ; 00_15 3
- mov ecx,esi
- mov edx,ebp
- rol ebp,5
- xor ecx,eax
- add ebp,ebx
- mov ebx,DWORD [12+esp]
- and ecx,edi
- ror edi,2
- xor ecx,eax
- lea ebp,[1518500249+ebx*1+ebp]
- add ebp,ecx
- ; 00_15 4
- mov ebx,edi
- mov ecx,ebp
- rol ebp,5
- xor ebx,esi
- add ebp,eax
- mov eax,DWORD [16+esp]
- and ebx,edx
- ror edx,2
- xor ebx,esi
- lea ebp,[1518500249+eax*1+ebp]
- add ebp,ebx
- ; 00_15 5
- mov eax,edx
- mov ebx,ebp
- rol ebp,5
- xor eax,edi
- add ebp,esi
- mov esi,DWORD [20+esp]
- and eax,ecx
- ror ecx,2
- xor eax,edi
- lea ebp,[1518500249+esi*1+ebp]
- add ebp,eax
- ; 00_15 6
- mov esi,ecx
- mov eax,ebp
- rol ebp,5
- xor esi,edx
- add ebp,edi
- mov edi,DWORD [24+esp]
- and esi,ebx
- ror ebx,2
- xor esi,edx
- lea ebp,[1518500249+edi*1+ebp]
- add ebp,esi
- ; 00_15 7
- mov edi,ebx
- mov esi,ebp
- rol ebp,5
- xor edi,ecx
- add ebp,edx
- mov edx,DWORD [28+esp]
- and edi,eax
- ror eax,2
- xor edi,ecx
- lea ebp,[1518500249+edx*1+ebp]
- add ebp,edi
- ; 00_15 8
- mov edx,eax
- mov edi,ebp
- rol ebp,5
- xor edx,ebx
- add ebp,ecx
- mov ecx,DWORD [32+esp]
- and edx,esi
- ror esi,2
- xor edx,ebx
- lea ebp,[1518500249+ecx*1+ebp]
- add ebp,edx
- ; 00_15 9
- mov ecx,esi
- mov edx,ebp
- rol ebp,5
- xor ecx,eax
- add ebp,ebx
- mov ebx,DWORD [36+esp]
- and ecx,edi
- ror edi,2
- xor ecx,eax
- lea ebp,[1518500249+ebx*1+ebp]
- add ebp,ecx
- ; 00_15 10
- mov ebx,edi
- mov ecx,ebp
- rol ebp,5
- xor ebx,esi
- add ebp,eax
- mov eax,DWORD [40+esp]
- and ebx,edx
- ror edx,2
- xor ebx,esi
- lea ebp,[1518500249+eax*1+ebp]
- add ebp,ebx
- ; 00_15 11
- mov eax,edx
- mov ebx,ebp
- rol ebp,5
- xor eax,edi
- add ebp,esi
- mov esi,DWORD [44+esp]
- and eax,ecx
- ror ecx,2
- xor eax,edi
- lea ebp,[1518500249+esi*1+ebp]
- add ebp,eax
- ; 00_15 12
- mov esi,ecx
- mov eax,ebp
- rol ebp,5
- xor esi,edx
- add ebp,edi
- mov edi,DWORD [48+esp]
- and esi,ebx
- ror ebx,2
- xor esi,edx
- lea ebp,[1518500249+edi*1+ebp]
- add ebp,esi
- ; 00_15 13
- mov edi,ebx
- mov esi,ebp
- rol ebp,5
- xor edi,ecx
- add ebp,edx
- mov edx,DWORD [52+esp]
- and edi,eax
- ror eax,2
- xor edi,ecx
- lea ebp,[1518500249+edx*1+ebp]
- add ebp,edi
- ; 00_15 14
- mov edx,eax
- mov edi,ebp
- rol ebp,5
- xor edx,ebx
- add ebp,ecx
- mov ecx,DWORD [56+esp]
- and edx,esi
- ror esi,2
- xor edx,ebx
- lea ebp,[1518500249+ecx*1+ebp]
- add ebp,edx
- ; 00_15 15
- mov ecx,esi
- mov edx,ebp
- rol ebp,5
- xor ecx,eax
- add ebp,ebx
- mov ebx,DWORD [60+esp]
- and ecx,edi
- ror edi,2
- xor ecx,eax
- lea ebp,[1518500249+ebx*1+ebp]
- mov ebx,DWORD [esp]
- add ecx,ebp
- ; 16_19 16
- mov ebp,edi
- xor ebx,DWORD [8+esp]
- xor ebp,esi
- xor ebx,DWORD [32+esp]
- and ebp,edx
- xor ebx,DWORD [52+esp]
- rol ebx,1
- xor ebp,esi
- add eax,ebp
- mov ebp,ecx
- ror edx,2
- mov DWORD [esp],ebx
- rol ebp,5
- lea ebx,[1518500249+eax*1+ebx]
- mov eax,DWORD [4+esp]
- add ebx,ebp
- ; 16_19 17
- mov ebp,edx
- xor eax,DWORD [12+esp]
- xor ebp,edi
- xor eax,DWORD [36+esp]
- and ebp,ecx
- xor eax,DWORD [56+esp]
- rol eax,1
- xor ebp,edi
- add esi,ebp
- mov ebp,ebx
- ror ecx,2
- mov DWORD [4+esp],eax
- rol ebp,5
- lea eax,[1518500249+esi*1+eax]
- mov esi,DWORD [8+esp]
- add eax,ebp
- ; 16_19 18
- mov ebp,ecx
- xor esi,DWORD [16+esp]
- xor ebp,edx
- xor esi,DWORD [40+esp]
- and ebp,ebx
- xor esi,DWORD [60+esp]
- rol esi,1
- xor ebp,edx
- add edi,ebp
- mov ebp,eax
- ror ebx,2
- mov DWORD [8+esp],esi
- rol ebp,5
- lea esi,[1518500249+edi*1+esi]
- mov edi,DWORD [12+esp]
- add esi,ebp
- ; 16_19 19
- mov ebp,ebx
- xor edi,DWORD [20+esp]
- xor ebp,ecx
- xor edi,DWORD [44+esp]
- and ebp,eax
- xor edi,DWORD [esp]
- rol edi,1
- xor ebp,ecx
- add edx,ebp
- mov ebp,esi
- ror eax,2
- mov DWORD [12+esp],edi
- rol ebp,5
- lea edi,[1518500249+edx*1+edi]
- mov edx,DWORD [16+esp]
- add edi,ebp
- ; 20_39 20
- mov ebp,esi
- xor edx,DWORD [24+esp]
- xor ebp,eax
- xor edx,DWORD [48+esp]
- xor ebp,ebx
- xor edx,DWORD [4+esp]
- rol edx,1
- add ecx,ebp
- ror esi,2
- mov ebp,edi
- rol ebp,5
- mov DWORD [16+esp],edx
- lea edx,[1859775393+ecx*1+edx]
- mov ecx,DWORD [20+esp]
- add edx,ebp
- ; 20_39 21
- mov ebp,edi
- xor ecx,DWORD [28+esp]
- xor ebp,esi
- xor ecx,DWORD [52+esp]
- xor ebp,eax
- xor ecx,DWORD [8+esp]
- rol ecx,1
- add ebx,ebp
- ror edi,2
- mov ebp,edx
- rol ebp,5
- mov DWORD [20+esp],ecx
- lea ecx,[1859775393+ebx*1+ecx]
- mov ebx,DWORD [24+esp]
- add ecx,ebp
- ; 20_39 22
- mov ebp,edx
- xor ebx,DWORD [32+esp]
- xor ebp,edi
- xor ebx,DWORD [56+esp]
- xor ebp,esi
- xor ebx,DWORD [12+esp]
- rol ebx,1
- add eax,ebp
- ror edx,2
- mov ebp,ecx
- rol ebp,5
- mov DWORD [24+esp],ebx
- lea ebx,[1859775393+eax*1+ebx]
- mov eax,DWORD [28+esp]
- add ebx,ebp
- ; 20_39 23
- mov ebp,ecx
- xor eax,DWORD [36+esp]
- xor ebp,edx
- xor eax,DWORD [60+esp]
- xor ebp,edi
- xor eax,DWORD [16+esp]
- rol eax,1
- add esi,ebp
- ror ecx,2
- mov ebp,ebx
- rol ebp,5
- mov DWORD [28+esp],eax
- lea eax,[1859775393+esi*1+eax]
- mov esi,DWORD [32+esp]
- add eax,ebp
- ; 20_39 24
- mov ebp,ebx
- xor esi,DWORD [40+esp]
- xor ebp,ecx
- xor esi,DWORD [esp]
- xor ebp,edx
- xor esi,DWORD [20+esp]
- rol esi,1
- add edi,ebp
- ror ebx,2
- mov ebp,eax
- rol ebp,5
- mov DWORD [32+esp],esi
- lea esi,[1859775393+edi*1+esi]
- mov edi,DWORD [36+esp]
- add esi,ebp
- ; 20_39 25
- mov ebp,eax
- xor edi,DWORD [44+esp]
- xor ebp,ebx
- xor edi,DWORD [4+esp]
- xor ebp,ecx
- xor edi,DWORD [24+esp]
- rol edi,1
- add edx,ebp
- ror eax,2
- mov ebp,esi
- rol ebp,5
- mov DWORD [36+esp],edi
- lea edi,[1859775393+edx*1+edi]
- mov edx,DWORD [40+esp]
- add edi,ebp
- ; 20_39 26
- mov ebp,esi
- xor edx,DWORD [48+esp]
- xor ebp,eax
- xor edx,DWORD [8+esp]
- xor ebp,ebx
- xor edx,DWORD [28+esp]
- rol edx,1
- add ecx,ebp
- ror esi,2
- mov ebp,edi
- rol ebp,5
- mov DWORD [40+esp],edx
- lea edx,[1859775393+ecx*1+edx]
- mov ecx,DWORD [44+esp]
- add edx,ebp
- ; 20_39 27
- mov ebp,edi
- xor ecx,DWORD [52+esp]
- xor ebp,esi
- xor ecx,DWORD [12+esp]
- xor ebp,eax
- xor ecx,DWORD [32+esp]
- rol ecx,1
- add ebx,ebp
- ror edi,2
- mov ebp,edx
- rol ebp,5
- mov DWORD [44+esp],ecx
- lea ecx,[1859775393+ebx*1+ecx]
- mov ebx,DWORD [48+esp]
- add ecx,ebp
- ; 20_39 28
- mov ebp,edx
- xor ebx,DWORD [56+esp]
- xor ebp,edi
- xor ebx,DWORD [16+esp]
- xor ebp,esi
- xor ebx,DWORD [36+esp]
- rol ebx,1
- add eax,ebp
- ror edx,2
- mov ebp,ecx
- rol ebp,5
- mov DWORD [48+esp],ebx
- lea ebx,[1859775393+eax*1+ebx]
- mov eax,DWORD [52+esp]
- add ebx,ebp
- ; 20_39 29
- mov ebp,ecx
- xor eax,DWORD [60+esp]
- xor ebp,edx
- xor eax,DWORD [20+esp]
- xor ebp,edi
- xor eax,DWORD [40+esp]
- rol eax,1
- add esi,ebp
- ror ecx,2
- mov ebp,ebx
- rol ebp,5
- mov DWORD [52+esp],eax
- lea eax,[1859775393+esi*1+eax]
- mov esi,DWORD [56+esp]
- add eax,ebp
- ; 20_39 30
- mov ebp,ebx
- xor esi,DWORD [esp]
- xor ebp,ecx
- xor esi,DWORD [24+esp]
- xor ebp,edx
- xor esi,DWORD [44+esp]
- rol esi,1
- add edi,ebp
- ror ebx,2
- mov ebp,eax
- rol ebp,5
- mov DWORD [56+esp],esi
- lea esi,[1859775393+edi*1+esi]
- mov edi,DWORD [60+esp]
- add esi,ebp
- ; 20_39 31
- mov ebp,eax
- xor edi,DWORD [4+esp]
- xor ebp,ebx
- xor edi,DWORD [28+esp]
- xor ebp,ecx
- xor edi,DWORD [48+esp]
- rol edi,1
- add edx,ebp
- ror eax,2
- mov ebp,esi
- rol ebp,5
- mov DWORD [60+esp],edi
- lea edi,[1859775393+edx*1+edi]
- mov edx,DWORD [esp]
- add edi,ebp
- ; 20_39 32
- mov ebp,esi
- xor edx,DWORD [8+esp]
- xor ebp,eax
- xor edx,DWORD [32+esp]
- xor ebp,ebx
- xor edx,DWORD [52+esp]
- rol edx,1
- add ecx,ebp
- ror esi,2
- mov ebp,edi
- rol ebp,5
- mov DWORD [esp],edx
- lea edx,[1859775393+ecx*1+edx]
- mov ecx,DWORD [4+esp]
- add edx,ebp
- ; 20_39 33
- mov ebp,edi
- xor ecx,DWORD [12+esp]
- xor ebp,esi
- xor ecx,DWORD [36+esp]
- xor ebp,eax
- xor ecx,DWORD [56+esp]
- rol ecx,1
- add ebx,ebp
- ror edi,2
- mov ebp,edx
- rol ebp,5
- mov DWORD [4+esp],ecx
- lea ecx,[1859775393+ebx*1+ecx]
- mov ebx,DWORD [8+esp]
- add ecx,ebp
- ; 20_39 34
- mov ebp,edx
- xor ebx,DWORD [16+esp]
- xor ebp,edi
- xor ebx,DWORD [40+esp]
- xor ebp,esi
- xor ebx,DWORD [60+esp]
- rol ebx,1
- add eax,ebp
- ror edx,2
- mov ebp,ecx
- rol ebp,5
- mov DWORD [8+esp],ebx
- lea ebx,[1859775393+eax*1+ebx]
- mov eax,DWORD [12+esp]
- add ebx,ebp
- ; 20_39 35
- mov ebp,ecx
- xor eax,DWORD [20+esp]
- xor ebp,edx
- xor eax,DWORD [44+esp]
- xor ebp,edi
- xor eax,DWORD [esp]
- rol eax,1
- add esi,ebp
- ror ecx,2
- mov ebp,ebx
- rol ebp,5
- mov DWORD [12+esp],eax
- lea eax,[1859775393+esi*1+eax]
- mov esi,DWORD [16+esp]
- add eax,ebp
- ; 20_39 36
- mov ebp,ebx
- xor esi,DWORD [24+esp]
- xor ebp,ecx
- xor esi,DWORD [48+esp]
- xor ebp,edx
- xor esi,DWORD [4+esp]
- rol esi,1
- add edi,ebp
- ror ebx,2
- mov ebp,eax
- rol ebp,5
- mov DWORD [16+esp],esi
- lea esi,[1859775393+edi*1+esi]
- mov edi,DWORD [20+esp]
- add esi,ebp
- ; 20_39 37
- mov ebp,eax
- xor edi,DWORD [28+esp]
- xor ebp,ebx
- xor edi,DWORD [52+esp]
- xor ebp,ecx
- xor edi,DWORD [8+esp]
- rol edi,1
- add edx,ebp
- ror eax,2
- mov ebp,esi
- rol ebp,5
- mov DWORD [20+esp],edi
- lea edi,[1859775393+edx*1+edi]
- mov edx,DWORD [24+esp]
- add edi,ebp
- ; 20_39 38
- mov ebp,esi
- xor edx,DWORD [32+esp]
- xor ebp,eax
- xor edx,DWORD [56+esp]
- xor ebp,ebx
- xor edx,DWORD [12+esp]
- rol edx,1
- add ecx,ebp
- ror esi,2
- mov ebp,edi
- rol ebp,5
- mov DWORD [24+esp],edx
- lea edx,[1859775393+ecx*1+edx]
- mov ecx,DWORD [28+esp]
- add edx,ebp
- ; 20_39 39
- mov ebp,edi
- xor ecx,DWORD [36+esp]
- xor ebp,esi
- xor ecx,DWORD [60+esp]
- xor ebp,eax
- xor ecx,DWORD [16+esp]
- rol ecx,1
- add ebx,ebp
- ror edi,2
- mov ebp,edx
- rol ebp,5
- mov DWORD [28+esp],ecx
- lea ecx,[1859775393+ebx*1+ecx]
- mov ebx,DWORD [32+esp]
- add ecx,ebp
- ; 40_59 40
- mov ebp,edi
- xor ebx,DWORD [40+esp]
- xor ebp,esi
- xor ebx,DWORD [esp]
- and ebp,edx
- xor ebx,DWORD [20+esp]
- rol ebx,1
- add ebp,eax
- ror edx,2
- mov eax,ecx
- rol eax,5
- mov DWORD [32+esp],ebx
- lea ebx,[2400959708+ebp*1+ebx]
- mov ebp,edi
- add ebx,eax
- and ebp,esi
- mov eax,DWORD [36+esp]
- add ebx,ebp
- ; 40_59 41
- mov ebp,edx
- xor eax,DWORD [44+esp]
- xor ebp,edi
- xor eax,DWORD [4+esp]
- and ebp,ecx
- xor eax,DWORD [24+esp]
- rol eax,1
- add ebp,esi
- ror ecx,2
- mov esi,ebx
- rol esi,5
- mov DWORD [36+esp],eax
- lea eax,[2400959708+ebp*1+eax]
- mov ebp,edx
- add eax,esi
- and ebp,edi
- mov esi,DWORD [40+esp]
- add eax,ebp
- ; 40_59 42
- mov ebp,ecx
- xor esi,DWORD [48+esp]
- xor ebp,edx
- xor esi,DWORD [8+esp]
- and ebp,ebx
- xor esi,DWORD [28+esp]
- rol esi,1
- add ebp,edi
- ror ebx,2
- mov edi,eax
- rol edi,5
- mov DWORD [40+esp],esi
- lea esi,[2400959708+ebp*1+esi]
- mov ebp,ecx
- add esi,edi
- and ebp,edx
- mov edi,DWORD [44+esp]
- add esi,ebp
- ; 40_59 43
- mov ebp,ebx
- xor edi,DWORD [52+esp]
- xor ebp,ecx
- xor edi,DWORD [12+esp]
- and ebp,eax
- xor edi,DWORD [32+esp]
- rol edi,1
- add ebp,edx
- ror eax,2
- mov edx,esi
- rol edx,5
- mov DWORD [44+esp],edi
- lea edi,[2400959708+ebp*1+edi]
- mov ebp,ebx
- add edi,edx
- and ebp,ecx
- mov edx,DWORD [48+esp]
- add edi,ebp
- ; 40_59 44
- mov ebp,eax
- xor edx,DWORD [56+esp]
- xor ebp,ebx
- xor edx,DWORD [16+esp]
- and ebp,esi
- xor edx,DWORD [36+esp]
- rol edx,1
- add ebp,ecx
- ror esi,2
- mov ecx,edi
- rol ecx,5
- mov DWORD [48+esp],edx
- lea edx,[2400959708+ebp*1+edx]
- mov ebp,eax
- add edx,ecx
- and ebp,ebx
- mov ecx,DWORD [52+esp]
- add edx,ebp
- ; 40_59 45
- mov ebp,esi
- xor ecx,DWORD [60+esp]
- xor ebp,eax
- xor ecx,DWORD [20+esp]
- and ebp,edi
- xor ecx,DWORD [40+esp]
- rol ecx,1
- add ebp,ebx
- ror edi,2
- mov ebx,edx
- rol ebx,5
- mov DWORD [52+esp],ecx
- lea ecx,[2400959708+ebp*1+ecx]
- mov ebp,esi
- add ecx,ebx
- and ebp,eax
- mov ebx,DWORD [56+esp]
- add ecx,ebp
- ; 40_59 46
- mov ebp,edi
- xor ebx,DWORD [esp]
- xor ebp,esi
- xor ebx,DWORD [24+esp]
- and ebp,edx
- xor ebx,DWORD [44+esp]
- rol ebx,1
- add ebp,eax
- ror edx,2
- mov eax,ecx
- rol eax,5
- mov DWORD [56+esp],ebx
- lea ebx,[2400959708+ebp*1+ebx]
- mov ebp,edi
- add ebx,eax
- and ebp,esi
- mov eax,DWORD [60+esp]
- add ebx,ebp
- ; 40_59 47
- mov ebp,edx
- xor eax,DWORD [4+esp]
- xor ebp,edi
- xor eax,DWORD [28+esp]
- and ebp,ecx
- xor eax,DWORD [48+esp]
- rol eax,1
- add ebp,esi
- ror ecx,2
- mov esi,ebx
- rol esi,5
- mov DWORD [60+esp],eax
- lea eax,[2400959708+ebp*1+eax]
- mov ebp,edx
- add eax,esi
- and ebp,edi
- mov esi,DWORD [esp]
- add eax,ebp
- ; 40_59 48
- mov ebp,ecx
- xor esi,DWORD [8+esp]
- xor ebp,edx
- xor esi,DWORD [32+esp]
- and ebp,ebx
- xor esi,DWORD [52+esp]
- rol esi,1
- add ebp,edi
- ror ebx,2
- mov edi,eax
- rol edi,5
- mov DWORD [esp],esi
- lea esi,[2400959708+ebp*1+esi]
- mov ebp,ecx
- add esi,edi
- and ebp,edx
- mov edi,DWORD [4+esp]
- add esi,ebp
- ; 40_59 49
- mov ebp,ebx
- xor edi,DWORD [12+esp]
- xor ebp,ecx
- xor edi,DWORD [36+esp]
- and ebp,eax
- xor edi,DWORD [56+esp]
- rol edi,1
- add ebp,edx
- ror eax,2
- mov edx,esi
- rol edx,5
- mov DWORD [4+esp],edi
- lea edi,[2400959708+ebp*1+edi]
- mov ebp,ebx
- add edi,edx
- and ebp,ecx
- mov edx,DWORD [8+esp]
- add edi,ebp
- ; 40_59 50
- mov ebp,eax
- xor edx,DWORD [16+esp]
- xor ebp,ebx
- xor edx,DWORD [40+esp]
- and ebp,esi
- xor edx,DWORD [60+esp]
- rol edx,1
- add ebp,ecx
- ror esi,2
- mov ecx,edi
- rol ecx,5
- mov DWORD [8+esp],edx
- lea edx,[2400959708+ebp*1+edx]
- mov ebp,eax
- add edx,ecx
- and ebp,ebx
- mov ecx,DWORD [12+esp]
- add edx,ebp
- ; 40_59 51
- mov ebp,esi
- xor ecx,DWORD [20+esp]
- xor ebp,eax
- xor ecx,DWORD [44+esp]
- and ebp,edi
- xor ecx,DWORD [esp]
- rol ecx,1
- add ebp,ebx
- ror edi,2
- mov ebx,edx
- rol ebx,5
- mov DWORD [12+esp],ecx
- lea ecx,[2400959708+ebp*1+ecx]
- mov ebp,esi
- add ecx,ebx
- and ebp,eax
- mov ebx,DWORD [16+esp]
- add ecx,ebp
- ; 40_59 52
- mov ebp,edi
- xor ebx,DWORD [24+esp]
- xor ebp,esi
- xor ebx,DWORD [48+esp]
- and ebp,edx
- xor ebx,DWORD [4+esp]
- rol ebx,1
- add ebp,eax
- ror edx,2
- mov eax,ecx
- rol eax,5
- mov DWORD [16+esp],ebx
- lea ebx,[2400959708+ebp*1+ebx]
- mov ebp,edi
- add ebx,eax
- and ebp,esi
- mov eax,DWORD [20+esp]
- add ebx,ebp
- ; 40_59 53
- mov ebp,edx
- xor eax,DWORD [28+esp]
- xor ebp,edi
- xor eax,DWORD [52+esp]
- and ebp,ecx
- xor eax,DWORD [8+esp]
- rol eax,1
- add ebp,esi
- ror ecx,2
- mov esi,ebx
- rol esi,5
- mov DWORD [20+esp],eax
- lea eax,[2400959708+ebp*1+eax]
- mov ebp,edx
- add eax,esi
- and ebp,edi
- mov esi,DWORD [24+esp]
- add eax,ebp
- ; 40_59 54
- mov ebp,ecx
- xor esi,DWORD [32+esp]
- xor ebp,edx
- xor esi,DWORD [56+esp]
- and ebp,ebx
- xor esi,DWORD [12+esp]
- rol esi,1
- add ebp,edi
- ror ebx,2
- mov edi,eax
- rol edi,5
- mov DWORD [24+esp],esi
- lea esi,[2400959708+ebp*1+esi]
- mov ebp,ecx
- add esi,edi
- and ebp,edx
- mov edi,DWORD [28+esp]
- add esi,ebp
- ; 40_59 55
- mov ebp,ebx
- xor edi,DWORD [36+esp]
- xor ebp,ecx
- xor edi,DWORD [60+esp]
- and ebp,eax
- xor edi,DWORD [16+esp]
- rol edi,1
- add ebp,edx
- ror eax,2
- mov edx,esi
- rol edx,5
- mov DWORD [28+esp],edi
- lea edi,[2400959708+ebp*1+edi]
- mov ebp,ebx
- add edi,edx
- and ebp,ecx
- mov edx,DWORD [32+esp]
- add edi,ebp
- ; 40_59 56
- mov ebp,eax
- xor edx,DWORD [40+esp]
- xor ebp,ebx
- xor edx,DWORD [esp]
- and ebp,esi
- xor edx,DWORD [20+esp]
- rol edx,1
- add ebp,ecx
- ror esi,2
- mov ecx,edi
- rol ecx,5
- mov DWORD [32+esp],edx
- lea edx,[2400959708+ebp*1+edx]
- mov ebp,eax
- add edx,ecx
- and ebp,ebx
- mov ecx,DWORD [36+esp]
- add edx,ebp
- ; 40_59 57
- mov ebp,esi
- xor ecx,DWORD [44+esp]
- xor ebp,eax
- xor ecx,DWORD [4+esp]
- and ebp,edi
- xor ecx,DWORD [24+esp]
- rol ecx,1
- add ebp,ebx
- ror edi,2
- mov ebx,edx
- rol ebx,5
- mov DWORD [36+esp],ecx
- lea ecx,[2400959708+ebp*1+ecx]
- mov ebp,esi
- add ecx,ebx
- and ebp,eax
- mov ebx,DWORD [40+esp]
- add ecx,ebp
- ; 40_59 58
- mov ebp,edi
- xor ebx,DWORD [48+esp]
- xor ebp,esi
- xor ebx,DWORD [8+esp]
- and ebp,edx
- xor ebx,DWORD [28+esp]
- rol ebx,1
- add ebp,eax
- ror edx,2
- mov eax,ecx
- rol eax,5
- mov DWORD [40+esp],ebx
- lea ebx,[2400959708+ebp*1+ebx]
- mov ebp,edi
- add ebx,eax
- and ebp,esi
- mov eax,DWORD [44+esp]
- add ebx,ebp
- ; 40_59 59
- mov ebp,edx
- xor eax,DWORD [52+esp]
- xor ebp,edi
- xor eax,DWORD [12+esp]
- and ebp,ecx
- xor eax,DWORD [32+esp]
- rol eax,1
- add ebp,esi
- ror ecx,2
- mov esi,ebx
- rol esi,5
- mov DWORD [44+esp],eax
- lea eax,[2400959708+ebp*1+eax]
- mov ebp,edx
- add eax,esi
- and ebp,edi
- mov esi,DWORD [48+esp]
- add eax,ebp
- ; 20_39 60
- mov ebp,ebx
- xor esi,DWORD [56+esp]
- xor ebp,ecx
- xor esi,DWORD [16+esp]
- xor ebp,edx
- xor esi,DWORD [36+esp]
- rol esi,1
- add edi,ebp
- ror ebx,2
- mov ebp,eax
- rol ebp,5
- mov DWORD [48+esp],esi
- lea esi,[3395469782+edi*1+esi]
- mov edi,DWORD [52+esp]
- add esi,ebp
- ; 20_39 61
- mov ebp,eax
- xor edi,DWORD [60+esp]
- xor ebp,ebx
- xor edi,DWORD [20+esp]
- xor ebp,ecx
- xor edi,DWORD [40+esp]
- rol edi,1
- add edx,ebp
- ror eax,2
- mov ebp,esi
- rol ebp,5
- mov DWORD [52+esp],edi
- lea edi,[3395469782+edx*1+edi]
- mov edx,DWORD [56+esp]
- add edi,ebp
- ; 20_39 62
- mov ebp,esi
- xor edx,DWORD [esp]
- xor ebp,eax
- xor edx,DWORD [24+esp]
- xor ebp,ebx
- xor edx,DWORD [44+esp]
- rol edx,1
- add ecx,ebp
- ror esi,2
- mov ebp,edi
- rol ebp,5
- mov DWORD [56+esp],edx
- lea edx,[3395469782+ecx*1+edx]
- mov ecx,DWORD [60+esp]
- add edx,ebp
- ; 20_39 63
- mov ebp,edi
- xor ecx,DWORD [4+esp]
- xor ebp,esi
- xor ecx,DWORD [28+esp]
- xor ebp,eax
- xor ecx,DWORD [48+esp]
- rol ecx,1
- add ebx,ebp
- ror edi,2
- mov ebp,edx
- rol ebp,5
- mov DWORD [60+esp],ecx
- lea ecx,[3395469782+ebx*1+ecx]
- mov ebx,DWORD [esp]
- add ecx,ebp
- ; 20_39 64
- mov ebp,edx
- xor ebx,DWORD [8+esp]
- xor ebp,edi
- xor ebx,DWORD [32+esp]
- xor ebp,esi
- xor ebx,DWORD [52+esp]
- rol ebx,1
- add eax,ebp
- ror edx,2
- mov ebp,ecx
- rol ebp,5
- mov DWORD [esp],ebx
- lea ebx,[3395469782+eax*1+ebx]
- mov eax,DWORD [4+esp]
- add ebx,ebp
- ; 20_39 65
- mov ebp,ecx
- xor eax,DWORD [12+esp]
- xor ebp,edx
- xor eax,DWORD [36+esp]
- xor ebp,edi
- xor eax,DWORD [56+esp]
- rol eax,1
- add esi,ebp
- ror ecx,2
- mov ebp,ebx
- rol ebp,5
- mov DWORD [4+esp],eax
- lea eax,[3395469782+esi*1+eax]
- mov esi,DWORD [8+esp]
- add eax,ebp
- ; 20_39 66
- mov ebp,ebx
- xor esi,DWORD [16+esp]
- xor ebp,ecx
- xor esi,DWORD [40+esp]
- xor ebp,edx
- xor esi,DWORD [60+esp]
- rol esi,1
- add edi,ebp
- ror ebx,2
- mov ebp,eax
- rol ebp,5
- mov DWORD [8+esp],esi
- lea esi,[3395469782+edi*1+esi]
- mov edi,DWORD [12+esp]
- add esi,ebp
- ; 20_39 67
- mov ebp,eax
- xor edi,DWORD [20+esp]
- xor ebp,ebx
- xor edi,DWORD [44+esp]
- xor ebp,ecx
- xor edi,DWORD [esp]
- rol edi,1
- add edx,ebp
- ror eax,2
- mov ebp,esi
- rol ebp,5
- mov DWORD [12+esp],edi
- lea edi,[3395469782+edx*1+edi]
- mov edx,DWORD [16+esp]
- add edi,ebp
- ; 20_39 68
- mov ebp,esi
- xor edx,DWORD [24+esp]
- xor ebp,eax
- xor edx,DWORD [48+esp]
- xor ebp,ebx
- xor edx,DWORD [4+esp]
- rol edx,1
- add ecx,ebp
- ror esi,2
- mov ebp,edi
- rol ebp,5
- mov DWORD [16+esp],edx
- lea edx,[3395469782+ecx*1+edx]
- mov ecx,DWORD [20+esp]
- add edx,ebp
- ; 20_39 69
- mov ebp,edi
- xor ecx,DWORD [28+esp]
- xor ebp,esi
- xor ecx,DWORD [52+esp]
- xor ebp,eax
- xor ecx,DWORD [8+esp]
- rol ecx,1
- add ebx,ebp
- ror edi,2
- mov ebp,edx
- rol ebp,5
- mov DWORD [20+esp],ecx
- lea ecx,[3395469782+ebx*1+ecx]
- mov ebx,DWORD [24+esp]
- add ecx,ebp
- ; 20_39 70
- mov ebp,edx
- xor ebx,DWORD [32+esp]
- xor ebp,edi
- xor ebx,DWORD [56+esp]
- xor ebp,esi
- xor ebx,DWORD [12+esp]
- rol ebx,1
- add eax,ebp
- ror edx,2
- mov ebp,ecx
- rol ebp,5
- mov DWORD [24+esp],ebx
- lea ebx,[3395469782+eax*1+ebx]
- mov eax,DWORD [28+esp]
- add ebx,ebp
- ; 20_39 71
- mov ebp,ecx
- xor eax,DWORD [36+esp]
- xor ebp,edx
- xor eax,DWORD [60+esp]
- xor ebp,edi
- xor eax,DWORD [16+esp]
- rol eax,1
- add esi,ebp
- ror ecx,2
- mov ebp,ebx
- rol ebp,5
- mov DWORD [28+esp],eax
- lea eax,[3395469782+esi*1+eax]
- mov esi,DWORD [32+esp]
- add eax,ebp
- ; 20_39 72
- mov ebp,ebx
- xor esi,DWORD [40+esp]
- xor ebp,ecx
- xor esi,DWORD [esp]
- xor ebp,edx
- xor esi,DWORD [20+esp]
- rol esi,1
- add edi,ebp
- ror ebx,2
- mov ebp,eax
- rol ebp,5
- mov DWORD [32+esp],esi
- lea esi,[3395469782+edi*1+esi]
- mov edi,DWORD [36+esp]
- add esi,ebp
- ; 20_39 73
- mov ebp,eax
- xor edi,DWORD [44+esp]
- xor ebp,ebx
- xor edi,DWORD [4+esp]
- xor ebp,ecx
- xor edi,DWORD [24+esp]
- rol edi,1
- add edx,ebp
- ror eax,2
- mov ebp,esi
- rol ebp,5
- mov DWORD [36+esp],edi
- lea edi,[3395469782+edx*1+edi]
- mov edx,DWORD [40+esp]
- add edi,ebp
- ; 20_39 74
- mov ebp,esi
- xor edx,DWORD [48+esp]
- xor ebp,eax
- xor edx,DWORD [8+esp]
- xor ebp,ebx
- xor edx,DWORD [28+esp]
- rol edx,1
- add ecx,ebp
- ror esi,2
- mov ebp,edi
- rol ebp,5
- mov DWORD [40+esp],edx
- lea edx,[3395469782+ecx*1+edx]
- mov ecx,DWORD [44+esp]
- add edx,ebp
- ; 20_39 75
- mov ebp,edi
- xor ecx,DWORD [52+esp]
- xor ebp,esi
- xor ecx,DWORD [12+esp]
- xor ebp,eax
- xor ecx,DWORD [32+esp]
- rol ecx,1
- add ebx,ebp
- ror edi,2
- mov ebp,edx
- rol ebp,5
- mov DWORD [44+esp],ecx
- lea ecx,[3395469782+ebx*1+ecx]
- mov ebx,DWORD [48+esp]
- add ecx,ebp
- ; 20_39 76
- mov ebp,edx
- xor ebx,DWORD [56+esp]
- xor ebp,edi
- xor ebx,DWORD [16+esp]
- xor ebp,esi
- xor ebx,DWORD [36+esp]
- rol ebx,1
- add eax,ebp
- ror edx,2
- mov ebp,ecx
- rol ebp,5
- mov DWORD [48+esp],ebx
- lea ebx,[3395469782+eax*1+ebx]
- mov eax,DWORD [52+esp]
- add ebx,ebp
- ; 20_39 77
- mov ebp,ecx
- xor eax,DWORD [60+esp]
- xor ebp,edx
- xor eax,DWORD [20+esp]
- xor ebp,edi
- xor eax,DWORD [40+esp]
- rol eax,1
- add esi,ebp
- ror ecx,2
- mov ebp,ebx
- rol ebp,5
- lea eax,[3395469782+esi*1+eax]
- mov esi,DWORD [56+esp]
- add eax,ebp
- ; 20_39 78
- mov ebp,ebx
- xor esi,DWORD [esp]
- xor ebp,ecx
- xor esi,DWORD [24+esp]
- xor ebp,edx
- xor esi,DWORD [44+esp]
- rol esi,1
- add edi,ebp
- ror ebx,2
- mov ebp,eax
- rol ebp,5
- lea esi,[3395469782+edi*1+esi]
- mov edi,DWORD [60+esp]
- add esi,ebp
- ; 20_39 79
- mov ebp,eax
- xor edi,DWORD [4+esp]
- xor ebp,ebx
- xor edi,DWORD [28+esp]
- xor ebp,ecx
- xor edi,DWORD [48+esp]
- rol edi,1
- add edx,ebp
- ror eax,2
- mov ebp,esi
- rol ebp,5
- lea edi,[3395469782+edx*1+edi]
- add edi,ebp
- mov ebp,DWORD [96+esp]
- mov edx,DWORD [100+esp]
- add edi,DWORD [ebp]
- add esi,DWORD [4+ebp]
- add eax,DWORD [8+ebp]
- add ebx,DWORD [12+ebp]
- add ecx,DWORD [16+ebp]
- mov DWORD [ebp],edi
- add edx,64
- mov DWORD [4+ebp],esi
- cmp edx,DWORD [104+esp]
- mov DWORD [8+ebp],eax
- mov edi,ecx
- mov DWORD [12+ebp],ebx
- mov esi,edx
- mov DWORD [16+ebp],ecx
- jb NEAR L$000loop
- add esp,76
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-db 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
-db 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82
-db 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112
-db 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm
deleted file mode 100644
index 4598dae75a..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm
+++ /dev/null
@@ -1,3364 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/sha/asm/sha256-586.pl
-;
-; Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-;extern _OPENSSL_ia32cap_P
-global _sha256_block_data_order
-align 16
-_sha256_block_data_order:
-L$_sha256_block_data_order_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov ebx,esp
- call L$000pic_point
-L$000pic_point:
- pop ebp
- lea ebp,[(L$001K256-L$000pic_point)+ebp]
- sub esp,16
- and esp,-64
- shl eax,6
- add eax,edi
- mov DWORD [esp],esi
- mov DWORD [4+esp],edi
- mov DWORD [8+esp],eax
- mov DWORD [12+esp],ebx
- jmp NEAR L$002loop
-align 16
-L$002loop:
- mov eax,DWORD [edi]
- mov ebx,DWORD [4+edi]
- mov ecx,DWORD [8+edi]
- bswap eax
- mov edx,DWORD [12+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- mov eax,DWORD [16+edi]
- mov ebx,DWORD [20+edi]
- mov ecx,DWORD [24+edi]
- bswap eax
- mov edx,DWORD [28+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- mov eax,DWORD [32+edi]
- mov ebx,DWORD [36+edi]
- mov ecx,DWORD [40+edi]
- bswap eax
- mov edx,DWORD [44+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- mov eax,DWORD [48+edi]
- mov ebx,DWORD [52+edi]
- mov ecx,DWORD [56+edi]
- bswap eax
- mov edx,DWORD [60+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- add edi,64
- lea esp,[esp-36]
- mov DWORD [104+esp],edi
- mov eax,DWORD [esi]
- mov ebx,DWORD [4+esi]
- mov ecx,DWORD [8+esi]
- mov edi,DWORD [12+esi]
- mov DWORD [8+esp],ebx
- xor ebx,ecx
- mov DWORD [12+esp],ecx
- mov DWORD [16+esp],edi
- mov DWORD [esp],ebx
- mov edx,DWORD [16+esi]
- mov ebx,DWORD [20+esi]
- mov ecx,DWORD [24+esi]
- mov edi,DWORD [28+esi]
- mov DWORD [24+esp],ebx
- mov DWORD [28+esp],ecx
- mov DWORD [32+esp],edi
-align 16
-L$00300_15:
- mov ecx,edx
- mov esi,DWORD [24+esp]
- ror ecx,14
- mov edi,DWORD [28+esp]
- xor ecx,edx
- xor esi,edi
- mov ebx,DWORD [96+esp]
- ror ecx,5
- and esi,edx
- mov DWORD [20+esp],edx
- xor edx,ecx
- add ebx,DWORD [32+esp]
- xor esi,edi
- ror edx,6
- mov ecx,eax
- add ebx,esi
- ror ecx,9
- add ebx,edx
- mov edi,DWORD [8+esp]
- xor ecx,eax
- mov DWORD [4+esp],eax
- lea esp,[esp-4]
- ror ecx,11
- mov esi,DWORD [ebp]
- xor ecx,eax
- mov edx,DWORD [20+esp]
- xor eax,edi
- ror ecx,2
- add ebx,esi
- mov DWORD [esp],eax
- add edx,ebx
- and eax,DWORD [4+esp]
- add ebx,ecx
- xor eax,edi
- add ebp,4
- add eax,ebx
- cmp esi,3248222580
- jne NEAR L$00300_15
- mov ecx,DWORD [156+esp]
- jmp NEAR L$00416_63
-align 16
-L$00416_63:
- mov ebx,ecx
- mov esi,DWORD [104+esp]
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [160+esp]
- shr edi,10
- add ebx,DWORD [124+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [24+esp]
- ror ecx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor ecx,edx
- xor esi,edi
- mov DWORD [96+esp],ebx
- ror ecx,5
- and esi,edx
- mov DWORD [20+esp],edx
- xor edx,ecx
- add ebx,DWORD [32+esp]
- xor esi,edi
- ror edx,6
- mov ecx,eax
- add ebx,esi
- ror ecx,9
- add ebx,edx
- mov edi,DWORD [8+esp]
- xor ecx,eax
- mov DWORD [4+esp],eax
- lea esp,[esp-4]
- ror ecx,11
- mov esi,DWORD [ebp]
- xor ecx,eax
- mov edx,DWORD [20+esp]
- xor eax,edi
- ror ecx,2
- add ebx,esi
- mov DWORD [esp],eax
- add edx,ebx
- and eax,DWORD [4+esp]
- add ebx,ecx
- xor eax,edi
- mov ecx,DWORD [156+esp]
- add ebp,4
- add eax,ebx
- cmp esi,3329325298
- jne NEAR L$00416_63
- mov esi,DWORD [356+esp]
- mov ebx,DWORD [8+esp]
- mov ecx,DWORD [16+esp]
- add eax,DWORD [esi]
- add ebx,DWORD [4+esi]
- add edi,DWORD [8+esi]
- add ecx,DWORD [12+esi]
- mov DWORD [esi],eax
- mov DWORD [4+esi],ebx
- mov DWORD [8+esi],edi
- mov DWORD [12+esi],ecx
- mov eax,DWORD [24+esp]
- mov ebx,DWORD [28+esp]
- mov ecx,DWORD [32+esp]
- mov edi,DWORD [360+esp]
- add edx,DWORD [16+esi]
- add eax,DWORD [20+esi]
- add ebx,DWORD [24+esi]
- add ecx,DWORD [28+esi]
- mov DWORD [16+esi],edx
- mov DWORD [20+esi],eax
- mov DWORD [24+esi],ebx
- mov DWORD [28+esi],ecx
- lea esp,[356+esp]
- sub ebp,256
- cmp edi,DWORD [8+esp]
- jb NEAR L$002loop
- mov esp,DWORD [12+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-align 32
-L$005loop_shrd:
- mov eax,DWORD [edi]
- mov ebx,DWORD [4+edi]
- mov ecx,DWORD [8+edi]
- bswap eax
- mov edx,DWORD [12+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- mov eax,DWORD [16+edi]
- mov ebx,DWORD [20+edi]
- mov ecx,DWORD [24+edi]
- bswap eax
- mov edx,DWORD [28+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- mov eax,DWORD [32+edi]
- mov ebx,DWORD [36+edi]
- mov ecx,DWORD [40+edi]
- bswap eax
- mov edx,DWORD [44+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- mov eax,DWORD [48+edi]
- mov ebx,DWORD [52+edi]
- mov ecx,DWORD [56+edi]
- bswap eax
- mov edx,DWORD [60+edi]
- bswap ebx
- push eax
- bswap ecx
- push ebx
- bswap edx
- push ecx
- push edx
- add edi,64
- lea esp,[esp-36]
- mov DWORD [104+esp],edi
- mov eax,DWORD [esi]
- mov ebx,DWORD [4+esi]
- mov ecx,DWORD [8+esi]
- mov edi,DWORD [12+esi]
- mov DWORD [8+esp],ebx
- xor ebx,ecx
- mov DWORD [12+esp],ecx
- mov DWORD [16+esp],edi
- mov DWORD [esp],ebx
- mov edx,DWORD [16+esi]
- mov ebx,DWORD [20+esi]
- mov ecx,DWORD [24+esi]
- mov edi,DWORD [28+esi]
- mov DWORD [24+esp],ebx
- mov DWORD [28+esp],ecx
- mov DWORD [32+esp],edi
-align 16
-L$00600_15_shrd:
- mov ecx,edx
- mov esi,DWORD [24+esp]
- shrd ecx,ecx,14
- mov edi,DWORD [28+esp]
- xor ecx,edx
- xor esi,edi
- mov ebx,DWORD [96+esp]
- shrd ecx,ecx,5
- and esi,edx
- mov DWORD [20+esp],edx
- xor edx,ecx
- add ebx,DWORD [32+esp]
- xor esi,edi
- shrd edx,edx,6
- mov ecx,eax
- add ebx,esi
- shrd ecx,ecx,9
- add ebx,edx
- mov edi,DWORD [8+esp]
- xor ecx,eax
- mov DWORD [4+esp],eax
- lea esp,[esp-4]
- shrd ecx,ecx,11
- mov esi,DWORD [ebp]
- xor ecx,eax
- mov edx,DWORD [20+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add ebx,esi
- mov DWORD [esp],eax
- add edx,ebx
- and eax,DWORD [4+esp]
- add ebx,ecx
- xor eax,edi
- add ebp,4
- add eax,ebx
- cmp esi,3248222580
- jne NEAR L$00600_15_shrd
- mov ecx,DWORD [156+esp]
- jmp NEAR L$00716_63_shrd
-align 16
-L$00716_63_shrd:
- mov ebx,ecx
- mov esi,DWORD [104+esp]
- shrd ecx,ecx,11
- mov edi,esi
- shrd esi,esi,2
- xor ecx,ebx
- shr ebx,3
- shrd ecx,ecx,7
- xor esi,edi
- xor ebx,ecx
- shrd esi,esi,17
- add ebx,DWORD [160+esp]
- shr edi,10
- add ebx,DWORD [124+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [24+esp]
- shrd ecx,ecx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor ecx,edx
- xor esi,edi
- mov DWORD [96+esp],ebx
- shrd ecx,ecx,5
- and esi,edx
- mov DWORD [20+esp],edx
- xor edx,ecx
- add ebx,DWORD [32+esp]
- xor esi,edi
- shrd edx,edx,6
- mov ecx,eax
- add ebx,esi
- shrd ecx,ecx,9
- add ebx,edx
- mov edi,DWORD [8+esp]
- xor ecx,eax
- mov DWORD [4+esp],eax
- lea esp,[esp-4]
- shrd ecx,ecx,11
- mov esi,DWORD [ebp]
- xor ecx,eax
- mov edx,DWORD [20+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add ebx,esi
- mov DWORD [esp],eax
- add edx,ebx
- and eax,DWORD [4+esp]
- add ebx,ecx
- xor eax,edi
- mov ecx,DWORD [156+esp]
- add ebp,4
- add eax,ebx
- cmp esi,3329325298
- jne NEAR L$00716_63_shrd
- mov esi,DWORD [356+esp]
- mov ebx,DWORD [8+esp]
- mov ecx,DWORD [16+esp]
- add eax,DWORD [esi]
- add ebx,DWORD [4+esi]
- add edi,DWORD [8+esi]
- add ecx,DWORD [12+esi]
- mov DWORD [esi],eax
- mov DWORD [4+esi],ebx
- mov DWORD [8+esi],edi
- mov DWORD [12+esi],ecx
- mov eax,DWORD [24+esp]
- mov ebx,DWORD [28+esp]
- mov ecx,DWORD [32+esp]
- mov edi,DWORD [360+esp]
- add edx,DWORD [16+esi]
- add eax,DWORD [20+esi]
- add ebx,DWORD [24+esi]
- add ecx,DWORD [28+esi]
- mov DWORD [16+esi],edx
- mov DWORD [20+esi],eax
- mov DWORD [24+esi],ebx
- mov DWORD [28+esi],ecx
- lea esp,[356+esp]
- sub ebp,256
- cmp edi,DWORD [8+esp]
- jb NEAR L$005loop_shrd
- mov esp,DWORD [12+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-align 64
-L$001K256:
-dd 1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
-dd 66051,67438087,134810123,202182159
-db 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
-db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
-db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
-db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
-db 62,0
-align 16
-L$008unrolled:
- lea esp,[esp-96]
- mov eax,DWORD [esi]
- mov ebp,DWORD [4+esi]
- mov ecx,DWORD [8+esi]
- mov ebx,DWORD [12+esi]
- mov DWORD [4+esp],ebp
- xor ebp,ecx
- mov DWORD [8+esp],ecx
- mov DWORD [12+esp],ebx
- mov edx,DWORD [16+esi]
- mov ebx,DWORD [20+esi]
- mov ecx,DWORD [24+esi]
- mov esi,DWORD [28+esi]
- mov DWORD [20+esp],ebx
- mov DWORD [24+esp],ecx
- mov DWORD [28+esp],esi
- jmp NEAR L$009grand_loop
-align 16
-L$009grand_loop:
- mov ebx,DWORD [edi]
- mov ecx,DWORD [4+edi]
- bswap ebx
- mov esi,DWORD [8+edi]
- bswap ecx
- mov DWORD [32+esp],ebx
- bswap esi
- mov DWORD [36+esp],ecx
- mov DWORD [40+esp],esi
- mov ebx,DWORD [12+edi]
- mov ecx,DWORD [16+edi]
- bswap ebx
- mov esi,DWORD [20+edi]
- bswap ecx
- mov DWORD [44+esp],ebx
- bswap esi
- mov DWORD [48+esp],ecx
- mov DWORD [52+esp],esi
- mov ebx,DWORD [24+edi]
- mov ecx,DWORD [28+edi]
- bswap ebx
- mov esi,DWORD [32+edi]
- bswap ecx
- mov DWORD [56+esp],ebx
- bswap esi
- mov DWORD [60+esp],ecx
- mov DWORD [64+esp],esi
- mov ebx,DWORD [36+edi]
- mov ecx,DWORD [40+edi]
- bswap ebx
- mov esi,DWORD [44+edi]
- bswap ecx
- mov DWORD [68+esp],ebx
- bswap esi
- mov DWORD [72+esp],ecx
- mov DWORD [76+esp],esi
- mov ebx,DWORD [48+edi]
- mov ecx,DWORD [52+edi]
- bswap ebx
- mov esi,DWORD [56+edi]
- bswap ecx
- mov DWORD [80+esp],ebx
- bswap esi
- mov DWORD [84+esp],ecx
- mov DWORD [88+esp],esi
- mov ebx,DWORD [60+edi]
- add edi,64
- bswap ebx
- mov DWORD [100+esp],edi
- mov DWORD [92+esp],ebx
- mov ecx,edx
- mov esi,DWORD [20+esp]
- ror edx,14
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov ebx,DWORD [32+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[1116352408+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [16+esp]
- ror edx,14
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov ebx,DWORD [36+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1899447441+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov ecx,edx
- mov esi,DWORD [12+esp]
- ror edx,14
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov ebx,DWORD [40+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[3049323471+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [8+esp]
- ror edx,14
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov ebx,DWORD [44+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[3921009573+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov ecx,edx
- mov esi,DWORD [4+esp]
- ror edx,14
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov ebx,DWORD [48+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[961987163+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [esp]
- ror edx,14
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov ebx,DWORD [52+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1508970993+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov ecx,edx
- mov esi,DWORD [28+esp]
- ror edx,14
- mov edi,DWORD [esp]
- xor edx,ecx
- mov ebx,DWORD [56+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2453635748+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [24+esp]
- ror edx,14
- mov edi,DWORD [28+esp]
- xor edx,esi
- mov ebx,DWORD [60+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2870763221+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov ecx,edx
- mov esi,DWORD [20+esp]
- ror edx,14
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov ebx,DWORD [64+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[3624381080+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [16+esp]
- ror edx,14
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov ebx,DWORD [68+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[310598401+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov ecx,edx
- mov esi,DWORD [12+esp]
- ror edx,14
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov ebx,DWORD [72+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[607225278+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [8+esp]
- ror edx,14
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov ebx,DWORD [76+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1426881987+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov ecx,edx
- mov esi,DWORD [4+esp]
- ror edx,14
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov ebx,DWORD [80+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[1925078388+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [esp]
- ror edx,14
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov ebx,DWORD [84+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2162078206+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov ecx,edx
- mov esi,DWORD [28+esp]
- ror edx,14
- mov edi,DWORD [esp]
- xor edx,ecx
- mov ebx,DWORD [88+esp]
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2614888103+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov esi,edx
- mov ecx,DWORD [24+esp]
- ror edx,14
- mov edi,DWORD [28+esp]
- xor edx,esi
- mov ebx,DWORD [92+esp]
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[3248222580+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [36+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov esi,DWORD [88+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [32+esp]
- shr edi,10
- add ebx,DWORD [68+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [20+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov DWORD [32+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[3835390401+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [40+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov ecx,DWORD [92+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [36+esp]
- shr edi,10
- add ebx,DWORD [72+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [16+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov DWORD [36+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[4022224774+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [44+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov esi,DWORD [32+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [40+esp]
- shr edi,10
- add ebx,DWORD [76+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [12+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov DWORD [40+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[264347078+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [48+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov ecx,DWORD [36+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [44+esp]
- shr edi,10
- add ebx,DWORD [80+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [8+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov DWORD [44+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[604807628+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [52+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov esi,DWORD [40+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [48+esp]
- shr edi,10
- add ebx,DWORD [84+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [4+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov DWORD [48+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[770255983+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [56+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov ecx,DWORD [44+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [52+esp]
- shr edi,10
- add ebx,DWORD [88+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov DWORD [52+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1249150122+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [60+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov esi,DWORD [48+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [56+esp]
- shr edi,10
- add ebx,DWORD [92+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [28+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [esp]
- xor edx,ecx
- mov DWORD [56+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[1555081692+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [64+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov ecx,DWORD [52+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [60+esp]
- shr edi,10
- add ebx,DWORD [32+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [24+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor edx,esi
- mov DWORD [60+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1996064986+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [68+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov esi,DWORD [56+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [64+esp]
- shr edi,10
- add ebx,DWORD [36+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [20+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov DWORD [64+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2554220882+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [72+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov ecx,DWORD [60+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [68+esp]
- shr edi,10
- add ebx,DWORD [40+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [16+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov DWORD [68+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2821834349+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [76+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov esi,DWORD [64+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [72+esp]
- shr edi,10
- add ebx,DWORD [44+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [12+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov DWORD [72+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2952996808+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [80+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov ecx,DWORD [68+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [76+esp]
- shr edi,10
- add ebx,DWORD [48+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [8+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov DWORD [76+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[3210313671+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [84+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov esi,DWORD [72+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [80+esp]
- shr edi,10
- add ebx,DWORD [52+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [4+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov DWORD [80+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[3336571891+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [88+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov ecx,DWORD [76+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [84+esp]
- shr edi,10
- add ebx,DWORD [56+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov DWORD [84+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[3584528711+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [92+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov esi,DWORD [80+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [88+esp]
- shr edi,10
- add ebx,DWORD [60+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [28+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [esp]
- xor edx,ecx
- mov DWORD [88+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[113926993+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [32+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov ecx,DWORD [84+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [92+esp]
- shr edi,10
- add ebx,DWORD [64+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [24+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor edx,esi
- mov DWORD [92+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[338241895+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [36+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov esi,DWORD [88+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [32+esp]
- shr edi,10
- add ebx,DWORD [68+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [20+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov DWORD [32+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[666307205+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [40+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov ecx,DWORD [92+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [36+esp]
- shr edi,10
- add ebx,DWORD [72+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [16+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov DWORD [36+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[773529912+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [44+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov esi,DWORD [32+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [40+esp]
- shr edi,10
- add ebx,DWORD [76+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [12+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov DWORD [40+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[1294757372+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [48+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov ecx,DWORD [36+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [44+esp]
- shr edi,10
- add ebx,DWORD [80+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [8+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov DWORD [44+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1396182291+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [52+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov esi,DWORD [40+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [48+esp]
- shr edi,10
- add ebx,DWORD [84+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [4+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov DWORD [48+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[1695183700+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [56+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov ecx,DWORD [44+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [52+esp]
- shr edi,10
- add ebx,DWORD [88+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov DWORD [52+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1986661051+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [60+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov esi,DWORD [48+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [56+esp]
- shr edi,10
- add ebx,DWORD [92+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [28+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [esp]
- xor edx,ecx
- mov DWORD [56+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2177026350+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [64+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov ecx,DWORD [52+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [60+esp]
- shr edi,10
- add ebx,DWORD [32+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [24+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor edx,esi
- mov DWORD [60+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2456956037+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [68+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov esi,DWORD [56+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [64+esp]
- shr edi,10
- add ebx,DWORD [36+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [20+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov DWORD [64+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2730485921+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [72+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov ecx,DWORD [60+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [68+esp]
- shr edi,10
- add ebx,DWORD [40+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [16+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov DWORD [68+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2820302411+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [76+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov esi,DWORD [64+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [72+esp]
- shr edi,10
- add ebx,DWORD [44+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [12+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov DWORD [72+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[3259730800+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [80+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov ecx,DWORD [68+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [76+esp]
- shr edi,10
- add ebx,DWORD [48+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [8+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov DWORD [76+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[3345764771+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [84+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov esi,DWORD [72+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [80+esp]
- shr edi,10
- add ebx,DWORD [52+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [4+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov DWORD [80+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[3516065817+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [88+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov ecx,DWORD [76+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [84+esp]
- shr edi,10
- add ebx,DWORD [56+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov DWORD [84+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[3600352804+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [92+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov esi,DWORD [80+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [88+esp]
- shr edi,10
- add ebx,DWORD [60+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [28+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [esp]
- xor edx,ecx
- mov DWORD [88+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[4094571909+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [32+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov ecx,DWORD [84+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [92+esp]
- shr edi,10
- add ebx,DWORD [64+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [24+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor edx,esi
- mov DWORD [92+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[275423344+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [36+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov esi,DWORD [88+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [32+esp]
- shr edi,10
- add ebx,DWORD [68+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [20+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov DWORD [32+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[430227734+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [40+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov ecx,DWORD [92+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [36+esp]
- shr edi,10
- add ebx,DWORD [72+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [16+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov DWORD [36+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[506948616+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [44+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov esi,DWORD [32+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [40+esp]
- shr edi,10
- add ebx,DWORD [76+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [12+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov DWORD [40+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[659060556+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [48+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov ecx,DWORD [36+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [44+esp]
- shr edi,10
- add ebx,DWORD [80+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [8+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov DWORD [44+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[883997877+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [52+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov esi,DWORD [40+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [48+esp]
- shr edi,10
- add ebx,DWORD [84+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [4+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov DWORD [48+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[958139571+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [56+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov ecx,DWORD [44+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [52+esp]
- shr edi,10
- add ebx,DWORD [88+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov DWORD [52+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1322822218+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [60+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov esi,DWORD [48+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [56+esp]
- shr edi,10
- add ebx,DWORD [92+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [28+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [esp]
- xor edx,ecx
- mov DWORD [56+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[1537002063+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [64+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov ecx,DWORD [52+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [60+esp]
- shr edi,10
- add ebx,DWORD [32+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [24+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor edx,esi
- mov DWORD [60+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[1747873779+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [68+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov esi,DWORD [56+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [64+esp]
- shr edi,10
- add ebx,DWORD [36+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [20+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [24+esp]
- xor edx,ecx
- mov DWORD [64+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- add ebx,DWORD [28+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [4+esp]
- xor ecx,eax
- mov DWORD [esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[1955562222+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [72+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [12+esp]
- add ebp,ecx
- mov ecx,DWORD [60+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [68+esp]
- shr edi,10
- add ebx,DWORD [40+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [16+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [20+esp]
- xor edx,esi
- mov DWORD [68+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [12+esp],esi
- xor edx,esi
- add ebx,DWORD [24+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [esp]
- xor esi,ebp
- mov DWORD [28+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2024104815+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [76+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,esi
- mov esi,DWORD [64+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [72+esp]
- shr edi,10
- add ebx,DWORD [44+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [12+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [16+esp]
- xor edx,ecx
- mov DWORD [72+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- add ebx,DWORD [20+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [28+esp]
- xor ecx,eax
- mov DWORD [24+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2227730452+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [80+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [4+esp]
- add ebp,ecx
- mov ecx,DWORD [68+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [76+esp]
- shr edi,10
- add ebx,DWORD [48+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [8+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [12+esp]
- xor edx,esi
- mov DWORD [76+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [4+esp],esi
- xor edx,esi
- add ebx,DWORD [16+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [24+esp]
- xor esi,ebp
- mov DWORD [20+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2361852424+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [84+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,esi
- mov esi,DWORD [72+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [80+esp]
- shr edi,10
- add ebx,DWORD [52+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [4+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [8+esp]
- xor edx,ecx
- mov DWORD [80+esp],ebx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- add ebx,DWORD [12+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [20+esp]
- xor ecx,eax
- mov DWORD [16+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[2428436474+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [88+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [28+esp]
- add ebp,ecx
- mov ecx,DWORD [76+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [84+esp]
- shr edi,10
- add ebx,DWORD [56+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [4+esp]
- xor edx,esi
- mov DWORD [84+esp],ebx
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [28+esp],esi
- xor edx,esi
- add ebx,DWORD [8+esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [16+esp]
- xor esi,ebp
- mov DWORD [12+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[2756734187+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- mov ecx,DWORD [92+esp]
- ror esi,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,esi
- mov esi,DWORD [80+esp]
- mov ebx,ecx
- ror ecx,11
- mov edi,esi
- ror esi,2
- xor ecx,ebx
- shr ebx,3
- ror ecx,7
- xor esi,edi
- xor ebx,ecx
- ror esi,17
- add ebx,DWORD [88+esp]
- shr edi,10
- add ebx,DWORD [60+esp]
- mov ecx,edx
- xor edi,esi
- mov esi,DWORD [28+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [esp]
- xor edx,ecx
- xor esi,edi
- ror edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- add ebx,DWORD [4+esp]
- xor edi,esi
- ror edx,6
- mov ecx,eax
- add ebx,edi
- ror ecx,9
- mov esi,eax
- mov edi,DWORD [12+esp]
- xor ecx,eax
- mov DWORD [8+esp],eax
- xor eax,edi
- ror ecx,11
- and ebp,eax
- lea edx,[3204031479+edx*1+ebx]
- xor ecx,esi
- xor ebp,edi
- mov esi,DWORD [32+esp]
- ror ecx,2
- add ebp,edx
- add edx,DWORD [20+esp]
- add ebp,ecx
- mov ecx,DWORD [84+esp]
- mov ebx,esi
- ror esi,11
- mov edi,ecx
- ror ecx,2
- xor esi,ebx
- shr ebx,3
- ror esi,7
- xor ecx,edi
- xor ebx,esi
- ror ecx,17
- add ebx,DWORD [92+esp]
- shr edi,10
- add ebx,DWORD [64+esp]
- mov esi,edx
- xor edi,ecx
- mov ecx,DWORD [24+esp]
- ror edx,14
- add ebx,edi
- mov edi,DWORD [28+esp]
- xor edx,esi
- xor ecx,edi
- ror edx,5
- and ecx,esi
- mov DWORD [20+esp],esi
- xor edx,esi
- add ebx,DWORD [esp]
- xor edi,ecx
- ror edx,6
- mov esi,ebp
- add ebx,edi
- ror esi,9
- mov ecx,ebp
- mov edi,DWORD [8+esp]
- xor esi,ebp
- mov DWORD [4+esp],ebp
- xor ebp,edi
- ror esi,11
- and eax,ebp
- lea edx,[3329325298+edx*1+ebx]
- xor esi,ecx
- xor eax,edi
- ror esi,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,esi
- mov esi,DWORD [96+esp]
- xor ebp,edi
- mov ecx,DWORD [12+esp]
- add eax,DWORD [esi]
- add ebp,DWORD [4+esi]
- add edi,DWORD [8+esi]
- add ecx,DWORD [12+esi]
- mov DWORD [esi],eax
- mov DWORD [4+esi],ebp
- mov DWORD [8+esi],edi
- mov DWORD [12+esi],ecx
- mov DWORD [4+esp],ebp
- xor ebp,edi
- mov DWORD [8+esp],edi
- mov DWORD [12+esp],ecx
- mov edi,DWORD [20+esp]
- mov ebx,DWORD [24+esp]
- mov ecx,DWORD [28+esp]
- add edx,DWORD [16+esi]
- add edi,DWORD [20+esi]
- add ebx,DWORD [24+esi]
- add ecx,DWORD [28+esi]
- mov DWORD [16+esi],edx
- mov DWORD [20+esi],edi
- mov DWORD [24+esi],ebx
- mov DWORD [28+esi],ecx
- mov DWORD [20+esp],edi
- mov edi,DWORD [100+esp]
- mov DWORD [24+esp],ebx
- mov DWORD [28+esp],ecx
- cmp edi,DWORD [104+esp]
- jb NEAR L$009grand_loop
- mov esp,DWORD [108+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-segment .bss
-common _OPENSSL_ia32cap_P 16
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm
deleted file mode 100644
index a168b4a799..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm
+++ /dev/null
@@ -1,579 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/sha/asm/sha512-586.pl
-;
-; Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-global _sha512_block_data_order
-align 16
-_sha512_block_data_order:
-L$_sha512_block_data_order_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov esi,DWORD [20+esp]
- mov edi,DWORD [24+esp]
- mov eax,DWORD [28+esp]
- mov ebx,esp
- call L$000pic_point
-L$000pic_point:
- pop ebp
- lea ebp,[(L$001K512-L$000pic_point)+ebp]
- sub esp,16
- and esp,-64
- shl eax,7
- add eax,edi
- mov DWORD [esp],esi
- mov DWORD [4+esp],edi
- mov DWORD [8+esp],eax
- mov DWORD [12+esp],ebx
-align 16
-L$002loop_x86:
- mov eax,DWORD [edi]
- mov ebx,DWORD [4+edi]
- mov ecx,DWORD [8+edi]
- mov edx,DWORD [12+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- mov eax,DWORD [16+edi]
- mov ebx,DWORD [20+edi]
- mov ecx,DWORD [24+edi]
- mov edx,DWORD [28+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- mov eax,DWORD [32+edi]
- mov ebx,DWORD [36+edi]
- mov ecx,DWORD [40+edi]
- mov edx,DWORD [44+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- mov eax,DWORD [48+edi]
- mov ebx,DWORD [52+edi]
- mov ecx,DWORD [56+edi]
- mov edx,DWORD [60+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- mov eax,DWORD [64+edi]
- mov ebx,DWORD [68+edi]
- mov ecx,DWORD [72+edi]
- mov edx,DWORD [76+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- mov eax,DWORD [80+edi]
- mov ebx,DWORD [84+edi]
- mov ecx,DWORD [88+edi]
- mov edx,DWORD [92+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- mov eax,DWORD [96+edi]
- mov ebx,DWORD [100+edi]
- mov ecx,DWORD [104+edi]
- mov edx,DWORD [108+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- mov eax,DWORD [112+edi]
- mov ebx,DWORD [116+edi]
- mov ecx,DWORD [120+edi]
- mov edx,DWORD [124+edi]
- bswap eax
- bswap ebx
- bswap ecx
- bswap edx
- push eax
- push ebx
- push ecx
- push edx
- add edi,128
- sub esp,72
- mov DWORD [204+esp],edi
- lea edi,[8+esp]
- mov ecx,16
-dd 2784229001
-align 16
-L$00300_15_x86:
- mov ecx,DWORD [40+esp]
- mov edx,DWORD [44+esp]
- mov esi,ecx
- shr ecx,9
- mov edi,edx
- shr edx,9
- mov ebx,ecx
- shl esi,14
- mov eax,edx
- shl edi,14
- xor ebx,esi
- shr ecx,5
- xor eax,edi
- shr edx,5
- xor eax,ecx
- shl esi,4
- xor ebx,edx
- shl edi,4
- xor ebx,esi
- shr ecx,4
- xor eax,edi
- shr edx,4
- xor eax,ecx
- shl esi,5
- xor ebx,edx
- shl edi,5
- xor eax,esi
- xor ebx,edi
- mov ecx,DWORD [48+esp]
- mov edx,DWORD [52+esp]
- mov esi,DWORD [56+esp]
- mov edi,DWORD [60+esp]
- add eax,DWORD [64+esp]
- adc ebx,DWORD [68+esp]
- xor ecx,esi
- xor edx,edi
- and ecx,DWORD [40+esp]
- and edx,DWORD [44+esp]
- add eax,DWORD [192+esp]
- adc ebx,DWORD [196+esp]
- xor ecx,esi
- xor edx,edi
- mov esi,DWORD [ebp]
- mov edi,DWORD [4+ebp]
- add eax,ecx
- adc ebx,edx
- mov ecx,DWORD [32+esp]
- mov edx,DWORD [36+esp]
- add eax,esi
- adc ebx,edi
- mov DWORD [esp],eax
- mov DWORD [4+esp],ebx
- add eax,ecx
- adc ebx,edx
- mov ecx,DWORD [8+esp]
- mov edx,DWORD [12+esp]
- mov DWORD [32+esp],eax
- mov DWORD [36+esp],ebx
- mov esi,ecx
- shr ecx,2
- mov edi,edx
- shr edx,2
- mov ebx,ecx
- shl esi,4
- mov eax,edx
- shl edi,4
- xor ebx,esi
- shr ecx,5
- xor eax,edi
- shr edx,5
- xor ebx,ecx
- shl esi,21
- xor eax,edx
- shl edi,21
- xor eax,esi
- shr ecx,21
- xor ebx,edi
- shr edx,21
- xor eax,ecx
- shl esi,5
- xor ebx,edx
- shl edi,5
- xor eax,esi
- xor ebx,edi
- mov ecx,DWORD [8+esp]
- mov edx,DWORD [12+esp]
- mov esi,DWORD [16+esp]
- mov edi,DWORD [20+esp]
- add eax,DWORD [esp]
- adc ebx,DWORD [4+esp]
- or ecx,esi
- or edx,edi
- and ecx,DWORD [24+esp]
- and edx,DWORD [28+esp]
- and esi,DWORD [8+esp]
- and edi,DWORD [12+esp]
- or ecx,esi
- or edx,edi
- add eax,ecx
- adc ebx,edx
- mov DWORD [esp],eax
- mov DWORD [4+esp],ebx
- mov dl,BYTE [ebp]
- sub esp,8
- lea ebp,[8+ebp]
- cmp dl,148
- jne NEAR L$00300_15_x86
-align 16
-L$00416_79_x86:
- mov ecx,DWORD [312+esp]
- mov edx,DWORD [316+esp]
- mov esi,ecx
- shr ecx,1
- mov edi,edx
- shr edx,1
- mov eax,ecx
- shl esi,24
- mov ebx,edx
- shl edi,24
- xor ebx,esi
- shr ecx,6
- xor eax,edi
- shr edx,6
- xor eax,ecx
- shl esi,7
- xor ebx,edx
- shl edi,1
- xor ebx,esi
- shr ecx,1
- xor eax,edi
- shr edx,1
- xor eax,ecx
- shl edi,6
- xor ebx,edx
- xor eax,edi
- mov DWORD [esp],eax
- mov DWORD [4+esp],ebx
- mov ecx,DWORD [208+esp]
- mov edx,DWORD [212+esp]
- mov esi,ecx
- shr ecx,6
- mov edi,edx
- shr edx,6
- mov eax,ecx
- shl esi,3
- mov ebx,edx
- shl edi,3
- xor eax,esi
- shr ecx,13
- xor ebx,edi
- shr edx,13
- xor eax,ecx
- shl esi,10
- xor ebx,edx
- shl edi,10
- xor ebx,esi
- shr ecx,10
- xor eax,edi
- shr edx,10
- xor ebx,ecx
- shl edi,13
- xor eax,edx
- xor eax,edi
- mov ecx,DWORD [320+esp]
- mov edx,DWORD [324+esp]
- add eax,DWORD [esp]
- adc ebx,DWORD [4+esp]
- mov esi,DWORD [248+esp]
- mov edi,DWORD [252+esp]
- add eax,ecx
- adc ebx,edx
- add eax,esi
- adc ebx,edi
- mov DWORD [192+esp],eax
- mov DWORD [196+esp],ebx
- mov ecx,DWORD [40+esp]
- mov edx,DWORD [44+esp]
- mov esi,ecx
- shr ecx,9
- mov edi,edx
- shr edx,9
- mov ebx,ecx
- shl esi,14
- mov eax,edx
- shl edi,14
- xor ebx,esi
- shr ecx,5
- xor eax,edi
- shr edx,5
- xor eax,ecx
- shl esi,4
- xor ebx,edx
- shl edi,4
- xor ebx,esi
- shr ecx,4
- xor eax,edi
- shr edx,4
- xor eax,ecx
- shl esi,5
- xor ebx,edx
- shl edi,5
- xor eax,esi
- xor ebx,edi
- mov ecx,DWORD [48+esp]
- mov edx,DWORD [52+esp]
- mov esi,DWORD [56+esp]
- mov edi,DWORD [60+esp]
- add eax,DWORD [64+esp]
- adc ebx,DWORD [68+esp]
- xor ecx,esi
- xor edx,edi
- and ecx,DWORD [40+esp]
- and edx,DWORD [44+esp]
- add eax,DWORD [192+esp]
- adc ebx,DWORD [196+esp]
- xor ecx,esi
- xor edx,edi
- mov esi,DWORD [ebp]
- mov edi,DWORD [4+ebp]
- add eax,ecx
- adc ebx,edx
- mov ecx,DWORD [32+esp]
- mov edx,DWORD [36+esp]
- add eax,esi
- adc ebx,edi
- mov DWORD [esp],eax
- mov DWORD [4+esp],ebx
- add eax,ecx
- adc ebx,edx
- mov ecx,DWORD [8+esp]
- mov edx,DWORD [12+esp]
- mov DWORD [32+esp],eax
- mov DWORD [36+esp],ebx
- mov esi,ecx
- shr ecx,2
- mov edi,edx
- shr edx,2
- mov ebx,ecx
- shl esi,4
- mov eax,edx
- shl edi,4
- xor ebx,esi
- shr ecx,5
- xor eax,edi
- shr edx,5
- xor ebx,ecx
- shl esi,21
- xor eax,edx
- shl edi,21
- xor eax,esi
- shr ecx,21
- xor ebx,edi
- shr edx,21
- xor eax,ecx
- shl esi,5
- xor ebx,edx
- shl edi,5
- xor eax,esi
- xor ebx,edi
- mov ecx,DWORD [8+esp]
- mov edx,DWORD [12+esp]
- mov esi,DWORD [16+esp]
- mov edi,DWORD [20+esp]
- add eax,DWORD [esp]
- adc ebx,DWORD [4+esp]
- or ecx,esi
- or edx,edi
- and ecx,DWORD [24+esp]
- and edx,DWORD [28+esp]
- and esi,DWORD [8+esp]
- and edi,DWORD [12+esp]
- or ecx,esi
- or edx,edi
- add eax,ecx
- adc ebx,edx
- mov DWORD [esp],eax
- mov DWORD [4+esp],ebx
- mov dl,BYTE [ebp]
- sub esp,8
- lea ebp,[8+ebp]
- cmp dl,23
- jne NEAR L$00416_79_x86
- mov esi,DWORD [840+esp]
- mov edi,DWORD [844+esp]
- mov eax,DWORD [esi]
- mov ebx,DWORD [4+esi]
- mov ecx,DWORD [8+esi]
- mov edx,DWORD [12+esi]
- add eax,DWORD [8+esp]
- adc ebx,DWORD [12+esp]
- mov DWORD [esi],eax
- mov DWORD [4+esi],ebx
- add ecx,DWORD [16+esp]
- adc edx,DWORD [20+esp]
- mov DWORD [8+esi],ecx
- mov DWORD [12+esi],edx
- mov eax,DWORD [16+esi]
- mov ebx,DWORD [20+esi]
- mov ecx,DWORD [24+esi]
- mov edx,DWORD [28+esi]
- add eax,DWORD [24+esp]
- adc ebx,DWORD [28+esp]
- mov DWORD [16+esi],eax
- mov DWORD [20+esi],ebx
- add ecx,DWORD [32+esp]
- adc edx,DWORD [36+esp]
- mov DWORD [24+esi],ecx
- mov DWORD [28+esi],edx
- mov eax,DWORD [32+esi]
- mov ebx,DWORD [36+esi]
- mov ecx,DWORD [40+esi]
- mov edx,DWORD [44+esi]
- add eax,DWORD [40+esp]
- adc ebx,DWORD [44+esp]
- mov DWORD [32+esi],eax
- mov DWORD [36+esi],ebx
- add ecx,DWORD [48+esp]
- adc edx,DWORD [52+esp]
- mov DWORD [40+esi],ecx
- mov DWORD [44+esi],edx
- mov eax,DWORD [48+esi]
- mov ebx,DWORD [52+esi]
- mov ecx,DWORD [56+esi]
- mov edx,DWORD [60+esi]
- add eax,DWORD [56+esp]
- adc ebx,DWORD [60+esp]
- mov DWORD [48+esi],eax
- mov DWORD [52+esi],ebx
- add ecx,DWORD [64+esp]
- adc edx,DWORD [68+esp]
- mov DWORD [56+esi],ecx
- mov DWORD [60+esi],edx
- add esp,840
- sub ebp,640
- cmp edi,DWORD [8+esp]
- jb NEAR L$002loop_x86
- mov esp,DWORD [12+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-align 64
-L$001K512:
-dd 3609767458,1116352408
-dd 602891725,1899447441
-dd 3964484399,3049323471
-dd 2173295548,3921009573
-dd 4081628472,961987163
-dd 3053834265,1508970993
-dd 2937671579,2453635748
-dd 3664609560,2870763221
-dd 2734883394,3624381080
-dd 1164996542,310598401
-dd 1323610764,607225278
-dd 3590304994,1426881987
-dd 4068182383,1925078388
-dd 991336113,2162078206
-dd 633803317,2614888103
-dd 3479774868,3248222580
-dd 2666613458,3835390401
-dd 944711139,4022224774
-dd 2341262773,264347078
-dd 2007800933,604807628
-dd 1495990901,770255983
-dd 1856431235,1249150122
-dd 3175218132,1555081692
-dd 2198950837,1996064986
-dd 3999719339,2554220882
-dd 766784016,2821834349
-dd 2566594879,2952996808
-dd 3203337956,3210313671
-dd 1034457026,3336571891
-dd 2466948901,3584528711
-dd 3758326383,113926993
-dd 168717936,338241895
-dd 1188179964,666307205
-dd 1546045734,773529912
-dd 1522805485,1294757372
-dd 2643833823,1396182291
-dd 2343527390,1695183700
-dd 1014477480,1986661051
-dd 1206759142,2177026350
-dd 344077627,2456956037
-dd 1290863460,2730485921
-dd 3158454273,2820302411
-dd 3505952657,3259730800
-dd 106217008,3345764771
-dd 3606008344,3516065817
-dd 1432725776,3600352804
-dd 1467031594,4094571909
-dd 851169720,275423344
-dd 3100823752,430227734
-dd 1363258195,506948616
-dd 3750685593,659060556
-dd 3785050280,883997877
-dd 3318307427,958139571
-dd 3812723403,1322822218
-dd 2003034995,1537002063
-dd 3602036899,1747873779
-dd 1575990012,1955562222
-dd 1125592928,2024104815
-dd 2716904306,2227730452
-dd 442776044,2361852424
-dd 593698344,2428436474
-dd 3733110249,2756734187
-dd 2999351573,3204031479
-dd 3815920427,3329325298
-dd 3928383900,3391569614
-dd 566280711,3515267271
-dd 3454069534,3940187606
-dd 4000239992,4118630271
-dd 1914138554,116418474
-dd 2731055270,174292421
-dd 3203993006,289380356
-dd 320620315,460393269
-dd 587496836,685471733
-dd 1086792851,852142971
-dd 365543100,1017036298
-dd 2618297676,1126000580
-dd 3409855158,1288033470
-dd 4234509866,1501505948
-dd 987167468,1607167915
-dd 1246189591,1816402316
-dd 67438087,66051
-dd 202182159,134810123
-db 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
-db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
-db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
-db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
-db 62,0
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm
deleted file mode 100644
index 542e759ecd..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm
+++ /dev/null
@@ -1,433 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/x86cpuid.pl
-;
-; Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-global _OPENSSL_ia32_cpuid
-align 16
-_OPENSSL_ia32_cpuid:
-L$_OPENSSL_ia32_cpuid_begin:
- push ebp
- push ebx
- push esi
- push edi
- xor edx,edx
- pushfd
- pop eax
- mov ecx,eax
- xor eax,2097152
- push eax
- popfd
- pushfd
- pop eax
- xor ecx,eax
- xor eax,eax
- mov esi,DWORD [20+esp]
- mov DWORD [8+esi],eax
- bt ecx,21
- jnc NEAR L$000nocpuid
- cpuid
- mov edi,eax
- xor eax,eax
- cmp ebx,1970169159
- setne al
- mov ebp,eax
- cmp edx,1231384169
- setne al
- or ebp,eax
- cmp ecx,1818588270
- setne al
- or ebp,eax
- jz NEAR L$001intel
- cmp ebx,1752462657
- setne al
- mov esi,eax
- cmp edx,1769238117
- setne al
- or esi,eax
- cmp ecx,1145913699
- setne al
- or esi,eax
- jnz NEAR L$001intel
- mov eax,2147483648
- cpuid
- cmp eax,2147483649
- jb NEAR L$001intel
- mov esi,eax
- mov eax,2147483649
- cpuid
- or ebp,ecx
- and ebp,2049
- cmp esi,2147483656
- jb NEAR L$001intel
- mov eax,2147483656
- cpuid
- movzx esi,cl
- inc esi
- mov eax,1
- xor ecx,ecx
- cpuid
- bt edx,28
- jnc NEAR L$002generic
- shr ebx,16
- and ebx,255
- cmp ebx,esi
- ja NEAR L$002generic
- and edx,4026531839
- jmp NEAR L$002generic
-L$001intel:
- cmp edi,4
- mov esi,-1
- jb NEAR L$003nocacheinfo
- mov eax,4
- mov ecx,0
- cpuid
- mov esi,eax
- shr esi,14
- and esi,4095
-L$003nocacheinfo:
- mov eax,1
- xor ecx,ecx
- cpuid
- and edx,3220176895
- cmp ebp,0
- jne NEAR L$004notintel
- or edx,1073741824
- and ah,15
- cmp ah,15
- jne NEAR L$004notintel
- or edx,1048576
-L$004notintel:
- bt edx,28
- jnc NEAR L$002generic
- and edx,4026531839
- cmp esi,0
- je NEAR L$002generic
- or edx,268435456
- shr ebx,16
- cmp bl,1
- ja NEAR L$002generic
- and edx,4026531839
-L$002generic:
- and ebp,2048
- and ecx,4294965247
- mov esi,edx
- or ebp,ecx
- cmp edi,7
- mov edi,DWORD [20+esp]
- jb NEAR L$005no_extended_info
- mov eax,7
- xor ecx,ecx
- cpuid
- mov DWORD [8+edi],ebx
-L$005no_extended_info:
- bt ebp,27
- jnc NEAR L$006clear_avx
- xor ecx,ecx
-db 15,1,208
- and eax,6
- cmp eax,6
- je NEAR L$007done
- cmp eax,2
- je NEAR L$006clear_avx
-L$008clear_xmm:
- and ebp,4261412861
- and esi,4278190079
-L$006clear_avx:
- and ebp,4026525695
- and DWORD [8+edi],4294967263
-L$007done:
- mov eax,esi
- mov edx,ebp
-L$000nocpuid:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-;extern _OPENSSL_ia32cap_P
-global _OPENSSL_rdtsc
-align 16
-_OPENSSL_rdtsc:
-L$_OPENSSL_rdtsc_begin:
- xor eax,eax
- xor edx,edx
- lea ecx,[_OPENSSL_ia32cap_P]
- bt DWORD [ecx],4
- jnc NEAR L$009notsc
- rdtsc
-L$009notsc:
- ret
-global _OPENSSL_instrument_halt
-align 16
-_OPENSSL_instrument_halt:
-L$_OPENSSL_instrument_halt_begin:
- lea ecx,[_OPENSSL_ia32cap_P]
- bt DWORD [ecx],4
- jnc NEAR L$010nohalt
-dd 2421723150
- and eax,3
- jnz NEAR L$010nohalt
- pushfd
- pop eax
- bt eax,9
- jnc NEAR L$010nohalt
- rdtsc
- push edx
- push eax
- hlt
- rdtsc
- sub eax,DWORD [esp]
- sbb edx,DWORD [4+esp]
- add esp,8
- ret
-L$010nohalt:
- xor eax,eax
- xor edx,edx
- ret
-global _OPENSSL_far_spin
-align 16
-_OPENSSL_far_spin:
-L$_OPENSSL_far_spin_begin:
- pushfd
- pop eax
- bt eax,9
- jnc NEAR L$011nospin
- mov eax,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
-dd 2430111262
- xor eax,eax
- mov edx,DWORD [ecx]
- jmp NEAR L$012spin
-align 16
-L$012spin:
- inc eax
- cmp edx,DWORD [ecx]
- je NEAR L$012spin
-dd 529567888
- ret
-L$011nospin:
- xor eax,eax
- xor edx,edx
- ret
-global _OPENSSL_wipe_cpu
-align 16
-_OPENSSL_wipe_cpu:
-L$_OPENSSL_wipe_cpu_begin:
- xor eax,eax
- xor edx,edx
- lea ecx,[_OPENSSL_ia32cap_P]
- mov ecx,DWORD [ecx]
- bt DWORD [ecx],1
- jnc NEAR L$013no_x87
-dd 4007259865,4007259865,4007259865,4007259865,2430851995
-L$013no_x87:
- lea eax,[4+esp]
- ret
-global _OPENSSL_atomic_add
-align 16
-_OPENSSL_atomic_add:
-L$_OPENSSL_atomic_add_begin:
- mov edx,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
- push ebx
- nop
- mov eax,DWORD [edx]
-L$014spin:
- lea ebx,[ecx*1+eax]
- nop
-dd 447811568
- jne NEAR L$014spin
- mov eax,ebx
- pop ebx
- ret
-global _OPENSSL_cleanse
-align 16
-_OPENSSL_cleanse:
-L$_OPENSSL_cleanse_begin:
- mov edx,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
- xor eax,eax
- cmp ecx,7
- jae NEAR L$015lot
- cmp ecx,0
- je NEAR L$016ret
-L$017little:
- mov BYTE [edx],al
- sub ecx,1
- lea edx,[1+edx]
- jnz NEAR L$017little
-L$016ret:
- ret
-align 16
-L$015lot:
- test edx,3
- jz NEAR L$018aligned
- mov BYTE [edx],al
- lea ecx,[ecx-1]
- lea edx,[1+edx]
- jmp NEAR L$015lot
-L$018aligned:
- mov DWORD [edx],eax
- lea ecx,[ecx-4]
- test ecx,-4
- lea edx,[4+edx]
- jnz NEAR L$018aligned
- cmp ecx,0
- jne NEAR L$017little
- ret
-global _CRYPTO_memcmp
-align 16
-_CRYPTO_memcmp:
-L$_CRYPTO_memcmp_begin:
- push esi
- push edi
- mov esi,DWORD [12+esp]
- mov edi,DWORD [16+esp]
- mov ecx,DWORD [20+esp]
- xor eax,eax
- xor edx,edx
- cmp ecx,0
- je NEAR L$019no_data
-L$020loop:
- mov dl,BYTE [esi]
- lea esi,[1+esi]
- xor dl,BYTE [edi]
- lea edi,[1+edi]
- or al,dl
- dec ecx
- jnz NEAR L$020loop
- neg eax
- shr eax,31
-L$019no_data:
- pop edi
- pop esi
- ret
-global _OPENSSL_instrument_bus
-align 16
-_OPENSSL_instrument_bus:
-L$_OPENSSL_instrument_bus_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov eax,0
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _OPENSSL_instrument_bus2
-align 16
-_OPENSSL_instrument_bus2:
-L$_OPENSSL_instrument_bus2_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov eax,0
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _OPENSSL_ia32_rdrand_bytes
-align 16
-_OPENSSL_ia32_rdrand_bytes:
-L$_OPENSSL_ia32_rdrand_bytes_begin:
- push edi
- push ebx
- xor eax,eax
- mov edi,DWORD [12+esp]
- mov ebx,DWORD [16+esp]
- cmp ebx,0
- je NEAR L$021done
- mov ecx,8
-L$022loop:
-db 15,199,242
- jc NEAR L$023break
- loop L$022loop
- jmp NEAR L$021done
-align 16
-L$023break:
- cmp ebx,4
- jb NEAR L$024tail
- mov DWORD [edi],edx
- lea edi,[4+edi]
- add eax,4
- sub ebx,4
- jz NEAR L$021done
- mov ecx,8
- jmp NEAR L$022loop
-align 16
-L$024tail:
- mov BYTE [edi],dl
- lea edi,[1+edi]
- inc eax
- shr edx,8
- dec ebx
- jnz NEAR L$024tail
-L$021done:
- xor edx,edx
- pop ebx
- pop edi
- ret
-global _OPENSSL_ia32_rdseed_bytes
-align 16
-_OPENSSL_ia32_rdseed_bytes:
-L$_OPENSSL_ia32_rdseed_bytes_begin:
- push edi
- push ebx
- xor eax,eax
- mov edi,DWORD [12+esp]
- mov ebx,DWORD [16+esp]
- cmp ebx,0
- je NEAR L$025done
- mov ecx,8
-L$026loop:
-db 15,199,250
- jc NEAR L$027break
- loop L$026loop
- jmp NEAR L$025done
-align 16
-L$027break:
- cmp ebx,4
- jb NEAR L$028tail
- mov DWORD [edi],edx
- lea edi,[4+edi]
- add eax,4
- sub ebx,4
- jz NEAR L$025done
- mov ecx,8
- jmp NEAR L$026loop
-align 16
-L$028tail:
- mov BYTE [edi],dl
- lea edi,[1+edi]
- inc eax
- shr edx,8
- dec ebx
- jnz NEAR L$028tail
-L$025done:
- xor edx,edx
- pop ebx
- pop edi
- ret
-segment .bss
-common _OPENSSL_ia32cap_P 16
-segment .CRT$XCU data align=4
-extern _OPENSSL_cpuid_setup
-dd _OPENSSL_cpuid_setup